@reformer/builder 3.0.0-beta.1 → 3.0.0-beta.3

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 (57) hide show
  1. package/README.md +42 -0
  2. package/dist/assets/{App-EWxVyd71.js → App-DDHZ1u4r.js} +259 -271
  3. package/dist/assets/{BootError-8gklkOEj.js → BootError-BocATCDq.js} +1 -1
  4. package/dist/assets/ChatPanel-CLGfEFwO.js +82 -0
  5. package/dist/assets/CodeEditor-D2CN7Y0Y.js +1 -0
  6. package/dist/assets/MarkdownPreview-DeF2kLYf.js +31 -0
  7. package/dist/assets/RawJsonEditor-CAn-6k60.js +1 -0
  8. package/dist/assets/{boot-CGsYMAQp.js → boot-CGXL9DvO.js} +1 -1
  9. package/dist/assets/byok-AwgW0TGr.js +120 -0
  10. package/dist/assets/{monaco-setup-BytXwQeQ.js → editor.api-D0kmPZPG.js} +151 -162
  11. package/dist/assets/{freemarker2-BQAfMb99.js → freemarker2-KoU2HZ3i.js} +2 -2
  12. package/dist/assets/handlebars-z9wljS-d.js +1 -0
  13. package/dist/assets/html-Dm_WSorp.js +1 -0
  14. package/dist/assets/{index-CSZOipZ8.js → index-7XdLAZ8M.js} +2 -2
  15. package/dist/assets/{index-BgGwGI4q.js → index-BcXYSsF-.js} +9 -9
  16. package/dist/assets/index-Bz9Zy-iu.js +1 -0
  17. package/dist/assets/index-CQSolIG8.js +3 -0
  18. package/dist/assets/{index-Uhx9KLCG.js → index-CQzoXBah.js} +1 -1
  19. package/dist/assets/{index-BLqONGUt.js → index-CwkqyHY1.js} +2 -2
  20. package/dist/assets/index-TeGkT1-d.css +1 -0
  21. package/dist/assets/javascript-CLIFL9TE.js +1 -0
  22. package/dist/assets/{jsonMode-D3mpWOQQ.js → jsonMode-BWN-M-0M.js} +3 -3
  23. package/dist/assets/liquid-DMbcy3LU.js +1 -0
  24. package/dist/assets/{load-DQmdgTkV.js → load-DneTPRH1.js} +4 -4
  25. package/dist/assets/mdx-CYOwcijj.js +1 -0
  26. package/dist/assets/monaco-languages-ShM1TEHM.js +2 -0
  27. package/dist/assets/monaco-setup-Bf10EGeB.js +12 -0
  28. package/dist/assets/python-HPf0NxJ6.js +1 -0
  29. package/dist/assets/razor-DEx2UEDo.js +1 -0
  30. package/dist/assets/reformer-ui-kit-11-DgIIndbm.js +1 -0
  31. package/dist/assets/reformer-ui-kit-DZ57GxjM.js +1 -0
  32. package/dist/assets/{typescript-Bjd-gS8c.js → typescript-CMnYDCrh.js} +1 -1
  33. package/dist/assets/typescript-D5hvGSDM.js +1 -0
  34. package/dist/assets/useFormField-BLbvmpme-BbA23MvM.js +1 -0
  35. package/dist/assets/xml-DNgl0Df8.js +1 -0
  36. package/dist/assets/yaml-CyW3nQo2.js +1 -0
  37. package/dist/index.html +2 -2
  38. package/package.json +11 -1
  39. package/dist/assets/CodeEditor-152n3d6e.js +0 -2
  40. package/dist/assets/RawJsonEditor-CkDLPhsI.js +0 -1
  41. package/dist/assets/handlebars-Brdeuzw5.js +0 -1
  42. package/dist/assets/html-BjYaOi8p.js +0 -1
  43. package/dist/assets/index-4oDdZ-Yj.js +0 -3
  44. package/dist/assets/index-CFDCSwb2.js +0 -1
  45. package/dist/assets/index-DIgOR-JL.css +0 -1
  46. package/dist/assets/javascript-CTKhG5-q.js +0 -1
  47. package/dist/assets/liquid-CSjp0MaB.js +0 -1
  48. package/dist/assets/mdx-Bc5quPBk.js +0 -1
  49. package/dist/assets/python-DuAl67Eo.js +0 -1
  50. package/dist/assets/razor-BbXkrvwj.js +0 -1
  51. package/dist/assets/reformer-ui-kit-11-DNMUPUyd.js +0 -1
  52. package/dist/assets/reformer-ui-kit-1LAJcT8b.js +0 -1
  53. package/dist/assets/typescript-0wJoIq5V.js +0 -1
  54. package/dist/assets/useFormField-BLbvmpme-4e6SCAMU.js +0 -1
  55. package/dist/assets/xml-bMgZPd2t.js +0 -1
  56. package/dist/assets/yaml-yApvoFdI.js +0 -1
  57. /package/dist/assets/{monaco-setup-BzOv8av-.css → editor-BzOv8av-.css} +0 -0
