@jxsuite/studio 5.2.0 → 5.4.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 (398) hide show
  1. package/data/css-meta.json +28 -27
  2. package/dist/chunks/{cf-account-picker-h4dab9bq.js → cf-account-picker-3f08rry6.js} +21 -18
  3. package/dist/chunks/{cf-settings-adg74qsk.js → cf-settings-m79r7p5y.js} +4 -4
  4. package/dist/chunks/{components-5y78e05d.js → components-xm826zjw.js} +3 -3
  5. package/dist/chunks/{content-source-sgg1sv6n.js → content-source-jt7rbcbc.js} +22 -22
  6. package/dist/chunks/{convert-to-repeater-mf1cxgfn.js → convert-to-repeater-vg38bq99.js} +22 -22
  7. package/dist/chunks/{editor-3qhbg51x.js → editor-ddy019sn.js} +2 -2
  8. package/dist/chunks/entry-commands-64nb2a9a.js +42 -0
  9. package/dist/chunks/{extension-sections-c6zwzbre.js → extension-sections-r73an5s6.js} +31 -30
  10. package/dist/chunks/{file-ops-vrpq1jjk.js → file-ops-3xan8mnj.js} +21 -21
  11. package/dist/chunks/{files-msaf95y6.js → files-egsb0ry8.js} +30 -29
  12. package/dist/chunks/{format-host-f64fnesp.js → format-host-mym8qnd0.js} +3 -3
  13. package/dist/chunks/{fs-events-3y6y0nrm.js → fs-events-z2gg8qjt.js} +4 -4
  14. package/dist/chunks/{git-panel-bv5e22j0.js → git-panel-a05atk6q.js} +20 -20
  15. package/dist/chunks/{grid-view-1p6hsyjx.css → grid-view-3g1h2re8.css} +956 -139
  16. package/dist/chunks/{grid-view-paj67nr5.js → grid-view-qaqer9kr.js} +24 -24
  17. package/dist/chunks/{icons-yy10wk9r.js → icons-drxq9q10.js} +8 -2
  18. package/dist/chunks/{iframe-host-dh5np8vk.js → iframe-host-psetcv20.js} +11 -11
  19. package/dist/chunks/{index-n4j7qxyr.js → index-9yjae3hz.js} +4 -4
  20. package/dist/chunks/{javascript-4abzjcy9.css → javascript-bc9z461d.css} +688 -54
  21. package/dist/chunks/{javascript-xvrfrpkb.js → javascript-hr5sg57n.js} +2 -2
  22. package/dist/chunks/{jsonMode-vvmpmk34.css → jsonMode-qqd9nm1t.css} +1120 -303
  23. package/dist/chunks/{jsonMode-tyx2kj6p.js → jsonMode-zs88v0wr.js} +4 -4
  24. package/dist/chunks/{jx-validate-j0wxk72w.js → jx-validate-epp2z3s3.js} +2 -2
  25. package/dist/chunks/layers-panel-83a16ytx.js +41 -0
  26. package/dist/chunks/{layers-1vcfdbet.js → layers-s6mc01ry.js} +3 -3
  27. package/dist/chunks/{listbox-6v2ac08j.js → listbox-b7jxnhq1.js} +19 -3
  28. package/dist/chunks/{media-picker-p49nhqhs.js → media-picker-nhn6rv4w.js} +11 -11
  29. package/dist/chunks/{menu-qht48vnc.js → menu-8j4qxjrp.js} +4 -4
  30. package/dist/chunks/{monaco-binding-sw6en4dw.js → monaco-binding-e8d9wzyk.js} +3 -3
  31. package/dist/chunks/{monaco-buffer-pykwbm92.js → monaco-buffer-jaq1t9zj.js} +2 -2
  32. package/dist/chunks/{monaco-setup-8vbyqnhr.css → monaco-setup-ey9cjcm3.css} +954 -137
  33. package/dist/chunks/{monaco-setup-8r62fj6y.js → monaco-setup-gsjdysze.js} +7 -7
  34. package/dist/chunks/{platform-ts9cg1a4.js → platform-fnchmhy7.js} +5 -3
  35. package/dist/chunks/publish-panel-ak6hxfma.js +27 -0
  36. package/dist/chunks/quick-search-c63mkt3b.js +47 -0
  37. package/dist/chunks/{references-h69xp9zz.js → references-f7bdv3z5.js} +3 -3
  38. package/dist/chunks/right-panel-t5n8wttg.js +45 -0
  39. package/dist/chunks/{split-g7nm1rgb.js → split-4cz4b6ef.js} +14 -3
  40. package/dist/chunks/{studio-sar8g54p.js → studio-01269reb.js} +8 -8
  41. package/dist/chunks/{studio-rnyf3f8e.js → studio-0a4gncx0.js} +3 -3
  42. package/dist/chunks/{studio-e1f24eff.js → studio-0d4p4wxj.js} +6778 -2993
  43. package/dist/chunks/{studio-4wbb9ct0.js → studio-1tejxvba.js} +3006 -1855
  44. package/dist/chunks/{studio-p6pmwkvh.js → studio-3nprwbd9.js} +147 -28
  45. package/dist/chunks/{studio-4c041r8y.js → studio-40z39dme.js} +3 -3
  46. package/dist/chunks/{studio-68fydsrj.js → studio-482eeazk.js} +20 -20
  47. package/dist/chunks/{studio-y4f9fdge.js → studio-4998spet.js} +10 -9
  48. package/dist/chunks/{studio-nq5yf5mp.js → studio-557bmn0x.js} +2 -2
  49. package/dist/chunks/{studio-hdc2jt3z.js → studio-5w26wza5.js} +3 -3
  50. package/dist/chunks/{studio-6nzaktvy.js → studio-6pwn9j8c.js} +6 -3
  51. package/dist/chunks/{studio-wnsyffg1.js → studio-6vg0x5fz.js} +3 -2
  52. package/dist/chunks/{studio-vn5hske5.js → studio-7d3c1m59.js} +12 -5
  53. package/dist/chunks/{studio-28vs5k2y.js → studio-9vsvz7w7.js} +7 -7
  54. package/dist/chunks/{studio-t3adrr56.js → studio-9wm0xzpf.js} +19 -19
  55. package/dist/chunks/{studio-38emantv.js → studio-a5h5j33a.js} +19 -5
  56. package/dist/chunks/{studio-ympe0n7a.js → studio-ag3z6shb.js} +10 -4
  57. package/dist/chunks/studio-aj9drheq.js +177 -0
  58. package/dist/chunks/{studio-vt0tj32j.js → studio-apv9x70c.js} +189 -130
  59. package/dist/chunks/{studio-c04nzbby.js → studio-b9q3znz8.js} +2 -2
  60. package/dist/chunks/{studio-2mdbbc76.js → studio-bh47w0cy.js} +9 -10
  61. package/dist/chunks/{studio-ez11dmdh.js → studio-dgdm6vvt.js} +264 -52
  62. package/dist/chunks/{studio-5nz00bhh.js → studio-dwdcr2e8.js} +4 -4
  63. package/dist/chunks/{studio-nqgawfks.js → studio-fbcyz234.js} +146 -139
  64. package/dist/chunks/{studio-kcgff4r0.js → studio-fgmfksz8.js} +2 -2
  65. package/dist/chunks/{studio-x72j58vw.js → studio-fqpkpq1t.js} +7 -4
  66. package/dist/chunks/{studio-15f3kxqe.js → studio-fy320dfc.js} +62 -68
  67. package/dist/chunks/{studio-zjjde71a.js → studio-gjj4bbfx.js} +2 -2
  68. package/dist/chunks/{studio-66arbpc2.js → studio-jfhxy8h3.js} +16 -15
  69. package/dist/chunks/{studio-d0300636.js → studio-ks2zzth2.js} +17 -2
  70. package/dist/chunks/{studio-c07s5ckd.js → studio-kwewmhhq.js} +4 -4
  71. package/dist/chunks/{studio-01jeck2y.js → studio-m58xn8at.js} +26 -25
  72. package/dist/chunks/{studio-mpzwze9x.js → studio-mfkh1q8d.js} +17 -17
  73. package/dist/chunks/{studio-etvx9s2g.js → studio-mrh0a92f.js} +17 -17
  74. package/dist/chunks/{studio-qa7fzxan.js → studio-mt79tn56.js} +3 -3
  75. package/dist/chunks/{studio-hhskq2mr.js → studio-ne593z1j.js} +39 -32
  76. package/dist/chunks/{studio-h4nvnjvz.js → studio-ptfcxkz5.js} +418 -232
  77. package/dist/chunks/{studio-4xmjcrg3.js → studio-qxye31h7.js} +7 -7
  78. package/dist/chunks/{studio-a1pswps3.js → studio-rav5bpmp.js} +81 -59
  79. package/dist/chunks/{studio-ncn9e189.js → studio-rwmmbrth.js} +6 -6
  80. package/dist/chunks/{studio-en82c639.js → studio-sceg8ws0.js} +8 -8
  81. package/dist/chunks/{studio-wjpgxywa.js → studio-sjas5b3a.js} +19 -13
  82. package/dist/chunks/{studio-4r14yzyy.js → studio-vd67b66d.js} +3 -3
  83. package/dist/chunks/{studio-14d9tq4d.js → studio-w475cbf9.js} +10 -10
  84. package/dist/chunks/{studio-ctm7bhx5.js → studio-w7gpcvfj.js} +9 -9
  85. package/dist/chunks/{studio-9j6sfeba.js → studio-xrbfdxgk.js} +7 -7
  86. package/dist/chunks/{studio-x10fp4tp.js → studio-y49b6mjv.js} +35 -35
  87. package/dist/chunks/{studio-5t7ena5z.js → studio-ygvr9e4q.js} +10 -10
  88. package/dist/chunks/{studio-z2smx5ce.js → studio-yxmmjy2a.js} +9 -6
  89. package/dist/chunks/{tsMode-jy4m86rv.js → tsMode-ay4c78ne.js} +4 -4
  90. package/dist/chunks/{tsMode-hnxxb73h.css → tsMode-c72wyz27.css} +954 -137
  91. package/dist/chunks/{workspace-bnw54cha.js → workspace-b9k2frks.js} +5 -5
  92. package/dist/chunks/{ws-client-ny4zc51r.js → ws-client-erze4czt.js} +356 -20
  93. package/dist/codicon.ttf +0 -0
  94. package/dist/iframe-entry.js +20 -18
  95. package/dist/studio.css +956 -139
  96. package/dist/studio.js +1511 -851
  97. package/dist/workers/editor.worker.js +196 -107
  98. package/dist/workers/json.worker.js +196 -107
  99. package/dist/workers/ts.worker.js +196 -107
  100. package/package.json +18 -17
  101. package/src/about/about-modal.ts +4 -3
  102. package/src/browse/library-commands.ts +15 -13
  103. package/src/browse/library-pane.ts +2 -2
  104. package/src/canvas/canvas-render.ts +97 -83
  105. package/src/canvas/canvas-surface.ts +2 -2
  106. package/src/canvas/canvas-utils.ts +42 -32
  107. package/src/canvas/diff-toolbar.ts +21 -2
  108. package/src/canvas/diff-view.ts +30 -6
  109. package/src/canvas/iframe-entry.ts +2 -2
  110. package/src/canvas/iframe-host.ts +5 -5
  111. package/src/canvas/iframe-interaction.ts +7 -6
  112. package/src/canvas/iframe-overlay.ts +1 -1
  113. package/src/canvas/iframe-protocol.ts +6 -5
  114. package/src/canvas/iframe-render.ts +3 -3
  115. package/src/canvas/popover-state.ts +1 -1
  116. package/src/canvas/stage-scrollbar.ts +112 -0
  117. package/src/canvas/surface-registry.ts +9 -2
  118. package/src/collab/collab-commands.ts +8 -6
  119. package/src/collab/collab-session.ts +4 -4
  120. package/src/collab/collab-state.ts +4 -4
  121. package/src/collab/presence-chips.ts +3 -3
  122. package/src/commands/app-commands.ts +7 -7
  123. package/src/commands/budget.ts +17 -16
  124. package/src/commands/command-args.ts +10 -9
  125. package/src/commands/context.ts +20 -10
  126. package/src/commands/defaults.ts +30 -29
  127. package/src/commands/levels.ts +8 -6
  128. package/src/commands/live-context.ts +12 -10
  129. package/src/commands/reference.ts +5 -5
  130. package/src/commands/registry.ts +2 -2
  131. package/src/content/draft-state.ts +9 -8
  132. package/src/content/entry-commands.ts +16 -14
  133. package/src/content/entry-editor.ts +2 -2
  134. package/src/content/entry-fields.ts +1 -1
  135. package/src/editor/context-menu.ts +4 -4
  136. package/src/editor/convert-to-component.ts +6 -5
  137. package/src/editor/inline-edit.ts +3 -3
  138. package/src/editor/shortcuts.ts +88 -20
  139. package/src/editor/slash-menu.ts +11 -10
  140. package/src/files/elements.ts +4 -5
  141. package/src/files/file-ops.ts +1 -1
  142. package/src/files/files.ts +21 -17
  143. package/src/files/serialize-document.ts +1 -1
  144. package/src/format/convert-file.ts +5 -5
  145. package/src/github/github-auth-status.ts +107 -0
  146. package/src/github/github-auth.ts +18 -82
  147. package/src/github/github-publish.ts +7 -6
  148. package/src/grid/cell-editors.ts +8 -7
  149. package/src/grid/grid-layout.ts +1 -1
  150. package/src/grid/grid-open.ts +6 -5
  151. package/src/grid/grid-panel.ts +13 -12
  152. package/src/grid/redirects-grid.ts +14 -11
  153. package/src/grid/redirects.ts +10 -5
  154. package/src/grid/sources/content-source.ts +10 -9
  155. package/src/hosting/document.ts +28 -1
  156. package/src/hosting/stage.ts +15 -4
  157. package/src/i18n/i18n-commands.ts +9 -7
  158. package/src/new-project/location-fields.ts +16 -3
  159. package/src/new-project/new-project-modal.ts +23 -7
  160. package/src/page-params.ts +6 -6
  161. package/src/panels/activity-panel.ts +11 -10
  162. package/src/panels/ai-chat/chat-view.ts +27 -14
  163. package/src/panels/ai-chat/composer.ts +10 -3
  164. package/src/panels/ai-panel.ts +87 -29
  165. package/src/panels/block-action-bar.ts +59 -33
  166. package/src/panels/bottom-dock.ts +22 -22
  167. package/src/panels/chat-panel.ts +40 -5
  168. package/src/panels/data-explorer.ts +9 -9
  169. package/src/panels/data-grid.ts +1 -1
  170. package/src/panels/editors.ts +8 -8
  171. package/src/panels/elements-panel.ts +7 -8
  172. package/src/panels/empty-state.ts +1 -1
  173. package/src/panels/events-panel.ts +13 -12
  174. package/src/panels/formula-workspace.ts +8 -5
  175. package/src/panels/frontmatter-fields.ts +4 -1
  176. package/src/panels/frontmatter-panel.ts +18 -18
  177. package/src/panels/git-panel.ts +19 -13
  178. package/src/panels/head-panel.ts +9 -10
  179. package/src/panels/i18n-panel.ts +6 -4
  180. package/src/panels/imports-panel.ts +1 -1
  181. package/src/panels/jump-bar.ts +20 -18
  182. package/src/panels/layers-panel.ts +19 -17
  183. package/src/panels/left-panel.ts +3 -3
  184. package/src/panels/navigator-panels.ts +8 -8
  185. package/src/panels/overlays.ts +1 -1
  186. package/src/panels/pane-context.ts +56 -28
  187. package/src/panels/pane-grid.ts +9 -8
  188. package/src/panels/panel-registry.ts +47 -19
  189. package/src/panels/problems-panel.ts +11 -12
  190. package/src/panels/properties-panel.ts +21 -20
  191. package/src/panels/provenance.ts +3 -3
  192. package/src/panels/quick-search.ts +15 -11
  193. package/src/panels/right-panel.ts +4 -3
  194. package/src/panels/seo-modal.ts +5 -4
  195. package/src/panels/settings-menu.ts +9 -9
  196. package/src/panels/settings-pane.ts +3 -3
  197. package/src/panels/signals-panel.ts +16 -9
  198. package/src/panels/statement-editor.ts +12 -9
  199. package/src/panels/style-panel.ts +45 -41
  200. package/src/panels/stylebook-panel.ts +0 -1
  201. package/src/panels/tab-strip.ts +26 -23
  202. package/src/platform-errors.ts +2 -2
  203. package/src/platform.ts +44 -4
  204. package/src/platforms/cloud.ts +11 -1
  205. package/src/platforms/default-platform.ts +141 -4
  206. package/src/platforms/devserver.ts +23 -3
  207. package/src/publish/deploy-checklist.ts +11 -10
  208. package/src/publish/publish-commands.ts +9 -8
  209. package/src/services/a11y-report.ts +1 -1
  210. package/src/services/ai-ask.ts +39 -16
  211. package/src/services/ai-command-tools.ts +28 -14
  212. package/src/services/ai-import-tools.ts +43 -29
  213. package/src/services/ai-project-tools.ts +20 -38
  214. package/src/services/ai-settings.ts +55 -2
  215. package/src/services/ai-tools.ts +69 -58
  216. package/src/services/ai-write-report.ts +4 -4
  217. package/src/services/ai-writes.ts +74 -55
  218. package/src/services/automation.ts +12 -12
  219. package/src/services/clock.ts +2 -1
  220. package/src/services/connection.ts +2 -2
  221. package/src/services/context-manager.ts +69 -6
  222. package/src/services/directory-picker.ts +93 -27
  223. package/src/services/document-assistant.ts +86 -17
  224. package/src/services/gated-registry.ts +4 -3
  225. package/src/services/idle.ts +5 -4
  226. package/src/services/live-surfaces.ts +2 -1
  227. package/src/services/module-preloads.ts +67 -0
  228. package/src/services/notify.ts +9 -7
  229. package/src/services/popover-report.ts +3 -3
  230. package/src/services/preview-eval.ts +1 -1
  231. package/src/services/project-adoption.ts +34 -1
  232. package/src/services/project-path.ts +53 -0
  233. package/src/services/settings/kernel.ts +13 -2
  234. package/src/services/tool-executor.ts +135 -30
  235. package/src/services/tool-outcomes.ts +143 -0
  236. package/src/settings/contexts-section.ts +8 -8
  237. package/src/settings/contributed-section.ts +6 -6
  238. package/src/settings/css-vars-editor.ts +6 -5
  239. package/src/settings/extension-commands.ts +19 -18
  240. package/src/settings/extension-sections.ts +7 -7
  241. package/src/settings/extensions-section.ts +3 -3
  242. package/src/settings/general-settings.ts +21 -18
  243. package/src/settings/preferences-accounts.ts +3 -3
  244. package/src/settings/preferences-dialog.ts +9 -8
  245. package/src/settings/preferences-sections.ts +1 -1
  246. package/src/settings/project-sections.ts +2 -2
  247. package/src/settings/section-registry.ts +7 -6
  248. package/src/settings/settings-document.ts +41 -43
  249. package/src/shell/tree.ts +29 -0
  250. package/src/shell.ts +63 -55
  251. package/src/site-context.ts +1 -1
  252. package/src/store.ts +2 -2
  253. package/src/studio.ts +52 -28
  254. package/src/style/live-preview.ts +8 -8
  255. package/src/style/project-styles.ts +8 -9
  256. package/src/style/token-ref.ts +2 -2
  257. package/src/surfaces/about.json +6 -2
  258. package/src/surfaces/add-repo.json +2 -2
  259. package/src/surfaces/add-repo.ts +2 -2
  260. package/src/surfaces/ai-chat.json +14 -6
  261. package/src/surfaces/ai-chat.ts +4 -2
  262. package/src/surfaces/ai-credentials-form.json +53 -49
  263. package/src/surfaces/ai-credentials-form.ts +18 -4
  264. package/src/surfaces/ai-managed-connect.json +4 -4
  265. package/src/surfaces/block-action-bar.json +4 -4
  266. package/src/surfaces/block-action-bar.ts +3 -3
  267. package/src/surfaces/boot-failure.json +228 -0
  268. package/src/surfaces/boot-failure.ts +156 -0
  269. package/src/surfaces/bottom-dock.json +1 -1
  270. package/src/surfaces/canvas-stage.json +9 -40
  271. package/src/surfaces/canvas-stage.ts +9 -9
  272. package/src/surfaces/cf-account-picker.json +11 -8
  273. package/src/surfaces/commandbar.ts +11 -10
  274. package/src/surfaces/convert-repeater.ts +3 -2
  275. package/src/surfaces/dialog.json +7 -1
  276. package/src/surfaces/dialog.ts +2 -2
  277. package/src/surfaces/doc-header.json +6 -13
  278. package/src/surfaces/doc-header.ts +4 -5
  279. package/src/surfaces/entry-editor.json +1 -1
  280. package/src/surfaces/entry-editor.ts +2 -1
  281. package/src/surfaces/expression-editor.json +5 -5
  282. package/src/surfaces/files-panel.json +4 -3
  283. package/src/surfaces/files-panel.ts +1 -1
  284. package/src/surfaces/formula-palette.json +10 -9
  285. package/src/surfaces/formula-palette.ts +11 -7
  286. package/src/surfaces/git-panel.json +167 -109
  287. package/src/surfaces/git-panel.ts +2 -2
  288. package/src/surfaces/github-auth.json +2 -1
  289. package/src/surfaces/github-publish.ts +3 -3
  290. package/src/surfaces/grid-open.json +1 -1
  291. package/src/surfaces/grid-panel.json +2 -2
  292. package/src/surfaces/grid-views.json +1 -1
  293. package/src/surfaces/inspector-dock.json +2 -2
  294. package/src/surfaces/jump-bar.json +1 -1
  295. package/src/surfaces/jump-bar.ts +1 -1
  296. package/src/surfaces/library-pane.ts +2 -1
  297. package/src/surfaces/logic-panel.json +7 -7
  298. package/src/surfaces/logic-panel.ts +6 -4
  299. package/src/surfaces/logic-workspace.json +2 -2
  300. package/src/surfaces/logic-workspace.ts +2 -2
  301. package/src/surfaces/media-browser.ts +3 -3
  302. package/src/surfaces/media-pane.ts +2 -1
  303. package/src/surfaces/menu.ts +5 -5
  304. package/src/surfaces/new-project.json +1 -1
  305. package/src/surfaces/palette.json +8 -7
  306. package/src/surfaces/pane-context.json +86 -57
  307. package/src/surfaces/pane-context.ts +2 -1
  308. package/src/surfaces/pane-grid.json +3 -3
  309. package/src/surfaces/panel-activity.json +2 -1
  310. package/src/surfaces/panel-deploy-checklist.json +1 -1
  311. package/src/surfaces/panel-elements.ts +2 -1
  312. package/src/surfaces/panel-i18n.ts +2 -1
  313. package/src/surfaces/panel-outline.json +1 -1
  314. package/src/surfaces/panel-outline.ts +4 -3
  315. package/src/surfaces/panel-page.json +2 -2
  316. package/src/surfaces/panel-page.ts +4 -1
  317. package/src/surfaces/panel-problems.json +4 -3
  318. package/src/surfaces/panel-problems.ts +2 -2
  319. package/src/surfaces/panel-signals.json +23 -8
  320. package/src/surfaces/panel-signals.ts +5 -1
  321. package/src/surfaces/panel-stylebook-layers.json +1 -1
  322. package/src/surfaces/panel-stylebook-layers.ts +2 -2
  323. package/src/surfaces/preferences.json +21 -8
  324. package/src/surfaces/preferences.ts +9 -1
  325. package/src/surfaces/properties-panel.json +4 -4
  326. package/src/surfaces/properties-panel.ts +2 -2
  327. package/src/surfaces/publish.json +1 -1
  328. package/src/surfaces/publish.ts +2 -1
  329. package/src/surfaces/push-plan.json +4 -3
  330. package/src/surfaces/rail.json +2 -2
  331. package/src/surfaces/rail.ts +10 -4
  332. package/src/surfaces/reference-field.json +1 -1
  333. package/src/surfaces/schema-form.json +2 -2
  334. package/src/surfaces/schema-form.ts +1 -1
  335. package/src/surfaces/seo.json +1 -1
  336. package/src/surfaces/seo.ts +2 -2
  337. package/src/surfaces/settings-contributed.ts +2 -1
  338. package/src/surfaces/settings-css-vars.json +4 -4
  339. package/src/surfaces/settings-deploy.json +4 -4
  340. package/src/surfaces/settings-deploy.ts +2 -1
  341. package/src/surfaces/settings-extensions.json +6 -6
  342. package/src/surfaces/settings-extensions.ts +6 -2
  343. package/src/surfaces/settings-locales.json +4 -4
  344. package/src/surfaces/settings-overview.ts +2 -1
  345. package/src/surfaces/settings-pane.ts +3 -2
  346. package/src/surfaces/settings-rawjson.ts +1 -1
  347. package/src/surfaces/slash-menu.ts +4 -4
  348. package/src/surfaces/statements.json +3 -3
  349. package/src/surfaces/statusbar.ts +23 -23
  350. package/src/surfaces/style-panel.json +9 -5
  351. package/src/surfaces/style-panel.ts +3 -3
  352. package/src/surfaces/tab-strip.json +2 -2
  353. package/src/surfaces/target-line.json +1 -1
  354. package/src/surfaces/target-line.ts +12 -10
  355. package/src/surfaces/welcome.json +7 -2
  356. package/src/tabs/doc-op-apply.ts +5 -5
  357. package/src/tabs/patch-ops.ts +3 -3
  358. package/src/tabs/project-config.ts +10 -10
  359. package/src/tabs/selection.ts +1 -1
  360. package/src/tabs/tab.ts +13 -14
  361. package/src/tabs/transact.ts +18 -24
  362. package/src/types.ts +27 -3
  363. package/src/ui/ai-credentials-form.ts +74 -16
  364. package/src/ui/ai-managed-connect.ts +68 -19
  365. package/src/ui/color-selector.ts +1 -1
  366. package/src/ui/expression-editor.ts +3 -3
  367. package/src/ui/form-controls.ts +6 -5
  368. package/src/ui/formula-catalog.ts +4 -4
  369. package/src/ui/formula-chips.ts +2 -2
  370. package/src/ui/layers.ts +20 -18
  371. package/src/ui/panel-resize.ts +8 -28
  372. package/src/ui/popover-surface.ts +2 -2
  373. package/src/ui/progress-modal.ts +3 -3
  374. package/src/ui/regions.ts +14 -9
  375. package/src/ui/schema-form.ts +10 -9
  376. package/src/ui/timing.ts +9 -7
  377. package/src/ui/value-source.ts +4 -4
  378. package/src/ui/virtual-window.ts +58 -5
  379. package/src/utils/base64.ts +20 -1
  380. package/src/utils/canvas-media.ts +1 -1
  381. package/src/utils/studio-utils.ts +0 -31
  382. package/src/view.ts +4 -3
  383. package/src/workspace/pane-derive.ts +14 -13
  384. package/src/workspace/session.ts +7 -6
  385. package/src/workspace/workspace.ts +49 -39
  386. package/styles/canvas.css +1 -27
  387. package/styles/inspector.css +4 -3
  388. package/styles/overlays.css +1 -1
  389. package/styles/tokens.css +17 -1
  390. package/styles/tokens.json +6 -1
  391. package/dist/chunks/entry-commands-w9qsxa6q.js +0 -42
  392. package/dist/chunks/layers-panel-fksbdg4q.js +0 -40
  393. package/dist/chunks/publish-panel-vz23wwmg.js +0 -27
  394. package/dist/chunks/quick-search-e9rp74m8.js +0 -46
  395. package/dist/chunks/right-panel-j97t2yvy.js +0 -45
  396. package/dist/chunks/studio-727xh0e3.js +0 -76
  397. package/src/files/json-layout.ts +0 -474
  398. package/src/services/ai-turn-signal.ts +0 -70
