@jxsuite/studio 3.0.0 → 4.0.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.
Files changed (173) hide show
  1. package/README.md +5 -5
  2. package/dist/chunks/Overlay.dev-723bv0df.js +23 -0
  3. package/dist/chunks/{cf-settings-zj2cj1ar.js → cf-settings-45fgyx8y.js} +6 -5
  4. package/dist/chunks/{components-z6cnkyy1.js → components-zmx10t62.js} +6 -5
  5. package/dist/chunks/content-source-t88vb2dr.js +49 -0
  6. package/dist/chunks/{convert-to-repeater-6vvx96n2.js → convert-to-repeater-dhw1nrz9.js} +27 -19
  7. package/dist/chunks/entry-commands-6z6bhxg0.js +46 -0
  8. package/dist/chunks/{extension-sections-kwzvpemr.js → extension-sections-3ydgjbdy.js} +32 -24
  9. package/dist/chunks/file-ops-rskmhxyq.js +48 -0
  10. package/dist/chunks/files-0cratsr0.js +92 -0
  11. package/dist/chunks/{format-host-8fr3545e.js → format-host-tgcmfs4p.js} +3 -3
  12. package/dist/chunks/fs-events-hrrg328g.js +21 -0
  13. package/dist/chunks/{git-panel-g01d93vc.js → git-panel-0yywyk76.js} +21 -16
  14. package/dist/chunks/{jx-validate-jj9rnt4n.js → jx-validate-8q2g05x1.js} +6 -4
  15. package/dist/chunks/layers-panel-z3tqe5cd.js +67 -0
  16. package/dist/chunks/layers-q75tj2mf.js +45 -0
  17. package/dist/chunks/lit-html-j055mkh8.js +22 -0
  18. package/dist/chunks/monaco-buffer-dqw0xxpx.js +25 -0
  19. package/dist/chunks/{monaco-setup-a5wkmbgh.js → monaco-setup-rws7k4br.js} +4 -4
  20. package/dist/chunks/notify-yjm79n4s.js +30 -0
  21. package/dist/chunks/parse-24d0gay3.js +19 -0
  22. package/dist/chunks/platform-ba1j1gbh.js +16 -0
  23. package/dist/chunks/publish-panel-54jvhskq.js +28 -0
  24. package/dist/chunks/quick-search-cgfmjwq5.js +65 -0
  25. package/dist/chunks/references-3qx8fkyp.js +29 -0
  26. package/dist/chunks/right-panel-cqp8bc4v.js +46 -0
  27. package/dist/chunks/sp-overlay.dev-yztmtrs1.js +18 -0
  28. package/dist/chunks/sp-popover.dev-n2etmqdp.js +9 -0
  29. package/dist/chunks/sp-progress-circle.dev-hryhj0es.js +15 -0
  30. package/dist/chunks/sp-tooltip.dev-xcvpnqr0.js +15 -0
  31. package/dist/chunks/{sp-tray.dev-64v4pxw8.js → sp-tray.dev-tkbscm06.js} +5 -5
  32. package/dist/chunks/{studio-8ezdegcx.js → studio-1hbqnt19.js} +36 -32
  33. package/dist/chunks/{studio-r5xbtctf.js → studio-2zkz8evn.js} +446 -2451
  34. package/dist/chunks/{studio-pkp61mh8.js → studio-4pqqxbrt.js} +23 -15
  35. package/dist/chunks/{studio-kvfx9z2c.js → studio-4rzyrtjz.js} +70 -31
  36. package/dist/chunks/{studio-3dkcd4c5.js → studio-5q69gfag.js} +60 -56
  37. package/dist/chunks/{studio-rh1cnamv.js → studio-5rywrkxz.js} +563 -133
  38. package/dist/chunks/{studio-6kv3apa9.js → studio-68n67094.js} +25 -9
  39. package/dist/chunks/{studio-0rqqhrdy.js → studio-7nte2hj4.js} +2 -2
  40. package/dist/chunks/{studio-xntfdy1x.js → studio-8swrjbny.js} +31 -18
  41. package/dist/chunks/studio-92ab2jqe.js +282 -0
  42. package/dist/chunks/{studio-sas7mt3k.js → studio-9ab8gqsm.js} +2 -2
  43. package/dist/chunks/{studio-ry1vz5sv.js → studio-9c4k4vhv.js} +15 -13
  44. package/dist/chunks/studio-9n4mrmnb.js +184 -0
  45. package/dist/chunks/{studio-tr20m8g8.js → studio-9r6j5ev1.js} +37 -2
  46. package/dist/chunks/{studio-2x9zbxmx.js → studio-ahjfdy6e.js} +9 -7
  47. package/dist/chunks/{studio-s519zc99.js → studio-bgxt93ga.js} +3 -3
  48. package/dist/chunks/{studio-dc8s8heb.js → studio-cb12yz9w.js} +8528 -8780
  49. package/dist/chunks/studio-cft9r4r7.js +119 -0
  50. package/dist/chunks/{studio-hcxzyk3x.js → studio-eenfkt4e.js} +6 -6
  51. package/dist/chunks/studio-eesa1myv.js +498 -0
  52. package/dist/chunks/{studio-ay8wcr2b.js → studio-eqq1w638.js} +7 -9
  53. package/dist/chunks/{studio-7p35254k.js → studio-ex8zyp98.js} +30 -26
  54. package/dist/chunks/studio-gv8vvshc.js +118 -0
  55. package/dist/chunks/studio-hbtp0eh1.js +1315 -0
  56. package/dist/chunks/{studio-a0yp7syn.js → studio-htsf0w6m.js} +29 -114
  57. package/dist/chunks/{studio-j595e748.js → studio-kjjsjak4.js} +139 -63
  58. package/dist/chunks/{studio-5x5774ak.js → studio-kryvsw6j.js} +3 -3
  59. package/dist/chunks/{studio-kfpek536.js → studio-kyh9avvv.js} +2 -2
  60. package/dist/chunks/{studio-g5gdqnyd.js → studio-kyk2v92a.js} +14 -14
  61. package/dist/chunks/{studio-twsafr1e.js → studio-m3hwn7y1.js} +3 -3
  62. package/dist/chunks/{studio-tzx3xmvx.js → studio-mmv72a27.js} +8 -8
  63. package/dist/chunks/{studio-vhk5fmfv.js → studio-n8b9wqwy.js} +5 -5
  64. package/dist/chunks/{studio-cjm7fdjf.js → studio-p4ngc046.js} +8 -104
  65. package/dist/chunks/{studio-p5dja96s.js → studio-p8j86wag.js} +2 -2
  66. package/dist/chunks/{studio-6z5eyjwn.js → studio-pdfjntbk.js} +66 -129
  67. package/dist/chunks/studio-q43a5y9h.js +394 -0
  68. package/dist/chunks/studio-q7v10cg2.js +106 -0
  69. package/dist/chunks/{studio-2w11grav.js → studio-qq6jym04.js} +3 -3
  70. package/dist/chunks/studio-r1r7afxx.js +1066 -0
  71. package/dist/chunks/{studio-3fk1ac9z.js → studio-rdx8jcxy.js} +4 -4
  72. package/dist/chunks/{studio-4mqb9a0j.js → studio-rn9ta2mz.js} +4 -4
  73. package/dist/chunks/studio-sf7zjgv1.js +91 -0
  74. package/dist/chunks/studio-t7qb9db8.js +665 -0
  75. package/dist/chunks/studio-tmc5emrw.js +8 -0
  76. package/dist/chunks/{studio-wdt9y92a.js → studio-txwkm6p9.js} +2 -2
  77. package/dist/chunks/{studio-k4jvjcfx.js → studio-v38hmvx1.js} +7 -7
  78. package/dist/chunks/{studio-7ejemhej.js → studio-vadzgkrz.js} +6 -6
  79. package/dist/chunks/studio-wcy8trfx.js +263 -0
  80. package/dist/chunks/{studio-5efrtn1m.js → studio-wx5609xd.js} +21 -17
  81. package/dist/chunks/{studio-qpfq7xhm.js → studio-xrapxwwc.js} +22 -285
  82. package/dist/chunks/{studio-hj2se583.js → studio-yxrkyv8a.js} +41 -31
  83. package/dist/chunks/{studio-xm3dbxvn.js → studio-zczps70q.js} +2 -2
  84. package/dist/chunks/workspace-xpres40v.js +89 -0
  85. package/dist/iframe-entry.js +108 -24
  86. package/dist/studio.js +2362 -1695
  87. package/package.json +16 -15
  88. package/src/browse/library-pane.ts +57 -3
  89. package/src/canvas/canvas-render.ts +23 -1
  90. package/src/canvas/iframe-patch.ts +47 -21
  91. package/src/canvas/iframe-render.ts +22 -6
  92. package/src/commands/app-commands.ts +4 -0
  93. package/src/commands/command-args.ts +29 -0
  94. package/src/commands/context.ts +15 -1
  95. package/src/commands/defaults.ts +29 -1
  96. package/src/commands/levels.ts +16 -0
  97. package/src/commands/live-context.ts +3 -0
  98. package/src/content/collection-match.ts +267 -0
  99. package/src/content/entry-commands.ts +38 -29
  100. package/src/content/entry-fields.ts +6 -0
  101. package/src/editor/shortcuts.ts +5 -0
  102. package/src/files/file-ops.ts +10 -42
  103. package/src/files/files.ts +485 -59
  104. package/src/files/fs-events.ts +9 -0
  105. package/src/files/gitignore.ts +432 -0
  106. package/src/files/serialize-document.ts +60 -0
  107. package/src/format/convert-file.ts +511 -0
  108. package/src/format/format-choices.ts +199 -0
  109. package/src/grid/grid-view.ts +16 -2
  110. package/src/media/media-open.ts +58 -0
  111. package/src/media/media-pane.ts +310 -0
  112. package/src/new-project/import-tab.ts +332 -160
  113. package/src/new-project/new-project-modal.ts +27 -34
  114. package/src/packages/ensure-deps.ts +14 -7
  115. package/src/packages/jxsuite-update.ts +11 -11
  116. package/src/page-params.ts +10 -46
  117. package/src/panels/activity-bar.ts +45 -16
  118. package/src/panels/ai-chat/attached-context.ts +6 -1
  119. package/src/panels/ai-chat/chat-view.ts +255 -13
  120. package/src/panels/ai-chat/composer.ts +21 -97
  121. package/src/panels/ai-panel.ts +116 -2
  122. package/src/panels/navigator-panels.ts +7 -6
  123. package/src/panels/settings-menu.ts +799 -0
  124. package/src/panels/toolbar.ts +135 -15
  125. package/src/platforms/cloud.ts +20 -0
  126. package/src/platforms/devserver.ts +67 -33
  127. package/src/preview/preview-overlay.ts +226 -0
  128. package/src/services/ai-ask.ts +247 -0
  129. package/src/services/ai-import-tools.ts +494 -0
  130. package/src/services/ai-project-tools.ts +20 -26
  131. package/src/services/ai-system-prompt.ts +88 -2
  132. package/src/services/ai-turn-signal.ts +70 -0
  133. package/src/services/connection.ts +74 -0
  134. package/src/services/context-manager.ts +89 -0
  135. package/src/services/document-assistant.ts +45 -4
  136. package/src/services/import-client.ts +33 -6
  137. package/src/services/import-run.ts +158 -0
  138. package/src/services/import-seed.ts +120 -0
  139. package/src/services/jx-validate.ts +58 -6
  140. package/src/services/project-adoption.ts +71 -0
  141. package/src/services/references.ts +0 -0
  142. package/src/services/settings/definitions.ts +17 -0
  143. package/src/services/tool-executor.ts +34 -2
  144. package/src/settings/contexts-section.ts +45 -3
  145. package/src/settings/dependencies-editor.ts +43 -23
  146. package/src/settings/general-settings.ts +30 -12
  147. package/src/settings/preferences-dialog.ts +18 -41
  148. package/src/settings/preferences-sections.ts +57 -0
  149. package/src/settings/settings-document.ts +65 -9
  150. package/src/studio.ts +33 -6
  151. package/src/tabs/transact.ts +42 -19
  152. package/src/types.ts +103 -5
  153. package/src/ui/ai-model-picker.ts +162 -0
  154. package/src/ui/choice-field.ts +72 -0
  155. package/src/ui/layers.ts +83 -5
  156. package/src/utils/studio-utils.ts +22 -52
  157. package/styles/forced-colors.css +7 -0
  158. package/styles/overlays.css +256 -0
  159. package/styles/panels.css +13 -1
  160. package/styles/shell.css +111 -0
  161. package/dist/chunks/Overlay.dev-d2ajy6sj.js +0 -23
  162. package/dist/chunks/content-source-7fy9qrm0.js +0 -40
  163. package/dist/chunks/files-xcybanxe.js +0 -70
  164. package/dist/chunks/layers-panel-27essgkc.js +0 -60
  165. package/dist/chunks/publish-panel-09sy2bab.js +0 -22
  166. package/dist/chunks/quick-search-sefb61v8.js +0 -55
  167. package/dist/chunks/right-panel-9r32jd5j.js +0 -39
  168. package/dist/chunks/sp-overlay.dev-s18hymn9.js +0 -18
  169. package/dist/chunks/sp-popover.dev-dj9x7e7a.js +0 -9
  170. package/dist/chunks/sp-progress-circle.dev-0zxcyz3r.js +0 -15
  171. package/dist/chunks/sp-tooltip.dev-5c6d1kjz.js +0 -15
  172. package/dist/chunks/studio-c31yb4t6.js +0 -55
  173. package/src/canvas/site-style-css.ts +0 -117
