ode-explorer 1.0.1 → 1.0.2-dev.202309271434
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/dist/AppAction.js +1 -1
- package/dist/Card.js +1 -1
- package/dist/DeleteModal.js +1 -1
- package/dist/EditFolderModal.js +1 -1
- package/dist/EditResourceModal.js +1 -1
- package/dist/EmptyScreen.js +1 -1
- package/dist/EmptyScreenApp.js +1 -1
- package/dist/EmptyScreenError.js +1 -0
- package/dist/EmptyScreenNoContentInFolder.js +1 -1
- package/dist/EmptyScreenSearch.js +1 -0
- package/dist/EmptyScreenTrash.js +1 -1
- package/dist/FoldersList.js +1 -1
- package/dist/Heading.js +1 -0
- package/dist/Library.js +1 -1
- package/dist/MoveModal.js +1 -1
- package/dist/OnboardingTrash.js +1 -1
- package/dist/PublishModal.js +2 -2
- package/dist/ResourcesList.js +1 -1
- package/dist/ShareResourceModal.js +1 -1
- package/dist/TextArea.js +1 -0
- package/dist/Tooltip.js +1 -1
- package/dist/TrashedResourceModal.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.html +2 -2
- package/dist/index.js +49 -65
- package/dist/style.css +1 -1
- package/dist/version.txt +1 -1
- package/package.json +33 -35
- package/dist/ImagePicker.js +0 -1
- package/dist/SelectList.js +0 -1
- package/dist/usePopper.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r,o as E,f as G,j as e,u as ce,a as ae,H as ee,g as fe,A as ye,h as je,i as de,k as ve,l as Se,m as Ne,n as se,p as we,b as Ie,M as O,V as Y,q as oe,B as V,s as ie,t as Be,v as Ae,F as Z,w as Ce,x as Re,y as Me,L as Te}from"./index.js";import{S as $e}from"./SelectList.js";import{T as Ee}from"./Tooltip.js";import"./usePopper.js";function Fe(n,h){const[u,m]=r.useState(n);return r.useEffect(()=>{const o=setTimeout(()=>{m(n)},h||500);return()=>{clearTimeout(o)}},[n,h]),u}function Ue(){const[n,h]=r.useState(!1);r.useEffect(()=>{u()},[]);const u=r.useCallback(async()=>{const m=await E.session().isAdml();h(m)},[]);return{isAdml:n}}const he=r.forwardRef(({label:n,disabled:h=!1,checked:u=!1,indeterminate:m=!1,...o},S)=>{const b=r.useRef(null);r.useImperativeHandle(S,()=>({...b.current})),r.useEffect(()=>{b.current.indeterminate=m},[b,m]);const y=r.useMemo(()=>o.id?o.id:(Math.floor(Math.random()*999999999999)+1e12).toString(),[o.id]),p={...o,type:"checkbox",checked:u,disabled:h,ref:b,className:G(o.className,"form-check-input c-pointer"),id:y};return e.jsxs("div",{className:"position-relative d-inline-block",children:[e.jsx("input",{...p}),n&&e.jsx("label",{className:"ms-8 form-check-label",htmlFor:p.id,children:n})]})});he.displayName="Checkbox";const ne=he,ue=r.forwardRef(({model:n,icon:h,label:u=!1,disabled:m=!1,...o},S)=>{const b=r.useMemo(()=>o.id?o.id:(Math.floor(Math.random()*999999999999)+1e12).toString(),[o.id]),y={...o,type:"radio",checked:n===o.value,disabled:m,ref:S,className:G(o.className,"form-check-input c-pointer",h&&"d-none"),id:b};return e.jsxs("div",{className:G("position-relative form-check",h&&"ps-0"),children:[e.jsx("input",{...y}),h&&e.jsx("label",{htmlFor:y.id,className:G("c-pointer",n!==o.value&&"text-muted"),children:h}),!h&&u&&e.jsx("label",{className:"form-check-label",htmlFor:y.id,children:u})]})});ue.displayName="Radio";const le=ue;function Pe({radioPublicationValue:n,onRadioPublicationChange:h}){const{appCode:u}=ce(),{t:m}=ae(u);return e.jsxs(e.Fragment,{children:[e.jsx("hr",{}),e.jsx(ee,{headingStyle:"h4",level:"h3",className:"mb-16",children:m("explorer.publication.steps")}),e.jsx(le,{label:m("explorer.immediat.publication"),id:"publication-now",name:"publication",value:"IMMEDIATE",model:n,onChange:o=>h(o.target.value)}),e.jsx(le,{label:m("explorer.validate.publication"),id:"publication-validate",name:"publication",value:"RESTRAINT",model:n,onChange:o=>h(o.target.value)})]})}function De({radioPublicationValue:n,onRadioPublicationChange:h}){const{app:u}=fe();return u===ye.BLOG?e.jsx(Pe,{radioPublicationValue:n,onRadioPublicationChange:h}):e.jsx(e.Fragment,{})}function Le({onSuccess:n,payloadUpdatePublishType:h}){const{appCode:u}=ce(),{t:m}=ae(),{user:o,avatar:S}=je(),[b,y]=r.useState(r.useId()),[p,k]=r.useState({rights:[],visibleBookmarks:[],visibleGroups:[],visibleUsers:[]}),[j,N]=r.useState([]),[F,z]=r.useState(""),[w,H]=r.useState(!1),[C,W]=r.useState(""),I=Fe(C,500),[_,J]=r.useState([]),[R,U]=r.useState([]),[P,K]=r.useState(!1),[M,q]=r.useState(!1),{isAdml:B}=Ue(),A=de(),Q=ve(),X=Se(),{hotToast:l}=Ne(we);r.useEffect(()=>{D()},[]),r.useEffect(()=>{be(I)},[I]);const D=r.useCallback(async()=>{var a;const t=await E.share().getActionsForApp(u);N(t);const d=await E.share().getRightsForResource(u,(a=A[0])==null?void 0:a.assetId);k(d)},[]),c=(t,d)=>{k(({rights:a,...g})=>{var te,re;const s=[...a],i=s.findIndex(x=>x.id===t.id),T=j.filter(x=>x.id===d)[0];if(s[i].actions.findIndex(x=>x.id===d)>-1){let x=s[i].actions.filter(f=>f.id!==d);const v=j.filter(f=>{var $;return($=f.requires)==null?void 0:$.includes(d)});x=x.filter(f=>!v.find($=>$.id===f.id)),s[i]={...s[i],actions:x}}else{const x=j.filter(v=>{var f;return((f=T.requires)==null?void 0:f.includes(v.id))&&!s[i].actions.find($=>$.id===v.id)});s[i]={...s[i],actions:[...s[i].actions,T,...x]}}return t.type==="sharebookmark"&&((te=s[i].users)==null||te.forEach(x=>{const v=s.findIndex(f=>f.id===x.id);s[v]={...s[v],actions:s[i].actions}}),(re=s[i].groups)==null||re.forEach(x=>{const v=s.findIndex(f=>f.id===x.id);s[v]={...s[v],actions:s[i].actions}})),{rights:s,...g}})},L=async()=>{var t;try{await Q.mutateAsync(h),await X.mutateAsync({entId:(t=A[0])==null?void 0:t.assetId,shares:p.rights}),l.success(m("explorer.shared.status.saved")),n==null||n()}catch(d){console.error("Failed to save share",d),l.error(m("explorer.shared.status.error"))}},me=t=>{k(d=>({...d,rights:p.rights.filter(a=>{var g,s;return a.id!==t.id&&!((g=t.users)!=null&&g.find(i=>i.id===a.id))&&!((s=t.groups)!=null&&s.find(i=>i.id===a.id))})}))},pe=t=>{W(t.target.value)},xe=()=>!M&&!B&&I.length>0&&R.length===0||!M&&B&&I.length>3&&R.length===0,ke=()=>B&&C.length<3,ge=()=>M&&C.length>0,be=async t=>{var d;if(q(!0),!B&&t.length>=1||B&&t.length>=3){const a=await E.share().searchShareSubjects(u,(d=A[0])==null?void 0:d.assetId,t);J(a);const g=a.filter(s=>!p.rights.find(i=>i.id===s.id)).filter(s=>!(s.type==="user"&&s.id===A[0].creatorId)).map(s=>({value:s.id,label:s.displayName,icon:s.type==="sharebookmark"?se:null}));U(g)}else U([]),Promise.resolve();q(!1)};return{currentIsAuthor:()=>{for(const t of A)if(t.creatorId!==(o==null?void 0:o.userId))return!1;return!0},idBookmark:b,myAvatar:S,shareRights:p,shareRightActions:j,showBookmarkInput:w,searchInputValue:C,searchResults:R,bookmarkName:F,showBookmarkMembers:P,debouncedSearchInputValue:I,searchPending:M,setBookmarkName:z,saveBookmark:async t=>{try{const d=await E.directory().saveBookmarks(t,{users:p.rights.filter(a=>a.type==="user").map(a=>a.id),groups:p.rights.filter(a=>a.type==="group").map(a=>a.id),bookmarks:p.rights.filter(a=>a.type==="sharebookmark").map(a=>a.id)});l.success(m("explorer.bookmarked.status.saved")),k(a=>({...a,visibleBookmarks:[...a.visibleBookmarks,{displayName:t,id:d.id}]})),y(b+new Date().getTime().toString()),H(!1)}catch(d){console.error("Failed to save bookmark",d),l.error(m("explorer.bookmarked.status.error"))}},canSave:()=>!0,toggleBookmarkInput:H,handleActionCheckbox:c,handleShare:L,handleDeleteRow:me,handleSearchInputChange:pe,handleSearchResultsChange:async t=>{const d=_.find(g=>g.id===t[0]),a=[{id:"read",displayName:"read"},{id:"comment",displayName:"comment"}];if(d){let g=[];if(d.type==="sharebookmark"){const s=await E.directory().getBookMarkById(d.id);g.push({...s,type:"sharebookmark",avatarUrl:"",directoryUrl:"",actions:a}),s==null||s.users.filter(i=>!p.rights.find(T=>T.id===i.id)).forEach(i=>{g.push({...i,type:"user",avatarUrl:"",directoryUrl:"",actions:a,isBookmarkMember:!0})}),s.groups.filter(i=>!p.rights.find(T=>T.id===i.id)).forEach(i=>{g.push({...i,type:"group",avatarUrl:"",directoryUrl:"",actions:a,isBookmarkMember:!0})})}else g=[{...d,actions:[{id:"read",displayName:"read"},{id:"comment",displayName:"comment"}]}];k({...p,rights:[...p.rights,...g]}),U(R.filter(s=>s.value!==t[0]))}},showSearchNoResults:xe,showSearchAdmlHint:ke,showSearchLoading:ge,handleBookmarkMembersToggle:()=>{K(!P)},hasRight:(t,d)=>t.actions.filter(a=>d.id===a.id).length>0,showShareRightLine:t=>t.isBookmarkMember&&P||!t.isBookmarkMember}}function Ve(){const n=de(),{assetId:h,description:u,thumbnail:m,name:o,public:S,trashed:b,slug:y,"publish-type":p}=n.length>0?n[0]:{"publish-type":"",assetId:"",description:"",name:"",public:!1,slug:"",thumbnail:"",trashed:!1},[k,j]=r.useState(p||"RESTRAINT"),[N,F]=r.useState({description:u,entId:h,name:o,public:!!S,slug:y||"",thumbnail:m,trashed:b,"publish-type":p});return r.useEffect(()=>{k&&F(w=>({...w,"publish-type":k}))},[k]),{radioPublicationValue:k,payloadUpdatePublishType:N,handleRadioPublicationChange:async w=>{j(w)}}}function Ze({isOpen:n,onSuccess:h,onCancel:u}){const{payloadUpdatePublishType:m,radioPublicationValue:o,handleRadioPublicationChange:S}=Ve(),{myAvatar:b,idBookmark:y,shareRights:p,shareRightActions:k,showBookmarkInput:j,searchResults:N,bookmarkName:F,showBookmarkMembers:z,searchPending:w,currentIsAuthor:H,setBookmarkName:C,saveBookmark:W,canSave:I,toggleBookmarkInput:_,handleActionCheckbox:J,handleShare:R,handleDeleteRow:U,handleSearchInputChange:P,handleSearchResultsChange:K,showSearchNoResults:M,showSearchAdmlHint:q,showSearchLoading:B,handleBookmarkMembersToggle:A,hasRight:Q,showShareRightLine:X}=Le({payloadUpdatePublishType:m,onSuccess:h,onCancel:u}),{t:l}=ae(),D=r.useRef(null);return Ie.createPortal(e.jsxs(O,{id:"share_modal",size:"lg",isOpen:n,onModalClose:u,children:[e.jsx(O.Header,{onModalClose:u,children:l("share.title")}),e.jsxs(O.Body,{children:[e.jsx(ee,{headingStyle:"h4",level:"h3",className:"mb-16",children:l("explorer.modal.share.usersWithAccess")}),e.jsx("div",{className:"table-responsive",children:e.jsxs("table",{className:"table border align-middle mb-0",children:[e.jsx("thead",{className:"bg-secondary text-white",children:e.jsxs("tr",{children:[e.jsx("th",{scope:"col",className:"w-32",children:e.jsx(Y,{children:l("explorer.modal.share.avatar.shared.alt")})}),e.jsx("th",{scope:"col",children:e.jsx(Y,{children:l("explorer.modal.share.search.placeholder")})}),k.map(c=>e.jsx("th",{scope:"col",className:"text-center",children:l(c.displayName)},c.displayName)),e.jsx("th",{scope:"col",children:e.jsx(Y,{children:l("close")})})]})}),e.jsxs("tbody",{children:[H()&&e.jsxs("tr",{children:[e.jsx("th",{scope:"row",children:e.jsx(oe,{alt:l("explorer.modal.share.avatar.me.alt"),size:"xs",src:b,variant:"circle"})}),e.jsx("td",{children:l("share.me")}),k.map(c=>e.jsx("td",{style:{width:"80px"},className:"text-center",children:e.jsx(ne,{checked:!0,disabled:!0})},c.displayName)),e.jsx("td",{})]}),p==null?void 0:p.rights.map(c=>X(c)&&e.jsxs("tr",{className:c.isBookmarkMember?"bg-light":"",children:[e.jsxs("td",{children:[c.type!=="sharebookmark"&&e.jsx(oe,{alt:l("explorer.modal.share.avatar.shared.alt"),size:"xs",src:c.avatarUrl,variant:"circle"}),c.type==="sharebookmark"&&e.jsx(se,{})]}),e.jsx("td",{children:e.jsxs("div",{className:"d-flex",children:[c.type==="sharebookmark"&&e.jsx(V,{color:"tertiary",rightIcon:e.jsx(ie,{title:"Show",className:"w-16 min-w-0",style:{transition:"rotate 0.2s ease-out",rotate:z?"-180deg":"0deg"}}),type:"button",variant:"ghost",className:"fw-normal ps-0",onClick:A,children:c.displayName}),c.type!=="sharebookmark"&&c.displayName]})}),k.map(L=>e.jsx("td",{style:{width:"80px"},className:"text-center",children:e.jsx(ne,{checked:Q(c,L),onChange:()=>J(c,L.id)})},L.displayName)),e.jsx("td",{children:!c.isBookmarkMember&&e.jsx(Be,{"aria-label":"Delete",color:"tertiary",icon:e.jsx(Ae,{}),type:"button",variant:"ghost",title:"Delete",onClick:()=>U(c)})})]},c.id))]})]})}),e.jsxs("div",{className:"mt-16",children:[e.jsx(V,{color:"tertiary",leftIcon:e.jsx(se,{}),rightIcon:e.jsx(ie,{title:"Show",className:"w-16 min-w-0",style:{transition:"rotate 0.2s ease-out",rotate:j?"-180deg":"0deg"}}),type:"button",variant:"ghost",className:"fw-normal",onClick:()=>_(!j),children:l("share.save.sharebookmark")}),j&&e.jsx("div",{className:"mt-16",children:e.jsxs(Z,{id:"bookmarkName",className:"d-flex flex-wrap align-items-center gap-16",children:[e.jsx("div",{className:"flex-fill",children:e.jsx(Z.Input,{ref:D,onChange:()=>{C(()=>{var c;return((c=D.current)==null?void 0:c.value)||""})},placeholder:l("explorer.modal.share.sharebookmark.placeholder"),size:"sm",type:"text"},y)}),e.jsx(V,{type:"button",color:"primary",variant:"ghost",disabled:F.length===0,leftIcon:e.jsx(Ce,{}),onClick:()=>{W(D.current.value)},className:"text-nowrap",children:l("explorer.modal.share.sharebookmark.save")})]})})]}),e.jsx("hr",{}),e.jsxs(ee,{headingStyle:"h4",level:"h3",className:"mb-16 d-flex align-items-center",children:[e.jsx("div",{className:"me-8",children:l("explorer.modal.share.search")}),e.jsx(Ee,{message:"Vos favoris de partage s’affichent en priorité dans votre liste lorsque vous recherchez un groupe ou une personne, vous pouvez les retrouver dans l’annuaire.",placement:"top",children:e.jsx(Re,{className:"c-pointer",height:"18"})})]}),e.jsxs(Z,{className:"d-flex align-items-center",id:"search",children:[e.jsx(Me,{className:"max-w-512",noValidationIcon:!0,placeholder:q()?l("explorer.search.adml.hint"):l("explorer.modal.share.search.placeholder"),size:"md",type:"search",onChange:P}),B()&&e.jsxs("div",{className:"d-flex align-items-center p-4",children:[e.jsx(Te,{isLoading:w}),e.jsx("span",{className:"ps-4",children:l("explorer.search.pending")})]}),M()&&e.jsx("div",{className:"p-4",children:l("portal.no.result")})]}),(N==null?void 0:N.length)>0&&e.jsx("div",{className:"position-absolute w-100 max-w-512 z-1 bg-white shadow rounded-4 d-block show py-12 px-8",children:e.jsx($e,{options:N,hideCheckbox:!0,isMonoSelection:!0,onChange:K})}),e.jsx(De,{radioPublicationValue:o,onRadioPublicationChange:S})]}),e.jsxs(O.Footer,{children:[e.jsx(V,{type:"button",color:"tertiary",variant:"ghost",onClick:u,children:l("explorer.cancel")}),e.jsx(V,{type:"button",color:"primary",variant:"filled",onClick:R,disabled:!I(),children:l("share")})]})]}),document.getElementById("portal"))}export{Ze as default};
|
|
1
|
+
import{r,g as G,j as e,d as ce,u as ae,h as be,i as ye,k as je,l as de,m as ve,n as Se,o as Ne,p as ee,A as we,a as Ie,M as O,V as Y,q as oe,B as L,s as ie,t as Be,v as Ae,F as Z,w as Ce,x as Re,y as Me,z as Te,C as $e}from"./index.js";import{odeServices as E,APP as Ee}from"/assets/js/edifice-ts-client/index.js";import{H as se}from"./Heading.js";import{T as Pe}from"./Tooltip.js";function Fe(){const[h,m]=r.useState(!1);r.useEffect(()=>{u()},[]);const u=r.useCallback(async()=>{const p=await E.session().isAdml();m(p)},[]);return{isAdml:h}}const he=r.forwardRef(({label:h,disabled:m=!1,checked:u=!1,indeterminate:p=!1,...d},v)=>{const f=r.useRef(null);r.useImperativeHandle(v,()=>({...f.current})),r.useEffect(()=>{f.current.indeterminate=p},[f,p]);const S=r.useId(),i={type:"checkbox",checked:u,disabled:m,ref:f,className:G(d.className,"form-check-input c-pointer"),id:S},x={...d,...i};return e.jsxs("div",{className:"form-check d-flex align-items-center gap-8",children:[e.jsx("input",{...x}),h&&e.jsx("label",{className:"form-check-label",htmlFor:x.id,children:h})]})});he.displayName="Checkbox";const ne=he,ue=r.forwardRef(({model:h,icon:m,label:u=!1,disabled:p=!1,...d},v)=>{const f=r.useMemo(()=>d.id?d.id:(Math.floor(Math.random()*999999999999)+1e12).toString(),[d.id]),i={...{type:"radio",checked:h===d.value,disabled:p,ref:v,className:G(d.className,"form-check-input c-pointer",m&&"d-none"),id:f},...d};return e.jsxs("div",{className:G("form-check d-flex align-items-center gap-8",m&&"ps-0"),children:[e.jsx("input",{...i}),m&&e.jsx("label",{htmlFor:i.id,className:G("c-pointer",h!==d.value&&"text-muted"),children:m}),!m&&u&&e.jsx("label",{className:"form-check-label",htmlFor:i.id,children:u})]})});ue.displayName="Radio";const le=ue;function Ue({radioPublicationValue:h,onRadioPublicationChange:m}){const{appCode:u}=ce(),{t:p}=ae(u);return e.jsxs(e.Fragment,{children:[e.jsx("hr",{}),e.jsx(se,{headingStyle:"h4",level:"h3",className:"mb-16",children:p("explorer.publication.steps")}),e.jsx(le,{label:p("explorer.immediat.publication"),id:"publication-now",name:"publication",value:"IMMEDIATE",model:h,onChange:d=>m(d.target.value)}),e.jsx(le,{label:p("explorer.validate.publication"),id:"publication-validate",name:"publication",value:"RESTRAINT",model:h,onChange:d=>m(d.target.value)})]})}function ze({radioPublicationValue:h,onRadioPublicationChange:m}){const{app:u}=be();return u===Ee.BLOG?e.jsx(Ue,{radioPublicationValue:h,onRadioPublicationChange:m}):e.jsx(e.Fragment,{})}function De({onSuccess:h,payloadUpdatePublishType:m}){const{appCode:u}=ce(),{t:p}=ae(),{user:d,avatar:v}=ye(),[f,S]=r.useState(r.useId()),[i,x]=r.useState({rights:[],visibleBookmarks:[],visibleGroups:[],visibleUsers:[]}),[y,N]=r.useState([]),[P,H]=r.useState(""),[w,V]=r.useState(!1),[C,W]=r.useState(""),I=je(C,500),[_,J]=r.useState([]),[R,F]=r.useState([]),[U,K]=r.useState(!1),[M,q]=r.useState(!1),{isAdml:B}=Fe(),A=de(),Q=ve(),X=Se(),{hotToast:n}=Ne(we);r.useEffect(()=>{z()},[]),r.useEffect(()=>{fe(I)},[I]);const z=r.useCallback(async()=>{var a;const t=await E.share().getActionsForApp(u);N(t);const c=await E.share().getRightsForResource(u,(a=A[0])==null?void 0:a.assetId);x(c)},[]),l=(t,c)=>{x(({rights:a,...g})=>{var te,re;const s=[...a],o=s.findIndex(k=>k.id===t.id),T=y.filter(k=>k.id===c)[0];if(s[o].actions.findIndex(k=>k.id===c)>-1){let k=s[o].actions.filter(b=>b.id!==c);const j=y.filter(b=>{var $;return($=b.requires)==null?void 0:$.includes(c)});k=k.filter(b=>!j.find($=>$.id===b.id)),s[o]={...s[o],actions:k}}else{const k=y.filter(j=>{var b;return((b=T.requires)==null?void 0:b.includes(j.id))&&!s[o].actions.find($=>$.id===j.id)});s[o]={...s[o],actions:[...s[o].actions,T,...k]}}return t.type==="sharebookmark"&&((te=s[o].users)==null||te.forEach(k=>{const j=s.findIndex(b=>b.id===k.id);s[j]={...s[j],actions:s[o].actions}}),(re=s[o].groups)==null||re.forEach(k=>{const j=s.findIndex(b=>b.id===k.id);s[j]={...s[j],actions:s[o].actions}})),{rights:s,...g}})},D=async()=>{var t;try{await Q.mutateAsync(m),await X.mutateAsync({entId:(t=A[0])==null?void 0:t.assetId,shares:i.rights}),n.success(p("explorer.shared.status.saved")),h==null||h()}catch(c){console.error("Failed to save share",c),n.error(p("explorer.shared.status.error"))}},me=t=>{x(c=>({...c,rights:i.rights.filter(a=>{var g,s;return a.id!==t.id&&!((g=t.users)!=null&&g.find(o=>o.id===a.id))&&!((s=t.groups)!=null&&s.find(o=>o.id===a.id))})}))},pe=t=>{W(t.target.value)},xe=()=>!M&&!B&&I.length>0&&R.length===0||!M&&B&&I.length>3&&R.length===0,ke=()=>B&&C.length<3,ge=()=>M&&C.length>0,fe=async t=>{var c;if(q(!0),!B&&t.length>=1||B&&t.length>=3){const a=await E.share().searchShareSubjects(u,(c=A[0])==null?void 0:c.assetId,t);J(a);const g=a.filter(s=>!i.rights.find(o=>o.id===s.id)).filter(s=>!(s.type==="user"&&s.id===A[0].creatorId)).map(s=>({value:s.id,label:s.displayName,icon:s.type==="sharebookmark"?ee:null}));F(g)}else F([]),Promise.resolve();q(!1)};return{currentIsAuthor:()=>{for(const t of A)if(t.creatorId!==(d==null?void 0:d.userId))return!1;return!0},idBookmark:f,myAvatar:v,shareRights:i,shareRightActions:y,showBookmarkInput:w,searchInputValue:C,searchResults:R,bookmarkName:P,showBookmarkMembers:U,debouncedSearchInputValue:I,searchPending:M,setBookmarkName:H,saveBookmark:async t=>{try{const c=await E.directory().saveBookmarks(t,{users:i.rights.filter(a=>a.type==="user").map(a=>a.id),groups:i.rights.filter(a=>a.type==="group").map(a=>a.id),bookmarks:i.rights.filter(a=>a.type==="sharebookmark").map(a=>a.id)});n.success(p("explorer.bookmarked.status.saved")),x(a=>({...a,visibleBookmarks:[...a.visibleBookmarks,{displayName:t,id:c.id}]})),S(f+new Date().getTime().toString()),V(!1)}catch(c){console.error("Failed to save bookmark",c),n.error(p("explorer.bookmarked.status.error"))}},canSave:()=>!0,toggleBookmarkInput:V,handleActionCheckbox:l,handleShare:D,handleDeleteRow:me,handleSearchInputChange:pe,handleSearchResultsChange:async t=>{const c=_.find(g=>g.id===t[0]),a=[{id:"read",displayName:"read"},{id:"comment",displayName:"comment"}];if(c){let g=[];if(c.type==="sharebookmark"){const s=await E.directory().getBookMarkById(c.id);g.push({...s,type:"sharebookmark",avatarUrl:"",directoryUrl:"",actions:a}),s==null||s.users.filter(o=>!i.rights.find(T=>T.id===o.id)).forEach(o=>{g.push({...o,type:"user",avatarUrl:"",directoryUrl:"",actions:a,isBookmarkMember:!0})}),s.groups.filter(o=>!i.rights.find(T=>T.id===o.id)).forEach(o=>{g.push({...o,type:"group",avatarUrl:"",directoryUrl:"",actions:a,isBookmarkMember:!0})})}else g=[{...c,actions:[{id:"read",displayName:"read"},{id:"comment",displayName:"comment"}]}];x({...i,rights:[...i.rights,...g]}),F(R.filter(s=>s.value!==t[0]))}},showSearchNoResults:xe,showSearchAdmlHint:ke,showSearchLoading:ge,handleBookmarkMembersToggle:()=>{K(!U)},hasRight:(t,c)=>t.actions.filter(a=>c.id===a.id).length>0,showShareRightLine:t=>t.isBookmarkMember&&U||!t.isBookmarkMember}}function Le(){const h=de(),{assetId:m,description:u,thumbnail:p,name:d,public:v,trashed:f,slug:S,"publish-type":i}=h.length>0?h[0]:{"publish-type":"",assetId:"",description:"",name:"",public:!1,slug:"",thumbnail:"",trashed:!1},[x,y]=r.useState(i||"RESTRAINT"),[N,P]=r.useState({description:u||"",entId:m,name:d,public:!!v,slug:S||"",thumbnail:p,trashed:f,"publish-type":i});return r.useEffect(()=>{x&&P(w=>({...w,"publish-type":x}))},[x]),{radioPublicationValue:x,payloadUpdatePublishType:N,handleRadioPublicationChange:async w=>{y(w)}}}function Ze({isOpen:h,onSuccess:m,onCancel:u}){const{payloadUpdatePublishType:p,radioPublicationValue:d,handleRadioPublicationChange:v}=Le(),{myAvatar:f,idBookmark:S,shareRights:i,shareRightActions:x,showBookmarkInput:y,searchResults:N,bookmarkName:P,showBookmarkMembers:H,searchPending:w,currentIsAuthor:V,setBookmarkName:C,saveBookmark:W,canSave:I,toggleBookmarkInput:_,handleActionCheckbox:J,handleShare:R,handleDeleteRow:F,handleSearchInputChange:U,handleSearchResultsChange:K,showSearchNoResults:M,showSearchAdmlHint:q,showSearchLoading:B,handleBookmarkMembersToggle:A,hasRight:Q,showShareRightLine:X}=De({payloadUpdatePublishType:p,onSuccess:m,onCancel:u}),{t:n}=ae(),z=r.useRef(null);return Ie.createPortal(e.jsxs(O,{id:"share_modal",size:"lg",isOpen:h,onModalClose:u,children:[e.jsx(O.Header,{onModalClose:u,children:n("share.title")}),e.jsxs(O.Body,{children:[e.jsx(se,{headingStyle:"h4",level:"h3",className:"mb-16",children:n("explorer.modal.share.usersWithAccess")}),e.jsx("div",{className:"table-responsive",children:e.jsxs("table",{className:"table border align-middle mb-0",children:[e.jsx("thead",{className:"bg-secondary",children:e.jsxs("tr",{children:[e.jsx("th",{scope:"col",className:"w-32",children:e.jsx(Y,{children:n("explorer.modal.share.avatar.shared.alt")})}),e.jsx("th",{scope:"col",children:e.jsx(Y,{children:n("explorer.modal.share.search.placeholder")})}),x.map(l=>e.jsx("th",{scope:"col",className:"text-center text-white",children:n(l.displayName)},l.displayName)),e.jsx("th",{scope:"col",children:e.jsx(Y,{children:n("close")})})]})}),e.jsxs("tbody",{children:[V()&&e.jsxs("tr",{children:[e.jsx("th",{scope:"row",children:e.jsx(oe,{alt:n("explorer.modal.share.avatar.me.alt"),size:"xs",src:f,variant:"circle"})}),e.jsx("td",{children:n("share.me")}),x.map(l=>e.jsx("td",{style:{width:"80px"},className:"text-center text-white",children:e.jsx(ne,{checked:!0,disabled:!0})},l.displayName)),e.jsx("td",{})]}),i==null?void 0:i.rights.map(l=>X(l)&&e.jsxs("tr",{className:l.isBookmarkMember?"bg-light":"",children:[e.jsxs("td",{children:[l.type!=="sharebookmark"&&e.jsx(oe,{alt:n("explorer.modal.share.avatar.shared.alt"),size:"xs",src:l.avatarUrl,variant:"circle"}),l.type==="sharebookmark"&&e.jsx(ee,{})]}),e.jsx("td",{children:e.jsxs("div",{className:"d-flex",children:[l.type==="sharebookmark"&&e.jsx(L,{color:"tertiary",rightIcon:e.jsx(ie,{title:"Show",className:"w-16 min-w-0",style:{transition:"rotate 0.2s ease-out",rotate:H?"-180deg":"0deg"}}),type:"button",variant:"ghost",className:"fw-normal ps-0",onClick:A,children:l.displayName}),l.type!=="sharebookmark"&&l.displayName]})}),x.map(D=>e.jsx("td",{style:{width:"80px"},className:"text-center text-white",children:e.jsx(ne,{checked:Q(l,D),onChange:()=>J(l,D.id)})},D.displayName)),e.jsx("td",{children:!l.isBookmarkMember&&e.jsx(Be,{"aria-label":"Delete",color:"tertiary",icon:e.jsx(Ae,{}),type:"button",variant:"ghost",title:"Delete",onClick:()=>F(l)})})]},l.id))]})]})}),e.jsxs("div",{className:"mt-16",children:[e.jsx(L,{color:"tertiary",leftIcon:e.jsx(ee,{}),rightIcon:e.jsx(ie,{title:"Show",className:"w-16 min-w-0",style:{transition:"rotate 0.2s ease-out",rotate:y?"-180deg":"0deg"}}),type:"button",variant:"ghost",className:"fw-normal",onClick:()=>_(!y),children:n("share.save.sharebookmark")}),y&&e.jsx("div",{className:"mt-16",children:e.jsxs(Z,{id:"bookmarkName",className:"d-flex flex-wrap align-items-center gap-16",children:[e.jsx("div",{className:"flex-fill",children:e.jsx(Z.Input,{ref:z,onChange:()=>{C(()=>{var l;return((l=z.current)==null?void 0:l.value)||""})},placeholder:n("explorer.modal.share.sharebookmark.placeholder"),size:"sm",type:"text"},S)}),e.jsx(L,{type:"button",color:"primary",variant:"ghost",disabled:P.length===0,leftIcon:e.jsx(Ce,{}),onClick:()=>{W(z.current.value)},className:"text-nowrap",children:n("explorer.modal.share.sharebookmark.save")})]})})]}),e.jsx("hr",{}),e.jsxs(se,{headingStyle:"h4",level:"h3",className:"mb-16 d-flex align-items-center",children:[e.jsx("div",{className:"me-8",children:n("explorer.modal.share.search")}),e.jsx(Pe,{message:"Vos favoris de partage s’affichent en priorité dans votre liste lorsque vous recherchez un groupe ou une personne, vous pouvez les retrouver dans l’annuaire.",placement:"top",children:e.jsx(Re,{className:"c-pointer",height:"18"})})]}),e.jsxs(Z,{className:"d-flex align-items-center",id:"search",children:[e.jsx(Me,{className:"max-w-512",noValidationIcon:!0,placeholder:q()?n("explorer.search.adml.hint"):n("explorer.modal.share.search.placeholder"),size:"md",type:"search",onChange:U}),B()&&e.jsxs("div",{className:"d-flex align-items-center p-4",children:[e.jsx(Te,{isLoading:w}),e.jsx("span",{className:"ps-4",children:n("explorer.search.pending")})]}),M()&&e.jsx("div",{className:"p-4",children:n("portal.no.result")})]}),(N==null?void 0:N.length)>0&&e.jsx("div",{className:"position-absolute w-100 max-w-512 z-1 bg-white shadow rounded-4 d-block show py-12 px-8",children:e.jsx($e,{options:N,hideCheckbox:!0,isMonoSelection:!0,onChange:K})}),e.jsx(ze,{radioPublicationValue:d,onRadioPublicationChange:v})]}),e.jsxs(O.Footer,{children:[e.jsx(L,{type:"button",color:"tertiary",variant:"ghost",onClick:u,children:n("explorer.cancel")}),e.jsx(L,{type:"button",color:"primary",variant:"filled",onClick:R,disabled:!I(),children:n("share")})]})]}),document.getElementById("portal"))}export{Ze as default};
|
package/dist/TextArea.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as g,g as y,j as a,F as f,t as j,a6 as A,a7 as L,y as N,q as T,a8 as z,a1 as E}from"./index.js";const F=(r,m)=>{const[,o]=g.useState(!1),i=g.useCallback(e=>{e.preventDefault(),e.stopPropagation(),o(!0)},[]),c=e=>{e.preventDefault(),e.stopPropagation(),o(!1)};return{handleDragging:i,handleDragLeave:c,handleDrop:e=>{var d;c(e);const l=(d=e.dataTransfer)==null?void 0:d.files;m(l),r!=null&&r.current&&l&&(r.current.files=l)}}},O=F,C=g.forwardRef(({label:r,addButtonLabel:m="Add image",deleteButtonLabel:o="Delete image",src:i,className:c,app:p,onUploadImage:e,onDeleteImage:l},d)=>{const s=g.useRef(null),[t,u]=g.useState({name:"",image:i||""}),x=n=>{u({...t,name:"",image:""});const h=n==null?void 0:n[0];if(!h)return;const D={...t,name:h.name,image:URL.createObjectURL(h)};u(D),e(D)},R=()=>{var n;(n=s.current)==null||n.click()},b=()=>{s.current&&(s.current.value="");const n={...t,name:"",image:""};u(n),l()},k=n=>{x(n.target.files)},w=y("image-input",c),{handleDragging:v,handleDragLeave:I,handleDrop:P}=O(s,x);return a.jsxs(f,{id:"image-input",className:w,onDragEnter:v,onDragOver:v,onDragLeave:I,onDrop:P,ref:d,children:[a.jsxs("div",{className:"image-input-actions gap-8",children:[a.jsx(j,{"aria-label":m,color:"tertiary",icon:a.jsx(A,{}),onClick:R,type:"button",variant:"ghost"}),a.jsx(j,{"aria-label":o,color:"danger",disabled:!t.image,icon:a.jsx(L,{width:"20",height:"20"}),onClick:b,type:"button",variant:"ghost"})]}),a.jsxs(f.Label,{children:[a.jsx("span",{className:"visually-hidden",children:r}),a.jsx(N,{accept:"image/*",hidden:!0,onChange:k,ref:s,size:"sm",type:"file"}),t.image?a.jsx(T,{alt:t.name,src:t.image,size:"xl"}):a.jsx(z,{app:p,iconFit:"ratio",size:"160",variant:"rounded"})]})]})});C.displayName="ImagePicker";const q=C,$=g.forwardRef(({noValidationIcon:r,placeholder:m,size:o="md",height:i="md",className:c,...p},e)=>{const{id:l,isRequired:d,isReadOnly:s,status:t}=E(),u=y({"form-control":!s,"form-control-lg":o==="lg","form-control-sm":o==="sm","textarea-height-lg":i==="lg","textarea-height-md":i==="md","textarea-height-sm":i==="sm","is-invalid":t==="invalid","is-valid":t==="valid","form-control-plaintext":s,"no-validation-icon":r},c);return a.jsx("textarea",{ref:e,id:l,className:u,placeholder:m,required:d,readOnly:s,...p})});$.displayName="TextArea";const U=$;export{q as I,U as T};
|
package/dist/Tooltip.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as
|
|
1
|
+
import{r as s,am as v,j as e,g as E}from"./index.js";const j=({children:r,message:n,icon:t=null,placement:a="auto"})=>{const[i,p]=s.useState(null),[c,m]=s.useState(null),[u,d]=s.useState(null),{styles:o,attributes:x}=v(i,c,{placement:a,modifiers:[{name:"arrow",options:{element:u}}]}),[f,l]=s.useState(!1);return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"d-inline-block position-relative z-2",ref:p,onMouseEnter:()=>{l(!0)},onMouseLeave:()=>{l(!1)},children:r}),f&&e.jsxs("div",{className:E("tooltip d-block show","bs-tooltip-auto"),ref:m,style:o.popper,...x.popper,children:[e.jsxs("div",{className:"tooltip-inner shadow-hover d-flex gap-8 align-items-center",children:[t&&t,e.jsx("div",{children:n})]}),e.jsx("div",{className:"tooltip-arrow",ref:d,style:o.arrow})]})]})},w=j;export{w as T};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,
|
|
1
|
+
import{u as a,a as l,j as e,M as o,B as d}from"./index.js";import"/assets/js/edifice-ts-client/index.js";function c({isOpen:s,onCancel:r=()=>({})}){const{t}=a();return l.createPortal(e.jsxs(o,{isOpen:s,onModalClose:r,id:"trash_resource",children:[e.jsx(o.Header,{onModalClose:()=>r(),children:t("explorer.trash.modal.title")}),e.jsx(o.Body,{children:e.jsx("p",{className:"body",children:t("explorer.trash.modal.text")})}),e.jsx(o.Footer,{children:e.jsx(d,{color:"primary",onClick:r,type:"button",variant:"outline",children:t("close")})})]}),document.getElementById("portal"))}export{c as default};
|
package/dist/index.esm.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{R as Q}from"./index.js";var le=e=>e.type==="checkbox",ee=e=>e instanceof Date,O=e=>e==null;const Xe=e=>typeof e=="object";var m=e=>!O(e)&&!Array.isArray(e)&&Xe(e)&&!ee(e),ft=e=>m(e)&&e.target?le(e.target)?e.target.checked:e.target.value:e,ct=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,dt=(e,i)=>e.has(ct(i)),yt=e=>{const i=e.constructor&&e.constructor.prototype;return m(i)&&i.hasOwnProperty("isPrototypeOf")},Ee=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function K(e){let i;const s=Array.isArray(e);if(e instanceof Date)i=new Date(e);else if(e instanceof Set)i=new Set(e);else if(!(Ee&&(e instanceof Blob||e instanceof FileList))&&(s||m(e)))if(i=s?[]:{},!s&&!yt(e))i=e;else for(const r in e)e.hasOwnProperty(r)&&(i[r]=K(e[r]));else return e;return i}var ae=e=>Array.isArray(e)?e.filter(Boolean):[],k=e=>e===void 0,c=(e,i,s)=>{if(!i||!m(e))return s;const r=ae(i.split(/[,[\].]+?/)).reduce((u,a)=>O(u)?u:u[a],e);return k(r)||r===e?k(e[i])?s:e[i]:r};const qe={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},N={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},W={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"};Q.createContext(null);var ht=(e,i,s,r=!0)=>{const u={defaultValues:i._defaultValues};for(const a in e)Object.defineProperty(u,a,{get:()=>{const d=a;return i._proxyFormState[d]!==N.all&&(i._proxyFormState[d]=!r||N.all),s&&(s[d]=!0),e[d]}});return u},U=e=>m(e)&&!Object.keys(e).length,gt=(e,i,s,r)=>{s(e);const{name:u,...a}=e;return U(a)||Object.keys(a).length>=Object.keys(i).length||Object.keys(a).find(d=>i[d]===(!r||N.all))},Fe=e=>Array.isArray(e)?e:[e];function vt(e){const i=Q.useRef(e);i.current=e,Q.useEffect(()=>{const s=!e.disabled&&i.current.subject&&i.current.subject.subscribe({next:i.current.next});return()=>{s&&s.unsubscribe()}},[e.disabled])}var I=e=>typeof e=="string",_t=(e,i,s,r,u)=>I(e)?(r&&i.watch.add(e),c(s,e,u)):Array.isArray(e)?e.map(a=>(r&&i.watch.add(a),c(s,a))):(r&&(i.watchAll=!0),s),pe=e=>/^\w*$/.test(e),Ye=e=>ae(e.replace(/["|']|\]/g,"").split(/\.|\[/));function x(e,i,s){let r=-1;const u=pe(i)?[i]:Ye(i),a=u.length,d=a-1;for(;++r<a;){const b=u[r];let A=s;if(r!==d){const L=e[b];A=m(L)||Array.isArray(L)?L:isNaN(+u[r+1])?{}:[]}e[b]=A,e=e[b]}return e}var Vt=(e,i,s,r,u)=>i?{...s[e],types:{...s[e]&&s[e].types?s[e].types:{},[r]:u||!0}}:{};const me=(e,i,s)=>{for(const r of s||Object.keys(e)){const u=c(e,r);if(u){const{_f:a,...d}=u;if(a&&i(a.name)){if(a.ref.focus){a.ref.focus();break}else if(a.refs&&a.refs[0].focus){a.refs[0].focus();break}}else m(d)&&me(d,i)}}};var He=e=>({isOnSubmit:!e||e===N.onSubmit,isOnBlur:e===N.onBlur,isOnChange:e===N.onChange,isOnAll:e===N.all,isOnTouch:e===N.onTouched}),We=(e,i,s)=>!s&&(i.watchAll||i.watch.has(e)||[...i.watch].some(r=>e.startsWith(r)&&/^\.\w+/.test(e.slice(r.length)))),At=(e,i,s)=>{const r=ae(c(e,s));return x(r,"root",i[s]),x(e,s,r),e},te=e=>typeof e=="boolean",Oe=e=>e.type==="file",z=e=>typeof e=="function",ce=e=>{if(!Ee)return!1;const i=e?e.ownerDocument:0;return e instanceof(i&&i.defaultView?i.defaultView.HTMLElement:HTMLElement)},fe=e=>I(e),Te=e=>e.type==="radio",de=e=>e instanceof RegExp;const $e={value:!1,isValid:!1},Ke={value:!0,isValid:!0};var Ze=e=>{if(Array.isArray(e)){if(e.length>1){const i=e.filter(s=>s&&s.checked&&!s.disabled).map(s=>s.value);return{value:i,isValid:!!i.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!k(e[0].attributes.value)?k(e[0].value)||e[0].value===""?Ke:{value:e[0].value,isValid:!0}:Ke:$e}return $e};const ze={isValid:!1,value:null};var je=e=>Array.isArray(e)?e.reduce((i,s)=>s&&s.checked&&!s.disabled?{isValid:!0,value:s.value}:i,ze):ze;function Ge(e,i,s="validate"){if(fe(e)||Array.isArray(e)&&e.every(fe)||te(e)&&!e)return{type:s,message:fe(e)?e:"",ref:i}}var j=e=>m(e)&&!de(e)?e:{value:e,message:""},Je=async(e,i,s,r,u)=>{const{ref:a,refs:d,required:b,maxLength:A,minLength:L,min:Y,max:S,pattern:_,validate:$,name:C,valueAsNumber:ge,mount:oe,disabled:ve}=e._f,g=c(i,C);if(!oe||ve)return{};const M=d?d[0]:a,q=V=>{r&&M.reportValidity&&(M.setCustomValidity(te(V)?"":V||""),M.reportValidity())},E={},re=Te(a),se=le(a),_e=re||se,B=(ge||Oe(a))&&k(a.value)&&k(g)||ce(a)&&a.value===""||g===""||Array.isArray(g)&&!g.length,G=Vt.bind(null,C,s,E),H=(V,v,w,T=W.maxLength,R=W.minLength)=>{const P=V?v:w;E[C]={type:V?T:R,message:P,ref:a,...G(V?T:R,P)}};if(u?!Array.isArray(g)||!g.length:b&&(!_e&&(B||O(g))||te(g)&&!g||se&&!Ze(d).isValid||re&&!je(d).isValid)){const{value:V,message:v}=fe(b)?{value:!!b,message:b}:j(b);if(V&&(E[C]={type:W.required,message:v,ref:M,...G(W.required,v)},!s))return q(v),E}if(!B&&(!O(Y)||!O(S))){let V,v;const w=j(S),T=j(Y);if(!O(g)&&!isNaN(g)){const R=a.valueAsNumber||g&&+g;O(w.value)||(V=R>w.value),O(T.value)||(v=R<T.value)}else{const R=a.valueAsDate||new Date(g),P=ne=>new Date(new Date().toDateString()+" "+ne),J=a.type=="time",ie=a.type=="week";I(w.value)&&g&&(V=J?P(g)>P(w.value):ie?g>w.value:R>new Date(w.value)),I(T.value)&&g&&(v=J?P(g)<P(T.value):ie?g<T.value:R<new Date(T.value))}if((V||v)&&(H(!!V,w.message,T.message,W.max,W.min),!s))return q(E[C].message),E}if((A||L)&&!B&&(I(g)||u&&Array.isArray(g))){const V=j(A),v=j(L),w=!O(V.value)&&g.length>+V.value,T=!O(v.value)&&g.length<+v.value;if((w||T)&&(H(w,V.message,v.message),!s))return q(E[C].message),E}if(_&&!B&&I(g)){const{value:V,message:v}=j(_);if(de(V)&&!g.match(V)&&(E[C]={type:W.pattern,message:v,ref:a,...G(W.pattern,v)},!s))return q(v),E}if($){if(z($)){const V=await $(g,i),v=Ge(V,M);if(v&&(E[C]={...v,...G(W.validate,v.message)},!s))return q(v.message),E}else if(m($)){let V={};for(const v in $){if(!U(V)&&!s)break;const w=Ge(await $[v](g,i),M,v);w&&(V={...w,...G(v,w.message)},q(w.message),s&&(E[C]=V))}if(!U(V)&&(E[C]={ref:M,...V},!s))return E}}return q(!0),E};function bt(e,i){const s=i.slice(0,-1).length;let r=0;for(;r<s;)e=k(e)?r++:e[i[r++]];return e}function xt(e){for(const i in e)if(e.hasOwnProperty(i)&&!k(e[i]))return!1;return!0}function p(e,i){const s=Array.isArray(i)?i:pe(i)?[i]:Ye(i),r=s.length===1?e:bt(e,s),u=s.length-1,a=s[u];return r&&delete r[a],u!==0&&(m(r)&&U(r)||Array.isArray(r)&&xt(r))&&p(e,s.slice(0,-1)),e}function we(){let e=[];return{get observers(){return e},next:u=>{for(const a of e)a.next&&a.next(u)},subscribe:u=>(e.push(u),{unsubscribe:()=>{e=e.filter(a=>a!==u)}}),unsubscribe:()=>{e=[]}}}var ye=e=>O(e)||!Xe(e);function X(e,i){if(ye(e)||ye(i))return e===i;if(ee(e)&&ee(i))return e.getTime()===i.getTime();const s=Object.keys(e),r=Object.keys(i);if(s.length!==r.length)return!1;for(const u of s){const a=e[u];if(!r.includes(u))return!1;if(u!=="ref"){const d=i[u];if(ee(a)&&ee(d)||m(a)&&m(d)||Array.isArray(a)&&Array.isArray(d)?!X(a,d):a!==d)return!1}}return!0}var et=e=>e.type==="select-multiple",Ft=e=>Te(e)||le(e),De=e=>ce(e)&&e.isConnected,tt=e=>{for(const i in e)if(z(e[i]))return!0;return!1};function he(e,i={}){const s=Array.isArray(e);if(m(e)||s)for(const r in e)Array.isArray(e[r])||m(e[r])&&!tt(e[r])?(i[r]=Array.isArray(e[r])?[]:{},he(e[r],i[r])):O(e[r])||(i[r]=!0);return i}function rt(e,i,s){const r=Array.isArray(e);if(m(e)||r)for(const u in e)Array.isArray(e[u])||m(e[u])&&!tt(e[u])?k(i)||ye(s[u])?s[u]=Array.isArray(e[u])?he(e[u],[]):{...he(e[u])}:rt(e[u],O(i)?{}:i[u],s[u]):s[u]=!X(e[u],i[u]);return s}var ke=(e,i)=>rt(e,i,he(i)),st=(e,{valueAsNumber:i,valueAsDate:s,setValueAs:r})=>k(e)?e:i?e===""?NaN:e&&+e:s&&I(e)?new Date(e):r?r(e):e;function Se(e){const i=e.ref;if(!(e.refs?e.refs.every(s=>s.disabled):i.disabled))return Oe(i)?i.files:Te(i)?je(e.refs).value:et(i)?[...i.selectedOptions].map(({value:s})=>s):le(i)?Ze(e.refs).value:st(k(i.value)?e.ref.value:i.value,e)}var wt=(e,i,s,r)=>{const u={};for(const a of e){const d=c(i,a);d&&x(u,a,d._f)}return{criteriaMode:s,names:[...e],fields:u,shouldUseNativeValidation:r}},ue=e=>k(e)?e:de(e)?e.source:m(e)?de(e.value)?e.value.source:e.value:e,Dt=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function Qe(e,i,s){const r=c(e,s);if(r||pe(s))return{error:r,name:s};const u=s.split(".");for(;u.length;){const a=u.join("."),d=c(i,a),b=c(e,a);if(d&&!Array.isArray(d)&&s!==a)return{name:s};if(b&&b.type)return{name:a,error:b};u.pop()}return{name:s}}var kt=(e,i,s,r,u)=>u.isOnAll?!1:!s&&u.isOnTouch?!(i||e):(s?r.isOnBlur:u.isOnBlur)?!e:(s?r.isOnChange:u.isOnChange)?e:!0,St=(e,i)=>!ae(c(e,i)).length&&p(e,i);const mt={mode:N.onSubmit,reValidateMode:N.onChange,shouldFocusError:!0};function Et(e={},i){let s={...mt,...e},r={submitCount:0,isDirty:!1,isLoading:z(s.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},errors:{}},u={},a=m(s.defaultValues)||m(s.values)?K(s.defaultValues||s.values)||{}:{},d=s.shouldUnregister?{}:K(a),b={action:!1,mount:!1,watch:!1},A={mount:new Set,unMount:new Set,array:new Set,watch:new Set},L,Y=0;const S={isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},_={values:we(),array:we(),state:we()},$=e.resetOptions&&e.resetOptions.keepDirtyValues,C=He(s.mode),ge=He(s.reValidateMode),oe=s.criteriaMode===N.all,ve=t=>n=>{clearTimeout(Y),Y=setTimeout(t,n)},g=async t=>{if(S.isValid||t){const n=s.resolver?U((await B()).errors):await H(u,!0);n!==r.isValid&&_.state.next({isValid:n})}},M=t=>S.isValidating&&_.state.next({isValidating:t}),q=(t,n=[],l,y,f=!0,o=!0)=>{if(y&&l){if(b.action=!0,o&&Array.isArray(c(u,t))){const h=l(c(u,t),y.argA,y.argB);f&&x(u,t,h)}if(o&&Array.isArray(c(r.errors,t))){const h=l(c(r.errors,t),y.argA,y.argB);f&&x(r.errors,t,h),St(r.errors,t)}if(S.touchedFields&&o&&Array.isArray(c(r.touchedFields,t))){const h=l(c(r.touchedFields,t),y.argA,y.argB);f&&x(r.touchedFields,t,h)}S.dirtyFields&&(r.dirtyFields=ke(a,d)),_.state.next({name:t,isDirty:v(t,n),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else x(d,t,n)},E=(t,n)=>{x(r.errors,t,n),_.state.next({errors:r.errors})},re=(t,n,l,y)=>{const f=c(u,t);if(f){const o=c(d,t,k(l)?c(a,t):l);k(o)||y&&y.defaultChecked||n?x(d,t,n?o:Se(f._f)):R(t,o),b.mount&&g()}},se=(t,n,l,y,f)=>{let o=!1,h=!1;const F={name:t};if(!l||y){S.isDirty&&(h=r.isDirty,r.isDirty=F.isDirty=v(),o=h!==F.isDirty);const D=X(c(a,t),n);h=c(r.dirtyFields,t),D?p(r.dirtyFields,t):x(r.dirtyFields,t,!0),F.dirtyFields=r.dirtyFields,o=o||S.dirtyFields&&h!==!D}if(l){const D=c(r.touchedFields,t);D||(x(r.touchedFields,t,l),F.touchedFields=r.touchedFields,o=o||S.touchedFields&&D!==l)}return o&&f&&_.state.next(F),o?F:{}},_e=(t,n,l,y)=>{const f=c(r.errors,t),o=S.isValid&&te(n)&&r.isValid!==n;if(e.delayError&&l?(L=ve(()=>E(t,l)),L(e.delayError)):(clearTimeout(Y),L=null,l?x(r.errors,t,l):p(r.errors,t)),(l?!X(f,l):f)||!U(y)||o){const h={...y,...o&&te(n)?{isValid:n}:{},errors:r.errors,name:t};r={...r,...h},_.state.next(h)}M(!1)},B=async t=>s.resolver(d,s.context,wt(t||A.mount,u,s.criteriaMode,s.shouldUseNativeValidation)),G=async t=>{const{errors:n}=await B();if(t)for(const l of t){const y=c(n,l);y?x(r.errors,l,y):p(r.errors,l)}else r.errors=n;return n},H=async(t,n,l={valid:!0})=>{for(const y in t){const f=t[y];if(f){const{_f:o,...h}=f;if(o){const F=A.array.has(o.name),D=await Je(f,d,oe,s.shouldUseNativeValidation&&!n,F);if(D[o.name]&&(l.valid=!1,n))break;!n&&(c(D,o.name)?F?At(r.errors,D,o.name):x(r.errors,o.name,D[o.name]):p(r.errors,o.name))}h&&await H(h,n,l)}}return l.valid},V=()=>{for(const t of A.unMount){const n=c(u,t);n&&(n._f.refs?n._f.refs.every(l=>!De(l)):!De(n._f.ref))&&Ve(t)}A.unMount=new Set},v=(t,n)=>(t&&n&&x(d,t,n),!X(Le(),a)),w=(t,n,l)=>_t(t,A,{...b.mount?d:k(n)?a:I(t)?{[t]:n}:n},l,n),T=t=>ae(c(b.mount?d:a,t,e.shouldUnregister?c(a,t,[]):[])),R=(t,n,l={})=>{const y=c(u,t);let f=n;if(y){const o=y._f;o&&(!o.disabled&&x(d,t,st(n,o)),f=ce(o.ref)&&O(n)?"":n,et(o.ref)?[...o.ref.options].forEach(h=>h.selected=f.includes(h.value)):o.refs?le(o.ref)?o.refs.length>1?o.refs.forEach(h=>(!h.defaultChecked||!h.disabled)&&(h.checked=Array.isArray(f)?!!f.find(F=>F===h.value):f===h.value)):o.refs[0]&&(o.refs[0].checked=!!f):o.refs.forEach(h=>h.checked=h.value===f):Oe(o.ref)?o.ref.value="":(o.ref.value=f,o.ref.type||_.values.next({name:t,values:{...d}})))}(l.shouldDirty||l.shouldTouch)&&se(t,f,l.shouldTouch,l.shouldDirty,!0),l.shouldValidate&&ne(t)},P=(t,n,l)=>{for(const y in n){const f=n[y],o=`${t}.${y}`,h=c(u,o);(A.array.has(t)||!ye(f)||h&&!h._f)&&!ee(f)?P(o,f,l):R(o,f,l)}},J=(t,n,l={})=>{const y=c(u,t),f=A.array.has(t),o=K(n);x(d,t,o),f?(_.array.next({name:t,values:{...d}}),(S.isDirty||S.dirtyFields)&&l.shouldDirty&&_.state.next({name:t,dirtyFields:ke(a,d),isDirty:v(t,o)})):y&&!y._f&&!O(o)?P(t,o,l):R(t,o,l),We(t,A)&&_.state.next({...r}),_.values.next({name:t,values:{...d}}),!b.mount&&i()},ie=async t=>{const n=t.target;let l=n.name,y=!0;const f=c(u,l),o=()=>n.type?Se(f._f):ft(t);if(f){let h,F;const D=o(),Z=t.type===qe.BLUR||t.type===qe.FOCUS_OUT,lt=!Dt(f._f)&&!s.resolver&&!c(r.errors,l)&&!f._f.deps||kt(Z,c(r.touchedFields,l),r.isSubmitted,ge,C),be=We(l,A,Z);x(d,l,D),Z?(f._f.onBlur&&f._f.onBlur(t),L&&L(0)):f._f.onChange&&f._f.onChange(t);const xe=se(l,D,Z,!1),at=!U(xe)||be;if(!Z&&_.values.next({name:l,type:t.type,values:{...d}}),lt)return S.isValid&&g(),at&&_.state.next({name:l,...be?{}:xe});if(!Z&&be&&_.state.next({...r}),M(!0),s.resolver){const{errors:Pe}=await B([l]),ot=Qe(r.errors,u,l),Ie=Qe(Pe,u,ot.name||l);h=Ie.error,l=Ie.name,F=U(Pe)}else h=(await Je(f,d,oe,s.shouldUseNativeValidation))[l],y=isNaN(D)||D===c(d,l,D),y&&(h?F=!1:S.isValid&&(F=await H(u,!0)));y&&(f._f.deps&&ne(f._f.deps),_e(l,F,h,xe))}},ne=async(t,n={})=>{let l,y;const f=Fe(t);if(M(!0),s.resolver){const o=await G(k(t)?t:f);l=U(o),y=t?!f.some(h=>c(o,h)):l}else t?(y=(await Promise.all(f.map(async o=>{const h=c(u,o);return await H(h&&h._f?{[o]:h}:h)}))).every(Boolean),!(!y&&!r.isValid)&&g()):y=l=await H(u);return _.state.next({...!I(t)||S.isValid&&l!==r.isValid?{}:{name:t},...s.resolver||!t?{isValid:l}:{},errors:r.errors,isValidating:!1}),n.shouldFocus&&!y&&me(u,o=>o&&c(r.errors,o),t?f:A.mount),y},Le=t=>{const n={...a,...b.mount?d:{}};return k(t)?n:I(t)?c(n,t):t.map(l=>c(n,l))},Ce=(t,n)=>({invalid:!!c((n||r).errors,t),isDirty:!!c((n||r).dirtyFields,t),isTouched:!!c((n||r).touchedFields,t),error:c((n||r).errors,t)}),it=t=>{t&&Fe(t).forEach(n=>p(r.errors,n)),_.state.next({errors:t?r.errors:{}})},Re=(t,n,l)=>{const y=(c(u,t,{_f:{}})._f||{}).ref;x(r.errors,t,{...n,ref:y}),_.state.next({name:t,errors:r.errors,isValid:!1}),l&&l.shouldFocus&&y&&y.focus&&y.focus()},nt=(t,n)=>z(t)?_.values.subscribe({next:l=>t(w(void 0,n),l)}):w(t,n,!0),Ve=(t,n={})=>{for(const l of t?Fe(t):A.mount)A.mount.delete(l),A.array.delete(l),n.keepValue||(p(u,l),p(d,l)),!n.keepError&&p(r.errors,l),!n.keepDirty&&p(r.dirtyFields,l),!n.keepTouched&&p(r.touchedFields,l),!s.shouldUnregister&&!n.keepDefaultValue&&p(a,l);_.values.next({values:{...d}}),_.state.next({...r,...n.keepDirty?{isDirty:v()}:{}}),!n.keepIsValid&&g()},Ae=(t,n={})=>{let l=c(u,t);const y=te(n.disabled);return x(u,t,{...l||{},_f:{...l&&l._f?l._f:{ref:{name:t}},name:t,mount:!0,...n}}),A.mount.add(t),l?y&&x(d,t,n.disabled?void 0:c(d,t,Se(l._f))):re(t,!0,n.value),{...y?{disabled:n.disabled}:{},...s.progressive?{required:!!n.required,min:ue(n.min),max:ue(n.max),minLength:ue(n.minLength),maxLength:ue(n.maxLength),pattern:ue(n.pattern)}:{},name:t,onChange:ie,onBlur:ie,ref:f=>{if(f){Ae(t,n),l=c(u,t);const o=k(f.value)&&f.querySelectorAll&&f.querySelectorAll("input,select,textarea")[0]||f,h=Ft(o),F=l._f.refs||[];if(h?F.find(D=>D===o):o===l._f.ref)return;x(u,t,{_f:{...l._f,...h?{refs:[...F.filter(De),o,...Array.isArray(c(a,t))?[{}]:[]],ref:{type:o.type,name:t}}:{ref:o}}}),re(t,!1,void 0,o)}else l=c(u,t,{}),l._f&&(l._f.mount=!1),(s.shouldUnregister||n.shouldUnregister)&&!(dt(A.array,t)&&b.action)&&A.unMount.add(t)}}},Ue=()=>s.shouldFocusError&&me(u,t=>t&&c(r.errors,t),A.mount),Me=(t,n)=>async l=>{l&&(l.preventDefault&&l.preventDefault(),l.persist&&l.persist());let y=K(d);if(_.state.next({isSubmitting:!0}),s.resolver){const{errors:f,values:o}=await B();r.errors=f,y=o}else await H(u);p(r.errors,"root"),U(r.errors)?(_.state.next({errors:{}}),await t(y,l)):(n&&await n({...r.errors},l),Ue(),setTimeout(Ue)),_.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:U(r.errors),submitCount:r.submitCount+1,errors:r.errors})},ut=(t,n={})=>{c(u,t)&&(k(n.defaultValue)?J(t,c(a,t)):(J(t,n.defaultValue),x(a,t,n.defaultValue)),n.keepTouched||p(r.touchedFields,t),n.keepDirty||(p(r.dirtyFields,t),r.isDirty=n.defaultValue?v(t,c(a,t)):v()),n.keepError||(p(r.errors,t),S.isValid&&g()),_.state.next({...r}))},Ne=(t,n={})=>{const l=t||a,y=K(l),f=t&&!U(t)?y:a;if(n.keepDefaultValues||(a=l),!n.keepValues){if(n.keepDirtyValues||$)for(const o of A.mount)c(r.dirtyFields,o)?x(f,o,c(d,o)):J(o,c(f,o));else{if(Ee&&k(t))for(const o of A.mount){const h=c(u,o);if(h&&h._f){const F=Array.isArray(h._f.refs)?h._f.refs[0]:h._f.ref;if(ce(F)){const D=F.closest("form");if(D){D.reset();break}}}}u={}}d=e.shouldUnregister?n.keepDefaultValues?K(a):{}:K(f),_.array.next({values:{...f}}),_.values.next({values:{...f}})}A={mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},!b.mount&&i(),b.mount=!S.isValid||!!n.keepIsValid,b.watch=!!e.shouldUnregister,_.state.next({submitCount:n.keepSubmitCount?r.submitCount:0,isDirty:n.keepDirty?r.isDirty:!!(n.keepDefaultValues&&!X(t,a)),isSubmitted:n.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:n.keepDirtyValues?r.dirtyFields:n.keepDefaultValues&&t?ke(a,t):{},touchedFields:n.keepTouched?r.touchedFields:{},errors:n.keepErrors?r.errors:{},isSubmitting:!1,isSubmitSuccessful:!1})},Be=(t,n)=>Ne(z(t)?t(d):t,n);return{control:{register:Ae,unregister:Ve,getFieldState:Ce,handleSubmit:Me,setError:Re,_executeSchema:B,_getWatch:w,_getDirty:v,_updateValid:g,_removeUnmounted:V,_updateFieldArray:q,_getFieldArray:T,_reset:Ne,_resetDefaultValues:()=>z(s.defaultValues)&&s.defaultValues().then(t=>{Be(t,s.resetOptions),_.state.next({isLoading:!1})}),_updateFormState:t=>{r={...r,...t}},_subjects:_,_proxyFormState:S,get _fields(){return u},get _formValues(){return d},get _state(){return b},set _state(t){b=t},get _defaultValues(){return a},get _names(){return A},set _names(t){A=t},get _formState(){return r},set _formState(t){r=t},get _options(){return s},set _options(t){s={...s,...t}}},trigger:ne,register:Ae,handleSubmit:Me,watch:nt,setValue:J,getValues:Le,reset:Be,resetField:ut,clearErrors:it,unregister:Ve,setError:Re,setFocus:(t,n={})=>{const l=c(u,t),y=l&&l._f;if(y){const f=y.refs?y.refs[0]:y.ref;f.focus&&(f.focus(),n.shouldSelect&&f.select())}},getFieldState:Ce}}function Ct(e={}){const i=Q.useRef(),[s,r]=Q.useState({isDirty:!1,isValidating:!1,isLoading:z(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},errors:{},defaultValues:z(e.defaultValues)?void 0:e.defaultValues});i.current||(i.current={...Et(e,()=>r(a=>({...a}))),formState:s});const u=i.current.control;return u._options=e,vt({subject:u._subjects.state,next:a=>{gt(a,u._proxyFormState,u._updateFormState,!0)&&r({...u._formState})}}),Q.useEffect(()=>{e.values&&!X(e.values,u._defaultValues)?u._reset(e.values,u._options.resetOptions):u._resetDefaultValues()},[e.values,u]),Q.useEffect(()=>{u._state.mount||(u._updateValid(),u._state.mount=!0),u._state.watch&&(u._state.watch=!1,u._subjects.state.next({...u._formState})),u._removeUnmounted()}),i.current.formState=ht(s,u),i.current}export{Ct as u};
|
|
1
|
+
import{R as z}from"./index.js";var le=e=>e.type==="checkbox",ee=e=>e instanceof Date,O=e=>e==null;const Xe=e=>typeof e=="object";var m=e=>!O(e)&&!Array.isArray(e)&&Xe(e)&&!ee(e),ft=e=>m(e)&&e.target?le(e.target)?e.target.checked:e.target.value:e,ct=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,dt=(e,i)=>e.has(ct(i)),yt=e=>{const i=e.constructor&&e.constructor.prototype;return m(i)&&i.hasOwnProperty("isPrototypeOf")},Ee=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function K(e){let i;const s=Array.isArray(e);if(e instanceof Date)i=new Date(e);else if(e instanceof Set)i=new Set(e);else if(!(Ee&&(e instanceof Blob||e instanceof FileList))&&(s||m(e)))if(i=s?[]:{},!s&&!yt(e))i=e;else for(const r in e)e.hasOwnProperty(r)&&(i[r]=K(e[r]));else return e;return i}var ae=e=>Array.isArray(e)?e.filter(Boolean):[],k=e=>e===void 0,d=(e,i,s)=>{if(!i||!m(e))return s;const r=ae(i.split(/[,[\].]+?/)).reduce((a,l)=>O(a)?a:a[l],e);return k(r)||r===e?k(e[i])?s:e[i]:r};const qe={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},N={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},W={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"};z.createContext(null);var ht=(e,i,s,r=!0)=>{const a={defaultValues:i._defaultValues};for(const l in e)Object.defineProperty(a,l,{get:()=>{const c=l;return i._proxyFormState[c]!==N.all&&(i._proxyFormState[c]=!r||N.all),s&&(s[c]=!0),e[c]}});return a},U=e=>m(e)&&!Object.keys(e).length,gt=(e,i,s,r)=>{s(e);const{name:a,...l}=e;return U(l)||Object.keys(l).length>=Object.keys(i).length||Object.keys(l).find(c=>i[c]===(!r||N.all))},Fe=e=>Array.isArray(e)?e:[e];function vt(e){const i=z.useRef(e);i.current=e,z.useEffect(()=>{const s=!e.disabled&&i.current.subject&&i.current.subject.subscribe({next:i.current.next});return()=>{s&&s.unsubscribe()}},[e.disabled])}var I=e=>typeof e=="string",_t=(e,i,s,r,a)=>I(e)?(r&&i.watch.add(e),d(s,e,a)):Array.isArray(e)?e.map(l=>(r&&i.watch.add(l),d(s,l))):(r&&(i.watchAll=!0),s),pe=e=>/^\w*$/.test(e),Ye=e=>ae(e.replace(/["|']|\]/g,"").split(/\.|\[/));function x(e,i,s){let r=-1;const a=pe(i)?[i]:Ye(i),l=a.length,c=l-1;for(;++r<l;){const b=a[r];let A=s;if(r!==c){const L=e[b];A=m(L)||Array.isArray(L)?L:isNaN(+a[r+1])?{}:[]}e[b]=A,e=e[b]}return e}var Vt=(e,i,s,r,a)=>i?{...s[e],types:{...s[e]&&s[e].types?s[e].types:{},[r]:a||!0}}:{};const me=(e,i,s)=>{for(const r of s||Object.keys(e)){const a=d(e,r);if(a){const{_f:l,...c}=a;if(l&&i(l.name)){if(l.ref.focus){l.ref.focus();break}else if(l.refs&&l.refs[0].focus){l.refs[0].focus();break}}else m(c)&&me(c,i)}}};var He=e=>({isOnSubmit:!e||e===N.onSubmit,isOnBlur:e===N.onBlur,isOnChange:e===N.onChange,isOnAll:e===N.all,isOnTouch:e===N.onTouched}),We=(e,i,s)=>!s&&(i.watchAll||i.watch.has(e)||[...i.watch].some(r=>e.startsWith(r)&&/^\.\w+/.test(e.slice(r.length)))),At=(e,i,s)=>{const r=ae(d(e,s));return x(r,"root",i[s]),x(e,s,r),e},te=e=>typeof e=="boolean",Oe=e=>e.type==="file",G=e=>typeof e=="function",ce=e=>{if(!Ee)return!1;const i=e?e.ownerDocument:0;return e instanceof(i&&i.defaultView?i.defaultView.HTMLElement:HTMLElement)},fe=e=>I(e),Te=e=>e.type==="radio",de=e=>e instanceof RegExp;const $e={value:!1,isValid:!1},Ke={value:!0,isValid:!0};var Ze=e=>{if(Array.isArray(e)){if(e.length>1){const i=e.filter(s=>s&&s.checked&&!s.disabled).map(s=>s.value);return{value:i,isValid:!!i.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!k(e[0].attributes.value)?k(e[0].value)||e[0].value===""?Ke:{value:e[0].value,isValid:!0}:Ke:$e}return $e};const ze={isValid:!1,value:null};var je=e=>Array.isArray(e)?e.reduce((i,s)=>s&&s.checked&&!s.disabled?{isValid:!0,value:s.value}:i,ze):ze;function Ge(e,i,s="validate"){if(fe(e)||Array.isArray(e)&&e.every(fe)||te(e)&&!e)return{type:s,message:fe(e)?e:"",ref:i}}var j=e=>m(e)&&!de(e)?e:{value:e,message:""},Je=async(e,i,s,r,a)=>{const{ref:l,refs:c,required:b,maxLength:A,minLength:L,min:Y,max:S,pattern:_,validate:$,name:C,valueAsNumber:ge,mount:oe,disabled:ve}=e._f,g=d(i,C);if(!oe||ve)return{};const M=c?c[0]:l,q=V=>{r&&M.reportValidity&&(M.setCustomValidity(te(V)?"":V||""),M.reportValidity())},E={},re=Te(l),se=le(l),_e=re||se,B=(ge||Oe(l))&&k(l.value)&&k(g)||ce(l)&&l.value===""||g===""||Array.isArray(g)&&!g.length,J=Vt.bind(null,C,s,E),H=(V,v,w,T=W.maxLength,R=W.minLength)=>{const P=V?v:w;E[C]={type:V?T:R,message:P,ref:l,...J(V?T:R,P)}};if(a?!Array.isArray(g)||!g.length:b&&(!_e&&(B||O(g))||te(g)&&!g||se&&!Ze(c).isValid||re&&!je(c).isValid)){const{value:V,message:v}=fe(b)?{value:!!b,message:b}:j(b);if(V&&(E[C]={type:W.required,message:v,ref:M,...J(W.required,v)},!s))return q(v),E}if(!B&&(!O(Y)||!O(S))){let V,v;const w=j(S),T=j(Y);if(!O(g)&&!isNaN(g)){const R=l.valueAsNumber||g&&+g;O(w.value)||(V=R>w.value),O(T.value)||(v=R<T.value)}else{const R=l.valueAsDate||new Date(g),P=ne=>new Date(new Date().toDateString()+" "+ne),Q=l.type=="time",ie=l.type=="week";I(w.value)&&g&&(V=Q?P(g)>P(w.value):ie?g>w.value:R>new Date(w.value)),I(T.value)&&g&&(v=Q?P(g)<P(T.value):ie?g<T.value:R<new Date(T.value))}if((V||v)&&(H(!!V,w.message,T.message,W.max,W.min),!s))return q(E[C].message),E}if((A||L)&&!B&&(I(g)||a&&Array.isArray(g))){const V=j(A),v=j(L),w=!O(V.value)&&g.length>+V.value,T=!O(v.value)&&g.length<+v.value;if((w||T)&&(H(w,V.message,v.message),!s))return q(E[C].message),E}if(_&&!B&&I(g)){const{value:V,message:v}=j(_);if(de(V)&&!g.match(V)&&(E[C]={type:W.pattern,message:v,ref:l,...J(W.pattern,v)},!s))return q(v),E}if($){if(G($)){const V=await $(g,i),v=Ge(V,M);if(v&&(E[C]={...v,...J(W.validate,v.message)},!s))return q(v.message),E}else if(m($)){let V={};for(const v in $){if(!U(V)&&!s)break;const w=Ge(await $[v](g,i),M,v);w&&(V={...w,...J(v,w.message)},q(w.message),s&&(E[C]=V))}if(!U(V)&&(E[C]={ref:M,...V},!s))return E}}return q(!0),E};function bt(e,i){const s=i.slice(0,-1).length;let r=0;for(;r<s;)e=k(e)?r++:e[i[r++]];return e}function xt(e){for(const i in e)if(e.hasOwnProperty(i)&&!k(e[i]))return!1;return!0}function p(e,i){const s=Array.isArray(i)?i:pe(i)?[i]:Ye(i),r=s.length===1?e:bt(e,s),a=s.length-1,l=s[a];return r&&delete r[l],a!==0&&(m(r)&&U(r)||Array.isArray(r)&&xt(r))&&p(e,s.slice(0,-1)),e}function we(){let e=[];return{get observers(){return e},next:a=>{for(const l of e)l.next&&l.next(a)},subscribe:a=>(e.push(a),{unsubscribe:()=>{e=e.filter(l=>l!==a)}}),unsubscribe:()=>{e=[]}}}var ye=e=>O(e)||!Xe(e);function X(e,i){if(ye(e)||ye(i))return e===i;if(ee(e)&&ee(i))return e.getTime()===i.getTime();const s=Object.keys(e),r=Object.keys(i);if(s.length!==r.length)return!1;for(const a of s){const l=e[a];if(!r.includes(a))return!1;if(a!=="ref"){const c=i[a];if(ee(l)&&ee(c)||m(l)&&m(c)||Array.isArray(l)&&Array.isArray(c)?!X(l,c):l!==c)return!1}}return!0}var et=e=>e.type==="select-multiple",Ft=e=>Te(e)||le(e),De=e=>ce(e)&&e.isConnected,tt=e=>{for(const i in e)if(G(e[i]))return!0;return!1};function he(e,i={}){const s=Array.isArray(e);if(m(e)||s)for(const r in e)Array.isArray(e[r])||m(e[r])&&!tt(e[r])?(i[r]=Array.isArray(e[r])?[]:{},he(e[r],i[r])):O(e[r])||(i[r]=!0);return i}function rt(e,i,s){const r=Array.isArray(e);if(m(e)||r)for(const a in e)Array.isArray(e[a])||m(e[a])&&!tt(e[a])?k(i)||ye(s[a])?s[a]=Array.isArray(e[a])?he(e[a],[]):{...he(e[a])}:rt(e[a],O(i)?{}:i[a],s[a]):s[a]=!X(e[a],i[a]);return s}var ke=(e,i)=>rt(e,i,he(i)),st=(e,{valueAsNumber:i,valueAsDate:s,setValueAs:r})=>k(e)?e:i?e===""?NaN:e&&+e:s&&I(e)?new Date(e):r?r(e):e;function Se(e){const i=e.ref;if(!(e.refs?e.refs.every(s=>s.disabled):i.disabled))return Oe(i)?i.files:Te(i)?je(e.refs).value:et(i)?[...i.selectedOptions].map(({value:s})=>s):le(i)?Ze(e.refs).value:st(k(i.value)?e.ref.value:i.value,e)}var wt=(e,i,s,r)=>{const a={};for(const l of e){const c=d(i,l);c&&x(a,l,c._f)}return{criteriaMode:s,names:[...e],fields:a,shouldUseNativeValidation:r}},ue=e=>k(e)?e:de(e)?e.source:m(e)?de(e.value)?e.value.source:e.value:e,Dt=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function Qe(e,i,s){const r=d(e,s);if(r||pe(s))return{error:r,name:s};const a=s.split(".");for(;a.length;){const l=a.join("."),c=d(i,l),b=d(e,l);if(c&&!Array.isArray(c)&&s!==l)return{name:s};if(b&&b.type)return{name:l,error:b};a.pop()}return{name:s}}var kt=(e,i,s,r,a)=>a.isOnAll?!1:!s&&a.isOnTouch?!(i||e):(s?r.isOnBlur:a.isOnBlur)?!e:(s?r.isOnChange:a.isOnChange)?e:!0,St=(e,i)=>!ae(d(e,i)).length&&p(e,i);const mt={mode:N.onSubmit,reValidateMode:N.onChange,shouldFocusError:!0};function Et(e={},i){let s={...mt,...e},r={submitCount:0,isDirty:!1,isLoading:G(s.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},errors:{}},a={},l=m(s.defaultValues)||m(s.values)?K(s.defaultValues||s.values)||{}:{},c=s.shouldUnregister?{}:K(l),b={action:!1,mount:!1,watch:!1},A={mount:new Set,unMount:new Set,array:new Set,watch:new Set},L,Y=0;const S={isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},_={values:we(),array:we(),state:we()},$=e.resetOptions&&e.resetOptions.keepDirtyValues,C=He(s.mode),ge=He(s.reValidateMode),oe=s.criteriaMode===N.all,ve=t=>n=>{clearTimeout(Y),Y=setTimeout(t,n)},g=async t=>{if(S.isValid||t){const n=s.resolver?U((await B()).errors):await H(a,!0);n!==r.isValid&&_.state.next({isValid:n})}},M=t=>S.isValidating&&_.state.next({isValidating:t}),q=(t,n=[],u,y,f=!0,o=!0)=>{if(y&&u){if(b.action=!0,o&&Array.isArray(d(a,t))){const h=u(d(a,t),y.argA,y.argB);f&&x(a,t,h)}if(o&&Array.isArray(d(r.errors,t))){const h=u(d(r.errors,t),y.argA,y.argB);f&&x(r.errors,t,h),St(r.errors,t)}if(S.touchedFields&&o&&Array.isArray(d(r.touchedFields,t))){const h=u(d(r.touchedFields,t),y.argA,y.argB);f&&x(r.touchedFields,t,h)}S.dirtyFields&&(r.dirtyFields=ke(l,c)),_.state.next({name:t,isDirty:v(t,n),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else x(c,t,n)},E=(t,n)=>{x(r.errors,t,n),_.state.next({errors:r.errors})},re=(t,n,u,y)=>{const f=d(a,t);if(f){const o=d(c,t,k(u)?d(l,t):u);k(o)||y&&y.defaultChecked||n?x(c,t,n?o:Se(f._f)):R(t,o),b.mount&&g()}},se=(t,n,u,y,f)=>{let o=!1,h=!1;const F={name:t};if(!u||y){S.isDirty&&(h=r.isDirty,r.isDirty=F.isDirty=v(),o=h!==F.isDirty);const D=X(d(l,t),n);h=d(r.dirtyFields,t),D?p(r.dirtyFields,t):x(r.dirtyFields,t,!0),F.dirtyFields=r.dirtyFields,o=o||S.dirtyFields&&h!==!D}if(u){const D=d(r.touchedFields,t);D||(x(r.touchedFields,t,u),F.touchedFields=r.touchedFields,o=o||S.touchedFields&&D!==u)}return o&&f&&_.state.next(F),o?F:{}},_e=(t,n,u,y)=>{const f=d(r.errors,t),o=S.isValid&&te(n)&&r.isValid!==n;if(e.delayError&&u?(L=ve(()=>E(t,u)),L(e.delayError)):(clearTimeout(Y),L=null,u?x(r.errors,t,u):p(r.errors,t)),(u?!X(f,u):f)||!U(y)||o){const h={...y,...o&&te(n)?{isValid:n}:{},errors:r.errors,name:t};r={...r,...h},_.state.next(h)}M(!1)},B=async t=>s.resolver(c,s.context,wt(t||A.mount,a,s.criteriaMode,s.shouldUseNativeValidation)),J=async t=>{const{errors:n}=await B();if(t)for(const u of t){const y=d(n,u);y?x(r.errors,u,y):p(r.errors,u)}else r.errors=n;return n},H=async(t,n,u={valid:!0})=>{for(const y in t){const f=t[y];if(f){const{_f:o,...h}=f;if(o){const F=A.array.has(o.name),D=await Je(f,c,oe,s.shouldUseNativeValidation&&!n,F);if(D[o.name]&&(u.valid=!1,n))break;!n&&(d(D,o.name)?F?At(r.errors,D,o.name):x(r.errors,o.name,D[o.name]):p(r.errors,o.name))}h&&await H(h,n,u)}}return u.valid},V=()=>{for(const t of A.unMount){const n=d(a,t);n&&(n._f.refs?n._f.refs.every(u=>!De(u)):!De(n._f.ref))&&Ve(t)}A.unMount=new Set},v=(t,n)=>(t&&n&&x(c,t,n),!X(Le(),l)),w=(t,n,u)=>_t(t,A,{...b.mount?c:k(n)?l:I(t)?{[t]:n}:n},u,n),T=t=>ae(d(b.mount?c:l,t,e.shouldUnregister?d(l,t,[]):[])),R=(t,n,u={})=>{const y=d(a,t);let f=n;if(y){const o=y._f;o&&(!o.disabled&&x(c,t,st(n,o)),f=ce(o.ref)&&O(n)?"":n,et(o.ref)?[...o.ref.options].forEach(h=>h.selected=f.includes(h.value)):o.refs?le(o.ref)?o.refs.length>1?o.refs.forEach(h=>(!h.defaultChecked||!h.disabled)&&(h.checked=Array.isArray(f)?!!f.find(F=>F===h.value):f===h.value)):o.refs[0]&&(o.refs[0].checked=!!f):o.refs.forEach(h=>h.checked=h.value===f):Oe(o.ref)?o.ref.value="":(o.ref.value=f,o.ref.type||_.values.next({name:t,values:{...c}})))}(u.shouldDirty||u.shouldTouch)&&se(t,f,u.shouldTouch,u.shouldDirty,!0),u.shouldValidate&&ne(t)},P=(t,n,u)=>{for(const y in n){const f=n[y],o=`${t}.${y}`,h=d(a,o);(A.array.has(t)||!ye(f)||h&&!h._f)&&!ee(f)?P(o,f,u):R(o,f,u)}},Q=(t,n,u={})=>{const y=d(a,t),f=A.array.has(t),o=K(n);x(c,t,o),f?(_.array.next({name:t,values:{...c}}),(S.isDirty||S.dirtyFields)&&u.shouldDirty&&_.state.next({name:t,dirtyFields:ke(l,c),isDirty:v(t,o)})):y&&!y._f&&!O(o)?P(t,o,u):R(t,o,u),We(t,A)&&_.state.next({...r}),_.values.next({name:t,values:{...c}}),!b.mount&&i()},ie=async t=>{const n=t.target;let u=n.name,y=!0;const f=d(a,u),o=()=>n.type?Se(f._f):ft(t);if(f){let h,F;const D=o(),Z=t.type===qe.BLUR||t.type===qe.FOCUS_OUT,lt=!Dt(f._f)&&!s.resolver&&!d(r.errors,u)&&!f._f.deps||kt(Z,d(r.touchedFields,u),r.isSubmitted,ge,C),be=We(u,A,Z);x(c,u,D),Z?(f._f.onBlur&&f._f.onBlur(t),L&&L(0)):f._f.onChange&&f._f.onChange(t);const xe=se(u,D,Z,!1),at=!U(xe)||be;if(!Z&&_.values.next({name:u,type:t.type,values:{...c}}),lt)return S.isValid&&g(),at&&_.state.next({name:u,...be?{}:xe});if(!Z&&be&&_.state.next({...r}),M(!0),s.resolver){const{errors:Pe}=await B([u]),ot=Qe(r.errors,a,u),Ie=Qe(Pe,a,ot.name||u);h=Ie.error,u=Ie.name,F=U(Pe)}else h=(await Je(f,c,oe,s.shouldUseNativeValidation))[u],y=isNaN(D)||D===d(c,u,D),y&&(h?F=!1:S.isValid&&(F=await H(a,!0)));y&&(f._f.deps&&ne(f._f.deps),_e(u,F,h,xe))}},ne=async(t,n={})=>{let u,y;const f=Fe(t);if(M(!0),s.resolver){const o=await J(k(t)?t:f);u=U(o),y=t?!f.some(h=>d(o,h)):u}else t?(y=(await Promise.all(f.map(async o=>{const h=d(a,o);return await H(h&&h._f?{[o]:h}:h)}))).every(Boolean),!(!y&&!r.isValid)&&g()):y=u=await H(a);return _.state.next({...!I(t)||S.isValid&&u!==r.isValid?{}:{name:t},...s.resolver||!t?{isValid:u}:{},errors:r.errors,isValidating:!1}),n.shouldFocus&&!y&&me(a,o=>o&&d(r.errors,o),t?f:A.mount),y},Le=t=>{const n={...l,...b.mount?c:{}};return k(t)?n:I(t)?d(n,t):t.map(u=>d(n,u))},Ce=(t,n)=>({invalid:!!d((n||r).errors,t),isDirty:!!d((n||r).dirtyFields,t),isTouched:!!d((n||r).touchedFields,t),error:d((n||r).errors,t)}),it=t=>{t&&Fe(t).forEach(n=>p(r.errors,n)),_.state.next({errors:t?r.errors:{}})},Re=(t,n,u)=>{const y=(d(a,t,{_f:{}})._f||{}).ref;x(r.errors,t,{...n,ref:y}),_.state.next({name:t,errors:r.errors,isValid:!1}),u&&u.shouldFocus&&y&&y.focus&&y.focus()},nt=(t,n)=>G(t)?_.values.subscribe({next:u=>t(w(void 0,n),u)}):w(t,n,!0),Ve=(t,n={})=>{for(const u of t?Fe(t):A.mount)A.mount.delete(u),A.array.delete(u),n.keepValue||(p(a,u),p(c,u)),!n.keepError&&p(r.errors,u),!n.keepDirty&&p(r.dirtyFields,u),!n.keepTouched&&p(r.touchedFields,u),!s.shouldUnregister&&!n.keepDefaultValue&&p(l,u);_.values.next({values:{...c}}),_.state.next({...r,...n.keepDirty?{isDirty:v()}:{}}),!n.keepIsValid&&g()},Ae=(t,n={})=>{let u=d(a,t);const y=te(n.disabled);return x(a,t,{...u||{},_f:{...u&&u._f?u._f:{ref:{name:t}},name:t,mount:!0,...n}}),A.mount.add(t),u?y&&x(c,t,n.disabled?void 0:d(c,t,Se(u._f))):re(t,!0,n.value),{...y?{disabled:n.disabled}:{},...s.progressive?{required:!!n.required,min:ue(n.min),max:ue(n.max),minLength:ue(n.minLength),maxLength:ue(n.maxLength),pattern:ue(n.pattern)}:{},name:t,onChange:ie,onBlur:ie,ref:f=>{if(f){Ae(t,n),u=d(a,t);const o=k(f.value)&&f.querySelectorAll&&f.querySelectorAll("input,select,textarea")[0]||f,h=Ft(o),F=u._f.refs||[];if(h?F.find(D=>D===o):o===u._f.ref)return;x(a,t,{_f:{...u._f,...h?{refs:[...F.filter(De),o,...Array.isArray(d(l,t))?[{}]:[]],ref:{type:o.type,name:t}}:{ref:o}}}),re(t,!1,void 0,o)}else u=d(a,t,{}),u._f&&(u._f.mount=!1),(s.shouldUnregister||n.shouldUnregister)&&!(dt(A.array,t)&&b.action)&&A.unMount.add(t)}}},Ue=()=>s.shouldFocusError&&me(a,t=>t&&d(r.errors,t),A.mount),Me=(t,n)=>async u=>{u&&(u.preventDefault&&u.preventDefault(),u.persist&&u.persist());let y=K(c);if(_.state.next({isSubmitting:!0}),s.resolver){const{errors:f,values:o}=await B();r.errors=f,y=o}else await H(a);p(r.errors,"root"),U(r.errors)?(_.state.next({errors:{}}),await t(y,u)):(n&&await n({...r.errors},u),Ue(),setTimeout(Ue)),_.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:U(r.errors),submitCount:r.submitCount+1,errors:r.errors})},ut=(t,n={})=>{d(a,t)&&(k(n.defaultValue)?Q(t,d(l,t)):(Q(t,n.defaultValue),x(l,t,n.defaultValue)),n.keepTouched||p(r.touchedFields,t),n.keepDirty||(p(r.dirtyFields,t),r.isDirty=n.defaultValue?v(t,d(l,t)):v()),n.keepError||(p(r.errors,t),S.isValid&&g()),_.state.next({...r}))},Ne=(t,n={})=>{const u=t||l,y=K(u),f=t&&!U(t)?y:l;if(n.keepDefaultValues||(l=u),!n.keepValues){if(n.keepDirtyValues||$)for(const o of A.mount)d(r.dirtyFields,o)?x(f,o,d(c,o)):Q(o,d(f,o));else{if(Ee&&k(t))for(const o of A.mount){const h=d(a,o);if(h&&h._f){const F=Array.isArray(h._f.refs)?h._f.refs[0]:h._f.ref;if(ce(F)){const D=F.closest("form");if(D){D.reset();break}}}}a={}}c=e.shouldUnregister?n.keepDefaultValues?K(l):{}:K(f),_.array.next({values:{...f}}),_.values.next({values:{...f}})}A={mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},!b.mount&&i(),b.mount=!S.isValid||!!n.keepIsValid,b.watch=!!e.shouldUnregister,_.state.next({submitCount:n.keepSubmitCount?r.submitCount:0,isDirty:n.keepDirty?r.isDirty:!!(n.keepDefaultValues&&!X(t,l)),isSubmitted:n.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:n.keepDirtyValues?r.dirtyFields:n.keepDefaultValues&&t?ke(l,t):{},touchedFields:n.keepTouched?r.touchedFields:{},errors:n.keepErrors?r.errors:{},isSubmitting:!1,isSubmitSuccessful:!1})},Be=(t,n)=>Ne(G(t)?t(c):t,n);return{control:{register:Ae,unregister:Ve,getFieldState:Ce,handleSubmit:Me,setError:Re,_executeSchema:B,_getWatch:w,_getDirty:v,_updateValid:g,_removeUnmounted:V,_updateFieldArray:q,_getFieldArray:T,_reset:Ne,_resetDefaultValues:()=>G(s.defaultValues)&&s.defaultValues().then(t=>{Be(t,s.resetOptions),_.state.next({isLoading:!1})}),_updateFormState:t=>{r={...r,...t}},_subjects:_,_proxyFormState:S,get _fields(){return a},get _formValues(){return c},get _state(){return b},set _state(t){b=t},get _defaultValues(){return l},get _names(){return A},set _names(t){A=t},get _formState(){return r},set _formState(t){r=t},get _options(){return s},set _options(t){s={...s,...t}}},trigger:ne,register:Ae,handleSubmit:Me,watch:nt,setValue:Q,getValues:Le,reset:Be,resetField:ut,clearErrors:it,unregister:Ve,setError:Re,setFocus:(t,n={})=>{const u=d(a,t),y=u&&u._f;if(y){const f=y.refs?y.refs[0]:y.ref;f.focus&&(f.focus(),n.shouldSelect&&f.select())}},getFieldState:Ce}}function Ct(e={}){const i=z.useRef(),s=z.useRef(),[r,a]=z.useState({isDirty:!1,isValidating:!1,isLoading:G(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},errors:{},defaultValues:G(e.defaultValues)?void 0:e.defaultValues});i.current||(i.current={...Et(e,()=>a(c=>({...c}))),formState:r});const l=i.current.control;return l._options=e,vt({subject:l._subjects.state,next:c=>{gt(c,l._proxyFormState,l._updateFormState,!0)&&a({...l._formState})}}),z.useEffect(()=>{e.values&&!X(e.values,s.current)?(l._reset(e.values,l._options.resetOptions),s.current=e.values):l._resetDefaultValues()},[e.values,l]),z.useEffect(()=>{l._state.mount||(l._updateValid(),l._state.mount=!0),l._state.watch&&(l._state.watch=!1,l._subjects.state.next({...l._formState})),l._removeUnmounted()}),i.current.formState=ht(r,l),i.current}export{Ct as u};
|
package/dist/index.html
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
<!
|
|
1
|
+
<!doctype html>
|
|
2
2
|
<html lang="en">
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>Exploration des ressources</title>
|
|
7
7
|
<link rel="icon" id="favicon" href="" />
|
|
8
|
-
<link
|
|
8
|
+
<link rel="stylesheet" href="/assets/themes/edifice-bootstrap/index.css" />
|
|
9
9
|
<script type="module" crossorigin src="/index.js"></script>
|
|
10
10
|
<link rel="stylesheet" href="/style.css">
|
|
11
11
|
</head>
|