@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
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import{er,$n,kn,Si,lv,J,dt,Jn,tr,Re,gl,e,h,Ut,cr,x_,ss,Ts,De,E,c,n,ie,Yt,S,i,Co,dr,fg,he,Pe,Zt,Rs,V,o,t,A,b,du,o$,uu,Nt,Fe,ia,s$,ur,ls,jt,vl,ki,so,Yn,fv,be,$s,ee,lf,wl,kh,vg,d,gn,H,Hn,P,T_,Te,Vr,F,l,df,Ye,Lt,Me,Xn,w,tn,g,_e,se,L,Z,ve,bt,bn,Qe,G,Ae,we,_,uf,N,z,it,a,fi,Dn,Ti,cn,Ze,Tn,Wt,Li,Vo,mi,Be,Vt,W,zr,fr,U,R,le,X,pt,fe,et,D_,fu,Y,f,j,Xc,Eg,Mh,$i,Ln,gi,s,Ur,Os,Vh,Dv,W_,oi,_t,r,Ne,M$,Tl,_u,ut,Bi,ce,re,wn,X_,W$,V$,Su,mc,Kh,xn,Ps,rd,G$,aa,un,_n,$l,Wi,If,n0,Df,Ce,K$,Of,za,Gt,fo,Fs,Ft,Ua,m0,g0,Qv,Ug,b0,Gr,js,ad,Pf,Zh,Xh,$o,Eu,wk,li,ei,Xe,Qh,Lu,qa,Kg,ep,Yo,Rn}from"./studio-nj5a01jy.js";import{It,rg,iu,l_,c_,d_,og,sg,Y1,u_,nc,XR,sv,ru,Ra,ag,ef,h_,p_,Z1,X1,f_,Q1,ou,av,m_,g_,tf,lg,nf,cg,b_,lr,dg,ek,su,ns}from"./studio-1b04pd0j.js";class go extends cn{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:h(101,"Toggle Collapse Unchanged Regions"),icon:b.map,toggled:_.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:_.has("isInDiffEditor"),menu:{when:_.has("isInDiffEditor"),id:a.EditorTitle,order:22,group:"navigation"}})}run(p,...u){let m=p.get(X),C=!m.getValue("diffEditor.hideUnchangedRegions.enabled");m.updateValue("diffEditor.hideUnchangedRegions.enabled",C)}}class Mt extends cn{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:h(102,"Toggle Show Moved Code Blocks"),precondition:_.has("isInDiffEditor")})}run(p,...u){let m=p.get(X),C=!m.getValue("diffEditor.experimental.showMoves");m.updateValue("diffEditor.experimental.showMoves",C)}}class _o extends cn{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:h(103,"Toggle Use Inline View When Space Is Limited"),precondition:_.has("isInDiffEditor")})}run(p,...u){let m=p.get(X),C=!m.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");m.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",C)}}var st=h(104,"Diff Editor");class vo extends zr{constructor(){super({id:"diffEditor.switchSide",title:h(105,"Switch Side"),icon:b.arrowSwap,precondition:_.has("isInDiffEditor"),f1:!0,category:st})}runEditorCommand(p,u,m){let C=He(p);if(C instanceof qa)if(m&&m.dryRun)return{destinationSelection:C.mapToOtherSide().destinationSelection};else C.switchSide();return}}class bo extends zr{constructor(){super({id:"diffEditor.exitCompareMove",title:h(106,"Exit Compare Move"),icon:b.close,precondition:r.comparingMovedCode,f1:!1,category:st,keybinding:{weight:1e4,primary:9}})}runEditorCommand(p,u,...m){let C=He(p);if(C instanceof qa)C.exitCompareMove()}}class So extends zr{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:h(107,"Collapse All Unchanged Regions"),icon:b.fold,precondition:_.has("isInDiffEditor"),f1:!0,category:st})}runEditorCommand(p,u,...m){let C=He(p);if(C instanceof qa)C.collapseAllUnchangedRegions()}}class yo extends zr{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:h(108,"Show All Unchanged Regions"),icon:b.unfold,precondition:_.has("isInDiffEditor"),f1:!0,category:st})}runEditorCommand(p,u,...m){let C=He(p);if(C instanceof qa)C.showAllUnchangedRegions()}}class ct extends cn{constructor(){super({id:"diffEditor.revert",title:h(109,"Revert"),f1:!0,category:st,precondition:_.has("isInDiffEditor")})}run(p,u){return u?this.runViaToolbarContext(p,u):this.runViaCursorOrSelection(p)}runViaCursorOrSelection(p){let u=He(p);if(u instanceof qa)u.revertFocusedRangeMappings();return}runViaToolbarContext(p,u){let m=nn(p,u.originalUri,u.modifiedUri);if(m instanceof qa)m.revertRangeMappings(u.mapping.innerChanges??[]);return}}var Fi=h(110,"Accessible Diff Viewer");class Ue extends cn{static{this.id="editor.action.accessibleDiffViewer.next"}constructor(){super({id:Ue.id,title:h(111,"Go to Next Difference"),category:Fi,precondition:_.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(p){He(p)?.accessibleDiffViewerNext()}}class at extends cn{static{this.id="editor.action.accessibleDiffViewer.prev"}constructor(){super({id:at.id,title:h(112,"Go to Previous Difference"),category:Fi,precondition:_.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(p){He(p)?.accessibleDiffViewerPrev()}}function nn(p,u,m){return p.get(ve).listDiffEditors().find((v)=>{let D=v.getModifiedEditor(),I=v.getOriginalEditor();return D&&D.getModel()?.uri.toString()===m.toString()&&I&&I.getModel()?.uri.toString()===u.toString()})||null}function He(p){let m=p.get(ve).listDiffEditors(),C=Lt();if(C){for(let y of m)if(y.getContainerDomNode().contains(C))return y}return null}Ze(go);Ze(Mt);Ze(_o);Dn.appendMenuItem(a.EditorTitle,{command:{id:new Mt().desc.id,title:e(135,"Show Moved Code Blocks"),icon:b.move,toggled:uf.create("config.diffEditor.experimental.showMoves",!0),precondition:_.has("isInDiffEditor")},order:10,group:"1_diff",when:_.has("isInDiffEditor")});Ze(ct);for(let p of[{icon:b.arrowRight,key:r.diffEditorInlineMode.toNegated()},{icon:b.discard,key:r.diffEditorInlineMode}])Dn.appendMenuItem(a.DiffEditorHunkToolbar,{command:{id:new ct().desc.id,title:e(136,"Revert Block"),icon:p.icon},when:_.and(r.diffEditorModifiedWritable,p.key),order:5,group:"primary"}),Dn.appendMenuItem(a.DiffEditorSelectionToolbar,{command:{id:new ct().desc.id,title:e(137,"Revert Selection"),icon:p.icon},when:_.and(r.diffEditorModifiedWritable,p.key),order:5,group:"primary"});Ze(vo);Ze(bo);Ze(So);Ze(yo);Dn.appendMenuItem(a.EditorTitle,{command:{id:Ue.id,title:e(138,"Open Accessible Diff Viewer"),precondition:_.has("isInDiffEditor")},order:10,group:"2_diff",when:_.and(r.accessibleDiffViewerVisible.negate(),_.has("isInDiffEditor"))});we.registerCommandAlias("editor.action.diffReview.next",Ue.id);Ze(Ue);we.registerCommandAlias("editor.action.diffReview.prev",at.id);Ze(at);var sn=function(p,u,m,C){var y=arguments.length,v=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,m):C,D;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")v=Reflect.decorate(p,u,m,C);else for(var I=p.length-1;I>=0;I--)if(D=p[I])v=(y<3?D(v):y>3?D(u,m,v):D(u,m))||v;return y>3&&v&&Object.defineProperty(u,m,v),v},an=function(p,u){return function(m,C){u(m,C,p)}},Do,kt=new N("selectionAnchorSet",!1),Ee=class p{static{Do=this}static{this.ID="editor.contrib.selectionAnchorController"}static get(u){return u.getContribution(Do.ID)}constructor(u,m){this.editor=u,this.selectionAnchorSetContextKey=kt.bindTo(m),this.modelChangeListener=u.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}setSelectionAnchor(){if(this.editor.hasModel()){let u=this.editor.getPosition();this.editor.changeDecorations((m)=>{if(this.decorationId)m.removeDecoration(this.decorationId);this.decorationId=m.addDecoration(A.fromPositions(u,u),{description:"selection-anchor",stickiness:1,hoverMessage:new xn().appendText(e(849,"Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),Ln(e(850,"Anchor set at {0}:{1}",u.lineNumber,u.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){let u=this.editor.getModel().getDecorationRange(this.decorationId);if(u)this.editor.setPosition(u.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){let u=this.editor.getModel().getDecorationRange(this.decorationId);if(u){let m=this.editor.getPosition();this.editor.setSelection(A.fromPositions(u.getStartPosition(),m)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){let u=this.decorationId;this.editor.changeDecorations((m)=>{m.removeDecoration(u),this.decorationId=void 0}),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};Ee=Do=sn([an(1,z)],Ee);class Vi extends W{constructor(){super({id:"editor.action.setSelectionAnchor",label:h(851,"Set Selection Anchor"),precondition:void 0,kbOpts:{kbExpr:r.editorTextFocus,primary:Zt(2089,2080),weight:100}})}async run(p,u){Ee.get(u)?.setSelectionAnchor()}}class qi extends W{constructor(){super({id:"editor.action.goToSelectionAnchor",label:h(852,"Go to Selection Anchor"),precondition:kt})}async run(p,u){Ee.get(u)?.goToSelectionAnchor()}}class Ui extends W{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:h(853,"Select from Anchor to Cursor"),precondition:kt,kbOpts:{kbExpr:r.editorTextFocus,primary:Zt(2089,2089),weight:100}})}async run(p,u){Ee.get(u)?.selectFromAnchorToCursor()}}class Qi extends W{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:h(854,"Cancel Selection Anchor"),precondition:kt,kbOpts:{kbExpr:r.editorTextFocus,primary:9,weight:100}})}async run(p,u){Ee.get(u)?.cancelSelectionAnchor()}}le(Ee.ID,Ee,4);R(Vi);R(qi);R(Ui);R(Qi);class wo{constructor(p,u){this._selection=p,this._isMovingLeft=u}getEditOperations(p,u){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;let m=this._selection.startLineNumber,C=this._selection.startColumn,y=this._selection.endColumn;if(this._isMovingLeft&&C===1)return;if(!this._isMovingLeft&&y===p.getLineMaxColumn(m))return;if(this._isMovingLeft){let v=new t(m,C-1,m,C),D=p.getValueInRange(v);u.addEditOperation(v,null),u.addEditOperation(new t(m,y,m,y),D)}else{let v=new t(m,y,m,y+1),D=p.getValueInRange(v);u.addEditOperation(v,null),u.addEditOperation(new t(m,C,m,C),D)}}computeCursorState(p,u){if(this._isMovingLeft)return new A(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1);else return new A(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class Io extends W{constructor(p,u){super(u);this.left=p}run(p,u){if(!u.hasModel())return;let m=[],C=u.getSelections();for(let y of C)m.push(new wo(y,this.left));u.pushUndoStop(),u.executeCommands(this.id,m),u.pushUndoStop()}}class Ki extends Io{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:h(861,"Move Selected Text Left"),precondition:r.writable})}}class Yi extends Io{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:h(862,"Move Selected Text Right"),precondition:r.writable})}}R(Ki);R(Yi);class Gi extends W{constructor(){super({id:"editor.action.transposeLetters",label:h(863,"Transpose Letters"),precondition:r.writable,kbOpts:{kbExpr:r.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(p,u){if(!u.hasModel())return;let m=u.getModel(),C=[],y=u.getSelections();for(let v of y){if(!v.isEmpty())continue;let{startLineNumber:D,startColumn:I}=v,M=m.getLineMaxColumn(D);if(D===1&&(I===1||I===2&&M===2))continue;let k=I===M?v.getPosition():_t.rightPosition(m,v.getPosition().lineNumber,v.getPosition().column),x=_t.leftPosition(m,k),O=_t.leftPosition(m,x),T=m.getValueInRange(t.fromPositions(O,x)),q=m.getValueInRange(t.fromPositions(x,k)),B=t.fromPositions(O,k);C.push(new oi(B,q+T))}if(C.length>0)u.pushUndoStop(),u.executeCommands(this.id,C),u.pushUndoStop()}}R(Gi);class We{constructor(){this.lenses=[]}static{this.Empty=new We}dispose(){this._store?.dispose()}get isDisposed(){return this._store?.isDisposed??!1}add(p,u){if(Ts(p))this._store??=new c,this._store.add(p);for(let m of p.lenses)this.lenses.push({symbol:m,provider:u})}}async function Mo(p,u,m){let C=p.ordered(u),y=new Map,v=new We,D=C.map(async(I,M)=>{y.set(I,M);try{let k=await Promise.resolve(I.provideCodeLenses(u,m));if(k)v.add(k,I)}catch(k){dt(k)}});if(await Promise.all(D),m.isCancellationRequested)return v.dispose(),We.Empty;return v.lenses=v.lenses.sort((I,M)=>{if(I.symbol.range.startLineNumber<M.symbol.range.startLineNumber)return-1;else if(I.symbol.range.startLineNumber>M.symbol.range.startLineNumber)return 1;else if(y.get(I.provider)<y.get(M.provider))return-1;else if(y.get(I.provider)>y.get(M.provider))return 1;else if(I.symbol.range.startColumn<M.symbol.range.startColumn)return-1;else if(I.symbol.range.startColumn>M.symbol.range.startColumn)return 1;else return 0}),v}we.registerCommand("_executeCodeLensProvider",function(p,...u){let[m,C]=u;Re(V.isUri(m)),Re(typeof C==="number"||!C);let{codeLensProvider:y}=p.get(j),v=p.get(bt).getModel(m);if(!v)throw tr();let D=[],I=new c;return Mo(y,v,he.None).then((M)=>{I.add(M);let k=[];for(let x of M.lenses)if(C===void 0||C===null||Boolean(x.symbol.command))D.push(x.symbol);else if(C-- >0&&x.provider.resolveCodeLens)k.push(Promise.resolve(x.provider.resolveCodeLens(v,x.symbol,he.None)).then((O)=>D.push(O||x.symbol)));return Promise.all(k)}).then(()=>D).finally(()=>{setTimeout(()=>I.dispose(),100)})});var dn=function(p,u,m,C){var y=arguments.length,v=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,m):C,D;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")v=Reflect.decorate(p,u,m,C);else for(var I=p.length-1;I>=0;I--)if(D=p[I])v=(y<3?D(v):y>3?D(u,m,v):D(u,m))||v;return y>3&&v&&Object.defineProperty(u,m,v),v},ln=function(p,u){return function(m,C){u(m,C,p)}},Eo=Z("ICodeLensCache");class ko{constructor(p,u){this.lineCount=p,this.data=u}}var xo=class p{constructor(u){this._fakeProvider=new class{provideCodeLenses(){throw Error("not supported")}},this._cache=new Li(20,0.75);let m="codelens/cache";df(Fe,()=>u.remove(m,1));let C="codelens/cache2",y=u.get(C,1,"{}");this._deserialize(y);let v=S.filter(u.onWillSaveState,(D)=>D.reason===$l.SHUTDOWN);S.once(v)((D)=>{u.store(C,this._serialize(),1,1)})}put(u,m){let C=m.lenses.map((D)=>({range:D.symbol.range,command:D.symbol.command&&{id:"",title:D.symbol.command?.title}})),y=new We;y.add({lenses:C},this._fakeProvider);let v=new ko(u.getLineCount(),y);this._cache.set(u.uri.toString(),v)}get(u){let m=this._cache.get(u.uri.toString());return m&&m.lineCount===u.getLineCount()?m.data:void 0}delete(u){this._cache.delete(u.uri.toString())}_serialize(){let u=Object.create(null);for(let[m,C]of this._cache){let y=new Set;for(let v of C.data.lenses)y.add(v.symbol.range.startLineNumber);u[m]={lineCount:C.lineCount,lines:[...y.values()]}}return JSON.stringify(u)}_deserialize(u){try{let m=JSON.parse(u);for(let C in m){let y=m[C],v=[];for(let I of y.lines)v.push({range:new t(I,1,I,11)});let D=new We;D.add({lenses:v},this._fakeProvider),this._cache.set(C,new ko(y.lineCount,D))}}catch{}}};xo=dn([ln(0,_n)],xo);fe(Eo,xo,1);class Xi{constructor(p,u,m){this.afterColumn=1073741824,this.afterLineNumber=p,this.heightInPx=u,this._onHeight=m,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(p){if(this._lastHeight===void 0)this._lastHeight=p;else if(this._lastHeight!==p)this._lastHeight=p,this._onHeight()}isVisible(){return this._lastHeight!==0&&this.domNode.hasAttribute("monaco-visible-view-zone")}}class xt{static{this._idPool=0}constructor(p,u){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=p,this._id=`codelens.widget-${xt._idPool++}`,this.updatePosition(u),this._domNode=document.createElement("span"),this._domNode.className="codelens-decoration"}withCommands(p,u){this._commands.clear();let m=[],C=!1;for(let y=0;y<p.length;y++){let v=p[y];if(!v)continue;if(C=!0,v.command){let D=Ps(v.command.title.trim());if(v.command.id){let I=`c${xt._idPool++}`;m.push(g("a",{id:I,title:v.command.tooltip,role:"button"},...D)),this._commands.set(I,v.command)}else m.push(g("span",{title:v.command.tooltip},...D));if(y+1<p.length)m.push(g("span",void 0," | "))}}if(!C)tn(this._domNode,g("span",void 0,"no commands"));else{if(tn(this._domNode,...m),this._isEmpty&&u)this._domNode.classList.add("fadein");this._isEmpty=!1}}getCommand(p){return p.parentElement===this._domNode?this._commands.get(p.id):void 0}getId(){return this._id}getDomNode(){return this._domNode}updatePosition(p){let u=this._editor.getModel().getLineFirstNonWhitespaceColumn(p);this._widgetPosition={position:{lineNumber:p,column:u},preference:[1]}}getPosition(){return this._widgetPosition||null}}class lt{constructor(){this._removeDecorations=[],this._addDecorations=[],this._addDecorationsCallbacks=[]}addDecoration(p,u){this._addDecorations.push(p),this._addDecorationsCallbacks.push(u)}removeDecoration(p){this._removeDecorations.push(p)}commit(p){let u=p.deltaDecorations(this._removeDecorations,this._addDecorations);for(let m=0,C=u.length;m<C;m++)this._addDecorationsCallbacks[m](u[m])}}var Zi=re.register({collapseOnReplaceEdit:!0,description:"codelens"});class Et{constructor(p,u,m,C,y,v){this._isDisposed=!1,this._editor=u,this._data=p,this._decorationIds=[];let D,I=[];if(this._data.forEach((M,k)=>{if(M.symbol.command)I.push(M.symbol);if(m.addDecoration({range:M.symbol.range,options:Zi},(x)=>this._decorationIds[k]=x),!D)D=t.lift(M.symbol.range);else D=t.plusRange(D,M.symbol.range)}),this._viewZone=new Xi(D.startLineNumber-1,y,v),this._viewZoneId=C.addZone(this._viewZone),I.length>0)this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(I,!1)}_createContentWidgetIfNecessary(){if(!this._contentWidget)this._contentWidget=new xt(this._editor,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget);else this._editor.layoutContentWidget(this._contentWidget)}dispose(p,u){if(this._decorationIds.forEach(p.removeDecoration,p),this._decorationIds=[],u?.removeZone(this._viewZoneId),this._contentWidget)this._editor.removeContentWidget(this._contentWidget),this._contentWidget=void 0;this._isDisposed=!0}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some((p,u)=>{let m=this._editor.getModel().getDecorationRange(p),C=this._data[u].symbol;return!!(m&&t.isEmpty(C.range)===m.isEmpty())})}updateCodeLensSymbols(p,u){this._decorationIds.forEach(u.removeDecoration,u),this._decorationIds=[],this._data=p,this._data.forEach((m,C)=>{u.addDecoration({range:m.symbol.range,options:Zi},(y)=>this._decorationIds[C]=y)})}updateHeight(p,u){if(this._viewZone.heightInPx=p,u.layoutZone(this._viewZoneId),this._contentWidget)this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(p){if(!this._viewZone.isVisible())return null;for(let u=0;u<this._decorationIds.length;u++){let m=p.getDecorationRange(this._decorationIds[u]);if(m)this._data[u].symbol.range=m}return this._data}updateCommands(p){this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(p,!0);for(let u=0;u<this._data.length;u++){let m=p[u];if(m){let{symbol:C}=this._data[u];C.command=m.command||C.command}}}getCommand(p){return this._contentWidget?.getCommand(p)}getLineNumber(){let p=this._editor.getModel().getDecorationRange(this._decorationIds[0]);if(p)return p.startLineNumber;return-1}update(p){if(this.isValid()){let u=this._editor.getModel().getDecorationRange(this._decorationIds[0]);if(u){if(this._viewZone.afterLineNumber=u.startLineNumber-1,p.layoutZone(this._viewZoneId),this._contentWidget)this._contentWidget.updatePosition(u.startLineNumber),this._editor.layoutContentWidget(this._contentWidget)}}}}var hn=function(p,u,m,C){var y=arguments.length,v=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,m):C,D;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")v=Reflect.decorate(p,u,m,C);else for(var I=p.length-1;I>=0;I--)if(D=p[I])v=(y<3?D(v):y>3?D(u,m,v):D(u,m))||v;return y>3&&v&&Object.defineProperty(u,m,v),v},ht=function(p,u){return function(m,C){u(m,C,p)}},mt=class p{static{this.ID="css.editor.codeLens"}constructor(u,m,C,y,v,D){this._editor=u,this._languageFeaturesService=m,this._commandService=y,this._notificationService=v,this._codeLensCache=D,this._disposables=new c,this._localToDispose=new c,this._lenses=[],this._oldCodeLensModels=new c,this._provideCodeLensDebounce=C.for(m.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=C.for(m.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new be(()=>this._resolveCodeLensesInViewport(),this._resolveCodeLensesDebounce.default()),this._disposables.add(this._editor.onDidChangeModel(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeConfiguration((I)=>{if(I.hasChanged(59)||I.hasChanged(25)||I.hasChanged(24))this._updateLensStyle();if(I.hasChanged(23))this._onModelChange()})),this._disposables.add(m.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._updateLensStyle()}dispose(){this._localDispose(),this._localToDispose.dispose(),this._disposables.dispose(),this._resolveCodeLensesScheduler.dispose(),this._oldCodeLensModels.dispose(),this._currentCodeLensModel?.dispose()}_getLayoutInfo(){let u=Math.max(1.3,this._editor.getOption(75)/this._editor.getOption(61)),m=this._editor.getOption(25);if(!m||m<5)m=this._editor.getOption(61)*0.9|0;return{fontSize:m,codeLensHeight:m*u|0}}_updateLensStyle(){let{codeLensHeight:u,fontSize:m}=this._getLayoutInfo(),C=this._editor.getOption(24),y=this._editor.getOption(59),{style:v}=this._editor.getContainerDomNode();if(v.setProperty("--vscode-editorCodeLens-lineHeight",`${u}px`),v.setProperty("--vscode-editorCodeLens-fontSize",`${m}px`),v.setProperty("--vscode-editorCodeLens-fontFeatureSettings",y.fontFeatureSettings),C)v.setProperty("--vscode-editorCodeLens-fontFamily",C),v.setProperty("--vscode-editorCodeLens-fontFamilyDefault",dr.fontFamily);this._editor.changeViewZones((D)=>{for(let I of this._lenses)I.updateHeight(u,D)})}_localDispose(){this._getCodeLensModelPromise?.cancel(),this._getCodeLensModelPromise=void 0,this._resolveCodeLensesPromise?.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),this._currentCodeLensModel?.dispose()}_onModelChange(){this._localDispose();let u=this._editor.getModel();if(!u)return;if(!this._editor.getOption(23)||u.isTooLargeForTokenization())return;let m=this._codeLensCache.get(u);if(m)this._renderCodeLensSymbols(m);if(!this._languageFeaturesService.codeLensProvider.has(u)){if(m)Yn(()=>{let y=this._codeLensCache.get(u);if(m===y)this._codeLensCache.delete(u),this._onModelChange()},30000,this._localToDispose);return}for(let y of this._languageFeaturesService.codeLensProvider.all(u))if(typeof y.onDidChange==="function"){let v=y.onDidChange(()=>C.schedule());this._localToDispose.add(v)}let C=new be(()=>{let y=Date.now();this._getCodeLensModelPromise?.cancel(),this._getCodeLensModelPromise=jt((v)=>Mo(this._languageFeaturesService.codeLensProvider,u,v)),this._getCodeLensModelPromise.then((v)=>{if(this._currentCodeLensModel)this._oldCodeLensModels.add(this._currentCodeLensModel);this._currentCodeLensModel=v,this._codeLensCache.put(u,v);let D=this._provideCodeLensDebounce.update(u,Date.now()-y);C.delay=D,this._renderCodeLensSymbols(v),this._resolveCodeLensesInViewportSoon()},J)},this._provideCodeLensDebounce.get(u));this._localToDispose.add(C),this._localToDispose.add(E(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._editor.changeDecorations((y)=>{this._editor.changeViewZones((v)=>{let D=[],I=-1;this._lenses.forEach((k)=>{if(!k.isValid()||I===k.getLineNumber())D.push(k);else k.update(v),I=k.getLineNumber()});let M=new lt;D.forEach((k)=>{k.dispose(M,v),this._lenses.splice(this._lenses.indexOf(k),1)}),M.commit(y)})}),C.schedule(),this._resolveCodeLensesScheduler.cancel(),this._resolveCodeLensesPromise?.cancel(),this._resolveCodeLensesPromise=void 0})),this._localToDispose.add(this._editor.onDidFocusEditorText(()=>{C.schedule()})),this._localToDispose.add(this._editor.onDidBlurEditorText(()=>{C.cancel()})),this._localToDispose.add(this._editor.onDidScrollChange((y)=>{if(y.scrollTopChanged&&this._lenses.length>0)this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(this._editor.onDidLayoutChange(()=>{this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(E(()=>{if(this._editor.getModel()){let y=$o.capture(this._editor);this._editor.changeDecorations((v)=>{this._editor.changeViewZones((D)=>{this._disposeAllLenses(v,D)})}),y.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)})),this._localToDispose.add(this._editor.onMouseDown((y)=>{if(y.target.type!==9)return;let v=y.target.element;if(v?.tagName==="SPAN")v=v.parentElement;if(v?.tagName==="A")for(let D of this._lenses){let I=D.getCommand(v);if(I){this._commandService.executeCommand(I.id,...I.arguments||[]).catch((M)=>this._notificationService.error(M));break}}})),C.schedule()}_disposeAllLenses(u,m){let C=new lt;for(let y of this._lenses)y.dispose(C,m);if(u)C.commit(u);this._lenses.length=0}_renderCodeLensSymbols(u){if(!this._editor.hasModel())return;let m=this._editor.getModel().getLineCount(),C=[],y;for(let I of u.lenses){let M=I.symbol.range.startLineNumber;if(M<1||M>m)continue;else if(y&&y[y.length-1].symbol.range.startLineNumber===M)y.push(I);else y=[I],C.push(y)}if(!C.length&&!this._lenses.length)return;let v=$o.capture(this._editor),D=this._getLayoutInfo();this._editor.changeDecorations((I)=>{this._editor.changeViewZones((M)=>{let k=new lt,x=0,O=0;while(O<C.length&&x<this._lenses.length){let T=C[O][0].symbol.range.startLineNumber,q=this._lenses[x].getLineNumber();if(q<T)this._lenses[x].dispose(k,M),this._lenses.splice(x,1);else if(q===T)this._lenses[x].updateCodeLensSymbols(C[O],k),O++,x++;else this._lenses.splice(x,0,new Et(C[O],this._editor,k,M,D.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),x++,O++}while(x<this._lenses.length)this._lenses[x].dispose(k,M),this._lenses.splice(x,1);while(O<C.length)this._lenses.push(new Et(C[O],this._editor,k,M,D.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),O++;k.commit(I)})}),v.restore(this._editor)}_resolveCodeLensesInViewportSoon(){if(this._editor.getModel())this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){this._resolveCodeLensesPromise?.cancel(),this._resolveCodeLensesPromise=void 0;let u=this._editor.getModel();if(!u)return;let m=[],C=[];if(this._lenses.forEach((D)=>{let I=D.computeIfNecessary(u);if(I)m.push(I),C.push(D)}),m.length===0){this._oldCodeLensModels.clear();return}let y=Date.now(),v=jt((D)=>{let I=m.map((M,k)=>{let x=Array(M.length),O=M.map((T,q)=>{if(!T.symbol.command&&typeof T.provider.resolveCodeLens==="function")return Promise.resolve(T.provider.resolveCodeLens(u,T.symbol,D)).then((B)=>{x[q]=B},dt);else return x[q]=T.symbol,Promise.resolve(void 0)});return Promise.all(O).then(()=>{if(!D.isCancellationRequested&&!C[k].isDisposed())C[k].updateCommands(x)})});return Promise.all(I)});this._resolveCodeLensesPromise=v,this._resolveCodeLensesPromise.then(()=>{let D=this._resolveCodeLensesDebounce.update(u,Date.now()-y);if(this._resolveCodeLensesScheduler.delay=D,this._currentCodeLensModel)this._codeLensCache.put(u,this._currentCodeLensModel);if(this._oldCodeLensModels.clear(),v===this._resolveCodeLensesPromise)this._resolveCodeLensesPromise=void 0},(D)=>{if(J(D),v===this._resolveCodeLensesPromise)this._resolveCodeLensesPromise=void 0})}async getModel(){return await this._getCodeLensModelPromise,await this._resolveCodeLensesPromise,!this._currentCodeLensModel?.isDisposed?this._currentCodeLensModel:void 0}};mt=hn([ht(1,j),ht(2,Wi),ht(3,Ae),ht(4,ut),ht(5,Eo)],mt);le(mt.ID,mt,1);R(class p extends W{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:r.hasCodeLensProvider,label:h(935,"Show CodeLens Commands for Current Line")})}async run(u,m){if(!m.hasModel())return;let C=u.get(un),y=u.get(Ae),v=u.get(ut),D=m.getSelection().positionLineNumber,I=m.getContribution(mt.ID);if(!I)return;let M=await I.getModel();if(!M)return;let k=[];for(let T of M.lenses)if(T.symbol.command&&T.symbol.range.startLineNumber===D)k.push({label:T.symbol.command.title,command:T.symbol.command});if(k.length===0)return;let x=await C.pick(k,{canPickMany:!1,placeHolder:e(934,"Select a command")});if(!x)return;let O=x.command;if(M.isDisposed){let q=(await I.getModel())?.lenses.find((B)=>B.symbol.range.startLineNumber===D&&B.symbol.command?.title===O.title);if(!q||!q.symbol.command)return;O=q.symbol.command}try{await y.executeCommand(O.id,...O.arguments||[])}catch(T){v.error(T)}}});class Tt extends n{static{this.ID="editor.contrib.colorContribution"}constructor(p){super();this._editor=p,this._register(p.onMouseDown((u)=>this.onMouseDown(u)))}dispose(){super.dispose()}onMouseDown(p){let u=this._editor.getOption(169);if(u!=="click"&&u!=="clickAndHover")return;if(!b_(p))return;let m=this._editor.getContribution(lr.ID);if(!m)return;if(m.isColorPickerVisible)return;let C=p.target.range;if(!C)return;let y=new t(C.startLineNumber,C.startColumn+1,C.endLineNumber,C.endColumn+1);m.showContentHover(y,1,1,!1)}}var mn=function(p,u,m,C){var y=arguments.length,v=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,m):C,D;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")v=Reflect.decorate(p,u,m,C);else for(var I=p.length-1;I>=0;I--)if(D=p[I])v=(y<3?D(v):y>3?D(u,m,v):D(u,m))||v;return y>3&&v&&Object.defineProperty(u,m,v),v},fn=function(p,u){return function(m,C){u(m,C,p)}};class Lo{constructor(p,u,m,C){this.owner=p,this.range=u,this.model=m,this.provider=C}static fromBaseColor(p,u){return new Lo(p,u.range,u.model,u.provider)}}class Ji extends n{constructor(p,u,m,C){super();let y=p.getModel(),v=m.model;this.color=m.model.color,this.colorPicker=this._register(new av(u.fragment,v,p.getOption(164),C,"standalone")),this._register(v.onColorFlushed((D)=>{this.color=D})),this._register(v.onDidChangeColor((D)=>{tf(y,v,D,m.range,m)})),this._register(p.onDidChangeModelContent((D)=>{u.hide(),p.focus()})),tf(y,v,this.color,m.range,m)}}var Pt=class p{constructor(u,m){this._editor=u,this._themeService=m}async createColorHover(u,m,C){if(!this._editor.hasModel())return null;if(!ou.get(this._editor))return null;let v=await p_(C,this._editor.getModel(),he.None),D=null,I=null;for(let T of v){let q=T.colorInfo;if(t.containsRange(q.range,u.range))D=q,I=T.provider}let M=D??u,k=I??m,x=!!D;return{colorHover:Lo.fromBaseColor(this,await m_(this._editor.getModel(),M,k)),foundInEditor:x}}async updateEditorModel(u,m){if(!this._editor.hasModel())return;let C=u.model,y=new t(u.range.startLineNumber,u.range.startColumn,u.range.endLineNumber,u.range.endColumn);if(this._color)await tf(this._editor.getModel(),C,this._color,y,u),y=g_(this._editor,y,C,m)}renderHoverParts(u,m){if(m.length===0||!this._editor.hasModel())return;return this._setMinimumDimensions(u),this._renderedParts=new Ji(this._editor,u,m[0],this._themeService),this._renderedParts}_setMinimumDimensions(u){let m=this._editor.getOption(75)+8;u.setMinimumDimensions(new Ye(302,m))}get _color(){return this._renderedParts?.color}};Pt=mn([fn(1,Ne)],Pt);var pn=function(p,u,m,C){var y=arguments.length,v=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,m):C,D;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")v=Reflect.decorate(p,u,m,C);else for(var I=p.length-1;I>=0;I--)if(D=p[I])v=(y<3?D(v):y>3?D(u,m,v):D(u,m))||v;return y>3&&v&&Object.defineProperty(u,m,v),v},ft=function(p,u){return function(m,C){u(m,C,p)}},To;class ir{constructor(p,u){this.value=p,this.foundInEditor=u}}var or=8,Cn=22,At=class p extends n{static{To=this}static{this.ID="editor.contrib.standaloneColorPickerWidget"}constructor(u,m,C,y,v,D,I,M){super();this._editor=u,this._standaloneColorPickerVisible=m,this._standaloneColorPickerFocused=C,this._keybindingService=v,this._languageFeaturesService=D,this._editorWorkerService=I,this._hoverService=M,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement("div"),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new i),this.onResult=this._onResult.event,this._renderedHoverParts=this._register(new ie),this._renderedStatusBar=this._register(new ie),this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=y.createInstance(Pt,this._editor),this._position=this._editor._getViewModel()?.getPrimaryCursorState().modelState.position;let k=this._editor.getSelection();this._selections=this._editor.getSelections()??[];let x=k?{startLineNumber:k.startLineNumber,startColumn:k.startColumn,endLineNumber:k.endLineNumber,endColumn:k.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},O=this._register(Xn(this._body));this._register(O.onDidBlur((T)=>{this.hide()})),this._register(O.onDidFocus((T)=>{this.focus()})),this._register(this._editor.onDidChangeCursorPosition(()=>{if(!this._selectionSetInEditor)this.hide();else this._selectionSetInEditor=!1;this._selections=this._editor.getSelections()??[]})),this._register(this._editor.onMouseMove((T)=>{let q=T.target.element?.classList;if(q&&q.contains("colorpicker-color-decoration"))this.hide()})),this._register(this.onResult((T)=>{this._render(T.value,T.foundInEditor)})),this._start(x),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){if(this._colorHover)this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover,this._selections)}getId(){return To.ID}getDomNode(){return this._body}getPosition(){if(!this._position)return null;let u=this._editor.getOption(69).above;return{position:this._position,secondaryPosition:this._position,preference:u?[1,2]:[2,1],positionAffinity:2}}hide(){this.dispose(),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerFocused.set(!1),this._editor.removeContentWidget(this),this._editor.focus()}focus(){this._standaloneColorPickerFocused.set(!0),this._body.focus()}async _start(u){let m=await this._computeAsync(u);if(!m)return;this._onResult.fire(new ir(m.result,m.foundInEditor))}async _computeAsync(u){if(!this._editor.hasModel())return null;let m={range:u,color:{red:0,green:0,blue:0,alpha:1}},C=await this._standaloneColorPickerParticipant.createColorHover(m,new ef(this._editorWorkerService),this._languageFeaturesService.colorProvider);if(!C)return null;return{result:C.colorHover,foundInEditor:C.foundInEditor}}_render(u,m){let C=document.createDocumentFragment();this._renderedStatusBar.value=this._register(new ag(this._keybindingService,this._hoverService));let y={fragment:C,statusBar:this._renderedStatusBar.value,onContentsChanged:()=>{},setMinimumDimensions:()=>{},hide:()=>this.hide(),focus:()=>this.focus()};if(this._colorHover=u,this._renderedHoverParts.value=this._standaloneColorPickerParticipant.renderHoverParts(y,[u]),!this._renderedHoverParts.value){this._renderedStatusBar.clear(),this._renderedHoverParts.clear();return}let v=this._renderedHoverParts.value.colorPicker;this._body.classList.add("standalone-colorpicker-body"),this._body.style.maxHeight=Math.max(this._editor.getLayoutInfo().height/4,250)+"px",this._body.style.maxWidth=Math.max(this._editor.getLayoutInfo().width*0.66,500)+"px",this._body.tabIndex=0,this._body.appendChild(C),v.layout();let D=v.body,I=D.saturationBox.domNode.clientWidth,M=D.domNode.clientWidth-I-Cn-or,k=v.body.enterButton;k?.onClicked(()=>{this.updateEditor(),this.hide()});let x=v.header,O=x.pickedColorNode;O.style.width=I+or+"px";let T=x.originalColorNode;if(T.style.width=M+"px",v.header.closeButton?.onClicked(()=>{this.hide()}),m){if(k)k.button.textContent="Replace";this._selectionSetInEditor=!0,this._editor.setSelection(u.range)}this._editor.layoutContentWidget(this)}};At=To=pn([ft(3,L),ft(4,ce),ft(5,j),ft(6,gi),ft(7,wn)],At);var vn=function(p,u,m,C){var y=arguments.length,v=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,m):C,D;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")v=Reflect.decorate(p,u,m,C);else for(var I=p.length-1;I>=0;I--)if(D=p[I])v=(y<3?D(v):y>3?D(u,m,v):D(u,m))||v;return y>3&&v&&Object.defineProperty(u,m,v),v},rr=function(p,u){return function(m,C){u(m,C,p)}},Po,Ie=class p extends n{static{Po=this}static{this.ID="editor.contrib.standaloneColorPickerController"}constructor(u,m,C){super();this._editor=u,this._instantiationService=C,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=r.standaloneColorPickerVisible.bindTo(m),this._standaloneColorPickerFocused=r.standaloneColorPickerFocused.bindTo(m)}showOrFocus(){if(!this._editor.hasModel())return;if(!this._standaloneColorPickerVisible.get())this._standaloneColorPickerWidget=this._instantiationService.createInstance(At,this._editor,this._standaloneColorPickerVisible,this._standaloneColorPickerFocused);else if(!this._standaloneColorPickerFocused.get())this._standaloneColorPickerWidget?.focus()}hide(){this._standaloneColorPickerFocused.set(!1),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerWidget?.hide(),this._editor.focus()}insertColor(){this._standaloneColorPickerWidget?.updateEditor(),this.hide()}static get(u){return u.getContribution(Po.ID)}};Ie=Po=vn([rr(1,z),rr(2,L)],Ie);class Ao extends zr{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...h(940,"Show or Focus Standalone Color Picker"),mnemonicTitle:e(939,"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:a.CommandPalette}],metadata:{description:h(941,"Show or focus a standalone color picker which uses the default color provider. It displays hex/rgb/hsl colors.")}})}runEditorCommand(p,u){Ie.get(u)?.showOrFocus()}}class Ro extends W{constructor(){super({id:"editor.action.hideColorPicker",label:h(942,"Hide the Color Picker"),precondition:r.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:h(943,"Hide the standalone color picker.")}})}run(p,u){Ie.get(u)?.hide()}}class No extends W{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:h(944,"Insert Color with Standalone Color Picker"),precondition:r.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:h(945,"Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(p,u){Ie.get(u)?.insertColor()}}R(Ro);R(No);Ze(Ao);le(Tt.ID,Tt,2);le(Ie.ID,Ie,1);le(ou.ID,ou,1);Ua(h_);Ra.register(lg);we.registerCommand("_executeDocumentColorProvider",function(p,...u){let[m]=u;if(!(m instanceof V))throw tr();let{model:C,colorProviderRegistry:y,defaultColorDecoratorsEnablement:v}=Q1(p,m);return f_(new Z1,y,C,he.None,v)});we.registerCommand("_executeColorPresentationProvider",function(p,...u){let[m,C]=u;if(!C)return;let{uri:y,range:v}=C;if(!(y instanceof V)||!Array.isArray(m)||m.length!==4||!t.isIRange(v))throw tr();let{model:D,colorProviderRegistry:I,defaultColorDecoratorsEnablement:M}=Q1(p,y),[k,x,O,T]=m;return f_(new X1({range:v,color:{red:k,green:x,blue:O,alpha:T}}),I,D,he.None,M)});var Sn="editor.action.pasteAs";le(nc.ID,nc,0);Ua(c_);U(new class extends Vt{constructor(){super({id:Y1,precondition:u_,kbOpts:{weight:100,primary:2137}})}runEditorCommand(p,u){return nc.get(u)?.changePasteType()}});U(new class extends Vt{constructor(){super({id:"editor.hidePasteWidget",precondition:u_,kbOpts:{weight:100,primary:9}})}runEditorCommand(p,u){nc.get(u)?.clearWidgets()}});R(class p extends W{static{this.argsSchema={oneOf:[{type:"object",required:["kind"],properties:{kind:{type:"string",description:e(967,`The kind of the paste edit to try pasting with.
|
|
2
|
-
If there are multiple edits for this kind, the editor will show a picker. If there are no edits of this kind, the editor will show an error message.`)}}},{type:"object",required:["preferences"],properties:{preferences:{type:"array",description:e(968,`List of preferred paste edit kind to try applying.
|
|
3
|
-
The first edit matching the preferences will be applied.`),items:{type:"string"}}}}]}}constructor(){super({id:Sn,label:h(969,"Paste As..."),precondition:r.writable,metadata:{description:"Paste as",args:[{name:"args",schema:p.argsSchema}]},canTriggerInlineEdits:!0})}run(u,m,C){let y;if(C){if("kind"in C)y={only:new It(C.kind)};else if("preferences"in C)y={preferences:C.preferences.map((v)=>new It(v))}}return nc.get(m)?.pasteAs(y)}});R(class extends W{constructor(){super({id:"editor.action.pasteAsText",label:h(970,"Paste as Text"),precondition:r.writable,canTriggerInlineEdits:!0})}run(p,u){return nc.get(u)?.pasteAs({providerId:iu.id})}});class Oo{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(p){if(p&&this._dragOperations.has(p)){let u=this._dragOperations.get(p);return this._dragOperations.delete(p),u}return}}class Rt{constructor(p){this.identifier=p}}var jo=Z("treeViewsDndService");fe(jo,Oo,1);var yn=function(p,u,m,C){var y=arguments.length,v=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,m):C,D;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")v=Reflect.decorate(p,u,m,C);else for(var I=p.length-1;I>=0;I--)if(D=p[I])v=(y<3?D(v):y>3?D(u,m,v):D(u,m))||v;return y>3&&v&&Object.defineProperty(u,m,v),v},Ot=function(p,u){return function(m,C){u(m,C,p)}},ke,In="editor.dropIntoEditor.preferences",zo="editor.changeDropType",zt=new N("dropWidgetVisible",!1,e(988,"Whether the drop widget is showing")),Ve=class p extends n{static{ke=this}static{this.ID="editor.contrib.dropIntoEditorController"}static get(u){return u.getContribution(ke.ID)}constructor(u,m,C,y,v){super();this._configService=C,this._languageFeaturesService=y,this._treeViewsDragAndDropService=v,this.treeItemsTransfer=Dv.getInstance(),this._dropProgressManager=this._register(m.createInstance(rg,"dropIntoEditor",u)),this._postDropWidgetManager=this._register(m.createInstance(sg,"dropIntoEditor",u,zt,{id:zo,label:e(989,"Show drop options...")},()=>ke._configureDefaultAction?[ke._configureDefaultAction]:[])),this._register(u.onDropIntoEditor((D)=>this.onDropIntoEditor(u,D.position,D.event)))}clearWidgets(){this._postDropWidgetManager.clear()}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(u,m,C){if(!C.dataTransfer||!u.hasModel())return;ke._currentDropOperation?.cancel(),u.focus(),u.setPosition(m);let y=jt(async(v)=>{let D=new c,I=D.add(new Yo(u,1,void 0,v));try{let M=await this.extractDataTransferData(C);if(M.size===0||I.token.isCancellationRequested)return;let k=u.getModel();if(!k)return;let x=this._languageFeaturesService.documentDropEditProvider.ordered(k).filter((T)=>{if(!T.dropMimeTypes)return!0;return T.dropMimeTypes.some((q)=>M.matches(q))}),O=D.add(await this.getDropEdits(x,k,m,M,I.token));if(I.token.isCancellationRequested)return;if(O.edits.length){let T=this.getInitialActiveEditIndex(k,O.edits),q=u.getOption(43).showDropSelector==="afterDrop";await this._postDropWidgetManager.applyEditAndShowIfNeeded([t.fromPositions(m)],{activeEditIndex:T,allEdits:O.edits},q,async(B)=>B,v)}}finally{if(D.dispose(),ke._currentDropOperation===y)ke._currentDropOperation=void 0}});this._dropProgressManager.showWhile(m,e(990,"Running drop handlers. Click to cancel"),y,{cancel:()=>y.cancel()}),ke._currentDropOperation=y}async getDropEdits(u,m,C,y,v){let D=new c,I=await vl(Promise.all(u.map(async(k)=>{try{let x=await k.provideDocumentDropEdits(m,C,y,v);if(x)D.add(x);return x?.edits.map((O)=>({...O,providerId:k.id}))}catch(x){if(!Jn(x))console.error(x);console.error(x)}return})),v),M=er(I??[]).flat();return{edits:d_(M),dispose:()=>D.dispose()}}getInitialActiveEditIndex(u,m){let C=this._configService.getValue(In,{resource:u.uri});for(let y of Array.isArray(C)?C:[]){let v=new It(y),D=m.findIndex((I)=>I.kind&&v.contains(I.kind));if(D>=0)return D}return 0}async extractDataTransferData(u){if(!u.dataTransfer)return new Vh;let m=W_(u.dataTransfer);if(this.treeItemsTransfer.hasData(Rt.prototype)){let C=this.treeItemsTransfer.getData(Rt.prototype);if(Array.isArray(C))for(let y of C){let v=await this._treeViewsDragAndDropService.removeDragOperationTransfer(y.identifier);if(v)for(let[D,I]of v)m.replace(D,I)}}return m}};Ve=ke=yn([Ot(1,L),Ot(2,X),Ot(3,j),Ot(4,jo)],Ve);le(Ve.ID,Ve,2);Ua(l_);U(new class extends Vt{constructor(){super({id:zo,precondition:zt,kbOpts:{weight:100,primary:2137}})}runEditorCommand(p,u,m){Ve.get(u)?.changeDropType()}});U(new class extends Vt{constructor(){super({id:"editor.hideDropWidget",precondition:zt,kbOpts:{weight:100,primary:9}})}runEditorCommand(p,u,m){Ve.get(u)?.clearWidgets()}});class nr extends W{constructor(){super({id:"editor.action.fontZoomIn",label:h(1069,"Increase Editor Font Size"),precondition:void 0})}run(p,u){Co.setZoomLevel(Co.getZoomLevel()+1)}}class sr extends W{constructor(){super({id:"editor.action.fontZoomOut",label:h(1070,"Decrease Editor Font Size"),precondition:void 0})}run(p,u){Co.setZoomLevel(Co.getZoomLevel()-1)}}class ar extends W{constructor(){super({id:"editor.action.fontZoomReset",label:h(1071,"Reset Editor Font Size"),precondition:void 0})}run(p,u){Co.setZoomLevel(0)}}R(nr);R(sr);R(ar);we.registerCommand("_executeDocumentSymbolProvider",async function(p,...u){let[m]=u;Re(V.isUri(m));let C=p.get(su),v=await p.get(bn).createModelReference(m);try{return(await C.getOrCreate(v.object.textEditorModel,he.None)).getTopLevelSymbols()}finally{v.dispose()}});var Mn=function(p,u,m,C){var y=arguments.length,v=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,m):C,D;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")v=Reflect.decorate(p,u,m,C);else for(var I=p.length-1;I>=0;I--)if(D=p[I])v=(y<3?D(v):y>3?D(u,m,v):D(u,m))||v;return y>3&&v&&Object.defineProperty(u,m,v),v},hr=function(p,u){return function(m,C){u(m,C,p)}},Ht=class p extends n{static{this.ID="editor.contrib.markerSelectionStatus"}constructor(u,m,C){super();this._editor=u,this._markerService=C,this._ctxHasDiagnostics=r.selectionHasDiagnostics.bindTo(m),this._store.add(this._editor.onDidChangeCursorSelection(()=>this._update())),this._store.add(this._editor.onDidChangeModel(()=>this._update())),this._store.add(this._markerService.onMarkerChanged((y)=>{let v=this._editor.getModel();if(v&&y.some((D)=>Vo(D,v.uri)))this._update()})),this._update()}dispose(){this._ctxHasDiagnostics.reset(),super.dispose()}_update(){let u=this._editor.getModel(),m=this._editor.getSelection();if(!u||!m){this._ctxHasDiagnostics.reset();return}let y=this._markerService.read({resource:u.uri,severities:Gt.Error|Gt.Warning|Gt.Info}).some((v)=>t.areIntersecting({startLineNumber:v.startLineNumber,startColumn:v.startColumn,endLineNumber:v.endLineNumber,endColumn:v.endColumn},m));this._ctxHasDiagnostics.set(y)}};Ht=Mn([hr(1,z),hr(2,fo)],Ht);le(Ht.ID,Ht,1);class mr extends W{constructor(){super({id:"editor.action.debugEditorGpuRenderer",label:h(1159,"Developer: Debug Editor GPU Renderer"),precondition:_.true()})}async run(p,u){let m=p.get(L),y=await p.get(un).pick([{label:e(1156,"Log Texture Atlas Stats"),id:"logTextureAtlasStats"},{label:e(1157,"Save Texture Atlas"),id:"saveTextureAtlas"},{label:e(1158,"Draw Glyph"),id:"drawGlyph"}],{canPickMany:!1});if(!y)return;switch(y.id){case"logTextureAtlasStats":m.invokeFunction((v)=>{let D=v.get(Be),I=Bi.atlas;if(!Bi.atlas){D.error("No texture atlas found");return}let M=I.getStats();D.info(["Texture atlas stats",...M].join(`
|
|
4
|
-
|
|
5
|
-
`))});break;case"saveTextureAtlas":m.invokeFunction(async(v)=>{let D=v.get(Fs),I=v.get(ek),M=D.getWorkspace().folders;if(M.length>0){let k=Bi.atlas,x=[];for(let[O,T]of k.pages.entries())x.push(...[I.writeFile(V.joinPath(M[0].uri,`textureAtlasPage${O}_actual.png`),wl.wrap(new Uint8Array(await(await T.source.convertToBlob()).arrayBuffer()))),I.writeFile(V.joinPath(M[0].uri,`textureAtlasPage${O}_usage.png`),wl.wrap(new Uint8Array(await(await T.getUsagePreview()).arrayBuffer())))]);await Promise.all(x)}});break;case"drawGlyph":m.invokeFunction(async(v)=>{let D=v.get(X),I=v.get(ek),M=v.get(un),x=v.get(Fs).getWorkspace().folders;if(x.length===0)return;let O=Bi.atlas,T=D.getValue("editor.fontFamily"),q=D.getValue("editor.fontSize"),B=new _u(q,T,Me().devicePixelRatio,Bi.decorationStyleCache),Q=await M.input({prompt:"Enter a character to draw (prefix with 0x for code point))"});if(!Q)return;let K=Q.match(/0x(?<codePoint>[0-9a-f]+)/i)?.groups?.codePoint;if(K!==void 0)Q=String.fromCodePoint(parseInt(K,16));let te=0,ae=0,de=O.getGlyph(B,Q,te,ae,0);if(!de)return;let ue=O.pages[de.pageIndex].source.getContext("2d")?.getImageData(de.x,de.y,de.w,de.h);if(!ue)return;let me=new OffscreenCanvas(ue.width,ue.height);Tl(me.getContext("2d")).putImageData(ue,0,0);let ye=await me.convertToBlob({type:"image/png"}),nt=V.joinPath(x[0].uri,`glyph_${Q}_${te}_${q}px_${T.replaceAll(/[,\\\/\.'\s]/g,"_")}.png`);await I.writeFile(nt,wl.wrap(new Uint8Array(await ye.arrayBuffer())))});break}}}R(mr);le(nf.ID,nf,1);Ra.register(cg);class Ho{constructor(p,u,m){this._editRange=p,this._originalSelection=u,this._text=m}getEditOperations(p,u){u.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(p,u){let C=u.getInverseEditOperations()[0].range;if(!this._originalSelection.isEmpty())return new A(C.endLineNumber,C.endColumn-this._text.length,C.endLineNumber,C.endColumn);return new A(C.endLineNumber,Math.min(this._originalSelection.positionColumn,C.endColumn),C.endLineNumber,Math.min(this._originalSelection.positionColumn,C.endColumn))}}var En=function(p,u,m,C){var y=arguments.length,v=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,m):C,D;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")v=Reflect.decorate(p,u,m,C);else for(var I=p.length-1;I>=0;I--)if(D=p[I])v=(y<3?D(v):y>3?D(u,m,v):D(u,m))||v;return y>3&&v&&Object.defineProperty(u,m,v),v},Pn=function(p,u){return function(m,C){u(m,C,p)}},qt,Ke=class p{static{qt=this}static{this.ID="editor.contrib.inPlaceReplaceController"}static get(u){return u.getContribution(qt.ID)}static{this.DECORATION=re.register({description:"in-place-replace",className:"valueSetReplacement"})}constructor(u,m){this.editor=u,this.editorWorkerService=m,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(u,m){this.currentRequest?.cancel();let C=this.editor.getSelection(),y=this.editor.getModel();if(!y||!C)return;let v=C;if(v.startLineNumber!==v.endLineNumber)return;let D=new ep(this.editor,5),I=y.uri;if(!this.editorWorkerService.canNavigateValueSet(I))return Promise.resolve(void 0);return this.currentRequest=jt((M)=>this.editorWorkerService.navigateValueSet(I,v,m)),this.currentRequest.then((M)=>{if(!M||!M.range||!M.value)return;if(!D.validate(this.editor))return;let k=t.lift(M.range),x=M.range,O=M.value.length-(v.endColumn-v.startColumn);if(x={startLineNumber:x.startLineNumber,startColumn:x.startColumn,endLineNumber:x.endLineNumber,endColumn:x.startColumn+M.value.length},O>1)v=new A(v.startLineNumber,v.startColumn,v.endLineNumber,v.endColumn+O-1);let T=new Ho(k,v,M.value);this.editor.pushUndoStop(),this.editor.executeCommand(u,T),this.editor.pushUndoStop(),this.decorations.set([{range:x,options:qt.DECORATION}]),this.decorationRemover?.cancel(),this.decorationRemover=so(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(J)}).catch(J)}};Ke=qt=En([Pn(1,gi)],Ke);class pr extends W{constructor(){super({id:"editor.action.inPlaceReplace.up",label:h(1306,"Replace with Previous Value"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:3159,weight:100}})}run(p,u){let m=Ke.get(u);if(!m)return Promise.resolve(void 0);return m.run(this.id,!1)}}class gr extends W{constructor(){super({id:"editor.action.inPlaceReplace.down",label:h(1307,"Replace with Next Value"),precondition:r.writable,kbOpts:{kbExpr:r.editorTextFocus,primary:3161,weight:100}})}run(p,u){let m=Ke.get(u);if(!m)return Promise.resolve(void 0);return m.run(this.id,!0)}}le(Ke.ID,Ke,4);R(pr);R(gr);class Fo{constructor(p){this._selection=p,this._selectionId=null}getEditOperations(p,u){let m=An(p);if(m)u.addEditOperation(m.range,m.text);this._selectionId=u.trackSelection(this._selection)}computeCursorState(p,u){return u.getTrackedSelection(this._selectionId)}}function An(p){let u=p.getLineCount();return Ft.insert(new o(u,p.getLineMaxColumn(u)),p.getEOL())}class Wo extends W{static{this.ID="editor.action.insertFinalNewLine"}constructor(){super({id:Wo.ID,label:h(1308,"Insert Final New Line"),precondition:r.writable})}run(p,u,m){let C=u.getSelection();if(C===null)return;let y=new Fo(C);u.pushUndoStop(),u.executeCommands(this.id,[y]),u.pushUndoStop()}}R(Wo);var Nn=function(p,u,m,C){var y=arguments.length,v=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,m):C,D;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")v=Reflect.decorate(p,u,m,C);else for(var I=p.length-1;I>=0;I--)if(D=p[I])v=(y<3?D(v):y>3?D(u,m,v):D(u,m))||v;return y>3&&v&&Object.defineProperty(u,m,v),v},Bt=function(p,u){return function(m,C){u(m,C,p)}},Qt,_r=new N("LinkedEditingInputVisible",!1),On="linked-editing-decoration",Ge=class p extends n{static{Qt=this}static{this.ID="editor.contrib.linkedEditing"}static{this.DECORATION=re.register({description:"linked-editing",stickiness:0,className:On})}static get(u){return u.getContribution(Qt.ID)}constructor(u,m,C,y,v){super();this.languageConfigurationService=y,this._syncRangesToken=0,this._localToDispose=this._register(new c),this._editor=u,this._providers=C.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=_r.bindTo(m),this._debounceInformation=v.for(this._providers,"Linked Editing",{max:200}),this._currentDecorations=this._editor.createDecorationsCollection(),this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new c),this._rangeUpdateTriggerPromise=null,this._rangeSyncTriggerPromise=null,this._currentRequestCts=null,this._currentRequestPosition=null,this._currentRequestModelVersion=null,this._register(this._editor.onDidChangeModel(()=>this.reinitialize(!0))),this._register(this._editor.onDidChangeConfiguration((D)=>{if(D.hasChanged(78)||D.hasChanged(106))this.reinitialize(!1)})),this._register(this._providers.onDidChange(()=>this.reinitialize(!1))),this._register(this._editor.onDidChangeModelLanguage(()=>this.reinitialize(!0))),this.reinitialize(!0)}reinitialize(u){let m=this._editor.getModel(),C=m!==null&&(this._editor.getOption(78)||this._editor.getOption(106))&&this._providers.has(m);if(C===this._enabled&&!u)return;if(this._enabled=C,this.clearRanges(),this._localToDispose.clear(),!C||m===null)return;this._localToDispose.add(S.runAndSubscribe(m.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(m.getLanguageId()).getWordDefinition()}));let y=new ki(this._debounceInformation.get(m)),v=()=>{this._rangeUpdateTriggerPromise=y.trigger(()=>this.updateRanges(),this._debounceDuration??this._debounceInformation.get(m))},D=new ki(0),I=(M)=>{this._rangeSyncTriggerPromise=D.trigger(()=>this._syncRanges(M))};this._localToDispose.add(this._editor.onDidChangeCursorPosition(()=>{v()})),this._localToDispose.add(this._editor.onDidChangeModelContent((M)=>{if(!this._ignoreChangeEvent){if(this._currentDecorations.length>0){let k=this._currentDecorations.getRange(0);if(k&&M.changes.every((x)=>k.intersectRanges(x.range))){I(this._syncRangesToken);return}}}v()})),this._localToDispose.add({dispose:()=>{y.dispose(),D.dispose()}}),this.updateRanges()}_syncRanges(u){if(!this._editor.hasModel()||u!==this._syncRangesToken||this._currentDecorations.length===0)return;let m=this._editor.getModel(),C=this._currentDecorations.getRange(0);if(!C||C.startLineNumber!==C.endLineNumber)return this.clearRanges();let y=m.getValueInRange(C);if(this._currentWordPattern){let D=y.match(this._currentWordPattern);if((D?D[0].length:0)!==y.length)return this.clearRanges()}let v=[];for(let D=1,I=this._currentDecorations.length;D<I;D++){let M=this._currentDecorations.getRange(D);if(!M)continue;if(M.startLineNumber!==M.endLineNumber)v.push({range:M,text:y});else{let k=m.getValueInRange(M),x=y,{startColumn:O,endColumn:T}=M,q=ur(k,x);O+=q,k=k.substr(q),x=x.substr(q);let B=ls(k,x);if(T-=B,k=k.substr(0,k.length-B),x=x.substr(0,x.length-B),O!==T||x.length!==0)v.push({range:new t(M.startLineNumber,O,M.endLineNumber,T),text:x})}}if(v.length===0)return;try{this._editor.popUndoStop(),this._ignoreChangeEvent=!0;let D=this._editor._getViewModel().getPrevEditOperationType();this._editor.executeEdits("linkedEditing",v),this._editor._getViewModel().setPrevEditOperationType(D)}finally{this._ignoreChangeEvent=!1}}dispose(){this.clearRanges(),super.dispose()}clearRanges(){if(this._visibleContextKey.set(!1),this._currentDecorations.clear(),this._currentRequestCts)this._currentRequestCts.cancel(),this._currentRequestCts=null,this._currentRequestPosition=null}async updateRanges(u=!1){if(!this._editor.hasModel()){this.clearRanges();return}let m=this._editor.getPosition();if(!this._enabled&&!u||this._editor.getSelections().length>1){this.clearRanges();return}let C=this._editor.getModel(),y=C.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===y){if(m.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){let D=this._currentDecorations.getRange(0);if(D&&D.containsPosition(m))return}}if(!this._currentRequestPosition?.equals(m)){if(!this._currentDecorations.getRange(0)?.containsPosition(m))this.clearRanges()}this._currentRequestPosition=m,this._currentRequestModelVersion=y;let v=this._currentRequestCts=new Pe;try{let D=new Yt(!1),I=await vr(this._providers,C,m,v.token);if(this._debounceInformation.update(C,D.elapsed()),v!==this._currentRequestCts)return;if(this._currentRequestCts=null,y!==C.getVersionId())return;let M=[];if(I?.ranges)M=I.ranges;this._currentWordPattern=I?.wordPattern||this._languageWordPattern;let k=!1;for(let O=0,T=M.length;O<T;O++)if(t.containsPosition(M[O],m)){if(k=!0,O!==0){let q=M[O];M.splice(O,1),M.unshift(q)}break}if(!k){this.clearRanges();return}let x=M.map((O)=>({range:O,options:Qt.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(x),this._syncRangesToken++}catch(D){if(!Jn(D))J(D);if(this._currentRequestCts===v||!this._currentRequestCts)this.clearRanges()}}};Ge=Qt=Nn([Bt(1,z),Bt(2,j),Bt(3,et),Bt(4,Wi)],Ge);class Cr extends W{constructor(){super({id:"editor.action.linkedEditing",label:h(1342,"Start Linked Editing"),precondition:_.and(r.writable,r.hasRenameProvider),kbOpts:{kbExpr:r.editorTextFocus,primary:3132,weight:100}})}runCommand(p,u){let m=p.get(ve),[C,y]=Array.isArray(u)&&u||[void 0,void 0];if(V.isUri(C)&&o.isIPosition(y))return m.openCodeEditor({resource:C},m.getActiveCodeEditor()).then((v)=>{if(!v)return;v.setPosition(y),v.invokeWithinContext((D)=>(this.reportTelemetry(D,v),this.run(D,v)))},J);return super.runCommand(p,u)}run(p,u){let m=Ge.get(u);if(m)return Promise.resolve(m.updateRanges(!0));return Promise.resolve()}}var jn=Vt.bindToContribution(Ge.get);U(new jn({id:"cancelLinkedEditingInput",precondition:_r,handler:(p)=>p.clearRanges(),kbOpts:{kbExpr:r.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function vr(p,u,m,C){let y=p.ordered(u);return fv(y.map((v)=>async()=>{try{return await v.provideLinkedEditingRanges(u,m,C)}catch(D){dt(D);return}}),(v)=>!!v&&$n(v?.ranges))}s("editor.linkedEditingBackground",{dark:f.fromHex("#f00").transparent(0.3),light:f.fromHex("#f00").transparent(0.3),hcDark:f.fromHex("#f00").transparent(0.3),hcLight:f.white},e(1341,"Background color when the editor auto renames on type."));fr("_executeLinkedEditingProvider",(p,u,m)=>{let{linkedEditingRangeProvider:C}=p.get(j);return vr(C,u,m,he.None)});le(Ge.ID,Ge,1);R(Cr);class qo extends n{static{this.ID="editor.contrib.longLinesHelper"}constructor(p){super();this._editor=p,this._register(this._editor.onMouseDown((u)=>{let m=this._editor.getOption(133);if(m>=0&&u.target.type===6&&u.target.position.column>=m)this._editor.updateOptions({stopRenderingLineAfter:-1})}))}}le(qo.ID,qo,2);class Kt extends n{static{this.ID="editor.contrib.middleScroll"}constructor(p){super();this._editor=p;let u=Xe(this._editor),m=u.getOption(172);this._register(H((C)=>{if(!m.read(C))return;let y=u.domNode.read(C);if(!y)return;let v=C.store.add(T_("scrollingSession",void 0));C.store.add(this._editor.onMouseDown((I)=>{if(v.read(void 0)){v.set(void 0,void 0);return}if(!I.event.middleButton)return;I.event.stopPropagation(),I.event.preventDefault();let k=new c,x=new ei(I.event.posx,I.event.posy),T=zn(F(y),x,k).map((Q)=>Q.subtract(x).withThreshold(5)),q=y.getBoundingClientRect(),B=new ei(x.x-q.left,x.y-q.top);v.set({mouseDeltaAfterThreshold:T,initialMousePosInEditor:B,didScroll:!1,dispose:()=>k.dispose()},void 0),k.add(this._editor.onMouseUp((Q)=>{let K=v.read(void 0);if(K&&K.didScroll)v.set(void 0,void 0)})),k.add(this._editor.onKeyDown((Q)=>{v.set(void 0,void 0)}))})),C.store.add(H((I)=>{let M=v.read(I);if(!M)return;let k=Date.now();I.store.add(H((O)=>{dg.instance.invalidateOnNextAnimationFrame(O);let T=Date.now(),q=T-k;k=T;let B=M.mouseDeltaAfterThreshold.read(void 0),Q=q/32,K=B.scale(Q),te=new ei(this._editor.getScrollLeft(),this._editor.getScrollTop());if(this._editor.setScrollPosition(Fn(te.add(K))),!K.isZero())M.didScroll=!0}));let x=d((O)=>{let T=M.mouseDeltaAfterThreshold.read(O),q="";return q+=T.y<0?"n":T.y>0?"s":"",q+=T.x<0?"w":T.x>0?"e":"",q});I.store.add(H((O)=>{y.setAttribute("data-scroll-direction",x.read(O))}))}));let D=C.store.add(se.div({class:["scroll-editor-on-middle-click-dot",v.map((I)=>I?"":"hidden")],style:{left:v.map((I)=>I?I.initialMousePosInEditor.x:0),top:v.map((I)=>I?I.initialMousePosInEditor.y:0)}}).toDisposableLiveElement());C.store.add(Eu(y,D.element)),C.store.add(H((I)=>{let M=v.read(I);y.classList.toggle("scroll-editor-on-middle-click-editor",!!M)}))}))}}function zn(p,u,m){let C=P("pos",u);return m.add(l(p,"mousemove",(y)=>{C.set(new ei(y.pageX,y.pageY),void 0)})),C}function Fn(p){return{scrollLeft:p.x,scrollTop:p.y}}le(Kt.ID,Kt,2);class $t extends n{static{this.ID="editor.contrib.placeholderText"}constructor(p){super();this._editor=p,this._editorObs=Xe(this._editor),this._placeholderText=this._editorObs.getOption(100),this._state=gn({owner:this,equalsFn:vg},(u)=>{let m=this._placeholderText.read(u);if(!m)return;if(!this._editorObs.valueIsEmpty.read(u))return;return{placeholder:m}}),this._shouldViewBeAlive=Wn(this,(u)=>this._state.read(u)?.placeholder!==void 0),this._view=d((u)=>{if(!this._shouldViewBeAlive.read(u))return;let m=_e("div.editorPlaceholder");u.store.add(H((C)=>{let y=this._state.read(C),v=y?.placeholder!==void 0;m.root.style.display=v?"block":"none",m.root.innerText=y?.placeholder??""})),u.store.add(H((C)=>{let y=this._editorObs.layoutInfo.read(C);m.root.style.left=`${y.contentLeft}px`,m.root.style.width=y.contentWidth-y.verticalScrollbarWidth+"px",m.root.style.top=`${this._editor.getTopForLineNumber(0)}px`})),u.store.add(H((C)=>{m.root.style.fontFamily=this._editorObs.getOption(58).read(C),m.root.style.fontSize=this._editorObs.getOption(61).read(C)+"px",m.root.style.lineHeight=this._editorObs.getOption(75).read(C)+"px"})),u.store.add(this._editorObs.createOverlayWidget({allowEditorOverflow:!1,minContentWidthInPx:Ce(0),position:Ce(null),domNode:m.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}}function Wn(p,u){return Vr(p,(m,C)=>{if(C===!0)return!0;return u(m)})}var Vn=function(p,u,m,C){var y=arguments.length,v=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,m):C,D;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")v=Reflect.decorate(p,u,m,C);else for(var I=p.length-1;I>=0;I--)if(D=p[I])v=(y<3?D(v):y>3?D(u,m,v):D(u,m))||v;return y>3&&v&&Object.defineProperty(u,m,v),v},qn=function(p,u){return function(m,C){u(m,C,p)}};class Sr{constructor(p){this.instantiationService=p}init(...p){}}function yr(p){return p()}var br=class p extends Sr{constructor(u,m){super(m);this.init(u)}};br=Vn([qn(1,L)],br);le($t.ID,yr(()=>$t),0);s("editor.placeholder.foreground",M$,e(1400,"Foreground color of the placeholder text in the editor."));var Un=function(p,u,m,C){var y=arguments.length,v=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,m):C,D;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")v=Reflect.decorate(p,u,m,C);else for(var I=p.length-1;I>=0;I--)if(D=p[I])v=(y<3?D(v):y>3?D(u,m,v):D(u,m))||v;return y>3&&v&&Object.defineProperty(u,m,v),v},Dr=function(p,u){return function(m,C){u(m,C,p)}},Xt=class p extends n{static{this.ID="editor.sectionHeaderDetector"}constructor(u,m,C){super();this.editor=u,this.languageConfigurationService=m,this.editorWorkerService=C,this.decorations=this.editor.createDecorationsCollection(),this.options=this.createOptions(u.getOption(81)),this.computePromise=null,this.currentOccurrences={},this._register(u.onDidChangeModel((y)=>{this.currentOccurrences={},this.options=this.createOptions(u.getOption(81)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(u.onDidChangeModelLanguage((y)=>{this.currentOccurrences={},this.options=this.createOptions(u.getOption(81)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(m.onDidChange((y)=>{let v=this.editor.getModel()?.getLanguageId();if(v&&y.affects(v))this.currentOccurrences={},this.options=this.createOptions(u.getOption(81)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(u.onDidChangeConfiguration((y)=>{if(this.options&&!y.hasChanged(81))return;this.options=this.createOptions(u.getOption(81)),this.updateDecorations([]),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(this.editor.onDidChangeModelContent((y)=>{this.computeSectionHeaders.schedule()})),this._register(u.onDidChangeModelTokens((y)=>{if(!this.computeSectionHeaders.isScheduled())this.computeSectionHeaders.schedule(1000)})),this.computeSectionHeaders=this._register(new be(()=>{this.findSectionHeaders()},250)),this.computeSectionHeaders.schedule(0)}createOptions(u){if(!u||!this.editor.hasModel())return;let m=this.editor.getModel().getLanguageId();if(!m)return;let C=this.languageConfigurationService.getLanguageConfiguration(m).comments,y=this.languageConfigurationService.getLanguageConfiguration(m).foldingRules;if(!C&&!y?.markers)return;return{foldingRules:y,markSectionHeaderRegex:u.markSectionHeaderRegex,findMarkSectionHeaders:u.showMarkSectionHeaders,findRegionSectionHeaders:u.showRegionSectionHeaders}}findSectionHeaders(){if(!this.editor.hasModel()||!this.options?.findMarkSectionHeaders&&!this.options?.findRegionSectionHeaders)return;let u=this.editor.getModel();if(u.isDisposed()||u.isTooLargeForSyncing())return;let m=u.getVersionId();this.editorWorkerService.findSectionHeaders(u.uri,this.options).then((C)=>{if(u.isDisposed()||u.getVersionId()!==m)return;this.updateDecorations(C)})}updateDecorations(u){let m=this.editor.getModel();if(m)u=u.filter((v)=>{if(!v.shouldBeInComments)return!0;let D=m.validateRange(v.range),I=m.tokenization.getLineTokens(D.startLineNumber),M=I.findTokenIndexAtOffset(D.startColumn-1),k=I.getStandardTokenType(M),x=m.getLanguageIdAtPosition(D.startLineNumber,D.startColumn);return I.getLanguageId(M)===x&&k===1});let C=Object.values(this.currentOccurrences).map((v)=>v.decorationId),y=u.map((v)=>Bn(v));this.editor.changeDecorations((v)=>{let D=v.deltaDecorations(C,y);this.currentOccurrences={};for(let I=0,M=D.length;I<M;I++){let k={sectionHeader:u[I],decorationId:D[I]};this.currentOccurrences[k.decorationId]=k}})}stop(){if(this.computeSectionHeaders.cancel(),this.computePromise)this.computePromise.cancel(),this.computePromise=null}dispose(){super.dispose(),this.stop(),this.decorations.clear()}};Xt=Un([Dr(1,et),Dr(2,gi)],Xt);function Bn(p){return{range:p.range,options:re.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:p.hasSeparatorLine?2:1,sectionHeaderText:p.text}})}}le(Xt.ID,Xt,1);function Qn(p){for(let u=0,m=p.length;u<m;u+=4){let C=p[u+0],y=p[u+1],v=p[u+2],D=p[u+3];p[u+0]=D,p[u+1]=v,p[u+2]=y,p[u+3]=C}}function Kn(p){let u=new Uint8Array(p.buffer,p.byteOffset,p.length*4);if(!x_())Qn(u);return wl.wrap(u)}function Uo(p){let u=new Uint32Array(Gn(p)),m=0;if(u[m++]=p.id,p.type==="full")u[m++]=1,u[m++]=p.data.length,u.set(p.data,m),m+=p.data.length;else{u[m++]=2,u[m++]=p.deltas.length;for(let C of p.deltas)if(u[m++]=C.start,u[m++]=C.deleteCount,C.data)u[m++]=C.data.length,u.set(C.data,m),m+=C.data.length;else u[m++]=0}return Kn(u)}function Gn(p){let u=0;if(u+=2,p.type==="full")u+=1+p.data.length;else{u+=1,u+=3*p.deltas.length;for(let m of p.deltas)if(m.data)u+=m.data.length}return u}function gt(p){return p&&!!p.data}function Bo(p){return p&&Array.isArray(p.edits)}class wr{constructor(p,u,m){this.provider=p,this.tokens=u,this.error=m}}function Qo(p,u){return p.has(u)}function Zn(p,u){let m=p.orderedGroups(u);return m.length>0?m[0]:[]}async function Ko(p,u,m,C,y){let v=Zn(p,u),D=await Promise.all(v.map(async(I)=>{let M,k=null;try{M=await I.provideDocumentSemanticTokens(u,I===m?C:null,y)}catch(x){k=x,M=null}if(!M||!gt(M)&&!Bo(M))M=null;return new wr(I,M,k)}));for(let I of D){if(I.error)throw I.error;if(I.tokens)return I}if(D.length>0)return D[0];return null}function es(p,u){let m=p.orderedGroups(u);return m.length>0?m[0]:null}class Ir{constructor(p,u){this.provider=p,this.tokens=u}}function Mr(p,u){return p.has(u)}function kr(p,u){let m=p.orderedGroups(u);return m.length>0?m[0]:[]}async function Jt(p,u,m,C){let y=kr(p,u),v=await Promise.all(y.map(async(D)=>{let I;try{I=await D.provideDocumentRangeSemanticTokens(u,m,C)}catch(M){dt(M),I=null}if(!I||!gt(I))I=null;return new Ir(D,I)}));for(let D of v)if(D.tokens)return D;if(v.length>0)return v[0];return null}we.registerCommand("_provideDocumentSemanticTokensLegend",async(p,...u)=>{let[m]=u;Re(m instanceof V);let C=p.get(bt).getModel(m);if(!C)return;let{documentSemanticTokensProvider:y}=p.get(j),v=es(y,C);if(!v)return p.get(Ae).executeCommand("_provideDocumentRangeSemanticTokensLegend",m);return v[0].getLegend()});we.registerCommand("_provideDocumentSemanticTokens",async(p,...u)=>{let[m]=u;Re(m instanceof V);let C=p.get(bt).getModel(m);if(!C)return;let{documentSemanticTokensProvider:y}=p.get(j);if(!Qo(y,C))return p.get(Ae).executeCommand("_provideDocumentRangeSemanticTokens",m,C.getFullModelRange());let v=await Ko(y,C,null,null,he.None);if(!v)return;let{provider:D,tokens:I}=v;if(!I||!gt(I))return;let M=Uo({id:0,type:"full",data:I.data});if(I.resultId)D.releaseDocumentSemanticTokens(I.resultId);return M});we.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(p,...u)=>{let[m,C]=u;Re(m instanceof V);let y=p.get(bt).getModel(m);if(!y)return;let{documentRangeSemanticTokensProvider:v}=p.get(j),D=kr(v,y);if(D.length===0)return;if(D.length===1)return D[0].getLegend();if(!C||!t.isIRange(C))return console.warn("provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in"),D[0].getLegend();let I=await Jt(v,y,t.lift(C),he.None);if(!I)return;return I.provider.getLegend()});we.registerCommand("_provideDocumentRangeSemanticTokens",async(p,...u)=>{let[m,C]=u;Re(m instanceof V),Re(t.isIRange(C));let y=p.get(bt).getModel(m);if(!y)return;let{documentRangeSemanticTokensProvider:v}=p.get(j),D=await Jt(v,y,t.lift(C),he.None);if(!D||!D.tokens)return;return Uo({id:0,type:"full",data:D.tokens.data})});var eo="editor.semanticHighlighting";function $e(p,u,m){let C=m.getValue("editor.semanticHighlighting",{overrideIdentifier:p.getLanguageId(),resource:p.uri})?.enabled;if(typeof C==="boolean")return C;return u.getColorTheme().semanticHighlighting}var xr=function(p,u,m,C){var y=arguments.length,v=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,m):C,D;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")v=Reflect.decorate(p,u,m,C);else for(var I=p.length-1;I>=0;I--)if(D=p[I])v=(y<3?D(v):y>3?D(u,m,v):D(u,m))||v;return y>3&&v&&Object.defineProperty(u,m,v),v},ge=function(p,u){return function(m,C){u(m,C,p)}},Le,Go=class p extends n{constructor(u,m,C,y,v,D){super();this._watchers=new Wt,this._providerChangeListeners=this._register(new c);let I=D.documentSemanticTokensProvider,M=(T)=>{this._watchers.get(T.uri)?.dispose(),this._watchers.set(T.uri,new Zo(T,u,C,v,D))},k=(T,q)=>{q.dispose(),this._watchers.delete(T.uri)},x=()=>{for(let T of m.getModels()){let q=this._watchers.get(T.uri);if($e(T,C,y)){if(!q)M(T)}else if(q)k(T,q)}},O=()=>{this._providerChangeListeners.clear();for(let T of I.allNoModel())if(typeof T.onDidChange==="function")this._providerChangeListeners.add(T.onDidChange(()=>{for(let q of this._watchers.values())q.handleProviderDidChange(T)}))};m.getModels().forEach((T)=>{if($e(T,C,y))M(T)}),this._register(m.onModelAdded((T)=>{if($e(T,C,y))M(T)})),this._register(m.onModelRemoved((T)=>{let q=this._watchers.get(T.uri);if(q)k(T,q)})),this._register(y.onDidChangeConfiguration((T)=>{if(T.affectsConfiguration(eo))x()})),this._register(C.onDidColorThemeChange(x)),O(),this._register(I.onDidChange(()=>{O();for(let T of this._watchers.values())T.handleRegistryChange()}))}dispose(){De(this._watchers.values()),this._watchers.clear(),super.dispose()}};Go=xr([ge(0,Df),ge(1,bt),ge(2,Ne),ge(3,X),ge(4,Wi),ge(5,j)],Go);var Zo=class p extends n{static{Le=this}static{this.REQUEST_MIN_DELAY=300}static{this.REQUEST_MAX_DELAY=2000}constructor(u,m,C,y,v){super();this._semanticTokensStylingService=m,this._relevantProviders=new Set,this._isDisposed=!1,this._model=u,this._provider=v.documentSemanticTokensProvider,this._debounceInformation=y.for(this._provider,"DocumentSemanticTokens",{min:Le.REQUEST_MIN_DELAY,max:Le.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new be(()=>this._fetchDocumentSemanticTokensNow(),Le.REQUEST_MIN_DELAY)),this._currentDocumentResponse=null,this._currentDocumentRequestCancellationTokenSource=null,this._providersChangedDuringRequest=!1,this._updateRelevantProviders(),this._register(this._model.onDidChangeContent(()=>{if(!this._fetchDocumentSemanticTokens.isScheduled())this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeAttached(()=>{if(!this._fetchDocumentSemanticTokens.isScheduled())this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeLanguage(()=>{if(this._currentDocumentResponse)this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null;if(this._currentDocumentRequestCancellationTokenSource)this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null;this._setDocumentSemanticTokens(null,null,null,[]),this._updateRelevantProviders(),this._fetchDocumentSemanticTokens.schedule(0)})),this._register(C.onDidColorThemeChange((D)=>{this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._fetchDocumentSemanticTokens.schedule(0)}handleRegistryChange(){this._updateRelevantProviders(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}handleProviderDidChange(u){if(!this._relevantProviders.has(u))return;if(this._currentDocumentRequestCancellationTokenSource){this._providersChangedDuringRequest=!0;return}this._fetchDocumentSemanticTokens.schedule(0)}_updateRelevantProviders(){this._relevantProviders=new Set(this._provider.all(this._model))}dispose(){if(this._currentDocumentResponse)this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null;if(this._currentDocumentRequestCancellationTokenSource)this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null;this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!Qo(this._provider,this._model)){if(this._currentDocumentResponse)this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;let u=new Pe,m=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,C=this._currentDocumentResponse?this._currentDocumentResponse.resultId||null:null,y=Ko(this._provider,this._model,m,C,u.token);this._currentDocumentRequestCancellationTokenSource=u,this._providersChangedDuringRequest=!1;let v=[],D=this._model.onDidChangeContent((M)=>{v.push(M)}),I=new Yt(!1);y.then((M)=>{if(this._debounceInformation.update(this._model,I.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,D.dispose(),!M)this._setDocumentSemanticTokens(null,null,null,v);else{let{provider:k,tokens:x}=M,O=this._semanticTokensStylingService.getStyling(k);this._setDocumentSemanticTokens(k,x||null,O,v)}},(M)=>{if(!(M&&(Jn(M)||typeof M.message==="string"&&M.message.indexOf("busy")!==-1)))J(M);if(this._currentDocumentRequestCancellationTokenSource=null,D.dispose(),v.length>0||this._providersChangedDuringRequest){if(!this._fetchDocumentSemanticTokens.isScheduled())this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}})}static _copy(u,m,C,y,v){v=Math.min(v,C.length-y,u.length-m);for(let D=0;D<v;D++)C[y+D]=u[m+D]}_setDocumentSemanticTokens(u,m,C,y){let v=this._currentDocumentResponse,D=()=>{if((y.length>0||this._providersChangedDuringRequest)&&!this._fetchDocumentSemanticTokens.isScheduled())this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse)this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null;if(this._isDisposed){if(u&&m)u.releaseDocumentSemanticTokens(m.resultId);return}if(!u||!C){this._model.tokenization.setSemanticTokens(null,!1);return}if(!m){this._model.tokenization.setSemanticTokens(null,!0),D();return}if(Bo(m)){let I=m.resultId,M=(k)=>{if(u.releaseDocumentSemanticTokens(I),this._model.tokenization.setSemanticTokens(null,!0),k)this._fetchDocumentSemanticTokens.schedule(0)};if(!v){M(!1);return}if(m.edits.length===0)m={resultId:m.resultId,data:v.data};else{let k=0;for(let Q of m.edits)k+=(Q.data?Q.data.length:0)-Q.deleteCount;let x=v.data,O=x.length+k;if(O<0){C.warnInvalidEditDeleteCount(v.resultId,I,x.length,k),M(!0);return}let T=new Uint32Array(O),q=x.length,B=T.length;for(let Q=m.edits.length-1;Q>=0;Q--){let K=m.edits[Q];if(K.start>x.length){C.warnInvalidEditStart(v.resultId,I,Q,K.start,x.length),M(!0);return}let te=q-(K.start+K.deleteCount);if(te>0)Le._copy(x,q-te,T,B-te,te),B-=te;if(K.data)Le._copy(K.data,0,T,B-K.data.length,K.data.length),B-=K.data.length;q=K.start}if(q>0)Le._copy(x,0,T,0,q);m={resultId:m.resultId,data:T}}}if(gt(m)){this._currentDocumentResponse=new Er(u,m.resultId,m.data);let I=n0(m,C,this._model.getLanguageId());if(y.length>0)for(let M of y)for(let k of I)for(let x of M.changes)k.applyEdit(x.range,x.text);this._model.tokenization.setSemanticTokens(I,!0)}else this._model.tokenization.setSemanticTokens(null,!0);D()}};Zo=Le=xr([ge(1,Df),ge(2,Ne),ge(3,Wi),ge(4,j)],Zo);class Er{constructor(p,u,m){this.provider=p,this.resultId=u,this.data=m}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}Ua(Go);var ts=function(p,u,m,C){var y=arguments.length,v=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,m):C,D;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")v=Reflect.decorate(p,u,m,C);else for(var I=p.length-1;I>=0;I--)if(D=p[I])v=(y<3?D(v):y>3?D(u,m,v):D(u,m))||v;return y>3&&v&&Object.defineProperty(u,m,v),v},Ct=function(p,u){return function(m,C){u(m,C,p)}},to=class p extends n{static{this.ID="editor.contrib.viewportSemanticTokens"}constructor(u,m,C,y,v,D){super();this._semanticTokensStylingService=m,this._themeService=C,this._configurationService=y,this._editor=u,this._provider=D.documentRangeSemanticTokensProvider,this._debounceInformation=v.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new be(()=>this._tokenizeViewportNow(),100)),this._outstandingRequests=[],this._rangeProvidersChangeListeners=[];let I=()=>{if(this._editor.hasModel())this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))},M=()=>{if(this._cleanupProviderListeners(),this._editor.hasModel()){let k=this._editor.getModel();for(let x of this._provider.all(k)){let O=x.onDidChange?.(()=>{this._cancelAll(),I()});if(O)this._rangeProvidersChangeListeners.push(O)}}};this._register(this._editor.onDidScrollChange(()=>{I()})),this._register(this._editor.onDidChangeModel(()=>{M(),this._cancelAll(),I()})),this._register(this._editor.onDidChangeModelLanguage(()=>{M(),this._cancelAll(),I()})),this._register(this._editor.onDidChangeModelContent((k)=>{this._cancelAll(),I()})),M(),this._register(this._provider.onDidChange(()=>{M(),this._cancelAll(),I()})),this._register(this._configurationService.onDidChangeConfiguration((k)=>{if(k.affectsConfiguration(eo))this._cancelAll(),I()})),this._register(this._themeService.onDidColorThemeChange(()=>{this._cancelAll(),I()})),I()}dispose(){this._cleanupProviderListeners(),super.dispose()}_cleanupProviderListeners(){De(this._rangeProvidersChangeListeners),this._rangeProvidersChangeListeners=[]}_cancelAll(){for(let u of this._outstandingRequests)u.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(u){for(let m=0,C=this._outstandingRequests.length;m<C;m++)if(this._outstandingRequests[m]===u){this._outstandingRequests.splice(m,1);return}}_tokenizeViewportNow(){if(!this._editor.hasModel())return;let u=this._editor.getModel();if(u.tokenization.hasCompleteSemanticTokens())return;if(!$e(u,this._themeService,this._configurationService)){if(u.tokenization.hasSomeSemanticTokens())u.tokenization.setSemanticTokens(null,!1);return}if(!Mr(this._provider,u)){if(u.tokenization.hasSomeSemanticTokens())u.tokenization.setSemanticTokens(null,!1);return}let m=this._editor.getVisibleRangesPlusViewportAboveBelow();this._outstandingRequests=this._outstandingRequests.concat(m.map((C)=>this._requestRange(u,C)))}_requestRange(u,m){let C=u.getVersionId(),y=jt((D)=>Promise.resolve(Jt(this._provider,u,m,D))),v=new Yt(!1);return y.then((D)=>{if(this._debounceInformation.update(u,v.elapsed()),!D||!D.tokens||u.isDisposed()||u.getVersionId()!==C)return;let{provider:I,tokens:M}=D,k=this._semanticTokensStylingService.getStyling(I);u.tokenization.setPartialSemanticTokens(m,n0(M,k,u.getLanguageId()))}).then(()=>this._removeOutstandingRequest(y),()=>this._removeOutstandingRequest(y)),y}};to=ts([Ct(1,Df),Ct(2,Ne),Ct(3,X),Ct(4,Wi),Ct(5,j)],to);le(to.ID,to,1);var vt=Object.freeze({View:h(1718,"View"),Help:h(1719,"Help"),Test:h(1720,"Test"),File:h(1721,"File"),Preferences:h(1722,"Preferences"),Developer:h(1723,"Developer")});class Xo extends zr{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...h(1518,"Toggle Editor Sticky Scroll"),mnemonicTitle:e(1514,"&&Toggle Editor Sticky Scroll")},metadata:{description:h(1519,"Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:vt.View,toggled:{condition:_.equals("config.editor.stickyScroll.enabled",!0),title:e(1515,"Sticky Scroll"),mnemonicTitle:e(1516,"&&Sticky Scroll")},menu:[{id:a.CommandPalette},{id:a.MenubarAppearanceMenu,group:"4_editor",order:3},{id:a.StickyScrollContext}]})}async runEditorCommand(p,u){let m=p.get(X),C=!m.getValue("editor.stickyScroll.enabled"),y=ns.get(u)?.isFocused();if(m.updateValue("editor.stickyScroll.enabled",C),y)u.focus()}}var oo=100;class Jo extends zr{constructor(){super({id:"editor.action.focusStickyScroll",title:{...h(1520,"Focus Editor Sticky Scroll"),mnemonicTitle:e(1517,"&&Focus Editor Sticky Scroll")},precondition:_.and(_.has("config.editor.stickyScroll.enabled"),r.stickyScrollVisible),menu:[{id:a.CommandPalette}]})}runEditorCommand(p,u){ns.get(u)?.focus()}}class ti extends zr{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:h(1521,"Select the next editor sticky scroll line"),precondition:r.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:oo,primary:18}})}runEditorCommand(p,u){ns.get(u)?.focusNext()}}class ii extends zr{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:h(1522,"Select the previous sticky scroll line"),precondition:r.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:oo,primary:16}})}runEditorCommand(p,u){ns.get(u)?.focusPrevious()}}class ri extends zr{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:h(1523,"Go to the focused sticky scroll line"),precondition:r.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:oo,primary:3}})}runEditorCommand(p,u){ns.get(u)?.goToFocused()}}class ni extends zr{constructor(){super({id:"editor.action.selectEditor",title:h(1524,"Select Editor"),precondition:r.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:oo,primary:9}})}runEditorCommand(p,u){ns.get(u)?.selectEditor()}}le(ns.ID,ns,1);Ze(Xo);Ze(Jo);Ze(ii);Ze(ti);Ze(ri);Ze(ni);var os=function(p,u,m,C){var y=arguments.length,v=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,m):C,D;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")v=Reflect.decorate(p,u,m,C);else for(var I=p.length-1;I>=0;I--)if(D=p[I])v=(y<3?D(v):y>3?D(u,m,v):D(u,m))||v;return y>3&&v&&Object.defineProperty(u,m,v),v},Lr=function(p,u){return function(m,C){u(m,C,p)}},Tr="ignoreUnusualLineTerminators";function is(p,u,m){p.setModelProperty(u.uri,Tr,m)}function rs(p,u){return p.getModelProperty(u.uri,Tr)}var io=class p extends n{static{this.ID="editor.contrib.unusualLineTerminatorsDetector"}constructor(u,m,C){super();this._editor=u,this._dialogService=m,this._codeEditorService=C,this._isPresentingDialog=!1,this._config=this._editor.getOption(143),this._register(this._editor.onDidChangeConfiguration((y)=>{if(y.hasChanged(143))this._config=this._editor.getOption(143),this._checkForUnusualLineTerminators()})),this._register(this._editor.onDidChangeModel(()=>{this._checkForUnusualLineTerminators()})),this._register(this._editor.onDidChangeModelContent((y)=>{if(y.isUndoing)return;this._checkForUnusualLineTerminators()})),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if(this._config==="off")return;if(!this._editor.hasModel())return;let u=this._editor.getModel();if(!u.mightContainUnusualLineTerminators())return;if(rs(this._codeEditorService,u)===!0)return;if(this._editor.getOption(104))return;if(this._config==="auto"){u.removeUnusualLineTerminators(this._editor.getSelections());return}if(this._isPresentingDialog)return;let C;try{this._isPresentingDialog=!0,C=await this._dialogService.confirm({title:e(1632,"Unusual Line Terminators"),message:e(1633,"Detected unusual line terminators"),detail:e(1634,"The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.",mi(u.uri)),primaryButton:e(1635,"&&Remove Unusual Line Terminators"),cancelButton:e(1636,"Ignore")})}finally{this._isPresentingDialog=!1}if(!C.confirmed){is(this._codeEditorService,u,!0);return}u.removeUnusualLineTerminators(this._editor.getSelections())}};io=os([Lr(1,rd),Lr(2,ve)],io);le(io.ID,io,1);var cs=function(p,u,m,C){var y=arguments.length,v=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,m):C,D;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")v=Reflect.decorate(p,u,m,C);else for(var I=p.length-1;I>=0;I--)if(D=p[I])v=(y<3?D(v):y>3?D(u,m,v):D(u,m))||v;return y>3&&v&&Object.defineProperty(u,m,v),v},as=function(p,u){return function(m,C){u(m,C,p)}};class si{constructor(){this.selector={language:"*"}}provideDocumentHighlights(p,u,m){if(p.isDisposed())return;let C=[],y=p.getWordAtPosition({lineNumber:u.lineNumber,column:u.column});if(!y)return Promise.resolve(C);return p.findMatches(y.word,!0,!1,!0,fg,!1).map((D)=>({range:D.range,kind:du.Text}))}provideMultiDocumentHighlights(p,u,m,C){if(p.isDisposed())return;let y=new Wt,v=p.getWordAtPosition({lineNumber:u.lineNumber,column:u.column});if(!v)return Promise.resolve(y);for(let D of[p,...m]){if(D.isDisposed())continue;let M=D.findMatches(v.word,!0,!1,!0,fg,!1).map((k)=>({range:k.range,kind:du.Text}));if(M)y.set(D.uri,M)}return y}}var ro=class p extends n{constructor(u){super();this._register(u.documentHighlightProvider.register("*",new si)),this._register(u.multiDocumentHighlightProvider.register("*",new si))}};ro=cs([as(0,j)],ro);var Pr=function(p,u,m,C){var y=arguments.length,v=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,m):C,D;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")v=Reflect.decorate(p,u,m,C);else for(var I=p.length-1;I>=0;I--)if(D=p[I])v=(y<3?D(v):y>3?D(u,m,v):D(u,m))||v;return y>3&&v&&Object.defineProperty(u,m,v),v},Se=function(p,u){return function(m,C){u(m,C,p)}},oe,ci,di=new N("hasWordHighlights",!1);function Ar(p,u,m,C){let y=p.ordered(u);return fv(y.map((v)=>()=>Promise.resolve(v.provideDocumentHighlights(u,m,C)).then(void 0,dt)),(v)=>v!==void 0&&v!==null).then((v)=>{if(v){let D=new Wt;return D.set(u.uri,v),D}return new Wt})}function ds(p,u,m,C,y){let v=p.ordered(u);return fv(v.map((D)=>()=>{let I=y.filter((M)=>D_(M)).filter((M)=>If(D.selector,M.uri,M.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(D.provideMultiDocumentHighlights(u,m,I,C)).then(void 0,dt)}),(D)=>D!==void 0&&D!==null)}class ui{constructor(p,u,m){this._model=p,this._selection=u,this._wordSeparators=m,this._wordRange=this._getCurrentWordRange(p,u),this._result=null}get result(){if(!this._result)this._result=jt((p)=>this._compute(this._model,this._selection,this._wordSeparators,p));return this._result}_getCurrentWordRange(p,u){let m=p.getWordAtPosition(u.getPosition());if(m)return new t(u.startLineNumber,m.startColumn,u.startLineNumber,m.endColumn);return null}cancel(){this.result.cancel()}}class Rr extends ui{constructor(p,u,m,C){super(p,u,m);this._providers=C}_compute(p,u,m,C){return Ar(this._providers,p,u.getPosition(),C).then((y)=>{if(!y)return new Wt;return y})}}class Nr extends ui{constructor(p,u,m,C,y){super(p,u,m);this._providers=C,this._otherModels=y}_compute(p,u,m,C){return ds(this._providers,p,u.getPosition(),C,this._otherModels).then((y)=>{if(!y)return new Wt;return y})}}function us(p,u,m,C){return new Rr(u,m,C,p)}function hs(p,u,m,C,y){return new Nr(u,m,C,p,y)}fr("_executeDocumentHighlights",async(p,u,m)=>{let C=p.get(j);return(await Ar(C.documentHighlightProvider,u,m,he.None))?.get(u.uri)});var ai=class p{static{oe=this}static{this.storedDecorationIDs=new Wt}static{this.query=null}constructor(u,m,C,y,v,D,I,M){if(this.toUnhook=new c,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new Wt,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=void 0,this.runDelayer=this.toUnhook.add(new ki(50)),this.editor=u,this.providers=m,this.multiDocumentProviders=C,this.codeEditorService=D,this.textModelService=v,this.configurationService=I,this.logService=M,this._hasWordHighlights=di.bindTo(y),this._ignorePositionChangeEvent=!1,this.occurrencesHighlightEnablement=this.editor.getOption(90),this.occurrencesHighlightDelay=this.configurationService.getValue("editor.occurrencesHighlightDelay"),this.model=this.editor.getModel(),this.toUnhook.add(u.onDidChangeCursorPosition((k)=>{if(this._ignorePositionChangeEvent)return;if(this.occurrencesHighlightEnablement==="off")return;this.runDelayer.trigger(()=>{this._onPositionChanged(k)}).catch(J)})),this.toUnhook.add(u.onDidFocusEditorText((k)=>{if(this.occurrencesHighlightEnablement==="off")return;if(!this.workerRequest)this.runDelayer.trigger(()=>{this._run()}).catch(J)})),this.toUnhook.add(u.onDidChangeModelContent((k)=>{if(!lf(this.model.uri,"output"))this._stopAll()})),this.toUnhook.add(u.onDidChangeModel((k)=>{if(!k.newModelUrl&&k.oldModelUrl)this._stopSingular();else if(oe.query)this._run()})),this.toUnhook.add(u.onDidChangeConfiguration((k)=>{let x=this.editor.getOption(90);if(this.occurrencesHighlightEnablement!==x)switch(this.occurrencesHighlightEnablement=x,x){case"off":this._stopAll();break;case"singleFile":this._stopAll(oe.query?.modelInfo?.modelURI);break;case"multiFile":if(oe.query)this._run(!0);break;default:console.warn("Unknown occurrencesHighlight setting value:",x);break}})),this.toUnhook.add(this.configurationService.onDidChangeConfiguration((k)=>{if(k.affectsConfiguration("editor.occurrencesHighlightDelay")){let x=I.getValue("editor.occurrencesHighlightDelay");if(this.occurrencesHighlightDelay!==x)this.occurrencesHighlightDelay=x}})),this.toUnhook.add(u.onDidBlurEditorWidget(()=>{let k=this.codeEditorService.getFocusedCodeEditor();if(!k)this._stopAll();else if(k.getModel()?.uri.scheme===ee.vscodeNotebookCell&&this.editor.getModel()?.uri.scheme!==ee.vscodeNotebookCell)this._stopAll()})),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=void 0,oe.query)this._run()}hasDecorations(){return this.decorations.length>0}restore(u){if(this.occurrencesHighlightEnablement==="off")return;this.runDelayer.cancel(),this.runDelayer.trigger(()=>{this._run(!1,u)}).catch(J)}stop(){if(this.occurrencesHighlightEnablement==="off")return;this._stopAll()}_getSortedHighlights(){return this.decorations.getRanges().sort(t.compareRangesUsingStarts)}moveNext(){let u=this._getSortedHighlights(),C=(u.findIndex((v)=>v.containsPosition(this.editor.getPosition()))+1)%u.length,y=u[C];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(y.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(y);let v=this._getWord();if(v){let D=this.editor.getModel().getLineContent(y.startLineNumber);Ln(`${D}, ${C+1} of ${u.length} for '${v.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){let u=this._getSortedHighlights(),C=(u.findIndex((v)=>v.containsPosition(this.editor.getPosition()))-1+u.length)%u.length,y=u[C];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(y.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(y);let v=this._getWord();if(v){let D=this.editor.getModel().getLineContent(y.startLineNumber);Ln(`${D}, ${C+1} of ${u.length} for '${v.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;let u=oe.storedDecorationIDs.get(this.editor.getModel().uri);if(!u)return;if(this.editor.removeDecorations(u),oe.storedDecorationIDs.delete(this.editor.getModel().uri),this.decorations.length>0)this.decorations.clear(),this._hasWordHighlights.set(!1)}_removeAllDecorations(u){let m=this.codeEditorService.listCodeEditors(),C=[];for(let y of m){if(!y.hasModel()||Vo(y.getModel().uri,u))continue;let v=oe.storedDecorationIDs.get(y.getModel().uri);if(!v)continue;y.removeDecorations(v),C.push(y.getModel().uri);let D=Oe.get(y);if(!D?.wordHighlighter)continue;if(D.wordHighlighter.decorations.length>0)D.wordHighlighter.decorations.clear(),D.wordHighlighter.workerRequest=null,D.wordHighlighter._hasWordHighlights.set(!1)}for(let y of C)oe.storedDecorationIDs.delete(y)}_stopSingular(){if(this._removeSingleDecorations(),this.editor.hasTextFocus()){if(this.editor.getModel()?.uri.scheme!==ee.vscodeNotebookCell&&oe.query?.modelInfo?.modelURI.scheme!==ee.vscodeNotebookCell)oe.query=null,this._run();else if(oe.query?.modelInfo)oe.query.modelInfo=null}if(this.renderDecorationsTimer!==void 0)clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=void 0;if(this.workerRequest!==null)this.workerRequest.cancel(),this.workerRequest=null;if(!this.workerRequestCompleted)this.workerRequestTokenId++,this.workerRequestCompleted=!0}_stopAll(u){if(this._removeAllDecorations(u),this.renderDecorationsTimer!==void 0)clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=void 0;if(this.workerRequest!==null)this.workerRequest.cancel(),this.workerRequest=null;if(!this.workerRequestCompleted)this.workerRequestTokenId++,this.workerRequestCompleted=!0}_onPositionChanged(u){if(this.occurrencesHighlightEnablement==="off"){this._stopAll();return}if(u.source!=="api"&&u.reason!==3){this._stopAll();return}this._run()}_getWord(){let u=this.editor.getSelection(),{startLineNumber:m,startColumn:C}=u;if(this.model.isDisposed())return null;return this.model.getWordAtPosition({lineNumber:m,column:C})}getOtherModelsToHighlight(u){if(!u)return[];if(u.uri.scheme===ee.vscodeNotebookCell){let v=[],D=this.codeEditorService.listCodeEditors();for(let I of D){let M=I.getModel();if(M&&M!==u&&M.uri.scheme===ee.vscodeNotebookCell)v.push(M)}return v}let C=[],y=this.codeEditorService.listCodeEditors();for(let v of y){if(!Kg(v))continue;let D=v.getModel();if(!D)continue;if(u===D.modified)C.push(D.modified)}if(C.length)return C;if(this.occurrencesHighlightEnablement==="singleFile")return[];for(let v of y){let D=v.getModel();if(D&&D!==u)C.push(D)}return C}async _run(u,m){if(!this.editor.hasTextFocus()){if(!oe.query){this._stopAll();return}}else{let y=this.editor.getSelection();if(!y||y.startLineNumber!==y.endLineNumber){oe.query=null,this._stopAll();return}let{startColumn:v,endColumn:D}=y,I=this._getWord();if(!I||I.startColumn>v||I.endColumn<D){oe.query=null,this._stopAll();return}oe.query={modelInfo:{modelURI:this.model.uri,selection:y}}}if(this.lastCursorPositionChangeTime=new Date().getTime(),Vo(this.editor.getModel().uri,oe.query.modelInfo?.modelURI)){if(!u){let I=this.decorations.getRanges();for(let M of I)if(M.containsPosition(this.editor.getPosition()))return}this._stopAll(u?this.model.uri:void 0);let y=++this.workerRequestTokenId;this.workerRequestCompleted=!1;let v=this.getOtherModelsToHighlight(this.editor.getModel());if(!oe.query||!oe.query.modelInfo)return;let D=await this.textModelService.createModelReference(oe.query.modelInfo.modelURI);try{this.workerRequest=this.computeWithModel(D.object.textEditorModel,oe.query.modelInfo.selection,v),this.workerRequest?.result.then((I)=>{if(y===this.workerRequestTokenId)this.workerRequestCompleted=!0,this.workerRequestValue=I||[],this._beginRenderDecorations(m??this.occurrencesHighlightDelay)},J)}catch(I){this.logService.error("Unexpected error during occurrence request. Log: ",I)}finally{D.dispose()}}else if(this.model.uri.scheme===ee.vscodeNotebookCell){let y=++this.workerRequestTokenId;if(this.workerRequestCompleted=!1,!oe.query||!oe.query.modelInfo)return;let v=await this.textModelService.createModelReference(oe.query.modelInfo.modelURI);try{this.workerRequest=this.computeWithModel(v.object.textEditorModel,oe.query.modelInfo.selection,[this.model]),this.workerRequest?.result.then((D)=>{if(y===this.workerRequestTokenId)this.workerRequestCompleted=!0,this.workerRequestValue=D||[],this._beginRenderDecorations(m??this.occurrencesHighlightDelay)},J)}catch(D){this.logService.error("Unexpected error during occurrence request. Log: ",D)}finally{v.dispose()}}}computeWithModel(u,m,C){if(!C.length)return us(this.providers,u,m,this.editor.getOption(148));else return hs(this.multiDocumentProviders,u,m,this.editor.getOption(148),C)}_beginRenderDecorations(u){let m=new Date().getTime(),C=this.lastCursorPositionChangeTime+u;if(m>=C)this.renderDecorationsTimer=void 0,this.renderDecorations();else this.renderDecorationsTimer=setTimeout(()=>{this.renderDecorations()},C-m)}renderDecorations(){this.renderDecorationsTimer=void 0;let u=this.codeEditorService.listCodeEditors();for(let m of u){let C=Oe.get(m);if(!C)continue;let y=[],v=m.getModel()?.uri;if(v&&this.workerRequestValue.has(v)){let D=oe.storedDecorationIDs.get(v),I=this.workerRequestValue.get(v);if(I)for(let k of I){if(!k.range)continue;y.push({range:k.range,options:XR(k.kind)})}let M=[];if(m.changeDecorations((k)=>{M=k.deltaDecorations(D??[],y)}),oe.storedDecorationIDs=oe.storedDecorationIDs.set(v,M),y.length>0)C.wordHighlighter?.decorations.set(y),C.wordHighlighter?._hasWordHighlights.set(!0)}}this.workerRequest=null}dispose(){this._stopSingular(),this.toUnhook.dispose()}};ai=oe=Pr([Se(4,bn),Se(5,ve),Se(6,X),Se(7,Be)],ai);var Oe=class p extends n{static{ci=this}static{this.ID="editor.contrib.wordHighlighter"}static get(u){return u.getContribution(ci.ID)}constructor(u,m,C,y,v,D,I){super();this._wordHighlighter=null;let M=()=>{if(u.hasModel()&&!u.getModel().isTooLargeForTokenization()&&u.getModel().uri.scheme!==ee.accessibleView)this._wordHighlighter=new ai(u,C.documentHighlightProvider,C.multiDocumentHighlightProvider,m,v,y,D,I)};this._register(u.onDidChangeModel((k)=>{if(this._wordHighlighter){if(!k.newModelUrl&&k.oldModelUrl?.scheme!==ee.vscodeNotebookCell)this.wordHighlighter?.stop();this._wordHighlighter.dispose(),this._wordHighlighter=null}M()})),M()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){if(this._wordHighlighter&&this._wordHighlighter.hasDecorations())return!0;return!1}moveNext(){this._wordHighlighter?.moveNext()}moveBack(){this._wordHighlighter?.moveBack()}restoreViewState(u){if(this._wordHighlighter&&u)this._wordHighlighter.restore(250)}dispose(){if(this._wordHighlighter)this._wordHighlighter.dispose(),this._wordHighlighter=null;super.dispose()}};Oe=ci=Pr([Se(1,z),Se(2,j),Se(3,ve),Se(4,bn),Se(5,X),Se(6,Be)],Oe);class hi extends W{constructor(p,u){super(u);this._isNext=p}run(p,u){let m=Oe.get(u);if(!m)return;if(this._isNext)m.moveNext();else m.moveBack()}}class Or extends hi{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:h(1646,"Go to Next Symbol Highlight"),precondition:di,kbOpts:{kbExpr:r.editorTextFocus,primary:65,weight:100}})}}class jr extends hi{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:h(1647,"Go to Previous Symbol Highlight"),precondition:di,kbOpts:{kbExpr:r.editorTextFocus,primary:1089,weight:100}})}}class Hr extends W{constructor(){super({id:"editor.action.wordHighlight.trigger",label:h(1648,"Trigger Symbol Highlight"),precondition:void 0,kbOpts:{kbExpr:r.editorTextFocus,primary:0,weight:100}})}run(p,u){let m=Oe.get(u);if(!m)return;m.restoreViewState(!0)}}le(Oe.ID,Oe,0);R(Or);R(jr);R(Hr);Ua(ro);var ms=function(p,u,m,C){var y=arguments.length,v=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,m):C,D;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")v=Reflect.decorate(p,u,m,C);else for(var I=p.length-1;I>=0;I--)if(D=p[I])v=(y<3?D(v):y>3?D(u,m,v):D(u,m))||v;return y>3&&v&&Object.defineProperty(u,m,v),v},Fr=function(p,u){return function(m,C){u(m,C,p)}},pi=class p extends n{constructor(u,m,C){super();this._textModel=u,this._languageFeaturesService=m,this._outlineModelService=C,this._currentModel=P(this,void 0);let y=li("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),v=li("_textModel.onDidChangeContent",S.debounce((D)=>this._textModel.onDidChangeContent(D),()=>{return},100));this._register(Hn(async(D,I)=>{y.read(D),v.read(D);let M=I.add(new wk),k=await this._outlineModelService.getOrCreate(this._textModel,M.token);if(I.isDisposed)return;this._currentModel.set(k,void 0)}))}getBreadcrumbItems(u,m){let C=this._currentModel.read(m);if(!C)return[];let y=C.asListOfDocumentSymbols().filter((v)=>u.contains(v.range.startLineNumber)&&!u.contains(v.range.endLineNumber));return y.sort(lv(kn((v)=>v.range.endLineNumber-v.range.startLineNumber,Si))),y.map((v)=>({name:v.name,kind:v.kind,startLineNumber:v.range.startLineNumber}))}getAt(u,m){let C=this._currentModel.read(m);if(!C)return[];let y=C.asListOfDocumentSymbols().filter((v)=>new Y(v.range.startLineNumber,v.range.endLineNumber).contains(u));if(y.length===0)return[];return y.sort(lv(kn((v)=>v.range.endLineNumber-v.range.startLineNumber,Si))),y.map((v)=>({name:v.name,kind:v.kind,startLineNumber:v.range.startLineNumber}))}};pi=ms([Fr(1,j),Fr(2,su)],pi);Lu.setBreadcrumbsSourceFactory((p,u)=>u.createInstance(pi,p));var Wr=function(p,u,m,C){var y=arguments.length,v=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,m):C,D;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")v=Reflect.decorate(p,u,m,C);else for(var I=p.length-1;I>=0;I--)if(D=p[I])v=(y<3?D(v):y>3?D(u,m,v):D(u,m))||v;return y>3&&v&&Object.defineProperty(u,m,v),v},Je=function(p,u){return function(m,C){u(m,C,p)}},St=class p extends n{static{this.ID="editor.contrib.floatingToolbar"}constructor(u,m,C,y){super();let v=this._register(Xe(u)),D=d((M)=>v.model.read(M)?.uri),I=this._register(m.createInstance(_i,a.EditorContent,u.contextKeyService,D));this._register(H((M)=>{if(!I.hasActions.read(M))return;M.store.add(v.createOverlayWidget({allowEditorOverflow:!1,domNode:I.element,minContentWidthInPx:Ce(0),position:Ce({preference:1})}))}))}};St=Wr([Je(1,L),Je(2,ce),Je(3,fi)],St);var _i=class p extends n{constructor(u,m,C,y,v,D){super();let I=this._register(D.createMenu(u,m)),M=Te(this,I.onDidChange,()=>I.getActions()),k=d((x)=>{let O=M.read(x),{primary:T}=Of(O,()=>!0);return T.filter((q)=>q.id!==Qe.ID)});this.hasActions=d((x)=>k.read(x).length>0),this.element=_e("div.floating-menu-overlay-widget").root,this._register(E(()=>this.element.remove())),this._register(H((x)=>{let O=k.read(x),T=O.length>0,q=T?O[0].id:void 0,B=O.length===1;if(this.element.classList.toggle("single-button",B),this.element.style.height=B?"28px":"26px",!T)return;let Q=y.createInstance(Qh,this.element,u,{actionViewItemProvider:(K,te)=>{if(!(K instanceof Ti))return;return y.createInstance(class extends za{render(ae){if(super.render(ae),K.id===q)this.element?.classList.add("primary")}updateLabel(){let ae=v.lookupKeybinding(K.id),de=ae?ae.getLabel():void 0;if(this.options.label&&this.label)this.label.textContent=de?`${this._commandAction.label} (${de})`:this._commandAction.label}},K,{...te,keybindingNotRenderedWithLabel:!0})},hiddenItemStrategy:0,menuOptions:{shouldForwardArgs:!0},telemetrySource:"editor.overlayToolbar",toolbarOptions:{primaryGroup:()=>!0,useSeparatorsInPrimaryActions:!0}});x.store.add(Q),x.store.add(H((K)=>{let te=C.read(K);Q.context=te}))}))}};_i=Wr([Je(3,L),Je(4,ce),Je(5,fi)],_i);le(St.ID,St,1);class Ci extends n{static{this.ID="editor.contrib.iPadShowKeyboard"}constructor(p){super();if(this.editor=p,this.widget=null,cr)this._register(p.onDidChangeConfiguration(()=>this.update())),this.update()}update(){let p=!this.editor.getOption(104);if(!this.widget&&p)this.widget=new vi(this.editor);else if(this.widget&&!p)this.widget.dispose(),this.widget=null}dispose(){if(super.dispose(),this.widget)this.widget.dispose(),this.widget=null}}class vi extends n{static{this.ID="editor.contrib.ShowKeyboardWidget"}constructor(p){super();this.editor=p,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(l(this._domNode,"touchstart",(u)=>{this.editor.focus()})),this._register(l(this._domNode,"focus",(u)=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return vi.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}}le(Ci.ID,Ci,3);var fs=function(p,u,m,C){var y=arguments.length,v=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,m):C,D;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")v=Reflect.decorate(p,u,m,C);else for(var I=p.length-1;I>=0;I--)if(D=p[I])v=(y<3?D(v):y>3?D(u,m,v):D(u,m))||v;return y>3&&v&&Object.defineProperty(u,m,v),v},qr=function(p,u){return function(m,C){u(m,C,p)}},bi,yt=class p extends n{static{bi=this}static{this.ID="editor.contrib.inspectTokens"}static get(u){return u.getContribution(bi.ID)}constructor(u,m,C){super();this._editor=u,this._languageService=C,this._widget=null,this._register(this._editor.onDidChangeModel((y)=>this.stop())),this._register(this._editor.onDidChangeModelLanguage((y)=>this.stop())),this._register(Nt.onDidChange((y)=>this.stop())),this._register(this._editor.onKeyUp((y)=>y.keyCode===9&&this.stop()))}dispose(){this.stop(),super.dispose()}launch(){if(this._widget)return;if(!this._editor.hasModel())return;this._widget=new yi(this._editor,this._languageService)}stop(){if(this._widget)this._widget.dispose(),this._widget=null}};yt=bi=fs([qr(1,Gr),qr(2,pt)],yt);class Br extends W{constructor(){super({id:"editor.action.inspectTokens",label:m0.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(p,u){yt.get(u)?.launch()}}function ps(p){let u="";for(let m=0,C=p.length;m<C;m++){let y=p.charCodeAt(m);switch(y){case 9:u+="→";break;case 32:u+="·";break;default:u+=String.fromCharCode(y)}}return u}function gs(p,u){let m=Nt.get(u);if(m)return m;let C=p.encodeLanguageId(u);return{getInitialState:()=>Xc,tokenize:(y,v,D)=>Eg(u,D),tokenizeEncoded:(y,v,D)=>Mh(C,D)}}class yi extends n{static{this._ID="editor.contrib.inspectTokensWidget"}constructor(p,u){super();this.allowEditorOverflow=!0,this._editor=p,this._languageService=u,this._model=this._editor.getModel(),this._domNode=document.createElement("div"),this._domNode.className="tokens-inspect-widget",this._tokenizationSupport=gs(this._languageService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition((m)=>this._compute(this._editor.getPosition()))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return yi._ID}_compute(p){let u=this._getTokensAtLine(p.lineNumber),m=0;for(let I=u.tokens1.length-1;I>=0;I--){let M=u.tokens1[I];if(p.column-1>=M.offset){m=I;break}}let C=0;for(let I=u.tokens2.length>>>1;I>=0;I--)if(p.column-1>=u.tokens2[I<<1]){C=I;break}let y=this._model.getLineContent(p.lineNumber),v="";if(m<u.tokens1.length){let I=u.tokens1[m].offset,M=m+1<u.tokens1.length?u.tokens1[m+1].offset:y.length;v=y.substring(I,M)}tn(this._domNode,g("h2.tm-token",void 0,ps(v),g("span.tm-token-length",void 0,`${v.length} ${v.length===1?"char":"chars"}`))),w(this._domNode,g("hr.tokens-inspect-separator",{style:"clear:both"}));let D=(C<<1)+1<u.tokens2.length?this._decodeMetadata(u.tokens2[(C<<1)+1]):null;if(w(this._domNode,g("table.tm-metadata-table",void 0,g("tbody",void 0,g("tr",void 0,g("td.tm-metadata-key",void 0,"language"),g("td.tm-metadata-value",void 0,`${D?D.languageId:"-?-"}`)),g("tr",void 0,g("td.tm-metadata-key",void 0,"token type"),g("td.tm-metadata-value",void 0,`${D?this._tokenTypeToString(D.tokenType):"-?-"}`)),g("tr",void 0,g("td.tm-metadata-key",void 0,"font style"),g("td.tm-metadata-value",void 0,`${D?this._fontStyleToString(D.fontStyle):"-?-"}`)),g("tr",void 0,g("td.tm-metadata-key",void 0,"foreground"),g("td.tm-metadata-value",void 0,`${D?f.Format.CSS.formatHex(D.foreground):"-?-"}`)),g("tr",void 0,g("td.tm-metadata-key",void 0,"background"),g("td.tm-metadata-value",void 0,`${D?f.Format.CSS.formatHex(D.background):"-?-"}`))))),w(this._domNode,g("hr.tokens-inspect-separator")),m<u.tokens1.length)w(this._domNode,g("span.tm-token-type",void 0,u.tokens1[m].type));this._editor.layoutContentWidget(this)}_decodeMetadata(p){let u=Nt.getColorMap(),m=$i.getLanguageId(p),C=$i.getTokenType(p),y=$i.getFontStyle(p),v=$i.getForeground(p),D=$i.getBackground(p);return{languageId:this._languageService.languageIdCodec.decodeLanguageId(m),tokenType:C,fontStyle:y,foreground:u[v],background:u[D]}}_tokenTypeToString(p){switch(p){case 0:return"Other";case 1:return"Comment";case 2:return"String";case 3:return"RegEx";default:return"??"}}_fontStyleToString(p){let u="";if(p&1)u+="italic ";if(p&2)u+="bold ";if(p&4)u+="underline ";if(p&8)u+="strikethrough ";if(u.length===0)u="---";return u}_getTokensAtLine(p){let u=this._getStateBeforeLine(p),m=this._tokenizationSupport.tokenize(this._model.getLineContent(p),!0,u),C=this._tokenizationSupport.tokenizeEncoded(this._model.getLineContent(p),!0,u);return{startState:u,tokens1:m.tokens,tokens2:C.tokens,endState:m.endState}}_getStateBeforeLine(p){let u=this._tokenizationSupport.getInitialState();for(let m=1;m<p;m++)u=this._tokenizationSupport.tokenize(this._model.getLineContent(m),!0,u).endState;return u}getDomNode(){return this._domNode}getPosition(){return{position:this._editor.getPosition(),preference:[2,1]}}}le(yt.ID,yt,4);R(Br);var _s=function(p,u,m,C){var y=arguments.length,v=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,m):C,D;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")v=Reflect.decorate(p,u,m,C);else for(var I=p.length-1;I>=0;I--)if(D=p[I])v=(y<3?D(v):y>3?D(u,m,v):D(u,m))||v;return y>3&&v&&Object.defineProperty(u,m,v),v},Di=function(p,u){return function(m,C){u(m,C,p)}},Dt,no=class p{static{Dt=this}static{this.PREFIX="?"}constructor(u,m,C){this.quickInputService=u,this.keybindingService=m,this.contextKeyService=C,this.registry=it.as(js.Quickaccess)}provide(u){let m=new c;return m.add(u.onDidAccept(()=>{let[C]=u.selectedItems;if(C)this.quickInputService.quickAccess.show(C.prefix,{preserveValue:!0})})),m.add(u.onDidChangeValue((C)=>{let y=this.registry.getQuickAccessProvider(C.substr(Dt.PREFIX.length),this.contextKeyService);if(y?.prefix&&y.prefix!==Dt.PREFIX)this.quickInputService.quickAccess.show(y.prefix,{preserveValue:!0})})),u.items=this.getQuickAccessProviders().filter((C)=>C.prefix!==Dt.PREFIX),m}getQuickAccessProviders(){return this.registry.getQuickAccessProviders(this.contextKeyService).sort((m,C)=>m.prefix.localeCompare(C.prefix)).flatMap((m)=>this.createPicks(m))}createPicks(u){return u.helpEntries.map((m)=>{let C=m.prefix||u.prefix,y=C||"…";return{prefix:C,label:y,keybinding:m.commandId?this.keybindingService.lookupKeybinding(m.commandId):void 0,ariaLabel:e(1844,"{0}, {1}",y,m.description),description:m.description}})}};no=Dt=_s([Di(0,un),Di(1,ce),Di(2,z)],no);it.as(js.Quickaccess).registerQuickAccessProvider({ctor:no,prefix:"",helpEntries:[{description:g0.helpQuickAccessActionLabel}]});var Yr=[void 0,[]];function ao(p,u,m=0,C=0){let y=u;if(y.values&&y.values.length>1)return Cs(p,y.values,m,C);return Zr(p,u,m,C)}function Cs(p,u,m,C){let y=0,v=[];for(let D of u){let[I,M]=Zr(p,D,m,C);if(typeof I!=="number")return Yr;y+=I,v.push(...M)}return[y,vs(v)]}function Zr(p,u,m,C){let y=mc(u.normalized,u.normalizedLowercase,m,p,p.toLowerCase(),C,{firstMatchCanBeWeak:!0,boostFullMatch:!0});if(!y)return Yr;return[y[0],Su(y)]}new kh("allowNonContiguousMatches");new kh("description");new kh("label");new kh("values");new kh("expectContiguousMatch");new kh("value");function vs(p){let u=p.sort((y,v)=>y.start-v.start),m=[],C=void 0;for(let y of u)if(!C||!bs(C,y))C=y,m.push(y);else C.start=Math.min(C.start,y.start),C.end=Math.max(C.end,y.end);return m}function bs(p,u){if(p.end<u.start)return!1;if(u.end<p.start)return!1;return!0}function Qr(p){return p.startsWith('"')&&p.endsWith('"')}var $r=" ";function co(p){if(typeof p!=="string")p="";let u=p.toLowerCase(),{pathNormalized:m,normalized:C,normalizedLowercase:y}=Kr(p),v=m.indexOf(Rs)>=0,D=Qr(p),I=void 0,M=p.split($r);if(M.length>1)for(let k of M){let x=Qr(k),{pathNormalized:O,normalized:T,normalizedLowercase:q}=Kr(k);if(T){if(!I)I=[];I.push({original:k,originalLowercase:k.toLowerCase(),pathNormalized:O,normalized:T,normalizedLowercase:q,expectContiguousMatch:x})}}return{original:p,originalLowercase:u,pathNormalized:m,normalized:C,normalizedLowercase:y,values:I,containsPathSeparator:v,expectContiguousMatch:D}}function Kr(p){let u;if(Ut)u=p.replace(/\//g,Rs);else u=p.replace(/\\/g,Rs);let m=u.replace(/[\*\u2026\s"]/g,"").replace(/(?<=.)#$/,"");return{pathNormalized:u,normalized:m,normalizedLowercase:m.toLowerCase()}}function wi(p){if(Array.isArray(p))return co(p.map((u)=>u.original).join($r));return co(p.original)}var Ss=function(p,u,m,C){var y=arguments.length,v=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,m):C,D;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")v=Reflect.decorate(p,u,m,C);else for(var I=p.length-1;I>=0;I--)if(D=p[I])v=(y<3?D(v):y>3?D(u,m,v):D(u,m))||v;return y>3&&v&&Object.defineProperty(u,m,v),v},Xr=function(p,u){return function(m,C){u(m,C,p)}},lo,je=class p extends sv{static{lo=this}static{this.PREFIX="@"}static{this.SCOPE_PREFIX=":"}static{this.PREFIX_BY_CATEGORY=`${this.PREFIX}${this.SCOPE_PREFIX}`}constructor(u,m,C=Object.create(null)){super(C);this._languageFeaturesService=u,this._outlineModelService=m,this.options=C,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(u){return this.provideLabelPick(u,e(1414,"To go to a symbol, first open a text editor with symbol information.")),n.None}provideWithTextEditor(u,m,C,y){let v=u.editor,D=this.getModel(v);if(!D)return n.None;if(this._languageFeaturesService.documentSymbolProvider.has(D))return this.doProvideWithEditorSymbols(u,D,m,C,y);return this.doProvideWithoutEditorSymbols(u,D,m,C)}doProvideWithoutEditorSymbols(u,m,C,y){let v=new c;return this.provideLabelPick(C,e(1415,"The active text editor does not provide symbol information.")),(async()=>{if(!await this.waitForLanguageSymbolRegistry(m,v)||y.isCancellationRequested)return;v.add(this.doProvideWithEditorSymbols(u,m,C,y))})(),v}provideLabelPick(u,m){u.items=[{label:m,index:0,kind:14}],u.ariaLabel=m}async waitForLanguageSymbolRegistry(u,m){if(this._languageFeaturesService.documentSymbolProvider.has(u))return!0;let C=new $s,y=m.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{if(this._languageFeaturesService.documentSymbolProvider.has(u))y.dispose(),C.complete(!0)}));return m.add(E(()=>C.complete(!1))),C.p}doProvideWithEditorSymbols(u,m,C,y,v){let D=u.editor,I=new c;I.add(C.onDidAccept((O)=>{let[T]=C.selectedItems;if(T&&T.range){if(C.keyMods.shift&&T.attach){T.attach(C.keyMods,O);return}if(this.gotoLocation(u,{range:T.range.selection,keyMods:C.keyMods,preserveFocus:O.inBackground}),v?.handleAccept?.(T,O.inBackground),!O.inBackground)C.hide()}})),I.add(C.onDidTriggerItemButton(({item:O})=>{if(O&&O.range)this.gotoLocation(u,{range:O.range.selection,keyMods:C.keyMods,forceSideBySide:!0}),C.hide()}));let M=this.getDocumentSymbols(m,y),k=I.add(new ie),x=async(O)=>{k?.value?.cancel(),C.busy=!1,k.value=new Pe,C.busy=!0;try{let T=co(C.value.substr(lo.PREFIX.length).trim()),q=await this.doGetSymbolPicks(M,T,void 0,k.value.token,m);if(y.isCancellationRequested)return;if(q.length>0){if(C.items=q,O&&T.original.length===0){let B=fu(q,(Q)=>Boolean(Q.type!=="separator"&&Q.range&&t.containsPosition(Q.range.decoration,O)));if(B)C.activeItems=[B]}}else if(T.original.length>0)this.provideLabelPick(C,e(1416,"No matching editor symbols"));else this.provideLabelPick(C,e(1417,"No editor symbols"))}finally{if(!y.isCancellationRequested)C.busy=!1}};return I.add(C.onDidChangeValue(()=>x(void 0))),x(D.getSelection()?.getPosition()),I.add(C.onDidChangeActive(()=>{let[O]=C.activeItems;if(O&&O.range)D.revealRangeInCenter(O.range.selection,0),this.addDecorations(D,O.range.decoration)})),I}async doGetSymbolPicks(u,m,C,y,v){let D=await u;if(y.isCancellationRequested)return[];let I=m.original.indexOf(lo.SCOPE_PREFIX)===0,M=I?1:0,k,x;if(m.values&&m.values.length>1)k=wi(m.values[0]),x=wi(m.values.slice(1));else k=m;let O,T=this.options?.openSideBySideDirection?.();if(T)O=[{iconClass:T==="right"?G.asClassName(b.splitHorizontal):G.asClassName(b.splitVertical),tooltip:T==="right"?e(1418,"Open to the Side"):e(1419,"Open to the Bottom")}];let q=[];for(let K=0;K<D.length;K++){let te=D[K],ae=s$(te.name),de=`$(${uu.toIcon(te.kind).id}) ${ae}`,ue=de.length-ae.length,me=te.containerName;if(C?.extraContainerLabel)if(me)me=`${C.extraContainerLabel} • ${me}`;else me=C.extraContainerLabel;let pe=void 0,ye=void 0,nt=void 0,ji=void 0;if(m.original.length>M){let Hi=!1;if(k!==m){if([pe,ye]=ao(de,{...m,values:void 0},M,ue),typeof pe==="number")Hi=!0}if(typeof pe!=="number"){if([pe,ye]=ao(de,k,M,ue),typeof pe!=="number")continue}if(!Hi&&x){if(me&&x.original.length>0)[nt,ji]=ao(me,x);if(typeof nt!=="number")continue;if(typeof pe==="number")pe+=nt}}let zi=te.tags&&te.tags.indexOf(1)>=0;q.push({index:K,kind:te.kind,score:pe,label:de,ariaLabel:o$(te.name,te.kind),description:me,highlights:zi?void 0:{label:ye,description:ji},range:{selection:t.collapseToStart(te.selectionRange),decoration:te.range},uri:v.uri,symbolName:ae,strikethrough:zi,buttons:O})}let B=q.sort((K,te)=>I?this.compareByKindAndScore(K,te):this.compareByScore(K,te)),Q=[];if(I){let de=function(){if(te&&typeof K==="number"&&ae>0)te.label=ia(Mi[K]||Ii,ae)},K=void 0,te=void 0,ae=0;for(let ue of B){if(K!==ue.kind)de(),K=ue.kind,ae=1,te={type:"separator"},Q.push(te);else ae++;Q.push(ue)}de()}else if(B.length>0)Q=[{label:e(1420,"symbols ({0})",q.length),type:"separator"},...B];return Q}compareByScore(u,m){if(typeof u.score!=="number"&&typeof m.score==="number")return 1;else if(typeof u.score==="number"&&typeof m.score!=="number")return-1;if(typeof u.score==="number"&&typeof m.score==="number"){if(u.score>m.score)return-1;else if(u.score<m.score)return 1}if(u.index<m.index)return-1;else if(u.index>m.index)return 1;return 0}compareByKindAndScore(u,m){let C=Mi[u.kind]||Ii,y=Mi[m.kind]||Ii,v=C.localeCompare(y);if(v===0)return this.compareByScore(u,m);return v}async getDocumentSymbols(u,m){let C=await this._outlineModelService.getOrCreate(u,m);return m.isCancellationRequested?[]:C.asListOfDocumentSymbols()}};je=lo=Ss([Xr(0,j),Xr(1,su)],je);var Ii=e(1421,"properties ({0})"),Mi={[5]:e(1422,"methods ({0})"),[11]:e(1423,"functions ({0})"),[8]:e(1424,"constructors ({0})"),[12]:e(1425,"variables ({0})"),[4]:e(1426,"classes ({0})"),[22]:e(1427,"structs ({0})"),[23]:e(1428,"events ({0})"),[24]:e(1429,"operators ({0})"),[10]:e(1430,"interfaces ({0})"),[2]:e(1431,"namespaces ({0})"),[3]:e(1432,"packages ({0})"),[25]:e(1433,"type parameters ({0})"),[1]:e(1434,"modules ({0})"),[6]:e(1435,"properties ({0})"),[9]:e(1436,"enumerations ({0})"),[21]:e(1437,"enumeration members ({0})"),[14]:e(1438,"strings ({0})"),[0]:e(1439,"files ({0})"),[17]:e(1440,"arrays ({0})"),[15]:e(1441,"numbers ({0})"),[16]:e(1442,"booleans ({0})"),[18]:e(1443,"objects ({0})"),[19]:e(1444,"keys ({0})"),[7]:e(1445,"fields ({0})"),[13]:e(1446,"constants ({0})")};var ys=function(p,u,m,C){var y=arguments.length,v=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,m):C,D;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")v=Reflect.decorate(p,u,m,C);else for(var I=p.length-1;I>=0;I--)if(D=p[I])v=(y<3?D(v):y>3?D(u,m,v):D(u,m))||v;return y>3&&v&&Object.defineProperty(u,m,v),v},xi=function(p,u){return function(m,C){u(m,C,p)}},Ei=class p extends je{constructor(u,m,C){super(m,C);this.editorService=u,this.onDidActiveTextEditorControlChange=S.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};Ei=ys([xi(0,ve),xi(1,j),xi(2,su)],Ei);class uo extends W{static{this.ID="editor.action.quickOutline"}constructor(){super({id:uo.ID,label:Ug.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:r.hasDocumentSymbolProvider,kbOpts:{kbExpr:r.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(p){p.get(un).quickAccess.show(je.PREFIX,{itemActivation:aa.NONE})}}R(uo);it.as(js.Quickaccess).registerQuickAccessProvider({ctor:Ei,prefix:je.PREFIX,helpEntries:[{description:Ug.quickOutlineActionLabel,prefix:je.PREFIX,commandId:uo.ID},{description:Ug.quickOutlineByCategoryActionLabel,prefix:je.PREFIX_BY_CATEGORY}]});function Ds(p){let u=new Map;for(let m of p)u.set(m,(u.get(m)??0)+1);return u}class tt{constructor(){this.chunkCount=0,this.chunkOccurrences=new Map,this.documents=new Map}calculateScores(p,u){let m=this.computeEmbedding(p),C=new Map,y=[];for(let[v,D]of this.documents){if(u.isCancellationRequested)return[];for(let I of D.chunks){let M=this.computeSimilarityScore(I,m,C);if(M>0)y.push({key:v,score:M})}}return y}static termFrequencies(p){return Ds(tt.splitTerms(p))}static*splitTerms(p){let u=(m)=>m.toLowerCase();for(let[m]of p.matchAll(/\b\p{Letter}[\p{Letter}\d]{2,}\b/gu)){yield u(m);let C=m.replace(/([a-z])([A-Z])/g,"$1 $2").split(/\s+/g);if(C.length>1){for(let y of C)if(y.length>2&&/\p{Letter}{3,}/gu.test(y))yield u(y)}}}updateDocuments(p){for(let{key:u}of p)this.deleteDocument(u);for(let u of p){let m=[];for(let C of u.textChunks){let y=tt.termFrequencies(C);for(let v of y.keys())this.chunkOccurrences.set(v,(this.chunkOccurrences.get(v)??0)+1);m.push({text:C,tf:y})}this.chunkCount+=m.length,this.documents.set(u.key,{chunks:m})}return this}deleteDocument(p){let u=this.documents.get(p);if(!u)return;this.documents.delete(p),this.chunkCount-=u.chunks.length;for(let m of u.chunks)for(let C of m.tf.keys()){let y=this.chunkOccurrences.get(C);if(typeof y==="number"){let v=y-1;if(v<=0)this.chunkOccurrences.delete(C);else this.chunkOccurrences.set(C,v)}}}computeSimilarityScore(p,u,m){let C=0;for(let[y,v]of Object.entries(u)){let D=p.tf.get(y);if(!D)continue;let I=m.get(y);if(typeof I!=="number")I=this.computeIdf(y),m.set(y,I);let M=D*I;C+=M*v}return C}computeEmbedding(p){let u=tt.termFrequencies(p);return this.computeTfidf(u)}computeIdf(p){let u=this.chunkOccurrences.get(p)??0;return u>0?Math.log((this.chunkCount+1)/u):0}computeTfidf(p){let u=Object.create(null);for(let[m,C]of p){let y=this.computeIdf(m);if(y>0)u[m]=C*y}return u}}function Jr(p){let u=p.slice(0);u.sort((C,y)=>y.score-C.score);let m=u[0]?.score??0;if(m>0)for(let C of u)C.score/=m;return u}var xe;(function(p){p[p.NO_ACTION=0]="NO_ACTION",p[p.CLOSE_PICKER=1]="CLOSE_PICKER",p[p.REFRESH_PICKER=2]="REFRESH_PICKER",p[p.REMOVE_ITEM=3]="REMOVE_ITEM"})(xe||(xe={}));function Pi(p){return Array.isArray(p.items)}function en(p){let u=p;return!!u.picks&&u.additionalPicks instanceof Promise}class Ai extends n{constructor(p,u){super();this.prefix=p,this.options=u}provide(p,u,m){let C=new c;p.canAcceptInBackground=!!this.options?.canAcceptInBackground,p.matchOnLabel=p.matchOnDescription=p.matchOnDetail=p.sortByLabel=!1;let y=void 0,v=C.add(new ie),D=async()=>{y?.dispose(!0),p.busy=!1;let M=v.value=new c;y=M.add(new Pe(u));let k=y.token,x=p.value.substring(this.prefix.length);if(!this.options?.shouldSkipTrimPickFilter)x=x.trim();let O=this._getPicks(x,M,k,m),T=(B,Q)=>{let K,te=void 0;if(Pi(B))K=B.items,te=B.active;else K=B;if(K.length===0){if(Q)return!1;if((x.length>0||p.hideInput)&&this.options?.noResultsPick)if(gl(this.options.noResultsPick))K=[this.options.noResultsPick(x)];else K=[this.options.noResultsPick]}if(p.items=K,te)p.activeItems=[te];return!0},q=async(B)=>{let Q=!1,K=!1;await Promise.all([(async()=>{if(typeof B.mergeDelay==="number"){if(await so(B.mergeDelay),k.isCancellationRequested)return}if(!K)Q=T(B.picks,!0)})(),(async()=>{p.busy=!0;try{let te=await B.additionalPicks;if(k.isCancellationRequested)return;let ae,de=void 0;if(Pi(B.picks))ae=B.picks.items,de=B.picks.active;else ae=B.picks;let ue,me=void 0;if(Pi(te))ue=te.items,me=te.active;else ue=te;if(ue.length>0||!Q){let pe=void 0;if(!de&&!me){let ye=p.activeItems[0];if(ye&&ae.indexOf(ye)!==-1)pe=ye}T({items:[...ae,...ue],active:de||me||pe})}}finally{if(!k.isCancellationRequested)p.busy=!1;K=!0}})()])};if(O===null);else if(en(O))await q(O);else if(!(O instanceof Promise))T(O);else{p.busy=!0;try{let B=await O;if(k.isCancellationRequested)return;if(en(B))await q(B);else T(B)}finally{if(!k.isCancellationRequested)p.busy=!1}}};C.add(p.onDidChangeValue(()=>D())),D(),C.add(p.onDidAccept((M)=>{if(m?.handleAccept){if(!M.inBackground)p.hide();m.handleAccept?.(p.activeItems[0],M.inBackground);return}let[k]=p.selectedItems;if(typeof k?.accept==="function"){if(G$(p.keyMods)&&!!k.attach){k.attach(p.keyMods,M);return}if(!M.inBackground)p.hide();k.accept(p.keyMods,M)}}));let I=async(M,k)=>{if(typeof k.trigger!=="function")return;let x=k.buttons?.indexOf(M)??-1;if(x>=0){let O=k.trigger(x,p.keyMods),T=typeof O==="number"?O:await O;if(u.isCancellationRequested)return;switch(T){case xe.NO_ACTION:break;case xe.CLOSE_PICKER:p.hide();break;case xe.REFRESH_PICKER:D();break;case xe.REMOVE_ITEM:{let q=p.items.indexOf(k);if(q!==-1){let B=p.items.slice(),Q=B.splice(q,1),K=p.activeItems.filter((ae)=>ae!==Q[0]),te=p.keepScrollPosition;if(p.keepScrollPosition=!0,p.items=B,K)p.activeItems=K;p.keepScrollPosition=te}break}}}};return C.add(p.onDidTriggerItemButton(({button:M,item:k})=>I(M,k))),C.add(p.onDidTriggerSeparatorButton(({button:M,separator:k})=>I(M,k))),C}}var on=function(p,u,m,C){var y=arguments.length,v=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,m):C,D;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")v=Reflect.decorate(p,u,m,C);else for(var I=p.length-1;I>=0;I--)if(D=p[I])v=(y<3?D(v):y>3?D(u,m,v):D(u,m))||v;return y>3&&v&&Object.defineProperty(u,m,v),v},ze=function(p,u){return function(m,C){u(m,C,p)}},qe,ne,ho=class p extends Ai{static{qe=this}static{this.PREFIX=">"}static{this.TFIDF_THRESHOLD=0.5}static{this.TFIDF_MAX_RESULTS=5}static{this.WORD_FILTER=X_(W$,V$)}constructor(u,m,C,y,v,D){super(qe.PREFIX,u);this.keybindingService=C,this.commandService=y,this.telemetryService=v,this.dialogService=D,this.commandsHistory=this._register(m.createInstance(Ri)),this.options=u}async _getPicks(u,m,C,y){let v=await this.getCommandPicks(C);if(C.isCancellationRequested)return[];let D=ss(()=>{let q=new tt;q.updateDocuments(v.map((Q)=>({key:Q.commandId,textChunks:[this.getTfIdfChunk(Q)]})));let B=q.calculateScores(u,C);return Jr(B).filter((Q)=>Q.score>qe.TFIDF_THRESHOLD).slice(0,qe.TFIDF_MAX_RESULTS)}),I=[];for(let q of v){let B=qe.WORD_FILTER(u,q.label)??void 0,Q;if(q.commandAlias)Q=qe.WORD_FILTER(u,q.commandAlias)??void 0;if(B||Q)q.highlights={label:B,detail:this.options.showAlias?Q:void 0},I.push(q);else if(u===q.commandId)I.push(q);else if(u.length>=3){let K=D();if(C.isCancellationRequested)return[];let te=K.find((ae)=>ae.key===q.commandId);if(te)q.tfIdfScore=te.score,I.push(q)}}let M=new Map;for(let q of I){let B=M.get(q.label);if(B)q.description=q.commandId,B.description=B.commandId;else M.set(q.label,q)}I.sort((q,B)=>{if(q.tfIdfScore&&B.tfIdfScore){if(q.tfIdfScore===B.tfIdfScore)return q.label.localeCompare(B.label);return B.tfIdfScore-q.tfIdfScore}else if(q.tfIdfScore)return 1;else if(B.tfIdfScore)return-1;let Q=this.commandsHistory.peek(q.commandId),K=this.commandsHistory.peek(B.commandId);if(Q&&K)return Q>K?-1:1;if(Q)return-1;if(K)return 1;if(this.options.suggestedCommandIds){let de=this.options.suggestedCommandIds.has(q.commandId),ue=this.options.suggestedCommandIds.has(B.commandId);if(de&&ue)return 0;if(de)return-1;if(ue)return 1}let te=q.commandCategory===vt.Developer.value,ae=B.commandCategory===vt.Developer.value;if(te&&!ae)return 1;if(!te&&ae)return-1;return q.label.localeCompare(B.label)});let k=[],x=!1,O=!0,T=!!this.options.suggestedCommandIds;for(let q=0;q<I.length;q++){let B=I[q],Q=!!this.commandsHistory.peek(B.commandId);if(q===0&&Q)k.push({type:"separator",label:e(1836,"recently used")}),x=!0;if(O&&B.tfIdfScore!==void 0)k.push({type:"separator",label:e(1837,"similar commands")}),O=!1;if(T&&B.tfIdfScore===void 0&&!Q&&this.options.suggestedCommandIds?.has(B.commandId))k.push({type:"separator",label:e(1838,"commonly used")}),x=!0,T=!1;if(x&&B.tfIdfScore===void 0&&!Q&&!this.options.suggestedCommandIds?.has(B.commandId))k.push({type:"separator",label:e(1839,"other commands")}),x=!1;k.push(this.toCommandPick(B,y,Q))}if(!this.hasAdditionalCommandPicks(u,C))return k;return{picks:k,additionalPicks:(async()=>{let q=await this.getAdditionalCommandPicks(v,I,u,C);if(C.isCancellationRequested)return[];let B=q.map((Q)=>this.toCommandPick(Q,y));if(O&&B[0]?.type!=="separator")B.unshift({type:"separator",label:e(1840,"similar commands")});return B})()}}toCommandPick(u,m,C=!1){if(u.type==="separator")return u;let y=u.tooltip??u.commandDescription?.value,v=this.keybindingService.lookupKeybinding(u.commandId),D=v?e(1841,"{0}, {1}",u.label,v.getAriaLabel()):u.label,I=u.buttons||[],M=C?[...I,{iconClass:G.asClassName(b.close),tooltip:e(1842,"Remove from Recently Used")}]:u.buttons;return{...u,id:u.commandId,tooltip:y,ariaLabel:D,detail:this.options.showAlias&&u.commandAlias!==u.label?u.commandAlias:void 0,keybinding:v,buttons:M,accept:async()=>{this.commandsHistory.push(u.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:u.commandId,from:m?.from??"quick open"});try{u.args?.length?await this.commandService.executeCommand(u.commandId,...u.args):await this.commandService.executeCommand(u.commandId)}catch(k){if(!Jn(k))this.dialogService.error(e(1843,"Command '{0}' resulted in an error",u.label),og(k))}},trigger:C?(k,x)=>{let O=I.length;if(k===O)return this.commandsHistory.remove(u.commandId),xe.REMOVE_ITEM;if(u.trigger)return u.trigger(k,x);return xe.NO_ACTION}:u.trigger}}getTfIdfChunk({label:u,commandAlias:m,commandDescription:C}){let y=u;if(m&&m!==u)y+=` - ${m}`;if(C&&C.value!==u)y+=` - ${C.value===C.original?C.value:`${C.value} (${C.original})`}`;return y}};ho=qe=on([ze(1,L),ze(2,ce),ze(3,Ae),ze(4,Tn),ze(5,rd)],ho);var Ri=class p extends n{static{ne=this}static{this.DEFAULT_COMMANDS_HISTORY_LENGTH=50}static{this.PREF_KEY_CACHE="commandPalette.mru.cache"}static{this.PREF_KEY_COUNTER="commandPalette.mru.counter"}static{this.counter=1}static{this.hasChanges=!1}constructor(u,m,C){super();this.storageService=u,this.configurationService=m,this.logService=C,this.configuredCommandsHistoryLength=0,this.updateConfiguration(),this.load(),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration((u)=>this.updateConfiguration(u))),this._register(this.storageService.onWillSaveState((u)=>{if(u.reason===$l.SHUTDOWN)this.saveState()}))}updateConfiguration(u){if(u&&!u.affectsConfiguration("workbench.commandPalette.history"))return;if(this.configuredCommandsHistoryLength=ne.getConfiguredCommandHistoryLength(this.configurationService),ne.cache&&ne.cache.limit!==this.configuredCommandsHistoryLength)ne.cache.limit=this.configuredCommandsHistoryLength,ne.hasChanges=!0}load(){let u=this.storageService.get(ne.PREF_KEY_CACHE,0),m;if(u)try{m=JSON.parse(u)}catch(y){this.logService.error(`[CommandsHistory] invalid data: ${y}`)}let C=ne.cache=new Li(this.configuredCommandsHistoryLength,1);if(m){let y;if(m.usesLRU)y=m.entries;else y=m.entries.sort((v,D)=>v.value-D.value);y.forEach((v)=>C.set(v.key,v.value))}ne.counter=this.storageService.getNumber(ne.PREF_KEY_COUNTER,0,ne.counter)}push(u){if(!ne.cache)return;ne.cache.set(u,ne.counter++),ne.hasChanges=!0}peek(u){return ne.cache?.peek(u)}remove(u){if(!ne.cache)return;ne.cache.delete(u),ne.hasChanges=!0}saveState(){if(!ne.cache)return;if(!ne.hasChanges)return;let u={usesLRU:!0,entries:[]};ne.cache.forEach((m,C)=>u.entries.push({key:C,value:m})),this.storageService.store(ne.PREF_KEY_CACHE,JSON.stringify(u),0,0),this.storageService.store(ne.PREF_KEY_COUNTER,ne.counter,0,0),ne.hasChanges=!1}static getConfiguredCommandHistoryLength(u){let C=u.getValue().workbench?.commandPalette?.history;if(typeof C==="number")return C;return ne.DEFAULT_COMMANDS_HISTORY_LENGTH}};Ri=ne=on([ze(0,_n),ze(1,X),ze(2,Be)],Ri);class Ni extends ho{constructor(p,u,m,C,y,v){super(p,u,m,C,y,v)}getCodeEditorCommandPicks(){let p=this.activeTextEditorControl;if(!p)return[];let u=[];for(let m of p.getSupportedActions()){let C;if(m.metadata?.description)if(K$(m.metadata.description))C=m.metadata.description;else C={original:m.metadata.description,value:m.metadata.description};u.push({commandId:m.id,commandAlias:m.alias,commandDescription:C,label:Kh(m.label)||m.id})}return u}}var ws=function(p,u,m,C){var y=arguments.length,v=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,m):C,D;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")v=Reflect.decorate(p,u,m,C);else for(var I=p.length-1;I>=0;I--)if(D=p[I])v=(y<3?D(v):y>3?D(u,m,v):D(u,m))||v;return y>3&&v&&Object.defineProperty(u,m,v),v},ot=function(p,u){return function(m,C){u(m,C,p)}},wt=class p extends Ni{get activeTextEditorControl(){return this.codeEditorService.getFocusedCodeEditor()??void 0}constructor(u,m,C,y,v,D){super({showAlias:!1},u,C,y,v,D);this.codeEditorService=m}async getCommandPicks(){return this.getCodeEditorCommandPicks()}hasAdditionalCommandPicks(){return!1}async getAdditionalCommandPicks(){return[]}};wt=ws([ot(0,L),ot(1,ve),ot(2,ce),ot(3,Ae),ot(4,Tn),ot(5,rd)],wt);class mo extends W{static{this.ID="editor.action.quickCommand"}constructor(){super({id:mo.ID,label:Qv.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:r.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(p){p.get(un).quickAccess.show(wt.PREFIX)}}R(mo);it.as(js.Quickaccess).registerQuickAccessProvider({ctor:wt,prefix:wt.PREFIX,helpEntries:[{description:Qv.quickCommandHelp,commandId:mo.ID}]});var Is=function(p,u,m,C){var y=arguments.length,v=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,m):C,D;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")v=Reflect.decorate(p,u,m,C);else for(var I=p.length-1;I>=0;I--)if(D=p[I])v=(y<3?D(v):y>3?D(u,m,v):D(u,m))||v;return y>3&&v&&Object.defineProperty(u,m,v),v},rt=function(p,u){return function(m,C){u(m,C,p)}},Oi=class p extends ru{constructor(u,m,C,y,v,D,I){super(!0,u,m,C,y,v,D,I)}};Oi=Is([rt(1,z),rt(2,ve),rt(3,ut),rt(4,L),rt(5,_n),rt(6,X)],Oi);le(ru.ID,Oi,4);class rn extends W{constructor(){super({id:"editor.action.toggleHighContrast",label:b0.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0});this._originalThemeName=null}run(p,u){let m=p.get(Gr),C=m.getColorTheme();if(Ur(C.type))m.setTheme(this._originalThemeName||(Os(C.type)?Pf:ad)),this._originalThemeName=null;else m.setTheme(Os(C.type)?Zh:Xh),this._originalThemeName=C.themeName}}R(rn);function Ms(p,u){let m=globalThis.MonacoEnvironment;if(m?.createTrustedTypesPolicy)try{return m.createTrustedTypesPolicy(p,u)}catch(C){console.error(C);return}try{return globalThis.trustedTypes?.createPolicy(p,u)}catch(C){console.error(C);return}}var po;if(typeof self==="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope"&&globalThis.workerttPolicy!==void 0)po=globalThis.workerttPolicy;else po=Ms("defaultWorkerFactory",{createScriptURL:(p)=>p});function ks(p){let u=p.label,m=globalThis.MonacoEnvironment;if(m){if(typeof m.getWorker==="function")return m.getWorker("workerMain.js",u);if(typeof m.getWorkerUrl==="function"){let C=m.getWorkerUrl("workerMain.js",u);return new Worker(po?po.createScriptURL(C):C,{name:u,type:"module"})}}if(p.createWorker)return p.createWorker();throw Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}function nv(p){let u=Promise.resolve(ks({label:p.label??"monaco-editor-worker",moduleId:p.moduleId,createWorker:p.createWorker})).then((m)=>(m.postMessage("ignore"),m.postMessage(p.createData),m));return Rn.createWebWorker({worker:u,host:p.host,keepIdleModels:p.keepIdleModels})}
|
|
6
|
-
export{nv};
|
|
7
|
-
|
|
8
|
-
//# debugId=E7854F8D92D5052664756E2164756E21
|
|
9
|
-
//# sourceMappingURL=studio-xgrgcdyh.js.map
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
var i=globalThis;function L1(n){i.__jxPlatform=n}function qm(){return i.__jxLauncher}var e=new Map;function R1(){let n=[];for(let[r,a]of e)for(let t=0;t<a;t++)n.push(r);return n}function d(n){e.set(n,(e.get(n)??0)+1)}function m(n){let r=(e.get(n)??1)-1;if(r>0)e.set(n,r);else e.delete(n)}function h(n){let r=new Map;return new Proxy(n,{get(a,t){let o=Reflect.get(a,t);if(typeof o!=="function"||typeof t!=="string")return o;let f=r.get(t);if(f&&f.raw===o)return f.wrapper;let s=t,c=(...w)=>{let u=o.apply(a,w);if(typeof u?.then!=="function")return u;d(s);let g=()=>{m(s)};return u.then(g,g),u};return r.set(t,{raw:o,wrapper:c}),c}})}var l=null;function p(){let n=i.__jxPlatform;if(!n)throw Error("No platform registered. Call registerPlatform() before starting Studio.");if(l?.raw!==n)l={raw:n,wrapped:h(n)};return l.wrapped}function Ve(){return i.__jxPlatform!=null}
|
|
2
|
-
export{L1,qm,R1,p,Ve};
|
|
3
|
-
|
|
4
|
-
//# debugId=659A086A028F3EC464756E2164756E21
|
|
5
|
-
//# sourceMappingURL=studio-xz2yxfcb.js.map
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
function pw(o){if(o===null||typeof o!=="object")return{offer:[],refused:null};let e=o;if(e.collab===!1){let t=typeof e.detail==="string"?e.detail.trim():"";return{offer:[],refused:t||"This server has collaboration disabled."}}let{protocols:r}=e;if(!Array.isArray(r)||r.length===0)return{offer:[],refused:null};if(r.includes("jx.collab.v1"))return{offer:["jx.collab.v1"],refused:null};let n=r.filter((t)=>typeof t==="string").join(", ")||"none";return{offer:[],refused:`This server speaks collab envelope ${n}; this editor speaks jx.collab.v1.`}}
|
|
2
|
-
export{pw};
|
|
3
|
-
|
|
4
|
-
//# debugId=0C45813E2043A2AC64756E2164756E21
|
|
5
|
-
//# sourceMappingURL=studio-y6n42tgs.js.map
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{p,Ve}from"./studio-xz2yxfcb.js";import{te}from"./studio-ery42sqr.js";function qb(){return Ve()&&typeof p().findReferences==="function"}function u(e){return`${e.path??""}\x00${e.tagName??""}`}var o=new Map,i=new Map;function Ic(e){if(!qb())return{status:"unsupported"};return o.get(u(e))??(i.has(u(e))?{status:"pending"}:null)}async function Us(e){if(!qb())return{status:"unsupported"};if(!e.path&&!e.tagName)return{status:"failed",message:"no target to look for"};let t=u(e),s=o.get(t);if(s)return s;let n=i.get(t);if(n)return n;let r=(async()=>{try{return{result:await p().findReferences({...e.path===void 0?{}:{path:e.path},...e.tagName===void 0?{}:{tagName:e.tagName}}),status:"ready"}}catch(l){return{message:te(l),status:"failed"}}finally{i.delete(t)}})();i.set(t,r);let a=await r;return o.set(t,a),a}function lC(e){return o.delete(u(e)),Us(e)}function xa(){o.clear()}function f(e){let t=0;for(let s of e.files)if(s.path.startsWith("pages/"))t+=1;return{others:e.files.length-t,pages:t}}function gm(e){let{others:t,pages:s}=f(e);if(s===0&&t===0)return"Not used yet";let n=[];if(s>0)n.push(`${s} page${s===1?"":"s"}`);if(t>0)n.push(`${t} other file${t===1?"":"s"}`);return`Used on ${n.join(" and ")}`}function cC(e,t){if(e.status==="unsupported")return null;if(e.status==="pending")return"Counting references…";if(e.status==="failed")return`References could not be counted (${e.message}) — this may break more than it appears to.`;let{files:s,refsTotal:n}=e.result;if(s.length===0)return t==="delete"?"Nothing else in this project refers to it.":"Nothing else in this project refers to it, so nothing needs updating.";let r=`${n} reference${n===1?"":"s"} in ${s.length} file${s.length===1?"":"s"}`,a=e.result.errors.length>0?" (at least — some documents could not be read)":"";if(t==="delete")return`${r}${a} will break. Those files stay on disk; the references in them stop resolving.`;if(t==="convert")return`${r}${a} will be updated automatically to point at the new file.`;return`${r}${a} will be updated automatically. Nothing else changes.`}function bm(e){return e.files.toSorted((t,s)=>s.count-t.count||t.path.localeCompare(s.path))}
|
|
2
|
-
export{qb,Ic,Us,lC,xa,gm,cC,bm};
|
|
3
|
-
|
|
4
|
-
//# debugId=7475487D5C427C3664756E2164756E21
|
|
5
|
-
//# sourceMappingURL=studio-yb560vxr.js.map
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{Mt,vh,qe}from"./studio-s8dmmz66.js";var Bm=400;var jc=350,xR=30000;function K(e,t){let n=e;for(let r of t){if(n==null)return;n=n[r]}return n}function Cr(e){return Array.isArray(e?.children)?e.children:[]}function Wm(e){if(!e||typeof e!=="object")return e;if(Array.isArray(e)){for(let r of e)Wm(r);return e}let t=e,{children:n}=t;if(n&&typeof n==="object"&&!Array.isArray(n)&&n.$prototype==="Array")t.children=[n];if(Array.isArray(t.children))for(let r of t.children)Wm(r);if(t.$prototype==="Array"&&t.map&&typeof t.map==="object")Wm(t.map);if(t.cases&&typeof t.cases==="object")for(let r of Object.values(t.cases))Wm(r);return e}function ht(e){return e.length>=2?e.slice(0,-2):null}function Cn(e){return e.at(-1)}function x1(e){return e.join("/")}function Qr(e,t){if(e===t)return!0;if(!e||!t||e.length!==t.length)return!1;return e.every((n,r)=>n===t[r])}function il(e,t){if(e.length>t.length)return!1;return e.every((n,r)=>n===t[r])}function Gd(e,t=[],n=0){let r=[];return l(e,t,n,r,!1),r}function l(e,t,n,r,o){if(typeof e==="string"||typeof e==="number"||typeof e==="boolean"){if(!o)r.push({depth:n,node:e,nodeType:"text",path:t});return}if(e.$prototype==="Array"){if(!o)r.push({depth:n,node:e,nodeType:"map",path:t});let s=e.map;if(s&&typeof s==="object")l(s,[...t,"map"],n+1,r,!1);return}if(!o)r.push({depth:n,node:e,nodeType:"element",path:t});if(e.$props&&qe(e.tagName).includes("-")&&!Array.isArray(e.children))return;let{children:i}=e;if(Array.isArray(i))for(let s=0;s<i.length;s++){let a=[...t,"children",s];l(i[s],a,n+1,r,!1)}else if(i&&typeof i==="object"&&i.$prototype==="Array")l(i,[...t,"children"],n+1,r,!1);if(e.$switch&&e.cases&&typeof e.cases==="object")for(let[s,a]of Object.entries(e.cases)){let c=[...t,"cases",s];if(a&&typeof a==="object"&&a.$ref)r.push({depth:n+1,node:a,nodeType:"case-ref",path:c});else if(a&&typeof a==="object")r.push({depth:n+1,node:a,nodeType:"case",path:c}),l(a,c,n+2,r,!0)}}function eo(e){if(!e)return"?";if(e.$prototype==="Array"){let{items:r}=e;return`Repeater → ${(Mt(r)?r.$ref:void 0)||"items"}`}if(e.$title)return e.$title;if(e.$id)return e.$id;if(e.tagName==="slot"){let r=e.attributes?.name;return typeof r==="string"&&r.trim()?`slot: ${r.trim()}`:"slot"}let t=qe(e.tagName)||"div",n=e.$switch?" ⇆":"";if(typeof e.textContent==="string"&&e.textContent.length>0)return`${t} — ${e.textContent.slice(0,24)}${n}`;return t+n}var D=null;function Xl(e){D=e}function vt(){return D}function hh(e){if(!e||typeof e!=="object")return e;if(Array.isArray(e))return e.map((n)=>hh(n));let t={};for(let[n,r]of Object.entries(e)){if(n.startsWith("on")&&vh(r))continue;if(n==="children")t.children=Array.isArray(r)?r.map((o)=>hh(o)):hh(r);else if(n==="cases"&&typeof r==="object"){let o={};for(let[i,s]of Object.entries(r))o[i]=hh(s);t.cases=o}else if(n==="state"&&typeof r==="object"&&r!==null){let o={};for(let[i,s]of Object.entries(r)){if(s&&typeof s==="object"&&s.timing==="server")continue;o[i]=s}t.state=o}else if(n==="style"||n==="attributes"||n==="$media")t[n]=r;else t[n]=r}return t}var t_=null,ph=null,_1=null,S1=null,Vy=null;function _R(){t_=document.querySelector("#activity-bar"),ph=document.querySelector("#left-panel"),_1=document.querySelector("#right-panel"),S1=document.querySelector("#toolbar"),Vy=document.querySelector("#statusbar")}var Wp=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),C1=[":hover",":focus",":active",":focus-within",":focus-visible",":disabled",":first-child",":last-child","::before","::after","::placeholder"];function zy(e){return e.startsWith(":")||e.startsWith(".")||e.startsWith("&")||e.startsWith("[")}var u=new Map;function Uy(e,t,n){let r=t??Bm;return(...o)=>{clearTimeout(u.get(e)),u.set(e,setTimeout(()=>{u.delete(e),n(...o)},r))}}function SR(e){clearTimeout(u.get(e)),u.delete(e)}var p=new Map,f=0;function CR(){return f}function d(e,t){f+=1;let n=()=>{f-=1},r=null;try{let o=t();if(typeof o?.then==="function")r=o}catch(o){console.error(`Renderer "${e}" failed:`,o)}if(!r){n();return}r.then(n,(o)=>{console.error(`Renderer "${e}" failed:`,o),n()})}function fh(e,t){p.set(e,t)}function Fr(){for(let[e,t]of p.entries())d(e,t)}function Ai(...e){for(let t of e){let n=p.get(t);if(!n)continue;d(t,n)}}function Hc(e,t){if(e){if(t.selection!==void 0)e.session.selection=t.selection;if(t.hover!==void 0)e.session.hover=t.hover;if(t.clipboard!==void 0)e.session.clipboard=t.clipboard;if(t.ui)for(let[n,r]of Object.entries(t.ui))e.session.ui[n]=r;if(t.canvas)for(let[n,r]of Object.entries(t.canvas))e.session.canvas[n]=r}}function Qo(e,t,n){if(e)e.session.ui[t]=n}function kR(e,t){if(e)for(let[n,r]of Object.entries(t))e.session.canvas[n]=r}
|
|
2
|
-
export{Bm,jc,xR,K,Cr,Wm,ht,Cn,x1,Qr,il,Gd,eo,D,Xl,vt,hh,t_,ph,_1,S1,Vy,_R,Wp,C1,zy,Uy,SR,CR,fh,Fr,Ai,Hc,Qo,kR};
|
|
3
|
-
|
|
4
|
-
//# debugId=3CF8F5E9CDB5C1F664756E2164756E21
|
|
5
|
-
//# sourceMappingURL=studio-yn9f8vtx.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{ne}from"./studio-9mccjwjh.js";import{p}from"./studio-xz2yxfcb.js";import{_p}from"./studio-tdcprbqb.js";import{ge,Q,y,tg}from"./studio-55h4mstj.js";import{T,I}from"./studio-g1shz58g.js";import{Vi,v}from"./studio-t1xzawhr.js";import{D}from"./studio-yn9f8vtx.js";function k({slug:e,adapter:t}){let o=new Date().toISOString().slice(0,10);return`${JSON.stringify(t==="cloudflare-workers"?{assets:{binding:"ASSETS",directory:"./dist"},compatibility_date:o,compatibility_flags:["nodejs_compat"],main:"./dist/worker.js",name:e}:{compatibility_date:o,compatibility_flags:["nodejs_compat"],name:e,pages_build_output_dir:"./dist"},null,"\t")}
|
|
2
|
-
`}function m(e,{slug:t,adapter:o}){if(!e)return{content:k({adapter:o,slug:t}),patched:!0};let n;try{n=JSON.parse(e)}catch{return{content:e,patched:!1}}if(n.name=t,o==="cloudflare-workers")delete n.pages_build_output_dir,n.main="./dist/worker.js",n.assets={binding:"ASSETS",directory:"./dist"};else delete n.main,delete n.assets,n.pages_build_output_dir="./dist";return{content:`${JSON.stringify(n,null,"\t")}
|
|
3
|
-
`,patched:!0}}function Ld(){try{return typeof p().cfApi==="function"}catch{return!1}}async function l(e,t){let o=p().cfApi;if(!o)throw Error("This platform cannot reach the Cloudflare API");try{return await o(e,t)}catch(n){throw _p(n),n}}async function pT(){return l("/accounts")}async function j(e,t){try{return await l(`/accounts/${e}/pages/projects/${t}`)}catch{return null}}async function C(e){return l(`/accounts/${e.accountId}/pages/projects`,{method:"POST",body:{name:e.projectName,production_branch:e.productionBranch,build_config:{build_command:"bunx jx build",destination_dir:"dist",...e.rootDir?{root_dir:e.rootDir}:{}},source:{type:"github",config:{owner:e.owner,repo_name:e.repo,production_branch:e.productionBranch,deployments_enabled:!0}}}})}async function hm(e){let t=await l(`/accounts/${e.accountId}/pages/projects/${e.projectName}/deployments`),[o]=t;if(!o)return null;return{id:o.id,url:o.url,environment:o.environment,stage:o.latest_stage?.name??"unknown",status:o.latest_stage?.status??"unknown",createdOn:o.created_on}}async function eC(e,t){let o={...e.build};if(t===null)delete o.deploy;else o.deploy=t;if(await Vi({build:o}),t!==null){let n=p(),i=null;try{i=await n.readFile("wrangler.jsonc")}catch{i=null}let w=o.adapter==="cloudflare-workers"?"cloudflare-workers":"cloudflare-pages",{content:x,patched:S}=m(i,{adapter:w,slug:t.projectName});if(S)await n.writeFile("wrangler.jsonc",x)}}async function fT(e,t){let n=await j(t.accountId,t.projectName)??await C(t),i={provider:"cloudflare-pages",accountId:t.accountId,projectName:t.projectName,...n.subdomain?{productionUrl:`https://${n.subdomain}`}:{}};return await eC(e,i),i}var h={$schema:"https://jxsuite.com/schema/v1",$id:"StudioPanelDeployChecklist",$description:"The deploy checklist, drawn above the Activity feed in the Bottom dock's Activity tab: what is MISSING before this project can ship, as one row with the chain of prerequisites under it. `publish/deploy-checklist.ts` owns the chain — which link is forged, which is merely unasked, and which command forges the next one — and hands this document a row, four steps and at most one action. Nothing here reads source control, the project config or the command registry. It draws in the Activity tab's own vocabulary because a deploy is an ordered list of stages that finish, which is exactly what a row of that feed already is; a fifth visual idiom for it would be a second design of a thing the tab has.",tagName:"div",attributes:{part:"checklist"},style:{$description:"What `.activity-list`, `.activity-row`, `.activity-row--running`, `.activity-row--done`, `.activity-icon`, `.activity-body`, `.activity-head`, `.activity-title`, `.activity-source`, `.activity-status`, `.activity-steps`, `.activity-step`, `.activity-step--done` and `.activity-step-icon` said in `styles/panels.css`, keyed on `part`. This is the LAST reader of those rules — `surfaces/panel-activity.json` carried its own copy when the feed converted, and left the stylesheet standing because this file still drew from it — so the whole `.problem-*, .activity-*` block is dead once this lands. Three token names could not travel: `--spectrum-font-size-50`, `--spectrum-font-size-75` and `--spectrum-corner-radius-75` resolve only inside `<sp-theme>`, and a document mounted into the dock body is outside it, so each would silently have taken its hard-coded px fallback. They are the kit's own scale here. One thing changed meaning on purpose: the step's `data-state` is the checklist's own three-valued state rather than the two CSS classes it used to collapse into, so `unknown` — \"nobody has asked\" — is a state the styling can tell apart from `todo` the day it should.",display:"block",minWidth:"0",fontFamily:"var(--jx-font-sans)",color:"var(--fg)",'& [part="list"]':{display:"flex",flexDirection:"column",gap:"var(--jx-space-1)",margin:"0",padding:"0",listStyle:"none"},'& [part="row"]':{$description:"The left border is the state, at 3px, which is the one thing that must be legible without reading the row. Its default is the dim foreground so a state nobody has a colour for still draws a border rather than a gap.",display:"flex",alignItems:"flex-start",gap:"var(--jx-space-2)",padding:"6px var(--jx-space-2)",border:"1px solid var(--border)",borderLeft:"3px solid var(--fg-dim)",borderRadius:"var(--radius)",background:"var(--bg-panel)",color:"var(--fg)",fontSize:"var(--jx-text-md)"},'& [part="row"][data-state="running"]':{borderLeftColor:"var(--accent)"},'& [part="row"][data-state="done"]':{borderLeftColor:"var(--success)"},'& [part="state-icon"]':{$description:'Named `state-icon` rather than `icon`: `jx-button` puts `part="icon"` on the glyph slot of every button it draws, and the action button below is inside this same light-DOM tree — a rule on the bare name would reach into the kit\'s own drawing and a devtools query could not tell the two apart.',flex:"none",width:"14px",textAlign:"center",fontWeight:"700",lineHeight:"1.5"},'& [part="row"][data-state="running"] > [part="state-icon"]':{color:"var(--accent)"},'& [part="row"][data-state="done"] > [part="state-icon"]':{color:"var(--success)"},'& [part="row-body"]':{flex:"1",minWidth:"0",display:"flex",flexDirection:"column",alignItems:"flex-start",gap:"2px"},'& [part="head"]':{display:"flex",alignItems:"baseline",gap:"var(--jx-space-2)",alignSelf:"stretch",minWidth:"0"},'& [part="row-title"]':{fontWeight:"700",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},'& [part="source"]':{$description:"Pushed to the far edge, so the tab reads as a column of who raised what.",flex:"none",marginLeft:"auto",color:"var(--fg-dim)",fontSize:"var(--jx-text-sm)"},'& [part="summary"]':{color:"var(--fg-dim)",overflowWrap:"anywhere"},'& [part="steps"]':{$description:'The chain, declared up front, so "which link is missing" is answered by looking rather than by reading the summary and remembering what came before it.',display:"flex",flexDirection:"column",gap:"1px",margin:"2px 0 0",padding:"0",listStyle:"none",fontSize:"var(--jx-text-sm)"},'& [part="step"]':{display:"flex",gap:"6px",color:"var(--fg-dim)"},'& [part="step"][data-state="done"] > [part="step-icon"]':{color:"var(--success)"},'& [part="step-icon"]':{flex:"none",width:"10px",textAlign:"center"},'& [part="action"]':{marginTop:"var(--jx-space-1)"}},children:[{tagName:"div",attributes:{part:"body-slot",role:"none"},style:{display:"contents"},$switch:{$ref:"#/state/hasProject"},cases:{true:{tagName:"ul",attributes:{part:"list"},children:[{tagName:"li",attributes:{part:"row","data-state":"${state.rowState}"},children:[{tagName:"span",attributes:{part:"state-icon","aria-hidden":"true"},textContent:"${state.rowIcon}"},{tagName:"div",attributes:{part:"row-body"},children:[{tagName:"div",attributes:{part:"head"},children:[{tagName:"span",attributes:{part:"row-title"},textContent:"Deploy checklist"},{tagName:"span",attributes:{part:"source"},textContent:"Publish"}]},{tagName:"div",attributes:{part:"summary"},textContent:"${state.summary}"},{tagName:"ol",attributes:{part:"steps"},children:[{$prototype:"Array",items:{$ref:"#/state/steps"},key:{$ref:"$map/item/id"},map:{tagName:"li",attributes:{part:"step","data-step":"${$map.item.id}","data-state":"${$map.item.state}"},children:[{tagName:"span",attributes:{part:"step-icon","aria-hidden":"true"},textContent:"${$map.item.icon}"},{tagName:"span",attributes:{part:"step-text"},textContent:"${$map.item.text}"}]}}]},{tagName:"span",attributes:{part:"action-slot",role:"none"},style:{display:"contents"},$switch:{$ref:"#/state/hasAction"},cases:{true:{tagName:"jx-button",$description:"The recovery button wears the command's own title, so it reads as a verb rather than as a decoration, and a refused command is dimmed with the reason it names in its tooltip. A command the registry does not have, or whose `when` is false, draws NOTHING rather than a dead label — a surface may choose whether to show a command, never whether it exists (§13).",$props:{size:"sm",disabled:{$ref:"#/state/actionDisabled"}},attributes:{part:"action",title:"${state.actionTitle}"},onclick:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/runAction"},value:[]}]},children:[{tagName:"span",textContent:"${state.actionLabel}"}]}}}]}]}]}}}]};T("panel-deploy-checklist",h);var d=null,c=null,a=null,r=null;function A(e,t){e.hasProject=t.hasProject,e.rowState=t.rowState,e.rowIcon=t.rowIcon,e.summary=t.summary,e.steps=t.steps,e.hasAction=t.hasAction,e.actionLabel=t.actionLabel,e.actionTitle=t.actionTitle,e.actionDisabled=t.actionDisabled}function N(e){if(d!==e)return!1;return r===null?a!==null:r.root.parentNode===e}function f(e,t){if(N(e))return;u(),d=e;let o=y({actionDisabled:!1,actionLabel:"",actionTitle:"",hasAction:!1,hasProject:!1,rowIcon:"",rowState:"running",runAction:t.runAction,steps:[],summary:""});c=ge(),c.run(()=>{Q(()=>{A(o,t.project())})});let n=I("panel-deploy-checklist",o,e);a=n,n.then((i)=>{if(a===n)r=i;else i.dispose()})}function u(){c?.stop(),c=null;let e=a;if(a=null,r)r.dispose(),r=null;else if(e)e.then((t)=>t.dispose());d=null}function _(){return D?.projectConfig??null}function va(){return _()?.build?.deploy}var s=tg({asked:!1,observed:null});function vp(e){s.observed=e,s.asked=!0}function R(){let{status:e}=v.git;if(e===null)return{command:"git.init",detail:"Source control has not reported on this project yet.",id:"repo",label:"Track this project with git",state:"unknown"};return e.isRepo?{command:"git.init",detail:`Tracked${e.branch?` — on branch ${e.branch}`:""}.`,id:"repo",label:"Track this project with git",state:"done"}:{command:"git.init",detail:"A deploy ships what the repository holds, so the repository comes first.",id:"repo",label:"Track this project with git",state:"todo"}}function L(){let{status:e}=v.git;if(e===null||!e.isRepo)return{command:"git.createGithubRepository",detail:"A remote is where the provider builds from.",id:"remote",label:"Push to a remote",state:e===null?"unknown":"todo"};if((e.remotes??[]).length===0)return{command:"git.createGithubRepository",detail:"This repository is local only — nothing outside this machine can build it.",id:"remote",label:"Push to a remote",state:"todo"};return e.ahead>0?{command:"git.push",detail:`${e.ahead} commit(s) are not on ${e.remotes[0]} yet, so a build would ship the older tree.`,id:"remote",label:"Push to a remote",state:"todo"}:{command:"git.push",detail:`Up to date with ${e.remotes[0]}.`,id:"remote",label:"Push to a remote",state:"done"}}function O(){let e=va();if(e)return{command:"publish.setUp",detail:`Cloudflare Pages project ${e.projectName}.`,id:"provider",label:"Connect a deploy provider",state:"done"};return Ld()?{command:"publish.setUp",detail:"Connecting one makes every commit build and publish on its own.",id:"provider",label:"Connect a deploy provider",state:"todo"}:{command:"publish.setUp",detail:"This platform cannot reach the Cloudflare API. Commit and push instead — your host "+"runs bunx jx build and serves dist/.",id:"provider",label:"Connect a deploy provider",state:"unknown"}}function E(){if(!va())return{command:"publish.deploy",detail:"Nothing has been deployed, because no provider is connected.",id:"deployed",label:"Deploy",state:"todo"};if(!s.asked)return{command:"publish.deploy",detail:"Cloudflare has not been asked yet, so this is not a claim that nothing shipped.",id:"deployed",label:"Deploy",state:"unknown"};if(s.observed===null)return{command:"publish.deploy",detail:"Cloudflare reports no deployments for this project.",id:"deployed",label:"Deploy",state:"todo"};let{observed:e}=s;return e.status==="success"?{command:"publish.deploy",detail:`${e.environment} — ${e.url}`,id:"deployed",label:"Deploy",state:"done"}:{command:"publish.deploy",detail:`Last deployment ${e.stage}: ${e.status}.`,id:"deployed",label:"Deploy",state:"todo"}}function g(){return[R(),L(),O(),E()]}function b(){return g().find((e)=>e.state!=="done")??null}function mT(){if(!D)return null;let e=b();if(e)return{command:e.command,label:e.label,title:e.detail};return{command:"publish.openDashboard",label:"Deployed",title:va()?.productionUrl??"Everything this project needs to ship is in place."}}var W={done:"✓",todo:"·",unknown:"?"};function V(e){return{icon:W[e.state],id:e.id,state:e.state,text:e.state==="done"?e.label:`${e.label} — ${e.detail}`}}function H(e){let t={actionDisabled:!1,actionLabel:"",actionTitle:"",hasAction:!1};if(!e)return t;let o=ne(),n=o?.get(e.command);if(!o||!n||!o.isVisible(e.command))return t;let i=o.disabledReason(e.command);return{actionDisabled:i!==void 0,actionLabel:n.title,actionTitle:i?`${n.title} — requires ${i}`:n.title,hasAction:!0}}function J(){if(!D)return{actionDisabled:!1,actionLabel:"",actionTitle:"",hasAction:!1,hasProject:!1,rowIcon:"",rowState:"running",steps:[],summary:""};let e=g(),t=e.find((o)=>o.state!=="done")??null;return{...H(t),hasProject:!0,rowIcon:t?"⋯":"✓",rowState:t?"running":"done",steps:e.map((o)=>V(o)),summary:t?t.detail:"Everything this project needs to ship is in place."}}function B(){let e=b();if(!e)return;ne()?.run(e.command)}var F={project:J,runAction:B};function gT(e){let t=e.querySelector("[data-deploy-checklist]");if(!t){u();return}f(t,F)}
|
|
4
|
-
export{Ld,pT,hm,eC,fT,va,vp,mT,gT};
|
|
5
|
-
|
|
6
|
-
//# debugId=EF86324585302DCA64756E2164756E21
|
|
7
|
-
//# sourceMappingURL=studio-yw05w8f0.js.map
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{Kt,_i,Qt,Fo,Zs}from"./studio-5tnvjkz4.js";import{ge,Q,y,C}from"./studio-55h4mstj.js";import{wi,q,Gl,rt,xi,di,ke,Ca,sr,He,Kx,Op,Kl,Fy,m,u,ui}from"./studio-a2ke1e4t.js";import{te}from"./studio-ery42sqr.js";import{ne}from"./studio-9mccjwjh.js";import{Qw,Hu,Ed,Bu}from"./studio-63epcrj2.js";import{Qi,T,I}from"./studio-g1shz58g.js";import{Ec,Ib,Wu,lm,tT,qS}from"./studio-qkstvve9.js";import{yo}from"./studio-t1xzawhr.js";import{iT}from"./studio-7vg6jcd3.js";import{Vw,Cb,ga,PS,HE}from"./studio-qv1pwd3c.js";import{D}from"./studio-yn9f8vtx.js";import{Oe}from"./studio-mcayt6hz.js";import{me}from"./studio-pre0skq6.js";var Hw=["string","number","boolean","array","object","reference"],Bw=["","image","date","color"];function im(e){if(e.$ref)return"reference";return e.type||"string"}function Sc(e){if(e.type==="array"&&e.items?.format)return e.items.format;return e.format||""}function Ws(e,r){switch(e){case"number":return{type:"number"};case"boolean":return{type:"boolean"};case"array":return r?{items:{format:r,type:"string"},type:"array"}:{items:{type:"string"},type:"array"};case"object":return{properties:{},required:[],type:"object"};case"reference":return{$ref:"#/content/"};default:return r?{format:r,type:"string"}:{type:"string"}}}var U={$schema:"https://jxsuite.com/schema/v1",$id:"StudioSchemaBuilder",$description:'The `schema-builder` form control (specs/extensions.md §9.1): the visual editor for a JSON Schema object, drawn as one card per property. A descriptor names it with `"ui": { "<prop>": { "control": "schema-builder" } }`, and `ui/schema-form.ts` mounts it into the empty host its own document announces for that field. The adapter (`surfaces/schema-builder.ts`) hands in the fields already classified and every draft the reader is part-way through typing; `ui/form-controls.ts` decides what a field may be renamed to and what reaches the host\'s `onChange`. Nothing here reads a schema: a document that re-derived a field\'s type while drawing would be a second opinion about what one module already owns. **The card is `surfaces/settings-defs.json`\'s, part for part.** Data Shapes edits the project\'s `$defs` and this edits a content type\'s `schema`; they are the same object with the same six controls per row, so the row vocabulary — `card`, `field-row`, `field-label`, `field-name`, `field-type`, `field-format`, `field-required`, `field-delete`, `nested`, `nested-card`, `nested-add-name`/`-type`/`-button`, `ref-target`, `add-form` — is ONE vocabulary, and the row views it is drawn from are that surface\'s own types rather than a second declaration of them. What differs is only what encloses it: Data Shapes carries the two-column chrome that chooses WHICH shape is being edited, and this one is handed the object to edit.',tagName:"div",attributes:{part:"builder"},style:{$description:"What `.schema-builder`, `.schema-field-list`, `.schema-field-card`, `.schema-field-row`, `.schema-field-nested`, `.schema-field-name-input`, `.schema-nested-add`, `.schema-nested-add-name` and `.schema-add-field` said in `styles/overlays.css`, keyed on `part` and re-pointed at the studio token layer — the same translation `surfaces/settings-defs.json` carries, because it is the same card. Two values could not come with them. `.schema-field-card--nested` read `var(--spectrum-gray-300, #444)`, and the caption was an `sp-field-label` at whatever size Spectrum drew it; a document is mounted in the pane rather than inside `<sp-theme>`, so both would have taken their hard-coded fallback every time. The nested card takes the studio layer's `--border`, and the caption says what it is in the type ramp instead.",display:"block",'& [part="fields"]':{display:"flex",flexDirection:"column",gap:"4px",marginBottom:"12px"},'& [part="card"], & [part="nested-card"]':{border:"1px solid var(--border)",borderRadius:"var(--radius)",padding:"6px 10px"},'& [part="field-row"]':{display:"flex",alignItems:"center",gap:"8px"},'& [part="field-label"]':{$description:"The field's name in words: a caption on the row rather than a label for a control, since the raw key beside it is what the reader edits and what carries the accessible name.",flex:"none",minWidth:"84px",fontSize:"var(--jx-text-sm)",color:"var(--fg-dim)",overflowWrap:"anywhere"},'& [part="field-name"]':{flex:"1",maxWidth:"140px"},'& [part="nested"]':{marginLeft:"16px",marginTop:"6px",paddingLeft:"8px",borderLeft:"2px solid var(--border)",display:"flex",flexDirection:"column",gap:"4px"},'& [part="ref-target"]':{display:"flex",marginTop:"6px",maxWidth:"220px"},'& [part="nested-add"]':{display:"flex",alignItems:"center",gap:"6px",padding:"4px 0"},'& [part="nested-add-name"]':{flex:"1",maxWidth:"120px"},'& [part="add-form"]':{display:"flex",alignItems:"center",gap:"8px",padding:"8px 0"}},children:[{tagName:"div",attributes:{part:"fields"},children:[{$prototype:"Array",items:{$ref:"#/state/fields"},key:{$ref:"$map/item/key"},map:{tagName:"div",attributes:{part:"card","data-field":"${$map.item.key}"},children:[{tagName:"div",attributes:{part:"field-row"},children:[{tagName:"span",attributes:{part:"field-label"},textContent:"${$map.item.label}"},{tagName:"jx-textfield",attributes:{part:"field-name"},$props:{label:"Name for ${$map.item.label}",size:"sm",value:{$ref:"$map/item/name"}},onchange:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/renameField"},value:[{$ref:"$map/item/key"},{$ref:"event#/target/value"}]}]}},{tagName:"jx-select",attributes:{part:"field-type"},$props:{label:"Type for ${$map.item.label}",size:"sm",options:{$ref:"#/state/typeOptions"},value:{$ref:"$map/item/type"}},onchange:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/setType"},value:[{$ref:"$map/item/key"},{$ref:"event#/target/value"}]}]}},{tagName:"div",attributes:{part:"format-slot",role:"none"},style:{display:"contents"},$switch:{$ref:"$map/item/hasFormat"},cases:{true:{tagName:"jx-select",attributes:{part:"field-format"},$props:{label:"Format for ${$map.item.label}",size:"sm",options:{$ref:"#/state/formatOptions"},value:{$ref:"$map/item/format"}},onchange:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/setFormat"},value:[{$ref:"$map/item/key"},{$ref:"event#/target/value"}]}]}}}},{tagName:"jx-switch",$description:"Whether the object requires this field. The word on screen is the name: `Req` is slotted rather than passed as `label`, because the kit's switch wraps its control in the label the slot lands in, and a second name would be announced over the top of it. Which row it belongs to is the tooltip's job instead, which is what `hint` is.",attributes:{part:"field-required"},$props:{hint:"Require ${$map.item.label}",size:"sm",checked:{$ref:"$map/item/required"}},onchange:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/setRequired"},value:[{$ref:"$map/item/key"},{$ref:"event#/target/checked"}]}]},children:[{tagName:"span",textContent:"Req"}]},{tagName:"jx-action-button",attributes:{part:"field-delete"},$props:{label:"Delete ${$map.item.label}",hint:"Delete ${$map.item.label}",icon:"trash",quiet:!0,size:"sm"},onclick:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/removeField"},value:[{$ref:"$map/item/key"}]}]}}]},{tagName:"div",attributes:{part:"extra-slot",role:"none"},style:{display:"contents"},$switch:{$ref:"$map/item/extra"},cases:{reference:{tagName:"div",attributes:{part:"ref-target"},children:[{tagName:"jx-select",attributes:{part:"ref-target-select"},$props:{label:"Target for ${$map.item.label}",size:"sm",options:{$ref:"#/state/targets"},value:{$ref:"$map/item/refTarget"}},onchange:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/setTarget"},value:[{$ref:"$map/item/key"},{$ref:"event#/target/value"}]}]}}]},nested:{tagName:"div",attributes:{part:"nested"},children:[{$prototype:"Array",items:{$ref:"$map/item/children"},key:{$ref:"$map/item/key"},map:{tagName:"div",attributes:{part:"nested-card","data-nested":"${$map.item.key}"},children:[{tagName:"div",attributes:{part:"field-row"},children:[{tagName:"jx-textfield",attributes:{part:"field-name"},$props:{label:"Name for ${$map.item.parent}.${$map.item.key}",size:"sm",value:{$ref:"$map/item/name"}},onchange:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/renameNested"},value:[{$ref:"$map/item/parent"},{$ref:"$map/item/key"},{$ref:"event#/target/value"}]}]}},{tagName:"jx-select",attributes:{part:"field-type"},$props:{label:"Type for ${$map.item.parent}.${$map.item.key}",size:"sm",options:{$ref:"#/state/typeOptions"},value:{$ref:"$map/item/type"}},onchange:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/setNestedType"},value:[{$ref:"$map/item/parent"},{$ref:"$map/item/key"},{$ref:"event#/target/value"}]}]}},{tagName:"div",attributes:{part:"format-slot",role:"none"},style:{display:"contents"},$switch:{$ref:"$map/item/hasFormat"},cases:{true:{tagName:"jx-select",attributes:{part:"field-format"},$props:{label:"Format for ${$map.item.parent}.${$map.item.key}",size:"sm",options:{$ref:"#/state/formatOptions"},value:{$ref:"$map/item/format"}},onchange:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/setNestedFormat"},value:[{$ref:"$map/item/parent"},{$ref:"$map/item/key"},{$ref:"event#/target/value"}]}]}}}},{tagName:"jx-switch",attributes:{part:"field-required"},$props:{hint:"Require ${$map.item.parent}.${$map.item.key}",size:"sm",checked:{$ref:"$map/item/required"}},onchange:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/setNestedRequired"},value:[{$ref:"$map/item/parent"},{$ref:"$map/item/key"},{$ref:"event#/target/checked"}]}]},children:[{tagName:"span",textContent:"Req"}]},{tagName:"jx-action-button",attributes:{part:"field-delete"},$props:{label:"Delete ${$map.item.parent}.${$map.item.key}",hint:"Delete ${$map.item.parent}.${$map.item.key}",icon:"trash",quiet:!0,size:"sm"},onclick:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/removeNested"},value:[{$ref:"$map/item/parent"},{$ref:"$map/item/key"}]}]}}]}]}},{tagName:"div",attributes:{part:"nested-add"},children:[{tagName:"jx-textfield",attributes:{part:"nested-add-name"},$props:{label:"New field in ${$map.item.label}",placeholder:"field name",size:"sm",value:{$ref:"$map/item/draftName"}},oninput:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/editDraftName"},value:[{$ref:"$map/item/key"},{$ref:"event#/target/value"}]}]},onkeydown:{$prototype:"Function",body:[{$switch:{$ref:"event#/key"},cases:{Enter:[{preventDefault:!0},{operator:"call",target:{$ref:"#/state/addNested"},value:[{$ref:"$map/item/key"}]}]}}]}},{tagName:"jx-select",attributes:{part:"nested-add-type"},$props:{label:"Type of the new field in ${$map.item.label}",size:"sm",options:{$ref:"#/state/typeOptions"},value:{$ref:"$map/item/draftType"}},onchange:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/editDraftType"},value:[{$ref:"$map/item/key"},{$ref:"event#/target/value"}]}]}},{tagName:"jx-action-button",attributes:{part:"nested-add-button"},$props:{label:"Add a field to ${$map.item.label}",hint:"Add a field to ${$map.item.label}",icon:"plus",quiet:!0,size:"sm"},onclick:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/addNested"},value:[{$ref:"$map/item/key"}]}]}}]}]}}}]}}]},{tagName:"div",attributes:{part:"add-slot",role:"none"},style:{display:"contents"},$switch:{$ref:"#/state/addState"},cases:{closed:{tagName:"jx-action-button",attributes:{part:"add-open"},$props:{label:"Add Field",icon:"plus",quiet:!0,size:"sm"},onclick:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/openAdd"},value:[]}]},children:[{tagName:"span",textContent:"Add Field"}]},open:{tagName:"div",attributes:{part:"add-form"},children:[{tagName:"jx-textfield",attributes:{part:"add-name"},$props:{label:"New field name",placeholder:"Field name",size:"sm",value:{$ref:"#/state/addName"}},oninput:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/editAddName"},value:[{$ref:"event#/target/value"}]}]},onkeydown:{$prototype:"Function",body:[{$switch:{$ref:"event#/key"},cases:{Enter:[{preventDefault:!0},{operator:"call",target:{$ref:"#/state/confirmAdd"},value:[]}],Escape:[{preventDefault:!0},{operator:"call",target:{$ref:"#/state/cancelAdd"},value:[]}]}}]}},{tagName:"jx-select",attributes:{part:"add-type"},$props:{label:"Type of the new field",size:"sm",options:{$ref:"#/state/typeOptions"},value:{$ref:"#/state/addType"}},onchange:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/editAddType"},value:[{$ref:"event#/target/value"}]}]}},{tagName:"div",attributes:{part:"add-format-slot",role:"none"},style:{display:"contents"},$switch:{$ref:"#/state/addHasFormat"},cases:{true:{tagName:"jx-select",attributes:{part:"add-format"},$props:{label:"Format of the new field",size:"sm",options:{$ref:"#/state/formatOptions"},value:{$ref:"#/state/addFormat"}},onchange:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/editAddFormat"},value:[{$ref:"event#/target/value"}]}]}}}},{tagName:"jx-switch",attributes:{part:"add-required"},$props:{hint:"Require the new field",size:"sm",checked:{$ref:"#/state/addRequired"}},onchange:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/editAddRequired"},value:[{$ref:"event#/target/checked"}]}]},children:[{tagName:"span",textContent:"Required"}]},{tagName:"jx-button",attributes:{part:"add-confirm"},$props:{size:"sm"},onclick:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/confirmAdd"},value:[]}]},children:[{tagName:"span",textContent:"Add"}]},{tagName:"jx-button",attributes:{part:"add-cancel"},$props:{size:"sm",quiet:!0},onclick:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/cancelAdd"},value:[]}]},children:[{tagName:"span",textContent:"Cancel"}]}]}}}]};T("schema-builder",U);function be(){return{addFormat:"",addHasFormat:!0,addName:"",addRequired:!1,addState:"closed",addType:"string",fields:[],formatOptions:[],targets:[],typeOptions:[]}}function Y(e,r){e.textContent="";let t=y({...be(),...r}),n=null,a=!0,s=!1,l=()=>I("schema-builder",t,e).then((o)=>{if(a=!1,s)return o.dispose(),o.root;return n=o,o.root}),p=l();return{dispose(){s=!0,n?.dispose(),n=null,e.textContent=""},host:e,ready:p,update(o){if(t.addFormat=o.addFormat,t.addHasFormat=o.addHasFormat,t.addName=o.addName,t.addRequired=o.addRequired,t.addState=o.addState,t.addType=o.addType,t.fields=o.fields,t.formatOptions=o.formatOptions,t.targets=o.targets,t.typeOptions=o.typeOptions,s||a||n!==null&&e.contains(n.root))return;n?.dispose(),n=null,a=!0,e.textContent="",l()}}}var G={$schema:"https://jxsuite.com/schema/v1",$id:"StudioReferenceField",$description:'The `reference` form control — site-architecture.md §6.1\'s `{ "$ref": "#/content/x" }` and site-architecture.md §7.4\'s entry picker. Registered once and dispatched to by `ui/schema-form.ts` for any property whose `$ref` names a collection, so the settings forms, the entry editor and an array-of-objects cell all draw the same control without any of them knowing it exists. `ui/form-controls.ts` decides which of the three states the field is in and what each gesture commits; nothing here reads a schema or lists a directory. The three states are drawn as three different controls on purpose: a picker while the entries are known, a TEXT field while they are not — a failed read leaves the value editable with the reason beside it, because swapping it for an empty dropdown would present "no entries" and "could not find out" as the same screen — and a disabled picker saying so while the read is in flight.',tagName:"div",attributes:{part:"reference",role:"none"},style:{$description:"The five `.reference-*` rules from `styles/inspector.css`, keyed on `part` and re-pointed at the studio token layer. Two values could not come with them. The note read `var(--spectrum-font-size-50, 11px)`, which resolves only inside `<sp-theme>` — this document is mounted in a settings pane, an entry editor or a frontmatter card, all outside that element, so it would silently have taken its hard-coded fallback every time. And `.reference-missing` coloured ONE row of the dropdown red; the kit's select offers a row a face, a swatch and a border style but no tone, so the dangling entry says what it is in words (\"— not found\") and the colour is not replaced by a second channel. The 6px gap comes onto the kit's spacing scale.",display:"flex",flex:"1",minWidth:"0",alignItems:"center",gap:"var(--jx-space-2)",'& [part="picker"], & [part="text"]':{flex:"1",minWidth:"0"},'& [part="note"]':{margin:"0",color:"var(--fg-dim)",fontSize:"var(--jx-text-sm)",lineHeight:"1.4"},'& [part="note"][data-tone="danger"]':{$description:"A listing that failed is a FAULT rather than a fact about the project, and the two notes this control draws are otherwise the same sentence in the same place.",color:"var(--danger)"},'& [part="retry"]':{flex:"none"}},children:[{tagName:"div",attributes:{part:"control-slot",role:"none"},style:{display:"contents"},$switch:{$ref:"#/state/kind"},cases:{picker:{$description:"The collection's entries. The empty row is `\"\"` rather than a sentinel, because the kit's select treats the empty string as a legal value a reader can arrow to; a dangling reference is kept in the list and marked, since blanking the field would delete the evidence and the value in one repaint. While the read is in flight the same control is disabled and offers one row saying so.",tagName:"jx-select",attributes:{part:"picker"},$props:{size:"sm",label:{$ref:"#/state/label"},options:{$ref:"#/state/options"},value:{$ref:"#/state/value"},disabled:{$ref:"#/state/disabled"}},onchange:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/choose"},value:[{$ref:"event#/target/value"}]}]}},text:{$description:"The id as the string it is: what a reader gets when the choices could not be listed, and when the control was named by a `ui.control` override on a property that references nothing. Refusing to draw anything would lose the value that is already there.",tagName:"jx-textfield",attributes:{part:"text"},$props:{size:"sm",label:{$ref:"#/state/label"},value:{$ref:"#/state/value"}},onchange:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/edit"},value:[{$ref:"event#/target/value"}]}]}}}},{tagName:"div",attributes:{part:"note-slot",role:"none"},style:{display:"contents"},$switch:{$ref:"#/state/hasNote"},cases:{true:{tagName:"p",attributes:{part:"note","data-tone":"${state.noteTone}",role:"status"},textContent:"${state.note}"}}},{tagName:"div",attributes:{part:"retry-slot",role:"none"},style:{display:"contents"},$switch:{$ref:"#/state/canRetry"},cases:{true:{$description:"Offered only where there is something to try again — a listing that failed. It used to be offered only where the HOST passed a repaint hook, because a template control cannot draw a second frame of its own and a button that cannot do the thing it is named after is worse than its absence. A mounted control redraws itself, so the condition is now the failure rather than the host.",tagName:"jx-action-button",attributes:{part:"retry"},$props:{size:"sm",quiet:!0,label:"Retry listing entries"},onclick:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/retry"},value:[]}]},children:[{tagName:"span",textContent:"Retry"}]}}}]};T("reference-field",G);function ve(){return{canRetry:!1,disabled:!0,hasNote:!1,kind:"picker",label:"",note:"",noteTone:"dim",options:[],value:""}}function K(e,r){e.textContent="";let t=y({...ve(),...r}),n=null,a=!0,s=!1,l=()=>I("reference-field",t,e).then((o)=>{if(a=!1,s)return o.dispose(),o.root;return n=o,o.root}),p=l();return{dispose(){s=!0,n?.dispose(),n=null,e.textContent=""},host:e,ready:p,update(o){if(t.canRetry=o.canRetry,t.disabled=o.disabled,t.hasNote=o.hasNote,t.kind=o.kind,t.label=o.label,t.note=o.note,t.noteTone=o.noteTone,t.options=o.options,t.value=o.value,s||a||n!==null&&e.contains(n.root))return;n?.dispose(),n=null,a=!0,e.textContent="",l()}}}var X={$schema:"https://jxsuite.com/schema/v1",$id:"StudioSecretField",$description:'The `secret` form control (specs/extensions.md §9.1, §13): one password field whose VALUE goes to the platform\'s secret store and never to project.json. A descriptor names it with `"ui": { "<field>": { "control": "secret" } }`, and `ui/schema-form.ts` mounts it into the empty host its own document announces for that field. **A surface never renders back the secret it describes, and this document is where that is visible rather than remembered**: the only thing bound to the field\'s value is `#/state/shown`, a scope path whose whole purpose is to hold nothing. What the field is worth is said in the placeholder instead — the env NAME the store gave it, which is the only half of a secret a screen may carry. `ui/form-controls.ts` decides everything else: whether the host has a secret store at all, what the placeholder says, what a commit is worth and what the field persists.',tagName:"div",attributes:{part:"secret",role:"none"},style:{$description:"`.secret-field` carried no rule anywhere — it was one of `check-styles.ts`'s ALLOWED_ORPHANS, a class emitted only so a test could find the control — so there is nothing to translate and the wrapper takes no box of its own. The field takes the width of the control host the form drew, which is the flex item; a kit field is inline-flex by default and would otherwise sit at its intrinsic width in a row sized for it.",display:"contents",'& [part="field"]':{width:"100%"}},children:[{$description:"`autocomplete: new-password` because this is a place to PUT a secret rather than to prove one: without it a password manager offers to fill the field with a credential belonging to whatever site the reader last logged in to, and the offer is the manager's own UI drawn over an editor. The value binding is `#/state/shown` and nothing else ever writes to it — see the document description.",tagName:"jx-textfield",attributes:{part:"field"},$props:{type:"password",size:"sm",autocomplete:"new-password",label:{$ref:"#/state/label"},placeholder:{$ref:"#/state/placeholder"},disabled:{$ref:"#/state/disabled"},value:{$ref:"#/state/shown"}},onchange:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/commit"},value:[{$ref:"event#/target/value"}]}],description:"The change bubbles out of the field's own input, so what the reader typed is read off the event rather than off the element — and it is read here, handed to the flow, and never written back onto the scope."}}]};T("secret-field",X);function xe(){return{disabled:!0,label:"",placeholder:"Not set"}}function Z(e,r){e.textContent="";let t=y({...xe(),...r,shown:""}),n=null,a=!0,s=!1,l=()=>I("secret-field",t,e).then((o)=>{if(a=!1,s)return o.dispose(),o.root;return n=o,o.root}),p=l();return{clear(){t.shown=" ",t.shown=""},dispose(){s=!0,n?.dispose(),n=null,e.textContent=""},host:e,ready:p,update(o){if(t.disabled=o.disabled,t.label=o.label,t.placeholder=o.placeholder,s||a||n!==null&&e.contains(n.root))return;n?.dispose(),n=null,a=!0,e.textContent="",l()}}}var Se=Hw.map((e)=>({label:e,value:e})),Fe=Bw.map((e)=>({label:e||"(none)",value:e})),R={format:"",name:"",required:!1,type:"string"},ee=[],re=" ";function Ne(e){let r=e.resolvePointer("#/$context/content"),t=r&&typeof r==="object"&&!Array.isArray(r)?Object.keys(r):[],n=t.join(" ");if(n!==re)re=n,ee=t.map((a)=>({label:a,value:a}));return ee}function N(e){return e==="string"||e==="array"}function ie(e){return e&&typeof e==="object"&&!Array.isArray(e)?e:{properties:{},required:[],type:"object"}}function Te(e){let r=JSON.parse(JSON.stringify(ie(e)));return r.type??="object",r.properties??={},r.required??=[],r}function j(e){return`name:${e}`}function A(e){return`required:${e}`}function M(e,r){return`${e} ${r}`}function H(e,r,t){return e.echo?.id===r?e.echo.value:t}function Ee(e,r,t,n,a){let s=M(r,t),l=im(n);return{format:Sc(n),hasFormat:N(l),key:t,name:H(e,j(s),t),parent:r,required:H(e,A(s),a),type:l}}function Ce(e,r,t,n,a){let s=im(t),l=s==="object",p=e.drafts.get(r),o=t.required??[];return{children:l?Object.entries(t.properties??{}).map(([w,g])=>Ee(e,r,w,g,o.includes(w))):[],draftName:p?.name??"",draftType:p?.type??"string",extra:s==="reference"&&a?"reference":l?"nested":"none",format:Sc(t),hasFormat:N(s),key:r,label:Kl(r),name:H(e,j(r),r),refTarget:t.$ref?t.$ref.replace(/^#\/[^/]+\//,""):"",required:H(e,A(r),n),type:s}}function ae(e,r,t){let n={};for(let[a,s]of Object.entries(e))n[a===r?t:a]=s,delete e[a];Object.assign(e,n)}function L(e,r,t){e.required??=[];let n=e.required.indexOf(r);if(t&&n===-1)e.required.push(r);if(!t&&n!==-1)e.required.splice(n,1)}function Re(e,r){let t=r,n=null,a={add:{...R},addOpen:!1,drafts:new Map,echo:null},s=()=>n??ie(t.value),l=()=>{let i=s(),d=i.required??[],c=Ne(t.ctx);return{addFormat:a.add.format,addHasFormat:N(a.add.type),addName:a.add.name,addRequired:a.add.required,addState:a.addOpen?"open":"closed",addType:a.add.type,fields:Object.entries(i.properties??{}).map(([f,h])=>Ce(a,f,h,d.includes(f),c.length>0)),formatOptions:Fe,targets:c,typeOptions:Se}},p=()=>F.update(l()),o=(i,d)=>{a.echo={id:i,value:d},p()},w=()=>{a.echo=null,p()},g=(i)=>{let d=Te(s());if(!i(d)){w();return}n=d,a.echo=null,t.onChange(d),p()},b=(i,d)=>i.properties[d],x=(i)=>{let d=a.drafts.get(i);if(!d)d={name:"",type:"string"},a.drafts.set(i,d);return d},F=Y(e,{addNested(i){let d=x(i),c=Fy(d.name.trim());if(!c)return;g((f)=>{let h=b(f,i);if(!h)return!1;return h.properties??={},h.properties[c]=Ws(d.type||"string"),d.name="",!0})},cancelAdd(){a.addOpen=!1,a.add={...R},p()},confirmAdd(){let i=Fy(a.add.name.trim());if(!i)return;let{format:d,required:c,type:f}=a.add;a.addOpen=!1,a.add={...R},g((h)=>{if(h.properties[i]=Ws(f,d||void 0),c)L(h,i,!0);return!0})},editAddFormat(i){a.add.format=i,p()},editAddName(i){a.add.name=i,p()},editAddRequired(i){a.add.required=i,p()},editAddType(i){a.add.type=i,p()},editDraftName(i,d){x(i).name=d,p()},editDraftType(i,d){x(i).type=d,p()},openAdd(){a.addOpen=!0,a.add={...R},p()},removeField(i){g((d)=>{if(!d.properties[i])return!1;return delete d.properties[i],d.required=d.required.filter((c)=>c!==i),!0})},removeNested(i,d){g((c)=>{let f=b(c,i);if(!f?.properties?.[d])return!1;if(delete f.properties[d],f.required)f.required=f.required.filter((h)=>h!==d);return!0})},renameField(i,d){o(j(i),d);let c=Fy(d.trim());g((f)=>{if(!f.properties[i]||!c||c===i||f.properties[c])return!1;return ae(f.properties,i,c),f.required=f.required.map((h)=>h===i?c:h),!0})},renameNested(i,d,c){o(j(M(i,d)),c);let f=Fy(c.trim());g((h)=>{let v=b(h,i);if(!v?.properties?.[d]||!f||f===d||v.properties[f])return!1;if(ae(v.properties,d,f),v.required)v.required=v.required.map((k)=>k===d?f:k);return!0})},setFormat(i,d){g((c)=>{let f=c.properties[i];if(!f)return!1;return c.properties[i]=Ws(f.type||"string",d||void 0),!0})},setNestedFormat(i,d,c){g((f)=>{let h=b(f,i),v=h?.properties?.[d];if(!h?.properties||!v)return!1;return h.properties[d]=Ws(v.type||"string",c||void 0),!0})},setNestedRequired(i,d,c){o(A(M(i,d)),c),g((f)=>{let h=b(f,i);if(!h)return!1;return L(h,d,c),!0})},setNestedType(i,d,c){g((f)=>{let h=b(f,i),v=h?.properties?.[d];if(!h?.properties||!v)return!1;let k=N(c)?Sc(v):void 0;return h.properties[d]=Ws(c,k||void 0),!0})},setRequired(i,d){o(A(i),d),g((c)=>{if(!c.properties[i])return!1;return L(c,i,d),!0})},setTarget(i,d){g((c)=>{if(!c.properties[i])return!1;return c.properties[i]={$ref:`#/content/${d}`},!0})},setType(i,d){g((c)=>{let f=c.properties[i];if(!f)return!1;let h=N(d)?Sc(f):void 0;return c.properties[i]=Ws(d,h||void 0),!0})}});return p(),{dispose:()=>F.dispose(),update(i){t=i,n=null,a.echo=null,p()}}}var je={mount:Re};Qw("schema-builder",je);function oe(e){return typeof e==="string"&&e?e:null}function Ae(e,r){let t=r,n=()=>{let s=oe(t.value);a.update({disabled:!t.ctx.commitSecret,label:t.key,placeholder:s?`Stored as ${s}`:"Not set"})},a=Z(e,{commit(s){let{commitSecret:l}=t.ctx;if(!l||!s)return;a.clear();let{key:p,onChange:o}=t,w=oe(t.value);Promise.resolve(l(p,s)).then((g)=>{if(typeof g==="string"&&g&&g!==w)o(g)})}});return n(),{dispose:()=>a.dispose(),update(s){t=s,n()}}}var De={mount:Ae};Qw("secret",De);var E=new Map,O=new Map,S=new Map;function V(e){if(e===void 0)E.clear(),O.clear(),S.clear();else E.delete(e),O.delete(e),S.delete(e)}function qe(e){let r=E.get(e);if(r)return r;let t=(me("108aqtk1"),import("./content-source-108aqtk1.js")).then((n)=>n.listCollectionEntryIds(e));return E.set(e,t),t}function NS(e,r){let t=O.get(e);if(t)return t;let n=qe(e),a=S.get(e);if(a){if(r)a.add(r);return null}S.set(e,new Set(r?[r]:[]));let s=(l)=>{if(E.get(e)!==n)return;let p=S.get(e);S.delete(e),O.set(e,l);for(let o of p??[])o()};return n.then((l)=>s({ids:l}),(l)=>s({error:te(l)})),null}function Pe(e,r){let t=typeof e.value==="string"?e.value:"",n={canRetry:!1,disabled:!1,hasNote:!1,label:e.key,note:"",noteTone:"dim",options:[],value:t},a=Hu(e.schema);if(a===null)return{...n,hasNote:!0,kind:"text",note:'No collection referenced — add "$ref": "#/content/<type>" to this field.'};let s=NS(a,r);if(s===null)return{...n,disabled:!0,kind:"picker",options:[{label:"Loading…",value:t}]};if("error"in s)return{...n,canRetry:!0,hasNote:!0,kind:"text",note:`Could not list ${a} entries — ${s.error}`,noteTone:"danger"};let l=t!==""&&!s.ids.includes(t);return{...n,hasNote:s.ids.length===0,kind:"picker",note:s.ids.length===0?`No ${a} entries yet.`:"",options:[{label:"—",value:""},...l?[{label:`${t} — not found`,value:t}]:[],...s.ids.map((p)=>({label:p,value:p}))]}}function Le(e,r){let t=r,n=!1,a=()=>{if(!n)s.update(Pe(t,a))},s=K(e,{choose(l){t.onChange(l===""?void 0:l)},edit(l){t.onChange(l.trim()||void 0)},retry(){let l=Hu(t.schema);if(l!==null)V(l);a()}});return a(),{dispose(){n=!0,s.dispose()},update(l){t=l,a()}}}var Me={mount:Le};Qw("reference",Me);var se={$schema:"https://jxsuite.com/schema/v1",$id:"StudioEntryEditor",$description:"The Entry editor (site-architecture.md §7.4) — one content entry's fields, in a pane, as a Jx document over the kit. The adapter (`surfaces/entry-editor.ts`) hands in a projection; `content/entry-editor.ts` decides everything in it — which collection the file belongs to, which record its fields live in, which required keys are absent and what a draft flag commits into. The FORM is an island: a schema is `ui/schema-form.ts`'s subject, so this document renders an empty `fields` node and the flow places the element that engine hands back (studio-ui-guidelines.md §9.3, §9.4). That is the whole of the difference between this and the card the lit version drew, and it is why the engine converting in batch 7 is what unblocked this one.",tagName:"div",attributes:{part:"entry","data-jx-region":"${state.region}"},style:{$description:"What `.entry-editor`, `.entry-editor-header`, `.entry-editor-collection`, `.entry-draft-switch`, `.entry-editor-fields`, `.entry-editor-note` and `.entry-editor-empty` said in `styles/overlays.css`, keyed on `part` and re-pointed at the studio token layer. This editor was the only emitter of all seven, so those rules are dead in the stylesheet from here; a central sweep removes them rather than this change, which owns no stylesheet. Every `--spectrum-font-size-*` reference is gone rather than renamed: those names resolve only inside `<sp-theme>`, and a pane editor is mounted outside it, so each would silently have taken its hard-coded fallback.",height:"100%",padding:"var(--jx-space-5)",overflowY:"auto",background:"var(--bg-panel)",'& [part="header"]':{display:"flex",alignItems:"center",gap:"var(--jx-space-4)",marginBottom:"var(--jx-space-5)"},'& [part="name"]':{margin:"0",fontSize:"var(--jx-text-lg)",fontWeight:"600",color:"var(--fg)"},'& [part="collection"]':{padding:"1px var(--jx-space-3)",borderRadius:"var(--radius)",background:"var(--bg)",color:"var(--fg-dim)",fontSize:"var(--jx-text-sm)"},'& [part="draft"]':{$description:"Pushed to the far end of the header rather than placed there: the heading and the collection chip are both content-width, so `margin-left: auto` is what keeps the switch on the right edge whatever the entry is called.",marginLeft:"auto"},'& [part="fields"]':{$description:"The schema form's host is `display: contents`, so its rows are the flex items of THIS box — which is why the column lives here and not inside the engine.",display:"flex",flexDirection:"column"},'& [part="note"]':{margin:"0 0 var(--jx-space-4)",color:"var(--fg-dim)",fontSize:"var(--jx-text-md)",lineHeight:"1.5"},'& [part="empty"]':{display:"flex",maxWidth:"46ch",flexDirection:"column",alignItems:"flex-start",gap:"var(--jx-space-3)",color:"var(--fg-dim)",fontSize:"var(--jx-text-md)",lineHeight:"1.5"}},children:[{tagName:"div",attributes:{part:"stage-slot",role:"none"},style:{display:"contents"},$switch:{$ref:"#/state/stage"},cases:{entry:{tagName:"div",attributes:{part:"body",role:"none"},style:{display:"contents"},children:[{tagName:"div",attributes:{part:"header"},children:[{tagName:"h3",attributes:{part:"name"},textContent:"${state.name}"},{tagName:"span",attributes:{part:"collection"},textContent:"${state.collection}"},{tagName:"div",attributes:{part:"draft-slot",role:"none"},style:{display:"contents"},$switch:{$ref:"#/state/draftAxis"},cases:{shown:{$description:"No `label`: the slotted word is on screen and carries the name, so an aria-label would be read twice. The tooltip is `hint`, which is what DRAFT_MEANING has always been.",tagName:"jx-switch",attributes:{part:"draft"},$props:{checked:{$ref:"#/state/draft"},hint:"${state.draftHint}",size:"sm"},onchange:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/setDraft"},value:[{$ref:"event#/target/checked"}]}]},children:[{tagName:"span",textContent:"Draft"}]}}}]},{tagName:"div",attributes:{part:"note-slot",role:"none"},style:{display:"contents"},$switch:{$ref:"#/state/noteState"},cases:{shown:{tagName:"p",attributes:{part:"note"},textContent:"${state.note}"}}},{$description:"An island: `ui/schema-form.ts` draws this entry's fields into this node, and nothing in this document knows what a schema is.",tagName:"div",attributes:{part:"fields","data-jx-region":"${state.fieldsRegion}"}}]},empty:{$description:"The mode is reachable from the palette and from `__jxAutomation` on any tab, so this state is real: it names the reason and the fix rather than drawing an empty form.",tagName:"div",attributes:{part:"empty"},children:[{tagName:"p",attributes:{part:"empty-line"},textContent:"${state.emptyLine}"},{tagName:"p",attributes:{part:"note"},children:[{tagName:"span",textContent:"A collection is a "},{tagName:"code",textContent:"content"},{tagName:"span",textContent:" entry in "},{tagName:"code",textContent:"project.json"},{tagName:"span",textContent:" whose "},{tagName:"code",textContent:"source"},{tagName:"span",textContent:" directory contains this file and which declares a "},{tagName:"code",textContent:"schema"},{tagName:"span",textContent:"."}]},{tagName:"jx-action-button",attributes:{part:"content-types"},$props:{label:"Content types",size:"sm"},onclick:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/openContentTypes"},value:[]}]},children:[{tagName:"span",textContent:"Content types…"}]}]}}}]};T("entry-editor",se);function de(e,r){e.region=r.region,e.fieldsRegion=r.fieldsRegion,e.stage=r.stage,e.name=r.name,e.collection=r.collection,e.draftAxis=r.draftAxis,e.draft=r.draft,e.draftHint=r.draftHint,e.noteState=r.noteState,e.note=r.note,e.emptyLine=r.emptyLine}function Be(e){let t=e?.attributes?.part;return typeof t==="string"?t:""}function le(e,r,t,n){e.replaceChildren();let a=y({collection:"",draft:!1,draftAxis:"hidden",draftHint:"",emptyLine:"",fieldsRegion:"",name:"",note:"",noteState:"hidden",openContentTypes:t.openContentTypes,region:"",setDraft:t.setDraft,stage:"empty"});de(a,r);let s=null,l=!1,p=I("entry-editor",a,e,{onNodeCreated:(o,w,g)=>{if(o instanceof HTMLElement&&Be(g)==="fields")n.fieldsSlot(o)}}).then((o)=>{if(l)return o.dispose(),o.root;return s=o,o.root});return{attached:()=>{if(l)return!1;let o=s?.root;return o===void 0?!0:o instanceof HTMLElement&&e.contains(o)},dispose(){l=!0,s?.dispose(),s=null},ready:p,update:(o)=>de(a,o)}}function ce(e){return e.doc.sourceFormat==null&&e.doc.mode!=="content"}function rm(e){return ce(e)?e.doc.document:e.doc.content?.frontmatter??{}}function ze(e,r,t){let n=e.doc.document,a=Object.hasOwn(n,r)?Oe(n[r]):void 0,s=t===void 0||t===null||t==="";if(s)delete n[r];else n[r]=t;let l=s?void 0:Oe(t);wi({forward:{key:r,op:"set-key",path:[],value:l},inverse:{key:r,op:"set-key",path:[],value:a}}),e.doc.dirty=!0,iT()}function B(e,r,t){if(ce(e))ze(e,r,t);else Gl(e,r,t)}function pe(e,r){q(e,(t)=>{for(let[n,a]of Object.entries(r))B(t,n,a)})}var fe="entry",Ie=[fe],P=new Map;function z(e){return P.get(e)??null}function OS(e,r){let t=z(e);return t!==null&&t.tabId===r.id&&t.wrap.isConnected&&t.surface.attached()}function Sb(e){let r=P.get(e);if(!r)return;r.scope.stop(),r.surface.dispose(),P.delete(e)}function _(e,r){q(e,(t)=>B(t,Ec,r))}function FE(e){let r=ga(e.documentPath),t=rm(e);if(!r||!lm(r.schema,t))return null;let n=Wu(t);return{draft:n,text:n?"Draft":"Published",title:n?Ib:"Not marked a draft."}}function _e(e){return{fieldKeyPrefix:`entry:${e.id}`,resolvePointer:(r,t)=>Bu(r,{projectConfig:D?.projectConfig??{},scope:t})}}function We(e,r){let t={};for(let n of HE(e.schema,r))t[n]="Required — this entry does not have one.";return t}function Je(e){return`${e.documentPath??"This document"} is not an entry of any content collection, so there is no schema to draw a form from.`}function ue(e,r,t){let n=Qi(e,"entry"),a=Qi(e,"entry/fields");if(!t)return{collection:"",draft:!1,draftAxis:"hidden",draftHint:Ib,emptyLine:Je(r),fieldsRegion:a,name:"",note:"",noteState:"hidden",region:n,stage:"empty"};let s=rm(r),l=Wu(s);return{collection:t.name,draft:l,draftAxis:lm(t.schema,s)?"shown":"hidden",draftHint:Ib,emptyLine:"",fieldsRegion:a,name:r.documentPath?.split("/").pop()??"Untitled",note:Ib,noteState:l?"shown":"hidden",region:n,stage:"entry"}}function jE(e,r){let{paneId:t,wrap:n}=e;if(OS(t,r))return;Sb(t);let a=null,s=null,l=()=>{if(a!==null&&z(t)===a)o()},p=(b)=>{if(!s||!b)return;let x=rm(r),F=Ed(`entry:${t}`,b.schema,x,{context:_e(r),errors:We(b,x),onChange:(i)=>pe(r,i),rerender:l});if(F.parentNode!==s)s.replaceChildren(F)},o=()=>{let b=ga(r.documentPath);if(!b)s=null;a?.surface.update(ue(t,r,b)),p(b)},w=ge(),g=le(n,ue(t,r,ga(r.documentPath)),{openContentTypes:()=>{ne()?.run("settings.open",{section:"content"})},setDraft:(b)=>_(r,b)},{fieldsSlot:(b)=>{s=b,p(ga(r.documentPath))}});a={paneId:t,scope:w,surface:g,tabId:r.id,wrap:n},P.set(t,a),w.run(()=>{Q(()=>{if(z(t)!==a)return;r.doc.document,r.doc.content?.frontmatter,D?.projectConfig?.content,o()})})}async function W(e){let{openFileInTab:r}=await (me("44vp8a2s"),import("./files-44vp8a2s.js"));await r(e);for(let[t,n]of m.tabs.entries()){if(n.documentPath!==e)continue;for(let a of Ie)if(!n.capabilities.modes.includes(a))n.capabilities.modes.unshift(a);return n.session.ui.canvasMode=fe,n.session.ui.preview=!1,ui(t),n}return null}function J(){return Cb().map((e)=>e.name)}async function Ue(e){let r=PS(e.schema),t=(e.def.format?_i(e.def.format)?.name:void 0)??Qt(`untitled${e.ext}`)?.name??Fo()?.name;if(e.ext===".json"||t===void 0)return yo(r,null);return Zs(t,{...r,children:[]},{frontmatter:Object.keys(r).length>0,mode:"roundtrip"})}async function Ww(e,r={}){let t=Vw(e);if(!t)return C.error(`No content collection named "${e}" to create an entry in.`,{detail:"A collection needs a `content` entry in project.json whose `source` is a directory. A collection whose source names a single file (a CSV catalogue) has rows, not entry files.",source:"Content"}),null;await Kt().catch(()=>{});let n;try{n=await Ue(t)}catch(o){return C.error(`Could not prepare a new ${t.name} entry.`,{detail:te(o),path:t.dir,source:"Content"}),null}let a=r.dir,s=a!==void 0&&Op(a)?.name===t.name?a:t.dir;if(s.includes(Kx))return C.error(`"${t.name}" is a localized collection.`,{detail:`Its entries live in one directory per language (${t.dir}). Open the folder for the language you are writing in and create the entry there.`,path:t.dir,source:"Content"}),null;let{createFileIn:l}=await (me("44vp8a2s"),import("./files-44vp8a2s.js")),p=await l({content:n,dir:s,format:{ext:t.ext,kind:"fixed"},source:"Content",suggestedName:"untitled",title:`New ${t.name} entry`});if(p===null)return null;return V(t.name),await W(p),p}function he(){let e=u.value;return e&&ga(e.documentPath)?e:null}function Ye(){return[{args:ke({collection:Ca(J,"The content collection the entry is created in.")}),category:"File",id:"content.newEntry",level:"project",menus:["palette"],group:"1_file",requires:"a project with a directory-backed content collection",when:(e)=>e.project.open,enablement:()=>J().length>0,undo:"project",run:async(e,r)=>{let t=J();await Ww(di("content.newEntry",r,"collection",t))},title:"New Entry"},{args:ke({path:He("Project-relative path of the entry file to open.")}),category:"File",id:"content.openEntry",level:"project",menus:["context/file","palette"],group:"1_file",requires:"an open project",when:(e)=>e.project.open,run:async(e,r)=>{await W(rt("content.openEntry",r,"path"))},title:"Open Entry Form"},{args:ke({draft:sr("True marks the open entry a draft; false marks it published. Written as a `draft` field on the entry.")}),category:"Document",id:"content.setDraft",level:"document",menus:["context/tab","palette"],group:"3_document",requires:"a content entry open",when:(e)=>e.document.open,enablement:()=>he()!==null,undo:"document",run:(e,r)=>{let t=he();if(!t)throw Error("content.setDraft: the active document is not a content entry");_(t,xi("content.setDraft",r,"draft"))},title:"Set Draft"},{args:ke({include:sr("True lists entries marked `draft: true` alongside the rest.")}),category:"View",id:"content.setIncludeDrafts",level:"project",menus:["palette"],group:"2_view",requires:"an open project",when:(e)=>e.project.open,run:async(e,r)=>{tT(xi("content.setIncludeDrafts",r,"include")),await qS()},title:"Include Drafts"}]}function AS(e){e.registerAll(Ye())}
|
|
2
|
-
export{Hw,Bw,im,Sc,Ws,NS,rm,OS,Sb,FE,jE,Ww,AS};
|
|
3
|
-
|
|
4
|
-
//# debugId=079FB09F00ABCA9364756E2164756E21
|
|
5
|
-
//# sourceMappingURL=studio-z16sgavc.js.map
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
function u(t){let n=t.replaceAll("\\","/");return n.length>1&&n.endsWith("/")?n.slice(0,-1):n}function f(t){let n=u(t);return n.startsWith("/")?n:`/${n}`}function p(t,n){return[...t].toSorted((e,s)=>s[n].length-e[n].length)}function g(t,n){return t===n||t.startsWith(`${n}/`)}function WR(t,n){let e=u(n);for(let s of p(t,"dir")){let r=u(s.dir);if(!g(e,r)||e===r)continue;let i=e.slice(r.length+1),{filter:o}=s;if(o&&!o(i))return null;let l=i.split("/").map((c)=>encodeURIComponent(c)).join("/");return`${f(s.urlPrefix)}/${l}`}return null}function h(t,n){let e=n.split("#")[0].split("?")[0];if(!e.startsWith("/"))return null;let s;try{s=decodeURIComponent(e)}catch{return null}if(/%2e|%2f/i.test(s))return null;for(let r of p(t,"urlPrefix")){let i=f(r.urlPrefix);if(!s.startsWith(`${i}/`))continue;let l=s.slice(i.length+1).split("/");if(l.some((a)=>a===""||a==="."||a===".."))return null;let{filter:c}=r;if(c&&!c(l.join("/")))return null;return`${u(r.dir)}/${l.join("/")}`}return null}var A=String.raw`"'\s<>()\\`;var Zp="public";var VR=["mounts","public"];function Xy(t){let n=t.search(/[#?]/);return n===-1?{path:t,suffix:""}:{path:t.slice(0,n),suffix:t.slice(n)}}function W1(t){return t===""||t.startsWith("/")||t.startsWith("#")||t.includes("${")||/^[a-z][\w+.-]*:/i.test(t)}function hi(t){return t.replaceAll("\\","/").replace(/^\.\//,"").replace(/^\/+/,"").replace(/\/+$/,"")}function zR(t){let n=hi(t),e=n.lastIndexOf("/");return e===-1?"":n.slice(0,e)}function V1(t,n){let s=(t===""||t==="."?[]:hi(t).split("/")).filter((r)=>r!==""&&r!==".");for(let r of n.replaceAll("\\","/").split("/")){if(r===""||r===".")continue;if(r===".."){if(s.length===0)return null;s.pop();continue}s.push(r)}return s.join("/")}function d(t,n,e){let{path:s}=Xy(t);if(!s.startsWith("/"))return[];let r;try{r=decodeURIComponent(s)}catch{return[]}if(/%2e|%2f/i.test(r))return[];let i=r.replace(/^\/+/,"");if(i===""||i.split("/").some((l)=>l==="."||l===".."))return[];let o=[];for(let l of e){if(l==="mounts"){let c=h(n,s);if(c!==null&&!c.startsWith("/")&&!/^[A-Za-z]:/.test(c))o.push(hi(c));continue}o.push(l==="root"?i:`${Zp}/${i}`)}return[...new Set(o)]}function UR(t,n,e,s){let{path:r}=Xy(t);if(r==="")return null;if(W1(t))return r.startsWith("/")?d(r,e,s)[0]??null:null;if(r.endsWith("/"))return null;let i;try{i=decodeURIComponent(r)}catch{return null}let o=V1(n,i);if(o===null||o===""||o===hi(n))return null;return o}function eg(t){return t.split("/").map((n)=>encodeURIComponent(n)).join("/")}function qR(t){let n=[],e=0;while(e<t.length){while(e<t.length&&(/\s/.test(t[e])||t[e]===","))e+=1;if(e>=t.length)break;let s=e;while(e<t.length&&!/\s/.test(t[e]))e+=1;let r=t.slice(s,e);if(r.endsWith(",")){n.push({descriptor:"",url:r.replace(/,+$/,"")});continue}while(e<t.length&&/\s/.test(t[e]))e+=1;let i=e;while(e<t.length&&t[e]!==",")e+=1;let o=t.slice(i,e).trim();if(e+=1,r=r.replace(/,+$/,""),r!=="")n.push({descriptor:o,url:r})}return n}function GR(t){return t.map(({url:n,descriptor:e})=>e?`${n} ${e}`:n).join(", ")}
|
|
2
|
-
export{WR,Zp,VR,Xy,W1,hi,zR,V1,UR,eg,qR,GR};
|
|
3
|
-
|
|
4
|
-
//# debugId=29F673A85513B2E564756E2164756E21
|
|
5
|
-
//# sourceMappingURL=studio-zyqn40w4.js.map
|