@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,4 @@
|
|
|
1
|
+
import { createRequire as __galleryRequire } from "node:module"; import { fileURLToPath as __galleryPath } from "node:url"; const require = __galleryRequire(import.meta.url); const __filename = __galleryPath(import.meta.url); const __dirname = __galleryPath(new URL(".", import.meta.url));
|
|
2
|
+
import{a as ae,f as le,n as ce}from"./chunk-PL6GHLGD.mjs";import{b as C,d as he}from"./chunk-LEF6DRCK.mjs";import{a as N}from"./chunk-TX6JH7TR.mjs";import"./chunk-DFUDV4LX.mjs";import"./chunk-E7LWZRXY.mjs";import"./chunk-64K7IPLO.mjs";import"./chunk-NSKUTQ5J.mjs";import{a as se,i as ne,r as oe}from"./chunk-AUZGSZJH.mjs";import{d as Z,e as Q,i as A,j as ee,k as te}from"./chunk-BGGDRNYQ.mjs";import{a as g}from"./chunk-6QXGZM36.mjs";import"./chunk-UALRNVSE.mjs";import"./chunk-W3BGBJQW.mjs";import"./chunk-JVHHHGEA.mjs";import{a as V,c as x}from"./chunk-HYMEEXKN.mjs";import"./chunk-TYK6VNAB.mjs";import{b as re,h as F}from"./chunk-CY2FNNAB.mjs";import"./chunk-UMHUSOPJ.mjs";import{c as ie}from"./chunk-L3QKH4OK.mjs";import{c as W,e as J,g as v,o as X}from"./chunk-W4VKN3GF.mjs";import"./chunk-A55HN5OK.mjs";import"./chunk-5L7RYZCL.mjs";import{isUtf8 as Ne}from"node:buffer";import be from"node:fs";import j from"node:path";import{instancesOf as Y,isInstance as Ce,partOf as we}from"../browser/shared/components/index.mjs";import{ATTRIBUTE as k,refusedInCopy as Ie}from"../browser/shared/components/installed.mjs";import{attr as I,elementsOf as ye,walk as P}from"../browser/shared/html-tree.mjs";import{blankedCss as z}from"../browser/shared/css-references.mjs";import{ATTRIBUTE as _,SLOT as me}from"../browser/shared/components/installed.mjs";var Le=new Set(["media","supports","container","layer","starting-style"]);function M(t,e){let s=0,n="";for(let o=0;o<t.length;o++){let i=t[o];i==="\\"?o++:n?n=i===n?"":n:i==='"'||i==="'"?n=i:i===")"||i==="]"?s--:(s===0&&e(i,o),(i==="("||i==="[")&&s++)}}function Ee(t){let e=z(t),s=z(t,{strings:!0}),n={children:[]},o=[n],i=0,a=0;for(let r=0;r<e.length;r++){let l=e[r];if(l==="\\")r++;else if(l==="("||l==="[")a++;else if(l===")"||l==="]")a=Math.max(0,a-1);else{if(a>0)continue;if(l==="{"){let c={prelude:s.slice(i,r),start:i,children:[]};o.at(-1).children.push(c),o.push(c),i=r+1}else l==="}"?(o.length>1&&o.pop(),i=r+1):l===";"&&(i=r+1)}}return n.children}function B(t){let e=[],s=0;return M(t,(n,o)=>{n===","&&(e.push({text:t.slice(s,o),start:s}),s=o+1)}),e.push({text:t.slice(s),start:s}),e.filter(({text:n})=>n.trim())}function D(t){let e=[],s=t.trim(),n="",o=0,i=0,a=r=>{(i||r)>o&&e.push({combinator:n,compound:s.slice(o,i||r)}),i=0};return M(s,(r,l)=>{/\s/.test(r)?l===o?o=l+1:i||=l:">+~".includes(r)?(a(l),n=r,o=l+1):i&&(a(l),n=" ",o=l)}),a(s.length),e}function U(t){let e=[],s=-1,n=0,o="";for(let a=0;a<t.length;a++){let r=t[a];r==="\\"?a++:o?o=r===o?"":o:r==='"'||r==="'"?o=r:r==="("?n++:r===")"?n--:r==="["&&n===0?s=a:r==="]"&&n===0&&s>=0&&(e.push(t.slice(s,a+1)),s=-1)}let i=!1;return M(t,a=>{i||=a==="&"}),{attributes:e,nesting:i,scope:/(?:^|[^\w-]):scope\b/.test(t)}}var Oe=t=>new RegExp(`^\\[\\s*${_}\\s*=\\s*(["'])${t.replace(/[/-]/g,"\\$&")}\\1\\s*i?\\s*\\]$`,"i"),je=t=>z(t).replace(/\\.|\[[^\]]*\]/g,"").includes("&");function pe(t,e,s,n=!1){let o=D(t),i=({compound:f})=>U(f).attributes.some(h=>e.test(h)),a=({compound:f})=>{let{nesting:h,scope:m}=U(f);return!!s&&(h||m)},r=f=>["+","~"].includes(f?.combinator),l=f=>o.slice(f).some(({combinator:h},m)=>(m+f===0?h||" ":h)===" "),c=o.findLastIndex(f=>i(f)||a(f));if(c<0)return!s||je(t)?{why:"outside"}:{why:s==="instance"&&r(o[0])?"beside":null,subject:"inside",deep:n||l(0)};let p=i(o[c])||s==="instance";return{why:p&&r(o[c+1])?"beside":null,subject:p&&c===o.length-1?"instance":"inside",deep:!i(o[c])&&n||l(c+1)}}var fe=t=>t.some(({subject:e})=>e==="instance")?"instance":"inside",Te=new RegExp(`^\\[\\s*${me}\\s*(?:\\]|=)`,"i"),Ae=t=>B(/\)\s*to\s*\(([^)]*)\)/i.exec(t)?.[1]??"").some(({text:e})=>D(e).length===1&&U(e).attributes.some(s=>Te.test(s))),ue=(t,e)=>ge(t,e).outside;function de(t,e,s){if(s.length===0)return[];let n=`slot${s.length===1?"":"s"} ${s.join(" and ")}`;return ge(t,e).deep.map(({line:o,words:i})=>({line:o,what:`${i} also reaches the blocks in ${n}, the document's: write each step with > or wrap the rules in @scope ([${_}="${e}"]) to ([${me}])`}))}function ge(t,e){let s=Oe(e),n=`[${_}="${e}"]`,o=[],i=[],a=(l,c,p)=>{let f=c.replace(/\s+/g," ").trim();o.push({line:x(t,l),what:p==="beside"?`${f} reaches what stands beside the instance: what it styles has to stand in it`:`${f} reaches outside the instance: start it at ${n}`})},r=(l,c,p=!1,f=!1)=>{for(let h of l){let m=h.prelude.length-h.prelude.trimStart().length,d=h.start+m,$=/^@([\w-]+)\s*/.exec(h.prelude.trim());if($){let u=$[1].toLowerCase();if(Le.has(u))r(h.children,c,p,f);else if(u==="page")o.push({line:x(t,d),what:"@page reaches the paper of the whole document: an instance has no page of its own"});else if(u==="scope"){let y=/^@scope\s*\(([^)]*)\)/i.exec(h.prelude.trim())?.[1]??"",S=B(y).map(({text:L})=>({...pe(L,s,c),steps:D(L).length}));y&&S.every(({why:L,steps:Se})=>!L&&Se===1)?r(h.children,fe(S),!1,f||Ae(h.prelude.trim())):a(d,h.prelude,"outside")}continue}let b=B(h.prelude).map(({text:u,start:y})=>{let S=pe(u,s,c,p),L=h.start+y+u.length-u.trimStart().length;return S.why?a(L,u,S.why):S.deep&&!f&&!p&&i.push({line:x(t,L),words:u.replace(/\s+/g," ").trim()}),S});b.some(({why:u})=>u)||r(h.children,fe(b),b.some(u=>u.deep),f)}};return r(Ee(t),null),{outside:o,deep:i}}var w="template.html",E="example.html",R="component.json",Re=new Set(["localStorage","sessionStorage"]),Pe=/^\S+: (?:line \d+ of )?its (?:kit\.js|style\.css) /,ve=/(?: (?:names a file that )?is not in the document's folder|: it is (?:no file of|not in) the document's .*)$|^external resources are not portable: .*$/,Fe=": an example stands in no document: write a picture as a data: address, or draw it from style.css with a file the manifest's assets name",ze=t=>t.replace(ve,e=>(e.startsWith("external")?e:"")+Fe),O=(t,e)=>A({folder:t},e);function T(t,e){let s=null;try{s=be.readFileSync(j.join(t,e))}catch{return null}return Ne(s)?null:{file:e,what:"it is not UTF-8: save it as UTF-8 (PowerShell's > writes UTF-16; Set-Content -Encoding utf8 does not)"}}function G(t,e){let s=/^line (\d+): | \(line (\d+)\)/.exec(e);return s?{file:t,line:Number(s[1]??s[2]),what:e.replace(s[0],"")}:{file:t,what:e}}function H(t,e){let s=g.parseJsonText(R,t),n=s.statements[0]?.expression,o=null;for(let i of e.split(".")){let a=n?.properties?.find(({name:r})=>r?.text===i);if(!a)break;o=s.getLineAndCharacterOfPosition(a.getStart(s)).line+1,n=a.initializer}return o}function Be(t,{message:e,text:s="",values:n=[]}){let o=/at position (\d+)/.exec(e)?.[1];if(o)return x(t,Number(o));for(let i of[...n.map(String),...s.match(/[a-zA-Z][\w.]*/g)??[]]){let a=H(t,i);if(a)return a}return null}var Ue=t=>F(t).map(e=>/^line (\d+): <([^>]+)>: ([\s\S]*)$/.exec(e)).filter(Boolean).map(([,e,s,n])=>({line:Number(e),tag:s,why:n}));function _e(t,{file:e,tree:s,html:n}){let o=[],i=Ue(n),a=Object.entries(t.parts).filter(([,c])=>c.edit==="text"),r=Object.entries(t.parts).filter(([,c])=>c.edit==="data"),l=(c,p)=>{let f=!1;return P(c,h=>{f||=h===p}),f};for(let c of Y(s,t))for(let[p,f]of a)for(let h of we(c,f.at)){let m=h.sourceCodeLocation?.startLine,d=ye(h).find(u=>ie.has(u.tagName)),$=i.find(u=>u.line===m&&u.tag===h.tagName),b=r.find(([,u])=>we(c,u.at).some(y=>y===h||l(y,h)||l(h,y)))?.[0];b?o.push({file:e,line:m,what:`the part ${p} (${f.at}) is edited as text, and stands in the part ${b}, edited as data, or around it, which is the component's: the editor leaves it read-only: name elements apart`}):d?o.push({file:e,line:m,what:`the part ${p} (${f.at}) is edited as text and holds a block, its <${d.tagName}> at line ${d.sourceCodeLocation?.startLine}: a text part holds words and marks alone, and the editor would leave this one read-only: write its \`at\` as what holds the words (${f.at} > ${d.tagName}), or give each block a part of its own`}):$&&o.push({file:e,line:m,what:`the part ${p} (${f.at}) is edited as text, and the editor would leave it read-only for what it holds: ${$.why}. A text part holds words and marks alone`})}return o}var xe="(?:(?:[zcs]h|[bpmfdtnlgkhjqxrzcsyw])?(?:[iuv]?(?:a(?:i|o|ng?)?|e(?:i|r|ng?)?|o(?:u|ng)?)|i(?:u|ng?)?|u(?:i|n)?|vn?))",Me=new RegExp(`^${xe}$`,"i"),De=new RegExp(`^${xe}{1,8}$`,"i"),q=new RegExp("\\p{Script=Han}","u"),Ge=6,ke=t=>[...t].filter(e=>q.test(e)).length;function Ke(t){let e=t.replaceAll("'",""),s=[0,...Array(e.length).fill(1/0)];for(let n=1;n<=e.length;n++)for(let o=Math.max(0,n-Ge);o<n;o++)s[o]+1<s[n]&&Me.test(e.slice(o,n))&&(s[n]=s[o]+1);return e&&Number.isFinite(s[e.length])?s[e.length]:null}function He({name:t,words:e}){let s=ke(t.zh),n=e.split(/\s+/).filter(Boolean);return s===0?q.test(e)&&!n.some(o=>De.test(o)):!n.some(o=>Ke(o.toLowerCase())===s)}function Ye({id:t,folder:e,catalog:s,off:n,parts:o}){let i=s.packages.get(t),a=s.problems.get(t)?.problem,r=O(e,R)??"",l=[];a&&l.push({file:R,line:Be(r,a),what:v("en",a)}),i?.template===null&&l.push({file:w,what:`there is none, and it is what "/" puts in a document: with none, no menu offers the block: write one <div ${k}="${t}"> with what a new instance holds`}),l.push(...o);let c=T(e,"writing.md");c&&l.push(c);let p=c||O(e,"writing.md")?.trim()?[]:[{file:"writing.md",what:"there is none, so gallery component show has nothing to say of how to write it"}];return i&&He(i)&&p.push({file:R,line:H(r,"words")??H(r,"name.zh"),what:q.test(i.name.zh)?`no word of words spells its whole name ${i.name.zh} in pinyin as an input method composes it, its ${ke(i.name.zh)} Chinese characters a syllable each in one word (as \u65B9\u6848\u6253\u5206 is fangandafen): "/" finds it while those letters are being composed only by such a word. What is counted is how many syllables a word reads as, not which characters they spell`:'its words are Chinese and none of them is pinyin: "/" goes by the letters an input method is composing, so write the pinyin there (\u770B\u677F kanban)'}),n&&p.push({file:"gallery.json",what:"the user turned it off in \u8BBE\u7F6E \u203A \u7EC4\u4EF6\u5217\u8868, which is theirs to change and says nothing of the package: it is checked as if it were on, and the instances of a document show what they hold, read-only, until it is on"}),{title:"manifest",problems:l,notes:p}}function qe(t){let e=g.createSourceFile("kit.js",t,g.ScriptTarget.Latest,!0,g.ScriptKind.JS),s=[],n=o=>{let i=g.isCallExpression(o)&&g.isPropertyAccessExpression(o.expression)?o.expression:null;if(i?.name.text==="component"&&/\bDocKit$/.test(i.expression.getText(e))){let[a]=o.arguments,r=a&&g.isObjectLiteralExpression(a)?a.properties.find(c=>c.name?.getText(e)==="id"):null,l=r&&g.isPropertyAssignment(r)&&g.isStringLiteralLike(r.initializer)?r.initializer.text:null;s.push({id:l,at:o.getStart(e)})}g.forEachChild(o,n)};return n(e),s}function Ve(t){let e="kit.js";if(!t.files.includes("kit.js"))return{title:e,none:"none: a static block"};let s=T(t.folder,e);if(s)return{title:e,stops:!0,problems:[s]};let n=A(t,"kit.js")??"",o=se(n);if(o)return{title:e,stops:!0,problems:[{file:e,line:o.line,what:`a browser refuses it: ${o.message}`}]};let i=te(t).map(({line:c,what:p})=>({file:e,line:c,what:p})),a=i.length>0;for(let{name:c,at:p}of Z(n,Re))i.push({file:e,line:x(n,p),what:`uses ${c}: an instance keeps what a reader chose with context.state`});let r=qe(n);for(let{id:c,at:p}of r)c!==null&&c!==t.id&&i.push({file:e,line:x(n,p),what:`it registers ${c}, and this package is ${t.id}`});let l=r.length?[]:[{file:e,what:`no DocKit.component({ id: "${t.id}", mount(host, context) { \u2026 } }) is to be read in it, and a script may make that call in ways reading does not tell: running it says whether it starts one`}];for(let{line:c,code:p,message:f,refused:h}of Q(n,{assets:t.assets}))(h?i:l).push({file:e,line:c,what:`TS${p}: ${f}`});return{title:e,stops:a,problems:i.sort((c,p)=>(c.line??0)-(p.line??0)),notes:l}}function We(t){let e="style.css";if(!t.files.includes("style.css"))return{title:e,none:"none"};let s=T(t.folder,e);if(s)return{title:e,stops:!0,problems:[s]};let n=A(t,"style.css")??"",o=ee(t),i=[...ue(n,t.id),...o].map(({line:l,what:c})=>({file:e,line:l,what:c})),a=Object.entries(t.parts??{}).filter(([,{edit:l}])=>l==="flow").map(([l])=>l),r=de(n,t.id,a).map(({line:l,what:c})=>({file:e,line:l,what:c}));return{title:e,stops:o.length>0,problems:i.sort((l,c)=>l.line-c.line),notes:r}}function Je(t,{tree:e}){let s=null;P(e,r=>{s??=r.tagName==="main"?r:null});let n=ye(s??{}),o=(s?.childNodes??[]).some(r=>r.nodeName==="#text"&&r.value.trim()),[i]=n;if(n.length!==1||o||!Ce(i)||I(i,k)!==t)return[{file:w,line:i?.sourceCodeLocation?.startLine,what:`a template is one element, a <div ${k}="${t}"> or a <section>, and it holds ${n.length===1&&!o?`<${i.tagName}${I(i,k)?` ${k}="${I(i,k)}"`:""}>`:`${n.length} element${n.length===1?"":"s"}${o?" and words":""}`}`}];let a=[];return P({childNodes:[i]},r=>{I(r,"data-block-id")!==void 0&&a.push({file:w,line:r.sourceCodeLocation?.startLine,what:"it writes a data-block-id, which every instance made of it would repeat: leave it out, Gallery gives a block its id"})}),a}function Xe(t,{tree:e}){let s=X(t);if(!s)return[];let[n]=Y(e,t),o=null;return n&&P({childNodes:[n]},i=>{Ie(i.tagName,i.attrs)&&(o??=i)}),[{file:w,line:(o??n)?.sourceCodeLocation?.startLine,what:v("en",s)}]}function Ze(t){return[[w,"component-template"],[E,"component-example"]].flatMap(([e,s])=>{let n=O(t,e);if(n===null||!n.trim()||T(t,e))return[];let o=le(s,n),{text:i}=re(o);return[{file:e,slug:s,written:o,html:i,tree:V(i)}]})}function Qe({id:t,folder:e,found:s,pages:n,parts:o}){let i="template.html and example.html",a=[],r=[];for(let h of[w,E]){let m=T(e,h);m?a.push(m):h===w&&!O(e,h)?.trim()&&s.template!==null?a.push({file:h,what:"it is empty"}):h===E&&!n.some(d=>d.file===h)&&a.push({file:h,what:`there is none or it is empty: write an instance as a writer would fill it, a <div ${k}="${t}">; it is what this check runs`})}let l=n.find(h=>h.file===w);l&&a.push(...Je(t,l));let c=n.find(h=>h.file===E);c&&Y(c.tree,s).length===0&&a.push({file:E,what:`it holds no instance of ${t}: a <div ${k}="${t}">`});let p=n.map(({slug:h,written:m,html:d,file:$})=>({file:$,slug:h,written:m,html:d,directory:j.join(e,h),htmlPath:j.join(e,h,"doc.html"),metadata:{title:h,description:h,type:"component"}})),f=ne(p);for(let h of p){for(let m of f.get(h.slug)??[])Pe.test(m)||a.push(G(h.file,ze(m)));for(let m of oe(h))r.push(G(h.file,m));for(let m of F(h.html)){let d=G(h.file,`${m} (read-only in the preview)`);o.some(({file:$,line:b})=>$===d.file&&b===d.line)||r.push(d)}}return l&&!a.some(({file:h})=>h===w)&&a.push(...Xe(s,l)),{title:i,problems:a,notes:r}}function et(t,e){let s=W(t,void 0,{on:e}),n=C(t,e);if(!s.packages.has(e)&&!s.problems.has(e))return null;J(t,s);let o=s.packages.has(e)&&s.settings.disabled.includes(e),i=s.packages.get(e)??{id:e,folder:n,files:["kit.js","style.css"].filter(c=>be.existsSync(j.join(n,c)))},a=Ze(n),r=s.packages.has(e)?null:"its manifest does not load",l=r?[]:a.flatMap(c=>_e(i,c));return{found:s.packages.get(e)??null,pages:a,sections:[Ye({id:e,folder:n,catalog:s,off:o,parts:l}),Ve(i),We(i),r?{title:"template.html and example.html",skipped:r}:Qe({id:e,folder:n,found:i,pages:a,parts:l})]}}var K=({file:t,line:e})=>e?`${t}:${e}`:t;function $e({title:t,problems:e=[],notes:s=[],told:n=[],none:o,skipped:i,unverified:a,pictures:r},l){let c=a?`UNVERIFIED ${a}`:i?`not run: ${i}`:o??(e.length?`${e.length} problem${e.length===1?"":"s"}`:`ok${s.length?`, ${s.length} note${s.length===1?"":"s"}`:""}`);return[`${l}. ${t}: ${c}`,...e.map(p=>` FAIL ${K(p)}: ${p.what}`),...s.map(p=>` note ${K(p)}: ${p.what}`),...n.map(p=>` way back ${K(p)}: ${p.what}`),...r?[tt(r)]:[]]}function tt({folder:t,overviews:e,each:s,edited:n=[],asExport:o=[]}){let i=e.length?`${N(j.join(t,e[0]))}${e.slice(1).map(l=>` and ${l}`).join("")}, the three widths of each theme side by side; then each at full size: `:`${N(t)}: `,a=o.length===0?"":o.length===n.length?", each the same picture as the export's at its width: the block draws nothing more where a reader can edit":`, ${o.join(" and ")} the same picture as the export's at its width`,r=n.length?`; and ${n.join(" and ")}, as the editing page draws it (context.canEdit() true)${a}`:"";return` Pictures (none looked at for you; example.html above the line, template.html below it, each under its name): ${i}${s.join(", ")}${r}`}function st([t,e,s,n]){return t.problems.length?"the manifest":e.stops?"kit.js":s.stops?"style.css":n.skipped||n.problems.length?"template.html and example.html":null}async function Ot(t,e){let s=et(t,e);s||(console.error(he(t,e)),process.exit(1)),console.log(`${e}: ${N(C(t,e))}`),s.sections.forEach((r,l)=>console.log($e(r,l+1).join(`
|
|
3
|
+
`)));let n=st(s.sections),o=C(t,e),i=n?{title:ae,skipped:`${n} first`}:await ce(t,s.found,{example:O(o,E),template:O(o,w)});console.log($e(i,5).join(`
|
|
4
|
+
`));let a=[...s.sections,i].reduce((r,{problems:l=[]})=>r+l.length,0);a?(console.log(`FAIL ${e}: ${a} problem${a===1?"":"s"}`),process.exitCode=1):i.unverified?(console.log(`UNVERIFIED ${e}: the rest passed, and no browser ran it: export a document that holds it and open that in Chrome or Edge.`),process.exitCode=3):console.log(`OK ${e}`)}export{Ot as checkCommand,Ke as fewestSyllables,et as readSections,$e as sectionLines,He as wantsPinyin};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __galleryRequire } from "node:module"; import { fileURLToPath as __galleryPath } from "node:url"; const require = __galleryRequire(import.meta.url); const __filename = __galleryPath(import.meta.url); const __dirname = __galleryPath(new URL(".", import.meta.url));
|
|
2
|
+
import{b as l,i as u}from"./chunk-NSKUTQ5J.mjs";import h from"node:fs/promises";import{ancestorsIn as f,moveDocument as m,readOutline as p}from"../browser/shared/outline.mjs";import{reportsDirectory as a}from"../browser/shared/paths.mjs";import{findPreviewServer as w}from"../browser/shared/preview-server.mjs";import{roleOf as $}from"../browser/shared/reports.mjs";import{documentDirectory as d,documentFiles as g,pageSlug as y}from"../browser/shared/workspace.mjs";async function D(){let{children:e}=await p(a),t=Object.values(e).flat(),n=r=>typeof r=="string"?r.replace(/\s+/g," ").trim():"",o=new Map(await Promise.all(t.map(async r=>{let i=await h.readFile(g(d(r,a)).json,"utf8").then(JSON.parse).catch(()=>({}));return[r,{slug:r,title:n(i?.title)||r,description:n(i?.description),icon:typeof i?.icon=="string"?i.icon:null}]})));return{children:e,documents:o}}var s=({documents:e},t)=>`${t} (${e.get(t)?.title??t})`;function _(e,t){let n=f(e.children,t).map(o=>s(e,o));return`\u4F4D\u7F6E\uFF1A${n.length?n.join(" \u203A "):"\u9876\u5C42"}`}async function E(e,t,n){let{slug:o}=await u(e);if(o===await y(a))return{refused:`${e} is the \u5199\u4F5C\u504F\u597D page, which the sidebar lists apart: it moves nowhere and holds no documents (${t}).`};if(!n.documents.has(o)){let r=d(o,a);return{refused:await $(r)==="instructions"?`${e} is the \u5199\u4F5C\u504F\u597D page, which the sidebar lists apart: it moves nowhere and holds no documents (${t}).`:`No document "${e}" (${t}): gallery list --tree shows the documents and where they are.`}}return{slug:o}}var v={missing:(e,t)=>`No document "${t}" in the sidebar's tree: gallery list --tree shows them.`,parent:(e,t,{parent:n})=>`No document "${n}" to put ${s(e,t)} under: gallery list --tree shows them.`,after:(e,t,{after:n})=>`No document "${n}" to put ${s(e,t)} after: gallery list --tree shows them.`,level:(e,t,{parent:n,after:o})=>`${s(e,o)} is not under ${n?s(e,n):"the top level"}: --after names a document at the level it goes to.`,itself:(e,t)=>`${s(e,t)} cannot go after itself.`,inside:(e,t,{parent:n,after:o})=>n===void 0&&o?`${s(e,t)} cannot go after ${s(e,o)}, which is under it.`:`${s(e,t)} cannot go under ${n===t?"itself":`${s(e,n)}, which is under it`}.`,instructions:(e,t)=>"The \u5199\u4F5C\u504F\u597D page is listed apart: it moves nowhere and holds no documents."},F=(e,t,n,o={})=>(v[n]??((r,i,{message:c})=>`Not moved: ${c??n}.`))(e,t,o);async function b(e,t){let n=`127.0.0.1:${e.port}`;try{let r=await(await fetch(`http://${n}/__gallery/workspace/move`,{method:"POST",headers:{"Content-Type":"application/json",Origin:`http://${n}`,"X-Gallery-Token":e.token},body:JSON.stringify({...t,workspace:a}),signal:AbortSignal.timeout(3e4)})).json().catch(()=>null);return typeof r?.ok!="boolean"||["elsewhere","token","host","origin","unknown"].includes(r.reason)?null:r}catch{return null}}async function L(e,{parent:t=void 0,after:n=null,first:o=!1}={}){let r=await w({reportsDirectory:a}),i={slug:e,...t!==void 0?{parent:t}:{},after:n,first:o},c=r?await b(r,i):null;return c||m(a,e,{parent:t,after:n,first:o})}function P(e,{parent:t,index:n}){let o=e.children[t]??[],r=t?`under ${s(e,t)}`:"at the top level";return o.length===1?`${r}, the only document there`:n===0?`${r}, first`:`${r}, right after ${s(e,o[n-1])}${n===o.length-1?", last":""}`}function I(e,t,{top:n=!0}={}){let o=e.get("--under"),r=e.get("--after");if(o!==void 0&&t.has("--top"))throw new l("--under and --top are two places: give one.");if(r!==void 0&&t.has("--first"))throw new l("--after and --first are two places: give one.");return{under:o,top:n&&t.has("--top"),after:r,first:t.has("--first")}}export{D as a,s as b,_ as c,E as d,F as e,L as f,P as g,I as h};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __galleryRequire } from "node:module"; import { fileURLToPath as __galleryPath } from "node:url"; const require = __galleryRequire(import.meta.url); const __filename = __galleryPath(import.meta.url); const __dirname = __galleryPath(new URL(".", import.meta.url));
|
|
2
|
+
import{a,b,c,d,e,f,g,h,i,j,k,l}from"./chunk-Y6RLRPG3.mjs";import"./chunk-E7LWZRXY.mjs";import"./chunk-BGGDRNYQ.mjs";import"./chunk-6QXGZM36.mjs";import"./chunk-HYMEEXKN.mjs";import"./chunk-TYK6VNAB.mjs";import"./chunk-CY2FNNAB.mjs";import"./chunk-UMHUSOPJ.mjs";import"./chunk-L3QKH4OK.mjs";import"./chunk-W4VKN3GF.mjs";import"./chunk-A55HN5OK.mjs";import"./chunk-5L7RYZCL.mjs";export{e as BASELINE_FROM,h as adoptIdless,g as baselineOf,b as blocksOf,k as exportBaselines,j as exportedText,i as hasBaseline,d as packageStamps,c as pageOf,l as previewBaseline,a as rankOf,f as readBaseline};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __galleryRequire } from "node:module"; import { fileURLToPath as __galleryPath } from "node:url"; const require = __galleryRequire(import.meta.url); const __filename = __galleryPath(import.meta.url); const __dirname = __galleryPath(new URL(".", import.meta.url));
|
|
2
|
+
import{a as m,b as u,c as f,d}from"./chunk-FDLXYYG4.mjs";import{b as p}from"./chunk-4FS7Z7WR.mjs";import{j as n}from"./chunk-NSKUTQ5J.mjs";import{k as i,s as a,v as c}from"./chunk-AUZGSZJH.mjs";import{reportsDirectory as g}from"../browser/shared/paths.mjs";import{documentDirectory as $,documentFiles as y}from"../browser/shared/workspace.mjs";var k=()=>`No documents in ${g} yet: gallery new <slug> "<title>" makes one.`;async function A(w){let{slugs:e,options:h}=await n({options:["--allow-failures"],argv:w,noneIsAll:!0});e.length===0&&(console.error(k()),process.exit(1)),await p(e),await f(e),await d(e);let{reports:r,failures:t}=await i(e,{prepare:m()}),s=r.filter(o=>!t.has(o.slug));for(let o of s)console.log(`OK ${o.slug}`);for(let o of e)y($(o,g)).both&&console.log(`note ${o}: both doc.html and report.html: report.html is not read`);a(r),u(r);let l=s.length+t.size;console.log(`Checked ${l} document${l===1?"":"s"}: ${s.length} passed, ${t.size} failed.`),await c(t,{allow:h.has("--allow-failures")})}export{k as a,A as b};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __galleryRequire } from "node:module"; import { fileURLToPath as __galleryPath } from "node:url"; const require = __galleryRequire(import.meta.url); const __filename = __galleryPath(import.meta.url); const __dirname = __galleryPath(new URL(".", import.meta.url));
|
|
2
|
+
import{b as n,f as i}from"./chunk-NSKUTQ5J.mjs";import"./chunk-5L7RYZCL.mjs";import{reportsDirectory as r}from"../browser/shared/paths.mjs";import{answerOf as a,readAnnouncement as d,stopServer as l}from"../browser/shared/preview-server.mjs";async function m(p){let{positional:s}=i({argv:p});if(s.length>0)throw new n(`gallery stop takes no arguments: ${s[0]}`);let o=await d({reportsDirectory:r}),t=o?await a(o,r,1e4):"no";if(t==="no")return void console.log(`No Gallery server runs for ${r}.`);t==="busy"&&(console.error(`The Gallery server on port ${o.port} (pid ${o.pid}) took the request and gave no answer in 10s: it is busy or stuck. Run gallery stop again in a while, or end process ${o.pid} yourself.`),process.exit(1)),o.kind==="dev"&&(console.error(`This workspace's server is npm run dev's (port ${o.port}, pid ${o.pid}): stop it where it runs.`),process.exit(1));let e=await l(o);e.ok||(console.error(e.message),process.exit(1)),console.log(`Stopped the server on port ${o.port} (pid ${o.pid})${e.killed?": it did not stop by itself in 10s, so its process was ended":""}.`)}export{m as run};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __galleryRequire } from "node:module"; import { fileURLToPath as __galleryPath } from "node:url"; const require = __galleryRequire(import.meta.url); const __filename = __galleryPath(import.meta.url); const __dirname = __galleryPath(new URL(".", import.meta.url));
|
|
2
|
+
import o from"node:path";import{reportsDirectory as t}from"../browser/shared/paths.mjs";import{readWritingPreferences as i,saysAnything as a}from"../browser/shared/writing-preferences.mjs";var e=r=>o.resolve(r);async function f(){let{file:r,text:n,made:s}=await i(t);return[`\u5DE5\u4F5C\u533A\uFF1A${o.resolve(t)}`,a(n)?`\u5199\u4F5C\u504F\u597D\uFF1A\u5148\u8BFB\u5B83\uFF0C\u7167\u5B83\u5199\uFF08${e(r)}${s?"\uFF0C\u8FD9\u6B21\u6309\u9ED8\u8BA4\u7684\u5199\u4F5C\u504F\u597D\u65B0\u5EFA":""}\uFF09`:`\u5199\u4F5C\u504F\u597D\uFF1A\u7A7A\uFF08${e(r)}\uFF09`]}export{e as a,f as b};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createRequire as __galleryRequire } from "node:module"; import { fileURLToPath as __galleryPath } from "node:url"; const require = __galleryRequire(import.meta.url); const __filename = __galleryPath(import.meta.url); const __dirname = __galleryPath(new URL(".", import.meta.url));
|
|
2
|
+
import{A as Je,B as Qe,C as Xe,D as me,E as Ot,H as tn,I as en,a as pe,e as Ee,f as Fe,g as Oe,h as De,i as wt,j as he,k as Ne,l as Xt,m as Dt,n as Ve,o as Ge,p as vt,q as $e,r as Ye,s as Le,t as mt,u as G,v as Me,w as We,x as Ze,y as je,z as Q}from"./chunk-L3QKH4OK.mjs";import{d as qt}from"./chunk-W4VKN3GF.mjs";import{b as ue,c as de,e as Ae}from"./chunk-A55HN5OK.mjs";import{BLOCK_TYPES as ve,COPIED_AS_ITSELF as zn,IDENTITY as yn}from"../browser/editor/components/registry.mjs";import{copyKeys as Un}from"../browser/editor/components/figure/index.mjs";import{accepts as ye,attributeValue as En,BLOCK_TYPES as Vt,boxRole as be,CHAPTER as On,holdsStraight as Nn,IDENTITY as Ke,isLead as ln,SIZES as $n,sizeValue as an,TOGGLES as cn}from"../browser/editor/components/registry.mjs";import{iconMarkup as Ln,iconValueOf as Mn,validIcon as jn}from"../browser/editor/components/icon/index.mjs";Ae();import{attributeValue as xn,BLOCK_TYPES as nn,HOSTS as wn,TOGGLES as vn}from"../browser/editor/components/registry.mjs";import{texSource as sn}from"../browser/editor/components/math/index.mjs";var Te=new Set(Object.entries(nn).filter(([,s])=>!s.box&&!s.bare).map(([s])=>s)),te=(s,m,w="")=>{let g=Q[m.type]?.leaf;if(g)return g(s,m,w);let k=[s.className,...m.classes??[]].filter(Boolean).join(" ");return`<${s.tag}${k?` class="${k}"`:""}${he(m.attributes)}${w}>${m.html}</${s.tag}>`},Ce=(s,m)=>s===void 0||!!s&&typeof s=="object"&&!Array.isArray(s)&&Object.entries(s).every(([w,g])=>typeof g=="string"&&xn(m,w,g)),Be=s=>s?.empty===!0,qe=(s,m)=>s===void 0?null:w=>s.includes(m.slice(w.startOffset,w.endOffset));function ke(s,m,{empty:w=!1,file:g}={}){if(typeof m!="string"||!m.trim()&&!(w&&m===""))return!1;if(m==="")return!0;if(s.tex&&!sn(m))return!1;let k=s.inside??s.tag,O=`<${k}>${m}</${k}>`,[I,...a]=de(O,{sourceCodeLocationInfo:!0}).childNodes;return a.length===0&&I?.tagName===k&&me(I,[],s.inside!==void 0,{lists:k==="td"||k==="th",known:qe(g,O)})===null}var In=new Set(Object.values(nn).filter(s=>s.text&&s.className).map(s=>s.kind));function Pe(s,m){if(s.keep?.reason==="script")return null;if(s.kind==="list")return m.some(g=>g.unit===s.id&&g.kind==="list")?"list":null;let w=Q[s.kind];return w?.written?w.written(s)?"written":null:s.text===void 0||s.nested?null:["p","h1","h2","h3","h4","li"].includes(s.tag)||In.has(s.kind)?"text":null}function ge(s,m,w){if(!Array.isArray(m)||!m.every(k=>An(s,k,w)))return"invalid";let g=m.filter(k=>k.keep);return g.length>1?"invalid":m.length>g.length&&!s.caps.split||g.length===0&&!s.caps.remove||m.length===0&&s.nested?"fixed":g.length===1&&g[0].html.trim()===""&&!s.caps.empty?"empty":null}function on(s,m,w){let g=`<table><tbody><tr><${s}>${m}</${s}></tr></tbody></table>`,[k,...O]=de(g,{sourceCodeLocationInfo:!0}).childNodes,I=O.length===0&&k?.tagName==="table"&&k.childNodes.length===1?k.childNodes[0]:null,a=I?.childNodes.length===1?I.childNodes[0]:null,p=a?.childNodes.length===1?a.childNodes[0]:null;return p?.tagName===s&&me(p,[],!1,{lists:!0,known:qe(w,g)})===null}var rn={p:"paragraph",h1:"heading",h2:"heading",h3:"heading",h4:"heading",li:"item"},Sn=(s,m)=>s.classes===void 0||!s.keep&&Array.isArray(s.classes)&&new Set(s.classes).size===s.classes.length&&s.classes.every(w=>(vn[rn[m]]??[]).includes(w));function An(s,m,w){if(!m||typeof m.html!="string"||wn[s.kind]?.tex&&!sn(m.html))return!1;let g=m.keep?s.tag:m.tag;if(!m.keep&&Qe[s.tag]!==g||!Sn(m,g)||m.attributes!==void 0&&(m.keep||!Ce(m.attributes,rn[g])))return!1;let k=g==="td"||g==="th",O=k?`<table><tbody><tr><${g}>${m.html}</${g}></tr></tbody></table>`:`<${g}>${m.html}</${g}>`,[I,...a]=de(O,{sourceCodeLocationInfo:!0}).childNodes;if(a.length>0||!I)return!1;let p=I;if(k){let h=I.tagName==="table"&&I.childNodes.length===1?I.childNodes[0]:null,u=h?.childNodes.length===1?h.childNodes[0]:null;p=u?.childNodes.length===1?u.childNodes[0]:null}return p?.tagName===g&&me(p,[],Xe(s.kind,s.tag,s.caps),{lists:k,known:qe(w,O)})===null}import{attr as fn}from"../browser/shared/html-tree.mjs";import{pageLanguage as Tn}from"../browser/shared/components/page.mjs";import{SHEETS as Cn}from"../browser/editor/components/kit.mjs";import{BLOCK_ID as Bn}from"../browser/shared/ids.mjs";function un({current:s,edits:m,units:w=[],partial:g=!1,ids:k=!1,touch:O=[],proposals:I=null}){let a=Ot(s),p=a.blocks,h=s.includes(`\r
|
|
3
|
+
`)?`\r
|
|
4
|
+
`:`
|
|
5
|
+
`,u=[],L=[],j=[],H=new Map,z=null,X,xt=!1,tt=(t,n)=>u.push({unit:t.id,reason:n}),et=t=>{let r=Dt(t).replace(/[0-9.]/g,l=>String.fromCharCode(l.charCodeAt(0)-65248)).replace(/[\s,,]/g,"").replace(/[−–]/g,"-").match(/-?\d+(?:\.\d+)?/)?.[0];return r===void 0?null:Number(r)},ut=(t,n,r)=>{if(t.kind!=="cell")return;let l=s.slice(t.start,t.innerStart),c=/\sdata-sort-value(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s>]+)))?/.exec(l);if(!c)return;let d=(c[1]??c[2]??c[3]??"").trim(),x=/^-?\d+(\.\d+)?(e[-+]?\d+)?$/i.test(d)?Number(d):null,[S,f]=[et(s.slice(t.innerStart,t.innerEnd)),et(n)],y="";x!==null&&f!==null?y=` data-sort-value="${Number((f*(S?x/S:1)).toPrecision(12))}"`:x!==null&&S===null&&(y=c[0]),y!==c[0]&&L.push({start:t.start+c.index,end:t.start+c.index+c[0].length,text:y,of:[{id:r}]})},Gt=t=>{t.keep&&e(t)?tt(t,"referenced"):j.push({start:t.start,end:t.end},...t.companion?[t.companion]:[])},ne=(t,n)=>{let r=t.classAttr,l=r?r.value.split(/\s+/).filter(Boolean):[],c=l;for(let[x,S]of n)c=S?c.includes(x)?c:[...c,x]:c.filter(f=>f!==x);if(c.join(" ")===l.join(" "))return;if(ct(t),!r){let x=/^<[A-Za-z][\w-]*/.exec(s.slice(t.elStart,t.elStart+40));if(!x)return tt(t,"unknown");let S=t.elStart+x[0].length;L.push({start:S,end:S,text:` class="${c.join(" ")}"`});return}if(c.length===0){L.push({...Xt(s,r.start,r.end),text:""});return}let d=/=\s*'/.test(s.slice(r.start,r.end))?"'":'"';L.push({start:r.start,end:r.end,text:`class=${d}${c.join(" ")}${d}`})},It=typeof k=="function"?k:k?tn:null,lt=new Set([...s.matchAll(en)].map(t=>t[1]??t[2])),Pt=()=>{for(;;){let t=It();if(!lt.has(t))return lt.add(t)&&t}},se=[],Kt=[],Yt=t=>t?` ${Ke}="${t}"`:"",ie=t=>typeof t=="string"&&Bn.test(t)&&!lt.has(t),at=(t,n)=>{let r=It?ie(n)?(lt.add(n),n):Pt():null;return r&&t!==void 0&&Kt.push({key:t,id:r}),Yt(r)},st=new Set,zt=t=>{st.add(t.at);let n=I?.get(t.id),r=It?ie(n)?(lt.add(n),n):Pt():null;return r&&se.push({at:t.at,id:r}),Yt(r)},ct=t=>{if(!It||!t||t.blockId||t.at===void 0||st.has(t.at))return;let n=Ne(s,t.at);L.push({start:n,end:n,text:zt(t)})},St=t=>{let{element:n,source:r}=vt(t.restore),l=n.sourceCodeLocation,c=fn(n,Ke);if(c&&!lt.has(c))return lt.add(c),t.key!==void 0&&Kt.push({key:t.key,id:c}),r;let d=r,x=l.startTag.endOffset-1;if(c){let S=l.attrs[Ke],f=Xt(d,S.startOffset,S.endOffset);d=d.slice(0,f.start)+d.slice(f.end),x-=f.end-f.start}return x=Ne(d,x),d.slice(0,x)+at(t.key,t.blockId)+d.slice(x)},kt=t=>{let n=null;for(let r of a.units)r.elStart<=t.start&&t.start<r.end&&(!n||r.elStart>n.elStart)&&(n=r);return n},_=new Set;for(let t of m){let{id:n,parts:r}=t??{},l=Number.isInteger(n)?p[n]:void 0;if(!l){u.push({id:n,reason:"unknown"});continue}if(Array.isArray(r)&&r.length===0&&l.self!==null&&a.units[l.self].keep){u.push({id:n,reason:"referenced"});continue}let c=ge(l,r,s);if(c){u.push({id:n,reason:c});continue}if(r.length===0){let N={...Me(s,l.start,l.end),of:[{id:n}]};L.push(N),H.set(n,N),l.self!==null&&_.add(l.self);continue}let d=G(s,l.start),x=d===null?"":h+d,S=N=>`<${N.tag}${N.classes?` class="${N.classes.join(" ")}"`:""}${he(N.attributes)}${at(N.key,N.blockId)}>${N.html}</${N.tag}>`,f=r.findIndex(N=>N.keep),y=kt(l),v=y&&y.at===l.innerStart-1;if((!v||l.tag==="li")&&ct(y),l.tag==="li"&&f>=0){let N=r.slice(0,f),K=r.slice(f+1),C=y?{start:y.start,end:y.end}:null;L.push({start:l.innerStart,end:l.innerEnd,text:r[f].html,of:[{id:n}]}),N.length>0&&L.push({start:l.start,end:l.start,seq:1/0,text:N.map(S).join(x)+x,edge:C,of:[{id:n}]}),K.length>0&&L.push({start:l.end,end:l.end,text:x+K.map(S).join(x),edge:C,of:[{id:n}]})}else{let N=s.slice(l.start,l.innerStart);if(v&&It&&!y.blockId&&!st.has(y.at)&&(N=`${N.slice(0,-1)}${zt(y)}>`),r.length===1&&f===0&&N===s.slice(l.start,l.innerStart)){L.push({start:l.innerStart,end:l.innerEnd,text:r[0].html,of:[{id:n}]}),ut(l,r[0].html,n),l.kind==="title"&&(z={from:Dt(s.slice(l.innerStart,l.innerEnd)),to:Dt(r[0].html)});continue}let K=r.map(C=>C.keep?N+C.html+s.slice(l.innerEnd,l.end):S(C)).join(x);L.push({start:l.start,end:l.end,text:K,of:[{id:n}]})}l.kind==="title"&&(z={from:Dt(s.slice(l.innerStart,l.innerEnd)),to:Dt(r[0].html)})}let Y=(t,n,r)=>{let l=a.units.filter(f=>f.box===t),c=[];for(let f=1;f<l.length;f++){let y=s.slice(l[f-1].end,l[f].start);y.trim()||c.push({pair:[l[f-1],l[f]],gap:y})}let d=c.find(({pair:f})=>f.includes(n))??c[0];if(d)return d.gap.replace(/\r?\n/g,h);let x=G(s,r.start),S=be(a.boxes[t]?.kind)==="root"?h:"";return x===null?"":S+h+x},Wt=t=>{if(t.kind!=="nest"||G(s,t.innerEnd)!==null)return null;let n=a.units[t.unit];return n?G(s,n.elStart):null},Zt=(t,n)=>{let r=s.slice(t.at+1,t.innerEnd).match(/\n([ \t]*)\S/);return r?r[1]:`${n??""} `},Ut=(t,n)=>n!==null&&be(t.kind)==="root",dt=[],Jt=(t,n,r,l)=>{let c=Number.isInteger(n?.into)?a.boxes[n.into]:null,d=Number.isInteger(n?.after),x=c?null:a.units[d?n.after:n?.before],S=c??(x?a.boxes[x.box]:null),f=K=>K>=t.start&&K<t.end;if(!S||!(ye(S.kind,Qt(t))||l===S.kind)||t.kind==="tab"&&S.id!==t.box||x&&(x===t||!r.has(x.id)||f(x.elStart))||c&&f(S.at))return tt(t,"position");let y=G(s,t.start);if(ct(t),c){if(c.innerEnd===null)return tt(t,"missing");let K=Wt(c);if(K!==null){dt.push({start:t.start,end:t.end,at:c.innerEnd,seq:o++,from:y,to:K+nt,wrap:U=>h+K+nt+U+h+K});return}let C=G(s,c.innerEnd),W=Zt(c,C),T=C!==null&&W.startsWith(C)?W.slice(C.length):" ",q=Ut(c,C);dt.push({start:t.start,end:t.end,at:q?c.innerEnd-C.length:c.innerEnd,seq:o++,from:y,to:W,wrap:U=>C===null?U:q?C+T+U+h:T+U+h+C});return}let v=Y(x.box,x,x),N=d?v.includes(`
|
|
6
|
+
`)?v.slice(v.lastIndexOf(`
|
|
7
|
+
`)+1):null:G(s,x.start);dt.push({start:t.start,end:t.end,at:d?x.end:x.start,seq:o++,from:y,to:N,wrap:K=>d?v+K:K+v})},gt=(t,n)=>t.classes===void 0||Array.isArray(t.classes)&&new Set(t.classes).size===t.classes.length&&t.classes.every(r=>(cn[n.kind]??[]).includes(r)),_t=(t,n)=>!Je(t)&&(Q[t.type]?.check?.(t)??!0)&>(t,n)&&Ce(t.attributes,n.kind),Ht=(t,n,r={})=>ke(t,n,{...r,file:s}),Rt=(t,n)=>{if(ot.has(t.id))return;let r=Vt[n?.type],l=Pe(t,a.boxes);if(!(l==="text"||l==="written"&&r?.kind!==t.kind)||!Te.has(n?.type)||!ke(r,n.html,{empty:Be(r),file:s}))return tt(t,"invalid");if(!ht.has(t.id)&&!bt.has(t.id)&&!ye(a.boxes[t.box].kind,r.kind))return tt(t,"position");if(!_t(n,r))return tt(t,"invalid");let c=t.blockId?Yt(t.blockId):zt(t);st.add(t.at);let d=l==="written"&&t.node?Fe(s,t.node,Q[t.kind].attribute):t.carried;L.push({start:t.elStart,end:t.end,text:te(r,n,d+c)})},oe=(t,n)=>{if(ot.has(t.id))return;let r=Q[t.kind]?.rewrite;if(!r)return tt(t,"invalid");let l=r(s,t.node,n,{validCell:(c,d)=>on(c,d,s),get packages(){return qt().packages}});if(!l)return tt(t,"invalid");ct(t),L.push(...[l].flat())},re=(t,n)=>{if(Pe(t,a.boxes)!=="list"||n!=="ul"&&n!=="ol")return tt(t,"invalid");let r=/^<(ul|ol)\b/i.exec(s.slice(t.elStart,t.elStart+3)),l=/<\/(ul|ol)\s*>$/i.exec(s.slice(t.elStart,t.end));if(!r||!l)return tt(t,"unknown");if(r[1].toLowerCase()===n)return;ct(t);let c=t.end-l[0].length+2;L.push({start:t.elStart+1,end:t.elStart+3,text:n},{start:c,end:c+2,text:n})},Nt=new Set([...s.matchAll(/\sid\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s>]+))/gi)].map(t=>t[1]??t[2]??t[3])),$t=new Map,Lt=new Set,nt=/\n(\t|[ ]+)</.exec(s)?.[1]??" ",yt=(t,n)=>{let r=d=>ye(n,d)||t?.stood===n;if(t?.restore!==void 0){let d=vt(t.restore),x=d?.kind==="item"?Oe(d.element,n):d?.kind;if(!d||!r(x))return!1;if(t.children===void 0)return!0;if(t.boxKeys!==void 0){let f=Ee(d.element,d.kind);return Array.isArray(t.boxKeys)&&t.boxKeys.length===t.children.length&&t.children.every((y,v)=>{let N=f.find(({key:K})=>K===t.boxKeys[v]);return!!N&&yt(y,N.kind)})}let S=Vt[t.type];return Nn(S)&&S.kind===x&&t.children.every(f=>yt(f,S.box))}if(t?.unit!==void 0){let d=Number.isInteger(t.unit)?a.units[t.unit]:void 0;return!d||Lt.has(d.id)||ot.has(d.id)||ht.has(d.id)||_.has(d.id)||d.kind==="tab"||!r(Qt(d))?!1:(Lt.add(d.id),!0)}let l=Vt[t?.type];if(!l||!r(l.kind))return!1;if(t.type==="divider")return!0;if(t.type==="icon")return jn(t.icon);let c=Q[t.type];return l.bare&&c?.check?c.check(t,{validLeaf:Ht,usedIds:Nt})&>(t,l):l.box?!Array.isArray(t.children)||t.children.length===0&&!c?.empty||!gt(t,l)||c?.check&&!c.check(t,{validLeaf:Ht,usedIds:Nt})?!1:t.children.every(d=>yt(d,l.box)):!Te.has(t.type)||!ke(l,t.html,{empty:Be(l),file:s})||!_t(t,l)?!1:t.children===void 0?!0:Array.isArray(t.children)&&c?.children?.(t,yt)===!0},Z=(t,n)=>{if(t.unit!==void 0){let y=$t.get(t.unit);return mt(R(y),y.from,n)}if(t.restore!==void 0&&t.children===void 0)return mt(St(t),"",n);let r=Vt[t.type];if(t.type==="divider")return`<hr${at(t.key,t.blockId)}>`;if(t.type==="icon")return Ln(t.icon,at(t.key,t.blockId));let l=n===null?null:n+nt,c=(y,v,N,K=n,C=l)=>C===null?y+v.join("")+N:y+v.map(W=>h+C+W).join("")+h+K+N,d=y=>t.children.map(v=>Z(v,y));if(t.restore!==void 0&&t.boxKeys!==void 0){let y=St(t),{element:v,kind:N}=vt(y),K=Ee(v,N).flatMap(({element:C,key:W})=>{let T=t.children.filter((rt,Ct)=>t.boxKeys[Ct]===W);if(T.length===0)return[];let{startTag:q,endTag:U}=C.sourceCodeLocation,J=n===null?null:G(y,q.startOffset),ft=J===null?null:J+nt;return[{start:q.endOffset,end:U.startOffset,text:c("",T.map(rt=>Z(rt,ft)),"",J,ft)}]}).sort((C,W)=>W.start-C.start).reduce((C,{start:W,end:T,text:q})=>C.slice(0,W)+q+C.slice(T),y);return mt(K,"",n)}if(t.restore!==void 0){let y=St(t),{element:v}=vt(y),{startTag:N,endTag:K}=v.sourceCodeLocation,C=v.childNodes.findLastIndex(T=>T.tagName),W=v.childNodes.slice(C+1).filter(T=>T.nodeName==="#comment").map(({sourceCodeLocation:{startOffset:T,endOffset:q}})=>mt(y.slice(T,q),G(y,T),l));return c(mt(y.slice(0,N.endOffset),"",n),[...d(l),...W],K?y.slice(K.startOffset):`</${r.tag}>`)}let x={get id(){return at(t.key,t.blockId)},get language(){return Tn(s)},idOf:y=>at(y.key,y.blockId),render:(y,v)=>Z(y,v),indent:n,inner:l,step:nt,block:c,children:d,deep:y=>n===null?null:n+nt.repeat(y)},S=Q[t.type]?.write;if(r.bare&&S)return S(t,x);if(!r.box)return t.children?S(t,x):te(r,t,at(t.key,t.blockId));if(S)return S(t,x);let f=[r.className,...t.classes??[]].filter(Boolean).join(" ");return c(`<${r.tag}${f?` class="${f}"`:""}${at(t.key,t.blockId)}>`,d(l),`</${r.tag}>`)},it=[],le=t=>{let{insert:n,place:r}=t,l=T=>u.push({unit:t.id,reason:T}),c=n?.restore!==void 0?vt(n.restore):null;if(n?.type==="icon"||c?.kind==="icon"){let T=Number.isInteger(r?.into)?a.boxes[r.into]:null,q=T?null:a.units[Number.isInteger(r?.after)?r.after:r?.before],U=T??(q?a.boxes[q.box]:null);if(ln(U?.kind,"icon")){if(!yt(n,U.kind))return l("invalid");if(U.innerEnd===null)return l("missing");let rt=a.units.find(Re=>Re.box===U.id&&Re.kind!=="icon"),Ct=rt?rt.start:U.innerEnd,Bt=G(s,Ct);it.push({at:Ct,seq:o++,text:()=>Z(n,Bt)+(Bt===null?"":h+Bt)});return}if(!yt(n,"header"))return l("invalid");let J=p.find(rt=>rt.kind==="title");if(!J)return l("missing");let ft=G(s,J.start);it.push({at:J.start,seq:o++,text:()=>Z(n,ft)+(ft===null?"":h+ft)}),X=c?Mn(c.source):n.icon;return}if(n?.type==="tab"||c?.kind==="tab")return Mt(t,c,l);let d=Number.isInteger(r?.into)?a.boxes[r.into]:null,x=Number.isInteger(r?.after),S=d?null:a.units[x?r.after:r?.before],f=d??(S?a.boxes[S.box]:null),y=n?.restore!==void 0?vt(n.restore):null,v=y?f&&y.kind==="item"?Oe(y.element,f.kind):y.kind:Vt[n?.type]?.kind;if(!f||!v||!(ye(f.kind,v)||n.stood===f.kind)||S&&!Tt.has(S.id))return l("position");let N=new Set(Lt);if(!yt(n,f.kind))return l("invalid");for(let T of Lt){if(N.has(T))continue;let q=a.units[T];ct(q);let U={start:q.start,end:q.end,at:null,from:G(s,q.start)};$t.set(T,U),dt.push(U)}if(d){if(d.innerEnd===null)return l("missing");let T=Wt(d);if(T!==null){it.push({at:d.innerEnd,seq:o++,text:()=>h+T+nt+Z(n,T+nt)+h+T});return}let q=G(s,d.innerEnd),U=Zt(d,q),J=q!==null&&U.startsWith(q)?U.slice(q.length):nt,ft=a.units.filter(Bt=>Bt.box===d.id),rt=be(d.kind)==="root"&&On.has(v)&&(ft.some(Bt=>Tt.has(Bt.id))||!d.pure&&(ft.length>0||n.restore!==void 0))?h:"",Ct=Ut(d,q);it.push({at:Ct?d.innerEnd-q.length:d.innerEnd,seq:o++,text:()=>q===null?Z(n,null):Ct?rt+q+J+Z(n,U)+h:J+Z(n,U)+h+q});return}let K=x?S.end:S.start;if(be(f.kind)==="root"){let T=Y(S.box,S,S),q=x?T.includes(`
|
|
8
|
+
`)?T.slice(T.lastIndexOf(`
|
|
9
|
+
`)+1):null:G(s,S.start);it.push({at:K,seq:o++,text:()=>x?T+Z(n,q):Z(n,q)+T});return}let C=G(s,S.start),W=C===null?"":h+C;it.push({at:K,seq:o++,text:()=>x?W+Z(n,C):Z(n,C)+W})},Mt=({insert:t,place:n},r,l)=>{let c=Number.isInteger(n?.after),d=a.units[c?n.after:n?.before];if(d?.kind!=="tab"||!Tt.has(d.id))return l("position");if(!yt(t,"tabs"))return l("invalid");let x=d.companion,S=a.units[d.parent??-1];if(!x||!S)return l("missing");let f=r?fn(r.element,Cn.tabKey):t.sheet,y=s.slice(S.start,S.end);if(y.includes(`data-sheet-tab="${f}"`)||y.includes(`data-doc-sheet="${f}"`))return l("invalid");let v=G(s,d.start),N=G(s,x.start),K=(U,J)=>U===null?J:c?h+U+J:J+h+U,C=()=>r?mt(St(t),"",v):Ze({...t,sheet:f},at(t.key,t.blockId)),W=()=>{if(r)return mt(r.panel,"",N);let U=`<div data-doc-sheet="${f}">`;if(t.children.length===0)return N===null?`${U}</div>`:`${U}${h}${N}</div>`;let J=N===null?null:N+nt,ft=t.children.map(rt=>Z(rt,J));return J===null?U+ft.join("")+"</div>":U+ft.map(rt=>h+J+rt).join("")+h+N+"</div>"};it.push({at:c?d.end:d.start,seq:o++,text:()=>K(v,C())});let T=c?/^\s*/.exec(s.slice(x.end))[0]:/\s*$/.exec(s.slice(0,x.start))[0],q=N!==null&&/\n[ \t]*\r?\n/.test(T)?h:"";it.push({at:c?x.end:x.start,seq:o++,text:()=>c?q+K(N,W()):K(N,W())+q})},Ie=(t,n)=>{let r=t.node?.sourceCodeLocation;if(t.at===void 0||!r)return tt(t,"unknown");ct(t),L.push(...je(s,r.startTag,[["style",l=>Ge(l?.value??"",n)||null]]))},D=(t,n)=>{let r=t.node?.sourceCodeLocation;if(t.at===void 0||!r)return tt(t,"unknown");ct(t),L.push(...je(s,r.startTag,n))},jt=new Map,pt=new Map,At=new Map,ot=new Set(w.filter(t=>t?.remove===!0).map(t=>t.id)),ht=new Set(w.filter(t=>t?.move).map(t=>t.id)),bt=new Map,ae=(t,n)=>n?.unit!==void 0?bt.set(n.unit,t.id):Array.isArray(n?.children)&&n.children.forEach(r=>ae(t,r));w.forEach(t=>ae(t,t?.insert));let ce=new Map(w.filter(t=>Number.isInteger(t?.id)&&t.replace).map(t=>[t.id,t.replace])),Qt=t=>Vt[ce.get(t.id)?.type]?.kind??t.kind,Tt=new Set(a.units.map(t=>t.id).filter(t=>!ot.has(t)&&!ht.has(t)&&!bt.has(t)&&!_.has(t))),fe=a.units.filter(t=>ht.has(t.id)||bt.has(t.id)),Se=(t,n)=>r=>n.some(l=>l!==t&&t.start<=l.start&&l.end<=t.end&&l.start<=r&&r<l.end),e=t=>!!t.keep&&!t.keep.at.every(Se(t,fe)),i=(t,n)=>{let r=[L,j,dt,it],l=r.map(c=>c.length);n(),r.forEach((c,d)=>c.slice(l[d]).forEach(x=>x.of??=t))},o=0;for(let t of w){let{id:n,remove:r,toggle:l,on:c,move:d,size:x,value:S,attribute:f,stood:y}=t??{},v=Number.isInteger(n)?a.units[n]:void 0;i([{unit:n}],()=>{if(t?.insert&&typeof n=="string")le(t);else if(v&&t.replace){let N=u.length;Rt(v,t.replace),u.length>N&&ce.delete(v.id)}else v&&t.retag?re(v,t.retag):v&&(t.table||t.source)?oe(v,t.table??t.source):v&&r===!0?e(v)?u.push({unit:n,reason:"referenced"}):v.kind==="tab"&&a.units.every(N=>N.box!==v.box||ot.has(N.id))?u.push({unit:n,reason:"last"}):(v.kind==="icon"&&!ln(a.boxes[v.box]?.kind,"icon")&&(xt=!0),Gt(v)):v&&d&&typeof d=="object"&&!ot.has(n)?_.has(n)||Jt(v,d,Tt,y):v&&typeof c=="boolean"&&(cn[v.kind]??[]).includes(l)?(jt.get(v)??jt.set(v,new Map).get(v)).set(l,c):v&&$n[v.kind]?.[x]&&(S===null||an(v.kind,x,S)!==null)?ot.has(n)||(pt.get(v)??pt.set(v,new Map).get(v)).set(x,S===null?null:an(v.kind,x,S)):v&&typeof f=="string"&&En(v.kind,f,S)?ot.has(n)||(At.get(v)??At.set(v,new Map).get(v)).set(f,S):u.push({unit:n,reason:x===void 0&&f===void 0?"unknown":"invalid"})})}let b=new Set(u.map(t=>t.unit).filter(t=>t!==void 0)),M=t=>(ot.has(t.id)||ht.has(t.id)||bt.has(t.id))&&!b.has(bt.get(t.id)??t.id);for(let t of a.boxes){if(!["list","quote"].includes(t.kind)||!t.pure||t.unit===null)continue;let n=a.units[t.unit];if(!n||ot.has(n.id)||ht.has(n.id)||bt.has(n.id))continue;let r=a.units.filter(c=>c.box===t.id);if(r.length===0||!r.every(M))continue;let l=c=>!!c&&(c.into===t.id||[n,...r].some(d=>c.after===d.id||c.before===d.id));w.some(c=>l(c?.insert?c.place:c?.move))||Gt(n)}for(let[t,n]of jt)i([{unit:t.id}],()=>ne(t,n));for(let[t,n]of pt)i([{unit:t.id}],()=>Ie(t,n));for(let[t,n]of At)i([{unit:t.id}],()=>D(t,n));for(let t of O)ct(a.units[t]);let E=new Set([...H.keys()].map(t=>p[t].wrapper).filter(Boolean));for(let t of E){let n=t.ids.map(r=>H.get(r));n.some(r=>!r)||j.some(r=>r.start<=t.start&&t.end<=r.end)||(n.forEach(r=>r.skip=!0),L.push({...Me(s,t.start,t.end),of:t.ids.map(r=>({id:r}))}))}if(z&&z.from!==z.to){let t=Ve(s,z);z.synced=!!t,t&&L.push(t)}else z=null;let $=new Map;for(let t of j){let n=`${t.start}:${t.end}`;$.has(n)?$.get(n).of=[...$.get(n).of??[],...t.of??[]]:$.set(n,t)}j.splice(0,j.length,...$.values());let A=(t,n)=>{t.of?.length||u.push({reason:n});for(let r of t.of??[])u.push({...r,reason:n})},B=(t,n,r)=>n===r?t.start<n&&n<t.end:t.start<=n&&r<=t.end,F=(t,n,r,l=null)=>{let c=null;for(let d of dt){let x=l!==null&&d.start===l.start&&d.end===l.end;d!==r&&(x||B(d,t,n))&&(!c||d.start>=c.start)&&(c=d)}return c},V=(t,n,r,l=null)=>{let c=F(t,n,r,l);return j.some(d=>d!==r&&B(d,t,n)&&!(c&&B(d,c.start,c.end)))},P=new Set,R=t=>{if(P.has(t))return A(t,"position"),"";P.add(t);try{return Et(t)}finally{P.delete(t)}},Et=t=>{let[n,r]=t?[t.start,t.end]:[0,s.length],l=(f,y,v=null,N=null)=>F(f,y,v,N)===t&&!V(f,y,v,N),c=[];for(let f of[...j,...dt].filter(y=>y!==t&&l(y.start,y.end,y)).sort((y,v)=>y.start-v.start)){let y=c.at(-1);y&&(f.start<=y.end||!s.slice(y.end,f.start).trim())?(y.end=Math.max(y.end,f.end),y.of.push(...f.of??[])):c.push({start:f.start,end:f.end,of:[...f.of??[]]})}let d=[...L.filter(f=>!f.skip&&l(f.start,f.end,null,f.edge??null)).map(f=>({...f,seq:f.seq??-2})),...c.map(f=>({...We(s,f.start,f.end),seq:-1,of:f.of})),...[...dt.filter(f=>f.at!==null),...it].filter(f=>l(f.at,f.at,f)).map(f=>({start:f.at,end:f.at,seq:f.seq,text:f.text?f.text():f.wrap(mt(R(f),f.from,f.to)),of:f.of}))].sort((f,y)=>f.start-y.start||f.end-f.start-(y.end-y.start)||f.seq-y.seq),x=[];for(let f of d)x.length>0&&f.start<x.at(-1).end?A(f,"overlap"):x.push(f);let S=s.slice(n,r);for(let f of x.reverse())S=S.slice(0,f.start-n)+f.text+S.slice(f.end-n);return S},Ft=R(null);if(u.length>0&&!g)return{ok:!1,conflicts:u};let He=X??(xt?null:void 0);return{ok:u.length===0,text:Ft,version:pe(Ft),ids:{assigned:se,created:Kt},...z?{title:z}:{},...He!==void 0?{icon:He}:{},...g?{conflicts:u}:{}}}import{attr as bn}from"../browser/shared/html-tree.mjs";import{outsideKey as _n}from"../browser/shared/ids.mjs";Ae();import{commonPrefix as dn,commonRun as bs,commonSuffix as pn,mergeText as hn}from"../browser/editor/page/merge.mjs";var ee=new Map;function xe(s){let m=ee.get(s);if(m)return m;let w=/data-block-id/i.test(s)?De(s,[ue(s,{sourceCodeLocationInfo:!0})]):[],g="",k=0,O=0,I=[];for(let p of w)g+=s.slice(k,p.start),k=p.end,O+=p.end-p.start,I.push({at:g.length,end:p.end,removed:O});g+=s.slice(k);let a={text:g,at:p=>p-(I.findLast(h=>h.end<=p)?.removed??0),source:p=>p+(I.findLast(h=>h.at<=p)?.removed??0)};for(ee.set(s,a);ee.size>4;)ee.delete(ee.keys().next().value);return a}function ze(s,m,w,g=w.start){let[k,O]=[xe(s),xe(m)],I=k.at(w.start),a=k.text.slice(I,k.at(w.end)),p=H=>O.source(H+k.at(g)-I),h=H=>{let z=[];for(let X=H.indexOf(a);X>=0;X=H.indexOf(a,X+1))z.push(X);return z},u=h(O.text);if(u.length<=1&&h(k.text).length<=1)return u.length===1?p(u[0]):-1;let L=k.text.slice(Math.max(0,I-120),I),j=u.filter(H=>O.text.slice(Math.max(0,H-L.length),H)===L);return j.length===1?p(j[0]):u.length>1?-2:-1}function Ue(s,m,w,g){let[O,I]=[xe(s),xe(m)],[a,p]=[O.at(w.start),O.at(w.end)],h=O.text.slice(Math.max(0,a-400),a),u=O.text.slice(p,p+400),L=g.filter(z=>z.tag===w.tag).map(z=>{let[X,xt]=[I.at(z.start),I.at(z.end)];return{other:z,score:pn(h,I.text.slice(Math.max(0,X-400),X))+dn(u,I.text.slice(xt,xt+400))}}).sort((z,X)=>X.score-z.score),[j,H]=L;return j&&j.score>=40&&j.score-(H?.score??0)>=20?j.other:null}function mn(s,m){let w=p=>p.replace(/<[^>]*>/g," ").replace(/&(?:[a-z]+|#\d+);/gi," ").replace(/\s+/g," ").trim(),g=w(s),k=w(m);if(!g||!k)return!g&&!k;if(g.length<2||k.length<2)return g===k;let O=p=>{let h=new Map;for(let u=0;u<p.length-1;u++)h.set(p.slice(u,u+2),(h.get(p.slice(u,u+2))??0)+1);return h},I=O(k),a=0;for(let[p,h]of O(g))a+=Math.min(h,I.get(p)??0);return 2*a/(g.length-1+k.length-1)>=.5}Ae();import{IDENTITY as qn}from"../browser/editor/components/registry.mjs";import{escapeAttribute as Pn}from"../browser/shared/escape.mjs";import{attr as kn}from"../browser/shared/html-tree.mjs";import{CHART_DATA as _e,CHART_SOURCE as we,nextChartKey as Kn}from"../browser/shared/table-chart.mjs";function gn(s,m){if(m.size===0||!s.includes(we))return{text:s,keys:{}};let w=[],g=(a,p)=>{for(let h of a.childNodes??[]){if(!h.tagName)continue;let u=p||m.has(kn(h,qn));for(let L of[_e,we]){let j=kn(h,L);j!==void 0&&w.push({name:L,key:j,made:u,at:h.sourceCodeLocation?.attrs?.[L]??null})}g(h.tagName==="template"?h.content:h,u)}};g(ue(s,{sourceCodeLocationInfo:!0}),!1);let k=new Set(w.map(({key:a})=>a)),O={};for(let a of new Set(w.filter(p=>p.made&&p.name===we).map(p=>p.key))){let p=w.filter(u=>u.key===a&&!u.made),h=w.some(u=>u.key===a&&u.made&&u.name===_e);h&&p.length>0?(O[a]=Kn(k),k.add(O[a])):!h&&p.some(u=>u.name===we)&&(O[a]=null)}return{text:w.filter(({name:a,key:p,made:h,at:u})=>h&&u&&Object.hasOwn(O,p)&&!(O[p]===null&&a===_e)).map(({name:a,key:p,at:h})=>O[p]===null?{...Xt(s,h.startOffset,h.endOffset),put:""}:{start:h.startOffset,end:h.endOffset,put:`${a}="${Pn(O[p])}"`}).sort((a,p)=>p.start-a.start).reduce((a,{start:p,end:h,put:u})=>a.slice(0,p)+u+a.slice(h),s),keys:O}}function Hn({current:s,opening:m=null,texts:w=[],units:g=[],touch:k=[],ids:O=!0,seal:I=null,pageIds:a=null}){let p=Ot(s),h=typeof m=="string"?Ot(m):null,u=e=>s.slice(e.innerStart,e.innerEnd),L=null,j=e=>(L??=new Map(p.units.map(i=>[i.id,wt(s,i)]))).get(e.id),H=new Map,z=new Set,X=new Map,xt=new Set(Array.isArray(a)?a.filter(e=>typeof e=="string"):[]),tt=(e,i,o=!0,b=[])=>{let M=R=>!!R.blockId&&xt.has(R.blockId)&&!b.includes(R.blockId),E=xt.size>0?p.units.filter(R=>!M(R)):p.units,$=typeof i=="string"?E.filter(R=>j(R)===i):[],A=e>=0?h?.units[e]:void 0,B=A&&$.length>1?h.units.filter(R=>!M(R)&&wt(m,R)===i):[];if($.length===1)return{unit:$[0]};if(B.length===$.length&&B.includes(A))return{unit:$[B.indexOf(A)]};if(!A)return $.length>1?{reason:"ambiguous"}:{gone:!0};let F=ze(m,s,A,A.elStart),V=F>=0?E.find(R=>R.elStart===F):null;if(V)return{unit:V};if(F===-2||$.length>1)return{reason:"ambiguous"};if(!o)return{gone:!0};let P=Ue(m,s,A,E);return P&&mn(m.slice(A.start,A.end),s.slice(P.start,P.end))?{unit:P,changed:!0}:{gone:!0}},et=e=>{if(!e||typeof e.key!="number"&&typeof e.key!="string")return{reason:"invalid"};if(H.has(e.key))return H.get(e.key);let i,o=typeof e.blockId=="string"?p.units.filter(b=>b.blockId===e.blockId):[];if(o.length===1&&typeof e.id!="string")i={unit:o[0]};else if(typeof e.id=="string"){let b=p.units.filter(M=>M.blockId===e.id);i=b.length===1?{unit:b[0]}:b.length>1?{reason:"ambiguous"}:Number.isInteger(e.open)&&typeof e.openHash=="string"?tt(e.open,e.openHash,!1,[e.id]):{gone:!0}}else Number.isInteger(e.open)?i=tt(e.open,e.hash,!0,[e.blockId]):i={reason:"invalid"};return i.unit&&!i.unit.blockId&&typeof e.blockId=="string"&&X.set(i.unit.id,e.blockId),H.set(e.key,i),i.unit&&ut(e,i)&&z.add(e.key),i},ut=(e,i)=>i.changed||e.hash===null||typeof e.hash=="string"&&j(i.unit)!==e.hash,Gt=new Set(p.units.map(e=>e.blockId).filter(Boolean)),ne=[],It=e=>e?.restore!==void 0?bn(vt(e.restore?.source)?.element??{},yn)??e.blockId:e?.blockId,lt=e=>{let i=It(e);if(typeof i=="string"&&Gt.has(i))return!0;let o=ve[e?.type];return!!o?.keyed&&typeof e.id=="string"&&p.boxes.some(b=>b.kind===o.box&&b.key===e.id)},Pt=e=>{let i=It(e);e?.key!==void 0&&typeof i=="string"&&Gt.has(i)&&ne.push({key:e.key,id:i}),Array.isArray(e?.children)&&e.children.forEach(Pt)},se=(e,i)=>{let o=ve[i?.type];return!!o&&s.slice(e.elStart,e.end)===te(o,i,(e.carried??"")+(e.blockId?` ${yn}="${e.blockId}"`:""))},Kt=(e,i,o)=>Array.isArray(e)&&Array.isArray(i)&&e.length===i.length&&e[0]===i[0]&&e.slice(1).every((b,M)=>b[0]===i[M+1]?.[0]&&b[1]===i[M+1][1]&&(!o||b[2]===i[M+1][2])),Yt=e=>{if(!e||typeof e.before!="string")return{reason:"invalid"};let i=o=>({block:o,changed:u(o)!==e.before});if(e.title){let o=p.blocks.filter(b=>b.kind==="title");return o.length===1?i(o[0]):{reason:o.length?"ambiguous":"missing"}}if(e.unit){let o=et(e.unit);if(!o.unit)return{reason:o.gone?"missing":o.reason};let b=p.blocks.filter($=>$.unit===o.unit.id);if(e.self){let $=b.find(A=>A.self===o.unit.id);return $?i($):{reason:"missing"}}let M=b.find($=>Kt($.path,e.path,!1));if(M&&Kt(M.path,e.path,!0))return i(M);let E=b.filter($=>u($)===e.before);return E.length===1?i(E[0]):{reason:Q[o.unit.kind]?.textParts&&!ut(e.unit,o)?"package":"structure"}}if(Number.isInteger(e.open)||e.outside){let o=p.blocks.filter(A=>A.unit===null&&A.kind!=="title"&&u(A)===e.before);if(o.length===1)return i(o[0]);let b=Number.isInteger(e.open)?h?.blocks[e.open]:null;if(!b||o.length>1)return{reason:o.length>1?"ambiguous":"missing"};let M=ze(m,s,b),E=M>=0?p.blocks.find(A=>A.start===M):null;if(E)return i(E);let $=M===-2?null:Ue(m,s,b,p.blocks.filter(A=>A.unit===null));return $?i($):{reason:M===-2?"ambiguous":"missing"}}return{reason:"invalid"}},ie=e=>{if(e?.main)return p.boxes.find(o=>o.kind==="main")??null;if(e&&!e.unit&&typeof e.kind=="string")return p.boxes.find(o=>o.unit===null&&o.kind===e.kind&&(o.key??null)===(e.key??null))??null;let i=e?.unit?et(e.unit):null;return i?.unit?p.boxes.find(o=>o.unit===i.unit.id&&o.kind===e.kind&&(o.key??null)===(e.key??null))??null:null},at=[],st=e=>{e&&typeof e=="object"&&(typeof e.key=="number"||typeof e.key=="string")&&at.push(e)},zt=e=>{e?.unit!==void 0&&st(e.unit),e?.copy!==void 0&&st(e.copy),Array.isArray(e?.children)&&e.children.forEach(zt)},ct=e=>{st(e?.after),st(e?.before),st(e?.into?.unit)};for(let e of w)st(e?.block?.unit);for(let e of g)st(e?.unit),ct(e?.place),ct(e?.move),zt(e?.insert);k.forEach(st);let St=new Map;for(let e of at){let i=et(e);i.unit&&(St.get(i.unit)??St.set(i.unit,[]).get(i.unit)).push({key:e.key,changed:!!i.changed})}for(let e of St.values())if(!(new Set(e.map(i=>i.key)).size<2))for(let i of e)i.changed&&H.set(i.key,{gone:!0});let kt=new Map,_=new Map,Y=(e,i,o,b={})=>e.set(i,{key:i,status:"conflict",reason:o,...b}),Wt=new Map,Zt=(e,i,o,b)=>{let M=$=>{for(let A=$.unit;A!=null;A=i.units[A]?.parent)if(A===o.id)return!0;return!1};if(!b)return{hash:wt(e,o),theirs:i.blocks.filter(M).map($=>e.slice($.innerStart,$.innerEnd)).join(`
|
|
10
|
+
`)};let E=$=>Object.fromEntries(b.filter(A=>typeof $?.[A]=="string").map(A=>[A,$[A]]));return{theirs:E(Q[o.kind]?.dataOf?.(e,o.node,qt().packages)??{}),parts:E(o.parts)}},Ut=(e,i,o=null,b={})=>{Wt.set(e,{unit:i,held:o}),Y(_,e,"changed",{...Zt(s,p,i,o),...b})},dt=[],Jt=new Map;for(let e of w){let{key:i,block:o}=e??{},b=e?.parts,M=Array.isArray(b)?b.filter(A=>!A?.keep):[];M.some(lt)&&(M.forEach(Pt),b=b.filter(A=>A?.keep||!lt(A)));let E=Yt(o);if(!E.block){E.reason==="missing"&&Array.isArray(b)&&!b.some(A=>A?.keep)&&b.every(lt)?kt.set(i,{key:i,status:"applied"}):Y(kt,i,E.reason);continue}let $=Array.isArray(b)&&b.length===1&&b[0]?.keep&&typeof b[0].html=="string"?b[0].html:null;if(E.changed&&$!==null&&$===u(E.block))kt.set(i,{key:i,status:"applied"});else if(E.changed){let A=$===null?null:hn(o.before,$,u(E.block));if(A===null||ge(E.block,[{keep:!0,html:A}],s)){Y(kt,i,"changed",{theirs:u(E.block)});continue}b=[{keep:!0,html:A}],kt.set(i,{key:i,status:"merged",html:A})}else kt.set(i,{key:i,status:"applied"});Jt.set(E.block.id,i),dt.push({id:E.block.id,parts:b})}let gt=[],_t=new Map,Ht=(e,i)=>_t.set(e,[..._t.get(e)??[],i]),Rt={},oe=e=>{if(e?.into){let b=ie(e.into);return b?{into:b.id}:null}let i=!!e?.after,o=et(i?e.after:e?.before);return o?.unit?{[i?"after":"before"]:o.unit.id}:null},re=null,Nt=e=>{if(e?.unit!==void 0){let b=et(e.unit);return b.unit?{unit:b.unit.id,stood:e.stood}:null}if(e?.restore!==void 0){let{source:b,seal:M}=e.restore??{};if(!I||typeof b!="string"||M!==I(b))return null;let E=Array.isArray(e.children)?e.children.map(Nt):void 0;return E?.includes(null)?null:{restore:b,key:e.key,blockId:e.blockId,stood:e.stood,...E?{type:e.type,children:E}:{}}}if(e?.copy!==void 0){let b=et(e.copy),M=e.keys===void 0?null:Un(e.keys);return e.keys!==void 0&&!M?null:b.unit&&zn.has(b.unit.kind)?{restore:Le(s,b.unit,{keys:M,taken:re??=new Set($e(s))}),key:e.key,blockId:e.blockId}:null}if(!e||typeof e!="object")return null;let i=Q[e.type]?.source;if(i){let b=$=>Le($,{start:0,end:$.length},{taken:re??=new Set($e(s))}),M=Array.isArray(e.children)?e.children.map(Nt):void 0;if(M?.includes(null))return null;let E=i(e,{packages:qt().packages,written:b});return E?{restore:E,key:e.key,blockId:e.blockId,...M?{type:e.type,children:M,boxKeys:e.boxKeys}:{}}:null}let o=Array.isArray(e.children)?e.children.map(Nt):void 0;return o?.includes(null)?null:{...e,...o?{children:o}:{}}},$t=new Set,Lt=e=>[...$t].filter(i=>i!==e&&[e,e.companion].some(o=>o&&o.start<=i.start&&i.end<=o.end)),nt=e=>{if(e?.unit!==void 0){let i=et(e.unit);i.unit&&$t.add(i.unit)}else Array.isArray(e?.children)&&e.children.forEach(nt)};for(let e of g)e?.move?nt({unit:e.unit}):e?.insert&&nt(e.insert);let yt=(e,i)=>{let o=p.boxes.filter(E=>E.unit===e.id),b=new Map(i.map(E=>[et(E).unit,E])),M=p.units.filter(E=>o.some($=>$.id===E.box));return o.every(E=>E.pure)&&M.length>0&&M.every(E=>$t.has(E)||b.has(E)&&!ut(b.get(E),{unit:E}))},Z=new Set,it=e=>{if(e?.unit!==void 0){let i=et(e.unit);i.unit&&Z.add(i.unit)}else Array.isArray(e?.children)&&e.children.forEach(it)},le=[],Mt=new Map;for(let e of g){let i=e?.key;if(e?.insert&<(e.insert)){Pt({...e.insert,key:e.insert.key??i}),_.set(i,{key:i,status:"applied"});continue}if(e?.insert){let B=Nt({...e.insert,key:e.insert.key??i}),F=oe(e.place);if(!B||!F){Y(_,i,!B&&Q[e.insert.type]?.source?Q[e.insert.type].unwritten(e.insert,{packages:qt().packages}):"position");continue}_.set(i,{key:i,status:"applied"}),Ht(i,i),gt.push({id:i,insert:B,place:F}),it(e.insert);continue}let o=et(e?.unit);if(e?.force===!0&&o.gone&&typeof e.hash=="string"&&typeof e.unit.id!="string"){let B=Number.isInteger(e.unit.open)&&e.unit.open>=0?h?.units[e.unit.open]:void 0;o=!h||h.units.some(V=>V!==B&&wt(m,V)===e.hash)?{reason:"ambiguous"}:tt(-1,e.hash,!1,[e.unit.blockId]),o.unit&&!o.unit.blockId&&typeof e.unit.blockId=="string"&&X.set(o.unit.id,e.unit.blockId),H.set(e.unit.key,o)}if(e?.source&&o.gone&&typeof e.unit.id=="string"&&e.parts&&typeof e.parts=="object"){let B=Object.entries(e.parts).filter(([,V])=>typeof V=="string"),F=B.length>0?p.units.filter(V=>V.parts&&!xt.has(V.blockId)&&B.every(([P,R])=>V.parts[P]===R)):[];F.length===1&&(o={unit:F[0]},F[0].blockId||X.set(F[0].id,e.unit.id),H.set(e.unit.key,o),ut(e.unit,o)&&z.add(e.unit.key))}let b=typeof e?.size=="string"||typeof e?.toggle=="string"||typeof e?.attribute=="string",M=e?.remove===!0&&Array.isArray(e.items)&&e.force!==!0&&!!o.unit&&ut(e.unit,o)&&yt(o.unit,e.items);if(e?.remove===!0&&Array.isArray(e.items)&&e.force!==!0&&!M&&(o.gone||o.unit&&ut(e.unit,o))){let B=e.items.map(P=>({ref:P,found:et(P)})),F=B.find(P=>!P.found.unit&&!P.found.gone),V=B.filter(P=>P.found.unit&&!$t.has(P.found.unit));if(F)Y(_,i,F.found.reason);else if(V.some(P=>ut(P.ref,P.found)))o.unit?Ut(i,o.unit):Y(_,i,"changed");else if(V.some(P=>Mt.has(P.found.unit)))Y(_,i,"ambiguous");else{_.set(i,{key:i,status:"applied"});for(let{ref:P,found:R}of V)Mt.set(R.unit,P.key),Ht(R.unit.id,i),gt.push({id:R.unit.id,remove:!0})}continue}if(!o.unit){o.gone&&(e?.remove===!0||b)?_.set(i,{key:i,status:"applied"}):Y(_,i,o.gone?"missing":o.reason);continue}if(e.replace&&se(o.unit,e.replace)){_.set(i,{key:i,status:"applied"});continue}if(e.source){let B=Q[o.unit.kind]?.definition?.(o.unit.node,qt().packages);if(typeof B!="string"||B!==e.definition){Y(_,i,"definition");continue}}if(e.table&&Q[o.unit.kind]?.definition){Y(_,i,"invalid");continue}let E=e.source;if(e.source&&typeof e.source=="object"&&(e.force===!0||ut(e.unit,o))){let B=e.force===!0||!o.changed,F=Et=>B&&Et.every(Ft=>typeof e.parts?.[Ft]=="string"&&e.parts[Ft]===o.unit.parts?.[Ft]),V=Rn(e.source,e.together),P=V.filter(F).flat(),R=V.filter(Et=>!F(Et)).flat();if(R.length>0){if(Ut(i,o.unit,R,P.length>0?{wrote:P}:{}),P.length===0)continue;E=Object.fromEntries(P.map(Et=>[Et,e.source[Et]]))}}else if((e.remove===!0||e.replace||e.table)&&!M&&(e.force===!0?j(o.unit)!==e.hash:ut(e.unit,o))){Ut(i,o.unit);continue}let $=E!==e.source;if(Mt.has(o.unit)&&Mt.get(o.unit)!==e.unit.key){Y(_,i,"ambiguous");continue}Mt.set(o.unit,e.unit.key);let A=null;if(e.remove===!0){A={remove:!0};let{unit:B}=o,F=B.companion?Ye(s,B):mt(s.slice(B.start,B.end),G(s,B.start),"");Rt[i]={source:F,seal:I?I(F):null,...Lt(B).length>0?{around:!0}:{}}}else if(e.move){let B=oe(e.move);if(!B){Y(_,i,"position");continue}A={move:B,stood:e.stood}}else e.replace?A={replace:e.replace}:typeof e.retag=="string"?A={retag:e.retag}:e.table&&typeof e.table=="object"?A={table:e.table}:E&&typeof E=="object"?A={source:E}:typeof e.toggle=="string"?A={toggle:e.toggle,on:e.on}:typeof e.size=="string"?A={size:e.size,value:e.value}:typeof e.attribute=="string"&&(A={attribute:e.attribute,value:e.value});if(!A){Y(_,i,"unknown");continue}$||_.set(i,{key:i,status:"applied"}),Ht(o.unit.id,i),gt.push({id:o.unit.id,...A}),A.move&&Z.add(o.unit),A.remove&&le.push({key:i,unit:o.unit})}for(let{key:e,unit:i}of le)Lt(i).every(o=>Z.has(o))||(Y(_,e,"position"),delete Rt[e],gt.splice(gt.findIndex(o=>o.id===i.id&&o.remove),1));let Ie=[...new Set(k.map(et).filter(e=>e.unit).map(e=>e.unit.id))],D=un({current:s,edits:dt,units:gt,partial:!0,ids:O,touch:Ie,proposals:X}),jt=gn(D.text,new Set((D.ids?.created??[]).map(({id:e})=>e)));D.text=jt.text;for(let e of D.conflicts??[]){e.id!==void 0&&Jt.has(e.id)&&Y(kt,Jt.get(e.id),e.reason);for(let i of _t.get(e.unit)??[])Y(_,i,e.reason),delete Rt[i]}let pt=Ot(D.text),At=new Map,ot=new Map(D.ids.assigned.map(({at:e,id:i})=>[e,i]));for(let[e,i]of H){let o=i.unit?i.unit.blockId??ot.get(i.unit.at):null;o&&At.set(e,o)}for(let[e,{unit:i,held:o}]of Wt){let b=i.blockId??ot.get(i.at),M=b?pt.units.filter(E=>E.blockId===b):[];M.length===1&&_.get(e)?.reason==="changed"&&Object.assign(_.get(e),Zt(D.text,pt,M[0],o))}let ht=new Map([...ne,...D.ids.created].map(({key:e,id:i})=>[e,i])),bt=new Set([...At.values(),...ht.values()]),ae=new Set(pt.units.map(e=>e.blockId).filter(Boolean)),ce=[...bt].filter(e=>!ae.has(e)),Qt=new Map,Tt=new Map,fe=e=>{let o=(Array.isArray(e?.children)?e.children.map(fe).some(Boolean):!1)||[e?.unit,e?.copy].some(b=>b!==void 0&&z.has(b?.key));return e?.key!==void 0&&Tt.set(e.key,o),o};for(let e of g)e?.insert&&fe({...e.insert,key:e.insert.key??e.key});for(let[e,i]of[...At,...[...ht].filter(([o])=>Tt.get(o)!==!0)]){if(z.has(e))continue;let o=pt.units.filter(b=>b.blockId===i);o.length===1&&Qt.set(e,wt(D.text,o[0]))}let Se=g.filter(e=>ve[e?.insert?.type]?.keyed&&typeof e.insert.id=="string"&&_.get(e.key)?.status==="applied").map(e=>({key:e.insert.id,box:ve[e.insert.type].box}));return{text:D.text,version:pe(D.text),texts:[...kt.values()],units:[..._.values()],ids:Object.fromEntries(At),made:Object.fromEntries(ht),hashes:Object.fromEntries(Qt),removed:Rt,gone:ce,file:Vn(D.text,pt,bt,new Set(ht.values())),outside:Dn(D.text,pt),keyed:Fn(D.text,pt,Se),...Object.keys(jt.keys).length>0?{chartKeys:jt.keys}:{},...D.title?{title:D.title}:{},...D.icon!==void 0?{icon:D.icon}:{}}}function Rn(s,m){let w=[];for(let g of[...Array.isArray(m)?m:[],...Object.keys(s).map(k=>[k])]){let k=Array.isArray(g)?g.filter(I=>typeof I=="string"&&Object.hasOwn(s,I)):[],O=w.filter(I=>k.some(a=>I.includes(a)));if(k.length!==0){for(let I of O)w.splice(w.indexOf(I),1);w.push([...new Set([...O.flat(),...k])])}}return w}function Fn(s,m,w){let g={};for(let{key:k,box:O}of w){let I=m.boxes.find(a=>a.kind===O&&a.key===k);I&&(g[k]={units:m.units.filter(a=>a.box===I.id).map(a=>a.blockId??{hash:wt(s,a)})})}return g}function Dn(s,m){let w={};for(let g of m.blocks){let k=g.unit===null?_n(g.kind==="title",bn(g.node,"id")):null;k&&(w[k]=s.slice(g.innerStart,g.innerEnd))}return w}function Vn(s,m,w,g){let k=new Map;for(let a of m.units)a.blockId&&k.set(a.blockId,(k.get(a.blockId)??0)+1);let O=a=>{for(let p=a.parent;p!=null;p=m.units[p].parent)if(g.has(m.units[p].blockId))return!0;return!1},I={};for(let a of m.units){if(!a.blockId||k.get(a.blockId)!==1||!(w.has(a.blockId)||O(a)))continue;let p=a.parent===null?null:m.units[a.parent];I[a.blockId]={kind:a.kind,hash:wt(s,a),keep:a.keep??null,...a.grid?{grid:!0}:{},...a.parts?{parts:a.parts}:{},parent:p?p.blockId??"":null,boxes:m.boxes.filter(h=>h.unit===a.id).map(h=>({kind:h.kind,key:h.key,units:m.units.filter(u=>u.box===h.id).map(u=>u.blockId??{hash:wt(s,u)})})),blocks:m.blocks.filter(h=>h.unit===a.id).map(h=>({...h.self!==null?{self:!0}:{path:h.path},kind:h.kind,caps:Object.keys(h.caps),inner:s.slice(h.innerStart,h.innerEnd),...h.atoms.length>0?{atoms:h.atoms}:{}})),...Q[a.kind]?.definition&&(g.has(a.blockId)||O(a))?{markup:s.slice(a.elStart,a.end)}:{}}}return I}function Vs({current:s,units:m=[]}){let w=Ot(s),g=[];for(let k of m){if(typeof k?.id!="string"||typeof k.key!="string"&&typeof k.key!="number")continue;let O=w.units.filter(a=>a.blockId===k.id);if(O.length===0){g.push({key:k.key,gone:!0});continue}if(O.length>1||k.from===void 0||k.from===k.parent||k.from===""||k.parent==="")continue;(O[0].parent===null?null:w.units[O[0].parent].blockId??"")===k.from&&g.push({key:k.key,moved:!0})}return g}function Gs({current:s,instances:m=[],pageIds:w=null}){let g=Ot(s),k=new Set(Array.isArray(w)?w.filter(I=>typeof I=="string"):[]),O=[];for(let I of m){if(typeof I?.id!="string"||typeof I.key!="string"&&typeof I.key!="number"||!I.parts||typeof I.parts!="object")continue;let a=j=>Object.entries(I.parts).filter(([H,z])=>typeof j.parts?.[H]=="string"&&j.parts[H]!==z?.after&&Array.isArray(z?.before)&&z.before.includes(j.parts[H])),p=g.units.filter(j=>j.blockId===I.id),h=p.length===0?g.units.filter(j=>j.parts&&!k.has(j.blockId)&&a(j).length>0):[],u=p.length===1?p[0]:h.length===1?h[0]:null,L=u?a(u):[];L.length>0&&O.push({key:I.key,parts:Object.fromEntries(L.map(([j])=>[j,u.parts[j]])),markup:s.slice(u.elStart,u.end)})}return O}function Ys({current:s,opening:m=null,texts:w=[],pageIds:g=null}){let k=w.filter(u=>typeof u?.block?.before=="string"&&typeof u.original=="string").map(u=>({entry:u,was:new Set([u.original,...Array.isArray(u.earlier)?u.earlier.filter(L=>typeof L=="string"):[]].filter(L=>L!==u.block.before))})).filter(({was:u})=>u.size>0),O=u=>Hn({current:s,opening:m,ids:!1,pageIds:g,texts:u.map(({entry:{key:L,block:j}})=>({key:L,block:j,parts:[{keep:!0,html:j.before}]}))}).texts,I=O(k),a=new Set(I.filter(u=>u.reason==="overlap").map(u=>u.key)),p=[...I.filter(u=>!a.has(u.key)),...k.filter(({entry:u})=>a.has(u.key)).flatMap(u=>O([u]))],h=new Map(k.map(({entry:u,was:L})=>[u.key,L]));return p.filter(u=>u.status==="merged"&&h.get(u.key)?.has(u.html)).map(({key:u,html:L})=>({key:u,theirs:L}))}export{un as a,bs as b,mn as c,Hn as d,Vs as e,Gs as f,Ys as g};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { createRequire as __galleryRequire } from "node:module"; import { fileURLToPath as __galleryPath } from "node:url"; const require = __galleryRequire(import.meta.url); const __filename = __galleryPath(import.meta.url); const __dirname = __galleryPath(new URL(".", import.meta.url));
|
|
2
|
+
import{a as je}from"./chunk-YEY3RSFQ.mjs";import{c as $e}from"./chunk-W7XHE4CT.mjs";import{a as p,c as S,e as N}from"./chunk-5L7RYZCL.mjs";var T=S((Tr,He)=>{"use strict";var Ve=["nodebuffer","arraybuffer","fragments"],ze=typeof Blob<"u";ze&&Ve.push("blob");He.exports={BINARY_TYPES:Ve,CLOSE_TIMEOUT:3e4,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:ze,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var X=S((kr,re)=>{"use strict";var{EMPTY_BUFFER:Qt}=T(),xe=Buffer[Symbol.species];function Jt(t,e){if(t.length===0)return Qt;if(t.length===1)return t[0];let s=Buffer.allocUnsafe(e),r=0;for(let i=0;i<t.length;i++){let n=t[i];s.set(n,r),r+=n.length}return r<e?new xe(s.buffer,s.byteOffset,r):s}function Ye(t,e,s,r,i){for(let n=0;n<i;n++)s[r+n]=t[n]^e[n&3]}function Ke(t,e){for(let s=0;s<t.length;s++)t[s]^=e[s&3]}function es(t){return t.length===t.buffer.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.length)}function Se(t){if(Se.readOnly=!0,Buffer.isBuffer(t))return t;let e;return t instanceof ArrayBuffer?e=new xe(t):ArrayBuffer.isView(t)?e=new xe(t.buffer,t.byteOffset,t.byteLength):(e=Buffer.from(t),Se.readOnly=!1),e}re.exports={concat:Jt,mask:Ye,toArrayBuffer:es,toBuffer:Se,unmask:Ke};if(!process.env.WS_NO_BUFFER_UTIL)try{let t=p("bufferutil");re.exports.mask=function(e,s,r,i,n){n<48?Ye(e,s,r,i,n):t.mask(e,s,r,i,n)},re.exports.unmask=function(e,s){e.length<32?Ke(e,s):t.unmask(e,s)}}catch{}});var Qe=S((Cr,Ze)=>{"use strict";var Xe=Symbol("kDone"),Ee=Symbol("kRun"),ve=class{constructor(e){this[Xe]=()=>{this.pending--,this[Ee]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[Ee]()}[Ee](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[Xe])}}};Ze.exports=ve});var G=S((Lr,st)=>{"use strict";var Z=p("zlib"),Je=X(),ts=Qe(),{kStatusCode:et}=T(),ss=Buffer[Symbol.species],rs=Buffer.from([0,0,255,255]),ne=Symbol("permessage-deflate"),k=Symbol("total-length"),W=Symbol("callback"),P=Symbol("buffers"),q=Symbol("error"),ie,be=class{constructor(e){if(this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._maxPayload=this._options.maxPayload|0,this._isServer=!!this._options.isServer,this._deflate=null,this._inflate=null,this.params=null,!ie){let s=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;ie=new ts(s)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[W];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let s=this._options,r=e.find(i=>!(s.serverNoContextTakeover===!1&&i.server_no_context_takeover||i.server_max_window_bits&&(s.serverMaxWindowBits===!1||typeof s.serverMaxWindowBits=="number"&&s.serverMaxWindowBits>i.server_max_window_bits)||typeof s.clientMaxWindowBits=="number"&&(typeof i.client_max_window_bits=="number"?s.clientMaxWindowBits>i.client_max_window_bits:!i.client_max_window_bits)));if(!r)throw new Error("None of the extension offers can be accepted");return s.serverNoContextTakeover&&(r.server_no_context_takeover=!0),s.clientNoContextTakeover&&(r.client_no_context_takeover=!0),typeof s.serverMaxWindowBits=="number"&&(r.server_max_window_bits=s.serverMaxWindowBits),typeof s.clientMaxWindowBits=="number"?r.client_max_window_bits=s.clientMaxWindowBits:(r.client_max_window_bits===!0||s.clientMaxWindowBits===!1)&&delete r.client_max_window_bits,r}acceptAsClient(e){let s=e[0];if(this._options.clientNoContextTakeover===!1&&s.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!s.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(s.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&s.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return s}normalizeParams(e){return e.forEach(s=>{Object.keys(s).forEach(r=>{let i=s[r];if(i.length>1)throw new Error(`Parameter "${r}" must have only a single value`);if(i=i[0],r==="client_max_window_bits"){if(i!==!0){let n=+i;if(!Number.isInteger(n)||n<8||n>15)throw new TypeError(`Invalid value for parameter "${r}": ${i}`);i=n}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${r}": ${i}`)}else if(r==="server_max_window_bits"){let n=+i;if(!Number.isInteger(n)||n<8||n>15)throw new TypeError(`Invalid value for parameter "${r}": ${i}`);i=n}else if(r==="client_no_context_takeover"||r==="server_no_context_takeover"){if(i!==!0)throw new TypeError(`Invalid value for parameter "${r}": ${i}`)}else throw new Error(`Unknown parameter "${r}"`);s[r]=i})}),e}decompress(e,s,r){ie.add(i=>{this._decompress(e,s,(n,o)=>{i(),r(n,o)})})}compress(e,s,r){ie.add(i=>{this._compress(e,s,(n,o)=>{i(),r(n,o)})})}_decompress(e,s,r){let i=this._isServer?"client":"server";if(!this._inflate){let n=`${i}_max_window_bits`,o=typeof this.params[n]!="number"?Z.Z_DEFAULT_WINDOWBITS:this.params[n];this._inflate=Z.createInflateRaw({...this._options.zlibInflateOptions,windowBits:o}),this._inflate[ne]=this,this._inflate[k]=0,this._inflate[P]=[],this._inflate.on("error",ns),this._inflate.on("data",tt)}this._inflate[W]=r,this._inflate.write(e),s&&this._inflate.write(rs),this._inflate.flush(()=>{let n=this._inflate[q];if(n){this._inflate.close(),this._inflate=null,r(n);return}let o=Je.concat(this._inflate[P],this._inflate[k]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[k]=0,this._inflate[P]=[],s&&this.params[`${i}_no_context_takeover`]&&this._inflate.reset()),r(null,o)})}_compress(e,s,r){let i=this._isServer?"server":"client";if(!this._deflate){let n=`${i}_max_window_bits`,o=typeof this.params[n]!="number"?Z.Z_DEFAULT_WINDOWBITS:this.params[n];this._deflate=Z.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:o}),this._deflate[k]=0,this._deflate[P]=[],this._deflate.on("data",is)}this._deflate[W]=r,this._deflate.write(e),this._deflate.flush(Z.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let n=Je.concat(this._deflate[P],this._deflate[k]);s&&(n=new ss(n.buffer,n.byteOffset,n.length-4)),this._deflate[W]=null,this._deflate[k]=0,this._deflate[P]=[],s&&this.params[`${i}_no_context_takeover`]&&this._deflate.reset(),r(null,n)})}};st.exports=be;function is(t){this[P].push(t),this[k]+=t.length}function tt(t){if(this[k]+=t.length,this[ne]._maxPayload<1||this[k]<=this[ne]._maxPayload){this[P].push(t);return}this[q]=new RangeError("Max payload size exceeded"),this[q].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[q][et]=1009,this.removeListener("data",tt),this.reset()}function ns(t){if(this[ne]._inflate=null,this[q]){this[W](this[q]);return}t[et]=1007,this[W](t)}});var $=S((Nr,oe)=>{"use strict";var{isUtf8:rt}=p("buffer"),{hasBlob:os}=T(),as=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function fs(t){return t>=1e3&&t<=1014&&t!==1004&&t!==1005&&t!==1006||t>=3e3&&t<=4999}function we(t){let e=t.length,s=0;for(;s<e;)if((t[s]&128)===0)s++;else if((t[s]&224)===192){if(s+1===e||(t[s+1]&192)!==128||(t[s]&254)===192)return!1;s+=2}else if((t[s]&240)===224){if(s+2>=e||(t[s+1]&192)!==128||(t[s+2]&192)!==128||t[s]===224&&(t[s+1]&224)===128||t[s]===237&&(t[s+1]&224)===160)return!1;s+=3}else if((t[s]&248)===240){if(s+3>=e||(t[s+1]&192)!==128||(t[s+2]&192)!==128||(t[s+3]&192)!==128||t[s]===240&&(t[s+1]&240)===128||t[s]===244&&t[s+1]>143||t[s]>244)return!1;s+=4}else return!1;return!0}function ls(t){return os&&typeof t=="object"&&typeof t.arrayBuffer=="function"&&typeof t.type=="string"&&typeof t.stream=="function"&&(t[Symbol.toStringTag]==="Blob"||t[Symbol.toStringTag]==="File")}oe.exports={isBlob:ls,isValidStatusCode:fs,isValidUTF8:we,tokenChars:as};if(rt)oe.exports.isValidUTF8=function(t){return t.length<24?we(t):rt(t)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let t=p("utf-8-validate");oe.exports.isValidUTF8=function(e){return e.length<32?we(e):t(e)}}catch{}});var Le=S((Pr,ht)=>{"use strict";var{Writable:hs}=p("stream"),it=G(),{BINARY_TYPES:cs,EMPTY_BUFFER:nt,kStatusCode:us,kWebSocket:ds}=T(),{concat:Oe,toArrayBuffer:_s,unmask:ms}=X(),{isValidStatusCode:ps,isValidUTF8:ot}=$(),ae=Buffer[Symbol.species],v=0,at=1,ft=2,lt=3,Te=4,ke=5,fe=6,Ce=class extends hs{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||cs[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxBufferedChunks=e.maxBufferedChunks|0,this._maxFragments=e.maxFragments|0,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[ds]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._numFragments=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=v}_write(e,s,r){if(this._opcode===8&&this._state==v)return r();if(this._maxBufferedChunks>0&&this._buffers.length>=this._maxBufferedChunks){r(this.createError(RangeError,"Too many buffered chunks",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS"));return}this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(r)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let r=this._buffers[0];return this._buffers[0]=new ae(r.buffer,r.byteOffset+e,r.length-e),new ae(r.buffer,r.byteOffset,e)}let s=Buffer.allocUnsafe(e);do{let r=this._buffers[0],i=s.length-e;e>=r.length?s.set(this._buffers.shift(),i):(s.set(new Uint8Array(r.buffer,r.byteOffset,e),i),this._buffers[0]=new ae(r.buffer,r.byteOffset+e,r.length-e)),e-=r.length}while(e>0);return s}startLoop(e){this._loop=!0;do switch(this._state){case v:this.getInfo(e);break;case at:this.getPayloadLength16(e);break;case ft:this.getPayloadLength64(e);break;case lt:this.getMask();break;case Te:this.getData(e);break;case ke:case fe:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let s=this.consume(2);if((s[0]&48)!==0){let i=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(i);return}let r=(s[0]&64)===64;if(r&&!this._extensions[it.extensionName]){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(i);return}if(this._fin=(s[0]&128)===128,this._opcode=s[0]&15,this._payloadLength=s[1]&127,this._opcode===0){if(r){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(i);return}if(!this._fragmented){let i=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(i);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let i=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(i);return}this._compressed=r}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let i=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(i);return}if(r){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(i);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let i=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(i);return}}else{let i=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(i);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(s[1]&128)===128,this._isServer){if(!this._masked){let i=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(i);return}}else if(this._masked){let i=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(i);return}this._payloadLength===126?this._state=at:this._payloadLength===127?this._state=ft:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let s=this.consume(8),r=s.readUInt32BE(0);if(r>Math.pow(2,21)-1){let i=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(i);return}this._payloadLength=r*Math.pow(2,32)+s.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let s=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(s);return}this._masked?this._state=lt:this._state=Te}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=Te}getData(e){let s=nt;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}s=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&ms(s,this._mask)}if(this._opcode>7){this.controlMessage(s,e);return}if(this._maxFragments>0&&++this._numFragments>this._maxFragments){let r=this.createError(RangeError,"Too many message fragments",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS");e(r);return}if(this._compressed){this._state=ke,this.decompress(s,e);return}s.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(s)),this.dataMessage(e)}decompress(e,s){this._extensions[it.extensionName].decompress(e,this._fin,(i,n)=>{if(i)return s(i);if(n.length){if(this._messageLength+=n.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let o=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");s(o);return}this._fragments.push(n)}this.dataMessage(s),this._state===v&&this.startLoop(s)})}dataMessage(e){if(!this._fin){this._state=v;return}let s=this._messageLength,r=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._numFragments=0,this._fragments=[],this._opcode===2){let i;this._binaryType==="nodebuffer"?i=Oe(r,s):this._binaryType==="arraybuffer"?i=_s(Oe(r,s)):this._binaryType==="blob"?i=new Blob(r):i=r,this._allowSynchronousEvents?(this.emit("message",i,!0),this._state=v):(this._state=fe,setImmediate(()=>{this.emit("message",i,!0),this._state=v,this.startLoop(e)}))}else{let i=Oe(r,s);if(!this._skipUTF8Validation&&!ot(i)){let n=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(n);return}this._state===ke||this._allowSynchronousEvents?(this.emit("message",i,!1),this._state=v):(this._state=fe,setImmediate(()=>{this.emit("message",i,!1),this._state=v,this.startLoop(e)}))}}controlMessage(e,s){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,nt),this.end();else{let r=e.readUInt16BE(0);if(!ps(r)){let n=this.createError(RangeError,`invalid status code ${r}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");s(n);return}let i=new ae(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!ot(i)){let n=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");s(n);return}this._loop=!1,this.emit("conclude",r,i),this.end()}this._state=v;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=v):(this._state=fe,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=v,this.startLoop(s)}))}createError(e,s,r,i,n){this._loop=!1,this._errored=!0;let o=new e(r?`Invalid WebSocket frame: ${s}`:s);return Error.captureStackTrace(o,this.createError),o.code=n,o[us]=i,o}};ht.exports=Ce});var Be=S((Rr,dt)=>{"use strict";var{Duplex:Br}=p("stream"),{randomFillSync:gs}=p("crypto"),{types:{isUint8Array:ys}}=p("util"),ct=G(),{EMPTY_BUFFER:xs,kWebSocket:Ss,NOOP:Es}=T(),{isBlob:j,isValidStatusCode:vs}=$(),{mask:ut,toBuffer:R}=X(),b=Symbol("kByteLength"),bs=Buffer.alloc(4),le=8*1024,U,V=le,w=0,ws=1,Os=2,Ne=class t{constructor(e,s,r){this._extensions=s||{},r&&(this._generateMask=r,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=w,this.onerror=Es,this[Ss]=void 0}static frame(e,s){let r,i=!1,n=2,o=!1;s.mask&&(r=s.maskBuffer||bs,s.generateMask?s.generateMask(r):(V===le&&(U===void 0&&(U=Buffer.alloc(le)),gs(U,0,le),V=0),r[0]=U[V++],r[1]=U[V++],r[2]=U[V++],r[3]=U[V++]),o=(r[0]|r[1]|r[2]|r[3])===0,n=6);let a;typeof e=="string"?(!s.mask||o)&&s[b]!==void 0?a=s[b]:(e=Buffer.from(e),a=e.length):(a=e.length,i=s.mask&&s.readOnly&&!o);let l=a;a>=65536?(n+=8,l=127):a>125&&(n+=2,l=126);let f=Buffer.allocUnsafe(i?a+n:n);return f[0]=s.fin?s.opcode|128:s.opcode,s.rsv1&&(f[0]|=64),f[1]=l,l===126?f.writeUInt16BE(a,2):l===127&&(f[2]=f[3]=0,f.writeUIntBE(a,4,6)),s.mask?(f[1]|=128,f[n-4]=r[0],f[n-3]=r[1],f[n-2]=r[2],f[n-1]=r[3],o?[f,e]:i?(ut(e,r,f,n,a),[f]):(ut(e,r,e,0,a),[f,e])):[f,e]}close(e,s,r,i){let n;if(e===void 0)n=xs;else{if(typeof e!="number"||!vs(e))throw new TypeError("First argument must be a valid error code number");if(s===void 0||!s.length)n=Buffer.allocUnsafe(2),n.writeUInt16BE(e,0);else{let a=Buffer.byteLength(s);if(a>123)throw new RangeError("The message must not be greater than 123 bytes");if(n=Buffer.allocUnsafe(2+a),n.writeUInt16BE(e,0),typeof s=="string")n.write(s,2);else if(ys(s))n.set(s,2);else throw new TypeError("Second argument must be a string or a Uint8Array")}}let o={[b]:n.length,fin:!0,generateMask:this._generateMask,mask:r,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==w?this.enqueue([this.dispatch,n,!1,o,i]):this.sendFrame(t.frame(n,o),i)}ping(e,s,r){let i,n;if(typeof e=="string"?(i=Buffer.byteLength(e),n=!1):j(e)?(i=e.size,n=!1):(e=R(e),i=e.length,n=R.readOnly),i>125)throw new RangeError("The data size must not be greater than 125 bytes");let o={[b]:i,fin:!0,generateMask:this._generateMask,mask:s,maskBuffer:this._maskBuffer,opcode:9,readOnly:n,rsv1:!1};j(e)?this._state!==w?this.enqueue([this.getBlobData,e,!1,o,r]):this.getBlobData(e,!1,o,r):this._state!==w?this.enqueue([this.dispatch,e,!1,o,r]):this.sendFrame(t.frame(e,o),r)}pong(e,s,r){let i,n;if(typeof e=="string"?(i=Buffer.byteLength(e),n=!1):j(e)?(i=e.size,n=!1):(e=R(e),i=e.length,n=R.readOnly),i>125)throw new RangeError("The data size must not be greater than 125 bytes");let o={[b]:i,fin:!0,generateMask:this._generateMask,mask:s,maskBuffer:this._maskBuffer,opcode:10,readOnly:n,rsv1:!1};j(e)?this._state!==w?this.enqueue([this.getBlobData,e,!1,o,r]):this.getBlobData(e,!1,o,r):this._state!==w?this.enqueue([this.dispatch,e,!1,o,r]):this.sendFrame(t.frame(e,o),r)}send(e,s,r){let i=this._extensions[ct.extensionName],n=s.binary?2:1,o=s.compress,a,l;typeof e=="string"?(a=Buffer.byteLength(e),l=!1):j(e)?(a=e.size,l=!1):(e=R(e),a=e.length,l=R.readOnly),this._firstFragment?(this._firstFragment=!1,o&&i&&i.params[i._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(o=a>=i._threshold),this._compress=o):(o=!1,n=0),s.fin&&(this._firstFragment=!0);let f={[b]:a,fin:s.fin,generateMask:this._generateMask,mask:s.mask,maskBuffer:this._maskBuffer,opcode:n,readOnly:l,rsv1:o};j(e)?this._state!==w?this.enqueue([this.getBlobData,e,this._compress,f,r]):this.getBlobData(e,this._compress,f,r):this._state!==w?this.enqueue([this.dispatch,e,this._compress,f,r]):this.dispatch(e,this._compress,f,r)}getBlobData(e,s,r,i){this._bufferedBytes+=r[b],this._state=Os,e.arrayBuffer().then(n=>{if(this._socket.destroyed){let a=new Error("The socket was closed while the blob was being read");process.nextTick(Pe,this,a,i);return}this._bufferedBytes-=r[b];let o=R(n);s?this.dispatch(o,s,r,i):(this._state=w,this.sendFrame(t.frame(o,r),i),this.dequeue())}).catch(n=>{process.nextTick(Ts,this,n,i)})}dispatch(e,s,r,i){if(!s){this.sendFrame(t.frame(e,r),i);return}let n=this._extensions[ct.extensionName];this._bufferedBytes+=r[b],this._state=ws,n.compress(e,r.fin,(o,a)=>{if(this._socket.destroyed){let l=new Error("The socket was closed while data was being compressed");Pe(this,l,i);return}this._bufferedBytes-=r[b],this._state=w,r.readOnly=!1,this.sendFrame(t.frame(a,r),i),this.dequeue()})}dequeue(){for(;this._state===w&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][b],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][b],this._queue.push(e)}sendFrame(e,s){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],s),this._socket.uncork()):this._socket.write(e[0],s)}};dt.exports=Ne;function Pe(t,e,s){typeof s=="function"&&s(e);for(let r=0;r<t._queue.length;r++){let i=t._queue[r],n=i[i.length-1];typeof n=="function"&&n(e)}}function Ts(t,e,s){Pe(t,e,s),t.onerror(e)}});var vt=S((Ur,Et)=>{"use strict";var{kForOnEventAttribute:Q,kListener:Re}=T(),_t=Symbol("kCode"),mt=Symbol("kData"),pt=Symbol("kError"),gt=Symbol("kMessage"),yt=Symbol("kReason"),z=Symbol("kTarget"),xt=Symbol("kType"),St=Symbol("kWasClean"),C=class{constructor(e){this[z]=null,this[xt]=e}get target(){return this[z]}get type(){return this[xt]}};Object.defineProperty(C.prototype,"target",{enumerable:!0});Object.defineProperty(C.prototype,"type",{enumerable:!0});var I=class extends C{constructor(e,s={}){super(e),this[_t]=s.code===void 0?0:s.code,this[yt]=s.reason===void 0?"":s.reason,this[St]=s.wasClean===void 0?!1:s.wasClean}get code(){return this[_t]}get reason(){return this[yt]}get wasClean(){return this[St]}};Object.defineProperty(I.prototype,"code",{enumerable:!0});Object.defineProperty(I.prototype,"reason",{enumerable:!0});Object.defineProperty(I.prototype,"wasClean",{enumerable:!0});var H=class extends C{constructor(e,s={}){super(e),this[pt]=s.error===void 0?null:s.error,this[gt]=s.message===void 0?"":s.message}get error(){return this[pt]}get message(){return this[gt]}};Object.defineProperty(H.prototype,"error",{enumerable:!0});Object.defineProperty(H.prototype,"message",{enumerable:!0});var J=class extends C{constructor(e,s={}){super(e),this[mt]=s.data===void 0?null:s.data}get data(){return this[mt]}};Object.defineProperty(J.prototype,"data",{enumerable:!0});var ks={addEventListener(t,e,s={}){for(let i of this.listeners(t))if(!s[Q]&&i[Re]===e&&!i[Q])return;let r;if(t==="message")r=function(n,o){let a=new J("message",{data:o?n:n.toString()});a[z]=this,he(e,this,a)};else if(t==="close")r=function(n,o){let a=new I("close",{code:n,reason:o.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});a[z]=this,he(e,this,a)};else if(t==="error")r=function(n){let o=new H("error",{error:n,message:n.message});o[z]=this,he(e,this,o)};else if(t==="open")r=function(){let n=new C("open");n[z]=this,he(e,this,n)};else return;r[Q]=!!s[Q],r[Re]=e,s.once?this.once(t,r):this.on(t,r)},removeEventListener(t,e){for(let s of this.listeners(t))if(s[Re]===e&&!s[Q]){this.removeListener(t,s);break}}};Et.exports={CloseEvent:I,ErrorEvent:H,Event:C,EventTarget:ks,MessageEvent:J};function he(t,e,s){typeof t=="object"&&t.handleEvent?t.handleEvent.call(t,s):t.call(e,s)}});var ce=S((Ir,bt)=>{"use strict";var{tokenChars:ee}=$();function O(t,e,s){t[e]===void 0?t[e]=[s]:t[e].push(s)}function Cs(t){let e=Object.create(null),s=Object.create(null),r=!1,i=!1,n=!1,o,a,l=-1,f=-1,h=-1,c=0;for(;c<t.length;c++)if(f=t.charCodeAt(c),o===void 0)if(h===-1&&ee[f]===1)l===-1&&(l=c);else if(c!==0&&(f===32||f===9))h===-1&&l!==-1&&(h=c);else if(f===59||f===44){if(l===-1)throw new SyntaxError(`Unexpected character at index ${c}`);h===-1&&(h=c);let g=t.slice(l,h);f===44?(O(e,g,s),s=Object.create(null)):o=g,l=h=-1}else throw new SyntaxError(`Unexpected character at index ${c}`);else if(a===void 0)if(h===-1&&ee[f]===1)l===-1&&(l=c);else if(f===32||f===9)h===-1&&l!==-1&&(h=c);else if(f===59||f===44){if(l===-1)throw new SyntaxError(`Unexpected character at index ${c}`);h===-1&&(h=c),O(s,t.slice(l,h),!0),f===44&&(O(e,o,s),s=Object.create(null),o=void 0),l=h=-1}else if(f===61&&l!==-1&&h===-1)a=t.slice(l,c),l=h=-1;else throw new SyntaxError(`Unexpected character at index ${c}`);else if(i){if(ee[f]!==1)throw new SyntaxError(`Unexpected character at index ${c}`);l===-1?l=c:r||(r=!0),i=!1}else if(n)if(ee[f]===1)l===-1&&(l=c);else if(f===34&&l!==-1)n=!1,h=c;else if(f===92)i=!0;else throw new SyntaxError(`Unexpected character at index ${c}`);else if(f===34&&t.charCodeAt(c-1)===61)n=!0;else if(h===-1&&ee[f]===1)l===-1&&(l=c);else if(l!==-1&&(f===32||f===9))h===-1&&(h=c);else if(f===59||f===44){if(l===-1)throw new SyntaxError(`Unexpected character at index ${c}`);h===-1&&(h=c);let g=t.slice(l,h);r&&(g=g.replace(/\\/g,""),r=!1),O(s,a,g),f===44&&(O(e,o,s),s=Object.create(null),o=void 0),a=void 0,l=h=-1}else throw new SyntaxError(`Unexpected character at index ${c}`);if(l===-1||n||f===32||f===9)throw new SyntaxError("Unexpected end of input");h===-1&&(h=c);let _=t.slice(l,h);return o===void 0?O(e,_,s):(a===void 0?O(s,_,!0):r?O(s,a,_.replace(/\\/g,"")):O(s,a,_),O(e,o,s)),e}function Ls(t){return Object.keys(t).map(e=>{let s=t[e];return Array.isArray(s)||(s=[s]),s.map(r=>[e].concat(Object.keys(r).map(i=>{let n=r[i];return Array.isArray(n)||(n=[n]),n.map(o=>o===!0?i:`${i}=${o}`).join("; ")})).join("; ")).join(", ")}).join(", ")}bt.exports={format:Ls,parse:Cs}});var me=S((Mr,It)=>{"use strict";var Ns=p("events"),Ps=p("https"),Bs=p("http"),Tt=p("net"),Rs=p("tls"),{randomBytes:Us,createHash:Is}=p("crypto"),{Duplex:Dr,Readable:Ar}=p("stream"),{URL:Ue}=p("url"),B=G(),Ds=Le(),As=Be(),{isBlob:Ms}=$(),{BINARY_TYPES:wt,CLOSE_TIMEOUT:Fs,EMPTY_BUFFER:ue,GUID:Ws,kForOnEventAttribute:Ie,kListener:qs,kStatusCode:Gs,kWebSocket:y,NOOP:kt}=T(),{EventTarget:{addEventListener:$s,removeEventListener:js}}=vt(),{format:Vs,parse:zs}=ce(),{toBuffer:Hs}=X(),Ct=Symbol("kAborted"),De=[8,13],L=["CONNECTING","OPEN","CLOSING","CLOSED"],Ys=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,d=class t extends Ns{constructor(e,s,r){super(),this._binaryType=wt[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=ue,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=t.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,s===void 0?!r||r.protocols===void 0?s=[]:Array.isArray(r.protocols)?s=r.protocols:s=[r.protocols]:Array.isArray(s)||(typeof s=="object"&&s!==null?(r=s,r.protocols===void 0?s=[]:Array.isArray(r.protocols)?s=r.protocols:s=[r.protocols]):s=[s]),Lt(this,e,s,r)):(this._autoPong=r.autoPong,this._closeTimeout=r.closeTimeout,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){wt.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,s,r){let i=new Ds({allowSynchronousEvents:r.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxBufferedChunks:r.maxBufferedChunks,maxFragments:r.maxFragments,maxPayload:r.maxPayload,skipUTF8Validation:r.skipUTF8Validation}),n=new As(e,this._extensions,r.generateMask);this._receiver=i,this._sender=n,this._socket=e,i[y]=this,n[y]=this,e[y]=this,i.on("conclude",Zs),i.on("drain",Qs),i.on("error",Js),i.on("message",er),i.on("ping",tr),i.on("pong",sr),n.onerror=rr,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),s.length>0&&e.unshift(s),e.on("close",Bt),e.on("data",_e),e.on("end",Rt),e.on("error",Ut),this._readyState=t.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[B.extensionName]&&this._extensions[B.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,s){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){E(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===t.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._sender.close(e,s,!this._isServer,r=>{r||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),this._readyState=t.CLOSING,Pt(this)}}pause(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,s,r){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(r=e,e=s=void 0):typeof s=="function"&&(r=s,s=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Ae(this,e,r);return}s===void 0&&(s=!this._isServer),this._sender.ping(e||ue,s,r)}pong(e,s,r){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(r=e,e=s=void 0):typeof s=="function"&&(r=s,s=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Ae(this,e,r);return}s===void 0&&(s=!this._isServer),this._sender.pong(e||ue,s,r)}resume(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,s,r){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof s=="function"&&(r=s,s={}),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Ae(this,e,r);return}let i={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...s};this._extensions[B.extensionName]||(i.compress=!1),this._sender.send(e||ue,i,r)}terminate(){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){E(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=t.CLOSING,this._socket.destroy())}}};Object.defineProperty(d,"CONNECTING",{enumerable:!0,value:L.indexOf("CONNECTING")});Object.defineProperty(d.prototype,"CONNECTING",{enumerable:!0,value:L.indexOf("CONNECTING")});Object.defineProperty(d,"OPEN",{enumerable:!0,value:L.indexOf("OPEN")});Object.defineProperty(d.prototype,"OPEN",{enumerable:!0,value:L.indexOf("OPEN")});Object.defineProperty(d,"CLOSING",{enumerable:!0,value:L.indexOf("CLOSING")});Object.defineProperty(d.prototype,"CLOSING",{enumerable:!0,value:L.indexOf("CLOSING")});Object.defineProperty(d,"CLOSED",{enumerable:!0,value:L.indexOf("CLOSED")});Object.defineProperty(d.prototype,"CLOSED",{enumerable:!0,value:L.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(t=>{Object.defineProperty(d.prototype,t,{enumerable:!0})});["open","error","close","message"].forEach(t=>{Object.defineProperty(d.prototype,`on${t}`,{enumerable:!0,get(){for(let e of this.listeners(t))if(e[Ie])return e[qs];return null},set(e){for(let s of this.listeners(t))if(s[Ie]){this.removeListener(t,s);break}typeof e=="function"&&this.addEventListener(t,e,{[Ie]:!0})}})});d.prototype.addEventListener=$s;d.prototype.removeEventListener=js;It.exports=d;function Lt(t,e,s,r){let i={allowSynchronousEvents:!0,autoPong:!0,closeTimeout:Fs,protocolVersion:De[1],maxBufferedChunks:262144,maxFragments:16384,maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...r,socketPath:void 0,hostname:void 0,protocol:void 0,protocols:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(t._autoPong=i.autoPong,t._closeTimeout=i.closeTimeout,!De.includes(i.protocolVersion))throw new RangeError(`Unsupported protocol version: ${i.protocolVersion} (supported versions: ${De.join(", ")})`);let n;if(e instanceof Ue)n=e;else try{n=new Ue(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}n.protocol==="http:"?n.protocol="ws:":n.protocol==="https:"&&(n.protocol="wss:"),t._url=n.href;let o=n.protocol==="wss:",a=n.protocol==="ws+unix:",l;if(n.protocol!=="ws:"&&!o&&!a?l=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:a&&!n.pathname?l="The URL's pathname is empty":n.hash&&(l="The URL contains a fragment identifier"),l){let u=new SyntaxError(l);if(t._redirects===0)throw u;de(t,u);return}let f=o?443:80,h=Us(16).toString("base64"),c=o?Ps.request:Bs.request,_=new Set,g;if(i.createConnection=i.createConnection||(o?Xs:Ks),i.defaultPort=i.defaultPort||f,i.port=n.port||f,i.host=n.hostname.startsWith("[")?n.hostname.slice(1,-1):n.hostname,i.headers={...i.headers,"Sec-WebSocket-Version":i.protocolVersion,"Sec-WebSocket-Key":h,Connection:"Upgrade",Upgrade:"websocket"},i.path=n.pathname+n.search,i.timeout=i.handshakeTimeout,i.perMessageDeflate&&(g=new B({...i.perMessageDeflate,isServer:!1,maxPayload:i.maxPayload}),i.headers["Sec-WebSocket-Extensions"]=Vs({[B.extensionName]:g.offer()})),s.length){for(let u of s){if(typeof u!="string"||!Ys.test(u)||_.has(u))throw new SyntaxError("An invalid or duplicated subprotocol was specified");_.add(u)}i.headers["Sec-WebSocket-Protocol"]=s.join(",")}if(i.origin&&(i.protocolVersion<13?i.headers["Sec-WebSocket-Origin"]=i.origin:i.headers.Origin=i.origin),(n.username||n.password)&&(i.auth=`${n.username}:${n.password}`),a){let u=i.path.split(":");i.socketPath=u[0],i.path=u[1]}let m;if(i.followRedirects){if(t._redirects===0){t._originalIpc=a,t._originalSecure=o,t._originalHostOrSocketPath=a?i.socketPath:n.host;let u=r&&r.headers;if(r={...r,headers:{}},u)for(let[x,M]of Object.entries(u))r.headers[x.toLowerCase()]=M}else if(t.listenerCount("redirect")===0){let u=a?t._originalIpc?i.socketPath===t._originalHostOrSocketPath:!1:t._originalIpc?!1:n.host===t._originalHostOrSocketPath;(!u||t._originalSecure&&!o)&&(delete i.headers.authorization,delete i.headers.cookie,u||delete i.headers.host,i.auth=void 0)}i.auth&&!r.headers.authorization&&(r.headers.authorization="Basic "+Buffer.from(i.auth).toString("base64")),m=t._req=c(i),t._redirects&&t.emit("redirect",t.url,m)}else m=t._req=c(i);i.timeout&&m.on("timeout",()=>{E(t,m,"Opening handshake has timed out")}),m.on("error",u=>{m===null||m[Ct]||(m=t._req=null,de(t,u))}),m.on("response",u=>{let x=u.headers.location,M=u.statusCode;if(x&&i.followRedirects&&M>=300&&M<400){if(++t._redirects>i.maxRedirects){E(t,m,"Maximum redirects exceeded");return}m.abort();let Y;try{Y=new Ue(x,e)}catch{let F=new SyntaxError(`Invalid URL: ${x}`);de(t,F);return}Lt(t,Y,s,r)}else t.emit("unexpected-response",m,u)||E(t,m,`Unexpected server response: ${u.statusCode}`)}),m.on("upgrade",(u,x,M)=>{if(t.emit("upgrade",u),t.readyState!==d.CONNECTING)return;m=t._req=null;let Y=u.headers.upgrade;if(Y===void 0||Y.toLowerCase()!=="websocket"){E(t,x,"Invalid Upgrade header");return}let We=Is("sha1").update(h+Ws).digest("base64");if(u.headers["sec-websocket-accept"]!==We){E(t,x,"Invalid Sec-WebSocket-Accept header");return}let F=u.headers["sec-websocket-protocol"],K;if(F!==void 0?_.size?_.has(F)||(K="Server sent an invalid subprotocol"):K="Server sent a subprotocol but none was requested":_.size&&(K="Server sent no subprotocol"),K){E(t,x,K);return}F&&(t._protocol=F);let qe=u.headers["sec-websocket-extensions"];if(qe!==void 0){if(!g){E(t,x,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let ge;try{ge=zs(qe)}catch{E(t,x,"Invalid Sec-WebSocket-Extensions header");return}let Ge=Object.keys(ge);if(Ge.length!==1||Ge[0]!==B.extensionName){E(t,x,"Server indicated an extension that was not requested");return}try{g.accept(ge[B.extensionName])}catch{E(t,x,"Invalid Sec-WebSocket-Extensions header");return}t._extensions[B.extensionName]=g}t.setSocket(x,M,{allowSynchronousEvents:i.allowSynchronousEvents,generateMask:i.generateMask,maxBufferedChunks:i.maxBufferedChunks,maxFragments:i.maxFragments,maxPayload:i.maxPayload,skipUTF8Validation:i.skipUTF8Validation})}),i.finishRequest?i.finishRequest(m,t):m.end()}function de(t,e){t._readyState=d.CLOSING,t._errorEmitted=!0,t.emit("error",e),t.emitClose()}function Ks(t){return t.path=t.socketPath,Tt.connect(t)}function Xs(t){return t.path=void 0,!t.servername&&t.servername!==""&&(t.servername=Tt.isIP(t.host)?"":t.host),Rs.connect(t)}function E(t,e,s){t._readyState=d.CLOSING;let r=new Error(s);Error.captureStackTrace(r,E),e.setHeader?(e[Ct]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(de,t,r)):(e.destroy(r),e.once("error",t.emit.bind(t,"error")),e.once("close",t.emitClose.bind(t)))}function Ae(t,e,s){if(e){let r=Ms(e)?e.size:Hs(e).length;t._socket?t._sender._bufferedBytes+=r:t._bufferedAmount+=r}if(s){let r=new Error(`WebSocket is not open: readyState ${t.readyState} (${L[t.readyState]})`);process.nextTick(s,r)}}function Zs(t,e){let s=this[y];s._closeFrameReceived=!0,s._closeMessage=e,s._closeCode=t,s._socket[y]!==void 0&&(s._socket.removeListener("data",_e),process.nextTick(Nt,s._socket),t===1005?s.close():s.close(t,e))}function Qs(){let t=this[y];t.isPaused||t._socket.resume()}function Js(t){let e=this[y];e._socket[y]!==void 0&&(e._socket.removeListener("data",_e),process.nextTick(Nt,e._socket),e.close(t[Gs])),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",t))}function Ot(){this[y].emitClose()}function er(t,e){this[y].emit("message",t,e)}function tr(t){let e=this[y];e._autoPong&&e.pong(t,!this._isServer,kt),e.emit("ping",t)}function sr(t){this[y].emit("pong",t)}function Nt(t){t.resume()}function rr(t){let e=this[y];e.readyState!==d.CLOSED&&(e.readyState===d.OPEN&&(e._readyState=d.CLOSING,Pt(e)),this._socket.end(),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",t)))}function Pt(t){t._closeTimer=setTimeout(t._socket.destroy.bind(t._socket),t._closeTimeout)}function Bt(){let t=this[y];if(this.removeListener("close",Bt),this.removeListener("data",_e),this.removeListener("end",Rt),t._readyState=d.CLOSING,!this._readableState.endEmitted&&!t._closeFrameReceived&&!t._receiver._writableState.errorEmitted&&this._readableState.length!==0){let e=this.read(this._readableState.length);t._receiver.write(e)}t._receiver.end(),this[y]=void 0,clearTimeout(t._closeTimer),t._receiver._writableState.finished||t._receiver._writableState.errorEmitted?t.emitClose():(t._receiver.on("error",Ot),t._receiver.on("finish",Ot))}function _e(t){this[y]._receiver.write(t)||this.pause()}function Rt(){let t=this[y];t._readyState=d.CLOSING,t._receiver.end(),this.end()}function Ut(){let t=this[y];this.removeListener("error",Ut),this.on("error",kt),t&&(t._readyState=d.CLOSING,this.destroy())}});var Ft=S((Wr,Mt)=>{"use strict";var Fr=me(),{Duplex:ir}=p("stream");function Dt(t){t.emit("close")}function nr(){!this.destroyed&&this._writableState.finished&&this.destroy()}function At(t){this.removeListener("error",At),this.destroy(),this.listenerCount("error")===0&&this.emit("error",t)}function or(t,e){let s=!0,r=new ir({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return t.on("message",function(n,o){let a=!o&&r._readableState.objectMode?n.toString():n;r.push(a)||t.pause()}),t.once("error",function(n){r.destroyed||(s=!1,r.destroy(n))}),t.once("close",function(){r.destroyed||r.push(null)}),r._destroy=function(i,n){if(t.readyState===t.CLOSED){n(i),process.nextTick(Dt,r);return}let o=!1;t.once("error",function(l){o=!0,n(l)}),t.once("close",function(){o||n(i),process.nextTick(Dt,r)}),s&&t.terminate()},r._final=function(i){if(t.readyState===t.CONNECTING){t.once("open",function(){r._final(i)});return}t._socket!==null&&(t._socket._writableState.finished?(i(),r._readableState.endEmitted&&r.destroy()):(t._socket.once("finish",function(){i()}),t.close()))},r._read=function(){t.isPaused&&t.resume()},r._write=function(i,n,o){if(t.readyState===t.CONNECTING){t.once("open",function(){r._write(i,n,o)});return}t.send(i,o)},r.on("end",nr),r.on("error",At),r}Mt.exports=or});var Me=S((qr,Wt)=>{"use strict";var{tokenChars:ar}=$();function fr(t){let e=new Set,s=-1,r=-1,i=0;for(i;i<t.length;i++){let o=t.charCodeAt(i);if(r===-1&&ar[o]===1)s===-1&&(s=i);else if(i!==0&&(o===32||o===9))r===-1&&s!==-1&&(r=i);else if(o===44){if(s===-1)throw new SyntaxError(`Unexpected character at index ${i}`);r===-1&&(r=i);let a=t.slice(s,r);if(e.has(a))throw new SyntaxError(`The "${a}" subprotocol is duplicated`);e.add(a),s=r=-1}else throw new SyntaxError(`Unexpected character at index ${i}`)}if(s===-1||r!==-1)throw new SyntaxError("Unexpected end of input");let n=t.slice(s,i);if(e.has(n))throw new SyntaxError(`The "${n}" subprotocol is duplicated`);return e.add(n),e}Wt.exports={parse:fr}});var Ht=S(($r,zt)=>{"use strict";var lr=p("events"),pe=p("http"),{Duplex:Gr}=p("stream"),{createHash:hr}=p("crypto"),qt=ce(),D=G(),cr=Me(),ur=me(),{CLOSE_TIMEOUT:dr,GUID:_r,kWebSocket:mr}=T(),pr=/^[+/0-9A-Za-z]{22}==$/,Gt=0,$t=1,Vt=2,Fe=class extends lr{constructor(e,s){if(super(),e={allowSynchronousEvents:!0,autoPong:!0,maxBufferedChunks:256*1024,maxFragments:16*1024,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,closeTimeout:dr,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:ur,...e},e.port==null&&!e.server&&!e.noServer||e.port!=null&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(e.port!=null?(this._server=pe.createServer((r,i)=>{let n=pe.STATUS_CODES[426];i.writeHead(426,{"Content-Length":n.length,"Content-Type":"text/plain"}),i.end(n)}),this._server.listen(e.port,e.host,e.backlog,s)):e.server&&(this._server=e.server),this._server){let r=this.emit.bind(this,"connection");this._removeListeners=gr(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(i,n,o)=>{this.handleUpgrade(i,n,o,r)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=Gt}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(this._state===Vt){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(te,this);return}if(e&&this.once("close",e),this._state!==$t)if(this._state=$t,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients?this.clients.size?this._shouldEmitClose=!0:process.nextTick(te,this):process.nextTick(te,this);else{let s=this._server;this._removeListeners(),this._removeListeners=this._server=null,s.close(()=>{te(this)})}}shouldHandle(e){if(this.options.path){let s=e.url.indexOf("?");if((s!==-1?e.url.slice(0,s):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,s,r,i){s.on("error",jt);let n=e.headers["sec-websocket-key"],o=e.headers.upgrade,a=+e.headers["sec-websocket-version"];if(e.method!=="GET"){A(this,e,s,405,"Invalid HTTP method");return}if(o===void 0||o.toLowerCase()!=="websocket"){A(this,e,s,400,"Invalid Upgrade header");return}if(n===void 0||!pr.test(n)){A(this,e,s,400,"Missing or invalid Sec-WebSocket-Key header");return}if(a!==13&&a!==8){A(this,e,s,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){se(s,400);return}let l=e.headers["sec-websocket-protocol"],f=new Set;if(l!==void 0)try{f=cr.parse(l)}catch{A(this,e,s,400,"Invalid Sec-WebSocket-Protocol header");return}let h=e.headers["sec-websocket-extensions"],c={};if(this.options.perMessageDeflate&&h!==void 0){let _=new D({...this.options.perMessageDeflate,isServer:!0,maxPayload:this.options.maxPayload});try{let g=qt.parse(h);g[D.extensionName]&&(_.accept(g[D.extensionName]),c[D.extensionName]=_)}catch{A(this,e,s,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let _={origin:e.headers[`${a===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(_,(g,m,u,x)=>{if(!g)return se(s,m||401,u,x);this.completeUpgrade(c,n,f,e,s,r,i)});return}if(!this.options.verifyClient(_))return se(s,401)}this.completeUpgrade(c,n,f,e,s,r,i)}completeUpgrade(e,s,r,i,n,o,a){if(!n.readable||!n.writable)return n.destroy();if(n[mr])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>Gt)return se(n,503);let f=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${hr("sha1").update(s+_r).digest("base64")}`],h=new this.options.WebSocket(null,void 0,this.options);if(r.size){let c=this.options.handleProtocols?this.options.handleProtocols(r,i):r.values().next().value;c&&(f.push(`Sec-WebSocket-Protocol: ${c}`),h._protocol=c)}if(e[D.extensionName]){let c=e[D.extensionName].params,_=qt.format({[D.extensionName]:[c]});f.push(`Sec-WebSocket-Extensions: ${_}`),h._extensions=e}this.emit("headers",f,i),n.write(f.concat(`\r
|
|
3
|
+
`).join(`\r
|
|
4
|
+
`)),n.removeListener("error",jt),h.setSocket(n,o,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxBufferedChunks:this.options.maxBufferedChunks,maxFragments:this.options.maxFragments,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(h),h.on("close",()=>{this.clients.delete(h),this._shouldEmitClose&&!this.clients.size&&process.nextTick(te,this)})),a(h,i)}};zt.exports=Fe;function gr(t,e){for(let s of Object.keys(e))t.on(s,e[s]);return function(){for(let r of Object.keys(e))t.removeListener(r,e[r])}}function te(t){t._state=Vt,t.emit("close")}function jt(){this.destroy()}function se(t,e,s,r){s=s||pe.STATUS_CODES[e],r={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(s),...r},t.once("finish",t.destroy),t.end(`HTTP/1.1 ${e} ${pe.STATUS_CODES[e]}\r
|
|
5
|
+
`+Object.keys(r).map(i=>`${i}: ${r[i]}`).join(`\r
|
|
6
|
+
`)+`\r
|
|
7
|
+
\r
|
|
8
|
+
`+s)}function A(t,e,s,r,i,n){if(t.listenerCount("wsClientError")){let o=new Error(i);Error.captureStackTrace(o,A),t.emit("wsClientError",o,s,e)}else se(s,r,i,n)}});var yr=N(Ft(),1),xr=N(ce(),1),Sr=N(G(),1),Er=N(Le(),1),vr=N(Be(),1),br=N(Me(),1),Yt=N(me(),1),wr=N(Ht(),1);var Kt=Yt.default;var Or=3e4,Xt=class t{static create(e,s,r,i={}){return new Promise((n,o)=>{let a=new Kt(e,[],{followRedirects:!0,perMessageDeflate:!1,allowSynchronousEvents:!1,maxPayload:268435456,headers:{"User-Agent":`Puppeteer ${je}`,...s}});a.addEventListener("open",()=>n(new t(a,r,i))),a.addEventListener("error",o)})}#e;#s;#t;onmessage;onclose;constructor(e,s,r={}){this.#e=e,this.#s=s,this.#e.addEventListener("message",i=>{this.onmessage&&this.onmessage.call(null,i.data)}),this.#e.addEventListener("close",()=>{this.#r(),this.onclose&&this.onclose.call(null)}),this.#e.addEventListener("error",i=>{this.#s?.($e.error)?.(i)}),r.keepAlive&&this.#i(r.keepAliveIntervalMs??Or)}#i(e){let s=!1;this.#e.on("pong",()=>{s=!1}),this.#t=setInterval(()=>{if(s){this.#e.terminate();return}s=!0,this.#e.ping()},e),this.#t.unref?.()}#r(){this.#t!==void 0&&(clearInterval(this.#t),this.#t=void 0)}send(e){this.#e.send(e)}close(){this.#r(),this.#e.close()}};export{Or as a,Xt as b};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __galleryRequire } from "node:module"; import { fileURLToPath as __galleryPath } from "node:url"; const require = __galleryRequire(import.meta.url); const __filename = __galleryPath(import.meta.url); const __dirname = __galleryPath(new URL(".", import.meta.url));
|
|
2
|
+
import{a,b}from"./chunk-BFE45AKL.mjs";import"./chunk-5MHMDLZD.mjs";import"./chunk-64K7IPLO.mjs";import"./chunk-NSKUTQ5J.mjs";import"./chunk-5L7RYZCL.mjs";export{a as copiedLines,b as run};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { createRequire as __galleryRequire } from "node:module"; import { fileURLToPath as __galleryPath } from "node:url"; const require = __galleryRequire(import.meta.url); const __filename = __galleryPath(import.meta.url); const __dirname = __galleryPath(new URL(".", import.meta.url));
|
|
2
|
+
import{a as u}from"./chunk-UMHUSOPJ.mjs";import l from"node:fs/promises";import p from"node:path";import{escapeMarkup as b}from"../browser/shared/escape.mjs";import{sha256 as g}from"../browser/shared/files.mjs";import{reportsDirectory as E,starterDirectory as y}from"../browser/shared/paths.mjs";import{listReportSlugs as T,slugPattern as S}from"../browser/shared/reports.mjs";import{documentDirectory as N,documentFiles as $,layoutOf as O,slugTaken as j}from"../browser/shared/workspace.mjs";async function v(t,c){if(!S.test(t))throw new Error(`A document's folder name must be lowercase kebab-case: ${t}`);let s=N(t,c),{html:r,json:n}=$(s),[m,o]=[p.basename(r),p.basename(n)],e,f;try{[e,f]=await Promise.all([l.readFile(r),l.readFile(n,"utf8")])}catch(a){if(a.code!=="ENOENT")throw a;let h=await l.stat(s).then(()=>!0,()=>!1);throw new Error(h?`${s} needs both ${m} and ${o}.`:`${s} does not exist.`)}let i;try{i=JSON.parse(f)}catch(a){throw new Error(`${o} is not valid JSON: ${a.message}`)}for(let a of["title","description","type"])if(typeof i[a]!="string"||i[a].trim()==="")throw new Error(`${o} is missing a non-empty ${a}.`);if(i.source!==void 0&&typeof i.source!="string")throw new Error(`${o} source must be a string when given.`);return{slug:t,directory:s,htmlPath:r,metadataPath:n,html:e.toString("utf8"),fileSha256:g(e),metadata:i}}async function z(t=[],{directory:c=E,prepare:s=null}={}){let r=t.length>0?[...new Set(t)]:await T(c);if(r.length===0)throw new Error(`No documents in ${p.resolve(c)} yet: gallery new <slug> "<title>" makes one.`);let n=[],m=new Map;for(let o of r)try{let e=await v(o,c);s&&([e.written,e.html]=[u(e.html),s(e)]),n.push(e)}catch(e){m.set(o,[e.message])}return{reports:n,failures:m}}var F=/^[a-z]{2,3}(-[A-Za-z0-9]{2,8})*$/,P=/\n[ \t]*<!-- Starter content:[^\n]*-->\n[ \t]*<section\b[^>]*\sdata-doc-placeholder\b[\s\S]*?<\/section>/;async function M(t,c,s,{directory:r=E,blank:n=!1,lang:m=null,page:o=!1}={}){if(!S.test(t))throw new Error("Slug must be lowercase kebab-case.");if(j(t,r))throw Object.assign(new Error(`"${t}" is taken in ${p.resolve(r)}`),{code:"EEXIST"});let e=o?O(r).pages:p.resolve(r),f=p.join(e,t),{html:i,metadata:a}=await R(t,c,s,{blank:n,lang:m});await l.mkdir(e,{recursive:!0}),await l.mkdir(f,{recursive:!1});let h=$(f);return await Promise.all([l.writeFile(h.html,i),l.writeFile(h.json,`${JSON.stringify(a,null,2)}
|
|
3
|
+
`)]),{slug:t,directory:f,metadata:a}}async function R(t,c,s,{blank:r=!1,lang:n=null}={}){let m=w=>b(w).replaceAll("'","'"),[o,e]=await Promise.all([l.readFile(p.join(y,"doc.html"),"utf8"),l.readFile(p.join(y,"doc.json"),"utf8")]),f={...JSON.parse(e),title:c,description:s},i=r?o.replace(P,`
|
|
4
|
+
<p></p>`):o;if(r&&i===o)throw new Error("The starter's placeholder section was not found.");let a=typeof n=="string"&&F.test(n)?i.replace(/(<html\b[^>]*\slang=")[^"]*"/,(w,d)=>`${d}${n}"`):i,h={SLUG:t,TITLE:m(c)};return{html:a.replace(/__REPORT_(SLUG|TITLE)__/g,(w,d)=>h[d]),metadata:f}}export{z as a,M as b,R as c};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __galleryRequire } from "node:module"; import { fileURLToPath as __galleryPath } from "node:url"; const require = __galleryRequire(import.meta.url); const __filename = __galleryPath(import.meta.url); const __dirname = __galleryPath(new URL(".", import.meta.url));
|
|
2
|
+
var e={0:{keyCode:48,key:"0",code:"Digit0"},1:{keyCode:49,key:"1",code:"Digit1"},2:{keyCode:50,key:"2",code:"Digit2"},3:{keyCode:51,key:"3",code:"Digit3"},4:{keyCode:52,key:"4",code:"Digit4"},5:{keyCode:53,key:"5",code:"Digit5"},6:{keyCode:54,key:"6",code:"Digit6"},7:{keyCode:55,key:"7",code:"Digit7"},8:{keyCode:56,key:"8",code:"Digit8"},9:{keyCode:57,key:"9",code:"Digit9"},Power:{key:"Power",code:"Power"},Eject:{key:"Eject",code:"Eject"},Abort:{keyCode:3,code:"Abort",key:"Cancel"},Help:{keyCode:6,code:"Help",key:"Help"},Backspace:{keyCode:8,code:"Backspace",key:"Backspace"},Tab:{keyCode:9,code:"Tab",key:"Tab"},Numpad5:{keyCode:12,shiftKeyCode:101,key:"Clear",code:"Numpad5",shiftKey:"5",location:3},NumpadEnter:{keyCode:13,code:"NumpadEnter",key:"Enter",text:"\r",location:3},Enter:{keyCode:13,code:"Enter",key:"Enter",text:"\r"},"\r":{keyCode:13,code:"Enter",key:"Enter",text:"\r"},"\n":{keyCode:13,code:"Enter",key:"Enter",text:"\r"},ShiftLeft:{keyCode:16,code:"ShiftLeft",key:"Shift",location:1},ShiftRight:{keyCode:16,code:"ShiftRight",key:"Shift",location:2},ControlLeft:{keyCode:17,code:"ControlLeft",key:"Control",location:1},ControlRight:{keyCode:17,code:"ControlRight",key:"Control",location:2},AltLeft:{keyCode:18,code:"AltLeft",key:"Alt",location:1},AltRight:{keyCode:18,code:"AltRight",key:"Alt",location:2},Pause:{keyCode:19,code:"Pause",key:"Pause"},CapsLock:{keyCode:20,code:"CapsLock",key:"CapsLock"},Escape:{keyCode:27,code:"Escape",key:"Escape"},Convert:{keyCode:28,code:"Convert",key:"Convert"},NonConvert:{keyCode:29,code:"NonConvert",key:"NonConvert"},Space:{keyCode:32,code:"Space",key:" "},Numpad9:{keyCode:33,shiftKeyCode:105,key:"PageUp",code:"Numpad9",shiftKey:"9",location:3},PageUp:{keyCode:33,code:"PageUp",key:"PageUp"},Numpad3:{keyCode:34,shiftKeyCode:99,key:"PageDown",code:"Numpad3",shiftKey:"3",location:3},PageDown:{keyCode:34,code:"PageDown",key:"PageDown"},End:{keyCode:35,code:"End",key:"End"},Numpad1:{keyCode:35,shiftKeyCode:97,key:"End",code:"Numpad1",shiftKey:"1",location:3},Home:{keyCode:36,code:"Home",key:"Home"},Numpad7:{keyCode:36,shiftKeyCode:103,key:"Home",code:"Numpad7",shiftKey:"7",location:3},ArrowLeft:{keyCode:37,code:"ArrowLeft",key:"ArrowLeft"},Numpad4:{keyCode:37,shiftKeyCode:100,key:"ArrowLeft",code:"Numpad4",shiftKey:"4",location:3},Numpad8:{keyCode:38,shiftKeyCode:104,key:"ArrowUp",code:"Numpad8",shiftKey:"8",location:3},ArrowUp:{keyCode:38,code:"ArrowUp",key:"ArrowUp"},ArrowRight:{keyCode:39,code:"ArrowRight",key:"ArrowRight"},Numpad6:{keyCode:39,shiftKeyCode:102,key:"ArrowRight",code:"Numpad6",shiftKey:"6",location:3},Numpad2:{keyCode:40,shiftKeyCode:98,key:"ArrowDown",code:"Numpad2",shiftKey:"2",location:3},ArrowDown:{keyCode:40,code:"ArrowDown",key:"ArrowDown"},Select:{keyCode:41,code:"Select",key:"Select"},Open:{keyCode:43,code:"Open",key:"Execute"},PrintScreen:{keyCode:44,code:"PrintScreen",key:"PrintScreen"},Insert:{keyCode:45,code:"Insert",key:"Insert"},Numpad0:{keyCode:45,shiftKeyCode:96,key:"Insert",code:"Numpad0",shiftKey:"0",location:3},Delete:{keyCode:46,code:"Delete",key:"Delete"},NumpadDecimal:{keyCode:46,shiftKeyCode:110,code:"NumpadDecimal",key:"\0",shiftKey:".",location:3},Digit0:{keyCode:48,code:"Digit0",shiftKey:")",key:"0"},Digit1:{keyCode:49,code:"Digit1",shiftKey:"!",key:"1"},Digit2:{keyCode:50,code:"Digit2",shiftKey:"@",key:"2"},Digit3:{keyCode:51,code:"Digit3",shiftKey:"#",key:"3"},Digit4:{keyCode:52,code:"Digit4",shiftKey:"$",key:"4"},Digit5:{keyCode:53,code:"Digit5",shiftKey:"%",key:"5"},Digit6:{keyCode:54,code:"Digit6",shiftKey:"^",key:"6"},Digit7:{keyCode:55,code:"Digit7",shiftKey:"&",key:"7"},Digit8:{keyCode:56,code:"Digit8",shiftKey:"*",key:"8"},Digit9:{keyCode:57,code:"Digit9",shiftKey:"(",key:"9"},KeyA:{keyCode:65,code:"KeyA",shiftKey:"A",key:"a"},KeyB:{keyCode:66,code:"KeyB",shiftKey:"B",key:"b"},KeyC:{keyCode:67,code:"KeyC",shiftKey:"C",key:"c"},KeyD:{keyCode:68,code:"KeyD",shiftKey:"D",key:"d"},KeyE:{keyCode:69,code:"KeyE",shiftKey:"E",key:"e"},KeyF:{keyCode:70,code:"KeyF",shiftKey:"F",key:"f"},KeyG:{keyCode:71,code:"KeyG",shiftKey:"G",key:"g"},KeyH:{keyCode:72,code:"KeyH",shiftKey:"H",key:"h"},KeyI:{keyCode:73,code:"KeyI",shiftKey:"I",key:"i"},KeyJ:{keyCode:74,code:"KeyJ",shiftKey:"J",key:"j"},KeyK:{keyCode:75,code:"KeyK",shiftKey:"K",key:"k"},KeyL:{keyCode:76,code:"KeyL",shiftKey:"L",key:"l"},KeyM:{keyCode:77,code:"KeyM",shiftKey:"M",key:"m"},KeyN:{keyCode:78,code:"KeyN",shiftKey:"N",key:"n"},KeyO:{keyCode:79,code:"KeyO",shiftKey:"O",key:"o"},KeyP:{keyCode:80,code:"KeyP",shiftKey:"P",key:"p"},KeyQ:{keyCode:81,code:"KeyQ",shiftKey:"Q",key:"q"},KeyR:{keyCode:82,code:"KeyR",shiftKey:"R",key:"r"},KeyS:{keyCode:83,code:"KeyS",shiftKey:"S",key:"s"},KeyT:{keyCode:84,code:"KeyT",shiftKey:"T",key:"t"},KeyU:{keyCode:85,code:"KeyU",shiftKey:"U",key:"u"},KeyV:{keyCode:86,code:"KeyV",shiftKey:"V",key:"v"},KeyW:{keyCode:87,code:"KeyW",shiftKey:"W",key:"w"},KeyX:{keyCode:88,code:"KeyX",shiftKey:"X",key:"x"},KeyY:{keyCode:89,code:"KeyY",shiftKey:"Y",key:"y"},KeyZ:{keyCode:90,code:"KeyZ",shiftKey:"Z",key:"z"},MetaLeft:{keyCode:91,code:"MetaLeft",key:"Meta",location:1},MetaRight:{keyCode:92,code:"MetaRight",key:"Meta",location:2},ContextMenu:{keyCode:93,code:"ContextMenu",key:"ContextMenu"},NumpadMultiply:{keyCode:106,code:"NumpadMultiply",key:"*",location:3},NumpadAdd:{keyCode:107,code:"NumpadAdd",key:"+",location:3},NumpadSubtract:{keyCode:109,code:"NumpadSubtract",key:"-",location:3},NumpadDivide:{keyCode:111,code:"NumpadDivide",key:"/",location:3},F1:{keyCode:112,code:"F1",key:"F1"},F2:{keyCode:113,code:"F2",key:"F2"},F3:{keyCode:114,code:"F3",key:"F3"},F4:{keyCode:115,code:"F4",key:"F4"},F5:{keyCode:116,code:"F5",key:"F5"},F6:{keyCode:117,code:"F6",key:"F6"},F7:{keyCode:118,code:"F7",key:"F7"},F8:{keyCode:119,code:"F8",key:"F8"},F9:{keyCode:120,code:"F9",key:"F9"},F10:{keyCode:121,code:"F10",key:"F10"},F11:{keyCode:122,code:"F11",key:"F11"},F12:{keyCode:123,code:"F12",key:"F12"},F13:{keyCode:124,code:"F13",key:"F13"},F14:{keyCode:125,code:"F14",key:"F14"},F15:{keyCode:126,code:"F15",key:"F15"},F16:{keyCode:127,code:"F16",key:"F16"},F17:{keyCode:128,code:"F17",key:"F17"},F18:{keyCode:129,code:"F18",key:"F18"},F19:{keyCode:130,code:"F19",key:"F19"},F20:{keyCode:131,code:"F20",key:"F20"},F21:{keyCode:132,code:"F21",key:"F21"},F22:{keyCode:133,code:"F22",key:"F22"},F23:{keyCode:134,code:"F23",key:"F23"},F24:{keyCode:135,code:"F24",key:"F24"},NumLock:{keyCode:144,code:"NumLock",key:"NumLock"},ScrollLock:{keyCode:145,code:"ScrollLock",key:"ScrollLock"},AudioVolumeMute:{keyCode:173,code:"AudioVolumeMute",key:"AudioVolumeMute"},AudioVolumeDown:{keyCode:174,code:"AudioVolumeDown",key:"AudioVolumeDown"},AudioVolumeUp:{keyCode:175,code:"AudioVolumeUp",key:"AudioVolumeUp"},MediaTrackNext:{keyCode:176,code:"MediaTrackNext",key:"MediaTrackNext"},MediaTrackPrevious:{keyCode:177,code:"MediaTrackPrevious",key:"MediaTrackPrevious"},MediaStop:{keyCode:178,code:"MediaStop",key:"MediaStop"},MediaPlayPause:{keyCode:179,code:"MediaPlayPause",key:"MediaPlayPause"},Semicolon:{keyCode:186,code:"Semicolon",shiftKey:":",key:";"},Equal:{keyCode:187,code:"Equal",shiftKey:"+",key:"="},NumpadEqual:{keyCode:187,code:"NumpadEqual",key:"=",location:3},Comma:{keyCode:188,code:"Comma",shiftKey:"<",key:","},Minus:{keyCode:189,code:"Minus",shiftKey:"_",key:"-"},Period:{keyCode:190,code:"Period",shiftKey:">",key:"."},Slash:{keyCode:191,code:"Slash",shiftKey:"?",key:"/"},Backquote:{keyCode:192,code:"Backquote",shiftKey:"~",key:"`"},BracketLeft:{keyCode:219,code:"BracketLeft",shiftKey:"{",key:"["},Backslash:{keyCode:220,code:"Backslash",shiftKey:"|",key:"\\"},BracketRight:{keyCode:221,code:"BracketRight",shiftKey:"}",key:"]"},Quote:{keyCode:222,code:"Quote",shiftKey:'"',key:"'"},AltGraph:{keyCode:225,code:"AltGraph",key:"AltGraph"},Props:{keyCode:247,code:"Props",key:"CrSel"},Cancel:{keyCode:3,key:"Cancel",code:"Abort"},Clear:{keyCode:12,key:"Clear",code:"Numpad5",location:3},Shift:{keyCode:16,key:"Shift",code:"ShiftLeft",location:1},Control:{keyCode:17,key:"Control",code:"ControlLeft",location:1},Alt:{keyCode:18,key:"Alt",code:"AltLeft",location:1},Accept:{keyCode:30,key:"Accept"},ModeChange:{keyCode:31,key:"ModeChange"}," ":{keyCode:32,key:" ",code:"Space"},Print:{keyCode:42,key:"Print"},Execute:{keyCode:43,key:"Execute",code:"Open"},"\0":{keyCode:46,key:"\0",code:"NumpadDecimal",location:3},a:{keyCode:65,key:"a",code:"KeyA"},b:{keyCode:66,key:"b",code:"KeyB"},c:{keyCode:67,key:"c",code:"KeyC"},d:{keyCode:68,key:"d",code:"KeyD"},e:{keyCode:69,key:"e",code:"KeyE"},f:{keyCode:70,key:"f",code:"KeyF"},g:{keyCode:71,key:"g",code:"KeyG"},h:{keyCode:72,key:"h",code:"KeyH"},i:{keyCode:73,key:"i",code:"KeyI"},j:{keyCode:74,key:"j",code:"KeyJ"},k:{keyCode:75,key:"k",code:"KeyK"},l:{keyCode:76,key:"l",code:"KeyL"},m:{keyCode:77,key:"m",code:"KeyM"},n:{keyCode:78,key:"n",code:"KeyN"},o:{keyCode:79,key:"o",code:"KeyO"},p:{keyCode:80,key:"p",code:"KeyP"},q:{keyCode:81,key:"q",code:"KeyQ"},r:{keyCode:82,key:"r",code:"KeyR"},s:{keyCode:83,key:"s",code:"KeyS"},t:{keyCode:84,key:"t",code:"KeyT"},u:{keyCode:85,key:"u",code:"KeyU"},v:{keyCode:86,key:"v",code:"KeyV"},w:{keyCode:87,key:"w",code:"KeyW"},x:{keyCode:88,key:"x",code:"KeyX"},y:{keyCode:89,key:"y",code:"KeyY"},z:{keyCode:90,key:"z",code:"KeyZ"},Meta:{keyCode:91,key:"Meta",code:"MetaLeft",location:1},"*":{keyCode:106,key:"*",code:"NumpadMultiply",location:3},"+":{keyCode:107,key:"+",code:"NumpadAdd",location:3},"-":{keyCode:109,key:"-",code:"NumpadSubtract",location:3},"/":{keyCode:111,key:"/",code:"NumpadDivide",location:3},";":{keyCode:186,key:";",code:"Semicolon"},"=":{keyCode:187,key:"=",code:"Equal"},",":{keyCode:188,key:",",code:"Comma"},".":{keyCode:190,key:".",code:"Period"},"`":{keyCode:192,key:"`",code:"Backquote"},"[":{keyCode:219,key:"[",code:"BracketLeft"},"\\":{keyCode:220,key:"\\",code:"Backslash"},"]":{keyCode:221,key:"]",code:"BracketRight"},"'":{keyCode:222,key:"'",code:"Quote"},Attn:{keyCode:246,key:"Attn"},CrSel:{keyCode:247,key:"CrSel",code:"Props"},ExSel:{keyCode:248,key:"ExSel"},EraseEof:{keyCode:249,key:"EraseEof"},Play:{keyCode:250,key:"Play"},ZoomOut:{keyCode:251,key:"ZoomOut"},")":{keyCode:48,key:")",code:"Digit0"},"!":{keyCode:49,key:"!",code:"Digit1"},"@":{keyCode:50,key:"@",code:"Digit2"},"#":{keyCode:51,key:"#",code:"Digit3"},$:{keyCode:52,key:"$",code:"Digit4"},"%":{keyCode:53,key:"%",code:"Digit5"},"^":{keyCode:54,key:"^",code:"Digit6"},"&":{keyCode:55,key:"&",code:"Digit7"},"(":{keyCode:57,key:"(",code:"Digit9"},A:{keyCode:65,key:"A",code:"KeyA"},B:{keyCode:66,key:"B",code:"KeyB"},C:{keyCode:67,key:"C",code:"KeyC"},D:{keyCode:68,key:"D",code:"KeyD"},E:{keyCode:69,key:"E",code:"KeyE"},F:{keyCode:70,key:"F",code:"KeyF"},G:{keyCode:71,key:"G",code:"KeyG"},H:{keyCode:72,key:"H",code:"KeyH"},I:{keyCode:73,key:"I",code:"KeyI"},J:{keyCode:74,key:"J",code:"KeyJ"},K:{keyCode:75,key:"K",code:"KeyK"},L:{keyCode:76,key:"L",code:"KeyL"},M:{keyCode:77,key:"M",code:"KeyM"},N:{keyCode:78,key:"N",code:"KeyN"},O:{keyCode:79,key:"O",code:"KeyO"},P:{keyCode:80,key:"P",code:"KeyP"},Q:{keyCode:81,key:"Q",code:"KeyQ"},R:{keyCode:82,key:"R",code:"KeyR"},S:{keyCode:83,key:"S",code:"KeyS"},T:{keyCode:84,key:"T",code:"KeyT"},U:{keyCode:85,key:"U",code:"KeyU"},V:{keyCode:86,key:"V",code:"KeyV"},W:{keyCode:87,key:"W",code:"KeyW"},X:{keyCode:88,key:"X",code:"KeyX"},Y:{keyCode:89,key:"Y",code:"KeyY"},Z:{keyCode:90,key:"Z",code:"KeyZ"},":":{keyCode:186,key:":",code:"Semicolon"},"<":{keyCode:188,key:"<",code:"Comma"},_:{keyCode:189,key:"_",code:"Minus"},">":{keyCode:190,key:">",code:"Period"},"?":{keyCode:191,key:"?",code:"Slash"},"~":{keyCode:192,key:"~",code:"Backquote"},"{":{keyCode:219,key:"{",code:"BracketLeft"},"|":{keyCode:220,key:"|",code:"Backslash"},"}":{keyCode:221,key:"}",code:"BracketRight"},'"':{keyCode:222,key:'"',code:"Quote"},SoftLeft:{key:"SoftLeft",code:"SoftLeft",location:4},SoftRight:{key:"SoftRight",code:"SoftRight",location:4},Camera:{keyCode:44,key:"Camera",code:"Camera",location:4},Call:{key:"Call",code:"Call",location:4},EndCall:{keyCode:95,key:"EndCall",code:"EndCall",location:4},VolumeDown:{keyCode:182,key:"VolumeDown",code:"VolumeDown",location:4},VolumeUp:{keyCode:183,key:"VolumeUp",code:"VolumeUp",location:4}};export{e as a};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __galleryRequire } from "node:module"; import { fileURLToPath as __galleryPath } from "node:url"; const require = __galleryRequire(import.meta.url); const __filename = __galleryPath(import.meta.url); const __dirname = __galleryPath(new URL(".", import.meta.url));
|
|
2
|
+
import{b as d,e as L}from"./chunk-A55HN5OK.mjs";L();import{instanceSlots as x,isInstance as A}from"../browser/shared/components/index.mjs";import{mayHoldOldNames as I,newAttributeName as S,newAttributeValue as b,newScriptNames as N,newStyleNames as j}from"../browser/shared/old-names.mjs";var T=/^data-(?:report|doc)-(?:kit|vendor)$/;function E(o){if(typeof o!="string"||!I(o))return o;let O=d(o,{sourceCodeLocationInfo:!0}),c=[],l=(t,e,s)=>{o.slice(t,e)!==s&&c.push({start:t,end:e,text:s})};function g(t){let e=t.sourceCodeLocation?.attrs??{};for(let{name:n,value:y}of t.attrs){let r=e[n];if(!r)continue;let i=o.slice(r.startOffset,r.endOffset),f=i.indexOf("="),v=f<0?i:i.slice(0,f),m=f<0?"":i.slice(f),C=/^on/i.test(n)||/^\s*javascript:/i.test(y)?N(m):b(n,m,t.tagName);l(r.startOffset,r.endOffset,S(v)+C)}if(t.attrs.some(({name:n})=>T.test(n))||!["style","script"].includes(t.tagName))return;let s=t.childNodes?.[0]?.sourceCodeLocation;if(!s)return;let w=(t.attrs.find(({name:n})=>n==="type")?.value??"").trim().toLowerCase();if(t.tagName==="script"&&/json/.test(w))return;let p=o.slice(s.startOffset,s.endOffset);l(s.startOffset,s.endOffset,t.tagName==="style"?j(p):N(p))}let u=t=>{for(let e of t.childNodes??[]){if(A(e)){x(e).forEach(u);continue}e.tagName&&g(e),u(e.tagName==="template"&&e.content?e.content:e)}};if(u(O),!c.length)return o;c.sort((t,e)=>e.start-t.start);let a=o;for(let{start:t,end:e,text:s}of c)a=a.slice(0,t)+s+a.slice(e);return a}export{E as a};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __galleryRequire } from "node:module"; import { fileURLToPath as __galleryPath } from "node:url"; const require = __galleryRequire(import.meta.url); const __filename = __galleryPath(import.meta.url); const __dirname = __galleryPath(new URL(".", import.meta.url));
|
|
2
|
+
import{a as $,b as y,c as k,d as x}from"./chunk-S6O4UHLC.mjs";import{a as F,b as h}from"./chunk-TX6JH7TR.mjs";import{b as j,f as D,h as N}from"./chunk-NSKUTQ5J.mjs";import"./chunk-5L7RYZCL.mjs";import S from"node:fs/promises";import{iconKind as I}from"../browser/shared/emoji/icon-value.mjs";import{descendantsIn as O,parentIn as P}from"../browser/shared/outline.mjs";import{fullAddress as T,namedPlace as A}from"../browser/shared/page-address.mjs";import{reportsDirectory as L}from"../browser/shared/paths.mjs";import{documentLinks as R,listReportSlugs as v,roleOf as C}from"../browser/shared/reports.mjs";import{documentDirectory as E,documentFiles as H,isSlugName as J}from"../browser/shared/workspace.mjs";import{findIn as K,rankReports as U,reportLines as Y}from"../browser/shared/search.mjs";async function q(){let i=(await v(L)).filter(J);return(await Promise.all(i.map(async e=>{let l=E(e,L),{html:c,json:a}=H(l),o=await S.stat(c).catch(()=>null);if(!o?.isFile()||await C(l)==="instructions")return null;let r=await S.readFile(a,"utf8").then(JSON.parse).catch(()=>({})),t=n=>typeof n=="string"?n.replace(/\s+/g," ").trim():"";return{slug:e,title:t(r.title)||e,description:t(r.description),edited:o.mtimeMs,file:c}}))).filter(Boolean)}var M=i=>{let s=new Date(i),e=l=>String(l).padStart(2,"0");return`${s.getFullYear()}-${e(s.getMonth()+1)}-${e(s.getDate())} ${e(s.getHours())}:${e(s.getMinutes())}`},p=i=>`${i} document${i===1?"":"s"}`;async function z(i,s,e){let l=[...new Set(e.toLowerCase().split(/\s+/).filter(Boolean))],c=new Set(s.map(({slug:o})=>o));return(await Promise.all(i.filter(({slug:o})=>!c.has(o)).map(async o=>{let r=Y(await S.readFile(o.file,"utf8").catch(()=>"")),t=l.map(n=>K(r,n,{most:1})).filter(({count:n})=>n>0);return t.length?{...o,words:t.length,count:t.reduce((n,{count:f})=>n+f,0),hit:t[0].hits[0].text}:null}))).filter(Boolean).sort((o,r)=>r.words-o.words||r.count-o.count||r.edited-o.edited)}async function G(i,s){if(i.length>1)throw new j("--tree takes one document at most (its slug, link or address).");let e=await $(),l=new Map(s.map(t=>[t.slug,t])),c=e.children[""]??[],a=null;if(i.length===1){let t=await x(i[0],"--tree",e);if(t.refused){for(let n of await h())console.log(n);console.error(t.refused),process.exit(1)}a=t.slug,c=[a]}for(let t of await h())console.log(t);let o=Object.values(e.children).flat().length;if(o===0)return void console.log('No documents yet: gallery new <slug> "<title>" makes one.');if(a===null)console.log(`${p(o)}, as the sidebar shows them (one under another indented):`);else{let t=O(e.children,a).length;console.log(k(e,a)),console.log(t?`${y(e,a)} and the ${p(t)} under it, as the sidebar shows them:`:`${y(e,a)}, with no document under it:`)}let r=(t,n)=>{let{title:f,description:u,icon:d}=e.documents.get(t),g=l.get(t)?.edited,m=[...u?[`\u8BF4\u660E\uFF1A${u}`]:[],...g?[`\u4E0A\u6B21\u7F16\u8F91\uFF1A${M(g)}`]:[]];console.log(`${" ".repeat(n)}${t} ${I(d)==="emoji"?`${d} `:""}${f}${m.length?` \uFF08${m.join("\uFF1B")}\uFF09`:""}`);for(let w of e.children[t]??[])r(w,n+1)};for(let t of c)r(t,0)}async function lt(i){let{positional:s,options:e}=D({options:["--tree"],argv:i}),l=await q();if(e.has("--tree"))return G(s,l);let c=s.join(" ").trim(),{links:a}=await R(),o=s.length===1?A(s[0],a):null,r=o&&o.slug!==s[0],t=r?l.filter(({slug:d})=>d===o.slug):U(l,c),n=[...t,...c&&!r?await z(l,t,c):[]],f=s.length===1&&n.length===0?await N(s[0]):null,u=n.length?await $():null;for(let d of await h())console.log(d);if(f)console.log(f);else if(l.length===0)console.log('No documents yet: gallery new <slug> "<title>" makes one.');else if(n.length===0)console.log(`No document's title, description, slug or text holds ${c.split(/\s+/).map(d=>`"${d}"`).join(" or ")}: gallery list lists all ${l.length}.`);else{console.log(c?`${n.length} of ${p(l.length)}, the best match first:`:`${p(l.length)}, the one edited last first:`);for(let{slug:d,title:g,description:m,edited:w,file:B,hit:b}of n)console.log(`${d} ${g}`),m&&console.log(` \u8BF4\u660E\uFF1A${m}`),b&&console.log(` \u6B63\u6587\uFF1A${b}`),P(u.children,d)&&console.log(` ${k(u,d)}`),console.log(` \u5730\u5740\uFF1A${T("",{slug:d},a)}`),console.log(` \u4E0A\u6B21\u7F16\u8F91\uFF1A${M(w)}`),console.log(` ${F(B)}`)}}export{lt as run};
|