@reformer/builder 3.0.0-beta.4 → 3.0.0-beta.5
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.
- package/dist/assets/{App-BzMuBv1U.js → App-BupMDG_t.js} +6 -6
- package/dist/assets/{BootError-CH4BoW__.js → BootError-CWnToysV.js} +1 -1
- package/dist/assets/{ChatPanel-9qHpjmLO.js → ChatPanel-B4wt7hBH.js} +3 -3
- package/dist/assets/{CodeEditor-CuHAtGtB.js → CodeEditor-Cca8j3Z3.js} +1 -1
- package/dist/assets/{MarkdownPreview-DwyxNTbn.js → MarkdownPreview-CmqjlfzE.js} +3 -3
- package/dist/assets/{RawJsonEditor-jYY7XCW2.js → RawJsonEditor-D5mwkIJa.js} +1 -1
- package/dist/assets/{boot-DTWnczkO.js → boot-BCJd6Ujw.js} +1 -1
- package/dist/assets/{byok-BM21dMSQ.js → byok-B9mwOrn0.js} +1 -1
- package/dist/assets/{editor.api-B4g2PJYj.js → editor.api-BWDeQ8t4.js} +1 -1
- package/dist/assets/{freemarker2-BlPZHoyx.js → freemarker2-DQaxDgne.js} +1 -1
- package/dist/assets/{handlebars-Dd8yor3z.js → handlebars-e1hbsCFi.js} +1 -1
- package/dist/assets/{html-C3wl1HPz.js → html-QXilGQ4Y.js} +1 -1
- package/dist/assets/index-BwhW-Atz.js +3 -0
- package/dist/assets/{index-OZOUDUGD.js → index-CF7RI8Bt.js} +1 -1
- package/dist/assets/{index-CU07HM8S.js → index-CLTXPf4k.js} +1 -1
- package/dist/assets/{index-CY45QPm-.js → index-DhcNqNgT.js} +2 -2
- package/dist/assets/{index-DCa3wFwm.js → index-U9gpmElw.js} +3 -3
- package/dist/assets/{index-BmJVVkA_.js → index-eRs9yupj.js} +1 -1
- package/dist/assets/{javascript-BF-EEvQI.js → javascript-C7cOj8ds.js} +1 -1
- package/dist/assets/{jsonMode-DGlgsS1d.js → jsonMode-DEqS3I0B.js} +1 -1
- package/dist/assets/{liquid-C0Gfg9TY.js → liquid-grdNDW6i.js} +1 -1
- package/dist/assets/{load-FrEYc91y.js → load-QsSQTL2T.js} +3 -3
- package/dist/assets/{mdx-bIG0iFaA.js → mdx-BGpbXlZS.js} +1 -1
- package/dist/assets/{monaco-languages-D5Bh48hh.js → monaco-languages-BZWxuU3F.js} +2 -2
- package/dist/assets/{monaco-setup-CAOrXrMd.js → monaco-setup-1PbjxubL.js} +3 -3
- package/dist/assets/{python-CciOb-4N.js → python-D5X7CY5Y.js} +1 -1
- package/dist/assets/{razor-cbEBt-Vr.js → razor-B2pbhZKy.js} +1 -1
- package/dist/assets/{reformer-ui-kit-11-BhXMU01R.js → reformer-ui-kit-11-bLtlFFvp.js} +1 -1
- package/dist/assets/{reformer-ui-kit-D8fAdwPH.js → reformer-ui-kit-tUqYBSLv.js} +1 -1
- package/dist/assets/{typescript-4hiO_obL.js → typescript-Ccn-IGn9.js} +1 -1
- package/dist/assets/{typescript-CNVC9ZHk.js → typescript-DL3gRsAd.js} +1 -1
- package/dist/assets/useFormField-BLbvmpme-Dwz_jyMW.js +1 -0
- package/dist/assets/{xml-RU_PX54U.js → xml-NgTjWpvZ.js} +1 -1
- package/dist/assets/{yaml-DsXE0ah6.js → yaml-CboCRslW.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/assets/index-BC3M-FCZ.js +0 -3
- package/dist/assets/useFormField-BLbvmpme-BASGgtAT.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as vt,b as pt,r as f,W as mt,j as A}from"./index-DhcNqNgT.js";var yt=pt();const br=vt(yt);function gt(...t){return e=>{for(const r of t)typeof r=="function"?r(e):r!=null&&(r.current=e)}}function bt(t){return Object.getOwnPropertyDescriptor(t.props,"ref")?.get?.isReactWarning?t.ref:Object.getOwnPropertyDescriptor(t,"ref")?.get?.isReactWarning?t.props.ref:t.props.ref??t.ref}function wt(t,e){const r={...t};for(const i of Object.keys(e)){const s=t[i],n=e[i];i.startsWith("on")&&typeof s=="function"&&typeof n=="function"?r[i]=(...o)=>{n(...o),s(...o)}:i==="className"&&typeof s=="string"&&typeof n=="string"?r[i]=[n,s].filter(Boolean).join(" "):i==="style"&&typeof s=="object"&&typeof n=="object"?r[i]={...n,...s}:i==="disabled"?r[i]=!!s||!!n:n!==void 0&&(r[i]=n)}return r}const K=f.forwardRef(({children:t,...e},r)=>{const i=f.Children.only(t);if(!f.isValidElement(i))return null;const s=i.props,n=wt(e,s),o=bt(i),a=gt(r,o);return f.cloneElement(i,{...n,ref:a})});K.displayName="Slot";var Et=Symbol.for("preact-signals");function re(){if(x>1)x--;else{var t,e=!1;for((function(){var s=Q;for(Q=void 0;s!==void 0;)s.S.v===s.v&&(s.S.i=s.i),s=s.o})();B!==void 0;){var r=B;for(B=void 0,Z++;r!==void 0;){var i=r.u;if(r.u=void 0,r.f&=-3,!(8&r.f)&&Me(r))try{r.c()}catch(s){e||(t=s,e=!0)}r=i}}if(Z=0,x--,e)throw t}}function q(t){if(x>0)return t();le=++kt,x++;try{return t()}finally{re()}}var p=void 0;function ie(t){var e=p;p=void 0;try{return t()}finally{p=e}}var $,B=void 0,x=0,Z=0,kt=0,le=0,Q=void 0,X=0;function Ve(t){if(p!==void 0){var e=t.n;if(e===void 0||e.t!==p)return e={i:0,S:t,p:p.s,n:void 0,t:p,e:void 0,x:void 0,r:e},p.s!==void 0&&(p.s.n=e),p.s=e,t.n=e,32&p.f&&t.S(e),e;if(e.i===-1)return e.i=0,e.n!==void 0&&(e.n.p=e.p,e.p!==void 0&&(e.p.n=e.n),e.p=p.s,e.n=void 0,p.s.n=e,p.s=e),e}}function E(t,e){this.v=t,this.i=0,this.n=void 0,this.t=void 0,this.l=0,this.W=e?.watched,this.Z=e?.unwatched,this.name=e?.name}E.prototype.brand=Et;E.prototype.h=function(){return!0};E.prototype.S=function(t){var e=this,r=this.t;r!==t&&t.e===void 0&&(t.x=r,this.t=t,r!==void 0?r.e=t:ie(function(){var i;(i=e.W)==null||i.call(e)}))};E.prototype.U=function(t){var e=this;if(this.t!==void 0){var r=t.e,i=t.x;r!==void 0&&(r.x=i,t.e=void 0),i!==void 0&&(i.e=r,t.x=void 0),t===this.t&&(this.t=i,i===void 0&&ie(function(){var s;(s=e.Z)==null||s.call(e)}))}};E.prototype.subscribe=function(t){var e=this;return b(function(){var r=e.value,i=p;p=void 0;try{t(r)}finally{p=i}},{name:"sub"})};E.prototype.valueOf=function(){return this.value};E.prototype.toString=function(){return this.value+""};E.prototype.toJSON=function(){return this.value};E.prototype.peek=function(){var t=p;p=void 0;try{return this.value}finally{p=t}};Object.defineProperty(E.prototype,"value",{get:function(){var t=Ve(this);return t!==void 0&&(t.i=this.i),this.v},set:function(t){if(t!==this.v){if(Z>100)throw new Error("Cycle detected");(function(r){x!==0&&Z===0&&r.l!==le&&(r.l=le,Q={S:r,v:r.v,i:r.i,o:Q})})(this),this.v=t,this.i++,X++,x++;try{for(var e=this.t;e!==void 0;e=e.x)e.t.N()}finally{re()}}}});function w(t,e){return new E(t,e)}function Me(t){for(var e=t.s;e!==void 0;e=e.n)if(e.S.i!==e.i||!e.S.h()||e.S.i!==e.i)return!0;return!1}function Pe(t){for(var e=t.s;e!==void 0;e=e.n){var r=e.S.n;if(r!==void 0&&(e.r=r),e.S.n=e,e.i=-1,e.n===void 0){t.s=e;break}}}function Oe(t){for(var e=t.s,r=void 0;e!==void 0;){var i=e.p;e.i===-1?(e.S.U(e),i!==void 0&&(i.n=e.n),e.n!==void 0&&(e.n.p=i)):r=e,e.S.n=e.r,e.r!==void 0&&(e.r=void 0),e=i}t.s=r}function M(t,e){E.call(this,void 0),this.x=t,this.s=void 0,this.g=X-1,this.f=4,this.W=e?.watched,this.Z=e?.unwatched,this.name=e?.name}M.prototype=new E;M.prototype.h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===X))return!0;if(this.g=X,this.f|=1,this.i>0&&!Me(this))return this.f&=-2,!0;var t=p;try{Pe(this),p=this;var e=this.x();(16&this.f||this.v!==e||this.i===0)&&(this.v=e,this.f&=-17,this.i++)}catch(r){this.v=r,this.f|=16,this.i++}return p=t,Oe(this),this.f&=-2,!0};M.prototype.S=function(t){if(this.t===void 0){this.f|=36;for(var e=this.s;e!==void 0;e=e.n)e.S.S(e)}E.prototype.S.call(this,t)};M.prototype.U=function(t){if(this.t!==void 0&&(E.prototype.U.call(this,t),this.t===void 0)){this.f&=-33;for(var e=this.s;e!==void 0;e=e.n)e.S.U(e)}};M.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var t=this.t;t!==void 0;t=t.x)t.t.N()}};Object.defineProperty(M.prototype,"value",{get:function(){if(1&this.f)throw new Error("Cycle detected");var t=Ve(this);if(this.h(),t!==void 0&&(t.i=this.i),16&this.f)throw this.v;return this.v}});function v(t,e){return new M(t,e)}function je(t){var e=t.m;if(t.m=void 0,typeof e=="function"){x++;var r=p;p=void 0;try{e()}catch(i){throw t.f&=-2,t.f|=8,ve(t),i}finally{p=r,re()}}}function ve(t){for(var e=t.s;e!==void 0;e=e.n)e.S.U(e);t.x=void 0,t.s=void 0,je(t)}function _t(t){if(p!==this)throw new Error("Out-of-order effect");Oe(this),p=t,this.f&=-2,8&this.f&&ve(this),re()}function O(t,e){this.x=t,this.m=void 0,this.s=void 0,this.u=void 0,this.f=32,this.name=e?.name,$&&$.push(this)}O.prototype.c=function(){var t=this.S();try{if(8&this.f||this.x===void 0)return;var e=this.x();typeof e=="function"&&(this.m=e)}finally{t()}};O.prototype.S=function(){if(1&this.f)throw new Error("Cycle detected");this.f|=1,this.f&=-9,je(this),Pe(this),x++;var t=p;return p=this,_t.bind(this,t)};O.prototype.N=function(){2&this.f||(this.f|=2,this.u=B,B=this)};O.prototype.d=function(){this.f|=8,1&this.f||ve(this)};O.prototype.dispose=function(){this.d()};function b(t,e){var r=new O(t,e);try{r.c()}catch(s){throw r.d(),s}var i=r.d.bind(r);return i[Symbol.dispose]=i,i}function pe(t){return function(){var e=arguments,r=this;return q(function(){return ie(function(){return t.apply(r,[].slice.call(e))})})}}function At(){var t=$;return $=[],function(){var e=$;return $&&t&&(t=t.concat($)),$=t,e}}var Ie=function(t){for(var e in t){var r=t[e];typeof r=="function"?t[e]=pe(r):typeof r=="object"&&r!==null&&!("brand"in r)&&Ie(r)}};function St(t){return function(){var e,r,i=At();try{r=t.apply(void 0,[].slice.call(arguments))}catch(s){throw $=void 0,s}finally{e=i()}return Ie(r),r[Symbol.dispose]=pe(function(){if(e)for(var s=0;s<e.length;s++)e[s].dispose();e=void 0}),r}}const wr=Object.freeze(Object.defineProperty({__proto__:null,Computed:M,Effect:O,Signal:E,action:pe,batch:q,computed:v,createModel:St,effect:b,signal:w,untracked:ie},Symbol.toStringTag,{value:"Module"})),I=new WeakMap;function $t(t){I.set(t,(I.get(t)??0)+1)}function xt(t){const e=I.get(t);e!==void 0&&(e<=1?I.delete(t):I.set(t,e-1))}function Y(t){return I.has(t)}const ee=t=>!(t===null||typeof t!="object"||Array.isArray(t)||t instanceof Date||typeof Blob<"u"&&t instanceof Blob||typeof File<"u"&&t instanceof File),F=(t,e)=>t===""?String(e):`${t}.${e}`,ue=t=>/^\d+$/.test(t),N=t=>{if(Array.isArray(t))return t.map(N);if(ee(t)){const e={};for(const r of Object.keys(t))e[r]=N(t[r]);return e}return t},te=(t,e)=>{if(t===e)return!0;if(Array.isArray(t)&&Array.isArray(e))return t.length!==e.length?!1:t.every((r,i)=>te(r,e[i]));if(ee(t)&&ee(e)){const r=Object.keys(t),i=Object.keys(e);return r.length!==i.length?!1:r.every(s=>te(t[s],e[s]))}return!1};let Ft=class{constructor(e,r){this.path=r;const i=w(e);i.__path=r,this.signal=i,this.initial=N(e)}kind="leaf";signal;initial;rebase(e){this.path=e,this.signal.__path=e}read(){return this.signal.value}peek(){return this.signal.peek()}set(e){this.signal.value=e}resetToInitial(){this.signal.value=N(this.initial)}captureInitial(){this.initial=N(this.signal.peek())}dirty(){return!te(this.signal.peek(),this.initial)}},De=class{constructor(e,r){this.path=r;for(const i of Object.keys(e))this.children.set(i,W(e[i],F(r,i)))}kind="group";children=new Map;rebase(e){this.path=e;for(const[r,i]of this.children)i.rebase(F(e,r))}read(){const e={};for(const[r,i]of this.children)e[r]=i.read();return e}peek(){const e={};for(const[r,i]of this.children)e[r]=i.peek();return e}set(e){if(e==null||typeof e!="object")return;const r=e;q(()=>{for(const[i,s]of this.children)i in r&&(s.kind==="leaf"&&Y(s.signal)||s.set(r[i]))})}resetToInitial(){q(()=>{for(const e of this.children.values())e.resetToInitial()})}captureInitial(){for(const e of this.children.values())e.captureInitial()}dirty(){for(const e of this.children.values())if(e.dirty())return!0;return!1}},Ct=class{constructor(e,r){this.path=r,this.items=w(e.map((i,s)=>W(i,F(r,s)))),this.initial=N(e)}kind="array";items;initial;rebase(e){this.path=e,this.items.peek().forEach((r,i)=>r.rebase(F(e,i)))}reindex(){this.items.peek().forEach((e,r)=>e.rebase(F(this.path,r)))}push(e){const r=this.items.peek();this.items.value=[...r,W(e,F(this.path,r.length))]}insertAt(e,r){const i=[...this.items.peek()];i.splice(e,0,W(r,F(this.path,e))),this.items.value=i,this.reindex()}removeAt(e){const r=[...this.items.peek()];r.splice(e,1),this.items.value=r,this.reindex()}move(e,r){const i=[...this.items.peek()],[s]=i.splice(e,1);s&&i.splice(r,0,s),this.items.value=i,this.reindex()}swap(e,r){const i=[...this.items.peek()];e<0||r<0||e>=i.length||r>=i.length||e===r||([i[e],i[r]]=[i[r],i[e]],this.items.value=i,this.reindex())}clear(){this.items.value=[]}read(){return this.items.value.map(e=>e.read())}peek(){return this.items.peek().map(e=>e.peek())}set(e){const r=Array.isArray(e)?e:[];this.items.value=r.map((i,s)=>W(i,F(this.path,s)))}resetToInitial(){this.set(N(this.initial))}captureInitial(){this.initial=N(this.peek())}dirty(){return!te(this.peek(),this.initial)}};function W(t,e){return Array.isArray(t)?new Ct(t,e):ee(t)?new De(t,e):new Ft(t,e)}const ke=new WeakMap;function Nt(t){const e=v(()=>t.read());return{get value(){return e.value},peek:()=>e.peek(),subscribe:r=>e.subscribe(r),valueOf:()=>e.value,toString:()=>String(e.value),toJSON:()=>e.value,brand:e.brand}}function Te(t){if(t.kind==="leaf")return t.signal;const e=ke.get(t);if(e)return e;const r=Nt(t),i=t.kind==="group",s=a=>i?t.children.get(a):ue(a)?t.items.value[Number(a)]:void 0,n=i?{}:{get length(){return t.items.value.length}},o=new Proxy(n,{get:(a,u,d)=>{if(u==="__path")return t.path;if(u==="__kind")return t.kind;if(typeof u!="string")return Reflect.get(r,u,r);const c=s(u);return c?Te(c):!i&&Reflect.has(a,u)?Reflect.get(a,u,d):Reflect.get(r,u,r)},has:(a,u)=>typeof u=="string"&&(s(u)!==void 0||!i&&Reflect.has(a,u)),ownKeys:()=>i?[...t.children.keys()]:Reflect.ownKeys(n),getOwnPropertyDescriptor:(a,u)=>typeof u=="string"&&s(u)?{enumerable:!0,configurable:!0}:i?void 0:Reflect.getOwnPropertyDescriptor(a,u)});return ke.set(t,o),o}function Vt(t){if(t==null||typeof t!="object")return!1;const e=t.__kind;return e==="group"||e==="array"}function Mt(t,e){if(!e)return;let r=t;for(const i of e.split(".")){if(!r)return;if(r.kind==="group")r=r.children.get(i);else if(r.kind==="array")r=r.items.peek()[Number(i)];else return}return r&&r.kind==="leaf"?r.signal:void 0}function j(t){if(t)return t.kind==="group"?We(t):t.kind==="array"?Pt(t):t.read()}function Pt(t){const e={get length(){return t.items.value.length},push:r=>t.push(r),insertAt:(r,i)=>t.insertAt(r,i),removeAt:r=>t.removeAt(r),move:(r,i)=>t.move(r,i),swap:(r,i)=>t.swap(r,i),clear:()=>t.clear(),at:r=>j(t.items.value[r]),map:r=>t.items.value.map((i,s)=>r(j(i),s)),forEach:r=>t.items.value.forEach((i,s)=>r(j(i),s)),toArray:()=>t.peek(),[Symbol.iterator]:function*(){const r=t.items.value;for(let i=0;i<r.length;i++)yield j(r[i])}};return new Proxy(e,{get:(r,i,s)=>i==="__path"?t.path:typeof i=="string"&&ue(i)?j(t.items.value[Number(i)]):Reflect.get(r,i,s),has:(r,i)=>typeof i=="string"&&ue(i)?Number(i)<t.items.value.length:Reflect.has(r,i)})}const _e=new Set(["$","get","set","patch","isDirty","reset","captureInitial","signalAt"]),Ae=new WeakMap,Re=new WeakMap;function We(t){const e=Ae.get(t);if(e)return e;const r={$:Te(t),get:()=>t.peek(),set:s=>t.set(s),patch:s=>t.set(s),isDirty:()=>t.dirty(),reset:()=>t.resetToInitial(),captureInitial:()=>t.captureInitial(),signalAt:s=>Mt(t,s)},i=new Proxy({},{get:(s,n)=>{if(n==="__path")return t.path;if(typeof n!="string")return;const o=t.children.get(n);if(o)return j(o);if(_e.has(n))return r[n]},set:(s,n,o)=>{if(typeof n!="string")return!1;const a=t.children.get(n);return a?(a.set(o),!0):!1},has:(s,n)=>typeof n=="string"&&(t.children.has(n)||_e.has(n)),ownKeys:()=>[...t.children.keys()],getOwnPropertyDescriptor:(s,n)=>typeof n=="string"&&t.children.has(n)?{enumerable:!0,configurable:!0}:void 0});return Ae.set(t,i),Re.set(i,t),i}function ce(t,e){if(t.kind==="leaf"){e(t.signal);return}if(t.kind==="group"){for(const r of t.children.values())ce(r,e);return}for(const r of t.items.value)ce(r,e)}function Be(t,e){const r=Re.get(t);r&&ce(r,e)}function Ue(t){const e=new De(t,"");return We(e)}const Ot="runOutsideEffect";function jt(t){return typeof t=="object"&&t!==null&&typeof t.then=="function"}function Ge(t,e){try{const r=t();jt(r)&&r.then(void 0,i=>void 0)}catch{}}function It(t){return(...e)=>{V(()=>t(...e))}}function V(t){let e=!1;return queueMicrotask(()=>{e||Ge(t,Ot)}),()=>{e=!0}}function Dt(t,e){return()=>{e(()=>Ge(t,"safeDebouncedCallback"))}}function Tt(t,e,r,i){return b(()=>{const s=t.map(o=>o.value);if(i?.when&&!i.when(...s))return;const n=r(...s);e.peek()!==n&&(e.value=n)})}function Rt(t,e,r){return b(()=>{const i=t.value;if(r?.when&&!r.when())return;const s=r?.transform?r.transform(i):i;e.peek()!==s&&(e.value=s)})}function Wt(t,e,r){let i=!0;return b(()=>{const s=t.value;i&&(i=!1,!r?.immediate)||e(s)})}function Bt(t,e){let r=!1;return b(()=>{const i=t.value;r||V(()=>{const s=e(i);if(t.peek()!==s){r=!0;try{t.value=s}finally{r=!1}}})})}function Ut(t,e,r){const i=r?.resetValue??null;return b(()=>{const s=e();V(()=>{s&&t.peek()!==i&&(t.value=i)})})}function Gt(t,e,r){const i=r?.transform;let s=!1;const n=b(()=>{const a=t.value;s||V(()=>{s=!0;try{const u=i?i(a):a;e.peek()!==u&&(e.value=u)}finally{s=!1}})}),o=b(()=>{const a=e.value;s||V(()=>{s=!0;try{t.peek()!==a&&(t.value=a)}finally{s=!1}})});return()=>{n(),o()}}function Lt(t,e){let r=!0;return b(()=>{if(t.forEach(i=>i.value),r){r=!1;return}V(()=>e())})}const Le=new WeakMap;function qe(t,e){Le.set(t,e)}function D(t){return Le.get(t)}let U=null;function qt(t,e){const r=U;U=t;try{return e()}finally{U=r}}function R(t){if(!U)throw new Error(`[@reformer/core/validation] "${t}" вызван вне схемы валидации — операторы валидации можно вызывать только внутри прогона validateModel(...) (напрямую или через apply/each).`);return U}function me(t,e){let r=t.errors.get(e);return r||t.errors.set(e,r=[]),r}const ye=t=>t.whenStack.every(e=>e());function Ar(t,e){const r=R("validate"),i=me(r,t);if(!ye(r))return;const s=t.peek();for(const n of e){const o=n(s,r.model,r.model);o&&i.push(o)}}function Sr(t,e){const r=R("validateAsync"),i=me(r,t);if(!ye(r))return;const s=t.peek(),n=r.signal;for(const o of e)r.pending.push(o(s,{signal:n}).then(a=>{a&&!n.aborted&&i.push(a)},()=>{}))}function $r(t,e){const r=R("validateWhen");r.whenStack.push(t);try{e()}finally{r.whenStack.pop()}}function xr(t,e){const r=R("cross"),i=me(r,t);if(!ye(r))return;const s=e(r.model.get());s&&i.push(s)}function Fr(t,e){R("each");const r=t.length;for(let i=0;i<r;i++)e(t.at(i))}function Kt(...t){const e=R("apply").model;for(const r of t)r({model:e})}function Cr(t){return t}const Se=new WeakMap;function zt(t,e){let r=Se.get(t);r||Se.set(t,r=new WeakMap);let i=r.get(e);return i||r.set(e,i={fields:new Set,ac:null}),i}const Jt=t=>{for(const e of t.values())for(const r of e)if(r.severity!=="warning")return!0;return!1};function Ht(t){return t.aborted?Promise.resolve():new Promise(e=>{t.addEventListener("abort",()=>e(),{once:!0})})}async function Ke(t,e,r){const i=zt(t,e);i.ac?.abort();const s=new AbortController;i.ac=s;const n={model:t,errors:new Map,pending:[],whenStack:[],signal:s.signal};if(qt(n,()=>e({model:t})),n.pending.length&&await Promise.race([Promise.all(n.pending),Ht(s.signal)]),s.signal.aborted)return!1;const o=new Set(n.errors.keys());for(const a of i.fields)o.has(a)||D(a)?.setErrors([]);for(const a of o)D(a)?.setErrors(n.errors.get(a)??[]);if(r?.touch)for(const a of o)D(a)?.markAsTouched();return i.fields=o,!Jt(n.errors)}function he(t,e,r={}){const{strategy:i="submit",debounce:s=0,liveAfterSubmit:n="change"}=r,o=w(!1);let a=0,u=!1,d,c;const l=async k=>{a++,o.value=!0;try{return await Ke(t,e,{touch:k})}finally{--a===0&&(o.value=!1)}},h=()=>{l(!1)},m=()=>{if(!s){h();return}c&&clearTimeout(c),c=setTimeout(h,s)},g=(k,_)=>{let S=!0;return b(()=>{if(Be(t,k),S){S=!1;return}i==="afterFirstSubmit"&&!u||_()})},y={async validate(){return u=!0,l(!0)},start(){if(d)return()=>y.dispose();const k=i==="afterFirstSubmit"?n:i;return k==="change"?d=g(_=>void _.value,m):k==="blur"&&(d=g(_=>void D(_)?.touched.value,h)),()=>y.dispose()},dispose(){c&&(clearTimeout(c),c=void 0),d?.(),d=void 0},get isValidating(){return o.value},get validating(){return o}};return y}function ze(t,e,r){return b(()=>{const i=e(),s=D(t);s&&V(()=>{i?s.enable():(s.disable(),r?.resetOnDisable&&s.reset())})})}function Zt(t,e,r){return ze(t,()=>!e(),r)}class z{_touched=w(!1);_dirty=w(!1);_status=w("valid");touched=v(()=>this._touched.value);dirty=v(()=>this._dirty.value);status=v(()=>this._status.value);disabled=v(()=>this._status.value==="disabled");getErrors(e){const r=this.errors.value;return e?r.filter(i=>{if(e.code!==void 0&&!(Array.isArray(e.code)?e.code:[e.code]).includes(i.code)||e.message!==void 0&&!i.message.toLowerCase().includes(e.message.toLowerCase()))return!1;if(e.params!==void 0){if(!i.params)return!1;for(const[s,n]of Object.entries(e.params))if(i.params[s]!==n)return!1}return!(e.predicate!==void 0&&!e.predicate(i))}):r}markAsTouched(){this._touched.value=!0,this.onMarkAsTouched()}markAsUntouched(){this._touched.value=!1,this.onMarkAsUntouched()}markAsDirty(){this._dirty.value=!0,this.onMarkAsDirty()}markAsPristine(){this._dirty.value=!1,this.onMarkAsPristine()}touchAll(){this.markAsTouched()}disable(){this._status.value="disabled",this.onDisable()}enable(){this._status.value="valid",this.onEnable()}onMarkAsTouched(){}onMarkAsUntouched(){}onMarkAsDirty(){}onMarkAsPristine(){}onDisable(){}onEnable(){}}class se{subscriptions=new Map;add(e,r){return this.subscriptions.has(e)&&this.subscriptions.get(e)?.(),this.subscriptions.set(e,r),()=>this.remove(e)}remove(e){const r=this.subscriptions.get(e);return r?(r(),this.subscriptions.delete(e),!0):!1}clear(){this.subscriptions.forEach(e=>{e()}),this.subscriptions.clear()}size(){return this.subscriptions.size}has(e){return this.subscriptions.has(e)}getKeys(){return Array.from(this.subscriptions.keys())}dispose(){this.clear()}}const G={Watch:"watch",ComputeFrom:"computeFrom",LinkFields:"linkFields",WatchField:"watchField"};let Qt=0;function L(t){return`${t}-${++Qt}`}var C=(t=>(t.THROW="throw",t.LOG="log",t.CONVERT="convert",t))(C||{});class P{static handle(e,r,i="throw"){const s=this.extractMessage(e);switch(i){case"throw":throw e;case"log":return;case"convert":return{code:"validator_error",message:s,params:{field:r}}}}static extractMessage(e){return e instanceof Error?e.message:typeof e=="string"?e:typeof e=="object"&&e!==null&&"message"in e?String(e.message):String(e)}static createValidationError(e,r,i){return{code:e,message:r,params:i?{field:i}:void 0}}static isValidationError(e){return typeof e=="object"&&e!==null&&"code"in e&&"message"in e&&typeof e.code=="string"&&typeof e.message=="string"}}class Xt{_status;status;valid;invalid;pending;disabled;constructor(e="valid"){this._status=w(e),this.status=v(()=>this._status.value),this.valid=v(()=>this._status.value==="valid"),this.invalid=v(()=>this._status.value==="invalid"),this.pending=v(()=>this._status.value==="pending"),this.disabled=v(()=>this._status.value==="disabled")}startValidation(){this._status.value!=="disabled"&&(this._status.value="pending")}completeValidation(e){this._status.value!=="disabled"&&(this._status.value=e?"invalid":"valid")}setErrors(e){this._status.value!=="disabled"&&(this._status.value=e?"invalid":"valid")}disable(){this._status.value="disabled"}enable(e=!1){this._status.value=e?"invalid":"valid"}}class Je extends z{_value;_errors;_componentProps;statusMachine;value;valid;invalid;pending;status;disabled;errors;componentProps;shouldShowError;validators;asyncValidators;updateOn;initialValue;currentAbortController;debounceMs;validateDebounceTimer;pendingValidation;disposers=new se;component;constructor(e){super(),this.validators=e.validators||[],this.asyncValidators=e.asyncValidators||[],this.updateOn=e.updateOn||"blur",this.debounceMs=e.debounce||0,this.component=e.component,this._value=e.valueSignal??w(e.value),this.initialValue=this._value.peek(),this._errors=w([]),this._componentProps=w(e.componentProps||{}),this.statusMachine=new Xt(e.disabled?"disabled":"valid"),this.value=v(()=>this._value.value),this.valid=v(()=>this.statusMachine.valid.value),this.invalid=v(()=>this.statusMachine.invalid.value),this.pending=v(()=>this.statusMachine.pending.value),this.status=v(()=>this.statusMachine.status.value),this.disabled=v(()=>this.statusMachine.disabled.value),this.errors=v(()=>this._errors.value),this.componentProps=v(()=>this._componentProps.value),this.shouldShowError=v(()=>this.statusMachine.invalid.value&&(this._touched.value||this._dirty.value))}getValue(){return this._value.peek()}setValue(e,r){if(this._value.value=e,this._dirty.value=!0,r?.emitEvent===!1)return;const i=this.validators.length>0||this.asyncValidators.length>0,s=this._errors.value.length>0;if(this.updateOn==="change"){this.validate();return}s&&i&&this.validate()}patchValue(e){this.setValue(e)}reset(e){this._value.value=e!==void 0?e:this.initialValue,this._errors.value=[],this._touched.value=!1,this._dirty.value=!1,this.statusMachine.setErrors(!1)}resetToInitial(){this.reset(this.initialValue)}cancelPendingValidation(){this.pendingValidation&&(this.pendingValidation.abortController.abort(),this.pendingValidation.resolve(!1),this.pendingValidation=void 0),this.validateDebounceTimer&&(clearTimeout(this.validateDebounceTimer),this.validateDebounceTimer=void 0),this.currentAbortController&&(this.currentAbortController.abort(),this.currentAbortController=void 0)}async validate(e){const r=e?.debounce??this.debounceMs;if(this.cancelPendingValidation(),r<=0||this.asyncValidators.length===0)return this.validateImmediate();const i=new AbortController;return new Promise(s=>{this.pendingValidation={resolve:s,abortController:i},this.validateDebounceTimer=setTimeout(async()=>{if(this.validateDebounceTimer=void 0,i.signal.aborted){s(!1);return}this.pendingValidation=void 0;const n=await this.validateImmediate(i);s(n)},r),i.signal.addEventListener("abort",()=>{this.validateDebounceTimer&&(clearTimeout(this.validateDebounceTimer),this.validateDebounceTimer=void 0),s(!1)},{once:!0})})}async validateImmediate(e){const r=e??new AbortController;e||this.currentAbortController?.abort(),this.currentAbortController=r;const{signal:i}=r,s=[];for(const n of this.validators){const o=n(this._value.value);o&&s.push(o)}if(i.aborted)return!1;if(s.length>0){this._errors.value=s;const n=s.some(o=>o.severity!=="warning");if(this.statusMachine.setErrors(n),n)return!1}if(this.asyncValidators.length>0){if(i.aborted)return!1;this.statusMachine.startValidation();try{const n=await Promise.all(this.asyncValidators.map(async a=>{if(i.aborted)throw new DOMException("Validation aborted","AbortError");try{const u=await a(this._value.value,{signal:i});if(i.aborted)throw new DOMException("Validation aborted","AbortError");return u}catch(u){if(u instanceof DOMException&&u.name==="AbortError")throw u;return P.handle(u,"FieldNode AsyncValidator",C.CONVERT)}}));if(i.aborted)return!1;const o=n.filter(a=>a!==null);if(o.length>0){this._errors.value=o;const a=o.some(u=>u.severity!=="warning");if(this.statusMachine.completeValidation(a),a)return!1}}catch(n){if(n instanceof DOMException&&n.name==="AbortError")return!1;throw n}}return i.aborted?!1:((this.validators.length>0||this.asyncValidators.length>0)&&(this._errors.value=[],this.statusMachine.completeValidation(!1)),!this._errors.value.some(n=>n.severity!=="warning"))}setErrors(e){this._errors.value=e;const r=e.some(i=>i.severity!=="warning");this.statusMachine.setErrors(r)}clearErrors(){this._errors.value=[],this.statusMachine.setErrors(!1)}onMarkAsTouched(){this.updateOn==="blur"&&this.validate()}onDisable(){this.statusMachine.disable(),this._errors.value=[]}onEnable(){this.statusMachine.enable(this._errors.value.length>0),this.validate()}updateComponentProps(e){this._componentProps.value={...this._componentProps.value,...e}}setUpdateOn(e){this.updateOn=e}getUpdateOn(){return this.updateOn}watch(e){const r=new AbortController,i=b(()=>{const n=this.value.value;e(n,r.signal)}),s=L(G.Watch);return this.disposers.add(s,()=>{r.abort(),i()})}computeFrom(e,r){const i=b(()=>{const n=e.map(a=>a.value),o=r(...n);this.setValue(o,{emitEvent:!1})}),s=L(G.ComputeFrom);return this.disposers.add(s,i)}dispose(){try{this.disposers.dispose()}finally{this.cancelPendingValidation()}}}function ge(t){const{getChildren:e,ownErrors:r,disabled:i}=t,s=v(()=>r.value.length>0?!1:e().every(l=>l.disabled.value||l.valid.value)),n=v(()=>!s.value),o=v(()=>e().some(l=>l.pending.value)),a=v(()=>e().some(l=>l.touched.value)),u=v(()=>e().some(l=>l.dirty.value)),d=v(()=>{const l=[...r.value];for(const h of e())l.push(...h.errors.value);return l}),c=v(()=>i?.value?"disabled":o.value?"pending":n.value?"invalid":"valid");return{valid:s,invalid:n,pending:o,touched:a,dirty:u,errors:d,status:c}}function $e(t){return typeof t=="object"&&t!==null&&"getProxy"in t&&typeof t.getProxy=="function"}const xe="$";function Yt(t,e){let r;const i=()=>{if(!r){const s={};e.forEach((n,o)=>{s[o]=n&&$e(n)?n.getProxy():n}),r=s}return r};return new Proxy(t,{get:(s,n)=>{if(n===xe)return i();if(n in s)return s[n];if(typeof n=="string"&&e.has(n)){const o=e.get(n);return o&&$e(o)?o.getProxy():o}},set:(s,n,o)=>typeof n=="string"&&e.has(n)?!1:(s[n]=o,!0),has:(s,n)=>n===xe||typeof n=="string"&&e.has(n)?!0:n in s,ownKeys:s=>{const n=Reflect.ownKeys(s),o=Array.from(e.keys());return[...new Set([...n,...o])]},getOwnPropertyDescriptor:(s,n)=>typeof n=="string"&&e.has(n)?{enumerable:!0,configurable:!0}:Reflect.getOwnPropertyDescriptor(s,n)})}class He{constructor(e){this.form=e}_submitting=w(!1);submitting=v(()=>this._submitting.value);async submit(e,r){const{skipValidation:i=!1,skipTouch:s=!1}=r||{};if(s||this.form.markAsTouched(),!i&&!await this.form.validate())return null;this._submitting.value=!0;try{return await e(this.form.getValue())}finally{this._submitting.value=!1}}async submitWithResult(e,r){const{skipValidation:i=!1,skipTouch:s=!1}=r||{};if(s||this.form.markAsTouched(),!i&&!await this.form.validate())return{success:!1,data:null};this._submitting.value=!0;try{return{success:!0,data:await e(this.form.getValue())}}catch(n){return{success:!1,data:null,error:n instanceof Error?n:new Error(String(n))}}finally{this._submitting.value=!1}}}function er(t){const e=[];for(const r of t.split(".")){const i=/^([^[\]]+)(?:\[(\d+)\])?$/.exec(r);if(!i)return[];e.push(i[2]!==void 0?{key:i[1],index:Number(i[2])}:{key:i[1]})}return e}let T=class Ze extends z{id=crypto.randomUUID();_fields=new Map;disposers=new se;_proxyInstance;_behaviorCleanup;nodeFactory=new Qe;formSubmitter;_disabled=w(!1);_formErrors=w([]);_fieldSignals=new WeakMap;value;valid;invalid;touched;dirty;pending;errors;status;submitting;constructor(e){super(),this.formSubmitter=new He(this);const r=e.form,i=r!=null&&typeof r=="object"&&("valueSignal"in r||"value"in r),s="form"in e&&!i?e.form:e;for(const[o,a]of Object.entries(s)){const u=this.createNode(a);this._fields.set(o,u)}this.value=v(()=>{const o={};return this._fields.forEach((a,u)=>{o[u]=a.value.value}),o});const n=ge({getChildren:()=>Array.from(this._fields.values()),ownErrors:this._formErrors,disabled:this._disabled});this.valid=n.valid,this.invalid=n.invalid,this.pending=n.pending,this.touched=n.touched,this.dirty=n.dirty,this.errors=n.errors,this.status=n.status,this.submitting=this.formSubmitter.submitting}buildProxy(){return Yt(this,this._fields)}getValue(){const e={};return this._fields.forEach((r,i)=>{e[i]=r.getValue()}),e}setValue(e,r){for(const[i,s]of Object.entries(e)){const n=this._fields.get(i);if(n){const o=this._fieldSignals.get(n)??n.value;if(Y(o))continue;n.setValue(s,r)}}}patchValue(e){q(()=>{for(const[r,i]of Object.entries(e)){const s=this._fields.get(r);if(s&&i!==void 0){const n=this._fieldSignals.get(s)??s.value;if(Y(n))continue;s.setValue(i,{emitEvent:!1})}}})}reset(e){this._formErrors.value=[],this._fields.forEach((r,i)=>{const s=e?.[i];r.reset(s)})}resetToInitial(){this._formErrors.value=[],this._fields.forEach(e=>{"resetToInitial"in e&&typeof e.resetToInitial=="function"?e.resetToInitial():e.reset()})}async validate(){return this.clearErrors(),await Promise.all(Array.from(this._fields.values()).map(e=>e.validate())),Array.from(this._fields.values()).every(e=>e.valid.value||e.disabled.value)}setErrors(e){this._formErrors.value=e}clearErrors(){this._formErrors.value=[],this._fields.forEach(e=>e.clearErrors())}getField(e){return this._fields.get(e)}get fields(){return this._fields}getProxy(){return this._proxyInstance||(this._proxyInstance=this.buildProxy()),this._proxyInstance}getAllFields(){return this._fields.values()}onMarkAsTouched(){this._fields.forEach(e=>e.markAsTouched())}onMarkAsUntouched(){this._fields.forEach(e=>e.markAsUntouched())}onMarkAsDirty(){this._fields.forEach(e=>e.markAsDirty())}onMarkAsPristine(){this._fields.forEach(e=>e.markAsPristine())}async submit(e,r){return this.formSubmitter.submit(e,r)}async submitWithResult(e,r){return this.formSubmitter.submitWithResult(e,r)}getFieldByPath(e){if(e.startsWith(".")||e.endsWith("."))return;const r=er(e);if(r.length===0)return;let i=this;for(const s of r){if(!(i instanceof Ze)||(i=i.getField(s.key),!i))return;if(s.index!==void 0)if("at"in i&&"length"in i&&typeof i.at=="function"){const n=i.at(s.index);if(!n)return;i=n}else return}return i}createNode(e){return this.nodeFactory.createNode(e)}linkFields(e,r,i){const s=this._fields.get(e),n=this._fields.get(r);if(!s||!n){const u=s?r:e;throw new Error(`GroupNode.linkFields: field "${String(u)}" not found`)}const o=b(()=>{const u=s.value.value,d=i?i(u):u;n.setValue(d,{emitEvent:!1})}),a=L(G.LinkFields);return this.disposers.add(a,o)}watchField(e,r){const i=this.getFieldByPath(e);if(!i)throw new Error(`GroupNode.watchField: field "${e}" not found`);const s=b(()=>{r(i.value.value)}),n=L(G.WatchField);return this.disposers.add(n,s)}watchFieldByPath(e,r){const i=this.getFieldByPath(e);if(!i)throw new Error(`GroupNode.watchFieldByPath: field "${e}" not found`);const s=b(()=>{r(i.value.value)}),n=L(G.WatchField);return this.disposers.add(n,s)}onDisable(){this._disabled.value=!0,this._fields.forEach(e=>e.disable())}onEnable(){this._disabled.value=!1,this._fields.forEach(e=>e.enable())}attachBehaviorCleanup(e){this._behaviorCleanup=e}registerFieldSignal(e,r){this._fieldSignals.set(e,r)}dispose(){this._behaviorCleanup?.(),this._behaviorCleanup=void 0,this.disposers.dispose(),this._fields.forEach(e=>{"dispose"in e&&typeof e.dispose=="function"&&e.dispose()})}};class de extends z{items;itemSchema;initialItems;disposers=new se;_arrayErrors=w([]);value;valid;invalid;touched;dirty;pending;errors;status;length;constructor(e,r=[]){super(),this.itemSchema=e,this.initialItems=r,this.items=w([]);for(const s of r)this.push(s);this.length=v(()=>this.items.value.length),this.value=v(()=>this.items.value.map(s=>s.value.value));const i=ge({getChildren:()=>this.items.value,ownErrors:this._arrayErrors});this.valid=i.valid,this.invalid=i.invalid,this.pending=i.pending,this.touched=i.touched,this.dirty=i.dirty,this.errors=i.errors,this.status=i.status}push(e){const r=this.createItem(e);this.items.value=[...this.items.value,r]}removeAt(e){if(e<0||e>=this.items.value.length){P.handle(new Error(`ArrayNode.removeAt: index ${e} out of bounds (length: ${this.items.value.length})`),"ArrayNode.removeAt",C.LOG);return}const r=this.items.value[e];this.items.value=this.items.value.filter((i,s)=>s!==e),r&&"dispose"in r&&typeof r.dispose=="function"&&r.dispose()}insert(e,r){if(e<0||e>this.items.value.length){P.handle(new Error(`ArrayNode.insert: index ${e} out of bounds (length: ${this.items.value.length})`),"ArrayNode.insert",C.LOG);return}const i=this.createItem(r),s=[...this.items.value];s.splice(e,0,i),this.items.value=s}move(e,r){const i=this.items.value.length;if(e<0||e>=i||r<0||r>=i){P.handle(new Error(`ArrayNode.move: index out of bounds (from=${e}, to=${r}, length=${i})`),"ArrayNode.move",C.LOG);return}if(e===r)return;const s=[...this.items.value],[n]=s.splice(e,1);s.splice(r,0,n),this.items.value=s}swap(e,r){const i=this.items.value.length;if(e<0||e>=i||r<0||r>=i){P.handle(new Error(`ArrayNode.swap: index out of bounds (a=${e}, b=${r}, length=${i})`),"ArrayNode.swap",C.LOG);return}if(e===r)return;const s=[...this.items.value];[s[e],s[r]]=[s[r],s[e]],this.items.value=s}clear(){const e=[...this.items.value];this.items.value=[],e.forEach(r=>{"dispose"in r&&typeof r.dispose=="function"&&r.dispose()})}at(e){const r=this.items.value[e];if(r)return r.getProxy()}getValue(){return this.items.value.map(e=>e.getValue())}setValue(e,r){this.clear(),e.forEach(i=>this.push(i)),r?.emitEvent!==!1&&this.validate().catch(i=>{P.handle(i,"ArrayNode.setValue",C.LOG)})}patchValue(e){e.forEach((r,i)=>{this.items.value[i]&&r!==void 0&&this.items.value[i].patchValue(r)})}reset(e){this._arrayErrors.value=[],this.clear(),e&&e.forEach(r=>this.push(r))}resetToInitial(){this._arrayErrors.value=[],this.clear(),this.initialItems.forEach(e=>this.push(e))}async validate(){return(await Promise.all(this.items.value.map(e=>e.validate()))).every(Boolean)&&this._arrayErrors.value.length===0}setErrors(e){this._arrayErrors.value=e}clearErrors(){this._arrayErrors.value=[],this.items.value.forEach(e=>e.clearErrors())}onMarkAsTouched(){this.items.value.forEach(e=>e.markAsTouched())}onMarkAsUntouched(){this.items.value.forEach(e=>e.markAsUntouched())}onMarkAsDirty(){this.items.value.forEach(e=>e.markAsDirty())}onMarkAsPristine(){this.items.value.forEach(e=>e.markAsPristine())}forEach(e){this.items.value.forEach((r,i)=>{const s=r.getProxy();e(s,i)})}map(e){return this.items.value.map((r,i)=>{const s=r.getProxy();return e(s,i)})}createItem(e){if(this.isGroupSchema(this.itemSchema)){const r=new T(this.itemSchema);return e&&r.patchValue(e),r}throw new Error("ArrayNode поддерживает только GroupNode элементы. Для массива примитивов используйте обычное поле с типом массива.")}isGroupSchema(e){return typeof e=="object"&&e!==null&&!("component"in e)&&!Array.isArray(e)}dispose(){this.disposers.dispose(),this.items.value.forEach(e=>{"dispose"in e&&typeof e.dispose=="function"&&e.dispose()})}onDisable(){this.items.value.forEach(e=>{e.disable()})}onEnable(){this.items.value.forEach(e=>{e.enable()})}}class Qe{createNode(e){if(Array.isArray(e)&&e.length>=1)return this.createArrayNodeFromArray(e);if(this.isFieldConfig(e))return new Je(e);if(this.isArrayConfig(e))return new de(e.schema,e.initialItems);if(this.isGroupConfig(e))return new T(e);throw new Error(`NodeFactory: Unknown node config. Expected FieldConfig, GroupConfig, or ArrayConfig, but got: ${JSON.stringify(e)}`)}createArrayNodeFromArray(e){const[r,...i]=e,s=[];this.isGroupConfig(r)&&s.push(this.extractValues(r));for(const n of i)this.isGroupConfig(n)?s.push(this.extractValues(n)):s.push(n);return new de(r,s)}extractValues(e){if(this.isFieldConfig(e))return e.value;if(Array.isArray(e))return e.map(r=>this.extractValues(r));if(this.isGroupConfig(e)){const r={};for(const[i,s]of Object.entries(e))r[i]=this.extractValues(s);return r}return e}isFieldConfig(e){return e==null||typeof e!="object"?!1:"valueSignal"in e?!0:"value"in e?"component"in e||"componentProps"in e||"validators"in e||"asyncValidators"in e||"updateOn"in e||"debounce"in e:!1}isArrayConfig(e){return e!=null&&typeof e=="object"&&"schema"in e&&!("value"in e)}isGroupConfig(e){return e!=null&&typeof e=="object"&&!this.isFieldConfig(e)&&!this.isArrayConfig(e)}}class Xe extends z{constructor(e,r){super(),this.control=e,this.buildItem=r,this.initial=e.toArray(),this.disposeSync=b(()=>{const s=e.length,n=[],o=[];for(let d=0;d<s;d++){const c=e.at(d);if(!c)continue;let l=this.cache.get(c);l||(l=r(c),this.cache.set(c,l)),n.push(c),o.push(l)}const a=new Set(n),u=[];for(const d of this.mountedModels){if(a.has(d))continue;const c=this.cache.get(d);this.cache.delete(d),c&&u.push(c)}this.mountedModels=n,this.itemNodes.value=o,u.forEach(d=>this.disposeItemNode(d))}),this.length=v(()=>this.itemNodes.value.length),this.value=v(()=>this.itemNodes.value.map(s=>s.value.value));const i=ge({getChildren:()=>this.itemNodes.value,ownErrors:this._arrayErrors});this.valid=i.valid,this.invalid=i.invalid,this.pending=i.pending,this.touched=i.touched,this.dirty=i.dirty,this.errors=i.errors,this.status=i.status}itemNodes=w([]);cache=new WeakMap;mountedModels=[];initial;_arrayErrors=w([]);disposeSync;get items(){return this.itemNodes}value;valid;invalid;pending;touched;dirty;errors;status;length;at(e){return this.itemNodes.value[e]}map(e){return this.itemNodes.value.map((r,i)=>e(r,i))}forEach(e){this.itemNodes.value.forEach((r,i)=>e(r,i))}push(e){this.control.push(e??{})}insert(e,r){this.control.insertAt(e,r??{})}removeAt(e){this.control.removeAt(e)}move(e,r){this.control.move(e,r)}swap(e,r){this.control.swap(e,r)}clear(){this.control.clear()}getValue(){return this.control.toArray()}setValue(e){this.control.clear(),(e??[]).forEach(r=>this.control.push(r))}patchValue(e){this.setValue(e)}reset(e){this._arrayErrors.value=[],this.setValue(e??this.initial)}resetToInitial(){this.reset(this.initial)}async validate(){return(await Promise.all(this.itemNodes.value.map(e=>e.validate()))).every(Boolean)&&this._arrayErrors.value.length===0}setErrors(e){this._arrayErrors.value=e}clearErrors(){this._arrayErrors.value=[],this.itemNodes.value.forEach(e=>e.clearErrors?.())}onMarkAsTouched(){this.itemNodes.value.forEach(e=>e.markAsTouched?.())}onMarkAsUntouched(){this.itemNodes.value.forEach(e=>e.markAsUntouched?.())}onMarkAsDirty(){this.itemNodes.value.forEach(e=>e.markAsDirty?.())}onMarkAsPristine(){this.itemNodes.value.forEach(e=>e.markAsPristine?.())}onDisable(){this.itemNodes.value.forEach(e=>e.disable?.())}onEnable(){this.itemNodes.value.forEach(e=>e.enable?.())}disposeItemNode(e){e.dispose?.()}dispose(){this.disposeSync(),this.itemNodes.value.forEach(e=>this.disposeItemNode(e)),this.mountedModels=[]}}const Ye=t=>t!==null&&typeof t=="object"&&!Array.isArray(t)&&!(t instanceof Date)&&!(typeof Blob<"u"&&t instanceof Blob)&&!(typeof File<"u"&&t instanceof File);function fe(t,e,r){if(t==null||typeof t!="object"||t instanceof E||typeof t.getProxy=="function")return;if(Array.isArray(t)){for(const n of t)fe(n,e,r);return}const i=t,s=i.array;if(s&&typeof s.__path=="string"&&typeof i.item=="function"){r.set(s.__path,i.item);return}i.value instanceof E&&e.set(i.value,{component:i.component,componentProps:i.componentProps,updateOn:i.updateOn,disabled:i.disabled,debounce:i.debounce});for(const[n,o]of Object.entries(i))n!=="value"&&fe(o,e,r)}function et(t,e,r,i){const s={};for(const[n,o]of Object.entries(e)){const a=r===""?n:`${r}.${n}`;if(Array.isArray(o))continue;if(Ye(o)){s[n]=et(t,o,a,i);continue}const u=t.signalAt(a);if(!u)throw new Error(`createForm({ model }): не найден сигнал для пути "${a}"`);const d=i.get(u)??{};s[n]={...d,valueSignal:u}}return s}function tt(t,e,r){for(const[i,s]of Object.entries(t)){const n=e===""?i:`${e}.${i}`;Array.isArray(s)||(Ye(s)?tt(s,n,r):r.push(n))}}function be(t){const{model:e,schema:r,behavior:i}=t,s=new Map,n=new Map;r!==void 0&&fe(r,s,n);const o=et(e,e.get(),"",s),a=new T(o),u=e.get();for(const[l,h]of Object.entries(u)){if(!Array.isArray(h))continue;const m=n.get(l);if(!m)continue;const g=e[l],y=_=>be({model:_,schema:m(_)}),k=new Xe(g,y);a.fields.set(l,k)}const d=a.getProxy(),c=[];tt(e.get(),"",c);for(const l of c){const h=e.signalAt(l),m=a.getFieldByPath(l);if(h&&m){qe(h,m);const g=l.lastIndexOf("."),y=g===-1?a:a.getFieldByPath(l.slice(0,g));y instanceof T&&y.registerFieldSignal(m,h)}}return i&&a.attachBehaviorCleanup(i.__run(e,d)),d}const tr=t=>t!=null&&typeof t=="object"&&"model"in t&&typeof t.model?.signalAt=="function";function rt(t){return tr(t)?be(t):new T(t).getProxy()}const rr=()=>{};function it(t,e){if(!e)return;const r=typeof e=="function"?{schema:e}:e,i=Object.keys(r.steps??{}),s=i.map(l=>r.steps?.[l]).filter(l=>l!=null),n=r.schema??(()=>Kt(...s,...r.extras?[r.extras]:[])),o=l=>{const h=typeof l=="number"?i[l-1]:l;return(h!=null?r.steps?.[h]:null)??null},{strategy:a,debounce:u,liveAfterSubmit:d}=r,c=he(t,n,{strategy:a,debounce:u,liveAfterSubmit:d});return{schema:n,stepSelectors:i,validate:()=>c.validate(),validateAll:()=>c.validate(),validateStep:l=>Ke(t,o(l)??rr,{touch:!0}),createStepController:l=>{if(!a||a==="submit")return null;const h=o(l);return h?he(t,h,{strategy:a,debounce:u,liveAfterSubmit:d}):null},controller:c,validating:c.validating}}function ir(t){if(!t.model&&t.initial===void 0)throw new Error("createCoreForm: provide either `initial` (to create a model) or `model`.");const e=t.model??Ue(t.initial);t.seed?.(e);const r=rt({model:e,...t.schema?{schema:t.schema(e)}:{},...t.behavior?{behavior:t.behavior}:{}}),i=it(e,t.validation),s={model:e,form:r,...i?{validation:i}:{}};return t.setup?.(s),s}function J(t){return t==null?!1:typeof t=="object"&&"value"in t&&"setValue"in t&&"getValue"in t&&"validate"in t}function st(t){return J(t)&&"validators"in t&&"asyncValidators"in t&&typeof t.markAsTouched=="function"&&!("fields"in t)&&!("items"in t)}function nt(t){return J(t)&&"getFieldByPath"in t&&"fields"in t&&!("items"in t)&&!("push"in t)&&!("removeAt"in t)}function ot(t){return J(t)&&"items"in t&&"length"in t&&"push"in t&&"removeAt"in t&&"at"in t&&typeof t.push=="function"&&typeof t.removeAt=="function"}function sr(t){return st(t)?"FieldNode":nt(t)?"GroupNode":ot(t)?"ArrayNode":J(t)?"FormNode":"Unknown"}var Fe={exports:{}},ae={},Ce;function nr(){if(Ce)return ae;Ce=1;var t=mt;function e(l,h){return l===h&&(l!==0||1/l===1/h)||l!==l&&h!==h}var r=typeof Object.is=="function"?Object.is:e,i=t.useState,s=t.useEffect,n=t.useLayoutEffect,o=t.useDebugValue;function a(l,h){var m=h(),g=i({inst:{value:m,getSnapshot:h}}),y=g[0].inst,k=g[1];return n(function(){y.value=m,y.getSnapshot=h,u(y)&&k({inst:y})},[l,m,h]),s(function(){return u(y)&&k({inst:y}),l(function(){u(y)&&k({inst:y})})},[l]),o(m),m}function u(l){var h=l.getSnapshot;l=l.value;try{var m=h();return!r(l,m)}catch{return!0}}function d(l,h){return h()}var c=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?d:a;return ae.useSyncExternalStore=t.useSyncExternalStore!==void 0?t.useSyncExternalStore:c,ae}var Ne;function or(){return Ne||(Ne=1,Fe.exports=nr()),Fe.exports}var ne=or();function ar(t,e){if(t===e)return!0;if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function we(t,e,r,i){const s=f.useRef(null),n=f.useRef(t);n.current=t;const o=f.useRef(e);o.current=e;const a=f.useRef(r);if(a.current=r,s.current===null){const c={};for(const l in t)c[l]=t[l].value;s.current={...c,__snapshot:null}}const u=f.useCallback(c=>{let l=!0;return b(()=>{const h=n.current;for(const m in h)h[m].value;if(l){l=!1;return}c()})},[i]),d=f.useCallback(()=>{const c=s.current,l=n.current,h={};for(const g in l)h[g]=l[g].value;let m=!1;for(const g of o.current){const{key:y,useShallowArrayEqual:k}=g,_=h[y],S=c[y];if(k){if(!ar(S,_)){m=!0;break}}else if(S!==_){m=!0;break}}if(!m&&c.__snapshot)return c.__snapshot;for(const g in l)c[g]=h[g];return c.__snapshot=a.current(h),c.__snapshot},[i]);return ne.useSyncExternalStore(u,d,d)}function lr(t){const e={value:t.value,disabled:t.disabled,errors:t.errors,pending:t.pending,valid:t.valid,invalid:t.invalid,touched:t.touched,dirty:t.dirty,shouldShowError:t.shouldShowError,componentProps:t.componentProps},r=[{key:"value"},{key:"disabled"},{key:"errors",useShallowArrayEqual:!0},{key:"pending"},{key:"valid"},{key:"invalid"},{key:"touched"},{key:"dirty"},{key:"shouldShowError"},{key:"componentProps"}],i=f.useCallback(s=>({value:s.value,pending:s.pending,disabled:s.disabled,errors:s.errors,valid:s.valid,invalid:s.invalid,touched:s.touched,dirty:s.dirty,shouldShowError:s.shouldShowError,componentProps:s.componentProps}),[]);return we(e,r,i,t)}function ur(t){const e={value:t.value,length:t.length,errors:t.errors,pending:t.pending,valid:t.valid,invalid:t.invalid,touched:t.touched,dirty:t.dirty,disabled:t.disabled},r=[{key:"value"},{key:"length"},{key:"errors",useShallowArrayEqual:!0},{key:"pending"},{key:"valid"},{key:"invalid"},{key:"touched"},{key:"dirty"},{key:"disabled"}],i=f.useCallback(s=>({value:s.value,length:s.length,pending:s.pending,errors:s.errors,valid:s.valid,invalid:s.invalid,touched:s.touched,dirty:s.dirty,disabled:s.disabled}),[]);return we(e,r,i,t)}function cr(){const t=f.useCallback(()=>({value:[],length:0,pending:!1,errors:[],valid:!0,invalid:!1,touched:!1,dirty:!1,disabled:!1}),[]);return we({},[],t)}function at(t){const e=t&&"length"in t&&"map"in t;return t?e?ur(t):lr(t):cr()}function hr(t){const e=f.useRef({value:t.value.value}),r=f.useCallback(s=>{let n=!0;return b(()=>{if(t.value.value,n){n=!1;return}s()})},[t]),i=f.useCallback(()=>{const s=t.value.value;return e.current.value===s?e.current.value:(e.current.value=s,s)},[t]);return ne.useSyncExternalStore(r,i,i)}function dr(t){const e=f.useRef({length:t.length.value}),r=f.useCallback(s=>{let n=!0;return b(()=>{if(t.length.value,n){n=!1;return}s()})},[t]),i=f.useCallback(()=>{const s=t.length.value;return e.current.length===s?e.current.length:(e.current.length=s,s)},[t]);return ne.useSyncExternalStore(r,i,i)}function fr(t){const{model:e,schema:r,strategy:i,debounce:s,liveAfterSubmit:n}=t,o=f.useMemo(()=>he(e,r,{strategy:i,debounce:s,liveAfterSubmit:n}),[e,r,i,s,n]);f.useEffect(()=>o.start(),[o]);const a=ne.useSyncExternalStore(f.useCallback(d=>o.validating.subscribe(d),[o]),()=>o.validating.peek(),()=>!1),u=f.useCallback(()=>o.validate(),[o]);return{submit:u,validate:u,isValidating:a}}function vr(t){const[e]=f.useState(t),r=e.validation?.controller;return f.useEffect(()=>r?.start(),[r]),e}const pr=Object.freeze({runtime:"reformer-core",v:1}),Nr=Object.freeze(Object.defineProperty({__proto__:null,ArrayNode:de,CORE_RUNTIME_TOKEN:pr,ErrorStrategy:C,FieldNode:Je,FormErrorHandler:P,FormNode:z,FormSubmitter:He,GroupNode:T,ModelArrayNode:Xe,NodeFactory:Qe,SubscriptionManager:se,buildValidation:it,computeFrom:Tt,copyFrom:Rt,createCoreForm:ir,createForm:rt,createFormFromModel:be,createModel:Ue,disableWhen:Zt,eachLeafSignal:Be,enableWhen:ze,getNodeForSignal:D,getNodeType:sr,isArrayNode:ot,isDerived:Y,isFieldNode:st,isFormNode:J,isGroupNode:nt,isModelContainerSignal:Vt,markDerived:$t,registerSignalNode:qe,resetWhen:Ut,revalidateWhen:Lt,runOutsideEffect:V,safeCallback:It,safeDebouncedCallback:Dt,syncFields:Gt,transformValue:Bt,unmarkDerived:xt,useArrayLength:dr,useFormBundle:vr,useFormControl:at,useFormControlValue:hr,useFormValidation:fr,watchField:Wt},Symbol.toStringTag,{value:"Module"})),mr=t=>t.message||t.code,yr=f.createContext(mr);function lt(){return f.useContext(yr)}const ut=f.createContext(null);function oe(){const t=f.useContext(ut);if(!t)throw new Error("FormField.* components must be used within <FormField.Root>. Wrap your field with <FormField.Root control={control}>.");return t}function Ee({control:t,children:e,id:r,hasDescription:i=!1}){const s=f.useId(),n=r??s,o=f.useMemo(()=>({controlId:`control-${n}`,labelId:`label-${n}`,descriptionId:`desc-${n}`,errorId:`error-${n}`}),[n]),a=at(t),u=lt(),d=f.useMemo(()=>{const{value:c,errors:l,pending:h,disabled:m,valid:g,invalid:y,touched:k,shouldShowError:_,componentProps:S}=a;return{value:c,errors:l,pending:h,disabled:m,valid:g,invalid:y,touched:k,shouldShowError:_,error:_&&l[0]?u(l[0]):void 0,label:S.label,required:!!S.required,componentProps:S,control:t,ids:o,hasDescription:i}},[a,t,o,i,u]);return A.jsx(ut.Provider,{value:d,children:e})}Ee.displayName="FormField.Root";const ct=f.forwardRef(({asChild:t=!1,children:e,forceRender:r=!1,...i},s)=>{const{label:n,required:o,ids:a}=oe(),u=e??n;return!u&&!r?null:A.jsxs(t?K:"label",{ref:s,id:a.labelId,htmlFor:t?void 0:a.controlId,...i,children:[u,o&&A.jsx("span",{"aria-hidden":"true",children:" *"})]})});ct.displayName="FormField.Label";const ht=f.forwardRef(({asChild:t=!1,children:e,...r},i)=>{const{control:s,value:n,disabled:o,shouldShowError:a,errors:u,required:d,ids:c,hasDescription:l,componentProps:h}=oe(),m=[l?c.descriptionId:null,a&&u.length>0?c.errorId:null].filter(Boolean).join(" ")||void 0,g={id:c.controlId,"aria-labelledby":c.labelId,"aria-invalid":a?!0:void 0,"aria-describedby":m,"aria-errormessage":a&&u.length>0?c.errorId:void 0,"aria-required":d?!0:void 0};if(e||t)return A.jsx(K,{ref:i,...g,...r,value:n,disabled:o,onChange:S=>s.setValue(S),onBlur:()=>s.markAsTouched(),children:e});const y=s.component,{testId:k,..._}=h??{};return A.jsx(y,{ref:i,..._,...g,...r,value:n,disabled:o,onChange:S=>s.setValue(S),onBlur:()=>s.markAsTouched()})});ht.displayName="FormField.Control";const dt=f.forwardRef(({asChild:t=!1,multi:e=!1,render:r,children:i,...s},n)=>{const{shouldShowError:o,errors:a,ids:u}=oe(),d=lt();if(!o||a.length===0)return null;const c=t?K:"p";return r?A.jsx(A.Fragment,{children:a.map((l,h)=>A.jsx(c,{ref:h===0?n:void 0,id:h===0?u.errorId:void 0,role:"alert",...s,children:r(l,h)},l.code??h))}):e?A.jsx(A.Fragment,{children:a.map((l,h)=>{const m=d(l);return A.jsx(c,{ref:h===0?n:void 0,id:h===0?u.errorId:void 0,role:"alert",...s,children:t?A.jsx("span",{children:m}):m},l.code??h)})}):A.jsx(c,{ref:n,id:u.errorId,role:"alert",...s,children:i??d(a[0])})});dt.displayName="FormField.Error";const ft=f.forwardRef(({asChild:t=!1,children:e,...r},i)=>{const{ids:s}=oe();return A.jsx(t?K:"p",{ref:i,id:s.descriptionId,...r,children:e})});ft.displayName="FormField.Description";const H=Ee;H.Root=Ee;H.Label=ct;H.Control=ht;H.Error=dt;H.Description=ft;export{Fr as $,Be as A,vr as B,Ke as C,Ar as D,Rt as E,Gt as F,he as G,at as H,H as I,oe as J,br as K,yt as L,K as M,Sr as N,lt as O,$r as R,xt as S,Ue as _,w as a,it as b,v as c,Kt as d,xr as e,$t as f,D as g,V as h,ze as i,b as j,Ut as k,E as l,Bt as m,q as n,ie as o,Vt as p,Tt as q,Y as r,It as s,Dt as t,Nr as u,wr as v,Wt as w,Lt as x,rt as y,Cr as z};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{l as e}from"./editor.api-
|
|
1
|
+
import{l as e}from"./editor.api-BWDeQ8t4.js";import"./index-DhcNqNgT.js";const o={comments:{blockComment:["<!--","-->"]},brackets:[["<",">"]],autoClosingPairs:[{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],surroundingPairs:[{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],onEnterRules:[{beforeText:new RegExp("<([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$","i"),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:e.IndentAction.IndentOutdent}},{beforeText:new RegExp("<(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$","i"),action:{indentAction:e.IndentAction.Indent}}]},i={defaultToken:"",tokenPostfix:".xml",ignoreCase:!0,qualifiedName:/(?:[\w\.\-]+:)?[\w\.\-]+/,tokenizer:{root:[[/[^<&]+/,""],{include:"@whitespace"},[/(<)(@qualifiedName)/,[{token:"delimiter"},{token:"tag",next:"@tag"}]],[/(<\/)(@qualifiedName)(\s*)(>)/,[{token:"delimiter"},{token:"tag"},"",{token:"delimiter"}]],[/(<\?)(@qualifiedName)/,[{token:"delimiter"},{token:"metatag",next:"@tag"}]],[/(<\!)(@qualifiedName)/,[{token:"delimiter"},{token:"metatag",next:"@tag"}]],[/<\!\[CDATA\[/,{token:"delimiter.cdata",next:"@cdata"}],[/&\w+;/,"string.escape"]],cdata:[[/[^\]]+/,""],[/\]\]>/,{token:"delimiter.cdata",next:"@pop"}],[/\]/,""]],tag:[[/[ \t\r\n]+/,""],[/(@qualifiedName)(\s*=\s*)("[^"]*"|'[^']*')/,["attribute.name","","attribute.value"]],[/(@qualifiedName)(\s*=\s*)("[^">?\/]*|'[^'>?\/]*)(?=[\?\/]\>)/,["attribute.name","","attribute.value"]],[/(@qualifiedName)(\s*=\s*)("[^">]*|'[^'>]*)/,["attribute.name","","attribute.value"]],[/@qualifiedName/,"attribute.name"],[/\?>/,{token:"delimiter",next:"@pop"}],[/(\/)(>)/,[{token:"tag"},{token:"delimiter",next:"@pop"}]],[/>/,{token:"delimiter",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[/<!--/,{token:"comment",next:"@comment"}]],comment:[[/[^<\-]+/,"comment.content"],[/-->/,{token:"comment",next:"@pop"}],[/<!--/,"comment.content.invalid"],[/[<\-]/,"comment.content"]]}};export{o as conf,i as language};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{l as e}from"./editor.api-
|
|
1
|
+
import{l as e}from"./editor.api-BWDeQ8t4.js";import"./index-DhcNqNgT.js";const o={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{offSide:!0},onEnterRules:[{beforeText:/:\s*$/,action:{indentAction:e.IndentAction.Indent}}]},r={tokenPostfix:".yaml",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["true","True","TRUE","false","False","FALSE","null","Null","Null","~"],numberInteger:/(?:0|[+-]?[0-9]+)/,numberFloat:/(?:0|[+-]?[0-9]+)(?:\.[0-9]+)?(?:e[-+][1-9][0-9]*)?/,numberOctal:/0o[0-7]+/,numberHex:/0x[0-9a-fA-F]+/,numberInfinity:/[+-]?\.(?:inf|Inf|INF)/,numberNaN:/\.(?:nan|Nan|NAN)/,numberDate:/\d{4}-\d\d-\d\d([Tt ]\d\d:\d\d:\d\d(\.\d+)?(( ?[+-]\d\d?(:\d\d)?)|Z)?)?/,escapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},[/%[^ ]+.*$/,"meta.directive"],[/---/,"operators.directivesEnd"],[/\.{3}/,"operators.documentEnd"],[/[-?:](?= )/,"operators"],{include:"@anchor"},{include:"@tagHandle"},{include:"@flowCollections"},{include:"@blockStyle"},[/@numberInteger(?![ \t]*\S+)/,"number"],[/@numberFloat(?![ \t]*\S+)/,"number.float"],[/@numberOctal(?![ \t]*\S+)/,"number.octal"],[/@numberHex(?![ \t]*\S+)/,"number.hex"],[/@numberInfinity(?![ \t]*\S+)/,"number.infinity"],[/@numberNaN(?![ \t]*\S+)/,"number.nan"],[/@numberDate(?![ \t]*\S+)/,"number.date"],[/(".*?"|'.*?'|[^#'"]*?)([ \t]*)(:)( |$)/,["type","white","operators","white"]],{include:"@flowScalars"},[/.+?(?=(\s+#|$))/,{cases:{"@keywords":"keyword","@default":"string"}}]],object:[{include:"@whitespace"},{include:"@comment"},[/\}/,"@brackets","@pop"],[/,/,"delimiter.comma"],[/:(?= )/,"operators"],[/(?:".*?"|'.*?'|[^,\{\[]+?)(?=: )/,"type"],{include:"@flowCollections"},{include:"@flowScalars"},{include:"@tagHandle"},{include:"@anchor"},{include:"@flowNumber"},[/[^\},]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],array:[{include:"@whitespace"},{include:"@comment"},[/\]/,"@brackets","@pop"],[/,/,"delimiter.comma"],{include:"@flowCollections"},{include:"@flowScalars"},{include:"@tagHandle"},{include:"@anchor"},{include:"@flowNumber"},[/[^\],]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],multiString:[[/^( +).+$/,"string","@multiStringContinued.$1"]],multiStringContinued:[[/^( *).+$/,{cases:{"$1==$S2":"string","@default":{token:"@rematch",next:"@popall"}}}]],whitespace:[[/[ \t\r\n]+/,"white"]],comment:[[/#.*$/,"comment"]],flowCollections:[[/\[/,"@brackets","@array"],[/\{/,"@brackets","@object"]],flowScalars:[[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'[^']*'/,"string"],[/"/,"string","@doubleQuotedString"]],doubleQuotedString:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],blockStyle:[[/[>|][0-9]*[+-]?$/,"operators","@multiString"]],flowNumber:[[/@numberInteger(?=[ \t]*[,\]\}])/,"number"],[/@numberFloat(?=[ \t]*[,\]\}])/,"number.float"],[/@numberOctal(?=[ \t]*[,\]\}])/,"number.octal"],[/@numberHex(?=[ \t]*[,\]\}])/,"number.hex"],[/@numberInfinity(?=[ \t]*[,\]\}])/,"number.infinity"],[/@numberNaN(?=[ \t]*[,\]\}])/,"number.nan"],[/@numberDate(?=[ \t]*[,\]\}])/,"number.date"]],tagHandle:[[/\![^ ]*/,"tag"]],anchor:[[/[&*][^ ]+/,"namespace"]]}};export{o as conf,r as language};
|
package/dist/index.html
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<title>reformer-builder</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-DhcNqNgT.js"></script>
|
|
9
9
|
<link rel="stylesheet" crossorigin href="/assets/index-BxUg93Np.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reformer/builder",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.5",
|
|
4
4
|
"description": "Visual form-schema builder for the @reformer ecosystem — a bundled offline SPA you run via npx to build ReFormer JSON form schemas in the browser",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/typescript-CNVC9ZHk.js","assets/index-CY45QPm-.js","assets/index-BxUg93Np.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-BASGgtAT.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-BzMuBv1U.js";import{a as Le,d as We,e as Je,_ as Ne}from"./index-CY45QPm-.js";import{c as ee}from"./reformer-ui-kit-D8fAdwPH.js";import{r as qe}from"./index-BmJVVkA_.js";import{g as He}from"./boot-DTWnczkO.js";import"./load-FrEYc91y.js";import"./index-OZOUDUGD.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-CNVC9ZHk.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};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as ve,b as pe,r as f,W as me,j as A}from"./index-CY45QPm-.js";var ye=pe();const Ar=ve(ye);function ge(...e){return t=>{for(const r of e)typeof r=="function"?r(t):r!=null&&(r.current=t)}}function be(e){return Object.getOwnPropertyDescriptor(e.props,"ref")?.get?.isReactWarning?e.ref:Object.getOwnPropertyDescriptor(e,"ref")?.get?.isReactWarning?e.props.ref:e.props.ref??e.ref}function we(e,t){const r={...e};for(const i of Object.keys(t)){const s=e[i],n=t[i];i.startsWith("on")&&typeof s=="function"&&typeof n=="function"?r[i]=(...o)=>{n(...o),s(...o)}:i==="className"&&typeof s=="string"&&typeof n=="string"?r[i]=[n,s].filter(Boolean).join(" "):i==="style"&&typeof s=="object"&&typeof n=="object"?r[i]={...n,...s}:i==="disabled"?r[i]=!!s||!!n:n!==void 0&&(r[i]=n)}return r}const z=f.forwardRef(({children:e,...t},r)=>{const i=f.Children.only(e);if(!f.isValidElement(i))return null;const s=i.props,n=we(t,s),o=be(i),a=ge(r,o);return f.cloneElement(i,{...n,ref:a})});z.displayName="Slot";var Ee=Symbol.for("preact-signals");function it(){if(x>1)x--;else{var e,t=!1;for((function(){var s=Q;for(Q=void 0;s!==void 0;)s.S.v===s.v&&(s.S.i=s.i),s=s.o})();B!==void 0;){var r=B;for(B=void 0,H++;r!==void 0;){var i=r.u;if(r.u=void 0,r.f&=-3,!(8&r.f)&&Pt(r))try{r.c()}catch(s){t||(e=s,t=!0)}r=i}}if(H=0,x--,t)throw e}}function q(e){if(x>0)return e();ut=++ke,x++;try{return e()}finally{it()}}var p=void 0;function st(e){var t=p;p=void 0;try{return e()}finally{p=t}}var $,B=void 0,x=0,H=0,ke=0,ut=0,Q=void 0,X=0;function Mt(e){if(p!==void 0){var t=e.n;if(t===void 0||t.t!==p)return t={i:0,S:e,p:p.s,n:void 0,t:p,e:void 0,x:void 0,r:t},p.s!==void 0&&(p.s.n=t),p.s=t,e.n=t,32&p.f&&e.S(t),t;if(t.i===-1)return t.i=0,t.n!==void 0&&(t.n.p=t.p,t.p!==void 0&&(t.p.n=t.n),t.p=p.s,t.n=void 0,p.s.n=t,p.s=t),t}}function E(e,t){this.v=e,this.i=0,this.n=void 0,this.t=void 0,this.l=0,this.W=t?.watched,this.Z=t?.unwatched,this.name=t?.name}E.prototype.brand=Ee;E.prototype.h=function(){return!0};E.prototype.S=function(e){var t=this,r=this.t;r!==e&&e.e===void 0&&(e.x=r,this.t=e,r!==void 0?r.e=e:st(function(){var i;(i=t.W)==null||i.call(t)}))};E.prototype.U=function(e){var t=this;if(this.t!==void 0){var r=e.e,i=e.x;r!==void 0&&(r.x=i,e.e=void 0),i!==void 0&&(i.e=r,e.x=void 0),e===this.t&&(this.t=i,i===void 0&&st(function(){var s;(s=t.Z)==null||s.call(t)}))}};E.prototype.subscribe=function(e){var t=this;return b(function(){var r=t.value,i=p;p=void 0;try{e(r)}finally{p=i}},{name:"sub"})};E.prototype.valueOf=function(){return this.value};E.prototype.toString=function(){return this.value+""};E.prototype.toJSON=function(){return this.value};E.prototype.peek=function(){var e=p;p=void 0;try{return this.value}finally{p=e}};Object.defineProperty(E.prototype,"value",{get:function(){var e=Mt(this);return e!==void 0&&(e.i=this.i),this.v},set:function(e){if(e!==this.v){if(H>100)throw new Error("Cycle detected");(function(r){x!==0&&H===0&&r.l!==ut&&(r.l=ut,Q={S:r,v:r.v,i:r.i,o:Q})})(this),this.v=e,this.i++,X++,x++;try{for(var t=this.t;t!==void 0;t=t.x)t.t.N()}finally{it()}}}});function w(e,t){return new E(e,t)}function Pt(e){for(var t=e.s;t!==void 0;t=t.n)if(t.S.i!==t.i||!t.S.h()||t.S.i!==t.i)return!0;return!1}function Ot(e){for(var t=e.s;t!==void 0;t=t.n){var r=t.S.n;if(r!==void 0&&(t.r=r),t.S.n=t,t.i=-1,t.n===void 0){e.s=t;break}}}function jt(e){for(var t=e.s,r=void 0;t!==void 0;){var i=t.p;t.i===-1?(t.S.U(t),i!==void 0&&(i.n=t.n),t.n!==void 0&&(t.n.p=i)):r=t,t.S.n=t.r,t.r!==void 0&&(t.r=void 0),t=i}e.s=r}function M(e,t){E.call(this,void 0),this.x=e,this.s=void 0,this.g=X-1,this.f=4,this.W=t?.watched,this.Z=t?.unwatched,this.name=t?.name}M.prototype=new E;M.prototype.h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===X))return!0;if(this.g=X,this.f|=1,this.i>0&&!Pt(this))return this.f&=-2,!0;var e=p;try{Ot(this),p=this;var t=this.x();(16&this.f||this.v!==t||this.i===0)&&(this.v=t,this.f&=-17,this.i++)}catch(r){this.v=r,this.f|=16,this.i++}return p=e,jt(this),this.f&=-2,!0};M.prototype.S=function(e){if(this.t===void 0){this.f|=36;for(var t=this.s;t!==void 0;t=t.n)t.S.S(t)}E.prototype.S.call(this,e)};M.prototype.U=function(e){if(this.t!==void 0&&(E.prototype.U.call(this,e),this.t===void 0)){this.f&=-33;for(var t=this.s;t!==void 0;t=t.n)t.S.U(t)}};M.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var e=this.t;e!==void 0;e=e.x)e.t.N()}};Object.defineProperty(M.prototype,"value",{get:function(){if(1&this.f)throw new Error("Cycle detected");var e=Mt(this);if(this.h(),e!==void 0&&(e.i=this.i),16&this.f)throw this.v;return this.v}});function v(e,t){return new M(e,t)}function It(e){var t=e.m;if(e.m=void 0,typeof t=="function"){x++;var r=p;p=void 0;try{t()}catch(i){throw e.f&=-2,e.f|=8,vt(e),i}finally{p=r,it()}}}function vt(e){for(var t=e.s;t!==void 0;t=t.n)t.S.U(t);e.x=void 0,e.s=void 0,It(e)}function _e(e){if(p!==this)throw new Error("Out-of-order effect");jt(this),p=e,this.f&=-2,8&this.f&&vt(this),it()}function O(e,t){this.x=e,this.m=void 0,this.s=void 0,this.u=void 0,this.f=32,this.name=t?.name,$&&$.push(this)}O.prototype.c=function(){var e=this.S();try{if(8&this.f||this.x===void 0)return;var t=this.x();typeof t=="function"&&(this.m=t)}finally{e()}};O.prototype.S=function(){if(1&this.f)throw new Error("Cycle detected");this.f|=1,this.f&=-9,It(this),Ot(this),x++;var e=p;return p=this,_e.bind(this,e)};O.prototype.N=function(){2&this.f||(this.f|=2,this.u=B,B=this)};O.prototype.d=function(){this.f|=8,1&this.f||vt(this)};O.prototype.dispose=function(){this.d()};function b(e,t){var r=new O(e,t);try{r.c()}catch(s){throw r.d(),s}var i=r.d.bind(r);return i[Symbol.dispose]=i,i}function pt(e){return function(){var t=arguments,r=this;return q(function(){return st(function(){return e.apply(r,[].slice.call(t))})})}}function Ae(){var e=$;return $=[],function(){var t=$;return $&&e&&(e=e.concat($)),$=e,t}}var Dt=function(e){for(var t in e){var r=e[t];typeof r=="function"?e[t]=pt(r):typeof r=="object"&&r!==null&&!("brand"in r)&&Dt(r)}};function Se(e){return function(){var t,r,i=Ae();try{r=e.apply(void 0,[].slice.call(arguments))}catch(s){throw $=void 0,s}finally{t=i()}return Dt(r),r[Symbol.dispose]=pt(function(){if(t)for(var s=0;s<t.length;s++)t[s].dispose();t=void 0}),r}}const Sr=Object.freeze(Object.defineProperty({__proto__:null,Computed:M,Effect:O,Signal:E,action:pt,batch:q,computed:v,createModel:Se,effect:b,signal:w,untracked:st},Symbol.toStringTag,{value:"Module"})),I=new WeakMap;function $e(e){I.set(e,(I.get(e)??0)+1)}function xe(e){const t=I.get(e);t!==void 0&&(t<=1?I.delete(e):I.set(e,t-1))}function Y(e){return I.has(e)}const tt=e=>!(e===null||typeof e!="object"||Array.isArray(e)||e instanceof Date||typeof Blob<"u"&&e instanceof Blob||typeof File<"u"&&e instanceof File),F=(e,t)=>e===""?String(t):`${e}.${t}`,ct=e=>/^\d+$/.test(e),N=e=>{if(Array.isArray(e))return e.map(N);if(tt(e)){const t={};for(const r of Object.keys(e))t[r]=N(e[r]);return t}return e},et=(e,t)=>{if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t))return e.length!==t.length?!1:e.every((r,i)=>et(r,t[i]));if(tt(e)&&tt(t)){const r=Object.keys(e),i=Object.keys(t);return r.length!==i.length?!1:r.every(s=>et(e[s],t[s]))}return!1};let Fe=class{constructor(t,r){this.path=r;const i=w(t);i.__path=r,this.signal=i,this.initial=N(t)}kind="leaf";signal;initial;rebase(t){this.path=t,this.signal.__path=t}read(){return this.signal.value}peek(){return this.signal.peek()}set(t){this.signal.value=t}resetToInitial(){this.signal.value=N(this.initial)}captureInitial(){this.initial=N(this.signal.peek())}dirty(){return!et(this.signal.peek(),this.initial)}},Tt=class{constructor(t,r){this.path=r;for(const i of Object.keys(t))this.children.set(i,W(t[i],F(r,i)))}kind="group";children=new Map;rebase(t){this.path=t;for(const[r,i]of this.children)i.rebase(F(t,r))}read(){const t={};for(const[r,i]of this.children)t[r]=i.read();return t}peek(){const t={};for(const[r,i]of this.children)t[r]=i.peek();return t}set(t){if(t==null||typeof t!="object")return;const r=t;q(()=>{for(const[i,s]of this.children)i in r&&(s.kind==="leaf"&&Y(s.signal)||s.set(r[i]))})}resetToInitial(){q(()=>{for(const t of this.children.values())t.resetToInitial()})}captureInitial(){for(const t of this.children.values())t.captureInitial()}dirty(){for(const t of this.children.values())if(t.dirty())return!0;return!1}},Ce=class{constructor(t,r){this.path=r,this.items=w(t.map((i,s)=>W(i,F(r,s)))),this.initial=N(t)}kind="array";items;initial;rebase(t){this.path=t,this.items.peek().forEach((r,i)=>r.rebase(F(t,i)))}reindex(){this.items.peek().forEach((t,r)=>t.rebase(F(this.path,r)))}push(t){const r=this.items.peek();this.items.value=[...r,W(t,F(this.path,r.length))]}insertAt(t,r){const i=[...this.items.peek()];i.splice(t,0,W(r,F(this.path,t))),this.items.value=i,this.reindex()}removeAt(t){const r=[...this.items.peek()];r.splice(t,1),this.items.value=r,this.reindex()}move(t,r){const i=[...this.items.peek()],[s]=i.splice(t,1);s&&i.splice(r,0,s),this.items.value=i,this.reindex()}swap(t,r){const i=[...this.items.peek()];t<0||r<0||t>=i.length||r>=i.length||t===r||([i[t],i[r]]=[i[r],i[t]],this.items.value=i,this.reindex())}clear(){this.items.value=[]}read(){return this.items.value.map(t=>t.read())}peek(){return this.items.peek().map(t=>t.peek())}set(t){const r=Array.isArray(t)?t:[];this.items.value=r.map((i,s)=>W(i,F(this.path,s)))}resetToInitial(){this.set(N(this.initial))}captureInitial(){this.initial=N(this.peek())}dirty(){return!et(this.peek(),this.initial)}};function W(e,t){return Array.isArray(e)?new Ce(e,t):tt(e)?new Tt(e,t):new Fe(e,t)}function j(e){if(e)return e.kind==="group"?Bt(e):e.kind==="array"?Ne(e):e.read()}function Ne(e){const t={get length(){return e.items.value.length},push:r=>e.push(r),insertAt:(r,i)=>e.insertAt(r,i),removeAt:r=>e.removeAt(r),move:(r,i)=>e.move(r,i),swap:(r,i)=>e.swap(r,i),clear:()=>e.clear(),at:r=>j(e.items.value[r]),map:r=>e.items.value.map((i,s)=>r(j(i),s)),forEach:r=>e.items.value.forEach((i,s)=>r(j(i),s)),toArray:()=>e.peek(),[Symbol.iterator]:function*(){const r=e.items.value;for(let i=0;i<r.length;i++)yield j(r[i])}};return new Proxy(t,{get:(r,i,s)=>i==="__path"?e.path:typeof i=="string"&&ct(i)?j(e.items.value[Number(i)]):Reflect.get(r,i,s),has:(r,i)=>typeof i=="string"&&ct(i)?Number(i)<e.items.value.length:Reflect.has(r,i)})}const _t=new WeakMap;function Ve(e){const t=v(()=>e.read());return{get value(){return t.value},peek:()=>t.peek(),subscribe:r=>t.subscribe(r),valueOf:()=>t.value,toString:()=>String(t.value),toJSON:()=>t.value,brand:t.brand}}function Rt(e){if(e.kind==="leaf")return e.signal;const t=_t.get(e);if(t)return t;const r=Ve(e),i=e.kind==="group",s=a=>i?e.children.get(a):ct(a)?e.items.value[Number(a)]:void 0,n=i?{}:{get length(){return e.items.value.length}},o=new Proxy(n,{get:(a,l,h)=>{if(l==="__path")return e.path;if(l==="__kind")return e.kind;if(typeof l!="string")return Reflect.get(r,l,r);const c=s(l);return c?Rt(c):!i&&Reflect.has(a,l)?Reflect.get(a,l,h):Reflect.get(r,l,r)},has:(a,l)=>typeof l=="string"&&(s(l)!==void 0||!i&&Reflect.has(a,l)),ownKeys:()=>i?[...e.children.keys()]:Reflect.ownKeys(n),getOwnPropertyDescriptor:(a,l)=>typeof l=="string"&&s(l)?{enumerable:!0,configurable:!0}:i?void 0:Reflect.getOwnPropertyDescriptor(a,l)});return _t.set(e,o),o}function Me(e){if(e==null||typeof e!="object")return!1;const t=e.__kind;return t==="group"||t==="array"}function Pe(e,t){if(!t)return;let r=e;for(const i of t.split(".")){if(!r)return;if(r.kind==="group")r=r.children.get(i);else if(r.kind==="array")r=r.items.peek()[Number(i)];else return}return r&&r.kind==="leaf"?r.signal:void 0}const At=new Set(["$","get","set","patch","isDirty","reset","captureInitial","signalAt"]),St=new WeakMap,Wt=new WeakMap;function Bt(e){const t=St.get(e);if(t)return t;const r={$:Rt(e),get:()=>e.peek(),set:s=>e.set(s),patch:s=>e.set(s),isDirty:()=>e.dirty(),reset:()=>e.resetToInitial(),captureInitial:()=>e.captureInitial(),signalAt:s=>Pe(e,s)},i=new Proxy({},{get:(s,n)=>{if(n==="__path")return e.path;if(typeof n!="string")return;const o=e.children.get(n);if(o)return j(o);if(At.has(n))return r[n]},set:(s,n,o)=>{if(typeof n!="string")return!1;const a=e.children.get(n);return a?(a.set(o),!0):!1},has:(s,n)=>typeof n=="string"&&(e.children.has(n)||At.has(n)),ownKeys:()=>[...e.children.keys()],getOwnPropertyDescriptor:(s,n)=>typeof n=="string"&&e.children.has(n)?{enumerable:!0,configurable:!0}:void 0});return St.set(e,i),Wt.set(i,e),i}function dt(e,t){if(e.kind==="leaf"){t(e.signal);return}if(e.kind==="group"){for(const r of e.children.values())dt(r,t);return}for(const r of e.items.value)dt(r,t)}function Oe(e,t){const r=Wt.get(e);r&&dt(r,t)}function Ut(e){const t=new Tt(e,"");return Bt(t)}const je="runOutsideEffect";function Ie(e){return typeof e=="object"&&e!==null&&typeof e.then=="function"}function Gt(e,t){try{const r=e();Ie(r)&&r.then(void 0,i=>void 0)}catch{}}function De(e){return(...t)=>{V(()=>e(...t))}}function V(e){let t=!1;return queueMicrotask(()=>{t||Gt(e,je)}),()=>{t=!0}}function Te(e,t){return()=>{t(()=>Gt(e,"safeDebouncedCallback"))}}function Re(e,t,r,i){return b(()=>{const s=e.map(o=>o.value);if(i?.when&&!i.when(...s))return;const n=r(...s);t.peek()!==n&&(t.value=n)})}function We(e,t,r){return b(()=>{const i=e.value;if(r?.when&&!r.when())return;const s=r?.transform?r.transform(i):i;t.peek()!==s&&(t.value=s)})}function Be(e,t,r){let i=!0;return b(()=>{const s=e.value;i&&(i=!1,!r?.immediate)||t(s)})}function Ue(e,t){let r=!1;return b(()=>{const i=e.value;r||V(()=>{const s=t(i);if(e.peek()!==s){r=!0;try{e.value=s}finally{r=!1}}})})}function Ge(e,t,r){const i=r?.resetValue??null;return b(()=>{const s=t();V(()=>{s&&e.peek()!==i&&(e.value=i)})})}function Le(e,t,r){const i=r?.transform;let s=!1;const n=b(()=>{const a=e.value;s||V(()=>{s=!0;try{const l=i?i(a):a;t.peek()!==l&&(t.value=l)}finally{s=!1}})}),o=b(()=>{const a=t.value;s||V(()=>{s=!0;try{e.peek()!==a&&(e.value=a)}finally{s=!1}})});return()=>{n(),o()}}function qe(e,t){let r=!0;return b(()=>{if(e.forEach(i=>i.value),r){r=!1;return}V(()=>t())})}let nt=class{subscriptions=new Map;add(t,r){return this.subscriptions.has(t)&&this.subscriptions.get(t)?.(),this.subscriptions.set(t,r),()=>this.remove(t)}remove(t){const r=this.subscriptions.get(t);return r?(r(),this.subscriptions.delete(t),!0):!1}clear(){this.subscriptions.forEach(t=>{t()}),this.subscriptions.clear()}size(){return this.subscriptions.size}has(t){return this.subscriptions.has(t)}getKeys(){return Array.from(this.subscriptions.keys())}dispose(){this.clear()}};const Lt=new WeakMap;function qt(e,t){Lt.set(e,t)}function D(e){return Lt.get(e)}function rt(e,t,r={}){const{strategy:i="submit",debounce:s=0,liveAfterSubmit:n="change"}=r,o=w(!1);let a=0,l=!1,h,c;const u=async k=>{a++,o.value=!0;try{return await gt(e,t,{touch:k})}finally{--a===0&&(o.value=!1)}},d=()=>{u(!1)},m=()=>{if(!s){d();return}c&&clearTimeout(c),c=setTimeout(d,s)},g=(k,_)=>{let S=!0;return b(()=>{if(Oe(e,k),S){S=!1;return}i==="afterFirstSubmit"&&!l||_()})},y={async validate(){return l=!0,u(!0)},start(){if(h)return()=>y.dispose();const k=i==="afterFirstSubmit"?n:i;return k==="change"?h=g(_=>void _.value,m):k==="blur"&&(h=g(_=>void D(_)?.touched.value,d)),()=>y.dispose()},dispose(){c&&(clearTimeout(c),c=void 0),h?.(),h=void 0},get isValidating(){return o.value},get validating(){return o}};return y}let U=null;function R(e){if(!U)throw new Error(`[@reformer/core/validation] "${e}" вызван вне схемы валидации — операторы валидации можно вызывать только внутри прогона validateModel(...) (напрямую или через apply/each).`);return U}function mt(e,t){let r=e.errors.get(t);return r||e.errors.set(t,r=[]),r}const yt=e=>e.whenStack.every(t=>t());function ze(e,t){const r=R("validate"),i=mt(r,e);if(!yt(r))return;const s=e.peek();for(const n of t){const o=n(s,r.model,r.model);o&&i.push(o)}}function Ke(e,t){const r=R("validateAsync"),i=mt(r,e);if(!yt(r))return;const s=e.peek(),n=r.signal;for(const o of t)r.pending.push(o(s,{signal:n}).then(a=>{a&&!n.aborted&&i.push(a)},()=>{}))}function Je(e,t){const r=R("validateWhen");r.whenStack.push(e);try{t()}finally{r.whenStack.pop()}}function Ze(e,t){const r=R("cross"),i=mt(r,e);if(!yt(r))return;const s=t(r.model.get());s&&i.push(s)}function He(e,t){R("each");const r=e.length;for(let i=0;i<r;i++)t(e.at(i))}function zt(...e){const t=R("apply").model;for(const r of e)r({model:t})}function Qe(e){return e}const $t=new WeakMap;function Xe(e,t){let r=$t.get(e);r||$t.set(e,r=new WeakMap);let i=r.get(t);return i||r.set(t,i={fields:new Set,ac:null}),i}const Ye=e=>{for(const t of e.values())for(const r of t)if(r.severity!=="warning")return!0;return!1};function tr(e){return e.aborted?Promise.resolve():new Promise(t=>{e.addEventListener("abort",()=>t(),{once:!0})})}async function gt(e,t,r){const i=Xe(e,t);i.ac?.abort();const s=new AbortController;i.ac=s;const n={model:e,errors:new Map,pending:[],whenStack:[],signal:s.signal},o=U;U=n;try{t({model:e})}finally{U=o}if(n.pending.length&&await Promise.race([Promise.all(n.pending),tr(s.signal)]),s.signal.aborted)return!1;const a=new Set(n.errors.keys());for(const l of i.fields)a.has(l)||D(l)?.setErrors([]);for(const l of a)D(l)?.setErrors(n.errors.get(l)??[]);if(r?.touch)for(const l of a)D(l)?.markAsTouched();return i.fields=a,!Ye(n.errors)}const Nr=Object.freeze(Object.defineProperty({__proto__:null,apply:zt,createFormValidation:rt,cross:Ze,defineValidationSchema:Qe,each:He,validate:ze,validateAsync:Ke,validateModel:gt,validateWhen:Je},Symbol.toStringTag,{value:"Module"}));function Kt(e,t,r){return b(()=>{const i=t(),s=D(e);s&&V(()=>{i?s.enable():(s.disable(),r?.resetOnDisable&&s.reset())})})}function er(e,t,r){return Kt(e,()=>!t(),r)}class K{_touched=w(!1);_dirty=w(!1);_status=w("valid");touched=v(()=>this._touched.value);dirty=v(()=>this._dirty.value);status=v(()=>this._status.value);disabled=v(()=>this._status.value==="disabled");getErrors(t){const r=this.errors.value;return t?r.filter(i=>{if(t.code!==void 0&&!(Array.isArray(t.code)?t.code:[t.code]).includes(i.code)||t.message!==void 0&&!i.message.toLowerCase().includes(t.message.toLowerCase()))return!1;if(t.params!==void 0){if(!i.params)return!1;for(const[s,n]of Object.entries(t.params))if(i.params[s]!==n)return!1}return!(t.predicate!==void 0&&!t.predicate(i))}):r}markAsTouched(){this._touched.value=!0,this.onMarkAsTouched()}markAsUntouched(){this._touched.value=!1,this.onMarkAsUntouched()}markAsDirty(){this._dirty.value=!0,this.onMarkAsDirty()}markAsPristine(){this._dirty.value=!1,this.onMarkAsPristine()}touchAll(){this.markAsTouched()}disable(){this._status.value="disabled",this.onDisable()}enable(){this._status.value="valid",this.onEnable()}onMarkAsTouched(){}onMarkAsUntouched(){}onMarkAsDirty(){}onMarkAsPristine(){}onDisable(){}onEnable(){}}const G={Watch:"watch",ComputeFrom:"computeFrom",LinkFields:"linkFields",WatchField:"watchField"};let rr=0;function L(e){return`${e}-${++rr}`}var C=(e=>(e.THROW="throw",e.LOG="log",e.CONVERT="convert",e))(C||{});let P=class{static handle(t,r,i="throw"){const s=this.extractMessage(t);switch(i){case"throw":throw t;case"log":return;case"convert":return{code:"validator_error",message:s,params:{field:r}}}}static extractMessage(t){return t instanceof Error?t.message:typeof t=="string"?t:typeof t=="object"&&t!==null&&"message"in t?String(t.message):String(t)}static createValidationError(t,r,i){return{code:t,message:r,params:i?{field:i}:void 0}}static isValidationError(t){return typeof t=="object"&&t!==null&&"code"in t&&"message"in t&&typeof t.code=="string"&&typeof t.message=="string"}};class ir{_status;status;valid;invalid;pending;disabled;constructor(t="valid"){this._status=w(t),this.status=v(()=>this._status.value),this.valid=v(()=>this._status.value==="valid"),this.invalid=v(()=>this._status.value==="invalid"),this.pending=v(()=>this._status.value==="pending"),this.disabled=v(()=>this._status.value==="disabled")}startValidation(){this._status.value!=="disabled"&&(this._status.value="pending")}completeValidation(t){this._status.value!=="disabled"&&(this._status.value=t?"invalid":"valid")}setErrors(t){this._status.value!=="disabled"&&(this._status.value=t?"invalid":"valid")}disable(){this._status.value="disabled"}enable(t=!1){this._status.value=t?"invalid":"valid"}}class Jt extends K{_value;_errors;_componentProps;statusMachine;value;valid;invalid;pending;status;disabled;errors;componentProps;shouldShowError;validators;asyncValidators;updateOn;initialValue;currentAbortController;debounceMs;validateDebounceTimer;pendingValidation;disposers=new nt;component;constructor(t){super(),this.validators=t.validators||[],this.asyncValidators=t.asyncValidators||[],this.updateOn=t.updateOn||"blur",this.debounceMs=t.debounce||0,this.component=t.component,this._value=t.valueSignal??w(t.value),this.initialValue=this._value.peek(),this._errors=w([]),this._componentProps=w(t.componentProps||{}),this.statusMachine=new ir(t.disabled?"disabled":"valid"),this.value=v(()=>this._value.value),this.valid=v(()=>this.statusMachine.valid.value),this.invalid=v(()=>this.statusMachine.invalid.value),this.pending=v(()=>this.statusMachine.pending.value),this.status=v(()=>this.statusMachine.status.value),this.disabled=v(()=>this.statusMachine.disabled.value),this.errors=v(()=>this._errors.value),this.componentProps=v(()=>this._componentProps.value),this.shouldShowError=v(()=>this.statusMachine.invalid.value&&(this._touched.value||this._dirty.value))}getValue(){return this._value.peek()}setValue(t,r){if(this._value.value=t,this._dirty.value=!0,r?.emitEvent===!1)return;const i=this.validators.length>0||this.asyncValidators.length>0,s=this._errors.value.length>0;if(this.updateOn==="change"){this.validate();return}s&&i&&this.validate()}patchValue(t){this.setValue(t)}reset(t){this._value.value=t!==void 0?t:this.initialValue,this._errors.value=[],this._touched.value=!1,this._dirty.value=!1,this.statusMachine.setErrors(!1)}resetToInitial(){this.reset(this.initialValue)}cancelPendingValidation(){this.pendingValidation&&(this.pendingValidation.abortController.abort(),this.pendingValidation.resolve(!1),this.pendingValidation=void 0),this.validateDebounceTimer&&(clearTimeout(this.validateDebounceTimer),this.validateDebounceTimer=void 0),this.currentAbortController&&(this.currentAbortController.abort(),this.currentAbortController=void 0)}async validate(t){const r=t?.debounce??this.debounceMs;if(this.cancelPendingValidation(),r<=0||this.asyncValidators.length===0)return this.validateImmediate();const i=new AbortController;return new Promise(s=>{this.pendingValidation={resolve:s,abortController:i},this.validateDebounceTimer=setTimeout(async()=>{if(this.validateDebounceTimer=void 0,i.signal.aborted){s(!1);return}this.pendingValidation=void 0;const n=await this.validateImmediate(i);s(n)},r),i.signal.addEventListener("abort",()=>{this.validateDebounceTimer&&(clearTimeout(this.validateDebounceTimer),this.validateDebounceTimer=void 0),s(!1)},{once:!0})})}async validateImmediate(t){const r=t??new AbortController;t||this.currentAbortController?.abort(),this.currentAbortController=r;const{signal:i}=r,s=[];for(const n of this.validators){const o=n(this._value.value);o&&s.push(o)}if(i.aborted)return!1;if(s.length>0){this._errors.value=s;const n=s.some(o=>o.severity!=="warning");if(this.statusMachine.setErrors(n),n)return!1}if(this.asyncValidators.length>0){if(i.aborted)return!1;this.statusMachine.startValidation();try{const n=await Promise.all(this.asyncValidators.map(async a=>{if(i.aborted)throw new DOMException("Validation aborted","AbortError");try{const l=await a(this._value.value,{signal:i});if(i.aborted)throw new DOMException("Validation aborted","AbortError");return l}catch(l){if(l instanceof DOMException&&l.name==="AbortError")throw l;return P.handle(l,"FieldNode AsyncValidator",C.CONVERT)}}));if(i.aborted)return!1;const o=n.filter(a=>a!==null);if(o.length>0){this._errors.value=o;const a=o.some(l=>l.severity!=="warning");if(this.statusMachine.completeValidation(a),a)return!1}}catch(n){if(n instanceof DOMException&&n.name==="AbortError")return!1;throw n}}return i.aborted?!1:((this.validators.length>0||this.asyncValidators.length>0)&&(this._errors.value=[],this.statusMachine.completeValidation(!1)),!this._errors.value.some(n=>n.severity!=="warning"))}setErrors(t){this._errors.value=t;const r=t.some(i=>i.severity!=="warning");this.statusMachine.setErrors(r)}clearErrors(){this._errors.value=[],this.statusMachine.setErrors(!1)}onMarkAsTouched(){this.updateOn==="blur"&&this.validate()}onDisable(){this.statusMachine.disable(),this._errors.value=[]}onEnable(){this.statusMachine.enable(this._errors.value.length>0),this.validate()}updateComponentProps(t){this._componentProps.value={...this._componentProps.value,...t}}setUpdateOn(t){this.updateOn=t}getUpdateOn(){return this.updateOn}watch(t){const r=new AbortController,i=b(()=>{const n=this.value.value;t(n,r.signal)}),s=L(G.Watch);return this.disposers.add(s,()=>{r.abort(),i()})}computeFrom(t,r){const i=b(()=>{const n=t.map(a=>a.value),o=r(...n);this.setValue(o,{emitEvent:!1})}),s=L(G.ComputeFrom);return this.disposers.add(s,i)}dispose(){try{this.disposers.dispose()}finally{this.cancelPendingValidation()}}}function bt(e){const{getChildren:t,ownErrors:r,disabled:i}=e,s=v(()=>r.value.length>0?!1:t().every(u=>u.disabled.value||u.valid.value)),n=v(()=>!s.value),o=v(()=>t().some(u=>u.pending.value)),a=v(()=>t().some(u=>u.touched.value)),l=v(()=>t().some(u=>u.dirty.value)),h=v(()=>{const u=[...r.value];for(const d of t())u.push(...d.errors.value);return u}),c=v(()=>i?.value?"disabled":o.value?"pending":n.value?"invalid":"valid");return{valid:s,invalid:n,pending:o,touched:a,dirty:l,errors:h,status:c}}function xt(e){return typeof e=="object"&&e!==null&&"getProxy"in e&&typeof e.getProxy=="function"}const Ft="$";function sr(e,t){let r;const i=()=>{if(!r){const s={};t.forEach((n,o)=>{s[o]=n&&xt(n)?n.getProxy():n}),r=s}return r};return new Proxy(e,{get:(s,n)=>{if(n===Ft)return i();if(n in s)return s[n];if(typeof n=="string"&&t.has(n)){const o=t.get(n);return o&&xt(o)?o.getProxy():o}},set:(s,n,o)=>typeof n=="string"&&t.has(n)?!1:(s[n]=o,!0),has:(s,n)=>n===Ft||typeof n=="string"&&t.has(n)?!0:n in s,ownKeys:s=>{const n=Reflect.ownKeys(s),o=Array.from(t.keys());return[...new Set([...n,...o])]},getOwnPropertyDescriptor:(s,n)=>typeof n=="string"&&t.has(n)?{enumerable:!0,configurable:!0}:Reflect.getOwnPropertyDescriptor(s,n)})}class Zt{constructor(t){this.form=t}_submitting=w(!1);submitting=v(()=>this._submitting.value);async submit(t,r){const{skipValidation:i=!1,skipTouch:s=!1}=r||{};if(s||this.form.markAsTouched(),!i&&!await this.form.validate())return null;this._submitting.value=!0;try{return await t(this.form.getValue())}finally{this._submitting.value=!1}}async submitWithResult(t,r){const{skipValidation:i=!1,skipTouch:s=!1}=r||{};if(s||this.form.markAsTouched(),!i&&!await this.form.validate())return{success:!1,data:null};this._submitting.value=!0;try{return{success:!0,data:await t(this.form.getValue())}}catch(n){return{success:!1,data:null,error:n instanceof Error?n:new Error(String(n))}}finally{this._submitting.value=!1}}}function nr(e){const t=[];for(const r of e.split(".")){const i=/^([^[\]]+)(?:\[(\d+)\])?$/.exec(r);if(!i)return[];t.push(i[2]!==void 0?{key:i[1],index:Number(i[2])}:{key:i[1]})}return t}let T=class Ht extends K{id=crypto.randomUUID();_fields=new Map;disposers=new nt;_proxyInstance;_behaviorCleanup;nodeFactory=new Qt;formSubmitter;_disabled=w(!1);_formErrors=w([]);_fieldSignals=new WeakMap;value;valid;invalid;touched;dirty;pending;errors;status;submitting;constructor(t){super(),this.formSubmitter=new Zt(this);const r=t.form,i=r!=null&&typeof r=="object"&&("valueSignal"in r||"value"in r),s="form"in t&&!i?t.form:t;for(const[o,a]of Object.entries(s)){const l=this.createNode(a);this._fields.set(o,l)}this.value=v(()=>{const o={};return this._fields.forEach((a,l)=>{o[l]=a.value.value}),o});const n=bt({getChildren:()=>Array.from(this._fields.values()),ownErrors:this._formErrors,disabled:this._disabled});this.valid=n.valid,this.invalid=n.invalid,this.pending=n.pending,this.touched=n.touched,this.dirty=n.dirty,this.errors=n.errors,this.status=n.status,this.submitting=this.formSubmitter.submitting}buildProxy(){return sr(this,this._fields)}getValue(){const t={};return this._fields.forEach((r,i)=>{t[i]=r.getValue()}),t}setValue(t,r){for(const[i,s]of Object.entries(t)){const n=this._fields.get(i);if(n){const o=this._fieldSignals.get(n)??n.value;if(Y(o))continue;n.setValue(s,r)}}}patchValue(t){q(()=>{for(const[r,i]of Object.entries(t)){const s=this._fields.get(r);if(s&&i!==void 0){const n=this._fieldSignals.get(s)??s.value;if(Y(n))continue;s.setValue(i,{emitEvent:!1})}}})}reset(t){this._formErrors.value=[],this._fields.forEach((r,i)=>{const s=t?.[i];r.reset(s)})}resetToInitial(){this._formErrors.value=[],this._fields.forEach(t=>{"resetToInitial"in t&&typeof t.resetToInitial=="function"?t.resetToInitial():t.reset()})}async validate(){return this.clearErrors(),await Promise.all(Array.from(this._fields.values()).map(t=>t.validate())),Array.from(this._fields.values()).every(t=>t.valid.value||t.disabled.value)}setErrors(t){this._formErrors.value=t}clearErrors(){this._formErrors.value=[],this._fields.forEach(t=>t.clearErrors())}getField(t){return this._fields.get(t)}get fields(){return this._fields}getProxy(){return this._proxyInstance||(this._proxyInstance=this.buildProxy()),this._proxyInstance}getAllFields(){return this._fields.values()}onMarkAsTouched(){this._fields.forEach(t=>t.markAsTouched())}onMarkAsUntouched(){this._fields.forEach(t=>t.markAsUntouched())}onMarkAsDirty(){this._fields.forEach(t=>t.markAsDirty())}onMarkAsPristine(){this._fields.forEach(t=>t.markAsPristine())}async submit(t,r){return this.formSubmitter.submit(t,r)}async submitWithResult(t,r){return this.formSubmitter.submitWithResult(t,r)}getFieldByPath(t){if(t.startsWith(".")||t.endsWith("."))return;const r=nr(t);if(r.length===0)return;let i=this;for(const s of r){if(!(i instanceof Ht)||(i=i.getField(s.key),!i))return;if(s.index!==void 0)if("at"in i&&"length"in i&&typeof i.at=="function"){const n=i.at(s.index);if(!n)return;i=n}else return}return i}createNode(t){return this.nodeFactory.createNode(t)}linkFields(t,r,i){const s=this._fields.get(t),n=this._fields.get(r);if(!s||!n){const l=s?r:t;throw new Error(`GroupNode.linkFields: field "${String(l)}" not found`)}const o=b(()=>{const l=s.value.value,h=i?i(l):l;n.setValue(h,{emitEvent:!1})}),a=L(G.LinkFields);return this.disposers.add(a,o)}watchField(t,r){const i=this.getFieldByPath(t);if(!i)throw new Error(`GroupNode.watchField: field "${t}" not found`);const s=b(()=>{r(i.value.value)}),n=L(G.WatchField);return this.disposers.add(n,s)}watchFieldByPath(t,r){const i=this.getFieldByPath(t);if(!i)throw new Error(`GroupNode.watchFieldByPath: field "${t}" not found`);const s=b(()=>{r(i.value.value)}),n=L(G.WatchField);return this.disposers.add(n,s)}onDisable(){this._disabled.value=!0,this._fields.forEach(t=>t.disable())}onEnable(){this._disabled.value=!1,this._fields.forEach(t=>t.enable())}attachBehaviorCleanup(t){this._behaviorCleanup=t}registerFieldSignal(t,r){this._fieldSignals.set(t,r)}dispose(){this._behaviorCleanup?.(),this._behaviorCleanup=void 0,this.disposers.dispose(),this._fields.forEach(t=>{"dispose"in t&&typeof t.dispose=="function"&&t.dispose()})}};class ht extends K{items;itemSchema;initialItems;disposers=new nt;_arrayErrors=w([]);value;valid;invalid;touched;dirty;pending;errors;status;length;constructor(t,r=[]){super(),this.itemSchema=t,this.initialItems=r,this.items=w([]);for(const s of r)this.push(s);this.length=v(()=>this.items.value.length),this.value=v(()=>this.items.value.map(s=>s.value.value));const i=bt({getChildren:()=>this.items.value,ownErrors:this._arrayErrors});this.valid=i.valid,this.invalid=i.invalid,this.pending=i.pending,this.touched=i.touched,this.dirty=i.dirty,this.errors=i.errors,this.status=i.status}push(t){const r=this.createItem(t);this.items.value=[...this.items.value,r]}removeAt(t){if(t<0||t>=this.items.value.length){P.handle(new Error(`ArrayNode.removeAt: index ${t} out of bounds (length: ${this.items.value.length})`),"ArrayNode.removeAt",C.LOG);return}const r=this.items.value[t];this.items.value=this.items.value.filter((i,s)=>s!==t),r&&"dispose"in r&&typeof r.dispose=="function"&&r.dispose()}insert(t,r){if(t<0||t>this.items.value.length){P.handle(new Error(`ArrayNode.insert: index ${t} out of bounds (length: ${this.items.value.length})`),"ArrayNode.insert",C.LOG);return}const i=this.createItem(r),s=[...this.items.value];s.splice(t,0,i),this.items.value=s}move(t,r){const i=this.items.value.length;if(t<0||t>=i||r<0||r>=i){P.handle(new Error(`ArrayNode.move: index out of bounds (from=${t}, to=${r}, length=${i})`),"ArrayNode.move",C.LOG);return}if(t===r)return;const s=[...this.items.value],[n]=s.splice(t,1);s.splice(r,0,n),this.items.value=s}swap(t,r){const i=this.items.value.length;if(t<0||t>=i||r<0||r>=i){P.handle(new Error(`ArrayNode.swap: index out of bounds (a=${t}, b=${r}, length=${i})`),"ArrayNode.swap",C.LOG);return}if(t===r)return;const s=[...this.items.value];[s[t],s[r]]=[s[r],s[t]],this.items.value=s}clear(){const t=[...this.items.value];this.items.value=[],t.forEach(r=>{"dispose"in r&&typeof r.dispose=="function"&&r.dispose()})}at(t){const r=this.items.value[t];if(r)return r.getProxy()}getValue(){return this.items.value.map(t=>t.getValue())}setValue(t,r){this.clear(),t.forEach(i=>this.push(i)),r?.emitEvent!==!1&&this.validate().catch(i=>{P.handle(i,"ArrayNode.setValue",C.LOG)})}patchValue(t){t.forEach((r,i)=>{this.items.value[i]&&r!==void 0&&this.items.value[i].patchValue(r)})}reset(t){this._arrayErrors.value=[],this.clear(),t&&t.forEach(r=>this.push(r))}resetToInitial(){this._arrayErrors.value=[],this.clear(),this.initialItems.forEach(t=>this.push(t))}async validate(){return(await Promise.all(this.items.value.map(t=>t.validate()))).every(Boolean)&&this._arrayErrors.value.length===0}setErrors(t){this._arrayErrors.value=t}clearErrors(){this._arrayErrors.value=[],this.items.value.forEach(t=>t.clearErrors())}onMarkAsTouched(){this.items.value.forEach(t=>t.markAsTouched())}onMarkAsUntouched(){this.items.value.forEach(t=>t.markAsUntouched())}onMarkAsDirty(){this.items.value.forEach(t=>t.markAsDirty())}onMarkAsPristine(){this.items.value.forEach(t=>t.markAsPristine())}forEach(t){this.items.value.forEach((r,i)=>{const s=r.getProxy();t(s,i)})}map(t){return this.items.value.map((r,i)=>{const s=r.getProxy();return t(s,i)})}createItem(t){if(this.isGroupSchema(this.itemSchema)){const r=new T(this.itemSchema);return t&&r.patchValue(t),r}throw new Error("ArrayNode поддерживает только GroupNode элементы. Для массива примитивов используйте обычное поле с типом массива.")}isGroupSchema(t){return typeof t=="object"&&t!==null&&!("component"in t)&&!Array.isArray(t)}dispose(){this.disposers.dispose(),this.items.value.forEach(t=>{"dispose"in t&&typeof t.dispose=="function"&&t.dispose()})}onDisable(){this.items.value.forEach(t=>{t.disable()})}onEnable(){this.items.value.forEach(t=>{t.enable()})}}class Qt{createNode(t){if(Array.isArray(t)&&t.length>=1)return this.createArrayNodeFromArray(t);if(this.isFieldConfig(t))return new Jt(t);if(this.isArrayConfig(t))return new ht(t.schema,t.initialItems);if(this.isGroupConfig(t))return new T(t);throw new Error(`NodeFactory: Unknown node config. Expected FieldConfig, GroupConfig, or ArrayConfig, but got: ${JSON.stringify(t)}`)}createArrayNodeFromArray(t){const[r,...i]=t,s=[];this.isGroupConfig(r)&&s.push(this.extractValues(r));for(const n of i)this.isGroupConfig(n)?s.push(this.extractValues(n)):s.push(n);return new ht(r,s)}extractValues(t){if(this.isFieldConfig(t))return t.value;if(Array.isArray(t))return t.map(r=>this.extractValues(r));if(this.isGroupConfig(t)){const r={};for(const[i,s]of Object.entries(t))r[i]=this.extractValues(s);return r}return t}isFieldConfig(t){return t==null||typeof t!="object"?!1:"valueSignal"in t?!0:"value"in t?"component"in t||"componentProps"in t||"validators"in t||"asyncValidators"in t||"updateOn"in t||"debounce"in t:!1}isArrayConfig(t){return t!=null&&typeof t=="object"&&"schema"in t&&!("value"in t)}isGroupConfig(t){return t!=null&&typeof t=="object"&&!this.isFieldConfig(t)&&!this.isArrayConfig(t)}}class Xt extends K{constructor(t,r){super(),this.control=t,this.buildItem=r,this.initial=t.toArray(),this.disposeSync=b(()=>{const s=t.length,n=[],o=[];for(let h=0;h<s;h++){const c=t.at(h);if(!c)continue;let u=this.cache.get(c);u||(u=r(c),this.cache.set(c,u)),n.push(c),o.push(u)}const a=new Set(n),l=[];for(const h of this.mountedModels){if(a.has(h))continue;const c=this.cache.get(h);this.cache.delete(h),c&&l.push(c)}this.mountedModels=n,this.itemNodes.value=o,l.forEach(h=>this.disposeItemNode(h))}),this.length=v(()=>this.itemNodes.value.length),this.value=v(()=>this.itemNodes.value.map(s=>s.value.value));const i=bt({getChildren:()=>this.itemNodes.value,ownErrors:this._arrayErrors});this.valid=i.valid,this.invalid=i.invalid,this.pending=i.pending,this.touched=i.touched,this.dirty=i.dirty,this.errors=i.errors,this.status=i.status}itemNodes=w([]);cache=new WeakMap;mountedModels=[];initial;_arrayErrors=w([]);disposeSync;get items(){return this.itemNodes}value;valid;invalid;pending;touched;dirty;errors;status;length;at(t){return this.itemNodes.value[t]}map(t){return this.itemNodes.value.map((r,i)=>t(r,i))}forEach(t){this.itemNodes.value.forEach((r,i)=>t(r,i))}push(t){this.control.push(t??{})}insert(t,r){this.control.insertAt(t,r??{})}removeAt(t){this.control.removeAt(t)}move(t,r){this.control.move(t,r)}swap(t,r){this.control.swap(t,r)}clear(){this.control.clear()}getValue(){return this.control.toArray()}setValue(t){this.control.clear(),(t??[]).forEach(r=>this.control.push(r))}patchValue(t){this.setValue(t)}reset(t){this._arrayErrors.value=[],this.setValue(t??this.initial)}resetToInitial(){this.reset(this.initial)}async validate(){return(await Promise.all(this.itemNodes.value.map(t=>t.validate()))).every(Boolean)&&this._arrayErrors.value.length===0}setErrors(t){this._arrayErrors.value=t}clearErrors(){this._arrayErrors.value=[],this.itemNodes.value.forEach(t=>t.clearErrors?.())}onMarkAsTouched(){this.itemNodes.value.forEach(t=>t.markAsTouched?.())}onMarkAsUntouched(){this.itemNodes.value.forEach(t=>t.markAsUntouched?.())}onMarkAsDirty(){this.itemNodes.value.forEach(t=>t.markAsDirty?.())}onMarkAsPristine(){this.itemNodes.value.forEach(t=>t.markAsPristine?.())}onDisable(){this.itemNodes.value.forEach(t=>t.disable?.())}onEnable(){this.itemNodes.value.forEach(t=>t.enable?.())}disposeItemNode(t){t.dispose?.()}dispose(){this.disposeSync(),this.itemNodes.value.forEach(t=>this.disposeItemNode(t)),this.mountedModels=[]}}const Yt=e=>e!==null&&typeof e=="object"&&!Array.isArray(e)&&!(e instanceof Date)&&!(typeof Blob<"u"&&e instanceof Blob)&&!(typeof File<"u"&&e instanceof File);function ft(e,t,r){if(e==null||typeof e!="object"||e instanceof E||typeof e.getProxy=="function")return;if(Array.isArray(e)){for(const n of e)ft(n,t,r);return}const i=e,s=i.array;if(s&&typeof s.__path=="string"&&typeof i.item=="function"){r.set(s.__path,i.item);return}i.value instanceof E&&t.set(i.value,{component:i.component,componentProps:i.componentProps,updateOn:i.updateOn,disabled:i.disabled,debounce:i.debounce});for(const[n,o]of Object.entries(i))n!=="value"&&ft(o,t,r)}function te(e,t,r,i){const s={};for(const[n,o]of Object.entries(t)){const a=r===""?n:`${r}.${n}`;if(Array.isArray(o))continue;if(Yt(o)){s[n]=te(e,o,a,i);continue}const l=e.signalAt(a);if(!l)throw new Error(`createForm({ model }): не найден сигнал для пути "${a}"`);const h=i.get(l)??{};s[n]={...h,valueSignal:l}}return s}function ee(e,t,r){for(const[i,s]of Object.entries(e)){const n=t===""?i:`${t}.${i}`;Array.isArray(s)||(Yt(s)?ee(s,n,r):r.push(n))}}function wt(e){const{model:t,schema:r,behavior:i}=e,s=new Map,n=new Map;r!==void 0&&ft(r,s,n);const o=te(t,t.get(),"",s),a=new T(o),l=t.get();for(const[u,d]of Object.entries(l)){if(!Array.isArray(d))continue;const m=n.get(u);if(!m)continue;const g=t[u],y=_=>wt({model:_,schema:m(_)}),k=new Xt(g,y);a.fields.set(u,k)}const h=a.getProxy(),c=[];ee(t.get(),"",c);for(const u of c){const d=t.signalAt(u),m=a.getFieldByPath(u);if(d&&m){qt(d,m);const g=u.lastIndexOf("."),y=g===-1?a:a.getFieldByPath(u.slice(0,g));y instanceof T&&y.registerFieldSignal(m,d)}}return i&&a.attachBehaviorCleanup(i.__run(t,h)),h}const or=e=>e!=null&&typeof e=="object"&&"model"in e&&typeof e.model?.signalAt=="function";function re(e){return or(e)?wt(e):new T(e).getProxy()}const ar=()=>{};function ie(e,t){if(!t)return;const r=typeof t=="function"?{schema:t}:t,i=Object.keys(r.steps??{}),s=i.map(u=>r.steps?.[u]).filter(u=>u!=null),n=r.schema??(()=>zt(...s,...r.extras?[r.extras]:[])),o=u=>{const d=typeof u=="number"?i[u-1]:u;return(d!=null?r.steps?.[d]:null)??null},{strategy:a,debounce:l,liveAfterSubmit:h}=r,c=rt(e,n,{strategy:a,debounce:l,liveAfterSubmit:h});return{schema:n,stepSelectors:i,validate:()=>c.validate(),validateAll:()=>c.validate(),validateStep:u=>gt(e,o(u)??ar,{touch:!0}),createStepController:u=>{if(!a||a==="submit")return null;const d=o(u);return d?rt(e,d,{strategy:a,debounce:l,liveAfterSubmit:h}):null},controller:c,validating:c.validating}}function lr(e){if(!e.model&&e.initial===void 0)throw new Error("createCoreForm: provide either `initial` (to create a model) or `model`.");const t=e.model??Ut(e.initial);e.seed?.(t);const r=re({model:t,...e.schema?{schema:e.schema(t)}:{},...e.behavior?{behavior:e.behavior}:{}}),i=ie(t,e.validation),s={model:t,form:r,...i?{validation:i}:{}};return e.setup?.(s),s}function ur(e){const[t]=f.useState(e),r=t.validation?.controller;return f.useEffect(()=>r?.start(),[r]),t}function J(e){return e==null?!1:typeof e=="object"&&"value"in e&&"setValue"in e&&"getValue"in e&&"validate"in e}function se(e){return J(e)&&"validators"in e&&"asyncValidators"in e&&typeof e.markAsTouched=="function"&&!("fields"in e)&&!("items"in e)}function ne(e){return J(e)&&"getFieldByPath"in e&&"fields"in e&&!("items"in e)&&!("push"in e)&&!("removeAt"in e)}function oe(e){return J(e)&&"items"in e&&"length"in e&&"push"in e&&"removeAt"in e&&"at"in e&&typeof e.push=="function"&&typeof e.removeAt=="function"}function cr(e){return se(e)?"FieldNode":ne(e)?"GroupNode":oe(e)?"ArrayNode":J(e)?"FormNode":"Unknown"}var Ct={exports:{}},lt={},Nt;function dr(){if(Nt)return lt;Nt=1;var e=me;function t(u,d){return u===d&&(u!==0||1/u===1/d)||u!==u&&d!==d}var r=typeof Object.is=="function"?Object.is:t,i=e.useState,s=e.useEffect,n=e.useLayoutEffect,o=e.useDebugValue;function a(u,d){var m=d(),g=i({inst:{value:m,getSnapshot:d}}),y=g[0].inst,k=g[1];return n(function(){y.value=m,y.getSnapshot=d,l(y)&&k({inst:y})},[u,m,d]),s(function(){return l(y)&&k({inst:y}),u(function(){l(y)&&k({inst:y})})},[u]),o(m),m}function l(u){var d=u.getSnapshot;u=u.value;try{var m=d();return!r(u,m)}catch{return!0}}function h(u,d){return d()}var c=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?h:a;return lt.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:c,lt}var Vt;function hr(){return Vt||(Vt=1,Ct.exports=dr()),Ct.exports}var ot=hr();function fr(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function Et(e,t,r,i){const s=f.useRef(null),n=f.useRef(e);n.current=e;const o=f.useRef(t);o.current=t;const a=f.useRef(r);if(a.current=r,s.current===null){const c={};for(const u in e)c[u]=e[u].value;s.current={...c,__snapshot:null}}const l=f.useCallback(c=>{let u=!0;return b(()=>{const d=n.current;for(const m in d)d[m].value;if(u){u=!1;return}c()})},[i]),h=f.useCallback(()=>{const c=s.current,u=n.current,d={};for(const g in u)d[g]=u[g].value;let m=!1;for(const g of o.current){const{key:y,useShallowArrayEqual:k}=g,_=d[y],S=c[y];if(k){if(!fr(S,_)){m=!0;break}}else if(S!==_){m=!0;break}}if(!m&&c.__snapshot)return c.__snapshot;for(const g in u)c[g]=d[g];return c.__snapshot=a.current(d),c.__snapshot},[i]);return ot.useSyncExternalStore(l,h,h)}function vr(e){const t={value:e.value,disabled:e.disabled,errors:e.errors,pending:e.pending,valid:e.valid,invalid:e.invalid,touched:e.touched,dirty:e.dirty,shouldShowError:e.shouldShowError,componentProps:e.componentProps},r=[{key:"value"},{key:"disabled"},{key:"errors",useShallowArrayEqual:!0},{key:"pending"},{key:"valid"},{key:"invalid"},{key:"touched"},{key:"dirty"},{key:"shouldShowError"},{key:"componentProps"}],i=f.useCallback(s=>({value:s.value,pending:s.pending,disabled:s.disabled,errors:s.errors,valid:s.valid,invalid:s.invalid,touched:s.touched,dirty:s.dirty,shouldShowError:s.shouldShowError,componentProps:s.componentProps}),[]);return Et(t,r,i,e)}function pr(e){const t={value:e.value,length:e.length,errors:e.errors,pending:e.pending,valid:e.valid,invalid:e.invalid,touched:e.touched,dirty:e.dirty,disabled:e.disabled},r=[{key:"value"},{key:"length"},{key:"errors",useShallowArrayEqual:!0},{key:"pending"},{key:"valid"},{key:"invalid"},{key:"touched"},{key:"dirty"},{key:"disabled"}],i=f.useCallback(s=>({value:s.value,length:s.length,pending:s.pending,errors:s.errors,valid:s.valid,invalid:s.invalid,touched:s.touched,dirty:s.dirty,disabled:s.disabled}),[]);return Et(t,r,i,e)}function mr(){const e=f.useCallback(()=>({value:[],length:0,pending:!1,errors:[],valid:!0,invalid:!1,touched:!1,dirty:!1,disabled:!1}),[]);return Et({},[],e)}function ae(e){const t=e&&"length"in e&&"map"in e;return e?t?pr(e):vr(e):mr()}function yr(e){const t=f.useRef({value:e.value.value}),r=f.useCallback(s=>{let n=!0;return b(()=>{if(e.value.value,n){n=!1;return}s()})},[e]),i=f.useCallback(()=>{const s=e.value.value;return t.current.value===s?t.current.value:(t.current.value=s,s)},[e]);return ot.useSyncExternalStore(r,i,i)}function gr(e){const t=f.useRef({length:e.length.value}),r=f.useCallback(s=>{let n=!0;return b(()=>{if(e.length.value,n){n=!1;return}s()})},[e]),i=f.useCallback(()=>{const s=e.length.value;return t.current.length===s?t.current.length:(t.current.length=s,s)},[e]);return ot.useSyncExternalStore(r,i,i)}function br(e){const{model:t,schema:r,strategy:i,debounce:s,liveAfterSubmit:n}=e,o=f.useMemo(()=>rt(t,r,{strategy:i,debounce:s,liveAfterSubmit:n}),[t,r,i,s,n]);f.useEffect(()=>o.start(),[o]);const a=ot.useSyncExternalStore(f.useCallback(h=>o.validating.subscribe(h),[o]),()=>o.validating.peek(),()=>!1),l=f.useCallback(()=>o.validate(),[o]);return{submit:l,validate:l,isValidating:a}}const wr=Object.freeze({runtime:"reformer-core",v:1}),Mr=Object.freeze(Object.defineProperty({__proto__:null,ArrayNode:ht,CORE_RUNTIME_TOKEN:wr,ErrorStrategy:C,FieldNode:Jt,FormErrorHandler:P,FormNode:K,FormSubmitter:Zt,GroupNode:T,ModelArrayNode:Xt,NodeFactory:Qt,SubscriptionManager:nt,buildValidation:ie,computeFrom:Re,copyFrom:We,createCoreForm:lr,createForm:re,createFormFromModel:wt,createModel:Ut,disableWhen:er,enableWhen:Kt,getNodeForSignal:D,getNodeType:cr,isArrayNode:oe,isDerived:Y,isFieldNode:se,isFormNode:J,isGroupNode:ne,isModelContainerSignal:Me,markDerived:$e,registerSignalNode:qt,resetWhen:Ge,revalidateWhen:qe,runOutsideEffect:V,safeCallback:De,safeDebouncedCallback:Te,syncFields:Le,transformValue:Ue,unmarkDerived:xe,useArrayLength:gr,useFormBundle:ur,useFormControl:ae,useFormControlValue:yr,useFormValidation:br,watchField:Be},Symbol.toStringTag,{value:"Module"})),Er=e=>e.message||e.code,kr=f.createContext(Er);function le(){return f.useContext(kr)}const ue=f.createContext(null);function at(){const e=f.useContext(ue);if(!e)throw new Error("FormField.* components must be used within <FormField.Root>. Wrap your field with <FormField.Root control={control}>.");return e}function kt({control:e,children:t,id:r,hasDescription:i=!1}){const s=f.useId(),n=r??s,o=f.useMemo(()=>({controlId:`control-${n}`,labelId:`label-${n}`,descriptionId:`desc-${n}`,errorId:`error-${n}`}),[n]),a=ae(e),l=le(),h=f.useMemo(()=>{const{value:c,errors:u,pending:d,disabled:m,valid:g,invalid:y,touched:k,shouldShowError:_,componentProps:S}=a;return{value:c,errors:u,pending:d,disabled:m,valid:g,invalid:y,touched:k,shouldShowError:_,error:_&&u[0]?l(u[0]):void 0,label:S.label,required:!!S.required,componentProps:S,control:e,ids:o,hasDescription:i}},[a,e,o,i,l]);return A.jsx(ue.Provider,{value:h,children:t})}kt.displayName="FormField.Root";const ce=f.forwardRef(({asChild:e=!1,children:t,forceRender:r=!1,...i},s)=>{const{label:n,required:o,ids:a}=at(),l=t??n;return!l&&!r?null:A.jsxs(e?z:"label",{ref:s,id:a.labelId,htmlFor:e?void 0:a.controlId,...i,children:[l,o&&A.jsx("span",{"aria-hidden":"true",children:" *"})]})});ce.displayName="FormField.Label";const de=f.forwardRef(({asChild:e=!1,children:t,...r},i)=>{const{control:s,value:n,disabled:o,shouldShowError:a,errors:l,required:h,ids:c,hasDescription:u,componentProps:d}=at(),m=[u?c.descriptionId:null,a&&l.length>0?c.errorId:null].filter(Boolean).join(" ")||void 0,g={id:c.controlId,"aria-labelledby":c.labelId,"aria-invalid":a?!0:void 0,"aria-describedby":m,"aria-errormessage":a&&l.length>0?c.errorId:void 0,"aria-required":h?!0:void 0};if(t||e)return A.jsx(z,{ref:i,...g,...r,value:n,disabled:o,onChange:S=>s.setValue(S),onBlur:()=>s.markAsTouched(),children:t});const y=s.component,{testId:k,..._}=d??{};return A.jsx(y,{ref:i,..._,...g,...r,value:n,disabled:o,onChange:S=>s.setValue(S),onBlur:()=>s.markAsTouched()})});de.displayName="FormField.Control";const he=f.forwardRef(({asChild:e=!1,multi:t=!1,render:r,children:i,...s},n)=>{const{shouldShowError:o,errors:a,ids:l}=at(),h=le();if(!o||a.length===0)return null;const c=e?z:"p";return r?A.jsx(A.Fragment,{children:a.map((u,d)=>A.jsx(c,{ref:d===0?n:void 0,id:d===0?l.errorId:void 0,role:"alert",...s,children:r(u,d)},u.code??d))}):t?A.jsx(A.Fragment,{children:a.map((u,d)=>{const m=h(u);return A.jsx(c,{ref:d===0?n:void 0,id:d===0?l.errorId:void 0,role:"alert",...s,children:e?A.jsx("span",{children:m}):m},u.code??d)})}):A.jsx(c,{ref:n,id:l.errorId,role:"alert",...s,children:i??h(a[0])})});he.displayName="FormField.Error";const fe=f.forwardRef(({asChild:e=!1,children:t,...r},i)=>{const{ids:s}=at();return A.jsx(e?z:"p",{ref:i,id:s.descriptionId,...r,children:t})});fe.displayName="FormField.Description";const Z=kt;Z.Root=kt;Z.Label=ce;Z.Control=de;Z.Error=he;Z.Description=fe;export{ae as $,le as A,rt as B,Ut as C,Ge as D,We as E,$e as F,xe as K,ur as L,Y as P,Ar as R,Me as W,w as a,ie as b,v as c,V as d,Kt as e,Le as f,D as g,Ue as h,De as i,b as j,Re as k,E as l,Te as m,q as n,st as o,Nr as p,Mr as q,Z as r,Sr as s,nt as t,at as u,ye as v,Be as w,qe as x,re as y,z};
|