@jxsuite/studio 4.1.0 → 5.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 (607) hide show
  1. package/README.md +1 -1
  2. package/data/elements-meta.json +5 -15
  3. package/data/html-meta.json +51 -6
  4. package/dist/chunks/{2020-n6tfwnda.js → 2020-g79n01v9.js} +14 -14
  5. package/dist/chunks/action-group-sp6tna8v.js +118 -0
  6. package/dist/chunks/adapter-nj7tnjfn.js +13 -0
  7. package/dist/chunks/cf-account-picker-fyf63pmy.js +495 -0
  8. package/dist/chunks/cf-settings-71bv5zn9.js +20 -0
  9. package/dist/chunks/color-area-v17df7b8.js +154 -0
  10. package/dist/chunks/color-field-anwybnkn.js +208 -0
  11. package/dist/chunks/color-slider-44ez96fc.js +79 -0
  12. package/dist/chunks/color-xgg3kfw7.js +35 -0
  13. package/dist/chunks/combobox-5e7jev23.js +236 -0
  14. package/dist/chunks/components-2w1f35qs.js +18 -0
  15. package/dist/chunks/content-source-3wqeas45.js +46 -0
  16. package/dist/chunks/convert-to-repeater-d0cgnb6d.js +639 -0
  17. package/dist/chunks/dialog-s890b918.js +85 -0
  18. package/dist/chunks/editor-3qhbg51x.js +35 -0
  19. package/dist/chunks/entry-commands-d6g50j7s.js +42 -0
  20. package/dist/chunks/extension-sections-fy7q4fe9.js +651 -0
  21. package/dist/chunks/file-ops-3btj6st0.js +47 -0
  22. package/dist/chunks/files-ef8fgs3w.js +72 -0
  23. package/dist/chunks/format-host-3c33nwr8.js +40 -0
  24. package/dist/chunks/fs-events-13tj6sex.js +18 -0
  25. package/dist/chunks/git-panel-4wp2rn9b.js +49 -0
  26. package/dist/chunks/icons-yy10wk9r.js +402 -0
  27. package/dist/chunks/iframe-entry-15g3n6xv.js +114 -0
  28. package/dist/chunks/iframe-entry-b27vq81n.js +203 -0
  29. package/dist/chunks/iframe-entry-nbyxee1y.js +154 -0
  30. package/dist/chunks/iframe-host-jgesd924.js +115 -0
  31. package/dist/chunks/{index-wcnt3r9g.js → index-mdmyx6s2.js} +11 -11
  32. package/dist/chunks/index-n4j7qxyr.js +109 -0
  33. package/dist/chunks/{javascript-q8kpmfah.js → javascript-xvrfrpkb.js} +8 -9
  34. package/dist/chunks/{jsonMode-dkr040ga.js → jsonMode-tyx2kj6p.js} +526 -527
  35. package/dist/chunks/jx-validate-j0wxk72w.js +15 -0
  36. package/dist/chunks/layers-1nq5evsh.js +29 -0
  37. package/dist/chunks/layers-panel-ar2gh90g.js +40 -0
  38. package/dist/chunks/listbox-6v2ac08j.js +44 -0
  39. package/dist/chunks/lit-html-m244w9nh.js +17 -0
  40. package/dist/chunks/media-picker-2qbetq73.js +33 -0
  41. package/dist/chunks/menu-q99sy9rf.js +285 -0
  42. package/dist/chunks/menu-rf7n72mf.js +14 -0
  43. package/dist/chunks/{monaco-binding-rj6xpx9y.js → monaco-binding-sw6en4dw.js} +12 -15
  44. package/dist/chunks/monaco-buffer-bhy3hb6m.js +24 -0
  45. package/dist/chunks/{monaco-setup-vx9bhp1d.js → monaco-setup-8r62fj6y.js} +27 -37
  46. package/dist/chunks/notify-628t0anh.js +21 -0
  47. package/dist/chunks/number-field-5cndyft8.js +72 -0
  48. package/dist/chunks/parse-0zx14y15.js +10 -0
  49. package/dist/chunks/platform-ts9cg1a4.js +15 -0
  50. package/dist/chunks/popover-47z3ytva.js +25 -0
  51. package/dist/chunks/publish-panel-98f7sr3g.js +27 -0
  52. package/dist/chunks/quick-search-srzz83k2.js +45 -0
  53. package/dist/chunks/references-n553f0e1.js +26 -0
  54. package/dist/chunks/right-panel-rrgx2dn3.js +45 -0
  55. package/dist/chunks/section-registry-5pq32t0q.js +25 -0
  56. package/dist/chunks/select-2r16ez41.js +49 -0
  57. package/dist/chunks/split-g7nm1rgb.js +191 -0
  58. package/dist/chunks/studio-0hqbpbd0.js +62 -0
  59. package/dist/chunks/studio-18avnhjp.js +2430 -0
  60. package/dist/chunks/{studio-kryvsw6j.js → studio-1k325pwf.js} +48 -48
  61. package/dist/chunks/{studio-msd847zn.js → studio-25hkdrkw.js} +357 -86
  62. package/dist/chunks/studio-26d7myd1.js +258 -0
  63. package/dist/chunks/{studio-4r1pv6zf.js → studio-38emantv.js} +22 -5
  64. package/dist/chunks/studio-3gxv60tn.js +422 -0
  65. package/dist/chunks/{studio-fbf92ckf.js → studio-3hxkd92t.js} +275 -163
  66. package/dist/chunks/studio-4m0haseg.js +185 -0
  67. package/dist/chunks/{studio-ynxwkrzd.js → studio-4wbb9ct0.js} +1953 -1785
  68. package/dist/chunks/{studio-1wagb550.js → studio-5523bpzt.js} +11 -11
  69. package/dist/chunks/{studio-x4qkdat5.js → studio-57mf66w2.js} +1749 -2481
  70. package/dist/chunks/studio-5jy81t3s.js +17463 -0
  71. package/dist/chunks/studio-5rt7sqa0.js +1168 -0
  72. package/dist/chunks/studio-5te5tqng.js +81 -0
  73. package/dist/chunks/{studio-p4ngc046.js → studio-6ewqv390.js} +9 -9
  74. package/dist/chunks/{studio-9ab8gqsm.js → studio-6nzaktvy.js} +7 -7
  75. package/dist/chunks/studio-6xa21ej9.js +28 -0
  76. package/dist/chunks/{studio-5ehhackm.js → studio-727xh0e3.js} +19 -19
  77. package/dist/chunks/{studio-ahn3pdgx.js → studio-79y5sz51.js} +52 -38
  78. package/dist/chunks/{studio-gcye7qka.js → studio-7e11jpa9.js} +21 -21
  79. package/dist/chunks/{studio-q7v10cg2.js → studio-7r42c6ca.js} +17 -7
  80. package/dist/chunks/studio-7xptrg0j.js +954 -0
  81. package/dist/chunks/{studio-cft9r4r7.js → studio-81390n6f.js} +22 -22
  82. package/dist/chunks/{studio-q43a5y9h.js → studio-8jn5yhyn.js} +16 -16
  83. package/dist/chunks/studio-8qtrpzr3.js +839 -0
  84. package/dist/chunks/{studio-dg7zyt5x.js → studio-98b3z07n.js} +1 -1
  85. package/dist/chunks/studio-9xxz1q69.js +1356 -0
  86. package/dist/chunks/studio-akbww0j5.js +13615 -0
  87. package/dist/chunks/{studio-x813zp48.js → studio-arfpe389.js} +30 -30
  88. package/dist/chunks/{studio-trxrabqf.js → studio-az3zd49t.js} +475 -283
  89. package/dist/chunks/studio-cpvb2ed1.js +1171 -0
  90. package/dist/chunks/{studio-f3wqjtk5.js → studio-d0300636.js} +5076 -18
  91. package/dist/chunks/{studio-bgxt93ga.js → studio-d055c37e.js} +13 -13
  92. package/dist/chunks/studio-d1ja2x9r.js +362 -0
  93. package/dist/chunks/{studio-b9b6t1dg.js → studio-e1f24eff.js} +5664 -5666
  94. package/dist/chunks/{studio-3bqpr0zh.js → studio-em9nw8eh.js} +299 -110
  95. package/dist/chunks/studio-erdatzvp.js +1190 -0
  96. package/dist/chunks/{studio-g1wdche0.js → studio-esrxgwh6.js} +80 -80
  97. package/dist/chunks/studio-fabxk6r9.js +2811 -0
  98. package/dist/chunks/{studio-3n4ndrzh.js → studio-h4nvnjvz.js} +303 -303
  99. package/dist/chunks/{studio-dm19q43r.js → studio-hhvs4sdg.js} +10 -10
  100. package/dist/chunks/{studio-q9jd1a60.js → studio-kcgff4r0.js} +15 -18
  101. package/dist/chunks/{studio-685s0ytq.js → studio-nqgawfks.js} +572 -572
  102. package/dist/chunks/{studio-xrapxwwc.js → studio-p1dw8wfw.js} +55 -29
  103. package/dist/chunks/studio-pm6hgy7r.js +4763 -0
  104. package/dist/chunks/studio-q0a3yk4n.js +33 -0
  105. package/dist/chunks/{studio-wcy8trfx.js → studio-q3x06vmj.js} +23 -22
  106. package/dist/chunks/studio-qahxvnan.js +111 -0
  107. package/dist/chunks/{studio-53n8bp04.js → studio-r6xmmtfh.js} +1 -1
  108. package/dist/chunks/{studio-2b946z26.js → studio-rkstz940.js} +3658 -6134
  109. package/dist/chunks/{studio-tvgyw9xw.js → studio-rnyf3f8e.js} +83 -250
  110. package/dist/chunks/studio-rpyah2ew.js +2805 -0
  111. package/dist/chunks/studio-rs76k67r.js +12 -0
  112. package/dist/chunks/{studio-jkftxyvz.js → studio-s6z853aq.js} +5858 -2152
  113. package/dist/chunks/{studio-6yw4y3my.js → studio-sgdc5pfc.js} +8 -8
  114. package/dist/chunks/studio-tb3ev01j.js +763 -0
  115. package/dist/chunks/{studio-t5wqwzdh.js → studio-tjjk7jvk.js} +1 -1
  116. package/dist/chunks/studio-vhv5tgxm.js +51 -0
  117. package/dist/chunks/{studio-qjy2z9bv.js → studio-vz68yn9e.js} +32 -137
  118. package/dist/chunks/studio-wqpngpsk.js +174 -0
  119. package/dist/chunks/{studio-b55y6ewx.js → studio-x3rty6tr.js} +58 -58
  120. package/dist/chunks/studio-xsykpvsh.js +8448 -0
  121. package/dist/chunks/{studio-92ab2jqe.js → studio-y9zedyjn.js} +14 -14
  122. package/dist/chunks/studio-yxa81f45.js +12 -0
  123. package/dist/chunks/swatch-group-t0n6h2rn.js +139 -0
  124. package/dist/chunks/tabs-wbp1cdws.js +156 -0
  125. package/dist/chunks/textfield-abk6qyee.js +73 -0
  126. package/dist/chunks/toast-780pvfbv.js +27 -0
  127. package/dist/chunks/toast-host-3sqv46sn.js +116 -0
  128. package/dist/chunks/toolbar-xbh5bhtr.js +194 -0
  129. package/dist/chunks/tooltip-eptb614w.js +369 -0
  130. package/dist/chunks/tree-a73p0pqm.js +367 -0
  131. package/dist/chunks/{tsMode-76kr53q0.js → tsMode-jy4m86rv.js} +83 -85
  132. package/dist/chunks/workspace-wrew8zk4.js +69 -0
  133. package/dist/chunks/{ws-client-6shc5rze.js → ws-client-ny4zc51r.js} +20 -22
  134. package/dist/iframe-entry.js +1780 -667
  135. package/dist/studio.js +52819 -36480
  136. package/dist/workers/editor.worker.js +1040 -1085
  137. package/dist/workers/json.worker.js +1946 -1991
  138. package/dist/workers/ts.worker.js +4960 -5005
  139. package/index.html +1 -0
  140. package/package.json +18 -52
  141. package/src/about/about-modal.ts +72 -123
  142. package/src/browse/library-commands.ts +20 -49
  143. package/src/browse/library-layouts.ts +87 -218
  144. package/src/browse/library-pane.ts +406 -438
  145. package/src/canvas/canvas-helpers.ts +0 -49
  146. package/src/canvas/canvas-live-render.ts +25 -2
  147. package/src/canvas/canvas-render.ts +666 -231
  148. package/src/canvas/canvas-surface.ts +0 -1
  149. package/src/canvas/canvas-utils.ts +310 -117
  150. package/src/canvas/dialog-path.ts +76 -0
  151. package/src/canvas/dialog-state.ts +67 -0
  152. package/src/canvas/diff-marks.ts +252 -0
  153. package/src/canvas/diff-toolbar.ts +349 -0
  154. package/src/canvas/diff-view.ts +123 -0
  155. package/src/canvas/edit-width-drag.ts +187 -0
  156. package/src/canvas/edit-width.ts +150 -0
  157. package/src/canvas/iframe-entry.ts +125 -8
  158. package/src/canvas/iframe-host.ts +271 -15
  159. package/src/canvas/iframe-interaction.ts +133 -13
  160. package/src/canvas/iframe-patch.ts +7 -1
  161. package/src/canvas/iframe-position.ts +5 -6
  162. package/src/canvas/iframe-protocol.ts +106 -5
  163. package/src/canvas/iframe-render.ts +373 -5
  164. package/src/canvas/iframe-slash.ts +2 -2
  165. package/src/canvas/iframe-subtree.ts +5 -8
  166. package/src/canvas/path-mapping.ts +25 -3
  167. package/src/canvas/popover-path.ts +106 -0
  168. package/src/canvas/popover-state.ts +155 -0
  169. package/src/canvas/surface-registry.ts +21 -10
  170. package/src/collab/presence-chips.ts +51 -73
  171. package/src/commands/app-commands.ts +10 -0
  172. package/src/commands/budget.ts +12 -0
  173. package/src/commands/command-args.ts +369 -6
  174. package/src/commands/defaults.ts +44 -14
  175. package/src/commands/live-context.ts +11 -5
  176. package/src/commands/reference.ts +12 -2
  177. package/src/commands/registry.ts +165 -8
  178. package/src/content/entry-commands.ts +16 -23
  179. package/src/content/entry-editor.ts +144 -101
  180. package/src/editor/canvas-slash-bridge.ts +2 -2
  181. package/src/editor/context-menu.ts +49 -200
  182. package/src/editor/convert-to-component.ts +42 -82
  183. package/src/editor/convert-to-repeater.ts +132 -173
  184. package/src/editor/inline-edit.ts +11 -0
  185. package/src/editor/shortcuts.ts +65 -26
  186. package/src/editor/slash-menu.ts +150 -157
  187. package/src/files/file-ops.ts +117 -11
  188. package/src/files/files.ts +943 -660
  189. package/src/files/json-layout.ts +474 -0
  190. package/src/files/serialize-document.ts +8 -1
  191. package/src/format/convert-file.ts +16 -10
  192. package/src/format/format-host.ts +50 -1
  193. package/src/github/github-auth.ts +71 -29
  194. package/src/github/github-publish.ts +57 -65
  195. package/src/grid/cell-editors.ts +46 -4
  196. package/src/grid/cell-popovers.ts +65 -62
  197. package/src/grid/grid-open.ts +86 -64
  198. package/src/grid/grid-panel.ts +390 -469
  199. package/src/grid/redirects-grid.ts +40 -44
  200. package/src/hosting/layout.ts +2 -0
  201. package/src/i18n/i18n-commands.ts +127 -62
  202. package/src/media/media-pane.ts +83 -133
  203. package/src/new-project/add-repo-modal.ts +125 -176
  204. package/src/new-project/import-tab.ts +181 -252
  205. package/src/new-project/location-fields.ts +93 -160
  206. package/src/new-project/new-project-modal.ts +376 -367
  207. package/src/packages/jxsuite-update.ts +76 -18
  208. package/src/panels/activity-panel.ts +137 -104
  209. package/src/panels/ai-chat/chat-markdown.ts +15 -13
  210. package/src/panels/ai-chat/chat-view.ts +307 -472
  211. package/src/panels/ai-chat/composer.ts +175 -163
  212. package/src/panels/ai-chat/sessions-view.ts +31 -62
  213. package/src/panels/ai-panel.ts +210 -185
  214. package/src/panels/block-action-bar.ts +437 -643
  215. package/src/panels/bottom-dock.ts +112 -47
  216. package/src/panels/chat-panel.ts +19 -14
  217. package/src/panels/data-explorer.ts +141 -102
  218. package/src/panels/data-grid.ts +183 -150
  219. package/src/panels/dnd.ts +75 -20
  220. package/src/panels/editors.ts +26 -19
  221. package/src/panels/elements-panel.ts +243 -186
  222. package/src/panels/empty-state.ts +26 -42
  223. package/src/panels/events-panel.ts +950 -729
  224. package/src/panels/formula-workspace.ts +434 -207
  225. package/src/panels/frontmatter-fields.ts +185 -153
  226. package/src/panels/frontmatter-panel.ts +411 -187
  227. package/src/panels/git-diff-open.ts +148 -0
  228. package/src/panels/git-panel.ts +679 -605
  229. package/src/panels/head-panel.ts +617 -435
  230. package/src/panels/i18n-panel.ts +153 -133
  231. package/src/panels/imports-panel.ts +388 -414
  232. package/src/panels/jump-bar.ts +174 -147
  233. package/src/panels/layers-panel.ts +785 -671
  234. package/src/panels/left-panel.ts +166 -94
  235. package/src/panels/navigator-panels.ts +1 -1
  236. package/src/panels/pane-context.ts +529 -677
  237. package/src/panels/pane-grid.ts +265 -241
  238. package/src/panels/panel-registry.ts +15 -4
  239. package/src/panels/problems-panel.ts +177 -99
  240. package/src/panels/properties-panel.ts +1525 -966
  241. package/src/panels/provenance.ts +31 -113
  242. package/src/panels/quick-search.ts +217 -172
  243. package/src/panels/right-panel.ts +135 -169
  244. package/src/panels/seo-modal.ts +346 -167
  245. package/src/panels/settings-menu.ts +109 -646
  246. package/src/panels/settings-pane.ts +102 -86
  247. package/src/panels/signals-panel.ts +1318 -1172
  248. package/src/panels/statement-editor.ts +556 -428
  249. package/src/panels/style-panel.ts +1367 -630
  250. package/src/panels/style-utils.ts +36 -32
  251. package/src/panels/stylebook-doc.ts +30 -73
  252. package/src/panels/stylebook-layers-panel.ts +202 -109
  253. package/src/panels/stylebook-panel.ts +124 -88
  254. package/src/panels/tab-strip.ts +385 -287
  255. package/src/platforms/cloud.ts +106 -16
  256. package/src/platforms/devserver.ts +13 -0
  257. package/src/publish/deploy-checklist.ts +124 -78
  258. package/src/publish/publish-commands.ts +4 -12
  259. package/src/publish/publish-panel.ts +134 -328
  260. package/src/services/a11y-report.ts +100 -43
  261. package/src/services/ai-command-tools.ts +468 -0
  262. package/src/services/ai-session-store.ts +6 -0
  263. package/src/services/ai-system-prompt.ts +110 -18
  264. package/src/services/ai-tools.ts +28 -143
  265. package/src/services/ai-write-report.ts +174 -0
  266. package/src/services/document-assistant.ts +50 -2
  267. package/src/services/idle.ts +16 -14
  268. package/src/services/live-surfaces.ts +237 -0
  269. package/src/services/model-uri.ts +75 -0
  270. package/src/services/notify.ts +63 -6
  271. package/src/services/popover-report.ts +325 -0
  272. package/src/services/surface-registry.ts +56 -0
  273. package/src/services/tool-executor.ts +6 -0
  274. package/src/settings/contexts-section.ts +301 -299
  275. package/src/settings/contributed-section.ts +361 -222
  276. package/src/settings/css-vars-editor.ts +320 -325
  277. package/src/settings/defs-editor.ts +572 -535
  278. package/src/settings/dependencies-editor.ts +79 -107
  279. package/src/settings/extension-commands.ts +379 -0
  280. package/src/settings/extension-rows.ts +113 -0
  281. package/src/settings/extensions-section.ts +287 -0
  282. package/src/settings/general-settings.ts +130 -181
  283. package/src/settings/head-editor.ts +10 -305
  284. package/src/settings/locales-section.ts +146 -196
  285. package/src/settings/preferences-accounts.ts +1 -1
  286. package/src/settings/preferences-dialog.ts +350 -330
  287. package/src/settings/project-sections.ts +108 -181
  288. package/src/settings/schema-field-ui.ts +11 -399
  289. package/src/settings/section-registry.ts +8 -1
  290. package/src/settings/settings-document.ts +31 -29
  291. package/src/shell/tree.ts +42 -87
  292. package/src/shell.ts +48 -36
  293. package/src/studio.ts +90 -67
  294. package/src/style/token-ref.ts +0 -39
  295. package/src/surfaces/about.json +263 -0
  296. package/src/surfaces/about.ts +163 -0
  297. package/src/surfaces/add-repo.json +486 -0
  298. package/src/surfaces/add-repo.ts +236 -0
  299. package/src/surfaces/ai-chat.json +2185 -0
  300. package/src/surfaces/ai-chat.ts +549 -0
  301. package/src/surfaces/ai-credentials-form.json +332 -0
  302. package/src/surfaces/ai-credentials-form.ts +151 -0
  303. package/src/surfaces/ai-managed-connect.json +108 -0
  304. package/src/surfaces/ai-managed-connect.ts +123 -0
  305. package/src/surfaces/ai-model-picker.json +114 -0
  306. package/src/surfaces/ai-model-picker.ts +139 -0
  307. package/src/surfaces/block-action-bar.json +640 -0
  308. package/src/surfaces/block-action-bar.ts +368 -0
  309. package/src/surfaces/bottom-dock.json +154 -0
  310. package/src/surfaces/bottom-dock.ts +125 -0
  311. package/src/surfaces/canvas-stage.json +444 -0
  312. package/src/surfaces/canvas-stage.ts +253 -0
  313. package/src/surfaces/cf-account-picker.json +300 -0
  314. package/src/surfaces/cf-account-picker.ts +214 -0
  315. package/src/surfaces/commandbar.json +984 -0
  316. package/src/{panels/toolbar.ts → surfaces/commandbar.ts} +414 -389
  317. package/src/surfaces/convert-repeater.json +309 -0
  318. package/src/surfaces/convert-repeater.ts +276 -0
  319. package/src/surfaces/data-actions.json +157 -0
  320. package/src/surfaces/data-actions.ts +115 -0
  321. package/src/surfaces/dialog.json +289 -0
  322. package/src/surfaces/dialog.ts +343 -0
  323. package/src/surfaces/diff-toolbar.json +266 -0
  324. package/src/surfaces/diff-toolbar.ts +139 -0
  325. package/src/surfaces/doc-header.json +739 -0
  326. package/src/surfaces/doc-header.ts +223 -0
  327. package/src/surfaces/empty-state.json +152 -0
  328. package/src/surfaces/empty-state.ts +173 -0
  329. package/src/surfaces/entry-editor.json +281 -0
  330. package/src/surfaces/entry-editor.ts +191 -0
  331. package/src/surfaces/expression-editor.json +977 -0
  332. package/src/surfaces/expression-editor.ts +266 -0
  333. package/src/surfaces/files-panel.json +592 -0
  334. package/src/surfaces/files-panel.ts +301 -0
  335. package/src/surfaces/formula-palette.json +364 -0
  336. package/src/surfaces/formula-palette.ts +340 -0
  337. package/src/surfaces/git-panel.json +1822 -0
  338. package/src/surfaces/git-panel.ts +272 -0
  339. package/src/surfaces/github-auth.json +112 -0
  340. package/src/surfaces/github-auth.ts +139 -0
  341. package/src/surfaces/github-publish.json +206 -0
  342. package/src/surfaces/github-publish.ts +169 -0
  343. package/src/surfaces/grid-cell.json +218 -0
  344. package/src/surfaces/grid-cell.ts +120 -0
  345. package/src/surfaces/grid-open.json +147 -0
  346. package/src/surfaces/grid-open.ts +87 -0
  347. package/src/surfaces/grid-panel.json +706 -0
  348. package/src/surfaces/grid-panel.ts +206 -0
  349. package/src/surfaces/grid-replace.json +179 -0
  350. package/src/surfaces/grid-replace.ts +89 -0
  351. package/src/surfaces/grid-views.json +446 -0
  352. package/src/surfaces/grid-views.ts +172 -0
  353. package/src/surfaces/inspector-dock.json +187 -0
  354. package/src/surfaces/inspector-dock.ts +161 -0
  355. package/src/surfaces/jump-bar.json +243 -0
  356. package/src/surfaces/jump-bar.ts +129 -0
  357. package/src/surfaces/jxsuite-update.json +146 -0
  358. package/src/surfaces/jxsuite-update.ts +149 -0
  359. package/src/surfaces/library-pane.json +1509 -0
  360. package/src/surfaces/library-pane.ts +363 -0
  361. package/src/surfaces/logic-panel.json +1949 -0
  362. package/src/surfaces/logic-panel.ts +369 -0
  363. package/src/surfaces/logic-workspace.json +685 -0
  364. package/src/surfaces/logic-workspace.ts +238 -0
  365. package/src/surfaces/media-browser.json +303 -0
  366. package/src/surfaces/media-browser.ts +145 -0
  367. package/src/surfaces/media-field.json +163 -0
  368. package/src/surfaces/media-field.ts +116 -0
  369. package/src/surfaces/media-pane.json +513 -0
  370. package/src/surfaces/media-pane.ts +197 -0
  371. package/src/surfaces/menu.json +232 -0
  372. package/src/surfaces/menu.ts +375 -0
  373. package/src/surfaces/navigator-dock.json +113 -0
  374. package/src/surfaces/navigator-dock.ts +130 -0
  375. package/src/surfaces/new-project.json +1654 -0
  376. package/src/surfaces/new-project.ts +411 -0
  377. package/src/surfaces/palette.json +535 -0
  378. package/src/surfaces/pane-context.json +1497 -0
  379. package/src/surfaces/pane-context.ts +513 -0
  380. package/src/surfaces/pane-grid.json +188 -0
  381. package/src/surfaces/pane-grid.ts +250 -0
  382. package/src/surfaces/panel-activity.json +563 -0
  383. package/src/surfaces/panel-activity.ts +187 -0
  384. package/src/surfaces/panel-data.json +141 -0
  385. package/src/surfaces/panel-data.ts +156 -0
  386. package/src/surfaces/panel-deploy-checklist.json +283 -0
  387. package/src/surfaces/panel-deploy-checklist.ts +175 -0
  388. package/src/surfaces/panel-elements.json +367 -0
  389. package/src/surfaces/panel-elements.ts +175 -0
  390. package/src/surfaces/panel-i18n.json +569 -0
  391. package/src/surfaces/panel-i18n.ts +212 -0
  392. package/src/surfaces/panel-imports.json +780 -0
  393. package/src/surfaces/panel-imports.ts +209 -0
  394. package/src/surfaces/panel-outline.json +734 -0
  395. package/src/surfaces/panel-outline.ts +326 -0
  396. package/src/surfaces/panel-page.json +1017 -0
  397. package/src/surfaces/panel-page.ts +240 -0
  398. package/src/surfaces/panel-problems.json +497 -0
  399. package/src/surfaces/panel-problems.ts +157 -0
  400. package/src/surfaces/panel-signals.json +1973 -0
  401. package/src/surfaces/panel-signals.ts +436 -0
  402. package/src/surfaces/panel-stylebook-layers.json +317 -0
  403. package/src/surfaces/panel-stylebook-layers.ts +155 -0
  404. package/src/surfaces/preferences.json +850 -0
  405. package/src/surfaces/preferences.ts +332 -0
  406. package/src/surfaces/progress-modal.json +110 -0
  407. package/src/surfaces/progress-modal.ts +150 -0
  408. package/src/surfaces/properties-panel.json +1578 -0
  409. package/src/surfaces/properties-panel.ts +337 -0
  410. package/src/surfaces/publish.json +945 -0
  411. package/src/surfaces/publish.ts +392 -0
  412. package/src/surfaces/push-plan.json +110 -0
  413. package/src/surfaces/push-plan.ts +87 -0
  414. package/src/surfaces/rail.json +255 -0
  415. package/src/surfaces/rail.ts +206 -0
  416. package/src/surfaces/reference-field.json +191 -0
  417. package/src/surfaces/reference-field.ts +168 -0
  418. package/src/surfaces/schema-builder.json +1011 -0
  419. package/src/surfaces/schema-builder.ts +181 -0
  420. package/src/surfaces/schema-form.json +1013 -0
  421. package/src/surfaces/schema-form.ts +287 -0
  422. package/src/surfaces/secret-field.json +60 -0
  423. package/src/surfaces/secret-field.ts +146 -0
  424. package/src/surfaces/seo.json +932 -0
  425. package/src/surfaces/seo.ts +334 -0
  426. package/src/surfaces/settings-contexts.json +538 -0
  427. package/src/surfaces/settings-contexts.ts +196 -0
  428. package/src/surfaces/settings-contributed.json +489 -0
  429. package/src/surfaces/settings-contributed.ts +199 -0
  430. package/src/surfaces/settings-css-vars.json +820 -0
  431. package/src/surfaces/settings-css-vars.ts +199 -0
  432. package/src/surfaces/settings-defs.json +1363 -0
  433. package/src/surfaces/settings-defs.ts +232 -0
  434. package/src/surfaces/settings-deploy.json +108 -0
  435. package/src/surfaces/settings-deploy.ts +135 -0
  436. package/src/surfaces/settings-extensions.json +486 -0
  437. package/src/surfaces/settings-extensions.ts +201 -0
  438. package/src/surfaces/settings-head.json +779 -0
  439. package/src/surfaces/settings-head.ts +397 -0
  440. package/src/surfaces/settings-locales.json +420 -0
  441. package/src/surfaces/settings-locales.ts +137 -0
  442. package/src/surfaces/settings-overview.json +423 -0
  443. package/src/surfaces/settings-overview.ts +218 -0
  444. package/src/surfaces/settings-packages.json +549 -0
  445. package/src/surfaces/settings-packages.ts +158 -0
  446. package/src/surfaces/settings-pane.json +147 -0
  447. package/src/surfaces/settings-pane.ts +150 -0
  448. package/src/surfaces/settings-rawjson.json +104 -0
  449. package/src/surfaces/settings-rawjson.ts +107 -0
  450. package/src/surfaces/shell.json +99 -0
  451. package/src/surfaces/shell.ts +30 -0
  452. package/src/surfaces/slash-menu.json +180 -0
  453. package/src/surfaces/slash-menu.ts +272 -0
  454. package/src/surfaces/statements.json +607 -0
  455. package/src/surfaces/statements.ts +238 -0
  456. package/src/surfaces/statusbar.json +94 -0
  457. package/src/{panels → surfaces}/statusbar.ts +163 -90
  458. package/src/surfaces/style-panel.json +1643 -0
  459. package/src/surfaces/style-panel.ts +338 -0
  460. package/src/surfaces/stylebook-chrome.json +122 -0
  461. package/src/surfaces/stylebook-chrome.ts +122 -0
  462. package/src/surfaces/tab-strip.json +448 -0
  463. package/src/surfaces/tab-strip.ts +200 -0
  464. package/src/surfaces/target-line.json +419 -0
  465. package/src/surfaces/target-line.ts +349 -0
  466. package/src/surfaces/toasts.json +189 -0
  467. package/src/surfaces/welcome.json +571 -0
  468. package/src/surfaces/welcome.ts +338 -0
  469. package/src/tabs/project-config.ts +71 -15
  470. package/src/tabs/tab.ts +52 -1
  471. package/src/types.ts +22 -0
  472. package/src/ui/ai-credentials-form.ts +104 -100
  473. package/src/ui/ai-managed-connect.ts +54 -36
  474. package/src/ui/ai-model-picker.ts +75 -47
  475. package/src/ui/cf-account-picker.ts +76 -141
  476. package/src/ui/color-selector.ts +80 -301
  477. package/src/ui/dynamic-slot.ts +43 -283
  478. package/src/ui/expression-editor.ts +797 -576
  479. package/src/ui/field-input.ts +8 -181
  480. package/src/ui/form-controls.ts +838 -366
  481. package/src/ui/formula-chips.ts +80 -85
  482. package/src/ui/kit.ts +33 -0
  483. package/src/ui/layers.ts +293 -593
  484. package/src/ui/media-picker.ts +203 -284
  485. package/src/ui/panel-resize.ts +251 -64
  486. package/src/ui/popover-surface.ts +153 -0
  487. package/src/ui/progress-modal.ts +22 -60
  488. package/src/ui/regions.ts +13 -7
  489. package/src/ui/schema-form.ts +906 -440
  490. package/src/ui/surface.ts +122 -0
  491. package/src/ui/unit-selector.ts +15 -131
  492. package/src/ui/value-source.ts +14 -0
  493. package/src/ui/virtual-window.ts +88 -9
  494. package/src/utils/canvas-media.ts +72 -0
  495. package/src/utils/edit-display.ts +7 -2
  496. package/src/utils/element-selectors.ts +69 -0
  497. package/src/utils/link-target.ts +2 -2
  498. package/src/utils/studio-utils.ts +0 -10
  499. package/src/view.ts +15 -0
  500. package/src/workspace/pane-derive.ts +36 -14
  501. package/src/workspace/workspace.ts +15 -6
  502. package/styles/canvas.css +72 -467
  503. package/styles/forced-colors.css +48 -82
  504. package/styles/forced-colors.json +41 -0
  505. package/styles/inspector.css +2 -1301
  506. package/styles/overlays.css +96 -2823
  507. package/styles/panels.css +6 -1423
  508. package/styles/shell-frame.css +272 -0
  509. package/styles/shell-frame.json +227 -0
  510. package/styles/shell.css +0 -1568
  511. package/styles/tokens.css +65 -136
  512. package/styles/tokens.json +84 -0
  513. package/dist/chunks/Overlay.dev-etqjwyf9.js +0 -23
  514. package/dist/chunks/adapter-jkcyhgtr.js +0 -14
  515. package/dist/chunks/cf-account-picker-en86v7x7.js +0 -163
  516. package/dist/chunks/cf-settings-45fgyx8y.js +0 -21
  517. package/dist/chunks/components-zmx10t62.js +0 -21
  518. package/dist/chunks/content-source-48xg86wj.js +0 -49
  519. package/dist/chunks/convert-to-repeater-43tfn7cs.js +0 -268
  520. package/dist/chunks/editor-cptq5jp1.js +0 -37
  521. package/dist/chunks/entry-commands-e63f1xc0.js +0 -46
  522. package/dist/chunks/extension-sections-txv08xxg.js +0 -311
  523. package/dist/chunks/file-ops-wbh4hhsx.js +0 -48
  524. package/dist/chunks/files-3kfkwhk4.js +0 -93
  525. package/dist/chunks/flow-qbfgrpeh.js +0 -634
  526. package/dist/chunks/focus-trap.esm-9t2drp0g.js +0 -1025
  527. package/dist/chunks/focus-visible-6eg70z18.js +0 -167
  528. package/dist/chunks/format-host-w16q81tf.js +0 -43
  529. package/dist/chunks/fs-events-hrrg328g.js +0 -21
  530. package/dist/chunks/git-panel-532whr1y.js +0 -59
  531. package/dist/chunks/index-zqxmqxmh.js +0 -109
  532. package/dist/chunks/jx-validate-8er6gbxy.js +0 -19
  533. package/dist/chunks/layers-panel-07hm7g5j.js +0 -67
  534. package/dist/chunks/layers-q75tj2mf.js +0 -45
  535. package/dist/chunks/lit-html-j055mkh8.js +0 -22
  536. package/dist/chunks/monaco-buffer-dqw0xxpx.js +0 -25
  537. package/dist/chunks/notify-yjm79n4s.js +0 -30
  538. package/dist/chunks/parse-24d0gay3.js +0 -19
  539. package/dist/chunks/platform-ba1j1gbh.js +0 -16
  540. package/dist/chunks/publish-panel-v9st96ja.js +0 -29
  541. package/dist/chunks/quick-search-zccjp6gv.js +0 -66
  542. package/dist/chunks/references-3qx8fkyp.js +0 -29
  543. package/dist/chunks/right-panel-vm3b6kwy.js +0 -46
  544. package/dist/chunks/section-registry-sx1ykvkw.js +0 -30
  545. package/dist/chunks/sp-overlay.dev-qgvhnxf4.js +0 -18
  546. package/dist/chunks/sp-popover.dev-n2etmqdp.js +0 -9
  547. package/dist/chunks/sp-progress-circle.dev-hryhj0es.js +0 -15
  548. package/dist/chunks/sp-tooltip.dev-4sastdnw.js +0 -15
  549. package/dist/chunks/sp-tray.dev-tkbscm06.js +0 -199
  550. package/dist/chunks/studio-0a5qrh01.js +0 -3
  551. package/dist/chunks/studio-0bq6eh7v.js +0 -12
  552. package/dist/chunks/studio-18j3bmcz.js +0 -14
  553. package/dist/chunks/studio-1ngbejft.js +0 -181
  554. package/dist/chunks/studio-4b5z1x43.js +0 -424
  555. package/dist/chunks/studio-4n2b5gzb.js +0 -357
  556. package/dist/chunks/studio-4rzyrtjz.js +0 -426
  557. package/dist/chunks/studio-5fx3g9jg.js +0 -4325
  558. package/dist/chunks/studio-5myknm0a.js +0 -1903
  559. package/dist/chunks/studio-7afd21nw.js +0 -67
  560. package/dist/chunks/studio-7nte2hj4.js +0 -613
  561. package/dist/chunks/studio-8jpzqk5s.js +0 -128
  562. package/dist/chunks/studio-8q517dfr.js +0 -24
  563. package/dist/chunks/studio-950k0dx6.js +0 -6939
  564. package/dist/chunks/studio-9n4mrmnb.js +0 -184
  565. package/dist/chunks/studio-a0tswy0w.js +0 -58
  566. package/dist/chunks/studio-ahnzd9rg.js +0 -23
  567. package/dist/chunks/studio-cmb03bg5.js +0 -13890
  568. package/dist/chunks/studio-d1ks410h.js +0 -175
  569. package/dist/chunks/studio-ef49pnzx.js +0 -387
  570. package/dist/chunks/studio-eqq1w638.js +0 -113
  571. package/dist/chunks/studio-ew0djmhg.js +0 -341
  572. package/dist/chunks/studio-gfgb8pe6.js +0 -1652
  573. package/dist/chunks/studio-h4rxscfc.js +0 -10
  574. package/dist/chunks/studio-jc994dnr.js +0 -1066
  575. package/dist/chunks/studio-kyh9avvv.js +0 -28
  576. package/dist/chunks/studio-m3hwn7y1.js +0 -120
  577. package/dist/chunks/studio-mtfnaqs9.js +0 -659
  578. package/dist/chunks/studio-n6j9t10q.js +0 -318
  579. package/dist/chunks/studio-n8b9wqwy.js +0 -291
  580. package/dist/chunks/studio-qcy05dp8.js +0 -1743
  581. package/dist/chunks/studio-qq6jym04.js +0 -53
  582. package/dist/chunks/studio-rdx8jcxy.js +0 -83
  583. package/dist/chunks/studio-rn9ta2mz.js +0 -111
  584. package/dist/chunks/studio-t7qb9db8.js +0 -665
  585. package/dist/chunks/studio-tmc5emrw.js +0 -8
  586. package/dist/chunks/studio-z6nw2ek2.js +0 -18
  587. package/dist/chunks/studio-zczps70q.js +0 -378
  588. package/dist/chunks/studio-zqazsct2.js +0 -1823
  589. package/dist/chunks/workspace-fjx52ryv.js +0 -89
  590. package/src/panels/activity-bar.ts +0 -251
  591. package/src/panels/panel-scheduler.ts +0 -219
  592. package/src/panels/style-inputs.ts +0 -237
  593. package/src/panels/target-line.ts +0 -274
  594. package/src/panels/welcome-screen.ts +0 -346
  595. package/src/ui/button-group.ts +0 -102
  596. package/src/ui/choice-field.ts +0 -72
  597. package/src/ui/field-row.ts +0 -249
  598. package/src/ui/formula-palette.ts +0 -213
  599. package/src/ui/icons.ts +0 -52
  600. package/src/ui/jx-theme.ts +0 -130
  601. package/src/ui/spectrum.ts +0 -340
  602. package/src/ui/value-selector.ts +0 -174
  603. package/src/ui/widgets.ts +0 -172
  604. /package/dist/chunks/{javascript-s56a8dpk.css → javascript-4abzjcy9.css} +0 -0
  605. /package/dist/chunks/{jsonMode-zr9sw0c7.css → jsonMode-vvmpmk34.css} +0 -0
  606. /package/dist/chunks/{monaco-setup-pav68602.css → monaco-setup-8vbyqnhr.css} +0 -0
  607. /package/dist/chunks/{tsMode-ef187txx.css → tsMode-hnxxb73h.css} +0 -0
