@cgi-learning-hub/ui 0.0.1-dev.1710320389 → 0.0.1-dev.1710430307

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -4,23 +4,23 @@ import { L as i } from "./LocalizationProvider-C6_l-HT6.js";
4
4
  import { D as r } from "./DefaultButton-B3Gh8L5b.js";
5
5
  import { default as g } from "./components/buttons/PrimaryButton/PrimaryButton.es.js";
6
6
  import { default as T } from "./components/buttons/SecondaryButton/SecondaryButton.es.js";
7
- import { S as b } from "./SearchInput-BcYvlPos.js";
8
- import { F as c, a as p, L as U, M as u, S as x, T as f, f as d, b as I, g as k, c as P, d as D, e as L, h as B, l as h, m as F, s as S } from "./TextInput-D1X5hxb0.js";
7
+ import { S as m } from "./SearchInput-BcYvlPos.js";
8
+ import { F as c, a as p, L as U, M as u, S as x, T as f, f as d, b as P, g as I, c as k, d as L, e as D, h as B, l as F, m as S, s as h } from "./TextInput-0CaKqo7X.js";
9
9
  import { default as H } from "./components/inputs/PasswordInput/PasswordInput.es.js";
10
10
  import { default as w } from "./components/lists/FileList/FileList.es.js";
11
- import { default as z } from "./components/lists/FileList/FileListItem.es.js";
12
- import { default as v } from "./components/feedback/Alert/Alert.es.js";
11
+ import { default as v } from "./components/lists/FileList/FileListItem.es.js";
12
+ import { default as j } from "./components/feedback/Alert/Alert.es.js";
13
13
  import { u as E } from "./InputBase-C33uI8jX.js";
