@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
|
@@ -4,6 +4,7 @@ import type { JxMutableNode } from "@jxsuite/schema/types";
|
|
|
4
4
|
|
|
5
5
|
import { getNodeAtPath } from "../store";
|
|
6
6
|
import { activeTab } from "../workspace/workspace";
|
|
7
|
+
import { primarySelection } from "../tabs/selection";
|
|
7
8
|
import cssMeta from "../../data/css-meta.json";
|
|
8
9
|
|
|
9
10
|
let cssInitialMap = new Map<string, string>();
|
|
@@ -236,9 +237,8 @@ export const TYPO_PREVIEW_PROPS = new Set([
|
|
|
236
237
|
/** Resolve the current font family for typography preview (handles var() references) */
|
|
237
238
|
export function currentFontFamily() {
|
|
238
239
|
const tab = activeTab.value;
|
|
239
|
-
const
|
|
240
|
-
|
|
241
|
-
: null;
|
|
240
|
+
const selected = primarySelection(tab?.session.selection);
|
|
241
|
+
const node = selected ? getNodeAtPath(tab!.doc.document, selected) : null;
|
|
242
242
|
const raw = node?.style?.fontFamily;
|
|
243
243
|
if (!raw) {
|
|
244
244
|
return "";
|
|
@@ -100,7 +100,8 @@ export function transposeStylebookStyle(effectiveStyle: JxStyle): JxStyle {
|
|
|
100
100
|
if (k === "@--") {
|
|
101
101
|
continue; // Base canvas width marker, not a real query.
|
|
102
102
|
}
|
|
103
|
-
|
|
103
|
+
mediaOut[k] ??= {};
|
|
104
|
+
const bucket = mediaOut[k];
|
|
104
105
|
const sel = `${SPECIMEN_SCOPE} ${tagPath}`;
|
|
105
106
|
bucket[sel] = mergeRules(
|
|
106
107
|
bucket[sel] as Record<string, unknown> | undefined,
|
|
@@ -127,7 +128,8 @@ export function transposeStylebookStyle(effectiveStyle: JxStyle): JxStyle {
|
|
|
127
128
|
continue;
|
|
128
129
|
}
|
|
129
130
|
// Media block: re-key tag rules inside; non-tag keys (scalars/pseudo) apply to the root.
|
|
130
|
-
|
|
131
|
+
mediaOut[k] ??= {};
|
|
132
|
+
const bucket = mediaOut[k];
|
|
131
133
|
for (const [mk, mv] of Object.entries(v)) {
|
|
132
134
|
if (isPlainObject(mv) && isTagPath(mk)) {
|
|
133
135
|
const sel = `${SPECIMEN_SCOPE} ${mk}`;
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { html, nothing } from "lit-html";
|
|
5
5
|
import { classMap } from "lit-html/directives/class-map.js";
|
|
6
6
|
import { activeTab } from "../workspace/workspace";
|
|
7
|
+
import { shell } from "../shell";
|
|
7
8
|
import { componentRegistry } from "../files/components";
|
|
8
9
|
|
|
9
10
|
import type { StylebookEntry } from "./stylebook-panel";
|
|
@@ -37,10 +38,10 @@ export function renderStylebookLayersTemplate(ctx: {
|
|
|
37
38
|
}) {
|
|
38
39
|
const tab = activeTab.value;
|
|
39
40
|
const rootStyle = tab?.doc.document?.style || {};
|
|
40
|
-
const selectedTag =
|
|
41
|
+
const selectedTag = shell.stylebook.selection;
|
|
41
42
|
const selectedLeaf = selectedTag?.includes(" ") ? selectedTag.split(" ").pop() : selectedTag;
|
|
42
43
|
|
|
43
|
-
if (
|
|
44
|
+
if (shell.stylebook.tab === "elements") {
|
|
44
45
|
/**
|
|
45
46
|
* @param {StylebookEntry} entry
|
|
46
47
|
* @param {number} depth
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
/// <reference lib="dom" />
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
3
|
+
* The **Project Styles** canvas — the element catalogue with its per-file style defaults, rendered
|
|
4
|
+
* through the IFRAME canvas pipeline: a specimen document is generated parent-side
|
|
5
5
|
* ({@link file://./stylebook-doc.ts}) and mounted per breakpoint panel via `mountStylebookCanvas`,
|
|
6
6
|
* so each panel is a real width-sized viewport and `@media` blocks evaluate for real (no JS
|
|
7
7
|
* flatten). Hits decode to tags in the host and route back here through the injected stylebook-hit
|
|
8
8
|
* handler (`setStylebookHitHandler` in studio.ts).
|
|
9
|
+
*
|
|
10
|
+
* Every identifier here still says `stylebook`, and that is deliberate: `"stylebook"` is the
|
|
11
|
+
* `CANVAS_MODES` wire value this module mounts against, shared with `dist/iframe-entry.js`. The
|
|
12
|
+
* user-facing name is {@link PROJECT_STYLES_TITLE} and nothing a reader sees may be spelled from
|
|
13
|
+
* the wire value — see {@link file://../style/project-styles.ts}.
|
|
9
14
|
*/
|
|
10
15
|
|
|
11
16
|
import { html, render as litRender } from "lit-html";
|
|
@@ -13,14 +18,17 @@ import { ref } from "lit-html/directives/ref.js";
|
|
|
13
18
|
import { classMap } from "lit-html/directives/class-map.js";
|
|
14
19
|
import { live } from "lit-html/directives/live.js";
|
|
15
20
|
|
|
16
|
-
import {
|
|
21
|
+
import { projectState, updateSession } from "../store";
|
|
22
|
+
import type { CanvasSurface } from "../canvas/canvas-surface";
|
|
23
|
+
import { tabOfPane } from "../canvas/canvas-surface";
|
|
17
24
|
import { activeTab } from "../workspace/workspace";
|
|
18
|
-
import {
|
|
25
|
+
import { shell } from "../shell";
|
|
19
26
|
import { componentRegistry } from "../files/components";
|
|
20
27
|
import { getEffectiveMedia, getEffectiveStyle } from "../site-context";
|
|
21
28
|
import { parseMediaEntries } from "../utils/canvas-media";
|
|
22
29
|
import { mediaDisplayName } from "./shared";
|
|
23
30
|
import { buildStylebookDoc } from "./stylebook-doc";
|
|
31
|
+
import { PROJECT_STYLES_TITLE } from "../style/project-styles";
|
|
24
32
|
import { mountStylebookCanvas, panToStylebookTag } from "../canvas/iframe-host";
|
|
25
33
|
import stylebookMeta from "../../data/stylebook-meta.json";
|
|
26
34
|
import type { TemplateResult } from "lit-html";
|
|
@@ -41,9 +49,9 @@ interface StylebookCtx {
|
|
|
41
49
|
fullWidth: boolean,
|
|
42
50
|
width?: number | null,
|
|
43
51
|
) => { tpl: TemplateResult; panel: CanvasPanel };
|
|
44
|
-
applyTransform: () => void;
|
|
45
|
-
observeCenterUntilStable: () => void;
|
|
46
|
-
updateActivePanelHeaders: () => void;
|
|
52
|
+
applyTransform: (surface: CanvasSurface) => void;
|
|
53
|
+
observeCenterUntilStable: (surface: CanvasSurface) => void;
|
|
54
|
+
updateActivePanelHeaders: (surface: CanvasSurface) => void;
|
|
47
55
|
}
|
|
48
56
|
|
|
49
57
|
export { default as stylebookMeta } from "../../data/stylebook-meta.json";
|
|
@@ -54,21 +62,27 @@ export { default as stylebookMeta } from "../../data/stylebook-meta.json";
|
|
|
54
62
|
*
|
|
55
63
|
* @param {StylebookCtx} ctx
|
|
56
64
|
*/
|
|
57
|
-
export function renderStylebookMode(ctx: StylebookCtx) {
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
65
|
+
export function renderStylebookMode(surface: CanvasSurface, ctx: StylebookCtx) {
|
|
66
|
+
const canvasWrap = surface.wrap;
|
|
67
|
+
/* THIS stage's tab. It was `activeTab.value` — the focused pane's — so a Stylebook drawn in the
|
|
68
|
+
unfocused pane took its `$media` breakpoints from whatever document the keyboard was in, and
|
|
69
|
+
rebuilt its specimen columns at the other document's widths. Found by the fourth rule in
|
|
70
|
+
`scripts/check-pane-singletons.ts`, which is the whole reason that rule is per-FUNCTION: this
|
|
71
|
+
module is not a singleton and its other focus read is legitimate. */
|
|
72
|
+
const tab = tabOfPane(surface.paneId);
|
|
73
|
+
const filter = shell.stylebook.filter.toLowerCase();
|
|
74
|
+
const { customizedOnly } = shell.stylebook;
|
|
61
75
|
|
|
62
76
|
const effectiveMedia = getEffectiveMedia(tab?.doc.document?.$media);
|
|
63
77
|
const { sizeBreakpoints, baseWidth } = parseMediaEntries(effectiveMedia);
|
|
64
78
|
const hasMedia = sizeBreakpoints.length > 0;
|
|
65
79
|
|
|
66
80
|
const onFilterInput = (e: Event) => {
|
|
67
|
-
|
|
81
|
+
shell.stylebook.filter = (e.target as HTMLInputElement).value;
|
|
68
82
|
};
|
|
69
83
|
|
|
70
84
|
const onCustomizedToggle = () => {
|
|
71
|
-
|
|
85
|
+
shell.stylebook.customizedOnly = !shell.stylebook.customizedOnly;
|
|
72
86
|
};
|
|
73
87
|
|
|
74
88
|
const chromeBarTpl = html`
|
|
@@ -76,19 +90,26 @@ export function renderStylebookMode(ctx: StylebookCtx) {
|
|
|
76
90
|
class="sb-chrome"
|
|
77
91
|
style="position:absolute;top:0;left:0;right:0;z-index:15;background:var(--bg-panel);border-bottom:1px solid var(--border)"
|
|
78
92
|
>
|
|
79
|
-
<div
|
|
93
|
+
<div
|
|
94
|
+
style="display:flex;align-items:center;padding:4px 8px;gap:4px"
|
|
95
|
+
role="toolbar"
|
|
96
|
+
aria-label=${PROJECT_STYLES_TITLE}
|
|
97
|
+
>
|
|
80
98
|
<input
|
|
81
99
|
class="field-input"
|
|
82
100
|
style="flex:1;max-width:200px"
|
|
83
101
|
placeholder="Filter…"
|
|
84
|
-
|
|
102
|
+
aria-label="Filter the ${PROJECT_STYLES_TITLE} catalogue"
|
|
103
|
+
.value=${live(shell.stylebook.filter)}
|
|
85
104
|
@input=${onFilterInput}
|
|
86
105
|
/>
|
|
87
106
|
<button
|
|
88
107
|
class=${classMap({
|
|
89
|
-
active:
|
|
108
|
+
active: shell.stylebook.customizedOnly,
|
|
90
109
|
"tb-toggle": true,
|
|
91
110
|
})}
|
|
111
|
+
aria-pressed=${String(shell.stylebook.customizedOnly)}
|
|
112
|
+
title="Show only the elements this file has already styled"
|
|
92
113
|
@click=${onCustomizedToggle}
|
|
93
114
|
>
|
|
94
115
|
Customized
|
|
@@ -144,7 +165,7 @@ export function renderStylebookMode(ctx: StylebookCtx) {
|
|
|
144
165
|
style="transform-origin:0 0;padding-top:40px"
|
|
145
166
|
${ref((el) => {
|
|
146
167
|
if (el) {
|
|
147
|
-
|
|
168
|
+
surface.panzoomWrap = el as HTMLDivElement;
|
|
148
169
|
}
|
|
149
170
|
})}
|
|
150
171
|
>
|
|
@@ -166,39 +187,43 @@ export function renderStylebookMode(ctx: StylebookCtx) {
|
|
|
166
187
|
projectRoot: projectState?.projectRoot ?? null,
|
|
167
188
|
});
|
|
168
189
|
|
|
190
|
+
const { panels } = surface;
|
|
169
191
|
for (const { panel } of panelEntries) {
|
|
170
|
-
|
|
192
|
+
panels.push(panel);
|
|
171
193
|
mountStylebookCanvas(
|
|
172
|
-
|
|
194
|
+
surface.renderGeneration,
|
|
173
195
|
generated,
|
|
174
196
|
panel.canvas as HTMLElement,
|
|
175
197
|
panel._width,
|
|
176
198
|
);
|
|
177
199
|
}
|
|
178
200
|
if (hasMedia) {
|
|
179
|
-
ctx.updateActivePanelHeaders();
|
|
201
|
+
ctx.updateActivePanelHeaders(surface);
|
|
180
202
|
}
|
|
181
203
|
|
|
182
|
-
ctx.applyTransform();
|
|
183
|
-
ctx.observeCenterUntilStable();
|
|
204
|
+
ctx.applyTransform(surface);
|
|
205
|
+
ctx.observeCenterUntilStable(surface);
|
|
184
206
|
}
|
|
185
207
|
|
|
186
208
|
/**
|
|
187
209
|
* Select a tag in the stylebook — shared by the canvas hit handler (via studio's
|
|
188
210
|
* setStylebookHitHandler wiring), the stylebook layers panel, and the style panel. The host's
|
|
189
|
-
* selection watcher tracks `
|
|
211
|
+
* selection watcher tracks `shell.stylebook.selection` and measures the selected tag's card, so no
|
|
190
212
|
* direct overlay drawing happens here.
|
|
191
213
|
*
|
|
192
214
|
* @param {string} tag
|
|
193
215
|
* @param {string | null} [media]
|
|
194
216
|
*/
|
|
195
217
|
export function selectStylebookTag(tag: string, media?: string | null, { panCanvas = false } = {}) {
|
|
196
|
-
|
|
197
|
-
|
|
218
|
+
shell.stylebook.selection = tag;
|
|
219
|
+
updateSession(activeTab.value, {
|
|
220
|
+
// The ROOT path, not an empty selection: stylebook mode has always parked the selection on the
|
|
221
|
+
// Document element while the Style tab edits a TAG, and widening the field to a list changed
|
|
222
|
+
// Which literal spells that — `[[]]` is one selected path, the root — not what it means.
|
|
223
|
+
selection: [[]],
|
|
198
224
|
ui: {
|
|
199
225
|
activeSelector: tag,
|
|
200
226
|
rightTab: "style",
|
|
201
|
-
stylebookSelection: tag,
|
|
202
227
|
...(media !== undefined ? { activeMedia: media } : {}),
|
|
203
228
|
},
|
|
204
229
|
});
|