cotutor 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/LICENSE +249 -21
- package/NOTICE +42 -0
- package/README.md +115 -20
- package/avatars/chinese.webp +0 -0
- package/avatars/english.webp +0 -0
- package/avatars/math.webp +0 -0
- package/bin/cotutor.js +15 -5
- package/cards/canvas/card.css +8 -0
- package/cards/canvas/card.md +68 -0
- package/cards/choice/card.css +18 -0
- package/cards/choice/card.md +55 -0
- package/cards/code/card.css +5 -0
- package/cards/code/card.md +46 -0
- package/cards/dictation/card.css +10 -0
- package/cards/dictation/card.md +97 -0
- package/cards/image/card.css +10 -0
- package/cards/image/card.md +52 -0
- package/cards/lecture/card.css +9 -0
- package/cards/lecture/card.md +69 -0
- package/cards/paint/card.css +20 -0
- package/cards/paint/card.md +77 -0
- package/cards/photo/card.css +22 -0
- package/cards/photo/card.md +61 -0
- package/cards/read/card.css +6 -0
- package/cards/read/card.md +51 -0
- package/cards/text/card.css +3 -0
- package/cards/text/card.md +69 -0
- package/cards/tianzige/card.css +17 -0
- package/cards/tianzige/card.md +78 -0
- package/cards/tutor/card.css +79 -0
- package/cards/tutor/card.md +149 -0
- package/cards/word/card.css +24 -0
- package/cards/word/card.md +91 -0
- package/cards//346/235/277/344/271/246/346/200/216/344/271/210/345/206/231.md +159 -0
- package/dist/app/activity-eval-rules.d.ts +62 -0
- package/dist/app/activity-eval-rules.js +276 -0
- package/dist/app/activity-eval.d.ts +65 -0
- package/dist/app/activity-eval.js +159 -0
- package/dist/app/build.d.ts +11 -0
- package/dist/app/build.js +45 -0
- package/dist/app/cli/activities.d.ts +70 -0
- package/dist/app/cli/activities.js +196 -0
- package/dist/app/cli/cert.d.ts +12 -0
- package/dist/app/cli/cert.js +49 -0
- package/dist/app/cli/chalk/bake.d.ts +10 -0
- package/dist/app/cli/chalk/bake.js +58 -0
- package/dist/app/cli/chalk/browser.d.ts +16 -0
- package/dist/app/cli/chalk/browser.js +157 -0
- package/dist/app/cli/chalk/build.d.ts +14 -0
- package/dist/app/cli/chalk/build.js +100 -0
- package/dist/app/cli/chalk/dub.d.ts +51 -0
- package/dist/app/cli/chalk/dub.js +106 -0
- package/dist/app/cli/chalk/load-scene.d.ts +34 -0
- package/dist/app/cli/chalk/load-scene.js +117 -0
- package/dist/app/cli/chalk/main.d.ts +7 -0
- package/dist/app/cli/chalk/main.js +199 -0
- package/dist/app/cli/chalk/serve.d.ts +4 -0
- package/dist/app/cli/chalk/serve.js +28 -0
- package/dist/app/cli/chalk/snap.d.ts +65 -0
- package/dist/app/cli/chalk/snap.js +103 -0
- package/dist/app/cli/chalk/typecheck.d.ts +7 -0
- package/dist/app/cli/chalk/typecheck.js +51 -0
- package/dist/app/cli/doctor.d.ts +24 -0
- package/dist/app/cli/doctor.js +553 -0
- package/dist/app/cli/firewall.d.ts +24 -0
- package/dist/app/cli/firewall.js +79 -0
- package/dist/app/cli/grades.d.ts +14 -0
- package/dist/app/cli/grades.js +44 -0
- package/dist/{cli → app/cli}/init.d.ts +3 -1
- package/dist/app/cli/init.js +158 -0
- package/dist/app/cli/main.js +1038 -0
- package/dist/app/cli/migrate.d.ts +49 -0
- package/dist/app/cli/migrate.js +195 -0
- package/dist/app/cli/port-holder.d.ts +16 -0
- package/dist/app/cli/port-holder.js +34 -0
- package/dist/app/cli/port.d.ts +37 -0
- package/dist/app/cli/port.js +116 -0
- package/dist/app/cli/sandbox.d.ts +25 -0
- package/dist/app/cli/sandbox.js +166 -0
- package/dist/app/cli/serve-log.d.ts +13 -0
- package/dist/app/cli/serve-log.js +90 -0
- package/dist/app/cli/serve.d.ts +51 -0
- package/dist/app/cli/serve.js +168 -0
- package/dist/app/cli/service-windows.d.ts +50 -0
- package/dist/app/cli/service-windows.js +117 -0
- package/dist/app/cli/service.d.ts +138 -0
- package/dist/app/cli/service.js +429 -0
- package/dist/app/cli/shipped.d.ts +30 -0
- package/dist/app/cli/shipped.js +47 -0
- package/dist/app/cli/skeleton.d.ts +38 -0
- package/dist/app/cli/skeleton.js +161 -0
- package/dist/app/cli/skills.d.ts +59 -0
- package/dist/app/cli/skills.js +199 -0
- package/dist/app/cli/themes.d.ts +52 -0
- package/dist/app/cli/themes.js +148 -0
- package/dist/app/cli/tray-icons.d.ts +11 -0
- package/dist/app/cli/tray-icons.js +87 -0
- package/dist/app/cli/tray-ids.d.ts +6 -0
- package/dist/app/cli/tray-ids.js +6 -0
- package/dist/app/cli/tray-mac.d.ts +8 -0
- package/dist/app/cli/tray-mac.js +140 -0
- package/dist/app/cli/tray-run.d.ts +1 -0
- package/dist/app/cli/tray-run.js +33 -0
- package/dist/app/cli/tray-windows.d.ts +5 -0
- package/dist/app/cli/tray-windows.js +166 -0
- package/dist/app/cli/tray.d.ts +205 -0
- package/dist/app/cli/tray.js +618 -0
- package/dist/{cli → app/cli}/tutors.d.ts +15 -26
- package/dist/{cli → app/cli}/tutors.js +86 -110
- package/dist/app/cli/usage.d.ts +2 -0
- package/dist/app/cli/usage.js +35 -0
- package/dist/app/dictation/recognize.d.ts +18 -0
- package/dist/app/dictation/recognize.js +6 -0
- package/dist/app/dictation/route.d.ts +52 -0
- package/dist/app/dictation/route.js +511 -0
- package/dist/app/diff.d.ts +11 -0
- package/dist/app/diff.js +71 -0
- package/dist/app/http/access.d.ts +62 -0
- package/dist/app/http/access.js +180 -0
- package/dist/app/http/app.d.ts +241 -0
- package/dist/app/http/app.js +1159 -0
- package/dist/app/http/avatars.d.ts +17 -0
- package/dist/app/http/avatars.js +35 -0
- package/dist/app/http/dev-activities.d.ts +115 -0
- package/dist/app/http/dev-activities.js +193 -0
- package/dist/app/http/dev-overview.d.ts +108 -0
- package/dist/app/http/dev-overview.js +209 -0
- package/dist/app/http/dev-tutor-files.d.ts +80 -0
- package/dist/app/http/dev-tutor-files.js +151 -0
- package/dist/app/http/parent-home.d.ts +51 -0
- package/dist/app/http/parent-home.js +266 -0
- package/dist/app/http/parent-look.d.ts +2 -0
- package/dist/app/http/parent-look.js +151 -0
- package/dist/app/http/range.d.ts +9 -0
- package/dist/app/http/range.js +19 -0
- package/dist/app/http/raw-view.d.ts +117 -0
- package/dist/app/http/raw-view.js +149 -0
- package/dist/app/http/send-file.d.ts +7 -0
- package/dist/app/http/send-file.js +29 -0
- package/dist/{server → app/http}/stage.d.ts +9 -0
- package/dist/{server → app/http}/stage.js +34 -6
- package/dist/app/http/theme.d.ts +13 -0
- package/dist/app/http/theme.js +41 -0
- package/dist/app/http/voice-preview.d.ts +4 -0
- package/dist/app/http/voice-preview.js +34 -0
- package/dist/app/machine/bailian.d.ts +26 -0
- package/dist/app/machine/bailian.js +87 -0
- package/dist/app/mock/mock-live.d.ts +16 -0
- package/dist/app/mock/mock-live.js +140 -0
- package/dist/{server → app/mock}/mock.d.ts +38 -5
- package/dist/app/mock/mock.js +1125 -0
- package/dist/app/replay.d.ts +94 -0
- package/dist/app/replay.js +170 -0
- package/dist/app/skills/analyze-doc.d.ts +3 -0
- package/dist/app/skills/analyze-doc.js +47 -0
- package/dist/app/skills/home-doc.d.ts +5 -0
- package/dist/app/skills/home-doc.js +112 -0
- package/dist/app/skills/tune-doc.d.ts +3 -0
- package/dist/app/skills/tune-doc.js +80 -0
- package/dist/app/talk/list.d.ts +11 -0
- package/dist/app/talk/list.js +9 -0
- package/dist/app/talk/route.d.ts +16 -0
- package/dist/app/talk/route.js +142 -0
- package/dist/app/workspace.d.ts +63 -0
- package/dist/{cli → app}/workspace.js +100 -52
- package/dist/app/ws/route.d.ts +31 -0
- package/dist/app/ws/route.js +33 -0
- package/dist/app/ws/ws.d.ts +31 -0
- package/dist/app/ws/ws.js +169 -0
- package/dist/board/canvas-chat.d.ts +97 -0
- package/dist/board/canvas-chat.js +175 -0
- package/dist/board/card-guards.d.ts +15 -0
- package/dist/board/card-guards.js +38 -0
- package/dist/board/cards/canvas.d.ts +41 -0
- package/dist/board/cards/canvas.js +83 -0
- package/dist/{cards → board/cards}/choice.js +0 -12
- package/dist/{cards → board/cards}/code.js +0 -3
- package/dist/board/cards/dictation.d.ts +42 -0
- package/dist/board/cards/dictation.js +105 -0
- package/dist/board/cards/docs.d.ts +47 -0
- package/dist/board/cards/docs.js +152 -0
- package/dist/{cards → board/cards}/image.js +1 -10
- package/dist/board/cards/index.d.ts +62 -0
- package/dist/board/cards/index.js +144 -0
- package/dist/{cards → board/cards}/kind.d.ts +10 -4
- package/dist/board/cards/kind.js +9 -0
- package/dist/board/cards/lecture.d.ts +26 -0
- package/dist/board/cards/lecture.js +62 -0
- package/dist/board/cards/paint.d.ts +38 -0
- package/dist/board/cards/paint.js +85 -0
- package/dist/board/cards/photo.d.ts +15 -0
- package/dist/board/cards/photo.js +29 -0
- package/dist/{cards → board/cards}/read.js +1 -10
- package/dist/board/cards/text.d.ts +20 -0
- package/dist/board/cards/text.js +59 -0
- package/dist/board/cards/tianzige.d.ts +16 -0
- package/dist/board/cards/tianzige.js +64 -0
- package/dist/board/cards/tutor.d.ts +72 -0
- package/dist/board/cards/tutor.js +134 -0
- package/dist/board/cards/word.d.ts +20 -0
- package/dist/board/cards/word.js +76 -0
- package/dist/board/lecture.d.ts +100 -0
- package/dist/board/lecture.js +204 -0
- package/dist/board/paper.d.ts +20 -0
- package/dist/board/paper.js +76 -0
- package/dist/board/parse.d.ts +118 -0
- package/dist/board/parse.js +324 -0
- package/dist/board/presentation.d.ts +289 -0
- package/dist/board/presentation.js +613 -0
- package/dist/board/sections.d.ts +16 -0
- package/dist/board/sections.js +130 -0
- package/dist/brain/api-tools.d.ts +8 -0
- package/dist/brain/api-tools.js +191 -0
- package/dist/brain/api.d.ts +57 -0
- package/dist/brain/api.js +394 -0
- package/dist/brain/index.d.ts +97 -0
- package/dist/brain/index.js +11 -0
- package/dist/brain/log.d.ts +5 -0
- package/dist/brain/log.js +22 -0
- package/dist/brain/runtime.d.ts +30 -0
- package/dist/brain/runtime.js +23 -0
- package/dist/brain/stream-json.d.ts +16 -0
- package/dist/brain/stream-json.js +82 -0
- package/dist/brain/stream.d.ts +20 -0
- package/dist/brain/stream.js +70 -0
- package/dist/brain/transcript.d.ts +45 -0
- package/dist/brain/transcript.js +132 -0
- package/dist/brain/types.d.ts +99 -0
- package/dist/brain/types.js +14 -0
- package/dist/chalk/actions.d.ts +37 -0
- package/dist/chalk/actions.js +69 -0
- package/dist/chalk/bundle.d.ts +26 -0
- package/dist/chalk/bundle.js +69 -0
- package/dist/chalk/check.d.ts +28 -0
- package/dist/chalk/check.js +291 -0
- package/dist/chalk/circle.d.ts +64 -0
- package/dist/chalk/circle.js +193 -0
- package/dist/chalk/clock.d.ts +84 -0
- package/dist/chalk/clock.js +84 -0
- package/dist/chalk/geometry.d.ts +44 -0
- package/dist/chalk/geometry.js +139 -0
- package/dist/chalk/glyphs/capitals.d.ts +12 -0
- package/dist/chalk/glyphs/capitals.js +264 -0
- package/dist/chalk/glyphs/index.d.ts +21 -0
- package/dist/chalk/glyphs/index.js +18 -0
- package/dist/chalk/glyphs/letters.d.ts +13 -0
- package/dist/chalk/glyphs/letters.js +280 -0
- package/dist/chalk/glyphs/metrics.d.ts +33 -0
- package/dist/chalk/glyphs/metrics.js +28 -0
- package/dist/chalk/glyphs/registry.d.ts +7 -0
- package/dist/chalk/glyphs/registry.js +8 -0
- package/dist/chalk/glyphs/sample.d.ts +32 -0
- package/dist/chalk/glyphs/sample.js +102 -0
- package/dist/chalk/glyphs/skeleton.d.ts +64 -0
- package/dist/chalk/glyphs/skeleton.js +126 -0
- package/dist/chalk/glyphs/types.d.ts +58 -0
- package/dist/chalk/glyphs/types.js +17 -0
- package/dist/chalk/index.d.ts +23 -0
- package/dist/chalk/index.js +15 -0
- package/dist/chalk/manifest.d.ts +41 -0
- package/dist/chalk/manifest.js +6 -0
- package/dist/chalk/paint.d.ts +180 -0
- package/dist/chalk/paint.js +210 -0
- package/dist/chalk/pointer.d.ts +8 -0
- package/dist/chalk/pointer.js +21 -0
- package/dist/chalk/prepare.d.ts +11 -0
- package/dist/chalk/prepare.js +15 -0
- package/dist/chalk/scene-schema.d.ts +199 -0
- package/dist/chalk/scene-schema.js +91 -0
- package/dist/chalk/seed.d.ts +3 -0
- package/dist/chalk/seed.js +10 -0
- package/dist/chalk/text-metrics.d.ts +8 -0
- package/dist/chalk/text-metrics.js +156 -0
- package/dist/chalk/timeline.d.ts +47 -0
- package/dist/chalk/timeline.js +84 -0
- package/dist/chalk/types.d.ts +150 -0
- package/dist/chalk/types.js +8 -0
- package/dist/lib/index.d.ts +14 -12
- package/dist/lib/index.js +14 -12
- package/dist/media/draw.d.ts +23 -0
- package/dist/media/draw.js +44 -0
- package/dist/media/mp3.d.ts +6 -0
- package/dist/media/mp3.js +58 -0
- package/dist/media/mp4.d.ts +1 -0
- package/dist/media/mp4.js +58 -0
- package/dist/media/tts-voices.d.ts +18 -0
- package/dist/media/tts-voices.js +606 -0
- package/dist/media/tts.d.ts +56 -0
- package/dist/media/tts.js +174 -0
- package/dist/media/vision.d.ts +25 -0
- package/dist/media/vision.js +71 -0
- package/dist/memory/commit.d.ts +67 -0
- package/dist/memory/commit.js +130 -0
- package/dist/memory/context.d.ts +86 -0
- package/dist/memory/context.js +97 -0
- package/dist/memory/diary.d.ts +84 -0
- package/dist/memory/diary.js +183 -0
- package/dist/memory/grade.d.ts +2 -0
- package/dist/memory/grade.js +7 -0
- package/dist/{lib → memory}/plan.d.ts +1 -1
- package/dist/{lib → memory}/plan.js +1 -1
- package/dist/memory/proposals.d.ts +11 -0
- package/dist/memory/proposals.js +43 -0
- package/dist/memory/retrieval.d.ts +44 -0
- package/dist/memory/retrieval.js +157 -0
- package/dist/{lib → memory}/timetable.d.ts +0 -3
- package/dist/{lib → memory}/timetable.js +0 -11
- package/dist/memory/vault-notes.d.ts +165 -0
- package/dist/memory/vault-notes.js +359 -0
- package/dist/memory/vault.d.ts +70 -0
- package/dist/memory/vault.js +169 -0
- package/dist/realtime/bailian.d.ts +120 -0
- package/dist/realtime/bailian.js +289 -0
- package/dist/realtime/cues.d.ts +51 -0
- package/dist/realtime/cues.js +94 -0
- package/dist/realtime/listen.d.ts +32 -0
- package/dist/realtime/listen.js +53 -0
- package/dist/realtime/preview.d.ts +23 -0
- package/dist/realtime/preview.js +38 -0
- package/dist/realtime/prompt.d.ts +8 -0
- package/dist/realtime/prompt.js +13 -0
- package/dist/realtime/voices.d.ts +21 -0
- package/dist/realtime/voices.js +71 -0
- package/dist/runtime/activities.d.ts +29 -0
- package/dist/runtime/activities.js +72 -0
- package/dist/runtime/activity-state.d.ts +22 -0
- package/dist/runtime/activity-state.js +83 -0
- package/dist/runtime/activity.d.ts +63 -0
- package/dist/runtime/activity.js +428 -0
- package/dist/runtime/agent-file.d.ts +24 -0
- package/dist/runtime/agent-file.js +59 -0
- package/dist/runtime/auto-bookkeep.d.ts +30 -0
- package/dist/runtime/auto-bookkeep.js +84 -0
- package/dist/{lib → runtime/context}/context-pack.d.ts +3 -3
- package/dist/runtime/context/context-pack.js +182 -0
- package/dist/runtime/context/thread-digest.d.ts +4 -0
- package/dist/runtime/context/thread-digest.js +35 -0
- package/dist/runtime/context/tutor-rules.d.ts +25 -0
- package/dist/runtime/context/tutor-rules.js +47 -0
- package/dist/runtime/delivery/delivery.d.ts +94 -0
- package/dist/runtime/delivery/delivery.js +145 -0
- package/dist/runtime/delivery/playback.d.ts +25 -0
- package/dist/runtime/delivery/playback.js +29 -0
- package/dist/runtime/delivery/player.d.ts +145 -0
- package/dist/runtime/delivery/player.js +221 -0
- package/dist/runtime/delivery/queue.d.ts +89 -0
- package/dist/runtime/delivery/queue.js +59 -0
- package/dist/runtime/home/edit.d.ts +39 -0
- package/dist/runtime/home/edit.js +132 -0
- package/dist/runtime/home/home.d.ts +191 -0
- package/dist/runtime/home/home.js +318 -0
- package/dist/runtime/home/store.d.ts +142 -0
- package/dist/runtime/home/store.js +455 -0
- package/dist/runtime/journal/conversation.d.ts +46 -0
- package/dist/runtime/journal/conversation.js +89 -0
- package/dist/runtime/journal/events.d.ts +27 -0
- package/dist/runtime/journal/events.js +136 -0
- package/dist/runtime/journal/kid-log.d.ts +105 -0
- package/dist/runtime/journal/kid-log.js +133 -0
- package/dist/runtime/journal/ledger.d.ts +17 -0
- package/dist/{lib → runtime/journal}/ledger.js +7 -40
- package/dist/runtime/journal/mix.d.ts +42 -0
- package/dist/runtime/journal/mix.js +129 -0
- package/dist/runtime/journal/mouth-index.d.ts +26 -0
- package/dist/runtime/journal/mouth-index.js +34 -0
- package/dist/runtime/journal/mouth.d.ts +54 -0
- package/dist/runtime/journal/mouth.js +102 -0
- package/dist/runtime/journal/recorder.d.ts +91 -0
- package/dist/runtime/journal/recorder.js +148 -0
- package/dist/runtime/journal/store.d.ts +123 -0
- package/dist/runtime/journal/store.js +316 -0
- package/dist/runtime/kid-input.d.ts +16 -0
- package/dist/runtime/kid-input.js +194 -0
- package/dist/runtime/kid-view.d.ts +124 -0
- package/dist/runtime/kid-view.js +157 -0
- package/dist/runtime/lecture.d.ts +86 -0
- package/dist/runtime/lecture.js +237 -0
- package/dist/runtime/live/call.d.ts +231 -0
- package/dist/runtime/live/call.js +1244 -0
- package/dist/runtime/live/turns.d.ts +48 -0
- package/dist/runtime/live/turns.js +102 -0
- package/dist/runtime/runner.d.ts +243 -0
- package/dist/runtime/runner.js +777 -0
- package/dist/runtime/talk-run.d.ts +21 -0
- package/dist/runtime/talk-run.js +34 -0
- package/dist/scenes/dictation/match.d.ts +57 -0
- package/dist/scenes/dictation/match.js +255 -0
- package/dist/scenes/dictation/recognize.d.ts +86 -0
- package/dist/scenes/dictation/recognize.js +163 -0
- package/dist/scenes/dictation/store.d.ts +112 -0
- package/dist/scenes/dictation/store.js +99 -0
- package/dist/scenes/look.d.ts +26 -0
- package/dist/scenes/look.js +1 -0
- package/dist/scenes/paint/painter.d.ts +84 -0
- package/dist/scenes/paint/painter.js +171 -0
- package/dist/scenes/paint/prompt.d.ts +23 -0
- package/dist/scenes/paint/prompt.js +36 -0
- package/dist/scenes/talk/en-words.d.ts +8 -0
- package/dist/scenes/talk/en-words.js +44 -0
- package/dist/scenes/talk/list.d.ts +44 -0
- package/dist/scenes/talk/list.js +88 -0
- package/dist/scenes/talk/store.d.ts +27 -0
- package/dist/scenes/talk/store.js +61 -0
- package/dist/scenes/talk/warmup.d.ts +16 -0
- package/dist/scenes/talk/warmup.js +39 -0
- package/dist/schema/activity.d.ts +149 -0
- package/dist/schema/activity.js +113 -0
- package/dist/schema/board.d.ts +143 -2
- package/dist/schema/board.js +15 -3
- package/dist/schema/config.d.ts +339 -103
- package/dist/schema/config.js +269 -84
- package/dist/schema/context-pack.d.ts +76 -14
- package/dist/schema/context-pack.js +91 -10
- package/dist/{lib/conversation.d.ts → schema/conversation-files.d.ts} +11 -33
- package/dist/schema/conversation-files.js +26 -0
- package/dist/schema/conversation.d.ts +391 -49
- package/dist/schema/conversation.js +135 -19
- package/dist/schema/events.d.ts +138 -0
- package/dist/schema/events.js +1 -0
- package/dist/schema/home.d.ts +56 -0
- package/dist/schema/home.js +35 -0
- package/dist/schema/index.d.ts +14 -3
- package/dist/schema/index.js +14 -3
- package/dist/schema/kid-device.d.ts +20 -0
- package/dist/schema/kid-device.js +32 -0
- package/dist/schema/ledger.d.ts +8 -63
- package/dist/schema/ledger.js +7 -31
- package/dist/schema/memory.d.ts +73 -0
- package/dist/schema/memory.js +47 -0
- package/dist/schema/plan.d.ts +2 -2
- package/dist/schema/plan.js +2 -2
- package/dist/schema/sections.d.ts +32 -25
- package/dist/schema/sections.js +21 -22
- package/dist/schema/theme.d.ts +25 -0
- package/dist/schema/theme.js +26 -0
- package/dist/schema/timetable.d.ts +2 -2
- package/dist/schema/timetable.js +2 -2
- package/dist/schema/workspace.d.ts +68 -0
- package/dist/schema/workspace.js +37 -0
- package/dist/shared/default-port.d.ts +2 -0
- package/dist/shared/default-port.js +2 -0
- package/dist/shared/errors.d.ts +8 -0
- package/dist/shared/errors.js +13 -0
- package/dist/shared/home.d.ts +2 -0
- package/dist/shared/home.js +16 -0
- package/dist/shared/human-notes.d.ts +5 -0
- package/dist/shared/human-notes.js +7 -0
- package/dist/shared/qianwen.d.ts +54 -0
- package/dist/shared/qianwen.js +113 -0
- package/dist/shared/site-url.d.ts +2 -0
- package/dist/shared/site-url.js +5 -0
- package/dist/shared/time.d.ts +9 -0
- package/dist/shared/time.js +22 -0
- package/dist/shared/tokens.d.ts +18 -0
- package/dist/shared/tokens.js +11 -0
- package/dist/shared/wav.d.ts +10 -0
- package/dist/shared/wav.js +50 -0
- package/dist/stage/chunk-226TNLQA.js +129 -0
- package/dist/stage/chunk-24LGQEKE.js +1 -0
- package/dist/stage/chunk-25XV6UY3.js +10 -0
- package/dist/stage/chunk-2AZI3NHJ.js +1 -0
- package/dist/stage/chunk-2BQZTTBE.js +1 -0
- package/dist/stage/chunk-2M7CGY3Y.js +11 -0
- package/dist/stage/chunk-2VR4WFQ7.js +10 -0
- package/dist/stage/chunk-2ZYXBUWG.js +9 -0
- package/dist/stage/chunk-32LAWMGY.js +1 -0
- package/dist/stage/chunk-3LEMTSOO.js +11 -0
- package/dist/stage/chunk-3QCKGZYE.js +32 -0
- package/dist/stage/chunk-44P66WFA.js +1 -0
- package/dist/stage/chunk-4AM6FRR6.js +7 -0
- package/dist/stage/chunk-4QDE4SUK.js +1 -0
- package/dist/stage/chunk-4QESHV3U.js +1 -0
- package/dist/stage/chunk-4SG5QPHB.js +2 -0
- package/dist/stage/chunk-4T4UVCOC.js +1 -0
- package/dist/stage/chunk-4WUEPPG3.js +34 -0
- package/dist/stage/chunk-4YCN6UZ5.js +99 -0
- package/dist/stage/chunk-5V7ZY2AP.js +1 -0
- package/dist/stage/chunk-5VS5Y2VJ.js +6 -0
- package/dist/stage/chunk-5W4NO2ZD.js +62 -0
- package/dist/stage/chunk-65CRNICM.js +1 -0
- package/dist/stage/chunk-66MULO7F.js +5 -0
- package/dist/stage/chunk-6COFQTBS.js +162 -0
- package/dist/stage/chunk-6VZG3M3I.js +8 -0
- package/dist/stage/chunk-7HVDH43T.js +1 -0
- package/dist/stage/chunk-7JLJN4EZ.js +8 -0
- package/dist/stage/chunk-7QDSP4LN.js +1 -0
- package/dist/stage/chunk-7R6OQAO3.js +1 -0
- package/dist/stage/chunk-7VTTHZKW.js +7 -0
- package/dist/stage/chunk-ATHR5KEN.js +10 -0
- package/dist/stage/chunk-B6R5LTP2.js +36 -0
- package/dist/stage/chunk-BD4WE264.js +1 -0
- package/dist/stage/chunk-BONANU47.js +206 -0
- package/dist/stage/chunk-BTVW7OFK.js +89 -0
- package/dist/stage/chunk-BUTJIDHG.js +8 -0
- package/dist/stage/chunk-C2IPYMML.js +84 -0
- package/dist/stage/chunk-C54FTPPV.js +9 -0
- package/dist/stage/chunk-C6LOUF2Z.js +90 -0
- package/dist/stage/chunk-CFF3PILO.js +339 -0
- package/dist/stage/chunk-CI2FQ2JY.js +9 -0
- package/dist/stage/chunk-CW5O4RV7.js +12 -0
- package/dist/stage/chunk-CYABNQYD.js +1 -0
- package/dist/stage/chunk-D7FFA4NS.js +15 -0
- package/dist/stage/chunk-DUNNXU6Z.js +8 -0
- package/dist/stage/chunk-E3E4Q6JF.js +6 -0
- package/dist/stage/chunk-EB3U3LH7.js +9 -0
- package/dist/stage/chunk-EGSZ736B.js +8 -0
- package/dist/stage/chunk-EOBXW5VQ.js +2 -0
- package/dist/stage/chunk-ERZC3B7Y.js +11 -0
- package/dist/stage/chunk-ESDOOBIH.js +11 -0
- package/dist/stage/chunk-EVU4QAL4.js +178 -0
- package/dist/stage/chunk-EVVZI2NY.js +39 -0
- package/dist/stage/chunk-FBKAZUKD.js +39 -0
- package/dist/stage/chunk-FDVKYQJN.js +1 -0
- package/dist/stage/chunk-FGPVYHVR.js +5 -0
- package/dist/stage/chunk-FHUD4AZC.js +1 -0
- package/dist/stage/chunk-FKUJ2DMY.js +96 -0
- package/dist/stage/chunk-FNZGVIJV.js +1 -0
- package/dist/stage/chunk-GBYSEGYM.js +78 -0
- package/dist/stage/chunk-GCO4TDHX.js +1 -0
- package/dist/stage/chunk-GKTML2LG.js +10 -0
- package/dist/stage/chunk-GMDIHHXQ.js +11 -0
- package/dist/stage/chunk-GOUNACI3.js +10 -0
- package/dist/stage/chunk-GXAYATPF.js +3 -0
- package/dist/stage/chunk-H2K2DDXV.js +8 -0
- package/dist/stage/chunk-H3UJI6ZY.js +13 -0
- package/dist/stage/chunk-H6PUGCME.js +7 -0
- package/dist/stage/chunk-HNBUIMIG.js +1 -0
- package/dist/stage/chunk-HRZY2BJQ.js +10 -0
- package/dist/stage/chunk-HSPJGALW.js +30 -0
- package/dist/stage/chunk-IBYORHIP.js +25 -0
- package/dist/stage/chunk-IHF4EWTY.js +1 -0
- package/dist/stage/chunk-ISBRPNKI.js +1 -0
- package/dist/stage/chunk-IZ3OI3C2.js +2 -0
- package/dist/stage/chunk-JEFZAC2R.js +1 -0
- package/dist/stage/chunk-JFIGRDPO.js +1 -0
- package/dist/stage/chunk-JFVYBOOC.js +9 -0
- package/dist/stage/chunk-JGD4TUTQ.js +1 -0
- package/dist/stage/chunk-JO4BEHDH.js +4 -0
- package/dist/stage/chunk-JOWBS42C.js +1 -0
- package/dist/stage/chunk-JP3TM2TG.js +1 -0
- package/dist/stage/chunk-JVK2C52O.js +1 -0
- package/dist/stage/chunk-K4I76XBX.js +14 -0
- package/dist/stage/chunk-KA6CZZ4M.js +1 -0
- package/dist/stage/chunk-KESSJ36M.js +1 -0
- package/dist/stage/chunk-LKATEVRU.js +1 -0
- package/dist/stage/chunk-LS4EJ2EI.js +1 -0
- package/dist/stage/chunk-LUKJQC2X.js +70 -0
- package/dist/stage/chunk-LWULR3SM.js +1 -0
- package/dist/stage/chunk-LWVRFMKX.js +2 -0
- package/dist/stage/chunk-LXC4ZBPZ.js +1 -0
- package/dist/stage/chunk-M2UP255H.js +1 -0
- package/dist/stage/chunk-MAPPXUZQ.js +231 -0
- package/dist/stage/chunk-MBMPW7Z5.js +1 -0
- package/dist/stage/chunk-MD3HMMTK.js +1 -0
- package/dist/stage/chunk-MLPCUIKR.js +17 -0
- package/dist/stage/chunk-MNQIRPDQ.js +8 -0
- package/dist/stage/chunk-MRG7MJVS.js +1 -0
- package/dist/stage/chunk-MU6EXW72.js +10 -0
- package/dist/stage/chunk-MVU2X6LU.js +4 -0
- package/dist/stage/chunk-N6UA5CZV.js +36 -0
- package/dist/stage/chunk-NLZIT2TJ.js +7 -0
- package/dist/stage/chunk-NOJR3J7M.js +1 -0
- package/dist/stage/chunk-NT7ARDOL.js +1 -0
- package/dist/stage/chunk-NWOGMPZH.js +1 -0
- package/dist/stage/chunk-NXE4KMG3.js +40 -0
- package/dist/stage/chunk-O4YCZXD2.js +257 -0
- package/dist/stage/chunk-OAJZ7HLK.js +1 -0
- package/dist/stage/chunk-OCFCFASO.js +1 -0
- package/dist/stage/chunk-ODGPG5RY.js +7 -0
- package/dist/stage/chunk-ODUEA52Q.js +3 -0
- package/dist/stage/chunk-OGDJ3FCI.js +1 -0
- package/dist/stage/chunk-OLDJ55TT.js +1 -0
- package/dist/stage/chunk-OOCL4ATI.js +2 -0
- package/dist/stage/chunk-OQEFDUDV.js +1 -0
- package/dist/stage/chunk-OQWVEWG7.js +4 -0
- package/dist/stage/chunk-OUIX6BGK.js +1 -0
- package/dist/stage/chunk-OV7OZYUO.js +7 -0
- package/dist/stage/chunk-PFGDY33O.js +1 -0
- package/dist/stage/chunk-PFJDUJB3.js +139 -0
- package/dist/stage/chunk-PGEW76ER.js +1 -0
- package/dist/stage/chunk-PP76TAQX.js +32 -0
- package/dist/stage/chunk-PTBOP4OT.js +2 -0
- package/dist/stage/chunk-PX2RVHCK.js +1 -0
- package/dist/stage/chunk-Q7K3PNAD.js +1 -0
- package/dist/stage/chunk-QDDPLZDB.js +1 -0
- package/dist/stage/chunk-QLGLZ77F.js +1 -0
- package/dist/stage/chunk-QOPFDFHI.js +1 -0
- package/dist/stage/chunk-QXT4KAEJ.js +1 -0
- package/dist/stage/chunk-R4YVZCIT.js +1 -0
- package/dist/stage/chunk-R6P6EHWA.js +62 -0
- package/dist/stage/chunk-RCH3OXBI.js +9 -0
- package/dist/stage/chunk-RHPE44I2.js +1 -0
- package/dist/stage/chunk-RJ2R4FVC.js +1 -0
- package/dist/stage/chunk-RJH2YVTD.js +1 -0
- package/dist/stage/chunk-RLWWW5OB.js +6 -0
- package/dist/stage/chunk-S3WO35Z7.js +120 -0
- package/dist/stage/chunk-S7ZGX6MW.js +1 -0
- package/dist/stage/chunk-SIAWX27B.js +1 -0
- package/dist/stage/chunk-SLG4X622.js +1 -0
- package/dist/stage/chunk-SLJRBC77.js +168 -0
- package/dist/stage/chunk-SRORWQJZ.js +1 -0
- package/dist/stage/chunk-STZTUIIF.js +2 -0
- package/dist/stage/chunk-SVQ6MWNV.js +9 -0
- package/dist/stage/chunk-TL3HLL2S.js +132 -0
- package/dist/stage/chunk-U3DOE6SF.js +24 -0
- package/dist/stage/chunk-UABQIZKW.js +6 -0
- package/dist/stage/chunk-UDK3R764.js +1 -0
- package/dist/stage/chunk-UFF4E54B.js +41 -0
- package/dist/stage/chunk-UFP5Q4AY.js +1 -0
- package/dist/stage/chunk-UMH2TSW2.js +72 -0
- package/dist/stage/chunk-UTASVNF5.js +10 -0
- package/dist/stage/chunk-UW7ML5ML.js +88 -0
- package/dist/stage/chunk-V3J7F6OP.js +1 -0
- package/dist/stage/chunk-VEHP5B5Q.js +5 -0
- package/dist/stage/chunk-VRXWB733.js +9 -0
- package/dist/stage/chunk-VVDHBBS5.js +5 -0
- package/dist/stage/chunk-VYFOH6FU.js +106 -0
- package/dist/stage/chunk-W3VZTLQS.js +3 -0
- package/dist/stage/chunk-W7WNRWTZ.js +8 -0
- package/dist/stage/chunk-WHUCV53C.js +1 -0
- package/dist/stage/chunk-WULMYHIF.js +1 -0
- package/dist/stage/chunk-X54EX7AW.js +9 -0
- package/dist/stage/chunk-X565ISZM.js +1 -0
- package/dist/stage/chunk-XGZMDECB.js +1 -0
- package/dist/stage/chunk-XHONC4RF.js +172 -0
- package/dist/stage/chunk-XIK4XQ6E.js +24 -0
- package/dist/stage/chunk-XJQQWFTE.js +1 -0
- package/dist/stage/chunk-XM4WOU3I.js +13 -0
- package/dist/stage/chunk-XM7Y5HP5.js +38 -0
- package/dist/stage/chunk-XNYYRGD5.js +292 -0
- package/dist/stage/chunk-XOYVR3SV.js +1 -0
- package/dist/stage/chunk-XQIW5HCE.js +1 -0
- package/dist/stage/chunk-YEWL7FUW.js +8 -0
- package/dist/stage/chunk-YI55PY3V.js +1 -0
- package/dist/stage/chunk-YM63HI6W.js +1 -0
- package/dist/stage/chunk-YNLGLU4P.js +9 -0
- package/dist/stage/chunk-YTNMNOWP.js +1 -0
- package/dist/stage/chunk-YV62XKTC.js +1 -0
- package/dist/stage/chunk-YVBA3QW6.js +1 -0
- package/dist/stage/chunk-Z2SY2HOC.js +1 -0
- package/dist/stage/chunk-ZBTCQEBK.js +10 -0
- package/dist/stage/chunk-ZCUFN74D.js +1 -0
- package/dist/stage/chunk-ZHOULXEJ.js +11 -0
- package/dist/stage/chunk-ZTRZIET2.js +1 -0
- package/dist/stage/index.html +1 -0
- package/dist/stage/stage.css +1 -1
- package/dist/stage/stage.js +1 -4383
- package/dist/ui/dev/dev-page.d.ts +1 -0
- package/dist/ui/dev/dev-page.js +2021 -0
- package/dist/ui/dev/dev-theme.d.ts +6 -0
- package/dist/ui/dev/dev-theme.js +67 -0
- package/dist/ui/dev/voice-gallery-page.d.ts +1 -0
- package/dist/ui/dev/voice-gallery-page.js +121 -0
- package/dist/ui/dev/voice-scenes.d.ts +21 -0
- package/dist/ui/dev/voice-scenes.js +30 -0
- package/dist/ui/dictation/en-box.d.ts +2 -0
- package/dist/ui/dictation/en-box.js +86 -0
- package/dist/ui/dictation/en-page.d.ts +1 -0
- package/dist/ui/dictation/en-page.js +484 -0
- package/dist/ui/dictation/page.d.ts +1 -0
- package/dist/ui/dictation/page.js +1084 -0
- package/dist/ui/dictation/parent-page.d.ts +1 -0
- package/dist/ui/dictation/parent-page.js +234 -0
- package/dist/ui/dictation/reel-mode.d.ts +1 -0
- package/dist/ui/dictation/reel-mode.js +87 -0
- package/dist/ui/dictation/reel-page.d.ts +1 -0
- package/dist/ui/dictation/reel-page.js +62 -0
- package/dist/ui/dictation/reel.d.ts +163 -0
- package/dist/ui/dictation/reel.js +436 -0
- package/dist/ui/dictation/ui.d.ts +44 -0
- package/dist/ui/dictation/ui.js +80 -0
- package/dist/ui/dictation/unlock.d.ts +7 -0
- package/dist/ui/dictation/unlock.js +16 -0
- package/dist/ui/kid/audio-client.d.ts +11 -0
- package/dist/ui/kid/audio-client.js +74 -0
- package/dist/ui/kid/board-mark-art.d.ts +37 -0
- package/dist/ui/kid/board-mark-art.js +5 -0
- package/dist/ui/kid/board-mark.d.ts +24 -0
- package/dist/ui/kid/board-mark.js +58 -0
- package/dist/ui/kid/home-tiles.d.ts +14 -0
- package/dist/ui/kid/home-tiles.js +44 -0
- package/dist/ui/kid/kid-log.d.ts +15 -0
- package/dist/ui/kid/kid-log.js +87 -0
- package/dist/ui/kid/kid-nav.d.ts +11 -0
- package/dist/ui/kid/kid-nav.js +22 -0
- package/dist/ui/kid/kid-page.d.ts +9 -0
- package/dist/ui/kid/kid-page.js +3684 -0
- package/dist/ui/kid/letters.d.ts +26 -0
- package/dist/ui/kid/letters.js +51 -0
- package/dist/ui/kid/photo-edit.d.ts +83 -0
- package/dist/ui/kid/photo-edit.js +106 -0
- package/dist/ui/kid/photo-ui.d.ts +23 -0
- package/dist/ui/kid/photo-ui.js +60 -0
- package/dist/ui/kid/reel.d.ts +419 -0
- package/dist/ui/kid/reel.js +648 -0
- package/dist/ui/kid/tianzige.d.ts +8 -0
- package/dist/ui/kid/tianzige.js +45 -0
- package/dist/ui/kid/tutor-face.d.ts +35 -0
- package/dist/ui/kid/tutor-face.js +84 -0
- package/dist/ui/kid/voice-ui.d.ts +70 -0
- package/dist/ui/kid/voice-ui.js +316 -0
- package/dist/ui/kid/voice-view.d.ts +71 -0
- package/dist/ui/kid/voice-view.js +75 -0
- package/dist/ui/kid/word-draw.d.ts +2 -0
- package/dist/ui/kid/word-draw.js +107 -0
- package/dist/ui/kid/word-emoji.d.ts +10 -0
- package/dist/ui/kid/word-emoji.js +68 -0
- package/dist/ui/kid/word-layout.d.ts +25 -0
- package/dist/ui/kid/word-layout.js +29 -0
- package/dist/ui/parent/parent-home-page.d.ts +1 -0
- package/dist/ui/parent/parent-home-page.js +722 -0
- package/dist/ui/parent/parent-page.d.ts +2 -0
- package/dist/ui/parent/parent-page.js +511 -0
- package/dist/ui/parent/parent-settings-page.d.ts +1 -0
- package/dist/ui/parent/parent-settings-page.js +133 -0
- package/dist/ui/parent/qr-page.d.ts +8 -0
- package/dist/ui/parent/qr-page.js +66 -0
- package/dist/ui/shared/brand.d.ts +38 -0
- package/dist/ui/shared/brand.js +53 -0
- package/dist/ui/shared/favicon.d.ts +12 -0
- package/dist/ui/shared/favicon.js +96 -0
- package/dist/ui/shared/icon.d.ts +9 -0
- package/dist/ui/shared/icon.js +35 -0
- package/dist/ui/shared/inline-lib.d.ts +1 -0
- package/dist/ui/shared/inline-lib.js +28 -0
- package/dist/ui/shared/logo.d.ts +31 -0
- package/dist/ui/shared/logo.js +43 -0
- package/dist/ui/shared/page-dom.d.ts +12 -0
- package/dist/ui/shared/page-dom.js +36 -0
- package/dist/ui/shared/png.d.ts +1 -0
- package/dist/ui/shared/png.js +45 -0
- package/dist/ui/shared/qr-svg.d.ts +3 -0
- package/dist/ui/shared/qr-svg.js +32 -0
- package/dist/ui/shared/qr.d.ts +14 -0
- package/dist/ui/shared/qr.js +281 -0
- package/dist/ui/shared/reel-dock.d.ts +22 -0
- package/dist/ui/shared/reel-dock.js +365 -0
- package/dist/ui/shared/tutor-color.d.ts +15 -0
- package/dist/ui/shared/tutor-color.js +47 -0
- package/dist/ui/talk/page.d.ts +6 -0
- package/dist/ui/talk/page.js +294 -0
- package/grades/grade-2/README.md +11 -0
- package/grades/grade-2/VALIDATION.md +41 -0
- package/grades/grade-2/agents/chinese-tutor/activities//344/275/240/350/257/264/346/210/221/347/224/273.md +157 -0
- package/grades/grade-2/agents/chinese-tutor/activities//344/275/240/350/257/264/346/210/221/347/224/273./344/276/213/345/255/220.md +78 -0
- package/grades/grade-2/agents/chinese-tutor/activities//344/276/213/345/255/220/345/233/276//345/200/237/344/274/236.jpg +0 -0
- package/grades/grade-2/agents/chinese-tutor/activities//344/276/213/345/255/220/345/233/276//345/260/217/347/214/264/346/221/230/346/241/203.jpg +0 -0
- package/grades/grade-2/agents/chinese-tutor/activities//345/206/231/350/257/235.md +64 -0
- package/grades/grade-2/agents/chinese-tutor/activities//345/206/231/350/257/235./344/276/213/345/255/220.md +31 -0
- package/grades/grade-2/agents/chinese-tutor/activities//345/220/254/345/206/231.md +48 -0
- package/grades/grade-2/agents/chinese-tutor/activities//345/244/215/344/271/240.md +79 -0
- package/grades/grade-2/agents/chinese-tutor/activities//345/244/215/344/271/240./344/276/213/345/255/220.md +35 -0
- package/grades/grade-2/agents/chinese-tutor/activities//345/260/217/350/257/276/345/240/202.md +53 -0
- package/grades/grade-2/agents/chinese-tutor/activities//346/243/200/346/237/245/344/275/234/344/270/232.md +81 -0
- package/grades/grade-2/agents/chinese-tutor/activities//346/243/200/346/237/245/344/275/234/344/270/232./344/276/213/345/255/220.md +35 -0
- package/grades/grade-2/agents/chinese-tutor/activities//347/234/213/345/233/276/350/257/264/350/257/235.md +94 -0
- package/grades/grade-2/agents/chinese-tutor/activities//347/234/213/345/233/276/350/257/264/350/257/235./344/276/213/345/255/220.md +63 -0
- package/grades/grade-2/agents/chinese-tutor/activities//351/242/204/344/271/240.md +82 -0
- package/grades/grade-2/agents/chinese-tutor/activities//351/242/204/344/271/240./344/276/213/345/255/220.md +35 -0
- package/grades/grade-2/agents/chinese-tutor.md +59 -0
- package/grades/grade-2/agents/english-tutor/activities//345/217/243/350/257/255/350/257/276.md +149 -0
- package/grades/grade-2/agents/english-tutor/activities//345/217/243/350/257/255/350/257/276./344/276/213/345/255/220.md +13 -0
- package/grades/grade-2/agents/english-tutor/activities//345/220/254/345/206/231.md +47 -0
- package/grades/grade-2/agents/english-tutor/activities//345/244/215/344/271/240.md +78 -0
- package/grades/grade-2/agents/english-tutor/activities//345/244/215/344/271/240./344/276/213/345/255/220.md +35 -0
- package/grades/grade-2/agents/english-tutor/activities//345/260/217/350/257/276/345/240/202.md +53 -0
- package/grades/grade-2/agents/english-tutor/activities//346/243/200/346/237/245/344/275/234/344/270/232.md +80 -0
- package/grades/grade-2/agents/english-tutor/activities//346/243/200/346/237/245/344/275/234/344/270/232./344/276/213/345/255/220.md +35 -0
- package/grades/grade-2/agents/english-tutor/activities//351/242/204/344/271/240.md +86 -0
- package/grades/grade-2/agents/english-tutor/activities//351/242/204/344/271/240./344/276/213/345/255/220.md +35 -0
- package/grades/grade-2/agents/english-tutor.md +57 -0
- package/grades/grade-2/agents/math-tutor/activities//345/244/215/344/271/240.md +78 -0
- package/grades/grade-2/agents/math-tutor/activities//345/244/215/344/271/240./344/276/213/345/255/220.md +35 -0
- package/grades/grade-2/agents/math-tutor/activities//345/260/217/350/257/276/345/240/202.md +56 -0
- package/grades/grade-2/agents/math-tutor/activities//345/260/217/350/257/276/345/240/202./344/276/213/345/255/220.md +52 -0
- package/grades/grade-2/agents/math-tutor/activities//346/243/200/346/237/245/344/275/234/344/270/232.md +80 -0
- package/grades/grade-2/agents/math-tutor/activities//346/243/200/346/237/245/344/275/234/344/270/232./344/276/213/345/255/220.md +35 -0
- package/grades/grade-2/agents/math-tutor/activities//351/242/204/344/271/240.md +81 -0
- package/grades/grade-2/agents/math-tutor/activities//351/242/204/344/271/240./344/276/213/345/255/220.md +35 -0
- package/grades/grade-2/agents/math-tutor.md +51 -0
- package/grades/grade-2/examples/2026-10-27-pingjunfen/audio/index.json +44 -0
- package/grades/grade-2/examples/2026-10-27-pingjunfen/audio/step-1.mp3 +0 -0
- package/grades/grade-2/examples/2026-10-27-pingjunfen/audio/step-2.mp3 +0 -0
- package/grades/grade-2/examples/2026-10-27-pingjunfen/audio/step-3.mp3 +0 -0
- package/grades/grade-2/examples/2026-10-27-pingjunfen/audio/step-4.mp3 +0 -0
- package/grades/grade-2/examples/2026-10-27-pingjunfen/audio/step-5.mp3 +0 -0
- package/grades/grade-2/examples/2026-10-27-pingjunfen/bake.json +1 -0
- package/grades/grade-2/examples/2026-10-27-pingjunfen/manifest.json +63 -0
- package/grades/grade-2/examples/2026-10-27-pingjunfen/scene.json +247 -0
- package/grades/grade-2/examples/2026-10-27-pingjunfen.md +40 -0
- package/grades/grade-2/examples/2026-10-27-pingjunfen.ts +26 -0
- package/grades/grade-2/examples//345/271/263/345/235/207/345/210/206./344/276/213/345/255/220.md +24 -0
- package/grades/grade-2/examples//346/225/260/345/255/246/345/271/263/345/235/207/345/210/206.md +42 -0
- package/grades/grade-2/validation/2026-10-27.json +4410 -0
- package/package.json +27 -15
- package/skills/chalk-cli/SKILL.md +62 -0
- package/skills/chalk-scene/SKILL.md +91 -0
- package/skills/chalk-teaching/SKILL.md +82 -0
- package/skills/chalk-teaching/models//344/272/244/351/224/231/346/225/260/345/210/227/345/210/206/350/241/214.md +8 -0
- package/skills/chalk-teaching/models//345/207/221/345/215/201.md +7 -0
- package/skills/chalk-teaching/models//345/221/250/346/234/237/350/247/204/345/276/213.md +6 -0
- package/skills/chalk-teaching/models//345/256/236/347/211/251/345/233/276-/345/242/236/345/207/217.md +6 -0
- package/skills/chalk-teaching/models//345/256/236/347/211/251/345/233/276-/346/257/224/345/244/232/345/260/221-/346/261/202/345/244/247/346/225/260/346/261/202/345/260/217/346/225/260.md +7 -0
- package/skills/chalk-teaching/models//345/256/236/347/211/251/345/233/276-/346/257/224/345/244/232/345/260/221-/346/261/202/345/267/256.md +6 -0
- package/skills/chalk-teaching/models//345/260/217/346/243/222/350/277/233/344/275/215/345/212/240.md +7 -0
- package/skills/chalk-teaching/models//345/260/217/346/243/222/351/200/200/344/275/215/345/207/217.md +6 -0
- package/skills/chalk-teaching/models//346/216/222/351/230/237/347/202/271/351/230/265.md +7 -0
- package/skills/chalk-teaching/models//346/227/266/351/227/264/346/225/260/350/275/264.md +6 -0
- package/skills/chalk-teaching/models//346/245/274/345/261/202/351/227/264/351/232/224/345/233/276.md +7 -0
- package/skills/chalk-teaching/models//347/240/264/345/215/201.md +7 -0
- package/skills/chalk-teaching/models//347/253/226/345/274/217/351/200/200/344/275/215.md +6 -0
- package/skills/chalk-teaching/models//347/272/277/346/256/265/345/233/276.md +7 -0
- package/skills/chalk-teaching/models-index.md +24 -0
- package/skills/chalk-teaching/references//350/256/262/350/247/243/346/250/241/346/235/277/344/270/211/346/241/243.md +32 -0
- package/skills/chalk-teaching/references//350/257/264/346/230/216/346/226/207/344/273/266.md +102 -0
- package/skills/chalk-verify/SKILL.md +57 -0
- package/skills/chalk-verify/references//350/257/204/345/210/244/346/240/207/345/207/206.md +69 -0
- package/skills/cotutor-analyze/SKILL.md +106 -0
- package/skills/cotutor-analyze/references//345/221/275/344/273/244/344/270/216/346/226/207/344/273/266.md +31 -0
- package/skills/cotutor-board/SKILL.md +373 -0
- package/skills/cotutor-board/references/README.md +38 -0
- package/skills/cotutor-board/references/canvas.md +68 -0
- package/skills/cotutor-board/references/choice.md +55 -0
- package/skills/cotutor-board/references/code.md +46 -0
- package/skills/cotutor-board/references/image.md +52 -0
- package/skills/cotutor-board/references/lecture.md +69 -0
- package/skills/cotutor-board/references/paint.md +77 -0
- package/skills/cotutor-board/references/photo.md +61 -0
- package/skills/cotutor-board/references/read.md +51 -0
- package/skills/cotutor-board/references/text.md +69 -0
- package/skills/cotutor-board/references/tianzige.md +78 -0
- package/skills/cotutor-board/references/word.md +91 -0
- package/skills/cotutor-home/SKILL.md +170 -0
- package/skills/cotutor-home/references/dictation.md +97 -0
- package/skills/cotutor-home/references/tutor.md +149 -0
- package/skills/cotutor-home/references//345/221/275/344/273/244.md +21 -0
- package/skills/cotutor-home/references//351/246/226/351/241/265/350/257/255/346/263/225.md +143 -0
- package/skills/cotutor-tune/SKILL.md +147 -0
- package/skills/cotutor-tune/references//345/255/227/346/256/265.md +53 -0
- package/skills/cotutor-tutor/SKILL.md +253 -0
- package/skills/cotutor-tutor/references//344/270/212/344/270/213/346/226/207/345/214/205.md +78 -0
- package/themes/default/kid.css +86 -0
- package/themes/default/theme.json +26 -0
- package/agents/chinese-tutor.md +0 -67
- package/agents/homework-tutor.md +0 -17
- package/agents/math-tutor.md +0 -68
- package/agents/planner.md +0 -18
- package/agents/reading-tutor.md +0 -65
- package/agents/scene-maker.md +0 -41
- package/dist/cards/canvas.d.ts +0 -22
- package/dist/cards/canvas.js +0 -65
- package/dist/cards/fill.d.ts +0 -14
- package/dist/cards/fill.js +0 -64
- package/dist/cards/index.d.ts +0 -48
- package/dist/cards/index.js +0 -115
- package/dist/cards/kind.js +0 -7
- package/dist/cards/scene.d.ts +0 -24
- package/dist/cards/scene.js +0 -67
- package/dist/cards/text.d.ts +0 -18
- package/dist/cards/text.js +0 -41
- package/dist/cli/cert.d.ts +0 -7
- package/dist/cli/cert.js +0 -36
- package/dist/cli/doctor.d.ts +0 -22
- package/dist/cli/doctor.js +0 -355
- package/dist/cli/init.js +0 -116
- package/dist/cli/main.js +0 -243
- package/dist/cli/serve.d.ts +0 -30
- package/dist/cli/serve.js +0 -56
- package/dist/cli/skeleton.d.ts +0 -39
- package/dist/cli/skeleton.js +0 -184
- package/dist/cli/skills.d.ts +0 -40
- package/dist/cli/skills.js +0 -170
- package/dist/cli/workspace.d.ts +0 -69
- package/dist/lib/agent-file.d.ts +0 -10
- package/dist/lib/agent-file.js +0 -16
- package/dist/lib/board.d.ts +0 -15
- package/dist/lib/board.js +0 -107
- package/dist/lib/context-pack.js +0 -55
- package/dist/lib/conversation.js +0 -88
- package/dist/lib/kid-board.d.ts +0 -148
- package/dist/lib/kid-board.js +0 -294
- package/dist/lib/kid-view.d.ts +0 -63
- package/dist/lib/kid-view.js +0 -93
- package/dist/lib/ledger.d.ts +0 -29
- package/dist/lib/run-plan.d.ts +0 -30
- package/dist/lib/run-plan.js +0 -32
- package/dist/lib/sections.d.ts +0 -12
- package/dist/lib/sections.js +0 -151
- package/dist/lib/stream.d.ts +0 -15
- package/dist/lib/stream.js +0 -69
- package/dist/lib/transcript.d.ts +0 -36
- package/dist/lib/transcript.js +0 -95
- package/dist/server/app.d.ts +0 -74
- package/dist/server/app.js +0 -406
- package/dist/server/kid-page.d.ts +0 -1
- package/dist/server/kid-page.js +0 -768
- package/dist/server/mock.js +0 -403
- package/dist/server/parent-page.d.ts +0 -8
- package/dist/server/parent-page.js +0 -393
- package/dist/server/runner.d.ts +0 -64
- package/dist/server/runner.js +0 -277
- package/dist/server/scene-props.d.ts +0 -16
- package/dist/server/scene-props.js +0 -39
- package/dist/server/store.d.ts +0 -43
- package/dist/server/store.js +0 -210
- package/dist/server/tts.d.ts +0 -51
- package/dist/server/tts.js +0 -99
- /package/dist/{cli → app/cli}/main.d.ts +0 -0
- /package/dist/{cards → board/cards}/choice.d.ts +0 -0
- /package/dist/{cards → board/cards}/code.d.ts +0 -0
- /package/dist/{cards → board/cards}/image.d.ts +0 -0
- /package/dist/{cards → board/cards}/read.d.ts +0 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import{a as Pt}from"./chunk-Z2SY2HOC.js";import{a as Bt}from"./chunk-4QDE4SUK.js";import{o as Vt}from"./chunk-PTBOP4OT.js";import"./chunk-44P66WFA.js";import{O as Dt,T as Rt,U as Ct,V as Nt,W as Ot,X as Lt,Y as Ft,Z as jt,c as Et,d as Tt,e as zt,f as lt,k as At,u as ct}from"./chunk-TL3HLL2S.js";import{h as it}from"./chunk-SRORWQJZ.js";import{a as w}from"./chunk-XOYVR3SV.js";import"./chunk-RJ2R4FVC.js";function rt(t,n){let s=fe(t),e=s.filter(l=>ue(l,t)),i=0,r=0,o=[];if(e.length>1){let l=Wt(e);for(let u=0;u<e.length;++u){let a=e[u];a.angle=Math.atan2(a.x-l.x,a.y-l.y)}e.sort((u,a)=>a.angle-u.angle);let f=e[e.length-1];for(let u=0;u<e.length;++u){let a=e[u];r+=(f.x+a.x)*(a.y-f.y);let y={x:(a.x+f.x)/2,y:(a.y+f.y)/2},d=null;for(let b=0;b<a.parentIndex.length;++b)if(f.parentIndex.includes(a.parentIndex[b])){let p=t[a.parentIndex[b]],M=Math.atan2(a.x-p.x,a.y-p.y),T=Math.atan2(f.x-p.x,f.y-p.y),_=T-M;_<0&&(_+=2*Math.PI);let S=T-_/2,g=U(y,{x:p.x+p.radius*Math.sin(S),y:p.y+p.radius*Math.cos(S)});g>p.radius*2&&(g=p.radius*2),(d==null||d.width>g)&&(d={circle:p,width:g,p1:a,p2:f,large:g>p.radius,sweep:!0})}d!=null&&(o.push(d),i+=ht(d.circle.radius,d.width),f=a)}}else{let l=t[0];for(let u=1;u<t.length;++u)t[u].radius<l.radius&&(l=t[u]);let f=!1;for(let u=0;u<t.length;++u)if(U(t[u],l)>Math.abs(l.radius-t[u].radius)){f=!0;break}f?i=r=0:(i=l.radius*l.radius*Math.PI,o.push({circle:l,p1:{x:l.x,y:l.y+l.radius},p2:{x:l.x-1e-10,y:l.y+l.radius},width:l.radius*2,large:!0,sweep:!0}))}return r/=2,n&&(n.area=i+r,n.arcArea=i,n.polygonArea=r,n.arcs=o,n.innerPoints=e,n.intersectionPoints=s),i+r}function ue(t,n){return n.every(s=>U(t,s)<s.radius+1e-10)}function fe(t){let n=[];for(let s=0;s<t.length;++s)for(let e=s+1;e<t.length;++e){let i=Gt(t[s],t[e]);for(let r of i)r.parentIndex=[s,e],n.push(r)}return n}function ht(t,n){return t*t*Math.acos(1-n/t)-(t-n)*Math.sqrt(n*(2*t-n))}function U(t,n){return Math.sqrt((t.x-n.x)*(t.x-n.x)+(t.y-n.y)*(t.y-n.y))}function mt(t,n,s){if(s>=t+n)return 0;if(s<=Math.abs(t-n))return Math.PI*Math.min(t,n)*Math.min(t,n);let e=t-(s*s-n*n+t*t)/(2*s),i=n-(s*s-t*t+n*n)/(2*s);return ht(t,e)+ht(n,i)}function Gt(t,n){let s=U(t,n),e=t.radius,i=n.radius;if(s>=e+i||s<=Math.abs(e-i))return[];let r=(e*e-i*i+s*s)/(2*s),o=Math.sqrt(e*e-r*r),l=t.x+r*(n.x-t.x)/s,f=t.y+r*(n.y-t.y)/s,u=-(n.y-t.y)*(o/s),a=-(n.x-t.x)*(o/s);return[{x:l+u,y:f-a},{x:l-u,y:f+a}]}function Wt(t){let n={x:0,y:0};for(let s of t)n.x+=s.x,n.y+=s.y;return n.x/=t.length,n.y/=t.length,n}function he(t,n,s,e){e=e||{};let i=e.maxIterations||100,r=e.tolerance||1e-10,o=t(n),l=t(s),f=s-n;if(o*l>0)throw"Initial bisect points must have opposite signs";if(o===0)return n;if(l===0)return s;for(let u=0;u<i;++u){f/=2;let a=n+f,y=t(a);if(y*o>=0&&(n=a),Math.abs(f)<r||y===0)return a}return n+f}function dt(t){let n=new Array(t);for(let s=0;s<t;++s)n[s]=0;return n}function qt(t,n){return dt(t).map(()=>dt(n))}function $(t,n){let s=0;for(let e=0;e<t.length;++e)s+=t[e]*n[e];return s}function gt(t){return Math.sqrt($(t,t))}function xt(t,n,s){for(let e=0;e<n.length;++e)t[e]=n[e]*s}function J(t,n,s,e,i){for(let r=0;r<t.length;++r)t[r]=n*s[r]+e*i[r]}function Kt(t,n,s){s=s||{};let e=s.maxIterations||n.length*200,i=s.nonZeroDelta||1.05,r=s.zeroDelta||.001,o=s.minErrorDelta||1e-6,l=s.minErrorDelta||1e-5,f=s.rho!==void 0?s.rho:1,u=s.chi!==void 0?s.chi:2,a=s.psi!==void 0?s.psi:-.5,y=s.sigma!==void 0?s.sigma:.5,d,b=n.length,p=new Array(b+1);p[0]=n,p[0].fx=t(n),p[0].id=0;for(let v=0;v<b;++v){let c=n.slice();c[v]=c[v]?c[v]*i:r,p[v+1]=c,p[v+1].fx=t(c),p[v+1].id=v+1}function M(v){for(let c=0;c<v.length;c++)p[b][c]=v[c];p[b].fx=v.fx}let T=(v,c)=>v.fx-c.fx,_=n.slice(),S=n.slice(),g=n.slice(),m=n.slice();for(let v=0;v<e;++v){if(p.sort(T),s.history){let x=p.map(h=>{let D=h.slice();return D.fx=h.fx,D.id=h.id,D});x.sort((h,D)=>h.id-D.id),s.history.push({x:p[0].slice(),fx:p[0].fx,simplex:x})}d=0;for(let x=0;x<b;++x)d=Math.max(d,Math.abs(p[0][x]-p[1][x]));if(Math.abs(p[0].fx-p[b].fx)<o&&d<l)break;for(let x=0;x<b;++x){_[x]=0;for(let h=0;h<b;++h)_[x]+=p[h][x];_[x]/=b}let c=p[b];if(J(S,1+f,_,-f,c),S.fx=t(S),S.fx<p[0].fx)J(m,1+u,_,-u,c),m.fx=t(m),m.fx<S.fx?M(m):M(S);else if(S.fx>=p[b-1].fx){let x=!1;if(S.fx>c.fx?(J(g,1+a,_,-a,c),g.fx=t(g),g.fx<c.fx?M(g):x=!0):(J(g,1-a*f,_,a*f,c),g.fx=t(g),g.fx<S.fx?M(g):x=!0),x){if(y>=1)break;for(let h=1;h<p.length;++h)J(p[h],1-y,p[0],y,p[h]),p[h].fx=t(p[h])}}else M(S)}return p.sort(T),{fx:p[0].fx,x:p[0]}}function de(t,n,s,e,i,r,o){let l=s.fx,f=$(s.fxprime,n),u=l,a=l,y=f,d=0;i=i||1,r=r||1e-6,o=o||.1;function b(p,M,T){for(let _=0;_<16;++_)if(i=(p+M)/2,J(e.x,1,s.x,i,n),u=e.fx=t(e.x,e.fxprime),y=$(e.fxprime,n),u>l+r*i*f||u>=T)M=i;else{if(Math.abs(y)<=-o*f)return i;y*(M-p)>=0&&(M=p),p=i,T=u}return 0}for(let p=0;p<10;++p){if(J(e.x,1,s.x,i,n),u=e.fx=t(e.x,e.fxprime),y=$(e.fxprime,n),u>l+r*i*f||p&&u>=a)return b(d,i,a);if(Math.abs(y)<=-o*f)return i;if(y>=0)return b(i,d,u);a=u,d=i,i*=2}return i}function ge(t,n,s){let e={x:n.slice(),fx:0,fxprime:n.slice()},i={x:n.slice(),fx:0,fxprime:n.slice()},r=n.slice(),o,l,f=1,u;s=s||{},u=s.maxIterations||n.length*20,e.fx=t(e.x,e.fxprime),o=e.fxprime.slice(),xt(o,e.fxprime,-1);for(let a=0;a<u;++a){if(f=de(t,o,e,i,f),s.history&&s.history.push({x:e.x.slice(),fx:e.fx,fxprime:e.fxprime.slice(),alpha:f}),!f)xt(o,e.fxprime,-1);else{J(r,1,i.fxprime,-1,e.fxprime);let y=$(e.fxprime,e.fxprime),d=Math.max(0,$(r,i.fxprime)/y);J(o,d,o,-1,i.fxprime),l=e,e=i,i=l}if(gt(e.fxprime)<=1e-5)break}return s.history&&s.history.push({x:e.x.slice(),fx:e.fx,fxprime:e.fxprime.slice(),alpha:f}),e}function Ht(t,n={}){n.maxIterations=n.maxIterations||500;let s=n.initialLayout||me,e=n.lossFunction||tt,i=xe(t,n),r=s(i,n),o=Object.keys(r),l=[];for(let a of o)l.push(r[a].x),l.push(r[a].y);let u=Kt(a=>{let y={};for(let d=0;d<o.length;++d){let b=o[d];y[b]={x:a[2*d],y:a[2*d+1],radius:r[b].radius}}return e(y,i)},l,n).x;for(let a=0;a<o.length;++a){let y=o[a];r[y].x=u[2*a],r[y].y=u[2*a+1]}return r}var Yt=1e-10;function yt(t,n,s){return Math.min(t,n)*Math.min(t,n)*Math.PI<=s+Yt?Math.abs(t-n):he(e=>mt(t,n,e)-s,0,t+n)}function xe(t,n={}){let s=n.distinct,e=t.map(l=>Object.assign({},l));function i(l){return l.join(";")}if(s){let l=new Map;for(let f of e)for(let u=0;u<f.sets.length;u++){let a=String(f.sets[u]);l.set(a,f.size+(l.get(a)||0));for(let y=u+1;y<f.sets.length;y++){let d=String(f.sets[y]),b=`${a};${d}`,p=`${d};${a}`;l.set(b,f.size+(l.get(b)||0)),l.set(p,f.size+(l.get(p)||0))}}for(let f of e)f.sets.length<3&&(f.size=l.get(i(f.sets)))}let r=[],o=new Set;for(let l of e)if(l.sets.length===1)r.push(l.sets[0]);else if(l.sets.length===2){let f=l.sets[0],u=l.sets[1];o.add(i(l.sets)),o.add(i([u,f]))}r.sort((l,f)=>l===f?0:l<f?-1:1);for(let l=0;l<r.length;++l){let f=r[l];for(let u=l+1;u<r.length;++u){let a=r[u];o.has(i([f,a]))||e.push({sets:[f,a],size:0})}}return e}function ye(t,n,s){let e=qt(n.length,n.length),i=qt(n.length,n.length);return t.filter(r=>r.sets.length===2).forEach(r=>{let o=s[r.sets[0]],l=s[r.sets[1]],f=Math.sqrt(n[o].size/Math.PI),u=Math.sqrt(n[l].size/Math.PI),a=yt(f,u,r.size);e[o][l]=e[l][o]=a;let y=0;r.size+1e-10>=Math.min(n[o].size,n[l].size)?y=1:r.size<=1e-10&&(y=-1),i[o][l]=i[l][o]=y}),{distances:e,constraints:i}}function pe(t,n,s,e){for(let r=0;r<n.length;++r)n[r]=0;let i=0;for(let r=0;r<s.length;++r){let o=t[2*r],l=t[2*r+1];for(let f=r+1;f<s.length;++f){let u=t[2*f],a=t[2*f+1],y=s[r][f],d=e[r][f],b=(u-o)*(u-o)+(a-l)*(a-l),p=Math.sqrt(b),M=b-y*y;d>0&&p<=y||d<0&&p>=y||(i+=2*M*M,n[2*r]+=4*M*(o-u),n[2*r+1]+=4*M*(l-a),n[2*f]+=4*M*(u-o),n[2*f+1]+=4*M*(a-l))}}return i}function me(t,n={}){let s=ve(t,n),e=n.lossFunction||tt;if(t.length>=8){let i=be(t,n),r=e(i,t),o=e(s,t);r+1e-8<o&&(s=i)}return s}function be(t,n={}){let s=n.restarts||10,e=[],i={};for(let d of t)d.sets.length===1&&(i[d.sets[0]]=e.length,e.push(d));let{distances:r,constraints:o}=ye(t,e,i),l=gt(r.map(gt))/r.length;r=r.map(d=>d.map(b=>b/l));let f=(d,b)=>pe(d,b,r,o),u=null;for(let d=0;d<s;++d){let b=dt(r.length*2).map(Math.random),p=ge(f,b,n);(!u||p.fx<u.fx)&&(u=p)}let a=u.x,y={};for(let d=0;d<e.length;++d){let b=e[d];y[b.sets[0]]={x:a[2*d]*l,y:a[2*d+1]*l,radius:Math.sqrt(b.size/Math.PI)}}if(n.history)for(let d of n.history)xt(d.x,l);return y}function ve(t,n){let s=n&&n.lossFunction?n.lossFunction:tt,e={},i={};for(let y of t)if(y.sets.length===1){let d=y.sets[0];e[d]={x:1e10,y:1e10,rowid:e.length,size:y.size,radius:Math.sqrt(y.size/Math.PI)},i[d]=[]}t=t.filter(y=>y.sets.length===2);for(let y of t){let d=y.weight!=null?y.weight:1,b=y.sets[0],p=y.sets[1];y.size+Yt>=Math.min(e[b].size,e[p].size)&&(d=0),i[b].push({set:p,size:y.size,weight:d}),i[p].push({set:b,size:y.size,weight:d})}let r=[];Object.keys(i).forEach(y=>{let d=0;for(let b=0;b<i[y].length;++b)d+=i[y][b].size*i[y][b].weight;r.push({set:y,size:d})});function o(y,d){return d.size-y.size}r.sort(o);let l={};function f(y){return y.set in l}function u(y,d){e[d].x=y.x,e[d].y=y.y,l[d]=!0}u({x:0,y:0},r[0].set);for(let y=1;y<r.length;++y){let d=r[y].set,b=i[d].filter(f),p=e[d];if(b.sort(o),b.length===0)throw"ERROR: missing pairwise overlap information";let M=[];for(var a=0;a<b.length;++a){let S=e[b[a].set],g=yt(p.radius,S.radius,b[a].size);M.push({x:S.x+g,y:S.y}),M.push({x:S.x-g,y:S.y}),M.push({y:S.y+g,x:S.x}),M.push({y:S.y-g,x:S.x});for(let m=a+1;m<b.length;++m){let v=e[b[m].set],c=yt(p.radius,v.radius,b[m].size),x=Gt({x:S.x,y:S.y,radius:g},{x:v.x,y:v.y,radius:c});M.push(...x)}}let T=1e50,_=M[0];for(let S of M){e[d].x=S.x,e[d].y=S.y;let g=s(e,t);g<T&&(T=g,_=S)}u(_,d)}return e}function tt(t,n){let s=0;for(let e of n){if(e.sets.length===1)continue;let i;if(e.sets.length===2){let o=t[e.sets[0]],l=t[e.sets[1]];i=mt(o.radius,l.radius,U(o,l))}else i=rt(e.sets.map(o=>t[o]));let r=e.weight!=null?e.weight:1;s+=r*(i-e.size)*(i-e.size)}return s}function Xt(t,n){let s=0;for(let e of n){if(e.sets.length===1)continue;let i;if(e.sets.length===2){let l=t[e.sets[0]],f=t[e.sets[1]];i=mt(l.radius,f.radius,U(l,f))}else i=rt(e.sets.map(l=>t[l]));let r=e.weight!=null?e.weight:1,o=Math.log((i+1)/(e.size+1));s+=r*o*o}return s}function ke(t,n,s){if(s==null?t.sort((i,r)=>r.radius-i.radius):t.sort(s),t.length>0){let i=t[0].x,r=t[0].y;for(let o of t)o.x-=i,o.y-=r}if(t.length===2&&U(t[0],t[1])<Math.abs(t[1].radius-t[0].radius)&&(t[1].x=t[0].x+t[0].radius-t[1].radius-1e-10,t[1].y=t[0].y),t.length>1){let i=Math.atan2(t[1].x,t[1].y)-n,r=Math.cos(i),o=Math.sin(i);for(let l of t){let f=l.x,u=l.y;l.x=r*f-o*u,l.y=o*f+r*u}}if(t.length>2){let i=Math.atan2(t[2].x,t[2].y)-n;for(;i<0;)i+=2*Math.PI;for(;i>2*Math.PI;)i-=2*Math.PI;if(i>Math.PI){let r=t[1].y/(1e-10+t[1].x);for(let o of t){var e=(o.x+r*o.y)/(1+r*r);o.x=2*e-o.x,o.y=2*e*r-o.y}}}}function Ie(t){t.forEach(i=>{i.parent=i});function n(i){return i.parent!==i&&(i.parent=n(i.parent)),i.parent}function s(i,r){let o=n(i),l=n(r);o.parent=l}for(let i=0;i<t.length;++i)for(let r=i+1;r<t.length;++r){let o=t[i].radius+t[r].radius;U(t[i],t[r])+1e-10<o&&s(t[r],t[i])}let e=new Map;for(let i=0;i<t.length;++i){let r=n(t[i]).parent.setid;e.has(r)||e.set(r,[]),e.get(r).push(t[i])}return t.forEach(i=>{delete i.parent}),Array.from(e.values())}function pt(t){let n=s=>{let e=t.reduce((r,o)=>Math.max(r,o[s]+o.radius),Number.NEGATIVE_INFINITY),i=t.reduce((r,o)=>Math.min(r,o[s]-o.radius),Number.POSITIVE_INFINITY);return{max:e,min:i}};return{xRange:n("x"),yRange:n("y")}}function Zt(t,n,s){n==null&&(n=Math.PI/2);let e=$t(t).map(u=>Object.assign({},u)),i=Ie(e);for(let u of i){ke(u,n,s);let a=pt(u);u.size=(a.xRange.max-a.xRange.min)*(a.yRange.max-a.yRange.min),u.bounds=a}i.sort((u,a)=>a.size-u.size),e=i[0];let r=e.bounds,o=(r.xRange.max-r.xRange.min)/50;function l(u,a,y){if(!u)return;let d=u.bounds,b,p;if(a)b=r.xRange.max-d.xRange.min+o;else{b=r.xRange.max-d.xRange.max;let M=(d.xRange.max-d.xRange.min)/2-(r.xRange.max-r.xRange.min)/2;M<0&&(b+=M)}if(y)p=r.yRange.max-d.yRange.min+o;else{p=r.yRange.max-d.yRange.max;let M=(d.yRange.max-d.yRange.min)/2-(r.yRange.max-r.yRange.min)/2;M<0&&(p+=M)}for(let M of u)M.x+=b,M.y+=p,e.push(M)}let f=1;for(;f<i.length;)l(i[f],!0,!1),l(i[f+1],!1,!0),l(i[f+2],!0,!0),f+=3,r=pt(e);return Qt(e)}function Jt(t,n,s,e,i){let r=$t(t);n-=2*e,s-=2*e;let{xRange:o,yRange:l}=pt(r);if(o.max===o.min||l.max===l.min)return console.log("not scaling solution: zero size detected"),t;let f,u;if(i){let b=Math.sqrt(i/Math.PI)*2;f=n/b,u=s/b}else f=n/(o.max-o.min),u=s/(l.max-l.min);let a=Math.min(u,f),y=(n-(o.max-o.min)*a)/2,d=(s-(l.max-l.min)*a)/2;return Qt(r.map(b=>({radius:a*b.radius,x:e+y+(b.x-o.min)*a,y:e+d+(b.y-l.min)*a,setid:b.setid})))}function Qt(t){let n={};for(let s of t)n[s.setid]=s;return n}function $t(t){return Object.keys(t).map(s=>Object.assign(t[s],{setid:s}))}function te(t={}){let n=!1,s=600,e=350,i=15,r=1e3,o=Math.PI/2,l=!0,f=null,u=!0,a=!0,y=null,d=null,b=!1,p=null,M=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,T={},_=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],S=0,g=function(x){if(x in T)return T[x];var h=T[x]=_[S];return S+=1,S>=_.length&&(S=0),h},m=Ht,v=tt;function c(x){let h=x.datum(),D=new Set;h.forEach(k=>{k.size==0&&k.sets.length==1&&D.add(k.sets[0])}),h=h.filter(k=>!k.sets.some(P=>D.has(P)));let I={},R={};if(h.length>0){let k=m(h,{lossFunction:v,distinct:b});l&&(k=Zt(k,o,d)),I=Jt(k,s,e,i,f),R=ne(I,h,M)}let G={};h.forEach(k=>{k.label&&(G[k.sets]=k.label)});function V(k){if(k.sets in G)return G[k.sets];if(k.sets.length==1)return""+k.sets[0]}x.selectAll("svg").data([I]).enter().append("svg");let N=x.select("svg");n?N.attr("viewBox",`0 0 ${s} ${e}`):N.attr("width",s).attr("height",e);let A={},C=!1;N.selectAll(".venn-area path").each(function(k){let P=this.getAttribute("d");k.sets.length==1&&P&&!b&&(C=!0,A[k.sets[0]]=we(P))});function E(k){return P=>{let et=k.sets.map(Z=>{let Y=A[Z],q=I[Z];return Y||(Y={x:s/2,y:e/2,radius:1}),q||(q={x:s/2,y:e/2,radius:1}),{x:Y.x*(1-P)+q.x*P,y:Y.y*(1-P)+q.y*P,radius:Y.radius*(1-P)+q.radius*P}});return Ut(et,p)}}let O=N.selectAll(".venn-area").data(h,k=>k.sets),B=O.enter().append("g").attr("class",k=>`venn-area venn-${k.sets.length==1?"circle":"intersection"}${k.colour||k.color?" venn-coloured":""}`).attr("data-venn-sets",k=>k.sets.join("_")),L=B.append("path"),F=B.append("text").attr("class","label").text(k=>V(k)).attr("text-anchor","middle").attr("dy",".35em").attr("x",s/2).attr("y",e/2);a&&(L.style("fill-opacity","0").filter(k=>k.sets.length==1).style("fill",k=>k.colour?k.colour:k.color?k.color:g(k.sets)).style("fill-opacity",".25"),F.style("fill",k=>k.colour||k.color?"#FFF":t.textFill?t.textFill:k.sets.length==1?g(k.sets):"#444"));function H(k){return typeof k.transition=="function"?k.transition("venn").duration(r):k}let j=x;C&&typeof j.transition=="function"?(j=H(x),j.selectAll("path").attrTween("d",E)):j.selectAll("path").attr("d",k=>Ut(k.sets.map(P=>I[P])),p);let z=j.selectAll("text").filter(k=>k.sets in R).text(k=>V(k)).attr("x",k=>Math.floor(R[k.sets].x)).attr("y",k=>Math.floor(R[k.sets].y));u&&(C?"on"in z?z.on("end",ut(I,V)):z.each("end",ut(I,V)):z.each(ut(I,V)));let X=H(O.exit()).remove();typeof O.transition=="function"&&X.selectAll("path").attrTween("d",E);let W=X.selectAll("text").attr("x",s/2).attr("y",e/2);return y!==null&&(F.style("font-size","0px"),z.style("font-size",y),W.style("font-size","0px")),{circles:I,textCentres:R,nodes:O,enter:B,update:j,exit:X}}return c.wrap=function(x){return arguments.length?(u=x,c):u},c.useViewBox=function(){return n=!0,c},c.width=function(x){return arguments.length?(s=x,c):s},c.height=function(x){return arguments.length?(e=x,c):e},c.padding=function(x){return arguments.length?(i=x,c):i},c.distinct=function(x){return arguments.length?(b=x,c):b},c.colours=function(x){return arguments.length?(g=x,c):g},c.colors=function(x){return arguments.length?(g=x,c):g},c.fontSize=function(x){return arguments.length?(y=x,c):y},c.round=function(x){return arguments.length?(p=x,c):p},c.duration=function(x){return arguments.length?(r=x,c):r},c.layoutFunction=function(x){return arguments.length?(m=x,c):m},c.normalize=function(x){return arguments.length?(l=x,c):l},c.scaleToFit=function(x){return arguments.length?(f=x,c):f},c.styled=function(x){return arguments.length?(a=x,c):a},c.orientation=function(x){return arguments.length?(o=x,c):o},c.orientationOrder=function(x){return arguments.length?(d=x,c):d},c.lossFunction=function(x){return arguments.length?(v=x==="default"?tt:x==="logRatio"?Xt:x,c):v},c}function ut(t,n){return function(s){let e=this,i=t[s.sets[0]].radius||50,r=n(s)||"",o=r.split(/\s+/).reverse(),f=(r.length+o.length)/3,u=o.pop(),a=[u],y=0,d=1.1;e.textContent=null;let b=[];function p(g){let m=e.ownerDocument.createElementNS(e.namespaceURI,"tspan");return m.textContent=g,b.push(m),e.append(m),m}let M=p(u);for(;u=o.pop(),!!u;){a.push(u);let g=a.join(" ");M.textContent=g,g.length>f&&M.getComputedTextLength()>i&&(a.pop(),M.textContent=a.join(" "),a=[u],M=p(u),y++)}let T=.35-y*d/2,_=e.getAttribute("x"),S=e.getAttribute("y");b.forEach((g,m)=>{g.setAttribute("x",_),g.setAttribute("y",S),g.setAttribute("dy",`${T+m*d}em`)})}}function ft(t,n,s){let e=n[0].radius-U(n[0],t);for(let i=1;i<n.length;++i){let r=n[i].radius-U(n[i],t);r<=e&&(e=r)}for(let i=0;i<s.length;++i){let r=U(s[i],t)-s[i].radius;r<=e&&(e=r)}return e}function ee(t,n,s){let e=[];for(let a of t)e.push({x:a.x,y:a.y}),e.push({x:a.x+a.radius/2,y:a.y}),e.push({x:a.x-a.radius/2,y:a.y}),e.push({x:a.x,y:a.y+a.radius/2}),e.push({x:a.x,y:a.y-a.radius/2});let i=e[0],r=ft(e[0],t,n);for(let a=1;a<e.length;++a){let y=ft(e[a],t,n);y>=r&&(i=e[a],r=y)}let o=Kt(a=>-1*ft({x:a[0],y:a[1]},t,n),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,l={x:s?0:o[0],y:o[1]},f=!0;for(let a of t)if(U(l,a)>a.radius){f=!1;break}for(let a of n)if(U(l,a)<a.radius){f=!1;break}if(f)return l;if(t.length==1)return{x:t[0].x,y:t[0].y};let u={};return rt(t,u),u.arcs.length===0?{x:0,y:-1e3,disjoint:!0}:u.arcs.length==1?{x:u.arcs[0].circle.x,y:u.arcs[0].circle.y}:n.length?ee(t,[]):Wt(u.arcs.map(a=>a.p1))}function Me(t){let n={},s=Object.keys(t);for(let e of s)n[e]=[];for(let e=0;e<s.length;e++){let i=s[e],r=t[i];for(let o=e+1;o<s.length;++o){let l=s[o],f=t[l],u=U(r,f);u+f.radius<=r.radius+1e-10?n[l].push(i):u+r.radius<=f.radius+1e-10&&n[i].push(l)}}return n}function ne(t,n,s){let e={},i=Me(t);for(let r=0;r<n.length;++r){let o=n[r].sets,l={},f={};for(let d=0;d<o.length;++d){l[o[d]]=!0;let b=i[o[d]];for(let p=0;p<b.length;++p)f[b[p]]=!0}let u=[],a=[];for(let d in t)d in l?u.push(t[d]):d in f||a.push(t[d]);let y=ee(u,a,s);e[o]=y,y.disjoint&&n[r].size>0&&console.log("WARNING: area "+o+" not represented on screen")}return e}function Se(t,n,s){let e=[];return e.push(`
|
|
2
|
+
M`,t,n),e.push(`
|
|
3
|
+
m`,-s,0),e.push(`
|
|
4
|
+
a`,s,s,0,1,0,s*2,0),e.push(`
|
|
5
|
+
a`,s,s,0,1,0,-s*2,0),e.join(" ")}function we(t){let n=t.split(" ");return{x:Number.parseFloat(n[1]),y:Number.parseFloat(n[2]),radius:-Number.parseFloat(n[4])}}function se(t){if(t.length===0)return[];let n={};return rt(t,n),n.arcs}function ie(t,n){if(t.length===0)return"M 0 0";let s=Math.pow(10,n||0),e=n!=null?r=>Math.round(r*s)/s:r=>r;if(t.length==1){let r=t[0].circle;return Se(e(r.x),e(r.y),e(r.radius))}let i=[`
|
|
6
|
+
M`,e(t[0].p2.x),e(t[0].p2.y)];for(let r of t){let o=e(r.circle.radius);i.push(`
|
|
7
|
+
A`,o,o,0,r.large?1:0,r.sweep?1:0,e(r.p1.x),e(r.p1.y))}return i.join(" ")}function Ut(t,n){return ie(se(t),n)}function re(t,n={}){let{lossFunction:s,layoutFunction:e=Ht,normalize:i=!0,orientation:r=Math.PI/2,orientationOrder:o,width:l=600,height:f=350,padding:u=15,scaleToFit:a=!1,symmetricalTextCentre:y=!1,distinct:d,round:b=2}=n,p=e(t,{lossFunction:s==="default"||!s?tt:s==="logRatio"?Xt:s,distinct:d});i&&(p=Zt(p,r,o));let M=Jt(p,l,f,u,a),T=ne(M,t,y),_=new Map(Object.keys(M).map(m=>[m,{set:m,x:M[m].x,y:M[m].y,radius:M[m].radius}])),S=t.map(m=>{let v=m.sets.map(h=>_.get(h)),c=se(v),x=ie(c,b);return{circles:v,arcs:c,path:x,area:m,has:new Set(m.sets)}});function g(m){let v="";for(let c of S)c.has.size>m.length&&m.every(x=>c.has.has(x))&&(v+=" "+c.path);return v}return S.map(({circles:m,arcs:v,path:c,area:x})=>({data:x,text:T[x.sets],circles:m,arcs:v,path:c,distinctPath:c+g(x.sets)}))}var bt=(function(){var t=w(function(S,g,m,v){for(m=m||{},v=S.length;v--;m[S[v]]=g);return m},"o"),n=[5,8],s=[7,8,11,12,17,19,22,24],e=[1,17],i=[1,18],r=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],o=[1,31],l=[1,39],f=[7,8,11,12,17,19,22,24,27],u=[1,57],a=[1,56],y=[1,58],d=[1,59],b=[1,60],p=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],M={trace:w(function(){},"trace"),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:"error",5:"VENN",7:"EOF",8:"NEWLINE",11:"TITLE",12:"SET",14:"BRACKET_LABEL",15:"COLON",16:"NUMERIC",17:"UNION",19:"TEXT",20:"IDENTIFIER",21:"STRING",22:"INDENT_TEXT",24:"STYLE",27:"COMMA",31:"HEXCOLOR",32:"RGBCOLOR",33:"RGBACOLOR"},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:w(function(g,m,v,c,x,h,D){var I=h.length-1;switch(x){case 1:return h[I-1];case 2:case 3:case 4:this.$=[];break;case 5:h[I-1].push(h[I]),this.$=h[I-1];break;case 6:this.$=[];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:this.$=h[I];break;case 8:c.setDiagramTitle(h[I].substr(6)),this.$=h[I].substr(6);break;case 9:c.addSubsetData([h[I]],void 0,void 0),c.setIndentMode&&c.setIndentMode(!0);break;case 10:c.addSubsetData([h[I-1]],h[I],void 0),c.setIndentMode&&c.setIndentMode(!0);break;case 11:c.addSubsetData([h[I-2]],void 0,parseFloat(h[I])),c.setIndentMode&&c.setIndentMode(!0);break;case 12:c.addSubsetData([h[I-3]],h[I-2],parseFloat(h[I])),c.setIndentMode&&c.setIndentMode(!0);break;case 13:if(h[I].length<2)throw new Error("union requires multiple identifiers");c.validateUnionIdentifiers&&c.validateUnionIdentifiers(h[I]),c.addSubsetData(h[I],void 0,void 0),c.setIndentMode&&c.setIndentMode(!0);break;case 14:if(h[I-1].length<2)throw new Error("union requires multiple identifiers");c.validateUnionIdentifiers&&c.validateUnionIdentifiers(h[I-1]),c.addSubsetData(h[I-1],h[I],void 0),c.setIndentMode&&c.setIndentMode(!0);break;case 15:if(h[I-2].length<2)throw new Error("union requires multiple identifiers");c.validateUnionIdentifiers&&c.validateUnionIdentifiers(h[I-2]),c.addSubsetData(h[I-2],void 0,parseFloat(h[I])),c.setIndentMode&&c.setIndentMode(!0);break;case 16:if(h[I-3].length<2)throw new Error("union requires multiple identifiers");c.validateUnionIdentifiers&&c.validateUnionIdentifiers(h[I-3]),c.addSubsetData(h[I-3],h[I-2],parseFloat(h[I])),c.setIndentMode&&c.setIndentMode(!0);break;case 17:case 18:case 19:c.addTextData(h[I-1],h[I],void 0);break;case 20:case 21:c.addTextData(h[I-2],h[I-1],h[I]);break;case 23:c.addStyleData(h[I-1],h[I]);break;case 24:case 25:case 26:var R=c.getCurrentSets();if(!R)throw new Error("text requires set");c.addTextData(R,h[I],void 0);break;case 27:case 28:var R=c.getCurrentSets();if(!R)throw new Error("text requires set");c.addTextData(R,h[I-1],h[I]);break;case 29:case 41:this.$=[h[I]];break;case 30:case 42:this.$=[...h[I-2],h[I]];break;case 31:this.$=[h[I-2],h[I]];break;case 33:this.$=h[I].join(" ");break;case 34:this.$=[h[I]];break;case 35:h[I-1].push(h[I]),this.$=h[I-1];break;case 43:case 44:this.$=h[I];break}},"anonymous"),table:[t(n,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},t(s,[2,4],{6:5}),t(n,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},t(s,[2,5]),t(s,[2,6]),t(s,[2,7]),t(s,[2,8]),{13:16,20:e,21:i},{13:20,18:19,20:e,21:i},{13:20,18:21,20:e,21:i},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:e,21:i},t(s,[2,9],{14:[1,27],15:[1,28]}),t(r,[2,43]),t(r,[2,44]),t(s,[2,13],{14:[1,29],15:[1,30],27:o}),t(r,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:o},t(s,[2,22]),t(s,[2,24],{14:[1,35]}),t(s,[2,25],{14:[1,36]}),t(s,[2,26]),{20:l,25:37,26:38,27:o},t(s,[2,10],{15:[1,40]}),{16:[1,41]},t(s,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:e,21:i},t(s,[2,17],{14:[1,45]}),t(s,[2,18],{14:[1,46]}),t(s,[2,19]),t(s,[2,27]),t(s,[2,28]),t(s,[2,23],{27:[1,47]}),t(f,[2,29]),{15:[1,48]},{16:[1,49]},t(s,[2,11]),{16:[1,50]},t(s,[2,15]),t(r,[2,42]),t(s,[2,20]),t(s,[2,21]),{20:l,26:51},{16:u,20:a,21:[1,53],28:52,29:54,30:55,31:y,32:d,33:b},t(s,[2,12]),t(s,[2,16]),t(f,[2,30]),t(f,[2,31]),t(f,[2,32]),t(f,[2,33],{30:61,16:u,20:a,31:y,32:d,33:b}),t(p,[2,34]),t(p,[2,36]),t(p,[2,37]),t(p,[2,38]),t(p,[2,39]),t(p,[2,40]),t(p,[2,35])],defaultActions:{6:[2,1]},parseError:w(function(g,m){if(m.recoverable)this.trace(g);else{var v=new Error(g);throw v.hash=m,v}},"parseError"),parse:w(function(g){var m=this,v=[0],c=[],x=[null],h=[],D=this.table,I="",R=0,G=0,V=0,N=2,A=1,C=h.slice.call(arguments,1),E=Object.create(this.lexer),O={yy:{}};for(var B in this.yy)Object.prototype.hasOwnProperty.call(this.yy,B)&&(O.yy[B]=this.yy[B]);E.setInput(g,O.yy),O.yy.lexer=E,O.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var L=E.yylloc;h.push(L);var F=E.options&&E.options.ranges;typeof O.yy.parseError=="function"?this.parseError=O.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function H(K){v.length=v.length-2*K,x.length=x.length-K,h.length=h.length-K}w(H,"popStack");function j(){var K;return K=c.pop()||E.lex()||A,typeof K!="number"&&(K instanceof Array&&(c=K,K=c.pop()),K=m.symbols_[K]||K),K}w(j,"lex");for(var z,X,W,k,P,et,Z={},Y,q,_t,st;;){if(W=v[v.length-1],this.defaultActions[W]?k=this.defaultActions[W]:((z===null||typeof z>"u")&&(z=j()),k=D[W]&&D[W][z]),typeof k>"u"||!k.length||!k[0]){var at="";st=[];for(Y in D[W])this.terminals_[Y]&&Y>N&&st.push("'"+this.terminals_[Y]+"'");E.showPosition?at="Parse error on line "+(R+1)+`:
|
|
8
|
+
`+E.showPosition()+`
|
|
9
|
+
Expecting `+st.join(", ")+", got '"+(this.terminals_[z]||z)+"'":at="Parse error on line "+(R+1)+": Unexpected "+(z==A?"end of input":"'"+(this.terminals_[z]||z)+"'"),this.parseError(at,{text:E.match,token:this.terminals_[z]||z,line:E.yylineno,loc:L,expected:st})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+W+", token: "+z);switch(k[0]){case 1:v.push(z),x.push(E.yytext),h.push(E.yylloc),v.push(k[1]),z=null,X?(z=X,X=null):(G=E.yyleng,I=E.yytext,R=E.yylineno,L=E.yylloc,V>0&&V--);break;case 2:if(q=this.productions_[k[1]][1],Z.$=x[x.length-q],Z._$={first_line:h[h.length-(q||1)].first_line,last_line:h[h.length-1].last_line,first_column:h[h.length-(q||1)].first_column,last_column:h[h.length-1].last_column},F&&(Z._$.range=[h[h.length-(q||1)].range[0],h[h.length-1].range[1]]),et=this.performAction.apply(Z,[I,G,R,O.yy,k[1],x,h].concat(C)),typeof et<"u")return et;q&&(v=v.slice(0,-1*q*2),x=x.slice(0,-1*q),h=h.slice(0,-1*q)),v.push(this.productions_[k[1]][0]),x.push(Z.$),h.push(Z._$),_t=D[v[v.length-2]][v[v.length-1]],v.push(_t);break;case 3:return!0}}return!0},"parse")},T=(function(){var S={EOF:1,parseError:w(function(m,v){if(this.yy.parser)this.yy.parser.parseError(m,v);else throw new Error(m)},"parseError"),setInput:w(function(g,m){return this.yy=m||this.yy||{},this._input=g,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:w(function(){var g=this._input[0];this.yytext+=g,this.yyleng++,this.offset++,this.match+=g,this.matched+=g;var m=g.match(/(?:\r\n?|\n).*/g);return m?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),g},"input"),unput:w(function(g){var m=g.length,v=g.split(/(?:\r\n?|\n)/g);this._input=g+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var c=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),v.length-1&&(this.yylineno-=v.length-1);var x=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:v?(v.length===c.length?this.yylloc.first_column:0)+c[c.length-v.length].length-v[0].length:this.yylloc.first_column-m},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-m]),this.yyleng=this.yytext.length,this},"unput"),more:w(function(){return this._more=!0,this},"more"),reject:w(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
10
|
+
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:w(function(g){this.unput(this.match.slice(g))},"less"),pastInput:w(function(){var g=this.matched.substr(0,this.matched.length-this.match.length);return(g.length>20?"...":"")+g.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:w(function(){var g=this.match;return g.length<20&&(g+=this._input.substr(0,20-g.length)),(g.substr(0,20)+(g.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:w(function(){var g=this.pastInput(),m=new Array(g.length+1).join("-");return g+this.upcomingInput()+`
|
|
11
|
+
`+m+"^"},"showPosition"),test_match:w(function(g,m){var v,c,x;if(this.options.backtrack_lexer&&(x={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(x.yylloc.range=this.yylloc.range.slice(0))),c=g[0].match(/(?:\r\n?|\n).*/g),c&&(this.yylineno+=c.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:c?c[c.length-1].length-c[c.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+g[0].length},this.yytext+=g[0],this.match+=g[0],this.matches=g,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(g[0].length),this.matched+=g[0],v=this.performAction.call(this,this.yy,this,m,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),v)return v;if(this._backtrack){for(var h in x)this[h]=x[h];return!1}return!1},"test_match"),next:w(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var g,m,v,c;this._more||(this.yytext="",this.match="");for(var x=this._currentRules(),h=0;h<x.length;h++)if(v=this._input.match(this.rules[x[h]]),v&&(!m||v[0].length>m[0].length)){if(m=v,c=h,this.options.backtrack_lexer){if(g=this.test_match(v,x[h]),g!==!1)return g;if(this._backtrack){m=!1;continue}else return!1}else if(!this.options.flex)break}return m?(g=this.test_match(m,x[c]),g!==!1?g:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
|
|
12
|
+
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:w(function(){var m=this.next();return m||this.lex()},"lex"),begin:w(function(m){this.conditionStack.push(m)},"begin"),popState:w(function(){var m=this.conditionStack.length-1;return m>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:w(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:w(function(m){return m=this.conditionStack.length-1-Math.abs(m||0),m>=0?this.conditionStack[m]:"INITIAL"},"topState"),pushState:w(function(m){this.begin(m)},"pushState"),stateStackSize:w(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:w(function(m,v,c,x){var h=x;switch(c){case 0:break;case 1:break;case 2:break;case 3:if(m.getIndentMode&&m.getIndentMode())return m.consumeIndentText=!0,this.begin("INITIAL"),22;break;case 4:break;case 5:m.setIndentMode&&m.setIndentMode(!1),this.begin("INITIAL"),this.unput(v.yytext);break;case 6:return this.begin("bol"),8;break;case 7:break;case 8:break;case 9:return 7;case 10:return 11;case 11:return 5;case 12:return 12;case 13:return 17;case 14:if(m.consumeIndentText)m.consumeIndentText=!1;else return 19;break;case 15:return 24;case 16:return v.yytext=v.yytext.slice(2,-2),14;break;case 17:return v.yytext=v.yytext.slice(1,-1).trim(),14;break;case 18:return 16;case 19:return 31;case 20:return 33;case 21:return 32;case 22:return 20;case 23:return 21;case 24:return 27;case 25:return 15}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[ \t]+(?=[\n\r]))/i,/^(?:[ \t]+(?=text\b))/i,/^(?:[ \t]+)/i,/^(?:[^ \t\n\r])/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[ \t]+)/i,/^(?:$)/i,/^(?:title\s[^#\n;]+)/i,/^(?:venn-beta\b)/i,/^(?:set\b)/i,/^(?:union\b)/i,/^(?:text\b)/i,/^(?:style\b)/i,/^(?:\["[^\"]*"\])/i,/^(?:\[[^\]\"]+\])/i,/^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,/^(?:#[0-9a-fA-F]{3,8})/i,/^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:"[^\"]*")/i,/^(?:,)/i,/^(?::)/i],conditions:{bol:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0},INITIAL:{rules:[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}};return S})();M.lexer=T;function _(){this.yy={}}return w(_,"Parser"),_.prototype=M,M.Parser=_,new _})();bt.parser=bt;var Ee=bt,vt=[],kt=[],It=[],Mt=new Set,St,wt=!1,Te=w((t,n,s)=>{let e=ot(t).sort(),i=s??10/Math.pow(t.length,2);St=e,e.length===1&&Mt.add(e[0]),vt.push({sets:e,size:i,label:n?nt(n):void 0})},"addSubsetData"),ze=w(()=>vt,"getSubsetData"),nt=w(t=>{let n=t.trim();return n.length>=2&&n.startsWith('"')&&n.endsWith('"')?n.slice(1,-1):n},"normalizeText"),Ae=w(t=>t&&nt(t),"normalizeStyleValue"),De=w((t,n,s)=>{let e=nt(n);kt.push({sets:ot(t).sort(),id:e,label:s?nt(s):void 0})},"addTextData"),Re=w((t,n)=>{let s=ot(t).sort(),e={};for(let[i,r]of n)e[i]=Ae(r)??r;It.push({targets:s,styles:e})},"addStyleData"),Ce=w(()=>It,"getStyleData"),ot=w(t=>t.map(n=>nt(n)),"normalizeIdentifierList"),Ne=w(t=>{let s=ot(t).filter(e=>!Mt.has(e));if(s.length>0)throw new Error(`unknown set identifier: ${s.join(", ")}`)},"validateUnionIdentifiers"),Oe=w(()=>kt,"getTextData"),Le=w(()=>St,"getCurrentSets"),Fe=w(()=>wt,"getIndentMode"),je=w(t=>{wt=t},"setIndentMode"),Pe=At.venn;function oe(){return Vt(Pe,ct().venn)}w(oe,"getConfig");var Ve=w(()=>{Rt(),vt.length=0,kt.length=0,It.length=0,Mt.clear(),St=void 0,wt=!1},"customClear"),Be={getConfig:oe,clear:Ve,setAccTitle:Ct,getAccTitle:Nt,setDiagramTitle:Ft,getDiagramTitle:jt,getAccDescription:Lt,setAccDescription:Ot,addSubsetData:Te,getSubsetData:ze,addTextData:De,addStyleData:Re,validateUnionIdentifiers:Ne,getTextData:Oe,getStyleData:Ce,getCurrentSets:Le,getIndentMode:Fe,setIndentMode:je},qe=w(t=>`
|
|
13
|
+
.venn-title {
|
|
14
|
+
font-size: 32px;
|
|
15
|
+
fill: ${t.vennTitleTextColor};
|
|
16
|
+
font-family: ${t.fontFamily};
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.venn-circle text {
|
|
20
|
+
font-size: 48px;
|
|
21
|
+
font-family: ${t.fontFamily};
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.venn-intersection text {
|
|
25
|
+
font-size: 48px;
|
|
26
|
+
fill: ${t.vennSetTextColor};
|
|
27
|
+
font-family: ${t.fontFamily};
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.venn-text-node {
|
|
31
|
+
font-family: ${t.fontFamily};
|
|
32
|
+
color: ${t.vennSetTextColor};
|
|
33
|
+
}
|
|
34
|
+
`,"getStyles"),Ue=qe;function ae(t){let n=new Map;for(let s of t){let e=s.targets.join("|"),i=n.get(e);i?Object.assign(i,s.styles):n.set(e,{...s.styles})}return n}w(ae,"buildStyleByKey");var Ge=w((t,n,s,e)=>{let i=e.db,r=i.getConfig?.(),{themeVariables:o,look:l,handDrawnSeed:f}=ct(),u=l==="handDrawn",a=[o.venn1,o.venn2,o.venn3,o.venn4,o.venn5,o.venn6,o.venn7,o.venn8].filter(Boolean),y=i.getDiagramTitle?.(),d=i.getSubsetData(),b=i.getTextData(),p=ae(i.getStyleData()),M=ce(d),T=r?.width??800,_=r?.height??450,g=T/1600,m=y?48*g:0,v=o.primaryTextColor??o.textColor,c=Pt(n);c.attr("viewBox",`0 0 ${T} ${_}`),y&&c.append("text").text(y).attr("class","venn-title").attr("font-size",`${32*g}px`).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("x","50%").attr("y",32*g).style("fill",o.vennTitleTextColor||o.titleColor);let x=it(document.createElement("div")),h=te().width(T).height(_-m);x.datum(M).call(h);let D=u?Bt.svg(x.select("svg").node()):void 0,I=re(M,{width:T,height:_-m,padding:r?.padding??15}),R=new Map;for(let A of I){let C=Q([...A.data.sets].sort());R.set(C,A)}b.length>0&&le(r,R,x,b,g,p);let G=Et(o.background||"#f4f4f4");x.selectAll(".venn-circle").each(function(A,C){let E=it(this),B=Q([...A.sets].sort()),L=p.get(B),F=L?.fill||a[C%a.length]||o.primaryColor;E.classed(`venn-set-${C%8}`,!0);let H=L?.["fill-opacity"]??.1,j=L?.stroke||F,z=L?.["stroke-width"]||`${5*g}`;if(u&&D){let W=R.get(B);if(W&&W.circles.length>0){let k=W.circles[0],P=D.circle(k.x,k.y,k.radius*2,{roughness:.7,seed:f,fill:lt(F,.7),fillStyle:"hachure",fillWeight:2,hachureGap:8,hachureAngle:-41+C*60,stroke:j,strokeWidth:parseFloat(String(z))});E.select("path").remove(),E.node()?.insertBefore(P,E.select("text").node())}}else E.select("path").style("fill",F).style("fill-opacity",H).style("stroke",j).style("stroke-width",z).style("stroke-opacity",.95);let X=L?.color||(G?Tt(F,30):zt(F,30));E.select("text").style("font-size",`${48*g}px`).style("fill",X)}),u&&D?x.selectAll(".venn-intersection").each(function(A){let C=it(this),O=Q([...A.sets].sort()),B=p.get(O),L=B?.fill;if(L){let F=C.select("path"),H=F.attr("d");if(H){let j=D.path(H,{roughness:.7,seed:f,fill:lt(L,.3),fillStyle:"cross-hatch",fillWeight:2,hachureGap:6,hachureAngle:60,stroke:"none"}),z=F.node();z?.parentNode?.insertBefore(j,z),F.remove()}}else C.select("path").style("fill-opacity",0);C.select("text").style("font-size",`${48*g}px`).style("fill",B?.color??o.vennSetTextColor??v)}):(x.selectAll(".venn-intersection text").style("font-size",`${48*g}px`).style("fill",A=>{let E=Q([...A.sets].sort());return p.get(E)?.color??o.vennSetTextColor??v}),x.selectAll(".venn-intersection path").style("fill-opacity",A=>{let E=Q([...A.sets].sort());return p.get(E)?.fill?1:0}).style("fill",A=>{let E=Q([...A.sets].sort());return p.get(E)?.fill??"transparent"}));let V=c.append("g").attr("transform",`translate(0, ${m})`),N=x.select("svg").node();if(N&&"childNodes"in N)for(let A of[...N.childNodes])V.node()?.appendChild(A);Dt(c,_,T,r?.useMaxWidth??!0)},"draw");function Q(t){return t.join("|")}w(Q,"stableSetsKey");function le(t,n,s,e,i,r){let o=t?.useDebugLayout??!1,f=s.select("svg").append("g").attr("class","venn-text-nodes"),u=new Map;for(let a of e){let y=Q(a.sets),d=u.get(y);d?d.push(a):u.set(y,[a])}for(let[a,y]of u.entries()){let d=n.get(a);if(!d?.text)continue;let b=d.text.x,p=d.text.y,M=Math.min(...d.circles.map(N=>N.radius)),T=Math.min(...d.circles.map(N=>N.radius-Math.hypot(b-N.x,p-N.y))),_=Number.isFinite(T)?Math.max(0,T):0;_===0&&Number.isFinite(M)&&(_=M*.6);let S=f.append("g").attr("class","venn-text-area").attr("font-size",`${40*i}px`);o&&S.append("circle").attr("class","venn-text-debug-circle").attr("cx",b).attr("cy",p).attr("r",_).attr("fill","none").attr("stroke","purple").attr("stroke-width",1.5*i).attr("stroke-dasharray",`${6*i} ${4*i}`);let g=Math.max(80*i,_*2*.95),m=Math.max(60*i,_*2*.95),x=(d.data.label&&d.data.label.length>0?Math.min(32*i,_*.25):0)+(y.length<=2?30*i:0),h=b-g/2,D=p-m/2+x,I=Math.max(1,Math.ceil(Math.sqrt(y.length))),R=Math.max(1,Math.ceil(y.length/I)),G=g/I,V=m/R;for(let[N,A]of y.entries()){let C=N%I,E=Math.floor(N/I),O=h+G*(C+.5),B=D+V*(E+.5);o&&S.append("rect").attr("class","venn-text-debug-cell").attr("x",h+G*C).attr("y",D+V*E).attr("width",G).attr("height",V).attr("fill","none").attr("stroke","teal").attr("stroke-width",1*i).attr("stroke-dasharray",`${4*i} ${3*i}`);let L=G*.9,F=V*.9,H=S.append("foreignObject").attr("class","venn-text-node-fo").attr("width",L).attr("height",F).attr("x",O-L/2).attr("y",B-F/2).attr("overflow","visible"),j=r.get(A.id)?.color,z=H.append("xhtml:span").attr("class","venn-text-node").style("display","flex").style("width","100%").style("height","100%").style("white-space","normal").style("align-items","center").style("justify-content","center").style("text-align","center").style("overflow-wrap","normal").style("word-break","normal").text(A.label??A.id);j&&z.style("color",j)}}}w(le,"renderTextNodes");function ce(t){let n=new Set(t.map(i=>[...i.sets].sort().join("|"))),s=new Map(t.filter(i=>i.sets.length===1&&i.size!==void 0).map(i=>[i.sets[0],i.size])),e=[];for(let i of t){if(i.sets.length<3)continue;let r=[...i.sets].sort();for(let o=0;o<r.length-1;o++)for(let l=o+1;l<r.length;l++){let f=[r[o],r[l]],u=f.join("|");if(!n.has(u)){n.add(u);let a=s.get(f[0]),y=s.get(f[1]),d=a!==void 0&&y!==void 0?Math.min(a,y)/4:2.5;e.push({sets:f,size:d,label:""})}}}return e.length>0?[...t,...e]:t}w(ce,"ensurePairwiseSubsets");var We={draw:Ge},tn={parser:Ee,db:Be,renderer:We,styles:Ue};export{tn as diagram};
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import{a as et}from"./chunk-5V7ZY2AP.js";import{b as Je,c as $e}from"./chunk-LS4EJ2EI.js";import{a as tt}from"./chunk-YVBA3QW6.js";import"./chunk-MD3HMMTK.js";import"./chunk-25XV6UY3.js";import"./chunk-FDVKYQJN.js";import"./chunk-R6P6EHWA.js";import"./chunk-4QDE4SUK.js";import"./chunk-R4YVZCIT.js";import"./chunk-UMH2TSW2.js";import"./chunk-ZTRZIET2.js";import{p as Qe,s as Xe}from"./chunk-PTBOP4OT.js";import"./chunk-44P66WFA.js";import{N as Pe,T as ze,U as Ue,V as Ke,W as Ze,X as je,Y as qe,Z as We,_ as K,a as Fe,b as Ye}from"./chunk-TL3HLL2S.js";import{b as R,h as He}from"./chunk-SRORWQJZ.js";import{a as b,b as Ge}from"./chunk-XOYVR3SV.js";import"./chunk-RJ2R4FVC.js";var xe=(function(){var s=b(function(F,n,c,d){for(c=c||{},d=F.length;d--;c[F[d]]=n);return c},"o"),a=[6,9,21,23,25,27,34,37,38,39,40,41,43,46,47,51,53,54,55],o=[2,2],l=[1,7],r=[1,9],h=[1,10],g=[1,11],f=[1,12],_=[1,30],v=[1,23],p=[1,24],k=[1,25],C=[1,26],D=[1,27],O=[1,19],x=[1,28],A=[1,29],N=[1,20],L=[1,18],w=[1,21],V=[1,22],Ne=[2,6],u=[6,9,21,23,25,27,33,34,37,38,39,40,41,43,46,47,51,53,54,55],be=[1,36],pe=[1,37],fe=[1,38],ke=[1,39],ge=[1,40],j=[6,9,12,14,16,19,20,21,23,25,27,33,34,37,38,39,40,41,43,46,47,50,51,53,54,55,69,70,71,72,73],M=[1,46],B=[1,47],q=[1,57],W=[43,51,53,54,55,74,75],H=[1,70],Q=[1,68],G=[1,65],X=[1,69],J=[1,71],te=[6,9,12,16,21,23,25,27,33,34,37,38,39,40,41,43,44,45,46,47,51,52,53,54,55,69,70,71,72,73],se=[1,78],ie=[1,77],re=[1,76],Ce=[69,70,71,72,73],Ae=[1,91],Ie=[6,9,45,50],z=[6,9,12,44,45,50,51,52],ae=[1,101],ne=[1,100],oe=[1,99],$=[18,61],Re=[1,110],ve=[1,109],De=[20,43,51,53,54,55],ye=[18,61,64,66],_e={trace:b(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,statement:8,NEWLINE:9,entityName:10,relSpec:11,COLON:12,role:13,STYLE_SEPARATOR:14,idList:15,BLOCK_START:16,attributes:17,BLOCK_STOP:18,SQS:19,SQE:20,title:21,title_value:22,acc_title:23,acc_title_value:24,acc_descr:25,acc_descr_value:26,acc_descr_multiline_value:27,direction:28,classDefStatement:29,classStatement:30,styleStatement:31,subgraphHeader:32,END:33,SUBGRAPH:34,separator:35,subgraphTitle:36,direction_tb:37,direction_bt:38,direction_rl:39,direction_lr:40,CLASSDEF:41,stylesOpt:42,UNICODE_TEXT:43,STYLE_TEXT:44,COMMA:45,CLASS:46,STYLE:47,style:48,styleComponent:49,SEMI:50,NUM:51,BRKT:52,ENTITY_NAME:53,DECIMAL_NUM:54,ENTITY_ONE:55,attribute:56,attributeType:57,attributeName:58,attributeKeyTypeList:59,attributeComment:60,ATTRIBUTE_WORD:61,"?":62,attributeKeyType:63,",":64,ATTRIBUTE_KEY:65,COMMENT:66,cardinality:67,relType:68,ZERO_OR_ONE:69,ZERO_OR_MORE:70,ONE_OR_MORE:71,ONLY_ONE:72,MD_PARENT:73,NON_IDENTIFYING:74,IDENTIFYING:75,WORD:76,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",9:"NEWLINE",12:"COLON",14:"STYLE_SEPARATOR",16:"BLOCK_START",18:"BLOCK_STOP",19:"SQS",20:"SQE",21:"title",22:"title_value",23:"acc_title",24:"acc_title_value",25:"acc_descr",26:"acc_descr_value",27:"acc_descr_multiline_value",33:"END",34:"SUBGRAPH",37:"direction_tb",38:"direction_bt",39:"direction_rl",40:"direction_lr",41:"CLASSDEF",43:"UNICODE_TEXT",44:"STYLE_TEXT",45:"COMMA",46:"CLASS",47:"STYLE",50:"SEMI",51:"NUM",52:"BRKT",53:"ENTITY_NAME",54:"DECIMAL_NUM",55:"ENTITY_ONE",61:"ATTRIBUTE_WORD",62:"?",64:",",65:"ATTRIBUTE_KEY",66:"COMMENT",69:"ZERO_OR_ONE",70:"ZERO_OR_MORE",71:"ONE_OR_MORE",72:"ONLY_ONE",73:"MD_PARENT",74:"NON_IDENTIFYING",75:"IDENTIFYING",76:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[7,1],[8,5],[8,9],[8,7],[8,7],[8,4],[8,6],[8,3],[8,5],[8,1],[8,3],[8,7],[8,9],[8,6],[8,8],[8,4],[8,6],[8,2],[8,2],[8,2],[8,1],[8,1],[8,1],[8,1],[8,1],[8,3],[32,3],[32,6],[36,1],[36,2],[28,1],[28,1],[28,1],[28,1],[29,4],[15,1],[15,1],[15,3],[15,3],[30,3],[31,4],[42,1],[42,3],[48,1],[48,2],[35,1],[35,1],[35,1],[49,1],[49,1],[49,1],[49,1],[10,1],[10,1],[10,1],[10,1],[10,1],[17,1],[17,2],[56,2],[56,3],[56,3],[56,4],[57,1],[57,2],[58,1],[59,1],[59,3],[63,1],[60,1],[11,3],[67,1],[67,1],[67,1],[67,1],[67,1],[68,1],[68,1],[13,1],[13,1],[13,1]],performAction:b(function(n,c,d,i,y,e,ee){var t=e.length-1;switch(y){case 1:break;case 2:this.$=[];break;case 3:this.$=e[t-1].concat(e[t]);break;case 4:this.$=e[t];break;case 5:case 6:this.$=[];break;case 7:i.addEntity(e[t-4]),i.addEntity(e[t-2]),i.addRelationship(e[t-4],e[t],e[t-2],e[t-3]),this.$=[e[t-4],e[t-2]];break;case 8:i.addEntity(e[t-8]),i.addEntity(e[t-4]),i.addRelationship(e[t-8],e[t],e[t-4],e[t-5]),i.setClass([e[t-8]],e[t-6]),i.setClass([e[t-4]],e[t-2]),this.$=[e[t-8],e[t-4]];break;case 9:i.addEntity(e[t-6]),i.addEntity(e[t-2]),i.addRelationship(e[t-6],e[t],e[t-2],e[t-3]),i.setClass([e[t-6]],e[t-4]),this.$=[e[t-6],e[t-2]];break;case 10:i.addEntity(e[t-6]),i.addEntity(e[t-4]),i.addRelationship(e[t-6],e[t],e[t-4],e[t-5]),i.setClass([e[t-4]],e[t-2]),this.$=[e[t-6],e[t-4]];break;case 11:i.addEntity(e[t-3]),i.addAttributes(e[t-3],e[t-1]),this.$=[e[t-3]];break;case 12:i.addEntity(e[t-5]),i.addAttributes(e[t-5],e[t-1]),i.setClass([e[t-5]],e[t-3]),this.$=[e[t-5]];break;case 13:i.addEntity(e[t-2]),this.$=[e[t-2]];break;case 14:i.addEntity(e[t-4]),i.setClass([e[t-4]],e[t-2]),this.$=[e[t-4]];break;case 15:i.addEntity(e[t]),this.$=[e[t]];break;case 16:i.addEntity(e[t-2]),i.setClass([e[t-2]],e[t]),this.$=[e[t-2]];break;case 17:i.addEntity(e[t-6],e[t-4]),i.addAttributes(e[t-6],e[t-1]),this.$=[e[t-6]];break;case 18:i.addEntity(e[t-8],e[t-6]),i.addAttributes(e[t-8],e[t-1]),i.setClass([e[t-8]],e[t-3]),this.$=[e[t-8]];break;case 19:i.addEntity(e[t-5],e[t-3]),this.$=[e[t-5]];break;case 20:i.addEntity(e[t-7],e[t-5]),i.setClass([e[t-7]],e[t-2]),this.$=[e[t-7]];break;case 21:i.addEntity(e[t-3],e[t-1]);break;case 22:i.addEntity(e[t-5],e[t-3]),i.setClass([e[t-5]],e[t]);break;case 23:case 24:this.$=e[t].trim(),i.setAccTitle(this.$);break;case 25:case 26:this.$=e[t].trim(),i.setAccDescription(this.$);break;case 27:i.subgraphDepth?this.$=e[t]:(i.setDirection(e[t].value),this.$=[]);break;case 31:i.subgraphDepth=(i.subgraphDepth||1)-1,this.$=i.addSubGraph({text:e[t-2].id},e[t-1],{text:e[t-2].text});break;case 32:i.subgraphDepth=(i.subgraphDepth||0)+1,this.$={id:e[t-1],text:e[t-1]};break;case 33:i.subgraphDepth=(i.subgraphDepth||0)+1,this.$={id:e[t-4],text:e[t-2]};break;case 34:case 59:case 60:case 61:case 62:case 86:this.$=e[t];break;case 35:this.$=e[t-1]+" "+e[t];break;case 36:this.$={stmt:"dir",value:"TB"};break;case 37:this.$={stmt:"dir",value:"BT"};break;case 38:this.$={stmt:"dir",value:"RL"};break;case 39:this.$={stmt:"dir",value:"LR"};break;case 40:this.$=e[t-3],i.addClass(e[t-2],e[t-1]);break;case 41:case 42:case 63:case 72:this.$=[e[t]];break;case 43:case 44:this.$=e[t-2].concat([e[t]]);break;case 45:this.$=e[t-2],i.setClass(e[t-1],e[t]);break;case 46:this.$=e[t-3],i.addCssStyles(e[t-2],e[t-1]);break;case 47:this.$=[e[t]];break;case 48:e[t-2].push(e[t]),this.$=e[t-2];break;case 50:this.$=e[t-1]+e[t];break;case 58:case 84:case 85:this.$=e[t].replace(/"/g,"");break;case 64:e[t].push(e[t-1]),this.$=e[t];break;case 65:this.$={type:e[t-1],name:e[t]};break;case 66:this.$={type:e[t-2],name:e[t-1],keys:e[t]};break;case 67:this.$={type:e[t-2],name:e[t-1],comment:e[t]};break;case 68:this.$={type:e[t-3],name:e[t-2],keys:e[t-1],comment:e[t]};break;case 69:case 71:case 74:this.$=e[t];break;case 70:this.$=e[t-1]+e[t];break;case 73:e[t-2].push(e[t]),this.$=e[t-2];break;case 75:this.$=e[t].replace(/"/g,"");break;case 76:this.$={cardA:e[t],relType:e[t-1],cardB:e[t-2]};break;case 77:this.$=i.Cardinality.ZERO_OR_ONE;break;case 78:this.$=i.Cardinality.ZERO_OR_MORE;break;case 79:this.$=i.Cardinality.ONE_OR_MORE;break;case 80:this.$=i.Cardinality.ONLY_ONE;break;case 81:this.$=i.Cardinality.MD_PARENT;break;case 82:this.$=i.Identification.NON_IDENTIFYING;break;case 83:this.$=i.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},s(a,o,{5:3}),{6:[1,4],7:5,8:6,9:l,10:8,21:r,23:h,25:g,27:f,28:13,29:14,30:15,31:16,32:17,34:_,37:v,38:p,39:k,40:C,41:D,43:O,46:x,47:A,51:N,53:L,54:w,55:V},s(a,Ne,{1:[2,1]}),s(u,[2,3]),s(u,[2,4]),s(u,[2,5]),s(u,[2,15],{11:31,67:35,14:[1,32],16:[1,33],19:[1,34],69:be,70:pe,71:fe,72:ke,73:ge}),{22:[1,41]},{24:[1,42]},{26:[1,43]},s(u,[2,26]),s(u,[2,27]),s(u,[2,28]),s(u,[2,29]),s(u,[2,30]),s(u,o,{5:44}),s(j,[2,58]),s(j,[2,59]),s(j,[2,60]),s(j,[2,61]),s(j,[2,62]),s(u,[2,36]),s(u,[2,37]),s(u,[2,38]),s(u,[2,39]),{15:45,43:M,44:B},{15:48,43:M,44:B},{15:49,43:M,44:B},{10:50,43:O,51:N,53:L,54:w,55:V},{10:51,43:O,51:N,53:L,54:w,55:V},{15:52,43:M,44:B},{17:53,18:[1,54],56:55,57:56,61:q},{10:58,43:O,51:N,53:L,54:w,55:V},{68:59,74:[1,60],75:[1,61]},s(W,[2,77]),s(W,[2,78]),s(W,[2,79]),s(W,[2,80]),s(W,[2,81]),s(u,[2,23]),s(u,[2,24]),s(u,[2,25]),{6:[1,63],7:5,8:6,9:l,10:8,21:r,23:h,25:g,27:f,28:13,29:14,30:15,31:16,32:17,33:[1,62],34:_,37:v,38:p,39:k,40:C,41:D,43:O,46:x,47:A,51:N,53:L,54:w,55:V},{12:H,42:64,44:Q,45:G,48:66,49:67,51:X,52:J},s(te,[2,41]),s(te,[2,42]),{15:72,43:M,44:B,45:G},{12:H,42:73,44:Q,45:G,48:66,49:67,51:X,52:J},{6:se,9:ie,19:[1,75],35:74,50:re},{12:[1,79],14:[1,80]},s(u,[2,16],{67:35,11:81,16:[1,82],45:G,69:be,70:pe,71:fe,72:ke,73:ge}),{18:[1,83]},s(u,[2,13]),{17:84,18:[2,63],56:55,57:56,61:q},{58:85,61:[1,86]},{61:[2,69],62:[1,87]},{20:[1,88]},{67:89,69:be,70:pe,71:fe,72:ke,73:ge},s(Ce,[2,82]),s(Ce,[2,83]),s(u,[2,31]),s(u,Ne),{6:se,9:ie,35:90,45:Ae,50:re},{43:[1,92],44:[1,93]},s(Ie,[2,47],{49:94,12:H,44:Q,51:X,52:J}),s(z,[2,49]),s(z,[2,54]),s(z,[2,55]),s(z,[2,56]),s(z,[2,57]),s(u,[2,45],{45:G}),{6:se,9:ie,35:95,45:Ae,50:re},s(u,[2,32]),{10:97,36:96,43:O,51:N,53:L,54:w,55:V},s(u,[2,51]),s(u,[2,52]),s(u,[2,53]),{13:98,43:ae,53:ne,76:oe},{15:102,43:M,44:B},{10:103,43:O,51:N,53:L,54:w,55:V},{17:104,18:[1,105],56:55,57:56,61:q},s(u,[2,11]),{18:[2,64]},s($,[2,65],{59:106,60:107,63:108,65:Re,66:ve}),s([18,61,65,66],[2,71]),{61:[2,70]},s(u,[2,21],{14:[1,112],16:[1,111]}),s([43,51,53,54,55],[2,76]),s(u,[2,40]),{12:H,44:Q,48:113,49:67,51:X,52:J},s(te,[2,43]),s(te,[2,44]),s(z,[2,50]),s(u,[2,46]),{10:115,20:[1,114],43:O,51:N,53:L,54:w,55:V},s(De,[2,34]),s(u,[2,7]),s(u,[2,84]),s(u,[2,85]),s(u,[2,86]),{12:[1,116],45:G},{12:[1,118],14:[1,117]},{18:[1,119]},s(u,[2,14]),s($,[2,66],{60:120,64:[1,121],66:ve}),s($,[2,67]),s(ye,[2,72]),s($,[2,75]),s(ye,[2,74]),{17:122,18:[1,123],56:55,57:56,61:q},{15:124,43:M,44:B},s(Ie,[2,48],{49:94,12:H,44:Q,51:X,52:J}),{6:se,9:ie,35:125,50:re},s(De,[2,35]),{13:126,43:ae,53:ne,76:oe},{15:127,43:M,44:B},{13:128,43:ae,53:ne,76:oe},s(u,[2,12]),s($,[2,68]),{63:129,65:Re},{18:[1,130]},s(u,[2,19]),s(u,[2,22],{16:[1,131],45:G}),s(u,[2,33]),s(u,[2,10]),{12:[1,132],45:G},s(u,[2,9]),s(ye,[2,73]),s(u,[2,17]),{17:133,18:[1,134],56:55,57:56,61:q},{13:135,43:ae,53:ne,76:oe},{18:[1,136]},s(u,[2,20]),s(u,[2,8]),s(u,[2,18])],defaultActions:{84:[2,64],87:[2,70]},parseError:b(function(n,c){if(c.recoverable)this.trace(n);else{var d=new Error(n);throw d.hash=c,d}},"parseError"),parse:b(function(n){var c=this,d=[0],i=[],y=[null],e=[],ee=this.table,t="",ce=0,Le=0,we=0,at=2,Ve=1,nt=e.slice.call(arguments,1),m=Object.create(this.lexer),Y={yy:{}};for(var me in this.yy)Object.prototype.hasOwnProperty.call(this.yy,me)&&(Y.yy[me]=this.yy[me]);m.setInput(n,Y.yy),Y.yy.lexer=m,Y.yy.parser=this,typeof m.yylloc>"u"&&(m.yylloc={});var Ee=m.yylloc;e.push(Ee);var ot=m.options&&m.options.ranges;typeof Y.yy.parseError=="function"?this.parseError=Y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function lt(S){d.length=d.length-2*S,y.length=y.length-S,e.length=e.length-S}b(lt,"popStack");function Me(){var S;return S=i.pop()||m.lex()||Ve,typeof S!="number"&&(S instanceof Array&&(i=S,S=i.pop()),S=c.symbols_[S]||S),S}b(Me,"lex");for(var E,Se,P,T,ft,Te,U={},he,I,Be,ue;;){if(P=d[d.length-1],this.defaultActions[P]?T=this.defaultActions[P]:((E===null||typeof E>"u")&&(E=Me()),T=ee[P]&&ee[P][E]),typeof T>"u"||!T.length||!T[0]){var Oe="";ue=[];for(he in ee[P])this.terminals_[he]&&he>at&&ue.push("'"+this.terminals_[he]+"'");m.showPosition?Oe="Parse error on line "+(ce+1)+`:
|
|
2
|
+
`+m.showPosition()+`
|
|
3
|
+
Expecting `+ue.join(", ")+", got '"+(this.terminals_[E]||E)+"'":Oe="Parse error on line "+(ce+1)+": Unexpected "+(E==Ve?"end of input":"'"+(this.terminals_[E]||E)+"'"),this.parseError(Oe,{text:m.match,token:this.terminals_[E]||E,line:m.yylineno,loc:Ee,expected:ue})}if(T[0]instanceof Array&&T.length>1)throw new Error("Parse Error: multiple actions possible at state: "+P+", token: "+E);switch(T[0]){case 1:d.push(E),y.push(m.yytext),e.push(m.yylloc),d.push(T[1]),E=null,Se?(E=Se,Se=null):(Le=m.yyleng,t=m.yytext,ce=m.yylineno,Ee=m.yylloc,we>0&&we--);break;case 2:if(I=this.productions_[T[1]][1],U.$=y[y.length-I],U._$={first_line:e[e.length-(I||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(I||1)].first_column,last_column:e[e.length-1].last_column},ot&&(U._$.range=[e[e.length-(I||1)].range[0],e[e.length-1].range[1]]),Te=this.performAction.apply(U,[t,Le,ce,Y.yy,T[1],y,e].concat(nt)),typeof Te<"u")return Te;I&&(d=d.slice(0,-1*I*2),y=y.slice(0,-1*I),e=e.slice(0,-1*I)),d.push(this.productions_[T[1]][0]),y.push(U.$),e.push(U._$),Be=ee[d[d.length-2]][d[d.length-1]],d.push(Be);break;case 3:return!0}}return!0},"parse")},rt=(function(){var F={EOF:1,parseError:b(function(c,d){if(this.yy.parser)this.yy.parser.parseError(c,d);else throw new Error(c)},"parseError"),setInput:b(function(n,c){return this.yy=c||this.yy||{},this._input=n,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:b(function(){var n=this._input[0];this.yytext+=n,this.yyleng++,this.offset++,this.match+=n,this.matched+=n;var c=n.match(/(?:\r\n?|\n).*/g);return c?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),n},"input"),unput:b(function(n){var c=n.length,d=n.split(/(?:\r\n?|\n)/g);this._input=n+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-c),this.offset-=c;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),d.length-1&&(this.yylineno-=d.length-1);var y=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:d?(d.length===i.length?this.yylloc.first_column:0)+i[i.length-d.length].length-d[0].length:this.yylloc.first_column-c},this.options.ranges&&(this.yylloc.range=[y[0],y[0]+this.yyleng-c]),this.yyleng=this.yytext.length,this},"unput"),more:b(function(){return this._more=!0,this},"more"),reject:b(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
|
+
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:b(function(n){this.unput(this.match.slice(n))},"less"),pastInput:b(function(){var n=this.matched.substr(0,this.matched.length-this.match.length);return(n.length>20?"...":"")+n.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:b(function(){var n=this.match;return n.length<20&&(n+=this._input.substr(0,20-n.length)),(n.substr(0,20)+(n.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:b(function(){var n=this.pastInput(),c=new Array(n.length+1).join("-");return n+this.upcomingInput()+`
|
|
5
|
+
`+c+"^"},"showPosition"),test_match:b(function(n,c){var d,i,y;if(this.options.backtrack_lexer&&(y={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(y.yylloc.range=this.yylloc.range.slice(0))),i=n[0].match(/(?:\r\n?|\n).*/g),i&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+n[0].length},this.yytext+=n[0],this.match+=n[0],this.matches=n,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(n[0].length),this.matched+=n[0],d=this.performAction.call(this,this.yy,this,c,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),d)return d;if(this._backtrack){for(var e in y)this[e]=y[e];return!1}return!1},"test_match"),next:b(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var n,c,d,i;this._more||(this.yytext="",this.match="");for(var y=this._currentRules(),e=0;e<y.length;e++)if(d=this._input.match(this.rules[y[e]]),d&&(!c||d[0].length>c[0].length)){if(c=d,i=e,this.options.backtrack_lexer){if(n=this.test_match(d,y[e]),n!==!1)return n;if(this._backtrack){c=!1;continue}else return!1}else if(!this.options.flex)break}return c?(n=this.test_match(c,y[i]),n!==!1?n:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
|
|
6
|
+
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:b(function(){var c=this.next();return c||this.lex()},"lex"),begin:b(function(c){this.conditionStack.push(c)},"begin"),popState:b(function(){var c=this.conditionStack.length-1;return c>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:b(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:b(function(c){return c=this.conditionStack.length-1-Math.abs(c||0),c>=0?this.conditionStack[c]:"INITIAL"},"topState"),pushState:b(function(c){this.begin(c)},"pushState"),stateStackSize:b(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:b(function(c,d,i,y){var e=y;switch(i){case 0:return this.begin("acc_title"),23;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),25;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 37;case 8:return 38;case 9:return 39;case 10:return 40;case 11:break;case 12:return 9;case 13:return 53;case 14:return 76;case 15:return 4;case 16:return this.begin("block"),16;break;case 17:return 52;case 18:return 52;case 19:return 45;case 20:return 14;case 21:return 12;case 22:break;case 23:return 65;case 24:return 61;case 25:return 61;case 26:this.begin("block_bq");break;case 27:return 61;case 28:this.popState();break;case 29:return 66;case 30:break;case 31:return this.popState(),18;break;case 32:return d.yytext[0];case 33:return 19;case 34:return 20;case 35:return this.begin("style"),47;break;case 36:return this.popState(),9;break;case 37:break;case 38:return 12;case 39:return 45;case 40:return 52;case 41:return this.begin("style"),41;break;case 42:return 46;case 43:return 34;case 44:return 33;case 45:return 69;case 46:return 71;case 47:return 71;case 48:return 71;case 49:return 69;case 50:return 69;case 51:return 70;case 52:return 70;case 53:return 70;case 54:return 70;case 55:return 70;case 56:return 71;case 57:return 70;case 58:return 71;case 59:return 72;case 60:return 72;case 61:return 54;case 62:return 72;case 63:return 72;case 64:return 72;case 65:return 55;case 66:return 51;case 67:return 72;case 68:return 69;case 69:return 70;case 70:return 71;case 71:return 73;case 72:return 74;case 73:return 75;case 74:return 75;case 75:return 74;case 76:return 74;case 77:return 74;case 78:return 44;case 79:return 50;case 80:return 43;case 81:return d.yytext[0];case 82:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[ \t\r]+)/i,/^(?:[\n]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\.,\u00C0-\uFFFF\*]*))/i,/^(?:[`])/i,/^(?:[^`]+)/i,/^(?:[`])/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:subgraph\b)/i,/^(?:end\b\s*)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=\s+[0-9]))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[36,37,38,39,40,78,79],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block_bq:{rules:[27,28],inclusive:!1},block:{rules:[22,23,24,25,26,29,30,31,32],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,33,34,35,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82],inclusive:!0}}};return F})();_e.lexer=rt;function le(){this.yy={}}return b(le,"Parser"),le.prototype=_e,_e.Parser=le,new le})();xe.parser=xe;var ct=xe,Z,ht=(Z=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.subgraphDepth=0,this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=Ue,this.getAccTitle=Ke,this.setAccDescription=Ze,this.getAccDescription=je,this.setDiagramTitle=qe,this.getDiagramTitle=We,this.getConfig=b(()=>K().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this),this.addSubGraph=this.addSubGraph.bind(this)}addEntity(a,o=""){return this.entities.has(a)?!this.entities.get(a)?.alias&&o&&(this.entities.get(a).alias=o,R.info(`Add alias '${o}' to entity '${a}'`)):(this.entities.set(a,{id:`entity-${a}-${this.entities.size}`,label:a,attributes:[],alias:o,shape:"erBox",look:K().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),R.info("Added new entity :",a)),this.entities.get(a)}getEntity(a){return this.entities.get(a)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(a,o){let l=this.addEntity(a),r;for(r=o.length-1;r>=0;r--)o[r].keys||(o[r].keys=[]),o[r].comment||(o[r].comment=""),l.attributes.push(o[r]),R.debug("Added attribute ",o[r].name)}addRelationship(a,o,l,r){let h;if(this.subGraphLookup.has(a))h=a;else{let _=this.addEntity(a);if(!_)return;h=_.id}let g;if(this.subGraphLookup.has(l))g=l;else{let _=this.addEntity(l);if(!_)return;g=_.id}let f={entityA:h,roleA:o,entityB:g,relSpec:r};this.relationships.push(f),R.debug("Added new relationship :",f)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(a){this.direction=a}getCompiledStyles(a){let o=[];for(let l of a){let r=this.classes.get(l);r?.styles&&(o=[...o,...r.styles??[]].map(h=>h.trim())),r?.textStyles&&(o=[...o,...r.textStyles??[]].map(h=>h.trim()))}return o}addCssStyles(a,o){for(let l of a){let r=this.entities.get(l),h=this.subGraphLookup.get(l);if(o){if(r)for(let g of o)r.cssStyles.push(g);if(h){h.cssStyles||(h.cssStyles=[]);for(let g of o)h.cssStyles.push(g)}}}}addClass(a,o){a.forEach(l=>{let r=this.classes.get(l);r===void 0&&(r={id:l,styles:[],textStyles:[]},this.classes.set(l,r)),o&&o.forEach(function(h){if(/color/.exec(h)){let g=h.replace("fill","bgFill");r.textStyles.push(g)}r.styles.push(h)})})}addSubGraph(a,o,l){let r=a.text.trim(),h=l.text,f=b(k=>{let C=new Set,D;return{nodeList:k.filter(x=>{if(x?.stmt)return x.stmt==="dir"&&(D=x.value),!1;if(typeof x!="string")return!1;let A=x.trim();return!A||C.has(A)?!1:(C.add(A),!0)}),dir:D}},"uniq")(o.flat()),_=f.nodeList,v=f.dir;r=r??"subGraph"+this.subCount,h=h||"",h=this.sanitizeText(h),this.subCount=this.subCount+1;let p={id:r,nodes:_,title:h.trim(),classes:[],cssStyles:[],dir:v,labelType:this.sanitizeNodeLabelType(l?.type)};return R.info("Adding",p.id,p.nodes,p.dir),p.nodes=this.makeUniq(p,this.subGraphs).nodes,this.subGraphs.push(p),this.subGraphLookup.set(r,p),r}getSubGraphs(){return this.subGraphs}setClass(a,o){for(let l of a){let r=this.entities.get(l);if(r)for(let g of o)r.cssClasses+=" "+g;let h=this.subGraphLookup.get(l);if(h)for(let g of o)h.classes.push(g)}}subgraphNodeCache(a){let o=new Set;for(let l of a)for(let r of l.nodes)o.add(r);return o}makeUniq(a,o){let l=this.subgraphNodeCache(o),r=[];return a.nodes.forEach((h,g)=>{l.has(h)?R.warn(`Entity '${h}' already belongs to another subgraph and will be ignored`):r.push(a.nodes[g])}),{nodes:r}}sanitizeText(a){return Pe.sanitizeText(a,K())}sanitizeNodeLabelType(a){switch(a){case"markdown":case"string":case"text":return a;default:return"markdown"}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.subgraphDepth=0,ze()}getData(){let a=[],o=[],l=K(),r=this.getSubGraphs(),h=new Map,g=new Map;for(let p=r.length-1;p>=0;p--){let k=r[p];k.nodes.length>0&&g.set(k.id,!0);for(let C of k.nodes)h.set(C,k.id)}for(let p=r.length-1;p>=0;p--){let k=r[p];a.push({id:k.id,label:k.title,labelStyle:"",labelType:k.labelType,parentId:h.get(k.id),padding:8,cssCompiledStyles:this.getCompiledStyles(k.classes),cssStyles:k.cssStyles,cssClasses:k.classes.join(" "),shape:"rect",dir:k.dir,isGroup:!0,look:l.look})}let f=new Set(r.map(p=>p.id)),_=0;for(let p of this.entities.keys()){if(f.has(p))continue;let k=this.entities.get(p);k&&(k.cssCompiledStyles=this.getCompiledStyles(k.cssClasses.split(" ")),k.colorIndex=_++,a.push({...k,parentId:h.get(p),isGroup:!1}))}let v=0;for(let p of this.relationships){let k={id:Xe(p.entityA,p.entityB,{prefix:"id",counter:v++}),type:"normal",curve:"basis",start:p.entityA,end:p.entityB,label:p.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:p.relSpec.cardB.toLowerCase(),arrowTypeEnd:p.relSpec.cardA.toLowerCase(),pattern:p.relSpec.relType=="IDENTIFYING"?"solid":"dashed",look:l.look,labelType:"markdown"};o.push(k)}return{nodes:a,edges:o,other:{},config:l,direction:this.direction}}},b(Z,"ErDB"),Z),it={};Ge(it,{draw:()=>ut});var ut=b(async function(s,a,o,l){R.info("REF0:"),R.info("Drawing er diagram (unified)",a);let{securityLevel:r,er:h,layout:g}=K(),f=l.db.getData(),_=et(a,r);f.type=l.type,f.layoutAlgorithm=$e(g),f.config.flowchart.nodeSpacing=h?.nodeSpacing||140,f.config.flowchart.rankSpacing=h?.rankSpacing||80,f.direction=l.db.getDirection();let{config:v}=f,{look:p}=v;p==="neo"?f.markers=["only_one_neo","zero_or_one_neo","one_or_more_neo","zero_or_more_neo"]:f.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],f.diagramId=a,await Je(f,_),f.layoutAlgorithm==="elk"&&_.select(".edges").lower();let k=_.selectAll('[id*="-background"]');Array.from(k).length>0&&k.each(function(){let D=He(this),x=D.attr("id").replace("-background",""),A=_.select(`#${CSS.escape(x)}`);if(!A.empty()){let N=A.attr("transform");D.attr("transform",N)}});let C=8;Qe.insertTitle(_,"erDiagramTitleText",h?.titleTopMargin??25,l.db.getDiagramTitle()),tt(_,C,"erDiagram",h?.useMaxWidth??!0)},"draw"),st=b((s,a)=>{let o=Ye,l=o(s,"r"),r=o(s,"g"),h=o(s,"b");return Fe(l,r,h,a)},"fade"),de=new Set(["redux-color","redux-dark-color"]),dt=b(s=>{let{theme:a,look:o,bkgColorArray:l,borderColorArray:r}=s;if(!de.has(a))return"";let h=l?.length>0,g="";for(let f=0;f<s.THEME_COLOR_LIMIT;f++)g+=`
|
|
7
|
+
|
|
8
|
+
[data-look="${o}"][data-color-id="color-${f}"].node path {
|
|
9
|
+
stroke: ${r[f]};
|
|
10
|
+
${h?`fill: ${l[f]};`:""}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
[data-look="${o}"][data-color-id="color-${f}"].node rect {
|
|
14
|
+
stroke: ${r[f]};
|
|
15
|
+
${h?`fill: ${l[f]};`:""}
|
|
16
|
+
}
|
|
17
|
+
`;return g},"genColor"),bt=b(s=>{let{look:a,theme:o,erEdgeLabelBackground:l,strokeWidth:r}=s;return`
|
|
18
|
+
${dt(s)}
|
|
19
|
+
.entityBox {
|
|
20
|
+
fill: ${s.mainBkg};
|
|
21
|
+
stroke: ${s.nodeBorder};
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.relationshipLabelBox {
|
|
25
|
+
fill: ${s.tertiaryColor};
|
|
26
|
+
opacity: 0.7;
|
|
27
|
+
background-color: ${s.tertiaryColor};
|
|
28
|
+
rect {
|
|
29
|
+
opacity: 0.5;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.labelBkg {
|
|
34
|
+
background-color: ${de.has(o)&&l?l:st(s.tertiaryColor,.5)};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.edgeLabel {
|
|
38
|
+
background-color: ${de.has(o)&&l?l:s.edgeLabelBackground};
|
|
39
|
+
}
|
|
40
|
+
.edgeLabel .label rect {
|
|
41
|
+
fill: ${de.has(o)&&l?l:s.edgeLabelBackground};
|
|
42
|
+
}
|
|
43
|
+
.edgeLabel .label text {
|
|
44
|
+
fill: ${s.textColor};
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.edgeLabel .label {
|
|
48
|
+
fill: ${s.nodeBorder};
|
|
49
|
+
font-size: 14px;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.label {
|
|
53
|
+
font-family: ${s.fontFamily};
|
|
54
|
+
color: ${s.nodeTextColor||s.textColor};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.edge-pattern-dashed {
|
|
58
|
+
stroke-dasharray: 8,8;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.node rect,
|
|
62
|
+
.node circle,
|
|
63
|
+
.node ellipse,
|
|
64
|
+
.node polygon
|
|
65
|
+
{
|
|
66
|
+
fill: ${s.mainBkg};
|
|
67
|
+
stroke: ${s.nodeBorder};
|
|
68
|
+
stroke-width: ${a==="neo"?r:"1px"};
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.relationshipLine {
|
|
72
|
+
stroke: ${s.lineColor};
|
|
73
|
+
stroke-width: ${a==="neo"?r:"1px"};
|
|
74
|
+
fill: none;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.marker {
|
|
78
|
+
fill: none !important;
|
|
79
|
+
stroke: ${s.lineColor} !important;
|
|
80
|
+
stroke-width: 1;
|
|
81
|
+
}
|
|
82
|
+
[data-look=neo].labelBkg {
|
|
83
|
+
background-color: ${st(s.tertiaryColor,.5)};
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.cluster rect {
|
|
87
|
+
fill: ${s.clusterBkg??s.mainBkg};
|
|
88
|
+
stroke: ${s.clusterBorder??s.nodeBorder};
|
|
89
|
+
stroke-width: 1px;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.cluster text {
|
|
93
|
+
fill: ${s.titleColor??s.textColor};
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.cluster-label text {
|
|
97
|
+
fill: ${s.titleColor??s.textColor};
|
|
98
|
+
}
|
|
99
|
+
`},"getStyles"),pt=bt,Dt={parser:ct,get db(){return new ht},renderer:it,styles:pt};export{Dt as diagram};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{h as o}from"./chunk-SRORWQJZ.js";import{a as m}from"./chunk-XOYVR3SV.js";var g=m((t,e)=>{let n;return e==="sandbox"&&(n=o("#i"+t)),(e==="sandbox"?o(n.nodes()[0].contentDocument.body):o("body")).select(`[id="${t}"]`)},"getDiagramElement");export{g as a};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import"./chunk-GCO4TDHX.js";import"./chunk-RJ2R4FVC.js";var e={paste:"Prilepi",pasteAsPlaintext:"Prilepi kot navadno besedilo",pasteCharts:"Prilepi grafikone",selectAll:"Izberi vse",multiSelect:"Dodaj element v izbor",moveCanvas:"Premakni platno",cut:"Izre\u017Ei",copy:"Kopiraj",copyAsPng:"Kopiraj v odlo\u017Ei\u0161\u010De kot PNG",copyAsSvg:"Kopiraj v odlo\u017Ei\u0161\u010De kot SVG",copyText:"Kopiraj v odlo\u017Ei\u0161\u010De kot besedilo",copySource:"Kopiraj vir v odlo\u017Ei\u0161\u010De",convertToCode:"Pretvori v kodo",bringForward:"Postavi naprej",sendToBack:"Pomakni v ozadje",bringToFront:"Pomakni v ospredje",sendBackward:"Po\u0161lji nazaj",delete:"Izbri\u0161i",copyStyles:"Kopiraj slog",pasteStyles:"Prilepi slog",stroke:"Poteza",background:"Ozadje",fill:"Polnilo",strokeWidth:"Debelina poteze",strokeStyle:"Slog poteze",strokeStyle_solid:"Polna",strokeStyle_dashed:"\u010Crtkana",strokeStyle_dotted:"Pikasta",sloppiness:"Povr\u0161nost",opacity:"Prekrivnost",textAlign:"Poravnava besedila",edges:"Robovi",sharp:"Ostri",round:"Okrogli",arrowheads:"Pu\u0161\u010Dice",arrowhead_none:"Brez",arrowhead_arrow:"Pu\u0161\u010Dica",arrowhead_bar:"Palica",arrowhead_circle:"Krog",arrowhead_circle_outline:"Krog (oris)",arrowhead_triangle:"Trikotnik",arrowhead_triangle_outline:"Trikotnik (oris)",arrowhead_diamond:"Diamant",arrowhead_diamond_outline:"Diamant (oris)",fontSize:"Velikost pisave",fontFamily:"Dru\u017Eina pisave",addWatermark:'Dodaj "Izdelano z Excalidraw"',handDrawn:"Ro\u010Dno narisano",normal:"Obi\u010Dajno",code:"Koda",small:"Majhna",medium:"Srednja",large:"Velika",veryLarge:"Zelo velika",solid:"Polno",hachure:"\u0160rafura",zigzag:"Cikcak",crossHatch:"Kri\u017Eno",thin:"Tanko",bold:"Krepko",left:"Levo",center:"Sredina",right:"Desno",extraBold:"Ekstra krepko",architect:"Arhitekt",artist:"Umetnik",cartoonist:"Risar",fileTitle:"Ime datoteke",colorPicker:"Izbor barve",canvasColors:"Uporabljeno na platnu",canvasBackground:"Ozadje platna",drawingCanvas:"Platno za risanje",layers:"Plasti",actions:"Dejanja",language:"Jezik",liveCollaboration:"Sodelovanje v \u017Eivo...",duplicateSelection:"Podvoji",untitled:"Neimenovana",name:"Ime",yourName:"Va\u0161e ime",madeWithExcalidraw:"Izdelano z Excalidraw",group:"Zdru\u017Ei izbor",ungroup:"Razdru\u017Ei izbor",collaborators:"Sodelavci",showGrid:"Prika\u017Ei mre\u017Eo",addToLibrary:"Dodaj v knji\u017Enico",removeFromLibrary:"Odstrani iz knji\u017Enice",libraryLoadingMessage:"Nalaganje knji\u017Enice ...",libraries:"Brskaj po knji\u017Enicah",loadingScene:"Nalaganje scene...",align:"Poravnava",alignTop:"Poravnaj na vrh",alignBottom:"Poravnaj na dno",alignLeft:"Poravnaj levo",alignRight:"Poravnaj desno",centerVertically:"Navpi\u010Dno na sredini",centerHorizontally:"Vodoravno na sredini",distributeHorizontally:"Porazdeli vodoravno",distributeVertically:"Porazdeli navpi\u010Dno",flipHorizontal:"Obrni vodoravno",flipVertical:"Obrni navpi\u010Dno",viewMode:"Na\u010Din ogleda",share:"Deli",showStroke:"Prika\u017Ei izbirnik barv poteze",showBackground:"Prika\u017Ei izbirnik barv ozadja",toggleTheme:"Obrni temo",personalLib:"Osebna knji\u017Enica",excalidrawLib:"Knji\u017Enica Excalidraw",decreaseFontSize:"Zmanj\u0161aj velikost pisave",increaseFontSize:"Pove\u010Daj velikost pisave",unbindText:"Ve\u017Ei besedilo",bindText:"Ve\u017Ei besedilo na element",createContainerFromText:"Zavij besedilo v vsebnik",link:{edit:"Uredi povezavo",editEmbed:"Uredi povezavo in vdelaj",create:"Ustvari povezavo",createEmbed:"Ustvari povezavo in vdelaj",label:"Povezava",labelEmbed:"Povezava in vdelovanje",empty:"Povezava ni nastavljena"},lineEditor:{edit:"Uredi \u010Drto",exit:"Zapri urejanje \u010Drte"},elementLock:{lock:"Zakleni",unlock:"Odkleni",lockAll:"Zakleni vse",unlockAll:"Odkleni vse"},statusPublished:"Objavljeno",sidebarLock:"Obdr\u017Ei stransko vrstico odprto",selectAllElementsInFrame:"Izberi vse elemente v okvirju",removeAllElementsFromFrame:"Izbri\u0161i vse elemente v okvirju",eyeDropper:"Izberi barvo s platna",textToDiagram:"Besedilo v diagram",prompt:"Poziv"},o={noItems:"Dodan \u0161e ni noben element...",hint_emptyLibrary:"Izberite element na platnu, da ga dodate sem, ali namestite knji\u017Enico iz javnega skladi\u0161\u010Da spodaj.",hint_emptyPrivateLibrary:"Izberite element na platnu, da ga dodate sem."},i={clearReset:"Ponastavi platno",exportJSON:"Izvozi v datoteko",exportImage:"Izvozi sliko...",export:"Shrani v...",copyToClipboard:"Kopiraj v odlo\u017Ei\u0161\u010De",save:"Shrani v trenutno datoteko",saveAs:"Shrani kot",load:"Odpri",getShareableLink:"Pridobi povezavo za deljenje",close:"Zapri",selectLanguage:"Izberi jezik",scrollBackToContent:"Pomakni se nazaj na vsebino",zoomIn:"Pove\u010Daj",zoomOut:"Pomanj\u0161aj",resetZoom:"Ponastavi pove\u010Davo",menu:"Meni",done:"Kon\u010Dano",edit:"Uredi",undo:"Razveljavi",redo:"Ponovi",resetLibrary:"Ponastavi knji\u017Enico",createNewRoom:"Ustvari novo sobo",fullScreen:"Celozaslonski na\u010Din",darkMode:"Temni na\u010Din",lightMode:"Svetli na\u010Din",zenMode:"Na\u010Din Zen",objectsSnapMode:"Pripenjanje na predmete",exitZenMode:"Zapri na\u010Din Zen",cancel:"Prekli\u010Di",clear:"Po\u010Disti",remove:"Odstrani",embed:"Preklopi vdelavo",publishLibrary:"Objavi",submit:"Po\u0161lji",confirm:"Potrdi",embeddableInteractionButton:"Kliknite za interakcijo"},a={clearReset:"To bo po\u010Distilo celotno platno. Ali ste prepri\u010Dani?",couldNotCreateShareableLink:"Povezave za deljenje ni bilo mogo\u010De ustvariti.",couldNotCreateShareableLinkTooBig:"Povezave za deljenje ni bilo mogo\u010De ustvariti: scena je prevelika",couldNotLoadInvalidFile:"Neveljavne datoteke ni bilo mogo\u010De nalo\u017Eiti",importBackendFailed:"Uvoz iz zaledja ni uspel.",cannotExportEmptyCanvas:"Izvoz prazne scene ni mogo\u010D.",couldNotCopyToClipboard:"Kopiranje v odlo\u017Ei\u0161\u010De ni uspelo.",decryptFailed:"De\u0161ifriranje podatkov ni uspelo.",uploadedSecurly:"Nalaganje je bilo za\u0161\u010Diteno s \u0161ifriranjem od konca do konca, kar pomeni, da stre\u017Enik Excalidraw in tretje osebe ne morejo brati vsebine.",loadSceneOverridePrompt:"Nalaganje zunanje risbe bo nadomestilo va\u0161o obstoje\u010Do vsebino. Ali \u017Eelite nadaljevati?",collabStopOverridePrompt:`Ustavitev seje bo prepisala va\u0161o prej\u0161njo, lokalno shranjeno risbo. Ali ste prepri\u010Dani?
|
|
2
|
+
|
|
3
|
+
(\u010Ce \u017Eelite obdr\u017Eati lokalno risbo, preprosto zaprite zavihek brskalnika.)`,errorAddingToLibrary:"Elementa ni bilo mogo\u010De dodati v knji\u017Enico",errorRemovingFromLibrary:"Elementa ni bilo mogo\u010De izbrisati iz knji\u017Enice",confirmAddLibrary:"S tem boste v va\u0161o knji\u017Enico dodali oblike ({{numShapes}}). Ali ste prepri\u010Dani?",imageDoesNotContainScene:"Zdi se, da ta slika ne vsebuje podatkov o sceni. Ali ste med izvozom omogo\u010Dili vdelavo scene?",cannotRestoreFromImage:"Scene ni bilo mogo\u010De obnoviti iz te slikovne datoteke",invalidSceneUrl:"S prilo\u017Eenega URL-ja ni bilo mogo\u010De uvoziti scene. Je napa\u010Dno oblikovana ali pa ne vsebuje veljavnih podatkov Excalidraw JSON.",resetLibrary:"To bo po\u010Distilo va\u0161o knji\u017Enico. Ali ste prepri\u010Dani?",removeItemsFromsLibrary:"Izbri\u0161i elemente ({{count}}) iz knji\u017Enice?",invalidEncryptionKey:"Klju\u010D za \u0161ifriranje mora vsebovati 22 znakov. Sodelovanje v \u017Eivo je onemogo\u010Deno.",collabOfflineWarning:`Internetna povezava ni na voljo.
|
|
4
|
+
Va\u0161e spremembe ne bodo shranjene!`},n={unsupportedFileType:"Nepodprt tip datoteke.",imageInsertError:"Vstavljanje slike ni bilo uspe\u0161no. Poskusite ponovno kasneje...",fileTooBig:"Datoteka je prevelika. Najve\u010Dja dovoljena velikost je {{maxSize}}.",svgImageInsertError:"Vstavljanje slike SVG ni uspelo. Oznake SVG so videti neveljavne.",failedToFetchImage:"Pridobivanje slike ni uspelo.",invalidSVGString:"Neveljaven SVG.",cannotResolveCollabServer:"Povezave s stre\u017Enikom za sodelovanje ni bilo mogo\u010De vzpostaviti. Ponovno nalo\u017Eite stran in poskusite znova.",importLibraryError:"Nalaganje knji\u017Enice ni uspelo",collabSaveFailed:"Ni bilo mogo\u010De shraniti v zaledno bazo podatkov. \u010Ce se te\u017Eave nadaljujejo, shranite datoteko lokalno, da ne boste izgubili svojega dela.",collabSaveFailed_sizeExceeded:"Ni bilo mogo\u010De shraniti v zaledno bazo podatkov, zdi se, da je platno preveliko. Datoteko shranite lokalno, da ne izgubite svojega dela.",imageToolNotSupported:"Slike so onemogo\u010Dene.",brave_measure_text_error:{line1:"Videti je, da uporabljate brskalnik Brave z omogo\u010Deno nastavitvijo <bold>Agresivno blokiranje prstnih odtisov</bold>.",line2:"To bi lahko povzro\u010Dilo motnje v obna\u0161anju <bold>besedilnih elementov</bold> v va\u0161ih risbah.",line3:"Mo\u010Dno priporo\u010Damo, da onemogo\u010Dite to nastavitev. Sledite <link>tem korakom</link>, kako to storiti.",line4:"\u010Ce onemogo\u010Danje te nastavitve ne popravi prikaza besedilnih elementov, odprite <issueLink>vpra\u0161anje</issueLink> na na\u0161em GitHubu ali nam pi\u0161ite na <discordLink>Discord</discordLink>"},libraryElementTypeError:{embeddable:"Vdelani elementi ne morejo biti dodani v knji\u017Enico.",iframe:"Elementov iFrame ni mogo\u010De dodati v knji\u017Enico.",image:"Podpora za dodajanje slik v knji\u017Enico prihaja kmalu!"},asyncPasteFailedOnRead:"Ni bilo mogo\u010De prilepiti (ni bilo mogo\u010De brati iz sistemskega odlo\u017Ei\u0161\u010Da).",asyncPasteFailedOnParse:"Ni bilo mogo\u010De prilepiti.",copyToSystemClipboardFailed:"Ni bilo mogo\u010De kopirati v odlo\u017Ei\u0161\u010De."},t={selection:"Izbor",image:"Vstavi sliko",rectangle:"Pravokotnik",diamond:"Diamant",ellipse:"Elipsa",arrow:"Pu\u0161\u010Dica",line:"\u010Crta",freedraw:"Risanje",text:"Besedilo",library:"Knji\u017Enica",lock:"Ohrani izbrano orodje aktivno po risanju",penMode:"Na\u010Din peresa - prepre\u010Di dotik",link:"Dodaj/posodobi povezavo za izbrano obliko",eraser:"Radirka",frame:"Okvir",magicframe:"\u017Di\u010Dni okvir v kodo",embeddable:"Spletna vdelava",laser:"Laserski kazalec",hand:"Roka (orodje za premikanje)",extraTools:"Ve\u010D orodij",mermaidToExcalidraw:"Mermaid v Excalidraw",magicSettings:"Nastavitve AI"},r={canvasActions:"Dejanja za platno",selectedShapeActions:"Dejanja za izbrane oblike",shapes:"Oblike"},l={canvasPanning:"Za premikanje platna med vle\u010Denjem dr\u017Eite kolesce mi\u0161ke ali preslednico ali uporabite orodje roka",linearElement:"Kliknite za za\u010Detek ve\u010D to\u010Dk, povlecite za posamezno \u010Drto",freeDraw:"Kliknite in povlecite, spustite, ko kon\u010Date",text:"Namig: besedilo lahko dodate tudi z dvoklikom kjer koli z orodjem za izbiro",embeddable:"Kliknite in povlecite, da ustvarite spletno vdelavo",text_selected:"Dvokliknite ali pritisnite tipko Enter, da uredite besedilo",text_editing:"Pritisnite tipko Escape ali CtrlOrCmd+Enter za zaklju\u010Dek urejanja",linearElementMulti:"Kliknite zadnjo to\u010Dko ali pritisnite Escape ali Enter, da kon\u010Date",lockAngle:"Kot lahko omejite tako, da dr\u017Eite tipko Shift",resize:"Razmerja lahko omejite tako, da dr\u017Eite tipko Shift med spreminjanjem velikosti. Dr\u017Eite tipko Alt, da spremenite velikost od sredi\u0161\u010Da",resizeImage:"Velikost lahko prosto spreminjate tako, da dr\u017Eite tipko Shift. Dr\u017Eite tipko Alt, da spremenite velikost od sredi\u0161\u010Da",rotate:"Kote lahko omejite tako, da med vrtenjem dr\u017Eite tipko Shift",lineEditor_info:"Dr\u017Eite CtrlOrCmd in dvokliknite ali pritisnite CtrlOrCmd + Enter za urejanje to\u010Dk",lineEditor_pointSelected:"Pritisnite tipko Delete, da odstranite to\u010Dko(e), CtrlOrCmd+D za podvojitev ali povlecite za premikanje",lineEditor_nothingSelected:"Izberite to\u010Dko za urejanje (pridr\u017Eite tipko Shift za izbiro ve\u010D to\u010Dk), ali dr\u017Eite tipko Alt in kliknite za dodajanje novih to\u010Dk",placeImage:"Kliknite, da postavite sliko, ali kliknite in povlecite, da ro\u010Dno nastavite njeno velikost",publishLibrary:"Objavi svojo knji\u017Enico",bindTextToElement:"Pritisnite tipko Enter za dodajanje besedila",deepBoxSelect:"Dr\u017Eite tipko CtrlOrCmd za globoko izbiro in prepre\u010Ditev vle\u010Denja",eraserRevert:"Pridr\u017Eite tipko Alt, da razveljavite elemente, ozna\u010Dene za brisanje",firefox_clipboard_write:'To funkcijo lahko verjetno omogo\u010Dite z nastavitvijo zastavice "dom.events.asyncClipboard.clipboardItem" na "true". \u010Ce \u017Eelite spremeniti zastavice brskalnika v Firefoxu, obi\u0161\u010Dite stran "about:config".',disableSnapping:"Dr\u017Eite CtrlOrCmd, da onemogo\u010Dite pripenjanje"},s={cannotShowPreview:"Predogleda ni bilo mogo\u010De prikazati",canvasTooBig:"Morda je platno preveliko.",canvasTooBigTip:"Nasvet: poskusite premakniti najbolj oddaljene elemente nekoliko bli\u017Eje skupaj."},d={headingMain:"Pri\u0161lo je do napake. Poskusite <button>ponovno nalo\u017Eiti stran.</button>",clearCanvasMessage:"\u010Ce ponovno nalaganje ne deluje, poskusite <button>po\u010Distiti platno.</button>",clearCanvasCaveat:" To bo povzro\u010Dilo izgubo dela ",trackedToSentry:"Napaka z identifikatorjem {{eventId}} smo zabele\u017Eili v na\u0161 sistem.",openIssueMessage:"Zelo smo bili previdni, da v podatke o napaki nismo vklju\u010Dili va\u0161ih podatkov o sceni. \u010Ce va\u0161a scena ni zasebna, vas prosimo, da napi\u0161ete ve\u010D podrobnosti na na\u0161em <button>sledilniku hro\u0161\u010Dev.</button> Prosimo, vklju\u010Dite spodnje informacije tako, da jih kopirate in prilepite v GitHub vpra\u0161anje.",sceneContent:"Vsebina scene:"},u={desc_intro:"Na va\u0161o trenutno sceno lahko povabite osebe, ki bodo sodelovale z vami.",desc_privacy:"Brez skrbi. Seja uporablja \u0161ifriranje od konca do konca, tako da bo vse, kar nari\u0161ete, ostalo zasebno. Niti na\u0161 stre\u017Enik ne bo mogel videti, kaj si izmislite.",button_startSession:"Za\u010Dni sejo",button_stopSession:"Ustavi sejo",desc_inProgressIntro:"Seja sodelovanja v \u017Eivo je v teku.",desc_shareLink:"Delite to povezavo z vsemi, s katerimi \u017Eelite sodelovati:",desc_exitSession:"Ustavitev seje vas bo odklopila od sobe, vendar boste lahko lokalno nadaljevali delo s sceno. To pa ne bo vplivalo na druge osebe. Druge osebe bodo \u0161e vedno lahko sodelovale v svoji razli\u010Dici.",shareTitle:"Pridru\u017Ei se seji sodelovanja v \u017Eivo na Excalidraw"},v={title:"Napaka"},k={disk_title:"Shrani na disk",disk_details:"Izvozite podatke scene v datoteko, iz katere jo lahko pozneje uvozite.",disk_button:"Shrani v datoteko",link_title:"Povezava za deljenje",link_details:"Izvoz kot povezava samo za branje.",link_button:"Izvoz kot povezava",excalidrawplus_description:"Shrani sceno v svoj delovni prostor Excalidraw+.",excalidrawplus_button:"Izvoz",excalidrawplus_exportError:"Trenutno ni bilo mogo\u010De izvoziti v Excalidraw+..."},p={blog:"Preberite na\u0161 blog",click:"klik",deepSelect:"Globoka izbira",deepBoxSelect:"Globoka izbira znotraj polja in prepre\u010Ditev vle\u010Denja",curvedArrow:"Ukrivljena pu\u0161\u010Dica",curvedLine:"Ukrivljena \u010Drta",documentation:"Dokumentacija",doubleClick:"dvojni klik",drag:"vleci",editor:"Urejevalnik",editLineArrowPoints:"Uredi \u010Drto/to\u010Dke pu\u0161\u010Dice",editText:"Uredi besedilo / dodaj oznako",github:"Ste na\u0161li te\u017Eavo? Po\u0161ljite",howto:"Sledite na\u0161im vodi\u010Dem",or:"ali",preventBinding:"Prepre\u010Di vezanje pu\u0161\u010Dice",tools:"Orodja",shortcuts:"Bli\u017Enjice na tipkovnici",textFinish:"Zaklju\u010Di urejanje (urejevalnik besedila)",textNewLine:"Dodaj novo vrstico (urejevalnik besedila)",title:"Pomo\u010D",view:"Pogled",zoomToFit:"Pribli\u017Eaj na vse elemente",zoomToSelection:"Pribli\u017Eaj na izbor",toggleElementLock:"Zakleni/odkleni izbor",movePageUpDown:"Premakni stran gor/dol",movePageLeftRight:"Premakni stran levo/desno"},j={title:"Po\u010Disti platno"},b={title:"Objavi knji\u017Enico",itemName:"Ime elementa",authorName:"Ime avtorja",githubUsername:"GitHub uporabni\u0161ko ime",twitterUsername:"Twitter uporabni\u0161ko ime",libraryName:"Ime knji\u017Enice",libraryDesc:"Opis knij\u017Enice",website:"Spletna stran",placeholder:{authorName:"Va\u0161e ime ali uporabni\u0161ko ime",libraryName:"Ime va\u0161e knji\u017Enice",libraryDesc:"Opis va\u0161e knji\u017Enice, da bodo ljudje la\u017Eje razumeli njeno uporabo",githubHandle:"GitHub uporabni\u0161ko ime (neobvezno), tako da lahko urejate knji\u017Enico potem, ko jo po\u0161ljete v pregled",twitterHandle:"Twitter uporabni\u0161ko ime (neobvezno), tako da vemo, koga omeniti pri promociji prek Twitterja",website:"Povezava na va\u0161o osebno spletno stran ali drugam (neobvezno)"},errors:{required:"Obvezno",website:"Vnesite veljaven URL"},noteDescription:"Predlo\u017Eite svojo knji\u017Enico, da bo vklju\u010Dena v <link>javno skladi\u0161\u010De knji\u017Enic,</link>da jih drugi lahko uporabljajo v svojih risbah.",noteGuidelines:"Knji\u017Enica mora biti najprej ro\u010Dno odobrena. Prosimo vas, da pred oddajanjem preberete na\u0161e <link>smernice.</link>Za komunikacijo in spreminjanje po potrebi boste potrebovali ra\u010Dun GitHub, vendar to ni obvezno.",noteLicense:"Z oddajo se strinjate, da bo knji\u017Enica objavljena pod <link>licenco MIT, </link>kar na kratko pomeni, da jo lahko kdorkoli uporablja brez omejitev.",noteItems:"Vsak element knji\u017Enice mora imeti svoje ime, tako da ga je mogo\u010De filtrirati. Vklju\u010Deni bodo naslednji elementi knji\u017Enice:",atleastOneLibItem:"Za za\u010Detek izberite vsaj en element knji\u017Enice",republishWarning:"Opomba: nekateri izbrani predmeti so ozna\u010Deni kot \u017Ee objavljeni/oddani. Elemente lahko znova oddate samo, ko posodabljate obstoje\u010Do knji\u017Enico ali oddajo."},m={title:"Knji\u017Enica oddana",content:"{{authorName}}, hvala. Va\u0161a knji\u017Enica je bila poslana v pregled. Stanje lahko spremljate<link>tukaj</link>"},c={resetLibrary:"Ponastavi knji\u017Enico",removeItemsFromLib:"Odstran izbrane elemente iz knji\u017Enice"},z={header:"Izvozi sliko",label:{withBackground:"Ozadje",onlySelected:"Samo izbor",darkMode:"Temni na\u010Din",embedScene:"Vdelaj sceno",scale:"Pove\u010Dava",padding:"Odmik"},tooltip:{embedScene:`Podatki o sceni bodo shranjeni v izvo\u017Eeno datoteko PNG/SVG, tako da bo sceno mogo\u010De obnoviti iz nje.
|
|
5
|
+
To bo pove\u010Dalo velikost izvo\u017Eene datoteke.`},title:{exportToPng:"Izvozi v PNG",exportToSvg:"Izvozi v SVG",copyPngToClipboard:"Kopiraj PNG v odlo\u017Ei\u0161\u010De"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"Kopiraj v odlo\u017Ei\u0161\u010De"}},g={tooltip:"Va\u0161e risbe so \u0161ifrirane od konca do konca, tako da jih stre\u017Eniki Excalidraw nikoli ne bodo videli.",link:"Blog objava o \u0161ifriranju od konca do konca v Excalidraw"},D={angle:"Kot",element:"Element",elements:"Elementi",height:"Vi\u0161ina",scene:"Scena",selected:"Izbrano",storage:"Shramba",title:"Statistika za napredne uporabnike",total:"Skupaj",version:"Razli\u010Dica",versionCopy:"Kliknite za kopiranje",versionNotAvailable:"Razli\u010Dica ni na voljo",width:"\u0160irina"},E={addedToLibrary:"Dodano v knji\u017Enico",copyStyles:"Slogi kopirani.",copyToClipboard:"Kopirano v odlo\u017Ei\u0161\u010De.",copyToClipboardAsPng:"Kopirano v odlo\u017Ei\u0161\u010De kot PNG ({{exportSelection}}, {{exportColorScheme}})",fileSaved:"Datoteka shranjena.",fileSavedToFilename:"Shranjeno v {filename}",canvas:"platno",selection:"izbor",pasteAsSingleElement:`Uporabite {{shortcut}}, da prilepite kot en element,
|
|
6
|
+
ali prilepite v obstoje\u010D urejevalnik besedil`,unableToEmbed:"Vdelava tega URL-ja trenutno ni dovoljena. Ustvarite vpra\u0161anje na GitHub-u in prosite za vmestitev URL-ja na seznam dovoljenih",unrecognizedLinkFormat:"Povezava, ki ste jo vdelali, se ne ujema s pri\u010Dakovano obliko. Poskusite prilepiti niz za vdelavo, ki ste ga prejeli na izvorni strani"},h={transparent:"Prosojno",black:"\u010Crna",white:"Bela",red:"Rde\u010Da",pink:"Roza",grape:"Grozdje",violet:"Vijoli\u010Dna",gray:"Siva",blue:"Modra",cyan:"Cijan",teal:"Turkizna",green:"Zelena",yellow:"Rumena",orange:"Oran\u017Ena",bronze:"Bronasta"},P={app:{center_heading:"Vsi va\u0161i podatki so shranjeni lokalno v va\u0161em brskalniku.",center_heading_plus:"Ste namesto tega \u017Eeleli odpreti Excalidraw+?",menuHint:"Izvoz, nastavitve, jeziki, ..."},defaults:{menuHint:"Izvoz, nastavitve in ve\u010D ...",center_heading:"Diagrami. Enostavno.",toolbarHint:"Izberi orodje in za\u010Dni z risanjem!",helpHint:"Bli\u017Enjice in pomo\u010D"}},S={mostUsedCustomColors:"Najpogosteje uporabljene barve po meri",colors:"Barve",shades:"Odtenki",hexCode:"Hex koda",noShades:"Odtenki za to barvo niso na voljo"},y={action:{exportToImage:{title:"Izvozi kot sliko",button:"Izvozi kot sliko",description:"Izvozite podatke scene kot sliko, iz katere jo lahko pozneje uvozite."},saveToDisk:{title:"Shrani na disk",button:"Shrani na disk",description:"Izvozite podatke scene v datoteko, iz katere jo lahko pozneje uvozite."},excalidrawPlus:{title:"Excalidraw+",button:"Izvozi v Excalidraw+",description:"Shrani sceno v svoj delovni prostor Excalidraw+."}},modal:{loadFromFile:{title:"Nalo\u017Ei iz datoteke",button:"Nalo\u017Ei iz datoteke",description:"Nalaganje iz datoteke bo <bold>prepisalo va\u0161o obstoje\u010Do vsebino</bold>.<br></br>Svojo risbo lahko najprej varnostno kopirate z eno od spodnjih mo\u017Enosti."},shareableLink:{title:"Nalo\u017Ei iz povezave",button:"Zamenjaj mojo vsebino",description:"Nalaganje zunanje risbe bo <bold>prepisalo va\u0161o obstoje\u010Do vsebino</bold>.<br></br>Svojo risbo lahko najprej varnostno kopirate z eno od spodnjih mo\u017Enosti."}}},w={title:"Mermaid v Excalidraw",button:"Vstavi",description:"Trenutno so podprti samo <flowchartLink>diagrami poteka</flowchartLink>, <sequenceLink>diagrami zaporedij</sequenceLink> in <classLink>Razredni diagrami</classLink>. Druge vrste bodo upodobljene kot slike v Excalidraw.",syntax:"Sintaksa Mermaid",preview:"Predogled"},T={labels:e,library:o,buttons:i,alerts:a,errors:n,toolBar:t,headings:r,hints:l,canvasError:s,errorSplash:d,roomDialog:u,errorDialog:v,exportDialog:k,helpDialog:p,clearCanvasDialog:j,publishDialog:b,publishSuccessDialog:m,confirmDialog:c,imageExportDialog:z,encrypted:g,stats:D,toast:E,colors:h,welcomeScreen:P,colorPicker:S,overwriteConfirm:y,mermaid:w};export{a as alerts,i as buttons,s as canvasError,j as clearCanvasDialog,S as colorPicker,h as colors,c as confirmDialog,T as default,g as encrypted,v as errorDialog,d as errorSplash,n as errors,k as exportDialog,r as headings,p as helpDialog,l as hints,z as imageExportDialog,e as labels,o as library,w as mermaid,y as overwriteConfirm,b as publishDialog,m as publishSuccessDialog,u as roomDialog,D as stats,E as toast,t as toolBar,P as welcomeScreen};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import{a as yt}from"./chunk-UFP5Q4AY.js";import{a as pt}from"./chunk-Z2SY2HOC.js";import{a as ut}from"./chunk-ODUEA52Q.js";import"./chunk-RHPE44I2.js";import"./chunk-BD4WE264.js";import"./chunk-JOWBS42C.js";import"./chunk-OAJZ7HLK.js";import"./chunk-OCFCFASO.js";import"./chunk-LWULR3SM.js";import"./chunk-MBMPW7Z5.js";import"./chunk-EOBXW5VQ.js";import"./chunk-IZ3OI3C2.js";import"./chunk-YTNMNOWP.js";import"./chunk-OOCL4ATI.js";import"./chunk-WHUCV53C.js";import"./chunk-MRG7MJVS.js";import"./chunk-7HVDH43T.js";import"./chunk-HNBUIMIG.js";import"./chunk-EVU4QAL4.js";import{o as X}from"./chunk-PTBOP4OT.js";import"./chunk-44P66WFA.js";import{O as rt,T as it,U as st,V as ct,W as lt,X as dt,Y as ft,Z as mt,i as Q,k as at,u as O}from"./chunk-TL3HLL2S.js";import{b as E}from"./chunk-SRORWQJZ.js";import{a as r}from"./chunk-XOYVR3SV.js";import"./chunk-RJ2R4FVC.js";var xt=r(()=>({domains:new Map,transitions:[]}),"createDefaultData"),G=xt(),St=r(()=>G.domains,"getDomains"),Mt=r(()=>G.transitions,"getTransitions"),zt=r(t=>{if(t)for(let e of t){let n=e.domain,o=(e.items??[]).map(c=>({label:c.label}));G.domains.set(n,{name:n,items:o})}},"setDomains"),Lt=r(t=>{t&&(G.transitions=t.filter(e=>e.from===e.to?(E.warn(`Cynefin: self-loop transition on domain "${e.from}" is not meaningful and will be skipped.`),!1):!0).map(e=>({from:e.from,to:e.to,label:e.label||void 0})))},"setTransitions"),Nt=r(()=>X({...at.cynefin,...O().cynefin}),"getConfig"),Pt=r(()=>{it(),G=xt()},"clear"),j={getDomains:St,getTransitions:Mt,setDomains:zt,setTransitions:Lt,getConfig:Nt,clear:Pt,setAccTitle:st,getAccTitle:ct,setDiagramTitle:ft,getDiagramTitle:mt,getAccDescription:dt,setAccDescription:lt},It=r(t=>{yt(t,j),j.setDomains(t.domains),j.setTransitions(t.transitions)},"populate"),Wt={parse:r(async t=>{let e=await ut("cynefin",t);E.debug(e),It(e)},"parse")};function H(t){let e=t+1831565813|0;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}r(H,"seededRandom");function gt(t){let e=0;for(let n=0;n<t.length;n++){let o=t.charCodeAt(n);e=(e<<5)-e+o,e|=0}return e}r(gt,"hashString");function $t(t,e){return typeof t=="number"&&Number.isFinite(t)&&t!==0?t:gt(e)}r($t,"resolveSeed");function bt(t,e,n,o){let c=t/2,m=o??t*.015,v=7,W=e/v,d=[];for(let a=0;a<=v;a++){let p=H(n+a*17)*m*2-m;d.push({x:c+p,y:a*W})}let D=`M${d[0].x},${d[0].y}`;for(let a=0;a<d.length-1;a++){let p=d[a],s=d[a+1],f=(p.y+s.y)/2,b=a%2===0?1:-1,h=m*1.5*b*H(n+a*31+7),R=p.x+h,F=f,V=s.x-h;D+=` C${R},${F} ${V},${f} ${s.x},${s.y}`}return D}r(bt,"generateFoldPath");function wt(t,e,n,o){let c=e/2,m=o??e*.015,v=7,W=t/v,d=[];for(let a=0;a<=v;a++){let p=H(n+a*23)*m*2-m;d.push({x:a*W,y:c+p})}let D=`M${d[0].x},${d[0].y}`;for(let a=0;a<d.length-1;a++){let p=d[a],s=d[a+1],f=(p.x+s.x)/2,b=a%2===0?1:-1,h=m*1.5*b*H(n+a*37+11),R=f,F=p.y+h,V=f,z=s.y-h;D+=` C${R},${F} ${V},${z} ${s.x},${s.y}`}return D}r(wt,"generateHorizontalBoundary");function Ct(t,e){let n=t/2,o=e*.5,c=e,m=t*.03;return[`M${n},${o}`,`C${n+m},${o+(c-o)*.2}`,`${n-m*1.5},${o+(c-o)*.55}`,`${n+m*.5},${o+(c-o)*.75}`,`C${n-m},${o+(c-o)*.85}`,`${n+m*.3},${o+(c-o)*.95}`,`${n},${c}`].join(" ")}r(Ct,"generateCliffPath");function vt(t,e,n,o){return[`M${t-n},${e}`,`A${n},${o} 0 1,1 ${t+n},${e}`,`A${n},${o} 0 1,1 ${t-n},${e}`,"Z"].join(" ")}r(vt,"generateConfusionPath");var ht={complex:{model:"Probe \u2192 Sense \u2192 Respond",practice:"Emergent Practices"},complicated:{model:"Sense \u2192 Analyse \u2192 Respond",practice:"Good Practices"},clear:{model:"Sense \u2192 Categorise \u2192 Respond",practice:"Best Practices"},chaotic:{model:"Act \u2192 Sense \u2192 Respond",practice:"Novel Practices"},confusion:{model:"",practice:"Disorder"}},Rt=r((t,e)=>{let n=t/2,o=e/2;return{complex:{cx:n/2,cy:o/2,x:0,y:0,w:n,h:o},complicated:{cx:n+n/2,cy:o/2,x:n,y:0,w:n,h:o},chaotic:{cx:n/2,cy:o+o/2,x:0,y:o,w:n,h:o},clear:{cx:n+n/2,cy:o+o/2,x:n,y:o,w:n,h:o},confusion:{cx:n,cy:o,x:n*.7,y:o*.7,w:n*.6,h:o*.6}}},"getDomainLayouts"),Ft=r(()=>{let t=Q(),e=O();return X(t,e.themeVariables).cynefin},"getCynefinDomainColors"),Z=3,Vt=r((t,e,n,o)=>{let c=o.db,m=c.getDomains(),v=c.getTransitions(),W=c.getDiagramTitle(),d=c.getAccTitle(),D=c.getAccDescription(),a=c.getConfig(),p=Ft();E.debug("Rendering Cynefin diagram");let s=a.width,f=a.height,b=a.padding,h=a.showDomainDescriptions,R=a.boundaryAmplitude,F=s+b*2,V=f+b*2,z={complex:p.complexBg,complicated:p.complicatedBg,clear:p.clearBg,chaotic:p.chaoticBg,confusion:p.confusionBg},k=pt(e);rt(k,V,F,a.useMaxWidth??!0),k.attr("viewBox",`0 0 ${F} ${V}`),d&&k.append("title").text(d),D&&k.append("desc").text(D);let T=k.append("g").attr("transform",`translate(${b}, ${b})`),_=Rt(s,f),J=$t(a.seed,e),Dt=T.append("g").attr("class","cynefin-backgrounds"),q=["complex","complicated","chaotic","clear"];for(let l of q){let i=_[l];Dt.append("rect").attr("class","cynefinDomain").attr("x",i.x).attr("y",i.y).attr("width",i.w).attr("height",i.h).attr("fill",z[l]).attr("fill-opacity",.4).attr("stroke","none")}let U=T.append("g").attr("class","cynefin-boundaries");U.append("path").attr("class","cynefinBoundary").attr("d",bt(s,f,J,R)).attr("fill","none"),U.append("path").attr("class","cynefinBoundary").attr("d",wt(s,f,J+100,R)).attr("fill","none"),U.append("path").attr("class","cynefinCliff").attr("d",Ct(s,f)).attr("fill","none");let kt=s*.15,Tt=f*.15;T.append("path").attr("class","cynefinConfusion").attr("d",vt(s/2,f/2,kt,Tt)).attr("fill",z.confusion).attr("fill-opacity",.5);let K=T.append("g").attr("class","cynefin-labels");for(let l of q){let i=_[l];K.append("text").attr("class","cynefinDomainLabel").attr("x",i.cx).attr("y",h?i.cy-30:i.cy).attr("text-anchor","middle").attr("dominant-baseline","middle").text(l.charAt(0).toUpperCase()+l.slice(1))}if(K.append("text").attr("class","cynefinDomainLabel").attr("x",s/2).attr("y",h?f/2-10:f/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text("Confusion"),h){let l=T.append("g").attr("class","cynefin-subtitles");for(let i of q){let u=_[i],y=ht[i];l.append("text").attr("class","cynefinSubtitle").attr("x",u.cx).attr("y",u.cy-10).attr("text-anchor","middle").attr("dominant-baseline","middle").text(y.model),l.append("text").attr("class","cynefinSubtitle").attr("x",u.cx).attr("y",u.cy+5).attr("text-anchor","middle").attr("dominant-baseline","middle").text(y.practice)}l.append("text").attr("class","cynefinSubtitle").attr("x",s/2).attr("y",f/2+8).attr("text-anchor","middle").attr("dominant-baseline","middle").text(ht.confusion.practice)}let tt=T.append("g").attr("class","cynefin-items"),A=26,et=10,At=["complex","complicated","chaotic","clear","confusion"];for(let l of At){let i=m.get(l);if(!i||i.items.length===0)continue;let u=_[l],y=l==="confusion",L=i.items,N=0;y&&i.items.length>Z&&(N=i.items.length-Z,L=i.items.slice(0,Z));let B;if(y){let g=h?22:14;B=u.cy+g}else B=u.cy+(h?25:15);if([...L].forEach((g,S)=>{let w=B+S*(A+4),M=tt.append("g"),P=M.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",A/2).attr("text-anchor","middle").attr("dominant-baseline","central").text(g.label),$=g.label.length*7,x=P.node();if(x&&typeof x.getBBox=="function"){let Y=x.getBBox();Y.width>0&&($=Y.width)}let C=$+et*2,I=u.cx-C/2;M.attr("transform",`translate(${I}, ${w})`),M.insert("rect","text").attr("class","cynefinItem").attr("x",0).attr("y",0).attr("width",C).attr("height",A).attr("rx",4).attr("ry",4).attr("fill",z[l]).attr("fill-opacity",.95),P.attr("x",C/2).attr("y",A/2)}),N>0){let g=B+L.length*(A+4),S=`+${N} more`,w=tt.append("g"),M=w.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",A/2).attr("text-anchor","middle").attr("dominant-baseline","central").text(S),P=S.length*7,$=M.node();if($&&typeof $.getBBox=="function"){let I=$.getBBox();I.width>0&&(P=I.width)}let x=P+et*2,C=u.cx-x/2;w.attr("transform",`translate(${C}, ${g})`),w.insert("rect","text").attr("class","cynefinItemOverflow").attr("x",0).attr("y",0).attr("width",x).attr("height",A).attr("rx",4).attr("ry",4).attr("fill",z[l]).attr("fill-opacity",.6),M.attr("x",x/2).attr("y",A/2)}}if(v.length>0){let l=k.select("defs").empty()?k.append("defs"):k.select("defs"),i=`cynefin-arrow-${e}`;l.append("marker").attr("id",i).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","cynefinArrowHead");let u=T.append("g").attr("class","cynefin-arrows");v.forEach(y=>{let L=_[y.from],N=_[y.to];if(!L||!N)return;if(y.from===y.to){E.warn(`Cynefin renderer: skipping self-loop on domain "${y.from}"`);return}let B=L.cx,g=L.cy,S=N.cx,w=N.cy,M=(B+S)/2,P=(g+w)/2,$=S-B,x=w-g,C=Math.sqrt($*$+x*x),I=C*.15,Y=-x/C,Bt=$/C,nt=M+Y*I,ot=P+Bt*I;u.append("path").attr("class","cynefinArrowLine").attr("d",`M${B},${g} Q${nt},${ot} ${S},${w}`).attr("fill","none").attr("marker-end",`url(#${i})`),y.label&&u.append("text").attr("class","cynefinArrowLabel").attr("x",nt).attr("y",ot-6).attr("text-anchor","middle").attr("dominant-baseline","auto").text(y.label)})}W&&T.append("text").attr("class","cynefinTitle").attr("x",s/2).attr("y",-b/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text(W)},"draw"),_t={draw:Vt},Et=r(()=>{let t=Q(),e=O();return X(t,e.themeVariables).cynefin},"getCynefinTheme"),Ht=r(()=>{let t=Et();return`
|
|
2
|
+
.cynefinDomain {
|
|
3
|
+
stroke: none;
|
|
4
|
+
}
|
|
5
|
+
.cynefinDomainLabel {
|
|
6
|
+
font-size: ${t.domainFontSize}px;
|
|
7
|
+
font-weight: bold;
|
|
8
|
+
fill: ${t.labelColor};
|
|
9
|
+
}
|
|
10
|
+
.cynefinSubtitle {
|
|
11
|
+
font-size: ${t.itemFontSize-1}px;
|
|
12
|
+
fill: ${t.textColor};
|
|
13
|
+
font-style: italic;
|
|
14
|
+
}
|
|
15
|
+
.cynefinItem {
|
|
16
|
+
fill-opacity: 0.95;
|
|
17
|
+
stroke: ${t.boundaryColor};
|
|
18
|
+
stroke-width: 1;
|
|
19
|
+
}
|
|
20
|
+
.cynefinItemText {
|
|
21
|
+
font-size: ${t.itemFontSize}px;
|
|
22
|
+
fill: ${t.textColor};
|
|
23
|
+
}
|
|
24
|
+
.cynefinItemOverflow {
|
|
25
|
+
fill-opacity: 0.6;
|
|
26
|
+
stroke: ${t.boundaryColor};
|
|
27
|
+
stroke-width: 1;
|
|
28
|
+
stroke-dasharray: 3 2;
|
|
29
|
+
}
|
|
30
|
+
.cynefinBoundary {
|
|
31
|
+
stroke: ${t.boundaryColor};
|
|
32
|
+
stroke-width: ${t.boundaryWidth};
|
|
33
|
+
stroke-dasharray: 6 3;
|
|
34
|
+
}
|
|
35
|
+
.cynefinCliff {
|
|
36
|
+
stroke: ${t.cliffColor};
|
|
37
|
+
stroke-width: ${t.cliffWidth};
|
|
38
|
+
}
|
|
39
|
+
.cynefinConfusion {
|
|
40
|
+
stroke: ${t.boundaryColor};
|
|
41
|
+
stroke-width: 1.5;
|
|
42
|
+
stroke-dasharray: 4 2;
|
|
43
|
+
}
|
|
44
|
+
.cynefinArrowLine {
|
|
45
|
+
stroke: ${t.arrowColor};
|
|
46
|
+
stroke-width: ${t.arrowWidth};
|
|
47
|
+
fill: none;
|
|
48
|
+
}
|
|
49
|
+
.cynefinArrowHead {
|
|
50
|
+
fill: ${t.arrowColor};
|
|
51
|
+
stroke: none;
|
|
52
|
+
}
|
|
53
|
+
.cynefinArrowLabel {
|
|
54
|
+
font-size: ${t.itemFontSize-1}px;
|
|
55
|
+
fill: ${t.textColor};
|
|
56
|
+
}
|
|
57
|
+
.cynefinTitle {
|
|
58
|
+
font-size: ${t.domainFontSize+2}px;
|
|
59
|
+
font-weight: bold;
|
|
60
|
+
fill: ${t.labelColor};
|
|
61
|
+
}
|
|
62
|
+
`},"styles"),Gt=Ht,Zt={parser:Wt,db:j,renderer:_t,styles:Gt};export{Zt as diagram};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-RJ2R4FVC.js";var s=async(t=[{}])=>(Array.isArray(t)||(t=[t]),new Promise((c,l)=>{let e=document.createElement("input");e.type="file";let p=[...t.map(a=>a.mimeTypes||[]),...t.map(a=>a.extensions||[])].join();e.multiple=t[0].multiple||!1,e.accept=p||"";let n=a=>{typeof i=="function"&&i(),c(a)},i=t[0].legacySetup&&t[0].legacySetup(n,()=>i(l),e);e.addEventListener("change",()=>{n(e.multiple?Array.from(e.files):e.files[0])}),e.click()}));export{s as default};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import"./chunk-GCO4TDHX.js";import"./chunk-RJ2R4FVC.js";var u={paste:"D\xE1n",pasteAsPlaintext:"D\xE1n ki\u1EC3u v\u0103n b\u1EA3n thu\u1EA7n",pasteCharts:"D\xE1n bi\u1EC3u \u0111\u1ED3",selectAll:"Ch\u1ECDn t\u1EA5t c\u1EA3",multiSelect:"Th\xEAm m\u1EDBi v\xE0o Select",moveCanvas:"Di chuy\u1EC3n canvas",cut:"C\u1EAFt",copy:"Sao ch\xE9p",copyAsPng:"Sao ch\xE9p v\xE0o b\u1ED9 nh\u1EDB t\u1EA1m d\u01B0\u1EDBi d\u1EA1ng PNG",copyAsSvg:"Sao ch\xE9p v\xE0o b\u1ED9 nh\u1EDB t\u1EA1m d\u01B0\u1EDBi d\u1EA1ng SVG",copyText:"Sao ch\xE9p v\xE0o b\u1ED9 nh\u1EDB t\u1EA1m d\u01B0\u1EDBi d\u1EA1ng ch\u1EEF",copySource:"",convertToCode:"",bringForward:"\u0110\u01B0a ra tr\u01B0\u1EDBc",sendToBack:"H\u1EA1 xu\u1ED1ng d\u01B0\u1EDBi",bringToFront:"\u0110\u01B0a ra \u0111\u1EA7u ti\xEAn",sendBackward:"H\u1EA1 xu\u1ED1ng cu\u1ED1i",delete:"X\xF3a",copyStyles:"Sao ch\xE9p \u0111\u1ECBnh d\u1EA1ng",pasteStyles:"D\xE1n \u0111\u1ECBnh d\u1EA1ng",stroke:"N\xE9t",background:"N\u1EC1n",fill:"Fill",strokeWidth:"\u0110\u1ED9 d\xE0y n\xE9t",strokeStyle:"Ki\u1EC3u n\xE9t",strokeStyle_solid:"Kh\u1ED1i",strokeStyle_dashed:"G\u1EA1ch ngang",strokeStyle_dotted:"Nhi\u1EC1u ch\u1EA5m",sloppiness:"Hoa v\u0103n n\xE9t",opacity:"\u0110\u1ED9 trong su\u1ED1t",textAlign:"C\u0103n ch\u1EC9nh v\u0103n b\u1EA3n",edges:"C\u1EA1nh",sharp:"Nh\u1ECDn",round:"Tr\xF2n",arrowheads:"\u0110\u1EA7u m\u0169i t\xEAn",arrowhead_none:"Kh\xF4ng",arrowhead_arrow:"M\u0169i t\xEAn",arrowhead_bar:"Thanh",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Tam gi\xE1c",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"C\u1EE1 ch\u1EEF",fontFamily:"Ph\xF4ng ch\u1EEF",addWatermark:'L\xE0m v\u1EDBi Excalidraw"',handDrawn:"V\u1EBD tay",normal:"B\xECnh th\u01B0\u1EDDng",code:"M\xE3",small:"Nh\u1ECF",medium:"V\u1EEBa",large:"L\u1EDBn",veryLarge:"R\u1EA5t l\u1EDBn",solid:"\u0110\u1EB7c",hachure:"N\xE9t g\u1EA1ch g\u1EA1ch",zigzag:"Zigzag",crossHatch:"N\xE9t g\u1EA1ch ch\xE9o",thin:"M\u1ECFng",bold:"In \u0111\u1EADm",left:"Tr\xE1i",center:"Gi\u1EEFa",right:"Ph\u1EA3i",extraBold:"N\xE9t si\xEAu \u0111\u1EADm",architect:"Ki\u1EBFn tr\xFAc s\u01B0",artist:"Ngh\u1EC7 sy\u0303",cartoonist:"Ho\u1EA1t h\xECnh",fileTitle:"T\xEAn t\u1EADp tin",colorPicker:"Ch\u1ECDn m\xE0u",canvasColors:"\u0110\xE3 d\xF9ng tr\xEAn canvas",canvasBackground:"N\u1EC1n canvas",drawingCanvas:"Canvas v\u1EBD",layers:"L\u1EDBp",actions:"Ch\u1EE9c n\u0103ng",language:"Ng\xF4n ng\u1EEF",liveCollaboration:"H\u1EE3p t\xE1c tr\u1EF1c ti\u1EBFp...",duplicateSelection:"T\u1EA1o b\u1EA3n sao",untitled:"Kh\xF4ng c\xF3 ti\xEAu \u0111\u1EC1",name:"T\xEAn",yourName:"T\xEAn c\u1EE7a b\u1EA1n",madeWithExcalidraw:"L\xE0m v\u1EDBi Excalidraw",group:"G\u1ED9p nh\xF3m l\u1EA1i l\u1EF1a ch\u1ECDn",ungroup:"T\xE1ch nh\xF3m l\u1EF1a ch\u1ECDn",collaborators:"C\u1ED9ng t\xE1c vi\xEAn",showGrid:"Hi\u1EC3n th\u1ECB l\u01B0\u1EDBi",addToLibrary:"Th\xEAm v\xE0o th\u01B0 vi\u1EC7n",removeFromLibrary:"X\xF3a kh\u1ECFi th\u01B0 vi\u1EC7n",libraryLoadingMessage:"\u0110ang t\u1EA3i th\u01B0 vi\u1EC7n\u2026",libraries:"Xem th\u01B0 vi\u1EC7n",loadingScene:"\u0110ang t\u1EA3i v\u1EC1\u2026",align:"C\u0103n ch\u1EC9nh",alignTop:"C\u0103n tr\xEAn",alignBottom:"C\u0103n d\u01B0\u1EDBi",alignLeft:"Canh tr\xE1i",alignRight:"Canh ph\u1EA3i",centerVertically:"Gi\u01B0\u0303a theo chi\u1EC1u d\u1ECDc",centerHorizontally:"Gi\u01B0\u0303a theo chi\u1EC1u ngang",distributeHorizontally:"Ph\xE2n b\xF4\u0301 theo chi\xEA\u0300u ngang",distributeVertically:"Ph\xE2n b\xF4\u0301 theo chi\xEA\u0300u do\u0323c",flipHorizontal:"L\u1EADt ngang",flipVertical:"L\u1EADt d\u1ECDc",viewMode:"Ch\u1EBF \u0111\u1ED9 xem",share:"Chia s\u1EBB",showStroke:"Hi\u1EC3n th\u1ECB ch\u1ECDn m\xE0u",showBackground:"Hi\u1EC7n th\u1ECB ch\u1ECDn m\xE0u n\u1EC1n",toggleTheme:"",personalLib:"Th\u01B0 vi\u1EC7n c\xE1 nh\xE2n",excalidrawLib:"Th\u01B0 vi\u1EC7n Excalidraw",decreaseFontSize:"Gi\u1EA3m c\u1EE1 ch\u1EEF",increaseFontSize:"T\u0103ng c\u1EE1 ch\u1EEF",unbindText:"",bindText:"",createContainerFromText:"",link:{edit:"S\u1EEDa li\xEAn k\u1EBFt",editEmbed:"",create:"T\u1EA1o li\xEAn k\u1EBFt",createEmbed:"",label:"Li\xEAn k\u1EBFt",labelEmbed:"",empty:""},lineEditor:{edit:"\u0110i\u1EC1u ch\u1EC9nh n\xE9t",exit:"Tho\xE1t ch\u1EC9nh n\xE9t"},elementLock:{lock:"Kho\xE1",unlock:"M\u1EDF kho\xE1",lockAll:"Kh\xF3a t\u1EA5t c\u1EA3",unlockAll:"M\u1EDF kh\xF3a t\u1EA5t c\u1EA3"},statusPublished:"\u0110\xE3 \u0111\u0103ng t\u1EA3i",sidebarLock:"Gi\u1EEF thanh b\xEAn lu\xF4n m\u1EDF",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},E={noItems:"Ch\u01B0a c\xF3 m\xF3n n\xE0o...",hint_emptyLibrary:"Ch\u1ECDn m\u1ED9t m\xF3n tr\xEAn canvas \u0111\u1EC3 th\xEAm n\xF3 v\xE0o \u0111\xE2y, ho\u1EB7c c\xE0i \u0111\u1EB7t th\u01B0 vi\u1EC7n t\u1EEB kho l\u01B0u tr\u1EEF c\xF4ng c\u1ED9ng, \u1EDF b\xEAn d\u01B0\u1EDBi.",hint_emptyPrivateLibrary:"Ch\u1ECDn m\u1ED9t m\xF3n tr\xEAn canvas \u0111\u1EC3 th\xEAm n\xF3 v\xE0o \u0111\xE2y."},n={clearReset:"Reset canvas",exportJSON:"Xu\u1EA5t ra t\u1EADp tin",exportImage:"Xu\u1EA5t file \u1EA3nh...",export:"L\u01B0u v\xE0o...",copyToClipboard:"Sao ch\xE9p v\xE0o b\u1ED9 nh\u1EDB t\u1EA1m",save:"L\u01B0u v\xE0o t\u1EADp tin hi\u1EC7n t\u1EA1i",saveAs:"L\u01B0u th\xE0nh",load:"M\u1EDF",getShareableLink:"T\u1EA1o li\xEAn k\u1EBFt \u0111\u1EC3 chia s\u1EBB",close:"\u0110\xF3ng",selectLanguage:"Ch\u1ECDn ng\xF4n ng\u1EEF",scrollBackToContent:"Cu\u1ED9n v\u1EC1 n\u1ED9i dung ch\xEDnh",zoomIn:"Ph\xF3ng to",zoomOut:"Thu nh\u1ECF",resetZoom:"\u0110\u1EB7t l\u1EA1i thu ph\xF3ng",menu:"B\u1EA3ng ch\u1ECDn",done:"Xong",edit:"Ch\u1EC9nh s\u1EEDa",undo:"Ho\xE0n t\xE1c",redo:"L\xE0m l\u1EA1i",resetLibrary:"",createNewRoom:"T\u1EA1o ph\xF2ng m\u1EDBi",fullScreen:"To\xE0n m\xE0n h\xECnh",darkMode:"Ch\u1EBF \u0111\u1ED9 t\u1ED1i",lightMode:"Ch\u1EBF \u0111\u1ED9 s\xE1ng",zenMode:"Ch\u1EBF \u0111\u1ED9 zen",objectsSnapMode:"",exitZenMode:"Tho\xE1t ch\u1EC3 \u0111\u1ED9 zen",cancel:"Hu\u0309y",clear:"L\xE0m s\u1EA1ch",remove:"X\xF3a",embed:"",publishLibrary:"\u0110\u0103ng t\u1EA3i",submit:"G\u1EEDi",confirm:"X\xE1c nh\u1EADn",embeddableInteractionButton:""},e={clearReset:"\u0110i\u1EC1u n\xE0y s\u1EBD d\u1ECDn h\u1EBFt canvas. B\u1EA1n c\xF3 ch\u1EAFc kh\xF4ng?",couldNotCreateShareableLink:"Kh\xF4ng th\u1EC3 t\u1EA1o \u0111\u01B0\u1EDDng d\u1EABn chia s\u1EBB.",couldNotCreateShareableLinkTooBig:"Kh\xF4ng th\u1EC3 t\u1EA1o \u0111\u01B0\u1EDDng d\u1EABn chia s\u1EBB: b\u1EA3n v\u1EBD qu\xE1 l\u1EDBn",couldNotLoadInvalidFile:"Kh\xF4ng th\u1EC3 load t\u1EADp tin kh\xF4ng h\u1EE3p l\u1EC7",importBackendFailed:"",cannotExportEmptyCanvas:"Kh\xF4ng th\u1EC3 xu\u1EA5t canvas tr\u1ED1ng.",couldNotCopyToClipboard:"",decryptFailed:"Kh\xF4ng th\u1EC3 gi\u1EA3i m\xE3 d\u1EEF li\u1EC7u.",uploadedSecurly:"",loadSceneOverridePrompt:"",collabStopOverridePrompt:`D\u1EEBng phi\xEAn s\u1EBD ghi \u0111\xE8 l\xEAn b\u1EA3n v\u1EBD \u0111\u01B0\u1EE3c l\u01B0u tr\u1EEF c\u1EE5c b\u1ED9 tr\u01B0\u1EDBc \u0111\xF3 c\u1EE7a b\u1EA1n. B\u1EA1n c\xF3 ch\u1EAFc kh\xF4ng?
|
|
2
|
+
|
|
3
|
+
(N\u1EBFu b\u1EA1n mu\u1ED1n gi\u1EEF b\u1EA3n v\u1EBD c\u1EE5c b\u1ED9 c\u1EE7a m\xECnh, ch\u1EC9 c\u1EA7n \u0111\xF3ng tab tr\xECnh duy\u1EC7t.)`,errorAddingToLibrary:"Kh\xF4ng th\u1EC3 th\xEAm m\xF3n v\xE0o th\u01B0 vi\u1EC7n",errorRemovingFromLibrary:"Kh\xF4ng th\u1EC3 xo\xE1 m\xF3n kh\u1ECFi th\u01B0 vi\u1EC7n",confirmAddLibrary:"H\xECnh {{numShapes}} s\u1EBD \u0111\u01B0\u1EE3c th\xEAm v\xE0o th\u01B0 vi\u1EC7n. B\u1EA1n ch\u1EAFc ch\u1EE9?",imageDoesNotContainScene:"H\xECnh \u1EA3nh n\xE0y d\u01B0\u1EDDng nh\u01B0 kh\xF4ng ch\u1EE9a b\u1EA5t k\u1EF3 d\u1EEF li\u1EC7u c\u1EA3nh n\xE0o. B\u1EA1n \u0111\xE3 b\u1EADt t\xEDnh n\u0103ng nh\xFAng c\u1EA3nh khi xu\u1EA5t ch\u01B0a?",cannotRestoreFromImage:"",invalidSceneUrl:"",resetLibrary:"",removeItemsFromsLibrary:"Xo\xE1 {{count}} m\xF3n t\u1EEB th\u01B0 vi\u1EC7n?",invalidEncryptionKey:"Kh\xF3a m\xE3 h\xF3a ph\u1EA3i c\xF3 22 k\xFD t\u1EF1. H\u1EE3p t\xE1c tr\u1EF1c ti\u1EBFp b\u1ECB v\xF4 hi\u1EC7u h\xF3a.",collabOfflineWarning:`Kh\xF4ng c\xF3 k\u1EBFt n\u1ED1i internet.
|
|
4
|
+
Thay \u0111\u1ED5i c\u1EE7a b\u1EA1n s\u1EBD kh\xF4ng \u0111\u01B0\u1EE3c l\u01B0u!`},t={unsupportedFileType:"Lo\u1EA1i t\u1EADp tin kh\xF4ng \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3.",imageInsertError:"Kh\xF4ng th\u1EC3 th\xEAm \u1EA3nh. H\xE3y th\u1EED l\u1EA1i sau...",fileTooBig:"T\u1EC7p tin qu\xE1 l\u1EDBn. Dung l\u01B0\u1EE3ng t\u1ED1i \u0111a cho ph\xE9p l\xE0 {{maxSize}}.",svgImageInsertError:"Kh\xF4ng th\u1EC3 th\xEAm \u1EA3nh SVG. M\xE3 SVG c\xF3 v\u1EBB sai.",failedToFetchImage:"",invalidSVGString:"SVG kh\xF4ng h\u1EE3p l\u1EC7.",cannotResolveCollabServer:"Kh\xF4ng th\u1EC3 k\u1EBFt n\u1ED1i v\u1EDBi m\xE1y ch\u1EE7 h\u1EE3p t\xE1c. H\xE3y t\u1EA3i l\u1EA1i trang v\xE0 th\u1EED l\u1EA1i.",importLibraryError:"Kh\xF4ng th\u1EC3 t\u1EA3i th\u01B0 vi\u1EC7n",collabSaveFailed:"Kh\xF4ng th\u1EC3 l\u01B0u v\xE0o c\u01A1 s\u1EDF d\u1EEF li\u1EC7u. N\u1EBFu v\u1EA5n \u0111\u1EC1 ti\u1EBFp t\u1EE5c x\u1EA3y ra, b\u1EA1n n\xEAn l\u01B0u t\u1EC7p v\xE0o m\xE1y \u0111\u1EC3 \u0111\u1EA3m b\u1EA3o b\u1EA1n kh\xF4ng b\u1ECB m\u1EA5t c\xF4ng vi\u1EC7c.",collabSaveFailed_sizeExceeded:"Kh\xF4ng th\u1EC3 l\u01B0u v\xE0o c\u01A1 s\u1EDF d\u1EEF li\u1EC7u, canvas c\xF3 v\u1EBB qu\xE1 l\u1EDBn. B\u1EA1n n\xEAn l\u01B0u t\u1EC7p c\u1EE5c b\u1ED9 \u0111\u1EC3 \u0111\u1EA3m b\u1EA3o b\u1EA1n kh\xF4ng b\u1ECB m\u1EA5t c\xF4ng vi\u1EC7c.",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},a={selection:"L\u1EF1a ch\u1ECDn",image:"Ch\xE8n \u1EA3nh",rectangle:"H\xECnh ch\u1EEF nh\u1EADt",diamond:"Kim c\u01B0\u01A1ng",ellipse:"H\xECnh el\xEDp",arrow:"M\u0169i t\xEAn",line:"\u0110\u01B0\u1EDDng k\u1EBB",freedraw:"V\u1EBD",text:"V\u0103n b\u1EA3n",library:"Th\u01B0 vi\u1EC7n",lock:"Gi\u1EEF d\u1EE5ng c\u0169 hi\u1EC7n t\u1EA1i sau khi v\u1EBD",penMode:"Ch\u1EBF \u0111\u1ED9 b\xFAt v\u1EBD - ng\u0103n ng\u1EEBa ch\u1EA1m nh\u1EA7m",link:"Th\xEAm/ Ch\u1EC9nh s\u1EEDa li\xEAn k\u1EBFt cho h\xECnh \u0111\u01B0\u1EE3c ch\u1ECDn",eraser:"X\xF3a",frame:"",magicframe:"",embeddable:"",laser:"",hand:"Tay k\xE9o",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},i={canvasActions:"H\xE0nh \u0111\u1ED9ng canvas",selectedShapeActions:"C\xE1c h\xE0nh \u0111\u1ED9ng cho h\xECnh d\u1EA1ng \u0111\xE3 ch\u1ECDn",shapes:"C\xE1c h\xECnh kh\u1ED1i"},o={canvasPanning:"\u0110\u1EC3 di chuy\u1EC3n canvas, gi\u1EEF con l\u0103n chu\u1ED9t ho\u1EB7c ph\xEDm c\xE1ch trong khi k\xE9o, ho\u1EB7c s\u1EED d\u1EE5ng c\xF4ng c\u1EE5 c\u1EA7m tay",linearElement:"\u1EA4n \u0111\u1EC3 b\u1EAFt \u0111\u1EA7u nhi\u1EC3m \u0111i\u1EC3m v\u1EBD, k\xE9o \u0111\u1EC3 v\u1EBD m\u1ED9t \u0111\u01B0\u1EDDng th\u1EB3ng",freeDraw:"\u1EA4n b\xE0 k\xE9o, th\u1EA3 khi b\u1EA1n xong",text:"M\u1EB9o: b\u1EA1n c\xF3 th\u1EC3 th\xEAm v\u0103n b\u1EA3n t\u1EA1i b\u1EA5t c\u1EE9 \u0111\xE2u b\u1EB1ng c\xE1ch \u1EA5n hai l\u1EA7n b\u1EB1ng tool l\u1EF1a ch\u1ECDn",embeddable:"",text_selected:"\u1EA4n 2 l\u1EA7n ho\u1EB7c nh\u1EA5n ENTER \u0111\u1EC3 ch\u1EC9nh v\u0103n b\u1EA3n",text_editing:"Nh\u1EA5n Escape ho\u1EB7c Ctrl/Cmd+ENTER \u0111\u1EC3 ho\xE0n th\xE0nh ch\u1EC9nh s\u1EEDa",linearElementMulti:"Nh\u1EA5n v\xE0o \u0111i\u1EC3m cu\u1ED1i ho\u1EB7c nh\u1EA5n Escape ho\u1EB7c Enter \u0111\u1EC3 k\u1EBFt th\xFAc",lockAngle:"B\u1EA1n c\xF3 th\u1EC3 ch\u1EC9nh l\u1EA1i g\xF3c b\u1EB1ng c\xE1ch gi\u1EEF ph\xEDm SHIFT",resize:`B\u1EA1n c\xF3 th\u1EC3 ch\u1EC9nh t\u1EF7 l\u1EC7 b\u1EB1ng c\xE1ch gi\u1EEF SHIFT khi ch\u1EC9nh k\xEDch c\u1EE1,
|
|
5
|
+
gi\u1EEF ALT \u0111\u1EC3 ch\u1EC9nh k\xEDch c\u1EE1 t\u1EEB trung t\xE2m`,resizeImage:"",rotate:"",lineEditor_info:"",lineEditor_pointSelected:"",lineEditor_nothingSelected:"",placeImage:"",publishLibrary:"",bindTextToElement:"",deepBoxSelect:"",eraserRevert:"",firefox_clipboard_write:'T\xEDnh n\u0103ng n\xE0y c\xF3 th\u1EC3 \u0111\u01B0\u1EE3c b\u1EADt b\u1EB1ng c\xE1ch \u0111\u1EB7t c\u1EDD "dom.events.asyncClipboard.clipboardItem" th\xE0nh "true". \u0110\u1EC3 thay \u0111\u1ED5i c\u1EDD tr\xECnh duy\u1EC7t trong Firefox, h\xE3y truy c\u1EADp trang "about:config".',disableSnapping:""},r={cannotShowPreview:"Kh\xF4ng th\u1EC3 xem tr\u01B0\u1EDBc",canvasTooBig:"Canvas n\xE0y c\xF3 th\u1EC3 h\u01A1i l\u1EDBn.",canvasTooBigTip:"M\u1EB9o: h\xE3y th\u1EED di chuy\u1EC3n c\xE1c elements nh\u1EA5t l\u1EA1i g\u1EA7n nhau h\u01A1n m\u1ED9t ch\xFAt."},h={headingMain:"",clearCanvasMessage:"N\u1EBFu kh\xF4ng t\u1EA3i l\u1EA1i \u0111\u01B0\u1EE3c, h\xE3y th\u1EED <button>d\u1ECDn canvas.</button>",clearCanvasCaveat:" \u0110i\u1EC1u n\xE0y s\u1EBD d\u1EABn \u0111\u1EBFn m\u1EA5t d\u1EEF li\u1EC7u b\u1EA1n \u0111\xE3 l\xE0m ",trackedToSentry:"",openIssueMessage:"",sceneContent:""},c={desc_intro:"",desc_privacy:"",button_startSession:"",button_stopSession:"",desc_inProgressIntro:"",desc_shareLink:"",desc_exitSession:"",shareTitle:""},l={title:""},x={disk_title:"",disk_details:"",disk_button:"",link_title:"",link_details:"",link_button:"",excalidrawplus_description:"",excalidrawplus_button:"",excalidrawplus_exportError:""},s={blog:"",click:"",deepSelect:"",deepBoxSelect:"",curvedArrow:"",curvedLine:"",documentation:"",doubleClick:"",drag:"",editor:"",editLineArrowPoints:"",editText:"",github:"",howto:"",or:"",preventBinding:"",tools:"",shortcuts:"",textFinish:"",textNewLine:"",title:"",view:"",zoomToFit:"",zoomToSelection:"",toggleElementLock:"",movePageUpDown:"",movePageLeftRight:""},d={title:"D\u1ECDn canvas"},g={title:"",itemName:"T\xEAn m\xF3n",authorName:"",githubUsername:"",twitterUsername:"",libraryName:"",libraryDesc:"",website:"",placeholder:{authorName:"",libraryName:"",libraryDesc:"",githubHandle:"",twitterHandle:"",website:""},errors:{required:"",website:""},noteDescription:"",noteGuidelines:"",noteLicense:"",noteItems:"T\u1EEBng m\xF3n trong th\u01B0 vi\u1EC7n ph\u1EA3i c\xF3 t\xEAn ri\xEAng \u0111\u1EC3 c\xF3 th\u1EC3 l\u1ECDc. C\xE1c m\xF3n th\u01B0 vi\u1EC7n sau \u0111\xE2y s\u1EBD th\xEAm:",atleastOneLibItem:"Vui l\xF2ng ch\u1ECDn \xEDt nh\u1EA5t m\u1ED9t m\xF3n th\u01B0 vi\u1EC7n \u0111\u1EC3 b\u1EAFt \u0111\u1EA7u",republishWarning:"L\u01B0u \xFD: m\u1ED9t s\u1ED1 m\xF3n \u0111\xE3 ch\u1ECDn \u0111\u01B0\u1EE3c \u0111\xE1nh d\u1EA5u l\xE0 \u0111\xE3 xu\u1EA5t b\u1EA3n/\u0111\xE3 g\u1EEDi. B\u1EA1n ch\u1EC9 n\xEAn g\u1EEDi l\u1EA1i c\xE1c m\xF3n khi c\u1EADp nh\u1EADt th\u01B0 vi\u1EC7n hi\u1EC7n c\xF3 ho\u1EB7c g\u1EEDi."},A={title:"",content:""},C={resetLibrary:"",removeItemsFromLib:"X\xF3a m\xF3n \u0111\xE3 ch\u1ECDn kh\u1ECFi th\u01B0 vi\u1EC7n"},m={header:"",label:{withBackground:"",onlySelected:"",darkMode:"",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""},button:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""}},D={tooltip:"",link:""},B={angle:"",element:"",elements:"",height:"",scene:"",selected:"",storage:"",title:"",total:"",version:"",versionCopy:"",versionNotAvailable:"",width:""},F={addedToLibrary:"",copyStyles:"",copyToClipboard:"",copyToClipboardAsPng:"",fileSaved:"",fileSavedToFilename:"",canvas:"canvas",selection:"",pasteAsSingleElement:"",unableToEmbed:"",unrecognizedLinkFormat:""},b={transparent:"",black:"",white:"",red:"",pink:"",grape:"",violet:"",gray:"",blue:"",cyan:"",teal:"",green:"",yellow:"",orange:"",bronze:""},p={app:{center_heading:"",center_heading_plus:"",menuHint:""},defaults:{menuHint:"",center_heading:"",toolbarHint:"",helpHint:""}},v={mostUsedCustomColors:"",colors:"",shades:"",hexCode:"",noShades:""},y={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},k={title:"",button:"",description:"",syntax:"",preview:""},S={labels:u,library:E,buttons:n,alerts:e,errors:t,toolBar:a,headings:i,hints:o,canvasError:r,errorSplash:h,roomDialog:c,errorDialog:l,exportDialog:x,helpDialog:s,clearCanvasDialog:d,publishDialog:g,publishSuccessDialog:A,confirmDialog:C,imageExportDialog:m,encrypted:D,stats:B,toast:F,colors:b,welcomeScreen:p,colorPicker:v,overwriteConfirm:y,mermaid:k};export{e as alerts,n as buttons,r as canvasError,d as clearCanvasDialog,v as colorPicker,b as colors,C as confirmDialog,S as default,D as encrypted,l as errorDialog,h as errorSplash,t as errors,x as exportDialog,i as headings,s as helpDialog,o as hints,m as imageExportDialog,u as labels,E as library,k as mermaid,y as overwriteConfirm,g as publishDialog,A as publishSuccessDialog,c as roomDialog,B as stats,F as toast,a as toolBar,p as welcomeScreen};
|