14
- import { A as J, C as K, ac as N, ad as O, af as Q, ag as V, ai as W, M as X, D as Y, a as Z, b as _, c as $, L as ss, d as as, e as ts, f as es, g as ls, h as is, S as os, T as rs, i as Cs, j as gs, k as ns, l as Ts, m as ms, ak as bs, al as ys, n as cs, o as ps, p as Us, r as us, ae as xs, ah as fs, aj as ds, v as Is, t as ks, x as Ps, z as Ds, E as Ls, q as Bs, s as hs, w as Fs, B as Ss, y as As, F as Hs, u as Ms, H as ws, J as Rs, N as zs, P as js, R as vs, V as qs, X as Es, $ as Gs, a1 as Js, a3 as Ks, a5 as Ns, a7 as Os, Z as Qs, a9 as Vs, ab as Ws, G as Xs, I as Ys, K as Zs, O as _s, Q as $s, U as sa, W as aa, _ as ta, a0 as ea, Y as la, a2 as ia, a4 as oa, a6 as ra, am as Ca, a8 as ga, aa as na } from "./TimePicker-BxeoknBF.js";
15
- import { C as ma, c as ba, g as ya } from "./CircularProgress-DEozo6dl.js";
16
- import { I as pa, g as Ua, i as ua } from "./IconButton-D9mD5ZiR.js";
17
- import { T as fa, a as da, g as Ia, c as ka, t as Pa, b as Da } from "./Tabs-CjFJEyzJ.js";
18
- import { T as Ba, g as ha, t as Fa } from "./Typography-BhmJgmBd.js";
14
+ import { A as J, C as K, al as N, am as O, ao as Q, ap as V, ar as W, M as X, D as Y, a as Z, b as _, c as $, L as ss, d as as, e as ts, f as es, g as ls, h as is, S as os, T as rs, i as Cs, j as gs, k as ns, l as Ts, m as bs, n as ms, o as ys, p as cs, at as ps, au as Us, q as us, r as xs, s as fs, u as ds, an as Ps, aq as Is, as as ks, y as Ls, w as Ds, B as Bs, F as Fs, H as Ss, t as hs, v as As, z as Hs, G as Ms, E as ws, I as Rs, x as vs, K as zs, O as js, Q as qs, U as Es, W as Gs, Y as Js, _ as Ks, a2 as Ns, a4 as Os, a6 as Qs, a8 as Vs, aa as Ws, ac as Xs, ae as Ys, ag as Zs, a0 as _s, ai as $s, ak as sa, J as aa, N as ta, P as ea, R as la, V as ia, X as oa, Z as ra, a1 as Ca, a3 as ga, $ as na, a5 as Ta, a7 as ba, a9 as ma, ab as ya, ad as ca, af as pa, av as Ua, ah as ua, aj as xa } from "./TimePicker-DECNy8o8.js";
15
+ import { C as da, c as Pa, g as Ia } from "./CircularProgress-DEozo6dl.js";
16
+ import { I as La, g as Da, i as Ba } from "./IconButton-D9mD5ZiR.js";
17
+ import { T as Sa, a as ha, g as Aa, c as Ha, t as Ma, b as wa } from "./Tabs-G3I5CqFF.js";
18
+ import { T as va, g as za, t as ja } from "./Typography-BhmJgmBd.js";
19
19
  export {
20
- v as Alert,
20
+ j as Alert,
21
21
  J as AppBar,
22
22
  K as Checkbox,
23
- ma as CircularProgress,
23
+ da as CircularProgress,
24
24
  N as DatePicker,
25
25
  O as DatePickerToolbar,
26
26
  Q as DateTimePicker,
@@ -34,10 +34,10 @@ export {
34
34
  $ as DialogTitle,
35
35
  e as Dropzone,
36
36
  w as FileList,
37
- z as FileListItem,
37
+ v as FileListItem,
38
38
  c as FormControl,
39
39
  p as FormHelperText,
40
- pa as IconButton,
40
+ La as IconButton,
41
41
  ss as LinearProgress,
42
42
  as as Link,
43
43
  U as List,
@@ -49,91 +49,100 @@ export {
49
49
  is as MenuItem,
50
50
  H as PasswordInput,
51
51
  g as PrimaryButton,
52
- b as SearchInput,
52
+ m as SearchInput,
53
53
  T as SecondaryButton,
54
54
  x as Select,
55
55
  os as Snackbar,
56
- fa as Tab,
56
+ Sa as Tab,
57
57
  rs as Table,
58
58
  Cs as TableBody,
59
59
  gs as TableCell,
60
60
  ns as TableContainer,
61
- Ts as TableHead,
62
- ms as TableRow,
63
- da as Tabs,
61
+ Ts as TableFooter,
62
+ bs as TableHead,
63
+ ms as TablePagination,
64
+ ys as TableRow,
65
+ cs as TableSortLabel,
66
+ ha as Tabs,
64
67
  f as TextInput,
65
- bs as TimePicker,
66
- ys as TimePickerToolbar,
67
- cs as Toolbar,
68
- ps as Tooltip,
69
- Ba as Typography,
70
- Us as appBarClasses,
71
- us as checkboxClasses,
72
- ba as circularProgressClasses,
73
- xs as datePickerToolbarClasses,
74
- fs as dateTimePickerTabsClasses,
75
- ds as dateTimePickerToolbarClasses,
76
- Is as dialogActionsClasses,
77
- ks as dialogClasses,
78
- Ps as dialogContentClasses,
79
- Ds as dialogContentTextClasses,
80
- Ls as dialogTitleClasses,
68
+ ps as TimePicker,
69
+ Us as TimePickerToolbar,
70
+ us as Toolbar,
71
+ xs as Tooltip,
72
+ va as Typography,
73
+ fs as appBarClasses,
74
+ ds as checkboxClasses,
75
+ Pa as circularProgressClasses,
76
+ Ps as datePickerToolbarClasses,
77
+ Is as dateTimePickerTabsClasses,
78
+ ks as dateTimePickerToolbarClasses,
79
+ Ls as dialogActionsClasses,
80
+ Ds as dialogClasses,
81
+ Bs as dialogContentClasses,
82
+ Fs as dialogContentTextClasses,
83
+ Ss as dialogTitleClasses,
81
84
  d as formControlClasses,
82
- I as formHelperTextClasses,
83
- Bs as getAppBarUtilityClass,
84
- hs as getCheckboxUtilityClass,
85
- ya as getCircularProgressUtilityClass,
86
- Fs as getDialogActionsUtilityClass,
87
- Ss as getDialogContentTextUtilityClass,
88
- As as getDialogContentUtilityClass,
89
- Hs as getDialogTitleUtilityClass,
90
- Ms as getDialogUtilityClass,
91
- k as getFormControlUtilityClasses,
92
- P as getFormHelperTextUtilityClasses,
93
- Ua as getIconButtonUtilityClass,
94
- ws as getLinearProgressUtilityClass,
95
- Rs as getLinkUtilityClass,
96
- zs as getListItemButtonUtilityClass,
97
- js as getListItemIconUtilityClass,
98
- vs as getListItemTextUtilityClass,
99
- D as getListUtilityClass,
100
- qs as getMenuItemUtilityClass,
101
- L as getMenuUtilityClass,
85
+ P as formHelperTextClasses,
86
+ hs as getAppBarUtilityClass,
87
+ As as getCheckboxUtilityClass,
88
+ Ia as getCircularProgressUtilityClass,
89
+ Hs as getDialogActionsUtilityClass,
90
+ Ms as getDialogContentTextUtilityClass,
91
+ ws as getDialogContentUtilityClass,
92
+ Rs as getDialogTitleUtilityClass,
93
+ vs as getDialogUtilityClass,
94
+ I as getFormControlUtilityClasses,
95
+ k as getFormHelperTextUtilityClasses,
96
+ Da as getIconButtonUtilityClass,
97
+ zs as getLinearProgressUtilityClass,
98
+ js as getLinkUtilityClass,
99
+ qs as getListItemButtonUtilityClass,
100
+ Es as getListItemIconUtilityClass,
101
+ Gs as getListItemTextUtilityClass,
102
+ L as getListUtilityClass,
103
+ Js as getMenuItemUtilityClass,
104
+ D as getMenuUtilityClass,
102
105
  B as getSelectUtilityClasses,
103
- Es as getSnackbarUtilityClass,
104
- Ia as getTabUtilityClass,
105
- Gs as getTableBodyUtilityClass,
106
- Js as getTableCellUtilityClass,
107
- Ks as getTableContainerUtilityClass,
108
- Ns as getTableHeadUtilityClass,
109
- Os as getTableRowUtilityClass,
110
- Qs as getTableUtilityClass,
111
- ka as getTabsUtilityClass,
112
- Vs as getToolbarUtilityClass,
113
- Ws as getTooltipUtilityClass,
114
- ha as getTypographyUtilityClass,
115
- ua as iconButtonClasses,
116
- Xs as linearProgressClasses,
117
- Ys as linkClasses,
118
- h as listClasses,
119
- Zs as listItemButtonClasses,
120
- _s as listItemIconClasses,
121
- $s as listItemTextClasses,
122
- F as menuClasses,
123
- sa as menuItemClasses,
124
- S as selectClasses,
125
- aa as snackbarClasses,
126
- Pa as tabClasses,
127
- ta as tableBodyClasses,
128
- ea as tableCellClasses,
129
- la as tableClasses,
130
- ia as tableContainerClasses,
131
- oa as tableHeadClasses,
132
- ra as tableRowClasses,
133
- Da as tabsClasses,
134
- Ca as timePickerToolbarClasses,
135
- ga as toolbarClasses,
136
- na as tooltipClasses,
137
- Fa as typographyClasses,
106
+ Ks as getSnackbarUtilityClass,
107
+ Aa as getTabUtilityClass,
108
+ Ns as getTableBodyUtilityClass,
109
+ Os as getTableCellUtilityClass,
110
+ Qs as getTableContainerUtilityClass,
111
+ Vs as getTableFooterUtilityClass,
112
+ Ws as getTableHeadUtilityClass,
113
+ Xs as getTablePaginationUtilityClass,
114
+ Ys as getTableRowUtilityClass,
115
+ Zs as getTableSortLabelUtilityClass,
116
+ _s as getTableUtilityClass,
117
+ Ha as getTabsUtilityClass,
118
+ $s as getToolbarUtilityClass,
119
+ sa as getTooltipUtilityClass,
120
+ za as getTypographyUtilityClass,
121
+ Ba as iconButtonClasses,
122
+ aa as linearProgressClasses,
123
+ ta as linkClasses,
124
+ F as listClasses,
125
+ ea as listItemButtonClasses,
126
+ la as listItemIconClasses,
127
+ ia as listItemTextClasses,
128
+ S as menuClasses,
129
+ oa as menuItemClasses,
130
+ h as selectClasses,
131
+ ra as snackbarClasses,
132
+ Ma as tabClasses,
133
+ Ca as tableBodyClasses,
134
+ ga as tableCellClasses,
135
+ na as tableClasses,
136
+ Ta as tableContainerClasses,
137
+ ba as tableFooterClasses,
138
+ ma as tableHeadClasses,
139
+ ya as tablePaginationClasses,
140
+ ca as tableRowClasses,
141
+ pa as tableSortLabelClasses,
142
+ wa as tabsClasses,
143
+ Ua as timePickerToolbarClasses,
144
+ ua as toolbarClasses,
145
+ xa as tooltipClasses,
146
+ ja as typographyClasses,
138
147
  E as useFormControl
139
148
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cgi-learning-hub/ui",
3
- "version": "0.0.1-dev.1710320389",
3
+ "version": "0.0.1-dev.1710430307",
4
4
  "private": false,
5
5
  "author": "CGI Learning-hub Team",
6
6
  "description": "@cgi-learning-hub/ui is an open-source React component library that implements UI for HUB's features",
@@ -1,4 +0,0 @@
1
- "use strict";const e=require("./useThemeProps-BRWSvuZw.cjs"),Je=require("react"),u=require("./styled-DFoJwRxe.cjs"),T=require("react/jsx-runtime"),Ee=require("./ButtonBase-DTmn2sD_.cjs"),Qe=require("./unsupportedProp-Bn6XWqwH.cjs"),H=require("./useSlotProps-ClYHhvSr.cjs"),Ze=require("./useForkRef-DfdM2MN5.cjs"),J=require("./ownerWindow-Dk_4aaak.cjs"),ue=require("./useTimeout-D8rbe5ty.cjs"),eo=require("./refType-5EEBZL5_.cjs"),Oe=require("./createSvgIcon-C2VxBqzG.cjs");function oo(o){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const n in o)if(n!=="default"){const i=Object.getOwnPropertyDescriptor(o,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:()=>o[n]})}}return t.default=o,Object.freeze(t)}const d=oo(Je);let q;function Ne(){if(q)return q;const o=document.createElement("div"),t=document.createElement("div");return t.style.width="10px",t.style.height="1px",o.appendChild(t),o.dir="rtl",o.style.fontSize="14px",o.style.width="4px",o.style.height="1px",o.style.position="absolute",o.style.top="-1000px",o.style.overflow="scroll",document.body.appendChild(o),q="reverse",o.scrollLeft>0?q="default":(o.scrollLeft=1,o.scrollLeft===0&&(q="negative")),document.body.removeChild(o),q}function to(o,t){const n=o.scrollLeft;if(t!=="rtl")return n;switch(Ne()){case"negative":return o.scrollWidth-o.clientWidth+n;case"reverse":return o.scrollWidth-o.clientWidth-n;default:return n}}function Me(o){return e.generateUtilityClass("MuiTab",o)}const ro=u.generateUtilityClasses("MuiTab",["root","labelIcon","textColorInherit","textColorPrimary","textColorSecondary","selected","disabled","fullWidth","wrapped","iconWrapper"]),W=ro,so=["className","disabled","disableFocusRipple","fullWidth","icon","iconPosition","indicator","label","onChange","onClick","onFocus","selected","selectionFollowsFocus","textColor","value","wrapped"],no=o=>{const{classes:t,textColor:n,fullWidth:i,wrapped:l,icon:p,label:h,selected:y,disabled:b}=o,v={root:["root",p&&h&&"labelIcon",`textColor${e.capitalize(n)}`,i&&"fullWidth",l&&"wrapped",y&&"selected",b&&"disabled"],iconWrapper:["iconWrapper"]};return u.composeClasses(v,Me,t)},lo=u.styled(Ee.ButtonBase,{name:"MuiTab",slot:"Root",overridesResolver:(o,t)=>{const{ownerState:n}=o;return[t.root,n.label&&n.icon&&t.labelIcon,t[`textColor${e.capitalize(n.textColor)}`],n.fullWidth&&t.fullWidth,n.wrapped&&t.wrapped]}})(({theme:o,ownerState:t})=>e._extends({},o.typography.button,{maxWidth:360,minWidth:90,position:"relative",minHeight:48,flexShrink:0,padding:"12px 16px",overflow:"hidden",whiteSpace:"normal",textAlign:"center"},t.label&&{flexDirection:t.iconPosition==="top"||t.iconPosition==="bottom"?"column":"row"},{lineHeight:1.25},t.icon&&t.label&&{minHeight:72,paddingTop:9,paddingBottom:9,[`& > .${W.iconWrapper}`]:e._extends({},t.iconPosition==="top"&&{marginBottom:6},t.iconPosition==="bottom"&&{marginTop:6},t.iconPosition==="start"&&{marginRight:o.spacing(1)},t.iconPosition==="end"&&{marginLeft:o.spacing(1)})},t.textColor==="inherit"&&{color:"inherit",opacity:.6,[`&.${W.selected}`]:{opacity:1},[`&.${W.disabled}`]:{opacity:(o.vars||o).palette.action.disabledOpacity}},t.textColor==="primary"&&{color:(o.vars||o).palette.text.secondary,[`&.${W.selected}`]:{color:(o.vars||o).palette.primary.main},[`&.${W.disabled}`]:{color:(o.vars||o).palette.text.disabled}},t.textColor==="secondary"&&{color:(o.vars||o).palette.text.secondary,[`&.${W.selected}`]:{color:(o.vars||o).palette.secondary.main},[`&.${W.disabled}`]:{color:(o.vars||o).palette.text.disabled}},t.fullWidth&&{flexShrink:1,flexGrow:1,flexBasis:0,maxWidth:"none"},t.wrapped&&{fontSize:o.typography.pxToRem(12)})),Re=d.forwardRef(function(t,n){const i=e.useThemeProps({props:t,name:"MuiTab"}),{className:l,disabled:p=!1,disableFocusRipple:h=!1,fullWidth:y,icon:b,iconPosition:v="top",indicator:w,label:I,onChange:x,onClick:m,onFocus:F,selected:E,selectionFollowsFocus:P,textColor:D="inherit",value:g,wrapped:le=!1}=i,A=e._objectWithoutPropertiesLoose(i,so),V=e._extends({},i,{disabled:p,disableFocusRipple:h,selected:E,icon:!!b,iconPosition:v,label:!!I,fullWidth:y,textColor:D,wrapped:le}),U=no(V),z=b&&I&&d.isValidElement(b)?d.cloneElement(b,{className:u.clsx(U.iconWrapper,b.props.className)}):b,Q=N=>{!E&&x&&x(N,g),m&&m(N)},R=N=>{P&&!E&&x&&x(N,g),F&&F(N)};return T.jsxs(lo,e._extends({focusRipple:!h,className:u.clsx(U.root,l),ref:n,role:"tab","aria-selected":E,disabled:p,onClick:Q,onFocus:R,ownerState:V,tabIndex:E?0:-1},A,{children:[v==="top"||v==="start"?T.jsxs(d.Fragment,{children:[z,I]}):T.jsxs(d.Fragment,{children:[I,z]}),w]}))});process.env.NODE_ENV!=="production"&&(Re.propTypes={children:Qe.unsupportedProp,classes:e.PropTypes.object,className:e.PropTypes.string,disabled:e.PropTypes.bool,disableFocusRipple:e.PropTypes.bool,disableRipple:e.PropTypes.bool,icon:e.PropTypes.oneOfType([e.PropTypes.element,e.PropTypes.string]),iconPosition:e.PropTypes.oneOf(["bottom","end","start","top"]),label:e.PropTypes.node,onChange:e.PropTypes.func,onClick:e.PropTypes.func,onFocus:e.PropTypes.func,sx:e.PropTypes.oneOfType([e.PropTypes.arrayOf(e.PropTypes.oneOfType([e.PropTypes.func,e.PropTypes.object,e.PropTypes.bool])),e.PropTypes.func,e.PropTypes.object]),value:e.PropTypes.any,wrapped:e.PropTypes.bool});const io=Re;function co(o){return(1+Math.sin(Math.PI*o-Math.PI/2))/2}function ao(o,t,n,i={},l=()=>{}){const{ease:p=co,duration:h=300}=i;let y=null;const b=t[o];let v=!1;const w=()=>{v=!0},I=x=>{if(v){l(new Error("Animation cancelled"));return}y===null&&(y=x);const m=Math.min(1,(x-y)/h);if(t[o]=p(m)*(n-b)+b,m>=1){requestAnimationFrame(()=>{l(null)});return}requestAnimationFrame(I)};return b===n?(l(new Error("Element already at target position")),w):(requestAnimationFrame(I),w)}const po=["onChange"],uo={width:99,height:99,position:"absolute",top:-9999,overflow:"scroll"};function _e(o){const{onChange:t}=o,n=e._objectWithoutPropertiesLoose(o,po),i=d.useRef(),l=d.useRef(null),p=()=>{i.current=l.current.offsetHeight-l.current.clientHeight};return Ze.useEnhancedEffect(()=>{const h=J.debounce(()=>{const b=i.current;p(),b!==i.current&&t(i.current)}),y=J.ownerWindow(l.current);return y.addEventListener("resize",h),()=>{h.clear(),y.removeEventListener("resize",h)}},[t]),d.useEffect(()=>{p(),t(i.current)},[t]),T.jsx("div",e._extends({style:uo,ref:l},n))}process.env.NODE_ENV!=="production"&&(_e.propTypes={onChange:e.PropTypes.func.isRequired});const bo=Oe.createSvgIcon(T.jsx("path",{d:"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"}),"KeyboardArrowLeft"),fo=Oe.createSvgIcon(T.jsx("path",{d:"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"}),"KeyboardArrowRight");function yo(o){return e.generateUtilityClass("MuiTabScrollButton",o)}const ho=u.generateUtilityClasses("MuiTabScrollButton",["root","vertical","horizontal","disabled"]),To=ho,vo=["className","slots","slotProps","direction","orientation","disabled"],So=o=>{const{classes:t,orientation:n,disabled:i}=o,l={root:["root",n,i&&"disabled"]};return u.composeClasses(l,yo,t)},mo=u.styled(Ee.ButtonBase,{name:"MuiTabScrollButton",slot:"Root",overridesResolver:(o,t)=>{const{ownerState:n}=o;return[t.root,n.orientation&&t[n.orientation]]}})(({ownerState:o})=>e._extends({width:40,flexShrink:0,opacity:.8,[`&.${To.disabled}`]:{opacity:0}},o.orientation==="vertical"&&{width:"100%",height:40,"& svg":{transform:`rotate(${o.isRtl?-90:90}deg)`}})),je=d.forwardRef(function(t,n){var i,l;const p=e.useThemeProps({props:t,name:"MuiTabScrollButton"}),{className:h,slots:y={},slotProps:b={},direction:v}=p,w=e._objectWithoutPropertiesLoose(p,vo),x=H.useTheme().direction==="rtl",m=e._extends({isRtl:x},p),F=So(m),E=(i=y.StartScrollButtonIcon)!=null?i:bo,P=(l=y.EndScrollButtonIcon)!=null?l:fo,D=H.useSlotProps({elementType:E,externalSlotProps:b.startScrollButtonIcon,additionalProps:{fontSize:"small"},ownerState:m}),g=H.useSlotProps({elementType:P,externalSlotProps:b.endScrollButtonIcon,additionalProps:{fontSize:"small"},ownerState:m});return T.jsx(mo,e._extends({component:"div",className:u.clsx(F.root,h),ref:n,role:null,ownerState:m,tabIndex:null},w,{children:v==="left"?T.jsx(E,e._extends({},D)):T.jsx(P,e._extends({},g))}))});process.env.NODE_ENV!=="production"&&(je.propTypes={children:e.PropTypes.node,classes:e.PropTypes.object,className:e.PropTypes.string,direction:e.PropTypes.oneOf(["left","right"]).isRequired,disabled:e.PropTypes.bool,orientation:e.PropTypes.oneOf(["horizontal","vertical"]).isRequired,slotProps:e.PropTypes.shape({endScrollButtonIcon:e.PropTypes.oneOfType([e.PropTypes.func,e.PropTypes.object]),startScrollButtonIcon:e.PropTypes.oneOfType([e.PropTypes.func,e.PropTypes.object])}),slots:e.PropTypes.shape({EndScrollButtonIcon:e.PropTypes.elementType,StartScrollButtonIcon:e.PropTypes.elementType}),sx:e.PropTypes.oneOfType([e.PropTypes.arrayOf(e.PropTypes.oneOfType([e.PropTypes.func,e.PropTypes.object,e.PropTypes.bool])),e.PropTypes.func,e.PropTypes.object])});const Po=je;function We(o){return e.generateUtilityClass("MuiTabs",o)}const xo=u.generateUtilityClasses("MuiTabs",["root","vertical","flexContainer","flexContainerVertical","centered","scroller","fixed","scrollableX","scrollableY","hideScrollbar","scrollButtons","scrollButtonsHideMobile","indicator"]),ne=xo,go=["aria-label","aria-labelledby","action","centered","children","className","component","allowScrollButtonsMobile","indicatorColor","onChange","orientation","ScrollButtonComponent","scrollButtons","selectionFollowsFocus","slots","slotProps","TabIndicatorProps","TabScrollButtonProps","textColor","value","variant","visibleScrollbar"],Ce=(o,t)=>o===t?o.firstChild:t&&t.nextElementSibling?t.nextElementSibling:o.firstChild,Be=(o,t)=>o===t?o.lastChild:t&&t.previousElementSibling?t.previousElementSibling:o.lastChild,se=(o,t,n)=>{let i=!1,l=n(o,t);for(;l;){if(l===o.firstChild){if(i)return;i=!0}const p=l.disabled||l.getAttribute("aria-disabled")==="true";if(!l.hasAttribute("tabindex")||p)l=n(o,l);else{l.focus();return}}},Co=o=>{const{vertical:t,fixed:n,hideScrollbar:i,scrollableX:l,scrollableY:p,centered:h,scrollButtonsHideMobile:y,classes:b}=o,v={root:["root",t&&"vertical"],scroller:["scroller",n&&"fixed",i&&"hideScrollbar",l&&"scrollableX",p&&"scrollableY"],flexContainer:["flexContainer",t&&"flexContainerVertical",h&&"centered"],indicator:["indicator"],scrollButtons:["scrollButtons",y&&"scrollButtonsHideMobile"],scrollableX:[l&&"scrollableX"],hideScrollbar:[i&&"hideScrollbar"]};return u.composeClasses(v,We,b)},Bo=u.styled("div",{name:"MuiTabs",slot:"Root",overridesResolver:(o,t)=>{const{ownerState:n}=o;return[{[`& .${ne.scrollButtons}`]:t.scrollButtons},{[`& .${ne.scrollButtons}`]:n.scrollButtonsHideMobile&&t.scrollButtonsHideMobile},t.root,n.vertical&&t.vertical]}})(({ownerState:o,theme:t})=>e._extends({overflow:"hidden",minHeight:48,WebkitOverflowScrolling:"touch",display:"flex"},o.vertical&&{flexDirection:"column"},o.scrollButtonsHideMobile&&{[`& .${ne.scrollButtons}`]:{[t.breakpoints.down("sm")]:{display:"none"}}})),wo=u.styled("div",{name:"MuiTabs",slot:"Scroller",overridesResolver:(o,t)=>{const{ownerState:n}=o;return[t.scroller,n.fixed&&t.fixed,n.hideScrollbar&&t.hideScrollbar,n.scrollableX&&t.scrollableX,n.scrollableY&&t.scrollableY]}})(({ownerState:o})=>e._extends({position:"relative",display:"inline-block",flex:"1 1 auto",whiteSpace:"nowrap"},o.fixed&&{overflowX:"hidden",width:"100%"},o.hideScrollbar&&{scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}},o.scrollableX&&{overflowX:"auto",overflowY:"hidden"},o.scrollableY&&{overflowY:"auto",overflowX:"hidden"})),Io=u.styled("div",{name:"MuiTabs",slot:"FlexContainer",overridesResolver:(o,t)=>{const{ownerState:n}=o;return[t.flexContainer,n.vertical&&t.flexContainerVertical,n.centered&&t.centered]}})(({ownerState:o})=>e._extends({display:"flex"},o.vertical&&{flexDirection:"column"},o.centered&&{justifyContent:"center"})),Eo=u.styled("span",{name:"MuiTabs",slot:"Indicator",overridesResolver:(o,t)=>t.indicator})(({ownerState:o,theme:t})=>e._extends({position:"absolute",height:2,bottom:0,width:"100%",transition:t.transitions.create()},o.indicatorColor==="primary"&&{backgroundColor:(t.vars||t).palette.primary.main},o.indicatorColor==="secondary"&&{backgroundColor:(t.vars||t).palette.secondary.main},o.vertical&&{height:"100%",width:2,right:0})),Oo=u.styled(_e)({overflowX:"auto",overflowY:"hidden",scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}),we={};let Ie=!1;const ze=d.forwardRef(function(t,n){const i=e.useThemeProps({props:t,name:"MuiTabs"}),l=H.useTheme(),p=l.direction==="rtl",{"aria-label":h,"aria-labelledby":y,action:b,centered:v=!1,children:w,className:I,component:x="div",allowScrollButtonsMobile:m=!1,indicatorColor:F="primary",onChange:E,orientation:P="horizontal",ScrollButtonComponent:D=Po,scrollButtons:g="auto",selectionFollowsFocus:le,slots:A={},slotProps:V={},TabIndicatorProps:U={},TabScrollButtonProps:z={},textColor:Q="primary",value:R,variant:N="standard",visibleScrollbar:ie=!1}=i,Le=e._objectWithoutPropertiesLoose(i,go),C=N==="scrollable",B=P==="vertical",X=B?"scrollTop":"scrollLeft",Z=B?"top":"left",ee=B?"bottom":"right",ce=B?"clientHeight":"clientWidth",Y=B?"height":"width",L=e._extends({},i,{component:x,allowScrollButtonsMobile:m,indicatorColor:F,orientation:P,vertical:B,scrollButtons:g,textColor:Q,variant:N,visibleScrollbar:ie,fixed:!C,hideScrollbar:C&&!ie,scrollableX:C&&!B,scrollableY:C&&B,centered:v&&!C,scrollButtonsHideMobile:!m}),_=Co(L),ke=H.useSlotProps({elementType:A.StartScrollButtonIcon,externalSlotProps:V.startScrollButtonIcon,ownerState:L}),$e=H.useSlotProps({elementType:A.EndScrollButtonIcon,externalSlotProps:V.endScrollButtonIcon,ownerState:L});process.env.NODE_ENV!=="production"&&v&&C&&console.error('MUI: You can not use the `centered={true}` and `variant="scrollable"` properties at the same time on a `Tabs` component.');const[be,Fe]=d.useState(!1),[k,fe]=d.useState(we),[ye,De]=d.useState(!1),[he,Ae]=d.useState(!1),[Te,Ue]=d.useState(!1),[ve,qe]=d.useState({overflow:"hidden",scrollbarWidth:0}),oe=new Map,M=d.useRef(null),$=d.useRef(null),Se=()=>{const r=M.current;let s;if(r){const a=r.getBoundingClientRect();s={clientWidth:r.clientWidth,scrollLeft:r.scrollLeft,scrollTop:r.scrollTop,scrollLeftNormalized:to(r,l.direction),scrollWidth:r.scrollWidth,top:a.top,bottom:a.bottom,left:a.left,right:a.right}}let c;if(r&&R!==!1){const a=$.current.children;if(a.length>0){const f=a[oe.get(R)];process.env.NODE_ENV!=="production"&&(f||console.error(["MUI: The `value` provided to the Tabs component is invalid.",`None of the Tabs' children match with "${R}".`,oe.keys?`You can provide one of the following values: ${Array.from(oe.keys()).join(", ")}.`:null].join(`
2
- `))),c=f?f.getBoundingClientRect():null,process.env.NODE_ENV!=="production"&&process.env.NODE_ENV!=="test"&&!Ie&&c&&c.width===0&&c.height===0&&s.clientWidth!==0&&(s=null,console.error(["MUI: The `value` provided to the Tabs component is invalid.",`The Tab with this \`value\` ("${R}") is not part of the document layout.`,"Make sure the tab item is present in the document or that it's not `display: none`."].join(`
3
- `)),Ie=!0)}}return{tabsMeta:s,tabMeta:c}},K=ue.useEventCallback(()=>{const{tabsMeta:r,tabMeta:s}=Se();let c=0,a;if(B)a="top",s&&r&&(c=s.top-r.top+r.scrollTop);else if(a=p?"right":"left",s&&r){const S=p?r.scrollLeftNormalized+r.clientWidth-r.scrollWidth:r.scrollLeft;c=(p?-1:1)*(s[a]-r[a]+S)}const f={[a]:c,[Y]:s?s[Y]:0};if(isNaN(k[a])||isNaN(k[Y]))fe(f);else{const S=Math.abs(k[a]-f[a]),O=Math.abs(k[Y]-f[Y]);(S>=1||O>=1)&&fe(f)}}),ae=(r,{animation:s=!0}={})=>{s?ao(X,M.current,r,{duration:l.transitions.duration.standard}):M.current[X]=r},me=r=>{let s=M.current[X];B?s+=r:(s+=r*(p?-1:1),s*=p&&Ne()==="reverse"?-1:1),ae(s)},Pe=()=>{const r=M.current[ce];let s=0;const c=Array.from($.current.children);for(let a=0;a<c.length;a+=1){const f=c[a];if(s+f[ce]>r){a===0&&(s=r);break}s+=f[ce]}return s},He=()=>{me(-1*Pe())},Ve=()=>{me(Pe())},Xe=d.useCallback(r=>{qe({overflow:null,scrollbarWidth:r})},[]),Ye=()=>{const r={};r.scrollbarSizeListener=C?T.jsx(Oo,{onChange:Xe,className:u.clsx(_.scrollableX,_.hideScrollbar)}):null;const c=C&&(g==="auto"&&(ye||he)||g===!0);return r.scrollButtonStart=c?T.jsx(D,e._extends({slots:{StartScrollButtonIcon:A.StartScrollButtonIcon},slotProps:{startScrollButtonIcon:ke},orientation:P,direction:p?"right":"left",onClick:He,disabled:!ye},z,{className:u.clsx(_.scrollButtons,z.className)})):null,r.scrollButtonEnd=c?T.jsx(D,e._extends({slots:{EndScrollButtonIcon:A.EndScrollButtonIcon},slotProps:{endScrollButtonIcon:$e},orientation:P,direction:p?"left":"right",onClick:Ve,disabled:!he},z,{className:u.clsx(_.scrollButtons,z.className)})):null,r},xe=ue.useEventCallback(r=>{const{tabsMeta:s,tabMeta:c}=Se();if(!(!c||!s)){if(c[Z]<s[Z]){const a=s[X]+(c[Z]-s[Z]);ae(a,{animation:r})}else if(c[ee]>s[ee]){const a=s[X]+(c[ee]-s[ee]);ae(a,{animation:r})}}}),te=ue.useEventCallback(()=>{C&&g!==!1&&Ue(!Te)});d.useEffect(()=>{const r=J.debounce(()=>{M.current&&K()});let s;const c=S=>{S.forEach(O=>{O.removedNodes.forEach(G=>{var j;(j=s)==null||j.unobserve(G)}),O.addedNodes.forEach(G=>{var j;(j=s)==null||j.observe(G)})}),r(),te()},a=J.ownerWindow(M.current);a.addEventListener("resize",r);let f;return typeof ResizeObserver<"u"&&(s=new ResizeObserver(r),Array.from($.current.children).forEach(S=>{s.observe(S)})),typeof MutationObserver<"u"&&(f=new MutationObserver(c),f.observe($.current,{childList:!0})),()=>{var S,O;r.clear(),a.removeEventListener("resize",r),(S=f)==null||S.disconnect(),(O=s)==null||O.disconnect()}},[K,te]),d.useEffect(()=>{const r=Array.from($.current.children),s=r.length;if(typeof IntersectionObserver<"u"&&s>0&&C&&g!==!1){const c=r[0],a=r[s-1],f={root:M.current,threshold:.99},S=pe=>{De(!pe[0].isIntersecting)},O=new IntersectionObserver(S,f);O.observe(c);const G=pe=>{Ae(!pe[0].isIntersecting)},j=new IntersectionObserver(G,f);return j.observe(a),()=>{O.disconnect(),j.disconnect()}}},[C,g,Te,w==null?void 0:w.length]),d.useEffect(()=>{Fe(!0)},[]),d.useEffect(()=>{K()}),d.useEffect(()=>{xe(we!==k)},[xe,k]),d.useImperativeHandle(b,()=>({updateIndicator:K,updateScrollButtons:te}),[K,te]);const ge=T.jsx(Eo,e._extends({},U,{className:u.clsx(_.indicator,U.className),ownerState:L,style:e._extends({},k,U.style)}));let re=0;const Ke=d.Children.map(w,r=>{if(!d.isValidElement(r))return null;process.env.NODE_ENV!=="production"&&u.reactIsExports.isFragment(r)&&console.error(["MUI: The Tabs component doesn't accept a Fragment as a child.","Consider providing an array instead."].join(`
4
- `));const s=r.props.value===void 0?re:r.props.value;oe.set(s,re);const c=s===R;return re+=1,d.cloneElement(r,e._extends({fullWidth:N==="fullWidth",indicator:c&&!be&&ge,selected:c,selectionFollowsFocus:le,onChange:E,textColor:Q,value:s},re===1&&R===!1&&!r.props.tabIndex?{tabIndex:0}:{}))}),Ge=r=>{const s=$.current,c=J.ownerDocument(s).activeElement;if(c.getAttribute("role")!=="tab")return;let f=P==="horizontal"?"ArrowLeft":"ArrowUp",S=P==="horizontal"?"ArrowRight":"ArrowDown";switch(P==="horizontal"&&p&&(f="ArrowRight",S="ArrowLeft"),r.key){case f:r.preventDefault(),se(s,c,Be);break;case S:r.preventDefault(),se(s,c,Ce);break;case"Home":r.preventDefault(),se(s,null,Ce);break;case"End":r.preventDefault(),se(s,null,Be);break}},de=Ye();return T.jsxs(Bo,e._extends({className:u.clsx(_.root,I),ownerState:L,ref:n,as:x},Le,{children:[de.scrollButtonStart,de.scrollbarSizeListener,T.jsxs(wo,{className:_.scroller,ownerState:L,style:{overflow:ve.overflow,[B?`margin${p?"Left":"Right"}`:"marginBottom"]:ie?void 0:-ve.scrollbarWidth},ref:M,children:[T.jsx(Io,{"aria-label":h,"aria-labelledby":y,"aria-orientation":P==="vertical"?"vertical":null,className:_.flexContainer,ownerState:L,onKeyDown:Ge,ref:$,role:"tablist",children:Ke}),be&&ge]}),de.scrollButtonEnd]}))});process.env.NODE_ENV!=="production"&&(ze.propTypes={action:eo.refType,allowScrollButtonsMobile:e.PropTypes.bool,"aria-label":e.PropTypes.string,"aria-labelledby":e.PropTypes.string,centered:e.PropTypes.bool,children:e.PropTypes.node,classes:e.PropTypes.object,className:e.PropTypes.string,component:e.PropTypes.elementType,indicatorColor:e.PropTypes.oneOfType([e.PropTypes.oneOf(["primary","secondary"]),e.PropTypes.string]),onChange:e.PropTypes.func,orientation:e.PropTypes.oneOf(["horizontal","vertical"]),ScrollButtonComponent:e.PropTypes.elementType,scrollButtons:e.PropTypes.oneOf(["auto",!1,!0]),selectionFollowsFocus:e.PropTypes.bool,slotProps:e.PropTypes.shape({endScrollButtonIcon:e.PropTypes.oneOfType([e.PropTypes.func,e.PropTypes.object]),startScrollButtonIcon:e.PropTypes.oneOfType([e.PropTypes.func,e.PropTypes.object])}),slots:e.PropTypes.shape({EndScrollButtonIcon:e.PropTypes.elementType,StartScrollButtonIcon:e.PropTypes.elementType}),sx:e.PropTypes.oneOfType([e.PropTypes.arrayOf(e.PropTypes.oneOfType([e.PropTypes.func,e.PropTypes.object,e.PropTypes.bool])),e.PropTypes.func,e.PropTypes.object]),TabIndicatorProps:e.PropTypes.object,TabScrollButtonProps:e.PropTypes.object,textColor:e.PropTypes.oneOf(["inherit","primary","secondary"]),value:e.PropTypes.any,variant:e.PropTypes.oneOf(["fullWidth","scrollable","standard"]),visibleScrollbar:e.PropTypes.bool});const No=ze;exports.Tab=io;exports.Tabs=No;exports.getTabUtilityClass=Me;exports.getTabsUtilityClass=We;exports.tabClasses=W;exports.tabsClasses=ne;