@@ -1,8 +1,3 @@
1
- import {
2
- getPlatform,
3
- hasPlatform
4
- } from "./studio-sas7mt3k.js";
5
-
6
1
  // ../../node_modules/@vue/shared/dist/shared.esm-bundler.js
7
2
  function makeMap(str) {
8
3
  const map = /* @__PURE__ */ Object.create(null);
@@ -1398,77 +1393,6 @@ function computed(getterOrOptions, debugOptions, isSSR = false) {
1398
1393
  }
1399
1394
  return cRef;
1400
1395
  }
1401
- // src/services/settings/definitions.ts
1402
- function normalizeBaseUrl(raw) {
1403
- return raw.trim().replace(/\/+$/, "");
1404
- }
1405
- function trimmed(raw) {
1406
- return raw.trim();
1407
- }
1408
- var SETTINGS = {
1409
- aiBaseUrl: {
1410
- default: "",
1411
- key: "jx.ai.baseUrl",
1412
- normalize: normalizeBaseUrl,
1413
- scope: "user"
1414
- },
1415
- aiOpenAiKey: {
1416
- default: "",
1417
- key: "jx.ai.openaiKey",
1418
- normalize: trimmed,
1419
- scope: "user",
1420
- secret: true
1421
- },
1422
- aiModel: {
1423
- default: "gpt-4o",
1424
- key: "jx.ai.model",
1425
- normalize: trimmed,
1426
- scope: "user"
1427
- },
1428
- keybindings: {
1429
- default: "",
1430
- key: "jx.keybindings",
1431
- normalize: (raw) => raw.trim() === "{}" ? "" : raw.trim(),
1432
- scope: "user"
1433
- },
1434
- theme: {
1435
- default: "",
1436
- key: "jx-studio-theme",
1437
- normalize: trimmed,
1438
- scope: "user"
1439
- },
1440
- cfAccountId: {
1441
- default: "",
1442
- key: "jx.cf.accountId",
1443
- normalize: trimmed,
1444
- scope: "user"
1445
- },
1446
- cfToken: {
1447
- default: "",
1448
- key: "jx.cf.token",
1449
- normalize: trimmed,
1450
- scope: "user",
1451
- secret: true
1452
- }
1453
- };
1454
- var ALL_SETTINGS = Object.values(SETTINGS);
1455
- var USER_SETTINGS = ALL_SETTINGS.filter((definition) => definition.scope === "user");
1456
- var USER_SETTING_KEYS = USER_SETTINGS.map((definition) => definition.key);
1457
-
1458
- // src/services/clock.ts
1459
- var _pinned = null;
1460
- function now() {
1461
- return _pinned ?? Date.now();
1462
- }
1463
- function pinClock(at) {
1464
- const ms = at instanceof Date ? at.getTime() : typeof at === "number" ? at : Date.parse(at);
1465
- if (!Number.isFinite(ms)) {
1466
- throw new TypeError(`clock: cannot pin to ${JSON.stringify(at)}`);
1467
- }
1468
- _pinned = ms;
1469
- return ms;
1470
- }
1471
-
1472
1396
  // src/services/announce.ts
