{"version":3,"file":"ShellDropdown.mjs","names":["React","PropTypes","makeStyles","FluentTextFieldAutoComplete","useStyles","theme","root","display","alignItems","field","minWidth","maxWidth","width","alignSelf","color","backgroundColor","borderColor","paddingTop","paddingBottom","height","boxSizing","opacity","getDisplayName","item","String","name","label","title","displayName","undefined","ShellDropdown","props","$","_c","classes","className","classProps","groupBy","onChange","other","placeholder","t0","t1","t2","t3","componentName","data","value","optionLabelDisplayFunction","t4","placeholderText","t5","t6","autocompleteRoot","t7","t8","propTypes","string","array","any","func","object"],"sources":["../../../src/shell/ui/ShellDropdown.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core';\nimport { FluentTextFieldAutoComplete } from '../../UI/inputs/textField/FluentTextFieldAutoComplete';\n\nconst useStyles = makeStyles(theme => ({\n  root: { display: 'flex', alignItems: 'center' },\n  field: {\n    minWidth: 300,\n    maxWidth: 400,\n    width: '100%',\n    alignSelf: 'left',\n    color: '#fff',\n    '& .MuiOutlinedInput-root': {\n      color: '#fff',\n      backgroundColor: 'transparent',\n      '& fieldset': {\n        borderColor: 'rgba(255,255,255,0.6)',\n      },\n      '&:hover fieldset': {\n        borderColor: 'rgba(255,255,255,0.85)',\n      },\n      '&.Mui-focused fieldset': {\n        borderColor: '#fff',\n      },\n      '& input': {\n        paddingTop: 4,\n        paddingBottom: 4,\n        height: 20,\n        boxSizing: 'border-box',\n        color: '#fff',\n      },\n      '& .MuiAutocomplete-input': {\n        color: '#fff',\n      },\n    },\n    '& .MuiInputBase-root': {\n      color: '#fff',\n    },\n    '& .MuiAutocomplete-popupIndicator, & .MuiAutocomplete-clearIndicator': {\n      color: '#fff',\n      opacity: 0.95,\n    },\n    '& input::placeholder': {\n      color: 'rgba(255,255,255,0.7)',\n    },\n  },\n}));\n\nfunction getDisplayName(item) {\n  if (!item && item !== 0) return '';\n  if (typeof item === 'string' || typeof item === 'number') return String(item);\n  if (typeof item === 'object') {\n    const name = item.name ?? item.label ?? item.title ?? item.displayName;\n    return name !== undefined && name !== null ? String(name) : '';\n  }\n  return String(item);\n}\n\nexport const ShellDropdown = (props) => {\n  const classes = useStyles();\n  const {\n    componentName = 'Item',\n    data = [],\n    value = null,\n    onChange,\n    optionLabelDisplayFunction = getDisplayName,\n    groupBy,\n    placeholder,\n    className,\n    classProps,\n    ...other\n  } = props;\n\n  const placeholderText = placeholder ?? (!value ? `All ${componentName}s` : undefined);\n\n  return (\n    <div className={`${classes.root} ${className || ''}`}>\n      <FluentTextFieldAutoComplete\n        className={classes.field}\n        classProps={{ autocompleteRoot: classes.field, ...classProps }}\n        options={data}\n        optionLabelDisplayFunction={optionLabelDisplayFunction}\n        groupBy={groupBy}\n        onChange={onChange}\n        value={value}\n        placeholder={placeholderText}\n        {...other}\n      />\n    </div>\n  );\n};\n\nShellDropdown.propTypes = {\n  componentName: PropTypes.string,\n  data: PropTypes.array,\n  value: PropTypes.any,\n  onChange: PropTypes.func,\n  optionLabelDisplayFunction: PropTypes.func,\n  placeholder: PropTypes.string,\n  className: PropTypes.string,\n  classProps: PropTypes.object,\n};\n\nexport default ShellDropdown;\n"],"mappings":";;;;;;AAKA,MAAMI,YAAYF,YAAWG,WAAU;CACrCC,MAAM;EAAEC,SAAS;EAAQC,YAAY;EAAU;CAC/CC,OAAO;EACLC,UAAU;EACVC,UAAU;EACVC,OAAO;EACPC,WAAW;EACXC,OAAO;EACP,4BAA4B;GAC1BA,OAAO;GACPC,iBAAiB;GACjB,cAAc,EACZC,aAAa,yBACd;GACD,oBAAoB,EAClBA,aAAa,0BACd;GACD,0BAA0B,EACxBA,aAAa,QACd;GACD,WAAW;IACTC,YAAY;IACZC,eAAe;IACfC,QAAQ;IACRC,WAAW;IACXN,OAAO;IACR;GACD,4BAA4B,EAC1BA,OAAO,QACT;GACD;EACD,wBAAwB,EACtBA,OAAO,QACR;EACD,wEAAwE;GACtEA,OAAO;GACPO,SAAS;GACV;EACD,wBAAwB,EACtBP,OAAO,yBACT;EACF;CACD,EAAE;AAEH,SAASQ,eAAeC,MAAM;AAC5B,KAAI,CAACA,QAAQA,SAAS,EAAG,QAAO;AAChC,KAAI,OAAOA,SAAS,YAAY,OAAOA,SAAS,SAAU,QAAOC,OAAOD,KAAK;AAC7E,KAAI,OAAOA,SAAS,UAAU;EAC5B,MAAME,OAAOF,KAAKE,QAAQF,KAAKG,SAASH,KAAKI,SAASJ,KAAKK;AAC3D,SAAOH,SAASI,KAAAA,KAAaJ,SAAS,OAAOD,OAAOC,KAAK,GAAG;;AAE9D,QAAOD,OAAOD,KAAK;;AAGrB,MAAaO,iBAAgBC,UAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAC3B,MAAAC,UAAgB9B,WAAW;CAAC,IAAA+B;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;AAAA,KAAAZ,EAAA,OAAAD,OAAA;AAC5B,GAAA,CAAAc,eAAAJ,IAAAK,MAAAJ,IAAAK,OAAAJ,IAAAL,UAAAU,4BAAAJ,IAAAP,SAAAG,aAAAL,WAAAC,eAAAG,SAWIR;AAAMC,IAAA,KAAAD;AAAAC,IAAA,KAAAG;AAAAH,IAAA,KAAAI;AAAAJ,IAAA,KAAAK;AAAAL,IAAA,KAAAM;AAAAN,IAAA,KAAAO;AAAAP,IAAA,KAAAQ;AAAAR,IAAA,KAAAS;AAAAT,IAAA,KAAAU;AAAAV,IAAA,KAAAW;AAAAX,IAAA,MAAAY;QAAA;AAAAT,cAAAH,EAAA;AAAAI,eAAAJ,EAAA;AAAAK,YAAAL,EAAA;AAAAM,aAAAN,EAAA;AAAAO,UAAAP,EAAA;AAAAQ,gBAAAR,EAAA;AAAAS,OAAAT,EAAA;AAAAU,OAAAV,EAAA;AAAAW,OAAAX,EAAA;AAAAY,OAAAZ,EAAA;;CAVR,MAAAa,gBAAAJ,OAAAZ,KAAAA,IAAA,SAAAY;CAAsB,IAAAQ;AAAA,KAAAjB,EAAA,QAAAU,IAAA;AACtBO,OAAAP,OAAAb,KAAAA,IAAA,EAAS,GAATa;AAASV,IAAA,MAAAU;AAAAV,IAAA,MAAAiB;OAAAA,MAAAjB,EAAA;CAAT,MAAAc,OAAAG;CACA,MAAAF,QAAAJ,OAAAd,KAAAA,IAAA,OAAAc;CAEA,MAAAK,6BAAAJ,OAAAf,KAAAA,IAAAP,iBAAAsB;CAQF,MAAAM,kBAAwBV,gBAAgB,CAACO,QAAD,OAAgBF,cAAa,KAA7BhB,KAAAA;CAGtB,MAAAsB,KAAA,GAAGjB,QAAO5B,KAAK,GAAI6B,aAAA;CAAiB,IAAAiB;AAAA,KAAApB,EAAA,QAAAI,cAAAJ,EAAA,QAAAE,QAAAzB,OAAA;AAGpC2C,OAAA;GAAAC,kBAAoBnB,QAAOzB;GAAM,GAAK2B;GAAY;AAAAJ,IAAA,MAAAI;AAAAJ,IAAA,MAAAE,QAAAzB;AAAAuB,IAAA,MAAAoB;OAAAA,MAAApB,EAAA;CAAA,IAAAsB;AAAA,KAAAtB,EAAA,QAAAE,QAAAzB,SAAAuB,EAAA,QAAAc,QAAAd,EAAA,QAAAK,WAAAL,EAAA,QAAAM,YAAAN,EAAA,QAAAgB,8BAAAhB,EAAA,QAAAO,SAAAP,EAAA,QAAAkB,mBAAAlB,EAAA,QAAAoB,MAAApB,EAAA,QAAAe,OAAA;AAFhEO,OAAA,sBAAA,cAAC,6BAAD;GACa,WAAApB,QAAOzB;GACN,YAAA2C;GACHN,SAAAA;GACmBE;GACnBX;GACCC;GACHS;GACMG,aAAAA;GAAe,GACxBX;GACJ,CAAA;AAAAP,IAAA,MAAAE,QAAAzB;AAAAuB,IAAA,MAAAc;AAAAd,IAAA,MAAAK;AAAAL,IAAA,MAAAM;AAAAN,IAAA,MAAAgB;AAAAhB,IAAA,MAAAO;AAAAP,IAAA,MAAAkB;AAAAlB,IAAA,MAAAoB;AAAApB,IAAA,MAAAe;AAAAf,IAAA,MAAAsB;OAAAA,MAAAtB,EAAA;CAAA,IAAAuB;AAAA,KAAAvB,EAAA,QAAAmB,MAAAnB,EAAA,QAAAsB,IAAA;AAXJC,OAAA,sBAAA,cAAA,OAAA,EAAgB,WAAAJ,IAYV,EAXJG,GAWI;AAAAtB,IAAA,MAAAmB;AAAAnB,IAAA,MAAAsB;AAAAtB,IAAA,MAAAuB;OAAAA,MAAAvB,EAAA;AAAA,QAZNuB;;AAgBJzB,cAAc0B,YAAY;CACxBX,eAAe5C,UAAUwD;CACzBX,MAAM7C,UAAUyD;CAChBX,OAAO9C,UAAU0D;CACjBrB,UAAUrC,UAAU2D;CACpBZ,4BAA4B/C,UAAU2D;CACtCpB,aAAavC,UAAUwD;CACvBtB,WAAWlC,UAAUwD;CACrBrB,YAAYnC,UAAU4D;CACvB"}