@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
@@ -9,16 +9,16 @@ import {
9
9
  SpectrumElement,
10
10
  property,
11
11
  query
12
- } from "./studio-xm3dbxvn.js";
12
+ } from "./studio-zczps70q.js";
13
13
  import {
14
14
  css
15
- } from "./studio-0rqqhrdy.js";
15
+ } from "./studio-7nte2hj4.js";
16
16
  import {
17
17
  ifDefined
18
- } from "./studio-twsafr1e.js";
18
+ } from "./studio-m3hwn7y1.js";
19
19
  import {
20
20
  html
21
- } from "./studio-5x5774ak.js";
21
+ } from "./studio-kryvsw6j.js";
22
22
 
23
23
  // ../../node_modules/@spectrum-web-components/progress-circle/src/progress-circle.css.js
24
24
  var e = css`
@@ -288,4 +288,4 @@ defineElement("sp-progress-circle", ProgressCircle);
288
288
  export { languageResolverUpdatedSymbol, LanguageResolutionController, ProgressCircle };
289
289
 
290
290
  //# debugId=D9778D0A36E46FD364756E2164756E21
291
- //# sourceMappingURL=studio-vhk5fmfv.js.map
291
+ //# sourceMappingURL=studio-n8b9wqwy.js.map
@@ -1,104 +1,8 @@
1
- // ../schema/src/guards.ts
2
- function isJsonObject(value) {
3
- return typeof value === "object" && value !== null && !Array.isArray(value);
4
- }
5
- function isRef(value) {
6
- return isJsonObject(value) && typeof value.$ref === "string";
7
- }
8
- function isFunctionDef(value) {
9
- return isJsonObject(value) && value.$prototype === "Function";
10
- }
11
- function isExpressionDef(value) {
12
- return isJsonObject(value) && isJsonObject(value.$expression);
13
- }
14
- function isNamedFormulaDef(value) {
15
- return isExpressionDef(value) && Array.isArray(value.parameters) && value.parameters.length > 0;
16
- }
17
- function hasStructuredBody(value) {
18
- return isFunctionDef(value) && Array.isArray(value.body);
19
- }
20
- function isPrototypeDef(value) {
21
- return isJsonObject(value) && typeof value.$prototype === "string" && value.$prototype !== "Function";
22
- }
23
- function isServerFnDef(value) {
24
- return isJsonObject(value) && value.timing === "server" && typeof value.$src === "string" && typeof value.$export === "string" && !value.$prototype;
25
- }
26
- var SCHEMA_KEYWORDS = new Set([
27
- "type",
28
- "enum",
29
- "minimum",
30
- "maximum",
31
- "minLength",
32
- "maxLength",
33
- "pattern",
34
- "format",
35
- "items",
36
- "properties",
37
- "required",
38
- "description",
39
- "title",
40
- "$comment"
41
- ]);
42
- function isMappedArray(value) {
43
- return isJsonObject(value) && value.$prototype === "Array";
44
- }
45
- function isTemplateString(value) {
46
- return typeof value === "string" && value.includes("${");
47
- }
48
- function bodyReturnsValue(body) {
49
- return /\breturn\b[^\S\n]*(?![;}\s]|$)/.test(body);
50
- }
51
- function isNestedStyle(value) {
52
- return typeof value === "object" && value !== null;
53
- }
54
- function getNestedStyle(style, key) {
55
- const value = style?.[key];
56
- return isNestedStyle(value) ? value : undefined;
57
- }
58
- function ensureNestedStyle(style, key) {
59
- const existing = style[key];
60
- if (isNestedStyle(existing)) {
61
- return existing;
62
- }
63
- const created = {};
64
- style[key] = created;
65
- return created;
66
- }
67
- function isEventBinding(value) {
68
- return isRef(value) || isFunctionDef(value) || isExpressionDef(value);
69
- }
70
- function getEventBinding(node, key) {
71
- const value = node[key];
72
- return isEventBinding(value) ? value : undefined;
73
- }
74
- function paramNames(parameters) {
75
- if (!parameters) {
76
- return [];
77
- }
78
- return parameters.map((p) => typeof p === "string" ? p : p.name);
79
- }
80
- function isTagExpression(tagName) {
81
- return isJsonObject(tagName) && isJsonObject(tagName.$expression);
82
- }
83
- function tagNameCandidates(tagName) {
84
- if (typeof tagName === "string") {
85
- return [tagName];
86
- }
87
- if (!isTagExpression(tagName)) {
88
- return [];
89
- }
90
- const expression = tagName.$expression;
91
- if (expression.operator === "?:") {
92
- return [...new Set([expression.value, expression.initial])];
93
- }
94
- return [...new Set([...Object.values(expression.cases), expression.default])];
95
- }
96
- function displayTagName(tagName) {
97
- return typeof tagName === "string" ? tagName : tagNameCandidates(tagName).join("|");
98
- }
99
- function isPrivateStateKey(key) {
100
- return key.startsWith("#");
101
- }
1
+ import {
2
+ displayTagName,
3
+ isEventBinding,
4
+ isRef
5
+ } from "./studio-q7v10cg2.js";
102
6
 
103
7
  // src/ui/timing.ts
104
8
  var INPUT_DEBOUNCE = 400;
@@ -445,7 +349,7 @@ function updateCanvas(tab, patch) {
445
349
  }
446
350
  }
447
351
 
448
- export { isJsonObject, isRef, isFunctionDef, isExpressionDef, isNamedFormulaDef, hasStructuredBody, isPrototypeDef, isServerFnDef, isMappedArray, isTemplateString, bodyReturnsValue, getNestedStyle, ensureNestedStyle, isEventBinding, getEventBinding, paramNames, isTagExpression, tagNameCandidates, displayTagName, isPrivateStateKey, LIVE_PREVIEW, POLL_GIT, getNodeAtPath, childList, normalizeArrayChildren, parentElementPath, childIndex, pathKey, pathsEqual, isAncestor, flattenTree, nodeLabel, projectState, setProjectState, requireProjectState, stripEventHandlers, activityBar, leftPanel, rightPanel, toolbarEl, statusbarEl, initShellRefs, VOID_ELEMENTS, COMMON_SELECTORS, isNestedSelector, debouncedStyleCommit, cancelStyleDebounce, rendersInFlight, registerRenderer, render, renderOnly, updateSession, updateUi, updateCanvas };
352
+ export { LIVE_PREVIEW, POLL_GIT, getNodeAtPath, childList, normalizeArrayChildren, parentElementPath, childIndex, pathKey, pathsEqual, isAncestor, flattenTree, nodeLabel, projectState, setProjectState, requireProjectState, stripEventHandlers, activityBar, leftPanel, rightPanel, toolbarEl, statusbarEl, initShellRefs, VOID_ELEMENTS, COMMON_SELECTORS, isNestedSelector, debouncedStyleCommit, cancelStyleDebounce, rendersInFlight, registerRenderer, render, renderOnly, updateSession, updateUi, updateCanvas };
449
353
 
450
- //# debugId=147E616828B71FA964756E2164756E21
451
- //# sourceMappingURL=studio-cjm7fdjf.js.map
354
+ //# debugId=6E6FF14C9164545D64756E2164756E21
355
+ //# sourceMappingURL=studio-p4ngc046.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  rectOf
3
- } from "./studio-j595e748.js";
3
+ } from "./studio-kjjsjak4.js";
4
4
 
5
5
  // src/ui/virtual-window.ts
6
6
  var DEFAULT_OVERSCAN_ROWS = 3;
@@ -163,4 +163,4 @@ function watchListWindow(previous, list, spec) {
163
163
  export { computeWindow, listWindow, revealListRow, measuredRowHeight, watchListWindow };
164
164
 
165
165
  //# debugId=4C38350338F9781B64756E2164756E21
166
- //# sourceMappingURL=studio-p5dja96s.js.map
166
+ //# sourceMappingURL=studio-p8j86wag.js.map
@@ -1,6 +1,13 @@
1
1
  import {
2
2
  LitElement
3
- } from "./studio-0rqqhrdy.js";
3
+ } from "./studio-7nte2hj4.js";
4
+ import {
5
+ invalidateMediaMeta,
6
+ mediaMetaSummary,
7
+ peekMediaMeta,
8
+ recordImageSize,
9
+ seedMediaMeta
10
+ } from "./studio-gv8vvshc.js";
4
11
  import {
5
12
  applyCatalogPick,
6
13
  chipSummary,
@@ -19,31 +26,28 @@ import {
19
26
  renderOperandEditor,
20
27
  resolveContextPointer,
21
28
  slotMode
22
- } from "./studio-3dkcd4c5.js";
23
- import {
24
- live
25
- } from "./studio-c31yb4t6.js";
29
+ } from "./studio-5q69gfag.js";
26
30
  import {
27
31
  IMAGE_EXTENSIONS,
28
32
  MEDIA_EXTENSIONS,
29
- baseName,
30
33
  codeService,
31
34
  extensionOf,
32
35
  fetchPluginSchema,
33
36
  getFunctionArgs,
34
- loadUsages,
35
- mediaKind,
36
37
  mediaSiteUrl,
37
- peekUsages,
38
38
  pluginSchemaCache,
39
39
  previewFileSrc,
40
- retryUsages,
41
40
  setLintMarkers,
42
41
  uploadAccept,
43
- uploadAssets,
42
+ uploadAssets
43
+ } from "./studio-htsf0w6m.js";
44
+ import {
45
+ loadUsages,
46
+ peekUsages,
47
+ retryUsages,
44
48
  usageFiles,
45
49
  usageHeadline
46
- } from "./studio-a0yp7syn.js";
50
+ } from "./studio-cft9r4r7.js";
47
51
  import {
48
52
  attachInstruction,
49
53
  canvasModeOfTab,
@@ -54,7 +58,6 @@ import {
54
58
  evaluateExpression,
55
59
  extractInstruction,
56
60
  isMutating,
57
- normalizeProjectPath,
58
61
  openPageAction,
59
62
  previewAssetSrc,
60
63
  pureSchemeOf,
@@ -64,40 +67,41 @@ import {
64
67
  requestCanvasEval,
65
68
  staleSelectionMessage,
66
69
  tabOfPane
67
- } from "./studio-j595e748.js";
70
+ } from "./studio-kjjsjak4.js";
71
+ import {
72
+ getEffectiveLayoutPath,
73
+ getEffectiveLocales,
74
+ getEffectiveMedia,
75
+ getEffectiveStyle,
76
+ monacoTheme,
77
+ setBottomTab,
78
+ shell
79
+ } from "./studio-hbtp0eh1.js";
68
80
  import {
69
- BUFFER_COMMIT,
70
81
  NAVIGATOR_STATEMENTS_REGION,
82
+ activeRegistry,
83
+ getLayerSlot,
84
+ popoverLayerFor
85
+ } from "./studio-t7qb9db8.js";
86
+ import {
71
87
  abbreviateValue,
72
88
  activePane,
73
- activeRegistry,
74
89
  activeTab,
75
90
  argsSchema,
76
91
  attrLabel,
77
92
  booleanArg,
78
93
  booleanProperty,
79
- bufferIsLive,
80
- bufferMovedOn,
81
- bufferWrites,
82
94
  camelToKebab,
83
95
  camelToLabel,
84
- cancelBufferWrites,
85
- commitBufferWrites,
86
96
  detachTab,
87
97
  enumArg,
88
98
  enumProperty,
89
99
  friendlyNameToVar,
90
- getEffectiveLayoutPath,
91
- getEffectiveLocales,
92
- getEffectiveMedia,
93
- getEffectiveStyle,
94
- getLayerSlot,
95
100
  inferInputType,
96
101
  insertIntoPane,
97
102
  isMediaFormat,
98
103
  kebabToLabel,
99
104
  localeLabel,
100
- monacoTheme,
101
105
  mutateAddDef,
102
106
  mutateRemoveDef,
103
107
  mutateRenameDef,
@@ -111,11 +115,8 @@ import {
111
115
  parseCemType,
112
116
  pathArg,
113
117
  pathProperty,
114
- popoverLayerFor,
115
118
  primarySelection,
116
119
  promoteTab,
117
- setBottomTab,
118
- shell,
119
120
  sidePane,
120
121
  stringArg,
121
122
  stringProperty,
@@ -124,61 +125,72 @@ import {
124
125
  translationPathFor,
125
126
  unifyValues,
126
127
  varDisplayName,
127
- view,
128
128
  workspace
129
- } from "./studio-r5xbtctf.js";
129
+ } from "./studio-2zkz8evn.js";
130
+ import {
131
+ BUFFER_COMMIT,
132
+ bufferIsLive,
133
+ bufferMovedOn,
134
+ bufferWrites,
135
+ cancelBufferWrites,
136
+ commitBufferWrites,
137
+ view
138
+ } from "./studio-wcy8trfx.js";
139
+ import {
140
+ effect,
141
+ notify,
142
+ shallowRef,
143
+ toRaw
144
+ } from "./studio-xrapxwwc.js";
130
145
  import {
131
146
  classMap,
132
147
  ifDefined
133
- } from "./studio-twsafr1e.js";
148
+ } from "./studio-m3hwn7y1.js";
134
149
  import {
135
150
  Directive,
136
151
  directive,
152
+ live,
137
153
  ref,
138
154
  setCommittedValue
139
- } from "./studio-kvfx9z2c.js";
155
+ } from "./studio-4rzyrtjz.js";
140
156
  import {
141
157
  html,
142
158
  nothing,
143
159
  render
144
- } from "./studio-5x5774ak.js";
160
+ } from "./studio-kryvsw6j.js";
145
161
  import {
146
162
  combine
147
163
  } from "./studio-g1wdche0.js";
148
164
  import {
149
165
  componentRegistry
150
- } from "./studio-s519zc99.js";
166
+ } from "./studio-bgxt93ga.js";
151
167
  import {
152
168
  LIVE_PREVIEW,
153
169
  cancelStyleDebounce,
154
170
  debouncedStyleCommit,
155
- displayTagName,
156
- getEventBinding,
157
171
  getNodeAtPath,
158
- isExpressionDef,
159
- isJsonObject,
160
- isRef,
161
- isTagExpression,
162
172
  parentElementPath,
163
173
  projectState,
164
174
  renderOnly,
165
175
  updateUi
166
- } from "./studio-cjm7fdjf.js";
176
+ } from "./studio-p4ngc046.js";
167
177
  import {
168
- effect,
169
- notify,
170
- shallowRef,
171
- toRaw
172
- } from "./studio-qpfq7xhm.js";
178
+ displayTagName,
179
+ getEventBinding,
180
+ isExpressionDef,
181
+ isJsonObject,
182
+ isRef,
183
+ isTagExpression
184
+ } from "./studio-q7v10cg2.js";
173
185
  import {
174
186
  getExtensions,
175
187
  loadExtensions,
176
188
  loadMonaco,
177
189
  mountStillWanted
178
- } from "./studio-hcxzyk3x.js";
190
+ } from "./studio-eenfkt4e.js";
179
191
  import {
180
192
  getPlatform
181
- } from "./studio-sas7mt3k.js";
193
+ } from "./studio-9ab8gqsm.js";
182
194
  import {
183
195
  __require
184
196
  } from "./studio-a0tswy0w.js";
@@ -698,81 +710,6 @@ function derivationCommands(deps) {
698
710
  ];
699
711
  }
700
712
 
701
- // src/files/media-meta.ts
702
- var settled = new Map;
703
- var inFlight = new Map;
704
- var measured = new Map;
705
- function metaFrom(path, entry) {
706
- const name = baseName(path);
707
- const dims = measured.get(path);
708
- return {
709
- bytes: typeof entry?.size === "number" ? entry.size : null,
710
- ext: extensionOf(name),
711
- height: dims?.height ?? null,
712
- kind: mediaKind({ name }),
713
- modified: entry?.modified ?? null,
714
- name,
715
- path,
716
- width: dims?.width ?? null
717
- };
718
- }
719
- function peekMediaMeta(path) {
720
- return settled.get(normalizeProjectPath(path)) ?? null;
721
- }
722
- function seedMediaMeta(entries) {
723
- for (const entry of entries) {
724
- if (entry.type !== "file") {
725
- continue;
726
- }
727
- const path = normalizeProjectPath(entry.path);
728
- if (!settled.has(path)) {
729
- settled.set(path, metaFrom(path, entry));
730
- }
731
- }
732
- }
733
- function recordImageSize(path, width, height) {
734
- if (!(width > 0 && height > 0)) {
735
- return false;
736
- }
737
- const key = normalizeProjectPath(path);
738
- const known = measured.get(key);
739
- if (known && known.width === width && known.height === height) {
740
- return false;
741
- }
742
- measured.set(key, { height, width });
743
- const meta = settled.get(key);
744
- if (meta) {
745
- settled.set(key, { ...meta, height, width });
746
- }
747
- return true;
748
- }
749
- function invalidateMediaMeta() {
750
- settled.clear();
751
- measured.clear();
752
- }
753
- function formatBytes(bytes) {
754
- if (bytes < 1024) {
755
- return `${bytes} B`;
756
- }
757
- if (bytes < 1024 * 1024) {
758
- return `${Math.round(bytes / 1024)} KB`;
759
- }
760
- return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
761
- }
762
- function mediaMetaSummary(meta) {
763
- if (!meta) {
764
- return "";
765
- }
766
- const parts = [];
767
- if (meta.width !== null && meta.height !== null) {
768
- parts.push(`${meta.width} × ${meta.height}`);
769
- }
770
- if (meta.bytes !== null) {
771
- parts.push(formatBytes(meta.bytes));
772
- }
773
- return parts.join(" · ");
774
- }
775
-
776
713
  // src/ui/media-picker.ts
777
714
  var mediaCache = [];
778
715
  var mediaCacheLoaded = false;
@@ -5127,10 +5064,10 @@ function renderUsagesSection(tagName, componentPath) {
5127
5064
  `;
5128
5065
  }
5129
5066
  function openUsage(path) {
5130
- import("./files-xcybanxe.js").then((m) => m.openFileInTab(path));
5067
+ import("./files-0cratsr0.js").then((m) => m.openFileInTab(path));
5131
5068
  }
5132
5069
  function showLogicTab() {
5133
- import("./right-panel-9r32jd5j.js").then((m) => m.setInspectorTab("events"));
5070
+ import("./right-panel-cqp8bc4v.js").then((m) => m.setInspectorTab("events"));
5134
5071
  }
5135
5072
  function renderPropertiesPanelTemplate(ctx) {
5136
5073
  const tab = activeTab.value;
@@ -6998,5 +6935,5 @@ function registerSignalsCommands(registry) {
6998
6935
 
6999
6936
  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 };
7000
6937
 
7001
- //# debugId=DE799258A5C20B8564756E2164756E21
7002
- //# sourceMappingURL=studio-6z5eyjwn.js.map
6938
+ //# debugId=CB884404B44B28B964756E2164756E21
6939
+ //# sourceMappingURL=studio-pdfjntbk.js.map