@jxsuite/studio 6.0.0 → 6.1.1

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 (208) hide show
  1. package/dist/chunks/2020-va2wwra4.js +4 -0
  2. package/dist/chunks/adapter-f93pafd7.js +4 -0
  3. package/dist/chunks/{cf-account-picker-bb2yq946.js → cf-account-picker-af1h381v.js} +3 -3
  4. package/dist/chunks/cf-settings-125tdm0w.js +4 -0
  5. package/dist/chunks/components-ax2f1fnn.js +4 -0
  6. package/dist/chunks/content-source-108aqtk1.js +4 -0
  7. package/dist/chunks/{convert-to-repeater-vqkt7s3s.js → convert-to-repeater-ry5rmppr.js} +3 -3
  8. package/dist/chunks/editor-pfgdmkb0.js +4 -0
  9. package/dist/chunks/entry-commands-t0k1q0kx.js +4 -0
  10. package/dist/chunks/{extension-sections-8beq9ac3.js → extension-sections-6mwh2hf8.js} +3 -3
  11. package/dist/chunks/file-ops-meej5mqf.js +4 -0
  12. package/dist/chunks/files-44vp8a2s.js +4 -0
  13. package/dist/chunks/format-host-7q1petb9.js +4 -0
  14. package/dist/chunks/fs-events-h2mwnxaz.js +4 -0
  15. package/dist/chunks/git-panel-zngbymvd.js +4 -0
  16. package/dist/chunks/{grid-view-ca10def6.js → grid-view-sx9vynsp.js} +15 -15
  17. package/dist/chunks/icons-p44xhjf0.js +4 -0
  18. package/dist/chunks/iframe-host-qk3ycq87.js +4 -0
  19. package/dist/chunks/{index-9ydfe04y.js → index-2veqmnhr.js} +3 -3
  20. package/dist/chunks/index-wkyfjeqz.js +4 -0
  21. package/dist/chunks/{javascript-d9pqgc2p.js → javascript-8nbvs12s.js} +3 -3
  22. package/dist/chunks/jsonMode-s8kt9dsj.js +13 -0
  23. package/dist/chunks/jx-validate-psgd7vsx.js +4 -0
  24. package/dist/chunks/layers-panel-1kq2jyfk.js +4 -0
  25. package/dist/chunks/layers-xd92fg8d.js +4 -0
  26. package/dist/chunks/lit-html-ac4cwwr4.js +4 -0
  27. package/dist/chunks/media-picker-0svzkdyb.js +4 -0
  28. package/dist/chunks/menu-5c55ea3d.js +4 -0
  29. package/dist/chunks/{monaco-binding-62dtmgbf.js → monaco-binding-z6r70pdt.js} +3 -3
  30. package/dist/chunks/monaco-buffer-fz6gq5y7.js +4 -0
  31. package/dist/chunks/monaco-setup-q4axkgj7.js +4 -0
  32. package/dist/chunks/notify-0xgtn8q1.js +4 -0
  33. package/dist/chunks/platform-v1qctbe6.js +4 -0
  34. package/dist/chunks/publish-panel-ym1fmgq5.js +4 -0
  35. package/dist/chunks/quick-search-a54e6t5n.js +4 -0
  36. package/dist/chunks/references-gmqp82fs.js +4 -0
  37. package/dist/chunks/right-panel-v7t9awbk.js +4 -0
  38. package/dist/chunks/section-registry-vhyf3zsr.js +4 -0
  39. package/dist/chunks/studio-0bhx5hz6.js +5 -0
  40. package/dist/chunks/studio-0k1ddnyy.js +6 -0
  41. package/dist/chunks/studio-1b04pd0j.js +64 -0
  42. package/dist/chunks/{studio-sxc0zvpt.js → studio-1q1sh2ax.js} +3 -3
  43. package/dist/chunks/studio-4dwbj6gb.js +5 -0
  44. package/dist/chunks/studio-4tanh828.js +5 -0
  45. package/dist/chunks/{studio-fqq890ap.js → studio-55h4mstj.js} +3 -3
  46. package/dist/chunks/studio-5tnvjkz4.js +5 -0
  47. package/dist/chunks/studio-60dqgb0c.js +5 -0
  48. package/dist/chunks/studio-61dp09qg.js +9 -0
  49. package/dist/chunks/studio-63epcrj2.js +5 -0
  50. package/dist/chunks/studio-74k29dy9.js +5 -0
  51. package/dist/chunks/{studio-qa73881a.js → studio-7vg6jcd3.js} +4 -4
  52. package/dist/chunks/studio-7zx31knw.js +9 -0
  53. package/dist/chunks/studio-8bxk97km.js +5 -0
  54. package/dist/chunks/{studio-edbtvcd1.js → studio-8grwxtqk.js} +4 -4
  55. package/dist/chunks/studio-933e30n4.js +5 -0
  56. package/dist/chunks/{studio-rr4xkv81.js → studio-98wnwhbg.js} +4 -4
  57. package/dist/chunks/studio-9mccjwjh.js +14 -0
  58. package/dist/chunks/studio-a2ke1e4t.js +5 -0
  59. package/dist/chunks/studio-e3a2a6v3.js +4 -0
  60. package/dist/chunks/{studio-pwqfmt4p.js → studio-e81q1vb9.js} +4 -4
  61. package/dist/chunks/{studio-7pgy3xaf.js → studio-epgrmqqm.js} +4 -4
  62. package/dist/chunks/studio-g1shz58g.js +5 -0
  63. package/dist/chunks/studio-gf0fz03c.js +5 -0
  64. package/dist/chunks/studio-gjtpe62q.js +6 -0
  65. package/dist/chunks/{studio-tzegmy4w.js → studio-gkskhg7m.js} +4 -4
  66. package/dist/chunks/studio-gx4dnjzd.js +5 -0
  67. package/dist/chunks/{studio-8xcwewjq.js → studio-h46vtzk8.js} +4 -4
  68. package/dist/chunks/studio-j03zga3y.js +9 -0
  69. package/dist/chunks/{studio-4r0sjtx8.js → studio-jhpxeckz.js} +4 -4
  70. package/dist/chunks/{studio-zd4kayn2.js → studio-k01r7ykp.js} +4 -4
  71. package/dist/chunks/{studio-03wwfvyt.js → studio-kggey1jt.js} +4 -4
  72. package/dist/chunks/{studio-hnvnfbdv.js → studio-kk7h30ne.js} +6 -6
  73. package/dist/chunks/{studio-01qza1n3.js → studio-kt1zqney.js} +4 -4
  74. package/dist/chunks/{studio-r3kaka4d.js → studio-m3cwhvye.js} +4 -4
  75. package/dist/chunks/{studio-evwgp1ym.js → studio-mcayt6hz.js} +4 -4
  76. package/dist/chunks/{studio-5vy2wfm5.js → studio-myjcghv3.js} +4 -4
  77. package/dist/chunks/studio-n8bxwc3y.js +4 -0
  78. package/dist/chunks/{studio-ztvcxm3w.js → studio-ngm8gvpb.js} +4 -4
  79. package/dist/chunks/{studio-01kbbqg3.js → studio-nj5a01jy.js} +196 -196
  80. package/dist/chunks/{studio-xkfs0dp2.js → studio-pcgz8heb.js} +4 -4
  81. package/dist/chunks/{studio-0bbxhhce.js → studio-pre0skq6.js} +4 -4
  82. package/dist/chunks/{studio-n78gjfy8.js → studio-qcsq0t15.js} +4 -4
  83. package/dist/chunks/studio-qkstvve9.js +5 -0
  84. package/dist/chunks/studio-qv1pwd3c.js +5 -0
  85. package/dist/chunks/{studio-rmn2dz59.js → studio-rc6dvxjb.js} +5 -5
  86. package/dist/chunks/{studio-st75kn99.js → studio-rv11kfwa.js} +7 -7
  87. package/dist/chunks/studio-s8dmmz66.js +5 -0
  88. package/dist/chunks/studio-sp5xzbj4.js +6 -0
  89. package/dist/chunks/{studio-tmeq6mjb.js → studio-szsjbj0g.js} +4 -4
  90. package/dist/chunks/studio-t1xzawhr.js +16 -0
  91. package/dist/chunks/{studio-mk00zd5d.js → studio-t6b6qe31.js} +4 -4
  92. package/dist/chunks/{studio-bftp4n4b.js → studio-tdcprbqb.js} +4 -4
  93. package/dist/chunks/{studio-ge5fqjth.js → studio-vrmcjf9g.js} +5 -5
  94. package/dist/chunks/studio-vyc0b4he.js +10 -0
  95. package/dist/chunks/{studio-semd1s8s.js → studio-w0cgf6jg.js} +4 -4
  96. package/dist/chunks/{studio-gp02nqnw.js → studio-w3hskzqk.js} +4 -4
  97. package/dist/chunks/{studio-1wvfxkyy.js → studio-wszjyh0j.js} +4 -4
  98. package/dist/chunks/studio-xgrgcdyh.js +9 -0
  99. package/dist/chunks/{studio-y7jehjrp.js → studio-xz2yxfcb.js} +4 -4
  100. package/dist/chunks/{studio-aje966s9.js → studio-y6n42tgs.js} +4 -4
  101. package/dist/chunks/{studio-yr04mv2j.js → studio-yb560vxr.js} +4 -4
  102. package/dist/chunks/{studio-tp642n5g.js → studio-yn9f8vtx.js} +4 -4
  103. package/dist/chunks/studio-yw05w8f0.js +7 -0
  104. package/dist/chunks/{studio-cbr9czkn.js → studio-z16sgavc.js} +4 -4
  105. package/dist/chunks/studio-zey7zsdw.js +12 -0
  106. package/dist/chunks/{studio-1q6amtph.js → studio-zyqn40w4.js} +4 -4
  107. package/dist/chunks/tsMode-2frah6h1.js +14 -0
  108. package/dist/chunks/workspace-zt81g1ms.js +4 -0
  109. package/dist/chunks/ws-client-n2bh4hkf.js +4 -0
  110. package/dist/iframe-entry.js +13 -13
  111. package/dist/manifest.json +62 -62
  112. package/dist/studio.js +87 -87
  113. package/dist/workers/ts.worker.js +3 -3
  114. package/package.json +10 -10
  115. package/src/canvas/canvas-render.ts +4 -1
  116. package/src/canvas/canvas-utils.ts +73 -15
  117. package/src/canvas/iframe-host.ts +67 -21
  118. package/src/canvas/iframe-inline-edit.ts +22 -4
  119. package/src/canvas/iframe-interaction.ts +7 -1
  120. package/src/canvas/iframe-protocol.ts +3 -0
  121. package/src/canvas/iframe-render.ts +5 -2
  122. package/src/commands/defaults.ts +4 -1
  123. package/src/commands/live-context.ts +3 -1
  124. package/src/editor/shortcuts.ts +55 -27
  125. package/src/files/media-paths.ts +3 -1
  126. package/src/new-project/add-repo-modal.ts +459 -59
  127. package/src/panels/editors.ts +3 -1
  128. package/src/panels/style-panel.ts +36 -11
  129. package/src/platforms/cloud.ts +95 -18
  130. package/src/platforms/devserver.ts +47 -12
  131. package/src/publish/pages-service.ts +7 -0
  132. package/src/publish/publish-panel.ts +16 -2
  133. package/src/studio.ts +14 -2
  134. package/src/surfaces/add-repo.json +721 -224
  135. package/src/surfaces/add-repo.ts +196 -31
  136. package/src/surfaces/library-pane.ts +6 -0
  137. package/src/surfaces/rail.json +126 -73
  138. package/src/surfaces/rail.ts +31 -5
  139. package/src/tabs/typing.ts +31 -0
  140. package/src/types.ts +42 -3
  141. package/src/utils/edit-display.ts +30 -1
  142. package/src/utils/project-dir.ts +24 -0
  143. package/src/workspace/workspace.ts +7 -0
  144. package/dist/chunks/2020-cs2sb9t1.js +0 -4
  145. package/dist/chunks/adapter-y5gdq19c.js +0 -4
  146. package/dist/chunks/cf-settings-20dznc3j.js +0 -4
  147. package/dist/chunks/components-q037dya7.js +0 -4
  148. package/dist/chunks/content-source-t0q184js.js +0 -4
  149. package/dist/chunks/editor-j5sq149q.js +0 -4
  150. package/dist/chunks/entry-commands-fxzgcc4k.js +0 -4
  151. package/dist/chunks/file-ops-2n77759h.js +0 -4
  152. package/dist/chunks/files-fjy7zpxt.js +0 -4
  153. package/dist/chunks/format-host-wj3mf3n8.js +0 -4
  154. package/dist/chunks/fs-events-7kcgn4e9.js +0 -4
  155. package/dist/chunks/git-panel-7z2mpt2d.js +0 -4
  156. package/dist/chunks/icons-qbh8akb1.js +0 -4
  157. package/dist/chunks/iframe-host-a0zjd6xp.js +0 -4
  158. package/dist/chunks/index-m0x5ztax.js +0 -4
  159. package/dist/chunks/jsonMode-800yvbem.js +0 -13
  160. package/dist/chunks/jx-validate-zc9zp77s.js +0 -4
  161. package/dist/chunks/layers-p677nrh5.js +0 -4
  162. package/dist/chunks/layers-panel-y4w1dq90.js +0 -4
  163. package/dist/chunks/lit-html-cfn61dn7.js +0 -4
  164. package/dist/chunks/media-picker-xg7yjpz9.js +0 -4
  165. package/dist/chunks/menu-fpekzj6w.js +0 -4
  166. package/dist/chunks/monaco-buffer-nn4dtx27.js +0 -4
  167. package/dist/chunks/monaco-setup-tj13ndtm.js +0 -4
  168. package/dist/chunks/notify-ahs57a2z.js +0 -4
  169. package/dist/chunks/platform-v9xyfkbx.js +0 -4
  170. package/dist/chunks/publish-panel-xtbfgg2r.js +0 -4
  171. package/dist/chunks/quick-search-d3a6m7j3.js +0 -4
  172. package/dist/chunks/references-99ws0b0m.js +0 -4
  173. package/dist/chunks/right-panel-31vbk5xp.js +0 -4
  174. package/dist/chunks/section-registry-b2yzp9sw.js +0 -4
  175. package/dist/chunks/studio-1a99w39s.js +0 -5
  176. package/dist/chunks/studio-3ck2a5c4.js +0 -10
  177. package/dist/chunks/studio-4fde4a0x.js +0 -5
  178. package/dist/chunks/studio-4jj9gme2.js +0 -6
  179. package/dist/chunks/studio-4m50vh74.js +0 -16
  180. package/dist/chunks/studio-4xppwncr.js +0 -4
  181. package/dist/chunks/studio-5d7wfmnp.js +0 -5
  182. package/dist/chunks/studio-5e9zsamh.js +0 -9
  183. package/dist/chunks/studio-5gs9th4b.js +0 -5
  184. package/dist/chunks/studio-7qvs7v0m.js +0 -5
  185. package/dist/chunks/studio-84rtc120.js +0 -5
  186. package/dist/chunks/studio-aekhcdzw.js +0 -7
  187. package/dist/chunks/studio-aqmph6k4.js +0 -5
  188. package/dist/chunks/studio-c6zdm25z.js +0 -9
  189. package/dist/chunks/studio-capk0583.js +0 -9
  190. package/dist/chunks/studio-chdmwwzw.js +0 -5
  191. package/dist/chunks/studio-cp1gbff9.js +0 -14
  192. package/dist/chunks/studio-cqmtbg2p.js +0 -5
  193. package/dist/chunks/studio-e47215hh.js +0 -5
  194. package/dist/chunks/studio-fbx6twps.js +0 -6
  195. package/dist/chunks/studio-fthwn4kf.js +0 -5
  196. package/dist/chunks/studio-g8dsj3d2.js +0 -6
  197. package/dist/chunks/studio-gjknvzam.js +0 -9
  198. package/dist/chunks/studio-hjbg8d5y.js +0 -12
  199. package/dist/chunks/studio-nbxqcgvf.js +0 -5
  200. package/dist/chunks/studio-t1eedsyx.js +0 -4
  201. package/dist/chunks/studio-vavmwshr.js +0 -5
  202. package/dist/chunks/studio-x5g1xk77.js +0 -5
  203. package/dist/chunks/studio-x92tgnee.js +0 -64
  204. package/dist/chunks/studio-xg1942as.js +0 -5
  205. package/dist/chunks/studio-zev8ssp1.js +0 -5
  206. package/dist/chunks/tsMode-k9s9fcag.js +0 -14
  207. package/dist/chunks/workspace-5vmgsagj.js +0 -4
  208. package/dist/chunks/ws-client-0ja08haa.js +0 -4
