{"version":3,"sources":["webpack:///../../../src/components/VGrid/VFlex.ts","webpack:///./src/organization/OrganizationMemberTable.vue","webpack:///./src/organization/OrganizationMemberNewEdit.vue","webpack:///src/organization/OrganizationMemberNewEdit.vue","webpack:///./src/organization/OrganizationMemberNewEdit.vue?3599","webpack:///./src/organization/OrganizationMemberNewEdit.vue?d49f","webpack:///src/organization/OrganizationMemberTable.vue","webpack:///./src/organization/OrganizationMemberTable.vue?4ed6","webpack:///./src/organization/OrganizationMemberTable.vue?4ccd","webpack:///../../../src/components/VCombobox/VCombobox.ts","webpack:///../../../src/components/VRadioGroup/VRadioGroup.ts","webpack:///../../../src/components/VRadioGroup/VRadio.ts","webpack:///./src/project/ProjectCard.vue","webpack:///src/project/ProjectCard.vue","webpack:///./src/project/ProjectCard.vue?9d89","webpack:///./src/project/ProjectCard.vue?483b","webpack:///./src/project/ProjectCombobox.vue","webpack:///src/project/ProjectCombobox.vue","webpack:///./src/project/ProjectCombobox.vue?e731","webpack:///./src/project/ProjectCombobox.vue?4e07","webpack:///../../../src/components/VAutocomplete/VAutocomplete.ts"],"names":["Grid","staticClass","_c","attrs","on","createEditShow","value","_vm","callback","expression","key","_v","item","projects","length","project","_s","staticRenderFns","render","fn","closeCreateEdit","showCreateEdit","scopedSlots","errors","valid","id","email","model","role","defaultProjects","extend","required","message","name","components","ValidationObserver","ValidationProvider","ProjectCombobox","computed","mapFields","get","d","filter","v","default","map","set","wrapped","$emit","methods","mapActions","component","NewEditSheet","ProjectCard","data","headers","text","sortable","align","created","getAll","$watch","vm","page","q","itemsPerPage","sortBy","descending","getRoleIcon","VAutocomplete","props","delimiters","type","Array","returnObject","Boolean","editingIndex","computedCounterValue","this","multiple","selectedItems","internalSearch","toString","hasSlot","VSelect","options","call","isAnyValueAllowed","menuCanShow","isFocused","hasDisplayedItems","$slots","hideNoData","searchIsDirty","onInternalSearchChanged","val","delimiter","find","endsWith","slice","updateTags","updateMenuDimensions","genInput","input","paste","onPaste","genChipSelection","index","chip","componentOptions","listeners","dblclick","getText","selectedIndex","onChipInput","onEnterDown","e","preventDefault","getMenuIndex","$nextTick","updateSelf","onFilteredItemsChanged","oldVal","autoSelectFirst","onKeyDown","keyCode","ctrlKey","keyCodes","home","end","includes","left","$refs","selectionStart","enter","changeSelectedIndex","onTabDown","stopPropagation","selectItem","updateEditing","toLocaleLowerCase","setSelectedItems","internalValue","setValue","_value","updateCombobox","isUsingSlot","$scopedSlots","selection","hasChips","menuIndex","indexOf","splice","event","_event$clipboardData","pastedItemText","clipboardData","getData","findExistingIndex","clearableCallback","baseMixins","mixins","Comparable","BaseItemGroup","VInput","provide","radioGroup","column","height","Number","String","row","classes","genDefaultSlot","$createElement","computedId","genInputSlot","click","genLabel","label","for","tag","onClick","BindsAttrs","Colorable","Rippleable","GroupableFactory","Themeable","inheritAttrs","disabled","offIcon","onIcon","readonly","isDisabled","themeClasses","groupClasses","computedColor","Selectable","computedIcon","isActive","hasLabel","hasState","isReadonly","computedName","_uid","rippleState","validationState","args","VLabel","prevent","color","focused","getSlot","genRadio","VIcon","setTextColor","dense","attrs$","genRipple","onFocus","onBlur","onChange","toggle","onKeydown","h","class","mergeListeners","listeners$","menu","$$v","Object","getFilteredData","staticStyle","loading","items","more","numItems","search","cloneDeep","_projects","fetchData","loadMore","error","filterOptions","SearchUtils","createParametersFromTableOptions","ProjectApi","then","response","total","debounce","defaultMenuProps","VSelectMenuProps","offsetY","offsetOverflow","transition","allowOverflow","Function","queryText","itemText","menuProps","noFilter","searchInput","lazySearch","computedItems","filteredItems","selectedValues","getValue","hideSelected","some","hasItem","currentRange","selectedItem","isSearching","allItems","getPropertyFromItem","isDirty","$_menuProps","contentClass","trim","i","valueComparator","listData","virtualizedItems","watch","document","addEventListener","onCopy","select","removeEventListener","blur","isMenuActive","activateMenu","setSearch","destroyed","setMenuIndex","getTiles","updateDimensions","right","backspace","delete","deleteCurrentItem","curIndex","curItem","isInteractive","getDisabled","lastIndex","nextIndex","nextItem","VTextField","mergeData","getObjectValueByPath","autocomplete","domProps","slot","genSelections","isAppendInner","target","onInput","badInput","validity","onSpaceDown","onUpDown","_event$clipboardData2","currentItem","currentItemText","setData"],"mappings":"kHAAA,0BAIeA,sBAAK,S,uKCJ0LC,aAAsB,IAAGC,EAAG,KAA8ED,UAAY,GAAY,OAAM,SAAQ,CAACA,OAAmBE,MAAM,KAAgB,+BAACC,YAAG,O,MAAC,C,aAAoCC,KAAiB,oBAAE,YAAa,YAAEF,GAAK,OAAC,+D,YAAQ,cAAE,WAAE,YAAS,OAA8DA,MAAM,CAAC,cAAiB,GAAI,CAAwBA,MAAM,YAAC,SAAW,oB,CAA+C,U,MAAe,CAAa,UAAkjBA,GAAK,GAAC,0D,MAAC,CAAe,kBAA6BA,GAAK,OAAC,W,MAAC,CAAe,YAAID,YAAG,GAAmCC,KAAM,oBAAC,UAAa,GAAU,KAAO,S,CAA2B,WAAc,SAAG,ugB,MAAC,CAAe,kB,CAAQG,SAAOC,CAAG,EAAG,Q,MAACC,C,UAAkC,M,CAAEC,SAAW,WAAG,OAAI,cAAc,SAAmC,MAAU,SAASC,cAAW,GAACP,eAAM,G,UAAQ,I,MAAc,CAAQ,UAAE,SAAK,SAAS,GAACF,OAAoDA,WAAW,QAAkDE,GAAK,EAAC,iC,OAAC,SAAU,C,IAAC,EAAO,GAAE,OAAII,KAAO,KAA4EJ,GAAM,IAAC,SAAsC,WAAE,YAAa,oBAAEA,GAAK,OAAC,C,YAAQ,yBAAE,oBAAE,MAAMQ,CAA4HR,MAAM,GAAC,KAAO,KAAK,CAACI,EAAII,GAAG,0BAA6B,GAAG,IAAKA,EAAG,YAAcJ,MAAOK,GAAKC,SAASC,CAA0D,MAAOZ,CAAUQ,MAAIK,UAAWd,aAAY,U,CAA4BE,SAAM,C,MAAC,CAAyB,UAAS,CAACD,EAAG,KAAOA,GAAG,cAAS,4EAACC,MAAM,CAAC,KAAO,KAAK,CAACI,EAAII,GAAG,iCAAgC,EAACJ,GAAIS,cAAe,EAAI,GAAE,EAAI,SAAM,cAAiB,gCAACf,eAAY,CAAgBC,IAAG,EAAQ,GAACC,YAAM,QAAC,kBAAiB,CAAC,MAAM,CAAI,sBAAK,M,EAAyB,MAAOI,GAAIF,Q,MAAoB,CAAC,UAA2C,CAAC,EAAG,GAAE,eAAW,qDACvqF,2BACGY,WAEJ,MAASC,C,sQCJwQR,W,MAAcS,K,UAAc,G,8BAAgC,C,cAAC,K,2BAAmB,Q,sBAA8I,GAAEZ,OAAkBL,C,MAA8DC,C,IAAO,G,QAAU,G,MAAe,G,MAAsB,O,YAAqC,O,kCAA2C,WAAC,OAAID,WAAW,K,CAA0C,SAAS,gB,YAAS,SAAU,4BAACE,YAAG,S,CAAC,KAAO,WAAKgB,yCAAe,OAAIlB,KAAG,GAAqC,aAAM,QAAC,UAAW,SAAM,OAAQI,GAAOC,CAAoBC,MAAS,SAAe,GAAKa,mBAA+C,wCAAO,MAAQ,CAAQ,QAAO,MAAC,WAAS,IAAuC,0BAAkB,qCAAmBlB,OAAM,IAAC,MAAO,GAAE,OAAID,MAAG,EAAQ,eAAEC,SAAM,YAAC,EAAM,eAAC,GAAMD,WAAU,mBAA2B,CAACK,EAAG,OAAI,CAA4BJ,MAAM,CAAC,KAAO,KAAK,CAACD,EAAG,iBAAqB,CAACC,MAAM,CAAC,eAAc,K,CAA0B,SAAW,CAAG,MAAC,CAACmB,U,CAAmCH,EAAE,OAAC,C,MAAWI,C,KAAQC,K,GAAS,OAAS,C,YAAuB,c,MAAC,eAAeC,EAAE,OAAS,C,YAAiB,K,wBAAsHF,C,YAAuB,Q,MAAM,iB,UAAShB,I,YAAuC,EAACmB,GAAK,E,2BAAMjB,O,EAAkB,MAAC,IAAM,OAAK,EAAI,QAAO,MAAI,CAAgB,qBAAO,MAAC,QAAE,8EAAO,kBAAU,GAAO,mBAAO,QAAO,GAAW,MAAQ,CAAE,cAAU,SAAC,YAAwG,WAAU,yBAA+C,MAAQ,MAAI,aAACa,OAAqBZ,KAAI,K,GAA0BN,OAAI,C,MAAAD,CAAM,KAAE,O,KAAC,G,MAAiCF,K,CAAoE,oGAAC,MAAG,CAAaC,KAAG,K,CAAsO,SAAO,CAAE,OAAIA,YAAG,QAAiBC,OAAM,IAAY,YAAC,OAACwB,IAAM,YAACrB,aAAWsB,GAAMpB,QAAyBD,IAAcE,OAAU,EAAC,kBAAM,0BAAO,UAAY,0BAAQ,U,CAAoB,SAAO,mNAAE,MAAC,CAACa,U,CAAqCH,EAAE,OAAU,C,MAAI,C,OAAEhB,I,MAAS,C,MAAoCA,EAAM,K,SAAC,SAAQ,G,EAAS,KAAO,G,WAAY,SAA8B,CAAC,EAAC,OAAS,CAAE,MAAK,CAAkJA,YAAM,QAAC,SAA6B,YAAC,OAACmB,gBAAqBZ,GAAG,UAAC,GAAc,EAAC,MAAWN,IAAW,MAAC,qBAAC,MAAQF,CAA4BC,MAAM,SAAC,MAAQ,WAAuB,wBAA+B,UAAE,CAAC,EAAC,OAAK,CAAI,kIAAE,MAAK,CAA2UA,YAAM,QAAC,SAA6B,YAAC,OAACmB,gBAAqBZ,GAAG,UAAC,GAAc,EAAC,MAAWN,IAAW,MAAC,qBAAC,MAAQF,CAA4BC,MAAM,QAAC,MAAQ,UAA2B,wBAA+B,UAAE,CAAC,EAAC,OAAK,CAAI,2TAAE,MAAK,CAA0HA,YAAM,QAAC,SAA6B,YAAC,OAACmB,gBAAqBZ,GAAG,UAAC,GAAc,EAAC,MAAWN,IAAW,MAAC,qBAAC,MAAQF,CAA4BC,MAAM,UAAC,MAAQ,YAAuB,wBAA+B,UAAE,CAAC,EAAC,OAAK,CAAI,0GAAE,MAAK,CAAkKA,YAAM,QAAC,KAAO,IAAI,YAAK,EAAW,GAAC,EAACA,IAAM,YAAC,aAAY,GAAQ,QAAY,IAAsBO,MAAI,UAAW,WAAI,OAAa,cAAEP,gBAAS,UAAW,GAAOI,GAAU,QAA6B,MAAE,I,CAA8C,+JAAC,MAAG,CAAaL,KAAG,K,CAAuU,SAAO,CAAE,OAAIA,YAAG,QAAgEC,OAAM,IAA2B,YAAC,OAACwB,IAAM,YAACrB,aAAWuB,GAAiBrB,QAAyBD,IAAyBE,OAAU,EAAC,kBAAiB,0BAAQ,OAAO,GAAK,GAAO,GAAI,CAAC,EAAG,GAAC,kBAAG,UAAG,8TACtgK,OACGQ,KAAgB,K,kTC0IpBa,eAAA,QAAAJ,QACAI,eAAA,eACAC,OACAC,QAAA,2BAGe,OACfC,KAAA,kBAEAC,WAAA,CACAC,0BACAC,0BACAC,wBAGAC,SAAA,IACAC,eAAA,QACA,iBACA,oBACA,gBACA,cACA,mBACA,2BAGAV,gBAAA,CACAW,MACA,IAAAC,EAAA,KACA,QAAA5B,SAAA,CACA,IAAA4B,EAAA,KAAA5B,SAAA6B,OAAAC,IAAA,IAAAA,EAAAC,SACA,OAAAH,EAAAI,IAAAF,KAAA5B,SAEA,OAAA0B,GAEAK,IAAAxC,GACA,IAAAyC,EAAAF,iBAAAvC,GAAA,SAAAM,GACA,OAAAG,QAAAH,EAAAgC,SAAA,MAEA,KAAA/B,SAAAkC,EACA,KAAAC,MAAA,QAAAD,MAKAE,QAAA,IACAC,eAAA,qCCzLkW,I,YCO9VC,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,EAAAA,E,oBCyFA,GACflB,KAAA,wBAEAC,WAAA,CACAkB,eACAC,oBAGAC,OACA,OACAC,QAAA,CACA,CAAAC,KAAA,QAAAlD,MAAA,QAAAmD,UAAA,GACA,CAAAD,KAAA,OAAAlD,MAAA,OAAAmD,UAAA,GACA,CAAAD,KAAA,GAAAlD,MAAA,qBAAAmD,UAAA,EAAAC,MAAA,UAKApB,SAAA,IACAC,eAAA,QACA,kBACA,qBACA,6BACA,uBACA,2BACA,gBACA,mBACA,sBAIAoB,UACA,KAAAC,SAEA,KAAAC,OACAC,GAAA,CAAAA,EAAAC,MACA,KACA,KAAAH,WAIA,KAAAC,OACAC,GAAA,CAAAA,EAAAE,EAAAF,EAAAG,aAAAH,EAAAI,OAAAJ,EAAAK,YACA,KACA,KAAAJ,KAAA,EACA,KAAAH,YAKAX,QAAA,IACAC,eAAA,oCACAkB,YAAAxC,GACA,OAAAA,GACA,8BACA,oCACA,6CACA,iCACA,qBCrKgW,ICO5V,EAAY,eACd,EACA,EACAX,GACA,EACA,KACA,KACA,MAIa,e,mHCJAoD,cAAcvC,OAAO,CAClCG,KAAM,aAENqC,MAAO,CACLC,WAAY,CACVC,KAAMC,MACN7B,QAASA,IAAO,IAElB8B,aAAc,CACZF,KAAMG,QACN/B,SAAS,IAIbU,KAAMA,KAAA,CACJsB,cAAe,IAGjBtC,SAAU,CACRuC,uBACE,OAAOC,KAAKC,SACRD,KAAKE,cAAclE,QAClBgE,KAAKG,gBAAkB,IAAIC,WAAWpE,QAE7CqE,UACE,OAAOC,OAAQC,QAAQ/C,SAAS6C,QAAQG,KAAKR,OAASA,KAAKC,UAE7DQ,oBACE,OAAO,GAETC,cACE,QAAKV,KAAKW,YAEHX,KAAKY,qBACPZ,KAAKa,OAAO,aAAeb,KAAKc,aAEvCC,gBACE,OAA8B,MAAvBf,KAAKG,iBAIhBhC,QAAS,CACP6C,wBAAyBC,GACvB,GACEA,GACAjB,KAAKC,UACLD,KAAKP,WAAWzD,OAChB,CACA,MAAMkF,EAAYlB,KAAKP,WAAW0B,KAAKxD,GAAKsD,EAAIG,SAASzD,IACxC,MAAbuD,IACFlB,KAAKG,eAAiBc,EAAII,MAAM,EAAGJ,EAAIjF,OAASkF,EAAUlF,QAC1DgE,KAAKsB,cAITtB,KAAKuB,wBAEPC,WACE,MAAMC,EAAQlC,OAAcgB,QAAQpC,QAAQqD,SAAShB,KAAKR,MAK1D,cAHOyB,EAAMjD,KAAMnD,MAAO8B,KAC1BsE,EAAMjD,KAAMlD,GAAIoG,MAAQ1B,KAAK2B,QAEtBF,GAETG,iBAAkB9F,EAAc+F,GAC9B,MAAMC,EAAOxB,OAAQC,QAAQpC,QAAQyD,iBAAiBpB,KAAKR,KAAMlE,EAAM+F,GAcvE,OAXI7B,KAAKC,WACP6B,EAAKC,iBAAkBC,UAAa,IAC/BF,EAAKC,iBAAkBC,UAC1BC,SAAUA,KACRjC,KAAKF,aAAe+B,EACpB7B,KAAKG,eAAiBH,KAAKkC,QAAQpG,GACnCkE,KAAKmC,eAAiB,KAKrBL,GAETM,YAAatG,GACXwE,OAAQC,QAAQpC,QAAQiE,YAAY5B,KAAKR,KAAMlE,GAE/CkE,KAAKF,cAAgB,GAIvBuC,YAAaC,GACXA,EAAEC,iBAEEvC,KAAKwC,gBAAkB,GAE3BxC,KAAKyC,UAAUzC,KAAK0C,aAEtBC,uBAAwB1B,EAAc2B,GAC/B5C,KAAK6C,iBAEVtD,OAAcgB,QAAQpC,QAAQwE,uBAAuBnC,KAAKR,KAAMiB,EAAK2B,IAEvEE,UAAWR,GACT,MAAMS,EAAUT,EAAES,SAGhBT,EAAEU,SACD,CAACC,OAASC,KAAMD,OAASE,KAAKC,SAASL,IAExCzC,OAAQC,QAAQpC,QAAQ2E,UAAUtC,KAAKR,KAAMsC,GAK3CtC,KAAKC,UACP8C,IAAYE,OAASI,MACe,IAApCrD,KAAKsD,MAAM7B,MAAM8B,eAEjBvD,KAAK0C,aACIK,IAAYE,OAASO,OAC9BxD,KAAKqC,YAAYC,GAOnBtC,KAAKyD,oBAAoBV,IAE3BW,UAAWpB,GAIT,GAAItC,KAAKC,UACPD,KAAKG,iBACoB,IAAzBH,KAAKwC,eAKL,OAHAF,EAAEC,iBACFD,EAAEqB,kBAEK3D,KAAKsB,aAGd/B,OAAcgB,QAAQpC,QAAQuF,UAAUlD,KAAKR,KAAMsC,IAErDsB,WAAY9H,GAENkE,KAAKF,cAAgB,EACvBE,KAAK6D,iBAELtE,OAAcgB,QAAQpC,QAAQyF,WAAWpD,KAAKR,KAAMlE,GAKlDkE,KAAKG,gBACLH,KAAKC,UACLD,KAAKkC,QAAQpG,GAAMgI,oBAAoBV,SAASpD,KAAKG,eAAe2D,uBAEpE9D,KAAKG,eAAiB,QAI5B4D,mBAC4B,MAAtB/D,KAAKgE,eACgB,KAAvBhE,KAAKgE,cAELhE,KAAKE,cAAgB,GAErBF,KAAKE,cAAgBF,KAAKC,SAAWD,KAAKgE,cAAgB,CAAChE,KAAKgE,gBAGpEC,SAAUzI,GAAW,IAAA0I,EACnB5D,OAAQC,QAAQpC,QAAQ8F,SAASzD,KAAKR,KAAtC,OAAAkE,EAA4C1I,GAA5C0I,EAAqDlE,KAAKG,iBAE5D0D,gBACE,MAAMrI,EAAQwE,KAAKgE,cAAc3C,QACjC7F,EAAMwE,KAAKF,cAAgBE,KAAKG,eAEhCH,KAAKiE,SAASzI,GAEdwE,KAAKF,cAAgB,GAEvBqE,iBAEE,IAAKnE,KAAKe,cAAe,OAIrBf,KAAKG,iBAAmBH,KAAKkC,QAAQlC,KAAKgE,gBAAgBhE,KAAKiE,WAGnE,MAAMG,EAAcvE,QAAQG,KAAKqE,aAAaC,YAActE,KAAKuE,SAC7DH,IAAapE,KAAKG,eAAiB,OAEzCuC,aACE1C,KAAKC,SAAWD,KAAKsB,aAAetB,KAAKmE,kBAE3C7C,aACE,MAAMkD,EAAYxE,KAAKwC,eAMvB,GAAKgC,EAAY,IAAMxE,KAAKe,gBACvBf,KAAKG,eAAgB,OAE1B,GAAIH,KAAKF,cAAgB,EACvB,OAAOE,KAAK6D,gBAGd,MAAMhC,EAAQ7B,KAAKE,cAAcuE,QAAQzE,KAAKG,gBAI9C,GAAI0B,GAAS,EAAG,CACd,MAAMmC,EAAgBhE,KAAKgE,cAAc3C,QACzC2C,EAAcU,OAAO7C,EAAO,GAE5B7B,KAAKiE,SAASD,GAMhB,GAAIQ,GAAa,EAAG,OAAQxE,KAAKG,eAAiB,KAElDH,KAAK4D,WAAW5D,KAAKG,gBACrBH,KAAKG,eAAiB,MAExBwB,QAASgD,GAAqB,IAAAC,EAC5B,IAAK5E,KAAKC,UAAYD,KAAKe,cAAe,OAE1C,MAAM8D,EAAc,OAAAD,EAAGD,EAAMG,oBAAT,EAAGF,EAAqBG,QAAQ,4CAChDF,IAAqE,IAAnD7E,KAAKgF,kBAAkBH,KAC3CF,EAAMpC,iBACNjC,OAAQC,QAAQpC,QAAQyF,WAAWpD,KAAKR,KAAM6E,KAGlDI,oBACEjF,KAAKF,cAAgB,EAErBP,OAAcgB,QAAQpC,QAAQ8G,kBAAkBzE,KAAKR,W,+GChQ3D,wEAeA,MAAMkF,EAAaC,eACjBC,OACAC,OACAC,QAIaJ,SAAWlI,OAAO,CAC/BG,KAAM,gBAENoI,UACE,MAAO,CACLC,WAAYxF,OAIhBR,MAAO,CACLiG,OAAQ,CACN/F,KAAMG,QACN/B,SAAS,GAEX4H,OAAQ,CACNhG,KAAM,CAACiG,OAAQC,QACf9H,QAAS,QAEXX,KAAMyI,OACNC,IAAKhG,QAILrE,MAAO,MAGTgC,SAAU,CACRsI,UACE,MAAO,IACFR,OAAO/E,QAAQ/C,SAASsI,QAAQtF,KAAKR,MACxC,oDAAoD,EACpD,+BAAgCA,KAAKyF,SAAWzF,KAAK6F,IACrD,4BAA6B7F,KAAK6F,OAKxC1H,QAAS,CACP4H,iBACE,OAAO/F,KAAKgG,eAAe,MAAO,CAChC7K,YAAa,8BACbE,MAAO,CACLsB,GAAIqD,KAAKrD,GACTG,KAAM,aACN,kBAAmBkD,KAAKiG,aAEzBX,OAAO/E,QAAQpC,QAAQ4H,eAAevF,KAAKR,QAEhDkG,eACE,MAAM9J,EAASkJ,OAAO/E,QAAQpC,QAAQ+H,aAAa1F,KAAKR,MAIxD,cAFO5D,EAAOoC,KAAMlD,GAAI6K,MAEjB/J,GAETgK,WACE,MAAMC,EAAQf,OAAO/E,QAAQpC,QAAQiI,SAAS5F,KAAKR,MAEnD,OAAKqG,GAELA,EAAM7H,KAAMnD,MAAOsB,GAAKqD,KAAKiG,kBAEtBI,EAAM7H,KAAMnD,MAAOiL,IAC1BD,EAAME,IAAM,SAELF,GAPY,MASrBG,QAASnB,OAAc9E,QAAQpC,QAAQqI,Y,oCCzF3C,8JAyBA,MAAMtB,EAAaC,eACjBsB,OACAC,OACAC,OACAC,eAAiB,cACjBC,QAQa3B,SAAWlI,SAAkBA,OAAO,CACjDG,KAAM,UAEN2J,cAAc,EAEdtH,MAAO,CACLuH,SAAUlH,QACVlD,GAAIiJ,OACJS,MAAOT,OACPzI,KAAMyI,OACNoB,QAAS,CACPtH,KAAMkG,OACN9H,QAAS,aAEXmJ,OAAQ,CACNvH,KAAMkG,OACN9H,QAAS,YAEXoJ,SAAUrH,QACVrE,MAAO,CACLsC,QAAS,OAIbU,KAAMA,KAAA,CACJmC,WAAW,IAGbnD,SAAU,CACRsI,UACE,MAAO,CACL,uBAAwB9F,KAAKmH,WAC7B,sBAAuBnH,KAAKW,aACzBX,KAAKoH,gBACLpH,KAAKqH,eAGZC,gBACE,OAAOC,OAAWhH,QAAQ/C,SAAS8J,cAAc9G,KAAKR,OAExDwH,eACE,OAAOxH,KAAKyH,SACRzH,KAAKiH,OACLjH,KAAKgH,SAEXf,aACE,OAAOX,OAAO/E,QAAQ/C,SAASyI,WAAWzF,KAAKR,OAEjD0H,SAAUpC,OAAO/E,QAAQ/C,SAASkK,SAClCC,WACE,OAAQ3H,KAAKwF,YAAc,IAAImC,UAEjCR,aACE,OAAOnH,KAAK+G,YACR/G,KAAKwF,YACPxF,KAAKwF,WAAW2B,YAGpBS,aACE,OAAO5H,KAAKkH,YACRlH,KAAKwF,YACPxF,KAAKwF,WAAWoC,YAGpBC,eACE,OAAI7H,KAAK7C,OAAS6C,KAAKwF,WACdxF,KAAK7C,KAGP6C,KAAKwF,WAAWrI,MAAQ,SAAS6C,KAAKwF,WAAWsC,MAE1DC,cACE,OAAOR,OAAWhH,QAAQ/C,SAASuK,YAAYvH,KAAKR,OAEtDgI,kBACE,OAAQhI,KAAKwF,YAAc,IAAIwC,iBAAmBhI,KAAKsH,gBAI3DnJ,QAAS,CACPqD,SAAUyG,GAIR,OAAOV,OAAWhH,QAAQpC,QAAQqD,SAAShB,KAAKR,KAAM,QAASiI,IAEjE7B,WACE,OAAKpG,KAAK0H,SAEH1H,KAAKgG,eAAekC,OAAQ,CACjC5M,GAAI,CAEF6K,MAAOgC,QAET9M,MAAO,CACLiL,IAAKtG,KAAKiG,YAEZzG,MAAO,CACL4I,MAAOpI,KAAKgI,gBACZK,QAASrI,KAAK2H,WAEfW,eAAQtI,KAAM,UAAYA,KAAKqG,OAdP,MAgB7BkC,WACE,OAAOvI,KAAKgG,eAAe,MAAO,CAChC7K,YAAa,sCACZ,CACD6E,KAAKgG,eAAewC,OAAOxI,KAAKyI,aAAazI,KAAKgI,gBAAiB,CACjExI,MAAO,CACLkJ,MAAO1I,KAAKwF,YAAcxF,KAAKwF,WAAWkD,SAE1C1I,KAAKwH,cACTxH,KAAKwB,SAAS,CACZrE,KAAM6C,KAAK6H,aACXrM,MAAOwE,KAAKxE,SACTwE,KAAK2I,SAEV3I,KAAK4I,UAAU5I,KAAKyI,aAAazI,KAAK+H,iBAG1Cc,QAASvG,GACPtC,KAAKW,WAAY,EACjBX,KAAK9B,MAAM,QAASoE,IAEtBwG,OAAQxG,GACNtC,KAAKW,WAAY,EACjBX,KAAK9B,MAAM,OAAQoE,IAErByG,WACM/I,KAAKmH,YAAcnH,KAAK4H,YAAc5H,KAAKyH,UAE/CzH,KAAKgJ,UAEPC,UAAWA,QAGb7M,OAAQ8M,GACN,MAAM1K,EAAkB,CACtBrD,YAAa,UACbgO,MAAOnJ,KAAK8F,QACZxK,GAAI8N,eAAe,CACjBjD,MAAOnG,KAAK+I,UACX/I,KAAKqJ,aAGV,OAAOH,EAAE,MAAO1K,EAAM,CACpBwB,KAAKuI,WACLvI,KAAKoG,iB,sMCzLuP/K,W,MAAO,K,IAAU,MAAO,G,SAAG,iB,MAAGC,C,OAAyB,G,MAAE,G,WAAiB,mB,OAAmB,Y,YAAgB,EAAM,GAAC,E,IAACH,Y,GAA0B,UAASM,GAA+F,IAAKoB,MAAM,gBAACrB,MAAW8N,CAAM5N,KAAS,GAAoB4N,MAAKC,KAAK5N,GAAU,GAAC,QAAM,OAAO,KAAS,GAAO,sBAAC,KAAa,KAAgB,WAAO,YAAS,eAAO,8FAAY,MAAK,CAAwCN,MAAM,OAAC,SAAQI,SAAW,GAAM,UAAeN,WAAY,SAA4QE,GAAK,OAAC,C,MAAC,CAAU,YAAG,MAAC,U,GAA0BI,OAAQ,C,MAAQ,CAAC,UAA2FJ,GAAK,OAAC,W,MAAC,CAAU,wBACrsC,WACGc,2BAEJ,GAASC,KAAQD,oBAAe,6I,y0BCqEjB,GACfgB,KAAA,sBACAqC,MAAA,CACAvD,QAAA,CACAyD,KAAA8J,OACAvM,UAAA,IAGAuB,OACA,OACA8K,MAAA,KCnFoV,I,YCOhVjL,EAAY,eACd,EACA,EACAlC,GACA,EACA,KACA,KACA,MAIa,OAAAkC,E,qFClBqG,W,IAAW,O,EAAsB,W,OAA0B,SAAU,C,MAAC,CAAe,cAAqB,cAAmB,QAAW,EAAC,QAAO,eAAa,EAAI,OAAC,SAAc,UAAY,GAAG,qBAAG,gBAAC,GAAC,mB,aAAgD,KAAO,SAAC,GAAC,gB,GAA0D,C,qBAA6BoL,SAAiB,GAAC,YAAGjN,sBAAoB,aAACZ,EAAI,OAAS,GAAG,SAACS,GAAW,OAAO,EAAI,qBAAoL,YAAE,OAACT,IAAI,UAAOS,GAAG,WAAe,MAAO,CAAC,EAAG,OAAC,UAA0B,UAAoB,6F,OAAW,G,KAAuC,O,GAA4BlB,Y,MAA4BuO,WAAY,W,SAAQ,CAAS,iCAAW,SAAqBlL,CAAsB,4BAAG,YAAM,gBAAO,SAAC,CAAiB,YAAU,6BAAwC,O,sBAAiD,WAAC,MAAM,iBAAyB,CAAmE,IAAM,MAAC,YAAO,uBAA4B9C,GAAQ,OAAgB,kDAAgB,OAAC,KAAqB,OAAG,gBACtzC,qBACGS,UAAkB,G,wFCsDP,GACfgB,KAAA,kBAEAqC,MAAA,CACAhE,MAAA,CACAkE,KAAAC,MACA7B,QAAA,WACA,WAGAuI,MAAA,CACA3G,KAAAkG,OACA9H,QAAA,WACA,oBAKAU,OACA,OACAmL,SAAA,EACAC,MAAA,GACAC,MAAA,EACAC,SAAA,EACAC,OAAA,OAIAvM,SAAA,CACAvB,QAAA,CACAyB,MACA,OAAAsM,uBAAA,KAAAxO,QAEAwC,IAAAxC,GACA,KAAAuO,OAAA,KACA,IAAAE,EAAAzO,EAAAoC,OAAAC,GACA,kBAAAA,GAKA,KAAAK,MAAA,QAAA+L,MAKApL,UACA,KAAAqL,UAAA,KAGA/L,QAAA,CACAgM,WACA,KAAAL,SAAA,KAAAA,SAAA,EACA,KAAAI,aAEAA,YACA,KAAAE,MAAA,KACA,KAAAT,QAAA,QAEA,IAAAU,EAAA,CACAnL,EAAA,KAAA6K,OACA5K,aAAA,KAAA2K,SACA1K,OAAA,SACAC,WAAA,MAGAgL,EAAAC,OAAAC,iCAAA,IAAAF,IAEAG,OAAA1L,OAAAuL,GAAAI,KAAAC,IACA,KAAAd,MAAAc,EAAAlM,KAAAoL,MACA,KAAAe,MAAAD,EAAAlM,KAAAmM,MAEA,KAAAf,MAAA5N,OAAA,KAAA2O,MACA,KAAAd,MAAA,EAEA,KAAAA,MAAA,EAGA,KAAAF,SAAA,KAGAF,gBAAAmB,uBAAA,WACA,KAAAV,cACA,OC3IwV,I,YCOpV7L,EAAY,eACd,EACA,EACAlC,GACA,EACA,KACA,KACA,MAIa,OAAAkC,E,2JCCf,MAAMwM,EAAmB,IACpBC,OACHC,SAAS,EACTC,gBAAgB,EAChBC,YAAY,GAIC3K,cAAQtD,OAAO,CAC5BG,KAAM,iBAENqC,MAAO,CACL0L,cAAe,CACbxL,KAAMG,QACN/B,SAAS,GAEX+E,gBAAiB,CACfnD,KAAMG,QACN/B,SAAS,GAEXF,OAAQ,CACN8B,KAAMyL,SACNrN,QAASA,CAAChC,EAAWsP,EAAmBC,IAC/BA,EAASvH,oBAAoBW,QAAQ2G,EAAUtH,sBAAwB,GAGlFhD,WAAYjB,QACZyL,UAAW,CACT5L,KAAMY,OAAQC,QAAQf,MAAM8L,UAAU5L,KACtC5B,QAASA,IAAM+M,GAEjBU,SAAU1L,QACV2L,YAAa,CACX9L,KAAMkG,SAIVpH,OACE,MAAO,CACLiN,WAAYzL,KAAKwL,cAIrBhO,SAAU,CACRsI,UACE,MAAO,IACFxF,OAAQC,QAAQ/C,SAASsI,QAAQtF,KAAKR,MACzC,kBAAkB,EAClB,qCAAsCA,KAAKmC,eAAiB,IAGhEuJ,gBACE,OAAO1L,KAAK2L,eAEdC,iBACE,OAAO5L,KAAKE,cAAcnC,IAAIjC,GAAQkE,KAAK6L,SAAS/P,KAEtD8E,oBACE,OAAOZ,KAAK8L,aACR9L,KAAK2L,cAAcI,KAAKjQ,IAASkE,KAAKgM,QAAQlQ,IAC9CkE,KAAK2L,cAAc3P,OAAS,GAElCiQ,eACE,OAAyB,MAArBjM,KAAKkM,aAA6B,EAE/BtG,OAAO5F,KAAKkC,QAAQlC,KAAKkM,eAAelQ,QAEjD2P,gBACE,OAAK3L,KAAKmM,aAAenM,KAAKuL,UAAmC,MAAvBvL,KAAKG,eAA+BH,KAAKoM,SAE5EpM,KAAKoM,SAASxO,OAAO9B,IAC1B,MAAMN,EAAQ6Q,eAAoBvQ,EAAMkE,KAAKqL,UACvC3M,EAAgB,MAATlD,EAAgBoK,OAAOpK,GAAS,GAE7C,OAAOwE,KAAKpC,OAAO9B,EAAM8J,OAAO5F,KAAKG,gBAAiBzB,MAG1DyB,eAAgB,CACdzC,MACE,OAAOsC,KAAKyL,YAEdzN,IAAKiD,GAGCjB,KAAKyL,aAAexK,IACtBjB,KAAKyL,WAAaxK,EAClBjB,KAAK9B,MAAM,sBAAuB+C,MAIxCR,oBACE,OAAO,GAET6L,UACE,OAAOtM,KAAKe,eAAiBf,KAAKE,cAAclE,OAAS,GAE3DmQ,cACE,OACEnM,KAAKC,UACLD,KAAKe,eAELf,KAAKe,eACLf,KAAKG,iBAAmBH,KAAKkC,QAAQlC,KAAKkM,eAG9CxL,cACE,QAAKV,KAAKW,YAEHX,KAAKY,oBAAsBZ,KAAKc,aAEzCyL,cACE,MAAM/M,EAAQc,OAAQC,QAAQ/C,SAAS+O,YAAY/L,KAAKR,MAExD,OADCR,EAAcgN,cAAe,4BAA4BhN,EAAcgN,cAAgB,KAAKC,OACtF,IACF5B,KACArL,IAGPuB,gBACE,OAA8B,MAAvBf,KAAKG,gBACc,KAAxBH,KAAKG,gBAET+L,eACE,OAAIlM,KAAKC,SAAiB,KAEnBD,KAAKE,cAAciB,KAAKuL,GACtB1M,KAAK2M,gBAAgB3M,KAAK6L,SAASa,GAAI1M,KAAK6L,SAAS7L,KAAKgE,kBAGrE4I,WACE,MAAMpO,EAAO8B,OAAQC,QAAQ/C,SAASoP,SAASpM,KAAKR,MAapD,OAXAxB,EAAKgB,MAAQ,IACRhB,EAAKgB,MACRoK,MAAO5J,KAAK6M,iBACZtB,SACEvL,KAAKuL,WACJvL,KAAKmM,cACLnM,KAAK2L,cAAc3P,OAEtBwP,YAAaxL,KAAKG,gBAGb3B,IAIXsO,MAAO,CACLnB,cAAe,yBACf3H,cAAe,YACfrD,UAAWM,GACLA,GACF8L,SAASC,iBAAiB,OAAQhN,KAAKiN,QACvCjN,KAAKsD,MAAM7B,OAASzB,KAAKsD,MAAM7B,MAAMyL,WAErCH,SAASI,oBAAoB,OAAQnN,KAAKiN,QAC1CjN,KAAKsD,MAAM7B,OAASzB,KAAKsD,MAAM7B,MAAM2L,OACrCpN,KAAK0C,eAGT2K,aAAcpM,IACRA,GAAQjB,KAAKK,UAEjBL,KAAKyL,WAAa,OAEpB7B,MAAO3I,EAAK2B,GAONA,GAAUA,EAAO5G,SACnBgE,KAAKc,aACLd,KAAKW,WACJX,KAAKqN,eACNpM,EAAIjF,QACJgE,KAAKsN,gBAET9B,YAAavK,GACXjB,KAAKyL,WAAaxK,GAEpBd,eAAgB,0BAChBkL,SAAU,cAGZxM,UACEmB,KAAKuN,aAGPC,YACET,SAASI,oBAAoB,OAAQnN,KAAKiN,SAG5C9O,QAAS,CACPwE,uBAAwB1B,EAAc2B,GAGhC3B,IAAQ2B,IAEZ5C,KAAKyN,cAAc,GAEnBzN,KAAKyC,UAAU,KAEVzC,KAAKG,iBACU,IAAfc,EAAIjF,QACFgE,KAAK6C,mBAGV7C,KAAKsD,MAAMgG,KAAKoE,WAChB1N,KAAKyN,aAAa,QAGtBzM,0BACEhB,KAAKuB,wBAEPA,uBAEEvB,KAAKqN,cAAgBrN,KAAKsD,MAAMgG,MAAQtJ,KAAKsD,MAAMgG,KAAKqE,oBAE1DlK,oBAAqBV,GAGf/C,KAAKe,gBAELf,KAAKC,UAAY8C,IAAYE,OAASI,MACZ,IAAxBrD,KAAKmC,cACPnC,KAAKmC,cAAgBnC,KAAKE,cAAclE,OAAS,EAEjDgE,KAAKmC,gBAEEnC,KAAKC,UAAY8C,IAAYE,OAAS2K,MAC3C5N,KAAKmC,eAAiBnC,KAAKE,cAAclE,OAAS,EACpDgE,KAAKmC,eAAiB,EAEtBnC,KAAKmC,gBAEEY,IAAYE,OAAS4K,WAAa9K,IAAYE,OAAS6K,QAChE9N,KAAK+N,sBAGTA,oBACE,MAAMC,EAAWhO,KAAKmC,cAChB8L,EAAUjO,KAAKE,cAAc8N,GAGnC,IACGhO,KAAKkO,eACNlO,KAAKmO,YAAYF,GACjB,OAEF,MAAMG,EAAYpO,KAAKE,cAAclE,OAAS,EAI9C,IAC0B,IAAxBgE,KAAKmC,eACS,IAAdiM,EAIA,YAFApO,KAAKmC,cAAgBiM,GAKvB,MAAMpS,EAASgE,KAAKE,cAAclE,OAC5BqS,EAAYL,IAAahS,EAAS,EACpCgS,EACAA,EAAW,EACTM,EAAWtO,KAAKE,cAAcmO,GAE/BC,EAGHtO,KAAK4D,WAAWqK,GAFhBjO,KAAKiE,SAASjE,KAAKC,SAAW,GAAK,MAKrCD,KAAKmC,cAAgBkM,GAEvBpJ,oBACEjF,KAAKG,eAAiB,KAEtBG,OAAQC,QAAQpC,QAAQ8G,kBAAkBzE,KAAKR,OAEjDwB,WACE,MAAMC,EAAQ8M,OAAWhO,QAAQpC,QAAQqD,SAAShB,KAAKR,MAUvD,OARAyB,EAAMjD,KAAOgQ,eAAU/M,EAAMjD,KAAO,CAClCnD,MAAO,CACL,wBAAyBoT,eAAqBzO,KAAKsD,MAAMgG,KAAM,iBAC/DoF,aAAcD,eAAqBhN,EAAMjD,KAAO,qBAAsB,QAExEmQ,SAAU,CAAEnT,MAAOwE,KAAKG,kBAGnBsB,GAETyE,eACE,MAAM0I,EAAOtO,OAAQC,QAAQpC,QAAQ+H,aAAa1F,KAAKR,MAIvD,OAFA4O,EAAKpQ,KAAMnD,MAAOyB,KAAO,WAElB8R,GAETC,gBACE,OAAO7O,KAAKK,SAAWL,KAAKC,SACxBK,OAAQC,QAAQpC,QAAQ0Q,cAAcrO,KAAKR,MAC3C,IAENwG,QAASlE,GACFtC,KAAKkO,gBAEVlO,KAAKmC,eAAiB,EACjBnC,KAAKmC,eAAiB,EACvBnC,KAAK6I,UAEJ7I,KAAK8O,cAAcxM,EAAEyM,SAAS/O,KAAKsN,iBAE1C0B,QAAS1M,GACP,GACEtC,KAAKmC,eAAiB,IACrBG,EAAEyM,OACH,OAEF,MAAMA,EAASzM,EAAEyM,OACXvT,EAAQuT,EAAOvT,MAGjBuT,EAAOvT,OAAOwE,KAAKsN,eAEvBtN,KAAKG,eAAiB3E,EACtBwE,KAAKiP,SAAWF,EAAOG,UAAYH,EAAOG,SAASD,UAErDnM,UAAWR,GACT,MAAMS,EAAUT,EAAES,SAGhBT,EAAEU,SACD,CAACC,OAASC,KAAMD,OAASE,KAAKC,SAASL,IAExCzC,OAAQC,QAAQpC,QAAQ2E,UAAUtC,KAAKR,KAAMsC,GAO/CtC,KAAKyD,oBAAoBV,IAE3BoM,YAAa7M,KACboB,UAAWpB,GACThC,OAAQC,QAAQpC,QAAQuF,UAAUlD,KAAKR,KAAMsC,GAC7CtC,KAAK0C,cAEP0M,SAAU9M,GAERA,EAAEC,iBAKFvC,KAAKsN,gBAEP1J,WAAY9H,GACVwE,OAAQC,QAAQpC,QAAQyF,WAAWpD,KAAKR,KAAMlE,GAC9CkE,KAAKuN,aAEPxJ,mBACEzD,OAAQC,QAAQpC,QAAQ4F,iBAAiBvD,KAAKR,MAIzCA,KAAKW,WAAWX,KAAKuN,aAE5BA,YAGEvN,KAAKyC,UAAU,KAEVzC,KAAKC,UACLD,KAAKG,gBACLH,KAAKqN,eAENrN,KAAKG,gBACFH,KAAKE,cAAclE,QACpBgE,KAAKC,UACLD,KAAKK,QAEH,KACAL,KAAKkC,QAAQlC,KAAKkM,kBAI5BxJ,cACO1C,KAAKe,eACPf,KAAKgE,iBAGHhE,KAAK2M,gBACR3M,KAAKG,eACLH,KAAK6L,SAAS7L,KAAKgE,iBAEnBhE,KAAKuN,cAGTvB,QAASlQ,GACP,OAAOkE,KAAK4L,eAAenH,QAAQzE,KAAK6L,SAAS/P,KAAU,GAE7DmR,OAAQtI,GAAqB,IAAAC,EAAAyK,EAC3B,IAA4B,IAAxBrP,KAAKmC,cAAsB,OAE/B,MAAMmN,EAActP,KAAKE,cAAcF,KAAKmC,eACtCoN,EAAkBvP,KAAKkC,QAAQoN,GACrC,OAAA1K,EAAAD,EAAMG,gBAANF,EAAqB4K,QAAQ,aAAcD,GAC3C,OAAAF,EAAA1K,EAAMG,gBAANuK,EAAqBG,QAAQ,2CAA4CD,GACzE5K,EAAMpC","file":"static/js/chunk-52950b68.e404e87f.js","sourcesContent":["import './_grid.sass'\n\nimport Grid from './grid'\n\nexport default Grid('flex')\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{attrs:{\"fluid\":\"\"}},[_c('new-edit-sheet'),_c('v-row',{staticClass:\"mb-2\",attrs:{\"no-gutters\":\"\"}},[_c('v-col',[_c('div',{staticClass:\"headline\"},[_c('v-icon',[_vm._v(\"mdi-account-group\")]),_vm._v(\" Members \")],1)]),_c('v-col',{staticClass:\"text-right\"},[_c('v-btn',{staticClass:\"mr-2\",attrs:{\"color\":\"info\"},on:{\"click\":function($event){return _vm.createEditShow()}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-account-plus\")]),_vm._v(\" New \")],1)],1)],1),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',[_c('v-alert',{attrs:{\"outlined\":\"\",\"dismissible\":\"\",\"icon\":\"mdi-account-group\",\"prominent\":\"\",\"type\":\"info\"}},[_c('div',[_c('strong',[_vm._v(\"Understanding Members in unstruct.ai: \")]),_c('ul',[_c('li',[_vm._v(\" RBAC (Role-Based Access Control) is used to manage access to resources in UnStruct. \")]),_c('li',[_vm._v(\" Members are users who have access to the organization's resources and can be assigned to projects. \")]),_c('li',[_vm._v(\" Members can be assigned different roles, such as Owner, Admin, Manager, and Member. \")]),_c('li',[_vm._v(\" Members can be assigned to multiple projects, and each project can have multiple members. \")])])])])],1)],1),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',[_c('v-card',{attrs:{\"elevation\":\"0\"}},[_c('v-card-title',[_c('v-text-field',{attrs:{\"append-icon\":\"search\",\"label\":\"Search\",\"single-line\":\"\",\"hide-details\":\"\",\"clearable\":\"\"},model:{value:(_vm.q),callback:function ($$v) {_vm.q=$$v},expression:\"q\"}})],1),_c('v-row',_vm._l((_vm.items),function(item){return _c('v-col',{key:item.id,attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"4\"}},[_c('v-card',{staticClass:\"ma-4 elevation-2\"},[_c('v-card-title',{staticClass:\"justify-space-between\"},[_c('div',[_c('v-icon',{attrs:{\"large\":\"\",\"left\":\"\"}},[_vm._v(\"mdi-human-greeting\")]),_vm._v(\" \"+_vm._s(item.email)+\" \")],1),_c('v-chip',{attrs:{\"color\":\"primary\",\"text-color\":\"white\"}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(_vm._s(_vm.getRoleIcon(item.role)))]),_vm._v(\" \"+_vm._s(item.role)+\" \")],1)],1),_c('v-card-text',[_c('div',[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-folder-multiple-outline\")]),_vm._v(\" Projects: \"+_vm._s(item.projects.length)+\" \")],1),_vm._l((item.projects),function(project){return _c('div',{key:project.id,staticClass:\"my-2\"},[_c('project-card',{attrs:{\"project\":project.project}})],1)}),_c('div',[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-email\")]),_vm._v(\" Email: \"+_vm._s(item.email)+\" \")],1)],2),_c('v-card-actions',{staticClass:\"justify-end\"},[_c('v-btn',{attrs:{\"color\":\"primary\",\"text\":\"\"},on:{\"click\":function($event){return _vm.createEditShow(item)}}},[_vm._v(\"View / Edit\")])],1)],1)],1)}),1)],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ValidationObserver',{scopedSlots:_vm._u([{key:\"default\",fn:function({ invalid, validated }){return [_c('v-navigation-drawer',{attrs:{\"app\":\"\",\"clipped\":\"\",\"right\":\"\",\"width\":\"500\"},scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('v-list-item',{attrs:{\"two-line\":\"\"}},[_c('v-list-item-content',[(_vm.id)?_c('v-list-item-title',{staticClass:\"title\"},[_vm._v(\" Edit \")]):_c('v-list-item-title',{staticClass:\"title\"},[_vm._v(\" New \")]),_c('v-list-item-subtitle',[_vm._v(\"Member\")])],1),_c('v-btn',{attrs:{\"icon\":\"\",\"color\":\"info\",\"loading\":_vm.loading,\"disabled\":invalid || !validated},on:{\"click\":function($event){return _vm.save()}}},[_c('v-icon',[_vm._v(\"save\")])],1),_c('v-btn',{attrs:{\"icon\":\"\",\"color\":\"primary\"},on:{\"click\":_vm.closeCreateEdit}},[_c('v-icon',[_vm._v(\"close\")])],1)],1)]},proxy:true}],null,true),model:{value:(_vm.showCreateEdit),callback:function ($$v) {_vm.showCreateEdit=$$v},expression:\"showCreateEdit\"}},[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-text',[_c('v-container',{attrs:{\"grid-list-md\":\"\"}},[_c('v-layout',{attrs:{\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('span',{staticClass:\"subtitle-2\"},[_vm._v(\"Details\")])]),_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('ValidationProvider',{attrs:{\"name\":\"Email\",\"rules\":\"required|email\",\"immediate\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ errors, valid }){return _c('v-text-field',{attrs:{\"disabled\":_vm.id !== null,\"label\":\"Email\",\"hint\":\"Member's email (required). An invitation will be sent to this address.\",\"persistent-hint\":\"\",\"error-messages\":errors,\"success\":valid},model:{value:(_vm.email),callback:function ($$v) {_vm.email=$$v},expression:\"email\"}})}}],null,true)})],1),_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('v-alert',{attrs:{\"type\":\"info\",\"text\":\"\",\"dense\":\"\"}},[_vm._v(\" A verification code will be generated and sent with the invitation email. \")])],1),_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('v-tooltip',{attrs:{\"max-width\":\"300px\",\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('span',_vm._g(_vm._b({staticClass:\"subtitle-2\"},'span',attrs,false),on),[_vm._v(\"Role\")])]}}],null,true)},[_c('span',[_vm._v(\" This role applies to both the projects and the overall organization (or universe). If you don't want the user to make changes to project settings, etc., an admin role is not needed. \")])])],1),_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('v-radio-group',{attrs:{\"column\":\"\"},model:{value:(_vm.role),callback:function ($$v) {_vm.role=$$v},expression:\"role\"}},[_c('v-tooltip',{attrs:{\"max-width\":\"250px\",\"left\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-radio',_vm._g(_vm._b({attrs:{\"label\":\"Member\",\"value\":\"Member\"}},'v-radio',attrs,false),on))]}}],null,true)},[_c('span',[_vm._v(\" Members can view and act on interactive objects, as well as view most other data within the organization. \")])]),_c('v-tooltip',{attrs:{\"max-width\":\"250px\",\"left\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-radio',_vm._g(_vm._b({attrs:{\"label\":\"Admin\",\"value\":\"Admin\"}},'v-radio',attrs,false),on))]}}],null,true)},[_c('span',[_vm._v(\" Admin privileges on any teams of which they're a member. They can create new teams and projects, as well as remove teams and projects which they already hold membership on (or all teams, if open membership is on). Additionally, they can manage memberships of teams that they are members of. \")])]),_c('v-tooltip',{attrs:{\"max-width\":\"250px\",\"left\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-radio',_vm._g(_vm._b({attrs:{\"label\":\"Manager\",\"value\":\"Manager\"}},'v-radio',attrs,false),on))]}}],null,true)},[_c('span',[_vm._v(\" Gains admin access on all teams as well as the ability to add and remove members. \")])]),_c('v-tooltip',{attrs:{\"max-width\":\"250px\",\"left\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-radio',_vm._g(_vm._b({attrs:{\"label\":\"Owner\",\"value\":\"Owner\"}},'v-radio',attrs,false),on))]}}],null,true)},[_c('span',[_vm._v(\"Unrestricted access to the organization, its data, and its settings. Can add, modify, and delete projects and members.\")])])],1)],1),_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('v-tooltip',{attrs:{\"max-width\":\"300px\",\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('span',_vm._g(_vm._b({staticClass:\"subtitle-2\"},'span',attrs,false),on),[_vm._v(\"Settings\")])]}}],null,true)},[_c('span',[_vm._v(\" Select any existing projects you are part of to share with the user, so they can collaborate on the documents for a particular project (or Galaxy). If you want to keep something private, then a default project will be created for just this user and will be private to that user. \")])])],1),_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('v-list-item',[_c('v-list-item-content',[_c('project-combobox',{attrs:{\"label\":\"Default Projects\"},model:{value:(_vm.defaultProjects),callback:function ($$v) {_vm.defaultProjects=$$v},expression:\"defaultProjects\"}})],1)],1)],1)],1)],1)],1)],1)],1)]}}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrganizationMemberNewEdit.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrganizationMemberNewEdit.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./OrganizationMemberNewEdit.vue?vue&type=template&id=12617a91\"\nimport script from \"./OrganizationMemberNewEdit.vue?vue&type=script&lang=js\"\nexport * from \"./OrganizationMemberNewEdit.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrganizationMemberTable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrganizationMemberTable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./OrganizationMemberTable.vue?vue&type=template&id=70cf2b12\"\nimport script from \"./OrganizationMemberTable.vue?vue&type=script&lang=js\"\nexport * from \"./OrganizationMemberTable.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// Styles\nimport '../VAutocomplete/VAutocomplete.sass'\n\n// Extensions\nimport VSelect from '../VSelect/VSelect'\nimport VAutocomplete from '../VAutocomplete/VAutocomplete'\n\n// Utils\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n/* @vue/component */\nexport default VAutocomplete.extend({\n name: 'v-combobox',\n\n props: {\n delimiters: {\n type: Array,\n default: () => ([]),\n } as PropValidator,\n returnObject: {\n type: Boolean,\n default: true,\n },\n },\n\n data: () => ({\n editingIndex: -1,\n }),\n\n computed: {\n computedCounterValue (): number {\n return this.multiple\n ? this.selectedItems.length\n : (this.internalSearch || '').toString().length\n },\n hasSlot (): boolean {\n return VSelect.options.computed.hasSlot.call(this) || this.multiple\n },\n isAnyValueAllowed (): boolean {\n return true\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems ||\n (!!this.$slots['no-data'] && !this.hideNoData)\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null\n },\n },\n\n methods: {\n onInternalSearchChanged (val: any) {\n if (\n val &&\n this.multiple &&\n this.delimiters.length\n ) {\n const delimiter = this.delimiters.find(d => val.endsWith(d))\n if (delimiter != null) {\n this.internalSearch = val.slice(0, val.length - delimiter.length)\n this.updateTags()\n }\n }\n\n this.updateMenuDimensions()\n },\n genInput () {\n const input = VAutocomplete.options.methods.genInput.call(this)\n\n delete input.data!.attrs!.name\n input.data!.on!.paste = this.onPaste\n\n return input\n },\n genChipSelection (item: object, index: number) {\n const chip = VSelect.options.methods.genChipSelection.call(this, item, index)\n\n // Allow user to update an existing value\n if (this.multiple) {\n chip.componentOptions!.listeners! = {\n ...chip.componentOptions!.listeners!,\n dblclick: () => {\n this.editingIndex = index\n this.internalSearch = this.getText(item)\n this.selectedIndex = -1\n },\n }\n }\n\n return chip\n },\n onChipInput (item: object) {\n VSelect.options.methods.onChipInput.call(this, item)\n\n this.editingIndex = -1\n },\n // Requires a manual definition\n // to overwrite removal in v-autocomplete\n onEnterDown (e: Event) {\n e.preventDefault()\n // If has menu index, let v-select-list handle\n if (this.getMenuIndex() > -1) return\n\n this.$nextTick(this.updateSelf)\n },\n onFilteredItemsChanged (val: never[], oldVal: never[]) {\n if (!this.autoSelectFirst) return\n\n VAutocomplete.options.methods.onFilteredItemsChanged.call(this, val, oldVal)\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n if (\n e.ctrlKey ||\n ![keyCodes.home, keyCodes.end].includes(keyCode)\n ) {\n VSelect.options.methods.onKeyDown.call(this, e)\n }\n\n // If user is at selection index of 0\n // create a new tag\n if (this.multiple &&\n keyCode === keyCodes.left &&\n this.$refs.input.selectionStart === 0\n ) {\n this.updateSelf()\n } else if (keyCode === keyCodes.enter) {\n this.onEnterDown(e)\n }\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onTabDown (e: KeyboardEvent) {\n // When adding tags, if searching and\n // there is not a filtered options,\n // add the value to the tags list\n if (this.multiple &&\n this.internalSearch &&\n this.getMenuIndex() === -1\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n return this.updateTags()\n }\n\n VAutocomplete.options.methods.onTabDown.call(this, e)\n },\n selectItem (item: object) {\n // Currently only supports items:\n if (this.editingIndex > -1) {\n this.updateEditing()\n } else {\n VAutocomplete.options.methods.selectItem.call(this, item)\n\n // if selected item contains search value,\n // remove the search string\n if (\n this.internalSearch &&\n this.multiple &&\n this.getText(item).toLocaleLowerCase().includes(this.internalSearch.toLocaleLowerCase())\n ) {\n this.internalSearch = null\n }\n }\n },\n setSelectedItems () {\n if (this.internalValue == null ||\n this.internalValue === ''\n ) {\n this.selectedItems = []\n } else {\n this.selectedItems = this.multiple ? this.internalValue : [this.internalValue]\n }\n },\n setValue (value?: any) {\n VSelect.options.methods.setValue.call(this, value ?? this.internalSearch)\n },\n updateEditing () {\n const value = this.internalValue.slice()\n value[this.editingIndex] = this.internalSearch\n\n this.setValue(value)\n\n this.editingIndex = -1\n },\n updateCombobox () {\n // If search is not dirty, do nothing\n if (!this.searchIsDirty) return\n\n // The internal search is not matching\n // the internal value, update the input\n if (this.internalSearch !== this.getText(this.internalValue)) this.setValue()\n\n // Reset search if using slot to avoid a double input\n const isUsingSlot = Boolean(this.$scopedSlots.selection) || this.hasChips\n if (isUsingSlot) this.internalSearch = null\n },\n updateSelf () {\n this.multiple ? this.updateTags() : this.updateCombobox()\n },\n updateTags () {\n const menuIndex = this.getMenuIndex()\n\n // If the user is not searching\n // and no menu item is selected\n // or if the search is empty\n // do nothing\n if ((menuIndex < 0 && !this.searchIsDirty) ||\n !this.internalSearch) return\n\n if (this.editingIndex > -1) {\n return this.updateEditing()\n }\n\n const index = this.selectedItems.indexOf(this.internalSearch)\n // If it already exists, do nothing\n // this might need to change to bring\n // the duplicated item to the last entered\n if (index > -1) {\n const internalValue = this.internalValue.slice()\n internalValue.splice(index, 1)\n\n this.setValue(internalValue)\n }\n\n // If menu index is greater than 1\n // the selection is handled elsewhere\n // TODO: find out where\n if (menuIndex > -1) return (this.internalSearch = null)\n\n this.selectItem(this.internalSearch)\n this.internalSearch = null\n },\n onPaste (event: ClipboardEvent) {\n if (!this.multiple || this.searchIsDirty) return\n\n const pastedItemText = event.clipboardData?.getData('text/vnd.vuetify.autocomplete.item+plain')\n if (pastedItemText && this.findExistingIndex(pastedItemText as any) === -1) {\n event.preventDefault()\n VSelect.options.methods.selectItem.call(this, pastedItemText as any)\n }\n },\n clearableCallback () {\n this.editingIndex = -1\n\n VAutocomplete.options.methods.clearableCallback.call(this)\n },\n },\n})\n","// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VRadioGroup.sass'\n\n// Extensions\nimport VInput from '../VInput'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { PropType } from 'vue'\n\nconst baseMixins = mixins(\n Comparable,\n BaseItemGroup,\n VInput\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-radio-group',\n\n provide () {\n return {\n radioGroup: this,\n }\n },\n\n props: {\n column: {\n type: Boolean,\n default: true,\n },\n height: {\n type: [Number, String],\n default: 'auto',\n },\n name: String,\n row: Boolean,\n // If no value set on VRadio\n // will match valueComparator\n // force default to null\n value: null as unknown as PropType,\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--radio-group': true,\n 'v-input--radio-group--column': this.column && !this.row,\n 'v-input--radio-group--row': this.row,\n }\n },\n },\n\n methods: {\n genDefaultSlot () {\n return this.$createElement('div', {\n staticClass: 'v-input--radio-group__input',\n attrs: {\n id: this.id,\n role: 'radiogroup',\n 'aria-labelledby': this.computedId,\n },\n }, VInput.options.methods.genDefaultSlot.call(this))\n },\n genInputSlot () {\n const render = VInput.options.methods.genInputSlot.call(this)\n\n delete render.data!.on!.click\n\n return render\n },\n genLabel () {\n const label = VInput.options.methods.genLabel.call(this)\n\n if (!label) return null\n\n label.data!.attrs!.id = this.computedId\n // WAI considers this an orphaned label\n delete label.data!.attrs!.for\n label.tag = 'legend'\n\n return label\n },\n onClick: BaseItemGroup.options.methods.onClick,\n },\n})\n","// Styles\nimport './VRadio.sass'\n\n// Components\nimport VRadioGroup from './VRadioGroup'\nimport VLabel from '../VLabel'\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\nimport Selectable, { prevent } from '../../mixins/selectable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { mergeListeners } from '../../util/mergeData'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Colorable,\n Rippleable,\n GroupableFactory('radioGroup'),\n Themeable\n)\n\ninterface options extends InstanceType {\n radioGroup: InstanceType\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-radio',\n\n inheritAttrs: false,\n\n props: {\n disabled: Boolean,\n id: String,\n label: String,\n name: String,\n offIcon: {\n type: String,\n default: '$radioOff',\n },\n onIcon: {\n type: String,\n default: '$radioOn',\n },\n readonly: Boolean,\n value: {\n default: null,\n },\n },\n\n data: () => ({\n isFocused: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-radio--is-disabled': this.isDisabled,\n 'v-radio--is-focused': this.isFocused,\n ...this.themeClasses,\n ...this.groupClasses,\n }\n },\n computedColor (): string | undefined {\n return Selectable.options.computed.computedColor.call(this)\n },\n computedIcon (): string {\n return this.isActive\n ? this.onIcon\n : this.offIcon\n },\n computedId (): string {\n return VInput.options.computed.computedId.call(this)\n },\n hasLabel: VInput.options.computed.hasLabel,\n hasState (): boolean {\n return (this.radioGroup || {}).hasState\n },\n isDisabled (): boolean {\n return this.disabled || (\n !!this.radioGroup &&\n this.radioGroup.isDisabled\n )\n },\n isReadonly (): boolean {\n return this.readonly || (\n !!this.radioGroup &&\n this.radioGroup.isReadonly\n )\n },\n computedName (): string {\n if (this.name || !this.radioGroup) {\n return this.name\n }\n\n return this.radioGroup.name || `radio-${this.radioGroup._uid}`\n },\n rippleState (): string | undefined {\n return Selectable.options.computed.rippleState.call(this)\n },\n validationState (): string | undefined {\n return (this.radioGroup || {}).validationState || this.computedColor\n },\n },\n\n methods: {\n genInput (args: any) {\n // We can't actually use the mixin directly because\n // it's made for standalone components, but its\n // genInput method is exactly what we need\n return Selectable.options.methods.genInput.call(this, 'radio', args)\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n on: {\n // Label shouldn't cause the input to focus\n click: prevent,\n },\n attrs: {\n for: this.computedId,\n },\n props: {\n color: this.validationState,\n focused: this.hasState,\n },\n }, getSlot(this, 'label') || this.label)\n },\n genRadio () {\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.$createElement(VIcon, this.setTextColor(this.validationState, {\n props: {\n dense: this.radioGroup && this.radioGroup.dense,\n },\n }), this.computedIcon),\n this.genInput({\n name: this.computedName,\n value: this.value,\n ...this.attrs$,\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n onFocus (e: Event) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: Event) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n onChange () {\n if (this.isDisabled || this.isReadonly || this.isActive) return\n\n this.toggle()\n },\n onKeydown: () => {}, // Override default with noop\n },\n\n render (h): VNode {\n const data: VNodeData = {\n staticClass: 'v-radio',\n class: this.classes,\n on: mergeListeners({\n click: this.onChange,\n }, this.listeners$),\n }\n\n return h('div', data, [\n this.genRadio(),\n this.genLabel(),\n ])\n },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-menu',{attrs:{\"bottom\":\"\",\"right\":\"\",\"transition\":\"scale-transition\",\"origin\":\"top left\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-chip',_vm._g({attrs:{\"pill\":\"\",\"small\":\"\"}},on),[_c('v-avatar',{attrs:{\"left\":\"\",\"color\":_vm.project.color,\"dark\":\"\"}},[_c('span',{staticClass:\"white--text\"},[_vm._v(_vm._s(_vm._f(\"initials\")(_vm.project.name)))])]),_vm._v(\" \"+_vm._s(_vm.project.name)+\" \")],1)]}}]),model:{value:(_vm.menu),callback:function ($$v) {_vm.menu=$$v},expression:\"menu\"}},[_c('v-card',{attrs:{\"outlined\":\"\",\"width\":\"300px\"}},[_c('v-list',{attrs:{\"dark\":\"\"}},[_c('v-list-item',[_c('v-list-item-avatar',{attrs:{\"color\":_vm.project.color}},[_c('span',{staticClass:\"white--text\"},[_vm._v(_vm._s(_vm._f(\"initials\")(_vm.project.name)))])]),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(_vm.project.name))]),_c('v-list-item-subtitle',[_vm._v(_vm._s(_vm.project.description))])],1),_c('v-list-item-action',[_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.menu = false}}},[_c('v-icon',[_vm._v(\"mdi-close-circle\")])],1)],1)],1)],1),_c('v-divider'),_c('v-list',{attrs:{\"dense\":\"\"}},[_c('v-list-item',[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-cash\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\"Annual Employee Cost\")]),_c('v-list-item-subtitle',[_vm._v(_vm._s(_vm._f(\"toUSD\")(_vm.project.annual_employee_cost)))])],1)],1),_c('v-list-item',[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-clock\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\"Business Year Hours\")]),_c('v-list-item-subtitle',[_vm._v(_vm._s(_vm.project.business_year_hours))])],1)],1),_c('v-list-item',[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-account-circle\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\"Owner Email\")]),_c('v-list-item-subtitle',[_vm._v(_vm._s(_vm.project.owner_email))])],1)],1),_c('v-list-item',[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-office-building\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\"Organization ID\")]),_c('v-list-item-subtitle',[_vm._v(_vm._s(_vm.project.organization_id))])],1)],1)],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectCard.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectCard.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProjectCard.vue?vue&type=template&id=8be1e1d4\"\nimport script from \"./ProjectCard.vue?vue&type=script&lang=js\"\nexport * from \"./ProjectCard.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-combobox',{attrs:{\"items\":_vm.items,\"label\":_vm.label,\"loading\":_vm.loading,\"search-input\":_vm.search,\"chips\":\"\",\"clearable\":\"\",\"deletable-chips\":\"\",\"hide-selected\":\"\",\"item-text\":\"name\",\"item-value\":\"id\",\"multiple\":\"\",\"no-filter\":\"\"},on:{\"update:searchInput\":function($event){_vm.search=$event},\"update:search-input\":[function($event){_vm.search=$event},function($event){return _vm.getFilteredData()}]},scopedSlots:_vm._u([{key:\"no-data\",fn:function(){return [_c('v-list-item',[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" No Projects matching \\\" \"),_c('strong',[_vm._v(_vm._s(_vm.search))]),_vm._v(\"\\\". \")])],1)],1)]},proxy:true},{key:\"item\",fn:function(data){return [[_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(data.item.name)}}),_c('v-list-item-subtitle',{staticClass:\"text-truncate\",staticStyle:{\"width\":\"200px\"},domProps:{\"textContent\":_vm._s(data.item.description)}})],1)]]}},{key:\"append-item\",fn:function(){return [(_vm.more)?_c('v-list-item',{on:{\"click\":function($event){return _vm.loadMore()}}},[_c('v-list-item-content',[_c('v-list-item-subtitle',[_vm._v(\" Load More \")])],1)],1):_vm._e()]},proxy:true}]),model:{value:(_vm.project),callback:function ($$v) {_vm.project=$$v},expression:\"project\"}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectCombobox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectCombobox.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProjectCombobox.vue?vue&type=template&id=97cae5b8\"\nimport script from \"./ProjectCombobox.vue?vue&type=script&lang=js\"\nexport * from \"./ProjectCombobox.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// Styles\nimport './VAutocomplete.sass'\n\n// Extensions\nimport VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelect'\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport {\n getObjectValueByPath,\n getPropertyFromItem,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { PropType, VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nconst defaultMenuProps = {\n ...VSelectMenuProps,\n offsetY: true,\n offsetOverflow: true,\n transition: false,\n}\n\n/* @vue/component */\nexport default VSelect.extend({\n name: 'v-autocomplete',\n\n props: {\n allowOverflow: {\n type: Boolean,\n default: true,\n },\n autoSelectFirst: {\n type: Boolean,\n default: false,\n },\n filter: {\n type: Function,\n default: (item: any, queryText: string, itemText: string) => {\n return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1\n },\n } as PropValidator<(item: any, queryText: string, itemText: string) => boolean>,\n hideNoData: Boolean,\n menuProps: {\n type: VSelect.options.props.menuProps.type,\n default: () => defaultMenuProps,\n },\n noFilter: Boolean,\n searchInput: {\n type: String as PropType,\n },\n },\n\n data () {\n return {\n lazySearch: this.searchInput,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSelect.options.computed.classes.call(this),\n 'v-autocomplete': true,\n 'v-autocomplete--is-selecting-index': this.selectedIndex > -1,\n }\n },\n computedItems (): object[] {\n return this.filteredItems\n },\n selectedValues (): object[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n hasDisplayedItems (): boolean {\n return this.hideSelected\n ? this.filteredItems.some(item => !this.hasItem(item))\n : this.filteredItems.length > 0\n },\n currentRange (): number {\n if (this.selectedItem == null) return 0\n\n return String(this.getText(this.selectedItem)).length\n },\n filteredItems (): object[] {\n if (!this.isSearching || this.noFilter || this.internalSearch == null) return this.allItems\n\n return this.allItems.filter(item => {\n const value = getPropertyFromItem(item, this.itemText)\n const text = value != null ? String(value) : ''\n\n return this.filter(item, String(this.internalSearch), text)\n })\n },\n internalSearch: {\n get (): string | null {\n return this.lazySearch\n },\n set (val: any) { // TODO: this should be `string | null` but it breaks lots of other types\n // emit update event only when the new\n // search value is different from previous\n if (this.lazySearch !== val) {\n this.lazySearch = val\n this.$emit('update:search-input', val)\n }\n },\n },\n isAnyValueAllowed (): boolean {\n return false\n },\n isDirty (): boolean {\n return this.searchIsDirty || this.selectedItems.length > 0\n },\n isSearching (): boolean {\n return (\n this.multiple &&\n this.searchIsDirty\n ) || (\n this.searchIsDirty &&\n this.internalSearch !== this.getText(this.selectedItem)\n )\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems || !this.hideNoData\n },\n $_menuProps (): object {\n const props = VSelect.options.computed.$_menuProps.call(this);\n (props as any).contentClass = `v-autocomplete__content ${(props as any).contentClass || ''}`.trim()\n return {\n ...defaultMenuProps,\n ...props,\n }\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null &&\n this.internalSearch !== ''\n },\n selectedItem (): any {\n if (this.multiple) return null\n\n return this.selectedItems.find(i => {\n return this.valueComparator(this.getValue(i), this.getValue(this.internalValue))\n })\n },\n listData () {\n const data = VSelect.options.computed.listData.call(this) as any\n\n data.props = {\n ...data.props,\n items: this.virtualizedItems,\n noFilter: (\n this.noFilter ||\n !this.isSearching ||\n !this.filteredItems.length\n ),\n searchInput: this.internalSearch,\n }\n\n return data\n },\n },\n\n watch: {\n filteredItems: 'onFilteredItemsChanged',\n internalValue: 'setSearch',\n isFocused (val) {\n if (val) {\n document.addEventListener('copy', this.onCopy)\n this.$refs.input && this.$refs.input.select()\n } else {\n document.removeEventListener('copy', this.onCopy)\n this.$refs.input && this.$refs.input.blur()\n this.updateSelf()\n }\n },\n isMenuActive (val) {\n if (val || !this.hasSlot) return\n\n this.lazySearch = null\n },\n items (val, oldVal) {\n // If we are focused, the menu\n // is not active, hide no data is enabled,\n // and items change\n // User is probably async loading\n // items, try to activate the menu\n if (\n !(oldVal && oldVal.length) &&\n this.hideNoData &&\n this.isFocused &&\n !this.isMenuActive &&\n val.length\n ) this.activateMenu()\n },\n searchInput (val: string) {\n this.lazySearch = val\n },\n internalSearch: 'onInternalSearchChanged',\n itemText: 'updateSelf',\n },\n\n created () {\n this.setSearch()\n },\n\n destroyed () {\n document.removeEventListener('copy', this.onCopy)\n },\n\n methods: {\n onFilteredItemsChanged (val: never[], oldVal: never[]) {\n // TODO: How is the watcher triggered\n // for duplicate items? no idea\n if (val === oldVal) return\n\n this.setMenuIndex(-1)\n\n this.$nextTick(() => {\n if (\n !this.internalSearch ||\n (val.length !== 1 &&\n !this.autoSelectFirst)\n ) return\n\n this.$refs.menu.getTiles()\n this.setMenuIndex(0)\n })\n },\n onInternalSearchChanged () {\n this.updateMenuDimensions()\n },\n updateMenuDimensions () {\n // Type from menuable is not making it through\n this.isMenuActive && this.$refs.menu && this.$refs.menu.updateDimensions()\n },\n changeSelectedIndex (keyCode: number) {\n // Do not allow changing of selectedIndex\n // when search is dirty\n if (this.searchIsDirty) return\n\n if (this.multiple && keyCode === keyCodes.left) {\n if (this.selectedIndex === -1) {\n this.selectedIndex = this.selectedItems.length - 1\n } else {\n this.selectedIndex--\n }\n } else if (this.multiple && keyCode === keyCodes.right) {\n if (this.selectedIndex >= this.selectedItems.length - 1) {\n this.selectedIndex = -1\n } else {\n this.selectedIndex++\n }\n } else if (keyCode === keyCodes.backspace || keyCode === keyCodes.delete) {\n this.deleteCurrentItem()\n }\n },\n deleteCurrentItem () {\n const curIndex = this.selectedIndex\n const curItem = this.selectedItems[curIndex]\n\n // Do nothing if input or item is disabled\n if (\n !this.isInteractive ||\n this.getDisabled(curItem)\n ) return\n\n const lastIndex = this.selectedItems.length - 1\n\n // Select the last item if\n // there is no selection\n if (\n this.selectedIndex === -1 &&\n lastIndex !== 0\n ) {\n this.selectedIndex = lastIndex\n\n return\n }\n\n const length = this.selectedItems.length\n const nextIndex = curIndex !== length - 1\n ? curIndex\n : curIndex - 1\n const nextItem = this.selectedItems[nextIndex]\n\n if (!nextItem) {\n this.setValue(this.multiple ? [] : null)\n } else {\n this.selectItem(curItem)\n }\n\n this.selectedIndex = nextIndex\n },\n clearableCallback () {\n this.internalSearch = null\n\n VSelect.options.methods.clearableCallback.call(this)\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data = mergeData(input.data!, {\n attrs: {\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n },\n domProps: { value: this.internalSearch },\n })\n\n return input\n },\n genInputSlot () {\n const slot = VSelect.options.methods.genInputSlot.call(this)\n\n slot.data!.attrs!.role = 'combobox'\n\n return slot\n },\n genSelections (): VNode | never[] {\n return this.hasSlot || this.multiple\n ? VSelect.options.methods.genSelections.call(this)\n : []\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n this.selectedIndex > -1\n ? (this.selectedIndex = -1)\n : this.onFocus()\n\n if (!this.isAppendInner(e.target)) this.activateMenu()\n },\n onInput (e: Event) {\n if (\n this.selectedIndex > -1 ||\n !e.target\n ) return\n\n const target = e.target as HTMLInputElement\n const value = target.value\n\n // If typing and menu is not currently active\n if (target.value) this.activateMenu()\n\n this.internalSearch = value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n if (\n e.ctrlKey ||\n ![keyCodes.home, keyCodes.end].includes(keyCode)\n ) {\n VSelect.options.methods.onKeyDown.call(this, e)\n }\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onSpaceDown (e: KeyboardEvent) { /* noop */ },\n onTabDown (e: KeyboardEvent) {\n VSelect.options.methods.onTabDown.call(this, e)\n this.updateSelf()\n },\n onUpDown (e: Event) {\n // Prevent screen from scrolling\n e.preventDefault()\n\n // For autocomplete / combobox, cycling\n // interfers with native up/down behavior\n // instead activate the menu\n this.activateMenu()\n },\n selectItem (item: object) {\n VSelect.options.methods.selectItem.call(this, item)\n this.setSearch()\n },\n setSelectedItems () {\n VSelect.options.methods.setSelectedItems.call(this)\n\n // #4273 Don't replace if searching\n // #4403 Don't replace if focused\n if (!this.isFocused) this.setSearch()\n },\n setSearch () {\n // Wait for nextTick so selectedItem\n // has had time to update\n this.$nextTick(() => {\n if (\n !this.multiple ||\n !this.internalSearch ||\n !this.isMenuActive\n ) {\n this.internalSearch = (\n !this.selectedItems.length ||\n this.multiple ||\n this.hasSlot\n )\n ? null\n : this.getText(this.selectedItem)\n }\n })\n },\n updateSelf () {\n if (!this.searchIsDirty &&\n !this.internalValue\n ) return\n\n if (!this.valueComparator(\n this.internalSearch,\n this.getValue(this.internalValue)\n )) {\n this.setSearch()\n }\n },\n hasItem (item: any): boolean {\n return this.selectedValues.indexOf(this.getValue(item)) > -1\n },\n onCopy (event: ClipboardEvent) {\n if (this.selectedIndex === -1) return\n\n const currentItem = this.selectedItems[this.selectedIndex]\n const currentItemText = this.getText(currentItem)\n event.clipboardData?.setData('text/plain', currentItemText)\n event.clipboardData?.setData('text/vnd.vuetify.autocomplete.item+plain', currentItemText)\n event.preventDefault()\n },\n },\n})\n"],"sourceRoot":""}