1473
1397
  var REGION_ID = {
1474
1398
  assertive: "jx-live-assertive",
@@ -1506,7 +1430,23 @@ function announce(message, politeness = "polite") {
1506
1430
  }, 0);
1507
1431
  }
1508
1432
 
1433
+ // src/services/clock.ts
1434
+ var _pinned = null;
1435
+ function now() {
1436
+ return _pinned ?? Date.now();
1437
+ }
1438
+ function pinClock(at) {
1439
+ const ms = at instanceof Date ? at.getTime() : typeof at === "number" ? at : Date.parse(at);
1440
+ if (!Number.isFinite(ms)) {
1441
+ throw new TypeError(`clock: cannot pin to ${JSON.stringify(at)}`);
1442
+ }
1443
+ _pinned = ms;
1444
+ return ms;
1445
+ }
1446
+
1509
1447
  // src/services/notify.ts
1448
+ var SEVERITIES = ["success", "info", "warn", "error"];
1449
+ var TIERS = ["toast", "problem"];
1510
1450
  var DEFAULT_TIER = {
1511
1451
  error: "problem",
1512
1452
  info: "toast",
@@ -1588,215 +1528,12 @@ function clearProblems(match) {
1588
1528
  function problemCount(severity) {
1589
1529
  return severity === undefined ? problems.length : problems.filter((record) => record.severity === severity).length;
1590
1530
  }
1591
-
1592
- // src/services/settings/write-queue.ts
1593
- function createWriteQueue(opts) {
1594
- const schedule = opts.schedule ?? queueMicrotask;
1595
- let pending = null;
1596
- let tail = Promise.resolve();
1597
- let idle = Promise.resolve();
1598
- function flush() {
1599
- const patch = pending;
1600
- pending = null;
1601
- if (!patch) {
1602
- return tail;
1603
- }
1604
- tail = tail.then(() => opts.send(patch)).catch((error) => {
1605
- opts.onError?.(error, patch);
1606
- });
1607
- return tail;
1608
- }
1609
- return {
1610
- enqueue(patch) {
1611
- if (pending) {
1612
- Object.assign(pending, patch);
1613
- return;
1614
- }
1615
- pending = { ...patch };
1616
- idle = new Promise((resolve) => {
1617
- schedule(() => {
1618
- flush().then(resolve);
1619
- });
1620
- });
1621
- },
1622
- settled() {
1623
- return idle;
1624
- }
1625
- };
1626
- }
1627
-
1628
- // src/services/settings/kernel.ts
1629
- var values = new Map;
1630
- function writeCache(key, value) {
1631
- try {
1632
- if (value === null) {
1633
- globalThis.localStorage?.removeItem(key);
1634
- } else {
1635
- globalThis.localStorage?.setItem(key, value);
1636
- }
1637
- } catch {}
1638
- }
1639
- try {
1640
- for (const definition of ALL_SETTINGS) {
1641
- const cached = globalThis.localStorage?.getItem(definition.key);
1642
- if (cached !== null && cached !== undefined) {
1643
- values.set(definition.key, cached);
1644
- }
1645
- }
1646
- } catch {}
1647
- function readStoredSetting(definition) {
1648
- return values.get(definition.key) ?? "";
1649
- }
1650
- function hasSetting(definition) {
1651
- return (values.get(definition.key) ?? "") !== "";
1652
- }
1653
- var listeners = new Set;
1654
- function onSettingsChanged(listener) {
1655
- listeners.add(listener);
1656
- return () => {
1657
- listeners.delete(listener);
1658
- };
1659
- }
1660
- function announce2(keys) {
1661
- for (const listener of listeners) {
1662
- listener(keys);
1663
- }
1664
- }
1665
- var queue = createWriteQueue({
1666
- onError(error) {
1667
- notify("error", "Your settings could not be saved.", {
1668
- detail: error instanceof Error ? error.message : String(error),
1669
- key: "settings-write",
1670
- source: "Settings"
1671
- });
1672
- },
1673
- async send(patch) {
1674
- if (!hasPlatform()) {
1675
- return;
1676
- }
1677
- const platform = getPlatform();
1678
- if (!platform.patchSettings) {
1679
- return;
1680
- }
1681
- const set = {};
1682
- const remove2 = [];
1683
- for (const [key, value] of Object.entries(patch)) {
1684
- if (value) {
1685
- set[key] = value;
1686
- } else {
1687
- remove2.push(key);
1688
- }
1689
- }
1690
- await platform.patchSettings({ remove: remove2, set });
1691
- }
1692
- });
1693
- function settingsSettled() {
1694
- return queue.settled();
1695
- }
1696
- function apply2(patch) {
1697
- const moved = [];
1698
- for (const [key, next] of Object.entries(patch)) {
1699
- const before = values.get(key) ?? null;
1700
- if (before === next) {
1701
- continue;
1702
- }
1703
- if (next === null) {
1704
- values.delete(key);
1705
- } else {
1706
- values.set(key, next);
1707
- }
1708
- writeCache(key, next);
1709
- moved.push(key);
1710
- }
1711
- return moved;
1712
- }
1713
- function setSetting(definition, value) {
1714
- const next = definition.normalize ? definition.normalize(value) : value;
1715
- const moved = apply2({ [definition.key]: next });
1716
- if (moved.length > 0) {
1717
- queue.enqueue({ [definition.key]: next });
1718
- announce2(moved);
1719
- }
1720
- }
1721
- function setSettings(entries) {
1722
- const patch = {};
1723
- for (const [definition, value] of entries) {
1724
- patch[definition.key] = definition.normalize ? definition.normalize(value) : value;
1725
- }
1726
- const moved = apply2(patch);
1727
- if (moved.length > 0) {
1728
- queue.enqueue(patch);
1729
- announce2(moved);
1730
- }
1731
- }
1732
- function clearSettings(definitions) {
1733
- const patch = {};
1734
- for (const definition of definitions) {
1735
- patch[definition.key] = null;
1736
- }
1737
- const moved = apply2(patch);
1738
- if (moved.length > 0) {
1739
- queue.enqueue(patch);
1740
- announce2(moved);
1741
- }
1742
- }
1743
- async function hydrateSettings() {
1744
- if (!hasPlatform()) {
1745
- return;
1746
- }
1747
- const platform = getPlatform();
1748
- if (!platform.getSettings) {
1749
- return;
1750
- }
1751
- let stored;
1752
- try {
1753
- stored = await platform.getSettings();
1754
- } catch {
1755
- return;
1756
- }
1757
- const incoming = {};
1758
- let needsMigration = false;
1759
- for (const definition of USER_SETTINGS) {
1760
- const backendValue = stored[definition.key];
1761
- if (backendValue) {
1762
- incoming[definition.key] = backendValue;
1763
- } else if (values.get(definition.key)) {
1764
- needsMigration = true;
1765
- }
1766
- }
1767
- const moved = apply2(incoming);
1768
- if (moved.length > 0) {
1769
- announce2(moved);
1770
- }
1771
- if (needsMigration) {
1772
- const push = {};
1773
- for (const definition of USER_SETTINGS) {
1774
- const value = values.get(definition.key);
1775
- if (value && !stored[definition.key]) {
1776
- push[definition.key] = value;
1777
- }
1778
- }
1779
- queue.enqueue(push);
1780
- }
1781
- }
1782
- function adoptRemoteSettings(stored) {
1783
- const patch = {};
1784
- for (const definition of USER_SETTINGS) {
1785
- patch[definition.key] = stored[definition.key] ?? null;
1786
- }
1787
- const moved = apply2(patch);
1788
- if (moved.length > 0) {
1789
- announce2(moved);
1790
- }
1791
- }
1792
- function watchRemoteSettings() {
1793
- if (!hasPlatform()) {
1794
- return;
1795
- }
1796
- getPlatform().subscribeSettings?.(adoptRemoteSettings);
1531
+ function resetNotifications() {
1532
+ toasts.splice(0);
1533
+ problems.splice(0);
1797
1534
  }
1798
1535
 
1799
- export { effectScope, onScopeDispose, effect, onEffectCleanup, reactive, toRaw, isRef, ref, shallowRef, computed, SETTINGS, now, pinClock, toasts, problems, notify, dismiss, clearProblems, problemCount, readStoredSetting, hasSetting, onSettingsChanged, settingsSettled, setSetting, setSettings, clearSettings, hydrateSettings, watchRemoteSettings };
1536
+ export { effectScope, onScopeDispose, effect, onEffectCleanup, reactive, toRaw, isRef, ref, shallowRef, computed, now, pinClock, SEVERITIES, TIERS, TOAST_LIFETIME_MS, toasts, problems, MAX_TOASTS, notify, dismiss, clearProblems, problemCount, resetNotifications };
1800
1537
 
1801
- //# debugId=E24768F07DA88AB964756E2164756E21
1802
- //# sourceMappingURL=studio-qpfq7xhm.js.map
1538
+ //# debugId=28449543FB7F0DBF64756E2164756E21
1539
+ //# sourceMappingURL=studio-xrapxwwc.js.map
@@ -3,19 +3,19 @@ import {
3
3
  noopCommandDeps,
4
4
  selectStylebookTag,
5
5
  stylebook_meta_default
6
- } from "./studio-xntfdy1x.js";
6
+ } from "./studio-8swrjbny.js";
7
7
  import {
8
8
  dataTypeLabel,
9
9
  defCategory,
10
10
  inspectorCommands,
11
11
  unwrapSignal
12
- } from "./studio-6z5eyjwn.js";
12
+ } from "./studio-pdfjntbk.js";
13
13
  import {
14
14
  listWindow,
15
15
  measuredRowHeight,
16
16
  revealListRow,
17
17
  watchListWindow
18
- } from "./studio-p5dja96s.js";
18
+ } from "./studio-p8j86wag.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-a0yp7syn.js";
30
+ } from "./studio-cft9r4r7.js";
31
31
  import {
32
32
  KEY_SCOPES,
33
33
  activeCanvasSurface,
@@ -43,16 +43,26 @@ import {
43
43
  rectOf,
44
44
  registerPanel,
45
45
  renderEmptyState
46
- } from "./studio-j595e748.js";
46
+ } from "./studio-kjjsjak4.js";
47
+ import {
48
+ setActivityTab,
49
+ shell
50
+ } from "./studio-hbtp0eh1.js";
47
51
  import {
48
52
  activeRegistry,
53
+ getLayerSlot,
54
+ isModalOpen,
55
+ renderPopover,
56
+ showDialog
57
+ } from "./studio-t7qb9db8.js";
58
+ import {
59
+ errorMessage
60
+ } from "./studio-9n4mrmnb.js";
61
+ import {
49
62
  activeTab,
50
63
  editorKindForMode,
51
- errorMessage,
52
- getLayerSlot,
53
64
  hasElementSelection,
54
65
  hasSelection,
55
- isModalOpen,
56
66
  isSelected,
57
67
  isSpliceablePath,
58
68
  jsonClone,
@@ -68,33 +78,34 @@ import {
68
78
  mutateWrapNode,
69
79
  primarySelection,
70
80
  rangeSelection,
71
- renderPopover,
72
81
  selectionAnchor,
73
- setActivityTab,
74
- shell,
75
- showDialog,
76
- stageContaining,
77
82
  structuralBatch,
78
83
  toggleSelected,
79
84
  transact,
80
85
  transactDoc,
81
- view,
82
86
  workspace
83
- } from "./studio-r5xbtctf.js";
87
+ } from "./studio-2zkz8evn.js";
88
+ import {
89
+ stageContaining,
90
+ view
91
+ } from "./studio-wcy8trfx.js";
92
+ import {
93
+ notify
94
+ } from "./studio-xrapxwwc.js";
84
95
  import {
85
96
  classMap,
86
97
  ifDefined,
87
98
  styleMap
88
- } from "./studio-twsafr1e.js";
99
+ } from "./studio-m3hwn7y1.js";
89
100
  import {
90
101
  ref,
91
102
  repeat
92
- } from "./studio-kvfx9z2c.js";
103
+ } from "./studio-4rzyrtjz.js";
93
104
  import {
94
105
  html,
95
106
  nothing,
96
107
  render
97
- } from "./studio-5x5774ak.js";
108
+ } from "./studio-kryvsw6j.js";
98
109
  import {
99
110
  draggable
100
111
  } from "./studio-g1wdche0.js";