@@ -0,0 +1,81 @@
1
+ var __create = Object.create;
2
+ var __getProtoOf = Object.getPrototypeOf;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ function __accessProp(key) {
7
+ return this[key];
8
+ }
9
+ var __toESMCache_node;
10
+ var __toESMCache_esm;
11
+ var __toESM = (mod, isNodeMode, target) => {
12
+ var canCache = mod != null && typeof mod === "object";
13
+ if (canCache) {
14
+ var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
15
+ var cached = cache.get(mod);
16
+ if (cached)
17
+ return cached;
18
+ }
19
+ target = mod != null ? __create(__getProtoOf(mod)) : {};
20
+ const to = isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
21
+ if (mod && typeof mod === "object" || typeof mod === "function") {
22
+ for (let key of __getOwnPropNames(mod))
23
+ if (!__hasOwnProp.call(to, key))
24
+ __defProp(to, key, {
25
+ get: __accessProp.bind(mod, key),
26
+ enumerable: true
27
+ });
28
+ }
29
+ if (canCache)
30
+ cache.set(mod, to);
31
+ return to;
32
+ };
33
+ var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
34
+ var __returnValue = (v) => v;
35
+ function __exportSetter(name, newValue) {
36
+ this[name] = __returnValue.bind(null, newValue);
37
+ }
38
+ var __export = (target, all) => {
39
+ for (var name in all)
40
+ __defProp(target, name, {
41
+ get: all[name],
42
+ enumerable: true,
43
+ configurable: true,
44
+ set: __exportSetter.bind(all, name)
45
+ });
46
+ };
47
+ var __chunkGraphs;
48
+ var __chunkSeen;
49
+ var __chunkNonce;
50
+ var __preload = (id, seenOnly) => {
51
+ for (var [base, graph, ids] of __chunkGraphs || [])
52
+ for (var stack = [id], g = globalThis, d = g.document, head, j, node, k, link;j = stack.pop(); )
53
+ if (!__chunkSeen[j] && (node = graph[j])) {
54
+ __chunkSeen[j] = 1;
55
+ for (k = 1;k < node.length; k++)
56
+ stack.push(ids[node[k]]);
57
+ if (!seenOnly && j !== id && (head = d && d.head)) {
58
+ if (__chunkNonce === undefined)
59
+ __chunkNonce = (k = d.querySelector("meta[property=csp-nonce]")) && (k.nonce || k.getAttribute("nonce")) || "";
60
+ link = d.createElement("link");
61
+ link.rel = "modulepreload";
62
+ link.crossOrigin = "";
63
+ if (__chunkNonce)
64
+ link.nonce = __chunkNonce;
65
+ link.href = new g.URL(node[0], base);
66
+ head.appendChild(link);
67
+ }
68
+ }
69
+ };
70
+ var __chunks = (base, ids, nodes, entry) => {
71
+ for (var graph = {}, i = 0;i < ids.length; i++)
72
+ graph[ids[i]] = nodes[i];
73
+ (__chunkGraphs ||= []).push([base, graph, ids]);
74
+ __chunkSeen ||= {};
75
+ __preload(ids[entry], 1);
76
+ };
77
+
78
+ export { __toESM, __commonJS, __export, __preload, __chunks };
79
+
80
+ //# debugId=4680226AC0D931FC64756E2164756E21
81
+ //# sourceMappingURL=studio-5te5tqng.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
- displayTagName,
2
+ isRef2,
3
3
  isEventBinding,
