@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,13 +2,13 @@ import {
|
|
|
2
2
|
resolveI18n,
|
|
3
3
|
emptyContext,
|
|
4
4
|
activeTab2
|
|
5
|
-
} from "./studio-
|
|
5
|
+
} from "./studio-dgdm6vvt.js";
|
|
6
6
|
import {
|
|
7
7
|
projectState
|
|
8
8
|
} from "./studio-m1p9b6c3.js";
|
|
9
9
|
import {
|
|
10
10
|
shell
|
|
11
|
-
} from "./studio-
|
|
11
|
+
} from "./studio-mfkh1q8d.js";
|
|
12
12
|
|
|
13
13
|
// src/commands/levels.ts
|
|
14
14
|
var LEVELS = ["application", "project", "document", "selection"];
|
|
@@ -220,6 +220,9 @@ function registerPanel(panel) {
|
|
|
220
220
|
throw new Error(`Panel "${panel.id}" violates the level × placement matrix:
|
|
221
221
|
${detail}`);
|
|
222
222
|
}
|
|
223
|
+
if (panel.railLabel !== undefined && (panel.railLabel.trim() === "" || !panel.title.startsWith(panel.railLabel))) {
|
|
224
|
+
throw new Error(`Panel "${panel.id}" declares railLabel "${panel.railLabel}", which is not a leading part ` + `of its title "${panel.title}": the rail button's accessible name is the title, and the ` + `words on screen must be inside it (WCAG 2.5.3, Label in Name).`);
|
|
225
|
+
}
|
|
223
226
|
panelRegistry.set(panel.id, panel);
|
|
224
227
|
}
|
|
225
228
|
function getPanel(id) {
|
|
@@ -254,5 +257,5 @@ function railPanelSet() {
|
|
|
254
257
|
|
|
255
258
|
export { LEVELS, KEY_SCOPES, CATEGORIES, checkRecordPlacements, panelContext, registerPanel, getPanel, listPanels, isPanelVisible, railGroups, railPanelSet };
|
|
256
259
|
|
|
257
|
-
//# debugId=
|
|
258
|
-
//# sourceMappingURL=studio-
|
|
260
|
+
//# debugId=6E2BE7B96A8BC2F564756E2164756E21
|
|
261
|
+
//# sourceMappingURL=studio-fqpkpq1t.js.map
|
|
@@ -41,16 +41,15 @@ import {
|
|
|
41
41
|
stringArg,
|
|
42
42
|
kebabToLabel,
|
|
43
43
|
propLabel,
|
|
44
|
-
abbreviateValue,
|
|
45
44
|
inferInputType,
|
|
46
45
|
friendlyNameToVar,
|
|
47
46
|
varDisplayName,
|
|
48
47
|
activeTab2
|
|
49
|
-
} from "./studio-
|
|
48
|
+
} from "./studio-dgdm6vvt.js";
|
|
50
49
|
import {
|
|
51
50
|
isPopover,
|
|
52
51
|
activeRegistry
|
|
53
|
-
} from "./studio-
|
|
52
|
+
} from "./studio-3nprwbd9.js";
|
|
54
53
|
import {
|
|
55
54
|
mountExpressionEditor,
|
|
56
55
|
livePreviewExpression,
|
|
@@ -76,14 +75,14 @@ import {
|
|
|
76
75
|
bindContentHost,
|
|
77
76
|
isCustomElementDoc,
|
|
78
77
|
collectCssParts
|
|
79
|
-
} from "./studio-
|
|
78
|
+
} from "./studio-rav5bpmp.js";
|
|
80
79
|
import {
|
|
81
80
|
inspectorTabRegion,
|
|
82
81
|
inspectorStatementsRegion,
|
|
83
82
|
registerSurface,
|
|
84
83
|
mountSurface,
|
|
85
84
|
showPromptDialog2
|
|
86
|
-
} from "./studio-
|
|
85
|
+
} from "./studio-ag3z6shb.js";
|
|
87
86
|
import {
|
|
88
87
|
VALUE_SOURCE_LABELS,
|
|
89
88
|
VALUE_SOURCE_HINTS,
|
|
@@ -95,40 +94,40 @@ import {
|
|
|
95
94
|
effectiveSlotMode,
|
|
96
95
|
slotModeSeed,
|
|
97
96
|
switchSlotMode
|
|
98
|
-
} from "./studio-
|
|
97
|
+
} from "./studio-w7gpcvfj.js";
|
|
99
98
|
import {
|
|
100
99
|
mediaDisplayName,
|
|
101
100
|
schemeOfQuery,
|
|
102
101
|
parseMediaEntries,
|
|
103
102
|
dialogPathFor
|
|
104
|
-
} from "./studio-
|
|
103
|
+
} from "./studio-mrh0a92f.js";
|
|
105
104
|
import {
|
|
106
105
|
openMenu2
|
|
107
|
-
} from "./studio-
|
|
106
|
+
} from "./studio-mt79tn56.js";
|
|
108
107
|
import {
|
|
109
108
|
getEffectiveMedia,
|
|
110
109
|
getEffectiveStyle,
|
|
111
110
|
DEFAULT_INSPECTOR_TAB,
|
|
112
111
|
isInspectorTabId,
|
|
113
112
|
shell
|
|
114
|
-
} from "./studio-
|
|
113
|
+
} from "./studio-mfkh1q8d.js";
|
|
115
114
|
import {
|
|
116
115
|
peekUsages2,
|
|
117
116
|
loadUsages2,
|
|
118
117
|
usageFiles2
|
|
119
|
-
} from "./studio-
|
|
118
|
+
} from "./studio-557bmn0x.js";
|
|
120
119
|
import {
|
|
121
120
|
selectStylebookTag,
|
|
122
121
|
INSPECTOR_TABS
|
|
123
|
-
} from "./studio-
|
|
122
|
+
} from "./studio-bh47w0cy.js";
|
|
124
123
|
import {
|
|
125
124
|
cloneValue2
|
|
126
|
-
} from "./studio-
|
|
125
|
+
} from "./studio-aj9drheq.js";
|
|
127
126
|
// src/surfaces/logic-panel.json
|
|
128
127
|
var logic_panel_default = {
|
|
129
128
|
$schema: "https://jxsuite.com/schema/v1",
|
|
130
129
|
$id: "StudioLogicPanel",
|
|
131
|
-
$description: "The Inspector's **Logic** tab — everything about how the selected element BEHAVES, as a Jx document over the kit.
|
|
130
|
+
$description: "The Inspector's **Logic** tab — everything about how the selected element BEHAVES, as a Jx document over the kit. The Inspector is split by task rather than by data type (§6): wiring a `$switch`, wiring a repeater to a collection and wiring a click handler are one job, and they were three, split across two tabs because a `$switch` is stored as a property and a click handler as a property-shaped function. So there are four sections here — Repeating list, Condition, Events, and a custom element's outward contract (Observed Attributes · CSS Properties · CSS Parts) — and each of them is a projection. The adapter (`panels/events-panel.ts`) keeps every decision: what the selection is, which rungs a position permits, what a handler currently holds, which elements of a multi-selection disagree about a key, and what a commit writes. Nothing here reads the document, asks the schema a question or knows what a Value Source is. Two islands, both through `onNodeCreated` (studio-ui-guidelines.md §9.4): `[part=\"control-host\"]` receives the expression editor, which is a lit surface of its own, and `[part=\"statements-host\"]` receives the `statements` surface, which is a mounted document of its own. Every bindable row carries `data-prop`, which is what `inspector/field:<prop>` addresses.",
|
|
132
131
|
tagName: "div",
|
|
133
132
|
attributes: {
|
|
134
133
|
part: "logic"
|
|
@@ -141,7 +140,7 @@ var logic_panel_default = {
|
|
|
141
140
|
fontSize: "var(--jx-text-md)",
|
|
142
141
|
color: "var(--fg)",
|
|
143
142
|
'& [part="empty"]': {
|
|
144
|
-
$description: "The one empty-state pattern (§11.2), drawn here because a document cannot render a lit helper. It is a copy rather than a move — every panel still lit renders through that helper — and it goes when the last of them converts.",
|
|
143
|
+
$description: "The one empty-state pattern (studio-ui-guidelines.md §11.2), drawn here because a document cannot render a lit helper. It is a copy rather than a move — every panel still lit renders through that helper — and it goes when the last of them converts.",
|
|
145
144
|
display: "flex",
|
|
146
145
|
flexDirection: "column",
|
|
147
146
|
alignItems: "center",
|
|
@@ -399,7 +398,7 @@ var logic_panel_default = {
|
|
|
399
398
|
},
|
|
400
399
|
children: [
|
|
401
400
|
{
|
|
402
|
-
$description: 'Repeating list. Filter and Sort are always drawn: they used to hide behind `+ Add filter`, which seeded `{ $ref: "#/state/" }` — a binding to the empty pointer, which is not a signal — so the row opened already bound to nothing and the only way to type a literal was to cycle the mode ring twice (§
|
|
401
|
+
$description: 'Repeating list. Filter and Sort are always drawn: they used to hide behind `+ Add filter`, which seeded `{ $ref: "#/state/" }` — a binding to the empty pointer, which is not a signal — so the row opened already bound to nothing and the only way to type a literal was to cycle the mode ring twice (§6.6). A repeater has exactly three inputs, and an empty row states that better than a button does.',
|
|
403
402
|
tagName: "div",
|
|
404
403
|
attributes: {
|
|
405
404
|
part: "repeater-slot",
|
|
@@ -457,7 +456,7 @@ var logic_panel_default = {
|
|
|
457
456
|
$ref: "$map/item/key"
|
|
458
457
|
},
|
|
459
458
|
map: {
|
|
460
|
-
$description: "A bindable value as a first-class field row. Every position it serves is a single-line expression — a collection, a filter, a sort key, a `$switch` — so it draws one widget rather than dispatching over a widget type: the textarea and checkbox arms the lit version carried had no caller in either tab. The set dot clears the position outright and is disabled where the position is mandatory; the source chip opens the rung picker rather than cycling, so any rung the position permits is one action away (§6.
|
|
459
|
+
$description: "A bindable value as a first-class field row. Every position it serves is a single-line expression — a collection, a filter, a sort key, a `$switch` — so it draws one widget rather than dispatching over a widget type: the textarea and checkbox arms the lit version carried had no caller in either tab. The set dot clears the position outright and is disabled where the position is mandatory; the source chip opens the rung picker rather than cycling, so any rung the position permits is one action away (§6.6).",
|
|
461
460
|
tagName: "jx-field",
|
|
462
461
|
attributes: {
|
|
463
462
|
part: "field",
|
|
@@ -761,7 +760,7 @@ var logic_panel_default = {
|
|
|
761
760
|
$ref: "$map/item/key"
|
|
762
761
|
},
|
|
763
762
|
map: {
|
|
764
|
-
$description: "A bindable value as a first-class field row. Every position it serves is a single-line expression — a collection, a filter, a sort key, a `$switch` — so it draws one widget rather than dispatching over a widget type: the textarea and checkbox arms the lit version carried had no caller in either tab. The set dot clears the position outright and is disabled where the position is mandatory; the source chip opens the rung picker rather than cycling, so any rung the position permits is one action away (§6.
|
|
763
|
+
$description: "A bindable value as a first-class field row. Every position it serves is a single-line expression — a collection, a filter, a sort key, a `$switch` — so it draws one widget rather than dispatching over a widget type: the textarea and checkbox arms the lit version carried had no caller in either tab. The set dot clears the position outright and is disabled where the position is mandatory; the source chip opens the rung picker rather than cycling, so any rung the position permits is one action away (§6.6).",
|
|
765
764
|
tagName: "jx-field",
|
|
766
765
|
attributes: {
|
|
767
766
|
part: "field",
|
|
@@ -1272,7 +1271,7 @@ var logic_panel_default = {
|
|
|
1272
1271
|
$ref: "$map/item/key"
|
|
1273
1272
|
},
|
|
1274
1273
|
map: {
|
|
1275
|
-
$description: "One `on*` key. The Mixed contract (§6.
|
|
1274
|
+
$description: "One `on*` key. The Mixed contract (§6.7) splits in two and this row shows both halves: which events exist, how each is produced, and its removal are properties of the BATCH — binding one handler to six buttons is a single decision, so those three controls write to every selected element in one transaction — while what a handler CONTAINS is the PRIMARY's, because six elements do not share one body and broadcasting a keystroke into six of them would destroy five. The dot says `mixed` when the selected elements disagree; the body below it stays the primary's.",
|
|
1276
1275
|
tagName: "div",
|
|
1277
1276
|
attributes: {
|
|
1278
1277
|
part: "binding",
|
|
@@ -1286,7 +1285,7 @@ var logic_panel_default = {
|
|
|
1286
1285
|
},
|
|
1287
1286
|
children: [
|
|
1288
1287
|
{
|
|
1289
|
-
$description: "The event NAME, and it is free-form rather than a list of ten. The menu offers what this element already binds plus the ten worth suggesting, and its last row asks for any other name through the one prompt dialog Studio has — so `ondragover`, `onpointerdown` and every custom event a component emits are bindable, which is exactly what §6.
|
|
1288
|
+
$description: "The event NAME, and it is free-form rather than a list of ten. The menu offers what this element already binds plus the ten worth suggesting, and its last row asks for any other name through the one prompt dialog Studio has — so `ondragover`, `onpointerdown` and every custom event a component emits are bindable, which is exactly what §6.1 asks for and what the closed picker refused.",
|
|
1290
1289
|
tagName: "jx-action-button",
|
|
1291
1290
|
attributes: {
|
|
1292
1291
|
part: "event-name"
|
|
@@ -2898,7 +2897,7 @@ function computeInheritedSources(style, mediaNames, activeTab, activeSelector =
|
|
|
2898
2897
|
var target_line_default = {
|
|
2899
2898
|
$schema: "https://jxsuite.com/schema/v1",
|
|
2900
2899
|
$id: "StudioTargetLine",
|
|
2901
|
-
$description: "The Style tab's edit target, as one sentence (
|
|
2900
|
+
$description: "The Style tab's edit target, as one sentence (§6.2): element · breakpoint · scheme variant · selector, then the chip that states how wide the blast radius is. Every word of the sentence is a control, because a sentence you cannot act on is a caption and the panel already had one of those. The breakpoint and scheme segments ROUTE to where those axes are defined rather than offering a third list to pick from — the Style tab owns the selector axis and nothing else — so the selector is the one segment with a menu, and that menu is the kit's. The project-scope warning band is not decoration: entering Stylebook converts every edit from `this element` to `every element of this tag`, and the band states that before the first keystroke.",
|
|
2902
2901
|
tagName: "div",
|
|
2903
2902
|
attributes: {
|
|
2904
2903
|
part: "target"
|
|
@@ -3511,11 +3510,11 @@ var css_meta_default = {
|
|
|
3511
3510
|
$input: "button-group",
|
|
3512
3511
|
$buttonValues: ["flex", "grid", "block", "inline", "none"],
|
|
3513
3512
|
$icons: {
|
|
3514
|
-
flex: "
|
|
3515
|
-
grid: "
|
|
3516
|
-
block: "
|
|
3517
|
-
inline: "
|
|
3518
|
-
none: "
|
|
3513
|
+
flex: "columns",
|
|
3514
|
+
grid: "grid-four",
|
|
3515
|
+
block: "rectangle",
|
|
3516
|
+
inline: "text-t",
|
|
3517
|
+
none: "eye-slash"
|
|
3519
3518
|
},
|
|
3520
3519
|
enum: [
|
|
3521
3520
|
"block",
|
|
@@ -3636,8 +3635,9 @@ var css_meta_default = {
|
|
|
3636
3635
|
$order: 71,
|
|
3637
3636
|
type: "string",
|
|
3638
3637
|
$input: "button-group",
|
|
3638
|
+
$buttonValues: ["nowrap", "wrap"],
|
|
3639
3639
|
$icons: {
|
|
3640
|
-
wrap: "
|
|
3640
|
+
wrap: "arrow-u-down-left"
|
|
3641
3641
|
},
|
|
3642
3642
|
enum: ["nowrap", "wrap", "wrap-reverse"],
|
|
3643
3643
|
$show: [
|
|
@@ -3661,12 +3661,12 @@ var css_meta_default = {
|
|
|
3661
3661
|
"space-evenly"
|
|
3662
3662
|
],
|
|
3663
3663
|
$icons: {
|
|
3664
|
-
"flex-start": "
|
|
3665
|
-
"flex-end": "
|
|
3666
|
-
center: "
|
|
3667
|
-
"space-between": "
|
|
3668
|
-
"space-around": "
|
|
3669
|
-
"space-evenly": "
|
|
3664
|
+
"flex-start": "align-left",
|
|
3665
|
+
"flex-end": "align-right",
|
|
3666
|
+
center: "align-center-horizontal",
|
|
3667
|
+
"space-between": "arrows-out-line-horizontal",
|
|
3668
|
+
"space-around": "arrows-in-line-horizontal",
|
|
3669
|
+
"space-evenly": "arrows-horizontal"
|
|
3670
3670
|
},
|
|
3671
3671
|
enum: [
|
|
3672
3672
|
"flex-start",
|
|
@@ -3693,11 +3693,11 @@ var css_meta_default = {
|
|
|
3693
3693
|
$input: "button-group",
|
|
3694
3694
|
$buttonValues: ["stretch", "flex-start", "flex-end", "center", "baseline"],
|
|
3695
3695
|
$icons: {
|
|
3696
|
-
stretch: "
|
|
3697
|
-
"flex-start": "align-
|
|
3698
|
-
"flex-end": "align-
|
|
3699
|
-
center: "align-center-
|
|
3700
|
-
baseline: "
|
|
3696
|
+
stretch: "arrows-out-line-vertical",
|
|
3697
|
+
"flex-start": "align-top",
|
|
3698
|
+
"flex-end": "align-bottom",
|
|
3699
|
+
center: "align-center-vertical",
|
|
3700
|
+
baseline: "text-a-underline"
|
|
3701
3701
|
},
|
|
3702
3702
|
enum: ["stretch", "flex-start", "flex-end", "center", "baseline", "start", "end", "normal"],
|
|
3703
3703
|
$show: [
|
|
@@ -3714,11 +3714,11 @@ var css_meta_default = {
|
|
|
3714
3714
|
$input: "button-group",
|
|
3715
3715
|
$buttonValues: ["normal", "flex-start", "flex-end", "center", "space-between", "stretch"],
|
|
3716
3716
|
$icons: {
|
|
3717
|
-
"flex-start": "
|
|
3718
|
-
"flex-end": "
|
|
3719
|
-
center: "
|
|
3720
|
-
"space-between": "
|
|
3721
|
-
stretch: "
|
|
3717
|
+
"flex-start": "align-top",
|
|
3718
|
+
"flex-end": "align-bottom",
|
|
3719
|
+
center: "align-center-vertical",
|
|
3720
|
+
"space-between": "arrows-vertical",
|
|
3721
|
+
stretch: "arrows-out-line-vertical"
|
|
3722
3722
|
},
|
|
3723
3723
|
enum: [
|
|
3724
3724
|
"normal",
|
|
@@ -3818,11 +3818,11 @@ var css_meta_default = {
|
|
|
3818
3818
|
$input: "button-group",
|
|
3819
3819
|
$buttonValues: ["auto", "flex-start", "flex-end", "center", "baseline", "stretch"],
|
|
3820
3820
|
$icons: {
|
|
3821
|
-
stretch: "
|
|
3822
|
-
"flex-start": "align-
|
|
3823
|
-
"flex-end": "align-
|
|
3824
|
-
center: "align-center-
|
|
3825
|
-
baseline: "
|
|
3821
|
+
stretch: "arrows-out-line-vertical",
|
|
3822
|
+
"flex-start": "align-top",
|
|
3823
|
+
"flex-end": "align-bottom",
|
|
3824
|
+
center: "align-center-vertical",
|
|
3825
|
+
baseline: "text-a-underline"
|
|
3826
3826
|
},
|
|
3827
3827
|
enum: ["auto", "flex-start", "flex-end", "center", "baseline", "stretch", "start", "end"],
|
|
3828
3828
|
$show: [
|
|
@@ -5110,7 +5110,7 @@ var UNIT_RE = /^(-?[\d.]+)(px|rem|em|%|vw|vh|svw|svh|dvh|ms|s|fr|ch|ex|deg)?$/;
|
|
|
5110
5110
|
var style_panel_default = {
|
|
5111
5111
|
$schema: "https://jxsuite.com/schema/v1",
|
|
5112
5112
|
$id: "StudioStylePanel",
|
|
5113
|
-
$description: "The Inspector's Style tab: the Target Line's host, one filter, then the CSS property accordion — every row saying where its value came from (§6.
|
|
5113
|
+
$description: "The Inspector's Style tab: the Target Line's host, one filter, then the CSS property accordion — every row saying where its value came from (§6.7), every section heading tallying what is set inside it. Nothing here knows what CSS is. `panels/style-panel.ts` resolves the compound coordinate (selection, breakpoint, scheme layer, nested selector), reads css-meta, decides which of seven controls a property gets, works out its provenance and what a commit writes; this document draws the answer and decides nothing. That split is what lets the tab stop going through `panels/panel-scheduler.ts`: the focus guard existed because a lit repaint of the whole panel could take the field a reader was typing into, and a document is one runtime effect per bound property with an equal write skipped.",
|
|
5114
5114
|
tagName: "div",
|
|
5115
5115
|
attributes: {
|
|
5116
5116
|
part: "panel"
|
|
@@ -5123,7 +5123,7 @@ var style_panel_default = {
|
|
|
5123
5123
|
fontFamily: "var(--jx-font-sans)",
|
|
5124
5124
|
color: "var(--jx-fg)",
|
|
5125
5125
|
'& [part="empty"]': {
|
|
5126
|
-
$description: "The one empty-state pattern (`panels/empty-state.ts`), drawn here because a document cannot render a lit helper. Its rules are what is kept (§11): one sentence saying what the region is FOR, then the action that fills it.",
|
|
5126
|
+
$description: "The one empty-state pattern (`panels/empty-state.ts`), drawn here because a document cannot render a lit helper. Its rules are what is kept (studio-ui-guidelines.md §11): one sentence saying what the region is FOR, then the action that fills it.",
|
|
5127
5127
|
display: "flex",
|
|
5128
5128
|
flexDirection: "column",
|
|
5129
5129
|
alignItems: "center",
|
|
@@ -5215,7 +5215,7 @@ var style_panel_default = {
|
|
|
5215
5215
|
minInlineSize: "0"
|
|
5216
5216
|
},
|
|
5217
5217
|
'& [part="chip-slot"] > [part="chip"]': {
|
|
5218
|
-
$description: "One vocabulary, five states (§6.
|
|
5218
|
+
$description: "One vocabulary, five states (§6.7). `default` draws nothing at all — absence IS the ghost — which is why there is no rule for it: the document never makes the node. `set` is the 6px accent disc `.set-dot` has always been; the two that carry information wear their donor's name in a bordered pill, and `mixed` is neutral on purpose because it says nothing about WHERE a value came from, only that the selection disagrees.",
|
|
5219
5219
|
display: "inline-flex",
|
|
5220
5220
|
alignItems: "center",
|
|
5221
5221
|
flexShrink: "0",
|
|
@@ -5299,7 +5299,7 @@ var style_panel_default = {
|
|
|
5299
5299
|
background: "var(--jx-handler)"
|
|
5300
5300
|
},
|
|
5301
5301
|
'& [part="source"]': {
|
|
5302
|
-
$description: "The Value Source chip (§6.
|
|
5302
|
+
$description: "The Value Source chip (§6.6): quiet while the value is a literal, accent-tinted the moment it is produced from something else. A CSS declaration has exactly two rungs — `JxStyle` admits no `$ref` — so the picker it opens is two rows, and that is derived from the schema rather than written here.",
|
|
5303
5303
|
flex: "none",
|
|
5304
5304
|
color: "var(--jx-fg-dim)"
|
|
5305
5305
|
},
|
|
@@ -5990,7 +5990,7 @@ var style_panel_default = {
|
|
|
5990
5990
|
}
|
|
5991
5991
|
},
|
|
5992
5992
|
group: {
|
|
5993
|
-
$description: "The dual-mode control: a number beside its unit. Type what you mean, or take a unit from the list — and the list is the kit MENU rather than a second popup of this document's own (§12.5), because every row of it is a verb: a unit re-attaches to the number the field holds. A keyword row, whose list commits a value, is the `keywords` case instead — and so is the font row now, because a font is chosen by looking and a menu row cannot draw itself in its own face.",
|
|
5993
|
+
$description: "The dual-mode control: a number beside its unit. Type what you mean, or take a unit from the list — and the list is the kit MENU rather than a second popup of this document's own (studio-ui-guidelines.md §12.5), because every row of it is a verb: a unit re-attaches to the number the field holds. A keyword row, whose list commits a value, is the `keywords` case instead — and so is the font row now, because a font is chosen by looking and a menu row cannot draw itself in its own face.",
|
|
5994
5994
|
tagName: "div",
|
|
5995
5995
|
attributes: {
|
|
5996
5996
|
part: "group"
|
|
@@ -6179,7 +6179,11 @@ var style_panel_default = {
|
|
|
6179
6179
|
},
|
|
6180
6180
|
children: [
|
|
6181
6181
|
{
|
|
6182
|
+
$description: "The abbreviation, for a value with no glyph, and HIDDEN rather than empty on a button that has one. The kit's `[part=\"label\"]` is `display: contents`, so an empty span is still a flex item in the control, and the control's 4px gap sits between the glyph and nothing: every icon button in the tab drew 26px wide with its glyph pushed 2px off centre, instead of 22px and centred. Hidden, it takes no box, and the button's name and tooltip are the value either way.",
|
|
6182
6183
|
tagName: "span",
|
|
6184
|
+
attributes: {
|
|
6185
|
+
hidden: "${$map.item.text ? null : ''}"
|
|
6186
|
+
},
|
|
6183
6187
|
textContent: "${$map.item.text}"
|
|
6184
6188
|
}
|
|
6185
6189
|
]
|
|
@@ -7041,16 +7045,6 @@ function rowActions(key) {
|
|
|
7041
7045
|
function isNumericValue(value) {
|
|
7042
7046
|
return /^-?\d*\.?\d*$/.test(value);
|
|
7043
7047
|
}
|
|
7044
|
-
var BUTTON_GLYPHS = {
|
|
7045
|
-
"arrow-down": "arrow-down",
|
|
7046
|
-
"arrow-left": "arrow-left",
|
|
7047
|
-
"arrow-right": "arrow-right",
|
|
7048
|
-
"arrow-up": "arrow-up",
|
|
7049
|
-
"text-align-center": "text-align-center",
|
|
7050
|
-
"text-align-justify": "text-align-justify",
|
|
7051
|
-
"text-align-left": "text-align-left",
|
|
7052
|
-
"text-align-right": "text-align-right"
|
|
7053
|
-
};
|
|
7054
7048
|
function buttonGroup(entry, rowKey, value) {
|
|
7055
7049
|
const values = entry.$buttonValues || entry.enum || [];
|
|
7056
7050
|
const iconMap = entry.$icons || {};
|
|
@@ -7058,12 +7052,12 @@ function buttonGroup(entry, rowKey, value) {
|
|
|
7058
7052
|
const enumValues = entry.enum;
|
|
7059
7053
|
const extra = buttonValues && enumValues && enumValues.length > buttonValues.length ? enumValues.filter((v) => !buttonValues.includes(v)) : [];
|
|
7060
7054
|
const buttons = values.map((v) => {
|
|
7061
|
-
const icon =
|
|
7055
|
+
const icon = iconMap[v] ?? "";
|
|
7062
7056
|
return {
|
|
7063
7057
|
icon,
|
|
7064
7058
|
row: rowKey,
|
|
7065
7059
|
selected: v === value,
|
|
7066
|
-
text: icon === "" ?
|
|
7060
|
+
text: icon === "" ? v : "",
|
|
7067
7061
|
title: v,
|
|
7068
7062
|
value: v
|
|
7069
7063
|
};
|
|
@@ -8079,7 +8073,7 @@ function registerStyleCommands(registry) {
|
|
|
8079
8073
|
var inspector_dock_default = {
|
|
8080
8074
|
$schema: "https://jxsuite.com/schema/v1",
|
|
8081
8075
|
$id: "StudioInspectorDock",
|
|
8082
|
-
$description: "
|
|
8076
|
+
$description: "The Inspector dock's own chrome, as a Jx document over the kit: a header naming what the dock is pointed at, a real `tablist` of four tabs, and four `tabpanel`s. It draws no tab BODY — all four are mounted documents of their own (`surfaces/properties-panel.json`, `surfaces/style-panel.json`, `surfaces/logic-panel.json`, and the assistant's) — so each panel carries one empty `[part=\"panel-body\"]` island the adapter announces through `onNodeCreated` (studio-ui-guidelines.md §9.4). The four panels are keyed on the tab id and the id list never changes, so a body host is created ONCE and lives as long as the dock: that is what the old module's hand-built permanent containers were for, and it is now a property of a keyed `$map` rather than a rule someone has to keep. `panels/right-panel.ts` keeps every decision — which tab is selected, per document or detached; what the target's name is; and which of the four seams a host is handed to.",
|
|
8083
8077
|
tagName: "div",
|
|
8084
8078
|
attributes: {
|
|
8085
8079
|
part: "inspector-dock"
|
|
@@ -8120,7 +8114,7 @@ var inspector_dock_default = {
|
|
|
8120
8114
|
}
|
|
8121
8115
|
},
|
|
8122
8116
|
'& [part="tabs"]': {
|
|
8123
|
-
$description: "Four words in a 280px dock, allowed to compress rather than to become anonymous — which is why the tabs are not icons (§
|
|
8117
|
+
$description: "Four words in a 280px dock, allowed to compress rather than to become anonymous — which is why the tabs are not icons (§6). The kit tab's own 220px cap would let one tab push the last off the strip, so each takes an equal quarter.",
|
|
8124
8118
|
flex: "0 0 auto",
|
|
8125
8119
|
gap: "0",
|
|
8126
8120
|
fontSize: "var(--jx-text-sm)"
|
|
@@ -8444,5 +8438,5 @@ function inspectorTarget() {
|
|
|
8444
8438
|
|
|
8445
8439
|
export { initCssData, registerStyleCommands, mount2, unmount2, render2, inspectorTab2, setInspectorTab2 };
|
|
8446
8440
|
|
|
8447
|
-
//# debugId=
|
|
8448
|
-
//# sourceMappingURL=studio-
|
|
8441
|
+
//# debugId=0EE0326B4725F96C64756E2164756E21
|
|
8442
|
+
//# sourceMappingURL=studio-fy320dfc.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
|
projectState
|
|
6
6
|
} from "./studio-m1p9b6c3.js";
|
|
@@ -145,4 +145,4 @@ function computeRelativePath2(fromDocPath, toCompPath) {
|
|
|
145
145
|
export { componentMetaFrom, componentRegistry2, loadComponentRegistry2, noteComponentSaved2, buildComponentInstance2, computeRelativePath2 };
|
|
146
146
|
|
|
147
147
|
//# debugId=466165F8ABAECB0564756E2164756E21
|
|
148
|
-
//# sourceMappingURL=studio-
|
|
148
|
+
//# sourceMappingURL=studio-gjj4bbfx.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
|
flattenTree,
|
|
6
6
|
nodeLabel,
|
|
@@ -10,20 +10,20 @@ import {
|
|
|
10
10
|
loadFormats2,
|
|
11
11
|
formatByExtension2,
|
|
12
12
|
documentExtensions2
|
|
13
|
-
} from "./studio-
|
|
13
|
+
} from "./studio-9vsvz7w7.js";
|
|
14
14
|
import {
|
|
15
15
|
activeTab2
|
|
16
|
-
} from "./studio-
|
|
16
|
+
} from "./studio-dgdm6vvt.js";
|
|
17
17
|
import {
|
|
18
18
|
registerSurface,
|
|
19
19
|
mountSurface,
|
|
20
20
|
runReported,
|
|
21
21
|
runActiveReported,
|
|
22
22
|
getLayerSlot2
|
|
23
|
-
} from "./studio-
|
|
23
|
+
} from "./studio-ag3z6shb.js";
|
|
24
24
|
import {
|
|
25
25
|
activeRegistry
|
|
26
|
-
} from "./studio-
|
|
26
|
+
} from "./studio-3nprwbd9.js";
|
|
27
27
|
import {
|
|
28
28
|
reactive
|
|
29
29
|
} from "./studio-d8z5bajd.js";
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
getRecentFiles,
|
|
33
33
|
trackRecentFile,
|
|
34
34
|
openFileInTab2
|
|
35
|
-
} from "./studio-
|
|
35
|
+
} from "./studio-m58xn8at.js";
|
|
36
36
|
// src/surfaces/palette.json
|
|
37
37
|
var palette_default = {
|
|
38
38
|
$schema: "https://jxsuite.com/schema/v1",
|
|
@@ -1160,4 +1160,4 @@ function renderOverlay() {
|
|
|
1160
1160
|
export { initQuickSearch2, openQuickSearch2 };
|
|
1161
1161
|
|
|
1162
1162
|
//# debugId=501BF2683AE15AEE64756E2164756E21
|
|
1163
|
-
//# sourceMappingURL=studio-
|
|
1163
|
+
//# sourceMappingURL=studio-jfhxy8h3.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getPlatform2,
|
|
3
3
|
hasPlatform2
|
|
4
|
-
} from "./studio-
|
|
4
|
+
} from "./studio-6pwn9j8c.js";
|
|
5
5
|
import {
|
|
6
6
|
resolveI18n,
|
|
7
7
|
activeTab2
|
|
8
|
-
} from "./studio-
|
|
8
|
+
} from "./studio-dgdm6vvt.js";
|
|
9
9
|
import {
|
|
10
10
|
assetUrlFor,
|
|
11
11
|
BUILD_LANES,
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
joinProjectPath,
|
|
16
16
|
projectPathForRef,
|
|
17
17
|
encodeProjectPath
|
|
18
|
-
} from "./studio-
|
|
18
|
+
} from "./studio-3nprwbd9.js";
|
|
19
19
|
import {
|
|
20
20
|
projectState
|
|
21
21
|
} from "./studio-m1p9b6c3.js";
|
|
@@ -182,4 +182,4 @@ function hostAssetDeclarations() {
|
|
|
182
182
|
export { contentMountFor, resolveAssetRef, canvasBaseOrigin, documentBase, loopbackAssetSrc, projectLocales2, assetContextFor, previewAssetSrc, hostAssetDeclarations };
|
|
183
183
|
|
|
184
184
|
//# debugId=AC177B7F9545734164756E2164756E21
|
|
185
|
-
//# sourceMappingURL=studio-
|
|
185
|
+
//# sourceMappingURL=studio-kwewmhhq.js.map
|