@topthink/components 1.1.11 → 1.1.13

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.
@@ -0,0 +1 @@
1
+ import{jsx as t,Fragment as r}from"react/jsx-runtime";import{memo as e,useContext as i,useState as o,useEffect as s}from"react";import{I as a}from"./index-6uEffkau.js";import{useInView as m}from"react-intersection-observer";import"sweetalert2/dist/sweetalert2.js";import"sweetalert2-react-content";import"react-bootstrap";import"lodash";import"axios";import"query-string";import"retry-axios";import"notistack";import"path";import"react-async-hook";import"styled-components";import"dayjs";import"dayjs/locale/zh-cn";import"dayjs/plugin/relativeTime";import"dayjs/plugin/duration";import"classnames";import"use-url-search-params";import"copy-to-clipboard";import"goober";import"immer";var n=e((e=>{let{lazy:n=!0,...p}=e;const{registerImage:c,setShow:l,setCurrent:d,getId:h}=i(a),[g,u]=o(),[w,f]=o(!1),{ref:y,inView:v}=m({threshold:.2,skip:!n,initialInView:!0}),[j]=o(h);if(s((()=>{if(p.src)return c(j,p.src)}),[]),w)return t(r,{children:p.alt?`[图片加载失败:${p.alt}]`:" "});const x=!v&&n&&g?"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3e %3crect width='1' height='1' fill='none'/%3e%3c/svg%3e":p.src;return t("img",{width:g?.[0],height:g?.[1],onLoad:t=>{g||u([t.currentTarget.clientWidth,t.currentTarget.clientHeight])},onError:()=>{f(!0)},ref:y,...p,alt:void 0,src:x,onClick:()=>{d(j),l(!0)}})}));export{n as default};
@@ -0,0 +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{c as p,r as m,B as l}from"./index-6uEffkau.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"notistack";import"path";import"react-async-hook";import"styled-components";import"dayjs";import"dayjs/locale/zh-cn";import"dayjs/plugin/relativeTime";import"dayjs/plugin/duration";import"classnames";import"use-url-search-params";import"copy-to-clipboard";import"goober";import"immer";import"react-intersection-observer";const d=require("ajv-i18n/localize/zh"),u=a.lazy((()=>import("./editor-widget-ZqrBTAWC.js"))),f=o=>t(a.Suspense,{fallback:null,children:t(u,{...o})}),y={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})}},h=e(((r,a)=>{let{action:e,method:u="post",onSuccess:f,formData:h,onSubmitting:w,onSubmit:g,onChange:v,submitText:b="保存",transformData:j,children:x,...D}=r;const[S,k]=n(),[q,z]=p(!1),[_,E]=n(h),F=i((async(t,o)=>{if(!q)try{if(z(!0),w&&w(!0),e){let{formData:o}=t;j&&(o=j(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{z(!1),w&&w(!1)}}),[e,u,g]),U=i((t=>{const{formData:o}=t;E(o),v&&v(t)}),[E,v]),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:b});return"function"==typeof x&&(x=x({submit:N,loading:q})),t(o,{ref:a,extraErrors:S,onSubmit:F,transformErrors:C,noHtml5Validate:!0,noValidate:!0,...D,formData:_,onChange:U,widgets:y,children:x||t("div",{className:"col-12",children:N})})}));export{h as default};
@@ -0,0 +1,78 @@
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 a,useState as i,useEffect as s,createContext as c,Fragment as l,useContext as d,useCallback as u,useMemo as h,forwardRef as m,lazy as f,Suspense as p,Children as g,createElement as y,useImperativeHandle as w,memo as v}from"react";import{OverlayTrigger as b,Tooltip as x,Spinner as k,Button as C,Modal as N,ButtonGroup as S,ToggleButton as z,Card as P,Accordion as j,Stack as T,Alert as $,Pagination as H,Offcanvas as B,Row as E,Col as L}from"react-bootstrap";import{uniqueId as _,values as D,omit as R,debounce as M}from"lodash";import F from"axios";import O from"query-string";import*as A from"retry-axios";import{enqueueSnackbar as U,SnackbarProvider as I}from"notistack";import q from"path";import{useAsyncCallback as W}from"react-async-hook";import G,{css as K,createGlobalStyle as V}from"styled-components";import Y from"dayjs";import"dayjs/locale/zh-cn";import Q from"dayjs/plugin/relativeTime";import J from"dayjs/plugin/duration";import X from"classnames";import{useUrlSearchParams as Z}from"use-url-search-params";import ee from"copy-to-clipboard";import*as te from"goober";import{freeze as ne,produce as re}from"immer";import"react-intersection-observer";const oe=()=>{document.body.style.setProperty("--vh",window.innerHeight/100+"px"),document.body.style.setProperty("--100vh",window.innerHeight+"px")};window.addEventListener("resize",oe),oe();const ae=t(e),ie={confirmButtonText:"确定",cancelButtonText:"取消"},se={confirm:async e=>{const{isConfirmed:t}=await ae.fire({...ie,icon:"warning",showCancelButton:!0,...e,async preConfirm(t){if(e.preConfirm)try{return await e.preConfirm(t)}catch(e){return e instanceof Error&&ae.showValidationMessage(e.message),!1}return!0}});return t},success:e=>{ae.fire({...ie,toast:!0,position:"top",icon:"success",timer:2e3,showConfirmButton:!1,...e})},error:e=>{ae.fire({...ie,toast:!0,position:"top",icon:"error",timer:5e3,showConfirmButton:!1,...e})},close:e=>{ae.close(e)},defaults:ie};const ce=c({});function le(e){return t=>{let{resolve:r,destroy:o,message:c}=t;const[l,m]=function(e){const t=a(null),[n,r]=i(e);return s((()=>{t.current&&(t.current(),t.current=null)}),[n]),[n,(e,n)=>{t.current="function"==typeof n?n:null,r(e)}]}(!0),f=d(ce),p=u((e=>{m(!1,(()=>{r(e)}))}),[m,r]),g=h((()=>({show:l,onHide:()=>p(),onExited:()=>o(),container:f.container})),[l,p,o]);return n(e,{resolve:p,state:g,message:c})}}function de(e){return t=>new Promise((r=>{const o=n(e,{resolve:r,destroy:()=>{fe(o)},message:t});me(o)}))}let ue=()=>{},he=new Set;const me=e=>{he=new Set(he),he.add(e),ue(he)},fe=e=>{he=new Set(he),he.delete(e),ue(he)};function pe(e,t){return de(le(e))(t)}function ge(e){let{tooltip:t,children:r,placement:o="bottom"}=e;return n(b,{placement:o,overlay:n(x,{id:_(),children:t}),children:r})}const ye=c(!1),we=m(((e,t)=>{let{loading:a,percent:i,disabled:s,children:c,tooltip:l,variant:u,...h}=e;d(ye)&&!u&&(u="link"),a&&(s=!0,c=r(o,{children:[n(k,{ref:t,as:"span",size:"sm",role:"status","aria-hidden":"true",animation:"border"}),i?r("span",{className:"ms-2",children:[i,"%"]}):null]}));const m=n(C,{ref:t,...h,variant:u,disabled:s,children:c});return l?n(ge,{tooltip:l,children:n("span",{className:"d-inline-block",children:m})}):m})),ve=function(e){let{state:t,message:{title:o,message:a,okText:i,cancelText:s},resolve:c}=e;return r(N,{...t,children:[n(N.Header,{children:n(N.Title,{as:"h5",children:o||"确认"})}),n(N.Body,{children:a}),r(N.Footer,{children:[n(we,{variant:"secondary",onClick:()=>c(),children:s||"取消"}),n(we,{onClick:()=>c(!0),children:i||"确定"})]})]})};const be=e=>{let{header:t,children:a,footer:s,closable:c=!0,show:l,cancelText:d="取消",okText:u="确定",onOk:m,onCancel:f,onHide:p,okButtonProps:g,bodyAs:y,headerAs:w="h5",confirmLoading:v=!1,...b}=e;const[x,k]=i(!1),C=h((()=>n(we,{loading:x||v,variant:"primary",onClick:async e=>{k(!0);try{await(m?.(e)),e.defaultPrevented||p?.()}finally{k(!1)}},...g,children:u})),[g,u,m,p,x,v]),S=h((()=>n(we,{variant:"secondary",onClick:e=>{f?.(e),e.defaultPrevented||p?.()},children:d})),[f,p,d]),z={close:()=>{p?.()}};switch(typeof s){case"undefined":s=r(o,{children:[S,C]});break;case"function":s=s({okButton:C,cancelButton:S,action:z})}return r(N,{...b,onHide:p,show:l,children:[t&&n(N.Header,{closeButton:c,children:n(N.Title,{as:w,children:t})}),n(N.Body,{as:y,children:a}),s&&n(N.Footer,{children:s})]})};be.Message=function(e){const[t,r]=i(he);return s((()=>{ue=r}),[]),n(ce.Provider,{value:e,children:Array.from(t).map(((e,t)=>n(l,{children:e},`message-${t}`)))})},be.confirm=function(e){return de(le(ve))(e)},be.show=pe;const xe=["default","error","warning","success","info"].reduce(((e,t)=>(e[t]=(e,n)=>U(e,{variant:t,autoHideDuration:3e3,anchorOrigin:{vertical:"top",horizontal:"center"},...n}),e)),{});function ke(e){return e&&"object"==typeof e}A.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";const Ce=F.isAxiosError,Ne=e=>{if(!F.isAxiosError(e))throw e;xe.error(e.message)},Se=function(e){e?.baseURL&&(e.baseURL=q.resolve(F.defaults.baseURL||"/",e.baseURL));const t=F.create(e);return A.attach(t),t.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))),t.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":ke(t)?422===n?e.errors=t:"message"in t&&(e.errors=t.message):e.errors=t,"string"!=typeof e.errors?e.message=Object.values(e.errors).join("<br />"):e.message=e.errors}return Promise.reject(e)})),t},ze=async function(e,t){if(t||(t=Se()),e="string"==typeof e?{url:e}:e,(e={paramsSerializer:function(e){return O.stringify(e,{sort:!1,skipNull:!0,skipEmptyString:!0,arrayFormat:"bracket"})},...e}).onMessage){let t=0,n="",r=null;const o=e.onMessage;e.onDownloadProgress=e=>{const a=e.target,{responseText:i}=a;for(;t<e.loaded;){const e=i.substring(t,++t);if(n+=e,"\n"===e){if(r||(r={id:"",event:"",data:""}),"\n"===n)o(r),r=null;else{const e=n.match(/^data:(?<data>.*)/);e&&(r.data=e.groups.data.trim())}n=""}}}}const{data:n}=await t.request(e);return n};ze.create=function(e){const t=Se(e),n=e=>ze(e,t);return n.interceptors=t.interceptors,n},ze.defaults=F.defaults,ze.interceptors=F.interceptors;function Pe(e){const t=(()=>{const e=a(!1);return s((()=>(e.current=!1,()=>{e.current=!0})),[]),e})(),[n,r]=i(e);return[n,u((e=>{t.current||r(e)}),[])]}function je(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{locale:n="zh-CN",currency:r=!0,...o}=t;let a;a=r?{style:"currency",currency:"CNY"}:{minimumFractionDigits:2};return new Intl.NumberFormat(n,{...a,...o}).format(e)}function Te(e){let{manual:t,refreshDeps:n,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{execute:o,currentParams:a,error:i,...c}=W((async t=>(e="string"==typeof e?{url:e}:e,await ze({...e,...t}))),r);s((()=>{if(!t&&!n)try{o()}catch{}}),[]),s((()=>{n&&l()}),n);const l=u((async()=>{try{a?await o(...a):await o()}catch{}}),[o,a]);if(i&&Ce(i)){const e=i.errors;i=new Error("string"==typeof e?e:D(e).join(""))}return{refresh:l,execute:o,error:i,...c}}function $e(e){let{active:t,inverted:r,...o}=e;return n(He,{$active:t,$inverted:r,...o})}G.div`
2
+ position: relative;
3
+ `;const He=G.div`
4
+ display: ${e=>e.$active?"flex":"none"};
5
+ position: absolute;
6
+ top: 0 !important;
7
+ left: 0 !important;
8
+ width: 100%;
9
+ height: 100%;
10
+ text-align: center;
11
+ vertical-align: middle;
12
+ padding: 1em;
13
+ background-color: ${e=>e.$inverted?"rgba(255, 255, 255, .85)":"rgba(0, 0, 0, .85)"};
14
+ opacity: ${e=>e.$active?1:0};
15
+ line-height: 1;
16
+ animation-fill-mode: both;
17
+ animation-duration: .5s;
18
+ transition: background-color .5s linear;
19
+ flex-direction: column;
20
+ align-items: center;
21
+ justify-content: center;
22
+ user-select: none;
23
+ will-change: opacity;
24
+ z-index: 990;
25
+ `;function Be(e){let{loading:t=!0,children:o,variant:a="primary",animation:i="border",wrap:s,...c}=e;return t?(o&&(o=n("p",{className:"mt-3 text-secondary",children:o})),o=r($e,{inverted:!0,active:!0,children:[n(k,{animation:i,variant:a,...c}),o]}),s?n(Ee,{$height:"number"==typeof s?s:150,children:o}):o):null}const Ee=G.div`
26
+ position: relative;
27
+ height: ${e=>`${e.$height}px`};
28
+ `,Le=f((async()=>{const{QRCodeSVG:e}=await import("qrcode.react");return{default:e}}));function _e(e){return n(p,{fallback:null,children:n(Le,{...e})})}const De=function(e){let{state:t,message:r,resolve:o}=e;const i=a(!0),{result:c,checkUrl:l,onComplete:d}=r,[u,h]=Pe(!1);return s((()=>{ze({url:l,method:"post",data:{order_no:c.order_no},raxConfig:{shouldRetry:e=>i.current&&449===e.response?.status}}).then((()=>{d?.(),o()})).catch((()=>null))}),[]),n(be,{...t,centered:!0,onHide:()=>{i.current=!1,t.onHide()},backdrop:"static",header:"支付结果",okText:"已完成支付",okButtonProps:{loading:u},onOk:async e=>{e.preventDefault();try{h(!0),await ze({url:l,method:"post",data:{order_no:c.order_no,force:!0},raxConfig:{shouldRetry:()=>!1}}),d?.(),o()}catch(e){Ce(e)&&xe.error(e.message)}finally{h(!1)}},cancelText:"取消",children:"请在新打开的页面上进行支付,支付完成后再关闭此窗口"})},Re=function(e){let{state:t,message:o,resolve:i}=e;const c=a(!0),{result:{pay_options:l,order_no:d},checkUrl:u,onComplete:h}=o,[m,f]=Pe(l.channels.alipay?"alipay":"wechat"),[p,g]=Pe(!1);s((()=>{ze({url:u,method:"post",data:{order_no:d},raxConfig:{shouldRetry:e=>c.current&&449===e.response?.status}}).then((()=>{h?.(),i()})).catch((()=>null))}),[]);const{loading:y,result:w}=Te({url:l.url,method:"POST",data:{channel:m,order_no:d}},{refreshDeps:[m]});return r(be,{...t,onHide:()=>{c.current=!1,t.onHide()},centered:!0,backdrop:"static",header:"收银台",okText:"已完成支付",okButtonProps:{loading:p},onOk:async e=>{e.preventDefault();try{g(!0),await ze({url:u,method:"post",data:{order_no:d,force:{channel:m}},raxConfig:{shouldRetry:()=>!1}}),h?.(),i()}catch(e){Ce(e)&&xe.error(e.message)}finally{g(!1)}},cancelText:"取消",children:[r("dl",{className:"row",children:[n("dt",{className:"col-3",children:"商品名称"}),n("dd",{className:"col-9",children:l.subject})]}),r("dl",{className:"row",children:[n("dt",{className:"col-3",children:"支付金额"}),n("dd",{className:"col-9 text-success h3",children:je(l.amount/100)})]}),r("dl",{className:"row",children:[n("dt",{className:"col-3",children:"支付方式"}),n("dd",{className:"col-9",children:r(S,{children:[l.channels.alipay&&n(z,{id:"payment-alipay",type:"radio",variant:"alipay"===m?"primary":"outline-primary",name:"alipay",value:"alipay",checked:"alipay"===m,onChange:()=>f("alipay"),children:"支付宝"}),l.channels.alipay&&n(z,{id:"payment-wechat",type:"radio",variant:"wechat"===m?"primary":"outline-primary",name:"wechat",value:"wechat",checked:"wechat"===m,onChange:()=>f("wechat"),children:"微信支付"})]})})]}),r("dl",{className:"row mb-0",children:[n("dt",{className:"col-3",children:"扫码支付"}),r("dd",{className:"col-9",children:[n(Be,{loading:y,wrap:200}),w&&n(_e,{size:200,value:w.data})]})]})]})};function Me(e){const{result:t}=e;t.pay_url?(window.opener=null,window.innerWidth<992?location.href=t.pay_url:(window.open(t.pay_url),pe(De,e))):pe(Re,e)}function Fe(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;const n=["","K","M","G"];let r=0;for(;e>=1024&&r<n.length-1;)e/=1024,r++;return e%1==0&&(t=0),e.toFixed(t)+n[r]}function Oe(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;const n=["","K","M","G"];let r=0;for(;e>=1e3&&r<n.length-1;)e/=1e3,r++;return e%1==0&&(t=0),e.toFixed(t)+n[r]}function Ae(e){const t=q.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 Ue(e){const t=document.createElement("a");return t.href=e,t.href}Y.locale("zh-cn"),Y.extend(Q),Y.extend(J);const Ie={success:n("i",{className:"bi bi-check-circle-fill text-success"}),error:n("i",{className:"bi bi-exclamation-circle-fill text-danger"}),info:n("i",{className:"bi bi-info-circle-fill text-info"}),warning:n("i",{className:"bi bi-exclamation-triangle-fill text-warning"})};function qe(e){let{className:t,status:o,title:a,icon:i,extra:s}=e;return!i&&o&&(i=Ie[o]),r(We,{className:t,children:[i&&n(Ge,{children:i}),a&&n(Ke,{children:a}),s&&n(Ve,{children:s})]})}const We=G.div`
29
+ padding: 48px 32px;
30
+ `,Ge=G.div`
31
+ margin-bottom: 24px;
32
+ text-align: center;
33
+ font-size: 72px;
34
+ `,Ke=G.div`
35
+ color: rgba(0, 0, 0, .85);
36
+ font-size: 24px;
37
+ line-height: 1.8;
38
+ text-align: center;
39
+ `,Ve=G.div`
40
+ margin-top: 32px;
41
+ text-align: center;
42
+ `;function Ye(e){let{children:t,title:a,className:i,...s}=e;return n(Qe,{className:X("border-0 shadow-sm",i),...s,children:r("div",{className:"card-body",children:[a&&r(o,{children:[n("h5",{children:a}),n("hr",{})]}),t]})})}const Qe=G(P)`
43
+ &:not(:last-child) {
44
+ margin-bottom: 1rem;
45
+ }
46
+ `,Je=c(void 0);function Xe(e){let{children:t}=e;const[r,o]=i(new Set),a=u((e=>{e&&"string"==typeof e&&(e=[e]),o(new Set(e))}),[o]);return n(Je.Provider,{value:[r,o],children:n(j,{activeKey:Array.from(r),onSelect:a,alwaysOpen:!0,children:t})})}const Ze=()=>{const e=d(Je);if(!e)throw new Error("usePanel must be used within a PanelGroup");return e};function et(e){let{title:t,action:a,children:i,eventKey:c,open:l}=e;if(c){const[,e]=Ze();s((()=>{void 0!==l&&e((e=>l?new Set([...e,c]):new Set([...e].filter((e=>e!==c)))))}),[l]),i=n(j.Collapse,{eventKey:c,children:r(o,{children:[n("hr",{}),i]})})}else i=r(o,{children:[n("hr",{}),i]});return r(Ye,{children:[r(T,{direction:"horizontal",children:[n("div",{className:"fs-5 me-auto",children:t}),a]}),i]})}function tt(e){let{errors:t}=e;return t?n($,{variant:"danger",children:n("ul",{className:"mb-0",children:"string"==typeof t?n("li",{children:t}):Object.entries(t).map((e=>{let[t,r]=e;return n("li",{children:r},t)}))})}):null}function nt(e){let{children:t,className:r,size:o="small",direction:a="horizontal"}=e;"string"==typeof o&&(o={small:8,middle:16,large:24}[o]);const i=g.map(t,(e=>{if(e)return n(ot,{children:e})}));return n(rt,{className:r,$direction:a,$size:o,children:i})}const rt=G.div`
47
+ display: inline-flex;
48
+ align-items: center;
49
+ gap: ${e=>e.$size}px;
50
+
51
+ ${e=>"vertical"===e.$direction&&K`
52
+ display: flex;
53
+ flex-direction: column;
54
+ align-items: inherit;
55
+ `}
56
+ `,ot=G.div`
57
+
58
+ `,at=f((()=>import("./steps-b_BcYIwk.js"))),it=f((()=>import("./steps-b_BcYIwk.js").then((e=>{let{Step:t}=e;return{default:t}}))));function st(e){return n(p,{fallback:null,children:n(at,{...e})})}const ct=function(e){return n(p,{fallback:null,children:n(it,{...e})})};function lt(e){let{title:t,content:o,footer:a}=e;return r(Ye,{children:[n(ht,{children:t}),n(ut,{children:o}),a&&n(dt,{children:a})]})}st.Step=ct;const dt=G.div`
59
+ margin-top: 9px;
60
+ padding-top: 10px;
61
+ border-top: 1px solid #f0f0f0;
62
+ color: rgba(0, 0, 0, .65);
63
+ `,ut=G.div`
64
+ color: rgba(0, 0, 0, .85);
65
+ font-size: 24px;
66
+ `,ht=G.div`
67
+ margin-bottom: 4px;
68
+ color: rgba(0, 0, 0, .45);
69
+ font-size: 1.1rem;
70
+ `;function mt(){}function ft(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e}function pt(e){return"current_page"in e}function gt(e){let{total:t=0,onChange:r=mt,defaultCurrent:o=1,defaultPageSize:a=10,className:c,...l}=e;const[d,m]=i(o),[f,p]=i(a);s((()=>{ft(l.current)&&m(l.current)}),[l.current]),s((()=>{ft(l.pageSize)&&p(l.pageSize)}),[l.pageSize]);const g=h((()=>Math.floor((t-1)/f)+1),[t,f]),y=u((e=>()=>{e!==d&&(m(e),r(e,f))}),[r,d,f]),w=d-1>0?d-1:0,v=d+1<g?d+1:g,b=[];let x=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(H.Item,{active:t,onClick:y(e),children:e},e))}else{N=n(H.Last,{onClick:y(g)},"last"),C=n(H.First,{onClick:y(1)},"first"),x=n(H.Prev,{onClick:y(w)},"prev"),k=n(H.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(H.Item,{active:e,onClick:y(r),children:r},r))}d-1>=4&&3!==d&&b.unshift(x),g-d>=4&&d!==g-2&&b.push(k),1!==e&&b.unshift(C),t!==g&&b.push(N)}return n(H,{className:c,children:b})}function yt(e){let{className:t,value:r,locale:a="zh-CN",currency:i=!0,options:s={}}=e;const c=h((()=>{let e;return e=i?{style:"currency",currency:"CNY"}:{minimumFractionDigits:2},new Intl.NumberFormat(a,{...e,...s})}),[i,a,s]);return t?n("span",{className:t,children:c.format(r)}):n(o,{children:c.format(r)})}function wt(e){let{loading:t,disabled:r,children:o,...a}=e;return n(C,{...a,disabled:t||r,children:t?"Loading…":o})}const vt=f((()=>import("./image-zoom-OrIPGqh0.js")));function bt(e){return n(p,{fallback:null,children:n(vt,{...e})})}const xt=m(((e,t)=>{let{confirm:n,onSuccess:r,children:o,disabled:a,as:i=we,onError:s,...c}=e;const[l,d]=Pe(!1),h=u((async e=>{e.preventDefault(),e.stopPropagation();try{if(d(!0),n&&!await be.confirm({message:n}))return;let e;if("onRequest"in c)e=await c.onRequest();else{const t="string"==typeof c.url?{url:c.url,method:c.method}:{method:c.method,...c.url};e=await ze(t)}r&&r(e)}catch(e){if(!(e instanceof Error))throw e;s?s(e):xe.error(e.message,{preventDuplicate:!0})}finally{d(!1)}}),[c,d]);return y(i,{...R(c,["onRequest","url","method"]),disabled:a||l,onClick:h,ref:t},o)})),kt=f((()=>import("./index-6eKqJFVJ.js"))),Ct=m(((e,t)=>n(p,{fallback:null,children:n(kt,{...e,ref:t})}))),Nt=f((()=>import("./index-StZaXmCj.js"))),St=m(((e,t)=>n(p,{fallback:null,children:n(Nt,{...e,ref:t})})));let zt=0;function Pt(){let{onHide:e,onShow:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const[n,r]=i(!1),[o,a]=i(`visible-${zt}`),s=u((()=>{r(!1),e&&e()}),[r,e]),c=u((()=>{a("visible-"+ ++zt)}),[a,zt]);return{visible:n,show:u((()=>{r(!0),t&&t()}),[r,t]),hide:s,state:{show:n,onHide:s,onExited:c,key:o}}}const jt=m(((e,t)=>{let{text:a,onOk:i,modalProps:s,children:c,onShow:l,onHide:d,confirmLoading:u,as:h=we,...m}=e;const{state:f,show:p,hide:g}=Pt({onShow:l,onHide:d});w(t,(()=>({close:g})));const v=y(h,{...m,onClick:e=>{e.preventDefault(),e.stopPropagation(),p()}},a);return r(o,{children:[v,n(be,{header:a,...s,...f,confirmLoading:u,onOk:async e=>{if(i){!1===await i()&&e.preventDefault()}},children:c})]})})),Tt=m(((e,t)=>{let{text:o,onSuccess:s,onSubmit:c,buttonProps:l,modalProps:d,children:h,...m}=e;const[f,p]=i(!1),g=a(null),y=a(null);w(t,(()=>({close:()=>{g.current?.close()}})));const v=u((()=>(y.current?.submit(),!1)),[]),b=u((e=>{s&&s(e),g.current?.close()}),[s]),x=u((async(e,t)=>{c&&await c(e,t)&&g.current?.close()}),[c]);return n(jt,{ref:g,text:o,...l,modalProps:d,onOk:v,confirmLoading:f,children:r(Ct,{...m,onSubmitting:p,ref:y,onSuccess:b,onSubmit:x,children:[h,n("input",{type:"submit",hidden:!0})]})})}));function $t(e){let{header:t,children:o,closable:a=!0,show:i,onHide:s,bodyAs:c,headerAs:l="h5",...d}=e;return r(B,{...d,onHide:s,show:i,children:[t&&n(B.Header,{closeButton:a,children:n(B.Title,{as:l,children:t})}),n(B.Body,{as:c,children:o})]})}const Ht=m(((e,t)=>{let{text:a,offcanvasProps:i,children:s,onShow:c,onHide:l,as:d=we,...u}=e;const{state:h,show:m,hide:f}=Pt({onShow:c,onHide:l});w(t,(()=>({close:f})));const p=y(d,{...u,onClick:m},a);return r(o,{children:[p,n($t,{header:a,...i,...h,children:s})]})}));function Bt(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const n=a(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 Et(e){const{value:t,defaultValue:n,onChange:r,shouldUpdate:o=((e,t)=>e!==t)}=e,a=Bt(r),s=Bt(o),[c,l]=i(n),d=void 0!==t,u=d?t:c,h=Bt((e=>{const t="function"==typeof e?e(u):e;s(u,t)&&(d||l(t),a(t))}),[d,a,u,s]);return[u,h]}const Lt=m(((e,t)=>{let{className:o,rowClassName:c,paginate:l=!0,sync:d=!1,columns:h=3,source:m,renderItem:f,renderEmpty:p}=e;const[g,y]=i([]),[v,b]=i(l?{total:0,current:1,pageSize:10}:null),[x,k]=i(!0),[C,N]=Z({}),[S,z]=Et({value:d?C.page||1:void 0,defaultValue:1,onChange:e=>{d&&N({page:e||void 0})}}),P=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 ze({url:m,params:t}):await m(t),l&&pt(e)&&(e.last_page>1&&b({total:e.total,current:e.current_page,pageSize:e.per_page}),e=e.data),y(e)}catch(e){}finally{k(!1)}}),[m,y,S]);s((()=>{P()}),[S]),s((()=>{j.current={reload:P}}),[P]);const j=a({reload:P});return w(t,(()=>j.current)),r(_t,{className:o,children:[n(Be,{wrap:!0,loading:x}),0===g.length&&!x&&p?.(),n(E,{className:X(c,"g-4"),children:g.map(((e,t)=>n(L,{className:"d-flex",md:12/h,children:f(e)},`card-${t}`)))}),v&&n(Dt,{...v,onChange:z})]})})),_t=G.div`
71
+
72
+ `,Dt=G(gt)`
73
+ margin-bottom: 0;
74
+ justify-content: flex-end;
75
+ margin-top: 1rem;
76
+ `;var Rt=v(Lt);function Mt(){const[e,t]=i(!1),n=a();return s((()=>()=>{n.current&&clearTimeout(n.current)}),[]),{copied:e,copy:u((e=>{ee(e),t(!0),n.current&&clearTimeout(n.current),n.current=setTimeout((()=>{t(!1),n.current=void 0}),3e3)}),[])}}function Ft(e){let{as:t="div",className:r,content:o,tooltip:a=!0,placement:i}=e;const{copy:s,copied:c}=Mt(),l=a?n("i",c?{className:"bi bi-clipboard-check"}:{className:"bi bi-clipboard"}):c?"已复制":"复制",d=y(t,{role:"button",className:r,onClick:()=>{"function"==typeof o&&(o=o()),s(o)}},l);return a?n(ge,{tooltip:c?"已复制":"复制",placement:i,children:d}):d}const Ot=c({images:new Map,current:0,setCurrent:()=>null,setShow:()=>null,registerImage:()=>()=>null,getId:()=>0}),At=f((()=>import("./index-AhHoaWhi.js"))),Ut=f((()=>import("./image-0wdFdVv1.js")));function It(e){return n(p,{fallback:null,children:n(At,{...e})})}It.Image=function(e){return n(p,{fallback:null,children:n(Ut,{...e})})},It.Context=Ot;const qt=f((()=>import("./infinite-scroller-_1IqscfX.js"))),Wt=m(((e,t)=>n(p,{fallback:null,children:n(qt,{...e,ref:t})}))),Gt=f((()=>import("./slider-KuqHu6UH.js")));function Kt(e){return n(p,{fallback:null,children:n(Gt,{...e})})}function Vt(e){let{children:t}=e;return r(I,{children:[n(Yt,{}),t]})}const Yt=V`
77
+ ${te.extractCss()}
78
+ `,Qt=f((()=>import("./cascader-pKgfaE9t.js")));function Jt(e){return n(p,{fallback:null,children:n(Qt,{...e})})}const Xt=f((()=>import("./select-WnBtupzS.js")));function Zt(e){return n(p,{fallback:null,children:n(Xt,{...e})})}function en(e,t,n){const r=a(e),o=a(M(e,t,n));return s((()=>{r.current=e})),s((()=>{o.current=M((function(){r.current(...arguments)}),t,n)}),[t,n]),o.current}function tn(e){const[t,n]=i((()=>ne("function"==typeof e?e():e,!0)));return[t,u((e=>{n("function"==typeof e?re(e):ne(e))}),[])]}function nn(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"lg";function t(){const t=e=>{switch(e){case"xxl":return window.innerWidth>=1400;case"xl":return window.innerWidth>=1200;case"lg":return window.innerWidth>=992;case"md":return window.innerWidth>=768;case"sm":return window.innerWidth>=576;default:return!0}};return{isMobile:!t(e),width:window.innerWidth,match:t}}const[n,r]=i(t),o=en((()=>{r(t())}),100);return s((()=>(window.addEventListener("resize",o),()=>window.removeEventListener("resize",o))),[]),n}var rn;!function(e){e[e.init=0]="init",e[e.play=1]="play",e[e.pause=2]="pause",e[e.end=3]="end"}(rn||(rn={}));const on=(e,t)=>{let n=a(!1);const[r,o]=i((()=>{const{lang:e="default",name:n=""}=t.voice||{};return{isPlaying:!1,status:rn[rn.init],lang:t.lang||"default",voiceInfo:{lang:e,name:n},rate:t.rate||1,pitch:t.pitch||1,volume:t.volume||1}})),c=u((()=>{n.current&&o((e=>({...e,isPlaying:!0,status:rn[rn.play]})))}),[]),l=u((()=>{n.current&&o((e=>({...e,isPlaying:!1,status:rn[rn.pause]})))}),[]),d=u((()=>{n.current&&o((e=>({...e,isPlaying:!1,status:rn[rn.end]})))}),[]);return s((()=>{n.current=!0;const r=new SpeechSynthesisUtterance(e);return t.lang&&(r.lang=t.lang),t.voice&&(r.voice=t.voice),r.rate=t.rate||1,r.pitch=t.pitch||1,r.volume=t.volume||1,r.onstart=c,r.onpause=l,r.onresume=c,r.onend=d,window.speechSynthesis.speak(r),()=>{n.current=!1}}),[]),r};function an(e,t){s((()=>{const t=e();!async function(){await t}()}),t)}export{Pt as $,jt as A,we as B,Ye as C,be as D,tt as E,Ct as F,$t as G,ge as H,Ot as I,Rt as J,Ft as K,Be as L,se as M,yt as N,Ht as O,gt as P,It as Q,qe as R,nt as S,ye as T,Wt as U,Kt as V,_e as W,Vt as X,Jt as Y,Zt as Z,Te as _,nn as a,Mt as a0,on as a1,an as a2,Ce as a3,Ne as a4,Et as b,Pe as c,tn as d,xe as e,ke as f,Fe as g,je as h,pt as i,Oe as j,Ae as k,Ue as l,et as m,Xe as n,Ze as o,st as p,ct as q,ze as r,lt as s,wt as t,en as u,bt as v,Me as w,xt as x,St as y,Tt as z};
@@ -0,0 +1,4 @@
1
+ import{jsxs as t,jsx as r}from"react/jsx-runtime";import{useState as o,useCallback as e}from"react";import i,{useController as n,useLightboxState as a}from"yet-another-react-lightbox";import s from"yet-another-react-lightbox/plugins/counter";import l from"yet-another-react-lightbox/plugins/download";import m from"yet-another-react-lightbox/plugins/zoom";import p 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"./index-6uEffkau.js";import u from"styled-components";import"sweetalert2/dist/sweetalert2.js";import"sweetalert2-react-content";import"react-bootstrap";import"lodash";import"axios";import"query-string";import"retry-axios";import"notistack";import"path";import"react-async-hook";import"dayjs";import"dayjs/locale/zh-cn";import"dayjs/plugin/relativeTime";import"dayjs/plugin/duration";import"classnames";import"use-url-search-params";import"copy-to-clipboard";import"goober";import"immer";import"react-intersection-observer";const d={counter:s,zoom:m,download:l,thumbnails:p};let g=0;function h(i){let{children:s,render:l,zoom:m,toolbar:p,plugins:u=["counter","zoom","download"]}=i;const[h,y]=o((()=>new Map)),[x,f]=o(),[w,_]=o(!1),j=e(((t,r)=>(y((o=>new Map(o).set(t,r))),()=>{y((r=>{const o=new Map(r);return o.delete(t)?o:r}))})),[]),k=Array.from(h.keys()),v=k.indexOf(x),z=k.map((t=>{const r=h.get(t);return"string"==typeof r?{src:r}:{render:r}})),C=e((()=>g++),[]);return t(c.Provider,{value:{images:h,current:x,setCurrent:f,setShow:_,registerImage:j,getId:C},children:[s,r(b,{plugins:u.map((t=>d[t])),open:w,index:v,close:()=>_(!1),slides:z,carousel:{finite:!0,preload:3},toolbar:p?.({useController:n,useLightboxState:a}),zoom:m,render:{...l,buttonPrev:z.length<=1?()=>null:void 0,buttonNext:z.length<=1?()=>null:void 0,slide:t=>{let{slide:r}=t;if("render"in r)return r.render()}},controller:{closeOnBackdropClick:!0}})]})}const b=u(i)`
2
+ --yarl__color_backdrop: rgba(0, 0, 0, .7);
3
+ --yarl__thumbnails_container_background_color: rgba(0, 0, 0, .9);
4
+ `;export{h as default};
@@ -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 m,useRef as u,useEffect as h,useMemo as f,memo as g,forwardRef as y,useImperativeHandle as v}from"react";import{B as b,u as x,P as w,a as j,b as C,r as k,i as S,N as E,L as z,T as O,C as V,S as N}from"./index-p8qeeIlv.js";import M from"styled-components";import H from"./index-KQa41WB6.js";import q from"dayjs";import"sweetalert2/dist/sweetalert2.js";import"sweetalert2-react-content";import"axios";import"query-string";import"retry-axios";import"notistack";import"path";import"react-async-hook";import"dayjs/locale/zh-cn";import"dayjs/plugin/relativeTime";import"classnames";import"copy-to-clipboard";import"goober";import"immer";import"react-intersection-observer";import"@topthink/json-form";const K=function(t){let{indeterminate:r=!1,...n}=t;const o=u(null);return h((()=>{o.current&&(o.current.indeterminate=r)}),[r]),e("input",{ref:o,...n,className:"form-check-input",type:"checkbox"})};var B;function D(){return D=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},D.apply(this,arguments)}const P=e=>d.createElement("svg",D({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"currentColor",viewBox:"0 0 1024 1024"},e),B||(B=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 T;function Y(){return Y=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},Y.apply(this,arguments)}const F=e=>d.createElement("svg",Y({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"currentColor",viewBox:"0 0 1024 1024"},e),T||(T=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 I(r){let{data:n,options:o,columns:a,onSearch:i}=r;const[c,s]=p(0),[d,u]=p(n);h((()=>{l(n,d)||(u(n),s((e=>e+1)))}),[n]);const[g,y,v]=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=m((e=>{let{formData:t}=e;u(t),i({...v,...t})}),[i,v]),w=m((()=>{i(v)}),[i,v]);return e(R,{children:e(H,{formContext:{layout:"horizontal"},schema:g,uiSchema:y,onSubmit:x,formData:d,children:e("div",{className:"col-12 col-md-2 ms-auto mt-md-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 R=M.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 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 m,useRef as u,useEffect as h,useMemo as f,memo as g,forwardRef as y,useImperativeHandle as v}from"react";import{B as b,u as x,P as w,a as j,b as C,r as k,i as S,N as E,L as z,T as O,C as V,S as N}from"./index-6uEffkau.js";import M from"styled-components";import H from"./index-6eKqJFVJ.js";import q from"dayjs";import"sweetalert2/dist/sweetalert2.js";import"sweetalert2-react-content";import"axios";import"query-string";import"retry-axios";import"notistack";import"path";import"react-async-hook";import"dayjs/locale/zh-cn";import"dayjs/plugin/relativeTime";import"dayjs/plugin/duration";import"classnames";import"copy-to-clipboard";import"goober";import"immer";import"react-intersection-observer";import"@topthink/json-form";const K=function(t){let{indeterminate:r=!1,...n}=t;const o=u(null);return h((()=>{o.current&&(o.current.indeterminate=r)}),[r]),e("input",{ref:o,...n,className:"form-check-input",type:"checkbox"})};var B;function D(){return D=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},D.apply(this,arguments)}const P=e=>d.createElement("svg",D({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"currentColor",viewBox:"0 0 1024 1024"},e),B||(B=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 T;function Y(){return Y=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},Y.apply(this,arguments)}const F=e=>d.createElement("svg",Y({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"currentColor",viewBox:"0 0 1024 1024"},e),T||(T=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 I(r){let{data:n,options:o,columns:a,onSearch:i}=r;const[c,s]=p(0),[d,u]=p(n);h((()=>{l(n,d)||(u(n),s((e=>e+1)))}),[n]);const[g,y,v]=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=m((e=>{let{formData:t}=e;u(t),i({...v,...t})}),[i,v]),w=m((()=>{i(v)}),[i,v]);return e(R,{children:e(H,{formContext:{layout:"horizontal"},schema:g,uiSchema:y,onSubmit:x,formData:d,children:e("div",{className:"col-12 col-md-2 ms-auto mt-md-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 R=M.div`
2
2
  margin-bottom: 1rem;
3
3
  `;function _(t){let{keyword:r,onKeywordChange:n}=t;const[o,i]=p(r),c=x(n,500);h((()=>{i(r)}),[r]);const l=m((e=>{i(e.target.value),c(e.target.value)}),[c,i]);return e(a,{value:o,onChange:l,type:"search",placeholder:"Search..."})}const A=M.thead`
4
4
  th {
package/es/index.js CHANGED
@@ -1 +1 @@
1
- export{B as Button,C as Card,J as CardList,Y as Cascader,K as Clipboard,E as Error,F as Form,v as ImageZoom,U as InfiniteScroller,Q as Lightbox,L as Loader,t as LoadingButton,M as Message,D as Modal,A as ModalButton,z as ModalForm,N as NumberFormat,G as Offcanvas,O as OffcanvasButton,P as Pagination,m as Panel,n as PanelGroup,W as Qrcode,x as RequestButton,R as Result,V as Slider,S as Space,s as Statistic,q as Step,p as Steps,y as Table,e as Toast,X as ToastProvider,H as Tooltip,j as formatLongNumber,h as formatNumber,g as formatSize,l as getAbsoluteUrl,k as isImageUrl,f as isRecord,a2 as isRequestError,r as request,a3 as showRequestError,a1 as useAsyncEffect,$ as useClipboard,b as useControllableState,u as useDebounce,d as useImmer,_ as useOverlayState,o as usePanel,Z as useRequest,c as useSafeState,a0 as useSpeech,a as useWindowSize,w as waitPayComplete}from"./index-p8qeeIlv.js";export{StyleSheetManager,ThemeProvider,createGlobalStyle,css,keyframes,default as styled}from"styled-components";export{useAsync,useAsyncCallback}from"react-async-hook";export{useInView}from"react-intersection-observer";export{default as queryString}from"query-string";export{freeze,immerable,produce}from"immer";export{default as dayjs}from"dayjs";import"sweetalert2/dist/sweetalert2.js";import"sweetalert2-react-content";import"react/jsx-runtime";import"react";import"react-bootstrap";import"lodash";import"axios";import"retry-axios";import"notistack";import"path";import"dayjs/locale/zh-cn";import"dayjs/plugin/relativeTime";import"classnames";import"use-url-search-params";import"copy-to-clipboard";import"goober";
1
+ export{B as Button,C as Card,J as CardList,Y as Cascader,K as Clipboard,E as Error,F as Form,v as ImageZoom,U as InfiniteScroller,Q as Lightbox,L as Loader,t as LoadingButton,M as Message,D as Modal,A as ModalButton,z as ModalForm,N as NumberFormat,G as Offcanvas,O as OffcanvasButton,P as Pagination,m as Panel,n as PanelGroup,W as Qrcode,x as RequestButton,R as Result,Z as Select,V as Slider,S as Space,s as Statistic,q as Step,p as Steps,y as Table,e as Toast,X as ToastProvider,H as Tooltip,j as formatLongNumber,h as formatNumber,g as formatSize,l as getAbsoluteUrl,k as isImageUrl,f as isRecord,a3 as isRequestError,r as request,a4 as showRequestError,a2 as useAsyncEffect,a0 as useClipboard,b as useControllableState,u as useDebounce,d as useImmer,$ as useOverlayState,o as usePanel,_ as useRequest,c as useSafeState,a1 as useSpeech,a as useWindowSize,w as waitPayComplete}from"./index-6uEffkau.js";export{StyleSheetManager,ThemeProvider,createGlobalStyle,css,keyframes,default as styled}from"styled-components";export{useAsync,useAsyncCallback}from"react-async-hook";export{useInView}from"react-intersection-observer";export{default as queryString}from"query-string";export{freeze,immerable,produce}from"immer";export{default as dayjs}from"dayjs";import"sweetalert2/dist/sweetalert2.js";import"sweetalert2-react-content";import"react/jsx-runtime";import"react";import"react-bootstrap";import"lodash";import"axios";import"retry-axios";import"notistack";import"path";import"dayjs/locale/zh-cn";import"dayjs/plugin/relativeTime";import"dayjs/plugin/duration";import"classnames";import"use-url-search-params";import"copy-to-clipboard";import"goober";
@@ -0,0 +1 @@
1
+ import{jsx as t}from"react/jsx-runtime";import{memo as a,forwardRef as r,useState as e,useCallback as o,useImperativeHandle as i}from"react";import s from"react-infinite-scroller";import{d as n,r as m,i as p}from"./index-6uEffkau.js";import{last as d}from"lodash";import"sweetalert2/dist/sweetalert2.js";import"sweetalert2-react-content";import"react-bootstrap";import"axios";import"query-string";import"retry-axios";import"notistack";import"path";import"react-async-hook";import"styled-components";import"dayjs";import"dayjs/locale/zh-cn";import"dayjs/plugin/relativeTime";import"dayjs/plugin/duration";import"classnames";import"use-url-search-params";import"copy-to-clipboard";import"goober";import"immer";import"react-intersection-observer";var c=a(r(((a,r)=>{let{source:c,render:l,as:u,useWindow:g,className:f,getState:y,limit:h=10}=a;const[j,w]=e(!1),[x,b]=n({params:{},end:!1,data:[]}),v=o((async function(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!j){w(!0);try{let a;const r=t?{}:x.params;a="string"==typeof c?await m({url:c,params:r}):await c(r),y||(y=t=>p(t)?{params:{page:t.current_page+1},end:t.current_page>=t.last_page,data:t.data}:{params:{offset:d(t)?.id},end:t.length<h,data:t});const e=y(a);b({...e,data:t?e.data:[...x.data,...e.data]})}catch{b({...x,end:!0})}finally{w(!1)}}}),[c,x,y,j]),_=o((()=>{v(!0)}),[v]);i(r,(()=>({reload:_})),[_]);const k=o((t=>{b((a=>{const r=t(a.data);r&&(a.data=r)}))}),[b]);return t(s,{className:f,hasMore:!x.end,pageStart:0,loadMore:()=>{v()},useWindow:g,element:u,children:l({data:x.data,setData:k,end:x.end,loading:j,action:{reload:_}})})})));export{c as default};
@@ -0,0 +1,129 @@
1
+ import{jsx as r}from"react/jsx-runtime";import e from"rc-select";import"rc-select/assets/index.less";import{useRef as o}from"react";import{CloseButton as t}from"react-bootstrap";import s,{css as c}from"styled-components";function i(e){let{size:s,allowClear:c,...i}=e;c=c?{clearIcon:r(t,{})}:void 0;const n=o(null);return r(d,{$size:s,...i,ref:n,allowClear:c,dropdownClassName:"dropdown-menu",getPopupContainer:()=>n.current?.nativeElement||document.body})}const d=s(e)`
2
+ &&& {
3
+ width: 100%;
4
+ font-size: 1rem;
5
+
6
+ .rc-select-selector {
7
+ cursor: pointer;
8
+ display: flex;
9
+ align-items: center;
10
+ width: 100%;
11
+ color: var(--bs-body-color);
12
+ background-color: var(--bs-body-bg);
13
+ background-clip: padding-box;
14
+ border: var(--bs-border-width) solid var(--bs-border-color);
15
+ border-radius: var(--bs-border-radius);
16
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
17
+ padding: 0 0.75rem;
18
+
19
+ .rc-select-selection-wrap {
20
+
21
+ }
22
+
23
+ .rc-select-selection-item, .rc-select-selection-placeholder {
24
+ inset: 0;
25
+ display: flex;
26
+ align-items: center;
27
+ }
28
+
29
+ .rc-select-selection-search-input {
30
+ padding: 0.375rem 0;
31
+ font-size: 1rem;
32
+ background: #FFFFFF;
33
+ border-radius: var(--bs-border-radius);
34
+ cursor: pointer;
35
+ }
36
+
37
+
38
+ }
39
+
40
+ &.rc-select-focused {
41
+ .rc-select-selector {
42
+ olor: var(--bs-body-color);
43
+ background-color: var(--bs-body-bg);
44
+ border-color: var(--bs-focus-border-color, #9eb0ff) !important;
45
+ outline: 0;
46
+ box-shadow: 0 0 0 0.25rem var(--bs-focus-shadow-color, rgba(60, 96, 255, 0.25));
47
+ }
48
+ }
49
+
50
+ .rc-select-clear {
51
+ top: 0;
52
+ right: .375rem;
53
+ bottom: 0;
54
+ display: flex;
55
+ align-items: center;
56
+ }
57
+
58
+ .rc-select-dropdown {
59
+ border: none;
60
+
61
+ &:not(.rc-select-dropdown-hidden) {
62
+ display: block;
63
+ }
64
+
65
+ .rc-select-menu {
66
+ border-left-color: var(--bs-border-color);
67
+ }
68
+
69
+ .rc-select-item {
70
+ cursor: pointer;
71
+ background-color: transparent;
72
+ border: 0;
73
+ border-radius: var(--bs-dropdown-item-border-radius, 0);
74
+ color: var(--bs-dropdown-link-color);
75
+ display: flex;
76
+ font-weight: 400;
77
+ font-size: 1rem;
78
+ align-items: center;
79
+ padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
80
+
81
+ &:focus, &:hover {
82
+ background-color: var(--bs-dropdown-link-hover-bg);
83
+ color: var(--bs-dropdown-link-hover-color);
84
+ }
85
+
86
+ &.rc-select-item-option-selected {
87
+ background-color: var(--bs-dropdown-link-active-bg);
88
+ color: var(--bs-dropdown-link-active-color);
89
+ text-decoration: none;
90
+ }
91
+
92
+ .rc-select-item-option-content {
93
+ white-space: nowrap;
94
+ flex: 1;
95
+ }
96
+
97
+ .rc-select-item-option-state {
98
+ position: static;
99
+ flex-shrink: 1;
100
+ display: flex;
101
+ align-items: center;
102
+ justify-content: center;
103
+ }
104
+ }
105
+ }
106
+
107
+ ${r=>"sm"===r.$size&&c`
108
+ .rc-select-selector {
109
+ border-radius: var(--bs-border-radius-sm);
110
+ padding: 0 0.5rem;
111
+
112
+ .rc-select-selection-search-input {
113
+ padding: 0.25rem 0;
114
+ font-size: 0.875rem;
115
+ min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
116
+ border-radius: var(--bs-border-radius-sm);
117
+ }
118
+ }
119
+
120
+ .rc-select-item, .rc-select-selection-placeholder {
121
+ font-size: 0.875rem;
122
+ }
123
+
124
+ .rc-select-clear {
125
+ font-size: 0.875rem;
126
+ }
127
+ `};
128
+ }
129
+ `;export{i as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@topthink/components",
3
- "version": "1.1.11",
3
+ "version": "1.1.13",
4
4
  "scripts": {
5
5
  "prebuild": "rimraf es types",
6
6
  "build": "rollup -c --environment NODE_ENV:production",
@@ -33,6 +33,7 @@
33
33
  "qrcode.react": "^4.0.1",
34
34
  "query-string": "^8.1.0",
35
35
  "rc-cascader": "^3.33.1",
36
+ "rc-select": "^14.16.6",
36
37
  "rc-slider": "^10.6.2",
37
38
  "rc-steps": "^4.1.4",
38
39
  "rc-table": "^7.47.1",
@@ -74,5 +75,5 @@
74
75
  },
75
76
  "author": "yunwuxin <tzzhangyajun@qq.com> (https://github.com/yunwuxin)",
76
77
  "license": "MIT",
77
- "gitHead": "f98bd75fbb01496c5ce753d876cc0b0d7b6561c0"
78
+ "gitHead": "a2e1d94433fd41c04c5185137951c34150d06adb"
78
79
  }
@@ -0,0 +1,6 @@
1
+ import { SelectProps as RcSelectProps } from 'rc-select';
2
+ import 'rc-select/assets/index.less';
3
+ export interface SelectProps extends RcSelectProps {
4
+ size?: 'sm' | 'lg';
5
+ }
6
+ export default function Select({ size, allowClear, ...props }: SelectProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import type { SelectProps } from './lazy/select';
2
+ export default function Select(props: SelectProps): import("react/jsx-runtime").JSX.Element;
3
+ export { SelectProps };
package/types/index.d.ts CHANGED
@@ -40,6 +40,7 @@ export { default as Slider } from './components/slider';
40
40
  export { default as Qrcode } from './components/qrcode';
41
41
  export { default as ToastProvider } from './components/toast-provider';
42
42
  export { default as Cascader, CascaderProps } from './components/cascader';
43
+ export { default as Select, SelectProps } from './components/select';
43
44
  export { default as useRequest } from './hooks/use-request';
44
45
  export { default as useOverlayState } from './hooks/use-overlay-state';
45
46
  export { default as useControllableState } from './hooks/use-controllable-state';
@@ -1,4 +1,5 @@
1
1
  import dayjs from 'dayjs';
2
2
  import 'dayjs/locale/zh-cn';
3
3
  import 'dayjs/plugin/relativeTime';
4
+ import 'dayjs/plugin/duration';
4
5
  export default dayjs;
@@ -1 +0,0 @@
1
- import{jsx as t,Fragment as r}from"react/jsx-runtime";import{memo as e,useContext as i,useState as o,useEffect as s}from"react";import{I as a}from"./index-p8qeeIlv.js";import{useInView as m}from"react-intersection-observer";import"sweetalert2/dist/sweetalert2.js";import"sweetalert2-react-content";import"react-bootstrap";import"lodash";import"axios";import"query-string";import"retry-axios";import"notistack";import"path";import"react-async-hook";import"styled-components";import"dayjs";import"dayjs/locale/zh-cn";import"dayjs/plugin/relativeTime";import"classnames";import"use-url-search-params";import"copy-to-clipboard";import"goober";import"immer";var n=e((e=>{let{lazy:n=!0,...c}=e;const{registerImage:p,setShow:l,setCurrent:h,getId:d}=i(a),[g,w]=o(),[u,f]=o(!1),{ref:y,inView:v}=m({threshold:.2,skip:!n,initialInView:!0}),[x]=o(d);if(s((()=>{if(c.src)return p(x,c.src)}),[]),u)return t(r,{children:c.alt?`[图片加载失败:${c.alt}]`:" "});const j=!v&&n&&g?"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3e %3crect width='1' height='1' fill='none'/%3e%3c/svg%3e":c.src;return t("img",{width:g?.[0],height:g?.[1],onLoad:t=>{g||w([t.currentTarget.clientWidth,t.currentTarget.clientHeight])},onError:()=>{f(!0)},ref:y,...c,alt:void 0,src:j,onClick:()=>{h(x),l(!0)}})}));export{n as default};
@@ -1,4 +0,0 @@
1
- import{jsxs as t,jsx as r}from"react/jsx-runtime";import{useState as o,useCallback as e}from"react";import i,{useController as n,useLightboxState as a}from"yet-another-react-lightbox";import s from"yet-another-react-lightbox/plugins/counter";import l from"yet-another-react-lightbox/plugins/download";import m from"yet-another-react-lightbox/plugins/zoom";import p 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"./index-p8qeeIlv.js";import u from"styled-components";import"sweetalert2/dist/sweetalert2.js";import"sweetalert2-react-content";import"react-bootstrap";import"lodash";import"axios";import"query-string";import"retry-axios";import"notistack";import"path";import"react-async-hook";import"dayjs";import"dayjs/locale/zh-cn";import"dayjs/plugin/relativeTime";import"classnames";import"use-url-search-params";import"copy-to-clipboard";import"goober";import"immer";import"react-intersection-observer";const d={counter:s,zoom:m,download:l,thumbnails:p};let g=0;function h(i){let{children:s,render:l,zoom:m,toolbar:p,plugins:u=["counter","zoom","download"]}=i;const[h,y]=o((()=>new Map)),[x,f]=o(),[w,_]=o(!1),k=e(((t,r)=>(y((o=>new Map(o).set(t,r))),()=>{y((r=>{const o=new Map(r);return o.delete(t)?o:r}))})),[]),v=Array.from(h.keys()),j=v.indexOf(x),z=v.map((t=>{const r=h.get(t);return"string"==typeof r?{src:r}:{render:r}})),C=e((()=>g++),[]);return t(c.Provider,{value:{images:h,current:x,setCurrent:f,setShow:_,registerImage:k,getId:C},children:[s,r(b,{plugins:u.map((t=>d[t])),open:w,index:j,close:()=>_(!1),slides:z,carousel:{finite:!0,preload:3},toolbar:p?.({useController:n,useLightboxState:a}),zoom:m,render:{...l,buttonPrev:z.length<=1?()=>null:void 0,buttonNext:z.length<=1?()=>null:void 0,slide:t=>{let{slide:r}=t;if("render"in r)return r.render()}},controller:{closeOnBackdropClick:!0}})]})}const b=u(i)`
2
- --yarl__color_backdrop: rgba(0, 0, 0, .7);
3
- --yarl__thumbnails_container_background_color: rgba(0, 0, 0, .9);
4
- `;export{h as default};
@@ -1 +0,0 @@
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{c as p,r as m,B as l}from"./index-p8qeeIlv.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"notistack";import"path";import"react-async-hook";import"styled-components";import"dayjs";import"dayjs/locale/zh-cn";import"dayjs/plugin/relativeTime";import"classnames";import"use-url-search-params";import"copy-to-clipboard";import"goober";import"immer";import"react-intersection-observer";const d=require("ajv-i18n/localize/zh"),u=a.lazy((()=>import("./editor-widget-ZqrBTAWC.js"))),f=o=>t(a.Suspense,{fallback:null,children:t(u,{...o})}),y={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})}},h=e(((r,a)=>{let{action:e,method:u="post",onSuccess:f,formData:h,onSubmitting:w,onSubmit:g,onChange:b,submitText:v="保存",transformData:j,children:x,...D}=r;const[S,k]=n(),[q,z]=p(!1),[_,E]=n(h),F=i((async(t,o)=>{if(!q)try{if(z(!0),w&&w(!0),e){let{formData:o}=t;j&&(o=j(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{z(!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 x&&(x=x({submit:N,loading:q})),t(o,{ref:a,extraErrors:S,onSubmit:F,transformErrors:C,noHtml5Validate:!0,noValidate:!0,...D,formData:_,onChange:U,widgets:y,children:x||t("div",{className:"col-12",children:N})})}));export{h as default};
@@ -1,78 +0,0 @@
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 a,useState as i,useEffect as s,createContext as c,Fragment as l,useContext as d,useCallback as u,useMemo as h,forwardRef as m,lazy as f,Suspense as p,Children as g,createElement as y,useImperativeHandle as w,memo as v}from"react";import{OverlayTrigger as b,Tooltip as x,Spinner as k,Button as C,Modal as N,ButtonGroup as S,ToggleButton as z,Card as P,Accordion as j,Stack as T,Alert as $,Pagination as H,Offcanvas as B,Row as E,Col as L}from"react-bootstrap";import{uniqueId as _,values as D,omit as R,debounce as M}from"lodash";import F from"axios";import O from"query-string";import*as A from"retry-axios";import{enqueueSnackbar as U,SnackbarProvider as I}from"notistack";import q from"path";import{useAsyncCallback as W}from"react-async-hook";import G,{css as K,createGlobalStyle as V}from"styled-components";import Y from"dayjs";import"dayjs/locale/zh-cn";import Q from"dayjs/plugin/relativeTime";import J from"classnames";import{useUrlSearchParams as X}from"use-url-search-params";import Z from"copy-to-clipboard";import*as ee from"goober";import{freeze as te,produce as ne}from"immer";import"react-intersection-observer";const re=()=>{document.body.style.setProperty("--vh",window.innerHeight/100+"px"),document.body.style.setProperty("--100vh",window.innerHeight+"px")};window.addEventListener("resize",re),re();const oe=t(e),ae={confirmButtonText:"确定",cancelButtonText:"取消"},ie={confirm:async e=>{const{isConfirmed:t}=await oe.fire({...ae,icon:"warning",showCancelButton:!0,...e,async preConfirm(t){if(e.preConfirm)try{return await e.preConfirm(t)}catch(e){return e instanceof Error&&oe.showValidationMessage(e.message),!1}return!0}});return t},success:e=>{oe.fire({...ae,toast:!0,position:"top",icon:"success",timer:2e3,showConfirmButton:!1,...e})},error:e=>{oe.fire({...ae,toast:!0,position:"top",icon:"error",timer:5e3,showConfirmButton:!1,...e})},close:e=>{oe.close(e)},defaults:ae};const se=c({});function ce(e){return t=>{let{resolve:r,destroy:o,message:c}=t;const[l,m]=function(e){const t=a(null),[n,r]=i(e);return s((()=>{t.current&&(t.current(),t.current=null)}),[n]),[n,(e,n)=>{t.current="function"==typeof n?n:null,r(e)}]}(!0),f=d(se),p=u((e=>{m(!1,(()=>{r(e)}))}),[m,r]),g=h((()=>({show:l,onHide:()=>p(),onExited:()=>o(),container:f.container})),[l,p,o]);return n(e,{resolve:p,state:g,message:c})}}function le(e){return t=>new Promise((r=>{const o=n(e,{resolve:r,destroy:()=>{me(o)},message:t});he(o)}))}let de=()=>{},ue=new Set;const he=e=>{ue=new Set(ue),ue.add(e),de(ue)},me=e=>{ue=new Set(ue),ue.delete(e),de(ue)};function fe(e,t){return le(ce(e))(t)}function pe(e){let{tooltip:t,children:r,placement:o="bottom"}=e;return n(b,{placement:o,overlay:n(x,{id:_(),children:t}),children:r})}const ge=c(!1),ye=m(((e,t)=>{let{loading:a,percent:i,disabled:s,children:c,tooltip:l,variant:u,...h}=e;d(ge)&&!u&&(u="link"),a&&(s=!0,c=r(o,{children:[n(k,{ref:t,as:"span",size:"sm",role:"status","aria-hidden":"true",animation:"border"}),i?r("span",{className:"ms-2",children:[i,"%"]}):null]}));const m=n(C,{ref:t,...h,variant:u,disabled:s,children:c});return l?n(pe,{tooltip:l,children:n("span",{className:"d-inline-block",children:m})}):m})),we=function(e){let{state:t,message:{title:o,message:a,okText:i,cancelText:s},resolve:c}=e;return r(N,{...t,children:[n(N.Header,{children:n(N.Title,{as:"h5",children:o||"确认"})}),n(N.Body,{children:a}),r(N.Footer,{children:[n(ye,{variant:"secondary",onClick:()=>c(),children:s||"取消"}),n(ye,{onClick:()=>c(!0),children:i||"确定"})]})]})};const ve=e=>{let{header:t,children:a,footer:s,closable:c=!0,show:l,cancelText:d="取消",okText:u="确定",onOk:m,onCancel:f,onHide:p,okButtonProps:g,bodyAs:y,headerAs:w="h5",confirmLoading:v=!1,...b}=e;const[x,k]=i(!1),C=h((()=>n(ye,{loading:x||v,variant:"primary",onClick:async e=>{k(!0);try{await(m?.(e)),e.defaultPrevented||p?.()}finally{k(!1)}},...g,children:u})),[g,u,m,p,x,v]),S=h((()=>n(ye,{variant:"secondary",onClick:e=>{f?.(e),e.defaultPrevented||p?.()},children:d})),[f,p,d]),z={close:()=>{p?.()}};switch(typeof s){case"undefined":s=r(o,{children:[S,C]});break;case"function":s=s({okButton:C,cancelButton:S,action:z})}return r(N,{...b,onHide:p,show:l,children:[t&&n(N.Header,{closeButton:c,children:n(N.Title,{as:w,children:t})}),n(N.Body,{as:y,children:a}),s&&n(N.Footer,{children:s})]})};ve.Message=function(e){const[t,r]=i(ue);return s((()=>{de=r}),[]),n(se.Provider,{value:e,children:Array.from(t).map(((e,t)=>n(l,{children:e},`message-${t}`)))})},ve.confirm=function(e){return le(ce(we))(e)},ve.show=fe;const be=["default","error","warning","success","info"].reduce(((e,t)=>(e[t]=(e,n)=>U(e,{variant:t,autoHideDuration:3e3,anchorOrigin:{vertical:"top",horizontal:"center"},...n}),e)),{});function xe(e){return e&&"object"==typeof e}A.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";const ke=F.isAxiosError,Ce=e=>{if(!F.isAxiosError(e))throw e;be.error(e.message)},Ne=function(e){e?.baseURL&&(e.baseURL=q.resolve(F.defaults.baseURL||"/",e.baseURL));const t=F.create(e);return A.attach(t),t.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))),t.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":xe(t)?422===n?e.errors=t:"message"in t&&(e.errors=t.message):e.errors=t,"string"!=typeof e.errors?e.message=Object.values(e.errors).join("<br />"):e.message=e.errors}return Promise.reject(e)})),t},Se=async function(e,t){if(t||(t=Ne()),e="string"==typeof e?{url:e}:e,(e={paramsSerializer:function(e){return O.stringify(e,{sort:!1,skipNull:!0,skipEmptyString:!0,arrayFormat:"bracket"})},...e}).onMessage){let t=0,n="",r=null;const o=e.onMessage;e.onDownloadProgress=e=>{const a=e.target,{responseText:i}=a;for(;t<e.loaded;){const e=i.substring(t,++t);if(n+=e,"\n"===e){if(r||(r={id:"",event:"",data:""}),"\n"===n)o(r),r=null;else{const e=n.match(/^data:(?<data>.*)/);e&&(r.data=e.groups.data.trim())}n=""}}}}const{data:n}=await t.request(e);return n};Se.create=function(e){const t=Ne(e),n=e=>Se(e,t);return n.interceptors=t.interceptors,n},Se.defaults=F.defaults,Se.interceptors=F.interceptors;function ze(e){const t=(()=>{const e=a(!1);return s((()=>(e.current=!1,()=>{e.current=!0})),[]),e})(),[n,r]=i(e);return[n,u((e=>{t.current||r(e)}),[])]}function Pe(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{locale:n="zh-CN",currency:r=!0,...o}=t;let a;a=r?{style:"currency",currency:"CNY"}:{minimumFractionDigits:2};return new Intl.NumberFormat(n,{...a,...o}).format(e)}function je(e){let{manual:t,refreshDeps:n,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{execute:o,currentParams:a,error:i,...c}=W((async t=>(e="string"==typeof e?{url:e}:e,await Se({...e,...t}))),r);s((()=>{if(!t&&!n)try{o()}catch{}}),[]),s((()=>{n&&l()}),n);const l=u((async()=>{try{a?await o(...a):await o()}catch{}}),[o,a]);if(i&&ke(i)){const e=i.errors;i=new Error("string"==typeof e?e:D(e).join(""))}return{refresh:l,execute:o,error:i,...c}}function Te(e){let{active:t,inverted:r,...o}=e;return n($e,{$active:t,$inverted:r,...o})}G.div`
2
- position: relative;
3
- `;const $e=G.div`
4
- display: ${e=>e.$active?"flex":"none"};
5
- position: absolute;
6
- top: 0 !important;
7
- left: 0 !important;
8
- width: 100%;
9
- height: 100%;
10
- text-align: center;
11
- vertical-align: middle;
12
- padding: 1em;
13
- background-color: ${e=>e.$inverted?"rgba(255, 255, 255, .85)":"rgba(0, 0, 0, .85)"};
14
- opacity: ${e=>e.$active?1:0};
15
- line-height: 1;
16
- animation-fill-mode: both;
17
- animation-duration: .5s;
18
- transition: background-color .5s linear;
19
- flex-direction: column;
20
- align-items: center;
21
- justify-content: center;
22
- user-select: none;
23
- will-change: opacity;
24
- z-index: 990;
25
- `;function He(e){let{loading:t=!0,children:o,variant:a="primary",animation:i="border",wrap:s,...c}=e;return t?(o&&(o=n("p",{className:"mt-3 text-secondary",children:o})),o=r(Te,{inverted:!0,active:!0,children:[n(k,{animation:i,variant:a,...c}),o]}),s?n(Be,{$height:"number"==typeof s?s:150,children:o}):o):null}const Be=G.div`
26
- position: relative;
27
- height: ${e=>`${e.$height}px`};
28
- `,Ee=f((async()=>{const{QRCodeSVG:e}=await import("qrcode.react");return{default:e}}));function Le(e){return n(p,{fallback:null,children:n(Ee,{...e})})}const _e=function(e){let{state:t,message:r,resolve:o}=e;const i=a(!0),{result:c,checkUrl:l,onComplete:d}=r,[u,h]=ze(!1);return s((()=>{Se({url:l,method:"post",data:{order_no:c.order_no},raxConfig:{shouldRetry:e=>i.current&&449===e.response?.status}}).then((()=>{d?.(),o()})).catch((()=>null))}),[]),n(ve,{...t,centered:!0,onHide:()=>{i.current=!1,t.onHide()},backdrop:"static",header:"支付结果",okText:"已完成支付",okButtonProps:{loading:u},onOk:async e=>{e.preventDefault();try{h(!0),await Se({url:l,method:"post",data:{order_no:c.order_no,force:!0},raxConfig:{shouldRetry:()=>!1}}),d?.(),o()}catch(e){ke(e)&&be.error(e.message)}finally{h(!1)}},cancelText:"取消",children:"请在新打开的页面上进行支付,支付完成后再关闭此窗口"})},De=function(e){let{state:t,message:o,resolve:i}=e;const c=a(!0),{result:{pay_options:l,order_no:d},checkUrl:u,onComplete:h}=o,[m,f]=ze(l.channels.alipay?"alipay":"wechat"),[p,g]=ze(!1);s((()=>{Se({url:u,method:"post",data:{order_no:d},raxConfig:{shouldRetry:e=>c.current&&449===e.response?.status}}).then((()=>{h?.(),i()})).catch((()=>null))}),[]);const{loading:y,result:w}=je({url:l.url,method:"POST",data:{channel:m,order_no:d}},{refreshDeps:[m]});return r(ve,{...t,onHide:()=>{c.current=!1,t.onHide()},centered:!0,backdrop:"static",header:"收银台",okText:"已完成支付",okButtonProps:{loading:p},onOk:async e=>{e.preventDefault();try{g(!0),await Se({url:u,method:"post",data:{order_no:d,force:{channel:m}},raxConfig:{shouldRetry:()=>!1}}),h?.(),i()}catch(e){ke(e)&&be.error(e.message)}finally{g(!1)}},cancelText:"取消",children:[r("dl",{className:"row",children:[n("dt",{className:"col-3",children:"商品名称"}),n("dd",{className:"col-9",children:l.subject})]}),r("dl",{className:"row",children:[n("dt",{className:"col-3",children:"支付金额"}),n("dd",{className:"col-9 text-success h3",children:Pe(l.amount/100)})]}),r("dl",{className:"row",children:[n("dt",{className:"col-3",children:"支付方式"}),n("dd",{className:"col-9",children:r(S,{children:[l.channels.alipay&&n(z,{id:"payment-alipay",type:"radio",variant:"alipay"===m?"primary":"outline-primary",name:"alipay",value:"alipay",checked:"alipay"===m,onChange:()=>f("alipay"),children:"支付宝"}),l.channels.alipay&&n(z,{id:"payment-wechat",type:"radio",variant:"wechat"===m?"primary":"outline-primary",name:"wechat",value:"wechat",checked:"wechat"===m,onChange:()=>f("wechat"),children:"微信支付"})]})})]}),r("dl",{className:"row mb-0",children:[n("dt",{className:"col-3",children:"扫码支付"}),r("dd",{className:"col-9",children:[n(He,{loading:y,wrap:200}),w&&n(Le,{size:200,value:w.data})]})]})]})};function Re(e){const{result:t}=e;t.pay_url?(window.opener=null,window.innerWidth<992?location.href=t.pay_url:(window.open(t.pay_url),fe(_e,e))):fe(De,e)}function Me(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;const n=["","K","M","G"];let r=0;for(;e>=1024&&r<n.length-1;)e/=1024,r++;return e%1==0&&(t=0),e.toFixed(t)+n[r]}function Fe(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;const n=["","K","M","G"];let r=0;for(;e>=1e3&&r<n.length-1;)e/=1e3,r++;return e%1==0&&(t=0),e.toFixed(t)+n[r]}function Oe(e){const t=q.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 Ae(e){const t=document.createElement("a");return t.href=e,t.href}Y.locale("zh-cn"),Y.extend(Q);const Ue={success:n("i",{className:"bi bi-check-circle-fill text-success"}),error:n("i",{className:"bi bi-exclamation-circle-fill text-danger"}),info:n("i",{className:"bi bi-info-circle-fill text-info"}),warning:n("i",{className:"bi bi-exclamation-triangle-fill text-warning"})};function Ie(e){let{className:t,status:o,title:a,icon:i,extra:s}=e;return!i&&o&&(i=Ue[o]),r(qe,{className:t,children:[i&&n(We,{children:i}),a&&n(Ge,{children:a}),s&&n(Ke,{children:s})]})}const qe=G.div`
29
- padding: 48px 32px;
30
- `,We=G.div`
31
- margin-bottom: 24px;
32
- text-align: center;
33
- font-size: 72px;
34
- `,Ge=G.div`
35
- color: rgba(0, 0, 0, .85);
36
- font-size: 24px;
37
- line-height: 1.8;
38
- text-align: center;
39
- `,Ke=G.div`
40
- margin-top: 32px;
41
- text-align: center;
42
- `;function Ve(e){let{children:t,title:a,className:i,...s}=e;return n(Ye,{className:J("border-0 shadow-sm",i),...s,children:r("div",{className:"card-body",children:[a&&r(o,{children:[n("h5",{children:a}),n("hr",{})]}),t]})})}const Ye=G(P)`
43
- &:not(:last-child) {
44
- margin-bottom: 1rem;
45
- }
46
- `,Qe=c(void 0);function Je(e){let{children:t}=e;const[r,o]=i(new Set),a=u((e=>{e&&"string"==typeof e&&(e=[e]),o(new Set(e))}),[o]);return n(Qe.Provider,{value:[r,o],children:n(j,{activeKey:Array.from(r),onSelect:a,alwaysOpen:!0,children:t})})}const Xe=()=>{const e=d(Qe);if(!e)throw new Error("usePanel must be used within a PanelGroup");return e};function Ze(e){let{title:t,action:a,children:i,eventKey:c,open:l}=e;if(c){const[,e]=Xe();s((()=>{void 0!==l&&e((e=>l?new Set([...e,c]):new Set([...e].filter((e=>e!==c)))))}),[l]),i=n(j.Collapse,{eventKey:c,children:r(o,{children:[n("hr",{}),i]})})}else i=r(o,{children:[n("hr",{}),i]});return r(Ve,{children:[r(T,{direction:"horizontal",children:[n("div",{className:"fs-5 me-auto",children:t}),a]}),i]})}function et(e){let{errors:t}=e;return t?n($,{variant:"danger",children:n("ul",{className:"mb-0",children:"string"==typeof t?n("li",{children:t}):Object.entries(t).map((e=>{let[t,r]=e;return n("li",{children:r},t)}))})}):null}function tt(e){let{children:t,className:r,size:o="small",direction:a="horizontal"}=e;"string"==typeof o&&(o={small:8,middle:16,large:24}[o]);const i=g.map(t,(e=>{if(e)return n(rt,{children:e})}));return n(nt,{className:r,$direction:a,$size:o,children:i})}const nt=G.div`
47
- display: inline-flex;
48
- align-items: center;
49
- gap: ${e=>e.$size}px;
50
-
51
- ${e=>"vertical"===e.$direction&&K`
52
- display: flex;
53
- flex-direction: column;
54
- align-items: inherit;
55
- `}
56
- `,rt=G.div`
57
-
58
- `,ot=f((()=>import("./steps-b_BcYIwk.js"))),at=f((()=>import("./steps-b_BcYIwk.js").then((e=>{let{Step:t}=e;return{default:t}}))));function it(e){return n(p,{fallback:null,children:n(ot,{...e})})}const st=function(e){return n(p,{fallback:null,children:n(at,{...e})})};function ct(e){let{title:t,content:o,footer:a}=e;return r(Ve,{children:[n(ut,{children:t}),n(dt,{children:o}),a&&n(lt,{children:a})]})}it.Step=st;const lt=G.div`
59
- margin-top: 9px;
60
- padding-top: 10px;
61
- border-top: 1px solid #f0f0f0;
62
- color: rgba(0, 0, 0, .65);
63
- `,dt=G.div`
64
- color: rgba(0, 0, 0, .85);
65
- font-size: 24px;
66
- `,ut=G.div`
67
- margin-bottom: 4px;
68
- color: rgba(0, 0, 0, .45);
69
- font-size: 1.1rem;
70
- `;function ht(){}function mt(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e}function ft(e){return"current_page"in e}function pt(e){let{total:t=0,onChange:r=ht,defaultCurrent:o=1,defaultPageSize:a=10,className:c,...l}=e;const[d,m]=i(o),[f,p]=i(a);s((()=>{mt(l.current)&&m(l.current)}),[l.current]),s((()=>{mt(l.pageSize)&&p(l.pageSize)}),[l.pageSize]);const g=h((()=>Math.floor((t-1)/f)+1),[t,f]),y=u((e=>()=>{e!==d&&(m(e),r(e,f))}),[r,d,f]),w=d-1>0?d-1:0,v=d+1<g?d+1:g,b=[];let x=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(H.Item,{active:t,onClick:y(e),children:e},e))}else{N=n(H.Last,{onClick:y(g)},"last"),C=n(H.First,{onClick:y(1)},"first"),x=n(H.Prev,{onClick:y(w)},"prev"),k=n(H.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(H.Item,{active:e,onClick:y(r),children:r},r))}d-1>=4&&3!==d&&b.unshift(x),g-d>=4&&d!==g-2&&b.push(k),1!==e&&b.unshift(C),t!==g&&b.push(N)}return n(H,{className:c,children:b})}function gt(e){let{className:t,value:r,locale:a="zh-CN",currency:i=!0,options:s={}}=e;const c=h((()=>{let e;return e=i?{style:"currency",currency:"CNY"}:{minimumFractionDigits:2},new Intl.NumberFormat(a,{...e,...s})}),[i,a,s]);return t?n("span",{className:t,children:c.format(r)}):n(o,{children:c.format(r)})}function yt(e){let{loading:t,disabled:r,children:o,...a}=e;return n(C,{...a,disabled:t||r,children:t?"Loading…":o})}const wt=f((()=>import("./image-zoom-OrIPGqh0.js")));function vt(e){return n(p,{fallback:null,children:n(wt,{...e})})}const bt=m(((e,t)=>{let{confirm:n,onSuccess:r,children:o,disabled:a,as:i=ye,onError:s,...c}=e;const[l,d]=ze(!1),h=u((async e=>{e.preventDefault(),e.stopPropagation();try{if(d(!0),n&&!await ve.confirm({message:n}))return;let e;if("onRequest"in c)e=await c.onRequest();else{const t="string"==typeof c.url?{url:c.url,method:c.method}:{method:c.method,...c.url};e=await Se(t)}r&&r(e)}catch(e){if(!(e instanceof Error))throw e;s?s(e):be.error(e.message,{preventDuplicate:!0})}finally{d(!1)}}),[c,d]);return y(i,{...R(c,["onRequest","url","method"]),disabled:a||l,onClick:h,ref:t},o)})),xt=f((()=>import("./index-KQa41WB6.js"))),kt=m(((e,t)=>n(p,{fallback:null,children:n(xt,{...e,ref:t})}))),Ct=f((()=>import("./index-ZNU2QHcq.js"))),Nt=m(((e,t)=>n(p,{fallback:null,children:n(Ct,{...e,ref:t})})));let St=0;function zt(){let{onHide:e,onShow:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const[n,r]=i(!1),[o,a]=i(`visible-${St}`),s=u((()=>{r(!1),e&&e()}),[r,e]),c=u((()=>{a("visible-"+ ++St)}),[a,St]);return{visible:n,show:u((()=>{r(!0),t&&t()}),[r,t]),hide:s,state:{show:n,onHide:s,onExited:c,key:o}}}const Pt=m(((e,t)=>{let{text:a,onOk:i,modalProps:s,children:c,onShow:l,onHide:d,confirmLoading:u,as:h=ye,...m}=e;const{state:f,show:p,hide:g}=zt({onShow:l,onHide:d});w(t,(()=>({close:g})));const v=y(h,{...m,onClick:e=>{e.preventDefault(),e.stopPropagation(),p()}},a);return r(o,{children:[v,n(ve,{header:a,...s,...f,confirmLoading:u,onOk:async e=>{if(i){!1===await i()&&e.preventDefault()}},children:c})]})})),jt=m(((e,t)=>{let{text:o,onSuccess:s,onSubmit:c,buttonProps:l,modalProps:d,children:h,...m}=e;const[f,p]=i(!1),g=a(null),y=a(null);w(t,(()=>({close:()=>{g.current?.close()}})));const v=u((()=>(y.current?.submit(),!1)),[]),b=u((e=>{s&&s(e),g.current?.close()}),[s]),x=u((async(e,t)=>{c&&await c(e,t)&&g.current?.close()}),[c]);return n(Pt,{ref:g,text:o,...l,modalProps:d,onOk:v,confirmLoading:f,children:r(kt,{...m,onSubmitting:p,ref:y,onSuccess:b,onSubmit:x,children:[h,n("input",{type:"submit",hidden:!0})]})})}));function Tt(e){let{header:t,children:o,closable:a=!0,show:i,onHide:s,bodyAs:c,headerAs:l="h5",...d}=e;return r(B,{...d,onHide:s,show:i,children:[t&&n(B.Header,{closeButton:a,children:n(B.Title,{as:l,children:t})}),n(B.Body,{as:c,children:o})]})}const $t=m(((e,t)=>{let{text:a,offcanvasProps:i,children:s,onShow:c,onHide:l,as:d=ye,...u}=e;const{state:h,show:m,hide:f}=zt({onShow:c,onHide:l});w(t,(()=>({close:f})));const p=y(d,{...u,onClick:m},a);return r(o,{children:[p,n(Tt,{header:a,...i,...h,children:s})]})}));function Ht(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const n=a(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 Bt(e){const{value:t,defaultValue:n,onChange:r,shouldUpdate:o=((e,t)=>e!==t)}=e,a=Ht(r),s=Ht(o),[c,l]=i(n),d=void 0!==t,u=d?t:c,h=Ht((e=>{const t="function"==typeof e?e(u):e;s(u,t)&&(d||l(t),a(t))}),[d,a,u,s]);return[u,h]}const Et=m(((e,t)=>{let{className:o,rowClassName:c,paginate:l=!0,sync:d=!1,columns:h=3,source:m,renderItem:f,renderEmpty:p}=e;const[g,y]=i([]),[v,b]=i(l?{total:0,current:1,pageSize:10}:null),[x,k]=i(!0),[C,N]=X({}),[S,z]=Bt({value:d?C.page||1:void 0,defaultValue:1,onChange:e=>{d&&N({page:e||void 0})}}),P=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 Se({url:m,params:t}):await m(t),l&&ft(e)&&(e.last_page>1&&b({total:e.total,current:e.current_page,pageSize:e.per_page}),e=e.data),y(e)}catch(e){}finally{k(!1)}}),[m,y,S]);s((()=>{P()}),[S]),s((()=>{j.current={reload:P}}),[P]);const j=a({reload:P});return w(t,(()=>j.current)),r(Lt,{className:o,children:[n(He,{wrap:!0,loading:x}),0===g.length&&!x&&p?.(),n(E,{className:J(c,"g-4"),children:g.map(((e,t)=>n(L,{className:"d-flex",md:12/h,children:f(e)},`card-${t}`)))}),v&&n(_t,{...v,onChange:z})]})})),Lt=G.div`
71
-
72
- `,_t=G(pt)`
73
- margin-bottom: 0;
74
- justify-content: flex-end;
75
- margin-top: 1rem;
76
- `;var Dt=v(Et);function Rt(){const[e,t]=i(!1),n=a();return s((()=>()=>{n.current&&clearTimeout(n.current)}),[]),{copied:e,copy:u((e=>{Z(e),t(!0),n.current&&clearTimeout(n.current),n.current=setTimeout((()=>{t(!1),n.current=void 0}),3e3)}),[])}}function Mt(e){let{as:t="div",className:r,content:o,tooltip:a=!0,placement:i}=e;const{copy:s,copied:c}=Rt(),l=a?n("i",c?{className:"bi bi-clipboard-check"}:{className:"bi bi-clipboard"}):c?"已复制":"复制",d=y(t,{role:"button",className:r,onClick:()=>{"function"==typeof o&&(o=o()),s(o)}},l);return a?n(pe,{tooltip:c?"已复制":"复制",placement:i,children:d}):d}const Ft=c({images:new Map,current:0,setCurrent:()=>null,setShow:()=>null,registerImage:()=>()=>null,getId:()=>0}),Ot=f((()=>import("./index-ILoqhTK8.js"))),At=f((()=>import("./image-NFxDL3It.js")));function Ut(e){return n(p,{fallback:null,children:n(Ot,{...e})})}Ut.Image=function(e){return n(p,{fallback:null,children:n(At,{...e})})},Ut.Context=Ft;const It=f((()=>import("./infinite-scroller-3KIeEQQa.js"))),qt=m(((e,t)=>n(p,{fallback:null,children:n(It,{...e,ref:t})}))),Wt=f((()=>import("./slider-KuqHu6UH.js")));function Gt(e){return n(p,{fallback:null,children:n(Wt,{...e})})}function Kt(e){let{children:t}=e;return r(I,{children:[n(Vt,{}),t]})}const Vt=V`
77
- ${ee.extractCss()}
78
- `,Yt=f((()=>import("./cascader-pKgfaE9t.js")));function Qt(e){return n(p,{fallback:null,children:n(Yt,{...e})})}function Jt(e,t,n){const r=a(e),o=a(M(e,t,n));return s((()=>{r.current=e})),s((()=>{o.current=M((function(){r.current(...arguments)}),t,n)}),[t,n]),o.current}function Xt(e){const[t,n]=i((()=>te("function"==typeof e?e():e,!0)));return[t,u((e=>{n("function"==typeof e?ne(e):te(e))}),[])]}function Zt(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"lg";function t(){const t=e=>{switch(e){case"xxl":return window.innerWidth>=1400;case"xl":return window.innerWidth>=1200;case"lg":return window.innerWidth>=992;case"md":return window.innerWidth>=768;case"sm":return window.innerWidth>=576;default:return!0}};return{isMobile:!t(e),width:window.innerWidth,match:t}}const[n,r]=i(t),o=Jt((()=>{r(t())}),100);return s((()=>(window.addEventListener("resize",o),()=>window.removeEventListener("resize",o))),[]),n}var en;!function(e){e[e.init=0]="init",e[e.play=1]="play",e[e.pause=2]="pause",e[e.end=3]="end"}(en||(en={}));const tn=(e,t)=>{let n=a(!1);const[r,o]=i((()=>{const{lang:e="default",name:n=""}=t.voice||{};return{isPlaying:!1,status:en[en.init],lang:t.lang||"default",voiceInfo:{lang:e,name:n},rate:t.rate||1,pitch:t.pitch||1,volume:t.volume||1}})),c=u((()=>{n.current&&o((e=>({...e,isPlaying:!0,status:en[en.play]})))}),[]),l=u((()=>{n.current&&o((e=>({...e,isPlaying:!1,status:en[en.pause]})))}),[]),d=u((()=>{n.current&&o((e=>({...e,isPlaying:!1,status:en[en.end]})))}),[]);return s((()=>{n.current=!0;const r=new SpeechSynthesisUtterance(e);return t.lang&&(r.lang=t.lang),t.voice&&(r.voice=t.voice),r.rate=t.rate||1,r.pitch=t.pitch||1,r.volume=t.volume||1,r.onstart=c,r.onpause=l,r.onresume=c,r.onend=d,window.speechSynthesis.speak(r),()=>{n.current=!1}}),[]),r};function nn(e,t){s((()=>{const t=e();!async function(){await t}()}),t)}export{Rt as $,Pt as A,ye as B,Ve as C,ve as D,et as E,kt as F,Tt as G,pe as H,Ft as I,Dt as J,Mt as K,He as L,ie as M,gt as N,$t as O,pt as P,Ut as Q,Ie as R,tt as S,ge as T,qt as U,Gt as V,Le as W,Kt as X,Qt as Y,je as Z,zt as _,Zt as a,tn as a0,nn as a1,ke as a2,Ce as a3,Bt as b,ze as c,Xt as d,be as e,xe as f,Me as g,Pe as h,ft as i,Fe as j,Oe as k,Ae as l,Ze as m,Je as n,Xe as o,it as p,st as q,Se as r,ct as s,yt as t,Jt as u,vt as v,Re as w,bt as x,Nt as y,jt as z};
@@ -1 +0,0 @@
1
- import{jsx as t}from"react/jsx-runtime";import{memo as a,forwardRef as r,useState as e,useCallback as o,useImperativeHandle as i}from"react";import s from"react-infinite-scroller";import{d as m,r as n,i as p}from"./index-p8qeeIlv.js";import{last as d}from"lodash";import"sweetalert2/dist/sweetalert2.js";import"sweetalert2-react-content";import"react-bootstrap";import"axios";import"query-string";import"retry-axios";import"notistack";import"path";import"react-async-hook";import"styled-components";import"dayjs";import"dayjs/locale/zh-cn";import"dayjs/plugin/relativeTime";import"classnames";import"use-url-search-params";import"copy-to-clipboard";import"goober";import"immer";import"react-intersection-observer";var c=a(r(((a,r)=>{let{source:c,render:l,as:u,useWindow:f,className:g,getState:y,limit:h=10}=a;const[w,j]=e(!1),[x,b]=m({params:{},end:!1,data:[]}),v=o((async function(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!w){j(!0);try{let a;const r=t?{}:x.params;a="string"==typeof c?await n({url:c,params:r}):await c(r),y||(y=t=>p(t)?{params:{page:t.current_page+1},end:t.current_page>=t.last_page,data:t.data}:{params:{offset:d(t)?.id},end:t.length<h,data:t});const e=y(a);b({...e,data:t?e.data:[...x.data,...e.data]})}catch{b({...x,end:!0})}finally{j(!1)}}}),[c,x,y,w]),_=o((()=>{v(!0)}),[v]);i(r,(()=>({reload:_})),[_]);const k=o((t=>{b((a=>{const r=t(a.data);r&&(a.data=r)}))}),[b]);return t(s,{className:g,hasMore:!x.end,pageStart:0,loadMore:()=>{v()},useWindow:f,element:u,children:l({data:x.data,setData:k,end:x.end,loading:w,action:{reload:_}})})})));export{c as default};