@@ -31,11 +31,11 @@ import {
31
31
  moveTabToPane2,
32
32
  renameTab2,
33
33
  registerTabCommands2
34
- } from "./studio-ez11dmdh.js";
35
- import"./studio-wnsyffg1.js";
34
+ } from "./studio-dgdm6vvt.js";
35
+ import"./studio-6vg0x5fz.js";
36
36
  import"./studio-m1p9b6c3.js";
37
- import"./studio-28vs5k2y.js";
38
- import"./studio-6nzaktvy.js";
37
+ import"./studio-9vsvz7w7.js";
38
+ import"./studio-6pwn9j8c.js";
39
39
  import"./studio-3ntvq6cg.js";
40
40
  import"./studio-d8z5bajd.js";
41
41
  export {
@@ -74,4 +74,4 @@ export {
74
74
  };
75
75
 
76
76
  //# debugId=DAA0C7B0A6B56CB064756E2164756E21
77
- //# sourceMappingURL=workspace-bnw54cha.js.map
77
+ //# sourceMappingURL=workspace-b9k2frks.js.map
@@ -1,25 +1,361 @@
1
1
  import {
2
- Observable,
3
- floor,
4
- createEncoder,
5
- length,
6
- toUint8Array,
7
- writeVarUint,
8
- writeVarString,
9
- writeVarUint8Array,
10
- createDecoder,
11
- readVarUint8Array,
12
- readVarUint,
13
- readVarString,
14
- getUnixTime,
15
- equalityDeep,
16
2
  Doc,
17
3
  applyUpdate,
18
4
  encodeStateAsUpdate,
19
5
  encodeStateVector,
6
+ createEncoder,
7
+ length,
8
+ toUint8Array,
9
+ createDecoder,
20
10
  encodeFrame2,
21
11
  decodeFrame2
22
- } from "./studio-h4nvnjvz.js";
12
+ } from "./studio-ptfcxkz5.js";
13
+
14
+ // ../../node_modules/y-protocols/node_modules/lib0/math.js
15
+ var floor = Math.floor;
16
+ var min = (a, b) => a < b ? a : b;
17
+ var max = (a, b) => a > b ? a : b;
18
+
19
+ // ../../node_modules/y-protocols/node_modules/lib0/binary.js
20
+ var BIT8 = 128;
21
+ var BIT18 = 1 << 17;
22
+ var BIT19 = 1 << 18;
23
+ var BIT20 = 1 << 19;
24
+ var BIT21 = 1 << 20;
25
+ var BIT22 = 1 << 21;
26
+ var BIT23 = 1 << 22;
27
+ var BIT24 = 1 << 23;
28
+ var BIT25 = 1 << 24;
29
+ var BIT26 = 1 << 25;
30
+ var BIT27 = 1 << 26;
31
+ var BIT28 = 1 << 27;
32
+ var BIT29 = 1 << 28;
33
+ var BIT30 = 1 << 29;
34
+ var BIT31 = 1 << 30;
35
+ var BIT32 = 1 << 31;
36
+ var BITS7 = 127;
37
+ var BITS17 = BIT18 - 1;
38
+ var BITS18 = BIT19 - 1;
39
+ var BITS19 = BIT20 - 1;
40
+ var BITS20 = BIT21 - 1;
41
+ var BITS21 = BIT22 - 1;
42
+ var BITS22 = BIT23 - 1;
43
+ var BITS23 = BIT24 - 1;
44
+ var BITS24 = BIT25 - 1;
45
+ var BITS25 = BIT26 - 1;
46
+ var BITS26 = BIT27 - 1;
47
+ var BITS27 = BIT28 - 1;
48
+ var BITS28 = BIT29 - 1;
49
+ var BITS29 = BIT30 - 1;
50
+ var BITS30 = BIT31 - 1;
51
+
52
+ // ../../node_modules/y-protocols/node_modules/lib0/number.js
53
+ var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER;
54
+ var MIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER;
55
+ var LOWEST_INT32 = 1 << 31;
56
+
57
+ // ../../node_modules/y-protocols/node_modules/lib0/set.js
58
+ var create = () => new Set;
59
+
60
+ // ../../node_modules/y-protocols/node_modules/lib0/array.js
61
+ var from = Array.from;
62
+
63
+ // ../../node_modules/y-protocols/node_modules/lib0/string.js
64
+ var fromCharCode = String.fromCharCode;
65
+ var fromCodePoint = String.fromCodePoint;
66
+ var MAX_UTF16_CHARACTER = fromCharCode(65535);
67
+ var _encodeUtf8Polyfill = (str) => {
68
+ const encodedString = unescape(encodeURIComponent(str));
69
+ const len = encodedString.length;
70
+ const buf = new Uint8Array(len);
71
+ for (let i = 0;i < len; i++) {
72
+ buf[i] = encodedString.codePointAt(i);
73
+ }
74
+ return buf;
75
+ };
76
+ var utf8TextEncoder = typeof TextEncoder !== "undefined" ? new TextEncoder : null;
77
+ var _encodeUtf8Native = (str) => utf8TextEncoder.encode(str);
78
+ var encodeUtf8 = utf8TextEncoder ? _encodeUtf8Native : _encodeUtf8Polyfill;
79
+ var utf8TextDecoder = typeof TextDecoder === "undefined" ? null : new TextDecoder("utf-8", { fatal: true, ignoreBOM: true });
80
+ if (utf8TextDecoder && utf8TextDecoder.decode(new Uint8Array).length === 1) {
81
+ utf8TextDecoder = null;
82
+ }
83
+
84
+ // ../../node_modules/y-protocols/node_modules/lib0/encoding.js
85
+ class Encoder {
86
+ constructor() {
87
+ this.cpos = 0;
88
+ this.cbuf = new Uint8Array(100);
89
+ this.bufs = [];
90
+ }
91
+ }
92
+ var createEncoder2 = () => new Encoder;
93
+ var length2 = (encoder) => {
94
+ let len = encoder.cpos;
95
+ for (let i = 0;i < encoder.bufs.length; i++) {
96
+ len += encoder.bufs[i].length;
97
+ }
98
+ return len;
99
+ };
100
+ var toUint8Array2 = (encoder) => {
101
+ const uint8arr = new Uint8Array(length2(encoder));
102
+ let curPos = 0;
103
+ for (let i = 0;i < encoder.bufs.length; i++) {
104
+ const d = encoder.bufs[i];
105
+ uint8arr.set(d, curPos);
106
+ curPos += d.length;
107
+ }
108
+ uint8arr.set(new Uint8Array(encoder.cbuf.buffer, 0, encoder.cpos), curPos);
109
+ return uint8arr;
110
+ };
111
+ var write = (encoder, num) => {
112
+ const bufferLen = encoder.cbuf.length;
113
+ if (encoder.cpos === bufferLen) {
114
+ encoder.bufs.push(encoder.cbuf);
115
+ encoder.cbuf = new Uint8Array(bufferLen * 2);
116
+ encoder.cpos = 0;
117
+ }
118
+ encoder.cbuf[encoder.cpos++] = num;
119
+ };
120
+ var writeVarUint = (encoder, num) => {
121
+ while (num > BITS7) {
122
+ write(encoder, BIT8 | BITS7 & num);
123
+ num = floor(num / 128);
124
+ }
125
+ write(encoder, BITS7 & num);
126
+ };
127
+ var _strBuffer = new Uint8Array(30000);
128
+ var _maxStrBSize = _strBuffer.length / 3;
129
+ var _writeVarStringNative = (encoder, str) => {
130
+ if (str.length < _maxStrBSize) {
131
+ const written = utf8TextEncoder.encodeInto(str, _strBuffer).written || 0;
132
+ writeVarUint(encoder, written);
133
+ for (let i = 0;i < written; i++) {
134
+ write(encoder, _strBuffer[i]);
135
+ }
136
+ } else {
137
+ writeVarUint8Array(encoder, encodeUtf8(str));
138
+ }
139
+ };
140
+ var _writeVarStringPolyfill = (encoder, str) => {
141
+ const encodedString = unescape(encodeURIComponent(str));
142
+ const len = encodedString.length;
143
+ writeVarUint(encoder, len);
144
+ for (let i = 0;i < len; i++) {
145
+ write(encoder, encodedString.codePointAt(i));
146
+ }
147
+ };
148
+ var writeVarString = utf8TextEncoder && utf8TextEncoder.encodeInto ? _writeVarStringNative : _writeVarStringPolyfill;
149
+ var writeUint8Array = (encoder, uint8Array) => {
150
+ const bufferLen = encoder.cbuf.length;
151
+ const cpos = encoder.cpos;
152
+ const leftCopyLen = min(bufferLen - cpos, uint8Array.length);
153
+ const rightCopyLen = uint8Array.length - leftCopyLen;
154
+ encoder.cbuf.set(uint8Array.subarray(0, leftCopyLen), cpos);
155
+ encoder.cpos += leftCopyLen;
156
+ if (rightCopyLen > 0) {
157
+ encoder.bufs.push(encoder.cbuf);
158
+ encoder.cbuf = new Uint8Array(max(bufferLen * 2, rightCopyLen));
159
+ encoder.cbuf.set(uint8Array.subarray(leftCopyLen));
160
+ encoder.cpos = rightCopyLen;
161
+ }
162
+ };
163
+ var writeVarUint8Array = (encoder, uint8Array) => {
164
+ writeVarUint(encoder, uint8Array.byteLength);
165
+ writeUint8Array(encoder, uint8Array);
166
+ };
167
+ var floatTestBed = new DataView(new ArrayBuffer(4));
168
+
169
+ // ../../node_modules/y-protocols/node_modules/lib0/error.js
170
+ var create2 = (s) => new Error(s);
171
+
172
+ // ../../node_modules/y-protocols/node_modules/lib0/decoding.js
173
+ var errorUnexpectedEndOfArray = create2("Unexpected end of array");
174
+ var errorIntegerOutOfRange = create2("Integer out of Range");
175
+
176
+ class Decoder {
177
+ constructor(uint8Array) {
178
+ this.arr = uint8Array;
179
+ this.pos = 0;
180
+ }
181
+ }
182
+ var createDecoder2 = (uint8Array) => new Decoder(uint8Array);
183
+ var readUint8Array = (decoder, len) => {
184
+ const view = new Uint8Array(decoder.arr.buffer, decoder.pos + decoder.arr.byteOffset, len);
185
+ decoder.pos += len;
186
+ return view;
187
+ };
188
+ var readVarUint8Array = (decoder) => readUint8Array(decoder, readVarUint(decoder));
189
+ var readUint8 = (decoder) => decoder.arr[decoder.pos++];
190
+ var readVarUint = (decoder) => {
191
+ let num = 0;
192
+ let mult = 1;
193
+ const len = decoder.arr.length;
194
+ while (decoder.pos < len) {
195
+ const r = decoder.arr[decoder.pos++];
196
+ num = num + (r & BITS7) * mult;
197
+ mult *= 128;
198
+ if (r < BIT8) {
199
+ return num;
200
+ }
201
+ if (num > MAX_SAFE_INTEGER) {
202
+ throw errorIntegerOutOfRange;
203
+ }
204
+ }
205
+ throw errorUnexpectedEndOfArray;
206
+ };
207
+ var _readVarStringPolyfill = (decoder) => {
208
+ let remainingLen = readVarUint(decoder);
209
+ if (remainingLen === 0) {
210
+ return "";
211
+ } else {
212
+ let encodedString = String.fromCodePoint(readUint8(decoder));
213
+ if (--remainingLen < 100) {
214
+ while (remainingLen--) {
215
+ encodedString += String.fromCodePoint(readUint8(decoder));
216
+ }
217
+ } else {
218
+ while (remainingLen > 0) {
219
+ const nextLen = remainingLen < 1e4 ? remainingLen : 1e4;
220
+ const bytes = decoder.arr.subarray(decoder.pos, decoder.pos + nextLen);
221
+ decoder.pos += nextLen;
222
+ encodedString += String.fromCodePoint.apply(null, bytes);
223
+ remainingLen -= nextLen;
224
+ }
225
+ }
226
+ return decodeURIComponent(escape(encodedString));
227
+ }
228
+ };
229
+ var _readVarStringNative = (decoder) => utf8TextDecoder.decode(readVarUint8Array(decoder));
230
+ var readVarString = utf8TextDecoder ? _readVarStringNative : _readVarStringPolyfill;
231
+
232
+ // ../../node_modules/y-protocols/node_modules/lib0/time.js
233
+ var getUnixTime = Date.now;
234
+
235
+ // ../../node_modules/y-protocols/node_modules/lib0/map.js
236
+ var create3 = () => new Map;
237
+ var setIfUndefined = (map, key, createT) => {
238
+ let set = map.get(key);
239
+ if (set === undefined) {
240
+ map.set(key, set = createT());
241
+ }
242
+ return set;
243
+ };
244
+
245
+ // ../../node_modules/y-protocols/node_modules/lib0/observable.js
246
+ class Observable {
247
+ constructor() {
248
+ this._observers = create3();
249
+ }
250
+ on(name, f) {
251
+ setIfUndefined(this._observers, name, create).add(f);
252
+ }
253
+ once(name, f) {
254
+ const _f = (...args) => {
255
+ this.off(name, _f);
256
+ f(...args);
257
+ };
258
+ this.on(name, _f);
259
+ }
260
+ off(name, f) {
261
+ const observers = this._observers.get(name);
262
+ if (observers !== undefined) {
263
+ observers.delete(f);
264
+ if (observers.size === 0) {
265
+ this._observers.delete(name);
266
+ }
267
+ }
268
+ }
269
+ emit(name, args) {
270
+ return from((this._observers.get(name) || create3()).values()).forEach((f) => f(...args));
271
+ }
272
+ destroy() {
273
+ this._observers = create3();
274
+ }
275
+ }
276
+
277
+ // ../../node_modules/y-protocols/node_modules/lib0/trait/equality.js
278
+ var EqualityTraitSymbol = Symbol("Equality");
279
+
280
+ // ../../node_modules/y-protocols/node_modules/lib0/object.js
281
+ var keys = Object.keys;
282
+ var size = (obj) => keys(obj).length;
283
+ var hasProperty = (obj, key) => Object.prototype.hasOwnProperty.call(obj, key);
284
+
285
+ // ../../node_modules/y-protocols/node_modules/lib0/function.js
286
+ var equalityDeep = (a, b) => {
287
+ if (a === b) {
288
+ return true;
289
+ }
290
+ if (a == null || b == null || a.constructor !== b.constructor && (a.constructor || Object) !== (b.constructor || Object)) {
291
+ return false;
292
+ }
293
+ if (a[EqualityTraitSymbol] != null) {
294
+ return a[EqualityTraitSymbol](b);
295
+ }
296
+ switch (a.constructor) {
297
+ case ArrayBuffer:
298
+ a = new Uint8Array(a);
299
+ b = new Uint8Array(b);
300
+ case Uint8Array: {
301
+ if (a.byteLength !== b.byteLength) {
302
+ return false;
303
+ }
304
+ for (let i = 0;i < a.length; i++) {
305
+ if (a[i] !== b[i]) {
306
+ return false;
307
+ }
308
+ }
309
+ break;
310
+ }
311
+ case Set: {
312
+ if (a.size !== b.size) {
313
+ return false;
314
+ }
315
+ for (const value of a) {
316
+ if (!b.has(value)) {
317
+ return false;
318
+ }
319
+ }
320
+ break;
321
+ }
322
+ case Map: {
323
+ if (a.size !== b.size) {
324
+ return false;
325
+ }
326
+ for (const key of a.keys()) {
327
+ if (!b.has(key) || !equalityDeep(a.get(key), b.get(key))) {
328
+ return false;
329
+ }
330
+ }
331
+ break;
332
+ }
333
+ case undefined:
334
+ case Object:
335
+ if (size(a) !== size(b)) {
336
+ return false;
337
+ }
338
+ for (const key in a) {
339
+ if (!hasProperty(a, key) || !equalityDeep(a[key], b[key])) {
340
+ return false;
341
+ }
342
+ }
343
+ break;
344
+ case Array:
345
+ if (a.length !== b.length) {
346
+ return false;
347
+ }
348
+ for (let i = 0;i < a.length; i++) {
349
+ if (!equalityDeep(a[i], b[i])) {
350
+ return false;
351
+ }
352
+ }
353
+ break;
354
+ default:
355
+ return false;
356
+ }
357
+ return true;
358
+ };
23
359
 