4
- isRef
5
- } from "./studio-q7v10cg2.js";
4
+ displayTagName
5
+ } from "./studio-7r42c6ca.js";
6
6
 
7
7
  // src/ui/timing.ts
8
8
  var INPUT_DEBOUNCE = 400;
@@ -10,7 +10,7 @@ var LIVE_PREVIEW = 350;
10
10
  var POLL_GIT = 30000;
11
11
 
12
12
  // src/state.ts
13
- function getNodeAtPath(doc, path) {
13
+ function getNodeAtPath2(doc, path) {
14
14
  let node = doc;
15
15
  for (const key of path) {
16
16
  if (node == null) {
@@ -142,7 +142,7 @@ function nodeLabel(node) {
142
142
  }
143
143
  if (node.$prototype === "Array") {
144
144
  const { items } = node;
145
- const ref = (isRef(items) ? items.$ref : undefined) || "items";
145
+ const ref = (isRef2(items) ? items.$ref : undefined) || "items";
146
146
  return `Repeater → ${ref}`;
147
147
  }
148
148
  if (node.$title) {
@@ -299,7 +299,7 @@ function runRenderer(name, fn) {
299
299
  function registerRenderer(name, fn) {
300
300
  _renderers.set(name, fn);
301
301
  }
302
- function render() {
302
+ function render3() {
303
303
  for (const [name, fn] of _renderers.entries()) {
304
304
  runRenderer(name, fn);
305
305
  }
@@ -349,7 +349,7 @@ function updateCanvas(tab, patch) {
349
349
  }
350
350
  }
351
351
 
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 };
352
+ export { INPUT_DEBOUNCE, LIVE_PREVIEW, POLL_GIT, getNodeAtPath2, 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, render3, renderOnly, updateSession, updateUi, updateCanvas };
353
353
 
354
- //# debugId=6E6FF14C9164545D64756E2164756E21
355
- //# sourceMappingURL=studio-p4ngc046.js.map
354
+ //# debugId=4E217858397A673D64756E2164756E21
355
+ //# sourceMappingURL=studio-6ewqv390.js.map
@@ -1,10 +1,10 @@
1
1
  // src/platform.ts
2
2
  var g = globalThis;
3
- function registerPlatform(platform) {
3
+ function registerPlatform2(platform) {
4
4
  g.__jxPlatform = platform;
5
5
  }
6
6
  var inFlight = new Map;
7
- function platformInFlight() {
7
+ function platformInFlight2() {
8
8
  const names = [];
9
9
  for (const [method, count] of inFlight) {
10
10
  for (let i = 0;i < count; i++) {
@@ -55,7 +55,7 @@ function countingPlatform(platform) {
55
55
  });
56
56
  }
57
57
  var counted = null;
58
- function getPlatform() {
58
+ function getPlatform2() {
59
59
  const raw = g.__jxPlatform;
60
60
  if (!raw) {
61
61
  throw new Error("No platform registered. Call registerPlatform() before starting Studio.");
@@ -65,11 +65,11 @@ function getPlatform() {
65
65
  }
66
66
  return counted.wrapped;
67
67
  }
68
- function hasPlatform() {
68
+ function hasPlatform2() {
69
69
  return g.__jxPlatform != null;
70
70
  }
71
71
 
72
- export { registerPlatform, platformInFlight, getPlatform, hasPlatform };
72
+ export { registerPlatform2, platformInFlight2, getPlatform2, hasPlatform2 };
73
73
 
74
- //# debugId=48AA6894A0BB2F0464756E2164756E21
75
- //# sourceMappingURL=studio-9ab8gqsm.js.map
74
+ //# debugId=B04AF0FC178B543864756E2164756E21
75
+ //# sourceMappingURL=studio-6nzaktvy.js.map
@@ -0,0 +1,28 @@
1
+ import {
2
+ SETTINGS,
3
+ readStoredSetting,
4
+ setSetting,
5
+ clearSettings
6
+ } from "./studio-y9zedyjn.js";
7
+
8
+ // src/services/cf-settings.ts
9
+ function getCfToken2() {
10
+ return readStoredSetting(SETTINGS.cfToken);
11
+ }
12
+ function setCfToken2(token) {
13
+ setSetting(SETTINGS.cfToken, token || "");
14
+ }
15
+ function getCfAccountId2() {
16
+ return readStoredSetting(SETTINGS.cfAccountId);
17
+ }
18
+ function setCfAccountId2(accountId) {
19
+ setSetting(SETTINGS.cfAccountId, accountId || "");
20
+ }
21
+ function clearCfConnection2() {
22
+ clearSettings([SETTINGS.cfToken, SETTINGS.cfAccountId]);
23
+ }
24
+
25
+ export { getCfToken2, setCfToken2, getCfAccountId2, setCfAccountId2, clearCfConnection2 };
26
+
27
+ //# debugId=C98948D2A82DEEE164756E2164756E21
28
+ //# sourceMappingURL=studio-6xa21ej9.js.map
@@ -2,10 +2,10 @@
2
2
  function jsonClone(value) {
3
3
  return JSON.parse(JSON.stringify(value));
4
4
  }
5
- function cloneValue(v) {
5
+ function cloneValue2(v) {
6
6
  return v === undefined || v === null ? v : jsonClone(v);
7
7
  }
8
- function getNodeAtPath(doc, path) {
8
+ function getNodeAtPath3(doc, path) {
9
9
  let node = doc;
10
10
  for (const key of path) {
11
11
  if (node == null) {
@@ -15,7 +15,7 @@ function getNodeAtPath(doc, path) {
15
15
  }
16
16
  return node;
17
17
  }
18
- function childArray(node) {
18
+ function childArray2(node) {
19
19
  if (Array.isArray(node)) {
20
20
  throw new TypeError("Cannot insert into a children array; parentPath must point at a node");
21
21
  }
@@ -27,10 +27,10 @@ function childArray(node) {
27
27
  }
28
28
  return node.children;
29
29
  }
30
- function applyDocOpToDoc(doc, op) {
30
+ function applyDocOpToDoc2(doc, op) {
31
31
  switch (op.op) {
32
32
  case "set-key": {
33
- const node = getNodeAtPath(doc, op.path);
33
+ const node = getNodeAtPath3(doc, op.path);
34
34
  if (!node) {
35
35
  throw new Error(`doc-op-node-not-found:${op.path.join("/")}`);
36
36
  }
@@ -38,30 +38,30 @@ function applyDocOpToDoc(doc, op) {
38
38
  if (op.value === undefined) {
39
39
  delete target[op.key];
40
40
  } else {
41
- target[op.key] = cloneValue(op.value);
41
+ target[op.key] = cloneValue2(op.value);
42
42
  }
43
43
  return;
44
44
  }
45
45
  case "insert-child": {
46
- const parent = getNodeAtPath(doc, op.parentPath);
47
- childArray(parent).splice(op.index, 0, cloneValue(op.node));
46
+ const parent = getNodeAtPath3(doc, op.parentPath);
47
+ childArray2(parent).splice(op.index, 0, cloneValue2(op.node));
48
48
  return;
49
49
  }
50
50
  case "remove-child": {
51
- const parent = getNodeAtPath(doc, op.parentPath);
52
- childArray(parent).splice(op.index, 1);
51
+ const parent = getNodeAtPath3(doc, op.parentPath);
52
+ childArray2(parent).splice(op.index, 1);
53
53
  return;
54
54
  }
55
55
  case "set-child": {
56
- const parent = getNodeAtPath(doc, op.parentPath);
57
- childArray(parent).splice(op.index, 1, cloneValue(op.node));
56
+ const parent = getNodeAtPath3(doc, op.parentPath);
57
+ childArray2(parent).splice(op.index, 1, cloneValue2(op.node));
58
58
  return;
59
59
  }
60
60
  case "move-child": {
61
- const fromParent = getNodeAtPath(doc, op.fromParentPath);
62
- const toParent = getNodeAtPath(doc, op.toParentPath);
63
- const [node] = childArray(fromParent).splice(op.fromIndex, 1);
64
- childArray(toParent).splice(op.toIndex, 0, node);
61
+ const fromParent = getNodeAtPath3(doc, op.fromParentPath);
62
+ const toParent = getNodeAtPath3(doc, op.toParentPath);
63
+ const [node] = childArray2(fromParent).splice(op.fromIndex, 1);
64
+ childArray2(toParent).splice(op.toIndex, 0, node);
65
65
  return;
66
66
  }
67
67
  default: {
@@ -70,7 +70,7 @@ function applyDocOpToDoc(doc, op) {
70
70
  }
71
71
  }
72
72
 
73
- export { cloneValue, getNodeAtPath, childArray, applyDocOpToDoc };
73
+ export { cloneValue2, getNodeAtPath3, childArray2, applyDocOpToDoc2 };
74
74
 
75
- //# debugId=5D133C2831531A7564756E2164756E21
76
- //# sourceMappingURL=studio-5ehhackm.js.map
75
+ //# debugId=32556033BC6FC83D64756E2164756E21
76
+ //# sourceMappingURL=studio-727xh0e3.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
- getPlatform
3
- } from "./studio-9ab8gqsm.js";
2
+ getPlatform2
3
+ } from "./studio-6nzaktvy.js";
4
4
  import {
5
- __require
6
- } from "./studio-a0tswy0w.js";
5
+ __preload
6
+ } from "./studio-5te5tqng.js";
7
7
 
8
8
  // src/services/monaco-lazy.ts
9
9
  var _monaco = null;
@@ -21,7 +21,7 @@ async function applyPendingSchemas() {
21
21
  }
22
22
  _pendingSchemasDirty = false;
23
23
  try {
24
- const { applyProjectSchemas } = await import("./monaco-setup-vx9bhp1d.js");
24
+ const { applyProjectSchemas } = await (__preload("8r62fj6y"), import("./monaco-setup-8r62fj6y.js"));
25
25
  applyProjectSchemas(_pendingSchemas);
26
26
  } catch {}
27
27
  }
@@ -31,8 +31,8 @@ function loadMonaco() {
31
31
  }
32
32
  _loading ??= (async () => {
33
33
  const [monaco] = await Promise.all([
34
- import("./editor-cptq5jp1.js"),
35
- import("./monaco-setup-vx9bhp1d.js")
34
+ (__preload("3qhbg51x"), import("./editor-3qhbg51x.js")),
35
+ (__preload("8r62fj6y"), import("./monaco-setup-8r62fj6y.js"))
36
36
  ]);
37
37
  _monaco = monaco;
38
38
  await applyPendingSchemas();
@@ -53,11 +53,11 @@ function mountStillWanted(container, existing, stillTargeted) {
53
53
  // src/format/format-host.ts
54
54
  var _formats = [];
55
55
  var _loaded = null;
56
- function loadFormats() {
56
+ function loadFormats2() {
57
57
  if (!_loaded) {
58
58
  _loaded = (async () => {
59
59
  try {
60
- const platform = getPlatform();
60
+ const platform = getPlatform2();
61
61
  _formats = await platform.listFormats?.() ?? [];
62
62
  } catch {
63
63
  _formats = [];
@@ -67,23 +67,21 @@ function loadFormats() {
67
67
  }
68
68
  return _loaded;
69
69
  }
70
- function refreshFormats() {
70
+ function refreshFormats2() {
71
71
  _loaded = null;
72
72
  _formats = [];
73
73
  _extensionsLoaded = null;
74
74
  _extensions = [];
75
- }
76
- function setFormats(formats) {
77
- _formats = formats;
78
- _loaded = Promise.resolve(formats);
75
+ _catalogLoaded = null;
76
+ _catalog = [];
79
77
  }
80
78
  var _extensions = [];
81
79
  var _extensionsLoaded = null;
82
- function loadExtensions() {
80
+ function loadExtensions2() {
83
81
  if (!_extensionsLoaded) {
84
82
  _extensionsLoaded = (async () => {
85
83
  try {
86
- const platform = getPlatform();
84
+ const platform = getPlatform2();
87
85
  _extensions = await platform.listExtensions?.() ?? [];
88
86
  } catch {
89
87
  _extensions = [];
@@ -93,12 +91,27 @@ function loadExtensions() {
93
91
  }
94
92
  return _extensionsLoaded;
95
93
  }
96
- function getExtensions() {
94
+ function getExtensions2() {
97
95
  return _extensions;
98
96
  }
99
- function setExtensions(extensions) {
100
- _extensions = extensions;
101
- _extensionsLoaded = Promise.resolve(extensions);
97
+ var _catalog = [];
98
+ var _catalogLoaded = null;
99
+ function loadExtensionCatalog() {
100
+ if (!_catalogLoaded) {
101
+ _catalogLoaded = (async () => {
102
+ try {
103
+ const platform = getPlatform2();
104
+ _catalog = await platform.listExtensionCatalog?.() ?? [];
105
+ } catch {
106
+ _catalog = [];
107
+ }
108
+ return _catalog;
109
+ })();
110
+ }
111
+ return _catalogLoaded;
112
+ }
113
+ function getExtensionCatalog2() {
114
+ return _catalog;
102
115
  }
103
116
  async function shareProjectSchemas(platform) {
104
117
  let schemas = null;
@@ -106,29 +119,30 @@ async function shareProjectSchemas(platform) {
106
119
  schemas = await platform.fetchProjectSchemas?.() ?? null;
107
120
  } catch {}
108
121
  setProjectSchemasForMonaco(schemas);
109
- await import("./jx-validate-8er6gbxy.js").then(({ applyProjectSchemas }) => applyProjectSchemas(schemas)).catch(() => false);
122
+ await (__preload("j0wxk72w"), import("./jx-validate-j0wxk72w.js")).then(({ applyProjectSchemas }) => applyProjectSchemas(schemas)).catch(() => false);
110
123
  }
111
- function refreshExtensionUi(platform) {
124
+ function refreshExtensionUi2(platform) {
112
125
  shareProjectSchemas(platform);
113
- import("./extension-sections-txv08xxg.js").then(({ syncExtensionSettingsSections }) => syncExtensionSettingsSections()).catch(() => {});
126
+ loadExtensionCatalog();
127
+ (__preload("fy7q4fe9"), import("./extension-sections-fy7q4fe9.js")).then(({ syncExtensionSettingsSections }) => syncExtensionSettingsSections()).catch(() => {});
114
128
  }
115
- function getFormats() {
129
+ function getFormats2() {
116
130
  return _formats;
117
131
  }
118
- function formatByExtension(ext, capability) {
132
+ function formatByExtension2(ext, capability) {
119
133
  const norm = ext.startsWith(".") ? ext.toLowerCase() : `.${ext.toLowerCase()}`;
120
134
  return _formats.find((f) => f.extensions.includes(norm) && (!capability || f.capabilities[capability]));
121
135
  }
122
- function formatByName(name) {
136
+ function formatByName2(name) {
123
137
  if (!name) {
124
138
  return;
125
139
  }
126
140
  return _formats.find((f) => f.name === name);
127
141
  }
128
- function noFormatError(path) {
142
+ function noFormatError2(path) {
129
143
  return new Error(`No format class imported for "${path}" — add one to project.json imports ` + `(e.g. "Markdown": "@jxsuite/parser/Markdown.class.json") and make sure the project's dependencies are installed`);
130
144
  }
131
- function formatForPath(path) {
145
+ function formatForPath2(path) {
132
146
  if (!path) {
133
147
  return;
134
148
  }
@@ -136,9 +150,9 @@ function formatForPath(path) {
136
150
  if (dot === -1) {
137
151
  return;
138
152
  }
139
- return formatByExtension(path.slice(dot));
153
+ return formatByExtension2(path.slice(dot));
140
154
  }
141
- function documentExtensions(kind) {
155
+ function documentExtensions2(kind) {
142
156
  const exts = new Set;
143
157
  for (const f of _formats) {
144
158
  if (kind && !f.documentKinds.includes(kind)) {
@@ -151,17 +165,17 @@ function documentExtensions(kind) {
151
165
  exts.delete(".json");
152
166
  return [...exts];
153
167
  }
154
- function defaultContentFormat() {
168
+ function defaultContentFormat2() {
155
169
  return _formats.find((f) => f.capabilities.serialize && f.documentKinds.includes("content"));
156
170
  }
157
171
  async function formatAction(payload) {
158
- const platform = getPlatform();
172
+ const platform = getPlatform2();
159
173
  if (!platform.formatAction) {
160
174
  throw new Error("Platform does not support format actions");
161
175
  }
162
176
  return platform.formatAction(payload);
163
177
  }
164
- async function formatParse(name, source, options) {
178
+ async function formatParse2(name, source, options) {
165
179
  return await formatAction({
166
180
  action: "parse",
167
181
  format: name,
@@ -169,7 +183,7 @@ async function formatParse(name, source, options) {
169
183
  source
170
184
  });
171
185
  }
172
- async function formatSerialize(name, doc, options) {
186
+ async function formatSerialize2(name, doc, options) {
173
187
  return await formatAction({
174
188
  action: "serialize",
175
189
  doc,
@@ -177,7 +191,7 @@ async function formatSerialize(name, doc, options) {
177
191
  options
178
192
  });
179
193
  }
180
- function splitFormatDocument(format, doc) {
194
+ function splitFormatDocument2(format, doc) {
181
195
  const hints = format?.studio?.documentMode;
182
196
  const componentWhen = hints?.componentWhen;
183
197
  if (componentWhen?.frontmatterKey) {
@@ -222,7 +236,7 @@ function splitFormatDocument(format, doc) {
222
236
  };
223
237
  }
224
238
 
225
- export { loadMonaco, loadedMonaco, mountStillWanted, loadFormats, refreshFormats, setFormats, loadExtensions, getExtensions, setExtensions, refreshExtensionUi, getFormats, formatByExtension, formatByName, noFormatError, formatForPath, documentExtensions, defaultContentFormat, formatParse, formatSerialize, splitFormatDocument };
239
+ export { loadMonaco, loadedMonaco, mountStillWanted, loadFormats2, refreshFormats2, loadExtensions2, getExtensions2, getExtensionCatalog2, refreshExtensionUi2, getFormats2, formatByExtension2, formatByName2, noFormatError2, formatForPath2, documentExtensions2, defaultContentFormat2, formatParse2, formatSerialize2, splitFormatDocument2 };
226
240
 
227
- //# debugId=7A0A51B7AA10806664756E2164756E21
228
- //# sourceMappingURL=studio-ahn3pdgx.js.map
241
+ //# debugId=DC4D74E6C120403064756E2164756E21
242
+ //# sourceMappingURL=studio-79y5sz51.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  __commonJS
3
- } from "./studio-a0tswy0w.js";
3
+ } from "./studio-5te5tqng.js";
4
4
 
5
5
  // ../../node_modules/ajv/dist/compile/codegen/code.js
6
6
  var require_code = __commonJS(function(exports) {
@@ -169,9 +169,9 @@ var require_scope = __commonJS(function(exports) {
169
169
  }
170
170
  }
171
171
  var UsedValueState;
172
- (function(UsedValueState2) {
173
- UsedValueState2[UsedValueState2["Started"] = 0] = "Started";
174
- UsedValueState2[UsedValueState2["Completed"] = 1] = "Completed";
172
+ (function(UsedValueState) {
173
+ UsedValueState[UsedValueState["Started"] = 0] = "Started";
174
+ UsedValueState[UsedValueState["Completed"] = 1] = "Completed";
175
175
  })(UsedValueState || (exports.UsedValueState = UsedValueState = {}));
176
176
  exports.varKinds = {
177
177
  const: new code_1.Name("const"),
@@ -1153,9 +1153,9 @@ var require_util = __commonJS(function(exports) {
1153
1153
  }
1154
1154
  exports.useFunc = useFunc;
1155
1155
  var Type;
1156
- (function(Type2) {
1157
- Type2[Type2["Num"] = 0] = "Num";
1158
- Type2[Type2["Str"] = 1] = "Str";
1156
+ (function(Type) {
1157
+ Type[Type["Num"] = 0] = "Num";
1158
+ Type[Type["Str"] = 1] = "Str";
1159
1159
  })(Type || (exports.Type = Type = {}));
1160
1160
  function getErrorPath(dataProp, dataPropType, jsPropertySyntax) {
1161
1161
  if (dataProp instanceof codegen_1.Name) {
@@ -1425,9 +1425,9 @@ var require_dataType = __commonJS(function(exports) {
1425
1425
  var codegen_1 = require_codegen();
1426
1426
  var util_1 = require_util();
1427
1427
  var DataType;
1428
- (function(DataType2) {
1429
- DataType2[DataType2["Correct"] = 0] = "Correct";
1430
- DataType2[DataType2["Wrong"] = 1] = "Wrong";
1428
+ (function(DataType) {
1429
+ DataType[DataType["Correct"] = 0] = "Correct";
1430
+ DataType[DataType["Wrong"] = 1] = "Wrong";
1431
1431
  })(DataType || (exports.DataType = DataType = {}));
1432
1432
  function getSchemaTypes(schema) {
1433
1433
  const types = getJSONTypes(schema.type);
@@ -1823,8 +1823,8 @@ var require_keyword = __commonJS(function(exports) {
1823
1823
  gen.assign(valid, (0, codegen_1._)`${_await}${(0, code_1.callValidateCode)(cxt, validateRef, passCxt, passSchema)}`, def.modifying);
1824
1824
  }
1825
1825
  function reportErrs(errors) {
1826
- var _a2;
1827
- gen.if((0, codegen_1.not)((_a2 = def.valid) !== null && _a2 !== undefined ? _a2 : valid), errors);
1826
+ var _a;
1827
+ gen.if((0, codegen_1.not)((_a = def.valid) !== null && _a !== undefined ? _a : valid), errors);
1828
1828
  }
1829
1829
  }
1830
1830
  exports.funcKeywordCode = funcKeywordCode;
@@ -4693,9 +4693,9 @@ var require_types = __commonJS(function(exports) {
4693
4693
  Object.defineProperty(exports, "__esModule", { value: true });
4694
4694
  exports.DiscrError = undefined;
4695
4695
  var DiscrError;
4696
- (function(DiscrError2) {
4697
- DiscrError2["Tag"] = "tag";
4698
- DiscrError2["Mapping"] = "mapping";
4696
+ (function(DiscrError) {
4697
+ DiscrError["Tag"] = "tag";
4698
+ DiscrError["Mapping"] = "mapping";
4699
4699
  })(DiscrError || (exports.DiscrError = DiscrError = {}));
4700
4700
  });
4701
4701
 
@@ -6236,7 +6236,7 @@ var require_applicator = __commonJS(function(exports) {
6236
6236
  });
6237
6237
 
6238
6238
  // ../../node_modules/ajv/dist/vocabularies/format/format.js
6239
- var require_format = __commonJS(function(exports) {
6239
+ var require_format2 = __commonJS(function(exports) {
6240
6240
  Object.defineProperty(exports, "__esModule", { value: true });
6241
6241
  var codegen_1 = require_codegen();
6242
6242
  var error = {
@@ -6323,9 +6323,9 @@ var require_format = __commonJS(function(exports) {
6323
6323
  });
6324
6324
 
6325
6325
  // ../../node_modules/ajv/dist/vocabularies/format/index.js
6326
- var require_format2 = __commonJS(function(exports) {
6326
+ var require_format = __commonJS(function(exports) {
6327
6327
  Object.defineProperty(exports, "__esModule", { value: true });
6328
- var format_1 = require_format();
6328
+ var format_1 = require_format2();
6329
6329
  var format = [format_1.default];
6330
6330
  exports.default = format;
6331
6331
  });
@@ -6350,7 +6350,7 @@ var require_metadata = __commonJS(function(exports) {
6350
6350
  ];
6351
6351
  });
6352
6352
 
6353
- export { require_codegen, require_util, require_names, require_validate, require_validation_error, require_ref_error, require_compile, require_core, require_ref, require_core2 as require_core1, require_validation, require_dependencies, require_applicator, require_format2 as require_format, require_metadata, require_discriminator };
6353
+ export { require_codegen, require_util, require_names, require_validate, require_validation_error, require_ref_error, require_compile, require_core, require_ref, require_core2, require_validation, require_dependencies, require_applicator, require_format, require_metadata, require_discriminator };
6354
6354
 
6355
- //# debugId=27BACE53E31E516464756E2164756E21
6356
- //# sourceMappingURL=studio-gcye7qka.js.map
6355
+ //# debugId=A1412430214E33B764756E2164756E21
6356
+ //# sourceMappingURL=studio-7e11jpa9.js.map
@@ -2,7 +2,7 @@
2
2
  function isJsonObject(value) {
3
3
  return typeof value === "object" && value !== null && !Array.isArray(value);
4
4
  }
5
- function isRef(value) {
5
+ function isRef2(value) {
6
6
  return isJsonObject(value) && typeof value.$ref === "string";
7
7
  }
8
8
  function isFunctionDef(value) {
@@ -49,7 +49,7 @@ function bodyReturnsValue(body) {
49
49
  return /\breturn\b[^\S\n]*(?![;}\s]|$)/.test(body);
50
50
  }
51
51
  function isNestedStyle(value) {
52
- return typeof value === "object" && value !== null;
52
+ return typeof value === "object" && value !== null && !Array.isArray(value);
53
53
  }
54
54
  function getNestedStyle(style, key) {
55
55
  const value = style?.[key];
@@ -65,7 +65,7 @@ function ensureNestedStyle(style, key) {
65
65
  return created;
66
66
  }
67
67
  function isEventBinding(value) {
68
- return isRef(value) || isFunctionDef(value) || isExpressionDef(value);
68
+ return isRef2(value) || isFunctionDef(value) || isExpressionDef(value);
69
69
  }
70
70
  function getEventBinding(node, key) {
71
71
  const value = node[key];
@@ -78,7 +78,17 @@ function paramNames(parameters) {
78
78
  return parameters.map((p) => typeof p === "string" ? p : p.name);
79
79
  }
80
80
  function isTagExpression(tagName) {
81
- return isJsonObject(tagName) && isJsonObject(tagName.$expression);
81
+ if (!isJsonObject(tagName) || !isJsonObject(tagName.$expression)) {
82
+ return false;
83
+ }
84
+ const expression = tagName.$expression;
85
+ if (expression.operator === "?:") {
86
+ return typeof expression.value === "string" && typeof expression.initial === "string";
87
+ }
88
+ if (expression.operator === "switch") {
89
+ return isJsonObject(expression.cases) && Object.values(expression.cases).every((tag) => typeof tag === "string") && typeof expression.default === "string";
90
+ }
91
+ return false;
82
92
  }
83
93
  function tagNameCandidates(tagName) {
84
94
  if (typeof tagName === "string") {
@@ -100,7 +110,7 @@ function isPrivateStateKey(key) {
100
110
  return key.startsWith("#");
101
111
  }
102
112
 
103
- export { isJsonObject, isRef, isFunctionDef, isExpressionDef, isNamedFormulaDef, hasStructuredBody, isPrototypeDef, isServerFnDef, isMappedArray, isTemplateString, bodyReturnsValue, getNestedStyle, ensureNestedStyle, isEventBinding, getEventBinding, paramNames, isTagExpression, tagNameCandidates, displayTagName, isPrivateStateKey };
113
+ export { isJsonObject, isRef2, isFunctionDef, isExpressionDef, isNamedFormulaDef, hasStructuredBody, isPrototypeDef, isServerFnDef, isMappedArray, isTemplateString, bodyReturnsValue, isNestedStyle, getNestedStyle, ensureNestedStyle, isEventBinding, getEventBinding, paramNames, isTagExpression, tagNameCandidates, displayTagName, isPrivateStateKey };
104
114
 
105
- //# debugId=8B99E181A008FB9464756E2164756E21
106
- //# sourceMappingURL=studio-q7v10cg2.js.map
115
+ //# debugId=1137B57F9E7C997564756E2164756E21
116
+ //# sourceMappingURL=studio-7r42c6ca.js.map