@cgi-learning-hub/ui 1.4.0-dev.1741961819 → 1.4.0-dev.1741974011

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,8 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { c as o } from "./createSvgIcon-K1Hd8ryN.js";
3
+ const r = o(/* @__PURE__ */ e("path", {
4
+ d: "M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"
5
+ }), "Delete");
6
+ export {
7
+ r as D
8
+ };
@@ -0,0 +1 @@
1
+ "use strict";const e=require("react/jsx-runtime"),c=require("./createSvgIcon-DJMYlO0S.cjs"),t=c.createSvgIcon(e.jsx("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"}),"Delete");exports.DeleteIcon=t;
@@ -1 +1 @@
1
- "use strict";const e=require("react/jsx-runtime"),l=require("../../createSvgIcon-DJMYlO0S.cjs"),o=require("@mui/material"),h=require("react"),S=require("../../index-CVFzneYe.cjs"),C=require("../../Stack-B82ckLGm.cjs"),c=require("../../Typography-DPij13XT.cjs"),g=l.createSvgIcon(e.jsx("path",{d:"M19 7v2.99s-1.99.01-2 0V7h-3s.01-1.99 0-2h3V2h2v3h3v2zm-3 4V8h-3V5H5c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-8zM5 19l3-4 2 3 3-4 4 5z"}),"AddPhotoAlternate"),w=l.createSvgIcon(e.jsx("path",{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z"}),"Create"),D=l.createSvgIcon(e.jsx("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"}),"Delete"),F=()=>e.jsxs(c.Typography,{textAlign:"center",fontSize:"14px",color:"grey.darker",children:[e.jsx(o.Box,{component:"span",fontWeight:"bold",children:"Glissez-déposez"})," ","ou"," ",e.jsx(o.Box,{component:"span",fontWeight:"bold",children:"cliquez"})," ","pour choisir une image"]}),A=()=>e.jsxs(c.Typography,{textAlign:"center",fontSize:"14px",color:"grey.darker",children:[e.jsx(o.Box,{component:"span",fontWeight:"bold",children:"Glissez"})," ","une image"]}),P=({defaultLabel:x=e.jsx(F,{}),dragLabel:m=e.jsx(A,{}),information:n,onFileChange:a=t=>{},width:u="160px",height:j="160px",initialFile:s=null,...y})=>{const[t,i]=h.useState(s);h.useEffect(()=>{i(s)},[s]);const f=r=>{const p=r[0]||null;i(p),a(p)},b=r=>{r.stopPropagation(),i(null),a(null)},k=r=>{r.stopPropagation(),d()},{open:d,getRootProps:z,getInputProps:v,isDragActive:I}=S.useDropzone({...y,maxFiles:1,onDropAccepted:f,accept:{"image/*":[".png",".jpeg",".jpg",".gif"]},noClick:!0});return e.jsxs(C.Stack,{direction:"column",justifyContent:"center",alignItems:"center",width:u,minWidth:"150px",minHeight:"150px",height:j,borderRadius:1,sx:{cursor:"pointer",position:"relative",background:`${!t&&"linear-gradient(180deg, #F5F7F9 0%, #FFF 100%)"}`,border:`${!t&&"1px dashed"}`,borderColor:r=>!t&&r.palette.grey.main},...z({onClick:d}),children:[e.jsx("input",{...v()}),t?e.jsxs(e.Fragment,{children:[e.jsxs(o.Box,{sx:{position:"absolute",top:"0.5rem",right:"0.5rem",display:"flex",gap:"0.3rem"},children:[e.jsx(o.Box,{onClick:k,sx:{backgroundColor:"common.white",display:"flex",borderRadius:"3px",alignItems:"center",justifyContent:"center",boxShadow:1,width:"2rem",height:"2rem",cursor:"pointer","&:hover":{backgroundColor:"grey.darker","& .MuiSvgIcon-root":{fill:r=>r.palette.common.white}}},children:e.jsx(w,{fontSize:"small"})}),e.jsx(o.Box,{onClick:b,sx:{backgroundColor:"common.white",display:"flex",borderRadius:"3px",alignItems:"center",boxShadow:1,justifyContent:"center",width:"2rem",height:"2rem",cursor:"pointer","&:hover":{backgroundColor:"grey.darker","& .MuiSvgIcon-root":{fill:r=>r.palette.common.white}}},children:e.jsx(D,{fontSize:"small"})})]}),e.jsx("img",{src:typeof t=="string"?t:URL.createObjectURL(t),alt:typeof t=="string"?t:t.name,style:{width:"100%",height:"100%",maxWidth:"100%",objectFit:"cover",borderRadius:"5px"}})]}):e.jsx(e.Fragment,{children:I?e.jsxs(e.Fragment,{children:[e.jsx(g,{color:"primary",style:{width:"2.5rem",height:"2.5rem"}}),m,n&&e.jsx(c.Typography,{textAlign:"center",fontSize:"12px",color:"grey",children:n})]}):e.jsxs(o.Box,{sx:{display:"flex",flexDirection:"column",alignItems:"center",padding:"0.5rem",gap:"0.3rem"},children:[e.jsx(g,{color:"primary",style:{width:"2.5rem",height:"2.5rem"}}),x,n&&e.jsx(c.Typography,{textAlign:"center",fontSize:"12px",color:"grey",children:n})]})})]})};module.exports=P;
1
+ "use strict";const e=require("react/jsx-runtime"),h=require("../../createSvgIcon-DJMYlO0S.cjs"),v=require("../../Delete-DmeDAs0n.cjs"),o=require("@mui/material"),p=require("react"),C=require("../../index-CVFzneYe.cjs"),w=require("../../Stack-B82ckLGm.cjs"),i=require("../../Typography-DPij13XT.cjs"),g=h.createSvgIcon(e.jsx("path",{d:"M19 7v2.99s-1.99.01-2 0V7h-3s.01-1.99 0-2h3V2h2v3h3v2zm-3 4V8h-3V5H5c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-8zM5 19l3-4 2 3 3-4 4 5z"}),"AddPhotoAlternate"),D=h.createSvgIcon(e.jsx("path",{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z"}),"Create"),F=()=>e.jsxs(i.Typography,{textAlign:"center",fontSize:"14px",color:"grey.darker",children:[e.jsx(o.Box,{component:"span",fontWeight:"bold",children:"Glissez-déposez"})," ","ou"," ",e.jsx(o.Box,{component:"span",fontWeight:"bold",children:"cliquez"})," ","pour choisir une image"]}),A=()=>e.jsxs(i.Typography,{textAlign:"center",fontSize:"14px",color:"grey.darker",children:[e.jsx(o.Box,{component:"span",fontWeight:"bold",children:"Glissez"})," ","une image"]}),q=({defaultLabel:x=e.jsx(F,{}),dragLabel:m=e.jsx(A,{}),information:n,onFileChange:l=r=>{},width:u="160px",height:j="160px",initialFile:s=null,...y})=>{const[r,c]=p.useState(s);p.useEffect(()=>{c(s)},[s]);const f=t=>{const d=t[0]||null;c(d),l(d)},b=t=>{t.stopPropagation(),c(null),l(null)},k=t=>{t.stopPropagation(),a()},{open:a,getRootProps:z,getInputProps:I,isDragActive:S}=C.useDropzone({...y,maxFiles:1,onDropAccepted:f,accept:{"image/*":[".png",".jpeg",".jpg",".gif"]},noClick:!0});return e.jsxs(w.Stack,{direction:"column",justifyContent:"center",alignItems:"center",width:u,minWidth:"150px",minHeight:"150px",height:j,borderRadius:1,sx:{cursor:"pointer",position:"relative",background:`${!r&&"linear-gradient(180deg, #F5F7F9 0%, #FFF 100%)"}`,border:`${!r&&"1px dashed"}`,borderColor:t=>!r&&t.palette.grey.main},...z({onClick:a}),children:[e.jsx("input",{...I()}),r?e.jsxs(e.Fragment,{children:[e.jsxs(o.Box,{sx:{position:"absolute",top:"0.5rem",right:"0.5rem",display:"flex",gap:"0.3rem"},children:[e.jsx(o.Box,{onClick:k,sx:{backgroundColor:"common.white",display:"flex",borderRadius:"3px",alignItems:"center",justifyContent:"center",boxShadow:1,width:"2rem",height:"2rem",cursor:"pointer","&:hover":{backgroundColor:"grey.darker","& .MuiSvgIcon-root":{fill:t=>t.palette.common.white}}},children:e.jsx(D,{fontSize:"small"})}),e.jsx(o.Box,{onClick:b,sx:{backgroundColor:"common.white",display:"flex",borderRadius:"3px",alignItems:"center",boxShadow:1,justifyContent:"center",width:"2rem",height:"2rem",cursor:"pointer","&:hover":{backgroundColor:"grey.darker","& .MuiSvgIcon-root":{fill:t=>t.palette.common.white}}},children:e.jsx(v.DeleteIcon,{fontSize:"small"})})]}),e.jsx("img",{src:typeof r=="string"?r:URL.createObjectURL(r),alt:typeof r=="string"?r:r.name,style:{width:"100%",height:"100%",maxWidth:"100%",objectFit:"cover",borderRadius:"5px"}})]}):e.jsx(e.Fragment,{children:S?e.jsxs(e.Fragment,{children:[e.jsx(g,{color:"primary",style:{width:"2.5rem",height:"2.5rem"}}),m,n&&e.jsx(i.Typography,{textAlign:"center",fontSize:"12px",color:"grey",children:n})]}):e.jsxs(o.Box,{sx:{display:"flex",flexDirection:"column",alignItems:"center",padding:"0.5rem",gap:"0.3rem"},children:[e.jsx(g,{color:"primary",style:{width:"2.5rem",height:"2.5rem"}}),x,n&&e.jsx(i.Typography,{textAlign:"center",fontSize:"12px",color:"grey",children:n})]})})]})};module.exports=q;
@@ -1,17 +1,16 @@
1
1
  import { jsx as e, jsxs as o, Fragment as s } from "react/jsx-runtime";
2
- import { c as d } from "../../createSvgIcon-K1Hd8ryN.js";
2
+ import { c as g } from "../../createSvgIcon-K1Hd8ryN.js";
3
+ import { D as w } from "../../Delete-CbtdIdDB.js";
3
4
  import { Box as n } from "@mui/material";
4
- import { useState as w, useEffect as D } from "react";
5
- import { u as A } from "../../index-B1u7G33_.js";
6
- import { S as j } from "../../Stack-hbAJHQhq.js";
5
+ import { useState as D, useEffect as A } from "react";
6
+ import { u as j } from "../../index-B1u7G33_.js";
7
+ import { S as F } from "../../Stack-hbAJHQhq.js";
7
8
  import { T as l } from "../../Typography-SIQ6eleU.js";
8
- const g = d(/* @__PURE__ */ e("path", {
9
+ const h = g(/* @__PURE__ */ e("path", {
9
10
  d: "M19 7v2.99s-1.99.01-2 0V7h-3s.01-1.99 0-2h3V2h2v3h3v2zm-3 4V8h-3V5H5c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-8zM5 19l3-4 2 3 3-4 4 5z"
10
- }), "AddPhotoAlternate"), F = d(/* @__PURE__ */ e("path", {
11
+ }), "AddPhotoAlternate"), P = g(/* @__PURE__ */ e("path", {
11
12
  d: "M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z"
12
- }), "Create"), P = d(/* @__PURE__ */ e("path", {
13
- d: "M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"
14
- }), "Delete"), M = () => /* @__PURE__ */ o(l, { textAlign: "center", fontSize: "14px", color: "grey.darker", children: [
13
+ }), "Create"), R = () => /* @__PURE__ */ o(l, { textAlign: "center", fontSize: "14px", color: "grey.darker", children: [
15
14
  /* @__PURE__ */ e(n, { component: "span", fontWeight: "bold", children: "Glissez-déposez" }),
16
15
  " ",
17
16
  "ou",
@@ -19,45 +18,45 @@ const g = d(/* @__PURE__ */ e("path", {
19
18
  /* @__PURE__ */ e(n, { component: "span", fontWeight: "bold", children: "cliquez" }),
20
19
  " ",
21
20
  "pour choisir une image"
22
- ] }), R = () => /* @__PURE__ */ o(l, { textAlign: "center", fontSize: "14px", color: "grey.darker", children: [
21
+ ] }), M = () => /* @__PURE__ */ o(l, { textAlign: "center", fontSize: "14px", color: "grey.darker", children: [
23
22
  /* @__PURE__ */ e(n, { component: "span", fontWeight: "bold", children: "Glissez" }),
24
23
  " ",
25
24
  "une image"
26
- ] }), U = ({
27
- defaultLabel: u = /* @__PURE__ */ e(M, {}),
28
- dragLabel: x = /* @__PURE__ */ e(R, {}),
25
+ ] }), $ = ({
26
+ defaultLabel: u = /* @__PURE__ */ e(R, {}),
27
+ dragLabel: x = /* @__PURE__ */ e(M, {}),
29
28
  information: i,
30
- onFileChange: p = (t) => {
29
+ onFileChange: d = (r) => {
31
30
  },
32
31
  width: f = "160px",
33
32
  height: y = "160px",
34
33
  initialFile: c = null,
35
34
  ...b
36
35
  }) => {
37
- const [t, a] = w(
36
+ const [r, a] = D(
38
37
  c
39
38
  );
40
- D(() => {
39
+ A(() => {
41
40
  a(c);
42
41
  }, [c]);
43
- const z = (r) => {
44
- const m = r[0] || null;
45
- a(m), p(m);
46
- }, k = (r) => {
47
- r.stopPropagation(), a(null), p(null);
48
- }, v = (r) => {
49
- r.stopPropagation(), h();
50
- }, { open: h, getRootProps: C, getInputProps: I, isDragActive: S } = A({
42
+ const k = (t) => {
43
+ const m = t[0] || null;
44
+ a(m), d(m);
45
+ }, z = (t) => {
46
+ t.stopPropagation(), a(null), d(null);
47
+ }, C = (t) => {
48
+ t.stopPropagation(), p();
49
+ }, { open: p, getRootProps: I, getInputProps: S, isDragActive: v } = j({
51
50
  ...b,
52
51
  maxFiles: 1,
53
- onDropAccepted: z,
52
+ onDropAccepted: k,
54
53
  accept: {
55
54
  "image/*": [".png", ".jpeg", ".jpg", ".gif"]
56
55
  },
57
56
  noClick: !0
58
57
  });
59
58
  return /* @__PURE__ */ o(
60
- j,
59
+ F,
61
60
  {
62
61
  direction: "column",
63
62
  justifyContent: "center",
@@ -70,16 +69,16 @@ const g = d(/* @__PURE__ */ e("path", {
70
69
  sx: {
71
70
  cursor: "pointer",
72
71
  position: "relative",
73
- background: `${!t && "linear-gradient(180deg, #F5F7F9 0%, #FFF 100%)"}`,
74
- border: `${!t && "1px dashed"}`,
75
- borderColor: (r) => !t && r.palette.grey.main
72
+ background: `${!r && "linear-gradient(180deg, #F5F7F9 0%, #FFF 100%)"}`,
73
+ border: `${!r && "1px dashed"}`,
74
+ borderColor: (t) => !r && t.palette.grey.main
76
75
  },
77
- ...C({
78
- onClick: h
76
+ ...I({
77
+ onClick: p
79
78
  }),
80
79
  children: [
81
- /* @__PURE__ */ e("input", { ...I() }),
82
- t ? /* @__PURE__ */ o(s, { children: [
80
+ /* @__PURE__ */ e("input", { ...S() }),
81
+ r ? /* @__PURE__ */ o(s, { children: [
83
82
  /* @__PURE__ */ o(
84
83
  n,
85
84
  {
@@ -94,7 +93,7 @@ const g = d(/* @__PURE__ */ e("path", {
94
93
  /* @__PURE__ */ e(
95
94
  n,
96
95
  {
97
- onClick: v,
96
+ onClick: C,
98
97
  sx: {
99
98
  backgroundColor: "common.white",
100
99
  display: "flex",
@@ -108,17 +107,17 @@ const g = d(/* @__PURE__ */ e("path", {
108
107
  "&:hover": {
109
108
  backgroundColor: "grey.darker",
110
109
  "& .MuiSvgIcon-root": {
111
- fill: (r) => r.palette.common.white
110
+ fill: (t) => t.palette.common.white
112
111
  }
113
112
  }
114
113
  },
115
- children: /* @__PURE__ */ e(F, { fontSize: "small" })
114
+ children: /* @__PURE__ */ e(P, { fontSize: "small" })
116
115
  }
117
116
  ),
118
117
  /* @__PURE__ */ e(
119
118
  n,
120
119
  {
121
- onClick: k,
120
+ onClick: z,
122
121
  sx: {
123
122
  backgroundColor: "common.white",
124
123
  display: "flex",
@@ -132,11 +131,11 @@ const g = d(/* @__PURE__ */ e("path", {
132
131
  "&:hover": {
133
132
  backgroundColor: "grey.darker",
134
133
  "& .MuiSvgIcon-root": {
135
- fill: (r) => r.palette.common.white
134
+ fill: (t) => t.palette.common.white
136
135
  }
137
136
  }
138
137
  },
139
- children: /* @__PURE__ */ e(P, { fontSize: "small" })
138
+ children: /* @__PURE__ */ e(w, { fontSize: "small" })
140
139
  }
141
140
  )
142
141
  ]
@@ -145,8 +144,8 @@ const g = d(/* @__PURE__ */ e("path", {
145
144
  /* @__PURE__ */ e(
146
145
  "img",
147
146
  {
148
- src: typeof t == "string" ? t : URL.createObjectURL(t),
149
- alt: typeof t == "string" ? t : t.name,
147
+ src: typeof r == "string" ? r : URL.createObjectURL(r),
148
+ alt: typeof r == "string" ? r : r.name,
150
149
  style: {
151
150
  width: "100%",
152
151
  height: "100%",
@@ -156,9 +155,9 @@ const g = d(/* @__PURE__ */ e("path", {
156
155
  }
157
156
  }
158
157
  )
159
- ] }) : /* @__PURE__ */ e(s, { children: S ? /* @__PURE__ */ o(s, { children: [
158
+ ] }) : /* @__PURE__ */ e(s, { children: v ? /* @__PURE__ */ o(s, { children: [
160
159
  /* @__PURE__ */ e(
161
- g,
160
+ h,
162
161
  {
163
162
  color: "primary",
164
163
  style: {
@@ -181,7 +180,7 @@ const g = d(/* @__PURE__ */ e("path", {
181
180
  },
182
181
  children: [
183
182
  /* @__PURE__ */ e(
184
- g,
183
+ h,
185
184
  {
186
185
  color: "primary",
187
186
  style: {
@@ -200,5 +199,5 @@ const g = d(/* @__PURE__ */ e("path", {
200
199
  );
201
200
  };
202
201
  export {
203
- U as default
202
+ $ as default
204
203
  };
@@ -1,9 +1,9 @@
1
- "use strict";const v=require("react/jsx-runtime"),fe=require("../../createSvgIcon-DJMYlO0S.cjs"),Qe=require("../../Box-DYA49L7w.cjs"),P=require("../../ButtonBase-D6tfI-8D.cjs"),Ze=require("react"),Pe=require("../../warning-DMUNDgRg.cjs"),de=require("../../useForkRef-CTI33h-3.cjs"),j=require("../../resolveComponentProps-PuUs-PsA.cjs"),s=require("../../generateUtilityClasses-De8NU9_E.cjs"),W=require("../../TransitionGroupContext-Zt4NoR0u.cjs"),Bt=require("../../useThemeProps-DxBEHys5.cjs"),_=require("../../DefaultPropsProvider-wpBXjN8r.cjs"),He=require("../../Collapse-Bvxtq7n-.cjs"),et=require("../../Checkbox-DQgPXaym.cjs"),tt=require("../../unsupportedProp-Bn6XWqwH.cjs"),A=require("../../useSlotProps-CvOxvhyy.cjs"),le=require("../../useEventCallback-C0-Qw3Sm.cjs"),qt=require("../../ownerDocument-4MViGo3k.cjs"),Ut=require("../../elementTypeAcceptingRef-BjgxF5Bq.cjs");function zt(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:()=>e[o]})}}return t.default=e,Object.freeze(t)}const E=zt(Ze),ot=fe.createSvgIcon(v.jsx("path",{d:"M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8z"}),"Folder"),Wt=fe.createSvgIcon(v.jsx("path",{d:"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6z"}),"KeyboardArrowDown"),Gt=fe.createSvgIcon(v.jsx("path",{d:"M8.59 16.59 13.17 12 8.59 7.41 10 6l6 6-6 6z"}),"KeyboardArrowRight");function Xt(e){return s.generateUtilityClass("MuiRichTreeView",e)}s.generateUtilityClasses("MuiRichTreeView",["root"]);function De(e){return Bt.useThemeProps}const Jt=(e,t)=>{const o=E.useRef({}),[n,i]=E.useState(()=>{const f={};return e.forEach(l=>{l.models&&Object.entries(l.models).forEach(([I,d])=>{o.current[I]={isControlled:t[I]!==void 0,getDefaultValue:d.getDefaultValue},f[I]=d.getDefaultValue(t)})}),f}),g=Object.fromEntries(Object.entries(o.current).map(([f,l])=>{const I=t[f]??n[f];return[f,{value:I,setControlledValue:d=>{l.isControlled||i(r=>P._extends({},r,{[f]:d}))}}]}));return process.env.NODE_ENV!=="production"&&Object.entries(o.current).forEach(([f,l])=>{const I=t[f],d=l.getDefaultValue(t);E.useEffect(()=>{l.isControlled!==(I!==void 0)&&console.error([`MUI X: A component is changing the ${l.isControlled?"":"un"}controlled ${f} state of TreeView to be ${l.isControlled?"un":""}controlled.`,"Elements should not switch from uncontrolled to controlled (or vice versa).",`Decide between using a controlled or uncontrolled ${f} 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"].join(`
2
- `))},[I]);const{current:r}=E.useRef(d);E.useEffect(()=>{!l.isControlled&&r!==d&&console.error([`MUI X: A component is changing the default ${f} state of an uncontrolled TreeView after being initialized. To suppress this warning opt to use a controlled TreeView.`].join(`
3
- `))},[JSON.stringify(d)])}),g};class Yt{constructor(){this.maxListeners=20,this.warnOnce=!1,this.events={}}on(t,o,n={}){let i=this.events[t];if(i||(i={highPriority:new Map,regular:new Map},this.events[t]=i),n.isFirst?i.highPriority.set(o,!0):i.regular.set(o,!0),process.env.NODE_ENV!=="production"){const g=i.highPriority.size+i.regular.size;g>this.maxListeners&&!this.warnOnce&&(this.warnOnce=!0,console.warn([`Possible EventEmitter memory leak detected. ${g} ${t} listeners added.`].join(`
4
- `)))}}removeListener(t,o){this.events[t]&&(this.events[t].regular.delete(o),this.events[t].highPriority.delete(o))}removeAllListeners(){this.events={}}emit(t,...o){const n=this.events[t];if(!n)return;const i=Array.from(n.highPriority.keys()),g=Array.from(n.regular.keys());for(let f=i.length-1;f>=0;f-=1){const l=i[f];n.highPriority.has(l)&&l.apply(this,o)}for(let f=0;f<g.length;f+=1){const l=g[f];n.regular.has(l)&&l.apply(this,o)}}once(t,o){const n=this;this.on(t,function i(...g){n.removeListener(t,i),o.apply(n,g)})}}const Qt=e=>e.isPropagationStopped!==void 0,nt=()=>{const[e]=E.useState(()=>new Yt),t=E.useCallback((...n)=>{const[i,g,f={}]=n;f.defaultMuiPrevented=!1,!(Qt(f)&&f.isPropagationStopped())&&e.emit(i,g,f)},[e]),o=E.useCallback((n,i)=>(e.on(n,i),()=>{e.removeListener(n,i)}),[e]);return{instance:{$$publishEvent:t,$$subscribeEvent:o}}};nt.params={};const rt=({plugins:e})=>{const t=new Set(e);return{instance:{getAvailablePlugins:()=>t}}};rt.params={};let Je=0;const Zt=()=>(Je+=1,`mui-tree-view-${Je}`),_e=({id:e,treeId:t="",itemId:o})=>e??`${t}-${o}`,je=({params:e,state:t,setState:o})=>{E.useEffect(()=>{o(i=>i.id.treeId===e.id&&i.id.treeId!==void 0?i:P._extends({},i,{id:P._extends({},i.id,{treeId:e.id??Zt()})}))},[o,e.id]);const n=e.id??t.id.treeId;return{getRootProps:()=>({id:n}),contextValue:{treeId:n}}};je.params={id:!0};je.getInitialState=({id:e})=>({id:{treeId:e??void 0}});const Ht=[nt,rt,je],eo=["slots","slotProps","apiRef","experimentalFeatures"],to=e=>{let{props:{slots:t,slotProps:o,apiRef:n,experimentalFeatures:i},plugins:g}=e,f=W._objectWithoutPropertiesLoose(e.props,eo);const l={};g.forEach(u=>{Object.assign(l,u.params)});const I={},d={};Object.keys(f).forEach(u=>{const c=f[u];l[u]?I[u]=c:d[u]=c});const r=i??{},a=g.reduce((u,c)=>c.getDefaultizedParams?c.getDefaultizedParams({params:u,experimentalFeatures:r}):u,I);return{apiRef:n,forwardedProps:d,pluginParams:a,slots:t??{},slotProps:o??{},experimentalFeatures:r}},oo=({plugins:e,instance:t,publicAPI:o,rootRef:n})=>({runItemPlugins:l=>{let I=null,d=null;const r=[],a={};e.forEach(x=>{if(!x.itemPlugin)return;const m=x.itemPlugin({props:l,rootRef:I,contentRef:d});m!=null&&m.rootRef&&(I=m.rootRef),m!=null&&m.contentRef&&(d=m.contentRef),m!=null&&m.propsEnhancers&&(r.push(m.propsEnhancers),Object.keys(m.propsEnhancers).forEach(p=>{a[p]=!0}))});const u=x=>m=>{const p={};return r.forEach(b=>{const h=b[x];h!=null&&Object.assign(p,h(m))}),p},c=Object.fromEntries(Object.keys(a).map(x=>[x,u(x)]));return{contentRef:d,rootRef:I,propsEnhancers:c}},wrapItem:({itemId:l,children:I})=>{let d=I;for(let r=e.length-1;r>=0;r-=1){const a=e[r];a.wrapItem&&(d=a.wrapItem({itemId:l,children:d,instance:t}))}return d},wrapRoot:({children:l})=>{let I=l;for(let d=e.length-1;d>=0;d-=1){const r=e[d];r.wrapRoot&&(I=r.wrapRoot({children:I,instance:t}))}return I},instance:t,rootRef:n,publicAPI:o});function no(e){const t=E.useRef({});return e?(e.current==null&&(e.current={}),e.current):t.current}const ro=({plugins:e,rootRef:t,props:o})=>{const n=[...Ht,...e],{pluginParams:i,forwardedProps:g,apiRef:f,experimentalFeatures:l,slots:I,slotProps:d}=to({plugins:n,props:o}),r=Jt(n,i),u=E.useRef({}).current,c=no(f),x=E.useRef(null),m=de.useForkRef(x,t),p=oo({plugins:n,instance:u,publicAPI:c,rootRef:x}),[b,h]=E.useState(()=>{const R={};return n.forEach(M=>{M.getInitialState&&Object.assign(R,M.getInitialState(i))}),R}),w=[],k=R=>{const M=R({instance:u,params:i,slots:I,slotProps:d,experimentalFeatures:l,state:b,setState:h,rootRef:x,models:r,plugins:n});M.getRootProps&&w.push(M.getRootProps),M.publicAPI&&Object.assign(c,M.publicAPI),M.instance&&Object.assign(u,M.instance),M.contextValue&&Object.assign(p,M.contextValue)};return n.forEach(k),{getRootProps:(R={})=>{const M=P._extends({role:"tree"},g,R,{ref:m});return w.forEach($=>{Object.assign(M,$(R))}),M},rootRef:m,contextValue:p,instance:u}},Le=E.createContext(null);process.env.NODE_ENV!=="production"&&(Le.displayName="TreeViewContext");function so(e){const{value:t,children:o}=e;return v.jsx(Le.Provider,{value:t,children:t.wrapRoot({children:o,instance:t.instance})})}const ne=()=>{const e=E.useContext(Le);if(e==null)throw new Error(["MUI X: Could not find the Tree View context.","It looks like you rendered your component outside of a SimpleTreeView or RichTreeView parent component.","This can also happen if you are bundling multiple versions of the Tree View."].join(`
5
- `));return e},io=(e,t,o)=>{e.$$publishEvent(t,o)},ie="__TREE_VIEW_ROOT_PARENT_ID__",lo=e=>{const t={};return e.forEach((o,n)=>{t[o]=n}),t},Ce=E.createContext(()=>-1);process.env.NODE_ENV!=="production"&&(Ce.displayName="TreeViewItemDepthContext");const ao=["children"],st=({items:e,isItemDisabled:t,getItemLabel:o,getItemId:n})=>{const i={},g={},f={[ie]:[]},l=(d,r,a)=>{var m,p;const u=n?n(d):d.id;if(u==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.","An item was provided without id in the `items` prop:",JSON.stringify(d)].join(`
6
- `));if(i[u]!=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: "${u}"`].join(`
7
- `));const c=o?o(d):d.label;if(c==null)throw new Error(["MUI X: The Tree View component requires all items to have a `label` property.","Alternatively, you can use the `getItemLabel` prop to specify a custom label for each item.","An item was provided without label in the `items` prop:",JSON.stringify(d)].join(`
8
- `));i[u]={id:u,label:c,parentId:a,idAttribute:void 0,expandable:!!((m=d.children)!=null&&m.length),disabled:t?t(d):!1,depth:r},g[u]=d;const x=a??ie;f[x]||(f[x]=[]),f[x].push(u),(p=d.children)==null||p.forEach(b=>l(b,r+1,u))};e.forEach(d=>l(d,0,null));const I={};return Object.keys(f).forEach(d=>{I[d]=lo(f[d])}),{itemMetaMap:i,itemMap:g,itemOrderedChildrenIds:f,itemChildrenIndexes:I}},Ie=({instance:e,params:t,state:o,setState:n,experimentalFeatures:i})=>{const g=E.useCallback(b=>o.items.itemMetaMap[b],[o.items.itemMetaMap]),f=E.useCallback(b=>o.items.itemMap[b],[o.items.itemMap]),l=E.useCallback(()=>{const b=h=>{const w=o.items.itemMap[h],k=W._objectWithoutPropertiesLoose(w,ao),C=o.items.itemOrderedChildrenIds[h];return C&&(k.children=C.map(b)),k};return o.items.itemOrderedChildrenIds[ie].map(b)},[o.items.itemMap,o.items.itemOrderedChildrenIds]),I=E.useCallback(b=>{if(b==null)return!1;let h=e.getItemMeta(b);if(!h)return!1;if(h.disabled)return!0;for(;h.parentId!=null;)if(h=e.getItemMeta(h.parentId),h.disabled)return!0;return!1},[e]),d=E.useCallback(b=>{const h=e.getItemMeta(b).parentId??ie;return o.items.itemChildrenIndexes[h][b]},[e,o.items.itemChildrenIndexes]),r=E.useCallback(b=>o.items.itemOrderedChildrenIds[b??ie]??[],[o.items.itemOrderedChildrenIds]),a=b=>{const h=e.getItemMeta(b);return h==null?null:document.getElementById(_e({treeId:o.id.treeId,itemId:b,id:h.idAttribute}))},u=b=>t.disabledItemsFocusable?!0:!e.isItemDisabled(b),c=E.useRef(!1),x=E.useCallback(()=>{c.current=!0},[]),m=E.useCallback(()=>c.current,[]);return E.useEffect(()=>{e.areItemUpdatesPrevented()||n(b=>{const h=st({items:t.items,isItemDisabled:t.isItemDisabled,getItemId:t.getItemId,getItemLabel:t.getItemLabel});return Object.values(b.items.itemMetaMap).forEach(w=>{h.itemMetaMap[w.id]||io(e,"removeItem",{id:w.id})}),P._extends({},b,{items:h})})},[e,n,t.items,t.isItemDisabled,t.getItemId,t.getItemLabel]),{getRootProps:()=>({style:{"--TreeView-itemChildrenIndentation":typeof t.itemChildrenIndentation=="number"?`${t.itemChildrenIndentation}px`:t.itemChildrenIndentation}}),publicAPI:{getItem:f,getItemDOMElement:a,getItemTree:l,getItemOrderedChildrenIds:r},instance:{getItemMeta:g,getItem:f,getItemTree:l,getItemsToRender:()=>{const b=h=>{var k;const w=o.items.itemMetaMap[h];return{label:w.label,itemId:w.id,id:w.idAttribute,children:(k=o.items.itemOrderedChildrenIds[h])==null?void 0:k.map(b)}};return o.items.itemOrderedChildrenIds[ie].map(b)},getItemIndex:d,getItemDOMElement:a,getItemOrderedChildrenIds:r,isItemDisabled:I,isItemNavigable:u,preventItemUpdates:x,areItemUpdatesPrevented:m},contextValue:{items:{onItemClick:t.onItemClick,disabledItemsFocusable:t.disabledItemsFocusable,indentationAtItemLevel:i.indentationAtItemLevel??!1}}}};Ie.getInitialState=e=>({items:st({items:e.items,isItemDisabled:e.isItemDisabled,getItemId:e.getItemId,getItemLabel:e.getItemLabel})});Ie.getDefaultizedParams=({params:e})=>P._extends({},e,{disabledItemsFocusable:e.disabledItemsFocusable??!1,itemChildrenIndentation:e.itemChildrenIndentation??"12px"});Ie.wrapRoot=({children:e,instance:t})=>v.jsx(Ce.Provider,{value:o=>{var n;return((n=t.getItemMeta(o))==null?void 0:n.depth)??0},children:e});Ie.params={disabledItemsFocusable:!0,items:!0,isItemDisabled:!0,getItemLabel:!0,getItemId:!0,onItemClick:!0,itemChildrenIndentation:!0};const Ee=({instance:e,params:t,models:o})=>{const n=E.useMemo(()=>{const a=new Map;return o.expandedItems.value.forEach(u=>{a.set(u,!0)}),a},[o.expandedItems.value]),i=(a,u)=>{var c;(c=t.onExpandedItemsChange)==null||c.call(t,a,u),o.expandedItems.setControlledValue(u)},g=E.useCallback(a=>n.has(a),[n]),f=E.useCallback(a=>{var u;return!!((u=e.getItemMeta(a))!=null&&u.expandable)},[e]),l=le.useEventCallback((a,u)=>{const c=e.isItemExpanded(u);e.setItemExpansion(a,u,!c)}),I=le.useEventCallback((a,u,c)=>{if(e.isItemExpanded(u)===c)return;let m;c?m=[u].concat(o.expandedItems.value):m=o.expandedItems.value.filter(p=>p!==u),t.onItemExpansionToggle&&t.onItemExpansionToggle(a,u,c),i(a,m)}),d=(a,u)=>{const c=e.getItemMeta(u),m=e.getItemOrderedChildrenIds(c.parentId).filter(b=>e.isItemExpandable(b)&&!e.isItemExpanded(b)),p=o.expandedItems.value.concat(m);m.length>0&&(t.onItemExpansionToggle&&m.forEach(b=>{t.onItemExpansionToggle(a,b,!0)}),i(a,p))},r=E.useMemo(()=>t.expansionTrigger?t.expansionTrigger:e.isTreeViewEditable?"iconContainer":"content",[t.expansionTrigger,e.isTreeViewEditable]);return{publicAPI:{setItemExpansion:I},instance:{isItemExpanded:g,isItemExpandable:f,setItemExpansion:I,toggleItemExpansion:l,expandAllSiblings:d},contextValue:{expansion:{expansionTrigger:r}}}};Ee.models={expandedItems:{getDefaultValue:e=>e.defaultExpandedItems}};const co=[];Ee.getDefaultizedParams=({params:e})=>P._extends({},e,{defaultExpandedItems:e.defaultExpandedItems??co});Ee.params={expandedItems:!0,defaultExpandedItems:!0,onExpandedItemsChange:!0,onItemExpansionToggle:!0,expansionTrigger:!0};const it=(e,t)=>{let o=t.length-1;for(;o>=0&&!e.isItemNavigable(t[o]);)o-=1;if(o!==-1)return t[o]},lt=(e,t)=>{const o=e.getItemMeta(t),n=e.getItemOrderedChildrenIds(o.parentId),i=e.getItemIndex(t);if(i===0)return o.parentId;let g=i-1;for(;!e.isItemNavigable(n[g])&&g>=0;)g-=1;if(g===-1)return o.parentId==null?null:lt(e,o.parentId);let f=n[g],l=it(e,e.getItemOrderedChildrenIds(f));for(;e.isItemExpanded(f)&&l!=null;)f=l,l=e.getItemOrderedChildrenIds(f).find(e.isItemNavigable);return f},ye=(e,t)=>{if(e.isItemExpanded(t)){const n=e.getItemOrderedChildrenIds(t).find(e.isItemNavigable);if(n!=null)return n}let o=e.getItemMeta(t);for(;o!=null;){const n=e.getItemOrderedChildrenIds(o.parentId),i=e.getItemIndex(o.id);if(i<n.length-1){let g=i+1;for(;!e.isItemNavigable(n[g])&&g<n.length-1;)g+=1;if(e.isItemNavigable(n[g]))return n[g]}o=e.getItemMeta(o.parentId)}return null},at=e=>{let t=null;for(;t==null||e.isItemExpanded(t);){const o=e.getItemOrderedChildrenIds(t),n=it(e,o);if(n==null)return t;t=n}return t},ue=e=>e.getItemOrderedChildrenIds(null).find(e.isItemNavigable),ct=(e,t,o)=>{if(t===o)return[t,o];const n=e.getItemMeta(t),i=e.getItemMeta(o);if(n.parentId===i.id||i.parentId===n.id)return i.parentId===n.id?[n.id,i.id]:[i.id,n.id];const g=[n.id],f=[i.id];let l=n.parentId,I=i.parentId,d=f.indexOf(l)!==-1,r=g.indexOf(I)!==-1,a=!0,u=!0;for(;!r&&!d;)a&&(g.push(l),d=f.indexOf(l)!==-1,a=l!==null,!d&&a&&(l=e.getItemMeta(l).parentId)),u&&!d&&(f.push(I),r=g.indexOf(I)!==-1,u=I!==null,!r&&u&&(I=e.getItemMeta(I).parentId));const c=d?l:I,x=e.getItemOrderedChildrenIds(c),m=g[g.indexOf(c)-1],p=f[f.indexOf(c)-1];return x.indexOf(m)<x.indexOf(p)?[t,o]:[o,t]},uo=(e,t,o)=>{const n=I=>{if(e.isItemExpandable(I)&&e.isItemExpanded(I))return e.getItemOrderedChildrenIds(I)[0];let d=e.getItemMeta(I);for(;d!=null;){const r=e.getItemOrderedChildrenIds(d.parentId),a=e.getItemIndex(d.id);if(a<r.length-1)return r[a+1];d=e.getItemMeta(d.parentId)}throw new Error("Invalid range")},[i,g]=ct(e,t,o),f=[i];let l=i;for(;l!==g;)l=n(l),e.isItemDisabled(l)||f.push(l);return f},po=e=>{let t=ue(e);const o=[];for(;t!=null;)o.push(t),t=ye(e,t);return o},pe=(e,t)=>t!==e.closest('*[role="treeitem"]'),Te=e=>Array.isArray(e)?e:e!=null?[e]:[],Me=e=>{const t={};return e.forEach(o=>{t[o]=!0}),t},we=({instance:e,params:t,models:o})=>{const n=E.useRef(null),i=E.useRef({}),g=E.useMemo(()=>{const m=new Map;return Array.isArray(o.selectedItems.value)?o.selectedItems.value.forEach(p=>{m.set(p,!0)}):o.selectedItems.value!=null&&m.set(o.selectedItems.value,!0),m},[o.selectedItems.value]),f=(m,p)=>{if(t.onItemSelectionToggle)if(t.multiSelect){const b=p.filter(w=>!e.isItemSelected(w)),h=o.selectedItems.value.filter(w=>!p.includes(w));b.forEach(w=>{t.onItemSelectionToggle(m,w,!0)}),h.forEach(w=>{t.onItemSelectionToggle(m,w,!1)})}else p!==o.selectedItems.value&&(o.selectedItems.value!=null&&t.onItemSelectionToggle(m,o.selectedItems.value,!1),p!=null&&t.onItemSelectionToggle(m,p,!0));t.onSelectedItemsChange&&t.onSelectedItemsChange(m,p),o.selectedItems.setControlledValue(p)},l=m=>g.has(m),I=({event:m,itemId:p,keepExistingSelection:b=!1,shouldBeSelected:h})=>{if(t.disableSelection)return;let w;if(b){const k=Te(o.selectedItems.value),C=e.isItemSelected(p);C&&(h===!1||h==null)?w=k.filter(R=>R!==p):!C&&(h===!0||h==null)?w=[p].concat(k):w=k}else h===!1||h==null&&e.isItemSelected(p)?w=t.multiSelect?[]:null:w=t.multiSelect?[p]:p;f(m,w),n.current=p,i.current={}},d=(m,[p,b])=>{if(t.disableSelection||!t.multiSelect)return;let h=Te(o.selectedItems.value).slice();Object.keys(i.current).length>0&&(h=h.filter(R=>!i.current[R]));const w=Me(h),k=uo(e,p,b),C=k.filter(R=>!w[R]);h=h.concat(C),f(m,h),i.current=Me(k)};return{getRootProps:()=>({"aria-multiselectable":t.multiSelect}),publicAPI:{selectItem:I},instance:{isItemSelected:l,selectItem:I,selectAllNavigableItems:m=>{if(t.disableSelection||!t.multiSelect)return;const p=po(e);f(m,p),i.current=Me(p)},expandSelectionRange:(m,p)=>{if(n.current!=null){const[b,h]=ct(e,p,n.current);d(m,[b,h])}},selectRangeFromStartToItem:(m,p)=>{d(m,[ue(e),p])},selectRangeFromItemToEnd:(m,p)=>{d(m,[p,at(e)])},selectItemFromArrowNavigation:(m,p,b)=>{if(t.disableSelection||!t.multiSelect)return;let h=Te(o.selectedItems.value).slice();Object.keys(i.current).length===0?(h.push(b),i.current={[p]:!0,[b]:!0}):(i.current[p]||(i.current={}),i.current[b]?(h=h.filter(w=>w!==p),delete i.current[p]):(h.push(b),i.current[b]=!0)),f(m,h)}},contextValue:{selection:{multiSelect:t.multiSelect,checkboxSelection:t.checkboxSelection,disableSelection:t.disableSelection}}}};we.models={selectedItems:{getDefaultValue:e=>e.defaultSelectedItems}};const fo=[];we.getDefaultizedParams=({params:e})=>P._extends({},e,{disableSelection:e.disableSelection??!1,multiSelect:e.multiSelect??!1,checkboxSelection:e.checkboxSelection??!1,defaultSelectedItems:e.defaultSelectedItems??(e.multiSelect?fo:null)});we.params={disableSelection:!0,multiSelect:!0,checkboxSelection:!0,defaultSelectedItems:!0,selectedItems:!0,onSelectedItemsChange:!0,onItemSelectionToggle:!0};const Ye=1e3;class Io{constructor(t=Ye){this.timeouts=new Map,this.cleanupTimeout=Ye,this.cleanupTimeout=t}register(t,o,n){this.timeouts||(this.timeouts=new Map);const i=setTimeout(()=>{typeof o=="function"&&o(),this.timeouts.delete(n.cleanupToken)},this.cleanupTimeout);this.timeouts.set(n.cleanupToken,i)}unregister(t){const o=this.timeouts.get(t.cleanupToken);o&&(this.timeouts.delete(t.cleanupToken),clearTimeout(o))}reset(){this.timeouts&&(this.timeouts.forEach((t,o)=>{this.unregister({cleanupToken:o})}),this.timeouts=void 0)}}class mo{constructor(){this.registry=new FinalizationRegistry(t=>{typeof t=="function"&&t()})}register(t,o,n){this.registry.register(t,o,n)}unregister(t){this.registry.unregister(t)}reset(){}}class go{}function bo(e){let t=0;return function(n,i,g){e.registry===null&&(e.registry=typeof FinalizationRegistry<"u"?new mo:new Io);const[f]=E.useState(new go),l=E.useRef(null),I=E.useRef(void 0);I.current=g;const d=E.useRef(null);if(!l.current&&I.current){const r=(a,u)=>{var c;u.defaultMuiPrevented||(c=I.current)==null||c.call(I,a,u)};l.current=n.$$subscribeEvent(i,r),t+=1,d.current={cleanupToken:t},e.registry.register(f,()=>{var a;(a=l.current)==null||a.call(l),l.current=null,d.current=null},d.current)}else!I.current&&l.current&&(l.current(),l.current=null,d.current&&(e.registry.unregister(d.current),d.current=null));E.useEffect(()=>{if(!l.current&&I.current){const r=(a,u)=>{var c;u.defaultMuiPrevented||(c=I.current)==null||c.call(I,a,u)};l.current=n.$$subscribeEvent(i,r)}return d.current&&e.registry&&(e.registry.unregister(d.current),d.current=null),()=>{var r;(r=l.current)==null||r.call(l),l.current=null}},[n,i])}}const xo={registry:null},ho=bo(xo),dt=(e=document)=>{const t=e.activeElement;return t?t.shadowRoot?dt(t.shadowRoot):t:null},yo=(e,t)=>{let o=Te(t).find(n=>{if(!e.isItemNavigable(n))return!1;const i=e.getItemMeta(n);return i&&(i.parentId==null||e.isItemExpanded(i.parentId))});return o==null&&(o=ue(e)),o},Ve=({instance:e,params:t,state:o,setState:n,models:i,rootRef:g})=>{const f=yo(e,i.selectedItems.value),l=le.useEventCallback(p=>{const b=typeof p=="function"?p(o.focusedItemId):p;o.focusedItemId!==b&&n(h=>P._extends({},h,{focusedItemId:b}))}),I=E.useCallback(()=>!!g.current&&g.current.contains(dt(qt.ownerDocument(g.current))),[g]),d=E.useCallback(p=>o.focusedItemId===p&&I(),[o.focusedItemId,I]),r=p=>{const b=e.getItemMeta(p);return b&&(b.parentId==null||e.isItemExpanded(b.parentId))},a=(p,b)=>{const h=e.getItemDOMElement(b);h&&h.focus(),l(b),t.onItemFocus&&t.onItemFocus(p,b)},u=le.useEventCallback((p,b)=>{r(b)&&a(p,b)}),c=le.useEventCallback(()=>{if(o.focusedItemId==null)return;if(e.getItemMeta(o.focusedItemId)){const b=e.getItemDOMElement(o.focusedItemId);b&&b.blur()}l(null)}),x=p=>p===f;ho(e,"removeItem",({id:p})=>{o.focusedItemId===p&&a(null,f)});const m=p=>b=>{var h;(h=p.onFocus)==null||h.call(p,b),!b.defaultMuiPrevented&&b.target===b.currentTarget&&a(b,f)};return{getRootProps:p=>({onFocus:m(p)}),publicAPI:{focusItem:u},instance:{isItemFocused:d,canItemBeTabbed:x,focusItem:u,removeFocusedItem:c}}};Ve.getInitialState=()=>({focusedItemId:null});Ve.params={onItemFocus:!0};const oe=(e,t)=>e.getAvailablePlugins().has(t),To=({props:e})=>{const{instance:t}=ne(),{label:o,itemId:n}=e,[i,g]=E.useState(o),f=t.isItemBeingEdited(n);return E.useEffect(()=>{f||g(o)},[f,o]),{propsEnhancers:{labelInput:({externalEventHandlers:l,interactions:I})=>t.isItemEditable(n)?{value:i??"","data-element":"labelInput",onChange:c=>{var x;(x=l.onChange)==null||x.call(l,c),g(c.target.value)},onKeyDown:c=>{var m;if((m=l.onKeyDown)==null||m.call(l,c),c.defaultMuiPrevented)return;const x=c.target;c.key==="Enter"&&x.value?I.handleSaveItemLabel(c,x.value):c.key==="Escape"&&I.handleCancelItemLabelEditing(c)},onBlur:c=>{var x;(x=l.onBlur)==null||x.call(l,c),!c.defaultMuiPrevented&&c.target.value&&I.handleSaveItemLabel(c,c.target.value)},autoFocus:!0,type:"text"}:{}}}},B=({instance:e,state:t,setState:o,params:n})=>{const i=E.useRef(t.editedItemId),g=a=>i.current===a,f=a=>{o(u=>P._extends({},u,{editedItemId:a})),i.current=a},l=a=>a===t.editedItemId,I=!!n.isItemEditable,d=a=>{if(a==null||!I)return!1;const u=e.getItem(a);return u?typeof n.isItemEditable=="function"?n.isItemEditable(u):!!n.isItemEditable:!1},r=(a,u)=>{if(!u)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(`
9
- `));o(c=>{const x=c.items.itemMetaMap[a];return x.label!==u?P._extends({},c,{items:P._extends({},c.items,{itemMetaMap:P._extends({},c.items.itemMetaMap,{[a]:P._extends({},x,{label:u})})})}):c}),n.onItemLabelChange&&n.onItemLabelChange(a,u)};return{instance:{setEditedItemId:f,isItemBeingEdited:l,updateItemLabel:r,isItemEditable:d,isTreeViewEditable:I,isItemBeingEditedRef:g},publicAPI:{updateItemLabel:r}}};B.itemPlugin=To;B.getDefaultizedParams=({params:e,experimentalFeatures:t})=>{const o=t==null?void 0:t.labelEditing;return process.env.NODE_ENV!=="production"&&e.isItemEditable&&!o&&Pe.warnOnce(["MUI X: The label editing feature requires the `labelEditing` experimental feature to be enabled.","You can do it by passing `experimentalFeatures={{ labelEditing: true}}` to the Rich Tree View Pro component.","Check the documentation for more details: https://mui.com/x/react-tree-view/rich-tree-view/editing/"]),P._extends({},e,{isItemEditable:o?e.isItemEditable??!1:!1})};B.getInitialState=()=>({editedItemId:null});B.params={onItemLabelChange:!0,isItemEditable:!0};function Po(e){return!!e&&e.length===1&&!!e.match(/\S/)}const ut=({instance:e,params:t,state:o})=>{const n=A.useRtl(),i=E.useRef({}),g=le.useEventCallback(r=>{i.current=r(i.current)});E.useEffect(()=>{if(e.areItemUpdatesPrevented())return;const r={},a=u=>{r[u.id]=u.label.substring(0,1).toLowerCase()};Object.values(o.items.itemMetaMap).forEach(a),i.current=r},[o.items.itemMetaMap,t.getItemId,e]);const f=(r,a)=>{const u=a.toLowerCase(),c=b=>{const h=ye(e,b);return h===null?ue(e):h};let x=null,m=c(r);const p={};for(;x==null&&!p[m];)i.current[m]===u?x=m:(p[m]=!0,m=c(m));return x},l=r=>!t.disableSelection&&!e.isItemDisabled(r),I=r=>!e.isItemDisabled(r)&&e.isItemExpandable(r);return{instance:{updateFirstCharMap:g,handleItemKeyDown:(r,a)=>{if(r.defaultMuiPrevented||r.altKey||pe(r.target,r.currentTarget))return;const u=r.ctrlKey||r.metaKey,c=r.key;switch(!0){case(c===" "&&l(a)):{r.preventDefault(),t.multiSelect&&r.shiftKey?e.expandSelectionRange(r,a):e.selectItem({event:r,itemId:a,keepExistingSelection:t.multiSelect,shouldBeSelected:t.multiSelect?void 0:!0});break}case c==="Enter":{oe(e,B)&&e.isItemEditable(a)&&!e.isItemBeingEdited(a)?e.setEditedItemId(a):I(a)?(e.toggleItemExpansion(r,a),r.preventDefault()):l(a)&&(t.multiSelect?(r.preventDefault(),e.selectItem({event:r,itemId:a,keepExistingSelection:!0})):e.isItemSelected(a)||(e.selectItem({event:r,itemId:a}),r.preventDefault()));break}case c==="ArrowDown":{const x=ye(e,a);x&&(r.preventDefault(),e.focusItem(r,x),t.multiSelect&&r.shiftKey&&l(x)&&e.selectItemFromArrowNavigation(r,a,x));break}case c==="ArrowUp":{const x=lt(e,a);x&&(r.preventDefault(),e.focusItem(r,x),t.multiSelect&&r.shiftKey&&l(x)&&e.selectItemFromArrowNavigation(r,a,x));break}case(c==="ArrowRight"&&!n||c==="ArrowLeft"&&n):{if(u)return;if(e.isItemExpanded(a)){const x=ye(e,a);x&&(e.focusItem(r,x),r.preventDefault())}else I(a)&&(e.toggleItemExpansion(r,a),r.preventDefault());break}case(c==="ArrowLeft"&&!n||c==="ArrowRight"&&n):{if(u)return;if(I(a)&&e.isItemExpanded(a))e.toggleItemExpansion(r,a),r.preventDefault();else{const x=e.getItemMeta(a).parentId;x&&(e.focusItem(r,x),r.preventDefault())}break}case c==="Home":{l(a)&&t.multiSelect&&u&&r.shiftKey?e.selectRangeFromStartToItem(r,a):e.focusItem(r,ue(e)),r.preventDefault();break}case c==="End":{l(a)&&t.multiSelect&&u&&r.shiftKey?e.selectRangeFromItemToEnd(r,a):e.focusItem(r,at(e)),r.preventDefault();break}case c==="*":{e.expandAllSiblings(r,a),r.preventDefault();break}case(String.fromCharCode(r.keyCode)==="A"&&u&&t.multiSelect&&!t.disableSelection):{e.selectAllNavigableItems(r),r.preventDefault();break}case(!u&&!r.shiftKey&&Po(c)):{const x=f(a,c);x!=null&&(e.focusItem(r,x),r.preventDefault());break}}}}}};ut.params={};const pt=({slots:e,slotProps:t})=>({contextValue:{icons:{slots:{collapseIcon:e.collapseIcon,expandIcon:e.expandIcon,endIcon:e.endIcon},slotProps:{collapseIcon:t.collapseIcon,expandIcon:t.expandIcon,endIcon:t.endIcon}}}});pt.params={};const Co=[Ie,Ee,we,Ve,ut,pt,B];function ft(e){const{instance:t,items:{onItemClick:o},selection:{multiSelect:n,checkboxSelection:i,disableSelection:g},expansion:{expansionTrigger:f}}=ne(),l=t.isItemExpandable(e),I=t.isItemExpanded(e),d=t.isItemFocused(e),r=t.isItemSelected(e),a=t.isItemDisabled(e),u=t!=null&&t.isItemBeingEdited?t==null?void 0:t.isItemBeingEdited(e):!1,c=t.isItemEditable?t.isItemEditable(e):!1,x=C=>{if(!a){d||t.focusItem(C,e);const R=n&&(C.shiftKey||C.ctrlKey||C.metaKey);l&&!(R&&t.isItemExpanded(e))&&t.toggleItemExpansion(C,e)}},m=C=>{a||(d||t.focusItem(C,e),n&&(C.shiftKey||C.ctrlKey||C.metaKey)?C.shiftKey?t.expandSelectionRange(C,e):t.selectItem({event:C,itemId:e,keepExistingSelection:!0}):t.selectItem({event:C,itemId:e,shouldBeSelected:!0}))},p=C=>{if(g||a)return;const R=C.nativeEvent.shiftKey;n&&R?t.expandSelectionRange(C,e):t.selectItem({event:C,itemId:e,keepExistingSelection:n,shouldBeSelected:C.target.checked})},b=C=>{(C.shiftKey||C.ctrlKey||C.metaKey||a)&&C.preventDefault()},h=()=>{oe(t,B)&&t.isItemEditable(e)&&(t.isItemBeingEdited(e)?t.setEditedItemId(null):t.setEditedItemId(e))};return{disabled:a,expanded:I,selected:r,focused:d,editable:c,editing:u,disableSelection:g,checkboxSelection:i,handleExpansion:x,handleSelection:m,handleCheckboxSelection:p,handleContentClick:o,preventSelection:b,expansionTrigger:f,toggleItemEditing:h,handleSaveItemLabel:(C,R)=>{oe(t,B)&&t.isItemBeingEditedRef(e)&&(t.updateItemLabel(e,R),h(),t.focusItem(C,e))},handleCancelItemLabelEditing:C=>{oe(t,B)&&t.isItemBeingEditedRef(e)&&(h(),t.focusItem(C,e))}}}const Eo=_.styled("div",{name:"MuiTreeItem2DragAndDropOverlay",slot:"Root",overridesResolver:(e,t)=>t.root,shouldForwardProp:e=>_.shouldForwardProp(e)&&e!=="action"})(({theme:e})=>({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:e.shape.borderRadius,backgroundColor:e.vars?`rgba(${e.vars.palette.primary.darkChannel} / ${e.vars.palette.action.focusOpacity})`:s.alpha(e.palette.primary.dark,e.palette.action.focusOpacity)}},{props:{action:"reorder-above"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))",borderTop:`1px solid ${(e.vars||e).palette.action.active}`}},{props:{action:"reorder-below"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))",borderBottom:`1px solid ${(e.vars||e).palette.action.active}`}},{props:{action:"move-to-parent"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * calc(var(--TreeView-itemDepth) - 1))",borderBottom:`1px solid ${(e.vars||e).palette.action.active}`}}]}));function Ae(e){return e.action==null?null:v.jsx(Eo,P._extends({},e))}process.env.NODE_ENV!=="production"&&(Ae.propTypes={action:s.PropTypes.oneOf(["make-child","move-to-parent","reorder-above","reorder-below"]),style:s.PropTypes.object});const It=_.styled("input",{name:"MuiTreeItem2",slot:"LabelInput",overridesResolver:(e,t)=>t.labelInput})(({theme:e})=>P._extends({},e.typography.body1,{width:"100%",backgroundColor:e.palette.background.paper,borderRadius:e.shape.borderRadius,border:"none",padding:"0 2px",boxSizing:"border-box","&:focus":{outline:`1px solid ${e.palette.primary.main}`}})),wo=["classes","className","displayIcon","expansionIcon","icon","label","itemId","onClick","onMouseDown","dragAndDropOverlayProps","labelInputProps"],Fe=E.forwardRef(function(t,o){const{classes:n,className:i,displayIcon:g,expansionIcon:f,icon:l,label:I,itemId:d,onClick:r,onMouseDown:a,dragAndDropOverlayProps:u,labelInputProps:c}=t,x=W._objectWithoutPropertiesLoose(t,wo),{disabled:m,expanded:p,selected:b,focused:h,editing:w,editable:k,disableSelection:C,checkboxSelection:R,handleExpansion:M,handleSelection:$,handleCheckboxSelection:U,handleContentClick:N,preventSelection:K,expansionTrigger:J,toggleItemEditing:q}=ft(d),z=l||f||g,G=E.useRef(null),Z=L=>{K(L),a&&a(L)},Y=L=>{var Q;N==null||N(L,d),!((Q=G.current)!=null&&Q.contains(L.target))&&(J==="content"&&M(L),R||$(L),r&&r(L))},H=L=>{L.defaultMuiPrevented||q()};return v.jsxs("div",P._extends({},x,{className:s.clsx(n.root,i,p&&n.expanded,b&&n.selected,h&&n.focused,m&&n.disabled,w&&n.editing,k&&n.editable),onClick:Y,onMouseDown:Z,ref:o,children:[v.jsx("div",{className:n.iconContainer,children:z}),R&&v.jsx(et.Checkbox,{className:n.checkbox,checked:b,onChange:U,disabled:m||C,ref:G,tabIndex:-1}),w?v.jsx(It,P._extends({},c,{className:n.labelInput})):v.jsx("div",P._extends({className:n.label},k&&{onDoubleClick:H},{children:I})),u&&v.jsx(Ae,P._extends({},u))]}))});process.env.NODE_ENV!=="production"&&(Fe.propTypes={classes:s.PropTypes.object.isRequired,className:s.PropTypes.string,displayIcon:s.PropTypes.node,dragAndDropOverlayProps:s.PropTypes.shape({action:s.PropTypes.oneOf(["make-child","move-to-parent","reorder-above","reorder-below"]),style:s.PropTypes.object}),expansionIcon:s.PropTypes.node,icon:s.PropTypes.node,itemId:s.PropTypes.string.isRequired,label:s.PropTypes.node,labelInputProps:s.PropTypes.shape({autoFocus:s.PropTypes.oneOf([!0]),"data-element":s.PropTypes.oneOf(["labelInput"]),onBlur:s.PropTypes.func,onChange:s.PropTypes.func,onKeyDown:s.PropTypes.func,type:s.PropTypes.oneOf(["text"]),value:s.PropTypes.string})});function mt(e){return s.generateUtilityClass("MuiTreeItem",e)}const X=s.generateUtilityClasses("MuiTreeItem",["root","groupTransition","content","expanded","selected","focused","disabled","iconContainer","label","checkbox","labelInput","editable","editing","dragAndDropOverlay"]),gt=fe.createSvgIcon(v.jsx("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"TreeViewExpandIcon"),bt=fe.createSvgIcon(v.jsx("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"TreeViewCollapseIcon");function ve(e){const{children:t,itemId:o}=e,{wrapItem:n,instance:i}=ne();return n({children:t,itemId:o,instance:i})}ve.propTypes={children:s.PropTypes.node,itemId:s.PropTypes.string.isRequired};const vo=["children","className","slots","slotProps","ContentComponent","ContentProps","itemId","id","label","onClick","onMouseDown","onFocus","onBlur","onKeyDown"],Ro=["ownerState"],So=["ownerState"],ko=["ownerState"],Oo=De(),Mo=e=>{const{classes:t}=e,o={root:["root"],content:["content"],expanded:["expanded"],selected:["selected"],focused:["focused"],disabled:["disabled"],iconContainer:["iconContainer"],checkbox:["checkbox"],label:["label"],labelInput:["labelInput"],editing:["editing"],editable:["editable"],groupTransition:["groupTransition"]};return _.composeClasses(o,mt,t)},Do=_.styled("li",{name:"MuiTreeItem",slot:"Root",overridesResolver:(e,t)=>t.root})({listStyle:"none",margin:0,padding:0,outline:0}),_o=_.styled(Fe,{name:"MuiTreeItem",slot:"Content",overridesResolver:(e,t)=>[t.content,t.iconContainer&&{[`& .${X.iconContainer}`]:t.iconContainer},t.label&&{[`& .${X.label}`]:t.label}],shouldForwardProp:e=>_.shouldForwardProp(e)&&e!=="indentationAtItemLevel"})(({theme:e})=>({padding:e.spacing(.5,1),borderRadius:e.shape.borderRadius,width:"100%",boxSizing:"border-box",position:"relative",display:"flex",alignItems:"center",gap:e.spacing(1),cursor:"pointer",WebkitTapHighlightColor:"transparent","&:hover":{backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${X.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity,backgroundColor:"transparent"},[`&.${X.focused}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${X.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:s.alpha(e.palette.primary.main,e.palette.action.selectedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:s.alpha(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:s.alpha(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${X.focused}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:s.alpha(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`& .${X.iconContainer}`]:{width:16,display:"flex",flexShrink:0,justifyContent:"center","& svg":{fontSize:18}},[`& .${X.label}`]:P._extends({width:"100%",boxSizing:"border-box",minWidth:0,position:"relative"},e.typography.body1),[`& .${X.checkbox}`]:{padding:0},variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:`calc(${e.spacing(1)} + var(--TreeView-itemChildrenIndentation) * var(--TreeView-itemDepth))`}}]})),jo=_.styled(He.Collapse,{name:"MuiTreeItem",slot:"GroupTransition",overridesResolver:(e,t)=>t.groupTransition,shouldForwardProp:e=>_.shouldForwardProp(e)&&e!=="indentationAtItemLevel"})({margin:0,padding:0,paddingLeft:"var(--TreeView-itemChildrenIndentation)",variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:0}}]}),xt=E.forwardRef(function(t,o){var qe,Ue,ze,We;const{icons:n,runItemPlugins:i,items:{disabledItemsFocusable:g,indentationAtItemLevel:f},selection:{disableSelection:l},expansion:{expansionTrigger:I},treeId:d,instance:r}=ne(),a=E.useContext(Ce),u=Oo({props:t,name:"MuiTreeItem"}),{children:c,className:x,slots:m,slotProps:p,ContentComponent:b=Fe,ContentProps:h,itemId:w,id:k,label:C,onClick:R,onMouseDown:M,onBlur:$,onKeyDown:U}=u,N=W._objectWithoutPropertiesLoose(u,vo),{expanded:K,focused:J,selected:q,disabled:z,editing:G,handleExpansion:Z,handleCancelItemLabelEditing:Y,handleSaveItemLabel:H}=ft(w);process.env.NODE_ENV!=="production"&&(u.ContentComponent&&Pe.warnOnce(["MUI X: The ContentComponent prop of the TreeItem component is deprecated and will be removed in the next major release.","You can use the new TreeItem2 component or the new useTreeItem2 hook to customize the rendering of the content.","For more detail, see https://mui.com/x/react-tree-view/tree-item-customization/."]),u.ContentProps&&Pe.warnOnce(["MUI X: The ContentProps prop of the TreeItem component is deprecated and will be removed in the next major release.","You can use the new TreeItem2 component or the new useTreeItem2 hook to customize the rendering of the content.","For more detail, see https://mui.com/x/react-tree-view/tree-item-customization/."]));const{contentRef:L,rootRef:Q,propsEnhancers:V}=i(u),ee=E.useRef(null),Re=E.useRef(null),Ne=de.useForkRef(o,Q,ee),$e=de.useForkRef(h==null?void 0:h.ref,L,Re),re={expandIcon:(m==null?void 0:m.expandIcon)??n.slots.expandIcon??gt,collapseIcon:(m==null?void 0:m.collapseIcon)??n.slots.collapseIcon??bt,endIcon:(m==null?void 0:m.endIcon)??n.slots.endIcon,icon:m==null?void 0:m.icon,groupTransition:m==null?void 0:m.groupTransition},Se=O=>Array.isArray(O)?O.length>0&&O.some(Se):!!O,ae=Se(c),me=P._extends({},u,{expanded:K,focused:J,selected:q,disabled:z,indentationAtItemLevel:f}),T=Mo(me),y=re.groupTransition??void 0,S=A.useSlotProps({elementType:y,ownerState:{},externalSlotProps:p==null?void 0:p.groupTransition,additionalProps:P._extends({unmountOnExit:!0,in:K,component:"ul",role:"group"},f?{indentationAtItemLevel:!0}:{}),className:T.groupTransition}),D=O=>{I==="iconContainer"&&Z(O)},F=K?re.collapseIcon:re.expandIcon,te=A.useSlotProps({elementType:F,ownerState:{},externalSlotProps:O=>K?P._extends({},j.resolveComponentProps(n.slotProps.collapseIcon,O),j.resolveComponentProps(p==null?void 0:p.collapseIcon,O)):P._extends({},j.resolveComponentProps(n.slotProps.expandIcon,O),j.resolveComponentProps(p==null?void 0:p.expandIcon,O)),additionalProps:{onClick:D}}),ge=W._objectWithoutPropertiesLoose(te,Ro),be=ae&&F?v.jsx(F,P._extends({},ge)):null,ke=ae?void 0:re.endIcon,kt=A.useSlotProps({elementType:ke,ownerState:{},externalSlotProps:O=>ae?{}:P._extends({},j.resolveComponentProps(n.slotProps.endIcon,O),j.resolveComponentProps(p==null?void 0:p.endIcon,O))}),Ot=W._objectWithoutPropertiesLoose(kt,So),Mt=ke?v.jsx(ke,P._extends({},Ot)):null,Oe=re.icon,Dt=A.useSlotProps({elementType:Oe,ownerState:{},externalSlotProps:p==null?void 0:p.icon}),_t=W._objectWithoutPropertiesLoose(Dt,ko),jt=Oe?v.jsx(Oe,P._extends({},_t)):null;let xe;q?xe=!0:l||z?xe=void 0:xe=!1;function Lt(O){!J&&(!z||g)&&O.currentTarget===O.target&&r.focusItem(O,w)}function Vt(O){var se,ce,Ge,Xe;$==null||$(O),!(G||O.relatedTarget&&pe(O.relatedTarget,ee.current)&&(O.target&&((ce=(se=O.target)==null?void 0:se.dataset)==null?void 0:ce.element)==="labelInput"&&pe(O.target,ee.current)||((Xe=(Ge=O.relatedTarget)==null?void 0:Ge.dataset)==null?void 0:Xe.element)==="labelInput"))&&r.removeFocusedItem()}const At=O=>{var se,ce;U==null||U(O),((ce=(se=O.target)==null?void 0:se.dataset)==null?void 0:ce.element)!=="labelInput"&&r.handleItemKeyDown(O,w)},Ft=_e({itemId:w,treeId:d,id:k}),Nt=r.canItemBeTabbed(w)?0:-1,he={rootRefObject:ee,contentRefObject:Re,interactions:{handleSaveItemLabel:H,handleCancelItemLabelEditing:Y}},$t=((qe=V.root)==null?void 0:qe.call(V,P._extends({},he,{externalEventHandlers:j.extractEventHandlers(N)})))??{},Kt=((Ue=V.content)==null?void 0:Ue.call(V,P._extends({},he,{externalEventHandlers:j.extractEventHandlers(h)})))??{},Ke=((ze=V.dragAndDropOverlay)==null?void 0:ze.call(V,P._extends({},he,{externalEventHandlers:{}})))??{},Be=((We=V.labelInput)==null?void 0:We.call(V,P._extends({},he,{externalEventHandlers:{}})))??{};return v.jsx(ve,{itemId:w,children:v.jsxs(Do,P._extends({className:s.clsx(T.root,x),role:"treeitem","aria-expanded":ae?K:void 0,"aria-selected":xe,"aria-disabled":z||void 0,id:Ft,tabIndex:Nt},N,{ownerState:me,onFocus:Lt,onBlur:Vt,onKeyDown:At,ref:Ne,style:f?P._extends({},N.style,{"--TreeView-itemDepth":typeof a=="function"?a(w):a}):N.style},$t,{children:[v.jsx(_o,P._extends({as:b,classes:{root:T.content,expanded:T.expanded,selected:T.selected,focused:T.focused,disabled:T.disabled,editable:T.editable,editing:T.editing,iconContainer:T.iconContainer,label:T.label,labelInput:T.labelInput,checkbox:T.checkbox},label:C,itemId:w,onClick:R,onMouseDown:M,icon:jt,expansionIcon:be,displayIcon:Mt,ownerState:me},h,Kt,Ke.action==null?{}:{dragAndDropOverlayProps:Ke},Be.value==null?{}:{labelInputProps:Be},{ref:$e})),c&&v.jsx(jo,P._extends({as:y},S,{children:c}))]}))})});process.env.NODE_ENV!=="production"&&(xt.propTypes={children:s.PropTypes.node,classes:s.PropTypes.object,className:s.PropTypes.string,ContentComponent:Ut.elementTypeAcceptingRef,ContentProps:s.PropTypes.object,disabled:s.PropTypes.bool,itemId:s.PropTypes.string.isRequired,label:s.PropTypes.node,onFocus:tt.unsupportedProp,onKeyDown:s.PropTypes.func,slotProps:s.PropTypes.object,slots:s.PropTypes.object,sx:s.PropTypes.oneOfType([s.PropTypes.arrayOf(s.PropTypes.oneOfType([s.PropTypes.func,s.PropTypes.object,s.PropTypes.bool])),s.PropTypes.func,s.PropTypes.object])});const Lo=["ownerState"];function Vo({slots:e,slotProps:t,label:o,id:n,itemId:i,itemsToRender:g}){const f=(e==null?void 0:e.item)??xt,l=A.useSlotProps({elementType:f,externalSlotProps:t==null?void 0:t.item,additionalProps:{itemId:i,id:n,label:o},ownerState:{itemId:i,label:o}}),I=W._objectWithoutPropertiesLoose(l,Lo),d=E.useMemo(()=>g?v.jsx(ht,{itemsToRender:g,slots:e,slotProps:t}):null,[g,e,t]);return v.jsx(f,P._extends({},I,{children:d}))}function ht(e){const{itemsToRender:t,slots:o,slotProps:n}=e;return v.jsx(E.Fragment,{children:t.map(i=>v.jsx(Vo,{slots:o,slotProps:n,label:i.label,id:i.id,itemId:i.itemId,itemsToRender:i.children},i.itemId))})}const Ao=De(),Fo=e=>{const{classes:t}=e,o={root:["root"]};return _.composeClasses(o,Xt,t)},No=_.styled("ul",{name:"MuiRichTreeView",slot:"Root",overridesResolver:(e,t)=>t.root})({padding:0,margin:0,listStyle:"none",outline:0,position:"relative"}),yt=E.forwardRef(function(t,o){const n=Ao({props:t,name:"MuiRichTreeView"});process.env.NODE_ENV!=="production"&&n.children!=null&&Pe.warnOnce(["MUI X: The Rich Tree View component does not support JSX children.","If you want to add items, you need to use the `items` prop.","Check the documentation for more details: https://mui.com/x/react-tree-view/rich-tree-view/items/."]);const{getRootProps:i,contextValue:g,instance:f}=ro({plugins:Co,rootRef:o,props:n}),{slots:l,slotProps:I}=n,d=Fo(n),r=(l==null?void 0:l.root)??No,a=A.useSlotProps({elementType:r,externalSlotProps:I==null?void 0:I.root,className:d.root,getSlotProps:i,ownerState:n});return v.jsx(so,{value:g,children:v.jsx(r,P._extends({},a,{children:v.jsx(ht,{slots:l,slotProps:I,itemsToRender:f.getItemsToRender()})}))})});process.env.NODE_ENV!=="production"&&(yt.propTypes={apiRef:s.PropTypes.shape({current:s.PropTypes.shape({focusItem:s.PropTypes.func.isRequired,getItem:s.PropTypes.func.isRequired,getItemDOMElement:s.PropTypes.func.isRequired,getItemOrderedChildrenIds:s.PropTypes.func.isRequired,getItemTree:s.PropTypes.func.isRequired,selectItem:s.PropTypes.func.isRequired,setItemExpansion:s.PropTypes.func.isRequired,updateItemLabel:s.PropTypes.func.isRequired})}),checkboxSelection:s.PropTypes.bool,classes:s.PropTypes.object,className:s.PropTypes.string,defaultExpandedItems:s.PropTypes.arrayOf(s.PropTypes.string),defaultSelectedItems:s.PropTypes.any,disabledItemsFocusable:s.PropTypes.bool,disableSelection:s.PropTypes.bool,expandedItems:s.PropTypes.arrayOf(s.PropTypes.string),expansionTrigger:s.PropTypes.oneOf(["content","iconContainer"]),experimentalFeatures:s.PropTypes.shape({indentationAtItemLevel:s.PropTypes.bool,labelEditing:s.PropTypes.bool}),getItemId:s.PropTypes.func,getItemLabel:s.PropTypes.func,id:s.PropTypes.string,isItemDisabled:s.PropTypes.func,isItemEditable:s.PropTypes.oneOfType([s.PropTypes.func,s.PropTypes.bool]),itemChildrenIndentation:s.PropTypes.oneOfType([s.PropTypes.number,s.PropTypes.string]),items:s.PropTypes.array.isRequired,multiSelect:s.PropTypes.bool,onExpandedItemsChange:s.PropTypes.func,onItemClick:s.PropTypes.func,onItemExpansionToggle:s.PropTypes.func,onItemFocus:s.PropTypes.func,onItemLabelChange:s.PropTypes.func,onItemSelectionToggle:s.PropTypes.func,onSelectedItemsChange:s.PropTypes.func,selectedItems:s.PropTypes.any,slotProps:s.PropTypes.object,slots:s.PropTypes.object,sx:s.PropTypes.oneOfType([s.PropTypes.arrayOf(s.PropTypes.oneOfType([s.PropTypes.func,s.PropTypes.object,s.PropTypes.bool])),s.PropTypes.func,s.PropTypes.object])});const Tt=e=>Array.isArray(e)?e.length>0&&e.some(Tt):!!e,$o=({itemId:e,children:t})=>{const{instance:o,selection:{multiSelect:n},publicAPI:i}=ne(),g={expandable:Tt(t),expanded:o.isItemExpanded(e),focused:o.isItemFocused(e),selected:o.isItemSelected(e),disabled:o.isItemDisabled(e),editing:o!=null&&o.isItemBeingEdited?o==null?void 0:o.isItemBeingEdited(e):!1,editable:o.isItemEditable?o.isItemEditable(e):!1},f=c=>{if(g.disabled)return;g.focused||o.focusItem(c,e);const x=n&&(c.shiftKey||c.ctrlKey||c.metaKey);g.expandable&&!(x&&o.isItemExpanded(e))&&o.toggleItemExpansion(c,e)},l=c=>{if(g.disabled)return;g.focused||o.focusItem(c,e),n&&(c.shiftKey||c.ctrlKey||c.metaKey)?c.shiftKey?o.expandSelectionRange(c,e):o.selectItem({event:c,itemId:e,keepExistingSelection:!0}):o.selectItem({event:c,itemId:e,shouldBeSelected:!0})},I=c=>{const x=c.nativeEvent.shiftKey;n&&x?o.expandSelectionRange(c,e):o.selectItem({event:c,itemId:e,keepExistingSelection:n,shouldBeSelected:c.target.checked})},d=()=>{oe(o,B)&&o.isItemEditable(e)&&(o.isItemBeingEdited(e)?o.setEditedItemId(null):o.setEditedItemId(e))};return{interactions:{handleExpansion:f,handleSelection:l,handleCheckboxSelection:I,toggleItemEditing:d,handleSaveItemLabel:(c,x)=>{oe(o,B)&&o.isItemBeingEditedRef(e)&&(o.updateItemLabel(e,x),d(),o.focusItem(c,e))},handleCancelItemLabelEditing:c=>{oe(o,B)&&o.isItemBeingEditedRef(e)&&(d(),o.focusItem(c,e))}},status:g,publicAPI:i}},Ko=e=>{const{runItemPlugins:t,items:{onItemClick:o,disabledItemsFocusable:n,indentationAtItemLevel:i},selection:{disableSelection:g,checkboxSelection:f},expansion:{expansionTrigger:l},treeId:I,instance:d,publicAPI:r}=ne(),a=E.useContext(Ce),{id:u,itemId:c,label:x,children:m,rootRef:p}=e,{rootRef:b,contentRef:h,propsEnhancers:w}=t(e),{interactions:k,status:C}=$o({itemId:c,children:m}),R=E.useRef(null),M=E.useRef(null),$=de.useForkRef(p,b,R),U=de.useForkRef(h,M),N=E.useRef(null),K=_e({itemId:c,treeId:I,id:u}),J=d.canItemBeTabbed(c)?0:-1,q={rootRefObject:R,contentRefObject:M,interactions:k},z=T=>y=>{var D;if((D=T.onFocus)==null||D.call(T,y),y.defaultMuiPrevented)return;const S=!C.disabled||n;!C.focused&&S&&y.currentTarget===y.target&&d.focusItem(y,c)},G=T=>y=>{var D,F,te,ge,be;if((D=T.onBlur)==null||D.call(T,y),y.defaultMuiPrevented)return;const S=d.getItemDOMElement(c);C.editing||y.relatedTarget&&pe(y.relatedTarget,S)&&(y.target&&((te=(F=y.target)==null?void 0:F.dataset)==null?void 0:te.element)==="labelInput"&&pe(y.target,S)||((be=(ge=y.relatedTarget)==null?void 0:ge.dataset)==null?void 0:be.element)==="labelInput")||d.removeFocusedItem()},Z=T=>y=>{var S,D,F;(S=T.onKeyDown)==null||S.call(T,y),!(y.defaultMuiPrevented||((F=(D=y.target)==null?void 0:D.dataset)==null?void 0:F.element)==="labelInput")&&d.handleItemKeyDown(y,c)},Y=T=>y=>{var S;(S=T.onDoubleClick)==null||S.call(T,y),!y.defaultMuiPrevented&&k.toggleItemEditing()},H=T=>y=>{var S,D;(S=T.onClick)==null||S.call(T,y),o==null||o(y,c),!(y.defaultMuiPrevented||(D=N.current)!=null&&D.contains(y.target))&&(l==="content"&&k.handleExpansion(y),f||k.handleSelection(y))},L=T=>y=>{var S;(S=T.onMouseDown)==null||S.call(T,y),!y.defaultMuiPrevented&&(y.shiftKey||y.ctrlKey||y.metaKey||C.disabled)&&y.preventDefault()},Q=T=>y=>{var S;(S=T.onChange)==null||S.call(T,y),!y.defaultMuiPrevented&&(g||C.disabled||k.handleCheckboxSelection(y))},V=T=>y=>{var S;(S=T.onClick)==null||S.call(T,y),!y.defaultMuiPrevented&&l==="iconContainer"&&k.handleExpansion(y)};return{getRootProps:(T={})=>{var te;const y=P._extends({},j.extractEventHandlers(e),j.extractEventHandlers(T));let S;C.selected?S=!0:g||C.disabled?S=void 0:S=!1;const D=P._extends({},y,{ref:$,role:"treeitem",tabIndex:J,id:K,"aria-expanded":C.expandable?C.expanded:void 0,"aria-selected":S,"aria-disabled":C.disabled||void 0},T,{onFocus:z(y),onBlur:G(y),onKeyDown:Z(y)});i&&(D.style={"--TreeView-itemDepth":typeof a=="function"?a(c):a});const F=((te=w.root)==null?void 0:te.call(w,P._extends({},q,{externalEventHandlers:y})))??{};return P._extends({},D,F)},getContentProps:(T={})=>{var F;const y=j.extractEventHandlers(T),S=P._extends({},y,T,{ref:U,onClick:H(y),onMouseDown:L(y),status:C});i&&(S.indentationAtItemLevel=!0);const D=((F=w.content)==null?void 0:F.call(w,P._extends({},q,{externalEventHandlers:y})))??{};return P._extends({},S,D)},getGroupTransitionProps:(T={})=>{const y=j.extractEventHandlers(T),S=P._extends({},y,{unmountOnExit:!0,component:"ul",role:"group",in:C.expanded,children:m},T);return i&&(S.indentationAtItemLevel=!0),S},getIconContainerProps:(T={})=>{const y=j.extractEventHandlers(T);return P._extends({},y,T,{onClick:V(y)})},getCheckboxProps:(T={})=>{const y=j.extractEventHandlers(T);return P._extends({},y,{visible:f,ref:N,checked:C.selected,disabled:g||C.disabled,tabIndex:-1},T,{onChange:Q(y)})},getLabelProps:(T={})=>{const y=P._extends({},j.extractEventHandlers(T)),S=P._extends({},y,{children:x},T,{onDoubleClick:Y(y)});return d.isTreeViewEditable&&(S.editable=C.editable),S},getLabelInputProps:(T={})=>{var D;const y=j.extractEventHandlers(T),S=((D=w.labelInput)==null?void 0:D.call(w,{rootRefObject:R,contentRefObject:M,externalEventHandlers:y,interactions:k}))??{};return P._extends({},T,S)},getDragAndDropOverlayProps:(T={})=>{var D;const y=j.extractEventHandlers(T),S=((D=w.dragAndDropOverlay)==null?void 0:D.call(w,P._extends({},q,{externalEventHandlers:y})))??{};return P._extends({},T,S)},rootRef:$,status:C,publicAPI:r}},Pt=Ko;function Ct(e){const{slots:t,slotProps:o,status:n}=e,i=ne(),g=P._extends({},i.icons.slots,{expandIcon:i.icons.slots.expandIcon??gt,collapseIcon:i.icons.slots.collapseIcon??bt}),f=i.icons.slotProps;let l;t!=null&&t.icon?l="icon":n.expandable?n.expanded?l="collapseIcon":l="expandIcon":l="endIcon";const I=(t==null?void 0:t[l])??g[l],d=A.useSlotProps({elementType:I,externalSlotProps:r=>P._extends({},j.resolveComponentProps(f[l],r),j.resolveComponentProps(o==null?void 0:o[l],r)),ownerState:{}});return I?v.jsx(I,P._extends({},d)):null}process.env.NODE_ENV!=="production"&&(Ct.propTypes={slotProps:s.PropTypes.object,slots:s.PropTypes.object,status:s.PropTypes.shape({disabled:s.PropTypes.bool.isRequired,editable:s.PropTypes.bool.isRequired,editing:s.PropTypes.bool.isRequired,expandable:s.PropTypes.bool.isRequired,expanded:s.PropTypes.bool.isRequired,focused:s.PropTypes.bool.isRequired,selected:s.PropTypes.bool.isRequired}).isRequired});const Bo=["visible"],qo=["id","itemId","label","disabled","children","slots","slotProps"],Uo=De(),Et=_.styled("li",{name:"MuiTreeItem2",slot:"Root",overridesResolver:(e,t)=>t.root})({listStyle:"none",margin:0,padding:0,outline:0}),wt=_.styled("div",{name:"MuiTreeItem2",slot:"Content",overridesResolver:(e,t)=>t.content,shouldForwardProp:e=>_.shouldForwardProp(e)&&e!=="status"&&e!=="indentationAtItemLevel"})(({theme:e})=>({padding:e.spacing(.5,1),borderRadius:e.shape.borderRadius,width:"100%",boxSizing:"border-box",position:"relative",display:"flex",alignItems:"center",gap:e.spacing(1),cursor:"pointer",WebkitTapHighlightColor:"transparent","&:hover":{backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:`calc(${e.spacing(1)} + var(--TreeView-itemChildrenIndentation) * var(--TreeView-itemDepth))`}},{props:({status:t})=>t.disabled,style:{opacity:(e.vars||e).palette.action.disabledOpacity,backgroundColor:"transparent"}},{props:({status:t})=>t.focused,style:{backgroundColor:(e.vars||e).palette.action.focus}},{props:({status:t})=>t.selected,style:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:s.alpha(e.palette.primary.main,e.palette.action.selectedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:s.alpha(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:s.alpha(e.palette.primary.main,e.palette.action.selectedOpacity)}}}},{props:({status:t})=>t.selected&&t.focused,style:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:s.alpha(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}}]})),vt=_.styled("div",{name:"MuiTreeItem2",slot:"Label",overridesResolver:(e,t)=>t.label,shouldForwardProp:e=>_.shouldForwardProp(e)&&e!=="editable"})(({theme:e})=>P._extends({width:"100%",boxSizing:"border-box",minWidth:0,position:"relative",overflow:"hidden"},e.typography.body1,{variants:[{props:({editable:t})=>t,style:{paddingLeft:"2px"}}]})),Rt=_.styled("div",{name:"MuiTreeItem2",slot:"IconContainer",overridesResolver:(e,t)=>t.iconContainer})({width:16,display:"flex",flexShrink:0,justifyContent:"center","& svg":{fontSize:18}}),St=_.styled(He.Collapse,{name:"MuiTreeItem2",slot:"GroupTransition",overridesResolver:(e,t)=>t.groupTransition,shouldForwardProp:e=>_.shouldForwardProp(e)&&e!=="indentationAtItemLevel"})({margin:0,padding:0,paddingLeft:"var(--TreeView-itemChildrenIndentation)",variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:0}}]}),zo=_.styled(E.forwardRef((e,t)=>{const{visible:o}=e,n=W._objectWithoutPropertiesLoose(e,Bo);return o?v.jsx(et.Checkbox,P._extends({},n,{ref:t})):null}),{name:"MuiTreeItem2",slot:"Checkbox",overridesResolver:(e,t)=>t.checkbox})({padding:0}),Wo=e=>{const{classes:t}=e,o={root:["root"],content:["content"],expanded:["expanded"],editing:["editing"],editable:["editable"],selected:["selected"],focused:["focused"],disabled:["disabled"],iconContainer:["iconContainer"],checkbox:["checkbox"],label:["label"],groupTransition:["groupTransition"],labelInput:["labelInput"],dragAndDropOverlay:["dragAndDropOverlay"]};return _.composeClasses(o,mt,t)},Go=E.forwardRef(function(t,o){const n=Uo({props:t,name:"MuiTreeItem2"}),{id:i,itemId:g,label:f,disabled:l,children:I,slots:d={},slotProps:r={}}=n,a=W._objectWithoutPropertiesLoose(n,qo),{getRootProps:u,getContentProps:c,getIconContainerProps:x,getCheckboxProps:m,getLabelProps:p,getGroupTransitionProps:b,getLabelInputProps:h,getDragAndDropOverlayProps:w,status:k}=Pt({id:i,itemId:g,children:I,label:f,disabled:l}),C=P._extends({},n,k),R=Wo(C),M=d.root??Et,$=A.useSlotProps({elementType:M,getSlotProps:u,externalForwardedProps:a,externalSlotProps:r.root,additionalProps:{ref:o},ownerState:{},className:R.root}),U=d.content??wt,N=A.useSlotProps({elementType:U,getSlotProps:c,externalSlotProps:r.content,ownerState:{},className:s.clsx(R.content,k.expanded&&R.expanded,k.selected&&R.selected,k.focused&&R.focused,k.disabled&&R.disabled,k.editing&&R.editing,k.editable&&R.editable)}),K=d.iconContainer??Rt,J=A.useSlotProps({elementType:K,getSlotProps:x,externalSlotProps:r.iconContainer,ownerState:{},className:R.iconContainer}),q=d.label??vt,z=A.useSlotProps({elementType:q,getSlotProps:p,externalSlotProps:r.label,ownerState:{},className:R.label}),G=d.checkbox??zo,Z=A.useSlotProps({elementType:G,getSlotProps:m,externalSlotProps:r.checkbox,ownerState:{},className:R.checkbox}),Y=d.groupTransition??void 0,H=A.useSlotProps({elementType:Y,getSlotProps:b,externalSlotProps:r.groupTransition,ownerState:{},className:R.groupTransition}),L=d.labelInput??It,Q=A.useSlotProps({elementType:L,getSlotProps:h,externalSlotProps:r.labelInput,ownerState:{},className:R.labelInput}),V=d.dragAndDropOverlay??Ae,ee=A.useSlotProps({elementType:V,getSlotProps:w,externalSlotProps:r.dragAndDropOverlay,ownerState:{},className:R.dragAndDropOverlay});return v.jsx(ve,{itemId:g,children:v.jsxs(M,P._extends({},$,{children:[v.jsxs(U,P._extends({},N,{children:[v.jsx(K,P._extends({},J,{children:v.jsx(Ct,{status:k,slots:d,slotProps:r})})),v.jsx(G,P._extends({},Z)),k.editing?v.jsx(L,P._extends({},Q)):v.jsx(q,P._extends({},z)),v.jsx(V,P._extends({},ee))]})),I&&v.jsx(St,P._extends({as:Y},H))]}))})});process.env.NODE_ENV!=="production"&&(Go.propTypes={children:s.PropTypes.node,classes:s.PropTypes.object,className:s.PropTypes.string,disabled:s.PropTypes.bool,id:s.PropTypes.string,itemId:s.PropTypes.string.isRequired,label:s.PropTypes.node,onBlur:s.PropTypes.func,onFocus:tt.unsupportedProp,onKeyDown:s.PropTypes.func,slotProps:s.PropTypes.object,slots:s.PropTypes.object});const Xo=Ze.forwardRef(function(t,o){const{id:n,itemId:i,label:g,disabled:f,children:l}=t,I=t.folderIcon||ot,{getRootProps:d,getContentProps:r,getLabelProps:a,getGroupTransitionProps:u,getIconContainerProps:c,status:x}=Pt({id:n,itemId:i,label:g,disabled:f,children:l,rootRef:o});return v.jsx(ve,{itemId:i,children:v.jsxs(Et,{...d(),children:[v.jsxs(wt,{...r(),style:{display:"flex",alignItems:"center",width:"100%"},children:[v.jsx(Rt,{...c(),children:v.jsx(I,{fontSize:"small",color:"action",style:{color:"#ff9800"}})}),v.jsx(vt,{...a()}),v.jsx(Qe.Box,{sx:{display:"flex",marginLeft:"auto"},children:x.expandable&&(x.expanded?v.jsx(Wt,{fontSize:"small"}):v.jsx(Gt,{fontSize:"small"}))})]}),l&&v.jsx(St,{...u()})]})})}),Jo=({items:e,onItemSelect:t,folderIcon:o=ot})=>v.jsx(Qe.Box,{sx:{minHeight:200,minWidth:200},children:v.jsx(yt,{items:e,onSelect:n=>t&&t(n,n.target.id),slots:{item:n=>v.jsx(Xo,{...n,folderIcon:o})}})});module.exports=Jo;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const v=require("react/jsx-runtime"),Ut=require("../../Delete-DmeDAs0n.cjs"),ce=require("../../createSvgIcon-DJMYlO0S.cjs"),He=require("../../Box-DYA49L7w.cjs"),J=require("react"),P=require("../../ButtonBase-D6tfI-8D.cjs"),Ce=require("../../warning-DMUNDgRg.cjs"),pe=require("../../useForkRef-CTI33h-3.cjs"),j=require("../../resolveComponentProps-PuUs-PsA.cjs"),l=require("../../generateUtilityClasses-De8NU9_E.cjs"),W=require("../../TransitionGroupContext-Zt4NoR0u.cjs"),zt=require("../../useThemeProps-DxBEHys5.cjs"),_=require("../../DefaultPropsProvider-wpBXjN8r.cjs"),et=require("../../Collapse-Bvxtq7n-.cjs"),tt=require("../../Checkbox-DQgPXaym.cjs"),nt=require("../../unsupportedProp-Bn6XWqwH.cjs"),V=require("../../useSlotProps-CvOxvhyy.cjs"),ae=require("../../useEventCallback-C0-Qw3Sm.cjs"),Wt=require("../../ownerDocument-4MViGo3k.cjs"),Gt=require("../../elementTypeAcceptingRef-BjgxF5Bq.cjs");function Xt(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const C=Xt(J),De=ce.createSvgIcon(v.jsx("path",{d:"M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8z"}),"Folder"),Jt=ce.createSvgIcon(v.jsx("path",{d:"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6z"}),"KeyboardArrowDown"),Qt=ce.createSvgIcon(v.jsx("path",{d:"M8.59 16.59 13.17 12 8.59 7.41 10 6l6 6-6 6z"}),"KeyboardArrowRight"),Yt=ce.createSvgIcon(v.jsx("path",{d:"M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92-1.31-2.92-2.92-2.92"}),"Share");function Zt(e){return l.generateUtilityClass("MuiRichTreeView",e)}l.generateUtilityClasses("MuiRichTreeView",["root"]);function je(e){return zt.useThemeProps}const Ht=(e,t)=>{const n=C.useRef({}),[o,s]=C.useState(()=>{const f={};return e.forEach(a=>{a.models&&Object.entries(a.models).forEach(([u,d])=>{n.current[u]={isControlled:t[u]!==void 0,getDefaultValue:d.getDefaultValue},f[u]=d.getDefaultValue(t)})}),f}),I=Object.fromEntries(Object.entries(n.current).map(([f,a])=>{const u=t[f]??o[f];return[f,{value:u,setControlledValue:d=>{a.isControlled||s(r=>P._extends({},r,{[f]:d}))}}]}));return process.env.NODE_ENV!=="production"&&Object.entries(n.current).forEach(([f,a])=>{const u=t[f],d=a.getDefaultValue(t);C.useEffect(()=>{a.isControlled!==(u!==void 0)&&console.error([`MUI X: A component is changing the ${a.isControlled?"":"un"}controlled ${f} state of TreeView to be ${a.isControlled?"un":""}controlled.`,"Elements should not switch from uncontrolled to controlled (or vice versa).",`Decide between using a controlled or uncontrolled ${f} 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"].join(`
2
+ `))},[u]);const{current:r}=C.useRef(d);C.useEffect(()=>{!a.isControlled&&r!==d&&console.error([`MUI X: A component is changing the default ${f} state of an uncontrolled TreeView after being initialized. To suppress this warning opt to use a controlled TreeView.`].join(`
3
+ `))},[JSON.stringify(d)])}),I};class en{constructor(){this.maxListeners=20,this.warnOnce=!1,this.events={}}on(t,n,o={}){let s=this.events[t];if(s||(s={highPriority:new Map,regular:new Map},this.events[t]=s),o.isFirst?s.highPriority.set(n,!0):s.regular.set(n,!0),process.env.NODE_ENV!=="production"){const I=s.highPriority.size+s.regular.size;I>this.maxListeners&&!this.warnOnce&&(this.warnOnce=!0,console.warn([`Possible EventEmitter memory leak detected. ${I} ${t} listeners added.`].join(`
4
+ `)))}}removeListener(t,n){this.events[t]&&(this.events[t].regular.delete(n),this.events[t].highPriority.delete(n))}removeAllListeners(){this.events={}}emit(t,...n){const o=this.events[t];if(!o)return;const s=Array.from(o.highPriority.keys()),I=Array.from(o.regular.keys());for(let f=s.length-1;f>=0;f-=1){const a=s[f];o.highPriority.has(a)&&a.apply(this,n)}for(let f=0;f<I.length;f+=1){const a=I[f];o.regular.has(a)&&a.apply(this,n)}}once(t,n){const o=this;this.on(t,function s(...I){o.removeListener(t,s),n.apply(o,I)})}}const tn=e=>e.isPropagationStopped!==void 0,ot=()=>{const[e]=C.useState(()=>new en),t=C.useCallback((...o)=>{const[s,I,f={}]=o;f.defaultMuiPrevented=!1,!(tn(f)&&f.isPropagationStopped())&&e.emit(s,I,f)},[e]),n=C.useCallback((o,s)=>(e.on(o,s),()=>{e.removeListener(o,s)}),[e]);return{instance:{$$publishEvent:t,$$subscribeEvent:n}}};ot.params={};const rt=({plugins:e})=>{const t=new Set(e);return{instance:{getAvailablePlugins:()=>t}}};rt.params={};let Ye=0;const nn=()=>(Ye+=1,`mui-tree-view-${Ye}`),Le=({id:e,treeId:t="",itemId:n})=>e??`${t}-${n}`,Ae=({params:e,state:t,setState:n})=>{C.useEffect(()=>{n(s=>s.id.treeId===e.id&&s.id.treeId!==void 0?s:P._extends({},s,{id:P._extends({},s.id,{treeId:e.id??nn()})}))},[n,e.id]);const o=e.id??t.id.treeId;return{getRootProps:()=>({id:o}),contextValue:{treeId:o}}};Ae.params={id:!0};Ae.getInitialState=({id:e})=>({id:{treeId:e??void 0}});const on=[ot,rt,Ae],rn=["slots","slotProps","apiRef","experimentalFeatures"],sn=e=>{let{props:{slots:t,slotProps:n,apiRef:o,experimentalFeatures:s},plugins:I}=e,f=W._objectWithoutPropertiesLoose(e.props,rn);const a={};I.forEach(p=>{Object.assign(a,p.params)});const u={},d={};Object.keys(f).forEach(p=>{const c=f[p];a[p]?u[p]=c:d[p]=c});const r=s??{},i=I.reduce((p,c)=>c.getDefaultizedParams?c.getDefaultizedParams({params:p,experimentalFeatures:r}):p,u);return{apiRef:o,forwardedProps:d,pluginParams:i,slots:t??{},slotProps:n??{},experimentalFeatures:r}},ln=({plugins:e,instance:t,publicAPI:n,rootRef:o})=>({runItemPlugins:a=>{let u=null,d=null;const r=[],i={};e.forEach(x=>{if(!x.itemPlugin)return;const g=x.itemPlugin({props:a,rootRef:u,contentRef:d});g!=null&&g.rootRef&&(u=g.rootRef),g!=null&&g.contentRef&&(d=g.contentRef),g!=null&&g.propsEnhancers&&(r.push(g.propsEnhancers),Object.keys(g.propsEnhancers).forEach(m=>{i[m]=!0}))});const p=x=>g=>{const m={};return r.forEach(b=>{const h=b[x];h!=null&&Object.assign(m,h(g))}),m},c=Object.fromEntries(Object.keys(i).map(x=>[x,p(x)]));return{contentRef:d,rootRef:u,propsEnhancers:c}},wrapItem:({itemId:a,children:u})=>{let d=u;for(let r=e.length-1;r>=0;r-=1){const i=e[r];i.wrapItem&&(d=i.wrapItem({itemId:a,children:d,instance:t}))}return d},wrapRoot:({children:a})=>{let u=a;for(let d=e.length-1;d>=0;d-=1){const r=e[d];r.wrapRoot&&(u=r.wrapRoot({children:u,instance:t}))}return u},instance:t,rootRef:o,publicAPI:n});function an(e){const t=C.useRef({});return e?(e.current==null&&(e.current={}),e.current):t.current}const cn=({plugins:e,rootRef:t,props:n})=>{const o=[...on,...e],{pluginParams:s,forwardedProps:I,apiRef:f,experimentalFeatures:a,slots:u,slotProps:d}=sn({plugins:o,props:n}),r=Ht(o,s),p=C.useRef({}).current,c=an(f),x=C.useRef(null),g=pe.useForkRef(x,t),m=ln({plugins:o,instance:p,publicAPI:c,rootRef:x}),[b,h]=C.useState(()=>{const S={};return o.forEach(O=>{O.getInitialState&&Object.assign(S,O.getInitialState(s))}),S}),E=[],k=S=>{const O=S({instance:p,params:s,slots:u,slotProps:d,experimentalFeatures:a,state:b,setState:h,rootRef:x,models:r,plugins:o});O.getRootProps&&E.push(O.getRootProps),O.publicAPI&&Object.assign(c,O.publicAPI),O.instance&&Object.assign(p,O.instance),O.contextValue&&Object.assign(m,O.contextValue)};return o.forEach(k),{getRootProps:(S={})=>{const O=P._extends({role:"tree"},I,S,{ref:g});return E.forEach($=>{Object.assign(O,$(S))}),O},rootRef:g,contextValue:m,instance:p}},Ve=C.createContext(null);process.env.NODE_ENV!=="production"&&(Ve.displayName="TreeViewContext");function dn(e){const{value:t,children:n}=e;return v.jsx(Ve.Provider,{value:t,children:t.wrapRoot({children:n,instance:t.instance})})}const re=()=>{const e=C.useContext(Ve);if(e==null)throw new Error(["MUI X: Could not find the Tree View context.","It looks like you rendered your component outside of a SimpleTreeView or RichTreeView parent component.","This can also happen if you are bundling multiple versions of the Tree View."].join(`
5
+ `));return e},un=(e,t,n)=>{e.$$publishEvent(t,n)},le="__TREE_VIEW_ROOT_PARENT_ID__",pn=e=>{const t={};return e.forEach((n,o)=>{t[n]=o}),t},Ee=C.createContext(()=>-1);process.env.NODE_ENV!=="production"&&(Ee.displayName="TreeViewItemDepthContext");const fn=["children"],st=({items:e,isItemDisabled:t,getItemLabel:n,getItemId:o})=>{const s={},I={},f={[le]:[]},a=(d,r,i)=>{var g,m;const p=o?o(d):d.id;if(p==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.","An item was provided without id in the `items` prop:",JSON.stringify(d)].join(`
6
+ `));if(s[p]!=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: "${p}"`].join(`
7
+ `));const c=n?n(d):d.label;if(c==null)throw new Error(["MUI X: The Tree View component requires all items to have a `label` property.","Alternatively, you can use the `getItemLabel` prop to specify a custom label for each item.","An item was provided without label in the `items` prop:",JSON.stringify(d)].join(`
8
+ `));s[p]={id:p,label:c,parentId:i,idAttribute:void 0,expandable:!!((g=d.children)!=null&&g.length),disabled:t?t(d):!1,depth:r},I[p]=d;const x=i??le;f[x]||(f[x]=[]),f[x].push(p),(m=d.children)==null||m.forEach(b=>a(b,r+1,p))};e.forEach(d=>a(d,0,null));const u={};return Object.keys(f).forEach(d=>{u[d]=pn(f[d])}),{itemMetaMap:s,itemMap:I,itemOrderedChildrenIds:f,itemChildrenIndexes:u}},Ie=({instance:e,params:t,state:n,setState:o,experimentalFeatures:s})=>{const I=C.useCallback(b=>n.items.itemMetaMap[b],[n.items.itemMetaMap]),f=C.useCallback(b=>n.items.itemMap[b],[n.items.itemMap]),a=C.useCallback(()=>{const b=h=>{const E=n.items.itemMap[h],k=W._objectWithoutPropertiesLoose(E,fn),w=n.items.itemOrderedChildrenIds[h];return w&&(k.children=w.map(b)),k};return n.items.itemOrderedChildrenIds[le].map(b)},[n.items.itemMap,n.items.itemOrderedChildrenIds]),u=C.useCallback(b=>{if(b==null)return!1;let h=e.getItemMeta(b);if(!h)return!1;if(h.disabled)return!0;for(;h.parentId!=null;)if(h=e.getItemMeta(h.parentId),h.disabled)return!0;return!1},[e]),d=C.useCallback(b=>{const h=e.getItemMeta(b).parentId??le;return n.items.itemChildrenIndexes[h][b]},[e,n.items.itemChildrenIndexes]),r=C.useCallback(b=>n.items.itemOrderedChildrenIds[b??le]??[],[n.items.itemOrderedChildrenIds]),i=b=>{const h=e.getItemMeta(b);return h==null?null:document.getElementById(Le({treeId:n.id.treeId,itemId:b,id:h.idAttribute}))},p=b=>t.disabledItemsFocusable?!0:!e.isItemDisabled(b),c=C.useRef(!1),x=C.useCallback(()=>{c.current=!0},[]),g=C.useCallback(()=>c.current,[]);return C.useEffect(()=>{e.areItemUpdatesPrevented()||o(b=>{const h=st({items:t.items,isItemDisabled:t.isItemDisabled,getItemId:t.getItemId,getItemLabel:t.getItemLabel});return Object.values(b.items.itemMetaMap).forEach(E=>{h.itemMetaMap[E.id]||un(e,"removeItem",{id:E.id})}),P._extends({},b,{items:h})})},[e,o,t.items,t.isItemDisabled,t.getItemId,t.getItemLabel]),{getRootProps:()=>({style:{"--TreeView-itemChildrenIndentation":typeof t.itemChildrenIndentation=="number"?`${t.itemChildrenIndentation}px`:t.itemChildrenIndentation}}),publicAPI:{getItem:f,getItemDOMElement:i,getItemTree:a,getItemOrderedChildrenIds:r},instance:{getItemMeta:I,getItem:f,getItemTree:a,getItemsToRender:()=>{const b=h=>{var k;const E=n.items.itemMetaMap[h];return{label:E.label,itemId:E.id,id:E.idAttribute,children:(k=n.items.itemOrderedChildrenIds[h])==null?void 0:k.map(b)}};return n.items.itemOrderedChildrenIds[le].map(b)},getItemIndex:d,getItemDOMElement:i,getItemOrderedChildrenIds:r,isItemDisabled:u,isItemNavigable:p,preventItemUpdates:x,areItemUpdatesPrevented:g},contextValue:{items:{onItemClick:t.onItemClick,disabledItemsFocusable:t.disabledItemsFocusable,indentationAtItemLevel:s.indentationAtItemLevel??!1}}}};Ie.getInitialState=e=>({items:st({items:e.items,isItemDisabled:e.isItemDisabled,getItemId:e.getItemId,getItemLabel:e.getItemLabel})});Ie.getDefaultizedParams=({params:e})=>P._extends({},e,{disabledItemsFocusable:e.disabledItemsFocusable??!1,itemChildrenIndentation:e.itemChildrenIndentation??"12px"});Ie.wrapRoot=({children:e,instance:t})=>v.jsx(Ee.Provider,{value:n=>{var o;return((o=t.getItemMeta(n))==null?void 0:o.depth)??0},children:e});Ie.params={disabledItemsFocusable:!0,items:!0,isItemDisabled:!0,getItemLabel:!0,getItemId:!0,onItemClick:!0,itemChildrenIndentation:!0};const we=({instance:e,params:t,models:n})=>{const o=C.useMemo(()=>{const i=new Map;return n.expandedItems.value.forEach(p=>{i.set(p,!0)}),i},[n.expandedItems.value]),s=(i,p)=>{var c;(c=t.onExpandedItemsChange)==null||c.call(t,i,p),n.expandedItems.setControlledValue(p)},I=C.useCallback(i=>o.has(i),[o]),f=C.useCallback(i=>{var p;return!!((p=e.getItemMeta(i))!=null&&p.expandable)},[e]),a=ae.useEventCallback((i,p)=>{const c=e.isItemExpanded(p);e.setItemExpansion(i,p,!c)}),u=ae.useEventCallback((i,p,c)=>{if(e.isItemExpanded(p)===c)return;let g;c?g=[p].concat(n.expandedItems.value):g=n.expandedItems.value.filter(m=>m!==p),t.onItemExpansionToggle&&t.onItemExpansionToggle(i,p,c),s(i,g)}),d=(i,p)=>{const c=e.getItemMeta(p),g=e.getItemOrderedChildrenIds(c.parentId).filter(b=>e.isItemExpandable(b)&&!e.isItemExpanded(b)),m=n.expandedItems.value.concat(g);g.length>0&&(t.onItemExpansionToggle&&g.forEach(b=>{t.onItemExpansionToggle(i,b,!0)}),s(i,m))},r=C.useMemo(()=>t.expansionTrigger?t.expansionTrigger:e.isTreeViewEditable?"iconContainer":"content",[t.expansionTrigger,e.isTreeViewEditable]);return{publicAPI:{setItemExpansion:u},instance:{isItemExpanded:I,isItemExpandable:f,setItemExpansion:u,toggleItemExpansion:a,expandAllSiblings:d},contextValue:{expansion:{expansionTrigger:r}}}};we.models={expandedItems:{getDefaultValue:e=>e.defaultExpandedItems}};const mn=[];we.getDefaultizedParams=({params:e})=>P._extends({},e,{defaultExpandedItems:e.defaultExpandedItems??mn});we.params={expandedItems:!0,defaultExpandedItems:!0,onExpandedItemsChange:!0,onItemExpansionToggle:!0,expansionTrigger:!0};const it=(e,t)=>{let n=t.length-1;for(;n>=0&&!e.isItemNavigable(t[n]);)n-=1;if(n!==-1)return t[n]},lt=(e,t)=>{const n=e.getItemMeta(t),o=e.getItemOrderedChildrenIds(n.parentId),s=e.getItemIndex(t);if(s===0)return n.parentId;let I=s-1;for(;!e.isItemNavigable(o[I])&&I>=0;)I-=1;if(I===-1)return n.parentId==null?null:lt(e,n.parentId);let f=o[I],a=it(e,e.getItemOrderedChildrenIds(f));for(;e.isItemExpanded(f)&&a!=null;)f=a,a=e.getItemOrderedChildrenIds(f).find(e.isItemNavigable);return f},Te=(e,t)=>{if(e.isItemExpanded(t)){const o=e.getItemOrderedChildrenIds(t).find(e.isItemNavigable);if(o!=null)return o}let n=e.getItemMeta(t);for(;n!=null;){const o=e.getItemOrderedChildrenIds(n.parentId),s=e.getItemIndex(n.id);if(s<o.length-1){let I=s+1;for(;!e.isItemNavigable(o[I])&&I<o.length-1;)I+=1;if(e.isItemNavigable(o[I]))return o[I]}n=e.getItemMeta(n.parentId)}return null},at=e=>{let t=null;for(;t==null||e.isItemExpanded(t);){const n=e.getItemOrderedChildrenIds(t),o=it(e,n);if(o==null)return t;t=o}return t},fe=e=>e.getItemOrderedChildrenIds(null).find(e.isItemNavigable),ct=(e,t,n)=>{if(t===n)return[t,n];const o=e.getItemMeta(t),s=e.getItemMeta(n);if(o.parentId===s.id||s.parentId===o.id)return s.parentId===o.id?[o.id,s.id]:[s.id,o.id];const I=[o.id],f=[s.id];let a=o.parentId,u=s.parentId,d=f.indexOf(a)!==-1,r=I.indexOf(u)!==-1,i=!0,p=!0;for(;!r&&!d;)i&&(I.push(a),d=f.indexOf(a)!==-1,i=a!==null,!d&&i&&(a=e.getItemMeta(a).parentId)),p&&!d&&(f.push(u),r=I.indexOf(u)!==-1,p=u!==null,!r&&p&&(u=e.getItemMeta(u).parentId));const c=d?a:u,x=e.getItemOrderedChildrenIds(c),g=I[I.indexOf(c)-1],m=f[f.indexOf(c)-1];return x.indexOf(g)<x.indexOf(m)?[t,n]:[n,t]},In=(e,t,n)=>{const o=u=>{if(e.isItemExpandable(u)&&e.isItemExpanded(u))return e.getItemOrderedChildrenIds(u)[0];let d=e.getItemMeta(u);for(;d!=null;){const r=e.getItemOrderedChildrenIds(d.parentId),i=e.getItemIndex(d.id);if(i<r.length-1)return r[i+1];d=e.getItemMeta(d.parentId)}throw new Error("Invalid range")},[s,I]=ct(e,t,n),f=[s];let a=s;for(;a!==I;)a=o(a),e.isItemDisabled(a)||f.push(a);return f},gn=e=>{let t=fe(e);const n=[];for(;t!=null;)n.push(t),t=Te(e,t);return n},me=(e,t)=>t!==e.closest('*[role="treeitem"]'),Pe=e=>Array.isArray(e)?e:e!=null?[e]:[],_e=e=>{const t={};return e.forEach(n=>{t[n]=!0}),t},ve=({instance:e,params:t,models:n})=>{const o=C.useRef(null),s=C.useRef({}),I=C.useMemo(()=>{const g=new Map;return Array.isArray(n.selectedItems.value)?n.selectedItems.value.forEach(m=>{g.set(m,!0)}):n.selectedItems.value!=null&&g.set(n.selectedItems.value,!0),g},[n.selectedItems.value]),f=(g,m)=>{if(t.onItemSelectionToggle)if(t.multiSelect){const b=m.filter(E=>!e.isItemSelected(E)),h=n.selectedItems.value.filter(E=>!m.includes(E));b.forEach(E=>{t.onItemSelectionToggle(g,E,!0)}),h.forEach(E=>{t.onItemSelectionToggle(g,E,!1)})}else m!==n.selectedItems.value&&(n.selectedItems.value!=null&&t.onItemSelectionToggle(g,n.selectedItems.value,!1),m!=null&&t.onItemSelectionToggle(g,m,!0));t.onSelectedItemsChange&&t.onSelectedItemsChange(g,m),n.selectedItems.setControlledValue(m)},a=g=>I.has(g),u=({event:g,itemId:m,keepExistingSelection:b=!1,shouldBeSelected:h})=>{if(t.disableSelection)return;let E;if(b){const k=Pe(n.selectedItems.value),w=e.isItemSelected(m);w&&(h===!1||h==null)?E=k.filter(S=>S!==m):!w&&(h===!0||h==null)?E=[m].concat(k):E=k}else h===!1||h==null&&e.isItemSelected(m)?E=t.multiSelect?[]:null:E=t.multiSelect?[m]:m;f(g,E),o.current=m,s.current={}},d=(g,[m,b])=>{if(t.disableSelection||!t.multiSelect)return;let h=Pe(n.selectedItems.value).slice();Object.keys(s.current).length>0&&(h=h.filter(S=>!s.current[S]));const E=_e(h),k=In(e,m,b),w=k.filter(S=>!E[S]);h=h.concat(w),f(g,h),s.current=_e(k)};return{getRootProps:()=>({"aria-multiselectable":t.multiSelect}),publicAPI:{selectItem:u},instance:{isItemSelected:a,selectItem:u,selectAllNavigableItems:g=>{if(t.disableSelection||!t.multiSelect)return;const m=gn(e);f(g,m),s.current=_e(m)},expandSelectionRange:(g,m)=>{if(o.current!=null){const[b,h]=ct(e,m,o.current);d(g,[b,h])}},selectRangeFromStartToItem:(g,m)=>{d(g,[fe(e),m])},selectRangeFromItemToEnd:(g,m)=>{d(g,[m,at(e)])},selectItemFromArrowNavigation:(g,m,b)=>{if(t.disableSelection||!t.multiSelect)return;let h=Pe(n.selectedItems.value).slice();Object.keys(s.current).length===0?(h.push(b),s.current={[m]:!0,[b]:!0}):(s.current[m]||(s.current={}),s.current[b]?(h=h.filter(E=>E!==m),delete s.current[m]):(h.push(b),s.current[b]=!0)),f(g,h)}},contextValue:{selection:{multiSelect:t.multiSelect,checkboxSelection:t.checkboxSelection,disableSelection:t.disableSelection}}}};ve.models={selectedItems:{getDefaultValue:e=>e.defaultSelectedItems}};const bn=[];ve.getDefaultizedParams=({params:e})=>P._extends({},e,{disableSelection:e.disableSelection??!1,multiSelect:e.multiSelect??!1,checkboxSelection:e.checkboxSelection??!1,defaultSelectedItems:e.defaultSelectedItems??(e.multiSelect?bn:null)});ve.params={disableSelection:!0,multiSelect:!0,checkboxSelection:!0,defaultSelectedItems:!0,selectedItems:!0,onSelectedItemsChange:!0,onItemSelectionToggle:!0};const Ze=1e3;class hn{constructor(t=Ze){this.timeouts=new Map,this.cleanupTimeout=Ze,this.cleanupTimeout=t}register(t,n,o){this.timeouts||(this.timeouts=new Map);const s=setTimeout(()=>{typeof n=="function"&&n(),this.timeouts.delete(o.cleanupToken)},this.cleanupTimeout);this.timeouts.set(o.cleanupToken,s)}unregister(t){const n=this.timeouts.get(t.cleanupToken);n&&(this.timeouts.delete(t.cleanupToken),clearTimeout(n))}reset(){this.timeouts&&(this.timeouts.forEach((t,n)=>{this.unregister({cleanupToken:n})}),this.timeouts=void 0)}}class xn{constructor(){this.registry=new FinalizationRegistry(t=>{typeof t=="function"&&t()})}register(t,n,o){this.registry.register(t,n,o)}unregister(t){this.registry.unregister(t)}reset(){}}class yn{}function Tn(e){let t=0;return function(o,s,I){e.registry===null&&(e.registry=typeof FinalizationRegistry<"u"?new xn:new hn);const[f]=C.useState(new yn),a=C.useRef(null),u=C.useRef(void 0);u.current=I;const d=C.useRef(null);if(!a.current&&u.current){const r=(i,p)=>{var c;p.defaultMuiPrevented||(c=u.current)==null||c.call(u,i,p)};a.current=o.$$subscribeEvent(s,r),t+=1,d.current={cleanupToken:t},e.registry.register(f,()=>{var i;(i=a.current)==null||i.call(a),a.current=null,d.current=null},d.current)}else!u.current&&a.current&&(a.current(),a.current=null,d.current&&(e.registry.unregister(d.current),d.current=null));C.useEffect(()=>{if(!a.current&&u.current){const r=(i,p)=>{var c;p.defaultMuiPrevented||(c=u.current)==null||c.call(u,i,p)};a.current=o.$$subscribeEvent(s,r)}return d.current&&e.registry&&(e.registry.unregister(d.current),d.current=null),()=>{var r;(r=a.current)==null||r.call(a),a.current=null}},[o,s])}}const Pn={registry:null},Cn=Tn(Pn),dt=(e=document)=>{const t=e.activeElement;return t?t.shadowRoot?dt(t.shadowRoot):t:null},En=(e,t)=>{let n=Pe(t).find(o=>{if(!e.isItemNavigable(o))return!1;const s=e.getItemMeta(o);return s&&(s.parentId==null||e.isItemExpanded(s.parentId))});return n==null&&(n=fe(e)),n},Fe=({instance:e,params:t,state:n,setState:o,models:s,rootRef:I})=>{const f=En(e,s.selectedItems.value),a=ae.useEventCallback(m=>{const b=typeof m=="function"?m(n.focusedItemId):m;n.focusedItemId!==b&&o(h=>P._extends({},h,{focusedItemId:b}))}),u=C.useCallback(()=>!!I.current&&I.current.contains(dt(Wt.ownerDocument(I.current))),[I]),d=C.useCallback(m=>n.focusedItemId===m&&u(),[n.focusedItemId,u]),r=m=>{const b=e.getItemMeta(m);return b&&(b.parentId==null||e.isItemExpanded(b.parentId))},i=(m,b)=>{const h=e.getItemDOMElement(b);h&&h.focus(),a(b),t.onItemFocus&&t.onItemFocus(m,b)},p=ae.useEventCallback((m,b)=>{r(b)&&i(m,b)}),c=ae.useEventCallback(()=>{if(n.focusedItemId==null)return;if(e.getItemMeta(n.focusedItemId)){const b=e.getItemDOMElement(n.focusedItemId);b&&b.blur()}a(null)}),x=m=>m===f;Cn(e,"removeItem",({id:m})=>{n.focusedItemId===m&&i(null,f)});const g=m=>b=>{var h;(h=m.onFocus)==null||h.call(m,b),!b.defaultMuiPrevented&&b.target===b.currentTarget&&i(b,f)};return{getRootProps:m=>({onFocus:g(m)}),publicAPI:{focusItem:p},instance:{isItemFocused:d,canItemBeTabbed:x,focusItem:p,removeFocusedItem:c}}};Fe.getInitialState=()=>({focusedItemId:null});Fe.params={onItemFocus:!0};const oe=(e,t)=>e.getAvailablePlugins().has(t),wn=({props:e})=>{const{instance:t}=re(),{label:n,itemId:o}=e,[s,I]=C.useState(n),f=t.isItemBeingEdited(o);return C.useEffect(()=>{f||I(n)},[f,n]),{propsEnhancers:{labelInput:({externalEventHandlers:a,interactions:u})=>t.isItemEditable(o)?{value:s??"","data-element":"labelInput",onChange:c=>{var x;(x=a.onChange)==null||x.call(a,c),I(c.target.value)},onKeyDown:c=>{var g;if((g=a.onKeyDown)==null||g.call(a,c),c.defaultMuiPrevented)return;const x=c.target;c.key==="Enter"&&x.value?u.handleSaveItemLabel(c,x.value):c.key==="Escape"&&u.handleCancelItemLabelEditing(c)},onBlur:c=>{var x;(x=a.onBlur)==null||x.call(a,c),!c.defaultMuiPrevented&&c.target.value&&u.handleSaveItemLabel(c,c.target.value)},autoFocus:!0,type:"text"}:{}}}},K=({instance:e,state:t,setState:n,params:o})=>{const s=C.useRef(t.editedItemId),I=i=>s.current===i,f=i=>{n(p=>P._extends({},p,{editedItemId:i})),s.current=i},a=i=>i===t.editedItemId,u=!!o.isItemEditable,d=i=>{if(i==null||!u)return!1;const p=e.getItem(i);return p?typeof o.isItemEditable=="function"?o.isItemEditable(p):!!o.isItemEditable:!1},r=(i,p)=>{if(!p)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.",i].join(`
9
+ `));n(c=>{const x=c.items.itemMetaMap[i];return x.label!==p?P._extends({},c,{items:P._extends({},c.items,{itemMetaMap:P._extends({},c.items.itemMetaMap,{[i]:P._extends({},x,{label:p})})})}):c}),o.onItemLabelChange&&o.onItemLabelChange(i,p)};return{instance:{setEditedItemId:f,isItemBeingEdited:a,updateItemLabel:r,isItemEditable:d,isTreeViewEditable:u,isItemBeingEditedRef:I},publicAPI:{updateItemLabel:r}}};K.itemPlugin=wn;K.getDefaultizedParams=({params:e,experimentalFeatures:t})=>{const n=t==null?void 0:t.labelEditing;return process.env.NODE_ENV!=="production"&&e.isItemEditable&&!n&&Ce.warnOnce(["MUI X: The label editing feature requires the `labelEditing` experimental feature to be enabled.","You can do it by passing `experimentalFeatures={{ labelEditing: true}}` to the Rich Tree View Pro component.","Check the documentation for more details: https://mui.com/x/react-tree-view/rich-tree-view/editing/"]),P._extends({},e,{isItemEditable:n?e.isItemEditable??!1:!1})};K.getInitialState=()=>({editedItemId:null});K.params={onItemLabelChange:!0,isItemEditable:!0};function vn(e){return!!e&&e.length===1&&!!e.match(/\S/)}const ut=({instance:e,params:t,state:n})=>{const o=V.useRtl(),s=C.useRef({}),I=ae.useEventCallback(r=>{s.current=r(s.current)});C.useEffect(()=>{if(e.areItemUpdatesPrevented())return;const r={},i=p=>{r[p.id]=p.label.substring(0,1).toLowerCase()};Object.values(n.items.itemMetaMap).forEach(i),s.current=r},[n.items.itemMetaMap,t.getItemId,e]);const f=(r,i)=>{const p=i.toLowerCase(),c=b=>{const h=Te(e,b);return h===null?fe(e):h};let x=null,g=c(r);const m={};for(;x==null&&!m[g];)s.current[g]===p?x=g:(m[g]=!0,g=c(g));return x},a=r=>!t.disableSelection&&!e.isItemDisabled(r),u=r=>!e.isItemDisabled(r)&&e.isItemExpandable(r);return{instance:{updateFirstCharMap:I,handleItemKeyDown:(r,i)=>{if(r.defaultMuiPrevented||r.altKey||me(r.target,r.currentTarget))return;const p=r.ctrlKey||r.metaKey,c=r.key;switch(!0){case(c===" "&&a(i)):{r.preventDefault(),t.multiSelect&&r.shiftKey?e.expandSelectionRange(r,i):e.selectItem({event:r,itemId:i,keepExistingSelection:t.multiSelect,shouldBeSelected:t.multiSelect?void 0:!0});break}case c==="Enter":{oe(e,K)&&e.isItemEditable(i)&&!e.isItemBeingEdited(i)?e.setEditedItemId(i):u(i)?(e.toggleItemExpansion(r,i),r.preventDefault()):a(i)&&(t.multiSelect?(r.preventDefault(),e.selectItem({event:r,itemId:i,keepExistingSelection:!0})):e.isItemSelected(i)||(e.selectItem({event:r,itemId:i}),r.preventDefault()));break}case c==="ArrowDown":{const x=Te(e,i);x&&(r.preventDefault(),e.focusItem(r,x),t.multiSelect&&r.shiftKey&&a(x)&&e.selectItemFromArrowNavigation(r,i,x));break}case c==="ArrowUp":{const x=lt(e,i);x&&(r.preventDefault(),e.focusItem(r,x),t.multiSelect&&r.shiftKey&&a(x)&&e.selectItemFromArrowNavigation(r,i,x));break}case(c==="ArrowRight"&&!o||c==="ArrowLeft"&&o):{if(p)return;if(e.isItemExpanded(i)){const x=Te(e,i);x&&(e.focusItem(r,x),r.preventDefault())}else u(i)&&(e.toggleItemExpansion(r,i),r.preventDefault());break}case(c==="ArrowLeft"&&!o||c==="ArrowRight"&&o):{if(p)return;if(u(i)&&e.isItemExpanded(i))e.toggleItemExpansion(r,i),r.preventDefault();else{const x=e.getItemMeta(i).parentId;x&&(e.focusItem(r,x),r.preventDefault())}break}case c==="Home":{a(i)&&t.multiSelect&&p&&r.shiftKey?e.selectRangeFromStartToItem(r,i):e.focusItem(r,fe(e)),r.preventDefault();break}case c==="End":{a(i)&&t.multiSelect&&p&&r.shiftKey?e.selectRangeFromItemToEnd(r,i):e.focusItem(r,at(e)),r.preventDefault();break}case c==="*":{e.expandAllSiblings(r,i),r.preventDefault();break}case(String.fromCharCode(r.keyCode)==="A"&&p&&t.multiSelect&&!t.disableSelection):{e.selectAllNavigableItems(r),r.preventDefault();break}case(!p&&!r.shiftKey&&vn(c)):{const x=f(i,c);x!=null&&(e.focusItem(r,x),r.preventDefault());break}}}}}};ut.params={};const pt=({slots:e,slotProps:t})=>({contextValue:{icons:{slots:{collapseIcon:e.collapseIcon,expandIcon:e.expandIcon,endIcon:e.endIcon},slotProps:{collapseIcon:t.collapseIcon,expandIcon:t.expandIcon,endIcon:t.endIcon}}}});pt.params={};const Sn=[Ie,we,ve,Fe,ut,pt,K];function ft(e){const{instance:t,items:{onItemClick:n},selection:{multiSelect:o,checkboxSelection:s,disableSelection:I},expansion:{expansionTrigger:f}}=re(),a=t.isItemExpandable(e),u=t.isItemExpanded(e),d=t.isItemFocused(e),r=t.isItemSelected(e),i=t.isItemDisabled(e),p=t!=null&&t.isItemBeingEdited?t==null?void 0:t.isItemBeingEdited(e):!1,c=t.isItemEditable?t.isItemEditable(e):!1,x=w=>{if(!i){d||t.focusItem(w,e);const S=o&&(w.shiftKey||w.ctrlKey||w.metaKey);a&&!(S&&t.isItemExpanded(e))&&t.toggleItemExpansion(w,e)}},g=w=>{i||(d||t.focusItem(w,e),o&&(w.shiftKey||w.ctrlKey||w.metaKey)?w.shiftKey?t.expandSelectionRange(w,e):t.selectItem({event:w,itemId:e,keepExistingSelection:!0}):t.selectItem({event:w,itemId:e,shouldBeSelected:!0}))},m=w=>{if(I||i)return;const S=w.nativeEvent.shiftKey;o&&S?t.expandSelectionRange(w,e):t.selectItem({event:w,itemId:e,keepExistingSelection:o,shouldBeSelected:w.target.checked})},b=w=>{(w.shiftKey||w.ctrlKey||w.metaKey||i)&&w.preventDefault()},h=()=>{oe(t,K)&&t.isItemEditable(e)&&(t.isItemBeingEdited(e)?t.setEditedItemId(null):t.setEditedItemId(e))};return{disabled:i,expanded:u,selected:r,focused:d,editable:c,editing:p,disableSelection:I,checkboxSelection:s,handleExpansion:x,handleSelection:g,handleCheckboxSelection:m,handleContentClick:n,preventSelection:b,expansionTrigger:f,toggleItemEditing:h,handleSaveItemLabel:(w,S)=>{oe(t,K)&&t.isItemBeingEditedRef(e)&&(t.updateItemLabel(e,S),h(),t.focusItem(w,e))},handleCancelItemLabelEditing:w=>{oe(t,K)&&t.isItemBeingEditedRef(e)&&(h(),t.focusItem(w,e))}}}const Rn=_.styled("div",{name:"MuiTreeItem2DragAndDropOverlay",slot:"Root",overridesResolver:(e,t)=>t.root,shouldForwardProp:e=>_.shouldForwardProp(e)&&e!=="action"})(({theme:e})=>({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:e.shape.borderRadius,backgroundColor:e.vars?`rgba(${e.vars.palette.primary.darkChannel} / ${e.vars.palette.action.focusOpacity})`:l.alpha(e.palette.primary.dark,e.palette.action.focusOpacity)}},{props:{action:"reorder-above"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))",borderTop:`1px solid ${(e.vars||e).palette.action.active}`}},{props:{action:"reorder-below"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))",borderBottom:`1px solid ${(e.vars||e).palette.action.active}`}},{props:{action:"move-to-parent"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * calc(var(--TreeView-itemDepth) - 1))",borderBottom:`1px solid ${(e.vars||e).palette.action.active}`}}]}));function Ne(e){return e.action==null?null:v.jsx(Rn,P._extends({},e))}process.env.NODE_ENV!=="production"&&(Ne.propTypes={action:l.PropTypes.oneOf(["make-child","move-to-parent","reorder-above","reorder-below"]),style:l.PropTypes.object});const mt=_.styled("input",{name:"MuiTreeItem2",slot:"LabelInput",overridesResolver:(e,t)=>t.labelInput})(({theme:e})=>P._extends({},e.typography.body1,{width:"100%",backgroundColor:e.palette.background.paper,borderRadius:e.shape.borderRadius,border:"none",padding:"0 2px",boxSizing:"border-box","&:focus":{outline:`1px solid ${e.palette.primary.main}`}})),kn=["classes","className","displayIcon","expansionIcon","icon","label","itemId","onClick","onMouseDown","dragAndDropOverlayProps","labelInputProps"],$e=C.forwardRef(function(t,n){const{classes:o,className:s,displayIcon:I,expansionIcon:f,icon:a,label:u,itemId:d,onClick:r,onMouseDown:i,dragAndDropOverlayProps:p,labelInputProps:c}=t,x=W._objectWithoutPropertiesLoose(t,kn),{disabled:g,expanded:m,selected:b,focused:h,editing:E,editable:k,disableSelection:w,checkboxSelection:S,handleExpansion:O,handleSelection:$,handleCheckboxSelection:U,handleContentClick:N,preventSelection:B,expansionTrigger:Q,toggleItemEditing:q}=ft(d),z=a||f||I,G=C.useRef(null),H=L=>{B(L),i&&i(L)},Y=L=>{var Z;N==null||N(L,d),!((Z=G.current)!=null&&Z.contains(L.target))&&(Q==="content"&&O(L),S||$(L),r&&r(L))},ee=L=>{L.defaultMuiPrevented||q()};return v.jsxs("div",P._extends({},x,{className:l.clsx(o.root,s,m&&o.expanded,b&&o.selected,h&&o.focused,g&&o.disabled,E&&o.editing,k&&o.editable),onClick:Y,onMouseDown:H,ref:n,children:[v.jsx("div",{className:o.iconContainer,children:z}),S&&v.jsx(tt.Checkbox,{className:o.checkbox,checked:b,onChange:U,disabled:g||w,ref:G,tabIndex:-1}),E?v.jsx(mt,P._extends({},c,{className:o.labelInput})):v.jsx("div",P._extends({className:o.label},k&&{onDoubleClick:ee},{children:u})),p&&v.jsx(Ne,P._extends({},p))]}))});process.env.NODE_ENV!=="production"&&($e.propTypes={classes:l.PropTypes.object.isRequired,className:l.PropTypes.string,displayIcon:l.PropTypes.node,dragAndDropOverlayProps:l.PropTypes.shape({action:l.PropTypes.oneOf(["make-child","move-to-parent","reorder-above","reorder-below"]),style:l.PropTypes.object}),expansionIcon:l.PropTypes.node,icon:l.PropTypes.node,itemId:l.PropTypes.string.isRequired,label:l.PropTypes.node,labelInputProps:l.PropTypes.shape({autoFocus:l.PropTypes.oneOf([!0]),"data-element":l.PropTypes.oneOf(["labelInput"]),onBlur:l.PropTypes.func,onChange:l.PropTypes.func,onKeyDown:l.PropTypes.func,type:l.PropTypes.oneOf(["text"]),value:l.PropTypes.string})});function It(e){return l.generateUtilityClass("MuiTreeItem",e)}const X=l.generateUtilityClasses("MuiTreeItem",["root","groupTransition","content","expanded","selected","focused","disabled","iconContainer","label","checkbox","labelInput","editable","editing","dragAndDropOverlay"]),gt=ce.createSvgIcon(v.jsx("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"TreeViewExpandIcon"),bt=ce.createSvgIcon(v.jsx("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"TreeViewCollapseIcon");function Se(e){const{children:t,itemId:n}=e,{wrapItem:o,instance:s}=re();return o({children:t,itemId:n,instance:s})}Se.propTypes={children:l.PropTypes.node,itemId:l.PropTypes.string.isRequired};const Mn=["children","className","slots","slotProps","ContentComponent","ContentProps","itemId","id","label","onClick","onMouseDown","onFocus","onBlur","onKeyDown"],On=["ownerState"],Dn=["ownerState"],_n=["ownerState"],jn=je(),Ln=e=>{const{classes:t}=e,n={root:["root"],content:["content"],expanded:["expanded"],selected:["selected"],focused:["focused"],disabled:["disabled"],iconContainer:["iconContainer"],checkbox:["checkbox"],label:["label"],labelInput:["labelInput"],editing:["editing"],editable:["editable"],groupTransition:["groupTransition"]};return _.composeClasses(n,It,t)},An=_.styled("li",{name:"MuiTreeItem",slot:"Root",overridesResolver:(e,t)=>t.root})({listStyle:"none",margin:0,padding:0,outline:0}),Vn=_.styled($e,{name:"MuiTreeItem",slot:"Content",overridesResolver:(e,t)=>[t.content,t.iconContainer&&{[`& .${X.iconContainer}`]:t.iconContainer},t.label&&{[`& .${X.label}`]:t.label}],shouldForwardProp:e=>_.shouldForwardProp(e)&&e!=="indentationAtItemLevel"})(({theme:e})=>({padding:e.spacing(.5,1),borderRadius:e.shape.borderRadius,width:"100%",boxSizing:"border-box",position:"relative",display:"flex",alignItems:"center",gap:e.spacing(1),cursor:"pointer",WebkitTapHighlightColor:"transparent","&:hover":{backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${X.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity,backgroundColor:"transparent"},[`&.${X.focused}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${X.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:l.alpha(e.palette.primary.main,e.palette.action.selectedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:l.alpha(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:l.alpha(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${X.focused}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:l.alpha(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`& .${X.iconContainer}`]:{width:16,display:"flex",flexShrink:0,justifyContent:"center","& svg":{fontSize:18}},[`& .${X.label}`]:P._extends({width:"100%",boxSizing:"border-box",minWidth:0,position:"relative"},e.typography.body1),[`& .${X.checkbox}`]:{padding:0},variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:`calc(${e.spacing(1)} + var(--TreeView-itemChildrenIndentation) * var(--TreeView-itemDepth))`}}]})),Fn=_.styled(et.Collapse,{name:"MuiTreeItem",slot:"GroupTransition",overridesResolver:(e,t)=>t.groupTransition,shouldForwardProp:e=>_.shouldForwardProp(e)&&e!=="indentationAtItemLevel"})({margin:0,padding:0,paddingLeft:"var(--TreeView-itemChildrenIndentation)",variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:0}}]}),ht=C.forwardRef(function(t,n){var ze,We,Ge,Xe;const{icons:o,runItemPlugins:s,items:{disabledItemsFocusable:I,indentationAtItemLevel:f},selection:{disableSelection:a},expansion:{expansionTrigger:u},treeId:d,instance:r}=re(),i=C.useContext(Ee),p=jn({props:t,name:"MuiTreeItem"}),{children:c,className:x,slots:g,slotProps:m,ContentComponent:b=$e,ContentProps:h,itemId:E,id:k,label:w,onClick:S,onMouseDown:O,onBlur:$,onKeyDown:U}=p,N=W._objectWithoutPropertiesLoose(p,Mn),{expanded:B,focused:Q,selected:q,disabled:z,editing:G,handleExpansion:H,handleCancelItemLabelEditing:Y,handleSaveItemLabel:ee}=ft(E);process.env.NODE_ENV!=="production"&&(p.ContentComponent&&Ce.warnOnce(["MUI X: The ContentComponent prop of the TreeItem component is deprecated and will be removed in the next major release.","You can use the new TreeItem2 component or the new useTreeItem2 hook to customize the rendering of the content.","For more detail, see https://mui.com/x/react-tree-view/tree-item-customization/."]),p.ContentProps&&Ce.warnOnce(["MUI X: The ContentProps prop of the TreeItem component is deprecated and will be removed in the next major release.","You can use the new TreeItem2 component or the new useTreeItem2 hook to customize the rendering of the content.","For more detail, see https://mui.com/x/react-tree-view/tree-item-customization/."]));const{contentRef:L,rootRef:Z,propsEnhancers:A}=s(p),te=C.useRef(null),Re=C.useRef(null),Be=pe.useForkRef(n,Z,te),Ke=pe.useForkRef(h==null?void 0:h.ref,L,Re),se={expandIcon:(g==null?void 0:g.expandIcon)??o.slots.expandIcon??gt,collapseIcon:(g==null?void 0:g.collapseIcon)??o.slots.collapseIcon??bt,endIcon:(g==null?void 0:g.endIcon)??o.slots.endIcon,icon:g==null?void 0:g.icon,groupTransition:g==null?void 0:g.groupTransition},ke=M=>Array.isArray(M)?M.length>0&&M.some(ke):!!M,de=ke(c),ge=P._extends({},p,{expanded:B,focused:Q,selected:q,disabled:z,indentationAtItemLevel:f}),T=Ln(ge),y=se.groupTransition??void 0,R=V.useSlotProps({elementType:y,ownerState:{},externalSlotProps:m==null?void 0:m.groupTransition,additionalProps:P._extends({unmountOnExit:!0,in:B,component:"ul",role:"group"},f?{indentationAtItemLevel:!0}:{}),className:T.groupTransition}),D=M=>{u==="iconContainer"&&H(M)},F=B?se.collapseIcon:se.expandIcon,ne=V.useSlotProps({elementType:F,ownerState:{},externalSlotProps:M=>B?P._extends({},j.resolveComponentProps(o.slotProps.collapseIcon,M),j.resolveComponentProps(m==null?void 0:m.collapseIcon,M)):P._extends({},j.resolveComponentProps(o.slotProps.expandIcon,M),j.resolveComponentProps(m==null?void 0:m.expandIcon,M)),additionalProps:{onClick:D}}),be=W._objectWithoutPropertiesLoose(ne,On),he=de&&F?v.jsx(F,P._extends({},be)):null,Me=de?void 0:se.endIcon,Ot=V.useSlotProps({elementType:Me,ownerState:{},externalSlotProps:M=>de?{}:P._extends({},j.resolveComponentProps(o.slotProps.endIcon,M),j.resolveComponentProps(m==null?void 0:m.endIcon,M))}),Dt=W._objectWithoutPropertiesLoose(Ot,Dn),_t=Me?v.jsx(Me,P._extends({},Dt)):null,Oe=se.icon,jt=V.useSlotProps({elementType:Oe,ownerState:{},externalSlotProps:m==null?void 0:m.icon}),Lt=W._objectWithoutPropertiesLoose(jt,_n),At=Oe?v.jsx(Oe,P._extends({},Lt)):null;let xe;q?xe=!0:a||z?xe=void 0:xe=!1;function Vt(M){!Q&&(!z||I)&&M.currentTarget===M.target&&r.focusItem(M,E)}function Ft(M){var ie,ue,Je,Qe;$==null||$(M),!(G||M.relatedTarget&&me(M.relatedTarget,te.current)&&(M.target&&((ue=(ie=M.target)==null?void 0:ie.dataset)==null?void 0:ue.element)==="labelInput"&&me(M.target,te.current)||((Qe=(Je=M.relatedTarget)==null?void 0:Je.dataset)==null?void 0:Qe.element)==="labelInput"))&&r.removeFocusedItem()}const Nt=M=>{var ie,ue;U==null||U(M),((ue=(ie=M.target)==null?void 0:ie.dataset)==null?void 0:ue.element)!=="labelInput"&&r.handleItemKeyDown(M,E)},$t=Le({itemId:E,treeId:d,id:k}),Bt=r.canItemBeTabbed(E)?0:-1,ye={rootRefObject:te,contentRefObject:Re,interactions:{handleSaveItemLabel:ee,handleCancelItemLabelEditing:Y}},Kt=((ze=A.root)==null?void 0:ze.call(A,P._extends({},ye,{externalEventHandlers:j.extractEventHandlers(N)})))??{},qt=((We=A.content)==null?void 0:We.call(A,P._extends({},ye,{externalEventHandlers:j.extractEventHandlers(h)})))??{},qe=((Ge=A.dragAndDropOverlay)==null?void 0:Ge.call(A,P._extends({},ye,{externalEventHandlers:{}})))??{},Ue=((Xe=A.labelInput)==null?void 0:Xe.call(A,P._extends({},ye,{externalEventHandlers:{}})))??{};return v.jsx(Se,{itemId:E,children:v.jsxs(An,P._extends({className:l.clsx(T.root,x),role:"treeitem","aria-expanded":de?B:void 0,"aria-selected":xe,"aria-disabled":z||void 0,id:$t,tabIndex:Bt},N,{ownerState:ge,onFocus:Vt,onBlur:Ft,onKeyDown:Nt,ref:Be,style:f?P._extends({},N.style,{"--TreeView-itemDepth":typeof i=="function"?i(E):i}):N.style},Kt,{children:[v.jsx(Vn,P._extends({as:b,classes:{root:T.content,expanded:T.expanded,selected:T.selected,focused:T.focused,disabled:T.disabled,editable:T.editable,editing:T.editing,iconContainer:T.iconContainer,label:T.label,labelInput:T.labelInput,checkbox:T.checkbox},label:w,itemId:E,onClick:S,onMouseDown:O,icon:At,expansionIcon:he,displayIcon:_t,ownerState:ge},h,qt,qe.action==null?{}:{dragAndDropOverlayProps:qe},Ue.value==null?{}:{labelInputProps:Ue},{ref:Ke})),c&&v.jsx(Fn,P._extends({as:y},R,{children:c}))]}))})});process.env.NODE_ENV!=="production"&&(ht.propTypes={children:l.PropTypes.node,classes:l.PropTypes.object,className:l.PropTypes.string,ContentComponent:Gt.elementTypeAcceptingRef,ContentProps:l.PropTypes.object,disabled:l.PropTypes.bool,itemId:l.PropTypes.string.isRequired,label:l.PropTypes.node,onFocus:nt.unsupportedProp,onKeyDown:l.PropTypes.func,slotProps:l.PropTypes.object,slots:l.PropTypes.object,sx:l.PropTypes.oneOfType([l.PropTypes.arrayOf(l.PropTypes.oneOfType([l.PropTypes.func,l.PropTypes.object,l.PropTypes.bool])),l.PropTypes.func,l.PropTypes.object])});const Nn=["ownerState"];function $n({slots:e,slotProps:t,label:n,id:o,itemId:s,itemsToRender:I}){const f=(e==null?void 0:e.item)??ht,a=V.useSlotProps({elementType:f,externalSlotProps:t==null?void 0:t.item,additionalProps:{itemId:s,id:o,label:n},ownerState:{itemId:s,label:n}}),u=W._objectWithoutPropertiesLoose(a,Nn),d=C.useMemo(()=>I?v.jsx(xt,{itemsToRender:I,slots:e,slotProps:t}):null,[I,e,t]);return v.jsx(f,P._extends({},u,{children:d}))}function xt(e){const{itemsToRender:t,slots:n,slotProps:o}=e;return v.jsx(C.Fragment,{children:t.map(s=>v.jsx($n,{slots:n,slotProps:o,label:s.label,id:s.id,itemId:s.itemId,itemsToRender:s.children},s.itemId))})}const Bn=je(),Kn=e=>{const{classes:t}=e,n={root:["root"]};return _.composeClasses(n,Zt,t)},qn=_.styled("ul",{name:"MuiRichTreeView",slot:"Root",overridesResolver:(e,t)=>t.root})({padding:0,margin:0,listStyle:"none",outline:0,position:"relative"}),yt=C.forwardRef(function(t,n){const o=Bn({props:t,name:"MuiRichTreeView"});process.env.NODE_ENV!=="production"&&o.children!=null&&Ce.warnOnce(["MUI X: The Rich Tree View component does not support JSX children.","If you want to add items, you need to use the `items` prop.","Check the documentation for more details: https://mui.com/x/react-tree-view/rich-tree-view/items/."]);const{getRootProps:s,contextValue:I,instance:f}=cn({plugins:Sn,rootRef:n,props:o}),{slots:a,slotProps:u}=o,d=Kn(o),r=(a==null?void 0:a.root)??qn,i=V.useSlotProps({elementType:r,externalSlotProps:u==null?void 0:u.root,className:d.root,getSlotProps:s,ownerState:o});return v.jsx(dn,{value:I,children:v.jsx(r,P._extends({},i,{children:v.jsx(xt,{slots:a,slotProps:u,itemsToRender:f.getItemsToRender()})}))})});process.env.NODE_ENV!=="production"&&(yt.propTypes={apiRef:l.PropTypes.shape({current:l.PropTypes.shape({focusItem:l.PropTypes.func.isRequired,getItem:l.PropTypes.func.isRequired,getItemDOMElement:l.PropTypes.func.isRequired,getItemOrderedChildrenIds:l.PropTypes.func.isRequired,getItemTree:l.PropTypes.func.isRequired,selectItem:l.PropTypes.func.isRequired,setItemExpansion:l.PropTypes.func.isRequired,updateItemLabel:l.PropTypes.func.isRequired})}),checkboxSelection:l.PropTypes.bool,classes:l.PropTypes.object,className:l.PropTypes.string,defaultExpandedItems:l.PropTypes.arrayOf(l.PropTypes.string),defaultSelectedItems:l.PropTypes.any,disabledItemsFocusable:l.PropTypes.bool,disableSelection:l.PropTypes.bool,expandedItems:l.PropTypes.arrayOf(l.PropTypes.string),expansionTrigger:l.PropTypes.oneOf(["content","iconContainer"]),experimentalFeatures:l.PropTypes.shape({indentationAtItemLevel:l.PropTypes.bool,labelEditing:l.PropTypes.bool}),getItemId:l.PropTypes.func,getItemLabel:l.PropTypes.func,id:l.PropTypes.string,isItemDisabled:l.PropTypes.func,isItemEditable:l.PropTypes.oneOfType([l.PropTypes.func,l.PropTypes.bool]),itemChildrenIndentation:l.PropTypes.oneOfType([l.PropTypes.number,l.PropTypes.string]),items:l.PropTypes.array.isRequired,multiSelect:l.PropTypes.bool,onExpandedItemsChange:l.PropTypes.func,onItemClick:l.PropTypes.func,onItemExpansionToggle:l.PropTypes.func,onItemFocus:l.PropTypes.func,onItemLabelChange:l.PropTypes.func,onItemSelectionToggle:l.PropTypes.func,onSelectedItemsChange:l.PropTypes.func,selectedItems:l.PropTypes.any,slotProps:l.PropTypes.object,slots:l.PropTypes.object,sx:l.PropTypes.oneOfType([l.PropTypes.arrayOf(l.PropTypes.oneOfType([l.PropTypes.func,l.PropTypes.object,l.PropTypes.bool])),l.PropTypes.func,l.PropTypes.object])});const Tt=e=>Array.isArray(e)?e.length>0&&e.some(Tt):!!e,Un=({itemId:e,children:t})=>{const{instance:n,selection:{multiSelect:o},publicAPI:s}=re(),I={expandable:Tt(t),expanded:n.isItemExpanded(e),focused:n.isItemFocused(e),selected:n.isItemSelected(e),disabled:n.isItemDisabled(e),editing:n!=null&&n.isItemBeingEdited?n==null?void 0:n.isItemBeingEdited(e):!1,editable:n.isItemEditable?n.isItemEditable(e):!1},f=c=>{if(I.disabled)return;I.focused||n.focusItem(c,e);const x=o&&(c.shiftKey||c.ctrlKey||c.metaKey);I.expandable&&!(x&&n.isItemExpanded(e))&&n.toggleItemExpansion(c,e)},a=c=>{if(I.disabled)return;I.focused||n.focusItem(c,e),o&&(c.shiftKey||c.ctrlKey||c.metaKey)?c.shiftKey?n.expandSelectionRange(c,e):n.selectItem({event:c,itemId:e,keepExistingSelection:!0}):n.selectItem({event:c,itemId:e,shouldBeSelected:!0})},u=c=>{const x=c.nativeEvent.shiftKey;o&&x?n.expandSelectionRange(c,e):n.selectItem({event:c,itemId:e,keepExistingSelection:o,shouldBeSelected:c.target.checked})},d=()=>{oe(n,K)&&n.isItemEditable(e)&&(n.isItemBeingEdited(e)?n.setEditedItemId(null):n.setEditedItemId(e))};return{interactions:{handleExpansion:f,handleSelection:a,handleCheckboxSelection:u,toggleItemEditing:d,handleSaveItemLabel:(c,x)=>{oe(n,K)&&n.isItemBeingEditedRef(e)&&(n.updateItemLabel(e,x),d(),n.focusItem(c,e))},handleCancelItemLabelEditing:c=>{oe(n,K)&&n.isItemBeingEditedRef(e)&&(d(),n.focusItem(c,e))}},status:I,publicAPI:s}},zn=e=>{const{runItemPlugins:t,items:{onItemClick:n,disabledItemsFocusable:o,indentationAtItemLevel:s},selection:{disableSelection:I,checkboxSelection:f},expansion:{expansionTrigger:a},treeId:u,instance:d,publicAPI:r}=re(),i=C.useContext(Ee),{id:p,itemId:c,label:x,children:g,rootRef:m}=e,{rootRef:b,contentRef:h,propsEnhancers:E}=t(e),{interactions:k,status:w}=Un({itemId:c,children:g}),S=C.useRef(null),O=C.useRef(null),$=pe.useForkRef(m,b,S),U=pe.useForkRef(h,O),N=C.useRef(null),B=Le({itemId:c,treeId:u,id:p}),Q=d.canItemBeTabbed(c)?0:-1,q={rootRefObject:S,contentRefObject:O,interactions:k},z=T=>y=>{var D;if((D=T.onFocus)==null||D.call(T,y),y.defaultMuiPrevented)return;const R=!w.disabled||o;!w.focused&&R&&y.currentTarget===y.target&&d.focusItem(y,c)},G=T=>y=>{var D,F,ne,be,he;if((D=T.onBlur)==null||D.call(T,y),y.defaultMuiPrevented)return;const R=d.getItemDOMElement(c);w.editing||y.relatedTarget&&me(y.relatedTarget,R)&&(y.target&&((ne=(F=y.target)==null?void 0:F.dataset)==null?void 0:ne.element)==="labelInput"&&me(y.target,R)||((he=(be=y.relatedTarget)==null?void 0:be.dataset)==null?void 0:he.element)==="labelInput")||d.removeFocusedItem()},H=T=>y=>{var R,D,F;(R=T.onKeyDown)==null||R.call(T,y),!(y.defaultMuiPrevented||((F=(D=y.target)==null?void 0:D.dataset)==null?void 0:F.element)==="labelInput")&&d.handleItemKeyDown(y,c)},Y=T=>y=>{var R;(R=T.onDoubleClick)==null||R.call(T,y),!y.defaultMuiPrevented&&k.toggleItemEditing()},ee=T=>y=>{var R,D;(R=T.onClick)==null||R.call(T,y),n==null||n(y,c),!(y.defaultMuiPrevented||(D=N.current)!=null&&D.contains(y.target))&&(a==="content"&&k.handleExpansion(y),f||k.handleSelection(y))},L=T=>y=>{var R;(R=T.onMouseDown)==null||R.call(T,y),!y.defaultMuiPrevented&&(y.shiftKey||y.ctrlKey||y.metaKey||w.disabled)&&y.preventDefault()},Z=T=>y=>{var R;(R=T.onChange)==null||R.call(T,y),!y.defaultMuiPrevented&&(I||w.disabled||k.handleCheckboxSelection(y))},A=T=>y=>{var R;(R=T.onClick)==null||R.call(T,y),!y.defaultMuiPrevented&&a==="iconContainer"&&k.handleExpansion(y)};return{getRootProps:(T={})=>{var ne;const y=P._extends({},j.extractEventHandlers(e),j.extractEventHandlers(T));let R;w.selected?R=!0:I||w.disabled?R=void 0:R=!1;const D=P._extends({},y,{ref:$,role:"treeitem",tabIndex:Q,id:B,"aria-expanded":w.expandable?w.expanded:void 0,"aria-selected":R,"aria-disabled":w.disabled||void 0},T,{onFocus:z(y),onBlur:G(y),onKeyDown:H(y)});s&&(D.style={"--TreeView-itemDepth":typeof i=="function"?i(c):i});const F=((ne=E.root)==null?void 0:ne.call(E,P._extends({},q,{externalEventHandlers:y})))??{};return P._extends({},D,F)},getContentProps:(T={})=>{var F;const y=j.extractEventHandlers(T),R=P._extends({},y,T,{ref:U,onClick:ee(y),onMouseDown:L(y),status:w});s&&(R.indentationAtItemLevel=!0);const D=((F=E.content)==null?void 0:F.call(E,P._extends({},q,{externalEventHandlers:y})))??{};return P._extends({},R,D)},getGroupTransitionProps:(T={})=>{const y=j.extractEventHandlers(T),R=P._extends({},y,{unmountOnExit:!0,component:"ul",role:"group",in:w.expanded,children:g},T);return s&&(R.indentationAtItemLevel=!0),R},getIconContainerProps:(T={})=>{const y=j.extractEventHandlers(T);return P._extends({},y,T,{onClick:A(y)})},getCheckboxProps:(T={})=>{const y=j.extractEventHandlers(T);return P._extends({},y,{visible:f,ref:N,checked:w.selected,disabled:I||w.disabled,tabIndex:-1},T,{onChange:Z(y)})},getLabelProps:(T={})=>{const y=P._extends({},j.extractEventHandlers(T)),R=P._extends({},y,{children:x},T,{onDoubleClick:Y(y)});return d.isTreeViewEditable&&(R.editable=w.editable),R},getLabelInputProps:(T={})=>{var D;const y=j.extractEventHandlers(T),R=((D=E.labelInput)==null?void 0:D.call(E,{rootRefObject:S,contentRefObject:O,externalEventHandlers:y,interactions:k}))??{};return P._extends({},T,R)},getDragAndDropOverlayProps:(T={})=>{var D;const y=j.extractEventHandlers(T),R=((D=E.dragAndDropOverlay)==null?void 0:D.call(E,P._extends({},q,{externalEventHandlers:y})))??{};return P._extends({},T,R)},rootRef:$,status:w,publicAPI:r}},Pt=zn;function Ct(e){const{slots:t,slotProps:n,status:o}=e,s=re(),I=P._extends({},s.icons.slots,{expandIcon:s.icons.slots.expandIcon??gt,collapseIcon:s.icons.slots.collapseIcon??bt}),f=s.icons.slotProps;let a;t!=null&&t.icon?a="icon":o.expandable?o.expanded?a="collapseIcon":a="expandIcon":a="endIcon";const u=(t==null?void 0:t[a])??I[a],d=V.useSlotProps({elementType:u,externalSlotProps:r=>P._extends({},j.resolveComponentProps(f[a],r),j.resolveComponentProps(n==null?void 0:n[a],r)),ownerState:{}});return u?v.jsx(u,P._extends({},d)):null}process.env.NODE_ENV!=="production"&&(Ct.propTypes={slotProps:l.PropTypes.object,slots:l.PropTypes.object,status:l.PropTypes.shape({disabled:l.PropTypes.bool.isRequired,editable:l.PropTypes.bool.isRequired,editing:l.PropTypes.bool.isRequired,expandable:l.PropTypes.bool.isRequired,expanded:l.PropTypes.bool.isRequired,focused:l.PropTypes.bool.isRequired,selected:l.PropTypes.bool.isRequired}).isRequired});const Wn=["visible"],Gn=["id","itemId","label","disabled","children","slots","slotProps"],Xn=je(),Et=_.styled("li",{name:"MuiTreeItem2",slot:"Root",overridesResolver:(e,t)=>t.root})({listStyle:"none",margin:0,padding:0,outline:0}),wt=_.styled("div",{name:"MuiTreeItem2",slot:"Content",overridesResolver:(e,t)=>t.content,shouldForwardProp:e=>_.shouldForwardProp(e)&&e!=="status"&&e!=="indentationAtItemLevel"})(({theme:e})=>({padding:e.spacing(.5,1),borderRadius:e.shape.borderRadius,width:"100%",boxSizing:"border-box",position:"relative",display:"flex",alignItems:"center",gap:e.spacing(1),cursor:"pointer",WebkitTapHighlightColor:"transparent","&:hover":{backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:`calc(${e.spacing(1)} + var(--TreeView-itemChildrenIndentation) * var(--TreeView-itemDepth))`}},{props:({status:t})=>t.disabled,style:{opacity:(e.vars||e).palette.action.disabledOpacity,backgroundColor:"transparent"}},{props:({status:t})=>t.focused,style:{backgroundColor:(e.vars||e).palette.action.focus}},{props:({status:t})=>t.selected,style:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:l.alpha(e.palette.primary.main,e.palette.action.selectedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:l.alpha(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:l.alpha(e.palette.primary.main,e.palette.action.selectedOpacity)}}}},{props:({status:t})=>t.selected&&t.focused,style:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:l.alpha(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}}]})),vt=_.styled("div",{name:"MuiTreeItem2",slot:"Label",overridesResolver:(e,t)=>t.label,shouldForwardProp:e=>_.shouldForwardProp(e)&&e!=="editable"})(({theme:e})=>P._extends({width:"100%",boxSizing:"border-box",minWidth:0,position:"relative",overflow:"hidden"},e.typography.body1,{variants:[{props:({editable:t})=>t,style:{paddingLeft:"2px"}}]})),St=_.styled("div",{name:"MuiTreeItem2",slot:"IconContainer",overridesResolver:(e,t)=>t.iconContainer})({width:16,display:"flex",flexShrink:0,justifyContent:"center","& svg":{fontSize:18}}),Rt=_.styled(et.Collapse,{name:"MuiTreeItem2",slot:"GroupTransition",overridesResolver:(e,t)=>t.groupTransition,shouldForwardProp:e=>_.shouldForwardProp(e)&&e!=="indentationAtItemLevel"})({margin:0,padding:0,paddingLeft:"var(--TreeView-itemChildrenIndentation)",variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:0}}]}),Jn=_.styled(C.forwardRef((e,t)=>{const{visible:n}=e,o=W._objectWithoutPropertiesLoose(e,Wn);return n?v.jsx(tt.Checkbox,P._extends({},o,{ref:t})):null}),{name:"MuiTreeItem2",slot:"Checkbox",overridesResolver:(e,t)=>t.checkbox})({padding:0}),Qn=e=>{const{classes:t}=e,n={root:["root"],content:["content"],expanded:["expanded"],editing:["editing"],editable:["editable"],selected:["selected"],focused:["focused"],disabled:["disabled"],iconContainer:["iconContainer"],checkbox:["checkbox"],label:["label"],groupTransition:["groupTransition"],labelInput:["labelInput"],dragAndDropOverlay:["dragAndDropOverlay"]};return _.composeClasses(n,It,t)},Yn=C.forwardRef(function(t,n){const o=Xn({props:t,name:"MuiTreeItem2"}),{id:s,itemId:I,label:f,disabled:a,children:u,slots:d={},slotProps:r={}}=o,i=W._objectWithoutPropertiesLoose(o,Gn),{getRootProps:p,getContentProps:c,getIconContainerProps:x,getCheckboxProps:g,getLabelProps:m,getGroupTransitionProps:b,getLabelInputProps:h,getDragAndDropOverlayProps:E,status:k}=Pt({id:s,itemId:I,children:u,label:f,disabled:a}),w=P._extends({},o,k),S=Qn(w),O=d.root??Et,$=V.useSlotProps({elementType:O,getSlotProps:p,externalForwardedProps:i,externalSlotProps:r.root,additionalProps:{ref:n},ownerState:{},className:S.root}),U=d.content??wt,N=V.useSlotProps({elementType:U,getSlotProps:c,externalSlotProps:r.content,ownerState:{},className:l.clsx(S.content,k.expanded&&S.expanded,k.selected&&S.selected,k.focused&&S.focused,k.disabled&&S.disabled,k.editing&&S.editing,k.editable&&S.editable)}),B=d.iconContainer??St,Q=V.useSlotProps({elementType:B,getSlotProps:x,externalSlotProps:r.iconContainer,ownerState:{},className:S.iconContainer}),q=d.label??vt,z=V.useSlotProps({elementType:q,getSlotProps:m,externalSlotProps:r.label,ownerState:{},className:S.label}),G=d.checkbox??Jn,H=V.useSlotProps({elementType:G,getSlotProps:g,externalSlotProps:r.checkbox,ownerState:{},className:S.checkbox}),Y=d.groupTransition??void 0,ee=V.useSlotProps({elementType:Y,getSlotProps:b,externalSlotProps:r.groupTransition,ownerState:{},className:S.groupTransition}),L=d.labelInput??mt,Z=V.useSlotProps({elementType:L,getSlotProps:h,externalSlotProps:r.labelInput,ownerState:{},className:S.labelInput}),A=d.dragAndDropOverlay??Ne,te=V.useSlotProps({elementType:A,getSlotProps:E,externalSlotProps:r.dragAndDropOverlay,ownerState:{},className:S.dragAndDropOverlay});return v.jsx(Se,{itemId:I,children:v.jsxs(O,P._extends({},$,{children:[v.jsxs(U,P._extends({},N,{children:[v.jsx(B,P._extends({},Q,{children:v.jsx(Ct,{status:k,slots:d,slotProps:r})})),v.jsx(G,P._extends({},H)),k.editing?v.jsx(L,P._extends({},Z)):v.jsx(q,P._extends({},z)),v.jsx(A,P._extends({},te))]})),u&&v.jsx(Rt,P._extends({as:Y},ee))]}))})});process.env.NODE_ENV!=="production"&&(Yn.propTypes={children:l.PropTypes.node,classes:l.PropTypes.object,className:l.PropTypes.string,disabled:l.PropTypes.bool,id:l.PropTypes.string,itemId:l.PropTypes.string.isRequired,label:l.PropTypes.node,onBlur:l.PropTypes.func,onFocus:nt.unsupportedProp,onKeyDown:l.PropTypes.func,slotProps:l.PropTypes.object,slots:l.PropTypes.object});const Zn=()=>C.useRef(void 0);var kt=(e=>(e.FOLDER="FOLDER",e.SHARE="SHARE",e.TRASH="TRASH",e.CUSTOM="CUSTOM",e))(kt||{});const Hn=(e,t)=>{if(!e)return De;if(typeof e!="string")return e;switch(e){case"SHARE":return Yt;case"TRASH":return Ut.DeleteIcon;case"CUSTOM":return t||De;case"FOLDER":default:return De}},eo=J.forwardRef(function(t,n){const{id:o,itemId:s,label:I,disabled:f,children:a,itemData:u,iconColor:d="primary",onClick:r}=t,i=Hn(u==null?void 0:u.iconType,u==null?void 0:u.customIcon),{getRootProps:p,getContentProps:c,getLabelProps:x,getGroupTransitionProps:g,getIconContainerProps:m,status:b}=Pt({id:o,itemId:s,label:I,disabled:f,children:a,rootRef:n}),h=c(),E=J.useCallback(k=>{h.onClick&&h.onClick(k),r&&s&&r(k)},[h,r,s]);return v.jsx(Se,{itemId:s,children:v.jsxs(Et,{...p(),children:[v.jsxs(wt,{...h,onClick:E,style:{display:"flex",alignItems:"center",width:"100%"},children:[v.jsx(St,{...m(),children:v.jsx(i,{fontSize:"small",color:d})}),v.jsx(vt,{...x()}),v.jsx(He.Box,{sx:{display:"flex",marginLeft:"auto"},children:b.expandable&&(b.expanded?v.jsx(Jt,{fontSize:"small"}):v.jsx(Qt,{fontSize:"small"}))})]}),a&&v.jsx(Rt,{...g(),style:b.expanded?{borderLeft:"1px solid #bdbdbd",paddingLeft:"12px",marginLeft:"15px",marginTop:"4px",marginBottom:"4px"}:void 0})]})})}),to=e=>{const t={},n=o=>{var s;t[o.id]=o,(s=o.children)!=null&&s.length&&o.children.forEach(n)};return e.forEach(n),t},Mt=(e,t,n=[])=>{var o;for(const s of t){if(s.id===e)return n;if((o=s.children)!=null&&o.length){const I=Mt(e,s.children,[...n,s.id]);if(I.length>0)return I}}return[]},no=({items:e,onItemSelect:t,iconColor:n="primary",expandedItemId:o})=>{const s=J.useMemo(()=>to(e),[e]),I=Zn(),[f,a]=J.useState(o||null),u=J.useMemo(()=>o?s[o]?[...Mt(o,e),o]:[]:[],[o,s,e]);J.useEffect(()=>{o&&a(o)},[o]),J.useEffect(()=>{if(I.current&&u.length>0){const r=I.current;u.forEach(i=>{try{r.setItemExpansion({},i,!0)}catch(p){console.error("Erreur lors de l'expansion de l'item:",i,p)}})}},[I,u]);const d=J.useCallback((r,i)=>{t&&(console.log("Clic sur l'item:",i),t(r,i),a(i))},[t]);return v.jsx(He.Box,{sx:{minHeight:200,minWidth:200},children:v.jsx(yt,{apiRef:I,items:e,itemChildrenIndentation:"50px",defaultExpandedItems:u,selectedItems:f?[f]:[],disableSelection:!1,multiSelect:!1,slots:{item:r=>{const i=r.itemId?s[r.itemId]:void 0,p=c=>{r.itemId&&d(c,r.itemId)};return v.jsx(eo,{...r,itemData:i,iconColor:n,onClick:p})}}})})};exports.ICON_TYPE=kt;exports.default=no;
@@ -1,14 +1,32 @@
1
1
  import { SvgIconComponent } from '@mui/icons-material';
2
- import { TreeItem2Props as MuiTreeItem2Props } from '@mui/x-tree-view/TreeItem2';
3
2
  import { TreeViewBaseItem } from '@mui/x-tree-view/models/items';
4
3
  import { FC } from 'react';
5
- export interface TreeItem2Props extends MuiTreeItem2Props {
6
- folderIcon?: SvgIconComponent;
4
+ export type TreeViewItemId = string;
5
+ export type TreeViewItemsReorderingAction = "reorder-above" | "reorder-below" | "make-child" | "move-to-parent";
6
+ declare module "@mui/x-tree-view/TreeItem2" {
7
+ interface TreeItem2Props {
8
+ itemData?: CustomTreeViewItem;
9
+ }
7
10
  }
11
+ export declare enum ICON_TYPE {
12
+ FOLDER = "FOLDER",
13
+ SHARE = "SHARE",
14
+ TRASH = "TRASH",
15
+ CUSTOM = "CUSTOM"
16
+ }
17
+ export type IconType = ICON_TYPE | SvgIconComponent;
18
+ export interface CustomTreeViewItemProps {
19
+ id: string;
20
+ label: string;
21
+ iconType?: IconType;
22
+ customIcon?: SvgIconComponent;
23
+ }
24
+ export type CustomTreeViewItem = TreeViewBaseItem<CustomTreeViewItemProps>;
8
25
  export interface TreeViewProps {
9
- items: TreeViewBaseItem[];
26
+ items: CustomTreeViewItem[];
10
27
  onItemSelect?: (event: React.SyntheticEvent, itemId: string) => void;
11
- folderIcon?: SvgIconComponent;
28
+ iconColor?: string;
29
+ expandedItemId?: string;
12
30
  }
13
31
  declare const TreeView: FC<TreeViewProps>;
14
32
  export default TreeView;