@jxsuite/studio 4.1.0 → 5.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/README.md +1 -1
- package/data/elements-meta.json +5 -15
- package/data/html-meta.json +51 -6
- package/dist/chunks/{2020-n6tfwnda.js → 2020-g79n01v9.js} +14 -14
- package/dist/chunks/action-group-sp6tna8v.js +118 -0
- package/dist/chunks/adapter-nj7tnjfn.js +13 -0
- package/dist/chunks/cf-account-picker-qwkm9zrf.js +495 -0
- package/dist/chunks/cf-settings-71bv5zn9.js +20 -0
- package/dist/chunks/color-area-v17df7b8.js +154 -0
- package/dist/chunks/color-field-anwybnkn.js +208 -0
- package/dist/chunks/color-slider-44ez96fc.js +79 -0
- package/dist/chunks/color-xgg3kfw7.js +35 -0
- package/dist/chunks/combobox-5e7jev23.js +236 -0
- package/dist/chunks/components-vj72gqtq.js +20 -0
- package/dist/chunks/content-source-5mex4x1h.js +46 -0
- package/dist/chunks/convert-to-repeater-n64h8znc.js +639 -0
- package/dist/chunks/dialog-s890b918.js +85 -0
- package/dist/chunks/editor-3qhbg51x.js +35 -0
- package/dist/chunks/entry-commands-234hjnqw.js +42 -0
- package/dist/chunks/extension-sections-3hpcambp.js +651 -0
- package/dist/chunks/file-ops-8yhd83xr.js +47 -0
- package/dist/chunks/files-hnxqxtsg.js +72 -0
- package/dist/chunks/format-host-779sfp2n.js +40 -0
- package/dist/chunks/fs-events-b88z7g4h.js +18 -0
- package/dist/chunks/git-panel-xwj8fpab.js +49 -0
- package/dist/chunks/icons-yy10wk9r.js +402 -0
- package/dist/chunks/iframe-entry-15g3n6xv.js +114 -0
- package/dist/chunks/iframe-entry-b27vq81n.js +203 -0
- package/dist/chunks/iframe-entry-nbyxee1y.js +154 -0
- package/dist/chunks/iframe-host-syr0f9sb.js +115 -0
- package/dist/chunks/{index-wcnt3r9g.js → index-mdmyx6s2.js} +11 -11
- package/dist/chunks/index-n4j7qxyr.js +109 -0
- package/dist/chunks/{javascript-q8kpmfah.js → javascript-xvrfrpkb.js} +8 -9
- package/dist/chunks/{jsonMode-dkr040ga.js → jsonMode-tyx2kj6p.js} +526 -527
- package/dist/chunks/jx-validate-j0wxk72w.js +15 -0
- package/dist/chunks/layers-ff81wthn.js +30 -0
- package/dist/chunks/layers-panel-pnnghw12.js +40 -0
- package/dist/chunks/listbox-6v2ac08j.js +44 -0
- package/dist/chunks/lit-html-m244w9nh.js +17 -0
- package/dist/chunks/media-picker-cqhhxhhe.js +33 -0
- package/dist/chunks/menu-9p2w46gj.js +15 -0
- package/dist/chunks/menu-q99sy9rf.js +285 -0
- package/dist/chunks/{monaco-binding-rj6xpx9y.js → monaco-binding-sw6en4dw.js} +12 -15
- package/dist/chunks/monaco-buffer-bhy3hb6m.js +24 -0
- package/dist/chunks/{monaco-setup-vx9bhp1d.js → monaco-setup-8r62fj6y.js} +27 -37
- package/dist/chunks/notify-628t0anh.js +21 -0
- package/dist/chunks/number-field-5cndyft8.js +72 -0
- package/dist/chunks/parse-0zx14y15.js +10 -0
- package/dist/chunks/platform-ts9cg1a4.js +15 -0
- package/dist/chunks/popover-47z3ytva.js +25 -0
- package/dist/chunks/publish-panel-5zt840sy.js +27 -0
- package/dist/chunks/quick-search-3748564r.js +45 -0
- package/dist/chunks/references-qvvxej7h.js +26 -0
- package/dist/chunks/right-panel-eccz92qt.js +45 -0
- package/dist/chunks/section-registry-5pq32t0q.js +25 -0
- package/dist/chunks/select-2r16ez41.js +49 -0
- package/dist/chunks/split-g7nm1rgb.js +191 -0
- package/dist/chunks/studio-0hqbpbd0.js +62 -0
- package/dist/chunks/{studio-kryvsw6j.js → studio-1k325pwf.js} +48 -48
- package/dist/chunks/{studio-b55y6ewx.js → studio-1knfqgy7.js} +58 -58
- package/dist/chunks/{studio-2b946z26.js → studio-1z1kcjv4.js} +3628 -6095
- package/dist/chunks/studio-3773086z.js +111 -0
- package/dist/chunks/{studio-4r1pv6zf.js → studio-38emantv.js} +22 -5
- package/dist/chunks/{studio-x813zp48.js → studio-3rz5md06.js} +30 -30
- package/dist/chunks/{studio-ynxwkrzd.js → studio-4wbb9ct0.js} +1953 -1785
- package/dist/chunks/studio-5te5tqng.js +81 -0
- package/dist/chunks/studio-5wt9nvhd.js +4763 -0
- package/dist/chunks/{studio-p4ngc046.js → studio-6ewqv390.js} +9 -9
- package/dist/chunks/{studio-9ab8gqsm.js → studio-6nzaktvy.js} +7 -7
- package/dist/chunks/studio-6xa21ej9.js +28 -0
- package/dist/chunks/{studio-5ehhackm.js → studio-727xh0e3.js} +19 -19
- package/dist/chunks/{studio-gcye7qka.js → studio-7e11jpa9.js} +21 -21
- package/dist/chunks/{studio-q7v10cg2.js → studio-7r42c6ca.js} +17 -7
- package/dist/chunks/studio-7xnmgv66.js +13615 -0
- package/dist/chunks/studio-8scdew0e.js +258 -0
- package/dist/chunks/{studio-fbf92ckf.js → studio-93zafjcm.js} +275 -163
- package/dist/chunks/{studio-dg7zyt5x.js → studio-98b3z07n.js} +1 -1
- package/dist/chunks/studio-a79k90n9.js +1162 -0
- package/dist/chunks/studio-aj37eer3.js +422 -0
- package/dist/chunks/studio-b0k5tqgp.js +2432 -0
- package/dist/chunks/studio-b4s9eykd.js +2811 -0
- package/dist/chunks/{studio-f3wqjtk5.js → studio-d0300636.js} +5076 -18
- package/dist/chunks/{studio-b9b6t1dg.js → studio-e1f24eff.js} +5664 -5666
- package/dist/chunks/studio-e1pgga3k.js +839 -0
- package/dist/chunks/{studio-g1wdche0.js → studio-esrxgwh6.js} +80 -80
- package/dist/chunks/{studio-q43a5y9h.js → studio-g3jevyjt.js} +16 -16
- package/dist/chunks/studio-gb13095a.js +2806 -0
- package/dist/chunks/{studio-3n4ndrzh.js → studio-h4nvnjvz.js} +303 -303
- package/dist/chunks/{studio-dm19q43r.js → studio-hhvs4sdg.js} +10 -10
- package/dist/chunks/{studio-x4qkdat5.js → studio-js8nv53n.js} +1749 -2481
- package/dist/chunks/{studio-qjy2z9bv.js → studio-jxp12rnj.js} +32 -137
- package/dist/chunks/{studio-trxrabqf.js → studio-k75n7vhp.js} +527 -283
- package/dist/chunks/{studio-q9jd1a60.js → studio-kcgff4r0.js} +15 -18
- package/dist/chunks/studio-kkqkcp3d.js +17668 -0
- package/dist/chunks/studio-mhhyamxf.js +763 -0
- package/dist/chunks/{studio-cft9r4r7.js → studio-nq5yf5mp.js} +22 -22
- package/dist/chunks/{studio-685s0ytq.js → studio-nqgawfks.js} +572 -572
- package/dist/chunks/studio-nzzpvzx9.js +185 -0
- package/dist/chunks/{studio-xrapxwwc.js → studio-p1dw8wfw.js} +55 -29
- package/dist/chunks/{studio-3bqpr0zh.js → studio-pxbgypmg.js} +299 -110
- package/dist/chunks/studio-q0a3yk4n.js +33 -0
- package/dist/chunks/{studio-wcy8trfx.js → studio-q3x06vmj.js} +23 -22
- package/dist/chunks/{studio-6yw4y3my.js → studio-qhhm6hbt.js} +8 -8
- package/dist/chunks/studio-qk4bfsq2.js +362 -0
- package/dist/chunks/{studio-msd847zn.js → studio-qk90fgqm.js} +361 -90
- package/dist/chunks/{studio-jkftxyvz.js → studio-r6nvacqs.js} +5861 -2154
- package/dist/chunks/{studio-53n8bp04.js → studio-r6xmmtfh.js} +1 -1
- package/dist/chunks/{studio-tvgyw9xw.js → studio-rnyf3f8e.js} +83 -250
- package/dist/chunks/studio-rs76k67r.js +12 -0
- package/dist/chunks/studio-sbjyc8bt.js +954 -0
- package/dist/chunks/{studio-1wagb550.js → studio-syg2tadj.js} +11 -11
- package/dist/chunks/{studio-t5wqwzdh.js → studio-tjjk7jvk.js} +1 -1
- package/dist/chunks/studio-tqgryxwg.js +1171 -0
- package/dist/chunks/studio-try13h8c.js +8448 -0
- package/dist/chunks/studio-vfq8qpjt.js +1219 -0
- package/dist/chunks/studio-vhv5tgxm.js +51 -0
- package/dist/chunks/{studio-ahn3pdgx.js → studio-vw7mzp6z.js} +52 -38
- package/dist/chunks/studio-wqpngpsk.js +174 -0
- package/dist/chunks/studio-wqz6dggm.js +1356 -0
- package/dist/chunks/{studio-92ab2jqe.js → studio-y9zedyjn.js} +14 -14
- package/dist/chunks/studio-yxa81f45.js +12 -0
- package/dist/chunks/studio-zdn2g6dt.js +148 -0
- package/dist/chunks/swatch-group-t0n6h2rn.js +139 -0
- package/dist/chunks/tabs-wbp1cdws.js +156 -0
- package/dist/chunks/textfield-abk6qyee.js +73 -0
- package/dist/chunks/toast-780pvfbv.js +27 -0
- package/dist/chunks/toast-host-3sqv46sn.js +116 -0
- package/dist/chunks/toolbar-xbh5bhtr.js +194 -0
- package/dist/chunks/tooltip-eptb614w.js +369 -0
- package/dist/chunks/tree-a73p0pqm.js +367 -0
- package/dist/chunks/{tsMode-76kr53q0.js → tsMode-jy4m86rv.js} +83 -85
- package/dist/chunks/workspace-t55jdjbx.js +69 -0
- package/dist/chunks/{ws-client-6shc5rze.js → ws-client-ny4zc51r.js} +20 -22
- package/dist/iframe-entry.js +1873 -673
- package/dist/studio.js +52757 -36535
- package/dist/workers/editor.worker.js +1040 -1085
- package/dist/workers/json.worker.js +1946 -1991
- package/dist/workers/ts.worker.js +4960 -5005
- package/index.html +1 -0
- package/package.json +18 -52
- package/src/about/about-modal.ts +72 -123
- package/src/browse/library-commands.ts +20 -49
- package/src/browse/library-layouts.ts +87 -218
- package/src/browse/library-pane.ts +406 -438
- package/src/canvas/canvas-helpers.ts +0 -49
- package/src/canvas/canvas-live-render.ts +25 -2
- package/src/canvas/canvas-render.ts +666 -231
- package/src/canvas/canvas-surface.ts +0 -1
- package/src/canvas/canvas-utils.ts +333 -113
- package/src/canvas/dialog-path.ts +76 -0
- package/src/canvas/dialog-state.ts +67 -0
- package/src/canvas/diff-marks.ts +252 -0
- package/src/canvas/diff-toolbar.ts +349 -0
- package/src/canvas/diff-view.ts +123 -0
- package/src/canvas/edit-width-drag.ts +187 -0
- package/src/canvas/edit-width.ts +150 -0
- package/src/canvas/iframe-entry.ts +125 -8
- package/src/canvas/iframe-host.ts +271 -15
- package/src/canvas/iframe-interaction.ts +133 -13
- package/src/canvas/iframe-patch.ts +7 -1
- package/src/canvas/iframe-position.ts +5 -6
- package/src/canvas/iframe-protocol.ts +106 -5
- package/src/canvas/iframe-render.ts +373 -5
- package/src/canvas/iframe-slash.ts +2 -2
- package/src/canvas/iframe-subtree.ts +5 -8
- package/src/canvas/path-mapping.ts +25 -3
- package/src/canvas/popover-path.ts +106 -0
- package/src/canvas/popover-state.ts +155 -0
- package/src/canvas/surface-registry.ts +21 -10
- package/src/collab/presence-chips.ts +51 -73
- package/src/commands/app-commands.ts +10 -0
- package/src/commands/budget.ts +12 -0
- package/src/commands/command-args.ts +404 -6
- package/src/commands/defaults.ts +44 -14
- package/src/commands/live-context.ts +11 -5
- package/src/commands/reference.ts +12 -2
- package/src/commands/registry.ts +177 -10
- package/src/commands/run-reported.ts +120 -0
- package/src/content/entry-commands.ts +16 -23
- package/src/content/entry-editor.ts +144 -101
- package/src/editor/canvas-slash-bridge.ts +2 -2
- package/src/editor/context-menu.ts +49 -200
- package/src/editor/convert-to-component.ts +42 -82
- package/src/editor/convert-to-repeater.ts +132 -173
- package/src/editor/inline-edit.ts +11 -0
- package/src/editor/shortcuts.ts +76 -49
- package/src/editor/slash-menu.ts +150 -157
- package/src/files/components.ts +39 -0
- package/src/files/file-ops.ts +117 -11
- package/src/files/files.ts +944 -660
- package/src/files/json-layout.ts +474 -0
- package/src/files/serialize-document.ts +8 -1
- package/src/format/convert-file.ts +16 -10
- package/src/format/format-host.ts +50 -1
- package/src/github/github-auth.ts +71 -29
- package/src/github/github-publish.ts +57 -65
- package/src/grid/cell-editors.ts +46 -4
- package/src/grid/cell-popovers.ts +65 -62
- package/src/grid/grid-open.ts +86 -64
- package/src/grid/grid-panel.ts +390 -469
- package/src/grid/redirects-grid.ts +40 -44
- package/src/hosting/layout.ts +2 -0
- package/src/i18n/i18n-commands.ts +137 -62
- package/src/media/media-pane.ts +83 -133
- package/src/new-project/add-repo-modal.ts +125 -176
- package/src/new-project/import-tab.ts +181 -252
- package/src/new-project/location-fields.ts +93 -160
- package/src/new-project/new-project-modal.ts +376 -367
- package/src/packages/jxsuite-update.ts +76 -18
- package/src/packages/pull-package-sync.ts +5 -1
- package/src/panels/activity-panel.ts +137 -104
- package/src/panels/ai-chat/chat-markdown.ts +15 -13
- package/src/panels/ai-chat/chat-view.ts +307 -472
- package/src/panels/ai-chat/composer.ts +175 -163
- package/src/panels/ai-chat/sessions-view.ts +31 -62
- package/src/panels/ai-panel.ts +213 -185
- package/src/panels/block-action-bar.ts +444 -645
- package/src/panels/bottom-dock.ts +112 -47
- package/src/panels/chat-panel.ts +19 -14
- package/src/panels/data-explorer.ts +141 -102
- package/src/panels/data-grid.ts +183 -150
- package/src/panels/dnd.ts +75 -20
- package/src/panels/editors.ts +26 -19
- package/src/panels/elements-panel.ts +243 -186
- package/src/panels/empty-state.ts +26 -42
- package/src/panels/events-panel.ts +950 -729
- package/src/panels/formula-workspace.ts +434 -207
- package/src/panels/frontmatter-fields.ts +185 -153
- package/src/panels/frontmatter-panel.ts +411 -187
- package/src/panels/git-diff-open.ts +148 -0
- package/src/panels/git-panel.ts +679 -605
- package/src/panels/head-panel.ts +617 -435
- package/src/panels/i18n-panel.ts +148 -135
- package/src/panels/imports-panel.ts +388 -414
- package/src/panels/jump-bar.ts +175 -147
- package/src/panels/layers-panel.ts +785 -671
- package/src/panels/left-panel.ts +166 -94
- package/src/panels/navigator-panels.ts +1 -1
- package/src/panels/pane-context.ts +529 -677
- package/src/panels/pane-grid.ts +265 -241
- package/src/panels/panel-registry.ts +15 -4
- package/src/panels/problems-panel.ts +181 -99
- package/src/panels/properties-panel.ts +1525 -966
- package/src/panels/provenance.ts +31 -113
- package/src/panels/quick-search.ts +223 -184
- package/src/panels/right-panel.ts +135 -169
- package/src/panels/seo-modal.ts +346 -167
- package/src/panels/settings-menu.ts +114 -661
- package/src/panels/settings-pane.ts +102 -86
- package/src/panels/signals-panel.ts +1318 -1172
- package/src/panels/statement-editor.ts +556 -428
- package/src/panels/style-panel.ts +1367 -630
- package/src/panels/style-utils.ts +36 -32
- package/src/panels/stylebook-doc.ts +30 -73
- package/src/panels/stylebook-layers-panel.ts +202 -109
- package/src/panels/stylebook-panel.ts +124 -88
- package/src/panels/tab-strip.ts +386 -288
- package/src/platforms/cloud.ts +106 -16
- package/src/platforms/devserver.ts +13 -0
- package/src/publish/deploy-checklist.ts +124 -78
- package/src/publish/publish-commands.ts +4 -12
- package/src/publish/publish-panel.ts +134 -328
- package/src/services/a11y-report.ts +100 -43
- package/src/services/ai-command-tools.ts +538 -0
- package/src/services/ai-project-tools.ts +8 -2
- package/src/services/ai-session-store.ts +6 -0
- package/src/services/ai-system-prompt.ts +112 -24
- package/src/services/ai-tools.ts +36 -212
- package/src/services/ai-write-report.ts +174 -0
- package/src/services/document-assistant.ts +59 -8
- package/src/services/idle.ts +16 -14
- package/src/services/live-surfaces.ts +237 -0
- package/src/services/model-uri.ts +75 -0
- package/src/services/notify.ts +63 -6
- package/src/services/popover-report.ts +325 -0
- package/src/services/surface-registry.ts +56 -0
- package/src/services/tool-executor.ts +6 -0
- package/src/settings/contexts-section.ts +301 -299
- package/src/settings/contributed-section.ts +361 -222
- package/src/settings/css-vars-editor.ts +320 -325
- package/src/settings/defs-editor.ts +572 -535
- package/src/settings/dependencies-editor.ts +79 -107
- package/src/settings/extension-commands.ts +379 -0
- package/src/settings/extension-rows.ts +113 -0
- package/src/settings/extensions-section.ts +287 -0
- package/src/settings/general-settings.ts +130 -181
- package/src/settings/head-editor.ts +10 -305
- package/src/settings/locales-section.ts +146 -196
- package/src/settings/preferences-accounts.ts +1 -1
- package/src/settings/preferences-dialog.ts +350 -330
- package/src/settings/project-sections.ts +108 -181
- package/src/settings/schema-field-ui.ts +11 -399
- package/src/settings/section-registry.ts +8 -1
- package/src/settings/settings-document.ts +31 -29
- package/src/shell/tree.ts +42 -87
- package/src/shell.ts +48 -36
- package/src/studio.ts +104 -69
- package/src/style/token-ref.ts +0 -39
- package/src/surfaces/about.json +263 -0
- package/src/surfaces/about.ts +163 -0
- package/src/surfaces/add-repo.json +486 -0
- package/src/surfaces/add-repo.ts +236 -0
- package/src/surfaces/ai-chat.json +2185 -0
- package/src/surfaces/ai-chat.ts +549 -0
- package/src/surfaces/ai-credentials-form.json +332 -0
- package/src/surfaces/ai-credentials-form.ts +151 -0
- package/src/surfaces/ai-managed-connect.json +108 -0
- package/src/surfaces/ai-managed-connect.ts +123 -0
- package/src/surfaces/ai-model-picker.json +114 -0
- package/src/surfaces/ai-model-picker.ts +139 -0
- package/src/surfaces/block-action-bar.json +640 -0
- package/src/surfaces/block-action-bar.ts +368 -0
- package/src/surfaces/bottom-dock.json +154 -0
- package/src/surfaces/bottom-dock.ts +125 -0
- package/src/surfaces/canvas-stage.json +444 -0
- package/src/surfaces/canvas-stage.ts +253 -0
- package/src/surfaces/cf-account-picker.json +300 -0
- package/src/surfaces/cf-account-picker.ts +214 -0
- package/src/surfaces/commandbar.json +985 -0
- package/src/{panels/toolbar.ts → surfaces/commandbar.ts} +417 -391
- package/src/surfaces/convert-repeater.json +309 -0
- package/src/surfaces/convert-repeater.ts +276 -0
- package/src/surfaces/data-actions.json +157 -0
- package/src/surfaces/data-actions.ts +115 -0
- package/src/surfaces/dialog.json +289 -0
- package/src/surfaces/dialog.ts +343 -0
- package/src/surfaces/diff-toolbar.json +266 -0
- package/src/surfaces/diff-toolbar.ts +139 -0
- package/src/surfaces/doc-header.json +739 -0
- package/src/surfaces/doc-header.ts +223 -0
- package/src/surfaces/empty-state.json +152 -0
- package/src/surfaces/empty-state.ts +173 -0
- package/src/surfaces/entry-editor.json +281 -0
- package/src/surfaces/entry-editor.ts +191 -0
- package/src/surfaces/expression-editor.json +977 -0
- package/src/surfaces/expression-editor.ts +266 -0
- package/src/surfaces/files-panel.json +592 -0
- package/src/surfaces/files-panel.ts +301 -0
- package/src/surfaces/formula-palette.json +364 -0
- package/src/surfaces/formula-palette.ts +340 -0
- package/src/surfaces/git-panel.json +1822 -0
- package/src/surfaces/git-panel.ts +272 -0
- package/src/surfaces/github-auth.json +112 -0
- package/src/surfaces/github-auth.ts +139 -0
- package/src/surfaces/github-publish.json +206 -0
- package/src/surfaces/github-publish.ts +169 -0
- package/src/surfaces/grid-cell.json +218 -0
- package/src/surfaces/grid-cell.ts +120 -0
- package/src/surfaces/grid-open.json +147 -0
- package/src/surfaces/grid-open.ts +87 -0
- package/src/surfaces/grid-panel.json +706 -0
- package/src/surfaces/grid-panel.ts +206 -0
- package/src/surfaces/grid-replace.json +179 -0
- package/src/surfaces/grid-replace.ts +89 -0
- package/src/surfaces/grid-views.json +446 -0
- package/src/surfaces/grid-views.ts +172 -0
- package/src/surfaces/inspector-dock.json +187 -0
- package/src/surfaces/inspector-dock.ts +161 -0
- package/src/surfaces/jump-bar.json +243 -0
- package/src/surfaces/jump-bar.ts +129 -0
- package/src/surfaces/jxsuite-update.json +146 -0
- package/src/surfaces/jxsuite-update.ts +149 -0
- package/src/surfaces/library-pane.json +1509 -0
- package/src/surfaces/library-pane.ts +363 -0
- package/src/surfaces/logic-panel.json +1949 -0
- package/src/surfaces/logic-panel.ts +369 -0
- package/src/surfaces/logic-workspace.json +685 -0
- package/src/surfaces/logic-workspace.ts +238 -0
- package/src/surfaces/media-browser.json +303 -0
- package/src/surfaces/media-browser.ts +145 -0
- package/src/surfaces/media-field.json +163 -0
- package/src/surfaces/media-field.ts +116 -0
- package/src/surfaces/media-pane.json +513 -0
- package/src/surfaces/media-pane.ts +197 -0
- package/src/surfaces/menu.json +232 -0
- package/src/surfaces/menu.ts +375 -0
- package/src/surfaces/navigator-dock.json +113 -0
- package/src/surfaces/navigator-dock.ts +130 -0
- package/src/surfaces/new-project.json +1654 -0
- package/src/surfaces/new-project.ts +411 -0
- package/src/surfaces/palette.json +535 -0
- package/src/surfaces/pane-context.json +1497 -0
- package/src/surfaces/pane-context.ts +513 -0
- package/src/surfaces/pane-grid.json +188 -0
- package/src/surfaces/pane-grid.ts +250 -0
- package/src/surfaces/panel-activity.json +563 -0
- package/src/surfaces/panel-activity.ts +187 -0
- package/src/surfaces/panel-data.json +141 -0
- package/src/surfaces/panel-data.ts +156 -0
- package/src/surfaces/panel-deploy-checklist.json +283 -0
- package/src/surfaces/panel-deploy-checklist.ts +175 -0
- package/src/surfaces/panel-elements.json +367 -0
- package/src/surfaces/panel-elements.ts +175 -0
- package/src/surfaces/panel-i18n.json +569 -0
- package/src/surfaces/panel-i18n.ts +212 -0
- package/src/surfaces/panel-imports.json +780 -0
- package/src/surfaces/panel-imports.ts +209 -0
- package/src/surfaces/panel-outline.json +734 -0
- package/src/surfaces/panel-outline.ts +326 -0
- package/src/surfaces/panel-page.json +1017 -0
- package/src/surfaces/panel-page.ts +240 -0
- package/src/surfaces/panel-problems.json +497 -0
- package/src/surfaces/panel-problems.ts +157 -0
- package/src/surfaces/panel-signals.json +1973 -0
- package/src/surfaces/panel-signals.ts +436 -0
- package/src/surfaces/panel-stylebook-layers.json +317 -0
- package/src/surfaces/panel-stylebook-layers.ts +155 -0
- package/src/surfaces/preferences.json +850 -0
- package/src/surfaces/preferences.ts +332 -0
- package/src/surfaces/progress-modal.json +110 -0
- package/src/surfaces/progress-modal.ts +150 -0
- package/src/surfaces/properties-panel.json +1578 -0
- package/src/surfaces/properties-panel.ts +337 -0
- package/src/surfaces/publish.json +945 -0
- package/src/surfaces/publish.ts +392 -0
- package/src/surfaces/push-plan.json +110 -0
- package/src/surfaces/push-plan.ts +87 -0
- package/src/surfaces/rail.json +255 -0
- package/src/surfaces/rail.ts +206 -0
- package/src/surfaces/reference-field.json +191 -0
- package/src/surfaces/reference-field.ts +168 -0
- package/src/surfaces/schema-builder.json +1011 -0
- package/src/surfaces/schema-builder.ts +181 -0
- package/src/surfaces/schema-form.json +1013 -0
- package/src/surfaces/schema-form.ts +287 -0
- package/src/surfaces/secret-field.json +60 -0
- package/src/surfaces/secret-field.ts +146 -0
- package/src/surfaces/seo.json +932 -0
- package/src/surfaces/seo.ts +334 -0
- package/src/surfaces/settings-contexts.json +538 -0
- package/src/surfaces/settings-contexts.ts +196 -0
- package/src/surfaces/settings-contributed.json +489 -0
- package/src/surfaces/settings-contributed.ts +199 -0
- package/src/surfaces/settings-css-vars.json +820 -0
- package/src/surfaces/settings-css-vars.ts +199 -0
- package/src/surfaces/settings-defs.json +1363 -0
- package/src/surfaces/settings-defs.ts +232 -0
- package/src/surfaces/settings-deploy.json +108 -0
- package/src/surfaces/settings-deploy.ts +135 -0
- package/src/surfaces/settings-extensions.json +486 -0
- package/src/surfaces/settings-extensions.ts +201 -0
- package/src/surfaces/settings-head.json +779 -0
- package/src/surfaces/settings-head.ts +397 -0
- package/src/surfaces/settings-locales.json +420 -0
- package/src/surfaces/settings-locales.ts +137 -0
- package/src/surfaces/settings-overview.json +423 -0
- package/src/surfaces/settings-overview.ts +218 -0
- package/src/surfaces/settings-packages.json +549 -0
- package/src/surfaces/settings-packages.ts +158 -0
- package/src/surfaces/settings-pane.json +147 -0
- package/src/surfaces/settings-pane.ts +150 -0
- package/src/surfaces/settings-rawjson.json +104 -0
- package/src/surfaces/settings-rawjson.ts +107 -0
- package/src/surfaces/shell.json +99 -0
- package/src/surfaces/shell.ts +30 -0
- package/src/surfaces/slash-menu.json +180 -0
- package/src/surfaces/slash-menu.ts +272 -0
- package/src/surfaces/statements.json +607 -0
- package/src/surfaces/statements.ts +238 -0
- package/src/surfaces/statusbar.json +94 -0
- package/src/{panels → surfaces}/statusbar.ts +164 -90
- package/src/surfaces/style-panel.json +1643 -0
- package/src/surfaces/style-panel.ts +338 -0
- package/src/surfaces/stylebook-chrome.json +122 -0
- package/src/surfaces/stylebook-chrome.ts +122 -0
- package/src/surfaces/tab-strip.json +448 -0
- package/src/surfaces/tab-strip.ts +200 -0
- package/src/surfaces/target-line.json +419 -0
- package/src/surfaces/target-line.ts +349 -0
- package/src/surfaces/toasts.json +189 -0
- package/src/surfaces/welcome.json +571 -0
- package/src/surfaces/welcome.ts +338 -0
- package/src/tabs/project-config.ts +111 -21
- package/src/tabs/tab.ts +52 -1
- package/src/types.ts +22 -0
- package/src/ui/ai-credentials-form.ts +104 -100
- package/src/ui/ai-managed-connect.ts +54 -36
- package/src/ui/ai-model-picker.ts +75 -47
- package/src/ui/cf-account-picker.ts +76 -141
- package/src/ui/color-selector.ts +80 -301
- package/src/ui/dynamic-slot.ts +43 -283
- package/src/ui/expression-editor.ts +797 -576
- package/src/ui/field-input.ts +8 -181
- package/src/ui/form-controls.ts +838 -366
- package/src/ui/formula-chips.ts +80 -85
- package/src/ui/kit.ts +33 -0
- package/src/ui/layers.ts +296 -593
- package/src/ui/media-picker.ts +203 -284
- package/src/ui/panel-resize.ts +251 -64
- package/src/ui/popover-surface.ts +153 -0
- package/src/ui/progress-modal.ts +22 -60
- package/src/ui/regions.ts +13 -7
- package/src/ui/schema-form.ts +906 -440
- package/src/ui/surface.ts +122 -0
- package/src/ui/unit-selector.ts +15 -131
- package/src/ui/value-source.ts +14 -0
- package/src/ui/virtual-window.ts +88 -9
- package/src/utils/canvas-media.ts +72 -0
- package/src/utils/edit-display.ts +7 -2
- package/src/utils/element-selectors.ts +69 -0
- package/src/utils/link-target.ts +2 -2
- package/src/utils/studio-utils.ts +0 -10
- package/src/view.ts +15 -0
- package/src/workspace/pane-derive.ts +36 -14
- package/src/workspace/workspace.ts +75 -6
- package/styles/canvas.css +72 -467
- package/styles/forced-colors.css +48 -82
- package/styles/forced-colors.json +41 -0
- package/styles/inspector.css +2 -1301
- package/styles/overlays.css +96 -2823
- package/styles/panels.css +6 -1423
- package/styles/shell-frame.css +272 -0
- package/styles/shell-frame.json +227 -0
- package/styles/shell.css +0 -1568
- package/styles/tokens.css +65 -136
- package/styles/tokens.json +84 -0
- package/dist/chunks/Overlay.dev-etqjwyf9.js +0 -23
- package/dist/chunks/adapter-jkcyhgtr.js +0 -14
- package/dist/chunks/cf-account-picker-en86v7x7.js +0 -163
- package/dist/chunks/cf-settings-45fgyx8y.js +0 -21
- package/dist/chunks/components-zmx10t62.js +0 -21
- package/dist/chunks/content-source-48xg86wj.js +0 -49
- package/dist/chunks/convert-to-repeater-43tfn7cs.js +0 -268
- package/dist/chunks/editor-cptq5jp1.js +0 -37
- package/dist/chunks/entry-commands-e63f1xc0.js +0 -46
- package/dist/chunks/extension-sections-txv08xxg.js +0 -311
- package/dist/chunks/file-ops-wbh4hhsx.js +0 -48
- package/dist/chunks/files-3kfkwhk4.js +0 -93
- package/dist/chunks/flow-qbfgrpeh.js +0 -634
- package/dist/chunks/focus-trap.esm-9t2drp0g.js +0 -1025
- package/dist/chunks/focus-visible-6eg70z18.js +0 -167
- package/dist/chunks/format-host-w16q81tf.js +0 -43
- package/dist/chunks/fs-events-hrrg328g.js +0 -21
- package/dist/chunks/git-panel-532whr1y.js +0 -59
- package/dist/chunks/index-zqxmqxmh.js +0 -109
- package/dist/chunks/jx-validate-8er6gbxy.js +0 -19
- package/dist/chunks/layers-panel-07hm7g5j.js +0 -67
- package/dist/chunks/layers-q75tj2mf.js +0 -45
- package/dist/chunks/lit-html-j055mkh8.js +0 -22
- package/dist/chunks/monaco-buffer-dqw0xxpx.js +0 -25
- package/dist/chunks/notify-yjm79n4s.js +0 -30
- package/dist/chunks/parse-24d0gay3.js +0 -19
- package/dist/chunks/platform-ba1j1gbh.js +0 -16
- package/dist/chunks/publish-panel-v9st96ja.js +0 -29
- package/dist/chunks/quick-search-zccjp6gv.js +0 -66
- package/dist/chunks/references-3qx8fkyp.js +0 -29
- package/dist/chunks/right-panel-vm3b6kwy.js +0 -46
- package/dist/chunks/section-registry-sx1ykvkw.js +0 -30
- package/dist/chunks/sp-overlay.dev-qgvhnxf4.js +0 -18
- package/dist/chunks/sp-popover.dev-n2etmqdp.js +0 -9
- package/dist/chunks/sp-progress-circle.dev-hryhj0es.js +0 -15
- package/dist/chunks/sp-tooltip.dev-4sastdnw.js +0 -15
- package/dist/chunks/sp-tray.dev-tkbscm06.js +0 -199
- package/dist/chunks/studio-0a5qrh01.js +0 -3
- package/dist/chunks/studio-0bq6eh7v.js +0 -12
- package/dist/chunks/studio-18j3bmcz.js +0 -14
- package/dist/chunks/studio-1ngbejft.js +0 -181
- package/dist/chunks/studio-4b5z1x43.js +0 -424
- package/dist/chunks/studio-4n2b5gzb.js +0 -357
- package/dist/chunks/studio-4rzyrtjz.js +0 -426
- package/dist/chunks/studio-5fx3g9jg.js +0 -4325
- package/dist/chunks/studio-5myknm0a.js +0 -1903
- package/dist/chunks/studio-7afd21nw.js +0 -67
- package/dist/chunks/studio-7nte2hj4.js +0 -613
- package/dist/chunks/studio-8jpzqk5s.js +0 -128
- package/dist/chunks/studio-8q517dfr.js +0 -24
- package/dist/chunks/studio-950k0dx6.js +0 -6939
- package/dist/chunks/studio-9n4mrmnb.js +0 -184
- package/dist/chunks/studio-a0tswy0w.js +0 -58
- package/dist/chunks/studio-ahnzd9rg.js +0 -23
- package/dist/chunks/studio-bgxt93ga.js +0 -62
- package/dist/chunks/studio-cmb03bg5.js +0 -13890
- package/dist/chunks/studio-d1ks410h.js +0 -175
- package/dist/chunks/studio-ef49pnzx.js +0 -387
- package/dist/chunks/studio-eqq1w638.js +0 -113
- package/dist/chunks/studio-ew0djmhg.js +0 -341
- package/dist/chunks/studio-gfgb8pe6.js +0 -1652
- package/dist/chunks/studio-h4rxscfc.js +0 -10
- package/dist/chunks/studio-jc994dnr.js +0 -1066
- package/dist/chunks/studio-kyh9avvv.js +0 -28
- package/dist/chunks/studio-m3hwn7y1.js +0 -120
- package/dist/chunks/studio-mtfnaqs9.js +0 -659
- package/dist/chunks/studio-n6j9t10q.js +0 -318
- package/dist/chunks/studio-n8b9wqwy.js +0 -291
- package/dist/chunks/studio-qcy05dp8.js +0 -1743
- package/dist/chunks/studio-qq6jym04.js +0 -53
- package/dist/chunks/studio-rdx8jcxy.js +0 -83
- package/dist/chunks/studio-rn9ta2mz.js +0 -111
- package/dist/chunks/studio-t7qb9db8.js +0 -665
- package/dist/chunks/studio-tmc5emrw.js +0 -8
- package/dist/chunks/studio-z6nw2ek2.js +0 -18
- package/dist/chunks/studio-zczps70q.js +0 -378
- package/dist/chunks/studio-zqazsct2.js +0 -1823
- package/dist/chunks/workspace-fjx52ryv.js +0 -89
- package/src/panels/activity-bar.ts +0 -251
- package/src/panels/panel-scheduler.ts +0 -219
- package/src/panels/style-inputs.ts +0 -237
- package/src/panels/target-line.ts +0 -274
- package/src/panels/welcome-screen.ts +0 -346
- package/src/ui/button-group.ts +0 -102
- package/src/ui/choice-field.ts +0 -72
- package/src/ui/field-row.ts +0 -249
- package/src/ui/formula-palette.ts +0 -213
- package/src/ui/icons.ts +0 -52
- package/src/ui/jx-theme.ts +0 -130
- package/src/ui/spectrum.ts +0 -340
- package/src/ui/value-selector.ts +0 -174
- package/src/ui/widgets.ts +0 -172
- /package/dist/chunks/{javascript-s56a8dpk.css → javascript-4abzjcy9.css} +0 -0
- /package/dist/chunks/{jsonMode-zr9sw0c7.css → jsonMode-vvmpmk34.css} +0 -0
- /package/dist/chunks/{monaco-setup-pav68602.css → monaco-setup-8vbyqnhr.css} +0 -0
- /package/dist/chunks/{tsMode-ef187txx.css → tsMode-hnxxb73h.css} +0 -0
|
@@ -1,46 +1,42 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
} from "./studio-
|
|
5
|
-
import {
|
|
6
|
-
mediaDisplayName,
|
|
7
|
-
mountStylebookCanvas,
|
|
8
|
-
panToStylebookTag,
|
|
9
|
-
serializeJxPath,
|
|
10
|
-
tabOfPane
|
|
11
|
-
} from "./studio-2b946z26.js";
|
|
2
|
+
projectState,
|
|
3
|
+
updateSession
|
|
4
|
+
} from "./studio-6ewqv390.js";
|
|
12
5
|
import {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
shell
|
|
16
|
-
} from "./studio-msd847zn.js";
|
|
6
|
+
isKeyframesAtRule
|
|
7
|
+
} from "./studio-kkqkcp3d.js";
|
|
17
8
|
import {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
} from "./studio-trxrabqf.js";
|
|
9
|
+
registerSurface,
|
|
10
|
+
mountSurface
|
|
11
|
+
} from "./studio-vfq8qpjt.js";
|
|
22
12
|
import {
|
|
23
|
-
|
|
24
|
-
} from "./studio-
|
|
13
|
+
reactive
|
|
14
|
+
} from "./studio-p1dw8wfw.js";
|
|
25
15
|
import {
|
|
26
|
-
|
|
27
|
-
|
|
16
|
+
isSpliceablePath,
|
|
17
|
+
varDisplayName,
|
|
18
|
+
activeTab2
|
|
19
|
+
} from "./studio-k75n7vhp.js";
|
|
28
20
|
import {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
21
|
+
getEffectiveMedia,
|
|
22
|
+
getEffectiveStyle,
|
|
23
|
+
shell
|
|
24
|
+
} from "./studio-qk90fgqm.js";
|
|
32
25
|
import {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
repeat
|
|
36
|
-
} from "./studio-4rzyrtjz.js";
|
|
26
|
+
componentRegistry2
|
|
27
|
+
} from "./studio-zdn2g6dt.js";
|
|
37
28
|
import {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
29
|
+
tabOfPane,
|
|
30
|
+
mediaDisplayName,
|
|
31
|
+
serializeJxPath,
|
|
32
|
+
schemeOfQuery,
|
|
33
|
+
parseMediaEntries,
|
|
34
|
+
mountStylebookCanvas2,
|
|
35
|
+
panToStylebookTag2
|
|
36
|
+
} from "./studio-1z1kcjv4.js";
|
|
41
37
|
import {
|
|
42
|
-
|
|
43
|
-
} from "./studio-
|
|
38
|
+
__preload
|
|
39
|
+
} from "./studio-5te5tqng.js";
|
|
44
40
|
// data/stylebook-meta.json
|
|
45
41
|
var stylebook_meta_default = {
|
|
46
42
|
$sections: [
|
|
@@ -246,6 +242,160 @@ registerBlockType( name, settings );`
|
|
|
246
242
|
other: { label: "Other", prefix: "--", placeholder: "value" }
|
|
247
243
|
}
|
|
248
244
|
};
|
|
245
|
+
// src/surfaces/stylebook-chrome.json
|
|
246
|
+
var stylebook_chrome_default = {
|
|
247
|
+
$schema: "https://jxsuite.com/schema/v1",
|
|
248
|
+
$id: "StudioStylebookChrome",
|
|
249
|
+
$description: "The bar across the top of the Project Styles canvas: the filter that narrows the specimen catalogue, and the toggle that reduces it to the elements this file has already styled. Both are shell state rather than document state — the adapter owns which — and the two names come in as values, because the surface is called Project Styles and the canvas view it draws is the wire word `stylebook`; nothing a reader sees here may be spelled from that. **The bar IS the kit's toolbar now.** It used to write `role=\"toolbar\"` and its own `aria-label` on a `<div>`, which is a role with none of the behaviour under it: two controls, two tab stops, and no arrow key between them. `jx-action-group` is not the element for it — that one roves `jx-action-button` and this bar's first control is a `jx-textfield` — so `jx-toolbar` is, and the field keeps its own arrows while its caret still has text to walk (ui.md §5.5).",
|
|
250
|
+
tagName: "jx-toolbar",
|
|
251
|
+
attributes: {
|
|
252
|
+
part: "chrome"
|
|
253
|
+
},
|
|
254
|
+
$props: {
|
|
255
|
+
label: {
|
|
256
|
+
$ref: "#/state/title"
|
|
257
|
+
}
|
|
258
|
+
},
|
|
259
|
+
style: {
|
|
260
|
+
$description: 'What `.sb-chrome` said in `styles/overlays.css`, plus the six inline declarations the template carried beside it, plus `.tb-toggle` — all three go dead with this conversion, and none of them is shared with another surface. Three repairs on the way. The bar is one element rather than a positioned box wrapping a `role="toolbar"` row that declared the same flex layout again. The flex layout is not declared here EITHER any more: `display: flex`, `align-items: center`, the `--jx-space-2` gap, the sans face and the foreground colour are all `jx-toolbar`\'s own, so what is left below is only what a positioned BAND is. And `.tb-toggle` read `var(--spectrum-font-size-50, 11px)`, which the kit spells `--jx-text-sm` at the same value; the rest of its drawing is a `jx-action-button` reaching in through `part="control"`, because what it has to look like is a small bordered chip and every fill and control height the kit draws would otherwise have to be taken back off.',
|
|
261
|
+
position: "absolute",
|
|
262
|
+
top: "0",
|
|
263
|
+
left: "0",
|
|
264
|
+
right: "0",
|
|
265
|
+
zIndex: "15",
|
|
266
|
+
flexShrink: "0",
|
|
267
|
+
padding: "var(--jx-space-2) var(--jx-space-3)",
|
|
268
|
+
background: "var(--bg-panel)",
|
|
269
|
+
borderBottom: "1px solid var(--border)",
|
|
270
|
+
'& [part="filter"]': {
|
|
271
|
+
flex: "1",
|
|
272
|
+
maxWidth: "200px"
|
|
273
|
+
},
|
|
274
|
+
'& [part="customized"] > [part="control"]': {
|
|
275
|
+
$description: "Bordered, unfilled and dimmed until it is on, which is what says it is a filter rather than an action: the catalogue it narrows is the thing the reader is looking at, so the control has to be quieter than its subject.",
|
|
276
|
+
padding: "3px var(--jx-space-3)",
|
|
277
|
+
border: "1px solid var(--border)",
|
|
278
|
+
borderRadius: "var(--radius)",
|
|
279
|
+
background: "transparent",
|
|
280
|
+
color: "var(--fg-dim)",
|
|
281
|
+
fontSize: "var(--jx-text-sm)",
|
|
282
|
+
":hover": {
|
|
283
|
+
background: "var(--hover-bg)"
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
'& [part="customized"][data-selected] > [part="control"]': {
|
|
287
|
+
$description: "`data-selected` and not `selected`: the kit reflects the pressed state as a data attribute (`jx-action-button.json`), and the property this document binds never reaches the attribute of the same name.",
|
|
288
|
+
borderColor: "var(--accent)",
|
|
289
|
+
background: "var(--accent-15)",
|
|
290
|
+
color: "var(--accent)"
|
|
291
|
+
}
|
|
292
|
+
},
|
|
293
|
+
children: [
|
|
294
|
+
{
|
|
295
|
+
tagName: "jx-textfield",
|
|
296
|
+
attributes: {
|
|
297
|
+
part: "filter"
|
|
298
|
+
},
|
|
299
|
+
$props: {
|
|
300
|
+
size: "sm",
|
|
301
|
+
type: "search",
|
|
302
|
+
clearable: true,
|
|
303
|
+
label: {
|
|
304
|
+
$ref: "#/state/filterLabel"
|
|
305
|
+
},
|
|
306
|
+
placeholder: "Filter…",
|
|
307
|
+
value: {
|
|
308
|
+
$ref: "#/state/filter"
|
|
309
|
+
}
|
|
310
|
+
},
|
|
311
|
+
oninput: {
|
|
312
|
+
$prototype: "Function",
|
|
313
|
+
body: [
|
|
314
|
+
{
|
|
315
|
+
operator: "call",
|
|
316
|
+
target: {
|
|
317
|
+
$ref: "#/state/setFilter"
|
|
318
|
+
},
|
|
319
|
+
value: [
|
|
320
|
+
{
|
|
321
|
+
$ref: "event#/target/value"
|
|
322
|
+
}
|
|
323
|
+
]
|
|
324
|
+
}
|
|
325
|
+
]
|
|
326
|
+
}
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
tagName: "jx-action-button",
|
|
330
|
+
$description: "`onchange` and not `onclick`: a `toggles` button owns its own pressed state and says so with `change` (`jx-action-button.json`), and an `onclick` written here would replace the element's own click handler on the same property — the toggle would stop flipping and stop announcing `aria-pressed`.",
|
|
331
|
+
attributes: {
|
|
332
|
+
part: "customized"
|
|
333
|
+
},
|
|
334
|
+
$props: {
|
|
335
|
+
size: "sm",
|
|
336
|
+
toggles: true,
|
|
337
|
+
selected: {
|
|
338
|
+
$ref: "#/state/customizedOnly"
|
|
339
|
+
},
|
|
340
|
+
label: {
|
|
341
|
+
$ref: "#/state/customizedLabel"
|
|
342
|
+
},
|
|
343
|
+
hint: {
|
|
344
|
+
$ref: "#/state/customizedHint"
|
|
345
|
+
}
|
|
346
|
+
},
|
|
347
|
+
onchange: {
|
|
348
|
+
$prototype: "Function",
|
|
349
|
+
body: [
|
|
350
|
+
{
|
|
351
|
+
operator: "call",
|
|
352
|
+
target: {
|
|
353
|
+
$ref: "#/state/toggleCustomized"
|
|
354
|
+
},
|
|
355
|
+
value: []
|
|
356
|
+
}
|
|
357
|
+
]
|
|
358
|
+
},
|
|
359
|
+
children: [
|
|
360
|
+
{
|
|
361
|
+
tagName: "span",
|
|
362
|
+
textContent: "${state.customizedLabel}"
|
|
363
|
+
}
|
|
364
|
+
]
|
|
365
|
+
}
|
|
366
|
+
]
|
|
367
|
+
};
|
|
368
|
+
|
|
369
|
+
// src/surfaces/stylebook-chrome.ts
|
|
370
|
+
registerSurface("stylebook-chrome", stylebook_chrome_default);
|
|
371
|
+
function createStylebookChromeSurface(view, actions) {
|
|
372
|
+
const host = document.createElement("div");
|
|
373
|
+
host.style.display = "contents";
|
|
374
|
+
const scope = reactive({ ...view, ...actions });
|
|
375
|
+
let handle = null;
|
|
376
|
+
let mounting = false;
|
|
377
|
+
function mount() {
|
|
378
|
+
mounting = true;
|
|
379
|
+
mountSurface("stylebook-chrome", scope, host).then((mounted) => {
|
|
380
|
+
mounting = false;
|
|
381
|
+
handle = mounted;
|
|
382
|
+
});
|
|
383
|
+
}
|
|
384
|
+
mount();
|
|
385
|
+
return {
|
|
386
|
+
host,
|
|
387
|
+
update(next) {
|
|
388
|
+
Object.assign(scope, next);
|
|
389
|
+
if (mounting || handle !== null && host.contains(handle.root)) {
|
|
390
|
+
return;
|
|
391
|
+
}
|
|
392
|
+
handle?.dispose();
|
|
393
|
+
handle = null;
|
|
394
|
+
host.textContent = "";
|
|
395
|
+
mount();
|
|
396
|
+
}
|
|
397
|
+
};
|
|
398
|
+
}
|
|
249
399
|
|
|
250
400
|
// src/panels/stylebook-doc.ts
|
|
251
401
|
function isTagPath(key) {
|
|
@@ -255,49 +405,15 @@ function isPlainObject(v) {
|
|
|
255
405
|
return v !== null && typeof v === "object" && !Array.isArray(v);
|
|
256
406
|
}
|
|
257
407
|
var SPECIMEN_SCOPE = "& .element-card-preview";
|
|
258
|
-
function mergeRules(base, add) {
|
|
259
|
-
const out = { ...base };
|
|
260
|
-
for (const [k, v] of Object.entries(add)) {
|
|
261
|
-
out[k] = isPlainObject(v) && isPlainObject(out[k]) ? mergeRules(out[k], v) : v;
|
|
262
|
-
}
|
|
263
|
-
return out;
|
|
264
|
-
}
|
|
265
|
-
function stripAtKeys(rule) {
|
|
266
|
-
const out = {};
|
|
267
|
-
for (const [k, v] of Object.entries(rule)) {
|
|
268
|
-
if (isPlainObject(v) && k.startsWith("@")) {
|
|
269
|
-
continue;
|
|
270
|
-
}
|
|
271
|
-
out[k] = isPlainObject(v) ? stripAtKeys(v) : v;
|
|
272
|
-
}
|
|
273
|
-
return out;
|
|
274
|
-
}
|
|
275
408
|
function transposeStylebookStyle(effectiveStyle) {
|
|
276
409
|
const style = effectiveStyle;
|
|
277
410
|
const out = {};
|
|
278
|
-
const
|
|
279
|
-
const processTagRule = (rule, tagPath) => {
|
|
411
|
+
const withoutBaseWidth = (rule) => {
|
|
280
412
|
const cleaned = {};
|
|
281
413
|
for (const [k, v] of Object.entries(rule)) {
|
|
282
|
-
if (
|
|
414
|
+
if (k !== "@--") {
|
|
283
415
|
cleaned[k] = v;
|
|
284
|
-
continue;
|
|
285
|
-
}
|
|
286
|
-
if (k.startsWith("@")) {
|
|
287
|
-
if (k === "@--") {
|
|
288
|
-
continue;
|
|
289
|
-
}
|
|
290
|
-
mediaOut[k] ??= {};
|
|
291
|
-
const bucket = mediaOut[k];
|
|
292
|
-
const sel = `${SPECIMEN_SCOPE} ${tagPath}`;
|
|
293
|
-
bucket[sel] = mergeRules(bucket[sel], stripAtKeys(v));
|
|
294
|
-
continue;
|
|
295
416
|
}
|
|
296
|
-
if (isTagPath(k)) {
|
|
297
|
-
cleaned[k] = processTagRule(v, `${tagPath} ${k}`);
|
|
298
|
-
continue;
|
|
299
|
-
}
|
|
300
|
-
cleaned[k] = v;
|
|
301
417
|
}
|
|
302
418
|
return cleaned;
|
|
303
419
|
};
|
|
@@ -306,31 +422,31 @@ function transposeStylebookStyle(effectiveStyle) {
|
|
|
306
422
|
out[k] = v;
|
|
307
423
|
continue;
|
|
308
424
|
}
|
|
425
|
+
if (k === "@--") {
|
|
426
|
+
continue;
|
|
427
|
+
}
|
|
428
|
+
if (isKeyframesAtRule(k)) {
|
|
429
|
+
out[k] = v;
|
|
430
|
+
continue;
|
|
431
|
+
}
|
|
309
432
|
if (k.startsWith("@")) {
|
|
310
|
-
|
|
311
|
-
continue;
|
|
312
|
-
}
|
|
313
|
-
mediaOut[k] ??= {};
|
|
314
|
-
const bucket = mediaOut[k];
|
|
433
|
+
const bucket = {};
|
|
315
434
|
for (const [mk, mv] of Object.entries(v)) {
|
|
316
435
|
if (isPlainObject(mv) && isTagPath(mk)) {
|
|
317
|
-
|
|
318
|
-
bucket[sel] = mergeRules(bucket[sel], mv);
|
|
436
|
+
bucket[`${SPECIMEN_SCOPE} ${mk}`] = withoutBaseWidth(mv);
|
|
319
437
|
} else {
|
|
320
438
|
bucket[mk] = mv;
|
|
321
439
|
}
|
|
322
440
|
}
|
|
441
|
+
out[k] = bucket;
|
|
323
442
|
continue;
|
|
324
443
|
}
|
|
325
444
|
if (isTagPath(k)) {
|
|
326
|
-
out[`${SPECIMEN_SCOPE} ${k}`] =
|
|
445
|
+
out[`${SPECIMEN_SCOPE} ${k}`] = withoutBaseWidth(v);
|
|
327
446
|
continue;
|
|
328
447
|
}
|
|
329
448
|
out[k] = v;
|
|
330
449
|
}
|
|
331
|
-
for (const [mk, mv] of Object.entries(mediaOut)) {
|
|
332
|
-
out[mk] = isPlainObject(out[mk]) ? mergeRules(out[mk], mv) : mv;
|
|
333
|
-
}
|
|
334
450
|
return out;
|
|
335
451
|
}
|
|
336
452
|
function resolveNestedStyle(style, tagPath) {
|
|
@@ -580,8 +696,8 @@ function readTokenOverride(style, context, token) {
|
|
|
580
696
|
}
|
|
581
697
|
function writeTokenOverride(style, context, token, value) {
|
|
582
698
|
if (value) {
|
|
583
|
-
const
|
|
584
|
-
|
|
699
|
+
const block = style[context.key] ??= {};
|
|
700
|
+
block[token] = value;
|
|
585
701
|
return;
|
|
586
702
|
}
|
|
587
703
|
const block = overrideBlock(style, context);
|
|
@@ -599,7 +715,33 @@ function addableContexts(style, contexts, token, alreadyShown = []) {
|
|
|
599
715
|
}
|
|
600
716
|
|
|
601
717
|
// src/panels/stylebook-panel.ts
|
|
602
|
-
|
|
718
|
+
var chromeBars = new WeakMap;
|
|
719
|
+
function chromeBar(surface) {
|
|
720
|
+
const view = {
|
|
721
|
+
customizedHint: "Show only the elements this file has already styled",
|
|
722
|
+
customizedLabel: "Customized",
|
|
723
|
+
customizedOnly: shell.stylebook.customizedOnly,
|
|
724
|
+
filter: shell.stylebook.filter,
|
|
725
|
+
filterLabel: `Filter the ${PROJECT_STYLES_TITLE} catalogue`,
|
|
726
|
+
title: PROJECT_STYLES_TITLE
|
|
727
|
+
};
|
|
728
|
+
const standing = chromeBars.get(surface);
|
|
729
|
+
if (standing) {
|
|
730
|
+
standing.update(view);
|
|
731
|
+
return standing.host;
|
|
732
|
+
}
|
|
733
|
+
const created = createStylebookChromeSurface(view, {
|
|
734
|
+
setFilter: (value) => {
|
|
735
|
+
shell.stylebook.filter = value;
|
|
736
|
+
},
|
|
737
|
+
toggleCustomized: () => {
|
|
738
|
+
shell.stylebook.customizedOnly = !shell.stylebook.customizedOnly;
|
|
739
|
+
}
|
|
740
|
+
});
|
|
741
|
+
chromeBars.set(surface, created);
|
|
742
|
+
return created.host;
|
|
743
|
+
}
|
|
744
|
+
async function renderStylebookMode(surface, ctx) {
|
|
603
745
|
const canvasWrap = surface.wrap;
|
|
604
746
|
const tab = tabOfPane(surface.paneId);
|
|
605
747
|
const filter = shell.stylebook.filter.toLowerCase();
|
|
@@ -607,44 +749,7 @@ function renderStylebookMode(surface, ctx) {
|
|
|
607
749
|
const effectiveMedia = getEffectiveMedia(tab?.doc.document?.$media);
|
|
608
750
|
const { sizeBreakpoints, baseWidth } = parseMediaEntries(effectiveMedia);
|
|
609
751
|
const hasMedia = sizeBreakpoints.length > 0;
|
|
610
|
-
const
|
|
611
|
-
shell.stylebook.filter = e.target.value;
|
|
612
|
-
};
|
|
613
|
-
const onCustomizedToggle = () => {
|
|
614
|
-
shell.stylebook.customizedOnly = !shell.stylebook.customizedOnly;
|
|
615
|
-
};
|
|
616
|
-
const chromeBarTpl = html`
|
|
617
|
-
<div
|
|
618
|
-
class="sb-chrome"
|
|
619
|
-
style="position:absolute;top:0;left:0;right:0;z-index:15;background:var(--bg-panel);border-bottom:1px solid var(--border)"
|
|
620
|
-
>
|
|
621
|
-
<div
|
|
622
|
-
style="display:flex;align-items:center;padding:4px 8px;gap:4px"
|
|
623
|
-
role="toolbar"
|
|
624
|
-
aria-label=${PROJECT_STYLES_TITLE}
|
|
625
|
-
>
|
|
626
|
-
<input
|
|
627
|
-
class="field-input"
|
|
628
|
-
style="flex:1;max-width:200px"
|
|
629
|
-
placeholder="Filter…"
|
|
630
|
-
aria-label="Filter the ${PROJECT_STYLES_TITLE} catalogue"
|
|
631
|
-
.value=${live(shell.stylebook.filter)}
|
|
632
|
-
@input=${onFilterInput}
|
|
633
|
-
/>
|
|
634
|
-
<button
|
|
635
|
-
class=${classMap({
|
|
636
|
-
active: shell.stylebook.customizedOnly,
|
|
637
|
-
"tb-toggle": true
|
|
638
|
-
})}
|
|
639
|
-
aria-pressed=${String(shell.stylebook.customizedOnly)}
|
|
640
|
-
title="Show only the elements this file has already styled"
|
|
641
|
-
@click=${onCustomizedToggle}
|
|
642
|
-
>
|
|
643
|
-
Customized
|
|
644
|
-
</button>
|
|
645
|
-
</div>
|
|
646
|
-
</div>
|
|
647
|
-
`;
|
|
752
|
+
const chromeBarNode = chromeBar(surface);
|
|
648
753
|
canvasWrap.style.overflow = "hidden";
|
|
649
754
|
const allPanelDefs = [];
|
|
650
755
|
if (hasMedia) {
|
|
@@ -665,31 +770,32 @@ function renderStylebookMode(surface, ctx) {
|
|
|
665
770
|
if (!hasMedia) {
|
|
666
771
|
const hasBaseWidth = effectiveMedia && effectiveMedia["--"];
|
|
667
772
|
const label = hasBaseWidth ? `${mediaDisplayName("--")} (${baseWidth}px)` : null;
|
|
668
|
-
|
|
669
|
-
|
|
773
|
+
panelEntries = [
|
|
774
|
+
ctx.canvasPanelEntry(hasBaseWidth ? "base" : null, label, !hasBaseWidth, hasBaseWidth ? baseWidth : undefined)
|
|
775
|
+
];
|
|
670
776
|
} else {
|
|
671
|
-
panelEntries = allPanelDefs.map((def) => {
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
777
|
+
panelEntries = allPanelDefs.map((def) => ctx.canvasPanelEntry(def.name, `${def.displayName} (${def.width}px)`, false, def.width));
|
|
778
|
+
}
|
|
779
|
+
const stage = await ctx.drawStage(surface, {
|
|
780
|
+
columnHeader: "hidden",
|
|
781
|
+
frame: "boards",
|
|
782
|
+
framePart: "panzoom",
|
|
783
|
+
frameVars: "--boards-inset:40px",
|
|
784
|
+
handles: "hidden",
|
|
785
|
+
hug: false,
|
|
786
|
+
innerPart: "boards",
|
|
787
|
+
lead: "chrome",
|
|
788
|
+
panels: panelEntries.map((entry) => entry.item)
|
|
789
|
+
}, panelEntries);
|
|
790
|
+
if (!stage) {
|
|
791
|
+
return;
|
|
792
|
+
}
|
|
793
|
+
const chromeHost = ctx.stageHost(surface, "chrome-host");
|
|
794
|
+
if (chromeHost && chromeHost.firstChild !== chromeBarNode) {
|
|
795
|
+
chromeHost.replaceChildren(chromeBarNode);
|
|
676
796
|
}
|
|
677
|
-
render(html`
|
|
678
|
-
${chromeBarTpl}
|
|
679
|
-
<div
|
|
680
|
-
class="panzoom-wrap"
|
|
681
|
-
style="transform-origin:0 0;padding-top:40px"
|
|
682
|
-
${ref((el) => {
|
|
683
|
-
if (el) {
|
|
684
|
-
surface.panzoomWrap = el;
|
|
685
|
-
}
|
|
686
|
-
})}
|
|
687
|
-
>
|
|
688
|
-
${repeat(panelEntries, (e) => e.panel.mediaName, (e) => e.tpl)}
|
|
689
|
-
</div>
|
|
690
|
-
`, canvasWrap);
|
|
691
797
|
const generated = buildStylebookDoc({
|
|
692
|
-
components:
|
|
798
|
+
components: componentRegistry2,
|
|
693
799
|
customizedOnly: Boolean(customizedOnly),
|
|
694
800
|
effectiveMedia: effectiveMedia ?? {},
|
|
695
801
|
effectiveStyle: getEffectiveStyle(tab?.doc.document?.style),
|
|
@@ -700,7 +806,7 @@ function renderStylebookMode(surface, ctx) {
|
|
|
700
806
|
const { panels } = surface;
|
|
701
807
|
for (const { panel } of panelEntries) {
|
|
702
808
|
panels.push(panel);
|
|
703
|
-
|
|
809
|
+
mountStylebookCanvas2(surface.renderGeneration, generated, panel.canvas, panel._width);
|
|
704
810
|
}
|
|
705
811
|
if (hasMedia) {
|
|
706
812
|
ctx.updateActivePanelHeaders(surface);
|
|
@@ -710,7 +816,7 @@ function renderStylebookMode(surface, ctx) {
|
|
|
710
816
|
}
|
|
711
817
|
function selectStylebookTag(tag, media, { panCanvas = false } = {}) {
|
|
712
818
|
shell.stylebook.selection = tag;
|
|
713
|
-
updateSession(
|
|
819
|
+
updateSession(activeTab2.value, {
|
|
714
820
|
selection: [[]],
|
|
715
821
|
ui: {
|
|
716
822
|
activeSelector: tag,
|
|
@@ -719,7 +825,7 @@ function selectStylebookTag(tag, media, { panCanvas = false } = {}) {
|
|
|
719
825
|
}
|
|
720
826
|
});
|
|
721
827
|
if (tag && panCanvas) {
|
|
722
|
-
|
|
828
|
+
panToStylebookTag2(tag);
|
|
723
829
|
}
|
|
724
830
|
}
|
|
725
831
|
|
|
@@ -756,6 +862,8 @@ function noopCommandDeps() {
|
|
|
756
862
|
var documentOpen = (ctx) => ctx.document.open;
|
|
757
863
|
var hasSelection = (ctx) => ctx.selection.count > 0 && ctx.editor.kind === "canvas";
|
|
758
864
|
var structurallyEditable = (ctx) => !ctx.selection.isRoot && ctx.selection.paths.every((path) => isSpliceablePath(path));
|
|
865
|
+
var SPLICEABLE_SELECTION = "an element selected on the canvas that has a sibling position: not the document root, a " + "repeater's template or a switch case";
|
|
866
|
+
var describePaths = (paths) => paths.map((path) => `[${path.join(", ")}]`).join(" and ");
|
|
759
867
|
function defaultCommands(deps) {
|
|
760
868
|
const commands = [
|
|
761
869
|
{
|
|
@@ -763,7 +871,7 @@ function defaultCommands(deps) {
|
|
|
763
871
|
title: "Save",
|
|
764
872
|
category: "File",
|
|
765
873
|
level: "document",
|
|
766
|
-
icon: "
|
|
874
|
+
icon: "floppy-disk",
|
|
767
875
|
keybinding: "mod+s",
|
|
768
876
|
menus: ["commandbar/primary", "statusbar/document", "palette"],
|
|
769
877
|
group: "1_file",
|
|
@@ -789,7 +897,7 @@ function defaultCommands(deps) {
|
|
|
789
897
|
title: "Open in Browser",
|
|
790
898
|
category: "View",
|
|
791
899
|
level: "document",
|
|
792
|
-
icon: "
|
|
900
|
+
icon: "arrow-square-out",
|
|
793
901
|
keybinding: "mod+shift+o",
|
|
794
902
|
menus: ["commandbar/primary", "statusbar/document", "palette"],
|
|
795
903
|
group: "2_output",
|
|
@@ -814,7 +922,7 @@ function defaultCommands(deps) {
|
|
|
814
922
|
title: "Undo",
|
|
815
923
|
category: "Edit",
|
|
816
924
|
level: "document",
|
|
817
|
-
icon: "
|
|
925
|
+
icon: "arrow-u-up-left",
|
|
818
926
|
keybinding: "mod+z",
|
|
819
927
|
menus: ["commandbar/primary", "palette"],
|
|
820
928
|
group: "1_history",
|
|
@@ -828,7 +936,7 @@ function defaultCommands(deps) {
|
|
|
828
936
|
title: "Redo",
|
|
829
937
|
category: "Edit",
|
|
830
938
|
level: "document",
|
|
831
|
-
icon: "
|
|
939
|
+
icon: "arrow-u-up-right",
|
|
832
940
|
keybinding: ["mod+shift+z", "mod+y"],
|
|
833
941
|
menus: ["commandbar/primary", "palette"],
|
|
834
942
|
group: "1_history",
|
|
@@ -849,10 +957,14 @@ function defaultCommands(deps) {
|
|
|
849
957
|
undo: "document",
|
|
850
958
|
when: hasSelection,
|
|
851
959
|
enablement: structurallyEditable,
|
|
852
|
-
requires:
|
|
960
|
+
requires: SPLICEABLE_SELECTION,
|
|
853
961
|
aiTool: {
|
|
854
962
|
name: "duplicate_node",
|
|
855
|
-
description: "Duplicate
|
|
963
|
+
description: "Duplicate elements in the document, inserting each copy after its original, as one " + "undoable step. The copies become the selection.",
|
|
964
|
+
report: ({ after }) => {
|
|
965
|
+
const n = after.selection.paths.length;
|
|
966
|
+
return `Duplicated ${n} element${n === 1 ? "" : "s"}; the ${n === 1 ? "copy is" : "copies are"} selected at ${describePaths(after.selection.paths)}.`;
|
|
967
|
+
}
|
|
856
968
|
},
|
|
857
969
|
run: () => deps.duplicateSelection()
|
|
858
970
|
},
|
|
@@ -868,12 +980,8 @@ function defaultCommands(deps) {
|
|
|
868
980
|
when: hasSelection,
|
|
869
981
|
enablement: (ctx) => structurallyEditable(ctx) && !ctx.selection.isRepeater,
|
|
870
982
|
requires: "an element with a sibling position that is not already a repeater",
|
|
871
|
-
aiTool: {
|
|
872
|
-
name: "repeat_node",
|
|
873
|
-
description: "Turn the selected element into a repeater template, rendering it once per item of a " + "data collection the author picks in the dialog this opens."
|
|
874
|
-
},
|
|
875
983
|
run: () => {
|
|
876
|
-
import("./convert-to-repeater-
|
|
984
|
+
(__preload("n64h8znc"), import("./convert-to-repeater-n64h8znc.js")).then(({ convertToRepeater }) => convertToRepeater());
|
|
877
985
|
}
|
|
878
986
|
},
|
|
879
987
|
{
|
|
@@ -889,10 +997,14 @@ function defaultCommands(deps) {
|
|
|
889
997
|
undo: "document",
|
|
890
998
|
when: hasSelection,
|
|
891
999
|
enablement: structurallyEditable,
|
|
892
|
-
requires:
|
|
1000
|
+
requires: SPLICEABLE_SELECTION,
|
|
893
1001
|
aiTool: {
|
|
894
1002
|
name: "delete_node",
|
|
895
|
-
description: "Delete the
|
|
1003
|
+
description: "Delete elements from the document as one undoable step.",
|
|
1004
|
+
report: ({ before, after }) => {
|
|
1005
|
+
const n = before.selection.paths.length;
|
|
1006
|
+
return `Deleted ${n} element${n === 1 ? "" : "s"} at ${describePaths(before.selection.paths)} in one undo step; the selection is now ${after.selection.count === 0 ? "empty" : "elsewhere"}.`;
|
|
1007
|
+
}
|
|
896
1008
|
},
|
|
897
1009
|
run: () => deps.deleteSelection()
|
|
898
1010
|
},
|
|
@@ -1075,7 +1187,7 @@ function inspectorFocusCommands(deps) {
|
|
|
1075
1187
|
});
|
|
1076
1188
|
}
|
|
1077
1189
|
|
|
1078
|
-
export { transposeStylebookStyle, PROJECT_STYLES_TITLE, PROJECT_STYLES_VIEW, tokenLabel, groupTokens, listTokenContexts, readTokenOverride, writeTokenOverride, addableContexts, stylebook_meta_default, renderStylebookMode, selectStylebookTag, INSPECTOR_TABS, noopCommandDeps, defaultCommands };
|
|
1190
|
+
export { transposeStylebookStyle, PROJECT_STYLES_TITLE, PROJECT_STYLES_VIEW, TOKEN_GROUPS, tokenLabel, groupTokens, listTokenContexts, readTokenOverride, writeTokenOverride, addableContexts, stylebook_meta_default, renderStylebookMode, selectStylebookTag, INSPECTOR_TABS, noopCommandDeps, defaultCommands };
|
|
1079
1191
|
|
|
1080
|
-
//# debugId=
|
|
1081
|
-
//# sourceMappingURL=studio-
|
|
1192
|
+
//# debugId=10489CF10762040B64756E2164756E21
|
|
1193
|
+
//# sourceMappingURL=studio-93zafjcm.js.map
|