@@ -102,29 +113,28 @@ import {
102
113
  componentRegistry,
103
114
  computeRelativePath,
104
115
  loadComponentRegistry
105
- } from "./studio-s519zc99.js";
116
+ } from "./studio-bgxt93ga.js";
106
117
  import {
107
118
  VOID_ELEMENTS,
108
119
  childIndex,
109
120
  childList,
110
- displayTagName,
111
121
  flattenTree,
112
122
  getNodeAtPath,
113
- isRef,
114
- isTagExpression,
115
123
  nodeLabel,
116
124
  parentElementPath,
117
125
  pathKey,
118
126
  pathsEqual,
119
- projectState,
120
- tagNameCandidates
121
- } from "./studio-cjm7fdjf.js";
127
+ projectState
128
+ } from "./studio-p4ngc046.js";
122
129
  import {
123
- notify
124
- } from "./studio-qpfq7xhm.js";
130
+ displayTagName,
131
+ isRef,
132
+ isTagExpression,
133
+ tagNameCandidates
134
+ } from "./studio-q7v10cg2.js";
125
135
  import {
126
136
  getPlatform
127
- } from "./studio-sas7mt3k.js";
137
+ } from "./studio-9ab8gqsm.js";
128
138
  import {
129
139
  __export,
130
140
  __require
@@ -14174,7 +14184,7 @@ function elementCommands(deps) {
14174
14184
  if (!target?.rerender) {
14175
14185
  return;
14176
14186
  }
14177
- const { startLayerTitleEdit } = await import("./layers-panel-27essgkc.js");
14187
+ const { startLayerTitleEdit } = await import("./layers-panel-z3tqe5cd.js");
14178
14188
  startLayerTitleEdit(target.path, target.rerender);
14179
14189
  }
14180
14190
  }
