@topthink/components 1.0.70 → 1.0.72

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.
@@ -1,4 +1,4 @@
1
- import{jsx as e,jsxs as t,Fragment as r}from"react/jsx-runtime";import n from"rc-table";import{unstable_batchedUpdates as a}from"react-dom";import{FormControl as o,Table as i}from"react-bootstrap";import{useUrlSearchParams as c}from"use-url-search-params";import{isEqual as l,omit as s}from"lodash";import*as d from"react";import{useState as u,useCallback as p,useRef as m,useEffect as h,useMemo as f,memo as g,forwardRef as v,useImperativeHandle as y}from"react";import{B as b,u as x,P as w,a as j,r as C,i as k,N as S,L as E,T as O,C as V,S as z}from"./index-gIRl3vp6.js";import N from"styled-components";import H from"./index-zJSNEC-2.js";import"sweetalert2/dist/sweetalert2.js";import"sweetalert2-react-content";import"axios";import"query-string";import"retry-axios";import"rc-notification";import"classnames";import"react-async-hook";import"@topthink/json-form";const q=function(t){let{indeterminate:r=!1,...n}=t;const a=m(null);return h((()=>{a.current&&(a.current.indeterminate=r)}),[r]),e("input",{ref:a,...n,className:"form-check-input",type:"checkbox"})};var K;function M(){return M=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},M.apply(this,arguments)}const B=e=>d.createElement("svg",M({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"currentColor",viewBox:"0 0 1024 1024"},e),K||(K=d.createElement("path",{d:"M252.069 906.496h520.283c89.582 0 134.144-44.562 134.144-132.846V250.331c0-88.283-44.562-132.845-134.144-132.845H252.069c-89.143 0-134.583 44.141-134.583 132.845V773.67c0 88.704 45.44 132.845 134.583 132.845zm1.28-68.992c-42.844 0-66.853-22.71-66.853-67.291V253.806c0-44.58 24.01-67.292 66.853-67.292h517.723c42.423 0 66.432 22.711 66.432 67.292v516.388c0 44.58-24.01 67.292-66.432 67.292zM511.78 714.496c22.71 0 36.425-15.854 36.425-40.704V547.365H682.35c24.009 0 40.722-12.874 40.722-35.584 0-23.132-15.854-36.426-40.722-36.426H548.206V340.773c0-24.85-13.715-40.704-36.425-40.704s-35.566 16.713-35.566 40.722v134.583H342.49c-24.85 0-41.142 13.275-41.142 36.407 0 22.71 17.152 35.584 41.142 35.584h133.724v126.427c0 23.99 12.855 40.704 35.566 40.704"})));var P;function F(){return F=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},F.apply(this,arguments)}const T=e=>d.createElement("svg",F({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"currentColor",viewBox:"0 0 1024 1024"},e),P||(P=d.createElement("path",{d:"M252.069 906.496h520.283c89.582 0 134.144-44.562 134.144-132.846V250.331c0-88.283-44.562-132.845-134.144-132.845H252.069c-89.143 0-134.583 44.141-134.583 132.845V773.67c0 88.704 45.44 132.845 134.583 132.845zm1.28-68.992c-42.844 0-66.853-22.71-66.853-67.291V253.806c0-44.58 24.01-67.292 66.853-67.292h517.723c42.423 0 66.432 22.711 66.432 67.292v516.388c0 44.58-24.01 67.292-66.432 67.292zm86.582-289.719h344.576c23.991 0 40.704-12.855 40.704-35.566 0-23.15-15.433-36.425-40.704-36.425H339.931c-24.868 0-40.722 13.276-40.722 36.425 0 22.711 16.713 35.566 40.722 35.566"})));function D(r){let{data:n,options:a,columns:o,onSearch:i}=r;const[c,s]=u(0),[d,m]=u(n);h((()=>{l(n,d)||(m(n),s((e=>e+1)))}),[n]);const[g,v,y]=f((()=>{const e={"ui:col":10,"ui:order":a.order},t={},r={};a.fields.forEach((n=>{const i=o.find((e=>e.dataIndex===n));if(i){const o=i.title;if("string"==typeof o){if(e[n]={"ui:col":4,"ui:labelCol":3,"ui:placeholder":"请输入",...a.ui?.[n]},i.valueEnum){const t=i.valueEnum;return e[n]["ui:placeholder"]="请选择",r[n]={title:o,type:"string",enum:Object.keys(t).flatMap((e=>"string"==typeof t[e].text?[e]:[])),enumNames:Object.keys(t).flatMap((e=>{const r=t[e].text;return"string"==typeof r?[r]:[]}))}}t[n]=void 0,r[n]={title:o,type:"string"}}}})),a.extraFields&&Object.entries(a.extraFields).forEach((n=>{let[o,i]=n;e[o]={"ui:col":4,"ui:labelCol":3,"ui:placeholder":"请输入",...a.ui?.[o]},t[o]=void 0,r[o]={title:i,type:"string"}}));return[{type:"object",properties:r},e,t]}),[a.fields,a.extraFields]),x=p((e=>{let{formData:t}=e;m(t),i({...y,...t})}),[i,y]),w=p((()=>{i(y)}),[i,y]);return e(I,{children:e(H,{formContext:{layout:"horizontal"},schema:g,uiSchema:v,onSubmit:x,formData:d,children:e("div",{className:"col-2 ms-auto mt-auto",children:t("div",{className:"justify-content-end d-flex gap-2 ",children:[e(b,{className:"px-4",onClick:w,variant:"secondary",children:"重置"}),e(b,{className:"px-4",type:"submit",variant:"primary",children:"查询"})]})})})},c)}const I=N.div`
1
+ import{jsx as e,jsxs as t,Fragment as r}from"react/jsx-runtime";import n from"rc-table";import{unstable_batchedUpdates as a}from"react-dom";import{FormControl as o,Table as i}from"react-bootstrap";import{useUrlSearchParams as c}from"use-url-search-params";import{isEqual as l,omit as s}from"lodash";import*as d from"react";import{useState as u,useCallback as p,useRef as m,useEffect as h,useMemo as f,memo as g,forwardRef as v,useImperativeHandle as y}from"react";import{B as b,u as x,P as w,a as j,r as C,i as k,N as S,L as E,T as O,C as V,S as z}from"./index-E_eK45eG.js";import N from"styled-components";import H from"./index-DOoYwFGX.js";import"sweetalert2/dist/sweetalert2.js";import"sweetalert2-react-content";import"axios";import"query-string";import"retry-axios";import"rc-notification";import"classnames";import"react-async-hook";import"@topthink/json-form";const q=function(t){let{indeterminate:r=!1,...n}=t;const a=m(null);return h((()=>{a.current&&(a.current.indeterminate=r)}),[r]),e("input",{ref:a,...n,className:"form-check-input",type:"checkbox"})};var K;function M(){return M=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},M.apply(this,arguments)}const B=e=>d.createElement("svg",M({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"currentColor",viewBox:"0 0 1024 1024"},e),K||(K=d.createElement("path",{d:"M252.069 906.496h520.283c89.582 0 134.144-44.562 134.144-132.846V250.331c0-88.283-44.562-132.845-134.144-132.845H252.069c-89.143 0-134.583 44.141-134.583 132.845V773.67c0 88.704 45.44 132.845 134.583 132.845zm1.28-68.992c-42.844 0-66.853-22.71-66.853-67.291V253.806c0-44.58 24.01-67.292 66.853-67.292h517.723c42.423 0 66.432 22.711 66.432 67.292v516.388c0 44.58-24.01 67.292-66.432 67.292zM511.78 714.496c22.71 0 36.425-15.854 36.425-40.704V547.365H682.35c24.009 0 40.722-12.874 40.722-35.584 0-23.132-15.854-36.426-40.722-36.426H548.206V340.773c0-24.85-13.715-40.704-36.425-40.704s-35.566 16.713-35.566 40.722v134.583H342.49c-24.85 0-41.142 13.275-41.142 36.407 0 22.71 17.152 35.584 41.142 35.584h133.724v126.427c0 23.99 12.855 40.704 35.566 40.704"})));var P;function F(){return F=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},F.apply(this,arguments)}const T=e=>d.createElement("svg",F({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"currentColor",viewBox:"0 0 1024 1024"},e),P||(P=d.createElement("path",{d:"M252.069 906.496h520.283c89.582 0 134.144-44.562 134.144-132.846V250.331c0-88.283-44.562-132.845-134.144-132.845H252.069c-89.143 0-134.583 44.141-134.583 132.845V773.67c0 88.704 45.44 132.845 134.583 132.845zm1.28-68.992c-42.844 0-66.853-22.71-66.853-67.291V253.806c0-44.58 24.01-67.292 66.853-67.292h517.723c42.423 0 66.432 22.711 66.432 67.292v516.388c0 44.58-24.01 67.292-66.432 67.292zm86.582-289.719h344.576c23.991 0 40.704-12.855 40.704-35.566 0-23.15-15.433-36.425-40.704-36.425H339.931c-24.868 0-40.722 13.276-40.722 36.425 0 22.711 16.713 35.566 40.722 35.566"})));function D(r){let{data:n,options:a,columns:o,onSearch:i}=r;const[c,s]=u(0),[d,m]=u(n);h((()=>{l(n,d)||(m(n),s((e=>e+1)))}),[n]);const[g,v,y]=f((()=>{const e={"ui:col":10,"ui:order":a.order},t={},r={};a.fields.forEach((n=>{const i=o.find((e=>e.dataIndex===n));if(i){const o=i.title;if("string"==typeof o){if(e[n]={"ui:col":4,"ui:labelCol":3,"ui:placeholder":"请输入",...a.ui?.[n]},i.valueEnum){const t=i.valueEnum;return e[n]["ui:placeholder"]="请选择",r[n]={title:o,type:"string",enum:Object.keys(t).flatMap((e=>"string"==typeof t[e].text?[e]:[])),enumNames:Object.keys(t).flatMap((e=>{const r=t[e].text;return"string"==typeof r?[r]:[]}))}}t[n]=void 0,r[n]={title:o,type:"string"}}}})),a.extraFields&&Object.entries(a.extraFields).forEach((n=>{let[o,i]=n;e[o]={"ui:col":4,"ui:labelCol":3,"ui:placeholder":"请输入",...a.ui?.[o]},t[o]=void 0,r[o]={title:i,type:"string"}}));return[{type:"object",properties:r},e,t]}),[a.fields,a.extraFields]),x=p((e=>{let{formData:t}=e;m(t),i({...y,...t})}),[i,y]),w=p((()=>{i(y)}),[i,y]);return e(I,{children:e(H,{formContext:{layout:"horizontal"},schema:g,uiSchema:v,onSubmit:x,formData:d,children:e("div",{className:"col-2 ms-auto mt-auto",children:t("div",{className:"justify-content-end d-flex gap-2 ",children:[e(b,{className:"px-4",onClick:w,variant:"secondary",children:"重置"}),e(b,{className:"px-4",type:"submit",variant:"primary",children:"查询"})]})})})},c)}const I=N.div`
2
2
  margin-bottom: 1rem;
