@heycys/gallery 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +50 -2
- package/THIRD-PARTY-NOTICES.md +3253 -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 +39 -0
- package/browser/editor/components/callout/page.mjs +13 -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 +297 -0
- package/browser/editor/components/details/index.mjs +72 -0
- package/browser/editor/components/details/page.mjs +86 -0
- package/browser/editor/components/dialog/index.mjs +83 -0
- package/browser/editor/components/dialog/page.mjs +219 -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 +33 -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 +51 -0
- package/browser/editor/components/highlight/index.mjs +79 -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 +45 -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 +133 -0
- package/browser/editor/components/installed/page.mjs +422 -0
- package/browser/editor/components/installed/served.mjs +35 -0
- package/browser/editor/components/kit.mjs +64 -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 +162 -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 +833 -0
- package/browser/editor/components/rows.mjs +16 -0
- package/browser/editor/components/section/index.mjs +41 -0
- package/browser/editor/components/section/page.mjs +141 -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 +306 -0
- package/browser/editor/components/table/page.mjs +672 -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 +229 -0
- package/browser/editor/page/annotate/card.mjs +102 -0
- package/browser/editor/page/annotate/index.mjs +1629 -0
- package/browser/editor/page/at-menu/index.mjs +317 -0
- package/browser/editor/page/autosave.mjs +977 -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 +82 -0
- package/browser/editor/page/block-menu/index.mjs +215 -0
- package/browser/editor/page/blocks.mjs +246 -0
- package/browser/editor/page/caret.mjs +679 -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 +797 -0
- package/browser/editor/page/clipboard/own/blocks.mjs +202 -0
- package/browser/editor/page/clipboard/own/chart-keys.mjs +58 -0
- package/browser/editor/page/clipboard/own/describe.mjs +115 -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 +326 -0
- package/browser/editor/page/columns/index.mjs +360 -0
- package/browser/editor/page/commit.mjs +1798 -0
- package/browser/editor/page/conflicts.mjs +269 -0
- package/browser/editor/page/convert.mjs +830 -0
- package/browser/editor/page/core.mjs +1655 -0
- package/browser/editor/page/drag/drop.mjs +307 -0
- package/browser/editor/page/drag/index.mjs +335 -0
- package/browser/editor/page/drag/preview.mjs +121 -0
- package/browser/editor/page/edge-scroll.mjs +50 -0
- package/browser/editor/page/editor.mjs +1725 -0
- package/browser/editor/page/emoji-picker/emoji-tab.mjs +278 -0
- package/browser/editor/page/emoji-picker/glyph-html.mjs +26 -0
- package/browser/editor/page/emoji-picker/grid.mjs +79 -0
- package/browser/editor/page/emoji-picker/icon-tab.mjs +217 -0
- package/browser/editor/page/emoji-picker/icons.mjs +32 -0
- package/browser/editor/page/emoji-picker/index.mjs +164 -0
- package/browser/editor/page/emoji-picker/styles.mjs +2 -0
- package/browser/editor/page/emoji-picker/support.mjs +202 -0
- package/browser/editor/page/emoji-picker/upload.mjs +235 -0
- package/browser/editor/page/export-report.mjs +23 -0
- package/browser/editor/page/fills.mjs +60 -0
- package/browser/editor/page/find/index.mjs +107 -0
- package/browser/editor/page/flags.mjs +70 -0
- package/browser/editor/page/format-bar/bar.mjs +448 -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 +400 -0
- package/browser/editor/page/gesture.mjs +45 -0
- package/browser/editor/page/handle/index.mjs +639 -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 +243 -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/look.mjs +65 -0
- package/browser/editor/page/made.mjs +24 -0
- package/browser/editor/page/margin.mjs +352 -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 +500 -0
- package/browser/editor/page/merge.mjs +100 -0
- package/browser/editor/page/notices.mjs +142 -0
- package/browser/editor/page/offered.mjs +32 -0
- package/browser/editor/page/outline/folds.mjs +52 -0
- package/browser/editor/page/outline/index.mjs +697 -0
- package/browser/editor/page/outline/list.mjs +172 -0
- package/browser/editor/page/outline/read.mjs +201 -0
- package/browser/editor/page/outline/strip.mjs +281 -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 +64 -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 +59 -0
- package/browser/editor/page/selection/index.mjs +157 -0
- package/browser/editor/page/selection/marquee.mjs +174 -0
- package/browser/editor/page/session.mjs +117 -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 +138 -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 +985 -0
- package/browser/editor/page/table/lists.mjs +187 -0
- package/browser/editor/page/table/widths.mjs +308 -0
- package/browser/editor/page/tex.mjs +32 -0
- package/browser/editor/page/text-select/index.mjs +656 -0
- package/browser/editor/page/tooltip.mjs +98 -0
- package/browser/editor/page/type-grid.mjs +82 -0
- package/browser/editor/page/typing/code-edges.mjs +228 -0
- package/browser/editor/page/typing/index.mjs +276 -0
- package/browser/editor/page/typing/leave.mjs +68 -0
- package/browser/editor/page/ui.mjs +160 -0
- package/browser/shared/annotations.mjs +571 -0
- package/browser/shared/code-folds.mjs +10 -0
- package/browser/shared/code-languages.mjs +70 -0
- package/browser/shared/code-lines.mjs +30 -0
- package/browser/shared/colors.mjs +28 -0
- package/browser/shared/component-catalog.mjs +559 -0
- package/browser/shared/components/bookmark.mjs +26 -0
- package/browser/shared/components/callout.mjs +7 -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 +342 -0
- package/browser/shared/components/installed.mjs +162 -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 +37 -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/emoji/custom.mjs +91 -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 +26 -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 +196 -0
- package/browser/shared/emoji/emoji.mjs +37 -0
- package/browser/shared/emoji/glyphs.mjs +134 -0
- package/browser/shared/emoji/icon-value.mjs +90 -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 +53 -0
- package/browser/shared/http.mjs +22 -0
- package/browser/shared/i18n/en.mjs +1164 -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/media.mjs +162 -0
- package/browser/shared/new-names.mjs +64 -0
- package/browser/shared/number-reading.mjs +92 -0
- package/browser/shared/old-names.mjs +143 -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 +110 -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 +76 -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.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-2PBALTR3.mjs +57 -0
- package/dist/chunk-342HXE3Q.mjs +2 -0
- package/dist/chunk-3LA3EMDE.mjs +15 -0
- package/dist/chunk-43B75J5T.mjs +2 -0
- package/dist/chunk-4K5KC6V2.mjs +2 -0
- package/dist/chunk-5FRMCDPY.mjs +16 -0
- package/dist/chunk-5L7RYZCL.mjs +2 -0
- package/dist/chunk-5LEK2CBS.mjs +2 -0
- package/dist/chunk-5OFN5AHC.mjs +2 -0
- package/dist/chunk-5SIYS5HN.mjs +2 -0
- package/dist/chunk-5TEK3RAD.mjs +2 -0
- package/dist/chunk-6CYG3Z4V.mjs +2 -0
- package/dist/chunk-6U2SLSDN.mjs +3 -0
- package/dist/chunk-742D2WWJ.mjs +19 -0
- package/dist/chunk-7GHT2UCA.mjs +15 -0
- package/dist/chunk-7QQBR7PB.mjs +2 -0
- package/dist/chunk-A55HN5OK.mjs +2 -0
- package/dist/chunk-ACOPDCNB.mjs +2 -0
- package/dist/chunk-AGDILNWB.mjs +2 -0
- package/dist/chunk-ATCJYAR4.mjs +2 -0
- package/dist/chunk-B3VTYBYR.mjs +960 -0
- package/dist/chunk-C564NU2H.mjs +77 -0
- package/dist/chunk-C7HWOBIF.mjs +2 -0
- package/dist/chunk-DB4WKGYF.mjs +7 -0
- package/dist/chunk-E7VYDG2X.mjs +2 -0
- package/dist/chunk-EUX7IC5J.mjs +48 -0
- package/dist/chunk-EVJ3BX3M.mjs +2 -0
- package/dist/chunk-EZY3WC6Z.mjs +15 -0
- package/dist/chunk-FQGQH4KM.mjs +2 -0
- package/dist/chunk-G7TOXONE.mjs +6 -0
- package/dist/chunk-GPF4YWWB.mjs +9 -0
- package/dist/chunk-GRAXKKG4.mjs +2 -0
- package/dist/chunk-GYQV7Y4J.mjs +120 -0
- package/dist/chunk-HMHK3EQ6.mjs +2 -0
- package/dist/chunk-HQQMJCQJ.mjs +10 -0
- package/dist/chunk-HYMEEXKN.mjs +4 -0
- package/dist/chunk-IERUOGC3.mjs +6 -0
- package/dist/chunk-ITNLYXXV.mjs +3 -0
- package/dist/chunk-L4DVONOG.mjs +2 -0
- package/dist/chunk-LAE5NQ4B.mjs +2 -0
- package/dist/chunk-LC7YNQFG.mjs +2 -0
- package/dist/chunk-LHTFLRB6.mjs +4 -0
- package/dist/chunk-LKX55H76.mjs +2 -0
- package/dist/chunk-MAFIGVXY.mjs +2 -0
- package/dist/chunk-NFIBI4IP.mjs +26 -0
- package/dist/chunk-NSKUTQ5J.mjs +5 -0
- package/dist/chunk-O52JMOCZ.mjs +2 -0
- package/dist/chunk-P2CAZPDP.mjs +3 -0
- package/dist/chunk-QAIHRH3I.mjs +13 -0
- package/dist/chunk-QMQUXTU4.mjs +12 -0
- package/dist/chunk-QR6A54KJ.mjs +3 -0
- package/dist/chunk-QVWVFC5K.mjs +6 -0
- package/dist/chunk-QYKCJ7FG.mjs +8 -0
- package/dist/chunk-QZY6Q64C.mjs +2 -0
- package/dist/chunk-TDQP3DKQ.mjs +10 -0
- package/dist/chunk-TMYZB6AV.mjs +2 -0
- package/dist/chunk-TX6JH7TR.mjs +2 -0
- package/dist/chunk-U3SSPL4K.mjs +8 -0
- package/dist/chunk-UH4SIXTR.mjs +2 -0
- package/dist/chunk-UNUEWH4S.mjs +2 -0
- package/dist/chunk-UXUK4PMC.mjs +27 -0
- package/dist/chunk-V4CPWKMZ.mjs +2 -0
- package/dist/chunk-V6XZ4VIR.mjs +2 -0
- package/dist/chunk-VACRB2NE.mjs +3 -0
- package/dist/chunk-W63L7367.mjs +7 -0
- package/dist/chunk-W7CXPCRV.mjs +6 -0
- package/dist/chunk-W7XHE4CT.mjs +2 -0
- package/dist/chunk-XINNG4F2.mjs +4 -0
- package/dist/chunk-Y34NR5JL.mjs +2 -0
- package/dist/chunk-YEY3RSFQ.mjs +2 -0
- package/dist/chunk-YL2DPWVS.mjs +4 -0
- package/dist/chunk-YXAUQPVK.mjs +8 -0
- package/dist/chunk-YZ5Z6H4W.mjs +4 -0
- package/dist/chunk-Z52HTUW7.mjs +4 -0
- package/dist/chunk-ZBIM6ARY.mjs +216 -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 +1988 -0
- package/kit/report.css +2821 -0
- package/kit/runtime.js +1707 -0
- package/kit/sheets.js +123 -0
- package/kit/state.js +217 -0
- package/kit/tables.js +1449 -0
- package/kit/tokens.js +29 -0
- package/kit/ui.js +561 -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 +141 -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 +138 -0
- package/skill/agents/openai.yaml +5 -0
- package/skill/references/building-components.md +327 -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 +141 -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-B6Ai3wsa.js +13 -0
- package/web/assets/index-SYPC3EZy.css +1 -0
- package/web/index.html +14 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { MEDIA_CLASS } from "../../../shared/components/index.mjs";
|
|
2
|
+
|
|
3
|
+
// What the four media blocks' writers (each component's file.mjs, the server's: source/) share when
|
|
4
|
+
// a new block is written into report.html.
|
|
5
|
+
|
|
6
|
+
/** A media block `id` left empty (the page editor's placeholder): an empty figure, shown to no reader. */
|
|
7
|
+
export const emptyFigure = (id, w) => `<figure class="${MEDIA_CLASS[id]}"${w.id}></figure>`;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { create as bookmark } from "./bookmark/page.mjs";
|
|
2
|
+
import { create as callout } from "./callout/page.mjs";
|
|
3
|
+
import { create as code } from "./code/page.mjs";
|
|
4
|
+
import { create as columns } from "./columns/page.mjs";
|
|
5
|
+
import { create as details } from "./details/page.mjs";
|
|
6
|
+
import { create as dialog } from "./dialog/page.mjs";
|
|
7
|
+
import { create as embed } from "./embed/page.mjs";
|
|
8
|
+
import { create as figure } from "./figure/page.mjs";
|
|
9
|
+
import { create as file } from "./file/page.mjs";
|
|
10
|
+
import { create as flowchart } from "./flowchart/page.mjs";
|
|
11
|
+
import { create as nodeAdder } from "./flowchart/add.mjs";
|
|
12
|
+
import { create as icon } from "./icon/page.mjs";
|
|
13
|
+
import { create as image } from "./image/page.mjs";
|
|
14
|
+
import { create as installed } from "./installed/page.mjs";
|
|
15
|
+
import { create as list } from "./list/page.mjs";
|
|
16
|
+
import { create as math } from "./math/page.mjs";
|
|
17
|
+
import { create as media } from "./media/page.mjs";
|
|
18
|
+
import { create as paragraph } from "./paragraph/page.mjs";
|
|
19
|
+
import { create as section } from "./section/page.mjs";
|
|
20
|
+
import { create as sheets } from "./sheets/page.mjs";
|
|
21
|
+
import { create as sheetPills } from "./sheets/pills.mjs";
|
|
22
|
+
import { create as table } from "./table/page.mjs";
|
|
23
|
+
|
|
24
|
+
// The components' page modules (src/editor/components/<name>/page.mjs), the browser's counterpart of
|
|
25
|
+
// registry.mjs: the one place that imports them to make them, so that src/editor/page/editor.mjs
|
|
26
|
+
// names none. Only the page loads this file, the server never (registry.mjs is what both load).
|
|
27
|
+
//
|
|
28
|
+
// The order is the order they are made in, and it counts: each one's styles go into the page and its
|
|
29
|
+
// listeners onto the document as it is made, and media comes before the four blocks made of its
|
|
30
|
+
// parts (block(id)). It is also the order they are asked in where every one is: the columns tidy
|
|
31
|
+
// before the lists (`tidy`), an image takes a pasted file before a file block does (`acceptsFile`).
|
|
32
|
+
const PAGES = { columns, code, list, flowchart, nodeAdder, details, dialog, callout, paragraph, section, icon, sheets, sheetPills, figure, media, image, file, bookmark, embed, math, table, installed };
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Every component's page object, by its component's name (and the flowchart's "+", nodeAdder, and a
|
|
36
|
+
* Sheet's tabs as pills, sheetPills, modules of their own: flowchart/add.mjs, sheets/pills.mjs): each page module's create(ctx), all with the one `ctx` the
|
|
37
|
+
* editor builds, plus `ctx.pages`: these page objects, as they are made. What one component needs of
|
|
38
|
+
* another it reads from there when it uses it, never by an import; a page object made later is there
|
|
39
|
+
* by then.
|
|
40
|
+
*/
|
|
41
|
+
export function createPages(ctx) {
|
|
42
|
+
const pages = {};
|
|
43
|
+
const given = { ...ctx, pages };
|
|
44
|
+
for (const [name, create] of Object.entries(PAGES)) pages[name] = create(given);
|
|
45
|
+
return pages;
|
|
46
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { svg } from "../icons.mjs";
|
|
2
|
+
import { PARAGRAPH, classOf } from "../kit.mjs";
|
|
3
|
+
import { t } from "../../../shared/i18n/index.mjs";
|
|
4
|
+
|
|
5
|
+
// 文本 and 小字: the plain text blocks. A paragraph is the editor's default block: Enter makes one,
|
|
6
|
+
// an emptied list item or quote paragraph becomes one, a click below the last block starts one.
|
|
7
|
+
// 小字 is the kit's .doc-note. Being the
|
|
8
|
+
// default, a paragraph is the engines' own: core.mjs (newHost, splitBlock), insert/
|
|
9
|
+
// (paragraphBefore, newParagraph, clickBlank), convert.mjs (typeOf tells 小字 from text), clipboard/own/
|
|
10
|
+
// (a text block's description is the engine's own, and a block that says no kind is written as a paragraph).
|
|
11
|
+
// Its color (颜色 in the block menu): class switches, colors.mjs.
|
|
12
|
+
// Its look: the kit's styles/flow.css (src/render/kit/).
|
|
13
|
+
/** The class of small text's end part (the page editor's Tab), a span at the line's right end (the kit's styles/flow.css). */
|
|
14
|
+
export const TAB = classOf(PARAGRAPH.tail);
|
|
15
|
+
|
|
16
|
+
/** Small text: a p of the kit's .doc-note. The one place that knows it. */
|
|
17
|
+
export const isNote = (element) => element.localName === "p" && element.classList.contains("doc-note");
|
|
18
|
+
|
|
19
|
+
/** Whether a span is small text's end part (what the Tab key makes). */
|
|
20
|
+
export const isNoteTab = (node) => node.localName === "span" && node.classList.contains(TAB) && Boolean(node.parentElement && isNote(node.parentElement));
|
|
21
|
+
|
|
22
|
+
export default {
|
|
23
|
+
name: "paragraph",
|
|
24
|
+
listed: () => t("文本"), hideable: false,
|
|
25
|
+
units: {
|
|
26
|
+
paragraph: { name: t("文本"), match: [{ rank: 180, tag: "p" }], colors: ["text", "background"], emptyIsNothing: true, fromWords: true },
|
|
27
|
+
},
|
|
28
|
+
types: {
|
|
29
|
+
paragraph: {
|
|
30
|
+
turn: 1, menu: ["basic", 1],
|
|
31
|
+
tag: "p", kind: "paragraph", leaf: "paragraph", text: true, empty: true,
|
|
32
|
+
label: t("文本"), icon: svg('<path d="M4.75 5.5V4.25h10.5V5.5M10 4.25v11.5M8.25 15.75h3.5"/>'), words: "文本 正文 段落 wenben zhengwen duanluo wb zw dl text paragraph p",
|
|
33
|
+
glance: { row: 2, name: "文本", write: "`<p>`", rule: "Text and lists" },
|
|
34
|
+
},
|
|
35
|
+
note: { // 小字: a brief label, unit or scope note
|
|
36
|
+
turn: 2, menu: ["basic", 2],
|
|
37
|
+
tag: "p", className: "doc-note", kind: "paragraph", leaf: "note", text: true, empty: true,
|
|
38
|
+
corner: "paragraph", // seldom picked: the gray corner of 文本's cell (type-grid.mjs), so 文本 and the headings fill one line
|
|
39
|
+
label: t("小字"), icon: svg('<path d="M6.25 8.5v-.9h7.5v.9M10 7.6v8.15M8.75 15.75h2.5"/>'), words: "小字 注释 说明 备注 标注 xiaozi zhushi shuoming beizhu xz zs sm note small caption",
|
|
40
|
+
glance: { row: 11, name: "小字", write: "`<p class=\"doc-note\">`, `span.doc-tab` at its right", rule: "Kit blocks" },
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { select } from "../../page/caret.mjs";
|
|
2
|
+
import { padCaret } from "../../page/pads.mjs";
|
|
3
|
+
import { TAB, isNote } from "./index.mjs";
|
|
4
|
+
|
|
5
|
+
// 小字's Tab (small text: isNote): what follows the caret stands at the line's right end, a
|
|
6
|
+
// span.doc-tab the kit floats there (styles/flow.css), as a line of scope on the left and unit
|
|
7
|
+
// on the right; Tab before one puts the words up to it into it too. Shift+Tab, or Tab with the
|
|
8
|
+
// caret in that end part, puts its words back after the words before it.
|
|
9
|
+
|
|
10
|
+
/** Tab (`back`: Shift+Tab) in small text `host`. Returns whether it changed (the caller records it). */
|
|
11
|
+
function noteTab(host, back) {
|
|
12
|
+
const selection = getSelection();
|
|
13
|
+
if (!selection.rangeCount || !host.contains(selection.anchorNode)) return false;
|
|
14
|
+
const tab = host.querySelector(`:scope > span.${TAB}`);
|
|
15
|
+
const range = selection.getRangeAt(0);
|
|
16
|
+
if (back || tab?.contains(range.startContainer)) {
|
|
17
|
+
if (!tab) return false;
|
|
18
|
+
// Its words back where it stood, the caret where they begin.
|
|
19
|
+
const mark = document.createTextNode("");
|
|
20
|
+
tab.before(mark);
|
|
21
|
+
tab.replaceWith(...tab.childNodes);
|
|
22
|
+
const caret = document.createRange();
|
|
23
|
+
caret.setStartAfter(mark);
|
|
24
|
+
mark.remove();
|
|
25
|
+
select(caret);
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
// The words from the caret to the end part (or the line's end) go to the right.
|
|
29
|
+
const rest = document.createRange();
|
|
30
|
+
rest.setStart(range.startContainer, range.startOffset);
|
|
31
|
+
if (tab) rest.setEndBefore(tab);
|
|
32
|
+
else rest.setEnd(host, host.childNodes.length);
|
|
33
|
+
const words = rest.extractContents();
|
|
34
|
+
const span = tab ?? Object.assign(document.createElement("span"), { className: TAB });
|
|
35
|
+
span.prepend(words);
|
|
36
|
+
if (!tab) host.append(span);
|
|
37
|
+
padCaret(span, "start");
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/** Small text's keys (`keys`), with what the editor gives it: recordText (one step of typing). */
|
|
42
|
+
export function create({ recordText }) {
|
|
43
|
+
return {
|
|
44
|
+
keys: {
|
|
45
|
+
tab({ host }, back) {
|
|
46
|
+
if (!isNote(host)) return false;
|
|
47
|
+
if (noteTab(host, back)) recordText(host);
|
|
48
|
+
return true;
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// The gray bar of a media block left empty (图片, 文件, 网页书签, 嵌入): its markup and its class, spelled
|
|
2
|
+
// once, from the class of the block it stands in ("doc-image" has "ge-image-empty"). Its look is
|
|
3
|
+
// placeholder.mjs's, one for all of them; each component's index.mjs says its icon and its words. Code that
|
|
4
|
+
// finds a bar names its class with barClass too, never by writing .ge-image-empty and the like out.
|
|
5
|
+
|
|
6
|
+
/** The class of the bar in a block of class `block`. */
|
|
7
|
+
export const barClass = (block) => `${block.replace("doc-", "ge-")}-empty`;
|
|
8
|
+
|
|
9
|
+
/** The bar as markup: `icon` (an svg) and `words`. */
|
|
10
|
+
export const barMarkup = (block, icon, words) => `<div class="${barClass(block)}" data-doc-dev role="button">${icon}<span>${words}</span></div>`;
|
|
11
|
+
|
|
12
|
+
/** A bar of this markup made in `doc`. */
|
|
13
|
+
export function barElement(doc, markup) {
|
|
14
|
+
const holder = doc.createElement("template");
|
|
15
|
+
holder.innerHTML = markup;
|
|
16
|
+
return holder.content.firstElementChild;
|
|
17
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { MEDIA_BLOCKS, MEDIA_CLASS } from "../../shared/components/index.mjs";
|
|
2
|
+
import { MENTION_PAGE } from "../../shared/components/mention.mjs";
|
|
3
|
+
import { FORMULA_ICON, LINK_ICON, PAGE_ICON } from "./icons.mjs";
|
|
4
|
+
import { BLOCK_TYPES } from "./registry.mjs";
|
|
5
|
+
import { TEX_LOGO } from "./math/tex-logo.mjs";
|
|
6
|
+
import { barClass } from "./placeholder-bar.mjs";
|
|
7
|
+
import { inLanguage, t } from "../../shared/i18n/index.mjs";
|
|
8
|
+
|
|
9
|
+
// What a block or an inline atom left empty shows while the page is edited, to be filled later
|
|
10
|
+
// (docs/editor.md, "Empty blocks"); the file has the empty block, which no reader sees:
|
|
11
|
+
//
|
|
12
|
+
// - 图片, 文件, 网页书签 and 嵌入 hold a gray bar (Notion's media placeholder, 605415: each
|
|
13
|
+
// media type's `bar`), a 公式块 is one itself (an empty .doc-math-block, its TeX mark and
|
|
14
|
+
// words drawn before and after it; notion-lite blocks/equation). One look for all five, whatever
|
|
15
|
+
// the block is once filled: the media gap above and below, the bar 12px in (36px at its end), its
|
|
16
|
+
// icon 25px wide and 12px before its words, 14px gray words, corners of 10px, tinted under the
|
|
17
|
+
// pointer; what the editor draws over it (a selected block's fill, overlay-layer.mjs) 6px past
|
|
18
|
+
// it, its corners 16px.
|
|
19
|
+
// - An inline formula, link or page block left empty (data-ge-empty "formula", "link" or "page":
|
|
20
|
+
// \(\), an empty <a class="doc-link-mention">, with data-doc-page for a page block) is a gray chip in the text, its icon and its name inside it
|
|
21
|
+
// (Notion's empty formula, 177540: √x 新公式), so that the browser keeps a caret beside it and
|
|
22
|
+
// deletes it as it does a formula; tinted blue while its box or card is open, red while a
|
|
23
|
+
// formula there does not read (√x 无效的公式). A formula left so, its TeX in the file as typed,
|
|
24
|
+
// is the same gray chip with those words, and a formula block left so its gray bar.
|
|
25
|
+
//
|
|
26
|
+
// All of it is there from the first paint, not once the editor has started: the server serves the
|
|
27
|
+
// page so (showEmpty, in the page's own markup) and this look in its head (EMPTY_STYLE: service.mjs
|
|
28
|
+
// preview), and the editor makes the same markup for what becomes empty on the page. Their words are
|
|
29
|
+
// the UI's language's: the server, which does not know it (the reader's browser keeps it), serves
|
|
30
|
+
// them in Chinese, and the page's first script (emptyWordsScript, in its head) says them again in
|
|
31
|
+
// English before the page shows when its root says the UI is English (data-ge-language, src/shared/
|
|
32
|
+
// i18n languageScript); the look's words (a formula block's) are in both, the root choosing.
|
|
33
|
+
|
|
34
|
+
/** The media blocks' bars (the `bar` of each one's type), by the class of their figure: each its markup, its words in the language t() says them in. */
|
|
35
|
+
export const MEDIA_BARS = Object.defineProperties({}, Object.fromEntries(MEDIA_BLOCKS.filter((id) => BLOCK_TYPES[id]).map((id) => [MEDIA_CLASS[id], { enumerable: true, get: () => BLOCK_TYPES[id].bar() }])));
|
|
36
|
+
const EMPTY_MEDIA = new RegExp(`<figure class="(${Object.keys(MEDIA_BARS).join("|")})"([^>]*)>\\s*</figure>`, "g");
|
|
37
|
+
|
|
38
|
+
// What a formula, link or page block left empty holds, and a formula being edited that does not read: its icon and its words.
|
|
39
|
+
const CHIPS = { formula: [FORMULA_ICON, () => t("新公式")], link: [LINK_ICON, () => t("链接")], page: [PAGE_ICON, () => t("页面")], invalid: [FORMULA_ICON, () => t("无效的公式")] };
|
|
40
|
+
|
|
41
|
+
/** The markup inside a chip of `kind` ("formula", "link", "page"; "invalid"): its icon and its name. */
|
|
42
|
+
export const chipHtml = (kind) => `${CHIPS[kind][0]}<span>${CHIPS[kind][1]()}</span>`;
|
|
43
|
+
|
|
44
|
+
/** Mark `chip` (an inline formula or link) as left empty, of `kind` ("formula", "link" or "page"). */
|
|
45
|
+
export function markEmpty(chip, kind) {
|
|
46
|
+
chip.setAttribute("data-ge-empty", kind);
|
|
47
|
+
chip.innerHTML = chipHtml(kind);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* The page as served for editing (service.mjs preview) with what is empty as the editor shows it:
|
|
52
|
+
* an empty media figure holds its bar, an empty formula block nothing (its look is :empty's), an empty
|
|
53
|
+
* inline formula or link its chip; their words in Chinese (emptyWordsScript says them in English).
|
|
54
|
+
*/
|
|
55
|
+
export function showEmpty(html) {
|
|
56
|
+
return inLanguage("zh", () => html
|
|
57
|
+
.replace(EMPTY_MEDIA, (_, name, rest) => `<figure class="${name}"${rest}>${MEDIA_BARS[name]}</figure>`)
|
|
58
|
+
.replace(/(<div class="doc-math-block"[^>]*>)\s*\\\[\s*\\\]\s*(<\/div>)/g, "$1$2")
|
|
59
|
+
.replace(/<span class="doc-math-inline"([^>]*)>\s*\\\(\s*\\\)\s*<\/span>/g, (_, rest) => `<span class="doc-math-inline"${rest} data-ge-empty="formula">${chipHtml("formula")}</span>`)
|
|
60
|
+
.replace(/<a class="doc-link-mention"([^>]*)><\/a>/g, (_, rest) => {
|
|
61
|
+
const kind = rest.includes(MENTION_PAGE) ? "page" : "link";
|
|
62
|
+
return `<a class="doc-link-mention"${rest} data-ge-empty="${kind}">${chipHtml(kind)}</a>`;
|
|
63
|
+
}));
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// The words of what showEmpty serves, [Chinese, English] each.
|
|
67
|
+
const servedWords = () => {
|
|
68
|
+
const words = () => [
|
|
69
|
+
...Object.keys(MEDIA_BARS).map((name) => /<span>([^<]*)<\/span><\/div>$/.exec(MEDIA_BARS[name])?.[1] ?? ""),
|
|
70
|
+
...["formula", "link", "page"].map((kind) => CHIPS[kind][1]()),
|
|
71
|
+
];
|
|
72
|
+
const [zh, en] = [inLanguage("zh", words), inLanguage("en", words)];
|
|
73
|
+
return zh.map((word, index) => [word, en[index]]).filter(([chinese, english]) => chinese && chinese !== english);
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* The script in the head of a page served for editing (service.mjs preview) that says what showEmpty
|
|
78
|
+
* served in English, as the page has loaded and before it shows (the kit holds its first paint till
|
|
79
|
+
* the frame after), when the page's root says the UI is English (data-ge-language): the words of
|
|
80
|
+
* each empty media block's bar and each empty chip.
|
|
81
|
+
*/
|
|
82
|
+
export function emptyWordsScript() {
|
|
83
|
+
const spans = [...Object.keys(MEDIA_BARS).map((name) => `.${name} > .${barClass(name)} > span`), "[data-ge-empty] > span"].join(", ");
|
|
84
|
+
const run = (pairs, spans) => document.addEventListener("DOMContentLoaded", () => {
|
|
85
|
+
if (document.documentElement.getAttribute("data-ge-language") !== "en") return;
|
|
86
|
+
const english = new Map(pairs);
|
|
87
|
+
for (const span of document.querySelectorAll(spans)) if (english.has(span.textContent)) span.textContent = english.get(span.textContent);
|
|
88
|
+
}, { once: true });
|
|
89
|
+
const json = (value) => JSON.stringify(value).replace(/</g, "\\u003c"); // in a <script>: never a tag
|
|
90
|
+
return `document.currentScript.remove(); (${run})(${json(servedWords())}, ${json(spans)});`;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// A gray bar's rules: `block`, the block holding it (its gap and what is drawn over it); `bar`, the
|
|
94
|
+
// bar (the block itself for a formula); `icon`, its icon (an svg, or the bar's ::before).
|
|
95
|
+
const barStyle = ({ block, bar, icon }) => `
|
|
96
|
+
${block} { width: 100%; margin-block: var(--doc-media-gap); --doc-box-radius: 10px; --doc-box-reach: 6px; }
|
|
97
|
+
${bar} { box-sizing: border-box; display: flex; align-items: center; width: 100%; padding: 12px 36px 12px 12px; border-radius: 10px; text-align: start;
|
|
98
|
+
background: var(--ge-field); color: var(--ge-tx2); font-size: 14px; line-height: 1.5; cursor: pointer; user-select: none; transition: background 20ms ease-in; }
|
|
99
|
+
${bar}:hover { background: var(--ge-hover); }
|
|
100
|
+
${icon} { flex: none; width: 25px; height: 25px; margin-inline-end: 12px; }`;
|
|
101
|
+
|
|
102
|
+
// A formula block left empty: served empty, or its chip empty on the page (components/math/page.mjs).
|
|
103
|
+
const TEX = '.doc-math-block:is(:empty, [data-ge-kind="tex"]:has(> .ge-math-chip:empty))';
|
|
104
|
+
const TEX_INVALID = '.doc-math-block[data-ge-kind="tex"]:has(> .ge-math-chip[data-ge-empty="invalid"]:empty)';
|
|
105
|
+
const TEX_MASK = `url("data:image/svg+xml,${encodeURIComponent(TEX_LOGO)}") center / contain no-repeat`;
|
|
106
|
+
const CHIP = ":is(.doc-math-inline, .doc-link-mention)[data-ge-empty], .doc-math-inline[data-ge-formula-edit=\"invalid\"]";
|
|
107
|
+
|
|
108
|
+
/** The look of what is empty, in the head of every page the editor edits (service.mjs preview). */
|
|
109
|
+
export const EMPTY_STYLE = `${Object.keys(MEDIA_BARS).map((name) => {
|
|
110
|
+
const bar = `.${name} > .${barClass(name)}`;
|
|
111
|
+
// Every bar's icon is one of the editor's line drawings (icons.mjs svg), with no size or color of its own: drawn as its other line icons are.
|
|
112
|
+
return barStyle({ block: `.${name}:has(> .${barClass(name)})`, bar, icon: `${bar} svg` })
|
|
113
|
+
+ `\n ${bar} svg { fill: none; stroke: currentColor; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }`;
|
|
114
|
+
}).join("")}
|
|
115
|
+
${barStyle({ block: TEX, bar: TEX, icon: `${TEX}::before` })}
|
|
116
|
+
${TEX}::before { content: ""; background: currentColor; -webkit-mask: ${TEX_MASK}; mask: ${TEX_MASK}; }
|
|
117
|
+
${TEX}::after { content: ${JSON.stringify(inLanguage("zh", () => t("添加一个 TeX 公式")))}; }
|
|
118
|
+
:root[data-ge-language="en"] ${TEX}::after { content: ${JSON.stringify(inLanguage("en", () => t("添加一个 TeX 公式")))}; }
|
|
119
|
+
${TEX_INVALID}::after { content: ${JSON.stringify(inLanguage("zh", () => t("无效的公式")))}; }
|
|
120
|
+
:root[data-ge-language="en"] ${TEX_INVALID}::after { content: ${JSON.stringify(inLanguage("en", () => t("无效的公式")))}; }
|
|
121
|
+
/* One line of inline boxes (not a flex box, whose parts the browser copies as lines of their own). */
|
|
122
|
+
${CHIP} { display: inline-block; margin: 0 2px; padding: 1px 7px 1px 6px; border-radius: 4px; vertical-align: top; white-space: nowrap;
|
|
123
|
+
background: light-dark(#f0efed, #383836); color: var(--ge-tx2); font-size: .9em; line-height: 1.4; text-decoration: none; cursor: pointer; transition: background 20ms ease-in; }
|
|
124
|
+
:is(${CHIP}) > svg { display: inline-block; width: 1.1em; height: 1.1em; margin-inline-end: 4px; vertical-align: -.2em; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
|
|
125
|
+
:is(.doc-math-inline, .doc-link-mention)[data-ge-empty]:hover { background: light-dark(#e9e8e6, #403f3d); }
|
|
126
|
+
:is(.doc-math-inline, .doc-link-mention)[data-ge-empty]:is([data-ge-formula-edit], [data-ge-link-edit]) { background: var(--ge-fill); }
|
|
127
|
+
.doc-math-inline[data-ge-formula-edit="invalid"] { background: light-dark(#fce9e7, #502c29); color: rgb(235 87 87); }
|
|
128
|
+
`;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { svg } from "../icons.mjs";
|
|
2
|
+
import { t } from "../../../shared/i18n/index.mjs";
|
|
3
|
+
|
|
4
|
+
// 引用块: a blockquote, a box of paragraphs. A paragraph turned into a quote joins the quote right
|
|
5
|
+
// before or after it; an empty quote paragraph leaves the quote on Enter, as a paragraph, and so
|
|
6
|
+
// does Backspace at the start of its first (`resettable`, typing/leave.mjs).
|
|
7
|
+
//
|
|
8
|
+
// Where the engines reach it (src/editor/page/ unless named): typing/ (Enter, Backspace),
|
|
9
|
+
// convert.mjs (joining and splitting quotes, "> "), clipboard/own/ (`clipboard`), commit.mjs.
|
|
10
|
+
// Its look: the kit's styles/flow.css (src/render/kit/).
|
|
11
|
+
export default {
|
|
12
|
+
name: "quote",
|
|
13
|
+
listed: () => t("引用块"),
|
|
14
|
+
units: {
|
|
15
|
+
quote: { name: t("引用块"), match: [{ rank: 170, tag: "blockquote" }], removedEmpty: true, emptyIsNothing: true }, // no color: a paragraph turned into a quote is joined to it, its color staying the paragraph's
|
|
16
|
+
},
|
|
17
|
+
boxes: {
|
|
18
|
+
quote: { role: "quote", name: t("引用块"), firstLineActs: true, selectAll: { content: true } }, // its first paragraph shows its handle
|
|
19
|
+
},
|
|
20
|
+
types: {
|
|
21
|
+
quote: {
|
|
22
|
+
turn: 13, menu: ["basic", 13],
|
|
23
|
+
tag: "blockquote", kind: "quote", box: "quote", leaf: "paragraph", wraps: true, resettable: true, container: "blockquote", holder: 2,
|
|
24
|
+
clipboard: {
|
|
25
|
+
kind: "quote",
|
|
26
|
+
across: (unit, { walk }) => (unit.localName === "blockquote" ? [{ type: "quote", blocks: walk(unit) }] : undefined), // its paragraphs in a quote
|
|
27
|
+
check: (block, { container }) => container(block),
|
|
28
|
+
},
|
|
29
|
+
label: t("引用块"), icon: svg('<circle cx="6" cy="11.9" r="2.4" fill="currentColor" stroke="none"/><path d="M3.75 11.6c0-3.1 1.35-5.25 4-6.35" stroke-width="1.6"/><circle cx="13.75" cy="11.9" r="2.4" fill="currentColor" stroke="none"/><path d="M11.5 11.6c0-3.1 1.35-5.25 4-6.35" stroke-width="1.6"/>'), hint: ">", markdown: [{ match: /^[>>》][ \u00a0\u3000]$/ }], words: "引用块 引用 引文 yinyong yinwen yyk yy quote blockquote",
|
|
30
|
+
glance: { row: 3, name: "引用块", write: "`<blockquote><p>`", rule: "Text and lists" },
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
};
|