conditional-selection 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.vscode/.rrzu-web.code-snippets +205 -0
- package/README.md +92 -0
- package/dist/conditional-selection.css +1 -0
- package/dist/types/ui.es.d.ts +58 -0
- package/dist/ui.cjs.js +22 -0
- package/dist/ui.es.js +1659 -0
- package/dist/ui.iife.js +22 -0
- package/dist/ui.umd.js +22 -0
- package/docs/README.md +20 -0
- package/docs/api.md +37 -0
- package/docs/faq.md +21 -0
- package/docs/quick-start.md +32 -0
- package/example/App.tsx +162 -0
- package/example/index.html +12 -0
- package/example/main.tsx +8 -0
- package/package.json +46 -0
- package/packages/ConditionalSelection/components/conditional-choose.tsx +33 -0
- package/packages/ConditionalSelection/components/conditional-content.tsx +134 -0
- package/packages/ConditionalSelection/components/conditional-handle.tsx +83 -0
- package/packages/ConditionalSelection/composables/useConditionalHandle.ts +234 -0
- package/packages/ConditionalSelection/conditional-selection.tsx +109 -0
- package/packages/ConditionalSelection/index.less +91 -0
- package/packages/ConditionalSelection/index.ts +5 -0
- package/packages/ConditionalSelection/types.ts +53 -0
- package/packages/index.ts +1 -0
- package/tsconfig.json +15 -0
- package/tsconfig.node.json +15 -0
- package/vite.config.ts +39 -0
package/dist/ui.iife.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
var ui=(function(w,T){"use strict";var pe={exports:{}},ee={};/**
|
|
2
|
+
* @license React
|
|
3
|
+
* react-jsx-runtime.production.js
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/var dt;function Rr(){if(dt)return ee;dt=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function r(n,a,i){var s=null;if(i!==void 0&&(s=""+i),a.key!==void 0&&(s=""+a.key),"key"in a){i={};for(var c in a)c!=="key"&&(i[c]=a[c])}else i=a;return a=i.ref,{$$typeof:e,type:n,key:s,ref:a!==void 0?a:null,props:i}}return ee.Fragment=t,ee.jsx=r,ee.jsxs=r,ee}var te={};/**
|
|
10
|
+
* @license React
|
|
11
|
+
* react-jsx-runtime.development.js
|
|
12
|
+
*
|
|
13
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
14
|
+
*
|
|
15
|
+
* This source code is licensed under the MIT license found in the
|
|
16
|
+
* LICENSE file in the root directory of this source tree.
|
|
17
|
+
*/var _t;function Cr(){return _t||(_t=1,process.env.NODE_ENV!=="production"&&(function(){function e(o){if(o==null)return null;if(typeof o=="function")return o.$$typeof===Ni?null:o.displayName||o.name||null;if(typeof o=="string")return o;switch(o){case he:return"Fragment";case it:return"Profiler";case ot:return"StrictMode";case W:return"Suspense";case Ci:return"SuspenseList";case ki:return"Activity"}if(typeof o=="object")switch(typeof o.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),o.$$typeof){case De:return"Portal";case D:return o.displayName||"Context";case x:return(o._context.displayName||"Context")+".Consumer";case z:var f=o.render;return o=o.displayName,o||(o=f.displayName||f.name||"",o=o!==""?"ForwardRef("+o+")":"ForwardRef"),o;case xi:return f=o.displayName||null,f!==null?f:e(o.type)||"Memo";case st:f=o._payload,o=o._init;try{return e(o(f))}catch{}}return null}function t(o){return""+o}function r(o){try{t(o);var f=!1}catch{f=!0}if(f){f=console;var v=f.error,j=typeof Symbol=="function"&&Symbol.toStringTag&&o[Symbol.toStringTag]||o.constructor.name||"Object";return v.call(f,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",j),t(o)}}function n(o){if(o===he)return"<>";if(typeof o=="object"&&o!==null&&o.$$typeof===st)return"<...>";try{var f=e(o);return f?"<"+f+">":"<...>"}catch{return"<...>"}}function a(){var o=ct.A;return o===null?null:o.getOwner()}function i(){return Error("react-stack-top-frame")}function s(o){if(Ar.call(o,"key")){var f=Object.getOwnPropertyDescriptor(o,"key").get;if(f&&f.isReactWarning)return!1}return o.key!==void 0}function c(o,f){function v(){wr||(wr=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",f))}v.isReactWarning=!0,Object.defineProperty(o,"key",{get:v,configurable:!0})}function p(){var o=e(this.type);return Or[o]||(Or[o]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),o=this.props.ref,o!==void 0?o:null}function _(o,f,v,j,Me,lt){var A=v.ref;return o={$$typeof:h,type:o,key:f,props:v,_owner:j},(A!==void 0?A:null)!==null?Object.defineProperty(o,"ref",{enumerable:!1,get:p}):Object.defineProperty(o,"ref",{enumerable:!1,value:null}),o._store={},Object.defineProperty(o._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(o,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(o,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:Me}),Object.defineProperty(o,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:lt}),Object.freeze&&(Object.freeze(o.props),Object.freeze(o)),o}function l(o,f,v,j,Me,lt){var A=f.children;if(A!==void 0)if(j)if(Ii(A)){for(j=0;j<A.length;j++)m(A[j]);Object.freeze&&Object.freeze(A)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else m(A);if(Ar.call(f,"key")){A=e(o);var q=Object.keys(f).filter(function($i){return $i!=="key"});j=0<q.length?"{key: someKey, "+q.join(": ..., ")+": ...}":"{key: someKey}",Er[A+j]||(q=0<q.length?"{"+q.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
18
|
+
let props = %s;
|
|
19
|
+
<%s {...props} />
|
|
20
|
+
React keys must be passed directly to JSX without using spread:
|
|
21
|
+
let props = %s;
|
|
22
|
+
<%s key={someKey} {...props} />`,j,A,q,A),Er[A+j]=!0)}if(A=null,v!==void 0&&(r(v),A=""+v),s(f)&&(r(f.key),A=""+f.key),"key"in f){v={};for(var ft in f)ft!=="key"&&(v[ft]=f[ft])}else v=f;return A&&c(v,typeof o=="function"?o.displayName||o.name||"Unknown":o),_(o,A,v,a(),Me,lt)}function m(o){d(o)?o._store&&(o._store.validated=1):typeof o=="object"&&o!==null&&o.$$typeof===st&&(o._payload.status==="fulfilled"?d(o._payload.value)&&o._payload.value._store&&(o._payload.value._store.validated=1):o._store&&(o._store.validated=1))}function d(o){return typeof o=="object"&&o!==null&&o.$$typeof===h}var u=T,h=Symbol.for("react.transitional.element"),De=Symbol.for("react.portal"),he=Symbol.for("react.fragment"),ot=Symbol.for("react.strict_mode"),it=Symbol.for("react.profiler"),x=Symbol.for("react.consumer"),D=Symbol.for("react.context"),z=Symbol.for("react.forward_ref"),W=Symbol.for("react.suspense"),Ci=Symbol.for("react.suspense_list"),xi=Symbol.for("react.memo"),st=Symbol.for("react.lazy"),ki=Symbol.for("react.activity"),Ni=Symbol.for("react.client.reference"),ct=u.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Ar=Object.prototype.hasOwnProperty,Ii=Array.isArray,ut=console.createTask?console.createTask:function(){return null};u={react_stack_bottom_frame:function(o){return o()}};var wr,Or={},Sr=u.react_stack_bottom_frame.bind(u,i)(),Pr=ut(n(i)),Er={};te.Fragment=he,te.jsx=function(o,f,v){var j=1e4>ct.recentlyCreatedOwnerStacks++;return l(o,f,v,!1,j?Error("react-stack-top-frame"):Sr,j?ut(n(o)):Pr)},te.jsxs=function(o,f,v){var j=1e4>ct.recentlyCreatedOwnerStacks++;return l(o,f,v,!0,j?Error("react-stack-top-frame"):Sr,j?ut(n(o)):Pr)}})()),te}var ht;function xr(){return ht||(ht=1,process.env.NODE_ENV==="production"?pe.exports=Rr():pe.exports=Cr()),pe.exports}var g=xr(),pt=typeof global=="object"&&global&&global.Object===Object&&global,kr=typeof self=="object"&&self&&self.Object===Object&&self,R=pt||kr||Function("return this")(),H=R.Symbol,gt=Object.prototype,Nr=gt.hasOwnProperty,Ir=gt.toString,re=H?H.toStringTag:void 0;function $r(e){var t=Nr.call(e,re),r=e[re];try{e[re]=void 0;var n=!0}catch{}var a=Ir.call(e);return n&&(t?e[re]=r:delete e[re]),a}var Dr=Object.prototype,Mr=Dr.toString;function Fr(e){return Mr.call(e)}var zr="[object Null]",Lr="[object Undefined]",yt=H?H.toStringTag:void 0;function ne(e){return e==null?e===void 0?Lr:zr:yt&&yt in Object(e)?$r(e):Fr(e)}function ae(e){return e!=null&&typeof e=="object"}var Fe=Array.isArray;function ge(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Ur="[object AsyncFunction]",Vr="[object Function]",Gr="[object GeneratorFunction]",Br="[object Proxy]";function bt(e){if(!ge(e))return!1;var t=ne(e);return t==Vr||t==Gr||t==Ur||t==Br}var ze=R["__core-js_shared__"],mt=(function(){var e=/[^.]+$/.exec(ze&&ze.keys&&ze.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})();function Yr(e){return!!mt&&mt in e}var Wr=Function.prototype,Hr=Wr.toString;function L(e){if(e!=null){try{return Hr.call(e)}catch{}try{return e+""}catch{}}return""}var Jr=/[\\^$.*+?()[\]{}|]/g,Kr=/^\[object .+?Constructor\]$/,Xr=Function.prototype,Zr=Object.prototype,Qr=Xr.toString,qr=Zr.hasOwnProperty,en=RegExp("^"+Qr.call(qr).replace(Jr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function tn(e){if(!ge(e)||Yr(e))return!1;var t=bt(e)?en:Kr;return t.test(L(e))}function rn(e,t){return e==null?void 0:e[t]}function U(e,t){var r=rn(e,t);return tn(r)?r:void 0}var Le=U(R,"WeakMap"),vt=Object.create,nn=(function(){function e(){}return function(t){if(!ge(t))return{};if(vt)return vt(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}})(),Tt=(function(){try{var e=U(Object,"defineProperty");return e({},"",{}),e}catch{}})();function an(e,t){for(var r=-1,n=e==null?0:e.length;++r<n&&t(e[r],r,e)!==!1;);return e}var on=9007199254740991,sn=/^(?:0|[1-9]\d*)$/;function cn(e,t){var r=typeof e;return t=t??on,!!t&&(r=="number"||r!="symbol"&&sn.test(e))&&e>-1&&e%1==0&&e<t}function un(e,t,r){t=="__proto__"&&Tt?Tt(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}function jt(e,t){return e===t||e!==e&&t!==t}var ln=Object.prototype,fn=ln.hasOwnProperty;function dn(e,t,r){var n=e[t];(!(fn.call(e,t)&&jt(n,r))||r===void 0&&!(t in e))&&un(e,t,r)}var _n=9007199254740991;function At(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=_n}function hn(e){return e!=null&&At(e.length)&&!bt(e)}var pn=Object.prototype;function wt(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||pn;return e===r}function gn(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}var yn="[object Arguments]";function Ot(e){return ae(e)&&ne(e)==yn}var St=Object.prototype,bn=St.hasOwnProperty,mn=St.propertyIsEnumerable,vn=Ot((function(){return arguments})())?Ot:function(e){return ae(e)&&bn.call(e,"callee")&&!mn.call(e,"callee")};function Tn(){return!1}var Pt=typeof w=="object"&&w&&!w.nodeType&&w,Et=Pt&&typeof module=="object"&&module&&!module.nodeType&&module,jn=Et&&Et.exports===Pt,Rt=jn?R.Buffer:void 0,An=Rt?Rt.isBuffer:void 0,Ct=An||Tn,wn="[object Arguments]",On="[object Array]",Sn="[object Boolean]",Pn="[object Date]",En="[object Error]",Rn="[object Function]",Cn="[object Map]",xn="[object Number]",kn="[object Object]",Nn="[object RegExp]",In="[object Set]",$n="[object String]",Dn="[object WeakMap]",Mn="[object ArrayBuffer]",Fn="[object DataView]",zn="[object Float32Array]",Ln="[object Float64Array]",Un="[object Int8Array]",Vn="[object Int16Array]",Gn="[object Int32Array]",Bn="[object Uint8Array]",Yn="[object Uint8ClampedArray]",Wn="[object Uint16Array]",Hn="[object Uint32Array]",b={};b[zn]=b[Ln]=b[Un]=b[Vn]=b[Gn]=b[Bn]=b[Yn]=b[Wn]=b[Hn]=!0,b[wn]=b[On]=b[Mn]=b[Sn]=b[Fn]=b[Pn]=b[En]=b[Rn]=b[Cn]=b[xn]=b[kn]=b[Nn]=b[In]=b[$n]=b[Dn]=!1;function Jn(e){return ae(e)&&At(e.length)&&!!b[ne(e)]}function Ue(e){return function(t){return e(t)}}var xt=typeof w=="object"&&w&&!w.nodeType&&w,oe=xt&&typeof module=="object"&&module&&!module.nodeType&&module,Kn=oe&&oe.exports===xt,Ve=Kn&&pt.process,J=(function(){try{var e=oe&&oe.require&&oe.require("util").types;return e||Ve&&Ve.binding&&Ve.binding("util")}catch{}})(),kt=J&&J.isTypedArray,Xn=kt?Ue(kt):Jn,Zn=Object.prototype,Qn=Zn.hasOwnProperty;function qn(e,t){var r=Fe(e),n=!r&&vn(e),a=!r&&!n&&Ct(e),i=!r&&!n&&!a&&Xn(e),s=r||n||a||i,c=s?gn(e.length,String):[],p=c.length;for(var _ in e)Qn.call(e,_)&&!(s&&(_=="length"||a&&(_=="offset"||_=="parent")||i&&(_=="buffer"||_=="byteLength"||_=="byteOffset")||cn(_,p)))&&c.push(_);return c}function Nt(e,t){return function(r){return e(t(r))}}var ea=Nt(Object.keys,Object),ta=Object.prototype,ra=ta.hasOwnProperty;function na(e){if(!wt(e))return ea(e);var t=[];for(var r in Object(e))ra.call(e,r)&&r!="constructor"&&t.push(r);return t}function aa(e){return hn(e)?qn(e):na(e)}var ie=U(Object,"create");function oa(){this.__data__=ie?ie(null):{},this.size=0}function ia(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var sa="__lodash_hash_undefined__",ca=Object.prototype,ua=ca.hasOwnProperty;function la(e){var t=this.__data__;if(ie){var r=t[e];return r===sa?void 0:r}return ua.call(t,e)?t[e]:void 0}var fa=Object.prototype,da=fa.hasOwnProperty;function _a(e){var t=this.__data__;return ie?t[e]!==void 0:da.call(t,e)}var ha="__lodash_hash_undefined__";function pa(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ie&&t===void 0?ha:t,this}function V(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}V.prototype.clear=oa,V.prototype.delete=ia,V.prototype.get=la,V.prototype.has=_a,V.prototype.set=pa;function ga(){this.__data__=[],this.size=0}function ye(e,t){for(var r=e.length;r--;)if(jt(e[r][0],t))return r;return-1}var ya=Array.prototype,ba=ya.splice;function ma(e){var t=this.__data__,r=ye(t,e);if(r<0)return!1;var n=t.length-1;return r==n?t.pop():ba.call(t,r,1),--this.size,!0}function va(e){var t=this.__data__,r=ye(t,e);return r<0?void 0:t[r][1]}function Ta(e){return ye(this.__data__,e)>-1}function ja(e,t){var r=this.__data__,n=ye(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}function k(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}k.prototype.clear=ga,k.prototype.delete=ma,k.prototype.get=va,k.prototype.has=Ta,k.prototype.set=ja;var se=U(R,"Map");function Aa(){this.size=0,this.__data__={hash:new V,map:new(se||k),string:new V}}function wa(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function be(e,t){var r=e.__data__;return wa(t)?r[typeof t=="string"?"string":"hash"]:r.map}function Oa(e){var t=be(this,e).delete(e);return this.size-=t?1:0,t}function Sa(e){return be(this,e).get(e)}function Pa(e){return be(this,e).has(e)}function Ea(e,t){var r=be(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}function K(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}K.prototype.clear=Aa,K.prototype.delete=Oa,K.prototype.get=Sa,K.prototype.has=Pa,K.prototype.set=Ea;function Ra(e,t){for(var r=-1,n=t.length,a=e.length;++r<n;)e[a+r]=t[r];return e}var Ca=Nt(Object.getPrototypeOf,Object);function xa(){this.__data__=new k,this.size=0}function ka(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}function Na(e){return this.__data__.get(e)}function Ia(e){return this.__data__.has(e)}var $a=200;function Da(e,t){var r=this.__data__;if(r instanceof k){var n=r.__data__;if(!se||n.length<$a-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new K(n)}return r.set(e,t),this.size=r.size,this}function X(e){var t=this.__data__=new k(e);this.size=t.size}X.prototype.clear=xa,X.prototype.delete=ka,X.prototype.get=Na,X.prototype.has=Ia,X.prototype.set=Da;var It=typeof w=="object"&&w&&!w.nodeType&&w,$t=It&&typeof module=="object"&&module&&!module.nodeType&&module,Ma=$t&&$t.exports===It,Dt=Ma?R.Buffer:void 0;Dt&&Dt.allocUnsafe;function Fa(e,t){return e.slice()}function za(e,t){for(var r=-1,n=e==null?0:e.length,a=0,i=[];++r<n;){var s=e[r];t(s,r,e)&&(i[a++]=s)}return i}function La(){return[]}var Ua=Object.prototype,Va=Ua.propertyIsEnumerable,Mt=Object.getOwnPropertySymbols,Ga=Mt?function(e){return e==null?[]:(e=Object(e),za(Mt(e),function(t){return Va.call(e,t)}))}:La;function Ba(e,t,r){var n=t(e);return Fe(e)?n:Ra(n,r(e))}function Ya(e){return Ba(e,aa,Ga)}var Ge=U(R,"DataView"),Be=U(R,"Promise"),Ye=U(R,"Set"),Ft="[object Map]",Wa="[object Object]",zt="[object Promise]",Lt="[object Set]",Ut="[object WeakMap]",Vt="[object DataView]",Ha=L(Ge),Ja=L(se),Ka=L(Be),Xa=L(Ye),Za=L(Le),N=ne;(Ge&&N(new Ge(new ArrayBuffer(1)))!=Vt||se&&N(new se)!=Ft||Be&&N(Be.resolve())!=zt||Ye&&N(new Ye)!=Lt||Le&&N(new Le)!=Ut)&&(N=function(e){var t=ne(e),r=t==Wa?e.constructor:void 0,n=r?L(r):"";if(n)switch(n){case Ha:return Vt;case Ja:return Ft;case Ka:return zt;case Xa:return Lt;case Za:return Ut}return t});var Qa=Object.prototype,qa=Qa.hasOwnProperty;function eo(e){var t=e.length,r=new e.constructor(t);return t&&typeof e[0]=="string"&&qa.call(e,"index")&&(r.index=e.index,r.input=e.input),r}var Gt=R.Uint8Array;function We(e){var t=new e.constructor(e.byteLength);return new Gt(t).set(new Gt(e)),t}function to(e,t){var r=We(e.buffer);return new e.constructor(r,e.byteOffset,e.byteLength)}var ro=/\w*$/;function no(e){var t=new e.constructor(e.source,ro.exec(e));return t.lastIndex=e.lastIndex,t}var Bt=H?H.prototype:void 0,Yt=Bt?Bt.valueOf:void 0;function ao(e){return Yt?Object(Yt.call(e)):{}}function oo(e,t){var r=We(e.buffer);return new e.constructor(r,e.byteOffset,e.length)}var io="[object Boolean]",so="[object Date]",co="[object Map]",uo="[object Number]",lo="[object RegExp]",fo="[object Set]",_o="[object String]",ho="[object Symbol]",po="[object ArrayBuffer]",go="[object DataView]",yo="[object Float32Array]",bo="[object Float64Array]",mo="[object Int8Array]",vo="[object Int16Array]",To="[object Int32Array]",jo="[object Uint8Array]",Ao="[object Uint8ClampedArray]",wo="[object Uint16Array]",Oo="[object Uint32Array]";function So(e,t,r){var n=e.constructor;switch(t){case po:return We(e);case io:case so:return new n(+e);case go:return to(e);case yo:case bo:case mo:case vo:case To:case jo:case Ao:case wo:case Oo:return oo(e);case co:return new n;case uo:case _o:return new n(e);case lo:return no(e);case fo:return new n;case ho:return ao(e)}}function Po(e){return typeof e.constructor=="function"&&!wt(e)?nn(Ca(e)):{}}var Eo="[object Map]";function Ro(e){return ae(e)&&N(e)==Eo}var Wt=J&&J.isMap,Co=Wt?Ue(Wt):Ro,xo="[object Set]";function ko(e){return ae(e)&&N(e)==xo}var Ht=J&&J.isSet,No=Ht?Ue(Ht):ko,Jt="[object Arguments]",Io="[object Array]",$o="[object Boolean]",Do="[object Date]",Mo="[object Error]",Kt="[object Function]",Fo="[object GeneratorFunction]",zo="[object Map]",Lo="[object Number]",Xt="[object Object]",Uo="[object RegExp]",Vo="[object Set]",Go="[object String]",Bo="[object Symbol]",Yo="[object WeakMap]",Wo="[object ArrayBuffer]",Ho="[object DataView]",Jo="[object Float32Array]",Ko="[object Float64Array]",Xo="[object Int8Array]",Zo="[object Int16Array]",Qo="[object Int32Array]",qo="[object Uint8Array]",ei="[object Uint8ClampedArray]",ti="[object Uint16Array]",ri="[object Uint32Array]",y={};y[Jt]=y[Io]=y[Wo]=y[Ho]=y[$o]=y[Do]=y[Jo]=y[Ko]=y[Xo]=y[Zo]=y[Qo]=y[zo]=y[Lo]=y[Xt]=y[Uo]=y[Vo]=y[Go]=y[Bo]=y[qo]=y[ei]=y[ti]=y[ri]=!0,y[Mo]=y[Kt]=y[Yo]=!1;function me(e,t,r,n,a,i){var s;if(s!==void 0)return s;if(!ge(e))return e;var c=Fe(e);if(c)s=eo(e);else{var p=N(e),_=p==Kt||p==Fo;if(Ct(e))return Fa(e);if(p==Xt||p==Jt||_&&!a)s=_?{}:Po(e);else{if(!y[p])return a?e:{};s=So(e,p)}}i||(i=new X);var l=i.get(e);if(l)return l;i.set(e,s),No(e)?e.forEach(function(u){s.add(me(u,t,r,u,e,i))}):Co(e)&&e.forEach(function(u,h){s.set(h,me(u,t,r,h,e,i))});var m=Ya,d=c?void 0:m(e);return an(d||e,function(u,h){d&&(h=u,u=e[h]),dn(s,h,me(u,t,r,h,e,i))}),s}var ni=1,ai=4;function ce(e){return me(e,ni|ai)}var E=(e=>(e.GROUP="group",e.INDIVIDUAL="individual",e))(E||{}),C=(e=>(e.AND="and",e.OR="or",e))(C||{});const oi={[C.OR]:"或",[C.AND]:"且"},Zt=({value:e,disabled:t,onChange:r})=>{function n(){t||r(e===C.OR?C.AND:C.OR)}return g.jsx("div",{className:"link-line",children:g.jsx("div",{className:"link-label",onClick:n,children:oi[e]??"且"})})};function ii(e){return e==null||e===""?!0:Array.isArray(e)?e.length===0:e!==null&&typeof e=="object"?Object.keys(e).length===0:!1}function si(e){return!!e&&Object.keys(e).length>0&&Object.keys(e).every(t=>!ii(e[t]))}const Qt=({level:e,currentItemInfo:t,isLast:r,disabledConfig:n,onCreate:a,onCreateChildRules:i,onDel:s})=>{const c=T.useMemo(()=>t.level>=1&&r,[t.level,r]),p=T.useMemo(()=>e>1&&t.level<e,[e,t.level]),_=T.useMemo(()=>!!(e>1&&si(t.individual)&&!n.addItem),[e,t.individual,n.addItem]);return g.jsxs("div",{className:"conditional-handle",children:[_&&g.jsxs(g.Fragment,{children:[c&&g.jsxs("span",{className:"create-handle",onClick:a,children:[g.jsx("span",{style:{color:"#c85000",marginRight:4},children:"+"}),"同级"]}),p&&g.jsxs("span",{className:"create-handle",onClick:i,children:[g.jsx("span",{style:{color:"#c85000",marginRight:4},children:"+"}),"子级"]})]}),!n.delItem&&g.jsx("span",{className:"del-handle",onClick:s,children:"-"})]})};var qt=Symbol.for("immer-nothing"),er=Symbol.for("immer-draftable"),O=Symbol.for("immer-state"),ci=process.env.NODE_ENV!=="production"?[function(e){return`The plugin for '${e}' has not been loaded into Immer. To enable the plugin, import and call \`enable${e}()\` when initializing your application.`},function(e){return`produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${e}'`},"This object has been frozen and should not be mutated",function(e){return"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+e},"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.","Immer forbids circular references","The first or second argument to `produce` must be a function","The third argument to `produce` must be a function or undefined","First argument to `createDraft` must be a plain object, an array, or an immerable object","First argument to `finishDraft` must be a draft returned by `createDraft`",function(e){return`'current' expects a draft, got: ${e}`},"Object.defineProperty() cannot be used on an Immer draft","Object.setPrototypeOf() cannot be used on an Immer draft","Immer only supports deleting array indices","Immer only supports setting array indices and the 'length' property",function(e){return`'original' expects a draft, got: ${e}`}]:[];function S(e,...t){if(process.env.NODE_ENV!=="production"){const r=ci[e],n=G(r)?r.apply(null,t):r;throw new Error(`[Immer] ${n}`)}throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var P=Object,Z=P.getPrototypeOf,ve="constructor",Te="prototype",He="configurable",je="enumerable",Ae="writable",ue="value",M=e=>!!e&&!!e[O];function I(e){var t;return e?rr(e)||Se(e)||!!e[er]||!!((t=e[ve])!=null&&t[er])||Pe(e)||Ee(e):!1}var li=P[Te][ve].toString(),tr=new WeakMap;function rr(e){if(!e||!Ke(e))return!1;const t=Z(e);if(t===null||t===P[Te])return!0;const r=P.hasOwnProperty.call(t,ve)&&t[ve];if(r===Object)return!0;if(!G(r))return!1;let n=tr.get(r);return n===void 0&&(n=Function.toString.call(r),tr.set(r,n)),n===li}function we(e,t,r=!0){le(e)===0?(r?Reflect.ownKeys(e):P.keys(e)).forEach(a=>{t(a,e[a],e)}):e.forEach((n,a)=>t(a,n,e))}function le(e){const t=e[O];return t?t.type_:Se(e)?1:Pe(e)?2:Ee(e)?3:0}var nr=(e,t,r=le(e))=>r===2?e.has(t):P[Te].hasOwnProperty.call(e,t),Je=(e,t,r=le(e))=>r===2?e.get(t):e[t],Oe=(e,t,r,n=le(e))=>{n===2?e.set(t,r):n===3?e.add(r):e[t]=r};function fi(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var Se=Array.isArray,Pe=e=>e instanceof Map,Ee=e=>e instanceof Set,Ke=e=>typeof e=="object",G=e=>typeof e=="function",Xe=e=>typeof e=="boolean";function di(e){const t=+e;return Number.isInteger(t)&&String(t)===e}var $=e=>e.copy_||e.base_,Ze=e=>e.modified_?e.copy_:e.base_;function Qe(e,t){if(Pe(e))return new Map(e);if(Ee(e))return new Set(e);if(Se(e))return Array[Te].slice.call(e);const r=rr(e);if(t===!0||t==="class_only"&&!r){const n=P.getOwnPropertyDescriptors(e);delete n[O];let a=Reflect.ownKeys(n);for(let i=0;i<a.length;i++){const s=a[i],c=n[s];c[Ae]===!1&&(c[Ae]=!0,c[He]=!0),(c.get||c.set)&&(n[s]={[He]:!0,[Ae]:!0,[je]:c[je],[ue]:e[s]})}return P.create(Z(e),n)}else{const n=Z(e);if(n!==null&&r)return{...e};const a=P.create(n);return P.assign(a,e)}}function fe(e,t=!1){return Ce(e)||M(e)||!I(e)||(le(e)>1&&P.defineProperties(e,{set:Re,add:Re,clear:Re,delete:Re}),P.freeze(e),t&&we(e,(r,n)=>{fe(n,!0)},!1)),e}function _i(){S(2)}var Re={[ue]:_i};function Ce(e){return e===null||!Ke(e)?!0:P.isFrozen(e)}var xe="MapSet",qe="Patches",ar="ArrayMethods",or={};function B(e){const t=or[e];return t||S(0,e),t}var ir=e=>!!or[e],de,sr=()=>de,hi=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:ir(xe)?B(xe):void 0,arrayMethodsPlugin_:ir(ar)?B(ar):void 0});function cr(e,t){t&&(e.patchPlugin_=B(qe),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function et(e){tt(e),e.drafts_.forEach(pi),e.drafts_=null}function tt(e){e===de&&(de=e.parent_)}var ur=e=>de=hi(de,e);function pi(e){const t=e[O];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function lr(e,t){t.unfinalizedDrafts_=t.drafts_.length;const r=t.drafts_[0];if(e!==void 0&&e!==r){r[O].modified_&&(et(t),S(4)),I(e)&&(e=fr(t,e));const{patchPlugin_:a}=t;a&&a.generateReplacementPatches_(r[O].base_,e,t)}else e=fr(t,r);return gi(t,e,!0),et(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==qt?e:void 0}function fr(e,t){if(Ce(t))return t;const r=t[O];if(!r)return Ne(t,e.handledSet_,e);if(!ke(r,e))return t;if(!r.modified_)return r.base_;if(!r.finalized_){const{callbacks_:n}=r;if(n)for(;n.length>0;)n.pop()(e);hr(r,e)}return r.copy_}function gi(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&fe(t,r)}function dr(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var ke=(e,t)=>e.scope_===t,yi=[];function _r(e,t,r,n){const a=$(e),i=e.type_;if(n!==void 0&&Je(a,n,i)===t){Oe(a,n,r,i);return}if(!e.draftLocations_){const c=e.draftLocations_=new Map;we(a,(p,_)=>{if(M(_)){const l=c.get(_)||[];l.push(p),c.set(_,l)}})}const s=e.draftLocations_.get(t)??yi;for(const c of s)Oe(a,c,r,i)}function bi(e,t,r){e.callbacks_.push(function(a){var c;const i=t;if(!i||!ke(i,a))return;(c=a.mapSetPlugin_)==null||c.fixSetContents(i);const s=Ze(i);_r(e,i.draft_??i,s,r),hr(i,a)})}function hr(e,t){var n;if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(((n=e.assigned_)==null?void 0:n.size)??0)>0)){const{patchPlugin_:a}=t;if(a){const i=a.getPath(e);i&&a.generatePatches_(e,i,t)}dr(e)}}function mi(e,t,r){const{scope_:n}=e;if(M(r)){const a=r[O];ke(a,n)&&a.callbacks_.push(function(){$e(e);const s=Ze(a);_r(e,r,s,t)})}else I(r)&&e.callbacks_.push(function(){const i=$(e);e.type_===3?i.has(r)&&Ne(r,n.handledSet_,n):Je(i,t,e.type_)===r&&n.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Ne(Je(e.copy_,t,e.type_),n.handledSet_,n)})}function Ne(e,t,r){return!r.immer_.autoFreeze_&&r.unfinalizedDrafts_<1||M(e)||t.has(e)||!I(e)||Ce(e)||(t.add(e),we(e,(n,a)=>{if(M(a)){const i=a[O];if(ke(i,r)){const s=Ze(i);Oe(e,n,s,e.type_),dr(i)}}else I(a)&&Ne(a,t,r)})),e}function vi(e,t){const r=Se(e),n={type_:r?1:0,scope_:t?t.scope_:sr(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let a=n,i=Ie;r&&(a=[n],i=_e);const{revoke:s,proxy:c}=Proxy.revocable(a,i);return n.draft_=c,n.revoke_=s,[c,n]}var Ie={get(e,t){if(t===O)return e;let r=e.scope_.arrayMethodsPlugin_;const n=e.type_===1&&typeof t=="string";if(n&&r!=null&&r.isArrayOperationMethod(t))return r.createMethodInterceptor(e,t);const a=$(e);if(!nr(a,t,e.type_))return Ti(e,a,t);const i=a[t];if(e.finalized_||!I(i)||n&&e.operationMethod&&(r!=null&&r.isMutatingArrayMethod(e.operationMethod))&&di(t))return i;if(i===rt(e.base_,t)){$e(e);const s=e.type_===1?+t:t,c=at(e.scope_,i,e,s);return e.copy_[s]=c}return i},has(e,t){return t in $(e)},ownKeys(e){return Reflect.ownKeys($(e))},set(e,t,r){const n=pr($(e),t);if(n!=null&&n.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const a=rt($(e),t),i=a==null?void 0:a[O];if(i&&i.base_===r)return e.copy_[t]=r,e.assigned_.set(t,!1),!0;if(fi(r,a)&&(r!==void 0||nr(e.base_,t,e.type_)))return!0;$e(e),nt(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_.set(t,!0),mi(e,t,r)),!0},deleteProperty(e,t){return $e(e),rt(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),nt(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const r=$(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{[Ae]:!0,[He]:e.type_!==1||t!=="length",[je]:n[je],[ue]:r[t]}},defineProperty(){S(11)},getPrototypeOf(e){return Z(e.base_)},setPrototypeOf(){S(12)}},_e={};for(let e in Ie){let t=Ie[e];_e[e]=function(){const r=arguments;return r[0]=r[0][0],t.apply(this,r)}}_e.deleteProperty=function(e,t){return process.env.NODE_ENV!=="production"&&isNaN(parseInt(t))&&S(13),_e.set.call(this,e,t,void 0)},_e.set=function(e,t,r){return process.env.NODE_ENV!=="production"&&t!=="length"&&isNaN(parseInt(t))&&S(14),Ie.set.call(this,e[0],t,r,e[0])};function rt(e,t){const r=e[O];return(r?$(r):e)[t]}function Ti(e,t,r){var a;const n=pr(t,r);return n?ue in n?n[ue]:(a=n.get)==null?void 0:a.call(e.draft_):void 0}function pr(e,t){if(!(t in e))return;let r=Z(e);for(;r;){const n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Z(r)}}function nt(e){e.modified_||(e.modified_=!0,e.parent_&&nt(e.parent_))}function $e(e){e.copy_||(e.assigned_=new Map,e.copy_=Qe(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var ji=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(t,r,n)=>{if(G(t)&&!G(r)){const i=r;r=t;const s=this;return function(p=i,..._){return s.produce(p,l=>r.call(this,l,..._))}}G(r)||S(6),n!==void 0&&!G(n)&&S(7);let a;if(I(t)){const i=ur(this),s=at(i,t,void 0);let c=!0;try{a=r(s),c=!1}finally{c?et(i):tt(i)}return cr(i,n),lr(a,i)}else if(!t||!Ke(t)){if(a=r(t),a===void 0&&(a=t),a===qt&&(a=void 0),this.autoFreeze_&&fe(a,!0),n){const i=[],s=[];B(qe).generateReplacementPatches_(t,a,{patches_:i,inversePatches_:s}),n(i,s)}return a}else S(1,t)},this.produceWithPatches=(t,r)=>{if(G(t))return(s,...c)=>this.produceWithPatches(s,p=>t(p,...c));let n,a;return[this.produce(t,r,(s,c)=>{n=s,a=c}),n,a]},Xe(e==null?void 0:e.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Xe(e==null?void 0:e.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Xe(e==null?void 0:e.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){I(e)||S(8),M(e)&&(e=Ai(e));const t=ur(this),r=at(t,e,void 0);return r[O].isManual_=!0,tt(t),r}finishDraft(e,t){const r=e&&e[O];(!r||!r.isManual_)&&S(9);const{scope_:n}=r;return cr(n,t),lr(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){const a=t[r];if(a.path.length===0&&a.op==="replace"){e=a.value;break}}r>-1&&(t=t.slice(r+1));const n=B(qe).applyPatches_;return M(e)?n(e,t):this.produce(e,a=>n(a,t))}};function at(e,t,r,n){const[a,i]=Pe(t)?B(xe).proxyMap_(t,r):Ee(t)?B(xe).proxySet_(t,r):vi(t,r);return((r==null?void 0:r.scope_)??sr()).drafts_.push(a),i.callbacks_=(r==null?void 0:r.callbacks_)??[],i.key_=n,r&&n!==void 0?bi(r,i,n):i.callbacks_.push(function(p){var l;(l=p.mapSetPlugin_)==null||l.fixSetContents(i);const{patchPlugin_:_}=p;i.modified_&&_&&_.generatePatches_(i,[],p)}),a}function Ai(e){return M(e)||S(10,e),gr(e)}function gr(e){if(!I(e)||Ce(e))return e;const t=e[O];let r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=Qe(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=Qe(e,!0);return we(r,(a,i)=>{Oe(r,a,gr(i))},n),t&&(t.finalized_=!1),r}var wi=new ji,Oi=wi.produce;function Si(e){var t=T.useState(function(){return fe(typeof e=="function"?e():e,!0)}),r=t[1];return[t[0],T.useCallback(function(n){r(typeof n=="function"?Oi(n):fe(n))},[])]}function yr(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Pi(e){return e==null||e===""?!0:Array.isArray(e)?e.length===0:yr(e)?Object.keys(e).length===0:!1}function Q(e=0){return ce({_id:crypto.randomUUID(),framework:E.INDIVIDUAL,individual:{},level:e})}function F(e){return e.framework===E.GROUP}function Ei(e){return!!e&&Object.keys(e).length>0&&Object.keys(e).every(t=>!Pi(e[t]))}function br(e){return F(e)&&Array.isArray(e.group)?e.group.some(t=>br(t)):!Ei(e.individual)}function mr(e){F(e)&&Array.isArray(e.group)&&e.group.length>1&&e.group.forEach(t=>mr(t)),e.level=e.level-1<0?0:e.level-1}function Y(e,t){if(e._id===t)return e;if(Array.isArray(e.group))for(const r of e.group){const n=Y(r,t);if(n)return n}return null}function Ri(e){const[t,r]=Si(()=>Q()),n=T.useCallback(l=>{r(()=>l)},[r]),a=T.useMemo(()=>{const l=Math.abs(Number(e.maxLevel??1))||1;return Number(e.maxLevel??1)<1&&console.warn("[TConditionalSelection] Invalid props.maxLevel: maxLevel must be greater than 0."),l},[e.maxLevel]),i=T.useMemo(()=>{var m,d,u;const l=yr(e.disabled);return{addItem:!!(l?(m=e.disabled)!=null&&m.addItem:e.disabled),delItem:!!(l?(d=e.disabled)!=null&&d.delItem:e.disabled),linkChange:!!(l?(u=e.disabled)!=null&&u.linkChange:e.disabled)}},[e.disabled]),s=T.useCallback(l=>{if(!F(l))return;const m=Math.abs(Number(e.zeroLevelMaxLength));if(m&&(Number(e.zeroLevelMaxLength)<2&&console.warn("[TConditionalSelection] Invalid props.zeroLevelMaxLength: zeroLevelMaxLength must be greater than 1."),l.level===0&&l.group.length===m)){console.warn(`最外层子项最多添加${m}个条件`);return}r(d=>{const u=Y(d,l._id);u&&Array.isArray(u.group)&&u.group.push(Q(u.level+1))})},[e.zeroLevelMaxLength,r]),c=T.useCallback(l=>{r(m=>{const d=Y(m,l._id);if(d)if(d.framework===E.INDIVIDUAL){const u={_id:crypto.randomUUID(),framework:E.INDIVIDUAL,individual:ce(d.individual??{}),level:d.level+1},h=Q(d.level+1);d.framework=E.GROUP,d.link=C.AND,d._id=crypto.randomUUID(),d.group=[u,h],delete d.individual}else Array.isArray(d.group)&&d.group.push(Q(d.level+1))})},[r]),p=T.useCallback((l,m)=>{r(d=>{const u=Y(d,l._id);if(!(!u||!Array.isArray(u.group))&&(u.group.splice(m,1),u.framework===E.GROUP&&u.group.length===1)){const h=u.group[0];h.framework===E.GROUP&&Array.isArray(h.group)&&h.group.length>1?(u.framework=E.GROUP,u.link=h.link,u._id=h._id,u.group=h.group,delete u.individual):(u.framework=E.INDIVIDUAL,u._id=h._id,u.individual=ce(h.individual??{}),delete u.link,delete u.group),mr(h)}})},[r]),_=T.useCallback((l=!0)=>new Promise((m,d)=>{if(l&&br(t)){console.error("请填写完整"),d("含有未填写完整的项");return}m(ce(t))}),[t]);return{rulesData:t,setRulesData:n,level:a,disabledConfig:i,createRules:s,createChildRules:c,delRules:p,getConditionalSelectionData:_,isGroup:F,getTempRules:Q,updateRulesData:r}}function vr(e,t){const r=t.length-1,n=t[r];let a=e===r;return!a&&n&&F(n)&&(a=e===t.length-2),a}const Tr=({levelData:e,level:t,disabledConfig:r,onUpdateNode:n,onCreateRules:a,onCreateChildRules:i,onDelRules:s,renderConditionItem:c})=>{const p=e.group;function _(l){n(e._id,{link:l})}return g.jsxs("div",{className:"relative-box",children:[g.jsx(Zt,{value:e.link??C.AND,disabled:r.linkChange,onChange:_}),g.jsx("div",{className:"conditional-list-box right-box",children:p.map((l,m)=>{if(F(l)){const d=l.group;return g.jsx("div",{className:"conditional-list",children:g.jsxs("div",{className:"relative-box",children:[g.jsx(Zt,{value:l.link??C.AND,disabled:r.linkChange,onChange:u=>n(l._id,{link:u})}),d.map((u,h)=>F(u)&&u.group.length>0?g.jsx("div",{className:"conditional-item right-box",children:g.jsx(Tr,{levelData:u,level:t,disabledConfig:r,onUpdateNode:n,onCreateRules:a,onCreateChildRules:i,onDelRules:s,renderConditionItem:c})},u._id):g.jsxs("div",{className:"conditional-item right-box",children:[c==null?void 0:c(u),g.jsx(Qt,{level:t,disabledConfig:r,currentItemInfo:u,isLast:vr(h,d),onCreate:()=>a(l),onCreateChildRules:()=>i(u),onDel:()=>s(l,h)})]},u._id))]})},l._id)}return g.jsx("div",{className:"conditional-list",children:g.jsxs("div",{className:"conditional-item",children:[c==null?void 0:c(l),g.jsx(Qt,{level:t,disabledConfig:r,currentItemInfo:l,isLast:vr(m,p),onCreate:()=>a(e),onCreateChildRules:()=>i(l),onDel:()=>s(e,m)})]})},l._id)})})]})},jr=T.forwardRef((e,t)=>{const{conditionalRules:r,onChange:n,renderConditionRules:a,renderCreateCondition:i}=e,{rulesData:s,setRulesData:c,level:p,disabledConfig:_,createRules:l,createChildRules:m,delRules:d,getConditionalSelectionData:u,updateRulesData:h}=Ri(e);T.useImperativeHandle(t,()=>({getConditionalSelectionData:u}),[u]);const De=T.useRef(!0);T.useEffect(()=>{if(De.current){De.current=!1;return}n==null||n(s)},[s]),T.useEffect(()=>{r&&Object.keys(r).length!==0?c(ce(r)):c(Q())},[]);const he=T.useCallback((x,D)=>{h(z=>{const W=Y(z,x);W&&Object.assign(W,D)})},[h]),ot=T.useCallback(x=>a==null?void 0:a(x,D=>{h(z=>{const W=Y(z,x._id);W&&(W.individual=D)})}),[a,h]),it=T.useCallback((x,D)=>a==null?void 0:a(x,D),[a]);return g.jsxs("div",{className:"conditional-selection",children:[!_.addItem&&(i?i({createRules:m,rulesData:s}):g.jsxs("span",{className:"create-box",onClick:()=>m(s),children:[g.jsx("span",{style:{color:"#00c8be",marginRight:4},children:"➕"}),"添加条件"]})),g.jsx("div",{className:"conditional-content",children:F(s)&&s.group.length>0?g.jsx(Tr,{levelData:s,level:p,disabledConfig:_,onUpdateNode:he,onCreateRules:l,onCreateChildRules:m,onDelRules:d,renderConditionItem:ot}):it(s,x=>{h(D=>{const z=Y(D,s._id);z&&(z.individual=x)})})})]})});return jr.displayName="ConditionalSelection",w.ConditionalSelection=jr,w.EConditionalSelectionFramework=E,w.EConditionalSelectionLink=C,Object.defineProperty(w,Symbol.toStringTag,{value:"Module"}),w})({},React);
|
package/dist/ui.umd.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
(function(j,b){typeof exports=="object"&&typeof module<"u"?b(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],b):(j=typeof globalThis<"u"?globalThis:j||self,b(j.ui={},j.React))})(this,(function(j,b){"use strict";var _e={exports:{}},ee={};/**
|
|
2
|
+
* @license React
|
|
3
|
+
* react-jsx-runtime.production.js
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/var dt;function Rr(){if(dt)return ee;dt=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function r(n,a,i){var s=null;if(i!==void 0&&(s=""+i),a.key!==void 0&&(s=""+a.key),"key"in a){i={};for(var c in a)c!=="key"&&(i[c]=a[c])}else i=a;return a=i.ref,{$$typeof:e,type:n,key:s,ref:a!==void 0?a:null,props:i}}return ee.Fragment=t,ee.jsx=r,ee.jsxs=r,ee}var te={};/**
|
|
10
|
+
* @license React
|
|
11
|
+
* react-jsx-runtime.development.js
|
|
12
|
+
*
|
|
13
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
14
|
+
*
|
|
15
|
+
* This source code is licensed under the MIT license found in the
|
|
16
|
+
* LICENSE file in the root directory of this source tree.
|
|
17
|
+
*/var pt;function Cr(){return pt||(pt=1,process.env.NODE_ENV!=="production"&&(function(){function e(o){if(o==null)return null;if(typeof o=="function")return o.$$typeof===ki?null:o.displayName||o.name||null;if(typeof o=="string")return o;switch(o){case he:return"Fragment";case it:return"Profiler";case ot:return"StrictMode";case W:return"Suspense";case Ri:return"SuspenseList";case xi:return"Activity"}if(typeof o=="object")switch(typeof o.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),o.$$typeof){case De:return"Portal";case D:return o.displayName||"Context";case x:return(o._context.displayName||"Context")+".Consumer";case z:var f=o.render;return o=o.displayName,o||(o=f.displayName||f.name||"",o=o!==""?"ForwardRef("+o+")":"ForwardRef"),o;case Ci:return f=o.displayName||null,f!==null?f:e(o.type)||"Memo";case st:f=o._payload,o=o._init;try{return e(o(f))}catch{}}return null}function t(o){return""+o}function r(o){try{t(o);var f=!1}catch{f=!0}if(f){f=console;var T=f.error,A=typeof Symbol=="function"&&Symbol.toStringTag&&o[Symbol.toStringTag]||o.constructor.name||"Object";return T.call(f,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",A),t(o)}}function n(o){if(o===he)return"<>";if(typeof o=="object"&&o!==null&&o.$$typeof===st)return"<...>";try{var f=e(o);return f?"<"+f+">":"<...>"}catch{return"<...>"}}function a(){var o=ct.A;return o===null?null:o.getOwner()}function i(){return Error("react-stack-top-frame")}function s(o){if(Ar.call(o,"key")){var f=Object.getOwnPropertyDescriptor(o,"key").get;if(f&&f.isReactWarning)return!1}return o.key!==void 0}function c(o,f){function T(){wr||(wr=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",f))}T.isReactWarning=!0,Object.defineProperty(o,"key",{get:T,configurable:!0})}function _(){var o=e(this.type);return Or[o]||(Or[o]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),o=this.props.ref,o!==void 0?o:null}function p(o,f,T,A,Me,lt){var w=T.ref;return o={$$typeof:h,type:o,key:f,props:T,_owner:A},(w!==void 0?w:null)!==null?Object.defineProperty(o,"ref",{enumerable:!1,get:_}):Object.defineProperty(o,"ref",{enumerable:!1,value:null}),o._store={},Object.defineProperty(o._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(o,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(o,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:Me}),Object.defineProperty(o,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:lt}),Object.freeze&&(Object.freeze(o.props),Object.freeze(o)),o}function l(o,f,T,A,Me,lt){var w=f.children;if(w!==void 0)if(A)if(Ni(w)){for(A=0;A<w.length;A++)v(w[A]);Object.freeze&&Object.freeze(w)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else v(w);if(Ar.call(f,"key")){w=e(o);var q=Object.keys(f).filter(function(Ii){return Ii!=="key"});A=0<q.length?"{key: someKey, "+q.join(": ..., ")+": ...}":"{key: someKey}",Er[w+A]||(q=0<q.length?"{"+q.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
18
|
+
let props = %s;
|
|
19
|
+
<%s {...props} />
|
|
20
|
+
React keys must be passed directly to JSX without using spread:
|
|
21
|
+
let props = %s;
|
|
22
|
+
<%s key={someKey} {...props} />`,A,w,q,w),Er[w+A]=!0)}if(w=null,T!==void 0&&(r(T),w=""+T),s(f)&&(r(f.key),w=""+f.key),"key"in f){T={};for(var ft in f)ft!=="key"&&(T[ft]=f[ft])}else T=f;return w&&c(T,typeof o=="function"?o.displayName||o.name||"Unknown":o),p(o,w,T,a(),Me,lt)}function v(o){d(o)?o._store&&(o._store.validated=1):typeof o=="object"&&o!==null&&o.$$typeof===st&&(o._payload.status==="fulfilled"?d(o._payload.value)&&o._payload.value._store&&(o._payload.value._store.validated=1):o._store&&(o._store.validated=1))}function d(o){return typeof o=="object"&&o!==null&&o.$$typeof===h}var u=b,h=Symbol.for("react.transitional.element"),De=Symbol.for("react.portal"),he=Symbol.for("react.fragment"),ot=Symbol.for("react.strict_mode"),it=Symbol.for("react.profiler"),x=Symbol.for("react.consumer"),D=Symbol.for("react.context"),z=Symbol.for("react.forward_ref"),W=Symbol.for("react.suspense"),Ri=Symbol.for("react.suspense_list"),Ci=Symbol.for("react.memo"),st=Symbol.for("react.lazy"),xi=Symbol.for("react.activity"),ki=Symbol.for("react.client.reference"),ct=u.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Ar=Object.prototype.hasOwnProperty,Ni=Array.isArray,ut=console.createTask?console.createTask:function(){return null};u={react_stack_bottom_frame:function(o){return o()}};var wr,Or={},Sr=u.react_stack_bottom_frame.bind(u,i)(),Pr=ut(n(i)),Er={};te.Fragment=he,te.jsx=function(o,f,T){var A=1e4>ct.recentlyCreatedOwnerStacks++;return l(o,f,T,!1,A?Error("react-stack-top-frame"):Sr,A?ut(n(o)):Pr)},te.jsxs=function(o,f,T){var A=1e4>ct.recentlyCreatedOwnerStacks++;return l(o,f,T,!0,A?Error("react-stack-top-frame"):Sr,A?ut(n(o)):Pr)}})()),te}var ht;function xr(){return ht||(ht=1,process.env.NODE_ENV==="production"?_e.exports=Rr():_e.exports=Cr()),_e.exports}var y=xr(),_t=typeof global=="object"&&global&&global.Object===Object&&global,kr=typeof self=="object"&&self&&self.Object===Object&&self,R=_t||kr||Function("return this")(),H=R.Symbol,yt=Object.prototype,Nr=yt.hasOwnProperty,Ir=yt.toString,re=H?H.toStringTag:void 0;function $r(e){var t=Nr.call(e,re),r=e[re];try{e[re]=void 0;var n=!0}catch{}var a=Ir.call(e);return n&&(t?e[re]=r:delete e[re]),a}var Dr=Object.prototype,Mr=Dr.toString;function Fr(e){return Mr.call(e)}var zr="[object Null]",Lr="[object Undefined]",gt=H?H.toStringTag:void 0;function ne(e){return e==null?e===void 0?Lr:zr:gt&> in Object(e)?$r(e):Fr(e)}function ae(e){return e!=null&&typeof e=="object"}var Fe=Array.isArray;function ye(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Ur="[object AsyncFunction]",Vr="[object Function]",Gr="[object GeneratorFunction]",Br="[object Proxy]";function bt(e){if(!ye(e))return!1;var t=ne(e);return t==Vr||t==Gr||t==Ur||t==Br}var ze=R["__core-js_shared__"],mt=(function(){var e=/[^.]+$/.exec(ze&&ze.keys&&ze.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})();function Yr(e){return!!mt&&mt in e}var Wr=Function.prototype,Hr=Wr.toString;function L(e){if(e!=null){try{return Hr.call(e)}catch{}try{return e+""}catch{}}return""}var Jr=/[\\^$.*+?()[\]{}|]/g,Kr=/^\[object .+?Constructor\]$/,Xr=Function.prototype,Zr=Object.prototype,Qr=Xr.toString,qr=Zr.hasOwnProperty,en=RegExp("^"+Qr.call(qr).replace(Jr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function tn(e){if(!ye(e)||Yr(e))return!1;var t=bt(e)?en:Kr;return t.test(L(e))}function rn(e,t){return e==null?void 0:e[t]}function U(e,t){var r=rn(e,t);return tn(r)?r:void 0}var Le=U(R,"WeakMap"),vt=Object.create,nn=(function(){function e(){}return function(t){if(!ye(t))return{};if(vt)return vt(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}})(),Tt=(function(){try{var e=U(Object,"defineProperty");return e({},"",{}),e}catch{}})();function an(e,t){for(var r=-1,n=e==null?0:e.length;++r<n&&t(e[r],r,e)!==!1;);return e}var on=9007199254740991,sn=/^(?:0|[1-9]\d*)$/;function cn(e,t){var r=typeof e;return t=t??on,!!t&&(r=="number"||r!="symbol"&&sn.test(e))&&e>-1&&e%1==0&&e<t}function un(e,t,r){t=="__proto__"&&Tt?Tt(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}function jt(e,t){return e===t||e!==e&&t!==t}var ln=Object.prototype,fn=ln.hasOwnProperty;function dn(e,t,r){var n=e[t];(!(fn.call(e,t)&&jt(n,r))||r===void 0&&!(t in e))&&un(e,t,r)}var pn=9007199254740991;function At(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=pn}function hn(e){return e!=null&&At(e.length)&&!bt(e)}var _n=Object.prototype;function wt(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||_n;return e===r}function yn(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}var gn="[object Arguments]";function Ot(e){return ae(e)&&ne(e)==gn}var St=Object.prototype,bn=St.hasOwnProperty,mn=St.propertyIsEnumerable,vn=Ot((function(){return arguments})())?Ot:function(e){return ae(e)&&bn.call(e,"callee")&&!mn.call(e,"callee")};function Tn(){return!1}var Pt=typeof j=="object"&&j&&!j.nodeType&&j,Et=Pt&&typeof module=="object"&&module&&!module.nodeType&&module,jn=Et&&Et.exports===Pt,Rt=jn?R.Buffer:void 0,An=Rt?Rt.isBuffer:void 0,Ct=An||Tn,wn="[object Arguments]",On="[object Array]",Sn="[object Boolean]",Pn="[object Date]",En="[object Error]",Rn="[object Function]",Cn="[object Map]",xn="[object Number]",kn="[object Object]",Nn="[object RegExp]",In="[object Set]",$n="[object String]",Dn="[object WeakMap]",Mn="[object ArrayBuffer]",Fn="[object DataView]",zn="[object Float32Array]",Ln="[object Float64Array]",Un="[object Int8Array]",Vn="[object Int16Array]",Gn="[object Int32Array]",Bn="[object Uint8Array]",Yn="[object Uint8ClampedArray]",Wn="[object Uint16Array]",Hn="[object Uint32Array]",m={};m[zn]=m[Ln]=m[Un]=m[Vn]=m[Gn]=m[Bn]=m[Yn]=m[Wn]=m[Hn]=!0,m[wn]=m[On]=m[Mn]=m[Sn]=m[Fn]=m[Pn]=m[En]=m[Rn]=m[Cn]=m[xn]=m[kn]=m[Nn]=m[In]=m[$n]=m[Dn]=!1;function Jn(e){return ae(e)&&At(e.length)&&!!m[ne(e)]}function Ue(e){return function(t){return e(t)}}var xt=typeof j=="object"&&j&&!j.nodeType&&j,oe=xt&&typeof module=="object"&&module&&!module.nodeType&&module,Kn=oe&&oe.exports===xt,Ve=Kn&&_t.process,J=(function(){try{var e=oe&&oe.require&&oe.require("util").types;return e||Ve&&Ve.binding&&Ve.binding("util")}catch{}})(),kt=J&&J.isTypedArray,Xn=kt?Ue(kt):Jn,Zn=Object.prototype,Qn=Zn.hasOwnProperty;function qn(e,t){var r=Fe(e),n=!r&&vn(e),a=!r&&!n&&Ct(e),i=!r&&!n&&!a&&Xn(e),s=r||n||a||i,c=s?yn(e.length,String):[],_=c.length;for(var p in e)Qn.call(e,p)&&!(s&&(p=="length"||a&&(p=="offset"||p=="parent")||i&&(p=="buffer"||p=="byteLength"||p=="byteOffset")||cn(p,_)))&&c.push(p);return c}function Nt(e,t){return function(r){return e(t(r))}}var ea=Nt(Object.keys,Object),ta=Object.prototype,ra=ta.hasOwnProperty;function na(e){if(!wt(e))return ea(e);var t=[];for(var r in Object(e))ra.call(e,r)&&r!="constructor"&&t.push(r);return t}function aa(e){return hn(e)?qn(e):na(e)}var ie=U(Object,"create");function oa(){this.__data__=ie?ie(null):{},this.size=0}function ia(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var sa="__lodash_hash_undefined__",ca=Object.prototype,ua=ca.hasOwnProperty;function la(e){var t=this.__data__;if(ie){var r=t[e];return r===sa?void 0:r}return ua.call(t,e)?t[e]:void 0}var fa=Object.prototype,da=fa.hasOwnProperty;function pa(e){var t=this.__data__;return ie?t[e]!==void 0:da.call(t,e)}var ha="__lodash_hash_undefined__";function _a(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ie&&t===void 0?ha:t,this}function V(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}V.prototype.clear=oa,V.prototype.delete=ia,V.prototype.get=la,V.prototype.has=pa,V.prototype.set=_a;function ya(){this.__data__=[],this.size=0}function ge(e,t){for(var r=e.length;r--;)if(jt(e[r][0],t))return r;return-1}var ga=Array.prototype,ba=ga.splice;function ma(e){var t=this.__data__,r=ge(t,e);if(r<0)return!1;var n=t.length-1;return r==n?t.pop():ba.call(t,r,1),--this.size,!0}function va(e){var t=this.__data__,r=ge(t,e);return r<0?void 0:t[r][1]}function Ta(e){return ge(this.__data__,e)>-1}function ja(e,t){var r=this.__data__,n=ge(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}function k(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}k.prototype.clear=ya,k.prototype.delete=ma,k.prototype.get=va,k.prototype.has=Ta,k.prototype.set=ja;var se=U(R,"Map");function Aa(){this.size=0,this.__data__={hash:new V,map:new(se||k),string:new V}}function wa(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function be(e,t){var r=e.__data__;return wa(t)?r[typeof t=="string"?"string":"hash"]:r.map}function Oa(e){var t=be(this,e).delete(e);return this.size-=t?1:0,t}function Sa(e){return be(this,e).get(e)}function Pa(e){return be(this,e).has(e)}function Ea(e,t){var r=be(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}function K(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}K.prototype.clear=Aa,K.prototype.delete=Oa,K.prototype.get=Sa,K.prototype.has=Pa,K.prototype.set=Ea;function Ra(e,t){for(var r=-1,n=t.length,a=e.length;++r<n;)e[a+r]=t[r];return e}var Ca=Nt(Object.getPrototypeOf,Object);function xa(){this.__data__=new k,this.size=0}function ka(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}function Na(e){return this.__data__.get(e)}function Ia(e){return this.__data__.has(e)}var $a=200;function Da(e,t){var r=this.__data__;if(r instanceof k){var n=r.__data__;if(!se||n.length<$a-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new K(n)}return r.set(e,t),this.size=r.size,this}function X(e){var t=this.__data__=new k(e);this.size=t.size}X.prototype.clear=xa,X.prototype.delete=ka,X.prototype.get=Na,X.prototype.has=Ia,X.prototype.set=Da;var It=typeof j=="object"&&j&&!j.nodeType&&j,$t=It&&typeof module=="object"&&module&&!module.nodeType&&module,Ma=$t&&$t.exports===It,Dt=Ma?R.Buffer:void 0;Dt&&Dt.allocUnsafe;function Fa(e,t){return e.slice()}function za(e,t){for(var r=-1,n=e==null?0:e.length,a=0,i=[];++r<n;){var s=e[r];t(s,r,e)&&(i[a++]=s)}return i}function La(){return[]}var Ua=Object.prototype,Va=Ua.propertyIsEnumerable,Mt=Object.getOwnPropertySymbols,Ga=Mt?function(e){return e==null?[]:(e=Object(e),za(Mt(e),function(t){return Va.call(e,t)}))}:La;function Ba(e,t,r){var n=t(e);return Fe(e)?n:Ra(n,r(e))}function Ya(e){return Ba(e,aa,Ga)}var Ge=U(R,"DataView"),Be=U(R,"Promise"),Ye=U(R,"Set"),Ft="[object Map]",Wa="[object Object]",zt="[object Promise]",Lt="[object Set]",Ut="[object WeakMap]",Vt="[object DataView]",Ha=L(Ge),Ja=L(se),Ka=L(Be),Xa=L(Ye),Za=L(Le),N=ne;(Ge&&N(new Ge(new ArrayBuffer(1)))!=Vt||se&&N(new se)!=Ft||Be&&N(Be.resolve())!=zt||Ye&&N(new Ye)!=Lt||Le&&N(new Le)!=Ut)&&(N=function(e){var t=ne(e),r=t==Wa?e.constructor:void 0,n=r?L(r):"";if(n)switch(n){case Ha:return Vt;case Ja:return Ft;case Ka:return zt;case Xa:return Lt;case Za:return Ut}return t});var Qa=Object.prototype,qa=Qa.hasOwnProperty;function eo(e){var t=e.length,r=new e.constructor(t);return t&&typeof e[0]=="string"&&qa.call(e,"index")&&(r.index=e.index,r.input=e.input),r}var Gt=R.Uint8Array;function We(e){var t=new e.constructor(e.byteLength);return new Gt(t).set(new Gt(e)),t}function to(e,t){var r=We(e.buffer);return new e.constructor(r,e.byteOffset,e.byteLength)}var ro=/\w*$/;function no(e){var t=new e.constructor(e.source,ro.exec(e));return t.lastIndex=e.lastIndex,t}var Bt=H?H.prototype:void 0,Yt=Bt?Bt.valueOf:void 0;function ao(e){return Yt?Object(Yt.call(e)):{}}function oo(e,t){var r=We(e.buffer);return new e.constructor(r,e.byteOffset,e.length)}var io="[object Boolean]",so="[object Date]",co="[object Map]",uo="[object Number]",lo="[object RegExp]",fo="[object Set]",po="[object String]",ho="[object Symbol]",_o="[object ArrayBuffer]",yo="[object DataView]",go="[object Float32Array]",bo="[object Float64Array]",mo="[object Int8Array]",vo="[object Int16Array]",To="[object Int32Array]",jo="[object Uint8Array]",Ao="[object Uint8ClampedArray]",wo="[object Uint16Array]",Oo="[object Uint32Array]";function So(e,t,r){var n=e.constructor;switch(t){case _o:return We(e);case io:case so:return new n(+e);case yo:return to(e);case go:case bo:case mo:case vo:case To:case jo:case Ao:case wo:case Oo:return oo(e);case co:return new n;case uo:case po:return new n(e);case lo:return no(e);case fo:return new n;case ho:return ao(e)}}function Po(e){return typeof e.constructor=="function"&&!wt(e)?nn(Ca(e)):{}}var Eo="[object Map]";function Ro(e){return ae(e)&&N(e)==Eo}var Wt=J&&J.isMap,Co=Wt?Ue(Wt):Ro,xo="[object Set]";function ko(e){return ae(e)&&N(e)==xo}var Ht=J&&J.isSet,No=Ht?Ue(Ht):ko,Jt="[object Arguments]",Io="[object Array]",$o="[object Boolean]",Do="[object Date]",Mo="[object Error]",Kt="[object Function]",Fo="[object GeneratorFunction]",zo="[object Map]",Lo="[object Number]",Xt="[object Object]",Uo="[object RegExp]",Vo="[object Set]",Go="[object String]",Bo="[object Symbol]",Yo="[object WeakMap]",Wo="[object ArrayBuffer]",Ho="[object DataView]",Jo="[object Float32Array]",Ko="[object Float64Array]",Xo="[object Int8Array]",Zo="[object Int16Array]",Qo="[object Int32Array]",qo="[object Uint8Array]",ei="[object Uint8ClampedArray]",ti="[object Uint16Array]",ri="[object Uint32Array]",g={};g[Jt]=g[Io]=g[Wo]=g[Ho]=g[$o]=g[Do]=g[Jo]=g[Ko]=g[Xo]=g[Zo]=g[Qo]=g[zo]=g[Lo]=g[Xt]=g[Uo]=g[Vo]=g[Go]=g[Bo]=g[qo]=g[ei]=g[ti]=g[ri]=!0,g[Mo]=g[Kt]=g[Yo]=!1;function me(e,t,r,n,a,i){var s;if(s!==void 0)return s;if(!ye(e))return e;var c=Fe(e);if(c)s=eo(e);else{var _=N(e),p=_==Kt||_==Fo;if(Ct(e))return Fa(e);if(_==Xt||_==Jt||p&&!a)s=p?{}:Po(e);else{if(!g[_])return a?e:{};s=So(e,_)}}i||(i=new X);var l=i.get(e);if(l)return l;i.set(e,s),No(e)?e.forEach(function(u){s.add(me(u,t,r,u,e,i))}):Co(e)&&e.forEach(function(u,h){s.set(h,me(u,t,r,h,e,i))});var v=Ya,d=c?void 0:v(e);return an(d||e,function(u,h){d&&(h=u,u=e[h]),dn(s,h,me(u,t,r,h,e,i))}),s}var ni=1,ai=4;function ce(e){return me(e,ni|ai)}var E=(e=>(e.GROUP="group",e.INDIVIDUAL="individual",e))(E||{}),C=(e=>(e.AND="and",e.OR="or",e))(C||{});const oi={[C.OR]:"或",[C.AND]:"且"},Zt=({value:e,disabled:t,onChange:r})=>{function n(){t||r(e===C.OR?C.AND:C.OR)}return y.jsx("div",{className:"link-line",children:y.jsx("div",{className:"link-label",onClick:n,children:oi[e]??"且"})})};function ii(e){return e==null||e===""?!0:Array.isArray(e)?e.length===0:e!==null&&typeof e=="object"?Object.keys(e).length===0:!1}function si(e){return!!e&&Object.keys(e).length>0&&Object.keys(e).every(t=>!ii(e[t]))}const Qt=({level:e,currentItemInfo:t,isLast:r,disabledConfig:n,onCreate:a,onCreateChildRules:i,onDel:s})=>{const c=b.useMemo(()=>t.level>=1&&r,[t.level,r]),_=b.useMemo(()=>e>1&&t.level<e,[e,t.level]),p=b.useMemo(()=>!!(e>1&&si(t.individual)&&!n.addItem),[e,t.individual,n.addItem]);return y.jsxs("div",{className:"conditional-handle",children:[p&&y.jsxs(y.Fragment,{children:[c&&y.jsxs("span",{className:"create-handle",onClick:a,children:[y.jsx("span",{style:{color:"#c85000",marginRight:4},children:"+"}),"同级"]}),_&&y.jsxs("span",{className:"create-handle",onClick:i,children:[y.jsx("span",{style:{color:"#c85000",marginRight:4},children:"+"}),"子级"]})]}),!n.delItem&&y.jsx("span",{className:"del-handle",onClick:s,children:"-"})]})};var qt=Symbol.for("immer-nothing"),er=Symbol.for("immer-draftable"),O=Symbol.for("immer-state"),ci=process.env.NODE_ENV!=="production"?[function(e){return`The plugin for '${e}' has not been loaded into Immer. To enable the plugin, import and call \`enable${e}()\` when initializing your application.`},function(e){return`produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${e}'`},"This object has been frozen and should not be mutated",function(e){return"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+e},"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.","Immer forbids circular references","The first or second argument to `produce` must be a function","The third argument to `produce` must be a function or undefined","First argument to `createDraft` must be a plain object, an array, or an immerable object","First argument to `finishDraft` must be a draft returned by `createDraft`",function(e){return`'current' expects a draft, got: ${e}`},"Object.defineProperty() cannot be used on an Immer draft","Object.setPrototypeOf() cannot be used on an Immer draft","Immer only supports deleting array indices","Immer only supports setting array indices and the 'length' property",function(e){return`'original' expects a draft, got: ${e}`}]:[];function S(e,...t){if(process.env.NODE_ENV!=="production"){const r=ci[e],n=G(r)?r.apply(null,t):r;throw new Error(`[Immer] ${n}`)}throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var P=Object,Z=P.getPrototypeOf,ve="constructor",Te="prototype",He="configurable",je="enumerable",Ae="writable",ue="value",M=e=>!!e&&!!e[O];function I(e){var t;return e?rr(e)||Se(e)||!!e[er]||!!((t=e[ve])!=null&&t[er])||Pe(e)||Ee(e):!1}var ui=P[Te][ve].toString(),tr=new WeakMap;function rr(e){if(!e||!Ke(e))return!1;const t=Z(e);if(t===null||t===P[Te])return!0;const r=P.hasOwnProperty.call(t,ve)&&t[ve];if(r===Object)return!0;if(!G(r))return!1;let n=tr.get(r);return n===void 0&&(n=Function.toString.call(r),tr.set(r,n)),n===ui}function we(e,t,r=!0){le(e)===0?(r?Reflect.ownKeys(e):P.keys(e)).forEach(a=>{t(a,e[a],e)}):e.forEach((n,a)=>t(a,n,e))}function le(e){const t=e[O];return t?t.type_:Se(e)?1:Pe(e)?2:Ee(e)?3:0}var nr=(e,t,r=le(e))=>r===2?e.has(t):P[Te].hasOwnProperty.call(e,t),Je=(e,t,r=le(e))=>r===2?e.get(t):e[t],Oe=(e,t,r,n=le(e))=>{n===2?e.set(t,r):n===3?e.add(r):e[t]=r};function li(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var Se=Array.isArray,Pe=e=>e instanceof Map,Ee=e=>e instanceof Set,Ke=e=>typeof e=="object",G=e=>typeof e=="function",Xe=e=>typeof e=="boolean";function fi(e){const t=+e;return Number.isInteger(t)&&String(t)===e}var $=e=>e.copy_||e.base_,Ze=e=>e.modified_?e.copy_:e.base_;function Qe(e,t){if(Pe(e))return new Map(e);if(Ee(e))return new Set(e);if(Se(e))return Array[Te].slice.call(e);const r=rr(e);if(t===!0||t==="class_only"&&!r){const n=P.getOwnPropertyDescriptors(e);delete n[O];let a=Reflect.ownKeys(n);for(let i=0;i<a.length;i++){const s=a[i],c=n[s];c[Ae]===!1&&(c[Ae]=!0,c[He]=!0),(c.get||c.set)&&(n[s]={[He]:!0,[Ae]:!0,[je]:c[je],[ue]:e[s]})}return P.create(Z(e),n)}else{const n=Z(e);if(n!==null&&r)return{...e};const a=P.create(n);return P.assign(a,e)}}function fe(e,t=!1){return Ce(e)||M(e)||!I(e)||(le(e)>1&&P.defineProperties(e,{set:Re,add:Re,clear:Re,delete:Re}),P.freeze(e),t&&we(e,(r,n)=>{fe(n,!0)},!1)),e}function di(){S(2)}var Re={[ue]:di};function Ce(e){return e===null||!Ke(e)?!0:P.isFrozen(e)}var xe="MapSet",qe="Patches",ar="ArrayMethods",or={};function B(e){const t=or[e];return t||S(0,e),t}var ir=e=>!!or[e],de,sr=()=>de,pi=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:ir(xe)?B(xe):void 0,arrayMethodsPlugin_:ir(ar)?B(ar):void 0});function cr(e,t){t&&(e.patchPlugin_=B(qe),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function et(e){tt(e),e.drafts_.forEach(hi),e.drafts_=null}function tt(e){e===de&&(de=e.parent_)}var ur=e=>de=pi(de,e);function hi(e){const t=e[O];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function lr(e,t){t.unfinalizedDrafts_=t.drafts_.length;const r=t.drafts_[0];if(e!==void 0&&e!==r){r[O].modified_&&(et(t),S(4)),I(e)&&(e=fr(t,e));const{patchPlugin_:a}=t;a&&a.generateReplacementPatches_(r[O].base_,e,t)}else e=fr(t,r);return _i(t,e,!0),et(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==qt?e:void 0}function fr(e,t){if(Ce(t))return t;const r=t[O];if(!r)return Ne(t,e.handledSet_,e);if(!ke(r,e))return t;if(!r.modified_)return r.base_;if(!r.finalized_){const{callbacks_:n}=r;if(n)for(;n.length>0;)n.pop()(e);hr(r,e)}return r.copy_}function _i(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&fe(t,r)}function dr(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var ke=(e,t)=>e.scope_===t,yi=[];function pr(e,t,r,n){const a=$(e),i=e.type_;if(n!==void 0&&Je(a,n,i)===t){Oe(a,n,r,i);return}if(!e.draftLocations_){const c=e.draftLocations_=new Map;we(a,(_,p)=>{if(M(p)){const l=c.get(p)||[];l.push(_),c.set(p,l)}})}const s=e.draftLocations_.get(t)??yi;for(const c of s)Oe(a,c,r,i)}function gi(e,t,r){e.callbacks_.push(function(a){var c;const i=t;if(!i||!ke(i,a))return;(c=a.mapSetPlugin_)==null||c.fixSetContents(i);const s=Ze(i);pr(e,i.draft_??i,s,r),hr(i,a)})}function hr(e,t){var n;if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(((n=e.assigned_)==null?void 0:n.size)??0)>0)){const{patchPlugin_:a}=t;if(a){const i=a.getPath(e);i&&a.generatePatches_(e,i,t)}dr(e)}}function bi(e,t,r){const{scope_:n}=e;if(M(r)){const a=r[O];ke(a,n)&&a.callbacks_.push(function(){$e(e);const s=Ze(a);pr(e,r,s,t)})}else I(r)&&e.callbacks_.push(function(){const i=$(e);e.type_===3?i.has(r)&&Ne(r,n.handledSet_,n):Je(i,t,e.type_)===r&&n.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Ne(Je(e.copy_,t,e.type_),n.handledSet_,n)})}function Ne(e,t,r){return!r.immer_.autoFreeze_&&r.unfinalizedDrafts_<1||M(e)||t.has(e)||!I(e)||Ce(e)||(t.add(e),we(e,(n,a)=>{if(M(a)){const i=a[O];if(ke(i,r)){const s=Ze(i);Oe(e,n,s,e.type_),dr(i)}}else I(a)&&Ne(a,t,r)})),e}function mi(e,t){const r=Se(e),n={type_:r?1:0,scope_:t?t.scope_:sr(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let a=n,i=Ie;r&&(a=[n],i=pe);const{revoke:s,proxy:c}=Proxy.revocable(a,i);return n.draft_=c,n.revoke_=s,[c,n]}var Ie={get(e,t){if(t===O)return e;let r=e.scope_.arrayMethodsPlugin_;const n=e.type_===1&&typeof t=="string";if(n&&r!=null&&r.isArrayOperationMethod(t))return r.createMethodInterceptor(e,t);const a=$(e);if(!nr(a,t,e.type_))return vi(e,a,t);const i=a[t];if(e.finalized_||!I(i)||n&&e.operationMethod&&(r!=null&&r.isMutatingArrayMethod(e.operationMethod))&&fi(t))return i;if(i===rt(e.base_,t)){$e(e);const s=e.type_===1?+t:t,c=at(e.scope_,i,e,s);return e.copy_[s]=c}return i},has(e,t){return t in $(e)},ownKeys(e){return Reflect.ownKeys($(e))},set(e,t,r){const n=_r($(e),t);if(n!=null&&n.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){const a=rt($(e),t),i=a==null?void 0:a[O];if(i&&i.base_===r)return e.copy_[t]=r,e.assigned_.set(t,!1),!0;if(li(r,a)&&(r!==void 0||nr(e.base_,t,e.type_)))return!0;$e(e),nt(e)}return e.copy_[t]===r&&(r!==void 0||t in e.copy_)||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_.set(t,!0),bi(e,t,r)),!0},deleteProperty(e,t){return $e(e),rt(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),nt(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const r=$(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{[Ae]:!0,[He]:e.type_!==1||t!=="length",[je]:n[je],[ue]:r[t]}},defineProperty(){S(11)},getPrototypeOf(e){return Z(e.base_)},setPrototypeOf(){S(12)}},pe={};for(let e in Ie){let t=Ie[e];pe[e]=function(){const r=arguments;return r[0]=r[0][0],t.apply(this,r)}}pe.deleteProperty=function(e,t){return process.env.NODE_ENV!=="production"&&isNaN(parseInt(t))&&S(13),pe.set.call(this,e,t,void 0)},pe.set=function(e,t,r){return process.env.NODE_ENV!=="production"&&t!=="length"&&isNaN(parseInt(t))&&S(14),Ie.set.call(this,e[0],t,r,e[0])};function rt(e,t){const r=e[O];return(r?$(r):e)[t]}function vi(e,t,r){var a;const n=_r(t,r);return n?ue in n?n[ue]:(a=n.get)==null?void 0:a.call(e.draft_):void 0}function _r(e,t){if(!(t in e))return;let r=Z(e);for(;r;){const n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Z(r)}}function nt(e){e.modified_||(e.modified_=!0,e.parent_&&nt(e.parent_))}function $e(e){e.copy_||(e.assigned_=new Map,e.copy_=Qe(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var Ti=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(t,r,n)=>{if(G(t)&&!G(r)){const i=r;r=t;const s=this;return function(_=i,...p){return s.produce(_,l=>r.call(this,l,...p))}}G(r)||S(6),n!==void 0&&!G(n)&&S(7);let a;if(I(t)){const i=ur(this),s=at(i,t,void 0);let c=!0;try{a=r(s),c=!1}finally{c?et(i):tt(i)}return cr(i,n),lr(a,i)}else if(!t||!Ke(t)){if(a=r(t),a===void 0&&(a=t),a===qt&&(a=void 0),this.autoFreeze_&&fe(a,!0),n){const i=[],s=[];B(qe).generateReplacementPatches_(t,a,{patches_:i,inversePatches_:s}),n(i,s)}return a}else S(1,t)},this.produceWithPatches=(t,r)=>{if(G(t))return(s,...c)=>this.produceWithPatches(s,_=>t(_,...c));let n,a;return[this.produce(t,r,(s,c)=>{n=s,a=c}),n,a]},Xe(e==null?void 0:e.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Xe(e==null?void 0:e.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Xe(e==null?void 0:e.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){I(e)||S(8),M(e)&&(e=ji(e));const t=ur(this),r=at(t,e,void 0);return r[O].isManual_=!0,tt(t),r}finishDraft(e,t){const r=e&&e[O];(!r||!r.isManual_)&&S(9);const{scope_:n}=r;return cr(n,t),lr(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){const a=t[r];if(a.path.length===0&&a.op==="replace"){e=a.value;break}}r>-1&&(t=t.slice(r+1));const n=B(qe).applyPatches_;return M(e)?n(e,t):this.produce(e,a=>n(a,t))}};function at(e,t,r,n){const[a,i]=Pe(t)?B(xe).proxyMap_(t,r):Ee(t)?B(xe).proxySet_(t,r):mi(t,r);return((r==null?void 0:r.scope_)??sr()).drafts_.push(a),i.callbacks_=(r==null?void 0:r.callbacks_)??[],i.key_=n,r&&n!==void 0?gi(r,i,n):i.callbacks_.push(function(_){var l;(l=_.mapSetPlugin_)==null||l.fixSetContents(i);const{patchPlugin_:p}=_;i.modified_&&p&&p.generatePatches_(i,[],_)}),a}function ji(e){return M(e)||S(10,e),yr(e)}function yr(e){if(!I(e)||Ce(e))return e;const t=e[O];let r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=Qe(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=Qe(e,!0);return we(r,(a,i)=>{Oe(r,a,yr(i))},n),t&&(t.finalized_=!1),r}var Ai=new Ti,wi=Ai.produce;function Oi(e){var t=b.useState(function(){return fe(typeof e=="function"?e():e,!0)}),r=t[1];return[t[0],b.useCallback(function(n){r(typeof n=="function"?wi(n):fe(n))},[])]}function gr(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Si(e){return e==null||e===""?!0:Array.isArray(e)?e.length===0:gr(e)?Object.keys(e).length===0:!1}function Q(e=0){return ce({_id:crypto.randomUUID(),framework:E.INDIVIDUAL,individual:{},level:e})}function F(e){return e.framework===E.GROUP}function Pi(e){return!!e&&Object.keys(e).length>0&&Object.keys(e).every(t=>!Si(e[t]))}function br(e){return F(e)&&Array.isArray(e.group)?e.group.some(t=>br(t)):!Pi(e.individual)}function mr(e){F(e)&&Array.isArray(e.group)&&e.group.length>1&&e.group.forEach(t=>mr(t)),e.level=e.level-1<0?0:e.level-1}function Y(e,t){if(e._id===t)return e;if(Array.isArray(e.group))for(const r of e.group){const n=Y(r,t);if(n)return n}return null}function Ei(e){const[t,r]=Oi(()=>Q()),n=b.useCallback(l=>{r(()=>l)},[r]),a=b.useMemo(()=>{const l=Math.abs(Number(e.maxLevel??1))||1;return Number(e.maxLevel??1)<1&&console.warn("[TConditionalSelection] Invalid props.maxLevel: maxLevel must be greater than 0."),l},[e.maxLevel]),i=b.useMemo(()=>{var v,d,u;const l=gr(e.disabled);return{addItem:!!(l?(v=e.disabled)!=null&&v.addItem:e.disabled),delItem:!!(l?(d=e.disabled)!=null&&d.delItem:e.disabled),linkChange:!!(l?(u=e.disabled)!=null&&u.linkChange:e.disabled)}},[e.disabled]),s=b.useCallback(l=>{if(!F(l))return;const v=Math.abs(Number(e.zeroLevelMaxLength));if(v&&(Number(e.zeroLevelMaxLength)<2&&console.warn("[TConditionalSelection] Invalid props.zeroLevelMaxLength: zeroLevelMaxLength must be greater than 1."),l.level===0&&l.group.length===v)){console.warn(`最外层子项最多添加${v}个条件`);return}r(d=>{const u=Y(d,l._id);u&&Array.isArray(u.group)&&u.group.push(Q(u.level+1))})},[e.zeroLevelMaxLength,r]),c=b.useCallback(l=>{r(v=>{const d=Y(v,l._id);if(d)if(d.framework===E.INDIVIDUAL){const u={_id:crypto.randomUUID(),framework:E.INDIVIDUAL,individual:ce(d.individual??{}),level:d.level+1},h=Q(d.level+1);d.framework=E.GROUP,d.link=C.AND,d._id=crypto.randomUUID(),d.group=[u,h],delete d.individual}else Array.isArray(d.group)&&d.group.push(Q(d.level+1))})},[r]),_=b.useCallback((l,v)=>{r(d=>{const u=Y(d,l._id);if(!(!u||!Array.isArray(u.group))&&(u.group.splice(v,1),u.framework===E.GROUP&&u.group.length===1)){const h=u.group[0];h.framework===E.GROUP&&Array.isArray(h.group)&&h.group.length>1?(u.framework=E.GROUP,u.link=h.link,u._id=h._id,u.group=h.group,delete u.individual):(u.framework=E.INDIVIDUAL,u._id=h._id,u.individual=ce(h.individual??{}),delete u.link,delete u.group),mr(h)}})},[r]),p=b.useCallback((l=!0)=>new Promise((v,d)=>{if(l&&br(t)){console.error("请填写完整"),d("含有未填写完整的项");return}v(ce(t))}),[t]);return{rulesData:t,setRulesData:n,level:a,disabledConfig:i,createRules:s,createChildRules:c,delRules:_,getConditionalSelectionData:p,isGroup:F,getTempRules:Q,updateRulesData:r}}function vr(e,t){const r=t.length-1,n=t[r];let a=e===r;return!a&&n&&F(n)&&(a=e===t.length-2),a}const Tr=({levelData:e,level:t,disabledConfig:r,onUpdateNode:n,onCreateRules:a,onCreateChildRules:i,onDelRules:s,renderConditionItem:c})=>{const _=e.group;function p(l){n(e._id,{link:l})}return y.jsxs("div",{className:"relative-box",children:[y.jsx(Zt,{value:e.link??C.AND,disabled:r.linkChange,onChange:p}),y.jsx("div",{className:"conditional-list-box right-box",children:_.map((l,v)=>{if(F(l)){const d=l.group;return y.jsx("div",{className:"conditional-list",children:y.jsxs("div",{className:"relative-box",children:[y.jsx(Zt,{value:l.link??C.AND,disabled:r.linkChange,onChange:u=>n(l._id,{link:u})}),d.map((u,h)=>F(u)&&u.group.length>0?y.jsx("div",{className:"conditional-item right-box",children:y.jsx(Tr,{levelData:u,level:t,disabledConfig:r,onUpdateNode:n,onCreateRules:a,onCreateChildRules:i,onDelRules:s,renderConditionItem:c})},u._id):y.jsxs("div",{className:"conditional-item right-box",children:[c==null?void 0:c(u),y.jsx(Qt,{level:t,disabledConfig:r,currentItemInfo:u,isLast:vr(h,d),onCreate:()=>a(l),onCreateChildRules:()=>i(u),onDel:()=>s(l,h)})]},u._id))]})},l._id)}return y.jsx("div",{className:"conditional-list",children:y.jsxs("div",{className:"conditional-item",children:[c==null?void 0:c(l),y.jsx(Qt,{level:t,disabledConfig:r,currentItemInfo:l,isLast:vr(v,_),onCreate:()=>a(e),onCreateChildRules:()=>i(l),onDel:()=>s(e,v)})]})},l._id)})})]})},jr=b.forwardRef((e,t)=>{const{conditionalRules:r,onChange:n,renderConditionRules:a,renderCreateCondition:i}=e,{rulesData:s,setRulesData:c,level:_,disabledConfig:p,createRules:l,createChildRules:v,delRules:d,getConditionalSelectionData:u,updateRulesData:h}=Ei(e);b.useImperativeHandle(t,()=>({getConditionalSelectionData:u}),[u]);const De=b.useRef(!0);b.useEffect(()=>{if(De.current){De.current=!1;return}n==null||n(s)},[s]),b.useEffect(()=>{r&&Object.keys(r).length!==0?c(ce(r)):c(Q())},[]);const he=b.useCallback((x,D)=>{h(z=>{const W=Y(z,x);W&&Object.assign(W,D)})},[h]),ot=b.useCallback(x=>a==null?void 0:a(x,D=>{h(z=>{const W=Y(z,x._id);W&&(W.individual=D)})}),[a,h]),it=b.useCallback((x,D)=>a==null?void 0:a(x,D),[a]);return y.jsxs("div",{className:"conditional-selection",children:[!p.addItem&&(i?i({createRules:v,rulesData:s}):y.jsxs("span",{className:"create-box",onClick:()=>v(s),children:[y.jsx("span",{style:{color:"#00c8be",marginRight:4},children:"➕"}),"添加条件"]})),y.jsx("div",{className:"conditional-content",children:F(s)&&s.group.length>0?y.jsx(Tr,{levelData:s,level:_,disabledConfig:p,onUpdateNode:he,onCreateRules:l,onCreateChildRules:v,onDelRules:d,renderConditionItem:ot}):it(s,x=>{h(D=>{const z=Y(D,s._id);z&&(z.individual=x)})})})]})});jr.displayName="ConditionalSelection",j.ConditionalSelection=jr,j.EConditionalSelectionFramework=E,j.EConditionalSelectionLink=C,Object.defineProperty(j,Symbol.toStringTag,{value:"Module"})}));
|
package/docs/README.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# ConditionalSelection 组件库文档
|
|
2
|
+
|
|
3
|
+
## 目录
|
|
4
|
+
- [快速开始](./quick-start.md)
|
|
5
|
+
- [API 说明](./api.md)
|
|
6
|
+
- [常见问题](./faq.md)
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
本目录下为组件库的开发与使用文档,适合团队成员、二次开发者、业务集成者查阅。
|
|
11
|
+
|
|
12
|
+
- 如需查看详细用法和参数,请参考 [API 说明](./api.md)
|
|
13
|
+
- 如需快速集成体验,请参考 [快速开始](./quick-start.md)
|
|
14
|
+
- 如遇常见问题,可查阅 [常见问题](./faq.md)
|
|
15
|
+
|
|
16
|
+
如有更多问题或建议,欢迎补充!
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
**联系人:no_any@qq.com**
|
package/docs/api.md
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# API 说明
|
|
2
|
+
|
|
3
|
+
## ConditionalSelection 组件参数
|
|
4
|
+
|
|
5
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
6
|
+
| ---- | ---- | ---- | ------ |
|
|
7
|
+
| conditionalRules | 条件树数据 | TConditionalSelection \| null | null |
|
|
8
|
+
| maxLevel | 最大递归层级 | number | 1 |
|
|
9
|
+
| zeroLevelMaxLength | 最外层子项最大数量 | number | 不限 |
|
|
10
|
+
| disabled | 是否禁用全部/部分操作 | boolean \| object | false |
|
|
11
|
+
| onChange | 数据变更回调 | (value) => void | - |
|
|
12
|
+
| renderConditionRules | 条件行插槽 | (item, change) => ReactNode | - |
|
|
13
|
+
| renderCreateCondition | 新增按钮插槽 | (params) => ReactNode | - |
|
|
14
|
+
|
|
15
|
+
## TConditionalSelection 结构
|
|
16
|
+
|
|
17
|
+
```ts
|
|
18
|
+
{
|
|
19
|
+
_id: string;
|
|
20
|
+
framework: 'group' | 'individual';
|
|
21
|
+
link?: 'and' | 'or';
|
|
22
|
+
group?: TConditionalSelection[];
|
|
23
|
+
individual?: Record<string, any>;
|
|
24
|
+
level: number;
|
|
25
|
+
}
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## 事件说明
|
|
29
|
+
- `onChange`:每次条件树变更时触发,返回最新数据。
|
|
30
|
+
- `getRulesData`:通过 ref 获取当前条件树数据,支持校验。
|
|
31
|
+
|
|
32
|
+
## 插槽说明
|
|
33
|
+
- `renderConditionRules(item, change)`:自定义条件行内容,change 用于回传变更。
|
|
34
|
+
- `renderCreateCondition({ createRules, rulesData })`:自定义新增按钮。
|
|
35
|
+
|
|
36
|
+
## 其他
|
|
37
|
+
- 支持 less 样式、monorepo 结构。
|
package/docs/faq.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# 常见问题 FAQ
|
|
2
|
+
|
|
3
|
+
### 1. 如何自定义条件行内容?
|
|
4
|
+
使用 `renderConditionRules` 插槽,传入自定义组件并用 change handler 回传数据。
|
|
5
|
+
|
|
6
|
+
### 2. 如何限制条件树层级和数量?
|
|
7
|
+
通过 `maxLevel` 和 `zeroLevelMaxLength` 参数控制。
|
|
8
|
+
|
|
9
|
+
### 3. 如何获取当前条件树数据?
|
|
10
|
+
通过 ref 调用 `getRulesData()` 方法。
|
|
11
|
+
|
|
12
|
+
### 4. 为什么要用 useImmer?
|
|
13
|
+
保证数据不可变、递归更新高效,避免直接修改原始对象。
|
|
14
|
+
|
|
15
|
+
### 5. 如何避免递归组件无谓重渲染?
|
|
16
|
+
递归 handler 用 useCallback 包裹,父组件插槽也建议 useCallback。
|
|
17
|
+
|
|
18
|
+
### 6. 支持哪些样式扩展?
|
|
19
|
+
支持 less,样式可自定义覆盖。
|
|
20
|
+
|
|
21
|
+
如有更多问题,欢迎补充!
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# 快速开始
|
|
2
|
+
|
|
3
|
+
## 安装依赖
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npm install
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
## 启动示例项目
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm run dev
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## 基本用法
|
|
16
|
+
|
|
17
|
+
```tsx
|
|
18
|
+
import { ConditionalSelection } from '../packages/ConditionalSelection';
|
|
19
|
+
|
|
20
|
+
<ConditionalSelection
|
|
21
|
+
conditionalRules={rules}
|
|
22
|
+
maxLevel={3}
|
|
23
|
+
zeroLevelMaxLength={3}
|
|
24
|
+
disabled={false}
|
|
25
|
+
onChange={setRules}
|
|
26
|
+
renderConditionRules={(item, change) => (
|
|
27
|
+
<FlexSelect item={item} onChange={val => change(val)} />
|
|
28
|
+
)}
|
|
29
|
+
/>
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
更多用法详见主目录 README.md。
|
package/example/App.tsx
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import React, { useMemo, useRef, useState } from 'react';
|
|
2
|
+
import { ConditionalSelection } from '../packages/ConditionalSelection';
|
|
3
|
+
import type { TConditionalSelection } from '../packages/ConditionalSelection/types';
|
|
4
|
+
import '../packages/ConditionalSelection/index.less';
|
|
5
|
+
|
|
6
|
+
const fieldOptions = [
|
|
7
|
+
{ label: '测试字段1', value: 1 },
|
|
8
|
+
{ label: '测试字段2', value: 2 },
|
|
9
|
+
];
|
|
10
|
+
const functionOptions = [
|
|
11
|
+
{ label: '等于', value: 1 },
|
|
12
|
+
{ label: '不等于', value: 2 },
|
|
13
|
+
];
|
|
14
|
+
const valueOptions = [
|
|
15
|
+
{ label: '测试值1', value: 1 },
|
|
16
|
+
{ label: '测试值2', value: 2 },
|
|
17
|
+
];
|
|
18
|
+
|
|
19
|
+
const FlexSelect: React.FC<{ item: TConditionalSelection; onChange: (val: Record<string, any>) => void }> = ({ item, onChange }) => {
|
|
20
|
+
// field / function / value 存放在节点的 individual 里
|
|
21
|
+
const data = useMemo(() => item.individual ?? {}, [item.individual]);
|
|
22
|
+
|
|
23
|
+
const handleFieldChange = (e: React.ChangeEvent<HTMLSelectElement>) => {
|
|
24
|
+
const val = e.target.value ? Number(e.target.value) : undefined;
|
|
25
|
+
onChange({ field: val, function: '', value: undefined });
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const handleFunctionChange = (e: React.ChangeEvent<HTMLSelectElement>) => {
|
|
29
|
+
const val = e.target.value ? Number(e.target.value) : undefined;
|
|
30
|
+
onChange({ ...data, function: val, value: undefined });
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const handleValueChange = (e: React.ChangeEvent<HTMLSelectElement>) => {
|
|
34
|
+
const val = e.target.value ? Number(e.target.value) : undefined;
|
|
35
|
+
onChange({ ...data, value: val });
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
return (
|
|
39
|
+
<div style={{ display: 'flex', width: '100%' }}>
|
|
40
|
+
<select style={{ width: '33%', marginRight: 16 }} value={data.field ?? ''} onChange={handleFieldChange}>
|
|
41
|
+
<option value="">请选择字段</option>
|
|
42
|
+
{fieldOptions.map(opt => (
|
|
43
|
+
<option key={opt.value} value={opt.value}>{opt.label}</option>
|
|
44
|
+
))}
|
|
45
|
+
</select>
|
|
46
|
+
{data.field && (
|
|
47
|
+
<select style={{ width: '33%', marginRight: 16 }} value={data.function ?? ''} onChange={handleFunctionChange}>
|
|
48
|
+
<option value="">请选择函数</option>
|
|
49
|
+
{functionOptions.map(opt => (
|
|
50
|
+
<option key={opt.value} value={opt.value}>{opt.label}</option>
|
|
51
|
+
))}
|
|
52
|
+
</select>
|
|
53
|
+
)}
|
|
54
|
+
{data.function && (
|
|
55
|
+
<select style={{ width: '33%', marginRight: 16 }} value={data.value ?? ''} onChange={handleValueChange}>
|
|
56
|
+
<option value="">请选择值</option>
|
|
57
|
+
{valueOptions.map(opt => (
|
|
58
|
+
<option key={opt.value} value={opt.value}>{opt.label}</option>
|
|
59
|
+
))}
|
|
60
|
+
</select>
|
|
61
|
+
)}
|
|
62
|
+
</div>
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export default function App() {
|
|
67
|
+
const refConditionalSelection = useRef<any>(null);
|
|
68
|
+
const [rules, setRules] = useState<TConditionalSelection | undefined>();
|
|
69
|
+
const [maxLevel, setMaxLevel] = useState(3);
|
|
70
|
+
const [zeroLevelMaxLength, setZeroLevelMaxLength] = useState(3);
|
|
71
|
+
const [disabled, setDisabled] = useState(false);
|
|
72
|
+
const [disabledConfig, setDisabledConfig] = useState({
|
|
73
|
+
addItem: false,
|
|
74
|
+
delItem: false,
|
|
75
|
+
linkChange: false,
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
const getResult = async () => {
|
|
79
|
+
const data = await refConditionalSelection.current.getConditionalSelectionData()
|
|
80
|
+
console.log('当前数据:', data);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
return (
|
|
84
|
+
<div style={{ padding: 24 }}>
|
|
85
|
+
<div style={{ display: 'flex', gap: 16, flexWrap: 'wrap', marginBottom: 24 }}>
|
|
86
|
+
<div className="level-setting">
|
|
87
|
+
设置层级:
|
|
88
|
+
<input
|
|
89
|
+
type="number"
|
|
90
|
+
min={1}
|
|
91
|
+
value={maxLevel}
|
|
92
|
+
onChange={e => setMaxLevel(Number(e.target.value) || 1)}
|
|
93
|
+
style={{ width: 80, marginLeft: 8 }}
|
|
94
|
+
/>
|
|
95
|
+
</div>
|
|
96
|
+
<div className="level-setting">
|
|
97
|
+
设置最外层子项数量:
|
|
98
|
+
<input
|
|
99
|
+
type="number"
|
|
100
|
+
min={2}
|
|
101
|
+
value={zeroLevelMaxLength}
|
|
102
|
+
onChange={e => setZeroLevelMaxLength(Number(e.target.value) || 2)}
|
|
103
|
+
style={{ width: 80, marginLeft: 8 }}
|
|
104
|
+
/>
|
|
105
|
+
</div>
|
|
106
|
+
<div className="level-setting">
|
|
107
|
+
全部禁用:
|
|
108
|
+
<input
|
|
109
|
+
type="checkbox"
|
|
110
|
+
checked={disabled}
|
|
111
|
+
onChange={e => setDisabled(e.target.checked)}
|
|
112
|
+
style={{ marginLeft: 8 }}
|
|
113
|
+
/>
|
|
114
|
+
</div>
|
|
115
|
+
<div className="level-setting">
|
|
116
|
+
禁用添加:
|
|
117
|
+
<input
|
|
118
|
+
type="checkbox"
|
|
119
|
+
checked={disabledConfig.addItem}
|
|
120
|
+
onChange={e => setDisabledConfig(cfg => ({ ...cfg, addItem: e.target.checked }))}
|
|
121
|
+
style={{ marginLeft: 8 }}
|
|
122
|
+
/>
|
|
123
|
+
</div>
|
|
124
|
+
<div className="level-setting">
|
|
125
|
+
禁用删除:
|
|
126
|
+
<input
|
|
127
|
+
type="checkbox"
|
|
128
|
+
checked={disabledConfig.delItem}
|
|
129
|
+
onChange={e => setDisabledConfig(cfg => ({ ...cfg, delItem: e.target.checked }))}
|
|
130
|
+
style={{ marginLeft: 8 }}
|
|
131
|
+
/>
|
|
132
|
+
</div>
|
|
133
|
+
<div className="level-setting">
|
|
134
|
+
禁用变化关系:
|
|
135
|
+
<input
|
|
136
|
+
type="checkbox"
|
|
137
|
+
checked={disabledConfig.linkChange}
|
|
138
|
+
onChange={e => setDisabledConfig(cfg => ({ ...cfg, linkChange: e.target.checked }))}
|
|
139
|
+
style={{ marginLeft: 8 }}
|
|
140
|
+
/>
|
|
141
|
+
</div>
|
|
142
|
+
<button className="btn" style={{ marginLeft: 8 }} onClick={() => setRules(undefined)}>清空数据</button>
|
|
143
|
+
<button className="btn" style={{ marginLeft: 8 }} onClick={getResult}>获取数据</button>
|
|
144
|
+
</div>
|
|
145
|
+
<ConditionalSelection
|
|
146
|
+
ref={refConditionalSelection}
|
|
147
|
+
conditionalRules={rules}
|
|
148
|
+
maxLevel={maxLevel}
|
|
149
|
+
zeroLevelMaxLength={zeroLevelMaxLength}
|
|
150
|
+
disabled={disabled || disabledConfig}
|
|
151
|
+
onChange={setRules}
|
|
152
|
+
renderConditionRules={(item, change) => (
|
|
153
|
+
<FlexSelect
|
|
154
|
+
item={item}
|
|
155
|
+
onChange={val => change(val)}
|
|
156
|
+
/>
|
|
157
|
+
)}
|
|
158
|
+
/>
|
|
159
|
+
<pre style={{ marginTop: 24, fontSize: 12 }}>{JSON.stringify(rules, null, 2)}</pre>
|
|
160
|
+
</div>
|
|
161
|
+
);
|
|
162
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Document</title>
|
|
7
|
+
</head>
|
|
8
|
+
<body>
|
|
9
|
+
<div id="root"></div>
|
|
10
|
+
<script type="module" src="./main.tsx"></script>
|
|
11
|
+
</body>
|
|
12
|
+
</html>
|
package/example/main.tsx
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"devDependencies": {
|
|
3
|
+
"@microsoft/api-extractor": "^7.57.5",
|
|
4
|
+
"@types/lodash-es": "^4.17.12",
|
|
5
|
+
"@types/node": "^25.3.0",
|
|
6
|
+
"@types/react": "^19.2.14",
|
|
7
|
+
"@types/react-dom": "^19.2.3",
|
|
8
|
+
"@vitejs/plugin-react-swc": "^3.11.0",
|
|
9
|
+
"less": "^4.5.1",
|
|
10
|
+
"typescript": "^5.9.3",
|
|
11
|
+
"vite": "^6.4.1",
|
|
12
|
+
"vite-plugin-dts": "^4.5.4"
|
|
13
|
+
},
|
|
14
|
+
"name": "conditional-selection",
|
|
15
|
+
"version": "1.0.0",
|
|
16
|
+
"description": "",
|
|
17
|
+
"main": "dist/ui.cjs.js",
|
|
18
|
+
"module": "dist/ui.es.js",
|
|
19
|
+
"types": "dist/types/ui.es.d.ts",
|
|
20
|
+
"directories": {
|
|
21
|
+
"doc": "docs",
|
|
22
|
+
"example": "example"
|
|
23
|
+
},
|
|
24
|
+
"dependencies": {
|
|
25
|
+
"esbuild": "^0.25.12",
|
|
26
|
+
"lodash-es": "^4.17.23",
|
|
27
|
+
"nanoid": "^3.3.11",
|
|
28
|
+
"picocolors": "^1.1.1",
|
|
29
|
+
"picomatch": "^4.0.3",
|
|
30
|
+
"postcss": "^8.5.6",
|
|
31
|
+
"react": "^19.2.4",
|
|
32
|
+
"react-dom": "^19.2.4",
|
|
33
|
+
"rollup": "^4.59.0",
|
|
34
|
+
"source-map-js": "^1.2.1",
|
|
35
|
+
"tinyglobby": "^0.2.15",
|
|
36
|
+
"use-immer": "^0.11.0"
|
|
37
|
+
},
|
|
38
|
+
"scripts": {
|
|
39
|
+
"dev": "vite",
|
|
40
|
+
"build": "vite build"
|
|
41
|
+
},
|
|
42
|
+
"keywords": [],
|
|
43
|
+
"author": "undefined",
|
|
44
|
+
"license": "MIT",
|
|
45
|
+
"type": "module"
|
|
46
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { EConditionalSelectionLink } from '../types';
|
|
3
|
+
|
|
4
|
+
interface IConditionalChooseProps {
|
|
5
|
+
value: EConditionalSelectionLink;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
onChange: (value: EConditionalSelectionLink) => void;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const logicMaps: Record<EConditionalSelectionLink, string> = {
|
|
11
|
+
[EConditionalSelectionLink.OR]: '或',
|
|
12
|
+
[EConditionalSelectionLink.AND]: '且',
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* 条件切换组件(且/或)
|
|
17
|
+
*/
|
|
18
|
+
const ConditionalChoose: React.FC<IConditionalChooseProps> = ({ value, disabled, onChange }) => {
|
|
19
|
+
function toggleLogic() {
|
|
20
|
+
if (disabled) return;
|
|
21
|
+
onChange(value === EConditionalSelectionLink.OR ? EConditionalSelectionLink.AND : EConditionalSelectionLink.OR);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return (
|
|
25
|
+
<div className="link-line">
|
|
26
|
+
<div className="link-label" onClick={toggleLogic}>
|
|
27
|
+
{logicMaps[value] ?? '且'}
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export default ConditionalChoose;
|