@jxsuite/studio 6.1.1 → 6.1.2
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/dist/chunks/{2020-va2wwra4.js → 2020-f2gkpy8d.js} +3 -3
- package/dist/chunks/{action-group-2mqby73c.js → action-group-4aan7g6g.js} +3 -3
- package/dist/chunks/adapter-4912g339.js +4 -0
- package/dist/chunks/cf-account-picker-wccaenh6.js +4 -0
- package/dist/chunks/cf-settings-br6105tr.js +4 -0
- package/dist/chunks/color-28ksk2qm.js +4 -0
- package/dist/chunks/color-area-0fj8a4ga.js +4 -0
- package/dist/chunks/color-field-xch8kx2g.js +4 -0
- package/dist/chunks/color-slider-jxd8v350.js +4 -0
- package/dist/chunks/combobox-p0efwjke.js +4 -0
- package/dist/chunks/components-db68vsn7.js +4 -0
- package/dist/chunks/content-source-1449qesq.js +4 -0
- package/dist/chunks/convert-to-repeater-5h457egj.js +4 -0
- package/dist/chunks/dialog-c4x05vyx.js +4 -0
- package/dist/chunks/editor-x9jn86a7.js +4 -0
- package/dist/chunks/entry-commands-may24cpt.js +4 -0
- package/dist/chunks/extension-sections-pvr14vxr.js +4 -0
- package/dist/chunks/file-ops-x9v54pcj.js +4 -0
- package/dist/chunks/files-j3knqf0s.js +4 -0
- package/dist/chunks/format-host-tyre2trb.js +4 -0
- package/dist/chunks/fs-events-64ma9htc.js +4 -0
- package/dist/chunks/git-panel-84ps5dex.js +4 -0
- package/dist/chunks/grid-view-d2wq9ezg.js +51 -0
- package/dist/chunks/icons-pnfz478q.js +4 -0
- package/dist/chunks/iframe-entry-fvbk89gm.js +5 -0
- package/dist/chunks/iframe-entry-jdcktez8.js +5 -0
- package/dist/chunks/iframe-entry-x0ygf2yr.js +5 -0
- package/dist/chunks/iframe-entry-zap785cw.js +5 -0
- package/dist/chunks/iframe-host-ck6vejt5.js +4 -0
- package/dist/chunks/index-b8xw3vy9.js +4 -0
- package/dist/chunks/{index-2veqmnhr.js → index-zpjmzqfk.js} +3 -3
- package/dist/chunks/{javascript-8nbvs12s.js → javascript-m54mnwp6.js} +3 -3
- package/dist/chunks/{jsonMode-s8kt9dsj.js → jsonMode-w15cmrcm.js} +8 -8
- package/dist/chunks/jx-validate-at3zn8wa.js +4 -0
- package/dist/chunks/layers-h4xp1pss.js +4 -0
- package/dist/chunks/layers-panel-m5hw1d7g.js +4 -0
- package/dist/chunks/listbox-e74qjyq6.js +4 -0
- package/dist/chunks/lit-html-8t8t3dnr.js +4 -0
- package/dist/chunks/media-picker-2cweexc5.js +4 -0
- package/dist/chunks/menu-n6yzswmy.js +4 -0
- package/dist/chunks/menu-ynw13y0s.js +4 -0
- package/dist/chunks/monaco-binding-7gx83x3r.js +4 -0
- package/dist/chunks/monaco-buffer-qzxn567r.js +4 -0
- package/dist/chunks/monaco-setup-gxf6656g.js +4 -0
- package/dist/chunks/notify-cj5zbrs2.js +4 -0
- package/dist/chunks/number-field-y62xq0ty.js +4 -0
- package/dist/chunks/parse-b7ddhr8m.js +4 -0
- package/dist/chunks/platform-3dfws9js.js +4 -0
- package/dist/chunks/popover-jt2gxmzs.js +4 -0
- package/dist/chunks/publish-panel-1gvxbj21.js +4 -0
- package/dist/chunks/quick-search-0dajrwqg.js +4 -0
- package/dist/chunks/references-49qgt404.js +4 -0
- package/dist/chunks/right-panel-jm1bwe53.js +4 -0
- package/dist/chunks/section-registry-6kwc4fky.js +4 -0
- package/dist/chunks/select-rzds841e.js +4 -0
- package/dist/chunks/split-n2gfpm5m.js +4 -0
- package/dist/chunks/{studio-1q1sh2ax.js → studio-0q988f9w.js} +3 -3
- package/dist/chunks/studio-0rt52vpq.js +5 -0
- package/dist/chunks/studio-18vgbhs5.js +5 -0
- package/dist/chunks/{studio-h46vtzk8.js → studio-1fxkaaea.js} +4 -4
- package/dist/chunks/studio-24mccdrj.js +5 -0
- package/dist/chunks/studio-2eh507zk.js +9 -0
- package/dist/chunks/studio-2hcbccfv.js +5 -0
- package/dist/chunks/studio-2j1cb95x.js +5 -0
- package/dist/chunks/studio-2jbs3rxv.js +5 -0
- package/dist/chunks/{studio-rv11kfwa.js → studio-485046te.js} +7 -7
- package/dist/chunks/studio-4h8k4dw9.js +5 -0
- package/dist/chunks/studio-5f6n18kx.js +5 -0
- package/dist/chunks/studio-5gthpky6.js +5 -0
- package/dist/chunks/studio-5ve6bbep.js +5 -0
- package/dist/chunks/studio-6ep3js6b.js +9 -0
- package/dist/chunks/studio-6wkmf3wz.js +9 -0
- package/dist/chunks/studio-841rf3cg.js +5 -0
- package/dist/chunks/studio-8gmwgheg.js +5 -0
- package/dist/chunks/studio-8qm0ep50.js +5 -0
- package/dist/chunks/{studio-8grwxtqk.js → studio-90pq9km1.js} +4 -4
- package/dist/chunks/studio-924p1tm1.js +6 -0
- package/dist/chunks/{studio-pre0skq6.js → studio-a3g98wjr.js} +4 -4
- package/dist/chunks/studio-a3shpz9y.js +5 -0
- package/dist/chunks/studio-amsbaaar.js +6 -0
- package/dist/chunks/studio-at5spjbc.js +7 -0
- package/dist/chunks/studio-b2xv945e.js +5 -0
- package/dist/chunks/studio-bn5nkafw.js +5 -0
- package/dist/chunks/studio-bw6q5xjf.js +9 -0
- package/dist/chunks/studio-c7q0t9x1.js +5 -0
- package/dist/chunks/studio-camnhc96.js +6 -0
- package/dist/chunks/studio-cffqvnzd.js +5 -0
- package/dist/chunks/studio-d81xfh1g.js +5 -0
- package/dist/chunks/studio-dgz8d0c1.js +5 -0
- package/dist/chunks/studio-efvfrsf8.js +5 -0
- package/dist/chunks/studio-er30bpcx.js +5 -0
- package/dist/chunks/studio-ezscgr64.js +5 -0
- package/dist/chunks/studio-ffrrncvz.js +5 -0
- package/dist/chunks/studio-fpphgn8y.js +10 -0
- package/dist/chunks/studio-j1kvhdjk.js +4 -0
- package/dist/chunks/{studio-vrmcjf9g.js → studio-j430n16g.js} +5 -5
- package/dist/chunks/studio-jjkg84nj.js +5 -0
- package/dist/chunks/studio-m0q32ars.js +4 -0
- package/dist/chunks/studio-m6bdst11.js +5 -0
- package/dist/chunks/studio-nv2cptd4.js +64 -0
- package/dist/chunks/studio-nwfrc98n.js +5 -0
- package/dist/chunks/studio-p1wgvp7r.js +5 -0
- package/dist/chunks/studio-pag2wncm.js +5 -0
- package/dist/chunks/studio-qvanvzfd.js +5 -0
- package/dist/chunks/studio-qwa64kt7.js +5 -0
- package/dist/chunks/studio-rk1zc4x3.js +928 -0
- package/dist/chunks/studio-se2r3ptc.js +5 -0
- package/dist/chunks/studio-sg2a0dh0.js +5 -0
- package/dist/chunks/studio-tjzjhe68.js +5 -0
- package/dist/chunks/{studio-wszjyh0j.js → studio-tq0rtfwj.js} +4 -4
- package/dist/chunks/{studio-kggey1jt.js → studio-v0jzqdjm.js} +4 -4
- package/dist/chunks/studio-v2w7q8r1.js +7 -0
- package/dist/chunks/studio-v5vjq1h0.js +4 -0
- package/dist/chunks/studio-v8aga3vp.js +14 -0
- package/dist/chunks/studio-vfcdrfmv.js +5 -0
- package/dist/chunks/studio-vmfkgdjf.js +5 -0
- package/dist/chunks/studio-wt1816jj.js +5 -0
- package/dist/chunks/studio-wz73q5kq.js +4 -0
- package/dist/chunks/studio-y04qtxvp.js +7 -0
- package/dist/chunks/studio-y21g8zzg.js +5 -0
- package/dist/chunks/{studio-zey7zsdw.js → studio-y64hrt8p.js} +7 -7
- package/dist/chunks/studio-ynn90f58.js +16 -0
- package/dist/chunks/studio-yxz682sx.js +5 -0
- package/dist/chunks/studio-zp7snvkq.js +5 -0
- package/dist/chunks/studio-zq4z6tm6.js +5 -0
- package/dist/chunks/swatch-group-ewh24n1f.js +4 -0
- package/dist/chunks/tabs-f5cw3tgp.js +4 -0
- package/dist/chunks/textfield-wewc8rq2.js +4 -0
- package/dist/chunks/toast-c9fn075p.js +4 -0
- package/dist/chunks/toast-host-ke5z4ng7.js +4 -0
- package/dist/chunks/{toolbar-2nnzqhrj.js → toolbar-44cm5cta.js} +3 -3
- package/dist/chunks/tooltip-5v8ngwj2.js +4 -0
- package/dist/chunks/tree-mdq3v5cw.js +4 -0
- package/dist/chunks/{tsMode-2frah6h1.js → tsMode-sf49ee9x.js} +7 -7
- package/dist/chunks/workspace-jtfahpee.js +4 -0
- package/dist/chunks/ws-client-nze0k6mv.js +4 -0
- package/dist/iframe-entry.js +16 -16
- package/dist/manifest.json +63 -63
- package/dist/studio.js +97 -97
- package/package.json +6 -6
- package/src/about/about-modal.ts +4 -3
- package/src/account/action-flow.ts +45 -38
- package/src/account-status.ts +7 -2
- package/src/browse/library-layouts.ts +8 -5
- package/src/browse/library-model.ts +18 -6
- package/src/browse/library-pane.ts +37 -21
- package/src/browse/library-preview.ts +14 -9
- package/src/browse/library-source.ts +1 -1
- package/src/canvas/asset-refs.ts +24 -9
- package/src/canvas/asset-resolve.ts +19 -23
- package/src/canvas/canvas-helpers.ts +7 -6
- package/src/canvas/canvas-live-render.ts +44 -53
- package/src/canvas/canvas-patcher.ts +30 -30
- package/src/canvas/canvas-perf.ts +11 -5
- package/src/canvas/canvas-render.ts +62 -41
- package/src/canvas/canvas-surface.ts +5 -3
- package/src/canvas/canvas-utils.ts +90 -49
- package/src/canvas/dialog-path.ts +9 -4
- package/src/canvas/dialog-state.ts +1 -2
- package/src/canvas/diff-marks.ts +9 -16
- package/src/canvas/diff-toolbar.ts +8 -7
- package/src/canvas/edit-width-drag.ts +4 -1
- package/src/canvas/edit-width.ts +1 -3
- package/src/canvas/iframe-channel.ts +27 -13
- package/src/canvas/iframe-drop.ts +13 -12
- package/src/canvas/iframe-editable-root.ts +29 -16
- package/src/canvas/iframe-entry.ts +80 -63
- package/src/canvas/iframe-eval.ts +73 -49
- package/src/canvas/iframe-host.ts +135 -96
- package/src/canvas/iframe-inline-edit.ts +49 -30
- package/src/canvas/iframe-insert.ts +5 -4
- package/src/canvas/iframe-interaction.ts +30 -25
- package/src/canvas/iframe-overlay.ts +1 -1
- package/src/canvas/iframe-patch.ts +18 -15
- package/src/canvas/iframe-position.ts +12 -6
- package/src/canvas/iframe-protocol.ts +12 -16
- package/src/canvas/iframe-render.ts +36 -34
- package/src/canvas/iframe-slash.ts +24 -11
- package/src/canvas/iframe-subtree.ts +6 -2
- package/src/canvas/path-mapping.ts +19 -12
- package/src/canvas/popover-path.ts +7 -3
- package/src/canvas/popover-state.ts +1 -2
- package/src/canvas/serialize-scope.ts +13 -5
- package/src/canvas/stage-scrollbar.ts +2 -1
- package/src/canvas/surface-registry.ts +21 -3
- package/src/collab/collab-commands.ts +7 -2
- package/src/collab/collab-session.ts +84 -45
- package/src/collab/collab-state.ts +4 -3
- package/src/collab/monaco-binding.ts +16 -13
- package/src/collab/monaco-cursors.ts +5 -2
- package/src/commands/budget.ts +3 -3
- package/src/commands/command-args.ts +103 -71
- package/src/commands/context.ts +22 -20
- package/src/commands/keymap.ts +47 -43
- package/src/commands/levels.ts +3 -3
- package/src/commands/live-context.ts +7 -7
- package/src/commands/reference.ts +2 -1
- package/src/commands/registry.ts +12 -10
- package/src/commands/run-reported.ts +15 -10
- package/src/component-props.ts +46 -30
- package/src/content/collection-match.ts +5 -4
- package/src/content/draft-state.ts +4 -3
- package/src/content/entry-commands.ts +3 -2
- package/src/content/entry-editor.ts +29 -17
- package/src/content/entry-fields.ts +12 -7
- package/src/content/entry-model.ts +21 -12
- package/src/editor/canvas-context-menu.ts +1 -2
- package/src/editor/canvas-slash-bridge.ts +3 -6
- package/src/editor/content-slice.ts +16 -14
- package/src/editor/context-menu.ts +35 -22
- package/src/editor/convert-targets.ts +30 -35
- package/src/editor/convert-to-component.ts +11 -5
- package/src/editor/convert-to-repeater.ts +34 -22
- package/src/editor/editable-tags.ts +17 -2
- package/src/editor/file-drop-action.ts +21 -22
- package/src/editor/inline-edit-apply.ts +35 -17
- package/src/editor/inline-edit.ts +66 -50
- package/src/editor/inline-format.ts +59 -56
- package/src/editor/inline-link.ts +40 -15
- package/src/editor/insert-zone-action.ts +1 -1
- package/src/editor/merge-tags.ts +58 -19
- package/src/editor/repeater-scope.ts +39 -28
- package/src/editor/shortcuts.ts +32 -20
- package/src/editor/slash-menu.ts +1 -6
- package/src/files/asset-versions.ts +4 -4
- package/src/files/components.ts +15 -10
- package/src/files/elements.ts +5 -6
- package/src/files/file-ops.ts +77 -36
- package/src/files/files.ts +90 -95
- package/src/files/media-meta.ts +2 -1
- package/src/files/media-paths.ts +3 -0
- package/src/files/serialize-document.ts +2 -2
- package/src/format/constraints.ts +1 -1
- package/src/format/convert-file.ts +27 -13
- package/src/format/format-choices.ts +2 -1
- package/src/format/format-host.ts +76 -50
- package/src/github/github-auth-status.ts +27 -3
- package/src/github/github-auth.ts +19 -9
- package/src/github/github-publish.ts +24 -20
- package/src/grid/cell-editors.ts +46 -31
- package/src/grid/cell-popovers.ts +5 -3
- package/src/grid/edit-buffer.ts +10 -9
- package/src/grid/grid-controller.ts +20 -22
- package/src/grid/grid-layout.ts +21 -5
- package/src/grid/grid-open.ts +3 -6
- package/src/grid/grid-panel.ts +11 -4
- package/src/grid/grid-source.ts +8 -8
- package/src/grid/grid-view.ts +14 -17
- package/src/grid/redirects-grid.ts +14 -5
- package/src/grid/redirects.ts +16 -14
- package/src/grid/schema-columns.ts +25 -19
- package/src/grid/sources/connector-source.ts +47 -20
- package/src/grid/sources/content-source.ts +25 -24
- package/src/grid/sources/csv-file-source.ts +2 -2
- package/src/grid/tabulator-tables.d.ts +55 -34
- package/src/hosting/stage.ts +7 -7
- package/src/i18n/i18n-commands.ts +1 -2
- package/src/media/media-pane.ts +4 -1
- package/src/new-project/add-repo-modal.ts +20 -19
- package/src/new-project/import-tab.ts +10 -14
- package/src/new-project/location-fields.ts +2 -1
- package/src/new-project/new-project-modal.ts +12 -9
- package/src/packages/jxsuite-update.ts +4 -3
- package/src/packages/pull-package-sync.ts +26 -25
- package/src/page-params.ts +97 -68
- package/src/panels/activity-panel.ts +17 -9
- package/src/panels/ai-chat/attached-context.ts +13 -7
- package/src/panels/ai-chat/chat-view.ts +80 -73
- package/src/panels/ai-chat/composer.ts +30 -33
- package/src/panels/ai-chat/sessions-view.ts +1 -2
- package/src/panels/ai-panel.ts +23 -20
- package/src/panels/block-action-bar.ts +46 -35
- package/src/panels/bottom-dock.ts +5 -3
- package/src/panels/canvas-dnd-bridge.ts +31 -24
- package/src/panels/data-explorer.ts +62 -25
- package/src/panels/data-grid.ts +14 -11
- package/src/panels/dnd.ts +108 -118
- package/src/panels/editors.ts +52 -21
- package/src/panels/elements-panel.ts +10 -3
- package/src/panels/events-panel.ts +84 -69
- package/src/panels/formula-workspace.ts +76 -51
- package/src/panels/frontmatter-fields.ts +24 -19
- package/src/panels/frontmatter-panel.ts +44 -34
- package/src/panels/git-diff-open.ts +4 -4
- package/src/panels/git-panel.ts +49 -61
- package/src/panels/head-panel.ts +131 -111
- package/src/panels/i18n-panel.ts +10 -3
- package/src/panels/imports-panel.ts +23 -47
- package/src/panels/jump-bar.ts +48 -29
- package/src/panels/layers-panel.ts +97 -74
- package/src/panels/left-panel.ts +3 -3
- package/src/panels/pane-context.ts +31 -22
- package/src/panels/pane-grid.ts +49 -20
- package/src/panels/panel-registry.ts +22 -37
- package/src/panels/properties-panel.ts +175 -121
- package/src/panels/quick-search.ts +53 -31
- package/src/panels/right-panel.ts +3 -3
- package/src/panels/seo-modal.ts +13 -17
- package/src/panels/settings-menu.ts +15 -15
- package/src/panels/signals-panel.ts +153 -131
- package/src/panels/statement-editor.ts +230 -140
- package/src/panels/style-panel.ts +218 -205
- package/src/panels/style-utils.ts +114 -51
- package/src/panels/stylebook-doc.ts +57 -54
- package/src/panels/stylebook-layers-panel.ts +9 -9
- package/src/panels/stylebook-panel.ts +13 -17
- package/src/panels/tab-drop.ts +27 -11
- package/src/panels/tab-strip.ts +36 -26
- package/src/platform-errors.ts +57 -43
- package/src/platform.ts +58 -30
- package/src/platforms/cloud.ts +345 -175
- package/src/platforms/default-platform.ts +10 -4
- package/src/platforms/devserver.ts +129 -117
- package/src/platforms/read-batcher.ts +16 -8
- package/src/project-list.ts +2 -1
- package/src/publish/deploy-checklist.ts +8 -2
- package/src/publish/pages-service.ts +28 -13
- package/src/publish/publish-commands.ts +5 -4
- package/src/publish/publish-panel.ts +10 -6
- package/src/recent-projects.ts +15 -8
- package/src/resize-edges.ts +26 -36
- package/src/services/a11y-report.ts +26 -19
- package/src/services/agent-seed.ts +23 -11
- package/src/services/ai-ask.ts +9 -12
- package/src/services/ai-command-tools.ts +68 -62
- package/src/services/ai-import-tools.ts +80 -67
- package/src/services/ai-models.ts +17 -13
- package/src/services/ai-project-tools.ts +68 -32
- package/src/services/ai-session-store.ts +19 -10
- package/src/services/ai-system-prompt.ts +46 -20
- package/src/services/ai-tools.ts +71 -27
- package/src/services/ai-write-report.ts +20 -12
- package/src/services/ai-writes.ts +4 -4
- package/src/services/automation.ts +58 -31
- package/src/services/cem-export.ts +149 -58
- package/src/services/clock.ts +6 -1
- package/src/services/code-services.ts +37 -31
- package/src/services/context-manager.ts +14 -10
- package/src/services/context-resolver.ts +20 -8
- package/src/services/data-service.ts +19 -15
- package/src/services/directory-picker.ts +18 -12
- package/src/services/document-assistant.ts +39 -19
- package/src/services/gated-registry.ts +10 -6
- package/src/services/harness/chat-reducer.ts +23 -1
- package/src/services/import-client.ts +91 -38
- package/src/services/import-seed.ts +8 -2
- package/src/services/jx-validate.ts +28 -31
- package/src/services/live-preview.ts +0 -0
- package/src/services/live-surfaces.ts +6 -3
- package/src/services/model-uri.ts +10 -2
- package/src/services/module-preloads.ts +12 -8
- package/src/services/monaco-buffer.ts +43 -24
- package/src/services/monaco-lazy.ts +7 -8
- package/src/services/monaco-setup.ts +23 -16
- package/src/services/notify.ts +44 -17
- package/src/services/popover-report.ts +25 -10
- package/src/services/preview-eval.ts +20 -8
- package/src/services/profile.ts +13 -6
- package/src/services/project-path.ts +13 -10
- package/src/services/references.ts +0 -0
- package/src/services/render-critic.ts +8 -7
- package/src/services/settings/kernel.ts +13 -4
- package/src/services/settings/write-queue.ts +9 -9
- package/src/services/token-lint.ts +12 -10
- package/src/services/tool-executor.ts +17 -5
- package/src/services/tool-outcomes.ts +44 -24
- package/src/services/trusted-types.ts +24 -7
- package/src/settings/contexts-section.ts +11 -8
- package/src/settings/contributed-section.ts +79 -60
- package/src/settings/css-vars-editor.ts +37 -16
- package/src/settings/defs-editor.ts +38 -35
- package/src/settings/extension-rows.ts +16 -8
- package/src/settings/extension-sections.ts +23 -13
- package/src/settings/extensions-section.ts +4 -1
- package/src/settings/general-settings.ts +11 -8
- package/src/settings/locales-section.ts +20 -12
- package/src/settings/preferences-dialog.ts +9 -6
- package/src/settings/preferences-keymap.ts +7 -5
- package/src/settings/preferences-sections.ts +11 -5
- package/src/settings/project-sections.ts +1 -1
- package/src/settings/schema-field-ui.ts +9 -0
- package/src/settings/settings-document.ts +5 -5
- package/src/shell/tree.ts +6 -5
- package/src/shell.ts +104 -81
- package/src/site-context.ts +37 -22
- package/src/state.ts +41 -49
- package/src/store.ts +54 -34
- package/src/studio.ts +25 -75
- package/src/style/live-preview.ts +1 -1
- package/src/style/project-styles.ts +6 -7
- package/src/style/token-ref.ts +5 -4
- package/src/surfaces/about.ts +18 -19
- package/src/surfaces/add-repo.ts +17 -19
- package/src/surfaces/ai-chat.ts +31 -36
- package/src/surfaces/ai-credentials-form.ts +6 -16
- package/src/surfaces/ai-managed-connect.ts +3 -4
- package/src/surfaces/ai-model-picker.ts +3 -5
- package/src/surfaces/block-action-bar.ts +22 -11
- package/src/surfaces/boot-failure.ts +4 -5
- package/src/surfaces/bottom-dock.ts +9 -18
- package/src/surfaces/canvas-stage.ts +12 -11
- package/src/surfaces/cf-account-picker.ts +17 -18
- package/src/surfaces/commandbar.ts +14 -9
- package/src/surfaces/convert-repeater.ts +17 -19
- package/src/surfaces/data-actions.ts +9 -7
- package/src/surfaces/dialog.ts +26 -28
- package/src/surfaces/diff-toolbar.ts +9 -7
- package/src/surfaces/doc-header.ts +10 -19
- package/src/surfaces/empty-state.ts +7 -10
- package/src/surfaces/entry-editor.ts +14 -11
- package/src/surfaces/expression-editor.ts +11 -25
- package/src/surfaces/files-panel.ts +27 -14
- package/src/surfaces/formula-palette.ts +4 -5
- package/src/surfaces/git-panel.ts +7 -15
- package/src/surfaces/github-auth.ts +16 -20
- package/src/surfaces/github-publish.ts +17 -22
- package/src/surfaces/grid-cell.ts +30 -31
- package/src/surfaces/grid-open.ts +10 -14
- package/src/surfaces/grid-panel.ts +13 -9
- package/src/surfaces/grid-replace.ts +13 -13
- package/src/surfaces/grid-views.ts +15 -18
- package/src/surfaces/inspector-dock.ts +13 -12
- package/src/surfaces/jump-bar.ts +5 -6
- package/src/surfaces/jxsuite-update.ts +16 -22
- package/src/surfaces/library-pane.ts +19 -20
- package/src/surfaces/logic-panel.ts +17 -30
- package/src/surfaces/logic-workspace.ts +13 -15
- package/src/surfaces/media-browser.ts +11 -10
- package/src/surfaces/media-field.ts +4 -5
- package/src/surfaces/media-pane.ts +8 -7
- package/src/surfaces/menu.ts +29 -23
- package/src/surfaces/navigator-dock.ts +11 -12
- package/src/surfaces/new-project.ts +27 -26
- package/src/surfaces/pane-context.ts +20 -25
- package/src/surfaces/pane-grid.ts +15 -10
- package/src/surfaces/panel-activity.ts +5 -6
- package/src/surfaces/panel-data.ts +3 -4
- package/src/surfaces/panel-deploy-checklist.ts +5 -6
- package/src/surfaces/panel-elements.ts +5 -7
- package/src/surfaces/panel-i18n.ts +5 -7
- package/src/surfaces/panel-imports.ts +6 -13
- package/src/surfaces/panel-outline.ts +25 -19
- package/src/surfaces/panel-page.ts +11 -18
- package/src/surfaces/panel-problems.ts +5 -7
- package/src/surfaces/panel-signals.ts +20 -34
- package/src/surfaces/panel-stylebook-layers.ts +5 -8
- package/src/surfaces/preferences.ts +21 -11
- package/src/surfaces/progress-modal.ts +15 -9
- package/src/surfaces/properties-panel.json +1 -1
- package/src/surfaces/properties-panel.ts +20 -42
- package/src/surfaces/publish.ts +18 -18
- package/src/surfaces/push-plan.ts +7 -8
- package/src/surfaces/rail.ts +13 -13
- package/src/surfaces/reference-field.ts +11 -15
- package/src/surfaces/schema-builder.ts +16 -22
- package/src/surfaces/schema-form.ts +15 -25
- package/src/surfaces/secret-field.ts +9 -6
- package/src/surfaces/seo.ts +21 -15
- package/src/surfaces/settings-contexts.ts +9 -7
- package/src/surfaces/settings-contributed.ts +14 -10
- package/src/surfaces/settings-css-vars.ts +5 -12
- package/src/surfaces/settings-defs.json +2 -2
- package/src/surfaces/settings-defs.ts +17 -21
- package/src/surfaces/settings-deploy.ts +8 -15
- package/src/surfaces/settings-extensions.ts +5 -6
- package/src/surfaces/settings-head.ts +33 -39
- package/src/surfaces/settings-locales.ts +8 -20
- package/src/surfaces/settings-overview.ts +5 -6
- package/src/surfaces/settings-packages.ts +8 -7
- package/src/surfaces/settings-pane.ts +9 -18
- package/src/surfaces/settings-rawjson.ts +5 -6
- package/src/surfaces/shell.ts +1 -2
- package/src/surfaces/slash-menu.ts +19 -9
- package/src/surfaces/statements.ts +13 -18
- package/src/surfaces/statusbar.ts +17 -14
- package/src/surfaces/style-panel.ts +18 -31
- package/src/surfaces/stylebook-chrome.ts +3 -5
- package/src/surfaces/tab-strip.ts +14 -13
- package/src/surfaces/target-line.ts +6 -7
- package/src/surfaces/welcome.ts +5 -7
- package/src/tabs/patch-ops.ts +4 -3
- package/src/tabs/project-config.ts +32 -21
- package/src/tabs/selection.ts +36 -8
- package/src/tabs/tab.ts +52 -41
- package/src/tabs/transact.ts +98 -53
- package/src/types.ts +32 -17
- package/src/ui/ai-credentials-form.ts +10 -13
- package/src/ui/ai-model-picker.ts +3 -3
- package/src/ui/cf-account-picker.ts +7 -9
- package/src/ui/color-selector.ts +9 -5
- package/src/ui/dynamic-slot.ts +7 -8
- package/src/ui/expression-editor.ts +112 -105
- package/src/ui/form-controls.ts +57 -48
- package/src/ui/formula-catalog.ts +239 -230
- package/src/ui/formula-chips.ts +33 -18
- package/src/ui/layers.ts +44 -31
- package/src/ui/media-picker.ts +18 -9
- package/src/ui/popover-surface.ts +20 -12
- package/src/ui/progress-modal.ts +13 -8
- package/src/ui/regions.ts +7 -6
- package/src/ui/schema-form.ts +113 -70
- package/src/ui/surface.ts +71 -8
- package/src/ui/timing.ts +9 -0
- package/src/ui/value-source.ts +44 -31
- package/src/ui/virtual-window.ts +3 -2
- package/src/utils/base64.ts +3 -1
- package/src/utils/edit-display.ts +73 -73
- package/src/utils/element-selectors.ts +3 -2
- package/src/utils/google-fonts.ts +15 -14
- package/src/utils/inherited-style.ts +18 -20
- package/src/utils/link-target.ts +1 -1
- package/src/utils/preview-format.ts +25 -3
- package/src/utils/strip-events.ts +49 -22
- package/src/utils/studio-utils.ts +29 -14
- package/src/view.ts +2 -3
- package/src/workspace/pane-derive.ts +10 -12
- package/src/workspace/session.ts +53 -43
- package/src/workspace/workspace.ts +40 -36
- package/dist/chunks/adapter-f93pafd7.js +0 -4
- package/dist/chunks/cf-account-picker-af1h381v.js +0 -4
- package/dist/chunks/cf-settings-125tdm0w.js +0 -4
- package/dist/chunks/color-area-jqhna8zy.js +0 -4
- package/dist/chunks/color-field-embq5ctg.js +0 -4
- package/dist/chunks/color-fpezvnkt.js +0 -4
- package/dist/chunks/color-slider-1qmw7wqy.js +0 -4
- package/dist/chunks/combobox-773hdzyj.js +0 -4
- package/dist/chunks/components-ax2f1fnn.js +0 -4
- package/dist/chunks/content-source-108aqtk1.js +0 -4
- package/dist/chunks/convert-to-repeater-ry5rmppr.js +0 -4
- package/dist/chunks/dialog-mtm9fq5t.js +0 -4
- package/dist/chunks/editor-pfgdmkb0.js +0 -4
- package/dist/chunks/entry-commands-t0k1q0kx.js +0 -4
- package/dist/chunks/extension-sections-6mwh2hf8.js +0 -4
- package/dist/chunks/file-ops-meej5mqf.js +0 -4
- package/dist/chunks/files-44vp8a2s.js +0 -4
- package/dist/chunks/format-host-7q1petb9.js +0 -4
- package/dist/chunks/fs-events-h2mwnxaz.js +0 -4
- package/dist/chunks/git-panel-zngbymvd.js +0 -4
- package/dist/chunks/grid-view-sx9vynsp.js +0 -51
- package/dist/chunks/icons-p44xhjf0.js +0 -4
- package/dist/chunks/iframe-entry-f7mqjwpm.js +0 -5
- package/dist/chunks/iframe-entry-haw7jkvz.js +0 -5
- package/dist/chunks/iframe-entry-z6qrytv3.js +0 -5
- package/dist/chunks/iframe-host-qk3ycq87.js +0 -4
- package/dist/chunks/index-wkyfjeqz.js +0 -4
- package/dist/chunks/jx-validate-psgd7vsx.js +0 -4
- package/dist/chunks/layers-panel-1kq2jyfk.js +0 -4
- package/dist/chunks/layers-xd92fg8d.js +0 -4
- package/dist/chunks/listbox-s8fkmnq8.js +0 -4
- package/dist/chunks/lit-html-ac4cwwr4.js +0 -4
- package/dist/chunks/media-picker-0svzkdyb.js +0 -4
- package/dist/chunks/menu-37d07z9m.js +0 -4
- package/dist/chunks/menu-5c55ea3d.js +0 -4
- package/dist/chunks/monaco-binding-z6r70pdt.js +0 -4
- package/dist/chunks/monaco-buffer-fz6gq5y7.js +0 -4
- package/dist/chunks/monaco-setup-q4axkgj7.js +0 -4
- package/dist/chunks/notify-0xgtn8q1.js +0 -4
- package/dist/chunks/number-field-gw7sq8rn.js +0 -4
- package/dist/chunks/parse-897fvqah.js +0 -4
- package/dist/chunks/platform-v1qctbe6.js +0 -4
- package/dist/chunks/popover-8htra4er.js +0 -4
- package/dist/chunks/publish-panel-ym1fmgq5.js +0 -4
- package/dist/chunks/quick-search-a54e6t5n.js +0 -4
- package/dist/chunks/references-gmqp82fs.js +0 -4
- package/dist/chunks/right-panel-v7t9awbk.js +0 -4
- package/dist/chunks/section-registry-vhyf3zsr.js +0 -4
- package/dist/chunks/select-n3v7gwas.js +0 -4
- package/dist/chunks/split-pff8f3ze.js +0 -4
- package/dist/chunks/studio-0bhx5hz6.js +0 -5
- package/dist/chunks/studio-0k1ddnyy.js +0 -6
- package/dist/chunks/studio-1b04pd0j.js +0 -64
- package/dist/chunks/studio-4dwbj6gb.js +0 -5
- package/dist/chunks/studio-4tanh828.js +0 -5
- package/dist/chunks/studio-55h4mstj.js +0 -4
- package/dist/chunks/studio-5tnvjkz4.js +0 -5
- package/dist/chunks/studio-60dqgb0c.js +0 -5
- package/dist/chunks/studio-61dp09qg.js +0 -9
- package/dist/chunks/studio-63epcrj2.js +0 -5
- package/dist/chunks/studio-74k29dy9.js +0 -5
- package/dist/chunks/studio-7vg6jcd3.js +0 -5
- package/dist/chunks/studio-7zx31knw.js +0 -9
- package/dist/chunks/studio-8bxk97km.js +0 -5
- package/dist/chunks/studio-933e30n4.js +0 -5
- package/dist/chunks/studio-98wnwhbg.js +0 -5
- package/dist/chunks/studio-9mccjwjh.js +0 -14
- package/dist/chunks/studio-a2ke1e4t.js +0 -5
- package/dist/chunks/studio-e3a2a6v3.js +0 -4
- package/dist/chunks/studio-e81q1vb9.js +0 -5
- package/dist/chunks/studio-epgrmqqm.js +0 -5
- package/dist/chunks/studio-ery42sqr.js +0 -4
- package/dist/chunks/studio-g1shz58g.js +0 -5
- package/dist/chunks/studio-gf0fz03c.js +0 -5
- package/dist/chunks/studio-gjtpe62q.js +0 -6
- package/dist/chunks/studio-gkskhg7m.js +0 -5
- package/dist/chunks/studio-gx4dnjzd.js +0 -5
- package/dist/chunks/studio-j03zga3y.js +0 -9
- package/dist/chunks/studio-jhpxeckz.js +0 -5
- package/dist/chunks/studio-k01r7ykp.js +0 -5
- package/dist/chunks/studio-kk7h30ne.js +0 -7
- package/dist/chunks/studio-kt1zqney.js +0 -5
- package/dist/chunks/studio-m3cwhvye.js +0 -5
- package/dist/chunks/studio-mcayt6hz.js +0 -5
- package/dist/chunks/studio-myjcghv3.js +0 -5
- package/dist/chunks/studio-n8bxwc3y.js +0 -4
- package/dist/chunks/studio-ngm8gvpb.js +0 -5
- package/dist/chunks/studio-nj5a01jy.js +0 -928
- package/dist/chunks/studio-pcgz8heb.js +0 -5
- package/dist/chunks/studio-qcsq0t15.js +0 -5
- package/dist/chunks/studio-qkstvve9.js +0 -5
- package/dist/chunks/studio-qv1pwd3c.js +0 -5
- package/dist/chunks/studio-rc6dvxjb.js +0 -7
- package/dist/chunks/studio-s8dmmz66.js +0 -5
- package/dist/chunks/studio-sp5xzbj4.js +0 -6
- package/dist/chunks/studio-szsjbj0g.js +0 -5
- package/dist/chunks/studio-t1xzawhr.js +0 -16
- package/dist/chunks/studio-t6b6qe31.js +0 -5
- package/dist/chunks/studio-tdcprbqb.js +0 -5
- package/dist/chunks/studio-vyc0b4he.js +0 -10
- package/dist/chunks/studio-w0cgf6jg.js +0 -5
- package/dist/chunks/studio-w3hskzqk.js +0 -5
- package/dist/chunks/studio-xgrgcdyh.js +0 -9
- package/dist/chunks/studio-xz2yxfcb.js +0 -5
- package/dist/chunks/studio-y6n42tgs.js +0 -5
- package/dist/chunks/studio-yb560vxr.js +0 -5
- package/dist/chunks/studio-yn9f8vtx.js +0 -5
- package/dist/chunks/studio-yw05w8f0.js +0 -7
- package/dist/chunks/studio-z16sgavc.js +0 -5
- package/dist/chunks/studio-zyqn40w4.js +0 -5
- package/dist/chunks/swatch-group-8qh9a3bm.js +0 -4
- package/dist/chunks/tabs-jwthg40w.js +0 -4
- package/dist/chunks/textfield-spy3hc77.js +0 -4
- package/dist/chunks/toast-4d35zd64.js +0 -4
- package/dist/chunks/toast-host-8sjmfed3.js +0 -4
- package/dist/chunks/tooltip-fd6g9xy3.js +0 -4
- package/dist/chunks/tree-h19v1jfz.js +0 -4
- package/dist/chunks/workspace-zt81g1ms.js +0 -4
- package/dist/chunks/ws-client-n2bh4hkf.js +0 -4
|
@@ -19,7 +19,8 @@ import type { JsonLayout } from "@jxsuite/schema/json-layout";
|
|
|
19
19
|
import type { ComponentEntry } from "../files/components";
|
|
20
20
|
import type { AnyCommand, CommandRegistry } from "../commands/registry";
|
|
21
21
|
import type { GitDiffState } from "../types";
|
|
22
|
-
import type { JxMutableNode, JxStyle } from "@jxsuite/schema/types";
|
|
22
|
+
import type { JxMutableNode, JxStyle, ProjectConfig } from "@jxsuite/schema/types";
|
|
23
|
+
import type { FormatFrontmatter } from "../format/format-host";
|
|
23
24
|
import type { ComputedRef } from "@vue/reactivity";
|
|
24
25
|
|
|
25
26
|
interface FileEntry {
|
|
@@ -169,7 +170,7 @@ export const MAX_PANES = 2;
|
|
|
169
170
|
|
|
170
171
|
export interface Workspace {
|
|
171
172
|
projectRoot: string | null;
|
|
172
|
-
projectConfig:
|
|
173
|
+
projectConfig: ProjectConfig | null;
|
|
173
174
|
componentRegistry: ComponentEntry[];
|
|
174
175
|
clipboard: JxMutableNode | null;
|
|
175
176
|
styleClipboard: JxStyle | null;
|
|
@@ -205,31 +206,36 @@ export interface Workspace {
|
|
|
205
206
|
readonly activeTabId: string | null;
|
|
206
207
|
}
|
|
207
208
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
209
|
+
/*
|
|
210
|
+
* SAFETY: `reactive()` returns a deep proxy carrying its target's own members (the two getters
|
|
211
|
+
* included, read through the proxy as receiver), and the literal is checked against Workspace by
|
|
212
|
+
* `satisfies` and holds no refs for `UnwrapNestedRefs` to unwrap, so the proxy IS a Workspace. The
|
|
213
|
+
* type argument is pinned to `object` because `UnwrapNestedRefs<Workspace>` recurses through the
|
|
214
|
+
* document types deeply enough for tsc to give up (TS2589); the proxy is deep either way.
|
|
215
|
+
*/
|
|
216
|
+
export const workspace = reactive<object>({
|
|
211
217
|
activePaneId: PRIMARY_PANE,
|
|
212
|
-
clipboard: null
|
|
213
|
-
closedTabs: []
|
|
214
|
-
componentRegistry: []
|
|
215
|
-
mruOrder: []
|
|
218
|
+
clipboard: null,
|
|
219
|
+
closedTabs: [],
|
|
220
|
+
componentRegistry: [],
|
|
221
|
+
mruOrder: [],
|
|
216
222
|
fileTree: {
|
|
217
223
|
dirs: new Map<string, FileEntry[]>(),
|
|
218
224
|
expanded: new Set<string>(),
|
|
219
225
|
searchQuery: "",
|
|
220
|
-
selectedPath: null
|
|
226
|
+
selectedPath: null,
|
|
221
227
|
},
|
|
222
228
|
panes: [
|
|
223
229
|
{
|
|
224
|
-
activeTabId: null
|
|
225
|
-
derived: null
|
|
230
|
+
activeTabId: null,
|
|
231
|
+
derived: null,
|
|
226
232
|
id: PRIMARY_PANE,
|
|
227
|
-
tabOrder: []
|
|
233
|
+
tabOrder: [],
|
|
228
234
|
},
|
|
229
235
|
],
|
|
230
|
-
projectConfig: null
|
|
231
|
-
projectRoot: null
|
|
232
|
-
styleClipboard: null
|
|
236
|
+
projectConfig: null,
|
|
237
|
+
projectRoot: null,
|
|
238
|
+
styleClipboard: null,
|
|
233
239
|
tabs: new Map<string, Tab>(),
|
|
234
240
|
ui: {
|
|
235
241
|
activityBar: "files",
|
|
@@ -255,11 +261,11 @@ export const workspace: Workspace = reactive({
|
|
|
255
261
|
get tabOrder(): readonly string[] {
|
|
256
262
|
return activePane().tabOrder;
|
|
257
263
|
},
|
|
258
|
-
}
|
|
264
|
+
} satisfies Workspace) as Workspace;
|
|
259
265
|
|
|
260
|
-
export const activeTab = computed(() =>
|
|
266
|
+
export const activeTab: ComputedRef<Tab | null> = computed(() =>
|
|
261
267
|
workspace.activeTabId ? (workspace.tabs.get(workspace.activeTabId) ?? null) : null,
|
|
262
|
-
)
|
|
268
|
+
);
|
|
263
269
|
|
|
264
270
|
// ─── Panes ────────────────────────────────────────────────────────────────────
|
|
265
271
|
|
|
@@ -514,10 +520,10 @@ function addPane(paneId: string): Pane {
|
|
|
514
520
|
workspace.panes = [
|
|
515
521
|
...workspace.panes,
|
|
516
522
|
{
|
|
517
|
-
activeTabId: null
|
|
518
|
-
derived: null
|
|
523
|
+
activeTabId: null,
|
|
524
|
+
derived: null,
|
|
519
525
|
id: paneId,
|
|
520
|
-
tabOrder: []
|
|
526
|
+
tabOrder: [],
|
|
521
527
|
},
|
|
522
528
|
];
|
|
523
529
|
return paneById(paneId)!;
|
|
@@ -695,9 +701,9 @@ function defaultSlot(pane: Pane, tabId: string): number {
|
|
|
695
701
|
* project context, and the chat panel's pending-prompt effect.
|
|
696
702
|
*
|
|
697
703
|
* @param {string | null} root
|
|
698
|
-
* @param {
|
|
704
|
+
* @param {ProjectConfig | null} [config]
|
|
699
705
|
*/
|
|
700
|
-
export function setWorkspaceProject(root: string | null, config:
|
|
706
|
+
export function setWorkspaceProject(root: string | null, config: ProjectConfig | null = null) {
|
|
701
707
|
/* Leaving a project drops the assistant's record of what each turn changed (ai.md §3.2). It
|
|
702
708
|
names project-relative paths, and its Restore undoes the active tab, so carried into another
|
|
703
709
|
project it would list files that are not there and undo a document the turn never touched.
|
|
@@ -717,9 +723,7 @@ export function setWorkspaceProject(root: string | null, config: object | null =
|
|
|
717
723
|
*/
|
|
718
724
|
export function isTabActive(tab: Tab | null): boolean {
|
|
719
725
|
const active = activeTab.value;
|
|
720
|
-
return (
|
|
721
|
-
tab !== null && active !== null && toRaw(active as object) === toRaw(tab as unknown as object)
|
|
722
|
-
);
|
|
726
|
+
return tab !== null && active !== null && toRaw(active) === toRaw(tab);
|
|
723
727
|
}
|
|
724
728
|
|
|
725
729
|
/**
|
|
@@ -741,7 +745,7 @@ export function tabIsLive(tab: Tab | null | undefined): boolean {
|
|
|
741
745
|
return false;
|
|
742
746
|
}
|
|
743
747
|
const held = workspace.tabs.get(tab.id);
|
|
744
|
-
return held !== undefined && toRaw(held
|
|
748
|
+
return held !== undefined && toRaw(held) === toRaw(tab);
|
|
745
749
|
}
|
|
746
750
|
|
|
747
751
|
/**
|
|
@@ -849,8 +853,8 @@ function setActiveTab(tabId: string, opts: { cycling?: boolean; focus?: boolean
|
|
|
849
853
|
* id: string;
|
|
850
854
|
* documentPath?: string | null;
|
|
851
855
|
* fileHandle?: FileSystemFileHandle | null;
|
|
852
|
-
* document:
|
|
853
|
-
* frontmatter?:
|
|
856
|
+
* document: JxMutableNode;
|
|
857
|
+
* frontmatter?: FormatFrontmatter;
|
|
854
858
|
* sourceFormat?: string | null;
|
|
855
859
|
* capabilities?: { modes?: string[] };
|
|
856
860
|
* openedFrom?: TabOrigin | null;
|
|
@@ -865,8 +869,8 @@ export function openTab(opts: {
|
|
|
865
869
|
id: string;
|
|
866
870
|
documentPath?: string | null;
|
|
867
871
|
fileHandle?: FileSystemFileHandle | null;
|
|
868
|
-
document:
|
|
869
|
-
frontmatter?:
|
|
872
|
+
document: JxMutableNode;
|
|
873
|
+
frontmatter?: FormatFrontmatter;
|
|
870
874
|
sourceFormat?: string | null;
|
|
871
875
|
capabilities?: { modes?: string[] };
|
|
872
876
|
openedFrom?: TabOrigin | null;
|
|
@@ -1169,8 +1173,8 @@ export function endTabCycle() {
|
|
|
1169
1173
|
* @param {{
|
|
1170
1174
|
* id: string;
|
|
1171
1175
|
* documentPath?: string | null;
|
|
1172
|
-
* document:
|
|
1173
|
-
* frontmatter?:
|
|
1176
|
+
* document: JxMutableNode;
|
|
1177
|
+
* frontmatter?: FormatFrontmatter;
|
|
1174
1178
|
* sourceFormat?: string | null;
|
|
1175
1179
|
* }} newTabOpts
|
|
1176
1180
|
* @returns {import("../tabs/tab.js").Tab}
|
|
@@ -1178,8 +1182,8 @@ export function endTabCycle() {
|
|
|
1178
1182
|
export function replaceAllTabs(newTabOpts: {
|
|
1179
1183
|
id: string;
|
|
1180
1184
|
documentPath?: string | null;
|
|
1181
|
-
document:
|
|
1182
|
-
frontmatter?:
|
|
1185
|
+
document: JxMutableNode;
|
|
1186
|
+
frontmatter?: FormatFrontmatter;
|
|
1183
1187
|
sourceFormat?: string | null;
|
|
1184
1188
|
}) {
|
|
1185
1189
|
const oldIds = [...workspace.tabs.keys()];
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{p,Ve}from"./studio-xz2yxfcb.js";import"./studio-ery42sqr.js";import{y}from"./studio-55h4mstj.js";import"./studio-1q1sh2ax.js";import{pn,an}from"./studio-9mccjwjh.js";import"./studio-zyqn40w4.js";import{ot,zt,T,I,An,Ct}from"./studio-g1shz58g.js";import"./studio-vrmcjf9g.js";import"./studio-w0cgf6jg.js";import"./studio-933e30n4.js";import"./studio-tdcprbqb.js";import{sp}from"./studio-8bxk97km.js";var d={$schema:"https://jxsuite.com/schema/v1",$id:"StudioCfAccountPicker",$description:"The Cloudflare account picker: which of the accounts this grant reaches should publishing and the assistant run against. A `jx-dialog`, so the platform owns modality, Escape, focus restoration and the backdrop — which is what retired the `sp-dialog-wrapper` this surface used to open by hand, along with the focus trap and the `aria-modal` slot `showDialog` wrapped around it. There is no confirming button: each row commits itself, because a picker whose answer is one of N rows has N answers rather than one. The adapter (`surfaces/cf-account-picker.ts`) hands in rows that are already strings and booleans — nothing here knows what `cf_account_required` is, which call refused, or whether the list came back empty because the grant reaches nothing or because Cloudflare could not be reached.",tagName:"jx-dialog",$props:{headline:"Choose a Cloudflare account",confirmLabel:"",cancelLabel:"Cancel",size:"sm"},attributes:{part:"cf-accounts"},oncancel:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/closed"},value:[]}]},onclose:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/closed"},value:[]}]},style:{$description:"The picker's own look. Four `.cf-account-picker*` rules in `styles/shell.css` become the parts below and one of them does not come with them: `min-width: 320px` was this surface sizing its own box, and `jx-dialog` is what sizes a dialog now — `sm` is `min(90vw, 24rem)`, which is wider than the 320px it asked for. The row shape came from `.prefs-account`, which the lit template BORROWED from Preferences › Accounts; it is copied here rather than shared, because a class in a stylesheet is a thing two surfaces can drift apart on and `preferences-dialog.ts` still draws its own rows from it. Three token repairs travel with them: `--spectrum-font-size-75` and `--spectrum-font-size-50` resolve only inside `<sp-theme>`, and a document mounted in the dialog layer is outside it, so every one of them would silently have taken its hard-coded fallback.",'& [part="picker"]':{display:"flex",flexDirection:"column",gap:"var(--jx-space-4)"},'& [part="intro"], & [part="empty"]':{$description:"The lede and the two absences read as the same secondary line, so they are one rule: the sentence over the list and the sentence drawn instead of it are the same voice.",margin:"0",fontSize:"var(--jx-text-md)",color:"var(--fg-dim)"},'& [part="failure"]':{$description:'A commit the broker refused, said above the list the reader is still looking at. It is not an announcement of the same thing twice: the list survives a refusal, because listing again is not what would fix an account Cloudflare will not accept, so the reason has to sit beside the rows that are still on offer. It is `failure` rather than `error` because every kit field draws a permanent, empty `[part="error"]` of its own, and the kit is light DOM: a rule on that name here would reach any field this dialog ever holds.',margin:"0",fontSize:"var(--jx-text-md)",color:"var(--danger)"},'& [part="fail"]':{$description:"The one state that offers a verb of its own. Retrying is right for a listing that never landed and wrong for a grant that genuinely reaches nothing, so the button lives in this branch rather than under both.",display:"flex",flexDirection:"column",alignItems:"flex-start",gap:"var(--jx-space-3)"},'& [part="list"]':{display:"flex",flexDirection:"column",gap:"var(--jx-space-2)"},'& [part="row"]':{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"var(--jx-space-4)",padding:"var(--jx-space-3)",border:"1px solid var(--border)",borderRadius:"var(--radius)"},'& [part="text"]':{$description:"`min-width: 0` lets the column shrink below its content, so the name and id reflow inside the row instead of pushing its own button off the end of it; what lets them reflow is their own `overflow-wrap`. Nothing here ellipsizes. Unlike Preferences › Accounts, the row does not wrap its button onto a line of its own: in an `sm` dialog the arithmetic (a 120px basis, the gap and a 105px button against a 236px row) would wrap every row at rest.",display:"flex",flexDirection:"column",gap:"var(--jx-space-1)",minWidth:"0"},'& [part="name"]':{$description:"`overflow-wrap: anywhere` because Cloudflare names a new account after the email that opened it (`name@example.com's Account`), and an address has no break opportunity in it.",color:"var(--fg)",overflowWrap:"anywhere"},'& [part="detail"]':{$description:"The account id under the name. Two Cloudflare accounts may carry the same name and the id is what is stored, so the row shows both rather than the half a reader would have to guess from. `overflow-wrap: anywhere` because the id is 32 hex digits with no break opportunity: it measured 203px in a 119px column and ran under the row's own button. It reflows rather than ellipsizing, because the id is the half that tells two same-named accounts apart.",fontSize:"var(--jx-text-sm)",color:"var(--fg-dim)",overflowWrap:"anywhere"}},children:[{tagName:"div",attributes:{part:"picker"},children:[{tagName:"p",attributes:{part:"intro"},textContent:"Your Cloudflare login reaches more than one account. Publishing and the assistant both run against the one you pick; you can change it in Preferences › Accounts."},{tagName:"div",attributes:{part:"body-slot",role:"none"},style:{display:"contents"},$switch:{$ref:"#/state/listState"},cases:{loading:{tagName:"p",attributes:{part:"empty"},textContent:"Reading your Cloudflare accounts…"},empty:{tagName:"p",attributes:{part:"empty"},textContent:"This Cloudflare login reaches no accounts. Create one at dash.cloudflare.com, then try again."},failed:{tagName:"div",attributes:{part:"fail"},children:[{tagName:"p",attributes:{part:"empty"},textContent:"${state.failureMessage}"},{tagName:"jx-button",attributes:{part:"retry"},$props:{size:"sm"},onclick:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/retry"},value:[]}]},children:[{tagName:"span",textContent:"Try again"}]}]},listed:{tagName:"div",attributes:{part:"listed",role:"none"},style:{display:"contents"},children:[{tagName:"div",attributes:{part:"failure-slot",role:"none"},style:{display:"contents"},$switch:{$ref:"#/state/hasFailure"},cases:{true:{tagName:"p",attributes:{part:"failure"},textContent:"${state.failure}"}}},{tagName:"div",attributes:{part:"list"},children:[{$prototype:"Array",items:{$ref:"#/state/rows"},key:{$ref:"$map/item/id"},map:{tagName:"div",attributes:{part:"row","data-account":"${$map.item.id}"},children:[{tagName:"div",attributes:{part:"text"},children:[{tagName:"span",attributes:{part:"name"},textContent:"${$map.item.name}"},{tagName:"span",attributes:{part:"detail"},textContent:"${$map.item.id}"}]},{tagName:"jx-button",attributes:{part:"choose"},$props:{size:"sm",variant:"accent",disabled:{$ref:"$map/item/busy"}},onclick:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/choose"},value:[{$ref:"$map/item/id"}]}]},children:[{tagName:"span",textContent:"${$map.item.label}"}]}]}}]}]}}}]}]};T("cf-account-picker",d);function h(t){let a=t.choosing!=="";return{...t,failureMessage:`Cloudflare could not be reached: ${t.failure}`,hasFailure:t.failure!=="",listState:t.loading?"loading":t.accounts.length>0?"listed":t.failure!==""?"failed":"empty",rows:t.accounts.map((o)=>({busy:a,id:o.id,label:t.choosing===o.id?"Selecting…":"Use this account",name:o.name}))}}function f(t){let a=document.createElement("div");a.style.pointerEvents="auto",a.setAttribute(ot,zt("dialog","cf-accounts")),t.layer.append(a);let o=!1,i=()=>{if(o)return;o=!0,t.onClosed()},n=y({...h({accounts:[],choosing:"",failure:"",loading:!0}),choose:(e)=>{t.onChoose(e)},closed:i,retry:()=>{t.onRetry()}}),s=null,l=I("cf-account-picker",n,a).then(async(e)=>{s=e;let r=e.root;if(o)return e.dispose(),r;if(await An(r),o)return r;return pn(r),r});return{close(){if(o)return;let e=s?.root;if(e instanceof HTMLElement)an(e);s?.dispose(),s=null,a.remove(),i()},host:a,ready:l,update(e){Object.assign(n,h({accounts:e.accounts??n.accounts,choosing:e.choosing??n.choosing,failure:e.failure??n.failure,loading:e.loading??n.loading}))}}}function w(){if(!Ve())return!1;let t=p();return Boolean(t.cfAccounts&&t.cfSelectAccount)}function m(t){return t instanceof Error?t.message:String(t)}function D(){if(!w())return Promise.resolve(null);return new Promise((t)=>{let a=[],o="",i=!1,n=(e)=>{if(i)return;i=!0,c.close(),t(e)};async function s(){c.update({failure:"",loading:!0});let e="";try{a=await p().cfAccounts?.()??[]}catch(r){a=[],e=m(r)}if(i)return;c.update({accounts:a,failure:e,loading:!1})}async function l(e){let r=a.find((u)=>u.id===e);if(!r||o!=="")return;o=e,c.update({choosing:e,failure:""});try{await p().cfSelectAccount?.({id:r.id,name:r.name})}catch(u){if(o="",!i)c.update({choosing:"",failure:m(u)});return}sp(),n(r)}let c=f({layer:Ct("dialog"),onChoose:(e)=>{l(e)},onClosed:()=>{n(null)},onRetry:()=>{s()}});s()})}export{D as openCfAccountPicker};
|
|
2
|
-
|
|
3
|
-
//# debugId=1DE7924CC26B33BE64756E2164756E21
|
|
4
|
-
//# sourceMappingURL=cf-account-picker-af1h381v.js.map
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{Uf,K0,J0,RI,Y0}from"./studio-933e30n4.js";import"./studio-w0cgf6jg.js";import"./studio-xz2yxfcb.js";import"./studio-55h4mstj.js";export{Y0 as clearCfConnection,J0 as getCfAccountId,Uf as getCfToken,RI as setCfAccountId,K0 as setCfToken};
|
|
2
|
-
|
|
3
|
-
//# debugId=9C1935A9C04FF1C964756E2164756E21
|
|
4
|
-
//# sourceMappingURL=cf-settings-125tdm0w.js.map
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{i}from"./iframe-entry-z6qrytv3.js";var h="jx-color-area",d={x:"saturation",y:"brightness"},x={ArrowDown:"y",ArrowLeft:"x",ArrowRight:"x",ArrowUp:"y"},b={ArrowDown:-1,ArrowLeft:-1,ArrowRight:1,ArrowUp:1},l=new WeakSet;function a(e){let t=e.currentTarget;return t instanceof HTMLElement&&t.localName===h?t:null}function f(e){return e.querySelector('[part="track"]')}function p(e){if(!(e instanceof Element))return null;let t=e.getAttribute("part");return t==="x"||t==="y"?t:null}function g(e){let t=Number(e.step);return Number.isFinite(t)&&t>0?t:1}function u(e,...t){for(let r of t)e.dispatchEvent(new Event(r,{bubbles:!0}))}function s(e,t,r){let n=d[t],o=i(r,g(e),0,100);if(e[n]===o)return!1;return e[n]=o,!0}function y(e,t){let r=a(t),n=p(t.target);if(!r||!n)return;t.stopPropagation(),s(e,n,Number(t.target.value)),u(r,"input")}function w(e,t){let r=a(t),n=p(t.target);if(!r||!n)return;t.stopPropagation(),s(e,n,Number(t.target.value)),u(r,"change")}function S(e,t){let r=a(t),n=p(t.target);if(!r||!n||e.disabled===!0)return;let o=x[t.key];if(!o)return;if(o===n&&!t.shiftKey)return;t.preventDefault(),t.stopPropagation();let c=g(e)*(t.shiftKey?10:1)*(b[t.key]??0);if(s(e,o,Number(e[d[o]])+c))u(r,"input","change")}function A(e,t,r){let n=f(t);if(!n)return!1;let o=n.getBoundingClientRect();if(o.width<=0||o.height<=0)return!1;let c=s(e,"x",(r.clientX-o.left)/o.width*100),m=s(e,"y",(1-(r.clientY-o.top)/o.height)*100);return c||m}function C(e,t){let r=a(t);if(!r||e.disabled===!0)return;t.preventDefault(),l.add(r);let n=f(r);if(n&&typeof n.setPointerCapture==="function")try{n.setPointerCapture(t.pointerId)}catch{}if(r.querySelector('[part="x"]')?.focus(),A(e,r,t))u(r,"input")}function P(e,t){let r=a(t);if(!r||!l.has(r))return;if(A(e,r,t))u(r,"input")}function T(e,t){let r=a(t);if(!r||!l.delete(r))return;let n=f(r);if(n&&typeof n.releasePointerCapture==="function"&&n.hasPointerCapture?.(t.pointerId))n.releasePointerCapture(t.pointerId);u(r,"change")}export{w as onAreaAxisChange,y as onAreaAxisInput,S as onAreaKeydown,C as onAreaPointerDown,P as onAreaPointerMove,T as onAreaPointerUp};
|
|
2
|
-
|
|
3
|
-
//# debugId=D348F4E0A5F6C62464756E2164756E21
|
|
4
|
-
//# sourceMappingURL=color-area-jqhna8zy.js.map
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{r,s,u,h,g,b,f}from"./iframe-entry-z6qrytv3.js";import{t,n}from"./iframe-entry-f7mqjwpm.js";var F="jx-color-field",x=0,L=new WeakMap;function T(e){let o=e.currentTarget;return o instanceof HTMLElement&&o.localName===F?o:null}function S(e){let o=e.currentTarget??e.target;return o instanceof Element?o.closest(F):null}function H(e){return e.querySelector('[part="picker"]')}function M(e){return h({a:e.alpha===!0?Number(e.opacity)/100:1,h:Number(e.hue),s:Number(e.saturation),v:Number(e.brightness)})}function d(e,...o){for(let i of o)e.dispatchEvent(new Event(i,{bubbles:!0}))}function N(e,o){let i={...o,a:1};e.solid=s(i),e.ink=f(i)}function m(e){let o=M(e);e.value=e.format==="oklch"?b(g(o)):s(o),e.text=e.value,e.invalid=!1,N(e,o)}function y(e){let o=r(String(e.value??""))??r(String(e.resolved??""));if(e.invalid=!1,e.text=String(e.value??""),!o)return;if(N(e,o),s(o)===s(M(e)))return;let i=u(o);if(e.saturation=Number(i.s.toFixed(2)),e.brightness=Number(i.v.toFixed(2)),e.opacity=Number((i.a*100).toFixed(2)),i.s>0&&i.v>0)e.hue=Number(i.h.toFixed(2))}var k="[data-jx-channel]";function w(e){let{target:o}=e;return o instanceof Element?o.closest(k):null}function C(e,o,i){let l=T(o);if(!l||o.target===l)return;let a=w(o),c=a?.dataset.jxChannel;if(!a||!c)return;if(o.stopPropagation(),c==="text"){let p=String(o.target.value??"");e.text=p;let E=r(p);if(i==="input"){e.invalid=!1;return}if(!E){e.invalid=p!=="";return}v(e,E),m(e),d(l,"input","change");return}if(c==="system"||c==="palette"){let p=r(String(o.target.value??""));if(!p)return;v(e,{...p,a:e.alpha===!0?Number(e.opacity)/100:1})}else if(c==="area")e.saturation=Number(a.saturation),e.brightness=Number(a.brightness);else if(c==="hue")e.hue=Number(a.value);else if(c==="opacity")e.opacity=Number(a.value);else return;m(e),d(l,i)}function v(e,o){let i=u(o);if(e.saturation=Number(i.s.toFixed(2)),e.brightness=Number(i.v.toFixed(2)),e.alpha===!0)e.opacity=Number((i.a*100).toFixed(2));if(i.s>0&&i.v>0)e.hue=Number(i.h.toFixed(2))}function D(e,o){C(e,o,"input")}function A(e,o){C(e,o,"change")}function j(e,o){let i=S(o),l=i?H(i):null;if(!i||!l||e.disabled===!0)return;if(e.expanded===!0){n(l);return}let a=i.getBoundingClientRect();l.x=Math.round(a.left),l.y=Math.round(a.bottom),t(l,o.currentTarget instanceof Element?o.currentTarget:i)}function P(e){return e===!0&&typeof globalThis.EyeDropper==="function"}function I(e,o){let i=S(o),l=globalThis.EyeDropper;if(!i||!l||e.disabled===!0)return Promise.resolve();return new l().open().then((a)=>{let c=r(String(a?.sRGBHex??""));if(!c)return;v(e,c),m(e),d(i,"input","change")}).catch(()=>{})}function B(e,o){let i=T(o);if(!i)return;L.set(e,i),x+=1,e.uid=`jx-color-field-${x}`,y(e),new MutationObserver(()=>{y(e)}).observe(i,{attributeFilter:["data-resolved","data-value"],attributes:!0});let a=H(i);if(a)a.addEventListener("toggle",(c)=>{e.expanded=c.newState==="open"})}export{P as eyeDropperAvailable,I as onEyeDropper,A as onFieldChange,D as onFieldInput,B as onFieldMount,j as onOpenPicker,y as syncFromValue};
|
|
2
|
-
|
|
3
|
-
//# debugId=9CC9B36A50642F1464756E2164756E21
|
|
4
|
-
//# sourceMappingURL=color-field-embq5ctg.js.map
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{e,i,E,r,s,u,h,g,v,b,x,y,f,C}from"./iframe-entry-z6qrytv3.js";export{e as clamp,y as contrastRatio,s as formatHex,b as formatOklch,h as hsvToRgb,C as inkOn,v as oklchToSrgb,r as parseColor,E as parseHex,f as preferredInk,x as relativeLuminance,u as rgbToHsv,i as snapToStep,g as srgbToOklch};
|
|
2
|
-
|
|
3
|
-
//# debugId=47ECE90DEF1147ED64756E2164756E21
|
|
4
|
-
//# sourceMappingURL=color-fpezvnkt.js.map
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{i}from"./iframe-entry-z6qrytv3.js";var p="jx-color-slider",b={ArrowDown:-1,ArrowLeft:-1,ArrowRight:1,ArrowUp:1};function u(e){let n=e.currentTarget;return n instanceof HTMLElement&&n.localName===p?n:null}function d(e){return e.querySelector('input[part="input"]')}function l(e,...n){for(let t of n)e.dispatchEvent(new Event(t,{bubbles:!0}))}function f(e){let n=Number.isFinite(Number(e.min))?Number(e.min):0,t=Number(e.maxValue),r=Number(e.step);return{max:Number.isFinite(t)&&t>n?t:360,min:n,step:Number.isFinite(r)&&r>0?r:1}}function g(e,n){let t=u(n);if(!t||n.target===t)return;n.stopPropagation(),e.value=Number(n.target.value),l(t,"input")}function E(e,n){let t=u(n);if(!t||n.target===t)return;n.stopPropagation(),e.value=Number(n.target.value),l(t,"change")}function N(e,n){let t=u(n),r=b[n.key];if(!t||!r||!n.shiftKey||e.disabled===!0)return;n.preventDefault();let{max:s,min:c,step:a}=f(e),o=i(Number(e.value)+r*a*10,a,c,s);if(o===Number(e.value))return;e.value=o;let m=d(t);if(m)m.value=String(o);l(t,"input","change")}export{E as onSliderChange,g as onSliderInput,N as onSliderKeydown};
|
|
2
|
-
|
|
3
|
-
//# debugId=628A064C8111904B64756E2164756E21
|
|
4
|
-
//# sourceMappingURL=color-slider-1qmw7wqy.js.map
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{t,n}from"./iframe-entry-f7mqjwpm.js";var E="jx-combobox",p=0;function b(o){let e=o.currentTarget;return e instanceof Element?e.closest(E):null}function g(o){return o.querySelector('input[part="input"]')}function v(o){return o.querySelector('[part="popup"]')}function a(o){return Array.isArray(o.options)?o.options:[]}function C(o,...e){for(let r of e)o.dispatchEvent(new Event(r,{bubbles:!0}))}function f(o){return o.disabled!==!0&&o.readonly!==!0}function S(o){let e=v(o);if(!e)return;let r=o.getBoundingClientRect(),i=e;i.x=Math.round(r.left),i.y=Math.round(r.bottom),t(e,o)}function c(o){let e=v(o);if(e)n(e)}function x(o,e){if(!f(o)||a(o).length===0)return!1;return S(e),!0}function w(o){let e=a(o),r=s(e,String(o.value??""));return r&&r.disabled!==!0?e.indexOf(r):-1}function m(o,e,r){let i=e<0?r>0?-1:0:e;for(let u of o.keys()){let l=((i+r*(u+1))%o.length+o.length)%o.length;if(o[l]?.disabled!==!0)return l}return-1}function s(o,e){let r=e.toLowerCase();return o.find((i)=>String(i.value).toLowerCase()===r)??null}function d(o,e,r){let i=String(r.value);o.value=i,o.committed=i,o.activeIndex=-1,c(e),g(e)?.focus(),C(e,"input","change")}function T(o,e){p+=1,o.uid=`jx-combobox-${p}`,o.committed=String(o.value??"")}function M(o,e){let r=b(e),i=e.target;if(!r||!(i instanceof HTMLInputElement))return;o.value=i.value,o.activeIndex=-1,x(o,r)}function y(o,e){let r=e.newState==="open";if(o.open=r,!r)o.activeIndex=-1}function H(o,e){let r=b(e);if(!r||!f(o))return;if(o.open===!0){c(r);return}if(x(o,r))o.activeIndex=w(o);g(r)?.focus()}function I(o,e){let r=b(e),i=String(e.detail??""),u=s(a(o),i);if(!r||!u)return;d(o,r,u)}function h(o,e){let r=b(e);if(!r)return;let i=e.target instanceof HTMLInputElement?e.target:null,u=i?i.value:String(o.value??""),l=s(a(o),u);if(o.allowsCustomValue===!0||u===""||l){o.value=l?String(l.value):u,o.committed=String(o.value),c(r);return}e.stopPropagation(),o.value=String(o.committed??""),C(r,"change")}function k(o,e){let r=b(e);if(!r||e.ctrlKey||e.metaKey)return;let i=a(o),u=Number(o.activeIndex??-1);switch(e.key){case"ArrowDown":{if(!f(o))return;if(o.open!==!0){if(!x(o,r))return;o.activeIndex=e.altKey?w(o):m(i,-1,1)}else if(!e.altKey)o.activeIndex=m(i,u,1);break}case"ArrowUp":{if(!f(o))return;if(e.altKey){c(r);break}if(o.open!==!0){if(!x(o,r))return;o.activeIndex=m(i,-1,-1)}else o.activeIndex=m(i,u,-1);break}case"Enter":{let l=o.open===!0&&u>=0?i[u]:void 0;if(!l){if(o.open===!0)c(r);return}d(o,r,l);break}case"Tab":{let l=o.open===!0&&u>=0?i[u]:void 0;if(l)d(o,r,l);else c(r);return}case"Escape":{if(o.open!==!0)return;c(r),e.stopPropagation();break}default:return}e.preventDefault()}export{c as closeList,g as inputOf,w as landingIndex,T as mountCombobox,m as nextIndex,H as onComboboxButton,h as onComboboxCommit,M as onComboboxInput,k as onComboboxKeydown,I as onComboboxPick,y as onComboboxToggle,S as openList,s as rowFor};
|
|
2
|
-
|
|
3
|
-
//# debugId=207D4B954005839664756E2164756E21
|
|
4
|
-
//# sourceMappingURL=combobox-773hdzyj.js.map
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{st,zl,QC,Em,Nc}from"./studio-e81q1vb9.js";import"./studio-xz2yxfcb.js";export{Em as buildComponentInstance,st as componentRegistry,Nc as computeRelativePath,zl as loadComponentRegistry,QC as noteComponentSaved};
|
|
2
|
-
|
|
3
|
-
//# debugId=D267E1B337DA9C3964756E2164756E21
|
|
4
|
-
//# sourceMappingURL=components-ax2f1fnn.js.map
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{Db,ex,US,qS,GS,KS}from"./studio-qkstvve9.js";import"./studio-7vg6jcd3.js";import"./studio-t6b6qe31.js";import"./studio-gjtpe62q.js";import"./studio-7zx31knw.js";import"./studio-yw05w8f0.js";import"./studio-tdcprbqb.js";import"./studio-rc6dvxjb.js";import"./studio-yb560vxr.js";import"./studio-gf0fz03c.js";import"./studio-t1xzawhr.js";import"./studio-e81q1vb9.js";import"./studio-w0cgf6jg.js";import"./studio-gx4dnjzd.js";import"./studio-74k29dy9.js";import"./studio-pcgz8heb.js";import"./studio-a2ke1e4t.js";import"./studio-epgrmqqm.js";import"./studio-rv11kfwa.js";import"./studio-5tnvjkz4.js";import"./studio-xz2yxfcb.js";import"./studio-g1shz58g.js";import"./studio-1q1sh2ax.js";import"./studio-9mccjwjh.js";import"./studio-zyqn40w4.js";import"./studio-ery42sqr.js";import"./studio-55h4mstj.js";export{ex as collectionDirs,Db as collectionInfo,GS as createCollectionSource,KS as createPagesSource,US as listCollectionEntryIds,qS as reloadDraftAwareGrids};
|
|
2
|
-
|
|
3
|
-
//# debugId=18170DCAAFA17CE364756E2164756E21
|
|
4
|
-
//# sourceMappingURL=content-source-108aqtk1.js.map
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{Le,q,u}from"./studio-a2ke1e4t.js";import{y}from"./studio-55h4mstj.js";import"./studio-epgrmqqm.js";import"./studio-xz2yxfcb.js";import"./studio-5tnvjkz4.js";import"./studio-1q1sh2ax.js";import{pn,an,Zm}from"./studio-9mccjwjh.js";import"./studio-zyqn40w4.js";import{ot,zt,T,I,An,Ct}from"./studio-g1shz58g.js";import"./studio-ery42sqr.js";import{Ja}from"./studio-0k1ddnyy.js";import"./studio-63epcrj2.js";import"./studio-k1wvtp03.js";import"./studio-rc6dvxjb.js";import"./studio-w0cgf6jg.js";import"./studio-t1xzawhr.js";import"./studio-e81q1vb9.js";import"./studio-pcgz8heb.js";import"./studio-gf0fz03c.js";import"./studio-rv11kfwa.js";import"./studio-h46vtzk8.js";import"./studio-jhpxeckz.js";import"./studio-gx4dnjzd.js";import"./studio-yb560vxr.js";import"./studio-4tanh828.js";import{Fb}from"./studio-gjtpe62q.js";import"./studio-74k29dy9.js";import{K,Cr,ht,Cn}from"./studio-yn9f8vtx.js";var m={$schema:"https://jxsuite.com/schema/v1",$id:"StudioConvertRepeater",$description:'Repeat…: the dialog that turns the selected element into an `$prototype: "Array"` template. One `jx-dialog`, so the platform owns modality, Escape, the backdrop and focus restoration — which is what retired the `sp-dialog-wrapper` this surface used to open through its bare `open` attribute, and the hand-rolled `requestAnimationFrame` focus move that had to follow it. Three questions in one form: which state definition holds the items, and optionally which function filters and which sorts. The name field appears only when the answer to the first is "Create new…", because a definition that already exists needs no name. Nothing here knows what makes a definition an array — `editor/convert-to-repeater.ts` asks the plugin schemas, keeps the refusals and writes the repeater — and it hands over rows that are already strings.',tagName:"jx-dialog",$props:{headline:"Repeat…",confirmLabel:"Create Repeater",cancelLabel:"Cancel",size:"sm"},attributes:{part:"convert-repeater"},onconfirm:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/confirm"},value:[]}]},oncancel:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/closed"},value:[]}]},onclose:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/closed"},value:[]}]},style:{$description:"There is no stylesheet to transcribe: the lit version carried one inline `display:flex;flex-direction:column;gap:12px` on a wrapper div and nothing else, because `sp-field-label` and `sp-dialog-wrapper` drew the rest. Both of those are gone — the label is `jx-field`'s, which actually NAMES the control it wraps rather than sitting beside it, and the box is the dialog's — so the whole of this block is the one gap that separated the rows, said in the kit's scale instead of in the twelve pixels somebody typed.",'& [part="form"]':{display:"flex",flexDirection:"column",gap:"var(--jx-space-4)"},'& [part="new-slot"], & [part="functions-slot"], & [part="functions"]':{$description:"A branch host and the pair inside it are structure rather than layout: `display: contents` puts the rows they carry straight into the form's own column, so one gap rule spaces every row whether it is drawn or not.",display:"contents"}},children:[{tagName:"div",attributes:{part:"form"},children:[{tagName:"jx-field",attributes:{part:"source-row"},$props:{span:!0,label:"Items source"},children:[{tagName:"jx-select",attributes:{part:"source"},$props:{size:"sm",options:{$ref:"#/state/sourceOptions"},value:{$ref:"#/state/source"}},onchange:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/pickSource"},value:[{$ref:"event#/target/value"}]}]}}]},{tagName:"div",attributes:{part:"new-slot",role:"none"},$switch:{$ref:"#/state/creating"},cases:{true:{tagName:"jx-field",attributes:{part:"new-row"},$props:{span:!0,label:"New definition name",invalid:{$ref:"#/state/invalid"}},children:[{tagName:"jx-textfield",attributes:{part:"new-name"},$props:{size:"sm",placeholder:"myItems",value:{$ref:"#/state/newName"},invalid:{$ref:"#/state/invalid"},error:{$ref:"#/state/error"}},oninput:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/setName"},value:[{$ref:"event#/target/value"}]}]},onkeydown:{$prototype:"Function",body:[{$switch:{$ref:"event#/key"},cases:{Enter:[{preventDefault:!0},{operator:"call",target:{$ref:"#/state/confirm"},value:[]}]}}]}}]}}},{tagName:"div",attributes:{part:"functions-slot",role:"none"},$switch:{$ref:"#/state/hasFunctions"},cases:{true:{tagName:"div",attributes:{part:"functions",role:"none"},children:[{tagName:"jx-field",attributes:{part:"filter-row"},$props:{span:!0,label:"Filter (optional)"},children:[{tagName:"jx-select",attributes:{part:"filter"},$props:{size:"sm",options:{$ref:"#/state/functionOptions"},value:{$ref:"#/state/filter"}},onchange:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/pickFilter"},value:[{$ref:"event#/target/value"}]}]}}]},{tagName:"jx-field",attributes:{part:"sort-row"},$props:{span:!0,label:"Sort (optional)"},children:[{tagName:"jx-select",attributes:{part:"sort"},$props:{size:"sm",options:{$ref:"#/state/functionOptions"},value:{$ref:"#/state/sort"}},onchange:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/pickSort"},value:[{$ref:"event#/target/value"}]}]}}]}]}}}]}]};T("convert-repeater",m);var d="__new__";function h(r){return{...r,creating:r.source===d,functionOptions:[{label:"None",value:""},...r.functions.map((o)=>({label:o,value:o}))],hasFunctions:r.functions.length>0,invalid:r.error!=="",sourceOptions:[...r.sources.map((o)=>({label:o,value:o})),{label:"Create new…",value:d}]}}function g(r){let o=document.createElement("div");o.style.pointerEvents="auto",o.setAttribute(ot,zt("dialog","convert-repeater")),r.layer.append(o);let l=!1,i=()=>{if(l)return;l=!0,r.onClosed()},e=y({...h(r.view),closed:i,confirm:()=>{r.onConfirm()},pickFilter:(t)=>{e.filter=t,r.onPickFilter(t)},pickSort:(t)=>{e.sort=t,r.onPickSort(t)},pickSource:(t)=>{e.source=t,r.onPickSource(t)},setName:(t)=>{e.newName=t,r.onName(t)}}),s=null,c=()=>{setTimeout(()=>{let t=s?.root;if(l||!(t instanceof HTMLElement))return;let a=t.querySelector('jx-textfield[part="new-name"]');if(a)Zm(a,"all")},0)},f=I("convert-repeater",e,o).then(async(t)=>{s=t;let a=t.root;if(l)return t.dispose(),a;if(await An(a),l)return a;if(pn(a),e.creating)c();return a});return{close(){let t=s?.root;if(t instanceof HTMLElement)an(t);s?.dispose(),s=null,o.remove(),i()},host:o,ready:f,update(t){let a=h(t),p=a.creating&&!e.creating,n=a.error!==""&&a.error===e.error;if(Object.assign(e,n?{...a,error:""}:a),n){let v=a.error;queueMicrotask(()=>{e.error=v})}if(p)c()}}}var b=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/;async function J(){let r=u.value,o=Le(r?.session.selection);if(!r||!o||o.length<2)return;if(!K(r.doc.document,o))return;let i=r.doc.document.state||{},e=await x(i);if(!e)return;q(r,(s)=>{let c=s.doc.document;if(e.newDef){if(!c.state)c.state={};c.state[e.newDef.name]={default:[],type:"array"}}let f=ht(o);if(!f)return;let t=Cn(o),a=K(c,f);if(!a?.children)return;let p=Cr(a)[t],n={$prototype:"Array",items:e.items,map:p};if(e.filter)n.filter=e.filter;if(e.sort)n.sort=e.sort;a.children[t]=n})}async function R(r){let o=Object.entries(r).filter(([,i])=>{let e=i;return e?.type==="array"||Array.isArray(e?.default)||e?.$prototype==="Array"}).map(([i])=>i),l=u.value?.documentPath;for(let[i,e]of Object.entries(r)){let s=e;if(!s?.$prototype||s.$prototype==="Function"||s.$prototype==="Array")continue;if(o.includes(i))continue;if((await Fb({...s.$src!=null&&{$src:s.$src},$prototype:s.$prototype},{...l!=null&&{documentPath:l}}))?.returns?.type==="array")o.push(i)}return o}async function x(r){let o=await R(r),l=Object.entries(r).filter(([,i])=>Ja(i)==="function").map(([i])=>i);return new Promise((i)=>{let e={error:"",filter:"",functions:l,newName:"",sort:"",source:o[0]??d,sources:o},s=!1,c=(n)=>{if(s)return;s=!0,p.close(),i(n)},f=(n)=>{e.error=n,p.update(e)},t=()=>({...e.filter&&{filter:{$ref:`#/state/${e.filter}`}},...e.sort&&{sort:{$ref:`#/state/${e.sort}`}}}),a=()=>{if(e.source!==d){c({items:{$ref:`#/state/${e.source}`},...t()});return}let n=e.newName.trim();if(!n){f("Enter a name for the new state definition.");return}if(r[n]){f(`"${n}" already exists.`);return}if(!b.test(n)){f("Invalid identifier name.");return}c({items:{$ref:`#/state/${n}`},...t(),newDef:{name:n}})},p=g({layer:Ct("dialog"),onClosed:()=>c(null),onConfirm:a,onName:(n)=>{e.newName=n,e.error="",p.update(e)},onPickFilter:(n)=>{e.filter=n,p.update(e)},onPickSort:(n)=>{e.sort=n,p.update(e)},onPickSource:(n)=>{e.source=n,e.error="",p.update(e)},view:e})})}export{J as convertToRepeater};
|
|
2
|
-
|
|
3
|
-
//# debugId=42FAD0CF4E31EE3464756E2164756E21
|
|
4
|
-
//# sourceMappingURL=convert-to-repeater-ry5rmppr.js.map
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
function o(n){let e=n.currentTarget;return e instanceof Element?e.closest("jx-dialog"):null}function a(n){return n.querySelector('dialog[part="dialog"]')}function i(n,e){n?.dispatchEvent(new CustomEvent(e,{bubbles:!0}))}function c(n,e){if(typeof ToggleEvent<"u")return;let t=new Event("toggle",{bubbles:!1});Object.assign(t,{newState:e,oldState:e==="open"?"closed":"open"}),n.dispatchEvent(t)}function r(n){let e=a(n);if(!e||e.open)return;e.showModal(),c(e,"open")}function s(n,e){let t=a(n);if(!t?.open)return;t.close(e),c(t,"closed")}function d(n,e){n.open=e.newState==="open"}function f(n,e){n.open=!1,i(o(e),"cancel")}function g(n,e){n.open=!1,i(o(e),"close")}function u(n,e){let t=o(e),l=e.command??"";if(!t)return;if(l==="--show")r(t);else if(l==="--close")s(t)}function v(n,e){i(o(e),"confirm")}function p(n,e){i(o(e),"secondary")}function m(n,e){let t=o(e);if(i(t,"cancel"),t)s(t,"cancel")}export{s as close,m as onCancelClick,u as onCommand,v as onConfirm,f as onNativeCancel,g as onNativeClose,p as onSecondary,d as onToggle,r as showModal};
|
|
2
|
-
|
|
3
|
-
//# debugId=DC8F88A6A3709E1B64756E2164756E21
|
|
4
|
-
//# sourceMappingURL=dialog-mtm9fq5t.js.map
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{wI,np,xI,_I,SI,Ru,CI,kI,Hs,nw,yc,EI,Rn,pe}from"./studio-nj5a01jy.js";export{wI as CancellationTokenSource,np as Emitter,xI as KeyCode,_I as KeyMod,Hs as MarkerSeverity,nw as MarkerTag,SI as Position,Ru as Range,CI as Selection,kI as SelectionDirection,EI as Token,yc as Uri,Rn as editor,pe as languages};
|
|
2
|
-
|
|
3
|
-
//# debugId=2CA16BB5AD303C4464756E2164756E21
|
|
4
|
-
//# sourceMappingURL=editor-pfgdmkb0.js.map
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{Ww,AS}from"./studio-z16sgavc.js";import"./studio-qv1pwd3c.js";import"./studio-63epcrj2.js";import"./studio-h46vtzk8.js";import"./studio-qkstvve9.js";import"./studio-7vg6jcd3.js";import"./studio-t6b6qe31.js";import"./studio-gjtpe62q.js";import"./studio-7zx31knw.js";import"./studio-yw05w8f0.js";import"./studio-tdcprbqb.js";import"./studio-rc6dvxjb.js";import"./studio-yb560vxr.js";import"./studio-gf0fz03c.js";import"./studio-t1xzawhr.js";import"./studio-e81q1vb9.js";import"./studio-w0cgf6jg.js";import"./studio-gx4dnjzd.js";import"./studio-74k29dy9.js";import"./studio-pcgz8heb.js";import"./studio-a2ke1e4t.js";import"./studio-epgrmqqm.js";import"./studio-rv11kfwa.js";import"./studio-5tnvjkz4.js";import"./studio-xz2yxfcb.js";import"./studio-g1shz58g.js";import"./studio-1q1sh2ax.js";import"./studio-9mccjwjh.js";import"./studio-zyqn40w4.js";import"./studio-ery42sqr.js";import"./studio-55h4mstj.js";import"./studio-k1wvtp03.js";export{Ww as createEntry,AS as registerContentCommands};
|
|
2
|
-
|
|
3
|
-
//# debugId=7105E25DEAB3B62264756E2164756E21
|
|
4
|
-
//# sourceMappingURL=entry-commands-t0k1q0kx.js.map
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import"./studio-xz2yxfcb.js";import{Kt,Yd,zp}from"./studio-5tnvjkz4.js";import{ms,FS}from"./studio-n8bxwc3y.js";import"./studio-ery42sqr.js";import{y}from"./studio-55h4mstj.js";import"./studio-a2ke1e4t.js";import"./studio-epgrmqqm.js";import"./studio-9mccjwjh.js";import"./studio-zyqn40w4.js";import"./studio-63epcrj2.js";import"./studio-1q1sh2ax.js";import{T,I,Ss,Ct}from"./studio-g1shz58g.js";import"./studio-h46vtzk8.js";import"./studio-k1wvtp03.js";import"./studio-kt1zqney.js";import{MS}from"./studio-szsjbj0g.js";import{qw,WE,jS,XE}from"./studio-vyc0b4he.js";import"./studio-yb560vxr.js";import"./studio-pcgz8heb.js";import"./studio-t6b6qe31.js";import"./studio-tdcprbqb.js";import"./studio-w0cgf6jg.js";import"./studio-t1xzawhr.js";import"./studio-yw05w8f0.js";import"./studio-7zx31knw.js";import"./studio-rc6dvxjb.js";import"./studio-qkstvve9.js";import"./studio-gx4dnjzd.js";import"./studio-e81q1vb9.js";import"./studio-gf0fz03c.js";import"./studio-rv11kfwa.js";import"./studio-7vg6jcd3.js";import"./studio-gjtpe62q.js";import"./studio-74k29dy9.js";var m={$schema:"https://jxsuite.com/schema/v1",$id:"StudioDataActions",$description:"The actions row a data-domain settings section grows: test a connection, push the schema, open the rows as a grid. It is an ISLAND inside `surfaces/settings-contributed.json` — the generic contributed-section renderer stays extension-agnostic and draws an empty host, and `panels/data-grid.ts` mounts this into it — which is the seam that lets the data surface contribute verbs without the settings machinery learning what a connection is.",tagName:"div",attributes:{part:"data-actions"},style:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:"var(--jx-space-2)",fontFamily:"var(--jx-font-sans)",fontSize:"var(--jx-text-md)",'& [part="result"]':{fontSize:"var(--jx-text-sm)",color:"var(--fg-dim)"},'& [part="result"][data-ok="false"]':{color:"var(--danger)"},'& [part="result"][data-ok="true"]':{color:"var(--success, var(--accent))"}},children:[{tagName:"span",attributes:{part:"test-slot",role:"none"},style:{display:"contents"},$switch:{$ref:"#/state/testState"},cases:{shown:{tagName:"jx-button",attributes:{part:"test"},$props:{variant:"secondary",size:"sm",disabled:{$ref:"#/state/testDisabled"}},onclick:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/test"},value:[]}]},children:[{tagName:"span",textContent:"${state.testLabel}"}]}}},{tagName:"jx-button",attributes:{part:"push"},$props:{variant:"secondary",size:"sm"},onclick:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/push"},value:[]}]},children:[{tagName:"span",textContent:"Push Schema"}]},{tagName:"jx-button",attributes:{part:"grid"},$props:{variant:"secondary",size:"sm"},onclick:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/openGrid"},value:[]}]},children:[{tagName:"span",textContent:"Open Data Grid"}]},{tagName:"span",attributes:{part:"result-slot",role:"none"},style:{display:"contents"},$switch:{$ref:"#/state/resultState"},cases:{shown:{$description:"The last test's verdict, and a live region because it arrives after the press that asked for it.",tagName:"span",attributes:{part:"result",role:"status","data-ok":"${state.resultOk}",title:"${state.resultTitle}"},textContent:"${state.resultText}"}}}]};T("data-actions",m);function f(t,n){t.testState=n.testState,t.testLabel=n.testLabel,t.testDisabled=n.testDisabled,t.resultState=n.resultState,t.resultOk=n.resultOk,t.resultText=n.resultText,t.resultTitle=n.resultTitle}function h(t,n,e){let a=y({openGrid:e.openGrid,push:e.push,resultOk:"false",resultState:"hidden",resultText:"",resultTitle:"",test:e.test,testDisabled:!1,testLabel:"Test Connection",testState:"hidden"});f(a,n);let s=null,i=!1,o=I("data-actions",a,t).then((r)=>{if(i)return r.dispose(),r.root;return s=r,r.root});return{dispose(){i=!0,s?.dispose(),s=null},ready:o,update:(r)=>f(a,r)}}var g={$schema:"https://jxsuite.com/schema/v1",$id:"StudioPushPlan",$description:"What pushing the schema would do, or what it did. The dry run is the whole point of the surface: a push rewrites a live database's shape, so the plan is read before the apply, and the confirm dialog around this document is the one that gates it. The ISLAND of `ui/layers.ts`'s confirm dialog rather than a dialog of its own (studio-ui-guidelines.md §12.5).",tagName:"div",attributes:{part:"plan"},style:{display:"flex",flexDirection:"column",gap:"var(--jx-space-2)",minWidth:"0",fontFamily:"var(--jx-font-sans)",fontSize:"var(--jx-text-md)",color:"var(--fg)",'& [part="steps"]':{margin:"0",padding:"0",listStyle:"none",display:"flex",flexDirection:"column",gap:"2px",maxHeight:"40vh",overflowY:"auto"},'& [part="step"]':{fontFamily:"var(--font-mono)",fontSize:"var(--jx-text-sm)",padding:"2px var(--jx-space-2)",borderLeft:"2px solid var(--border)"},'& [part="step"][data-kind="drop"]':{borderLeftColor:"var(--danger)"},'& [part="step"][data-kind="create"]':{borderLeftColor:"var(--success, var(--accent))"},'& [part="warning"]':{margin:"0",fontSize:"var(--jx-text-sm)",color:"var(--warning, var(--fg-dim))"},'& [part="failure"]':{$description:'`failure` rather than `error`: every kit field draws a permanent, empty `[part="error"]` of its own, and the kit is light DOM, so a rule on that name here would reach any field the plan ever holds.',margin:"0",fontSize:"var(--jx-text-sm)",color:"var(--danger)"}},children:[{tagName:"ul",attributes:{part:"steps"},children:[{$prototype:"Array",items:{$ref:"#/state/steps"},key:{$ref:"$map/item/key"},map:{tagName:"li",attributes:{part:"step","data-kind":"${$map.item.kind}"},textContent:"${$map.item.summary}"}}]},{$prototype:"Array",items:{$ref:"#/state/warnings"},key:{$ref:"$map/item/key"},map:{tagName:"p",attributes:{part:"warning"},textContent:"${$map.item.text}"}},{$prototype:"Array",items:{$ref:"#/state/errors"},key:{$ref:"$map/item/key"},map:{tagName:"p",attributes:{part:"failure",role:"alert"},textContent:"${$map.item.text}"}}]};T("push-plan",g);function S(t,n){let e=y({errors:n.errors,steps:n.steps,warnings:n.warnings}),a=null,s=!1,i=I("push-plan",e,t).then((o)=>{if(s)return o.dispose(),o.root;return a=o,o.root});return{dispose(){s=!0,a?.dispose(),a=null},ready:i,update(o){e.steps=o.steps,e.warnings=o.warnings,e.errors=o.errors}}}var l=null;function x(){let t=l;l=null,t?.plan?.dispose(),t?.handle.close()}function b(t,n){return t.map((e,a)=>({key:`${n}:${a}`,text:e}))}function w(t){let n=t.phase==="done"?t.result:t.dryRun;return{errors:b(n?.errors??[],"error"),steps:(n?.plan??[]).map((e,a)=>({key:`${e.kind}:${a}`,kind:e.kind,summary:e.summary})),warnings:b(n?.warnings??[],"warning")}}function C(t){if(t.phase==="loading")return"Compiling plan…";if(t.phase==="applying")return"Applying…";if(t.phase==="done")return t.result?.applied?"Schema applied.":"Push failed.";let n=t.dryRun?.plan.length??0,e=t.dryRun?.errors?.length??0;return n===0&&e===0?"Nothing to push — the schema is up to date.":""}function d(){let t=l;if(!t)return;let n=t.phase==="confirm"&&(t.dryRun?.plan.length??0)>0;t.handle.update({cancelLabel:t.phase==="done"?"Close":"Cancel",confirmLabel:n?"Apply":"",message:C(t)}),t.plan?.update(w(t))}async function R(t,n){if(l)return;let e={connection:t,dryRun:null,handle:null,onDone:n,phase:"loading",plan:null,result:null};e.handle=Ss({cancelLabel:"Cancel",confirmLabel:"",headline:t?`Push Schema — ${t}`:"Push Schema",island:(s)=>{e.plan=S(s,w(e))},layer:Ct("dialog"),message:"Compiling plan…",onCancel:x,onClosed:()=>{if(l===e)x()},onConfirm:()=>{H()},region:"data/push"}),l=e;let a=await jS({dryRun:!0,...t===void 0?{}:{connection:t}});if(l!==e)return;e.dryRun=a,e.phase="confirm",d()}async function H(){let t=l;if(!t)return;t.phase="applying",d();let n=await jS(t.connection===void 0?{}:{connection:t.connection});if(l!==t)return;t.result=n,t.phase="done",d(),t.onDone()}var u={pushing:!1,testResult:null,testing:null},v=new Map;function P(t,n){let{testResult:e}=u;return{resultOk:e?.ok?"true":"false",resultState:e?"shown":"hidden",resultText:e?`${e.connection}: ${e.ok?"connected":e.error??"failed"}`:"",resultTitle:e?.error??"",testDisabled:!n||u.testing!==null,testLabel:u.testing?"Testing…":"Test Connection",testState:t==="connections"?"shown":"hidden"}}function D(t){if(t!=="connections"&&t!=="data"||!qw())return null;return(n,e)=>j(n,t,e)}async function L(t,n){u.testing=t,u.testResult=null,n();let e=await WE(t);u.testing=null,u.testResult={...e,connection:t},n()}function j(t,n,e){let{rerender:a,selected:s}=e,i=v.get(t);if(i){i.update(P(n,s));return}let o=()=>n==="connections"?e.selected??void 0:void 0;v.set(t,h(t,P(n,s),{openGrid:()=>{XE()},push:()=>{R(o(),a)},test:()=>{let r=e.selected;if(r)L(r,a)}}))}var N=100;function E(t){let e=t.studio?.settings;if(!e)return null;let{key:a}=t.project,s=e.layout??"form",i=t.entrySchema??{},o=s==="map"?typeof i.additionalProperties==="object"?i.additionalProperties:{}:i,r=e.label??t.project.title??a;return{contribution:{entrySchema:o,key:a,settings:{...e.entry===void 0?{}:{entry:e.entry},...e.layout===void 0?{}:{layout:e.layout}},title:r},icon:e.icon,key:a,label:r,order:e.order??N}}var p=new Set,c=null;function ot(){return c??Promise.resolve()}function rt(){return c??=M().finally(()=>{c=null}),c}async function M(){let[t]=await Promise.all([Yd(),Kt()]),n=new Set;for(let e of t)for(let a of e.contributions){let s=E(a);if(!s)continue;let{contribution:i}=s;ms({icon:s.icon,key:s.key,label:s.label,order:s.order,render:(o)=>{let r=D(s.key);MS(o,i,{formats:zp(),...r===null?{}:{actions:r}})}}),n.add(s.key)}for(let e of p)if(!n.has(e))FS(e);p.clear();for(let e of n)p.add(e)}export{ot as extensionSectionsReady,rt as syncExtensionSettingsSections};
|
|
2
|
-
|
|
3
|
-
//# debugId=7D50372C07F36AA764756E2164756E21
|
|
4
|
-
//# sourceMappingURL=extension-sections-6mwh2hf8.js.map
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{Do,JS,YS,yp,ZS,dm,um}from"./studio-7vg6jcd3.js";import"./studio-t6b6qe31.js";import"./studio-gjtpe62q.js";import"./studio-7zx31knw.js";import"./studio-yw05w8f0.js";import"./studio-tdcprbqb.js";import"./studio-rc6dvxjb.js";import"./studio-yb560vxr.js";import"./studio-gf0fz03c.js";import"./studio-t1xzawhr.js";import"./studio-e81q1vb9.js";import"./studio-w0cgf6jg.js";import"./studio-gx4dnjzd.js";import"./studio-74k29dy9.js";import"./studio-pcgz8heb.js";import"./studio-a2ke1e4t.js";import"./studio-epgrmqqm.js";import"./studio-rv11kfwa.js";import"./studio-5tnvjkz4.js";import"./studio-xz2yxfcb.js";import"./studio-g1shz58g.js";import"./studio-1q1sh2ax.js";import"./studio-9mccjwjh.js";import"./studio-zyqn40w4.js";import"./studio-ery42sqr.js";import"./studio-55h4mstj.js";export{dm as confirmFileDelete,ZS as exportFile,JS as parseCollabSource,Do as parseSourceForPath,um as renamePromptMessage,yp as saveFile,YS as setDocumentSavedListener};
|
|
2
|
-
|
|
3
|
-
//# debugId=86DA9EC0E38DE51E64756E2164756E21
|
|
4
|
-
//# sourceMappingURL=file-ops-meej5mqf.js.map
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{$r,fS,mS,gS,$w,em,bS,yS,Iw,EE,yI,Ir,Dw,vS,wS,fp,xS}from"./studio-kk7h30ne.js";import"./studio-myjcghv3.js";import"./studio-vrmcjf9g.js";import"./studio-4tanh828.js";import"./studio-qv1pwd3c.js";import"./studio-vyc0b4he.js";import"./studio-h46vtzk8.js";import"./studio-qkstvve9.js";import"./studio-7vg6jcd3.js";import"./studio-t6b6qe31.js";import"./studio-gjtpe62q.js";import"./studio-7zx31knw.js";import"./studio-yw05w8f0.js";import"./studio-tdcprbqb.js";import"./studio-rc6dvxjb.js";import"./studio-yb560vxr.js";import"./studio-gf0fz03c.js";import"./studio-t1xzawhr.js";import"./studio-e81q1vb9.js";import"./studio-w0cgf6jg.js";import"./studio-gx4dnjzd.js";import"./studio-74k29dy9.js";import"./studio-pcgz8heb.js";import"./studio-a2ke1e4t.js";import"./studio-epgrmqqm.js";import"./studio-rv11kfwa.js";import"./studio-5tnvjkz4.js";import"./studio-xz2yxfcb.js";import"./studio-g1shz58g.js";import"./studio-1q1sh2ax.js";import"./studio-9mccjwjh.js";import"./studio-zyqn40w4.js";import"./studio-ery42sqr.js";import"./studio-55h4mstj.js";export{Iw as createFileIn,$w as findHomePage,gS as initProjectRepo,$r as loadDirectory,fS as loadProject,EE as notifyMoveOutcome,Dw as openFileInPane,Ir as openFileInTab,em as openLastSessionOrHome,mS as openProject,yS as registerFileTreeDnD,xS as registerFilesPanel,vS as reloadCleanTab,fp as reloadFileInTab,wS as reloadTabsIfChanged,bS as renderFilesTemplate,yI as settleRename};
|
|
2
|
-
|
|
3
|
-
//# debugId=DE5E58EC4331E20A64756E2164756E21
|
|
4
|
-
//# sourceMappingURL=files-44vp8a2s.js.map
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{Kt,Jd,Yd,Um,qy,rl,zp,Ys,_i,Up,Qt,ol,Fo,E1,Zs,T1}from"./studio-5tnvjkz4.js";import"./studio-xz2yxfcb.js";export{Fo as defaultContentFormat,ol as documentExtensions,Ys as formatByExtension,_i as formatByName,Qt as formatForPath,E1 as formatParse,Zs as formatSerialize,qy as getExtensionCatalog,Um as getExtensions,zp as getFormats,Yd as loadExtensions,Kt as loadFormats,Up as noFormatError,rl as refreshExtensionUi,Jd as refreshFormats,T1 as splitFormatDocument};
|
|
2
|
-
|
|
3
|
-
//# debugId=FF47668C9A02C7A464756E2164756E21
|
|
4
|
-
//# sourceMappingURL=format-host-7q1petb9.js.map
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{Vs,Tc,XS}from"./studio-t6b6qe31.js";import"./studio-yb560vxr.js";import"./studio-pcgz8heb.js";import"./studio-a2ke1e4t.js";import"./studio-epgrmqqm.js";import"./studio-5tnvjkz4.js";import"./studio-xz2yxfcb.js";import"./studio-zyqn40w4.js";import"./studio-ery42sqr.js";import"./studio-55h4mstj.js";export{Tc as isRecentLocal,Vs as markLocalMutation,XS as startFsSync};
|
|
2
|
-
|
|
3
|
-
//# debugId=EFD57EF3F4B864EC64756E2164756E21
|
|
4
|
-
//# sourceMappingURL=fs-events-h2mwnxaz.js.map
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{_c,CS,Mw,Fw,kS,ES,TS,nm,LS}from"./studio-myjcghv3.js";import"./studio-vrmcjf9g.js";import"./studio-4tanh828.js";import"./studio-7zx31knw.js";import"./studio-yw05w8f0.js";import"./studio-tdcprbqb.js";import"./studio-rc6dvxjb.js";import"./studio-yb560vxr.js";import"./studio-gf0fz03c.js";import"./studio-t1xzawhr.js";import"./studio-e81q1vb9.js";import"./studio-w0cgf6jg.js";import"./studio-gx4dnjzd.js";import"./studio-74k29dy9.js";import"./studio-pcgz8heb.js";import"./studio-a2ke1e4t.js";import"./studio-epgrmqqm.js";import"./studio-rv11kfwa.js";import"./studio-5tnvjkz4.js";import"./studio-xz2yxfcb.js";import"./studio-g1shz58g.js";import"./studio-1q1sh2ax.js";import"./studio-9mccjwjh.js";import"./studio-zyqn40w4.js";import"./studio-ery42sqr.js";import"./studio-55h4mstj.js";export{nm as cleanupGitPanel,Mw as cloneRepository,kS as loadDiffForLens,CS as noteFileSaved,Fw as platformSupportsClone,_c as refreshGitStatus,LS as registerGitPanel,TS as registerSourceControlCommands,ES as renderGitPanel};
|
|
2
|
-
|
|
3
|
-
//# debugId=A1EE6F95C40CAA2664756E2164756E21
|
|
4
|
-
//# sourceMappingURL=git-panel-zngbymvd.js.map
|