@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,194 @@
|
|
|
1
|
+
import { svg } from "../icons.mjs";
|
|
2
|
+
import { FLOW, FLOW_DIRECTION, HELD_TAGS } from "../../../shared/components/list.mjs";
|
|
3
|
+
import { t } from "../../../shared/i18n/index.mjs";
|
|
4
|
+
|
|
5
|
+
// 符号列表, 编号列表 and 待办事项: ul, ol and ul.doc-todo, whose items are text blocks (a to-do's
|
|
6
|
+
// checked item carries data-checked; its box is the kit's, drawn where a bullet would be). An item may hold
|
|
7
|
+
// blocks after its text (notion-lite's children of a list item: lists, and any other block, a
|
|
8
|
+
// paragraph, an image, a code block…: <li>text<p>…</p><ul>…</ul></li>): it is then also a box (kind
|
|
9
|
+
// "nest") whose units are those blocks.
|
|
10
|
+
// The markers by depth are the kit's (src/render/kit/styles/flow.css), so nothing but the nesting tells levels apart.
|
|
11
|
+
// A flowchart (流程图, ol.doc-flow) is a list for the kit, and one of the kinds a whole list turns
|
|
12
|
+
// into (LIST_TYPES, listType), but no list for the editor: its steps are nodes, no items
|
|
13
|
+
// (components/flowchart/, which also turns a list into one and back).
|
|
14
|
+
// page.mjs: indenting and outdenting items, Enter and Backspace in them, a list turned into the
|
|
15
|
+
// other kind; file.mjs: an item holding lists in report.html.
|
|
16
|
+
//
|
|
17
|
+
// Where the engines reach it (src/editor/page/ unless named): core.mjs (an item's own text comes
|
|
18
|
+
// before the blocks it holds: nestedBlocks, textEnd, ownHTML, setOwnHTML, parentItem, holderItem, previousLine, splitting
|
|
19
|
+
// and merging items, the save's nested lists), typing/ (Tab, Ctrl+Enter, Enter, Backspace, Delete: `keys`, page.mjs),
|
|
20
|
+
// convert.mjs (a block turned into an item, a list into the other kind or into paragraphs, "- ",
|
|
21
|
+
// "1. "), drag/drop.mjs (a drop goes by indentation), drag/ (a block dropped under an item),
|
|
22
|
+
// caret.mjs (an item's own lines), history.mjs (lists set side by side join: its page object's tidy),
|
|
23
|
+
// clipboard/own/ (copying lists and items: `clipboard`), src/transfer/markdown.mjs (a page exported: `read`), commit.mjs (an item's box for its
|
|
24
|
+
// lists), ../source/ (finding items and what they hold: trailingBlocks, nest; retagUnit, itemIndent,
|
|
25
|
+
// cutLines).
|
|
26
|
+
// Its look: the kit's styles/flow.css, todo.css and flowchart.css (src/render/kit/).
|
|
27
|
+
// A numbered list's first number (start, from 1) and whether it counts on from the numbered list
|
|
28
|
+
// before it (data-continue): what the reader sets by clicking a number (page.mjs), saved as attributes.
|
|
29
|
+
export const START = "start";
|
|
30
|
+
export const CONTINUE = "data-continue";
|
|
31
|
+
export const validStart = (value) => typeof value === "string" && /^[1-9]\d{0,8}$/.test(value);
|
|
32
|
+
// A to-do list (Notion's to-do: a box before each item, checked or not) is a ul of this class, a
|
|
33
|
+
// checked item one with this attribute: a class switch of the list, an attribute of the item.
|
|
34
|
+
export const TODO = "doc-todo";
|
|
35
|
+
export const CHECKED = "data-checked";
|
|
36
|
+
// A flowchart is an ol of its class (components/flowchart/); its layout fixed, an attribute of the
|
|
37
|
+
// list (and of a step): row or column, none while the kit chooses.
|
|
38
|
+
export { FLOW, FLOW_DIRECTION };
|
|
39
|
+
export const DIRECTIONS = ["row", "column"];
|
|
40
|
+
export const validDirection = (value) => DIRECTIONS.includes(value);
|
|
41
|
+
|
|
42
|
+
/** The kinds of list, in menu order: a whole list turns into any other of them. */
|
|
43
|
+
export const LIST_TYPES = ["bullets", "numbers", "todo", "flowchart"];
|
|
44
|
+
|
|
45
|
+
/** The type a list shows as: "numbers", "flowchart", "todo" or "bullets". */
|
|
46
|
+
export const listType = (list) => (list.localName === "ol" ? (list.classList.contains(FLOW) ? "flowchart" : "numbers") : list.classList.contains(TODO) ? "todo" : "bullets");
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* The type of a list made in an item (an item indented under another, items dropped under one, a new
|
|
50
|
+
* item right below one holding blocks): `type`, a flowchart's being a numbered list there (a flowchart's
|
|
51
|
+
* steps are no items, so none is ever made so; a flowchart in a node or an item is the reader's to
|
|
52
|
+
* make, turning a list into 步骤流程图, never one Tab or Enter makes).
|
|
53
|
+
*/
|
|
54
|
+
export const heldListType = (type) => (type === "flowchart" ? "numbers" : type);
|
|
55
|
+
|
|
56
|
+
// The tags of the blocks a list item may hold after its text: the shared description's, which the kit reads too.
|
|
57
|
+
export { HELD_TAGS };
|
|
58
|
+
|
|
59
|
+
// What an item says it holds: its items (子项) where the blocks it holds are lists of items alone (a
|
|
60
|
+
// flowchart's steps are no items), its content (内容) where any is another block (a paragraph, an
|
|
61
|
+
// image, a task board).
|
|
62
|
+
const holdsItems = (blocks) => blocks.every((block) => (block.localName === "ul" || block.localName === "ol") && !block.classList.contains(FLOW));
|
|
63
|
+
|
|
64
|
+
/** Why an item holding `blocks` (the page's nestedBlocks) does not go by itself, in the words of what it holds. */
|
|
65
|
+
export const holdsSays = (blocks) => (holdsItems(blocks)
|
|
66
|
+
? t("这一项下面还有子项;要连同子项一起删除,点左侧的手柄后按 Delete。")
|
|
67
|
+
: t("这一项下面还有内容;要连同这些内容一起删除,点左侧的手柄后按 Delete。"));
|
|
68
|
+
|
|
69
|
+
/** Why an item holding `blocks` does not join the line above it, so. */
|
|
70
|
+
export const mergeSays = (blocks) => (holdsItems(blocks) ? t("这一项下面还有子项,不能并入上一项。") : t("这一项下面还有内容,不能并入上一项。"));
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* What a page export writes of a list: its first number and its items, each with whether it is
|
|
74
|
+
* checked and `written()`, the text of its line and the blocks it holds, which are asked as each is
|
|
75
|
+
* written, a text naming the files it shows. By default an item's own text (not the blocks it holds,
|
|
76
|
+
* written below), its pictures kept: one holding a picture is no text block of the editor's, but
|
|
77
|
+
* its content all the same.
|
|
78
|
+
*/
|
|
79
|
+
export const readList = (list, how, written = (item) => ({ text: how.own(item), held: how.nestedBlocks(item) })) => ({
|
|
80
|
+
start: Number(list.getAttribute(START)) || 1,
|
|
81
|
+
items: how.unitsOf(list).map((item) => ({ checked: item.hasAttribute(CHECKED), written: () => written(item) })),
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
// How a list is copied: the blocks it holds checked as any box's. A list a selection goes through
|
|
85
|
+
// is its items, each carrying its list's kind (an item of a list in an item keeps its own).
|
|
86
|
+
const check = (block, { container }) => container(block);
|
|
87
|
+
function across(unit, { walk }) {
|
|
88
|
+
if (unit.localName !== "ul" && unit.localName !== "ol") return undefined;
|
|
89
|
+
const list = listType(unit);
|
|
90
|
+
return walk(unit).map((block) => (block.type === "item" ? { list, ...block } : block));
|
|
91
|
+
}
|
|
92
|
+
const CLIPBOARDS = {
|
|
93
|
+
bullets: { kind: "bullet", read: readList, check, across },
|
|
94
|
+
numbers: {
|
|
95
|
+
kind: "number", read: readList, check, across,
|
|
96
|
+
// Its first number (a document's list that goes on after a block).
|
|
97
|
+
build({ block, box, inner }) {
|
|
98
|
+
const list = box();
|
|
99
|
+
list.append(...inner(block.blocks));
|
|
100
|
+
if (validStart(block.start)) list.setAttribute(START, block.start);
|
|
101
|
+
return list;
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
todo: { kind: "todo", read: readList, check, across },
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
// An li as a text block, in a list or a step written the short way: copied with what it holds after
|
|
108
|
+
// its text, and in part with what of that a selection reaches.
|
|
109
|
+
export function describeItem(node, { isHost, nestedBlocks, describe, serializeInner }) {
|
|
110
|
+
if (node.localName !== "li" || !isHost(node)) return undefined;
|
|
111
|
+
const lists = nestedBlocks(node).map(describe);
|
|
112
|
+
return lists.every(Boolean) ? { type: "item", html: serializeInner(node), ...(node.hasAttribute(CHECKED) ? { checked: true } : {}), lists } : null;
|
|
113
|
+
}
|
|
114
|
+
export const itemPiece = (host, html, { walk, groupItems }) => (host.localName === "li" ? { type: "item", html, ...(host.hasAttribute(CHECKED) ? { checked: true } : {}), lists: groupItems(walk(host)) } : undefined);
|
|
115
|
+
|
|
116
|
+
export default {
|
|
117
|
+
name: "list",
|
|
118
|
+
listed: () => t("列表"), hideable: false,
|
|
119
|
+
units: {
|
|
120
|
+
list: {
|
|
121
|
+
name: t("列表"), match: [{ rank: 150, tag: ["ul", "ol"] }],
|
|
122
|
+
attributes: { [START]: validStart, [CONTINUE]: (value) => value === "" },
|
|
123
|
+
toggles: [TODO], // 符号列表 and 待办事项 turn into each other by a class
|
|
124
|
+
emptyIsNothing: true,
|
|
125
|
+
canHaveChildren: true, // a block right after it goes under its last item (page.mjs keys.around)
|
|
126
|
+
clipboard: { of: (unit) => CLIPBOARDS[listType(unit)] },
|
|
127
|
+
},
|
|
128
|
+
// An item's color (颜色 in the block menu, notion-lite's): its text and its marker, or a
|
|
129
|
+
// background behind it, its marker and the items it holds.
|
|
130
|
+
// Outside a list, which a file may leave it, a page export has its words.
|
|
131
|
+
item: { name: t("列表项"), match: [{ rank: 160, tag: "li" }], fixed: true, emptyIsNothing: true, colors: ["text", "background"], attributes: { [CHECKED]: (value) => value === "" }, clipboard: { kind: "words" } },
|
|
132
|
+
},
|
|
133
|
+
boxes: {
|
|
134
|
+
list: { role: "list", name: t("列表") },
|
|
135
|
+
nest: { role: "nest", find: (unit) => unit.localName === "li" ? unit : null, selectAll: { content: t("这一项下面的全部内容") } }, // a list item holds blocks after its text
|
|
136
|
+
},
|
|
137
|
+
types: {
|
|
138
|
+
item: {
|
|
139
|
+
tag: "li", kind: "item", empty: true, placeholder: false, // its marker says what it is
|
|
140
|
+
// Copied with what it holds after its text (its lists, a paragraph, an image…) as `lists`; run
|
|
141
|
+
// of its own: a bulleted list, unless it carries its list's kind (`list`). A flowchart takes one
|
|
142
|
+
// from the clipboard, each made a node (a flowchart copied before its steps were nodes).
|
|
143
|
+
clipboard: {
|
|
144
|
+
html: "item", run: "bullets", pastedIn: "flowchart",
|
|
145
|
+
holds: (block) => block.lists ?? [],
|
|
146
|
+
describe: describeItem,
|
|
147
|
+
piece: itemPiece,
|
|
148
|
+
across: (unit, { walk }) => (unit.localName === "li" ? walk(unit) : undefined), // its own text comes before the start: what it holds
|
|
149
|
+
check: (block, { string, valid }) => string(block.html) && (block.checked === undefined || block.checked === true) && (block.list === undefined || LIST_TYPES.includes(block.list))
|
|
150
|
+
&& (block.lists ?? []).every((list) => valid(list, "nest")),
|
|
151
|
+
build({ block, host, inline, one }) {
|
|
152
|
+
const item = host();
|
|
153
|
+
if (block.checked) item.setAttribute(CHECKED, "");
|
|
154
|
+
item.append(...inline(block.html));
|
|
155
|
+
for (const list of block.lists ?? []) item.append(one(list));
|
|
156
|
+
return item;
|
|
157
|
+
},
|
|
158
|
+
text: (block, lines) => [block.html, ...(block.lists ?? []).flatMap((each) => lines([each]))],
|
|
159
|
+
},
|
|
160
|
+
},
|
|
161
|
+
bullets: {
|
|
162
|
+
turn: 7, menu: ["basic", 7],
|
|
163
|
+
tag: "ul", kind: "list", box: "list", leaf: "item", wraps: true, resettable: true, container: `ul:not(.${TODO})`, clipboard: CLIPBOARDS.bullets,
|
|
164
|
+
label: t("符号列表"),
|
|
165
|
+
icon: svg('<circle cx="4.75" cy="6.5" r="1.2" fill="currentColor" stroke="none"/><circle cx="4.75" cy="13.5" r="1.2" fill="currentColor" stroke="none"/><path d="M8.5 6.5h8M8.5 13.5h8"/>'),
|
|
166
|
+
hint: "-", markdown: [{ match: /^[-*+-•·][ \u00a0\u3000]$/ }], words: "符号列表 项目符号 无序列表 列表 fuhao liebiao wuxu fhlb lb bullet list ul",
|
|
167
|
+
glance: { row: 3, name: "符号列表", write: "`<ul>`", rule: "Text and lists" },
|
|
168
|
+
},
|
|
169
|
+
numbers: {
|
|
170
|
+
turn: 8, menu: ["basic", 8],
|
|
171
|
+
tag: "ol", kind: "list", box: "list", leaf: "item", wraps: true, resettable: true, container: `ol:not(.${FLOW})`, clipboard: CLIPBOARDS.numbers,
|
|
172
|
+
// A numbered list made on the page carries its first number (1 too: a list right after another
|
|
173
|
+
// with a start of its own, list/page.mjs) and whether it counts on.
|
|
174
|
+
extras: (element) => ({
|
|
175
|
+
...(validStart(element.getAttribute(START)) ? { start: element.getAttribute(START) } : {}),
|
|
176
|
+
...(element.hasAttribute(CONTINUE) ? { continue: true } : {}),
|
|
177
|
+
}),
|
|
178
|
+
label: t("编号列表"),
|
|
179
|
+
icon: svg('<path d="M3.6 4.35 4.9 3.6v4.15" stroke-width="1.1"/><path d="M3.55 12.4a1.25 1.25 0 0 1 2.4.35c0 .75-.6 1.2-2.45 2.75h2.6" stroke-width="1.1"/><path d="M8.75 6h7.75M8.75 13.75h7.75"/>'),
|
|
180
|
+
// "3. " begins the list at 3, "0. " at its first number.
|
|
181
|
+
hint: "1.", markdown: [{ match: /^(\d{1,9})[..。))][ \u00a0\u3000]$/, props: ([, number]) => (Number(number) > 0 ? { number: Number(number) } : {}) }], words: "编号列表 有序列表 列表 bianhao youxu liebiao bhlb lb numbered number list ol",
|
|
182
|
+
glance: { row: 3, name: "编号列表", write: "`<ol>` (`start`, `data-continue`)", rule: "Text and lists" },
|
|
183
|
+
},
|
|
184
|
+
todo: {
|
|
185
|
+
turn: 9, menu: ["basic", 9],
|
|
186
|
+
tag: "ul", className: TODO, kind: "list", box: "list", leaf: "item", wraps: true, resettable: true, container: `ul.${TODO}`, clipboard: CLIPBOARDS.todo,
|
|
187
|
+
label: t("待办事项"),
|
|
188
|
+
icon: svg('<rect x="3.5" y="4.75" width="4.25" height="4.25" rx="1"/><rect x="3.5" y="11" width="4.25" height="4.25" rx="1"/><path d="M10.5 6.875h6M10.5 13.125h6"/>'),
|
|
189
|
+
// Notion's: "[] ", "[ ] ", and "[x] " checked.
|
|
190
|
+
hint: "[]", markdown: [{ match: /^\[[xX]\][ \u00a0\u3000]$/, props: () => ({ checked: true }) }, { match: /^(\[ ?\]|【 ?】)[ \u00a0\u3000]$/ }], words: "待办事项 待办 清单 任务 勾选 复选框 daiban qingdan renwu dbsx db todo to-do checkbox checklist task",
|
|
191
|
+
glance: { row: 4, name: "待办事项", write: "`<ul><li><input type=\"checkbox\" checked> …`", after: "`ul.doc-todo`", rule: "Text and lists" },
|
|
192
|
+
},
|
|
193
|
+
},
|
|
194
|
+
};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { placeBefore } from "../../page/core.mjs";
|
|
2
|
+
import { FLOW_DIRECTION, START, listType } from "./index.mjs";
|
|
3
|
+
|
|
4
|
+
// Lists that a change sets side by side become one (notion-lite's numbers: consecutive numbered
|
|
5
|
+
// items are one run, counted from 1, view/frame/children.js; two bullet lists side by side are one
|
|
6
|
+
// list as well): the block between two lists deleted, cut, moved away, merged into the line above
|
|
7
|
+
// or turned into an item of one of them. Around a structural step (history.mjs struct, given
|
|
8
|
+
// tidyLists by editor.mjs): listsAround(parents) before it names the lists the step may set side
|
|
9
|
+
// by side, so the step records them, and the pairs side by side already, which stay as they are
|
|
10
|
+
// (a file may hold two lists written apart); joinSideBySide after it puts the second list of each
|
|
11
|
+
// new pair at the end of the first. A list with a start of its own (a number set, 开始新列表, a list begun by "5. ") stays a
|
|
12
|
+
// list of its own, as notion-lite's run with a start index; so does a flowchart laid out otherwise
|
|
13
|
+
// than the one before it (data-direction: its author's layout of the whole, none or another).
|
|
14
|
+
|
|
15
|
+
const isList = (node) => node?.localName === "ul" || node?.localName === "ol";
|
|
16
|
+
// A list the page may take apart: a box nothing refers to, made on the page or holding only blocks.
|
|
17
|
+
const free = (list) => list.hasAttribute("data-ge-box") && !list.hasAttribute("data-ge-keep") && (list.hasAttribute("data-ge-new") || list.hasAttribute("data-ge-pure"));
|
|
18
|
+
const listsIn = (flow) => [...flow.children].filter(isList);
|
|
19
|
+
// The block after a list, past the editor's own nodes (data-doc-dev).
|
|
20
|
+
const after = (node) => {
|
|
21
|
+
let next = node.nextElementSibling;
|
|
22
|
+
while (next?.hasAttribute("data-doc-dev")) next = next.nextElementSibling;
|
|
23
|
+
return next;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
/** The lists right in the flows a step changes, and the pairs of them side by side before it. */
|
|
27
|
+
export function listsAround(parents) {
|
|
28
|
+
const flows = [...new Set(parents.filter((node) => node?.nodeType === 1))];
|
|
29
|
+
const lists = flows.flatMap(listsIn);
|
|
30
|
+
return { flows, lists, before: new Map(lists.filter((list) => isList(after(list))).map((list) => [list, after(list)])) };
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/** Whether a list takes the one after it in: of its type, both free, the second with no start of its own (two flowcharts: laid out alike). */
|
|
34
|
+
export const joins = (list, next) => listType(list) === listType(next) && free(list) && free(next) && !next.hasAttribute(START)
|
|
35
|
+
&& (listType(list) !== "flowchart" || list.getAttribute(FLOW_DIRECTION) === next.getAttribute(FLOW_DIRECTION));
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Join the lists a step set side by side (listsAround before it), but those the step made (`created`:
|
|
39
|
+
* an item's lists set out after it as it turns into text, the items after it split off from them:
|
|
40
|
+
* notion-lite keeps the first under the text, the second a run of its own). Returns the lists that
|
|
41
|
+
* took others in, each with the nodes it held before them: [list, nodes].
|
|
42
|
+
*/
|
|
43
|
+
export function joinSideBySide({ flows, before }, created = []) {
|
|
44
|
+
const made = new Set(created);
|
|
45
|
+
const grown = new Map();
|
|
46
|
+
for (const flow of flows) {
|
|
47
|
+
if (!flow.isConnected) continue;
|
|
48
|
+
for (let list = flow.firstElementChild; list; list = list.nextElementSibling) {
|
|
49
|
+
for (let next = after(list); isList(list) && isList(next) && before.get(list) !== next && !made.has(list) && !made.has(next) && joins(list, next); next = after(list)) {
|
|
50
|
+
if (!grown.has(list)) grown.set(list, [...list.childNodes]);
|
|
51
|
+
placeBefore(list, [...next.children].filter((child) => child.localName === "li"), null);
|
|
52
|
+
next.remove();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return [...grown];
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* What a structural step (history.mjs) does around lists, as a tidier: the lists of the flows it
|
|
61
|
+
* changes are recorded with it, and the lists it set side by side are joined after it (but those
|
|
62
|
+
* the step made: `created`). A list the step brought there (one pasted or moved) is recorded by what
|
|
63
|
+
* it took in (`grown`).
|
|
64
|
+
*/
|
|
65
|
+
export function tidyLists(parents) {
|
|
66
|
+
const around = listsAround(parents);
|
|
67
|
+
return { parents: around.lists, settle: ({ created }) => ({ grown: joinSideBySide(around, created) }) };
|
|
68
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { CONTINUE, START, listType } from "./index.mjs";
|
|
2
|
+
|
|
3
|
+
// A numbered list's numbers as the kit shows them (src/render/kit/styles/flow.css): from its start
|
|
4
|
+
// (1 without one), an item's value counting on from it; 1., a., i. by depth. A list that continues
|
|
5
|
+
// the numbered list before it in its flow (data-continue, Feishu's 继续之前的编号: other blocks
|
|
6
|
+
// between are skipped) starts at that list's last number + 1, which the editor writes as its start
|
|
7
|
+
// and keeps in step (keepContinuing). Pure functions of the page's lists.
|
|
8
|
+
|
|
9
|
+
const FORMATS = ["decimal", "lower-alpha", "lower-roman"];
|
|
10
|
+
const isItem = (node) => node?.localName === "li";
|
|
11
|
+
|
|
12
|
+
/** How deep a list is: 1 for a list standing in a flow, 2 for one an item holds, and so on. */
|
|
13
|
+
export function depthOf(list) {
|
|
14
|
+
let depth = 1;
|
|
15
|
+
for (let item = list.parentElement?.closest("li"); item; item = item.parentElement?.closest("li")) depth++;
|
|
16
|
+
return depth;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/** How a list at its depth writes its numbers: decimal, lower-alpha or lower-roman. */
|
|
20
|
+
export const formatOf = (list) => FORMATS[(depthOf(list) - 1) % 3];
|
|
21
|
+
|
|
22
|
+
/** The number a numbered list starts at. */
|
|
23
|
+
export function firstNumber(list) {
|
|
24
|
+
const start = Number.parseInt(list.getAttribute(START) ?? "", 10);
|
|
25
|
+
return Number.isNaN(start) ? 1 : start;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/** The numbers a numbered list's items show, in order. */
|
|
29
|
+
export function numbersOf(list) {
|
|
30
|
+
let next = firstNumber(list);
|
|
31
|
+
return [...list.children].filter(isItem).map((item) => {
|
|
32
|
+
const value = Number.parseInt(item.getAttribute("value") ?? "", 10);
|
|
33
|
+
if (!Number.isNaN(value)) next = value;
|
|
34
|
+
return next++;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/** The number an item of a numbered list shows. */
|
|
39
|
+
export const numberOf = (item) => numbersOf(item.parentElement)[[...item.parentElement.children].filter(isItem).indexOf(item)];
|
|
40
|
+
|
|
41
|
+
/** The numbered list before a list in its flow (other blocks between skipped, a 流程图 among them), or null. */
|
|
42
|
+
export function previousList(list) {
|
|
43
|
+
for (let node = list.previousElementSibling; node; node = node.previousElementSibling) if (node.localName === "ol" && listType(node) === "numbers") return node;
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/** The number a list continuing the numbered list before it starts at, or null when there is none. */
|
|
48
|
+
export function continuation(list) {
|
|
49
|
+
const previous = previousList(list);
|
|
50
|
+
if (!previous) return null;
|
|
51
|
+
const numbers = numbersOf(previous);
|
|
52
|
+
return numbers.length > 0 ? numbers.at(-1) + 1 : firstNumber(previous);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/** A list's start as written for a number: none for 1. */
|
|
56
|
+
export const startFor = (number) => (number === 1 ? null : String(number));
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* The numbered lists of `root` that continue the one before them, their starts brought in step (in
|
|
60
|
+
* page order, as each may follow another such list). Returns whether one changed.
|
|
61
|
+
*/
|
|
62
|
+
export function keepContinuing(root) {
|
|
63
|
+
let changed = false;
|
|
64
|
+
for (const list of root.querySelectorAll(`ol[${CONTINUE}]`)) {
|
|
65
|
+
const start = startFor(continuation(list) ?? 1);
|
|
66
|
+
if (list.getAttribute(START) === start) continue;
|
|
67
|
+
if (start === null) list.removeAttribute(START);
|
|
68
|
+
else list.setAttribute(START, start);
|
|
69
|
+
changed = true;
|
|
70
|
+
}
|
|
71
|
+
return changed;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// ---------- numbers written as a depth writes them ----------
|
|
75
|
+
|
|
76
|
+
const ROMAN = [[1000, "m"], [900, "cm"], [500, "d"], [400, "cd"], [100, "c"], [90, "xc"], [50, "l"], [40, "xl"], [10, "x"], [9, "ix"], [5, "v"], [4, "iv"], [1, "i"]];
|
|
77
|
+
|
|
78
|
+
/** A number as a format writes it: 3, c (bijective: z, aa), iii (decimal past 3999, as the browser does). */
|
|
79
|
+
export function formatNumber(number, format) {
|
|
80
|
+
if (format === "lower-alpha" && number > 0) {
|
|
81
|
+
let text = "";
|
|
82
|
+
for (let rest = number; rest > 0; rest = Math.floor((rest - 1) / 26)) text = String.fromCharCode(97 + ((rest - 1) % 26)) + text;
|
|
83
|
+
return text;
|
|
84
|
+
}
|
|
85
|
+
if (format === "lower-roman" && number > 0 && number < 4000) {
|
|
86
|
+
let text = "";
|
|
87
|
+
let rest = number;
|
|
88
|
+
for (const [value, letters] of ROMAN) for (; rest >= value; rest -= value) text += letters;
|
|
89
|
+
return text;
|
|
90
|
+
}
|
|
91
|
+
return String(number);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/** A number typed as a format writes it (or in digits), or NaN. */
|
|
95
|
+
export function parseNumber(text, format) {
|
|
96
|
+
const typed = String(text ?? "").trim().toLowerCase();
|
|
97
|
+
if (/^\d+$/.test(typed)) return Number(typed);
|
|
98
|
+
if (format === "lower-alpha" && /^[a-z]+$/.test(typed)) return [...typed].reduce((sum, letter) => sum * 26 + letter.charCodeAt(0) - 96, 0);
|
|
99
|
+
if (format === "lower-roman" && /^[ivxlcdm]+$/.test(typed)) {
|
|
100
|
+
const values = { i: 1, v: 5, x: 10, l: 50, c: 100, d: 500, m: 1000 };
|
|
101
|
+
return [...typed].reduce((sum, letter, index) => {
|
|
102
|
+
const value = values[letter];
|
|
103
|
+
return values[typed[index + 1]] > value ? sum - value : sum + value;
|
|
104
|
+
}, 0);
|
|
105
|
+
}
|
|
106
|
+
return Number.NaN;
|
|
107
|
+
}
|