@@ -0,0 +1,4 @@
1
+ import{Dt,on,Pl,Mf,Yg,Ff,iw,_0,S0,C0,k0,E0,T0,L0,R0,$0}from"./studio-zey7zsdw.js";import{ae}from"./studio-pre0skq6.js";var O=ae(function(k){Object.defineProperty(k,"__esModule",{value:!0});k.dynamicAnchor=void 0;var y=Dt(),Pe=Pl(),g=iw(),N=S0(),Re={keyword:"$dynamicAnchor",schemaType:"string",code:(e)=>T(e,e.schema)};function T(e,t){let{gen:r,it:o}=e;o.schemaEnv.root.dynamicAnchors[t]=!0;let n=y._`${Pe.default.dynamicAnchors}${y.getProperty(t)}`,s=o.errSchemaPath==="#"?o.validateName:Ae(e);r.if(y._`!${n}`,()=>r.assign(n,s))}k.dynamicAnchor=T;function Ae(e){let{schemaEnv:t,schema:r,self:o}=e.it,{root:n,baseId:s,localRefs:l,meta:d}=t.root,{schemaId:a}=o.opts,f=new g.SchemaEnv({schema:r,schemaId:a,root:n,baseId:s,localRefs:l,meta:d});return g.compileSchema.call(o,f),N.getValidate(e,f)}k.default=Re});var M=ae(function(V){Object.defineProperty(V,"__esModule",{value:!0});V.dynamicRef=void 0;var v=Dt(),Me=Pl(),_=S0(),Se={keyword:"$dynamicRef",schemaType:"string",code:(e)=>C(e,e.schema)};function C(e,t){let{gen:r,keyword:o,it:n}=e;if(t[0]!=="#")throw Error(`"${o}" only supports hash fragment reference`);let s=t.slice(1);if(n.allErrors)l();else{let a=r.let("valid",!1);l(a),e.ok(a)}function l(a){if(n.schemaEnv.root.dynamicAnchors[s]){let f=r.let("_v",v._`${Me.default.dynamicAnchors}${v.getProperty(s)}`);r.if(f,d(f,a),d(n.validateName,a))}else d(n.validateName,a)()}function d(a,f){return f?()=>r.block(()=>{_.callRef(e,a),r.let(f,!0)}):()=>_.callRef(e,a)}}V.dynamicRef=C;V.default=Se});var L=ae(function(z){Object.defineProperty(z,"__esModule",{value:!0});var K=O(),G=on(),Ie={keyword:"$recursiveAnchor",schemaType:"boolean",code(e){if(e.schema)K.dynamicAnchor(e,"");else G.checkStrictMode(e.it,"$recursiveAnchor: false is ignored")}};z.default=Ie});var F=ae(function(Z){Object.defineProperty(Z,"__esModule",{value:!0});var U=M(),Ne={keyword:"$recursiveRef",schemaType:"string",code:(e)=>U.dynamicRef(e,e.schema)};Z.default=Ne});var B=ae(function(H){Object.defineProperty(H,"__esModule",{value:!0});var ke=O(),Ee=M(),Ce=L(),Ve=F(),De=[ke.default,Ee.default,Ce.default,Ve.default];H.default=De});var Q=ae(function(J){Object.defineProperty(J,"__esModule",{value:!0});var j=E0(),Ge={keyword:"dependentRequired",type:"object",schemaType:"object",error:j.error,code:(e)=>j.validatePropertyDeps(e)};J.default=Ge});var Y=ae(function(X){Object.defineProperty(X,"__esModule",{value:!0});var W=E0(),Le={keyword:"dependentSchemas",type:"object",schemaType:"object",code:(e)=>W.validateSchemaDeps(e)};X.default=Le});var re=ae(function(te){Object.defineProperty(te,"__esModule",{value:!0});var ee=on(),Ze={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:e,parentSchema:t,it:r}){if(t.contains===void 0)ee.checkStrictMode(r,`"${e}" without "contains" is ignored`)}};te.default=Ze});var oe=ae(function(ne){Object.defineProperty(ne,"__esModule",{value:!0});var He=Q(),Be=Y(),Je=re(),Qe=[He.default,Be.default,Je.default];ne.default=Qe});var ie=ae(function(se){Object.defineProperty(se,"__esModule",{value:!0});var i=Dt(),q=on(),Xe=Pl(),Ye={message:"must NOT have unevaluated properties",params:({params:e})=>i._`{unevaluatedProperty: ${e.unevaluatedProperty}}`},et={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:Ye,code(e){let{gen:t,schema:r,data:o,errsCount:n,it:s}=e;if(!n)throw Error("ajv implementation error");let{allErrors:l,props:d}=s;if(d instanceof i.Name)t.if(i._`${d} !== true`,()=>t.forIn("key",o,(c)=>t.if(f(d,c),()=>a(c))));else if(d!==!0)t.forIn("key",o,(c)=>d===void 0?a(c):t.if(A(d,c),()=>a(c)));s.props=!0,e.ok(i._`${n} === ${Xe.default.errors}`);function a(c){if(r===!1){if(e.setParams({unevaluatedProperty:c}),e.error(),!l)t.break();return}if(!q.alwaysValidSchema(s,r)){let p=t.name("valid");if(e.subschema({keyword:"unevaluatedProperties",dataProp:c,dataPropType:q.Type.Str},p),!l)t.if(i.not(p),()=>t.break())}}function f(c,p){return i._`!${c} || !${c}[${p}]`}function A(c,p){let I=[];for(let w in c)if(c[w]===!0)I.push(i._`${p} !== ${w}`);return i.and(...I)}}};se.default=et});var de=ae(function(ce){Object.defineProperty(ce,"__esModule",{value:!0});var u=Dt(),P=on(),rt={message:({params:{len:e}})=>u.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>u._`{limit: ${e}}`},at={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:rt,code(e){let{gen:t,schema:r,data:o,it:n}=e,s=n.items||0;if(s===!0)return;let l=t.const("len",u._`${o}.length`);if(r===!1)e.setParams({len:s}),e.fail(u._`${l} > ${s}`);else if(typeof r=="object"&&!P.alwaysValidSchema(n,r)){let a=t.var("valid",u._`${l} <= ${s}`);t.if(u.not(a),()=>d(a,s)),e.ok(a)}n.items=!0;function d(a,f){t.forRange("i",f,l,(A)=>{if(e.subschema({keyword:"unevaluatedItems",dataProp:A,dataPropType:P.Type.Num},a),!n.allErrors)t.if(u.not(a),()=>t.break())})}}};ce.default=at});var me=ae(function(ue){Object.defineProperty(ue,"__esModule",{value:!0});var ot=ie(),st=de(),it=[ot.default,st.default];ue.default=it});var le=ae(function(fe){Object.defineProperty(fe,"__esModule",{value:!0});var dt=C0(),ut=k0(),mt=T0(),ft=B(),lt=oe(),pt=me(),yt=L0(),R=R0(),ht=[ft.default,dt.default,ut.default,(0,mt.default)(!0),yt.default,R.metadataVocabulary,R.contentVocabulary,lt.default,pt.default];fe.default=ht});var pe=ae(function(ir,bt){bt.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/schema",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/core":!0,"https://json-schema.org/draft/2020-12/vocab/applicator":!0,"https://json-schema.org/draft/2020-12/vocab/unevaluated":!0,"https://json-schema.org/draft/2020-12/vocab/validation":!0,"https://json-schema.org/draft/2020-12/vocab/meta-data":!0,"https://json-schema.org/draft/2020-12/vocab/format-annotation":!0,"https://json-schema.org/draft/2020-12/vocab/content":!0},$dynamicAnchor:"meta",title:"Core and Validation specifications meta-schema",allOf:[{$ref:"meta/core"},{$ref:"meta/applicator"},{$ref:"meta/unevaluated"},{$ref:"meta/validation"},{$ref:"meta/meta-data"},{$ref:"meta/format-annotation"},{$ref:"meta/content"}],type:["object","boolean"],$comment:"This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.",properties:{definitions:{$comment:'"definitions" has been replaced by "$defs".',type:"object",additionalProperties:{$dynamicRef:"#meta"},deprecated:!0,default:{}},dependencies:{$comment:'"dependencies" has been split and replaced by "dependentSchemas" and "dependentRequired" in order to serve their differing semantics.',type:"object",additionalProperties:{anyOf:[{$dynamicRef:"#meta"},{$ref:"meta/validation#/$defs/stringArray"}]},deprecated:!0,default:{}},$recursiveAnchor:{$comment:'"$recursiveAnchor" has been replaced by "$dynamicAnchor".',$ref:"meta/core#/$defs/anchorString",deprecated:!0},$recursiveRef:{$comment:'"$recursiveRef" has been replaced by "$dynamicRef".',$ref:"meta/core#/$defs/uriReferenceString",deprecated:!0}}}});var ye=ae(function(cr,gt){gt.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/applicator",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/applicator":!0},$dynamicAnchor:"meta",title:"Applicator vocabulary meta-schema",type:["object","boolean"],properties:{prefixItems:{$ref:"#/$defs/schemaArray"},items:{$dynamicRef:"#meta"},contains:{$dynamicRef:"#meta"},additionalProperties:{$dynamicRef:"#meta"},properties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},patternProperties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},propertyNames:{$dynamicRef:"#meta"},if:{$dynamicRef:"#meta"},then:{$dynamicRef:"#meta"},else:{$dynamicRef:"#meta"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$dynamicRef:"#meta"}},$defs:{schemaArray:{type:"array",minItems:1,items:{$dynamicRef:"#meta"}}}}});var he=ae(function(dr,vt){vt.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/unevaluated",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/unevaluated":!0},$dynamicAnchor:"meta",title:"Unevaluated applicator vocabulary meta-schema",type:["object","boolean"],properties:{unevaluatedItems:{$dynamicRef:"#meta"},unevaluatedProperties:{$dynamicRef:"#meta"}}}});var $e=ae(function(ur,_t){_t.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/content",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/content":!0},$dynamicAnchor:"meta",title:"Content vocabulary meta-schema",type:["object","boolean"],properties:{contentEncoding:{type:"string"},contentMediaType:{type:"string"},contentSchema:{$dynamicRef:"#meta"}}}});var be=ae(function(mr,jt){jt.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/core",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/core":!0},$dynamicAnchor:"meta",title:"Core vocabulary meta-schema",type:["object","boolean"],properties:{$id:{$ref:"#/$defs/uriReferenceString",$comment:"Non-empty fragments not allowed.",pattern:"^[^#]*#?$"},$schema:{$ref:"#/$defs/uriString"},$ref:{$ref:"#/$defs/uriReferenceString"},$anchor:{$ref:"#/$defs/anchorString"},$dynamicRef:{$ref:"#/$defs/uriReferenceString"},$dynamicAnchor:{$ref:"#/$defs/anchorString"},$vocabulary:{type:"object",propertyNames:{$ref:"#/$defs/uriString"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$dynamicRef:"#meta"}}},$defs:{anchorString:{type:"string",pattern:"^[A-Za-z_][-A-Za-z0-9._]*$"},uriString:{type:"string",format:"uri"},uriReferenceString:{type:"string",format:"uri-reference"}}}});var ge=ae(function(fr,qt){qt.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/format-annotation",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/format-annotation":!0},$dynamicAnchor:"meta",title:"Format vocabulary meta-schema for annotation results",type:["object","boolean"],properties:{format:{type:"string"}}}});var ve=ae(function(lr,Pt){Pt.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/meta-data",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/meta-data":!0},$dynamicAnchor:"meta",title:"Meta-data vocabulary meta-schema",type:["object","boolean"],properties:{title:{type:"string"},description:{type:"string"},default:!0,deprecated:{type:"boolean",default:!1},readOnly:{type:"boolean",default:!1},writeOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0}}}});var _e=ae(function(pr,Rt){Rt.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/validation",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/validation":!0},$dynamicAnchor:"meta",title:"Validation vocabulary meta-schema",type:["object","boolean"],properties:{type:{anyOf:[{$ref:"#/$defs/simpleTypes"},{type:"array",items:{$ref:"#/$defs/simpleTypes"},minItems:1,uniqueItems:!0}]},const:!0,enum:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/$defs/nonNegativeInteger"},minLength:{$ref:"#/$defs/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},maxItems:{$ref:"#/$defs/nonNegativeInteger"},minItems:{$ref:"#/$defs/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}}},$defs:{nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{$ref:"#/$defs/nonNegativeInteger",default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}}}});var qe=ae(function(je){Object.defineProperty(je,"__esModule",{value:!0});var At=pe(),Ot=ye(),Mt=he(),St=$e(),xt=be(),It=ge(),wt=ve(),Nt=_e(),Tt=["/properties"];function kt(e){return[At,Ot,Mt,St,xt,t(this,It),wt,t(this,Nt)].forEach((r)=>this.addMetaSchema(r,void 0,!1)),this;function t(r,o){return e?r.$dataMetaSchema(o,Tt):o}}je.default=kt});var Ht=ae(function(m,x){Object.defineProperty(m,"__esModule",{value:!0});m.MissingRefError=m.ValidationError=m.CodeGen=m.Name=m.nil=m.stringify=m.str=m._=m.KeywordCxt=m.Ajv2020=void 0;var Ct=_0(),Vt=le(),Kt=$0(),Gt=qe(),S="https://json-schema.org/draft/2020-12/schema";class b extends Ct.default{constructor(e={}){super({...e,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){if(super._addVocabularies(),Vt.default.forEach((e)=>this.addVocabulary(e)),this.opts.discriminator)this.addKeyword(Kt.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:e,meta:t}=this.opts;if(!t)return;Gt.default.call(this,e),this.refs["http://json-schema.org/schema"]=S}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(S)?S:void 0)}}m.Ajv2020=b;x.exports=m=b;x.exports.Ajv2020=b;Object.defineProperty(m,"__esModule",{value:!0});m.default=b;var zt=Mf();Object.defineProperty(m,"KeywordCxt",{enumerable:!0,get:function(){return zt.KeywordCxt}});var h=Dt();Object.defineProperty(m,"_",{enumerable:!0,get:function(){return h._}});Object.defineProperty(m,"str",{enumerable:!0,get:function(){return h.str}});Object.defineProperty(m,"stringify",{enumerable:!0,get:function(){return h.stringify}});Object.defineProperty(m,"nil",{enumerable:!0,get:function(){return h.nil}});Object.defineProperty(m,"Name",{enumerable:!0,get:function(){return h.Name}});Object.defineProperty(m,"CodeGen",{enumerable:!0,get:function(){return h.CodeGen}});var Lt=Yg();Object.defineProperty(m,"ValidationError",{enumerable:!0,get:function(){return Lt.default}});var Ut=Ff();Object.defineProperty(m,"MissingRefError",{enumerable:!0,get:function(){return Ut.default}})});export default Ht();
2
+
3
+ //# debugId=2587383F203A979264756E2164756E21
4
+ //# sourceMappingURL=2020-va2wwra4.js.map
@@ -0,0 +1,4 @@
1
+ import{Ks,Js,_s}from"./studio-rv11kfwa.js";export{_s as draggable,Ks as dropTargetForElements,Js as monitorForElements};
2
+
3
+ //# debugId=84A692D36413686264756E2164756E21
4
+ //# sourceMappingURL=adapter-f93pafd7.js.map
@@ -1,4 +1,4 @@
1
- import{p,We}from"./studio-y7jehjrp.js";import"./studio-ery42sqr.js";import{v}from"./studio-fqq890ap.js";import"./studio-sxc0zvpt.js";import{un,rn}from"./studio-cp1gbff9.js";import"./studio-1q6amtph.js";import{rt,zt,T,R,An,Ct}from"./studio-7qvs7v0m.js";import"./studio-ge5fqjth.js";import"./studio-semd1s8s.js";import"./studio-1a99w39s.js";import"./studio-bftp4n4b.js";import{qh}from"./studio-4fde4a0x.js";var d={$schema:"https://jxsuite.com/schema/v1",$id:"StudioCfAccountPicker",$description:"The Cloudflare account picker: which of the accounts this grant reaches should publishing and the assistant run against. A `jx-dialog`, so the platform owns modality, Escape, focus restoration and the backdrop — which is what retired the `sp-dialog-wrapper` this surface used to open by hand, along with the focus trap and the `aria-modal` slot `showDialog` wrapped around it. There is no confirming button: each row commits itself, because a picker whose answer is one of N rows has N answers rather than one. The adapter (`surfaces/cf-account-picker.ts`) hands in rows that are already strings and booleans — nothing here knows what `cf_account_required` is, which call refused, or whether the list came back empty because the grant reaches nothing or because Cloudflare could not be reached.",tagName:"jx-dialog",$props:{headline:"Choose a Cloudflare account",confirmLabel:"",cancelLabel:"Cancel",size:"sm"},attributes:{part:"cf-accounts"},oncancel:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/closed"},value:[]}]},onclose:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/closed"},value:[]}]},style:{$description:"The picker's own look. Four `.cf-account-picker*` rules in `styles/shell.css` become the parts below and one of them does not come with them: `min-width: 320px` was this surface sizing its own box, and `jx-dialog` is what sizes a dialog now — `sm` is `min(90vw, 24rem)`, which is wider than the 320px it asked for. The row shape came from `.prefs-account`, which the lit template BORROWED from Preferences › Accounts; it is copied here rather than shared, because a class in a stylesheet is a thing two surfaces can drift apart on and `preferences-dialog.ts` still draws its own rows from it. Three token repairs travel with them: `--spectrum-font-size-75` and `--spectrum-font-size-50` resolve only inside `<sp-theme>`, and a document mounted in the dialog layer is outside it, so every one of them would silently have taken its hard-coded fallback.",'& [part="picker"]':{display:"flex",flexDirection:"column",gap:"var(--jx-space-4)"},'& [part="intro"], & [part="empty"]':{$description:"The lede and the two absences read as the same secondary line, so they are one rule: the sentence over the list and the sentence drawn instead of it are the same voice.",margin:"0",fontSize:"var(--jx-text-md)",color:"var(--fg-dim)"},'& [part="failure"]':{$description:'A commit the broker refused, said above the list the reader is still looking at. It is not an announcement of the same thing twice: the list survives a refusal, because listing again is not what would fix an account Cloudflare will not accept, so the reason has to sit beside the rows that are still on offer. It is `failure` rather than `error` because every kit field draws a permanent, empty `[part="error"]` of its own, and the kit is light DOM: a rule on that name here would reach any field this dialog ever holds.',margin:"0",fontSize:"var(--jx-text-md)",color:"var(--danger)"},'& [part="fail"]':{$description:"The one state that offers a verb of its own. Retrying is right for a listing that never landed and wrong for a grant that genuinely reaches nothing, so the button lives in this branch rather than under both.",display:"flex",flexDirection:"column",alignItems:"flex-start",gap:"var(--jx-space-3)"},'& [part="list"]':{display:"flex",flexDirection:"column",gap:"var(--jx-space-2)"},'& [part="row"]':{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"var(--jx-space-4)",padding:"var(--jx-space-3)",border:"1px solid var(--border)",borderRadius:"var(--radius)"},'& [part="text"]':{$description:"`min-width: 0` lets the column shrink below its content, so the name and id reflow inside the row instead of pushing its own button off the end of it; what lets them reflow is their own `overflow-wrap`. Nothing here ellipsizes. Unlike Preferences › Accounts, the row does not wrap its button onto a line of its own: in an `sm` dialog the arithmetic (a 120px basis, the gap and a 105px button against a 236px row) would wrap every row at rest.",display:"flex",flexDirection:"column",gap:"var(--jx-space-1)",minWidth:"0"},'& [part="name"]':{$description:"`overflow-wrap: anywhere` because Cloudflare names a new account after the email that opened it (`name@example.com's Account`), and an address has no break opportunity in it.",color:"var(--fg)",overflowWrap:"anywhere"},'& [part="detail"]':{$description:"The account id under the name. Two Cloudflare accounts may carry the same name and the id is what is stored, so the row shows both rather than the half a reader would have to guess from. `overflow-wrap: anywhere` because the id is 32 hex digits with no break opportunity: it measured 203px in a 119px column and ran under the row's own button. It reflows rather than ellipsizing, because the id is the half that tells two same-named accounts apart.",fontSize:"var(--jx-text-sm)",color:"var(--fg-dim)",overflowWrap:"anywhere"}},children:[{tagName:"div",attributes:{part:"picker"},children:[{tagName:"p",attributes:{part:"intro"},textContent:"Your Cloudflare login reaches more than one account. Publishing and the assistant both run against the one you pick; you can change it in Preferences › Accounts."},{tagName:"div",attributes:{part:"body-slot",role:"none"},style:{display:"contents"},$switch:{$ref:"#/state/listState"},cases:{loading:{tagName:"p",attributes:{part:"empty"},textContent:"Reading your Cloudflare accounts…"},empty:{tagName:"p",attributes:{part:"empty"},textContent:"This Cloudflare login reaches no accounts. Create one at dash.cloudflare.com, then try again."},failed:{tagName:"div",attributes:{part:"fail"},children:[{tagName:"p",attributes:{part:"empty"},textContent:"${state.failureMessage}"},{tagName:"jx-button",attributes:{part:"retry"},$props:{size:"sm"},onclick:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/retry"},value:[]}]},children:[{tagName:"span",textContent:"Try again"}]}]},listed:{tagName:"div",attributes:{part:"listed",role:"none"},style:{display:"contents"},children:[{tagName:"div",attributes:{part:"failure-slot",role:"none"},style:{display:"contents"},$switch:{$ref:"#/state/hasFailure"},cases:{true:{tagName:"p",attributes:{part:"failure"},textContent:"${state.failure}"}}},{tagName:"div",attributes:{part:"list"},children:[{$prototype:"Array",items:{$ref:"#/state/rows"},key:{$ref:"$map/item/id"},map:{tagName:"div",attributes:{part:"row","data-account":"${$map.item.id}"},children:[{tagName:"div",attributes:{part:"text"},children:[{tagName:"span",attributes:{part:"name"},textContent:"${$map.item.name}"},{tagName:"span",attributes:{part:"detail"},textContent:"${$map.item.id}"}]},{tagName:"jx-button",attributes:{part:"choose"},$props:{size:"sm",variant:"accent",disabled:{$ref:"$map/item/busy"}},onclick:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/choose"},value:[{$ref:"$map/item/id"}]}]},children:[{tagName:"span",textContent:"${$map.item.label}"}]}]}}]}]}}}]}]};T("cf-account-picker",d);function h(t){let a=t.choosing!=="";return{...t,failureMessage:`Cloudflare could not be reached: ${t.failure}`,hasFailure:t.failure!=="",listState:t.loading?"loading":t.accounts.length>0?"listed":t.failure!==""?"failed":"empty",rows:t.accounts.map((o)=>({busy:a,id:o.id,label:t.choosing===o.id?"Selecting…":"Use this account",name:o.name}))}}function f(t){let a=document.createElement("div");a.style.pointerEvents="auto",a.setAttribute(rt,zt("dialog","cf-accounts")),t.layer.append(a);let o=!1,i=()=>{if(o)return;o=!0,t.onClosed()},n=v({...h({accounts:[],choosing:"",failure:"",loading:!0}),choose:(e)=>{t.onChoose(e)},closed:i,retry:()=>{t.onRetry()}}),s=null,l=R("cf-account-picker",n,a).then(async(e)=>{s=e;let r=e.root;if(o)return e.dispose(),r;if(await An(r),o)return r;return un(r),r});return{close(){if(o)return;let e=s?.root;if(e instanceof HTMLElement)rn(e);s?.dispose(),s=null,a.remove(),i()},host:a,ready:l,update(e){Object.assign(n,h({accounts:e.accounts??n.accounts,choosing:e.choosing??n.choosing,failure:e.failure??n.failure,loading:e.loading??n.loading}))}}}function w(){if(!We())return!1;let t=p();return Boolean(t.cfAccounts&&t.cfSelectAccount)}function m(t){return t instanceof Error?t.message:String(t)}function E(){if(!w())return Promise.resolve(null);return new Promise((t)=>{let a=[],o="",i=!1,n=(e)=>{if(i)return;i=!0,c.close(),t(e)};async function s(){c.update({failure:"",loading:!0});let e="";try{a=await p().cfAccounts?.()??[]}catch(r){a=[],e=m(r)}if(i)return;c.update({accounts:a,failure:e,loading:!1})}async function l(e){let r=a.find((u)=>u.id===e);if(!r||o!=="")return;o=e,c.update({choosing:e,failure:""});try{await p().cfSelectAccount?.({id:r.id,name:r.name})}catch(u){if(o="",!i)c.update({choosing:"",failure:m(u)});return}qh(),n(r)}let c=f({layer:Ct("dialog"),onChoose:(e)=>{l(e)},onClosed:()=>{n(null)},onRetry:()=>{s()}});s()})}export{E as openCfAccountPicker};
1
+ import{p,Ve}from"./studio-xz2yxfcb.js";import"./studio-ery42sqr.js";import{y}from"./studio-55h4mstj.js";import"./studio-1q1sh2ax.js";import{pn,an}from"./studio-9mccjwjh.js";import"./studio-zyqn40w4.js";import{ot,zt,T,I,An,Ct}from"./studio-g1shz58g.js";import"./studio-vrmcjf9g.js";import"./studio-w0cgf6jg.js";import"./studio-933e30n4.js";import"./studio-tdcprbqb.js";import{sp}from"./studio-8bxk97km.js";var d={$schema:"https://jxsuite.com/schema/v1",$id:"StudioCfAccountPicker",$description:"The Cloudflare account picker: which of the accounts this grant reaches should publishing and the assistant run against. A `jx-dialog`, so the platform owns modality, Escape, focus restoration and the backdrop — which is what retired the `sp-dialog-wrapper` this surface used to open by hand, along with the focus trap and the `aria-modal` slot `showDialog` wrapped around it. There is no confirming button: each row commits itself, because a picker whose answer is one of N rows has N answers rather than one. The adapter (`surfaces/cf-account-picker.ts`) hands in rows that are already strings and booleans — nothing here knows what `cf_account_required` is, which call refused, or whether the list came back empty because the grant reaches nothing or because Cloudflare could not be reached.",tagName:"jx-dialog",$props:{headline:"Choose a Cloudflare account",confirmLabel:"",cancelLabel:"Cancel",size:"sm"},attributes:{part:"cf-accounts"},oncancel:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/closed"},value:[]}]},onclose:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/closed"},value:[]}]},style:{$description:"The picker's own look. Four `.cf-account-picker*` rules in `styles/shell.css` become the parts below and one of them does not come with them: `min-width: 320px` was this surface sizing its own box, and `jx-dialog` is what sizes a dialog now — `sm` is `min(90vw, 24rem)`, which is wider than the 320px it asked for. The row shape came from `.prefs-account`, which the lit template BORROWED from Preferences › Accounts; it is copied here rather than shared, because a class in a stylesheet is a thing two surfaces can drift apart on and `preferences-dialog.ts` still draws its own rows from it. Three token repairs travel with them: `--spectrum-font-size-75` and `--spectrum-font-size-50` resolve only inside `<sp-theme>`, and a document mounted in the dialog layer is outside it, so every one of them would silently have taken its hard-coded fallback.",'& [part="picker"]':{display:"flex",flexDirection:"column",gap:"var(--jx-space-4)"},'& [part="intro"], & [part="empty"]':{$description:"The lede and the two absences read as the same secondary line, so they are one rule: the sentence over the list and the sentence drawn instead of it are the same voice.",margin:"0",fontSize:"var(--jx-text-md)",color:"var(--fg-dim)"},'& [part="failure"]':{$description:'A commit the broker refused, said above the list the reader is still looking at. It is not an announcement of the same thing twice: the list survives a refusal, because listing again is not what would fix an account Cloudflare will not accept, so the reason has to sit beside the rows that are still on offer. It is `failure` rather than `error` because every kit field draws a permanent, empty `[part="error"]` of its own, and the kit is light DOM: a rule on that name here would reach any field this dialog ever holds.',margin:"0",fontSize:"var(--jx-text-md)",color:"var(--danger)"},'& [part="fail"]':{$description:"The one state that offers a verb of its own. Retrying is right for a listing that never landed and wrong for a grant that genuinely reaches nothing, so the button lives in this branch rather than under both.",display:"flex",flexDirection:"column",alignItems:"flex-start",gap:"var(--jx-space-3)"},'& [part="list"]':{display:"flex",flexDirection:"column",gap:"var(--jx-space-2)"},'& [part="row"]':{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"var(--jx-space-4)",padding:"var(--jx-space-3)",border:"1px solid var(--border)",borderRadius:"var(--radius)"},'& [part="text"]':{$description:"`min-width: 0` lets the column shrink below its content, so the name and id reflow inside the row instead of pushing its own button off the end of it; what lets them reflow is their own `overflow-wrap`. Nothing here ellipsizes. Unlike Preferences › Accounts, the row does not wrap its button onto a line of its own: in an `sm` dialog the arithmetic (a 120px basis, the gap and a 105px button against a 236px row) would wrap every row at rest.",display:"flex",flexDirection:"column",gap:"var(--jx-space-1)",minWidth:"0"},'& [part="name"]':{$description:"`overflow-wrap: anywhere` because Cloudflare names a new account after the email that opened it (`name@example.com's Account`), and an address has no break opportunity in it.",color:"var(--fg)",overflowWrap:"anywhere"},'& [part="detail"]':{$description:"The account id under the name. Two Cloudflare accounts may carry the same name and the id is what is stored, so the row shows both rather than the half a reader would have to guess from. `overflow-wrap: anywhere` because the id is 32 hex digits with no break opportunity: it measured 203px in a 119px column and ran under the row's own button. It reflows rather than ellipsizing, because the id is the half that tells two same-named accounts apart.",fontSize:"var(--jx-text-sm)",color:"var(--fg-dim)",overflowWrap:"anywhere"}},children:[{tagName:"div",attributes:{part:"picker"},children:[{tagName:"p",attributes:{part:"intro"},textContent:"Your Cloudflare login reaches more than one account. Publishing and the assistant both run against the one you pick; you can change it in Preferences › Accounts."},{tagName:"div",attributes:{part:"body-slot",role:"none"},style:{display:"contents"},$switch:{$ref:"#/state/listState"},cases:{loading:{tagName:"p",attributes:{part:"empty"},textContent:"Reading your Cloudflare accounts…"},empty:{tagName:"p",attributes:{part:"empty"},textContent:"This Cloudflare login reaches no accounts. Create one at dash.cloudflare.com, then try again."},failed:{tagName:"div",attributes:{part:"fail"},children:[{tagName:"p",attributes:{part:"empty"},textContent:"${state.failureMessage}"},{tagName:"jx-button",attributes:{part:"retry"},$props:{size:"sm"},onclick:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/retry"},value:[]}]},children:[{tagName:"span",textContent:"Try again"}]}]},listed:{tagName:"div",attributes:{part:"listed",role:"none"},style:{display:"contents"},children:[{tagName:"div",attributes:{part:"failure-slot",role:"none"},style:{display:"contents"},$switch:{$ref:"#/state/hasFailure"},cases:{true:{tagName:"p",attributes:{part:"failure"},textContent:"${state.failure}"}}},{tagName:"div",attributes:{part:"list"},children:[{$prototype:"Array",items:{$ref:"#/state/rows"},key:{$ref:"$map/item/id"},map:{tagName:"div",attributes:{part:"row","data-account":"${$map.item.id}"},children:[{tagName:"div",attributes:{part:"text"},children:[{tagName:"span",attributes:{part:"name"},textContent:"${$map.item.name}"},{tagName:"span",attributes:{part:"detail"},textContent:"${$map.item.id}"}]},{tagName:"jx-button",attributes:{part:"choose"},$props:{size:"sm",variant:"accent",disabled:{$ref:"$map/item/busy"}},onclick:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/choose"},value:[{$ref:"$map/item/id"}]}]},children:[{tagName:"span",textContent:"${$map.item.label}"}]}]}}]}]}}}]}]};T("cf-account-picker",d);function h(t){let a=t.choosing!=="";return{...t,failureMessage:`Cloudflare could not be reached: ${t.failure}`,hasFailure:t.failure!=="",listState:t.loading?"loading":t.accounts.length>0?"listed":t.failure!==""?"failed":"empty",rows:t.accounts.map((o)=>({busy:a,id:o.id,label:t.choosing===o.id?"Selecting…":"Use this account",name:o.name}))}}function f(t){let a=document.createElement("div");a.style.pointerEvents="auto",a.setAttribute(ot,zt("dialog","cf-accounts")),t.layer.append(a);let o=!1,i=()=>{if(o)return;o=!0,t.onClosed()},n=y({...h({accounts:[],choosing:"",failure:"",loading:!0}),choose:(e)=>{t.onChoose(e)},closed:i,retry:()=>{t.onRetry()}}),s=null,l=I("cf-account-picker",n,a).then(async(e)=>{s=e;let r=e.root;if(o)return e.dispose(),r;if(await An(r),o)return r;return pn(r),r});return{close(){if(o)return;let e=s?.root;if(e instanceof HTMLElement)an(e);s?.dispose(),s=null,a.remove(),i()},host:a,ready:l,update(e){Object.assign(n,h({accounts:e.accounts??n.accounts,choosing:e.choosing??n.choosing,failure:e.failure??n.failure,loading:e.loading??n.loading}))}}}function w(){if(!Ve())return!1;let t=p();return Boolean(t.cfAccounts&&t.cfSelectAccount)}function m(t){return t instanceof Error?t.message:String(t)}function D(){if(!w())return Promise.resolve(null);return new Promise((t)=>{let a=[],o="",i=!1,n=(e)=>{if(i)return;i=!0,c.close(),t(e)};async function s(){c.update({failure:"",loading:!0});let e="";try{a=await p().cfAccounts?.()??[]}catch(r){a=[],e=m(r)}if(i)return;c.update({accounts:a,failure:e,loading:!1})}async function l(e){let r=a.find((u)=>u.id===e);if(!r||o!=="")return;o=e,c.update({choosing:e,failure:""});try{await p().cfSelectAccount?.({id:r.id,name:r.name})}catch(u){if(o="",!i)c.update({choosing:"",failure:m(u)});return}sp(),n(r)}let c=f({layer:Ct("dialog"),onChoose:(e)=>{l(e)},onClosed:()=>{n(null)},onRetry:()=>{s()}});s()})}export{D as openCfAccountPicker};
2
2
 
3
- //# debugId=CAF478E97E81758964756E2164756E21
4
- //# sourceMappingURL=cf-account-picker-bb2yq946.js.map
3
+ //# debugId=1DE7924CC26B33BE64756E2164756E21
4
+ //# sourceMappingURL=cf-account-picker-af1h381v.js.map
@@ -0,0 +1,4 @@
1
+ import{Uf,K0,J0,RI,Y0}from"./studio-933e30n4.js";import"./studio-w0cgf6jg.js";import"./studio-xz2yxfcb.js";import"./studio-55h4mstj.js";export{Y0 as clearCfConnection,J0 as getCfAccountId,Uf as getCfToken,RI as setCfAccountId,K0 as setCfToken};
2
+
3
+ //# debugId=9C1935A9C04FF1C964756E2164756E21
4
+ //# sourceMappingURL=cf-settings-125tdm0w.js.map
@@ -0,0 +1,4 @@
1
+ import{st,zl,QC,Em,Nc}from"./studio-e81q1vb9.js";import"./studio-xz2yxfcb.js";export{Em as buildComponentInstance,st as componentRegistry,Nc as computeRelativePath,zl as loadComponentRegistry,QC as noteComponentSaved};
2
+
3
+ //# debugId=D267E1B337DA9C3964756E2164756E21
4
+ //# sourceMappingURL=components-ax2f1fnn.js.map
@@ -0,0 +1,4 @@
1
+ import{Db,ex,US,qS,GS,KS}from"./studio-qkstvve9.js";import"./studio-7vg6jcd3.js";import"./studio-t6b6qe31.js";import"./studio-gjtpe62q.js";import"./studio-7zx31knw.js";import"./studio-yw05w8f0.js";import"./studio-tdcprbqb.js";import"./studio-rc6dvxjb.js";import"./studio-yb560vxr.js";import"./studio-gf0fz03c.js";import"./studio-t1xzawhr.js";import"./studio-e81q1vb9.js";import"./studio-w0cgf6jg.js";import"./studio-gx4dnjzd.js";import"./studio-74k29dy9.js";import"./studio-pcgz8heb.js";import"./studio-a2ke1e4t.js";import"./studio-epgrmqqm.js";import"./studio-rv11kfwa.js";import"./studio-5tnvjkz4.js";import"./studio-xz2yxfcb.js";import"./studio-g1shz58g.js";import"./studio-1q1sh2ax.js";import"./studio-9mccjwjh.js";import"./studio-zyqn40w4.js";import"./studio-ery42sqr.js";import"./studio-55h4mstj.js";export{ex as collectionDirs,Db as collectionInfo,GS as createCollectionSource,KS as createPagesSource,US as listCollectionEntryIds,qS as reloadDraftAwareGrids};
2
+
3
+ //# debugId=18170DCAAFA17CE364756E2164756E21
4
+ //# sourceMappingURL=content-source-108aqtk1.js.map
@@ -1,4 +1,4 @@
1
- import{v}from"./studio-fqq890ap.js";import"./studio-7pgy3xaf.js";import{Le,q,u}from"./studio-x5g1xk77.js";import"./studio-y7jehjrp.js";import"./studio-cqmtbg2p.js";import"./studio-sxc0zvpt.js";import{un,rn,Pm}from"./studio-cp1gbff9.js";import"./studio-1q6amtph.js";import{rt,zt,T,R,An,Ct}from"./studio-7qvs7v0m.js";import"./studio-ery42sqr.js";import{Fa}from"./studio-g8dsj3d2.js";import"./studio-zev8ssp1.js";import"./studio-k1wvtp03.js";import"./studio-rmn2dz59.js";import"./studio-semd1s8s.js";import"./studio-4m50vh74.js";import"./studio-pwqfmt4p.js";import"./studio-xkfs0dp2.js";import"./studio-5gs9th4b.js";import"./studio-st75kn99.js";import"./studio-8xcwewjq.js";import"./studio-4r0sjtx8.js";import"./studio-e47215hh.js";import"./studio-yr04mv2j.js";import"./studio-fthwn4kf.js";import{_b}from"./studio-fbx6twps.js";import"./studio-5d7wfmnp.js";import{K,_o,ht,_n}from"./studio-tp642n5g.js";var m={$schema:"https://jxsuite.com/schema/v1",$id:"StudioConvertRepeater",$description:'Repeat…: the dialog that turns the selected element into an `$prototype: "Array"` template. One `jx-dialog`, so the platform owns modality, Escape, the backdrop and focus restoration — which is what retired the `sp-dialog-wrapper` this surface used to open through its bare `open` attribute, and the hand-rolled `requestAnimationFrame` focus move that had to follow it. Three questions in one form: which state definition holds the items, and optionally which function filters and which sorts. The name field appears only when the answer to the first is "Create new…", because a definition that already exists needs no name. Nothing here knows what makes a definition an array — `editor/convert-to-repeater.ts` asks the plugin schemas, keeps the refusals and writes the repeater — and it hands over rows that are already strings.',tagName:"jx-dialog",$props:{headline:"Repeat…",confirmLabel:"Create Repeater",cancelLabel:"Cancel",size:"sm"},attributes:{part:"convert-repeater"},onconfirm:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/confirm"},value:[]}]},oncancel:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/closed"},value:[]}]},onclose:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/closed"},value:[]}]},style:{$description:"There is no stylesheet to transcribe: the lit version carried one inline `display:flex;flex-direction:column;gap:12px` on a wrapper div and nothing else, because `sp-field-label` and `sp-dialog-wrapper` drew the rest. Both of those are gone — the label is `jx-field`'s, which actually NAMES the control it wraps rather than sitting beside it, and the box is the dialog's — so the whole of this block is the one gap that separated the rows, said in the kit's scale instead of in the twelve pixels somebody typed.",'& [part="form"]':{display:"flex",flexDirection:"column",gap:"var(--jx-space-4)"},'& [part="new-slot"], & [part="functions-slot"], & [part="functions"]':{$description:"A branch host and the pair inside it are structure rather than layout: `display: contents` puts the rows they carry straight into the form's own column, so one gap rule spaces every row whether it is drawn or not.",display:"contents"}},children:[{tagName:"div",attributes:{part:"form"},children:[{tagName:"jx-field",attributes:{part:"source-row"},$props:{span:!0,label:"Items source"},children:[{tagName:"jx-select",attributes:{part:"source"},$props:{size:"sm",options:{$ref:"#/state/sourceOptions"},value:{$ref:"#/state/source"}},onchange:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/pickSource"},value:[{$ref:"event#/target/value"}]}]}}]},{tagName:"div",attributes:{part:"new-slot",role:"none"},$switch:{$ref:"#/state/creating"},cases:{true:{tagName:"jx-field",attributes:{part:"new-row"},$props:{span:!0,label:"New definition name",invalid:{$ref:"#/state/invalid"}},children:[{tagName:"jx-textfield",attributes:{part:"new-name"},$props:{size:"sm",placeholder:"myItems",value:{$ref:"#/state/newName"},invalid:{$ref:"#/state/invalid"},error:{$ref:"#/state/error"}},oninput:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/setName"},value:[{$ref:"event#/target/value"}]}]},onkeydown:{$prototype:"Function",body:[{$switch:{$ref:"event#/key"},cases:{Enter:[{preventDefault:!0},{operator:"call",target:{$ref:"#/state/confirm"},value:[]}]}}]}}]}}},{tagName:"div",attributes:{part:"functions-slot",role:"none"},$switch:{$ref:"#/state/hasFunctions"},cases:{true:{tagName:"div",attributes:{part:"functions",role:"none"},children:[{tagName:"jx-field",attributes:{part:"filter-row"},$props:{span:!0,label:"Filter (optional)"},children:[{tagName:"jx-select",attributes:{part:"filter"},$props:{size:"sm",options:{$ref:"#/state/functionOptions"},value:{$ref:"#/state/filter"}},onchange:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/pickFilter"},value:[{$ref:"event#/target/value"}]}]}}]},{tagName:"jx-field",attributes:{part:"sort-row"},$props:{span:!0,label:"Sort (optional)"},children:[{tagName:"jx-select",attributes:{part:"sort"},$props:{size:"sm",options:{$ref:"#/state/functionOptions"},value:{$ref:"#/state/sort"}},onchange:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/pickSort"},value:[{$ref:"event#/target/value"}]}]}}]}]}}}]}]};T("convert-repeater",m);var d="__new__";function h(r){return{...r,creating:r.source===d,functionOptions:[{label:"None",value:""},...r.functions.map((o)=>({label:o,value:o}))],hasFunctions:r.functions.length>0,invalid:r.error!=="",sourceOptions:[...r.sources.map((o)=>({label:o,value:o})),{label:"Create new…",value:d}]}}function g(r){let o=document.createElement("div");o.style.pointerEvents="auto",o.setAttribute(rt,zt("dialog","convert-repeater")),r.layer.append(o);let l=!1,i=()=>{if(l)return;l=!0,r.onClosed()},e=v({...h(r.view),closed:i,confirm:()=>{r.onConfirm()},pickFilter:(t)=>{e.filter=t,r.onPickFilter(t)},pickSort:(t)=>{e.sort=t,r.onPickSort(t)},pickSource:(t)=>{e.source=t,r.onPickSource(t)},setName:(t)=>{e.newName=t,r.onName(t)}}),s=null,c=()=>{setTimeout(()=>{let t=s?.root;if(l||!(t instanceof HTMLElement))return;let a=t.querySelector('jx-textfield[part="new-name"]');if(a)Pm(a,"all")},0)},f=R("convert-repeater",e,o).then(async(t)=>{s=t;let a=t.root;if(l)return t.dispose(),a;if(await An(a),l)return a;if(un(a),e.creating)c();return a});return{close(){let t=s?.root;if(t instanceof HTMLElement)rn(t);s?.dispose(),s=null,o.remove(),i()},host:o,ready:f,update(t){let a=h(t),p=a.creating&&!e.creating,n=a.error!==""&&a.error===e.error;if(Object.assign(e,n?{...a,error:""}:a),n){let y=a.error;queueMicrotask(()=>{e.error=y})}if(p)c()}}}var b=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/;async function J(){let r=u.value,o=Le(r?.session.selection);if(!r||!o||o.length<2)return;if(!K(r.doc.document,o))return;let i=r.doc.document.state||{},e=await C(i);if(!e)return;q(r,(s)=>{let c=s.doc.document;if(e.newDef){if(!c.state)c.state={};c.state[e.newDef.name]={default:[],type:"array"}}let f=ht(o);if(!f)return;let t=_n(o),a=K(c,f);if(!a?.children)return;let p=_o(a)[t],n={$prototype:"Array",items:e.items,map:p};if(e.filter)n.filter=e.filter;if(e.sort)n.sort=e.sort;a.children[t]=n})}async function x(r){let o=Object.entries(r).filter(([,i])=>{let e=i;return e?.type==="array"||Array.isArray(e?.default)||e?.$prototype==="Array"}).map(([i])=>i),l=u.value?.documentPath;for(let[i,e]of Object.entries(r)){let s=e;if(!s?.$prototype||s.$prototype==="Function"||s.$prototype==="Array")continue;if(o.includes(i))continue;if((await _b({...s.$src!=null&&{$src:s.$src},$prototype:s.$prototype},{...l!=null&&{documentPath:l}}))?.returns?.type==="array")o.push(i)}return o}async function C(r){let o=await x(r),l=Object.entries(r).filter(([,i])=>Fa(i)==="function").map(([i])=>i);return new Promise((i)=>{let e={error:"",filter:"",functions:l,newName:"",sort:"",source:o[0]??d,sources:o},s=!1,c=(n)=>{if(s)return;s=!0,p.close(),i(n)},f=(n)=>{e.error=n,p.update(e)},t=()=>({...e.filter&&{filter:{$ref:`#/state/${e.filter}`}},...e.sort&&{sort:{$ref:`#/state/${e.sort}`}}}),a=()=>{if(e.source!==d){c({items:{$ref:`#/state/${e.source}`},...t()});return}let n=e.newName.trim();if(!n){f("Enter a name for the new state definition.");return}if(r[n]){f(`"${n}" already exists.`);return}if(!b.test(n)){f("Invalid identifier name.");return}c({items:{$ref:`#/state/${n}`},...t(),newDef:{name:n}})},p=g({layer:Ct("dialog"),onClosed:()=>c(null),onConfirm:a,onName:(n)=>{e.newName=n,e.error="",p.update(e)},onPickFilter:(n)=>{e.filter=n,p.update(e)},onPickSort:(n)=>{e.sort=n,p.update(e)},onPickSource:(n)=>{e.source=n,e.error="",p.update(e)},view:e})})}export{J as convertToRepeater};
1
+ import{Le,q,u}from"./studio-a2ke1e4t.js";import{y}from"./studio-55h4mstj.js";import"./studio-epgrmqqm.js";import"./studio-xz2yxfcb.js";import"./studio-5tnvjkz4.js";import"./studio-1q1sh2ax.js";import{pn,an,Zm}from"./studio-9mccjwjh.js";import"./studio-zyqn40w4.js";import{ot,zt,T,I,An,Ct}from"./studio-g1shz58g.js";import"./studio-ery42sqr.js";import{Ja}from"./studio-0k1ddnyy.js";import"./studio-63epcrj2.js";import"./studio-k1wvtp03.js";import"./studio-rc6dvxjb.js";import"./studio-w0cgf6jg.js";import"./studio-t1xzawhr.js";import"./studio-e81q1vb9.js";import"./studio-pcgz8heb.js";import"./studio-gf0fz03c.js";import"./studio-rv11kfwa.js";import"./studio-h46vtzk8.js";import"./studio-jhpxeckz.js";import"./studio-gx4dnjzd.js";import"./studio-yb560vxr.js";import"./studio-4tanh828.js";import{Fb}from"./studio-gjtpe62q.js";import"./studio-74k29dy9.js";import{K,Cr,ht,Cn}from"./studio-yn9f8vtx.js";var m={$schema:"https://jxsuite.com/schema/v1",$id:"StudioConvertRepeater",$description:'Repeat…: the dialog that turns the selected element into an `$prototype: "Array"` template. One `jx-dialog`, so the platform owns modality, Escape, the backdrop and focus restoration — which is what retired the `sp-dialog-wrapper` this surface used to open through its bare `open` attribute, and the hand-rolled `requestAnimationFrame` focus move that had to follow it. Three questions in one form: which state definition holds the items, and optionally which function filters and which sorts. The name field appears only when the answer to the first is "Create new…", because a definition that already exists needs no name. Nothing here knows what makes a definition an array — `editor/convert-to-repeater.ts` asks the plugin schemas, keeps the refusals and writes the repeater — and it hands over rows that are already strings.',tagName:"jx-dialog",$props:{headline:"Repeat…",confirmLabel:"Create Repeater",cancelLabel:"Cancel",size:"sm"},attributes:{part:"convert-repeater"},onconfirm:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/confirm"},value:[]}]},oncancel:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/closed"},value:[]}]},onclose:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/closed"},value:[]}]},style:{$description:"There is no stylesheet to transcribe: the lit version carried one inline `display:flex;flex-direction:column;gap:12px` on a wrapper div and nothing else, because `sp-field-label` and `sp-dialog-wrapper` drew the rest. Both of those are gone — the label is `jx-field`'s, which actually NAMES the control it wraps rather than sitting beside it, and the box is the dialog's — so the whole of this block is the one gap that separated the rows, said in the kit's scale instead of in the twelve pixels somebody typed.",'& [part="form"]':{display:"flex",flexDirection:"column",gap:"var(--jx-space-4)"},'& [part="new-slot"], & [part="functions-slot"], & [part="functions"]':{$description:"A branch host and the pair inside it are structure rather than layout: `display: contents` puts the rows they carry straight into the form's own column, so one gap rule spaces every row whether it is drawn or not.",display:"contents"}},children:[{tagName:"div",attributes:{part:"form"},children:[{tagName:"jx-field",attributes:{part:"source-row"},$props:{span:!0,label:"Items source"},children:[{tagName:"jx-select",attributes:{part:"source"},$props:{size:"sm",options:{$ref:"#/state/sourceOptions"},value:{$ref:"#/state/source"}},onchange:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/pickSource"},value:[{$ref:"event#/target/value"}]}]}}]},{tagName:"div",attributes:{part:"new-slot",role:"none"},$switch:{$ref:"#/state/creating"},cases:{true:{tagName:"jx-field",attributes:{part:"new-row"},$props:{span:!0,label:"New definition name",invalid:{$ref:"#/state/invalid"}},children:[{tagName:"jx-textfield",attributes:{part:"new-name"},$props:{size:"sm",placeholder:"myItems",value:{$ref:"#/state/newName"},invalid:{$ref:"#/state/invalid"},error:{$ref:"#/state/error"}},oninput:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/setName"},value:[{$ref:"event#/target/value"}]}]},onkeydown:{$prototype:"Function",body:[{$switch:{$ref:"event#/key"},cases:{Enter:[{preventDefault:!0},{operator:"call",target:{$ref:"#/state/confirm"},value:[]}]}}]}}]}}},{tagName:"div",attributes:{part:"functions-slot",role:"none"},$switch:{$ref:"#/state/hasFunctions"},cases:{true:{tagName:"div",attributes:{part:"functions",role:"none"},children:[{tagName:"jx-field",attributes:{part:"filter-row"},$props:{span:!0,label:"Filter (optional)"},children:[{tagName:"jx-select",attributes:{part:"filter"},$props:{size:"sm",options:{$ref:"#/state/functionOptions"},value:{$ref:"#/state/filter"}},onchange:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/pickFilter"},value:[{$ref:"event#/target/value"}]}]}}]},{tagName:"jx-field",attributes:{part:"sort-row"},$props:{span:!0,label:"Sort (optional)"},children:[{tagName:"jx-select",attributes:{part:"sort"},$props:{size:"sm",options:{$ref:"#/state/functionOptions"},value:{$ref:"#/state/sort"}},onchange:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/pickSort"},value:[{$ref:"event#/target/value"}]}]}}]}]}}}]}]};T("convert-repeater",m);var d="__new__";function h(r){return{...r,creating:r.source===d,functionOptions:[{label:"None",value:""},...r.functions.map((o)=>({label:o,value:o}))],hasFunctions:r.functions.length>0,invalid:r.error!=="",sourceOptions:[...r.sources.map((o)=>({label:o,value:o})),{label:"Create new…",value:d}]}}function g(r){let o=document.createElement("div");o.style.pointerEvents="auto",o.setAttribute(ot,zt("dialog","convert-repeater")),r.layer.append(o);let l=!1,i=()=>{if(l)return;l=!0,r.onClosed()},e=y({...h(r.view),closed:i,confirm:()=>{r.onConfirm()},pickFilter:(t)=>{e.filter=t,r.onPickFilter(t)},pickSort:(t)=>{e.sort=t,r.onPickSort(t)},pickSource:(t)=>{e.source=t,r.onPickSource(t)},setName:(t)=>{e.newName=t,r.onName(t)}}),s=null,c=()=>{setTimeout(()=>{let t=s?.root;if(l||!(t instanceof HTMLElement))return;let a=t.querySelector('jx-textfield[part="new-name"]');if(a)Zm(a,"all")},0)},f=I("convert-repeater",e,o).then(async(t)=>{s=t;let a=t.root;if(l)return t.dispose(),a;if(await An(a),l)return a;if(pn(a),e.creating)c();return a});return{close(){let t=s?.root;if(t instanceof HTMLElement)an(t);s?.dispose(),s=null,o.remove(),i()},host:o,ready:f,update(t){let a=h(t),p=a.creating&&!e.creating,n=a.error!==""&&a.error===e.error;if(Object.assign(e,n?{...a,error:""}:a),n){let v=a.error;queueMicrotask(()=>{e.error=v})}if(p)c()}}}var b=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/;async function J(){let r=u.value,o=Le(r?.session.selection);if(!r||!o||o.length<2)return;if(!K(r.doc.document,o))return;let i=r.doc.document.state||{},e=await x(i);if(!e)return;q(r,(s)=>{let c=s.doc.document;if(e.newDef){if(!c.state)c.state={};c.state[e.newDef.name]={default:[],type:"array"}}let f=ht(o);if(!f)return;let t=Cn(o),a=K(c,f);if(!a?.children)return;let p=Cr(a)[t],n={$prototype:"Array",items:e.items,map:p};if(e.filter)n.filter=e.filter;if(e.sort)n.sort=e.sort;a.children[t]=n})}async function R(r){let o=Object.entries(r).filter(([,i])=>{let e=i;return e?.type==="array"||Array.isArray(e?.default)||e?.$prototype==="Array"}).map(([i])=>i),l=u.value?.documentPath;for(let[i,e]of Object.entries(r)){let s=e;if(!s?.$prototype||s.$prototype==="Function"||s.$prototype==="Array")continue;if(o.includes(i))continue;if((await Fb({...s.$src!=null&&{$src:s.$src},$prototype:s.$prototype},{...l!=null&&{documentPath:l}}))?.returns?.type==="array")o.push(i)}return o}async function x(r){let o=await R(r),l=Object.entries(r).filter(([,i])=>Ja(i)==="function").map(([i])=>i);return new Promise((i)=>{let e={error:"",filter:"",functions:l,newName:"",sort:"",source:o[0]??d,sources:o},s=!1,c=(n)=>{if(s)return;s=!0,p.close(),i(n)},f=(n)=>{e.error=n,p.update(e)},t=()=>({...e.filter&&{filter:{$ref:`#/state/${e.filter}`}},...e.sort&&{sort:{$ref:`#/state/${e.sort}`}}}),a=()=>{if(e.source!==d){c({items:{$ref:`#/state/${e.source}`},...t()});return}let n=e.newName.trim();if(!n){f("Enter a name for the new state definition.");return}if(r[n]){f(`"${n}" already exists.`);return}if(!b.test(n)){f("Invalid identifier name.");return}c({items:{$ref:`#/state/${n}`},...t(),newDef:{name:n}})},p=g({layer:Ct("dialog"),onClosed:()=>c(null),onConfirm:a,onName:(n)=>{e.newName=n,e.error="",p.update(e)},onPickFilter:(n)=>{e.filter=n,p.update(e)},onPickSort:(n)=>{e.sort=n,p.update(e)},onPickSource:(n)=>{e.source=n,e.error="",p.update(e)},view:e})})}export{J as convertToRepeater};
2
2
 
3
- //# debugId=2A53858F122E3DE964756E2164756E21
4
- //# sourceMappingURL=convert-to-repeater-vqkt7s3s.js.map
3
+ //# debugId=42FAD0CF4E31EE3464756E2164756E21
4
+ //# sourceMappingURL=convert-to-repeater-ry5rmppr.js.map
@@ -0,0 +1,4 @@
1
+ import{wI,np,xI,_I,SI,Ru,CI,kI,Hs,nw,yc,EI,Rn,pe}from"./studio-nj5a01jy.js";export{wI as CancellationTokenSource,np as Emitter,xI as KeyCode,_I as KeyMod,Hs as MarkerSeverity,nw as MarkerTag,SI as Position,Ru as Range,CI as Selection,kI as SelectionDirection,EI as Token,yc as Uri,Rn as editor,pe as languages};
2
+
3
+ //# debugId=2CA16BB5AD303C4464756E2164756E21
4
+ //# sourceMappingURL=editor-pfgdmkb0.js.map
@@ -0,0 +1,4 @@
1
+ import{Ww,AS}from"./studio-z16sgavc.js";import"./studio-qv1pwd3c.js";import"./studio-63epcrj2.js";import"./studio-h46vtzk8.js";import"./studio-qkstvve9.js";import"./studio-7vg6jcd3.js";import"./studio-t6b6qe31.js";import"./studio-gjtpe62q.js";import"./studio-7zx31knw.js";import"./studio-yw05w8f0.js";import"./studio-tdcprbqb.js";import"./studio-rc6dvxjb.js";import"./studio-yb560vxr.js";import"./studio-gf0fz03c.js";import"./studio-t1xzawhr.js";import"./studio-e81q1vb9.js";import"./studio-w0cgf6jg.js";import"./studio-gx4dnjzd.js";import"./studio-74k29dy9.js";import"./studio-pcgz8heb.js";import"./studio-a2ke1e4t.js";import"./studio-epgrmqqm.js";import"./studio-rv11kfwa.js";import"./studio-5tnvjkz4.js";import"./studio-xz2yxfcb.js";import"./studio-g1shz58g.js";import"./studio-1q1sh2ax.js";import"./studio-9mccjwjh.js";import"./studio-zyqn40w4.js";import"./studio-ery42sqr.js";import"./studio-55h4mstj.js";import"./studio-k1wvtp03.js";export{Ww as createEntry,AS as registerContentCommands};
2
+
3
+ //# debugId=7105E25DEAB3B62264756E2164756E21
4
+ //# sourceMappingURL=entry-commands-t0k1q0kx.js.map
@@ -1,4 +1,4 @@
1
- import"./studio-y7jehjrp.js";import{qt,Pd,Tp}from"./studio-cqmtbg2p.js";import{cs,x1}from"./studio-t1eedsyx.js";import"./studio-ery42sqr.js";import{v}from"./studio-fqq890ap.js";import"./studio-7pgy3xaf.js";import"./studio-x5g1xk77.js";import"./studio-cp1gbff9.js";import"./studio-1q6amtph.js";import"./studio-zev8ssp1.js";import"./studio-sxc0zvpt.js";import{T,R,bs,Ct}from"./studio-7qvs7v0m.js";import"./studio-8xcwewjq.js";import"./studio-k1wvtp03.js";import"./studio-01qza1n3.js";import{w1}from"./studio-tmeq6mjb.js";import{Rw,SE,_1,OE}from"./studio-3ck2a5c4.js";import"./studio-yr04mv2j.js";import"./studio-xkfs0dp2.js";import"./studio-mk00zd5d.js";import"./studio-bftp4n4b.js";import"./studio-semd1s8s.js";import"./studio-4m50vh74.js";import"./studio-aekhcdzw.js";import"./studio-capk0583.js";import"./studio-rmn2dz59.js";import"./studio-xg1942as.js";import"./studio-e47215hh.js";import"./studio-pwqfmt4p.js";import"./studio-5gs9th4b.js";import"./studio-st75kn99.js";import"./studio-qa73881a.js";import"./studio-fbx6twps.js";import"./studio-5d7wfmnp.js";var m={$schema:"https://jxsuite.com/schema/v1",$id:"StudioDataActions",$description:"The actions row a data-domain settings section grows: test a connection, push the schema, open the rows as a grid. It is an ISLAND inside `surfaces/settings-contributed.json` — the generic contributed-section renderer stays extension-agnostic and draws an empty host, and `panels/data-grid.ts` mounts this into it — which is the seam that lets the data surface contribute verbs without the settings machinery learning what a connection is.",tagName:"div",attributes:{part:"data-actions"},style:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:"var(--jx-space-2)",fontFamily:"var(--jx-font-sans)",fontSize:"var(--jx-text-md)",'& [part="result"]':{fontSize:"var(--jx-text-sm)",color:"var(--fg-dim)"},'& [part="result"][data-ok="false"]':{color:"var(--danger)"},'& [part="result"][data-ok="true"]':{color:"var(--success, var(--accent))"}},children:[{tagName:"span",attributes:{part:"test-slot",role:"none"},style:{display:"contents"},$switch:{$ref:"#/state/testState"},cases:{shown:{tagName:"jx-button",attributes:{part:"test"},$props:{variant:"secondary",size:"sm",disabled:{$ref:"#/state/testDisabled"}},onclick:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/test"},value:[]}]},children:[{tagName:"span",textContent:"${state.testLabel}"}]}}},{tagName:"jx-button",attributes:{part:"push"},$props:{variant:"secondary",size:"sm"},onclick:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/push"},value:[]}]},children:[{tagName:"span",textContent:"Push Schema"}]},{tagName:"jx-button",attributes:{part:"grid"},$props:{variant:"secondary",size:"sm"},onclick:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/openGrid"},value:[]}]},children:[{tagName:"span",textContent:"Open Data Grid"}]},{tagName:"span",attributes:{part:"result-slot",role:"none"},style:{display:"contents"},$switch:{$ref:"#/state/resultState"},cases:{shown:{$description:"The last test's verdict, and a live region because it arrives after the press that asked for it.",tagName:"span",attributes:{part:"result",role:"status","data-ok":"${state.resultOk}",title:"${state.resultTitle}"},textContent:"${state.resultText}"}}}]};T("data-actions",m);function f(t,n){t.testState=n.testState,t.testLabel=n.testLabel,t.testDisabled=n.testDisabled,t.resultState=n.resultState,t.resultOk=n.resultOk,t.resultText=n.resultText,t.resultTitle=n.resultTitle}function h(t,n,e){let a=v({openGrid:e.openGrid,push:e.push,resultOk:"false",resultState:"hidden",resultText:"",resultTitle:"",test:e.test,testDisabled:!1,testLabel:"Test Connection",testState:"hidden"});f(a,n);let s=null,i=!1,o=R("data-actions",a,t).then((r)=>{if(i)return r.dispose(),r.root;return s=r,r.root});return{dispose(){i=!0,s?.dispose(),s=null},ready:o,update:(r)=>f(a,r)}}var g={$schema:"https://jxsuite.com/schema/v1",$id:"StudioPushPlan",$description:"What pushing the schema would do, or what it did. The dry run is the whole point of the surface: a push rewrites a live database's shape, so the plan is read before the apply, and the confirm dialog around this document is the one that gates it. The ISLAND of `ui/layers.ts`'s confirm dialog rather than a dialog of its own (studio-ui-guidelines.md §12.5).",tagName:"div",attributes:{part:"plan"},style:{display:"flex",flexDirection:"column",gap:"var(--jx-space-2)",minWidth:"0",fontFamily:"var(--jx-font-sans)",fontSize:"var(--jx-text-md)",color:"var(--fg)",'& [part="steps"]':{margin:"0",padding:"0",listStyle:"none",display:"flex",flexDirection:"column",gap:"2px",maxHeight:"40vh",overflowY:"auto"},'& [part="step"]':{fontFamily:"var(--font-mono)",fontSize:"var(--jx-text-sm)",padding:"2px var(--jx-space-2)",borderLeft:"2px solid var(--border)"},'& [part="step"][data-kind="drop"]':{borderLeftColor:"var(--danger)"},'& [part="step"][data-kind="create"]':{borderLeftColor:"var(--success, var(--accent))"},'& [part="warning"]':{margin:"0",fontSize:"var(--jx-text-sm)",color:"var(--warning, var(--fg-dim))"},'& [part="failure"]':{$description:'`failure` rather than `error`: every kit field draws a permanent, empty `[part="error"]` of its own, and the kit is light DOM, so a rule on that name here would reach any field the plan ever holds.',margin:"0",fontSize:"var(--jx-text-sm)",color:"var(--danger)"}},children:[{tagName:"ul",attributes:{part:"steps"},children:[{$prototype:"Array",items:{$ref:"#/state/steps"},key:{$ref:"$map/item/key"},map:{tagName:"li",attributes:{part:"step","data-kind":"${$map.item.kind}"},textContent:"${$map.item.summary}"}}]},{$prototype:"Array",items:{$ref:"#/state/warnings"},key:{$ref:"$map/item/key"},map:{tagName:"p",attributes:{part:"warning"},textContent:"${$map.item.text}"}},{$prototype:"Array",items:{$ref:"#/state/errors"},key:{$ref:"$map/item/key"},map:{tagName:"p",attributes:{part:"failure",role:"alert"},textContent:"${$map.item.text}"}}]};T("push-plan",g);function y(t,n){let e=v({errors:n.errors,steps:n.steps,warnings:n.warnings}),a=null,s=!1,i=R("push-plan",e,t).then((o)=>{if(s)return o.dispose(),o.root;return a=o,o.root});return{dispose(){s=!0,a?.dispose(),a=null},ready:i,update(o){e.steps=o.steps,e.warnings=o.warnings,e.errors=o.errors}}}var l=null;function S(){let t=l;l=null,t?.plan?.dispose(),t?.handle.close()}function x(t,n){return t.map((e,a)=>({key:`${n}:${a}`,text:e}))}function w(t){let n=t.phase==="done"?t.result:t.dryRun;return{errors:x(n?.errors??[],"error"),steps:(n?.plan??[]).map((e,a)=>({key:`${e.kind}:${a}`,kind:e.kind,summary:e.summary})),warnings:x(n?.warnings??[],"warning")}}function C(t){if(t.phase==="loading")return"Compiling plan…";if(t.phase==="applying")return"Applying…";if(t.phase==="done")return t.result?.applied?"Schema applied.":"Push failed.";let n=t.dryRun?.plan.length??0,e=t.dryRun?.errors?.length??0;return n===0&&e===0?"Nothing to push — the schema is up to date.":""}function d(){let t=l;if(!t)return;let n=t.phase==="confirm"&&(t.dryRun?.plan.length??0)>0;t.handle.update({cancelLabel:t.phase==="done"?"Close":"Cancel",confirmLabel:n?"Apply":"",message:C(t)}),t.plan?.update(w(t))}async function H(t,n){if(l)return;let e={connection:t,dryRun:null,handle:null,onDone:n,phase:"loading",plan:null,result:null};e.handle=bs({cancelLabel:"Cancel",confirmLabel:"",headline:t?`Push Schema — ${t}`:"Push Schema",island:(s)=>{e.plan=y(s,w(e))},layer:Ct("dialog"),message:"Compiling plan…",onCancel:S,onClosed:()=>{if(l===e)S()},onConfirm:()=>{L()},region:"data/push"}),l=e;let a=await _1({dryRun:!0,...t===void 0?{}:{connection:t}});if(l!==e)return;e.dryRun=a,e.phase="confirm",d()}async function L(){let t=l;if(!t)return;t.phase="applying",d();let n=await _1(t.connection===void 0?{}:{connection:t.connection});if(l!==t)return;t.result=n,t.phase="done",d(),t.onDone()}var u={pushing:!1,testResult:null,testing:null},b=new Map;function P(t,n){let{testResult:e}=u;return{resultOk:e?.ok?"true":"false",resultState:e?"shown":"hidden",resultText:e?`${e.connection}: ${e.ok?"connected":e.error??"failed"}`:"",resultTitle:e?.error??"",testDisabled:!n||u.testing!==null,testLabel:u.testing?"Testing…":"Test Connection",testState:t==="connections"?"shown":"hidden"}}function D(t){if(t!=="connections"&&t!=="data"||!Rw())return null;return(n,e)=>N(n,t,e)}async function j(t,n){u.testing=t,u.testResult=null,n();let e=await SE(t);u.testing=null,u.testResult={...e,connection:t},n()}function N(t,n,e){let{rerender:a,selected:s}=e,i=b.get(t);if(i){i.update(P(n,s));return}let o=()=>n==="connections"?e.selected??void 0:void 0;b.set(t,h(t,P(n,s),{openGrid:()=>{OE()},push:()=>{H(o(),a)},test:()=>{let r=e.selected;if(r)j(r,a)}}))}var E=100;function M(t){let e=t.studio?.settings;if(!e)return null;let{key:a}=t.project,s=e.layout??"form",i=t.entrySchema??{},o=s==="map"?typeof i.additionalProperties==="object"?i.additionalProperties:{}:i,r=e.label??t.project.title??a;return{contribution:{entrySchema:o,key:a,settings:{...e.entry===void 0?{}:{entry:e.entry},...e.layout===void 0?{}:{layout:e.layout}},title:r},icon:e.icon,key:a,label:r,order:e.order??E}}var p=new Set,c=null;function ot(){return c??Promise.resolve()}function rt(){return c??=V().finally(()=>{c=null}),c}async function V(){let[t]=await Promise.all([Pd(),qt()]),n=new Set;for(let e of t)for(let a of e.contributions){let s=M(a);if(!s)continue;let{contribution:i}=s;cs({icon:s.icon,key:s.key,label:s.label,order:s.order,render:(o)=>{let r=D(s.key);w1(o,i,{formats:Tp(),...r===null?{}:{actions:r}})}}),n.add(s.key)}for(let e of p)if(!n.has(e))x1(e);p.clear();for(let e of n)p.add(e)}export{ot as extensionSectionsReady,rt as syncExtensionSettingsSections};
1
+ import"./studio-xz2yxfcb.js";import{Kt,Yd,zp}from"./studio-5tnvjkz4.js";import{ms,FS}from"./studio-n8bxwc3y.js";import"./studio-ery42sqr.js";import{y}from"./studio-55h4mstj.js";import"./studio-a2ke1e4t.js";import"./studio-epgrmqqm.js";import"./studio-9mccjwjh.js";import"./studio-zyqn40w4.js";import"./studio-63epcrj2.js";import"./studio-1q1sh2ax.js";import{T,I,Ss,Ct}from"./studio-g1shz58g.js";import"./studio-h46vtzk8.js";import"./studio-k1wvtp03.js";import"./studio-kt1zqney.js";import{MS}from"./studio-szsjbj0g.js";import{qw,WE,jS,XE}from"./studio-vyc0b4he.js";import"./studio-yb560vxr.js";import"./studio-pcgz8heb.js";import"./studio-t6b6qe31.js";import"./studio-tdcprbqb.js";import"./studio-w0cgf6jg.js";import"./studio-t1xzawhr.js";import"./studio-yw05w8f0.js";import"./studio-7zx31knw.js";import"./studio-rc6dvxjb.js";import"./studio-qkstvve9.js";import"./studio-gx4dnjzd.js";import"./studio-e81q1vb9.js";import"./studio-gf0fz03c.js";import"./studio-rv11kfwa.js";import"./studio-7vg6jcd3.js";import"./studio-gjtpe62q.js";import"./studio-74k29dy9.js";var m={$schema:"https://jxsuite.com/schema/v1",$id:"StudioDataActions",$description:"The actions row a data-domain settings section grows: test a connection, push the schema, open the rows as a grid. It is an ISLAND inside `surfaces/settings-contributed.json` — the generic contributed-section renderer stays extension-agnostic and draws an empty host, and `panels/data-grid.ts` mounts this into it — which is the seam that lets the data surface contribute verbs without the settings machinery learning what a connection is.",tagName:"div",attributes:{part:"data-actions"},style:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:"var(--jx-space-2)",fontFamily:"var(--jx-font-sans)",fontSize:"var(--jx-text-md)",'& [part="result"]':{fontSize:"var(--jx-text-sm)",color:"var(--fg-dim)"},'& [part="result"][data-ok="false"]':{color:"var(--danger)"},'& [part="result"][data-ok="true"]':{color:"var(--success, var(--accent))"}},children:[{tagName:"span",attributes:{part:"test-slot",role:"none"},style:{display:"contents"},$switch:{$ref:"#/state/testState"},cases:{shown:{tagName:"jx-button",attributes:{part:"test"},$props:{variant:"secondary",size:"sm",disabled:{$ref:"#/state/testDisabled"}},onclick:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/test"},value:[]}]},children:[{tagName:"span",textContent:"${state.testLabel}"}]}}},{tagName:"jx-button",attributes:{part:"push"},$props:{variant:"secondary",size:"sm"},onclick:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/push"},value:[]}]},children:[{tagName:"span",textContent:"Push Schema"}]},{tagName:"jx-button",attributes:{part:"grid"},$props:{variant:"secondary",size:"sm"},onclick:{$prototype:"Function",body:[{operator:"call",target:{$ref:"#/state/openGrid"},value:[]}]},children:[{tagName:"span",textContent:"Open Data Grid"}]},{tagName:"span",attributes:{part:"result-slot",role:"none"},style:{display:"contents"},$switch:{$ref:"#/state/resultState"},cases:{shown:{$description:"The last test's verdict, and a live region because it arrives after the press that asked for it.",tagName:"span",attributes:{part:"result",role:"status","data-ok":"${state.resultOk}",title:"${state.resultTitle}"},textContent:"${state.resultText}"}}}]};T("data-actions",m);function f(t,n){t.testState=n.testState,t.testLabel=n.testLabel,t.testDisabled=n.testDisabled,t.resultState=n.resultState,t.resultOk=n.resultOk,t.resultText=n.resultText,t.resultTitle=n.resultTitle}function h(t,n,e){let a=y({openGrid:e.openGrid,push:e.push,resultOk:"false",resultState:"hidden",resultText:"",resultTitle:"",test:e.test,testDisabled:!1,testLabel:"Test Connection",testState:"hidden"});f(a,n);let s=null,i=!1,o=I("data-actions",a,t).then((r)=>{if(i)return r.dispose(),r.root;return s=r,r.root});return{dispose(){i=!0,s?.dispose(),s=null},ready:o,update:(r)=>f(a,r)}}var g={$schema:"https://jxsuite.com/schema/v1",$id:"StudioPushPlan",$description:"What pushing the schema would do, or what it did. The dry run is the whole point of the surface: a push rewrites a live database's shape, so the plan is read before the apply, and the confirm dialog around this document is the one that gates it. The ISLAND of `ui/layers.ts`'s confirm dialog rather than a dialog of its own (studio-ui-guidelines.md §12.5).",tagName:"div",attributes:{part:"plan"},style:{display:"flex",flexDirection:"column",gap:"var(--jx-space-2)",minWidth:"0",fontFamily:"var(--jx-font-sans)",fontSize:"var(--jx-text-md)",color:"var(--fg)",'& [part="steps"]':{margin:"0",padding:"0",listStyle:"none",display:"flex",flexDirection:"column",gap:"2px",maxHeight:"40vh",overflowY:"auto"},'& [part="step"]':{fontFamily:"var(--font-mono)",fontSize:"var(--jx-text-sm)",padding:"2px var(--jx-space-2)",borderLeft:"2px solid var(--border)"},'& [part="step"][data-kind="drop"]':{borderLeftColor:"var(--danger)"},'& [part="step"][data-kind="create"]':{borderLeftColor:"var(--success, var(--accent))"},'& [part="warning"]':{margin:"0",fontSize:"var(--jx-text-sm)",color:"var(--warning, var(--fg-dim))"},'& [part="failure"]':{$description:'`failure` rather than `error`: every kit field draws a permanent, empty `[part="error"]` of its own, and the kit is light DOM, so a rule on that name here would reach any field the plan ever holds.',margin:"0",fontSize:"var(--jx-text-sm)",color:"var(--danger)"}},children:[{tagName:"ul",attributes:{part:"steps"},children:[{$prototype:"Array",items:{$ref:"#/state/steps"},key:{$ref:"$map/item/key"},map:{tagName:"li",attributes:{part:"step","data-kind":"${$map.item.kind}"},textContent:"${$map.item.summary}"}}]},{$prototype:"Array",items:{$ref:"#/state/warnings"},key:{$ref:"$map/item/key"},map:{tagName:"p",attributes:{part:"warning"},textContent:"${$map.item.text}"}},{$prototype:"Array",items:{$ref:"#/state/errors"},key:{$ref:"$map/item/key"},map:{tagName:"p",attributes:{part:"failure",role:"alert"},textContent:"${$map.item.text}"}}]};T("push-plan",g);function S(t,n){let e=y({errors:n.errors,steps:n.steps,warnings:n.warnings}),a=null,s=!1,i=I("push-plan",e,t).then((o)=>{if(s)return o.dispose(),o.root;return a=o,o.root});return{dispose(){s=!0,a?.dispose(),a=null},ready:i,update(o){e.steps=o.steps,e.warnings=o.warnings,e.errors=o.errors}}}var l=null;function x(){let t=l;l=null,t?.plan?.dispose(),t?.handle.close()}function b(t,n){return t.map((e,a)=>({key:`${n}:${a}`,text:e}))}function w(t){let n=t.phase==="done"?t.result:t.dryRun;return{errors:b(n?.errors??[],"error"),steps:(n?.plan??[]).map((e,a)=>({key:`${e.kind}:${a}`,kind:e.kind,summary:e.summary})),warnings:b(n?.warnings??[],"warning")}}function C(t){if(t.phase==="loading")return"Compiling plan…";if(t.phase==="applying")return"Applying…";if(t.phase==="done")return t.result?.applied?"Schema applied.":"Push failed.";let n=t.dryRun?.plan.length??0,e=t.dryRun?.errors?.length??0;return n===0&&e===0?"Nothing to push — the schema is up to date.":""}function d(){let t=l;if(!t)return;let n=t.phase==="confirm"&&(t.dryRun?.plan.length??0)>0;t.handle.update({cancelLabel:t.phase==="done"?"Close":"Cancel",confirmLabel:n?"Apply":"",message:C(t)}),t.plan?.update(w(t))}async function R(t,n){if(l)return;let e={connection:t,dryRun:null,handle:null,onDone:n,phase:"loading",plan:null,result:null};e.handle=Ss({cancelLabel:"Cancel",confirmLabel:"",headline:t?`Push Schema — ${t}`:"Push Schema",island:(s)=>{e.plan=S(s,w(e))},layer:Ct("dialog"),message:"Compiling plan…",onCancel:x,onClosed:()=>{if(l===e)x()},onConfirm:()=>{H()},region:"data/push"}),l=e;let a=await jS({dryRun:!0,...t===void 0?{}:{connection:t}});if(l!==e)return;e.dryRun=a,e.phase="confirm",d()}async function H(){let t=l;if(!t)return;t.phase="applying",d();let n=await jS(t.connection===void 0?{}:{connection:t.connection});if(l!==t)return;t.result=n,t.phase="done",d(),t.onDone()}var u={pushing:!1,testResult:null,testing:null},v=new Map;function P(t,n){let{testResult:e}=u;return{resultOk:e?.ok?"true":"false",resultState:e?"shown":"hidden",resultText:e?`${e.connection}: ${e.ok?"connected":e.error??"failed"}`:"",resultTitle:e?.error??"",testDisabled:!n||u.testing!==null,testLabel:u.testing?"Testing…":"Test Connection",testState:t==="connections"?"shown":"hidden"}}function D(t){if(t!=="connections"&&t!=="data"||!qw())return null;return(n,e)=>j(n,t,e)}async function L(t,n){u.testing=t,u.testResult=null,n();let e=await WE(t);u.testing=null,u.testResult={...e,connection:t},n()}function j(t,n,e){let{rerender:a,selected:s}=e,i=v.get(t);if(i){i.update(P(n,s));return}let o=()=>n==="connections"?e.selected??void 0:void 0;v.set(t,h(t,P(n,s),{openGrid:()=>{XE()},push:()=>{R(o(),a)},test:()=>{let r=e.selected;if(r)L(r,a)}}))}var N=100;function E(t){let e=t.studio?.settings;if(!e)return null;let{key:a}=t.project,s=e.layout??"form",i=t.entrySchema??{},o=s==="map"?typeof i.additionalProperties==="object"?i.additionalProperties:{}:i,r=e.label??t.project.title??a;return{contribution:{entrySchema:o,key:a,settings:{...e.entry===void 0?{}:{entry:e.entry},...e.layout===void 0?{}:{layout:e.layout}},title:r},icon:e.icon,key:a,label:r,order:e.order??N}}var p=new Set,c=null;function ot(){return c??Promise.resolve()}function rt(){return c??=M().finally(()=>{c=null}),c}async function M(){let[t]=await Promise.all([Yd(),Kt()]),n=new Set;for(let e of t)for(let a of e.contributions){let s=E(a);if(!s)continue;let{contribution:i}=s;ms({icon:s.icon,key:s.key,label:s.label,order:s.order,render:(o)=>{let r=D(s.key);MS(o,i,{formats:zp(),...r===null?{}:{actions:r}})}}),n.add(s.key)}for(let e of p)if(!n.has(e))FS(e);p.clear();for(let e of n)p.add(e)}export{ot as extensionSectionsReady,rt as syncExtensionSettingsSections};
2
2
 
3
- //# debugId=B7087722307473CA64756E2164756E21
4
- //# sourceMappingURL=extension-sections-8beq9ac3.js.map
3
+ //# debugId=7D50372C07F36AA764756E2164756E21
4
+ //# sourceMappingURL=extension-sections-6mwh2hf8.js.map
@@ -0,0 +1,4 @@
1
+ import{Do,JS,YS,yp,ZS,dm,um}from"./studio-7vg6jcd3.js";import"./studio-t6b6qe31.js";import"./studio-gjtpe62q.js";import"./studio-7zx31knw.js";import"./studio-yw05w8f0.js";import"./studio-tdcprbqb.js";import"./studio-rc6dvxjb.js";import"./studio-yb560vxr.js";import"./studio-gf0fz03c.js";import"./studio-t1xzawhr.js";import"./studio-e81q1vb9.js";import"./studio-w0cgf6jg.js";import"./studio-gx4dnjzd.js";import"./studio-74k29dy9.js";import"./studio-pcgz8heb.js";import"./studio-a2ke1e4t.js";import"./studio-epgrmqqm.js";import"./studio-rv11kfwa.js";import"./studio-5tnvjkz4.js";import"./studio-xz2yxfcb.js";import"./studio-g1shz58g.js";import"./studio-1q1sh2ax.js";import"./studio-9mccjwjh.js";import"./studio-zyqn40w4.js";import"./studio-ery42sqr.js";import"./studio-55h4mstj.js";export{dm as confirmFileDelete,ZS as exportFile,JS as parseCollabSource,Do as parseSourceForPath,um as renamePromptMessage,yp as saveFile,YS as setDocumentSavedListener};
2
+
3
+ //# debugId=86DA9EC0E38DE51E64756E2164756E21
4
+ //# sourceMappingURL=file-ops-meej5mqf.js.map
@@ -0,0 +1,4 @@
1
+ import{$r,fS,mS,gS,$w,em,bS,yS,Iw,EE,yI,Ir,Dw,vS,wS,fp,xS}from"./studio-kk7h30ne.js";import"./studio-myjcghv3.js";import"./studio-vrmcjf9g.js";import"./studio-4tanh828.js";import"./studio-qv1pwd3c.js";import"./studio-vyc0b4he.js";import"./studio-h46vtzk8.js";import"./studio-qkstvve9.js";import"./studio-7vg6jcd3.js";import"./studio-t6b6qe31.js";import"./studio-gjtpe62q.js";import"./studio-7zx31knw.js";import"./studio-yw05w8f0.js";import"./studio-tdcprbqb.js";import"./studio-rc6dvxjb.js";import"./studio-yb560vxr.js";import"./studio-gf0fz03c.js";import"./studio-t1xzawhr.js";import"./studio-e81q1vb9.js";import"./studio-w0cgf6jg.js";import"./studio-gx4dnjzd.js";import"./studio-74k29dy9.js";import"./studio-pcgz8heb.js";import"./studio-a2ke1e4t.js";import"./studio-epgrmqqm.js";import"./studio-rv11kfwa.js";import"./studio-5tnvjkz4.js";import"./studio-xz2yxfcb.js";import"./studio-g1shz58g.js";import"./studio-1q1sh2ax.js";import"./studio-9mccjwjh.js";import"./studio-zyqn40w4.js";import"./studio-ery42sqr.js";import"./studio-55h4mstj.js";export{Iw as createFileIn,$w as findHomePage,gS as initProjectRepo,$r as loadDirectory,fS as loadProject,EE as notifyMoveOutcome,Dw as openFileInPane,Ir as openFileInTab,em as openLastSessionOrHome,mS as openProject,yS as registerFileTreeDnD,xS as registerFilesPanel,vS as reloadCleanTab,fp as reloadFileInTab,wS as reloadTabsIfChanged,bS as renderFilesTemplate,yI as settleRename};
2
+
3
+ //# debugId=DE5E58EC4331E20A64756E2164756E21
4
+ //# sourceMappingURL=files-44vp8a2s.js.map
@@ -0,0 +1,4 @@
1
+ import{Kt,Jd,Yd,Um,qy,rl,zp,Ys,_i,Up,Qt,ol,Fo,E1,Zs,T1}from"./studio-5tnvjkz4.js";import"./studio-xz2yxfcb.js";export{Fo as defaultContentFormat,ol as documentExtensions,Ys as formatByExtension,_i as formatByName,Qt as formatForPath,E1 as formatParse,Zs as formatSerialize,qy as getExtensionCatalog,Um as getExtensions,zp as getFormats,Yd as loadExtensions,Kt as loadFormats,Up as noFormatError,rl as refreshExtensionUi,Jd as refreshFormats,T1 as splitFormatDocument};
2
+
3
+ //# debugId=FF47668C9A02C7A464756E2164756E21
4
+ //# sourceMappingURL=format-host-7q1petb9.js.map
@@ -0,0 +1,4 @@
1
+ import{Vs,Tc,XS}from"./studio-t6b6qe31.js";import"./studio-yb560vxr.js";import"./studio-pcgz8heb.js";import"./studio-a2ke1e4t.js";import"./studio-epgrmqqm.js";import"./studio-5tnvjkz4.js";import"./studio-xz2yxfcb.js";import"./studio-zyqn40w4.js";import"./studio-ery42sqr.js";import"./studio-55h4mstj.js";export{Tc as isRecentLocal,Vs as markLocalMutation,XS as startFsSync};
2
+
3
+ //# debugId=EFD57EF3F4B864EC64756E2164756E21
4
+ //# sourceMappingURL=fs-events-h2mwnxaz.js.map
@@ -0,0 +1,4 @@
1
+ import{_c,CS,Mw,Fw,kS,ES,TS,nm,LS}from"./studio-myjcghv3.js";import"./studio-vrmcjf9g.js";import"./studio-4tanh828.js";import"./studio-7zx31knw.js";import"./studio-yw05w8f0.js";import"./studio-tdcprbqb.js";import"./studio-rc6dvxjb.js";import"./studio-yb560vxr.js";import"./studio-gf0fz03c.js";import"./studio-t1xzawhr.js";import"./studio-e81q1vb9.js";import"./studio-w0cgf6jg.js";import"./studio-gx4dnjzd.js";import"./studio-74k29dy9.js";import"./studio-pcgz8heb.js";import"./studio-a2ke1e4t.js";import"./studio-epgrmqqm.js";import"./studio-rv11kfwa.js";import"./studio-5tnvjkz4.js";import"./studio-xz2yxfcb.js";import"./studio-g1shz58g.js";import"./studio-1q1sh2ax.js";import"./studio-9mccjwjh.js";import"./studio-zyqn40w4.js";import"./studio-ery42sqr.js";import"./studio-55h4mstj.js";export{nm as cleanupGitPanel,Mw as cloneRepository,kS as loadDiffForLens,CS as noteFileSaved,Fw as platformSupportsClone,_c as refreshGitStatus,LS as registerGitPanel,TS as registerSourceControlCommands,ES as renderGitPanel};
2
+
3
+ //# debugId=A1EE6F95C40CAA2664756E2164756E21
4
+ //# sourceMappingURL=git-panel-zngbymvd.js.map