@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
|
@@ -2,23 +2,23 @@ import {
|
|
|
2
2
|
githubTokenStored,
|
|
3
3
|
githubTokenLocation,
|
|
4
4
|
clearGithubToken
|
|
5
|
-
} from "./studio-
|
|
5
|
+
} from "./studio-sjas5b3a.js";
|
|
6
6
|
import {
|
|
7
7
|
getPlatform2,
|
|
8
8
|
hasPlatform2
|
|
9
|
-
} from "./studio-
|
|
9
|
+
} from "./studio-6pwn9j8c.js";
|
|
10
10
|
import {
|
|
11
11
|
getCfToken2,
|
|
12
12
|
getCfAccountId2,
|
|
13
13
|
clearCfConnection2
|
|
14
|
-
} from "./studio-
|
|
14
|
+
} from "./studio-b9q3znz8.js";
|
|
15
15
|
import {
|
|
16
16
|
hasOpenAiKey,
|
|
17
17
|
getBaseUrl,
|
|
18
18
|
clearAiProvider,
|
|
19
19
|
resetModelCache,
|
|
20
20
|
preferredModel
|
|
21
|
-
} from "./studio-
|
|
21
|
+
} from "./studio-7d3c1m59.js";
|
|
22
22
|
import {
|
|
23
23
|
__preload
|
|
24
24
|
} from "./studio-5te5tqng.js";
|
|
@@ -56,7 +56,7 @@ function resetCfConnectionCache() {
|
|
|
56
56
|
async function hostedConnect() {
|
|
57
57
|
const outcome = await getPlatform2().cfConnect?.();
|
|
58
58
|
if (outcome?.status === "connected" && !outcome.connection.accountId) {
|
|
59
|
-
const { openCfAccountPicker } = await (__preload("
|
|
59
|
+
const { openCfAccountPicker } = await (__preload("3f08rry6"), import("./cf-account-picker-3f08rry6.js"));
|
|
60
60
|
await openCfAccountPicker();
|
|
61
61
|
}
|
|
62
62
|
resetModelCache();
|
|
@@ -111,7 +111,7 @@ function brokeredCloudflareRecord() {
|
|
|
111
111
|
id: "choose-account",
|
|
112
112
|
label: "Choose account",
|
|
113
113
|
run: async () => {
|
|
114
|
-
const { openCfAccountPicker } = await (__preload("
|
|
114
|
+
const { openCfAccountPicker } = await (__preload("3f08rry6"), import("./cf-account-picker-3f08rry6.js"));
|
|
115
115
|
if (await openCfAccountPicker()) {
|
|
116
116
|
resetModelCache();
|
|
117
117
|
await refreshCfConnection();
|
|
@@ -192,4 +192,4 @@ function notifyCredentialsChanged() {
|
|
|
192
192
|
export { platformBrokersCf, refreshCfConnection, ensureCfConnection, resetCfConnectionCache, listAccounts, revokeAccount, onCredentialsChanged, notifyCredentialsChanged };
|
|
193
193
|
|
|
194
194
|
//# debugId=5A4E8AE3D8A598C464756E2164756E21
|
|
195
|
-
//# sourceMappingURL=studio-
|
|
195
|
+
//# sourceMappingURL=studio-qxye31h7.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getPlatform2
|
|
3
|
-
} from "./studio-
|
|
3
|
+
} from "./studio-6pwn9j8c.js";
|
|
4
4
|
import {
|
|
5
5
|
isJsonObject,
|
|
6
6
|
isRef,
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
} from "./studio-m1p9b6c3.js";
|
|
22
22
|
import {
|
|
23
23
|
componentRegistry2
|
|
24
|
-
} from "./studio-
|
|
24
|
+
} from "./studio-gjj4bbfx.js";
|
|
25
25
|
import {
|
|
26
26
|
tabOfPane,
|
|
27
27
|
canvasModeOfTab,
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
attachInstruction,
|
|
33
33
|
extractInstruction,
|
|
34
34
|
requestCanvasEval2
|
|
35
|
-
} from "./studio-
|
|
35
|
+
} from "./studio-mrh0a92f.js";
|
|
36
36
|
import {
|
|
37
37
|
effectScope,
|
|
38
38
|
effect,
|
|
@@ -49,13 +49,7 @@ import {
|
|
|
49
49
|
cancelBufferWrites2,
|
|
50
50
|
bufferIsLive2,
|
|
51
51
|
bufferMovedOn2
|
|
52
|
-
} from "./studio-
|
|
53
|
-
import {
|
|
54
|
-
loadMonaco,
|
|
55
|
-
mountStillWanted,
|
|
56
|
-
loadExtensions2,
|
|
57
|
-
getExtensions2
|
|
58
|
-
} from "./studio-6gryj0sg.js";
|
|
52
|
+
} from "./studio-6vg0x5fz.js";
|
|
59
53
|
import {
|
|
60
54
|
localeLabel,
|
|
61
55
|
translationPathFor,
|
|
@@ -94,7 +88,13 @@ import {
|
|
|
94
88
|
insertIntoPane2,
|
|
95
89
|
tabIsLive2,
|
|
96
90
|
promoteTab2
|
|
97
|
-
} from "./studio-
|
|
91
|
+
} from "./studio-dgdm6vvt.js";
|
|
92
|
+
import {
|
|
93
|
+
loadMonaco,
|
|
94
|
+
mountStillWanted,
|
|
95
|
+
loadExtensions2,
|
|
96
|
+
getExtensions2
|
|
97
|
+
} from "./studio-9vsvz7w7.js";
|
|
98
98
|
import {
|
|
99
99
|
PURE_METHOD_OPS,
|
|
100
100
|
BLESSED_OPERATORS,
|
|
@@ -104,7 +104,7 @@ import {
|
|
|
104
104
|
popoverIdsIn,
|
|
105
105
|
POPOVER_TAGS,
|
|
106
106
|
activeRegistry
|
|
107
|
-
} from "./studio-
|
|
107
|
+
} from "./studio-3nprwbd9.js";
|
|
108
108
|
import {
|
|
109
109
|
getEffectiveMedia,
|
|
110
110
|
getEffectiveStyle,
|
|
@@ -113,7 +113,7 @@ import {
|
|
|
113
113
|
shell,
|
|
114
114
|
monacoTheme,
|
|
115
115
|
setBottomTab
|
|
116
|
-
} from "./studio-
|
|
116
|
+
} from "./studio-mfkh1q8d.js";
|
|
117
117
|
import {
|
|
118
118
|
nothing2
|
|
119
119
|
} from "./studio-1k325pwf.js";
|
|
@@ -125,17 +125,17 @@ import {
|
|
|
125
125
|
mountSurface,
|
|
126
126
|
showPromptDialog2,
|
|
127
127
|
getLayerSlot2
|
|
128
|
-
} from "./studio-
|
|
128
|
+
} from "./studio-ag3z6shb.js";
|
|
129
129
|
import {
|
|
130
130
|
registerPanel
|
|
131
|
-
} from "./studio-
|
|
131
|
+
} from "./studio-fqpkpq1t.js";
|
|
132
132
|
import {
|
|
133
133
|
codeService,
|
|
134
134
|
pluginSchemaCache,
|
|
135
135
|
fetchPluginSchema,
|
|
136
136
|
setLintMarkers,
|
|
137
137
|
getFunctionArgs
|
|
138
|
-
} from "./studio-
|
|
138
|
+
} from "./studio-vd67b66d.js";
|
|
139
139
|
import {
|
|
140
140
|
VALUE_SOURCE_LABELS,
|
|
141
141
|
slotMode,
|
|
@@ -148,27 +148,27 @@ import {
|
|
|
148
148
|
switchSlotMode,
|
|
149
149
|
mountSchemaForm,
|
|
150
150
|
resolveContextPointer
|
|
151
|
-
} from "./studio-
|
|
151
|
+
} from "./studio-w7gpcvfj.js";
|
|
152
152
|
import {
|
|
153
153
|
combine
|
|
154
154
|
} from "./studio-esrxgwh6.js";
|
|
155
155
|
import {
|
|
156
156
|
openMenu2
|
|
157
|
-
} from "./studio-
|
|
157
|
+
} from "./studio-mt79tn56.js";
|
|
158
158
|
import {
|
|
159
159
|
mountMediaPicker2,
|
|
160
160
|
unmountMediaPicker2
|
|
161
|
-
} from "./studio-
|
|
161
|
+
} from "./studio-rwmmbrth.js";
|
|
162
162
|
import {
|
|
163
163
|
peekUsages2,
|
|
164
164
|
loadUsages2,
|
|
165
165
|
retryUsages2,
|
|
166
166
|
usageHeadline2,
|
|
167
167
|
usageFiles2
|
|
168
|
-
} from "./studio-
|
|
168
|
+
} from "./studio-557bmn0x.js";
|
|
169
169
|
import {
|
|
170
170
|
cloneValue2
|
|
171
|
-
} from "./studio-
|
|
171
|
+
} from "./studio-aj9drheq.js";
|
|
172
172
|
import {
|
|
173
173
|
rectOf
|
|
174
174
|
} from "./studio-rs76k67r.js";
|
|
@@ -2213,7 +2213,7 @@ function formulaChipStrip(node, opts = {}) {
|
|
|
2213
2213
|
var formula_palette_default = {
|
|
2214
2214
|
$schema: "https://jxsuite.com/schema/v1",
|
|
2215
2215
|
$id: "StudioFormulaPalette",
|
|
2216
|
-
$description: "The formula palette (spec §19.9): a search field over the formula catalog, its results grouped by the catalog's own group order, and one pick that hands an entry back to whoever opened it. The same shape as `palette.json` — a scrim, a framed panel, a borderless field, a listbox — because it is the same gesture over a different corpus, and the two used to share a stylesheet by sharing its class names. `groups` is the filtered catalog already grouped; `activeId` is the highlight, and it is ONE string — the id the field points `aria-activedescendant` at and the id the listbox is handed as `active` — kept apart from the rows so a key moves it without the list reconciling, which is why every row carries the FLAT index it would otherwise have to be asked for. Panel position is the caller's: centred under the top edge by default, and pinned under an anchor control when one was named, which is the only thing about this surface a document cannot decide for itself — it arrives as `anchorLeft`/`anchorTop`, two numbers the `style` object below binds, because a style declaration may read state like any other value (spec §9.1).",
|
|
2216
|
+
$description: "The formula palette (spec.md §19.9): a search field over the formula catalog, its results grouped by the catalog's own group order, and one pick that hands an entry back to whoever opened it. The same shape as `palette.json` — a scrim, a framed panel, a borderless field, a listbox — because it is the same gesture over a different corpus, and the two used to share a stylesheet by sharing its class names. `groups` is the filtered catalog already grouped; `activeId` is the highlight, and it is ONE string — the id the field points `aria-activedescendant` at and the id the listbox is handed as `active` — kept apart from the rows so a key moves it without the list reconciling, which is why every row carries the FLAT index it would otherwise have to be asked for. Panel position is the caller's: centred under the top edge by default, and pinned under an anchor control when one was named, which is the only thing about this surface a document cannot decide for itself — it arrives as `anchorLeft`/`anchorTop`, two numbers the `style` object below binds, because a style declaration may read state like any other value (spec.md §9.1).",
|
|
2217
2217
|
tagName: "div",
|
|
2218
2218
|
attributes: {
|
|
2219
2219
|
part: "palette"
|
|
@@ -2251,7 +2251,7 @@ var formula_palette_default = {
|
|
|
2251
2251
|
overflow: "hidden"
|
|
2252
2252
|
},
|
|
2253
2253
|
'& [part="panel"][data-anchored]': {
|
|
2254
|
-
$description: "Opened from a control rather than from a chord: the panel hangs under that control instead of sitting under the top edge. The two custom properties are the only measured numbers in the surface — a rect belongs to the moment it was taken, so the adapter measures it once per open and this document binds the result. They used to travel as a `style` ATTRIBUTE the adapter assembled into one string, on the belief that a document cannot bind a style declaration to state; it can, and always could. They are declared at the top of this object rather than here because a reactive custom property in a rule targeting the element ITSELF is written inline under the author's own name (spec §9.1), and the panel then reads them by inheritance — the root is `display: contents`, so nothing sits between the two.",
|
|
2254
|
+
$description: "Opened from a control rather than from a chord: the panel hangs under that control instead of sitting under the top edge. The two custom properties are the only measured numbers in the surface — a rect belongs to the moment it was taken, so the adapter measures it once per open and this document binds the result. They used to travel as a `style` ATTRIBUTE the adapter assembled into one string, on the belief that a document cannot bind a style declaration to state; it can, and always could. They are declared at the top of this object rather than here because a reactive custom property in a rule targeting the element ITSELF is written inline under the author's own name (spec.md §9.1), and the panel then reads them by inheritance — the root is `display: contents`, so nothing sits between the two.",
|
|
2255
2255
|
position: "fixed",
|
|
2256
2256
|
left: "var(--formula-palette-left)",
|
|
2257
2257
|
top: "var(--formula-palette-top)",
|
|
@@ -2750,7 +2750,7 @@ function closeFormulaPalette() {
|
|
|
2750
2750
|
var expression_editor_default = {
|
|
2751
2751
|
$schema: "https://jxsuite.com/schema/v1",
|
|
2752
2752
|
$id: "StudioExpressionEditor",
|
|
2753
|
-
$description: "The expression editor (spec §19.9): a `$expression` node edited as STRUCTURE — an operator, the operands that operator needs, and the live value of each. The rows arrive FLAT. An expression nests to any depth (an operand may be another expression, an aggregate's per-item body is one, and either may hold more of both) while a document's one repeater is `$prototype: \"Array\"` over a list, so `ui/expression-editor.ts` walks the tree once and hands over rows that already carry their own indent — recursion is a property of the walk, exactly as it is for the statement tree and the Data panel's value tree. Six kinds of row come out of that walk: the CHIP strip that summarises the whole pipeline, the preview's ERROR line, the OPERATOR row, an OPERAND row (the workhorse, which carries the value ladder and every literal control), a section LABEL, and an ACTION that grows the node. Five surfaces draw this — the Inspector's Content and Logic tabs, the Navigator's State panel, the statement editor and the Logic dock — and none of them is named here: each host has already said where it is, so this document stamps no region of its own.",
|
|
2753
|
+
$description: "The expression editor (spec.md §19.9): a `$expression` node edited as STRUCTURE — an operator, the operands that operator needs, and the live value of each. The rows arrive FLAT. An expression nests to any depth (an operand may be another expression, an aggregate's per-item body is one, and either may hold more of both) while a document's one repeater is `$prototype: \"Array\"` over a list, so `ui/expression-editor.ts` walks the tree once and hands over rows that already carry their own indent — recursion is a property of the walk, exactly as it is for the statement tree and the Data panel's value tree. Six kinds of row come out of that walk: the CHIP strip that summarises the whole pipeline, the preview's ERROR line, the OPERATOR row, an OPERAND row (the workhorse, which carries the value ladder and every literal control), a section LABEL, and an ACTION that grows the node. Five surfaces draw this — the Inspector's Content and Logic tabs, the Navigator's State panel, the statement editor and the Logic dock — and none of them is named here: each host has already said where it is, so this document stamps no region of its own.",
|
|
2754
2754
|
tagName: "div",
|
|
2755
2755
|
attributes: {
|
|
2756
2756
|
part: "expression"
|
|
@@ -2807,7 +2807,7 @@ var expression_editor_default = {
|
|
|
2807
2807
|
textOverflow: "ellipsis"
|
|
2808
2808
|
},
|
|
2809
2809
|
'& [part="row"]': {
|
|
2810
|
-
$description: "§4.1's standard form row, stacked, with its own indent. `display: flex` rather than `block` because an operand row carries a leading cell (an argument's name, a case's key) beside the field.",
|
|
2810
|
+
$description: "studio-ui-guidelines.md §4.1's standard form row, stacked, with its own indent. `display: flex` rather than `block` because an operand row carries a leading cell (an argument's name, a case's key) beside the field.",
|
|
2811
2811
|
boxSizing: "border-box",
|
|
2812
2812
|
display: "flex",
|
|
2813
2813
|
alignItems: "flex-start",
|
|
@@ -2856,7 +2856,7 @@ var expression_editor_default = {
|
|
|
2856
2856
|
fontSize: "var(--jx-text-xs)"
|
|
2857
2857
|
},
|
|
2858
2858
|
'& [part="badge"]': {
|
|
2859
|
-
$description: "The live value (spec §19.9). A resolved formula is arbitrary text — an object, a URL, a paragraph — so it ellipsizes inside the line it annotates and never sets that line's width.",
|
|
2859
|
+
$description: "The live value (spec.md §19.9). A resolved formula is arbitrary text — an object, a URL, a paragraph — so it ellipsizes inside the line it annotates and never sets that line's width.",
|
|
2860
2860
|
flex: "0 1 auto",
|
|
2861
2861
|
minWidth: "0",
|
|
2862
2862
|
maxWidth: "120px",
|
|
@@ -2872,7 +2872,7 @@ var expression_editor_default = {
|
|
|
2872
2872
|
textOverflow: "ellipsis"
|
|
2873
2873
|
},
|
|
2874
2874
|
'& [part="preview-error"]': {
|
|
2875
|
-
$description: "§
|
|
2875
|
+
$description: "§16.1's inline tier: not a toast and not a problem record, because it is a property of the value currently in the editor and lives exactly as long as that value does.",
|
|
2876
2876
|
margin: "0",
|
|
2877
2877
|
padding: "2px 0",
|
|
2878
2878
|
minWidth: "0",
|
|
@@ -3278,7 +3278,7 @@ var expression_editor_default = {
|
|
|
3278
3278
|
},
|
|
3279
3279
|
children: [
|
|
3280
3280
|
{
|
|
3281
|
-
$description: "The value ladder (§6.
|
|
3281
|
+
$description: "The value ladder (§6.6), in the one vocabulary `ui/value-source.ts` owns. It is absent where the position admits a single shape — an assignment target, a `call`'s callee — because a picker with one entry is a control that asks a question with one answer.",
|
|
3282
3282
|
tagName: "span",
|
|
3283
3283
|
attributes: {
|
|
3284
3284
|
part: "source-slot",
|
|
@@ -4565,7 +4565,7 @@ function scheduleLiveRefresh(tab, targetId, node, contextPath, key, onUpdate) {
|
|
|
4565
4565
|
var logic_workspace_default = {
|
|
4566
4566
|
$schema: "https://jxsuite.com/schema/v1",
|
|
4567
4567
|
$id: "StudioLogicWorkspace",
|
|
4568
|
-
$description: '
|
|
4568
|
+
$description: 'Logic — the Bottom dock tab where a formula and a function body are edited BESIDE the page they compute. One tab, two surfaces, one header: `panels/formula-workspace.ts` decides which of them is open (a `$expression` or a Monaco body), what it is called and what its verbs are, and this draws both. The chip pipeline is a projection of `ui/formula-chips.ts`\'s model — the expression tree read left to right — and a chip click reports its key back; nothing here unrolls a tree, reads a document or evaluates anything. Three ISLANDS, each an empty host this document draws and the flow fills (studio-ui-guidelines.md §9.4): `[part="code-host"]` takes Monaco, `[part="editor-host"]` takes the expression editor, which is a lit surface of its own and another conversion\'s to move, and one `[part="tree-host"]` per data-rail entry takes the value tree, which is a mounted document of its own (`surfaces/panel-data.json`). The rail\'s trees had been empty since that tree became a document, because the lit takeover rendered a host nothing ever filled; announcing them is what fills them.',
|
|
4569
4569
|
tagName: "div",
|
|
4570
4570
|
attributes: {
|
|
4571
4571
|
part: "workspace"
|
|
@@ -4658,7 +4658,7 @@ var logic_workspace_default = {
|
|
|
4658
4658
|
textOverflow: "ellipsis"
|
|
4659
4659
|
},
|
|
4660
4660
|
'& [part="badge"]': {
|
|
4661
|
-
$description: "The live value (spec §19.9). A resolved formula is arbitrary text — an object, a URL, a paragraph — so it ellipsizes inside the chip it annotates and never sets the chip's width.",
|
|
4661
|
+
$description: "The live value (spec.md §19.9). A resolved formula is arbitrary text — an object, a URL, a paragraph — so it ellipsizes inside the chip it annotates and never sets the chip's width.",
|
|
4662
4662
|
flex: "0 1 auto",
|
|
4663
4663
|
minWidth: "0",
|
|
4664
4664
|
maxWidth: "120px",
|
|
@@ -5921,7 +5921,7 @@ function openPageAction(label = "Open a page…") {
|
|
|
5921
5921
|
return {
|
|
5922
5922
|
label,
|
|
5923
5923
|
run: () => {
|
|
5924
|
-
(__preload("
|
|
5924
|
+
(__preload("c63mkt3b"), import("./quick-search-c63mkt3b.js")).then((m) => {
|
|
5925
5925
|
m.openQuickSearch();
|
|
5926
5926
|
});
|
|
5927
5927
|
}
|
|
@@ -6449,7 +6449,7 @@ var properties_panel_default = {
|
|
|
6449
6449
|
minWidth: "0"
|
|
6450
6450
|
},
|
|
6451
6451
|
'& [part="section-body"] > [part="row"], & [part="layout-class-slot"] > [part="row"]': {
|
|
6452
|
-
$description: '§4.1\'s standard form row, stacked: the label sits above a control that takes the whole width. `min-width: 0` is what keeps it honest in a narrow dock — a field refuses to shrink below its own min-content without it. Scoped to the tab\'s OWN rows rather than to every `part="row"` beneath it, which a colour row made load-bearing: the kit is light DOM and one cascade, so a bare descendant selector also matches `jx-color-field`\'s internal row — and at equal specificity with the kit\'s own `& > [part="row"]` the winner is whichever sheet was interned later, which is not a thing a stylesheet may depend on. `[part="chip"]` moved under `[part="chip-slot"]` for the same reason and a sharper one: its `background: transparent` and its border would otherwise have erased a swatch\'s colour and drawn a box round it. The `layout-class-slot` half of the pair is there because that slot is `display: contents`, so its row is a grandchild in the DOM even though it is a child in the box tree.',
|
|
6452
|
+
$description: 'studio-ui-guidelines.md §4.1\'s standard form row, stacked: the label sits above a control that takes the whole width. `min-width: 0` is what keeps it honest in a narrow dock — a field refuses to shrink below its own min-content without it. Scoped to the tab\'s OWN rows rather than to every `part="row"` beneath it, which a colour row made load-bearing: the kit is light DOM and one cascade, so a bare descendant selector also matches `jx-color-field`\'s internal row — and at equal specificity with the kit\'s own `& > [part="row"]` the winner is whichever sheet was interned later, which is not a thing a stylesheet may depend on. `[part="chip"]` moved under `[part="chip-slot"]` for the same reason and a sharper one: its `background: transparent` and its border would otherwise have erased a swatch\'s colour and drawn a box round it. The `layout-class-slot` half of the pair is there because that slot is `display: contents`, so its row is a grandchild in the DOM even though it is a child in the box tree.',
|
|
6453
6453
|
display: "flex",
|
|
6454
6454
|
flexDirection: "column",
|
|
6455
6455
|
alignItems: "stretch",
|
|
@@ -6493,7 +6493,7 @@ var properties_panel_default = {
|
|
|
6493
6493
|
minInlineSize: "0"
|
|
6494
6494
|
},
|
|
6495
6495
|
'& [part="chip-slot"] > [part="chip"]': {
|
|
6496
|
-
$description: "§6.
|
|
6496
|
+
$description: "§6.7's provenance chip. `set` is the 6px accent dot it has always been — a circle is not a button, whatever element draws it — and the three states that carry a donor are bordered chips naming it. The fourth state, `default`, draws nothing at all: a ghost dot on every unset row says less than silence.",
|
|
6497
6497
|
flexShrink: "0",
|
|
6498
6498
|
display: "inline-flex",
|
|
6499
6499
|
alignItems: "center",
|
|
@@ -6986,7 +6986,7 @@ var properties_panel_default = {
|
|
|
6986
6986
|
},
|
|
6987
6987
|
children: [
|
|
6988
6988
|
{
|
|
6989
|
-
$description: "§6.
|
|
6989
|
+
$description: "§6.7's collapsed-header tally. It is an indicator and not a control: the heading's own click already toggles the section, so a second meaning for the same click would be worse than the silence. It says how many values in the section are set, which is what a closed section otherwise cannot say.",
|
|
6990
6990
|
tagName: "span",
|
|
6991
6991
|
attributes: {
|
|
6992
6992
|
slot: "heading",
|
|
@@ -7145,7 +7145,7 @@ var properties_panel_default = {
|
|
|
7145
7145
|
},
|
|
7146
7146
|
cases: {
|
|
7147
7147
|
true: {
|
|
7148
|
-
$description: "§6.
|
|
7148
|
+
$description: "§6.6's Value Source chip: the rung this value is produced at, in plain language, opening a picker of every rung the POSITION permits. The rungs are derived from the schema at that position and the picker is the kit menu every other list in the shell opens, so neither is decided here.",
|
|
7149
7149
|
tagName: "jx-action-button",
|
|
7150
7150
|
attributes: {
|
|
7151
7151
|
part: "source",
|
|
@@ -8475,10 +8475,10 @@ function openSourceMenu(key, anchor) {
|
|
|
8475
8475
|
});
|
|
8476
8476
|
}
|
|
8477
8477
|
function openUsage(path) {
|
|
8478
|
-
(__preload("
|
|
8478
|
+
(__preload("egsb0ry8"), import("./files-egsb0ry8.js")).then((m) => m.openFileInTab(path));
|
|
8479
8479
|
}
|
|
8480
8480
|
function showLogicTab() {
|
|
8481
|
-
(__preload("
|
|
8481
|
+
(__preload("t5n8wttg"), import("./right-panel-t5n8wttg.js")).then((m) => m.setInspectorTab("events"));
|
|
8482
8482
|
}
|
|
8483
8483
|
function withPlan(row, plan) {
|
|
8484
8484
|
plans.set(row.key, plan);
|
|
@@ -9196,7 +9196,7 @@ function registerInspectorCommands(registry) {
|
|
|
9196
9196
|
var statements_default = {
|
|
9197
9197
|
$schema: "https://jxsuite.com/schema/v1",
|
|
9198
9198
|
$id: "StudioStatements",
|
|
9199
|
-
$description: "The statement editor (spec §20): a Function entry's `body: JxStatement[]` edited as STRUCTURE rather than as text. The rows arrive FLAT. A statement tree nests to any depth — an `if` holds two lanes, a `$switch` holds one per case plus a default, and either may hold another of both — while a document's one repeater is `$prototype: \"Array\"` over a list, so `panels/statement-editor.ts` walks the tree once and hands over rows that already carry their own indent; recursion is a property of the walk, exactly as it is for the Data panel's value tree. Four kinds of row come out of that walk: a statement CARD (its header, and the fields that statement is made of), a LANE header naming a branch, the ADD control that ends every lane, and an ACTION that grows the statement itself (`+ Add else`, `+ Add case`). Two hosts draw this — the Navigator's State panel and the Inspector's Logic tab — and neither is named here: the region is stamped on the host, because a shared control cannot know where it is. An operand is an ISLAND: the document renders `[part=\"control-host\"]` and nothing inside it, and the flow fills it with the expression editor (studio-ui-guidelines.md §9.4).",
|
|
9199
|
+
$description: "The statement editor (spec.md §20): a Function entry's `body: JxStatement[]` edited as STRUCTURE rather than as text. The rows arrive FLAT. A statement tree nests to any depth — an `if` holds two lanes, a `$switch` holds one per case plus a default, and either may hold another of both — while a document's one repeater is `$prototype: \"Array\"` over a list, so `panels/statement-editor.ts` walks the tree once and hands over rows that already carry their own indent; recursion is a property of the walk, exactly as it is for the Data panel's value tree. Four kinds of row come out of that walk: a statement CARD (its header, and the fields that statement is made of), a LANE header naming a branch, the ADD control that ends every lane, and an ACTION that grows the statement itself (`+ Add else`, `+ Add case`). Two hosts draw this — the Navigator's State panel and the Inspector's Logic tab — and neither is named here: the region is stamped on the host, because a shared control cannot know where it is. An operand is an ISLAND: the document renders `[part=\"control-host\"]` and nothing inside it, and the flow fills it with the expression editor (studio-ui-guidelines.md §9.4).",
|
|
9200
9200
|
tagName: "div",
|
|
9201
9201
|
attributes: {
|
|
9202
9202
|
part: "statements"
|
|
@@ -9413,7 +9413,7 @@ var statements_default = {
|
|
|
9413
9413
|
$ref: "$map/item/key"
|
|
9414
9414
|
},
|
|
9415
9415
|
map: {
|
|
9416
|
-
$description: "One operand of the statement. Every field is `span` — the Inspector is 280px and the
|
|
9416
|
+
$description: "One operand of the statement. Every field is `span` — the Inspector is 280px and the standard row is vertically stacked (studio-ui-guidelines.md §4.1) — and every field carries `data-prop`, which is what `inspector/field:<prop>` addresses. The key is `<row>::<prop>`, self-contained because this `$map` shadows the row's own `$map.item`.",
|
|
9417
9417
|
tagName: "jx-field",
|
|
9418
9418
|
attributes: {
|
|
9419
9419
|
part: "field",
|
|
@@ -9695,7 +9695,7 @@ var statements_default = {
|
|
|
9695
9695
|
]
|
|
9696
9696
|
},
|
|
9697
9697
|
add: {
|
|
9698
|
-
$description: "The end of every lane. It opens the kit's menu rather than being a picker of its own: a select that has to snap back to its placeholder after each pick is a control fighting the runtime's skip-an-equal-write, and §12.5 asks for one list of actions rather than a second.",
|
|
9698
|
+
$description: "The end of every lane. It opens the kit's menu rather than being a picker of its own: a select that has to snap back to its placeholder after each pick is a control fighting the runtime's skip-an-equal-write, and studio-ui-guidelines.md §12.5 asks for one list of actions rather than a second.",
|
|
9699
9699
|
tagName: "div",
|
|
9700
9700
|
attributes: {
|
|
9701
9701
|
part: "add",
|
|
@@ -10568,7 +10568,11 @@ var panel_signals_default = {
|
|
|
10568
10568
|
fontSize: "var(--jx-text-xs)",
|
|
10569
10569
|
color: "var(--fg-dim)"
|
|
10570
10570
|
},
|
|
10571
|
-
'& [part="bar-segments"]
|
|
10571
|
+
'& [part="bar-segments"]': {
|
|
10572
|
+
$description: "The Body switch is the kit's segmented control, which draws its own row, frame and selected segment; all the bar asks of it is not to shrink.",
|
|
10573
|
+
flex: "none"
|
|
10574
|
+
},
|
|
10575
|
+
'& [part="bar-buttons"]': {
|
|
10572
10576
|
display: "flex",
|
|
10573
10577
|
flex: "none",
|
|
10574
10578
|
alignItems: "center"
|
|
@@ -11577,11 +11581,17 @@ var panel_signals_default = {
|
|
|
11577
11581
|
textContent: "${$map.item.label}"
|
|
11578
11582
|
},
|
|
11579
11583
|
{
|
|
11580
|
-
|
|
11584
|
+
$description: "The mode switch is the kit's radiogroup, as the Logic panel's Handler body is. It was a `span` with `role=group` over buttons that carried `selected` alone: the one Spectrum `compact` group the conversion never reached, so it drew as two loose words and announced neither which mode was on nor that the two exclude each other. `checked` makes each segment a radio, so the caret roves and `aria-checked` is the element's own.",
|
|
11585
|
+
tagName: "jx-action-group",
|
|
11581
11586
|
attributes: {
|
|
11582
|
-
part: "bar-segments"
|
|
11583
|
-
|
|
11584
|
-
|
|
11587
|
+
part: "bar-segments"
|
|
11588
|
+
},
|
|
11589
|
+
$props: {
|
|
11590
|
+
selects: "single",
|
|
11591
|
+
compact: true,
|
|
11592
|
+
label: {
|
|
11593
|
+
$ref: "$map/item/label"
|
|
11594
|
+
}
|
|
11585
11595
|
},
|
|
11586
11596
|
children: [
|
|
11587
11597
|
{
|
|
@@ -11603,11 +11613,16 @@ var panel_signals_default = {
|
|
|
11603
11613
|
label: {
|
|
11604
11614
|
$ref: "$map/item/label"
|
|
11605
11615
|
},
|
|
11606
|
-
|
|
11607
|
-
$ref: "$map/item/
|
|
11616
|
+
checked: {
|
|
11617
|
+
$ref: "$map/item/checked"
|
|
11608
11618
|
}
|
|
11609
11619
|
},
|
|
11610
|
-
|
|
11620
|
+
children: [
|
|
11621
|
+
{
|
|
11622
|
+
tagName: "span",
|
|
11623
|
+
textContent: "${$map.item.label}"
|
|
11624
|
+
}
|
|
11625
|
+
],
|
|
11611
11626
|
onclick: {
|
|
11612
11627
|
$prototype: "Function",
|
|
11613
11628
|
body: [
|
|
@@ -13147,13 +13162,19 @@ function functionFields(S, name, def) {
|
|
|
13147
13162
|
prop: "Body",
|
|
13148
13163
|
segments: [
|
|
13149
13164
|
{
|
|
13165
|
+
checked: statements ? "true" : "false",
|
|
13150
13166
|
field: "body",
|
|
13151
13167
|
key: "statements",
|
|
13152
13168
|
label: "Statements",
|
|
13153
|
-
selected: statements,
|
|
13154
13169
|
signal: name
|
|
13155
13170
|
},
|
|
13156
|
-
{
|
|
13171
|
+
{
|
|
13172
|
+
checked: statements ? "false" : "true",
|
|
13173
|
+
field: "body",
|
|
13174
|
+
key: "code",
|
|
13175
|
+
label: "Code",
|
|
13176
|
+
signal: name
|
|
13177
|
+
}
|
|
13157
13178
|
],
|
|
13158
13179
|
signal: name
|
|
13159
13180
|
}, {
|
|
@@ -13612,5 +13633,5 @@ function registerSignalsCommands(registry) {
|
|
|
13612
13633
|
|
|
13613
13634
|
export { DERIVE_PRESETS, PRESET_LABELS, declaredMedia, clearPaneDerivation, installDerivationEffects, presetRefusal, deriveRefusal, pinRefusal, derivationCommands, mountExpressionEditor, unwrapSignal, dataTypeLabel, registerDataExplorerCommands, registerDataPanel, livePreviewExpression, closeFunctionEditor, logicTarget, revealLogicPanel, openLogicTarget, registerLogicPanel, registerFormulaEditorCommands, provenanceText, provenanceTitle, countProvenance, provenanceSummaryText, clickAnythingTo, staleSelectionMessage, openPageAction, tokenRefName, toTokenRef, resolveTokenValue, colorTokens, resolvedColor, mountStatementEditor, mapSignalsFor, bindableSignalNames, defaultAsString, invalidatePageRouteCache, isInspectorSectionOpen, setInspectorSection, renderPropertiesPanel, bindContentHost, inspectorCommands, registerInspectorCommands, defCategory, defBadgeLabel, isCustomElementDoc, collectCssParts, mountSignalsPanel, registerSignalsCommands };
|
|
13614
13635
|
|
|
13615
|
-
//# debugId=
|
|
13616
|
-
//# sourceMappingURL=studio-
|
|
13636
|
+
//# debugId=A1EC7A96E45C85E664756E2164756E21
|
|
13637
|
+
//# sourceMappingURL=studio-rav5bpmp.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getPlatform2
|
|
3
|
-
} from "./studio-
|
|
3
|
+
} from "./studio-6pwn9j8c.js";
|
|
4
4
|
import {
|
|
5
5
|
debouncedStyleCommit,
|
|
6
6
|
renderOnly
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
registerSurface,
|
|
12
12
|
mountSurface,
|
|
13
13
|
layerHost2
|
|
14
|
-
} from "./studio-
|
|
14
|
+
} from "./studio-ag3z6shb.js";
|
|
15
15
|
import {
|
|
16
16
|
reactive
|
|
17
17
|
} from "./studio-d8z5bajd.js";
|
|
@@ -23,17 +23,17 @@ import {
|
|
|
23
23
|
uploadAssets,
|
|
24
24
|
mediaSiteUrl,
|
|
25
25
|
previewFileSrc
|
|
26
|
-
} from "./studio-
|
|
26
|
+
} from "./studio-sceg8ws0.js";
|
|
27
27
|
import {
|
|
28
28
|
peekMediaMeta,
|
|
29
29
|
seedMediaMeta,
|
|
30
30
|
recordImageSize,
|
|
31
31
|
invalidateMediaMeta,
|
|
32
32
|
mediaMetaSummary
|
|
33
|
-
} from "./studio-
|
|
33
|
+
} from "./studio-dwdcr2e8.js";
|
|
34
34
|
import {
|
|
35
35
|
previewAssetSrc
|
|
36
|
-
} from "./studio-
|
|
36
|
+
} from "./studio-kwewmhhq.js";
|
|
37
37
|
import {
|
|
38
38
|
rectOf
|
|
39
39
|
} from "./studio-rs76k67r.js";
|
|
@@ -836,4 +836,4 @@ function unmountMediaPicker2(host) {
|
|
|
836
836
|
export { openPopoverSurface, invalidateMediaCache2, showMediaPickerPopover2, uploadAndAssign2, pickAndUpload2, mountMediaPicker2, unmountMediaPicker2 };
|
|
837
837
|
|
|
838
838
|
//# debugId=9A676D8FC549E4AE64756E2164756E21
|
|
839
|
-
//# sourceMappingURL=studio-
|
|
839
|
+
//# sourceMappingURL=studio-rwmmbrth.js.map
|
|
@@ -4,27 +4,27 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
getPlatform2,
|
|
6
6
|
hasPlatform2
|
|
7
|
-
} from "./studio-
|
|
7
|
+
} from "./studio-6pwn9j8c.js";
|
|
8
8
|
import {
|
|
9
9
|
notify2
|
|
10
10
|
} from "./studio-d8z5bajd.js";
|
|
11
|
+
import {
|
|
12
|
+
activeTab2
|
|
13
|
+
} from "./studio-dgdm6vvt.js";
|
|
11
14
|
import {
|
|
12
15
|
projectState
|
|
13
16
|
} from "./studio-m1p9b6c3.js";
|
|
14
|
-
import {
|
|
15
|
-
activeTab2
|
|
16
|
-
} from "./studio-gk2twyh4.js";
|
|
17
17
|
import {
|
|
18
18
|
PUBLIC_DIR,
|
|
19
19
|
normalizeProjectPath,
|
|
20
20
|
encodeProjectPath
|
|
21
|
-
} from "./studio-
|
|
21
|
+
} from "./studio-3nprwbd9.js";
|
|
22
22
|
import {
|
|
23
23
|
contentMountFor,
|
|
24
24
|
loopbackAssetSrc,
|
|
25
25
|
projectLocales2,
|
|
26
26
|
hostAssetDeclarations
|
|
27
|
-
} from "./studio-
|
|
27
|
+
} from "./studio-kwewmhhq.js";
|
|
28
28
|
|
|
29
29
|
// src/files/media-upload.ts
|
|
30
30
|
var IMAGE_EXTENSIONS = new Set([
|
|
@@ -236,5 +236,5 @@ function previewFileSrc(path) {
|
|
|
236
236
|
|
|
237
237
|
export { IMAGE_EXTENSIONS, MEDIA_EXTENSIONS, uploadAccept, extensionOf, isImage, isMediaFile, mediaKind, setMediaChangedHandler, uploadAssets, baseName, dirName, mediaSiteUrl, previewFileSrc };
|
|
238
238
|
|
|
239
|
-
//# debugId=
|
|
240
|
-
//# sourceMappingURL=studio-
|
|
239
|
+
//# debugId=BDC1B0ADAA9E564764756E2164756E21
|
|
240
|
+
//# sourceMappingURL=studio-sceg8ws0.js.map
|
|
@@ -12,11 +12,11 @@ import {
|
|
|
12
12
|
mountSurface,
|
|
13
13
|
whenReady,
|
|
14
14
|
layerHost2
|
|
15
|
-
} from "./studio-
|
|
15
|
+
} from "./studio-ag3z6shb.js";
|
|
16
16
|
import {
|
|
17
17
|
showModal,
|
|
18
18
|
close2
|
|
19
|
-
} from "./studio-
|
|
19
|
+
} from "./studio-3nprwbd9.js";
|
|
20
20
|
// src/surfaces/github-auth.json
|
|
21
21
|
var github_auth_default = {
|
|
22
22
|
$schema: "https://jxsuite.com/schema/v1",
|
|
@@ -69,7 +69,8 @@ var github_auth_default = {
|
|
|
69
69
|
margin: "0"
|
|
70
70
|
},
|
|
71
71
|
'& [part="code"]': {
|
|
72
|
-
$description: "`<code>`, not a styled `<div>`: this is a literal string to be transcribed, and the element that says so is also the one a reader's own stylesheet and a screen reader's character-by-character mode already know about.",
|
|
72
|
+
$description: "`<code>`, not a styled `<div>`: this is a literal string to be transcribed, and the element that says so is also the one a reader's own stylesheet and a screen reader's character-by-character mode already know about. It is this dialog's message, and the one string in it the reader must carry to another screen, so it opts back in to selection against the root's `user-select: none`. `all` rather than `text`: one click selects the whole code, so a copy never leaves a character behind.",
|
|
73
|
+
userSelect: "all",
|
|
73
74
|
fontFamily: "var(--font-mono)",
|
|
74
75
|
fontSize: "24px",
|
|
75
76
|
fontWeight: "700",
|
|
@@ -185,25 +186,22 @@ function openGithubAuthSurface(options) {
|
|
|
185
186
|
};
|
|
186
187
|
}
|
|
187
188
|
|
|
188
|
-
// src/github/github-auth.ts
|
|
189
|
-
var CLIENT_ID = "Ov23liYVlMFpgjOEPXJH";
|
|
189
|
+
// src/github/github-auth-status.ts
|
|
190
190
|
var STORAGE_KEY = "jx_github_token";
|
|
191
191
|
function nativeAuth() {
|
|
192
192
|
return globalThis.__jxPlatform?.githubAuth ?? null;
|
|
193
193
|
}
|
|
194
194
|
var nativeToken = null;
|
|
195
195
|
var nativeStored = false;
|
|
196
|
+
function setNativeToken(token) {
|
|
197
|
+
nativeToken = token;
|
|
198
|
+
}
|
|
196
199
|
function githubTokenStored() {
|
|
197
200
|
return nativeToken !== null || nativeStored || localStorage.getItem(STORAGE_KEY) !== null;
|
|
198
201
|
}
|
|
199
202
|
function githubTokenLocation() {
|
|
200
203
|
return nativeAuth() ? "desktop" : "browser";
|
|
201
204
|
}
|
|
202
|
-
var NOTIFY_KEY = "github.auth";
|
|
203
|
-
var SOURCE = "Source Control";
|
|
204
|
-
var RETRY = "git.signInToGithub";
|
|
205
|
-
var MAX_POLL_FAILURES = 3;
|
|
206
|
-
var UNREACHABLE_DETAIL = "The request never reached GitHub. GitHub's device-flow endpoints send no CORS headers, so a " + "browser cannot call them directly — the desktop app can. A machine that is offline fails " + "identically, and the browser does not say which happened.";
|
|
207
205
|
function getGithubToken() {
|
|
208
206
|
return nativeToken ?? localStorage.getItem(STORAGE_KEY);
|
|
209
207
|
}
|
|
@@ -213,6 +211,14 @@ function clearGithubToken() {
|
|
|
213
211
|
localStorage.removeItem(STORAGE_KEY);
|
|
214
212
|
nativeAuth()?.signOut().catch(() => {});
|
|
215
213
|
}
|
|
214
|
+
|
|
215
|
+
// src/github/github-auth.ts
|
|
216
|
+
var CLIENT_ID = "Ov23liYVlMFpgjOEPXJH";
|
|
217
|
+
var NOTIFY_KEY = "github.auth";
|
|
218
|
+
var SOURCE = "Source Control";
|
|
219
|
+
var RETRY = "git.signInToGithub";
|
|
220
|
+
var MAX_POLL_FAILURES = 3;
|
|
221
|
+
var UNREACHABLE_DETAIL = "The request never reached GitHub. GitHub's device-flow endpoints send no CORS headers, so a " + "browser cannot call them directly — the desktop app can. A machine that is offline fails " + "identically, and the browser does not say which happened.";
|
|
216
222
|
function reportUnreachable(error) {
|
|
217
223
|
notify2.error("Could not reach GitHub to sign in.", {
|
|
218
224
|
action: RETRY,
|
|
@@ -256,7 +262,7 @@ async function authenticateGithub() {
|
|
|
256
262
|
if (native) {
|
|
257
263
|
try {
|
|
258
264
|
const { token } = await native.signIn();
|
|
259
|
-
|
|
265
|
+
setNativeToken(token);
|
|
260
266
|
return token;
|
|
261
267
|
} catch (error) {
|
|
262
268
|
reportRefused("GitHub sign-in was not completed.", errorMessage2(error));
|
|
@@ -358,5 +364,5 @@ async function authenticateGithub() {
|
|
|
358
364
|
|
|
359
365
|
export { githubTokenStored, githubTokenLocation, clearGithubToken, authenticateGithub };
|
|
360
366
|
|
|
361
|
-
//# debugId=
|
|
362
|
-
//# sourceMappingURL=studio-
|
|
367
|
+
//# debugId=2E3AA6611B2C5CA164756E2164756E21
|
|
368
|
+
//# sourceMappingURL=studio-sjas5b3a.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getPlatform2
|
|
3
|
-
} from "./studio-
|
|
3
|
+
} from "./studio-6pwn9j8c.js";
|
|
4
4
|
import {
|
|
5
5
|
isJsonObject,
|
|
6
6
|
paramNames
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
} from "./studio-m1p9b6c3.js";
|
|
12
12
|
import {
|
|
13
13
|
loadedMonaco
|
|
14
|
-
} from "./studio-
|
|
14
|
+
} from "./studio-9vsvz7w7.js";
|
|
15
15
|
|
|
16
16
|
// src/services/code-services.ts
|
|
17
17
|
async function codeService(action, payload) {
|
|
@@ -108,4 +108,4 @@ function getFunctionArgs(editing, document) {
|
|
|
108
108
|
export { codeService, pluginSchemaCache, fetchPluginSchema, setLintMarkers, getFunctionArgs };
|
|
109
109
|
|
|
110
110
|
//# debugId=267FFB64A2BBCD1564756E2164756E21
|
|
111
|
-
//# sourceMappingURL=studio-
|
|
111
|
+
//# sourceMappingURL=studio-vd67b66d.js.map
|