@flatbiz/antd 2.3.10 → 2.3.12

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 CHANGED
@@ -162,101 +162,68 @@ ul {
162
162
  color: #0080e3;
163
163
  }
164
164
 
165
- .query-layout > :first-child {
166
- margin-top: 0;
167
- }
168
- .query-layout-flex {
169
- display: flex;
170
- flex-direction: column;
171
- height: 100%;
172
- }
173
- .query-layout-flex-full {
174
- flex: 1;
175
- overflow-y: scroll;
176
- }
177
- .query-layout-condition {
178
- background-color: #fff;
179
- padding: 15px 15px 0px 15px;
180
- }
181
- .query-layout-condition .ant-form-item {
182
- margin: 0 0 15px;
183
- }
184
- .query-layout-condition .ant-form-item-label {
185
- width: 80px;
186
- }
187
- .query-layout-condition-left .ant-form-item-label {
188
- text-align: left;
189
- }
190
- .query-layout-operate {
191
- padding: 15px;
192
- background-color: #fff;
193
- margin-top: 10px;
194
- }
195
- .query-layout-content {
165
+ .page-fixed-footer {
166
+ padding: 15px 23px;
196
167
  background-color: #fff;
197
- padding: 15px;
198
- margin-top: 10px;
199
- }
200
- .query-layout-content .ant-table-thead > tr > th {
201
- background: #EBEEEF !important;
168
+ box-shadow: 0px 0px 17px rgba(0, 0, 0, 0.08);
169
+ z-index: 9;
202
170
  }
203
- .query-layout-content .query-layout-operate {
204
- padding: 0;
205
- margin-bottom: 15px;
206
- margin-top: 0;
207
- }
208
- .query-layout-footer {
209
- padding: 10px 15px;
171
+
172
+ .simple-layout {
210
173
  background-color: #fff;
211
- margin-top: 10px;
174
+ padding: 15px 15px 20px 15px;
212
175
  }
213
- .query-layout-footer .ant-pagination {
214
- display: flex;
215
- overflow-x: scroll;
216
- overflow-y: hidden;
217
- justify-content: flex-end;
176
+ .simple-layout .ant-form {
177
+ margin-bottom: -15px;
218
178
  }
219
- .form-item-label-70.ant-form-item .ant-form-item-label {
220
- width: 70px;
179
+ .simple-layout .ant-form-item {
180
+ margin: 0 0 15px;
221
181
  }
222
- .form-item-label-80.ant-form-item .ant-form-item-label {
182
+ .simple-layout .ant-form-item-label {
223
183
  width: 80px;
224
184
  }
225
- .form-item-label-90.ant-form-item .ant-form-item-label {
226
- width: 90px;
185
+ .simple-layout .ant-table-thead > tr > th {
186
+ background: #f6f6f6;
227
187
  }
228
- .form-item-label-100.ant-form-item .ant-form-item-label {
229
- width: 100px;
188
+ .simple-layout .ant-descriptions {
189
+ margin-bottom: -10px;
230
190
  }
231
- .form-item-label-110.ant-form-item .ant-form-item-label {
232
- width: 110px;
191
+ .simple-layout .ant-descriptions-item {
192
+ padding-bottom: 10px;
233
193
  }
234
- .form-item-label-120.ant-form-item .ant-form-item-label {
235
- width: 120px;
194
+ .simple-layout .ant-table-pagination.ant-pagination {
195
+ margin: 16px 0 0 0;
236
196
  }
237
- .form-item-label-130.ant-form-item .ant-form-item-label {
238
- width: 130px;
197
+ .simple-layout .simple-layout-content > .ant-row:nth-last-child(1) {
198
+ margin-bottom: -15px;
239
199
  }
240
- .form-label-70 .ant-form-item-label {
241
- width: 70px;
200
+ .simple-layout .simple-layout-content > .ant-row:nth-last-child(1) .ant-upload-list {
201
+ padding-bottom: 15px;
242
202
  }
243
- .form-label-80 .ant-form-item-label {
244
- width: 80px;
203
+ .simple-layout-title {
204
+ color: rgba(0, 0, 0, 0.85);
205
+ font-weight: 500;
206
+ font-size: 16px;
207
+ overflow: hidden;
208
+ white-space: nowrap;
209
+ text-overflow: ellipsis;
210
+ padding-bottom: 15px;
245
211
  }
246
- .form-label-90 .ant-form-item-label {
247
- width: 90px;
212
+ .simple-layout + .simple-layout {
213
+ margin-top: 10px;
248
214
  }
249
- .form-label-100 .ant-form-item-label {
250
- width: 100px;
215
+ .simple-layout .simple-layout:first-child {
216
+ padding: 0 0 15px 0;
251
217
  }
252
- .form-label-110 .ant-form-item-label {
253
- width: 110px;
218
+ .simple-layout + .ant-divider {
219
+ margin: 9px 0 24px 0;
254
220
  }
255
- .form-label-120 .ant-form-item-label {
256
- width: 120px;
221
+ .simple-layout-formlabel-left .ant-form-item-label {
222
+ text-align: left;
257
223
  }
258
- .form-label-130 .ant-form-item-label {
259
- width: 130px;
224
+ .simple-layout-tight.simple-layout {
225
+ margin-top: 0;
226
+ padding: 0 0 15px 0;
260
227
  }
261
228
 
262
229
  .table-filter-layout > :first-child {
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 a}from"@flatbiz/utils";import{isUndefined as t}from"@dimjs/lang/cjs/is-undefined";import{Space as i,Divider as o,Popconfirm as l,Button as f,DatePicker as c,Drawer as u,message as s,Upload as d,Modal as v,Select as m,Spin as p}from"antd";import{isArray as h}from"@dimjs/lang/cjs/is-array";import*as g from"react";import b,{Fragment as y,createElement as w,useMemo as k,createContext as x,useContext as C,useEffect as N,useState as T,cloneElement as O,Children as A,forwardRef as S,useRef as j,useImperativeHandle as F}from"react";import{jsx as M,jsxs as D}from"react/jsx-runtime";import{hooks as L}from"@wove/react/cjs/hooks";import P from"moment";import{Model as E}from"@dimjs/model-react";import{classNames as R}from"@dimjs/utils/cjs/class-names";import{extend as I}from"@dimjs/utils/cjs/extend";import{useEffectCustom as q}from"@flatbiz/antd";var z=e;function Y(){Y=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var a in n){if(Object.prototype.hasOwnProperty.call(n,a)){e[a]=n[a]}}}return e};return Y.apply(this,arguments)}function _(e,r){if(e==null)return{};var n={};var a=Object.keys(e);var t,i;for(i=0;i<a.length;i++){t=a[i];if(r.indexOf(t)>=0)continue;n[t]=e[t]}return n}var B=function e(){var n=r(),a=n.elemAclLimits;var t=h(a)?a:[];return t};var H=function e(r){var n=B();if(n.includes(r)){return true}return false};var K=function e(r){var n=B();if(n.includes(r.name)){return M(y,{children:r.children})}return null};var U=["text","color","onClick","permission","needConfirm","confirmMessage","hidden","style"];var W=function e(r){return M("div",{className:"table-operate",children:M(i,{split:M(o,{type:"vertical"}),size:r.size,wrap:t(r.wrap)?true:r.wrap,children:r.operateList.map((function(e,r){if(!e)return null;var n=e.text,a=e.color,t=e.onClick,i=e.permission,o=e.needConfirm,c=e.confirmMessage,u=e.hidden,s=e.style,d=_(e,U);if(u)return null;if(i&&!H(i))return null;var v=a?Y({color:a},s):s;var m=e.type||"link";if(o){return M(l,{title:c,okText:"确定",cancelText:"取消",onConfirm:t,arrowPointAtCenter:true,children:M(f,Y({},d,{onClick:undefined,type:m,danger:true,style:v,children:n}))},r)}return w(f,Y({},d,{type:m,style:v,key:r,onClick:t}),n)}))})})};W.defaultProps={size:0};var V=["value","onChange","style"];var $=function e(r){var a=r.value,t=r.onChange,i=r.style,o=_(r,V);var l=k((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=L.useCallbackRef((function(e){if(e){t==null?void 0:t(P(e).format(l))}else{t==null?void 0:t(undefined)}}));var u=a&&n.isDate(a)?P(new Date(a)):undefined;return M(c,Y({},o,{style:Y({width:"100%"},i),value:u,onChange:f}))};var G=["value","onChange","style"];var Q=function e(r){var a=r.value,t=r.onChange,i=r.style,o=_(r,G);var l=k((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=L.useCallbackRef((function(e){if(e){var r=e||[],n=r[0],a=r[1];t==null?void 0:t([P(n).format(l),P(a).format(l)])}else{t==null?void 0:t(undefined)}}));var u=a||[],s=u[0],d=u[1];var v=s&&d&&n.isDate(s)&&n.isDate(d)?[P(new Date(s)),P(new Date(d))]:undefined;return M(c.RangePicker,Y({},o,{style:Y({width:"100%"},i),value:v,onChange:f}))};var J={actions:{openDrawerForm:function e(r){var n=r.itemData,a=r.title,t=r.operateType,i=r.pageLoading;return function(e){e.itemData=n;e.title=a;e.operateType=t;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:"view"}};function X(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 Z(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,a)}return n}function ee(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?Z(Object(n),!0).forEach((function(r){X(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Z(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}var re={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 ne(e){if(Array.isArray(e))return e}function ae(e,r){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var a=[];var t=true;var i=false;var o,l;try{for(n=n.call(e);!(t=(o=n.next()).done);t=true){a.push(o.value);if(r&&a.length===r)break}}catch(e){i=true;l=e}finally{try{if(!t&&n["return"]!=null)n["return"]()}finally{if(i)throw l}}return a}function te(e,r){if(r==null||r>e.length)r=e.length;for(var n=0,a=new Array(r);n<r;n++){a[n]=e[n]}return a}function ie(e,r){if(!e)return;if(typeof e==="string")return te(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 te(e,r)}function oe(){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 le(e,r){return ne(e)||ae(e,r)||ie(e,r)||oe()}function fe(e,r){if(e==null)return{};var n={};var a=Object.keys(e);var t,i;for(i=0;i<a.length;i++){t=a[i];if(r.indexOf(t)>=0)continue;n[t]=e[t]}return n}function ce(e,r){if(e==null)return{};var n=fe(e,r);var a,t;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t<i.length;t++){a=i[t];if(r.indexOf(a)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,a))continue;n[a]=e[a]}}return n}var ue={exports:{}};
4
+ import{noop as e,getGlobalData as r,flatbizDate as n,isUndefinedOrNull as t}from"@flatbiz/utils";import{isUndefined as a}from"@dimjs/lang/cjs/is-undefined";import{Space as i,Divider as o,Popconfirm as l,Button as f,DatePicker as c,Drawer as u,message as s,Upload as d,Modal as v,Select as m,Spin as p}from"antd";import{isArray as h}from"@dimjs/lang/cjs/is-array";import*as g from"react";import y,{Fragment as b,createElement as w,useMemo as k,createContext as x,useContext as C,useEffect as N,useState as T,cloneElement as O,forwardRef as A,useRef as S,useImperativeHandle as j,Children as F}from"react";import{jsx as M,jsxs as D}from"react/jsx-runtime";import{hooks as L}from"@wove/react/cjs/hooks";import P from"moment";import{Model as E}from"@dimjs/model-react";import{classNames as R}from"@dimjs/utils/cjs/class-names";import{extend as I}from"@dimjs/utils/cjs/extend";var q=e;function Y(){Y=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 Y.apply(this,arguments)}function z(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 B=function e(){var n=r(),t=n.elemAclLimits;var a=h(t)?t:[];return a};var H=function e(r){var n=B();if(n.includes(r)){return true}return false};var K=function e(r){var n=B();if(n.includes(r.name)){return M(b,{children:r.children})}return null};var U=["text","color","onClick","permission","needConfirm","confirmMessage","hidden","style"];var W=function e(r){return M("div",{className:"table-operate",children:M(i,{split:M(o,{type:"vertical"}),size:r.size,wrap:a(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,c=e.confirmMessage,u=e.hidden,s=e.style,d=z(e,U);if(u)return null;if(i&&!H(i))return null;var v=t?Y({color:t},s):s;var m=e.type||"link";if(o){return M(l,{title:c,okText:"确定",cancelText:"取消",onConfirm:a,arrowPointAtCenter:true,children:M(f,Y({},d,{onClick:undefined,type:m,danger:true,style:v,children:n}))},r)}return w(f,Y({},d,{type:m,style:v,key:r,onClick:a}),n)}))})})};W.defaultProps={size:0};var V=["value","onChange","style"];var $=function e(r){var t=r.value,a=r.onChange,i=r.style,o=z(r,V);var l=k((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=L.useCallbackRef((function(e){if(e){a==null?void 0:a(P(e).format(l))}else{a==null?void 0:a(undefined)}}));var u=t&&n.isDate(t)?P(new Date(t)):undefined;return M(c,Y({},o,{style:Y({width:"100%"},i),value:u,onChange:f}))};var _=["value","onChange","style"];var G=function e(r){var t=r.value,a=r.onChange,i=r.style,o=z(r,_);var l=k((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=L.useCallbackRef((function(e){if(e){var r=e||[],n=r[0],t=r[1];a==null?void 0:a([P(n).format(l),P(t).format(l)])}else{a==null?void 0:a(undefined)}}));var u=t||[],s=u[0],d=u[1];var v=s&&d&&n.isDate(s)&&n.isDate(d)?[P(new Date(s)),P(new Date(d))]:undefined;return M(c.RangePicker,Y({},o,{style:Y({width:"100%"},i),value:v,onChange:f}))};var J={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:"view"}};function Q(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 X(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 Z(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?X(Object(n),!0).forEach((function(r){Q(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):X(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}var ee={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 re(e){if(Array.isArray(e))return e}function ne(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 te(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 ae(e,r){if(!e)return;if(typeof e==="string")return te(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 te(e,r)}function ie(){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 oe(e,r){return re(e)||ne(e,r)||ae(e,r)||ie()}function le(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 fe(e,r){if(e==null)return{};var n=le(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 ce={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 a=0;a<arguments.length;a++){var t=arguments[a];if(!t)continue;var i=typeof t;if(i==="string"||i==="number"){e.push(t)}else if(Array.isArray(t)){if(t.length){var o=n.apply(null,t);if(o){e.push(o)}}}else if(i==="object"){if(t.toString===Object.prototype.toString){for(var l in t){if(r.call(t,l)&&t[l]){e.push(l)}}}else{e.push(t.toString())}}}return e.join(" ")}if(e.exports){n.default=n;e.exports=n}else{window.classNames=n}})()})(ue);var se=ue.exports;var de=x({});function ve(e){"@babel/helpers - typeof";return ve="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},ve(e)}function me(e,r){if(pe(e)){e="100%"}var n=he(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 pe(e){return typeof e==="string"&&e.indexOf(".")!==-1&&parseFloat(e)===1}function he(e){return typeof e==="string"&&e.indexOf("%")!==-1}function ge(e){e=parseFloat(e);if(isNaN(e)||e<0||e>1){e=1}return e}function be(e){if(e<=1){return Number(e)*100+"%"}return e}function ye(e){return e.length===1?"0"+e:String(e)}function we(e,r,n){return{r:me(e,255)*255,g:me(r,255)*255,b:me(n,255)*255}}function ke(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 xe(e,r,n){var a;var t;var i;e=me(e,360);r=me(r,100);n=me(n,100);if(r===0){t=n;i=n;a=n}else{var o=n<.5?n*(1+r):n+r-n*r;var l=2*n-o;a=ke(l,o,e+1/3);t=ke(l,o,e);i=ke(l,o,e-1/3)}return{r:a*255,g:t*255,b:i*255}}function Ce(e,r,n){e=me(e,255);r=me(r,255);n=me(n,255);var a=Math.max(e,r,n);var t=Math.min(e,r,n);var i=0;var o=a;var l=a-t;var f=a===0?0:l/a;if(a===t){i=0}else{switch(a){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 Ne(e,r,n){e=me(e,360)*6;r=me(r,100);n=me(n,100);var a=Math.floor(e);var t=e-a;var i=n*(1-r);var o=n*(1-t*r);var l=n*(1-(1-t)*r);var f=a%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 Te(e,r,n,a){var t=[ye(Math.round(e).toString(16)),ye(Math.round(r).toString(16)),ye(Math.round(n).toString(16))];if(a&&t[0].startsWith(t[0].charAt(1))&&t[1].startsWith(t[1].charAt(1))&&t[2].startsWith(t[2].charAt(1))){return t[0].charAt(0)+t[1].charAt(0)+t[2].charAt(0)}return t.join("")}function Oe(e){return Ae(e)/255}function Ae(e){return parseInt(e,16)}var Se={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 je(e){var r={r:0,g:0,b:0};var n=1;var a=null;var t=null;var i=null;var o=false;var l=false;if(typeof e==="string"){e=Re(e)}if(typeof e==="object"){if(Ie(e.r)&&Ie(e.g)&&Ie(e.b)){r=we(e.r,e.g,e.b);o=true;l=String(e.r).substr(-1)==="%"?"prgb":"rgb"}else if(Ie(e.h)&&Ie(e.s)&&Ie(e.v)){a=be(e.s);t=be(e.v);r=Ne(e.h,a,t);o=true;l="hsv"}else if(Ie(e.h)&&Ie(e.s)&&Ie(e.l)){a=be(e.s);i=be(e.l);r=xe(e.h,a,i);o=true;l="hsl"}if(Object.prototype.hasOwnProperty.call(e,"a")){n=e.a}}n=ge(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 Fe="[-\\+]?\\d+%?";var Me="[-\\+]?\\d*\\.\\d+%?";var De="(?:"+Me+")|(?:"+Fe+")";var Le="[\\s|\\(]+("+De+")[,|\\s]+("+De+")[,|\\s]+("+De+")\\s*\\)?";var Pe="[\\s|\\(]+("+De+")[,|\\s]+("+De+")[,|\\s]+("+De+")[,|\\s]+("+De+")\\s*\\)?";var Ee={CSS_UNIT:new RegExp(De),rgb:new RegExp("rgb"+Le),rgba:new RegExp("rgba"+Pe),hsl:new RegExp("hsl"+Le),hsla:new RegExp("hsla"+Pe),hsv:new RegExp("hsv"+Le),hsva:new RegExp("hsva"+Pe),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 Re(e){e=e.trim().toLowerCase();if(e.length===0){return false}var r=false;if(Se[e]){e=Se[e];r=true}else if(e==="transparent"){return{r:0,g:0,b:0,a:0,format:"name"}}var n=Ee.rgb.exec(e);if(n){return{r:n[1],g:n[2],b:n[3]}}n=Ee.rgba.exec(e);if(n){return{r:n[1],g:n[2],b:n[3],a:n[4]}}n=Ee.hsl.exec(e);if(n){return{h:n[1],s:n[2],l:n[3]}}n=Ee.hsla.exec(e);if(n){return{h:n[1],s:n[2],l:n[3],a:n[4]}}n=Ee.hsv.exec(e);if(n){return{h:n[1],s:n[2],v:n[3]}}n=Ee.hsva.exec(e);if(n){return{h:n[1],s:n[2],v:n[3],a:n[4]}}n=Ee.hex8.exec(e);if(n){return{r:Ae(n[1]),g:Ae(n[2]),b:Ae(n[3]),a:Oe(n[4]),format:r?"name":"hex8"}}n=Ee.hex6.exec(e);if(n){return{r:Ae(n[1]),g:Ae(n[2]),b:Ae(n[3]),format:r?"name":"hex"}}n=Ee.hex4.exec(e);if(n){return{r:Ae(n[1]+n[1]),g:Ae(n[2]+n[2]),b:Ae(n[3]+n[3]),a:Oe(n[4]+n[4]),format:r?"name":"hex8"}}n=Ee.hex3.exec(e);if(n){return{r:Ae(n[1]+n[1]),g:Ae(n[2]+n[2]),b:Ae(n[3]+n[3]),format:r?"name":"hex"}}return false}function Ie(e){return Boolean(Ee.CSS_UNIT.exec(String(e)))}var qe=2;var ze=.16;var Ye=.05;var _e=.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,a=e.b;var t=Ce(r,n,a);return{h:t.h*360,s:t.s,v:t.v}}function Ve(e){var r=e.r,n=e.g,a=e.b;return"#".concat(Te(r,n,a,false))}function $e(e,r,n){var a=n/100;var t={r:(r.r-e.r)*a+e.r,g:(r.g-e.g)*a+e.g,b:(r.b-e.b)*a+e.b};return t}function Ge(e,r,n){var a;if(Math.round(e.h)>=60&&Math.round(e.h)<=240){a=n?Math.round(e.h)-qe*r:Math.round(e.h)+qe*r}else{a=n?Math.round(e.h)+qe*r:Math.round(e.h)-qe*r}if(a<0){a+=360}else if(a>=360){a-=360}return a}function Qe(e,r,n){if(e.h===0&&e.s===0){return e.s}var a;if(n){a=e.s-ze*r}else if(r===Ke){a=e.s+ze}else{a=e.s+Ye*r}if(a>1){a=1}if(n&&r===He&&a>.1){a=.1}if(a<.06){a=.06}return Number(a.toFixed(2))}function Je(e,r,n){var a;if(n){a=e.v+_e*r}else{a=e.v-Be*r}if(a>1){a=1}return Number(a.toFixed(2))}function Xe(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var n=[];var a=je(e);for(var t=He;t>0;t-=1){var i=We(a);var o=Ve(je({h:Ge(i,t,true),s:Qe(i,t,true),v:Je(i,t,true)}));n.push(o)}n.push(Ve(a));for(var l=1;l<=Ke;l+=1){var f=We(a);var c=Ve(je({h:Ge(f,l),s:Qe(f,l),v:Je(f,l)}));n.push(c)}if(r.theme==="dark"){return Ue.map((function(e){var a=e.index,t=e.opacity;var i=Ve($e(je(r.backgroundColor||"#141414"),je(n[a]),t*100));return i}))}return n}var Ze={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 er={};var rr={};Object.keys(Ze).forEach((function(e){er[e]=Xe(Ze[e]);er[e].primary=er[e][5];rr[e]=Xe(Ze[e],{theme:"dark",backgroundColor:"#141414"});rr[e].primary=rr[e][5]}));er.red;er.volcano;er.gold;er.orange;er.yellow;er.lime;er.green;er.cyan;er.blue;er.geekblue;er.purple;er.magenta;er.grey;var nr={};function ar(e,r){if(process.env.NODE_ENV!=="production"&&!e&&console!==undefined){console.error("Warning: ".concat(r))}}function tr(e,r,n){if(!r&&!nr[n]){e(false,n);nr[n]=true}}function ir(e,r){tr(ar,e,r)}function or(){return!!(typeof window!=="undefined"&&window.document&&window.document.createElement)}var lr="rc-util-key";function fr(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},r=e.mark;if(r){return r.startsWith("data-")?r:"data-".concat(r)}return lr}function cr(e){if(e.attachTo){return e.attachTo}var r=document.querySelector("head");return r||document.body}function ur(e){var r;var n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};if(!or()){return null}var a=document.createElement("style");if((r=n.csp)===null||r===void 0?void 0:r.nonce){var t;a.nonce=(t=n.csp)===null||t===void 0?void 0:t.nonce}a.innerHTML=e;var i=cr(n);var o=i.firstChild;if(n.prepend&&i.prepend){i.prepend(a)}else if(n.prepend&&o){i.insertBefore(a,o)}else{i.appendChild(a)}return a}var sr=new Map;function dr(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var n=cr(r);return Array.from(sr.get(n).children).find((function(n){return n.tagName==="STYLE"&&n.getAttribute(fr(r))===e}))}function vr(e,r){var n=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};var a=cr(n);if(!sr.has(a)){var t=ur("",n);var i=t.parentNode;sr.set(a,i);i.removeChild(t)}var o=dr(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=ur(e,n);u.setAttribute(fr(n),r);return u}function mr(e,r){ir(e,"[@ant-design/icons] ".concat(r))}function pr(e){return ve(e)==="object"&&typeof e.name==="string"&&typeof e.theme==="string"&&(ve(e.icon)==="object"||typeof e.icon==="function")}function hr(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};return Object.keys(e).reduce((function(r,n){var a=e[n];switch(n){case"class":r.className=a;delete r.class;break;default:r[n]=a}return r}),{})}function gr(e,r,n){if(!n){return b.createElement(e.tag,ee({key:r},hr(e.attrs)),(e.children||[]).map((function(n,a){return gr(n,"".concat(r,"-").concat(e.tag,"-").concat(a))})))}return b.createElement(e.tag,ee(ee({key:r},hr(e.attrs)),n),(e.children||[]).map((function(n,a){return gr(n,"".concat(r,"-").concat(e.tag,"-").concat(a))})))}function br(e){return Xe(e)[0]}function yr(e){if(!e){return[]}return Array.isArray(e)?e:[e]}var wr="\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 kr=function e(){var r=arguments.length>0&&arguments[0]!==undefined?arguments[0]:wr;var n=C(de),a=n.csp;N((function(){vr(r,"@ant-design-icons",{prepend:true,csp:a})}),[])};var xr=["icon","className","onClick","style","primaryColor","secondaryColor"];var Cr={primaryColor:"#333",secondaryColor:"#E6E6E6",calculated:false};function Nr(e){var r=e.primaryColor,n=e.secondaryColor;Cr.primaryColor=r;Cr.secondaryColor=n||br(r);Cr.calculated=!!n}function Tr(){return ee({},Cr)}var Or=function e(r){var n=r.icon,a=r.className,t=r.onClick,i=r.style,o=r.primaryColor,l=r.secondaryColor,f=ce(r,xr);var c=Cr;if(o){c={primaryColor:o,secondaryColor:l||br(o)}}kr();mr(pr(n),"icon should be icon definiton, but got ".concat(n));if(!pr(n)){return null}var u=n;if(u&&typeof u.icon==="function"){u=ee(ee({},u),{},{icon:u.icon(c.primaryColor,c.secondaryColor)})}return gr(u.icon,"svg-".concat(u.name),ee({className:a,onClick:t,style:i,"data-icon":u.name,width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true"},f))};Or.displayName="IconReact";Or.getTwoToneColors=Tr;Or.setTwoToneColors=Nr;function Ar(e){var r=yr(e),n=le(r,2),a=n[0],t=n[1];return Or.setTwoToneColors({primaryColor:a,secondaryColor:t})}function Sr(){var e=Or.getTwoToneColors();if(!e.calculated){return e.primaryColor}return[e.primaryColor,e.secondaryColor]}var jr=["className","icon","spin","rotate","tabIndex","onClick","twoToneColor"];Ar("#1890ff");var Fr=g.forwardRef((function(e,r){var n;var a=e.className,t=e.icon,i=e.spin,o=e.rotate,l=e.tabIndex,f=e.onClick,c=e.twoToneColor,u=ce(e,jr);var s=g.useContext(de),d=s.prefixCls,v=d===void 0?"anticon":d;var m=se(v,(n={},X(n,"".concat(v,"-").concat(t.name),!!t.name),X(n,"".concat(v,"-spin"),!!i||t.name==="loading"),n),a);var p=l;if(p===undefined&&f){p=-1}var h=o?{msTransform:"rotate(".concat(o,"deg)"),transform:"rotate(".concat(o,"deg)")}:undefined;var b=yr(c),y=le(b,2),w=y[0],k=y[1];return g.createElement("span",ee(ee({role:"img","aria-label":t.name},u),{},{ref:r,tabIndex:p,onClick:f,className:m}),g.createElement(Or,{icon:t,primaryColor:w,secondaryColor:k,style:h}))}));Fr.displayName="AntdIcon";Fr.getTwoToneColor=Sr;Fr.setTwoToneColor=Ar;var Mr=function e(r,n){return g.createElement(Fr,ee(ee({},r),{},{ref:n,icon:re}))};Mr.displayName="SaveOutlined";var Dr=g.forwardRef(Mr);var Lr=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(Dr,{})},r.okButtonProps,{className:"ok-btn",onClick:r.onOk,loading:r.loading,children:r.okText||"提交"}))]})})};var Pr=["pageLoading","className","width","children","footer","operationProps"];var Er=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 Rr=function e(r){var n=r.pageLoading,a=r.className,t=r.width,i=t===void 0?600:t,o=r.children,l=r.footer,f=r.operationProps,c=_(r,Pr);return D(u,Y({className:R("drawer-wraper",a),keyboard:false,forceRender:true,destroyOnClose:true},c,{width:"80%",contentWrapperStyle:{maxWidth:i},footer:l||l===null?l:M(Lr,Y({},f)),size:"default",children:[M("div",{className:"drawer-wraper-content",children:o}),n&&M(Er,{})]}))};var Ir={};var qr=function e(r){if(!Ir[r]){Ir[r]=E(J)}return Ir[r]};var zr=["onImportFinish"];var Yr=function e(r){var n=r.onImportFinish,a=_(r,zr);var t=Y({showUploadList:false,onChange:function e(r){if(r.file.status!=="uploading"){console.log("FileImport uploading")}if(r.file.status==="done"){var a=r.file.response;if(a.code==="0000"){n(a.data)}else{void s.error(a.message||"文件导入异常...")}}else if(r.file.status==="error"){void s.error("文件导入异常...")}}},a);return M(d,Y({},t,{children:r.children}))};Yr.defaultProps={name:"file",accept:".xlsx,.xls"};var _r=["onChange","onUploadError","onPreview","value"];var Br=function e(r){var n=r.onChange,a=r.onUploadError,t=r.onPreview,i=r.value,o=_(r,_r);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 t=e.file.response;if(t.code==="0000"){var o={uid:e.file.uid,fileName:e.file.name,fileKey:t.data.fileKey};var l=(i||[]).concat(o);n==null?void 0:n(l)}else{a==null?void 0:a(t.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"){a==null?void 0:a()}c([].concat(e.fileList));r.onUploadChange==null?void 0:r.onUploadChange(e)}));var s=L.useCallbackRef((function(e){t==null?void 0:t({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 t=r.direction||"vertical";var i=r.gap?r.gap:0;var o=!a(r.fullIndex)?h(r.fullIndex)?r.fullIndex:[r.fullIndex]:[];return M("div",{className:R("v-flex-layout","v-flex-"+t,r.className),style:r.style,onClick:r.onClick,children:n.map((function(e,r){var a=e.props.style||{};var l=o.includes(r)?Y({flex:1},a):a;if(r<n.length-1&&i>0){if(t==="horizontal"){l.marginRight=i}else{l.marginBottom=i}}return O(e,{style:l})}))})};var Kr=function e(r,n){return N(r,n)};var Ur=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 Wr={actions:{openModalForm:function e(r){var n=r.itemData,a=r.title,t=r.operateType,i=r.pageLoading;return function(e){e.itemData=n;e.title=a;e.operateType=t;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 Vr=["loading","okText","cancelText","onCancel","onOk","hideOkBtn"];var $r=function e(r){var n=r.loading,a=r.okText,t=a===void 0?"保存":a,o=r.cancelText,l=o===void 0?"取消":o,c=r.onCancel,u=r.onOk,s=r.hideOkBtn,d=_(r,Vr);return M(y,{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:t}))]})})};var Gr=["pageLoading","className","width","children","footer","operationProps"];var Qr=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 Jr=function e(r){var n=r.pageLoading,a=r.className,t=r.width,i=r.children,o=r.footer,l=r.operationProps,f=_(r,Gr);return D(v,Y({className:R("modal-wraper",a),keyboard:false,forceRender:true,destroyOnClose:true},f,{width:t||600,footer:null,children:[D("div",{className:"modal-wraper-content",children:[i,n&&M(Qr,{})]}),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(Wr)}return Xr[r]};var en=function e(){return M("div",{className:"v-404",children:"404"})};var rn=function e(r){return M("div",{className:R("query-layout",{"query-layout-flex":r.isFixed},r.className),children:A.map(r.children,(function(e,n){if(r.isFixed&&n===r.fullIndex){return O(e,{className:"query-layout-flex-full"})}return e}))})};var nn=function e(r){var n=r.labelAlign||"right";var a=R("query-layout-condition",{"query-layout-condition-left":n==="left"},r.className);return M("div",{className:a,style:r.style,children:r.children})};var an=function e(r){return M("div",{className:R("query-layout-operate",r.className),style:r.style,children:r.children})};var tn=function e(r){return M("div",{className:R("query-layout-content",r.className),style:r.style,children:r.children})};var on=function e(r){return M("div",{className:R("query-layout-footer",r.className),style:r.style,children:r.children})};rn.Condition=nn;rn.Operate=an;rn.Content=tn;rn.Footer=on;var ln={label_70:"form-label-70",label_80:"form-label-80",label_90:"form-label-90",label_100:"form-label-100",label_110:"form-label-110",label_120:"form-label-120",label_130:"form-label-130"};var fn={label_70:"form-item-label-70",label_80:"form-item-label-80",label_90:"form-item-label-90",label_100:"form-item-label-100",label_110:"form-item-label-110",label_120:"form-item-label-120",label_130:"form-item-label-130"};var cn=["serviceConfig","showAllOption","effectDependencyList","onSelectorListChange","operateType","searchFieldName","selectorList"];var un=S((function(e,r){var n=e.serviceConfig,t=e.showAllOption,i=e.effectDependencyList,o=e.onSelectorListChange,l=e.operateType,f=e.searchFieldName,c=e.selectorList,u=_(e,cn);var d=T([]),v=d[0],h=d[1];var g=l==="search"&&c===undefined;var b=n||{};var y=i||[];var w=j();var k=T(false),x=k[0],C=k[1];var N=function e(r){return r===""||a(r)};var O=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 A=L.useCallbackRef((function(e,r){return new Promise((function(n,t){var i,l,c,u,d,v;var m=function(){try{return n()}catch(e){return t(e)}};var p=function(e){try{C(false);void s.error(e.message||"数据查询异常...");return m()}catch(e){return t(e)}};try{if(!b.onRequest){throw new Error("onRequest 调用接口服务不能为空")}i=b.requiredParamsKeys;l=I({},b.params);if(i){c=i.find((function(e){return N(l[e])}));if(c){console.warn("SelectorWrapper组件:参数:"+i.join("、")+"不能为空");return n()}}C(true);if((!a(e)||!a(r))&&g){u=f||"keyword";l[u]=e;l["id"]=r}return Promise.resolve(b.onRequest==null?void 0:b.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)}}))}));q((function(){if(e.selectorList){h(c);return}if(g)return;void A()}),y);q((function(){if(g){if(N(e.value)){o==null?void 0:o([]);h([])}else{if(e.value!==w.current){void A(undefined,e.value)}}}}),y.concat([e.value]));F(r,(function(){return{onClearSelectorList:function e(){h([])},getSelectorList:function e(){return v}}}));var S=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,a=new Array(n>1?n-1:0),t=1;t<n;t++){a[t-1]=arguments[t]}e.onChange==null?void 0:e.onChange(r,a)}));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:S,onChange:E,children:[t===true?R:t,v.map((function(e){return M(m.Option,{value:e.value,children:e.label},e.value)}))]}))}));var sn=function e(r){var n=T(),a=n[0],t=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)}t(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);t(s.sentTxt)}}),v*1e3,{intervalTime:m});N((function(){if(!s.autoStart){t(s.sendTxt)}else{p();u(true);l(true)}}),[p,s]);var h=L.useCallbackRef((function(){if(o||c)return;u(true);t(s.processingTxt);void r.onSendRequest().then((function(){l(true);p()})).catch((function(){t(s.sendTxt);u(false)}))}));var g=R("v-count-down",r.className,{running:o,starting:c});return M("div",{className:g,onClick:h,children:a})};sn.defaultProps={totalTicks:60,duration:1e3,autoStart:false,format:"{t}s",sendTxt:"获取验证码",sentTxt:"重新获取",processingTxt:"发送中..."};var dn=function e(){console.error("【TableFilterLayout】组件即将废弃,请使用【QueryLayout】组件替代")};var vn=function e(r){Kr((function(){dn()}),[]);return M("div",{className:R("table-filter-layout",{"table-filter-layout-flex":r.isFixed},r.className),children:A.map(r.children,(function(e,n){if(r.isFixed&&n===r.fullIndex){return O(e,{className:"table-filter-layout-flex-full"})}return e}))})};var mn=function e(r){return M("div",{className:R("table-filter-layout-condition",r.className),children:r.children})};var pn=function e(r){return M("div",{className:R("table-filter-layout-operate",r.className),children:r.children})};var hn=function e(r){return M("div",{className:R("table-filter-layout-table",r.className),children:r.children})};var gn=function e(r){return M("div",{className:R("table-filter-layout-footer",r.className),children:r.children})};vn.Condition=mn;vn.Operate=pn;vn.Table=hn;vn.Footer=gn;export{W as ButtonOperate,$ as DatePickerWraper,Q as DateRangePickerWraper,Rr as DrawerWraper,Yr as FileImport,Br as FileUpload,Hr as FlexLayout,Jr as ModalWraper,en as Page404,K as Permission,rn as QueryLayout,un as SelectorWrapper,sn as SmsCountDown,vn as TableFilterLayout,qr as createDrawerWraperModel,Zr as createModalWraperModel,ln as formClassName,fn as formItemClassName,B as getPermissionList,H as hasPermission,z as styles,Kr as useEffectCustom,Ur 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}})()})(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};
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/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/page404/index.tsx","@flatbiz/antd/src/query-layout/index.tsx","@flatbiz/antd/src/selector-wrapper/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 { 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","export const Page404 = () => {\n return <div className=\"v-404\">404</div>;\n};\n","import { classNames } from '@dimjs/utils';\nimport { Children, cloneElement, CSSProperties, FC } from 'react';\nimport './style.less';\n\ntype QueryLayoutStaticMethods = {\n Condition: typeof QueryLayoutCondition;\n Operate: typeof QueryLayoutOperate;\n Content: typeof QueryLayoutContent;\n Footer: typeof QueryLayoutFooter;\n};\ntype QueryLayoutCommonProps = {\n className?: string;\n style?: CSSProperties;\n};\n\ntype QueryLayoutConditionProps = QueryLayoutCommonProps & {\n labelAlign?: 'left' | 'right';\n};\n\nexport type QueryLayoutProps = {\n className?: string;\n isFixed?: boolean;\n fullIndex?: number;\n};\n\n/**\n * Form查询条件 + 按钮操作 +内容展示结构包装组件\n * @param props\n * @returns\n * ```\n * 1. FormItem的label宽度默认80,如果需要自定义,可使用内置的formClassName、formItemClassName来修改宽度\n * ```\n */\nexport const QueryLayout: FC<QueryLayoutProps> & QueryLayoutStaticMethods = (props) => {\n return (\n <div className={classNames('query-layout', { 'query-layout-flex': props.isFixed }, props.className)}>\n {Children.map(props.children, (item, index) => {\n if (props.isFixed && index === props.fullIndex) {\n return cloneElement(item as JSX.Element, { className: 'query-layout-flex-full' });\n }\n return item;\n })}\n </div>\n );\n};\n\nconst QueryLayoutCondition: FC<QueryLayoutConditionProps> = (props) => {\n const labelAlign = props.labelAlign || 'right';\n const className = classNames(\n 'query-layout-condition',\n { 'query-layout-condition-left': labelAlign === 'left' },\n props.className,\n );\n return (\n <div className={className} style={props.style}>\n {props.children}\n </div>\n );\n};\n\nconst QueryLayoutOperate: FC<QueryLayoutCommonProps> = (props) => {\n return (\n <div className={classNames('query-layout-operate', props.className)} style={props.style}>\n {props.children}\n </div>\n );\n};\n\nconst QueryLayoutContent: FC<QueryLayoutCommonProps> = (props) => {\n return (\n <div className={classNames('query-layout-content', props.className)} style={props.style}>\n {props.children}\n </div>\n );\n};\nconst QueryLayoutFooter: FC<QueryLayoutCommonProps> = (props) => {\n return (\n <div className={classNames('query-layout-footer', props.className)} style={props.style}>\n {props.children}\n </div>\n );\n};\n\nQueryLayout.Condition = QueryLayoutCondition;\nQueryLayout.Operate = QueryLayoutOperate;\nQueryLayout.Content = QueryLayoutContent;\nQueryLayout.Footer = QueryLayoutFooter;\n\n/**\n * 使用在Form组件上,预定义form-item label宽度\n */\nexport const formClassName = {\n label_70: 'form-label-70',\n label_80: 'form-label-80',\n label_90: 'form-label-90',\n label_100: 'form-label-100',\n label_110: 'form-label-110',\n label_120: 'form-label-120',\n label_130: 'form-label-130',\n};\n\n/**\n * 使用在Form.Item组件上,预定义form-item label宽度\n */\nexport const formItemClassName = {\n label_70: 'form-item-label-70',\n label_80: 'form-item-label-80',\n label_90: 'form-item-label-90',\n label_100: 'form-item-label-100',\n label_110: 'form-item-label-110',\n label_120: 'form-item-label-120',\n label_130: 'form-item-label-130',\n};\n","import { extend } from '@dimjs/utils';\nimport { useEffectCustom } from '@flatbiz/antd';\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';\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 { 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】组件即将废弃,请使用【QueryLayout】组件替代');\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","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","Page404","QueryLayout","isFixed","Children","QueryLayoutCondition","labelAlign","QueryLayoutOperate","QueryLayoutContent","QueryLayoutFooter","Condition","Operate","Content","Footer","formClassName","label_70","label_80","label_90","label_100","label_110","label_120","label_130","formItemClassName","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","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","Table"],"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/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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"}
package/index.d.ts CHANGED
@@ -7,7 +7,7 @@ import { PickerDateProps, RangePickerDateProps } from 'antd/lib/date-picker/gene
7
7
  import { UploadChangeParam } from 'antd/lib/upload';
8
8
  import { UploadFile } from 'antd/lib/upload/interface';
9
9
  import React from 'react';
10
- import { CSSProperties, DependencyList, EffectCallback, FC, VFC } from 'react';
10
+ import { CSSProperties, DependencyList, EffectCallback, FC, ReactElement, VFC } from 'react';
11
11
 
12
12
  export declare const styles: () => void;
13
13
  export interface ButtonOperateItem extends ButtonProps {
@@ -171,6 +171,17 @@ export declare type FlexLayoutProps = {
171
171
  * @returns
172
172
  */
173
173
  export declare const FlexLayout: FC<FlexLayoutProps>;
174
+ export declare type GapProps = {
175
+ height?: number;
176
+ className?: string;
177
+ style?: CSSProperties;
178
+ };
179
+ /**
180
+ * 间隙组件
181
+ * @param props
182
+ * @returns
183
+ */
184
+ export declare const Gap: VFC<GapProps>;
174
185
  export declare const useEffectCustom: (fn: EffectCallback, deps: DependencyList) => void;
175
186
  export declare const useEffectCustomAsync: (fn: () => Promise<void>, deps: DependencyList) => void;
176
187
  export interface ModalStateType {
@@ -219,6 +230,11 @@ export declare const ModalWraper: FC<ModalFormProps>;
219
230
  * ```
220
231
  */
221
232
  export declare const createModalWraperModel: (key: string) => API<ModelType<ModalStateType, ModalActionsParamType, any>>;
233
+ export declare type PageFixedFooterProps = {
234
+ className?: string;
235
+ style?: CSSProperties;
236
+ };
237
+ export declare const PageFixedFooter: FC<PageFixedFooterProps>;
222
238
  export declare const Page404: () => JSX.Element;
223
239
  export declare const getPermissionList: () => string[];
224
240
  export declare const hasPermission: (name: string) => boolean;
@@ -226,61 +242,6 @@ export interface PermissionProps {
226
242
  name: string;
227
243
  }
228
244
  export declare const Permission: FC<PermissionProps>;
229
- export declare type QueryLayoutStaticMethods = {
230
- Condition: typeof QueryLayoutCondition;
231
- Operate: typeof QueryLayoutOperate;
232
- Content: typeof QueryLayoutContent;
233
- Footer: typeof QueryLayoutFooter;
234
- };
235
- export declare type QueryLayoutCommonProps = {
236
- className?: string;
237
- style?: CSSProperties;
238
- };
239
- export declare type QueryLayoutConditionProps = QueryLayoutCommonProps & {
240
- labelAlign?: "left" | "right";
241
- };
242
- export declare type QueryLayoutProps = {
243
- className?: string;
244
- isFixed?: boolean;
245
- fullIndex?: number;
246
- };
247
- /**
248
- * Form查询条件 + 按钮操作 +内容展示结构包装组件
249
- * @param props
250
- * @returns
251
- * ```
252
- * 1. FormItem的label宽度默认80,如果需要自定义,可使用内置的formClassName、formItemClassName来修改宽度
253
- * ```
254
- */
255
- export declare const QueryLayout: FC<QueryLayoutProps> & QueryLayoutStaticMethods;
256
- declare const QueryLayoutCondition: FC<QueryLayoutConditionProps>;
257
- declare const QueryLayoutOperate: FC<QueryLayoutCommonProps>;
258
- declare const QueryLayoutContent: FC<QueryLayoutCommonProps>;
259
- declare const QueryLayoutFooter: FC<QueryLayoutCommonProps>;
260
- /**
261
- * 使用在Form组件上,预定义form-item label宽度
262
- */
263
- export declare const formClassName: {
264
- label_70: string;
265
- label_80: string;
266
- label_90: string;
267
- label_100: string;
268
- label_110: string;
269
- label_120: string;
270
- label_130: string;
271
- };
272
- /**
273
- * 使用在Form.Item组件上,预定义form-item label宽度
274
- */
275
- export declare const formItemClassName: {
276
- label_70: string;
277
- label_80: string;
278
- label_90: string;
279
- label_100: string;
280
- label_110: string;
281
- label_120: string;
282
- label_130: string;
283
- };
284
245
  export declare type TPlainObject<T = any> = Record<string, T>;
285
246
  export declare type LabelValueItem<T extends string | number = string> = {
286
247
  value: T;
@@ -364,6 +325,14 @@ export declare const SelectorWrapper: import("react").ForwardRefExoticComponent<
364
325
  operateType?: "search" | "filter" | undefined;
365
326
  searchFieldName?: string | undefined;
366
327
  } & import("react").RefAttributes<SelectorWrapperRefApi>>;
328
+ export declare type SimpleLayoutProps = {
329
+ className?: string;
330
+ style?: CSSProperties;
331
+ title?: string | ReactElement;
332
+ formLabelAlign?: "left" | "right";
333
+ layoutType?: "layer" | "tight";
334
+ };
335
+ export declare const SimpleLayout: FC<SimpleLayoutProps>;
367
336
  export interface SmsCountDownProps {
368
337
  onSendRequest: () => Promise<void>;
369
338
  totalTicks?: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flatbiz/antd",
3
- "version": "2.3.10",
3
+ "version": "2.3.12",
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": "02e4e3438f43fc7abe3427aeca754449aef925bd"
42
+ "gitHead": "8880127543f23ea0594d8e6aa6703689eef4fdfd"
43
43
  }