@@ -15174,5 +15184,5 @@ function registerLayersPanel() {
15174
15184
 
15175
15185
  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 };
15176
15186
 
15177
- //# debugId=00021FBDC36A063C64756E2164756E21
15178
- //# sourceMappingURL=studio-hj2se583.js.map
15187
+ //# debugId=303DAE1723E3113464756E2164756E21
15188
+ //# sourceMappingURL=studio-yxrkyv8a.js.map
@@ -2,7 +2,7 @@ import {
2
2
  LitElement,
3
3
  defaultConverter,
4
4
  notEqual
5
- } from "./studio-0rqqhrdy.js";
5
+ } from "./studio-7nte2hj4.js";
6
6
 
7
7
  // ../../node_modules/@lit/reactive-element/development/decorators/property.js
8
8
  var DEV_MODE = true;
@@ -375,4 +375,4 @@ var INPUT_COMPONENT_PATTERN = new RegExp(`^(${INPUT_COMPONENT_TAGS.join("|")})$`
375
375
  export { SpectrumElement, property, state, query, queryAssignedElements, queryAssignedNodes, SizedMixin, INPUT_COMPONENT_PATTERN };
376
376
 
377
377
  //# debugId=F5F879EA03F1BE3664756E2164756E21
378
- //# sourceMappingURL=studio-xm3dbxvn.js.map
378
+ //# sourceMappingURL=studio-zczps70q.js.map
@@ -0,0 +1,89 @@
1
+ import {
2
+ MAX_PANES,
3
+ PRIMARY_PANE,
4
+ SECONDARY_PANE,
5
+ activateTab,
6
+ activePane,
7
+ activeTab,
8
+ closeAllTabs,
9
+ closePane,
10
+ closeTab,
11
+ cycleTab,
12
+ detachTab,
13
+ endTabCycle,
14
+ focusOtherPane,
15
+ focusPane,
16
+ insertIntoPane,
17
+ isPaneFocused,
18
+ isTabActive,
19
+ moveTab,
20
+ moveTabToPane,
21
+ openTab,
22
+ paneById,
23
+ paneCommands,
24
+ paneOfTab,
25
+ promoteDirtyPreviewTabs,
26
+ promoteTab,
27
+ receivingPane,
28
+ registerTabCommands,
29
+ renameTab,
30
+ replaceAllTabs,
31
+ setTabPinned,
32
+ setWorkspaceProject,
33
+ sidePane,
34
+ splitRight,
35
+ tabCommands,
36
+ tabIsLive,
37
+ takeClosedTabPath,
38
+ workspace
39
+ } from "./studio-2zkz8evn.js";
40
+ import"./studio-wcy8trfx.js";
41
+ import"./studio-xrapxwwc.js";
42
+ import"./studio-5ehhackm.js";
43
+ import"./studio-p4ngc046.js";
44
+ import"./studio-q7v10cg2.js";
45
+ import"./studio-eenfkt4e.js";
46
+ import"./studio-9ab8gqsm.js";
47
+ import"./studio-a0tswy0w.js";
48
+ export {
49
+ MAX_PANES,
50
+ PRIMARY_PANE,
51
+ SECONDARY_PANE,
52
+ activateTab,
53
+ activePane,
54
+ activeTab,
55
+ closeAllTabs,
56
+ closePane,
57
+ closeTab,
58
+ cycleTab,
59
+ detachTab,
60
+ endTabCycle,
61
+ focusOtherPane,
62
+ focusPane,
63
+ insertIntoPane,
64
+ isPaneFocused,
65
+ isTabActive,
66
+ moveTab,
67
+ moveTabToPane,
68
+ openTab,
69
+ paneById,
70
+ paneCommands,
71
+ paneOfTab,
72
+ promoteDirtyPreviewTabs,
73
+ promoteTab,
74
+ receivingPane,
75
+ registerTabCommands,
76
+ renameTab,
77
+ replaceAllTabs,
78
+ setTabPinned,
79
+ setWorkspaceProject,
80
+ sidePane,
81
+ splitRight,
82
+ tabCommands,
83
+ tabIsLive,
84
+ takeClosedTabPath,
85
+ workspace
86
+ };
87
+
88
+ //# debugId=E6EEFAD4E898180964756E2164756E21
89
+ //# sourceMappingURL=workspace-xpres40v.js.map