@flatbiz/antd 2.3.12 → 2.3.15
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/esm/index.css +3 -0
- package/esm/index.js +2 -2
- package/esm/index.js.map +1 -1
- package/index.d.ts +148 -3
- package/package.json +2 -2
package/esm/index.css
CHANGED
package/esm/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
require('./index.css')
|
|
3
3
|
/*! @flatjs/forge MIT https://github.com/flatjs */
|
|
4
|
-
import{noop as e,getGlobalData as r,flatbizDate as n,isUndefinedOrNull as t}from"@flatbiz/utils";import{isUndefined as
|
|
4
|
+
import{noop as e,getGlobalData as r,flatbizDate as n,isUndefinedOrNull as t,treeToTiledArray as a,treeLeafParentsArray as i}from"@flatbiz/utils";import{isUndefined as o}from"@dimjs/lang/cjs/is-undefined";import{Space as l,Divider as f,Popconfirm as c,Button as u,DatePicker as s,Drawer as d,message as v,Upload as m,Modal as h,Select as p,Spin as g,TreeSelect as b,Tree as y}from"antd";import{isArray as w}from"@dimjs/lang/cjs/is-array";import*as k from"react";import C,{Fragment as x,createElement as N,useMemo as T,createContext as S,useContext as O,useEffect as L,useState as A,cloneElement as R,forwardRef as j,useRef as D,useImperativeHandle as F,Children as M}from"react";import{jsx as P,jsxs as E}from"react/jsx-runtime";import{hooks as _}from"@wove/react/cjs/hooks";import q from"moment";import{Model as I}from"@dimjs/model-react";import{classNames as z}from"@dimjs/utils/cjs/class-names";import{extend as Y}from"@dimjs/utils/cjs/extend";import{useEffectCustom as K}from"@flatbiz/antd";var B=e;function H(){H=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var t in n){if(Object.prototype.hasOwnProperty.call(n,t)){e[t]=n[t]}}}return e};return H.apply(this,arguments)}function W(e,r){if(e==null)return{};var n={};var t=Object.keys(e);var a,i;for(i=0;i<t.length;i++){a=t[i];if(r.indexOf(a)>=0)continue;n[a]=e[a]}return n}var U=function e(){var n=r(),t=n.elemAclLimits;var a=w(t)?t:[];return a};var V=function e(r){var n=U();if(n.includes(r)){return true}return false};var $=function e(r){var n=U();if(n.includes(r.name)){return P(x,{children:r.children})}return null};var G=["text","color","onClick","permission","needConfirm","confirmMessage","hidden","style"];var J=function e(r){return P("div",{className:"table-operate",children:P(l,{split:P(f,{type:"vertical"}),size:r.size,wrap:o(r.wrap)?true:r.wrap,children:r.operateList.map((function(e,r){if(!e)return null;var n=e.text,t=e.color,a=e.onClick,i=e.permission,o=e.needConfirm,l=e.confirmMessage,f=e.hidden,s=e.style,d=W(e,G);if(f)return null;if(i&&!V(i))return null;var v=t?H({color:t},s):s;var m=e.type||"link";if(o){return P(c,{title:l,okText:"确定",cancelText:"取消",onConfirm:a,arrowPointAtCenter:true,children:P(u,H({},d,{onClick:undefined,type:m,danger:true,style:v,children:n}))},r)}return N(u,H({},d,{type:m,style:v,key:r,onClick:a}),n)}))})})};J.defaultProps={size:0};var Q=["value","onChange","style"];var X=function e(r){var t=r.value,a=r.onChange,i=r.style,o=W(r,Q);var l=T((function(){if(r.format)return r.format;if(r.showTime)return"YYYY-MM-DD HH:mm:ss";return"YYYY-MM-DD"}),[r.showTime,r.format]);var f=_.useCallbackRef((function(e){if(e){a==null?void 0:a(q(e).format(l))}else{a==null?void 0:a(undefined)}}));var c=t&&n.isDate(t)?q(new Date(t)):undefined;return P(s,H({},o,{style:H({width:"100%"},i),value:c,onChange:f}))};var Z=["value","onChange","style"];var ee=function e(r){var t=r.value,a=r.onChange,i=r.style,o=W(r,Z);var l=T((function(){if(r.format)return r.format;if(r.showTime===true)return"YYYY-MM-DD HH:mm:ss";return"YYYY-MM-DD"}),[r.showTime,r.format]);var f=_.useCallbackRef((function(e){if(e){var r=e||[],n=r[0],t=r[1];a==null?void 0:a([q(n).format(l),q(t).format(l)])}else{a==null?void 0:a(undefined)}}));var c=t||[],u=c[0],d=c[1];var v=u&&d&&n.isDate(u)&&n.isDate(d)?[q(new Date(u)),q(new Date(d))]:undefined;return P(s.RangePicker,H({},o,{style:H({width:"100%"},i),value:v,onChange:f}))};var re={actions:{openDrawerForm:function e(r){var n=r.itemData,t=r.title,a=r.operateType,i=r.pageLoading;return function(e){e.itemData=n;e.title=t;e.operateType=a;e.pageLoading=i;e.visible=true}},closeDrawer:function e(){return function(e){e.visible=false}},setDrawerItemData:function e(r){return function(e){e.pageLoading=false;e.itemData=r}}},state:{visible:false,title:"",operateType:null}};function ne(e,r,n){if(r in e){Object.defineProperty(e,r,{value:n,enumerable:true,configurable:true,writable:true})}else{e[r]=n}return e}function te(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function ae(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?te(Object(n),!0).forEach((function(r){ne(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):te(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}var ie={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840zM512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z"}}]},name:"save",theme:"outlined"};function oe(e){if(Array.isArray(e))return e}function le(e,r){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var t=[];var a=true;var i=false;var o,l;try{for(n=n.call(e);!(a=(o=n.next()).done);a=true){t.push(o.value);if(r&&t.length===r)break}}catch(e){i=true;l=e}finally{try{if(!a&&n["return"]!=null)n["return"]()}finally{if(i)throw l}}return t}function fe(e,r){if(r==null||r>e.length)r=e.length;for(var n=0,t=new Array(r);n<r;n++){t[n]=e[n]}return t}function ce(e,r){if(!e)return;if(typeof e==="string")return fe(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor)n=e.constructor.name;if(n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return fe(e,r)}function ue(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function se(e,r){return oe(e)||le(e,r)||ce(e,r)||ue()}function de(e,r){if(e==null)return{};var n={};var t=Object.keys(e);var a,i;for(i=0;i<t.length;i++){a=t[i];if(r.indexOf(a)>=0)continue;n[a]=e[a]}return n}function ve(e,r){if(e==null)return{};var n=de(e,r);var t,a;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++){t=i[a];if(r.indexOf(t)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,t))continue;n[t]=e[t]}}return n}var me={exports:{}};
|
|
5
5
|
/*!
|
|
6
6
|
Copyright (c) 2018 Jed Watson.
|
|
7
7
|
Licensed under the MIT License (MIT), see
|
|
8
8
|
http://jedwatson.github.io/classnames
|
|
9
|
-
*/(function(e){(function(){var r={}.hasOwnProperty;function n(){var e=[];for(var t=0;t<arguments.length;t++){var a=arguments[t];if(!a)continue;var i=typeof a;if(i==="string"||i==="number"){e.push(a)}else if(Array.isArray(a)){if(a.length){var o=n.apply(null,a);if(o){e.push(o)}}}else if(i==="object"){if(a.toString===Object.prototype.toString){for(var l in a){if(r.call(a,l)&&a[l]){e.push(l)}}}else{e.push(a.toString())}}}return e.join(" ")}if(e.exports){n.default=n;e.exports=n}else{window.classNames=n}})()})(ce);var ue=ce.exports;var se=x({});function de(e){"@babel/helpers - typeof";return de="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},de(e)}function ve(e,r){if(me(e)){e="100%"}var n=pe(e);e=r===360?e:Math.min(r,Math.max(0,parseFloat(e)));if(n){e=parseInt(String(e*r),10)/100}if(Math.abs(e-r)<1e-6){return 1}if(r===360){e=(e<0?e%r+r:e%r)/parseFloat(String(r))}else{e=e%r/parseFloat(String(r))}return e}function me(e){return typeof e==="string"&&e.indexOf(".")!==-1&&parseFloat(e)===1}function pe(e){return typeof e==="string"&&e.indexOf("%")!==-1}function he(e){e=parseFloat(e);if(isNaN(e)||e<0||e>1){e=1}return e}function ge(e){if(e<=1){return Number(e)*100+"%"}return e}function ye(e){return e.length===1?"0"+e:String(e)}function be(e,r,n){return{r:ve(e,255)*255,g:ve(r,255)*255,b:ve(n,255)*255}}function we(e,r,n){if(n<0){n+=1}if(n>1){n-=1}if(n<1/6){return e+(r-e)*(6*n)}if(n<1/2){return r}if(n<2/3){return e+(r-e)*(2/3-n)*6}return e}function ke(e,r,n){var t;var a;var i;e=ve(e,360);r=ve(r,100);n=ve(n,100);if(r===0){a=n;i=n;t=n}else{var o=n<.5?n*(1+r):n+r-n*r;var l=2*n-o;t=we(l,o,e+1/3);a=we(l,o,e);i=we(l,o,e-1/3)}return{r:t*255,g:a*255,b:i*255}}function xe(e,r,n){e=ve(e,255);r=ve(r,255);n=ve(n,255);var t=Math.max(e,r,n);var a=Math.min(e,r,n);var i=0;var o=t;var l=t-a;var f=t===0?0:l/t;if(t===a){i=0}else{switch(t){case e:i=(r-n)/l+(r<n?6:0);break;case r:i=(n-e)/l+2;break;case n:i=(e-r)/l+4;break}i/=6}return{h:i,s:f,v:o}}function Ce(e,r,n){e=ve(e,360)*6;r=ve(r,100);n=ve(n,100);var t=Math.floor(e);var a=e-t;var i=n*(1-r);var o=n*(1-a*r);var l=n*(1-(1-a)*r);var f=t%6;var c=[n,o,i,i,l,n][f];var u=[l,n,n,o,i,i][f];var s=[i,i,l,n,n,o][f];return{r:c*255,g:u*255,b:s*255}}function Ne(e,r,n,t){var a=[ye(Math.round(e).toString(16)),ye(Math.round(r).toString(16)),ye(Math.round(n).toString(16))];if(t&&a[0].startsWith(a[0].charAt(1))&&a[1].startsWith(a[1].charAt(1))&&a[2].startsWith(a[2].charAt(1))){return a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)}return a.join("")}function Te(e){return Oe(e)/255}function Oe(e){return parseInt(e,16)}var Ae={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function Se(e){var r={r:0,g:0,b:0};var n=1;var t=null;var a=null;var i=null;var o=false;var l=false;if(typeof e==="string"){e=Ee(e)}if(typeof e==="object"){if(Re(e.r)&&Re(e.g)&&Re(e.b)){r=be(e.r,e.g,e.b);o=true;l=String(e.r).substr(-1)==="%"?"prgb":"rgb"}else if(Re(e.h)&&Re(e.s)&&Re(e.v)){t=ge(e.s);a=ge(e.v);r=Ce(e.h,t,a);o=true;l="hsv"}else if(Re(e.h)&&Re(e.s)&&Re(e.l)){t=ge(e.s);i=ge(e.l);r=ke(e.h,t,i);o=true;l="hsl"}if(Object.prototype.hasOwnProperty.call(e,"a")){n=e.a}}n=he(n);return{ok:o,format:e.format||l,r:Math.min(255,Math.max(r.r,0)),g:Math.min(255,Math.max(r.g,0)),b:Math.min(255,Math.max(r.b,0)),a:n}}var je="[-\\+]?\\d+%?";var Fe="[-\\+]?\\d*\\.\\d+%?";var Me="(?:"+Fe+")|(?:"+je+")";var De="[\\s|\\(]+("+Me+")[,|\\s]+("+Me+")[,|\\s]+("+Me+")\\s*\\)?";var Le="[\\s|\\(]+("+Me+")[,|\\s]+("+Me+")[,|\\s]+("+Me+")[,|\\s]+("+Me+")\\s*\\)?";var Pe={CSS_UNIT:new RegExp(Me),rgb:new RegExp("rgb"+De),rgba:new RegExp("rgba"+Le),hsl:new RegExp("hsl"+De),hsla:new RegExp("hsla"+Le),hsv:new RegExp("hsv"+De),hsva:new RegExp("hsva"+Le),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function Ee(e){e=e.trim().toLowerCase();if(e.length===0){return false}var r=false;if(Ae[e]){e=Ae[e];r=true}else if(e==="transparent"){return{r:0,g:0,b:0,a:0,format:"name"}}var n=Pe.rgb.exec(e);if(n){return{r:n[1],g:n[2],b:n[3]}}n=Pe.rgba.exec(e);if(n){return{r:n[1],g:n[2],b:n[3],a:n[4]}}n=Pe.hsl.exec(e);if(n){return{h:n[1],s:n[2],l:n[3]}}n=Pe.hsla.exec(e);if(n){return{h:n[1],s:n[2],l:n[3],a:n[4]}}n=Pe.hsv.exec(e);if(n){return{h:n[1],s:n[2],v:n[3]}}n=Pe.hsva.exec(e);if(n){return{h:n[1],s:n[2],v:n[3],a:n[4]}}n=Pe.hex8.exec(e);if(n){return{r:Oe(n[1]),g:Oe(n[2]),b:Oe(n[3]),a:Te(n[4]),format:r?"name":"hex8"}}n=Pe.hex6.exec(e);if(n){return{r:Oe(n[1]),g:Oe(n[2]),b:Oe(n[3]),format:r?"name":"hex"}}n=Pe.hex4.exec(e);if(n){return{r:Oe(n[1]+n[1]),g:Oe(n[2]+n[2]),b:Oe(n[3]+n[3]),a:Te(n[4]+n[4]),format:r?"name":"hex8"}}n=Pe.hex3.exec(e);if(n){return{r:Oe(n[1]+n[1]),g:Oe(n[2]+n[2]),b:Oe(n[3]+n[3]),format:r?"name":"hex"}}return false}function Re(e){return Boolean(Pe.CSS_UNIT.exec(String(e)))}var Ie=2;var qe=.16;var Ye=.05;var ze=.05;var Be=.15;var He=5;var Ke=4;var Ue=[{index:7,opacity:.15},{index:6,opacity:.25},{index:5,opacity:.3},{index:5,opacity:.45},{index:5,opacity:.65},{index:5,opacity:.85},{index:4,opacity:.9},{index:3,opacity:.95},{index:2,opacity:.97},{index:1,opacity:.98}];function We(e){var r=e.r,n=e.g,t=e.b;var a=xe(r,n,t);return{h:a.h*360,s:a.s,v:a.v}}function Ve(e){var r=e.r,n=e.g,t=e.b;return"#".concat(Ne(r,n,t,false))}function $e(e,r,n){var t=n/100;var a={r:(r.r-e.r)*t+e.r,g:(r.g-e.g)*t+e.g,b:(r.b-e.b)*t+e.b};return a}function _e(e,r,n){var t;if(Math.round(e.h)>=60&&Math.round(e.h)<=240){t=n?Math.round(e.h)-Ie*r:Math.round(e.h)+Ie*r}else{t=n?Math.round(e.h)+Ie*r:Math.round(e.h)-Ie*r}if(t<0){t+=360}else if(t>=360){t-=360}return t}function Ge(e,r,n){if(e.h===0&&e.s===0){return e.s}var t;if(n){t=e.s-qe*r}else if(r===Ke){t=e.s+qe}else{t=e.s+Ye*r}if(t>1){t=1}if(n&&r===He&&t>.1){t=.1}if(t<.06){t=.06}return Number(t.toFixed(2))}function Je(e,r,n){var t;if(n){t=e.v+ze*r}else{t=e.v-Be*r}if(t>1){t=1}return Number(t.toFixed(2))}function Qe(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var n=[];var t=Se(e);for(var a=He;a>0;a-=1){var i=We(t);var o=Ve(Se({h:_e(i,a,true),s:Ge(i,a,true),v:Je(i,a,true)}));n.push(o)}n.push(Ve(t));for(var l=1;l<=Ke;l+=1){var f=We(t);var c=Ve(Se({h:_e(f,l),s:Ge(f,l),v:Je(f,l)}));n.push(c)}if(r.theme==="dark"){return Ue.map((function(e){var t=e.index,a=e.opacity;var i=Ve($e(Se(r.backgroundColor||"#141414"),Se(n[t]),a*100));return i}))}return n}var Xe={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1890FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"};var Ze={};var er={};Object.keys(Xe).forEach((function(e){Ze[e]=Qe(Xe[e]);Ze[e].primary=Ze[e][5];er[e]=Qe(Xe[e],{theme:"dark",backgroundColor:"#141414"});er[e].primary=er[e][5]}));Ze.red;Ze.volcano;Ze.gold;Ze.orange;Ze.yellow;Ze.lime;Ze.green;Ze.cyan;Ze.blue;Ze.geekblue;Ze.purple;Ze.magenta;Ze.grey;var rr={};function nr(e,r){if(process.env.NODE_ENV!=="production"&&!e&&console!==undefined){console.error("Warning: ".concat(r))}}function tr(e,r,n){if(!r&&!rr[n]){e(false,n);rr[n]=true}}function ar(e,r){tr(nr,e,r)}function ir(){return!!(typeof window!=="undefined"&&window.document&&window.document.createElement)}var or="rc-util-key";function lr(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},r=e.mark;if(r){return r.startsWith("data-")?r:"data-".concat(r)}return or}function fr(e){if(e.attachTo){return e.attachTo}var r=document.querySelector("head");return r||document.body}function cr(e){var r;var n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};if(!ir()){return null}var t=document.createElement("style");if((r=n.csp)===null||r===void 0?void 0:r.nonce){var a;t.nonce=(a=n.csp)===null||a===void 0?void 0:a.nonce}t.innerHTML=e;var i=fr(n);var o=i.firstChild;if(n.prepend&&i.prepend){i.prepend(t)}else if(n.prepend&&o){i.insertBefore(t,o)}else{i.appendChild(t)}return t}var ur=new Map;function sr(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var n=fr(r);return Array.from(ur.get(n).children).find((function(n){return n.tagName==="STYLE"&&n.getAttribute(lr(r))===e}))}function dr(e,r){var n=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};var t=fr(n);if(!ur.has(t)){var a=cr("",n);var i=a.parentNode;ur.set(t,i);i.removeChild(a)}var o=sr(r,n);if(o){var l,f;if(((l=n.csp)===null||l===void 0?void 0:l.nonce)&&o.nonce!==((f=n.csp)===null||f===void 0?void 0:f.nonce)){var c;o.nonce=(c=n.csp)===null||c===void 0?void 0:c.nonce}if(o.innerHTML!==e){o.innerHTML=e}return o}var u=cr(e,n);u.setAttribute(lr(n),r);return u}function vr(e,r){ar(e,"[@ant-design/icons] ".concat(r))}function mr(e){return de(e)==="object"&&typeof e.name==="string"&&typeof e.theme==="string"&&(de(e.icon)==="object"||typeof e.icon==="function")}function pr(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};return Object.keys(e).reduce((function(r,n){var t=e[n];switch(n){case"class":r.className=t;delete r.class;break;default:r[n]=t}return r}),{})}function hr(e,r,n){if(!n){return y.createElement(e.tag,Z({key:r},pr(e.attrs)),(e.children||[]).map((function(n,t){return hr(n,"".concat(r,"-").concat(e.tag,"-").concat(t))})))}return y.createElement(e.tag,Z(Z({key:r},pr(e.attrs)),n),(e.children||[]).map((function(n,t){return hr(n,"".concat(r,"-").concat(e.tag,"-").concat(t))})))}function gr(e){return Qe(e)[0]}function yr(e){if(!e){return[]}return Array.isArray(e)?e:[e]}var br="\n.anticon {\n display: inline-block;\n color: inherit;\n font-style: normal;\n line-height: 0;\n text-align: center;\n text-transform: none;\n vertical-align: -0.125em;\n text-rendering: optimizeLegibility;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.anticon > * {\n line-height: 1;\n}\n\n.anticon svg {\n display: inline-block;\n}\n\n.anticon::before {\n display: none;\n}\n\n.anticon .anticon-icon {\n display: block;\n}\n\n.anticon[tabindex] {\n cursor: pointer;\n}\n\n.anticon-spin::before,\n.anticon-spin {\n display: inline-block;\n -webkit-animation: loadingCircle 1s infinite linear;\n animation: loadingCircle 1s infinite linear;\n}\n\n@-webkit-keyframes loadingCircle {\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes loadingCircle {\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n";var wr=function e(){var r=arguments.length>0&&arguments[0]!==undefined?arguments[0]:br;var n=C(se),t=n.csp;N((function(){dr(r,"@ant-design-icons",{prepend:true,csp:t})}),[])};var kr=["icon","className","onClick","style","primaryColor","secondaryColor"];var xr={primaryColor:"#333",secondaryColor:"#E6E6E6",calculated:false};function Cr(e){var r=e.primaryColor,n=e.secondaryColor;xr.primaryColor=r;xr.secondaryColor=n||gr(r);xr.calculated=!!n}function Nr(){return Z({},xr)}var Tr=function e(r){var n=r.icon,t=r.className,a=r.onClick,i=r.style,o=r.primaryColor,l=r.secondaryColor,f=fe(r,kr);var c=xr;if(o){c={primaryColor:o,secondaryColor:l||gr(o)}}wr();vr(mr(n),"icon should be icon definiton, but got ".concat(n));if(!mr(n)){return null}var u=n;if(u&&typeof u.icon==="function"){u=Z(Z({},u),{},{icon:u.icon(c.primaryColor,c.secondaryColor)})}return hr(u.icon,"svg-".concat(u.name),Z({className:t,onClick:a,style:i,"data-icon":u.name,width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true"},f))};Tr.displayName="IconReact";Tr.getTwoToneColors=Nr;Tr.setTwoToneColors=Cr;function Or(e){var r=yr(e),n=oe(r,2),t=n[0],a=n[1];return Tr.setTwoToneColors({primaryColor:t,secondaryColor:a})}function Ar(){var e=Tr.getTwoToneColors();if(!e.calculated){return e.primaryColor}return[e.primaryColor,e.secondaryColor]}var Sr=["className","icon","spin","rotate","tabIndex","onClick","twoToneColor"];Or("#1890ff");var jr=g.forwardRef((function(e,r){var n;var t=e.className,a=e.icon,i=e.spin,o=e.rotate,l=e.tabIndex,f=e.onClick,c=e.twoToneColor,u=fe(e,Sr);var s=g.useContext(se),d=s.prefixCls,v=d===void 0?"anticon":d;var m=ue(v,(n={},Q(n,"".concat(v,"-").concat(a.name),!!a.name),Q(n,"".concat(v,"-spin"),!!i||a.name==="loading"),n),t);var p=l;if(p===undefined&&f){p=-1}var h=o?{msTransform:"rotate(".concat(o,"deg)"),transform:"rotate(".concat(o,"deg)")}:undefined;var y=yr(c),b=oe(y,2),w=b[0],k=b[1];return g.createElement("span",Z(Z({role:"img","aria-label":a.name},u),{},{ref:r,tabIndex:p,onClick:f,className:m}),g.createElement(Tr,{icon:a,primaryColor:w,secondaryColor:k,style:h}))}));jr.displayName="AntdIcon";jr.getTwoToneColor=Ar;jr.setTwoToneColor=Or;var Fr=function e(r,n){return g.createElement(jr,Z(Z({},r),{},{ref:n,icon:ee}))};Fr.displayName="SaveOutlined";var Mr=g.forwardRef(Fr);var Dr=function e(r){return M("div",{className:"fixed-bottom-block",children:D(i,{size:"middle",children:[M(f,Y({},r.cancelButtonProps,{className:"cancel-btn",onClick:r.onCancel,children:r.cancelText||"取消"})),r.hideOkBtn!=true&&M(f,Y({type:"primary",icon:M(Mr,{})},r.okButtonProps,{className:"ok-btn",onClick:r.onOk,loading:r.loading,children:r.okText||"提交"}))]})})};var Lr=["pageLoading","className","width","children","footer","operationProps"];var Pr=function e(){return M("div",{className:"drawer-wraper-loader",children:D("div",{className:"loader-wrapper",children:[M("div",{className:"loader-inner"}),M("div",{className:"loader-text",children:"LOADING"})]})})};var Er=function e(r){var n=r.pageLoading,t=r.className,a=r.width,i=a===void 0?600:a,o=r.children,l=r.footer,f=r.operationProps,c=z(r,Lr);return D(u,Y({className:R("drawer-wraper",t),keyboard:false,forceRender:true,destroyOnClose:true},c,{width:"80%",contentWrapperStyle:{maxWidth:i},footer:l||l===null?l:M(Dr,Y({},f)),size:"default",children:[M("div",{className:"drawer-wraper-content",children:o}),n&&M(Pr,{})]}))};var Rr={};var Ir=function e(r){if(!Rr[r]){Rr[r]=E(J)}return Rr[r]};var qr=["onImportFinish"];var Yr=function e(r){var n=r.onImportFinish,t=z(r,qr);var a=Y({showUploadList:false,onChange:function e(r){if(r.file.status!=="uploading"){console.log("FileImport uploading")}if(r.file.status==="done"){var t=r.file.response;if(t.code==="0000"){n(t.data)}else{void s.error(t.message||"文件导入异常...")}}else if(r.file.status==="error"){void s.error("文件导入异常...")}}},t);return M(d,Y({},a,{children:r.children}))};Yr.defaultProps={name:"file",accept:".xlsx,.xls"};var zr=["onChange","onUploadError","onPreview","value"];var Br=function e(r){var n=r.onChange,t=r.onUploadError,a=r.onPreview,i=r.value,o=z(r,zr);var l=T([]),f=l[0],c=l[1];N((function(){if(i&&h(i)){c(i.map((function(e){return{uid:e["uid"]||e.fileKey,name:e.fileName,fileKey:e.fileKey}})))}}),[i]);var u=L.useCallbackRef((function(e){if(e.file.status==="done"){var a=e.file.response;if(a.code==="0000"){var o={uid:e.file.uid,fileName:e.file.name,fileKey:a.data.fileKey};var l=(i||[]).concat(o);n==null?void 0:n(l)}else{t==null?void 0:t(a.message)}}else if(e.file.status==="removed"){var f=e.file.uid;var u=i!==undefined?[].concat(i):[];var s=u.findIndex((function(e){var r=e["uid"]||e.fileKey;return r===f}));if(s>=0){u.splice(s,1)}n==null?void 0:n(u)}else if(e.file.status==="error"){t==null?void 0:t()}c([].concat(e.fileList));r.onUploadChange==null?void 0:r.onUploadChange(e)}));var s=L.useCallbackRef((function(e){a==null?void 0:a({fileKey:e.fileKey,fileName:e.fileName})}));return M(d,Y({},o,{onChange:u,onPreview:s,fileList:f,className:R("v-file-upload",o.className),children:r.children}))};var Hr=function e(r){var n=h(r.children)?r.children:[r.children];var a=r.direction||"vertical";var i=r.gap?r.gap:0;var o=!t(r.fullIndex)?h(r.fullIndex)?r.fullIndex:[r.fullIndex]:[];return M("div",{className:R("v-flex-layout","v-flex-"+a,r.className),style:r.style,onClick:r.onClick,children:n.map((function(e,r){var t=e.props.style||{};var l=o.includes(r)?Y({flex:1},t):t;if(r<n.length-1&&i>0){if(a==="horizontal"){l.marginRight=i}else{l.marginBottom=i}}return O(e,{style:l})}))})};var Kr=function e(r){return M("div",{style:Y({height:r.height},r.style),className:r.className})};var Ur=function e(r,n){return N(r,n)};var Wr=function e(r,n){N((function(){function e(){return new Promise((function(e,n){return Promise.resolve(r()).then((function(r){try{return e()}catch(e){return n(e)}}),n)}))}void e()}),n)};var Vr={actions:{openModalForm:function e(r){var n=r.itemData,t=r.title,a=r.operateType,i=r.pageLoading;return function(e){e.itemData=n;e.title=t;e.operateType=a;e.pageLoading=i;e.visible=true}},closeModal:function e(){return function(e){e.visible=false}},setModalItemData:function e(r){return function(e){e.pageLoading=false;e.itemData=r}}},state:{visible:false,title:"",operateType:"view"}};var $r=["loading","okText","cancelText","onCancel","onOk","hideOkBtn"];var _r=function e(r){var n=r.loading,t=r.okText,a=t===void 0?"保存":t,o=r.cancelText,l=o===void 0?"取消":o,c=r.onCancel,u=r.onOk,s=r.hideOkBtn,d=z(r,$r);return M(b,{children:D(i,{size:"middle",children:[M(f,Y({},d.cancelButtonProps,{className:"cancel-btn",onClick:c,children:l})),s!=true&&M(f,Y({type:"primary"},d.okButtonProps,{className:"ok-btn",onClick:u,loading:n,children:a}))]})})};var Gr=["pageLoading","className","width","children","footer","operationProps"];var Jr=function e(){return M("div",{className:"modal-wraper-loader",children:D("div",{className:"loader-wrapper",children:[M("div",{className:"loader-inner"}),M("div",{className:"loader-text",children:"LOADING"})]})})};var Qr=function e(r){var n=r.pageLoading,t=r.className,a=r.width,i=r.children,o=r.footer,l=r.operationProps,f=z(r,Gr);return D(v,Y({className:R("modal-wraper",t),keyboard:false,forceRender:true,destroyOnClose:true},f,{width:a||600,footer:null,children:[D("div",{className:"modal-wraper-content",children:[i,n&&M(Jr,{})]}),o!==null&&M("div",{className:"modal-wraper-content-footer",children:o?o:M(_r,Y({},l))})]}))};var Xr={};var Zr=function e(r){if(!Xr[r]){Xr[r]=E(Vr)}return Xr[r]};var en=function e(r){return M("div",{className:R("page-fixed-footer",r.className),style:r.style,children:r.children})};var rn=function e(){return M("div",{className:"v-404",children:"404"})};var nn=["serviceConfig","showAllOption","effectDependencyList","onSelectorListChange","operateType","searchFieldName","selectorList"];var tn=A((function(e,r){var n=e.serviceConfig,a=e.showAllOption,i=e.effectDependencyList,o=e.onSelectorListChange,l=e.operateType,f=e.searchFieldName,c=e.selectorList,u=z(e,nn);var d=T([]),v=d[0],h=d[1];var g=l==="search"&&c===undefined;var y=n||{};var b=i||[];var w=S();var k=T(false),x=k[0],C=k[1];var N=function e(r){return r===""||t(r)};var O=function e(r){var n=y.onRequestResultAdapter?y.onRequestResultAdapter(r):r;if(!y.fieldNames){return n}return n.map((function(e){var r,n;return{label:e[(r=y.fieldNames)==null?void 0:r.label],value:e[(n=y.fieldNames)==null?void 0:n.value]}}))};var A=L.useCallbackRef((function(e,r){return new Promise((function(n,a){var i,l,c,u,d,v;var m=function(){try{return n()}catch(e){return a(e)}};var p=function(e){try{C(false);void s.error(e.message||"数据查询异常...");return m()}catch(e){return a(e)}};try{if(!y.onRequest){throw new Error("onRequest 调用接口服务不能为空")}i=y.requiredParamsKeys;l=I({},y.params);if(i){c=i.find((function(e){return N(l[e])}));if(c){console.warn("SelectorWrapper组件:参数:"+i.join("、")+"不能为空");return n()}}C(true);if((!t(e)||!t(r))&&g){u=f||"keyword";l[u]=e;l["id"]=r}return Promise.resolve(y.onRequest==null?void 0:y.onRequest(l)).then((function(e){try{d=e;v=O(d);C(false);o==null?void 0:o(v);h(v);return m()}catch(e){return p(e)}}),p)}catch(e){p(e)}}))}));Ur((function(){if(e.selectorList){h(c);return}if(g)return;void A()}),b);Ur((function(){if(g){if(N(e.value)){o==null?void 0:o([]);h([])}else{if(e.value!==w.current){void A(undefined,e.value)}}}}),b.concat([e.value]));j(r,(function(){return{onClearSelectorList:function e(){h([])},getSelectorList:function e(){return v}}}));var F=L.useCallbackRef((function(e,r){return(r==null?void 0:r.children).toLowerCase().indexOf(e.toLowerCase())>=0}));var P=L.useDebounceCallback((function(e){if(e){void A(e)}else{h([])}}),150);var E=L.useCallbackRef((function(r){w.current=r;for(var n=arguments.length,t=new Array(n>1?n-1:0),a=1;a<n;a++){t[a-1]=arguments[a]}e.onChange==null?void 0:e.onChange(r,t)}));var R=M(m.Option,{value:"",children:"全部"});return D(m,Y({showSearch:true,allowClear:true,notFoundContent:x?M(p,{}):v.length?"暂无数据":null},u,{loading:x,onSearch:g?P:undefined,filterOption:g?false:F,onChange:E,children:[a===true?R:a,v.map((function(e){return M(m.Option,{value:e.value,children:e.label},e.value)}))]}))}));var an=function e(r){var n=r.formLabelAlign||"right";var t=R("simple-layout",{"simple-layout-tight":r.layoutType==="tight","simple-layout-formlabel-left":n==="left"},r.className);return D("div",{className:t,style:r.style,children:[r.title?M("div",{className:"simple-layout-title",children:r.title}):null,M("div",{className:"simple-layout-content",children:r.children})]})};var on=function e(r){var n=T(),t=n[0],a=n[1];var i=T(false),o=i[0],l=i[1];var f=T(false),c=f[0],u=f[1];var s=k((function(){return{sendTxt:r.sendTxt,sentTxt:r.sentTxt,processingTxt:r.processingTxt,format:r.format,autoStart:r.autoStart,totalTicks:r.totalTicks,duration:r.duration}}),[]);var d=s.format;var v=s.totalTicks;var m=s.duration;var p=L.useCountdownCallback((function(e){var n=e/1e3;if(e>0){if(!o){l(true)}a(d.replace("{t}",String(n)));r.onTick==null?void 0:r.onTick(n)}else if(e===0){l(false);u(false);r.onTick==null?void 0:r.onTick(n);a(s.sentTxt)}}),v*1e3,{intervalTime:m});N((function(){if(!s.autoStart){a(s.sendTxt)}else{p();u(true);l(true)}}),[p,s]);var h=L.useCallbackRef((function(){if(o||c)return;u(true);a(s.processingTxt);void r.onSendRequest().then((function(){l(true);p()})).catch((function(){a(s.sendTxt);u(false)}))}));var g=R("v-count-down",r.className,{running:o,starting:c});return M("div",{className:g,onClick:h,children:t})};on.defaultProps={totalTicks:60,duration:1e3,autoStart:false,format:"{t}s",sendTxt:"获取验证码",sentTxt:"重新获取",processingTxt:"发送中..."};var ln=function e(){console.error("【TableFilterLayout】组件即将废弃,请使用【SimpleLayout】组件替代")};var fn=function e(r){Ur((function(){ln()}),[]);return M("div",{className:R("table-filter-layout",{"table-filter-layout-flex":r.isFixed},r.className),children:F.map(r.children,(function(e,n){if(r.isFixed&&n===r.fullIndex){return O(e,{className:"table-filter-layout-flex-full"})}return e}))})};var cn=function e(r){return M("div",{className:R("table-filter-layout-condition",r.className),children:r.children})};var un=function e(r){return M("div",{className:R("table-filter-layout-operate",r.className),children:r.children})};var sn=function e(r){return M("div",{className:R("table-filter-layout-table",r.className),children:r.children})};var dn=function e(r){return M("div",{className:R("table-filter-layout-footer",r.className),children:r.children})};fn.Condition=cn;fn.Operate=un;fn.Table=sn;fn.Footer=dn;export{W as ButtonOperate,$ as DatePickerWraper,G as DateRangePickerWraper,Er as DrawerWraper,Yr as FileImport,Br as FileUpload,Hr as FlexLayout,Kr as Gap,Qr as ModalWraper,rn as Page404,en as PageFixedFooter,K as Permission,tn as SelectorWrapper,an as SimpleLayout,on as SmsCountDown,fn as TableFilterLayout,Ir as createDrawerWraperModel,Zr as createModalWraperModel,B as getPermissionList,H as hasPermission,q as styles,Ur as useEffectCustom,Wr as useEffectCustomAsync};
|
|
9
|
+
*/(function(e){(function(){var r={}.hasOwnProperty;function n(){var e=[];for(var t=0;t<arguments.length;t++){var a=arguments[t];if(!a)continue;var i=typeof a;if(i==="string"||i==="number"){e.push(a)}else if(Array.isArray(a)){if(a.length){var o=n.apply(null,a);if(o){e.push(o)}}}else if(i==="object"){if(a.toString===Object.prototype.toString){for(var l in a){if(r.call(a,l)&&a[l]){e.push(l)}}}else{e.push(a.toString())}}}return e.join(" ")}if(e.exports){n.default=n;e.exports=n}else{window.classNames=n}})()})(me);var he=me.exports;var pe=S({});function ge(e){"@babel/helpers - typeof";return ge="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ge(e)}function be(e,r){if(ye(e)){e="100%"}var n=we(e);e=r===360?e:Math.min(r,Math.max(0,parseFloat(e)));if(n){e=parseInt(String(e*r),10)/100}if(Math.abs(e-r)<1e-6){return 1}if(r===360){e=(e<0?e%r+r:e%r)/parseFloat(String(r))}else{e=e%r/parseFloat(String(r))}return e}function ye(e){return typeof e==="string"&&e.indexOf(".")!==-1&&parseFloat(e)===1}function we(e){return typeof e==="string"&&e.indexOf("%")!==-1}function ke(e){e=parseFloat(e);if(isNaN(e)||e<0||e>1){e=1}return e}function Ce(e){if(e<=1){return Number(e)*100+"%"}return e}function xe(e){return e.length===1?"0"+e:String(e)}function Ne(e,r,n){return{r:be(e,255)*255,g:be(r,255)*255,b:be(n,255)*255}}function Te(e,r,n){if(n<0){n+=1}if(n>1){n-=1}if(n<1/6){return e+(r-e)*(6*n)}if(n<1/2){return r}if(n<2/3){return e+(r-e)*(2/3-n)*6}return e}function Se(e,r,n){var t;var a;var i;e=be(e,360);r=be(r,100);n=be(n,100);if(r===0){a=n;i=n;t=n}else{var o=n<.5?n*(1+r):n+r-n*r;var l=2*n-o;t=Te(l,o,e+1/3);a=Te(l,o,e);i=Te(l,o,e-1/3)}return{r:t*255,g:a*255,b:i*255}}function Oe(e,r,n){e=be(e,255);r=be(r,255);n=be(n,255);var t=Math.max(e,r,n);var a=Math.min(e,r,n);var i=0;var o=t;var l=t-a;var f=t===0?0:l/t;if(t===a){i=0}else{switch(t){case e:i=(r-n)/l+(r<n?6:0);break;case r:i=(n-e)/l+2;break;case n:i=(e-r)/l+4;break}i/=6}return{h:i,s:f,v:o}}function Le(e,r,n){e=be(e,360)*6;r=be(r,100);n=be(n,100);var t=Math.floor(e);var a=e-t;var i=n*(1-r);var o=n*(1-a*r);var l=n*(1-(1-a)*r);var f=t%6;var c=[n,o,i,i,l,n][f];var u=[l,n,n,o,i,i][f];var s=[i,i,l,n,n,o][f];return{r:c*255,g:u*255,b:s*255}}function Ae(e,r,n,t){var a=[xe(Math.round(e).toString(16)),xe(Math.round(r).toString(16)),xe(Math.round(n).toString(16))];if(t&&a[0].startsWith(a[0].charAt(1))&&a[1].startsWith(a[1].charAt(1))&&a[2].startsWith(a[2].charAt(1))){return a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)}return a.join("")}function Re(e){return je(e)/255}function je(e){return parseInt(e,16)}var De={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function Fe(e){var r={r:0,g:0,b:0};var n=1;var t=null;var a=null;var i=null;var o=false;var l=false;if(typeof e==="string"){e=ze(e)}if(typeof e==="object"){if(Ye(e.r)&&Ye(e.g)&&Ye(e.b)){r=Ne(e.r,e.g,e.b);o=true;l=String(e.r).substr(-1)==="%"?"prgb":"rgb"}else if(Ye(e.h)&&Ye(e.s)&&Ye(e.v)){t=Ce(e.s);a=Ce(e.v);r=Le(e.h,t,a);o=true;l="hsv"}else if(Ye(e.h)&&Ye(e.s)&&Ye(e.l)){t=Ce(e.s);i=Ce(e.l);r=Se(e.h,t,i);o=true;l="hsl"}if(Object.prototype.hasOwnProperty.call(e,"a")){n=e.a}}n=ke(n);return{ok:o,format:e.format||l,r:Math.min(255,Math.max(r.r,0)),g:Math.min(255,Math.max(r.g,0)),b:Math.min(255,Math.max(r.b,0)),a:n}}var Me="[-\\+]?\\d+%?";var Pe="[-\\+]?\\d*\\.\\d+%?";var Ee="(?:"+Pe+")|(?:"+Me+")";var _e="[\\s|\\(]+("+Ee+")[,|\\s]+("+Ee+")[,|\\s]+("+Ee+")\\s*\\)?";var qe="[\\s|\\(]+("+Ee+")[,|\\s]+("+Ee+")[,|\\s]+("+Ee+")[,|\\s]+("+Ee+")\\s*\\)?";var Ie={CSS_UNIT:new RegExp(Ee),rgb:new RegExp("rgb"+_e),rgba:new RegExp("rgba"+qe),hsl:new RegExp("hsl"+_e),hsla:new RegExp("hsla"+qe),hsv:new RegExp("hsv"+_e),hsva:new RegExp("hsva"+qe),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function ze(e){e=e.trim().toLowerCase();if(e.length===0){return false}var r=false;if(De[e]){e=De[e];r=true}else if(e==="transparent"){return{r:0,g:0,b:0,a:0,format:"name"}}var n=Ie.rgb.exec(e);if(n){return{r:n[1],g:n[2],b:n[3]}}n=Ie.rgba.exec(e);if(n){return{r:n[1],g:n[2],b:n[3],a:n[4]}}n=Ie.hsl.exec(e);if(n){return{h:n[1],s:n[2],l:n[3]}}n=Ie.hsla.exec(e);if(n){return{h:n[1],s:n[2],l:n[3],a:n[4]}}n=Ie.hsv.exec(e);if(n){return{h:n[1],s:n[2],v:n[3]}}n=Ie.hsva.exec(e);if(n){return{h:n[1],s:n[2],v:n[3],a:n[4]}}n=Ie.hex8.exec(e);if(n){return{r:je(n[1]),g:je(n[2]),b:je(n[3]),a:Re(n[4]),format:r?"name":"hex8"}}n=Ie.hex6.exec(e);if(n){return{r:je(n[1]),g:je(n[2]),b:je(n[3]),format:r?"name":"hex"}}n=Ie.hex4.exec(e);if(n){return{r:je(n[1]+n[1]),g:je(n[2]+n[2]),b:je(n[3]+n[3]),a:Re(n[4]+n[4]),format:r?"name":"hex8"}}n=Ie.hex3.exec(e);if(n){return{r:je(n[1]+n[1]),g:je(n[2]+n[2]),b:je(n[3]+n[3]),format:r?"name":"hex"}}return false}function Ye(e){return Boolean(Ie.CSS_UNIT.exec(String(e)))}var Ke=2;var Be=.16;var He=.05;var We=.05;var Ue=.15;var Ve=5;var $e=4;var Ge=[{index:7,opacity:.15},{index:6,opacity:.25},{index:5,opacity:.3},{index:5,opacity:.45},{index:5,opacity:.65},{index:5,opacity:.85},{index:4,opacity:.9},{index:3,opacity:.95},{index:2,opacity:.97},{index:1,opacity:.98}];function Je(e){var r=e.r,n=e.g,t=e.b;var a=Oe(r,n,t);return{h:a.h*360,s:a.s,v:a.v}}function Qe(e){var r=e.r,n=e.g,t=e.b;return"#".concat(Ae(r,n,t,false))}function Xe(e,r,n){var t=n/100;var a={r:(r.r-e.r)*t+e.r,g:(r.g-e.g)*t+e.g,b:(r.b-e.b)*t+e.b};return a}function Ze(e,r,n){var t;if(Math.round(e.h)>=60&&Math.round(e.h)<=240){t=n?Math.round(e.h)-Ke*r:Math.round(e.h)+Ke*r}else{t=n?Math.round(e.h)+Ke*r:Math.round(e.h)-Ke*r}if(t<0){t+=360}else if(t>=360){t-=360}return t}function er(e,r,n){if(e.h===0&&e.s===0){return e.s}var t;if(n){t=e.s-Be*r}else if(r===$e){t=e.s+Be}else{t=e.s+He*r}if(t>1){t=1}if(n&&r===Ve&&t>.1){t=.1}if(t<.06){t=.06}return Number(t.toFixed(2))}function rr(e,r,n){var t;if(n){t=e.v+We*r}else{t=e.v-Ue*r}if(t>1){t=1}return Number(t.toFixed(2))}function nr(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var n=[];var t=Fe(e);for(var a=Ve;a>0;a-=1){var i=Je(t);var o=Qe(Fe({h:Ze(i,a,true),s:er(i,a,true),v:rr(i,a,true)}));n.push(o)}n.push(Qe(t));for(var l=1;l<=$e;l+=1){var f=Je(t);var c=Qe(Fe({h:Ze(f,l),s:er(f,l),v:rr(f,l)}));n.push(c)}if(r.theme==="dark"){return Ge.map((function(e){var t=e.index,a=e.opacity;var i=Qe(Xe(Fe(r.backgroundColor||"#141414"),Fe(n[t]),a*100));return i}))}return n}var tr={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1890FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"};var ar={};var ir={};Object.keys(tr).forEach((function(e){ar[e]=nr(tr[e]);ar[e].primary=ar[e][5];ir[e]=nr(tr[e],{theme:"dark",backgroundColor:"#141414"});ir[e].primary=ir[e][5]}));ar.red;ar.volcano;ar.gold;ar.orange;ar.yellow;ar.lime;ar.green;ar.cyan;ar.blue;ar.geekblue;ar.purple;ar.magenta;ar.grey;var or={};function lr(e,r){if(process.env.NODE_ENV!=="production"&&!e&&console!==undefined){console.error("Warning: ".concat(r))}}function fr(e,r,n){if(!r&&!or[n]){e(false,n);or[n]=true}}function cr(e,r){fr(lr,e,r)}function ur(){return!!(typeof window!=="undefined"&&window.document&&window.document.createElement)}var sr="rc-util-key";function dr(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},r=e.mark;if(r){return r.startsWith("data-")?r:"data-".concat(r)}return sr}function vr(e){if(e.attachTo){return e.attachTo}var r=document.querySelector("head");return r||document.body}function mr(e){var r;var n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};if(!ur()){return null}var t=document.createElement("style");if((r=n.csp)===null||r===void 0?void 0:r.nonce){var a;t.nonce=(a=n.csp)===null||a===void 0?void 0:a.nonce}t.innerHTML=e;var i=vr(n);var o=i.firstChild;if(n.prepend&&i.prepend){i.prepend(t)}else if(n.prepend&&o){i.insertBefore(t,o)}else{i.appendChild(t)}return t}var hr=new Map;function pr(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var n=vr(r);return Array.from(hr.get(n).children).find((function(n){return n.tagName==="STYLE"&&n.getAttribute(dr(r))===e}))}function gr(e,r){var n=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};var t=vr(n);if(!hr.has(t)){var a=mr("",n);var i=a.parentNode;hr.set(t,i);i.removeChild(a)}var o=pr(r,n);if(o){var l,f;if(((l=n.csp)===null||l===void 0?void 0:l.nonce)&&o.nonce!==((f=n.csp)===null||f===void 0?void 0:f.nonce)){var c;o.nonce=(c=n.csp)===null||c===void 0?void 0:c.nonce}if(o.innerHTML!==e){o.innerHTML=e}return o}var u=mr(e,n);u.setAttribute(dr(n),r);return u}function br(e,r){cr(e,"[@ant-design/icons] ".concat(r))}function yr(e){return ge(e)==="object"&&typeof e.name==="string"&&typeof e.theme==="string"&&(ge(e.icon)==="object"||typeof e.icon==="function")}function wr(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};return Object.keys(e).reduce((function(r,n){var t=e[n];switch(n){case"class":r.className=t;delete r.class;break;default:r[n]=t}return r}),{})}function kr(e,r,n){if(!n){return C.createElement(e.tag,ae({key:r},wr(e.attrs)),(e.children||[]).map((function(n,t){return kr(n,"".concat(r,"-").concat(e.tag,"-").concat(t))})))}return C.createElement(e.tag,ae(ae({key:r},wr(e.attrs)),n),(e.children||[]).map((function(n,t){return kr(n,"".concat(r,"-").concat(e.tag,"-").concat(t))})))}function Cr(e){return nr(e)[0]}function xr(e){if(!e){return[]}return Array.isArray(e)?e:[e]}var Nr="\n.anticon {\n display: inline-block;\n color: inherit;\n font-style: normal;\n line-height: 0;\n text-align: center;\n text-transform: none;\n vertical-align: -0.125em;\n text-rendering: optimizeLegibility;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.anticon > * {\n line-height: 1;\n}\n\n.anticon svg {\n display: inline-block;\n}\n\n.anticon::before {\n display: none;\n}\n\n.anticon .anticon-icon {\n display: block;\n}\n\n.anticon[tabindex] {\n cursor: pointer;\n}\n\n.anticon-spin::before,\n.anticon-spin {\n display: inline-block;\n -webkit-animation: loadingCircle 1s infinite linear;\n animation: loadingCircle 1s infinite linear;\n}\n\n@-webkit-keyframes loadingCircle {\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes loadingCircle {\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n";var Tr=function e(){var r=arguments.length>0&&arguments[0]!==undefined?arguments[0]:Nr;var n=O(pe),t=n.csp;L((function(){gr(r,"@ant-design-icons",{prepend:true,csp:t})}),[])};var Sr=["icon","className","onClick","style","primaryColor","secondaryColor"];var Or={primaryColor:"#333",secondaryColor:"#E6E6E6",calculated:false};function Lr(e){var r=e.primaryColor,n=e.secondaryColor;Or.primaryColor=r;Or.secondaryColor=n||Cr(r);Or.calculated=!!n}function Ar(){return ae({},Or)}var Rr=function e(r){var n=r.icon,t=r.className,a=r.onClick,i=r.style,o=r.primaryColor,l=r.secondaryColor,f=ve(r,Sr);var c=Or;if(o){c={primaryColor:o,secondaryColor:l||Cr(o)}}Tr();br(yr(n),"icon should be icon definiton, but got ".concat(n));if(!yr(n)){return null}var u=n;if(u&&typeof u.icon==="function"){u=ae(ae({},u),{},{icon:u.icon(c.primaryColor,c.secondaryColor)})}return kr(u.icon,"svg-".concat(u.name),ae({className:t,onClick:a,style:i,"data-icon":u.name,width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true"},f))};Rr.displayName="IconReact";Rr.getTwoToneColors=Ar;Rr.setTwoToneColors=Lr;function jr(e){var r=xr(e),n=se(r,2),t=n[0],a=n[1];return Rr.setTwoToneColors({primaryColor:t,secondaryColor:a})}function Dr(){var e=Rr.getTwoToneColors();if(!e.calculated){return e.primaryColor}return[e.primaryColor,e.secondaryColor]}var Fr=["className","icon","spin","rotate","tabIndex","onClick","twoToneColor"];jr("#1890ff");var Mr=k.forwardRef((function(e,r){var n;var t=e.className,a=e.icon,i=e.spin,o=e.rotate,l=e.tabIndex,f=e.onClick,c=e.twoToneColor,u=ve(e,Fr);var s=k.useContext(pe),d=s.prefixCls,v=d===void 0?"anticon":d;var m=he(v,(n={},ne(n,"".concat(v,"-").concat(a.name),!!a.name),ne(n,"".concat(v,"-spin"),!!i||a.name==="loading"),n),t);var h=l;if(h===undefined&&f){h=-1}var p=o?{msTransform:"rotate(".concat(o,"deg)"),transform:"rotate(".concat(o,"deg)")}:undefined;var g=xr(c),b=se(g,2),y=b[0],w=b[1];return k.createElement("span",ae(ae({role:"img","aria-label":a.name},u),{},{ref:r,tabIndex:h,onClick:f,className:m}),k.createElement(Rr,{icon:a,primaryColor:y,secondaryColor:w,style:p}))}));Mr.displayName="AntdIcon";Mr.getTwoToneColor=Dr;Mr.setTwoToneColor=jr;var Pr=function e(r,n){return k.createElement(Mr,ae(ae({},r),{},{ref:n,icon:ie}))};Pr.displayName="SaveOutlined";var Er=k.forwardRef(Pr);var _r=function e(r){return P("div",{className:"fixed-bottom-block",children:E(l,{size:"middle",children:[P(u,H({},r.cancelButtonProps,{className:"cancel-btn",onClick:r.onCancel,children:r.cancelText||"取消"})),r.hideOkBtn!=true&&P(u,H({type:"primary",icon:P(Er,{})},r.okButtonProps,{className:"ok-btn",onClick:r.onOk,loading:r.loading,children:r.okText||"提交"}))]})})};var qr=["pageLoading","className","width","children","footer","operationProps"];var Ir=function e(){return P("div",{className:"drawer-wraper-loader",children:E("div",{className:"loader-wrapper",children:[P("div",{className:"loader-inner"}),P("div",{className:"loader-text",children:"LOADING"})]})})};var zr=function e(r){var n=r.pageLoading,t=r.className,a=r.width,i=a===void 0?600:a,o=r.children,l=r.footer,f=r.operationProps,c=W(r,qr);return E(d,H({className:z("drawer-wraper",t),keyboard:false,forceRender:false,destroyOnClose:false,width:"80%",contentWrapperStyle:{maxWidth:i},size:"default"},c,{footer:l||l===null?l:P(_r,H({},f)),children:[P("div",{className:"drawer-wraper-content",children:o}),n&&P(Ir,{})]}))};var Yr={};var Kr=function e(r){if(!Yr[r]){Yr[r]=I(re)}return Yr[r]};var Br=["onImportFinish"];var Hr=function e(r){var n=r.onImportFinish,t=W(r,Br);var a=H({showUploadList:false,onChange:function e(r){if(r.file.status!=="uploading"){console.log("FileImport uploading")}if(r.file.status==="done"){var t=r.file.response;if(t.code==="0000"){n(t.data)}else{void v.error(t.message||"文件导入异常...")}}else if(r.file.status==="error"){void v.error("文件导入异常...")}}},t);return P(m,H({},a,{children:r.children}))};Hr.defaultProps={name:"file",accept:".xlsx,.xls"};var Wr=["onChange","onUploadError","onPreview","value"];var Ur=function e(r){var n=r.onChange,t=r.onUploadError,a=r.onPreview,i=r.value,o=W(r,Wr);var l=A([]),f=l[0],c=l[1];L((function(){if(i&&w(i)){c(i.map((function(e){return{uid:e["uid"]||e.fileKey,name:e.fileName,fileKey:e.fileKey}})))}}),[i]);var u=_.useCallbackRef((function(e){if(e.file.status==="done"){var a=e.file.response;if(a.code==="0000"){var o={uid:e.file.uid,fileName:e.file.name,fileKey:a.data.fileKey};var l=(i||[]).concat(o);n==null?void 0:n(l)}else{t==null?void 0:t(a.message)}}else if(e.file.status==="removed"){var f=e.file.uid;var u=i!==undefined?[].concat(i):[];var s=u.findIndex((function(e){var r=e["uid"]||e.fileKey;return r===f}));if(s>=0){u.splice(s,1)}n==null?void 0:n(u)}else if(e.file.status==="error"){t==null?void 0:t()}c([].concat(e.fileList));r.onUploadChange==null?void 0:r.onUploadChange(e)}));var s=_.useCallbackRef((function(e){a==null?void 0:a({fileKey:e.fileKey,fileName:e.fileName})}));return P(m,H({},o,{onChange:u,onPreview:s,fileList:f,className:z("v-file-upload",o.className),children:r.children}))};var Vr=function e(r){var n=w(r.children)?r.children:[r.children];var a=r.direction||"vertical";var i=r.gap?r.gap:0;var o=!t(r.fullIndex)?w(r.fullIndex)?r.fullIndex:[r.fullIndex]:[];return P("div",{className:z("v-flex-layout","v-flex-"+a,r.className),style:r.style,onClick:r.onClick,children:n.map((function(e,r){var t=e.props.style||{};var l=o.includes(r)?H({flex:1},t):t;if(r<n.length-1&&i>0){if(a==="horizontal"){l.marginRight=i}else{l.marginBottom=i}}return R(e,{style:l})}))})};var $r=function e(r){return P("div",{style:H({height:r.height},r.style),className:r.className})};var Gr=function e(r,n){return L(r,n)};var Jr=function e(r,n){L((function(){function e(){return new Promise((function(e,n){return Promise.resolve(r()).then((function(r){try{return e()}catch(e){return n(e)}}),n)}))}void e()}),n)};var Qr={actions:{openModalForm:function e(r){var n=r.itemData,t=r.title,a=r.operateType,i=r.pageLoading;return function(e){e.itemData=n;e.title=t;e.operateType=a;e.pageLoading=i;e.visible=true}},closeModal:function e(){return function(e){e.visible=false}},setModalItemData:function e(r){return function(e){e.pageLoading=false;e.itemData=r}}},state:{visible:false,title:"",operateType:"view"}};var Xr=["loading","okText","cancelText","onCancel","onOk","hideOkBtn"];var Zr=function e(r){var n=r.loading,t=r.okText,a=t===void 0?"保存":t,i=r.cancelText,o=i===void 0?"取消":i,f=r.onCancel,c=r.onOk,s=r.hideOkBtn,d=W(r,Xr);return P(x,{children:E(l,{size:"middle",children:[P(u,H({},d.cancelButtonProps,{className:"cancel-btn",onClick:f,children:o})),s!=true&&P(u,H({type:"primary"},d.okButtonProps,{className:"ok-btn",onClick:c,loading:n,children:a}))]})})};var en=["pageLoading","className","width","children","footer","operationProps"];var rn=function e(){return P("div",{className:"modal-wraper-loader",children:E("div",{className:"loader-wrapper",children:[P("div",{className:"loader-inner"}),P("div",{className:"loader-text",children:"LOADING"})]})})};var nn=function e(r){var n=r.pageLoading,t=r.className,a=r.width,i=r.children,o=r.footer,l=r.operationProps,f=W(r,en);return E(h,H({className:z("modal-wraper",t),keyboard:false,forceRender:true,destroyOnClose:true},f,{width:a||600,footer:null,children:[E("div",{className:"modal-wraper-content",children:[i,n&&P(rn,{})]}),o!==null&&P("div",{className:"modal-wraper-content-footer",children:o?o:P(Zr,H({},l))})]}))};var tn={};var an=function e(r){if(!tn[r]){tn[r]=I(Qr)}return tn[r]};var on=function e(r){return P("div",{className:z("page-fixed-footer",r.className),style:r.style,children:r.children})};var ln=function e(){return P("div",{className:"v-404",children:"404"})};var fn={label_width_70:"form-label-70",label_width_80:"form-label-80",label_width_90:"form-label-90",label_width_100:"form-label-100",label_width_110:"form-label-110",label_width_120:"form-label-120",label_width_130:"form-label-130",label_width_auto:"form-label-auto"};var cn={label_width_70:"form-item-label-70",label_width_80:"form-item-label-80",label_width_90:"form-item-label-90",label_width_100:"form-item-label-100",label_width_110:"form-item-label-110",label_width_120:"form-item-label-120",label_width_130:"form-item-label-130",label_width_auto:"form-item-label-auto"};var un={form:fn,formItem:cn};var sn=["serviceConfig","showAllOption","effectDependencyList","onSelectorListChange","operateType","searchFieldName","selectorList"];var dn=j((function(e,r){var n=e.serviceConfig,a=e.showAllOption,i=e.effectDependencyList,o=e.onSelectorListChange,l=e.operateType,f=e.searchFieldName,c=e.selectorList,u=W(e,sn);var s=A([]),d=s[0],m=s[1];var h=l==="search"&&c===undefined;var b=n||{};var y=i||[];var w=D();var k=A(false),C=k[0],x=k[1];var N=function e(r){return r===""||t(r)};var T=function e(r){var n=b.onRequestResultAdapter?b.onRequestResultAdapter(r):r;if(!b.fieldNames){return n}return n.map((function(e){var r,n;return{label:e[(r=b.fieldNames)==null?void 0:r.label],value:e[(n=b.fieldNames)==null?void 0:n.value]}}))};var S=_.useCallbackRef((function(e,r){return new Promise((function(n,a){var i,l,c,u,s,d;var p=function(){try{return n()}catch(e){return a(e)}};var g=function(e){try{x(false);void v.error(e.message||"数据查询异常...");return p()}catch(e){return a(e)}};try{if(!b.onRequest){throw new Error("onRequest 调用接口服务不能为空")}i=b.requiredParamsKeys;l=Y({},b.params);if(i){c=i.find((function(e){return N(l[e])}));if(c){console.warn("SelectorWrapper组件:参数:"+i.join("、")+"不能为空");return n()}}x(true);if((!t(e)||!t(r))&&h){u=f||"keyword";l[u]=e;l["id"]=r}return Promise.resolve(b.onRequest==null?void 0:b.onRequest(l)).then((function(e){try{s=e;d=T(s);x(false);o==null?void 0:o(d);m(d);return p()}catch(e){return g(e)}}),g)}catch(e){g(e)}}))}));Gr((function(){if(e.selectorList){m(c);return}if(h)return;void S()}),y);Gr((function(){if(h){if(N(e.value)){o==null?void 0:o([]);m([])}else{if(e.value!==w.current){void S(undefined,e.value)}}}}),y.concat([e.value]));F(r,(function(){return{onClearSelectorList:function e(){m([])},getSelectorList:function e(){return d}}}));var O=_.useCallbackRef((function(e,r){return(r==null?void 0:r.children).toLowerCase().indexOf(e.toLowerCase())>=0}));var L=_.useDebounceCallback((function(e){if(e){void S(e)}else{m([])}}),150);var R=_.useCallbackRef((function(r){w.current=r;for(var n=arguments.length,t=new Array(n>1?n-1:0),a=1;a<n;a++){t[a-1]=arguments[a]}e.onChange==null?void 0:e.onChange(r,t)}));var j=P(p.Option,{value:"",children:"全部"});return E(p,H({showSearch:true,allowClear:true,notFoundContent:C?P(g,{}):d.length?"暂无数据":null},u,{loading:C,onSearch:h?L:undefined,filterOption:h?false:O,onChange:R,children:[a===true?j:a,d.map((function(e){return P(p.Option,{value:e.value,children:e.label},e.value)}))]}))}));var vn=function e(r){var n=r.formLabelAlign||"right";var t=z("simple-layout",{"simple-layout-tight":r.layoutType==="tight","simple-layout-formlabel-left":n==="left"},r.className);return E("div",{className:t,style:r.style,children:[r.title?P("div",{className:"simple-layout-title",children:r.title}):null,P("div",{className:"simple-layout-content",children:r.children})]})};var mn=function e(r){var n=A(),t=n[0],a=n[1];var i=A(false),o=i[0],l=i[1];var f=A(false),c=f[0],u=f[1];var s=T((function(){return{sendTxt:r.sendTxt,sentTxt:r.sentTxt,processingTxt:r.processingTxt,format:r.format,autoStart:r.autoStart,totalTicks:r.totalTicks,duration:r.duration}}),[]);var d=s.format;var v=s.totalTicks;var m=s.duration;var h=_.useCountdownCallback((function(e){var n=e/1e3;if(e>0){if(!o){l(true)}a(d.replace("{t}",String(n)));r.onTick==null?void 0:r.onTick(n)}else if(e===0){l(false);u(false);r.onTick==null?void 0:r.onTick(n);a(s.sentTxt)}}),v*1e3,{intervalTime:m});L((function(){if(!s.autoStart){a(s.sendTxt)}else{h();u(true);l(true)}}),[h,s]);var p=_.useCallbackRef((function(){if(o||c)return;u(true);a(s.processingTxt);void r.onSendRequest().then((function(){l(true);h()})).catch((function(){a(s.sendTxt);u(false)}))}));var g=z("v-count-down",r.className,{running:o,starting:c});return P("div",{className:g,onClick:p,children:t})};mn.defaultProps={totalTicks:60,duration:1e3,autoStart:false,format:"{t}s",sendTxt:"获取验证码",sentTxt:"重新获取",processingTxt:"发送中..."};var hn=function e(){console.error("【TableFilterLayout】组件即将废弃,请使用【SimpleLayout】组件替代")};var pn=function e(r){Gr((function(){hn()}),[]);return P("div",{className:z("table-filter-layout",{"table-filter-layout-flex":r.isFixed},r.className),children:M.map(r.children,(function(e,n){if(r.isFixed&&n===r.fullIndex){return R(e,{className:"table-filter-layout-flex-full"})}return e}))})};var gn=function e(r){return P("div",{className:z("table-filter-layout-condition",r.className),children:r.children})};var bn=function e(r){return P("div",{className:z("table-filter-layout-operate",r.className),children:r.children})};var yn=function e(r){return P("div",{className:z("table-filter-layout-table",r.className),children:r.children})};var wn=function e(r){return P("div",{className:z("table-filter-layout-footer",r.className),children:r.children})};pn.Condition=gn;pn.Operate=bn;pn.Table=yn;pn.Footer=wn;var kn=function e(r,n,t){if(!w(n)||n.length===0)return[];var o=a(n,t);return i(r,o)};var Cn=["serviceConfig","effectDependencyList","onTreeSelectorListChange","treeSelectorList"];var xn=j((function(e,r){var n=e.serviceConfig,a=e.effectDependencyList,i=e.onTreeSelectorListChange,o=e.treeSelectorList,l=W(e,Cn);var f=A([]),c=f[0],u=f[1];var s=n||{};var d=a||[];var m=A(false),h=m[0],p=m[1];var g=A(),y=g[0],k=g[1];var C=function e(r){return r===""||t(r)};var x=function e(r){var n=s.onRequestResultAdapter?s.onRequestResultAdapter(r):r;return n};var N=_.useCallbackRef((function(){return new Promise((function(e,r){var n,t,a,o,l;var f=function(){try{return e()}catch(e){return r(e)}};var c=function(e){try{p(false);void v.error(e.message||"数据查询异常...");return f()}catch(e){return r(e)}};try{if(!s.onRequest){throw new Error("onRequest 调用接口服务不能为空")}n=s.requiredParamsKeys;t=Y({},s.params);if(n){a=n.find((function(e){return C(t[e])}));if(a){console.warn("TreeSelectorWrapper组件:参数:"+n.join("、")+"不能为空");return e()}}p(true);return Promise.resolve(s.onRequest==null?void 0:s.onRequest(t)).then((function(e){try{o=e;l=x(o);p(false);i==null?void 0:i(l);u(l);return f()}catch(e){return c(e)}}),c)}catch(e){c(e)}}))}));K((function(){if(e.treeSelectorList){u(o);return}void N()}),d);L((function(){if(!t(e.value)&&c&&c.length>0){var r=w(e.value)?e.value:[e.value];var n=[];r.forEach((function(r){var t=kn(r,c,e.fieldNames);n=n.concat(t.map((function(e){return e.value})))}));k((function(e){var r=n.concat(e||[]);return Array.from(new Set(r))}))}}),[c,e.fieldNames,e.value]);F(r,(function(){return{onClearSelectorList:function e(){u([])},getTreeSelectorList:function e(){return c}}}));var T=_.useCallbackRef((function(e){k(e)}));return P(b,H({dropdownStyle:{maxHeight:400,overflow:"auto"},showSearch:true,treeExpandedKeys:y,treeData:c,loading:h,onTreeExpand:T,treeLine:true},l,{style:H({width:"100%"},l.style)}))}));var Nn=function e(r,n,t){var o=a(n,t);return i(r,o)};var Tn=["serviceConfig","effectDependencyList","selectorTreeList","value","onChange","fieldNames"];var Sn=j((function(e,r){var n=e.serviceConfig,i=e.effectDependencyList,o=e.selectorTreeList,l=e.value,f=e.onChange,c=e.fieldNames,u=W(e,Tn);var s=A([]),d=s[0],m=s[1];var h=n||{};var p=i||[];var g=A(),b=g[0],k=g[1];var C=function e(r){return r===""||t(r)};var x=function e(r){var n=h.onRequestResultAdapter?h.onRequestResultAdapter(r):r;return n};var N=_.useCallbackRef((function(){return new Promise((function(e,r){var n,t,a,i,o;var l=function(){try{return e()}catch(e){return r(e)}};var f=function(e){try{void v.error(e.message||"数据查询异常...");return l()}catch(e){return r(e)}};try{if(!h.onRequest){throw new Error("onRequest 调用接口服务不能为空")}n=h.requiredParamsKeys;t=Y({},h.params);if(n){a=n.find((function(e){return C(t[e])}));if(a){console.warn("TreeWrapper组件:参数:"+n.join("、")+"不能为空");return e()}}return Promise.resolve(h.onRequest==null?void 0:h.onRequest(t)).then((function(e){try{i=e;o=x(i);m(o);return l()}catch(e){return f(e)}}),f)}catch(e){f(e)}}))}));K((function(){if(e.selectorTreeList){m(o);return}void N()}),p);K((function(){if(!t(l)&&d&&d.length>0&&!b){var r=w(l)?l:[l];var n=[];r.forEach((function(r){var t=Nn(r,d,e.fieldNames);n=n.concat(t.map((function(e){return e.value})))}));k((function(e){var r=n.concat(e||[]);return Array.from(new Set(r))}))}}),[d,e.fieldNames,l]);_.useUpdateEffect((function(){if(e.filterLabel){var r=a(d||[],e.fieldNames);var n=r.filter((function(r){var n;return(n=r.label)==null?void 0:n.includes(e.filterLabel||"")}));var t=[];n.map((function(r){var n=Nn(r.value,d||[],e.fieldNames);var a=n.map((function(e){return e.value}));t=t.concat(a)}));k(Array.from(new Set(t)))}else{k([])}}),[e.filterLabel]);F(r,(function(){return{onClearSelectorList:function e(){m([])},getTreeDataList:function e(){return d}}}));var S=_.useCallbackRef((function(e){k(e)}));var O=_.useCallbackRef((function(e){f==null?void 0:f(e)}));var L=_.useCallbackRef((function(r){if(e.multiple){f==null?void 0:f(r)}else{f==null?void 0:f(r[0])}}));var R=T((function(){if(t(e.value))return undefined;return w(e.value)?e.value:[e.value]}),[e.value]);var j=T((function(){var e=Y({label:"label",value:"value",children:"children"},c);return{title:e.label,key:e.value,children:e.children}}),[c]);return P(y,H({showLine:u.checkable?false:true},u,{fieldNames:j,expandedKeys:b,treeData:d,onExpand:S,selectedKeys:u.checkable?undefined:R,checkedKeys:u.checkable?R:undefined,onCheck:u.checkable?O:undefined,onSelect:u.checkable?undefined:L,style:H({width:"100%"},u.style)}))}));export{J as ButtonOperate,X as DatePickerWraper,ee as DateRangePickerWraper,zr as DrawerWraper,Hr as FileImport,Ur as FileUpload,Vr as FlexLayout,$r as Gap,nn as ModalWraper,ln as Page404,on as PageFixedFooter,$ as Permission,dn as SelectorWrapper,vn as SimpleLayout,mn as SmsCountDown,pn as TableFilterLayout,xn as TreeSelectorWrapper,Sn as TreeWrapper,Kr as createDrawerWraperModel,an as createModalWraperModel,U as getPermissionList,V as hasPermission,un as preDefinedClassName,B as styles,Gr as useEffectCustom,Jr as useEffectCustomAsync};
|
|
10
10
|
//# sourceMappingURL=index.js.map
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/01-styles/index.ts","@flatbiz/antd/src/permission/index.tsx","@flatbiz/antd/src/button-operate/index.tsx","@flatbiz/antd/src/date-picker-wraper/index.tsx","@flatbiz/antd/src/date-range-picker-wraper/index.tsx","@flatbiz/antd/src/drawer-wraper/drawer.model.ts","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/defineProperty.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","@flatbiz/antd/node_modules/@ant-design/icons-svg/es/asn/SaveOutlined.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","@flatbiz/antd/node_modules/classnames/index.js","@flatbiz/antd/node_modules/@ant-design/icons/es/components/Context.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/typeof.js","@flatbiz/antd/node_modules/@ctrl/tinycolor/dist/module/util.js","@flatbiz/antd/node_modules/@ctrl/tinycolor/dist/module/conversion.js","@flatbiz/antd/node_modules/@ctrl/tinycolor/dist/module/css-color-names.js","@flatbiz/antd/node_modules/@ctrl/tinycolor/dist/module/format-input.js","@flatbiz/antd/node_modules/@ant-design/colors/dist/index.esm.js","@flatbiz/antd/node_modules/rc-util/es/warning.js","@flatbiz/antd/node_modules/rc-util/es/Dom/canUseDom.js","@flatbiz/antd/node_modules/rc-util/es/Dom/dynamicCSS.js","@flatbiz/antd/node_modules/@ant-design/icons/es/utils.js","@flatbiz/antd/node_modules/@ant-design/icons/es/components/IconBase.js","@flatbiz/antd/node_modules/@ant-design/icons/es/components/twoTonePrimaryColor.js","@flatbiz/antd/node_modules/@ant-design/icons/es/components/AntdIcon.js","@flatbiz/antd/node_modules/@ant-design/icons/es/icons/SaveOutlined.js","@flatbiz/antd/src/drawer-wraper/drawer-operation.tsx","@flatbiz/antd/src/drawer-wraper/drawer-wraper.tsx","@flatbiz/antd/src/drawer-wraper/index.ts","@flatbiz/antd/src/file-import/index.tsx","@flatbiz/antd/src/file-upload/index.tsx","@flatbiz/antd/src/flex-layout/index.tsx","@flatbiz/antd/src/gap/index.tsx","@flatbiz/antd/src/hooks/use-effect-custom.ts","@flatbiz/antd/src/hooks/use-effect-custom-async.ts","@flatbiz/antd/src/modal-wraper/modal.model.ts","@flatbiz/antd/src/modal-wraper/modal-operation.tsx","@flatbiz/antd/src/modal-wraper/modal-wraper.tsx","@flatbiz/antd/src/modal-wraper/index.ts","@flatbiz/antd/src/page-fixed-footer/index.tsx","@flatbiz/antd/src/page404/index.tsx","@flatbiz/antd/src/selector-wrapper/index.tsx","@flatbiz/antd/src/simple-layout/index.tsx","@flatbiz/antd/src/sms-count-down/index.tsx","@flatbiz/antd/src/table-filter-layout/index.tsx"],"sourcesContent":["import { noop } from '@flatbiz/utils';\nimport './1_root.less';\nimport './2_base.less';\n\nexport const styles = noop;\n","import { isArray } from '@dimjs/lang';\nimport { getGlobalData } from '@flatbiz/utils';\nimport { FC, Fragment } from 'react';\n\nexport const getPermissionList = () => {\n const { elemAclLimits } = getGlobalData();\n const permissionList: string[] = isArray(elemAclLimits) ? elemAclLimits : [];\n return permissionList;\n};\n\nexport const hasPermission = (name: string) => {\n const permissionList = getPermissionList();\n if (permissionList.includes(name)) {\n return true;\n }\n return false;\n};\n\nexport interface PermissionProps {\n name: string;\n}\nexport const Permission: FC<PermissionProps> = (props) => {\n const permissionList = getPermissionList();\n if (permissionList.includes(props.name)) {\n return <Fragment>{props.children}</Fragment>;\n }\n return null;\n};\n","import { isUndefined } from '@dimjs/lang';\nimport { Button, ButtonProps, Divider, Popconfirm, Space, SpaceProps } from 'antd';\nimport { VFC } from 'react';\nimport { hasPermission } from '../permission';\nimport './style.less';\n\nexport interface ButtonOperateItem extends ButtonProps {\n text: string;\n color?: string;\n onClick: () => void;\n permission?: string;\n needConfirm?: boolean;\n confirmMessage?: string;\n hidden?: boolean;\n}\n\nexport interface ButtonOperateProps {\n operateList: Array<ButtonOperateItem | null>;\n wrap?: boolean;\n size?: SpaceProps['size'];\n}\n\nexport const ButtonOperate: VFC<ButtonOperateProps> = (props) => {\n return (\n <div className=\"table-operate\">\n <Space\n split={<Divider type=\"vertical\" />}\n size={props.size}\n wrap={isUndefined(props.wrap) ? true : props.wrap}\n >\n {props.operateList.map((item, index) => {\n if (!item) return null;\n const {\n text,\n color,\n onClick,\n permission,\n needConfirm,\n confirmMessage,\n hidden,\n style,\n ...otherProps\n } = item;\n if (hidden) return null;\n if (permission && !hasPermission(permission)) return null;\n const newStyle = color ? { color, ...style } : style;\n const type = item.type || 'link';\n if (needConfirm) {\n return (\n <Popconfirm\n title={confirmMessage}\n okText=\"确定\"\n cancelText=\"取消\"\n onConfirm={onClick}\n arrowPointAtCenter={true}\n key={index}\n >\n <Button {...otherProps} onClick={undefined} type={type} danger style={newStyle}>\n {text}\n </Button>\n </Popconfirm>\n );\n }\n return (\n <Button {...otherProps} type={type} style={newStyle} key={index} onClick={onClick}>\n {text}\n </Button>\n );\n })}\n </Space>\n </div>\n );\n};\n\nButtonOperate.defaultProps = {\n size: 0,\n};\n","import { flatbizDate } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { DatePicker } from 'antd';\nimport { PickerDateProps } from 'antd/lib/date-picker/generatePicker';\nimport moment from 'moment';\nimport { useMemo, VFC } from 'react';\n\nexport type DatePickerWraperProps = {\n value?: string;\n onChange?: (value?: string) => void;\n} & Omit<PickerDateProps<moment.Moment>, 'value' | 'onChange'>;\n\n/**\n * DatePicker包装组件\n * ```\n * 1. value类型为 string\n * 2. onChange返回类型 string\n * 3. 默认格式化类型 YYYY-MM-DD; 当showTime===true时,默认格式化类型YYYY-MM-DD HH:mm:ss\n * 4. 其他格式化类型自定义format\n * ```\n */\nexport const DatePickerWraper: VFC<DatePickerWraperProps> = (props) => {\n const { value, onChange, style, ...otherProps } = props;\n const format = useMemo(() => {\n if (props.format) return props.format as string;\n if (props.showTime) return 'YYYY-MM-DD HH:mm:ss';\n return 'YYYY-MM-DD';\n }, [props.showTime, props.format]);\n\n const onChangeDate = hooks.useCallbackRef((value) => {\n if (value) {\n onChange?.(moment(value).format(format));\n } else {\n onChange?.(undefined);\n }\n });\n\n const datePickerValue = value && flatbizDate.isDate(value) ? moment(new Date(value)) : undefined;\n\n return (\n <DatePicker\n {...otherProps}\n style={{ width: '100%', ...style }}\n value={datePickerValue}\n onChange={onChangeDate}\n />\n );\n};\n","import { flatbizDate } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { DatePicker } from 'antd';\nimport { RangePickerDateProps } from 'antd/lib/date-picker/generatePicker';\nimport moment from 'moment';\nimport { useMemo, VFC } from 'react';\n\nexport type DateRangePickerWraperProps = {\n value?: [string, string];\n onChange?: (value?: [string, string]) => void;\n} & Omit<RangePickerDateProps<moment.Moment>, 'value' | 'onChange'>;\n\n/**\n * DatePicker.RangePicker包装组件\n * ```\n * 1. value类型为 [string, string]\n * 2. onChange返回类型 [string, string]\n * 3. 默认格式化类型 YYYY-MM-DD; 当showTime===true时,默认格式化类型YYYY-MM-DD HH:mm:ss\n * 4. 其他格式化类型自定义format\n * ```\n */\nexport const DateRangePickerWraper: VFC<DateRangePickerWraperProps> = (props) => {\n const { value, onChange, style, ...otherProps } = props;\n\n const format = useMemo(() => {\n if (props.format) return props.format as string;\n if (props.showTime === true) return 'YYYY-MM-DD HH:mm:ss';\n return 'YYYY-MM-DD';\n }, [props.showTime, props.format]);\n\n const onChangeDate = hooks.useCallbackRef((values) => {\n if (values) {\n const [value1, value2] = values || [];\n onChange?.([moment(value1).format(format), moment(value2).format(format)]);\n } else {\n onChange?.(undefined);\n }\n });\n\n const [date1, date2] = value || [];\n\n const rangePickerValue =\n date1 && date2 && flatbizDate.isDate(date1) && flatbizDate.isDate(date2)\n ? [moment(new Date(date1)), moment(new Date(date2))]\n : undefined;\n\n return (\n <DatePicker.RangePicker\n {...otherProps}\n style={{ width: '100%', ...style }}\n value={rangePickerValue as [moment.Moment, moment.Moment]}\n onChange={onChangeDate}\n />\n );\n};\n","import { ModelType } from '@dimjs/model';\n\nexport interface DrawerStateType {\n title: string;\n /**\n * 显示drawer\n */\n visible: boolean;\n /**\n * 用来处理form, `更新`的时候的传递当前item列表行的数据, 当`创建`的时候强制设置为 `undefined`\n */\n itemData?: Record<string, any>;\n operateType: 'create' | 'update' | 'view';\n pageLoading?: boolean;\n}\n\nexport interface DrawerActionsParamType {\n openDrawerForm: Pick<DrawerStateType, 'title' | 'itemData' | 'operateType' | 'pageLoading'>;\n closeDrawer: void;\n setDrawerItemData: Record<string, any>;\n}\n\n/**\n * @shared\n * 提供公共的drawer处理, 通常用来表单编辑, 弹窗抽屉模式.\n * 注意全部理论上只允许一个drawer实例存在,如需处理多个, 请自行实例话模型.\n */\nexport const DrawerModel: ModelType<DrawerStateType, DrawerActionsParamType> = {\n actions: {\n openDrawerForm({ itemData, title, operateType, pageLoading }) {\n return (state) => {\n state.itemData = itemData;\n state.title = title;\n state.operateType = operateType;\n state.pageLoading = pageLoading;\n state.visible = true;\n };\n },\n closeDrawer() {\n return (state) => {\n state.visible = false;\n };\n },\n setDrawerItemData(params) {\n return (state) => {\n state.pageLoading = false;\n state.itemData = params;\n };\n },\n },\n state: {\n visible: false,\n title: '',\n operateType: 'view',\n },\n};\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}","// This icon file is generated automatically.\nvar SaveOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840zM512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z\" } }] }, \"name\": \"save\", \"theme\": \"outlined\" };\nexport default SaveOutlined;\n","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import { createContext } from 'react';\nvar IconContext = /*#__PURE__*/createContext({});\nexport default IconContext;","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","/**\n * Take input from [0, n] and return it as [0, 1]\n * @hidden\n */\nexport function bound01(n, max) {\n if (isOnePointZero(n)) {\n n = '100%';\n }\n var isPercent = isPercentage(n);\n n = max === 360 ? n : Math.min(max, Math.max(0, parseFloat(n)));\n // Automatically convert percentage into number\n if (isPercent) {\n n = parseInt(String(n * max), 10) / 100;\n }\n // Handle floating point rounding errors\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n }\n // Convert into [0, 1] range if it isn't already\n if (max === 360) {\n // If n is a hue given in degrees,\n // wrap around out-of-range values into [0, 360] range\n // then convert into [0, 1].\n n = (n < 0 ? (n % max) + max : n % max) / parseFloat(String(max));\n }\n else {\n // If n not a hue given in degrees\n // Convert into [0, 1] range if it isn't already.\n n = (n % max) / parseFloat(String(max));\n }\n return n;\n}\n/**\n * Force a number between 0 and 1\n * @hidden\n */\nexport function clamp01(val) {\n return Math.min(1, Math.max(0, val));\n}\n/**\n * Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n * <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\n * @hidden\n */\nexport function isOnePointZero(n) {\n return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1;\n}\n/**\n * Check to see if string passed in is a percentage\n * @hidden\n */\nexport function isPercentage(n) {\n return typeof n === 'string' && n.indexOf('%') !== -1;\n}\n/**\n * Return a valid alpha value [0,1] with all invalid values being set to 1\n * @hidden\n */\nexport function boundAlpha(a) {\n a = parseFloat(a);\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n return a;\n}\n/**\n * Replace a decimal with it's percentage value\n * @hidden\n */\nexport function convertToPercentage(n) {\n if (n <= 1) {\n return Number(n) * 100 + \"%\";\n }\n return n;\n}\n/**\n * Force a hex value to have 2 characters\n * @hidden\n */\nexport function pad2(c) {\n return c.length === 1 ? '0' + c : String(c);\n}\n","import { bound01, pad2 } from './util';\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n/**\n * Handle bounds / percentage checking to conform to CSS color spec\n * <http://www.w3.org/TR/css3-color/>\n * *Assumes:* r, g, b in [0, 255] or [0, 1]\n * *Returns:* { r, g, b } in [0, 255]\n */\nexport function rgbToRgb(r, g, b) {\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255,\n };\n}\n/**\n * Converts an RGB color value to HSL.\n * *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n * *Returns:* { h, s, l } in [0,1]\n */\nexport function rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var s = 0;\n var l = (max + min) / 2;\n if (max === min) {\n s = 0;\n h = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, l: l };\n}\nfunction hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * (6 * t);\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n/**\n * Converts an HSL color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hslToRgb(h, s, l) {\n var r;\n var g;\n var b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n if (s === 0) {\n // achromatic\n g = l;\n b = l;\n r = l;\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color value to HSV\n *\n * *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n * *Returns:* { h, s, v } in [0,1]\n */\nexport function rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var v = max;\n var d = max - min;\n var s = max === 0 ? 0 : d / max;\n if (max === min) {\n h = 0; // achromatic\n }\n else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n/**\n * Converts an HSV color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n var i = Math.floor(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - f * s);\n var t = v * (1 - (1 - f) * s);\n var mod = i % 6;\n var r = [v, q, p, p, t, v][mod];\n var g = [t, v, v, q, p, p][mod];\n var b = [p, p, t, v, v, q][mod];\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color to hex\n *\n * Assumes r, g, and b are contained in the set [0, 255]\n * Returns a 3 or 6 character hex\n */\nexport function rgbToHex(r, g, b, allow3Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n // Return a 3 character hex if possible\n if (allow3Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color plus alpha transparency to hex\n *\n * Assumes r, g, b are contained in the set [0, 255] and\n * a in [0, 1]. Returns a 4 or 8 character rgba hex\n */\n// eslint-disable-next-line max-params\nexport function rgbaToHex(r, g, b, a, allow4Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n pad2(convertDecimalToHex(a)),\n ];\n // Return a 4 character hex if possible\n if (allow4Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1)) &&\n hex[3].startsWith(hex[3].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color to an ARGB Hex8 string\n * Rarely used, but required for \"toFilter()\"\n */\nexport function rgbaToArgbHex(r, g, b, a) {\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n return hex.join('');\n}\n/** Converts a decimal to a hex value */\nexport function convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n/** Converts a hex value to a decimal */\nexport function convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n}\n/** Parse a base-16 hex value into a base-10 integer */\nexport function parseIntFromHex(val) {\n return parseInt(val, 16);\n}\nexport function numberInputToObject(color) {\n return {\n r: color >> 16,\n g: (color & 0xff00) >> 8,\n b: color & 0xff,\n };\n}\n","// https://github.com/bahamas10/css-color-names/blob/master/css-color-names.json\n/**\n * @hidden\n */\nexport var names = {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n goldenrod: '#daa520',\n gold: '#ffd700',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n lavenderblush: '#fff0f5',\n lavender: '#e6e6fa',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32',\n};\n","import { convertHexToDecimal, hslToRgb, hsvToRgb, parseIntFromHex, rgbToRgb } from './conversion';\nimport { names } from './css-color-names';\nimport { boundAlpha, convertToPercentage } from './util';\n/**\n * Given a string or object, convert that input to RGB\n *\n * Possible string inputs:\n * ```\n * \"red\"\n * \"#f00\" or \"f00\"\n * \"#ff0000\" or \"ff0000\"\n * \"#ff000000\" or \"ff000000\"\n * \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n * \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n * \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n * \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n * \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n * \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n * \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n * ```\n */\nexport function inputToRGB(color) {\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n if (typeof color === 'string') {\n color = stringInputToObject(color);\n }\n if (typeof color === 'object') {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === '%' ? 'prgb' : 'rgb';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = 'hsv';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = 'hsl';\n }\n if (Object.prototype.hasOwnProperty.call(color, 'a')) {\n a = color.a;\n }\n }\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a: a,\n };\n}\n// <http://www.w3.org/TR/css3-values/#integers>\nvar CSS_INTEGER = '[-\\\\+]?\\\\d+%?';\n// <http://www.w3.org/TR/css3-values/#number-value>\nvar CSS_NUMBER = '[-\\\\+]?\\\\d*\\\\.\\\\d+%?';\n// Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\nvar CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n// Actual matching.\n// Parentheses and commas are optional, but not required.\n// Whitespace can take the place of commas or opening paren\nvar PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\nvar PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\nvar matchers = {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp('rgb' + PERMISSIVE_MATCH3),\n rgba: new RegExp('rgba' + PERMISSIVE_MATCH4),\n hsl: new RegExp('hsl' + PERMISSIVE_MATCH3),\n hsla: new RegExp('hsla' + PERMISSIVE_MATCH4),\n hsv: new RegExp('hsv' + PERMISSIVE_MATCH3),\n hsva: new RegExp('hsva' + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n};\n/**\n * Permissive string parsing. Take in a number of formats, and output an object\n * based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\n */\nexport function stringInputToObject(color) {\n color = color.trim().toLowerCase();\n if (color.length === 0) {\n return false;\n }\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color === 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: 'name' };\n }\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match = matchers.rgb.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n match = matchers.rgba.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n match = matchers.hsl.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n match = matchers.hsla.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n match = matchers.hsv.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n match = matchers.hsva.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n match = matchers.hex8.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex6.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n match = matchers.hex4.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n a: convertHexToDecimal(match[4] + match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex3.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n return false;\n}\n/**\n * Check to see if it looks like a CSS unit\n * (see `matchers` above for definition).\n */\nexport function isValidCSSUnit(color) {\n return Boolean(matchers.CSS_UNIT.exec(String(color)));\n}\n","import { inputToRGB, rgbToHex, rgbToHsv } from '@ctrl/tinycolor';\n\nvar hueStep = 2; // 色相阶梯\n\nvar saturationStep = 0.16; // 饱和度阶梯,浅色部分\n\nvar saturationStep2 = 0.05; // 饱和度阶梯,深色部分\n\nvar brightnessStep1 = 0.05; // 亮度阶梯,浅色部分\n\nvar brightnessStep2 = 0.15; // 亮度阶梯,深色部分\n\nvar lightColorCount = 5; // 浅色数量,主色上\n\nvar darkColorCount = 4; // 深色数量,主色下\n// 暗色主题颜色映射关系表\n\nvar darkColorMap = [{\n index: 7,\n opacity: 0.15\n}, {\n index: 6,\n opacity: 0.25\n}, {\n index: 5,\n opacity: 0.3\n}, {\n index: 5,\n opacity: 0.45\n}, {\n index: 5,\n opacity: 0.65\n}, {\n index: 5,\n opacity: 0.85\n}, {\n index: 4,\n opacity: 0.9\n}, {\n index: 3,\n opacity: 0.95\n}, {\n index: 2,\n opacity: 0.97\n}, {\n index: 1,\n opacity: 0.98\n}]; // Wrapper function ported from TinyColor.prototype.toHsv\n// Keep it here because of `hsv.h * 360`\n\nfunction toHsv(_ref) {\n var r = _ref.r,\n g = _ref.g,\n b = _ref.b;\n var hsv = rgbToHsv(r, g, b);\n return {\n h: hsv.h * 360,\n s: hsv.s,\n v: hsv.v\n };\n} // Wrapper function ported from TinyColor.prototype.toHexString\n// Keep it here because of the prefix `#`\n\n\nfunction toHex(_ref2) {\n var r = _ref2.r,\n g = _ref2.g,\n b = _ref2.b;\n return \"#\".concat(rgbToHex(r, g, b, false));\n} // Wrapper function ported from TinyColor.prototype.mix, not treeshakable.\n// Amount in range [0, 1]\n// Assume color1 & color2 has no alpha, since the following src code did so.\n\n\nfunction mix(rgb1, rgb2, amount) {\n var p = amount / 100;\n var rgb = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b\n };\n return rgb;\n}\n\nfunction getHue(hsv, i, light) {\n var hue; // 根据色相不同,色相转向不同\n\n if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) {\n hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i;\n } else {\n hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i;\n }\n\n if (hue < 0) {\n hue += 360;\n } else if (hue >= 360) {\n hue -= 360;\n }\n\n return hue;\n}\n\nfunction getSaturation(hsv, i, light) {\n // grey color don't change saturation\n if (hsv.h === 0 && hsv.s === 0) {\n return hsv.s;\n }\n\n var saturation;\n\n if (light) {\n saturation = hsv.s - saturationStep * i;\n } else if (i === darkColorCount) {\n saturation = hsv.s + saturationStep;\n } else {\n saturation = hsv.s + saturationStep2 * i;\n } // 边界值修正\n\n\n if (saturation > 1) {\n saturation = 1;\n } // 第一格的 s 限制在 0.06-0.1 之间\n\n\n if (light && i === lightColorCount && saturation > 0.1) {\n saturation = 0.1;\n }\n\n if (saturation < 0.06) {\n saturation = 0.06;\n }\n\n return Number(saturation.toFixed(2));\n}\n\nfunction getValue(hsv, i, light) {\n var value;\n\n if (light) {\n value = hsv.v + brightnessStep1 * i;\n } else {\n value = hsv.v - brightnessStep2 * i;\n }\n\n if (value > 1) {\n value = 1;\n }\n\n return Number(value.toFixed(2));\n}\n\nfunction generate(color) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var patterns = [];\n var pColor = inputToRGB(color);\n\n for (var i = lightColorCount; i > 0; i -= 1) {\n var hsv = toHsv(pColor);\n var colorString = toHex(inputToRGB({\n h: getHue(hsv, i, true),\n s: getSaturation(hsv, i, true),\n v: getValue(hsv, i, true)\n }));\n patterns.push(colorString);\n }\n\n patterns.push(toHex(pColor));\n\n for (var _i = 1; _i <= darkColorCount; _i += 1) {\n var _hsv = toHsv(pColor);\n\n var _colorString = toHex(inputToRGB({\n h: getHue(_hsv, _i),\n s: getSaturation(_hsv, _i),\n v: getValue(_hsv, _i)\n }));\n\n patterns.push(_colorString);\n } // dark theme patterns\n\n\n if (opts.theme === 'dark') {\n return darkColorMap.map(function (_ref3) {\n var index = _ref3.index,\n opacity = _ref3.opacity;\n var darkColorString = toHex(mix(inputToRGB(opts.backgroundColor || '#141414'), inputToRGB(patterns[index]), opacity * 100));\n return darkColorString;\n });\n }\n\n return patterns;\n}\n\nvar presetPrimaryColors = {\n red: '#F5222D',\n volcano: '#FA541C',\n orange: '#FA8C16',\n gold: '#FAAD14',\n yellow: '#FADB14',\n lime: '#A0D911',\n green: '#52C41A',\n cyan: '#13C2C2',\n blue: '#1890FF',\n geekblue: '#2F54EB',\n purple: '#722ED1',\n magenta: '#EB2F96',\n grey: '#666666'\n};\nvar presetPalettes = {};\nvar presetDarkPalettes = {};\nObject.keys(presetPrimaryColors).forEach(function (key) {\n presetPalettes[key] = generate(presetPrimaryColors[key]);\n presetPalettes[key].primary = presetPalettes[key][5]; // dark presetPalettes\n\n presetDarkPalettes[key] = generate(presetPrimaryColors[key], {\n theme: 'dark',\n backgroundColor: '#141414'\n });\n presetDarkPalettes[key].primary = presetDarkPalettes[key][5];\n});\nvar red = presetPalettes.red;\nvar volcano = presetPalettes.volcano;\nvar gold = presetPalettes.gold;\nvar orange = presetPalettes.orange;\nvar yellow = presetPalettes.yellow;\nvar lime = presetPalettes.lime;\nvar green = presetPalettes.green;\nvar cyan = presetPalettes.cyan;\nvar blue = presetPalettes.blue;\nvar geekblue = presetPalettes.geekblue;\nvar purple = presetPalettes.purple;\nvar magenta = presetPalettes.magenta;\nvar grey = presetPalettes.grey;\n\nexport { blue, cyan, geekblue, generate, gold, green, grey, lime, magenta, orange, presetDarkPalettes, presetPalettes, presetPrimaryColors, purple, red, volcano, yellow };\n","/* eslint-disable no-console */\nvar warned = {};\nexport function warning(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.error(\"Warning: \".concat(message));\n }\n}\nexport function note(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.warn(\"Note: \".concat(message));\n }\n}\nexport function resetWarned() {\n warned = {};\n}\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\nexport default warningOnce;\n/* eslint-enable */","export default function canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","import canUseDom from './canUseDom';\nvar MARK_KEY = \"rc-util-key\";\n\nfunction getMark() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n mark = _ref.mark;\n\n if (mark) {\n return mark.startsWith('data-') ? mark : \"data-\".concat(mark);\n }\n\n return MARK_KEY;\n}\n\nfunction getContainer(option) {\n if (option.attachTo) {\n return option.attachTo;\n }\n\n var head = document.querySelector('head');\n return head || document.body;\n}\n\nexport function injectCSS(css) {\n var _option$csp;\n\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!canUseDom()) {\n return null;\n }\n\n var styleNode = document.createElement('style');\n\n if ((_option$csp = option.csp) === null || _option$csp === void 0 ? void 0 : _option$csp.nonce) {\n var _option$csp2;\n\n styleNode.nonce = (_option$csp2 = option.csp) === null || _option$csp2 === void 0 ? void 0 : _option$csp2.nonce;\n }\n\n styleNode.innerHTML = css;\n var container = getContainer(option);\n var firstChild = container.firstChild;\n\n if (option.prepend && container.prepend) {\n // Use `prepend` first\n container.prepend(styleNode);\n } else if (option.prepend && firstChild) {\n // Fallback to `insertBefore` like IE not support `prepend`\n container.insertBefore(styleNode, firstChild);\n } else {\n container.appendChild(styleNode);\n }\n\n return styleNode;\n}\nvar containerCache = new Map();\n\nfunction findExistNode(key) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var container = getContainer(option);\n return Array.from(containerCache.get(container).children).find(function (node) {\n return node.tagName === 'STYLE' && node.getAttribute(getMark(option)) === key;\n });\n}\n\nexport function removeCSS(key) {\n var _existNode$parentNode;\n\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var existNode = findExistNode(key, option);\n existNode === null || existNode === void 0 ? void 0 : (_existNode$parentNode = existNode.parentNode) === null || _existNode$parentNode === void 0 ? void 0 : _existNode$parentNode.removeChild(existNode);\n}\nexport function updateCSS(css, key) {\n var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var container = getContainer(option); // Get real parent\n\n if (!containerCache.has(container)) {\n var placeholderStyle = injectCSS('', option);\n var parentNode = placeholderStyle.parentNode;\n containerCache.set(container, parentNode);\n parentNode.removeChild(placeholderStyle);\n }\n\n var existNode = findExistNode(key, option);\n\n if (existNode) {\n var _option$csp3, _option$csp4;\n\n if (((_option$csp3 = option.csp) === null || _option$csp3 === void 0 ? void 0 : _option$csp3.nonce) && existNode.nonce !== ((_option$csp4 = option.csp) === null || _option$csp4 === void 0 ? void 0 : _option$csp4.nonce)) {\n var _option$csp5;\n\n existNode.nonce = (_option$csp5 = option.csp) === null || _option$csp5 === void 0 ? void 0 : _option$csp5.nonce;\n }\n\n if (existNode.innerHTML !== css) {\n existNode.innerHTML = css;\n }\n\n return existNode;\n }\n\n var newNode = injectCSS(css, option);\n newNode.setAttribute(getMark(option), key);\n return newNode;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { generate as generateColor } from '@ant-design/colors';\nimport React, { useContext, useEffect } from 'react';\nimport warn from \"rc-util/es/warning\";\nimport { updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport IconContext from './components/Context';\nexport function warning(valid, message) {\n warn(valid, \"[@ant-design/icons] \".concat(message));\n}\nexport function isIconDefinition(target) {\n return _typeof(target) === 'object' && typeof target.name === 'string' && typeof target.theme === 'string' && (_typeof(target.icon) === 'object' || typeof target.icon === 'function');\n}\nexport function normalizeAttrs() {\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return Object.keys(attrs).reduce(function (acc, key) {\n var val = attrs[key];\n\n switch (key) {\n case 'class':\n acc.className = val;\n delete acc.class;\n break;\n\n default:\n acc[key] = val;\n }\n\n return acc;\n }, {});\n}\nexport function generate(node, key, rootProps) {\n if (!rootProps) {\n return /*#__PURE__*/React.createElement(node.tag, _objectSpread({\n key: key\n }, normalizeAttrs(node.attrs)), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n }\n\n return /*#__PURE__*/React.createElement(node.tag, _objectSpread(_objectSpread({\n key: key\n }, normalizeAttrs(node.attrs)), rootProps), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n}\nexport function getSecondaryColor(primaryColor) {\n // choose the second color\n return generateColor(primaryColor)[0];\n}\nexport function normalizeTwoToneColors(twoToneColor) {\n if (!twoToneColor) {\n return [];\n }\n\n return Array.isArray(twoToneColor) ? twoToneColor : [twoToneColor];\n} // These props make sure that the SVG behaviours like general text.\n// Reference: https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\n\nexport var svgBaseProps = {\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true',\n focusable: 'false'\n};\nexport var iconStyles = \"\\n.anticon {\\n display: inline-block;\\n color: inherit;\\n font-style: normal;\\n line-height: 0;\\n text-align: center;\\n text-transform: none;\\n vertical-align: -0.125em;\\n text-rendering: optimizeLegibility;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.anticon > * {\\n line-height: 1;\\n}\\n\\n.anticon svg {\\n display: inline-block;\\n}\\n\\n.anticon::before {\\n display: none;\\n}\\n\\n.anticon .anticon-icon {\\n display: block;\\n}\\n\\n.anticon[tabindex] {\\n cursor: pointer;\\n}\\n\\n.anticon-spin::before,\\n.anticon-spin {\\n display: inline-block;\\n -webkit-animation: loadingCircle 1s infinite linear;\\n animation: loadingCircle 1s infinite linear;\\n}\\n\\n@-webkit-keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\";\nexport var useInsertStyles = function useInsertStyles() {\n var styleStr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : iconStyles;\n\n var _useContext = useContext(IconContext),\n csp = _useContext.csp;\n\n useEffect(function () {\n updateCSS(styleStr, '@ant-design-icons', {\n prepend: true,\n csp: csp\n });\n }, []);\n};","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nvar _excluded = [\"icon\", \"className\", \"onClick\", \"style\", \"primaryColor\", \"secondaryColor\"];\nimport { generate, getSecondaryColor, isIconDefinition, warning, useInsertStyles } from '../utils';\nvar twoToneColorPalette = {\n primaryColor: '#333',\n secondaryColor: '#E6E6E6',\n calculated: false\n};\n\nfunction setTwoToneColors(_ref) {\n var primaryColor = _ref.primaryColor,\n secondaryColor = _ref.secondaryColor;\n twoToneColorPalette.primaryColor = primaryColor;\n twoToneColorPalette.secondaryColor = secondaryColor || getSecondaryColor(primaryColor);\n twoToneColorPalette.calculated = !!secondaryColor;\n}\n\nfunction getTwoToneColors() {\n return _objectSpread({}, twoToneColorPalette);\n}\n\nvar IconBase = function IconBase(props) {\n var icon = props.icon,\n className = props.className,\n onClick = props.onClick,\n style = props.style,\n primaryColor = props.primaryColor,\n secondaryColor = props.secondaryColor,\n restProps = _objectWithoutProperties(props, _excluded);\n\n var colors = twoToneColorPalette;\n\n if (primaryColor) {\n colors = {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor || getSecondaryColor(primaryColor)\n };\n }\n\n useInsertStyles();\n warning(isIconDefinition(icon), \"icon should be icon definiton, but got \".concat(icon));\n\n if (!isIconDefinition(icon)) {\n return null;\n }\n\n var target = icon;\n\n if (target && typeof target.icon === 'function') {\n target = _objectSpread(_objectSpread({}, target), {}, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n\n return generate(target.icon, \"svg-\".concat(target.name), _objectSpread({\n className: className,\n onClick: onClick,\n style: style,\n 'data-icon': target.name,\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true'\n }, restProps));\n};\n\nIconBase.displayName = 'IconReact';\nIconBase.getTwoToneColors = getTwoToneColors;\nIconBase.setTwoToneColors = setTwoToneColors;\nexport default IconBase;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport ReactIcon from './IconBase';\nimport { normalizeTwoToneColors } from '../utils';\nexport function setTwoToneColor(twoToneColor) {\n var _normalizeTwoToneColo = normalizeTwoToneColors(twoToneColor),\n _normalizeTwoToneColo2 = _slicedToArray(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n\n return ReactIcon.setTwoToneColors({\n primaryColor: primaryColor,\n secondaryColor: secondaryColor\n });\n}\nexport function getTwoToneColor() {\n var colors = ReactIcon.getTwoToneColors();\n\n if (!colors.calculated) {\n return colors.primaryColor;\n }\n\n return [colors.primaryColor, colors.secondaryColor];\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"className\", \"icon\", \"spin\", \"rotate\", \"tabIndex\", \"onClick\", \"twoToneColor\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Context from './Context';\nimport ReactIcon from './IconBase';\nimport { getTwoToneColor, setTwoToneColor } from './twoTonePrimaryColor';\nimport { normalizeTwoToneColors } from '../utils'; // Initial setting\n// should move it to antd main repo?\n\nsetTwoToneColor('#1890ff');\nvar Icon = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n\n var className = props.className,\n icon = props.icon,\n spin = props.spin,\n rotate = props.rotate,\n tabIndex = props.tabIndex,\n onClick = props.onClick,\n twoToneColor = props.twoToneColor,\n restProps = _objectWithoutProperties(props, _excluded);\n\n var _React$useContext = React.useContext(Context),\n _React$useContext$pre = _React$useContext.prefixCls,\n prefixCls = _React$useContext$pre === void 0 ? 'anticon' : _React$useContext$pre;\n\n var classString = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(icon.name), !!icon.name), _defineProperty(_classNames, \"\".concat(prefixCls, \"-spin\"), !!spin || icon.name === 'loading'), _classNames), className);\n var iconTabIndex = tabIndex;\n\n if (iconTabIndex === undefined && onClick) {\n iconTabIndex = -1;\n }\n\n var svgStyle = rotate ? {\n msTransform: \"rotate(\".concat(rotate, \"deg)\"),\n transform: \"rotate(\".concat(rotate, \"deg)\")\n } : undefined;\n\n var _normalizeTwoToneColo = normalizeTwoToneColors(twoToneColor),\n _normalizeTwoToneColo2 = _slicedToArray(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n\n return /*#__PURE__*/React.createElement(\"span\", _objectSpread(_objectSpread({\n role: \"img\",\n \"aria-label\": icon.name\n }, restProps), {}, {\n ref: ref,\n tabIndex: iconTabIndex,\n onClick: onClick,\n className: classString\n }), /*#__PURE__*/React.createElement(ReactIcon, {\n icon: icon,\n primaryColor: primaryColor,\n secondaryColor: secondaryColor,\n style: svgStyle\n }));\n});\nIcon.displayName = 'AntdIcon';\nIcon.getTwoToneColor = getTwoToneColor;\nIcon.setTwoToneColor = setTwoToneColor;\nexport default Icon;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport SaveOutlinedSvg from \"@ant-design/icons-svg/es/asn/SaveOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar SaveOutlined = function SaveOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: SaveOutlinedSvg\n }));\n};\n\nSaveOutlined.displayName = 'SaveOutlined';\nexport default /*#__PURE__*/React.forwardRef(SaveOutlined);","import { SaveOutlined } from '@ant-design/icons';\nimport { Button, ButtonProps, Space } from 'antd';\n\nexport interface DrawerOperationProps {\n loading?: boolean;\n okText?: string;\n cancelText?: string;\n onOk?: () => void;\n onCancel?: () => void;\n hideOkBtn?: boolean;\n okButtonProps?: Omit<ButtonProps, 'onClick' | 'loading' | 'className'>;\n cancelButtonProps?: Omit<ButtonProps, 'onClick' | 'loading' | 'className'>;\n}\n\nexport const DrawerOperation = (props: DrawerOperationProps) => {\n return (\n <div className=\"fixed-bottom-block\">\n <Space size=\"middle\">\n <Button {...props.cancelButtonProps} className=\"cancel-btn\" onClick={props.onCancel}>\n {props.cancelText || '取消'}\n </Button>\n {props.hideOkBtn != true && (\n <Button\n type=\"primary\"\n icon={<SaveOutlined />}\n {...props.okButtonProps}\n className=\"ok-btn\"\n onClick={props.onOk}\n loading={props.loading}\n >\n {props.okText || '提交'}\n </Button>\n )}\n </Space>\n </div>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Drawer, DrawerProps } from 'antd';\nimport React, { FC } from 'react';\nimport { DrawerOperation, DrawerOperationProps } from './drawer-operation';\nimport './style.less';\n\nexport type DrawerFormProps = {\n className?: string;\n /**\n * 整个drawer页面级的spinning <Page loading />\n */\n pageLoading?: boolean;\n // 设置了 DrawerProps footer属性后,operationProps配置将失效\n operationProps?: DrawerOperationProps;\n} & DrawerProps;\n\nconst PageLoader = () => {\n return (\n <div className=\"drawer-wraper-loader\">\n <div className=\"loader-wrapper\">\n <div className=\"loader-inner\" />\n <div className=\"loader-text\">LOADING</div>\n </div>\n </div>\n );\n};\n\nexport const DrawerWraper: FC<DrawerFormProps> = (props) => {\n const { pageLoading, className, width = 600, children, footer, operationProps, ...otherProps } = props;\n\n return (\n <Drawer\n className={classNames('drawer-wraper', className)}\n keyboard={false}\n forceRender={true}\n destroyOnClose={true}\n {...otherProps}\n width={'80%'}\n contentWrapperStyle={{ maxWidth: width }}\n footer={footer || footer === null ? footer : <DrawerOperation {...operationProps} />}\n size=\"default\"\n >\n <div className=\"drawer-wraper-content\">{children}</div>\n {pageLoading && <PageLoader />}\n </Drawer>\n );\n};\n","import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { DrawerActionsParamType, DrawerModel, DrawerStateType } from './drawer.model';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst drawerModels: Record<string, API<ModelType<DrawerStateType, DrawerActionsParamType, any>>> = {};\n\n/**\n * drawer弹窗模型\n * @param key 唯一值必传\n * @returns\n *\n * ```\n * 使用方式\n * const [drawerState, drawerActions] = createDrawerWraperModel('key值').useStore();\n * ```\n */\nexport const createDrawerWraperModel = (key: string) => {\n if (!drawerModels[key]) {\n drawerModels[key] = Model(DrawerModel);\n }\n return drawerModels[key];\n};\n\nexport * from './drawer-wraper';\n","import { message, Upload, UploadProps } from 'antd';\nimport { FC } from 'react';\n\nexport type FileImportProps = {\n onImportFinish: (data) => void;\n} & Omit<UploadProps, 'onChange' | 'fileList' | 'onPreview'>;\n\n/**\n * 文件导入\n * ```\n * 默认值:\n * name: 'file',\n * accept: '.xlsx,.xls',\n * ```\n */\nexport const FileImport: FC<FileImportProps> = (props) => {\n const { onImportFinish, ...otherProps } = props;\n const uploadProps = {\n showUploadList: false,\n onChange(info) {\n if (info.file.status !== 'uploading') {\n console.log('FileImport uploading');\n }\n if (info.file.status === 'done') {\n const respData = info.file.response;\n if (respData.code === '0000') {\n onImportFinish(respData.data);\n } else {\n void message.error(respData.message || '文件导入异常...');\n }\n } else if (info.file.status === 'error') {\n void message.error('文件导入异常...');\n }\n },\n ...otherProps,\n };\n\n return <Upload {...uploadProps}>{props.children}</Upload>;\n};\n\nFileImport.defaultProps = {\n name: 'file',\n accept: '.xlsx,.xls',\n};\n","import { isArray } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Upload, UploadProps } from 'antd';\nimport { UploadChangeParam } from 'antd/lib/upload';\nimport { UploadFile } from 'antd/lib/upload/interface';\nimport { FC, useEffect, useState } from 'react';\nimport './style.less';\n\nexport type FileUploadItem = {\n fileKey: string;\n fileName: string;\n};\n\ntype AntdFileUploadItem = {\n uid: string;\n name: string;\n fileKey: string;\n};\n\nexport type FileUploadProps = {\n onChange?: (value?: FileUploadItem[]) => void;\n onUploadError?: (message?: string) => void;\n value?: FileUploadItem[];\n onPreview?: (item: FileUploadItem) => void;\n onUploadChange?: (info: UploadChangeParam<UploadFile>) => void;\n} & Omit<UploadProps, 'onChange' | 'fileList' | 'onPreview'>;\n\n/**\n * 文件上传,结合Form使用最佳\n * ```\n * 接口返回结构:\n * formData上传接口必须返回fileKey值\n * {\n * code: '0000',\n * data: {\n * fileKey: '预览文件对应的fileKey'\n * }\n * }\n * ```\n * ```\n * 最佳使用方式:\n * <Form.Item name=\"attachmentList\" label=\"附件\">\n * <FileUpload action={uploadUrl} onPreview={onPreviewFile}>\n * <Button type=\"primary\">选择文件导入</Button>\n * </FileUpload>\n * </Form.Item>\n * ```\n *\n */\nexport const FileUpload: FC<FileUploadProps> = (props) => {\n const { onChange, onUploadError, onPreview, value, ...otherProps } = props;\n const [uploadValue, setUploadValue] = useState<AntdFileUploadItem[]>([]);\n useEffect(() => {\n if (value && isArray(value)) {\n setUploadValue(\n value.map((item) => {\n return {\n uid: item['uid'] || item.fileKey,\n name: item.fileName,\n fileKey: item.fileKey,\n };\n }),\n );\n }\n }, [value]);\n\n const onUploadChange = hooks.useCallbackRef((info) => {\n if (info.file.status === 'done') {\n const respData = info.file.response;\n if (respData.code === '0000') {\n const uploadItem = {\n uid: info.file.uid,\n fileName: info.file.name as string,\n fileKey: respData.data.fileKey,\n };\n const respValue = (value || []).concat(uploadItem);\n onChange?.(respValue);\n } else {\n onUploadError?.(respData.message as string);\n }\n } else if (info.file.status === 'removed') {\n const uid = info.file.uid;\n const targetList = value !== undefined ? [...value] : [];\n const targetIndex = targetList.findIndex((item) => {\n const tempUid = item['uid'] || item.fileKey;\n return tempUid === uid;\n });\n if (targetIndex >= 0) {\n targetList.splice(targetIndex, 1);\n }\n onChange?.(targetList);\n } else if (info.file.status === 'error') {\n onUploadError?.();\n }\n // https://github.com/ant-design/ant-design/issues/2423\n setUploadValue([...info.fileList]);\n props.onUploadChange?.(info);\n });\n\n const onUploadPreview = hooks.useCallbackRef((file) => {\n onPreview?.({\n fileKey: file.fileKey,\n fileName: file.fileName,\n });\n });\n\n return (\n <Upload\n {...otherProps}\n onChange={onUploadChange}\n onPreview={onUploadPreview}\n fileList={uploadValue}\n className={classNames('v-file-upload', otherProps.className)}\n >\n {props.children}\n </Upload>\n );\n};\n","import { isArray } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { isUndefinedOrNull } from '@flatbiz/utils';\nimport { cloneElement, CSSProperties, FC } from 'react';\nimport './style.less';\n\nexport type FlexLayoutProps = {\n className?: string;\n fullIndex?: number | number[];\n direction?: 'vertical' | 'horizontal';\n onClick?: () => void;\n style?: CSSProperties;\n gap?: number;\n};\n/**\n * flex布局\n * 1. direction:默认值vertical\n * 2. gap间隙距离\n * 3. fullIndex:指定children数组索引值对象flex=1\n * 4. children添加key熟悉\n * @param props\n * @returns\n */\nexport const FlexLayout: FC<FlexLayoutProps> = (props) => {\n const childrens = (isArray(props.children) ? props.children : [props.children]) as JSX.Element[];\n const direction = props.direction || 'vertical';\n const gap = props.gap ? props.gap : 0;\n const fullIndexList = !isUndefinedOrNull(props.fullIndex)\n ? isArray(props.fullIndex)\n ? props.fullIndex\n : [props.fullIndex as number]\n : [];\n return (\n <div\n className={classNames('v-flex-layout', `v-flex-${direction}`, props.className)}\n style={props.style}\n onClick={props.onClick}\n >\n {childrens.map((children, index) => {\n const childrenStyle = children.props.style || {};\n const style = fullIndexList.includes(index) ? { flex: 1, ...childrenStyle } : childrenStyle;\n if (index < childrens.length - 1 && gap > 0) {\n if (direction === 'horizontal') {\n style.marginRight = gap;\n } else {\n style.marginBottom = gap;\n }\n }\n return cloneElement(children, { style });\n })}\n </div>\n );\n};\n","import { CSSProperties, VFC } from 'react';\n\nexport type GapProps = {\n height?: number;\n className?: string;\n style?: CSSProperties;\n};\n\n/**\n * 间隙组件\n * @param props\n * @returns\n */\nexport const Gap: VFC<GapProps> = (props) => {\n return <div style={{ height: props.height, ...props.style }} className={props.className} />;\n};\n","import { DependencyList, EffectCallback, useEffect } from 'react';\n\nexport const useEffectCustom = (fn: EffectCallback, deps: DependencyList) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useEffect(fn, deps);\n};\n","import { DependencyList, useEffect } from 'react';\n\nexport const useEffectCustomAsync = (fn: () => Promise<void>, deps: DependencyList) => {\n useEffect(() => {\n async function asyncFunction() {\n await fn();\n }\n void asyncFunction();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n};\n","import { ModelType } from '@dimjs/model';\n\nexport interface ModalStateType {\n title?: string;\n /**\n * 显示modal\n */\n visible: boolean;\n /**\n * 用来处理form, `更新`的时候的传递当前item列表行的数据, 当`创建`的时候强制设置为 `undefined`\n */\n itemData?: Record<string, unknown> | null;\n operateType: 'create' | 'update' | 'view';\n pageLoading?: boolean;\n}\n\nexport interface ModalActionsParamType {\n openModalForm: Pick<ModalStateType, 'title' | 'itemData' | 'operateType' | 'pageLoading'>;\n closeModal: void;\n setModalItemData: Record<string, unknown>;\n}\n\n/**\n * @shared\n * 提供公共的modal处理, 通常用来表单编辑, 弹窗抽屉模式.\n * 注意全部理论上只允许一个modal实例存在,如需处理多个, 请自行实例话模型.\n */\nexport const ModalModel: ModelType<ModalStateType, ModalActionsParamType> = {\n actions: {\n openModalForm({ itemData, title, operateType, pageLoading }) {\n return (state) => {\n state.itemData = itemData;\n state.title = title;\n state.operateType = operateType;\n state.pageLoading = pageLoading;\n state.visible = true;\n };\n },\n closeModal() {\n return (state) => {\n state.visible = false;\n };\n },\n setModalItemData(params) {\n return (state) => {\n state.pageLoading = false;\n state.itemData = params;\n };\n },\n },\n state: {\n visible: false,\n title: '',\n operateType: 'view',\n },\n};\n","import { Button, ButtonProps, Space } from 'antd';\nimport { Fragment } from 'react';\n\nexport interface ModalOperationProps {\n loading?: boolean;\n okText?: string;\n cancelText?: string;\n onOk?: () => void;\n onCancel?: () => void;\n hideOkBtn?: boolean;\n okButtonProps?: Omit<ButtonProps, 'onClick' | 'loading' | 'className'>;\n cancelButtonProps?: Omit<ButtonProps, 'onClick' | 'loading' | 'className'>;\n}\n\nexport const ModalOperation = ({\n loading,\n okText = '保存',\n cancelText = '取消',\n onCancel,\n onOk,\n hideOkBtn,\n ...otherProps\n}: ModalOperationProps) => {\n return (\n <Fragment>\n <Space size=\"middle\">\n <Button {...otherProps.cancelButtonProps} className=\"cancel-btn\" onClick={onCancel}>\n {cancelText}\n </Button>\n {hideOkBtn != true && (\n <Button\n type=\"primary\"\n {...otherProps.okButtonProps}\n className=\"ok-btn\"\n onClick={onOk}\n loading={loading}\n >\n {okText}\n </Button>\n )}\n </Space>\n </Fragment>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Modal, ModalProps } from 'antd';\nimport React, { FC } from 'react';\nimport { ModalOperation, ModalOperationProps } from './modal-operation';\nimport './style.less';\n\nexport type ModalFormProps = {\n className?: string;\n // 整个modal页面级的spinning <Page loading />\n pageLoading?: boolean;\n // 设置了 ModalProps footer属性后,operationProps配置将失效\n operationProps?: ModalOperationProps;\n footer?: null | React.ReactNode;\n} & Omit<\n ModalProps,\n | 'footer'\n | 'onOk'\n | 'okText'\n | 'cancelText'\n | 'okButtonProps'\n | 'cancelButtonProps'\n | 'okType'\n | 'confirmLoading'\n>;\n\nconst PageLoader = () => {\n return (\n <div className=\"modal-wraper-loader\">\n <div className=\"loader-wrapper\">\n <div className=\"loader-inner\" />\n <div className=\"loader-text\">LOADING</div>\n </div>\n </div>\n );\n};\n\nexport const ModalWraper: FC<ModalFormProps> = (props) => {\n const { pageLoading, className, width, children, footer, operationProps, ...otherProps } = props;\n return (\n <Modal\n className={classNames('modal-wraper', className)}\n keyboard={false}\n forceRender={true}\n destroyOnClose={true}\n {...otherProps}\n width={width || 600}\n footer={null}\n >\n <div className=\"modal-wraper-content\">\n {children}\n {pageLoading && <PageLoader />}\n </div>\n {footer !== null && (\n <div className=\"modal-wraper-content-footer\">\n {footer ? footer : <ModalOperation {...operationProps} />}\n </div>\n )}\n </Modal>\n );\n};\n","import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { ModalActionsParamType, ModalModel, ModalStateType } from './modal.model';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst modalModels: Record<string, API<ModelType<ModalStateType, ModalActionsParamType, any>>> = {};\n\n/**\n * modal弹窗模型\n * @param key 唯一值必传\n * @returns\n *\n * ```\n * 使用方式\n * const [modalState, modalActions] = createModalWraperModel('key值').useStore();\n * ```\n */\nexport const createModalWraperModel = (key: string) => {\n if (!modalModels[key]) {\n modalModels[key] = Model(ModalModel);\n }\n return modalModels[key];\n};\n\nexport * from './modal-wraper';\n","import { classNames } from '@dimjs/utils';\nimport { CSSProperties, FC } from 'react';\nimport './style.less';\n\nexport type PageFixedFooterProps = {\n className?: string;\n style?: CSSProperties;\n};\n\nexport const PageFixedFooter: FC<PageFixedFooterProps> = (props) => {\n return (\n <div className={classNames('page-fixed-footer', props.className)} style={props.style}>\n {props.children}\n </div>\n );\n};\n","export const Page404 = () => {\n return <div className=\"v-404\">404</div>;\n};\n","import { extend } from '@dimjs/utils';\nimport { isUndefinedOrNull, LabelValueItem, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { message, Select, SelectProps, Spin } from 'antd';\nimport { DependencyList, forwardRef, useImperativeHandle, useRef, useState } from 'react';\nimport { useEffectCustom } from '../hooks/use-effect-custom';\n\ntype SelectorServiceConfig = {\n params?: TPlainObject;\n requiredParamsKeys?: string[];\n fieldNames?: { label: string; value: string };\n onRequest?: (params?: any) => any;\n /**\n * 响应数据适配器\n */\n onRequestResultAdapter?: (respData: TPlainObject) => LabelValueItem<string | number>[];\n};\n\nexport type SelectorWrapperProps = SelectProps & {\n effectDependencyList?: DependencyList[];\n /**\n * 请求服务需求的数据,当设置`selectorList`后无效果\n */\n serviceConfig?: SelectorServiceConfig;\n /**\n * 当设置selectorList后,serviceConfig、operateType=search、onSelectorListChange将失效\n */\n selectorList?: LabelValueItem<string | number>[];\n /**\n * 通过服务获取数据后回调,当设置`selectorList`后无效果\n */\n onSelectorListChange?: (selectorList: LabelValueItem<string | number>[]) => void;\n showAllOption?: true | JSX.Element;\n /**\n * 输入操作类型,默认值:filter\n * ```\n * 1. search:根据输入项去服务端查询\n * 2. filter:初始化已查询数据,根据输入内容筛选\n * 3. 在设置`selectorList`后,operateType=search将失效\n * ```\n */\n operateType?: 'search' | 'filter';\n // 搜索调接口字段名称,默认值:keyword\n searchFieldName?: string;\n};\n\nexport type SelectorWrapperRefApi = {\n onClearSelectorList: () => void;\n getSelectorList: () => LabelValueItem<string | number>[];\n};\n\n/**\n * 选择器包装组件\n * @param props\n * @returns\n * ```\n * 1. 当设置selectorList属性后,serviceConfig、operateType=search、onSelectorListChange将失效\n * 2. operateType=search状态下,回填数据查询接口时,会在接口中默认添加id字段(id的值为回填的值)\n * ```\n */\nexport const SelectorWrapper = forwardRef<SelectorWrapperRefApi, SelectorWrapperProps>((props, ref) => {\n const {\n serviceConfig,\n showAllOption,\n effectDependencyList,\n onSelectorListChange,\n operateType,\n searchFieldName,\n selectorList,\n ...otherProps\n } = props;\n\n const [dataSource, setDataSource] = useState<LabelValueItem<string | number>[]>([]);\n const isSearch = operateType === 'search' && selectorList === undefined;\n const newServiceConfig = serviceConfig || {};\n const newEffectDependencyList = effectDependencyList || [];\n const changeOperateValueRef = useRef<string | number>();\n const [loading, setLoading] = useState(false);\n\n const valueIsEmpty = (value: string | number) => {\n return value === '' || isUndefinedOrNull(value);\n };\n\n const serviceResponseHandle = (respData) => {\n const respDataList = (\n newServiceConfig.onRequestResultAdapter\n ? newServiceConfig.onRequestResultAdapter(respData as unknown as TPlainObject)\n : respData\n ) as TPlainObject[];\n\n if (!newServiceConfig.fieldNames) {\n return respDataList;\n }\n\n return respDataList.map((item) => {\n return {\n label: item[newServiceConfig.fieldNames?.label as string] as string,\n value: item[newServiceConfig.fieldNames?.value as string] as string | number,\n };\n });\n };\n\n const startDataSourceRequest = hooks.useCallbackRef(\n async (inputValue?: string, searchId?: string | number) => {\n try {\n if (!newServiceConfig.onRequest) {\n throw new Error('onRequest 调用接口服务不能为空');\n }\n const requiredParamsKeys = newServiceConfig.requiredParamsKeys;\n const params = extend({}, newServiceConfig.params);\n if (requiredParamsKeys) {\n const isEmpty = requiredParamsKeys.find((key) => {\n return valueIsEmpty(params[key] as string | number);\n });\n if (isEmpty) {\n console.warn(`SelectorWrapper组件:参数:${requiredParamsKeys.join('、')}不能为空`);\n return;\n }\n }\n setLoading(true);\n if ((!isUndefinedOrNull(inputValue) || !isUndefinedOrNull(searchId)) && isSearch) {\n const keyword = searchFieldName || 'keyword';\n params[keyword] = inputValue;\n params['id'] = searchId;\n }\n const _respData = await newServiceConfig.onRequest?.(params);\n const respData = serviceResponseHandle(_respData) as LabelValueItem<string | number>[];\n setLoading(false);\n onSelectorListChange?.(respData);\n setDataSource(respData);\n } catch (error) {\n setLoading(false);\n void message.error((error.message as string) || '数据查询异常...');\n }\n },\n );\n\n useEffectCustom(() => {\n if (props.selectorList) {\n setDataSource(selectorList as LabelValueItem<string | number>[]);\n return;\n }\n if (isSearch) return;\n void startDataSourceRequest();\n }, newEffectDependencyList);\n\n useEffectCustom(() => {\n if (isSearch) {\n if (valueIsEmpty(props.value)) {\n onSelectorListChange?.([]);\n setDataSource([]);\n } else {\n // 判断是否由外部回填value数据\n if (props.value !== changeOperateValueRef.current) {\n void startDataSourceRequest(undefined, props.value);\n }\n }\n }\n }, newEffectDependencyList.concat([props.value]));\n\n useImperativeHandle(ref, () => {\n return {\n onClearSelectorList: () => {\n setDataSource([]);\n },\n getSelectorList: () => {\n return dataSource;\n },\n };\n });\n\n const filterOption = hooks.useCallbackRef((input: string, option) => {\n return (option?.children as unknown as string).toLowerCase().indexOf(input.toLowerCase()) >= 0;\n });\n\n const onSearch = hooks.useDebounceCallback((value: string) => {\n if (value) {\n void startDataSourceRequest(value);\n } else {\n setDataSource([]);\n }\n }, 150);\n\n const onChange = hooks.useCallbackRef((value: string | number, ...otherParams) => {\n changeOperateValueRef.current = value;\n props.onChange?.(value, otherParams);\n });\n\n const selectOptionsAll = <Select.Option value=\"\">全部</Select.Option>;\n return (\n <Select\n showSearch={true}\n allowClear={true}\n notFoundContent={loading ? <Spin /> : dataSource.length ? '暂无数据' : null}\n {...otherProps}\n loading={loading}\n onSearch={isSearch ? onSearch : undefined}\n filterOption={isSearch ? false : filterOption}\n onChange={onChange}\n >\n {showAllOption === true ? selectOptionsAll : showAllOption}\n {dataSource.map((item) => {\n return (\n <Select.Option value={item.value} key={item.value}>\n {item.label}\n </Select.Option>\n );\n })}\n </Select>\n );\n});\n","import { classNames } from '@dimjs/utils';\nimport { CSSProperties, FC, ReactElement } from 'react';\nimport './style.less';\n\nexport type SimpleLayoutProps = {\n className?: string;\n style?: CSSProperties;\n title?: string | ReactElement;\n formLabelAlign?: 'left' | 'right';\n layoutType?: 'layer' | 'tight';\n};\n\nexport const SimpleLayout: FC<SimpleLayoutProps> = (props) => {\n const labelAlign = props.formLabelAlign || 'right';\n const className = classNames(\n 'simple-layout',\n {\n 'simple-layout-tight': props.layoutType === 'tight',\n 'simple-layout-formlabel-left': labelAlign === 'left',\n },\n props.className,\n );\n\n return (\n <div className={className} style={props.style}>\n {props.title ? <div className=\"simple-layout-title\">{props.title}</div> : null}\n <div className=\"simple-layout-content\">{props.children}</div>\n </div>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { FC, useEffect, useMemo, useState } from 'react';\n\nexport interface SmsCountDownProps {\n onSendRequest: () => Promise<void>; // 验证码请求函数\n totalTicks?: number; // 总倒计时,默认:60(s)\n duration?: number; // 倒计时间隔,默认:1000ms(1s)\n autoStart?: boolean; // 是否自动开始倒计时,默认:fasle,注意:不会自动调用 onSendRequest\n format?: string; // 倒计时格式化,默认:'{t}s'\n sendTxt?: string; // 文案,默认:'获取验证码'\n sentTxt?: string; // 倒计时完成文案,默认:'重新获取'\n processingTxt?: string; // 倒计时中文案,默认:'发送中...'\n onTick?: (time: number) => void; // 倒计时回调\n className?: string;\n}\nexport const SmsCountDown: FC<SmsCountDownProps> = (props) => {\n const [showMessage, setShowMessage] = useState<string>();\n\n const [running, setRunning] = useState(false);\n const [starting, setStarting] = useState(false);\n\n // 初始化设置有效\n const initConfig = useMemo<Omit<SmsCountDownProps, 'onSendRequest' | 'onTick' | 'className'>>(() => {\n return {\n sendTxt: props.sendTxt,\n sentTxt: props.sentTxt,\n processingTxt: props.processingTxt,\n format: props.format,\n autoStart: props.autoStart,\n totalTicks: props.totalTicks,\n duration: props.duration,\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const format = initConfig.format as string;\n const totalTicks = initConfig.totalTicks as number;\n const duration = initConfig.duration as number;\n\n const countdownFnc = hooks.useCountdownCallback(\n (num) => {\n const second = num / 1000;\n if (num > 0) {\n if (!running) {\n setRunning(true);\n }\n setShowMessage(format.replace('{t}', String(second)));\n props.onTick?.(second);\n } else if (num === 0) {\n setRunning(false);\n setStarting(false);\n props.onTick?.(second);\n setShowMessage(initConfig.sentTxt);\n }\n },\n totalTicks * 1000,\n { intervalTime: duration },\n );\n\n useEffect(() => {\n if (!initConfig.autoStart) {\n setShowMessage(initConfig.sendTxt);\n } else {\n countdownFnc();\n setStarting(true);\n setRunning(true);\n }\n }, [countdownFnc, initConfig]);\n\n const onStart = hooks.useCallbackRef(() => {\n if (running || starting) return;\n setStarting(true);\n setShowMessage(initConfig.processingTxt);\n void props\n .onSendRequest()\n .then(() => {\n setRunning(true);\n countdownFnc();\n })\n .catch(() => {\n setShowMessage(initConfig.sendTxt);\n setStarting(false);\n });\n });\n\n const className = classNames('v-count-down', props.className, {\n running,\n starting,\n });\n\n return (\n <div className={className} onClick={onStart}>\n {showMessage}\n </div>\n );\n};\n\nSmsCountDown.defaultProps = {\n totalTicks: 60,\n duration: 1000,\n autoStart: false,\n format: '{t}s',\n sendTxt: '获取验证码',\n sentTxt: '重新获取',\n processingTxt: '发送中...',\n};\n","import { classNames } from '@dimjs/utils';\nimport { Children, cloneElement, FC } from 'react';\nimport { useEffectCustom } from '../hooks';\nimport './style.less';\n\ntype StaticMethods = {\n Condition: typeof Condition;\n Operate: typeof Operate;\n Table: typeof Table;\n Footer: typeof Footer;\n};\n\nconst overdueConsole = () => {\n console.error('【TableFilterLayout】组件即将废弃,请使用【SimpleLayout】组件替代');\n};\n\nexport type TableFilterLayoutProps = {\n className?: string;\n isFixed?: boolean;\n fullIndex?: number;\n};\n\nexport const TableFilterLayout: FC<TableFilterLayoutProps> & StaticMethods = (props) => {\n useEffectCustom(() => {\n overdueConsole();\n }, []);\n\n return (\n <div\n className={classNames(\n 'table-filter-layout',\n { 'table-filter-layout-flex': props.isFixed },\n props.className,\n )}\n >\n {Children.map(props.children, (item, index) => {\n if (props.isFixed && index === props.fullIndex) {\n return cloneElement(item as JSX.Element, { className: 'table-filter-layout-flex-full' });\n }\n return item;\n })}\n </div>\n );\n};\n\nconst Condition: FC<{ className?: string }> = (props) => {\n return <div className={classNames('table-filter-layout-condition', props.className)}>{props.children}</div>;\n};\n\nconst Operate: FC<{ className?: string }> = (props) => {\n return <div className={classNames('table-filter-layout-operate', props.className)}>{props.children}</div>;\n};\n\nconst Table: FC<{ className?: string }> = (props) => {\n return <div className={classNames('table-filter-layout-table', props.className)}>{props.children}</div>;\n};\nconst Footer: FC<{ className?: string }> = (props) => {\n return <div className={classNames('table-filter-layout-footer', props.className)}>{props.children}</div>;\n};\n\nTableFilterLayout.Condition = Condition;\nTableFilterLayout.Operate = Operate;\nTableFilterLayout.Table = Table;\nTableFilterLayout.Footer = Footer;\n"],"names":["styles","noop","getPermissionList","_getGlobalData","getGlobalData","elemAclLimits","permissionList","_isArray","hasPermission","name","includes","Permission","props","_jsx","Fragment","children","ButtonOperate","className","Space","split","Divider","type","size","wrap","_isUndefined","operateList","map","item","index","text","color","onClick","permission","needConfirm","confirmMessage","hidden","style","otherProps","_excluded","newStyle","_extends","Popconfirm","title","okText","cancelText","onConfirm","arrowPointAtCenter","Button","undefined","danger","_createElement","key","defaultProps","DatePickerWraper","value","onChange","format","useMemo","showTime","onChangeDate","_hooks","useCallbackRef","moment","datePickerValue","flatbizDate","isDate","Date","DatePicker","width","DateRangePickerWraper","values","value1","_ref","value2","date1","_ref2","date2","rangePickerValue","RangePicker","DrawerModel","actions","openDrawerForm","itemData","operateType","pageLoading","state","visible","closeDrawer","setDrawerItemData","params","_defineProperty","obj","Object","defineProperty","enumerable","configurable","writable","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","apply","_objectSpread2","target","i","arguments","length","source","forEach","getOwnPropertyDescriptors","defineProperties","SaveOutlined","icon","tag","attrs","viewBox","focusable","d","theme","_arrayWithHoles","arr","Array","isArray","_iterableToArrayLimit","_i","Symbol","iterator","_arr","_n","_d","_s","_e","call","next","done","err","_arrayLikeToArray","len","arr2","_unsupportedIterableToArray","o","minLen","arrayLikeToArray","n","prototype","toString","slice","constructor","from","test","_nonIterableRest","TypeError","_slicedToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","_objectWithoutPropertiesLoose","excluded","sourceKeys","indexOf","_objectWithoutProperties","objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","hasOwn","hasOwnProperty","classNames","classes","arg","argType","inner","join","module","exports","default","window","IconContext","createContext","_typeof","bound01","max","isOnePointZero","isPercent","isPercentage","Math","min","parseFloat","parseInt","String","abs","boundAlpha","a","isNaN","convertToPercentage","Number","pad2","c","rgbToRgb","r","g","b","hue2rgb","p","q","t","hslToRgb","h","s","l","rgbToHsv","v","hsvToRgb","floor","f","mod","rgbToHex","allow3Char","hex","round","startsWith","charAt","convertHexToDecimal","parseIntFromHex","val","names","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","goldenrod","gold","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavenderblush","lavender","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","inputToRGB","rgb","ok","stringInputToObject","isValidCSSUnit","substr","CSS_INTEGER","CSS_NUMBER","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","matchers","RegExp","rgba","hsl","hsla","hsv","hsva","hex3","hex6","hex4","hex8","trim","toLowerCase","named","match","exec","Boolean","hueStep","saturationStep","saturationStep2","brightnessStep1","brightnessStep2","lightColorCount","darkColorCount","darkColorMap","opacity","toHsv","toHex","concat","mix","rgb1","rgb2","amount","getHue","light","hue","getSaturation","saturation","toFixed","getValue","generate","opts","patterns","pColor","colorString","_hsv","_colorString","_ref3","darkColorString","backgroundColor","presetPrimaryColors","volcano","geekblue","presetPalettes","presetDarkPalettes","primary","warned","warning","valid","message","process","env","NODE_ENV","console","error","method","warningOnce","canUseDom","document","createElement","MARK_KEY","getMark","mark","getContainer","option","attachTo","head","querySelector","body","injectCSS","css","_option$csp","styleNode","csp","nonce","_option$csp2","innerHTML","container","firstChild","prepend","insertBefore","appendChild","containerCache","Map","findExistNode","get","find","node","tagName","getAttribute","updateCSS","has","placeholderStyle","parentNode","set","removeChild","existNode","_option$csp3","_option$csp4","_option$csp5","newNode","setAttribute","warn","isIconDefinition","normalizeAttrs","reduce","acc","class","rootProps","React","_objectSpread","child","getSecondaryColor","primaryColor","generateColor","normalizeTwoToneColors","twoToneColor","iconStyles","useInsertStyles","styleStr","_useContext","useContext","useEffect","twoToneColorPalette","secondaryColor","calculated","setTwoToneColors","getTwoToneColors","IconBase","restProps","colors","height","fill","displayName","setTwoToneColor","_normalizeTwoToneColo","_normalizeTwoToneColo2","ReactIcon","getTwoToneColor","Icon","forwardRef","ref","_classNames","spin","rotate","tabIndex","_React$useContext","Context","_React$useContext$pre","prefixCls","classString","iconTabIndex","svgStyle","msTransform","transform","role","AntdIcon","SaveOutlinedSvg","_SaveOutlined","DrawerOperation","_jsxs","cancelButtonProps","onCancel","hideOkBtn","okButtonProps","onOk","loading","PageLoader","DrawerWraper","_props$width","footer","operationProps","Drawer","keyboard","forceRender","destroyOnClose","contentWrapperStyle","maxWidth","drawerModels","createDrawerWraperModel","Model","FileImport","onImportFinish","uploadProps","showUploadList","info","file","status","log","respData","response","code","data","Upload","accept","FileUpload","onUploadError","onPreview","useState","uploadValue","_useState","setUploadValue","uid","fileKey","fileName","onUploadChange","uploadItem","respValue","targetList","targetIndex","findIndex","tempUid","splice","fileList","onUploadPreview","FlexLayout","childrens","direction","gap","fullIndexList","isUndefinedOrNull","fullIndex","childrenStyle","flex","marginRight","marginBottom","cloneElement","Gap","useEffectCustom","fn","deps","useEffectCustomAsync","asyncFunction","Promise","$return","$error","then","$await_1","$boundEx","ModalModel","openModalForm","closeModal","setModalItemData","ModalOperation","_ref$okText","_ref$cancelText","ModalWraper","Modal","modalModels","createModalWraperModel","PageFixedFooter","Page404","SelectorWrapper","serviceConfig","showAllOption","effectDependencyList","onSelectorListChange","searchFieldName","selectorList","dataSource","setDataSource","isSearch","newServiceConfig","newEffectDependencyList","changeOperateValueRef","useRef","_useState2","setLoading","valueIsEmpty","serviceResponseHandle","respDataList","onRequestResultAdapter","fieldNames","_newServiceConfig$fie","_newServiceConfig$fie2","label","startDataSourceRequest","inputValue","searchId","requiredParamsKeys","_params","isEmpty","keyword","_respData","_respData2","$Try_1_Post","$Try_1_Catch","onRequest","Error","_extend","$await_2","current","useImperativeHandle","onClearSelectorList","getSelectorList","filterOption","input","onSearch","useDebounceCallback","_len","otherParams","_key","selectOptionsAll","Select","Option","showSearch","allowClear","notFoundContent","Spin","SimpleLayout","labelAlign","formLabelAlign","layoutType","SmsCountDown","showMessage","setShowMessage","running","setRunning","starting","_useState3","setStarting","initConfig","sendTxt","sentTxt","processingTxt","autoStart","totalTicks","duration","countdownFnc","useCountdownCallback","num","second","replace","onTick","intervalTime","onStart","onSendRequest","catch","overdueConsole","TableFilterLayout","isFixed","Children","Condition","Operate","Table","Footer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/01-styles/index.ts","@flatbiz/antd/src/permission/index.tsx","@flatbiz/antd/src/button-operate/index.tsx","@flatbiz/antd/src/date-picker-wraper/index.tsx","@flatbiz/antd/src/date-range-picker-wraper/index.tsx","@flatbiz/antd/src/drawer-wraper/drawer.model.ts","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/defineProperty.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","@flatbiz/antd/node_modules/@ant-design/icons-svg/es/asn/SaveOutlined.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","@flatbiz/antd/node_modules/classnames/index.js","@flatbiz/antd/node_modules/@ant-design/icons/es/components/Context.js","@flatbiz/antd/node_modules/@babel/runtime/helpers/esm/typeof.js","@flatbiz/antd/node_modules/@ctrl/tinycolor/dist/module/util.js","@flatbiz/antd/node_modules/@ctrl/tinycolor/dist/module/conversion.js","@flatbiz/antd/node_modules/@ctrl/tinycolor/dist/module/css-color-names.js","@flatbiz/antd/node_modules/@ctrl/tinycolor/dist/module/format-input.js","@flatbiz/antd/node_modules/@ant-design/colors/dist/index.esm.js","@flatbiz/antd/node_modules/rc-util/es/warning.js","@flatbiz/antd/node_modules/rc-util/es/Dom/canUseDom.js","@flatbiz/antd/node_modules/rc-util/es/Dom/dynamicCSS.js","@flatbiz/antd/node_modules/@ant-design/icons/es/utils.js","@flatbiz/antd/node_modules/@ant-design/icons/es/components/IconBase.js","@flatbiz/antd/node_modules/@ant-design/icons/es/components/twoTonePrimaryColor.js","@flatbiz/antd/node_modules/@ant-design/icons/es/components/AntdIcon.js","@flatbiz/antd/node_modules/@ant-design/icons/es/icons/SaveOutlined.js","@flatbiz/antd/src/drawer-wraper/drawer-operation.tsx","@flatbiz/antd/src/drawer-wraper/drawer-wraper.tsx","@flatbiz/antd/src/drawer-wraper/index.ts","@flatbiz/antd/src/file-import/index.tsx","@flatbiz/antd/src/file-upload/index.tsx","@flatbiz/antd/src/flex-layout/index.tsx","@flatbiz/antd/src/gap/index.tsx","@flatbiz/antd/src/hooks/use-effect-custom.ts","@flatbiz/antd/src/hooks/use-effect-custom-async.ts","@flatbiz/antd/src/modal-wraper/modal.model.ts","@flatbiz/antd/src/modal-wraper/modal-operation.tsx","@flatbiz/antd/src/modal-wraper/modal-wraper.tsx","@flatbiz/antd/src/modal-wraper/index.ts","@flatbiz/antd/src/page-fixed-footer/index.tsx","@flatbiz/antd/src/page404/index.tsx","@flatbiz/antd/src/pre-defined-classname/form/index.tsx","@flatbiz/antd/src/pre-defined-classname/index.ts","@flatbiz/antd/src/selector-wrapper/index.tsx","@flatbiz/antd/src/simple-layout/index.tsx","@flatbiz/antd/src/sms-count-down/index.tsx","@flatbiz/antd/src/table-filter-layout/index.tsx","@flatbiz/antd/src/tree-selector-wrapper/utils.ts","@flatbiz/antd/src/tree-selector-wrapper/index.tsx","@flatbiz/antd/src/tree-wrapper/utils.ts","@flatbiz/antd/src/tree-wrapper/index.tsx"],"sourcesContent":["import { noop } from '@flatbiz/utils';\nimport './1_root.less';\nimport './2_base.less';\n\nexport const styles = noop;\n","import { isArray } from '@dimjs/lang';\nimport { getGlobalData } from '@flatbiz/utils';\nimport { FC, Fragment } from 'react';\n\nexport const getPermissionList = () => {\n const { elemAclLimits } = getGlobalData();\n const permissionList: string[] = isArray(elemAclLimits) ? elemAclLimits : [];\n return permissionList;\n};\n\nexport const hasPermission = (name: string) => {\n const permissionList = getPermissionList();\n if (permissionList.includes(name)) {\n return true;\n }\n return false;\n};\n\nexport interface PermissionProps {\n name: string;\n}\nexport const Permission: FC<PermissionProps> = (props) => {\n const permissionList = getPermissionList();\n if (permissionList.includes(props.name)) {\n return <Fragment>{props.children}</Fragment>;\n }\n return null;\n};\n","import { isUndefined } from '@dimjs/lang';\nimport { Button, ButtonProps, Divider, Popconfirm, Space, SpaceProps } from 'antd';\nimport { VFC } from 'react';\nimport { hasPermission } from '../permission';\nimport './style.less';\n\nexport interface ButtonOperateItem extends ButtonProps {\n text: string;\n color?: string;\n onClick: () => void;\n permission?: string;\n needConfirm?: boolean;\n confirmMessage?: string;\n hidden?: boolean;\n}\n\nexport interface ButtonOperateProps {\n operateList: Array<ButtonOperateItem | null>;\n wrap?: boolean;\n size?: SpaceProps['size'];\n}\n\nexport const ButtonOperate: VFC<ButtonOperateProps> = (props) => {\n return (\n <div className=\"table-operate\">\n <Space\n split={<Divider type=\"vertical\" />}\n size={props.size}\n wrap={isUndefined(props.wrap) ? true : props.wrap}\n >\n {props.operateList.map((item, index) => {\n if (!item) return null;\n const {\n text,\n color,\n onClick,\n permission,\n needConfirm,\n confirmMessage,\n hidden,\n style,\n ...otherProps\n } = item;\n if (hidden) return null;\n if (permission && !hasPermission(permission)) return null;\n const newStyle = color ? { color, ...style } : style;\n const type = item.type || 'link';\n if (needConfirm) {\n return (\n <Popconfirm\n title={confirmMessage}\n okText=\"确定\"\n cancelText=\"取消\"\n onConfirm={onClick}\n arrowPointAtCenter={true}\n key={index}\n >\n <Button {...otherProps} onClick={undefined} type={type} danger style={newStyle}>\n {text}\n </Button>\n </Popconfirm>\n );\n }\n return (\n <Button {...otherProps} type={type} style={newStyle} key={index} onClick={onClick}>\n {text}\n </Button>\n );\n })}\n </Space>\n </div>\n );\n};\n\nButtonOperate.defaultProps = {\n size: 0,\n};\n","import { flatbizDate } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { DatePicker } from 'antd';\nimport { PickerDateProps } from 'antd/lib/date-picker/generatePicker';\nimport moment from 'moment';\nimport { useMemo, VFC } from 'react';\n\nexport type DatePickerWraperProps = {\n value?: string;\n onChange?: (value?: string) => void;\n} & Omit<PickerDateProps<moment.Moment>, 'value' | 'onChange'>;\n\n/**\n * DatePicker包装组件\n * ```\n * 1. value类型为 string\n * 2. onChange返回类型 string\n * 3. 默认格式化类型 YYYY-MM-DD; 当showTime===true时,默认格式化类型YYYY-MM-DD HH:mm:ss\n * 4. 其他格式化类型自定义format\n * ```\n */\nexport const DatePickerWraper: VFC<DatePickerWraperProps> = (props) => {\n const { value, onChange, style, ...otherProps } = props;\n const format = useMemo(() => {\n if (props.format) return props.format as string;\n if (props.showTime) return 'YYYY-MM-DD HH:mm:ss';\n return 'YYYY-MM-DD';\n }, [props.showTime, props.format]);\n\n const onChangeDate = hooks.useCallbackRef((value) => {\n if (value) {\n onChange?.(moment(value).format(format));\n } else {\n onChange?.(undefined);\n }\n });\n\n const datePickerValue = value && flatbizDate.isDate(value) ? moment(new Date(value)) : undefined;\n\n return (\n <DatePicker\n {...otherProps}\n style={{ width: '100%', ...style }}\n value={datePickerValue}\n onChange={onChangeDate}\n />\n );\n};\n","import { flatbizDate } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { DatePicker } from 'antd';\nimport { RangePickerDateProps } from 'antd/lib/date-picker/generatePicker';\nimport moment from 'moment';\nimport { useMemo, VFC } from 'react';\n\nexport type DateRangePickerWraperProps = {\n value?: [string, string];\n onChange?: (value?: [string, string]) => void;\n} & Omit<RangePickerDateProps<moment.Moment>, 'value' | 'onChange'>;\n\n/**\n * DatePicker.RangePicker包装组件\n * ```\n * 1. value类型为 [string, string]\n * 2. onChange返回类型 [string, string]\n * 3. 默认格式化类型 YYYY-MM-DD; 当showTime===true时,默认格式化类型YYYY-MM-DD HH:mm:ss\n * 4. 其他格式化类型自定义format\n * ```\n */\nexport const DateRangePickerWraper: VFC<DateRangePickerWraperProps> = (props) => {\n const { value, onChange, style, ...otherProps } = props;\n\n const format = useMemo(() => {\n if (props.format) return props.format as string;\n if (props.showTime === true) return 'YYYY-MM-DD HH:mm:ss';\n return 'YYYY-MM-DD';\n }, [props.showTime, props.format]);\n\n const onChangeDate = hooks.useCallbackRef((values) => {\n if (values) {\n const [value1, value2] = values || [];\n onChange?.([moment(value1).format(format), moment(value2).format(format)]);\n } else {\n onChange?.(undefined);\n }\n });\n\n const [date1, date2] = value || [];\n\n const rangePickerValue =\n date1 && date2 && flatbizDate.isDate(date1) && flatbizDate.isDate(date2)\n ? [moment(new Date(date1)), moment(new Date(date2))]\n : undefined;\n\n return (\n <DatePicker.RangePicker\n {...otherProps}\n style={{ width: '100%', ...style }}\n value={rangePickerValue as [moment.Moment, moment.Moment]}\n onChange={onChangeDate}\n />\n );\n};\n","import { ModelType } from '@dimjs/model';\n\nexport interface DrawerStateType {\n title: string;\n /**\n * 显示drawer\n */\n visible: boolean;\n /**\n * 用来处理form, `更新`的时候的传递当前item列表行的数据, 当`创建`的时候强制设置为 `undefined`\n */\n itemData?: Record<string, any>;\n operateType: 'create' | 'update' | 'view' | null;\n pageLoading?: boolean;\n}\n\nexport interface DrawerActionsParamType {\n openDrawerForm: Pick<DrawerStateType, 'title' | 'itemData' | 'operateType' | 'pageLoading'>;\n closeDrawer: void;\n setDrawerItemData: Record<string, any>;\n}\n\n/**\n * @shared\n * 提供公共的drawer处理, 通常用来表单编辑, 弹窗抽屉模式.\n * 注意全部理论上只允许一个drawer实例存在,如需处理多个, 请自行实例话模型.\n */\nexport const DrawerModel: ModelType<DrawerStateType, DrawerActionsParamType> = {\n actions: {\n openDrawerForm({ itemData, title, operateType, pageLoading }) {\n return (state) => {\n state.itemData = itemData;\n state.title = title;\n state.operateType = operateType;\n state.pageLoading = pageLoading;\n state.visible = true;\n };\n },\n closeDrawer() {\n return (state) => {\n state.visible = false;\n };\n },\n setDrawerItemData(params) {\n return (state) => {\n state.pageLoading = false;\n state.itemData = params;\n };\n },\n },\n state: {\n visible: false,\n title: '',\n operateType: null,\n },\n};\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}","// This icon file is generated automatically.\nvar SaveOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840zM512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z\" } }] }, \"name\": \"save\", \"theme\": \"outlined\" };\nexport default SaveOutlined;\n","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import { createContext } from 'react';\nvar IconContext = /*#__PURE__*/createContext({});\nexport default IconContext;","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","/**\n * Take input from [0, n] and return it as [0, 1]\n * @hidden\n */\nexport function bound01(n, max) {\n if (isOnePointZero(n)) {\n n = '100%';\n }\n var isPercent = isPercentage(n);\n n = max === 360 ? n : Math.min(max, Math.max(0, parseFloat(n)));\n // Automatically convert percentage into number\n if (isPercent) {\n n = parseInt(String(n * max), 10) / 100;\n }\n // Handle floating point rounding errors\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n }\n // Convert into [0, 1] range if it isn't already\n if (max === 360) {\n // If n is a hue given in degrees,\n // wrap around out-of-range values into [0, 360] range\n // then convert into [0, 1].\n n = (n < 0 ? (n % max) + max : n % max) / parseFloat(String(max));\n }\n else {\n // If n not a hue given in degrees\n // Convert into [0, 1] range if it isn't already.\n n = (n % max) / parseFloat(String(max));\n }\n return n;\n}\n/**\n * Force a number between 0 and 1\n * @hidden\n */\nexport function clamp01(val) {\n return Math.min(1, Math.max(0, val));\n}\n/**\n * Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n * <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\n * @hidden\n */\nexport function isOnePointZero(n) {\n return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1;\n}\n/**\n * Check to see if string passed in is a percentage\n * @hidden\n */\nexport function isPercentage(n) {\n return typeof n === 'string' && n.indexOf('%') !== -1;\n}\n/**\n * Return a valid alpha value [0,1] with all invalid values being set to 1\n * @hidden\n */\nexport function boundAlpha(a) {\n a = parseFloat(a);\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n return a;\n}\n/**\n * Replace a decimal with it's percentage value\n * @hidden\n */\nexport function convertToPercentage(n) {\n if (n <= 1) {\n return Number(n) * 100 + \"%\";\n }\n return n;\n}\n/**\n * Force a hex value to have 2 characters\n * @hidden\n */\nexport function pad2(c) {\n return c.length === 1 ? '0' + c : String(c);\n}\n","import { bound01, pad2 } from './util';\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n/**\n * Handle bounds / percentage checking to conform to CSS color spec\n * <http://www.w3.org/TR/css3-color/>\n * *Assumes:* r, g, b in [0, 255] or [0, 1]\n * *Returns:* { r, g, b } in [0, 255]\n */\nexport function rgbToRgb(r, g, b) {\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255,\n };\n}\n/**\n * Converts an RGB color value to HSL.\n * *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n * *Returns:* { h, s, l } in [0,1]\n */\nexport function rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var s = 0;\n var l = (max + min) / 2;\n if (max === min) {\n s = 0;\n h = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, l: l };\n}\nfunction hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * (6 * t);\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n/**\n * Converts an HSL color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hslToRgb(h, s, l) {\n var r;\n var g;\n var b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n if (s === 0) {\n // achromatic\n g = l;\n b = l;\n r = l;\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color value to HSV\n *\n * *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n * *Returns:* { h, s, v } in [0,1]\n */\nexport function rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var v = max;\n var d = max - min;\n var s = max === 0 ? 0 : d / max;\n if (max === min) {\n h = 0; // achromatic\n }\n else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n/**\n * Converts an HSV color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n var i = Math.floor(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - f * s);\n var t = v * (1 - (1 - f) * s);\n var mod = i % 6;\n var r = [v, q, p, p, t, v][mod];\n var g = [t, v, v, q, p, p][mod];\n var b = [p, p, t, v, v, q][mod];\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color to hex\n *\n * Assumes r, g, and b are contained in the set [0, 255]\n * Returns a 3 or 6 character hex\n */\nexport function rgbToHex(r, g, b, allow3Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n // Return a 3 character hex if possible\n if (allow3Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color plus alpha transparency to hex\n *\n * Assumes r, g, b are contained in the set [0, 255] and\n * a in [0, 1]. Returns a 4 or 8 character rgba hex\n */\n// eslint-disable-next-line max-params\nexport function rgbaToHex(r, g, b, a, allow4Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n pad2(convertDecimalToHex(a)),\n ];\n // Return a 4 character hex if possible\n if (allow4Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1)) &&\n hex[3].startsWith(hex[3].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color to an ARGB Hex8 string\n * Rarely used, but required for \"toFilter()\"\n */\nexport function rgbaToArgbHex(r, g, b, a) {\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n return hex.join('');\n}\n/** Converts a decimal to a hex value */\nexport function convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n/** Converts a hex value to a decimal */\nexport function convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n}\n/** Parse a base-16 hex value into a base-10 integer */\nexport function parseIntFromHex(val) {\n return parseInt(val, 16);\n}\nexport function numberInputToObject(color) {\n return {\n r: color >> 16,\n g: (color & 0xff00) >> 8,\n b: color & 0xff,\n };\n}\n","// https://github.com/bahamas10/css-color-names/blob/master/css-color-names.json\n/**\n * @hidden\n */\nexport var names = {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n goldenrod: '#daa520',\n gold: '#ffd700',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n lavenderblush: '#fff0f5',\n lavender: '#e6e6fa',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32',\n};\n","import { convertHexToDecimal, hslToRgb, hsvToRgb, parseIntFromHex, rgbToRgb } from './conversion';\nimport { names } from './css-color-names';\nimport { boundAlpha, convertToPercentage } from './util';\n/**\n * Given a string or object, convert that input to RGB\n *\n * Possible string inputs:\n * ```\n * \"red\"\n * \"#f00\" or \"f00\"\n * \"#ff0000\" or \"ff0000\"\n * \"#ff000000\" or \"ff000000\"\n * \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n * \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n * \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n * \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n * \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n * \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n * \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n * ```\n */\nexport function inputToRGB(color) {\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n if (typeof color === 'string') {\n color = stringInputToObject(color);\n }\n if (typeof color === 'object') {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === '%' ? 'prgb' : 'rgb';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = 'hsv';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = 'hsl';\n }\n if (Object.prototype.hasOwnProperty.call(color, 'a')) {\n a = color.a;\n }\n }\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a: a,\n };\n}\n// <http://www.w3.org/TR/css3-values/#integers>\nvar CSS_INTEGER = '[-\\\\+]?\\\\d+%?';\n// <http://www.w3.org/TR/css3-values/#number-value>\nvar CSS_NUMBER = '[-\\\\+]?\\\\d*\\\\.\\\\d+%?';\n// Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\nvar CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n// Actual matching.\n// Parentheses and commas are optional, but not required.\n// Whitespace can take the place of commas or opening paren\nvar PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\nvar PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\nvar matchers = {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp('rgb' + PERMISSIVE_MATCH3),\n rgba: new RegExp('rgba' + PERMISSIVE_MATCH4),\n hsl: new RegExp('hsl' + PERMISSIVE_MATCH3),\n hsla: new RegExp('hsla' + PERMISSIVE_MATCH4),\n hsv: new RegExp('hsv' + PERMISSIVE_MATCH3),\n hsva: new RegExp('hsva' + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n};\n/**\n * Permissive string parsing. Take in a number of formats, and output an object\n * based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\n */\nexport function stringInputToObject(color) {\n color = color.trim().toLowerCase();\n if (color.length === 0) {\n return false;\n }\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color === 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: 'name' };\n }\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match = matchers.rgb.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n match = matchers.rgba.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n match = matchers.hsl.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n match = matchers.hsla.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n match = matchers.hsv.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n match = matchers.hsva.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n match = matchers.hex8.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex6.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n match = matchers.hex4.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n a: convertHexToDecimal(match[4] + match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex3.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n return false;\n}\n/**\n * Check to see if it looks like a CSS unit\n * (see `matchers` above for definition).\n */\nexport function isValidCSSUnit(color) {\n return Boolean(matchers.CSS_UNIT.exec(String(color)));\n}\n","import { inputToRGB, rgbToHex, rgbToHsv } from '@ctrl/tinycolor';\n\nvar hueStep = 2; // 色相阶梯\n\nvar saturationStep = 0.16; // 饱和度阶梯,浅色部分\n\nvar saturationStep2 = 0.05; // 饱和度阶梯,深色部分\n\nvar brightnessStep1 = 0.05; // 亮度阶梯,浅色部分\n\nvar brightnessStep2 = 0.15; // 亮度阶梯,深色部分\n\nvar lightColorCount = 5; // 浅色数量,主色上\n\nvar darkColorCount = 4; // 深色数量,主色下\n// 暗色主题颜色映射关系表\n\nvar darkColorMap = [{\n index: 7,\n opacity: 0.15\n}, {\n index: 6,\n opacity: 0.25\n}, {\n index: 5,\n opacity: 0.3\n}, {\n index: 5,\n opacity: 0.45\n}, {\n index: 5,\n opacity: 0.65\n}, {\n index: 5,\n opacity: 0.85\n}, {\n index: 4,\n opacity: 0.9\n}, {\n index: 3,\n opacity: 0.95\n}, {\n index: 2,\n opacity: 0.97\n}, {\n index: 1,\n opacity: 0.98\n}]; // Wrapper function ported from TinyColor.prototype.toHsv\n// Keep it here because of `hsv.h * 360`\n\nfunction toHsv(_ref) {\n var r = _ref.r,\n g = _ref.g,\n b = _ref.b;\n var hsv = rgbToHsv(r, g, b);\n return {\n h: hsv.h * 360,\n s: hsv.s,\n v: hsv.v\n };\n} // Wrapper function ported from TinyColor.prototype.toHexString\n// Keep it here because of the prefix `#`\n\n\nfunction toHex(_ref2) {\n var r = _ref2.r,\n g = _ref2.g,\n b = _ref2.b;\n return \"#\".concat(rgbToHex(r, g, b, false));\n} // Wrapper function ported from TinyColor.prototype.mix, not treeshakable.\n// Amount in range [0, 1]\n// Assume color1 & color2 has no alpha, since the following src code did so.\n\n\nfunction mix(rgb1, rgb2, amount) {\n var p = amount / 100;\n var rgb = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b\n };\n return rgb;\n}\n\nfunction getHue(hsv, i, light) {\n var hue; // 根据色相不同,色相转向不同\n\n if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) {\n hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i;\n } else {\n hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i;\n }\n\n if (hue < 0) {\n hue += 360;\n } else if (hue >= 360) {\n hue -= 360;\n }\n\n return hue;\n}\n\nfunction getSaturation(hsv, i, light) {\n // grey color don't change saturation\n if (hsv.h === 0 && hsv.s === 0) {\n return hsv.s;\n }\n\n var saturation;\n\n if (light) {\n saturation = hsv.s - saturationStep * i;\n } else if (i === darkColorCount) {\n saturation = hsv.s + saturationStep;\n } else {\n saturation = hsv.s + saturationStep2 * i;\n } // 边界值修正\n\n\n if (saturation > 1) {\n saturation = 1;\n } // 第一格的 s 限制在 0.06-0.1 之间\n\n\n if (light && i === lightColorCount && saturation > 0.1) {\n saturation = 0.1;\n }\n\n if (saturation < 0.06) {\n saturation = 0.06;\n }\n\n return Number(saturation.toFixed(2));\n}\n\nfunction getValue(hsv, i, light) {\n var value;\n\n if (light) {\n value = hsv.v + brightnessStep1 * i;\n } else {\n value = hsv.v - brightnessStep2 * i;\n }\n\n if (value > 1) {\n value = 1;\n }\n\n return Number(value.toFixed(2));\n}\n\nfunction generate(color) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var patterns = [];\n var pColor = inputToRGB(color);\n\n for (var i = lightColorCount; i > 0; i -= 1) {\n var hsv = toHsv(pColor);\n var colorString = toHex(inputToRGB({\n h: getHue(hsv, i, true),\n s: getSaturation(hsv, i, true),\n v: getValue(hsv, i, true)\n }));\n patterns.push(colorString);\n }\n\n patterns.push(toHex(pColor));\n\n for (var _i = 1; _i <= darkColorCount; _i += 1) {\n var _hsv = toHsv(pColor);\n\n var _colorString = toHex(inputToRGB({\n h: getHue(_hsv, _i),\n s: getSaturation(_hsv, _i),\n v: getValue(_hsv, _i)\n }));\n\n patterns.push(_colorString);\n } // dark theme patterns\n\n\n if (opts.theme === 'dark') {\n return darkColorMap.map(function (_ref3) {\n var index = _ref3.index,\n opacity = _ref3.opacity;\n var darkColorString = toHex(mix(inputToRGB(opts.backgroundColor || '#141414'), inputToRGB(patterns[index]), opacity * 100));\n return darkColorString;\n });\n }\n\n return patterns;\n}\n\nvar presetPrimaryColors = {\n red: '#F5222D',\n volcano: '#FA541C',\n orange: '#FA8C16',\n gold: '#FAAD14',\n yellow: '#FADB14',\n lime: '#A0D911',\n green: '#52C41A',\n cyan: '#13C2C2',\n blue: '#1890FF',\n geekblue: '#2F54EB',\n purple: '#722ED1',\n magenta: '#EB2F96',\n grey: '#666666'\n};\nvar presetPalettes = {};\nvar presetDarkPalettes = {};\nObject.keys(presetPrimaryColors).forEach(function (key) {\n presetPalettes[key] = generate(presetPrimaryColors[key]);\n presetPalettes[key].primary = presetPalettes[key][5]; // dark presetPalettes\n\n presetDarkPalettes[key] = generate(presetPrimaryColors[key], {\n theme: 'dark',\n backgroundColor: '#141414'\n });\n presetDarkPalettes[key].primary = presetDarkPalettes[key][5];\n});\nvar red = presetPalettes.red;\nvar volcano = presetPalettes.volcano;\nvar gold = presetPalettes.gold;\nvar orange = presetPalettes.orange;\nvar yellow = presetPalettes.yellow;\nvar lime = presetPalettes.lime;\nvar green = presetPalettes.green;\nvar cyan = presetPalettes.cyan;\nvar blue = presetPalettes.blue;\nvar geekblue = presetPalettes.geekblue;\nvar purple = presetPalettes.purple;\nvar magenta = presetPalettes.magenta;\nvar grey = presetPalettes.grey;\n\nexport { blue, cyan, geekblue, generate, gold, green, grey, lime, magenta, orange, presetDarkPalettes, presetPalettes, presetPrimaryColors, purple, red, volcano, yellow };\n","/* eslint-disable no-console */\nvar warned = {};\nexport function warning(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.error(\"Warning: \".concat(message));\n }\n}\nexport function note(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.warn(\"Note: \".concat(message));\n }\n}\nexport function resetWarned() {\n warned = {};\n}\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\nexport default warningOnce;\n/* eslint-enable */","export default function canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","import canUseDom from './canUseDom';\nvar MARK_KEY = \"rc-util-key\";\n\nfunction getMark() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n mark = _ref.mark;\n\n if (mark) {\n return mark.startsWith('data-') ? mark : \"data-\".concat(mark);\n }\n\n return MARK_KEY;\n}\n\nfunction getContainer(option) {\n if (option.attachTo) {\n return option.attachTo;\n }\n\n var head = document.querySelector('head');\n return head || document.body;\n}\n\nexport function injectCSS(css) {\n var _option$csp;\n\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!canUseDom()) {\n return null;\n }\n\n var styleNode = document.createElement('style');\n\n if ((_option$csp = option.csp) === null || _option$csp === void 0 ? void 0 : _option$csp.nonce) {\n var _option$csp2;\n\n styleNode.nonce = (_option$csp2 = option.csp) === null || _option$csp2 === void 0 ? void 0 : _option$csp2.nonce;\n }\n\n styleNode.innerHTML = css;\n var container = getContainer(option);\n var firstChild = container.firstChild;\n\n if (option.prepend && container.prepend) {\n // Use `prepend` first\n container.prepend(styleNode);\n } else if (option.prepend && firstChild) {\n // Fallback to `insertBefore` like IE not support `prepend`\n container.insertBefore(styleNode, firstChild);\n } else {\n container.appendChild(styleNode);\n }\n\n return styleNode;\n}\nvar containerCache = new Map();\n\nfunction findExistNode(key) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var container = getContainer(option);\n return Array.from(containerCache.get(container).children).find(function (node) {\n return node.tagName === 'STYLE' && node.getAttribute(getMark(option)) === key;\n });\n}\n\nexport function removeCSS(key) {\n var _existNode$parentNode;\n\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var existNode = findExistNode(key, option);\n existNode === null || existNode === void 0 ? void 0 : (_existNode$parentNode = existNode.parentNode) === null || _existNode$parentNode === void 0 ? void 0 : _existNode$parentNode.removeChild(existNode);\n}\nexport function updateCSS(css, key) {\n var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var container = getContainer(option); // Get real parent\n\n if (!containerCache.has(container)) {\n var placeholderStyle = injectCSS('', option);\n var parentNode = placeholderStyle.parentNode;\n containerCache.set(container, parentNode);\n parentNode.removeChild(placeholderStyle);\n }\n\n var existNode = findExistNode(key, option);\n\n if (existNode) {\n var _option$csp3, _option$csp4;\n\n if (((_option$csp3 = option.csp) === null || _option$csp3 === void 0 ? void 0 : _option$csp3.nonce) && existNode.nonce !== ((_option$csp4 = option.csp) === null || _option$csp4 === void 0 ? void 0 : _option$csp4.nonce)) {\n var _option$csp5;\n\n existNode.nonce = (_option$csp5 = option.csp) === null || _option$csp5 === void 0 ? void 0 : _option$csp5.nonce;\n }\n\n if (existNode.innerHTML !== css) {\n existNode.innerHTML = css;\n }\n\n return existNode;\n }\n\n var newNode = injectCSS(css, option);\n newNode.setAttribute(getMark(option), key);\n return newNode;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { generate as generateColor } from '@ant-design/colors';\nimport React, { useContext, useEffect } from 'react';\nimport warn from \"rc-util/es/warning\";\nimport { updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport IconContext from './components/Context';\nexport function warning(valid, message) {\n warn(valid, \"[@ant-design/icons] \".concat(message));\n}\nexport function isIconDefinition(target) {\n return _typeof(target) === 'object' && typeof target.name === 'string' && typeof target.theme === 'string' && (_typeof(target.icon) === 'object' || typeof target.icon === 'function');\n}\nexport function normalizeAttrs() {\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return Object.keys(attrs).reduce(function (acc, key) {\n var val = attrs[key];\n\n switch (key) {\n case 'class':\n acc.className = val;\n delete acc.class;\n break;\n\n default:\n acc[key] = val;\n }\n\n return acc;\n }, {});\n}\nexport function generate(node, key, rootProps) {\n if (!rootProps) {\n return /*#__PURE__*/React.createElement(node.tag, _objectSpread({\n key: key\n }, normalizeAttrs(node.attrs)), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n }\n\n return /*#__PURE__*/React.createElement(node.tag, _objectSpread(_objectSpread({\n key: key\n }, normalizeAttrs(node.attrs)), rootProps), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n}\nexport function getSecondaryColor(primaryColor) {\n // choose the second color\n return generateColor(primaryColor)[0];\n}\nexport function normalizeTwoToneColors(twoToneColor) {\n if (!twoToneColor) {\n return [];\n }\n\n return Array.isArray(twoToneColor) ? twoToneColor : [twoToneColor];\n} // These props make sure that the SVG behaviours like general text.\n// Reference: https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\n\nexport var svgBaseProps = {\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true',\n focusable: 'false'\n};\nexport var iconStyles = \"\\n.anticon {\\n display: inline-block;\\n color: inherit;\\n font-style: normal;\\n line-height: 0;\\n text-align: center;\\n text-transform: none;\\n vertical-align: -0.125em;\\n text-rendering: optimizeLegibility;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.anticon > * {\\n line-height: 1;\\n}\\n\\n.anticon svg {\\n display: inline-block;\\n}\\n\\n.anticon::before {\\n display: none;\\n}\\n\\n.anticon .anticon-icon {\\n display: block;\\n}\\n\\n.anticon[tabindex] {\\n cursor: pointer;\\n}\\n\\n.anticon-spin::before,\\n.anticon-spin {\\n display: inline-block;\\n -webkit-animation: loadingCircle 1s infinite linear;\\n animation: loadingCircle 1s infinite linear;\\n}\\n\\n@-webkit-keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\";\nexport var useInsertStyles = function useInsertStyles() {\n var styleStr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : iconStyles;\n\n var _useContext = useContext(IconContext),\n csp = _useContext.csp;\n\n useEffect(function () {\n updateCSS(styleStr, '@ant-design-icons', {\n prepend: true,\n csp: csp\n });\n }, []);\n};","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nvar _excluded = [\"icon\", \"className\", \"onClick\", \"style\", \"primaryColor\", \"secondaryColor\"];\nimport { generate, getSecondaryColor, isIconDefinition, warning, useInsertStyles } from '../utils';\nvar twoToneColorPalette = {\n primaryColor: '#333',\n secondaryColor: '#E6E6E6',\n calculated: false\n};\n\nfunction setTwoToneColors(_ref) {\n var primaryColor = _ref.primaryColor,\n secondaryColor = _ref.secondaryColor;\n twoToneColorPalette.primaryColor = primaryColor;\n twoToneColorPalette.secondaryColor = secondaryColor || getSecondaryColor(primaryColor);\n twoToneColorPalette.calculated = !!secondaryColor;\n}\n\nfunction getTwoToneColors() {\n return _objectSpread({}, twoToneColorPalette);\n}\n\nvar IconBase = function IconBase(props) {\n var icon = props.icon,\n className = props.className,\n onClick = props.onClick,\n style = props.style,\n primaryColor = props.primaryColor,\n secondaryColor = props.secondaryColor,\n restProps = _objectWithoutProperties(props, _excluded);\n\n var colors = twoToneColorPalette;\n\n if (primaryColor) {\n colors = {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor || getSecondaryColor(primaryColor)\n };\n }\n\n useInsertStyles();\n warning(isIconDefinition(icon), \"icon should be icon definiton, but got \".concat(icon));\n\n if (!isIconDefinition(icon)) {\n return null;\n }\n\n var target = icon;\n\n if (target && typeof target.icon === 'function') {\n target = _objectSpread(_objectSpread({}, target), {}, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n\n return generate(target.icon, \"svg-\".concat(target.name), _objectSpread({\n className: className,\n onClick: onClick,\n style: style,\n 'data-icon': target.name,\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true'\n }, restProps));\n};\n\nIconBase.displayName = 'IconReact';\nIconBase.getTwoToneColors = getTwoToneColors;\nIconBase.setTwoToneColors = setTwoToneColors;\nexport default IconBase;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport ReactIcon from './IconBase';\nimport { normalizeTwoToneColors } from '../utils';\nexport function setTwoToneColor(twoToneColor) {\n var _normalizeTwoToneColo = normalizeTwoToneColors(twoToneColor),\n _normalizeTwoToneColo2 = _slicedToArray(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n\n return ReactIcon.setTwoToneColors({\n primaryColor: primaryColor,\n secondaryColor: secondaryColor\n });\n}\nexport function getTwoToneColor() {\n var colors = ReactIcon.getTwoToneColors();\n\n if (!colors.calculated) {\n return colors.primaryColor;\n }\n\n return [colors.primaryColor, colors.secondaryColor];\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"className\", \"icon\", \"spin\", \"rotate\", \"tabIndex\", \"onClick\", \"twoToneColor\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Context from './Context';\nimport ReactIcon from './IconBase';\nimport { getTwoToneColor, setTwoToneColor } from './twoTonePrimaryColor';\nimport { normalizeTwoToneColors } from '../utils'; // Initial setting\n// should move it to antd main repo?\n\nsetTwoToneColor('#1890ff');\nvar Icon = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n\n var className = props.className,\n icon = props.icon,\n spin = props.spin,\n rotate = props.rotate,\n tabIndex = props.tabIndex,\n onClick = props.onClick,\n twoToneColor = props.twoToneColor,\n restProps = _objectWithoutProperties(props, _excluded);\n\n var _React$useContext = React.useContext(Context),\n _React$useContext$pre = _React$useContext.prefixCls,\n prefixCls = _React$useContext$pre === void 0 ? 'anticon' : _React$useContext$pre;\n\n var classString = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(icon.name), !!icon.name), _defineProperty(_classNames, \"\".concat(prefixCls, \"-spin\"), !!spin || icon.name === 'loading'), _classNames), className);\n var iconTabIndex = tabIndex;\n\n if (iconTabIndex === undefined && onClick) {\n iconTabIndex = -1;\n }\n\n var svgStyle = rotate ? {\n msTransform: \"rotate(\".concat(rotate, \"deg)\"),\n transform: \"rotate(\".concat(rotate, \"deg)\")\n } : undefined;\n\n var _normalizeTwoToneColo = normalizeTwoToneColors(twoToneColor),\n _normalizeTwoToneColo2 = _slicedToArray(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n\n return /*#__PURE__*/React.createElement(\"span\", _objectSpread(_objectSpread({\n role: \"img\",\n \"aria-label\": icon.name\n }, restProps), {}, {\n ref: ref,\n tabIndex: iconTabIndex,\n onClick: onClick,\n className: classString\n }), /*#__PURE__*/React.createElement(ReactIcon, {\n icon: icon,\n primaryColor: primaryColor,\n secondaryColor: secondaryColor,\n style: svgStyle\n }));\n});\nIcon.displayName = 'AntdIcon';\nIcon.getTwoToneColor = getTwoToneColor;\nIcon.setTwoToneColor = setTwoToneColor;\nexport default Icon;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport SaveOutlinedSvg from \"@ant-design/icons-svg/es/asn/SaveOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar SaveOutlined = function SaveOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: SaveOutlinedSvg\n }));\n};\n\nSaveOutlined.displayName = 'SaveOutlined';\nexport default /*#__PURE__*/React.forwardRef(SaveOutlined);","import { SaveOutlined } from '@ant-design/icons';\nimport { Button, ButtonProps, Space } from 'antd';\n\nexport interface DrawerOperationProps {\n loading?: boolean;\n okText?: string;\n cancelText?: string;\n onOk?: () => void;\n onCancel?: () => void;\n hideOkBtn?: boolean;\n okButtonProps?: Omit<ButtonProps, 'onClick' | 'loading' | 'className'>;\n cancelButtonProps?: Omit<ButtonProps, 'onClick' | 'loading' | 'className'>;\n}\n\nexport const DrawerOperation = (props: DrawerOperationProps) => {\n return (\n <div className=\"fixed-bottom-block\">\n <Space size=\"middle\">\n <Button {...props.cancelButtonProps} className=\"cancel-btn\" onClick={props.onCancel}>\n {props.cancelText || '取消'}\n </Button>\n {props.hideOkBtn != true && (\n <Button\n type=\"primary\"\n icon={<SaveOutlined />}\n {...props.okButtonProps}\n className=\"ok-btn\"\n onClick={props.onOk}\n loading={props.loading}\n >\n {props.okText || '提交'}\n </Button>\n )}\n </Space>\n </div>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Drawer, DrawerProps } from 'antd';\nimport React, { FC } from 'react';\nimport { DrawerOperation, DrawerOperationProps } from './drawer-operation';\nimport './style.less';\n\nexport type DrawerFormProps = {\n className?: string;\n /**\n * 整个drawer页面级的spinning <Page loading />\n */\n pageLoading?: boolean;\n // 设置了 DrawerProps footer属性后,operationProps配置将失效\n operationProps?: DrawerOperationProps;\n} & DrawerProps;\n\nconst PageLoader = () => {\n return (\n <div className=\"drawer-wraper-loader\">\n <div className=\"loader-wrapper\">\n <div className=\"loader-inner\" />\n <div className=\"loader-text\">LOADING</div>\n </div>\n </div>\n );\n};\n\nexport const DrawerWraper: FC<DrawerFormProps> = (props) => {\n const { pageLoading, className, width = 600, children, footer, operationProps, ...otherProps } = props;\n\n return (\n <Drawer\n className={classNames('drawer-wraper', className)}\n keyboard={false}\n forceRender={false}\n destroyOnClose={false}\n width={'80%'}\n contentWrapperStyle={{ maxWidth: width }}\n size=\"default\"\n {...otherProps}\n footer={footer || footer === null ? footer : <DrawerOperation {...operationProps} />}\n >\n <div className=\"drawer-wraper-content\">{children}</div>\n {pageLoading && <PageLoader />}\n </Drawer>\n );\n};\n","import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { DrawerActionsParamType, DrawerModel, DrawerStateType } from './drawer.model';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst drawerModels: Record<string, API<ModelType<DrawerStateType, DrawerActionsParamType, any>>> = {};\n\n/**\n * drawer弹窗模型\n * @param key 唯一值必传\n * @returns\n *\n * ```\n * 使用方式\n * const [drawerState, drawerActions] = createDrawerWraperModel('key值').useStore();\n * ```\n */\nexport const createDrawerWraperModel = (key: string) => {\n if (!drawerModels[key]) {\n drawerModels[key] = Model(DrawerModel);\n }\n return drawerModels[key];\n};\n\nexport * from './drawer-wraper';\n","import { message, Upload, UploadProps } from 'antd';\nimport { FC } from 'react';\n\nexport type FileImportProps = {\n onImportFinish: (data) => void;\n} & Omit<UploadProps, 'onChange' | 'fileList' | 'onPreview'>;\n\n/**\n * 文件导入\n * ```\n * 默认值:\n * name: 'file',\n * accept: '.xlsx,.xls',\n * ```\n */\nexport const FileImport: FC<FileImportProps> = (props) => {\n const { onImportFinish, ...otherProps } = props;\n const uploadProps = {\n showUploadList: false,\n onChange(info) {\n if (info.file.status !== 'uploading') {\n console.log('FileImport uploading');\n }\n if (info.file.status === 'done') {\n const respData = info.file.response;\n if (respData.code === '0000') {\n onImportFinish(respData.data);\n } else {\n void message.error(respData.message || '文件导入异常...');\n }\n } else if (info.file.status === 'error') {\n void message.error('文件导入异常...');\n }\n },\n ...otherProps,\n };\n\n return <Upload {...uploadProps}>{props.children}</Upload>;\n};\n\nFileImport.defaultProps = {\n name: 'file',\n accept: '.xlsx,.xls',\n};\n","import { isArray } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Upload, UploadProps } from 'antd';\nimport { UploadChangeParam } from 'antd/lib/upload';\nimport { UploadFile } from 'antd/lib/upload/interface';\nimport { FC, useEffect, useState } from 'react';\nimport './style.less';\n\nexport type FileUploadItem = {\n fileKey: string;\n fileName: string;\n};\n\ntype AntdFileUploadItem = {\n uid: string;\n name: string;\n fileKey: string;\n};\n\nexport type FileUploadProps = {\n onChange?: (value?: FileUploadItem[]) => void;\n onUploadError?: (message?: string) => void;\n value?: FileUploadItem[];\n onPreview?: (item: FileUploadItem) => void;\n onUploadChange?: (info: UploadChangeParam<UploadFile>) => void;\n} & Omit<UploadProps, 'onChange' | 'fileList' | 'onPreview'>;\n\n/**\n * 文件上传,结合Form使用最佳\n * ```\n * 接口返回结构:\n * formData上传接口必须返回fileKey值\n * {\n * code: '0000',\n * data: {\n * fileKey: '预览文件对应的fileKey'\n * }\n * }\n * ```\n * ```\n * 最佳使用方式:\n * <Form.Item name=\"attachmentList\" label=\"附件\">\n * <FileUpload action={uploadUrl} onPreview={onPreviewFile}>\n * <Button type=\"primary\">选择文件导入</Button>\n * </FileUpload>\n * </Form.Item>\n * ```\n *\n */\nexport const FileUpload: FC<FileUploadProps> = (props) => {\n const { onChange, onUploadError, onPreview, value, ...otherProps } = props;\n const [uploadValue, setUploadValue] = useState<AntdFileUploadItem[]>([]);\n useEffect(() => {\n if (value && isArray(value)) {\n setUploadValue(\n value.map((item) => {\n return {\n uid: item['uid'] || item.fileKey,\n name: item.fileName,\n fileKey: item.fileKey,\n };\n }),\n );\n }\n }, [value]);\n\n const onUploadChange = hooks.useCallbackRef((info) => {\n if (info.file.status === 'done') {\n const respData = info.file.response;\n if (respData.code === '0000') {\n const uploadItem = {\n uid: info.file.uid,\n fileName: info.file.name as string,\n fileKey: respData.data.fileKey,\n };\n const respValue = (value || []).concat(uploadItem);\n onChange?.(respValue);\n } else {\n onUploadError?.(respData.message as string);\n }\n } else if (info.file.status === 'removed') {\n const uid = info.file.uid;\n const targetList = value !== undefined ? [...value] : [];\n const targetIndex = targetList.findIndex((item) => {\n const tempUid = item['uid'] || item.fileKey;\n return tempUid === uid;\n });\n if (targetIndex >= 0) {\n targetList.splice(targetIndex, 1);\n }\n onChange?.(targetList);\n } else if (info.file.status === 'error') {\n onUploadError?.();\n }\n // https://github.com/ant-design/ant-design/issues/2423\n setUploadValue([...info.fileList]);\n props.onUploadChange?.(info);\n });\n\n const onUploadPreview = hooks.useCallbackRef((file) => {\n onPreview?.({\n fileKey: file.fileKey,\n fileName: file.fileName,\n });\n });\n\n return (\n <Upload\n {...otherProps}\n onChange={onUploadChange}\n onPreview={onUploadPreview}\n fileList={uploadValue}\n className={classNames('v-file-upload', otherProps.className)}\n >\n {props.children}\n </Upload>\n );\n};\n","import { isArray } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { isUndefinedOrNull } from '@flatbiz/utils';\nimport { cloneElement, CSSProperties, FC } from 'react';\nimport './style.less';\n\nexport type FlexLayoutProps = {\n className?: string;\n fullIndex?: number | number[];\n direction?: 'vertical' | 'horizontal';\n onClick?: () => void;\n style?: CSSProperties;\n gap?: number;\n};\n/**\n * flex布局\n * 1. direction:默认值vertical\n * 2. gap间隙距离\n * 3. fullIndex:指定children数组索引值对象flex=1\n * 4. children添加key熟悉\n * @param props\n * @returns\n */\nexport const FlexLayout: FC<FlexLayoutProps> = (props) => {\n const childrens = (isArray(props.children) ? props.children : [props.children]) as JSX.Element[];\n const direction = props.direction || 'vertical';\n const gap = props.gap ? props.gap : 0;\n const fullIndexList = !isUndefinedOrNull(props.fullIndex)\n ? isArray(props.fullIndex)\n ? props.fullIndex\n : [props.fullIndex as number]\n : [];\n return (\n <div\n className={classNames('v-flex-layout', `v-flex-${direction}`, props.className)}\n style={props.style}\n onClick={props.onClick}\n >\n {childrens.map((children, index) => {\n const childrenStyle = children.props.style || {};\n const style = fullIndexList.includes(index) ? { flex: 1, ...childrenStyle } : childrenStyle;\n if (index < childrens.length - 1 && gap > 0) {\n if (direction === 'horizontal') {\n style.marginRight = gap;\n } else {\n style.marginBottom = gap;\n }\n }\n return cloneElement(children, { style });\n })}\n </div>\n );\n};\n","import { CSSProperties, VFC } from 'react';\n\nexport type GapProps = {\n height?: number;\n className?: string;\n style?: CSSProperties;\n};\n\n/**\n * 间隙组件\n * @param props\n * @returns\n */\nexport const Gap: VFC<GapProps> = (props) => {\n return <div style={{ height: props.height, ...props.style }} className={props.className} />;\n};\n","import { DependencyList, EffectCallback, useEffect } from 'react';\n\nexport const useEffectCustom = (fn: EffectCallback, deps: DependencyList) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useEffect(fn, deps);\n};\n","import { DependencyList, useEffect } from 'react';\n\nexport const useEffectCustomAsync = (fn: () => Promise<void>, deps: DependencyList) => {\n useEffect(() => {\n async function asyncFunction() {\n await fn();\n }\n void asyncFunction();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n};\n","import { ModelType } from '@dimjs/model';\n\nexport interface ModalStateType {\n title?: string;\n /**\n * 显示modal\n */\n visible: boolean;\n /**\n * 用来处理form, `更新`的时候的传递当前item列表行的数据, 当`创建`的时候强制设置为 `undefined`\n */\n itemData?: Record<string, unknown> | null;\n operateType: 'create' | 'update' | 'view';\n pageLoading?: boolean;\n}\n\nexport interface ModalActionsParamType {\n openModalForm: Pick<ModalStateType, 'title' | 'itemData' | 'operateType' | 'pageLoading'>;\n closeModal: void;\n setModalItemData: Record<string, unknown>;\n}\n\n/**\n * @shared\n * 提供公共的modal处理, 通常用来表单编辑, 弹窗抽屉模式.\n * 注意全部理论上只允许一个modal实例存在,如需处理多个, 请自行实例话模型.\n */\nexport const ModalModel: ModelType<ModalStateType, ModalActionsParamType> = {\n actions: {\n openModalForm({ itemData, title, operateType, pageLoading }) {\n return (state) => {\n state.itemData = itemData;\n state.title = title;\n state.operateType = operateType;\n state.pageLoading = pageLoading;\n state.visible = true;\n };\n },\n closeModal() {\n return (state) => {\n state.visible = false;\n };\n },\n setModalItemData(params) {\n return (state) => {\n state.pageLoading = false;\n state.itemData = params;\n };\n },\n },\n state: {\n visible: false,\n title: '',\n operateType: 'view',\n },\n};\n","import { Button, ButtonProps, Space } from 'antd';\nimport { Fragment } from 'react';\n\nexport interface ModalOperationProps {\n loading?: boolean;\n okText?: string;\n cancelText?: string;\n onOk?: () => void;\n onCancel?: () => void;\n hideOkBtn?: boolean;\n okButtonProps?: Omit<ButtonProps, 'onClick' | 'loading' | 'className'>;\n cancelButtonProps?: Omit<ButtonProps, 'onClick' | 'loading' | 'className'>;\n}\n\nexport const ModalOperation = ({\n loading,\n okText = '保存',\n cancelText = '取消',\n onCancel,\n onOk,\n hideOkBtn,\n ...otherProps\n}: ModalOperationProps) => {\n return (\n <Fragment>\n <Space size=\"middle\">\n <Button {...otherProps.cancelButtonProps} className=\"cancel-btn\" onClick={onCancel}>\n {cancelText}\n </Button>\n {hideOkBtn != true && (\n <Button\n type=\"primary\"\n {...otherProps.okButtonProps}\n className=\"ok-btn\"\n onClick={onOk}\n loading={loading}\n >\n {okText}\n </Button>\n )}\n </Space>\n </Fragment>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Modal, ModalProps } from 'antd';\nimport React, { FC } from 'react';\nimport { ModalOperation, ModalOperationProps } from './modal-operation';\nimport './style.less';\n\nexport type ModalFormProps = {\n className?: string;\n // 整个modal页面级的spinning <Page loading />\n pageLoading?: boolean;\n // 设置了 ModalProps footer属性后,operationProps配置将失效\n operationProps?: ModalOperationProps;\n footer?: null | React.ReactNode;\n} & Omit<\n ModalProps,\n | 'footer'\n | 'onOk'\n | 'okText'\n | 'cancelText'\n | 'okButtonProps'\n | 'cancelButtonProps'\n | 'okType'\n | 'confirmLoading'\n>;\n\nconst PageLoader = () => {\n return (\n <div className=\"modal-wraper-loader\">\n <div className=\"loader-wrapper\">\n <div className=\"loader-inner\" />\n <div className=\"loader-text\">LOADING</div>\n </div>\n </div>\n );\n};\n\nexport const ModalWraper: FC<ModalFormProps> = (props) => {\n const { pageLoading, className, width, children, footer, operationProps, ...otherProps } = props;\n return (\n <Modal\n className={classNames('modal-wraper', className)}\n keyboard={false}\n forceRender={true}\n destroyOnClose={true}\n {...otherProps}\n width={width || 600}\n footer={null}\n >\n <div className=\"modal-wraper-content\">\n {children}\n {pageLoading && <PageLoader />}\n </div>\n {footer !== null && (\n <div className=\"modal-wraper-content-footer\">\n {footer ? footer : <ModalOperation {...operationProps} />}\n </div>\n )}\n </Modal>\n );\n};\n","import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { ModalActionsParamType, ModalModel, ModalStateType } from './modal.model';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst modalModels: Record<string, API<ModelType<ModalStateType, ModalActionsParamType, any>>> = {};\n\n/**\n * modal弹窗模型\n * @param key 唯一值必传\n * @returns\n *\n * ```\n * 使用方式\n * const [modalState, modalActions] = createModalWraperModel('key值').useStore();\n * ```\n */\nexport const createModalWraperModel = (key: string) => {\n if (!modalModels[key]) {\n modalModels[key] = Model(ModalModel);\n }\n return modalModels[key];\n};\n\nexport * from './modal-wraper';\n","import { classNames } from '@dimjs/utils';\nimport { CSSProperties, FC } from 'react';\nimport './style.less';\n\nexport type PageFixedFooterProps = {\n className?: string;\n style?: CSSProperties;\n};\n\nexport const PageFixedFooter: FC<PageFixedFooterProps> = (props) => {\n return (\n <div className={classNames('page-fixed-footer', props.className)} style={props.style}>\n {props.children}\n </div>\n );\n};\n","export const Page404 = () => {\n return <div className=\"v-404\">404</div>;\n};\n","/**\n * 使用在Form组件上,预定义form-item label宽度\n */\nexport const formClassName = {\n label_width_70: 'form-label-70',\n label_width_80: 'form-label-80',\n label_width_90: 'form-label-90',\n label_width_100: 'form-label-100',\n label_width_110: 'form-label-110',\n label_width_120: 'form-label-120',\n label_width_130: 'form-label-130',\n label_width_auto: 'form-label-auto',\n};\n\n/**\n * 使用在Form.Item组件上,预定义form-item label宽度\n */\nexport const formItemClassName = {\n label_width_70: 'form-item-label-70',\n label_width_80: 'form-item-label-80',\n label_width_90: 'form-item-label-90',\n label_width_100: 'form-item-label-100',\n label_width_110: 'form-item-label-110',\n label_width_120: 'form-item-label-120',\n label_width_130: 'form-item-label-130',\n label_width_auto: 'form-item-label-auto',\n};\n","import { formClassName, formItemClassName } from './form';\n\n/**\n * 预定义className\n * ```\n * form: 使用在Form组件上,设置form-item label宽度\n * formItem: 使用在Form.Item组件上,设置form-item label宽度\n * ```\n */\nexport const preDefinedClassName = {\n form: formClassName,\n formItem: formItemClassName,\n};\n","import { extend } from '@dimjs/utils';\nimport { isUndefinedOrNull, LabelValueItem, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { message, Select, SelectProps, Spin } from 'antd';\nimport { DependencyList, forwardRef, useImperativeHandle, useRef, useState } from 'react';\nimport { useEffectCustom } from '../hooks/use-effect-custom';\n\ntype SelectorServiceConfig = {\n params?: TPlainObject;\n requiredParamsKeys?: string[];\n fieldNames?: { label: string; value: string };\n onRequest?: (params?: any) => any;\n /**\n * 响应数据适配器\n */\n onRequestResultAdapter?: (respData: any) => TPlainObject[];\n};\n\nexport type SelectorWrapperProps = SelectProps & {\n effectDependencyList?: DependencyList[];\n /**\n * 请求服务需求的数据,当设置`selectorList`后无效果\n */\n serviceConfig?: SelectorServiceConfig;\n /**\n * 当设置selectorList后,serviceConfig、operateType=search、onSelectorListChange将失效\n */\n selectorList?: LabelValueItem<string | number>[];\n /**\n * 通过服务获取数据后回调,当设置`selectorList`后无效果\n */\n onSelectorListChange?: (selectorList: LabelValueItem<string | number>[]) => void;\n showAllOption?: true | JSX.Element;\n /**\n * 输入操作类型,默认值:filter\n * ```\n * 1. search:根据输入项去服务端查询\n * 2. filter:初始化已查询数据,根据输入内容筛选\n * 3. 在设置`selectorList`后,operateType=search将失效\n * ```\n */\n operateType?: 'search' | 'filter';\n // 搜索调接口字段名称,默认值:keyword\n searchFieldName?: string;\n};\n\nexport type SelectorWrapperRefApi = {\n onClearSelectorList: () => void;\n getSelectorList: () => LabelValueItem<string | number>[];\n};\n\n/**\n * 选择器包装组件\n * @param props\n * @returns\n * ```\n * 1. 当设置selectorList属性后,serviceConfig、operateType=search、onSelectorListChange将失效\n * 2. operateType=search状态下,回填数据查询接口时,会在接口中默认添加id字段(id的值为回填的值)\n * ```\n */\nexport const SelectorWrapper = forwardRef<SelectorWrapperRefApi, SelectorWrapperProps>((props, ref) => {\n const {\n serviceConfig,\n showAllOption,\n effectDependencyList,\n onSelectorListChange,\n operateType,\n searchFieldName,\n selectorList,\n ...otherProps\n } = props;\n\n const [dataSource, setDataSource] = useState<LabelValueItem<string | number>[]>([]);\n const isSearch = operateType === 'search' && selectorList === undefined;\n const newServiceConfig = serviceConfig || {};\n const newEffectDependencyList = effectDependencyList || [];\n const changeOperateValueRef = useRef<string | number>();\n const [loading, setLoading] = useState(false);\n\n const valueIsEmpty = (value: string | number) => {\n return value === '' || isUndefinedOrNull(value);\n };\n\n const serviceResponseHandle = (respData) => {\n const respDataList = (\n newServiceConfig.onRequestResultAdapter\n ? newServiceConfig.onRequestResultAdapter(respData as unknown as TPlainObject)\n : respData\n ) as TPlainObject[];\n\n if (!newServiceConfig.fieldNames) {\n return respDataList;\n }\n\n return respDataList.map((item) => {\n return {\n label: item[newServiceConfig.fieldNames?.label as string] as string,\n value: item[newServiceConfig.fieldNames?.value as string] as string | number,\n };\n });\n };\n\n const startDataSourceRequest = hooks.useCallbackRef(\n async (inputValue?: string, searchId?: string | number) => {\n try {\n if (!newServiceConfig.onRequest) {\n throw new Error('onRequest 调用接口服务不能为空');\n }\n const requiredParamsKeys = newServiceConfig.requiredParamsKeys;\n const params = extend({}, newServiceConfig.params);\n if (requiredParamsKeys) {\n const isEmpty = requiredParamsKeys.find((key) => {\n return valueIsEmpty(params[key] as string | number);\n });\n if (isEmpty) {\n console.warn(`SelectorWrapper组件:参数:${requiredParamsKeys.join('、')}不能为空`);\n return;\n }\n }\n setLoading(true);\n if ((!isUndefinedOrNull(inputValue) || !isUndefinedOrNull(searchId)) && isSearch) {\n const keyword = searchFieldName || 'keyword';\n params[keyword] = inputValue;\n params['id'] = searchId;\n }\n const _respData = await newServiceConfig.onRequest?.(params);\n const respData = serviceResponseHandle(_respData) as LabelValueItem<string | number>[];\n setLoading(false);\n onSelectorListChange?.(respData);\n setDataSource(respData);\n } catch (error) {\n setLoading(false);\n void message.error((error.message as string) || '数据查询异常...');\n }\n },\n );\n\n useEffectCustom(() => {\n if (props.selectorList) {\n setDataSource(selectorList as LabelValueItem<string | number>[]);\n return;\n }\n if (isSearch) return;\n void startDataSourceRequest();\n }, newEffectDependencyList);\n\n useEffectCustom(() => {\n if (isSearch) {\n if (valueIsEmpty(props.value)) {\n onSelectorListChange?.([]);\n setDataSource([]);\n } else {\n // 判断是否由外部回填value数据\n if (props.value !== changeOperateValueRef.current) {\n void startDataSourceRequest(undefined, props.value);\n }\n }\n }\n }, newEffectDependencyList.concat([props.value]));\n\n useImperativeHandle(ref, () => {\n return {\n onClearSelectorList: () => {\n setDataSource([]);\n },\n getSelectorList: () => {\n return dataSource;\n },\n };\n });\n\n const filterOption = hooks.useCallbackRef((input: string, option) => {\n return (option?.children as unknown as string).toLowerCase().indexOf(input.toLowerCase()) >= 0;\n });\n\n const onSearch = hooks.useDebounceCallback((value: string) => {\n if (value) {\n void startDataSourceRequest(value);\n } else {\n setDataSource([]);\n }\n }, 150);\n\n const onChange = hooks.useCallbackRef((value: string | number, ...otherParams) => {\n changeOperateValueRef.current = value;\n props.onChange?.(value, otherParams);\n });\n\n const selectOptionsAll = <Select.Option value=\"\">全部</Select.Option>;\n return (\n <Select\n showSearch={true}\n allowClear={true}\n notFoundContent={loading ? <Spin /> : dataSource.length ? '暂无数据' : null}\n {...otherProps}\n loading={loading}\n onSearch={isSearch ? onSearch : undefined}\n filterOption={isSearch ? false : filterOption}\n onChange={onChange}\n >\n {showAllOption === true ? selectOptionsAll : showAllOption}\n {dataSource.map((item) => {\n return (\n <Select.Option value={item.value} key={item.value}>\n {item.label}\n </Select.Option>\n );\n })}\n </Select>\n );\n});\n","import { classNames } from '@dimjs/utils';\nimport { CSSProperties, FC, ReactElement } from 'react';\nimport './style.less';\n\nexport type SimpleLayoutProps = {\n className?: string;\n style?: CSSProperties;\n title?: string | ReactElement;\n formLabelAlign?: 'left' | 'right';\n layoutType?: 'layer' | 'tight';\n};\n\nexport const SimpleLayout: FC<SimpleLayoutProps> = (props) => {\n const labelAlign = props.formLabelAlign || 'right';\n const className = classNames(\n 'simple-layout',\n {\n 'simple-layout-tight': props.layoutType === 'tight',\n 'simple-layout-formlabel-left': labelAlign === 'left',\n },\n props.className,\n );\n\n return (\n <div className={className} style={props.style}>\n {props.title ? <div className=\"simple-layout-title\">{props.title}</div> : null}\n <div className=\"simple-layout-content\">{props.children}</div>\n </div>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { FC, useEffect, useMemo, useState } from 'react';\n\nexport interface SmsCountDownProps {\n onSendRequest: () => Promise<void>; // 验证码请求函数\n totalTicks?: number; // 总倒计时,默认:60(s)\n duration?: number; // 倒计时间隔,默认:1000ms(1s)\n autoStart?: boolean; // 是否自动开始倒计时,默认:fasle,注意:不会自动调用 onSendRequest\n format?: string; // 倒计时格式化,默认:'{t}s'\n sendTxt?: string; // 文案,默认:'获取验证码'\n sentTxt?: string; // 倒计时完成文案,默认:'重新获取'\n processingTxt?: string; // 倒计时中文案,默认:'发送中...'\n onTick?: (time: number) => void; // 倒计时回调\n className?: string;\n}\nexport const SmsCountDown: FC<SmsCountDownProps> = (props) => {\n const [showMessage, setShowMessage] = useState<string>();\n\n const [running, setRunning] = useState(false);\n const [starting, setStarting] = useState(false);\n\n // 初始化设置有效\n const initConfig = useMemo<Omit<SmsCountDownProps, 'onSendRequest' | 'onTick' | 'className'>>(() => {\n return {\n sendTxt: props.sendTxt,\n sentTxt: props.sentTxt,\n processingTxt: props.processingTxt,\n format: props.format,\n autoStart: props.autoStart,\n totalTicks: props.totalTicks,\n duration: props.duration,\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const format = initConfig.format as string;\n const totalTicks = initConfig.totalTicks as number;\n const duration = initConfig.duration as number;\n\n const countdownFnc = hooks.useCountdownCallback(\n (num) => {\n const second = num / 1000;\n if (num > 0) {\n if (!running) {\n setRunning(true);\n }\n setShowMessage(format.replace('{t}', String(second)));\n props.onTick?.(second);\n } else if (num === 0) {\n setRunning(false);\n setStarting(false);\n props.onTick?.(second);\n setShowMessage(initConfig.sentTxt);\n }\n },\n totalTicks * 1000,\n { intervalTime: duration },\n );\n\n useEffect(() => {\n if (!initConfig.autoStart) {\n setShowMessage(initConfig.sendTxt);\n } else {\n countdownFnc();\n setStarting(true);\n setRunning(true);\n }\n }, [countdownFnc, initConfig]);\n\n const onStart = hooks.useCallbackRef(() => {\n if (running || starting) return;\n setStarting(true);\n setShowMessage(initConfig.processingTxt);\n void props\n .onSendRequest()\n .then(() => {\n setRunning(true);\n countdownFnc();\n })\n .catch(() => {\n setShowMessage(initConfig.sendTxt);\n setStarting(false);\n });\n });\n\n const className = classNames('v-count-down', props.className, {\n running,\n starting,\n });\n\n return (\n <div className={className} onClick={onStart}>\n {showMessage}\n </div>\n );\n};\n\nSmsCountDown.defaultProps = {\n totalTicks: 60,\n duration: 1000,\n autoStart: false,\n format: '{t}s',\n sendTxt: '获取验证码',\n sentTxt: '重新获取',\n processingTxt: '发送中...',\n};\n","import { classNames } from '@dimjs/utils';\nimport { Children, cloneElement, FC } from 'react';\nimport { useEffectCustom } from '../hooks';\nimport './style.less';\n\ntype StaticMethods = {\n Condition: typeof Condition;\n Operate: typeof Operate;\n Table: typeof Table;\n Footer: typeof Footer;\n};\n\nconst overdueConsole = () => {\n console.error('【TableFilterLayout】组件即将废弃,请使用【SimpleLayout】组件替代');\n};\n\nexport type TableFilterLayoutProps = {\n className?: string;\n isFixed?: boolean;\n fullIndex?: number;\n};\n\nexport const TableFilterLayout: FC<TableFilterLayoutProps> & StaticMethods = (props) => {\n useEffectCustom(() => {\n overdueConsole();\n }, []);\n\n return (\n <div\n className={classNames(\n 'table-filter-layout',\n { 'table-filter-layout-flex': props.isFixed },\n props.className,\n )}\n >\n {Children.map(props.children, (item, index) => {\n if (props.isFixed && index === props.fullIndex) {\n return cloneElement(item as JSX.Element, { className: 'table-filter-layout-flex-full' });\n }\n return item;\n })}\n </div>\n );\n};\n\nconst Condition: FC<{ className?: string }> = (props) => {\n return <div className={classNames('table-filter-layout-condition', props.className)}>{props.children}</div>;\n};\n\nconst Operate: FC<{ className?: string }> = (props) => {\n return <div className={classNames('table-filter-layout-operate', props.className)}>{props.children}</div>;\n};\n\nconst Table: FC<{ className?: string }> = (props) => {\n return <div className={classNames('table-filter-layout-table', props.className)}>{props.children}</div>;\n};\nconst Footer: FC<{ className?: string }> = (props) => {\n return <div className={classNames('table-filter-layout-footer', props.className)}>{props.children}</div>;\n};\n\nTableFilterLayout.Condition = Condition;\nTableFilterLayout.Operate = Operate;\nTableFilterLayout.Table = Table;\nTableFilterLayout.Footer = Footer;\n","import { isArray } from '@dimjs/lang';\nimport { TPlainObject, treeLeafParentsArray, treeToTiledArray } from '@flatbiz/utils';\nimport { TreeSelectProps } from 'antd';\n\nexport const getExpandedKeys = (\n value: string | number,\n treeList: TPlainObject[],\n fieldNames?: TreeSelectProps['fieldNames'],\n) => {\n if (!isArray(treeList) || treeList.length === 0) return [];\n const tiledArray = treeToTiledArray(treeList, fieldNames);\n return treeLeafParentsArray(value, tiledArray);\n};\n","import { isArray } from '@dimjs/lang';\nimport { extend } from '@dimjs/utils';\nimport { useEffectCustom } from '@flatbiz/antd';\nimport { isUndefinedOrNull, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { message, TreeSelect, TreeSelectProps } from 'antd';\nimport { DependencyList, forwardRef, useEffect, useImperativeHandle, useState } from 'react';\nimport { getExpandedKeys } from './utils';\n\ntype TreeSelectorServiceConfig = {\n params?: TPlainObject;\n requiredParamsKeys?: string[];\n onRequest?: (params?: any) => any;\n /**\n * 响应数据适配器\n */\n onRequestResultAdapter?: (respData: any) => TPlainObject[];\n};\n\nexport type TreeSelectorWrapperProps = TreeSelectProps & {\n effectDependencyList?: DependencyList[];\n /**\n * 请求服务需求的数据,当设置`treeSelectorList`后无效果\n */\n serviceConfig?: TreeSelectorServiceConfig;\n /**\n * 当设置treeSelectorList后,serviceConfig、onTreeSelectorListChange将失效\n */\n treeSelectorList?: TreeSelectProps['treeData'];\n /**\n * 通过服务获取数据后回调,当设置`treeSelectorList`后无效果\n */\n onTreeSelectorListChange?: (treeSelectorList?: TreeSelectProps['treeData']) => void;\n};\n\nexport type TreeSelectorWrapperRefApi = {\n onClearSelectorList: () => void;\n getTreeSelectorList: () => TreeSelectProps['treeData'];\n};\n\n/**\n * 树选择器包装组件\n * @param props\n * @returns\n * ```\n * 1. 当设置treeSelectorList属性后,serviceConfig、onTreeSelectorListChange将失效\n * ```\n */\nexport const TreeSelectorWrapper = forwardRef<TreeSelectorWrapperRefApi, TreeSelectorWrapperProps>(\n (props, ref) => {\n const { serviceConfig, effectDependencyList, onTreeSelectorListChange, treeSelectorList, ...otherProps } =\n props;\n\n const [dataSource, setDataSource] = useState<TreeSelectProps['treeData']>([]);\n const newServiceConfig = serviceConfig || {};\n const newEffectDependencyList = effectDependencyList || [];\n const [loading, setLoading] = useState(false);\n const [treeExpandedKeys, setTreeExpandedKeys] = useState<React.Key[]>();\n\n const valueIsEmpty = (value: string | number) => {\n return value === '' || isUndefinedOrNull(value);\n };\n\n const serviceResponseHandle = (respData) => {\n const respDataList = (\n newServiceConfig.onRequestResultAdapter\n ? newServiceConfig.onRequestResultAdapter(respData as unknown as TPlainObject)\n : respData\n ) as TPlainObject[];\n return respDataList;\n };\n\n const startDataSourceRequest = hooks.useCallbackRef(async () => {\n try {\n if (!newServiceConfig.onRequest) {\n throw new Error('onRequest 调用接口服务不能为空');\n }\n const requiredParamsKeys = newServiceConfig.requiredParamsKeys;\n const params = extend({}, newServiceConfig.params);\n if (requiredParamsKeys) {\n const isEmpty = requiredParamsKeys.find((key) => {\n return valueIsEmpty(params[key] as string | number);\n });\n if (isEmpty) {\n console.warn(`TreeSelectorWrapper组件:参数:${requiredParamsKeys.join('、')}不能为空`);\n return;\n }\n }\n setLoading(true);\n const _respData = await newServiceConfig.onRequest?.(params);\n const respData = serviceResponseHandle(_respData) as TreeSelectProps['treeData'];\n setLoading(false);\n onTreeSelectorListChange?.(respData);\n setDataSource(respData);\n } catch (error) {\n setLoading(false);\n void message.error((error.message as string) || '数据查询异常...');\n }\n });\n\n useEffectCustom(() => {\n if (props.treeSelectorList) {\n setDataSource(treeSelectorList);\n return;\n }\n void startDataSourceRequest();\n }, newEffectDependencyList);\n\n useEffect(() => {\n if (!isUndefinedOrNull(props.value) && dataSource && dataSource.length > 0) {\n const valueList = isArray(props.value) ? props.value : [props.value];\n let expandedKeys = [] as Array<string | number>;\n valueList.forEach((tempValue) => {\n const targetList = getExpandedKeys(tempValue as string | number, dataSource, props.fieldNames);\n expandedKeys = expandedKeys.concat(targetList.map((item) => item.value));\n });\n setTreeExpandedKeys((prev) => {\n const mergeList = expandedKeys.concat(prev || []);\n return Array.from(new Set(mergeList));\n });\n }\n }, [dataSource, props.fieldNames, props.value]);\n\n useImperativeHandle(ref, () => {\n return {\n onClearSelectorList: () => {\n setDataSource([]);\n },\n getTreeSelectorList: () => {\n return dataSource;\n },\n };\n });\n\n const onTreeExpand = hooks.useCallbackRef((expandedKeys) => {\n setTreeExpandedKeys(expandedKeys as string[]);\n });\n\n return (\n <TreeSelect\n dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}\n showSearch={true}\n treeExpandedKeys={treeExpandedKeys}\n treeData={dataSource}\n loading={loading}\n onTreeExpand={onTreeExpand}\n treeLine={true}\n {...otherProps}\n style={{ width: '100%', ...otherProps.style }}\n />\n );\n },\n);\n","import { TPlainObject, treeLeafParentsArray, treeToTiledArray } from '@flatbiz/utils';\n\nexport const getExpandedKeys = (\n value: string | number,\n treeList: TPlainObject[],\n fieldNames?: { label?: string; value?: string; children?: string },\n) => {\n const tiledArray = treeToTiledArray(treeList, fieldNames);\n return treeLeafParentsArray(value, tiledArray);\n};\n","import { isArray } from '@dimjs/lang';\nimport { extend } from '@dimjs/utils';\nimport { useEffectCustom } from '@flatbiz/antd';\nimport { isUndefinedOrNull, TPlainObject, treeToTiledArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { message, Tree, TreeProps } from 'antd';\nimport { DependencyList, forwardRef, useImperativeHandle, useMemo, useState } from 'react';\nimport { getExpandedKeys } from './utils';\n\ntype TreeServiceConfig = {\n params?: TPlainObject;\n requiredParamsKeys?: string[];\n onRequest?: (params?: any) => any;\n /**\n * 响应数据适配器\n */\n onRequestResultAdapter?: (respData: any) => TPlainObject[];\n};\n\nexport type TreeWrapperProps = Omit<\n TreeProps,\n | 'expandedKeys'\n | 'treeData'\n | 'onExpand'\n | 'selectedKeys'\n | 'checkedKeys'\n | 'onCheck'\n | 'onSelect'\n | 'defaultCheckedKeys'\n | 'defaultSelectedKeys'\n | 'fieldNames'\n> & {\n effectDependencyList?: DependencyList[];\n /**\n * 请求服务需求的数据,当设置`selectorTreeList`后无效果\n */\n serviceConfig?: TreeServiceConfig;\n /**\n * 当设置selectorTreeList后,serviceConfig将失效\n */\n selectorTreeList?: TreeProps['treeData'];\n value?: string | number | Array<string | number>;\n onChange?: (selectedKey: string | number | Array<string | number>) => void;\n fieldNames?: { label?: string; value?: string; children?: string };\n /**\n * 打开tree折叠过滤关键字\n */\n filterLabel?: string;\n};\n\nexport type TreeWrapperRefApi = {\n onClearSelectorList: () => void;\n getTreeDataList: () => TreeProps['treeData'];\n};\n\n/**\n * 树包装组件\n * @param props\n * @returns\n * ```\n * 1. 当设置selectorTreeList属性后,serviceConfig、onSelectorListChange将失效\n * ```\n */\nexport const TreeWrapper = forwardRef<TreeWrapperRefApi, TreeWrapperProps>((props, ref) => {\n const {\n serviceConfig,\n effectDependencyList,\n selectorTreeList,\n value,\n onChange,\n fieldNames,\n ...otherProps\n } = props;\n const [dataSource, setDataSource] = useState<TreeProps['treeData']>([]);\n const newServiceConfig = serviceConfig || {};\n const newEffectDependencyList = effectDependencyList || [];\n const [treeExpandedKeys, setTreeExpandedKeys] = useState<React.Key[]>();\n\n const valueIsEmpty = (value: string | number) => {\n return value === '' || isUndefinedOrNull(value);\n };\n\n const serviceResponseHandle = (respData) => {\n const respDataList = (\n newServiceConfig.onRequestResultAdapter\n ? newServiceConfig.onRequestResultAdapter(respData as unknown as TPlainObject)\n : respData\n ) as TPlainObject[];\n return respDataList;\n };\n\n const startDataSourceRequest = hooks.useCallbackRef(async () => {\n try {\n if (!newServiceConfig.onRequest) {\n throw new Error('onRequest 调用接口服务不能为空');\n }\n const requiredParamsKeys = newServiceConfig.requiredParamsKeys;\n const params = extend({}, newServiceConfig.params);\n if (requiredParamsKeys) {\n const isEmpty = requiredParamsKeys.find((key) => {\n return valueIsEmpty(params[key] as string | number);\n });\n if (isEmpty) {\n console.warn(`TreeWrapper组件:参数:${requiredParamsKeys.join('、')}不能为空`);\n return;\n }\n }\n const _respData = await newServiceConfig.onRequest?.(params);\n const respData = serviceResponseHandle(_respData) as TreeProps['treeData'];\n setDataSource(respData);\n } catch (error) {\n void message.error((error.message as string) || '数据查询异常...');\n }\n });\n\n useEffectCustom(() => {\n if (props.selectorTreeList) {\n setDataSource(selectorTreeList);\n return;\n }\n void startDataSourceRequest();\n }, newEffectDependencyList);\n\n useEffectCustom(() => {\n if (!isUndefinedOrNull(value) && dataSource && dataSource.length > 0 && !treeExpandedKeys) {\n const valueList = isArray(value) ? value : [value];\n let expandedKeys = [] as Array<string | number>;\n valueList.forEach((tempValue) => {\n const targetList = getExpandedKeys(tempValue as string | number, dataSource, props.fieldNames);\n expandedKeys = expandedKeys.concat(targetList.map((item) => item.value));\n });\n setTreeExpandedKeys((prev) => {\n const mergeList = expandedKeys.concat(prev || []);\n return Array.from(new Set(mergeList));\n });\n }\n }, [dataSource, props.fieldNames, value]);\n\n hooks.useUpdateEffect(() => {\n if (props.filterLabel) {\n const tiledArray = treeToTiledArray(dataSource || [], props.fieldNames);\n const targetList = tiledArray.filter((item) => item.label?.includes(props.filterLabel || ''));\n let expandedKeys = [] as Array<string | number>;\n targetList.map((tempItem) => {\n const targetValues = getExpandedKeys(tempItem.value as string, dataSource || [], props.fieldNames);\n const valueList = targetValues.map((item) => item.value);\n expandedKeys = expandedKeys.concat(valueList);\n });\n setTreeExpandedKeys(Array.from(new Set(expandedKeys)));\n } else {\n setTreeExpandedKeys([]);\n }\n }, [props.filterLabel]);\n\n useImperativeHandle(ref, () => {\n return {\n onClearSelectorList: () => {\n setDataSource([]);\n },\n getTreeDataList: () => {\n return dataSource;\n },\n };\n });\n\n const onExpand = hooks.useCallbackRef((expandedKeys) => {\n setTreeExpandedKeys(expandedKeys as string[]);\n });\n const onCheck = hooks.useCallbackRef((checkedKeys) => {\n onChange?.(checkedKeys as Array<string | number>);\n });\n const onSelect = hooks.useCallbackRef((checkedKeys) => {\n if (props.multiple) {\n onChange?.(checkedKeys as Array<string | number>);\n } else {\n onChange?.(checkedKeys[0] as string | number);\n }\n });\n\n const selectedKeys = useMemo(() => {\n if (isUndefinedOrNull(props.value)) return undefined;\n return isArray(props.value) ? props.value : [props.value];\n }, [props.value]) as Array<string | number>;\n\n const treeFieldNames = useMemo(() => {\n const newFieldNames = extend({ label: 'label', value: 'value', children: 'children' }, fieldNames);\n return { title: newFieldNames.label, key: newFieldNames.value, children: newFieldNames.children };\n }, [fieldNames]);\n\n return (\n <Tree\n showLine={otherProps.checkable ? false : true}\n {...otherProps}\n fieldNames={treeFieldNames}\n expandedKeys={treeExpandedKeys}\n treeData={dataSource}\n onExpand={onExpand}\n selectedKeys={otherProps.checkable ? undefined : selectedKeys}\n checkedKeys={otherProps.checkable ? selectedKeys : undefined}\n onCheck={otherProps.checkable ? onCheck : undefined}\n onSelect={otherProps.checkable ? undefined : onSelect}\n style={{ width: '100%', ...otherProps.style }}\n />\n );\n});\n"],"names":["styles","noop","getPermissionList","_getGlobalData","getGlobalData","elemAclLimits","permissionList","_isArray","hasPermission","name","includes","Permission","props","_jsx","Fragment","children","ButtonOperate","className","Space","split","Divider","type","size","wrap","_isUndefined","operateList","map","item","index","text","color","onClick","permission","needConfirm","confirmMessage","hidden","style","otherProps","_excluded","newStyle","_extends","Popconfirm","title","okText","cancelText","onConfirm","arrowPointAtCenter","Button","undefined","danger","_createElement","key","defaultProps","DatePickerWraper","value","onChange","format","useMemo","showTime","onChangeDate","_hooks","useCallbackRef","moment","datePickerValue","flatbizDate","isDate","Date","DatePicker","width","DateRangePickerWraper","values","value1","_ref","value2","date1","_ref2","date2","rangePickerValue","RangePicker","DrawerModel","actions","openDrawerForm","itemData","operateType","pageLoading","state","visible","closeDrawer","setDrawerItemData","params","_defineProperty","obj","Object","defineProperty","enumerable","configurable","writable","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","apply","_objectSpread2","target","i","arguments","length","source","forEach","getOwnPropertyDescriptors","defineProperties","SaveOutlined","icon","tag","attrs","viewBox","focusable","d","theme","_arrayWithHoles","arr","Array","isArray","_iterableToArrayLimit","_i","Symbol","iterator","_arr","_n","_d","_s","_e","call","next","done","err","_arrayLikeToArray","len","arr2","_unsupportedIterableToArray","o","minLen","arrayLikeToArray","n","prototype","toString","slice","constructor","from","test","_nonIterableRest","TypeError","_slicedToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","_objectWithoutPropertiesLoose","excluded","sourceKeys","indexOf","_objectWithoutProperties","objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","hasOwn","hasOwnProperty","classNames","classes","arg","argType","inner","join","module","exports","default","window","IconContext","createContext","_typeof","bound01","max","isOnePointZero","isPercent","isPercentage","Math","min","parseFloat","parseInt","String","abs","boundAlpha","a","isNaN","convertToPercentage","Number","pad2","c","rgbToRgb","r","g","b","hue2rgb","p","q","t","hslToRgb","h","s","l","rgbToHsv","v","hsvToRgb","floor","f","mod","rgbToHex","allow3Char","hex","round","startsWith","charAt","convertHexToDecimal","parseIntFromHex","val","names","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","goldenrod","gold","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavenderblush","lavender","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","inputToRGB","rgb","ok","stringInputToObject","isValidCSSUnit","substr","CSS_INTEGER","CSS_NUMBER","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","matchers","RegExp","rgba","hsl","hsla","hsv","hsva","hex3","hex6","hex4","hex8","trim","toLowerCase","named","match","exec","Boolean","hueStep","saturationStep","saturationStep2","brightnessStep1","brightnessStep2","lightColorCount","darkColorCount","darkColorMap","opacity","toHsv","toHex","concat","mix","rgb1","rgb2","amount","getHue","light","hue","getSaturation","saturation","toFixed","getValue","generate","opts","patterns","pColor","colorString","_hsv","_colorString","_ref3","darkColorString","backgroundColor","presetPrimaryColors","volcano","geekblue","presetPalettes","presetDarkPalettes","primary","warned","warning","valid","message","process","env","NODE_ENV","console","error","method","warningOnce","canUseDom","document","createElement","MARK_KEY","getMark","mark","getContainer","option","attachTo","head","querySelector","body","injectCSS","css","_option$csp","styleNode","csp","nonce","_option$csp2","innerHTML","container","firstChild","prepend","insertBefore","appendChild","containerCache","Map","findExistNode","get","find","node","tagName","getAttribute","updateCSS","has","placeholderStyle","parentNode","set","removeChild","existNode","_option$csp3","_option$csp4","_option$csp5","newNode","setAttribute","warn","isIconDefinition","normalizeAttrs","reduce","acc","class","rootProps","React","_objectSpread","child","getSecondaryColor","primaryColor","generateColor","normalizeTwoToneColors","twoToneColor","iconStyles","useInsertStyles","styleStr","_useContext","useContext","useEffect","twoToneColorPalette","secondaryColor","calculated","setTwoToneColors","getTwoToneColors","IconBase","restProps","colors","height","fill","displayName","setTwoToneColor","_normalizeTwoToneColo","_normalizeTwoToneColo2","ReactIcon","getTwoToneColor","Icon","forwardRef","ref","_classNames","spin","rotate","tabIndex","_React$useContext","Context","_React$useContext$pre","prefixCls","classString","iconTabIndex","svgStyle","msTransform","transform","role","AntdIcon","SaveOutlinedSvg","_SaveOutlined","DrawerOperation","_jsxs","cancelButtonProps","onCancel","hideOkBtn","okButtonProps","onOk","loading","PageLoader","DrawerWraper","_props$width","footer","operationProps","Drawer","keyboard","forceRender","destroyOnClose","contentWrapperStyle","maxWidth","drawerModels","createDrawerWraperModel","Model","FileImport","onImportFinish","uploadProps","showUploadList","info","file","status","log","respData","response","code","data","Upload","accept","FileUpload","onUploadError","onPreview","useState","uploadValue","_useState","setUploadValue","uid","fileKey","fileName","onUploadChange","uploadItem","respValue","targetList","targetIndex","findIndex","tempUid","splice","fileList","onUploadPreview","FlexLayout","childrens","direction","gap","fullIndexList","isUndefinedOrNull","fullIndex","childrenStyle","flex","marginRight","marginBottom","cloneElement","Gap","useEffectCustom","fn","deps","useEffectCustomAsync","asyncFunction","Promise","$return","$error","then","$await_1","$boundEx","ModalModel","openModalForm","closeModal","setModalItemData","ModalOperation","_ref$okText","_ref$cancelText","ModalWraper","Modal","modalModels","createModalWraperModel","PageFixedFooter","Page404","formClassName","label_width_70","label_width_80","label_width_90","label_width_100","label_width_110","label_width_120","label_width_130","label_width_auto","formItemClassName","preDefinedClassName","form","formItem","SelectorWrapper","serviceConfig","showAllOption","effectDependencyList","onSelectorListChange","searchFieldName","selectorList","dataSource","setDataSource","isSearch","newServiceConfig","newEffectDependencyList","changeOperateValueRef","useRef","_useState2","setLoading","valueIsEmpty","serviceResponseHandle","respDataList","onRequestResultAdapter","fieldNames","_newServiceConfig$fie","_newServiceConfig$fie2","label","startDataSourceRequest","inputValue","searchId","requiredParamsKeys","_params","isEmpty","keyword","_respData","_respData2","$Try_1_Post","$Try_1_Catch","onRequest","Error","_extend","$await_2","current","useImperativeHandle","onClearSelectorList","getSelectorList","filterOption","input","onSearch","useDebounceCallback","_len","otherParams","_key","selectOptionsAll","Select","Option","showSearch","allowClear","notFoundContent","Spin","SimpleLayout","labelAlign","formLabelAlign","layoutType","SmsCountDown","showMessage","setShowMessage","running","setRunning","starting","_useState3","setStarting","initConfig","sendTxt","sentTxt","processingTxt","autoStart","totalTicks","duration","countdownFnc","useCountdownCallback","num","second","replace","onTick","intervalTime","onStart","onSendRequest","catch","overdueConsole","TableFilterLayout","isFixed","Children","Condition","Operate","Table","Footer","getExpandedKeys","treeList","tiledArray","treeToTiledArray","treeLeafParentsArray","TreeSelectorWrapper","onTreeSelectorListChange","treeSelectorList","treeExpandedKeys","setTreeExpandedKeys","valueList","expandedKeys","tempValue","prev","mergeList","Set","getTreeSelectorList","onTreeExpand","TreeSelect","dropdownStyle","maxHeight","overflow","treeData","treeLine","TreeWrapper","selectorTreeList","useUpdateEffect","filterLabel","_item$label","tempItem","targetValues","getTreeDataList","onExpand","onCheck","checkedKeys","onSelect","multiple","selectedKeys","treeFieldNames","newFieldNames","Tree","showLine","checkable"],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// <reference types="scheduler" />
|
|
3
3
|
|
|
4
4
|
import { API, ModelType } from '@dimjs/model';
|
|
5
|
-
import { ButtonProps, DrawerProps, ModalProps, SelectProps, SpaceProps, UploadProps } from 'antd';
|
|
5
|
+
import { ButtonProps, DrawerProps, ModalProps, SelectProps, SpaceProps, TreeProps, TreeSelectProps, UploadProps } from 'antd';
|
|
6
6
|
import { PickerDateProps, RangePickerDateProps } from 'antd/lib/date-picker/generatePicker';
|
|
7
7
|
import { UploadChangeParam } from 'antd/lib/upload';
|
|
8
8
|
import { UploadFile } from 'antd/lib/upload/interface';
|
|
@@ -69,7 +69,7 @@ export interface DrawerStateType {
|
|
|
69
69
|
* 用来处理form, `更新`的时候的传递当前item列表行的数据, 当`创建`的时候强制设置为 `undefined`
|
|
70
70
|
*/
|
|
71
71
|
itemData?: Record<string, any>;
|
|
72
|
-
operateType: "create" | "update" | "view";
|
|
72
|
+
operateType: "create" | "update" | "view" | null;
|
|
73
73
|
pageLoading?: boolean;
|
|
74
74
|
}
|
|
75
75
|
export interface DrawerActionsParamType {
|
|
@@ -242,6 +242,35 @@ export interface PermissionProps {
|
|
|
242
242
|
name: string;
|
|
243
243
|
}
|
|
244
244
|
export declare const Permission: FC<PermissionProps>;
|
|
245
|
+
/**
|
|
246
|
+
* 预定义className
|
|
247
|
+
* ```
|
|
248
|
+
* form: 使用在Form组件上,设置form-item label宽度
|
|
249
|
+
* formItem: 使用在Form.Item组件上,设置form-item label宽度
|
|
250
|
+
* ```
|
|
251
|
+
*/
|
|
252
|
+
export declare const preDefinedClassName: {
|
|
253
|
+
form: {
|
|
254
|
+
label_width_70: string;
|
|
255
|
+
label_width_80: string;
|
|
256
|
+
label_width_90: string;
|
|
257
|
+
label_width_100: string;
|
|
258
|
+
label_width_110: string;
|
|
259
|
+
label_width_120: string;
|
|
260
|
+
label_width_130: string;
|
|
261
|
+
label_width_auto: string;
|
|
262
|
+
};
|
|
263
|
+
formItem: {
|
|
264
|
+
label_width_70: string;
|
|
265
|
+
label_width_80: string;
|
|
266
|
+
label_width_90: string;
|
|
267
|
+
label_width_100: string;
|
|
268
|
+
label_width_110: string;
|
|
269
|
+
label_width_120: string;
|
|
270
|
+
label_width_130: string;
|
|
271
|
+
label_width_auto: string;
|
|
272
|
+
};
|
|
273
|
+
};
|
|
245
274
|
export declare type TPlainObject<T = any> = Record<string, T>;
|
|
246
275
|
export declare type LabelValueItem<T extends string | number = string> = {
|
|
247
276
|
value: T;
|
|
@@ -258,7 +287,7 @@ export declare type SelectorServiceConfig = {
|
|
|
258
287
|
/**
|
|
259
288
|
* 响应数据适配器
|
|
260
289
|
*/
|
|
261
|
-
onRequestResultAdapter?: (respData:
|
|
290
|
+
onRequestResultAdapter?: (respData: any) => TPlainObject[];
|
|
262
291
|
};
|
|
263
292
|
export declare type SelectorWrapperProps = SelectProps & {
|
|
264
293
|
effectDependencyList?: DependencyList[];
|
|
@@ -370,5 +399,121 @@ declare const Table: FC<{
|
|
|
370
399
|
declare const Footer: FC<{
|
|
371
400
|
className?: string;
|
|
372
401
|
}>;
|
|
402
|
+
export declare type TreeSelectorServiceConfig = {
|
|
403
|
+
params?: TPlainObject;
|
|
404
|
+
requiredParamsKeys?: string[];
|
|
405
|
+
onRequest?: (params?: any) => any;
|
|
406
|
+
/**
|
|
407
|
+
* 响应数据适配器
|
|
408
|
+
*/
|
|
409
|
+
onRequestResultAdapter?: (respData: any) => TPlainObject[];
|
|
410
|
+
};
|
|
411
|
+
export declare type TreeSelectorWrapperProps = TreeSelectProps & {
|
|
412
|
+
effectDependencyList?: DependencyList[];
|
|
413
|
+
/**
|
|
414
|
+
* 请求服务需求的数据,当设置`treeSelectorList`后无效果
|
|
415
|
+
*/
|
|
416
|
+
serviceConfig?: TreeSelectorServiceConfig;
|
|
417
|
+
/**
|
|
418
|
+
* 当设置treeSelectorList后,serviceConfig、onTreeSelectorListChange将失效
|
|
419
|
+
*/
|
|
420
|
+
treeSelectorList?: TreeSelectProps["treeData"];
|
|
421
|
+
/**
|
|
422
|
+
* 通过服务获取数据后回调,当设置`treeSelectorList`后无效果
|
|
423
|
+
*/
|
|
424
|
+
onTreeSelectorListChange?: (treeSelectorList?: TreeSelectProps["treeData"]) => void;
|
|
425
|
+
};
|
|
426
|
+
export declare type TreeSelectorWrapperRefApi = {
|
|
427
|
+
onClearSelectorList: () => void;
|
|
428
|
+
getTreeSelectorList: () => TreeSelectProps["treeData"];
|
|
429
|
+
};
|
|
430
|
+
/**
|
|
431
|
+
* 树选择器包装组件
|
|
432
|
+
* @param props
|
|
433
|
+
* @returns
|
|
434
|
+
* ```
|
|
435
|
+
* 1. 当设置treeSelectorList属性后,serviceConfig、onTreeSelectorListChange将失效
|
|
436
|
+
* ```
|
|
437
|
+
*/
|
|
438
|
+
export declare const TreeSelectorWrapper: import("react").ForwardRefExoticComponent<TreeSelectProps<any, import("rc-tree-select/lib/TreeSelect").DefaultOptionType> & {
|
|
439
|
+
effectDependencyList?: DependencyList[] | undefined;
|
|
440
|
+
/**
|
|
441
|
+
* 请求服务需求的数据,当设置`treeSelectorList`后无效果
|
|
442
|
+
*/
|
|
443
|
+
serviceConfig?: TreeSelectorServiceConfig | undefined;
|
|
444
|
+
/**
|
|
445
|
+
* 当设置treeSelectorList后,serviceConfig、onTreeSelectorListChange将失效
|
|
446
|
+
*/
|
|
447
|
+
treeSelectorList?: TreeSelectProps["treeData"];
|
|
448
|
+
/**
|
|
449
|
+
* 通过服务获取数据后回调,当设置`treeSelectorList`后无效果
|
|
450
|
+
*/
|
|
451
|
+
onTreeSelectorListChange?: ((treeSelectorList?: TreeSelectProps["treeData"]) => void) | undefined;
|
|
452
|
+
} & import("react").RefAttributes<TreeSelectorWrapperRefApi>>;
|
|
453
|
+
export declare type TreeServiceConfig = {
|
|
454
|
+
params?: TPlainObject;
|
|
455
|
+
requiredParamsKeys?: string[];
|
|
456
|
+
onRequest?: (params?: any) => any;
|
|
457
|
+
/**
|
|
458
|
+
* 响应数据适配器
|
|
459
|
+
*/
|
|
460
|
+
onRequestResultAdapter?: (respData: any) => TPlainObject[];
|
|
461
|
+
};
|
|
462
|
+
export declare type TreeWrapperProps = Omit<TreeProps, "expandedKeys" | "treeData" | "onExpand" | "selectedKeys" | "checkedKeys" | "onCheck" | "onSelect" | "defaultCheckedKeys" | "defaultSelectedKeys" | "fieldNames"> & {
|
|
463
|
+
effectDependencyList?: DependencyList[];
|
|
464
|
+
/**
|
|
465
|
+
* 请求服务需求的数据,当设置`selectorTreeList`后无效果
|
|
466
|
+
*/
|
|
467
|
+
serviceConfig?: TreeServiceConfig;
|
|
468
|
+
/**
|
|
469
|
+
* 当设置selectorTreeList后,serviceConfig将失效
|
|
470
|
+
*/
|
|
471
|
+
selectorTreeList?: TreeProps["treeData"];
|
|
472
|
+
value?: string | number | Array<string | number>;
|
|
473
|
+
onChange?: (selectedKey: string | number | Array<string | number>) => void;
|
|
474
|
+
fieldNames?: {
|
|
475
|
+
label?: string;
|
|
476
|
+
value?: string;
|
|
477
|
+
children?: string;
|
|
478
|
+
};
|
|
479
|
+
/**
|
|
480
|
+
* 打开tree折叠过滤关键字
|
|
481
|
+
*/
|
|
482
|
+
filterLabel?: string;
|
|
483
|
+
};
|
|
484
|
+
export declare type TreeWrapperRefApi = {
|
|
485
|
+
onClearSelectorList: () => void;
|
|
486
|
+
getTreeDataList: () => TreeProps["treeData"];
|
|
487
|
+
};
|
|
488
|
+
/**
|
|
489
|
+
* 树包装组件
|
|
490
|
+
* @param props
|
|
491
|
+
* @returns
|
|
492
|
+
* ```
|
|
493
|
+
* 1. 当设置selectorTreeList属性后,serviceConfig、onSelectorListChange将失效
|
|
494
|
+
* ```
|
|
495
|
+
*/
|
|
496
|
+
export declare const TreeWrapper: import("react").ForwardRefExoticComponent<Omit<TreeProps<import("antd").TreeDataNode>, "onSelect" | "checkedKeys" | "selectedKeys" | "fieldNames" | "defaultSelectedKeys" | "onExpand" | "expandedKeys" | "treeData" | "defaultCheckedKeys" | "onCheck"> & {
|
|
497
|
+
effectDependencyList?: DependencyList[] | undefined;
|
|
498
|
+
/**
|
|
499
|
+
* 请求服务需求的数据,当设置`selectorTreeList`后无效果
|
|
500
|
+
*/
|
|
501
|
+
serviceConfig?: TreeServiceConfig | undefined;
|
|
502
|
+
/**
|
|
503
|
+
* 当设置selectorTreeList后,serviceConfig将失效
|
|
504
|
+
*/
|
|
505
|
+
selectorTreeList?: TreeProps["treeData"];
|
|
506
|
+
value?: string | number | (string | number)[] | undefined;
|
|
507
|
+
onChange?: ((selectedKey: string | number | Array<string | number>) => void) | undefined;
|
|
508
|
+
fieldNames?: {
|
|
509
|
+
label?: string | undefined;
|
|
510
|
+
value?: string | undefined;
|
|
511
|
+
children?: string | undefined;
|
|
512
|
+
} | undefined;
|
|
513
|
+
/**
|
|
514
|
+
* 打开tree折叠过滤关键字
|
|
515
|
+
*/
|
|
516
|
+
filterLabel?: string | undefined;
|
|
517
|
+
} & import("react").RefAttributes<TreeWrapperRefApi>>;
|
|
373
518
|
|
|
374
519
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flatbiz/antd",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.15",
|
|
4
4
|
"description": "flat-biz oss ui components",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"typings": "index.d.ts",
|
|
@@ -39,5 +39,5 @@
|
|
|
39
39
|
"@flatbiz/utils": "^2.3.4",
|
|
40
40
|
"@wove/react": "^1.2.9"
|
|
41
41
|
},
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "60569e829fce1f047cfdcc746d7e2d7326f252e2"
|
|
43
43
|
}
|