@hitachivantara/uikit-react-core 3.55.0 → 3.56.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +57 -0
- package/dist/AssetInventory/AssetInventory.d.ts +1 -1
- package/dist/AssetInventory/AssetInventory.js +17 -10
- package/dist/AssetInventory/AssetInventory.js.map +1 -1
- package/dist/AssetInventory/CardView/CardView.js +2 -1
- package/dist/AssetInventory/CardView/CardView.js.map +1 -1
- package/dist/Barchart/barchartPlotlyOverrides.js +1 -0
- package/dist/Barchart/barchartPlotlyOverrides.js.map +1 -1
- package/dist/TagsInput/TagsInput.d.ts +17 -1
- package/dist/TagsInput/TagsInput.js +81 -60
- package/dist/TagsInput/TagsInput.js.map +1 -1
- package/dist/legacy/AssetInventory/AssetInventory.d.ts +1 -1
- package/dist/legacy/AssetInventory/AssetInventory.js +17 -10
- package/dist/legacy/AssetInventory/AssetInventory.js.map +1 -1
- package/dist/legacy/AssetInventory/CardView/CardView.js +2 -1
- package/dist/legacy/AssetInventory/CardView/CardView.js.map +1 -1
- package/dist/legacy/Barchart/barchartPlotlyOverrides.js +1 -0
- package/dist/legacy/Barchart/barchartPlotlyOverrides.js.map +1 -1
- package/dist/legacy/TagsInput/TagsInput.d.ts +17 -1
- package/dist/legacy/TagsInput/TagsInput.js +81 -60
- package/dist/legacy/TagsInput/TagsInput.js.map +1 -1
- package/dist/modern/AssetInventory/AssetInventory.d.ts +1 -1
- package/dist/modern/AssetInventory/AssetInventory.js +15 -9
- package/dist/modern/AssetInventory/AssetInventory.js.map +1 -1
- package/dist/modern/AssetInventory/CardView/CardView.js +1 -1
- package/dist/modern/AssetInventory/CardView/CardView.js.map +1 -1
- package/dist/modern/Barchart/barchartPlotlyOverrides.js +1 -0
- package/dist/modern/Barchart/barchartPlotlyOverrides.js.map +1 -1
- package/dist/modern/TagsInput/TagsInput.d.ts +17 -1
- package/dist/modern/TagsInput/TagsInput.js +73 -50
- package/dist/modern/TagsInput/TagsInput.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/AssetInventory/AssetInventory.js"],"names":["React","useState","useEffect","useCallback","PropTypes","find","withStyles","clsx","MultiButton","Search","Sort","HvGrid","HvPagination","HvBulkActions","styles","setId","useLabels","useWidth","DEFAULT_LABELS","sortBy","inputLabel","placeholder","getPaginationData","hasPagination","paginationServerSide","values","pageSize","page","slice","HvAssetInventory","props","id","classes","className","valuesProp","selectedValues","selectedValuesProp","selectedView","selectedViewProp","children","searchString","searchStringProp","sortOptionId","labelsProp","labels","configuration","onSearch","searchProps","onSortChange","disablePortal","sortProps","pageProp","pages","pageSizeProp","pageSizeOptions","hasBulkActions","paginationProps","onPageChange","onPageSizeChange","onSelection","isSelectable","actions","maxVisibleActions","actionsCallback","FilterPlaceholder","onViewChange","multibuttonProps","emptyComponent","innerPageSize","innerPageValues","setSelectedView","setPageSize","setPage","setValues","pageValues","setPageValues","setSelectedValues","setSearchString","sortId","sortFunc","undefined","selectedSort","setSelectedSort","currentBreakpoint","length","changeView","_event","viewIndex","changePageValues","returnedPageValues","sortedValues","sort","setSearchResults","results","value","renderSearch","searchBoxContainer","metadata","onSort","renderSort","sortContainer","paginationOnPageChange","newPage","pageData","paginationOnPageSizeChange","newPageSize","renderPagination","numPages","Math","ceil","onPageChangeInternal","onPageSizeChangeInternal","root","pagination","handleSelectPage","e","checked","map","v","handleSelectAll","allSelected","innerOnSelection","onSelectionFn","event","valueId","target","list","includes","filter","item","propsFillerManager","source","propObj","Object","keys","forEach","key","fillChildProp","child","childProps","viewConfiguration","renderView","view","Array","isArray","cloneElement","showButtons","showSort","element","sortable","showSearch","searchable","showRightControls","sortJustify","justifyControls","align","rightControls","multiButtons","bulkActions","viewContainer","propTypes","string","shape","controlsContainer","search","isRequired","oneOfType","arrayOf","node","title","accessor","cellType","oneOf","bool","sortFunction","func","searchFunction","instanceOf","label","icon","disabled","number","name"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,EAAqCC,WAArC,QAAwD,OAAxD;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,aAAjB;AACA,SAASC,UAAT,QAA2B,mBAA3B;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,OAAOC,WAAP,MAAwB,2BAAxB;AACA,OAAOC,MAAP,MAAmB,iBAAnB;AACA,OAAOC,IAAP,MAAiB,aAAjB;AACA,OAAOC,MAAP,MAAmB,SAAnB;AACA,OAAOC,YAAP,MAAyB,eAAzB;AACA,OAAOC,aAAP,MAA0B,gBAA1B;AACA,OAAOC,MAAP,MAAmB,UAAnB;AACA,SAASC,KAAT,EAAgBC,SAAhB,EAA2BC,QAA3B,QAA2C,UAA3C;AAEA,IAAMC,cAAc,GAAG;AACrBC,EAAAA,MAAM,EAAE,SADa;AAErBC,EAAAA,UAAU,EAAE,EAFS;AAGrBC,EAAAA,WAAW,EAAE;AAHQ,CAAvB;;AAMA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,aAAD,EAAgBC,oBAAhB,EAAsCC,MAAtC,EAA8CC,QAA9C,EAAwDC,IAAxD;AAAA,SACxBJ,aAAa,IAAI,CAACC,oBAAlB,GACIC,MAAM,CAACG,KAAP,CAAaF,QAAQ,GAAGC,IAAxB,EAA8BD,QAAQ,IAAIC,IAAI,GAAG,CAAX,CAAtC,CADJ,GAEIF,MAHoB;AAAA,CAA1B;AAKA;AACA;AACA;AACA;;;AACA,IAAMI,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,KAAD,EAAW;AAClC,MACEC,EADF,GAoCID,KApCJ,CACEC,EADF;AAAA,MAEEC,OAFF,GAoCIF,KApCJ,CAEEE,OAFF;AAAA,MAGEC,SAHF,GAoCIH,KApCJ,CAGEG,SAHF;AAAA,MAIUC,UAJV,GAoCIJ,KApCJ,CAIEL,MAJF;AAAA,8BAoCIK,KApCJ,CAKEK,cALF;AAAA,MAKkBC,kBALlB,sCAKuC,EALvC;AAAA,4BAoCIN,KApCJ,CAMEO,YANF;AAAA,MAMgBC,gBANhB,oCAMmC,CANnC;AAAA,MAOEC,QAPF,GAoCIT,KApCJ,CAOES,QAPF;AAAA,4BAoCIT,KApCJ,CAQEU,YARF;AAAA,MAQgBC,gBARhB,oCAQmC,EARnC;AAAA,MASEC,YATF,GAoCIZ,KApCJ,CASEY,YATF;AAAA,MAUUC,UAVV,GAoCIb,KApCJ,CAUEc,MAVF;AAAA,MAWEC,aAXF,GAoCIf,KApCJ,CAWEe,aAXF;AAAA,MAYEC,QAZF,GAoCIhB,KApCJ,CAYEgB,QAZF;AAAA,MAaEC,WAbF,GAoCIjB,KApCJ,CAaEiB,WAbF;AAAA,MAcEC,YAdF,GAoCIlB,KApCJ,CAcEkB,YAdF;AAAA,6BAoCIlB,KApCJ,CAeEmB,aAfF;AAAA,MAeEA,aAfF,qCAekB,KAflB;AAAA,MAgBEC,SAhBF,GAoCIpB,KApCJ,CAgBEoB,SAhBF;AAAA,oBAoCIpB,KApCJ,CAiBEH,IAjBF;AAAA,MAiBQwB,QAjBR,4BAiBmB,CAjBnB;AAAA,qBAoCIrB,KApCJ,CAkBEsB,KAlBF;AAAA,MAkBEA,KAlBF,6BAkBU,CAlBV;AAAA,MAmBYC,YAnBZ,GAoCIvB,KApCJ,CAmBEJ,QAnBF;AAAA,8BAoCII,KApCJ,CAoBEwB,eApBF;AAAA,MAoBEA,eApBF,sCAoBoB,CAAC,CAAD,EAAI,EAAJ,EAAQ,EAAR,EAAY,EAAZ,EAAgB,EAAhB,EAAoB,GAApB,CApBpB;AAAA,8BAoCIxB,KApCJ,CAqBEyB,cArBF;AAAA,MAqBEA,cArBF,sCAqBmB,KArBnB;AAAA,6BAoCIzB,KApCJ,CAsBEP,aAtBF;AAAA,MAsBEA,aAtBF,qCAsBkB,KAtBlB;AAAA,8BAoCIO,KApCJ,CAuBEN,oBAvBF;AAAA,MAuBEA,oBAvBF,sCAuByB,KAvBzB;AAAA,MAwBEgC,eAxBF,GAoCI1B,KApCJ,CAwBE0B,eAxBF;AAAA,MAyBEC,YAzBF,GAoCI3B,KApCJ,CAyBE2B,YAzBF;AAAA,MA0BEC,gBA1BF,GAoCI5B,KApCJ,CA0BE4B,gBA1BF;AAAA,MA2BEC,WA3BF,GAoCI7B,KApCJ,CA2BE6B,WA3BF;AAAA,4BAoCI7B,KApCJ,CA4BE8B,YA5BF;AAAA,MA4BEA,YA5BF,oCA4BiB,KA5BjB;AAAA,MA6BEC,OA7BF,GAoCI/B,KApCJ,CA6BE+B,OA7BF;AAAA,8BAoCI/B,KApCJ,CA8BEgC,iBA9BF;AAAA,MA8BEA,iBA9BF,sCA8BsB,CA9BtB;AAAA,MA+BEC,eA/BF,GAoCIjC,KApCJ,CA+BEiC,eA/BF;AAAA,MAgCEC,iBAhCF,GAoCIlC,KApCJ,CAgCEkC,iBAhCF;AAAA,MAiCEC,YAjCF,GAoCInC,KApCJ,CAiCEmC,YAjCF;AAAA,8BAoCInC,KApCJ,CAkCEoC,gBAlCF;AAAA,MAkCEA,gBAlCF,sCAkCqB,EAlCrB;AAAA,8BAoCIpC,KApCJ,CAmCEqC,cAnCF;AAAA,MAmCEA,cAnCF,sCAmCmB,IAnCnB;AAsCA,MAAMvB,MAAM,GAAG5B,SAAS,CAACE,cAAD,EAAiByB,UAAjB,CAAxB;AAEA,MAAMyB,aAAa,GAAGf,YAAY,IAAIC,eAAe,CAAC,CAAD,CAArD;AACA,MAAMe,eAAe,GAAG/C,iBAAiB,CACvCC,aADuC,EAEvCC,oBAFuC,EAGvCU,UAHuC,EAIvCkC,aAJuC,EAKvCjB,QALuC,CAAzC;;AAQA,kBAAwClD,QAAQ,CAACqC,gBAAgB,IAAI,CAArB,CAAhD;AAAA;AAAA,MAAOD,YAAP;AAAA,MAAqBiC,eAArB;;AACA,mBAAgCrE,QAAQ,CAACmE,aAAD,CAAxC;AAAA;AAAA,MAAO1C,QAAP;AAAA,MAAiB6C,WAAjB;;AACA,mBAAwBtE,QAAQ,CAACkD,QAAD,CAAhC;AAAA;AAAA,MAAOxB,IAAP;AAAA,MAAa6C,OAAb;;AACA,mBAA4BvE,QAAQ,oBAAKiC,UAAL,EAApC;AAAA;AAAA,MAAOT,MAAP;AAAA,MAAegD,SAAf;;AACA,mBAAoCxE,QAAQ,CAACoE,eAAD,CAA5C;AAAA;AAAA,MAAOK,UAAP;AAAA,MAAmBC,aAAnB;;AAEA,oBAA4C1E,QAAQ,oBAAKmC,kBAAL,EAApD;AAAA;AAAA,MAAOD,cAAP;AAAA,MAAuByC,iBAAvB;;AACA,oBAAwC3E,QAAQ,CAACwC,gBAAD,CAAhD;AAAA;AAAA,MAAOD,YAAP;AAAA,MAAqBqC,eAArB;;AACA,oBAAwC5E,QAAQ,CAAC;AAAE6E,IAAAA,MAAM,EAAEpC,YAAV;AAAwBqC,IAAAA,QAAQ,EAAEC;AAAlC,GAAD,CAAhD;AAAA;AAAA,MAAOC,YAAP;AAAA,MAAqBC,eAArB;;AACA,MAAMC,iBAAiB,GAAGlE,QAAQ,EAAlC;AAEAf,EAAAA,SAAS,CAAC,YAAM;AACduE,IAAAA,SAAS,CAACvC,UAAD,CAAT;AACAyC,IAAAA,aAAa,CACXrD,iBAAiB,CAACC,aAAD,EAAgBC,oBAAhB,EAAsCU,UAAtC,EAAkDkC,aAAlD,EAAiEjB,QAAjE,CADN,CAAb;AAGAqB,IAAAA,OAAO,CAACrB,QAAD,CAAP;AACD,GANQ,EAMN,CAACjB,UAAD,EAAaiB,QAAb,EAAuBiB,aAAvB,EAAsC7C,aAAtC,EAAqDC,oBAArD,CANM,CAAT;AAQAtB,EAAAA,SAAS,CAAC,YAAM;AACd,QAAImD,YAAY,KAAK2B,SAArB,EAAgC;AAChCT,IAAAA,WAAW,CAAClB,YAAD,CAAX;AACD,GAHQ,EAGN,CAACA,YAAD,CAHM,CAAT;AAKAnD,EAAAA,SAAS,CAAC,YAAM;AACd,QAAIkC,kBAAkB,CAACgD,MAAnB,GAA4B,CAAhC,EAAmCR,iBAAiB,CAACxC,kBAAD,CAAjB;AACpC,GAFQ,EAEN,CAACA,kBAAD,CAFM,CAAT;AAIAlC,EAAAA,SAAS,CAAC,YAAM;AACdoE,IAAAA,eAAe,CAAChC,gBAAD,CAAf;AACD,GAFQ,EAEN,CAACA,gBAAD,CAFM,CAAT;AAIApC,EAAAA,SAAS,CAAC,YAAM;AACdgF,IAAAA,eAAe,CAAC;AAAEJ,MAAAA,MAAM,EAAEpC,YAAV;AAAwBqC,MAAAA,QAAQ,EAAEC;AAAlC,KAAD,CAAf;AACD,GAFQ,EAEN,CAACtC,YAAD,CAFM,CAAT;AAIAxC,EAAAA,SAAS,CAAC,YAAM;AACd2E,IAAAA,eAAe,CAACpC,gBAAD,CAAf;AACD,GAFQ,EAEN,CAACA,gBAAD,CAFM,CAAT;;AAIA,MAAM4C,UAAU,GAAG,SAAbA,UAAa,CAACC,MAAD,EAASC,SAAT,EAAuB;AACxCjB,IAAAA,eAAe,CAACiB,SAAD,CAAf;AACD,GAFD;;AAIA,MAAMC,gBAAgB,GAAGrF,WAAW,CAClC,UAACsF,kBAAD,EAAwB;AACtBd,IAAAA,aAAa,CACXrD,iBAAiB,CAACC,aAAD,EAAgBC,oBAAhB,EAAsCiE,kBAAtC,EAA0D/D,QAA1D,EAAoEC,IAApE,CADN,CAAb;AAGD,GALiC,EAMlC,CAACJ,aAAD,EAAgBC,oBAAhB,EAAsCE,QAAtC,EAAgDC,IAAhD,CANkC,CAApC;AASAzB,EAAAA,SAAS,CAAC,YAAM;AACd,QAAI,EAAE+E,YAAY,SAAZ,IAAAA,YAAY,WAAZ,IAAAA,YAAY,CAAEH,MAAd,IAAwBG,YAAxB,aAAwBA,YAAxB,eAAwBA,YAAY,CAAEF,QAAxC,CAAJ,EAAuD;;AACvD,QAAMW,YAAY,GAAG,mBAAIxD,UAAJ,EAAgByD,IAAhB,CAAqBV,YAAY,CAACF,QAAlC,CAArB;;AACAN,IAAAA,SAAS,CAACiB,YAAD,CAAT;AACAF,IAAAA,gBAAgB,CAACE,YAAD,CAAhB;AACD,GALQ,EAKN,CAACT,YAAD,EAAe/C,UAAf,EAA2BsD,gBAA3B,CALM,CAAT;;AAOA,MAAMI,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,OAAD,EAAUC,KAAV,EAAoB;AAC3CrB,IAAAA,SAAS,CAACoB,OAAD,CAAT;AACArB,IAAAA,OAAO,CAAC,CAAD,CAAP;AACAK,IAAAA,eAAe,CAACiB,KAAD,CAAf;AACAN,IAAAA,gBAAgB,CAACK,OAAD,CAAhB;AACD,GALD;AAOA;AACF;AACA;AACA;AACA;;;AACE,MAAME,YAAY,GAAG,SAAfA,YAAe,GAAM;AACzB,QAAQ3E,UAAR,GAAoCwB,MAApC,CAAQxB,UAAR;AAAA,QAAoBC,WAApB,GAAoCuB,MAApC,CAAoBvB,WAApB;AACA,wBACE;AAAK,MAAA,SAAS,EAAEW,OAAO,CAACgE;AAAxB,oBACE,oBAAC,MAAD;AACE,MAAA,EAAE,EAAEjE,EADN;AAEE,MAAA,YAAY,EAAES,YAFhB;AAGE,MAAA,MAAM,EAAEN,UAHV;AAIE,MAAA,QAAQ,EAAEW,aAAa,CAACoD,QAJ1B;AAKE,MAAA,QAAQ,EAAEL,gBALZ;AAME,MAAA,QAAQ,EAAE9C,QANZ;AAOE,MAAA,MAAM,EAAE;AAAE1B,QAAAA,UAAU,EAAVA,UAAF;AAAcC,QAAAA,WAAW,EAAXA;AAAd;AAPV,OAQM0B,WARN,EADF,CADF;AAcD,GAhBD;;AAkBA,MAAMmD,MAAM,GAAG,SAATA,MAAS,CAACnB,QAAD,EAAWD,MAAX,EAAsB;AACnCI,IAAAA,eAAe,CAAC;AAAEJ,MAAAA,MAAM,EAANA,MAAF;AAAUC,MAAAA,QAAQ,EAARA;AAAV,KAAD,CAAf;AACD,GAFD;;AAIA,MAAMoB,UAAU,GAAG,SAAbA,UAAa,GAAM;AACvB,wBACE;AAAK,MAAA,SAAS,EAAEnE,OAAO,CAACoE;AAAxB,oBACE,oBAAC,IAAD;AACE,MAAA,EAAE,EAAErE,EADN;AAEE,oBAAYa,MAAZ,aAAYA,MAAZ,uBAAYA,MAAM,CAAEzB,MAFtB;AAGE,MAAA,QAAQ,EAAE0B,aAAF,aAAEA,aAAF,uBAAEA,aAAa,CAAEoD,QAH3B;AAIE,MAAA,QAAQ,EAAEhB,YAAF,aAAEA,YAAF,uBAAEA,YAAY,CAAEH,MAJ1B;AAKE,MAAA,WAAW,EAAEoB,MALf;AAME,MAAA,YAAY,EAAElD,YANhB;AAOE,MAAA,aAAa,EAAEC;AAPjB,OAQMC,SARN,EADF,CADF;AAcD,GAfD;;AAiBA,MAAMmD,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACC,OAAD,EAAa;AAC1C,QAAMC,QAAQ,GAAG9E,MAAM,CAACG,KAAP,CAAaF,QAAQ,GAAG4E,OAAxB,EAAiC5E,QAAQ,IAAI4E,OAAO,GAAG,CAAd,CAAzC,CAAjB;AAEA9B,IAAAA,OAAO,CAAC8B,OAAD,CAAP;AACA3B,IAAAA,aAAa,CAAC4B,QAAD,CAAb;AACD,GALD;;AAOA,MAAMC,0BAA0B,GAAG,SAA7BA,0BAA6B,CAACC,WAAD,EAAiB;AAClD,QAAMF,QAAQ,GAAG9E,MAAM,CAACG,KAAP,CAAa6E,WAAW,GAAG9E,IAA3B,EAAiC8E,WAAW,IAAI9E,IAAI,GAAG,CAAX,CAA5C,CAAjB;AAEA4C,IAAAA,WAAW,CAACkC,WAAD,CAAX;AACA9B,IAAAA,aAAa,CAAC4B,QAAD,CAAb;AACD,GALD;;AAOA,MAAMG,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAM;AAC7B,QAAIjF,MAAM,CAAC2D,MAAP,KAAkB,CAAtB,EAAyB,OAAO,IAAP;AAEzB,QAAMuB,QAAQ,GAAGnF,oBAAoB,GAAG4B,KAAH,GAAWwD,IAAI,CAACC,IAAL,CAAUpF,MAAM,CAAC2D,MAAP,GAAgB1D,QAA1B,CAAhD;AACA,QAAMoF,oBAAoB,GAAGtF,oBAAoB,GAAGiC,YAAH,GAAkB4C,sBAAnE;AAEA,QAAMU,wBAAwB,GAAGvF,oBAAoB,GACjDkC,gBADiD,GAEjD8C,0BAFJ;AAIA,wBACE,oBAAC,YAAD;AACE,MAAA,EAAE,EAAEzF,KAAK,CAACgB,EAAD,EAAK,YAAL,CADX;AAEE,MAAA,OAAO,EAAE;AACPiF,QAAAA,IAAI,EAAEhF,OAAO,CAACiF;AADP,OAFX;AAKE,MAAA,KAAK,EAAEN,QALT;AAME,MAAA,IAAI,EAAEhF,IANR;AAOE,MAAA,WAAW,EAAEA,IAAI,GAAG,CAPtB;AAQE,MAAA,OAAO,EAAEA,IAAI,GAAGgF,QAAQ,GAAG,CAR7B;AASE,MAAA,QAAQ,EAAEjF,QATZ;AAUE,MAAA,eAAe,EAAE4B,eAVnB;AAWE,MAAA,YAAY,EAAEwD,oBAXhB;AAYE,MAAA,gBAAgB,EAAEC;AAZpB,OAaMvD,eAbN,EADF;AAiBD,GA3BD;;AA6BA,MAAM0D,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,CAAD,EAAwB;AAAA,QAApBC,OAAoB,uEAAV,KAAU;AAC/CxC,IAAAA,iBAAiB,CAACwC,OAAO,GAAG,EAAH,GAAQ1C,UAAU,CAAC2C,GAAX,CAAe,UAACC,CAAD;AAAA,aAAOA,CAAC,CAACvF,EAAT;AAAA,KAAf,CAAhB,CAAjB;AACD,GAFD;;AAIA,MAAMwF,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAC5B,QAAMC,WAAW,GAAGrF,cAAc,CAACiD,MAAf,KAA0B3D,MAAM,CAAC2D,MAArD;AACAR,IAAAA,iBAAiB,CAAC4C,WAAW,GAAG,EAAH,GAAQ/F,MAAM,CAAC4F,GAAP,CAAW,UAACC,CAAD;AAAA,aAAOA,CAAC,CAACvF,EAAT;AAAA,KAAX,CAApB,CAAjB;AACD,GAHD;;AAKA,MAAM0F,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,aAAD;AAAA,WAAmB,UAACC,KAAD,EAAW;AACrD,UAAMC,OAAO,GAAGD,KAAK,CAACE,MAAN,CAAa/B,KAA7B;AAEA,UAAMgC,IAAI,GACPH,KAAK,CAACE,MAAN,CAAaT,OAAb,iCAA4BjF,cAA5B,IAA4CyF,OAA5C,EAAD,IACCzF,cAAc,CAAC4F,QAAf,CAAwBH,OAAxB,KAAoCzF,cAAc,CAAC6F,MAAf,CAAsB,UAACC,IAAD;AAAA,eAAUA,IAAI,KAAKL,OAAnB;AAAA,OAAtB,CADrC,IAEA,EAHF;AAKAhD,MAAAA,iBAAiB,CAACkD,IAAD,CAAjB;AACAJ,MAAAA,aAAa,SAAb,IAAAA,aAAa,WAAb,YAAAA,aAAa,CAAGC,KAAH,CAAb;AACD,KAVwB;AAAA,GAAzB;;AAYA,MAAMO,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,MAAD,EAASN,MAAT,EAAiBO,OAAjB,EAA6B;AACtDC,IAAAA,MAAM,CAACC,IAAP,CAAYF,OAAZ,EAAqBG,OAArB,CAA6B,UAACC,GAAD,EAAS;AACpC;AACA,UAAIL,MAAM,CAACrG,KAAP,CAAa0G,GAAb,KAAqB,IAAzB,EAA+BX,MAAM,CAACW,GAAD,CAAN,GAAcJ,OAAO,CAACI,GAAD,CAArB;AAChC,KAHD;AAID,GALD;;AAOA,MAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,KAAD,EAAW;AAAA;;AAC/B,QAAMC,UAAU,qBACV,CAAA9F,aAAa,SAAb,IAAAA,aAAa,WAAb,YAAAA,aAAa,CAAE+F,iBAAf,MAAoCF,KAApC,aAAoCA,KAApC,uCAAoCA,KAAK,CAAE5G,KAA3C,iDAAoC,aAAc8G,iBAAlD,CADU,CAAhB;;AAIAV,IAAAA,kBAAkB,CAACQ,KAAD,EAAQC,UAAR,EAAoB;AACpChF,MAAAA,WAAW,EAAE8D,gBAAgB,CAAC9D,WAAD,CADO;AAEpCC,MAAAA,YAAY,EAAZA,YAFoC;AAGpCC,MAAAA,OAAO,EAAPA,OAHoC;AAIpCC,MAAAA,iBAAiB,EAAjBA,iBAJoC;AAKpCC,MAAAA,eAAe,EAAfA;AALoC,KAApB,CAAlB;AAQA,WAAO4E,UAAP;AACD,GAdD;AAgBA;AACF;AACA;AACA;AACA;;;AACE,MAAME,UAAU,GAAG,SAAbA,UAAa,GAAM;AACvB,QAAMC,IAAI,GAAGC,KAAK,CAACC,OAAN,CAAczG,QAAd,IAA0BA,QAAQ,CAACF,YAAD,CAAlC,GAAmDE,QAAhE;AAEA,QAAId,MAAM,CAAC2D,MAAP,KAAkB,CAAtB,EAAyB,OAAOjB,cAAP;AAEzB,wBAAOnE,KAAK,CAACiJ,YAAN,CAAmBH,IAAnB,EAAyB;AAC9BrH,MAAAA,MAAM,EAAEiD,UADsB;AAE9BvC,MAAAA,cAAc,EAAdA,cAF8B;AAG9ByG,MAAAA,iBAAiB,EAAEH,aAAa,CAACK,IAAD;AAHF,KAAzB,CAAP;AAKD,GAVD;;AAYA,MAAMI,WAAW,GAAG3G,QAAQ,CAAC6C,MAAT,GAAkB,CAAtC;AACA,MAAM+D,QAAQ,GAAG9I,IAAI,CAACwC,aAAa,CAACoD,QAAf,EAAyB,UAACmD,OAAD;AAAA,WAAaA,OAAO,CAACC,QAArB;AAAA,GAAzB,CAArB;AACA,MAAMC,UAAU,GAAGjJ,IAAI,CAACwC,aAAa,CAACoD,QAAf,EAAyB,UAACmD,OAAD;AAAA,WAAaA,OAAO,CAACG,UAArB;AAAA,GAAzB,CAAvB;AACA,MAAMC,iBAAiB,GAAGN,WAAW,IAAIC,QAAzC;AAEA,MAAMM,WAAW,GAAGtE,iBAAiB,KAAK,IAAtB,GAA6B,eAA7B,GAA+C,YAAnE;AACA,MAAMuE,eAAe,GAAGP,QAAQ,GAAGM,WAAH,GAAiB,UAAjD;AACA,MAAME,KAAK,GAAG,CAACL,UAAD,GAAc,UAAd,GAA2B,eAAzC;AAEA,sBACE;AAAK,IAAA,EAAE,EAAEvH,EAAT;AAAa,IAAA,SAAS,EAAExB,IAAI,CAAC0B,SAAD,EAAYD,OAAO,CAACgF,IAApB;AAA5B,KACGhD,iBAAiB,iBAAI,oBAAC,iBAAD;AAAmB,IAAA,WAAW,EAAEwB;AAAhC,IADxB,eAEE,oBAAC,MAAD;AAAQ,IAAA,SAAS;AAAjB,kBACE,oBAAC,MAAD;AAAQ,IAAA,IAAI,MAAZ;AAAa,IAAA,EAAE,EAAE;AAAjB,kBACE,oBAAC,MAAD;AAAQ,IAAA,SAAS,MAAjB;AAAkB,IAAA,cAAc,EAAEmE;AAAlC,KACGL,UAAU,iBACT,oBAAC,MAAD;AAAQ,IAAA,EAAE,EAAE,EAAZ;AAAgB,IAAA,EAAE,EAAE,CAApB;AAAuB,IAAA,EAAE,EAAE,CAA3B;AAA8B,IAAA,EAAE,EAAE,CAAlC;AAAqC,IAAA,EAAE,EAAE,CAAzC;AAA4C,IAAA,IAAI;AAAhD,KACGvD,YAAY,EADf,CAFJ,EAMGyD,iBAAiB,iBAChB,oBAAC,MAAD;AAAQ,IAAA,EAAE,EAAE,EAAZ;AAAgB,IAAA,EAAE,EAAE,CAApB;AAAuB,IAAA,EAAE,EAAE,CAA3B;AAA8B,IAAA,EAAE,EAAE,CAAlC;AAAqC,IAAA,EAAE,EAAE,CAAzC;AAA4C,IAAA,IAAI;AAAhD,kBACE,oBAAC,MAAD;AACE,IAAA,SAAS,EAAExH,OAAO,CAAC4H,aADrB;AAEE,IAAA,cAAc,EAAEF,eAFlB;AAGE,IAAA,SAAS,MAHX;AAIE,IAAA,UAAU,EAAC,UAJb;AAKE,IAAA,OAAO,EAAE;AALX,KAOGP,QAAQ,iBACP,oBAAC,MAAD;AAAQ,IAAA,SAAS,EAAEnH,OAAO,CAACoE,aAA3B;AAA0C,IAAA,IAAI,MAA9C;AAA+C,IAAA,EAAE;AAAjD,KACGD,UAAU,EADb,CARJ,EAYG+C,WAAW,iBACV,oBAAC,MAAD;AAAQ,IAAA,IAAI;AAAZ,kBACE;AAAK,IAAA,SAAS,EAAElH,OAAO,CAAC6H;AAAxB,kBACE,oBAAC,WAAD;AACE,IAAA,EAAE,EAAE9H,EADN;AAEE,IAAA,KAAK,EAAEmC,gBAFT;AAGE,IAAA,YAAY,EAAE7B,YAHhB;AAIE,IAAA,UAAU,EAAEgD,UAJd;AAKE,IAAA,YAAY,EAAEpB;AALhB,IADF,CADF,CAbJ,CADF,CAPJ,CADF,eAsCE,oBAAC,MAAD;AAAQ,IAAA,SAAS;AAAjB,kBACE,oBAAC,MAAD;AAAQ,IAAA,IAAI,MAAZ;AAAa,IAAA,EAAE,EAAE;AAAjB,KACGV,cAAc,iBACb,oBAAC,aAAD;AACE,IAAA,OAAO,EAAE;AAAEyD,MAAAA,IAAI,EAAEhF,OAAO,CAAC8H;AAAhB,KADX;AAEE,IAAA,QAAQ,EAAErI,MAAM,CAAC2D,MAFnB;AAGE,IAAA,WAAW,EAAEjD,cAAc,CAACiD,MAH9B;AAIE,IAAA,WAAW,EAAE8B,gBAJf;AAKE,IAAA,gBAAgB,EAAEK,eALpB;AAME,IAAA,kBAAkB,MANpB;AAOE,IAAA,iBAAiB,EAAEzD;AAPrB,IAFJ,CADF,CAtCF,eAqDE,oBAAC,MAAD;AAAQ,IAAA,SAAS,MAAjB;AAAkB,IAAA,SAAS,EAAE9B,OAAO,CAAC+H;AAArC,kBACE,oBAAC,MAAD;AAAQ,IAAA,IAAI,MAAZ;AAAa,IAAA,EAAE,EAAE;AAAjB,KACGlB,UAAU,EADb,CADF,CArDF,EA0DGtH,aAAa,iBACZ,oBAAC,MAAD;AAAQ,IAAA,SAAS;AAAjB,kBACE,oBAAC,MAAD;AAAQ,IAAA,IAAI,MAAZ;AAAa,IAAA,EAAE,EAAE;AAAjB,KACGmF,gBAAgB,EADnB,CADF,CA3DJ,CADF,CAFF,CADF;AAyED,CA3VD;;AA6VA,wCAAA7E,gBAAgB,CAACmI,SAAjB,GAA6B;AAC3B;AACF;AACA;AACE/H,EAAAA,SAAS,EAAE7B,SAAS,CAAC6J,MAJM;;AAK3B;AACF;AACA;AACElI,EAAAA,EAAE,EAAE3B,SAAS,CAAC6J,MARa;;AAS3B;AACF;AACA;AACEjI,EAAAA,OAAO,EAAE5B,SAAS,CAAC8J,KAAV,CAAgB;AACvB;AACJ;AACA;AACIlD,IAAAA,IAAI,EAAE5G,SAAS,CAAC6J,MAJO;;AAKvB;AACJ;AACA;AACIE,IAAAA,iBAAiB,EAAE/J,SAAS,CAAC6J,MARN;;AASvB;AACJ;AACA;AACIG,IAAAA,MAAM,EAAEhK,SAAS,CAAC6J,MAZK;;AAavB;AACJ;AACA;AACIL,IAAAA,aAAa,EAAExJ,SAAS,CAAC6J,MAhBF;;AAiBvB;AACJ;AACA;AACIJ,IAAAA,YAAY,EAAEzJ,SAAS,CAAC6J,MApBD;;AAqBvB;AACJ;AACA;AACIH,IAAAA,WAAW,EAAE1J,SAAS,CAAC6J,MAxBA;;AAyBvB;AACJ;AACA;AACIF,IAAAA,aAAa,EAAE3J,SAAS,CAAC6J,MA5BF;;AA6BvB;AACJ;AACA;AACIjE,IAAAA,kBAAkB,EAAE5F,SAAS,CAAC6J,MAhCP;;AAiCvB;AACJ;AACA;AACI7D,IAAAA,aAAa,EAAEhG,SAAS,CAAC6J,MApCF;;AAqCvB;AACJ;AACA;AACIhD,IAAAA,UAAU,EAAE7G,SAAS,CAAC6J;AAxCC,GAAhB,EAyCNI,UArDwB;;AAsD3B;AACF;AACA;AACE9H,EAAAA,QAAQ,EAAEnC,SAAS,CAACkK,SAAV,CAAoB,CAAClK,SAAS,CAACmK,OAAV,CAAkBnK,SAAS,CAACoK,IAA5B,CAAD,EAAoCpK,SAAS,CAACoK,IAA9C,CAApB,EAAyEH,UAzDxD;;AA0D3B;AACF;AACA;AACE5I,EAAAA,MAAM,EAAErB,SAAS,CAACmK,OAAV,CACNnK,SAAS,CAAC8J,KAAV,CAAgB;AACdnI,IAAAA,EAAE,EAAE3B,SAAS,CAAC6J;AADA,GAAhB,CADM,EAINI,UAjEyB;;AAkE3B;AACF;AACA;AACEzH,EAAAA,MAAM,EAAExC,SAAS,CAAC8J,KAAV,CAAgB;AACtB;AACJ;AACA;AACI/I,IAAAA,MAAM,EAAEf,SAAS,CAAC6J,MAJI;;AAKtB;AACJ;AACA;AACI7I,IAAAA,UAAU,EAAEhB,SAAS,CAAC6J,MARA;;AAStB;AACJ;AACA;AACI5I,IAAAA,WAAW,EAAEjB,SAAS,CAAC6J;AAZD,GAAhB,CArEmB;;AAmF3B;AACF;AACA;AACA;AACEpH,EAAAA,aAAa,EAAEzC,SAAS,CAAC8J,KAAV,CAAgB;AAC7BjE,IAAAA,QAAQ,EAAE7F,SAAS,CAACmK,OAAV,CACRnK,SAAS,CAAC8J,KAAV,CAAgB;AACdnI,MAAAA,EAAE,EAAE3B,SAAS,CAAC6J,MADA;AAEdQ,MAAAA,KAAK,EAAErK,SAAS,CAAC6J,MAFH;AAGdS,MAAAA,QAAQ,EAAEtK,SAAS,CAAC6J,MAHN;AAIdU,MAAAA,QAAQ,EAAEvK,SAAS,CAACwK,KAAV,CAAgB,CAAC,eAAD,EAAkB,SAAlB,EAA6B,MAA7B,EAAqC,MAArC,CAAhB,CAJI;AAKdvB,MAAAA,QAAQ,EAAEjJ,SAAS,CAACyK,IALN;AAMdC,MAAAA,YAAY,EAAE1K,SAAS,CAAC2K,IANV;AAOdxB,MAAAA,UAAU,EAAEnJ,SAAS,CAACyK,IAPR;AAQdG,MAAAA,cAAc,EAAE5K,SAAS,CAAC2K;AARZ,KAAhB,CADQ,EAWRV,UAZ2B;AAa7BzB,IAAAA,iBAAiB,EAAExI,SAAS,CAAC6K,UAAV,CAAqB5C,MAArB;AAbU,GAAhB,EAcZgC,UArGwB;;AAsG3B;AACF;AACA;AACE1G,EAAAA,WAAW,EAAEvD,SAAS,CAAC2K,IAzGI;;AA0G3B;AACF;AACA;AACElH,EAAAA,OAAO,EAAEzD,SAAS,CAACmK,OAAV,CACPnK,SAAS,CAAC8J,KAAV,CAAgB;AACdnI,IAAAA,EAAE,EAAE3B,SAAS,CAAC6J,MAAV,CAAiBI,UADP;AAEda,IAAAA,KAAK,EAAE9K,SAAS,CAAC6J,MAAV,CAAiBI,UAFV;AAGdc,IAAAA,IAAI,EAAE/K,SAAS,CAACkK,SAAV,CAAoB,CAAClK,SAAS,CAACoK,IAAX,EAAiBpK,SAAS,CAAC2K,IAA3B,CAApB,CAHQ;AAIdK,IAAAA,QAAQ,EAAEhL,SAAS,CAACyK;AAJN,GAAhB,CADO,CA7GkB;;AAqH3B;AACF;AACA;AACE9G,EAAAA,eAAe,EAAE3D,SAAS,CAAC2K,IAxHA;;AAyH3B;AACF;AACA;AACEjH,EAAAA,iBAAiB,EAAE1D,SAAS,CAACiL,MA5HF;;AA6H3B;AACF;AACA;AACErH,EAAAA,iBAAiB,EAAE5D,SAAS,CAACgJ,OAhIF;;AAiI3B;AACF;AACA;AACExF,EAAAA,YAAY,EAAExD,SAAS,CAACyK,IApIG;;AAqI3B;AACF;AACA;AACE1I,EAAAA,cAAc,EAAE/B,SAAS,CAACmK,OAAV,CAAkBnK,SAAS,CAAC6J,MAA5B,CAxIW;;AAyI3B;AACF;AACA;AACE5H,EAAAA,YAAY,EAAEjC,SAAS,CAACiL,MA5IG;;AA6I3B;AACF;AACA;AACE9H,EAAAA,cAAc,EAAEnD,SAAS,CAACyK,IAhJC;;AAiJ3B;AACF;AACA;AACEtJ,EAAAA,aAAa,EAAEnB,SAAS,CAACyK,IApJE;;AAqJ3B;AACF;AACA;AACErJ,EAAAA,oBAAoB,EAAEpB,SAAS,CAACyK,IAxJL;;AAyJ3B;AACF;AACA;AACEvH,EAAAA,eAAe,EAAElD,SAAS,CAACmK,OAAV,CAAkBnK,SAAS,CAACiL,MAA5B,CA5JU;;AA6J3B;AACF;AACA;AACE3J,EAAAA,QAAQ,EAAEtB,SAAS,CAACiL,MAhKO;;AAiK3B;AACF;AACA;AACE1J,EAAAA,IAAI,EAAEvB,SAAS,CAACiL,MApKW;;AAqK3B;AACF;AACA;AACEjI,EAAAA,KAAK,EAAEhD,SAAS,CAACiL,MAxKU;;AAyK3B;AACF;AACA;AACE5H,EAAAA,YAAY,EAAErD,SAAS,CAAC2K,IA5KG;;AA6K3B;AACF;AACA;AACErH,EAAAA,gBAAgB,EAAEtD,SAAS,CAAC2K,IAhLD;;AAiL3B;AACF;AACA;AACEjI,EAAAA,QAAQ,EAAE1C,SAAS,CAAC2K,IApLO;;AAqL3B;AACF;AACA;AACE/H,EAAAA,YAAY,EAAE5C,SAAS,CAAC2K,IAxLG;;AAyL3B;AACF;AACA;AACE9G,EAAAA,YAAY,EAAE7D,SAAS,CAAC2K,IA5LG;;AA6L3B;AACF;AACA;AACErI,EAAAA,YAAY,EAAEtC,SAAS,CAAC6J,MAhMG;;AAiM3B;AACF;AACA;AACEzH,EAAAA,YAAY,EAAEpC,SAAS,CAAC6J,MApMG;;AAqM3B;AACF;AACA;AACEhH,EAAAA,aAAa,EAAE7C,SAAS,CAACyK,IAxME;;AAyM3B;AACF;AACA;AACE9H,EAAAA,WAAW,EAAE3C,SAAS,CAAC6K,UAAV,CAAqB5C,MAArB,CA5Mc;;AA6M3B;AACF;AACA;AACA;AACEnF,EAAAA,SAAS,EAAE9C,SAAS,CAAC6K,UAAV,CAAqB5C,MAArB,CAjNgB;;AAkN3B;AACF;AACA;AACA;AACEnE,EAAAA,gBAAgB,EAAE9D,SAAS,CAACmK,OAAV,CAChBnK,SAAS,CAAC8J,KAAV,CAAgB;AACdnI,IAAAA,EAAE,EAAE3B,SAAS,CAAC6J,MADA;AAEdkB,IAAAA,IAAI,EAAE/K,SAAS,CAACoK;AAFF,GAAhB,CADgB,CAtNS;;AA4N3B;AACF;AACA;AACEhH,EAAAA,eAAe,EAAEpD,SAAS,CAAC6K,UAAV,CAAqB5C,MAArB,CA/NU;;AAgO3B;AACF;AACA;AACElE,EAAAA,cAAc,EAAE/D,SAAS,CAACoK;AAnOC,CAA7B;AAsOA,eAAelK,UAAU,CAACQ,MAAD,EAAS;AAAEwK,EAAAA,IAAI,EAAE;AAAR,CAAT,CAAV,CAAiDzJ,gBAAjD,CAAf","sourcesContent":["import React, { useState, useEffect, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport find from \"lodash/find\";\nimport { withStyles } from \"@material-ui/core\";\nimport clsx from \"clsx\";\nimport MultiButton from \"./Multibutton/Multibutton\";\nimport Search from \"./Search/Search\";\nimport Sort from \"./Sort/Sort\";\nimport HvGrid from \"../Grid\";\nimport HvPagination from \"../Pagination\";\nimport HvBulkActions from \"../BulkActions\";\nimport styles from \"./styles\";\nimport { setId, useLabels, useWidth } from \"../utils\";\n\nconst DEFAULT_LABELS = {\n sortBy: \"Sort by\",\n inputLabel: \"\",\n placeholder: \"Search\",\n};\n\nconst getPaginationData = (hasPagination, paginationServerSide, values, pageSize, page) =>\n hasPagination && !paginationServerSide\n ? values.slice(pageSize * page, pageSize * (page + 1))\n : values;\n\n/**\n * An Asset Inventory allows to switch between views.\n * The Sort and Filter are defined using the metadata configuration, while the remaining configuration can be ser in the AssetInventory or in the individual views.\n */\nconst HvAssetInventory = (props) => {\n const {\n id,\n classes,\n className,\n values: valuesProp,\n selectedValues: selectedValuesProp = [],\n selectedView: selectedViewProp = 0,\n children,\n searchString: searchStringProp = \"\",\n sortOptionId,\n labels: labelsProp,\n configuration,\n onSearch,\n searchProps,\n onSortChange,\n disablePortal = false,\n sortProps,\n page: pageProp = 0,\n pages = 0,\n pageSize: pageSizeProp,\n pageSizeOptions = [5, 10, 20, 25, 50, 100],\n hasBulkActions = false,\n hasPagination = false,\n paginationServerSide = false,\n paginationProps,\n onPageChange,\n onPageSizeChange,\n onSelection,\n isSelectable = false,\n actions,\n maxVisibleActions = 1,\n actionsCallback,\n FilterPlaceholder,\n onViewChange,\n multibuttonProps = [],\n emptyComponent = null,\n } = props;\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const innerPageSize = pageSizeProp || pageSizeOptions[0];\n const innerPageValues = getPaginationData(\n hasPagination,\n paginationServerSide,\n valuesProp,\n innerPageSize,\n pageProp\n );\n\n const [selectedView, setSelectedView] = useState(selectedViewProp || 0);\n const [pageSize, setPageSize] = useState(innerPageSize);\n const [page, setPage] = useState(pageProp);\n const [values, setValues] = useState([...valuesProp]);\n const [pageValues, setPageValues] = useState(innerPageValues);\n\n const [selectedValues, setSelectedValues] = useState([...selectedValuesProp]);\n const [searchString, setSearchString] = useState(searchStringProp);\n const [selectedSort, setSelectedSort] = useState({ sortId: sortOptionId, sortFunc: undefined });\n const currentBreakpoint = useWidth();\n\n useEffect(() => {\n setValues(valuesProp);\n setPageValues(\n getPaginationData(hasPagination, paginationServerSide, valuesProp, innerPageSize, pageProp)\n );\n setPage(pageProp);\n }, [valuesProp, pageProp, innerPageSize, hasPagination, paginationServerSide]);\n\n useEffect(() => {\n if (pageSizeProp === undefined) return;\n setPageSize(pageSizeProp);\n }, [pageSizeProp]);\n\n useEffect(() => {\n if (selectedValuesProp.length > 0) setSelectedValues(selectedValuesProp);\n }, [selectedValuesProp]);\n\n useEffect(() => {\n setSelectedView(selectedViewProp);\n }, [selectedViewProp]);\n\n useEffect(() => {\n setSelectedSort({ sortId: sortOptionId, sortFunc: undefined });\n }, [sortOptionId]);\n\n useEffect(() => {\n setSearchString(searchStringProp);\n }, [searchStringProp]);\n\n const changeView = (_event, viewIndex) => {\n setSelectedView(viewIndex);\n };\n\n const changePageValues = useCallback(\n (returnedPageValues) => {\n setPageValues(\n getPaginationData(hasPagination, paginationServerSide, returnedPageValues, pageSize, page)\n );\n },\n [hasPagination, paginationServerSide, pageSize, page]\n );\n\n useEffect(() => {\n if (!(selectedSort?.sortId && selectedSort?.sortFunc)) return;\n const sortedValues = [...valuesProp].sort(selectedSort.sortFunc);\n setValues(sortedValues);\n changePageValues(sortedValues);\n }, [selectedSort, valuesProp, changePageValues]);\n\n const setSearchResults = (results, value) => {\n setValues(results);\n setPage(0);\n setSearchString(value);\n changePageValues(results);\n };\n\n /**\n * Show the search component.\n *\n * @returns {*}\n */\n const renderSearch = () => {\n const { inputLabel, placeholder } = labels;\n return (\n <div className={classes.searchBoxContainer}>\n <Search\n id={id}\n searchString={searchString}\n values={valuesProp}\n metadata={configuration.metadata}\n onFilter={setSearchResults}\n onSearch={onSearch}\n labels={{ inputLabel, placeholder }}\n {...searchProps}\n />\n </div>\n );\n };\n\n const onSort = (sortFunc, sortId) => {\n setSelectedSort({ sortId, sortFunc });\n };\n\n const renderSort = () => {\n return (\n <div className={classes.sortContainer}>\n <Sort\n id={id}\n aria-label={labels?.sortBy}\n metadata={configuration?.metadata}\n selected={selectedSort?.sortId}\n onSelection={onSort}\n onSortChange={onSortChange}\n disablePortal={disablePortal}\n {...sortProps}\n />\n </div>\n );\n };\n\n const paginationOnPageChange = (newPage) => {\n const pageData = values.slice(pageSize * newPage, pageSize * (newPage + 1));\n\n setPage(newPage);\n setPageValues(pageData);\n };\n\n const paginationOnPageSizeChange = (newPageSize) => {\n const pageData = values.slice(newPageSize * page, newPageSize * (page + 1));\n\n setPageSize(newPageSize);\n setPageValues(pageData);\n };\n\n const renderPagination = () => {\n if (values.length === 0) return null;\n\n const numPages = paginationServerSide ? pages : Math.ceil(values.length / pageSize);\n const onPageChangeInternal = paginationServerSide ? onPageChange : paginationOnPageChange;\n\n const onPageSizeChangeInternal = paginationServerSide\n ? onPageSizeChange\n : paginationOnPageSizeChange;\n\n return (\n <HvPagination\n id={setId(id, \"pagination\")}\n classes={{\n root: classes.pagination,\n }}\n pages={numPages}\n page={page}\n canPrevious={page > 0}\n canNext={page < numPages - 1}\n pageSize={pageSize}\n pageSizeOptions={pageSizeOptions}\n onPageChange={onPageChangeInternal}\n onPageSizeChange={onPageSizeChangeInternal}\n {...paginationProps}\n />\n );\n };\n\n const handleSelectPage = (e, checked = false) => {\n setSelectedValues(checked ? [] : pageValues.map((v) => v.id));\n };\n\n const handleSelectAll = () => {\n const allSelected = selectedValues.length === values.length;\n setSelectedValues(allSelected ? [] : values.map((v) => v.id));\n };\n\n const innerOnSelection = (onSelectionFn) => (event) => {\n const valueId = event.target.value;\n\n const list =\n (event.target.checked && [...selectedValues, valueId]) ||\n (selectedValues.includes(valueId) && selectedValues.filter((item) => item !== valueId)) ||\n [];\n\n setSelectedValues(list);\n onSelectionFn?.(event);\n };\n\n const propsFillerManager = (source, target, propObj) => {\n Object.keys(propObj).forEach((key) => {\n // eslint-disable-next-line no-param-reassign\n if (source.props[key] == null) target[key] = propObj[key];\n });\n };\n\n const fillChildProp = (child) => {\n const childProps = {\n ...(configuration?.viewConfiguration || child?.props?.viewConfiguration),\n };\n\n propsFillerManager(child, childProps, {\n onSelection: innerOnSelection(onSelection),\n isSelectable,\n actions,\n maxVisibleActions,\n actionsCallback,\n });\n\n return childProps;\n };\n\n /**\n * Render the view.\n *\n * @returns {*}\n */\n const renderView = () => {\n const view = Array.isArray(children) ? children[selectedView] : children;\n\n if (values.length === 0) return emptyComponent;\n\n return React.cloneElement(view, {\n values: pageValues,\n selectedValues,\n viewConfiguration: fillChildProp(view),\n });\n };\n\n const showButtons = children.length > 1;\n const showSort = find(configuration.metadata, (element) => element.sortable);\n const showSearch = find(configuration.metadata, (element) => element.searchable);\n const showRightControls = showButtons || showSort;\n\n const sortJustify = currentBreakpoint === \"xs\" ? \"space-between\" : \"flex-start\";\n const justifyControls = showSort ? sortJustify : \"flex-end\";\n const align = !showSearch ? \"flex-end\" : \"space-between\";\n\n return (\n <div id={id} className={clsx(className, classes.root)}>\n {FilterPlaceholder && <FilterPlaceholder onSelection={changePageValues} />}\n <HvGrid container>\n <HvGrid item xs={12}>\n <HvGrid container justifyContent={align}>\n {showSearch && (\n <HvGrid xs={12} sm={6} md={4} lg={3} xl={3} item>\n {renderSearch()}\n </HvGrid>\n )}\n {showRightControls && (\n <HvGrid xs={12} sm={6} md={4} lg={3} xl={3} item>\n <HvGrid\n className={classes.rightControls}\n justifyContent={justifyControls}\n container\n alignItems=\"flex-end\"\n spacing={0}\n >\n {showSort && (\n <HvGrid className={classes.sortContainer} item xs>\n {renderSort()}\n </HvGrid>\n )}\n {showButtons && (\n <HvGrid item>\n <div className={classes.multiButtons}>\n <MultiButton\n id={id}\n views={multibuttonProps}\n selectedView={selectedView}\n changeView={changeView}\n onViewChange={onViewChange}\n />\n </div>\n </HvGrid>\n )}\n </HvGrid>\n </HvGrid>\n )}\n </HvGrid>\n <HvGrid container>\n <HvGrid item xs={12}>\n {hasBulkActions && (\n <HvBulkActions\n classes={{ root: classes.bulkActions }}\n numTotal={values.length}\n numSelected={selectedValues.length}\n onSelectAll={handleSelectPage}\n onSelectAllPages={handleSelectAll}\n showSelectAllPages\n maxVisibleActions={maxVisibleActions}\n />\n )}\n </HvGrid>\n </HvGrid>\n <HvGrid container className={classes.viewContainer}>\n <HvGrid item xs={12}>\n {renderView()}\n </HvGrid>\n </HvGrid>\n {hasPagination && (\n <HvGrid container>\n <HvGrid item xs={12}>\n {renderPagination()}\n </HvGrid>\n </HvGrid>\n )}\n </HvGrid>\n </HvGrid>\n </div>\n );\n};\n\nHvAssetInventory.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the root component.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the controls container.\n */\n controlsContainer: PropTypes.string,\n /**\n * Styles applied to the search container.\n */\n search: PropTypes.string,\n /**\n * Styles applied to the right controls container.\n */\n rightControls: PropTypes.string,\n /**\n * Styles applied to the multiButtons.\n */\n multiButtons: PropTypes.string,\n /**\n * Styles applied to the bulkActions.\n */\n bulkActions: PropTypes.string,\n /**\n * Styles applied to the view container.\n */\n viewContainer: PropTypes.string,\n /**\n * Styles applied to the search box container.\n */\n searchBoxContainer: PropTypes.string,\n /**\n * Styles applied to the sort container.\n */\n sortContainer: PropTypes.string,\n /**\n * Styles applied to the pagination component.\n */\n pagination: PropTypes.string,\n }).isRequired,\n /**\n * Views components.\n */\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n /**\n * Data passed to the component.\n */\n values: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n })\n ).isRequired,\n /**\n * Labels.\n */\n labels: PropTypes.shape({\n /**\n * Sort label.\n */\n sortBy: PropTypes.string,\n /**\n * the label on top of the search box.\n */\n inputLabel: PropTypes.string,\n /**\n * the placeholder value of the search box.\n */\n placeholder: PropTypes.string,\n }),\n /**\n * Contains the metadata for the values and the necessary configuration for the views,\n * check the views for the specific view configuration.\n */\n configuration: PropTypes.shape({\n metadata: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n title: PropTypes.string,\n accessor: PropTypes.string,\n cellType: PropTypes.oneOf([\"alpha-numeric\", \"numeric\", \"date\", \"node\"]),\n sortable: PropTypes.bool,\n sortFunction: PropTypes.func,\n searchable: PropTypes.bool,\n searchFunction: PropTypes.func,\n })\n ).isRequired,\n viewConfiguration: PropTypes.instanceOf(Object),\n }).isRequired,\n /**\n * Callback evoked in the selection of the card.\n */\n onSelection: PropTypes.func,\n /**\n * List of actions to be passed to the views.\n */\n actions: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n icon: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n disabled: PropTypes.bool,\n })\n ),\n /**\n * The callback function ran when an action is triggered, receiving `action` as param\n */\n actionsCallback: PropTypes.func,\n /**\n * The number of maximum visible actions before they're collapsed into a `DropDownMenu`.\n */\n maxVisibleActions: PropTypes.number,\n /**\n * Extra filters\n */\n FilterPlaceholder: PropTypes.element,\n /**\n * Indicates if the views are selectable.\n */\n isSelectable: PropTypes.bool,\n /**\n * Values selected. The list can be maintain internally or it can be passed (overwriting the internal).\n */\n selectedValues: PropTypes.arrayOf(PropTypes.string),\n /**\n * The selected view index.\n */\n selectedView: PropTypes.number,\n /**\n * Defines whether the Asset Inventory includes the bulk actions component.\n */\n hasBulkActions: PropTypes.bool,\n /**\n * Defines whether the Asset Inventory includes the pagination component.\n */\n hasPagination: PropTypes.bool,\n /**\n * Enable or disable the server side pagination mechanism\n */\n paginationServerSide: PropTypes.bool,\n /**\n * The array of possible page sizes for the dropdown.\n */\n pageSizeOptions: PropTypes.arrayOf(PropTypes.number),\n /**\n * Page size.\n */\n pageSize: PropTypes.number,\n /**\n * The currently selected page (0-indexed).\n */\n page: PropTypes.number,\n /**\n * The number of pages the component has.\n */\n pages: PropTypes.number,\n /**\n * Page change callback.\n */\n onPageChange: PropTypes.func,\n /**\n * Page size change callback.\n */\n onPageSizeChange: PropTypes.func,\n /**\n * Search callback.\n */\n onSearch: PropTypes.func,\n /**\n * Sort callback.\n */\n onSortChange: PropTypes.func,\n /**\n * View change callback.\n */\n onViewChange: PropTypes.func,\n /**\n * Visual indication of the sort applied. The id is given by the metadata.id+Asc or metadata.id+Desc.\n */\n sortOptionId: PropTypes.string,\n /**\n * Visual indicator of the search string used.\n */\n searchString: PropTypes.string,\n /**\n * Disable portal on the Sort dropdown\n */\n disablePortal: PropTypes.bool,\n /**\n * Other props passed to the searchbox.\n */\n searchProps: PropTypes.instanceOf(Object),\n /**\n * Others props passed to the Sort. If you want to control the aria-label\n * use the labels.sortBy, as it is mapped directly to the aria-label.\n */\n sortProps: PropTypes.instanceOf(Object),\n /**\n * Array of others prop passed to the created button. Each element must include the id of the view\n * and other props to pe passed to each button.\n */\n multibuttonProps: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n icon: PropTypes.node,\n })\n ),\n /**\n * Extra properties passed to the pagination.\n */\n paginationProps: PropTypes.instanceOf(Object),\n /**\n * Component to the present when no data is available.\n */\n emptyComponent: PropTypes.node,\n};\n\nexport default withStyles(styles, { name: \"HvAssetInventory\" })(HvAssetInventory);\n"],"file":"AssetInventory.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/AssetInventory/AssetInventory.js"],"names":["React","useState","useEffect","useCallback","PropTypes","find","withStyles","clsx","MultiButton","Search","Sort","HvGrid","HvPagination","HvBulkActions","styles","setId","useLabels","useWidth","DEFAULT_LABELS","sortBy","inputLabel","placeholder","getPaginationData","hasPagination","paginationServerSide","values","pageSize","page","slice","HvAssetInventory","props","id","classes","className","valuesProp","selectedValues","selectedValuesProp","selectedView","selectedViewProp","children","searchString","searchStringProp","sortOptionId","labelsProp","labels","configuration","onSearch","searchProps","onSortChange","disablePortal","sortProps","pageProp","pages","pageSizeProp","pageSizeOptions","hasBulkActions","paginationProps","onPageChange","onPageSizeChange","onSelection","isSelectable","actions","maxVisibleActions","actionsCallback","FilterPlaceholder","onViewChange","multibuttonProps","emptyComponent","innerPageSize","innerPageValues","setSelectedView","setPageSize","setPage","setValues","pageValues","setPageValues","setSelectedValues","setSearchString","sortId","sortFunc","undefined","selectedSort","setSelectedSort","currentBreakpoint","length","changeView","_event","viewIndex","changePageValues","returnedPageValues","p","sortedValues","sort","setSearchResults","results","value","renderSearch","searchBoxContainer","metadata","onSort","renderSort","sortContainer","paginationOnPageChange","newPage","pageData","paginationOnPageSizeChange","newPageSize","renderPagination","numPages","Math","ceil","onPageChangeInternal","onPageSizeChangeInternal","root","pagination","handleSelectPage","e","checked","selection","map","v","handleSelectAll","allSelected","innerOnSelection","onSelectionFn","event","valueId","target","list","includes","filter","item","propsFillerManager","source","propObj","Object","keys","forEach","key","fillChildProp","child","childProps","viewConfiguration","renderView","view","Array","isArray","cloneElement","showButtons","showSort","element","sortable","showSearch","searchable","showRightControls","sortJustify","justifyControls","align","rightControls","multiButtons","bulkActions","viewContainer","propTypes","string","shape","controlsContainer","search","isRequired","oneOfType","arrayOf","node","title","accessor","cellType","oneOf","bool","sortFunction","func","searchFunction","instanceOf","label","icon","disabled","number","name"],"mappings":"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","sourcesContent":["import React, { useState, useEffect, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport find from \"lodash/find\";\nimport { withStyles } from \"@material-ui/core\";\nimport clsx from \"clsx\";\nimport MultiButton from \"./Multibutton/Multibutton\";\nimport Search from \"./Search/Search\";\nimport Sort from \"./Sort/Sort\";\nimport HvGrid from \"../Grid\";\nimport HvPagination from \"../Pagination\";\nimport HvBulkActions from \"../BulkActions\";\nimport styles from \"./styles\";\nimport { setId, useLabels, useWidth } from \"../utils\";\n\nconst DEFAULT_LABELS = {\n sortBy: \"Sort by\",\n inputLabel: \"\",\n placeholder: \"Search\",\n};\n\nconst getPaginationData = (hasPagination, paginationServerSide, values, pageSize, page) =>\n hasPagination && !paginationServerSide\n ? values.slice(pageSize * page, pageSize * (page + 1))\n : values;\n\n/**\n * An Asset Inventory allows to switch between views.\n * The Sort and Filter are defined using the metadata configuration, while the remaining configuration can be ser in the AssetInventory or in the individual views.\n */\nconst HvAssetInventory = (props) => {\n const {\n id,\n classes,\n className,\n values: valuesProp,\n selectedValues: selectedValuesProp = [],\n selectedView: selectedViewProp = 0,\n children,\n searchString: searchStringProp = \"\",\n sortOptionId,\n labels: labelsProp,\n configuration,\n onSearch,\n searchProps,\n onSortChange,\n disablePortal = false,\n sortProps,\n page: pageProp = 0,\n pages = 0,\n pageSize: pageSizeProp,\n pageSizeOptions = [5, 10, 20, 25, 50, 100],\n hasBulkActions = false,\n hasPagination = false,\n paginationServerSide = false,\n paginationProps,\n onPageChange,\n onPageSizeChange,\n onSelection,\n isSelectable = false,\n actions,\n maxVisibleActions = 1,\n actionsCallback,\n FilterPlaceholder,\n onViewChange,\n multibuttonProps = [],\n emptyComponent = null,\n } = props;\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const innerPageSize = pageSizeProp || pageSizeOptions[0];\n const innerPageValues = getPaginationData(\n hasPagination,\n paginationServerSide,\n valuesProp,\n innerPageSize,\n pageProp\n );\n\n const [selectedView, setSelectedView] = useState(selectedViewProp || 0);\n const [pageSize, setPageSize] = useState(innerPageSize);\n const [page, setPage] = useState(pageProp);\n const [values, setValues] = useState([...valuesProp]);\n const [pageValues, setPageValues] = useState(innerPageValues);\n\n const [selectedValues, setSelectedValues] = useState([...selectedValuesProp]);\n const [searchString, setSearchString] = useState(searchStringProp);\n const [selectedSort, setSelectedSort] = useState({ sortId: sortOptionId, sortFunc: undefined });\n const currentBreakpoint = useWidth();\n\n useEffect(() => {\n setValues(valuesProp);\n setPageValues(\n getPaginationData(hasPagination, paginationServerSide, valuesProp, innerPageSize, pageProp)\n );\n setPage(pageProp);\n }, [valuesProp, pageProp, innerPageSize, hasPagination, paginationServerSide]);\n\n useEffect(() => {\n if (pageSizeProp === undefined) return;\n setPageSize(pageSizeProp);\n }, [pageSizeProp]);\n\n useEffect(() => {\n if (selectedValuesProp.length > 0) setSelectedValues(selectedValuesProp);\n }, [selectedValuesProp]);\n\n useEffect(() => {\n setSelectedView(selectedViewProp);\n }, [selectedViewProp]);\n\n useEffect(() => {\n setSelectedSort({ sortId: sortOptionId, sortFunc: undefined });\n }, [sortOptionId]);\n\n useEffect(() => {\n setSearchString(searchStringProp);\n }, [searchStringProp]);\n\n const changeView = (_event, viewIndex) => {\n setSelectedView(viewIndex);\n };\n\n const changePageValues = useCallback(\n (returnedPageValues, p = page) => {\n setPageValues(\n getPaginationData(hasPagination, paginationServerSide, returnedPageValues, pageSize, p)\n );\n },\n [hasPagination, paginationServerSide, pageSize, page]\n );\n\n // TODO: we must revisit this section in the future. Right now, sorting the results will\n // reset the array of values which means that we can't sort a filtered result set.\n useEffect(() => {\n if (!(selectedSort?.sortId && selectedSort?.sortFunc)) return;\n const sortedValues = [...valuesProp].sort(selectedSort.sortFunc);\n setValues(sortedValues);\n changePageValues(sortedValues);\n }, [selectedSort, valuesProp, changePageValues]);\n\n const setSearchResults = (results, value) => {\n setValues(results);\n setPage(0);\n setSearchString(value);\n changePageValues(results, 0);\n };\n\n /**\n * Show the search component.\n *\n * @returns {*}\n */\n const renderSearch = () => {\n const { inputLabel, placeholder } = labels;\n return (\n <div className={classes.searchBoxContainer}>\n <Search\n id={id}\n searchString={searchString}\n values={valuesProp}\n metadata={configuration.metadata}\n onFilter={setSearchResults}\n onSearch={onSearch}\n labels={{ inputLabel, placeholder }}\n {...searchProps}\n />\n </div>\n );\n };\n\n const onSort = (sortFunc, sortId) => {\n setSelectedSort({ sortId, sortFunc });\n };\n\n const renderSort = () => {\n return (\n <div className={classes.sortContainer}>\n <Sort\n id={id}\n aria-label={labels?.sortBy}\n metadata={configuration?.metadata}\n selected={selectedSort?.sortId}\n onSelection={onSort}\n onSortChange={onSortChange}\n disablePortal={disablePortal}\n {...sortProps}\n />\n </div>\n );\n };\n\n const paginationOnPageChange = (newPage) => {\n const pageData = values.slice(pageSize * newPage, pageSize * (newPage + 1));\n\n setPage(newPage);\n setPageValues(pageData);\n };\n\n const paginationOnPageSizeChange = (newPageSize) => {\n const pageData = values.slice(newPageSize * page, newPageSize * (page + 1));\n\n setPageSize(newPageSize);\n setPageValues(pageData);\n };\n\n const renderPagination = () => {\n if (values.length === 0) return null;\n\n const numPages = paginationServerSide ? pages : Math.ceil(values.length / pageSize);\n const onPageChangeInternal = paginationServerSide ? onPageChange : paginationOnPageChange;\n\n const onPageSizeChangeInternal = paginationServerSide\n ? onPageSizeChange\n : paginationOnPageSizeChange;\n\n return (\n <HvPagination\n id={setId(id, \"pagination\")}\n classes={{\n root: classes.pagination,\n }}\n pages={numPages}\n page={page}\n canPrevious={page > 0}\n canNext={page < numPages - 1}\n pageSize={pageSize}\n pageSizeOptions={pageSizeOptions}\n onPageChange={onPageChangeInternal}\n onPageSizeChange={onPageSizeChangeInternal}\n {...paginationProps}\n />\n );\n };\n\n const handleSelectPage = (e, checked = false) => {\n const selection = pageValues.map((v) => v.id);\n\n setSelectedValues(checked ? selection : []);\n onSelection?.(e, checked ? selection : []);\n };\n\n const handleSelectAll = (e) => {\n const allSelected = selectedValues.length === values.length;\n const selection = values.map((v) => v.id);\n\n setSelectedValues(allSelected ? [] : selection);\n onSelection?.(e, allSelected ? [] : selection);\n };\n\n const innerOnSelection = (onSelectionFn) => (event) => {\n const valueId = event.target.value;\n\n const list =\n (event.target.checked && [...selectedValues, valueId]) ||\n (selectedValues.includes(valueId) && selectedValues.filter((item) => item !== valueId)) ||\n [];\n\n setSelectedValues(list);\n onSelectionFn?.(event, list);\n };\n\n const propsFillerManager = (source, target, propObj) => {\n Object.keys(propObj).forEach((key) => {\n // eslint-disable-next-line no-param-reassign\n if (source.props[key] == null) target[key] = propObj[key];\n });\n };\n\n const fillChildProp = (child) => {\n const childProps = {\n ...(configuration?.viewConfiguration || child?.props?.viewConfiguration),\n };\n\n propsFillerManager(child, childProps, {\n onSelection: innerOnSelection(onSelection),\n isSelectable,\n actions,\n maxVisibleActions,\n actionsCallback,\n });\n\n return childProps;\n };\n\n /**\n * Render the view.\n *\n * @returns {*}\n */\n const renderView = () => {\n const view = Array.isArray(children) ? children[selectedView] : children;\n\n if (values.length === 0) return emptyComponent;\n\n return React.cloneElement(view, {\n values: pageValues,\n selectedValues,\n viewConfiguration: fillChildProp(view),\n });\n };\n\n const showButtons = children.length > 1;\n const showSort = find(configuration.metadata, (element) => element.sortable);\n const showSearch = find(configuration.metadata, (element) => element.searchable);\n const showRightControls = showButtons || showSort;\n\n const sortJustify = currentBreakpoint === \"xs\" ? \"space-between\" : \"flex-start\";\n const justifyControls = showSort ? sortJustify : \"flex-end\";\n const align = !showSearch ? \"flex-end\" : \"space-between\";\n\n return (\n <div id={id} className={clsx(className, classes.root)}>\n {FilterPlaceholder && <FilterPlaceholder onSelection={changePageValues} />}\n <HvGrid container>\n <HvGrid item xs={12}>\n <HvGrid container justifyContent={align}>\n {showSearch && (\n <HvGrid xs={12} sm={6} md={4} lg={3} xl={3} item>\n {renderSearch()}\n </HvGrid>\n )}\n {showRightControls && (\n <HvGrid xs={12} sm={6} md={4} lg={3} xl={3} item>\n <HvGrid\n className={classes.rightControls}\n justifyContent={justifyControls}\n container\n alignItems=\"flex-end\"\n spacing={0}\n >\n {showSort && (\n <HvGrid className={classes.sortContainer} item xs>\n {renderSort()}\n </HvGrid>\n )}\n {showButtons && (\n <HvGrid item>\n <div className={classes.multiButtons}>\n <MultiButton\n id={id}\n views={multibuttonProps}\n selectedView={selectedView}\n changeView={changeView}\n onViewChange={onViewChange}\n />\n </div>\n </HvGrid>\n )}\n </HvGrid>\n </HvGrid>\n )}\n </HvGrid>\n <HvGrid container>\n <HvGrid item xs={12}>\n {hasBulkActions && (\n <HvBulkActions\n classes={{ root: classes.bulkActions }}\n numTotal={values.length}\n numSelected={selectedValues.length}\n onSelectAll={handleSelectPage}\n onSelectAllPages={handleSelectAll}\n showSelectAllPages\n maxVisibleActions={maxVisibleActions}\n />\n )}\n </HvGrid>\n </HvGrid>\n <HvGrid container className={classes.viewContainer}>\n <HvGrid item xs={12}>\n {renderView()}\n </HvGrid>\n </HvGrid>\n {hasPagination && (\n <HvGrid container>\n <HvGrid item xs={12}>\n {renderPagination()}\n </HvGrid>\n </HvGrid>\n )}\n </HvGrid>\n </HvGrid>\n </div>\n );\n};\n\nHvAssetInventory.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the root component.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the controls container.\n */\n controlsContainer: PropTypes.string,\n /**\n * Styles applied to the search container.\n */\n search: PropTypes.string,\n /**\n * Styles applied to the right controls container.\n */\n rightControls: PropTypes.string,\n /**\n * Styles applied to the multiButtons.\n */\n multiButtons: PropTypes.string,\n /**\n * Styles applied to the bulkActions.\n */\n bulkActions: PropTypes.string,\n /**\n * Styles applied to the view container.\n */\n viewContainer: PropTypes.string,\n /**\n * Styles applied to the search box container.\n */\n searchBoxContainer: PropTypes.string,\n /**\n * Styles applied to the sort container.\n */\n sortContainer: PropTypes.string,\n /**\n * Styles applied to the pagination component.\n */\n pagination: PropTypes.string,\n }).isRequired,\n /**\n * Views components.\n */\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n /**\n * Data passed to the component.\n */\n values: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n })\n ).isRequired,\n /**\n * Labels.\n */\n labels: PropTypes.shape({\n /**\n * Sort label.\n */\n sortBy: PropTypes.string,\n /**\n * the label on top of the search box.\n */\n inputLabel: PropTypes.string,\n /**\n * the placeholder value of the search box.\n */\n placeholder: PropTypes.string,\n }),\n /**\n * Contains the metadata for the values and the necessary configuration for the views,\n * check the views for the specific view configuration.\n */\n configuration: PropTypes.shape({\n metadata: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n title: PropTypes.string,\n accessor: PropTypes.string,\n cellType: PropTypes.oneOf([\"alpha-numeric\", \"numeric\", \"date\", \"node\"]),\n sortable: PropTypes.bool,\n sortFunction: PropTypes.func,\n searchable: PropTypes.bool,\n searchFunction: PropTypes.func,\n })\n ).isRequired,\n viewConfiguration: PropTypes.instanceOf(Object),\n }).isRequired,\n /**\n * Callback evoked in the selection of the card. Receives the event and the current selection of the asset inventory\n */\n onSelection: PropTypes.func,\n /**\n * List of actions to be passed to the views.\n */\n actions: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n icon: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n disabled: PropTypes.bool,\n })\n ),\n /**\n * The callback function ran when an action is triggered, receiving `action` as param\n */\n actionsCallback: PropTypes.func,\n /**\n * The number of maximum visible actions before they're collapsed into a `DropDownMenu`.\n */\n maxVisibleActions: PropTypes.number,\n /**\n * Extra filters\n */\n FilterPlaceholder: PropTypes.element,\n /**\n * Indicates if the views are selectable.\n */\n isSelectable: PropTypes.bool,\n /**\n * Values selected. The list can be maintain internally or it can be passed (overwriting the internal).\n */\n selectedValues: PropTypes.arrayOf(PropTypes.string),\n /**\n * The selected view index.\n */\n selectedView: PropTypes.number,\n /**\n * Defines whether the Asset Inventory includes the bulk actions component.\n */\n hasBulkActions: PropTypes.bool,\n /**\n * Defines whether the Asset Inventory includes the pagination component.\n */\n hasPagination: PropTypes.bool,\n /**\n * Enable or disable the server side pagination mechanism\n */\n paginationServerSide: PropTypes.bool,\n /**\n * The array of possible page sizes for the dropdown.\n */\n pageSizeOptions: PropTypes.arrayOf(PropTypes.number),\n /**\n * Page size.\n */\n pageSize: PropTypes.number,\n /**\n * The currently selected page (0-indexed).\n */\n page: PropTypes.number,\n /**\n * The number of pages the component has.\n */\n pages: PropTypes.number,\n /**\n * Page change callback.\n */\n onPageChange: PropTypes.func,\n /**\n * Page size change callback.\n */\n onPageSizeChange: PropTypes.func,\n /**\n * Search callback.\n */\n onSearch: PropTypes.func,\n /**\n * Sort callback.\n */\n onSortChange: PropTypes.func,\n /**\n * View change callback.\n */\n onViewChange: PropTypes.func,\n /**\n * Visual indication of the sort applied. The id is given by the metadata.id+Asc or metadata.id+Desc.\n */\n sortOptionId: PropTypes.string,\n /**\n * Visual indicator of the search string used.\n */\n searchString: PropTypes.string,\n /**\n * Disable portal on the Sort dropdown\n */\n disablePortal: PropTypes.bool,\n /**\n * Other props passed to the searchbox.\n */\n searchProps: PropTypes.instanceOf(Object),\n /**\n * Others props passed to the Sort. If you want to control the aria-label\n * use the labels.sortBy, as it is mapped directly to the aria-label.\n */\n sortProps: PropTypes.instanceOf(Object),\n /**\n * Array of others prop passed to the created button. Each element must include the id of the view\n * and other props to pe passed to each button.\n */\n multibuttonProps: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n icon: PropTypes.node,\n })\n ),\n /**\n * Extra properties passed to the pagination.\n */\n paginationProps: PropTypes.instanceOf(Object),\n /**\n * Component to the present when no data is available.\n */\n emptyComponent: PropTypes.node,\n};\n\nexport default withStyles(styles, { name: \"HvAssetInventory\" })(HvAssetInventory);\n"],"file":"AssetInventory.js"}
|
|
@@ -68,7 +68,8 @@ var CardView = function CardView(_ref) {
|
|
|
68
68
|
viewConfiguration = _ref$viewConfiguratio === void 0 ? DEFAULT_VIEW_CONFIGURATION : _ref$viewConfiguratio,
|
|
69
69
|
innerCardContent = _ref.innerCardContent,
|
|
70
70
|
metadata = _ref.metadata,
|
|
71
|
-
emptyComponent = _ref.emptyComponent,
|
|
71
|
+
_ref$emptyComponent = _ref.emptyComponent,
|
|
72
|
+
emptyComponent = _ref$emptyComponent === void 0 ? null : _ref$emptyComponent,
|
|
72
73
|
others = _objectWithoutProperties(_ref, _excluded);
|
|
73
74
|
|
|
74
75
|
var containerRef = useRef(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/AssetInventory/CardView/CardView.js"],"names":["React","useRef","PropTypes","withStyles","HvActionBar","HvActionsGeneric","HvCard","HvCardContent","HvGrid","useWidth","setId","Focus","styles","setActionsId","DEFAULT_VIEW_CONFIGURATION","onSelection","breakpoints","xs","sm","md","lg","xl","actions","CardRenderChooser","viewConfiguration","render","cardContent","metadata","cardProps","data","isSelectable","maxVisibleActions","actionsCallback","id","CardView","className","classes","values","selectedValues","renderer","innerCardContent","emptyComponent","others","containerRef","currentBreakpoint","renderCard","cardJump","renderCards","map","value","index","checked","indexOf","hasValues","length","root","elements","sizeProps","propTypes","string","shape","isRequired","arrayOf","title","accessor","cellType","oneOf","sortable","bool","sortFunction","func","searchable","searchFunction","instanceOf","Array","node","label","icon","oneOfType","disabled","number","name"],"mappings":"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","sourcesContent":["import React, { useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport {\n HvActionBar,\n HvActionsGeneric,\n HvCard,\n HvCardContent,\n HvGrid,\n useWidth,\n setId,\n} from \"../..\";\nimport Focus from \"../../Focus\";\nimport styles from \"./styles\";\nimport setActionsId from \"../setActionsId\";\n\nconst DEFAULT_VIEW_CONFIGURATION = {\n onSelection: null,\n breakpoints: {\n xs: false,\n sm: false,\n md: false,\n lg: false,\n xl: false,\n },\n actions: null,\n};\n\nconst CardRenderChooser =\n (viewConfiguration, render, cardContent, metadata, cardProps) => (data) => {\n const { onSelection, isSelectable, maxVisibleActions, actionsCallback } = viewConfiguration;\n const actions = setActionsId(viewConfiguration.actions, data.id);\n\n return render ? (\n render(data, { ...viewConfiguration, actions }, metadata, cardProps)\n ) : (\n <HvCard onChange={onSelection} selectable={isSelectable} {...data} {...cardProps}>\n <HvCardContent>{cardContent?.(data)}</HvCardContent>\n {actions && (\n <HvActionBar>\n <HvActionsGeneric\n actions={actions}\n actionsCallback={actionsCallback}\n maxVisibleActions={maxVisibleActions}\n />\n </HvActionBar>\n )}\n </HvCard>\n );\n };\n\nconst CardView = ({\n id = \"\",\n className,\n classes,\n values,\n selectedValues,\n renderer,\n viewConfiguration = DEFAULT_VIEW_CONFIGURATION,\n innerCardContent,\n metadata,\n emptyComponent,\n ...others\n}) => {\n const containerRef = useRef(null);\n const currentBreakpoint = useWidth();\n\n // If no custom render is passed, the render uses the standard card implementation\n const renderCard = CardRenderChooser(\n viewConfiguration,\n renderer,\n innerCardContent,\n metadata,\n others\n );\n\n const { breakpoints } = viewConfiguration;\n\n const cardJump = () =>\n breakpoints[currentBreakpoint] === false ? 1 : 12 / breakpoints[currentBreakpoint];\n\n /**\n * Render of the cards for each value.\n */\n const renderCards = () => {\n return values.map((value, index) => {\n // eslint-disable-next-line no-param-reassign\n value.checked = !!(selectedValues && selectedValues.indexOf(value.id) > -1);\n\n return (\n <HvGrid id={setId(value.id, \"grid\")} key={value.id} item {...breakpoints}>\n <Focus\n rootRef={containerRef}\n key={value.id}\n strategy=\"grid\"\n filterClass=\"grid\"\n navigationJump={cardJump()}\n focusDisabled={false}\n >\n <div key={value.id} tabIndex={index === 0 ? 0 : -1}>\n {renderCard(value)}\n </div>\n </Focus>\n </HvGrid>\n );\n });\n };\n\n const hasValues = values.length > 0;\n\n return hasValues ? (\n <div className={classes.root} ref={containerRef}>\n <div className={classes.elements}>\n <HvGrid\n className={className}\n id={id}\n container\n justifyContent=\"flex-start\"\n alignItems=\"flex-start\"\n >\n {renderCards()}\n </HvGrid>\n </div>\n </div>\n ) : (\n emptyComponent\n );\n};\n\nconst sizeProps = [true, false, \"auto\", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\n\nCardView.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the root.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the component that contains the elements class.\n */\n elements: PropTypes.string,\n }).isRequired,\n /**\n * Metadata associated with the values.\n */\n metadata: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n title: PropTypes.string,\n accessor: PropTypes.string,\n cellType: PropTypes.oneOf([\"alpha-numeric\", \"numeric\", \"date\", \"node\"]),\n sortable: PropTypes.bool,\n sortFunction: PropTypes.func,\n searchable: PropTypes.bool,\n searchFunction: PropTypes.func,\n })\n ),\n /**\n * Values to be passed to the card render.\n */\n values: PropTypes.instanceOf(Array).isRequired,\n /**\n * Selected values.\n */\n selectedValues: PropTypes.arrayOf(PropTypes.string),\n /**\n * Custom render for the cards.\n */\n renderer: PropTypes.func,\n /**\n * innerCardContent to be passed to the standard render.\n */\n innerCardContent: PropTypes.func,\n /**\n * Component to the present when no data is available.\n */\n emptyComponent: PropTypes.node,\n /**\n * Configuration settings for the view.\n */\n viewConfiguration: PropTypes.shape({\n /**\n * Callback evoked in the selection of the card.\n */\n onSelection: PropTypes.func,\n /**\n * Defines if the view allows selections.\n */\n isSelectable: PropTypes.bool,\n /**\n * List of actions to be passed to the cards.\n */\n actions: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n icon: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n disabled: PropTypes.bool,\n })\n ),\n /**\n * The callback function ran when an action is triggered, receiving `action` as param\n */\n actionsCallback: PropTypes.func,\n /**\n * The number of maximum visible actions before they're collapsed into a `DropDownMenu`.\n */\n maxVisibleActions: PropTypes.number,\n /**\n * Defines the number of columns the component is going to use. Check the\n * Grid component for possible values\n */\n breakpoints: PropTypes.shape({\n xs: PropTypes.oneOf(sizeProps),\n sm: PropTypes.oneOf(sizeProps),\n md: PropTypes.oneOf(sizeProps),\n lg: PropTypes.oneOf(sizeProps),\n xl: PropTypes.oneOf(sizeProps),\n }),\n }),\n};\n\nexport default withStyles(styles, { name: \"HvCardView\" })(CardView);\n"],"file":"CardView.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/AssetInventory/CardView/CardView.js"],"names":["React","useRef","PropTypes","withStyles","HvActionBar","HvActionsGeneric","HvCard","HvCardContent","HvGrid","useWidth","setId","Focus","styles","setActionsId","DEFAULT_VIEW_CONFIGURATION","onSelection","breakpoints","xs","sm","md","lg","xl","actions","CardRenderChooser","viewConfiguration","render","cardContent","metadata","cardProps","data","isSelectable","maxVisibleActions","actionsCallback","id","CardView","className","classes","values","selectedValues","renderer","innerCardContent","emptyComponent","others","containerRef","currentBreakpoint","renderCard","cardJump","renderCards","map","value","index","checked","indexOf","hasValues","length","root","elements","sizeProps","propTypes","string","shape","isRequired","arrayOf","title","accessor","cellType","oneOf","sortable","bool","sortFunction","func","searchable","searchFunction","instanceOf","Array","node","label","icon","oneOfType","disabled","number","name"],"mappings":"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","sourcesContent":["import React, { useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport {\n HvActionBar,\n HvActionsGeneric,\n HvCard,\n HvCardContent,\n HvGrid,\n useWidth,\n setId,\n} from \"../..\";\nimport Focus from \"../../Focus\";\nimport styles from \"./styles\";\nimport setActionsId from \"../setActionsId\";\n\nconst DEFAULT_VIEW_CONFIGURATION = {\n onSelection: null,\n breakpoints: {\n xs: false,\n sm: false,\n md: false,\n lg: false,\n xl: false,\n },\n actions: null,\n};\n\nconst CardRenderChooser =\n (viewConfiguration, render, cardContent, metadata, cardProps) => (data) => {\n const { onSelection, isSelectable, maxVisibleActions, actionsCallback } = viewConfiguration;\n const actions = setActionsId(viewConfiguration.actions, data.id);\n\n return render ? (\n render(data, { ...viewConfiguration, actions }, metadata, cardProps)\n ) : (\n <HvCard onChange={onSelection} selectable={isSelectable} {...data} {...cardProps}>\n <HvCardContent>{cardContent?.(data)}</HvCardContent>\n {actions && (\n <HvActionBar>\n <HvActionsGeneric\n actions={actions}\n actionsCallback={actionsCallback}\n maxVisibleActions={maxVisibleActions}\n />\n </HvActionBar>\n )}\n </HvCard>\n );\n };\n\nconst CardView = ({\n id = \"\",\n className,\n classes,\n values,\n selectedValues,\n renderer,\n viewConfiguration = DEFAULT_VIEW_CONFIGURATION,\n innerCardContent,\n metadata,\n emptyComponent = null,\n ...others\n}) => {\n const containerRef = useRef(null);\n const currentBreakpoint = useWidth();\n\n // If no custom render is passed, the render uses the standard card implementation\n const renderCard = CardRenderChooser(\n viewConfiguration,\n renderer,\n innerCardContent,\n metadata,\n others\n );\n\n const { breakpoints } = viewConfiguration;\n\n const cardJump = () =>\n breakpoints[currentBreakpoint] === false ? 1 : 12 / breakpoints[currentBreakpoint];\n\n /**\n * Render of the cards for each value.\n */\n const renderCards = () => {\n return values.map((value, index) => {\n // eslint-disable-next-line no-param-reassign\n value.checked = !!(selectedValues && selectedValues.indexOf(value.id) > -1);\n\n return (\n <HvGrid id={setId(value.id, \"grid\")} key={value.id} item {...breakpoints}>\n <Focus\n rootRef={containerRef}\n key={value.id}\n strategy=\"grid\"\n filterClass=\"grid\"\n navigationJump={cardJump()}\n focusDisabled={false}\n >\n <div key={value.id} tabIndex={index === 0 ? 0 : -1}>\n {renderCard(value)}\n </div>\n </Focus>\n </HvGrid>\n );\n });\n };\n\n const hasValues = values.length > 0;\n\n return hasValues ? (\n <div className={classes.root} ref={containerRef}>\n <div className={classes.elements}>\n <HvGrid\n className={className}\n id={id}\n container\n justifyContent=\"flex-start\"\n alignItems=\"flex-start\"\n >\n {renderCards()}\n </HvGrid>\n </div>\n </div>\n ) : (\n emptyComponent\n );\n};\n\nconst sizeProps = [true, false, \"auto\", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\n\nCardView.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the root.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the component that contains the elements class.\n */\n elements: PropTypes.string,\n }).isRequired,\n /**\n * Metadata associated with the values.\n */\n metadata: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n title: PropTypes.string,\n accessor: PropTypes.string,\n cellType: PropTypes.oneOf([\"alpha-numeric\", \"numeric\", \"date\", \"node\"]),\n sortable: PropTypes.bool,\n sortFunction: PropTypes.func,\n searchable: PropTypes.bool,\n searchFunction: PropTypes.func,\n })\n ),\n /**\n * Values to be passed to the card render.\n */\n values: PropTypes.instanceOf(Array).isRequired,\n /**\n * Selected values.\n */\n selectedValues: PropTypes.arrayOf(PropTypes.string),\n /**\n * Custom render for the cards.\n */\n renderer: PropTypes.func,\n /**\n * innerCardContent to be passed to the standard render.\n */\n innerCardContent: PropTypes.func,\n /**\n * Component to the present when no data is available.\n */\n emptyComponent: PropTypes.node,\n /**\n * Configuration settings for the view.\n */\n viewConfiguration: PropTypes.shape({\n /**\n * Callback evoked in the selection of the card.\n */\n onSelection: PropTypes.func,\n /**\n * Defines if the view allows selections.\n */\n isSelectable: PropTypes.bool,\n /**\n * List of actions to be passed to the cards.\n */\n actions: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n icon: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n disabled: PropTypes.bool,\n })\n ),\n /**\n * The callback function ran when an action is triggered, receiving `action` as param\n */\n actionsCallback: PropTypes.func,\n /**\n * The number of maximum visible actions before they're collapsed into a `DropDownMenu`.\n */\n maxVisibleActions: PropTypes.number,\n /**\n * Defines the number of columns the component is going to use. Check the\n * Grid component for possible values\n */\n breakpoints: PropTypes.shape({\n xs: PropTypes.oneOf(sizeProps),\n sm: PropTypes.oneOf(sizeProps),\n md: PropTypes.oneOf(sizeProps),\n lg: PropTypes.oneOf(sizeProps),\n xl: PropTypes.oneOf(sizeProps),\n }),\n }),\n};\n\nexport default withStyles(styles, { name: \"HvCardView\" })(CardView);\n"],"file":"CardView.js"}
|
|
@@ -15,6 +15,7 @@ export var applyLayoutDefaults = function applyLayoutDefaults(inputLayout, stack
|
|
|
15
15
|
var layout = inputLayout === undefined ? {} : clone(inputLayout);
|
|
16
16
|
setterIfNil(layout, "bargap", 0.25);
|
|
17
17
|
setterIfNil(layout, "bargroupgap", 0.25);
|
|
18
|
+
setterIfNil(layout, "hovermode", "closest");
|
|
18
19
|
if (stack) setterIfNil(layout, "barmode", "stack");
|
|
19
20
|
setterIfNil(layout, "yaxis", {});
|
|
20
21
|
setterIfNil(layout, "xaxis", {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Barchart/barchartPlotlyOverrides.js"],"names":["clone","setterIfNil","object","property","value","applyLayoutDefaults","inputLayout","stack","isHorizontal","layout","undefined","yaxis","xaxis","applyDataDefaults","inputData","data","forEach","trace"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,kBAAlB;;AAEA,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,MAAD,EAASC,QAAT,EAAmBC,KAAnB,EAA6B;AAC/C;AACAF,EAAAA,MAAM,CAACC,QAAD,CAAN,GAAmBD,MAAM,CAACC,QAAD,CAAN,IAAoBC,KAAvC;AACD,CAHD;AAKA;AACA;AACA;;;AACA,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,WAAD,EAAcC,KAAd,EAAqBC,YAArB,EAAsC;AACvE,MAAMC,MAAM,GAAGH,WAAW,KAAKI,SAAhB,GAA4B,EAA5B,GAAiCV,KAAK,CAACM,WAAD,CAArD;AACAL,EAAAA,WAAW,CAACQ,MAAD,EAAS,QAAT,EAAmB,IAAnB,CAAX;AACAR,EAAAA,WAAW,CAACQ,MAAD,EAAS,aAAT,EAAwB,IAAxB,CAAX;AACA,MAAIF,KAAJ,EAAWN,WAAW,CAACQ,MAAD,EAAS,SAAT,EAAoB,OAApB,CAAX;AAEXR,EAAAA,WAAW,CAACQ,MAAD,EAAS,OAAT,EAAkB,EAAlB,CAAX;AACAR,EAAAA,WAAW,CAACQ,MAAD,EAAS,OAAT,EAAkB,EAAlB,CAAX;;AAEA,MAAID,YAAJ,EAAkB;AAChBP,IAAAA,WAAW,CAACQ,MAAM,CAACE,KAAR,EAAe,UAAf,EAA2B,IAA3B,CAAX;AACAV,IAAAA,WAAW,CAACQ,MAAM,CAACG,KAAR,EAAe,UAAf,EAA2B,KAA3B,CAAX;AACD,GAHD,MAGO;AACLX,IAAAA,WAAW,CAACQ,MAAM,CAACE,KAAR,EAAe,UAAf,EAA2B,KAA3B,CAAX;AACD;;AAED,SAAOF,MAAP;AACD,
|
|
1
|
+
{"version":3,"sources":["../../../src/Barchart/barchartPlotlyOverrides.js"],"names":["clone","setterIfNil","object","property","value","applyLayoutDefaults","inputLayout","stack","isHorizontal","layout","undefined","yaxis","xaxis","applyDataDefaults","inputData","data","forEach","trace"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,kBAAlB;;AAEA,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,MAAD,EAASC,QAAT,EAAmBC,KAAnB,EAA6B;AAC/C;AACAF,EAAAA,MAAM,CAACC,QAAD,CAAN,GAAmBD,MAAM,CAACC,QAAD,CAAN,IAAoBC,KAAvC;AACD,CAHD;AAKA;AACA;AACA;;;AACA,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,WAAD,EAAcC,KAAd,EAAqBC,YAArB,EAAsC;AACvE,MAAMC,MAAM,GAAGH,WAAW,KAAKI,SAAhB,GAA4B,EAA5B,GAAiCV,KAAK,CAACM,WAAD,CAArD;AACAL,EAAAA,WAAW,CAACQ,MAAD,EAAS,QAAT,EAAmB,IAAnB,CAAX;AACAR,EAAAA,WAAW,CAACQ,MAAD,EAAS,aAAT,EAAwB,IAAxB,CAAX;AACAR,EAAAA,WAAW,CAACQ,MAAD,EAAS,WAAT,EAAsB,SAAtB,CAAX;AACA,MAAIF,KAAJ,EAAWN,WAAW,CAACQ,MAAD,EAAS,SAAT,EAAoB,OAApB,CAAX;AAEXR,EAAAA,WAAW,CAACQ,MAAD,EAAS,OAAT,EAAkB,EAAlB,CAAX;AACAR,EAAAA,WAAW,CAACQ,MAAD,EAAS,OAAT,EAAkB,EAAlB,CAAX;;AAEA,MAAID,YAAJ,EAAkB;AAChBP,IAAAA,WAAW,CAACQ,MAAM,CAACE,KAAR,EAAe,UAAf,EAA2B,IAA3B,CAAX;AACAV,IAAAA,WAAW,CAACQ,MAAM,CAACG,KAAR,EAAe,UAAf,EAA2B,KAA3B,CAAX;AACD,GAHD,MAGO;AACLX,IAAAA,WAAW,CAACQ,MAAM,CAACE,KAAR,EAAe,UAAf,EAA2B,KAA3B,CAAX;AACD;;AAED,SAAOF,MAAP;AACD,CAlBM;AAoBP,OAAO,IAAMI,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,SAAD,EAAYN,YAAZ,EAA6B;AAC5D,MAAMO,IAAI,GAAGD,SAAb;AAEAC,EAAAA,IAAI,CAACC,OAAL,CAAa,UAACC,KAAD,EAAW;AACtBhB,IAAAA,WAAW,CAACgB,KAAD,EAAQ,MAAR,EAAgB,KAAhB,CAAX;AACAhB,IAAAA,WAAW,CAACgB,KAAD,EAAQ,WAAR,EAAqB,MAArB,CAAX;AACA,QAAIT,YAAJ,EAAkBP,WAAW,CAACgB,KAAD,EAAQ,aAAR,EAAuB,GAAvB,CAAX;AACnB,GAJD;AAMA,SAAOF,IAAP;AACD,CAVM","sourcesContent":["import clone from \"lodash/cloneDeep\";\n\nconst setterIfNil = (object, property, value) => {\n // eslint-disable-next-line no-param-reassign\n object[property] = object[property] || value;\n};\n\n/**\n * Auxiliary functions to set the layout in order to follow the DS guideline.\n */\nexport const applyLayoutDefaults = (inputLayout, stack, isHorizontal) => {\n const layout = inputLayout === undefined ? {} : clone(inputLayout);\n setterIfNil(layout, \"bargap\", 0.25);\n setterIfNil(layout, \"bargroupgap\", 0.25);\n setterIfNil(layout, \"hovermode\", \"closest\");\n if (stack) setterIfNil(layout, \"barmode\", \"stack\");\n\n setterIfNil(layout, \"yaxis\", {});\n setterIfNil(layout, \"xaxis\", {});\n\n if (isHorizontal) {\n setterIfNil(layout.yaxis, \"showline\", true);\n setterIfNil(layout.xaxis, \"showline\", false);\n } else {\n setterIfNil(layout.yaxis, \"showline\", false);\n }\n\n return layout;\n};\n\nexport const applyDataDefaults = (inputData, isHorizontal) => {\n const data = inputData;\n\n data.forEach((trace) => {\n setterIfNil(trace, \"type\", \"bar\");\n setterIfNil(trace, \"hoverinfo\", \"none\");\n if (isHorizontal) setterIfNil(trace, \"orientation\", \"h\");\n });\n\n return data;\n};\n"],"file":"barchartPlotlyOverrides.js"}
|
|
@@ -18,7 +18,7 @@ export type HvTagsInputClassKey =
|
|
|
18
18
|
| "error";
|
|
19
19
|
|
|
20
20
|
export interface HvTagsInputProps
|
|
21
|
-
extends StandardProps<HvInputProps, HvTagsInputClassKey, "onChange" | "onBlur"> {
|
|
21
|
+
extends StandardProps<HvInputProps, HvTagsInputClassKey, "onChange" | "onBlur" | "onFocus"> {
|
|
22
22
|
/**
|
|
23
23
|
* The label of the form element.
|
|
24
24
|
*
|
|
@@ -140,6 +140,22 @@ export interface HvTagsInputProps
|
|
|
140
140
|
value: HvTagProps[]
|
|
141
141
|
) => void;
|
|
142
142
|
|
|
143
|
+
/**
|
|
144
|
+
* The function that will be executed when the input is blurred.
|
|
145
|
+
*/
|
|
146
|
+
onBlur?: (
|
|
147
|
+
event: React.FocusEvent<HTMLInputElement>,
|
|
148
|
+
value: string
|
|
149
|
+
) => void;
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* The function that will be executed when the input is focused.
|
|
153
|
+
*/
|
|
154
|
+
onFocus?: (
|
|
155
|
+
event: React.FocusEvent<HTMLInputElement>,
|
|
156
|
+
value: string
|
|
157
|
+
) => void;
|
|
158
|
+
|
|
143
159
|
/**
|
|
144
160
|
* The status of the form element.
|
|
145
161
|
*/
|
|
@@ -9,7 +9,7 @@ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
|
9
9
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
10
10
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
11
11
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
12
|
-
var _excluded = ["classes", "className", "id", "name", "value", "defaultValue", "readOnly", "disabled", "required", "label", "aria-label", "aria-labelledby", "description", "aria-describedby", "onChange", "onAdd", "onDelete", "placeholder", "hideCounter", "middleCountLabel", "maxTagsQuantity", "autoFocus", "resizable", "inputProps", "countCharProps", "multiline", "status", "statusMessage", "validationMessages"],
|
|
12
|
+
var _excluded = ["classes", "className", "id", "name", "value", "defaultValue", "readOnly", "disabled", "required", "label", "aria-label", "aria-labelledby", "description", "aria-describedby", "onChange", "onAdd", "onDelete", "onBlur", "onFocus", "placeholder", "hideCounter", "middleCountLabel", "maxTagsQuantity", "autoFocus", "resizable", "inputProps", "countCharProps", "multiline", "status", "statusMessage", "validationMessages"],
|
|
13
13
|
_excluded2 = ["label", "type"];
|
|
14
14
|
|
|
15
15
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -58,6 +58,8 @@ var HvTagsInput = function HvTagsInput(props) {
|
|
|
58
58
|
onChange = props.onChange,
|
|
59
59
|
onAdd = props.onAdd,
|
|
60
60
|
onDelete = props.onDelete,
|
|
61
|
+
onBlur = props.onBlur,
|
|
62
|
+
onFocus = props.onFocus,
|
|
61
63
|
placeholder = props.placeholder,
|
|
62
64
|
_props$hideCounter = props.hideCounter,
|
|
63
65
|
hideCounter = _props$hideCounter === void 0 ? false : _props$hideCounter,
|
|
@@ -88,16 +90,6 @@ var HvTagsInput = function HvTagsInput(props) {
|
|
|
88
90
|
value = _useControlled2[0],
|
|
89
91
|
setValue = _useControlled2[1];
|
|
90
92
|
|
|
91
|
-
var _useState = useState(""),
|
|
92
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
93
|
-
tagInput = _useState2[0],
|
|
94
|
-
setTagInput = _useState2[1];
|
|
95
|
-
|
|
96
|
-
var _useState3 = useState(value.length),
|
|
97
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
98
|
-
tagCursorPos = _useState4[0],
|
|
99
|
-
setTagCursorPos = _useState4[1];
|
|
100
|
-
|
|
101
93
|
var _useControlled3 = useControlled(status, validationStates.standBy),
|
|
102
94
|
_useControlled4 = _slicedToArray(_useControlled3, 2),
|
|
103
95
|
validationState = _useControlled4[0],
|
|
@@ -108,18 +100,30 @@ var HvTagsInput = function HvTagsInput(props) {
|
|
|
108
100
|
validationMessage = _useControlled6[0],
|
|
109
101
|
setValidationMessage = _useControlled6[1];
|
|
110
102
|
|
|
103
|
+
var _useState = useState(""),
|
|
104
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
105
|
+
tagInput = _useState2[0],
|
|
106
|
+
setTagInput = _useState2[1];
|
|
107
|
+
|
|
108
|
+
var _useState3 = useState(value.length),
|
|
109
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
110
|
+
tagCursorPos = _useState4[0],
|
|
111
|
+
setTagCursorPos = _useState4[1];
|
|
112
|
+
|
|
111
113
|
var _useState5 = useState(true),
|
|
112
114
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
113
115
|
stateValid = _useState6[0],
|
|
114
116
|
setStateValid = _useState6[1];
|
|
115
117
|
|
|
118
|
+
var inputRef = useRef();
|
|
119
|
+
var containerRef = useRef();
|
|
120
|
+
var skipReset = useRef(false);
|
|
121
|
+
var blurTimeout = useRef();
|
|
116
122
|
var isTagSelected = tagCursorPos >= 0 && tagCursorPos < value.length;
|
|
117
123
|
var hasCounter = maxTagsQuantity != null && !hideCounter;
|
|
118
124
|
var isStateInvalid = useMemo(function () {
|
|
119
125
|
return hasCounter && value.length > maxTagsQuantity;
|
|
120
126
|
}, [hasCounter, maxTagsQuantity, value.length]);
|
|
121
|
-
var inputRef = useRef();
|
|
122
|
-
var containerRef = useRef();
|
|
123
127
|
var errorMessages = useMemo(function () {
|
|
124
128
|
return _objectSpread(_objectSpread({}, DEFAULT_ERROR_MESSAGES), validationMessages);
|
|
125
129
|
}, // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -135,6 +139,28 @@ var HvTagsInput = function HvTagsInput(props) {
|
|
|
135
139
|
setStateValid(true);
|
|
136
140
|
}
|
|
137
141
|
}, [errorMessages.maxCharError, maxTagsQuantity, setValidationMessage, setValidationState]);
|
|
142
|
+
/**
|
|
143
|
+
* Deletes a Tag from the array of tags and sets the new position for the tag cursor.
|
|
144
|
+
* Also executes the user provided onDelete and onChange events.
|
|
145
|
+
*
|
|
146
|
+
* @param {number} tagPos - the position at which to remove the tag
|
|
147
|
+
* @param {Event} event - the event associated with the delete
|
|
148
|
+
* @param {boolean} end - whether or not to set the cursor at the end of the array
|
|
149
|
+
*/
|
|
150
|
+
|
|
151
|
+
var deleteTag = useCallback(function (tagPos, event, end) {
|
|
152
|
+
var _inputRef$current;
|
|
153
|
+
|
|
154
|
+
var newTagsArr = [].concat(_toConsumableArray(value.slice(0, tagPos)), _toConsumableArray(value.slice(tagPos + 1)));
|
|
155
|
+
setValue(newTagsArr); // eslint-disable-next-line no-nested-ternary
|
|
156
|
+
|
|
157
|
+
setTagCursorPos(end ? newTagsArr.length : tagCursorPos > 0 ? tagCursorPos - 1 : 0);
|
|
158
|
+
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
|
|
159
|
+
performValidation(newTagsArr);
|
|
160
|
+
onDelete === null || onDelete === void 0 ? void 0 : onDelete(event, value[tagPos], tagPos);
|
|
161
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(event, newTagsArr);
|
|
162
|
+
skipReset.current = true;
|
|
163
|
+
}, [onChange, onDelete, performValidation, setValue, tagCursorPos, value]);
|
|
138
164
|
var canShowError = status !== undefined && status === "invalid" && statusMessage !== undefined || !stateValid;
|
|
139
165
|
/**
|
|
140
166
|
* Handler for the `onChange` event on the tag input
|
|
@@ -143,21 +169,11 @@ var HvTagsInput = function HvTagsInput(props) {
|
|
|
143
169
|
var onChangeHandler = useCallback(function (event, input) {
|
|
144
170
|
setTagInput(input);
|
|
145
171
|
}, []);
|
|
146
|
-
useEffect(function () {
|
|
147
|
-
// keep scroll focused on the input when the value changes
|
|
148
|
-
if (!multiline) {
|
|
149
|
-
var _containerRef$current, _containerRef$current2, _containerRef$current3;
|
|
150
|
-
|
|
151
|
-
var element = containerRef === null || containerRef === void 0 ? void 0 : (_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : _containerRef$current.children[value.length];
|
|
152
|
-
var offset = element === null || element === void 0 ? void 0 : element.offsetWidth;
|
|
153
|
-
containerRef === null || containerRef === void 0 ? void 0 : (_containerRef$current2 = containerRef.current) === null || _containerRef$current2 === void 0 ? void 0 : (_containerRef$current3 = _containerRef$current2.scrollBy) === null || _containerRef$current3 === void 0 ? void 0 : _containerRef$current3.call(_containerRef$current2, offset !== null && offset !== void 0 ? offset : 0, 0);
|
|
154
|
-
}
|
|
155
|
-
}, [multiline, value]);
|
|
156
172
|
useEffect(function () {
|
|
157
173
|
if (!multiline) {
|
|
158
|
-
var _containerRef$
|
|
174
|
+
var _containerRef$current;
|
|
159
175
|
|
|
160
|
-
var element = containerRef === null || containerRef === void 0 ? void 0 : (_containerRef$
|
|
176
|
+
var element = containerRef === null || containerRef === void 0 ? void 0 : (_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : _containerRef$current.children[tagCursorPos]; // this setTimeout is a workaround for Firefox not properly dealing
|
|
161
177
|
// with setting the scrollLeft value.
|
|
162
178
|
|
|
163
179
|
setTimeout(function () {
|
|
@@ -168,6 +184,14 @@ var HvTagsInput = function HvTagsInput(props) {
|
|
|
168
184
|
element === null || element === void 0 ? void 0 : element.focus();
|
|
169
185
|
}
|
|
170
186
|
}, [multiline, tagCursorPos]);
|
|
187
|
+
useEffect(function () {
|
|
188
|
+
if (!skipReset.current) {
|
|
189
|
+
setTagInput("");
|
|
190
|
+
setTagCursorPos(value.length);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
skipReset.current = false;
|
|
194
|
+
}, [value]);
|
|
171
195
|
/**
|
|
172
196
|
* Handler for the `onEnter` event on the tag input
|
|
173
197
|
*/
|
|
@@ -182,8 +206,6 @@ var HvTagsInput = function HvTagsInput(props) {
|
|
|
182
206
|
};
|
|
183
207
|
var newTagsArr = [].concat(_toConsumableArray(value), [newTag]);
|
|
184
208
|
setValue(newTagsArr);
|
|
185
|
-
setTagInput("");
|
|
186
|
-
setTagCursorPos(newTagsArr.length);
|
|
187
209
|
performValidation(newTagsArr);
|
|
188
210
|
onAdd === null || onAdd === void 0 ? void 0 : onAdd(event, newTag, newTagsArr.length - 1);
|
|
189
211
|
onChange === null || onChange === void 0 ? void 0 : onChange(event, newTagsArr);
|
|
@@ -206,15 +228,7 @@ var HvTagsInput = function HvTagsInput(props) {
|
|
|
206
228
|
|
|
207
229
|
case "Backspace":
|
|
208
230
|
if (isTagSelected) {
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
onDelete === null || onDelete === void 0 ? void 0 : onDelete(event, value[tagCursorPos], tagCursorPos);
|
|
212
|
-
var newTagsArr = [].concat(_toConsumableArray(value.slice(0, tagCursorPos)), _toConsumableArray(value.slice(tagCursorPos + 1)));
|
|
213
|
-
setValue(newTagsArr);
|
|
214
|
-
setTagCursorPos(tagCursorPos > 0 ? tagCursorPos - 1 : 0);
|
|
215
|
-
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
|
|
216
|
-
performValidation(newTagsArr);
|
|
217
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(event, newTagsArr);
|
|
231
|
+
deleteTag(tagCursorPos, event, false);
|
|
218
232
|
} else {
|
|
219
233
|
setTagCursorPos(value.length - 1);
|
|
220
234
|
}
|
|
@@ -223,17 +237,7 @@ var HvTagsInput = function HvTagsInput(props) {
|
|
|
223
237
|
|
|
224
238
|
case "Delete":
|
|
225
239
|
if (isTagSelected) {
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
onDelete === null || onDelete === void 0 ? void 0 : onDelete(event, value[tagCursorPos], tagCursorPos);
|
|
229
|
-
|
|
230
|
-
var _newTagsArr = [].concat(_toConsumableArray(value.slice(0, tagCursorPos)), _toConsumableArray(value.slice(tagCursorPos + 1)));
|
|
231
|
-
|
|
232
|
-
setValue(_newTagsArr);
|
|
233
|
-
setTagCursorPos(tagCursorPos > 0 ? tagCursorPos - 1 : 0);
|
|
234
|
-
(_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.focus();
|
|
235
|
-
performValidation(_newTagsArr);
|
|
236
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(event, _newTagsArr);
|
|
240
|
+
deleteTag(tagCursorPos, event, false);
|
|
237
241
|
}
|
|
238
242
|
|
|
239
243
|
break;
|
|
@@ -242,33 +246,38 @@ var HvTagsInput = function HvTagsInput(props) {
|
|
|
242
246
|
break;
|
|
243
247
|
}
|
|
244
248
|
}
|
|
245
|
-
}, [
|
|
249
|
+
}, [deleteTag, isTagSelected, tagCursorPos, tagInput, value.length]);
|
|
246
250
|
/**
|
|
247
251
|
* Handler for the `onDelete` event on the tag component
|
|
248
252
|
*/
|
|
249
253
|
|
|
250
254
|
var onDeleteTagHandler = useCallback(function (event, i) {
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
onDelete === null || onDelete === void 0 ? void 0 : onDelete(event, value[i], i);
|
|
254
|
-
var newTagsArr = [].concat(_toConsumableArray(value.slice(0, i)), _toConsumableArray(value.slice(i + 1)));
|
|
255
|
+
deleteTag(i, event, true);
|
|
255
256
|
setValidationState(validationStates.standBy);
|
|
256
|
-
|
|
257
|
-
setTagCursorPos(newTagsArr.length);
|
|
258
|
-
(_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.focus();
|
|
259
|
-
performValidation(newTagsArr);
|
|
260
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(event, newTagsArr);
|
|
261
|
-
}, [onDelete, value, setValidationState, setValue, performValidation, onChange]);
|
|
257
|
+
}, [deleteTag, setValidationState]);
|
|
262
258
|
/**
|
|
263
259
|
* Handler for the `onClick` event on the list container
|
|
264
260
|
*/
|
|
265
261
|
|
|
266
262
|
var onContainerClickHandler = useCallback(function () {
|
|
267
|
-
var _inputRef$
|
|
263
|
+
var _inputRef$current2;
|
|
268
264
|
|
|
269
|
-
(_inputRef$
|
|
265
|
+
(_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.focus();
|
|
266
|
+
clearTimeout(blurTimeout.current);
|
|
270
267
|
setTagCursorPos(value.length);
|
|
271
268
|
}, [value.length]);
|
|
269
|
+
|
|
270
|
+
var onBlurHandler = function onBlurHandler(evt) {
|
|
271
|
+
blurTimeout.current = setTimeout(function () {
|
|
272
|
+
onBlur === null || onBlur === void 0 ? void 0 : onBlur(evt, tagInput);
|
|
273
|
+
}, 250);
|
|
274
|
+
};
|
|
275
|
+
|
|
276
|
+
var onFocusHandler = function onFocusHandler(evt) {
|
|
277
|
+
clearTimeout(blurTimeout.current);
|
|
278
|
+
onFocus === null || onFocus === void 0 ? void 0 : onFocus(evt, tagInput);
|
|
279
|
+
};
|
|
280
|
+
|
|
272
281
|
return /*#__PURE__*/React.createElement(HvFormElement, {
|
|
273
282
|
id: id,
|
|
274
283
|
name: name,
|
|
@@ -276,6 +285,8 @@ var HvTagsInput = function HvTagsInput(props) {
|
|
|
276
285
|
readOnly: readOnly,
|
|
277
286
|
status: validationState,
|
|
278
287
|
required: required,
|
|
288
|
+
onBlur: onBlurHandler,
|
|
289
|
+
onFocus: onFocusHandler,
|
|
279
290
|
className: clsx(classes.root, className, disabled && classes.disabled)
|
|
280
291
|
}, (hasLabel || hasDescription) && /*#__PURE__*/React.createElement("div", {
|
|
281
292
|
className: classes.labelContainer
|
|
@@ -549,6 +560,16 @@ process.env.NODE_ENV !== "production" ? HvTagsInput.propTypes = {
|
|
|
549
560
|
*/
|
|
550
561
|
onChange: PropTypes.func,
|
|
551
562
|
|
|
563
|
+
/**
|
|
564
|
+
* The function that will be executed when the element is focused.
|
|
565
|
+
*/
|
|
566
|
+
onFocus: PropTypes.func,
|
|
567
|
+
|
|
568
|
+
/**
|
|
569
|
+
* The function that will be executed when the element is blurred.
|
|
570
|
+
*/
|
|
571
|
+
onBlur: PropTypes.func,
|
|
572
|
+
|
|
552
573
|
/**
|
|
553
574
|
* The function that will be executed when a tag is deleted.
|
|
554
575
|
*/
|