24
360
  // ../../node_modules/y-protocols/awareness.js
25
361
  var outdatedTimeout = 30000;
@@ -131,7 +467,7 @@ var removeAwarenessStates = (awareness, clients, origin) => {
131
467
  };
132
468
  var encodeAwarenessUpdate = (awareness, clients, states = awareness.states) => {
133
469
  const len = clients.length;
134
- const encoder = createEncoder();
470
+ const encoder = createEncoder2();
135
471
  writeVarUint(encoder, len);
136
472
  for (let i = 0;i < len; i++) {
137
473
  const clientID = clients[i];
@@ -141,10 +477,10 @@ var encodeAwarenessUpdate = (awareness, clients, states = awareness.states) => {
141
477
  writeVarUint(encoder, clock);
142
478
  writeVarString(encoder, JSON.stringify(state));
143
479
  }
144
- return toUint8Array(encoder);
480
+ return toUint8Array2(encoder);
145
481
  };
146
482
  var applyAwarenessUpdate = (awareness, update, origin) => {
147
- const decoder = createDecoder(update);
483
+ const decoder = createDecoder2(update);
148
484
  const timestamp = getUnixTime();
149
485
  const added = [];
150
486
  const updated = [];
@@ -591,5 +927,5 @@ export {
591
927
  createWsCollabConnection
592
928
  };
593
929
 
594
- //# debugId=9391C878E658A2CF64756E2164756E21
595
- //# sourceMappingURL=ws-client-ny4zc51r.js.map
930
+ //# debugId=6151EDE2A13C06EA64756E2164756E21
931
+ //# sourceMappingURL=ws-client-erze4czt.js.map
package/dist/codicon.ttf CHANGED
Binary file
@@ -28,7 +28,7 @@ var __chunks = (base, ids, nodes, entry) => {
28
28
  __chunkSeen ||= {};
29
29
  __preload(ids[entry], 1);
30
30
  };
31
- __chunks(import.meta.url,["e088w1ns","a73p0pqm","eptb614w","abk6qyee","780pvfbv","3sqv46sn","xgg3kfw7","yy10wk9r","5cndyft8","sp6tna8v","47z3ytva","2r16ez41","g7nm1rgb","t0n6h2rn","wbp1cdws","xbh5bhtr","v17df7b8","anwybnkn","44ez96fc","5e7jev23","s890b918","6v2ac08j","q99sy9rf","nbyxee1y","15g3n6xv","b27vq81n"],[["./iframe-entry.js"],["./chunks/tree-a73p0pqm.js"],["./chunks/tooltip-eptb614w.js",23],["./chunks/textfield-abk6qyee.js"],["./chunks/toast-780pvfbv.js",24],["./chunks/toast-host-3sqv46sn.js",24],["./chunks/color-xgg3kfw7.js",25],["./chunks/icons-yy10wk9r.js"],["./chunks/number-field-5cndyft8.js"],["./chunks/action-group-sp6tna8v.js"],["./chunks/popover-47z3ytva.js",23],["./chunks/select-2r16ez41.js"],["./chunks/split-g7nm1rgb.js"],["./chunks/swatch-group-t0n6h2rn.js"],["./chunks/tabs-wbp1cdws.js"],["./chunks/toolbar-xbh5bhtr.js"],["./chunks/color-area-v17df7b8.js",25],["./chunks/color-field-anwybnkn.js",25,23],["./chunks/color-slider-44ez96fc.js",25],["./chunks/combobox-5e7jev23.js",23],["./chunks/dialog-s890b918.js"],["./chunks/listbox-6v2ac08j.js"],["./chunks/menu-q99sy9rf.js",23],["./chunks/iframe-entry-nbyxee1y.js"],["./chunks/iframe-entry-15g3n6xv.js"],["./chunks/iframe-entry-b27vq81n.js"]],0);
31
+ __chunks(import.meta.url,["xgq2bq5t","a73p0pqm","eptb614w","abk6qyee","780pvfbv","3sqv46sn","xgg3kfw7","drxq9q10","5cndyft8","sp6tna8v","47z3ytva","2r16ez41","4cz4b6ef","t0n6h2rn","wbp1cdws","xbh5bhtr","v17df7b8","anwybnkn","44ez96fc","5e7jev23","s890b918","b7jxnhq1","q99sy9rf","nbyxee1y","15g3n6xv","b27vq81n"],[["./iframe-entry.js"],["./chunks/tree-a73p0pqm.js"],["./chunks/tooltip-eptb614w.js",23],["./chunks/textfield-abk6qyee.js"],["./chunks/toast-780pvfbv.js",24],["./chunks/toast-host-3sqv46sn.js",24],["./chunks/color-xgg3kfw7.js",25],["./chunks/icons-drxq9q10.js"],["./chunks/number-field-5cndyft8.js"],["./chunks/action-group-sp6tna8v.js"],["./chunks/popover-47z3ytva.js",23],["./chunks/select-2r16ez41.js"],["./chunks/split-4cz4b6ef.js"],["./chunks/swatch-group-t0n6h2rn.js"],["./chunks/tabs-wbp1cdws.js"],["./chunks/toolbar-xbh5bhtr.js"],["./chunks/color-area-v17df7b8.js",25],["./chunks/color-field-anwybnkn.js",25,23],["./chunks/color-slider-44ez96fc.js",25],["./chunks/combobox-5e7jev23.js",23],["./chunks/dialog-s890b918.js"],["./chunks/listbox-b7jxnhq1.js"],["./chunks/menu-q99sy9rf.js",23],["./chunks/iframe-entry-nbyxee1y.js"],["./chunks/iframe-entry-15g3n6xv.js"],["./chunks/iframe-entry-b27vq81n.js"]],0);
32
32
 
33
33
  // src/canvas/iframe-channel.ts
34
34
  var ENVELOPE = "jx:canvas";
@@ -3596,16 +3596,10 @@ function sheetStateFor(doc) {
3596
3596
  var elementStyles = new WeakMap;
3597
3597
  var SCOPE_TOKEN = "\x01jx-scope\x01";
3598
3598
  function rewriteScratch(state) {
3599
- if (!state.scratch) {
3600
- return;
3601
- }
3602
3599
  state.scratch.replaceAll([...state.scratchOwners.values()].flat());
3603
3600
  }
3604
3601
  function releaseInterned(state, table, key) {
3605
3602
  const entry = table.get(key);
3606
- if (!entry) {
3607
- return;
3608
- }
3609
3603
  entry.refs -= 1;
3610
3604
  if (entry.refs <= 0) {
3611
3605
  table.delete(key);
@@ -4256,9 +4250,6 @@ async function importAndInstantiate(def, src, exportName, base) {
4256
4250
  }
4257
4251
  async function resolveClassJson(def, state, key, base) {
4258
4252
  const src = def.$src;
4259
- if (!src) {
4260
- throw new Error(`Jx: class entry '${key}' has no $src`);
4261
- }
4262
4253
  let classDef;
4263
4254
  const isBareSpecifier = !src.startsWith(".") && !src.startsWith("/") && !src.startsWith("http") && !src.startsWith("file:");
4264
4255
  if (isBareSpecifier) {
@@ -8715,7 +8706,7 @@ function startKeyForwarding(channel, doc = document, isSessionLive = () => false
8715
8706
  return () => doc.removeEventListener("keydown", onKey, true);
8716
8707
  }
8717
8708
 
8718
- // ../collab/src/ops.ts
8709
+ // ../schema/src/doc-ops.ts
8719
8710
  function jsonClone(value) {
8720
8711
  return JSON.parse(JSON.stringify(value));
8721
8712
  }
@@ -8775,16 +8766,27 @@ function applyDocOpToDoc(doc, op) {
8775
8766
  return;
8776
8767
  }
8777
8768
  case "move-child": {
8769
+ assertNotIntoOwnSubtree(op);
8778
8770
  const fromParent = getNodeAtPath2(doc, op.fromParentPath);
8779
8771
  const toParent = getNodeAtPath2(doc, op.toParentPath);
8780
- const [node] = childArray(fromParent).splice(op.fromIndex, 1);
8781
- childArray(toParent).splice(op.toIndex, 0, node);
8772
+ const from = childArray(fromParent);
8773
+ const to = childArray(toParent);
8774
+ const [node] = from.splice(op.fromIndex, 1);
8775
+ to.splice(op.toIndex, 0, node);
8782
8776
  return;
8783
8777
  }
8784
8778
  default: {
8785
- throw new Error(`unknown-doc-op:${op.op}`);
8779
+ break;
8786
8780
  }
8787
8781
  }
8782
+ throw new Error(`unknown-doc-op:${op.op}`);
8783
+ }
8784
+ function assertNotIntoOwnSubtree(op) {
8785
+ const moved = [...op.fromParentPath, "children", op.fromIndex];
8786
+ const target = op.toParentPath;
8787
+ if (target.length >= moved.length && moved.every((seg, i) => seg === target[i])) {
8788
+ throw new Error(`doc-op-move-into-self:${target.join("/")}`);
8789
+ }
8788
8790
  }
8789
8791
  // src/utils/strip-events.ts
8790
8792
  function stripEventHandlers(node) {
@@ -9233,13 +9235,13 @@ var KIT_LOADERS = {
9233
9235
  "jx-ui:/behaviors/color-slider.ts": () => (__preload("44ez96fc"), import("./chunks/color-slider-44ez96fc.js")),
9234
9236
  "jx-ui:/behaviors/combobox.ts": () => (__preload("5e7jev23"), import("./chunks/combobox-5e7jev23.js")),
9235
9237
  "jx-ui:/behaviors/dialog.ts": () => (__preload("s890b918"), import("./chunks/dialog-s890b918.js")),
9236
- "jx-ui:/behaviors/listbox.ts": () => (__preload("6v2ac08j"), import("./chunks/listbox-6v2ac08j.js")),
9238
+ "jx-ui:/behaviors/listbox.ts": () => (__preload("b7jxnhq1"), import("./chunks/listbox-b7jxnhq1.js")),
9237
9239
  "jx-ui:/behaviors/menu.ts": () => (__preload("q99sy9rf"), import("./chunks/menu-q99sy9rf.js")),
9238
9240
  "jx-ui:/behaviors/number-field.ts": () => (__preload("5cndyft8"), import("./chunks/number-field-5cndyft8.js")),
9239
9241
  "jx-ui:/behaviors/action-group.ts": () => (__preload("sp6tna8v"), import("./chunks/action-group-sp6tna8v.js")),
9240
9242
  "jx-ui:/behaviors/popover.ts": () => (__preload("47z3ytva"), import("./chunks/popover-47z3ytva.js")),
9241
9243
  "jx-ui:/behaviors/select.ts": () => (__preload("2r16ez41"), import("./chunks/select-2r16ez41.js")),
9242
- "jx-ui:/behaviors/split.ts": () => (__preload("g7nm1rgb"), import("./chunks/split-g7nm1rgb.js")),
9244
+ "jx-ui:/behaviors/split.ts": () => (__preload("4cz4b6ef"), import("./chunks/split-4cz4b6ef.js")),
9243
9245
  "jx-ui:/behaviors/swatch-group.ts": () => (__preload("t0n6h2rn"), import("./chunks/swatch-group-t0n6h2rn.js")),
9244
9246
  "jx-ui:/behaviors/tabs.ts": () => (__preload("wbp1cdws"), import("./chunks/tabs-wbp1cdws.js")),
9245
9247
  "jx-ui:/behaviors/toolbar.ts": () => (__preload("xbh5bhtr"), import("./chunks/toolbar-xbh5bhtr.js")),
@@ -9249,7 +9251,7 @@ var KIT_LOADERS = {
9249
9251
  "jx-ui:/behaviors/toast.ts": () => (__preload("780pvfbv"), import("./chunks/toast-780pvfbv.js")),
9250
9252
  "jx-ui:/behaviors/toast-host.ts": () => (__preload("3sqv46sn"), import("./chunks/toast-host-3sqv46sn.js")),
9251
9253
  "jx-ui:/color.ts": () => (__preload("xgg3kfw7"), import("./chunks/color-xgg3kfw7.js")),
9252
- "jx-ui:/icons.ts": () => (__preload("yy10wk9r"), import("./chunks/icons-yy10wk9r.js"))
9254
+ "jx-ui:/icons.ts": () => (__preload("drxq9q10"), import("./chunks/icons-drxq9q10.js"))
9253
9255
  };
9254
9256
 
9255
9257
  // src/services/bundle-base.ts
@@ -9869,5 +9871,5 @@ export {
9869
9871
  startCanvasIframe
9870
9872
  };
9871
9873
 
9872
- //# debugId=79BB51FCC1FC2ADA64756E2164756E21
9874
+ //# debugId=A60A5238CEBCDC8B64756E2164756E21
9873
9875
  //# sourceMappingURL=iframe-entry.js.map