yaml-admin-front 0.0.29 → 0.0.30

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/index.cjs.js CHANGED
@@ -562,7 +562,7 @@ Avoid returning a new reference inside your input selector, e.g.
562
562
  `));const S=a?a(g):g.children;u[b]={id:b,label:x,parentId:y,idAttribute:void 0,expandable:c?c(g)>0:!!S?.length,disabled:r?r(g):!1,depth:v},d[b]=g;const w=y??cu;p[w]||(p[w]=[]),p[w].push(b),l||S?.forEach(O=>h(O,v+1,b))};e?.forEach(g=>h(g,i,s));const m={};return Object.keys(p).forEach(g=>{m[g]=a6(p[g])}),{disabledItemsFocusable:t,itemMetaLookup:u,itemModelLookup:d,itemOrderedChildrenIdsLookup:p,itemChildrenIndexesLookup:m}},cd=({instance:t,params:e,store:r})=>{const n=C.useCallback(y=>at.itemModel(r.state,y),[r]),a=C.useCallback(y=>at.itemMeta(r.state,y)?.parentId||null,[r]),o=tr(y=>{r.set("items",Pe({},r.state.items,{loading:y}))}),i=tr(y=>{r.set("items",Pe({},r.state.items,{error:y}))}),s=tr(({itemId:y,shouldBeDisabled:b})=>{if(!r.state.items.itemMetaLookup[y])return;const x=Pe({},r.state.items.itemMetaLookup);x[y]=Pe({},x[y],{disabled:b??!x[y].disabled}),r.set("items",Pe({},r.state.items,{itemMetaLookup:x}))}),c=C.useCallback(()=>{const y=b=>{const x=at.itemModel(r.state,b),S=Pe({},x),w=at.itemOrderedChildrenIds(r.state,b);return w.length>0?S.children=w.map(y):delete S.children,S};return at.itemOrderedChildrenIds(r.state,null).map(y)},[r]),l=C.useCallback(y=>at.itemOrderedChildrenIds(r.state,y),[r]),u=y=>{const b=at.itemMeta(r.state,y);if(b==null)return null;const x=rx({treeId:vh.treeId(r.state),itemId:y,id:b.idAttribute});return document.getElementById(x)},d=C.useRef(!1),p=C.useCallback(()=>{d.current=!0},[]),h=C.useCallback(()=>d.current,[]),m=({items:y,parentId:b,depth:x,getChildrenCount:S})=>{if(y){const w=E_({disabledItemsFocusable:e.disabledItemsFocusable,items:y,isItemDisabled:e.isItemDisabled,getItemId:e.getItemId,getItemLabel:e.getItemLabel,getItemChildren:e.getItemChildren,getChildrenCount:S,initialDepth:x,initialParentId:b,ignoreChildren:!0});let O;b?O={itemModelLookup:Pe({},r.state.items.itemModelLookup,w.itemModelLookup),itemMetaLookup:Pe({},r.state.items.itemMetaLookup,w.itemMetaLookup),itemOrderedChildrenIdsLookup:Pe({},w.itemOrderedChildrenIdsLookup,r.state.items.itemOrderedChildrenIdsLookup),itemChildrenIndexesLookup:Pe({},w.itemChildrenIndexesLookup,r.state.items.itemChildrenIndexesLookup)}:O={itemModelLookup:w.itemModelLookup,itemMetaLookup:w.itemMetaLookup,itemOrderedChildrenIdsLookup:w.itemOrderedChildrenIdsLookup,itemChildrenIndexesLookup:w.itemChildrenIndexesLookup},Object.values(r.state.items.itemMetaLookup).forEach(E=>{O.itemMetaLookup[E.id]||Mf(t,"removeItem",{id:E.id})}),r.set("items",Pe({},r.state.items,O))}},g=y=>{if(y==null)r.set("items",Pe({},r.state.items,{itemMetaLookup:{},itemOrderedChildrenIdsLookup:{},itemChildrenIndexesLookup:{}}));else{const b=Object.keys(r.state.items.itemMetaLookup).reduce((w,O)=>{const E=r.state.items.itemMetaLookup[O];return E.parentId===y?(Mf(t,"removeItem",{id:E.id}),w):Pe({},w,{[E.id]:E})},{}),x=Pe({},r.state.items.itemOrderedChildrenIdsLookup),S=Pe({},r.state.items.itemChildrenIndexesLookup);delete S[y],delete x[y],r.set("items",Pe({},r.state.items,{itemMetaLookup:b,itemOrderedChildrenIdsLookup:x,itemChildrenIndexesLookup:S}))}};C.useEffect(()=>{if(t.areItemUpdatesPrevented())return;const y=E_({disabledItemsFocusable:e.disabledItemsFocusable,items:e.items,isItemDisabled:e.isItemDisabled,getItemId:e.getItemId,getItemLabel:e.getItemLabel,getItemChildren:e.getItemChildren});Object.values(r.state.items.itemMetaLookup).forEach(b=>{y.itemMetaLookup[b.id]||Mf(t,"removeItem",{id:b.id})}),r.set("items",Pe({},r.state.items,y))},[t,r,e.items,e.disabledItemsFocusable,e.isItemDisabled,e.getItemId,e.getItemLabel,e.getItemChildren]);const v=tr((y,b)=>{e.onItemClick&&e.onItemClick(y,b)});return{getRootProps:()=>({style:{"--TreeView-itemChildrenIndentation":typeof e.itemChildrenIndentation=="number"?`${e.itemChildrenIndentation}px`:e.itemChildrenIndentation}}),publicAPI:{getItem:n,getItemDOMElement:u,getItemTree:c,getItemOrderedChildrenIds:l,setIsItemDisabled:s,getParentId:a},instance:{getItemDOMElement:u,preventItemUpdates:p,areItemUpdatesPrevented:h,addItems:m,setTreeViewLoading:o,setTreeViewError:i,removeChildren:g,handleItemClick:v}}};cd.getInitialState=t=>({items:Pe({},E_({disabledItemsFocusable:t.disabledItemsFocusable,items:t.items,isItemDisabled:t.isItemDisabled,getItemId:t.getItemId,getItemLabel:t.getItemLabel,getItemChildren:t.getItemChildren}),{loading:!1,error:null})});cd.applyDefaultValuesToParams=({params:t})=>Pe({},t,{disabledItemsFocusable:t.disabledItemsFocusable??!1,itemChildrenIndentation:t.itemChildrenIndentation??"12px"});cd.wrapRoot=({children:t})=>N.jsx(Mu.Provider,{value:at.itemDepth,children:t});process.env.NODE_ENV!=="production"&&(cd.wrapRoot.displayName="useTreeViewItems.wrapRoot");cd.params={disabledItemsFocusable:!0,items:!0,isItemDisabled:!0,getItemLabel:!0,getItemChildren:!0,getItemId:!0,onItemClick:!0,itemChildrenIndentation:!0};function kAe(t){const{componentName:e,propName:r,controlled:n,defaultValue:a,warningPrefix:o="MUI X"}=t,[{initialDefaultValue:i,isControlled:s}]=C.useState({initialDefaultValue:a,isControlled:n!==void 0});s!==(n!==void 0)&&O_([`${o}: A component is changing the ${s?"":"un"}controlled ${r} state of ${e} to be ${s?"un":""}controlled.`,"Elements should not switch from uncontrolled to controlled (or vice versa).",`Decide between using a controlled or uncontrolled ${r} element for the lifetime of the component.`,"The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.","More info: https://fb.me/react-controlled-components"],"error"),JSON.stringify(i)!==JSON.stringify(a)&&O_([`${o}: A component is changing the default ${r} state of an uncontrolled ${e} after being initialized. To suppress this warning opt to use a controlled ${e}.`],"error")}const o6=process.env.NODE_ENV==="production"?()=>{}:kAe,Fz=tx(t=>t.expansion.expandedItems,t=>{const e=new Map;return t.forEach(r=>{e.set(r,!0)}),e}),Yr={expandedItemsRaw:Dt(t=>t.expansion.expandedItems),expandedItemsMap:Fz,triggerSlot:Dt(t=>t.expansion.expansionTrigger),isItemExpanded:Dt(Fz,(t,e)=>t.has(e)),isItemExpandable:Dt(at.itemMeta,(t,e)=>t?.expandable??!1)},i6=({isItemEditable:t,expansionTrigger:e})=>e||(t?"iconContainer":"content"),nx=({instance:t,store:e,params:r})=>{o6({componentName:"Tree View",propName:"expandedItems",controlled:r.expandedItems,defaultValue:r.defaultExpandedItems}),on(()=>{const l=i6({isItemEditable:r.isItemEditable,expansionTrigger:r.expansionTrigger});e.state.expansion.expansionTrigger!==l&&e.set("expansion",Pe({},e.state.expansion,{expansionTrigger:l}))},[e,r.isItemEditable,r.expansionTrigger]);const n=(l,u)=>{r.expandedItems===void 0&&e.set("expansion",Pe({},e.state.expansion,{expandedItems:u})),r.onExpandedItemsChange?.(l,u)},a=tr(()=>{n(null,[])}),o=tr(({itemId:l,event:u,shouldBeExpanded:d})=>{const p=Yr.expandedItemsRaw(e.state);let h;d?h=[l].concat(p):h=p.filter(m=>m!==l),r.onItemExpansionToggle&&r.onItemExpansionToggle(u,l,d),n(u,h)}),i=tr(({itemId:l,event:u=null,shouldBeExpanded:d})=>{const p=Yr.isItemExpanded(e.state,l),h=d??!p;if(p===h)return;const m={isExpansionPrevented:!1,shouldBeExpanded:h,event:u,itemId:l};Mf(t,"beforeItemToggleExpansion",m),!m.isExpansionPrevented&&t.applyItemExpansion({itemId:l,event:u,shouldBeExpanded:h})}),s=tr(l=>Yr.isItemExpandable(e.state,l)),c=(l,u)=>{const d=at.itemMeta(e.state,u);if(d==null)return;const h=at.itemOrderedChildrenIds(e.state,d.parentId).filter(g=>Yr.isItemExpandable(e.state,g)&&!Yr.isItemExpanded(e.state,g)),m=Yr.expandedItemsRaw(e.state).concat(h);h.length>0&&(r.onItemExpansionToggle&&h.forEach(g=>{r.onItemExpansionToggle(l,g,!0)}),n(l,m))};return on(()=>{const l=r.expandedItems;l!==void 0&&e.set("expansion",Pe({},e.state.expansion,{expandedItems:l}))},[e,r.expandedItems]),{publicAPI:{setItemExpansion:i,isItemExpanded:s},instance:{setItemExpansion:i,applyItemExpansion:o,expandAllSiblings:c,resetItemExpansion:a}}},_Ae=[];nx.applyDefaultValuesToParams=({params:t})=>Pe({},t,{defaultExpandedItems:t.defaultExpandedItems??_Ae});nx.getInitialState=t=>({expansion:{expandedItems:t.expandedItems===void 0?t.defaultExpandedItems:t.expandedItems,expansionTrigger:i6(t)}});nx.params={expandedItems:!0,defaultExpandedItems:!0,onExpandedItemsChange:!0,onItemExpansionToggle:!0,expansionTrigger:!0};const k_=(t,e)=>{let r=e.length-1;for(;r>=0&&!at.canItemBeFocused(t,e[r]);)r-=1;if(r!==-1)return e[r]},s6=(t,e)=>{const r=at.itemMeta(t,e);if(!r)return null;const n=at.itemOrderedChildrenIds(t,r.parentId),a=at.itemIndex(t,e);if(a===0)return r.parentId;let o=a-1;for(;!at.canItemBeFocused(t,n[o])&&o>=0;)o-=1;if(o===-1)return r.parentId==null?null:s6(t,r.parentId);let i=n[o],s=k_(t,at.itemOrderedChildrenIds(t,i));for(;Yr.isItemExpanded(t,i)&&s!=null;)i=s,s=k_(t,at.itemOrderedChildrenIds(t,i));return i},Hg=(t,e)=>{if(Yr.isItemExpanded(t,e)){const n=at.itemOrderedChildrenIds(t,e).find(a=>at.canItemBeFocused(t,a));if(n!=null)return n}let r=at.itemMeta(t,e);for(;r!=null;){const n=at.itemOrderedChildrenIds(t,r.parentId),a=at.itemIndex(t,r.id);if(a<n.length-1){let o=a+1;for(;!at.canItemBeFocused(t,n[o])&&o<n.length-1;)o+=1;if(at.canItemBeFocused(t,n[o]))return n[o]}r=at.itemMeta(t,r.parentId)}return null},l6=t=>{let e=null;for(;e==null||Yr.isItemExpanded(t,e);){const r=at.itemOrderedChildrenIds(t,e),n=k_(t,r);if(n==null)return e;e=n}return e},Kv=t=>at.itemOrderedChildrenIds(t,null).find(e=>at.canItemBeFocused(t,e)),c6=(t,e,r)=>{if(e===r)return[e,r];const n=at.itemMeta(t,e),a=at.itemMeta(t,r);if(!n||!a)return[e,r];if(n.parentId===a.id||a.parentId===n.id)return a.parentId===n.id?[n.id,a.id]:[a.id,n.id];const o=[n.id],i=[a.id];let s=n.parentId,c=a.parentId,l=i.indexOf(s)!==-1,u=o.indexOf(c)!==-1,d=!0,p=!0;for(;!u&&!l;)d&&(o.push(s),l=i.indexOf(s)!==-1,d=s!==null,!l&&d&&(s=at.itemParentId(t,s))),p&&!l&&(i.push(c),u=o.indexOf(c)!==-1,p=c!==null,!u&&p&&(c=at.itemParentId(t,c)));const h=l?s:c,m=at.itemOrderedChildrenIds(t,h),g=o[o.indexOf(h)-1],v=i[i.indexOf(h)-1];return m.indexOf(g)<m.indexOf(v)?[e,r]:[r,e]},PAe=(t,e,r)=>{const n=c=>{if(Yr.isItemExpandable(t,c)&&Yr.isItemExpanded(t,c))return at.itemOrderedChildrenIds(t,c)[0];let l=at.itemMeta(t,c);for(;l!=null;){const u=at.itemOrderedChildrenIds(t,l.parentId),d=at.itemIndex(t,l.id);if(d<u.length-1)return u[d+1];l=l.parentId?at.itemMeta(t,l.parentId):null}throw new Error("Invalid range")},[a,o]=c6(t,e,r),i=[a];let s=a;for(;s!==o;)s=n(s),at.isItemDisabled(t,s)||i.push(s);return i},TAe=t=>{let e=Kv(t);const r=[];for(;e!=null;)r.push(e),e=Hg(t,e);return r},__=(t,e)=>e!==t.closest('*[role="treeitem"]'),u6=tx(t=>t.selection.selectedItems,t=>Array.isArray(t)?t:t!=null?[t]:[]),$z=tx(u6,t=>{const e=new Map;return t.forEach(r=>{e.set(r,!0)}),e}),er={selectedItemsRaw:Dt(t=>t.selection.selectedItems),selectedItems:u6,selectedItemsMap:$z,enabled:Dt(t=>t.selection.isEnabled),isMultiSelectEnabled:Dt(t=>t.selection.isMultiSelectEnabled),isCheckboxSelectionEnabled:Dt(t=>t.selection.isCheckboxSelectionEnabled),propagationRules:Dt(t=>t.selection.selectionPropagation),isItemSelected:Dt($z,(t,e)=>t.has(e)),canItemBeSelected:Dt(at.isItemDisabled,t=>t.selection.isEnabled,(t,e,r)=>e&&!t)},Wg=t=>{const e={};return t.forEach(r=>{e[r]=!0}),e},d6=({store:t,oldModel:e,newModel:r})=>{const n=new Map;return r.forEach(a=>{n.set(a,!0)}),{added:r.filter(a=>!er.isItemSelected(t.state,a)),removed:e.filter(a=>!n.has(a))}},AAe=({store:t,selectionPropagation:e,newModel:r,oldModel:n,additionalItemsToPropagate:a})=>{if(!e.descendants&&!e.parents)return r;let o=!1;const i=Wg(r),s=d6({store:t,newModel:r,oldModel:n});return a?.forEach(c=>{i[c]?s.added.includes(c)||s.added.push(c):s.removed.includes(c)||s.removed.push(c)}),s.added.forEach(c=>{if(e.descendants){const l=u=>{u!==c&&(o=!0,i[u]=!0),at.itemOrderedChildrenIds(t.state,u).forEach(l)};l(c)}if(e.parents){const l=d=>i[d]?at.itemOrderedChildrenIds(t.state,d).every(l):!1,u=d=>{const p=at.itemParentId(t.state,d);if(p==null)return;at.itemOrderedChildrenIds(t.state,p).every(l)&&(o=!0,i[p]=!0,u(p))};u(c)}}),s.removed.forEach(c=>{if(e.parents){let l=at.itemParentId(t.state,c);for(;l!=null;)i[l]&&(o=!0,delete i[l]),l=at.itemParentId(t.state,l)}if(e.descendants){const l=u=>{u!==c&&(o=!0,delete i[u]),at.itemOrderedChildrenIds(t.state,u).forEach(l)};l(c)}}),o?Object.keys(i):r},IAe=Dt((t,e)=>{if(er.isItemSelected(t,e))return"checked";let r=!1,n=!1;const a=i=>{i!==e&&(er.isItemSelected(t,i)?r=!0:n=!0),at.itemOrderedChildrenIds(t,i).forEach(a)};return a(e),r&&n?"indeterminate":er.propagationRules(t).parents&&r&&!n?"checked":"empty"}),RAe=({props:t})=>{const{itemId:e}=t,{store:r}=nc(),n=Rr(r,er.isCheckboxSelectionEnabled),a=Rr(r,er.canItemBeSelected,e),o=Rr(r,IAe,e);return{propsEnhancers:{checkbox:({externalEventHandlers:i,interactions:s})=>({tabIndex:-1,onChange:l=>{i.onChange?.(l),!l.defaultMuiPrevented&&er.canItemBeSelected(r.state,e)&&s.handleCheckboxSelection(l)},visible:n,disabled:!a,checked:o==="checked",indeterminate:o==="indeterminate"})}}},yh=({store:t,params:e})=>{o6({componentName:"Tree View",propName:"selectedItems",controlled:e.selectedItems,defaultValue:e.defaultSelectedItems});const r=C.useRef(null),n=C.useRef({}),a=(p,h,m)=>{const g=er.selectedItemsRaw(t.state);let v;const y=er.isMultiSelectEnabled(t.state);if(y&&(e.selectionPropagation.descendants||e.selectionPropagation.parents)?v=AAe({store:t,selectionPropagation:e.selectionPropagation,newModel:h,oldModel:g,additionalItemsToPropagate:m}):v=h,e.onItemSelectionToggle)if(y){const b=d6({store:t,newModel:v,oldModel:g});e.onItemSelectionToggle&&(b.added.forEach(x=>{e.onItemSelectionToggle(p,x,!0)}),b.removed.forEach(x=>{e.onItemSelectionToggle(p,x,!1)}))}else e.onItemSelectionToggle&&v!==g&&(g!=null&&e.onItemSelectionToggle(p,g,!1),v!=null&&e.onItemSelectionToggle(p,v,!0));e.selectedItems===void 0&&t.set("selection",Pe({},t.state.selection,{selectedItems:v})),e.onSelectedItemsChange?.(p,v)},o=({itemId:p,event:h=null,keepExistingSelection:m=!1,shouldBeSelected:g})=>{if(!er.enabled(t.state))return;let v;const y=er.isMultiSelectEnabled(t.state);if(m){const b=er.selectedItems(t.state),x=er.isItemSelected(t.state,p);x&&(g===!1||g==null)?v=b.filter(S=>S!==p):!x&&(g===!0||g==null)?v=[p].concat(b):v=b}else g===!1||g==null&&er.isItemSelected(t.state,p)?v=y?[]:null:v=y?[p]:p;a(h,v,[p]),r.current=p,n.current={}},i=(p,[h,m])=>{if(!er.isMultiSelectEnabled(t.state))return;let v=er.selectedItems(t.state).slice();Object.keys(n.current).length>0&&(v=v.filter(S=>!n.current[S]));const y=Wg(v),b=PAe(t.state,h,m),x=b.filter(S=>!y[S]);v=v.concat(x),a(p,v),n.current=Wg(b)},s=(p,h)=>{if(r.current!=null){const[m,g]=c6(t.state,h,r.current);i(p,[m,g])}},c=(p,h)=>{i(p,[Kv(t.state),h])},l=(p,h)=>{i(p,[h,l6(t.state)])},u=p=>{if(!er.isMultiSelectEnabled(t.state))return;const m=TAe(t.state);a(p,m),n.current=Wg(m)},d=(p,h,m)=>{if(!er.isMultiSelectEnabled(t.state))return;let v=er.selectedItems(t.state).slice();Object.keys(n.current).length===0?(v.push(m),n.current={[h]:!0,[m]:!0}):(n.current[h]||(n.current={}),n.current[m]?(v=v.filter(y=>y!==h),delete n.current[h]):(v.push(m),n.current[m]=!0)),a(p,v)};return on(()=>{t.set("selection",{selectedItems:e.selectedItems===void 0?t.state.selection.selectedItems:e.selectedItems,isEnabled:!e.disableSelection,isMultiSelectEnabled:e.multiSelect,isCheckboxSelectionEnabled:e.checkboxSelection,selectionPropagation:{descendants:e.selectionPropagation.descendants,parents:e.selectionPropagation.parents}})},[t,e.selectedItems,e.multiSelect,e.checkboxSelection,e.disableSelection,e.selectionPropagation.descendants,e.selectionPropagation.parents]),{getRootProps:()=>({"aria-multiselectable":e.multiSelect}),publicAPI:{setItemSelection:o},instance:{setItemSelection:o,selectAllNavigableItems:u,expandSelectionRange:s,selectRangeFromStartToItem:c,selectRangeFromItemToEnd:l,selectItemFromArrowNavigation:d}}};yh.itemPlugin=RAe;const MAe=[],LAe={};yh.applyDefaultValuesToParams=({params:t})=>Pe({},t,{disableSelection:t.disableSelection??!1,multiSelect:t.multiSelect??!1,checkboxSelection:t.checkboxSelection??!1,defaultSelectedItems:t.defaultSelectedItems??(t.multiSelect?MAe:null),selectionPropagation:t.selectionPropagation??LAe});yh.getInitialState=t=>({selection:{selectedItems:t.selectedItems===void 0?t.defaultSelectedItems:t.selectedItems,isEnabled:!t.disableSelection,isMultiSelectEnabled:t.multiSelect,isCheckboxSelectionEnabled:t.checkboxSelection,selectionPropagation:t.selectionPropagation}});yh.params={disableSelection:!0,multiSelect:!0,checkboxSelection:!0,defaultSelectedItems:!0,selectedItems:!0,onSelectedItemsChange:!0,onItemSelectionToggle:!0,selectionPropagation:!0};const zz=1e3;class jAe{timeouts=new Map;cleanupTimeout=zz;constructor(e=zz){this.cleanupTimeout=e}register(e,r,n){this.timeouts||(this.timeouts=new Map);const a=setTimeout(()=>{typeof r=="function"&&r(),this.timeouts.delete(n.cleanupToken)},this.cleanupTimeout);this.timeouts.set(n.cleanupToken,a)}unregister(e){const r=this.timeouts.get(e.cleanupToken);r&&(this.timeouts.delete(e.cleanupToken),clearTimeout(r))}reset(){this.timeouts&&(this.timeouts.forEach((e,r)=>{this.unregister({cleanupToken:r})}),this.timeouts=void 0)}}class NAe{registry=new FinalizationRegistry(e=>{typeof e=="function"&&e()});register(e,r,n){this.registry.register(e,r,n)}unregister(e){this.registry.unregister(e)}reset(){}}class DAe{}function FAe(t){let e=0;return function(n,a,o){t.registry===null&&(t.registry=typeof FinalizationRegistry<"u"?new NAe:new jAe);const[i]=C.useState(new DAe),s=C.useRef(null),c=C.useRef(void 0);c.current=o;const l=C.useRef(null);if(!s.current&&c.current){const u=(d,p)=>{p.defaultMuiPrevented||c.current?.(d,p)};s.current=n.$$subscribeEvent(a,u),e+=1,l.current={cleanupToken:e},t.registry.register(i,()=>{s.current?.(),s.current=null,l.current=null},l.current)}else!c.current&&s.current&&(s.current(),s.current=null,l.current&&(t.registry.unregister(l.current),l.current=null));C.useEffect(()=>{if(!s.current&&c.current){const u=(d,p)=>{p.defaultMuiPrevented||c.current?.(d,p)};s.current=n.$$subscribeEvent(a,u)}return l.current&&t.registry&&(t.registry.unregister(l.current),l.current=null),()=>{s.current?.(),s.current=null}},[n,a])}}const $Ae={registry:null},zAe=FAe($Ae),Bz=tx(er.selectedItems,Yr.expandedItemsMap,at.itemMetaLookup,at.disabledItemFocusable,t=>at.itemOrderedChildrenIds(t,null),(t,e,r,n,a)=>{const o=t.find(s=>{if(!n&&Gv(r,s))return!1;const c=r[s];return c&&(c.parentId==null||e.has(c.parentId))});if(o!=null)return o;const i=a.find(s=>n||!Gv(r,s));return i??null}),fl={defaultFocusableItemId:Bz,isItemTheDefaultFocusableItem:Dt(Bz,(t,e)=>t===e),focusedItemId:Dt(t=>t.focus.focusedItemId),isItemFocused:Dt((t,e)=>t.focus.focusedItemId===e)},dI=({instance:t,params:e,store:r})=>{const n=tr(u=>{fl.focusedItemId(r.state)!==u&&r.set("focus",Pe({},r.state.focus,{focusedItemId:u}))}),a=u=>{const d=at.itemMeta(r.state,u);return d&&(d.parentId==null||Yr.isItemExpanded(r.state,d.parentId))},o=(u,d)=>{const p=t.getItemDOMElement(d);p&&p.focus(),n(d),e.onItemFocus&&e.onItemFocus(u,d)},i=tr((u,d)=>{a(d)&&o(u,d)}),s=tr(()=>{const u=fl.focusedItemId(r.state);if(u==null)return;if(at.itemMeta(r.state,u)){const p=t.getItemDOMElement(u);p&&p.blur()}n(null)});zAe(t,"removeItem",({id:u})=>{const d=fl.focusedItemId(r.state),p=fl.defaultFocusableItemId(r.state);d===u&&p!=null&&o(null,p)});const c=u=>d=>{if(u.onFocus?.(d),d.defaultMuiPrevented)return;const p=fl.defaultFocusableItemId(r.state);d.target===d.currentTarget&&p!=null&&o(d,p)},l=u=>d=>{u.onBlur?.(d),!d.defaultMuiPrevented&&n(null)};return{getRootProps:u=>({onFocus:c(u),onBlur:l(u)}),publicAPI:{focusItem:i},instance:{focusItem:i,removeFocusedItem:s}}};dI.getInitialState=()=>({focus:{focusedItemId:null}});dI.params={onItemFocus:!0};const qg=(t,e)=>t.getAvailablePlugins().has(e),Ai={isItemEditable:Dt(t=>t.label?.isItemEditable,at.itemModel,(t,e,r)=>!e||t==null?!1:typeof t=="boolean"?t:t(e)),isItemBeingEdited:Dt((t,e)=>e==null?!1:t.label?.editedItemId===e),isAnyItemBeingEdited:Dt(t=>!!t.label?.editedItemId)},BAe=({props:t})=>{const{store:e}=nc(),{label:r,itemId:n}=t,[a,o]=C.useState(r),i=Rr(e,Ai.isItemEditable,n),s=Rr(e,Ai.isItemBeingEdited,n);return C.useEffect(()=>{s||o(r)},[s,r]),{propsEnhancers:{label:()=>({editable:i}),labelInput:({externalEventHandlers:c,interactions:l})=>i?{value:a??"","data-element":"labelInput",onChange:h=>{c.onChange?.(h),o(h.target.value)},onKeyDown:h=>{if(c.onKeyDown?.(h),h.defaultMuiPrevented)return;const m=h.target;h.key==="Enter"&&m.value?l.handleSaveItemLabel(h,m.value):h.key==="Escape"&&l.handleCancelItemLabelEditing(h)},onBlur:h=>{c.onBlur?.(h),!h.defaultMuiPrevented&&h.target.value&&l.handleSaveItemLabel(h,h.target.value)},autoFocus:!0,type:"text"}:{}}}},Os=({store:t,params:e})=>{const r=a=>{a!==null&&!Ai.isItemEditable(t.state,a)||t.set("label",Pe({},t.state.label,{editedItemId:a}))},n=(a,o)=>{if(!o)throw new Error(["MUI X: The Tree View component requires all items to have a `label` property.","The label of an item cannot be empty.",a].join(`
