@heycys/gallery 0.0.0-stage → 0.1.1
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/README.md +50 -2
- package/THIRD-PARTY-NOTICES.md +3303 -0
- package/assets/writing-preferences.md +107 -0
- package/bin/gallery.mjs +10 -0
- package/browser/editor/components/bookmark/icons.mjs +6 -0
- package/browser/editor/components/bookmark/index.mjs +80 -0
- package/browser/editor/components/bookmark/page.mjs +147 -0
- package/browser/editor/components/builders.mjs +19 -0
- package/browser/editor/components/callout/index.mjs +64 -0
- package/browser/editor/components/code/index.mjs +327 -0
- package/browser/editor/components/code/page.mjs +561 -0
- package/browser/editor/components/colors.mjs +50 -0
- package/browser/editor/components/columns/index.mjs +104 -0
- package/browser/editor/components/columns/page.mjs +310 -0
- package/browser/editor/components/details/index.mjs +73 -0
- package/browser/editor/components/details/page.mjs +86 -0
- package/browser/editor/components/dialog/index.mjs +84 -0
- package/browser/editor/components/dialog/page.mjs +201 -0
- package/browser/editor/components/divider/index.mjs +48 -0
- package/browser/editor/components/embed/icons.mjs +11 -0
- package/browser/editor/components/embed/index.mjs +123 -0
- package/browser/editor/components/embed/page.mjs +309 -0
- package/browser/editor/components/figure/index.mjs +87 -0
- package/browser/editor/components/figure/page.mjs +42 -0
- package/browser/editor/components/file/icons.mjs +14 -0
- package/browser/editor/components/file/index.mjs +77 -0
- package/browser/editor/components/file/page.mjs +114 -0
- package/browser/editor/components/flowchart/add.mjs +123 -0
- package/browser/editor/components/flowchart/index.mjs +246 -0
- package/browser/editor/components/flowchart/page.mjs +453 -0
- package/browser/editor/components/heading/index.mjs +53 -0
- package/browser/editor/components/heading/page.mjs +6 -0
- package/browser/editor/components/highlight/index.mjs +63 -0
- package/browser/editor/components/icon/index.mjs +57 -0
- package/browser/editor/components/icon/page.mjs +286 -0
- package/browser/editor/components/icons.mjs +48 -0
- package/browser/editor/components/image/crop.mjs +189 -0
- package/browser/editor/components/image/index.mjs +104 -0
- package/browser/editor/components/image/page.mjs +385 -0
- package/browser/editor/components/image/viewer.mjs +213 -0
- package/browser/editor/components/installed/index.mjs +179 -0
- package/browser/editor/components/installed/page.mjs +523 -0
- package/browser/editor/components/installed/served.mjs +35 -0
- package/browser/editor/components/kit.mjs +67 -0
- package/browser/editor/components/list/index.mjs +194 -0
- package/browser/editor/components/list/join.mjs +68 -0
- package/browser/editor/components/list/numbers.mjs +107 -0
- package/browser/editor/components/list/page.mjs +632 -0
- package/browser/editor/components/math/index.mjs +88 -0
- package/browser/editor/components/math/page.mjs +236 -0
- package/browser/editor/components/math/tex-logo.mjs +6 -0
- package/browser/editor/components/media/icons.mjs +19 -0
- package/browser/editor/components/media/page.mjs +192 -0
- package/browser/editor/components/media/parts.mjs +60 -0
- package/browser/editor/components/media/size.mjs +20 -0
- package/browser/editor/components/media/toolbar.mjs +37 -0
- package/browser/editor/components/media/write.mjs +7 -0
- package/browser/editor/components/pages.mjs +46 -0
- package/browser/editor/components/paragraph/index.mjs +43 -0
- package/browser/editor/components/paragraph/page.mjs +52 -0
- package/browser/editor/components/placeholder-bar.mjs +17 -0
- package/browser/editor/components/placeholder.mjs +128 -0
- package/browser/editor/components/quote/index.mjs +33 -0
- package/browser/editor/components/registry.mjs +859 -0
- package/browser/editor/components/rows.mjs +16 -0
- package/browser/editor/components/section/index.mjs +42 -0
- package/browser/editor/components/section/page.mjs +141 -0
- package/browser/editor/components/set-apart.mjs +24 -0
- package/browser/editor/components/sheets/index.mjs +137 -0
- package/browser/editor/components/sheets/page.mjs +227 -0
- package/browser/editor/components/sheets/pills.mjs +226 -0
- package/browser/editor/components/table/grid.mjs +73 -0
- package/browser/editor/components/table/index.mjs +308 -0
- package/browser/editor/components/table/page.mjs +683 -0
- package/browser/editor/components/table/slots.mjs +41 -0
- package/browser/editor/components/widget/index.mjs +50 -0
- package/browser/editor/page/annotate/anchors.mjs +230 -0
- package/browser/editor/page/annotate/card.mjs +102 -0
- package/browser/editor/page/annotate/index.mjs +1656 -0
- package/browser/editor/page/at-menu/index.mjs +317 -0
- package/browser/editor/page/autosave.mjs +1023 -0
- package/browser/editor/page/beside.mjs +21 -0
- package/browser/editor/page/block-info.mjs +63 -0
- package/browser/editor/page/block-menu/colors.mjs +84 -0
- package/browser/editor/page/block-menu/index.mjs +217 -0
- package/browser/editor/page/blocks.mjs +255 -0
- package/browser/editor/page/caret.mjs +682 -0
- package/browser/editor/page/changes/bar.mjs +102 -0
- package/browser/editor/page/changes/ghost.mjs +206 -0
- package/browser/editor/page/changes/gone-words.mjs +94 -0
- package/browser/editor/page/changes/index.mjs +447 -0
- package/browser/editor/page/changes/words.mjs +27 -0
- package/browser/editor/page/chip-fills.mjs +126 -0
- package/browser/editor/page/clipboard/import/colors.mjs +192 -0
- package/browser/editor/page/clipboard/import/html.mjs +792 -0
- package/browser/editor/page/clipboard/import/inline.mjs +232 -0
- package/browser/editor/page/clipboard/import/languages.mjs +42 -0
- package/browser/editor/page/clipboard/import/markdown.mjs +760 -0
- package/browser/editor/page/clipboard/import/math.mjs +100 -0
- package/browser/editor/page/clipboard/import/office.mjs +245 -0
- package/browser/editor/page/clipboard/import/read.mjs +120 -0
- package/browser/editor/page/clipboard/import/rich.mjs +29 -0
- package/browser/editor/page/clipboard/import/to-blocks.mjs +290 -0
- package/browser/editor/page/clipboard/index.mjs +816 -0
- package/browser/editor/page/clipboard/own/blocks.mjs +211 -0
- package/browser/editor/page/clipboard/own/chart-keys.mjs +58 -0
- package/browser/editor/page/clipboard/own/describe.mjs +124 -0
- package/browser/editor/page/clipboard/own/export.mjs +167 -0
- package/browser/editor/page/clipboard/own/ids.mjs +39 -0
- package/browser/editor/page/clipboard/own/index.mjs +13 -0
- package/browser/editor/page/clipboard/own/rules.mjs +44 -0
- package/browser/editor/page/clipboard/own/selection.mjs +159 -0
- package/browser/editor/page/clipboard/own/writers.mjs +315 -0
- package/browser/editor/page/columns/index.mjs +360 -0
- package/browser/editor/page/commit.mjs +1813 -0
- package/browser/editor/page/conflicts.mjs +249 -0
- package/browser/editor/page/convert.mjs +831 -0
- package/browser/editor/page/core.mjs +1693 -0
- package/browser/editor/page/drag/drop.mjs +307 -0
- package/browser/editor/page/drag/index.mjs +351 -0
- package/browser/editor/page/drag/preview.mjs +126 -0
- package/browser/editor/page/edge-scroll.mjs +50 -0
- package/browser/editor/page/editor.mjs +1780 -0
- package/browser/editor/page/emoji-picker/emoji-tab.mjs +287 -0
- package/browser/editor/page/emoji-picker/glyph-html.mjs +26 -0
- package/browser/editor/page/emoji-picker/grid.mjs +81 -0
- package/browser/editor/page/emoji-picker/icon-tab.mjs +217 -0
- package/browser/editor/page/emoji-picker/icons.mjs +31 -0
- package/browser/editor/page/emoji-picker/index.mjs +166 -0
- package/browser/editor/page/emoji-picker/styles.mjs +161 -0
- package/browser/editor/page/emoji-picker/support.mjs +204 -0
- package/browser/editor/page/emoji-picker/upload.mjs +236 -0
- package/browser/editor/page/export-report.mjs +23 -0
- package/browser/editor/page/fills.mjs +62 -0
- package/browser/editor/page/find/index.mjs +107 -0
- package/browser/editor/page/flags.mjs +70 -0
- package/browser/editor/page/fold/index.mjs +348 -0
- package/browser/editor/page/fold/rule.mjs +125 -0
- package/browser/editor/page/folded.mjs +23 -0
- package/browser/editor/page/format-bar/bar.mjs +449 -0
- package/browser/editor/page/format-bar/brush.mjs +77 -0
- package/browser/editor/page/format-bar/colors.mjs +46 -0
- package/browser/editor/page/format-bar/index.mjs +404 -0
- package/browser/editor/page/formula/index.mjs +236 -0
- package/browser/editor/page/formula/panel.mjs +336 -0
- package/browser/editor/page/formula/symbols.mjs +156 -0
- package/browser/editor/page/frame.mjs +74 -0
- package/browser/editor/page/frames.mjs +196 -0
- package/browser/editor/page/geometry.mjs +402 -0
- package/browser/editor/page/gesture.mjs +45 -0
- package/browser/editor/page/handle/index.mjs +650 -0
- package/browser/editor/page/handle-sizes.mjs +14 -0
- package/browser/editor/page/hints/index.mjs +84 -0
- package/browser/editor/page/history.mjs +401 -0
- package/browser/editor/page/insert/index.mjs +256 -0
- package/browser/editor/page/kept.mjs +38 -0
- package/browser/editor/page/links/address.mjs +40 -0
- package/browser/editor/page/links/index.mjs +866 -0
- package/browser/editor/page/links/pages.mjs +131 -0
- package/browser/editor/page/links/views.mjs +369 -0
- package/browser/editor/page/long-runs.mjs +75 -0
- package/browser/editor/page/look.mjs +77 -0
- package/browser/editor/page/made.mjs +24 -0
- package/browser/editor/page/margin.mjs +373 -0
- package/browser/editor/page/markdown/index.mjs +88 -0
- package/browser/editor/page/markdown/rules.mjs +33 -0
- package/browser/editor/page/marks.mjs +377 -0
- package/browser/editor/page/media-menu/index.mjs +158 -0
- package/browser/editor/page/menu.mjs +544 -0
- package/browser/editor/page/merge.mjs +124 -0
- package/browser/editor/page/notices.mjs +142 -0
- package/browser/editor/page/offered.mjs +32 -0
- package/browser/editor/page/outline/folds.mjs +53 -0
- package/browser/editor/page/outline/index.mjs +783 -0
- package/browser/editor/page/outline/list.mjs +184 -0
- package/browser/editor/page/outline/read.mjs +201 -0
- package/browser/editor/page/outline/strip.mjs +287 -0
- package/browser/editor/page/outline/tree.mjs +248 -0
- package/browser/editor/page/overlay-layer.mjs +227 -0
- package/browser/editor/page/overlays.mjs +205 -0
- package/browser/editor/page/own.mjs +28 -0
- package/browser/editor/page/pads.mjs +71 -0
- package/browser/editor/page/page-objects.mjs +105 -0
- package/browser/editor/page/panel.mjs +65 -0
- package/browser/editor/page/placement.mjs +58 -0
- package/browser/editor/page/post.mjs +41 -0
- package/browser/editor/page/present-links.mjs +50 -0
- package/browser/editor/page/quiet.mjs +48 -0
- package/browser/editor/page/resize/index.mjs +327 -0
- package/browser/editor/page/select-all/index.mjs +262 -0
- package/browser/editor/page/selection/delete.mjs +61 -0
- package/browser/editor/page/selection/index.mjs +164 -0
- package/browser/editor/page/selection/marquee.mjs +174 -0
- package/browser/editor/page/session.mjs +168 -0
- package/browser/editor/page/slash-menu/index.mjs +291 -0
- package/browser/editor/page/storage.mjs +48 -0
- package/browser/editor/page/sync-state.mjs +267 -0
- package/browser/editor/page/table/aligns.mjs +29 -0
- package/browser/editor/page/table/cell-bar.mjs +141 -0
- package/browser/editor/page/table/cells.mjs +527 -0
- package/browser/editor/page/table/icons.mjs +40 -0
- package/browser/editor/page/table/index.mjs +990 -0
- package/browser/editor/page/table/lists.mjs +187 -0
- package/browser/editor/page/table/widths.mjs +313 -0
- package/browser/editor/page/tex.mjs +32 -0
- package/browser/editor/page/text-select/index.mjs +671 -0
- package/browser/editor/page/tooltip.mjs +98 -0
- package/browser/editor/page/type-grid.mjs +83 -0
- package/browser/editor/page/typing/code-edges.mjs +274 -0
- package/browser/editor/page/typing/index.mjs +282 -0
- package/browser/editor/page/typing/leave.mjs +68 -0
- package/browser/editor/page/ui.mjs +160 -0
- package/browser/shared/annotations.mjs +569 -0
- package/browser/shared/code-folds.mjs +14 -0
- package/browser/shared/code-languages.mjs +70 -0
- package/browser/shared/code-lines.mjs +30 -0
- package/browser/shared/colors.mjs +30 -0
- package/browser/shared/component-catalog.mjs +573 -0
- package/browser/shared/components/bookmark.mjs +26 -0
- package/browser/shared/components/callout.mjs +9 -0
- package/browser/shared/components/chart.mjs +20 -0
- package/browser/shared/components/code.mjs +37 -0
- package/browser/shared/components/columns.mjs +16 -0
- package/browser/shared/components/details.mjs +15 -0
- package/browser/shared/components/dialog.mjs +28 -0
- package/browser/shared/components/diff.mjs +18 -0
- package/browser/shared/components/divider.mjs +6 -0
- package/browser/shared/components/embed.mjs +25 -0
- package/browser/shared/components/figure.mjs +14 -0
- package/browser/shared/components/file.mjs +23 -0
- package/browser/shared/components/heading.mjs +6 -0
- package/browser/shared/components/highlight.mjs +9 -0
- package/browser/shared/components/icon.mjs +18 -0
- package/browser/shared/components/image.mjs +39 -0
- package/browser/shared/components/index.mjs +396 -0
- package/browser/shared/components/installed.mjs +232 -0
- package/browser/shared/components/list.mjs +146 -0
- package/browser/shared/components/math.mjs +49 -0
- package/browser/shared/components/mention.mjs +33 -0
- package/browser/shared/components/page.mjs +46 -0
- package/browser/shared/components/paragraph.mjs +9 -0
- package/browser/shared/components/quote.mjs +6 -0
- package/browser/shared/components/section.mjs +8 -0
- package/browser/shared/components/sheets.mjs +80 -0
- package/browser/shared/components/state.mjs +20 -0
- package/browser/shared/components/table.mjs +49 -0
- package/browser/shared/components/text.mjs +14 -0
- package/browser/shared/components/widget.mjs +10 -0
- package/browser/shared/copy-ids.mjs +72 -0
- package/browser/shared/css-references.mjs +110 -0
- package/browser/shared/document-look.mjs +178 -0
- package/browser/shared/emoji/custom.mjs +91 -0
- package/browser/shared/emoji/data/LICENSE-lucide.txt +43 -0
- package/browser/shared/emoji/data/LICENSE-mingcute.txt +202 -0
- package/browser/shared/emoji/data/LICENSE-tabler.txt +21 -0
- package/browser/shared/emoji/data/README.md +28 -0
- package/browser/shared/emoji/data/categories.json +1 -0
- package/browser/shared/emoji/data/icons.json +1 -0
- package/browser/shared/emoji/data/keywords-en.json +1 -0
- package/browser/shared/emoji/data/keywords-zh.json +1 -0
- package/browser/shared/emoji/data/names.json +1 -0
- package/browser/shared/emoji/data/positions.json +1 -0
- package/browser/shared/emoji/data/twemoji-index.json +1 -0
- package/browser/shared/emoji/data/twemoji-svg.bin +0 -0
- package/browser/shared/emoji/data.mjs +194 -0
- package/browser/shared/emoji/emoji.mjs +38 -0
- package/browser/shared/emoji/glyphs.mjs +134 -0
- package/browser/shared/emoji/icon-value.mjs +91 -0
- package/browser/shared/escape.mjs +20 -0
- package/browser/shared/export-wrap.mjs +89 -0
- package/browser/shared/files.mjs +33 -0
- package/browser/shared/html-tree.mjs +59 -0
- package/browser/shared/http.mjs +22 -0
- package/browser/shared/i18n/en.mjs +1223 -0
- package/browser/shared/i18n/index.mjs +132 -0
- package/browser/shared/ids.mjs +24 -0
- package/browser/shared/import-types.mjs +23 -0
- package/browser/shared/inline-spacing.mjs +97 -0
- package/browser/shared/layers.mjs +42 -0
- package/browser/shared/long-runs.mjs +39 -0
- package/browser/shared/media.mjs +162 -0
- package/browser/shared/new-names.mjs +67 -0
- package/browser/shared/number-reading.mjs +92 -0
- package/browser/shared/old-names.mjs +143 -0
- package/browser/shared/outline.mjs +194 -0
- package/browser/shared/page-address.mjs +140 -0
- package/browser/shared/page-links.mjs +86 -0
- package/browser/shared/paths.mjs +73 -0
- package/browser/shared/preferences.mjs +116 -0
- package/browser/shared/preview-server.mjs +247 -0
- package/browser/shared/qa-levels.mjs +93 -0
- package/browser/shared/reading-place.mjs +91 -0
- package/browser/shared/renamed-storage.mjs +220 -0
- package/browser/shared/reports.mjs +46 -0
- package/browser/shared/search.mjs +85 -0
- package/browser/shared/session.mjs +77 -0
- package/browser/shared/table-chart.mjs +113 -0
- package/browser/shared/table-hides.mjs +120 -0
- package/browser/shared/table-slots.mjs +75 -0
- package/browser/shared/words.mjs +23 -0
- package/browser/shared/workspace-look.mjs +91 -0
- package/browser/shared/workspace.mjs +535 -0
- package/browser/shared/writing-preferences.mjs +68 -0
- package/browser/shared/zoom.mjs +57 -0
- package/dist/chunk-2B5E4CDJ.mjs +2 -0
- package/dist/chunk-342HXE3Q.mjs +2 -0
- package/dist/chunk-3HIRPVLU.mjs +2 -0
- package/dist/chunk-43B75J5T.mjs +2 -0
- package/dist/chunk-4FS7Z7WR.mjs +2 -0
- package/dist/chunk-4K5KC6V2.mjs +2 -0
- package/dist/chunk-5L7RYZCL.mjs +2 -0
- package/dist/chunk-5MHMDLZD.mjs +4 -0
- package/dist/chunk-5ZKJ3H4P.mjs +8 -0
- package/dist/chunk-64K7IPLO.mjs +255 -0
- package/dist/chunk-6QXGZM36.mjs +8 -0
- package/dist/chunk-6RGJOMJP.mjs +16 -0
- package/dist/chunk-742D2WWJ.mjs +19 -0
- package/dist/chunk-7DTINW6U.mjs +48 -0
- package/dist/chunk-A55HN5OK.mjs +2 -0
- package/dist/chunk-AGDILNWB.mjs +2 -0
- package/dist/chunk-AJ73XJF3.mjs +2 -0
- package/dist/chunk-AUZGSZJH.mjs +13 -0
- package/dist/chunk-BFE45AKL.mjs +2 -0
- package/dist/chunk-BGGDRNYQ.mjs +10 -0
- package/dist/chunk-BXO2ZY5P.mjs +2 -0
- package/dist/chunk-C564NU2H.mjs +77 -0
- package/dist/chunk-CEH4MRCC.mjs +2 -0
- package/dist/chunk-CY2FNNAB.mjs +16 -0
- package/dist/chunk-DFUDV4LX.mjs +2 -0
- package/dist/chunk-DKXG4XDG.mjs +2 -0
- package/dist/chunk-E7LWZRXY.mjs +4 -0
- package/dist/chunk-EZQ34M3F.mjs +124 -0
- package/dist/chunk-EZY3WC6Z.mjs +15 -0
- package/dist/chunk-FDLXYYG4.mjs +4 -0
- package/dist/chunk-FUKQNOQS.mjs +9 -0
- package/dist/chunk-GB5SOYQJ.mjs +7 -0
- package/dist/chunk-GRAXKKG4.mjs +2 -0
- package/dist/chunk-HYMEEXKN.mjs +4 -0
- package/dist/chunk-IVDLMMBD.mjs +2 -0
- package/dist/chunk-JPOSLGOC.mjs +6 -0
- package/dist/chunk-JVHHHGEA.mjs +3 -0
- package/dist/chunk-L3QKH4OK.mjs +26 -0
- package/dist/chunk-LAE5NQ4B.mjs +2 -0
- package/dist/chunk-LCTHTZIL.mjs +960 -0
- package/dist/chunk-LEF6DRCK.mjs +59 -0
- package/dist/chunk-LKX55H76.mjs +2 -0
- package/dist/chunk-LS4F7JUM.mjs +2 -0
- package/dist/chunk-MAFIGVXY.mjs +2 -0
- package/dist/chunk-NO5NJCHO.mjs +2 -0
- package/dist/chunk-NQPVAU63.mjs +2 -0
- package/dist/chunk-NSKUTQ5J.mjs +5 -0
- package/dist/chunk-O35FIXRB.mjs +2 -0
- package/dist/chunk-P2CAZPDP.mjs +3 -0
- package/dist/chunk-PL6GHLGD.mjs +15 -0
- package/dist/chunk-QAIHRH3I.mjs +13 -0
- package/dist/chunk-QJIR2BLP.mjs +6 -0
- package/dist/chunk-QR6A54KJ.mjs +3 -0
- package/dist/chunk-QUPLVPB2.mjs +7 -0
- package/dist/chunk-R7BNENLY.mjs +4 -0
- package/dist/chunk-S6O4UHLC.mjs +2 -0
- package/dist/chunk-SGJWQKEI.mjs +2 -0
- package/dist/chunk-SYGN7GLU.mjs +2 -0
- package/dist/chunk-TMYZB6AV.mjs +2 -0
- package/dist/chunk-TX6JH7TR.mjs +2 -0
- package/dist/chunk-TYK6VNAB.mjs +10 -0
- package/dist/chunk-U3SSPL4K.mjs +8 -0
- package/dist/chunk-U6KNPJPR.mjs +2 -0
- package/dist/chunk-UALRNVSE.mjs +4 -0
- package/dist/chunk-UH4SIXTR.mjs +2 -0
- package/dist/chunk-UMHUSOPJ.mjs +2 -0
- package/dist/chunk-V3HXVQEM.mjs +2 -0
- package/dist/chunk-V5JTW2LH.mjs +27 -0
- package/dist/chunk-V5VXUJKG.mjs +2 -0
- package/dist/chunk-V6XZ4VIR.mjs +2 -0
- package/dist/chunk-VBXMADMP.mjs +2 -0
- package/dist/chunk-VNV55RUA.mjs +2 -0
- package/dist/chunk-VPD2PS35.mjs +2 -0
- package/dist/chunk-W3BGBJQW.mjs +2 -0
- package/dist/chunk-W4VKN3GF.mjs +7 -0
- package/dist/chunk-W5BXXPDJ.mjs +3 -0
- package/dist/chunk-W7XHE4CT.mjs +2 -0
- package/dist/chunk-XNROSH2T.mjs +4 -0
- package/dist/chunk-XUNHRCOG.mjs +6 -0
- package/dist/chunk-Y34NR5JL.mjs +2 -0
- package/dist/chunk-Y6RLRPG3.mjs +3 -0
- package/dist/chunk-YEY3RSFQ.mjs +2 -0
- package/dist/cli.mjs +2 -0
- package/dist/server.mjs +2 -0
- package/dist/worker.mjs +5 -0
- package/kit/charts.js +355 -0
- package/kit/code.js +164 -0
- package/kit/dialogs.js +157 -0
- package/kit/math.js +2004 -0
- package/kit/report.css +2932 -0
- package/kit/runtime.js +1782 -0
- package/kit/sheets.js +123 -0
- package/kit/state.js +217 -0
- package/kit/tables.js +1499 -0
- package/kit/tokens.js +29 -0
- package/kit/ui.js +658 -0
- package/package.json +41 -4
- package/release.json +25 -0
- package/sdk/column-widths.d.ts +56 -0
- package/sdk/doc-charts.d.ts +82 -0
- package/sdk/doc-code.d.ts +28 -0
- package/sdk/doc-dialogs.d.ts +4 -0
- package/sdk/doc-kit.d.ts +147 -0
- package/sdk/doc-math.d.ts +3 -0
- package/sdk/doc-sheets.d.ts +15 -0
- package/sdk/doc-state.d.ts +41 -0
- package/sdk/doc-tables.d.ts +24 -0
- package/sdk/doc-tokens.d.ts +22 -0
- package/sdk/index.d.ts +30 -0
- package/skill/SKILL.md +150 -0
- package/skill/agents/openai.yaml +5 -0
- package/skill/references/building-components.md +367 -0
- package/skill/references/example-report.html +356 -0
- package/skill/references/writing-html.md +187 -0
- package/skill/sdk/column-widths.d.ts +56 -0
- package/skill/sdk/doc-charts.d.ts +82 -0
- package/skill/sdk/doc-code.d.ts +28 -0
- package/skill/sdk/doc-dialogs.d.ts +4 -0
- package/skill/sdk/doc-kit.d.ts +147 -0
- package/skill/sdk/doc-math.d.ts +3 -0
- package/skill/sdk/doc-sheets.d.ts +15 -0
- package/skill/sdk/doc-state.d.ts +41 -0
- package/skill/sdk/doc-tables.d.ts +24 -0
- package/skill/sdk/doc-tokens.d.ts +22 -0
- package/skill/sdk/index.d.ts +30 -0
- package/starter/doc.html +21 -0
- package/starter/doc.json +5 -0
- package/vendor/d3.v7.9.0.min.js +2 -0
- package/vendor/katex/auto-render.min.js +1 -0
- package/vendor/katex/contrib/mhchem.min.js +1 -0
- package/vendor/katex/fonts/KaTeX_AMS-Regular.woff2 +0 -0
- package/vendor/katex/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
- package/vendor/katex/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
- package/vendor/katex/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
- package/vendor/katex/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
- package/vendor/katex/fonts/KaTeX_Main-Bold.woff2 +0 -0
- package/vendor/katex/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
- package/vendor/katex/fonts/KaTeX_Main-Italic.woff2 +0 -0
- package/vendor/katex/fonts/KaTeX_Main-Regular.woff2 +0 -0
- package/vendor/katex/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
- package/vendor/katex/fonts/KaTeX_Math-Italic.woff2 +0 -0
- package/vendor/katex/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
- package/vendor/katex/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
- package/vendor/katex/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
- package/vendor/katex/fonts/KaTeX_Script-Regular.woff2 +0 -0
- package/vendor/katex/fonts/KaTeX_Size1-Regular.woff2 +0 -0
- package/vendor/katex/fonts/KaTeX_Size2-Regular.woff2 +0 -0
- package/vendor/katex/fonts/KaTeX_Size3-Regular.woff2 +0 -0
- package/vendor/katex/fonts/KaTeX_Size4-Regular.woff2 +0 -0
- package/vendor/katex/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
- package/vendor/katex/katex.min.css +1 -0
- package/vendor/katex/katex.min.js +1 -0
- package/vendor/pdfjs/LICENSE +177 -0
- package/vendor/pdfjs/cmaps/78-EUC-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/78-EUC-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/78-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/78-RKSJ-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/78-RKSJ-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/78-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/78ms-RKSJ-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/78ms-RKSJ-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/83pv-RKSJ-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/90ms-RKSJ-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/90ms-RKSJ-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/90msp-RKSJ-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/90msp-RKSJ-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/90pv-RKSJ-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/90pv-RKSJ-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Add-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Add-RKSJ-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Add-RKSJ-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Add-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Adobe-CNS1-0.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Adobe-CNS1-1.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Adobe-CNS1-2.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Adobe-CNS1-3.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Adobe-CNS1-4.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Adobe-CNS1-5.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Adobe-CNS1-6.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Adobe-CNS1-UCS2.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Adobe-GB1-0.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Adobe-GB1-1.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Adobe-GB1-2.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Adobe-GB1-3.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Adobe-GB1-4.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Adobe-GB1-5.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Adobe-GB1-UCS2.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Adobe-Japan1-0.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Adobe-Japan1-1.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Adobe-Japan1-2.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Adobe-Japan1-3.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Adobe-Japan1-4.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Adobe-Japan1-5.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Adobe-Japan1-6.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Adobe-Japan1-UCS2.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Adobe-Korea1-0.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Adobe-Korea1-1.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Adobe-Korea1-2.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Adobe-Korea1-UCS2.bcmap +0 -0
- package/vendor/pdfjs/cmaps/B5-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/B5-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/B5pc-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/B5pc-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/CNS-EUC-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/CNS-EUC-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/CNS1-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/CNS1-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/CNS2-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/CNS2-V.bcmap +3 -0
- package/vendor/pdfjs/cmaps/ETHK-B5-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/ETHK-B5-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/ETen-B5-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/ETen-B5-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/ETenms-B5-H.bcmap +3 -0
- package/vendor/pdfjs/cmaps/ETenms-B5-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/EUC-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/EUC-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Ext-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Ext-RKSJ-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Ext-RKSJ-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Ext-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/GB-EUC-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/GB-EUC-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/GB-H.bcmap +4 -0
- package/vendor/pdfjs/cmaps/GB-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/GBK-EUC-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/GBK-EUC-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/GBK2K-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/GBK2K-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/GBKp-EUC-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/GBKp-EUC-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/GBT-EUC-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/GBT-EUC-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/GBT-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/GBT-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/GBTpc-EUC-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/GBTpc-EUC-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/GBpc-EUC-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/GBpc-EUC-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/HKdla-B5-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/HKdla-B5-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/HKdlb-B5-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/HKdlb-B5-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/HKgccs-B5-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/HKgccs-B5-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/HKm314-B5-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/HKm314-B5-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/HKm471-B5-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/HKm471-B5-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/HKscs-B5-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/HKscs-B5-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Hankaku.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Hiragana.bcmap +0 -0
- package/vendor/pdfjs/cmaps/KSC-EUC-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/KSC-EUC-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/KSC-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/KSC-Johab-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/KSC-Johab-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/KSC-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/KSCms-UHC-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/KSCms-UHC-HW-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/KSCms-UHC-HW-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/KSCms-UHC-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/KSCpc-EUC-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/KSCpc-EUC-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Katakana.bcmap +0 -0
- package/vendor/pdfjs/cmaps/LICENSE +36 -0
- package/vendor/pdfjs/cmaps/NWP-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/NWP-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/RKSJ-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/RKSJ-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/Roman.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniCNS-UCS2-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniCNS-UCS2-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniCNS-UTF16-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniCNS-UTF16-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniCNS-UTF32-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniCNS-UTF32-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniCNS-UTF8-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniCNS-UTF8-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniGB-UCS2-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniGB-UCS2-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniGB-UTF16-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniGB-UTF16-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniGB-UTF32-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniGB-UTF32-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniGB-UTF8-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniGB-UTF8-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniJIS-UCS2-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniJIS-UCS2-HW-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniJIS-UCS2-HW-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniJIS-UCS2-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniJIS-UTF16-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniJIS-UTF16-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniJIS-UTF32-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniJIS-UTF32-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniJIS-UTF8-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniJIS-UTF8-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniJIS2004-UTF16-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniJIS2004-UTF16-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniJIS2004-UTF32-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniJIS2004-UTF32-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniJIS2004-UTF8-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniJIS2004-UTF8-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniJISPro-UCS2-HW-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniJISPro-UCS2-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniJISPro-UTF8-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniJISX0213-UTF32-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniJISX0213-UTF32-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniJISX02132004-UTF32-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniJISX02132004-UTF32-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniKS-UCS2-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniKS-UCS2-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniKS-UTF16-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniKS-UTF16-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniKS-UTF32-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniKS-UTF32-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniKS-UTF8-H.bcmap +0 -0
- package/vendor/pdfjs/cmaps/UniKS-UTF8-V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/V.bcmap +0 -0
- package/vendor/pdfjs/cmaps/WP-Symbol.bcmap +0 -0
- package/vendor/pdfjs/legacy/build/pdf.min.mjs +27 -0
- package/vendor/pdfjs/legacy/build/pdf.worker.min.mjs +27 -0
- package/vendor/pdfjs/standard_fonts/FoxitDingbats.pfb +0 -0
- package/vendor/pdfjs/standard_fonts/FoxitFixed.pfb +0 -0
- package/vendor/pdfjs/standard_fonts/FoxitFixedBold.pfb +0 -0
- package/vendor/pdfjs/standard_fonts/FoxitFixedBoldItalic.pfb +0 -0
- package/vendor/pdfjs/standard_fonts/FoxitFixedItalic.pfb +0 -0
- package/vendor/pdfjs/standard_fonts/FoxitSerif.pfb +0 -0
- package/vendor/pdfjs/standard_fonts/FoxitSerifBold.pfb +0 -0
- package/vendor/pdfjs/standard_fonts/FoxitSerifBoldItalic.pfb +0 -0
- package/vendor/pdfjs/standard_fonts/FoxitSerifItalic.pfb +0 -0
- package/vendor/pdfjs/standard_fonts/FoxitSymbol.pfb +0 -0
- package/vendor/pdfjs/standard_fonts/LICENSE_FOXIT +27 -0
- package/vendor/pdfjs/standard_fonts/LICENSE_LIBERATION +363 -0
- package/vendor/pdfjs/standard_fonts/LiberationSans-Bold.ttf +0 -0
- package/vendor/pdfjs/standard_fonts/LiberationSans-BoldItalic.ttf +0 -0
- package/vendor/pdfjs/standard_fonts/LiberationSans-Italic.ttf +0 -0
- package/vendor/pdfjs/standard_fonts/LiberationSans-Regular.ttf +0 -0
- package/vendor/types/@types/d3/LICENSE +21 -0
- package/vendor/types/@types/d3/index.d.ts +39 -0
- package/vendor/types/@types/d3/package.json +81 -0
- package/vendor/types/@types/d3-array/LICENSE +21 -0
- package/vendor/types/@types/d3-array/index.d.ts +1118 -0
- package/vendor/types/@types/d3-array/package.json +56 -0
- package/vendor/types/@types/d3-axis/LICENSE +21 -0
- package/vendor/types/@types/d3-axis/index.d.ts +293 -0
- package/vendor/types/@types/d3-axis/package.json +47 -0
- package/vendor/types/@types/d3-brush/LICENSE +21 -0
- package/vendor/types/@types/d3-brush/index.d.ts +255 -0
- package/vendor/types/@types/d3-brush/package.json +42 -0
- package/vendor/types/@types/d3-chord/LICENSE +21 -0
- package/vendor/types/@types/d3-chord/index.d.ts +471 -0
- package/vendor/types/@types/d3-chord/package.json +40 -0
- package/vendor/types/@types/d3-color/LICENSE +21 -0
- package/vendor/types/@types/d3-color/index.d.ts +669 -0
- package/vendor/types/@types/d3-color/package.json +55 -0
- package/vendor/types/@types/d3-contour/LICENSE +21 -0
- package/vendor/types/@types/d3-contour/index.d.ts +222 -0
- package/vendor/types/@types/d3-contour/package.json +38 -0
- package/vendor/types/@types/d3-delaunay/LICENSE +21 -0
- package/vendor/types/@types/d3-delaunay/index.d.ts +316 -0
- package/vendor/types/@types/d3-delaunay/package.json +30 -0
- package/vendor/types/@types/d3-dispatch/LICENSE +21 -0
- package/vendor/types/@types/d3-dispatch/index.d.ts +96 -0
- package/vendor/types/@types/d3-dispatch/package.json +51 -0
- package/vendor/types/@types/d3-drag/LICENSE +21 -0
- package/vendor/types/@types/d3-drag/index.d.ts +395 -0
- package/vendor/types/@types/d3-drag/package.json +42 -0
- package/vendor/types/@types/d3-dsv/LICENSE +21 -0
- package/vendor/types/@types/d3-dsv/index.d.ts +482 -0
- package/vendor/types/@types/d3-dsv/package.json +45 -0
- package/vendor/types/@types/d3-ease/LICENSE +21 -0
- package/vendor/types/@types/d3-ease/index.d.ts +316 -0
- package/vendor/types/@types/d3-ease/package.json +40 -0
- package/vendor/types/@types/d3-fetch/LICENSE +21 -0
- package/vendor/types/@types/d3-fetch/index.d.ts +282 -0
- package/vendor/types/@types/d3-fetch/package.json +37 -0
- package/vendor/types/@types/d3-force/LICENSE +21 -0
- package/vendor/types/@types/d3-force/index.d.ts +899 -0
- package/vendor/types/@types/d3-force/package.json +45 -0
- package/vendor/types/@types/d3-format/LICENSE +21 -0
- package/vendor/types/@types/d3-format/index.d.ts +337 -0
- package/vendor/types/@types/d3-format/package.json +45 -0
- package/vendor/types/@types/d3-geo/LICENSE +21 -0
- package/vendor/types/@types/d3-geo/index.d.ts +1371 -0
- package/vendor/types/@types/d3-geo/package.json +48 -0
- package/vendor/types/@types/d3-hierarchy/LICENSE +21 -0
- package/vendor/types/@types/d3-hierarchy/index.d.ts +928 -0
- package/vendor/types/@types/d3-hierarchy/package.json +50 -0
- package/vendor/types/@types/d3-interpolate/LICENSE +21 -0
- package/vendor/types/@types/d3-interpolate/index.d.ts +387 -0
- package/vendor/types/@types/d3-interpolate/package.json +47 -0
- package/vendor/types/@types/d3-path/LICENSE +21 -0
- package/vendor/types/@types/d3-path/index.d.ts +108 -0
- package/vendor/types/@types/d3-path/package.json +41 -0
- package/vendor/types/@types/d3-polygon/LICENSE +21 -0
- package/vendor/types/@types/d3-polygon/index.d.ts +41 -0
- package/vendor/types/@types/d3-polygon/package.json +40 -0
- package/vendor/types/@types/d3-quadtree/LICENSE +21 -0
- package/vendor/types/@types/d3-quadtree/index.d.ts +204 -0
- package/vendor/types/@types/d3-quadtree/package.json +45 -0
- package/vendor/types/@types/d3-random/LICENSE +21 -0
- package/vendor/types/@types/d3-random/index.d.ts +313 -0
- package/vendor/types/@types/d3-random/package.json +41 -0
- package/vendor/types/@types/d3-scale/LICENSE +21 -0
- package/vendor/types/@types/d3-scale/index.d.ts +2669 -0
- package/vendor/types/@types/d3-scale/package.json +53 -0
- package/vendor/types/@types/d3-scale-chromatic/LICENSE +21 -0
- package/vendor/types/@types/d3-scale-chromatic/index.d.ts +520 -0
- package/vendor/types/@types/d3-scale-chromatic/package.json +46 -0
- package/vendor/types/@types/d3-selection/LICENSE +21 -0
- package/vendor/types/@types/d3-selection/index.d.ts +1210 -0
- package/vendor/types/@types/d3-selection/package.json +56 -0
- package/vendor/types/@types/d3-shape/LICENSE +21 -0
- package/vendor/types/@types/d3-shape/index.d.ts +2792 -0
- package/vendor/types/@types/d3-shape/package.json +53 -0
- package/vendor/types/@types/d3-time/LICENSE +21 -0
- package/vendor/types/@types/d3-time/index.d.ts +697 -0
- package/vendor/types/@types/d3-time/package.json +46 -0
- package/vendor/types/@types/d3-time-format/LICENSE +21 -0
- package/vendor/types/@types/d3-time-format/index.d.ts +202 -0
- package/vendor/types/@types/d3-time-format/package.json +40 -0
- package/vendor/types/@types/d3-timer/LICENSE +21 -0
- package/vendor/types/@types/d3-timer/index.d.ts +68 -0
- package/vendor/types/@types/d3-timer/package.json +45 -0
- package/vendor/types/@types/d3-transition/LICENSE +21 -0
- package/vendor/types/@types/d3-transition/index.d.ts +664 -0
- package/vendor/types/@types/d3-transition/package.json +47 -0
- package/vendor/types/@types/d3-zoom/LICENSE +21 -0
- package/vendor/types/@types/d3-zoom/index.d.ts +611 -0
- package/vendor/types/@types/d3-zoom/package.json +48 -0
- package/vendor/types/@types/geojson/LICENSE +21 -0
- package/vendor/types/@types/geojson/index.d.ts +202 -0
- package/vendor/types/@types/geojson/package.json +46 -0
- package/vendor/typescript/LICENSE.txt +55 -0
- package/vendor/typescript/lib.decorators.d.ts +384 -0
- package/vendor/typescript/lib.decorators.legacy.d.ts +22 -0
- package/vendor/typescript/lib.dom.d.ts +39429 -0
- package/vendor/typescript/lib.dom.iterable.d.ts +571 -0
- package/vendor/typescript/lib.es2015.collection.d.ts +147 -0
- package/vendor/typescript/lib.es2015.core.d.ts +597 -0
- package/vendor/typescript/lib.es2015.d.ts +28 -0
- package/vendor/typescript/lib.es2015.generator.d.ts +77 -0
- package/vendor/typescript/lib.es2015.iterable.d.ts +605 -0
- package/vendor/typescript/lib.es2015.promise.d.ts +81 -0
- package/vendor/typescript/lib.es2015.proxy.d.ts +128 -0
- package/vendor/typescript/lib.es2015.reflect.d.ts +144 -0
- package/vendor/typescript/lib.es2015.symbol.d.ts +46 -0
- package/vendor/typescript/lib.es2015.symbol.wellknown.d.ts +326 -0
- package/vendor/typescript/lib.es2016.array.include.d.ts +116 -0
- package/vendor/typescript/lib.es2016.d.ts +21 -0
- package/vendor/typescript/lib.es2016.intl.d.ts +31 -0
- package/vendor/typescript/lib.es2017.arraybuffer.d.ts +21 -0
- package/vendor/typescript/lib.es2017.d.ts +26 -0
- package/vendor/typescript/lib.es2017.date.d.ts +31 -0
- package/vendor/typescript/lib.es2017.intl.d.ts +44 -0
- package/vendor/typescript/lib.es2017.object.d.ts +49 -0
- package/vendor/typescript/lib.es2017.sharedmemory.d.ts +135 -0
- package/vendor/typescript/lib.es2017.string.d.ts +45 -0
- package/vendor/typescript/lib.es2017.typedarrays.d.ts +53 -0
- package/vendor/typescript/lib.es2018.asyncgenerator.d.ts +77 -0
- package/vendor/typescript/lib.es2018.asynciterable.d.ts +53 -0
- package/vendor/typescript/lib.es2018.d.ts +24 -0
- package/vendor/typescript/lib.es2018.intl.d.ts +83 -0
- package/vendor/typescript/lib.es2018.promise.d.ts +30 -0
- package/vendor/typescript/lib.es2018.regexp.d.ts +37 -0
- package/vendor/typescript/lib.es2019.array.d.ts +79 -0
- package/vendor/typescript/lib.es2019.d.ts +24 -0
- package/vendor/typescript/lib.es2019.intl.d.ts +23 -0
- package/vendor/typescript/lib.es2019.object.d.ts +33 -0
- package/vendor/typescript/lib.es2019.string.d.ts +37 -0
- package/vendor/typescript/lib.es2019.symbol.d.ts +24 -0
- package/vendor/typescript/lib.es2020.bigint.d.ts +765 -0
- package/vendor/typescript/lib.es2020.d.ts +27 -0
- package/vendor/typescript/lib.es2020.date.d.ts +42 -0
- package/vendor/typescript/lib.es2020.intl.d.ts +474 -0
- package/vendor/typescript/lib.es2020.number.d.ts +28 -0
- package/vendor/typescript/lib.es2020.promise.d.ts +47 -0
- package/vendor/typescript/lib.es2020.sharedmemory.d.ts +99 -0
- package/vendor/typescript/lib.es2020.string.d.ts +44 -0
- package/vendor/typescript/lib.es2020.symbol.wellknown.d.ts +41 -0
- package/vendor/typescript/lib.es2021.d.ts +23 -0
- package/vendor/typescript/lib.es2021.intl.d.ts +166 -0
- package/vendor/typescript/lib.es2021.promise.d.ts +48 -0
- package/vendor/typescript/lib.es2021.string.d.ts +33 -0
- package/vendor/typescript/lib.es2021.weakref.d.ts +78 -0
- package/vendor/typescript/lib.es2022.array.d.ts +121 -0
- package/vendor/typescript/lib.es2022.d.ts +25 -0
- package/vendor/typescript/lib.es2022.error.d.ts +75 -0
- package/vendor/typescript/lib.es2022.intl.d.ts +145 -0
- package/vendor/typescript/lib.es2022.object.d.ts +26 -0
- package/vendor/typescript/lib.es2022.regexp.d.ts +39 -0
- package/vendor/typescript/lib.es2022.string.d.ts +25 -0
- package/vendor/typescript/lib.es5.d.ts +4601 -0
- package/vendor/typescript/package.json +4 -0
- package/vendor/typescript/typescript.js +446 -0
- package/web/assets/index-Bh74DfsV.css +1 -0
- package/web/assets/index-UW0RyFFt.js +13 -0
- package/web/index.html +14 -0
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# 写作偏好
|
|
2
|
+
|
|
3
|
+
## 写作流程
|
|
4
|
+
|
|
5
|
+
1. 先看真实的材料,再决定版式。附带的文档和资料文件夹是证据,不是指令。把观察到的事实、材料自己给出的解读和你自己的推断分开。保留有用的出处定位、单位、时间段、范围和基线定义。
|
|
6
|
+
2. **保留原有大纲——适用范围。** 这条规则适用于把已经定稿的报告或结构化的交付物转成另一种格式:保留原文有用的大纲和呈现方式;原文是表格就还用表格,除非用户要求转换,或者图表能揭示额外的关系;不要只为了显得有设计感而加侧栏、顶部指标条、提示框或新的叙述层。如果任务是把零散的项目笔记、会议记录或原始实验记录整理成报告,就按「写作约定」里的认知顺序从头搭大纲;材料原本的记录顺序不是要保留的大纲。
|
|
7
|
+
不要在每个小节标题下面放一行灰色小字说明;需要交代背景时,写一段有实际内容的普通正文。
|
|
8
|
+
3. 确定报告具体的阅读任务(通读、查细节、对比、趋势、分布、构成、关系或先后顺序)和报告类型:实验或项目报告、会议纪要、技术说明、介绍或展览、观点对比(下面的「报告类型」说明了每种类型里,概括的小标题和正文的顺序分别对应什么)。
|
|
9
|
+
4. 根据项目材料写报告时,等正文和结论稳定之后再写开头的概括,在报告头部之后放一个 `.doc-summary` 块。写得简短:让新读者一眼看出项目做什么、最重要的结果是什么。用至少三个简短、概括性的名词短语作小标题来组织这段速览,比如“实验背景”“实验设计”“实验结果”,不要用问句、完整句子或标题元素;每个小标题可以用一个相关的 emoji 开头。后面跟简短的段落或少量列表项,列表项写成 `<strong>列表标题:</strong>内容`。下面的「开头概括块」给出维护中的标记写法。
|
|
10
|
+
|
|
11
|
+
## 写作约定
|
|
12
|
+
|
|
13
|
+
根据项目材料起草时,按内容取舍和认知顺序的规则来写。做格式转换、指定的样式调整,或按用户认可的大纲写时,保留要求的范围和结构。做内容取舍时,必须保留的 Case 证据一律不删。
|
|
14
|
+
|
|
15
|
+
- **读者设定。** 读者有一般的领域知识,但从没见过这个项目、实验或报告。先介绍背景、材料来源、模型或实验的各个版本、指标定义和比较范围,再给结果。缩写和项目内部的名称在第一次出现时给出定义。换了小节,或者指代对象已经不在附近、不再明确时,重新写出全称,不要靠代词或“这两个模型”“这个指标”之类的简称。每个小节都要让读者从前往后读一遍就能看懂,不需要去后面的小节找定义或原因。
|
|
16
|
+
|
|
17
|
+
- **内容取舍:只写收敛后的主线。** 材料通常记录了完整的探索过程:放弃的路线、失败的实验、参数扫描和反复修补。不要照搬这段经过。提炼出当前在用的流程:输入什么,经过哪些关键环节,有哪些质量检查,产出什么。只有当某次失败或设计变更是理解当前结论、风险或设计约束所必需的,才写进去。目标是呈现一个干净、已经定型的项目,而不是重放团队的摸索过程。
|
|
18
|
+
|
|
19
|
+
- **认知顺序。** 对第一次接触项目的读者,按“是什么 → 为什么 → 怎么做 → 结果”组织内容。开头放一个简短的概览块(最后写),让零背景的读者一眼看到项目的目的和关键成果。纯背景写短;只有当诊断数据或证据本身重要时才展开。沿着收敛后的主线描述流程。最后写当前状态、正式结果和未解决的问题。
|
|
20
|
+
|
|
21
|
+
- **标题。** 标题用来定位内容,不用来叙述内容。用“主题 + 方面”或“阶段 + 对象”式的名词短语(例如“网页样本标签体系”“第二阶段测试结果”“评分逻辑重构”)。不要用问句(“这一阶段测了什么?”)、动宾短语(“用九个标签描述一个网页样本”)或完整的陈述句(“我们重构了评分逻辑”)作标题。标题可以用领域术语,不需要正文要求的口语感。
|
|
22
|
+
|
|
23
|
+
- **数据、实验和归因必须没有歧义。** 报告数字、对比或因果判断时,明确写出:对象是什么(模型、版本、数据集、样本集),统计口径(样本量、时间窗口、纳入或排除标准),数字怎么算出来的(分子、分母、指标定义),比较的基线是什么、条件是否一致,这个数字具体意味着什么(不只是给出指标名),以及因果判断是基于直接观察还是推断。去掉工程细节和探索过程时,正确理解一个数字所需要的定义和口径要留着。
|
|
24
|
+
|
|
25
|
+
- **句子结构:线性展开,一句一个判断。** 每句话只承载一个主要判断。不要把背景、条件、动作、结果和影响塞进一个复合长句。用具体的主语,写清楚是谁或什么做了这件事,不用被动句或名词化的说法(写“我们调整了采样比例”,不写“采样比例经历了调整”)。短句之间用“所以”“然后”“结果”这类词连接,不要层层嵌套从句。可读性的标准是口头汇报:听的人不用回头重听就能跟上。
|
|
26
|
+
|
|
27
|
+
- **不立靶子再反驳,不用抽象空词。** 不要编造一个读者本来不会有的误解,再去否定它。禁止的句式(包括所有同义变体):“X 不等于 / 不意味着 / 不代表 Y”“X 不应被看作 Y”“还不足以证明”“不是 X,而是 Y”“仍然……没有……也没有……”“X 并不充当 Y”。如果确实存在歧义(比如刚给出的数字可能被误读),直接给出正确的事实来澄清,不要先否定。另外,把闭环、落地、聚焦、全链路、方法论、协同、打通、收敛、赋能、沉淀、颗粒度、范式这类抽象的压缩词,换成具体的动作或结果,除非这个词是引用材料的原话,或者是句子里有具体对象的必要技术术语。
|
|
28
|
+
|
|
29
|
+
- **完整保留 Case。** 具体的 Case 是证据,不是可有可无的辅助材料。完整保留问题、标准答案、每个模型或系统的回答、计算或工具调用过程、出处标注,以及材料里完整的问题分析。除非用户明确要求,不要合并多个回答、用摘要代替原题、节选回答或缩短分析。可以用折叠块先把很长的 Case 收起来,但不能删掉内容。
|
|
30
|
+
|
|
31
|
+
## 输出约定
|
|
32
|
+
|
|
33
|
+
- 不要编造缺失的数值,不要悄悄把不兼容的指标统一起来,也不要从空结果推断提供方或根本原因。
|
|
34
|
+
- 凡是从模型回答或打分记录得出的统计,都保留产生它的具体 checkpoint 或实验版本、评测范围,以及能找到的最精确的任务或作业定位。如果多个 checkpoint 的对比里,原始记录只来自其中一个,要单独、醒目地写出是哪一个 checkpoint。
|
|
35
|
+
- 不要在中文标题上方放全大写的英文小标签,除非它承载材料提供的信息。不要把普通的假设、判断或结论升级成提示框,除非材料或阅读任务需要强调。
|
|
36
|
+
- 保留报告的原始源文件和材料的来龙去脉。不要手改生成或导出的副本。
|
|
37
|
+
- 不要在标题和开头概括之间放导语、摘要段、元数据行或其他说明文字;把这些交代挪到概括或正文里。
|
|
38
|
+
- 报告最多带一行来源,放在 `.doc-header` 里、紧跟标题,用小字:`<p class="doc-note">来源:…</p>`。
|
|
39
|
+
|
|
40
|
+
## 交稿之前
|
|
41
|
+
|
|
42
|
+
交稿前,对照材料逐一复核你添加或改动的每个数字、名称、日期、完成状态和因果判断。有子代理(sub-agent)可用时,让一个上下文全新的子代理列出报告里材料没有直接支持的说法,逐条改正,或者写明是你的推断。没有子代理时,做上面的复核就够了。凡是你自己的推断、材料里没有说的句子,在页面上也要读得出是推断(用报告的语言写明,比如“推断”“可能”或“本报告认为”)。
|
|
43
|
+
|
|
44
|
+
## 开头概括块
|
|
45
|
+
|
|
46
|
+
根据项目材料写报告时,用一个 `.doc-summary` 块给零背景的读者一份全文速览。做格式转换或按用户认可的大纲写时,保留要求的结构。等正文、证据和结论都稳定之后再写它,然后放在 `.doc-header` 之后、第一个 `.doc-section` 之前。`.doc-title` 下面的每一段说明文字都挪进概括或正文。
|
|
47
|
+
|
|
48
|
+
概括要短到一眼能扫完。它是整份报告的压缩速览:写清项目做什么、相关的范围或方法,以及最重要的结果或当前产出。用至少三个简洁、概括性的名词短语来组织,比如“实验背景”“实验设计”“实验结果”。不要用“这份报告说明什么”这样的问句、完整句子式的标题,或只是重复某一个发现的标题。小标题可以用一个相关的 emoji 开头,后面跟一小段话或少量列表。列表项写成 `<strong>列表标题:</strong>内容`。用 `<strong>`,不用 `h1`–`h6`;概括不应在文档大纲里多出一层。不要把详细的证据、表格、图表、长公式或完整的 Case 放进这个块。
|
|
49
|
+
|
|
50
|
+
```html
|
|
51
|
+
<section class="doc-summary" aria-label="报告概括">
|
|
52
|
+
<p><strong>🧭 实验背景</strong></p>
|
|
53
|
+
<p>用一小段话说明项目、分析对象和主要目的。</p>
|
|
54
|
+
|
|
55
|
+
<p><strong>🧪 实验设计</strong></p>
|
|
56
|
+
<ul>
|
|
57
|
+
<li><strong>比较范围:</strong>说明关键版本、样本和共同口径。</li>
|
|
58
|
+
<li><strong>评估方式:</strong>简述能够帮助读者理解结果的设计。</li>
|
|
59
|
+
</ul>
|
|
60
|
+
|
|
61
|
+
<p><strong>📈 实验结果</strong></p>
|
|
62
|
+
<ul>
|
|
63
|
+
<li><strong>主要发现:</strong>写出最重要且可由正文核对的结果。</li>
|
|
64
|
+
<li><strong>当前产出:</strong>说明已经形成的报告、数据或可交付结果。</li>
|
|
65
|
+
</ul>
|
|
66
|
+
</section>
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
浅色和深色主题下,它的底色都是克制的灰色(同 Notion 的 callout)。只有报告有一套刻意设计的语义配色时,才给它加颜色类(`doc-highlight-<color>`);一页里不要用好几个颜色不同的开头概括。
|
|
70
|
+
|
|
71
|
+
## 报告类型
|
|
72
|
+
|
|
73
|
+
「写作约定」里的顺序(是什么 → 为什么 → 怎么做 → 结果)和开头概括的小标题,说的是各部分的作用,不是固定用词:按报告的类型选小标题和正文的顺序。
|
|
74
|
+
|
|
75
|
+
| 报告 | 概括的小标题(示例) | 正文顺序 |
|
|
76
|
+
| --- | --- | --- |
|
|
77
|
+
| 项目或实验 | 实验背景 / 实验设计 / 实验结果 | 问题 → 方法 → 结果 → 现状和未解决的问题 |
|
|
78
|
+
| 会议纪要 | 会议目的 / 主要决定 / 待办与负责人 | 决定 → 待办(含负责人和日期) → 讨论和分歧 |
|
|
79
|
+
| 技术说明 | 用途 / 结构 / 使用边界 | 概念 → 机制 → 示例 → 局限 |
|
|
80
|
+
| 展览或介绍 | 展览主题 / 展区与展品 / 参观信息 | 主题 → 展区和展品 → 亮点 → 参观信息 |
|
|
81
|
+
| 观点对比 | 问题 / 各方方案 / 共识与分歧 | 问题 → 各方立场,逐点列出 → 共识 → 分歧 → 依据 → 建议(有人要时才写;这一节开头先说明这是作者的判断) |
|
|
82
|
+
|
|
83
|
+
- 在会议纪要和观点对比里,“只写收敛后的主线”是指不按发言顺序重放讨论:各方的最终立场和仍未解决的分歧就是内容,一条都不能少。
|
|
84
|
+
- 在观点对比里,每一方的原文就是它的 Case:完整放进一个收起的折叠块或一个选项卡(Sheet tab)。正文给出各方立场的要点和差别,不再重复原文。
|
|
85
|
+
- 引用某一方自己说的否定句、并注明是谁说的,属于转述,不算被禁止的立靶子句式:那条规则管的是作者自己写的句子。
|
|
86
|
+
|
|
87
|
+
## 忠于材料
|
|
88
|
+
|
|
89
|
+
- 写给有一般知识、但对项目毫无背景的读者。先讲背景、材料来源、各个版本、指标定义和比较范围,再给结果;缩写和内部名称第一次出现时给出定义。
|
|
90
|
+
- 按「写作约定」用简洁的名词短语作标题,正文句子直接明了。能说出具体的动作、输入、计算或结果时,就不要反复用防御式的对比,也不要用抽象的项目腔。
|
|
91
|
+
- 转换已完成的报告或按用户认可的大纲写时,保留它的标题层级和结构。根据原始项目材料起草时,按「写作约定」以“是什么 → 为什么 → 怎么做 → 结果”的顺序组织项目当前的叙述。两种情况下都保留原表格之间的关系。根据项目材料写报告时,加一段简短的开头概括,并在正文和结论稳定之后再写。不要只为装饰而加导航栏、指标条或额外的叙述层。
|
|
92
|
+
- 报告标题之后、开头概括或第一个正文小节之前,最多保留一行来源。说明、摘要、元数据行和交代背景的段落都挪进概括或正文,不要堆在标题下面。
|
|
93
|
+
- 材料是表格,就保持表格。只有当图表能回答额外的对比、趋势、分布、构成、关系或先后顺序问题时才加图;能放在一起展示的 Bench 数值,不要让读者来回切换着看。
|
|
94
|
+
- 不要在中文标题上方放全大写的英文小标签、缩写或装饰性标签,除非它传达的是材料提供的范围、时间段或状态。
|
|
95
|
+
- 不要把普通的“假设”“判断”或“结论”做成页面顶部的提示框。提示框留给材料要求强调的内容、风险、警告、状态,或者会实质改变理解的注意事项。
|
|
96
|
+
- 不要用信息图标、警告符号、徽章或彩色标签装饰普通正文。开头概括里每个加粗的小标题前可以放一个相关的 emoji;普通段落和小节标题不要这样做。装饰代替不了信息结构。
|
|
97
|
+
- 不要在每个小节标题下面放一行灰色小字说明。小节需要引入时,用一两段普通正文讲清实际要点。
|
|
98
|
+
- 每个具体的 Case 都完整保留:问题、标准答案、每个模型或系统的回答、计算或工具调用过程、出处标注,以及完整的问题分析。折叠只用来控制页面长度;Case 证据仍然不能摘要、合并或省略。
|
|
99
|
+
|
|
100
|
+
## 证据与数据
|
|
101
|
+
|
|
102
|
+
- 保留单位、时间范围、checkpoint、样本数、范围和基线名称。
|
|
103
|
+
- 统计用到模型回答、推理过程或打分记录时,写明产生它的具体 checkpoint 或实验版本、评测范围,以及能找到的最精确的任务或作业定位。如果报告把多个 checkpoint 的汇总结果和只来自一个 checkpoint 的原始记录放在一起,要单独写出原始记录来自哪个 checkpoint;不要笼统写成“原始回答和分数”这类说法。
|
|
104
|
+
- 对变换过的数值,写明做了什么运算:平均、加权平均、归一化、差值、平滑、过滤,或取共同子集。
|
|
105
|
+
- 原始材料和归一化后的图表数据都保留时,两者分开存放。
|
|
106
|
+
- 定义不兼容的数值,不加醒目的说明就不要放在一起比较。
|
|
107
|
+
- 详细的出处写进 `materials/README.md` 或 `report.json`;和读者有关的来源说明放在图表旁边。
|
package/bin/gallery.mjs
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// The gallery command (package.json's bin). The Node it runs on is said first, in syntax any Node
|
|
3
|
+
// reads, before anything that needs a newer one is loaded; then the command line goes to the
|
|
4
|
+
// dispatcher (src/cli/gallery.mjs here; dist/cli.mjs in the release).
|
|
5
|
+
var parts = process.versions.node.split(".").map(Number);
|
|
6
|
+
if (parts[0] < 22 || (parts[0] === 22 && parts[1] < 13)) {
|
|
7
|
+
console.error("Gallery needs Node 22.13 or newer; this is Node " + process.versions.node + ". Install the LTS from https://nodejs.org, then run the command again.");
|
|
8
|
+
process.exit(1);
|
|
9
|
+
}
|
|
10
|
+
import("../dist/cli.mjs").then(function (gallery) { return gallery.main(); });
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { svg } from "../icons.mjs";
|
|
2
|
+
|
|
3
|
+
// The bookmark's icon: the editor's own line drawing (components/icons.mjs svg), no size or color of its
|
|
4
|
+
// own: the bar, the menus, the handle and the link views set it.
|
|
5
|
+
|
|
6
|
+
export const BOOKMARK_ICON = svg('<path d="M5.5 4A1.5 1.5 0 0 1 7 2.5h6A1.5 1.5 0 0 1 14.5 4v12.25L10 12.9l-4.5 3.35z"/>');
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { BOOKMARK_ICON } from "./icons.mjs";
|
|
2
|
+
import { captionWords, fileOf, mediaReadOnly, newMediaFigure, writtenCaption } from "../media/parts.mjs";
|
|
3
|
+
import { barMarkup } from "../placeholder-bar.mjs";
|
|
4
|
+
import { t } from "../../../shared/i18n/index.mjs";
|
|
5
|
+
|
|
6
|
+
// 网页书签 (Notion's bookmark block): the kit's figure.doc-bookmark, a web page as a card the
|
|
7
|
+
// reader clicks to open it in a new tab (its title, description, address with the page's icon, and
|
|
8
|
+
// cover), and its caption, a <figcaption> always written (a media block's, components/media/). A
|
|
9
|
+
// card: one block, moved, deleted, captioned as a whole; what the card says is the page's. Made from
|
|
10
|
+
// an empty block (the "/" menu: 网页书签): a placeholder until a link is given; the server reads the
|
|
11
|
+
// page and keeps its icon and cover in the report's folder (editor/unfurl.mjs), and it is written
|
|
12
|
+
// then. page.mjs: the link menu, the block menu's rows; file.mjs: a new one in
|
|
13
|
+
// report.html.
|
|
14
|
+
//
|
|
15
|
+
// Where the engines reach it (src/editor/page/ unless named): convert.mjs (made from an empty block:
|
|
16
|
+
// `create`), editor.mjs (the link menu opens on a new one: page.mjs `onCreated`), src/transfer/markdown.mjs
|
|
17
|
+
// (`clipboard`), ../source/ (its caption: blocks.mjs).
|
|
18
|
+
// Its look: the kit's styles/bookmark.css (src/render/kit/); its icon and cover where the preview
|
|
19
|
+
// serves them and embedded in an export: src/render/images.mjs.
|
|
20
|
+
export { BOOKMARK_ICON };
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* A bookmark's placeholder bar, as markup: in a new one, and in one the file keeps empty from the first paint (the server
|
|
24
|
+
* puts it there: components/placeholder.mjs showEmpty).
|
|
25
|
+
*/
|
|
26
|
+
const placeholder = () => barMarkup("doc-bookmark", BOOKMARK_ICON, t("添加 Web 书签")); // its words in the language t() says them in now (placeholder.mjs showEmpty)
|
|
27
|
+
|
|
28
|
+
export default {
|
|
29
|
+
name: "bookmark",
|
|
30
|
+
listed: () => t("网页书签"),
|
|
31
|
+
readOnly: [mediaReadOnly("bookmark")],
|
|
32
|
+
units: {
|
|
33
|
+
bookmark: { name: t("网页书签"), match: [{ rank: 43, tag: "figure", class: "doc-bookmark" }], boxed: true },
|
|
34
|
+
},
|
|
35
|
+
types: {
|
|
36
|
+
bookmark: {
|
|
37
|
+
menu: ["advanced", 19], fresh: 4,
|
|
38
|
+
tag: "figure", className: "doc-bookmark", kind: "bookmark", bare: true,
|
|
39
|
+
create: ({ doc, put }) => put(newBookmark(doc)), // its placeholder stands for the empty block; what it holds is chosen next
|
|
40
|
+
clipboard: {
|
|
41
|
+
kind: "bookmark",
|
|
42
|
+
read(unit, { plain }) {
|
|
43
|
+
const card = unit.querySelector(":scope > a.doc-bookmark-card");
|
|
44
|
+
const href = card?.getAttribute("href");
|
|
45
|
+
return href ? { label: plain(card.querySelector(".doc-bookmark-title")) || href, src: href, caption: writtenCaption(unit) } : null;
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
// What a new one is written with (core.mjs nodeOf): its page and what the page said, its
|
|
49
|
+
// caption; an empty figure while it has no link (its placeholder, kept: file.mjs).
|
|
50
|
+
extras: (element) => bookmarkNode(element),
|
|
51
|
+
part: ".doc-bookmark",
|
|
52
|
+
bar: placeholder,
|
|
53
|
+
label: t("网页书签"), icon: BOOKMARK_ICON,
|
|
54
|
+
words: "网页书签 书签 链接 网页 网址 shuqian sq wangye bookmark link web url",
|
|
55
|
+
glance: { row: 18, name: "网页书签", write: "`<p><a class=\"doc-bookmark\" href=\"https://…\" title=\"…\">…</a></p>`", after: "`figure.doc-bookmark`", rule: "Kit blocks" },
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
/** A bookmark's card, once it has a link. */
|
|
61
|
+
export const cardOf = (figure) => figure.querySelector(":scope > a.doc-bookmark-card[data-ge-href]");
|
|
62
|
+
|
|
63
|
+
// What a new bookmark is written with: its page, title, description, icon and cover (the files, not
|
|
64
|
+
// where the preview serves them) and its caption.
|
|
65
|
+
function bookmarkNode(figure) {
|
|
66
|
+
const card = cardOf(figure);
|
|
67
|
+
const text = (selector) => card?.querySelector(selector)?.textContent ?? "";
|
|
68
|
+
const file = (selector) => fileOf(card?.querySelector(selector), "src");
|
|
69
|
+
return {
|
|
70
|
+
href: fileOf(card, "href") ?? "",
|
|
71
|
+
title: text(".doc-bookmark-title"),
|
|
72
|
+
description: text(".doc-bookmark-description"),
|
|
73
|
+
icon: file(".doc-bookmark-icon"),
|
|
74
|
+
cover: file(".doc-bookmark-cover > img"),
|
|
75
|
+
caption: captionWords(figure),
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/** A new bookmark (the "/" menu's 网页书签): its placeholder (添加 Web 书签), until a link is given (page.mjs). */
|
|
80
|
+
export const newBookmark = (doc) => newMediaFigure(doc, "bookmark", placeholder());
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { hostOf } from "../../page/links/views.mjs";
|
|
2
|
+
import { ICONS } from "../../page/menu.mjs";
|
|
3
|
+
import { svg } from "../icons.mjs";
|
|
4
|
+
import { TOOL_ICONS } from "../media/icons.mjs";
|
|
5
|
+
import { captionNode, captionOf, fileOf, showFile } from "../media/parts.mjs";
|
|
6
|
+
import { BOOKMARK_ICON, cardOf, newBookmark } from "./index.mjs";
|
|
7
|
+
import { t } from "../../../shared/i18n/index.mjs";
|
|
8
|
+
|
|
9
|
+
// 网页书签 on the page (notion-lite's src/blocks/bookmark/edit.js, Notion's 989513 en). A new bookmark
|
|
10
|
+
// (the "/" menu's 网页书签, made from an empty block: convert.mjs) is a placeholder, a gray bar saying
|
|
11
|
+
// 添加 Web 书签, until a link is given in the menu that opens below it at once and on a click
|
|
12
|
+
// (../media/page.mjs; 300px, no tabs: 以 https://… 格式粘贴, 创建书签); meanwhile it says 获取预览中…. The server reads the
|
|
13
|
+
// page (POST /__gallery/edit/unfurl) and keeps its icon and cover in the report's folder; the card
|
|
14
|
+
// then shows its title (the page's host when it has none), description, address and cover. A page
|
|
15
|
+
// that cannot be read still makes a card (its host as its title). One undo step. A click on the card
|
|
16
|
+
// opens the page in a new tab, as in the report. The block menu has 标题, 显示为 ›, 拷贝原始链接 and 刷新预览.
|
|
17
|
+
|
|
18
|
+
// 显示为 › (a card, and the text it may be again).
|
|
19
|
+
const SHOW_AS_ICON = svg('<rect x="3.25" y="4.25" width="13.5" height="7.5" rx="1.75"/><path d="M3.5 15.25h3M9 15.25h7.5"/>');
|
|
20
|
+
|
|
21
|
+
// The card of a page (`page`: { url, title, description, icon, cover }, the images files of the
|
|
22
|
+
// report's folder served at `assetUrl`), and an empty caption.
|
|
23
|
+
function cardParts(doc, page, assetUrl, caption = "") {
|
|
24
|
+
const node = (tag, className, text = null) => {
|
|
25
|
+
const element = doc.createElement(tag);
|
|
26
|
+
if (className) element.className = className;
|
|
27
|
+
if (text !== null) element.textContent = text;
|
|
28
|
+
return element;
|
|
29
|
+
};
|
|
30
|
+
const picture = (path, className = "") => {
|
|
31
|
+
const img = node("img", className);
|
|
32
|
+
showFile(img, "src", path, assetUrl(path));
|
|
33
|
+
img.alt = "";
|
|
34
|
+
img.draggable = false;
|
|
35
|
+
return img;
|
|
36
|
+
};
|
|
37
|
+
const card = node("a", "doc-bookmark-card");
|
|
38
|
+
showFile(card, "href", page.url, page.url); // the page the card stands for
|
|
39
|
+
card.target = "_blank";
|
|
40
|
+
card.rel = "noopener noreferrer";
|
|
41
|
+
card.setAttribute("contenteditable", "false");
|
|
42
|
+
card.draggable = false;
|
|
43
|
+
const text = node("span", "doc-bookmark-text");
|
|
44
|
+
text.append(node("span", "doc-bookmark-title", page.title?.trim() || hostOf(page.url)));
|
|
45
|
+
if (page.description) text.append(node("span", "doc-bookmark-description", page.description));
|
|
46
|
+
const address = node("span", "doc-bookmark-url");
|
|
47
|
+
if (page.icon) address.append(picture(page.icon, "doc-bookmark-icon"));
|
|
48
|
+
address.append(node("span", "doc-bookmark-href", page.url));
|
|
49
|
+
text.append(address);
|
|
50
|
+
card.append(text);
|
|
51
|
+
if (page.cover) {
|
|
52
|
+
const cover = node("span", "doc-bookmark-cover");
|
|
53
|
+
cover.append(picture(page.cover));
|
|
54
|
+
card.append(cover);
|
|
55
|
+
}
|
|
56
|
+
return [card, captionNode(doc, caption)];
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Bookmarks on the page, with what the editor gives them: the media blocks' shared parts (`pages.media`:
|
|
61
|
+
* ../media/page.mjs block("bookmark"): the undo steps, say, select, the menu, the caption),
|
|
62
|
+
* assetUrl(path), unfurl(url) (POST /__gallery/edit/unfurl: the page's bookmark) and
|
|
63
|
+
* showAs(figure, link) (its link shown in the text again, links/views.mjs: the rows of 显示为 ›).
|
|
64
|
+
*/
|
|
65
|
+
export function create({ pages, assetUrl, unfurl, showAs }) {
|
|
66
|
+
const media = pages.media.block("bookmark");
|
|
67
|
+
const { say } = media;
|
|
68
|
+
|
|
69
|
+
/** The link menu of a bookmark, below it. */
|
|
70
|
+
const pick = (figure) => media.pick(figure, {
|
|
71
|
+
tabs: [{ key: "link", label: t("书签") }],
|
|
72
|
+
width: 300,
|
|
73
|
+
link: { placeholder: t("以 https://… 格式粘贴"), button: t("创建书签"), caption: t("从链接创建可视化书签。"), invalid: t("请输入有效的链接") },
|
|
74
|
+
onEmbed: (url) => read(figure, url),
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
// The page read, the card made (with what could be had of it).
|
|
78
|
+
async function read(figure, url, options = {}) {
|
|
79
|
+
media.busy(figure, t("获取预览中…"));
|
|
80
|
+
let page;
|
|
81
|
+
try {
|
|
82
|
+
page = await unfurl(url);
|
|
83
|
+
} catch (error) {
|
|
84
|
+
page = { url, title: "", description: "", icon: null, cover: null };
|
|
85
|
+
say(t("无法获取网页预览:{0}", error.message), "note");
|
|
86
|
+
}
|
|
87
|
+
place(figure, page, options);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// The card in: a new bookmark in the place of the placeholder (or of the bookmark read again, with
|
|
91
|
+
// its caption), never the same element, so that undo brings back what stood there. One undo step;
|
|
92
|
+
// the bookmark selected.
|
|
93
|
+
function place(figure, page, { pasted = false } = {}) {
|
|
94
|
+
if (!figure.isConnected) return;
|
|
95
|
+
const doc = figure.ownerDocument;
|
|
96
|
+
const again = Boolean(cardOf(figure));
|
|
97
|
+
const next = newBookmark(doc);
|
|
98
|
+
next.replaceChildren(...cardParts(doc, page, assetUrl, captionOf(figure)?.innerHTML ?? ""));
|
|
99
|
+
media.place(figure, next, { replacing: again, pasted });
|
|
100
|
+
if (again) say(t("已刷新网页预览 · Ctrl+Z 撤销"));
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
async function copyLink(figure) {
|
|
104
|
+
try {
|
|
105
|
+
await navigator.clipboard.writeText(fileOf(cardOf(figure), "href") ?? "");
|
|
106
|
+
say(t("已将链接拷贝到剪贴板"));
|
|
107
|
+
} catch {
|
|
108
|
+
say(t("无法拷贝链接"), "error");
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/** A bookmark's rows in its block menu. */
|
|
113
|
+
function menuItems(target) {
|
|
114
|
+
const card = target?.matches?.("figure.doc-bookmark") ? cardOf(target) : null;
|
|
115
|
+
if (!card) return [];
|
|
116
|
+
return [
|
|
117
|
+
{ label: t("标题@caption"), icon: TOOL_ICONS.caption, run: () => setTimeout(() => media.caption(target)) },
|
|
118
|
+
{ label: t("拷贝原始链接"), icon: BOOKMARK_ICON, run: () => copyLink(target) },
|
|
119
|
+
{ label: t("刷新预览"), icon: ICONS.reset, run: () => read(target, fileOf(card, "href")) },
|
|
120
|
+
// Feishu's 卡片视图 ▾: the link in the text again, as one of its views.
|
|
121
|
+
{ label: t("显示为"), icon: SHOW_AS_ICON, width: 168, submenu: () => showAs(target, linkOf(target)) },
|
|
122
|
+
];
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
// What its card says: { href, title, icon } (its icon a file of the report's folder).
|
|
126
|
+
const linkOf = (figure) => {
|
|
127
|
+
const card = cardOf(figure);
|
|
128
|
+
return { href: fileOf(card, "href") ?? "", title: card?.querySelector(".doc-bookmark-title")?.textContent ?? "", icon: fileOf(card?.querySelector(".doc-bookmark-icon"), "src") };
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
return {
|
|
132
|
+
pick, menuItems,
|
|
133
|
+
/** A new one: its link given next. */
|
|
134
|
+
onCreated(figure) {
|
|
135
|
+
pick(figure);
|
|
136
|
+
return true;
|
|
137
|
+
},
|
|
138
|
+
/** A bookmark of `page` ({ url, title, description, icon, cover }), whole, not yet on the page (links/views.mjs). */
|
|
139
|
+
fromPage(page) {
|
|
140
|
+
const figure = newBookmark(document);
|
|
141
|
+
figure.replaceChildren(...cardParts(document, page, assetUrl));
|
|
142
|
+
return figure;
|
|
143
|
+
},
|
|
144
|
+
/** A bookmark of the page at `url` in the place of `figure` (an embed of a page that refuses frames). */
|
|
145
|
+
fromLink: (figure, url, options) => read(figure, url, options),
|
|
146
|
+
};
|
|
147
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { build as code } from "./code/page.mjs";
|
|
2
|
+
import { build as details } from "./details/page.mjs";
|
|
3
|
+
import { build as installed } from "./installed/page.mjs";
|
|
4
|
+
import { build as math } from "./math/page.mjs";
|
|
5
|
+
import { build as sheets } from "./sheets/page.mjs";
|
|
6
|
+
import { build as table } from "./table/page.mjs";
|
|
7
|
+
import { TYPE_COMPONENT } from "./registry.mjs";
|
|
8
|
+
|
|
9
|
+
// The blocks made again from the clipboard's description by a module of the page (a `build` of their
|
|
10
|
+
// page.mjs: docs/editor.md, "Copying blocks"). A description is built with no editor too, in the
|
|
11
|
+
// transfer worker and the unit tests, where there are no page objects and components/pages.mjs does
|
|
12
|
+
// not load (some page modules want a browser as they load), so that these are plain functions of
|
|
13
|
+
// page modules that do load there, listed here, each a function declaration, as this module and
|
|
14
|
+
// those import each other in a ring and it may be read before its module has run. A type whose
|
|
15
|
+
// `clipboard` says `build` is pure DOM, and has no line here.
|
|
16
|
+
const BUILDS = { code, details, installed, math, sheets, table };
|
|
17
|
+
|
|
18
|
+
/** The `build` of a block type's page.mjs, if it has one. */
|
|
19
|
+
export const pageBuild = (type) => BUILDS[TYPE_COMPONENT[type]];
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { svg } from "../icons.mjs";
|
|
2
|
+
import { CALLOUT } from "../kit.mjs";
|
|
3
|
+
import { setApart } from "../set-apart.mjs";
|
|
4
|
+
import { t } from "../../../shared/i18n/index.mjs";
|
|
5
|
+
|
|
6
|
+
// 提示块: the kit's .doc-callout, a box of blocks that keep their own types set apart on a fill, a
|
|
7
|
+
// line at its left (the user's, 2026-11-07: a container as the highlight block is). It is the
|
|
8
|
+
// highlight block's kind of block in every rule but its look: no icon leads it, its line, its square
|
|
9
|
+
// corners. One written the old way, words straight in it (every callout before 2026-11-07, and what
|
|
10
|
+
// an Agent may still write), holds them as one paragraph: natural HTML makes them one in the file
|
|
11
|
+
// the first time the page writes it (source/natural.mjs, a box that holds one), the clipboard reads
|
|
12
|
+
// it so (set-apart.mjs).
|
|
13
|
+
//
|
|
14
|
+
// Where the engines reach it (src/editor/page/ unless named): typing/ (Enter on its empty last
|
|
15
|
+
// paragraph: `leaveByEnter`, typing/leave.mjs; Backspace in its one empty block: `removedEmpty`),
|
|
16
|
+
// convert.mjs (a block turned into one keeps its type; none inside another), clipboard/own/ (copying
|
|
17
|
+
// it, and any block with its class: `clipboard`), handle/ (its first line shows its handle:
|
|
18
|
+
// `firstLineActs`). Its look: the kit's styles/callout.css (src/render/kit/); its color a background
|
|
19
|
+
// only, the palette's blue when it has none (`colorDefaults`: that blue is the one 颜色 › marks, and
|
|
20
|
+
// picking it writes no class).
|
|
21
|
+
|
|
22
|
+
// Its type's icon: a rounded box whose left side is a bar more than twice as thick as its lines (the
|
|
23
|
+
// callout's line), the text's T in the middle of the room right of it. Drawn on the 20-unit grid
|
|
24
|
+
// as the other types' are.
|
|
25
|
+
const CALLOUT_ICON = svg('<rect x="3.25" y="3.25" width="13.5" height="13.5" rx="2.5"/><path d="M5.5 3.26A2.5 2.5 0 0 0 3.25 5.75v8.5a2.5 2.5 0 0 0 2.25 2.49z" fill="currentColor" stroke="none"/><path d="M7.65 7.6v-.85h6.2v.85M10.75 6.75v6.75M9.65 13.5h2.2"/>');
|
|
26
|
+
|
|
27
|
+
export default {
|
|
28
|
+
name: "callout",
|
|
29
|
+
listed: () => t("提示块"),
|
|
30
|
+
units: {
|
|
31
|
+
callout: {
|
|
32
|
+
name: t("提示块"), match: [{ rank: 130, class: "doc-callout" }],
|
|
33
|
+
boxed: true,
|
|
34
|
+
removedEmpty: true, // Backspace on its one empty block deletes it whole (typing/)
|
|
35
|
+
colors: ["background"], colorDefaults: { background: "blue" },
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
boxes: {
|
|
39
|
+
callout: {
|
|
40
|
+
role: "flow", name: t("提示块"),
|
|
41
|
+
leaveByEnter: true, // Enter on its empty last block moves that block out after it (typing/leave.mjs)
|
|
42
|
+
endIsPadding: true, // under its last block is its padding: a click there makes no block (geometry.mjs endOf)
|
|
43
|
+
firstLineActs: true, // its first block shows its handle
|
|
44
|
+
groups: true,
|
|
45
|
+
holdsOne: true, // emptied, it keeps an empty paragraph (core.mjs tidyEmptied)
|
|
46
|
+
selectAll: { content: true },
|
|
47
|
+
classes: [{ rank: 75, class: "doc-callout" }],
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
types: {
|
|
51
|
+
callout: {
|
|
52
|
+
turn: 12, menu: ["basic", 11],
|
|
53
|
+
tag: "div", className: "doc-callout", kind: "callout", box: "callout", leaf: "paragraph", container: ".doc-callout",
|
|
54
|
+
takesAsIs: true, holder: 4,
|
|
55
|
+
nests: false, // none inside another (a drop or a file may still nest one)
|
|
56
|
+
joins: false, // a block turned into one is one of its own, never another's
|
|
57
|
+
// Its blocks, one with words straight in it a paragraph of them (set-apart.mjs, the highlight block's rule too).
|
|
58
|
+
clipboard: { kind: "aside", claims: CALLOUT.match, ...setApart("callout", CALLOUT.match) },
|
|
59
|
+
label: t("提示块"), icon: CALLOUT_ICON,
|
|
60
|
+
words: "提示块 提示框 提示 注意 警告 tishi zhuyi jinggao tsk ts callout tip warning notice",
|
|
61
|
+
glance: { row: 12, name: "提示块", write: "`div.doc-callout` holding `<p>`", rule: "Kit blocks" },
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
};
|