@topthink/components 1.0.78 → 1.0.79
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/es/{index-ay0UACAO.js → index-JPBwWD4C.js} +1 -1
- package/es/{index-7FvyDh2h.js → index-KZ7krYDI.js} +1 -1
- package/es/index-SH76O1rQ.js +1 -0
- package/es/{index-kWp6EVXg.js → index-hjOeghvZ.js} +4 -4
- package/es/index.js +1 -1
- package/es/infinite-scroller--Y2xNyLv.js +1 -0
- package/package.json +3 -2
- package/types/components/card-list.d.ts +1 -0
- package/types/components/infinite-scroller.d.ts +4 -0
- package/types/components/lazy/infinite-scroller.d.ts +18 -0
- package/types/components/lazy/lightbox/index.d.ts +3 -1
- package/types/index.d.ts +1 -0
- package/es/index-gYTBuYWX.js +0 -1
|
@@ -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 o}from"react-dom";import{FormControl as a,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 p,useCallback as u,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-
|
|
1
|
+
import{jsx as e,jsxs as t,Fragment as r}from"react/jsx-runtime";import n from"rc-table";import{unstable_batchedUpdates as o}from"react-dom";import{FormControl as a,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 p,useCallback as u,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-hjOeghvZ.js";import N from"styled-components";import H from"./index-KZ7krYDI.js";import"sweetalert2/dist/sweetalert2.js";import"sweetalert2-react-content";import"axios";import"query-string";import"retry-axios";import"rc-notification";import"path";import"classnames";import"copy-to-clipboard";import"react-async-hook";import"immer";import"@topthink/json-form";const q=function(t){let{indeterminate:r=!1,...n}=t;const o=m(null);return h((()=>{o.current&&(o.current.indeterminate=r)}),[r]),e("input",{ref:o,...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:o,columns:a,onSearch:i}=r;const[c,s]=p(0),[d,m]=p(n);h((()=>{l(n,d)||(m(n),s((e=>e+1)))}),[n]);const[g,v,y]=f((()=>{const e={"ui:col":10,"ui:order":o.order},t={},r={};o.fields.forEach((n=>{const i=a.find((e=>e.dataIndex===n));if(i){const a=i.title;if("string"==typeof a){if(e[n]={"ui:col":4,"ui:labelCol":3,"ui:placeholder":"请输入",...o.ui?.[n]},i.valueEnum){const t=i.valueEnum;return e[n]["ui:placeholder"]="请选择",r[n]={title:a,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:a,type:"string"}}}})),o.extraFields&&Object.entries(o.extraFields).forEach((n=>{let[a,i]=n;e[a]={"ui:col":4,"ui:labelCol":3,"ui:placeholder":"请输入",...o.ui?.[a]},t[a]=void 0,r[a]={title:i,type:"string"}}));return[{type:"object",properties:r},e,t]}),[o.fields,o.extraFields]),x=u((e=>{let{formData:t}=e;m(t),i({...y,...t})}),[i,y]),w=u((()=>{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[o,i]=p(r),c=x(n,500);h((()=>{i(r)}),[r]);const l=u((e=>{i(e.target.value),c(e.target.value)}),[c,i]);return e(a,{value:o,onChange:l,type:"search",placeholder:"Search..."})}const _=N.thead`
|
|
4
4
|
th {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import o,{getRegistry as r}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 p,r as m,B as l}from"./index-
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import o,{getRegistry as r}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 p,r as m,B as l}from"./index-hjOeghvZ.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"path";import"styled-components";import"classnames";import"use-url-search-params";import"copy-to-clipboard";import"react-async-hook";import"immer";const d=require("ajv-i18n/localize/zh"),u=a.lazy((()=>import("./editor-widget-CQ3zv-Xu.js"))),f=o=>t(a.Suspense,{fallback:null,children:t(u,{...o})}),h={upload:function(o){let{options:a,...e}=o;const{widgets:n}=r();return a.endpoint&&(a.onUpload=async t=>{const o=new FormData;o.set("file",t);const{url:r,value:e}=await m({url:a.endpoint,method:"post",data:o});return{url:r,value:e}}),t(n.upload,{...e,options:a})},avatar:function(o){let{options:a,...e}=o;const{widgets:n}=r();return a.endpoint&&(a.onUpload=async t=>{const o=new FormData;o.set("file",t);const{url:r}=await m({url:a.endpoint,method:"post",data:o});return r}),t(n.avatar,{...e,options:a})},editor:function(o){let{options:r,...a}=o;return r.endpoint&&(r.onUpload=async t=>{const o=new FormData;o.set("file",t);const{url:a}=await m({url:r.endpoint,method:"post",data:o});return a}),t(f,{...a,options:r})},typeahead:function(o){let{options:a,...e}=o;const{widgets:n}=r();return a.endpoint&&(a.onSearch=async t=>{let{value:o,query:r}=t;return await m({url:a.endpoint,params:{value:o,query:r}})}),t(n.typeahead,{...e,options:a})}},y=e(((r,a)=>{let{action:e,method:u="post",onSuccess:f,formData:y,onSubmitting:w,onSubmit:g,onChange:b,submitText:v="提交",transformData:x,children:D,...j}=r;const[S,k]=n(),[q,_]=p(!1),[z,E]=n(y),F=i((async(t,o)=>{if(!q)try{if(_(!0),w&&w(!0),e){let{formData:o}=t;x&&(o=x(o));try{const t=await m({url:e,method:u,data:o});return k(void 0),f&&await f(t),t}catch(t){if(!s.isAxiosError(t))throw t;k((t=>{const o=t.errors;return"string"==typeof o?{__errors:[o]}:c(o,(t=>({__errors:[t]})))})(t))}}else if(g)return await g(t,o)}finally{_(!1),w&&w(!1)}}),[e,u,g]),U=i((t=>{const{formData:o}=t;E(o),b&&b(t)}),[E,b]),C=i((t=>(t=t.map((t=>({keyword:t.name,dataPath:t.property,...t}))),d(t),t)),[]),N=t(l,{className:"px-4",loading:q,type:"submit",variant:"primary",children:v});return"function"==typeof D&&(D=D({submit:N,loading:q})),t(o,{ref:a,extraErrors:S,onSubmit:F,transformErrors:C,noHtml5Validate:!0,noValidate:!0,...j,formData:z,onChange:U,widgets:h,children:D||t("div",{className:"col-12",children:N})})}));export{y as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsxs as t,jsx as e}from"react/jsx-runtime";import{useState as o,useCallback as r}from"react";import n from"yet-another-react-lightbox";import i from"yet-another-react-lightbox/plugins/counter";import l from"yet-another-react-lightbox/plugins/download";import a from"yet-another-react-lightbox/plugins/zoom";import s from"yet-another-react-lightbox/plugins/thumbnails";import"yet-another-react-lightbox/styles.css";import"yet-another-react-lightbox/plugins/counter.css";import"yet-another-react-lightbox/plugins/thumbnails.css";import{I as c}from"./context-jiLXU49j.js";const m={counter:i,zoom:a,download:l,thumbnails:s};function u(i){let{children:l,plugins:a=["counter","zoom","download"]}=i;const[s,u]=o((()=>new Map)),[p,g]=o(),[h,d]=o(!1),b=r(((t,e)=>(u((o=>new Map(o).set(t,e))),()=>{u((e=>{const o=new Map(e);return o.delete(t)?o:e}))})),[]),x=Array.from(s.keys()),f=x.indexOf(p),y=x.map((t=>({src:s.get(t)})));return t(c.Provider,{value:{images:s,current:p,setCurrent:g,setShow:d,registerImage:b},children:[l,e(n,{styles:{container:{backgroundColor:"rgba(0, 0, 0, .7)"}},plugins:a.map((t=>m[t])),open:h,index:f,close:()=>d(!1),slides:y,render:{buttonPrev:y.length<=1?()=>null:void 0,buttonNext:y.length<=1?()=>null:void 0},controller:{closeOnBackdropClick:!0}})]})}export{u as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import e from"sweetalert2/dist/sweetalert2.js";import t from"sweetalert2-react-content";import{jsx as n,jsxs as r,Fragment as o}from"react/jsx-runtime";import{useRef as i,useState as a,useEffect as c,createContext as s,Fragment as l,useContext as d,useCallback as u,useMemo as f,forwardRef as m,Children as h,lazy as p,Suspense as g,createElement as y,useImperativeHandle as b,memo as x}from"react";import{OverlayTrigger as v,Tooltip as w,Spinner as k,Button as C,Modal as N,Alert as S,Card as z,Pagination as j,Offcanvas as T,Row as B,Col as P}from"react-bootstrap";import{uniqueId as $,values as H,debounce as E}from"lodash";import F from"axios";import A from"query-string";import*as L from"retry-axios";import D from"rc-notification";import M from"path";import O,{css as _}from"styled-components";import I from"classnames";import{useUrlSearchParams as U}from"use-url-search-params";import R from"copy-to-clipboard";import{useAsyncCallback as q}from"react-async-hook";import{freeze as G,produce as V}from"immer";const
|
|
1
|
+
import e from"sweetalert2/dist/sweetalert2.js";import t from"sweetalert2-react-content";import{jsx as n,jsxs as r,Fragment as o}from"react/jsx-runtime";import{useRef as i,useState as a,useEffect as c,createContext as s,Fragment as l,useContext as d,useCallback as u,useMemo as f,forwardRef as m,Children as h,lazy as p,Suspense as g,createElement as y,useImperativeHandle as b,memo as x}from"react";import{OverlayTrigger as v,Tooltip as w,Spinner as k,Button as C,Modal as N,Alert as S,Card as z,Pagination as j,Offcanvas as T,Row as B,Col as P}from"react-bootstrap";import{uniqueId as $,values as H,debounce as E}from"lodash";import F from"axios";import A from"query-string";import*as L from"retry-axios";import D from"rc-notification";import M from"path";import O,{css as _}from"styled-components";import I from"classnames";import{useUrlSearchParams as U}from"use-url-search-params";import R from"copy-to-clipboard";import{useAsyncCallback as q}from"react-async-hook";import{freeze as G,produce as V}from"immer";const J=t(e),K={confirmButtonText:"确定",cancelButtonText:"取消"},Y={confirm:async e=>{const{isConfirmed:t}=await J.fire({...K,icon:"warning",showCancelButton:!0,...e,async preConfirm(t){if(e.preConfirm)try{return await e.preConfirm(t)}catch(e){return e instanceof Error&&J.showValidationMessage(e.message),!1}return!0}});return t},success:e=>{J.fire({...K,toast:!0,position:"top",icon:"success",timer:2e3,showConfirmButton:!1,...e})},error:e=>{J.fire({...K,toast:!0,position:"top",icon:"error",timer:5e3,showConfirmButton:!1,...e})},close:e=>{J.close(e)},defaults:K};const Q=s({});function W(e){return t=>{let{resolve:r,destroy:o,message:s}=t;const[l,m]=function(e){const t=i(null),[n,r]=a(e);return c((()=>{t.current&&(t.current(),t.current=null)}),[n]),[n,(e,n)=>{t.current="function"==typeof n?n:null,r(e)}]}(!0),h=d(Q),p=u((e=>{m(!1,(()=>{r(e)}))}),[m,r]),g=f((()=>({show:l,onHide:()=>p(),onExited:()=>o(),container:h.container})),[l,p,o]);return n(e,{resolve:p,state:g,message:s})}}function X(e){return t=>new Promise((r=>{const o=n(e,{resolve:r,destroy:()=>{ne(o)},message:t});te(o)}))}let Z=()=>{},ee=new Set;const te=e=>{ee=new Set(ee),ee.add(e),Z(ee)},ne=e=>{ee=new Set(ee),ee.delete(e),Z(ee)};function re(e,t){return X(W(e))(t)}function oe(e){let{tooltip:t,children:r,placement:o="bottom"}=e;return n(v,{placement:o,overlay:n(w,{id:$(),children:t}),children:r})}const ie=s(!1),ae=m(((e,t)=>{let{loading:i,percent:a,disabled:c,children:s,tooltip:l,variant:u,...f}=e;d(ie)&&!u&&(u="link"),i&&(c=!0,s=r(o,{children:[n(k,{ref:t,as:"span",size:"sm",role:"status","aria-hidden":"true",animation:"border"}),a?r("span",{className:"ms-2",children:[a,"%"]}):null]}));const m=n(C,{ref:t,...f,variant:u,disabled:c,children:s});return l?n(oe,{tooltip:l,children:n("span",{className:"d-inline-block",children:m})}):m})),ce=function(e){let{state:t,message:{title:o,message:i,okText:a,cancelText:c},resolve:s}=e;return r(N,{...t,children:[n(N.Header,{children:n(N.Title,{as:"h5",children:o||"确认"})}),n(N.Body,{children:i}),r(N.Footer,{children:[n(ae,{variant:"secondary",onClick:()=>s(),children:c||"取消"}),n(ae,{onClick:()=>s(!0),children:a||"确定"})]})]})};const se=e=>{let{header:t,children:i,footer:c,closable:s=!0,show:l,cancelText:d="取消",okText:u="确定",onOk:m,onCancel:h,onHide:p,okButtonProps:g,bodyAs:y,headerAs:b="h5",confirmLoading:x=!1,...v}=e;const[w,k]=a(!1),C=f((()=>n(ae,{loading:w||x,variant:"primary",onClick:async e=>{k(!0);try{await(m?.(e)),e.defaultPrevented||p?.()}finally{k(!1)}},...g,children:u})),[g,u,m,p,w,x]),S=f((()=>n(ae,{variant:"secondary",onClick:e=>{h?.(e),e.defaultPrevented||p?.()},children:d})),[h,p,d]);switch(typeof c){case"undefined":c=r(o,{children:[S,C]});break;case"function":c=c({okButton:C,cancelButton:S})}return r(N,{...v,onHide:p,show:l,children:[t&&n(N.Header,{closeButton:s,children:n(N.Title,{as:b,children:t})}),n(N.Body,{as:y,children:i}),c&&n(N.Footer,{children:c})]})};let le;se.Message=function(e){const[t,r]=a(ee);return c((()=>{Z=r}),[]),n(Q.Provider,{value:e,children:Array.from(t).map(((e,t)=>n(l,{children:e},`message-${t}`)))})},se.confirm=function(e){return X(W(ce))(e)},se.show=re;const de={};const ue=e=>{let{type:t,...r}=e;!function(e){if(le)return e(le);D.newInstance({...de,prefixCls:"notification",maxCount:5,style:{top:20,right:20}},(t=>{le?e(le):(le=t,e(t))}))}((e=>{r.duration=3;let o=t;if("error"===t)o="danger",r.duration=r.closable?0:5;r.content=n(S,{variant:o,children:r.content}),e.notice(r)}))},fe=["error","success","info"].reduce(((e,t)=>(e[t]=(e,n)=>{ue({...n,type:t,content:e})},e)),{});function me(e){return e&&"object"==typeof e}fe.defaults=de,L.attach(),F.defaults.raxConfig={retryDelay:2e3,backoffType:"static",shouldRetry:e=>{let{config:t,response:n}=e;return!(t.raxConfig?.retryDecider&&!t.raxConfig.retryDecider())&&("GET"===t.method?.toUpperCase()&&449===n?.status)}},F.defaults.maxContentLength=1/0,F.defaults.maxBodyLength=1/0,F.defaults.baseURL="/api",F.defaults.authTokenName="authorization",F.interceptors.request.use((e=>{const t=e.authTokenName;if(t){const n=localStorage.getItem(t);n&&(e.headers={Authorization:`Bearer ${n}`,...e.headers})}return e}),(e=>Promise.reject(e))),F.interceptors.response.use((e=>(201===e.status&&e.data.location&&(window.location.href=e.data.location,e.data=void 0),e)),(e=>{if(F.isAxiosError(e)&&e.response){const{data:t,status:n}=e.response;401===n?(e.errors="Unauthorized",fe.error("Unauthorized")):me(t)?422===n?e.errors=t:"message"in t&&(e.errors=t.message):e.errors=t}return Promise.reject(e)}));const he=F.isAxiosError,pe=e=>{if(!F.isAxiosError(e))throw e;{let t=e.errors;"string"!=typeof e.errors&&(t=Object.values(e.errors).join("<br />")),fe.error(t)}},ge=async function(e){e="string"==typeof e?{url:e}:e;const{data:t}=await F.request({paramsSerializer:function(e){return A.stringify(e,{sort:!1,skipNull:!0,skipEmptyString:!0,arrayFormat:"bracket"})},...e});return t};ge.defaults=F.defaults,ge.interceptors=F.interceptors;const ye=()=>{const e=i(!1);return c((()=>(e.current=!1,()=>{e.current=!0})),[]),e};function be(e){const t=ye(),[n,r]=a(e);return[n,u((e=>{t.current||r(e)}),[])]}const xe=function(e){let{state:t,message:r,resolve:o}=e;const a=i(!0),{result:s,checkUrl:l,onComplete:d}=r,[u,f]=be(!1);return c((()=>{ge({url:l,method:"post",data:{order_no:s.order_no},raxConfig:{shouldRetry:e=>a.current&&449===e.response?.status}}).then((()=>{d?.(),o()})).catch((()=>null))}),[]),n(se,{...t,centered:!0,onHide:()=>{a.current=!1,t.onHide()},backdrop:"static",header:"支付结果",okText:"已完成支付",okButtonProps:{loading:u},onOk:async e=>{e.preventDefault();try{f(!0),await ge({url:l,method:"post",data:{order_no:s.order_no},raxConfig:{shouldRetry:()=>!1}}),d?.(),o()}catch{}finally{f(!1)}},cancelText:"取消",children:"请在新打开的页面上进行支付,支付完成后再关闭此窗口"})};function ve(e){const{result:t}=e;window.open(t.pay_url),re(xe,e)}function we(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return e>=1024**3?(e/1024**3).toFixed(t)+"G":e>=1048576?(e/1048576).toFixed(t)+"M":(e/1024).toFixed(t)+"K"}function ke(e){const t=M.extname(e);return!(!/^data:image\//.test(e)&&!/(webp|svg|png|gif|jpg|jpeg|jfif|bmp|dpg|ico)$/i.test(t))||!/^data:/.test(e)&&!t}function Ce(e){const t=document.createElement("a");return t.href=e,t.href}const Ne=O.div`
|
|
2
2
|
padding: 48px 32px;
|
|
3
3
|
`,Se=O.div`
|
|
4
4
|
margin-bottom: 24px;
|
|
@@ -63,10 +63,10 @@ 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 Ve(){}function
|
|
66
|
+
`;function Ve(){}function Je(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e}function Ke(e){return"current_page"in e}function Ye(e){let{total:t=0,onChange:r=Ve,defaultCurrent:o=1,defaultPageSize:i=10,className:s,...l}=e;const[d,m]=a(o),[h,p]=a(i);c((()=>{Je(l.current)&&m(l.current)}),[l.current]),c((()=>{Je(l.pageSize)&&p(l.pageSize)}),[l.pageSize]);const g=f((()=>Math.floor((t-1)/h)+1),[t,h]),y=u((e=>()=>{e!==d&&(m(e),r(e,h))}),[r,d,h]),b=d-1>0?d-1:0,x=d+1<g?d+1:g,v=[];let w=null,k=null,C=null,N=null;if(g<=7)for(let e=1;e<=g;e+=1){const t=d===e;v.push(n(j.Item,{active:t,onClick:y(e),children:e},e))}else{N=n(j.Last,{onClick:y(g)},"last"),C=n(j.First,{onClick:y(1)},"first"),w=n(j.Prev,{onClick:y(b)},"prev"),k=n(j.Next,{onClick:y(x)},"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;v.push(n(j.Item,{active:e,onClick:y(r),children:r},r))}d-1>=4&&3!==d&&v.unshift(w),g-d>=4&&d!==g-2&&v.push(k),1!==e&&v.unshift(C),t!==g&&v.push(N)}return n(j,{className:s,children:v})}function Qe(e){let{className:t,value:r,locale:i="zh-CN",currency:a=!0,options:c={}}=e;const s=f((()=>{let e;return e=a?{style:"currency",currency:"CNY"}:{minimumFractionDigits:2},new Intl.NumberFormat(i,{...e,...c})}),[a,i,c]);return t?n("span",{className:t,children:s.format(r)}):n(o,{children:s.format(r)})}function We(e){let{loading:t,disabled:r,children:o,...i}=e;return n(C,{...i,disabled:t||r,children:t?"Loading…":o})}const Xe=p((()=>import("./image-zoom-OrIPGqh0.js")));function Ze(e){return n(g,{fallback:null,children:n(Xe,{...e})})}function et(e){let{url:t,method:n,confirm:r,onSuccess:o,children:i,disabled:a,as:c=ae,...s}=e;const[l,d]=be(!1),f=u((async e=>{e.preventDefault();try{if(d(!0),r&&!await se.confirm({message:r}))return;const e="string"==typeof t?{url:t,method:n}:{method:n,...t},i=await ge(e);o&&o(i)}catch(e){pe(e)}finally{d(!1)}}),[t,n,d]);return y(c,{...s,disabled:a||l,onClick:f},i)}const tt=p((()=>import("./index-KZ7krYDI.js"))),nt=m(((e,t)=>n(g,{fallback:null,children:n(tt,{...e,ref:t})}))),rt=p((()=>import("./index-JPBwWD4C.js"))),ot=m(((e,t)=>n(g,{fallback:null,children:n(rt,{...e,ref:t})})));let it=0;function at(){let{onHide:e,onShow:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const[n,r]=a(!1),[o,i]=a(`visible-${it}`),c=u((()=>{r(!1),e&&e()}),[r,e]),s=u((()=>{i("visible-"+ ++it)}),[i,it]);return{visible:n,show:u((()=>{r(!0),t&&t()}),[r,t]),hide:c,state:{show:n,onHide:c,onExited:s,key:o}}}const ct=m(((e,t)=>{let{text:i,onOk:a,modalProps:c,children:s,onShow:l,onHide:d,confirmLoading:u,as:f=ae,...m}=e;const{state:h,show:p,hide:g}=at({onShow:l,onHide:d});b(t,(()=>({close:g})));const x=y(f,{...m,onClick:p},i);return r(o,{children:[x,n(se,{header:i,...c,...h,confirmLoading:u,onOk:async e=>{if(a){!1===await a()&&e.preventDefault()}},children:s})]})})),st=m(((e,t)=>{let{text:o,onSuccess:c,onSubmit:s,buttonProps:l,modalProps:d,children:f,...m}=e;const[h,p]=a(!1),g=i(null),y=i(null);b(t,(()=>({close:()=>{g.current?.close()}})));const x=u((()=>(y.current?.submit(),!1)),[]),v=u((e=>{c&&c(e),g.current?.close()}),[c]),w=u((async(e,t)=>{s&&await s(e,t)&&g.current?.close()}),[s]);return n(ct,{ref:g,text:o,...l,modalProps:d,onOk:x,confirmLoading:h,children:r(nt,{...m,onSubmitting:p,ref:y,onSuccess:v,onSubmit:w,children:[f,n("input",{type:"submit",hidden:!0})]})})}));function lt(e){let{header:t,children:o,closable:i=!0,show:a,onHide:c,bodyAs:s,headerAs:l="h5",...d}=e;return r(T,{...d,onHide:c,show:a,children:[t&&n(T.Header,{closeButton:i,children:n(T.Title,{as:l,children:t})}),n(T.Body,{as:s,children:o})]})}const dt=m(((e,t)=>{let{text:i,offcanvasProps:a,children:c,onShow:s,onHide:l,as:d=ae,...u}=e;const{state:f,show:m,hide:h}=at({onShow:s,onHide:l});b(t,(()=>({close:h})));const p=y(d,{...u,onClick:m},i);return r(o,{children:[p,n(lt,{header:i,...a,...f,children:c})]})}));function ut(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const n=i(e);return c((()=>{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 ft(e){const{value:t,defaultValue:n,onChange:r,shouldUpdate:o=((e,t)=>e!==t)}=e,i=ut(r),c=ut(o),[s,l]=a(n),d=void 0!==t,u=d?t:s,f=ut((e=>{const t="function"==typeof e?e(u):e;c(u,t)&&(d||l(t),i(t))}),[d,i,u,c]);return[u,f]}const mt=m(((e,t)=>{let{className:o,rowClassName:s,paginate:l=!0,sync:d=!1,columns:f=3,source:m,renderItem:h,renderEmpty:p}=e;const[g,y]=a([]),[x,v]=a(l?{total:0,current:1,pageSize:10}:null),[w,k]=a(!0),[C,N]=U({}),[S,z]=ft({value:d?C.page||1:void 0,defaultValue:1,onChange:e=>{d&&N({page:e||void 0})}}),j=u((async function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0]||k(!0);try{let e;const t={page:S>1?S:void 0};e="string"==typeof m?await ge({url:m,params:t}):await m(t),l&&Ke(e)&&(e.last_page>1&&v({total:e.total,current:e.current_page,pageSize:e.per_page}),e=e.data),y(e)}catch(e){}finally{k(!1)}}),[m,y,S]);c((()=>{j()}),[S]),c((()=>{T.current={reload:j}}),[j]);const T=i({reload:j});return b(t,(()=>T.current)),r(ht,{className:o,children:[n($e,{wrap:!0,loading:w}),0===g.length&&!w&&p?.(),n(B,{className:s,children:g.map(((e,t)=>n(P,{className:"d-flex",md:12/f,children:h(e)},`card-${t}`)))}),x&&n(pt,{...x,onChange:z})]})})),ht=O.div`
|
|
67
67
|
|
|
68
|
-
`,pt=O(
|
|
68
|
+
`,pt=O(Ye)`
|
|
69
69
|
margin-bottom: 0;
|
|
70
70
|
justify-content: flex-end;
|
|
71
71
|
margin-top: 1rem;
|
|
72
|
-
`;var gt=x(mt);function yt(e){let{as:t="div",className:r,content:o,tooltip:s=!0,placement:l}=e;const[d,u]=a(!1),f=i();c((()=>()=>{f.current&&clearTimeout(f.current)}),[]);const m=s?n("i",d?{className:"bi bi-clipboard-check"}:{className:"bi bi-clipboard"}):d?"已复制":"复制",h=y(t,{role:"button",className:r,onClick:()=>{"function"==typeof o&&(o=o()),R(o),u(!0),f.current&&clearTimeout(f.current),f.current=setTimeout((()=>{u(!1),f.current=void 0}),3e3)}},m);return s?n(oe,{tooltip:d?"已复制":"复制",placement:l,children:h}):h}const bt=p((()=>import("./index-
|
|
72
|
+
`;var gt=x(mt);function yt(e){let{as:t="div",className:r,content:o,tooltip:s=!0,placement:l}=e;const[d,u]=a(!1),f=i();c((()=>()=>{f.current&&clearTimeout(f.current)}),[]);const m=s?n("i",d?{className:"bi bi-clipboard-check"}:{className:"bi bi-clipboard"}):d?"已复制":"复制",h=y(t,{role:"button",className:r,onClick:()=>{"function"==typeof o&&(o=o()),R(o),u(!0),f.current&&clearTimeout(f.current),f.current=setTimeout((()=>{u(!1),f.current=void 0}),3e3)}},m);return s?n(oe,{tooltip:d?"已复制":"复制",placement:l,children:h}):h}const bt=p((()=>import("./index-SH76O1rQ.js"))),xt=p((()=>import("./image-GvVhZYp9.js")));function vt(e){return n(g,{fallback:null,children:n(bt,{...e})})}vt.Image=function(e){return n(g,{fallback:null,children:n(xt,{...e})})};const wt=p((()=>import("./infinite-scroller--Y2xNyLv.js"))),kt=m(((e,t)=>n(g,{fallback:null,children:n(wt,{...e,ref:t})})));function Ct(e){let{manual:t,refreshDeps:n,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{execute:o,currentParams:i,error:a,...s}=q((async t=>(e="string"==typeof e?{url:e}:e,await ge({...e,...t}))),r);c((()=>{if(!t&&!n)try{o()}catch{}}),[]),c((()=>{n&&l()}),n);const l=u((async()=>{try{i?await o(...i):await o()}catch{}}),[o,i]);if(a&&he(a)){const e=a.errors;a=new Error("string"==typeof e?e:H(e).join(""))}return{refresh:l,execute:o,error:a,...s}}function Nt(e,t,n){const r=i(e),o=i(E(e,t,n));return c((()=>{r.current=e})),c((()=>{o.current=E((function(){r.current(...arguments)}),t,n)}),[t,n]),o.current}function St(e){const[t,n]=a((()=>G("function"==typeof e?e():e,!0)));return[t,u((e=>{n("function"==typeof e?V(e):G(e))}),[])]}export{Ct as A,ae as B,Ee as C,at as D,Fe as E,nt as F,St as G,he as H,Ze as I,pe as J,$e as L,Y as M,Qe as N,dt as O,Ye as P,Be as R,Ae as S,ie as T,ft as a,be as b,fe as c,me as d,ke as e,we as f,Ce as g,_e as h,Ke as i,Ie as j,Ue as k,We as l,et as m,ot as n,st as o,ct as p,se as q,ge as r,lt as s,oe as t,Nt as u,gt as v,ve as w,yt as x,vt as y,kt as z};
|
package/es/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{B as Button,C as Card,v as CardList,x as Clipboard,E as Error,F as Form,I as ImageZoom,y as Lightbox,L as Loader,l as LoadingButton,M as Message,q as Modal,p as ModalButton,o as ModalForm,N as NumberFormat,s as Offcanvas,O as OffcanvasButton,P as Pagination,m as RequestButton,R as Result,S as Space,k as Statistic,j as Step,h as Steps,n as Table,c as Toast,t as Tooltip,f as formatSize,g as getAbsoluteUrl,e as isImageUrl,d as isRecord,
|
|
1
|
+
export{B as Button,C as Card,v as CardList,x as Clipboard,E as Error,F as Form,I as ImageZoom,z as InfiniteScroller,y as Lightbox,L as Loader,l as LoadingButton,M as Message,q as Modal,p as ModalButton,o as ModalForm,N as NumberFormat,s as Offcanvas,O as OffcanvasButton,P as Pagination,m as RequestButton,R as Result,S as Space,k as Statistic,j as Step,h as Steps,n as Table,c as Toast,t as Tooltip,f as formatSize,g as getAbsoluteUrl,e as isImageUrl,d as isRecord,H as isRequestError,r as request,J as showRequestError,a as useControllableState,u as useDebounce,G as useImmer,D as useOverlayState,A as useRequest,b as useSafeState,w as waitPayComplete}from"./index-hjOeghvZ.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"path";import"classnames";import"use-url-search-params";import"copy-to-clipboard";import"immer";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import{memo as t,forwardRef as e,useState as o,useCallback as a,useRef as i,useEffect as s,useImperativeHandle as p}from"react";import c from"react-infinite-scroller";import{r as m,i as n}from"./index-hjOeghvZ.js";import"sweetalert2/dist/sweetalert2.js";import"sweetalert2-react-content";import"react-bootstrap";import"lodash";import"axios";import"query-string";import"retry-axios";import"rc-notification";import"path";import"styled-components";import"classnames";import"use-url-search-params";import"copy-to-clipboard";import"react-async-hook";import"immer";var l=t(e(((t,e)=>{let{source:l,render:u}=t;const[d,f]=o(!1),[y,g]=o(1),[h,b]=o(!1),[w,x]=o({}),j=a((async function(){let r=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!d){f(!0);try{let t;const e={page:y>1?r?y+1:y:void 0};t="string"==typeof l?await m({url:l,params:e}):await l(e),n(t)?(x({...w,[t.current_page]:t.data}),g(t.current_page),b(t.current_page>=t.last_page)):(x({...w,[y]:t}),b(!0))}finally{f(!1)}}}),[l,y]),_=i({reload:j});s((()=>{_.current={reload:j}}),[j]),p(e,(()=>_.current));const v=Object.keys(w).sort(((r,t)=>Number(r)-Number(t))).reduce(((r,t)=>[...r,...w[t]]),[]);return r(c,{hasMore:!h,loadMore:()=>{j(!0)},children:u({data:v,action:_.current})})})));export{l as default};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@topthink/components",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.79",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"prebuild": "rimraf es types",
|
|
6
6
|
"build": "rollup -c --environment NODE_ENV:production",
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
"rc-steps": "^4.1.4",
|
|
33
33
|
"rc-table": "^7.31.1",
|
|
34
34
|
"react-async-hook": "^4.0.0",
|
|
35
|
+
"react-infinite-scroller": "^1.2.6",
|
|
35
36
|
"react-medium-image-zoom": "^5.1.6",
|
|
36
37
|
"retry-axios": "^2.6.0",
|
|
37
38
|
"styled-components": "^5.3.0",
|
|
@@ -67,5 +68,5 @@
|
|
|
67
68
|
},
|
|
68
69
|
"author": "yunwuxin <tzzhangyajun@qq.com> (https://github.com/yunwuxin)",
|
|
69
70
|
"license": "MIT",
|
|
70
|
-
"gitHead": "
|
|
71
|
+
"gitHead": "a300c1e72f86a009d8c0b662ab73458b69cac31a"
|
|
71
72
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ForwardRefExoticComponent, PropsWithChildren, PropsWithoutRef, ReactNode, RefAttributes } from 'react';
|
|
2
|
+
type Params = {
|
|
3
|
+
page?: number;
|
|
4
|
+
[key: string]: any;
|
|
5
|
+
};
|
|
6
|
+
export interface InfiniteScrollerType {
|
|
7
|
+
reload: () => void;
|
|
8
|
+
}
|
|
9
|
+
interface Props<RecordType> {
|
|
10
|
+
source: string | ((params: Params) => Promise<RecordType>);
|
|
11
|
+
render: (props: {
|
|
12
|
+
data: RecordType[];
|
|
13
|
+
action: InfiniteScrollerType;
|
|
14
|
+
}) => ReactNode;
|
|
15
|
+
}
|
|
16
|
+
export type CustomInfiniteScrollerType<T = any> = ForwardRefExoticComponent<PropsWithoutRef<PropsWithChildren<Props<T>>> & RefAttributes<InfiniteScrollerType>>;
|
|
17
|
+
declare const _default: CustomInfiniteScrollerType<any>;
|
|
18
|
+
export default _default;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import 'yet-another-react-lightbox/styles.css';
|
|
3
3
|
import 'yet-another-react-lightbox/plugins/counter.css';
|
|
4
|
+
import 'yet-another-react-lightbox/plugins/thumbnails.css';
|
|
4
5
|
interface Props {
|
|
5
6
|
children: ReactNode;
|
|
7
|
+
plugins?: ('counter' | 'zoom' | 'download' | 'thumbnails')[];
|
|
6
8
|
}
|
|
7
|
-
export default function Lightbox({ children }: Props): JSX.Element;
|
|
9
|
+
export default function Lightbox({ children, plugins }: Props): JSX.Element;
|
|
8
10
|
export {};
|
package/types/index.d.ts
CHANGED
|
@@ -30,6 +30,7 @@ export { default as Tooltip } from './components/tooltip';
|
|
|
30
30
|
export { default as CardList, CardListType } from './components/card-list';
|
|
31
31
|
export { default as Clipboard } from './components/clipboard';
|
|
32
32
|
export { default as Lightbox } from './components/lightbox';
|
|
33
|
+
export { default as InfiniteScroller, InfiniteScrollerType } from './components/infinite-scroller';
|
|
33
34
|
export { default as useRequest } from './hooks/use-request';
|
|
34
35
|
export { default as useOverlayState } from './hooks/use-overlay-state';
|
|
35
36
|
export { default as useControllableState } from './hooks/use-controllable-state';
|
package/es/index-gYTBuYWX.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{jsxs as t,jsx as e}from"react/jsx-runtime";import{useState as r,useCallback as o}from"react";import n from"yet-another-react-lightbox";import i from"yet-another-react-lightbox/plugins/counter";import l from"yet-another-react-lightbox/plugins/download";import a from"yet-another-react-lightbox/plugins/zoom";import"yet-another-react-lightbox/styles.css";import"yet-another-react-lightbox/plugins/counter.css";import{I as s}from"./context-jiLXU49j.js";function c(c){let{children:m}=c;const[p,u]=r((()=>new Map)),[g,h]=r(),[d,x]=r(!1),f=o(((t,e)=>(u((r=>new Map(r).set(t,e))),()=>{u((e=>{const r=new Map(e);return r.delete(t)?r:e}))})),[]),b=Array.from(p.keys()),y=b.indexOf(g),v=b.map((t=>({src:p.get(t)})));return t(s.Provider,{value:{images:p,current:g,setCurrent:h,setShow:x,registerImage:f},children:[m,e(n,{styles:{container:{backgroundColor:"rgba(0, 0, 0, .7)"}},plugins:[i,l,a],open:d,index:y,close:()=>x(!1),slides:v,render:{buttonPrev:v.length<=1?()=>null:void 0,buttonNext:v.length<=1?()=>null:void 0},controller:{closeOnBackdropClick:!0}})]})}export{c as default};
|