%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/opti/public_html/ezone-accounting.optisoft.com.ng/static/js/
Upload File :
Create Path :
Current File : /home/opti/public_html/ezone-accounting.optisoft.com.ng/static/js/27.801645e5.chunk.js

(this["webpackJsonpfuse-react-app"]=this["webpackJsonpfuse-react-app"]||[]).push([[27],{1130:function(e,n,t){"use strict";t.d(n,"a",(function(){return T}));var a=t(118),l=t(1100),r=t(1109),i=t(1090),o=t(1117),s=t(1119),d=t(5),c=t(0),u=t(1024),m=t(551),p=t(1087),h=t(1099),b=t(11),x=t(370),j=t(371),f=t(1131),v=t.n(f),g=t(1);const O=Object(u.a)({productionPrefix:"iframe-"});class y extends c.Component{constructor(){super(...arguments),this.state={ready:!1},this.handleRef=e=>{this.contentDocument=e?e.node.contentDocument:null},this.onContentDidMount=()=>{this.setState({ready:!0,jss:Object(x.a)({...Object(m.a)(),plugins:[...Object(m.a)().plugins,Object(j.a)()],insertionPoint:this.contentDocument.querySelector("#jss-demo-insertion-point")}),sheetsManager:new Map,container:this.contentDocument.body})},this.onContentDidUpdate=()=>{this.contentDocument.body.dir=this.props.theme.direction},this.renderHead=()=>Object(g.jsxs)(g.Fragment,{children:[Object(g.jsx)("style",{dangerouslySetInnerHTML:{__html:"\n                    html {\n                    font-size: 62.5%;\n                    font-family: Poppins, Roboto, Helvetica Neue, Arial, sans-serif;\n                    }\n                "}}),Object(g.jsx)("noscript",{id:"jss-demo-insertion-point"})]})}render(){const{children:e,classes:n,theme:t}=this.props;return Object(g.jsx)(v.a,{head:this.renderHead(),ref:this.handleRef,className:Object(d.a)(n.root,"shadow"),contentDidMount:this.onContentDidMount,contentDidUpdate:this.onContentDidUpdate,children:this.state.ready?Object(g.jsx)(p.b,{jss:this.state.jss,generateClassName:O,sheetsManager:this.state.sheetsManager,children:Object(g.jsx)(h.a,{theme:t,children:Object(c.cloneElement)(e,{container:this.state.container})})}):null})}}var F=Object(b.a)((e=>({root:{backgroundColor:e.palette.background.default,flexGrow:1,height:400,border:"none"}})),{withTheme:!0})(y);function w(e){const[n,t]=Object(c.useState)(e.currentTabIndex),{component:u,raw:m,iframe:p,className:h}=e;return Object(g.jsxs)(r.a,{className:Object(d.a)(h,"shadow"),children:[Object(g.jsx)(l.a,{position:"static",color:"default",className:"shadow-0",children:Object(g.jsxs)(s.a,{classes:{root:"border-b-1",flexContainer:"justify-end"},value:n,onChange:function(e,n){t(n)},children:[u&&Object(g.jsx)(o.a,{classes:{root:"min-w-64"},icon:Object(g.jsx)(i.a,{children:"remove_red_eye"})}),m&&Object(g.jsx)(o.a,{classes:{root:"min-w-64"},icon:Object(g.jsx)(i.a,{children:"code"})})]})}),Object(g.jsxs)("div",{className:"flex justify-center max-w-full",children:[Object(g.jsx)("div",{className:0===n?"flex flex-1 max-w-full":"hidden",children:u&&(p?Object(g.jsx)(F,{children:Object(g.jsx)(u,{})}):Object(g.jsx)("div",{className:"p-24 flex flex-1 justify-center max-w-full",children:Object(g.jsx)(u,{})}))}),Object(g.jsx)("div",{className:1===n?"flex flex-1":"hidden",children:m&&Object(g.jsx)("div",{className:"flex flex-1",children:Object(g.jsx)(a.a,{component:"pre",className:"language-javascript w-full",children:m.default})})})]})]})}w.defaultProps={currentTabIndex:0};var T=w},2346:function(e,n,t){"use strict";t.r(n),t.d(n,"default",(function(){return o}));t(0);var a=t(1072),l=t(1096),r=t(1);const i=Object(a.a)((e=>({root:{"& > *":{margin:e.spacing(1),width:"25ch"}}})));function o(){const e=i();return Object(r.jsxs)("form",{className:e.root,noValidate:!0,autoComplete:"off",children:[Object(r.jsx)(l.a,{id:"standard-basic",label:"Standard"}),Object(r.jsx)(l.a,{id:"filled-basic",label:"Filled",variant:"filled"}),Object(r.jsx)(l.a,{id:"outlined-basic",label:"Outlined",variant:"outlined"})]})}},2347:function(e,n,t){"use strict";t.r(n),n.default='import React from \'react\';\nimport { makeStyles } from \'@material-ui/core/styles\';\nimport TextField from \'@material-ui/core/TextField\';\n\nconst useStyles = makeStyles((theme) => ({\n  root: {\n    \'& > *\': {\n      margin: theme.spacing(1),\n      width: \'25ch\',\n    },\n  },\n}));\n\nexport default function BasicTextFields() {\n  const classes = useStyles();\n\n  return (\n    <form className={classes.root} noValidate autoComplete="off">\n      <TextField id="standard-basic" label="Standard" />\n      <TextField id="filled-basic" label="Filled" variant="filled" />\n      <TextField id="outlined-basic" label="Outlined" variant="outlined" />\n    </form>\n  );\n}\n'},2348:function(e,n,t){"use strict";t.r(n),t.d(n,"default",(function(){return o}));t(0);var a=t(1096),l=t(1072),r=t(1);const i=Object(l.a)((e=>({root:{"& .MuiTextField-root":{margin:e.spacing(1),width:"25ch"}}})));function o(){const e=i();return Object(r.jsxs)("form",{className:e.root,noValidate:!0,autoComplete:"off",children:[Object(r.jsxs)("div",{children:[Object(r.jsx)(a.a,{required:!0,id:"standard-required",label:"Required",defaultValue:"Hello World"}),Object(r.jsx)(a.a,{disabled:!0,id:"standard-disabled",label:"Disabled",defaultValue:"Hello World"}),Object(r.jsx)(a.a,{id:"standard-password-input",label:"Password",type:"password",autoComplete:"current-password"}),Object(r.jsx)(a.a,{id:"standard-read-only-input",label:"Read Only",defaultValue:"Hello World",InputProps:{readOnly:!0}}),Object(r.jsx)(a.a,{id:"standard-number",label:"Number",type:"number",InputLabelProps:{shrink:!0}}),Object(r.jsx)(a.a,{id:"standard-search",label:"Search field",type:"search"}),Object(r.jsx)(a.a,{id:"standard-helperText",label:"Helper text",defaultValue:"Default Value",helperText:"Some important text"})]}),Object(r.jsxs)("div",{children:[Object(r.jsx)(a.a,{required:!0,id:"filled-required",label:"Required",defaultValue:"Hello World",variant:"filled"}),Object(r.jsx)(a.a,{disabled:!0,id:"filled-disabled",label:"Disabled",defaultValue:"Hello World",variant:"filled"}),Object(r.jsx)(a.a,{id:"filled-password-input",label:"Password",type:"password",autoComplete:"current-password",variant:"filled"}),Object(r.jsx)(a.a,{id:"filled-read-only-input",label:"Read Only",defaultValue:"Hello World",InputProps:{readOnly:!0},variant:"filled"}),Object(r.jsx)(a.a,{id:"filled-number",label:"Number",type:"number",InputLabelProps:{shrink:!0},variant:"filled"}),Object(r.jsx)(a.a,{id:"filled-search",label:"Search field",type:"search",variant:"filled"}),Object(r.jsx)(a.a,{id:"filled-helperText",label:"Helper text",defaultValue:"Default Value",helperText:"Some important text",variant:"filled"})]}),Object(r.jsxs)("div",{children:[Object(r.jsx)(a.a,{required:!0,id:"outlined-required",label:"Required",defaultValue:"Hello World",variant:"outlined"}),Object(r.jsx)(a.a,{disabled:!0,id:"outlined-disabled",label:"Disabled",defaultValue:"Hello World",variant:"outlined"}),Object(r.jsx)(a.a,{id:"outlined-password-input",label:"Password",type:"password",autoComplete:"current-password",variant:"outlined"}),Object(r.jsx)(a.a,{id:"outlined-read-only-input",label:"Read Only",defaultValue:"Hello World",InputProps:{readOnly:!0},variant:"outlined"}),Object(r.jsx)(a.a,{id:"outlined-number",label:"Number",type:"number",InputLabelProps:{shrink:!0},variant:"outlined"}),Object(r.jsx)(a.a,{id:"outlined-search",label:"Search field",type:"search",variant:"outlined"}),Object(r.jsx)(a.a,{id:"outlined-helperText",label:"Helper text",defaultValue:"Default Value",helperText:"Some important text",variant:"outlined"})]})]})}},2349:function(e,n,t){"use strict";t.r(n),n.default='import React from \'react\';\nimport TextField from \'@material-ui/core/TextField\';\nimport { makeStyles } from \'@material-ui/core/styles\';\n\nconst useStyles = makeStyles((theme) => ({\n  root: {\n    \'& .MuiTextField-root\': {\n      margin: theme.spacing(1),\n      width: \'25ch\',\n    },\n  },\n}));\n\nexport default function FormPropsTextFields() {\n  const classes = useStyles();\n\n  return (\n    <form className={classes.root} noValidate autoComplete="off">\n      <div>\n        <TextField required id="standard-required" label="Required" defaultValue="Hello World" />\n        <TextField disabled id="standard-disabled" label="Disabled" defaultValue="Hello World" />\n        <TextField\n          id="standard-password-input"\n          label="Password"\n          type="password"\n          autoComplete="current-password"\n        />\n        <TextField\n          id="standard-read-only-input"\n          label="Read Only"\n          defaultValue="Hello World"\n          InputProps={{\n            readOnly: true,\n          }}\n        />\n        <TextField\n          id="standard-number"\n          label="Number"\n          type="number"\n          InputLabelProps={{\n            shrink: true,\n          }}\n        />\n        <TextField id="standard-search" label="Search field" type="search" />\n        <TextField\n          id="standard-helperText"\n          label="Helper text"\n          defaultValue="Default Value"\n          helperText="Some important text"\n        />\n      </div>\n      <div>\n        <TextField\n          required\n          id="filled-required"\n          label="Required"\n          defaultValue="Hello World"\n          variant="filled"\n        />\n        <TextField\n          disabled\n          id="filled-disabled"\n          label="Disabled"\n          defaultValue="Hello World"\n          variant="filled"\n        />\n        <TextField\n          id="filled-password-input"\n          label="Password"\n          type="password"\n          autoComplete="current-password"\n          variant="filled"\n        />\n        <TextField\n          id="filled-read-only-input"\n          label="Read Only"\n          defaultValue="Hello World"\n          InputProps={{\n            readOnly: true,\n          }}\n          variant="filled"\n        />\n        <TextField\n          id="filled-number"\n          label="Number"\n          type="number"\n          InputLabelProps={{\n            shrink: true,\n          }}\n          variant="filled"\n        />\n        <TextField id="filled-search" label="Search field" type="search" variant="filled" />\n        <TextField\n          id="filled-helperText"\n          label="Helper text"\n          defaultValue="Default Value"\n          helperText="Some important text"\n          variant="filled"\n        />\n      </div>\n      <div>\n        <TextField\n          required\n          id="outlined-required"\n          label="Required"\n          defaultValue="Hello World"\n          variant="outlined"\n        />\n        <TextField\n          disabled\n          id="outlined-disabled"\n          label="Disabled"\n          defaultValue="Hello World"\n          variant="outlined"\n        />\n        <TextField\n          id="outlined-password-input"\n          label="Password"\n          type="password"\n          autoComplete="current-password"\n          variant="outlined"\n        />\n        <TextField\n          id="outlined-read-only-input"\n          label="Read Only"\n          defaultValue="Hello World"\n          InputProps={{\n            readOnly: true,\n          }}\n          variant="outlined"\n        />\n        <TextField\n          id="outlined-number"\n          label="Number"\n          type="number"\n          InputLabelProps={{\n            shrink: true,\n          }}\n          variant="outlined"\n        />\n        <TextField id="outlined-search" label="Search field" type="search" variant="outlined" />\n        <TextField\n          id="outlined-helperText"\n          label="Helper text"\n          defaultValue="Default Value"\n          helperText="Some important text"\n          variant="outlined"\n        />\n      </div>\n    </form>\n  );\n}\n'},2350:function(e,n,t){"use strict";t.r(n),t.d(n,"default",(function(){return o}));t(0);var a=t(1096),l=t(1072),r=t(1);const i=Object(l.a)((e=>({root:{"& .MuiTextField-root":{margin:e.spacing(1),width:200}}})));function o(){const e=i();return Object(r.jsxs)("form",{className:e.root,noValidate:!0,autoComplete:"off",children:[Object(r.jsxs)("div",{children:[Object(r.jsx)(a.a,{error:!0,id:"standard-error",label:"Error",defaultValue:"Hello World"}),Object(r.jsx)(a.a,{error:!0,id:"standard-error-helper-text",label:"Error",defaultValue:"Hello World",helperText:"Incorrect entry."})]}),Object(r.jsxs)("div",{children:[Object(r.jsx)(a.a,{error:!0,id:"filled-error",label:"Error",defaultValue:"Hello World",variant:"filled"}),Object(r.jsx)(a.a,{error:!0,id:"filled-error-helper-text",label:"Error",defaultValue:"Hello World",helperText:"Incorrect entry.",variant:"filled"})]}),Object(r.jsxs)("div",{children:[Object(r.jsx)(a.a,{error:!0,id:"outlined-error",label:"Error",defaultValue:"Hello World",variant:"outlined"}),Object(r.jsx)(a.a,{error:!0,id:"outlined-error-helper-text",label:"Error",defaultValue:"Hello World",helperText:"Incorrect entry.",variant:"outlined"})]})]})}},2351:function(e,n,t){"use strict";t.r(n),n.default='import React from \'react\';\nimport TextField from \'@material-ui/core/TextField\';\nimport { makeStyles } from \'@material-ui/core/styles\';\n\nconst useStyles = makeStyles((theme) => ({\n  root: {\n    \'& .MuiTextField-root\': {\n      margin: theme.spacing(1),\n      width: 200,\n    },\n  },\n}));\n\nexport default function ValidationTextFields() {\n  const classes = useStyles();\n\n  return (\n    <form className={classes.root} noValidate autoComplete="off">\n      <div>\n        <TextField error id="standard-error" label="Error" defaultValue="Hello World" />\n        <TextField\n          error\n          id="standard-error-helper-text"\n          label="Error"\n          defaultValue="Hello World"\n          helperText="Incorrect entry."\n        />\n      </div>\n      <div>\n        <TextField\n          error\n          id="filled-error"\n          label="Error"\n          defaultValue="Hello World"\n          variant="filled"\n        />\n        <TextField\n          error\n          id="filled-error-helper-text"\n          label="Error"\n          defaultValue="Hello World"\n          helperText="Incorrect entry."\n          variant="filled"\n        />\n      </div>\n      <div>\n        <TextField\n          error\n          id="outlined-error"\n          label="Error"\n          defaultValue="Hello World"\n          variant="outlined"\n        />\n        <TextField\n          error\n          id="outlined-error-helper-text"\n          label="Error"\n          defaultValue="Hello World"\n          helperText="Incorrect entry."\n          variant="outlined"\n        />\n      </div>\n    </form>\n  );\n}\n'},2352:function(e,n,t){"use strict";t.r(n),t.d(n,"default",(function(){return d}));var a=t(0),l=t.n(a),r=t(1072),i=t(1096),o=t(1);const s=Object(r.a)((e=>({root:{"& .MuiTextField-root":{margin:e.spacing(1),width:"25ch"}}})));function d(){const e=s(),[n,t]=l.a.useState("Controlled"),a=e=>{t(e.target.value)};return Object(o.jsxs)("form",{className:e.root,noValidate:!0,autoComplete:"off",children:[Object(o.jsxs)("div",{children:[Object(o.jsx)(i.a,{id:"standard-multiline-flexible",label:"Multiline",multiline:!0,maxRows:4,value:n,onChange:a}),Object(o.jsx)(i.a,{id:"standard-textarea",label:"Multiline Placeholder",placeholder:"Placeholder",multiline:!0}),Object(o.jsx)(i.a,{id:"standard-multiline-static",label:"Multiline",multiline:!0,rows:4,defaultValue:"Default Value"})]}),Object(o.jsxs)("div",{children:[Object(o.jsx)(i.a,{id:"filled-multiline-flexible",label:"Multiline",multiline:!0,maxRows:4,value:n,onChange:a,variant:"filled"}),Object(o.jsx)(i.a,{id:"filled-textarea",label:"Multiline Placeholder",placeholder:"Placeholder",multiline:!0,variant:"filled"}),Object(o.jsx)(i.a,{id:"filled-multiline-static",label:"Multiline",multiline:!0,rows:4,defaultValue:"Default Value",variant:"filled"})]}),Object(o.jsxs)("div",{children:[Object(o.jsx)(i.a,{id:"outlined-multiline-flexible",label:"Multiline",multiline:!0,maxRows:4,value:n,onChange:a,variant:"outlined"}),Object(o.jsx)(i.a,{id:"outlined-textarea",label:"Multiline Placeholder",placeholder:"Placeholder",multiline:!0,variant:"outlined"}),Object(o.jsx)(i.a,{id:"outlined-multiline-static",label:"Multiline",multiline:!0,rows:4,defaultValue:"Default Value",variant:"outlined"})]})]})}},2353:function(e,n,t){"use strict";t.r(n),n.default='import React from \'react\';\nimport { makeStyles } from \'@material-ui/core/styles\';\nimport TextField from \'@material-ui/core/TextField\';\n\nconst useStyles = makeStyles((theme) => ({\n  root: {\n    \'& .MuiTextField-root\': {\n      margin: theme.spacing(1),\n      width: \'25ch\',\n    },\n  },\n}));\n\nexport default function MultilineTextFields() {\n  const classes = useStyles();\n  const [value, setValue] = React.useState(\'Controlled\');\n\n  const handleChange = (event) => {\n    setValue(event.target.value);\n  };\n\n  return (\n    <form className={classes.root} noValidate autoComplete="off">\n      <div>\n        <TextField\n          id="standard-multiline-flexible"\n          label="Multiline"\n          multiline\n          maxRows={4}\n          value={value}\n          onChange={handleChange}\n        />\n        <TextField\n          id="standard-textarea"\n          label="Multiline Placeholder"\n          placeholder="Placeholder"\n          multiline\n        />\n        <TextField\n          id="standard-multiline-static"\n          label="Multiline"\n          multiline\n          rows={4}\n          defaultValue="Default Value"\n        />\n      </div>\n      <div>\n        <TextField\n          id="filled-multiline-flexible"\n          label="Multiline"\n          multiline\n          maxRows={4}\n          value={value}\n          onChange={handleChange}\n          variant="filled"\n        />\n        <TextField\n          id="filled-textarea"\n          label="Multiline Placeholder"\n          placeholder="Placeholder"\n          multiline\n          variant="filled"\n        />\n        <TextField\n          id="filled-multiline-static"\n          label="Multiline"\n          multiline\n          rows={4}\n          defaultValue="Default Value"\n          variant="filled"\n        />\n      </div>\n      <div>\n        <TextField\n          id="outlined-multiline-flexible"\n          label="Multiline"\n          multiline\n          maxRows={4}\n          value={value}\n          onChange={handleChange}\n          variant="outlined"\n        />\n        <TextField\n          id="outlined-textarea"\n          label="Multiline Placeholder"\n          placeholder="Placeholder"\n          multiline\n          variant="outlined"\n        />\n        <TextField\n          id="outlined-multiline-static"\n          label="Multiline"\n          multiline\n          rows={4}\n          defaultValue="Default Value"\n          variant="outlined"\n        />\n      </div>\n    </form>\n  );\n}\n'},2354:function(e,n,t){"use strict";t.r(n),t.d(n,"default",(function(){return u}));var a=t(0),l=t.n(a),r=t(1072),i=t(1096),o=t(1092),s=t(1);const d=[{value:"USD",label:"$"},{value:"EUR",label:"\u20ac"},{value:"BTC",label:"\u0e3f"},{value:"JPY",label:"\xa5"}],c=Object(r.a)((e=>({root:{"& .MuiTextField-root":{margin:e.spacing(1),width:"25ch"}}})));function u(){const e=c(),[n,t]=l.a.useState("EUR"),a=e=>{t(e.target.value)};return Object(s.jsxs)("form",{className:e.root,noValidate:!0,autoComplete:"off",children:[Object(s.jsxs)("div",{children:[Object(s.jsx)(i.a,{id:"standard-select-currency",select:!0,label:"Select",value:n,onChange:a,helperText:"Please select your currency",children:d.map((e=>Object(s.jsx)(o.a,{value:e.value,children:e.label},e.value)))}),Object(s.jsx)(i.a,{id:"standard-select-currency-native",select:!0,label:"Native select",value:n,onChange:a,SelectProps:{native:!0},helperText:"Please select your currency",children:d.map((e=>Object(s.jsx)("option",{value:e.value,children:e.label},e.value)))})]}),Object(s.jsxs)("div",{children:[Object(s.jsx)(i.a,{id:"filled-select-currency",select:!0,label:"Select",value:n,onChange:a,helperText:"Please select your currency",variant:"filled",children:d.map((e=>Object(s.jsx)(o.a,{value:e.value,children:e.label},e.value)))}),Object(s.jsx)(i.a,{id:"filled-select-currency-native",select:!0,label:"Native select",value:n,onChange:a,SelectProps:{native:!0},helperText:"Please select your currency",variant:"filled",children:d.map((e=>Object(s.jsx)("option",{value:e.value,children:e.label},e.value)))})]}),Object(s.jsxs)("div",{children:[Object(s.jsx)(i.a,{id:"outlined-select-currency",select:!0,label:"Select",value:n,onChange:a,helperText:"Please select your currency",variant:"outlined",children:d.map((e=>Object(s.jsx)(o.a,{value:e.value,children:e.label},e.value)))}),Object(s.jsx)(i.a,{id:"outlined-select-currency-native",select:!0,label:"Native select",value:n,onChange:a,SelectProps:{native:!0},helperText:"Please select your currency",variant:"outlined",children:d.map((e=>Object(s.jsx)("option",{value:e.value,children:e.label},e.value)))})]})]})}},2355:function(e,n,t){"use strict";t.r(n),n.default='import React from \'react\';\nimport { makeStyles } from \'@material-ui/core/styles\';\nimport TextField from \'@material-ui/core/TextField\';\nimport MenuItem from \'@material-ui/core/MenuItem\';\n\nconst currencies = [\n  {\n    value: \'USD\',\n    label: \'$\',\n  },\n  {\n    value: \'EUR\',\n    label: \'\u20ac\',\n  },\n  {\n    value: \'BTC\',\n    label: \'\u0e3f\',\n  },\n  {\n    value: \'JPY\',\n    label: \'\xa5\',\n  },\n];\n\nconst useStyles = makeStyles((theme) => ({\n  root: {\n    \'& .MuiTextField-root\': {\n      margin: theme.spacing(1),\n      width: \'25ch\',\n    },\n  },\n}));\n\nexport default function MultilineTextFields() {\n  const classes = useStyles();\n  const [currency, setCurrency] = React.useState(\'EUR\');\n\n  const handleChange = (event) => {\n    setCurrency(event.target.value);\n  };\n\n  return (\n    <form className={classes.root} noValidate autoComplete="off">\n      <div>\n        <TextField\n          id="standard-select-currency"\n          select\n          label="Select"\n          value={currency}\n          onChange={handleChange}\n          helperText="Please select your currency"\n        >\n          {currencies.map((option) => (\n            <MenuItem key={option.value} value={option.value}>\n              {option.label}\n            </MenuItem>\n          ))}\n        </TextField>\n        <TextField\n          id="standard-select-currency-native"\n          select\n          label="Native select"\n          value={currency}\n          onChange={handleChange}\n          SelectProps={{\n            native: true,\n          }}\n          helperText="Please select your currency"\n        >\n          {currencies.map((option) => (\n            <option key={option.value} value={option.value}>\n              {option.label}\n            </option>\n          ))}\n        </TextField>\n      </div>\n      <div>\n        <TextField\n          id="filled-select-currency"\n          select\n          label="Select"\n          value={currency}\n          onChange={handleChange}\n          helperText="Please select your currency"\n          variant="filled"\n        >\n          {currencies.map((option) => (\n            <MenuItem key={option.value} value={option.value}>\n              {option.label}\n            </MenuItem>\n          ))}\n        </TextField>\n        <TextField\n          id="filled-select-currency-native"\n          select\n          label="Native select"\n          value={currency}\n          onChange={handleChange}\n          SelectProps={{\n            native: true,\n          }}\n          helperText="Please select your currency"\n          variant="filled"\n        >\n          {currencies.map((option) => (\n            <option key={option.value} value={option.value}>\n              {option.label}\n            </option>\n          ))}\n        </TextField>\n      </div>\n      <div>\n        <TextField\n          id="outlined-select-currency"\n          select\n          label="Select"\n          value={currency}\n          onChange={handleChange}\n          helperText="Please select your currency"\n          variant="outlined"\n        >\n          {currencies.map((option) => (\n            <MenuItem key={option.value} value={option.value}>\n              {option.label}\n            </MenuItem>\n          ))}\n        </TextField>\n        <TextField\n          id="outlined-select-currency-native"\n          select\n          label="Native select"\n          value={currency}\n          onChange={handleChange}\n          SelectProps={{\n            native: true,\n          }}\n          helperText="Please select your currency"\n          variant="outlined"\n        >\n          {currencies.map((option) => (\n            <option key={option.value} value={option.value}>\n              {option.label}\n            </option>\n          ))}\n        </TextField>\n      </div>\n    </form>\n  );\n}\n'},2356:function(e,n,t){"use strict";t.r(n),t.d(n,"default",(function(){return h}));t(0);var a=t(1072),l=t(548),r=t(1038),i=t(1115),o=t(1035),s=t(1096),d=t(1172),c=t(1293),u=t.n(c),m=t(1);const p=Object(a.a)((e=>({margin:{margin:e.spacing(1)}})));function h(){const e=p();return Object(m.jsxs)("div",{children:[Object(m.jsxs)(o.a,{className:e.margin,children:[Object(m.jsx)(r.a,{htmlFor:"input-with-icon-adornment",children:"With a start adornment"}),Object(m.jsx)(l.a,{id:"input-with-icon-adornment",startAdornment:Object(m.jsx)(i.a,{position:"start",children:Object(m.jsx)(u.a,{})})})]}),Object(m.jsx)(s.a,{className:e.margin,id:"input-with-icon-textfield",label:"TextField",InputProps:{startAdornment:Object(m.jsx)(i.a,{position:"start",children:Object(m.jsx)(u.a,{})})}}),Object(m.jsx)("div",{className:e.margin,children:Object(m.jsxs)(d.a,{container:!0,spacing:1,alignItems:"flex-end",children:[Object(m.jsx)(d.a,{item:!0,children:Object(m.jsx)(u.a,{})}),Object(m.jsx)(d.a,{item:!0,children:Object(m.jsx)(s.a,{id:"input-with-icon-grid",label:"With a grid"})})]})})]})}},2357:function(e,n,t){"use strict";t.r(n),n.default="import React from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Input from '@material-ui/core/Input';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport InputAdornment from '@material-ui/core/InputAdornment';\nimport FormControl from '@material-ui/core/FormControl';\nimport TextField from '@material-ui/core/TextField';\nimport Grid from '@material-ui/core/Grid';\nimport AccountCircle from '@material-ui/icons/AccountCircle';\n\nconst useStyles = makeStyles((theme) => ({\n  margin: {\n    margin: theme.spacing(1),\n  },\n}));\n\nexport default function InputWithIcon() {\n  const classes = useStyles();\n\n  return (\n    <div>\n      <FormControl className={classes.margin}>\n        <InputLabel htmlFor=\"input-with-icon-adornment\">With a start adornment</InputLabel>\n        <Input\n          id=\"input-with-icon-adornment\"\n          startAdornment={\n            <InputAdornment position=\"start\">\n              <AccountCircle />\n            </InputAdornment>\n          }\n        />\n      </FormControl>\n      <TextField\n        className={classes.margin}\n        id=\"input-with-icon-textfield\"\n        label=\"TextField\"\n        InputProps={{\n          startAdornment: (\n            <InputAdornment position=\"start\">\n              <AccountCircle />\n            </InputAdornment>\n          ),\n        }}\n      />\n      <div className={classes.margin}>\n        <Grid container spacing={1} alignItems=\"flex-end\">\n          <Grid item>\n            <AccountCircle />\n          </Grid>\n          <Grid item>\n            <TextField id=\"input-with-icon-grid\" label=\"With a grid\" />\n          </Grid>\n        </Grid>\n      </div>\n    </div>\n  );\n}\n"},2358:function(e,n,t){"use strict";t.r(n),t.d(n,"default",(function(){return y}));var a=t(0),l=t.n(a),r=t(5),i=t(1072),o=t(1028),s=t(548),d=t(1030),c=t(1045),u=t(1038),m=t(1115),p=t(1039),h=t(1035),b=t(1096),x=t(2359),j=t.n(x),f=t(2360),v=t.n(f),g=t(1);const O=Object(i.a)((e=>({root:{display:"flex",flexWrap:"wrap"},margin:{margin:e.spacing(1)},withoutLabel:{marginTop:e.spacing(3)},textField:{width:"25ch"}})));function y(){const e=O(),[n,t]=l.a.useState({amount:"",password:"",weight:"",weightRange:"",showPassword:!1}),a=e=>a=>{t({...n,[e]:a.target.value})},i=()=>{t({...n,showPassword:!n.showPassword})},x=e=>{e.preventDefault()};return Object(g.jsxs)("div",{className:e.root,children:[Object(g.jsxs)("div",{children:[Object(g.jsx)(b.a,{label:"With normal TextField",id:"standard-start-adornment",className:Object(r.a)(e.margin,e.textField),InputProps:{startAdornment:Object(g.jsx)(m.a,{position:"start",children:"Kg"})}}),Object(g.jsxs)(h.a,{className:Object(r.a)(e.margin,e.withoutLabel,e.textField),children:[Object(g.jsx)(s.a,{id:"standard-adornment-weight",value:n.weight,onChange:a("weight"),endAdornment:Object(g.jsx)(m.a,{position:"end",children:"Kg"}),"aria-describedby":"standard-weight-helper-text",inputProps:{"aria-label":"weight"}}),Object(g.jsx)(p.a,{id:"standard-weight-helper-text",children:"Weight"})]}),Object(g.jsxs)(h.a,{className:Object(r.a)(e.margin,e.textField),children:[Object(g.jsx)(u.a,{htmlFor:"standard-adornment-password",children:"Password"}),Object(g.jsx)(s.a,{id:"standard-adornment-password",type:n.showPassword?"text":"password",value:n.password,onChange:a("password"),endAdornment:Object(g.jsx)(m.a,{position:"end",children:Object(g.jsx)(o.a,{"aria-label":"toggle password visibility",onClick:i,onMouseDown:x,children:n.showPassword?Object(g.jsx)(j.a,{}):Object(g.jsx)(v.a,{})})})})]}),Object(g.jsxs)(h.a,{fullWidth:!0,className:e.margin,children:[Object(g.jsx)(u.a,{htmlFor:"standard-adornment-amount",children:"Amount"}),Object(g.jsx)(s.a,{id:"standard-adornment-amount",value:n.amount,onChange:a("amount"),startAdornment:Object(g.jsx)(m.a,{position:"start",children:"$"})})]})]}),Object(g.jsxs)("div",{children:[Object(g.jsx)(b.a,{label:"With normal TextField",id:"filled-start-adornment",className:Object(r.a)(e.margin,e.textField),InputProps:{startAdornment:Object(g.jsx)(m.a,{position:"start",children:"Kg"})},variant:"filled"}),Object(g.jsxs)(h.a,{className:Object(r.a)(e.margin,e.textField),variant:"filled",children:[Object(g.jsx)(d.a,{id:"filled-adornment-weight",value:n.weight,onChange:a("weight"),endAdornment:Object(g.jsx)(m.a,{position:"end",children:"Kg"}),"aria-describedby":"filled-weight-helper-text",inputProps:{"aria-label":"weight"}}),Object(g.jsx)(p.a,{id:"filled-weight-helper-text",children:"Weight"})]}),Object(g.jsxs)(h.a,{className:Object(r.a)(e.margin,e.textField),variant:"filled",children:[Object(g.jsx)(u.a,{htmlFor:"filled-adornment-password",children:"Password"}),Object(g.jsx)(d.a,{id:"filled-adornment-password",type:n.showPassword?"text":"password",value:n.password,onChange:a("password"),endAdornment:Object(g.jsx)(m.a,{position:"end",children:Object(g.jsx)(o.a,{"aria-label":"toggle password visibility",onClick:i,onMouseDown:x,edge:"end",children:n.showPassword?Object(g.jsx)(j.a,{}):Object(g.jsx)(v.a,{})})})})]}),Object(g.jsxs)(h.a,{fullWidth:!0,className:e.margin,variant:"filled",children:[Object(g.jsx)(u.a,{htmlFor:"filled-adornment-amount",children:"Amount"}),Object(g.jsx)(d.a,{id:"filled-adornment-amount",value:n.amount,onChange:a("amount"),startAdornment:Object(g.jsx)(m.a,{position:"start",children:"$"})})]})]}),Object(g.jsxs)("div",{children:[Object(g.jsx)(b.a,{label:"With normal TextField",id:"outlined-start-adornment",className:Object(r.a)(e.margin,e.textField),InputProps:{startAdornment:Object(g.jsx)(m.a,{position:"start",children:"Kg"})},variant:"outlined"}),Object(g.jsxs)(h.a,{className:Object(r.a)(e.margin,e.textField),variant:"outlined",children:[Object(g.jsx)(c.a,{id:"outlined-adornment-weight",value:n.weight,onChange:a("weight"),endAdornment:Object(g.jsx)(m.a,{position:"end",children:"Kg"}),"aria-describedby":"outlined-weight-helper-text",inputProps:{"aria-label":"weight"},labelWidth:0}),Object(g.jsx)(p.a,{id:"outlined-weight-helper-text",children:"Weight"})]}),Object(g.jsxs)(h.a,{className:Object(r.a)(e.margin,e.textField),variant:"outlined",children:[Object(g.jsx)(u.a,{htmlFor:"outlined-adornment-password",children:"Password"}),Object(g.jsx)(c.a,{id:"outlined-adornment-password",type:n.showPassword?"text":"password",value:n.password,onChange:a("password"),endAdornment:Object(g.jsx)(m.a,{position:"end",children:Object(g.jsx)(o.a,{"aria-label":"toggle password visibility",onClick:i,onMouseDown:x,edge:"end",children:n.showPassword?Object(g.jsx)(j.a,{}):Object(g.jsx)(v.a,{})})}),labelWidth:70})]}),Object(g.jsxs)(h.a,{fullWidth:!0,className:e.margin,variant:"outlined",children:[Object(g.jsx)(u.a,{htmlFor:"outlined-adornment-amount",children:"Amount"}),Object(g.jsx)(c.a,{id:"outlined-adornment-amount",value:n.amount,onChange:a("amount"),startAdornment:Object(g.jsx)(m.a,{position:"start",children:"$"}),labelWidth:60})]})]})]})}},2361:function(e,n,t){"use strict";t.r(n),n.default='import React from \'react\';\nimport clsx from \'clsx\';\nimport { makeStyles } from \'@material-ui/core/styles\';\nimport IconButton from \'@material-ui/core/IconButton\';\nimport Input from \'@material-ui/core/Input\';\nimport FilledInput from \'@material-ui/core/FilledInput\';\nimport OutlinedInput from \'@material-ui/core/OutlinedInput\';\nimport InputLabel from \'@material-ui/core/InputLabel\';\nimport InputAdornment from \'@material-ui/core/InputAdornment\';\nimport FormHelperText from \'@material-ui/core/FormHelperText\';\nimport FormControl from \'@material-ui/core/FormControl\';\nimport TextField from \'@material-ui/core/TextField\';\nimport Visibility from \'@material-ui/icons/Visibility\';\nimport VisibilityOff from \'@material-ui/icons/VisibilityOff\';\n\nconst useStyles = makeStyles((theme) => ({\n  root: {\n    display: \'flex\',\n    flexWrap: \'wrap\',\n  },\n  margin: {\n    margin: theme.spacing(1),\n  },\n  withoutLabel: {\n    marginTop: theme.spacing(3),\n  },\n  textField: {\n    width: \'25ch\',\n  },\n}));\n\nexport default function InputAdornments() {\n  const classes = useStyles();\n  const [values, setValues] = React.useState({\n    amount: \'\',\n    password: \'\',\n    weight: \'\',\n    weightRange: \'\',\n    showPassword: false,\n  });\n\n  const handleChange = (prop) => (event) => {\n    setValues({ ...values, [prop]: event.target.value });\n  };\n\n  const handleClickShowPassword = () => {\n    setValues({ ...values, showPassword: !values.showPassword });\n  };\n\n  const handleMouseDownPassword = (event) => {\n    event.preventDefault();\n  };\n\n  return (\n    <div className={classes.root}>\n      <div>\n        <TextField\n          label="With normal TextField"\n          id="standard-start-adornment"\n          className={clsx(classes.margin, classes.textField)}\n          InputProps={{\n            startAdornment: <InputAdornment position="start">Kg</InputAdornment>,\n          }}\n        />\n        <FormControl className={clsx(classes.margin, classes.withoutLabel, classes.textField)}>\n          <Input\n            id="standard-adornment-weight"\n            value={values.weight}\n            onChange={handleChange(\'weight\')}\n            endAdornment={<InputAdornment position="end">Kg</InputAdornment>}\n            aria-describedby="standard-weight-helper-text"\n            inputProps={{\n              \'aria-label\': \'weight\',\n            }}\n          />\n          <FormHelperText id="standard-weight-helper-text">Weight</FormHelperText>\n        </FormControl>\n        <FormControl className={clsx(classes.margin, classes.textField)}>\n          <InputLabel htmlFor="standard-adornment-password">Password</InputLabel>\n          <Input\n            id="standard-adornment-password"\n            type={values.showPassword ? \'text\' : \'password\'}\n            value={values.password}\n            onChange={handleChange(\'password\')}\n            endAdornment={\n              <InputAdornment position="end">\n                <IconButton\n                  aria-label="toggle password visibility"\n                  onClick={handleClickShowPassword}\n                  onMouseDown={handleMouseDownPassword}\n                >\n                  {values.showPassword ? <Visibility /> : <VisibilityOff />}\n                </IconButton>\n              </InputAdornment>\n            }\n          />\n        </FormControl>\n        <FormControl fullWidth className={classes.margin}>\n          <InputLabel htmlFor="standard-adornment-amount">Amount</InputLabel>\n          <Input\n            id="standard-adornment-amount"\n            value={values.amount}\n            onChange={handleChange(\'amount\')}\n            startAdornment={<InputAdornment position="start">$</InputAdornment>}\n          />\n        </FormControl>\n      </div>\n      <div>\n        <TextField\n          label="With normal TextField"\n          id="filled-start-adornment"\n          className={clsx(classes.margin, classes.textField)}\n          InputProps={{\n            startAdornment: <InputAdornment position="start">Kg</InputAdornment>,\n          }}\n          variant="filled"\n        />\n        <FormControl className={clsx(classes.margin, classes.textField)} variant="filled">\n          <FilledInput\n            id="filled-adornment-weight"\n            value={values.weight}\n            onChange={handleChange(\'weight\')}\n            endAdornment={<InputAdornment position="end">Kg</InputAdornment>}\n            aria-describedby="filled-weight-helper-text"\n            inputProps={{\n              \'aria-label\': \'weight\',\n            }}\n          />\n          <FormHelperText id="filled-weight-helper-text">Weight</FormHelperText>\n        </FormControl>\n        <FormControl className={clsx(classes.margin, classes.textField)} variant="filled">\n          <InputLabel htmlFor="filled-adornment-password">Password</InputLabel>\n          <FilledInput\n            id="filled-adornment-password"\n            type={values.showPassword ? \'text\' : \'password\'}\n            value={values.password}\n            onChange={handleChange(\'password\')}\n            endAdornment={\n              <InputAdornment position="end">\n                <IconButton\n                  aria-label="toggle password visibility"\n                  onClick={handleClickShowPassword}\n                  onMouseDown={handleMouseDownPassword}\n                  edge="end"\n                >\n                  {values.showPassword ? <Visibility /> : <VisibilityOff />}\n                </IconButton>\n              </InputAdornment>\n            }\n          />\n        </FormControl>\n        <FormControl fullWidth className={classes.margin} variant="filled">\n          <InputLabel htmlFor="filled-adornment-amount">Amount</InputLabel>\n          <FilledInput\n            id="filled-adornment-amount"\n            value={values.amount}\n            onChange={handleChange(\'amount\')}\n            startAdornment={<InputAdornment position="start">$</InputAdornment>}\n          />\n        </FormControl>\n      </div>\n      <div>\n        <TextField\n          label="With normal TextField"\n          id="outlined-start-adornment"\n          className={clsx(classes.margin, classes.textField)}\n          InputProps={{\n            startAdornment: <InputAdornment position="start">Kg</InputAdornment>,\n          }}\n          variant="outlined"\n        />\n        <FormControl className={clsx(classes.margin, classes.textField)} variant="outlined">\n          <OutlinedInput\n            id="outlined-adornment-weight"\n            value={values.weight}\n            onChange={handleChange(\'weight\')}\n            endAdornment={<InputAdornment position="end">Kg</InputAdornment>}\n            aria-describedby="outlined-weight-helper-text"\n            inputProps={{\n              \'aria-label\': \'weight\',\n            }}\n            labelWidth={0}\n          />\n          <FormHelperText id="outlined-weight-helper-text">Weight</FormHelperText>\n        </FormControl>\n        <FormControl className={clsx(classes.margin, classes.textField)} variant="outlined">\n          <InputLabel htmlFor="outlined-adornment-password">Password</InputLabel>\n          <OutlinedInput\n            id="outlined-adornment-password"\n            type={values.showPassword ? \'text\' : \'password\'}\n            value={values.password}\n            onChange={handleChange(\'password\')}\n            endAdornment={\n              <InputAdornment position="end">\n                <IconButton\n                  aria-label="toggle password visibility"\n                  onClick={handleClickShowPassword}\n                  onMouseDown={handleMouseDownPassword}\n                  edge="end"\n                >\n                  {values.showPassword ? <Visibility /> : <VisibilityOff />}\n                </IconButton>\n              </InputAdornment>\n            }\n            labelWidth={70}\n          />\n        </FormControl>\n        <FormControl fullWidth className={classes.margin} variant="outlined">\n          <InputLabel htmlFor="outlined-adornment-amount">Amount</InputLabel>\n          <OutlinedInput\n            id="outlined-adornment-amount"\n            value={values.amount}\n            onChange={handleChange(\'amount\')}\n            startAdornment={<InputAdornment position="start">$</InputAdornment>}\n            labelWidth={60}\n          />\n        </FormControl>\n      </div>\n    </div>\n  );\n}\n'},2362:function(e,n,t){"use strict";t.r(n),t.d(n,"default",(function(){return o}));t(0);var a=t(1072),l=t(1096),r=t(1);const i=Object(a.a)((e=>({root:{"& .MuiTextField-root":{margin:e.spacing(1),width:200}}})));function o(){const e=i();return Object(r.jsxs)("form",{className:e.root,noValidate:!0,autoComplete:"off",children:[Object(r.jsxs)("div",{children:[Object(r.jsx)(l.a,{label:"Size",id:"standard-size-small",defaultValue:"Small",size:"small"}),Object(r.jsx)(l.a,{label:"Size",id:"standard-size-normal",defaultValue:"Normal"})]}),Object(r.jsxs)("div",{children:[Object(r.jsx)(l.a,{label:"Size",id:"filled-size-small",defaultValue:"Small",variant:"filled",size:"small"}),Object(r.jsx)(l.a,{label:"Size",id:"filled-size-normal",defaultValue:"Normal",variant:"filled"})]}),Object(r.jsxs)("div",{children:[Object(r.jsx)(l.a,{label:"Size",id:"outlined-size-small",defaultValue:"Small",variant:"outlined",size:"small"}),Object(r.jsx)(l.a,{label:"Size",id:"outlined-size-normal",defaultValue:"Normal",variant:"outlined"})]})]})}},2363:function(e,n,t){"use strict";t.r(n),n.default='import React from \'react\';\nimport { makeStyles } from \'@material-ui/core/styles\';\nimport TextField from \'@material-ui/core/TextField\';\n\nconst useStyles = makeStyles((theme) => ({\n  root: {\n    \'& .MuiTextField-root\': {\n      margin: theme.spacing(1),\n      width: 200,\n    },\n  },\n}));\n\nexport default function TextFieldSizes() {\n  const classes = useStyles();\n\n  return (\n    <form className={classes.root} noValidate autoComplete="off">\n      <div>\n        <TextField label="Size" id="standard-size-small" defaultValue="Small" size="small" />\n        <TextField label="Size" id="standard-size-normal" defaultValue="Normal" />\n      </div>\n      <div>\n        <TextField\n          label="Size"\n          id="filled-size-small"\n          defaultValue="Small"\n          variant="filled"\n          size="small"\n        />\n        <TextField label="Size" id="filled-size-normal" defaultValue="Normal" variant="filled" />\n      </div>\n      <div>\n        <TextField\n          label="Size"\n          id="outlined-size-small"\n          defaultValue="Small"\n          variant="outlined"\n          size="small"\n        />\n        <TextField\n          label="Size"\n          id="outlined-size-normal"\n          defaultValue="Normal"\n          variant="outlined"\n        />\n      </div>\n    </form>\n  );\n}\n'},2364:function(e,n,t){"use strict";t.r(n),t.d(n,"default",(function(){return o}));t(0);var a=t(1072),l=t(1096),r=t(1);const i=Object(a.a)((e=>({root:{display:"flex",flexWrap:"wrap"},textField:{marginLeft:e.spacing(1),marginRight:e.spacing(1),width:"25ch"}})));function o(){const e=i();return Object(r.jsxs)("div",{className:e.root,children:[Object(r.jsxs)("div",{children:[Object(r.jsx)(l.a,{id:"standard-full-width",label:"Label",style:{margin:8},placeholder:"Placeholder",helperText:"Full width!",fullWidth:!0,margin:"normal",InputLabelProps:{shrink:!0}}),Object(r.jsx)(l.a,{label:"None",id:"margin-none",defaultValue:"Default Value",className:e.textField,helperText:"Some important text"}),Object(r.jsx)(l.a,{label:"Dense",id:"margin-dense",defaultValue:"Default Value",className:e.textField,helperText:"Some important text",margin:"dense"}),Object(r.jsx)(l.a,{label:"Normal",id:"margin-normal",defaultValue:"Default Value",className:e.textField,helperText:"Some important text",margin:"normal"})]}),Object(r.jsxs)("div",{children:[Object(r.jsx)(l.a,{id:"filled-full-width",label:"Label",style:{margin:8},placeholder:"Placeholder",helperText:"Full width!",fullWidth:!0,margin:"normal",InputLabelProps:{shrink:!0},variant:"filled"}),Object(r.jsx)(l.a,{label:"None",id:"filled-margin-none",defaultValue:"Default Value",className:e.textField,helperText:"Some important text",variant:"filled"}),Object(r.jsx)(l.a,{label:"Dense",id:"filled-margin-dense",defaultValue:"Default Value",className:e.textField,helperText:"Some important text",margin:"dense",variant:"filled"}),Object(r.jsx)(l.a,{label:"Normal",id:"filled-margin-normal",defaultValue:"Default Value",className:e.textField,helperText:"Some important text",margin:"normal",variant:"filled"})]}),Object(r.jsxs)("div",{children:[Object(r.jsx)(l.a,{id:"outlined-full-width",label:"Label",style:{margin:8},placeholder:"Placeholder",helperText:"Full width!",fullWidth:!0,margin:"normal",InputLabelProps:{shrink:!0},variant:"outlined"}),Object(r.jsx)(l.a,{label:"None",id:"outlined-margin-none",defaultValue:"Default Value",className:e.textField,helperText:"Some important text",variant:"outlined"}),Object(r.jsx)(l.a,{label:"Dense",id:"outlined-margin-dense",defaultValue:"Default Value",className:e.textField,helperText:"Some important text",margin:"dense",variant:"outlined"}),Object(r.jsx)(l.a,{label:"Normal",id:"outlined-margin-normal",defaultValue:"Default Value",className:e.textField,helperText:"Some important text",margin:"normal",variant:"outlined"})]})]})}},2365:function(e,n,t){"use strict";t.r(n),n.default='import React from \'react\';\nimport { makeStyles } from \'@material-ui/core/styles\';\nimport TextField from \'@material-ui/core/TextField\';\n\nconst useStyles = makeStyles((theme) => ({\n  root: {\n    display: \'flex\',\n    flexWrap: \'wrap\',\n  },\n  textField: {\n    marginLeft: theme.spacing(1),\n    marginRight: theme.spacing(1),\n    width: \'25ch\',\n  },\n}));\n\nexport default function LayoutTextFields() {\n  const classes = useStyles();\n\n  return (\n    <div className={classes.root}>\n      <div>\n        <TextField\n          id="standard-full-width"\n          label="Label"\n          style={{ margin: 8 }}\n          placeholder="Placeholder"\n          helperText="Full width!"\n          fullWidth\n          margin="normal"\n          InputLabelProps={{\n            shrink: true,\n          }}\n        />\n        <TextField\n          label="None"\n          id="margin-none"\n          defaultValue="Default Value"\n          className={classes.textField}\n          helperText="Some important text"\n        />\n        <TextField\n          label="Dense"\n          id="margin-dense"\n          defaultValue="Default Value"\n          className={classes.textField}\n          helperText="Some important text"\n          margin="dense"\n        />\n        <TextField\n          label="Normal"\n          id="margin-normal"\n          defaultValue="Default Value"\n          className={classes.textField}\n          helperText="Some important text"\n          margin="normal"\n        />\n      </div>\n      <div>\n        <TextField\n          id="filled-full-width"\n          label="Label"\n          style={{ margin: 8 }}\n          placeholder="Placeholder"\n          helperText="Full width!"\n          fullWidth\n          margin="normal"\n          InputLabelProps={{\n            shrink: true,\n          }}\n          variant="filled"\n        />\n        <TextField\n          label="None"\n          id="filled-margin-none"\n          defaultValue="Default Value"\n          className={classes.textField}\n          helperText="Some important text"\n          variant="filled"\n        />\n        <TextField\n          label="Dense"\n          id="filled-margin-dense"\n          defaultValue="Default Value"\n          className={classes.textField}\n          helperText="Some important text"\n          margin="dense"\n          variant="filled"\n        />\n        <TextField\n          label="Normal"\n          id="filled-margin-normal"\n          defaultValue="Default Value"\n          className={classes.textField}\n          helperText="Some important text"\n          margin="normal"\n          variant="filled"\n        />\n      </div>\n      <div>\n        <TextField\n          id="outlined-full-width"\n          label="Label"\n          style={{ margin: 8 }}\n          placeholder="Placeholder"\n          helperText="Full width!"\n          fullWidth\n          margin="normal"\n          InputLabelProps={{\n            shrink: true,\n          }}\n          variant="outlined"\n        />\n        <TextField\n          label="None"\n          id="outlined-margin-none"\n          defaultValue="Default Value"\n          className={classes.textField}\n          helperText="Some important text"\n          variant="outlined"\n        />\n        <TextField\n          label="Dense"\n          id="outlined-margin-dense"\n          defaultValue="Default Value"\n          className={classes.textField}\n          helperText="Some important text"\n          margin="dense"\n          variant="outlined"\n        />\n        <TextField\n          label="Normal"\n          id="outlined-margin-normal"\n          defaultValue="Default Value"\n          className={classes.textField}\n          helperText="Some important text"\n          margin="normal"\n          variant="outlined"\n        />\n      </div>\n    </div>\n  );\n}\n'},2366:function(e,n,t){"use strict";t.r(n),t.d(n,"default",(function(){return d}));var a=t(0),l=t.n(a),r=t(1096),i=t(1072),o=t(1);const s=Object(i.a)((e=>({root:{"& .MuiTextField-root":{margin:e.spacing(1),width:"25ch"}}})));function d(){const e=s(),[n,t]=l.a.useState("Cat in the Hat"),a=e=>{t(e.target.value)};return Object(o.jsxs)("form",{className:e.root,noValidate:!0,autoComplete:"off",children:[Object(o.jsxs)("div",{children:[Object(o.jsx)(r.a,{id:"standard-name",label:"Name",value:n,onChange:a}),Object(o.jsx)(r.a,{id:"standard-uncontrolled",label:"Uncontrolled",defaultValue:"foo"})]}),Object(o.jsxs)("div",{children:[Object(o.jsx)(r.a,{id:"filled-name",label:"Name",value:n,onChange:a,variant:"filled"}),Object(o.jsx)(r.a,{id:"filled-uncontrolled",label:"Uncontrolled",defaultValue:"foo",variant:"filled"})]}),Object(o.jsxs)("div",{children:[Object(o.jsx)(r.a,{id:"outlined-name",label:"Name",value:n,onChange:a,variant:"outlined"}),Object(o.jsx)(r.a,{id:"outlined-uncontrolled",label:"Uncontrolled",defaultValue:"foo",variant:"outlined"})]})]})}},2367:function(e,n,t){"use strict";t.r(n),n.default='import React from \'react\';\nimport TextField from \'@material-ui/core/TextField\';\nimport { makeStyles } from \'@material-ui/core/styles\';\n\nconst useStyles = makeStyles((theme) => ({\n  root: {\n    \'& .MuiTextField-root\': {\n      margin: theme.spacing(1),\n      width: \'25ch\',\n    },\n  },\n}));\n\nexport default function StateTextFields() {\n  const classes = useStyles();\n  const [name, setName] = React.useState(\'Cat in the Hat\');\n  const handleChange = (event) => {\n    setName(event.target.value);\n  };\n\n  return (\n    <form className={classes.root} noValidate autoComplete="off">\n      <div>\n        <TextField id="standard-name" label="Name" value={name} onChange={handleChange} />\n        <TextField id="standard-uncontrolled" label="Uncontrolled" defaultValue="foo" />\n      </div>\n      <div>\n        <TextField\n          id="filled-name"\n          label="Name"\n          value={name}\n          onChange={handleChange}\n          variant="filled"\n        />\n        <TextField\n          id="filled-uncontrolled"\n          label="Uncontrolled"\n          defaultValue="foo"\n          variant="filled"\n        />\n      </div>\n      <div>\n        <TextField\n          id="outlined-name"\n          label="Name"\n          value={name}\n          onChange={handleChange}\n          variant="outlined"\n        />\n        <TextField\n          id="outlined-uncontrolled"\n          label="Uncontrolled"\n          defaultValue="foo"\n          variant="outlined"\n        />\n      </div>\n    </form>\n  );\n}\n'},2368:function(e,n,t){"use strict";t.r(n),t.d(n,"default",(function(){return h}));var a=t(0),l=t.n(a),r=t(1072),i=t(1030),o=t(1035),s=t(1039),d=t(548),c=t(1038),u=t(1045),m=t(1);const p=Object(r.a)((e=>({root:{"& > *":{margin:e.spacing(1)}}})));function h(){const[e,n]=l.a.useState("Composed TextField"),t=p(),a=e=>{n(e.target.value)};return Object(m.jsxs)("form",{className:t.root,noValidate:!0,autoComplete:"off",children:[Object(m.jsxs)(o.a,{children:[Object(m.jsx)(c.a,{htmlFor:"component-simple",children:"Name"}),Object(m.jsx)(d.a,{id:"component-simple",value:e,onChange:a})]}),Object(m.jsxs)(o.a,{children:[Object(m.jsx)(c.a,{htmlFor:"component-helper",children:"Name"}),Object(m.jsx)(d.a,{id:"component-helper",value:e,onChange:a,"aria-describedby":"component-helper-text"}),Object(m.jsx)(s.a,{id:"component-helper-text",children:"Some important helper text"})]}),Object(m.jsxs)(o.a,{disabled:!0,children:[Object(m.jsx)(c.a,{htmlFor:"component-disabled",children:"Name"}),Object(m.jsx)(d.a,{id:"component-disabled",value:e,onChange:a}),Object(m.jsx)(s.a,{children:"Disabled"})]}),Object(m.jsxs)(o.a,{error:!0,children:[Object(m.jsx)(c.a,{htmlFor:"component-error",children:"Name"}),Object(m.jsx)(d.a,{id:"component-error",value:e,onChange:a,"aria-describedby":"component-error-text"}),Object(m.jsx)(s.a,{id:"component-error-text",children:"Error"})]}),Object(m.jsxs)(o.a,{variant:"outlined",children:[Object(m.jsx)(c.a,{htmlFor:"component-outlined",children:"Name"}),Object(m.jsx)(u.a,{id:"component-outlined",value:e,onChange:a,label:"Name"})]}),Object(m.jsxs)(o.a,{variant:"filled",children:[Object(m.jsx)(c.a,{htmlFor:"component-filled",children:"Name"}),Object(m.jsx)(i.a,{id:"component-filled",value:e,onChange:a})]})]})}},2369:function(e,n,t){"use strict";t.r(n),n.default='import React from \'react\';\nimport { makeStyles } from \'@material-ui/core/styles\';\nimport FilledInput from \'@material-ui/core/FilledInput\';\nimport FormControl from \'@material-ui/core/FormControl\';\nimport FormHelperText from \'@material-ui/core/FormHelperText\';\nimport Input from \'@material-ui/core/Input\';\nimport InputLabel from \'@material-ui/core/InputLabel\';\nimport OutlinedInput from \'@material-ui/core/OutlinedInput\';\n\nconst useStyles = makeStyles((theme) => ({\n  root: {\n    \'& > *\': {\n      margin: theme.spacing(1),\n    },\n  },\n}));\n\nexport default function ComposedTextField() {\n  const [name, setName] = React.useState(\'Composed TextField\');\n  const classes = useStyles();\n\n  const handleChange = (event) => {\n    setName(event.target.value);\n  };\n\n  return (\n    <form className={classes.root} noValidate autoComplete="off">\n      <FormControl>\n        <InputLabel htmlFor="component-simple">Name</InputLabel>\n        <Input id="component-simple" value={name} onChange={handleChange} />\n      </FormControl>\n      <FormControl>\n        <InputLabel htmlFor="component-helper">Name</InputLabel>\n        <Input\n          id="component-helper"\n          value={name}\n          onChange={handleChange}\n          aria-describedby="component-helper-text"\n        />\n        <FormHelperText id="component-helper-text">Some important helper text</FormHelperText>\n      </FormControl>\n      <FormControl disabled>\n        <InputLabel htmlFor="component-disabled">Name</InputLabel>\n        <Input id="component-disabled" value={name} onChange={handleChange} />\n        <FormHelperText>Disabled</FormHelperText>\n      </FormControl>\n      <FormControl error>\n        <InputLabel htmlFor="component-error">Name</InputLabel>\n        <Input\n          id="component-error"\n          value={name}\n          onChange={handleChange}\n          aria-describedby="component-error-text"\n        />\n        <FormHelperText id="component-error-text">Error</FormHelperText>\n      </FormControl>\n      <FormControl variant="outlined">\n        <InputLabel htmlFor="component-outlined">Name</InputLabel>\n        <OutlinedInput id="component-outlined" value={name} onChange={handleChange} label="Name" />\n      </FormControl>\n      <FormControl variant="filled">\n        <InputLabel htmlFor="component-filled">Name</InputLabel>\n        <FilledInput id="component-filled" value={name} onChange={handleChange} />\n      </FormControl>\n    </form>\n  );\n}\n'},2370:function(e,n,t){"use strict";t.r(n),t.d(n,"default",(function(){return o}));t(0);var a=t(1072),l=t(548),r=t(1);const i=Object(a.a)((e=>({root:{"& > *":{margin:e.spacing(1)}}})));function o(){const e=i();return Object(r.jsxs)("form",{className:e.root,noValidate:!0,autoComplete:"off",children:[Object(r.jsx)(l.a,{defaultValue:"Hello world",inputProps:{"aria-label":"description"}}),Object(r.jsx)(l.a,{placeholder:"Placeholder",inputProps:{"aria-label":"description"}}),Object(r.jsx)(l.a,{defaultValue:"Disabled",disabled:!0,inputProps:{"aria-label":"description"}}),Object(r.jsx)(l.a,{defaultValue:"Error",error:!0,inputProps:{"aria-label":"description"}})]})}},2371:function(e,n,t){"use strict";t.r(n),n.default="import React from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Input from '@material-ui/core/Input';\n\nconst useStyles = makeStyles((theme) => ({\n  root: {\n    '& > *': {\n      margin: theme.spacing(1),\n    },\n  },\n}));\n\nexport default function Inputs() {\n  const classes = useStyles();\n\n  return (\n    <form className={classes.root} noValidate autoComplete=\"off\">\n      <Input defaultValue=\"Hello world\" inputProps={{ 'aria-label': 'description' }} />\n      <Input placeholder=\"Placeholder\" inputProps={{ 'aria-label': 'description' }} />\n      <Input defaultValue=\"Disabled\" disabled inputProps={{ 'aria-label': 'description' }} />\n      <Input defaultValue=\"Error\" error inputProps={{ 'aria-label': 'description' }} />\n    </form>\n  );\n}\n"},2372:function(e,n,t){"use strict";t.r(n),t.d(n,"default",(function(){return o}));t(0);var a=t(1072),l=t(1096),r=t(1);const i=Object(a.a)((e=>({root:{"& > *":{margin:e.spacing(1),width:"25ch"}}})));function o(){const e=i();return Object(r.jsxs)("form",{className:e.root,noValidate:!0,autoComplete:"off",children:[Object(r.jsx)(l.a,{id:"standard-secondary",label:"Standard secondary",color:"secondary"}),Object(r.jsx)(l.a,{id:"filled-secondary",label:"Filled secondary",variant:"filled",color:"secondary"}),Object(r.jsx)(l.a,{id:"outlined-secondary",label:"Outlined secondary",variant:"outlined",color:"secondary"})]})}},2373:function(e,n,t){"use strict";t.r(n),n.default='import React from \'react\';\nimport { makeStyles } from \'@material-ui/core/styles\';\nimport TextField from \'@material-ui/core/TextField\';\n\nconst useStyles = makeStyles((theme) => ({\n  root: {\n    \'& > *\': {\n      margin: theme.spacing(1),\n      width: \'25ch\',\n    },\n  },\n}));\n\nexport default function ColorTextFields() {\n  const classes = useStyles();\n\n  return (\n    <form className={classes.root} noValidate autoComplete="off">\n      <TextField id="standard-secondary" label="Standard secondary" color="secondary" />\n      <TextField\n        id="filled-secondary"\n        label="Filled secondary"\n        variant="filled"\n        color="secondary"\n      />\n      <TextField\n        id="outlined-secondary"\n        label="Outlined secondary"\n        variant="outlined"\n        color="secondary"\n      />\n    </form>\n  );\n}\n'},2374:function(e,n,t){"use strict";t.r(n),t.d(n,"default",(function(){return O}));t(0);var a=t(11),l=t(31),r=t(1072),i=t(386),o=t(1099),s=t(549),d=t(1038),c=t(1096),u=t(1035),m=t(149),p=t(1);const h=Object(a.a)({root:{"& label.Mui-focused":{color:"green"},"& .MuiInput-underline:after":{borderBottomColor:"green"},"& .MuiOutlinedInput-root":{"& fieldset":{borderColor:"red"},"&:hover fieldset":{borderColor:"yellow"},"&.Mui-focused fieldset":{borderColor:"green"}}}})(c.a),b=Object(a.a)((e=>({root:{"label + &":{marginTop:e.spacing(3)}},input:{borderRadius:4,position:"relative",backgroundColor:e.palette.common.white,border:"1px solid #ced4da",fontSize:16,width:"auto",padding:"10px 12px",transition:e.transitions.create(["border-color","box-shadow"]),fontFamily:["-apple-system","BlinkMacSystemFont",'"Segoe UI"',"Roboto",'"Helvetica Neue"',"Arial","sans-serif",'"Apple Color Emoji"','"Segoe UI Emoji"','"Segoe UI Symbol"'].join(","),"&:focus":{boxShadow:"".concat(Object(l.a)(e.palette.primary.main,.25)," 0 0 0 0.2rem"),borderColor:e.palette.primary.main}}})))(s.a),x=Object(r.a)((e=>({root:{border:"1px solid #e2e2e1",overflow:"hidden",borderRadius:4,backgroundColor:"#fcfcfb",transition:e.transitions.create(["border-color","box-shadow"]),"&:hover":{backgroundColor:"#fff"},"&$focused":{backgroundColor:"#fff",boxShadow:"".concat(Object(l.a)(e.palette.primary.main,.25)," 0 0 0 2px"),borderColor:e.palette.primary.main}},focused:{}})));function j(e){const n=x();return Object(p.jsx)(c.a,{InputProps:{classes:n,disableUnderline:!0},...e})}const f=Object(r.a)((e=>({root:{display:"flex",flexWrap:"wrap"},margin:{margin:e.spacing(1)}}))),v=Object(a.a)({root:{"& input:valid + fieldset":{borderColor:"green",borderWidth:2},"& input:invalid + fieldset":{borderColor:"red",borderWidth:2},"& input:valid:focus + fieldset":{borderLeftWidth:6,padding:"4px !important"}}})(c.a),g=Object(i.b)({palette:{primary:m.a}});function O(){const e=f();return Object(p.jsxs)("form",{className:e.root,noValidate:!0,children:[Object(p.jsx)(h,{className:e.margin,id:"custom-css-standard-input",label:"Custom CSS"}),Object(p.jsx)(h,{className:e.margin,label:"Custom CSS",variant:"outlined",id:"custom-css-outlined-input"}),Object(p.jsxs)(o.a,{theme:g,children:[Object(p.jsx)(c.a,{className:e.margin,label:"ThemeProvider",id:"mui-theme-provider-standard-input"}),Object(p.jsx)(c.a,{className:e.margin,label:"ThemeProvider",variant:"outlined",id:"mui-theme-provider-outlined-input"})]}),Object(p.jsxs)(u.a,{className:e.margin,children:[Object(p.jsx)(d.a,{shrink:!0,htmlFor:"bootstrap-input",children:"Bootstrap"}),Object(p.jsx)(b,{defaultValue:"react-bootstrap",id:"bootstrap-input"})]}),Object(p.jsx)(j,{label:"Reddit",className:e.margin,defaultValue:"react-reddit",variant:"filled",id:"reddit-input"}),Object(p.jsx)(s.a,{className:e.margin,defaultValue:"Naked input",inputProps:{"aria-label":"naked"}}),Object(p.jsx)(v,{className:e.margin,label:"CSS validation style",required:!0,variant:"outlined",defaultValue:"Success",id:"validation-outlined-input"})]})}},2375:function(e,n,t){"use strict";t.r(n),n.default="import React from 'react';\nimport {\n  alpha,\n  ThemeProvider,\n  withStyles,\n  makeStyles,\n  createTheme,\n} from '@material-ui/core/styles';\nimport InputBase from '@material-ui/core/InputBase';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport TextField from '@material-ui/core/TextField';\nimport FormControl from '@material-ui/core/FormControl';\nimport { green } from '@material-ui/core/colors';\n\nconst CssTextField = withStyles({\n  root: {\n    '& label.Mui-focused': {\n      color: 'green',\n    },\n    '& .MuiInput-underline:after': {\n      borderBottomColor: 'green',\n    },\n    '& .MuiOutlinedInput-root': {\n      '& fieldset': {\n        borderColor: 'red',\n      },\n      '&:hover fieldset': {\n        borderColor: 'yellow',\n      },\n      '&.Mui-focused fieldset': {\n        borderColor: 'green',\n      },\n    },\n  },\n})(TextField);\n\nconst BootstrapInput = withStyles((theme) => ({\n  root: {\n    'label + &': {\n      marginTop: theme.spacing(3),\n    },\n  },\n  input: {\n    borderRadius: 4,\n    position: 'relative',\n    backgroundColor: theme.palette.common.white,\n    border: '1px solid #ced4da',\n    fontSize: 16,\n    width: 'auto',\n    padding: '10px 12px',\n    transition: theme.transitions.create(['border-color', 'box-shadow']),\n    // Use the system font instead of the default Roboto font.\n    fontFamily: [\n      '-apple-system',\n      'BlinkMacSystemFont',\n      '\"Segoe UI\"',\n      'Roboto',\n      '\"Helvetica Neue\"',\n      'Arial',\n      'sans-serif',\n      '\"Apple Color Emoji\"',\n      '\"Segoe UI Emoji\"',\n      '\"Segoe UI Symbol\"',\n    ].join(','),\n    '&:focus': {\n      boxShadow: `${alpha(theme.palette.primary.main, 0.25)} 0 0 0 0.2rem`,\n      borderColor: theme.palette.primary.main,\n    },\n  },\n}))(InputBase);\n\nconst useStylesReddit = makeStyles((theme) => ({\n  root: {\n    border: '1px solid #e2e2e1',\n    overflow: 'hidden',\n    borderRadius: 4,\n    backgroundColor: '#fcfcfb',\n    transition: theme.transitions.create(['border-color', 'box-shadow']),\n    '&:hover': {\n      backgroundColor: '#fff',\n    },\n    '&$focused': {\n      backgroundColor: '#fff',\n      boxShadow: `${alpha(theme.palette.primary.main, 0.25)} 0 0 0 2px`,\n      borderColor: theme.palette.primary.main,\n    },\n  },\n  focused: {},\n}));\n\nfunction RedditTextField(props) {\n  const classes = useStylesReddit();\n\n  return <TextField InputProps={{ classes, disableUnderline: true }} {...props} />;\n}\n\nconst useStyles = makeStyles((theme) => ({\n  root: {\n    display: 'flex',\n    flexWrap: 'wrap',\n  },\n  margin: {\n    margin: theme.spacing(1),\n  },\n}));\n\nconst ValidationTextField = withStyles({\n  root: {\n    '& input:valid + fieldset': {\n      borderColor: 'green',\n      borderWidth: 2,\n    },\n    '& input:invalid + fieldset': {\n      borderColor: 'red',\n      borderWidth: 2,\n    },\n    '& input:valid:focus + fieldset': {\n      borderLeftWidth: 6,\n      padding: '4px !important', // override inline-style\n    },\n  },\n})(TextField);\n\nconst theme = createTheme({\n  palette: {\n    primary: green,\n  },\n});\n\nexport default function CustomizedInputs() {\n  const classes = useStyles();\n\n  return (\n    <form className={classes.root} noValidate>\n      <CssTextField className={classes.margin} id=\"custom-css-standard-input\" label=\"Custom CSS\" />\n      <CssTextField\n        className={classes.margin}\n        label=\"Custom CSS\"\n        variant=\"outlined\"\n        id=\"custom-css-outlined-input\"\n      />\n      <ThemeProvider theme={theme}>\n        <TextField\n          className={classes.margin}\n          label=\"ThemeProvider\"\n          id=\"mui-theme-provider-standard-input\"\n        />\n        <TextField\n          className={classes.margin}\n          label=\"ThemeProvider\"\n          variant=\"outlined\"\n          id=\"mui-theme-provider-outlined-input\"\n        />\n      </ThemeProvider>\n      <FormControl className={classes.margin}>\n        <InputLabel shrink htmlFor=\"bootstrap-input\">\n          Bootstrap\n        </InputLabel>\n        <BootstrapInput defaultValue=\"react-bootstrap\" id=\"bootstrap-input\" />\n      </FormControl>\n      <RedditTextField\n        label=\"Reddit\"\n        className={classes.margin}\n        defaultValue=\"react-reddit\"\n        variant=\"filled\"\n        id=\"reddit-input\"\n      />\n      <InputBase\n        className={classes.margin}\n        defaultValue=\"Naked input\"\n        inputProps={{ 'aria-label': 'naked' }}\n      />\n      <ValidationTextField\n        className={classes.margin}\n        label=\"CSS validation style\"\n        required\n        variant=\"outlined\"\n        defaultValue=\"Success\"\n        id=\"validation-outlined-input\"\n      />\n    </form>\n  );\n}\n"},2376:function(e,n,t){"use strict";t.r(n),t.d(n,"default",(function(){return x}));t(0);var a=t(1072),l=t(193),r=t(549),i=t(1108),o=t(1028),s=t(1164),d=t.n(s),c=t(1249),u=t.n(c),m=t(2377),p=t.n(m),h=t(1);const b=Object(a.a)((e=>({root:{padding:"2px 4px",display:"flex",alignItems:"center",width:400},input:{marginLeft:e.spacing(1),flex:1},iconButton:{padding:10},divider:{height:28,margin:4}})));function x(){const e=b();return Object(h.jsxs)(l.a,{component:"form",className:e.root,children:[Object(h.jsx)(o.a,{className:e.iconButton,"aria-label":"menu",children:Object(h.jsx)(d.a,{})}),Object(h.jsx)(r.a,{className:e.input,placeholder:"Search Google Maps",inputProps:{"aria-label":"search google maps"}}),Object(h.jsx)(o.a,{type:"submit",className:e.iconButton,"aria-label":"search",children:Object(h.jsx)(u.a,{})}),Object(h.jsx)(i.a,{className:e.divider,orientation:"vertical"}),Object(h.jsx)(o.a,{color:"primary",className:e.iconButton,"aria-label":"directions",children:Object(h.jsx)(p.a,{})})]})}},2378:function(e,n,t){"use strict";t.r(n),n.default="import React from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Paper from '@material-ui/core/Paper';\nimport InputBase from '@material-ui/core/InputBase';\nimport Divider from '@material-ui/core/Divider';\nimport IconButton from '@material-ui/core/IconButton';\nimport MenuIcon from '@material-ui/icons/Menu';\nimport SearchIcon from '@material-ui/icons/Search';\nimport DirectionsIcon from '@material-ui/icons/Directions';\n\nconst useStyles = makeStyles((theme) => ({\n  root: {\n    padding: '2px 4px',\n    display: 'flex',\n    alignItems: 'center',\n    width: 400,\n  },\n  input: {\n    marginLeft: theme.spacing(1),\n    flex: 1,\n  },\n  iconButton: {\n    padding: 10,\n  },\n  divider: {\n    height: 28,\n    margin: 4,\n  },\n}));\n\nexport default function CustomizedInputBase() {\n  const classes = useStyles();\n\n  return (\n    <Paper component=\"form\" className={classes.root}>\n      <IconButton className={classes.iconButton} aria-label=\"menu\">\n        <MenuIcon />\n      </IconButton>\n      <InputBase\n        className={classes.input}\n        placeholder=\"Search Google Maps\"\n        inputProps={{ 'aria-label': 'search google maps' }}\n      />\n      <IconButton type=\"submit\" className={classes.iconButton} aria-label=\"search\">\n        <SearchIcon />\n      </IconButton>\n      <Divider className={classes.divider} orientation=\"vertical\" />\n      <IconButton color=\"primary\" className={classes.iconButton} aria-label=\"directions\">\n        <DirectionsIcon />\n      </IconButton>\n    </Paper>\n  );\n}\n"},2379:function(e,n,t){"use strict";t.r(n),t.d(n,"default",(function(){return j}));var a=t(0),l=t.n(a),r=t(2380),i=t.n(r),o=t(2381),s=t(1072),d=t(548),c=t(1038),u=t(1096),m=t(1035),p=t(1);const h=Object(s.a)((e=>({root:{"& > *":{margin:e.spacing(1)}}})));function b(e){const{inputRef:n,...t}=e;return Object(p.jsx)(i.a,{...t,ref:e=>{n(e?e.inputElement:null)},mask:["(",/[1-9]/,/\d/,/\d/,")"," ",/\d/,/\d/,/\d/,"-",/\d/,/\d/,/\d/,/\d/],placeholderChar:"\u2000",showMask:!0})}function x(e){const{inputRef:n,onChange:t,...a}=e;return Object(p.jsx)(o.a,{...a,getInputRef:n,onValueChange:n=>{t({target:{name:e.name,value:n.value}})},thousandSeparator:!0,isNumericString:!0,prefix:"$"})}function j(){const e=h(),[n,t]=l.a.useState({textmask:"(1\u2000\u2000) \u2000\u2000\u2000-\u2000\u2000\u2000\u2000",numberformat:"1320"}),a=e=>{t({...n,[e.target.name]:e.target.value})};return Object(p.jsxs)("div",{className:e.root,children:[Object(p.jsxs)(m.a,{children:[Object(p.jsx)(c.a,{htmlFor:"formatted-text-mask-input",children:"react-text-mask"}),Object(p.jsx)(d.a,{value:n.textmask,onChange:a,name:"textmask",id:"formatted-text-mask-input",inputComponent:b})]}),Object(p.jsx)(u.a,{label:"react-number-format",value:n.numberformat,onChange:a,name:"numberformat",id:"formatted-numberformat-input",InputProps:{inputComponent:x}})]})}},2382:function(e,n,t){"use strict";t.r(n),n.default="import React from 'react';\nimport PropTypes from 'prop-types';\nimport MaskedInput from 'react-text-mask';\nimport NumberFormat from 'react-number-format';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Input from '@material-ui/core/Input';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport TextField from '@material-ui/core/TextField';\nimport FormControl from '@material-ui/core/FormControl';\n\nconst useStyles = makeStyles((theme) => ({\n  root: {\n    '& > *': {\n      margin: theme.spacing(1),\n    },\n  },\n}));\n\nfunction TextMaskCustom(props) {\n  const { inputRef, ...other } = props;\n\n  return (\n    <MaskedInput\n      {...other}\n      ref={(ref) => {\n        inputRef(ref ? ref.inputElement : null);\n      }}\n      mask={['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/]}\n      placeholderChar={'\\u2000'}\n      showMask\n    />\n  );\n}\n\nTextMaskCustom.propTypes = {\n  inputRef: PropTypes.func.isRequired,\n};\n\nfunction NumberFormatCustom(props) {\n  const { inputRef, onChange, ...other } = props;\n\n  return (\n    <NumberFormat\n      {...other}\n      getInputRef={inputRef}\n      onValueChange={(values) => {\n        onChange({\n          target: {\n            name: props.name,\n            value: values.value,\n          },\n        });\n      }}\n      thousandSeparator\n      isNumericString\n      prefix=\"$\"\n    />\n  );\n}\n\nNumberFormatCustom.propTypes = {\n  inputRef: PropTypes.func.isRequired,\n  name: PropTypes.string.isRequired,\n  onChange: PropTypes.func.isRequired,\n};\n\nexport default function FormattedInputs() {\n  const classes = useStyles();\n  const [values, setValues] = React.useState({\n    textmask: '(1\u2000\u2000) \u2000\u2000\u2000-\u2000\u2000\u2000\u2000',\n    numberformat: '1320',\n  });\n\n  const handleChange = (event) => {\n    setValues({\n      ...values,\n      [event.target.name]: event.target.value,\n    });\n  };\n\n  return (\n    <div className={classes.root}>\n      <FormControl>\n        <InputLabel htmlFor=\"formatted-text-mask-input\">react-text-mask</InputLabel>\n        <Input\n          value={values.textmask}\n          onChange={handleChange}\n          name=\"textmask\"\n          id=\"formatted-text-mask-input\"\n          inputComponent={TextMaskCustom}\n        />\n      </FormControl>\n      <TextField\n        label=\"react-number-format\"\n        value={values.numberformat}\n        onChange={handleChange}\n        name=\"numberformat\"\n        id=\"formatted-numberformat-input\"\n        InputProps={{\n          inputComponent: NumberFormatCustom,\n        }}\n      />\n    </div>\n  );\n}\n"},2615:function(e,n,t){"use strict";t.r(n);var a=t(1130),l=t(118),r=t(1098),i=t(1090),o=t(194),s=t(1072),d=t(1);const c=Object(s.a)((e=>({layoutRoot:{"& .description":{marginBottom:16}}})));n.default=function(e){return c(),Object(d.jsxs)(d.Fragment,{children:[Object(d.jsx)("div",{className:"flex flex-1 flex-grow-0 items-center justify-end",children:Object(d.jsxs)(r.a,{className:"normal-case",variant:"outlined",component:"a",href:"https://material-ui.com/components/text-fields",target:"_blank",role:"button",children:[Object(d.jsx)(i.a,{children:"link"}),Object(d.jsx)("span",{className:"mx-4",children:"Reference"})]})}),Object(d.jsx)(o.a,{className:"text-44 mt-32 mb-8",component:"h1",children:"Text Field"}),Object(d.jsx)(o.a,{className:"description",children:"Text fields let users enter and edit text."}),Object(d.jsxs)(o.a,{className:"mb-16",component:"div",children:[Object(d.jsx)("a",{href:"https://material.io/design/components/text-fields.html",children:"Text fields"})," allow users to enter text into a UI. They typically appear in forms and dialogs."]}),Object(d.jsx)(o.a,{className:"text-32 mt-32 mb-8",component:"h2",children:"TextField"}),Object(d.jsxs)(o.a,{className:"mb-16",component:"div",children:["The ",Object(d.jsx)("code",{children:"TextField"})," wrapper component is a complete form control including a label, input and help text."]}),Object(d.jsx)(o.a,{className:"mb-16",component:"div",children:"It supports standard, outlined and filled styling."}),Object(d.jsx)(o.a,{className:"mb-16",component:"div",children:Object(d.jsx)(a.a,{className:"my-24",iframe:!1,component:t(2346).default,raw:t(2347)})}),Object(d.jsxs)(o.a,{className:"mb-16",component:"div",children:[Object(d.jsx)("strong",{children:"Note:"})," The standard variant of the ",Object(d.jsx)("code",{children:"TextField"})," is no longer documented in the ",Object(d.jsx)("a",{href:"https://material.io/",children:"Material Design guidelines"}),"(",Object(d.jsx)("a",{href:"https://medium.com/google-design/the-evolution-of-material-designs-text-fields-603688b3fe03",children:"here's why"}),"), but Material-UI will continue to support it."]}),Object(d.jsx)(o.a,{className:"text-32 mt-32 mb-8",component:"h2",children:"Form props"}),Object(d.jsxs)(o.a,{className:"mb-16",component:"div",children:["Standard form attributes are supported e.g. ",Object(d.jsx)("code",{children:"required"}),", ",Object(d.jsx)("code",{children:"disabled"}),","," ",Object(d.jsx)("code",{children:"type"}),", etc. as well as a ",Object(d.jsx)("code",{children:"helperText"})," which is used to give context about a field\u2019s input, such as how the input will be used."]}),Object(d.jsx)(o.a,{className:"mb-16",component:"div",children:Object(d.jsx)(a.a,{className:"my-24",iframe:!1,component:t(2348).default,raw:t(2349)})}),Object(d.jsx)(o.a,{className:"text-32 mt-32 mb-8",component:"h2",children:"Validation"}),Object(d.jsxs)(o.a,{className:"mb-16",component:"div",children:["The ",Object(d.jsx)("code",{children:"error"})," prop toggles the error state, the ",Object(d.jsx)("code",{children:"helperText"})," prop can then be used to provide feedback to the user about the error."]}),Object(d.jsx)(o.a,{className:"mb-16",component:"div",children:Object(d.jsx)(a.a,{className:"my-24",iframe:!1,component:t(2350).default,raw:t(2351)})}),Object(d.jsx)(o.a,{className:"text-32 mt-32 mb-8",component:"h2",children:"Multiline"}),Object(d.jsxs)(o.a,{className:"mb-16",component:"div",children:["The ",Object(d.jsx)("code",{children:"multiline"})," prop transforms the text field into a"," ",Object(d.jsx)("a",{href:"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea",children:"textarea"})," or a ",Object(d.jsx)("a",{href:"/components/textarea-autosize/",children:"TextareaAutosize"}),"."]}),Object(d.jsx)(o.a,{className:"mb-16",component:"div",children:Object(d.jsx)(a.a,{className:"my-24",iframe:!1,component:t(2352).default,raw:t(2353)})}),Object(d.jsx)(o.a,{className:"text-32 mt-32 mb-8",component:"h2",children:"Select"}),Object(d.jsxs)(o.a,{className:"mb-16",component:"div",children:["The ",Object(d.jsx)("code",{children:"select"})," prop makes the text field use the"," ",Object(d.jsx)("a",{href:"/components/selects/",children:"Select"})," component internally."]}),Object(d.jsx)(o.a,{className:"mb-16",component:"div",children:Object(d.jsx)(a.a,{className:"my-24",iframe:!1,component:t(2354).default,raw:t(2355)})}),Object(d.jsx)(o.a,{className:"text-32 mt-32 mb-8",component:"h2",children:"Icons"}),Object(d.jsx)(o.a,{className:"mb-16",component:"div",children:"There are multiple ways to display an icon with a text field."}),Object(d.jsx)(o.a,{className:"mb-16",component:"div",children:Object(d.jsx)(a.a,{className:"my-24",iframe:!1,component:t(2356).default,raw:t(2357)})}),Object(d.jsx)(o.a,{className:"text-24 mt-32 mb-8",component:"h3",children:"Input Adornments"}),Object(d.jsxs)(o.a,{className:"mb-16",component:"div",children:["The main way is with an ",Object(d.jsx)("code",{children:"InputAdornment"}),". This can be used to add a prefix, a suffix or an action to an input. For instance, you can use an icon button to hide or reveal the password."]}),Object(d.jsx)(o.a,{className:"mb-16",component:"div",children:Object(d.jsx)(a.a,{className:"my-24",iframe:!1,component:t(2358).default,raw:t(2361)})}),Object(d.jsx)(o.a,{className:"text-32 mt-32 mb-8",component:"h2",children:"Sizes"}),Object(d.jsxs)(o.a,{className:"mb-16",component:"div",children:["Fancy smaller inputs? Use the ",Object(d.jsx)("code",{children:"size"})," prop."]}),Object(d.jsx)(o.a,{className:"mb-16",component:"div",children:Object(d.jsx)(a.a,{className:"my-24",iframe:!1,component:t(2362).default,raw:t(2363)})}),Object(d.jsx)(o.a,{className:"text-32 mt-32 mb-8",component:"h2",children:"Layout"}),Object(d.jsxs)(o.a,{className:"mb-16",component:"div",children:[Object(d.jsx)("code",{children:"margin"})," prop can be used to alter the vertical spacing of inputs. Using"," ",Object(d.jsx)("code",{children:"none"})," (default) will not apply margins to the ",Object(d.jsx)("code",{children:"FormControl"}),", whereas"," ",Object(d.jsx)("code",{children:"dense"})," and ",Object(d.jsx)("code",{children:"normal"})," will.",Object(d.jsx)("code",{children:"dense"})," and ",Object(d.jsx)("code",{children:"normal"})," alter other styles to meet the specification."]}),Object(d.jsxs)(o.a,{className:"mb-16",component:"div",children:[Object(d.jsx)("code",{children:"fullWidth"})," can be used to make the input take up the full width of its container."]}),Object(d.jsx)(o.a,{className:"mb-16",component:"div",children:Object(d.jsx)(a.a,{className:"my-24",iframe:!1,component:t(2364).default,raw:t(2365)})}),Object(d.jsx)(o.a,{className:"text-32 mt-32 mb-8",component:"h2",children:"Uncontrolled vs Controlled"}),Object(d.jsx)(o.a,{className:"mb-16",component:"div",children:"The component can be controlled or uncontrolled."}),Object(d.jsx)(o.a,{className:"mb-16",component:"div",children:Object(d.jsx)(a.a,{className:"my-24",iframe:!1,component:t(2366).default,raw:t(2367)})}),Object(d.jsx)(o.a,{className:"text-32 mt-32 mb-8",component:"h2",children:"Components"}),Object(d.jsxs)(o.a,{className:"mb-16",component:"div",children:[Object(d.jsx)("code",{children:"TextField"})," is composed of smaller components (",Object(d.jsx)("a",{href:"/api/form-control/",children:Object(d.jsx)("code",{children:"FormControl"})}),",",Object(d.jsx)("a",{href:"/api/input/",children:Object(d.jsx)("code",{children:"Input"})}),",",Object(d.jsx)("a",{href:"/api/filled-input/",children:Object(d.jsx)("code",{children:"FilledInput"})}),",",Object(d.jsx)("a",{href:"/api/input-label/",children:Object(d.jsx)("code",{children:"InputLabel"})}),",",Object(d.jsx)("a",{href:"/api/outlined-input/",children:Object(d.jsx)("code",{children:"OutlinedInput"})}),", and"," ",Object(d.jsx)("a",{href:"/api/form-helper-text/",children:Object(d.jsx)("code",{children:"FormHelperText"})}),") that you can leverage directly to significantly customize your form inputs."]}),Object(d.jsxs)(o.a,{className:"mb-16",component:"div",children:["You might also have noticed that some native HTML input properties are missing from the"," ",Object(d.jsx)("code",{children:"TextField"})," component. This is on purpose. The component takes care of the most used properties, then it's up to the user to use the underlying component shown in the following demo. Still, you can use ",Object(d.jsx)("code",{children:"inputProps"})," (and ",Object(d.jsx)("code",{children:"InputProps"}),","," ",Object(d.jsx)("code",{children:"InputLabelProps"})," properties) if you want to avoid some boilerplate."]}),Object(d.jsx)(o.a,{className:"mb-16",component:"div",children:Object(d.jsx)(a.a,{className:"my-24",iframe:!1,component:t(2368).default,raw:t(2369)})}),Object(d.jsx)(o.a,{className:"text-32 mt-32 mb-8",component:"h2",children:"Inputs"}),Object(d.jsx)(o.a,{className:"mb-16",component:"div",children:Object(d.jsx)(a.a,{className:"my-24",iframe:!1,component:t(2370).default,raw:t(2371)})}),Object(d.jsx)(o.a,{className:"text-32 mt-32 mb-8",component:"h2",children:"Color"}),Object(d.jsxs)(o.a,{className:"mb-16",component:"div",children:["The ",Object(d.jsx)("code",{children:"color"})," prop changes the highlight color of the text field when focused."]}),Object(d.jsx)(o.a,{className:"mb-16",component:"div",children:Object(d.jsx)(a.a,{className:"my-24",iframe:!1,component:t(2372).default,raw:t(2373)})}),Object(d.jsx)(o.a,{className:"text-32 mt-32 mb-8",component:"h2",children:"Customized inputs"}),Object(d.jsxs)(o.a,{className:"mb-16",component:"div",children:["Here are some examples of customizing the component. You can learn more about this in the",Object(d.jsx)("a",{href:"/customization/components/",children:"overrides documentation page"}),"."]}),Object(d.jsx)(o.a,{className:"mb-16",component:"div",children:Object(d.jsx)(a.a,{className:"my-24",iframe:!1,component:t(2374).default,raw:t(2375)})}),Object(d.jsxs)(o.a,{className:"mb-16",component:"div",children:["Customization does not stop at CSS, you can use composition to build custom components and give your app a unique feel. Below is an example using the"," ",Object(d.jsx)("a",{href:"/api/input-base/",children:Object(d.jsx)("code",{children:"InputBase"})})," ","component, inspired by Google Maps."]}),Object(d.jsx)(o.a,{className:"mb-16",component:"div",children:Object(d.jsx)(a.a,{className:"my-24",iframe:!1,component:t(2376).default,raw:t(2378)})}),Object(d.jsxs)(o.a,{className:"mb-16",component:"div",children:["\ud83c\udfa8 If you are looking for inspiration, you can check"," ",Object(d.jsx)("a",{href:"https://mui-treasury.com/styles/text-field",children:"MUI Treasury's customization examples"}),"."]}),Object(d.jsx)(o.a,{className:"text-32 mt-32 mb-8",component:"h2",children:"Limitations"}),Object(d.jsx)(o.a,{className:"text-24 mt-32 mb-8",component:"h3",children:"Shrink"}),Object(d.jsx)(o.a,{className:"mb-16",component:"div",children:'The input label "shrink" state isn\'t always correct. The input label is supposed to shrink as soon as the input is displaying something. In some circumstances, we can\'t determine the "shrink" state (number input, datetime input, Stripe input). You might notice an overlap.'}),Object(d.jsxs)(o.a,{className:"mb-16",component:"div",children:[" ",'src="/material-ui-static/images/text-fields/shrink.png" alt="shrink/>']}),Object(d.jsx)(o.a,{className:"mb-16",component:"div",children:'To workaround the issue, you can force the "shrink" state of the label.'}),Object(d.jsx)(l.a,{component:"pre",className:"language-jsx",children:" \n<TextField InputLabelProps={{ shrink: true }} />\n"}),Object(d.jsx)(o.a,{className:"mb-16",component:"div",children:"or"}),Object(d.jsx)(l.a,{component:"pre",className:"language-jsx",children:" \n<InputLabel shrink>Count</InputLabel>\n"}),Object(d.jsx)(o.a,{className:"text-24 mt-32 mb-8",component:"h3",children:"Floating label"}),Object(d.jsx)(o.a,{className:"mb-16",component:"div",children:"The floating label is absolutely positioned, it won't impact the layout of the page. You need to make sure that the input is larger than the label to display correctly."}),Object(d.jsx)(o.a,{className:"text-32 mt-32 mb-8",component:"h2",children:"Integration with 3rd party input libraries"}),Object(d.jsxs)(o.a,{className:"mb-16",component:"div",children:["You can use third-party libraries to format an input. You have to provide a custom implementation of the ",Object(d.jsx)("code",{children:"<input>"})," element with the ",Object(d.jsx)("code",{children:"inputComponent"})," ","property."]}),Object(d.jsxs)(o.a,{className:"mb-16",component:"div",children:["The following demo uses the"," ",Object(d.jsx)("a",{href:"https://github.com/text-mask/text-mask",children:"react-text-mask"})," and"," ",Object(d.jsx)("a",{href:"https://github.com/s-yadav/react-number-format",children:"react-number-format"})," libraries. The same concept could be applied to"," ",Object(d.jsx)("a",{href:"https://github.com/mui-org/material-ui/issues/16037",children:"e.g. react-stripe-element"}),"."]}),Object(d.jsx)(o.a,{className:"mb-16",component:"div",children:Object(d.jsx)(a.a,{className:"my-24",iframe:!1,component:t(2379).default,raw:t(2382)})}),Object(d.jsxs)(o.a,{className:"mb-16",component:"div",children:["The provided input component should handle the ",Object(d.jsx)("code",{children:"inputRef"})," property. The property should be called with a value that implements the following interface:"]}),Object(d.jsx)(l.a,{component:"pre",className:"language-ts",children:" \ninterface InputElement {\n  focus(): void;\n  value?: string;\n}\n"}),Object(d.jsx)(l.a,{component:"pre",className:"language-jsx",children:" \nfunction MyInputComponent(props) {\n  const { component: Component, inputRef, ...other } = props;\n\n  // implement `InputElement` interface\n  React.useImperativeHandle(inputRef, () => ({\n    focus: () => {\n      // logic to focus the rendered component from 3rd party belongs here\n    },\n    // hiding the value e.g. react-stripe-elements\n  }));\n\n  // `Component` will be your `SomeThirdPartyComponent` from below\n  return <Component {...other} />;\n}\n\n// usage\n<TextField\n  InputProps={{\n    inputComponent: MyInputComponent,\n    inputProps: { component: SomeThirdPartyComponent },\n\n/>;\n"}),Object(d.jsx)(o.a,{className:"text-32 mt-32 mb-8",component:"h2",children:"Accessibility"}),Object(d.jsxs)(o.a,{className:"mb-16",component:"div",children:["In order for the text field to be accessible,"," ",Object(d.jsx)("strong",{children:"the input should be linked to the label and the helper text"}),". The underlying DOM nodes should have this structure:"]}),Object(d.jsx)(l.a,{component:"pre",className:"language-jsx",children:' \n<div className="form-control">\n  <label for="my-input">Email address</label>\n  <input id="my-input" aria-describedby="my-helper-text" />\n  <span id="my-helper-text">We\'ll never share your email.</span>\n</div>\n'}),Object(d.jsxs)("ul",{children:[Object(d.jsxs)("li",{children:["If you are using the ",Object(d.jsx)("code",{children:"TextField"})," component, you just have to provide a unique"," ",Object(d.jsx)("code",{children:"id"}),"."]}),Object(d.jsx)("li",{children:"If you are composing the component:"})]}),Object(d.jsx)(l.a,{component:"pre",className:"language-jsx",children:' \n<FormControl>\n  <InputLabel htmlFor="my-input">Email address</InputLabel>\n  <Input id="my-input" aria-describedby="my-helper-text" />\n  <FormHelperText id="my-helper-text">We\'ll never share your email.</FormHelperText>\n</FormControl>\n'}),Object(d.jsx)(o.a,{className:"text-32 mt-32 mb-8",component:"h2",children:"Complementary projects"}),Object(d.jsx)(o.a,{className:"mb-16",component:"div",children:"For more advanced use cases you might be able to take advantage of:"}),Object(d.jsxs)("ul",{children:[Object(d.jsxs)("li",{children:[Object(d.jsx)("a",{href:"https://github.com/stackworx/formik-material-ui",children:"formik-material-ui"})," Bindings for using Material-UI with ",Object(d.jsx)("a",{href:"https://jaredpalmer.com/formik",children:"formik"}),"."]}),Object(d.jsxs)("li",{children:[Object(d.jsx)("a",{href:"https://github.com/erikras/redux-form-material-ui",children:"redux-form-material-ui"})," ","Bindings for using Material-UI with ",Object(d.jsx)("a",{href:"https://redux-form.com/",children:"Redux Form"}),"."]}),Object(d.jsxs)("li",{children:[Object(d.jsx)("a",{href:"https://github.com/lookfirst/mui-rff",children:"mui-rff"})," Bindings for using Material-UI with ",Object(d.jsx)("a",{href:"https://final-form.org/react",children:"React Final Form"}),"."]})]})]})}}}]);

Zerion Mini Shell 1.0