563
563
  `));const i=t.state.items.itemMetaLookup[a];i.label!==o&&(t.set("items",Pe({},t.state.items,{itemMetaLookup:Pe({},t.state.items.itemMetaLookup,{[a]:Pe({},i,{label:o})})})),e.onItemLabelChange&&e.onItemLabelChange(a,o))};return on(()=>{t.set("label",Pe({},t.state.items,{isItemEditable:e.isItemEditable}))},[t,e.isItemEditable]),{instance:{setEditedItem:r,updateItemLabel:n},publicAPI:{setEditedItem:r,updateItemLabel:n}}};Os.itemPlugin=BAe;Os.applyDefaultValuesToParams=({params:t})=>Pe({},t,{isItemEditable:t.isItemEditable??!1});Os.getInitialState=t=>({label:{isItemEditable:t.isItemEditable,editedItemId:null}});Os.params={onItemLabelChange:!0,isItemEditable:!0};function VAe(t){return!!t&&t.length===1&&!!t.match(/\S/)}const f6=({instance:t,store:e,params:r})=>{const n=Hs(),a=C.useRef({}),o=tr(d=>{a.current=d(a.current)}),i=Rr(e,at.itemMetaLookup);C.useEffect(()=>{if(t.areItemUpdatesPrevented())return;const d={},p=h=>{d[h.id]=h.label.substring(0,1).toLowerCase()};Object.values(i).forEach(p),a.current=d},[i,r.getItemId,t]);const s=(d,p)=>{const h=p.toLowerCase(),m=b=>{const x=Hg(e.state,b);return x===null?Kv(e.state):x};let g=null,v=m(d);const y={};for(;g==null&&!y[v];)a.current[v]===h?g=v:(y[v]=!0,v=m(v));return g},c=d=>er.enabled(e.state)&&!at.isItemDisabled(e.state,d),l=d=>!at.isItemDisabled(e.state,d)&&Yr.isItemExpandable(e.state,d);return{instance:{updateFirstCharMap:o,handleItemKeyDown:async(d,p)=>{if(d.defaultMuiPrevented||d.altKey||__(d.target,d.currentTarget))return;const h=d.ctrlKey||d.metaKey,m=d.key,g=er.isMultiSelectEnabled(e.state);switch(!0){case(m===" "&&c(p)):{d.preventDefault(),g&&d.shiftKey?t.expandSelectionRange(d,p):t.setItemSelection({event:d,itemId:p,keepExistingSelection:g,shouldBeSelected:void 0});break}case m==="Enter":{qg(t,Os)&&Ai.isItemEditable(e.state,p)&&!Ai.isItemBeingEdited(e.state,p)?t.setEditedItem(p):l(p)?(t.setItemExpansion({event:d,itemId:p}),d.preventDefault()):c(p)&&(g?(d.preventDefault(),t.setItemSelection({event:d,itemId:p,keepExistingSelection:!0})):er.isItemSelected(e.state,p)||(t.setItemSelection({event:d,itemId:p}),d.preventDefault()));break}case m==="ArrowDown":{const v=Hg(e.state,p);v&&(d.preventDefault(),t.focusItem(d,v),g&&d.shiftKey&&c(v)&&t.selectItemFromArrowNavigation(d,p,v));break}case m==="ArrowUp":{const v=s6(e.state,p);v&&(d.preventDefault(),t.focusItem(d,v),g&&d.shiftKey&&c(v)&&t.selectItemFromArrowNavigation(d,p,v));break}case(m==="ArrowRight"&&!n||m==="ArrowLeft"&&n):{if(h)return;if(Yr.isItemExpanded(e.state,p)){const v=Hg(e.state,p);v&&(t.focusItem(d,v),d.preventDefault())}else l(p)&&(t.setItemExpansion({event:d,itemId:p}),d.preventDefault());break}case(m==="ArrowLeft"&&!n||m==="ArrowRight"&&n):{if(h)return;if(l(p)&&Yr.isItemExpanded(e.state,p))t.setItemExpansion({event:d,itemId:p}),d.preventDefault();else{const v=at.itemParentId(e.state,p);v&&(t.focusItem(d,v),d.preventDefault())}break}case m==="Home":{c(p)&&g&&h&&d.shiftKey?t.selectRangeFromStartToItem(d,p):t.focusItem(d,Kv(e.state)),d.preventDefault();break}case m==="End":{c(p)&&g&&h&&d.shiftKey?t.selectRangeFromItemToEnd(d,p):t.focusItem(d,l6(e.state)),d.preventDefault();break}case m==="*":{t.expandAllSiblings(d,p),d.preventDefault();break}case(String.fromCharCode(d.keyCode)==="A"&&h&&g&&er.enabled(e.state)):{t.selectAllNavigableItems(d),d.preventDefault();break}case(!h&&!d.shiftKey&&VAe(m)):{const v=s(p,m);v!=null&&(t.focusItem(d,v),d.preventDefault());break}}}}}};f6.params={};function HAe(t){return t.replace(/["\\]/g,"\\$&")}const fI=C.createContext(null);process.env.NODE_ENV!=="production"&&(fI.displayName="TreeViewChildrenItemContext");function pI(t){const{children:e,itemId:r=null,idAttribute:n}=t,{instance:a,store:o,rootRef:i}=nc(),s=C.useRef(new Map);C.useEffect(()=>{if(!i.current)return;const l=at.itemOrderedChildrenIds(o.state,r??null)??[],u=HAe(n??i.current.id);if(r!=null){const m=i.current.querySelector(`*[id="${u}"][role="treeitem"]`);if(m&&m.getAttribute("aria-expanded")==="false")return}const d=i.current.querySelectorAll(`${r==null?"":`*[id="${u}"] `}[role="treeitem"]:not(*[id="${u}"] [role="treeitem"] [role="treeitem"])`),p=Array.from(d).map(m=>s.current.get(m.id));(p.length!==l.length||p.some((m,g)=>m!==l[g]))&&a.setJSXItemsOrderedChildrenIds(r??null,p)});const c=C.useMemo(()=>({registerChild:(l,u)=>s.current.set(l,u),unregisterChild:l=>s.current.delete(l),parentId:r}),[r]);return N.jsx(fI.Provider,{value:c,children:e})}process.env.NODE_ENV!=="production"&&(pI.propTypes={children:f.node,id:f.string});const Vz={dataSource:Dt(t=>t.lazyLoading?.dataSource),isItemLoading:Dt((t,e)=>t.lazyLoading?.dataSource.loading[e]??!1),itemHasError:Dt((t,e)=>!!t.lazyLoading?.dataSource.errors[e])},hI=t=>Array.isArray(t)?t.length>0&&t.some(hI):!!t,WAe=({itemId:t,children:e})=>{const{instance:r,store:n,publicAPI:a}=nc(),o=Rr(n,Yr.isItemExpandable,t),i=Rr(n,Vz.isItemLoading,t),s=Rr(n,Vz.itemHasError,t),c=hI(e)||o,l=Rr(n,Yr.isItemExpanded,t),u=Rr(n,fl.isItemFocused,t),d=Rr(n,er.isItemSelected,t),p=Rr(n,at.isItemDisabled,t),h=Rr(n,Ai.isItemBeingEdited,t),m=Rr(n,Ai.isItemEditable,t),g={expandable:c,expanded:l,focused:u,selected:d,disabled:p,editing:h,editable:m,loading:i,error:s},v=E=>{if(g.disabled)return;g.focused||r.focusItem(E,t);const k=er.isMultiSelectEnabled(n.state)&&(E.shiftKey||E.ctrlKey||E.metaKey);g.expandable&&!(k&&Yr.isItemExpanded(n.state,t))&&r.setItemExpansion({event:E,itemId:t})},y=E=>{if(g.disabled)return;!g.focused&&!g.editing&&r.focusItem(E,t),er.isMultiSelectEnabled(n.state)&&(E.shiftKey||E.ctrlKey||E.metaKey)?E.shiftKey?r.expandSelectionRange(E,t):r.setItemSelection({event:E,itemId:t,keepExistingSelection:!0}):r.setItemSelection({event:E,itemId:t,shouldBeSelected:!0})},b=E=>{const k=E.nativeEvent.shiftKey,_=er.isMultiSelectEnabled(n.state);_&&k?r.expandSelectionRange(E,t):r.setItemSelection({event:E,itemId:t,keepExistingSelection:_,shouldBeSelected:E.target.checked})},x=()=>{qg(r,Os)&&(h?r.setEditedItem(null):r.setEditedItem(t))};return{interactions:{handleExpansion:v,handleSelection:y,handleCheckboxSelection:b,toggleItemEditing:x,handleSaveItemLabel:(E,k)=>{qg(r,Os)&&Ai.isItemBeingEdited(n.state,t)&&(r.updateItemLabel(t,k),x(),r.focusItem(E,t))},handleCancelItemLabelEditing:E=>{qg(r,Os)&&Ai.isItemBeingEdited(n.state,t)&&(x(),r.focusItem(E,t))}},status:g,publicAPI:a}},ac=({instance:t,store:e})=>{t.preventItemUpdates();const r=tr(o=>{if(e.state.items.itemMetaLookup[o.id]!=null)throw new Error(["MUI X: The Tree View component requires all items to have a unique `id` property.","Alternatively, you can use the `getItemId` prop to specify a custom id for each item.",`Two items were provided with the same id in the \`items\` prop: "${o.id}"`].join(`
564
564
  `));return e.set("items",Pe({},e.state.items,{itemMetaLookup:Pe({},e.state.items.itemMetaLookup,{[o.id]:o}),itemModelLookup:Pe({},e.state.items.itemModelLookup,{[o.id]:{id:o.id,label:o.label??""}})})),()=>{const i=Pe({},e.state.items.itemMetaLookup),s=Pe({},e.state.items.itemModelLookup);delete i[o.id],delete s[o.id],e.set("items",Pe({},e.state.items,{itemMetaLookup:i,itemModelLookup:s})),Mf(t,"removeItem",{id:o.id})}}),n=(o,i)=>{const s=o??cu;e.set("items",Pe({},e.state.items,{itemOrderedChildrenIdsLookup:Pe({},e.state.items.itemOrderedChildrenIdsLookup,{[s]:i}),itemChildrenIndexesLookup:Pe({},e.state.items.itemChildrenIndexesLookup,{[s]:a6(i)})}))},a=tr((o,i)=>(t.updateFirstCharMap(s=>(s[o]=i,s)),()=>{t.updateFirstCharMap(s=>{const c=Pe({},s);return delete c[o],c})}));return{instance:{insertJSXItem:r,setJSXItemsOrderedChildrenIds:n,mapFirstCharFromJSX:a}}},qAe=({props:t,rootRef:e,contentRef:r})=>{const{instance:n,store:a}=nc(),{children:o,disabled:i=!1,label:s,itemId:c,id:l}=t,u=C.useContext(fI);if(u==null)throw new Error(["MUI X: Could not find the Tree View Children Item context.","It looks like you rendered your component outside of a SimpleTreeView parent component.","This can also happen if you are bundling multiple versions of the Tree View."].join(`
565
- `));const{registerChild:d,unregisterChild:p,parentId:h}=u,m=hI(o),g=C.useRef(null),v=ir(g,r),y=Rr(a,vh.treeId);return on(()=>{const b=rx({itemId:c,treeId:y,id:l});return d(b,c),()=>{p(b),p(b)}},[a,n,d,p,c,l,y]),on(()=>n.insertJSXItem({id:c,idAttribute:l,parentId:h,expandable:m,disabled:i}),[n,h,c,m,i,l]),C.useEffect(()=>{if(s)return n.mapFirstCharFromJSX(c,(g.current?.textContent??"").substring(0,1).toLowerCase())},[n,c,s]),{contentRef:v,rootRef:e}};ac.itemPlugin=qAe;ac.wrapItem=({children:t,itemId:e,idAttribute:r})=>{const n=C.useContext(Mu);return N.jsx(pI,{itemId:e,idAttribute:r,children:N.jsx(Mu.Provider,{value:n+1,children:t})})};process.env.NODE_ENV!=="production"&&(ac.wrapItem.displayName="useTreeViewJSXItems.wrapItem");ac.wrapRoot=({children:t})=>N.jsx(pI,{itemId:null,idAttribute:null,children:N.jsx(Mu.Provider,{value:0,children:t})});process.env.NODE_ENV!=="production"&&(ac.wrapRoot.displayName="useTreeViewJSXItems.wrapRoot");ac.params={};const YAe=[cd,nx,yh,dI,f6,ac],UAe=["slots","slotProps"],XAe=QU(),GAe=t=>{const{classes:e}=t;return C.useMemo(()=>qe({root:["root"],item:["item"],itemContent:["itemContent"],itemGroupTransition:["itemGroupTransition"],itemIconContainer:["itemIconContainer"],itemLabel:["itemLabel"],itemCheckbox:["itemCheckbox"]},BTe,e),[e])},KAe=J("ul",{name:"MuiSimpleTreeView",slot:"Root"})({padding:0,margin:0,listStyle:"none",outline:0,position:"relative"}),QAe=[],gI=C.forwardRef(function(e,r){const n=XAe({props:e,name:"MuiSimpleTreeView"}),{slots:a,slotProps:o}=n,i=Gu(n,UAe);process.env.NODE_ENV!=="production"&&n.items!=null&&O_(["MUI X: The Simple Tree View component does not support the `items` prop.","If you want to add items, you need to pass them as JSX children.","Check the documentation for more details: https://mui.com/x/react-tree-view/simple-tree-view/items/."]);const{getRootProps:s,contextValue:c}=SAe({plugins:YAe,rootRef:r,props:Pe({},i,{items:QAe})}),l=GAe(n),u=a?.root??KAe,d=Qn({elementType:u,externalSlotProps:o?.root,className:l.root,getSlotProps:s,ownerState:n});return N.jsx(CAe,{contextValue:c,classes:l,slots:a,slotProps:o,children:N.jsx(u,Pe({},d))})});process.env.NODE_ENV!=="production"&&(gI.displayName="SimpleTreeView");process.env.NODE_ENV!=="production"&&(gI.propTypes={apiRef:f.shape({current:f.shape({focusItem:f.func,getItem:f.func,getItemDOMElement:f.func,getItemOrderedChildrenIds:f.func,getItemTree:f.func,getParentId:f.func,isItemExpanded:f.func,setIsItemDisabled:f.func,setItemExpansion:f.func,setItemSelection:f.func})}),checkboxSelection:f.bool,children:f.node,classes:f.object,className:f.string,defaultExpandedItems:f.arrayOf(f.string),defaultSelectedItems:f.any,disabledItemsFocusable:f.bool,disableSelection:f.bool,expandedItems:f.arrayOf(f.string),expansionTrigger:f.oneOf(["content","iconContainer"]),id:f.string,itemChildrenIndentation:f.oneOfType([f.number,f.string]),multiSelect:f.bool,onExpandedItemsChange:f.func,onItemClick:f.func,onItemExpansionToggle:f.func,onItemFocus:f.func,onItemSelectionToggle:f.func,onSelectedItemsChange:f.func,selectedItems:f.any,selectionPropagation:f.shape({descendants:f.bool,parents:f.bool}),slotProps:f.object,slots:f.object,sx:f.oneOfType([f.arrayOf(f.oneOfType([f.func,f.object,f.bool])),f.func,f.object])});const JAe=t=>{const{runItemPlugins:e,instance:r,publicAPI:n,store:a}=nc(),o=C.useContext(Mu),i=Rr(a,(...Y)=>typeof o=="function"?o(...Y):o,t.itemId),{id:s,itemId:c,label:l,children:u,rootRef:d}=t,{rootRef:p,contentRef:h,propsEnhancers:m}=e(t),{interactions:g,status:v}=WAe({itemId:c,children:u}),y=C.useRef(null),b=C.useRef(null),x=ir(d,p,y),S=ir(h,b),w=C.useRef(null),O=Rr(a,vh.treeId),E=Rr(a,er.canItemBeSelected,c),k=Rr(a,er.isCheckboxSelectionEnabled),_=rx({itemId:c,treeId:O,id:s}),A=Rr(a,fl.isItemTheDefaultFocusableItem,c),T={rootRefObject:y,contentRefObject:b,interactions:g},P=Y=>W=>{Y.onFocus?.(W),!W.defaultMuiPrevented&&!v.focused&&at.canItemBeFocused(a.state,c)&&W.currentTarget===W.target&&r.focusItem(W,c)},R=Y=>W=>{if(Y.onBlur?.(W),W.defaultMuiPrevented)return;const U=r.getItemDOMElement(c);v.editing||W.relatedTarget&&__(W.relatedTarget,U)&&(W.target&&W.target?.dataset?.element==="labelInput"&&__(W.target,U)||W.relatedTarget?.dataset?.element==="labelInput")||r.removeFocusedItem()},M=Y=>W=>{Y.onKeyDown?.(W),!(W.defaultMuiPrevented||W.target?.dataset?.element==="labelInput")&&r.handleItemKeyDown(W,c)},L=Y=>W=>{Y.onDoubleClick?.(W),!W.defaultMuiPrevented&&g.toggleItemEditing()},D=Y=>W=>{Y.onClick?.(W),r.handleItemClick(W,c),!(W.defaultMuiPrevented||w.current?.contains(W.target))&&(Yr.triggerSlot(a.state)==="content"&&g.handleExpansion(W),k||g.handleSelection(W))},$=Y=>W=>{Y.onMouseDown?.(W),!W.defaultMuiPrevented&&(W.shiftKey||W.ctrlKey||W.metaKey||v.disabled)&&W.preventDefault()},z=Y=>W=>{Y.onClick?.(W),!W.defaultMuiPrevented&&Yr.triggerSlot(a.state)==="iconContainer"&&g.handleExpansion(W)};return{getContextProviderProps:()=>({itemId:c,id:s}),getRootProps:(Y={})=>{const W=Pe({},Dn(t),Dn(Y));let U;v.selected?U=!0:E?U=!1:U=void 0;const ue=Pe({},W,{ref:x,role:"treeitem",tabIndex:A?0:-1,id:_,"aria-expanded":v.expandable?v.expanded:void 0,"aria-selected":U,"aria-disabled":v.disabled||void 0},Y,{style:Pe({},Y.style??{},{"--TreeView-itemDepth":i}),onFocus:P(W),onBlur:R(W),onKeyDown:M(W)}),pe=m.root?.(Pe({},T,{externalEventHandlers:W}))??{};return Pe({},ue,pe)},getContentProps:(Y={})=>{const W=Dn(Y),U=Pe({},W,Y,{ref:S,onClick:D(W),onMouseDown:$(W),status:v});["expanded","selected","focused","disabled","editing","editable"].forEach(pe=>{v[pe]&&(U[`data-${pe}`]="")});const ue=m.content?.(Pe({},T,{externalEventHandlers:W}))??{};return Pe({},U,ue)},getGroupTransitionProps:(Y={})=>{const W=Dn(Y);return Pe({},W,{unmountOnExit:!0,component:"ul",role:"group",in:v.expanded,children:u},Y)},getIconContainerProps:(Y={})=>{const W=Dn(Y);return Pe({},W,Y,{onClick:z(W)})},getCheckboxProps:(Y={})=>{const W=Dn(Y),U=Pe({},W,{ref:w,"aria-hidden":!0},Y),ue=m.checkbox?.(Pe({},T,{externalEventHandlers:W}))??{};return Pe({},U,ue)},getLabelProps:(Y={})=>{const W=Pe({},Dn(Y)),U=Pe({},W,{children:l},Y,{onDoubleClick:L(W)}),ue=m.label?.(Pe({},T,{externalEventHandlers:W}))??{};return Pe({},ue,U)},getLabelInputProps:(Y={})=>{const W=Dn(Y),U=m.labelInput?.(Pe({},T,{externalEventHandlers:W}))??{};return Pe({},Y,U)},getDragAndDropOverlayProps:(Y={})=>{const W=Dn(Y),U=m.dragAndDropOverlay?.(Pe({},T,{externalEventHandlers:W}))??{};return Pe({},Y,U)},getErrorContainerProps:(Y={})=>{const W=Dn(Y);return Pe({},W,Y)},getLoadingContainerProps:(Y={})=>{const W=Dn(Y);return Pe({size:"12px",thickness:6},W,Y)},rootRef:x,status:v,publicAPI:n}};function ZAe(t){return We("MuiTreeItem",t)}Xe("MuiTreeItem",["root","content","groupTransition","iconContainer","label","checkbox","labelInput","dragAndDropOverlay","errorIcon","loadingIcon","expanded","selected","focused","disabled","editable","editing"]);const eIe=rt(N.jsx("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"TreeViewExpandIcon"),tIe=rt(N.jsx("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"TreeViewCollapseIcon");function p6(t){const{slots:e,slotProps:r,status:n}=t,{slots:a,slotProps:o}=n6(),i={collapseIcon:e?.collapseIcon??a.collapseIcon??tIe,expandIcon:e?.expandIcon??a.expandIcon??eIe,endIcon:e?.endIcon??a.endIcon,icon:e?.icon};let s;i?.icon?s="icon":n.expandable?n.expanded?s="collapseIcon":s="expandIcon":s="endIcon";const c=i[s],l=Qn({elementType:c,externalSlotProps:u=>Pe({},_m(o[s],u),_m(r?.[s],u)),ownerState:{}});return c?N.jsx(c,Pe({},l)):null}process.env.NODE_ENV!=="production"&&(p6.propTypes={slotProps:f.object,slots:f.object,status:f.shape({disabled:f.bool.isRequired,editable:f.bool.isRequired,editing:f.bool.isRequired,error:f.bool.isRequired,expandable:f.bool.isRequired,expanded:f.bool.isRequired,focused:f.bool.isRequired,loading:f.bool.isRequired,selected:f.bool.isRequired}).isRequired});const rIe=J("div",{name:"MuiTreeItemDragAndDropOverlay",slot:"Root",shouldForwardProp:t=>qc(t)&&t!=="action"})(({theme:t})=>({position:"absolute",left:0,display:"flex",top:0,bottom:0,right:0,pointerEvents:"none",variants:[{props:{action:"make-child"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))",borderRadius:t.shape.borderRadius,backgroundColor:t.vars?`rgba(${t.vars.palette.primary.darkChannel} / ${t.vars.palette.action.focusOpacity})`:Do(t.palette.primary.dark,t.palette.action.focusOpacity)}},{props:{action:"reorder-above"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))",borderTop:`1px solid ${(t.vars||t).palette.action.active}`}},{props:{action:"reorder-below"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))",borderBottom:`1px solid ${(t.vars||t).palette.action.active}`}},{props:{action:"move-to-parent"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * calc(var(--TreeView-itemDepth) - 1))",borderBottom:`1px solid ${(t.vars||t).palette.action.active}`}}]}));function h6(t){return t.action==null?null:N.jsx(rIe,Pe({},t))}process.env.NODE_ENV!=="production"&&(h6.propTypes={action:f.oneOf(["make-child","move-to-parent","reorder-above","reorder-below"]),style:f.object});function g6(t){const{children:e,itemId:r,id:n}=t,{wrapItem:a,instance:o,store:i}=nc(),s=Rr(i,vh.treeId),c=rx({itemId:r,treeId:s,id:n});return N.jsx(C.Fragment,{children:a({children:e,itemId:r,instance:o,idAttribute:c})})}process.env.NODE_ENV!=="production"&&(g6.propTypes={children:f.node,id:f.string,itemId:f.string.isRequired});const nIe=J("input",{name:"MuiTreeItem",slot:"LabelInput"})(({theme:t})=>Pe({},t.typography.body1,{width:"100%",backgroundColor:(t.vars||t).palette.background.paper,borderRadius:t.shape.borderRadius,border:"none",padding:"0 2px",boxSizing:"border-box","&:focus":{outline:`1px solid ${(t.vars||t).palette.primary.main}`}})),aIe=["visible"],oIe=["id","itemId","label","disabled","children","slots","slotProps","classes"],iIe=QU(),sIe=J("li",{name:"MuiTreeItem",slot:"Root"})({listStyle:"none",margin:0,padding:0,outline:0}),lIe=J("div",{name:"MuiTreeItem",slot:"Content",shouldForwardProp:t=>qc(t)&&t!=="status"})(({theme:t})=>({padding:t.spacing(.5,1),paddingLeft:`calc(${t.spacing(1)} + var(--TreeView-itemChildrenIndentation) * var(--TreeView-itemDepth))`,borderRadius:t.shape.borderRadius,width:"100%",boxSizing:"border-box",position:"relative",display:"flex",alignItems:"center",gap:t.spacing(1),cursor:"pointer",WebkitTapHighlightColor:"transparent","&:hover":{backgroundColor:(t.vars||t).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},"&[data-disabled]":{opacity:(t.vars||t).palette.action.disabledOpacity,backgroundColor:"transparent"},"&[data-focused]":{backgroundColor:(t.vars||t).palette.action.focus},"&[data-selected]":{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})`:Do(t.palette.primary.main,t.palette.action.selectedOpacity),"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:Do(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})`:Do(t.palette.primary.main,t.palette.action.selectedOpacity)}}},"&[data-selected][data-focused]":{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.focusOpacity}))`:Do(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.focusOpacity)}})),cIe=J("div",{name:"MuiTreeItem",slot:"Label",shouldForwardProp:t=>qc(t)&&t!=="editable"})(({theme:t})=>Pe({width:"100%",boxSizing:"border-box",minWidth:0,position:"relative",overflow:"hidden"},t.typography.body1,{variants:[{props:({editable:e})=>e,style:{paddingLeft:"2px"}}]})),uIe=J("div",{name:"MuiTreeItem",slot:"IconContainer"})({width:16,display:"flex",flexShrink:0,justifyContent:"center",position:"relative","& svg":{fontSize:18}}),dIe=J(gu,{name:"MuiTreeItem",slot:"GroupTransition",overridesResolver:(t,e)=>e.groupTransition})({margin:0,padding:0}),fIe=J("div",{name:"MuiTreeItem",slot:"ErrorIcon"})({position:"absolute",right:-3,width:7,height:7,borderRadius:"50%",backgroundColor:"red"}),pIe=J(Ui,{name:"MuiTreeItem",slot:"LoadingIcon"})({color:"text.primary"}),m6=J(C.forwardRef((t,e)=>{const{visible:r}=t,n=Gu(t,aIe);return r?N.jsx(wu,Pe({},n,{ref:e})):null}),{name:"MuiTreeItem",slot:"Checkbox"})({padding:0});process.env.NODE_ENV!=="production"&&(m6.displayName="TreeItemCheckbox");const hIe=t=>{const{classes:e}=n6(),r=Pe({},t,{root:le(t?.root,e.root),content:le(t?.content,e.itemContent),iconContainer:le(t?.iconContainer,e.itemIconContainer),checkbox:le(t?.checkbox,e.itemCheckbox),label:le(t?.label,e.itemLabel),groupTransition:le(t?.groupTransition,e.itemGroupTransition),labelInput:le(t?.labelInput,e.itemLabelInput),dragAndDropOverlay:le(t?.dragAndDropOverlay,e.itemDragAndDropOverlay),errorIcon:le(t?.errorIcon,e.itemErrorIcon),loadingIcon:le(t?.loadingIcon,e.itemLoadingIcon)});return qe({root:["root"],content:["content"],iconContainer:["iconContainer"],checkbox:["checkbox"],label:["label"],groupTransition:["groupTransition"],labelInput:["labelInput"],dragAndDropOverlay:["dragAndDropOverlay"],errorIcon:["errorIcon"],loadingIcon:["loadingIcon"],expanded:["expanded"],editing:["editing"],editable:["editable"],selected:["selected"],focused:["focused"],disabled:["disabled"]},ZAe,r)},mI=C.forwardRef(function(e,r){const n=iIe({props:e,name:"MuiTreeItem"}),{id:a,itemId:o,label:i,disabled:s,children:c,slots:l={},slotProps:u={},classes:d}=n,p=Gu(n,oIe),{getContextProviderProps:h,getRootProps:m,getContentProps:g,getIconContainerProps:v,getCheckboxProps:y,getLabelProps:b,getGroupTransitionProps:x,getLabelInputProps:S,getDragAndDropOverlayProps:w,getErrorContainerProps:O,getLoadingContainerProps:E,status:k}=JAe({id:a,itemId:o,children:c,label:i,disabled:s}),_=hIe(d),A=l.root??sIe,T=Qn({elementType:A,getSlotProps:m,externalForwardedProps:p,externalSlotProps:u.root,additionalProps:{ref:r},ownerState:{},className:_.root}),P=l.content??lIe,R=Qn({elementType:P,getSlotProps:g,externalSlotProps:u.content,ownerState:{},className:le(_.content,k.expanded&&_.expanded,k.selected&&_.selected,k.focused&&_.focused,k.disabled&&_.disabled,k.editing&&_.editing,k.editable&&_.editable)}),M=l.iconContainer??uIe,L=Qn({elementType:M,getSlotProps:v,externalSlotProps:u.iconContainer,ownerState:{},className:_.iconContainer}),D=l.label??cIe,$=Qn({elementType:D,getSlotProps:b,externalSlotProps:u.label,ownerState:{},className:_.label}),z=l.checkbox??m6,B=Qn({elementType:z,getSlotProps:y,externalSlotProps:u.checkbox,ownerState:{},className:_.checkbox}),F=l.groupTransition??void 0,V=Qn({elementType:F,getSlotProps:x,externalSlotProps:u.groupTransition,ownerState:{},className:_.groupTransition}),q=l.labelInput??nIe,te=Qn({elementType:q,getSlotProps:S,externalSlotProps:u.labelInput,ownerState:{},className:_.labelInput}),G=l.dragAndDropOverlay??h6,ee=Qn({elementType:G,getSlotProps:w,externalSlotProps:u.dragAndDropOverlay,ownerState:{},className:_.dragAndDropOverlay}),X=l.errorIcon??fIe,re=Qn({elementType:X,getSlotProps:O,externalSlotProps:u.errorIcon,ownerState:{},className:_.errorIcon}),ne=l.loadingIcon??pIe,ae=Qn({elementType:ne,getSlotProps:E,externalSlotProps:u.loadingIcon,ownerState:{},className:_.loadingIcon});return N.jsx(g6,Pe({},h(),{children:N.jsxs(A,Pe({},T,{children:[N.jsxs(P,Pe({},R,{children:[N.jsxs(M,Pe({},L,{children:[k.error&&N.jsx(X,Pe({},re)),k.loading?N.jsx(ne,Pe({},ae)):N.jsx(p6,{status:k,slots:l,slotProps:u})]})),N.jsx(z,Pe({},B)),k.editing?N.jsx(q,Pe({},te)):N.jsx(D,Pe({},$)),N.jsx(G,Pe({},ee))]})),c&&N.jsx(dIe,Pe({as:F},V))]}))}))});process.env.NODE_ENV!=="production"&&(mI.displayName="TreeItem");process.env.NODE_ENV!=="production"&&(mI.propTypes={children:f.any,classes:f.object,className:f.string,disabled:f.bool,id:f.string,itemId:f.string.isRequired,label:f.node,onBlur:f.func,onFocus:nW,onKeyDown:f.func,slotProps:f.object,slots:f.object,sx:f.oneOfType([f.arrayOf(f.oneOfType([f.func,f.object,f.bool])),f.func,f.object])});const gIe=(t,e,{navigate:r})=>{if(!t||!t.type)return t;if(t.type==="body"){let{crud:n,entity:a,filter:o,sort:i}=t,s=`/${a}`;const c={};Array.isArray(o)&&o.forEach(p=>{if(!p||!p.name)return;let h=p.value;if(typeof h=="string"&&h.startsWith("$arg")){const m=parseInt(h.replace("$arg",""),10);(Array.isArray(e)||e&&typeof e=="object")&&(h=e[m])}c[p.name]=h});const l=new URLSearchParams;Object.keys(c).length>0&&l.set("filter",JSON.stringify(c)),Array.isArray(i)&&i.length>0&&i[0]?.name&&(l.set("sort",i[0].name),l.set("order",i[0].desc?"DESC":"ASC"));const u=l.toString(),d=u?`${s}?${u}`:s;return typeof r=="function"?(r(d),null):d}return t},v6=({component:t,custom:e,...r})=>{const n=bn();bo(),ai();const[a,o]=I.useState([]),i=I.useRef(new Set);I.useEffect(()=>{let{entity:p,key:h,parent_key:m,label:g,sort:v}=t;const y=e?.globalFilterDelegate&&e?.globalFilterDelegate(p)||{};let b=`/${p}?${m}=`;y&&(b+=`&${Object.keys(y).map(x=>`${x}=${y[x]}`).join("&")}`),v&&(b+=`&_sort=${v.map(x=>`${x.name}`).join(",")}`,b+=`&_order=${v.map(x=>`${x.desc?"DESC":"ASC"}`).join(",")}`),Vl(b).then(x=>{Array.isArray(x)&&(o(x),x.map(S=>{l(S)}))})},[t,e]);const s=I.useCallback((p,h)=>{if(p[t.key]==h)return p;if(Array.isArray(p.list))for(let m of p.list){let g=s(m,h);if(g)return g}return null},[t]),c=I.useCallback((p,h,m)=>Array.isArray(p)?p.map(g=>{if(g[t.key]===h)return{...g,list:m};if(Array.isArray(g.list)){const v=c(g.list,h,m);if(v!==g.list)return{...g,list:v}}return g}):p,[t]),l=I.useCallback(p=>{let{entity:h,key:m,parent_key:g,label:v,sort:y}=t;const b=e?.globalFilterDelegate&&e?.globalFilterDelegate(h)||{};let x=p[t.key];if(i.current.has(x))return;let S=`/${h}?${g}=${x}`;b&&(S+=`&${Object.keys(b).map(w=>`${w}=${b[w]}`).join("&")}`),y&&(S+=`&_sort=${y.map(w=>`${w.name}`).join(",")}`,S+=`&_order=${y.map(w=>`${w.desc?"DESC":"ASC"}`).join(",")}`),Vl(S).then(w=>{let O=Array.isArray(w)?w:[];O=O.filter(E=>E?.[t.key]!==x),o(E=>c(E,x,O)),i.current.add(x)})},[t,e,c]),u=I.useCallback((p,h)=>{let m=s({list:a},h),g=!m.list||m.list.length==0;if(m.list.map(v=>{l(v)}),g&&t.peer_click?.action){let v=[];t.argment.forEach(y=>{v.push(m[y.name])});for(let y of t.peer_click.action)gIe(y,v,{navigate:n})}e?.itemClick&&typeof e?.itemClick=="function"&&e.itemClick(m)},[t,e,a,s]),d=(p,h)=>{const m=p[t.key];if(h?.has(m))return null;const g=h?new Set(h):new Set;return g.add(m),N.jsx(mI,{itemId:`${m}`,label:N.jsx("span",{children:p[t.label]}),children:p.list?.map(v=>d(v,g))},m)};return N.jsx(Bo,{sx:{minHeight:352,minWidth:250},children:N.jsx(gI,{onItemClick:u,children:a.map(p=>d(p))})})},mIe=({entity:t,custom:e,children:r})=>N.jsxs(Gl,{direction:"row",spacing:1,children:[t.layout?.left&&N.jsx(Bo,{padding:1,children:t.layout.left.map((n,a)=>n.component=="tree"?N.jsx(v6,{component:n,custom:e},a):N.jsxs(N.Fragment,{children:["Unknown component: ",n.component]}))}),N.jsx(Bo,{width:"100%",children:r})]}),vIe=({custom:t,...e})=>{const r=ai(),n=xt(e),a=I.useMemo(()=>r.entity[n],[r,n]);return N.jsx(qbe,{...e,children:a.crud?.search?.map(o=>{const i=a.fields.find(s=>s.name==o.name);return ex({field:i,search:!0,globalFilter:t?.globalFilterDelegate(n)||{},crud_field:o})})})},yIe=({crud:t,custom:e,...r})=>{const n=xt(r),a=I.createRef(),o=xn(),i=bo(),s=ln(),c=async p=>{if(p){const h=await p.arrayBuffer(),g=new Uint8Array(h).reduce((v,y)=>v+String.fromCharCode(y),"");return btoa(g)}else return null},l=async p=>{const h=p[0],m=await c(h);await C_(`/excel/${n}/import`,{},{base64:m}).then(g=>{g&&g.r?(o(g.msg,{type:"success"},{},!1),i()):o(g.msg,{type:"error"},{},!1)}).catch(g=>{o(g.message,{type:"error"},{},!1)})},u=()=>{a.current.click()},d=()=>{let h=new URLSearchParams(s.search).get("filter");h?h=JSON.parse(h):h={};const m=e?.globalFilterDelegate(n);let g={};m&&(g={...h,...m}),C_(`/excel/${n}/export`,{},{filter:g}).then(v=>{if(!v.r)o(v.msg?v.msg:"xlsx 생성에 실패하였습니다.","warning",{},!1);else if(v&&v.r){const y=document.createElement("a");y.href=v.url;const b=Ge().format("YYYYMMDDHHmmss");y.setAttribute("download",`${b}.csv`),document.body.appendChild(y),y.click(),document.body.removeChild(y),o("Download Start...","info",{},!1)}})};return N.jsxs(rh,{children:[t?.create&&N.jsx(GT,{}),t?.import&&N.jsxs(N.Fragment,{children:[N.jsx("input",{type:"file",accept:".xlsx",ref:a,style:{display:"none"},onChange:p=>l(p.target.files)}),N.jsx(Wn,{onClick:u,startIcon:N.jsx(nOe,{}),label:"Import"})]}),t?.export&&N.jsx(Wn,{onClick:d,startIcon:N.jsx(rOe,{}),label:"Export"})]})},bIe=({custom:t,...e})=>{bn(),bo();const r=ai(),n=xt(e),a=I.useMemo(()=>r.entity[n].crud||{show:!0,edit:!0,create:!0,delete:!0,list:!0,import:!1,export:!1},[r,n]),o=I.useMemo(()=>r.entity[n].fields,[r,n]),i=I.useCallback(c=>{let l=c.split(".")[0],u=o.find(d=>d.name==l);return u||(u=o.find(d=>d.name==c)),u},[o]),s=I.useCallback(c=>o.map(l=>l.name).includes(c)?!0:i(c)!=null,[o]);return N.jsx(mIe,{entity:r.entity[n],custom:t,children:N.jsx(axe,{...e,filters:N.jsx(vIe,{custom:t}),mutationMode:"optimistic",exporter:!1,sort:{field:"id",order:"DESC"},perPage:30,actions:N.jsx(yIe,{crud:a,custom:t}),filter:t?.globalFilterDelegate(n)||{},children:N.jsxs(sA,{rowClick:a.show?"show":!1,bulkActionButtons:!!a.delete,children:[a.list==!0&&o.map(c=>Ru({field:c,isList:!0})),a.list!=!0&&a.list.filter(c=>c.name).filter(c=>s(c.name)).map(c=>{let l=i(c.name);return Ru({crud_field:c,field:l,isList:!0})}),"//Custom List Start //Custom List End",a.edit&&N.jsx(X5,{})]})})})},xIe=()=>Cr()?N.jsx("span",{}):null,wIe=t=>N.jsx(pA,{...t,children:N.jsx(tA,{})}),SIe=({custom:t,...e})=>{const{permissions:r}=Ty(),n=ai(),a=xt(e),o=I.useMemo(()=>n.entity[a].fields,[n,a]),i=I.useMemo(()=>n.entity[a].api_generate||{},[n,a]),s=I.useCallback(l=>i?!(i[l]||l.includes(".")&&i[l.split(".")[0]]):!0,[i]),c=I.useMemo(()=>n.entity[a].crud||{show:!0,edit:!0,create:!0,delete:!0,list:!0,import:!1,export:!1},[n,a]);return N.jsx(xwe,{title:N.jsx(xIe,{}),...e,mutationMode:"optimistic",redirect:"list",children:N.jsx(i3,{toolbar:N.jsx(wIe,{}),children:o.filter(l=>c.create==!0||c.create.map(u=>u.name).includes(l.name)).filter(l=>s(l.name)).map(l=>ex({field:l,search:!1,globalFilter:t?.globalFilterDelegate(a),crud_field:c.create==!0?null:c.create.find(u=>u.name==l.name)}))})})},CIe=()=>Cr()?N.jsx("span",{}):null,OIe=t=>N.jsx(pA,{...t,children:N.jsx(tA,{})}),EIe=({custom:t,...e})=>{const{permissions:r}=Ty(),n=ai(),a=xt(e),o=I.useMemo(()=>n.entity[a].fields,[n,a]),i=I.useMemo(()=>n.entity[a].api_generate||{},[n,a]),s=I.useMemo(()=>n.entity[a].crud||{show:!0,edit:!0,create:!0,delete:!0,list:!0,import:!1,export:!1},[n,a]),c=I.useCallback(l=>i?!(i[l]||l.includes(".")&&i[l.split(".")[0]]):!0,[i]);return N.jsx(Iwe,{title:N.jsx(CIe,{}),...e,mutationMode:"optimistic",redirect:"edit",children:N.jsx(i3,{toolbar:N.jsx(OIe,{}),children:o.filter(l=>s.edit==!0||s.edit.map(u=>u.name).includes(l.name)).filter(l=>c(l.name)).map(l=>ex({field:l,search:!1,globalFilter:t?.globalFilterDelegate(a)||{},crud_field:s.edit==!0?null:s.edit.find(u=>u.name==l.name)}))})})},kIe=()=>Cr()?N.jsx("span",{}):null,_Ie=({customFunc:t})=>{const e=Cr();return e?N.jsx(N.Fragment,{children:t(e)}):null},PIe=({custom:t,...e})=>{bn(),bo();const r=ai(),n=xt(e),a=I.useMemo(()=>r.entity[n].fields,[r,n]),o=I.useMemo(()=>t?.entity?.[n]?.show,[r,n]),i=I.useMemo(()=>r.entity[n].crud||{show:!0,edit:!0,create:!0,delete:!0,list:!0,import:!1,export:!1},[r,n]),s=I.useCallback(l=>{let u=l.split(".")[0];return a.find(p=>p.name==u)},[a]),c=I.useCallback(l=>a.map(u=>u.name).includes(l)?!0:s(l)!=null,[a]);return N.jsx(Uwe,{title:N.jsx(kIe,{}),...e,children:N.jsxs(Kwe,{children:[o&&N.jsx(_Ie,{customFunc:o,fields:a}),!o&&i.show==!0&&a.map(l=>Ru({field:l})),!o&&i.show!=!0&&i.show.filter(l=>l.name).filter(l=>c(l.name)).map(l=>{let u=s(l.name);return Ru({crud_field:l,field:u})}),"//Custom Show Start //Custom Show End"]})})};function TIe(t){var e={};return t.replace(/[?&]+([^=&]+)=([^&]*)/gi,function(r,n,a){e[n]=a}),e}const AIe={login:t=>{const{username:e,password:r}=t;return C_("/member/login",{},{type:"email",email:e,pass:r}).then(({token:n,r:a,msg:o})=>{if(!a)throw new Error(o);localStorage.setItem("token",n),Rs.defaults.headers.common["x-access-token"]=n})},checkError:t=>Promise.resolve(),checkAuth:t=>{localStorage.setItem(oH,window.location.href);const e=TIe(window.location.href);let{token:r}=e;return r||(r=localStorage.getItem("token")),r?(Rs.defaults.headers.common["x-access-token"]=r,Vl(`/member/islogin?token=${encodeURIComponent(r)}`).then(n=>n.r?(localStorage.setItem("token",r),Promise.resolve()):Promise.reject())):Promise.reject()},logout:()=>(localStorage.removeItem("token"),document.cookie="",Promise.resolve()),getIdentity:()=>Vl("/member/islogin").then(t=>{if(t?.r&&t?.member){const e=t.member;return{id:e.id||e.email,fullName:e.name||e.email,avatar:e.avatar}}return Promise.reject()}),handleCallback:()=>Promise.resolve(),getPermissions:()=>Promise.resolve()},Hz=(t,e=!1,r={})=>{const n=i=>i&&typeof i=="object"&&!Array.isArray(i),a=async(i,s,c)=>{if(c&&c.rawFile&&c.title){let l,u=!1;if(r[i]&&r[i][s]&&(u=!0),console.log("fileUploader",i,s,e?"local":"s3",u?"secure":"public"),e?u?l=await DTe(c.rawFile,c.title):l=await NTe(c.rawFile,c.title):u?l=await jTe(c.rawFile,c.title):l=await LTe(c.rawFile,c.title),l){const d={...c};return d.src=l,delete d.rawFile,d}}return c},o=async(i,s)=>{if(Array.isArray(s))return await Promise.all(s.map(u=>o(i,u)));if(!n(s))return s;const c=await Promise.all(Object.entries(s).map(async([l,u])=>{if(u&&u.rawFile){const d=await a(i,l,u);return[l,d]}if(Array.isArray(u)||n(u)){const d=await o(i,u);return[l,d]}return[l,u]}));return Object.fromEntries(c)};return{...t,async create(i,s){const c=await o(i,s?.data??{});return t.create(i,{...s,data:c})},async update(i,s){try{const c=await o(i,s?.data??{});return t.update(i,{...s,data:c})}catch(c){console.error("update error",c)}}}};var uO={};/*!
565
+ `));const{registerChild:d,unregisterChild:p,parentId:h}=u,m=hI(o),g=C.useRef(null),v=ir(g,r),y=Rr(a,vh.treeId);return on(()=>{const b=rx({itemId:c,treeId:y,id:l});return d(b,c),()=>{p(b),p(b)}},[a,n,d,p,c,l,y]),on(()=>n.insertJSXItem({id:c,idAttribute:l,parentId:h,expandable:m,disabled:i}),[n,h,c,m,i,l]),C.useEffect(()=>{if(s)return n.mapFirstCharFromJSX(c,(g.current?.textContent??"").substring(0,1).toLowerCase())},[n,c,s]),{contentRef:v,rootRef:e}};ac.itemPlugin=qAe;ac.wrapItem=({children:t,itemId:e,idAttribute:r})=>{const n=C.useContext(Mu);return N.jsx(pI,{itemId:e,idAttribute:r,children:N.jsx(Mu.Provider,{value:n+1,children:t})})};process.env.NODE_ENV!=="production"&&(ac.wrapItem.displayName="useTreeViewJSXItems.wrapItem");ac.wrapRoot=({children:t})=>N.jsx(pI,{itemId:null,idAttribute:null,children:N.jsx(Mu.Provider,{value:0,children:t})});process.env.NODE_ENV!=="production"&&(ac.wrapRoot.displayName="useTreeViewJSXItems.wrapRoot");ac.params={};const YAe=[cd,nx,yh,dI,f6,ac],UAe=["slots","slotProps"],XAe=QU(),GAe=t=>{const{classes:e}=t;return C.useMemo(()=>qe({root:["root"],item:["item"],itemContent:["itemContent"],itemGroupTransition:["itemGroupTransition"],itemIconContainer:["itemIconContainer"],itemLabel:["itemLabel"],itemCheckbox:["itemCheckbox"]},BTe,e),[e])},KAe=J("ul",{name:"MuiSimpleTreeView",slot:"Root"})({padding:0,margin:0,listStyle:"none",outline:0,position:"relative"}),QAe=[],gI=C.forwardRef(function(e,r){const n=XAe({props:e,name:"MuiSimpleTreeView"}),{slots:a,slotProps:o}=n,i=Gu(n,UAe);process.env.NODE_ENV!=="production"&&n.items!=null&&O_(["MUI X: The Simple Tree View component does not support the `items` prop.","If you want to add items, you need to pass them as JSX children.","Check the documentation for more details: https://mui.com/x/react-tree-view/simple-tree-view/items/."]);const{getRootProps:s,contextValue:c}=SAe({plugins:YAe,rootRef:r,props:Pe({},i,{items:QAe})}),l=GAe(n),u=a?.root??KAe,d=Qn({elementType:u,externalSlotProps:o?.root,className:l.root,getSlotProps:s,ownerState:n});return N.jsx(CAe,{contextValue:c,classes:l,slots:a,slotProps:o,children:N.jsx(u,Pe({},d))})});process.env.NODE_ENV!=="production"&&(gI.displayName="SimpleTreeView");process.env.NODE_ENV!=="production"&&(gI.propTypes={apiRef:f.shape({current:f.shape({focusItem:f.func,getItem:f.func,getItemDOMElement:f.func,getItemOrderedChildrenIds:f.func,getItemTree:f.func,getParentId:f.func,isItemExpanded:f.func,setIsItemDisabled:f.func,setItemExpansion:f.func,setItemSelection:f.func})}),checkboxSelection:f.bool,children:f.node,classes:f.object,className:f.string,defaultExpandedItems:f.arrayOf(f.string),defaultSelectedItems:f.any,disabledItemsFocusable:f.bool,disableSelection:f.bool,expandedItems:f.arrayOf(f.string),expansionTrigger:f.oneOf(["content","iconContainer"]),id:f.string,itemChildrenIndentation:f.oneOfType([f.number,f.string]),multiSelect:f.bool,onExpandedItemsChange:f.func,onItemClick:f.func,onItemExpansionToggle:f.func,onItemFocus:f.func,onItemSelectionToggle:f.func,onSelectedItemsChange:f.func,selectedItems:f.any,selectionPropagation:f.shape({descendants:f.bool,parents:f.bool}),slotProps:f.object,slots:f.object,sx:f.oneOfType([f.arrayOf(f.oneOfType([f.func,f.object,f.bool])),f.func,f.object])});const JAe=t=>{const{runItemPlugins:e,instance:r,publicAPI:n,store:a}=nc(),o=C.useContext(Mu),i=Rr(a,(...Y)=>typeof o=="function"?o(...Y):o,t.itemId),{id:s,itemId:c,label:l,children:u,rootRef:d}=t,{rootRef:p,contentRef:h,propsEnhancers:m}=e(t),{interactions:g,status:v}=WAe({itemId:c,children:u}),y=C.useRef(null),b=C.useRef(null),x=ir(d,p,y),S=ir(h,b),w=C.useRef(null),O=Rr(a,vh.treeId),E=Rr(a,er.canItemBeSelected,c),k=Rr(a,er.isCheckboxSelectionEnabled),_=rx({itemId:c,treeId:O,id:s}),A=Rr(a,fl.isItemTheDefaultFocusableItem,c),T={rootRefObject:y,contentRefObject:b,interactions:g},P=Y=>W=>{Y.onFocus?.(W),!W.defaultMuiPrevented&&!v.focused&&at.canItemBeFocused(a.state,c)&&W.currentTarget===W.target&&r.focusItem(W,c)},R=Y=>W=>{if(Y.onBlur?.(W),W.defaultMuiPrevented)return;const U=r.getItemDOMElement(c);v.editing||W.relatedTarget&&__(W.relatedTarget,U)&&(W.target&&W.target?.dataset?.element==="labelInput"&&__(W.target,U)||W.relatedTarget?.dataset?.element==="labelInput")||r.removeFocusedItem()},M=Y=>W=>{Y.onKeyDown?.(W),!(W.defaultMuiPrevented||W.target?.dataset?.element==="labelInput")&&r.handleItemKeyDown(W,c)},L=Y=>W=>{Y.onDoubleClick?.(W),!W.defaultMuiPrevented&&g.toggleItemEditing()},D=Y=>W=>{Y.onClick?.(W),r.handleItemClick(W,c),!(W.defaultMuiPrevented||w.current?.contains(W.target))&&(Yr.triggerSlot(a.state)==="content"&&g.handleExpansion(W),k||g.handleSelection(W))},$=Y=>W=>{Y.onMouseDown?.(W),!W.defaultMuiPrevented&&(W.shiftKey||W.ctrlKey||W.metaKey||v.disabled)&&W.preventDefault()},z=Y=>W=>{Y.onClick?.(W),!W.defaultMuiPrevented&&Yr.triggerSlot(a.state)==="iconContainer"&&g.handleExpansion(W)};return{getContextProviderProps:()=>({itemId:c,id:s}),getRootProps:(Y={})=>{const W=Pe({},Dn(t),Dn(Y));let U;v.selected?U=!0:E?U=!1:U=void 0;const ue=Pe({},W,{ref:x,role:"treeitem",tabIndex:A?0:-1,id:_,"aria-expanded":v.expandable?v.expanded:void 0,"aria-selected":U,"aria-disabled":v.disabled||void 0},Y,{style:Pe({},Y.style??{},{"--TreeView-itemDepth":i}),onFocus:P(W),onBlur:R(W),onKeyDown:M(W)}),pe=m.root?.(Pe({},T,{externalEventHandlers:W}))??{};return Pe({},ue,pe)},getContentProps:(Y={})=>{const W=Dn(Y),U=Pe({},W,Y,{ref:S,onClick:D(W),onMouseDown:$(W),status:v});["expanded","selected","focused","disabled","editing","editable"].forEach(pe=>{v[pe]&&(U[`data-${pe}`]="")});const ue=m.content?.(Pe({},T,{externalEventHandlers:W}))??{};return Pe({},U,ue)},getGroupTransitionProps:(Y={})=>{const W=Dn(Y);return Pe({},W,{unmountOnExit:!0,component:"ul",role:"group",in:v.expanded,children:u},Y)},getIconContainerProps:(Y={})=>{const W=Dn(Y);return Pe({},W,Y,{onClick:z(W)})},getCheckboxProps:(Y={})=>{const W=Dn(Y),U=Pe({},W,{ref:w,"aria-hidden":!0},Y),ue=m.checkbox?.(Pe({},T,{externalEventHandlers:W}))??{};return Pe({},U,ue)},getLabelProps:(Y={})=>{const W=Pe({},Dn(Y)),U=Pe({},W,{children:l},Y,{onDoubleClick:L(W)}),ue=m.label?.(Pe({},T,{externalEventHandlers:W}))??{};return Pe({},ue,U)},getLabelInputProps:(Y={})=>{const W=Dn(Y),U=m.labelInput?.(Pe({},T,{externalEventHandlers:W}))??{};return Pe({},Y,U)},getDragAndDropOverlayProps:(Y={})=>{const W=Dn(Y),U=m.dragAndDropOverlay?.(Pe({},T,{externalEventHandlers:W}))??{};return Pe({},Y,U)},getErrorContainerProps:(Y={})=>{const W=Dn(Y);return Pe({},W,Y)},getLoadingContainerProps:(Y={})=>{const W=Dn(Y);return Pe({size:"12px",thickness:6},W,Y)},rootRef:x,status:v,publicAPI:n}};function ZAe(t){return We("MuiTreeItem",t)}Xe("MuiTreeItem",["root","content","groupTransition","iconContainer","label","checkbox","labelInput","dragAndDropOverlay","errorIcon","loadingIcon","expanded","selected","focused","disabled","editable","editing"]);const eIe=rt(N.jsx("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"TreeViewExpandIcon"),tIe=rt(N.jsx("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"TreeViewCollapseIcon");function p6(t){const{slots:e,slotProps:r,status:n}=t,{slots:a,slotProps:o}=n6(),i={collapseIcon:e?.collapseIcon??a.collapseIcon??tIe,expandIcon:e?.expandIcon??a.expandIcon??eIe,endIcon:e?.endIcon??a.endIcon,icon:e?.icon};let s;i?.icon?s="icon":n.expandable?n.expanded?s="collapseIcon":s="expandIcon":s="endIcon";const c=i[s],l=Qn({elementType:c,externalSlotProps:u=>Pe({},_m(o[s],u),_m(r?.[s],u)),ownerState:{}});return c?N.jsx(c,Pe({},l)):null}process.env.NODE_ENV!=="production"&&(p6.propTypes={slotProps:f.object,slots:f.object,status:f.shape({disabled:f.bool.isRequired,editable:f.bool.isRequired,editing:f.bool.isRequired,error:f.bool.isRequired,expandable:f.bool.isRequired,expanded:f.bool.isRequired,focused:f.bool.isRequired,loading:f.bool.isRequired,selected:f.bool.isRequired}).isRequired});const rIe=J("div",{name:"MuiTreeItemDragAndDropOverlay",slot:"Root",shouldForwardProp:t=>qc(t)&&t!=="action"})(({theme:t})=>({position:"absolute",left:0,display:"flex",top:0,bottom:0,right:0,pointerEvents:"none",variants:[{props:{action:"make-child"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))",borderRadius:t.shape.borderRadius,backgroundColor:t.vars?`rgba(${t.vars.palette.primary.darkChannel} / ${t.vars.palette.action.focusOpacity})`:Do(t.palette.primary.dark,t.palette.action.focusOpacity)}},{props:{action:"reorder-above"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))",borderTop:`1px solid ${(t.vars||t).palette.action.active}`}},{props:{action:"reorder-below"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))",borderBottom:`1px solid ${(t.vars||t).palette.action.active}`}},{props:{action:"move-to-parent"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * calc(var(--TreeView-itemDepth) - 1))",borderBottom:`1px solid ${(t.vars||t).palette.action.active}`}}]}));function h6(t){return t.action==null?null:N.jsx(rIe,Pe({},t))}process.env.NODE_ENV!=="production"&&(h6.propTypes={action:f.oneOf(["make-child","move-to-parent","reorder-above","reorder-below"]),style:f.object});function g6(t){const{children:e,itemId:r,id:n}=t,{wrapItem:a,instance:o,store:i}=nc(),s=Rr(i,vh.treeId),c=rx({itemId:r,treeId:s,id:n});return N.jsx(C.Fragment,{children:a({children:e,itemId:r,instance:o,idAttribute:c})})}process.env.NODE_ENV!=="production"&&(g6.propTypes={children:f.node,id:f.string,itemId:f.string.isRequired});const nIe=J("input",{name:"MuiTreeItem",slot:"LabelInput"})(({theme:t})=>Pe({},t.typography.body1,{width:"100%",backgroundColor:(t.vars||t).palette.background.paper,borderRadius:t.shape.borderRadius,border:"none",padding:"0 2px",boxSizing:"border-box","&:focus":{outline:`1px solid ${(t.vars||t).palette.primary.main}`}})),aIe=["visible"],oIe=["id","itemId","label","disabled","children","slots","slotProps","classes"],iIe=QU(),sIe=J("li",{name:"MuiTreeItem",slot:"Root"})({listStyle:"none",margin:0,padding:0,outline:0}),lIe=J("div",{name:"MuiTreeItem",slot:"Content",shouldForwardProp:t=>qc(t)&&t!=="status"})(({theme:t})=>({padding:t.spacing(.5,1),paddingLeft:`calc(${t.spacing(1)} + var(--TreeView-itemChildrenIndentation) * var(--TreeView-itemDepth))`,borderRadius:t.shape.borderRadius,width:"100%",boxSizing:"border-box",position:"relative",display:"flex",alignItems:"center",gap:t.spacing(1),cursor:"pointer",WebkitTapHighlightColor:"transparent","&:hover":{backgroundColor:(t.vars||t).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},"&[data-disabled]":{opacity:(t.vars||t).palette.action.disabledOpacity,backgroundColor:"transparent"},"&[data-focused]":{backgroundColor:(t.vars||t).palette.action.focus},"&[data-selected]":{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})`:Do(t.palette.primary.main,t.palette.action.selectedOpacity),"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:Do(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})`:Do(t.palette.primary.main,t.palette.action.selectedOpacity)}}},"&[data-selected][data-focused]":{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.focusOpacity}))`:Do(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.focusOpacity)}})),cIe=J("div",{name:"MuiTreeItem",slot:"Label",shouldForwardProp:t=>qc(t)&&t!=="editable"})(({theme:t})=>Pe({width:"100%",boxSizing:"border-box",minWidth:0,position:"relative",overflow:"hidden"},t.typography.body1,{variants:[{props:({editable:e})=>e,style:{paddingLeft:"2px"}}]})),uIe=J("div",{name:"MuiTreeItem",slot:"IconContainer"})({width:16,display:"flex",flexShrink:0,justifyContent:"center",position:"relative","& svg":{fontSize:18}}),dIe=J(gu,{name:"MuiTreeItem",slot:"GroupTransition",overridesResolver:(t,e)=>e.groupTransition})({margin:0,padding:0}),fIe=J("div",{name:"MuiTreeItem",slot:"ErrorIcon"})({position:"absolute",right:-3,width:7,height:7,borderRadius:"50%",backgroundColor:"red"}),pIe=J(Ui,{name:"MuiTreeItem",slot:"LoadingIcon"})({color:"text.primary"}),m6=J(C.forwardRef((t,e)=>{const{visible:r}=t,n=Gu(t,aIe);return r?N.jsx(wu,Pe({},n,{ref:e})):null}),{name:"MuiTreeItem",slot:"Checkbox"})({padding:0});process.env.NODE_ENV!=="production"&&(m6.displayName="TreeItemCheckbox");const hIe=t=>{const{classes:e}=n6(),r=Pe({},t,{root:le(t?.root,e.root),content:le(t?.content,e.itemContent),iconContainer:le(t?.iconContainer,e.itemIconContainer),checkbox:le(t?.checkbox,e.itemCheckbox),label:le(t?.label,e.itemLabel),groupTransition:le(t?.groupTransition,e.itemGroupTransition),labelInput:le(t?.labelInput,e.itemLabelInput),dragAndDropOverlay:le(t?.dragAndDropOverlay,e.itemDragAndDropOverlay),errorIcon:le(t?.errorIcon,e.itemErrorIcon),loadingIcon:le(t?.loadingIcon,e.itemLoadingIcon)});return qe({root:["root"],content:["content"],iconContainer:["iconContainer"],checkbox:["checkbox"],label:["label"],groupTransition:["groupTransition"],labelInput:["labelInput"],dragAndDropOverlay:["dragAndDropOverlay"],errorIcon:["errorIcon"],loadingIcon:["loadingIcon"],expanded:["expanded"],editing:["editing"],editable:["editable"],selected:["selected"],focused:["focused"],disabled:["disabled"]},ZAe,r)},mI=C.forwardRef(function(e,r){const n=iIe({props:e,name:"MuiTreeItem"}),{id:a,itemId:o,label:i,disabled:s,children:c,slots:l={},slotProps:u={},classes:d}=n,p=Gu(n,oIe),{getContextProviderProps:h,getRootProps:m,getContentProps:g,getIconContainerProps:v,getCheckboxProps:y,getLabelProps:b,getGroupTransitionProps:x,getLabelInputProps:S,getDragAndDropOverlayProps:w,getErrorContainerProps:O,getLoadingContainerProps:E,status:k}=JAe({id:a,itemId:o,children:c,label:i,disabled:s}),_=hIe(d),A=l.root??sIe,T=Qn({elementType:A,getSlotProps:m,externalForwardedProps:p,externalSlotProps:u.root,additionalProps:{ref:r},ownerState:{},className:_.root}),P=l.content??lIe,R=Qn({elementType:P,getSlotProps:g,externalSlotProps:u.content,ownerState:{},className:le(_.content,k.expanded&&_.expanded,k.selected&&_.selected,k.focused&&_.focused,k.disabled&&_.disabled,k.editing&&_.editing,k.editable&&_.editable)}),M=l.iconContainer??uIe,L=Qn({elementType:M,getSlotProps:v,externalSlotProps:u.iconContainer,ownerState:{},className:_.iconContainer}),D=l.label??cIe,$=Qn({elementType:D,getSlotProps:b,externalSlotProps:u.label,ownerState:{},className:_.label}),z=l.checkbox??m6,B=Qn({elementType:z,getSlotProps:y,externalSlotProps:u.checkbox,ownerState:{},className:_.checkbox}),F=l.groupTransition??void 0,V=Qn({elementType:F,getSlotProps:x,externalSlotProps:u.groupTransition,ownerState:{},className:_.groupTransition}),q=l.labelInput??nIe,te=Qn({elementType:q,getSlotProps:S,externalSlotProps:u.labelInput,ownerState:{},className:_.labelInput}),G=l.dragAndDropOverlay??h6,ee=Qn({elementType:G,getSlotProps:w,externalSlotProps:u.dragAndDropOverlay,ownerState:{},className:_.dragAndDropOverlay}),X=l.errorIcon??fIe,re=Qn({elementType:X,getSlotProps:O,externalSlotProps:u.errorIcon,ownerState:{},className:_.errorIcon}),ne=l.loadingIcon??pIe,ae=Qn({elementType:ne,getSlotProps:E,externalSlotProps:u.loadingIcon,ownerState:{},className:_.loadingIcon});return N.jsx(g6,Pe({},h(),{children:N.jsxs(A,Pe({},T,{children:[N.jsxs(P,Pe({},R,{children:[N.jsxs(M,Pe({},L,{children:[k.error&&N.jsx(X,Pe({},re)),k.loading?N.jsx(ne,Pe({},ae)):N.jsx(p6,{status:k,slots:l,slotProps:u})]})),N.jsx(z,Pe({},B)),k.editing?N.jsx(q,Pe({},te)):N.jsx(D,Pe({},$)),N.jsx(G,Pe({},ee))]})),c&&N.jsx(dIe,Pe({as:F},V))]}))}))});process.env.NODE_ENV!=="production"&&(mI.displayName="TreeItem");process.env.NODE_ENV!=="production"&&(mI.propTypes={children:f.any,classes:f.object,className:f.string,disabled:f.bool,id:f.string,itemId:f.string.isRequired,label:f.node,onBlur:f.func,onFocus:nW,onKeyDown:f.func,slotProps:f.object,slots:f.object,sx:f.oneOfType([f.arrayOf(f.oneOfType([f.func,f.object,f.bool])),f.func,f.object])});const gIe=(t,e,{navigate:r})=>{if(!t||!t.type)return t;if(t.type==="body"){let{crud:n,entity:a,filter:o,sort:i}=t,s=`/${a}`;const c={};Array.isArray(o)&&o.forEach(p=>{if(!p||!p.name)return;let h=p.value;if(typeof h=="string"&&h.startsWith("$arg")){const m=parseInt(h.replace("$arg",""),10);(Array.isArray(e)||e&&typeof e=="object")&&(h=e[m])}c[p.name]=h});const l=new URLSearchParams;Object.keys(c).length>0&&l.set("filter",JSON.stringify(c)),Array.isArray(i)&&i.length>0&&i[0]?.name&&(l.set("sort",i[0].name),l.set("order",i[0].desc?"DESC":"ASC"));const u=l.toString(),d=u?`${s}?${u}`:s;return typeof r=="function"?(r(d),null):d}return t},v6=({component:t,custom:e,...r})=>{const n=bn();bo(),ai();const[a,o]=I.useState([]),i=I.useRef(new Set);I.useEffect(()=>{console.log("EntityTreeView","useEffect",t,e);let{entity:p,key:h,parent_key:m,label:g,sort:v}=t;const y=e?.globalFilterDelegate&&e?.globalFilterDelegate(p)||{};let b=`/${p}?${m}=`;y&&(b+=`&${Object.keys(y).map(x=>`${x}=${y[x]}`).join("&")}`),v&&(b+=`&_sort=${v.map(x=>`${x.name}`).join(",")}`,b+=`&_order=${v.map(x=>`${x.desc?"DESC":"ASC"}`).join(",")}`),Vl(b).then(x=>{Array.isArray(x)&&(o(x),x.map(S=>{l(S)}))})},[]);const s=I.useCallback((p,h)=>{if(p[t.key]==h)return p;if(Array.isArray(p.list))for(let m of p.list){let g=s(m,h);if(g)return g}return null},[t]),c=I.useCallback((p,h,m)=>Array.isArray(p)?p.map(g=>{if(g[t.key]===h)return{...g,list:m};if(Array.isArray(g.list)){const v=c(g.list,h,m);if(v!==g.list)return{...g,list:v}}return g}):p,[t]),l=I.useCallback(p=>{let{entity:h,key:m,parent_key:g,label:v,sort:y}=t;const b=e?.globalFilterDelegate&&e?.globalFilterDelegate(h)||{};let x=p[t.key];if(i.current.has(x))return;let S=`/${h}?${g}=${x}`;b&&(S+=`&${Object.keys(b).map(w=>`${w}=${b[w]}`).join("&")}`),y&&(S+=`&_sort=${y.map(w=>`${w.name}`).join(",")}`,S+=`&_order=${y.map(w=>`${w.desc?"DESC":"ASC"}`).join(",")}`),Vl(S).then(w=>{let O=Array.isArray(w)?w:[];O=O.filter(E=>E?.[t.key]!==x),o(E=>c(E,x,O)),i.current.add(x)})},[t,e,c]),u=I.useCallback((p,h)=>{let m=s({list:a},h),g=!m.list||m.list.length==0;if(m.list.map(v=>{l(v)}),g&&t.peer_click?.action){let v=[];t.argment.forEach(y=>{v.push(m[y.name])});for(let y of t.peer_click.action)gIe(y,v,{navigate:n})}e?.itemClick&&typeof e?.itemClick=="function"&&e.itemClick(m)},[t,e,a,s]),d=(p,h)=>{const m=p[t.key];if(h?.has(m))return null;const g=h?new Set(h):new Set;return g.add(m),N.jsx(mI,{itemId:`${m}`,label:N.jsx("span",{children:p[t.label]}),children:p.list?.map(v=>d(v,g))},m)};return N.jsx(Bo,{sx:{minHeight:352,minWidth:250},children:N.jsx(gI,{onItemClick:u,children:a.map(p=>d(p))})})},mIe=({entity:t,custom:e,children:r})=>N.jsxs(Gl,{direction:"row",spacing:1,children:[t.layout?.left&&N.jsx(Bo,{padding:1,children:t.layout.left.map((n,a)=>n.component=="tree"?N.jsx(v6,{component:n,custom:e},a):N.jsxs(N.Fragment,{children:["Unknown component: ",n.component]}))}),N.jsx(Bo,{width:"100%",children:r})]}),vIe=({custom:t,...e})=>{const r=ai(),n=xt(e),a=I.useMemo(()=>r.entity[n],[r,n]);return N.jsx(qbe,{...e,children:a.crud?.search?.map(o=>{const i=a.fields.find(s=>s.name==o.name);return ex({field:i,search:!0,globalFilter:t?.globalFilterDelegate(n)||{},crud_field:o})})})},yIe=({crud:t,custom:e,...r})=>{const n=xt(r),a=I.createRef(),o=xn(),i=bo(),s=ln(),c=async p=>{if(p){const h=await p.arrayBuffer(),g=new Uint8Array(h).reduce((v,y)=>v+String.fromCharCode(y),"");return btoa(g)}else return null},l=async p=>{const h=p[0],m=await c(h);await C_(`/excel/${n}/import`,{},{base64:m}).then(g=>{g&&g.r?(o(g.msg,{type:"success"},{},!1),i()):o(g.msg,{type:"error"},{},!1)}).catch(g=>{o(g.message,{type:"error"},{},!1)})},u=()=>{a.current.click()},d=()=>{let h=new URLSearchParams(s.search).get("filter");h?h=JSON.parse(h):h={};const m=e?.globalFilterDelegate(n);let g={};m&&(g={...h,...m}),C_(`/excel/${n}/export`,{},{filter:g}).then(v=>{if(!v.r)o(v.msg?v.msg:"xlsx 생성에 실패하였습니다.","warning",{},!1);else if(v&&v.r){const y=document.createElement("a");y.href=v.url;const b=Ge().format("YYYYMMDDHHmmss");y.setAttribute("download",`${b}.csv`),document.body.appendChild(y),y.click(),document.body.removeChild(y),o("Download Start...","info",{},!1)}})};return N.jsxs(rh,{children:[t?.create&&N.jsx(GT,{}),t?.import&&N.jsxs(N.Fragment,{children:[N.jsx("input",{type:"file",accept:".xlsx",ref:a,style:{display:"none"},onChange:p=>l(p.target.files)}),N.jsx(Wn,{onClick:u,startIcon:N.jsx(nOe,{}),label:"Import"})]}),t?.export&&N.jsx(Wn,{onClick:d,startIcon:N.jsx(rOe,{}),label:"Export"})]})},bIe=({custom:t,...e})=>{bn(),bo();const r=ai(),n=xt(e),a=I.useMemo(()=>r.entity[n].crud||{show:!0,edit:!0,create:!0,delete:!0,list:!0,import:!1,export:!1},[r,n]),o=I.useMemo(()=>r.entity[n].fields,[r,n]),i=I.useCallback(c=>{let l=c.split(".")[0],u=o.find(d=>d.name==l);return u||(u=o.find(d=>d.name==c)),u},[o]),s=I.useCallback(c=>o.map(l=>l.name).includes(c)?!0:i(c)!=null,[o]);return N.jsx(mIe,{entity:r.entity[n],custom:t,children:N.jsx(axe,{...e,filters:N.jsx(vIe,{custom:t}),mutationMode:"optimistic",exporter:!1,sort:{field:"id",order:"DESC"},perPage:30,actions:N.jsx(yIe,{crud:a,custom:t}),filter:t?.globalFilterDelegate(n)||{},children:N.jsxs(sA,{rowClick:a.show?"show":!1,bulkActionButtons:!!a.delete,children:[a.list==!0&&o.map(c=>Ru({field:c,isList:!0})),a.list!=!0&&a.list.filter(c=>c.name).filter(c=>s(c.name)).map(c=>{let l=i(c.name);return Ru({crud_field:c,field:l,isList:!0})}),"//Custom List Start //Custom List End",a.edit&&N.jsx(X5,{})]})})})},xIe=()=>Cr()?N.jsx("span",{}):null,wIe=t=>N.jsx(pA,{...t,children:N.jsx(tA,{})}),SIe=({custom:t,...e})=>{const{permissions:r}=Ty(),n=ai(),a=xt(e),o=I.useMemo(()=>n.entity[a].fields,[n,a]),i=I.useMemo(()=>n.entity[a].api_generate||{},[n,a]),s=I.useCallback(l=>i?!(i[l]||l.includes(".")&&i[l.split(".")[0]]):!0,[i]),c=I.useMemo(()=>n.entity[a].crud||{show:!0,edit:!0,create:!0,delete:!0,list:!0,import:!1,export:!1},[n,a]);return N.jsx(xwe,{title:N.jsx(xIe,{}),...e,mutationMode:"optimistic",redirect:"list",children:N.jsx(i3,{toolbar:N.jsx(wIe,{}),children:o.filter(l=>c.create==!0||c.create.map(u=>u.name).includes(l.name)).filter(l=>s(l.name)).map(l=>ex({field:l,search:!1,globalFilter:t?.globalFilterDelegate(a),crud_field:c.create==!0?null:c.create.find(u=>u.name==l.name)}))})})},CIe=()=>Cr()?N.jsx("span",{}):null,OIe=t=>N.jsx(pA,{...t,children:N.jsx(tA,{})}),EIe=({custom:t,...e})=>{const{permissions:r}=Ty(),n=ai(),a=xt(e),o=I.useMemo(()=>n.entity[a].fields,[n,a]),i=I.useMemo(()=>n.entity[a].api_generate||{},[n,a]),s=I.useMemo(()=>n.entity[a].crud||{show:!0,edit:!0,create:!0,delete:!0,list:!0,import:!1,export:!1},[n,a]),c=I.useCallback(l=>i?!(i[l]||l.includes(".")&&i[l.split(".")[0]]):!0,[i]);return N.jsx(Iwe,{title:N.jsx(CIe,{}),...e,mutationMode:"optimistic",redirect:"edit",children:N.jsx(i3,{toolbar:N.jsx(OIe,{}),children:o.filter(l=>s.edit==!0||s.edit.map(u=>u.name).includes(l.name)).filter(l=>c(l.name)).map(l=>ex({field:l,search:!1,globalFilter:t?.globalFilterDelegate(a)||{},crud_field:s.edit==!0?null:s.edit.find(u=>u.name==l.name)}))})})},kIe=()=>Cr()?N.jsx("span",{}):null,_Ie=({customFunc:t})=>{const e=Cr();return e?N.jsx(N.Fragment,{children:t(e)}):null},PIe=({custom:t,...e})=>{bn(),bo();const r=ai(),n=xt(e),a=I.useMemo(()=>r.entity[n].fields,[r,n]),o=I.useMemo(()=>t?.entity?.[n]?.show,[r,n]),i=I.useMemo(()=>r.entity[n].crud||{show:!0,edit:!0,create:!0,delete:!0,list:!0,import:!1,export:!1},[r,n]),s=I.useCallback(l=>{let u=l.split(".")[0];return a.find(p=>p.name==u)},[a]),c=I.useCallback(l=>a.map(u=>u.name).includes(l)?!0:s(l)!=null,[a]);return N.jsx(Uwe,{title:N.jsx(kIe,{}),...e,children:N.jsxs(Kwe,{children:[o&&N.jsx(_Ie,{customFunc:o,fields:a}),!o&&i.show==!0&&a.map(l=>Ru({field:l})),!o&&i.show!=!0&&i.show.filter(l=>l.name).filter(l=>c(l.name)).map(l=>{let u=s(l.name);return Ru({crud_field:l,field:u})}),"//Custom Show Start //Custom Show End"]})})};function TIe(t){var e={};return t.replace(/[?&]+([^=&]+)=([^&]*)/gi,function(r,n,a){e[n]=a}),e}const AIe={login:t=>{const{username:e,password:r}=t;return C_("/member/login",{},{type:"email",email:e,pass:r}).then(({token:n,r:a,msg:o})=>{if(!a)throw new Error(o);localStorage.setItem("token",n),Rs.defaults.headers.common["x-access-token"]=n})},checkError:t=>Promise.resolve(),checkAuth:t=>{localStorage.setItem(oH,window.location.href);const e=TIe(window.location.href);let{token:r}=e;return r||(r=localStorage.getItem("token")),r?(Rs.defaults.headers.common["x-access-token"]=r,Vl(`/member/islogin?token=${encodeURIComponent(r)}`).then(n=>n.r?(localStorage.setItem("token",r),Promise.resolve()):Promise.reject())):Promise.reject()},logout:()=>(localStorage.removeItem("token"),document.cookie="",Promise.resolve()),getIdentity:()=>Vl("/member/islogin").then(t=>{if(t?.r&&t?.member){const e=t.member;return{id:e.id||e.email,fullName:e.name||e.email,avatar:e.avatar}}return Promise.reject()}),handleCallback:()=>Promise.resolve(),getPermissions:()=>Promise.resolve()},Hz=(t,e=!1,r={})=>{const n=i=>i&&typeof i=="object"&&!Array.isArray(i),a=async(i,s,c)=>{if(c&&c.rawFile&&c.title){let l,u=!1;if(r[i]&&r[i][s]&&(u=!0),console.log("fileUploader",i,s,e?"local":"s3",u?"secure":"public"),e?u?l=await DTe(c.rawFile,c.title):l=await NTe(c.rawFile,c.title):u?l=await jTe(c.rawFile,c.title):l=await LTe(c.rawFile,c.title),l){const d={...c};return d.src=l,delete d.rawFile,d}}return c},o=async(i,s)=>{if(Array.isArray(s))return await Promise.all(s.map(u=>o(i,u)));if(!n(s))return s;const c=await Promise.all(Object.entries(s).map(async([l,u])=>{if(u&&u.rawFile){const d=await a(i,l,u);return[l,d]}if(Array.isArray(u)||n(u)){const d=await o(i,u);return[l,d]}return[l,u]}));return Object.fromEntries(c)};return{...t,async create(i,s){const c=await o(i,s?.data??{});return t.create(i,{...s,data:c})},async update(i,s){try{const c=await o(i,s?.data??{});return t.update(i,{...s,data:c})}catch(c){console.error("update error",c)}}}};var uO={};/*!
566
566
  * ApexCharts v5.3.5
567
567
  * (c) 2018-2025 ApexCharts
568
568
  */function P_(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function y6(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function Ye(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Wz(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,w6(n.key),n)}}function Ue(t,e,r){return e&&Wz(t.prototype,e),r&&Wz(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function Qd(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=vI(t))||e){r&&(t=r);var n=0,a=function(){};return{s:a,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(c){throw c},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
package/dist/index.es.js CHANGED
@@ -74806,6 +74806,7 @@ const LIe = (t, e, { navigate: r }) => {
74806
74806
  Ao(), gi();
74807
74807
  const [a, o] = tt([]), i = rt(/* @__PURE__ */ new Set());
74808
74808
  Pe(() => {
74809
+ console.log("EntityTreeView", "useEffect", t, e);
74809
74810
  let { entity: p, key: h, parent_key: m, label: g, sort: v } = t;
74810
74811
  const y = e?.globalFilterDelegate && e?.globalFilterDelegate(p) || {};
74811
74812
  let b = `/${p}?${m}=`;
@@ -74814,7 +74815,7 @@ const LIe = (t, e, { navigate: r }) => {
74814
74815
  l(S);
74815
74816
  }));
74816
74817
  });
74817
- }, [t, e]);
74818
+ }, []);
74818
74819
  const s = ge((p, h) => {
74819
74820
  if (p[t.key] == h)
74820
74821
  return p;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yaml-admin-front",
3
- "version": "0.0.29",
3
+ "version": "0.0.30",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "description": "React components for yaml-admin front (library)",