3
3
  `;function R(t){let{keyword:r,onKeywordChange:n}=t;const[a,i]=u(r),c=x(n,500);h((()=>{i(r)}),[r]);const l=p((e=>{i(e.target.value),c(e.target.value)}),[c,i]);return e(o,{value:a,onChange:l,type:"search",placeholder:"Search..."})}const _=N.thead`
4
4
  th {
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import r,{getRegistry as o}from"@topthink/json-form";import*as a from"react";import{forwardRef as e,useState as n,useCallback as i}from"react";import s from"axios";import{b as m,r as l,B as p}from"./index-gIRl3vp6.js";import{mapValues as c}from"lodash";import"sweetalert2/dist/sweetalert2.js";import"sweetalert2-react-content";import"react-bootstrap";import"query-string";import"retry-axios";import"rc-notification";import"styled-components";import"classnames";import"use-url-search-params";import"react-async-hook";const u=require("ajv-i18n/localize/zh"),d=a.lazy((()=>import("./editor-widget-CQ3zv-Xu.js"))),f=r=>t(a.Suspense,{fallback:null,children:t(d,{...r})}),h={upload:function(r){let{options:a,...e}=r;const{widgets:n}=o();return a.endpoint&&(a.onUpload=async t=>{const r=new FormData;r.set("file",t);const{url:o,value:e}=await l({url:a.endpoint,method:"post",data:r});return{url:o,value:e}}),t(n.upload,{...e,options:a})},editor:function(r){let{options:o,...a}=r;return o.endpoint&&(o.onUpload=async t=>{const r=new FormData;r.set("file",t);const{url:a}=await l({url:o.endpoint,method:"post",data:r});return a}),t(f,{...a,options:o})},typeahead:function(r){let{options:a,...e}=r;const{widgets:n}=o();return a.endpoint&&(a.onSearch=async t=>{let{value:r,query:o}=t;return await l({url:a.endpoint,params:{value:r,query:o}})}),t(n.typeahead,{...e,options:a})}},y=e(((o,a)=>{let{action:e,method:d="post",onSuccess:f,formData:y,onSubmitting:w,onSubmit:g,onChange:b,submitText:x="提交",transformData:v,children:D,...j}=o;const[S,k]=n(),[q,_]=m(!1),[z,E]=n(y),C=i((async(t,r)=>{if(!q)try{if(_(!0),w&&w(!0),e){let{formData:r}=t;v&&(r=v(r));try{const t=await l({url:e,method:d,data:r});return k(void 0),f&&await f(t),t}catch(t){if(!s.isAxiosError(t))throw t;k((t=>{const r=t.errors;return"string"==typeof r?{__errors:[r]}:c(r,(t=>({__errors:[t]})))})(t))}}else if(g)return await g(t,r)}finally{_(!1),w&&w(!1)}}),[e,d,g]),F=i((t=>{const{formData:r}=t;E(r),b&&b(t)}),[E,b]),N=i((t=>(t=t.map((t=>({keyword:t.name,dataPath:t.property,...t}))),u(t),t)),[]),U=t(p,{className:"px-4",loading:q,type:"submit",variant:"primary",children:x});return"function"==typeof D&&(D=D({submit:U,loading:q})),t(r,{ref:a,extraErrors:S,onSubmit:C,transformErrors:N,noHtml5Validate:!0,noValidate:!0,...j,formData:z,onChange:F,widgets:h,children:D||t("div",{className:"col-12",children:U})})}));export{y as default};
1
+ import{jsx as t}from"react/jsx-runtime";import r,{getRegistry as o}from"@topthink/json-form";import*as a from"react";import{forwardRef as e,useState as n,useCallback as i}from"react";import s from"axios";import{b as m,r as l,B as p}from"./index-E_eK45eG.js";import{mapValues as c}from"lodash";import"sweetalert2/dist/sweetalert2.js";import"sweetalert2-react-content";import"react-bootstrap";import"query-string";import"retry-axios";import"rc-notification";import"styled-components";import"classnames";import"use-url-search-params";import"react-async-hook";const u=require("ajv-i18n/localize/zh"),d=a.lazy((()=>import("./editor-widget-CQ3zv-Xu.js"))),f=r=>t(a.Suspense,{fallback:null,children:t(d,{...r})}),h={upload:function(r){let{options:a,...e}=r;const{widgets:n}=o();return a.endpoint&&(a.onUpload=async t=>{const r=new FormData;r.set("file",t);const{url:o,value:e}=await l({url:a.endpoint,method:"post",data:r});return{url:o,value:e}}),t(n.upload,{...e,options:a})},editor:function(r){let{options:o,...a}=r;return o.endpoint&&(o.onUpload=async t=>{const r=new FormData;r.set("file",t);const{url:a}=await l({url:o.endpoint,method:"post",data:r});return a}),t(f,{...a,options:o})},typeahead:function(r){let{options:a,...e}=r;const{widgets:n}=o();return a.endpoint&&(a.onSearch=async t=>{let{value:r,query:o}=t;return await l({url:a.endpoint,params:{value:r,query:o}})}),t(n.typeahead,{...e,options:a})}},y=e(((o,a)=>{let{action:e,method:d="post",onSuccess:f,formData:y,onSubmitting:w,onSubmit:g,onChange:b,submitText:x="提交",transformData:v,children:D,...j}=o;const[S,k]=n(),[q,_]=m(!1),[z,E]=n(y),C=i((async(t,r)=>{if(!q)try{if(_(!0),w&&w(!0),e){let{formData:r}=t;v&&(r=v(r));try{const t=await l({url:e,method:d,data:r});return k(void 0),f&&await f(t),t}catch(t){if(!s.isAxiosError(t))throw t;k((t=>{const r=t.errors;return"string"==typeof r?{__errors:[r]}:c(r,(t=>({__errors:[t]})))})(t))}}else if(g)return await g(t,r)}finally{_(!1),w&&w(!1)}}),[e,d,g]),F=i((t=>{const{formData:r}=t;E(r),b&&b(t)}),[E,b]),N=i((t=>(t=t.map((t=>({keyword:t.name,dataPath:t.property,...t}))),u(t),t)),[]),U=t(p,{className:"px-4",loading:q,type:"submit",variant:"primary",children:x});return"function"==typeof D&&(D=D({submit:U,loading:q})),t(r,{ref:a,extraErrors:S,onSubmit:C,transformErrors:N,noHtml5Validate:!0,noValidate:!0,...j,formData:z,onChange:F,widgets:h,children:D||t("div",{className:"col-12",children:U})})}));export{y as default};
@@ -63,7 +63,7 @@ import e from"sweetalert2/dist/sweetalert2.js";import t from"sweetalert2-react-c
63
63
  margin-bottom: 4px;
64
64
  color: rgba(0, 0, 0, .45);
65
65
  font-size: 1.1rem;
66
- `;function De(){}function Me(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e}function Ie(e){return"current_page"in e}function Ue(e){let{total:t=0,onChange:r=De,defaultCurrent:o=1,defaultPageSize:i=10,className:c,...l}=e;const[d,f]=a(o),[m,p]=a(i);s((()=>{Me(l.current)&&f(l.current)}),[l.current]),s((()=>{Me(l.pageSize)&&p(l.pageSize)}),[l.pageSize]);const g=h((()=>Math.floor((t-1)/m)+1),[t,m]),y=u((e=>()=>{e!==d&&(f(e),r(e,m))}),[r,d,m]),x=d-1>0?d-1:0,v=d+1<g?d+1:g,b=[];let w=null,k=null,C=null,N=null;if(g<=7)for(let e=1;e<=g;e+=1){const t=d===e;b.push(n(B.Item,{active:t,onClick:y(e),children:e},e))}else{N=n(B.Last,{onClick:y(g)},"last"),C=n(B.First,{onClick:y(1)},"first"),w=n(B.Prev,{onClick:y(x)},"prev"),k=n(B.Next,{onClick:y(v)},"next");let e=Math.max(1,d-2),t=Math.min(d+2,g);d-1<=2&&(t=5),g-d<=2&&(e=g-4);for(let r=e;r<=t;r+=1){const e=d===r;b.push(n(B.Item,{active:e,onClick:y(r),children:r},r))}d-1>=4&&3!==d&&b.unshift(w),g-d>=4&&d!==g-2&&b.push(k),1!==e&&b.unshift(C),t!==g&&b.push(N)}return n(B,{className:c,children:b})}function Re(e){let{className:t,value:r,locale:i="zh-CN",currency:a=!0,options:s={}}=e;const c=h((()=>{let e;return e=a?{style:"currency",currency:"CNY"}:{minimumFractionDigits:2},new Intl.NumberFormat(i,{...e,...s})}),[a,i,s]);return t?n("span",{className:t,children:c.format(r)}):n(o,{children:c.format(r)})}function qe(e){let{loading:t,disabled:r,children:o,...i}=e;return n(C,{...i,disabled:t||r,children:t?"Loading…":o})}const Ve=p((()=>import("./image-zoom-OrIPGqh0.js")));function Ge(e){return n(g,{fallback:null,children:n(Ve,{...e})})}function Ye(e){let{url:t,method:n,confirm:r,onSuccess:o,children:i,disabled:a,as:s=ne,...c}=e;const[l,d]=me(!1),h=u((async e=>{e.preventDefault();try{if(d(!0),r&&!await oe.confirm({message:r}))return;const e="string"==typeof t?{url:t,method:n}:{method:n,...t},i=await he(e);o&&o(i)}catch(e){ue(e)}finally{d(!1)}}),[t,n,d]);return y(s,{...c,disabled:a||l,onClick:h},i)}const Je=p((()=>import("./index-zJSNEC-2.js"))),Ke=f(((e,t)=>n(g,{fallback:null,children:n(Je,{...e,ref:t})}))),Qe=p((()=>import("./index-RvCEJ0zy.js"))),We=f(((e,t)=>n(g,{fallback:null,children:n(Qe,{...e,ref:t})})));let Xe=0;function Ze(){let{onHide:e,onShow:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const[n,r]=a(!1),[o,i]=a(`visible-${Xe}`),s=u((()=>{r(!1),e&&e()}),[r,e]),c=u((()=>{i("visible-"+ ++Xe)}),[i,Xe]);return{visible:n,show:u((()=>{r(!0),t&&t()}),[r,t]),hide:s,state:{show:n,onHide:s,onExited:c,key:o}}}const et=f(((e,t)=>{let{text:i,onOk:a,modalProps:s,children:c,onShow:l,onHide:d,confirmLoading:u,as:h=ne,...f}=e;const{state:m,show:p,hide:g}=Ze({onShow:l,onHide:d});x(t,(()=>({close:g})));const v=y(h,{...f,onClick:p},i);return r(o,{children:[v,n(oe,{header:i,...s,...m,confirmLoading:u,onOk:async e=>{if(a){!1===await a()&&e.preventDefault()}},children:c})]})}));function tt(e){let{text:t,onSuccess:o,buttonProps:s,modalProps:c,children:l,...d}=e;const[h,f]=a(!1),m=i(null),p=i(null),g=u((()=>(p.current?.submit(),!1)),[]),y=u((e=>{o&&o(e),m.current?.close()}),[o]);return n(et,{ref:m,text:t,...s,modalProps:c,onOk:g,confirmLoading:h,children:r(Ke,{...d,onSubmitting:f,ref:p,onSuccess:y,children:[l,n("input",{type:"submit",hidden:!0})]})})}function nt(e){let{header:t,children:o,closable:i=!0,show:a,onHide:s,bodyAs:c,headerAs:l="h5",...d}=e;return r(P,{...d,onHide:s,show:a,children:[t&&n(P.Header,{closeButton:i,children:n(P.Title,{as:l,children:t})}),n(P.Body,{as:c,children:o})]})}const rt=f(((e,t)=>{let{text:i,offcanvasProps:a,children:s,onShow:c,onHide:l,as:d=ne,...u}=e;const{state:h,show:f,hide:m}=Ze({onShow:c,onHide:l});x(t,(()=>({close:m})));const p=y(d,{...u,onClick:f},i);return r(o,{children:[p,n(nt,{header:i,...a,...h,children:s})]})}));function ot(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const n=i(e);return s((()=>{n.current=e})),u((function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return n.current?.(...t)}),t)}function it(e){const{value:t,defaultValue:n,onChange:r,shouldUpdate:o=((e,t)=>e!==t)}=e,i=ot(r),s=ot(o),[c,l]=a(n),d=void 0!==t,u=d?t:c,h=ot((e=>{const t="function"==typeof e?e(u):e;s(u,t)&&(d||l(t),i(t))}),[d,i,u,s]);return[u,h]}const at=f(((e,t)=>{let{paginate:c=!0,sync:l=!1,columns:d=3,source:h,renderItem:f,renderEmpty:m}=e;const[p,g]=a([]),[y,v]=a(c?{total:0,current:1,pageSize:10}:null),[b,w]=a(!0),[k,C]=I({}),[N,S]=it({value:l?k.page||1:void 0,defaultValue:1,onChange:e=>{l&&C({page:e||void 0})}}),z=u((async()=>{w(!0);try{let e;const t={page:N>1?N:void 0};e="string"==typeof h?await he({url:h,params:t}):await h(t),c&&Ie(e)&&(e.last_page>1&&v({total:e.total,current:e.current_page,pageSize:e.per_page}),e=e.data),g(e)}catch(e){}finally{w(!1)}}),[h,g,N]);s((()=>{z()}),[N]),s((()=>{B.current={reload:z}}),[z]);const B=i({reload:z});return x(t,(()=>B.current)),r(o,{children:[n(Ne,{loading:b}),0===p.length&&!b&&m?.(),n(j,{children:p.map(((e,t)=>n(T,{className:"d-flex",md:12/d,children:f(e)},`card-${t}`)))}),y&&n(st,{...y,onChange:S})]})})),st=_(Ue)`
66
+ `;function De(){}function Me(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e}function Ie(e){return"current_page"in e}function Ue(e){let{total:t=0,onChange:r=De,defaultCurrent:o=1,defaultPageSize:i=10,className:c,...l}=e;const[d,f]=a(o),[m,p]=a(i);s((()=>{Me(l.current)&&f(l.current)}),[l.current]),s((()=>{Me(l.pageSize)&&p(l.pageSize)}),[l.pageSize]);const g=h((()=>Math.floor((t-1)/m)+1),[t,m]),y=u((e=>()=>{e!==d&&(f(e),r(e,m))}),[r,d,m]),x=d-1>0?d-1:0,v=d+1<g?d+1:g,b=[];let w=null,k=null,C=null,N=null;if(g<=7)for(let e=1;e<=g;e+=1){const t=d===e;b.push(n(B.Item,{active:t,onClick:y(e),children:e},e))}else{N=n(B.Last,{onClick:y(g)},"last"),C=n(B.First,{onClick:y(1)},"first"),w=n(B.Prev,{onClick:y(x)},"prev"),k=n(B.Next,{onClick:y(v)},"next");let e=Math.max(1,d-2),t=Math.min(d+2,g);d-1<=2&&(t=5),g-d<=2&&(e=g-4);for(let r=e;r<=t;r+=1){const e=d===r;b.push(n(B.Item,{active:e,onClick:y(r),children:r},r))}d-1>=4&&3!==d&&b.unshift(w),g-d>=4&&d!==g-2&&b.push(k),1!==e&&b.unshift(C),t!==g&&b.push(N)}return n(B,{className:c,children:b})}function Re(e){let{className:t,value:r,locale:i="zh-CN",currency:a=!0,options:s={}}=e;const c=h((()=>{let e;return e=a?{style:"currency",currency:"CNY"}:{minimumFractionDigits:2},new Intl.NumberFormat(i,{...e,...s})}),[a,i,s]);return t?n("span",{className:t,children:c.format(r)}):n(o,{children:c.format(r)})}function qe(e){let{loading:t,disabled:r,children:o,...i}=e;return n(C,{...i,disabled:t||r,children:t?"Loading…":o})}const Ve=p((()=>import("./image-zoom-OrIPGqh0.js")));function Ge(e){return n(g,{fallback:null,children:n(Ve,{...e})})}function Ye(e){let{url:t,method:n,confirm:r,onSuccess:o,children:i,disabled:a,as:s=ne,...c}=e;const[l,d]=me(!1),h=u((async e=>{e.preventDefault();try{if(d(!0),r&&!await oe.confirm({message:r}))return;const e="string"==typeof t?{url:t,method:n}:{method:n,...t},i=await he(e);o&&o(i)}catch(e){ue(e)}finally{d(!1)}}),[t,n,d]);return y(s,{...c,disabled:a||l,onClick:h},i)}const Je=p((()=>import("./index-DOoYwFGX.js"))),Ke=f(((e,t)=>n(g,{fallback:null,children:n(Je,{...e,ref:t})}))),Qe=p((()=>import("./index-246thKGN.js"))),We=f(((e,t)=>n(g,{fallback:null,children:n(Qe,{...e,ref:t})})));let Xe=0;function Ze(){let{onHide:e,onShow:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const[n,r]=a(!1),[o,i]=a(`visible-${Xe}`),s=u((()=>{r(!1),e&&e()}),[r,e]),c=u((()=>{i("visible-"+ ++Xe)}),[i,Xe]);return{visible:n,show:u((()=>{r(!0),t&&t()}),[r,t]),hide:s,state:{show:n,onHide:s,onExited:c,key:o}}}const et=f(((e,t)=>{let{text:i,onOk:a,modalProps:s,children:c,onShow:l,onHide:d,confirmLoading:u,as:h=ne,...f}=e;const{state:m,show:p,hide:g}=Ze({onShow:l,onHide:d});x(t,(()=>({close:g})));const v=y(h,{...f,onClick:p},i);return r(o,{children:[v,n(oe,{header:i,...s,...m,confirmLoading:u,onOk:async e=>{if(a){!1===await a()&&e.preventDefault()}},children:c})]})})),tt=f(((e,t)=>{let{text:o,onSuccess:s,buttonProps:c,modalProps:l,children:d,...h}=e;const[f,m]=a(!1),p=i(null),g=i(null);x(t,(()=>({close:()=>{p.current?.close()}})));const y=u((()=>(g.current?.submit(),!1)),[]),v=u((e=>{s&&s(e),p.current?.close()}),[s]);return n(et,{ref:p,text:o,...c,modalProps:l,onOk:y,confirmLoading:f,children:r(Ke,{...h,onSubmitting:m,ref:g,onSuccess:v,children:[d,n("input",{type:"submit",hidden:!0})]})})}));function nt(e){let{header:t,children:o,closable:i=!0,show:a,onHide:s,bodyAs:c,headerAs:l="h5",...d}=e;return r(P,{...d,onHide:s,show:a,children:[t&&n(P.Header,{closeButton:i,children:n(P.Title,{as:l,children:t})}),n(P.Body,{as:c,children:o})]})}const rt=f(((e,t)=>{let{text:i,offcanvasProps:a,children:s,onShow:c,onHide:l,as:d=ne,...u}=e;const{state:h,show:f,hide:m}=Ze({onShow:c,onHide:l});x(t,(()=>({close:m})));const p=y(d,{...u,onClick:f},i);return r(o,{children:[p,n(nt,{header:i,...a,...h,children:s})]})}));function ot(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const n=i(e);return s((()=>{n.current=e})),u((function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return n.current?.(...t)}),t)}function it(e){const{value:t,defaultValue:n,onChange:r,shouldUpdate:o=((e,t)=>e!==t)}=e,i=ot(r),s=ot(o),[c,l]=a(n),d=void 0!==t,u=d?t:c,h=ot((e=>{const t="function"==typeof e?e(u):e;s(u,t)&&(d||l(t),i(t))}),[d,i,u,s]);return[u,h]}const at=f(((e,t)=>{let{paginate:c=!0,sync:l=!1,columns:d=3,source:h,renderItem:f,renderEmpty:m}=e;const[p,g]=a([]),[y,v]=a(c?{total:0,current:1,pageSize:10}:null),[b,w]=a(!0),[k,C]=I({}),[N,S]=it({value:l?k.page||1:void 0,defaultValue:1,onChange:e=>{l&&C({page:e||void 0})}}),z=u((async()=>{w(!0);try{let e;const t={page:N>1?N:void 0};e="string"==typeof h?await he({url:h,params:t}):await h(t),c&&Ie(e)&&(e.last_page>1&&v({total:e.total,current:e.current_page,pageSize:e.per_page}),e=e.data),g(e)}catch(e){}finally{w(!1)}}),[h,g,N]);s((()=>{z()}),[N]),s((()=>{B.current={reload:z}}),[z]);const B=i({reload:z});return x(t,(()=>B.current)),r(o,{children:[n(Ne,{loading:b}),0===p.length&&!b&&m?.(),n(j,{children:p.map(((e,t)=>n(T,{className:"d-flex",md:12/d,children:f(e)},`card-${t}`)))}),y&&n(st,{...y,onChange:S})]})})),st=_(Ue)`
67
67
  margin-bottom: 0;
68
68
  justify-content: flex-end;
69
69
  margin-top: 1rem;
package/es/index.js CHANGED
@@ -1 +1 @@
1
- export{B as Button,C as Card,q as CardList,E as Error,F as Form,I as ImageZoom,L as Loader,h as LoadingButton,M as Message,n as Modal,m as ModalButton,l as ModalForm,N as NumberFormat,o as Offcanvas,O as OffcanvasButton,P as Pagination,j as RequestButton,R as Result,S as Space,g as Statistic,f as Step,e as Steps,k as Table,c as Toast,p as Tooltip,d as isRecord,v as isRequestError,r as request,x as showRequestError,a as useControllableState,u as useDebounce,t as useOverlayState,s as useRequest,b as useSafeState,w as waitPayComplete}from"./index-gIRl3vp6.js";export{StyleSheetManager,ThemeProvider,createGlobalStyle,css,keyframes,default as styled}from"styled-components";export{useAsync,useAsyncCallback}from"react-async-hook";import"sweetalert2/dist/sweetalert2.js";import"sweetalert2-react-content";import"react/jsx-runtime";import"react";import"react-bootstrap";import"lodash";import"axios";import"query-string";import"retry-axios";import"rc-notification";import"classnames";import"use-url-search-params";
1
+ export{B as Button,C as Card,q as CardList,E as Error,F as Form,I as ImageZoom,L as Loader,h as LoadingButton,M as Message,n as Modal,m as ModalButton,l as ModalForm,N as NumberFormat,o as Offcanvas,O as OffcanvasButton,P as Pagination,j as RequestButton,R as Result,S as Space,g as Statistic,f as Step,e as Steps,k as Table,c as Toast,p as Tooltip,d as isRecord,v as isRequestError,r as request,x as showRequestError,a as useControllableState,u as useDebounce,t as useOverlayState,s as useRequest,b as useSafeState,w as waitPayComplete}from"./index-E_eK45eG.js";export{StyleSheetManager,ThemeProvider,createGlobalStyle,css,keyframes,default as styled}from"styled-components";export{useAsync,useAsyncCallback}from"react-async-hook";import"sweetalert2/dist/sweetalert2.js";import"sweetalert2-react-content";import"react/jsx-runtime";import"react";import"react-bootstrap";import"lodash";import"axios";import"query-string";import"retry-axios";import"rc-notification";import"classnames";import"use-url-search-params";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@topthink/components",
3
- "version": "1.0.70",
3
+ "version": "1.0.72",
4
4
  "scripts": {
5
5
  "prebuild": "rimraf es types",
6
6
  "build": "rollup -c --environment NODE_ENV:production",
@@ -29,7 +29,7 @@
29
29
  "rc-notification": "^4.5.2",
30
30
  "rc-steps": "^4.1.4",
31
31
  "rc-table": "^7.31.1",
32
- "react-async-hook": "^3.6.2",
32
+ "react-async-hook": "^4.0.0",
33
33
  "react-medium-image-zoom": "^5.1.6",
34
34
  "retry-axios": "^2.6.0",
35
35
  "styled-components": "^5.3.0",
@@ -64,5 +64,5 @@
64
64
  },
65
65
  "author": "yunwuxin <tzzhangyajun@qq.com> (https://github.com/yunwuxin)",
66
66
  "license": "MIT",
67
- "gitHead": "2ae5d03102bfac20cbe565a8e23f0f73b2e7e526"
67
+ "gitHead": "9aaaa70562ba9099cbd91590fce7dc9e9cc043d3"
68
68
  }
@@ -1,5 +1,5 @@
1
- import { ModalButtonProps } from './modal-button';
2
- import { ReactNode } from 'react';
1
+ import { ModalButtonProps, ModalType } from './modal-button';
2
+ import { ForwardRefExoticComponent, PropsWithoutRef, ReactNode, RefAttributes } from 'react';
3
3
  import { FormProps } from './form';
4
4
  export interface ModalFormProps<T = any> extends FormProps<T> {
5
5
  text: ReactNode;
@@ -7,4 +7,6 @@ export interface ModalFormProps<T = any> extends FormProps<T> {
7
7
  modalProps?: ModalButtonProps['modalProps'];
8
8
  children?: ReactNode;
9
9
  }
10
- export default function ModalForm<T = any>({ text, onSuccess, buttonProps, modalProps, children, ...props }: ModalFormProps<T>): JSX.Element;
10
+ type ModalFormType = ForwardRefExoticComponent<PropsWithoutRef<ModalFormProps> & RefAttributes<ModalType>>;
11
+ declare const ModalFrom: ModalFormType;
12
+ export default ModalFrom;