allyhub 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli-version.js +2 -0
- package/dist/commands/add.js +5 -5
- package/dist/commands/auth.js +4 -4
- package/dist/commands/cloud-tools.js +9 -10
- package/dist/commands/dev.js +2 -2
- package/dist/commands/doctor.js +4 -4
- package/dist/commands/frames/piece.js +1 -1
- package/dist/commands/frames.js +6 -6
- package/dist/commands/index.js +1 -1
- package/dist/commands/inspect/contrast.js +1 -1
- package/dist/commands/inspect/layout.js +1 -1
- package/dist/commands/model.js +1 -1
- package/dist/commands/orgs.js +2 -2
- package/dist/commands/render.js +2 -2
- package/dist/commands/sheet.js +2 -2
- package/dist/commands/skills.js +3 -3
- package/dist/commands/slides.js +3 -0
- package/dist/main.js +7 -7
- package/dist/text/facts-text.js +5 -5
- package/dist/text/format.js +2 -2
- package/dist/works.js +1 -1
- package/editor-web/assets/browser-B31cR_c2.js +105 -0
- package/editor-web/assets/dist-6TNEuNMX.js +4 -0
- package/editor-web/assets/dist-Cm2TIjW5.js +2 -0
- package/editor-web/assets/dist-Cpt0p8bX.js +6 -0
- package/editor-web/assets/dist-D2GccKEJ.js +1 -0
- package/editor-web/assets/dist-Z0zvYXmu.js +233 -0
- package/editor-web/assets/dist-fs4ONrUV.js +32 -0
- package/editor-web/assets/index-CAcsAZ9u.js +70 -0
- package/editor-web/assets/index-DlcJckhO.css +2 -0
- package/editor-web/assets/list-D2v7U8K8.js +1 -0
- package/editor-web/assets/react-D0RmGe2w.js +101 -0
- package/editor-web/assets/rolldown-runtime-XKyaHtl9.js +1 -0
- package/editor-web/assets/text-align-start-B3k2cx5f.js +1 -0
- package/editor-web/assets/undo-2-Ecr7-Obc.js +1 -0
- package/editor-web/index.html +4 -4
- package/node_modules/@allyhub-next/audio/package.json +1 -1
- package/node_modules/@allyhub-next/browser/package.json +1 -1
- package/node_modules/@allyhub-next/build/dist/data.js +1 -1
- package/node_modules/@allyhub-next/build/dist/meta-worker.d.ts +10 -0
- package/node_modules/@allyhub-next/build/dist/meta-worker.js +2 -2
- package/node_modules/@allyhub-next/build/dist/model-info.js +2 -1
- package/node_modules/@allyhub-next/build/dist/plugin.d.ts +2 -0
- package/node_modules/@allyhub-next/build/dist/plugin.js +9 -8
- package/node_modules/@allyhub-next/build/dist/prepare.d.ts +13 -1
- package/node_modules/@allyhub-next/build/dist/prepare.js +2 -2
- package/node_modules/@allyhub-next/build/dist/scan.d.ts +1 -1
- package/node_modules/@allyhub-next/build/dist/scan.js +1 -1
- package/node_modules/@allyhub-next/build/dist/types.js +3 -3
- package/node_modules/@allyhub-next/build/package.json +1 -1
- package/node_modules/@allyhub-next/check/dist/check.js +3 -3
- package/node_modules/@allyhub-next/check/dist/generated.d.ts +1 -1
- package/node_modules/@allyhub-next/check/package.json +1 -1
- package/node_modules/@allyhub-next/cloud/dist/index.js +1 -1
- package/node_modules/@allyhub-next/cloud/dist/signin.js +2 -2
- package/node_modules/@allyhub-next/cloud/dist/token.js +1 -1
- package/node_modules/@allyhub-next/cloud/package.json +1 -1
- package/node_modules/@allyhub-next/components/package.json +1 -1
- package/node_modules/@allyhub-next/dev-server/dist/card.d.ts +2 -11
- package/node_modules/@allyhub-next/dev-server/dist/card.js +1 -1
- package/node_modules/@allyhub-next/dev-server/dist/exports.d.ts +2 -2
- package/node_modules/@allyhub-next/dev-server/dist/exports.js +1 -1
- package/node_modules/@allyhub-next/dev-server/dist/index.d.ts +1 -1
- package/node_modules/@allyhub-next/dev-server/dist/index.js +1 -1
- package/node_modules/@allyhub-next/dev-server/dist/live.d.ts +3 -0
- package/node_modules/@allyhub-next/dev-server/dist/live.js +1 -1
- package/node_modules/@allyhub-next/dev-server/dist/project.d.ts +3 -0
- package/node_modules/@allyhub-next/dev-server/dist/project.js +1 -1
- package/node_modules/@allyhub-next/dev-server/dist/reveal.d.ts +6 -0
- package/node_modules/@allyhub-next/dev-server/dist/reveal.js +2 -0
- package/node_modules/@allyhub-next/dev-server/dist/server.js +1 -1
- package/node_modules/@allyhub-next/dev-server/dist/stage.d.ts +2 -0
- package/node_modules/@allyhub-next/dev-server/dist/stage.js +22 -2
- package/node_modules/@allyhub-next/dev-server/dist/tools.d.ts +2 -0
- package/node_modules/@allyhub-next/dev-server/dist/tools.js +1 -1
- package/node_modules/@allyhub-next/dev-server/package.json +1 -1
- package/node_modules/@allyhub-next/doc/dist/docx.d.ts +28 -0
- package/node_modules/@allyhub-next/doc/dist/docx.js +4 -0
- package/node_modules/@allyhub-next/doc/dist/html.d.ts +3 -0
- package/node_modules/@allyhub-next/doc/dist/html.js +1 -1
- package/node_modules/@allyhub-next/doc/package.json +5 -1
- package/node_modules/@allyhub-next/export/dist/deck-fonts.d.ts +24 -0
- package/node_modules/@allyhub-next/export/dist/deck-fonts.js +2 -0
- package/node_modules/@allyhub-next/export/dist/deck-pptx.d.ts +12 -0
- package/node_modules/@allyhub-next/export/dist/deck-pptx.js +2 -0
- package/node_modules/@allyhub-next/export/dist/export.d.ts +17 -5
- package/node_modules/@allyhub-next/export/dist/export.js +2 -2
- package/node_modules/@allyhub-next/export/dist/index.d.ts +1 -0
- package/node_modules/@allyhub-next/export/dist/index.js +1 -1
- package/node_modules/@allyhub-next/export/dist/names.d.ts +11 -6
- package/node_modules/@allyhub-next/export/dist/names.js +1 -1
- package/node_modules/@allyhub-next/export/package.json +1 -1
- package/node_modules/@allyhub-next/formats/dist/data/script.d.ts +22 -0
- package/node_modules/@allyhub-next/formats/dist/data/script.js +1 -1
- package/node_modules/@allyhub-next/formats/dist/data/slides.d.ts +1494 -0
- package/node_modules/@allyhub-next/formats/dist/data/slides.js +2 -0
- package/node_modules/@allyhub-next/formats/dist/index.d.ts +2 -0
- package/node_modules/@allyhub-next/formats/dist/index.js +1 -1
- package/node_modules/@allyhub-next/formats/dist/items.d.ts +26 -0
- package/node_modules/@allyhub-next/formats/dist/items.js +1 -1
- package/node_modules/@allyhub-next/formats/dist/layout.d.ts +2 -0
- package/node_modules/@allyhub-next/formats/dist/layout.js +1 -1
- package/node_modules/@allyhub-next/formats/dist/note-shape.d.ts +39 -0
- package/node_modules/@allyhub-next/formats/dist/note-shape.js +2 -0
- package/node_modules/@allyhub-next/formats/dist/schemas.d.ts +418 -0
- package/node_modules/@allyhub-next/formats/dist/schemas.js +1 -1
- package/node_modules/@allyhub-next/formats/package.json +1 -1
- package/node_modules/@allyhub-next/measure/dist/index.d.ts +1 -1
- package/node_modules/@allyhub-next/measure/dist/index.js +1 -1
- package/node_modules/@allyhub-next/measure/dist/overlay.d.ts +14 -1
- package/node_modules/@allyhub-next/measure/dist/overlay.js +1 -1
- package/node_modules/@allyhub-next/measure/package.json +1 -1
- package/node_modules/@allyhub-next/media/dist/asr/parakeet.d.ts +1 -4
- package/node_modules/@allyhub-next/media/dist/asr/parakeet.js +4 -4
- package/node_modules/@allyhub-next/media/dist/asr/transcribe.d.ts +1 -1
- package/node_modules/@allyhub-next/media/dist/asr/transcribe.js +1 -1
- package/node_modules/@allyhub-next/media/dist/grid.d.ts +3 -3
- package/node_modules/@allyhub-next/media/dist/grid.js +5 -5
- package/node_modules/@allyhub-next/media/dist/local.d.ts +3 -0
- package/node_modules/@allyhub-next/media/dist/local.js +1 -1
- package/node_modules/@allyhub-next/media/dist/ocr/tesseract.d.ts +8 -2
- package/node_modules/@allyhub-next/media/dist/ocr/tesseract.js +1 -1
- package/node_modules/@allyhub-next/media/dist/ocr/text.js +3 -3
- package/node_modules/@allyhub-next/media/dist/ocr/worker.js +1 -1
- package/node_modules/@allyhub-next/media/dist/sheet.js +3 -3
- package/node_modules/@allyhub-next/media/dist/tools.d.ts +11 -1
- package/node_modules/@allyhub-next/media/dist/tools.js +1 -1
- package/node_modules/@allyhub-next/media/dist/vision/faces.js +1 -1
- package/node_modules/@allyhub-next/media/dist/vision/matte.js +1 -1
- package/node_modules/@allyhub-next/media/dist/vision/runtime.d.ts +1 -1
- package/node_modules/@allyhub-next/media/dist/vision/runtime.js +2 -2
- package/node_modules/@allyhub-next/media/dist/worker-process.d.ts +1 -1
- package/node_modules/@allyhub-next/media/dist/worker-process.js +1 -1
- package/node_modules/@allyhub-next/media/package.json +1 -1
- package/node_modules/@allyhub-next/model/dist/build-job.d.ts +2 -0
- package/node_modules/@allyhub-next/model/dist/build-worker.js +1 -1
- package/node_modules/@allyhub-next/model/dist/build.d.ts +10 -0
- package/node_modules/@allyhub-next/model/dist/build.js +2 -1
- package/node_modules/@allyhub-next/model/dist/report.d.ts +1 -1
- package/node_modules/@allyhub-next/model/package.json +1 -1
- package/node_modules/@allyhub-next/project/dist/digest.d.ts +1 -3
- package/node_modules/@allyhub-next/project/dist/digest.js +1 -1
- package/node_modules/@allyhub-next/project/dist/page.d.ts +0 -5
- package/node_modules/@allyhub-next/project/dist/page.js +2 -2
- package/node_modules/@allyhub-next/project/dist/session.js +1 -1
- package/node_modules/@allyhub-next/project/package.json +1 -1
- package/node_modules/@allyhub-next/protocol/dist/app.d.ts +1 -62
- package/node_modules/@allyhub-next/protocol/dist/app.js +1 -1
- package/node_modules/@allyhub-next/protocol/dist/auth.d.ts +17 -17
- package/node_modules/@allyhub-next/protocol/dist/auth.js +1 -1
- package/node_modules/@allyhub-next/protocol/dist/cli.d.ts +1 -5
- package/node_modules/@allyhub-next/protocol/dist/cli.js +1 -1
- package/node_modules/@allyhub-next/protocol/dist/editor.d.ts +13 -26
- package/node_modules/@allyhub-next/protocol/dist/editor.js +1 -1
- package/node_modules/@allyhub-next/protocol/dist/index.d.ts +1 -0
- package/node_modules/@allyhub-next/protocol/dist/index.js +1 -1
- package/node_modules/@allyhub-next/protocol/dist/notes.d.ts +163 -0
- package/node_modules/@allyhub-next/protocol/dist/notes.js +2 -0
- package/node_modules/@allyhub-next/protocol/dist/registry.d.ts +4 -2
- package/node_modules/@allyhub-next/protocol/dist/registry.js +1 -1
- package/node_modules/@allyhub-next/protocol/dist/routes.js +1 -1
- package/node_modules/@allyhub-next/protocol/dist/runtimes.d.ts +3 -0
- package/node_modules/@allyhub-next/protocol/dist/runtimes.js +1 -1
- package/node_modules/@allyhub-next/protocol/dist/tools.d.ts +38 -0
- package/node_modules/@allyhub-next/protocol/dist/tools.js +1 -1
- package/node_modules/@allyhub-next/protocol/package.json +1 -1
- package/node_modules/@allyhub-next/registry/dist/registry.js +1 -1
- package/node_modules/@allyhub-next/registry/package.json +1 -1
- package/node_modules/@allyhub-next/render/dist/doc/index.d.ts +1 -1
- package/node_modules/@allyhub-next/render/dist/doc/index.js +1 -1
- package/node_modules/@allyhub-next/render/dist/doc/print.d.ts +11 -0
- package/node_modules/@allyhub-next/render/dist/doc/print.js +17 -1
- package/node_modules/@allyhub-next/render/dist/exports.d.ts +29 -4
- package/node_modules/@allyhub-next/render/dist/exports.js +2 -2
- package/node_modules/@allyhub-next/render/dist/page.d.ts +11 -1
- package/node_modules/@allyhub-next/render/dist/render.d.ts +2 -0
- package/node_modules/@allyhub-next/render/dist/render.js +2 -2
- package/node_modules/@allyhub-next/render/package.json +1 -1
- package/node_modules/@allyhub-next/runtime/LICENSE +241 -0
- package/node_modules/@allyhub-next/runtime/dist/bridge.d.ts +13 -3
- package/node_modules/@allyhub-next/runtime/dist/clock.js +1 -1
- package/node_modules/@allyhub-next/runtime/dist/env.js +1 -1
- package/node_modules/@allyhub-next/runtime/dist/facade.js +1 -1
- package/node_modules/@allyhub-next/runtime/dist/footage.js +1 -1
- package/node_modules/@allyhub-next/runtime/dist/frame.js +1 -1
- package/node_modules/@allyhub-next/runtime/dist/index.d.ts +2 -0
- package/node_modules/@allyhub-next/runtime/dist/index.js +1 -1
- package/node_modules/@allyhub-next/runtime/dist/locate.d.ts +11 -0
- package/node_modules/@allyhub-next/runtime/dist/locate.js +2 -0
- package/node_modules/@allyhub-next/runtime/dist/measure.d.ts +2 -1
- package/node_modules/@allyhub-next/runtime/dist/measure.js +1 -1
- package/node_modules/@allyhub-next/runtime/dist/music.js +1 -1
- package/node_modules/@allyhub-next/runtime/dist/output.js +1 -1
- package/node_modules/@allyhub-next/runtime/dist/piece.d.ts +5 -9
- package/node_modules/@allyhub-next/runtime/dist/piece.js +2 -2
- package/node_modules/@allyhub-next/runtime/dist/player/player.js +1 -1
- package/node_modules/@allyhub-next/runtime/dist/reads.d.ts +2 -0
- package/node_modules/@allyhub-next/runtime/dist/reads.js +1 -1
- package/node_modules/@allyhub-next/runtime/dist/sound.js +1 -1
- package/node_modules/@allyhub-next/runtime/dist/stage-kit.d.ts +12 -0
- package/node_modules/@allyhub-next/runtime/dist/stage-kit.js +2 -0
- package/node_modules/@allyhub-next/runtime/package.json +5 -6
- package/node_modules/@allyhub-next/runtimes/dist/errors.d.ts +5 -1
- package/node_modules/@allyhub-next/runtimes/dist/index.d.ts +1 -0
- package/node_modules/@allyhub-next/runtimes/dist/index.js +1 -1
- package/node_modules/@allyhub-next/runtimes/dist/node-program.d.ts +3 -0
- package/node_modules/@allyhub-next/runtimes/dist/node-program.js +2 -0
- package/node_modules/@allyhub-next/runtimes/dist/packages.d.ts +65 -0
- package/node_modules/@allyhub-next/runtimes/dist/packages.js +4 -0
- package/node_modules/@allyhub-next/runtimes/dist/runtimes.js +2 -2
- package/node_modules/@allyhub-next/runtimes/dist/unpack.d.ts +7 -0
- package/node_modules/@allyhub-next/runtimes/dist/unpack.js +1 -1
- package/node_modules/@allyhub-next/runtimes/package.json +5 -1
- package/node_modules/@allyhub-next/runtimes/pins/docx/package-lock.json +67 -0
- package/node_modules/@allyhub-next/runtimes/pins/docx/package.json +9 -0
- package/node_modules/@allyhub-next/runtimes/pins/exceljs/package-lock.json +2533 -0
- package/node_modules/@allyhub-next/runtimes/pins/exceljs/package.json +8 -0
- package/node_modules/@allyhub-next/runtimes/pins/gltf-tools/package-lock.json +753 -0
- package/node_modules/@allyhub-next/runtimes/pins/gltf-tools/package.json +14 -0
- package/node_modules/@allyhub-next/runtimes/pins/manifold-3d/package-lock.json +950 -0
- package/node_modules/@allyhub-next/runtimes/pins/manifold-3d/package.json +8 -0
- package/node_modules/@allyhub-next/runtimes/pins/onnxruntime-node/package-lock.json +227 -0
- package/node_modules/@allyhub-next/runtimes/pins/onnxruntime-node/package.json +8 -0
- package/node_modules/@allyhub-next/runtimes/pins/sherpa-onnx-node/package-lock.json +105 -0
- package/node_modules/@allyhub-next/runtimes/pins/sherpa-onnx-node/package.json +8 -0
- package/node_modules/@allyhub-next/runtimes/pins/tesseract.js/package-lock.json +128 -0
- package/node_modules/@allyhub-next/runtimes/pins/tesseract.js/package.json +9 -0
- package/node_modules/@allyhub-next/runtimes/schemas/runtimes.schema.json +5 -24
- package/node_modules/@allyhub-next/scaffold/dist/index.js +5 -5
- package/node_modules/@allyhub-next/scaffold/package.json +1 -1
- package/node_modules/@allyhub-next/scenery/package.json +1 -1
- package/node_modules/@allyhub-next/scenery-host/dist/bundle.d.ts +3 -2
- package/node_modules/@allyhub-next/scenery-host/dist/bundle.js +3 -3
- package/node_modules/@allyhub-next/scenery-host/dist/model-stage.d.ts +32 -0
- package/node_modules/@allyhub-next/scenery-host/dist/model-stage.js +3 -0
- package/node_modules/@allyhub-next/scenery-host/dist/viewer.d.ts +11 -0
- package/node_modules/@allyhub-next/scenery-host/dist/viewer.js +1 -1
- package/node_modules/@allyhub-next/scenery-host/package.json +1 -1
- package/node_modules/@allyhub-next/sheet/package.json +1 -1
- package/node_modules/@allyhub-next/site/dist/media.js +2 -2
- package/node_modules/@allyhub-next/site/package.json +1 -1
- package/node_modules/@allyhub-next/slides-core/LICENSE +241 -0
- package/node_modules/@allyhub-next/slides-core/dist/animation.d.ts +129 -0
- package/node_modules/@allyhub-next/slides-core/dist/animation.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/api.d.ts +649 -0
- package/node_modules/@allyhub-next/slides-core/dist/api.js +4 -0
- package/node_modules/@allyhub-next/slides-core/dist/capabilities.d.ts +18 -0
- package/node_modules/@allyhub-next/slides-core/dist/capabilities.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/chart-api.d.ts +165 -0
- package/node_modules/@allyhub-next/slides-core/dist/chart-api.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/chart-file.d.ts +11 -0
- package/node_modules/@allyhub-next/slides-core/dist/chart-file.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/chart.d.ts +184 -0
- package/node_modules/@allyhub-next/slides-core/dist/chart.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/check.d.ts +7 -0
- package/node_modules/@allyhub-next/slides-core/dist/check.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/enums.d.ts +146 -0
- package/node_modules/@allyhub-next/slides-core/dist/enums.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/file.d.ts +109 -0
- package/node_modules/@allyhub-next/slides-core/dist/file.js +4 -0
- package/node_modules/@allyhub-next/slides-core/dist/index.d.ts +21 -0
- package/node_modules/@allyhub-next/slides-core/dist/index.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/measure.d.ts +34 -0
- package/node_modules/@allyhub-next/slides-core/dist/measure.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/model.d.ts +278 -0
- package/node_modules/@allyhub-next/slides-core/dist/model.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/office.d.ts +58 -0
- package/node_modules/@allyhub-next/slides-core/dist/office.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/path.d.ts +6 -0
- package/node_modules/@allyhub-next/slides-core/dist/path.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/placeholders.d.ts +7 -0
- package/node_modules/@allyhub-next/slides-core/dist/placeholders.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/resolve.d.ts +181 -0
- package/node_modules/@allyhub-next/slides-core/dist/resolve.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/script.d.ts +43 -0
- package/node_modules/@allyhub-next/slides-core/dist/script.js +3 -0
- package/node_modules/@allyhub-next/slides-core/dist/stage.d.ts +63 -0
- package/node_modules/@allyhub-next/slides-core/dist/stage.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/strict.d.ts +23 -0
- package/node_modules/@allyhub-next/slides-core/dist/strict.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/theme.d.ts +72 -0
- package/node_modules/@allyhub-next/slides-core/dist/theme.js +2 -0
- package/node_modules/@allyhub-next/slides-core/dist/units.d.ts +35 -0
- package/node_modules/@allyhub-next/slides-core/dist/units.js +2 -0
- package/node_modules/@allyhub-next/slides-core/package.json +14 -0
- package/node_modules/@allyhub-next/slides-pptx/LICENSE +241 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/charts.d.ts +6 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/charts.js +2 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/fonts.d.ts +45 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/fonts.js +2 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/import.d.ts +18 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/import.js +3 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/index.d.ts +5 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/index.js +2 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/read.d.ts +55 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/read.js +4 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/shapes.d.ts +67 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/shapes.js +2 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/text.d.ts +21 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/text.js +2 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/theme.d.ts +4 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/theme.js +2 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/timing.d.ts +32 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/timing.js +2 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/write.d.ts +32 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/write.js +3 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/xml.d.ts +26 -0
- package/node_modules/@allyhub-next/slides-pptx/dist/xml.js +3 -0
- package/node_modules/@allyhub-next/slides-pptx/package.json +14 -0
- package/node_modules/@allyhub-next/slides-runtime/LICENSE +241 -0
- package/node_modules/@allyhub-next/slides-runtime/dist/draw.d.ts +40 -0
- package/node_modules/@allyhub-next/slides-runtime/dist/draw.js +3 -0
- package/node_modules/@allyhub-next/slides-runtime/dist/edit.d.ts +4 -0
- package/node_modules/@allyhub-next/slides-runtime/dist/edit.js +2 -0
- package/node_modules/@allyhub-next/slides-runtime/dist/index.d.ts +4 -0
- package/node_modules/@allyhub-next/slides-runtime/dist/index.js +2 -0
- package/node_modules/@allyhub-next/slides-runtime/dist/ink.d.ts +10 -0
- package/node_modules/@allyhub-next/slides-runtime/dist/ink.js +2 -0
- package/node_modules/@allyhub-next/slides-runtime/dist/load.d.ts +6 -0
- package/node_modules/@allyhub-next/slides-runtime/dist/load.js +6 -0
- package/node_modules/@allyhub-next/slides-runtime/package.json +14 -0
- package/node_modules/@allyhub-next/stage/dist/graphics.js +1 -1
- package/node_modules/@allyhub-next/stage/dist/identity.js +1 -1
- package/node_modules/@allyhub-next/stage/dist/page.d.ts +9 -0
- package/node_modules/@allyhub-next/stage/dist/page.js +12 -2
- package/node_modules/@allyhub-next/stage/dist/server.js +1 -1
- package/node_modules/@allyhub-next/stage/package.json +1 -1
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/400-italic.css +79 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/400.css +79 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/700-italic.css +79 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/700.css +79 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/LICENSE +93 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/arial.css +316 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-ext-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-ext-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-ext-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-ext-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-ext-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-ext-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-ext-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-ext-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-hebrew-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-hebrew-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-hebrew-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-hebrew-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-ext-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-ext-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-ext-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-ext-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-vietnamese-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-vietnamese-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-vietnamese-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-vietnamese-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/400-italic.css +69 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/400.css +69 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/700-italic.css +69 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/700.css +69 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/LICENSE +93 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/calibri.css +276 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-ext-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-ext-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-ext-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-ext-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-ext-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-ext-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-ext-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-ext-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-ext-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-ext-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-ext-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-ext-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-vietnamese-400-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-vietnamese-400-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-vietnamese-700-italic.woff2 +0 -0
- package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-vietnamese-700-normal.woff2 +0 -0
- package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/400.css +1 -1
- package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/700.css +1 -1
- package/node_modules/@allyhub-next/stage-page/dist/fonts/noto-sans-sc/microsoft-yahei.css +2018 -0
- package/node_modules/@allyhub-next/stage-page/dist/host.js +21 -0
- package/node_modules/@allyhub-next/stage-page/dist/page.js +79 -0
- package/node_modules/@allyhub-next/stage-page/package.json +14 -0
- package/node_modules/@allyhub-next/video-core/dist/export.d.ts +6 -5
- package/node_modules/@allyhub-next/video-core/dist/export.js +1 -1
- package/node_modules/@allyhub-next/video-core/dist/fact.d.ts +173 -4
- package/node_modules/@allyhub-next/video-core/dist/fact.js +1 -1
- package/node_modules/@allyhub-next/video-core/dist/formats.d.ts +6 -13
- package/node_modules/@allyhub-next/video-core/dist/formats.js +1 -1
- package/node_modules/@allyhub-next/video-core/dist/index.d.ts +0 -1
- package/node_modules/@allyhub-next/video-core/dist/index.js +1 -1
- package/node_modules/@allyhub-next/video-core/dist/measure.d.ts +83 -0
- package/node_modules/@allyhub-next/video-core/dist/piece.d.ts +8 -9
- package/node_modules/@allyhub-next/video-core/dist/piece.js +1 -1
- package/node_modules/@allyhub-next/video-core/dist/problem.d.ts +9 -1
- package/node_modules/@allyhub-next/video-core/dist/problem.js +1 -1
- package/node_modules/@allyhub-next/video-core/dist/schema.d.ts +0 -2
- package/node_modules/@allyhub-next/video-core/dist/script-edit.d.ts +4 -0
- package/node_modules/@allyhub-next/video-core/dist/script.d.ts +8 -0
- package/node_modules/@allyhub-next/video-core/dist/script.js +1 -1
- package/node_modules/@allyhub-next/video-core/dist/timeline.d.ts +34 -1
- package/node_modules/@allyhub-next/video-core/package.json +1 -1
- package/package.json +48 -41
- package/dist/commands/mcp-app.js +0 -3
- package/dist/commands/mcp-docs.js +0 -2
- package/dist/commands/mcp.js +0 -2
- package/editor-app/view.html +0 -128
- package/editor-web/assets/chevron-left-D1vfOP5S.js +0 -1
- package/editor-web/assets/chevron-up-BMNXDEBs.js +0 -1
- package/editor-web/assets/dist-B4VKfY-H.js +0 -136
- package/editor-web/assets/dist-BIEloJVS.js +0 -8
- package/editor-web/assets/dist-BcInw4os.js +0 -232
- package/editor-web/assets/dist-Coblfc3T.js +0 -1
- package/editor-web/assets/floating-ui.react-dom-DSyn5TRd.js +0 -1
- package/editor-web/assets/index-BSFR4plz.css +0 -2
- package/editor-web/assets/index-Dc8FX_sp.js +0 -56
- package/editor-web/assets/react-Bo429Bov.js +0 -61
- package/editor-web/assets/undo-2-CWgOKQ3L.js +0 -1
- package/node_modules/@allyhub-next/runtime/dist/host.js +0 -21
- package/node_modules/@allyhub-next/runtime/dist/page.js +0 -72
- package/node_modules/@allyhub-next/runtime/dist/paged.d.ts +0 -16
- package/node_modules/@allyhub-next/runtime/dist/paged.js +0 -2
- package/node_modules/@allyhub-next/video-core/dist/slides.d.ts +0 -37
- package/node_modules/@allyhub-next/video-core/dist/slides.js +0 -2
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-color-emoji/LICENSE +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-color-emoji/emoji.css +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-color-emoji/files/noto-color-emoji-emoji-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/LICENSE +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-100-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-100-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-101-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-101-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-102-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-102-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-103-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-103-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-104-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-104-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-105-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-105-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-106-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-106-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-107-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-107-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-108-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-108-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-109-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-109-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-110-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-110-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-111-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-111-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-112-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-112-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-113-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-113-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-114-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-114-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-115-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-115-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-116-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-116-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-117-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-117-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-118-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-118-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-119-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-119-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-21-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-21-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-22-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-22-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-23-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-23-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-24-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-24-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-25-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-25-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-26-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-26-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-27-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-27-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-28-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-28-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-29-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-29-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-30-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-30-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-31-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-31-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-32-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-32-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-33-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-33-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-34-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-34-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-35-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-35-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-36-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-36-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-37-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-37-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-38-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-38-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-39-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-39-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-4-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-4-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-40-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-40-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-41-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-41-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-42-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-42-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-43-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-43-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-44-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-44-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-45-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-45-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-46-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-46-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-47-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-47-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-48-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-48-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-49-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-49-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-5-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-5-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-50-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-50-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-51-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-51-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-52-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-52-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-53-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-53-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-54-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-54-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-55-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-55-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-56-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-56-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-57-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-57-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-58-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-58-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-59-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-59-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-6-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-6-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-60-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-60-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-61-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-61-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-62-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-62-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-63-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-63-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-64-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-64-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-65-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-65-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-66-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-66-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-67-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-67-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-68-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-68-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-69-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-69-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-70-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-70-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-71-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-71-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-72-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-72-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-73-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-73-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-74-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-74-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-75-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-75-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-76-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-76-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-77-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-77-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-78-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-78-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-79-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-79-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-80-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-80-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-81-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-81-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-82-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-82-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-83-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-83-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-84-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-84-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-85-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-85-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-86-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-86-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-87-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-87-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-88-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-88-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-89-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-89-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-90-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-90-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-91-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-91-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-97-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-97-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-98-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-98-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-99-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-99-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-cyrillic-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-cyrillic-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-latin-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-latin-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-latin-ext-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-latin-ext-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-vietnamese-400-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-vietnamese-700-normal.woff2 +0 -0
- /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/host.d.ts +0 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { Anchor, AutoSize, PlaceholderType } from "./enums.js";
|
|
2
|
+
import type { Color, FontDef, ParagraphFormatDef, TextStylesDef } from "./model.js";
|
|
3
|
+
import { type Length } from "./units.js";
|
|
4
|
+
/** A master's text styles, as Office's master has them (`p:txStyles`). */
|
|
5
|
+
export declare const OFFICE_TEXT_STYLES: TextStylesDef;
|
|
6
|
+
/** What text has when nothing above it says: PowerPoint's own, under any master. */
|
|
7
|
+
export declare const TEXT_FALLBACK: Required<Pick<ParagraphFormatDef, "alignment" | "line_spacing" | "space_before" | "space_after" | "indent">> & {
|
|
8
|
+
font: Required<Pick<FontDef, "name" | "size" | "color">>;
|
|
9
|
+
};
|
|
10
|
+
/** A text frame's insets when none are set (`a:bodyPr` lIns, tIns…), python-pptx's too. */
|
|
11
|
+
export declare const TEXT_INSETS: {
|
|
12
|
+
readonly left: number;
|
|
13
|
+
readonly top: number;
|
|
14
|
+
readonly right: number;
|
|
15
|
+
readonly bottom: number;
|
|
16
|
+
};
|
|
17
|
+
/** Which of a master's text styles a placeholder's text takes. */
|
|
18
|
+
export declare const styleKindOf: (type: PlaceholderType | undefined) => keyof TextStylesDef;
|
|
19
|
+
/** A placeholder's text frame by its type, where no level sets it, as Office's master has it. */
|
|
20
|
+
export declare function placeholderFrame(type: PlaceholderType): {
|
|
21
|
+
vertical_anchor: Anchor;
|
|
22
|
+
auto_size: AutoSize;
|
|
23
|
+
word_wrap: boolean;
|
|
24
|
+
};
|
|
25
|
+
/** The idx a placeholder of a type has when it is not the only one (PowerPoint's: title 0, a layout's footers 10, 11, 12). */
|
|
26
|
+
export declare const FOOTER_IDX: Partial<Record<PlaceholderType, number>>;
|
|
27
|
+
/** A text box as python-pptx's `add_textbox` makes it: no wrapping, the shape fitted to its text. */
|
|
28
|
+
export declare const TEXTBOX_FRAME: {
|
|
29
|
+
readonly word_wrap: false;
|
|
30
|
+
readonly auto_size: "shape";
|
|
31
|
+
};
|
|
32
|
+
/** A text box a person draws in the editor, as PowerPoint's Text Box tool: it wraps, and grows to its text. */
|
|
33
|
+
export declare const DRAWN_TEXTBOX_FRAME: {
|
|
34
|
+
readonly word_wrap: true;
|
|
35
|
+
readonly auto_size: "shape";
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* An autoshape as python-pptx's `add_shape` makes it (its `p:style`): filled
|
|
39
|
+
* and outlined in accent 1 (the theme's first line, 0.5 pt), its text in
|
|
40
|
+
* light 1 and in its middle. Its one empty paragraph is centred: text set
|
|
41
|
+
* with `text` replaces it and is not (python-pptx's, and PowerPoint draws
|
|
42
|
+
* it so); a shape slides.yaml makes centres each of its paragraphs, as
|
|
43
|
+
* PowerPoint's Shapes do.
|
|
44
|
+
*/
|
|
45
|
+
export declare const AUTOSHAPE_STYLE: {
|
|
46
|
+
fill: Color;
|
|
47
|
+
line: Color;
|
|
48
|
+
line_width: Length;
|
|
49
|
+
font_color: Color;
|
|
50
|
+
vertical_anchor: Anchor;
|
|
51
|
+
alignment: "ctr";
|
|
52
|
+
};
|
|
53
|
+
/** A connector as python-pptx's `add_connector` makes it (its `p:style`): the theme's second line (1 pt) in accent 1. */
|
|
54
|
+
export declare const CONNECTOR_STYLE: {
|
|
55
|
+
readonly line: "accent1";
|
|
56
|
+
readonly line_width: number;
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=office.d.ts.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
+
import{Emu as n,Inches as o,Pt as e}from"./units.js";const c=9,r=t=>Array.from({length:c},(l,i)=>t(i));export const OFFICE_TEXT_STYLES={title:r(()=>({alignment:"l",line_spacing:{lines:.9},space_before:0,bullet:null,font:{name:"+mj-lt",size:e(44),color:"dk1"}})),body:r(t=>({alignment:"l",line_spacing:{lines:.9},space_before:t===0?e(10):e(5),bullet:"•",bullet_font:"Arial",margin_left:n(228600+t*457200),indent:n(-228600),font:{name:"+mn-lt",size:e([28,24,20][t]??18),color:"dk1"}})),other:r(t=>({alignment:"l",margin_left:n(t*457200),font:{name:"+mn-lt",size:e(18),color:"dk1"}}))},TEXT_FALLBACK={alignment:"l",line_spacing:{lines:1},space_before:0,space_after:0,indent:0,font:{name:"+mn-lt",size:e(18),color:"dk1"}},TEXT_INSETS={left:o(.1),top:o(.05),right:o(.1),bottom:o(.05)},styleKindOf=t=>t===void 0?"other":t==="title"||t==="ctrTitle"?"title":"body";export function placeholderFrame(t){const l=t==="dt"||t==="ftr"||t==="sldNum";return{vertical_anchor:t==="title"||t==="ctrTitle"||l?"ctr":"t",auto_size:l?"none":"text",word_wrap:!0}}export const FOOTER_IDX={dt:10,ftr:11,sldNum:12},TEXTBOX_FRAME={word_wrap:!1,auto_size:"shape"},DRAWN_TEXTBOX_FRAME={word_wrap:!0,auto_size:"shape"},AUTOSHAPE_STYLE={fill:"accent1",line:"accent1",line_width:n(6350),font_color:"lt1",vertical_anchor:"ctr",alignment:"ctr"},CONNECTOR_STYLE={line:"accent1",line_width:n(12700)};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { PathStep } from "./model.js";
|
|
2
|
+
/** A path's steps; undefined when it says anything but those four. */
|
|
3
|
+
export declare function pathSteps(d: string): PathStep[] | undefined;
|
|
4
|
+
/** Steps as slides.yaml writes them. */
|
|
5
|
+
export declare const pathText: (steps: readonly PathStep[]) => string;
|
|
6
|
+
//# sourceMappingURL=path.d.ts.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
+
const d={M:2,L:2,C:6,Z:0};export function pathSteps(i){const e=[],r=i.trim().match(/[A-Za-z]|-?[\d.]+(?:e-?\d+)?/gu)??[];let n=0;for(;n<r.length;){const t=r[n]??"",o=d[t];if(o===void 0)return;const p=r.slice(n+1,n+1+o).map(Number);if(p.length<o||p.some(m=>!Number.isFinite(m)))return;n+=1+o;const[u=0,c=0,f=0,l=0,s=0,x=0]=p;t==="Z"?e.push({op:"close"}):t==="M"?e.push({op:"move",x:u,y:c}):t==="L"?e.push({op:"line",x:u,y:c}):e.push({op:"curve",x1:u,y1:c,x2:f,y2:l,x:s,y:x})}return e[0]?.op==="move"?e:void 0}export const pathText=i=>i.map(e=>e.op==="close"?"Z":e.op==="curve"?`C${[e.x1,e.y1,e.x2,e.y2,e.x,e.y].map(String).join(" ")}`:`${e.op==="move"?"M":"L"}${String(e.x)} ${String(e.y)}`).join(" ");
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { PlaceholderType } from "./enums.js";
|
|
2
|
+
import type { MasterDef, ShapeDef } from "./model.js";
|
|
3
|
+
/** The master placeholder type a layout's placeholder of a type takes what it does not set from. */
|
|
4
|
+
export declare const BASE_TYPE: Record<PlaceholderType, PlaceholderType>;
|
|
5
|
+
/** A master's placeholder of a type. */
|
|
6
|
+
export declare function masterPlaceholder(master: Pick<MasterDef, "shapes">, type: PlaceholderType): ShapeDef | undefined;
|
|
7
|
+
//# sourceMappingURL=placeholders.d.ts.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
+
export const BASE_TYPE={title:"title",ctrTitle:"title",subTitle:"body",body:"body",pic:"body",media:"body",obj:"body",dt:"dt",ftr:"ftr",sldNum:"sldNum"};export function masterPlaceholder(e,d){const o=BASE_TYPE[d];return e.shapes.find(t=>t.kind==="placeholder"&&t.placeholder?.type===o)}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import type { ShapeFile, SlidesFile, TextAlign } from "@allyhub-next/formats";
|
|
2
|
+
import type { ChartDef } from "./chart.js";
|
|
3
|
+
import type { Anchor, AutoSize, PlaceholderType } from "./enums.js";
|
|
4
|
+
import type { Color, DeckDef, FontDef, Frame, LevelsDef, LineSpacing, MasterDef, ParagraphDef, ShapeDef, ShapeKind, TableCellDef, TableDef, TextFrameDef } from "./model.js";
|
|
5
|
+
import { type ResolvedAnimation, type ResolvedTransition } from "./animation.js";
|
|
6
|
+
import { type Theme } from "./theme.js";
|
|
7
|
+
import { type Length } from "./units.js";
|
|
8
|
+
/** Where a value came from: a level of the deck, and its place in slides.yaml when it is the slide's. */
|
|
9
|
+
export interface ValueSource {
|
|
10
|
+
from: "master" | "layout" | "code" | "slide";
|
|
11
|
+
/** slides.yaml's path of the value (`slides.2.shapes.Title.frame`), when it is set there. */
|
|
12
|
+
path?: string;
|
|
13
|
+
}
|
|
14
|
+
/** A level of a text frame's style, every value inherited and resolved: what a paragraph at that level takes. */
|
|
15
|
+
export interface LevelStyle {
|
|
16
|
+
font: Required<Pick<FontDef, "name" | "size">> & Omit<FontDef, "name" | "size">;
|
|
17
|
+
alignment: TextAlign;
|
|
18
|
+
line_spacing: LineSpacing;
|
|
19
|
+
space_before: Length;
|
|
20
|
+
space_after: Length;
|
|
21
|
+
bullet?: {
|
|
22
|
+
char: string;
|
|
23
|
+
font?: string;
|
|
24
|
+
};
|
|
25
|
+
margin_left: Length;
|
|
26
|
+
indent: Length;
|
|
27
|
+
}
|
|
28
|
+
/** A text frame's style, every value inherited and resolved. */
|
|
29
|
+
export interface TextStyle {
|
|
30
|
+
vertical_anchor: Anchor;
|
|
31
|
+
auto_size: AutoSize;
|
|
32
|
+
word_wrap: boolean;
|
|
33
|
+
margins: {
|
|
34
|
+
left: Length;
|
|
35
|
+
top: Length;
|
|
36
|
+
right: Length;
|
|
37
|
+
bottom: Length;
|
|
38
|
+
};
|
|
39
|
+
/** Nine levels, level 0 first. */
|
|
40
|
+
levels: LevelStyle[];
|
|
41
|
+
}
|
|
42
|
+
export interface ResolvedText {
|
|
43
|
+
paragraphs: ParagraphDef[];
|
|
44
|
+
style: TextStyle;
|
|
45
|
+
/** What a shape's own text frame sets (a text box's, an autoshape's; a placeholder's are its levels'): what its file writes, the rest inherited. */
|
|
46
|
+
own?: Omit<TextFrameDef, "paragraphs">;
|
|
47
|
+
/** A placeholder nothing was put in: drawn only while editing. */
|
|
48
|
+
empty: boolean;
|
|
49
|
+
}
|
|
50
|
+
export interface ResolvedShape {
|
|
51
|
+
name: string;
|
|
52
|
+
kind: ShapeKind;
|
|
53
|
+
frame: Frame;
|
|
54
|
+
/** A connector's direction: from its frame's top left to its bottom right unless flipped. */
|
|
55
|
+
flip?: {
|
|
56
|
+
h?: boolean;
|
|
57
|
+
v?: boolean;
|
|
58
|
+
};
|
|
59
|
+
/** Degrees clockwise about its centre. */
|
|
60
|
+
rotation?: number;
|
|
61
|
+
/** The level it belongs to: the master's and the layout's own shapes are on every slide of them, not the slide's to change. */
|
|
62
|
+
level: "master" | "layout" | "slide";
|
|
63
|
+
placeholder?: {
|
|
64
|
+
type: PlaceholderType;
|
|
65
|
+
idx: number;
|
|
66
|
+
};
|
|
67
|
+
text?: ResolvedText;
|
|
68
|
+
fill?: Color | null;
|
|
69
|
+
line?: Color | null;
|
|
70
|
+
line_width?: Length;
|
|
71
|
+
line_dash?: NonNullable<ShapeDef["line_dash"]>;
|
|
72
|
+
line_begin?: NonNullable<ShapeDef["line_begin"]>;
|
|
73
|
+
line_end?: NonNullable<ShapeDef["line_end"]>;
|
|
74
|
+
path?: NonNullable<ShapeDef["path"]>;
|
|
75
|
+
table?: ResolvedTable;
|
|
76
|
+
chart?: ChartDef;
|
|
77
|
+
group?: string;
|
|
78
|
+
geometry?: ShapeDef["geometry"];
|
|
79
|
+
adjustments?: number[];
|
|
80
|
+
/** A picture or a movie: its project path, its poster, its crop. */
|
|
81
|
+
media?: {
|
|
82
|
+
path: string;
|
|
83
|
+
poster?: number;
|
|
84
|
+
crop?: {
|
|
85
|
+
left: number;
|
|
86
|
+
top: number;
|
|
87
|
+
right: number;
|
|
88
|
+
bottom: number;
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
component?: {
|
|
92
|
+
name: string;
|
|
93
|
+
props: Record<string, unknown>;
|
|
94
|
+
};
|
|
95
|
+
/** What slides.yaml set on its text (`text`), over what it inherits: a placeholder's own. */
|
|
96
|
+
fileText?: NonNullable<ShapeFile["text"]>;
|
|
97
|
+
sources: {
|
|
98
|
+
frame: ValueSource;
|
|
99
|
+
text?: ValueSource;
|
|
100
|
+
fill?: ValueSource;
|
|
101
|
+
line?: ValueSource;
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
export interface ResolvedSlide {
|
|
105
|
+
/** Its id; a generated slide's is `<block>/<id>`. */
|
|
106
|
+
id: string;
|
|
107
|
+
layout: string;
|
|
108
|
+
master: string;
|
|
109
|
+
hidden: boolean;
|
|
110
|
+
background: Color;
|
|
111
|
+
/** Back to front. */
|
|
112
|
+
shapes: ResolvedShape[];
|
|
113
|
+
/** Its Animation Pane, in order. */
|
|
114
|
+
animations: ResolvedAnimation[];
|
|
115
|
+
/** How it comes on from the slide before. */
|
|
116
|
+
transition?: ResolvedTransition;
|
|
117
|
+
notes?: string;
|
|
118
|
+
/** Its place in slides.yaml's `slides`, and its block's generator for a generated slide. */
|
|
119
|
+
file: {
|
|
120
|
+
index: number;
|
|
121
|
+
generate?: string;
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
export interface ResolvedDeck {
|
|
125
|
+
width: Length;
|
|
126
|
+
height: Length;
|
|
127
|
+
theme: Theme;
|
|
128
|
+
slides: ResolvedSlide[];
|
|
129
|
+
}
|
|
130
|
+
/** Something about the deck that keeps it from being drawn as written. */
|
|
131
|
+
export interface DeckProblem {
|
|
132
|
+
message: string;
|
|
133
|
+
slide?: string;
|
|
134
|
+
shape?: string;
|
|
135
|
+
/** slides.yaml's path, when the problem is there. */
|
|
136
|
+
path?: string;
|
|
137
|
+
}
|
|
138
|
+
/** Words of the script: a text, a list of them (paragraphs, nested a level deeper), or none. */
|
|
139
|
+
export type Words = string | readonly Words[] | undefined;
|
|
140
|
+
/** A table's cell as drawn: its text resolved, the rest as made. */
|
|
141
|
+
export type ResolvedCell = Omit<TableCellDef, "text"> & {
|
|
142
|
+
text: ResolvedText;
|
|
143
|
+
/** What slides.yaml's row sets of its text. */
|
|
144
|
+
fileText?: NonNullable<ShapeFile["text"]>;
|
|
145
|
+
};
|
|
146
|
+
/** A table as drawn. */
|
|
147
|
+
export type ResolvedTable = Omit<TableDef, "rows"> & {
|
|
148
|
+
rows: {
|
|
149
|
+
height: Length;
|
|
150
|
+
cells: ResolvedCell[];
|
|
151
|
+
}[];
|
|
152
|
+
};
|
|
153
|
+
export interface ResolveInput {
|
|
154
|
+
def: DeckDef;
|
|
155
|
+
file: SlidesFile;
|
|
156
|
+
/** The script's words of a key, `<prefix>.<slide>.<shape>` or `.notes`. */
|
|
157
|
+
words: (key: string) => Words;
|
|
158
|
+
prefix: string;
|
|
159
|
+
/** The deck's folder, a project path: slides.yaml's paths are from it. */
|
|
160
|
+
base: string;
|
|
161
|
+
/** The theme under the deck's own: the project's look as a theme. */
|
|
162
|
+
theme?: Theme;
|
|
163
|
+
/** A generator's data reader. */
|
|
164
|
+
data?: (path: string) => unknown;
|
|
165
|
+
}
|
|
166
|
+
/** A project path from a folder and a path relative to it. */
|
|
167
|
+
export declare function joinPath(base: string, rel: string): string;
|
|
168
|
+
/** Levels with list styles over them, the last one's values winning. */
|
|
169
|
+
export declare function levelsOver(base: readonly LevelStyle[], ...over: (LevelsDef | undefined)[]): LevelStyle[];
|
|
170
|
+
/** What the text of a shape that is not a placeholder starts from under a master: PowerPoint's own, then the master's other style. */
|
|
171
|
+
export declare const plainLevels: (master: MasterDef) => LevelStyle[];
|
|
172
|
+
/** A colour slides.yaml names: the theme's, or `#RRGGBB`. */
|
|
173
|
+
export declare const colorOfFile: (c: string) => Color;
|
|
174
|
+
/** Paragraphs from the script's words: a line each; a list's items each a paragraph, a nested list a level deeper; `**bold**`, `*italic*`, `` `code` `` (in the font `code` names) and spans (WORDS_SPAN) as runs. */
|
|
175
|
+
export declare function paragraphsOfWords(words: Words, level?: number, code?: string): ParagraphDef[];
|
|
176
|
+
/** The deck's slides, resolved, and what kept any of it from being drawn as written. */
|
|
177
|
+
export declare function resolveDeck(input: ResolveInput): {
|
|
178
|
+
deck: ResolvedDeck;
|
|
179
|
+
problems: DeckProblem[];
|
|
180
|
+
};
|
|
181
|
+
//# sourceMappingURL=resolve.d.ts.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
+
import{readMarks as le,markRuns as de}from"@allyhub-next/video-core";import{chartOfFile as se}from"./chart-file.js";import{AUTOSHAPE_STYLE as j,CONNECTOR_STYLE as V,DRAWN_TEXTBOX_FRAME as Z,TEXT_FALLBACK as q,TEXT_INSETS as N,placeholderFrame as fe,styleKindOf as pe}from"./office.js";import{resolveAnimation as ue,resolveTransition as J}from"./animation.js";import{pathSteps as ce}from"./path.js";import{masterPlaceholder as he}from"./placeholders.js";import{DECK_FONTS as me,OFFICE_THEME as ge,themeOver as _e}from"./theme.js";import{Pt as A}from"./units.js";export function joinPath(t,o){if(o.startsWith("/"))return o.slice(1);const m=t===""?[]:t.split("/");for(const l of o.split("/"))l===""||l==="."||(l===".."?m.pop():m.push(l));return m.join("/")}const Q={left:0,top:0,width:0,height:0},P=()=>Array.from({length:9},()=>({...q,font:{...q.font},margin_left:0}));export function levelsOver(t,...o){return t.map((m,l)=>{let s={...m,font:{...m.font}};for(const $ of o){const r=$?.[l];r&&(s={...s,...r.alignment===void 0?{}:{alignment:r.alignment},...r.line_spacing===void 0?{}:{line_spacing:r.line_spacing},...r.space_before===void 0?{}:{space_before:r.space_before},...r.space_after===void 0?{}:{space_after:r.space_after},...r.margin_left===void 0?{}:{margin_left:r.margin_left},...r.indent===void 0?{}:{indent:r.indent},font:{...s.font,...r.font}},r.font?.color!==void 0&&delete s.font.rgb,r.font?.rgb!==void 0&&delete s.font.color,r.bullet===null?delete s.bullet:r.bullet!==void 0?s.bullet={char:r.bullet,...r.bullet_font===void 0?{}:{font:r.bullet_font}}:r.bullet_font!==void 0&&s.bullet&&(s.bullet={...s.bullet,font:r.bullet_font}))}return s})}function K(t,...o){const m=o.filter(s=>s!==void 0),l=s=>{for(let $=m.length-1;$>=0;$--){const r=m[$]?.[s];if(r!==void 0)return r}};return{vertical_anchor:l("vertical_anchor")??t.vertical_anchor,auto_size:l("auto_size")??t.auto_size,word_wrap:l("word_wrap")??t.word_wrap,margins:{left:l("margin_left")??N.left,top:l("margin_top")??N.top,right:l("margin_right")??N.right,bottom:l("margin_bottom")??N.bottom}}}const I={vertical_anchor:"t",auto_size:"none",word_wrap:!0};export const plainLevels=t=>levelsOver(P(),t.text_styles.other);function B(t,o){return{...K(I,o),levels:levelsOver(P(),t.text_styles.other,o.levels)}}function ye(t,o,...m){return{...K(fe(o),...m),levels:levelsOver(P(),t.text_styles[pe(o)],...m.map(l=>l?.levels))}}const $e=Array.from({length:9},()=>({font:{color:j.font_color}})),ee={vertical_anchor:j.vertical_anchor};function ne(t,o){return{...K(I,o),levels:levelsOver(P(),t.text_styles.other,$e,o.levels)}}const L=t=>{const o={...t};return delete o.paragraphs,o},R=t=>({paragraphs:[],levels:[],...t}),W=t=>t==="none"?null:colorOfFile(t),xe=/<span((?:\s+(?:color|font)="[^"\n]*")+)\s*>(.*?)<\/span>/gu,be=/(color|font)="([^"\n]*)"/gu,D=57344,we=256,te="",ke=/[\ue000-\ue100]|[^\ue000-\ue100]+/gu;export const colorOfFile=t=>t.startsWith("#")?{rgb:t.toUpperCase()}:t;function ie(t,o,m=[]){return{...t,rows:t.rows.map((l,s)=>({height:l.height,cells:l.cells.map($=>{const r=m[s];return{...$,text:{paragraphs:$.text.paragraphs,style:H({...B(o,$.text),auto_size:"shape"},r),own:L($.text),empty:!1},...r?{fileText:r}:{}}})}))}}function H(t,o){return o?{...t,levels:t.levels.map(m=>{const l={...m.font,...o.size===void 0?{}:{size:A(o.size)},...o.bold===void 0?{}:{bold:o.bold},...o.italic===void 0?{}:{italic:o.italic},...o.font===void 0?{}:{name:o.font}};if(o.color!==void 0){const s=colorOfFile(o.color);typeof s=="string"?(l.color=s,delete l.rgb):(l.rgb=s.rgb,delete l.color)}return{...m,font:l,...o.align===void 0?{}:{alignment:o.align}}})}:t}function Se(t){const o={};for(const[,m,l=""]of t.matchAll(be))if(m==="font")o.name=l.trim();else{const s=colorOfFile(l);typeof s=="string"?o.color=s:o.rgb=s.rgb}return o}export function paragraphsOfWords(t,o=0,m=me.code){return t===void 0?[]:typeof t=="string"?t.split(/\r?\n/u).map(l=>{const s=[],$=l.replace(xe,(v,T,z)=>(s.push(Se(T)),`${String.fromCharCode(D+s.length-1)}${z}${te}`)),r=le($);let O;const E=de(r.text,r.marks).flatMap(v=>{const T=v.kinds.includes("code"),z={...v.kinds.includes("strong")?{bold:!0}:{},...v.kinds.includes("em")?{italic:!0}:{},...T?{name:m}:{}};return[...v.text.matchAll(ke)].flatMap(U=>{const M=U[0],F=M.charCodeAt(0);if(M===te)return O=void 0,[];if(F>=D&&F<D+we)return O=s[F-D],[];const C={...O,...z};return[{text:M,...Object.keys(C).length>0?{font:C}:{},...T?{code:!0}:{}}]})});return{runs:E.length>0?E:[{text:""}],level:o}}):t.flatMap(l=>paragraphsOfWords(l,Array.isArray(l)?Math.min(o+1,8):o,m))}const oe=t=>({left:A(t.x),top:A(t.y),width:A(t.w),height:A(t.h)}),re=t=>t===void 0?void 0:{left:t.left??0,top:t.top??0,right:t.right??0,bottom:t.bottom??0};export function resolveDeck(t){const{def:o,file:m,words:l,prefix:s,base:$}=t,r=[],O=_e(t.theme??ge,o.theme),E=new Map;for(const e of o.masters)for(const n of e.layouts)E.set(n.name,{layout:n,master:e});const v=[],T=(e,n,f)=>({name:e.name,kind:e.kind,frame:{...e.frame??Q},...e.flip?{flip:{...e.flip}}:{},...e.rotation===void 0?{}:{rotation:e.rotation},level:n,...e.text?{text:{paragraphs:e.text.paragraphs,style:e.kind==="autoshape"?ne(f,e.text):B(f,e.text),own:L(e.text),empty:!1}}:{},...e.fill===void 0?{}:{fill:e.fill},...e.line===void 0?{}:{line:e.line},...e.line_width===void 0?{}:{line_width:e.line_width},...e.line_dash===void 0?{}:{line_dash:e.line_dash},...e.line_begin===void 0?{}:{line_begin:e.line_begin},...e.line_end===void 0?{}:{line_end:e.line_end},...e.path?{path:e.path}:{},...e.table?{table:ie(e.table,f)}:{},...e.chart?{chart:e.chart}:{},...e.group===void 0?{}:{group:e.group},...e.geometry?{geometry:e.geometry}:{},...e.adjustments?{adjustments:[...e.adjustments]}:{},...e.media?{media:{path:joinPath(e.media.base,e.media.path),...e.media.poster===void 0?{}:{poster:e.media.poster}}}:{},...e.component?{component:{...e.component}}:{},sources:{frame:{from:n}}}),z=(e,n)=>{const f=e.placeholder?.type??"body",c=he(n,f),x=e.frame??c?.frame??Q;return{name:e.name,kind:"placeholder",frame:{...x},level:"slide",...e.placeholder?{placeholder:{...e.placeholder}}:{},text:{paragraphs:[],style:ye(n,f,c?.text,e.text),empty:!0},...e.fill===void 0?{}:{fill:e.fill},...e.line===void 0?{}:{line:e.line},sources:{frame:{from:e.frame||!c?"layout":"master"},text:{from:"layout"}}}},U=(e,n,f)=>{const c=o.components[e];if(!c){r.push({...f,message:`There is no component ${e} in slides.ts (it has ${Object.keys(o.components).join(", ")||"none"}).`});return}for(const x of Object.keys(n??{}))Object.hasOwn(c.props,x)||r.push({...f,message:`Component ${e} has no prop ${x} a person sets (it has ${Object.keys(c.props).join(", ")||"none"}).`});return{name:e,props:{...n??{}}}},M=(e,n,f,c,x)=>{const b={slide:c,shape:e,path:f};if(!n.frame){r.push({...b,message:`Shape ${e} is the slide's own: it needs a frame { x, y, w, h } in points.`});return}const S=oe(n.frame),a={frame:{from:"slide",path:`${f}.frame`}},_={name:e,frame:S,level:"slide",...n.fill===void 0?{}:{fill:colorOfFile(n.fill)},...n.line===void 0?{}:{line:W(n.line)},...n.line_dash===void 0?{}:{line_dash:n.line_dash},...n.line_begin===void 0?{}:{line_begin:n.line_begin},...n.line_end===void 0?{}:{line_end:n.line_end},...n.group===void 0?{}:{group:n.group}};if(n.textbox)return{..._,kind:"textbox",text:{paragraphs:paragraphsOfWords(l(`${s}.${c}.${e}`),0,O.fonts.code),style:H(B(x,R(Z)),n.text),own:L(R(Z)),empty:!1},...n.text?{fileText:{...n.text}}:{},sources:{...a,text:{from:"slide",path:`${f}.text`}}};if(n.picture!==void 0){const d=re(n.crop);return{..._,kind:"picture",media:{path:joinPath($,n.picture),...d?{crop:d}:{}},sources:a}}if(n.movie!==void 0)return{..._,kind:"movie",media:{path:joinPath($,n.movie),...n.poster===void 0?{}:{poster:n.poster}},sources:a};if(n.chart){const d=l(`${s}.${c}.${e}`),h=se(n.chart,{title:typeof d=="string"?d:void 0,base:$,rows:i=>t.data?.(i),problem:i=>{r.push({...b,message:`Chart ${e}: ${i}`})}});return h?{..._,kind:"chart",chart:h,sources:a}:void 0}if(n.table){const d=n.table,h=S.width/d.columns.reduce((g,w)=>g+w,0),i=S.height/d.rows.reduce((g,w)=>g+w.height,0),p=l(`${s}.${c}.${e}`),y=Array.isArray(p)?p:[];return y.length>d.rows.length&&r.push({...b,message:`Table ${e} has ${String(d.rows.length)} rows and its words ${String(y.length)}.`}),{..._,kind:"table",table:ie({columns:d.columns.map(g=>Math.round(g*h)),rows:d.rows.map((g,w)=>{const k=y[w],X=Array.isArray(k)?k:k===void 0?[]:[k];return{height:Math.round(g.height*i),cells:d.columns.map((ve,ae)=>({text:{levels:[],paragraphs:paragraphsOfWords(X[ae],0,O.fonts.code)},...g.fill===void 0?{}:{fill:colorOfFile(g.fill)},...g.line===void 0?{}:{borders:{bottom:{color:colorOfFile(g.line),width:A(1)}}}}))}})},x,d.rows.map(g=>g.text)),sources:a}}const u=n.path&&ce(n.path.d);if(n.path&&!u){r.push({...b,message:`Shape ${e}'s path starts with M and says only M, L, C and Z, absolute.`});return}if(n.geometry!==void 0||n.path&&u)return{..._,kind:"autoshape",...n.path&&u?{path:{w:n.path.w,h:n.path.h,steps:u}}:n.geometry===void 0?{}:{geometry:n.geometry},...n.geometry==="line"?{line:n.line===void 0?V.line:W(n.line),line_width:n.line_width===void 0?V.line_width:A(n.line_width)}:{fill:n.fill===void 0?j.fill:colorOfFile(n.fill),line:n.line===void 0?j.line:W(n.line),line_width:n.line_width===void 0?j.line_width:A(n.line_width)},...n.text&&n.geometry!=="line"?{fileText:{...n.text}}:{},...n.geometry==="line"?{}:{text:{paragraphs:paragraphsOfWords(l(`${s}.${c}.${e}`)).map(d=>n.text?.align===void 0?{alignment:j.alignment,...d}:d),style:H(ne(x,R(ee)),n.text),own:L(R(ee)),empty:!1}},sources:{...a,fill:{from:"slide",path:`${f}.fill`}}};if(n.component!==void 0){const d=U(n.component,n.props,b);return d?{..._,kind:"component",component:d,sources:a}:void 0}},F=(e,n,f)=>{if(n.frame&&(e.frame=oe(n.frame),e.sources.frame={from:"slide",path:`${f}.frame`}),n.text&&e.text&&(e.text.style=H(e.text.style,n.text),e.fileText={...n.text},e.sources.text={from:"slide",path:`${f}.text`}),n.line!==void 0&&(e.line=W(n.line),e.sources.line={from:"slide",path:`${f}.line`}),n.line_width!==void 0&&(e.line_width=A(n.line_width)),n.line_dash!==void 0&&(e.line_dash=n.line_dash),n.line_begin!==void 0&&(e.line_begin=n.line_begin),n.line_end!==void 0&&(e.line_end=n.line_end),n.fill!==void 0&&(e.fill=colorOfFile(n.fill),e.sources.fill={from:"slide",path:`${f}.fill`}),(n.picture!==void 0||n.movie!==void 0)&&(e.placeholder?.type==="pic"||e.placeholder?.type==="media"||e.placeholder?.type==="obj")){const c=re(n.crop);e.kind=n.picture!==void 0?"picture":"movie",e.media={path:joinPath($,n.picture??n.movie??""),...c?{crop:c}:{},...n.poster===void 0?{}:{poster:n.poster}},delete e.text}},C=(e,n,f,c,x)=>{const b=E.get(n);if(!b){r.push({slide:e,path:`slides.${String(f)}.layout`,message:`Slide ${e} is on the layout "${n}", which slides.ts does not have (it has ${[...E.keys()].join(", ")||"none"}).`});return}const{layout:S,master:a}=b,_=[...(S.display_master_shapes===!1?[]:a.shapes).filter(d=>d.kind!=="placeholder").map(d=>T(d,"master",a)),...S.shapes.filter(d=>d.kind!=="placeholder").map(d=>T(d,"layout",a))],u=S.shapes.filter(d=>d.kind==="placeholder").map((d,h)=>({shape:z(d,a),order:h}));return{slide:{id:e,layout:S.name,master:a.name,hidden:c,background:S.background??a.background,shapes:_,animations:[],file:{index:f,...x===void 0?{}:{generate:x}}},placed:u,master:a}},G=(e,n,f,c,x,b,S,a,_)=>{const u=new Set(f.map(h=>h.shape.name));let d=f.length;for(const[h,i]of Object.entries(c??{})){const p=b(h);if(p===void 0)continue;const y=`${x}.shapes.${h}`,g=i.textbox!==void 0||i.geometry!==void 0||i.path!==void 0||i.table!==void 0||i.chart!==void 0||i.component!==void 0||(i.picture!==void 0||i.movie!==void 0)&&!u.has(p),w=f.find(X=>X.shape.name===p);if(w&&!g){F(w.shape,i,y),i.z!==void 0&&(w.z=i.z);continue}if(w){r.push({slide:e.id,shape:p,path:y,message:`Slide ${e.id} has a ${w.shape.kind} ${p} already: a shape of its own needs another name.`});continue}if(!g){r.push({slide:e.id,shape:p,path:y,message:`Slide ${e.id} has no shape ${p} to change (its layout's placeholders and its own shapes are ${[...u].join(", ")||"none"}).`});continue}const k=M(p,i,y,e.id,n);k&&(f.push({shape:k,order:d++,...i.z===void 0?{}:{z:i.z}}),u.add(p))}f.sort((h,i)=>(h.z??0)-(i.z??0)||h.order-i.order);for(const h of f){const i=h.shape.text;if(h.shape.kind==="placeholder"&&i){const p=S(h.shape);i.paragraphs=paragraphsOfWords(p,0,O.fonts.code),i.empty=i.paragraphs.length===0||i.paragraphs.every(y=>y.runs.every(g=>g.text===""))}}e.shapes.push(...f.map(h=>h.shape)),a!==void 0&&a.trim()!==""&&(e.notes=a);for(const[h,i]of(_??[]).entries()){const p=b(i.shape);if(p===void 0)continue;const y={slide:e.id,shape:p,path:`${x}.animations.${String(h)}`},g=e.shapes.find(k=>k.name===p&&k.level==="slide");if(!g){r.push({...y,message:`Slide ${e.id} has no shape ${p} to animate (it has ${e.shapes.filter(k=>k.level==="slide").map(k=>k.name).join(", ")}).`});continue}if(i.paragraph!==void 0&&i.paragraph>=(g.text?.paragraphs.length??0)){r.push({...y,message:`Shape ${p} has no paragraph ${String(i.paragraph)} to animate (it has ${String(g.text?.paragraphs.length??0)}).`});continue}const w=ue({...i,shape:p});w?e.animations.push(w):r.push({...y,message:`The animation of ${p} needs a path that starts with M and says only M, L and C, absolute.`})}},Y=new Set;return m.slides.forEach((e,n)=>{const f=`slides.${String(n)}`;if(e.layout!==void 0){const a=C(e.id,e.layout,n,e.hidden===!0);if(!a)return;const _=l(`${s}.${e.id}.notes`);e.transition&&(a.slide.transition=J(e.transition)),G(a.slide,a.master,a.placed,e.shapes,f,u=>u,u=>l(`${s}.${e.id}.${u.name}`),typeof _=="string"?_:void 0,e.animations),v.push(a.slide),Y.add(e.id);return}const c=e.generate??"",x=o.generators[c];if(!x){r.push({slide:e.id,path:`${f}.generate`,message:`There is no generator ${c} in slides.ts (it has ${Object.keys(o.generators).join(", ")||"none"}).`});return}let b;try{b=x.make({data:t.data??(()=>{throw new Error("No data here.")})})}catch(a){r.push({slide:e.id,path:`${f}.generate`,message:`Generator ${c} failed: ${a instanceof Error?a.message:String(a)}`});return}const S=new Set(Array.isArray(e.hidden)?e.hidden:[]);for(const a of b){const _=`${e.id}/${a.id}`,u=C(_,a.layout,n,S.has(a.id),c);if(!u)continue;for(const i of a.shapes){const p=i.placeholder?u.placed.find(y=>y.shape.placeholder?.idx===i.placeholder?.idx):void 0;if(p)i.frame&&(p.shape.frame={...i.frame}),p.shape.sources.frame={from:"code"};else{const y=T(i,"layout",u.master);u.placed.push({shape:{...y,level:"slide",sources:{frame:{from:"code"}}},order:u.placed.length})}}const d=`${a.id}/`,h=a.transition??(a===b[0]?e.transition:void 0);h&&(u.slide.transition=J(h)),G(u.slide,u.master,u.placed,e.shapes,f,i=>i.startsWith(d)?i.slice(d.length):void 0,i=>{const p=i.placeholder===void 0?void 0:a.text[i.placeholder.idx];return p===void 0?void 0:p.map(y=>y.runs.map(g=>g.text).join(""))},a.notes,[...(a.animations??[]).map(i=>({...i,shape:`${d}${i.shape}`})),...e.animations??[]]);for(const i of u.slide.shapes){const p=i.placeholder===void 0?void 0:a.text[i.placeholder.idx];p&&i.text&&(i.text.paragraphs=p,i.text.empty=!1)}v.push(u.slide),Y.add(_)}for(const a of Object.keys(e.shapes??{})){const[_]=a.split("/");_!==void 0&&!b.some(u=>u.id===_)&&r.push({slide:e.id,path:`${f}.shapes.${a}`,message:`Generator ${c} makes no slide ${_}: ${a} changes nothing.`})}}),{deck:{width:o.slide_width,height:o.slide_height,theme:O,slides:v},problems:r}}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { type ScriptFile, type ScriptText } from "@allyhub-next/formats";
|
|
2
|
+
/** A slide's speaker notes: a line, or a plural. */
|
|
3
|
+
type Notes = NonNullable<ScriptFile["slides"][number]["notes"]>;
|
|
4
|
+
export type DeckScriptEdit =
|
|
5
|
+
/** A shape's words (a list is its paragraphs); undefined takes them away. */
|
|
6
|
+
{
|
|
7
|
+
op: "text";
|
|
8
|
+
slide: string;
|
|
9
|
+
shape: string;
|
|
10
|
+
words: ScriptText | undefined;
|
|
11
|
+
} | {
|
|
12
|
+
op: "notes";
|
|
13
|
+
slide: string;
|
|
14
|
+
notes: Notes | undefined;
|
|
15
|
+
}
|
|
16
|
+
/** A slide's row taken away (the slide is gone). */
|
|
17
|
+
| {
|
|
18
|
+
op: "remove";
|
|
19
|
+
slide: string;
|
|
20
|
+
};
|
|
21
|
+
/** A script's text read; undefined when it is not a script. */
|
|
22
|
+
export declare function readScript(text: string): ScriptFile | undefined;
|
|
23
|
+
/** The script's text after an edit. */
|
|
24
|
+
export declare function editDeckScript(text: string | undefined, edit: DeckScriptEdit): string;
|
|
25
|
+
/** What `b` changes of `a`'s slides' words and notes, as edits. */
|
|
26
|
+
export declare function deckScriptEdits(a: ScriptFile, b: ScriptFile): DeckScriptEdit[];
|
|
27
|
+
/** Where a person's words met another hand's: the person's stand. */
|
|
28
|
+
export interface DeckScriptConflict {
|
|
29
|
+
slide: string;
|
|
30
|
+
/** The shape whose words both changed; absent for the notes. */
|
|
31
|
+
shape?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* A person's script (`mine`, made from `base`) merged into the script as
|
|
35
|
+
* another hand left it (`theirs`), as mergeSlides merges slides.yaml.
|
|
36
|
+
* Undefined when theirs is not a script.
|
|
37
|
+
*/
|
|
38
|
+
export declare function mergeDeckScript(base: string, mine: ScriptFile, theirs: string): {
|
|
39
|
+
text: string;
|
|
40
|
+
conflicts: DeckScriptConflict[];
|
|
41
|
+
} | undefined;
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=script.d.ts.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
+
import{readDataFile as w}from"@allyhub-next/formats";import{isMap as l,isSeq as h,parseDocument as m}from"yaml";export function readScript(n){const e=m(n);if(e.errors.length>0)return;const t=w("script",e.toJS()??{});return t.ok?t.value:void 0}function g(n){let e=n.get("slides",!0);if(h(e)||(l(n.contents)?n.set("slides",n.createNode([])):n.contents=n.createNode({slides:[]}),e=n.get("slides",!0)),!h(e))throw new Error("The script has no slides list.");return e.flow===!0&&(e.flow=!1),e}export function editDeckScript(n,e){const t=m(n===void 0||n.trim()===""?`slides: []
|
|
3
|
+
`:n);if(t.errors.length>0)throw new Error("The script is not YAML: it is mended by hand first.");const i=g(t),c=i.items.findIndex(f=>l(f)&&f.get("id")===e.slide);if(e.op==="remove")return c>=0&&i.items.splice(c,1),t.toString();const r=e.op==="text"?e.words===void 0:e.notes===void 0;if(c<0&&r)return t.toString();let o=i.items[c];if(l(o)||(i.items.push(t.createNode({id:e.slide})),o=i.items.at(-1)),!l(o))return t.toString();if(e.op==="notes")e.notes===void 0?o.delete("notes"):o.set("notes",t.createNode(e.notes));else if(e.words===void 0){o.deleteIn(["text",e.shape]);const f=o.get("text",!0);l(f)&&f.items.length===0&&o.delete("text")}else o.setIn(["text",e.shape],t.createNode(e.words));return o.items.length===1&&i.items.splice(i.items.indexOf(o),1),t.toString()}const p=n=>JSON.stringify(n);export function deckScriptEdits(n,e){const t=[],i=new Map(n.slides.map(r=>[r.id,r])),c=new Map(e.slides.map(r=>[r.id,r]));for(const r of i.keys())c.has(r)||t.push({op:"remove",slide:r});for(const[r,o]of c){const f=i.get(r),u=f?.text??{},d=o.text??{};for(const s of new Set([...Object.keys(u),...Object.keys(d)]))p(u[s])!==p(d[s])&&t.push({op:"text",slide:r,shape:s,words:d[s]});p(f?.notes)!==p(o.notes)&&t.push({op:"notes",slide:r,notes:o.notes})}return t}export function mergeDeckScript(n,e,t){const i=readScript(n)??{parts:[],slides:[]},c=readScript(t);if(!c)return;const r=deckScriptEdits(i,e);let o=t;for(const s of r)o=editDeckScript(o,s);const f=s=>`${s.slide}\0${s.op==="text"?s.shape:s.op}`,u=new Map(deckScriptEdits(i,c).map(s=>[f(s),s])),d=[];for(const s of r){const a=u.get(f(s));!a||p(a)===p(s)||d.push({slide:s.slide,...s.op==="text"?{shape:s.shape}:{}})}return{text:o,conflicts:d}}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { Frame } from "./model.js";
|
|
2
|
+
/** A paragraph as typed: its words (bold as `**…**`, italic as `*…*`, a line break as `\v`) and its level. */
|
|
3
|
+
export interface TypedParagraph {
|
|
4
|
+
text: string;
|
|
5
|
+
level: number;
|
|
6
|
+
}
|
|
7
|
+
export type DeckEditCommand =
|
|
8
|
+
/** Draw a shape (`<slide>/<shape>`) at a frame (EMU); null puts it back where the file has it. */
|
|
9
|
+
{
|
|
10
|
+
type: "deck-frame";
|
|
11
|
+
shape: string;
|
|
12
|
+
frame: Frame | null;
|
|
13
|
+
}
|
|
14
|
+
/** Type into a shape's text, the caret at a point (a share of the slide's width and height) or at its end; a table's cell is `cell`, or the one at the point, or its first. */
|
|
15
|
+
| {
|
|
16
|
+
type: "deck-edit";
|
|
17
|
+
shape: string;
|
|
18
|
+
at?: {
|
|
19
|
+
x: number;
|
|
20
|
+
y: number;
|
|
21
|
+
};
|
|
22
|
+
/** The word at the point selected, as a double click does. */
|
|
23
|
+
word?: boolean;
|
|
24
|
+
/** Words typed on arrival, past what it says: the key that started it. */
|
|
25
|
+
text?: string;
|
|
26
|
+
cell?: readonly [row: number, col: number];
|
|
27
|
+
}
|
|
28
|
+
/** Typing goes on though the focus leaves: the editor's bar is about to act on the selected words. */
|
|
29
|
+
| {
|
|
30
|
+
type: "deck-hold";
|
|
31
|
+
}
|
|
32
|
+
/** The selected words made bold or not, or a colour (a theme colour or `#RRGGBB`). */
|
|
33
|
+
| {
|
|
34
|
+
type: "deck-format";
|
|
35
|
+
bold?: boolean;
|
|
36
|
+
italic?: boolean;
|
|
37
|
+
color?: string;
|
|
38
|
+
}
|
|
39
|
+
/** Stop typing. */
|
|
40
|
+
| {
|
|
41
|
+
type: "deck-stop";
|
|
42
|
+
};
|
|
43
|
+
export type DeckEditMessage =
|
|
44
|
+
/** What is selected of the text typed in: words, and how they are set. */
|
|
45
|
+
{
|
|
46
|
+
type: "deck-selection";
|
|
47
|
+
shape: string;
|
|
48
|
+
words: boolean;
|
|
49
|
+
bold: boolean;
|
|
50
|
+
italic: boolean;
|
|
51
|
+
} | {
|
|
52
|
+
type: "deck-text";
|
|
53
|
+
shape: string;
|
|
54
|
+
paragraphs: TypedParagraph[];
|
|
55
|
+
/** The table cell typed in. */
|
|
56
|
+
cell?: readonly [row: number, col: number];
|
|
57
|
+
} | {
|
|
58
|
+
type: "deck-text-done";
|
|
59
|
+
shape: string;
|
|
60
|
+
paragraphs: TypedParagraph[];
|
|
61
|
+
cell?: readonly [row: number, col: number];
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=stage.d.ts.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** What `allyhub slides capabilities` and an error say a class holds: its public names. */
|
|
2
|
+
export declare function publicNames(proto: object): string[];
|
|
3
|
+
/** The held names closest to one that is not, nearest first: what it may have meant. */
|
|
4
|
+
export declare function closest(name: string, holds: readonly string[]): string[];
|
|
5
|
+
/** The error a name the API does not hold throws. */
|
|
6
|
+
export declare class NotHeld extends Error {
|
|
7
|
+
constructor(where: string, name: string, holds: readonly string[]);
|
|
8
|
+
}
|
|
9
|
+
export interface StrictOptions {
|
|
10
|
+
/** `x[i]`: python-pptx's indexing (a layout by position, a placeholder by idx). */
|
|
11
|
+
index?: (i: number) => unknown;
|
|
12
|
+
/** `x[i] = v`: python-pptx's indexed assignment (an adjustment). */
|
|
13
|
+
setIndex?: (i: number, value: unknown) => void;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The object behind a proxy that refuses what it does not hold. A class's
|
|
17
|
+
* constructor ends `return strict(this, "ClassName")`; names that start
|
|
18
|
+
* with `_` are its own, for the rest of the package.
|
|
19
|
+
*/
|
|
20
|
+
export declare function strict<T extends object>(target: T, where: string, o?: StrictOptions): T;
|
|
21
|
+
/** An enumeration that throws on a member it does not have (`MSO_SHAPE.STAR_5_POINT`). */
|
|
22
|
+
export declare function strictEnum<T extends Record<string, string>>(where: string, members: T): T;
|
|
23
|
+
//# sourceMappingURL=strict.d.ts.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
+
export function publicNames(n){const o=new Set;for(let e=n;e!==null&&e!==Object.prototype;e=Object.getPrototypeOf(e))for(const t of Object.getOwnPropertyNames(e))t!=="constructor"&&!t.startsWith("_")&&o.add(t);return[...o].sort()}const c=new Set(["then","toJSON","constructor","length"]),f=(n,o)=>{for(let e=n;e!==null;e=Object.getPrototypeOf(e)){const t=Object.getOwnPropertyDescriptor(e,o);if(t)return t.set!==void 0||"value"in t}return!1};function l(n,o){let e=Array.from({length:o.length+1},(t,r)=>r);for(let t=1;t<=n.length;t++){const r=[t];for(let s=1;s<=o.length;s++)r[s]=Math.min((e[s]??0)+1,(r[s-1]??0)+1,(e[s-1]??0)+(n[t-1]===o[s-1]?0:1));e=r}return e[o.length]??0}export function closest(n,o){const e=Math.max(2,Math.floor(n.length/3));return o.map(t=>[t,l(n.toLowerCase(),t.toLowerCase())]).filter(([,t])=>t<=e).sort((t,r)=>t[1]-r[1]).slice(0,3).map(([t])=>t)}function u(n,o,e){const t=closest(o,e);return`${n} has no ${o} here.`+(t.length>0?` Did you mean ${t.join(" or ")}?`:"")+` It holds: ${e.join(", ")}. allyhub slides capabilities lists what of python-pptx the API holds and where it differs.`}export class NotHeld extends Error{constructor(o,e,t){super(u(o,e,t)),this.name="NotHeld"}}export function strict(n,o,e={}){return new Proxy(n,{get(t,r,s){if(typeof r=="symbol"||r in t||c.has(r))return Reflect.get(t,r,s);if(e.index&&/^(0|[1-9]\d*)$/u.test(r)){const i=e.index(Number(r));if(i===void 0)throw new RangeError(`${o}[${r}]: there is none.`);return i}throw new NotHeld(o,r,publicNames(Object.getPrototypeOf(t)))},set(t,r,s,i){if(e.setIndex&&typeof r=="string"&&/^(0|[1-9]\d*)$/u.test(r))return e.setIndex(Number(r),s),!0;if(typeof r=="symbol"||r.startsWith("_")||f(t,r))return Reflect.set(t,r,s,i);throw new NotHeld(o,r,publicNames(Object.getPrototypeOf(t)))}})}export function strictEnum(n,o){return new Proxy(o,{get(e,t){if(typeof t=="symbol"||Object.hasOwn(e,t)||c.has(t))return Reflect.get(e,t);throw new NotHeld(n,t,Object.keys(e))}})}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { ThemeColor } from "@allyhub-next/formats";
|
|
2
|
+
export interface Theme {
|
|
3
|
+
name: string;
|
|
4
|
+
colors: Record<ThemeColor, string>;
|
|
5
|
+
/**
|
|
6
|
+
* Its fonts (`a:fontScheme`): `major` for headings, `minor` for the
|
|
7
|
+
* rest, each with its East Asian face (`a:ea`), which draws Chinese,
|
|
8
|
+
* Japanese and Korean, and the punctuation a CJK text uses.
|
|
9
|
+
*/
|
|
10
|
+
fonts: {
|
|
11
|
+
major: string;
|
|
12
|
+
minor: string;
|
|
13
|
+
major_east_asian: string;
|
|
14
|
+
minor_east_asian: string;
|
|
15
|
+
/** What a script's `` `code` `` is set in: a run's own font in the file, a font scheme having no place for it. */
|
|
16
|
+
code: string;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* A deck's fonts when its code names none: standard fonts every
|
|
21
|
+
* PowerPoint, Keynote and Google Slides has (Arial; Microsoft YaHei for
|
|
22
|
+
* Chinese, Japanese and Korean), so its file looks the same wherever it
|
|
23
|
+
* is opened. The stage draws them with fonts of the same metrics (Arimo,
|
|
24
|
+
* Noto Sans SC), so lines break where they will there.
|
|
25
|
+
*/
|
|
26
|
+
export declare const DECK_FONTS: {
|
|
27
|
+
readonly major: "Arial";
|
|
28
|
+
readonly minor: "Arial";
|
|
29
|
+
readonly major_east_asian: "Microsoft YaHei";
|
|
30
|
+
readonly minor_east_asian: "Microsoft YaHei";
|
|
31
|
+
readonly code: "Courier New";
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Fonts every PowerPoint (Windows and Mac), Keynote and Google Slides
|
|
35
|
+
* has: a deck's file that names only these looks the same wherever it is
|
|
36
|
+
* opened (the deck-fonts fact).
|
|
37
|
+
*/
|
|
38
|
+
export declare const STANDARD_FONTS: readonly ["Arial", "Arial Black", "Calibri", "Cambria", "Courier New", "Georgia", "Impact", "Tahoma", "Times New Roman", "Trebuchet MS", "Verdana", "Microsoft YaHei", "Microsoft JhengHei"];
|
|
39
|
+
/** The East Asian face when a theme names none. */
|
|
40
|
+
export declare const EAST_ASIAN_FONT: "Microsoft YaHei";
|
|
41
|
+
/** Office's theme colours (2013 to 2022), for what neither the deck nor the look gives. */
|
|
42
|
+
export declare const OFFICE_THEME: Theme;
|
|
43
|
+
/** The project's look, as much of it as a theme takes: its colours. */
|
|
44
|
+
export interface LookLike {
|
|
45
|
+
name?: string;
|
|
46
|
+
color: {
|
|
47
|
+
bg: string;
|
|
48
|
+
fg: string;
|
|
49
|
+
accent: string;
|
|
50
|
+
muted: string;
|
|
51
|
+
surface: string;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* The look as a theme: text and background from it, accent 1 its accent,
|
|
56
|
+
* the rest Office's; its fonts the deck's standard ones (DECK_FONTS), not
|
|
57
|
+
* the look's, which a computer that opens the file may not have.
|
|
58
|
+
*/
|
|
59
|
+
export declare function themeOfLook(look: LookLike): Theme;
|
|
60
|
+
/** A theme over another: colours and fonts given win. */
|
|
61
|
+
export interface ThemeInput {
|
|
62
|
+
name?: string;
|
|
63
|
+
colors?: Partial<Record<ThemeColor, string>>;
|
|
64
|
+
fonts?: Partial<Theme["fonts"]>;
|
|
65
|
+
}
|
|
66
|
+
export declare function themeOver(base: Theme, own: ThemeInput | undefined): Theme;
|
|
67
|
+
/**
|
|
68
|
+
* A font as a file names it: a CSS family's first name, as installed (a
|
|
69
|
+
* web font's "Inter Variable" is "Inter" on a computer).
|
|
70
|
+
*/
|
|
71
|
+
export declare const fontFace: (family: string) => string;
|
|
72
|
+
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
+
export const DECK_FONTS={major:"Arial",minor:"Arial",major_east_asian:"Microsoft YaHei",minor_east_asian:"Microsoft YaHei",code:"Courier New"},STANDARD_FONTS=["Arial","Arial Black","Calibri","Cambria","Courier New","Georgia","Impact","Tahoma","Times New Roman","Trebuchet MS","Verdana","Microsoft YaHei","Microsoft JhengHei"],EAST_ASIAN_FONT=DECK_FONTS.minor_east_asian,OFFICE_THEME={name:"Office",colors:{dk1:"#000000",lt1:"#FFFFFF",dk2:"#44546A",lt2:"#E7E6E6",accent1:"#4472C4",accent2:"#ED7D31",accent3:"#A5A5A5",accent4:"#FFC000",accent5:"#5B9BD5",accent6:"#70AD47",hlink:"#0563C1",folHlink:"#954F72"},fonts:{major:"Calibri Light",minor:"Calibri",major_east_asian:EAST_ASIAN_FONT,minor_east_asian:EAST_ASIAN_FONT,code:DECK_FONTS.code}};export function themeOfLook(o){return{name:o.name??"look",colors:{...OFFICE_THEME.colors,dk1:o.color.fg,lt1:o.color.bg,dk2:o.color.muted,lt2:o.color.surface,accent1:o.color.accent},fonts:{...DECK_FONTS}}}export function themeOver(o,e){return e?{name:e.name??o.name,colors:{...o.colors,...e.colors},fonts:{...o.fonts,...e.fonts}}:o}export const fontFace=o=>(o.split(",")[0]??o).trim().replace(/^["']|["']$/gu,"").replace(/ Variable$/u,"");
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export type Length = number;
|
|
2
|
+
export declare const EMU_PER_INCH = 914400;
|
|
3
|
+
export declare const EMU_PER_PT = 12700;
|
|
4
|
+
export declare const EMU_PER_CM = 360000;
|
|
5
|
+
export declare const EMU_PER_MM = 36000;
|
|
6
|
+
export declare const EMU_PER_CENTIPOINT = 127;
|
|
7
|
+
export declare const Emu: (n: number) => Length;
|
|
8
|
+
export declare const Inches: (n: number) => Length;
|
|
9
|
+
export declare const Pt: (n: number) => Length;
|
|
10
|
+
export declare const Cm: (n: number) => Length;
|
|
11
|
+
export declare const Mm: (n: number) => Length;
|
|
12
|
+
export declare const Centipoints: (n: number) => Length;
|
|
13
|
+
/** A length in points: slides.yaml's unit. */
|
|
14
|
+
export declare const toPt: (emu: Length) => number;
|
|
15
|
+
/**
|
|
16
|
+
* Slide sizes by name, in EMU (width × height). `16:9`, `16:10` and `4:3`
|
|
17
|
+
* are PowerPoint's own (`16:9` is its Widescreen, 13.333 × 7.5 in); `a4`
|
|
18
|
+
* and `letter` are the paper's own size, for a deck printed edge to edge
|
|
19
|
+
* (PowerPoint's "A4 Paper" slide is 27.52 × 19.05 cm, inside the paper);
|
|
20
|
+
* `1:1`, `4:5` and `9:16` are a carousel's and a story's.
|
|
21
|
+
*/
|
|
22
|
+
export declare const SLIDE_SIZES: {
|
|
23
|
+
readonly "16:9": readonly [number, number];
|
|
24
|
+
readonly "16:10": readonly [number, number];
|
|
25
|
+
readonly "4:3": readonly [number, number];
|
|
26
|
+
readonly a4: readonly [number, number];
|
|
27
|
+
readonly "a4-portrait": readonly [number, number];
|
|
28
|
+
readonly letter: readonly [number, number];
|
|
29
|
+
readonly "letter-portrait": readonly [number, number];
|
|
30
|
+
readonly "1:1": readonly [number, number];
|
|
31
|
+
readonly "4:5": readonly [number, number];
|
|
32
|
+
readonly "9:16": readonly [number, number];
|
|
33
|
+
};
|
|
34
|
+
export type SlideSizeName = keyof typeof SLIDE_SIZES;
|
|
35
|
+
//# sourceMappingURL=units.d.ts.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
|
|
2
|
+
export const EMU_PER_INCH=914400,EMU_PER_PT=12700,EMU_PER_CM=36e4,EMU_PER_MM=36e3,EMU_PER_CENTIPOINT=127,Emu=t=>Math.trunc(t),Inches=t=>Math.trunc(t*914400),Pt=t=>Math.trunc(t*12700),Cm=t=>Math.trunc(t*36e4),Mm=t=>Math.trunc(t*36e3),Centipoints=t=>Math.trunc(t*127),toPt=t=>Math.round(t/12700*100)/100,SLIDE_SIZES={"16:9":[Emu(12192e3),Emu(6858e3)],"16:10":[Emu(9144e3),Emu(5715e3)],"4:3":[Emu(9144e3),Emu(6858e3)],a4:[Mm(297),Mm(210)],"a4-portrait":[Mm(210),Mm(297)],letter:[Inches(11),Inches(8.5)],"letter-portrait":[Inches(8.5),Inches(11)],"1:1":[Emu(6858e3),Emu(6858e3)],"4:5":[Emu(6858e3),Emu(8572500)],"9:16":[Emu(6858e3),Emu(12192e3)]};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@allyhub-next/slides-core",
|
|
3
|
+
"version": "0.4.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"exports": {
|
|
6
|
+
".": {
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"default": "./dist/index.js"
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"sideEffects": false,
|
|
12
|
+
"private": true,
|
|
13
|
+
"license": "SEE LICENSE IN LICENSE.md"
|
|
14
|
+
}
|