@@ -0,0 +1 @@
1
+ import{j as p,r as o}from"./index-7XdLAZ8M.js";import{g as ee,C as ne,y as re,b as te,a as W,l as C,j as M,c as oe,L as se}from"./useFormField-BLbvmpme-BbA23MvM.js";function I(e){return e.value instanceof C}function T(e){const n=e;return n.array!=null&&typeof n.array=="object"&&typeof n.item=="function"}function U(e){const n=e.component;return typeof n=="function"?!0:typeof n=="string"?n.length>0:n!==null&&typeof n=="object"&&n.$$typeof!==void 0}function ce(e){return typeof e.component=="string"}const V=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),H=o.createContext(null);function G({value:e,children:n}){return p.jsx(H.Provider,{value:e,children:n})}function L(){const e=o.useContext(H);if(!e)throw new Error("useRenderContext must be used within RenderContextProvider (FormRenderer)");return e}const z=Symbol("RenderSchemaProxy"),w=o.createContext(null);function F(e){return typeof e=="function"&&z in e}function D(e){const n=new Map,t=new Map,r=new Map,s=new Map,c=[],u=new Map,l=new Map,i=W(0),d=new Map,m=a=>{let f=d.get(a);return f||(f=W(0),d.set(a,f)),f},h=a=>{i.value++,m(a).value++},_={hiddenOverrides:n,propsOverrides:t,refRegistry:r,conditionRegistry:s,effectRegistry:c,callbackRegistry:u,lifecycleRegistry:l,version:i,versionFor:m},b=e;return Object.assign(b,{[z]:!0,__overrideMaps:_}),b.node=a=>({setHidden(f){return n.set(a,f),h(a),this},resetHidden(){return n.delete(a),h(a),this},patchProps(f){return t.set(a,{...t.get(a)??{},...f}),h(a),this},resetProps(){return t.delete(a),h(a),this},getRef(){return r.has(a)||r.set(a,o.createRef()),r.get(a)},__selector:a,__overrideMaps:_}),b}function ie(e){const n=o.useContext(w);return o.useSyncExternalStore(o.useCallback(t=>n&&e?n.versionFor(e).subscribe(t):()=>{},[n,e]),()=>e&&n?n.hiddenOverrides.get(e)??null:null,()=>e&&n?n.hiddenOverrides.get(e)??null:null)}function ue(e){const n=o.useContext(w);return o.useSyncExternalStore(o.useCallback(t=>n&&e?n.versionFor(e).subscribe(t):()=>{},[n,e]),()=>e&&n?n.propsOverrides.get(e)??null:null,()=>e&&n?n.propsOverrides.get(e)??null:null)}function le(e,n){e.__overrideMaps.conditionRegistry.set(e.__selector,n)}function ae(e,n,t){const{callbackRegistry:r}=e.__overrideMaps;r.has(e.__selector)||r.set(e.__selector,new Map),r.get(e.__selector).set(n,t)}function de(e,n){e.__overrideMaps.effectRegistry.push(n)}function K(e,n,t){const{lifecycleRegistry:r}=e.__overrideMaps,s=r.get(e.__selector)??{};r.set(e.__selector,{...s,[n]:t})}function fe(e,n){n()}function pe(e,n){K(e,"onMount",n)}function me(e,n){K(e,"onUnmount",n)}function ve(e){const n=o.useCallback(()=>e?.()??!1,[e]),t=o.useCallback(r=>e?oe(e).subscribe(r):()=>{},[e]);return o.useSyncExternalStore(t,n,n)}function he({effectRegistry:e}){return o.useEffect(()=>{const n=e.map(t=>M(()=>{const r=t();return typeof r=="function"?r:void 0}));return()=>n.forEach(t=>t())},[]),null}function ye(e){o.useEffect(()=>{if(!e)return;const n=e.onMount?.();return()=>{typeof n=="function"&&n(),e.onUnmount?.()}},[e])}const A=e=>e;function ge(e,n,t,r,s){const c=e.strip?.length?Object.fromEntries(Object.entries(s).filter(([u])=>!e.strip.includes(u))):s;return{...c,[e.valueProp??"value"]:(e.toValue??A)(n),[e.changeProp??"onChange"]:u=>t((e.fromEmit??A)(u,c)),...e.bindBlur?e.bindBlur(r):{onBlur:r}}}function be(e){const n=o.useRef({value:e.value.value,disabled:e.disabled.value,componentProps:e.componentProps.value}),t=o.useCallback(s=>{let c=!0;return M(()=>{if(e.value.value,e.disabled.value,e.componentProps.value,c){c=!1;return}s()})},[e]),r=o.useCallback(()=>{const s=e.value.value,c=e.disabled.value,u=e.componentProps.value,l=n.current;if(l.value===s&&l.disabled===c&&l.componentProps===u)return l;const i={value:s,disabled:c,componentProps:u};return n.current=i,i},[e]);return o.useSyncExternalStore(t,r,r)}const Re=o.memo(function({node:e,fieldNode:n,fieldWrapper:t,nodeRef:r,resolveFieldAdapter:s}){const{value:c,disabled:u,componentProps:l}=be(n),i=o.useCallback(v=>n.setValue(v),[n]),d=o.useCallback(()=>n.markAsTouched(),[n]),m=e.component;if(!m)return typeof console<"u"&&console.warn("[RenderSchema] Model field has no component — nothing to render."),null;const{className:h,wrapper:_="div",fieldWrapper:b,testId:a,...f}={...e.componentProps,...l},y=e.value.__path,g=typeof a=="string"?a:y?y.replace(/\./g,"-"):void 0,R=s?.(m),j=R?.passControl===!0||m.reformerNeedsControl===!0?{control:n}:{};let x;if(R){const v=ge(R,c,i,d,f);g&&v["data-testid"]===void 0&&(v["data-testid"]=`input-${g}`),x=p.jsx(m,{disabled:u,...v,...j,...r!==void 0?{ref:r}:{}})}else{const v={value:c,disabled:u,...f};g&&v["data-testid"]===void 0&&(v["data-testid"]=`input-${g}`),x=p.jsx(m,{...j,...v,...r!==void 0?{ref:r}:{},onChange:i,onBlur:d})}const S=b??t;return S?p.jsx(S,{control:n,className:h,testId:g,children:x}):p.jsx(_,{className:h,children:x})});function _e(e){const n=o.useRef(0),t=o.useCallback(r=>M(()=>{e.length,n.current+=1,r()}),[e]);return o.useSyncExternalStore(t,()=>n.current,()=>n.current)}const $=new WeakMap;let N=0;function xe(e){if(e==null||typeof e!="object")return N++;let n=$.get(e);return n===void 0&&(n=N++,$.set(e,n)),n}const ke=e=>typeof e=="function"?e():e;function X(e,n,t){_e(e);const r=e.length,s=o.useRef(null);(!s.current||s.current.itemFn!==n)&&(s.current={itemFn:n,map:new WeakMap});const c=u=>{if(u==null||typeof u!="object")return n(u);const l=s.current.map;let i=l.get(u);return i===void 0&&(i=n(u),l.set(u,i)),i};return Array.from({length:r},(u,l)=>{const i=e.at(l),d=xe(i);return{key:d,index:l,model:i,element:p.jsx(E,{node:c(i),fieldWrapper:t},d)}})}const B=new WeakSet;function je(e){if(typeof console>"u")return;const n=e.array;if(B.has(n))return;B.add(n);const t=e.array.__path;console.warn(`[RenderSchema] Array node${t?` "${t}"`:""} has no \`component\` — items are rendered without add/remove/reorder UI. Register an array component (e.g. \`FormArray\` from @reformer/ui-kit) and set \`component\` on the node.`)}const Ce=o.memo(function({node:e,fieldWrapper:n}){const t=X(e.array,e.item,n);return je(e),p.jsx(p.Fragment,{children:t.map(r=>r.element)})}),Me=o.memo(function({node:e,fieldWrapper:n}){const t=e.component,r=e.array,s=X(r,e.item,n),{initialValue:c}=e,u=o.useCallback(()=>r.push(ke(c)),[r,c]),l=o.useCallback(m=>r.removeAt(m),[r]),i=o.useCallback((m,h)=>r.move(m,h),[r]),d=s.map(({key:m,index:h,model:_,element:b})=>({key:m,index:h,model:_,children:b}));return p.jsx(t,{items:d,onAdd:u,onRemove:l,onMove:i,...e.componentProps??{}})});function q(e){return typeof e=="string"||typeof e=="number"||e instanceof C}function Se(e){const n=[];let t=null;return e.forEach((r,s)=>{if(q(r)){t||(t={key:s,parts:[]},n.push(t)),t.parts.push(r);return}t=null,n.push({key:s,node:r})}),n}function we(e){const n=[];let t=0;for(const r of e)q(r)?t+=1:n.push(r);return n}function Ee(e){const n=[];for(const t of e)t instanceof C&&n.push(t);return n}function Pe(e){let n="";for(const t of e){const r=t instanceof C?t.value:t;r!=null&&(n+=String(r))}return n}function J(e){const n=o.useRef({signals:e,key:0}),t=n.current;return(t.signals.length!==e.length||e.some((r,s)=>r!==t.signals[s]))&&(n.current={signals:e,key:t.key+1}),n.current.key}function Fe(e){const n=[];if(e)for(const i of Object.keys(e))e[i]instanceof C&&n.push(i);const t=n.map(i=>e[i]),r=J(t),s=o.useRef(t);s.current=t;const c=o.useRef(0),u=o.useCallback(i=>{if(s.current.length===0)return()=>{};let d=!0;return M(()=>{for(const m of s.current)m.value;if(d){d=!1;return}c.current+=1,i()})},[r]);if(o.useSyncExternalStore(u,()=>c.current,()=>c.current),!e||n.length===0)return e;const l={...e};for(const i of n)l[i]=e[i].value;return l}const Oe=o.memo(function({parts:e}){const n=Ee(e),t=J(n),r=o.useRef(e);r.current=e;const s=o.useRef(n);s.current=n;const c=o.useCallback(l=>{if(s.current.length===0)return()=>{};let i=!0;return M(()=>{for(const d of s.current)d.value;if(i){i=!1;return}l()})},[t]),u=o.useCallback(()=>Pe(r.current),[]);return o.useSyncExternalStore(c,u,u)});function E({node:e,form:n,fieldWrapper:t}){const{settings:r}=L(),s=t??r?.fieldWrapper,{selector:c}=e,u=ie(c),l=ue(c),i=o.useContext(w),d=c&&i?.refRegistry.has(c)?i.refRegistry.get(c):void 0,m=c?i?.conditionRegistry.get(c):void 0,h=ve(m),_=u??h,b=c?i?.lifecycleRegistry.get(c):void 0;ye(b);const a=Fe(e.componentProps);if(_)return null;if(I(e)){const f=ee(e.value);if(!f){if(typeof console<"u"){const R=e.value.__path;console.warn(`[RenderSchema] No form node for signal${R?` "${R}"`:""} — render value-leaf after createForm.`)}return null}const y=c??e.value.__path,g=y&&i?.refRegistry.has(y)?i.refRegistry.get(y):void 0;return p.jsx(Re,{node:e,fieldNode:f,fieldWrapper:s,nodeRef:g,resolveFieldAdapter:r?.resolveFieldAdapter})}if(T(e))return e.component?p.jsx(Me,{node:e,fieldWrapper:s}):p.jsx(Ce,{node:e,fieldWrapper:s});if(U(e)){const{selector:f,component:y,children:g}=e,R=a||{},j=l!=null?{...R,...l}:R,x=f?i?.callbackRegistry.get(f):void 0,S=x?Object.fromEntries(x):{},v=x?{...j,...S}:j,P=typeof y=="string",Q=!P&&f!==void 0?{selector:f}:{},O=y;if(!P&&y.__selfManagedChildren===!0){const k=y,Y=v.form===void 0&&n!==void 0?{form:n}:{},Z=g!==void 0?{children:we(g)}:{};return p.jsx(k,{...f!==void 0?{selector:f}:{},...v,...Y,...d!==void 0?{ref:d}:{},...Z})}return P&&V.has(y)?p.jsx(O,{...v,...d!==void 0?{ref:d}:{}}):p.jsx(O,{...Q,...v,...d!==void 0?{ref:d}:{},children:g&&Se(g).map(k=>"parts"in k?p.jsx(Oe,{parts:k.parts},k.key):p.jsx(E,{node:k.node,form:n},k.key))})}return null}function We({render:e,form:n,settings:t}){const r=e??n?.render;if(!r)throw new Error("FormRenderer: provide either `render` (a RenderSchemaFn) or `form` (a createReactForm bundle).");const s=r(),c=p.jsxs(G,{value:{settings:t},children:[F(r)&&r.__overrideMaps.effectRegistry.length>0&&p.jsx(he,{effectRegistry:r.__overrideMaps.effectRegistry}),p.jsx(E,{node:s})]});return F(r)?p.jsx(w.Provider,{value:r.__overrideMaps,children:c}):c}function Ae(e){if(!e.model&&e.initial===void 0)throw new Error("createReactForm: provide either `initial` (to create a model) or `model`.");const n=e.model??ne(e.initial);e.seed?.(n);const t=re({model:n,schema:e.schema(n),...e.behavior?{behavior:e.behavior}:{}}),r=te(n,e.validation),s=D(()=>e.schema(n,t));e.renderBehavior?.(t,n,r)(s);const c={model:n,form:t,render:s,...r?{validation:r}:{}};return e.setup?.(c),c}const Be=Object.freeze(Object.defineProperty({__proto__:null,FormRenderer:We,RenderContextProvider:G,RenderNodeComponent:E,VOID_HTML_TAGS:V,createReactForm:Ae,createRenderSchema:D,hideWhen:le,isArrayRenderNode:T,isContainerRenderNode:U,isHtmlTagRenderNode:ce,isModelFieldRenderNode:I,isRenderSchemaProxy:F,onComponentEvent:ae,onInit:fe,onMount:pe,onUnmount:me,renderEffect:de,useReactForm:se,useRenderContext:L},Symbol.toStringTag,{value:"Module"}));export{We as G,E as T,D as p,Be as r};
@@ -0,0 +1,3 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/typescript-CMnYDCrh.js","assets/index-7XdLAZ8M.js","assets/index-TeGkT1-d.css"])))=>i.map(i=>d[i]);
2
+ import{l as pe,n as he,c as ve,j as H,a as ge,o as ye,C as z,B as be,F as T,E as U,d as C,e as _e,w as k,D as X,x as K,f as Y,h as G,W as Q,K as B,t as xe,k as Ee,P as Se,i as we,m as je,p as Fe,q as $e,s as Oe}from"./useFormField-BLbvmpme-BbA23MvM.js";import{i as $,Q as Re,p as D,X as ke,a as De,b as Pe,H as Ae,c as Te,r as Ce,s as Z,d as Be,l as Me,e as Ie,f as Ve}from"./App-DDHZ1u4r.js";import{a as Le,d as We,e as Je,_ as Ne}from"./index-7XdLAZ8M.js";import{c as ee}from"./reformer-ui-kit-DZ57GxjM.js";import{r as qe}from"./index-Bz9Zy-iu.js";import{g as He}from"./boot-CGXL9DvO.js";import"./load-DneTPRH1.js";import"./index-CwkqyHY1.js";function ze(e,t){for(var r=0;r<t.length;r++){const o=t[r];if(typeof o!="string"&&!Array.isArray(o)){for(const n in o)if(n!=="default"&&!(n in e)){const i=Object.getOwnPropertyDescriptor(o,n);i&&Object.defineProperty(e,n,i.get?i:{enumerable:!0,get:()=>o[n]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}const Ue=Object.freeze(Object.defineProperty({__proto__:null,Signal:pe,batch:he,computed:ve,effect:H,signal:ge,untracked:ye},Symbol.toStringTag,{value:"Module"}));function Xe(e){const t=D(e.component)?.arg;if(t==="FileUpload"||t==="FileUploadAvatar"||t==="Attachment")return null;if(t==="Checkbox"||t==="Switch"||t==="Toggle")return!1;if(t==="Slider"){const r=e.componentProps?.min;return typeof r=="number"?r:0}return e.componentProps?.type==="number"?null:""}function Ke(e){const t=[],r=o=>{if(Re(o)){const n=D(o.array);n?.op==="model"&&t.push({path:n.arg,value:[]});return}if(ke(o)){const n=D(o.value);n?.op==="model"&&t.push({path:n.arg,value:Xe(o)});return}if(De(o)){const n=o;n.children?.forEach(a=>$(a)&&r(a));const i=n.componentProps?.steps;Array.isArray(i)&&i.forEach(a=>$(a)&&r(a))}};return $(e.root)&&r(e.root),t}function Ye(e){const t={};for(const{path:r,value:o}of e)Ge(t,r.split("."),o);return t}function Ge(e,t,r){let o=e;for(let i=0;i<t.length-1;i++){const a=t[i];(typeof o[a]!="object"||o[a]===null)&&(o[a]={}),o=o[a]}const n=t[t.length-1];n in o||(o[n]=r)}function v(e,t,r){for(const o of t){const n=e[o]?.[r];if(n!==void 0)return n}}const Qe=["model.ts","model.tsx"],O=["validation.ts"],Ze=["form.behavior.ts","form-behavior.ts","behavior.ts"],V=["renderer.behavior.ts","render-behavior.ts","ui.ts"],et=["registry.ts","registry.tsx"],S=e=>typeof e=="function";function tt(e){const t={},r=v(e,Qe,"initialFormModel");r&&typeof r=="object"&&(t.initial=r);const o=v(e,O,"formValidation");o&&(t.validation=o);const n=v(e,O,"validationOptions");n&&typeof n=="object"&&(t.validationOptions=n);const i=v(e,O,"makeValidationConfig");!t.validation&&S(i)&&(t.makeValidationConfig=i);const a=v(e,Ze,"formBehavior");a&&(t.behavior=a);const f=v(e,V,"formRenderBehavior");S(f)&&(t.renderBehavior=f);const s=v(e,V,"createRenderBehavior");S(s)&&(t.renderBehaviorFactory=s);const c=v(e,et,"createRegistry");return S(c)&&(t.createRegistry=c),t}function rt(e){const t=[];return e.initial&&t.push("model"),(e.validation||e.makeValidationConfig)&&t.push("validation"),e.behavior&&t.push("behavior"),(e.renderBehavior||e.renderBehaviorFactory)&&t.push("renderBehavior"),e.createRegistry&&t.push("registry"),t}function L(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function P(e,t){const r={...e};for(const[o,n]of Object.entries(t)){const i=r[o];r[o]=L(i)&&L(n)?P(i,n):n}return r}function Jt(e){const{schema:t,compiled:r,dataSources:o,modelOverride:n}=e,i=tt(r.modules),a=[...r.errors];let f=Ye(Ke(t));i.initial&&(f=P(f,i.initial)),n&&(f=P(f,n));const s=z(f);let c=Pe(t,o);if(i.createRegistry)try{c=Ae(c,i.createRegistry())}catch(d){a.push({file:"registry.ts",phase:"evaluate",message:d instanceof Error?d.message:String(d)})}const{form:l}=Te({schema:t,registry:c,model:s,behavior:i.behavior});let u=null,p=null,h=null;if(i.validation)try{u=be(s,i.validation,i.validationOptions),p=i.validationOptions?.strategy??"submit",h=()=>u.validate()}catch(d){a.push({file:"validation.ts",phase:"evaluate",message:d instanceof Error?d.message:String(d)})}else if(i.makeValidationConfig)try{const d=i.makeValidationConfig(s);h=()=>d.validateAll?.()??Promise.resolve(!0),a.push({file:"validation.ts",phase:"evaluate",message:"Экспортирован makeValidationConfig вместо formValidation — реактивная стратегия недоступна, валидацию можно запустить только вручную."})}catch(d){a.push({file:"validation.ts",phase:"evaluate",message:d instanceof Error?d.message:String(d)})}let F=i.renderBehavior;if(!F&&i.renderBehaviorFactory)try{F=i.renderBehaviorFactory(l,s)}catch(d){a.push({file:"renderer.behavior.ts",phase:"evaluate",message:d instanceof Error?d.message:String(d)})}return{registry:c,model:s,form:l,validation:u,strategy:p,validateAll:h,renderBehavior:F,applied:rt(i),errors:a}}function ot(e,t,r){const o={exports:{}},n=`${e}
3
+ //# sourceURL=reformer-builder:///${r}`;return new Function("exports","require","module","__filename",n)(o.exports,t,o,r),o.exports}var R={exports:{}},w={};var W;function nt(){if(W)return w;W=1;var e=Symbol.for("react.fragment");return w.Fragment=e,w.jsxDEV=void 0,w}var J;function it(){return J||(J=1,R.exports=nt()),R.exports}var te=it();const at=Le(te),st=ze({__proto__:null,default:at},[te]);let x=null;function re(e){if(!x)throw new Error(`[@reformer/core/behaviors] "${e}" вызван вне defineFormBehavior(...) — операторы поведения можно вызывать только внутри схемы.`);return x}function m(e){re("onDispose").cleanups.push(e)}function _(){const e=re("getScope");return{model:e.model,form:e.form}}function oe(e){return{__run(t,r){const o={cleanups:[],model:t,form:r},n=x;x=o;try{e({model:t,form:r})}finally{x=n}return()=>{for(const i of o.cleanups)i()}}}}function g(e){m(H(e))}function j(e){C(e)}const b=e=>typeof e=="object"&&e!==null&&typeof e.peek=="function"&&!Q(e),ne=e=>Array.isArray(e)?e:[e];function ie(e){const t={};for(const r of Object.keys(e)){const o=e[r];t[r]=b(o)?o.value:ie(o)}return t}function ae(e,t){for(const r of Object.keys(e)){const o=e[r];b(o)?o.value=t?.[r]:ae(o,t?.[r]??{})}}function ct(e){if(!e)return;const{form:t}=_();return t.getFieldByPath(e)}function se(e){return new Proxy({},{get:(t,r)=>{if(r==="$")return e;if(typeof r!="string")return;const o=e[r];if(o!=null)return b(o)?o.value:se(o)}})}function ce(e){return t=>{try{t()}catch(r){if(r instanceof Error&&/cycle detected/i.test(r.message)){const o=e.__path??"?";throw new Error(`[@reformer/core/behaviors] compute("${o}"): расходящийся цикл пересчёта — взаимные compute/computeFrom без стабилизации. Проверьте зависимости или добавьте стабилизирующее условие (when) / разорвите цикл через peek.`)}throw r}}}function ft(e,t,r){T(e),m(()=>B(e));const o=ce(e);g(()=>{if(r?.when&&!r.when())return;const n=t();e.peek()!==n&&o(()=>{e.value=n})})}function lt(e,t,r,o){T(t),m(()=>B(t));const n=ce(t);g(()=>{const i=e.map(f=>f.value);if(o?.when&&!o.when(...i))return;const a=r(...i);t.peek()!==a&&n(()=>{t.value=a})})}function ut(e,t,r){if(b(e)&&b(t)){m(U(e,t,r));return}const o=e,n=t;g(()=>{const i=ie(o);r?.when&&!r.when()||j(()=>ae(n,i))})}function fe(e,t,r){let o;const n=i=>{o?.abort(),o=new AbortController;const{signal:a}=o;C(()=>t(i,{signal:a}))};if(!r?.debounce)m(k(e,n,{immediate:r?.immediate}));else{let i;const a=k(e,f=>{i&&clearTimeout(i),i=setTimeout(()=>n(f),r.debounce)},{immediate:r?.immediate});m(()=>{i&&clearTimeout(i),a()})}m(()=>o?.abort())}function le(e,t,r){for(const o of ne(e))b(o)?m(_e(o,t,r)):mt(o,t,r)}function dt(e,t,r){le(e,()=>!t(),r)}function mt(e,t,r){const o=ct(e.__path);o&&g(()=>{const n=t();j(()=>{n?o.enable():(o.disable(),r?.resetOnDisable&&o.reset())})})}function pt(e,t){m(G(e,t))}function ht(e,t,r){m(X(e,t,r))}function vt(e,t,r){m(Y(e,t,r))}function gt(e,t){m(K(e,t))}function M(e,t){return t.split(".").reduce((r,o)=>r?.[o],e)}function yt(e){return new Proxy({},{get(t,r){if(!(typeof r=="symbol"||r==="then"))throw new Error(`[@reformer/core/behaviors] applyEach: форма строки массива "${e}" недоступна (form.${String(r)}) — массив не материализован в схеме формы. Per-row node-операции (enableWhen/updateComponentProps/reset) требуют узла { array, item } в схеме; value-операции (row.$.*: compute/copyFrom/transformValue) работают и без материализации.`)}})}function ue(e,t){const{model:r,form:o}=_(),n=e.__path;if(!n)return;const i=M(r,n);if(!i)return;const a=o.getFieldByPath(n),f=a?.length,s=new Map;g(()=>{const c=f?f.value:i.length,l=new Set;for(let u=0;u<c;u++){const p=i.at(u);if(p!=null&&(l.add(p),!s.has(p))){const h=a?.at?.(u)??yt(n);s.set(p,t.__run(p,h))}}for(const[u,p]of s)l.has(u)||(p(),s.delete(u))}),m(()=>{for(const c of s.values())c();s.clear()})}function A(e){if(e==null||typeof e!="object")return;const t=e;if(typeof t.at=="function"&&typeof t.length=="number"){const r=t.length;for(let o=0;o<r;o++)A(t.at(o));return}for(const r of Object.keys(e))A(e[r])}function bt(e,t){const{model:r}=_(),o=e.__path;if(!o)return;const n=M(r,o);n&&ue(e,oe(({model:i})=>{fe(t(i),a=>{if(a)for(let f=0;f<n.length;f++){const s=n.at(f);if(s&&s!==i){const c=t(s);c.peek()&&(c.value=!1)}}})}))}function _t(e,t){const{model:r}=_(),o=e.__path;if(!o)return;const n=M(r,o);if(!n)return;let i=!1,a=0;g(()=>{A(n),!i&&(i=!0,j(()=>{i=!1;const f=t(n.toArray());let s=!1;for(const{index:c,patch:l}of f){const u=n.at(c);if(u)for(const[p,h]of Object.entries(l))u[p]!==h&&(u[p]=h,s=!0)}if(a=s?a+1:0,a>50)throw a=0,new Error(`[@reformer/core/behaviors] aggregateInto("${o}"): запись не сходится (>50 проходов) — derive должна быть идемпотентной на фикспоинте.`)}))})}function xt(e,t){const{form:r}=_();for(const o of ne(e)){const n=o,i=n.__path;if(!i)continue;const a=r?r.getFieldByPath(i):void 0,f=a?a.getProxy?.()??a:void 0;m(t.__run(se(n),f))}}const Et=Object.freeze(Object.defineProperty({__proto__:null,aggregateInto:_t,apply:xt,applyEach:ue,compute:ft,computeFrom:lt,copyFrom:ut,defer:j,defineFormBehavior:oe,disableWhen:dt,effect:g,enableWhen:le,exclusiveFlag:bt,getScope:_,onChange:fe,onDispose:m,resetWhen:ht,revalidateWhen:gt,syncFields:vt,transformValue:pt},Symbol.toStringTag,{value:"Module"})),St=Object.freeze(Object.defineProperty({__proto__:null,SubscriptionManager:xe,computeFrom:Ee,copyFrom:U,createModel:z,isDerived:Se,isModelContainerSignal:Q,markDerived:T,resetWhen:X,revalidateWhen:K,runOutsideEffect:C,safeCallback:we,safeDebouncedCallback:je,syncFields:Y,transformValue:G,unmarkDerived:B,watchField:k},Symbol.toStringTag,{value:"Module"})),I={react:Je,"react/jsx-runtime":We,"react/jsx-dev-runtime":st,"@preact/signals-core":Oe,"@reformer/core":$e,"@reformer/core/behaviors":Et,"@reformer/core/signals":Ue,"@reformer/core/state":St,"@reformer/core/validation":Fe,"@reformer/core/validators":ee,"@reformer/renderer-json":Ce,"@reformer/renderer-react":qe},E="@reformer/ui-kit",de="@reformer/core/validators/";function wt(e){const t=I[e];if(t)return t;if(e.startsWith(de))return ee;if(e===E||e.startsWith(`${E}/`))return He();throw new Error(`Импорт «${e}» недоступен в превью. Разрешены react, @preact/signals-core, @reformer/core (+ /behaviors, /validation, /validators, /signals, /state), @reformer/renderer-json, @reformer/renderer-react, @reformer/ui-kit и файлы каталога формы.`)}function Nt(e){return e in I||e.startsWith(de)?!0:e===E||e.startsWith(`${E}/`)}function qt(){return[...Object.keys(I),E]}let N=null;async function jt(){return N??=Ne(()=>import("./typescript-CMnYDCrh.js").then(e=>e.t),__vite__mapDeps([0,1,2])).then(e=>e.default??e),N}const y=new Map,Ft=64;function $t(e,t){return`${e}\0${t}`}function Ot(e,t){if(y.size>=Ft){const r=y.keys().next().value;r!==void 0&&y.delete(r)}return y.set(e,t),t}async function Rt(e,t){const r=$t(t,e),o=y.get(r);if(o!==void 0)return o;const n=await jt(),i=n.transpileModule(e,{fileName:t,reportDiagnostics:!0,compilerOptions:{module:n.ModuleKind.CommonJS,target:n.ScriptTarget.ES2022,jsx:n.JsxEmit.ReactJSX,esModuleInterop:!0,allowJs:!0,isolatedModules:!0,useDefineForClassFields:!0}}),a=i.diagnostics?.[0];if(a){const f=n.flattenDiagnosticMessageText(a.messageText," "),s=a.file&&a.start!==void 0?(()=>{const{line:c,character:l}=a.file.getLineAndCharacterOfPosition(a.start);return`:${c+1}:${l+1}`})():"";throw new Error(`${t}${s} — ${f}`)}return Ot(r,i.outputText)}function Ht(){y.clear()}const kt=[".ts",".tsx",""],Dt=["model.ts","validation.ts","form.behavior.ts","renderer.behavior.ts","registry.ts","form-behavior.ts","render-behavior.ts","behavior.ts","ui.ts"],q=e=>e instanceof Error?e.message:String(e);function Pt(e,t){const r=e.replace(/^\.\//,"");if(r.includes("/"))return null;for(const o of kt){const n=`${r}${o}`;if(t.has(n))return n}return null}async function zt(e){const t=[],r={};for(const[s,c]of Object.entries(e.files))try{r[s]=await Rt(c,s)}catch(l){t.push({file:s,phase:"transpile",message:q(l)})}const o=new Set(Object.keys(r)),n={},i=new Set,a=(s,c)=>{if(!c.startsWith("."))return wt(c);const l=Pt(c,o);if(!l)throw new Error(`${s}: импорт «${c}» не найден среди файлов каталога формы`+(Object.keys(e.files).length?` (есть: ${Object.keys(e.files).join(", ")})`:""));return f(l)},f=s=>{const c=n[s];if(c)return c;if(i.has(s))throw new Error(`Циклический импорт: ${[...i,s].join(" → ")}`);i.add(s);try{const l=ot(r[s],u=>a(s,u),s);return n[s]=l,l}finally{i.delete(s)}};for(const s of Dt)if(!(!o.has(s)||n[s]))try{f(s)}catch(c){t.push({file:s,phase:"evaluate",message:q(c)})}return{modules:n,errors:t}}function me(e){return!/\.tsx?$/.test(e)||e==="index.ts"||e==="index.tsx"?!1:!/\.(test|spec)\.tsx?$/.test(e)}function At(e){const t={};for(const r of Object.values(Ve.getState().tabs)){const o=r.source.path;if(r.kind!=="code"||typeof r.text!="string"||!o)continue;const{dirPath:n,base:i}=Z(o);n!==e||!me(i)||(t[i]=r.text)}return t}async function Ut(e){const t=Z(e).dirPath,r=Be.getState().dirHandle,o={};if(r){const i=(await Me(r,t)).filter(a=>!a.includes("/")&&me(a));for(const a of i)try{o[a]=await Ie(r,t?`${t}/${a}`:a)}catch{}}const n=At(t);return Object.assign(o,n),{dir:t,files:o,fromEditor:Object.keys(n)}}export{rt as appliedArtifacts,Jt as buildLivePreview,Nt as canResolveModule,zt as compileForm,ot as evalCjsModule,tt as extractContract,qt as knownModuleSpecifiers,Ut as readFormSources,Ht as resetTranspileCache,wt as resolveModule,Rt as transpileTs};