@jxsuite/studio 2.3.0 → 2.4.1

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.
Files changed (47) hide show
  1. package/dist/chunks/{content-source-56xpvx83.js → content-source-cn9te96r.js} +8 -8
  2. package/dist/chunks/{convert-to-repeater-0xh9wwek.js → convert-to-repeater-65gjgdst.js} +7 -7
  3. package/dist/chunks/{extension-sections-g34239vm.js → extension-sections-mdgmqrry.js} +11 -11
  4. package/dist/chunks/{files-gkz202dp.js → files-dsh5g8j4.js} +12 -12
  5. package/dist/chunks/{format-host-pej3srnw.js → format-host-m9h45a79.js} +2 -2
  6. package/dist/chunks/{git-panel-4j6xbh8g.js → git-panel-rfs8pqjj.js} +7 -7
  7. package/dist/chunks/{layers-panel-8mvn8sgd.js → layers-panel-6cj5nf6a.js} +10 -10
  8. package/dist/chunks/{publish-panel-ptddc3kg.js → publish-panel-b0xh7b4y.js} +5 -5
  9. package/dist/chunks/{quick-search-j88azfs2.js → quick-search-a83fhnsh.js} +13 -13
  10. package/dist/chunks/{right-panel-egkaxy89.js → right-panel-hrw5kdh5.js} +9 -9
  11. package/dist/chunks/{studio-4058pg09.js → studio-0svvdm0a.js} +4 -4
  12. package/dist/chunks/{studio-5amdrjm4.js → studio-1d6bm7eg.js} +7 -7
  13. package/dist/chunks/{studio-50eed4c9.js → studio-40fm3hyr.js} +2 -2
  14. package/dist/chunks/{studio-0e4h32g6.js → studio-4m39t01b.js} +5 -5
  15. package/dist/chunks/{studio-5ne8mdx9.js → studio-675v08qj.js} +2 -2
  16. package/dist/chunks/{studio-cf4rk7kv.js → studio-91sdrn9x.js} +2 -2
  17. package/dist/chunks/{studio-bak2cyjr.js → studio-9sxn0eaa.js} +4 -4
  18. package/dist/chunks/{studio-3q65xvzv.js → studio-d1f2rqxh.js} +4 -4
  19. package/dist/chunks/{studio-a11d3a1b.js → studio-gfzyxa0m.js} +5 -5
  20. package/dist/chunks/{studio-x3etxs0s.js → studio-gqpbrrj5.js} +8 -8
  21. package/dist/chunks/{studio-10s469da.js → studio-h6553a8h.js} +71 -22
  22. package/dist/chunks/{studio-ncnet0ba.js → studio-jand3kjg.js} +10 -10
  23. package/dist/chunks/{studio-hk523hby.js → studio-kfq9ed73.js} +3 -3
  24. package/dist/chunks/{studio-hs8x23fv.js → studio-n9k15qdg.js} +8 -8
  25. package/dist/chunks/{studio-yxzgjq8q.js → studio-qb6vy1z1.js} +8 -8
  26. package/dist/chunks/{studio-vdpcpada.js → studio-qymkxbcq.js} +3 -3
  27. package/dist/chunks/{studio-zdkgwhkv.js → studio-rkr6pm84.js} +3 -3
  28. package/dist/chunks/{studio-cv606rs1.js → studio-rz861p2b.js} +5 -5
  29. package/dist/chunks/{studio-4enps87v.js → studio-tdt7b6qb.js} +6 -6
  30. package/dist/iframe-entry.js +73 -9
  31. package/dist/studio.js +46 -34
  32. package/package.json +6 -6
  33. package/src/canvas/canvas-live-render.ts +2 -4
  34. package/src/canvas/canvas-origin.ts +25 -0
  35. package/src/canvas/editable-actions.ts +37 -1
  36. package/src/canvas/iframe-editable-root.ts +27 -0
  37. package/src/canvas/iframe-host.ts +118 -7
  38. package/src/canvas/iframe-inline-edit.ts +64 -2
  39. package/src/canvas/iframe-protocol.ts +7 -0
  40. package/src/canvas/iframe-render.ts +38 -1
  41. package/src/editor/inline-edit-apply.ts +10 -4
  42. package/src/editor/inline-edit.ts +62 -4
  43. package/src/platforms/cloud.ts +9 -0
  44. package/src/services/ai-models.ts +14 -1
  45. package/src/types.ts +17 -0
  46. package/src/ui/ai-managed-connect.ts +18 -3
  47. package/styles/shell.css +7 -0
@@ -16,19 +16,19 @@ import {
16
16
  isMediaFile,
17
17
  loadUsages,
18
18
  usageWarning
19
- } from "./studio-4058pg09.js";
19
+ } from "./studio-0svvdm0a.js";
20
20
  import {
21
21
  showProgressModal
22
- } from "./studio-3q65xvzv.js";
22
+ } from "./studio-d1f2rqxh.js";
23
23
  import {
24
24
  deployStatusItem
25
- } from "./studio-5ne8mdx9.js";
25
+ } from "./studio-675v08qj.js";
26
26
  import {
27
27
  derivationOfPane,
28
28
  flushCanvasEdits,
29
29
  rectOf,
30
30
  tabOfPane
31
- } from "./studio-10s469da.js";
31
+ } from "./studio-h6553a8h.js";
32
32
  import {
33
33
  EDITOR_KIND_LABELS,
34
34
  PRIMARY_PANE,
@@ -54,7 +54,7 @@ import {
54
54
  showConfirmDialog,
55
55
  toRaw,
56
56
  workspace
57
- } from "./studio-hk523hby.js";
57
+ } from "./studio-kfq9ed73.js";
58
58
  import {
59
59
  ref,
60
60
  repeat
@@ -83,7 +83,7 @@ import {
83
83
  loadFormats,
84
84
  noFormatError,
85
85
  splitFormatDocument
86
- } from "./studio-50eed4c9.js";
86
+ } from "./studio-40fm3hyr.js";
87
87
  import {
88
88
  getPlatform
89
89
  } from "./studio-sas7mt3k.js";
