@jxsuite/studio 5.0.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/dist/chunks/{cf-account-picker-fyf63pmy.js → cf-account-picker-qwkm9zrf.js} +5 -5
- package/dist/chunks/{components-2w1f35qs.js → components-vj72gqtq.js} +6 -4
- package/dist/chunks/{content-source-3wqeas45.js → content-source-5mex4x1h.js} +20 -20
- package/dist/chunks/{convert-to-repeater-d0cgnb6d.js → convert-to-repeater-n64h8znc.js} +20 -20
- package/dist/chunks/entry-commands-234hjnqw.js +42 -0
- package/dist/chunks/{extension-sections-fy7q4fe9.js → extension-sections-3hpcambp.js} +22 -22
- package/dist/chunks/{file-ops-3btj6st0.js → file-ops-8yhd83xr.js} +19 -19
- package/dist/chunks/{files-ef8fgs3w.js → files-hnxqxtsg.js} +26 -26
- package/dist/chunks/{format-host-3c33nwr8.js → format-host-779sfp2n.js} +2 -2
- package/dist/chunks/{fs-events-13tj6sex.js → fs-events-b88z7g4h.js} +4 -4
- package/dist/chunks/{git-panel-4wp2rn9b.js → git-panel-xwj8fpab.js} +18 -18
- package/dist/chunks/{iframe-host-jgesd924.js → iframe-host-syr0f9sb.js} +9 -9
- package/dist/chunks/{layers-1nq5evsh.js → layers-ff81wthn.js} +5 -4
- package/dist/chunks/layers-panel-pnnghw12.js +40 -0
- package/dist/chunks/{media-picker-2qbetq73.js → media-picker-cqhhxhhe.js} +10 -10
- package/dist/chunks/menu-9p2w46gj.js +15 -0
- package/dist/chunks/{publish-panel-98f7sr3g.js → publish-panel-5zt840sy.js} +9 -9
- package/dist/chunks/quick-search-3748564r.js +45 -0
- package/dist/chunks/{references-n553f0e1.js → references-qvvxej7h.js} +3 -3
- package/dist/chunks/right-panel-eccz92qt.js +45 -0
- package/dist/chunks/{studio-x3rty6tr.js → studio-1knfqgy7.js} +6 -6
- package/dist/chunks/{studio-rkstz940.js → studio-1z1kcjv4.js} +17 -8
- package/dist/chunks/{studio-qahxvnan.js → studio-3773086z.js} +2 -2
- package/dist/chunks/{studio-arfpe389.js → studio-3rz5md06.js} +4 -4
- package/dist/chunks/{studio-pm6hgy7r.js → studio-5wt9nvhd.js} +16 -16
- package/dist/chunks/{studio-akbww0j5.js → studio-7xnmgv66.js} +19 -19
- package/dist/chunks/{studio-26d7myd1.js → studio-8scdew0e.js} +3 -3
- package/dist/chunks/{studio-3hxkd92t.js → studio-93zafjcm.js} +8 -8
- package/dist/chunks/{studio-5rt7sqa0.js → studio-a79k90n9.js} +11 -17
- package/dist/chunks/{studio-3gxv60tn.js → studio-aj37eer3.js} +3 -3
- package/dist/chunks/{studio-18avnhjp.js → studio-b0k5tqgp.js} +23 -21
- package/dist/chunks/{studio-fabxk6r9.js → studio-b4s9eykd.js} +13 -13
- package/dist/chunks/{studio-8qtrpzr3.js → studio-e1pgga3k.js} +5 -5
- package/dist/chunks/{studio-8jn5yhyn.js → studio-g3jevyjt.js} +2 -2
- package/dist/chunks/{studio-rpyah2ew.js → studio-gb13095a.js} +18 -17
- package/dist/chunks/{studio-57mf66w2.js → studio-js8nv53n.js} +5 -5
- package/dist/chunks/{studio-vz68yn9e.js → studio-jxp12rnj.js} +4 -4
- package/dist/chunks/{studio-az3zd49t.js → studio-k75n7vhp.js} +56 -4
- package/dist/chunks/{studio-5jy81t3s.js → studio-kkqkcp3d.js} +221 -16
- package/dist/chunks/{studio-tb3ev01j.js → studio-mhhyamxf.js} +4 -4
- package/dist/chunks/{studio-81390n6f.js → studio-nq5yf5mp.js} +1 -1
- package/dist/chunks/{studio-4m0haseg.js → studio-nzzpvzx9.js} +3 -3
- package/dist/chunks/{studio-em9nw8eh.js → studio-pxbgypmg.js} +12 -12
- package/dist/chunks/{studio-sgdc5pfc.js → studio-qhhm6hbt.js} +3 -3
- package/dist/chunks/{studio-d1ja2x9r.js → studio-qk4bfsq2.js} +3 -3
- package/dist/chunks/{studio-25hkdrkw.js → studio-qk90fgqm.js} +9 -9
- package/dist/chunks/{studio-s6z853aq.js → studio-r6nvacqs.js} +18 -17
- package/dist/chunks/{studio-7xptrg0j.js → studio-sbjyc8bt.js} +6 -6
- package/dist/chunks/{studio-5523bpzt.js → studio-syg2tadj.js} +3 -3
- package/dist/chunks/{studio-cpvb2ed1.js → studio-tqgryxwg.js} +7 -7
- package/dist/chunks/{studio-xsykpvsh.js → studio-try13h8c.js} +11 -11
- package/dist/chunks/{studio-erdatzvp.js → studio-vfq8qpjt.js} +34 -5
- package/dist/chunks/{studio-79y5sz51.js → studio-vw7mzp6z.js} +2 -2
- package/dist/chunks/{studio-9xxz1q69.js → studio-wqz6dggm.js} +5 -5
- package/dist/chunks/studio-zdn2g6dt.js +148 -0
- package/dist/chunks/{workspace-wrew8zk4.js → workspace-t55jdjbx.js} +3 -3
- package/dist/iframe-entry.js +97 -10
- package/dist/studio.js +127 -244
- package/package.json +6 -6
- package/src/canvas/canvas-utils.ts +29 -2
- package/src/commands/command-args.ts +37 -2
- package/src/commands/registry.ts +18 -8
- package/src/commands/run-reported.ts +120 -0
- package/src/editor/shortcuts.ts +11 -23
- package/src/files/components.ts +39 -0
- package/src/files/files.ts +3 -2
- package/src/i18n/i18n-commands.ts +10 -0
- package/src/packages/pull-package-sync.ts +5 -1
- package/src/panels/ai-panel.ts +5 -2
- package/src/panels/block-action-bar.ts +7 -2
- package/src/panels/i18n-panel.ts +8 -15
- package/src/panels/jump-bar.ts +3 -2
- package/src/panels/problems-panel.ts +6 -2
- package/src/panels/quick-search.ts +6 -12
- package/src/panels/settings-menu.ts +5 -15
- package/src/panels/tab-strip.ts +3 -3
- package/src/services/ai-command-tools.ts +78 -8
- package/src/services/ai-project-tools.ts +8 -2
- package/src/services/ai-system-prompt.ts +4 -8
- package/src/services/ai-tools.ts +8 -69
- package/src/services/document-assistant.ts +9 -6
- package/src/studio.ts +14 -2
- package/src/surfaces/commandbar.json +13 -12
- package/src/surfaces/commandbar.ts +6 -5
- package/src/surfaces/statusbar.ts +2 -1
- package/src/tabs/project-config.ts +45 -11
- package/src/ui/layers.ts +4 -1
- package/src/workspace/workspace.ts +60 -0
- package/dist/chunks/entry-commands-d6g50j7s.js +0 -42
- package/dist/chunks/layers-panel-ar2gh90g.js +0 -40
- package/dist/chunks/menu-rf7n72mf.js +0 -14
- package/dist/chunks/quick-search-srzz83k2.js +0 -45
- package/dist/chunks/right-panel-rrgx2dn3.js +0 -45
- package/dist/chunks/studio-d055c37e.js +0 -62
package/dist/studio.js
CHANGED
|
@@ -91,7 +91,7 @@ import {
|
|
|
91
91
|
closeAllTabs2,
|
|
92
92
|
activateTab2,
|
|
93
93
|
registerTabCommands2
|
|
94
|
-
} from "./chunks/studio-
|
|
94
|
+
} from "./chunks/studio-k75n7vhp.js";
|
|
95
95
|
import {
|
|
96
96
|
LEVELS,
|
|
97
97
|
CATEGORIES,
|
|
@@ -102,7 +102,7 @@ import {
|
|
|
102
102
|
isPanelVisible,
|
|
103
103
|
railGroups,
|
|
104
104
|
railPanelSet
|
|
105
|
-
} from "./chunks/studio-
|
|
105
|
+
} from "./chunks/studio-8scdew0e.js";
|
|
106
106
|
import {
|
|
107
107
|
LIVE_PREVIEW,
|
|
108
108
|
getNodeAtPath2,
|
|
@@ -186,7 +186,7 @@ import {
|
|
|
186
186
|
formatByName2,
|
|
187
187
|
formatForPath2,
|
|
188
188
|
formatSerialize2
|
|
189
|
-
} from "./chunks/studio-
|
|
189
|
+
} from "./chunks/studio-vw7mzp6z.js";
|
|
190
190
|
import {
|
|
191
191
|
parseJsonDocument,
|
|
192
192
|
serializeJson,
|
|
@@ -228,12 +228,14 @@ import {
|
|
|
228
228
|
toggleActivityTab,
|
|
229
229
|
resetProjectShell,
|
|
230
230
|
registerShellViewCommands
|
|
231
|
-
} from "./chunks/studio-
|
|
231
|
+
} from "./chunks/studio-qk90fgqm.js";
|
|
232
232
|
import {
|
|
233
|
+
componentMetaFrom,
|
|
233
234
|
componentRegistry2,
|
|
234
235
|
loadComponentRegistry2,
|
|
236
|
+
noteComponentSaved2,
|
|
235
237
|
buildComponentInstance2
|
|
236
|
-
} from "./chunks/studio-
|
|
238
|
+
} from "./chunks/studio-zdn2g6dt.js";
|
|
237
239
|
import {
|
|
238
240
|
tabOfPane,
|
|
239
241
|
derivationOfPane,
|
|
@@ -344,7 +346,7 @@ import {
|
|
|
344
346
|
postApplyFormat2,
|
|
345
347
|
postOpenSlash2,
|
|
346
348
|
commitActiveEditSession2
|
|
347
|
-
} from "./chunks/studio-
|
|
349
|
+
} from "./chunks/studio-1z1kcjv4.js";
|
|
348
350
|
import {
|
|
349
351
|
PUBLIC_DIR,
|
|
350
352
|
setSkipServerFunctions,
|
|
@@ -364,7 +366,7 @@ import {
|
|
|
364
366
|
KIT_BASE,
|
|
365
367
|
setActiveRegistry,
|
|
366
368
|
activeRegistry
|
|
367
|
-
} from "./chunks/studio-
|
|
369
|
+
} from "./chunks/studio-kkqkcp3d.js";
|
|
368
370
|
import {
|
|
369
371
|
DERIVE_PRESETS,
|
|
370
372
|
PRESET_LABELS,
|
|
@@ -387,12 +389,13 @@ import {
|
|
|
387
389
|
toTokenRef,
|
|
388
390
|
resolveTokenValue,
|
|
389
391
|
invalidatePageRouteCache,
|
|
392
|
+
renderPropertiesPanel,
|
|
390
393
|
registerInspectorCommands,
|
|
391
394
|
defCategory,
|
|
392
395
|
defBadgeLabel,
|
|
393
396
|
mountSignalsPanel,
|
|
394
397
|
registerSignalsCommands
|
|
395
|
-
} from "./chunks/studio-
|
|
398
|
+
} from "./chunks/studio-7xnmgv66.js";
|
|
396
399
|
import {
|
|
397
400
|
mountsUsing,
|
|
398
401
|
mountsOf,
|
|
@@ -410,13 +413,15 @@ import {
|
|
|
410
413
|
mountSurface,
|
|
411
414
|
whenReady,
|
|
412
415
|
openDialogSurface,
|
|
416
|
+
runReported,
|
|
417
|
+
runActiveReported,
|
|
413
418
|
layerHost2,
|
|
414
419
|
initLayers2,
|
|
415
420
|
isModalOpen2,
|
|
416
421
|
showConfirmDialog2,
|
|
417
422
|
showSaveDiscardDialog2,
|
|
418
423
|
showPromptDialog2
|
|
419
|
-
} from "./chunks/studio-
|
|
424
|
+
} from "./chunks/studio-vfq8qpjt.js";
|
|
420
425
|
import {
|
|
421
426
|
html3,
|
|
422
427
|
noChange2,
|
|
@@ -434,11 +439,11 @@ import {
|
|
|
434
439
|
uploadAssets,
|
|
435
440
|
mediaSiteUrl,
|
|
436
441
|
previewFileSrc
|
|
437
|
-
} from "./chunks/studio-
|
|
438
|
-
import"./chunks/studio-
|
|
442
|
+
} from "./chunks/studio-jxp12rnj.js";
|
|
443
|
+
import"./chunks/studio-syg2tadj.js";
|
|
439
444
|
import {
|
|
440
445
|
invalidateUsages2
|
|
441
|
-
} from "./chunks/studio-
|
|
446
|
+
} from "./chunks/studio-nq5yf5mp.js";
|
|
442
447
|
import {
|
|
443
448
|
hydrateProjectList,
|
|
444
449
|
getProjectList,
|
|
@@ -461,11 +466,11 @@ import {
|
|
|
461
466
|
registerSourceControlCommands2,
|
|
462
467
|
cleanupGitPanel2,
|
|
463
468
|
registerGitPanel2
|
|
464
|
-
} from "./chunks/studio-
|
|
465
|
-
import"./chunks/studio-
|
|
469
|
+
} from "./chunks/studio-5wt9nvhd.js";
|
|
470
|
+
import"./chunks/studio-3773086z.js";
|
|
466
471
|
import {
|
|
467
472
|
openMenu2
|
|
468
|
-
} from "./chunks/studio-
|
|
473
|
+
} from "./chunks/studio-aj37eer3.js";
|
|
469
474
|
import {
|
|
470
475
|
cellValuesEqual,
|
|
471
476
|
parseGridTabId,
|
|
@@ -495,22 +500,22 @@ import {
|
|
|
495
500
|
exportFile2,
|
|
496
501
|
confirmFileDelete2,
|
|
497
502
|
renamePromptMessage2
|
|
498
|
-
} from "./chunks/studio-
|
|
503
|
+
} from "./chunks/studio-gb13095a.js";
|
|
499
504
|
import {
|
|
500
505
|
platformSupportsPublish,
|
|
501
506
|
latestDeployment,
|
|
502
507
|
currentDeploy,
|
|
503
508
|
noteDeployment
|
|
504
|
-
} from "./chunks/studio-
|
|
509
|
+
} from "./chunks/studio-mhhyamxf.js";
|
|
505
510
|
import {
|
|
506
511
|
resetIgnoreCache,
|
|
507
512
|
startFsSync2
|
|
508
|
-
} from "./chunks/studio-
|
|
513
|
+
} from "./chunks/studio-g3jevyjt.js";
|
|
509
514
|
import {
|
|
510
515
|
beginActivity,
|
|
511
516
|
registerActivityPanel,
|
|
512
517
|
showProgressModal
|
|
513
|
-
} from "./chunks/studio-
|
|
518
|
+
} from "./chunks/studio-tqgryxwg.js";
|
|
514
519
|
import {
|
|
515
520
|
monitorForElements2
|
|
516
521
|
} from "./chunks/studio-esrxgwh6.js";
|
|
@@ -518,12 +523,12 @@ import {
|
|
|
518
523
|
openPopoverSurface,
|
|
519
524
|
invalidateMediaCache2,
|
|
520
525
|
mountMediaPicker2
|
|
521
|
-
} from "./chunks/studio-
|
|
526
|
+
} from "./chunks/studio-e1pgga3k.js";
|
|
522
527
|
import {
|
|
523
528
|
DRAFT_FIELD,
|
|
524
529
|
isDraftEntry,
|
|
525
530
|
listCollectionEntryIds2
|
|
526
|
-
} from "./chunks/studio-
|
|
531
|
+
} from "./chunks/studio-1knfqgy7.js";
|
|
527
532
|
import {
|
|
528
533
|
parseCsv,
|
|
529
534
|
createCsvFileSource,
|
|
@@ -544,8 +549,8 @@ import {
|
|
|
544
549
|
createLibrarySource,
|
|
545
550
|
openLibraryTab,
|
|
546
551
|
registerGridCommands
|
|
547
|
-
} from "./chunks/studio-
|
|
548
|
-
import"./chunks/studio-
|
|
552
|
+
} from "./chunks/studio-pxbgypmg.js";
|
|
553
|
+
import"./chunks/studio-qk4bfsq2.js";
|
|
549
554
|
import {
|
|
550
555
|
ensureDependenciesInstalled,
|
|
551
556
|
convertTargets,
|
|
@@ -569,11 +574,11 @@ import {
|
|
|
569
574
|
reloadCleanTab2,
|
|
570
575
|
reloadFileInTab2,
|
|
571
576
|
registerFilesPanel2
|
|
572
|
-
} from "./chunks/studio-
|
|
577
|
+
} from "./chunks/studio-b0k5tqgp.js";
|
|
573
578
|
import {
|
|
574
579
|
REDIRECT_STATUSES,
|
|
575
580
|
referenceTarget
|
|
576
|
-
} from "./chunks/studio-
|
|
581
|
+
} from "./chunks/studio-js8nv53n.js";
|
|
577
582
|
import"./chunks/studio-tjjk7jvk.js";
|
|
578
583
|
import {
|
|
579
584
|
FIELD_TYPES,
|
|
@@ -589,7 +594,7 @@ import {
|
|
|
589
594
|
renderEntryMode,
|
|
590
595
|
createEntry2,
|
|
591
596
|
registerContentCommands2
|
|
592
|
-
} from "./chunks/studio-
|
|
597
|
+
} from "./chunks/studio-b4s9eykd.js";
|
|
593
598
|
import {
|
|
594
599
|
notifySettingsDocument2,
|
|
595
600
|
onSettingsDocumentChanged2,
|
|
@@ -619,7 +624,7 @@ import {
|
|
|
619
624
|
renderStylebookMode,
|
|
620
625
|
selectStylebookTag,
|
|
621
626
|
defaultCommands
|
|
622
|
-
} from "./chunks/studio-
|
|
627
|
+
} from "./chunks/studio-93zafjcm.js";
|
|
623
628
|
import {
|
|
624
629
|
findEnclosingRepeater,
|
|
625
630
|
convertToComponent,
|
|
@@ -633,7 +638,6 @@ import {
|
|
|
633
638
|
formatChord,
|
|
634
639
|
overlappingScopes,
|
|
635
640
|
chordsInScopes,
|
|
636
|
-
CommandUnavailableError,
|
|
637
641
|
createCommandRegistry,
|
|
638
642
|
initBlockActionBar,
|
|
639
643
|
formatCommands,
|
|
@@ -663,11 +667,11 @@ import {
|
|
|
663
667
|
liveElementCommands,
|
|
664
668
|
dismissContextMenu,
|
|
665
669
|
showContextMenu
|
|
666
|
-
} from "./chunks/studio-
|
|
670
|
+
} from "./chunks/studio-r6nvacqs.js";
|
|
667
671
|
import {
|
|
668
672
|
initQuickSearch2,
|
|
669
673
|
openQuickSearch2
|
|
670
|
-
} from "./chunks/studio-
|
|
674
|
+
} from "./chunks/studio-a79k90n9.js";
|
|
671
675
|
import {
|
|
672
676
|
initCssData,
|
|
673
677
|
registerStyleCommands,
|
|
@@ -675,7 +679,7 @@ import {
|
|
|
675
679
|
render2,
|
|
676
680
|
inspectorTab2,
|
|
677
681
|
setInspectorTab2
|
|
678
|
-
} from "./chunks/studio-
|
|
682
|
+
} from "./chunks/studio-try13h8c.js";
|
|
679
683
|
import {
|
|
680
684
|
validateDoc2,
|
|
681
685
|
validateProjectConfig2
|
|
@@ -711,13 +715,13 @@ import {
|
|
|
711
715
|
revokeAccount,
|
|
712
716
|
onCredentialsChanged,
|
|
713
717
|
notifyCredentialsChanged
|
|
714
|
-
} from "./chunks/studio-
|
|
718
|
+
} from "./chunks/studio-3rz5md06.js";
|
|
715
719
|
import {
|
|
716
720
|
seedPublishConnected2
|
|
717
|
-
} from "./chunks/studio-
|
|
721
|
+
} from "./chunks/studio-wqz6dggm.js";
|
|
718
722
|
import {
|
|
719
723
|
selectContributedEntry
|
|
720
|
-
} from "./chunks/studio-
|
|
724
|
+
} from "./chunks/studio-sbjyc8bt.js";
|
|
721
725
|
import {
|
|
722
726
|
deepEqual2,
|
|
723
727
|
matchChildren
|
|
@@ -731,7 +735,7 @@ import {
|
|
|
731
735
|
import {
|
|
732
736
|
entryCollections,
|
|
733
737
|
collectionOfPath
|
|
734
|
-
} from "./chunks/studio-
|
|
738
|
+
} from "./chunks/studio-qhhm6hbt.js";
|
|
735
739
|
import"./chunks/studio-q0a3yk4n.js";
|
|
736
740
|
import {
|
|
737
741
|
resolveAssetRef,
|
|
@@ -739,7 +743,7 @@ import {
|
|
|
739
743
|
assetContextFor,
|
|
740
744
|
previewAssetSrc,
|
|
741
745
|
hostAssetDeclarations
|
|
742
|
-
} from "./chunks/studio-
|
|
746
|
+
} from "./chunks/studio-nzzpvzx9.js";
|
|
743
747
|
import {
|
|
744
748
|
rectOf
|
|
745
749
|
} from "./chunks/studio-rs76k67r.js";
|
|
@@ -753,7 +757,7 @@ import {
|
|
|
753
757
|
__preload,
|
|
754
758
|
__chunks
|
|
755
759
|
} from "./chunks/studio-5te5tqng.js";
|
|
756
|
-
__chunks(import.meta.url,["
|
|
760
|
+
__chunks(import.meta.url,["cyppsrqx","5zt840sy","qvvxej7h","628t0anh","t55jdjbx","bhy3hb6m","ts9cg1a4","ff81wthn","m244w9nh","b88z7g4h","sw6en4dw","vj72gqtq","qwkm9zrf","ny4zc51r","71bv5zn9","5pq32t0q","8yhd83xr","0zx14y15","syr0f9sb","cqhhxhhe","j0wxk72w","779sfp2n","hnxqxtsg","3hpcambp","7r42c6ca","yxa81f45","k75n7vhp","8scdew0e","6ewqv390","y9zedyjn","6nzaktvy","p1dw8wfw","q3x06vmj","vw7mzp6z","qk90fgqm","zdn2g6dt","1z1kcjv4","kkqkcp3d","7xnmgv66","vfq8qpjt","1k325pwf","jxp12rnj","syg2tadj","nq5yf5mp","5wt9nvhd","3773086z","aj37eer3","gb13095a","mhhyamxf","g3jevyjt","tqgryxwg","esrxgwh6","e1pgga3k","1knfqgy7","pxbgypmg","qk4bfsq2","b0k5tqgp","js8nv53n","tjjk7jvk","b4s9eykd","0hqbpbd0","vhv5tgxm","93zafjcm","r6nvacqs","a79k90n9","try13h8c","kcgff4r0","hhvs4sdg","6xa21ej9","3rz5md06","wqz6dggm","sbjyc8bt","wqpngpsk","98b3z07n","38emantv","qhhm6hbt","q0a3yk4n","nzzpvzx9","rs76k67r","r6xmmtfh","5te5tqng","rnyf3f8e","h4nvnjvz","n4j7qxyr","727xh0e3","3qhbg51x","8r62fj6y","3748564r","nj7tnjfn","eccz92qt","xwj8fpab","9p2w46gj","234hjnqw","5mex4x1h","n64h8znc","pnnghw12","g79n01v9","mdmyx6s2","d0300636","e1f24eff","tyx2kj6p","xvrfrpkb","4wbb9ct0","7e11jpa9","nqgawfks","jy4m86rv"],[["./studio.js",24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80],["./chunks/publish-panel-5zt840sy.js",70,67,68,48,34,29,26,32,28,33,30,39,40,37,31,25,24],["./chunks/references-qvvxej7h.js",43,30,25,24],["./chunks/notify-628t0anh.js",31],["./chunks/workspace-t55jdjbx.js",26,32,28,33,30,31,24],["./chunks/monaco-buffer-bhy3hb6m.js",32,31],["./chunks/platform-ts9cg1a4.js",30],["./chunks/layers-ff81wthn.js",39,40,37,31,25,24],["./chunks/lit-html-m244w9nh.js",40],["./chunks/fs-events-b88z7g4h.js",49,43,28,30,25,24],["./chunks/monaco-binding-sw6en4dw.js",81,82],["./chunks/components-vj72gqtq.js",35,28,30,24],["./chunks/cf-account-picker-qwkm9zrf.js",30,24,25,31,40,39,37,55,29,68,67,69],["./chunks/ws-client-ny4zc51r.js",82],["./chunks/cf-settings-71bv5zn9.js",68,29,30,31],["./chunks/section-registry-5pq32t0q.js",60],["./chunks/file-ops-8yhd83xr.js",47,49,76,45,50,48,27,43,36,34,35,29,41,77,26,32,28,51,33,30,46,39,40,37,31,25,24],["./chunks/parse-0zx14y15.js",25,24],["./chunks/iframe-host-syr0f9sb.js",36,34,35,29,77,26,32,28,51,33,30,37,31,25,24],["./chunks/media-picker-cqhhxhhe.js",52,42,41,77,26,32,28,33,30,39,40,37,31,25,24],["./chunks/jx-validate-j0wxk72w.js",66],["./chunks/format-host-779sfp2n.js",33,30],["./chunks/files-hnxqxtsg.js",56,44,55,42,75,54,53,47,49,76,45,50,48,27,43,36,34,35,29,41,77,26,32,28,51,33,30,46,39,40,37,31,25,24],["./chunks/extension-sections-3hpcambp.js",30,33,60,24,25,31,32,28,26,37,39,57,40,46,58,66,71,54,49,43,48,34,29,50,27,47,53,41,45,36,35,51,76,77],["./chunks/studio-7r42c6ca.js"],["./chunks/studio-yxa81f45.js"],["./chunks/studio-k75n7vhp.js",31,32,30,33,24,28,84,80],["./chunks/studio-8scdew0e.js",26,28,34],["./chunks/studio-6ewqv390.js",24],["./chunks/studio-y9zedyjn.js",30,31],["./chunks/studio-6nzaktvy.js"],["./chunks/studio-p1dw8wfw.js"],["./chunks/studio-q3x06vmj.js",31],["./chunks/studio-vw7mzp6z.js",30,80],["./chunks/studio-qk90fgqm.js",31,30,33,28,26,29,25,80],["./chunks/studio-zdn2g6dt.js",30,28],["./chunks/studio-1z1kcjv4.js",30,24,28,31,32,33,26,34,35,37,51,77,78,79],["./chunks/studio-kkqkcp3d.js",24,31,80],["./chunks/studio-7xnmgv66.js",30,24,28,35,36,31,32,33,26,37,34,40,39,27,45,57,51,46,52,43,84,78,80],["./chunks/studio-vfq8qpjt.js",40,37,31,25],["./chunks/studio-1k325pwf.js"],["./chunks/studio-jxp12rnj.js",25,30,31,28,26,37,77],["./chunks/studio-syg2tadj.js",30,37,41],["./chunks/studio-nq5yf5mp.js",30,25],["./chunks/studio-5wt9nvhd.js",40,25,30,33,28,26,31,41,39,37,42,34,27,55,50,36,78,80],["./chunks/studio-3773086z.js",30,24,28,33],["./chunks/studio-aj37eer3.js",37,39,31,78],["./chunks/studio-gb13095a.js",30,24,25,43,31,33,28,26,41,37,39,46,34,48,36,49,50,76],["./chunks/studio-mhhyamxf.js",30,28,31,34,37,39],["./chunks/studio-g3jevyjt.js",30,43,28],["./chunks/studio-tqgryxwg.js",40,37,48,31,34,39,27,43],["./chunks/studio-esrxgwh6.js",80],["./chunks/studio-e1pgga3k.js",30,28,39,31,41,42,77,78],["./chunks/studio-1knfqgy7.js",30,28,31,33,26,49,47,80],["./chunks/studio-pxbgypmg.js",31,30,33,28,26,39,25,49,47,53,41],["./chunks/studio-qk4bfsq2.js",25,31,39,37],["./chunks/studio-b0k5tqgp.js",40,25,26,39,37,31,28,30,33,49,43,34,29,50,27,47,35,51,44,41,54,46,74,75,80],["./chunks/studio-js8nv53n.js",37,26,24,31,39,46,84],["./chunks/studio-tjjk7jvk.js"],["./chunks/studio-b4s9eykd.js",33,31,28,26,25,37,39,57,53,34,47,75,84,80],["./chunks/studio-0hqbpbd0.js"],["./chunks/studio-vhv5tgxm.js"],["./chunks/studio-93zafjcm.js",28,37,39,31,26,34,35,36,80],["./chunks/studio-r6nvacqs.js",40,24,28,31,32,30,26,34,27,35,37,39,62,25,36,51,38,46,43,74,76,78,80],["./chunks/studio-a79k90n9.js",30,28,33,26,39,37,31,56],["./chunks/studio-try13h8c.js",24,28,31,26,37,38,39,57,36,46,34,43,62,84],["./chunks/studio-kcgff4r0.js",98,80],["./chunks/studio-hhvs4sdg.js",30,29],["./chunks/studio-6xa21ej9.js",29],["./chunks/studio-3rz5md06.js",55,30,68,67,80],["./chunks/studio-wqz6dggm.js",37,48,30,28,31,39,68,67,80],["./chunks/studio-sbjyc8bt.js",25,30,31,28,39,57,66,54,36,34],["./chunks/studio-wqpngpsk.js"],["./chunks/studio-98b3z07n.js"],["./chunks/studio-38emantv.js",78],["./chunks/studio-qhhm6hbt.js",28,26,53],["./chunks/studio-q0a3yk4n.js"],["./chunks/studio-nzzpvzx9.js",30,26,37,28],["./chunks/studio-rs76k67r.js"],["./chunks/studio-r6xmmtfh.js"],["./chunks/studio-5te5tqng.js"],["./chunks/studio-rnyf3f8e.js",82],["./chunks/studio-h4nvnjvz.js"],["./chunks/index-n4j7qxyr.js",81,82,72,84],["./chunks/studio-727xh0e3.js"],["./chunks/editor-3qhbg51x.js",99],["./chunks/monaco-setup-8r62fj6y.js",99,102,58,61,98,79,80],["./chunks/quick-search-3748564r.js",64,56,44,55,42,75,54,53,47,49,76,45,50,48,27,43,36,34,35,29,41,77,26,32,28,51,33,30,46,39,40,37,31,25,24],["./chunks/adapter-nj7tnjfn.js",51],["./chunks/right-panel-eccz92qt.js",65,62,38,52,42,57,45,27,43,36,34,35,29,41,77,26,32,28,51,33,30,46,39,40,37,31,25,24,58],["./chunks/git-panel-xwj8fpab.js",44,55,42,50,48,27,43,36,34,35,29,41,77,26,32,28,51,33,30,39,40,37,31,25,24],["./chunks/menu-9p2w46gj.js",46,39,40,37,31,25,24],["./chunks/entry-commands-234hjnqw.js",59,75,57,53,47,49,76,45,50,48,27,43,36,34,35,29,41,77,26,32,28,51,33,30,46,39,40,37,31,25,24,58],["./chunks/content-source-5mex4x1h.js",53,47,49,76,45,50,48,27,43,36,34,35,29,41,77,26,32,28,51,33,30,46,39,40,37,31,25,24],["./chunks/convert-to-repeater-n64h8znc.js",24,28,31,32,30,33,26,40,39,37,25,36,38,57,58,27,29,34,35,51,45,46,52,41,42,43,77],["./chunks/layers-panel-pnnghw12.js",63,62,38,52,42,57,76,45,27,43,36,34,35,29,41,77,26,32,28,51,33,30,46,39,40,37,31,25,24,58],["./chunks/2020-g79n01v9.js",103,80],["./chunks/index-mdmyx6s2.js",103,80],["./chunks/studio-d0300636.js"],["./chunks/studio-e1f24eff.js"],["./chunks/jsonMode-tyx2kj6p.js",99,104,102],["./chunks/javascript-xvrfrpkb.js",99],["./chunks/studio-4wbb9ct0.js",99,80],["./chunks/studio-7e11jpa9.js",80],["./chunks/studio-nqgawfks.js",99,102],["./chunks/tsMode-jy4m86rv.js",99,104,102]],0);
|
|
757
761
|
|
|
758
762
|
// ../../node_modules/ms/index.js
|
|
759
763
|
var require_ms = __commonJS(function(exports, module) {
|
|
@@ -1723,7 +1727,7 @@ async function stepDiffAndReveal(paneId, delta) {
|
|
|
1723
1727
|
if (!step) {
|
|
1724
1728
|
return;
|
|
1725
1729
|
}
|
|
1726
|
-
const { hostForCanvas, measureInCanvas, revealCanvasPathIn } = await (__preload("
|
|
1730
|
+
const { hostForCanvas, measureInCanvas, revealCanvasPathIn } = await (__preload("syr0f9sb"), import("./chunks/iframe-host-syr0f9sb.js"));
|
|
1727
1731
|
const measured = await Promise.all([
|
|
1728
1732
|
step.originalPath && original ? measureInCanvas(original, step.originalPath) : null,
|
|
1729
1733
|
step.currentPath && current ? measureInCanvas(current, step.currentPath) : null
|
|
@@ -24711,8 +24715,7 @@ function openTrailing(host, anchor) {
|
|
|
24711
24715
|
return;
|
|
24712
24716
|
}
|
|
24713
24717
|
if (_drawing.get(host)?.mode === "derivation") {
|
|
24714
|
-
|
|
24715
|
-
registry?.run("pane.unsplit");
|
|
24718
|
+
runActiveReported("pane.unsplit", undefined, "Tabs");
|
|
24716
24719
|
return;
|
|
24717
24720
|
}
|
|
24718
24721
|
openOverflowMenu(pane, tabLabels(pane), anchor);
|
|
@@ -24836,7 +24839,7 @@ function placedTabItems(tab) {
|
|
|
24836
24839
|
...reason === undefined ? {
|
|
24837
24840
|
disabled: false,
|
|
24838
24841
|
run: () => {
|
|
24839
|
-
registry
|
|
24842
|
+
runReported(registry, command.id, args, "Tabs");
|
|
24840
24843
|
}
|
|
24841
24844
|
} : { disabled: true, requires: reason }
|
|
24842
24845
|
});
|
|
@@ -26814,7 +26817,7 @@ function removeEntry(key) {
|
|
|
26814
26817
|
}
|
|
26815
26818
|
var _mediaPicker = null;
|
|
26816
26819
|
function mediaPicker() {
|
|
26817
|
-
_mediaPicker ??= (__preload("
|
|
26820
|
+
_mediaPicker ??= (__preload("cqhhxhhe"), import("./chunks/media-picker-cqhhxhhe.js"));
|
|
26818
26821
|
return _mediaPicker;
|
|
26819
26822
|
}
|
|
26820
26823
|
var ACTIONS = {
|
|
@@ -28003,7 +28006,7 @@ function makeActions(card) {
|
|
|
28003
28006
|
}
|
|
28004
28007
|
var _mediaPicker2 = null;
|
|
28005
28008
|
function mediaPicker2() {
|
|
28006
|
-
_mediaPicker2 ??= (__preload("
|
|
28009
|
+
_mediaPicker2 ??= (__preload("cqhhxhhe"), import("./chunks/media-picker-cqhhxhhe.js"));
|
|
28007
28010
|
return _mediaPicker2;
|
|
28008
28011
|
}
|
|
28009
28012
|
// src/surfaces/canvas-stage.json
|
|
@@ -31352,14 +31355,7 @@ function runByName(id, args = {}) {
|
|
|
31352
31355
|
if (!registry?.get(id)) {
|
|
31353
31356
|
return;
|
|
31354
31357
|
}
|
|
31355
|
-
|
|
31356
|
-
notify2("error", errorMessage2(error), { source: "Languages" });
|
|
31357
|
-
};
|
|
31358
|
-
try {
|
|
31359
|
-
Promise.resolve(registry.run(id, args)).catch(report);
|
|
31360
|
-
} catch (error) {
|
|
31361
|
-
report(error);
|
|
31362
|
-
}
|
|
31358
|
+
runReported(registry, id, args, "Languages");
|
|
31363
31359
|
}
|
|
31364
31360
|
function projectRow(row, i18n) {
|
|
31365
31361
|
const rowPath = rowSourcePath(row, i18n);
|
|
@@ -32417,7 +32413,7 @@ async function onAddPackage() {
|
|
|
32417
32413
|
sync2();
|
|
32418
32414
|
try {
|
|
32419
32415
|
await getPlatform2().addPackage(name);
|
|
32420
|
-
const { loadComponentRegistry } = await (__preload("
|
|
32416
|
+
const { loadComponentRegistry } = await (__preload("vj72gqtq"), import("./chunks/components-vj72gqtq.js"));
|
|
32421
32417
|
await loadComponentRegistry();
|
|
32422
32418
|
context()?.renderLeftPanel();
|
|
32423
32419
|
} catch (error) {
|
|
@@ -32435,7 +32431,7 @@ async function onRemovePackage(pkg) {
|
|
|
32435
32431
|
try {
|
|
32436
32432
|
await getPlatform2().removePackage(pkg);
|
|
32437
32433
|
const updated = removePackageElements(siteElements(), pkg);
|
|
32438
|
-
const { loadComponentRegistry } = await (__preload("
|
|
32434
|
+
const { loadComponentRegistry } = await (__preload("vj72gqtq"), import("./chunks/components-vj72gqtq.js"));
|
|
32439
32435
|
await loadComponentRegistry();
|
|
32440
32436
|
await updateSiteConfig({ $elements: updated });
|
|
32441
32437
|
context()?.renderLeftPanel();
|
|
@@ -33120,7 +33116,7 @@ function groupProblems(records = problems2) {
|
|
|
33120
33116
|
return groups;
|
|
33121
33117
|
}
|
|
33122
33118
|
function openProblemPath(path) {
|
|
33123
|
-
(__preload("
|
|
33119
|
+
(__preload("hnxqxtsg"), import("./chunks/files-hnxqxtsg.js")).then((m) => m.openFileInTab(path));
|
|
33124
33120
|
}
|
|
33125
33121
|
function projectRow2(record) {
|
|
33126
33122
|
const id = record.action;
|
|
@@ -33168,7 +33164,7 @@ var ACTIONS5 = {
|
|
|
33168
33164
|
if (record?.action === undefined || !registry) {
|
|
33169
33165
|
return;
|
|
33170
33166
|
}
|
|
33171
|
-
registry
|
|
33167
|
+
runReported(registry, record.action, record.actionArgs, "Problems");
|
|
33172
33168
|
}
|
|
33173
33169
|
};
|
|
33174
33170
|
var _standing = null;
|
|
@@ -33755,7 +33751,7 @@ function toggleShellDock(registry, dock) {
|
|
|
33755
33751
|
}
|
|
33756
33752
|
function runIfPresent(registry, id, args) {
|
|
33757
33753
|
if (registry.get(id) && registry.isEnabled(id)) {
|
|
33758
|
-
registry
|
|
33754
|
+
runReported(registry, id, args, "Keyboard");
|
|
33759
33755
|
}
|
|
33760
33756
|
}
|
|
33761
33757
|
var zenRestore = null;
|
|
@@ -34046,23 +34042,12 @@ function registerStudioCommands(registry, hooks, stageContext) {
|
|
|
34046
34042
|
registry.registerAll(canvasCommands(pointer));
|
|
34047
34043
|
}
|
|
34048
34044
|
function dispatchKey(registry, event) {
|
|
34049
|
-
const commandId =
|
|
34045
|
+
const commandId = registry.handleKeyEvent(event, keyScopeStack(registry.context()));
|
|
34050
34046
|
if (commandId) {
|
|
34051
34047
|
event.preventDefault();
|
|
34052
34048
|
}
|
|
34053
34049
|
return commandId;
|
|
34054
34050
|
}
|
|
34055
|
-
function claimChord(registry, event) {
|
|
34056
|
-
const stack = keyScopeStack(registry.context());
|
|
34057
|
-
try {
|
|
34058
|
-
return registry.handleKeyEvent(event, stack);
|
|
34059
|
-
} catch (error) {
|
|
34060
|
-
if (error instanceof CommandUnavailableError) {
|
|
34061
|
-
return error.commandId;
|
|
34062
|
-
}
|
|
34063
|
-
throw error;
|
|
34064
|
-
}
|
|
34065
|
-
}
|
|
34066
34051
|
function initShortcuts(registry, stageContext) {
|
|
34067
34052
|
setActiveRegistry(registry);
|
|
34068
34053
|
_stageContext = stageContext;
|
|
@@ -37559,7 +37544,6 @@ function registerAiTools(registry, {
|
|
|
37559
37544
|
validate = validateDoc2,
|
|
37560
37545
|
saveFile,
|
|
37561
37546
|
renderCheck,
|
|
37562
|
-
openDocument,
|
|
37563
37547
|
projectStyle,
|
|
37564
37548
|
getProjectStyle,
|
|
37565
37549
|
findOpenTab,
|
|
@@ -38020,52 +38004,6 @@ ${formatted}`
|
|
|
38020
38004
|
}
|
|
38021
38005
|
}
|
|
38022
38006
|
}));
|
|
38023
|
-
registry.register(createToolDefinition({
|
|
38024
|
-
name: "open_document",
|
|
38025
|
-
description: "Switch the active document to another file in the project. After opening, all " + "tools (read_document, set_property, add_child, etc.) operate on the newly-active " + "document. Use this to iteratively refine pages or components after creating them " + "with create_page or create_component.",
|
|
38026
|
-
parameters: {
|
|
38027
|
-
type: "object",
|
|
38028
|
-
properties: {
|
|
38029
|
-
path: {
|
|
38030
|
-
type: "string",
|
|
38031
|
-
description: 'File path relative to the project root, e.g. "pages/about.json" or ' + '"components/nav-bar.json". Must be an existing file.'
|
|
38032
|
-
}
|
|
38033
|
-
},
|
|
38034
|
-
required: ["path"]
|
|
38035
|
-
},
|
|
38036
|
-
async execute(args) {
|
|
38037
|
-
if (!openDocument) {
|
|
38038
|
-
return {
|
|
38039
|
-
success: false,
|
|
38040
|
-
error: "File navigation is not available in this environment."
|
|
38041
|
-
};
|
|
38042
|
-
}
|
|
38043
|
-
const { path: relPath } = args;
|
|
38044
|
-
try {
|
|
38045
|
-
await openDocument(relPath);
|
|
38046
|
-
const tab = getTab();
|
|
38047
|
-
if (!tab) {
|
|
38048
|
-
return {
|
|
38049
|
-
success: false,
|
|
38050
|
-
error: `File "${relPath}" could not be opened — no active tab after navigation.`
|
|
38051
|
-
};
|
|
38052
|
-
}
|
|
38053
|
-
if (isBatching()) {
|
|
38054
|
-
endBatch();
|
|
38055
|
-
beginBatch(tab);
|
|
38056
|
-
}
|
|
38057
|
-
return {
|
|
38058
|
-
success: true,
|
|
38059
|
-
summary: `Switched to "${relPath}". All tools now operate on this document.`
|
|
38060
|
-
};
|
|
38061
|
-
} catch (error) {
|
|
38062
|
-
return {
|
|
38063
|
-
success: false,
|
|
38064
|
-
error: `Failed to open "${relPath}": ${error instanceof Error ? error.message : String(error)}`
|
|
38065
|
-
};
|
|
38066
|
-
}
|
|
38067
|
-
}
|
|
38068
|
-
}));
|
|
38069
38007
|
}
|
|
38070
38008
|
|
|
38071
38009
|
// src/services/ai-turn-signal.ts
|
|
@@ -38206,6 +38144,13 @@ function registerAskTool(registry) {
|
|
|
38206
38144
|
// src/services/ai-command-tools.ts
|
|
38207
38145
|
var SELECTOR = "selection.setPaths";
|
|
38208
38146
|
var EMPTY_ARGS = argsSchema({});
|
|
38147
|
+
function hasEmptyRequiredEnum(args) {
|
|
38148
|
+
const shape = args ?? EMPTY_ARGS;
|
|
38149
|
+
return (shape.required ?? []).some((key) => {
|
|
38150
|
+
const declared = shape.properties?.[key]?.enum;
|
|
38151
|
+
return Array.isArray(declared) && declared.length === 0;
|
|
38152
|
+
});
|
|
38153
|
+
}
|
|
38209
38154
|
function pathsProperty(registry) {
|
|
38210
38155
|
const args = registry.get(SELECTOR)?.args;
|
|
38211
38156
|
return args?.properties?.paths;
|
|
@@ -38227,7 +38172,8 @@ function selectionAdvertised(registry) {
|
|
|
38227
38172
|
return inCanvas(registry.context()) && registry.get(SELECTOR) !== undefined && registry.isEnabled(SELECTOR);
|
|
38228
38173
|
}
|
|
38229
38174
|
function advertised(registry, command) {
|
|
38230
|
-
|
|
38175
|
+
const open = command.level === "selection" ? selectionAdvertised(registry) : registry.isEnabled(command.id);
|
|
38176
|
+
return open && !hasEmptyRequiredEnum(command.args);
|
|
38231
38177
|
}
|
|
38232
38178
|
function projected(registry) {
|
|
38233
38179
|
return registry.list().filter((command) => command.aiTool !== undefined);
|
|
@@ -38280,6 +38226,10 @@ function commandToolBlurbs(registry) {
|
|
|
38280
38226
|
function normaliseReport(report) {
|
|
38281
38227
|
return typeof report === "string" ? { summary: report } : report;
|
|
38282
38228
|
}
|
|
38229
|
+
function projectConfigRef() {
|
|
38230
|
+
const config = projectState?.projectConfig;
|
|
38231
|
+
return config ? toRaw(config) : null;
|
|
38232
|
+
}
|
|
38283
38233
|
function defaultPaths(command, tab) {
|
|
38284
38234
|
if (command.undo === "document") {
|
|
38285
38235
|
return [tab?.documentPath ?? "(untitled)"];
|
|
@@ -38312,6 +38262,7 @@ function createCommandToolRegistry(deps) {
|
|
|
38312
38262
|
const args = received;
|
|
38313
38263
|
const tab = command.undo === "document" ? deps.getTab() : null;
|
|
38314
38264
|
const rootBefore = tab ? toRaw(tab.doc.document) : null;
|
|
38265
|
+
const configBefore = command.undo === "project" ? projectConfigRef() : null;
|
|
38315
38266
|
let snapshot = null;
|
|
38316
38267
|
let before;
|
|
38317
38268
|
try {
|
|
@@ -38337,17 +38288,24 @@ function createCommandToolRegistry(deps) {
|
|
|
38337
38288
|
success: false
|
|
38338
38289
|
};
|
|
38339
38290
|
}
|
|
38291
|
+
const projectUnchanged = command.undo === "project" && projectConfigRef() === configBefore;
|
|
38340
38292
|
const after = registry.context();
|
|
38341
38293
|
let report;
|
|
38342
38294
|
try {
|
|
38343
38295
|
report = normaliseReport(tool.report({ after, args, before }));
|
|
38344
38296
|
} catch (error) {
|
|
38345
|
-
fileLedger(command, tab);
|
|
38297
|
+
fileLedger(command, tab, projectUnchanged ? [] : undefined);
|
|
38346
38298
|
const message = error instanceof Error ? error.message : String(error);
|
|
38347
38299
|
return { error: `${command.title} ran, but its report failed: ${message}`, success: false };
|
|
38348
38300
|
}
|
|
38349
|
-
|
|
38350
|
-
|
|
38301
|
+
let { summary, wrote } = report;
|
|
38302
|
+
if (projectUnchanged) {
|
|
38303
|
+
wrote = [];
|
|
38304
|
+
if (report.wrote === undefined || report.wrote.length > 0) {
|
|
38305
|
+
summary = `${command.title} changed nothing: project.json is exactly as it was.`;
|
|
38306
|
+
}
|
|
38307
|
+
}
|
|
38308
|
+
fileLedger(command, tab, wrote);
|
|
38351
38309
|
if (tab && snapshot) {
|
|
38352
38310
|
const verdict = await reportDocumentWrite(tab, snapshot, summary, deps);
|
|
38353
38311
|
if (!verdict.success) {
|
|
@@ -38706,7 +38664,7 @@ ${formatted}`
|
|
|
38706
38664
|
};
|
|
38707
38665
|
}
|
|
38708
38666
|
if (projectConfig) {
|
|
38709
|
-
await onProjectConfigWritten?.(projectConfig);
|
|
38667
|
+
await onProjectConfigWritten?.(projectConfig, content);
|
|
38710
38668
|
} else if (openTab) {
|
|
38711
38669
|
await reloadTab(relPath);
|
|
38712
38670
|
}
|
|
@@ -39443,11 +39401,6 @@ var AI_TOOL_TIERS = [
|
|
|
39443
39401
|
tier: "project",
|
|
39444
39402
|
blurb: "create_page(path, content) — create a new .json page file on disk."
|
|
39445
39403
|
},
|
|
39446
|
-
{
|
|
39447
|
-
name: "open_document",
|
|
39448
|
-
tier: "project",
|
|
39449
|
-
blurb: "open_document(path) — open a file on the canvas as the active document; the document tools then operate on it. Use when the user should SEE the page, or for iterative visual refinement."
|
|
39450
|
-
},
|
|
39451
39404
|
{
|
|
39452
39405
|
name: "read_document",
|
|
39453
39406
|
tier: "document",
|
|
@@ -40476,7 +40429,6 @@ function createDocumentAssistant() {
|
|
|
40476
40429
|
await plat.writeFile(relPath, content);
|
|
40477
40430
|
},
|
|
40478
40431
|
renderCheck,
|
|
40479
|
-
openDocument: openFileInTab2,
|
|
40480
40432
|
getProjectStyle,
|
|
40481
40433
|
findOpenTab,
|
|
40482
40434
|
reloadTab: reloadFileInTab2
|
|
@@ -40502,8 +40454,8 @@ function createDocumentAssistant() {
|
|
|
40502
40454
|
moveSession("", root, sessionId);
|
|
40503
40455
|
}
|
|
40504
40456
|
},
|
|
40505
|
-
onProjectConfigWritten: async (config) => {
|
|
40506
|
-
await adoptProjectConfig(config);
|
|
40457
|
+
onProjectConfigWritten: async (config, text) => {
|
|
40458
|
+
await adoptProjectConfig(config, text);
|
|
40507
40459
|
refreshExtensionUi2(getPlatform2());
|
|
40508
40460
|
}
|
|
40509
40461
|
});
|
|
@@ -40512,7 +40464,7 @@ function createDocumentAssistant() {
|
|
|
40512
40464
|
"no-project": "no project to be open (it bootstraps one)",
|
|
40513
40465
|
project: "an open project",
|
|
40514
40466
|
document: "an open document (use open_document first)",
|
|
40515
|
-
"document-tree": "an open document whose element tree the canvas is editing — Project Settings and the " + "grid editors are documents, but not trees to restructure"
|
|
40467
|
+
"document-tree": "an open document whose element tree the canvas is editing — Project Settings and the " + "grid editors are documents, but not trees to restructure, and a page left in Code view " + "returns to the canvas with set_canvas_mode"
|
|
40516
40468
|
};
|
|
40517
40469
|
const treeEditable = () => {
|
|
40518
40470
|
const registry = activeRegistry();
|
|
@@ -41327,7 +41279,7 @@ function createManagedConnect(opts) {
|
|
|
41327
41279
|
return;
|
|
41328
41280
|
}
|
|
41329
41281
|
if (!outcome.connection.accountId) {
|
|
41330
|
-
const { openCfAccountPicker } = await (__preload("
|
|
41282
|
+
const { openCfAccountPicker } = await (__preload("qwkm9zrf"), import("./chunks/cf-account-picker-qwkm9zrf.js"));
|
|
41331
41283
|
if (!await openCfAccountPicker()) {
|
|
41332
41284
|
connectError = "Cloudflare is connected, but no account is chosen yet — pick one to finish setting up the assistant.";
|
|
41333
41285
|
return;
|
|
@@ -56872,7 +56824,7 @@ function renderAiPanel() {
|
|
|
56872
56824
|
function runCommand(id) {
|
|
56873
56825
|
const registry = activeRegistry();
|
|
56874
56826
|
if (registry?.isEnabled(id)) {
|
|
56875
|
-
registry
|
|
56827
|
+
runReported(registry, id, undefined, "Assistant");
|
|
56876
56828
|
}
|
|
56877
56829
|
}
|
|
56878
56830
|
function watchAssistant() {
|
|
@@ -57183,71 +57135,6 @@ function assistantCommands() {
|
|
|
57183
57135
|
];
|
|
57184
57136
|
}
|
|
57185
57137
|
|
|
57186
|
-
// ../schema/src/component-meta.ts
|
|
57187
|
-
function collectSlotDefs(node, out = []) {
|
|
57188
|
-
if (!node || typeof node !== "object" || Array.isArray(node)) {
|
|
57189
|
-
return out;
|
|
57190
|
-
}
|
|
57191
|
-
const el = node;
|
|
57192
|
-
if (el.tagName === "slot") {
|
|
57193
|
-
const attrs = el.attributes;
|
|
57194
|
-
const rawName = attrs?.name;
|
|
57195
|
-
const name = typeof rawName === "string" ? rawName.trim() : "";
|
|
57196
|
-
const { children } = el;
|
|
57197
|
-
out.push({
|
|
57198
|
-
name,
|
|
57199
|
-
...Array.isArray(children) && children.length > 0 ? { fallback: children } : {}
|
|
57200
|
-
});
|
|
57201
|
-
}
|
|
57202
|
-
if (Array.isArray(el.children)) {
|
|
57203
|
-
for (const c of el.children) {
|
|
57204
|
-
collectSlotDefs(c, out);
|
|
57205
|
-
}
|
|
57206
|
-
}
|
|
57207
|
-
return out;
|
|
57208
|
-
}
|
|
57209
|
-
function isPropEntry(def) {
|
|
57210
|
-
if (def == null) {
|
|
57211
|
-
return false;
|
|
57212
|
-
}
|
|
57213
|
-
if (typeof def !== "object") {
|
|
57214
|
-
return true;
|
|
57215
|
-
}
|
|
57216
|
-
const obj = def;
|
|
57217
|
-
return !obj.$prototype && !obj.$handler && !obj.$compute;
|
|
57218
|
-
}
|
|
57219
|
-
function componentMetaFrom(doc, path) {
|
|
57220
|
-
if (!doc || typeof doc !== "object" || Array.isArray(doc)) {
|
|
57221
|
-
return null;
|
|
57222
|
-
}
|
|
57223
|
-
const content = doc;
|
|
57224
|
-
const { tagName } = content;
|
|
57225
|
-
if (typeof tagName !== "string" || !tagName.includes("-")) {
|
|
57226
|
-
return null;
|
|
57227
|
-
}
|
|
57228
|
-
const slots = collectSlotDefs(content);
|
|
57229
|
-
const state = content.state ?? {};
|
|
57230
|
-
return {
|
|
57231
|
-
$id: typeof content.$id === "string" && content.$id ? content.$id : null,
|
|
57232
|
-
hasElements: Array.isArray(content.$elements) && content.$elements.length > 0,
|
|
57233
|
-
path,
|
|
57234
|
-
props: Object.entries(state).filter(([, def]) => isPropEntry(def)).map(([name, def]) => {
|
|
57235
|
-
if (typeof def !== "object" || def === null) {
|
|
57236
|
-
return { default: def, name, type: typeof def };
|
|
57237
|
-
}
|
|
57238
|
-
const obj = def;
|
|
57239
|
-
return {
|
|
57240
|
-
default: obj.default,
|
|
57241
|
-
format: obj.format,
|
|
57242
|
-
name,
|
|
57243
|
-
type: obj.type
|
|
57244
|
-
};
|
|
57245
|
-
}),
|
|
57246
|
-
...slots.length > 0 ? { slots } : {},
|
|
57247
|
-
tagName
|
|
57248
|
-
};
|
|
57249
|
-
}
|
|
57250
|
-
|
|
57251
57138
|
// src/services/import-client.ts
|
|
57252
57139
|
var IMPORT_WARNING_PHASE = "warning";
|
|
57253
57140
|
async function streamImport(endpoint, opts, onProgress, signal, onReady) {
|
|
@@ -60938,16 +60825,7 @@ function runRow(id, args) {
|
|
|
60938
60825
|
if (!registry) {
|
|
60939
60826
|
return;
|
|
60940
60827
|
}
|
|
60941
|
-
|
|
60942
|
-
try {
|
|
60943
|
-
result = registry.run(id, args);
|
|
60944
|
-
} catch (error) {
|
|
60945
|
-
notify2.error(errorMessage2(error), { source: id });
|
|
60946
|
-
return;
|
|
60947
|
-
}
|
|
60948
|
-
Promise.resolve(result).catch((error) => {
|
|
60949
|
-
notify2.error(errorMessage2(error), { source: id });
|
|
60950
|
-
});
|
|
60828
|
+
runReported(registry, id, args, "Settings");
|
|
60951
60829
|
}
|
|
60952
60830
|
function buildSettingsMenuRows(registry) {
|
|
60953
60831
|
const commands = [...registry.forPlacement(SETTINGS_MENU_PLACEMENT)].toSorted((a, b) => LEVELS.indexOf(a.level) - LEVELS.indexOf(b.level));
|
|
@@ -61517,7 +61395,7 @@ var commandbar_default = {
|
|
|
61517
61395
|
gap: "2px",
|
|
61518
61396
|
flexShrink: "0"
|
|
61519
61397
|
},
|
|
61520
|
-
'& [part="layout"]
|
|
61398
|
+
'& [part="layout"]': {
|
|
61521
61399
|
padding: "2px var(--jx-space-3)",
|
|
61522
61400
|
border: "none",
|
|
61523
61401
|
borderRadius: "var(--jx-radius-sm)",
|
|
@@ -61540,9 +61418,6 @@ var commandbar_default = {
|
|
|
61540
61418
|
color: "var(--jx-fg)",
|
|
61541
61419
|
background: "var(--jx-hover-bg)"
|
|
61542
61420
|
},
|
|
61543
|
-
'& [part="layout-add"]': {
|
|
61544
|
-
padding: "2px var(--jx-space-2)"
|
|
61545
|
-
},
|
|
61546
61421
|
'& [part="center"]': {
|
|
61547
61422
|
display: "flex",
|
|
61548
61423
|
alignItems: "center",
|
|
@@ -61918,14 +61793,16 @@ var commandbar_default = {
|
|
|
61918
61793
|
}
|
|
61919
61794
|
},
|
|
61920
61795
|
{
|
|
61921
|
-
tagName: "button",
|
|
61796
|
+
tagName: "jx-action-button",
|
|
61797
|
+
$props: {
|
|
61798
|
+
label: "Save layout",
|
|
61799
|
+
hint: "Save the current arrangement as a layout",
|
|
61800
|
+
icon: "plus",
|
|
61801
|
+
size: "sm"
|
|
61802
|
+
},
|
|
61922
61803
|
attributes: {
|
|
61923
|
-
part: "layout-add"
|
|
61924
|
-
type: "button",
|
|
61925
|
-
title: "Save the current arrangement as a layout",
|
|
61926
|
-
"aria-label": "Save layout"
|
|
61804
|
+
part: "layout-add"
|
|
61927
61805
|
},
|
|
61928
|
-
textContent: "+",
|
|
61929
61806
|
onclick: {
|
|
61930
61807
|
$prototype: "Function",
|
|
61931
61808
|
body: [
|
|
@@ -62096,6 +61973,9 @@ var commandbar_default = {
|
|
|
62096
61973
|
label: {
|
|
62097
61974
|
$ref: "$map/item/title"
|
|
62098
61975
|
},
|
|
61976
|
+
hint: {
|
|
61977
|
+
$ref: "$map/item/tooltip"
|
|
61978
|
+
},
|
|
62099
61979
|
disabled: {
|
|
62100
61980
|
$ref: "$map/item/disabled"
|
|
62101
61981
|
},
|
|
@@ -62103,8 +61983,7 @@ var commandbar_default = {
|
|
|
62103
61983
|
quiet: true
|
|
62104
61984
|
},
|
|
62105
61985
|
attributes: {
|
|
62106
|
-
"data-command-id": "${$map.item.id}"
|
|
62107
|
-
title: "${$map.item.tooltip}"
|
|
61986
|
+
"data-command-id": "${$map.item.id}"
|
|
62108
61987
|
},
|
|
62109
61988
|
onclick: {
|
|
62110
61989
|
$prototype: "Function",
|
|
@@ -62651,13 +62530,13 @@ async function saveLayoutPrompt(registry) {
|
|
|
62651
62530
|
placeholder: "Layout name"
|
|
62652
62531
|
});
|
|
62653
62532
|
if (name) {
|
|
62654
|
-
await registry
|
|
62533
|
+
await runReported(registry, "view.saveLayout", { name }, "Command Bar");
|
|
62655
62534
|
}
|
|
62656
62535
|
}
|
|
62657
62536
|
async function renameLayoutPrompt(registry, layout, current) {
|
|
62658
62537
|
const name = await showPromptDialog2("Rename layout", { confirmLabel: "Rename", value: current });
|
|
62659
62538
|
if (name) {
|
|
62660
|
-
await registry
|
|
62539
|
+
await runReported(registry, "view.renameLayout", { layout, name }, "Command Bar");
|
|
62661
62540
|
}
|
|
62662
62541
|
}
|
|
62663
62542
|
function windowControls() {
|
|
@@ -62782,7 +62661,7 @@ function openStudioMenu(opener) {
|
|
|
62782
62661
|
rows: overflowRows(registry),
|
|
62783
62662
|
run: (id) => {
|
|
62784
62663
|
if (registry.isEnabled(id)) {
|
|
62785
|
-
registry
|
|
62664
|
+
runReported(registry, id, undefined, "Command Bar");
|
|
62786
62665
|
}
|
|
62787
62666
|
}
|
|
62788
62667
|
});
|
|
@@ -62819,7 +62698,7 @@ function state4() {
|
|
|
62819
62698
|
run: (id) => {
|
|
62820
62699
|
const registry = activeRegistry();
|
|
62821
62700
|
if (registry?.isEnabled(id)) {
|
|
62822
|
-
registry
|
|
62701
|
+
runReported(registry, id, undefined, "Command Bar");
|
|
62823
62702
|
}
|
|
62824
62703
|
},
|
|
62825
62704
|
saveLayout: () => {
|
|
@@ -62830,7 +62709,7 @@ function state4() {
|
|
|
62830
62709
|
},
|
|
62831
62710
|
segments: [],
|
|
62832
62711
|
setLayout: (id) => {
|
|
62833
|
-
|
|
62712
|
+
runActiveReported("view.setLayout", { layout: id }, "Command Bar");
|
|
62834
62713
|
},
|
|
62835
62714
|
windowControl: (action) => {
|
|
62836
62715
|
windowControls()?.[action]();
|
|
@@ -76214,7 +76093,7 @@ async function openProjectSettings(section) {
|
|
|
76214
76093
|
showSettingsDocument();
|
|
76215
76094
|
notifySettingsDocument2();
|
|
76216
76095
|
try {
|
|
76217
|
-
const { syncExtensionSettingsSections } = await (__preload("
|
|
76096
|
+
const { syncExtensionSettingsSections } = await (__preload("3hpcambp"), import("./chunks/extension-sections-3hpcambp.js"));
|
|
76218
76097
|
await syncExtensionSettingsSections();
|
|
76219
76098
|
} catch (error) {
|
|
76220
76099
|
notify2.warn(`Could not load extension settings sections — ${errorMessage2(error)}`, {
|
|
@@ -76624,9 +76503,9 @@ function openAboutSurface(options) {
|
|
|
76624
76503
|
|
|
76625
76504
|
// src/version.ts
|
|
76626
76505
|
var APP_NAME = "Jx Studio";
|
|
76627
|
-
var VERSION = "5.
|
|
76628
|
-
var BUILD_DATE = "2026-09-
|
|
76629
|
-
var GIT_COMMIT = "
|
|
76506
|
+
var VERSION = "5.1.0";
|
|
76507
|
+
var BUILD_DATE = "2026-09-14T22:36:33.220Z";
|
|
76508
|
+
var GIT_COMMIT = "ea2a10c";
|
|
76630
76509
|
var LINKS = {
|
|
76631
76510
|
github: "https://github.com/jxsuite/jx",
|
|
76632
76511
|
docs: "https://github.com/jxsuite/jx#readme",
|
|
@@ -77034,9 +76913,9 @@ function withExtension(path, ext) {
|
|
|
77034
76913
|
return current === "" ? `${path}${ext}` : `${path.slice(0, path.length - current.length)}${ext}`;
|
|
77035
76914
|
}
|
|
77036
76915
|
async function readDocument(path, source) {
|
|
77037
|
-
const { formatForPath } = await (__preload("
|
|
76916
|
+
const { formatForPath } = await (__preload("779sfp2n"), import("./chunks/format-host-779sfp2n.js"));
|
|
77038
76917
|
if (formatForPath(path)) {
|
|
77039
|
-
const { parseSourceForPath } = await (__preload("
|
|
76918
|
+
const { parseSourceForPath } = await (__preload("8yhd83xr"), import("./chunks/file-ops-8yhd83xr.js"));
|
|
77040
76919
|
const parsed = await parseSourceForPath(path, source);
|
|
77041
76920
|
return { document: parsed.document, frontmatter: parsed.frontmatter };
|
|
77042
76921
|
}
|
|
@@ -77047,7 +76926,7 @@ async function writeDocument(targetExt, document2, frontmatter) {
|
|
|
77047
76926
|
if (targetExt === ".json") {
|
|
77048
76927
|
return serializeJson(merged, null);
|
|
77049
76928
|
}
|
|
77050
|
-
const { formatByExtension, formatSerialize } = await (__preload("
|
|
76929
|
+
const { formatByExtension, formatSerialize } = await (__preload("779sfp2n"), import("./chunks/format-host-779sfp2n.js"));
|
|
77051
76930
|
const format = formatByExtension(targetExt, "serialize");
|
|
77052
76931
|
if (!format) {
|
|
77053
76932
|
throw new Error(`No installed format writes ${targetExt} files.`);
|
|
@@ -77102,7 +76981,7 @@ async function buildPlan(path, source, targetExt) {
|
|
|
77102
76981
|
if (!await readsBackIdentically(targetPath, text)) {
|
|
77103
76982
|
lines.push("This file will not read back identically after conversion.");
|
|
77104
76983
|
}
|
|
77105
|
-
const { loadUsages, usageWarning } = await (__preload("
|
|
76984
|
+
const { loadUsages, usageWarning } = await (__preload("qvvxej7h"), import("./chunks/references-qvvxej7h.js"));
|
|
77106
76985
|
const sentence = usageWarning(await loadUsages({ path }), "convert");
|
|
77107
76986
|
if (sentence !== null) {
|
|
77108
76987
|
lines.push(sentence);
|
|
@@ -77117,13 +76996,13 @@ async function convertFile(path, targetExt) {
|
|
|
77117
76996
|
notify.error(message, { detail, path, source: "Convert" });
|
|
77118
76997
|
return null;
|
|
77119
76998
|
};
|
|
77120
|
-
const { loadFormats } = await (__preload("
|
|
76999
|
+
const { loadFormats } = await (__preload("779sfp2n"), import("./chunks/format-host-779sfp2n.js"));
|
|
77121
77000
|
await loadFormats();
|
|
77122
77001
|
const targets = convertTargets(path);
|
|
77123
77002
|
if (targets.length === 0) {
|
|
77124
77003
|
return fail(`${path} cannot be converted to another format.`, CANNOT_CONVERT);
|
|
77125
77004
|
}
|
|
77126
|
-
const { workspace } = await (__preload("
|
|
77005
|
+
const { workspace } = await (__preload("t55jdjbx"), import("./chunks/workspace-t55jdjbx.js"));
|
|
77127
77006
|
const { commitTabBuffers } = await (__preload("bhy3hb6m"), import("./chunks/monaco-buffer-bhy3hb6m.js"));
|
|
77128
77007
|
const openTabEntry = [...workspace.tabs.values()].find((tab) => tab.documentPath === path);
|
|
77129
77008
|
if (openTabEntry) {
|
|
@@ -77161,7 +77040,7 @@ async function convertFile(path, targetExt) {
|
|
|
77161
77040
|
if (plan.blocker !== null) {
|
|
77162
77041
|
return fail(`${path} cannot be converted to ${chosen}.`, plan.blocker);
|
|
77163
77042
|
}
|
|
77164
|
-
const { showConfirmDialog } = await (__preload("
|
|
77043
|
+
const { showConfirmDialog } = await (__preload("ff81wthn"), import("./chunks/layers-ff81wthn.js"));
|
|
77165
77044
|
const { html } = await (__preload("m244w9nh"), import("./chunks/lit-html-m244w9nh.js"));
|
|
77166
77045
|
const confirmed = await showConfirmDialog("Convert Format", html`<span
|
|
77167
77046
|
>Convert <strong>${path.split("/").pop()}</strong> to
|
|
@@ -77170,8 +77049,8 @@ async function convertFile(path, targetExt) {
|
|
|
77170
77049
|
if (!confirmed) {
|
|
77171
77050
|
return null;
|
|
77172
77051
|
}
|
|
77173
|
-
const { markLocalMutation } = await (__preload("
|
|
77174
|
-
const { notifyMoveOutcome, settleRename } = await (__preload("
|
|
77052
|
+
const { markLocalMutation } = await (__preload("b88z7g4h"), import("./chunks/fs-events-b88z7g4h.js"));
|
|
77053
|
+
const { notifyMoveOutcome, settleRename } = await (__preload("hnxqxtsg"), import("./chunks/files-hnxqxtsg.js"));
|
|
77175
77054
|
markLocalMutation(path, plan.targetPath);
|
|
77176
77055
|
try {
|
|
77177
77056
|
await platform.writeFile(path, plan.text);
|
|
@@ -77196,8 +77075,8 @@ async function convertFile(path, targetExt) {
|
|
|
77196
77075
|
return plan.targetPath;
|
|
77197
77076
|
}
|
|
77198
77077
|
async function rebuildTab(from, to, text) {
|
|
77199
|
-
const { openTab, renameTab } = await (__preload("
|
|
77200
|
-
const { formatForPath } = await (__preload("
|
|
77078
|
+
const { openTab, renameTab } = await (__preload("t55jdjbx"), import("./chunks/workspace-t55jdjbx.js"));
|
|
77079
|
+
const { formatForPath } = await (__preload("779sfp2n"), import("./chunks/format-host-779sfp2n.js"));
|
|
77201
77080
|
renameTab(from, to, to);
|
|
77202
77081
|
const format = formatForPath(to);
|
|
77203
77082
|
let document2;
|
|
@@ -77205,7 +77084,7 @@ async function rebuildTab(from, to, text) {
|
|
|
77205
77084
|
let layout = null;
|
|
77206
77085
|
try {
|
|
77207
77086
|
if (format) {
|
|
77208
|
-
const { parseSourceForPath } = await (__preload("
|
|
77087
|
+
const { parseSourceForPath } = await (__preload("8yhd83xr"), import("./chunks/file-ops-8yhd83xr.js"));
|
|
77209
77088
|
({ document: document2, frontmatter } = await parseSourceForPath(to, text));
|
|
77210
77089
|
} else {
|
|
77211
77090
|
({ document: document2, layout } = parseJsonDocument(text));
|
|
@@ -77234,7 +77113,7 @@ async function pickTarget(path, targets) {
|
|
|
77234
77113
|
if (targets.length === 1) {
|
|
77235
77114
|
return targets[0].ext;
|
|
77236
77115
|
}
|
|
77237
|
-
const { showPromptDialog } = await (__preload("
|
|
77116
|
+
const { showPromptDialog } = await (__preload("ff81wthn"), import("./chunks/layers-ff81wthn.js"));
|
|
77238
77117
|
let picked = targets[0].ext;
|
|
77239
77118
|
const answer = await showPromptDialog("Convert Format", {
|
|
77240
77119
|
choice: {
|
|
@@ -77359,7 +77238,7 @@ function publishCommands() {
|
|
|
77359
77238
|
when: (ctx) => ctx.project.open,
|
|
77360
77239
|
enablement: () => platformSupportsPublish(),
|
|
77361
77240
|
run: async () => {
|
|
77362
|
-
const { openPublishPanel } = await (__preload("
|
|
77241
|
+
const { openPublishPanel } = await (__preload("5zt840sy"), import("./chunks/publish-panel-5zt840sy.js"));
|
|
77363
77242
|
openPublishPanel();
|
|
77364
77243
|
},
|
|
77365
77244
|
title: "Set Up Publishing"
|
|
@@ -78060,7 +77939,7 @@ function i18nCommands() {
|
|
|
78060
77939
|
});
|
|
78061
77940
|
return;
|
|
78062
77941
|
}
|
|
78063
|
-
const { openFileInTab } = await (__preload("
|
|
77942
|
+
const { openFileInTab } = await (__preload("hnxqxtsg"), import("./chunks/files-hnxqxtsg.js"));
|
|
78064
77943
|
await openFileInTab(path);
|
|
78065
77944
|
},
|
|
78066
77945
|
title: "Open Translation"
|
|
@@ -78105,7 +77984,7 @@ function i18nCommands() {
|
|
|
78105
77984
|
return;
|
|
78106
77985
|
}
|
|
78107
77986
|
const cut = path.lastIndexOf("/");
|
|
78108
|
-
const { createFileIn, openFileInTab } = await (__preload("
|
|
77987
|
+
const { createFileIn, openFileInTab } = await (__preload("hnxqxtsg"), import("./chunks/files-hnxqxtsg.js"));
|
|
78109
77988
|
const created = await createFileIn({
|
|
78110
77989
|
content,
|
|
78111
77990
|
dir: cut === -1 ? "." : path.slice(0, cut),
|
|
@@ -78954,6 +78833,10 @@ var liveChrome = createLiveSurfaceSaver({
|
|
|
78954
78833
|
setDocumentSavedListener2((path, doc) => {
|
|
78955
78834
|
noteFileSaved2(path);
|
|
78956
78835
|
liveChrome(path, doc);
|
|
78836
|
+
if (noteComponentSaved2(path, doc)) {
|
|
78837
|
+
renderPropertiesPanel();
|
|
78838
|
+
renderLeftPanel();
|
|
78839
|
+
}
|
|
78957
78840
|
});
|
|
78958
78841
|
commandRegistry.registerAll(diffCommands());
|
|
78959
78842
|
ensurePopoverRevealWatch();
|
|
@@ -78996,5 +78879,5 @@ export {
|
|
|
78996
78879
|
hasUnsavedTabs
|
|
78997
78880
|
};
|
|
78998
78881
|
|
|
78999
|
-
//# debugId=
|
|
78882
|
+
//# debugId=9C5086FE72E2FA8664756E2164756E21
|
|
79000
78883
|
//# sourceMappingURL=studio.js.map
|