@jxsuite/studio 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/canvas.html +21 -0
- package/dist/chunks/Overlay.dev-qfjzkms8.js +23 -0
- package/dist/chunks/{Overlay.dev-cszx7yn5.js.map → Overlay.dev-qfjzkms8.js.map} +1 -1
- package/dist/chunks/{adapter-z8fkmbmv.js → adapter-qfnesn5v.js} +2 -2
- package/dist/chunks/{cf-settings-mmyv436d.js → cf-settings-73sh5z4p.js} +3 -3
- package/dist/chunks/{components-0hzentwq.js → components-2bpqp4mq.js} +5 -7
- package/dist/chunks/{components-0hzentwq.js.map → components-2bpqp4mq.js.map} +1 -1
- package/dist/chunks/content-source-34gnkbnn.js +38 -0
- package/dist/chunks/content-source-34gnkbnn.js.map +9 -0
- package/dist/chunks/convert-to-repeater-t8kxre5s.js +258 -0
- package/dist/chunks/convert-to-repeater-t8kxre5s.js.map +10 -0
- package/dist/chunks/extension-sections-6mqydz35.js +301 -0
- package/dist/chunks/extension-sections-6mqydz35.js.map +11 -0
- package/dist/chunks/files-8kn321h1.js +70 -0
- package/dist/chunks/files-8kn321h1.js.map +9 -0
- package/dist/chunks/{format-host-2c188n41.js → format-host-mkwsmt8d.js} +3 -3
- package/dist/chunks/git-panel-tjbr191d.js +51 -0
- package/dist/chunks/git-panel-tjbr191d.js.map +9 -0
- package/dist/chunks/{index-baeg2x3y.js → index-7pxchcce.js} +4 -3
- package/dist/chunks/{index-baeg2x3y.js.map → index-7pxchcce.js.map} +3 -3
- package/dist/chunks/{jx-validate-qx8degj7.js → jx-validate-v6qgknrs.js} +3 -3
- package/dist/chunks/layers-panel-87pb25km.js +58 -0
- package/dist/chunks/layers-panel-87pb25km.js.map +9 -0
- package/dist/chunks/{monaco-setup-zjdp9zdw.js → monaco-setup-e0yh25j4.js} +4 -75
- package/dist/chunks/{monaco-setup-zjdp9zdw.js.map → monaco-setup-e0yh25j4.js.map} +3 -4
- package/dist/chunks/publish-panel-m0fcgdrt.js +21 -0
- package/dist/chunks/publish-panel-m0fcgdrt.js.map +9 -0
- package/dist/chunks/quick-search-rhs6cbsb.js +53 -0
- package/dist/chunks/quick-search-rhs6cbsb.js.map +9 -0
- package/dist/chunks/right-panel-zpdxd98t.js +37 -0
- package/dist/chunks/right-panel-zpdxd98t.js.map +9 -0
- package/dist/chunks/section-registry-zmckaxf4.js +30 -0
- package/dist/chunks/section-registry-zmckaxf4.js.map +9 -0
- package/dist/chunks/sp-overlay.dev-9ran0sfq.js +18 -0
- package/dist/chunks/sp-overlay.dev-9ran0sfq.js.map +9 -0
- package/dist/chunks/sp-popover.dev-rebmdncr.js +9 -0
- package/dist/chunks/sp-popover.dev-rebmdncr.js.map +9 -0
- package/dist/chunks/sp-progress-circle.dev-5vkppfkt.js +15 -0
- package/dist/chunks/sp-progress-circle.dev-5vkppfkt.js.map +9 -0
- package/dist/chunks/sp-tooltip.dev-ykqrg8h5.js +15 -0
- package/dist/chunks/sp-tooltip.dev-ykqrg8h5.js.map +9 -0
- package/dist/chunks/{sp-tray.dev-pb2fsd65.js → sp-tray.dev-ey59vfh7.js} +10 -8
- package/dist/chunks/{sp-tray.dev-pb2fsd65.js.map → sp-tray.dev-ey59vfh7.js.map} +2 -2
- package/dist/chunks/{studio-9qr6fq7p.js → studio-0rqqhrdy.js} +10 -378
- package/dist/chunks/{studio-9qr6fq7p.js.map → studio-0rqqhrdy.js.map} +4 -14
- package/dist/chunks/{studio-5x6tqqec.js → studio-2sj1jj3v.js} +10 -8
- package/dist/chunks/{studio-5x6tqqec.js.map → studio-2sj1jj3v.js.map} +2 -2
- package/dist/chunks/{studio-h3fw0wn8.js → studio-3fk1ac9z.js} +6 -4
- package/dist/chunks/{studio-h3fw0wn8.js.map → studio-3fk1ac9z.js.map} +2 -2
- package/dist/chunks/studio-41exgzhq.js +6690 -0
- package/dist/chunks/studio-41exgzhq.js.map +38 -0
- package/dist/chunks/{studio-7v2bpweq.js → studio-4mqb9a0j.js} +6 -4
- package/dist/chunks/{studio-7v2bpweq.js.map → studio-4mqb9a0j.js.map} +2 -2
- package/dist/chunks/studio-50k77cca.js +1787 -0
- package/dist/chunks/studio-50k77cca.js.map +18 -0
- package/dist/chunks/{studio-56v3zwk6.js → studio-6a0h7sne.js} +10 -8
- package/dist/chunks/{studio-56v3zwk6.js.map → studio-6a0h7sne.js.map} +2 -2
- package/dist/chunks/studio-6f0am8f2.js +53 -0
- package/dist/chunks/studio-6f0am8f2.js.map +10 -0
- package/dist/chunks/studio-6nmjc5qk.js +7002 -0
- package/dist/chunks/studio-6nmjc5qk.js.map +32 -0
- package/dist/chunks/studio-7afd21nw.js +67 -0
- package/dist/chunks/studio-7afd21nw.js.map +10 -0
- package/dist/chunks/{studio-xze4zrs1.js → studio-7bmdvzne.js} +2 -2
- package/dist/chunks/studio-7bmdvzne.js.map +10 -0
- package/dist/chunks/studio-8jpzqk5s.js +128 -0
- package/dist/chunks/studio-8jpzqk5s.js.map +10 -0
- package/dist/chunks/studio-94m77tgk.js +1482 -0
- package/dist/chunks/studio-94m77tgk.js.map +13 -0
- package/dist/chunks/studio-9je6w5sq.js +1000 -0
- package/dist/chunks/studio-9je6w5sq.js.map +16 -0
- package/dist/chunks/{studio-w7c6kvk7.js → studio-a7pzveq1.js} +2 -2
- package/dist/chunks/{studio-97qcgvdn.js → studio-adn0z1k3.js} +14 -8
- package/dist/chunks/{studio-97qcgvdn.js.map → studio-adn0z1k3.js.map} +3 -3
- package/dist/chunks/{studio-kr88ryr7.js → studio-bsxxx3x2.js} +17 -15
- package/dist/chunks/{studio-kr88ryr7.js.map → studio-bsxxx3x2.js.map} +7 -6
- package/dist/chunks/studio-bw5dz6km.js +608 -0
- package/dist/chunks/studio-bw5dz6km.js.map +21 -0
- package/dist/chunks/studio-c6s5getc.js +4232 -0
- package/dist/chunks/studio-c6s5getc.js.map +39 -0
- package/dist/chunks/studio-cjm7fdjf.js +451 -0
- package/dist/chunks/studio-cjm7fdjf.js.map +14 -0
- package/dist/chunks/{studio-cx91mnh8.js → studio-ckwz4d3x.js} +53 -53
- package/dist/chunks/{studio-cx91mnh8.js.map → studio-ckwz4d3x.js.map} +5 -5
- package/dist/chunks/studio-dg7zyt5x.js +28 -0
- package/dist/chunks/studio-dg7zyt5x.js.map +10 -0
- package/dist/chunks/studio-dzcyvvvz.js +166 -0
- package/dist/chunks/studio-dzcyvvvz.js.map +10 -0
- package/dist/chunks/{studio-7kqe41sa.js → studio-evkr5d3b.js} +15 -7
- package/dist/chunks/{studio-7kqe41sa.js.map → studio-evkr5d3b.js.map} +5 -4
- package/dist/chunks/studio-f12h6177.js +411 -0
- package/dist/chunks/studio-f12h6177.js.map +13 -0
- package/dist/chunks/studio-hbp1s8m9.js +1817 -0
- package/dist/chunks/studio-hbp1s8m9.js.map +14 -0
- package/dist/chunks/studio-k2sxjph5.js +15295 -0
- package/dist/chunks/studio-k2sxjph5.js.map +235 -0
- package/dist/chunks/studio-myje51t3.js +385 -0
- package/dist/chunks/studio-myje51t3.js.map +12 -0
- package/dist/chunks/studio-na6rwzhw.js +353 -0
- package/dist/chunks/studio-na6rwzhw.js.map +11 -0
- package/dist/chunks/{studio-4k0m4fmp.js → studio-p471gg5n.js} +126 -3
- package/dist/chunks/studio-p471gg5n.js.map +14 -0
- package/dist/chunks/{studio-9bjwf0d4.js → studio-rgwcpast.js} +5 -46
- package/dist/chunks/{studio-9bjwf0d4.js.map → studio-rgwcpast.js.map} +4 -5
- package/dist/chunks/{studio-hhj92gcr.js → studio-s519zc99.js} +3 -3
- package/dist/chunks/studio-sas7mt3k.js +75 -0
- package/dist/chunks/studio-sas7mt3k.js.map +10 -0
- package/dist/chunks/studio-t5wqwzdh.js +74 -0
- package/dist/chunks/studio-t5wqwzdh.js.map +10 -0
- package/dist/chunks/{studio-9qpspwfn.js → studio-temv5bw4.js} +5 -5
- package/dist/chunks/{studio-9qpspwfn.js.map → studio-temv5bw4.js.map} +1 -1
- package/dist/chunks/{studio-qkvt37c0.js → studio-tr20m8g8.js} +669 -18
- package/dist/chunks/studio-tr20m8g8.js.map +9 -0
- package/dist/chunks/{studio-ygzav7z5.js → studio-v96qfnww.js} +5514 -4291
- package/dist/chunks/studio-v96qfnww.js.map +54 -0
- package/dist/chunks/studio-vcetc91k.js +659 -0
- package/dist/chunks/studio-vcetc91k.js.map +10 -0
- package/dist/chunks/{studio-n9zmpxjg.js → studio-vmymjefp.js} +2972 -4937
- package/dist/chunks/studio-vmymjefp.js.map +98 -0
- package/dist/chunks/{studio-bghqfmea.js → studio-wwseqyw0.js} +2 -2
- package/dist/chunks/studio-x9hmy5kr.js +390 -0
- package/dist/chunks/studio-x9hmy5kr.js.map +10 -0
- package/dist/chunks/studio-xa0ce0n7.js +335 -0
- package/dist/chunks/studio-xa0ce0n7.js.map +10 -0
- package/dist/chunks/studio-xm3dbxvn.js +378 -0
- package/dist/chunks/studio-xm3dbxvn.js.map +19 -0
- package/dist/chunks/{studio-nqw433kv.js → studio-xmvbhg31.js} +2 -2
- package/dist/chunks/studio-zv37yrfa.js +1054 -0
- package/dist/chunks/studio-zv37yrfa.js.map +13 -0
- package/dist/chunks/{ws-client-q7hkz3j9.js → ws-client-654ts66j.js} +6 -4
- package/dist/chunks/ws-client-654ts66j.js.map +11 -0
- package/dist/iframe-entry.js +668 -230
- package/dist/studio.js +23711 -35185
- package/index.html +35 -4685
- package/package.json +17 -15
- package/src/about/about-modal.ts +42 -11
- package/src/browse/library-commands.ts +240 -0
- package/src/browse/library-layouts.ts +369 -0
- package/src/browse/library-model.ts +396 -0
- package/src/browse/library-pane.ts +1049 -0
- package/src/browse/library-preview.ts +252 -0
- package/src/browse/library-source.ts +150 -0
- package/src/canvas/canvas-helpers.ts +33 -9
- package/src/canvas/canvas-live-render.ts +45 -29
- package/src/canvas/canvas-patcher.ts +151 -31
- package/src/canvas/canvas-perf.ts +46 -7
- package/src/canvas/canvas-render.ts +1092 -220
- package/src/canvas/canvas-surface.ts +240 -0
- package/src/canvas/canvas-utils.ts +1166 -124
- package/src/canvas/iframe-drop.ts +2 -1
- package/src/canvas/iframe-entry.ts +241 -4
- package/src/canvas/iframe-host.ts +1226 -143
- package/src/canvas/iframe-inline-edit.ts +31 -0
- package/src/canvas/iframe-interaction.ts +76 -16
- package/src/canvas/iframe-keys.ts +107 -45
- package/src/canvas/iframe-overlay.ts +38 -1
- package/src/canvas/iframe-protocol.ts +137 -2
- package/src/canvas/iframe-render.ts +70 -2
- package/src/canvas/iframe-slash.ts +6 -0
- package/src/canvas/path-mapping.ts +56 -6
- package/src/canvas/surface-registry.ts +292 -0
- package/src/collab/collab-commands.ts +244 -0
- package/src/collab/collab-session.ts +198 -32
- package/src/collab/collab-state.ts +28 -2
- package/src/collab/presence-chips.ts +100 -9
- package/src/commands/active-registry.ts +42 -0
- package/src/commands/app-commands.ts +176 -0
- package/src/commands/budget.ts +158 -0
- package/src/commands/command-args.ts +253 -0
- package/src/commands/context.ts +387 -0
- package/src/commands/defaults.ts +580 -0
- package/src/commands/keymap.ts +571 -0
- package/src/commands/levels.ts +345 -0
- package/src/commands/live-context.ts +193 -0
- package/src/commands/reference.ts +227 -0
- package/src/commands/registry.ts +293 -0
- package/src/component-props.ts +3 -2
- package/src/content/draft-state.ts +106 -0
- package/src/content/entry-commands.ts +282 -0
- package/src/content/entry-editor.ts +327 -0
- package/src/content/entry-fields.ts +116 -0
- package/src/content/entry-model.ts +175 -0
- package/src/editor/canvas-context-menu.ts +17 -11
- package/src/editor/canvas-slash-bridge.ts +11 -4
- package/src/editor/context-menu.ts +804 -204
- package/src/editor/convert-to-component.ts +31 -10
- package/src/editor/convert-to-repeater.ts +3 -2
- package/src/editor/inline-edit-apply.ts +5 -5
- package/src/editor/inline-edit.ts +86 -50
- package/src/editor/insert-zone-action.ts +1 -1
- package/src/editor/shortcuts.ts +1043 -329
- package/src/editor/slash-menu.ts +1 -0
- package/src/files/elements.ts +166 -0
- package/src/files/file-ops.ts +178 -31
- package/src/files/files.ts +898 -268
- package/src/files/fs-events.ts +21 -0
- package/src/files/media-meta.ts +203 -0
- package/src/files/media-paths.ts +141 -0
- package/src/files/media-upload.ts +7 -3
- package/src/files/media-usage.ts +189 -0
- package/src/github/github-auth.ts +235 -33
- package/src/github/github-publish.ts +80 -21
- package/src/grid/grid-controller.ts +152 -12
- package/src/grid/grid-layout.ts +225 -20
- package/src/grid/grid-open.ts +120 -0
- package/src/grid/grid-panel.ts +554 -39
- package/src/grid/grid-source.ts +27 -1
- package/src/grid/redirects-grid.ts +599 -0
- package/src/grid/redirects.ts +398 -0
- package/src/grid/sources/content-source.ts +108 -2
- package/src/i18n/i18n-commands.ts +322 -0
- package/src/new-project/add-repo-modal.ts +8 -10
- package/src/new-project/import-tab.ts +34 -9
- package/src/new-project/location-fields.ts +9 -1
- package/src/new-project/new-project-modal.ts +270 -262
- package/src/packages/jxsuite-update.ts +97 -48
- package/src/packages/pull-package-sync.ts +18 -9
- package/src/page-params.ts +2 -1
- package/src/panels/activity-bar.ts +152 -91
- package/src/panels/activity-panel.ts +481 -0
- package/src/panels/ai-chat/chat-markdown.ts +8 -3
- package/src/panels/ai-chat/chat-view.ts +245 -18
- package/src/panels/ai-chat/composer.ts +31 -5
- package/src/panels/ai-chat/sessions-view.ts +17 -10
- package/src/panels/ai-panel.ts +279 -120
- package/src/panels/block-action-bar.ts +1115 -224
- package/src/panels/bottom-dock.ts +337 -0
- package/src/panels/canvas-dnd-bridge.ts +37 -8
- package/src/panels/chat-panel.ts +29 -12
- package/src/panels/data-explorer.ts +254 -112
- package/src/panels/data-grid.ts +10 -4
- package/src/panels/dnd.ts +28 -51
- package/src/panels/editors.ts +434 -107
- package/src/panels/elements-panel.ts +66 -2
- package/src/panels/empty-state.ts +112 -0
- package/src/panels/events-panel.ts +596 -82
- package/src/panels/formula-workspace.ts +408 -218
- package/src/panels/frontmatter-fields.ts +51 -10
- package/src/panels/frontmatter-panel.ts +357 -79
- package/src/panels/git-panel.ts +375 -164
- package/src/panels/head-panel.ts +791 -85
- package/src/panels/i18n-panel.ts +592 -0
- package/src/panels/imports-panel.ts +95 -85
- package/src/panels/jump-bar.ts +584 -0
- package/src/panels/layers-panel.ts +1106 -328
- package/src/panels/left-panel.ts +109 -204
- package/src/panels/navigator-panels.ts +131 -0
- package/src/panels/overlays.ts +7 -2
- package/src/panels/pane-context.ts +1477 -0
- package/src/panels/pane-grid.ts +406 -0
- package/src/panels/panel-registry.ts +340 -0
- package/src/panels/panel-scheduler.ts +75 -0
- package/src/panels/problems-panel.ts +234 -0
- package/src/panels/properties-panel.ts +946 -1139
- package/src/panels/provenance.ts +258 -0
- package/src/panels/quick-search.ts +791 -122
- package/src/panels/right-panel.ts +228 -102
- package/src/panels/seo-modal.ts +395 -0
- package/src/panels/settings-pane.ts +203 -0
- package/src/panels/signals-panel.ts +354 -137
- package/src/panels/statement-editor.ts +41 -25
- package/src/panels/statusbar.ts +342 -106
- package/src/panels/style-panel.ts +974 -463
- package/src/panels/style-utils.ts +3 -3
- package/src/panels/stylebook-doc.ts +4 -2
- package/src/panels/stylebook-layers-panel.ts +3 -2
- package/src/panels/stylebook-panel.ts +51 -26
- package/src/panels/tab-strip.ts +1058 -78
- package/src/panels/target-line.ts +274 -0
- package/src/panels/toolbar.ts +631 -484
- package/src/panels/welcome-screen.ts +301 -198
- package/src/platform-errors.ts +26 -3
- package/src/platform.ts +96 -2
- package/src/platforms/cloud.ts +71 -8
- package/src/platforms/devserver.ts +92 -29
- package/src/publish/deploy-checklist.ts +383 -0
- package/src/publish/pages-service.ts +10 -1
- package/src/publish/publish-commands.ts +218 -0
- package/src/publish/publish-panel.ts +110 -16
- package/src/recent-projects.ts +3 -2
- package/src/services/a11y-report.ts +505 -0
- package/src/services/ai-models.ts +75 -2
- package/src/services/ai-project-tools.ts +29 -10
- package/src/services/ai-system-prompt.ts +53 -14
- package/src/services/ai-tools.ts +39 -3
- package/src/services/ai-writes.ts +154 -0
- package/src/services/announce.ts +97 -0
- package/src/services/automation.ts +424 -175
- package/src/services/cem-export.ts +9 -4
- package/src/services/clock.ts +61 -0
- package/src/services/document-assistant.ts +36 -8
- package/src/services/idle.ts +179 -0
- package/src/services/import-client.ts +26 -0
- package/src/services/monaco-buffer.ts +627 -0
- package/src/services/monaco-lazy.ts +36 -0
- package/src/services/notify.ts +271 -0
- package/src/services/profile.ts +155 -0
- package/src/services/references.ts +0 -0
- package/src/services/token-lint.ts +3 -2
- package/src/services/tool-executor.ts +53 -7
- package/src/services/trusted-types.ts +123 -0
- package/src/settings/contexts-section.ts +427 -0
- package/src/settings/contributed-section.ts +149 -11
- package/src/settings/css-vars-editor.ts +306 -349
- package/src/settings/defs-editor.ts +93 -34
- package/src/settings/dependencies-editor.ts +7 -7
- package/src/settings/extension-sections.ts +37 -5
- package/src/settings/general-settings.ts +204 -121
- package/src/settings/locales-section.ts +347 -0
- package/src/settings/preferences-accounts.ts +140 -0
- package/src/settings/preferences-dialog.ts +620 -0
- package/src/settings/preferences-keymap.ts +270 -0
- package/src/settings/project-sections.ts +260 -0
- package/src/settings/section-registry.ts +169 -0
- package/src/settings/settings-document.ts +385 -0
- package/src/shell.ts +1549 -0
- package/src/site-context.ts +45 -20
- package/src/state.ts +14 -275
- package/src/store.ts +88 -43
- package/src/studio.ts +790 -346
- package/src/style/live-preview.ts +36 -0
- package/src/style/project-styles.ts +349 -0
- package/src/style/token-ref.ts +123 -0
- package/src/tabs/patch-ops.ts +16 -4
- package/src/tabs/project-config.ts +416 -0
- package/src/tabs/selection.ts +323 -0
- package/src/tabs/tab.ts +182 -47
- package/src/tabs/transact.ts +209 -28
- package/src/types.ts +68 -13
- package/src/ui/ai-credentials-form.ts +39 -35
- package/src/ui/ai-managed-connect.ts +113 -0
- package/src/ui/dynamic-slot.ts +224 -81
- package/src/ui/expression-editor.ts +71 -63
- package/src/ui/field-input.ts +4 -6
- package/src/ui/field-row.ts +215 -38
- package/src/ui/form-controls.ts +194 -7
- package/src/ui/layers.ts +492 -69
- package/src/ui/media-picker.ts +115 -25
- package/src/ui/panel-resize.ts +109 -91
- package/src/ui/progress-modal.ts +131 -50
- package/src/ui/regions.ts +462 -0
- package/src/ui/schema-form.ts +229 -45
- package/src/ui/spectrum.ts +24 -8
- package/src/ui/timing.ts +49 -0
- package/src/ui/value-selector.ts +20 -0
- package/src/ui/value-source.ts +348 -0
- package/src/ui/virtual-window.ts +400 -0
- package/src/utils/edit-display.ts +3 -2
- package/src/utils/inherited-style.ts +67 -37
- package/src/view.ts +64 -78
- package/src/workspace/pane-derive.ts +1258 -0
- package/src/workspace/session.ts +317 -0
- package/src/workspace/workspace.ts +1345 -23
- package/styles/canvas.css +653 -0
- package/styles/forced-colors.css +106 -0
- package/styles/inspector.css +1454 -0
- package/styles/overlays.css +2704 -0
- package/styles/panels.css +1701 -0
- package/styles/shell.css +1423 -0
- package/styles/tokens.css +151 -0
- package/dist/chunks/Overlay.dev-cszx7yn5.js +0 -22
- package/dist/chunks/extension-sections-qct0gt8f.js +0 -531
- package/dist/chunks/extension-sections-qct0gt8f.js.map +0 -12
- package/dist/chunks/files-02zn5y24.js +0 -50
- package/dist/chunks/files-02zn5y24.js.map +0 -9
- package/dist/chunks/git-panel-mbb0y0hz.js +0 -28
- package/dist/chunks/git-panel-mbb0y0hz.js.map +0 -9
- package/dist/chunks/layers-panel-9qekmqk1.js +0 -26
- package/dist/chunks/layers-panel-9qekmqk1.js.map +0 -9
- package/dist/chunks/settings-modal-gj0hrah4.js +0 -29
- package/dist/chunks/settings-modal-gj0hrah4.js.map +0 -9
- package/dist/chunks/sp-overlay.dev-earn5as8.js +0 -17
- package/dist/chunks/sp-overlay.dev-earn5as8.js.map +0 -9
- package/dist/chunks/sp-popover.dev-frxtfejn.js +0 -8
- package/dist/chunks/sp-popover.dev-frxtfejn.js.map +0 -9
- package/dist/chunks/sp-progress-circle.dev-7tvw34h8.js +0 -14
- package/dist/chunks/sp-progress-circle.dev-7tvw34h8.js.map +0 -9
- package/dist/chunks/sp-tooltip.dev-a9fywesm.js +0 -21
- package/dist/chunks/sp-tooltip.dev-a9fywesm.js.map +0 -10
- package/dist/chunks/studio-4k0m4fmp.js.map +0 -13
- package/dist/chunks/studio-568nx4t5.js +0 -469
- package/dist/chunks/studio-568nx4t5.js.map +0 -14
- package/dist/chunks/studio-9smfzqhc.js +0 -19
- package/dist/chunks/studio-9smfzqhc.js.map +0 -10
- package/dist/chunks/studio-asvf0j9e.js +0 -429
- package/dist/chunks/studio-asvf0j9e.js.map +0 -13
- package/dist/chunks/studio-d77qm3pk.js +0 -3427
- package/dist/chunks/studio-d77qm3pk.js.map +0 -26
- package/dist/chunks/studio-j6gqyjf4.js +0 -1854
- package/dist/chunks/studio-j6gqyjf4.js.map +0 -18
- package/dist/chunks/studio-n9zmpxjg.js.map +0 -115
- package/dist/chunks/studio-qkvt37c0.js.map +0 -9
- package/dist/chunks/studio-rq0vxb19.js +0 -3744
- package/dist/chunks/studio-rq0vxb19.js.map +0 -22
- package/dist/chunks/studio-wd6ewdvd.js +0 -853
- package/dist/chunks/studio-wd6ewdvd.js.map +0 -12
- package/dist/chunks/studio-xq0t7n5t.js +0 -140
- package/dist/chunks/studio-xq0t7n5t.js.map +0 -10
- package/dist/chunks/studio-xze4zrs1.js.map +0 -10
- package/dist/chunks/studio-ygzav7z5.js.map +0 -46
- package/dist/chunks/studio-zmy7241e.js +0 -399
- package/dist/chunks/studio-zmy7241e.js.map +0 -12
- package/dist/chunks/ws-client-q7hkz3j9.js.map +0 -11
- package/src/browse/browse-modal.ts +0 -69
- package/src/browse/browse.ts +0 -904
- package/src/canvas/canvas-diff.ts +0 -216
- package/src/canvas/nested-site-style.ts +0 -58
- package/src/new-project/design-fields.ts +0 -264
- package/src/new-project/templates.ts +0 -61
- package/src/panels/tab-bar.ts +0 -548
- package/src/settings/settings-modal.ts +0 -203
- /package/dist/chunks/{adapter-z8fkmbmv.js.map → adapter-qfnesn5v.js.map} +0 -0
- /package/dist/chunks/{cf-settings-mmyv436d.js.map → cf-settings-73sh5z4p.js.map} +0 -0
- /package/dist/chunks/{format-host-2c188n41.js.map → format-host-mkwsmt8d.js.map} +0 -0
- /package/dist/chunks/{jx-validate-qx8degj7.js.map → jx-validate-v6qgknrs.js.map} +0 -0
- /package/dist/chunks/{studio-w7c6kvk7.js.map → studio-a7pzveq1.js.map} +0 -0
- /package/dist/chunks/{studio-hhj92gcr.js.map → studio-s519zc99.js.map} +0 -0
- /package/dist/chunks/{studio-bghqfmea.js.map → studio-wwseqyw0.js.map} +0 -0
- /package/dist/chunks/{studio-nqw433kv.js.map → studio-xmvbhg31.js.map} +0 -0
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../node_modules/@spectrum-web-components/reactive-controllers/src/DependencyManger.dev.js", "../../../node_modules/@spectrum-web-components/tooltip/src/tooltip.css.js", "../../../node_modules/@spectrum-web-components/tooltip/src/Tooltip.dev.js"],
|
|
3
|
+
"sources": ["../../../node_modules/@spectrum-web-components/reactive-controllers/src/DependencyManger.dev.js", "../../../node_modules/@spectrum-web-components/tooltip/src/tooltip.css.js", "../../../node_modules/@spectrum-web-components/tooltip/src/Tooltip.dev.js", "../../../node_modules/@spectrum-web-components/tooltip/sp-tooltip.dev.js"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"\"use strict\";\nexport const dependencyManagerLoadedSymbol = Symbol(\n \"dependency manager loaded\"\n);\nexport class DependencyManagerController {\n constructor(host) {\n this.dependencies = {};\n this._loaded = false;\n this.host = host;\n }\n /**\n * Whether all of the provided dependencies have been registered.\n * This will be `false` when no dependencies have been listed for management.\n * Changes to this value will trigger `requestUpdate()` on the host.\n */\n get loaded() {\n return this._loaded;\n }\n set loaded(loaded) {\n if (loaded === this.loaded) {\n return;\n }\n this._loaded = loaded;\n this.host.requestUpdate(dependencyManagerLoadedSymbol, !this.loaded);\n }\n /**\n * Submit a custom element tag name to be managed as a dependency.\n *\n * @param dependency {string} - the custom element tag to manage\n * @param alreadyLoaded {boolean} - force the managemented custom element to be listed as loaded\n */\n add(dependency, alreadyLoaded) {\n const loaded = !!alreadyLoaded || !!customElements.get(dependency) || this.dependencies[dependency];\n if (!loaded) {\n customElements.whenDefined(dependency).then(() => {\n this.add(dependency, true);\n });\n }\n this.dependencies = {\n ...this.dependencies,\n [dependency]: loaded\n };\n this.loaded = Object.values(this.dependencies).every((loaded2) => loaded2);\n }\n}\n//# sourceMappingURL=DependencyManger.dev.js.map\n",
|
|
6
6
|
"\"use strict\";import{css as t}from\"@spectrum-web-components/base\";const o=t`\n #tooltip{visibility:hidden;pointer-events:none;opacity:0;transition:transform .13s ease-in-out,opacity .13s ease-in-out,visibility 0s linear .13s;transition:transform var(--mod-overlay-animation-duration,var(--spectrum-animation-duration-100,.13s))ease-in-out,opacity var(--mod-overlay-animation-duration,var(--spectrum-animation-duration-100,.13s))ease-in-out,visibility 0s linear var(--mod-overlay-animation-duration,var(--spectrum-animation-duration-100,.13s))}:host([open]) #tooltip{visibility:visible;pointer-events:auto;opacity:1;transition-delay:0s;transition-delay:var(--mod-overlay-animation-duration-opened,var(--spectrum-animation-duration-0,0s))}#tooltip{--spectrum-tooltip-animation-duration:var(--spectrum-animation-duration-100);--spectrum-tooltip-margin:0px;--spectrum-tooltip-height:var(--spectrum-component-height-75);--spectrum-tooltip-max-inline-size:var(--spectrum-tooltip-maximum-width);--spectrum-tooltip-border-radius:var(--spectrum-corner-radius-100);--spectrum-tooltip-icon-width:var(--spectrum-workflow-icon-size-50);--spectrum-tooltip-icon-height:var(--spectrum-workflow-icon-size-50);--spectrum-tooltip-font-size:var(--spectrum-font-size-75);--spectrum-tooltip-line-height:var(--spectrum-line-height-100);--spectrum-tooltip-cjk-line-height:var(--spectrum-cjk-line-height-100);--spectrum-tooltip-font-weight:var(--spectrum-regular-font-weight);--spectrum-tooltip-spacing-inline:var(--spectrum-component-edge-to-text-75);--spectrum-tooltip-spacing-block-start:var(--spectrum-component-top-to-text-75);--spectrum-tooltip-spacing-block-end:var(--spectrum-component-bottom-to-text-75);--spectrum-tooltip-icon-spacing-inline-start:var(--spectrum-text-to-visual-75);--spectrum-tooltip-icon-spacing-inline-end:var(--spectrum-text-to-visual-75);--spectrum-tooltip-icon-spacing-block-start:var(--spectrum-component-top-to-workflow-icon-75);--spectrum-tooltip-background-color-informative:var(--spectrum-informative-background-color-default);--spectrum-tooltip-background-color-positive:var(--spectrum-positive-background-color-default);--spectrum-tooltip-background-color-negative:var(--spectrum-negative-background-color-default);--spectrum-tooltip-content-color:var(--spectrum-white);--spectrum-tooltip-tip-inline-size:var(--spectrum-tooltip-tip-width);--spectrum-tooltip-tip-block-size:var(--spectrum-tooltip-tip-height);--spectrum-tooltip-tip-square-size:var(--spectrum-tooltip-tip-inline-size);--spectrum-tooltip-tip-height-percentage:50%;--spectrum-tooltip-tip-antialiasing-inset:.5px;--spectrum-tooltip-pointer-corner-spacing:var(--spectrum-corner-radius-100);--spectrum-tooltip-background-color-default:var(--spectrum-tooltip-backgound-color-default-neutral)}@media (forced-colors:active){#tooltip{border:1px solid #0000}#tip{--highcontrast-tooltip-background-color-default:CanvasText;--highcontrast-tooltip-background-color-informative:CanvasText;--highcontrast-tooltip-background-color-positive:CanvasText;--highcontrast-tooltip-background-color-negative:CanvasText;forced-color-adjust:none}}#tooltip{-webkit-font-smoothing:antialiased;box-sizing:border-box;inline-size:auto;max-inline-size:var(--mod-tooltip-max-inline-size,var(--spectrum-tooltip-max-inline-size));block-size:auto;min-block-size:var(--mod-tooltip-height,var(--spectrum-tooltip-height));padding-inline:var(--mod-tooltip-spacing-inline,var(--spectrum-tooltip-spacing-inline));font-size:var(--mod-tooltip-font-size,var(--spectrum-tooltip-font-size));font-weight:var(--mod-tooltip-font-weight,var(--spectrum-tooltip-font-weight));line-height:var(--mod-tooltip-line-height,var(--spectrum-tooltip-line-height));vertical-align:top;color:var(--mod-tooltip-content-color,var(--spectrum-tooltip-content-color));overflow-wrap:break-word;background-color:var(--highcontrast-tooltip-background-color-default,var(--mod-tooltip-background-color-default,var(--spectrum-tooltip-background-color-default)));border-radius:var(--mod-tooltip-border-radius,var(--spectrum-tooltip-border-radius));cursor:default;-webkit-user-select:none;user-select:none;flex-direction:row;align-items:center;display:inline-flex;position:relative}:host(:lang(ja)) #tooltip,:host(:lang(ko)) #tooltip,:host(:lang(zh)) #tooltip{line-height:var(--mod-tooltip-cjk-line-height,var(--spectrum-tooltip-cjk-line-height))}#tooltip p{margin:0}:host([variant=info]) #tooltip{background-color:var(--highcontrast-tooltip-background-color-informative,var(--mod-tooltip-background-color-informative,var(--spectrum-tooltip-background-color-informative)))}:host([variant=positive]) #tooltip{background-color:var(--highcontrast-tooltip-background-color-positive,var(--mod-tooltip-background-color-positive,var(--spectrum-tooltip-background-color-positive)))}:host([variant=negative]) #tooltip{background-color:var(--highcontrast-tooltip-background-color-negative,var(--mod-tooltip-background-color-negative,var(--spectrum-tooltip-background-color-negative)))}#tip{inset-block-start:100%;inline-size:var(--mod-tooltip-tip-square-size,var(--spectrum-tooltip-tip-square-size));block-size:var(--mod-tooltip-tip-square-size,var(--spectrum-tooltip-tip-square-size));background-color:var(--highcontrast-tooltip-background-color-default,var(--mod-tooltip-background-color-default,var(--spectrum-tooltip-background-color-default)));clip-path:polygon(0 calc(0% - var(--mod-tooltip-tip-antialiasing-inset,var(--spectrum-tooltip-tip-antialiasing-inset))),50% var(--mod-tooltip-tip-height-percentage,var(--spectrum-tooltip-tip-height-percentage)),100% calc(0% - var(--mod-tooltip-tip-antialiasing-inset,var(--spectrum-tooltip-tip-antialiasing-inset))));position:absolute;left:50%;transform:translate(-50%)}:host([variant=info]) #tooltip #tip{background-color:var(--highcontrast-tooltip-background-color-informative,var(--mod-tooltip-background-color-informative,var(--spectrum-tooltip-background-color-informative)))}:host([variant=positive]) #tooltip #tip{background-color:var(--highcontrast-tooltip-background-color-positive,var(--mod-tooltip-background-color-positive,var(--spectrum-tooltip-background-color-positive)))}:host([variant=negative]) #tooltip #tip{background-color:var(--highcontrast-tooltip-background-color-negative,var(--mod-tooltip-background-color-negative,var(--spectrum-tooltip-background-color-negative)))}:host([placement*=top]) #tooltip #tip,.spectrum-Tooltip--top-end #tip,.spectrum-Tooltip--top-left #tip,.spectrum-Tooltip--top-right #tip,.spectrum-Tooltip--top-start #tip{inset-block-start:100%}:host([placement*=bottom]) #tooltip #tip,.spectrum-Tooltip--bottom-end #tip,.spectrum-Tooltip--bottom-left #tip,.spectrum-Tooltip--bottom-right #tip,.spectrum-Tooltip--bottom-start #tip{clip-path:polygon(50% calc(100% - var(--mod-tooltip-tip-height-percentage,var(--spectrum-tooltip-tip-height-percentage))),0 calc(100% + var(--mod-tooltip-tip-antialiasing-inset,var(--spectrum-tooltip-tip-antialiasing-inset))),100% calc(100% + var(--mod-tooltip-tip-antialiasing-inset,var(--spectrum-tooltip-tip-antialiasing-inset))));inset-block:auto 100%}.spectrum-Tooltip--bottom-end #tip,.spectrum-Tooltip--bottom-left #tip,.spectrum-Tooltip--bottom-right #tip,.spectrum-Tooltip--bottom-start #tip,.spectrum-Tooltip--top-end #tip,.spectrum-Tooltip--top-left #tip,.spectrum-Tooltip--top-right #tip,.spectrum-Tooltip--top-start #tip{transform:none}.spectrum-Tooltip--bottom-left #tip,.spectrum-Tooltip--top-left #tip{inset-inline-start:var(--mod-tooltip-pointer-corner-spacing,var(--spectrum-tooltip-pointer-corner-spacing))}.spectrum-Tooltip--bottom-right #tip,.spectrum-Tooltip--top-right #tip{inset-inline:auto var(--mod-tooltip-pointer-corner-spacing,var(--spectrum-tooltip-pointer-corner-spacing))}.spectrum-Tooltip--bottom-start #tip,.spectrum-Tooltip--top-start #tip{inset-inline:var(--mod-tooltip-pointer-corner-spacing,var(--spectrum-tooltip-pointer-corner-spacing))auto}.spectrum-Tooltip--bottom-start #tip:dir(rtl),.spectrum-Tooltip--top-start #tip:dir(rtl){right:var(--mod-tooltip-pointer-corner-spacing,var(--spectrum-tooltip-pointer-corner-spacing));left:auto}.spectrum-Tooltip--bottom-end #tip,.spectrum-Tooltip--top-end #tip{inset-inline:auto var(--mod-tooltip-pointer-corner-spacing,var(--spectrum-tooltip-pointer-corner-spacing))}.spectrum-Tooltip--bottom-end #tip:dir(rtl),.spectrum-Tooltip--top-end #tip:dir(rtl){right:auto;left:var(--mod-tooltip-pointer-corner-spacing,var(--spectrum-tooltip-pointer-corner-spacing))}.spectrum-Tooltip--end #tip,.spectrum-Tooltip--end-bottom #tip,.spectrum-Tooltip--end-top #tip,:host([placement*=left]) #tooltip #tip,.spectrum-Tooltip--left-bottom #tip,.spectrum-Tooltip--left-top #tip,:host([placement*=right]) #tooltip #tip,.spectrum-Tooltip--right-bottom #tip,.spectrum-Tooltip--right-top #tip,.spectrum-Tooltip--start #tip,.spectrum-Tooltip--start-bottom #tip,.spectrum-Tooltip--start-top #tip{inset-block-start:50%;transform:translateY(-50%)}.spectrum-Tooltip--end-bottom #tip,.spectrum-Tooltip--end-top #tip,.spectrum-Tooltip--left-bottom #tip,.spectrum-Tooltip--left-top #tip,.spectrum-Tooltip--right-bottom #tip,.spectrum-Tooltip--right-top #tip,.spectrum-Tooltip--start-bottom #tip,.spectrum-Tooltip--start-top #tip{inset-block-start:auto;transform:none}.spectrum-Tooltip--end #tip,.spectrum-Tooltip--end-bottom #tip,.spectrum-Tooltip--end-top #tip,:host([placement*=right]) #tooltip #tip,.spectrum-Tooltip--right-bottom #tip,.spectrum-Tooltip--right-top #tip{clip-path:polygon(calc(100% - var(--mod-tooltip-tip-height-percentage,var(--spectrum-tooltip-tip-height-percentage)))50%,calc(100% + var(--mod-tooltip-tip-antialiasing-inset,var(--spectrum-tooltip-tip-antialiasing-inset)))100%,calc(100% + var(--mod-tooltip-tip-antialiasing-inset,var(--spectrum-tooltip-tip-antialiasing-inset)))0);inset-inline:auto 100%}:host([placement*=left]) #tooltip #tip,.spectrum-Tooltip--left-bottom #tip,.spectrum-Tooltip--left-top #tip,.spectrum-Tooltip--start #tip,.spectrum-Tooltip--start-bottom #tip,.spectrum-Tooltip--start-top #tip{clip-path:polygon(calc(0% - var(--mod-tooltip-tip-antialiasing-inset,var(--spectrum-tooltip-tip-antialiasing-inset)))0,calc(0% - var(--mod-tooltip-tip-antialiasing-inset,var(--spectrum-tooltip-tip-antialiasing-inset)))100%,var(--mod-tooltip-tip-height-percentage,var(--spectrum-tooltip-tip-height-percentage))50%);inset-inline-start:100%}.spectrum-Tooltip--end-top #tip,.spectrum-Tooltip--left-top #tip,.spectrum-Tooltip--right-top #tip,.spectrum-Tooltip--start-top #tip{inset-block-start:var(--mod-tooltip-pointer-corner-spacing,var(--spectrum-tooltip-pointer-corner-spacing))}.spectrum-Tooltip--end-bottom #tip,.spectrum-Tooltip--left-bottom #tip,.spectrum-Tooltip--right-bottom #tip,.spectrum-Tooltip--start-bottom #tip{inset-block-end:var(--mod-tooltip-pointer-corner-spacing,var(--spectrum-tooltip-pointer-corner-spacing))}.spectrum-Tooltip--end #tip:dir(rtl),.spectrum-Tooltip--end-bottom #tip:dir(rtl),.spectrum-Tooltip--end-top #tip:dir(rtl),:host([placement*=left]) #tooltip #tip:dir(rtl),.spectrum-Tooltip--left-bottom #tip:dir(rtl),.spectrum-Tooltip--left-top #tip:dir(rtl){clip-path:polygon(calc(0% - var(--mod-tooltip-tip-antialiasing-inset,var(--spectrum-tooltip-tip-antialiasing-inset)))0,calc(0% - var(--mod-tooltip-tip-antialiasing-inset,var(--spectrum-tooltip-tip-antialiasing-inset)))100%,var(--mod-tooltip-tip-height-percentage,var(--spectrum-tooltip-tip-height-percentage))50%);left:100%;right:auto}:host([placement*=right]) #tooltip #tip:dir(rtl),.spectrum-Tooltip--right-bottom #tip:dir(rtl),.spectrum-Tooltip--right-top #tip:dir(rtl),.spectrum-Tooltip--start #tip:dir(rtl),.spectrum-Tooltip--start-bottom #tip:dir(rtl),.spectrum-Tooltip--start-top #tip:dir(rtl){clip-path:polygon(var(--mod-tooltip-tip-height-percentage,var(--spectrum-tooltip-tip-height-percentage))50%,calc(100% + var(--mod-tooltip-tip-antialiasing-inset,var(--spectrum-tooltip-tip-antialiasing-inset)))100%,calc(100% + var(--mod-tooltip-tip-antialiasing-inset,var(--spectrum-tooltip-tip-antialiasing-inset)))0);left:auto;right:100%}::slotted([slot=icon]){inline-size:var(--mod-tooltip-icon-width,var(--spectrum-tooltip-icon-width));block-size:var(--mod-tooltip-icon-height,var(--spectrum-tooltip-icon-height));flex-shrink:0;align-self:flex-start;margin-block-start:var(--mod-tooltip-icon-spacing-block-start,var(--spectrum-tooltip-icon-spacing-block-start));margin-inline-start:calc(var(--mod-tooltip-icon-spacing-inline-start,var(--spectrum-tooltip-icon-spacing-inline-start)) - var(--mod-tooltip-spacing-inline,var(--spectrum-tooltip-spacing-inline)));margin-inline-end:var(--mod-tooltip-icon-spacing-inline-end,var(--spectrum-tooltip-icon-spacing-inline-end))}#label{inline-size:100%;min-inline-size:0;line-height:var(--mod-tooltip-line-height,var(--spectrum-tooltip-line-height));margin-block-start:var(--mod-tooltip-spacing-block-start,var(--spectrum-tooltip-spacing-block-start));margin-block-end:var(--mod-tooltip-spacing-block-end,var(--spectrum-tooltip-spacing-block-end))}#tooltip,:host([placement*=top]) #tooltip,.spectrum-Tooltip--top-end,.spectrum-Tooltip--top-left,.spectrum-Tooltip--top-right,.spectrum-Tooltip--top-start{margin-block-end:calc(var(--mod-tooltip-tip-block-size,var(--spectrum-tooltip-tip-block-size)) + var(--mod-tooltip-margin,var(--spectrum-tooltip-margin)))}:host([open]) .spectrum-Tooltip--top-end,:host([open]) .spectrum-Tooltip--top-left,:host([open]) .spectrum-Tooltip--top-right,:host([open]) .spectrum-Tooltip--top-start,:host([placement*=top][open]) #tooltip,:host([open]) #tooltip{transform:translateY(calc(var(--mod-tooltip-animation-distance,var(--spectrum-tooltip-animation-distance))*-1))}:host([placement*=bottom]) #tooltip,.spectrum-Tooltip--bottom-end,.spectrum-Tooltip--bottom-left,.spectrum-Tooltip--bottom-right,.spectrum-Tooltip--bottom-start{margin-block-start:calc(var(--mod-tooltip-tip-block-size,var(--spectrum-tooltip-tip-block-size)) + var(--mod-tooltip-margin,var(--spectrum-tooltip-margin)))}:host([open]) .spectrum-Tooltip--bottom-end,:host([open]) .spectrum-Tooltip--bottom-left,:host([open]) .spectrum-Tooltip--bottom-right,:host([open]) .spectrum-Tooltip--bottom-start,:host([placement*=bottom][open]) #tooltip{transform:translateY(var(--mod-tooltip-animation-distance,var(--spectrum-tooltip-animation-distance)))}:host([placement*=right]) #tooltip,.spectrum-Tooltip--right-bottom,.spectrum-Tooltip--right-top{margin-left:calc(var(--mod-tooltip-tip-block-size,var(--spectrum-tooltip-tip-block-size)) + var(--mod-tooltip-margin,var(--spectrum-tooltip-margin)))}:host([open]) .spectrum-Tooltip--right-bottom,:host([open]) .spectrum-Tooltip--right-top,:host([placement*=right][open]) #tooltip{transform:translateX(var(--mod-tooltip-animation-distance,var(--spectrum-tooltip-animation-distance)))}:host([placement*=left]) #tooltip,.spectrum-Tooltip--left-bottom,.spectrum-Tooltip--left-top{margin-right:calc(var(--mod-tooltip-tip-block-size,var(--spectrum-tooltip-tip-block-size)) + var(--mod-tooltip-margin,var(--spectrum-tooltip-margin)))}:host([open]) .spectrum-Tooltip--left-bottom,:host([open]) .spectrum-Tooltip--left-top,:host([placement*=left][open]) #tooltip{transform:translateX(calc(var(--mod-tooltip-animation-distance,var(--spectrum-tooltip-animation-distance))*-1))}.spectrum-Tooltip--start,.spectrum-Tooltip--start-bottom,.spectrum-Tooltip--start-top{margin-inline-end:calc(var(--mod-tooltip-tip-block-size,var(--spectrum-tooltip-tip-block-size)) + var(--mod-tooltip-margin,var(--spectrum-tooltip-margin)))}:host([open]) .spectrum-Tooltip--start-bottom,:host([open]) .spectrum-Tooltip--start-top,:host([open]) .spectrum-Tooltip--start{transform:translateX(calc(var(--mod-tooltip-animation-distance,var(--spectrum-tooltip-animation-distance))*-1))}:host([open]) .spectrum-Tooltip--start-bottom:dir(rtl),:host([open]) .spectrum-Tooltip--start-top:dir(rtl),:host([open]) .spectrum-Tooltip--start:dir(rtl){transform:translateX(var(--mod-tooltip-animation-distance,var(--spectrum-tooltip-animation-distance)))}.spectrum-Tooltip--end,.spectrum-Tooltip--end-bottom,.spectrum-Tooltip--end-top{margin-inline-start:calc(var(--mod-tooltip-tip-block-size,var(--spectrum-tooltip-tip-block-size)) + var(--mod-tooltip-margin,var(--spectrum-tooltip-margin)))}:host([open]) .spectrum-Tooltip--end-bottom,:host([open]) .spectrum-Tooltip--end-top,:host([open]) .spectrum-Tooltip--end{transform:translateX(var(--mod-tooltip-animation-distance,var(--spectrum-tooltip-animation-distance)))}:host([open]) .spectrum-Tooltip--end-bottom:dir(rtl),:host([open]) .spectrum-Tooltip--end-top:dir(rtl),:host([open]) .spectrum-Tooltip--end:dir(rtl){transform:translateX(calc(var(--mod-tooltip-animation-distance,var(--spectrum-tooltip-animation-distance))*-1))}#tooltip{--spectrum-tooltip-backgound-color-default-neutral:var(--system-tooltip-backgound-color-default-neutral)}:host{display:contents}#tooltip{width:fit-content;max-width:var(--spectrum-tooltip-max-inline-size);white-space:initial}#tip{clip-path:polygon(0 -5%,50% 50%,100% -5%);width:var(--spectrum-tooltip-tip-inline-size)!important;height:var(--spectrum-tooltip-tip-inline-size)!important}#tip[style]{transform:none!important}:host(:not([placement*=top])) #tooltip{margin-bottom:0}:host([placement*=top]) #tooltip #tip{inset-block-start:100%}:host([placement*=bottom]) #tooltip #tip{inset-block-end:100%;clip-path:polygon(50% 50%,0 105%,100% 105%);top:auto}:host([placement*=left]) #tooltip #tip,:host([placement*=right]) #tooltip #tip{inset-block-start:50%;transform:translateY(-50%)}:host([placement*=right]) #tooltip #tip{inset-inline:calc(var(--mod-tooltip-tip-block-size,var(--spectrum-tooltip-tip-block-size))*-2)100%;clip-path:polygon(50% 50%,105% 100%,105% 0)}:host([placement*=left]) #tooltip #tip{clip-path:polygon(-5% 0,-5% 100%,50% 50%);inset-inline-start:100%}sp-overlay:not(:defined){display:none}\n`;export default o;\n//# sourceMappingURL=tooltip.css.js.map\n",
|
|
7
|
-
"\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __decorateClass = (decorators, target, key, kind) => {\n var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;\n for (var i = decorators.length - 1, decorator; i >= 0; i--)\n if (decorator = decorators[i])\n result = (kind ? decorator(target, key, result) : decorator(result)) || result;\n if (kind && result) __defProp(target, key, result);\n return result;\n};\nimport {\n html,\n SpectrumElement\n} from \"@spectrum-web-components/base\";\nimport {\n property,\n query\n} from \"@spectrum-web-components/base/src/decorators.js\";\nimport { ifDefined } from \"@spectrum-web-components/base/src/directives.js\";\nimport { DependencyManagerController } from \"@spectrum-web-components/reactive-controllers/src/DependencyManger.js\";\nimport { focusableSelector } from \"@spectrum-web-components/shared/src/focusable-selectors.js\";\nimport tooltipStyles from \"./tooltip.css.js\";\nclass TooltipOpenable extends HTMLElement {\n constructor() {\n super();\n this._open = false;\n this._placement = \"top\";\n this.addEventListener(\"sp-opened\", this.redispatchEvent);\n this.addEventListener(\"sp-closed\", this.redispatchEvent);\n }\n redispatchEvent(event) {\n event.stopPropagation();\n this.tooltip.dispatchEvent(\n new CustomEvent(event.type, {\n bubbles: event.bubbles,\n composed: event.composed,\n detail: event.detail\n })\n );\n }\n get tooltip() {\n return this.getRootNode().host;\n }\n static get observedAttributes() {\n return [\"open\", \"placement\"];\n }\n attributeChangedCallback(name, _oldValue, newValue) {\n switch (name) {\n case \"open\":\n this.open = newValue !== null;\n break;\n case \"placement\":\n this.placement = newValue;\n break;\n }\n }\n set open(open) {\n this._open = open;\n const { tooltip } = this;\n if (!tooltip) {\n return;\n }\n tooltip.open = open;\n }\n /* c8 ignore next 3 */\n get open() {\n return this._open;\n }\n /**\n * @type {\"top\" | \"top-start\" | \"top-end\" | \"right\" | \"right-start\" | \"right-end\" | \"bottom\" | \"bottom-start\" | \"bottom-end\" | \"left\" | \"left-start\" | \"left-end\"}\n * @attr\n */\n set placement(placement) {\n this._placement = placement;\n const { tooltip } = this;\n if (!tooltip) {\n return;\n }\n tooltip.placement = placement;\n }\n /* c8 ignore next 3 */\n get placement() {\n return this._placement;\n }\n get tipElement() {\n return this.tooltip.tipElement;\n }\n}\nif (!customElements.get(\"sp-tooltip-openable\")) {\n customElements.define(\"sp-tooltip-openable\", TooltipOpenable);\n}\nexport class Tooltip extends SpectrumElement {\n constructor() {\n super(...arguments);\n this.delayed = false;\n this.dependencyManager = new DependencyManagerController(this);\n this.disabled = false;\n this.selfManaged = false;\n this.offset = 0;\n this.open = false;\n this._triggerElement = null;\n /* Ensure that a '' value for `variant` removes the attribute instead of a blank value */\n this._variant = \"\";\n this.handleOpenOverlay = () => {\n this.open = true;\n };\n this.handleCloseOverlay = () => {\n this.open = false;\n };\n }\n static get styles() {\n return [tooltipStyles];\n }\n /**\n * Explicit trigger element override for self-managed tooltip usage.\n *\n * This is useful when the intended trigger is not an ancestor of the tooltip\n * in the composed tree (for example, tooltips slotted into components that\n * render their interactive trigger internally).\n */\n set triggerElement(triggerElement) {\n this._triggerElement = triggerElement;\n if (this.overlayElement) {\n this.overlayElement.triggerElement = triggerElement;\n }\n }\n get triggerElement() {\n return this._triggerElement || this.resolveSelfManagedTriggerElement();\n }\n get variant() {\n return this._variant;\n }\n set variant(variant) {\n if (variant === this.variant) {\n return;\n }\n if ([\"info\", \"positive\", \"negative\"].includes(variant)) {\n if (true) {\n if (variant === \"info\") {\n window.__swc.warn(\n this,\n `The \"info\" variant on <${this.localName}> is deprecated and will be removed in a future release. Use \"informative\" instead.`,\n \"https://opensource.adobe.com/spectrum-web-components/components/tooltip\",\n { level: \"deprecation\" }\n );\n } else if (variant === \"positive\") {\n window.__swc.warn(\n this,\n `The \"positive\" variant on <${this.localName}> is deprecated and will be removed in a future release.`,\n \"https://opensource.adobe.com/spectrum-web-components/components/tooltip\",\n { level: \"deprecation\" }\n );\n }\n }\n this.setAttribute(\"variant\", variant);\n this._variant = variant;\n return;\n }\n this.removeAttribute(\"variant\");\n this._variant = \"\";\n }\n forwardTransitionEvent(event) {\n this.dispatchEvent(\n new TransitionEvent(event.type, {\n bubbles: true,\n composed: true,\n propertyName: event.propertyName\n })\n );\n }\n /**\n * Finds the trigger element for a self-managed tooltip by traversing up the composed DOM tree.\n *\n * Self-managed tooltips automatically bind to their first focusable ancestor element.\n * This method walks up through shadow DOM boundaries to find a suitable trigger element.\n *\n * A trigger element must match the focusableSelector, which includes:\n * - Interactive elements like buttons, inputs, links, etc.\n * - Elements with tabindex (except -1)\n * - Elements with focusable=\"true\"\n *\n * Common scenarios where no trigger element is found:\n * 1. Tooltip is placed directly in document body without a focusable parent\n * 2. Tooltip is nested in non-interactive elements (divs, spans) without focusable ancestors\n * 3. All ancestor elements have tabindex=\"-1\" or are otherwise non-focusable\n *\n * Expected usage: <sp-action-button><sp-tooltip self-managed>...</sp-tooltip></sp-action-button>\n *\n * @returns The first focusable ancestor element, or null if none found\n */\n resolveSelfManagedTriggerElement() {\n var _a;\n let start = this.assignedSlot || this;\n let root = start.getRootNode();\n if (root === document) {\n if (true) {\n window.__swc.warn(\n this,\n `[INITIAL_TRAVERSAL] Self-managed <${this.localName}> is at document root without a parent element. Self-managed tooltips must be nested inside focusable elements like <sp-action-button>, <sp-button>, or elements with tabindex.`,\n \"https://opensource.adobe.com/spectrum-web-components/components/tooltip#self-managed-overlays\",\n {\n level: \"high\"\n }\n );\n }\n return null;\n }\n let triggerElement = start.parentElement || root.host || root;\n while (!((_a = triggerElement == null ? void 0 : triggerElement.matches) == null ? void 0 : _a.call(triggerElement, focusableSelector))) {\n start = triggerElement.assignedSlot || triggerElement;\n root = start.getRootNode();\n if (root === document) {\n if (true) {\n window.__swc.warn(\n this,\n `[TRAVERSAL_EXHAUSTED] Self-managed <${this.localName}> could not find a focusable trigger element. All ancestor elements are non-focusable. Ensure the tooltip is nested inside an interactive element like <sp-action-button>, <sp-button>, or add tabindex=\"0\" to a parent element.`,\n \"https://opensource.adobe.com/spectrum-web-components/components/tooltip#self-managed-overlays\",\n {\n level: \"high\"\n }\n );\n }\n return null;\n }\n triggerElement = start.parentElement || root.host || /* c8 ignore next 1 */\n root;\n }\n return triggerElement;\n }\n render() {\n const tooltip = html`\n <sp-tooltip-openable\n id=\"tooltip\"\n placement=${ifDefined(this.placement)}\n @transitionrun=${this.forwardTransitionEvent}\n @transitionend=${this.forwardTransitionEvent}\n @transitioncancel=${this.forwardTransitionEvent}\n >\n <slot name=\"icon\"></slot>\n <span id=\"label\"><slot></slot></span>\n <span id=\"tip\" aria-hidden=\"true\"></span>\n </sp-tooltip-openable>\n `;\n if (this.selfManaged) {\n this.dependencyManager.add(\"sp-overlay\");\n import(\"@spectrum-web-components/overlay/sp-overlay.js\");\n return html`\n <sp-overlay\n ?open=${this.open && !this.disabled && this.dependencyManager.loaded}\n ?delayed=${this.delayed}\n ?disabled=${this.disabled}\n offset=${this.offset}\n .placement=${this.placement}\n type=\"hint\"\n .tipPadding=${this.tipPadding}\n .triggerInteraction=${\"hover\"}\n @sp-opened=${this.handleOpenOverlay}\n @sp-closed=${this.handleCloseOverlay}\n >\n ${tooltip}\n </sp-overlay>\n `;\n } else {\n return tooltip;\n }\n }\n connectedCallback() {\n super.connectedCallback();\n this.updateComplete.then(() => {\n if (!this.selfManaged) {\n return;\n }\n if (true) {\n window.__swc.warn(\n this,\n `The \"self-managed\" attribute on <${this.localName}> is deprecated and will be removed in a future release in favor of an updated binding method.`,\n \"https://opensource.adobe.com/spectrum-web-components/components/tooltip\",\n { level: \"deprecation\" }\n );\n }\n const overlayElement = this.overlayElement;\n if (overlayElement) {\n const triggerElement = this.triggerElement;\n overlayElement.triggerElement = triggerElement;\n }\n });\n }\n}\n__decorateClass([\n property({ type: Boolean })\n], Tooltip.prototype, \"delayed\", 2);\n__decorateClass([\n property({ type: Boolean })\n], Tooltip.prototype, \"disabled\", 2);\n__decorateClass([\n property({ type: Boolean, attribute: \"self-managed\" })\n], Tooltip.prototype, \"selfManaged\", 2);\n__decorateClass([\n property({ type: Number })\n], Tooltip.prototype, \"offset\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], Tooltip.prototype, \"open\", 2);\n__decorateClass([\n query(\"sp-overlay\")\n], Tooltip.prototype, \"overlayElement\", 2);\n__decorateClass([\n property({ reflect: true })\n], Tooltip.prototype, \"placement\", 2);\n__decorateClass([\n query(\"#tip\")\n], Tooltip.prototype, \"tipElement\", 2);\n__decorateClass([\n property({ type: Number })\n], Tooltip.prototype, \"tipPadding\", 2);\n__decorateClass([\n property({ type: String })\n], Tooltip.prototype, \"variant\", 1);\n//# sourceMappingURL=Tooltip.dev.js.map\n"
|
|
7
|
+
"\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __decorateClass = (decorators, target, key, kind) => {\n var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;\n for (var i = decorators.length - 1, decorator; i >= 0; i--)\n if (decorator = decorators[i])\n result = (kind ? decorator(target, key, result) : decorator(result)) || result;\n if (kind && result) __defProp(target, key, result);\n return result;\n};\nimport {\n html,\n SpectrumElement\n} from \"@spectrum-web-components/base\";\nimport {\n property,\n query\n} from \"@spectrum-web-components/base/src/decorators.js\";\nimport { ifDefined } from \"@spectrum-web-components/base/src/directives.js\";\nimport { DependencyManagerController } from \"@spectrum-web-components/reactive-controllers/src/DependencyManger.js\";\nimport { focusableSelector } from \"@spectrum-web-components/shared/src/focusable-selectors.js\";\nimport tooltipStyles from \"./tooltip.css.js\";\nclass TooltipOpenable extends HTMLElement {\n constructor() {\n super();\n this._open = false;\n this._placement = \"top\";\n this.addEventListener(\"sp-opened\", this.redispatchEvent);\n this.addEventListener(\"sp-closed\", this.redispatchEvent);\n }\n redispatchEvent(event) {\n event.stopPropagation();\n this.tooltip.dispatchEvent(\n new CustomEvent(event.type, {\n bubbles: event.bubbles,\n composed: event.composed,\n detail: event.detail\n })\n );\n }\n get tooltip() {\n return this.getRootNode().host;\n }\n static get observedAttributes() {\n return [\"open\", \"placement\"];\n }\n attributeChangedCallback(name, _oldValue, newValue) {\n switch (name) {\n case \"open\":\n this.open = newValue !== null;\n break;\n case \"placement\":\n this.placement = newValue;\n break;\n }\n }\n set open(open) {\n this._open = open;\n const { tooltip } = this;\n if (!tooltip) {\n return;\n }\n tooltip.open = open;\n }\n /* c8 ignore next 3 */\n get open() {\n return this._open;\n }\n /**\n * @type {\"top\" | \"top-start\" | \"top-end\" | \"right\" | \"right-start\" | \"right-end\" | \"bottom\" | \"bottom-start\" | \"bottom-end\" | \"left\" | \"left-start\" | \"left-end\"}\n * @attr\n */\n set placement(placement) {\n this._placement = placement;\n const { tooltip } = this;\n if (!tooltip) {\n return;\n }\n tooltip.placement = placement;\n }\n /* c8 ignore next 3 */\n get placement() {\n return this._placement;\n }\n get tipElement() {\n return this.tooltip.tipElement;\n }\n}\nif (!customElements.get(\"sp-tooltip-openable\")) {\n customElements.define(\"sp-tooltip-openable\", TooltipOpenable);\n}\nexport class Tooltip extends SpectrumElement {\n constructor() {\n super(...arguments);\n this.delayed = false;\n this.dependencyManager = new DependencyManagerController(this);\n this.disabled = false;\n this.selfManaged = false;\n this.offset = 0;\n this.open = false;\n this._triggerElement = null;\n /* Ensure that a '' value for `variant` removes the attribute instead of a blank value */\n this._variant = \"\";\n this.handleOpenOverlay = () => {\n this.open = true;\n };\n this.handleCloseOverlay = () => {\n this.open = false;\n };\n }\n static get styles() {\n return [tooltipStyles];\n }\n /**\n * Explicit trigger element override for self-managed tooltip usage.\n *\n * This is useful when the intended trigger is not an ancestor of the tooltip\n * in the composed tree (for example, tooltips slotted into components that\n * render their interactive trigger internally).\n */\n set triggerElement(triggerElement) {\n this._triggerElement = triggerElement;\n if (this.overlayElement) {\n this.overlayElement.triggerElement = triggerElement;\n }\n }\n get triggerElement() {\n return this._triggerElement || this.resolveSelfManagedTriggerElement();\n }\n get variant() {\n return this._variant;\n }\n set variant(variant) {\n if (variant === this.variant) {\n return;\n }\n if ([\"info\", \"positive\", \"negative\"].includes(variant)) {\n if (true) {\n if (variant === \"info\") {\n window.__swc.warn(\n this,\n `The \"info\" variant on <${this.localName}> is deprecated and will be removed in a future release. Use \"informative\" instead.`,\n \"https://opensource.adobe.com/spectrum-web-components/components/tooltip\",\n { level: \"deprecation\" }\n );\n } else if (variant === \"positive\") {\n window.__swc.warn(\n this,\n `The \"positive\" variant on <${this.localName}> is deprecated and will be removed in a future release.`,\n \"https://opensource.adobe.com/spectrum-web-components/components/tooltip\",\n { level: \"deprecation\" }\n );\n }\n }\n this.setAttribute(\"variant\", variant);\n this._variant = variant;\n return;\n }\n this.removeAttribute(\"variant\");\n this._variant = \"\";\n }\n forwardTransitionEvent(event) {\n this.dispatchEvent(\n new TransitionEvent(event.type, {\n bubbles: true,\n composed: true,\n propertyName: event.propertyName\n })\n );\n }\n /**\n * Finds the trigger element for a self-managed tooltip by traversing up the composed DOM tree.\n *\n * Self-managed tooltips automatically bind to their first focusable ancestor element.\n * This method walks up through shadow DOM boundaries to find a suitable trigger element.\n *\n * A trigger element must match the focusableSelector, which includes:\n * - Interactive elements like buttons, inputs, links, etc.\n * - Elements with tabindex (except -1)\n * - Elements with focusable=\"true\"\n *\n * Common scenarios where no trigger element is found:\n * 1. Tooltip is placed directly in document body without a focusable parent\n * 2. Tooltip is nested in non-interactive elements (divs, spans) without focusable ancestors\n * 3. All ancestor elements have tabindex=\"-1\" or are otherwise non-focusable\n *\n * Expected usage: <sp-action-button><sp-tooltip self-managed>...</sp-tooltip></sp-action-button>\n *\n * @returns The first focusable ancestor element, or null if none found\n */\n resolveSelfManagedTriggerElement() {\n var _a;\n let start = this.assignedSlot || this;\n let root = start.getRootNode();\n if (root === document) {\n if (true) {\n window.__swc.warn(\n this,\n `[INITIAL_TRAVERSAL] Self-managed <${this.localName}> is at document root without a parent element. Self-managed tooltips must be nested inside focusable elements like <sp-action-button>, <sp-button>, or elements with tabindex.`,\n \"https://opensource.adobe.com/spectrum-web-components/components/tooltip#self-managed-overlays\",\n {\n level: \"high\"\n }\n );\n }\n return null;\n }\n let triggerElement = start.parentElement || root.host || root;\n while (!((_a = triggerElement == null ? void 0 : triggerElement.matches) == null ? void 0 : _a.call(triggerElement, focusableSelector))) {\n start = triggerElement.assignedSlot || triggerElement;\n root = start.getRootNode();\n if (root === document) {\n if (true) {\n window.__swc.warn(\n this,\n `[TRAVERSAL_EXHAUSTED] Self-managed <${this.localName}> could not find a focusable trigger element. All ancestor elements are non-focusable. Ensure the tooltip is nested inside an interactive element like <sp-action-button>, <sp-button>, or add tabindex=\"0\" to a parent element.`,\n \"https://opensource.adobe.com/spectrum-web-components/components/tooltip#self-managed-overlays\",\n {\n level: \"high\"\n }\n );\n }\n return null;\n }\n triggerElement = start.parentElement || root.host || /* c8 ignore next 1 */\n root;\n }\n return triggerElement;\n }\n render() {\n const tooltip = html`\n <sp-tooltip-openable\n id=\"tooltip\"\n placement=${ifDefined(this.placement)}\n @transitionrun=${this.forwardTransitionEvent}\n @transitionend=${this.forwardTransitionEvent}\n @transitioncancel=${this.forwardTransitionEvent}\n >\n <slot name=\"icon\"></slot>\n <span id=\"label\"><slot></slot></span>\n <span id=\"tip\" aria-hidden=\"true\"></span>\n </sp-tooltip-openable>\n `;\n if (this.selfManaged) {\n this.dependencyManager.add(\"sp-overlay\");\n import(\"@spectrum-web-components/overlay/sp-overlay.js\");\n return html`\n <sp-overlay\n ?open=${this.open && !this.disabled && this.dependencyManager.loaded}\n ?delayed=${this.delayed}\n ?disabled=${this.disabled}\n offset=${this.offset}\n .placement=${this.placement}\n type=\"hint\"\n .tipPadding=${this.tipPadding}\n .triggerInteraction=${\"hover\"}\n @sp-opened=${this.handleOpenOverlay}\n @sp-closed=${this.handleCloseOverlay}\n >\n ${tooltip}\n </sp-overlay>\n `;\n } else {\n return tooltip;\n }\n }\n connectedCallback() {\n super.connectedCallback();\n this.updateComplete.then(() => {\n if (!this.selfManaged) {\n return;\n }\n if (true) {\n window.__swc.warn(\n this,\n `The \"self-managed\" attribute on <${this.localName}> is deprecated and will be removed in a future release in favor of an updated binding method.`,\n \"https://opensource.adobe.com/spectrum-web-components/components/tooltip\",\n { level: \"deprecation\" }\n );\n }\n const overlayElement = this.overlayElement;\n if (overlayElement) {\n const triggerElement = this.triggerElement;\n overlayElement.triggerElement = triggerElement;\n }\n });\n }\n}\n__decorateClass([\n property({ type: Boolean })\n], Tooltip.prototype, \"delayed\", 2);\n__decorateClass([\n property({ type: Boolean })\n], Tooltip.prototype, \"disabled\", 2);\n__decorateClass([\n property({ type: Boolean, attribute: \"self-managed\" })\n], Tooltip.prototype, \"selfManaged\", 2);\n__decorateClass([\n property({ type: Number })\n], Tooltip.prototype, \"offset\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], Tooltip.prototype, \"open\", 2);\n__decorateClass([\n query(\"sp-overlay\")\n], Tooltip.prototype, \"overlayElement\", 2);\n__decorateClass([\n property({ reflect: true })\n], Tooltip.prototype, \"placement\", 2);\n__decorateClass([\n query(\"#tip\")\n], Tooltip.prototype, \"tipElement\", 2);\n__decorateClass([\n property({ type: Number })\n], Tooltip.prototype, \"tipPadding\", 2);\n__decorateClass([\n property({ type: String })\n], Tooltip.prototype, \"variant\", 1);\n//# sourceMappingURL=Tooltip.dev.js.map\n",
|
|
8
|
+
"\"use strict\";\nimport { defineElement } from \"@spectrum-web-components/base/src/define-element.js\";\nimport { Tooltip } from \"./src/Tooltip.dev.js\";\ndefineElement(\"sp-tooltip\", Tooltip);\n//# sourceMappingURL=sp-tooltip.dev.js.map\n"
|
|
8
9
|
],
|
|
9
|
-
"mappings": "
|
|
10
|
-
"debugId": "
|
|
10
|
+
"mappings": "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",
|
|
11
|
+
"debugId": "B26C538C82CA430D64756E2164756E21",
|
|
11
12
|
"names": []
|
|
12
13
|
}
|
|
@@ -0,0 +1,411 @@
|
|
|
1
|
+
import {
|
|
2
|
+
contentMountFor
|
|
3
|
+
} from "./studio-v96qfnww.js";
|
|
4
|
+
import {
|
|
5
|
+
activeTab,
|
|
6
|
+
errorMessage,
|
|
7
|
+
notify
|
|
8
|
+
} from "./studio-41exgzhq.js";
|
|
9
|
+
import {
|
|
10
|
+
getNodeAtPath,
|
|
11
|
+
isJsonObject,
|
|
12
|
+
paramNames,
|
|
13
|
+
projectState
|
|
14
|
+
} from "./studio-cjm7fdjf.js";
|
|
15
|
+
import {
|
|
16
|
+
loadedMonaco
|
|
17
|
+
} from "./studio-adn0z1k3.js";
|
|
18
|
+
import {
|
|
19
|
+
getPlatform,
|
|
20
|
+
hasPlatform
|
|
21
|
+
} from "./studio-sas7mt3k.js";
|
|
22
|
+
|
|
23
|
+
// src/services/references.ts
|
|
24
|
+
function usagesSupported() {
|
|
25
|
+
return hasPlatform() && typeof getPlatform().findReferences === "function";
|
|
26
|
+
}
|
|
27
|
+
function keyOf(query) {
|
|
28
|
+
return `${query.path ?? ""}\x00${query.tagName ?? ""}`;
|
|
29
|
+
}
|
|
30
|
+
var settled = new Map;
|
|
31
|
+
var inFlight = new Map;
|
|
32
|
+
function peekUsages(query) {
|
|
33
|
+
if (!usagesSupported()) {
|
|
34
|
+
return { status: "unsupported" };
|
|
35
|
+
}
|
|
36
|
+
return settled.get(keyOf(query)) ?? (inFlight.has(keyOf(query)) ? { status: "pending" } : null);
|
|
37
|
+
}
|
|
38
|
+
async function loadUsages(query) {
|
|
39
|
+
if (!usagesSupported()) {
|
|
40
|
+
return { status: "unsupported" };
|
|
41
|
+
}
|
|
42
|
+
if (!query.path && !query.tagName) {
|
|
43
|
+
return { status: "failed", message: "no target to look for" };
|
|
44
|
+
}
|
|
45
|
+
const key = keyOf(query);
|
|
46
|
+
const done = settled.get(key);
|
|
47
|
+
if (done) {
|
|
48
|
+
return done;
|
|
49
|
+
}
|
|
50
|
+
const running = inFlight.get(key);
|
|
51
|
+
if (running) {
|
|
52
|
+
return running;
|
|
53
|
+
}
|
|
54
|
+
const pending = (async () => {
|
|
55
|
+
try {
|
|
56
|
+
const result = await getPlatform().findReferences({
|
|
57
|
+
...query.path === undefined ? {} : { path: query.path },
|
|
58
|
+
...query.tagName === undefined ? {} : { tagName: query.tagName }
|
|
59
|
+
});
|
|
60
|
+
return { result, status: "ready" };
|
|
61
|
+
} catch (error) {
|
|
62
|
+
return { message: errorMessage(error), status: "failed" };
|
|
63
|
+
} finally {
|
|
64
|
+
inFlight.delete(key);
|
|
65
|
+
}
|
|
66
|
+
})();
|
|
67
|
+
inFlight.set(key, pending);
|
|
68
|
+
const state = await pending;
|
|
69
|
+
settled.set(key, state);
|
|
70
|
+
return state;
|
|
71
|
+
}
|
|
72
|
+
function retryUsages(query) {
|
|
73
|
+
settled.delete(keyOf(query));
|
|
74
|
+
return loadUsages(query);
|
|
75
|
+
}
|
|
76
|
+
function invalidateUsages() {
|
|
77
|
+
settled.clear();
|
|
78
|
+
}
|
|
79
|
+
function splitUsages(result) {
|
|
80
|
+
let pages = 0;
|
|
81
|
+
for (const file of result.files) {
|
|
82
|
+
if (file.path.startsWith("pages/")) {
|
|
83
|
+
pages += 1;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return { others: result.files.length - pages, pages };
|
|
87
|
+
}
|
|
88
|
+
function usageHeadline(result) {
|
|
89
|
+
const { others, pages } = splitUsages(result);
|
|
90
|
+
if (pages === 0 && others === 0) {
|
|
91
|
+
return "Not used yet";
|
|
92
|
+
}
|
|
93
|
+
const parts = [];
|
|
94
|
+
if (pages > 0) {
|
|
95
|
+
parts.push(`${pages} page${pages === 1 ? "" : "s"}`);
|
|
96
|
+
}
|
|
97
|
+
if (others > 0) {
|
|
98
|
+
parts.push(`${others} other file${others === 1 ? "" : "s"}`);
|
|
99
|
+
}
|
|
100
|
+
return `Used on ${parts.join(" and ")}`;
|
|
101
|
+
}
|
|
102
|
+
function usageWarning(state, verb) {
|
|
103
|
+
if (state.status === "unsupported") {
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
if (state.status === "pending") {
|
|
107
|
+
return "Counting references…";
|
|
108
|
+
}
|
|
109
|
+
if (state.status === "failed") {
|
|
110
|
+
return `References could not be counted (${state.message}) — this may break more than it appears to.`;
|
|
111
|
+
}
|
|
112
|
+
const { files, refsTotal } = state.result;
|
|
113
|
+
if (files.length === 0) {
|
|
114
|
+
return verb === "delete" ? "Nothing else in this project refers to it." : "Nothing else in this project refers to it, so nothing needs updating.";
|
|
115
|
+
}
|
|
116
|
+
const where = `${refsTotal} reference${refsTotal === 1 ? "" : "s"} in ${files.length} file${files.length === 1 ? "" : "s"}`;
|
|
117
|
+
const floor = state.result.errors.length > 0 ? " (at least — some documents could not be read)" : "";
|
|
118
|
+
return verb === "delete" ? `${where}${floor} will break. Those files stay on disk; the references in them stop resolving.` : `${where}${floor} will be updated automatically. Nothing else changes.`;
|
|
119
|
+
}
|
|
120
|
+
function usageFiles(result) {
|
|
121
|
+
return result.files.toSorted((a, b) => b.count - a.count || a.path.localeCompare(b.path));
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// src/files/media-upload.ts
|
|
125
|
+
var IMAGE_EXTENSIONS = new Set([
|
|
126
|
+
".jpg",
|
|
127
|
+
".jpeg",
|
|
128
|
+
".png",
|
|
129
|
+
".gif",
|
|
130
|
+
".svg",
|
|
131
|
+
".webp",
|
|
132
|
+
".avif",
|
|
133
|
+
".ico"
|
|
134
|
+
]);
|
|
135
|
+
var MEDIA_EXTENSIONS = new Set([
|
|
136
|
+
...IMAGE_EXTENSIONS,
|
|
137
|
+
".mp4",
|
|
138
|
+
".webm",
|
|
139
|
+
".mp3",
|
|
140
|
+
".wav",
|
|
141
|
+
".ogg",
|
|
142
|
+
".pdf",
|
|
143
|
+
".woff",
|
|
144
|
+
".woff2",
|
|
145
|
+
".ttf",
|
|
146
|
+
".otf"
|
|
147
|
+
]);
|
|
148
|
+
var UPLOAD_ACCEPT = [
|
|
149
|
+
"image/*",
|
|
150
|
+
"video/*",
|
|
151
|
+
"audio/*",
|
|
152
|
+
".pdf",
|
|
153
|
+
".svg",
|
|
154
|
+
".woff",
|
|
155
|
+
".woff2",
|
|
156
|
+
".ttf",
|
|
157
|
+
".otf"
|
|
158
|
+
].join(",");
|
|
159
|
+
function extensionOf(name) {
|
|
160
|
+
const dot = name.lastIndexOf(".");
|
|
161
|
+
return dot > 0 ? name.slice(dot).toLowerCase() : "";
|
|
162
|
+
}
|
|
163
|
+
function isImage(ext) {
|
|
164
|
+
return IMAGE_EXTENSIONS.has(ext.startsWith(".") ? ext.toLowerCase() : `.${ext.toLowerCase()}`);
|
|
165
|
+
}
|
|
166
|
+
function isMediaFile(name) {
|
|
167
|
+
return MEDIA_EXTENSIONS.has(extensionOf(name));
|
|
168
|
+
}
|
|
169
|
+
var VIDEO_EXTENSIONS = new Set([".mp4", ".webm", ".mov", ".m4v"]);
|
|
170
|
+
var AUDIO_EXTENSIONS = new Set([".mp3", ".wav", ".ogg", ".m4a", ".flac"]);
|
|
171
|
+
function mediaKind(file) {
|
|
172
|
+
const mime = file.type ?? "";
|
|
173
|
+
if (mime.startsWith("image/")) {
|
|
174
|
+
return "image";
|
|
175
|
+
}
|
|
176
|
+
if (mime.startsWith("video/")) {
|
|
177
|
+
return "video";
|
|
178
|
+
}
|
|
179
|
+
if (mime.startsWith("audio/")) {
|
|
180
|
+
return "audio";
|
|
181
|
+
}
|
|
182
|
+
const ext = extensionOf(file.name);
|
|
183
|
+
if (IMAGE_EXTENSIONS.has(ext)) {
|
|
184
|
+
return "image";
|
|
185
|
+
}
|
|
186
|
+
if (VIDEO_EXTENSIONS.has(ext)) {
|
|
187
|
+
return "video";
|
|
188
|
+
}
|
|
189
|
+
if (AUDIO_EXTENSIONS.has(ext)) {
|
|
190
|
+
return "audio";
|
|
191
|
+
}
|
|
192
|
+
return "file";
|
|
193
|
+
}
|
|
194
|
+
var CONTENT_ENTRY = /^content\/([^/]+)\//;
|
|
195
|
+
function uploadDirFor(documentPath) {
|
|
196
|
+
const match = documentPath ? CONTENT_ENTRY.exec(documentPath.replaceAll("\\", "/")) : null;
|
|
197
|
+
return match ? `content/${match[1]}/images` : "public";
|
|
198
|
+
}
|
|
199
|
+
function assetRef(destPath) {
|
|
200
|
+
const path = destPath.replaceAll("\\", "/");
|
|
201
|
+
if (path.startsWith("public/")) {
|
|
202
|
+
return path.slice("public".length);
|
|
203
|
+
}
|
|
204
|
+
const content = /^content\/[^/]+\/(.+)$/.exec(path);
|
|
205
|
+
if (content) {
|
|
206
|
+
return `./${content[1]}`;
|
|
207
|
+
}
|
|
208
|
+
return `./${path}`;
|
|
209
|
+
}
|
|
210
|
+
function uniqueName(name, taken) {
|
|
211
|
+
if (!taken.has(name)) {
|
|
212
|
+
return name;
|
|
213
|
+
}
|
|
214
|
+
const ext = extensionOf(name);
|
|
215
|
+
const base = ext ? name.slice(0, -ext.length) : name;
|
|
216
|
+
for (let i = 1;; i++) {
|
|
217
|
+
const candidate = `${base}-${i}${ext}`;
|
|
218
|
+
if (!taken.has(candidate)) {
|
|
219
|
+
return candidate;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
function joinDir(dir, name) {
|
|
224
|
+
const normalized = dir.replaceAll("\\", "/").replace(/\/+$/, "");
|
|
225
|
+
return normalized === "." || normalized === "" ? name : `${normalized}/${name}`;
|
|
226
|
+
}
|
|
227
|
+
var mediaChangedHandler = null;
|
|
228
|
+
function setMediaChangedHandler(fn) {
|
|
229
|
+
mediaChangedHandler = fn;
|
|
230
|
+
}
|
|
231
|
+
async function uploadAssets(files, opts = {}) {
|
|
232
|
+
const list = [...files];
|
|
233
|
+
if (list.length === 0) {
|
|
234
|
+
return [];
|
|
235
|
+
}
|
|
236
|
+
const platform = getPlatform();
|
|
237
|
+
const dir = opts.dir ?? uploadDirFor(activeTab.value?.documentPath ?? null);
|
|
238
|
+
let taken;
|
|
239
|
+
try {
|
|
240
|
+
const existing = await platform.listDirectory(dir);
|
|
241
|
+
taken = new Set(existing.map((entry) => entry.name));
|
|
242
|
+
} catch {
|
|
243
|
+
taken = new Set;
|
|
244
|
+
}
|
|
245
|
+
const uploaded = [];
|
|
246
|
+
for (const file of list) {
|
|
247
|
+
const name = uniqueName(file.name, taken);
|
|
248
|
+
taken.add(name);
|
|
249
|
+
const path = joinDir(dir, name);
|
|
250
|
+
try {
|
|
251
|
+
await platform.uploadFile(path, file);
|
|
252
|
+
uploaded.push({ kind: mediaKind(file), name, path, ref: assetRef(path) });
|
|
253
|
+
} catch (error) {
|
|
254
|
+
notify.error(`Could not upload ${file.name}.`, {
|
|
255
|
+
detail: errorMessage(error),
|
|
256
|
+
path,
|
|
257
|
+
source: "Media"
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
if (uploaded.length > 0) {
|
|
262
|
+
notify.success(uploaded.length === 1 ? `Uploaded ${uploaded[0].name} to ${dir}/` : `Uploaded ${uploaded.length} files to ${dir}/`);
|
|
263
|
+
await mediaChangedHandler?.(dir);
|
|
264
|
+
}
|
|
265
|
+
return uploaded;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
// src/services/code-services.ts
|
|
269
|
+
async function codeService(action, payload) {
|
|
270
|
+
const platform = getPlatform();
|
|
271
|
+
if (!platform.codeService) {
|
|
272
|
+
return null;
|
|
273
|
+
}
|
|
274
|
+
return platform.codeService(action, payload);
|
|
275
|
+
}
|
|
276
|
+
var pluginSchemaCache = new Map;
|
|
277
|
+
async function fetchPluginSchema(def, state) {
|
|
278
|
+
const importedPath = def.$prototype ? projectState?.projectConfig?.imports?.[def.$prototype] : null;
|
|
279
|
+
const src = def.$src || importedPath;
|
|
280
|
+
if (!src || !def.$prototype) {
|
|
281
|
+
return null;
|
|
282
|
+
}
|
|
283
|
+
const cacheKey = `${src}::${def.$prototype}`;
|
|
284
|
+
if (pluginSchemaCache.has(cacheKey)) {
|
|
285
|
+
return pluginSchemaCache.get(cacheKey);
|
|
286
|
+
}
|
|
287
|
+
try {
|
|
288
|
+
const platform = getPlatform();
|
|
289
|
+
if (!platform.fetchPluginSchema) {
|
|
290
|
+
pluginSchemaCache.set(cacheKey, null);
|
|
291
|
+
return null;
|
|
292
|
+
}
|
|
293
|
+
const base = !importedPath && state.documentPath ? `${location.origin}/${state.documentPath}` : undefined;
|
|
294
|
+
const schema = await platform.fetchPluginSchema(src, def.$prototype, base);
|
|
295
|
+
pluginSchemaCache.set(cacheKey, schema);
|
|
296
|
+
return schema;
|
|
297
|
+
} catch {
|
|
298
|
+
pluginSchemaCache.set(cacheKey, null);
|
|
299
|
+
return null;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
function setLintMarkers(editor, diagnostics) {
|
|
303
|
+
const model = editor.getModel();
|
|
304
|
+
if (!model) {
|
|
305
|
+
return;
|
|
306
|
+
}
|
|
307
|
+
const monaco = loadedMonaco();
|
|
308
|
+
if (!monaco) {
|
|
309
|
+
return;
|
|
310
|
+
}
|
|
311
|
+
const markers = diagnostics.map((d) => {
|
|
312
|
+
const label = d.labels?.[0];
|
|
313
|
+
if (!label) {
|
|
314
|
+
return null;
|
|
315
|
+
}
|
|
316
|
+
const { line, column, length } = label.span;
|
|
317
|
+
return {
|
|
318
|
+
code: d.url ? { target: monaco.Uri.parse(d.url), value: d.code } : d.code,
|
|
319
|
+
endColumn: column + (length || 1),
|
|
320
|
+
endLineNumber: line,
|
|
321
|
+
message: d.message + (d.help ? `
|
|
322
|
+
${d.help}` : ""),
|
|
323
|
+
severity: d.severity === "error" ? monaco.MarkerSeverity.Error : monaco.MarkerSeverity.Warning,
|
|
324
|
+
source: "oxlint",
|
|
325
|
+
startColumn: column,
|
|
326
|
+
startLineNumber: line
|
|
327
|
+
};
|
|
328
|
+
}).filter(Boolean);
|
|
329
|
+
monaco.editor.setModelMarkers(model, "oxlint", markers);
|
|
330
|
+
}
|
|
331
|
+
function getFunctionArgs(editing, document) {
|
|
332
|
+
const fromDef = (def) => {
|
|
333
|
+
if (!isJsonObject(def)) {
|
|
334
|
+
return null;
|
|
335
|
+
}
|
|
336
|
+
const params = def.parameters;
|
|
337
|
+
if (!Array.isArray(params) || params.length === 0) {
|
|
338
|
+
return null;
|
|
339
|
+
}
|
|
340
|
+
return paramNames(params);
|
|
341
|
+
};
|
|
342
|
+
if (editing.type === "def") {
|
|
343
|
+
const args = editing.defName ? fromDef(document?.state?.[editing.defName]) : null;
|
|
344
|
+
if (args) {
|
|
345
|
+
return args;
|
|
346
|
+
}
|
|
347
|
+
} else if (editing.type === "event") {
|
|
348
|
+
if (!document || !editing.path) {
|
|
349
|
+
return ["state", "event"];
|
|
350
|
+
}
|
|
351
|
+
const node = getNodeAtPath(document, editing.path);
|
|
352
|
+
const args = node && editing.eventKey ? fromDef(node[editing.eventKey]) : null;
|
|
353
|
+
if (args) {
|
|
354
|
+
return args;
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
return ["state", "event"];
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
// src/files/media-paths.ts
|
|
361
|
+
var PUBLIC_DIR = "public";
|
|
362
|
+
function normalizeProjectPath(path) {
|
|
363
|
+
return path.replaceAll("\\", "/").replace(/^\.\//, "").replace(/^\/+/, "").replace(/\/+$/, "");
|
|
364
|
+
}
|
|
365
|
+
function baseName(path) {
|
|
366
|
+
const normalized = normalizeProjectPath(path);
|
|
367
|
+
const slash = normalized.lastIndexOf("/");
|
|
368
|
+
return slash === -1 ? normalized : normalized.slice(slash + 1);
|
|
369
|
+
}
|
|
370
|
+
function contentSections() {
|
|
371
|
+
const content = projectState?.projectConfig?.content;
|
|
372
|
+
return content ?? null;
|
|
373
|
+
}
|
|
374
|
+
function mountOf(path) {
|
|
375
|
+
return contentMountFor(path, contentSections());
|
|
376
|
+
}
|
|
377
|
+
function mountedPath(path, mount) {
|
|
378
|
+
const prefix = normalizeProjectPath(mount.urlPrefix);
|
|
379
|
+
return `${prefix}/${path.slice(mount.dir.length + 1)}`;
|
|
380
|
+
}
|
|
381
|
+
function mediaSiteUrl(path) {
|
|
382
|
+
const normalized = normalizeProjectPath(path);
|
|
383
|
+
if (normalized.startsWith(`${PUBLIC_DIR}/`)) {
|
|
384
|
+
return `/${normalized.slice(PUBLIC_DIR.length + 1)}`;
|
|
385
|
+
}
|
|
386
|
+
const mount = mountOf(normalized);
|
|
387
|
+
return mount ? `/${mountedPath(normalized, mount)}` : `/${normalized}`;
|
|
388
|
+
}
|
|
389
|
+
function authoredRefTargets(path) {
|
|
390
|
+
const normalized = normalizeProjectPath(path);
|
|
391
|
+
if (normalized === "") {
|
|
392
|
+
return [];
|
|
393
|
+
}
|
|
394
|
+
const targets = [normalized];
|
|
395
|
+
if (normalized.startsWith(`${PUBLIC_DIR}/`)) {
|
|
396
|
+
targets.push(normalized.slice(PUBLIC_DIR.length + 1));
|
|
397
|
+
}
|
|
398
|
+
const mount = mountOf(normalized);
|
|
399
|
+
if (mount) {
|
|
400
|
+
const mounted = mountedPath(normalized, mount);
|
|
401
|
+
if (!targets.includes(mounted)) {
|
|
402
|
+
targets.push(mounted);
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
return targets;
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
export { usagesSupported, peekUsages, loadUsages, retryUsages, invalidateUsages, usageHeadline, usageWarning, usageFiles, IMAGE_EXTENSIONS, MEDIA_EXTENSIONS, UPLOAD_ACCEPT, extensionOf, isImage, isMediaFile, mediaKind, setMediaChangedHandler, uploadAssets, normalizeProjectPath, baseName, mediaSiteUrl, authoredRefTargets, codeService, pluginSchemaCache, fetchPluginSchema, setLintMarkers, getFunctionArgs };
|
|
409
|
+
|
|
410
|
+
//# debugId=058163B6A8C10B5864756E2164756E21
|
|
411
|
+
//# sourceMappingURL=studio-f12h6177.js.map
|