@@ -15128,7 +15128,7 @@ function buildEntryFileSource(opts) {
15128
15128
  await writeEntry(path2, entry, patches);
15129
15129
  outcome(true);
15130
15130
  if (openTab2) {
15131
- const { reloadFileInTab } = await import("./files-gkz202dp.js");
15131
+ const { reloadFileInTab } = await import("./files-dsh5g8j4.js");
15132
15132
  reloadFileInTab(path2);
15133
15133
  }
15134
15134
  } catch (error) {
@@ -15293,4 +15293,4 @@ function createPagesSource() {
15293
15293
  export { markLocalMutation, isRecentLocal, startFsSync, cellValuesEqual, makeGridTabId, parseGridTabId, gridTabLabel, columnsFromSchema, inferColumnsFromRows, coerceCellInput, cellToText, ROW_KEY_FIELD, getGridController, createGridController, DRAFT_FIELD, DRAFT_MEANING, isDraftEntry, hasDraftAxis, setIncludeDrafts, attachJumpBarHost, mountJumpBar, buildMessageWithContext, clearMarkdownCache, beginTurn, recordWrite, endTurn, writesForTurn, renderChatHeader, renderMessageList, renderSessionsList, renderStatusbar, mountStatusbar, mediaTypeEssence, parseSourceForPath, saveFile, exportFile, serializeDocument, confirmFileDelete, renamePromptMessage, PATH_FIELD, collectionInfo, collectionDirs, listCollectionEntryIds, reloadDraftAwareGrids, createCollectionSource, createPagesSource };
15294
15294
 
15295
15295
  //# debugId=43284A78BBF6BE9864756E2164756E21
15296
- //# sourceMappingURL=studio-x3etxs0s.js.map
15296
+ //# sourceMappingURL=studio-gqpbrrj5.js.map
@@ -51,7 +51,7 @@ import {
51
51
  transactDoc,
52
52
  view,
53
53
  workspace
54
- } from "./studio-hk523hby.js";
54
+ } from "./studio-kfq9ed73.js";
55
55
  import {
56
56
  classMap,
57
57
  ifDefined,
@@ -106,7 +106,7 @@ import {
106
106
  import {
107
107
  formatByName,
108
108
  loadExtensions
109
- } from "./studio-50eed4c9.js";
109
+ } from "./studio-40fm3hyr.js";
110
110
  import {
111
111
  getPlatform,
112
112
  hasPlatform
@@ -2748,11 +2748,15 @@ async function resolve(source) {
2748
2748
  if (_resolveCache.has(source)) {
2749
2749
  return _resolveCache.get(source);
2750
2750
  }
2751
- const p = fetch(source).then((res) => {
2751
+ const p = fetch(source).then(async (res) => {
2752
2752
  if (!res.ok) {
2753
2753
  throw new Error(`Jx: failed to fetch ${source} (${res.status})`);
2754
2754
  }
2755
- return res.json();
2755
+ const contentType = res.headers?.get("Content-Type") ?? "";
2756
+ if (contentType.includes("text/html")) {
2757
+ throw new Error(`Jx: ${source} returned HTML, not a document — the host answered a missing file with its ` + `app shell (a single-page fallback), so this path is not served.`);
2758
+ }
2759
+ return await res.json();
2756
2760
  });
2757
2761
  _resolveCache.set(source, p);
2758
2762
  return p;
@@ -3992,6 +3996,16 @@ function getPath2(obj, path) {
3992
3996
  return readPath(obj, path);
3993
3997
  }
3994
3998
  var _privatePropWarned = new Set;
3999
+ function instanceSupplies(el, key) {
4000
+ if (Object.hasOwn(el, key)) {
4001
+ return true;
4002
+ }
4003
+ if (el.hasAttribute(key)) {
4004
+ return true;
4005
+ }
4006
+ const kebab = key.replaceAll(/[A-Z]/gu, (c) => `-${c.toLowerCase()}`);
4007
+ return kebab !== key && el.hasAttribute(kebab);
4008
+ }
3995
4009
  function refusePrivateProp(key, where) {
3996
4010
  if (!isPrivateStateKey(key)) {
3997
4011
  return false;
@@ -4139,7 +4153,7 @@ async function defineElement(source, baseUrl) {
4139
4153
  if (isPrivateStateKey(key)) {
4140
4154
  continue;
4141
4155
  }
4142
- if (key in this && this[key] !== undefined) {
4156
+ if (key in this && this[key] !== undefined && instanceSupplies(this, key)) {
4143
4157
  state[key] = this[key];
4144
4158
  }
4145
4159
  }
@@ -4641,6 +4655,14 @@ function canvasBaseOrigin() {
4641
4655
  }
4642
4656
  return location.origin;
4643
4657
  }
4658
+ function documentBase(projectRoot) {
4659
+ const declared = hasPlatform() ? getPlatform().documentBaseUrl : undefined;
4660
+ if (declared) {
4661
+ return declared.endsWith("/") ? declared : `${declared}/`;
4662
+ }
4663
+ const root = projectRoot || "";
4664
+ return `${canvasBaseOrigin()}/${root ? `${root}/` : ""}`;
4665
+ }
4644
4666
  function loopbackAssetSrc(path) {
4645
4667
  if (path.startsWith("data:") || path.startsWith("blob:") || path.startsWith("http") || path.startsWith("views://")) {
4646
4668
  return path;
@@ -5197,9 +5219,7 @@ async function resolveCanvasDocument(doc, tab) {
5197
5219
  }
5198
5220
  }
5199
5221
  }
5200
- const root = projectState?.projectRoot || "";
5201
- const docPrefix = root ? `${root}/` : "";
5202
- const docBase = S.documentPath ? `${canvasBaseOrigin()}/${docPrefix}${S.documentPath}` : undefined;
5222
+ const docBase = S.documentPath ? new URL(S.documentPath, documentBase(projectState?.projectRoot)).href : undefined;
5203
5223
  if (isPage && tab) {
5204
5224
  const { previewParams } = tab.session.ui;
5205
5225
  if (previewParams && Object.keys(previewParams).length > 0) {
@@ -5577,19 +5597,20 @@ function applyInlineCommit(tab, path, children, textContent, opts = {}) {
5577
5597
  }
5578
5598
  function applyInlinePropCommit(tab, path, prop, value) {
5579
5599
  if (!tab) {
5580
- return;
5600
+ return false;
5581
5601
  }
5582
5602
  const node = getNodeAtPath(tab.doc.document, path);
5583
5603
  if (!node) {
5584
- return;
5604
+ return false;
5585
5605
  }
5586
5606
  const current = node.$props?.[prop];
5587
5607
  if (`${current ?? ""}` === value) {
5588
- return;
5608
+ return false;
5589
5609
  }
5590
5610
  transactDoc(tab, (t) => {
5591
5611
  mutateUpdateProp(t, path, prop, value);
5592
5612
  });
5613
+ return true;
5593
5614
  }
5594
5615
  function applyBlockMerge(tab, fromPath, intoPath) {
5595
5616
  if (!tab) {
@@ -6420,6 +6441,22 @@ function withEchoSuppressed(host, paths, fn) {
6420
6441
  echoOrigin = null;
6421
6442
  }
6422
6443
  }
6444
+ var propEchoPending = null;
6445
+ var propRebuildAt = null;
6446
+ function needsReleaseReconcile(transacted, pending, path) {
6447
+ return !transacted && pending === path;
6448
+ }
6449
+ function reconcileInstance(state, path) {
6450
+ const tab = hostTab(state);
6451
+ if (!tab) {
6452
+ return;
6453
+ }
6454
+ const node = getNodeAtPath(tab.doc.document, path);
6455
+ if (!node) {
6456
+ return;
6457
+ }
6458
+ postPatchToHosts([{ key: "$props", op: "set-key", path, value: node.$props }], tab.id);
6459
+ }
6423
6460
  function hostTab(state) {
6424
6461
  return state.tabId ? workspace.tabs.get(state.tabId) ?? null : null;
6425
6462
  }
@@ -7092,6 +7129,10 @@ function handleMessage(state, msg) {
7092
7129
  activeEditHost.snapshot = null;
7093
7130
  }
7094
7131
  activeEditHost = state;
7132
+ if (msg.prop !== undefined && propRebuildAt === serializeJxPath(msg.path)) {
7133
+ deferEnterEdit(state, msg.path, undefined, msg.prop);
7134
+ }
7135
+ propRebuildAt = null;
7095
7136
  editRunSeq += 1;
7096
7137
  state.editing = true;
7097
7138
  state.editingProp = msg.prop ?? null;
@@ -7135,9 +7176,15 @@ function handleMessage(state, msg) {
7135
7176
  const applyProp = () => applyInlinePropCommit(hostTab(state), msg.path, msg.prop, msg.value);
7136
7177
  if (msg.inPlace) {
7137
7178
  withEchoSuppressed(state, [msg.path], applyProp);
7138
- } else {
7139
- applyProp();
7179
+ propEchoPending = serializeJxPath(msg.path);
7180
+ return;
7181
+ }
7182
+ const transacted = applyProp();
7183
+ if (needsReleaseReconcile(transacted, propEchoPending, serializeJxPath(msg.path))) {
7184
+ reconcileInstance(state, msg.path);
7140
7185
  }
7186
+ propEchoPending = null;
7187
+ propRebuildAt = transacted ? serializeJxPath(msg.path) : null;
7141
7188
  return;
7142
7189
  }
7143
7190
  case "editMerge": {
@@ -7230,25 +7277,27 @@ function onDomUpdated(state, gen) {
7230
7277
  requestPresence(state);
7231
7278
  hideInsertZoneNow(state);
7232
7279
  if (state.pendingEnterEdit && gen >= state.pendingEnterEdit.minGen) {
7233
- const { offset, path } = state.pendingEnterEdit;
7280
+ const { offset, path, prop } = state.pendingEnterEdit;
7234
7281
  state.pendingEnterEdit = null;
7235
7282
  if (state.tabId !== null && state.tabId === tabOfContainer(state.canvasEl)?.id) {
7236
- reenterEdit(state, path, offset);
7283
+ reenterEdit(state, path, offset, prop);
7237
7284
  }
7238
7285
  }
7239
7286
  }
7240
- function deferEnterEdit(state, path, offset) {
7287
+ function deferEnterEdit(state, path, offset, prop) {
7241
7288
  state.pendingEnterEdit = {
7242
7289
  minGen: state.lastRenderedGen,
7243
7290
  path: [...path],
7244
- ...offset === undefined ? {} : { offset }
7291
+ ...offset === undefined ? {} : { offset },
7292
+ ...prop === undefined ? {} : { prop }
7245
7293
  };
7246
7294
  }
7247
- function reenterEdit(state, path, offset) {
7295
+ function reenterEdit(state, path, offset, prop) {
7248
7296
  state.channel.post({
7249
7297
  kind: "enterEdit",
7250
7298
  path: [...path],
7251
- ...offset === undefined ? {} : { offset }
7299
+ ...offset === undefined ? {} : { offset },
7300
+ ...prop === undefined ? {} : { prop }
7252
7301
  });
7253
7302
  }
7254
7303
  function redispatchWheel(state, msg) {
@@ -7562,7 +7611,7 @@ function openPageAction(label = "Open a page…") {
7562
7611
  return {
7563
7612
  label,
7564
7613
  run: () => {
7565
- import("./quick-search-j88azfs2.js").then((m) => {
7614
+ import("./quick-search-a83fhnsh.js").then((m) => {
7566
7615
  m.openQuickSearch();
7567
7616
  });
7568
7617
  }
@@ -7834,5 +7883,5 @@ function railPanelSet() {
7834
7883
 
7835
7884
  export { KEY_SCOPES, CATEGORIES, checkRecordPlacements, intlHelpersClause, PURE_METHOD_OPS, BLESSED_OPERATORS, BLESSED_GLOBALS, isMutating, evaluateExpression, rectOf, loopbackAssetSrc, getPreviewNavigateHandler, activeCanvasSurface, tabOfPane, derivationOfPane, surfacesShowingTab, canvasModeOfTab, canvasModeOfPane, activeMediaOfPane, paneOfContainer, tabOfContainer, dynamicRouteParams, documentUrlPattern, pagePathsDef, invalidateParamValues, loadParamValues, isComponentDoc, componentPropEntries, contentMountFor, previewAssetSrc, SPAN_FULL_RENDER, SPAN_MOUNT_CANVAS, SPAN_PATCH_BATCH, canvasPerf, recordEscalation, timeSpan, timeSpanAsync, mediaDisplayName, defaultDef, parentCursorToIframe, serializeJxPath, elements_meta_default, getInlineActions, isInlineElement, isEditing, bubbleInlinePath, stageZoom, canvasPanelTemplate, observeCenterUntilStable, applyTransform, applyEditZoom, setEditZoom, requestEditZoom, fitToScreen, getFit, setFit, markExplicitZoom, setUserZoom, fitOnCanvasEntry, resetZoom, panToElement, canvasBaseViewsFor, canvasBaseViewOf, previewStateOf, setCanvasView, registerCanvasViewCommands, updateActivePanelHeaders, setDragGhost, moveDragGhost, clearDragGhost, disableNativeDragPreview, attachInstruction, extractInstruction, hasElement, enableElement, disableElement, removePackageElements, removeElementRef, setSkipServerFunctions, runScoped, buildScope, renderNode, pureSchemeOf, renderComponentPreview, registerLayersDnD, registerComponentsDnD, registerElementsDnD, applyDropInstruction, sawIframeDragOver, allowAutoRequestsOnNextRender, requestCanvasEval, flushCanvasEdits, liveDragHostAt, beginDragSession, currentDragSession, hostDragGeometry, canvasIdleBlockers, canvasPointAt, revealCanvasPath, adoptCanvasPreviewMode, postDragMessage, endDragSession, clearDropIndicator, setNativeDragEnterHandler, setInsertZoneClickHandler, setFileDropHandler, setCanvasSlashHandler, setCanvasContextMenuHandler, setStylebookHitHandler, isCaretActive, setToolbarRefresh, setCanvasPointerDownHandler, setIframePatchEscalation, postPatchToHosts, dragHostTab, releaseCanvasHosts, mountIframeCanvas, mountStylebookCanvas, postColorSchemeToLiveHosts, postLocaleToLiveHosts, postSiteStyleToLiveHosts, postStyleUpdateToStylebookHosts, panToStylebookTag, getEditSnapshot, setKeymapSource, postApplyFormat, postOpenSlash, commitActiveEditSession, getEditBarAnchorRect, clickAnythingTo, staleSelectionMessage, openPageAction, renderEmptyState, panelContext, registerPanel, getPanel, listPanels, isPanelVisible, railGroups, railPanelSet };
7836
7885
 
7837
- //# debugId=9961004C8296D6DB64756E2164756E21
7838
- //# sourceMappingURL=studio-10s469da.js.map
7886
+ //# debugId=A9B4FBB2B1F0CA1864756E2164756E21
7887
+ //# sourceMappingURL=studio-h6553a8h.js.map
@@ -3,17 +3,17 @@ import {
3
3
  measuredRowHeight,
4
4
  revealListRow,
5
5
  watchListWindow
6
- } from "./studio-cf4rk7kv.js";
6
+ } from "./studio-91sdrn9x.js";
7
7
  import {
8
8
  autoSyncProjectOnOpen,
9
9
  cleanupGitPanel,
10
10
  maybePromptJxsuiteUpdate,
11
11
  shouldInstallAutomation
12
- } from "./studio-4enps87v.js";
12
+ } from "./studio-tdt7b6qb.js";
13
13
  import {
14
14
  openCsvGridTab,
15
15
  openPagesGrid
16
- } from "./studio-0e4h32g6.js";
16
+ } from "./studio-4m39t01b.js";
17
17
  import {
18
18
  collectionDirs,
19
19
  collectionInfo,
@@ -21,20 +21,20 @@ import {
21
21
  markLocalMutation,
22
22
  parseSourceForPath,
23
23
  renamePromptMessage
24
- } from "./studio-x3etxs0s.js";
24
+ } from "./studio-gqpbrrj5.js";
25
25
  import {
26
26
  UPLOAD_ACCEPT,
27
27
  invalidateUsages,
28
28
  isImage,
29
29
  uploadAssets
30
- } from "./studio-4058pg09.js";
30
+ } from "./studio-0svvdm0a.js";
31
31
  import {
32
32
  showProgressModal
33
- } from "./studio-3q65xvzv.js";
33
+ } from "./studio-d1f2rqxh.js";
34
34
  import {
35
35
  rectOf,
36
36
  registerPanel
37
- } from "./studio-10s469da.js";
37
+ } from "./studio-h6553a8h.js";
38
38
  import {
39
39
  activateTab,
40
40
  activeRegistry,
@@ -61,7 +61,7 @@ import {
61
61
  setWorkspaceProject,
62
62
  showPromptDialog,
63
63
  workspace
64
- } from "./studio-hk523hby.js";
64
+ } from "./studio-kfq9ed73.js";
65
65
  import {
66
66
  classMap
67
67
  } from "./studio-twsafr1e.js";
@@ -94,7 +94,7 @@ import {
94
94
  noFormatError,
95
95
  refreshExtensionUi,
96
96
  refreshFormats
97
- } from "./studio-50eed4c9.js";
97
+ } from "./studio-40fm3hyr.js";
98
98
  import {
99
99
  getPlatform,
100
100
  hasPlatform
@@ -1468,4 +1468,4 @@ function registerFilesPanel() {
1468
1468
  export { ensureDependenciesInstalled, entryCollection, entryCollections, collectionOfPath, seedEntry, missingRequired, hydrateRecentProjects, getRecentProjects, addRecentProject, removeRecentProject, clearRecentProjects, getRecentFiles, trackRecentFile, loadDirectory, loadProject, openProject, initProjectRepo, findHomePage, openHomePage, openLastSessionOrHome, renderFilesTemplate, FILE_ROW_HEIGHT, isFileDrag, uploadFilesToDir, pickAndUploadTo, registerFileTreeDnD, createFileIn, openFileInTab, openFileInPane, reloadCleanTab, reloadFileInTab, registerFilesPanel };
1469
1469
 
1470
1470
  //# debugId=AF54EB1634A6A49164756E2164756E21
1471
- //# sourceMappingURL=studio-ncnet0ba.js.map
1471
+ //# sourceMappingURL=studio-jand3kjg.js.map
@@ -26,7 +26,7 @@ import {
26
26
  formatByName,
27
27
  formatForPath,
28
28
  loadedMonaco
29
- } from "./studio-50eed4c9.js";
29
+ } from "./studio-40fm3hyr.js";
30
30
  import {
31
31
  getPlatform
32
32
  } from "./studio-sas7mt3k.js";
@@ -6443,7 +6443,7 @@ function extensionsKey(config) {
6443
6443
  return JSON.stringify(config.extensions ?? null);
6444
6444
  }
6445
6445
  async function refreshExtensionSurfaces() {
6446
- const { loadFormats, refreshExtensionUi, refreshFormats } = await import("./format-host-pej3srnw.js");
6446
+ const { loadFormats, refreshExtensionUi, refreshFormats } = await import("./format-host-m9h45a79.js");
6447
6447
  refreshFormats();
6448
6448
  loadFormats();
6449
6449
  refreshExtensionUi(getPlatform());
@@ -6679,4 +6679,4 @@ async function updateSiteConfig(patch) {
6679
6679
  export { errorMessage, LANGUAGE_TAG_PATTERN, canonicalizeLocale, isWellFormedLocale, localeDirection, localeLabel, resolveI18n, localeOfPath, servedLocaleOfPath, translationKeyOfPath, translationPathFor, EDITOR_KIND_LABELS, editorKindForMode, canvasViewForMode, inCanvas, hasSelection, hasElementSelection, emptyContext, makeContext, keyScopeStack, effectScope, onScopeDispose, effect, onEffectCleanup, reactive, toRaw, isRef, ref2 as ref, shallowRef, computed, now, problems, notify, dismiss, clearProblems, problemCount, view, STAGE_CLASS, nextRenderGeneration, surfaceForPane, allCanvasSurfaces, stageContaining, registerCanvasSurface, createPaneSurface, setSurfaceTeardown, disposePaneSurface, BUFFER_COMMIT, bufferWrites, commitBufferWrites, cancelBufferWrites, bufferIsLive, bufferMovedOn, commitTabBuffers, tabBufferUnsaved, PROJECT_CONFIG_PATH, editorKindOf, editorKindsOf, modeForEditorKind, primarySelection, selectionAnchor, isSelected, cloneSelection, toggleSelected, rangeSelection, isSpliceablePath, structuralBatch, uniquePaths, unifyValues, setPatchConsumer, recordDocOp, transactDoc, transact, beginBatch, endBatch2 as endBatch, isBatching, batchTab, setHistoryDelegate, canUndo, canRedo, undo, redo, mutateInsertNode, mutateRemoveNode, mutateDuplicateNode, mutateRemoveNodes, mutateDuplicateNodes, mutateWrapNode, mutateMoveNode, mutateUpdateProperty, mutateUpdateStyle, mutateUpdateAttribute, mutateUpdateMediaStyle, mutateUpdateNestedStyle, mutateUpdateMediaNestedStyle, mutateUpdateNestedStylePath, mutateUpdateMediaNestedStylePath, mutateReplaceStyle, mutateAddDef, mutateRemoveDef, mutateUpdateDef, mutateRenameDef, mutateUpdateProp, mutateAddSwitchCase, mutateRemoveSwitchCase, mutateRenameSwitchCase, mutateUpdateFrontmatter, serializeProjectConfig, commitProjectConfig, adoptProjectConfig, REGION_ATTR, resolveRegion, REGION_FOR_FOCUS, paneRegion, paneStripRegion, navigatorPanelRegion, inspectorTabRegion, NAVIGATOR_STATEMENTS_REGION, inspectorStatementsRegion, bottomPanelRegion, overlayRegion, setActiveRegistry, activeRegistry, initLayers, isModalOpen, showDialog, showConfirmDialog, showSaveDiscardDialog, showPromptDialog, openModal, renderPopover, popoverLayerFor, getLayerSlot, overlayIdleBlockers, getEffectiveMedia, getEffectiveStyle, getEffectiveImports, getEffectiveElements, getEffectiveHead, getEffectiveLocales, invalidateLayoutCache, getEffectiveLayoutPath, resolveLayoutDoc, distributePageIntoLayout, updateSiteConfig, collabState, isCollabPath, stringArg, optionalStringArg, boundedNumberArg, booleanArg, enumArg, pathArg, nullablePathArg, pathListArg, argsSchema, enumProperty, numberProperty, booleanProperty, pathProperty, pathListProperty, stringProperty, restoreSession, camelToKebab, camelToLabel, toCamelCase, kebabToLabel, propLabel, attrLabel, abbreviateValue, inferInputType, findContentTypeSchema, friendlyNameToVar, varDisplayName, parseCemType, jsonClone, configureCollabSerializer, configureCollabParser, configureCollabNotifier, collabSourceContext, collabReadOnly, collabSave, flushAllCollab, setCollabEnabled, isCollabEnabled, PRIMARY_PANE, workspace, activeTab, activePane, paneById, paneOfTab, focusPane, isPaneFocused, sidePane, receivingPane, detachTab, insertIntoPane, setWorkspaceProject, isTabActive, tabIsLive, openTab, promoteTab, promoteDirtyPreviewTabs, setTabPinned, moveTab, closeTab, closeAllTabs, replaceAllTabs, activateTab, moveTabToPane, renameTab, registerTabCommands, requireNavigatorPanelId, DEFAULT_INSPECTOR_TAB, isInspectorTabId, BOTTOM_TAB_IDS, DEFAULT_BOTTOM_TAB, isBottomTabId, CHROME_THEMES, DOCK_IDS, DOCK_DEFAULT_SIZES, setPaneSplit, shell, persistDocks, persistedSession, markSessionRestored, flushSession, monacoTheme, registerShellSurface, mountShell, setDockCollapsed, setDockSize, setActivityTab, setBottomTab, setChromeTheme, toggleActivityTab, setLayoutSelection, resetProjectShell, registerShellViewCommands };
6680
6680
 
6681
6681
  //# debugId=BC232D1D1532287464756E2164756E21
6682
- //# sourceMappingURL=studio-hk523hby.js.map
6682
+ //# sourceMappingURL=studio-kfq9ed73.js.map
@@ -19,7 +19,7 @@ import {
19
19
  renderOperandEditor,
20
20
  resolveContextPointer,
21
21
  slotMode
22
- } from "./studio-zdkgwhkv.js";
22
+ } from "./studio-rkr6pm84.js";
23
23
  import {
24
24
  live
25
25
  } from "./studio-c31yb4t6.js";
@@ -43,7 +43,7 @@ import {
43
43
  uploadAssets,
44
44
  usageFiles,
45
45
  usageHeadline
46
- } from "./studio-4058pg09.js";
46
+ } from "./studio-0svvdm0a.js";
47
47
  import {
48
48
  attachInstruction,
49
49
  canvasModeOfTab,
@@ -64,7 +64,7 @@ import {
64
64
  requestCanvasEval,
65
65
  staleSelectionMessage,
66
66
  tabOfPane
67
- } from "./studio-10s469da.js";
67
+ } from "./studio-h6553a8h.js";
68
68
  import {
69
69
  BUFFER_COMMIT,
70
70
  NAVIGATOR_STATEMENTS_REGION,
@@ -129,7 +129,7 @@ import {
129
129
  varDisplayName,
130
130
  view,
131
131
  workspace
132
- } from "./studio-hk523hby.js";
132
+ } from "./studio-kfq9ed73.js";
133
133
  import {
134
134
  classMap,
135
135
  ifDefined
@@ -172,7 +172,7 @@ import {
172
172
  loadExtensions,
173
173
  loadMonaco,
174
174
  mountStillWanted
175
- } from "./studio-50eed4c9.js";
175
+ } from "./studio-40fm3hyr.js";
176
176
  import {
177
177
  getPlatform
178
178
  } from "./studio-sas7mt3k.js";
@@ -5128,10 +5128,10 @@ function renderUsagesSection(tagName, componentPath) {
5128
5128
  `;
5129
5129
  }
5130
5130
  function openUsage(path) {
5131
- import("./files-gkz202dp.js").then((m) => m.openFileInTab(path));
5131
+ import("./files-dsh5g8j4.js").then((m) => m.openFileInTab(path));
5132
5132
  }
5133
5133
  function showLogicTab() {
5134
- import("./right-panel-egkaxy89.js").then((m) => m.setInspectorTab("events"));
5134
+ import("./right-panel-hrw5kdh5.js").then((m) => m.setInspectorTab("events"));
5135
5135
  }
5136
5136
  function renderPropertiesPanelTemplate(ctx) {
5137
5137
  const tab = activeTab.value;
@@ -7000,4 +7000,4 @@ function registerSignalsCommands(registry) {
7000
7000
  export { isSchemeQuery, schemeOfQuery, parseMediaEntries, DERIVE_PRESETS, PRESET_LABELS, declaredMedia, installDerivationEffects, presetRefusal, deriveRefusal, pinRefusal, derivationCommands, invalidateMediaCache, renderMediaPicker, spTextField, spTextArea, spNumberField, unwrapSignal, dataTypeLabel, registerDataExplorerCommands, registerDataPanel, livePreviewExpression, closeFunctionEditor, logicTarget, revealLogicPanel, openLogicTarget, registerLogicPanel, registerFormulaEditorCommands, JxColorPopover, isColorPopoverOpen, css_meta_default, initCssData, getCssInitialMap, allConditionsPass, autoOpenSections, getLonghands, expandShorthand, compressShorthand, expandBorderSide, compressBorderSide, widgetForType2 as widgetForType, renderStatementEditor, mapSignalsFor, bindableSignalNames, defaultAsString, invalidatePageRouteCache, renderPropertiesPanelTemplate, isInspectorSectionOpen, setInspectorSection, inspectorCommands, registerInspectorCommands, defCategory, defBadgeLabel, isCustomElementDoc, collectCssParts, renderSignalsTemplate, registerSignalsCommands };
7001
7001
 
7002
7002
  //# debugId=9BF36A7266D05ECB64756E2164756E21
7003
- //# sourceMappingURL=studio-hs8x23fv.js.map
7003
+ //# sourceMappingURL=studio-n9k15qdg.js.map
@@ -3,19 +3,19 @@ import {
3
3
  noopCommandDeps,
4
4
  selectStylebookTag,
5
5
  stylebook_meta_default
6
- } from "./studio-a11d3a1b.js";
6
+ } from "./studio-gfzyxa0m.js";
7
7
  import {
8
8
  dataTypeLabel,
9
9
  defCategory,
10
10
  inspectorCommands,
11
11
  unwrapSignal
12
- } from "./studio-hs8x23fv.js";
12
+ } from "./studio-n9k15qdg.js";
13
13
  import {
14
14
  listWindow,
15
15
  measuredRowHeight,
16
16
  revealListRow,
17
17
  watchListWindow
18
- } from "./studio-cf4rk7kv.js";
18
+ } from "./studio-91sdrn9x.js";
19
19
  import {
20
20
  VFile,
21
21
  VFileMessage,
@@ -27,7 +27,7 @@ import {
27
27
  } from "./studio-bw5dz6km.js";
28
28
  import {
29
29
  usagesSupported
30
- } from "./studio-4058pg09.js";
30
+ } from "./studio-0svvdm0a.js";
31
31
  import {
32
32
  KEY_SCOPES,
33
33
  activeCanvasSurface,
@@ -43,7 +43,7 @@ import {
43
43
  rectOf,
44
44
  registerPanel,
45
45
  renderEmptyState
46
- } from "./studio-10s469da.js";
46
+ } from "./studio-h6553a8h.js";
47
47
  import {
48
48
  activeRegistry,
49
49
  activeTab,
@@ -81,7 +81,7 @@ import {
81
81
  transactDoc,
82
82
  view,
83
83
  workspace
84
- } from "./studio-hk523hby.js";
84
+ } from "./studio-kfq9ed73.js";
85
85
  import {
86
86
  classMap,
87
87
  ifDefined,
@@ -14172,7 +14172,7 @@ function elementCommands(deps) {
14172
14172
  if (!target?.rerender) {
14173
14173
  return;
14174
14174
  }
14175
- const { startLayerTitleEdit } = await import("./layers-panel-8mvn8sgd.js");
14175
+ const { startLayerTitleEdit } = await import("./layers-panel-6cj5nf6a.js");
14176
14176
  startLayerTitleEdit(target.path, target.rerender);
14177
14177
  }
14178
14178
  }
@@ -15173,4 +15173,4 @@ function registerLayersPanel() {
15173
15173
  export { findEnclosingRepeater, convertToComponent, showSlashMenu, showSlashMenuAtRect, dismissSlashMenu, handleSlashMenuKey, parseChord, normalizeChord, chordFromEvent, formatChord, overlappingScopes, chordsInScopes, CommandUnavailableError, createCommandRegistry, initBlockActionBar, formatCommands, registerSelectionCommands, dismissLinkPopover, dismissBlockActionBar, suppressBlockActionBar, releaseBlockActionBar, isEditChromeTarget, renderBlockActionBar, outlineLabel, OUTLINE_ROW_MAX_ITEMS, renderRowCommands, clearHoverActions, onTreeHover, afterTreeRender, indentWidth, OUTLINE_ROW_HEIGHT, outlineRowPath, applyTreeRovingTabindex, applyRowSelection, onTreeKeydown, startLayerTitleEdit, renderLayersTemplate, registerLayersPanel, pasteNode, clipboardCommands, setContextMenuNavigate, liveElementCommands, dismissContextMenu, showContextMenu };
15174
15174
 
15175
15175
  //# debugId=5DE335A028CC7DD364756E2164756E21
15176
- //# sourceMappingURL=studio-yxzgjq8q.js.map
15176
+ //# sourceMappingURL=studio-qb6vy1z1.js.map
@@ -10,11 +10,11 @@ import {
10
10
  noteDeployment,
11
11
  platformSupportsPublish,
12
12
  writeDeployConfig
13
- } from "./studio-5ne8mdx9.js";
13
+ } from "./studio-675v08qj.js";
14
14
  import {
15
15
  activeRegistry,
16
16
  openModal
17
- } from "./studio-hk523hby.js";
17
+ } from "./studio-kfq9ed73.js";
18
18
  import {
19
19
  html
20
20
  } from "./studio-5x5774ak.js";
@@ -387,4 +387,4 @@ function openPublishPanel() {
387
387
  export { seedPublishConnected, openPublishPanel };
388
388
 
389
389
  //# debugId=32DE20DAF46B08AA64756E2164756E21
390
- //# sourceMappingURL=studio-vdpcpada.js.map
390
+ //# sourceMappingURL=studio-qymkxbcq.js.map
@@ -8,12 +8,12 @@ import {
8
8
  intlHelpersClause,
9
9
  rectOf,
10
10
  renderEmptyState
11
- } from "./studio-10s469da.js";
11
+ } from "./studio-h6553a8h.js";
12
12
  import {
13
13
  LANGUAGE_TAG_PATTERN,
14
14
  activeTab,
15
15
  getLayerSlot
16
- } from "./studio-hk523hby.js";
16
+ } from "./studio-kfq9ed73.js";
17
17
  import {
18
18
  classMap,
19
19
  ifDefined,
@@ -4229,4 +4229,4 @@ function resolveContextPointer(pointer, opts) {
4229
4229
  export { renderProvenanceChip, countProvenance, renderProvenanceDots, renderFieldRow, renderKvRow, renderStaticKvRow, chipSummary, renderFormulaChips, applyCatalogPick, globalEntries, namedFormulaEntries, formulaCatalog, openFormulaPalette, REDIRECT_STATUSES, VALUE_SOURCE_LABELS, slotMode, capsForPosition, isActionExpression, expressionHint, renderOperandEditor, renderExpressionEditor, switchSlotMode, renderDynamicSlot, registerFormControl, getFormControl, referenceTarget, NULL_FORM_CONTEXT, renderForm, resolveContextPointer };
4230
4230
 
4231
4231
  //# debugId=D548DF8319DDE4D664756E2164756E21
4232
- //# sourceMappingURL=studio-zdkgwhkv.js.map
4232
+ //# sourceMappingURL=studio-rkr6pm84.js.map
@@ -1,22 +1,22 @@
1
1
  import {
2
2
  renderForm,
3
3
  resolveContextPointer
4
- } from "./studio-zdkgwhkv.js";
4
+ } from "./studio-rkr6pm84.js";
5
5
  import {
6
6
  validateProjectConfig
7
7
  } from "./studio-6kv3apa9.js";
8
8
  import {
9
9
  deriveSecretEnvName
10
- } from "./studio-0e4h32g6.js";
10
+ } from "./studio-4m39t01b.js";
11
11
  import {
12
12
  paneOfContainer
13
- } from "./studio-10s469da.js";
13
+ } from "./studio-h6553a8h.js";
14
14
  import {
15
15
  commitProjectConfig,
16
16
  errorMessage,
17
17
  notify,
18
18
  paneRegion
19
- } from "./studio-hk523hby.js";
19
+ } from "./studio-kfq9ed73.js";
20
20
  import {
21
21
  html,
22
22
  nothing,
@@ -332,4 +332,4 @@ function renderMapLayout(contribution, opts, rerender, paneId) {
332
332
  export { selectContributedEntry, renderContributedSection };
333
333
 
334
334
  //# debugId=C8B3D1846143F4B964756E2164756E21
335
- //# sourceMappingURL=studio-cv606rs1.js.map
335
+ //# sourceMappingURL=studio-rz861p2b.js.map
@@ -8,14 +8,14 @@ import {
8
8
  activityIdleBlockers,
9
9
  beginActivity,
10
10
  showProgressModal
11
- } from "./studio-3q65xvzv.js";
11
+ } from "./studio-d1f2rqxh.js";
12
12
  import {
13
13
  canvasIdleBlockers,
14
14
  canvasPointAt,
15
15
  registerPanel,
16
16
  renderEmptyState,
17
17
  revealCanvasPath
18
- } from "./studio-10s469da.js";
18
+ } from "./studio-h6553a8h.js";
19
19
  import {
20
20
  activeTab,
21
21
  collabState,
@@ -28,7 +28,7 @@ import {
28
28
  showConfirmDialog,
29
29
  showDialog,
30
30
  showPromptDialog
31
- } from "./studio-hk523hby.js";
31
+ } from "./studio-kfq9ed73.js";
32
32
  import {
33
33
  ref,
34
34
  repeat
@@ -46,7 +46,7 @@ import {
46
46
  } from "./studio-cjm7fdjf.js";
47
47
  import {
48
48
  formatForPath
49
- } from "./studio-50eed4c9.js";
49
+ } from "./studio-40fm3hyr.js";
50
50
  import {
51
51
  getPlatform,
52
52
  hasPlatform,
@@ -346,7 +346,7 @@ async function createGithubRepository({ projectName }) {
346
346
  });
347
347
  return false;
348
348
  }
349
- const { refreshGitStatus } = await import("./git-panel-4j6xbh8g.js");
349
+ const { refreshGitStatus } = await import("./git-panel-rfs8pqjj.js");
350
350
  await refreshGitStatus();
351
351
  activity.done(repo.html_url);
352
352
  notify.success(`Repository created: ${repo.html_url}`, { key: "github.repo" });
@@ -1784,4 +1784,4 @@ function registerGitPanel() {
1784
1784
  export { hydrateProjectList, getProjectList, shouldInstallAutomation, installAutomationHook, stripRange, isComparable, isUpgrade, maybePromptJxsuiteUpdate, autoSyncProjectOnOpen, githubTokenStored, githubTokenLocation, clearGithubToken, refreshGitStatus, cloneRepository, platformSupportsClone, readGitDiff, loadDiffForLens, initRepository, pushCurrentBranch, signInToGithub, renderGitPanel, relativeDate, sourceControlCommands, registerSourceControlCommands, cleanupGitPanel, registerGitPanel };
1785
1785
 
1786
1786
  //# debugId=6DB34F497D8C14B864756E2164756E21
1787
- //# sourceMappingURL=studio-4enps87v.js.map
1787
+ //# sourceMappingURL=studio-tdt7b6qb.js.map