@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/{Tabs-CjFJEyzJ.js → Tabs-G3I5CqFF.js} +15 -14
- package/dist/Tabs-MSRm-oIZ.cjs +4 -0
- package/dist/{TextInput-D1X5hxb0.js → TextInput-0CaKqo7X.js} +4 -3
- package/dist/{TextInput-DCt0B3SN.cjs → TextInput-BCqgoYcv.cjs} +11 -11
- package/dist/TimePicker-B9xx5kUV.cjs +69 -0
- package/dist/{TimePicker-BxeoknBF.js → TimePicker-DECNy8o8.js} +6937 -6174
- package/dist/components/index.cjs.js +1 -1
- package/dist/components/index.d.ts +6 -0
- package/dist/components/index.es.js +97 -88
- package/dist/components/inputs/PasswordInput/PasswordInput.cjs.js +1 -1
- package/dist/components/inputs/PasswordInput/PasswordInput.es.js +1 -1
- package/dist/components/inputs/TextInput/TextInput.cjs.js +1 -1
- package/dist/components/inputs/TextInput/TextInput.es.js +1 -1
- package/dist/components/inputs/TextInput/TextInput.stories.cjs.js +1 -1
- package/dist/components/inputs/TextInput/TextInput.stories.es.js +1 -1
- package/dist/components/inputs/TextInput/index.cjs.js +1 -1
- package/dist/components/inputs/TextInput/index.es.js +1 -1
- package/dist/components/inputs/index.cjs.js +1 -1
- package/dist/components/inputs/index.es.js +1 -1
- package/dist/components/lists/TabList.stories.cjs.js +1 -1
- package/dist/components/lists/TabList.stories.es.js +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +98 -89
- package/package.json +1 -1
- package/dist/Tabs-C_lmHzE8.cjs +0 -4
- package/dist/TimePicker-DSnity8M.cjs +0 -69
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
|
|
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
|
|
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
|
|
12
|
-
import { default as
|
|
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,
|
|
15
|
-
import { C as
|
|
16
|
-
import { I as
|
|
17
|
-
import { T as
|
|
18
|
-
import { T as
|
|
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
|
-
|
|
20
|
+
j as Alert,
|
|
21
21
|
J as AppBar,
|
|
22
22
|
K as Checkbox,
|
|
23
|
-
|
|
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
|
-
|
|
37
|
+
v as FileListItem,
|
|
38
38
|
c as FormControl,
|
|
39
39
|
p as FormHelperText,
|
|
40
|
-
|
|
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
|
-
|
|
52
|
+
m as SearchInput,
|
|
53
53
|
T as SecondaryButton,
|
|
54
54
|
x as Select,
|
|
55
55
|
os as Snackbar,
|
|
56
|
-
|
|
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
|
|
62
|
-
|
|
63
|
-
|
|
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
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
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
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
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.
|
|
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",
|
package/dist/Tabs-C_lmHzE8.cjs
DELETED
|
@@ -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;
|