@jxsuite/studio 2.0.1 → 2.1.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/canvas.html +21 -0
- package/dist/chunks/Overlay.dev-qfjzkms8.js +23 -0
- package/dist/chunks/{Overlay.dev-cszx7yn5.js.map → Overlay.dev-qfjzkms8.js.map} +1 -1
- package/dist/chunks/{adapter-z8fkmbmv.js → adapter-qfnesn5v.js} +2 -2
- package/dist/chunks/{cf-settings-mmyv436d.js → cf-settings-73sh5z4p.js} +3 -3
- package/dist/chunks/{components-799jpvhm.js → components-2bpqp4mq.js} +5 -7
- package/dist/chunks/{components-799jpvhm.js.map → components-2bpqp4mq.js.map} +1 -1
- package/dist/chunks/content-source-34gnkbnn.js +38 -0
- package/dist/chunks/content-source-34gnkbnn.js.map +9 -0
- package/dist/chunks/convert-to-repeater-t8kxre5s.js +258 -0
- package/dist/chunks/convert-to-repeater-t8kxre5s.js.map +10 -0
- package/dist/chunks/extension-sections-6mqydz35.js +301 -0
- package/dist/chunks/extension-sections-6mqydz35.js.map +11 -0
- package/dist/chunks/files-8kn321h1.js +70 -0
- package/dist/chunks/files-8kn321h1.js.map +9 -0
- package/dist/chunks/{format-host-8jxwts2p.js → format-host-mkwsmt8d.js} +3 -3
- package/dist/chunks/git-panel-tjbr191d.js +51 -0
- package/dist/chunks/git-panel-tjbr191d.js.map +9 -0
- package/dist/chunks/{index-baeg2x3y.js → index-7pxchcce.js} +4 -3
- package/dist/chunks/{index-baeg2x3y.js.map → index-7pxchcce.js.map} +3 -3
- package/dist/chunks/{jx-validate-qx8degj7.js → jx-validate-v6qgknrs.js} +3 -3
- package/dist/chunks/layers-panel-87pb25km.js +58 -0
- package/dist/chunks/layers-panel-87pb25km.js.map +9 -0
- package/dist/chunks/{monaco-setup-zjdp9zdw.js → monaco-setup-e0yh25j4.js} +4 -75
- package/dist/chunks/{monaco-setup-zjdp9zdw.js.map → monaco-setup-e0yh25j4.js.map} +3 -4
- package/dist/chunks/publish-panel-m0fcgdrt.js +21 -0
- package/dist/chunks/publish-panel-m0fcgdrt.js.map +9 -0
- package/dist/chunks/quick-search-rhs6cbsb.js +53 -0
- package/dist/chunks/quick-search-rhs6cbsb.js.map +9 -0
- package/dist/chunks/right-panel-zpdxd98t.js +37 -0
- package/dist/chunks/right-panel-zpdxd98t.js.map +9 -0
- package/dist/chunks/section-registry-zmckaxf4.js +30 -0
- package/dist/chunks/section-registry-zmckaxf4.js.map +9 -0
- package/dist/chunks/sp-overlay.dev-9ran0sfq.js +18 -0
- package/dist/chunks/sp-overlay.dev-9ran0sfq.js.map +9 -0
- package/dist/chunks/sp-popover.dev-rebmdncr.js +9 -0
- package/dist/chunks/sp-popover.dev-rebmdncr.js.map +9 -0
- package/dist/chunks/sp-progress-circle.dev-5vkppfkt.js +15 -0
- package/dist/chunks/sp-progress-circle.dev-5vkppfkt.js.map +9 -0
- package/dist/chunks/sp-tooltip.dev-ykqrg8h5.js +15 -0
- package/dist/chunks/sp-tooltip.dev-ykqrg8h5.js.map +9 -0
- package/dist/chunks/{sp-tray.dev-pb2fsd65.js → sp-tray.dev-ey59vfh7.js} +10 -8
- package/dist/chunks/{sp-tray.dev-pb2fsd65.js.map → sp-tray.dev-ey59vfh7.js.map} +2 -2
- package/dist/chunks/{studio-9qr6fq7p.js → studio-0rqqhrdy.js} +10 -378
- package/dist/chunks/{studio-9qr6fq7p.js.map → studio-0rqqhrdy.js.map} +4 -14
- package/dist/chunks/{studio-5x6tqqec.js → studio-2sj1jj3v.js} +10 -8
- package/dist/chunks/{studio-5x6tqqec.js.map → studio-2sj1jj3v.js.map} +2 -2
- package/dist/chunks/{studio-h3fw0wn8.js → studio-3fk1ac9z.js} +6 -4
- package/dist/chunks/{studio-h3fw0wn8.js.map → studio-3fk1ac9z.js.map} +2 -2
- package/dist/chunks/studio-41exgzhq.js +6690 -0
- package/dist/chunks/studio-41exgzhq.js.map +38 -0
- package/dist/chunks/{studio-7v2bpweq.js → studio-4mqb9a0j.js} +6 -4
- package/dist/chunks/{studio-7v2bpweq.js.map → studio-4mqb9a0j.js.map} +2 -2
- package/dist/chunks/studio-50k77cca.js +1787 -0
- package/dist/chunks/studio-50k77cca.js.map +18 -0
- package/dist/chunks/{studio-56v3zwk6.js → studio-6a0h7sne.js} +10 -8
- package/dist/chunks/{studio-56v3zwk6.js.map → studio-6a0h7sne.js.map} +2 -2
- package/dist/chunks/studio-6f0am8f2.js +53 -0
- package/dist/chunks/studio-6f0am8f2.js.map +10 -0
- package/dist/chunks/studio-6nmjc5qk.js +7002 -0
- package/dist/chunks/studio-6nmjc5qk.js.map +32 -0
- package/dist/chunks/studio-7afd21nw.js +67 -0
- package/dist/chunks/studio-7afd21nw.js.map +10 -0
- package/dist/chunks/{studio-xze4zrs1.js → studio-7bmdvzne.js} +2 -2
- package/dist/chunks/studio-7bmdvzne.js.map +10 -0
- package/dist/chunks/studio-8jpzqk5s.js +128 -0
- package/dist/chunks/studio-8jpzqk5s.js.map +10 -0
- package/dist/chunks/studio-94m77tgk.js +1482 -0
- package/dist/chunks/studio-94m77tgk.js.map +13 -0
- package/dist/chunks/studio-9je6w5sq.js +1000 -0
- package/dist/chunks/studio-9je6w5sq.js.map +16 -0
- package/dist/chunks/{studio-w7c6kvk7.js → studio-a7pzveq1.js} +2 -2
- package/dist/chunks/{studio-gs6kqdt1.js → studio-adn0z1k3.js} +14 -8
- package/dist/chunks/{studio-gs6kqdt1.js.map → studio-adn0z1k3.js.map} +3 -3
- package/dist/chunks/{studio-kr88ryr7.js → studio-bsxxx3x2.js} +17 -15
- package/dist/chunks/{studio-kr88ryr7.js.map → studio-bsxxx3x2.js.map} +7 -6
- package/dist/chunks/studio-bw5dz6km.js +608 -0
- package/dist/chunks/studio-bw5dz6km.js.map +21 -0
- package/dist/chunks/studio-c6s5getc.js +4232 -0
- package/dist/chunks/studio-c6s5getc.js.map +39 -0
- package/dist/chunks/studio-cjm7fdjf.js +451 -0
- package/dist/chunks/studio-cjm7fdjf.js.map +14 -0
- package/dist/chunks/{studio-cx91mnh8.js → studio-ckwz4d3x.js} +53 -53
- package/dist/chunks/{studio-cx91mnh8.js.map → studio-ckwz4d3x.js.map} +5 -5
- package/dist/chunks/studio-dg7zyt5x.js +28 -0
- package/dist/chunks/studio-dg7zyt5x.js.map +10 -0
- package/dist/chunks/studio-dzcyvvvz.js +166 -0
- package/dist/chunks/studio-dzcyvvvz.js.map +10 -0
- package/dist/chunks/{studio-7kqe41sa.js → studio-evkr5d3b.js} +15 -7
- package/dist/chunks/{studio-7kqe41sa.js.map → studio-evkr5d3b.js.map} +5 -4
- package/dist/chunks/studio-f12h6177.js +411 -0
- package/dist/chunks/studio-f12h6177.js.map +13 -0
- package/dist/chunks/studio-hbp1s8m9.js +1817 -0
- package/dist/chunks/studio-hbp1s8m9.js.map +14 -0
- package/dist/chunks/studio-k2sxjph5.js +15295 -0
- package/dist/chunks/studio-k2sxjph5.js.map +235 -0
- package/dist/chunks/studio-myje51t3.js +385 -0
- package/dist/chunks/studio-myje51t3.js.map +12 -0
- package/dist/chunks/studio-na6rwzhw.js +353 -0
- package/dist/chunks/studio-na6rwzhw.js.map +11 -0
- package/dist/chunks/{studio-4k0m4fmp.js → studio-p471gg5n.js} +126 -3
- package/dist/chunks/studio-p471gg5n.js.map +14 -0
- package/dist/chunks/{studio-9bjwf0d4.js → studio-rgwcpast.js} +5 -46
- package/dist/chunks/{studio-9bjwf0d4.js.map → studio-rgwcpast.js.map} +4 -5
- package/dist/chunks/{studio-esrewxap.js → studio-s519zc99.js} +3 -3
- package/dist/chunks/studio-sas7mt3k.js +75 -0
- package/dist/chunks/studio-sas7mt3k.js.map +10 -0
- package/dist/chunks/studio-t5wqwzdh.js +74 -0
- package/dist/chunks/studio-t5wqwzdh.js.map +10 -0
- package/dist/chunks/{studio-9qpspwfn.js → studio-temv5bw4.js} +5 -5
- package/dist/chunks/{studio-9qpspwfn.js.map → studio-temv5bw4.js.map} +1 -1
- package/dist/chunks/{studio-qkvt37c0.js → studio-tr20m8g8.js} +669 -18
- package/dist/chunks/studio-tr20m8g8.js.map +9 -0
- package/dist/chunks/{studio-v7jkjqng.js → studio-v96qfnww.js} +5514 -4291
- package/dist/chunks/studio-v96qfnww.js.map +54 -0
- package/dist/chunks/studio-vcetc91k.js +659 -0
- package/dist/chunks/studio-vcetc91k.js.map +10 -0
- package/dist/chunks/{studio-jm0z592w.js → studio-vmymjefp.js} +2972 -4937
- package/dist/chunks/studio-vmymjefp.js.map +98 -0
- package/dist/chunks/{studio-bghqfmea.js → studio-wwseqyw0.js} +2 -2
- package/dist/chunks/studio-x9hmy5kr.js +390 -0
- package/dist/chunks/studio-x9hmy5kr.js.map +10 -0
- package/dist/chunks/studio-xa0ce0n7.js +335 -0
- package/dist/chunks/studio-xa0ce0n7.js.map +10 -0
- package/dist/chunks/studio-xm3dbxvn.js +378 -0
- package/dist/chunks/studio-xm3dbxvn.js.map +19 -0
- package/dist/chunks/{studio-nqw433kv.js → studio-xmvbhg31.js} +2 -2
- package/dist/chunks/studio-zv37yrfa.js +1054 -0
- package/dist/chunks/studio-zv37yrfa.js.map +13 -0
- package/dist/chunks/{ws-client-q7hkz3j9.js → ws-client-654ts66j.js} +6 -4
- package/dist/chunks/ws-client-654ts66j.js.map +11 -0
- package/dist/iframe-entry.js +668 -230
- package/dist/studio.js +21080 -32585
- package/index.html +35 -4685
- package/package.json +17 -15
- package/src/about/about-modal.ts +42 -11
- package/src/browse/library-commands.ts +240 -0
- package/src/browse/library-layouts.ts +369 -0
- package/src/browse/library-model.ts +396 -0
- package/src/browse/library-pane.ts +1049 -0
- package/src/browse/library-preview.ts +252 -0
- package/src/browse/library-source.ts +150 -0
- package/src/canvas/canvas-helpers.ts +33 -9
- package/src/canvas/canvas-live-render.ts +45 -29
- package/src/canvas/canvas-patcher.ts +151 -31
- package/src/canvas/canvas-perf.ts +46 -7
- package/src/canvas/canvas-render.ts +1092 -220
- package/src/canvas/canvas-surface.ts +240 -0
- package/src/canvas/canvas-utils.ts +1166 -124
- package/src/canvas/iframe-drop.ts +2 -1
- package/src/canvas/iframe-entry.ts +241 -4
- package/src/canvas/iframe-host.ts +1226 -143
- package/src/canvas/iframe-inline-edit.ts +31 -0
- package/src/canvas/iframe-interaction.ts +76 -16
- package/src/canvas/iframe-keys.ts +107 -45
- package/src/canvas/iframe-overlay.ts +38 -1
- package/src/canvas/iframe-protocol.ts +137 -2
- package/src/canvas/iframe-render.ts +70 -2
- package/src/canvas/iframe-slash.ts +6 -0
- package/src/canvas/path-mapping.ts +56 -6
- package/src/canvas/surface-registry.ts +292 -0
- package/src/collab/collab-commands.ts +244 -0
- package/src/collab/collab-session.ts +198 -32
- package/src/collab/collab-state.ts +28 -2
- package/src/collab/presence-chips.ts +100 -9
- package/src/commands/active-registry.ts +42 -0
- package/src/commands/app-commands.ts +176 -0
- package/src/commands/budget.ts +158 -0
- package/src/commands/command-args.ts +253 -0
- package/src/commands/context.ts +387 -0
- package/src/commands/defaults.ts +580 -0
- package/src/commands/keymap.ts +571 -0
- package/src/commands/levels.ts +345 -0
- package/src/commands/live-context.ts +193 -0
- package/src/commands/reference.ts +227 -0
- package/src/commands/registry.ts +293 -0
- package/src/component-props.ts +3 -2
- package/src/content/draft-state.ts +106 -0
- package/src/content/entry-commands.ts +282 -0
- package/src/content/entry-editor.ts +327 -0
- package/src/content/entry-fields.ts +116 -0
- package/src/content/entry-model.ts +175 -0
- package/src/editor/canvas-context-menu.ts +17 -11
- package/src/editor/canvas-slash-bridge.ts +11 -4
- package/src/editor/context-menu.ts +804 -204
- package/src/editor/convert-to-component.ts +31 -10
- package/src/editor/convert-to-repeater.ts +3 -2
- package/src/editor/inline-edit-apply.ts +5 -5
- package/src/editor/inline-edit.ts +86 -50
- package/src/editor/insert-zone-action.ts +1 -1
- package/src/editor/shortcuts.ts +1043 -329
- package/src/editor/slash-menu.ts +1 -0
- package/src/files/elements.ts +166 -0
- package/src/files/file-ops.ts +178 -31
- package/src/files/files.ts +898 -268
- package/src/files/fs-events.ts +21 -0
- package/src/files/media-meta.ts +203 -0
- package/src/files/media-paths.ts +141 -0
- package/src/files/media-upload.ts +7 -3
- package/src/files/media-usage.ts +189 -0
- package/src/github/github-auth.ts +235 -33
- package/src/github/github-publish.ts +80 -21
- package/src/grid/grid-controller.ts +152 -12
- package/src/grid/grid-layout.ts +225 -20
- package/src/grid/grid-open.ts +120 -0
- package/src/grid/grid-panel.ts +554 -39
- package/src/grid/grid-source.ts +27 -1
- package/src/grid/redirects-grid.ts +599 -0
- package/src/grid/redirects.ts +398 -0
- package/src/grid/sources/content-source.ts +108 -2
- package/src/i18n/i18n-commands.ts +322 -0
- package/src/new-project/add-repo-modal.ts +8 -10
- package/src/new-project/import-tab.ts +7 -0
- package/src/new-project/location-fields.ts +9 -1
- package/src/new-project/new-project-modal.ts +221 -245
- package/src/packages/jxsuite-update.ts +97 -48
- package/src/packages/pull-package-sync.ts +18 -9
- package/src/page-params.ts +2 -1
- package/src/panels/activity-bar.ts +152 -91
- package/src/panels/activity-panel.ts +481 -0
- package/src/panels/ai-chat/chat-markdown.ts +8 -3
- package/src/panels/ai-chat/chat-view.ts +245 -18
- package/src/panels/ai-chat/composer.ts +31 -5
- package/src/panels/ai-chat/sessions-view.ts +17 -10
- package/src/panels/ai-panel.ts +279 -53
- package/src/panels/block-action-bar.ts +1115 -224
- package/src/panels/bottom-dock.ts +337 -0
- package/src/panels/canvas-dnd-bridge.ts +37 -8
- package/src/panels/chat-panel.ts +29 -12
- package/src/panels/data-explorer.ts +254 -112
- package/src/panels/data-grid.ts +10 -4
- package/src/panels/dnd.ts +28 -51
- package/src/panels/editors.ts +434 -107
- package/src/panels/elements-panel.ts +66 -2
- package/src/panels/empty-state.ts +112 -0
- package/src/panels/events-panel.ts +596 -82
- package/src/panels/formula-workspace.ts +408 -218
- package/src/panels/frontmatter-fields.ts +51 -10
- package/src/panels/frontmatter-panel.ts +357 -79
- package/src/panels/git-panel.ts +375 -164
- package/src/panels/head-panel.ts +791 -85
- package/src/panels/i18n-panel.ts +592 -0
- package/src/panels/imports-panel.ts +95 -85
- package/src/panels/jump-bar.ts +584 -0
- package/src/panels/layers-panel.ts +1106 -328
- package/src/panels/left-panel.ts +109 -204
- package/src/panels/navigator-panels.ts +131 -0
- package/src/panels/overlays.ts +7 -2
- package/src/panels/pane-context.ts +1477 -0
- package/src/panels/pane-grid.ts +406 -0
- package/src/panels/panel-registry.ts +340 -0
- package/src/panels/panel-scheduler.ts +75 -0
- package/src/panels/problems-panel.ts +234 -0
- package/src/panels/properties-panel.ts +946 -1139
- package/src/panels/provenance.ts +258 -0
- package/src/panels/quick-search.ts +791 -122
- package/src/panels/right-panel.ts +228 -102
- package/src/panels/seo-modal.ts +395 -0
- package/src/panels/settings-pane.ts +203 -0
- package/src/panels/signals-panel.ts +354 -137
- package/src/panels/statement-editor.ts +41 -25
- package/src/panels/statusbar.ts +342 -106
- package/src/panels/style-panel.ts +974 -463
- package/src/panels/style-utils.ts +3 -3
- package/src/panels/stylebook-doc.ts +4 -2
- package/src/panels/stylebook-layers-panel.ts +3 -2
- package/src/panels/stylebook-panel.ts +51 -26
- package/src/panels/tab-strip.ts +1058 -78
- package/src/panels/target-line.ts +274 -0
- package/src/panels/toolbar.ts +631 -484
- package/src/panels/welcome-screen.ts +301 -198
- package/src/platform-errors.ts +26 -3
- package/src/platform.ts +96 -2
- package/src/platforms/cloud.ts +71 -8
- package/src/platforms/devserver.ts +92 -29
- package/src/publish/deploy-checklist.ts +383 -0
- package/src/publish/pages-service.ts +10 -1
- package/src/publish/publish-commands.ts +218 -0
- package/src/publish/publish-panel.ts +110 -16
- package/src/recent-projects.ts +3 -2
- package/src/services/a11y-report.ts +505 -0
- package/src/services/ai-models.ts +30 -1
- package/src/services/ai-project-tools.ts +29 -10
- package/src/services/ai-system-prompt.ts +53 -14
- package/src/services/ai-tools.ts +39 -3
- package/src/services/ai-writes.ts +154 -0
- package/src/services/announce.ts +97 -0
- package/src/services/automation.ts +424 -175
- package/src/services/cem-export.ts +9 -4
- package/src/services/clock.ts +61 -0
- package/src/services/document-assistant.ts +36 -8
- package/src/services/idle.ts +179 -0
- package/src/services/import-client.ts +26 -0
- package/src/services/monaco-buffer.ts +627 -0
- package/src/services/monaco-lazy.ts +36 -0
- package/src/services/notify.ts +271 -0
- package/src/services/profile.ts +155 -0
- package/src/services/references.ts +0 -0
- package/src/services/token-lint.ts +3 -2
- package/src/services/tool-executor.ts +53 -7
- package/src/services/trusted-types.ts +123 -0
- package/src/settings/contexts-section.ts +427 -0
- package/src/settings/contributed-section.ts +149 -11
- package/src/settings/css-vars-editor.ts +306 -349
- package/src/settings/defs-editor.ts +93 -34
- package/src/settings/dependencies-editor.ts +7 -7
- package/src/settings/extension-sections.ts +37 -5
- package/src/settings/general-settings.ts +204 -121
- package/src/settings/locales-section.ts +347 -0
- package/src/settings/preferences-accounts.ts +140 -0
- package/src/settings/preferences-dialog.ts +620 -0
- package/src/settings/preferences-keymap.ts +270 -0
- package/src/settings/project-sections.ts +260 -0
- package/src/settings/section-registry.ts +169 -0
- package/src/settings/settings-document.ts +385 -0
- package/src/shell.ts +1549 -0
- package/src/site-context.ts +45 -20
- package/src/state.ts +14 -275
- package/src/store.ts +88 -43
- package/src/studio.ts +790 -346
- package/src/style/live-preview.ts +36 -0
- package/src/style/project-styles.ts +349 -0
- package/src/style/token-ref.ts +123 -0
- package/src/tabs/patch-ops.ts +16 -4
- package/src/tabs/project-config.ts +416 -0
- package/src/tabs/selection.ts +323 -0
- package/src/tabs/tab.ts +182 -47
- package/src/tabs/transact.ts +209 -28
- package/src/types.ts +68 -13
- package/src/ui/ai-credentials-form.ts +39 -35
- package/src/ui/ai-managed-connect.ts +7 -1
- package/src/ui/dynamic-slot.ts +224 -81
- package/src/ui/expression-editor.ts +71 -63
- package/src/ui/field-input.ts +4 -6
- package/src/ui/field-row.ts +215 -38
- package/src/ui/form-controls.ts +194 -7
- package/src/ui/layers.ts +492 -69
- package/src/ui/media-picker.ts +115 -25
- package/src/ui/panel-resize.ts +109 -91
- package/src/ui/progress-modal.ts +131 -50
- package/src/ui/regions.ts +462 -0
- package/src/ui/schema-form.ts +229 -45
- package/src/ui/spectrum.ts +24 -8
- package/src/ui/timing.ts +49 -0
- package/src/ui/value-selector.ts +20 -0
- package/src/ui/value-source.ts +348 -0
- package/src/ui/virtual-window.ts +400 -0
- package/src/utils/edit-display.ts +3 -2
- package/src/utils/inherited-style.ts +67 -37
- package/src/view.ts +64 -78
- package/src/workspace/pane-derive.ts +1258 -0
- package/src/workspace/session.ts +317 -0
- package/src/workspace/workspace.ts +1345 -23
- package/styles/canvas.css +653 -0
- package/styles/forced-colors.css +106 -0
- package/styles/inspector.css +1454 -0
- package/styles/overlays.css +2704 -0
- package/styles/panels.css +1701 -0
- package/styles/shell.css +1423 -0
- package/styles/tokens.css +151 -0
- package/dist/chunks/Overlay.dev-cszx7yn5.js +0 -22
- package/dist/chunks/extension-sections-qr3drkkw.js +0 -531
- package/dist/chunks/extension-sections-qr3drkkw.js.map +0 -12
- package/dist/chunks/files-j8a1t06k.js +0 -50
- package/dist/chunks/files-j8a1t06k.js.map +0 -9
- package/dist/chunks/git-panel-xtq5z81x.js +0 -28
- package/dist/chunks/git-panel-xtq5z81x.js.map +0 -9
- package/dist/chunks/layers-panel-ancn2wpq.js +0 -26
- package/dist/chunks/layers-panel-ancn2wpq.js.map +0 -9
- package/dist/chunks/settings-modal-17ttr96g.js +0 -29
- package/dist/chunks/settings-modal-17ttr96g.js.map +0 -9
- package/dist/chunks/sp-overlay.dev-earn5as8.js +0 -17
- package/dist/chunks/sp-overlay.dev-earn5as8.js.map +0 -9
- package/dist/chunks/sp-popover.dev-frxtfejn.js +0 -8
- package/dist/chunks/sp-popover.dev-frxtfejn.js.map +0 -9
- package/dist/chunks/sp-progress-circle.dev-7tvw34h8.js +0 -14
- package/dist/chunks/sp-progress-circle.dev-7tvw34h8.js.map +0 -9
- package/dist/chunks/sp-tooltip.dev-a9fywesm.js +0 -21
- package/dist/chunks/sp-tooltip.dev-a9fywesm.js.map +0 -10
- package/dist/chunks/studio-0xgs7xrs.js +0 -429
- package/dist/chunks/studio-0xgs7xrs.js.map +0 -13
- package/dist/chunks/studio-4d8hzcz5.js +0 -3427
- package/dist/chunks/studio-4d8hzcz5.js.map +0 -26
- package/dist/chunks/studio-4k0m4fmp.js.map +0 -13
- package/dist/chunks/studio-9smfzqhc.js +0 -19
- package/dist/chunks/studio-9smfzqhc.js.map +0 -10
- package/dist/chunks/studio-jm0z592w.js.map +0 -115
- package/dist/chunks/studio-m2t4mdg5.js +0 -1854
- package/dist/chunks/studio-m2t4mdg5.js.map +0 -18
- package/dist/chunks/studio-n4p11dfy.js +0 -853
- package/dist/chunks/studio-n4p11dfy.js.map +0 -12
- package/dist/chunks/studio-qkvt37c0.js.map +0 -9
- package/dist/chunks/studio-sjh1wt1a.js +0 -3744
- package/dist/chunks/studio-sjh1wt1a.js.map +0 -22
- package/dist/chunks/studio-v7jkjqng.js.map +0 -46
- package/dist/chunks/studio-xq0t7n5t.js +0 -140
- package/dist/chunks/studio-xq0t7n5t.js.map +0 -10
- package/dist/chunks/studio-xze4zrs1.js.map +0 -10
- package/dist/chunks/studio-yfcstdzy.js +0 -399
- package/dist/chunks/studio-yfcstdzy.js.map +0 -12
- package/dist/chunks/studio-zp7jncs8.js +0 -469
- package/dist/chunks/studio-zp7jncs8.js.map +0 -14
- package/dist/chunks/ws-client-q7hkz3j9.js.map +0 -11
- package/src/browse/browse-modal.ts +0 -69
- package/src/browse/browse.ts +0 -904
- package/src/canvas/canvas-diff.ts +0 -216
- package/src/canvas/nested-site-style.ts +0 -58
- package/src/new-project/design-fields.ts +0 -264
- package/src/new-project/templates.ts +0 -61
- package/src/panels/tab-bar.ts +0 -548
- package/src/settings/settings-modal.ts +0 -203
- /package/dist/chunks/{adapter-z8fkmbmv.js.map → adapter-qfnesn5v.js.map} +0 -0
- /package/dist/chunks/{cf-settings-mmyv436d.js.map → cf-settings-73sh5z4p.js.map} +0 -0
- /package/dist/chunks/{format-host-8jxwts2p.js.map → format-host-mkwsmt8d.js.map} +0 -0
- /package/dist/chunks/{jx-validate-qx8degj7.js.map → jx-validate-v6qgknrs.js.map} +0 -0
- /package/dist/chunks/{studio-w7c6kvk7.js.map → studio-a7pzveq1.js.map} +0 -0
- /package/dist/chunks/{studio-esrewxap.js.map → studio-s519zc99.js.map} +0 -0
- /package/dist/chunks/{studio-bghqfmea.js.map → studio-wwseqyw0.js.map} +0 -0
- /package/dist/chunks/{studio-nqw433kv.js.map → studio-xmvbhg31.js.map} +0 -0
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/settings/contributed-section.ts", "../src/panels/data-grid.ts", "../src/settings/extension-sections.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"/// <reference lib=\"dom\" />\n/**\n * Contributed settings section — the generic renderer behind `$studio.settings`\n * (specs/extensions.md §9.1). An extension's `project` class declares a settings section and this\n * module renders it over `projectConfig[key]`: layout \"form\" is one schema form over the whole\n * section value; layout \"map\" is master-detail (key list left, entry form right) for `type: object`\n * + `additionalProperties` sections. Persistence mirrors the content-types editor: mutate\n * projectState.projectConfig and rewrite project.json through the platform.\n */\n\nimport { html, nothing, render as litRender } from \"lit-html\";\nimport { getPlatform } from \"../platform\";\nimport { projectState } from \"../store\";\nimport { renderForm } from \"../ui/schema-form\";\nimport { resolveContextPointer } from \"../services/context-resolver\";\nimport { deriveSecretEnvName } from \"../services/data-service\";\n\nimport type { TemplateResult } from \"lit-html\";\nimport type { JsonSchema, SchemaFormContext } from \"../ui/schema-form\";\nimport type { ProjectConfig } from \"@jxsuite/schema/types\";\n\n// ─── Contribution shape ───────────────────────────────────────────────────────\n\n/** A `$studio.settings` contribution paired with the entry schema from the project fragment. */\nexport interface SettingsContribution {\n /** The project.json top-level property the section owns. */\n key: string;\n /** Section heading; falls back to the key. */\n title?: string | undefined;\n /** The `$studio.settings` block from the class descriptor. */\n settings: {\n layout?: \"map\" | \"form\" | undefined;\n entry?:\n | {\n ui?: Record<string, { control?: string; enum?: unknown }> | undefined;\n newEntry?: Record<string, unknown> | undefined;\n }\n | undefined;\n };\n /** JSON Schema for one entry (map layout) or the whole section value (form layout). */\n entrySchema: JsonSchema;\n}\n\n/** Context handed to a host-provided section actions renderer. */\nexport interface SectionActionsContext {\n sectionKey: string;\n /** The selected entry key (map layout), or null. */\n selected: string | null;\n rerender: () => void;\n}\n\n/** Host options threaded to the schema-form context. */\nexport interface ContributedSectionOptions {\n /** Registered formats backing the `$formats` virtual root. */\n formats?: { name: string }[] | undefined;\n /**\n * Optional actions row rendered under the section title — the hook domain modules use to surface\n * section-scoped operations (e.g. the data surface's Test/Push actions) without the generic\n * renderer knowing any extension.\n */\n actions?: ((ctx: SectionActionsContext) => TemplateResult) | undefined;\n}\n\n// ─── Module state ─────────────────────────────────────────────────────────────\n\n/** Selected entry key per section (map layout). */\nconst selectedEntries = new Map<string, string | null>();\n/** Sections whose new-entry form is open (map layout). */\nconst newEntryOpen = new Set<string>();\n/** Pending new-entry names per section (map layout). */\nconst newEntryNames = new Map<string, string>();\n\n/** Reset contributed-section ephemeral UI state (test hook). */\nexport function resetContributedSectionState(): void {\n selectedEntries.clear();\n newEntryOpen.clear();\n newEntryNames.clear();\n}\n\n// ─── Persistence ──────────────────────────────────────────────────────────────\n\nasync function saveProjectConfig() {\n const platform = getPlatform();\n const config = (projectState as { projectConfig: ProjectConfig }).projectConfig;\n await platform.writeFile(\"project.json\", JSON.stringify(config, null, \"\\t\"));\n}\n\n// ─── Helpers ──────────────────────────────────────────────────────────────────\n\n/** Apply a schema-form patch onto a record in place; `undefined` values unset the key. */\nfunction applyPatch(target: Record<string, unknown>, patch: Record<string, unknown>) {\n for (const [key, value] of Object.entries(patch)) {\n if (value === undefined) {\n delete target[key];\n } else {\n target[key] = value;\n }\n }\n}\n\n/** Slugify a user-entered entry name — same rules as new content-type names. */\nfunction slugify(name: string): string {\n return name\n .toLowerCase()\n .replaceAll(/\\s+/g, \"-\")\n .replaceAll(/[^a-z0-9-]/g, \"\");\n}\n\n/** Instantiate a newEntry template, substituting `${key}` in every string value. */\nfunction instantiateNewEntry(\n template: Record<string, unknown> | undefined,\n key: string,\n): Record<string, unknown> {\n if (!template) {\n return {};\n }\n const substitute = (value: unknown): unknown => {\n if (typeof value === \"string\") {\n return value.replaceAll(\"${key}\", key);\n }\n if (Array.isArray(value)) {\n return value.map((item) => substitute(item));\n }\n if (value && typeof value === \"object\") {\n const out: Record<string, unknown> = {};\n for (const [k, v] of Object.entries(value)) {\n out[k] = substitute(v);\n }\n return out;\n }\n return value;\n };\n return substitute(template) as Record<string, unknown>;\n}\n\n/**\n * Schema-form context resolving `#/$context/…` pointers over the live project config. When the\n * platform has a secrets surface, `commitSecret` backs the \"secret\" control: the VALUE goes to\n * platform.setSecrets under a derived env name; the returned NAME is what lands in project.json.\n */\nfunction buildContext(\n sectionKey: string,\n opts: ContributedSectionOptions,\n entryKey: string | null = null,\n): SchemaFormContext {\n const platform = getPlatform();\n return {\n fieldKeyPrefix: `$settings.${sectionKey}`,\n resolvePointer: (pointer, scope) =>\n resolveContextPointer(pointer, {\n projectConfig: (projectState?.projectConfig ?? {}) as Record<string, unknown>,\n ...(scope !== undefined && { scope }),\n ...(opts.formats !== undefined && { formats: opts.formats }),\n }),\n ...(typeof platform.setSecrets === \"function\"\n ? {\n commitSecret: async (key: string, value: string) => {\n const envName = deriveSecretEnvName(sectionKey, entryKey, key);\n await platform.setSecrets!({ set: { [envName]: value } });\n return envName;\n },\n }\n : {}),\n };\n}\n\n/** The section's value object in the project config, created on demand. */\nfunction sectionValue(key: string): Record<string, unknown> | null {\n const config = projectState?.projectConfig as Record<string, unknown> | null | undefined;\n if (!config) {\n return null;\n }\n const existing = config[key];\n if (existing && typeof existing === \"object\" && !Array.isArray(existing)) {\n return existing as Record<string, unknown>;\n }\n const fresh: Record<string, unknown> = {};\n config[key] = fresh;\n return fresh;\n}\n\n// ─── Render ───────────────────────────────────────────────────────────────────\n\n/**\n * Render a contributed settings section into a settings-modal content container.\n *\n * @param {HTMLElement} container\n * @param {SettingsContribution} contribution\n * @param {ContributedSectionOptions} [opts]\n */\nexport function renderContributedSection(\n container: HTMLElement,\n contribution: SettingsContribution,\n opts: ContributedSectionOptions = {},\n) {\n const rerender = () => renderContributedSection(container, contribution, opts);\n const title = contribution.title ?? contribution.key;\n const layout = contribution.settings.layout ?? \"form\";\n\n const body =\n layout === \"map\"\n ? renderMapLayout(contribution, opts, rerender)\n : renderFormLayout(contribution, opts, rerender);\n\n const selected = layout === \"map\" ? (selectedEntries.get(contribution.key) ?? null) : null;\n const actions = opts.actions\n ? opts.actions({ rerender, sectionKey: contribution.key, selected })\n : nothing;\n\n const tpl = html`\n <div class=\"settings-section contributed-section\">\n <h3 class=\"settings-section-title\">${title}</h3>\n ${actions}${body}\n </div>\n `;\n\n litRender(tpl, container);\n}\n\n/** Layout \"form\" — one schema form over the whole section value. */\nfunction renderFormLayout(\n contribution: SettingsContribution,\n opts: ContributedSectionOptions,\n rerender: () => void,\n): TemplateResult {\n const value = sectionValue(contribution.key) ?? {};\n const ui = contribution.settings.entry?.ui;\n\n return html`\n <div class=\"settings-form-panel\">\n ${renderForm(contribution.entrySchema, value, {\n context: buildContext(contribution.key, opts, null),\n onChange: (patch) => {\n const target = sectionValue(contribution.key);\n if (!target) {\n return;\n }\n applyPatch(target, patch);\n rerender();\n void saveProjectConfig();\n },\n rerender,\n ...(ui !== undefined && { ui }),\n })}\n </div>\n `;\n}\n\n/** Layout \"map\" — master-detail: entry key list left, entry form right. */\nfunction renderMapLayout(\n contribution: SettingsContribution,\n opts: ContributedSectionOptions,\n rerender: () => void,\n): TemplateResult {\n const { key: sectionKey } = contribution;\n const entries = sectionValue(sectionKey) ?? {};\n const entryKeys = Object.keys(entries);\n const selected = selectedEntries.get(sectionKey) ?? null;\n const ui = contribution.settings.entry?.ui;\n\n const handleCreate = () => {\n const slug = slugify(newEntryNames.get(sectionKey) ?? \"\");\n const target = sectionValue(sectionKey);\n if (!slug || !target || target[slug]) {\n return;\n }\n target[slug] = instantiateNewEntry(contribution.settings.entry?.newEntry, slug);\n selectedEntries.set(sectionKey, slug);\n newEntryOpen.delete(sectionKey);\n newEntryNames.delete(sectionKey);\n rerender();\n void saveProjectConfig();\n };\n\n const handleDelete = () => {\n const target = sectionValue(sectionKey);\n if (!selected || !target?.[selected]) {\n return;\n }\n delete target[selected];\n selectedEntries.set(sectionKey, null);\n rerender();\n void saveProjectConfig();\n };\n\n const handleRename = (newName: string) => {\n const target = sectionValue(sectionKey);\n const slug = slugify(newName);\n if (!selected || !target || !slug || slug === selected || target[slug]) {\n return;\n }\n // Rebuild the map to preserve entry order under the new key\n const next: Record<string, unknown> = {};\n for (const [k, v] of Object.entries(target)) {\n next[k === selected ? slug : k] = v;\n delete target[k];\n }\n Object.assign(target, next);\n selectedEntries.set(sectionKey, slug);\n rerender();\n void saveProjectConfig();\n };\n\n // Left column — entry key list\n const listTpl = html`\n <div class=\"settings-list-panel\">\n ${entryKeys.map(\n (name) => html`\n <sp-action-button\n size=\"s\"\n ?selected=${selected === name}\n @click=${() => {\n selectedEntries.set(sectionKey, name);\n rerender();\n }}\n >\n ${name}\n </sp-action-button>\n `,\n )}\n ${\n newEntryOpen.has(sectionKey)\n ? html`\n <div class=\"settings-inline-form\">\n <sp-textfield\n size=\"s\"\n placeholder=\"entry-name\"\n .value=${newEntryNames.get(sectionKey) ?? \"\"}\n @input=${(e: Event) => {\n newEntryNames.set(sectionKey, (e.target as HTMLInputElement).value);\n }}\n @keydown=${(e: KeyboardEvent) => {\n if (e.key === \"Enter\") {\n handleCreate();\n }\n if (e.key === \"Escape\") {\n newEntryOpen.delete(sectionKey);\n rerender();\n }\n }}\n ></sp-textfield>\n <sp-action-button size=\"s\" @click=${handleCreate}>Create</sp-action-button>\n </div>\n `\n : html`\n <sp-action-button\n size=\"s\"\n quiet\n @click=${() => {\n newEntryOpen.add(sectionKey);\n rerender();\n }}\n >\n <sp-icon-add slot=\"icon\"></sp-icon-add> New Entry\n </sp-action-button>\n `\n }\n </div>\n `;\n\n // Right column — entry form\n const selectedEntry = selected ? entries[selected] : undefined;\n const editorTpl: TemplateResult =\n selected && selectedEntry && typeof selectedEntry === \"object\"\n ? html`\n <div class=\"settings-editor-panel\">\n <div class=\"settings-editor-header\">\n <sp-textfield\n size=\"s\"\n quiet\n class=\"entry-name-input\"\n value=${selected}\n @change=${(e: Event) => {\n const target = e.target as HTMLInputElement;\n handleRename(target.value.trim());\n target.value = selectedEntries.get(sectionKey) ?? selected;\n }}\n @keydown=${(e: KeyboardEvent) => {\n const target = e.target as HTMLInputElement;\n if (e.key === \"Enter\") {\n target.blur();\n }\n if (e.key === \"Escape\") {\n target.value = selected;\n target.blur();\n }\n }}\n ></sp-textfield>\n <sp-action-button size=\"xs\" quiet title=\"Delete entry\" @click=${handleDelete}>\n <sp-icon-delete slot=\"icon\"></sp-icon-delete>\n </sp-action-button>\n </div>\n ${renderForm(contribution.entrySchema, selectedEntry as Record<string, unknown>, {\n context: buildContext(sectionKey, opts, selected),\n onChange: (patch) => {\n applyPatch(selectedEntry as Record<string, unknown>, patch);\n rerender();\n void saveProjectConfig();\n },\n rerender,\n ...(ui !== undefined && { ui }),\n })}\n </div>\n `\n : html`<div class=\"settings-empty-state\">Select or create an entry</div>`;\n\n return html` <div class=\"settings-two-col\">${listTpl} ${editorTpl}</div> `;\n}\n",
|
|
6
|
-
"/// <reference lib=\"dom\" />\n/**\n * Data section actions — the owner console entry points over the platform's data surface.\n *\n * Integration: the settings modal's contributed sections stay fully generic — extension-sections\n * passes this module's {@link dataSectionActions} into the ContributedSectionOptions.actions slot\n * for the data-domain sections (\"connections\"/\"data\") whenever the platform implements the\n * protocol's data routes. Those actions surface Test Connection, Push Schema (dry-run plan\n * confirmation before apply), and Open Data Grid — which opens the grid-tab source picker; table\n * editing itself lives in the spreadsheet grid tabs (src/grid/), which replaced the old modal grid\n * at feature parity (paging, cell edit, add/delete row) and added batch save with undo.\n */\n\nimport { html, nothing } from \"lit-html\";\nimport { openModal } from \"../ui/layers\";\nimport { dataSurfaceAvailable, pushSchema, testConnection } from \"../services/data-service\";\nimport { openGridSourcePicker } from \"../grid/grid-open\";\nimport type { TemplateResult } from \"lit-html\";\nimport type { DataConnectionTestResult, DataPushResult } from \"../types\";\nimport type { SectionActionsContext } from \"../settings/contributed-section\";\n\n// ─── Grid opening (delegates to the grid-tab source picker) ──────────────────\n\n/** Reset all module UI state and close any open surfaces (test hook / project switch). */\nexport function resetDataGridState(): void {\n actionsState = { pushing: false, testResult: null, testing: null };\n closePushDialog();\n}\n\n/** True when the platform serves the data grid. */\nexport function isDataGridAvailable(): boolean {\n return dataSurfaceAvailable();\n}\n\n// ─── Push dialog (dry-run plan confirmation before apply) ─────────────────────\n\ninterface PushDialogState {\n handle: ReturnType<typeof openModal>;\n connection: string | undefined;\n phase: \"loading\" | \"confirm\" | \"applying\" | \"done\";\n plan: DataPushResult | null;\n result: DataPushResult | null;\n onDone: () => void;\n}\n\nlet pushDialog: PushDialogState | null = null;\n\n/** Close the push dialog (also part of resetDataGridState). */\nfunction closePushDialog(): void {\n pushDialog?.handle.close();\n pushDialog = null;\n}\n\n/** Start a push: dry-run first, then a confirmation dialog gates the apply. */\nexport async function startPush(connection: string | undefined, onDone: () => void) {\n if (pushDialog) {\n return;\n }\n const handle = openModal(html``);\n pushDialog = { connection, handle, onDone, phase: \"loading\", plan: null, result: null };\n renderPushDialog();\n const plan = await pushSchema({\n dryRun: true,\n ...(connection === undefined ? {} : { connection }),\n });\n if (!pushDialog) {\n return;\n }\n pushDialog.plan = plan;\n pushDialog.phase = \"confirm\";\n renderPushDialog();\n}\n\nasync function applyPush(): Promise<void> {\n if (!pushDialog) {\n return;\n }\n pushDialog.phase = \"applying\";\n renderPushDialog();\n const result = await pushSchema(\n pushDialog.connection === undefined ? {} : { connection: pushDialog.connection },\n );\n if (!pushDialog) {\n return;\n }\n pushDialog.result = result;\n pushDialog.phase = \"done\";\n renderPushDialog();\n pushDialog.onDone();\n}\n\nfunction pushDialogBody(state: PushDialogState): TemplateResult {\n if (state.phase === \"loading\" || state.phase === \"applying\") {\n return html`<div class=\"push-dialog-status\">\n ${state.phase === \"loading\" ? \"Compiling plan…\" : \"Applying…\"}\n </div>`;\n }\n const shown = state.phase === \"done\" ? state.result : state.plan;\n const steps = shown?.plan ?? [];\n const warnings = shown?.warnings ?? [];\n const errors = shown?.errors ?? [];\n return html`\n <div class=\"push-dialog-plan\">\n ${\n state.phase === \"done\"\n ? html`<div class=\"push-dialog-status\">\n ${shown?.applied ? \"Schema applied.\" : \"Push failed.\"}\n </div>`\n : steps.length === 0 && errors.length === 0\n ? html`<div class=\"push-dialog-status\">\n Nothing to push — the schema is up to date.\n </div>`\n : nothing\n }\n <ul class=\"push-dialog-steps\">\n ${steps.map(\n (step) => html`<li class=\"push-step push-step-${step.kind}\">${step.summary}</li>`,\n )}\n </ul>\n ${warnings.map((w) => html`<div class=\"push-dialog-warning\">${w}</div>`)}\n ${errors.map((e) => html`<div class=\"push-dialog-error\">${e}</div>`)}\n </div>\n `;\n}\n\nfunction renderPushDialog(): void {\n if (!pushDialog) {\n return;\n }\n const state = pushDialog;\n const confirmable = state.phase === \"confirm\" && (state.plan?.plan.length ?? 0) > 0;\n const tpl = html`\n <sp-underlay open @close=${closePushDialog}></sp-underlay>\n <div class=\"settings-modal push-dialog\">\n <div class=\"settings-modal-header\">\n <h2 class=\"settings-modal-title\">\n Push Schema${state.connection ? html` — ${state.connection}` : nothing}\n </h2>\n </div>\n <div class=\"settings-modal-body\">${pushDialogBody(state)}</div>\n <div class=\"push-dialog-actions\">\n <sp-action-button size=\"s\" class=\"push-cancel\" @click=${closePushDialog}>\n ${state.phase === \"done\" ? \"Close\" : \"Cancel\"}\n </sp-action-button>\n ${\n confirmable\n ? html`<sp-action-button\n size=\"s\"\n emphasized\n class=\"push-apply\"\n @click=${() => void applyPush()}\n >Apply</sp-action-button\n >`\n : nothing\n }\n </div>\n </div>\n `;\n state.handle.update(tpl);\n}\n\n// ─── Contributed-section actions (Test / Push / Open grid) ────────────────────\n\ninterface ActionsState {\n /** Connection currently being tested, when any. */\n testing: string | null;\n testResult: (DataConnectionTestResult & { connection: string }) | null;\n pushing: boolean;\n}\n\nlet actionsState: ActionsState = { pushing: false, testResult: null, testing: null };\n\n/**\n * The actions renderer for a data-domain contributed section, or null when the section is not\n * data-domain or the platform lacks the data routes. Section keys \"connections\"/\"data\" are the\n * connector's host wire contract (the same literals the backend's data routes serve) — the generic\n * contributed-section renderer itself stays extension-agnostic.\n *\n * @param {string} sectionKey\n * @returns {((ctx: SectionActionsContext) => TemplateResult) | null}\n */\nexport function dataSectionActions(\n sectionKey: string,\n): ((ctx: SectionActionsContext) => TemplateResult) | null {\n if ((sectionKey !== \"connections\" && sectionKey !== \"data\") || !dataSurfaceAvailable()) {\n return null;\n }\n return (ctx) => renderSectionActions(sectionKey, ctx);\n}\n\nasync function runTest(connection: string, rerender: () => void): Promise<void> {\n actionsState.testing = connection;\n actionsState.testResult = null;\n rerender();\n const result = await testConnection(connection);\n actionsState.testing = null;\n actionsState.testResult = { ...result, connection };\n rerender();\n}\n\nfunction renderSectionActions(sectionKey: string, ctx: SectionActionsContext): TemplateResult {\n const { selected, rerender } = ctx;\n const { testResult } = actionsState;\n // On the connections section a selected entry scopes both Test and Push to that connection.\n const pushTarget = sectionKey === \"connections\" && selected ? selected : undefined;\n return html`\n <div class=\"data-section-actions\">\n ${\n sectionKey === \"connections\"\n ? html`<sp-action-button\n size=\"s\"\n class=\"data-action-test\"\n ?disabled=${!selected || actionsState.testing !== null}\n @click=${() => {\n if (selected) {\n void runTest(selected, rerender);\n }\n }}\n >\n ${actionsState.testing ? \"Testing…\" : \"Test Connection\"}\n </sp-action-button>`\n : nothing\n }\n <sp-action-button\n size=\"s\"\n class=\"data-action-push\"\n @click=${() => void startPush(pushTarget, rerender)}\n >\n Push Schema\n </sp-action-button>\n <sp-action-button\n size=\"s\"\n class=\"data-action-grid\"\n @click=${() => void openGridSourcePicker()}\n >\n Open Data Grid\n </sp-action-button>\n ${\n testResult\n ? html`<span\n class=\"data-test-result ${testResult.ok ? \"ok\" : \"failed\"}\"\n title=${testResult.error ?? \"\"}\n >\n ${testResult.connection}:\n ${testResult.ok ? \"connected\" : (testResult.error ?? \"failed\")}\n </span>`\n : nothing\n }\n </div>\n `;\n}\n",
|
|
7
|
-
"/// <reference lib=\"dom\" />\n/**\n * Extension settings sections — bridges the extensions payload (platform `listExtensions`) into the\n * settings-modal registry. Every project-section contribution whose class declares a\n * `$studio.settings` block (specs/extensions.md §9.1) gets a section rendered generically by\n * renderContributedSection; sections vanish again when their extension is disabled. The studio\n * hard-codes nothing per extension — parser's Content Types section arrives through this exact\n * path.\n */\n\nimport { getFormats, loadExtensions, loadFormats } from \"../format/format-host\";\nimport { registerSettingsSection, unregisterSettingsSection } from \"./settings-modal\";\nimport { renderContributedSection } from \"./contributed-section\";\nimport { dataSectionActions } from \"../panels/data-grid\";\nimport type { ExtensionContributionInfo } from \"../types\";\nimport type { JsonSchema } from \"../ui/schema-form\";\nimport type { SettingsContribution } from \"./contributed-section\";\n\n/** The `$studio.settings` block shape consumed here (nav metadata + the renderer inputs). */\ninterface StudioSettingsBlock {\n icon?: string;\n label?: string;\n order?: number;\n layout?: \"map\" | \"form\";\n entry?: SettingsContribution[\"settings\"][\"entry\"];\n}\n\n/** A contribution resolved into settings-modal registration inputs. */\nexport interface DerivedSettingsSection {\n key: string;\n label: string;\n icon?: string | undefined;\n order: number;\n contribution: SettingsContribution;\n}\n\n/** Default sort position for contributed sections without an explicit `order`. */\nconst DEFAULT_SECTION_ORDER = 100;\n\n/**\n * Derive the settings-modal registration for one contribution, or null when its class declares no\n * `$studio.settings` block. The wire `entrySchema` is the SECTION value schema (`properties[<key>]`\n * of the project fragment); map layouts edit one entry at a time, so their form schema is that\n * section schema's `additionalProperties`.\n *\n * @param {ExtensionContributionInfo} info\n * @returns {DerivedSettingsSection | null}\n */\nexport function deriveSettingsSection(\n info: ExtensionContributionInfo,\n): DerivedSettingsSection | null {\n const studio = info.studio as { settings?: StudioSettingsBlock } | null | undefined;\n const settings = studio?.settings;\n if (!settings) {\n return null;\n }\n const { key } = info.project;\n const layout = settings.layout ?? \"form\";\n const sectionSchema = (info.entrySchema ?? {}) as JsonSchema & {\n additionalProperties?: JsonSchema | boolean;\n };\n const entrySchema =\n layout === \"map\"\n ? typeof sectionSchema.additionalProperties === \"object\"\n ? sectionSchema.additionalProperties\n : {}\n : (sectionSchema as JsonSchema);\n const label = settings.label ?? info.project.title ?? key;\n return {\n contribution: {\n entrySchema,\n key,\n settings: {\n ...(settings.entry === undefined ? {} : { entry: settings.entry }),\n ...(settings.layout === undefined ? {} : { layout: settings.layout }),\n },\n title: label,\n },\n icon: settings.icon,\n key,\n label,\n order: settings.order ?? DEFAULT_SECTION_ORDER,\n };\n}\n\n/** Section keys this module registered, so stale ones unregister on project/extension change. */\nconst registeredKeys = new Set<string>();\n\n/**\n * Load the extensions payload and (re)register a settings section per `$studio.settings`\n * contribution, unregistering sections whose extension is no longer enabled. Formats load alongside\n * so the `$formats` context root has data at render time. Call on project activation and after\n * project.json `extensions` changes; loadExtensions caches, so repeat calls are cheap.\n */\nexport async function syncExtensionSettingsSections(): Promise<void> {\n const [extensions] = await Promise.all([loadExtensions(), loadFormats()]);\n const next = new Set<string>();\n for (const ext of extensions) {\n for (const info of ext.contributions) {\n const derived = deriveSettingsSection(info);\n if (!derived) {\n continue;\n }\n const { contribution } = derived;\n registerSettingsSection({\n icon: derived.icon,\n key: derived.key,\n label: derived.label,\n order: derived.order,\n render: (container) => {\n // Data-domain sections get the Test/Push/Data-grid actions slot when the platform\n // Implements the protocol's data routes; every other section renders actions-free.\n const actions = dataSectionActions(derived.key);\n renderContributedSection(container, contribution, {\n formats: getFormats(),\n ...(actions === null ? {} : { actions }),\n });\n },\n });\n next.add(derived.key);\n }\n }\n for (const key of registeredKeys) {\n if (!next.has(key)) {\n unregisterSettingsSection(key);\n }\n }\n registeredKeys.clear();\n for (const key of next) {\n registeredKeys.add(key);\n }\n}\n\n/** Unregister every section this module added and forget them (project close / tests). */\nexport function resetExtensionSettingsSections(): void {\n for (const key of registeredKeys) {\n unregisterSettingsSection(key);\n }\n registeredKeys.clear();\n}\n\n/** The section keys currently registered by this module (diagnostics/tests). */\nexport function extensionSectionKeys(): string[] {\n return [...registeredKeys];\n}\n"
|
|
8
|
-
],
|
|
9
|
-
"mappings": "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",
|
|
10
|
-
"debugId": "B810C054A80BCC0264756E2164756E21",
|
|
11
|
-
"names": []
|
|
12
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
findHomePage,
|
|
3
|
-
isFileDrag,
|
|
4
|
-
loadDirectory,
|
|
5
|
-
loadProject,
|
|
6
|
-
openFileFromTree,
|
|
7
|
-
openFileInTab,
|
|
8
|
-
openHomePage,
|
|
9
|
-
openProject,
|
|
10
|
-
pickAndUploadTo,
|
|
11
|
-
registerFileTreeDnD,
|
|
12
|
-
reloadCleanTab,
|
|
13
|
-
reloadFileInTab,
|
|
14
|
-
renderFilesTemplate,
|
|
15
|
-
setupTreeKeyboard,
|
|
16
|
-
uploadFilesToDir
|
|
17
|
-
} from "./studio-4d8hzcz5.js";
|
|
18
|
-
import"./studio-v7jkjqng.js";
|
|
19
|
-
import"./studio-esrewxap.js";
|
|
20
|
-
import"./studio-cx91mnh8.js";
|
|
21
|
-
import"./studio-zp7jncs8.js";
|
|
22
|
-
import"./studio-0xgs7xrs.js";
|
|
23
|
-
import"./studio-sjh1wt1a.js";
|
|
24
|
-
import"./studio-4k0m4fmp.js";
|
|
25
|
-
import"./studio-5x5774ak.js";
|
|
26
|
-
import"./studio-gs6kqdt1.js";
|
|
27
|
-
import"./studio-9smfzqhc.js";
|
|
28
|
-
import"./studio-5ehhackm.js";
|
|
29
|
-
import"./studio-kr88ryr7.js";
|
|
30
|
-
import"./studio-md4gps17.js";
|
|
31
|
-
export {
|
|
32
|
-
uploadFilesToDir,
|
|
33
|
-
setupTreeKeyboard,
|
|
34
|
-
renderFilesTemplate,
|
|
35
|
-
reloadFileInTab,
|
|
36
|
-
reloadCleanTab,
|
|
37
|
-
registerFileTreeDnD,
|
|
38
|
-
pickAndUploadTo,
|
|
39
|
-
openProject,
|
|
40
|
-
openHomePage,
|
|
41
|
-
openFileInTab,
|
|
42
|
-
openFileFromTree,
|
|
43
|
-
loadProject,
|
|
44
|
-
loadDirectory,
|
|
45
|
-
isFileDrag,
|
|
46
|
-
findHomePage
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
//# debugId=25D358EDFF4B1C0F64756E2164756E21
|
|
50
|
-
//# sourceMappingURL=files-j8a1t06k.js.map
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
cleanupGitPanel,
|
|
3
|
-
cloneRepository,
|
|
4
|
-
platformSupportsClone,
|
|
5
|
-
refreshGitStatus,
|
|
6
|
-
renderGitPanel
|
|
7
|
-
} from "./studio-n4p11dfy.js";
|
|
8
|
-
import"./studio-xq0t7n5t.js";
|
|
9
|
-
import"./studio-nqw433kv.js";
|
|
10
|
-
import"./studio-zp7jncs8.js";
|
|
11
|
-
import"./studio-0xgs7xrs.js";
|
|
12
|
-
import"./studio-sjh1wt1a.js";
|
|
13
|
-
import"./studio-4k0m4fmp.js";
|
|
14
|
-
import"./studio-5x5774ak.js";
|
|
15
|
-
import"./studio-gs6kqdt1.js";
|
|
16
|
-
import"./studio-9smfzqhc.js";
|
|
17
|
-
import"./studio-5ehhackm.js";
|
|
18
|
-
import"./studio-md4gps17.js";
|
|
19
|
-
export {
|
|
20
|
-
renderGitPanel,
|
|
21
|
-
refreshGitStatus,
|
|
22
|
-
platformSupportsClone,
|
|
23
|
-
cloneRepository,
|
|
24
|
-
cleanupGitPanel
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
//# debugId=202FF1FFD392856464756E2164756E21
|
|
28
|
-
//# sourceMappingURL=git-panel-xtq5z81x.js.map
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
renderLayersTemplate,
|
|
3
|
-
startLayerTitleEdit
|
|
4
|
-
} from "./studio-jm0z592w.js";
|
|
5
|
-
import"./studio-yfcstdzy.js";
|
|
6
|
-
import"./studio-v7jkjqng.js";
|
|
7
|
-
import"./studio-esrewxap.js";
|
|
8
|
-
import"./studio-cx91mnh8.js";
|
|
9
|
-
import"./studio-xq0t7n5t.js";
|
|
10
|
-
import"./studio-nqw433kv.js";
|
|
11
|
-
import"./studio-0xgs7xrs.js";
|
|
12
|
-
import"./studio-sjh1wt1a.js";
|
|
13
|
-
import"./studio-4k0m4fmp.js";
|
|
14
|
-
import"./studio-5x5774ak.js";
|
|
15
|
-
import"./studio-gs6kqdt1.js";
|
|
16
|
-
import"./studio-9smfzqhc.js";
|
|
17
|
-
import"./studio-5ehhackm.js";
|
|
18
|
-
import"./studio-kr88ryr7.js";
|
|
19
|
-
import"./studio-md4gps17.js";
|
|
20
|
-
export {
|
|
21
|
-
startLayerTitleEdit,
|
|
22
|
-
renderLayersTemplate
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
//# debugId=9E07C89FC905EE3F64756E2164756E21
|
|
26
|
-
//# sourceMappingURL=layers-panel-ancn2wpq.js.map
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
closeSettingsModal,
|
|
3
|
-
openSettingsModal,
|
|
4
|
-
registerSettingsSection,
|
|
5
|
-
unregisterSettingsSection
|
|
6
|
-
} from "./studio-m2t4mdg5.js";
|
|
7
|
-
import"./studio-4d8hzcz5.js";
|
|
8
|
-
import"./studio-v7jkjqng.js";
|
|
9
|
-
import"./studio-esrewxap.js";
|
|
10
|
-
import"./studio-cx91mnh8.js";
|
|
11
|
-
import"./studio-zp7jncs8.js";
|
|
12
|
-
import"./studio-0xgs7xrs.js";
|
|
13
|
-
import"./studio-sjh1wt1a.js";
|
|
14
|
-
import"./studio-4k0m4fmp.js";
|
|
15
|
-
import"./studio-5x5774ak.js";
|
|
16
|
-
import"./studio-gs6kqdt1.js";
|
|
17
|
-
import"./studio-9smfzqhc.js";
|
|
18
|
-
import"./studio-5ehhackm.js";
|
|
19
|
-
import"./studio-kr88ryr7.js";
|
|
20
|
-
import"./studio-md4gps17.js";
|
|
21
|
-
export {
|
|
22
|
-
unregisterSettingsSection,
|
|
23
|
-
registerSettingsSection,
|
|
24
|
-
openSettingsModal,
|
|
25
|
-
closeSettingsModal
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
//# debugId=FB9DCE1CA4789AFC64756E2164756E21
|
|
29
|
-
//# sourceMappingURL=settings-modal-17ttr96g.js.map
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import"./studio-9qpspwfn.js";
|
|
2
|
-
import"./studio-18j3bmcz.js";
|
|
3
|
-
import"./studio-5x6tqqec.js";
|
|
4
|
-
import"./studio-ahnzd9rg.js";
|
|
5
|
-
import"./studio-9bjwf0d4.js";
|
|
6
|
-
import"./studio-z6nw2ek2.js";
|
|
7
|
-
import"./studio-8q517dfr.js";
|
|
8
|
-
import"./studio-9qr6fq7p.js";
|
|
9
|
-
import"./studio-cx91mnh8.js";
|
|
10
|
-
import"./studio-xq0t7n5t.js";
|
|
11
|
-
import"./studio-nqw433kv.js";
|
|
12
|
-
import"./studio-4k0m4fmp.js";
|
|
13
|
-
import"./studio-5x5774ak.js";
|
|
14
|
-
import"./studio-md4gps17.js";
|
|
15
|
-
|
|
16
|
-
//# debugId=18F514E3BA3E1B2064756E2164756E21
|
|
17
|
-
//# sourceMappingURL=sp-overlay.dev-earn5as8.js.map
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import"./studio-56v3zwk6.js";
|
|
2
|
-
import"./studio-18j3bmcz.js";
|
|
3
|
-
import"./studio-ahnzd9rg.js";
|
|
4
|
-
import"./studio-9bjwf0d4.js";
|
|
5
|
-
import"./studio-9qr6fq7p.js";
|
|
6
|
-
import"./studio-cx91mnh8.js";
|
|
7
|
-
import"./studio-xq0t7n5t.js";
|
|
8
|
-
import"./studio-nqw433kv.js";
|
|
9
|
-
import"./studio-4k0m4fmp.js";
|
|
10
|
-
import"./studio-5x5774ak.js";
|
|
11
|
-
import"./studio-md4gps17.js";
|
|
12
|
-
|
|
13
|
-
//# debugId=4FDFA7FE6DB806F664756E2164756E21
|
|
14
|
-
//# sourceMappingURL=sp-progress-circle.dev-7tvw34h8.js.map
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Tooltip
|
|
3
|
-
} from "./studio-7kqe41sa.js";
|
|
4
|
-
import {
|
|
5
|
-
defineElement
|
|
6
|
-
} from "./studio-18j3bmcz.js";
|
|
7
|
-
import"./studio-9bjwf0d4.js";
|
|
8
|
-
import"./studio-8q517dfr.js";
|
|
9
|
-
import"./studio-9qr6fq7p.js";
|
|
10
|
-
import"./studio-cx91mnh8.js";
|
|
11
|
-
import"./studio-xq0t7n5t.js";
|
|
12
|
-
import"./studio-nqw433kv.js";
|
|
13
|
-
import"./studio-4k0m4fmp.js";
|
|
14
|
-
import"./studio-5x5774ak.js";
|
|
15
|
-
import"./studio-md4gps17.js";
|
|
16
|
-
|
|
17
|
-
// ../../node_modules/@spectrum-web-components/tooltip/sp-tooltip.dev.js
|
|
18
|
-
defineElement("sp-tooltip", Tooltip);
|
|
19
|
-
|
|
20
|
-
//# debugId=ECD0D4033F1DB62D64756E2164756E21
|
|
21
|
-
//# sourceMappingURL=sp-tooltip.dev-a9fywesm.js.map
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../node_modules/@spectrum-web-components/tooltip/sp-tooltip.dev.js"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"\"use strict\";\nimport { defineElement } from \"@spectrum-web-components/base/src/define-element.js\";\nimport { Tooltip } from \"./src/Tooltip.dev.js\";\ndefineElement(\"sp-tooltip\", Tooltip);\n//# sourceMappingURL=sp-tooltip.dev.js.map\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": ";;;;;;;;;;;;;;;;;AAGA,cAAc,cAAc,OAAO;",
|
|
8
|
-
"debugId": "ECD0D4033F1DB62D64756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|