{"version":3,"file":"ActionSpeedDial.mjs","names":["React","useState","SpeedDial","SpeedDialProps","SpeedDialIcon","SpeedDialAction","AddIcon","makeStyles","UnityFluentIcon","getIconFromName","getUnityIconFromName","FluentSpeedDialProps","actions","Array","icon","type","name","onClick","Function","useStyles","theme","wrapper","position","right","spacing","bottom","zIndex","speedDial","speedDialFab","backgroundColor","borderRadius","margin","opacity","speadDialFabExpanded","speedDialActions","paddingBottom","marginBottom","speedDialActionFab","color","width","height","ActionSpeedDial","props","$","_c","expanded","setExpanded","classes","otherProps","open","ariaLabel","t0","t1","length","t2","t3","fab","t4","t5","t6","Symbol","for","t7","t8","action","e","map","t9"],"sources":["../../src/actions/ActionSpeedDial.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport SpeedDial, { SpeedDialProps } from '@material-ui/lab/SpeedDial';\nimport SpeedDialIcon from '@material-ui/lab/SpeedDialIcon';\nimport SpeedDialAction from '@material-ui/lab/SpeedDialAction';\nimport AddIcon from '@material-ui/icons/esm/Add';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { UnityFluentIcon } from '../utilities/iconLibrary/UnityFluentIcon';\nimport { getIconFromName } from '../utilities/tree/TreeUtilities';\nimport { getUnityIconFromName } from '../utilities/iconLibrary/UnityIconLibrary';\n\ninterface FluentSpeedDialProps extends SpeedDialProps {\n  actions: Array<{\n    icon: {\n      type?: string;\n      name: string;\n    };\n    name: string;\n    onClick: Function;\n  }>;\n}\n\nconst useStyles = makeStyles((theme) => {\n  return {\n    wrapper: {\n      position: 'fixed',\n      right: theme.spacing(0),\n      bottom: theme.spacing(0),\n      zIndex: 1200\n    },\n    speedDial: {\n      position: 'absolute',\n      '&.MuiSpeedDial-directionUp, &.MuiSpeedDial-directionLeft': {\n        bottom: theme.spacing(2),\n        right: theme.spacing(2)\n      }\n    },\n    speedDialFab: {\n      backgroundColor: 'black',\n      borderRadius: 1,\n      margin: 0,\n      opacity: 0.75,\n      '&:hover': {\n        backgroundColor: 'black'\n      },\n      '&:focus': {\n        backgroundColor: 'black'\n      }\n    },\n    speadDialFabExpanded: {\n      backgroundColor: 'black',\n      borderRadius: 1,\n      margin: 0,\n      '&:hover': {\n        backgroundColor: 'black'\n      },\n      '&:focus': {\n        backgroundColor: 'black'\n      }\n    },\n    speedDialActions: {\n      '&.MuiSpeedDial-directionUp, &.MuiSpeedDial-actions': {\n        paddingBottom: 0,\n        marginBottom: 0,\n        opacity: 0.75\n      },\n      '&:hover': {\n        opacity: 1\n      },\n      '&:focus': {\n        opacity: 1\n      }\n    },\n    speedDialActionFab: {\n      backgroundColor: 'black',\n      borderRadius: 1,\n      margin: 0,\n      color: 'white',\n      width: 56,\n      height: 56\n    }\n  };\n});\n\nexport const ActionSpeedDial = (props: FluentSpeedDialProps): JSX.Element | null => {\n  const [expanded, setExpanded] = useState(false);\n  const classes = useStyles(expanded);\n  // @ts-ignore\n  const { open, ariaLabel, actions, ...otherProps } = props;\n  if (!actions.length) return null;\n  return (\n    <div className={classes.wrapper}>\n      <SpeedDial\n        id={'udpRecord-ActionSpeedDial'}\n            // @ts-ignore\n        udprecordid={'udpRecord-ActionSpeedDial'}\n        className={classes.speedDial}\n        ariaLabel='Fluent Speed Dial'\n        classes={{\n          fab: expanded ? classes.speadDialFabExpanded : classes.speedDialFab,\n          actions: classes.speedDialActions\n        }}\n        icon={<SpeedDialIcon\n          icon={<AddIcon />}\n        />}\n        onClose={() => setExpanded(false)}\n        onOpen={() => setExpanded(true)}\n        open={expanded}\n        {...otherProps}\n      >\n        {actions.map((action) => (\n          <SpeedDialAction\n            id={'udpRecord-ActionSpeedDial-'+action.name}\n            // @ts-ignore\n            udprecordid={'udpRecord-ActionSpeedDial-'+action.name}\n            key={action.name}\n            icon={\n              /*<UnityFluentIcon component={Icons[action.icon.name]} {...action.icon}/>*/\n              <UnityFluentIcon\n                type={action.icon.type}\n                icon={\n                  action.icon.type === 'unity'\n                    ? getUnityIconFromName(action.icon.name)\n                    : getIconFromName(action.icon.name)\n                }\n              />\n            }\n            open={false}\n            onClick={e => action.onClick(e)}\n            classes={{\n              fab: classes.speedDialActionFab\n            }}\n            tooltipTitle={action.name}\n          />\n        ))}\n      </SpeedDial>\n    </div>\n  );\n};\n"],"mappings":";;;;;;;;;;;AAqBA,MAAMmB,YAAYZ,YAAYa,UAAU;AACtC,QAAO;EACLC,SAAS;GACPC,UAAU;GACVC,OAAOH,MAAMI,QAAQ,EAAE;GACvBC,QAAQL,MAAMI,QAAQ,EAAE;GACxBE,QAAQ;GACT;EACDC,WAAW;GACTL,UAAU;GACV,4DAA4D;IAC1DG,QAAQL,MAAMI,QAAQ,EAAE;IACxBD,OAAOH,MAAMI,QAAQ,EAAC;IACxB;GACD;EACDI,cAAc;GACZC,iBAAiB;GACjBC,cAAc;GACdC,QAAQ;GACRC,SAAS;GACT,WAAW,EACTH,iBAAiB,SAClB;GACD,WAAW,EACTA,iBAAiB,SACnB;GACD;EACDI,sBAAsB;GACpBJ,iBAAiB;GACjBC,cAAc;GACdC,QAAQ;GACR,WAAW,EACTF,iBAAiB,SAClB;GACD,WAAW,EACTA,iBAAiB,SACnB;GACD;EACDK,kBAAkB;GAChB,sDAAsD;IACpDC,eAAe;IACfC,cAAc;IACdJ,SAAS;IACV;GACD,WAAW,EACTA,SAAS,GACV;GACD,WAAW,EACTA,SAAS,GACX;GACD;EACDK,oBAAoB;GAClBR,iBAAiB;GACjBC,cAAc;GACdC,QAAQ;GACRO,OAAO;GACPC,OAAO;GACPC,QAAQ;GACV;EACD;EACD;AAEF,MAAaC,mBAAkBC,UAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAC7B,MAAA,CAAAC,UAAAC,eAAgC7C,SAAS,MAAM;CAC/C,MAAA8C,UAAgB5B,UAAU0B,SAAS;CAAC,IAAAjC;CAAA,IAAAoC;AAAA,KAAAL,EAAA,OAAAD,OAAA;EAEpC,MAAA,EAAAO,MAAAC,WAAAtC,SAAAuC,IAAA,GAAAC,OAAoDV;AAApD9B,YAAAuC;AAAAH,eAAAI;AAA0DT,IAAA,KAAAD;AAAAC,IAAA,KAAA/B;AAAA+B,IAAA,KAAAK;QAAA;AAAApC,YAAA+B,EAAA;AAAAK,eAAAL,EAAA;;AAC1D,KAAI,CAAC/B,QAAOyC,OAAO,QAAS;CAEV,MAAAF,KAAAJ,QAAO1B;CAKR,MAAA+B,KAAAL,QAAOpB;CAGX,MAAA2B,KAAAT,WAAWE,QAAOd,uBAAwBc,QAAOnB;CAAa,IAAA2B;AAAA,KAAAZ,EAAA,OAAAI,QAAAb,oBAAAS,EAAA,OAAAW,IAAA;AAD5DC,OAAA;GAAAC,KACFF;GAA8D1C,SAC1DmC,QAAOb;GACjB;AAAAS,IAAA,KAAAI,QAAAb;AAAAS,IAAA,KAAAW;AAAAX,IAAA,KAAAY;OAAAA,MAAAZ,EAAA;CAAA,IAAAc;CAAA,IAAAC;CAAA,IAAAC;AAAA,KAAAhB,EAAA,OAAAiB,OAAAC,IAAA,4BAAA,EAAA;AACKJ,OAAA,sBAAA,cAAC,eAAD,EACE,MAAA,sBAAA,cAAC,SAAA,KAAS,EAChB,CAAA;AACOC,aAAMZ,YAAY,MAAM;AACzBa,aAAMb,YAAY,KAAK;AAAAH,IAAA,KAAAc;AAAAd,IAAA,KAAAe;AAAAf,IAAA,KAAAgB;QAAA;AAAAF,OAAAd,EAAA;AAAAe,OAAAf,EAAA;AAAAgB,OAAAhB,EAAA;;CAAA,IAAAmB;AAAA,KAAAnB,EAAA,OAAA/B,WAAA+B,EAAA,QAAAI,QAAAV,oBAAA;EAAA,IAAA0B;AAAA,MAAApB,EAAA,QAAAI,QAAAV,oBAAA;AAIlB0B,SAAAC,WACX,sBAAA,cAAC,iBAAD;IACM,IAAA,+BAA6BA,OAAMhD;IAE1B,aAAA,+BAA6BgD,OAAMhD;IAC3C,KAAAgD,OAAMhD;IAGT,MAAA,sBAAA,cAAC,iBAAD;KACQ,MAAAgD,OAAMlD,KAAKC;KAEf,MAAAiD,OAAMlD,KAAKC,SAAU,UACjBL,qBAAqBsD,OAAMlD,KAAKE,KACC,GAAjCP,gBAAgBuD,OAAMlD,KAAKE,KAAK;KAEvC,CAAA;IAEG,MAAA;IACG,UAAAiD,MAAKD,OAAM/C,QAASgD,EAAC;IACrB,SAAA,EAAAT,KACFT,QAAOV,oBACd;IACc,cAAA2B,OAAMhD;IAEvB,CAAA;AAAA2B,KAAA,MAAAI,QAAAV;AAAAM,KAAA,MAAAoB;QAAAA,MAAApB,EAAA;AAxBAmB,OAAAlD,QAAOsD,IAAKH,GAwBX;AAAApB,IAAA,KAAA/B;AAAA+B,IAAA,MAAAI,QAAAV;AAAAM,IAAA,MAAAmB;OAAAA,MAAAnB,EAAA;CAAA,IAAAoB;AAAA,KAAApB,EAAA,QAAAI,QAAApB,aAAAgB,EAAA,QAAAE,YAAAF,EAAA,QAAAK,cAAAL,EAAA,QAAAY,MAAAZ,EAAA,QAAAmB,IAAA;AA1CJC,OAAA,sBAAA,cAAC,WAAD;GACM,IAAA;GAES,aAAA;GACF,WAAAX;GACD,WAAA;GACD,SAAAG;GAIH,MAAAE;GAGG,SAAAC;GACD,QAAAC;GACFd,MAAAA;GAAQ,GACVG;GA2BM,EAzBTc,GAyBS;AAAAnB,IAAA,MAAAI,QAAApB;AAAAgB,IAAA,MAAAE;AAAAF,IAAA,MAAAK;AAAAL,IAAA,MAAAY;AAAAZ,IAAA,MAAAmB;AAAAnB,IAAA,MAAAoB;OAAAA,MAAApB,EAAA;CAAA,IAAAwB;AAAA,KAAAxB,EAAA,QAAAI,QAAA1B,WAAAsB,EAAA,QAAAoB,IAAA;AA5CdI,OAAA,sBAAA,cAAA,OAAA,EAAgB,WAAAhB,IA6CV,EA5CJY,GA4CI;AAAApB,IAAA,MAAAI,QAAA1B;AAAAsB,IAAA,MAAAoB;AAAApB,IAAA,MAAAwB;OAAAA,MAAAxB,EAAA;AAAA,QA7CNwB"}