UNPKG

@cgi-learning-hub/ui

Version:

@cgi-learning-hub/ui is an open-source React component library that implements UI for HUB's features

3 lines (2 loc) 6.67 kB
"use strict";const Q=require("react"),e=require("./index-DLnSn8GT.cjs"),a=require("./identifier-BoZelETM.cjs"),L=require("./utils-BWx1W_q1.cjs"),z=require("./useFormControl-haP0iPhl.cjs"),S=require("react/jsx-runtime"),f=require("./DefaultPropsProvider-Cnf49AIv.cjs"),M=require("./isMuiElement-BzDAj3yJ.cjs"),X=require("./formControlState-CuX6WjAX.cjs"),A=require("./memoTheme-BKfsJx_F.cjs"),Y=require("./createSimplePaletteValueFilter-PTK3TAhW.cjs");function Z(o){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const s in o)if(s!=="default"){const t=Object.getOwnPropertyDescriptor(o,s);Object.defineProperty(r,s,t.get?t:{enumerable:!0,get:()=>o[s]})}}return r.default=o,Object.freeze(r)}const i=Z(Q);function I(o){return a.generateUtilityClass("MuiFormControl",o)}const ee=a.generateUtilityClasses("MuiFormControl",["root","marginNone","marginNormal","marginDense","fullWidth","disabled"]),oe=o=>{const{classes:r,margin:s,fullWidth:t}=o,n={root:["root",s!=="none"&&`margin${a.capitalize(s)}`,t&&"fullWidth"]};return f.composeClasses(n,I,r)},re=f.styled("div",{name:"MuiFormControl",slot:"Root",overridesResolver:(o,r)=>{const{ownerState:s}=o;return[r.root,r[`margin${a.capitalize(s.margin)}`],s.fullWidth&&r.fullWidth]}})({display:"inline-flex",flexDirection:"column",position:"relative",minWidth:0,padding:0,margin:0,border:0,verticalAlign:"top",variants:[{props:{margin:"normal"},style:{marginTop:16,marginBottom:8}},{props:{margin:"dense"},style:{marginTop:8,marginBottom:4}},{props:{fullWidth:!0},style:{width:"100%"}}]}),_=i.forwardRef(function(r,s){const t=f.useDefaultProps({props:r,name:"MuiFormControl"}),{children:n,className:m,color:y="primary",component:u="div",disabled:p=!1,error:g=!1,focused:O,fullWidth:C=!1,hiddenLabel:F=!1,margin:q="none",required:T=!1,size:l="medium",variant:d="outlined",...v}=t,N={...t,color:y,component:u,disabled:p,error:g,fullWidth:C,hiddenLabel:F,margin:q,required:T,size:l,variant:d},G=oe(N),[E,J]=i.useState(()=>{let b=!1;return n&&i.Children.forEach(n,c=>{if(!M.isMuiElement(c,["Input","Select"]))return;const $=M.isMuiElement(c,["Select"])?c.props.input:c;$&&L.isAdornedStart($.props)&&(b=!0)}),b}),[w,R]=i.useState(()=>{let b=!1;return n&&i.Children.forEach(n,c=>{M.isMuiElement(c,["Input","Select"])&&(L.isFilled(c.props,!0)||L.isFilled(c.props.inputProps,!0))&&(b=!0)}),b}),[U,h]=i.useState(!1);p&&U&&h(!1);const D=O!==void 0&&!p?O:U;let j;const x=i.useRef(!1);process.env.NODE_ENV!=="production"&&(j=()=>(x.current&&console.error(["MUI: There are multiple `InputBase` components inside a FormControl.","This creates visual inconsistencies, only use one `InputBase`."].join(` `)),x.current=!0,()=>{x.current=!1}));const k=i.useCallback(()=>{R(!0)},[]),W=i.useCallback(()=>{R(!1)},[]),K=i.useMemo(()=>({adornedStart:E,setAdornedStart:J,color:y,disabled:p,error:g,filled:w,focused:D,fullWidth:C,hiddenLabel:F,size:l,onBlur:()=>{h(!1)},onFocus:()=>{h(!0)},onEmpty:W,onFilled:k,registerEffect:j,required:T,variant:d}),[E,y,p,g,w,D,C,F,j,W,k,T,l,d]);return S.jsx(z.FormControlContext.Provider,{value:K,children:S.jsx(re,{as:u,ownerState:N,className:a.clsx(G.root,m),ref:s,...v,children:n})})});process.env.NODE_ENV!=="production"&&(_.propTypes={children:e.PropTypes.node,classes:e.PropTypes.object,className:e.PropTypes.string,color:e.PropTypes.oneOfType([e.PropTypes.oneOf(["primary","secondary","error","info","success","warning"]),e.PropTypes.string]),component:e.PropTypes.elementType,disabled:e.PropTypes.bool,error:e.PropTypes.bool,focused:e.PropTypes.bool,fullWidth:e.PropTypes.bool,hiddenLabel:e.PropTypes.bool,margin:e.PropTypes.oneOf(["dense","none","normal"]),required:e.PropTypes.bool,size:e.PropTypes.oneOfType([e.PropTypes.oneOf(["medium","small"]),e.PropTypes.string]),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]),variant:e.PropTypes.oneOf(["filled","outlined","standard"])});function B(o){return a.generateUtilityClass("MuiFormLabel",o)}const P=a.generateUtilityClasses("MuiFormLabel",["root","colorSecondary","focused","disabled","error","filled","required","asterisk"]),se=o=>{const{classes:r,color:s,focused:t,disabled:n,error:m,filled:y,required:u}=o,p={root:["root",`color${a.capitalize(s)}`,n&&"disabled",m&&"error",y&&"filled",t&&"focused",u&&"required"],asterisk:["asterisk",m&&"error"]};return f.composeClasses(p,B,r)},V=f.styled("label",{name:"MuiFormLabel",slot:"Root",overridesResolver:(o,r)=>{const{ownerState:s}=o;return[r.root,s.color==="secondary"&&r.colorSecondary,s.filled&&r.filled]}})(A.memoTheme(({theme:o})=>({color:(o.vars||o).palette.text.secondary,...o.typography.body1,lineHeight:"1.4375em",padding:0,position:"relative",variants:[...Object.entries(o.palette).filter(Y.createSimplePaletteValueFilter()).map(([r])=>({props:{color:r},style:{[`&.${P.focused}`]:{color:(o.vars||o).palette[r].main}}})),{props:{},style:{[`&.${P.disabled}`]:{color:(o.vars||o).palette.text.disabled},[`&.${P.error}`]:{color:(o.vars||o).palette.error.main}}}]}))),te=f.styled("span",{name:"MuiFormLabel",slot:"Asterisk"})(A.memoTheme(({theme:o})=>({[`&.${P.error}`]:{color:(o.vars||o).palette.error.main}}))),H=i.forwardRef(function(r,s){const t=f.useDefaultProps({props:r,name:"MuiFormLabel"}),{children:n,className:m,color:y,component:u="label",disabled:p,error:g,filled:O,focused:C,required:F,...q}=t,T=z.useFormControl(),l=X.formControlState({props:t,muiFormControl:T,states:["color","required","focused","disabled","error","filled"]}),d={...t,color:l.color||"primary",component:u,disabled:l.disabled,error:l.error,filled:l.filled,focused:l.focused,required:l.required},v=se(d);return S.jsxs(V,{as:u,ownerState:d,className:a.clsx(v.root,m),ref:s,...q,children:[n,l.required&&S.jsxs(te,{ownerState:d,"aria-hidden":!0,className:v.asterisk,children:[" ","*"]})]})});process.env.NODE_ENV!=="production"&&(H.propTypes={children:e.PropTypes.node,classes:e.PropTypes.object,className:e.PropTypes.string,color:e.PropTypes.oneOfType([e.PropTypes.oneOf(["error","info","primary","secondary","success","warning"]),e.PropTypes.string]),component:e.PropTypes.elementType,disabled:e.PropTypes.bool,error:e.PropTypes.bool,filled:e.PropTypes.bool,focused:e.PropTypes.bool,required:e.PropTypes.bool,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])});exports.FormControl=_;exports.FormLabel=H;exports.FormLabelRoot=V;exports.formControlClasses=ee;exports.formLabelClasses=P;exports.getFormControlUtilityClasses=I;exports.getFormLabelUtilityClasses=B;