@jxsuite/studio 5.3.0 → 5.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/data/css-meta.json +28 -27
- package/dist/chunks/{cf-account-picker-nwnwdm6p.js → cf-account-picker-3f08rry6.js} +21 -18
- package/dist/chunks/{cf-settings-adg74qsk.js → cf-settings-m79r7p5y.js} +4 -4
- package/dist/chunks/{components-5y78e05d.js → components-xm826zjw.js} +3 -3
- package/dist/chunks/{content-source-4rzvmp0m.js → content-source-jt7rbcbc.js} +22 -22
- package/dist/chunks/{convert-to-repeater-jxsv62v7.js → convert-to-repeater-vg38bq99.js} +22 -22
- package/dist/chunks/{editor-3qhbg51x.js → editor-ddy019sn.js} +2 -2
- package/dist/chunks/entry-commands-64nb2a9a.js +42 -0
- package/dist/chunks/{extension-sections-2mrptyek.js → extension-sections-r73an5s6.js} +30 -29
- package/dist/chunks/{file-ops-knfqshrm.js → file-ops-3xan8mnj.js} +21 -21
- package/dist/chunks/{files-y6fr4he9.js → files-egsb0ry8.js} +28 -28
- package/dist/chunks/{format-host-1k4qrcqd.js → format-host-mym8qnd0.js} +3 -3
- package/dist/chunks/{fs-events-3y6y0nrm.js → fs-events-z2gg8qjt.js} +4 -4
- package/dist/chunks/{git-panel-2rkrsjva.js → git-panel-a05atk6q.js} +20 -20
- package/dist/chunks/{grid-view-1p6hsyjx.css → grid-view-3g1h2re8.css} +956 -139
- package/dist/chunks/{grid-view-a7b87n2c.js → grid-view-qaqer9kr.js} +24 -24
- package/dist/chunks/{icons-yy10wk9r.js → icons-drxq9q10.js} +8 -2
- package/dist/chunks/{iframe-host-scpw01h8.js → iframe-host-psetcv20.js} +11 -11
- package/dist/chunks/{index-n4j7qxyr.js → index-9yjae3hz.js} +4 -4
- package/dist/chunks/{javascript-4abzjcy9.css → javascript-bc9z461d.css} +688 -54
- package/dist/chunks/{javascript-xvrfrpkb.js → javascript-hr5sg57n.js} +2 -2
- package/dist/chunks/{jsonMode-vvmpmk34.css → jsonMode-qqd9nm1t.css} +1120 -303
- package/dist/chunks/{jsonMode-tyx2kj6p.js → jsonMode-zs88v0wr.js} +4 -4
- package/dist/chunks/layers-panel-83a16ytx.js +41 -0
- package/dist/chunks/{layers-jnvdbqva.js → layers-s6mc01ry.js} +3 -3
- package/dist/chunks/{media-picker-f66nav16.js → media-picker-nhn6rv4w.js} +11 -11
- package/dist/chunks/{menu-1dfhry4s.js → menu-8j4qxjrp.js} +4 -4
- package/dist/chunks/{monaco-binding-sw6en4dw.js → monaco-binding-e8d9wzyk.js} +3 -3
- package/dist/chunks/{monaco-buffer-pykwbm92.js → monaco-buffer-jaq1t9zj.js} +2 -2
- package/dist/chunks/{monaco-setup-8vbyqnhr.css → monaco-setup-ey9cjcm3.css} +954 -137
- package/dist/chunks/{monaco-setup-km6abc6q.js → monaco-setup-gsjdysze.js} +6 -6
- package/dist/chunks/{platform-ts9cg1a4.js → platform-fnchmhy7.js} +5 -3
- package/dist/chunks/publish-panel-ak6hxfma.js +27 -0
- package/dist/chunks/quick-search-c63mkt3b.js +47 -0
- package/dist/chunks/{references-h69xp9zz.js → references-f7bdv3z5.js} +3 -3
- package/dist/chunks/right-panel-t5n8wttg.js +45 -0
- package/dist/chunks/{studio-ze46gzjh.js → studio-01269reb.js} +7 -7
- package/dist/chunks/{studio-rnyf3f8e.js → studio-0a4gncx0.js} +3 -3
- package/dist/chunks/{studio-e1f24eff.js → studio-0d4p4wxj.js} +6778 -2993
- package/dist/chunks/{studio-4wbb9ct0.js → studio-1tejxvba.js} +3006 -1855
- package/dist/chunks/{studio-d1n2bykn.js → studio-3nprwbd9.js} +117 -25
- package/dist/chunks/{studio-4c041r8y.js → studio-40z39dme.js} +3 -3
- package/dist/chunks/{studio-151w0xnh.js → studio-482eeazk.js} +20 -20
- package/dist/chunks/{studio-cgprcdxn.js → studio-4998spet.js} +10 -9
- package/dist/chunks/{studio-nq5yf5mp.js → studio-557bmn0x.js} +2 -2
- package/dist/chunks/{studio-rtskkm43.js → studio-5w26wza5.js} +3 -3
- package/dist/chunks/{studio-6nzaktvy.js → studio-6pwn9j8c.js} +6 -3
- package/dist/chunks/{studio-wnsyffg1.js → studio-6vg0x5fz.js} +3 -2
- package/dist/chunks/{studio-vn5hske5.js → studio-7d3c1m59.js} +12 -5
- package/dist/chunks/{studio-6gryj0sg.js → studio-9vsvz7w7.js} +6 -6
- package/dist/chunks/{studio-50wfwy44.js → studio-9wm0xzpf.js} +19 -19
- package/dist/chunks/{studio-0j7r7s9g.js → studio-ag3z6shb.js} +10 -4
- package/dist/chunks/studio-aj9drheq.js +177 -0
- package/dist/chunks/{studio-xajk70w0.js → studio-apv9x70c.js} +189 -130
- package/dist/chunks/{studio-c04nzbby.js → studio-b9q3znz8.js} +2 -2
- package/dist/chunks/{studio-nfx354t1.js → studio-bh47w0cy.js} +9 -10
- package/dist/chunks/{studio-gk2twyh4.js → studio-dgdm6vvt.js} +264 -52
- package/dist/chunks/{studio-gtfq1dkz.js → studio-dwdcr2e8.js} +4 -4
- package/dist/chunks/{studio-nqgawfks.js → studio-fbcyz234.js} +146 -139
- package/dist/chunks/{studio-27q131j3.js → studio-fqpkpq1t.js} +7 -4
- package/dist/chunks/{studio-c0qgc3tn.js → studio-fy320dfc.js} +62 -68
- package/dist/chunks/{studio-zjjde71a.js → studio-gjj4bbfx.js} +2 -2
- package/dist/chunks/{studio-g33v4fe9.js → studio-jfhxy8h3.js} +7 -7
- package/dist/chunks/{studio-ab87phj1.js → studio-kwewmhhq.js} +4 -4
- package/dist/chunks/{studio-7rrb1esn.js → studio-m58xn8at.js} +25 -24
- package/dist/chunks/{studio-fzjx96t2.js → studio-mfkh1q8d.js} +17 -17
- package/dist/chunks/{studio-drg8qj9k.js → studio-mrh0a92f.js} +17 -17
- package/dist/chunks/{studio-jt27ta6x.js → studio-mt79tn56.js} +3 -3
- package/dist/chunks/{studio-b66rsh78.js → studio-ne593z1j.js} +38 -31
- package/dist/chunks/{studio-h4nvnjvz.js → studio-ptfcxkz5.js} +418 -232
- package/dist/chunks/{studio-dd1qqkry.js → studio-qxye31h7.js} +7 -7
- package/dist/chunks/{studio-ye9drbk8.js → studio-rav5bpmp.js} +73 -52
- package/dist/chunks/{studio-6kvgrkrp.js → studio-rwmmbrth.js} +6 -6
- package/dist/chunks/{studio-b7xacrwe.js → studio-sceg8ws0.js} +8 -8
- package/dist/chunks/{studio-msc1ee1m.js → studio-sjas5b3a.js} +19 -13
- package/dist/chunks/{studio-a65w20ex.js → studio-vd67b66d.js} +3 -3
- package/dist/chunks/{studio-7144epdr.js → studio-w475cbf9.js} +10 -10
- package/dist/chunks/{studio-4f3psrk1.js → studio-w7gpcvfj.js} +9 -9
- package/dist/chunks/{studio-nsgw7dbk.js → studio-xrbfdxgk.js} +7 -7
- package/dist/chunks/{studio-ke09tn9k.js → studio-y49b6mjv.js} +35 -35
- package/dist/chunks/{studio-j0w60gft.js → studio-ygvr9e4q.js} +10 -10
- package/dist/chunks/{studio-z2smx5ce.js → studio-yxmmjy2a.js} +9 -6
- package/dist/chunks/{tsMode-jy4m86rv.js → tsMode-ay4c78ne.js} +4 -4
- package/dist/chunks/{tsMode-hnxxb73h.css → tsMode-c72wyz27.css} +954 -137
- package/dist/chunks/{workspace-np10mayv.js → workspace-b9k2frks.js} +5 -5
- package/dist/chunks/{ws-client-ny4zc51r.js → ws-client-erze4czt.js} +356 -20
- package/dist/codicon.ttf +0 -0
- package/dist/iframe-entry.js +18 -16
- package/dist/studio.css +956 -139
- package/dist/studio.js +1453 -830
- package/dist/workers/editor.worker.js +196 -107
- package/dist/workers/json.worker.js +196 -107
- package/dist/workers/ts.worker.js +196 -107
- package/package.json +15 -14
- package/src/about/about-modal.ts +4 -3
- package/src/browse/library-commands.ts +15 -13
- package/src/browse/library-pane.ts +2 -2
- package/src/canvas/canvas-render.ts +97 -83
- package/src/canvas/canvas-surface.ts +2 -2
- package/src/canvas/canvas-utils.ts +42 -32
- package/src/canvas/diff-toolbar.ts +21 -2
- package/src/canvas/diff-view.ts +30 -6
- package/src/canvas/iframe-entry.ts +2 -2
- package/src/canvas/iframe-host.ts +5 -5
- package/src/canvas/iframe-interaction.ts +7 -6
- package/src/canvas/iframe-overlay.ts +1 -1
- package/src/canvas/iframe-protocol.ts +6 -5
- package/src/canvas/iframe-render.ts +3 -3
- package/src/canvas/popover-state.ts +1 -1
- package/src/canvas/stage-scrollbar.ts +112 -0
- package/src/canvas/surface-registry.ts +9 -2
- package/src/collab/collab-commands.ts +8 -6
- package/src/collab/collab-session.ts +4 -4
- package/src/collab/collab-state.ts +4 -4
- package/src/collab/presence-chips.ts +3 -3
- package/src/commands/app-commands.ts +7 -7
- package/src/commands/budget.ts +17 -16
- package/src/commands/command-args.ts +10 -9
- package/src/commands/context.ts +20 -10
- package/src/commands/defaults.ts +30 -29
- package/src/commands/levels.ts +8 -6
- package/src/commands/live-context.ts +12 -10
- package/src/commands/reference.ts +5 -5
- package/src/commands/registry.ts +2 -2
- package/src/content/draft-state.ts +9 -8
- package/src/content/entry-commands.ts +16 -14
- package/src/content/entry-editor.ts +2 -2
- package/src/content/entry-fields.ts +1 -1
- package/src/editor/context-menu.ts +4 -4
- package/src/editor/convert-to-component.ts +6 -5
- package/src/editor/inline-edit.ts +3 -3
- package/src/editor/shortcuts.ts +88 -20
- package/src/editor/slash-menu.ts +11 -10
- package/src/files/elements.ts +4 -5
- package/src/files/file-ops.ts +1 -1
- package/src/files/files.ts +21 -17
- package/src/files/serialize-document.ts +1 -1
- package/src/format/convert-file.ts +5 -5
- package/src/github/github-auth-status.ts +107 -0
- package/src/github/github-auth.ts +18 -82
- package/src/github/github-publish.ts +7 -6
- package/src/grid/cell-editors.ts +8 -7
- package/src/grid/grid-layout.ts +1 -1
- package/src/grid/grid-open.ts +6 -5
- package/src/grid/grid-panel.ts +13 -12
- package/src/grid/redirects-grid.ts +14 -11
- package/src/grid/redirects.ts +10 -5
- package/src/grid/sources/content-source.ts +10 -9
- package/src/hosting/document.ts +28 -1
- package/src/hosting/stage.ts +15 -4
- package/src/i18n/i18n-commands.ts +9 -7
- package/src/new-project/location-fields.ts +16 -3
- package/src/new-project/new-project-modal.ts +23 -7
- package/src/page-params.ts +6 -6
- package/src/panels/activity-panel.ts +11 -10
- package/src/panels/ai-chat/chat-view.ts +27 -14
- package/src/panels/ai-chat/composer.ts +10 -3
- package/src/panels/ai-panel.ts +87 -29
- package/src/panels/block-action-bar.ts +59 -33
- package/src/panels/bottom-dock.ts +22 -22
- package/src/panels/data-explorer.ts +9 -9
- package/src/panels/data-grid.ts +1 -1
- package/src/panels/editors.ts +8 -8
- package/src/panels/elements-panel.ts +7 -8
- package/src/panels/empty-state.ts +1 -1
- package/src/panels/events-panel.ts +13 -12
- package/src/panels/formula-workspace.ts +8 -5
- package/src/panels/frontmatter-fields.ts +4 -1
- package/src/panels/frontmatter-panel.ts +18 -18
- package/src/panels/git-panel.ts +19 -13
- package/src/panels/head-panel.ts +9 -10
- package/src/panels/i18n-panel.ts +6 -4
- package/src/panels/imports-panel.ts +1 -1
- package/src/panels/jump-bar.ts +20 -18
- package/src/panels/layers-panel.ts +19 -17
- package/src/panels/left-panel.ts +3 -3
- package/src/panels/navigator-panels.ts +8 -8
- package/src/panels/overlays.ts +1 -1
- package/src/panels/pane-context.ts +56 -28
- package/src/panels/pane-grid.ts +9 -8
- package/src/panels/panel-registry.ts +47 -19
- package/src/panels/problems-panel.ts +11 -12
- package/src/panels/properties-panel.ts +21 -20
- package/src/panels/provenance.ts +3 -3
- package/src/panels/quick-search.ts +15 -11
- package/src/panels/right-panel.ts +4 -3
- package/src/panels/seo-modal.ts +5 -4
- package/src/panels/settings-menu.ts +9 -9
- package/src/panels/settings-pane.ts +3 -3
- package/src/panels/signals-panel.ts +16 -9
- package/src/panels/statement-editor.ts +12 -9
- package/src/panels/style-panel.ts +45 -41
- package/src/panels/stylebook-panel.ts +0 -1
- package/src/panels/tab-strip.ts +26 -23
- package/src/platform-errors.ts +2 -2
- package/src/platform.ts +44 -4
- package/src/platforms/cloud.ts +11 -1
- package/src/platforms/default-platform.ts +141 -4
- package/src/platforms/devserver.ts +23 -3
- package/src/publish/deploy-checklist.ts +11 -10
- package/src/publish/publish-commands.ts +9 -8
- package/src/services/a11y-report.ts +1 -1
- package/src/services/ai-ask.ts +39 -16
- package/src/services/ai-command-tools.ts +28 -14
- package/src/services/ai-import-tools.ts +43 -29
- package/src/services/ai-project-tools.ts +20 -38
- package/src/services/ai-settings.ts +55 -2
- package/src/services/ai-tools.ts +69 -58
- package/src/services/ai-write-report.ts +4 -4
- package/src/services/ai-writes.ts +74 -55
- package/src/services/automation.ts +12 -12
- package/src/services/clock.ts +2 -1
- package/src/services/connection.ts +2 -2
- package/src/services/context-manager.ts +69 -6
- package/src/services/directory-picker.ts +93 -27
- package/src/services/document-assistant.ts +86 -17
- package/src/services/gated-registry.ts +4 -3
- package/src/services/idle.ts +5 -4
- package/src/services/live-surfaces.ts +2 -1
- package/src/services/notify.ts +9 -7
- package/src/services/popover-report.ts +3 -3
- package/src/services/preview-eval.ts +1 -1
- package/src/services/project-adoption.ts +34 -1
- package/src/services/project-path.ts +53 -0
- package/src/services/settings/kernel.ts +13 -2
- package/src/services/tool-executor.ts +135 -30
- package/src/services/tool-outcomes.ts +143 -0
- package/src/settings/contexts-section.ts +8 -8
- package/src/settings/contributed-section.ts +6 -6
- package/src/settings/css-vars-editor.ts +6 -5
- package/src/settings/extension-commands.ts +19 -18
- package/src/settings/extension-sections.ts +7 -7
- package/src/settings/extensions-section.ts +3 -3
- package/src/settings/general-settings.ts +21 -18
- package/src/settings/preferences-accounts.ts +3 -3
- package/src/settings/preferences-dialog.ts +9 -8
- package/src/settings/preferences-sections.ts +1 -1
- package/src/settings/project-sections.ts +2 -2
- package/src/settings/section-registry.ts +7 -6
- package/src/settings/settings-document.ts +41 -43
- package/src/shell/tree.ts +29 -0
- package/src/shell.ts +63 -55
- package/src/site-context.ts +1 -1
- package/src/store.ts +2 -2
- package/src/studio.ts +46 -28
- package/src/style/live-preview.ts +8 -8
- package/src/style/project-styles.ts +8 -9
- package/src/style/token-ref.ts +2 -2
- package/src/surfaces/about.json +6 -2
- package/src/surfaces/add-repo.json +2 -2
- package/src/surfaces/add-repo.ts +2 -2
- package/src/surfaces/ai-chat.json +14 -6
- package/src/surfaces/ai-chat.ts +4 -2
- package/src/surfaces/ai-credentials-form.json +53 -49
- package/src/surfaces/ai-credentials-form.ts +18 -4
- package/src/surfaces/ai-managed-connect.json +4 -4
- package/src/surfaces/block-action-bar.json +4 -4
- package/src/surfaces/block-action-bar.ts +3 -3
- package/src/surfaces/boot-failure.json +228 -0
- package/src/surfaces/boot-failure.ts +156 -0
- package/src/surfaces/bottom-dock.json +1 -1
- package/src/surfaces/canvas-stage.json +9 -40
- package/src/surfaces/canvas-stage.ts +9 -9
- package/src/surfaces/cf-account-picker.json +11 -8
- package/src/surfaces/commandbar.ts +11 -10
- package/src/surfaces/convert-repeater.ts +3 -2
- package/src/surfaces/dialog.json +7 -1
- package/src/surfaces/dialog.ts +2 -2
- package/src/surfaces/doc-header.json +6 -13
- package/src/surfaces/doc-header.ts +4 -5
- package/src/surfaces/entry-editor.json +1 -1
- package/src/surfaces/entry-editor.ts +2 -1
- package/src/surfaces/expression-editor.json +5 -5
- package/src/surfaces/files-panel.json +4 -3
- package/src/surfaces/files-panel.ts +1 -1
- package/src/surfaces/formula-palette.json +2 -2
- package/src/surfaces/formula-palette.ts +1 -1
- package/src/surfaces/git-panel.json +167 -109
- package/src/surfaces/git-panel.ts +2 -2
- package/src/surfaces/github-auth.json +2 -1
- package/src/surfaces/github-publish.ts +3 -3
- package/src/surfaces/grid-open.json +1 -1
- package/src/surfaces/grid-panel.json +2 -2
- package/src/surfaces/grid-views.json +1 -1
- package/src/surfaces/inspector-dock.json +2 -2
- package/src/surfaces/jump-bar.json +1 -1
- package/src/surfaces/jump-bar.ts +1 -1
- package/src/surfaces/library-pane.ts +2 -1
- package/src/surfaces/logic-panel.json +7 -7
- package/src/surfaces/logic-panel.ts +6 -4
- package/src/surfaces/logic-workspace.json +2 -2
- package/src/surfaces/logic-workspace.ts +2 -2
- package/src/surfaces/media-browser.ts +3 -3
- package/src/surfaces/media-pane.ts +2 -1
- package/src/surfaces/menu.ts +5 -5
- package/src/surfaces/new-project.json +1 -1
- package/src/surfaces/pane-context.json +86 -57
- package/src/surfaces/pane-context.ts +2 -1
- package/src/surfaces/pane-grid.json +3 -3
- package/src/surfaces/panel-activity.json +2 -1
- package/src/surfaces/panel-deploy-checklist.json +1 -1
- package/src/surfaces/panel-elements.ts +2 -1
- package/src/surfaces/panel-i18n.ts +2 -1
- package/src/surfaces/panel-outline.json +1 -1
- package/src/surfaces/panel-outline.ts +4 -3
- package/src/surfaces/panel-page.json +2 -2
- package/src/surfaces/panel-page.ts +4 -1
- package/src/surfaces/panel-problems.json +4 -3
- package/src/surfaces/panel-problems.ts +2 -2
- package/src/surfaces/panel-signals.json +23 -8
- package/src/surfaces/panel-signals.ts +5 -1
- package/src/surfaces/panel-stylebook-layers.json +1 -1
- package/src/surfaces/panel-stylebook-layers.ts +2 -2
- package/src/surfaces/preferences.json +21 -8
- package/src/surfaces/preferences.ts +9 -1
- package/src/surfaces/properties-panel.json +4 -4
- package/src/surfaces/properties-panel.ts +2 -2
- package/src/surfaces/publish.json +1 -1
- package/src/surfaces/publish.ts +2 -1
- package/src/surfaces/push-plan.json +4 -3
- package/src/surfaces/rail.json +2 -2
- package/src/surfaces/rail.ts +10 -4
- package/src/surfaces/reference-field.json +1 -1
- package/src/surfaces/schema-form.json +2 -2
- package/src/surfaces/schema-form.ts +1 -1
- package/src/surfaces/seo.json +1 -1
- package/src/surfaces/seo.ts +2 -2
- package/src/surfaces/settings-contributed.ts +2 -1
- package/src/surfaces/settings-css-vars.json +4 -4
- package/src/surfaces/settings-deploy.json +4 -4
- package/src/surfaces/settings-deploy.ts +2 -1
- package/src/surfaces/settings-extensions.json +6 -6
- package/src/surfaces/settings-extensions.ts +6 -2
- package/src/surfaces/settings-locales.json +4 -4
- package/src/surfaces/settings-overview.ts +2 -1
- package/src/surfaces/settings-pane.ts +3 -2
- package/src/surfaces/settings-rawjson.ts +1 -1
- package/src/surfaces/slash-menu.ts +4 -4
- package/src/surfaces/statements.json +3 -3
- package/src/surfaces/statusbar.ts +23 -23
- package/src/surfaces/style-panel.json +9 -5
- package/src/surfaces/style-panel.ts +3 -3
- package/src/surfaces/tab-strip.json +2 -2
- package/src/surfaces/target-line.json +1 -1
- package/src/surfaces/target-line.ts +12 -10
- package/src/surfaces/welcome.json +7 -2
- package/src/tabs/doc-op-apply.ts +5 -5
- package/src/tabs/patch-ops.ts +3 -3
- package/src/tabs/project-config.ts +10 -10
- package/src/tabs/selection.ts +1 -1
- package/src/tabs/tab.ts +13 -14
- package/src/tabs/transact.ts +18 -24
- package/src/types.ts +27 -3
- package/src/ui/ai-credentials-form.ts +74 -16
- package/src/ui/ai-managed-connect.ts +68 -19
- package/src/ui/color-selector.ts +1 -1
- package/src/ui/expression-editor.ts +3 -3
- package/src/ui/form-controls.ts +6 -5
- package/src/ui/formula-catalog.ts +4 -4
- package/src/ui/formula-chips.ts +2 -2
- package/src/ui/layers.ts +20 -18
- package/src/ui/panel-resize.ts +5 -5
- package/src/ui/popover-surface.ts +2 -2
- package/src/ui/progress-modal.ts +3 -3
- package/src/ui/regions.ts +14 -9
- package/src/ui/schema-form.ts +10 -9
- package/src/ui/timing.ts +9 -7
- package/src/ui/value-source.ts +4 -4
- package/src/ui/virtual-window.ts +1 -1
- package/src/utils/base64.ts +20 -1
- package/src/utils/canvas-media.ts +1 -1
- package/src/utils/studio-utils.ts +0 -31
- package/src/view.ts +4 -3
- package/src/workspace/pane-derive.ts +14 -13
- package/src/workspace/session.ts +7 -6
- package/src/workspace/workspace.ts +49 -39
- package/styles/canvas.css +1 -27
- package/styles/inspector.css +4 -3
- package/styles/overlays.css +1 -1
- package/styles/tokens.css +17 -1
- package/styles/tokens.json +6 -1
- package/dist/chunks/entry-commands-1wnsqn5d.js +0 -42
- package/dist/chunks/layers-panel-73gfkcga.js +0 -41
- package/dist/chunks/publish-panel-z1zd2da1.js +0 -27
- package/dist/chunks/quick-search-zdv7h8ht.js +0 -47
- package/dist/chunks/right-panel-889vbnm5.js +0 -45
- package/dist/chunks/studio-727xh0e3.js +0 -76
- package/src/files/json-layout.ts +0 -474
- package/src/services/ai-turn-signal.ts +0 -70
package/styles/inspector.css
CHANGED
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
text-decoration: underline;
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
/* ─── Provenance dots on a section heading (
|
|
79
|
+
/* ─── Provenance dots on a section heading (§6.7) ─────────────────────────────
|
|
80
80
|
The chip itself is styled with the rest of the row vocabulary further down —
|
|
81
81
|
one block, because Style and Component Props are the same chip in two
|
|
82
82
|
cascades. What is only needed here is the DOT form: a collapsed accordion
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
border: none;
|
|
94
94
|
cursor: default;
|
|
95
95
|
}
|
|
96
|
-
/* `mixed` (§6.
|
|
96
|
+
/* `mixed` (§6.7) — the multi-selection's own state. Neutral on purpose: unlike the other three it
|
|
97
97
|
says nothing about WHERE the value came from, only that the selected elements disagree, so it
|
|
98
98
|
must not borrow the accent that means "set here" or the amber that means "inherited". */
|
|
99
99
|
.set-dot.provenance-chip--mixed {
|
|
@@ -146,7 +146,8 @@
|
|
|
146
146
|
}
|
|
147
147
|
|
|
148
148
|
/* ─── The Layout-element card ───────────────────────────────────────────────
|
|
149
|
-
What the inspector says when you click page chrome —
|
|
149
|
+
What the inspector says when you click page chrome — the first click a new author makes
|
|
150
|
+
(docs/studio/design/properties.md, "Layout elements"). */
|
|
150
151
|
.layout-origin {
|
|
151
152
|
display: flex;
|
|
152
153
|
align-items: center;
|
package/styles/overlays.css
CHANGED
|
@@ -232,7 +232,7 @@
|
|
|
232
232
|
color: var(--danger);
|
|
233
233
|
}
|
|
234
234
|
|
|
235
|
-
/* ───
|
|
235
|
+
/* ─── The toast host — the fourth overlay layer ───────────────────────────── */
|
|
236
236
|
/* The consequence line inside a destructive confirmation — what this delete or rename breaks, and
|
|
237
237
|
what survives it. Set apart from the question above it, because the question is a sentence the
|
|
238
238
|
user already wrote in their head and this is the part they have not thought about. */
|
package/styles/tokens.css
CHANGED
|
@@ -12,7 +12,11 @@
|
|
|
12
12
|
|
|
13
13
|
The four --canvas-* steps are the exception and are meant to be: they colour surfaces that
|
|
14
14
|
render as a light DOCUMENT in both chromes, so they are mixed from the black and white keywords
|
|
15
|
-
and do not follow the theme. See tokens.json for what else moved here out of styles/spectrum.css.
|
|
15
|
+
and do not follow the theme. See tokens.json for what else moved here out of styles/spectrum.css.
|
|
16
|
+
|
|
17
|
+
user-select: none on :root is Studio's selection policy: the chrome is not text. Every surface
|
|
18
|
+
inherits it, a modal dialog restates it below, and a part whose text the reader must copy opts
|
|
19
|
+
back in from its own surface document, against the list tests/selection-policy.test.ts holds. */
|
|
16
20
|
|
|
17
21
|
:root {
|
|
18
22
|
box-sizing: border-box;
|
|
@@ -24,6 +28,7 @@
|
|
|
24
28
|
font-family: var(--jx-font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif);
|
|
25
29
|
font-size: var(--jx-text-md, 12px);
|
|
26
30
|
line-height: 1.5;
|
|
31
|
+
user-select: none;
|
|
27
32
|
--panel-w-left: 240px;
|
|
28
33
|
--panel-w-right: 280px;
|
|
29
34
|
--bg: var(--jx-bg, #111114);
|
|
@@ -89,6 +94,17 @@
|
|
|
89
94
|
overflow: hidden;
|
|
90
95
|
background: var(--jx-bg, #111114);
|
|
91
96
|
}
|
|
97
|
+
/* The root's `user-select: none` restated, because a modal dialog would otherwise take it back:
|
|
98
|
+
Chromium's UA sheet gives a MODAL dialog `user-select: text` (measured: `auto` while closed or
|
|
99
|
+
after show(), `text` after showModal()), and Blink inherits that into every node inside. Every
|
|
100
|
+
Studio modal is a jx-dialog opened with showModal(), so without this rule the headline, labels
|
|
101
|
+
and buttons of every dialog would be selectable whatever the root says. An author rule beats the
|
|
102
|
+
UA one at any specificity, since it is not `!important`. A dialog's MESSAGE opts back in from
|
|
103
|
+
its own surface document (`surfaces/dialog.json`), and an input inside one stays selectable
|
|
104
|
+
without help. */
|
|
105
|
+
:root dialog {
|
|
106
|
+
user-select: none;
|
|
107
|
+
}
|
|
92
108
|
:root[data-theme="light"],
|
|
93
109
|
:root[data-theme="light"] body {
|
|
94
110
|
background: var(--jx-bg, #f7f7f9);
|
package/styles/tokens.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://jxsuite.com/schema/v1",
|
|
3
3
|
"$id": "StudioTokens",
|
|
4
|
-
"$description": "Studio's global base and its semantic token layer, as a Jx style block. `styles/tokens.css` is GENERATED from this by `scripts/build-styles.ts`; edit this file and run `bun run styles:sync`. It stays a linked stylesheet because every declaration in it is pre-paint: the kit's own theme is adopted from JavaScript, so these hex fallbacks are what paints the shell before that lands. THE LAST OF `styles/spectrum.css` IS HERE. That file was the whole of what was declared ON the `sp-theme` element, where Spectrum's own ramp was in scope and `:root` was not, and its header said it would be deleted whole when that element went. It has: the box is `#shell-root` in `shell-frame.json`, the typography is the four declarations above (the sans stack is the kit's and 12px is `--jx-text-md`, which is what `--spectrum-font-size-75` resolved to), and `--case-c`/`--slot-c` are aliases in the same idiom as `--switch-c`, at the values `panel-outline.json` had already written down as their fallbacks. THE FOUR `--canvas-*` STEPS DO NOT FOLLOW THE THEME, and that is the point of them rather than an oversight: they colour surfaces that render as a light DOCUMENT in both chromes — the stylebook, the element-card previews, the empty-slot placeholder on the canvas — so they are mixed from the `black` and `white` KEYWORDS, which is what `var(--spectrum-black)`/`var(--spectrum-white)` were. Seven more steps were declared beside them and no rule in the package ever read one, so those are not here. The four `--data-*` syntax colours are not here either, for a reason `panel-data.json` states outright: nothing read them, they were declared for a palette nobody wrote, and `data-tone` still carries the type on every value for the day somebody does.",
|
|
4
|
+
"$description": "Studio's global base and its semantic token layer, as a Jx style block. `styles/tokens.css` is GENERATED from this by `scripts/build-styles.ts`; edit this file and run `bun run styles:sync`. It stays a linked stylesheet because every declaration in it is pre-paint: the kit's own theme is adopted from JavaScript, so these hex fallbacks are what paints the shell before that lands. THE LAST OF `styles/spectrum.css` IS HERE. That file was the whole of what was declared ON the `sp-theme` element, where Spectrum's own ramp was in scope and `:root` was not, and its header said it would be deleted whole when that element went. It has: the box is `#shell-root` in `shell-frame.json`, the typography is the four declarations above (the sans stack is the kit's and 12px is `--jx-text-md`, which is what `--spectrum-font-size-75` resolved to), and `--case-c`/`--slot-c` are aliases in the same idiom as `--switch-c`, at the values `panel-outline.json` had already written down as their fallbacks. THE FOUR `--canvas-*` STEPS DO NOT FOLLOW THE THEME, and that is the point of them rather than an oversight: they colour surfaces that render as a light DOCUMENT in both chromes — the stylebook, the element-card previews, the empty-slot placeholder on the canvas — so they are mixed from the `black` and `white` KEYWORDS, which is what `var(--spectrum-black)`/`var(--spectrum-white)` were. Seven more steps were declared beside them and no rule in the package ever read one, so those are not here. The four `--data-*` syntax colours are not here either, for a reason `panel-data.json` states outright: nothing read them, they were declared for a palette nobody wrote, and `data-tone` still carries the type on every value for the day somebody does. THE CHROME IS NOT TEXT: `user-select: none` on the root is Studio's selection policy, stated once so a drag across the window highlights no label, button or heading; every surface inherits it, `& dialog` restates it where the UA sheet would reopen it, and a part whose text the reader must copy opts back in on that part alone, from its own surface document, against the list `tests/selection-policy.test.ts` holds. Editable controls, Monaco and the canvas iframe keep their own selection and need nothing.",
|
|
5
5
|
"tagName": "html",
|
|
6
6
|
"style": {
|
|
7
7
|
"box-sizing": "border-box",
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
"font-family": "var(--jx-font-sans, -apple-system, BlinkMacSystemFont, \"Segoe UI\", system-ui, sans-serif)",
|
|
14
14
|
"font-size": "var(--jx-text-md, 12px)",
|
|
15
15
|
"line-height": "1.5",
|
|
16
|
+
"user-select": "none",
|
|
16
17
|
"--panel-w-left": "240px",
|
|
17
18
|
"--panel-w-right": "280px",
|
|
18
19
|
"--bg": "var(--jx-bg, #111114)",
|
|
@@ -77,6 +78,10 @@
|
|
|
77
78
|
"overflow": "hidden",
|
|
78
79
|
"background": "var(--jx-bg, #111114)"
|
|
79
80
|
},
|
|
81
|
+
"& dialog": {
|
|
82
|
+
"$description": "The root's `user-select: none` restated, because a modal dialog would otherwise take it back: Chromium's UA sheet gives a MODAL dialog `user-select: text` (measured: `auto` while closed or after show(), `text` after showModal()), and Blink inherits that into every node inside. Every Studio modal is a jx-dialog opened with showModal(), so without this rule the headline, labels and buttons of every dialog would be selectable whatever the root says. An author rule beats the UA one at any specificity, since it is not `!important`. A dialog's MESSAGE opts back in from its own surface document (`surfaces/dialog.json`), and an input inside one stays selectable without help.",
|
|
83
|
+
"user-select": "none"
|
|
84
|
+
},
|
|
80
85
|
"&[data-theme=\"light\"], &[data-theme=\"light\"] body": {
|
|
81
86
|
"background": "var(--jx-bg, #f7f7f9)"
|
|
82
87
|
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
createEntry2,
|
|
3
|
-
registerContentCommands2
|
|
4
|
-
} from "./studio-151w0xnh.js";
|
|
5
|
-
import"./studio-rtskkm43.js";
|
|
6
|
-
import"./studio-4f3psrk1.js";
|
|
7
|
-
import"./studio-j0w60gft.js";
|
|
8
|
-
import"./studio-ke09tn9k.js";
|
|
9
|
-
import"./studio-4c041r8y.js";
|
|
10
|
-
import"./studio-q0a3yk4n.js";
|
|
11
|
-
import"./studio-a65w20ex.js";
|
|
12
|
-
import"./studio-cgprcdxn.js";
|
|
13
|
-
import"./studio-nsgw7dbk.js";
|
|
14
|
-
import"./studio-27q131j3.js";
|
|
15
|
-
import"./studio-nq5yf5mp.js";
|
|
16
|
-
import"./studio-drg8qj9k.js";
|
|
17
|
-
import"./studio-fzjx96t2.js";
|
|
18
|
-
import"./studio-zjjde71a.js";
|
|
19
|
-
import"./studio-z2smx5ce.js";
|
|
20
|
-
import"./studio-b7xacrwe.js";
|
|
21
|
-
import"./studio-ab87phj1.js";
|
|
22
|
-
import"./studio-gk2twyh4.js";
|
|
23
|
-
import"./studio-wnsyffg1.js";
|
|
24
|
-
import"./studio-m1p9b6c3.js";
|
|
25
|
-
import"./studio-esrxgwh6.js";
|
|
26
|
-
import"./studio-6gryj0sg.js";
|
|
27
|
-
import"./studio-6nzaktvy.js";
|
|
28
|
-
import"./studio-jt27ta6x.js";
|
|
29
|
-
import"./studio-0j7r7s9g.js";
|
|
30
|
-
import"./studio-1k325pwf.js";
|
|
31
|
-
import"./studio-d1n2bykn.js";
|
|
32
|
-
import"./studio-yxa81f45.js";
|
|
33
|
-
import"./studio-3ntvq6cg.js";
|
|
34
|
-
import"./studio-d8z5bajd.js";
|
|
35
|
-
import"./studio-tjjk7jvk.js";
|
|
36
|
-
export {
|
|
37
|
-
createEntry2 as createEntry,
|
|
38
|
-
registerContentCommands2 as registerContentCommands
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
//# debugId=474288D19E3E71A764756E2164756E21
|
|
42
|
-
//# sourceMappingURL=entry-commands-1wnsqn5d.js.map
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
startLayerTitleEdit2,
|
|
3
|
-
registerLayersPanel2
|
|
4
|
-
} from "./studio-b66rsh78.js";
|
|
5
|
-
import"./studio-nfx354t1.js";
|
|
6
|
-
import"./studio-ye9drbk8.js";
|
|
7
|
-
import"./studio-6kvgrkrp.js";
|
|
8
|
-
import"./studio-a5h5j33a.js";
|
|
9
|
-
import"./studio-gtfq1dkz.js";
|
|
10
|
-
import"./studio-4f3psrk1.js";
|
|
11
|
-
import"./studio-q0a3yk4n.js";
|
|
12
|
-
import"./studio-a65w20ex.js";
|
|
13
|
-
import"./studio-27q131j3.js";
|
|
14
|
-
import"./studio-nq5yf5mp.js";
|
|
15
|
-
import"./studio-drg8qj9k.js";
|
|
16
|
-
import"./studio-fzjx96t2.js";
|
|
17
|
-
import"./studio-zjjde71a.js";
|
|
18
|
-
import"./studio-z2smx5ce.js";
|
|
19
|
-
import"./studio-b7xacrwe.js";
|
|
20
|
-
import"./studio-ab87phj1.js";
|
|
21
|
-
import"./studio-gk2twyh4.js";
|
|
22
|
-
import"./studio-wnsyffg1.js";
|
|
23
|
-
import"./studio-m1p9b6c3.js";
|
|
24
|
-
import"./studio-esrxgwh6.js";
|
|
25
|
-
import"./studio-6gryj0sg.js";
|
|
26
|
-
import"./studio-6nzaktvy.js";
|
|
27
|
-
import"./studio-jt27ta6x.js";
|
|
28
|
-
import"./studio-0j7r7s9g.js";
|
|
29
|
-
import"./studio-1k325pwf.js";
|
|
30
|
-
import"./studio-d1n2bykn.js";
|
|
31
|
-
import"./studio-yxa81f45.js";
|
|
32
|
-
import"./studio-3ntvq6cg.js";
|
|
33
|
-
import"./studio-d8z5bajd.js";
|
|
34
|
-
import"./studio-tjjk7jvk.js";
|
|
35
|
-
export {
|
|
36
|
-
registerLayersPanel2 as registerLayersPanel,
|
|
37
|
-
startLayerTitleEdit2 as startLayerTitleEdit
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
//# debugId=CE19FDE5A143AAD964756E2164756E21
|
|
41
|
-
//# sourceMappingURL=layers-panel-73gfkcga.js.map
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
seedPublishConnected2,
|
|
3
|
-
openPublishPanel2
|
|
4
|
-
} from "./studio-7144epdr.js";
|
|
5
|
-
import"./studio-vn5hske5.js";
|
|
6
|
-
import"./studio-c04nzbby.js";
|
|
7
|
-
import"./studio-nsgw7dbk.js";
|
|
8
|
-
import"./studio-fzjx96t2.js";
|
|
9
|
-
import"./studio-z2smx5ce.js";
|
|
10
|
-
import"./studio-gk2twyh4.js";
|
|
11
|
-
import"./studio-wnsyffg1.js";
|
|
12
|
-
import"./studio-m1p9b6c3.js";
|
|
13
|
-
import"./studio-6gryj0sg.js";
|
|
14
|
-
import"./studio-6nzaktvy.js";
|
|
15
|
-
import"./studio-0j7r7s9g.js";
|
|
16
|
-
import"./studio-1k325pwf.js";
|
|
17
|
-
import"./studio-d1n2bykn.js";
|
|
18
|
-
import"./studio-yxa81f45.js";
|
|
19
|
-
import"./studio-3ntvq6cg.js";
|
|
20
|
-
import"./studio-d8z5bajd.js";
|
|
21
|
-
export {
|
|
22
|
-
openPublishPanel2 as openPublishPanel,
|
|
23
|
-
seedPublishConnected2 as seedPublishConnected
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
//# debugId=6014AB98C3074CCB64756E2164756E21
|
|
27
|
-
//# sourceMappingURL=publish-panel-z1zd2da1.js.map
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
initQuickSearch2,
|
|
3
|
-
openQuickSearch2
|
|
4
|
-
} from "./studio-g33v4fe9.js";
|
|
5
|
-
import"./studio-7rrb1esn.js";
|
|
6
|
-
import"./studio-a5h5j33a.js";
|
|
7
|
-
import"./studio-xajk70w0.js";
|
|
8
|
-
import"./studio-msc1ee1m.js";
|
|
9
|
-
import"./studio-t171hxhe.js";
|
|
10
|
-
import"./studio-gtfq1dkz.js";
|
|
11
|
-
import"./studio-rtskkm43.js";
|
|
12
|
-
import"./studio-50wfwy44.js";
|
|
13
|
-
import"./studio-j0w60gft.js";
|
|
14
|
-
import"./studio-ke09tn9k.js";
|
|
15
|
-
import"./studio-4c041r8y.js";
|
|
16
|
-
import"./studio-q0a3yk4n.js";
|
|
17
|
-
import"./studio-a65w20ex.js";
|
|
18
|
-
import"./studio-cgprcdxn.js";
|
|
19
|
-
import"./studio-nsgw7dbk.js";
|
|
20
|
-
import"./studio-27q131j3.js";
|
|
21
|
-
import"./studio-nq5yf5mp.js";
|
|
22
|
-
import"./studio-drg8qj9k.js";
|
|
23
|
-
import"./studio-fzjx96t2.js";
|
|
24
|
-
import"./studio-zjjde71a.js";
|
|
25
|
-
import"./studio-z2smx5ce.js";
|
|
26
|
-
import"./studio-b7xacrwe.js";
|
|
27
|
-
import"./studio-ab87phj1.js";
|
|
28
|
-
import"./studio-gk2twyh4.js";
|
|
29
|
-
import"./studio-wnsyffg1.js";
|
|
30
|
-
import"./studio-m1p9b6c3.js";
|
|
31
|
-
import"./studio-esrxgwh6.js";
|
|
32
|
-
import"./studio-6gryj0sg.js";
|
|
33
|
-
import"./studio-6nzaktvy.js";
|
|
34
|
-
import"./studio-jt27ta6x.js";
|
|
35
|
-
import"./studio-0j7r7s9g.js";
|
|
36
|
-
import"./studio-1k325pwf.js";
|
|
37
|
-
import"./studio-d1n2bykn.js";
|
|
38
|
-
import"./studio-yxa81f45.js";
|
|
39
|
-
import"./studio-3ntvq6cg.js";
|
|
40
|
-
import"./studio-d8z5bajd.js";
|
|
41
|
-
export {
|
|
42
|
-
initQuickSearch2 as initQuickSearch,
|
|
43
|
-
openQuickSearch2 as openQuickSearch
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
//# debugId=671F3AA898CB9C9E64756E2164756E21
|
|
47
|
-
//# sourceMappingURL=quick-search-zdv7h8ht.js.map
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
mount2,
|
|
3
|
-
unmount2,
|
|
4
|
-
render2,
|
|
5
|
-
inspectorTab2,
|
|
6
|
-
setInspectorTab2
|
|
7
|
-
} from "./studio-c0qgc3tn.js";
|
|
8
|
-
import"./studio-nfx354t1.js";
|
|
9
|
-
import"./studio-ye9drbk8.js";
|
|
10
|
-
import"./studio-6kvgrkrp.js";
|
|
11
|
-
import"./studio-gtfq1dkz.js";
|
|
12
|
-
import"./studio-4f3psrk1.js";
|
|
13
|
-
import"./studio-a65w20ex.js";
|
|
14
|
-
import"./studio-27q131j3.js";
|
|
15
|
-
import"./studio-nq5yf5mp.js";
|
|
16
|
-
import"./studio-drg8qj9k.js";
|
|
17
|
-
import"./studio-fzjx96t2.js";
|
|
18
|
-
import"./studio-zjjde71a.js";
|
|
19
|
-
import"./studio-z2smx5ce.js";
|
|
20
|
-
import"./studio-b7xacrwe.js";
|
|
21
|
-
import"./studio-ab87phj1.js";
|
|
22
|
-
import"./studio-gk2twyh4.js";
|
|
23
|
-
import"./studio-wnsyffg1.js";
|
|
24
|
-
import"./studio-m1p9b6c3.js";
|
|
25
|
-
import"./studio-esrxgwh6.js";
|
|
26
|
-
import"./studio-6gryj0sg.js";
|
|
27
|
-
import"./studio-6nzaktvy.js";
|
|
28
|
-
import"./studio-jt27ta6x.js";
|
|
29
|
-
import"./studio-0j7r7s9g.js";
|
|
30
|
-
import"./studio-1k325pwf.js";
|
|
31
|
-
import"./studio-d1n2bykn.js";
|
|
32
|
-
import"./studio-yxa81f45.js";
|
|
33
|
-
import"./studio-3ntvq6cg.js";
|
|
34
|
-
import"./studio-d8z5bajd.js";
|
|
35
|
-
import"./studio-tjjk7jvk.js";
|
|
36
|
-
export {
|
|
37
|
-
inspectorTab2 as inspectorTab,
|
|
38
|
-
mount2 as mount,
|
|
39
|
-
render2 as render,
|
|
40
|
-
setInspectorTab2 as setInspectorTab,
|
|
41
|
-
unmount2 as unmount
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
//# debugId=ACC2FC3785A3466764756E2164756E21
|
|
45
|
-
//# sourceMappingURL=right-panel-889vbnm5.js.map
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
// ../collab/src/ops.ts
|
|
2
|
-
function jsonClone(value) {
|
|
3
|
-
return JSON.parse(JSON.stringify(value));
|
|
4
|
-
}
|
|
5
|
-
function cloneValue2(v) {
|
|
6
|
-
return v === undefined || v === null ? v : jsonClone(v);
|
|
7
|
-
}
|
|
8
|
-
function getNodeAtPath3(doc, path) {
|
|
9
|
-
let node = doc;
|
|
10
|
-
for (const key of path) {
|
|
11
|
-
if (node == null) {
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
node = node[key];
|
|
15
|
-
}
|
|
16
|
-
return node;
|
|
17
|
-
}
|
|
18
|
-
function childArray2(node) {
|
|
19
|
-
if (Array.isArray(node)) {
|
|
20
|
-
throw new TypeError("Cannot insert into a children array; parentPath must point at a node");
|
|
21
|
-
}
|
|
22
|
-
if (!node.children) {
|
|
23
|
-
node.children = [];
|
|
24
|
-
}
|
|
25
|
-
if (!Array.isArray(node.children)) {
|
|
26
|
-
throw new TypeError("Cannot insert into mapped-array children; edit the map template instead");
|
|
27
|
-
}
|
|
28
|
-
return node.children;
|
|
29
|
-
}
|
|
30
|
-
function applyDocOpToDoc2(doc, op) {
|
|
31
|
-
switch (op.op) {
|
|
32
|
-
case "set-key": {
|
|
33
|
-
const node = getNodeAtPath3(doc, op.path);
|
|
34
|
-
if (!node) {
|
|
35
|
-
throw new Error(`doc-op-node-not-found:${op.path.join("/")}`);
|
|
36
|
-
}
|
|
37
|
-
const target = node;
|
|
38
|
-
if (op.value === undefined) {
|
|
39
|
-
delete target[op.key];
|
|
40
|
-
} else {
|
|
41
|
-
target[op.key] = cloneValue2(op.value);
|
|
42
|
-
}
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
case "insert-child": {
|
|
46
|
-
const parent = getNodeAtPath3(doc, op.parentPath);
|
|
47
|
-
childArray2(parent).splice(op.index, 0, cloneValue2(op.node));
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
case "remove-child": {
|
|
51
|
-
const parent = getNodeAtPath3(doc, op.parentPath);
|
|
52
|
-
childArray2(parent).splice(op.index, 1);
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
case "set-child": {
|
|
56
|
-
const parent = getNodeAtPath3(doc, op.parentPath);
|
|
57
|
-
childArray2(parent).splice(op.index, 1, cloneValue2(op.node));
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
case "move-child": {
|
|
61
|
-
const fromParent = getNodeAtPath3(doc, op.fromParentPath);
|
|
62
|
-
const toParent = getNodeAtPath3(doc, op.toParentPath);
|
|
63
|
-
const [node] = childArray2(fromParent).splice(op.fromIndex, 1);
|
|
64
|
-
childArray2(toParent).splice(op.toIndex, 0, node);
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
default: {
|
|
68
|
-
throw new Error(`unknown-doc-op:${op.op}`);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
export { cloneValue2, getNodeAtPath3, childArray2, applyDocOpToDoc2 };
|
|
74
|
-
|
|
75
|
-
//# debugId=32556033BC6FC83D64756E2164756E21
|
|
76
|
-
//# sourceMappingURL=studio-727xh0e3.js.map
|