@paperless/core 1.53.0 → 1.53.1
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 +11 -0
- package/dist/{paperless/p-bf1ffb6a.entry.js → build/p-2946c2bd.entry.js} +2 -2
- package/dist/{paperless/p-bf1ffb6a.entry.js.map → build/p-2946c2bd.entry.js.map} +1 -1
- package/dist/build/{p-cf7bd354.entry.js → p-a1eaea71.entry.js} +2 -2
- package/dist/build/{p-cf7bd354.entry.js.map → p-a1eaea71.entry.js.map} +1 -1
- package/dist/build/p-edd64db5.entry.js +2 -0
- package/dist/build/p-edd64db5.entry.js.map +1 -0
- package/dist/build/paperless.esm.js +1 -1
- package/dist/cjs/p-modal-body_4.cjs.entry.js +1 -1
- package/dist/cjs/p-modal-body_4.cjs.entry.js.map +1 -1
- package/dist/cjs/p-select.cjs.entry.js +2 -2
- package/dist/cjs/p-select.cjs.entry.js.map +1 -1
- package/dist/cjs/p-status.cjs.entry.js +1 -1
- package/dist/cjs/p-status.cjs.entry.js.map +1 -1
- package/dist/collection/components/atoms/modal-footer/modal-footer.component.css +1 -1
- package/dist/collection/components/atoms/status/status.component.css +1 -1
- package/dist/collection/components/molecules/select/select.component.css +1 -1
- package/dist/collection/components/molecules/select/select.component.js +1 -1
- package/dist/collection/components/molecules/select/select.component.js.map +1 -1
- package/dist/components/modal-footer.component.js +1 -1
- package/dist/components/modal-footer.component.js.map +1 -1
- package/dist/components/p-select.js +2 -2
- package/dist/components/p-select.js.map +1 -1
- package/dist/components/p-status.js +1 -1
- package/dist/components/p-status.js.map +1 -1
- package/dist/esm/p-modal-body_4.entry.js +1 -1
- package/dist/esm/p-modal-body_4.entry.js.map +1 -1
- package/dist/esm/p-select.entry.js +2 -2
- package/dist/esm/p-select.entry.js.map +1 -1
- package/dist/esm/p-status.entry.js +1 -1
- package/dist/esm/p-status.entry.js.map +1 -1
- package/dist/index.html +1 -1
- package/dist/{build/p-bf1ffb6a.entry.js → paperless/p-2946c2bd.entry.js} +2 -2
- package/dist/{build/p-bf1ffb6a.entry.js.map → paperless/p-2946c2bd.entry.js.map} +1 -1
- package/dist/paperless/{p-cf7bd354.entry.js → p-a1eaea71.entry.js} +2 -2
- package/dist/paperless/{p-cf7bd354.entry.js.map → p-a1eaea71.entry.js.map} +1 -1
- package/dist/paperless/p-edd64db5.entry.js +2 -0
- package/dist/paperless/p-edd64db5.entry.js.map +1 -0
- package/dist/paperless/paperless.esm.js +1 -1
- package/dist/sw.js +1 -1
- package/dist/sw.js.map +1 -1
- package/hydrate/index.js +4 -4
- package/package.json +1 -1
- package/dist/build/p-0c2cdac4.entry.js +0 -2
- package/dist/build/p-0c2cdac4.entry.js.map +0 -1
- package/dist/paperless/p-0c2cdac4.entry.js +0 -2
- package/dist/paperless/p-0c2cdac4.entry.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-select.js","mappings":";;;;;;;;;;;;;AAAA,MAAM,kBAAkB,GAAG,0qKAA0qK;;MCoBxrK,MAAM;;;;;;;;;;;;;;mCA6BwB,WAAW;;sBAUxB,MAAM;;;;;;;oBAmCR,OAAO;;;;;2BAyBC,IAAI;uBAKR,IAAI;6BAKC,EAAE;8BAKA,IAAI;uBAKX,KAAK;mBAKT,KAAK;2BAKG,KAAK;yBAKR,YAAY;;gBA0CT,QAAQ;;;;;;oBA8BE,KAAK;uBAKnB,KAAK;uBAKN,UAAU;0BAaP,oBAAoB;yBAOf,KAAK;yBACL,IAAI;wBAED,KAAK;yBAEb,CAAC;;EASlC,IAAI,MAAM;;IACT,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;MAChC,OAAO,EAAE,CAAC;KACV;IAED,IAAI,KAAK,GACR,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;IAEtE,IAAI,QAAO,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,CAAA,KAAK,QAAQ,EAAE;MACnC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;MACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;MAExB,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK;QACzB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,GAAG;OACT,CAAC,CAAC,CAAC;KACJ;IAED,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,KAAI,CAAC,IAAI,CAAC,WAAW,EAAE;MAC5C,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI;QACxB,IAAI,IAAI,CAAC,QAAQ,EAAE;UAClB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SAC7C;QAED,QACC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC;UAC3C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EACtC;OACF,CAAC,CAAC;KACH;IAED,OAAO,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;GAC/C;EAED,IAAI,aAAa;;IAChB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;MACxB,OAAO,IAAI,CAAC,WAAW,CAAC;KACxB;IAED,IAAI,IAAI,CAAC,KAAK,EAAE;MACf,IAAI,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,MAAM,MAAK,CAAC,EAAE;QACrC,OAAO,IAAI,CAAC,WAAW,CAAC;OACxB;MAED,QACC,WACC,KAAK,EAAE,wBAAwB,IAAI,CAAC,IAAI,EAAE,EAC1C,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC,IAE1C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI;;QAAI,QAC/B,WACC,KAAK,EAAC,MAAM,EACZ,OAAO,EAAE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAErC,IAAI,CAAC,MAAA,IAAI,CAAC,mBAAmB,mCAAI,IAAI,CAAC,UAAU,CAAC,EAClD,cAAQ,OAAO,EAAC,UAAU,GAAG,CACxB,EACN;OAAA,CAAC,EAEF,WAAK,KAAK,EAAC,cAAc,SAAG,IAAI,CAAC,aAAa,CAAO,CAChD,EACL;KACF;IAED,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;GAClD;EAED,IAAI,cAAc;;IACjB,OAAO,MAAA,MAAA,IAAI,CAAC,aAAa,mCAAI,IAAI,CAAC,QAAQ,mCAAI,OAAO,CAAC;GACtD;EAED,gBAAgB;IACf,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;MAC1C,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;KAChE;IAED,IAAI,IAAI,CAAC,KAAK,EAAE;MACf,IAAI,CAAC,0BAA0B,EAAE,CAAC;MAElC,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC;QACzC,IAAI,IAAI,CAAC,oBAAoB,EAAE;UAC9B,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;UACxC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;SACjC;QAED,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC;UACtC,IAAI,CAAC,0BAA0B,EAAE,CAAC;UAClC,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC3B,EAAE,GAAG,CAAC,CAAC;OACR,CAAC,CAAC;MACH,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACvC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE;MACf,IAAI,CAAC,YAAY,EAAE,CAAC;MACpB,OAAO;KACP;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;GACnB;EAED,kBAAkB;IACjB,IAAI,IAAI,CAAC,KAAK,EAAE;MACf,IAAI,CAAC,0BAA0B,EAAE,CAAC;MAClC,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC3B;GACD;EAED,oBAAoB;IACnB,IAAI,IAAI,CAAC,KAAK,EAAE;MACf,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;KAClC;GACD;EAED,MAAM;;IACL,QACC,EAAC,IAAI,IAAC,KAAK,EAAC,UAAU,IACrB,kBACC,mBAAmB,EAAE,IAAI,EACzB,cAAc,EAAE,IAAI,EACpB,WAAW,EAAE,IAAI,EACjB,UAAU,EAAE,IAAI,CAAC,kBAAkB,GAAG,OAAO,GAAG,IAAI,EACpD,IAAI,EAAE,IAAI,CAAC,aAAa,EACxB,QAAQ,EAAE,EAAE,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,IAExC,qBACC,IAAI,EAAC,SAAS,EACd,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,gBAAgB,EAAE,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,KAAI,IAAI,CAAC,aAAa,IAE1D,WACC,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,oCACN,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,WAAW;UACpC,6BAA6B;UAC7B,EACJ,EAAE,EACF,eAAe,QACf,OAAO,EAAE,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAChC,WAAW,EAAE,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EACxC,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,EAC9B,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,IAEjC,IAAI,CAAC,aAAa,CACd,EAEL,IAAI,CAAC,WAAW,KAChB,cACC,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,QAAQ,GACZ,CACF,CACc,EAChB,WAAK,IAAI,EAAC,OAAO,IACf,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,EACzD,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE,CAClC,CACM,CACP,EACN;GACF;EAGS,oBAAoB,CAAC,EAAE,MAAM,EAAE;IACxC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE;MACrD,OAAO;KACP;IAED,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;GAC3B;EAGO,YAAY;IACnB,IAAI,CAAC,cAAc,EAAE,CAAC;GACtB;EAGM,WAAW;IACjB,IAAI,CAAC,cAAc,EAAE,CAAC;GACtB;EAGM,oBAAoB;IAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;MACvB,KAAK,EAAE,IAAI,CAAC,aAAa;MACzB,KAAK,EAAE,IAAI,CAAC,KAAK;KACjB,CAAC,CAAC;GACH;EAGM,YAAY;IAClB,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;MAC7D,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;KACxB;GACD;EAEO,cAAc;;IACrB,IAAI,KAAK,GACR,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK;QACzC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC;IAEf,IAAI,IAAI,CAAC,KAAK,EAAE;MACf,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAC1B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO;OACP;MAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;MACnB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QAClB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,OAAO;OACP;MAED,IAAI,CAAC,aAAa;QACjB,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO;YACzC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3D,CAAC,GAAG,KAAK,CAAC,CAAC;MACf,OAAO;KACP;IAED,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE;MAC1D,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KACvB;IAED,MAAM,UAAU,GACf,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QACxC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;QAC1B,KAAK,CAAC;IACV,MAAM,WAAW,GAChB,OAAO,UAAU,KAAK,QAAQ,IAAI,OAAO,UAAU,KAAK,QAAQ;QAC7D,UAAU;QACV,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAE/B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa;QACpC,MAAA,IAAI,CAAC,aAAa,0CAAG,IAAI,CAAC,cAAc,CAAC;QACzC,IAAI,CAAC;IACR,MAAM,kBAAkB,GACvB,OAAO,YAAY,KAAK,QAAQ,IAAI,OAAO,YAAY,KAAK,QAAQ;QACjE,YAAY;QACZ,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAEjC,IAAI,IAAI,CAAC,aAAa,IAAI,kBAAkB,KAAK,WAAW,EAAE;MAC7D,OAAO;KACP;IAED,IAAI,EAAC,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,CAAA,IAAI,KAAK,EAAE;MAClC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;MAChC,OAAO;KACP;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;MAC9B,MAAM,cAAc,GAAG,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAG,IAAI,CAAC,cAAc,CAAC,CAAC;MAChD,MAAM,oBAAoB,GACzB,OAAO,cAAc,KAAK,QAAQ,IAAI,OAAO,cAAc,KAAK,QAAQ;UACrE,cAAc;UACd,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;MAEnC,OAAO,oBAAoB,KAAK,WAAW,CAAC;KAC5C,CAAC,CAAC;IAEH,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC;GAChD;EAEO,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAC1C,IAAI,KAAK,GACR,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,KAAK,IAAI;QAC1D,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,IAAI,CAAC,QAAQ,CAAC;QACrB,IAAI,CAAC;IAET,IAAI,IAAI,CAAC,KAAK,EAAE;MACf,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;QAC9D,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;OACxB;MAED,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QAC9C,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;OAChB;MAED,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;MAC7C,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;MAEnC,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,CAC3C,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CACzD,CAAC;MACF,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE;QACzB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;OACvB;WAAM;QACN,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QACtC,UAAU,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;OACpC;MAED,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;MAClC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;MACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;MAClC,OAAO;KACP;IAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE7B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;GACxB;EAEO,QAAQ,CAAC,EAAE;IAClB,EAAE,CAAC,cAAc,EAAE,CAAC;IACpB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAEtB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;MACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;KAC1B;IAED,OAAO;GACP;EAEO,YAAY,CAAC,EAAE;IACtB,IAAI,IAAI,CAAC,kBAAkB,EAAE;MAC5B,OAAO;KACP;IAED,EAAE,CAAC,cAAc,EAAE,CAAC;GACpB;EAEO,QAAQ;IACf,IAAI,IAAI,CAAC,kBAAkB,EAAE;MAC5B,OAAO;KACP;IAED,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;GACzC;EAEO,OAAO,CAAC,KAAK,GAAG,KAAK;IAC5B,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,KAAK,EAAE;MACtC,OAAO;KACP;IAED,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;GAC3B;EAEO,eAAe,CAAC,EAAE;IACzB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;MAC7B,OAAO;KACP;IAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAE1B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;IAC7B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;GACvC;EAEO,WAAW,CAAC,GAAG,EAAE,IAAI;;IAC5B,QACC,CAAA,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,GAAG,CAAC,0CACR,QAAQ,EAAE,0CACV,WAAW,GACZ,OAAO,CAAC,MAAA,IAAI,CAAC,KAAK,0CAAE,WAAW,EAAE,CAAC,KAAI,CAAC,EACxC;GACF;EAEO,SAAS;;IAChB,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI;;MAAI,QACnC,4BACC,OAAO,EAAE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EACtC,MAAM,EACL,IAAI,CAAC,KAAK;UACV,CAAC,CAAC,IAAI,CAAC,aAAa;UACpB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;YAC9B,IAAI,CAAC,aAAa,CAAC,SAAS,CAC5B,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CACxD,IAAI,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;aACzB,MAAA,IAAI,CAAC,aAAa,0CAAG,IAAI,CAAC,cAAc,CAAC,CAAA,EAE7C,OAAO,EAAE,IAAI,CAAC,KAAK,GAAG,UAAU,GAAG,SAAS,IAE3C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CACD,EACvB;KAAA,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;MACxB,KAAK,GAAG;QACP,SAAG,KAAK,EAAC,kDAAkD,IACzD,IAAI,CAAC,cAAc,CACjB;OACJ,CAAC;KACF;IAED,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;MAC/C,KAAK,CAAC,OAAO,CACZ,4BACC,OAAO,EAAC,UAAU,EAClB,OAAO,EAAE,MAAM,IAAI,CAAC,gBAAgB,EAAE,EACtC,MAAM,EAAE,IAAI,CAAC,YAAY,IAExB,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,MAAM,KAC1B,YAAM,KAAK,EAAC,yBAAyB,IACpC,WAAK,KAAK,EAAC,iCAAiC,IAC3C,cAAQ,OAAO,EAAE,IAAI,CAAC,aAAa,GAAI,CAClC,EAAC,GAAG,EACT,IAAI,CAAC,aAAa,CACb,KAEP,IAAI,CAAC,aAAa,CAClB,CACqB,CACvB,CAAC;KACF;IAED,IAAI,IAAI,CAAC,kBAAkB,EAAE;MAC5B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;KAC3C;IAED,OAAO,KAAK,CAAC;GACb;EAEO,WAAW;IAClB,QACC,4BAAsB,OAAO,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IACnD,YAAM,KAAK,EAAC,mDAAmD,IAC7D,IAAI,CAAC,WAAW,EACjB,cAAQ,OAAO,EAAC,MAAM,GAAG,CACnB,CACe,EACtB;GACF;EAEO,gBAAgB;IACvB,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAC3B,4BAAsB,WAAW,EAAE,KAAK,IACvC,gBACC,OAAO,EAAC,OAAO,EACf,KAAK,EAAC,oBAAoB,GACzB,CACoB,CACvB,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,kBAAkB,EAAE;MAC5B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;KAC3C;IAED,OAAO,KAAK,CAAC;GACb;EAEO,oBAAoB;IAC3B,QACC,WAAK,KAAK,EAAC,kCAAkC,IAC5C,aACC,KAAK,EAAC,sCAAsC,EAC5C,WAAW,EAAE,IAAI,CAAC,uBAAuB,EACzC,OAAO,EAAE,EAAE,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,EACvC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,oBAAoB,GAAG,GAAG,CAAC,EAC7C,KAAK,EAAE,IAAI,CAAC,KAAK,GAChB,CACG,EACL;GACF;EAEO,0BAA0B;IACjC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;MAChD,OAAO;KACP;IAED,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,GAAG,GACxC,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,EAC9B,IAAI,CAAC;GACL;EAEO,mBAAmB;IAC1B,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;MAC7B,OAAO;KACP;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,CAAC;IACtE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CACvB,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAChC,CAAC;IAEnB,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;MAC1B,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;MAEjC,MAAM,SAAS,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC;MAChD,IAAI,SAAS,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE;QAC1C,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,YAAY,EAAE,CAAC;OACf;KACD;IAED,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC9D,IAAI,CAAC,KAAK,EAAE;MACX,OAAO;KACP;IAED,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;MACxC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;KAC9B;IAED,IAAI,YAAY,GAAG,CAAC,EAAE;MACrB,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;KACjC;GACD;EAEO,eAAe,CAAC,EAAE;IACzB,IAAI,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;MAC7C,OAAO;KACP;IAED,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;GAClC;EAEO,gBAAgB;IACvB,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;IACvC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;GAC7C;EAEO,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,KAAK;;IAC5C,IAAI,OAAO,GACV,IAAI,CACH,WAAW;QACR,MAAA,IAAI,CAAC,mBAAmB,mCAAI,IAAI,CAAC,UAAU;QAC3C,IAAI,CAAC,UAAU,CAClB,CAAC;IACH,IAAI,IAAI,CAAC,SAAS,EAAE;MACnB,OAAO,IACN,YAAM,KAAK,EAAC,yBAAyB,IACpC,gBACC,IAAI,EAAC,QAAQ,EACb,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EACzB,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GACzB,EACX,IAAI,CAAC,MAAA,IAAI,CAAC,kBAAkB,mCAAI,IAAI,CAAC,UAAU,CAAC,CAC3C,CACP,CAAC;KACF;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,sBAAsB,CAAC,EAAE;MAClE,OAAO,IACN,YAAM,KAAK,EAAC,yBAAyB,IACpC,cAAQ,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAgB,GAAI,EACrD,IAAI,CAAC,MAAA,IAAI,CAAC,kBAAkB,mCAAI,IAAI,CAAC,UAAU,CAAC,CAC3C,CACP,CAAC;KACF;IAED,QACC,WACC,KAAK,EACJ,CAAC,WAAW,IAAI,IAAI,CAAC,wBAAwB;UAC1C,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,mCAAI,IAAI;UACnB,IAAI,IAGP,OAAO,CACH,EACL;GACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/molecules/select/select.component.scss?tag=p-select","src/components/molecules/select/select.component.tsx"],"sourcesContent":["@import '../../../style/form/mixins';\n\np-select {\n\t@apply flex w-full flex-col relative text-ellipsis;\n\n\t.p-input {\n\t\t@include inputDefaultState();\n\t}\n\n\t.multi-container {\n\t\t@apply absolute bottom-0 left-0 h-10 flex gap-2 items-center px-2 py-4 overflow-hidden pointer-events-none w-full;\n\n\t\t&.size-small {\n\t\t\t@apply px-1 py-2 h-8;\n\t\t}\n\n\t\t.item {\n\t\t\t@apply bg-indigo-light rounded px-2 flex gap-2 items-center cursor-pointer text-indigo-dark h-[1.625rem] text-sm font-semibold pointer-events-auto whitespace-nowrap;\n\n\t\t\tp-icon {\n\t\t\t\t@apply text-indigo text-xs;\n\t\t\t}\n\t\t}\n\n\t\t.extra {\n\t\t\t@apply text-sm text-storm-medium pointer-events-none;\n\t\t}\n\t}\n}\n","import {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tState,\n\tWatch,\n} from '@stencil/core';\nimport { childOf } from '../../../utils';\nimport { IconVariant } from '../../atoms/icon/icon.component';\n\n@Component({\n\ttag: 'p-select',\n\tstyleUrl: 'select.component.scss',\n\tshadow: false,\n})\nexport class Select {\n\t/**\n\t * The items to show in the dropdown\n\t */\n\t@Prop() items: string | any[];\n\n\t/**\n\t * Wether to enable multi select\n\t */\n\t@Prop({ reflect: true }) multi: boolean;\n\n\t/**\n\t * Icon of the select box\n\t */\n\t@Prop() icon: IconVariant;\n\n\t/**\n\t * The current query\n\t */\n\t@Prop() query: string;\n\n\t/**\n\t * The placeholder of the input\n\t */\n\t@Prop() placeholder: string;\n\n\t/**\n\t * The placeholder of the input used for auto complete\n\t */\n\t@Prop() autocompletePlaceholder: string = 'Search...';\n\n\t/**\n\t * The current value\n\t */\n\t@Prop() value: any;\n\n\t/**\n\t * The key of the object to display\n\t */\n\t@Prop() displayKey: string = 'text';\n\n\t/**\n\t * The key of the object to display in the dropdown (overwrites displayKey)\n\t */\n\t@Prop() dropdownDisplayKey: string | undefined;\n\n\t/**\n\t * The key of the object to display in the input (overwrites displayKey)\n\t */\n\t@Prop() selectionDisplayKey: string | undefined;\n\n\t/**\n\t * The key of the object to return\n\t */\n\t@Prop() valueKey: string;\n\n\t/**\n\t * The key of avatar within an item to show\n\t */\n\t@Prop() avatarKey: string;\n\n\t/**\n\t * The key of icon variant within an item to show\n\t */\n\t@Prop() iconKey: string;\n\n\t/**\n\t * Wether to show the icon also on the selected Item\n\t */\n\t@Prop() showIconInSelectedItem: string;\n\n\t/**\n\t * The key of a class in an item to apply\n\t */\n\t@Prop() classKey: string = 'class';\n\n\t/**\n\t * Wether to apply the item's class also on the selected item\n\t */\n\t@Prop() applyClassOnSelectedItem: string;\n\n\t/**\n\t * The key of avatar letters within an item to show when the avatar url doesn't work\n\t */\n\t@Prop() avatarLettersKey: string;\n\n\t/**\n\t * The key to identify an object\n\t */\n\t@Prop() identifierKey: string;\n\n\t/**\n\t * The key of the object to display\n\t */\n\t@Prop() queryKey?: string;\n\n\t/**\n\t * Wether to automatically select the first item\n\t */\n\t@Prop() autoSelectFirst: boolean = true;\n\n\t/**\n\t * Wether to show the chevron or not\n\t */\n\t@Prop() showChevron: boolean = true;\n\n\t/**\n\t * The maximum amount of items to display\n\t */\n\t@Prop() maxDisplayedItems: number = 10;\n\n\t/**\n\t * Wether to enable autocomplete\n\t */\n\t@Prop() enableAutocomplete: boolean = true;\n\n\t/**\n\t * Wether the input uses async filtering\n\t */\n\t@Prop() asyncFilter: boolean = false;\n\n\t/**\n\t * Wether to show loading items\n\t */\n\t@Prop() loading: boolean = false;\n\n\t/**\n\t * Wether to show the select all item with multi select\n\t */\n\t@Prop() enableSelectAll: boolean = false;\n\n\t/**\n\t * The text of the select all item\n\t */\n\t@Prop() selectAllText: string = 'Select all';\n\n\t/**\n\t * The icon to prefix for select all\n\t */\n\t@Prop() selectAllIcon: IconVariant | undefined;\n\n\t/**\n\t * Event when the query of the autocomplete changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tqueryChange: EventEmitter<string>;\n\n\t/**\n\t * Event when the value changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tvalueChange: EventEmitter<any>;\n\n\t/**\n\t * Event when the select all item has been selected or not\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tselectAllChange: EventEmitter<any>;\n\n\t/**\n\t * Event when the dropdown shows\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tdropdownShown: EventEmitter<any>;\n\n\t/**\n\t * The size of the input group used by the select\n\t */\n\t@Prop() size: 'small' | 'medium' = 'medium';\n\n\t/**\n\t * The prefix of the input group used by the select\n\t */\n\t@Prop() prefix: string;\n\n\t/**\n\t * The label of the input group used by the select\n\t */\n\t@Prop() label: string;\n\n\t/**\n\t * The helper of the input group used by the select\n\t */\n\t@Prop() helper: string;\n\n\t/**\n\t * Wether the field is required\n\t */\n\t@Prop({ reflect: true }) required: boolean;\n\n\t/**\n\t * The helper of the input group used by the select\n\t */\n\t@Prop({ reflect: true }) error: string;\n\n\t/**\n\t * Wether the input group is disabled used by the select\n\t */\n\t@Prop({ reflect: true }) disabled: boolean = false;\n\n\t/**\n\t * Wether to show a \"add\" item\n\t */\n\t@Prop() showAddItem: boolean = false;\n\n\t/**\n\t * The text to show when add item is being shown\n\t */\n\t@Prop() addItemText: string = 'Add item';\n\n\t/**\n\t * Event when the add item is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tadd: EventEmitter;\n\n\t/**\n\t * The text to show when items is empty\n\t */\n\t@Prop() emptyStateText: string = 'No items available';\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@State() private _showDropdown: any = false;\n\t@State() private _selectedItem: any = null;\n\n\t@State() private _allSelected: boolean = false;\n\n\t@State() private _amountHidden = 0;\n\n\tprivate _inputRef: HTMLDivElement;\n\tprivate autocompleteInputRef: HTMLInputElement;\n\tprivate _multiContainerRef: HTMLElement;\n\n\tprivate _resizeObserver: ResizeObserver;\n\tprivate _resizeDebounceTimer: NodeJS.Timer;\n\n\tget _items() {\n\t\tif (!this.items || this.loading) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet items =\n\t\t\ttypeof this.items === 'string' ? JSON.parse(this.items) : this.items;\n\n\t\tif (typeof items?.[0] === 'string') {\n\t\t\tthis.displayKey = 'text';\n\t\t\tthis.valueKey = 'value';\n\n\t\t\titems = items.map(str => ({\n\t\t\t\tvalue: str,\n\t\t\t\ttext: str,\n\t\t\t}));\n\t\t}\n\n\t\tif (this.query?.length && !this.asyncFilter) {\n\t\t\titems = items.filter(item => {\n\t\t\t\tif (this.queryKey) {\n\t\t\t\t\treturn this._checkvalue(this.queryKey, item);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tthis._checkvalue(this._identifierKey, item) ||\n\t\t\t\t\tthis._checkvalue(this.displayKey, item)\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\n\t\treturn items?.slice(0, this.maxDisplayedItems);\n\t}\n\n\tget _displayValue() {\n\t\tif (!this._selectedItem) {\n\t\t\treturn this.placeholder;\n\t\t}\n\n\t\tif (this.multi) {\n\t\t\tif (this._selectedItem?.length === 0) {\n\t\t\t\treturn this.placeholder;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclass={`multi-container size-${this.size}`}\n\t\t\t\t\tref={ref => (this._multiContainerRef = ref)}\n\t\t\t\t>\n\t\t\t\t\t{this._selectedItem.map(item => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass='item'\n\t\t\t\t\t\t\tonClick={() => this._selectValue(item)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{item[this.selectionDisplayKey ?? this.displayKey]}\n\t\t\t\t\t\t\t<p-icon variant='negative' />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\n\t\t\t\t\t<div class='extra hidden'>+{this._amountHidden}</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn this._getDisplay(this._selectedItem, true);\n\t}\n\n\tget _identifierKey() {\n\t\treturn this.identifierKey ?? this.valueKey ?? 'value';\n\t}\n\n\tcomponentDidLoad() {\n\t\tif (!this.valueKey && !this.identifierKey) {\n\t\t\tthrow new Error('You must provide a valueKey or identifierKey');\n\t\t}\n\n\t\tif (this.multi) {\n\t\t\tthis._setMultiContainerMaxWidth();\n\n\t\t\tthis._resizeObserver = new ResizeObserver(() => {\n\t\t\t\tif (this._resizeDebounceTimer) {\n\t\t\t\t\tclearTimeout(this._resizeDebounceTimer);\n\t\t\t\t\tthis._resizeDebounceTimer = null;\n\t\t\t\t}\n\n\t\t\t\tthis._resizeDebounceTimer = setTimeout(() => {\n\t\t\t\t\tthis._setMultiContainerMaxWidth();\n\t\t\t\t\tthis._checkSelectedItems();\n\t\t\t\t}, 200);\n\t\t\t});\n\t\t\tthis._resizeObserver.observe(this._el);\n\t\t}\n\n\t\tif (this.value) {\n\t\t\tthis._valueChange();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.itemChanges();\n\t}\n\n\tcomponentDidRender() {\n\t\tif (this.multi) {\n\t\t\tthis._setMultiContainerMaxWidth();\n\t\t\tthis._checkSelectedItems();\n\t\t}\n\t}\n\n\tdisconnectedCallback() {\n\t\tif (this.multi) {\n\t\t\tthis._resizeObserver.disconnect();\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class='p-select'>\n\t\t\t\t<p-dropdown\n\t\t\t\t\tdisableTriggerClick={true}\n\t\t\t\t\tcalculateWidth={true}\n\t\t\t\t\tinsideClick={true}\n\t\t\t\t\tscrollable={this.enableAutocomplete ? 'large' : true}\n\t\t\t\t\tshow={this._showDropdown}\n\t\t\t\t\tonIsOpen={ev => this._onDropdownOpen(ev)}\n\t\t\t\t>\n\t\t\t\t\t<p-input-group\n\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\ticon={this.icon}\n\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\tprefix={this.prefix}\n\t\t\t\t\t\tlabel={this.label}\n\t\t\t\t\t\thelper={this.helper}\n\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\terror={this.error}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tfocused={this._showDropdown}\n\t\t\t\t\t\tforceShowTooltip={this.error?.length && this._showDropdown}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tslot='input'\n\t\t\t\t\t\t\tclass={`p-input read-only cursor-pointer ${\n\t\t\t\t\t\t\t\tthis._displayValue === this.placeholder\n\t\t\t\t\t\t\t\t\t? 'text-base text-storm-medium'\n\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\tcontenteditable\n\t\t\t\t\t\t\tonFocus={ev => this._onFocus(ev)}\n\t\t\t\t\t\t\tonMouseDown={ev => this._onMouseDown(ev)}\n\t\t\t\t\t\t\tonClick={() => this._onClick()}\n\t\t\t\t\t\t\tref={ref => (this._inputRef = ref)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this._displayValue}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{this.showChevron && (\n\t\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\t\tvariant='chevron'\n\t\t\t\t\t\t\t\tslot='suffix'\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</p-input-group>\n\t\t\t\t\t<div slot='items'>\n\t\t\t\t\t\t{this.loading ? this._getLoadingItems() : this._getItems()}\n\t\t\t\t\t\t{this.showAddItem && this._getAddItem()}\n\t\t\t\t\t</div>\n\t\t\t\t</p-dropdown>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('click', { target: 'document', capture: true })\n\tprotected documentClickHandler({ target }) {\n\t\tif (!this._showDropdown || childOf(target, this._el)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = false;\n\t}\n\n\t@Watch('value')\n\tprivate _valueChange() {\n\t\tthis._preselectItem();\n\t}\n\n\t@Watch('items')\n\tpublic itemChanges() {\n\t\tthis._preselectItem();\n\t}\n\n\t@Watch('_showDropdown')\n\tpublic _showDropdownChanges() {\n\t\tthis.dropdownShown.emit({\n\t\t\tvalue: this._showDropdown,\n\t\t\tquery: this.query,\n\t\t});\n\t}\n\n\t@Watch('multi')\n\tpublic multiChanges() {\n\t\tif (this._selectedItem && !Array.isArray(this._selectedItem)) {\n\t\t\tthis._selectedItem = [];\n\t\t}\n\t}\n\n\tprivate _preselectItem() {\n\t\tlet value =\n\t\t\ttypeof this.value === 'string' && this.multi\n\t\t\t\t? JSON.parse(this.value)\n\t\t\t\t: this.value;\n\n\t\tif (this.multi) {\n\t\t\tif (!Array.isArray(value)) {\n\t\t\t\tthis.value = [];\n\t\t\t\tthis.valueChange.emit(this.value);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.value = value;\n\t\t\tif (!value.length) {\n\t\t\t\tthis._selectedItem = [];\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._selectedItem =\n\t\t\t\t!!this.valueKey && this.valueKey !== 'false'\n\t\t\t\t\t? this._items.filter(i => value.includes(i?.[this.valueKey]))\n\t\t\t\t\t: [...value];\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._selectedItem && !value && this.autoSelectFirst) {\n\t\t\tvalue = this._items[0];\n\t\t}\n\n\t\tconst identifier =\n\t\t\ttypeof value === 'object' && value !== null\n\t\t\t\t? value[this._identifierKey]\n\t\t\t\t: value;\n\t\tconst parsedValue =\n\t\t\ttypeof identifier === 'string' || typeof identifier === 'number'\n\t\t\t\t? identifier\n\t\t\t\t: JSON.stringify(identifier);\n\n\t\tconst currentValue = this._selectedItem\n\t\t\t? this._selectedItem?.[this._identifierKey]\n\t\t\t: null;\n\t\tconst currentParsedValue =\n\t\t\ttypeof currentValue === 'string' || typeof currentValue === 'number'\n\t\t\t\t? currentValue\n\t\t\t\t: JSON.stringify(currentValue);\n\n\t\tif (this._selectedItem && currentParsedValue === parsedValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._items?.length && value) {\n\t\t\tthis._selectValue(value, false);\n\t\t\treturn;\n\t\t}\n\n\t\tconst item = this._items.find(i => {\n\t\t\tconst itemIdentifier = i?.[this._identifierKey];\n\t\t\tconst parsedItemIdentifier =\n\t\t\t\ttypeof itemIdentifier === 'string' || typeof itemIdentifier === 'number'\n\t\t\t\t\t? itemIdentifier\n\t\t\t\t\t: JSON.stringify(itemIdentifier);\n\n\t\t\treturn parsedItemIdentifier === parsedValue;\n\t\t});\n\n\t\tthis._selectValue(!!item ? item : value, false);\n\t}\n\n\tprivate _selectValue(item, forceBlur = true) {\n\t\tlet value =\n\t\t\t!!this.valueKey && this.valueKey !== 'false' && item !== null\n\t\t\t\t? item?.[this.valueKey]\n\t\t\t\t: item;\n\n\t\tif (this.multi) {\n\t\t\tif (!this._selectedItem || !Array.isArray(this._selectedItem)) {\n\t\t\t\tthis._selectedItem = [];\n\t\t\t}\n\n\t\t\tif (!this.value || !Array.isArray(this.value)) {\n\t\t\t\tthis.value = [];\n\t\t\t}\n\n\t\t\tconst selectedItem = [...this._selectedItem];\n\t\t\tconst valueArray = [...this.value];\n\n\t\t\tconst includesIndex = selectedItem.findIndex(\n\t\t\t\ti => i[this._identifierKey] === item[this._identifierKey]\n\t\t\t);\n\t\t\tif (includesIndex === -1) {\n\t\t\t\tselectedItem.push(item);\n\t\t\t\tvalueArray.push(value);\n\t\t\t} else {\n\t\t\t\tselectedItem.splice(includesIndex, 1);\n\t\t\t\tvalueArray.splice(includesIndex, 1);\n\t\t\t}\n\n\t\t\tthis._selectedItem = selectedItem;\n\t\t\tthis.value = valueArray;\n\t\t\tthis.valueChange.emit(valueArray);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._selectedItem = item;\n\t\tthis.value = value;\n\t\tthis.valueChange.emit(value);\n\n\t\tthis._onBlur(forceBlur);\n\t}\n\n\tprivate _onFocus(ev) {\n\t\tev.preventDefault();\n\t\tthis._inputRef.blur();\n\n\t\tif (!this._showDropdown) {\n\t\t\tthis._showDropdown = true;\n\t\t}\n\n\t\treturn;\n\t}\n\n\tprivate _onMouseDown(ev) {\n\t\tif (this.enableAutocomplete) {\n\t\t\treturn;\n\t\t}\n\n\t\tev.preventDefault();\n\t}\n\n\tprivate _onClick() {\n\t\tif (this.enableAutocomplete) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = !this._showDropdown;\n\t}\n\n\tprivate _onBlur(force = false) {\n\t\tif (this.enableAutocomplete && !force) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = false;\n\t}\n\n\tprivate _onAutoComplete(ev) {\n\t\tif (!this.enableAutocomplete) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = true;\n\n\t\tthis.query = ev.target.value;\n\t\tthis.queryChange.emit(ev.target.value);\n\t}\n\n\tprivate _checkvalue(key, item) {\n\t\treturn (\n\t\t\titem?.[key]\n\t\t\t\t?.toString()\n\t\t\t\t?.toLowerCase()\n\t\t\t\t.indexOf(this.query?.toLowerCase()) >= 0\n\t\t);\n\t}\n\n\tprivate _getItems() {\n\t\tlet items = this._items.map(item => (\n\t\t\t<p-dropdown-menu-item\n\t\t\t\tonClick={() => this._selectValue(item)}\n\t\t\t\tactive={\n\t\t\t\t\tthis.multi &&\n\t\t\t\t\t!!this._selectedItem &&\n\t\t\t\t\tArray.isArray(this._selectedItem)\n\t\t\t\t\t\t? this._selectedItem.findIndex(\n\t\t\t\t\t\t\t\ti => i[this._identifierKey] === item[this._identifierKey]\n\t\t\t\t\t\t ) >= 0\n\t\t\t\t\t\t: item[this._identifierKey] ===\n\t\t\t\t\t\t this._selectedItem?.[this._identifierKey]\n\t\t\t\t}\n\t\t\t\tvariant={this.multi ? 'checkbox' : 'default'}\n\t\t\t>\n\t\t\t\t{this._getDisplay(item)}\n\t\t\t</p-dropdown-menu-item>\n\t\t));\n\n\t\tif (!this._items.length) {\n\t\t\titems = [\n\t\t\t\t<p class='w-full p-2 text-center text-sm text-storm-medium'>\n\t\t\t\t\t{this.emptyStateText}\n\t\t\t\t</p>,\n\t\t\t];\n\t\t}\n\n\t\tif (this.enableSelectAll && this._items.length) {\n\t\t\titems.unshift(\n\t\t\t\t<p-dropdown-menu-item\n\t\t\t\t\tvariant='checkbox'\n\t\t\t\t\tonClick={() => this._selectAllChange()}\n\t\t\t\t\tactive={this._allSelected}\n\t\t\t\t>\n\t\t\t\t\t{this.selectAllIcon?.length ? (\n\t\t\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t\t\t<div class='flex w-6 justify-center text-lg'>\n\t\t\t\t\t\t\t\t<p-icon variant={this.selectAllIcon} />\n\t\t\t\t\t\t\t</div>{' '}\n\t\t\t\t\t\t\t{this.selectAllText}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tthis.selectAllText\n\t\t\t\t\t)}\n\t\t\t\t</p-dropdown-menu-item>\n\t\t\t);\n\t\t}\n\n\t\tif (this.enableAutocomplete) {\n\t\t\titems.unshift(this._getAutoCompleteItem());\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tprivate _getAddItem() {\n\t\treturn (\n\t\t\t<p-dropdown-menu-item onClick={() => this.add.emit()}>\n\t\t\t\t<span class='flex items-center gap-1 font-semibold text-indigo'>\n\t\t\t\t\t{this.addItemText}\n\t\t\t\t\t<p-icon variant='plus' />\n\t\t\t\t</span>\n\t\t\t</p-dropdown-menu-item>\n\t\t);\n\t}\n\n\tprivate _getLoadingItems() {\n\t\tconst items = [0, 0, 0].map(() => (\n\t\t\t<p-dropdown-menu-item enableHover={false}>\n\t\t\t\t<p-loader\n\t\t\t\t\tvariant='ghost'\n\t\t\t\t\tclass='h-6 w-full rounded'\n\t\t\t\t/>\n\t\t\t</p-dropdown-menu-item>\n\t\t));\n\n\t\tif (this.enableAutocomplete) {\n\t\t\titems.unshift(this._getAutoCompleteItem());\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tprivate _getAutoCompleteItem() {\n\t\treturn (\n\t\t\t<div class='sticky top-0 -mt-2 bg-white pt-2'>\n\t\t\t\t<input\n\t\t\t\t\tclass='p-input size-small sticky top-2 mb-2'\n\t\t\t\t\tplaceholder={this.autocompletePlaceholder}\n\t\t\t\t\tonInput={ev => this._onAutoComplete(ev)}\n\t\t\t\t\tref={ref => (this.autocompleteInputRef = ref)}\n\t\t\t\t\tvalue={this.query}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate _setMultiContainerMaxWidth() {\n\t\tif (!this._inputRef || !this._multiContainerRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._multiContainerRef.style.maxWidth = `${\n\t\t\tthis._inputRef.clientWidth - 16\n\t\t}px`;\n\t}\n\n\tprivate _checkSelectedItems() {\n\t\tif (!this._multiContainerRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst containerRect = this._multiContainerRef.getBoundingClientRect();\n\t\tconst items = Array.from(\n\t\t\tthis._multiContainerRef.querySelectorAll('.item')\n\t\t) as HTMLElement[];\n\n\t\tlet amountHidden = 0;\n\n\t\tfor (const child of items) {\n\t\t\tchild.classList.remove('hidden');\n\n\t\t\tconst childRect = child.getBoundingClientRect();\n\t\t\tif (childRect.right > containerRect.right) {\n\t\t\t\tchild.classList.add('hidden');\n\t\t\t\tamountHidden++;\n\t\t\t}\n\t\t}\n\n\t\tthis._amountHidden = amountHidden;\n\t\tconst extra = this._multiContainerRef.querySelector('.extra');\n\t\tif (!extra) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!extra.classList.contains('hidden')) {\n\t\t\textra.classList.add('hidden');\n\t\t}\n\n\t\tif (amountHidden > 0) {\n\t\t\textra.classList.remove('hidden');\n\t\t}\n\t}\n\n\tprivate _onDropdownOpen(ev) {\n\t\tif (!ev.detail || !this.autocompleteInputRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.autocompleteInputRef.focus();\n\t}\n\n\tprivate _selectAllChange() {\n\t\tthis._allSelected = !this._allSelected;\n\t\tthis.selectAllChange.emit(this._allSelected);\n\t}\n\n\tprivate _getDisplay(item, isSelection = false) {\n\t\tlet content =\n\t\t\titem[\n\t\t\t\tisSelection\n\t\t\t\t\t? this.selectionDisplayKey ?? this.displayKey\n\t\t\t\t\t: this.displayKey\n\t\t\t];\n\t\tif (this.avatarKey) {\n\t\t\tcontent = (\n\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t<p-avatar\n\t\t\t\t\t\tsize='xsmall'\n\t\t\t\t\t\tsrc={item[this.avatarKey]}\n\t\t\t\t\t\tletters={item[this.avatarLettersKey]}\n\t\t\t\t\t></p-avatar>\n\t\t\t\t\t{item[this.dropdownDisplayKey ?? this.displayKey]}\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\n\t\tif (this.iconKey && (!isSelection || this.showIconInSelectedItem)) {\n\t\t\tcontent = (\n\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t<p-icon variant={item[this.iconKey] as IconVariant} />\n\t\t\t\t\t{item[this.dropdownDisplayKey ?? this.displayKey]}\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={\n\t\t\t\t\t!isSelection || this.applyClassOnSelectedItem\n\t\t\t\t\t\t? item?.class ?? null\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{content}\n\t\t\t</div>\n\t\t);\n\t}\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-select.js","mappings":"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","names":[],"sources":["src/components/molecules/select/select.component.scss?tag=p-select","src/components/molecules/select/select.component.tsx"],"sourcesContent":["@import '../../../style/form/mixins';\n\np-select {\n\t@apply relative flex w-full flex-col text-ellipsis;\n\n\t.p-input {\n\t\t@include inputDefaultState();\n\t}\n\n\t.multi-container {\n\t\t@apply pointer-events-none absolute bottom-0 left-0 flex h-10 w-full items-center gap-2 overflow-hidden px-2 py-4;\n\n\t\t&.size-small {\n\t\t\t@apply h-8 px-1 py-2;\n\t\t}\n\n\t\t.item {\n\t\t\t@apply pointer-events-auto flex h-[1.625rem] cursor-pointer items-center gap-2 whitespace-nowrap rounded bg-indigo-light px-2 text-sm font-semibold text-indigo-dark;\n\n\t\t\tp-icon {\n\t\t\t\t@apply text-xs text-indigo;\n\t\t\t}\n\t\t}\n\n\t\t.extra {\n\t\t\t@apply pointer-events-none text-sm text-storm-medium;\n\t\t}\n\t}\n}\n","import {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tState,\n\tWatch,\n} from '@stencil/core';\nimport { childOf } from '../../../utils';\nimport { IconVariant } from '../../atoms/icon/icon.component';\n\n@Component({\n\ttag: 'p-select',\n\tstyleUrl: 'select.component.scss',\n\tshadow: false,\n})\nexport class Select {\n\t/**\n\t * The items to show in the dropdown\n\t */\n\t@Prop() items: string | any[];\n\n\t/**\n\t * Wether to enable multi select\n\t */\n\t@Prop({ reflect: true }) multi: boolean;\n\n\t/**\n\t * Icon of the select box\n\t */\n\t@Prop() icon: IconVariant;\n\n\t/**\n\t * The current query\n\t */\n\t@Prop() query: string;\n\n\t/**\n\t * The placeholder of the input\n\t */\n\t@Prop() placeholder: string;\n\n\t/**\n\t * The placeholder of the input used for auto complete\n\t */\n\t@Prop() autocompletePlaceholder: string = 'Search...';\n\n\t/**\n\t * The current value\n\t */\n\t@Prop() value: any;\n\n\t/**\n\t * The key of the object to display\n\t */\n\t@Prop() displayKey: string = 'text';\n\n\t/**\n\t * The key of the object to display in the dropdown (overwrites displayKey)\n\t */\n\t@Prop() dropdownDisplayKey: string | undefined;\n\n\t/**\n\t * The key of the object to display in the input (overwrites displayKey)\n\t */\n\t@Prop() selectionDisplayKey: string | undefined;\n\n\t/**\n\t * The key of the object to return\n\t */\n\t@Prop() valueKey: string;\n\n\t/**\n\t * The key of avatar within an item to show\n\t */\n\t@Prop() avatarKey: string;\n\n\t/**\n\t * The key of icon variant within an item to show\n\t */\n\t@Prop() iconKey: string;\n\n\t/**\n\t * Wether to show the icon also on the selected Item\n\t */\n\t@Prop() showIconInSelectedItem: string;\n\n\t/**\n\t * The key of a class in an item to apply\n\t */\n\t@Prop() classKey: string = 'class';\n\n\t/**\n\t * Wether to apply the item's class also on the selected item\n\t */\n\t@Prop() applyClassOnSelectedItem: string;\n\n\t/**\n\t * The key of avatar letters within an item to show when the avatar url doesn't work\n\t */\n\t@Prop() avatarLettersKey: string;\n\n\t/**\n\t * The key to identify an object\n\t */\n\t@Prop() identifierKey: string;\n\n\t/**\n\t * The key of the object to display\n\t */\n\t@Prop() queryKey?: string;\n\n\t/**\n\t * Wether to automatically select the first item\n\t */\n\t@Prop() autoSelectFirst: boolean = true;\n\n\t/**\n\t * Wether to show the chevron or not\n\t */\n\t@Prop() showChevron: boolean = true;\n\n\t/**\n\t * The maximum amount of items to display\n\t */\n\t@Prop() maxDisplayedItems: number = 10;\n\n\t/**\n\t * Wether to enable autocomplete\n\t */\n\t@Prop() enableAutocomplete: boolean = true;\n\n\t/**\n\t * Wether the input uses async filtering\n\t */\n\t@Prop() asyncFilter: boolean = false;\n\n\t/**\n\t * Wether to show loading items\n\t */\n\t@Prop() loading: boolean = false;\n\n\t/**\n\t * Wether to show the select all item with multi select\n\t */\n\t@Prop() enableSelectAll: boolean = false;\n\n\t/**\n\t * The text of the select all item\n\t */\n\t@Prop() selectAllText: string = 'Select all';\n\n\t/**\n\t * The icon to prefix for select all\n\t */\n\t@Prop() selectAllIcon: IconVariant | undefined;\n\n\t/**\n\t * Event when the query of the autocomplete changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tqueryChange: EventEmitter<string>;\n\n\t/**\n\t * Event when the value changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tvalueChange: EventEmitter<any>;\n\n\t/**\n\t * Event when the select all item has been selected or not\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tselectAllChange: EventEmitter<any>;\n\n\t/**\n\t * Event when the dropdown shows\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tdropdownShown: EventEmitter<any>;\n\n\t/**\n\t * The size of the input group used by the select\n\t */\n\t@Prop() size: 'small' | 'medium' = 'medium';\n\n\t/**\n\t * The prefix of the input group used by the select\n\t */\n\t@Prop() prefix: string;\n\n\t/**\n\t * The label of the input group used by the select\n\t */\n\t@Prop() label: string;\n\n\t/**\n\t * The helper of the input group used by the select\n\t */\n\t@Prop() helper: string;\n\n\t/**\n\t * Wether the field is required\n\t */\n\t@Prop({ reflect: true }) required: boolean;\n\n\t/**\n\t * The helper of the input group used by the select\n\t */\n\t@Prop({ reflect: true }) error: string;\n\n\t/**\n\t * Wether the input group is disabled used by the select\n\t */\n\t@Prop({ reflect: true }) disabled: boolean = false;\n\n\t/**\n\t * Wether to show a \"add\" item\n\t */\n\t@Prop() showAddItem: boolean = false;\n\n\t/**\n\t * The text to show when add item is being shown\n\t */\n\t@Prop() addItemText: string = 'Add item';\n\n\t/**\n\t * Event when the add item is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tadd: EventEmitter;\n\n\t/**\n\t * The text to show when items is empty\n\t */\n\t@Prop() emptyStateText: string = 'No items available';\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@State() private _showDropdown: any = false;\n\t@State() private _selectedItem: any = null;\n\n\t@State() private _allSelected: boolean = false;\n\n\t@State() private _amountHidden = 0;\n\n\tprivate _inputRef: HTMLDivElement;\n\tprivate autocompleteInputRef: HTMLInputElement;\n\tprivate _multiContainerRef: HTMLElement;\n\n\tprivate _resizeObserver: ResizeObserver;\n\tprivate _resizeDebounceTimer: NodeJS.Timer;\n\n\tget _items() {\n\t\tif (!this.items || this.loading) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet items =\n\t\t\ttypeof this.items === 'string' ? JSON.parse(this.items) : this.items;\n\n\t\tif (typeof items?.[0] === 'string') {\n\t\t\tthis.displayKey = 'text';\n\t\t\tthis.valueKey = 'value';\n\n\t\t\titems = items.map(str => ({\n\t\t\t\tvalue: str,\n\t\t\t\ttext: str,\n\t\t\t}));\n\t\t}\n\n\t\tif (this.query?.length && !this.asyncFilter) {\n\t\t\titems = items.filter(item => {\n\t\t\t\tif (this.queryKey) {\n\t\t\t\t\treturn this._checkvalue(this.queryKey, item);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tthis._checkvalue(this._identifierKey, item) ||\n\t\t\t\t\tthis._checkvalue(this.displayKey, item)\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\n\t\treturn items?.slice(0, this.maxDisplayedItems);\n\t}\n\n\tget _displayValue() {\n\t\tif (!this._selectedItem) {\n\t\t\treturn this.placeholder;\n\t\t}\n\n\t\tif (this.multi) {\n\t\t\tif (this._selectedItem?.length === 0) {\n\t\t\t\treturn this.placeholder;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclass={`multi-container size-${this.size}`}\n\t\t\t\t\tref={ref => (this._multiContainerRef = ref)}\n\t\t\t\t>\n\t\t\t\t\t{this._selectedItem.map(item => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass='item'\n\t\t\t\t\t\t\tonClick={() => this._selectValue(item)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{item[this.selectionDisplayKey ?? this.displayKey]}\n\t\t\t\t\t\t\t<p-icon variant='negative' />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\n\t\t\t\t\t<div class='extra hidden'>+{this._amountHidden}</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn this._getDisplay(this._selectedItem, true);\n\t}\n\n\tget _identifierKey() {\n\t\treturn this.identifierKey ?? this.valueKey ?? 'value';\n\t}\n\n\tcomponentDidLoad() {\n\t\tif (!this.valueKey && !this.identifierKey) {\n\t\t\tthrow new Error('You must provide a valueKey or identifierKey');\n\t\t}\n\n\t\tif (this.multi) {\n\t\t\tthis._setMultiContainerMaxWidth();\n\n\t\t\tthis._resizeObserver = new ResizeObserver(() => {\n\t\t\t\tif (this._resizeDebounceTimer) {\n\t\t\t\t\tclearTimeout(this._resizeDebounceTimer);\n\t\t\t\t\tthis._resizeDebounceTimer = null;\n\t\t\t\t}\n\n\t\t\t\tthis._resizeDebounceTimer = setTimeout(() => {\n\t\t\t\t\tthis._setMultiContainerMaxWidth();\n\t\t\t\t\tthis._checkSelectedItems();\n\t\t\t\t}, 200);\n\t\t\t});\n\t\t\tthis._resizeObserver.observe(this._el);\n\t\t}\n\n\t\tif (this.value) {\n\t\t\tthis._valueChange();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.itemChanges();\n\t}\n\n\tcomponentDidRender() {\n\t\tif (this.multi) {\n\t\t\tthis._setMultiContainerMaxWidth();\n\t\t\tthis._checkSelectedItems();\n\t\t}\n\t}\n\n\tdisconnectedCallback() {\n\t\tif (this.multi) {\n\t\t\tthis._resizeObserver.disconnect();\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class='p-select'>\n\t\t\t\t<p-dropdown\n\t\t\t\t\tdisableTriggerClick={true}\n\t\t\t\t\tcalculateWidth={true}\n\t\t\t\t\tinsideClick={true}\n\t\t\t\t\tscrollable={this.enableAutocomplete ? 'large' : true}\n\t\t\t\t\tshow={this._showDropdown}\n\t\t\t\t\tonIsOpen={ev => this._onDropdownOpen(ev)}\n\t\t\t\t>\n\t\t\t\t\t<p-input-group\n\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\ticon={this.icon}\n\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\tprefix={this.prefix}\n\t\t\t\t\t\tlabel={this.label}\n\t\t\t\t\t\thelper={this.helper}\n\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\terror={this.error}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tfocused={this._showDropdown}\n\t\t\t\t\t\tforceShowTooltip={this.error?.length && this._showDropdown}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tslot='input'\n\t\t\t\t\t\t\tclass={`p-input read-only cursor-pointer ${\n\t\t\t\t\t\t\t\tthis._displayValue === this.placeholder\n\t\t\t\t\t\t\t\t\t? 'text-base text-storm-medium'\n\t\t\t\t\t\t\t\t\t: 'font-medium'\n\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\tcontenteditable\n\t\t\t\t\t\t\tonFocus={ev => this._onFocus(ev)}\n\t\t\t\t\t\t\tonMouseDown={ev => this._onMouseDown(ev)}\n\t\t\t\t\t\t\tonClick={() => this._onClick()}\n\t\t\t\t\t\t\tref={ref => (this._inputRef = ref)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this._displayValue}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{this.showChevron && (\n\t\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\t\tvariant='chevron'\n\t\t\t\t\t\t\t\tslot='suffix'\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</p-input-group>\n\t\t\t\t\t<div slot='items'>\n\t\t\t\t\t\t{this.loading ? this._getLoadingItems() : this._getItems()}\n\t\t\t\t\t\t{this.showAddItem && this._getAddItem()}\n\t\t\t\t\t</div>\n\t\t\t\t</p-dropdown>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('click', { target: 'document', capture: true })\n\tprotected documentClickHandler({ target }) {\n\t\tif (!this._showDropdown || childOf(target, this._el)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = false;\n\t}\n\n\t@Watch('value')\n\tprivate _valueChange() {\n\t\tthis._preselectItem();\n\t}\n\n\t@Watch('items')\n\tpublic itemChanges() {\n\t\tthis._preselectItem();\n\t}\n\n\t@Watch('_showDropdown')\n\tpublic _showDropdownChanges() {\n\t\tthis.dropdownShown.emit({\n\t\t\tvalue: this._showDropdown,\n\t\t\tquery: this.query,\n\t\t});\n\t}\n\n\t@Watch('multi')\n\tpublic multiChanges() {\n\t\tif (this._selectedItem && !Array.isArray(this._selectedItem)) {\n\t\t\tthis._selectedItem = [];\n\t\t}\n\t}\n\n\tprivate _preselectItem() {\n\t\tlet value =\n\t\t\ttypeof this.value === 'string' && this.multi\n\t\t\t\t? JSON.parse(this.value)\n\t\t\t\t: this.value;\n\n\t\tif (this.multi) {\n\t\t\tif (!Array.isArray(value)) {\n\t\t\t\tthis.value = [];\n\t\t\t\tthis.valueChange.emit(this.value);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.value = value;\n\t\t\tif (!value.length) {\n\t\t\t\tthis._selectedItem = [];\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._selectedItem =\n\t\t\t\t!!this.valueKey && this.valueKey !== 'false'\n\t\t\t\t\t? this._items.filter(i => value.includes(i?.[this.valueKey]))\n\t\t\t\t\t: [...value];\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._selectedItem && !value && this.autoSelectFirst) {\n\t\t\tvalue = this._items[0];\n\t\t}\n\n\t\tconst identifier =\n\t\t\ttypeof value === 'object' && value !== null\n\t\t\t\t? value[this._identifierKey]\n\t\t\t\t: value;\n\t\tconst parsedValue =\n\t\t\ttypeof identifier === 'string' || typeof identifier === 'number'\n\t\t\t\t? identifier\n\t\t\t\t: JSON.stringify(identifier);\n\n\t\tconst currentValue = this._selectedItem\n\t\t\t? this._selectedItem?.[this._identifierKey]\n\t\t\t: null;\n\t\tconst currentParsedValue =\n\t\t\ttypeof currentValue === 'string' || typeof currentValue === 'number'\n\t\t\t\t? currentValue\n\t\t\t\t: JSON.stringify(currentValue);\n\n\t\tif (this._selectedItem && currentParsedValue === parsedValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._items?.length && value) {\n\t\t\tthis._selectValue(value, false);\n\t\t\treturn;\n\t\t}\n\n\t\tconst item = this._items.find(i => {\n\t\t\tconst itemIdentifier = i?.[this._identifierKey];\n\t\t\tconst parsedItemIdentifier =\n\t\t\t\ttypeof itemIdentifier === 'string' || typeof itemIdentifier === 'number'\n\t\t\t\t\t? itemIdentifier\n\t\t\t\t\t: JSON.stringify(itemIdentifier);\n\n\t\t\treturn parsedItemIdentifier === parsedValue;\n\t\t});\n\n\t\tthis._selectValue(!!item ? item : value, false);\n\t}\n\n\tprivate _selectValue(item, forceBlur = true) {\n\t\tlet value =\n\t\t\t!!this.valueKey && this.valueKey !== 'false' && item !== null\n\t\t\t\t? item?.[this.valueKey]\n\t\t\t\t: item;\n\n\t\tif (this.multi) {\n\t\t\tif (!this._selectedItem || !Array.isArray(this._selectedItem)) {\n\t\t\t\tthis._selectedItem = [];\n\t\t\t}\n\n\t\t\tif (!this.value || !Array.isArray(this.value)) {\n\t\t\t\tthis.value = [];\n\t\t\t}\n\n\t\t\tconst selectedItem = [...this._selectedItem];\n\t\t\tconst valueArray = [...this.value];\n\n\t\t\tconst includesIndex = selectedItem.findIndex(\n\t\t\t\ti => i[this._identifierKey] === item[this._identifierKey]\n\t\t\t);\n\t\t\tif (includesIndex === -1) {\n\t\t\t\tselectedItem.push(item);\n\t\t\t\tvalueArray.push(value);\n\t\t\t} else {\n\t\t\t\tselectedItem.splice(includesIndex, 1);\n\t\t\t\tvalueArray.splice(includesIndex, 1);\n\t\t\t}\n\n\t\t\tthis._selectedItem = selectedItem;\n\t\t\tthis.value = valueArray;\n\t\t\tthis.valueChange.emit(valueArray);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._selectedItem = item;\n\t\tthis.value = value;\n\t\tthis.valueChange.emit(value);\n\n\t\tthis._onBlur(forceBlur);\n\t}\n\n\tprivate _onFocus(ev) {\n\t\tev.preventDefault();\n\t\tthis._inputRef.blur();\n\n\t\tif (!this._showDropdown) {\n\t\t\tthis._showDropdown = true;\n\t\t}\n\n\t\treturn;\n\t}\n\n\tprivate _onMouseDown(ev) {\n\t\tif (this.enableAutocomplete) {\n\t\t\treturn;\n\t\t}\n\n\t\tev.preventDefault();\n\t}\n\n\tprivate _onClick() {\n\t\tif (this.enableAutocomplete) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = !this._showDropdown;\n\t}\n\n\tprivate _onBlur(force = false) {\n\t\tif (this.enableAutocomplete && !force) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = false;\n\t}\n\n\tprivate _onAutoComplete(ev) {\n\t\tif (!this.enableAutocomplete) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = true;\n\n\t\tthis.query = ev.target.value;\n\t\tthis.queryChange.emit(ev.target.value);\n\t}\n\n\tprivate _checkvalue(key, item) {\n\t\treturn (\n\t\t\titem?.[key]\n\t\t\t\t?.toString()\n\t\t\t\t?.toLowerCase()\n\t\t\t\t.indexOf(this.query?.toLowerCase()) >= 0\n\t\t);\n\t}\n\n\tprivate _getItems() {\n\t\tlet items = this._items.map(item => (\n\t\t\t<p-dropdown-menu-item\n\t\t\t\tonClick={() => this._selectValue(item)}\n\t\t\t\tactive={\n\t\t\t\t\tthis.multi &&\n\t\t\t\t\t!!this._selectedItem &&\n\t\t\t\t\tArray.isArray(this._selectedItem)\n\t\t\t\t\t\t? this._selectedItem.findIndex(\n\t\t\t\t\t\t\t\ti => i[this._identifierKey] === item[this._identifierKey]\n\t\t\t\t\t\t ) >= 0\n\t\t\t\t\t\t: item[this._identifierKey] ===\n\t\t\t\t\t\t this._selectedItem?.[this._identifierKey]\n\t\t\t\t}\n\t\t\t\tvariant={this.multi ? 'checkbox' : 'default'}\n\t\t\t>\n\t\t\t\t{this._getDisplay(item)}\n\t\t\t</p-dropdown-menu-item>\n\t\t));\n\n\t\tif (!this._items.length) {\n\t\t\titems = [\n\t\t\t\t<p class='w-full p-2 text-center text-sm text-storm-medium'>\n\t\t\t\t\t{this.emptyStateText}\n\t\t\t\t</p>,\n\t\t\t];\n\t\t}\n\n\t\tif (this.enableSelectAll && this._items.length) {\n\t\t\titems.unshift(\n\t\t\t\t<p-dropdown-menu-item\n\t\t\t\t\tvariant='checkbox'\n\t\t\t\t\tonClick={() => this._selectAllChange()}\n\t\t\t\t\tactive={this._allSelected}\n\t\t\t\t>\n\t\t\t\t\t{this.selectAllIcon?.length ? (\n\t\t\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t\t\t<div class='flex w-6 justify-center text-lg'>\n\t\t\t\t\t\t\t\t<p-icon variant={this.selectAllIcon} />\n\t\t\t\t\t\t\t</div>{' '}\n\t\t\t\t\t\t\t{this.selectAllText}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tthis.selectAllText\n\t\t\t\t\t)}\n\t\t\t\t</p-dropdown-menu-item>\n\t\t\t);\n\t\t}\n\n\t\tif (this.enableAutocomplete) {\n\t\t\titems.unshift(this._getAutoCompleteItem());\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tprivate _getAddItem() {\n\t\treturn (\n\t\t\t<p-dropdown-menu-item onClick={() => this.add.emit()}>\n\t\t\t\t<span class='flex items-center gap-1 font-semibold text-indigo'>\n\t\t\t\t\t{this.addItemText}\n\t\t\t\t\t<p-icon variant='plus' />\n\t\t\t\t</span>\n\t\t\t</p-dropdown-menu-item>\n\t\t);\n\t}\n\n\tprivate _getLoadingItems() {\n\t\tconst items = [0, 0, 0].map(() => (\n\t\t\t<p-dropdown-menu-item enableHover={false}>\n\t\t\t\t<p-loader\n\t\t\t\t\tvariant='ghost'\n\t\t\t\t\tclass='h-6 w-full rounded'\n\t\t\t\t/>\n\t\t\t</p-dropdown-menu-item>\n\t\t));\n\n\t\tif (this.enableAutocomplete) {\n\t\t\titems.unshift(this._getAutoCompleteItem());\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tprivate _getAutoCompleteItem() {\n\t\treturn (\n\t\t\t<div class='sticky top-0 -mt-2 bg-white pt-2'>\n\t\t\t\t<input\n\t\t\t\t\tclass='p-input size-small sticky top-2 mb-2'\n\t\t\t\t\tplaceholder={this.autocompletePlaceholder}\n\t\t\t\t\tonInput={ev => this._onAutoComplete(ev)}\n\t\t\t\t\tref={ref => (this.autocompleteInputRef = ref)}\n\t\t\t\t\tvalue={this.query}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate _setMultiContainerMaxWidth() {\n\t\tif (!this._inputRef || !this._multiContainerRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._multiContainerRef.style.maxWidth = `${\n\t\t\tthis._inputRef.clientWidth - 16\n\t\t}px`;\n\t}\n\n\tprivate _checkSelectedItems() {\n\t\tif (!this._multiContainerRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst containerRect = this._multiContainerRef.getBoundingClientRect();\n\t\tconst items = Array.from(\n\t\t\tthis._multiContainerRef.querySelectorAll('.item')\n\t\t) as HTMLElement[];\n\n\t\tlet amountHidden = 0;\n\n\t\tfor (const child of items) {\n\t\t\tchild.classList.remove('hidden');\n\n\t\t\tconst childRect = child.getBoundingClientRect();\n\t\t\tif (childRect.right > containerRect.right) {\n\t\t\t\tchild.classList.add('hidden');\n\t\t\t\tamountHidden++;\n\t\t\t}\n\t\t}\n\n\t\tthis._amountHidden = amountHidden;\n\t\tconst extra = this._multiContainerRef.querySelector('.extra');\n\t\tif (!extra) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!extra.classList.contains('hidden')) {\n\t\t\textra.classList.add('hidden');\n\t\t}\n\n\t\tif (amountHidden > 0) {\n\t\t\textra.classList.remove('hidden');\n\t\t}\n\t}\n\n\tprivate _onDropdownOpen(ev) {\n\t\tif (!ev.detail || !this.autocompleteInputRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.autocompleteInputRef.focus();\n\t}\n\n\tprivate _selectAllChange() {\n\t\tthis._allSelected = !this._allSelected;\n\t\tthis.selectAllChange.emit(this._allSelected);\n\t}\n\n\tprivate _getDisplay(item, isSelection = false) {\n\t\tlet content =\n\t\t\titem[\n\t\t\t\tisSelection\n\t\t\t\t\t? this.selectionDisplayKey ?? this.displayKey\n\t\t\t\t\t: this.displayKey\n\t\t\t];\n\t\tif (this.avatarKey) {\n\t\t\tcontent = (\n\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t<p-avatar\n\t\t\t\t\t\tsize='xsmall'\n\t\t\t\t\t\tsrc={item[this.avatarKey]}\n\t\t\t\t\t\tletters={item[this.avatarLettersKey]}\n\t\t\t\t\t></p-avatar>\n\t\t\t\t\t{item[this.dropdownDisplayKey ?? this.displayKey]}\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\n\t\tif (this.iconKey && (!isSelection || this.showIconInSelectedItem)) {\n\t\t\tcontent = (\n\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t<p-icon variant={item[this.iconKey] as IconVariant} />\n\t\t\t\t\t{item[this.dropdownDisplayKey ?? this.displayKey]}\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={\n\t\t\t\t\t!isSelection || this.applyClassOnSelectedItem\n\t\t\t\t\t\t? item?.class ?? null\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{content}\n\t\t\t</div>\n\t\t);\n\t}\n}\n"],"version":3}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
2
2
|
import { d as defineCustomElement$2 } from './icon.component.js';
|
|
3
3
|
|
|
4
|
-
const statusComponentCss = ".mr-2{margin-right:.5rem!important}.flex{display:flex!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.text-storm-vague{--tw-text-opacity:1!important;color:rgb(152 154 183/var(--tw-text-opacity))!important}*{box-sizing:border-box}p-status{--tw-text-opacity:1;align-items:center;color:rgb(152 154 183/var(--tw-text-opacity));display:flex;font-size:.875rem;font-weight:500;line-height:1.25rem}p-status p-icon{font-size:1rem;line-height:1.5rem;margin-right:.5rem}p-status.variant-positive{--tw-text-opacity:1;color:rgb(40 209 124/var(--tw-text-opacity))}p-status.variant-unbiased{--tw-text-opacity:1;color:rgb(255 199 45/var(--tw-text-opacity))}p-status.variant-negative{--tw-text-opacity:1;color:rgb(185 30 40/var(--tw-text-opacity))}
|
|
4
|
+
const statusComponentCss = ".mr-2{margin-right:.5rem!important}.flex{display:flex!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.text-storm-vague{--tw-text-opacity:1!important;color:rgb(152 154 183/var(--tw-text-opacity))!important}*{box-sizing:border-box}p-status{--tw-text-opacity:1;align-items:center;color:rgb(152 154 183/var(--tw-text-opacity));display:flex;font-size:.875rem;font-weight:500;line-height:1.25rem}p-status p-icon{font-size:1rem;line-height:1.5rem;margin-right:.5rem}p-status.variant-positive{--tw-text-opacity:1;color:rgb(40 209 124/var(--tw-text-opacity))}p-status.variant-unbiased{--tw-text-opacity:1;color:rgb(255 199 45/var(--tw-text-opacity))}p-status.variant-negative{--tw-text-opacity:1;color:rgb(185 30 40/var(--tw-text-opacity))}";
|
|
5
5
|
|
|
6
6
|
const Status = /*@__PURE__*/ proxyCustomElement(class Status extends HTMLElement {
|
|
7
7
|
constructor() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-status.js","mappings":";;;AAAA,MAAM,kBAAkB,GAAG,
|
|
1
|
+
{"file":"p-status.js","mappings":";;;AAAA,MAAM,kBAAkB,GAAG,2vBAA2vB;;MCQzwB,MAAM;;;;mBAKjB,SAAS;;;;;EAiBV,MAAM;IACL,QACC,EAAC,IAAI,IACJ,KAAK,EAAE,oBAAoB,IAAI,CAAC,OAAO;kBACzB,IAEb,IAAI,CAAC,QAAQ,EAAE,EAChB,eAAQ,CACF,EACN;GACF;EAEO,QAAQ;IACf,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;IAEjD,IAAI,CAAC,IAAI,EAAE;MACV,OAAO;KACP;IAED,QACC,cACC,OAAO,EAAE,IAAI,EACb,IAAI,EAAE,IAAI,CAAC,QAAQ,EACnB,MAAM,EAAE,IAAI,CAAC,UAAU,GACtB,EACD;GACF;EAEO,eAAe;IACtB,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,QAAQ,IAAI,CAAC,OAAO;MACnB,KAAK,UAAU;QACd,IAAI,GAAG,WAAW,CAAC;QACnB,MAAM;MACP,KAAK,UAAU;QACd,IAAI,GAAG,UAAU,CAAC;QAClB,MAAM;MACP,KAAK,UAAU;QACd,IAAI,GAAG,OAAO,CAAC;QACf,MAAM;MACP;QACC,IAAI,GAAG,IAAI,CAAC;QACZ,MAAM;KACP;IAED,OAAO,IAAI,CAAC;GACZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/atoms/status/status.component.scss?tag=p-status","src/components/atoms/status/status.component.tsx"],"sourcesContent":["p-status {\n\t@apply flex items-center;\n\t@apply text-sm text-storm-vague font-medium;\n\n\tp-icon {\n\t\t@apply mr-2 text-base;\n\t}\n\n\t&.variant-positive {\n\t\t@apply text-positive;\n\t}\n\n\t&.variant-unbiased {\n\t\t@apply text-unbiased;\n\t}\n\n\t&.variant-negative {\n\t\t@apply text-negative;\n\t}\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\nimport { RotateOptions } from '../../../types/tailwind';\nimport { IconFlipOptions, IconVariant } from '../icon/icon.component';\n\n@Component({\n\ttag: 'p-status',\n\tstyleUrl: 'status.component.scss',\n})\nexport class Status {\n\t/**\n\t * The variant of the status\n\t */\n\t@Prop() variant: 'default' | 'positive' | 'unbiased' | 'negative' =\n\t\t'default';\n\n\t/**\n\t * Icon to show on the status\n\t */\n\t@Prop() icon: IconVariant;\n\n\t/**\n\t * Icon flip\n\t */\n\t@Prop() iconFlip: IconFlipOptions;\n\n\t/**\n\t * Icon rotate\n\t */\n\t@Prop() iconRotate: RotateOptions;\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={`p-status variant-${this.variant}\n }`}\n\t\t\t>\n\t\t\t\t{this._getIcon()}\n\t\t\t\t<slot />\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate _getIcon() {\n\t\tconst icon = this.icon || this._getVariantIcon();\n\n\t\tif (!icon) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn (\n\t\t\t<p-icon\n\t\t\t\tvariant={icon}\n\t\t\t\tflip={this.iconFlip}\n\t\t\t\trotate={this.iconRotate}\n\t\t\t/>\n\t\t);\n\t}\n\n\tprivate _getVariantIcon() {\n\t\tlet icon = null;\n\t\tswitch (this.variant) {\n\t\t\tcase 'positive':\n\t\t\t\ticon = 'checkmark';\n\t\t\t\tbreak;\n\t\t\tcase 'negative':\n\t\t\t\ticon = 'negative';\n\t\t\t\tbreak;\n\t\t\tcase 'unbiased':\n\t\t\t\ticon = 'clock';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\ticon = null;\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn icon;\n\t}\n}\n"],"version":3}
|
|
@@ -42,7 +42,7 @@ const ModalContainer = class {
|
|
|
42
42
|
};
|
|
43
43
|
ModalContainer.style = modalContainerComponentCss;
|
|
44
44
|
|
|
45
|
-
const modalFooterComponentCss = ".flex{display:flex!important}.rounded-b-none{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.pb-6{padding-bottom:1.5rem!important}*{box-sizing:border-box}:host{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-bottom-left-radius:0;border-bottom-right-radius:0;display:flex;flex-direction:column;padding-bottom:1.5rem;padding-left:1.5rem;padding-right:1.5rem}@media (min-width:64rem){:host{border-bottom-left-radius:.75rem;border-bottom-right-radius:.75rem}}.
|
|
45
|
+
const modalFooterComponentCss = ".flex{display:flex!important}.rounded-b-none{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.pb-6{padding-bottom:1.5rem!important}*{box-sizing:border-box}:host{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-bottom-left-radius:0;border-bottom-right-radius:0;display:flex;flex-direction:column;padding-bottom:1.5rem;padding-left:1.5rem;padding-right:1.5rem}@media (min-width:64rem){:host{border-bottom-left-radius:.75rem;border-bottom-right-radius:.75rem}}.mb-6{margin-bottom:1.5rem!important}.mt-0{margin-top:0!important}.hidden{display:none!important}@media (min-width:64rem){.desktop-xs\\:flex{display:flex!important}}";
|
|
46
46
|
|
|
47
47
|
const ModalFooter = class {
|
|
48
48
|
constructor(hostRef) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-modal-body.p-modal-container.p-modal-footer.p-modal-header.entry.js","mappings":";;AAAA,MAAM,qBAAqB,GAAG,ooBAAooB;;MCOrpB,SAAS;;;mBAIwB,SAAS;mBAK3B,KAAK;mBAKL,IAAI;;EAE/B,MAAM;IACL,QACC,EAAC,IAAI,IACJ,KAAK,EAAE,wBAAwB,IAAI,CAAC,OAAO,IAC1C,IAAI,CAAC,OAAO,IAAI,YACjB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,YAAY,EAAE,IAEnC,eAAQ,CACF,EACN;GACF;;;;ACjCF,MAAM,0BAA0B,GAAG,4rFAA4rF;;ACE/tF;AACA;AACA;AACA;AACA;AAEA,MAAM,UAAU,GAAG;EAClB,EAAE,EAAE,aAAa;EACjB,EAAE,EAAE,oBAAoB;EACxB,EAAE,EAAE,kBAAkB;EACtB,EAAE,EAAE,oBAAoB;EACxB,EAAE,EAAE,oBAAoB;CACxB,CAAC;MAKW,cAAc;;;gBAIgB,IAAI;mBAKnB,KAAK;;EAEhC,MAAM;IACL,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAExC,QACC,EAAC,IAAI,IACJ,KAAK,EAAE,qBACN,IAAI,CAAC,OAAO,IAAI,SACjB,IAAI,SAAS,EAAE,IAEf,eAAQ,CACF,EACN;GACF;;;;AC1CF,MAAM,uBAAuB,GAAG,
|
|
1
|
+
{"file":"p-modal-body.p-modal-container.p-modal-footer.p-modal-header.entry.js","mappings":";;AAAA,MAAM,qBAAqB,GAAG,ooBAAooB;;MCOrpB,SAAS;;;mBAIwB,SAAS;mBAK3B,KAAK;mBAKL,IAAI;;EAE/B,MAAM;IACL,QACC,EAAC,IAAI,IACJ,KAAK,EAAE,wBAAwB,IAAI,CAAC,OAAO,IAC1C,IAAI,CAAC,OAAO,IAAI,YACjB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,YAAY,EAAE,IAEnC,eAAQ,CACF,EACN;GACF;;;;ACjCF,MAAM,0BAA0B,GAAG,4rFAA4rF;;ACE/tF;AACA;AACA;AACA;AACA;AAEA,MAAM,UAAU,GAAG;EAClB,EAAE,EAAE,aAAa;EACjB,EAAE,EAAE,oBAAoB;EACxB,EAAE,EAAE,kBAAkB;EACtB,EAAE,EAAE,oBAAoB;EACxB,EAAE,EAAE,oBAAoB;CACxB,CAAC;MAKW,cAAc;;;gBAIgB,IAAI;mBAKnB,KAAK;;EAEhC,MAAM;IACL,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAExC,QACC,EAAC,IAAI,IACJ,KAAK,EAAE,qBACN,IAAI,CAAC,OAAO,IAAI,SACjB,IAAI,SAAS,EAAE,IAEf,eAAQ,CACF,EACN;GACF;;;;AC1CF,MAAM,uBAAuB,GAAG,4qBAA4qB;;MCO/rB,WAAW;;;;EACvB,MAAM;IACL,QACC,EAAC,IAAI,IAAC,KAAK,EAAC,gBAAgB,IAC3B,iBAAW,KAAK,EAAC,kCAAkC,GAAG,EAEtD,eAAQ,CACF,EACN;GACF;;;;AChBF,MAAM,uBAAuB,GAAG,29BAA29B;;MCO9+B,WAAW;;;;qBAIH,IAAI;;EAUxB,MAAM;IACL,QACC,EAAC,IAAI,IAAC,KAAK,EAAC,gBAAgB,IAC3B,gBACC,eAAQ,CACF,EAEN,IAAI,CAAC,SAAS,KACd,gBACC,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,UAAU,EACf,QAAQ,EAAE,IAAI,EACd,OAAO,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EACpC,IAAI,EAAC,OAAO,GACD,CACZ,CACK,EACN;GACF;;;;;;","names":[],"sources":["src/components/atoms/modal-body/modal-body.component.scss?tag=p-modal-body&encapsulation=shadow","src/components/atoms/modal-body/modal-body.component.tsx","src/components/atoms/modal-container/modal-container.component.scss?tag=p-modal-container","src/components/atoms/modal-container/modal-container.component.tsx","src/components/atoms/modal-footer/modal-footer.component.scss?tag=p-modal-footer&encapsulation=shadow","src/components/atoms/modal-footer/modal-footer.component.tsx","src/components/atoms/modal-header/modal-header.component.scss?tag=p-modal-header&encapsulation=shadow","src/components/atoms/modal-header/modal-header.component.tsx"],"sourcesContent":[":host {\n\t@apply bg-white;\n\t@apply px-6 py-6;\n}\n\n:host(.variant-table-flush) {\n\t@apply p-0 #{!important};\n}\n\n:host(.is-rounded) {\n\t@apply rounded-b-none desktop-xs:rounded-b-xxlarge;\n}\n\n:host(.no-padding) {\n\t@apply p-0;\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n@Component({\n\ttag: 'p-modal-body',\n\tstyleUrl: 'modal-body.component.scss',\n\tshadow: true,\n})\nexport class ModalBody {\n\t/**\n\t * The variant of the modal body\n\t */\n\t@Prop() variant: 'default' | 'table-flush' = 'default';\n\n\t/**\n\t * Wether the modal body should be rounded at the bottom\n\t */\n\t@Prop() rounded: boolean = false;\n\n\t/**\n\t * Wether the body should have padding\n\t */\n\t@Prop() padding: boolean = true;\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={`p-modal-body variant-${this.variant} ${\n\t\t\t\t\tthis.rounded && 'is-rounded'\n\t\t\t\t} ${!this.padding && 'no-padding'}`}\n\t\t\t>\n\t\t\t\t<slot />\n\t\t\t</Host>\n\t\t);\n\t}\n}\n","p-modal-container {\n\t@apply flex flex-col w-full tablet:w-auto z-modal;\n\t@apply rounded-b-none rounded-t-xxlarge desktop-xs:rounded-b-xxlarge;\n\n\t@apply desktop-xs:m-auto;\n\n\t@apply animate-slide-in-bottom desktop-xs:animate-slide-in-bottom-small #{!important};\n\n\t@apply shadow-4 #{!important};\n\n\t&.closing {\n\t\t@apply animate-slide-out-bottom desktop-xs:animate-slide-out-bottom-small #{!important};\n\t}\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n// $modal-xs: 20rem;\n// $modal-sm: 33.5rem;\n// $modal-md: 38rem;\n// $modal-lg: 47.5rem;\n// $modal-xl: 57.5rem;\n\nconst modalSizes = {\n\txs: 'tablet:w-80',\n\tsm: 'tablet:w-[33.5rem]',\n\tmd: 'tablet:w-[38rem]',\n\tlg: 'tablet:w-[47.5rem]',\n\txl: 'tablet:w-[57.5rem]',\n};\n@Component({\n\ttag: 'p-modal-container',\n\tstyleUrl: 'modal-container.component.scss',\n})\nexport class ModalContainer {\n\t/**\n\t * The size of the modal container\n\t */\n\t@Prop() size: 'sm' | 'md' | 'lg' | 'xl' = 'md';\n\n\t/**\n\t * Wether the container is closing\n\t */\n\t@Prop() closing: boolean = false;\n\n\trender() {\n\t\tconst sizeClass = modalSizes[this.size];\n\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={`p-modal-container ${\n\t\t\t\t\tthis.closing && 'closing'\n\t\t\t\t} ${sizeClass}`}\n\t\t\t>\n\t\t\t\t<slot />\n\t\t\t</Host>\n\t\t);\n\t}\n}\n",":host {\n\t@apply bg-white;\n\t@apply flex flex-col;\n\t@apply pb-6 px-6;\n\t@apply rounded-b-none desktop-xs:rounded-b-xxlarge;\n}\n","import { Component, h, Host } from '@stencil/core';\n\n@Component({\n\ttag: 'p-modal-footer',\n\tstyleUrl: 'modal-footer.component.scss',\n\tshadow: true,\n})\nexport class ModalFooter {\n\trender() {\n\t\treturn (\n\t\t\t<Host class=\"p-modal-footer\">\n\t\t\t\t<p-divider class=\"mb-6 mt-0 hidden desktop-xs:flex\" />\n\n\t\t\t\t<slot />\n\t\t\t</Host>\n\t\t);\n\t}\n}\n",":host {\n\t@apply bg-mystic rounded-t-xxlarge;\n\t@apply flex justify-between items-center;\n\t@apply p-4 desktop-xs:p-6;\n\n\t@apply text-storm-dark text-xl font-semibold;\n\t@apply desktop-xs:text-3xl desktop-xs:font-bold;\n}\n","import { Component, Event, EventEmitter, h, Host, Prop } from '@stencil/core';\n\n@Component({\n\ttag: 'p-modal-header',\n\tstyleUrl: 'modal-header.component.scss',\n\tshadow: true,\n})\nexport class ModalHeader {\n\t/**\n\t * Wether to show the close button on mobile\n\t */\n\t@Prop() showClose = true;\n\n\t/**\n\t * Close click event\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tclose: EventEmitter<MouseEvent>;\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class=\"p-modal-header\">\n\t\t\t\t<span>\n\t\t\t\t\t<slot />\n\t\t\t\t</span>\n\n\t\t\t\t{this.showClose && (\n\t\t\t\t\t<p-button\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\ticon=\"negative\"\n\t\t\t\t\t\ticonOnly={true}\n\t\t\t\t\t\tonClick={(ev) => this.close.emit(ev)}\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t></p-button>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n}\n"],"version":3}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-7b917f6b.js';
|
|
2
2
|
import { c as childOf } from './child-of-fec6ab3a.js';
|
|
3
3
|
|
|
4
|
-
const selectComponentCss = ".pointer-events-none{pointer-events:none!important}.pointer-events-auto{pointer-events:auto!important}.absolute{position:absolute!important}.relative{position:relative!important}.bottom-0{bottom:0!important}.left-0{left:0!important}.flex{display:flex!important}.h-10{height:2.5rem!important}.h-8{height:2rem!important}.h-\\[1\\.625rem\\]{height:1.625rem!important}.w-full{width:100%!important}.cursor-pointer{cursor:pointer!important}.flex-col{flex-direction:column!important}.items-center{align-items:center!important}.gap-2{gap:.5rem!important}.overflow-hidden{overflow:hidden!important}.rounded{border-radius:.25rem!important}.border-b{border-bottom-width:1px!important}.border-l{border-left-width:1px!important}.border-r{border-right-width:1px!important}.border-solid{border-style:solid!important}.border-indigo{--tw-border-opacity:1!important;border-color:rgb(82 138 250/var(--tw-border-opacity))!important}.border-mystic-dark{--tw-border-opacity:1!important;border-color:rgb(218 230 240/var(--tw-border-opacity))!important}.bg-indigo-light{background-color:rgb(241 246 255/var(--tw-bg-opacity))!important}.bg-indigo-light,.bg-white{--tw-bg-opacity:1!important}.bg-white{background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.
|
|
4
|
+
const selectComponentCss = ".pointer-events-none{pointer-events:none!important}.pointer-events-auto{pointer-events:auto!important}.absolute{position:absolute!important}.relative{position:relative!important}.bottom-0{bottom:0!important}.left-0{left:0!important}.flex{display:flex!important}.h-10{height:2.5rem!important}.h-8{height:2rem!important}.h-\\[1\\.625rem\\]{height:1.625rem!important}.w-full{width:100%!important}.cursor-pointer{cursor:pointer!important}.flex-col{flex-direction:column!important}.items-center{align-items:center!important}.gap-2{gap:.5rem!important}.overflow-hidden{overflow:hidden!important}.whitespace-nowrap{white-space:nowrap!important}.rounded{border-radius:.25rem!important}.border-b{border-bottom-width:1px!important}.border-l{border-left-width:1px!important}.border-r{border-right-width:1px!important}.border-solid{border-style:solid!important}.border-indigo{--tw-border-opacity:1!important;border-color:rgb(82 138 250/var(--tw-border-opacity))!important}.border-mystic-dark{--tw-border-opacity:1!important;border-color:rgb(218 230 240/var(--tw-border-opacity))!important}.bg-indigo-light{background-color:rgb(241 246 255/var(--tw-bg-opacity))!important}.bg-indigo-light,.bg-white{--tw-bg-opacity:1!important}.bg-white{background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.text-base{font-size:1rem!important;line-height:1.5rem!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.text-xs{font-size:.75rem!important;line-height:1rem!important}.font-semibold{font-weight:600!important}.outline-none{outline:2px solid transparent!important;outline-offset:2px!important}*{box-sizing:border-box}p-select{display:flex;flex-direction:column;position:relative;text-overflow:ellipsis;width:100%}p-select .p-input{--tw-text-opacity:1;--tw-bg-opacity:1;--tw-border-opacity:1!important;align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(218 230 240/var(--tw-border-opacity))!important;border-radius:.375rem;border-style:solid!important;border-width:1px;color:rgb(39 40 56/var(--tw-text-opacity));display:flex;font-size:1rem;height:2.5rem;justify-content:flex-start;line-height:1.5rem;outline:2px solid transparent!important;outline-offset:2px!important;padding-left:1rem;padding-right:1rem;width:100%!important}p-select .p-input::-moz-placeholder{--tw-text-opacity:1;color:rgb(128 130 158/var(--tw-text-opacity));font-size:1rem;line-height:1.5rem}p-select .p-input::placeholder{--tw-text-opacity:1;color:rgb(128 130 158/var(--tw-text-opacity));font-size:1rem;line-height:1.5rem}p-select .p-input.active,p-select .p-input.focus,p-select .p-input:focus,p-select .p-input:focus-visible,p-select .p-input:focus-within,p-select .p-input[active]{--tw-border-opacity:1!important;border-color:rgb(82 138 250/var(--tw-border-opacity))!important;outline:2px solid transparent!important;outline-offset:2px!important}p-select .p-input.size-small{font-size:.875rem;height:2rem!important;line-height:1.25rem}p-select .p-input.size-small::-moz-placeholder{font-size:.875rem;line-height:1.25rem}p-select .p-input.size-small::placeholder{font-size:.875rem;line-height:1.25rem}p-select .multi-container{align-items:center;bottom:0;display:flex;gap:.5rem;height:2.5rem;left:0;overflow:hidden;padding:1rem .5rem;pointer-events:none;position:absolute;width:100%}p-select .multi-container.size-small{height:2rem;padding:.5rem .25rem}p-select .multi-container .item{--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(241 246 255/var(--tw-bg-opacity));border-radius:.25rem;color:rgb(44 75 169/var(--tw-text-opacity));cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;height:1.625rem;line-height:1.25rem;padding-left:.5rem;padding-right:.5rem;pointer-events:auto;white-space:nowrap}p-select .multi-container .item p-icon{--tw-text-opacity:1;color:rgb(82 138 250/var(--tw-text-opacity));font-size:.75rem;line-height:1rem}p-select .multi-container .extra{--tw-text-opacity:1;color:rgb(128 130 158/var(--tw-text-opacity));font-size:.875rem;line-height:1.25rem;pointer-events:none}.static{position:static!important}.sticky{position:sticky!important}.top-0{top:0!important}.top-2{top:.5rem!important}.-mt-2{margin-top:-.5rem!important}.mb-2{margin-bottom:.5rem!important}.hidden{display:none!important}.h-6{height:1.5rem!important}.w-6{width:1.5rem!important}.justify-center{justify-content:center!important}.gap-1{gap:.25rem!important}.p-2{padding:.5rem!important}.pt-2{padding-top:.5rem!important}.text-center{text-align:center!important}.text-lg{font-size:1.125rem!important;line-height:1.75rem!important}.font-medium{font-weight:500!important}.text-indigo{--tw-text-opacity:1!important;color:rgb(82 138 250/var(--tw-text-opacity))!important}.text-storm-medium{--tw-text-opacity:1!important;color:rgb(128 130 158/var(--tw-text-opacity))!important}.blur{--tw-blur:blur(8px)!important}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}";
|
|
5
5
|
|
|
6
6
|
const Select = class {
|
|
7
7
|
constructor(hostRef) {
|
|
@@ -138,7 +138,7 @@ const Select = class {
|
|
|
138
138
|
var _a;
|
|
139
139
|
return (h(Host, { class: 'p-select' }, h("p-dropdown", { disableTriggerClick: true, calculateWidth: true, insideClick: true, scrollable: this.enableAutocomplete ? 'large' : true, show: this._showDropdown, onIsOpen: ev => this._onDropdownOpen(ev) }, h("p-input-group", { slot: 'trigger', icon: this.icon, size: this.size, prefix: this.prefix, label: this.label, helper: this.helper, required: this.required, error: this.error, disabled: this.disabled, focused: this._showDropdown, forceShowTooltip: ((_a = this.error) === null || _a === void 0 ? void 0 : _a.length) && this._showDropdown }, h("div", { slot: 'input', class: `p-input read-only cursor-pointer ${this._displayValue === this.placeholder
|
|
140
140
|
? 'text-base text-storm-medium'
|
|
141
|
-
: ''}`, contenteditable: true, onFocus: ev => this._onFocus(ev), onMouseDown: ev => this._onMouseDown(ev), onClick: () => this._onClick(), ref: ref => (this._inputRef = ref) }, this._displayValue), this.showChevron && (h("p-icon", { variant: 'chevron', slot: 'suffix' }))), h("div", { slot: 'items' }, this.loading ? this._getLoadingItems() : this._getItems(), this.showAddItem && this._getAddItem()))));
|
|
141
|
+
: 'font-medium'}`, contenteditable: true, onFocus: ev => this._onFocus(ev), onMouseDown: ev => this._onMouseDown(ev), onClick: () => this._onClick(), ref: ref => (this._inputRef = ref) }, this._displayValue), this.showChevron && (h("p-icon", { variant: 'chevron', slot: 'suffix' }))), h("div", { slot: 'items' }, this.loading ? this._getLoadingItems() : this._getItems(), this.showAddItem && this._getAddItem()))));
|
|
142
142
|
}
|
|
143
143
|
documentClickHandler({ target }) {
|
|
144
144
|
if (!this._showDropdown || childOf(target, this._el)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-select.entry.js","mappings":"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","names":[],"sources":["src/components/molecules/select/select.component.scss?tag=p-select","src/components/molecules/select/select.component.tsx"],"sourcesContent":["@import '../../../style/form/mixins';\n\np-select {\n\t@apply flex w-full flex-col relative text-ellipsis;\n\n\t.p-input {\n\t\t@include inputDefaultState();\n\t}\n\n\t.multi-container {\n\t\t@apply absolute bottom-0 left-0 h-10 flex gap-2 items-center px-2 py-4 overflow-hidden pointer-events-none w-full;\n\n\t\t&.size-small {\n\t\t\t@apply px-1 py-2 h-8;\n\t\t}\n\n\t\t.item {\n\t\t\t@apply bg-indigo-light rounded px-2 flex gap-2 items-center cursor-pointer text-indigo-dark h-[1.625rem] text-sm font-semibold pointer-events-auto whitespace-nowrap;\n\n\t\t\tp-icon {\n\t\t\t\t@apply text-indigo text-xs;\n\t\t\t}\n\t\t}\n\n\t\t.extra {\n\t\t\t@apply text-sm text-storm-medium pointer-events-none;\n\t\t}\n\t}\n}\n","import {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tState,\n\tWatch,\n} from '@stencil/core';\nimport { childOf } from '../../../utils';\nimport { IconVariant } from '../../atoms/icon/icon.component';\n\n@Component({\n\ttag: 'p-select',\n\tstyleUrl: 'select.component.scss',\n\tshadow: false,\n})\nexport class Select {\n\t/**\n\t * The items to show in the dropdown\n\t */\n\t@Prop() items: string | any[];\n\n\t/**\n\t * Wether to enable multi select\n\t */\n\t@Prop({ reflect: true }) multi: boolean;\n\n\t/**\n\t * Icon of the select box\n\t */\n\t@Prop() icon: IconVariant;\n\n\t/**\n\t * The current query\n\t */\n\t@Prop() query: string;\n\n\t/**\n\t * The placeholder of the input\n\t */\n\t@Prop() placeholder: string;\n\n\t/**\n\t * The placeholder of the input used for auto complete\n\t */\n\t@Prop() autocompletePlaceholder: string = 'Search...';\n\n\t/**\n\t * The current value\n\t */\n\t@Prop() value: any;\n\n\t/**\n\t * The key of the object to display\n\t */\n\t@Prop() displayKey: string = 'text';\n\n\t/**\n\t * The key of the object to display in the dropdown (overwrites displayKey)\n\t */\n\t@Prop() dropdownDisplayKey: string | undefined;\n\n\t/**\n\t * The key of the object to display in the input (overwrites displayKey)\n\t */\n\t@Prop() selectionDisplayKey: string | undefined;\n\n\t/**\n\t * The key of the object to return\n\t */\n\t@Prop() valueKey: string;\n\n\t/**\n\t * The key of avatar within an item to show\n\t */\n\t@Prop() avatarKey: string;\n\n\t/**\n\t * The key of icon variant within an item to show\n\t */\n\t@Prop() iconKey: string;\n\n\t/**\n\t * Wether to show the icon also on the selected Item\n\t */\n\t@Prop() showIconInSelectedItem: string;\n\n\t/**\n\t * The key of a class in an item to apply\n\t */\n\t@Prop() classKey: string = 'class';\n\n\t/**\n\t * Wether to apply the item's class also on the selected item\n\t */\n\t@Prop() applyClassOnSelectedItem: string;\n\n\t/**\n\t * The key of avatar letters within an item to show when the avatar url doesn't work\n\t */\n\t@Prop() avatarLettersKey: string;\n\n\t/**\n\t * The key to identify an object\n\t */\n\t@Prop() identifierKey: string;\n\n\t/**\n\t * The key of the object to display\n\t */\n\t@Prop() queryKey?: string;\n\n\t/**\n\t * Wether to automatically select the first item\n\t */\n\t@Prop() autoSelectFirst: boolean = true;\n\n\t/**\n\t * Wether to show the chevron or not\n\t */\n\t@Prop() showChevron: boolean = true;\n\n\t/**\n\t * The maximum amount of items to display\n\t */\n\t@Prop() maxDisplayedItems: number = 10;\n\n\t/**\n\t * Wether to enable autocomplete\n\t */\n\t@Prop() enableAutocomplete: boolean = true;\n\n\t/**\n\t * Wether the input uses async filtering\n\t */\n\t@Prop() asyncFilter: boolean = false;\n\n\t/**\n\t * Wether to show loading items\n\t */\n\t@Prop() loading: boolean = false;\n\n\t/**\n\t * Wether to show the select all item with multi select\n\t */\n\t@Prop() enableSelectAll: boolean = false;\n\n\t/**\n\t * The text of the select all item\n\t */\n\t@Prop() selectAllText: string = 'Select all';\n\n\t/**\n\t * The icon to prefix for select all\n\t */\n\t@Prop() selectAllIcon: IconVariant | undefined;\n\n\t/**\n\t * Event when the query of the autocomplete changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tqueryChange: EventEmitter<string>;\n\n\t/**\n\t * Event when the value changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tvalueChange: EventEmitter<any>;\n\n\t/**\n\t * Event when the select all item has been selected or not\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tselectAllChange: EventEmitter<any>;\n\n\t/**\n\t * Event when the dropdown shows\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tdropdownShown: EventEmitter<any>;\n\n\t/**\n\t * The size of the input group used by the select\n\t */\n\t@Prop() size: 'small' | 'medium' = 'medium';\n\n\t/**\n\t * The prefix of the input group used by the select\n\t */\n\t@Prop() prefix: string;\n\n\t/**\n\t * The label of the input group used by the select\n\t */\n\t@Prop() label: string;\n\n\t/**\n\t * The helper of the input group used by the select\n\t */\n\t@Prop() helper: string;\n\n\t/**\n\t * Wether the field is required\n\t */\n\t@Prop({ reflect: true }) required: boolean;\n\n\t/**\n\t * The helper of the input group used by the select\n\t */\n\t@Prop({ reflect: true }) error: string;\n\n\t/**\n\t * Wether the input group is disabled used by the select\n\t */\n\t@Prop({ reflect: true }) disabled: boolean = false;\n\n\t/**\n\t * Wether to show a \"add\" item\n\t */\n\t@Prop() showAddItem: boolean = false;\n\n\t/**\n\t * The text to show when add item is being shown\n\t */\n\t@Prop() addItemText: string = 'Add item';\n\n\t/**\n\t * Event when the add item is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tadd: EventEmitter;\n\n\t/**\n\t * The text to show when items is empty\n\t */\n\t@Prop() emptyStateText: string = 'No items available';\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@State() private _showDropdown: any = false;\n\t@State() private _selectedItem: any = null;\n\n\t@State() private _allSelected: boolean = false;\n\n\t@State() private _amountHidden = 0;\n\n\tprivate _inputRef: HTMLDivElement;\n\tprivate autocompleteInputRef: HTMLInputElement;\n\tprivate _multiContainerRef: HTMLElement;\n\n\tprivate _resizeObserver: ResizeObserver;\n\tprivate _resizeDebounceTimer: NodeJS.Timer;\n\n\tget _items() {\n\t\tif (!this.items || this.loading) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet items =\n\t\t\ttypeof this.items === 'string' ? JSON.parse(this.items) : this.items;\n\n\t\tif (typeof items?.[0] === 'string') {\n\t\t\tthis.displayKey = 'text';\n\t\t\tthis.valueKey = 'value';\n\n\t\t\titems = items.map(str => ({\n\t\t\t\tvalue: str,\n\t\t\t\ttext: str,\n\t\t\t}));\n\t\t}\n\n\t\tif (this.query?.length && !this.asyncFilter) {\n\t\t\titems = items.filter(item => {\n\t\t\t\tif (this.queryKey) {\n\t\t\t\t\treturn this._checkvalue(this.queryKey, item);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tthis._checkvalue(this._identifierKey, item) ||\n\t\t\t\t\tthis._checkvalue(this.displayKey, item)\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\n\t\treturn items?.slice(0, this.maxDisplayedItems);\n\t}\n\n\tget _displayValue() {\n\t\tif (!this._selectedItem) {\n\t\t\treturn this.placeholder;\n\t\t}\n\n\t\tif (this.multi) {\n\t\t\tif (this._selectedItem?.length === 0) {\n\t\t\t\treturn this.placeholder;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclass={`multi-container size-${this.size}`}\n\t\t\t\t\tref={ref => (this._multiContainerRef = ref)}\n\t\t\t\t>\n\t\t\t\t\t{this._selectedItem.map(item => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass='item'\n\t\t\t\t\t\t\tonClick={() => this._selectValue(item)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{item[this.selectionDisplayKey ?? this.displayKey]}\n\t\t\t\t\t\t\t<p-icon variant='negative' />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\n\t\t\t\t\t<div class='extra hidden'>+{this._amountHidden}</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn this._getDisplay(this._selectedItem, true);\n\t}\n\n\tget _identifierKey() {\n\t\treturn this.identifierKey ?? this.valueKey ?? 'value';\n\t}\n\n\tcomponentDidLoad() {\n\t\tif (!this.valueKey && !this.identifierKey) {\n\t\t\tthrow new Error('You must provide a valueKey or identifierKey');\n\t\t}\n\n\t\tif (this.multi) {\n\t\t\tthis._setMultiContainerMaxWidth();\n\n\t\t\tthis._resizeObserver = new ResizeObserver(() => {\n\t\t\t\tif (this._resizeDebounceTimer) {\n\t\t\t\t\tclearTimeout(this._resizeDebounceTimer);\n\t\t\t\t\tthis._resizeDebounceTimer = null;\n\t\t\t\t}\n\n\t\t\t\tthis._resizeDebounceTimer = setTimeout(() => {\n\t\t\t\t\tthis._setMultiContainerMaxWidth();\n\t\t\t\t\tthis._checkSelectedItems();\n\t\t\t\t}, 200);\n\t\t\t});\n\t\t\tthis._resizeObserver.observe(this._el);\n\t\t}\n\n\t\tif (this.value) {\n\t\t\tthis._valueChange();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.itemChanges();\n\t}\n\n\tcomponentDidRender() {\n\t\tif (this.multi) {\n\t\t\tthis._setMultiContainerMaxWidth();\n\t\t\tthis._checkSelectedItems();\n\t\t}\n\t}\n\n\tdisconnectedCallback() {\n\t\tif (this.multi) {\n\t\t\tthis._resizeObserver.disconnect();\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class='p-select'>\n\t\t\t\t<p-dropdown\n\t\t\t\t\tdisableTriggerClick={true}\n\t\t\t\t\tcalculateWidth={true}\n\t\t\t\t\tinsideClick={true}\n\t\t\t\t\tscrollable={this.enableAutocomplete ? 'large' : true}\n\t\t\t\t\tshow={this._showDropdown}\n\t\t\t\t\tonIsOpen={ev => this._onDropdownOpen(ev)}\n\t\t\t\t>\n\t\t\t\t\t<p-input-group\n\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\ticon={this.icon}\n\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\tprefix={this.prefix}\n\t\t\t\t\t\tlabel={this.label}\n\t\t\t\t\t\thelper={this.helper}\n\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\terror={this.error}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tfocused={this._showDropdown}\n\t\t\t\t\t\tforceShowTooltip={this.error?.length && this._showDropdown}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tslot='input'\n\t\t\t\t\t\t\tclass={`p-input read-only cursor-pointer ${\n\t\t\t\t\t\t\t\tthis._displayValue === this.placeholder\n\t\t\t\t\t\t\t\t\t? 'text-base text-storm-medium'\n\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\tcontenteditable\n\t\t\t\t\t\t\tonFocus={ev => this._onFocus(ev)}\n\t\t\t\t\t\t\tonMouseDown={ev => this._onMouseDown(ev)}\n\t\t\t\t\t\t\tonClick={() => this._onClick()}\n\t\t\t\t\t\t\tref={ref => (this._inputRef = ref)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this._displayValue}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{this.showChevron && (\n\t\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\t\tvariant='chevron'\n\t\t\t\t\t\t\t\tslot='suffix'\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</p-input-group>\n\t\t\t\t\t<div slot='items'>\n\t\t\t\t\t\t{this.loading ? this._getLoadingItems() : this._getItems()}\n\t\t\t\t\t\t{this.showAddItem && this._getAddItem()}\n\t\t\t\t\t</div>\n\t\t\t\t</p-dropdown>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('click', { target: 'document', capture: true })\n\tprotected documentClickHandler({ target }) {\n\t\tif (!this._showDropdown || childOf(target, this._el)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = false;\n\t}\n\n\t@Watch('value')\n\tprivate _valueChange() {\n\t\tthis._preselectItem();\n\t}\n\n\t@Watch('items')\n\tpublic itemChanges() {\n\t\tthis._preselectItem();\n\t}\n\n\t@Watch('_showDropdown')\n\tpublic _showDropdownChanges() {\n\t\tthis.dropdownShown.emit({\n\t\t\tvalue: this._showDropdown,\n\t\t\tquery: this.query,\n\t\t});\n\t}\n\n\t@Watch('multi')\n\tpublic multiChanges() {\n\t\tif (this._selectedItem && !Array.isArray(this._selectedItem)) {\n\t\t\tthis._selectedItem = [];\n\t\t}\n\t}\n\n\tprivate _preselectItem() {\n\t\tlet value =\n\t\t\ttypeof this.value === 'string' && this.multi\n\t\t\t\t? JSON.parse(this.value)\n\t\t\t\t: this.value;\n\n\t\tif (this.multi) {\n\t\t\tif (!Array.isArray(value)) {\n\t\t\t\tthis.value = [];\n\t\t\t\tthis.valueChange.emit(this.value);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.value = value;\n\t\t\tif (!value.length) {\n\t\t\t\tthis._selectedItem = [];\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._selectedItem =\n\t\t\t\t!!this.valueKey && this.valueKey !== 'false'\n\t\t\t\t\t? this._items.filter(i => value.includes(i?.[this.valueKey]))\n\t\t\t\t\t: [...value];\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._selectedItem && !value && this.autoSelectFirst) {\n\t\t\tvalue = this._items[0];\n\t\t}\n\n\t\tconst identifier =\n\t\t\ttypeof value === 'object' && value !== null\n\t\t\t\t? value[this._identifierKey]\n\t\t\t\t: value;\n\t\tconst parsedValue =\n\t\t\ttypeof identifier === 'string' || typeof identifier === 'number'\n\t\t\t\t? identifier\n\t\t\t\t: JSON.stringify(identifier);\n\n\t\tconst currentValue = this._selectedItem\n\t\t\t? this._selectedItem?.[this._identifierKey]\n\t\t\t: null;\n\t\tconst currentParsedValue =\n\t\t\ttypeof currentValue === 'string' || typeof currentValue === 'number'\n\t\t\t\t? currentValue\n\t\t\t\t: JSON.stringify(currentValue);\n\n\t\tif (this._selectedItem && currentParsedValue === parsedValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._items?.length && value) {\n\t\t\tthis._selectValue(value, false);\n\t\t\treturn;\n\t\t}\n\n\t\tconst item = this._items.find(i => {\n\t\t\tconst itemIdentifier = i?.[this._identifierKey];\n\t\t\tconst parsedItemIdentifier =\n\t\t\t\ttypeof itemIdentifier === 'string' || typeof itemIdentifier === 'number'\n\t\t\t\t\t? itemIdentifier\n\t\t\t\t\t: JSON.stringify(itemIdentifier);\n\n\t\t\treturn parsedItemIdentifier === parsedValue;\n\t\t});\n\n\t\tthis._selectValue(!!item ? item : value, false);\n\t}\n\n\tprivate _selectValue(item, forceBlur = true) {\n\t\tlet value =\n\t\t\t!!this.valueKey && this.valueKey !== 'false' && item !== null\n\t\t\t\t? item?.[this.valueKey]\n\t\t\t\t: item;\n\n\t\tif (this.multi) {\n\t\t\tif (!this._selectedItem || !Array.isArray(this._selectedItem)) {\n\t\t\t\tthis._selectedItem = [];\n\t\t\t}\n\n\t\t\tif (!this.value || !Array.isArray(this.value)) {\n\t\t\t\tthis.value = [];\n\t\t\t}\n\n\t\t\tconst selectedItem = [...this._selectedItem];\n\t\t\tconst valueArray = [...this.value];\n\n\t\t\tconst includesIndex = selectedItem.findIndex(\n\t\t\t\ti => i[this._identifierKey] === item[this._identifierKey]\n\t\t\t);\n\t\t\tif (includesIndex === -1) {\n\t\t\t\tselectedItem.push(item);\n\t\t\t\tvalueArray.push(value);\n\t\t\t} else {\n\t\t\t\tselectedItem.splice(includesIndex, 1);\n\t\t\t\tvalueArray.splice(includesIndex, 1);\n\t\t\t}\n\n\t\t\tthis._selectedItem = selectedItem;\n\t\t\tthis.value = valueArray;\n\t\t\tthis.valueChange.emit(valueArray);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._selectedItem = item;\n\t\tthis.value = value;\n\t\tthis.valueChange.emit(value);\n\n\t\tthis._onBlur(forceBlur);\n\t}\n\n\tprivate _onFocus(ev) {\n\t\tev.preventDefault();\n\t\tthis._inputRef.blur();\n\n\t\tif (!this._showDropdown) {\n\t\t\tthis._showDropdown = true;\n\t\t}\n\n\t\treturn;\n\t}\n\n\tprivate _onMouseDown(ev) {\n\t\tif (this.enableAutocomplete) {\n\t\t\treturn;\n\t\t}\n\n\t\tev.preventDefault();\n\t}\n\n\tprivate _onClick() {\n\t\tif (this.enableAutocomplete) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = !this._showDropdown;\n\t}\n\n\tprivate _onBlur(force = false) {\n\t\tif (this.enableAutocomplete && !force) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = false;\n\t}\n\n\tprivate _onAutoComplete(ev) {\n\t\tif (!this.enableAutocomplete) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = true;\n\n\t\tthis.query = ev.target.value;\n\t\tthis.queryChange.emit(ev.target.value);\n\t}\n\n\tprivate _checkvalue(key, item) {\n\t\treturn (\n\t\t\titem?.[key]\n\t\t\t\t?.toString()\n\t\t\t\t?.toLowerCase()\n\t\t\t\t.indexOf(this.query?.toLowerCase()) >= 0\n\t\t);\n\t}\n\n\tprivate _getItems() {\n\t\tlet items = this._items.map(item => (\n\t\t\t<p-dropdown-menu-item\n\t\t\t\tonClick={() => this._selectValue(item)}\n\t\t\t\tactive={\n\t\t\t\t\tthis.multi &&\n\t\t\t\t\t!!this._selectedItem &&\n\t\t\t\t\tArray.isArray(this._selectedItem)\n\t\t\t\t\t\t? this._selectedItem.findIndex(\n\t\t\t\t\t\t\t\ti => i[this._identifierKey] === item[this._identifierKey]\n\t\t\t\t\t\t ) >= 0\n\t\t\t\t\t\t: item[this._identifierKey] ===\n\t\t\t\t\t\t this._selectedItem?.[this._identifierKey]\n\t\t\t\t}\n\t\t\t\tvariant={this.multi ? 'checkbox' : 'default'}\n\t\t\t>\n\t\t\t\t{this._getDisplay(item)}\n\t\t\t</p-dropdown-menu-item>\n\t\t));\n\n\t\tif (!this._items.length) {\n\t\t\titems = [\n\t\t\t\t<p class='w-full p-2 text-center text-sm text-storm-medium'>\n\t\t\t\t\t{this.emptyStateText}\n\t\t\t\t</p>,\n\t\t\t];\n\t\t}\n\n\t\tif (this.enableSelectAll && this._items.length) {\n\t\t\titems.unshift(\n\t\t\t\t<p-dropdown-menu-item\n\t\t\t\t\tvariant='checkbox'\n\t\t\t\t\tonClick={() => this._selectAllChange()}\n\t\t\t\t\tactive={this._allSelected}\n\t\t\t\t>\n\t\t\t\t\t{this.selectAllIcon?.length ? (\n\t\t\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t\t\t<div class='flex w-6 justify-center text-lg'>\n\t\t\t\t\t\t\t\t<p-icon variant={this.selectAllIcon} />\n\t\t\t\t\t\t\t</div>{' '}\n\t\t\t\t\t\t\t{this.selectAllText}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tthis.selectAllText\n\t\t\t\t\t)}\n\t\t\t\t</p-dropdown-menu-item>\n\t\t\t);\n\t\t}\n\n\t\tif (this.enableAutocomplete) {\n\t\t\titems.unshift(this._getAutoCompleteItem());\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tprivate _getAddItem() {\n\t\treturn (\n\t\t\t<p-dropdown-menu-item onClick={() => this.add.emit()}>\n\t\t\t\t<span class='flex items-center gap-1 font-semibold text-indigo'>\n\t\t\t\t\t{this.addItemText}\n\t\t\t\t\t<p-icon variant='plus' />\n\t\t\t\t</span>\n\t\t\t</p-dropdown-menu-item>\n\t\t);\n\t}\n\n\tprivate _getLoadingItems() {\n\t\tconst items = [0, 0, 0].map(() => (\n\t\t\t<p-dropdown-menu-item enableHover={false}>\n\t\t\t\t<p-loader\n\t\t\t\t\tvariant='ghost'\n\t\t\t\t\tclass='h-6 w-full rounded'\n\t\t\t\t/>\n\t\t\t</p-dropdown-menu-item>\n\t\t));\n\n\t\tif (this.enableAutocomplete) {\n\t\t\titems.unshift(this._getAutoCompleteItem());\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tprivate _getAutoCompleteItem() {\n\t\treturn (\n\t\t\t<div class='sticky top-0 -mt-2 bg-white pt-2'>\n\t\t\t\t<input\n\t\t\t\t\tclass='p-input size-small sticky top-2 mb-2'\n\t\t\t\t\tplaceholder={this.autocompletePlaceholder}\n\t\t\t\t\tonInput={ev => this._onAutoComplete(ev)}\n\t\t\t\t\tref={ref => (this.autocompleteInputRef = ref)}\n\t\t\t\t\tvalue={this.query}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate _setMultiContainerMaxWidth() {\n\t\tif (!this._inputRef || !this._multiContainerRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._multiContainerRef.style.maxWidth = `${\n\t\t\tthis._inputRef.clientWidth - 16\n\t\t}px`;\n\t}\n\n\tprivate _checkSelectedItems() {\n\t\tif (!this._multiContainerRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst containerRect = this._multiContainerRef.getBoundingClientRect();\n\t\tconst items = Array.from(\n\t\t\tthis._multiContainerRef.querySelectorAll('.item')\n\t\t) as HTMLElement[];\n\n\t\tlet amountHidden = 0;\n\n\t\tfor (const child of items) {\n\t\t\tchild.classList.remove('hidden');\n\n\t\t\tconst childRect = child.getBoundingClientRect();\n\t\t\tif (childRect.right > containerRect.right) {\n\t\t\t\tchild.classList.add('hidden');\n\t\t\t\tamountHidden++;\n\t\t\t}\n\t\t}\n\n\t\tthis._amountHidden = amountHidden;\n\t\tconst extra = this._multiContainerRef.querySelector('.extra');\n\t\tif (!extra) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!extra.classList.contains('hidden')) {\n\t\t\textra.classList.add('hidden');\n\t\t}\n\n\t\tif (amountHidden > 0) {\n\t\t\textra.classList.remove('hidden');\n\t\t}\n\t}\n\n\tprivate _onDropdownOpen(ev) {\n\t\tif (!ev.detail || !this.autocompleteInputRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.autocompleteInputRef.focus();\n\t}\n\n\tprivate _selectAllChange() {\n\t\tthis._allSelected = !this._allSelected;\n\t\tthis.selectAllChange.emit(this._allSelected);\n\t}\n\n\tprivate _getDisplay(item, isSelection = false) {\n\t\tlet content =\n\t\t\titem[\n\t\t\t\tisSelection\n\t\t\t\t\t? this.selectionDisplayKey ?? this.displayKey\n\t\t\t\t\t: this.displayKey\n\t\t\t];\n\t\tif (this.avatarKey) {\n\t\t\tcontent = (\n\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t<p-avatar\n\t\t\t\t\t\tsize='xsmall'\n\t\t\t\t\t\tsrc={item[this.avatarKey]}\n\t\t\t\t\t\tletters={item[this.avatarLettersKey]}\n\t\t\t\t\t></p-avatar>\n\t\t\t\t\t{item[this.dropdownDisplayKey ?? this.displayKey]}\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\n\t\tif (this.iconKey && (!isSelection || this.showIconInSelectedItem)) {\n\t\t\tcontent = (\n\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t<p-icon variant={item[this.iconKey] as IconVariant} />\n\t\t\t\t\t{item[this.dropdownDisplayKey ?? this.displayKey]}\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={\n\t\t\t\t\t!isSelection || this.applyClassOnSelectedItem\n\t\t\t\t\t\t? item?.class ?? null\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{content}\n\t\t\t</div>\n\t\t);\n\t}\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-select.entry.js","mappings":"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","names":[],"sources":["src/components/molecules/select/select.component.scss?tag=p-select","src/components/molecules/select/select.component.tsx"],"sourcesContent":["@import '../../../style/form/mixins';\n\np-select {\n\t@apply relative flex w-full flex-col text-ellipsis;\n\n\t.p-input {\n\t\t@include inputDefaultState();\n\t}\n\n\t.multi-container {\n\t\t@apply pointer-events-none absolute bottom-0 left-0 flex h-10 w-full items-center gap-2 overflow-hidden px-2 py-4;\n\n\t\t&.size-small {\n\t\t\t@apply h-8 px-1 py-2;\n\t\t}\n\n\t\t.item {\n\t\t\t@apply pointer-events-auto flex h-[1.625rem] cursor-pointer items-center gap-2 whitespace-nowrap rounded bg-indigo-light px-2 text-sm font-semibold text-indigo-dark;\n\n\t\t\tp-icon {\n\t\t\t\t@apply text-xs text-indigo;\n\t\t\t}\n\t\t}\n\n\t\t.extra {\n\t\t\t@apply pointer-events-none text-sm text-storm-medium;\n\t\t}\n\t}\n}\n","import {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tState,\n\tWatch,\n} from '@stencil/core';\nimport { childOf } from '../../../utils';\nimport { IconVariant } from '../../atoms/icon/icon.component';\n\n@Component({\n\ttag: 'p-select',\n\tstyleUrl: 'select.component.scss',\n\tshadow: false,\n})\nexport class Select {\n\t/**\n\t * The items to show in the dropdown\n\t */\n\t@Prop() items: string | any[];\n\n\t/**\n\t * Wether to enable multi select\n\t */\n\t@Prop({ reflect: true }) multi: boolean;\n\n\t/**\n\t * Icon of the select box\n\t */\n\t@Prop() icon: IconVariant;\n\n\t/**\n\t * The current query\n\t */\n\t@Prop() query: string;\n\n\t/**\n\t * The placeholder of the input\n\t */\n\t@Prop() placeholder: string;\n\n\t/**\n\t * The placeholder of the input used for auto complete\n\t */\n\t@Prop() autocompletePlaceholder: string = 'Search...';\n\n\t/**\n\t * The current value\n\t */\n\t@Prop() value: any;\n\n\t/**\n\t * The key of the object to display\n\t */\n\t@Prop() displayKey: string = 'text';\n\n\t/**\n\t * The key of the object to display in the dropdown (overwrites displayKey)\n\t */\n\t@Prop() dropdownDisplayKey: string | undefined;\n\n\t/**\n\t * The key of the object to display in the input (overwrites displayKey)\n\t */\n\t@Prop() selectionDisplayKey: string | undefined;\n\n\t/**\n\t * The key of the object to return\n\t */\n\t@Prop() valueKey: string;\n\n\t/**\n\t * The key of avatar within an item to show\n\t */\n\t@Prop() avatarKey: string;\n\n\t/**\n\t * The key of icon variant within an item to show\n\t */\n\t@Prop() iconKey: string;\n\n\t/**\n\t * Wether to show the icon also on the selected Item\n\t */\n\t@Prop() showIconInSelectedItem: string;\n\n\t/**\n\t * The key of a class in an item to apply\n\t */\n\t@Prop() classKey: string = 'class';\n\n\t/**\n\t * Wether to apply the item's class also on the selected item\n\t */\n\t@Prop() applyClassOnSelectedItem: string;\n\n\t/**\n\t * The key of avatar letters within an item to show when the avatar url doesn't work\n\t */\n\t@Prop() avatarLettersKey: string;\n\n\t/**\n\t * The key to identify an object\n\t */\n\t@Prop() identifierKey: string;\n\n\t/**\n\t * The key of the object to display\n\t */\n\t@Prop() queryKey?: string;\n\n\t/**\n\t * Wether to automatically select the first item\n\t */\n\t@Prop() autoSelectFirst: boolean = true;\n\n\t/**\n\t * Wether to show the chevron or not\n\t */\n\t@Prop() showChevron: boolean = true;\n\n\t/**\n\t * The maximum amount of items to display\n\t */\n\t@Prop() maxDisplayedItems: number = 10;\n\n\t/**\n\t * Wether to enable autocomplete\n\t */\n\t@Prop() enableAutocomplete: boolean = true;\n\n\t/**\n\t * Wether the input uses async filtering\n\t */\n\t@Prop() asyncFilter: boolean = false;\n\n\t/**\n\t * Wether to show loading items\n\t */\n\t@Prop() loading: boolean = false;\n\n\t/**\n\t * Wether to show the select all item with multi select\n\t */\n\t@Prop() enableSelectAll: boolean = false;\n\n\t/**\n\t * The text of the select all item\n\t */\n\t@Prop() selectAllText: string = 'Select all';\n\n\t/**\n\t * The icon to prefix for select all\n\t */\n\t@Prop() selectAllIcon: IconVariant | undefined;\n\n\t/**\n\t * Event when the query of the autocomplete changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tqueryChange: EventEmitter<string>;\n\n\t/**\n\t * Event when the value changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tvalueChange: EventEmitter<any>;\n\n\t/**\n\t * Event when the select all item has been selected or not\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tselectAllChange: EventEmitter<any>;\n\n\t/**\n\t * Event when the dropdown shows\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tdropdownShown: EventEmitter<any>;\n\n\t/**\n\t * The size of the input group used by the select\n\t */\n\t@Prop() size: 'small' | 'medium' = 'medium';\n\n\t/**\n\t * The prefix of the input group used by the select\n\t */\n\t@Prop() prefix: string;\n\n\t/**\n\t * The label of the input group used by the select\n\t */\n\t@Prop() label: string;\n\n\t/**\n\t * The helper of the input group used by the select\n\t */\n\t@Prop() helper: string;\n\n\t/**\n\t * Wether the field is required\n\t */\n\t@Prop({ reflect: true }) required: boolean;\n\n\t/**\n\t * The helper of the input group used by the select\n\t */\n\t@Prop({ reflect: true }) error: string;\n\n\t/**\n\t * Wether the input group is disabled used by the select\n\t */\n\t@Prop({ reflect: true }) disabled: boolean = false;\n\n\t/**\n\t * Wether to show a \"add\" item\n\t */\n\t@Prop() showAddItem: boolean = false;\n\n\t/**\n\t * The text to show when add item is being shown\n\t */\n\t@Prop() addItemText: string = 'Add item';\n\n\t/**\n\t * Event when the add item is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tadd: EventEmitter;\n\n\t/**\n\t * The text to show when items is empty\n\t */\n\t@Prop() emptyStateText: string = 'No items available';\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@State() private _showDropdown: any = false;\n\t@State() private _selectedItem: any = null;\n\n\t@State() private _allSelected: boolean = false;\n\n\t@State() private _amountHidden = 0;\n\n\tprivate _inputRef: HTMLDivElement;\n\tprivate autocompleteInputRef: HTMLInputElement;\n\tprivate _multiContainerRef: HTMLElement;\n\n\tprivate _resizeObserver: ResizeObserver;\n\tprivate _resizeDebounceTimer: NodeJS.Timer;\n\n\tget _items() {\n\t\tif (!this.items || this.loading) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet items =\n\t\t\ttypeof this.items === 'string' ? JSON.parse(this.items) : this.items;\n\n\t\tif (typeof items?.[0] === 'string') {\n\t\t\tthis.displayKey = 'text';\n\t\t\tthis.valueKey = 'value';\n\n\t\t\titems = items.map(str => ({\n\t\t\t\tvalue: str,\n\t\t\t\ttext: str,\n\t\t\t}));\n\t\t}\n\n\t\tif (this.query?.length && !this.asyncFilter) {\n\t\t\titems = items.filter(item => {\n\t\t\t\tif (this.queryKey) {\n\t\t\t\t\treturn this._checkvalue(this.queryKey, item);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tthis._checkvalue(this._identifierKey, item) ||\n\t\t\t\t\tthis._checkvalue(this.displayKey, item)\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\n\t\treturn items?.slice(0, this.maxDisplayedItems);\n\t}\n\n\tget _displayValue() {\n\t\tif (!this._selectedItem) {\n\t\t\treturn this.placeholder;\n\t\t}\n\n\t\tif (this.multi) {\n\t\t\tif (this._selectedItem?.length === 0) {\n\t\t\t\treturn this.placeholder;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclass={`multi-container size-${this.size}`}\n\t\t\t\t\tref={ref => (this._multiContainerRef = ref)}\n\t\t\t\t>\n\t\t\t\t\t{this._selectedItem.map(item => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass='item'\n\t\t\t\t\t\t\tonClick={() => this._selectValue(item)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{item[this.selectionDisplayKey ?? this.displayKey]}\n\t\t\t\t\t\t\t<p-icon variant='negative' />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\n\t\t\t\t\t<div class='extra hidden'>+{this._amountHidden}</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn this._getDisplay(this._selectedItem, true);\n\t}\n\n\tget _identifierKey() {\n\t\treturn this.identifierKey ?? this.valueKey ?? 'value';\n\t}\n\n\tcomponentDidLoad() {\n\t\tif (!this.valueKey && !this.identifierKey) {\n\t\t\tthrow new Error('You must provide a valueKey or identifierKey');\n\t\t}\n\n\t\tif (this.multi) {\n\t\t\tthis._setMultiContainerMaxWidth();\n\n\t\t\tthis._resizeObserver = new ResizeObserver(() => {\n\t\t\t\tif (this._resizeDebounceTimer) {\n\t\t\t\t\tclearTimeout(this._resizeDebounceTimer);\n\t\t\t\t\tthis._resizeDebounceTimer = null;\n\t\t\t\t}\n\n\t\t\t\tthis._resizeDebounceTimer = setTimeout(() => {\n\t\t\t\t\tthis._setMultiContainerMaxWidth();\n\t\t\t\t\tthis._checkSelectedItems();\n\t\t\t\t}, 200);\n\t\t\t});\n\t\t\tthis._resizeObserver.observe(this._el);\n\t\t}\n\n\t\tif (this.value) {\n\t\t\tthis._valueChange();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.itemChanges();\n\t}\n\n\tcomponentDidRender() {\n\t\tif (this.multi) {\n\t\t\tthis._setMultiContainerMaxWidth();\n\t\t\tthis._checkSelectedItems();\n\t\t}\n\t}\n\n\tdisconnectedCallback() {\n\t\tif (this.multi) {\n\t\t\tthis._resizeObserver.disconnect();\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class='p-select'>\n\t\t\t\t<p-dropdown\n\t\t\t\t\tdisableTriggerClick={true}\n\t\t\t\t\tcalculateWidth={true}\n\t\t\t\t\tinsideClick={true}\n\t\t\t\t\tscrollable={this.enableAutocomplete ? 'large' : true}\n\t\t\t\t\tshow={this._showDropdown}\n\t\t\t\t\tonIsOpen={ev => this._onDropdownOpen(ev)}\n\t\t\t\t>\n\t\t\t\t\t<p-input-group\n\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\ticon={this.icon}\n\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\tprefix={this.prefix}\n\t\t\t\t\t\tlabel={this.label}\n\t\t\t\t\t\thelper={this.helper}\n\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\terror={this.error}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tfocused={this._showDropdown}\n\t\t\t\t\t\tforceShowTooltip={this.error?.length && this._showDropdown}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tslot='input'\n\t\t\t\t\t\t\tclass={`p-input read-only cursor-pointer ${\n\t\t\t\t\t\t\t\tthis._displayValue === this.placeholder\n\t\t\t\t\t\t\t\t\t? 'text-base text-storm-medium'\n\t\t\t\t\t\t\t\t\t: 'font-medium'\n\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\tcontenteditable\n\t\t\t\t\t\t\tonFocus={ev => this._onFocus(ev)}\n\t\t\t\t\t\t\tonMouseDown={ev => this._onMouseDown(ev)}\n\t\t\t\t\t\t\tonClick={() => this._onClick()}\n\t\t\t\t\t\t\tref={ref => (this._inputRef = ref)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this._displayValue}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{this.showChevron && (\n\t\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\t\tvariant='chevron'\n\t\t\t\t\t\t\t\tslot='suffix'\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</p-input-group>\n\t\t\t\t\t<div slot='items'>\n\t\t\t\t\t\t{this.loading ? this._getLoadingItems() : this._getItems()}\n\t\t\t\t\t\t{this.showAddItem && this._getAddItem()}\n\t\t\t\t\t</div>\n\t\t\t\t</p-dropdown>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('click', { target: 'document', capture: true })\n\tprotected documentClickHandler({ target }) {\n\t\tif (!this._showDropdown || childOf(target, this._el)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = false;\n\t}\n\n\t@Watch('value')\n\tprivate _valueChange() {\n\t\tthis._preselectItem();\n\t}\n\n\t@Watch('items')\n\tpublic itemChanges() {\n\t\tthis._preselectItem();\n\t}\n\n\t@Watch('_showDropdown')\n\tpublic _showDropdownChanges() {\n\t\tthis.dropdownShown.emit({\n\t\t\tvalue: this._showDropdown,\n\t\t\tquery: this.query,\n\t\t});\n\t}\n\n\t@Watch('multi')\n\tpublic multiChanges() {\n\t\tif (this._selectedItem && !Array.isArray(this._selectedItem)) {\n\t\t\tthis._selectedItem = [];\n\t\t}\n\t}\n\n\tprivate _preselectItem() {\n\t\tlet value =\n\t\t\ttypeof this.value === 'string' && this.multi\n\t\t\t\t? JSON.parse(this.value)\n\t\t\t\t: this.value;\n\n\t\tif (this.multi) {\n\t\t\tif (!Array.isArray(value)) {\n\t\t\t\tthis.value = [];\n\t\t\t\tthis.valueChange.emit(this.value);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.value = value;\n\t\t\tif (!value.length) {\n\t\t\t\tthis._selectedItem = [];\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._selectedItem =\n\t\t\t\t!!this.valueKey && this.valueKey !== 'false'\n\t\t\t\t\t? this._items.filter(i => value.includes(i?.[this.valueKey]))\n\t\t\t\t\t: [...value];\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._selectedItem && !value && this.autoSelectFirst) {\n\t\t\tvalue = this._items[0];\n\t\t}\n\n\t\tconst identifier =\n\t\t\ttypeof value === 'object' && value !== null\n\t\t\t\t? value[this._identifierKey]\n\t\t\t\t: value;\n\t\tconst parsedValue =\n\t\t\ttypeof identifier === 'string' || typeof identifier === 'number'\n\t\t\t\t? identifier\n\t\t\t\t: JSON.stringify(identifier);\n\n\t\tconst currentValue = this._selectedItem\n\t\t\t? this._selectedItem?.[this._identifierKey]\n\t\t\t: null;\n\t\tconst currentParsedValue =\n\t\t\ttypeof currentValue === 'string' || typeof currentValue === 'number'\n\t\t\t\t? currentValue\n\t\t\t\t: JSON.stringify(currentValue);\n\n\t\tif (this._selectedItem && currentParsedValue === parsedValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._items?.length && value) {\n\t\t\tthis._selectValue(value, false);\n\t\t\treturn;\n\t\t}\n\n\t\tconst item = this._items.find(i => {\n\t\t\tconst itemIdentifier = i?.[this._identifierKey];\n\t\t\tconst parsedItemIdentifier =\n\t\t\t\ttypeof itemIdentifier === 'string' || typeof itemIdentifier === 'number'\n\t\t\t\t\t? itemIdentifier\n\t\t\t\t\t: JSON.stringify(itemIdentifier);\n\n\t\t\treturn parsedItemIdentifier === parsedValue;\n\t\t});\n\n\t\tthis._selectValue(!!item ? item : value, false);\n\t}\n\n\tprivate _selectValue(item, forceBlur = true) {\n\t\tlet value =\n\t\t\t!!this.valueKey && this.valueKey !== 'false' && item !== null\n\t\t\t\t? item?.[this.valueKey]\n\t\t\t\t: item;\n\n\t\tif (this.multi) {\n\t\t\tif (!this._selectedItem || !Array.isArray(this._selectedItem)) {\n\t\t\t\tthis._selectedItem = [];\n\t\t\t}\n\n\t\t\tif (!this.value || !Array.isArray(this.value)) {\n\t\t\t\tthis.value = [];\n\t\t\t}\n\n\t\t\tconst selectedItem = [...this._selectedItem];\n\t\t\tconst valueArray = [...this.value];\n\n\t\t\tconst includesIndex = selectedItem.findIndex(\n\t\t\t\ti => i[this._identifierKey] === item[this._identifierKey]\n\t\t\t);\n\t\t\tif (includesIndex === -1) {\n\t\t\t\tselectedItem.push(item);\n\t\t\t\tvalueArray.push(value);\n\t\t\t} else {\n\t\t\t\tselectedItem.splice(includesIndex, 1);\n\t\t\t\tvalueArray.splice(includesIndex, 1);\n\t\t\t}\n\n\t\t\tthis._selectedItem = selectedItem;\n\t\t\tthis.value = valueArray;\n\t\t\tthis.valueChange.emit(valueArray);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._selectedItem = item;\n\t\tthis.value = value;\n\t\tthis.valueChange.emit(value);\n\n\t\tthis._onBlur(forceBlur);\n\t}\n\n\tprivate _onFocus(ev) {\n\t\tev.preventDefault();\n\t\tthis._inputRef.blur();\n\n\t\tif (!this._showDropdown) {\n\t\t\tthis._showDropdown = true;\n\t\t}\n\n\t\treturn;\n\t}\n\n\tprivate _onMouseDown(ev) {\n\t\tif (this.enableAutocomplete) {\n\t\t\treturn;\n\t\t}\n\n\t\tev.preventDefault();\n\t}\n\n\tprivate _onClick() {\n\t\tif (this.enableAutocomplete) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = !this._showDropdown;\n\t}\n\n\tprivate _onBlur(force = false) {\n\t\tif (this.enableAutocomplete && !force) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = false;\n\t}\n\n\tprivate _onAutoComplete(ev) {\n\t\tif (!this.enableAutocomplete) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = true;\n\n\t\tthis.query = ev.target.value;\n\t\tthis.queryChange.emit(ev.target.value);\n\t}\n\n\tprivate _checkvalue(key, item) {\n\t\treturn (\n\t\t\titem?.[key]\n\t\t\t\t?.toString()\n\t\t\t\t?.toLowerCase()\n\t\t\t\t.indexOf(this.query?.toLowerCase()) >= 0\n\t\t);\n\t}\n\n\tprivate _getItems() {\n\t\tlet items = this._items.map(item => (\n\t\t\t<p-dropdown-menu-item\n\t\t\t\tonClick={() => this._selectValue(item)}\n\t\t\t\tactive={\n\t\t\t\t\tthis.multi &&\n\t\t\t\t\t!!this._selectedItem &&\n\t\t\t\t\tArray.isArray(this._selectedItem)\n\t\t\t\t\t\t? this._selectedItem.findIndex(\n\t\t\t\t\t\t\t\ti => i[this._identifierKey] === item[this._identifierKey]\n\t\t\t\t\t\t ) >= 0\n\t\t\t\t\t\t: item[this._identifierKey] ===\n\t\t\t\t\t\t this._selectedItem?.[this._identifierKey]\n\t\t\t\t}\n\t\t\t\tvariant={this.multi ? 'checkbox' : 'default'}\n\t\t\t>\n\t\t\t\t{this._getDisplay(item)}\n\t\t\t</p-dropdown-menu-item>\n\t\t));\n\n\t\tif (!this._items.length) {\n\t\t\titems = [\n\t\t\t\t<p class='w-full p-2 text-center text-sm text-storm-medium'>\n\t\t\t\t\t{this.emptyStateText}\n\t\t\t\t</p>,\n\t\t\t];\n\t\t}\n\n\t\tif (this.enableSelectAll && this._items.length) {\n\t\t\titems.unshift(\n\t\t\t\t<p-dropdown-menu-item\n\t\t\t\t\tvariant='checkbox'\n\t\t\t\t\tonClick={() => this._selectAllChange()}\n\t\t\t\t\tactive={this._allSelected}\n\t\t\t\t>\n\t\t\t\t\t{this.selectAllIcon?.length ? (\n\t\t\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t\t\t<div class='flex w-6 justify-center text-lg'>\n\t\t\t\t\t\t\t\t<p-icon variant={this.selectAllIcon} />\n\t\t\t\t\t\t\t</div>{' '}\n\t\t\t\t\t\t\t{this.selectAllText}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tthis.selectAllText\n\t\t\t\t\t)}\n\t\t\t\t</p-dropdown-menu-item>\n\t\t\t);\n\t\t}\n\n\t\tif (this.enableAutocomplete) {\n\t\t\titems.unshift(this._getAutoCompleteItem());\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tprivate _getAddItem() {\n\t\treturn (\n\t\t\t<p-dropdown-menu-item onClick={() => this.add.emit()}>\n\t\t\t\t<span class='flex items-center gap-1 font-semibold text-indigo'>\n\t\t\t\t\t{this.addItemText}\n\t\t\t\t\t<p-icon variant='plus' />\n\t\t\t\t</span>\n\t\t\t</p-dropdown-menu-item>\n\t\t);\n\t}\n\n\tprivate _getLoadingItems() {\n\t\tconst items = [0, 0, 0].map(() => (\n\t\t\t<p-dropdown-menu-item enableHover={false}>\n\t\t\t\t<p-loader\n\t\t\t\t\tvariant='ghost'\n\t\t\t\t\tclass='h-6 w-full rounded'\n\t\t\t\t/>\n\t\t\t</p-dropdown-menu-item>\n\t\t));\n\n\t\tif (this.enableAutocomplete) {\n\t\t\titems.unshift(this._getAutoCompleteItem());\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tprivate _getAutoCompleteItem() {\n\t\treturn (\n\t\t\t<div class='sticky top-0 -mt-2 bg-white pt-2'>\n\t\t\t\t<input\n\t\t\t\t\tclass='p-input size-small sticky top-2 mb-2'\n\t\t\t\t\tplaceholder={this.autocompletePlaceholder}\n\t\t\t\t\tonInput={ev => this._onAutoComplete(ev)}\n\t\t\t\t\tref={ref => (this.autocompleteInputRef = ref)}\n\t\t\t\t\tvalue={this.query}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate _setMultiContainerMaxWidth() {\n\t\tif (!this._inputRef || !this._multiContainerRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._multiContainerRef.style.maxWidth = `${\n\t\t\tthis._inputRef.clientWidth - 16\n\t\t}px`;\n\t}\n\n\tprivate _checkSelectedItems() {\n\t\tif (!this._multiContainerRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst containerRect = this._multiContainerRef.getBoundingClientRect();\n\t\tconst items = Array.from(\n\t\t\tthis._multiContainerRef.querySelectorAll('.item')\n\t\t) as HTMLElement[];\n\n\t\tlet amountHidden = 0;\n\n\t\tfor (const child of items) {\n\t\t\tchild.classList.remove('hidden');\n\n\t\t\tconst childRect = child.getBoundingClientRect();\n\t\t\tif (childRect.right > containerRect.right) {\n\t\t\t\tchild.classList.add('hidden');\n\t\t\t\tamountHidden++;\n\t\t\t}\n\t\t}\n\n\t\tthis._amountHidden = amountHidden;\n\t\tconst extra = this._multiContainerRef.querySelector('.extra');\n\t\tif (!extra) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!extra.classList.contains('hidden')) {\n\t\t\textra.classList.add('hidden');\n\t\t}\n\n\t\tif (amountHidden > 0) {\n\t\t\textra.classList.remove('hidden');\n\t\t}\n\t}\n\n\tprivate _onDropdownOpen(ev) {\n\t\tif (!ev.detail || !this.autocompleteInputRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.autocompleteInputRef.focus();\n\t}\n\n\tprivate _selectAllChange() {\n\t\tthis._allSelected = !this._allSelected;\n\t\tthis.selectAllChange.emit(this._allSelected);\n\t}\n\n\tprivate _getDisplay(item, isSelection = false) {\n\t\tlet content =\n\t\t\titem[\n\t\t\t\tisSelection\n\t\t\t\t\t? this.selectionDisplayKey ?? this.displayKey\n\t\t\t\t\t: this.displayKey\n\t\t\t];\n\t\tif (this.avatarKey) {\n\t\t\tcontent = (\n\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t<p-avatar\n\t\t\t\t\t\tsize='xsmall'\n\t\t\t\t\t\tsrc={item[this.avatarKey]}\n\t\t\t\t\t\tletters={item[this.avatarLettersKey]}\n\t\t\t\t\t></p-avatar>\n\t\t\t\t\t{item[this.dropdownDisplayKey ?? this.displayKey]}\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\n\t\tif (this.iconKey && (!isSelection || this.showIconInSelectedItem)) {\n\t\t\tcontent = (\n\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t<p-icon variant={item[this.iconKey] as IconVariant} />\n\t\t\t\t\t{item[this.dropdownDisplayKey ?? this.displayKey]}\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={\n\t\t\t\t\t!isSelection || this.applyClassOnSelectedItem\n\t\t\t\t\t\t? item?.class ?? null\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{content}\n\t\t\t</div>\n\t\t);\n\t}\n}\n"],"version":3}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as registerInstance, h, H as Host } from './index-7b917f6b.js';
|
|
2
2
|
|
|
3
|
-
const statusComponentCss = ".mr-2{margin-right:.5rem!important}.flex{display:flex!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.text-storm-vague{--tw-text-opacity:1!important;color:rgb(152 154 183/var(--tw-text-opacity))!important}*{box-sizing:border-box}p-status{--tw-text-opacity:1;align-items:center;color:rgb(152 154 183/var(--tw-text-opacity));display:flex;font-size:.875rem;font-weight:500;line-height:1.25rem}p-status p-icon{font-size:1rem;line-height:1.5rem;margin-right:.5rem}p-status.variant-positive{--tw-text-opacity:1;color:rgb(40 209 124/var(--tw-text-opacity))}p-status.variant-unbiased{--tw-text-opacity:1;color:rgb(255 199 45/var(--tw-text-opacity))}p-status.variant-negative{--tw-text-opacity:1;color:rgb(185 30 40/var(--tw-text-opacity))}
|
|
3
|
+
const statusComponentCss = ".mr-2{margin-right:.5rem!important}.flex{display:flex!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.text-storm-vague{--tw-text-opacity:1!important;color:rgb(152 154 183/var(--tw-text-opacity))!important}*{box-sizing:border-box}p-status{--tw-text-opacity:1;align-items:center;color:rgb(152 154 183/var(--tw-text-opacity));display:flex;font-size:.875rem;font-weight:500;line-height:1.25rem}p-status p-icon{font-size:1rem;line-height:1.5rem;margin-right:.5rem}p-status.variant-positive{--tw-text-opacity:1;color:rgb(40 209 124/var(--tw-text-opacity))}p-status.variant-unbiased{--tw-text-opacity:1;color:rgb(255 199 45/var(--tw-text-opacity))}p-status.variant-negative{--tw-text-opacity:1;color:rgb(185 30 40/var(--tw-text-opacity))}";
|
|
4
4
|
|
|
5
5
|
const Status = class {
|
|
6
6
|
constructor(hostRef) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-status.entry.js","mappings":";;AAAA,MAAM,kBAAkB,GAAG,
|
|
1
|
+
{"file":"p-status.entry.js","mappings":";;AAAA,MAAM,kBAAkB,GAAG,2vBAA2vB;;MCQzwB,MAAM;;;mBAKjB,SAAS;;;;;EAiBV,MAAM;IACL,QACC,EAAC,IAAI,IACJ,KAAK,EAAE,oBAAoB,IAAI,CAAC,OAAO;kBACzB,IAEb,IAAI,CAAC,QAAQ,EAAE,EAChB,eAAQ,CACF,EACN;GACF;EAEO,QAAQ;IACf,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;IAEjD,IAAI,CAAC,IAAI,EAAE;MACV,OAAO;KACP;IAED,QACC,cACC,OAAO,EAAE,IAAI,EACb,IAAI,EAAE,IAAI,CAAC,QAAQ,EACnB,MAAM,EAAE,IAAI,CAAC,UAAU,GACtB,EACD;GACF;EAEO,eAAe;IACtB,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,QAAQ,IAAI,CAAC,OAAO;MACnB,KAAK,UAAU;QACd,IAAI,GAAG,WAAW,CAAC;QACnB,MAAM;MACP,KAAK,UAAU;QACd,IAAI,GAAG,UAAU,CAAC;QAClB,MAAM;MACP,KAAK,UAAU;QACd,IAAI,GAAG,OAAO,CAAC;QACf,MAAM;MACP;QACC,IAAI,GAAG,IAAI,CAAC;QACZ,MAAM;KACP;IAED,OAAO,IAAI,CAAC;GACZ;;;;;;","names":[],"sources":["src/components/atoms/status/status.component.scss?tag=p-status","src/components/atoms/status/status.component.tsx"],"sourcesContent":["p-status {\n\t@apply flex items-center;\n\t@apply text-sm text-storm-vague font-medium;\n\n\tp-icon {\n\t\t@apply mr-2 text-base;\n\t}\n\n\t&.variant-positive {\n\t\t@apply text-positive;\n\t}\n\n\t&.variant-unbiased {\n\t\t@apply text-unbiased;\n\t}\n\n\t&.variant-negative {\n\t\t@apply text-negative;\n\t}\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\nimport { RotateOptions } from '../../../types/tailwind';\nimport { IconFlipOptions, IconVariant } from '../icon/icon.component';\n\n@Component({\n\ttag: 'p-status',\n\tstyleUrl: 'status.component.scss',\n})\nexport class Status {\n\t/**\n\t * The variant of the status\n\t */\n\t@Prop() variant: 'default' | 'positive' | 'unbiased' | 'negative' =\n\t\t'default';\n\n\t/**\n\t * Icon to show on the status\n\t */\n\t@Prop() icon: IconVariant;\n\n\t/**\n\t * Icon flip\n\t */\n\t@Prop() iconFlip: IconFlipOptions;\n\n\t/**\n\t * Icon rotate\n\t */\n\t@Prop() iconRotate: RotateOptions;\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={`p-status variant-${this.variant}\n }`}\n\t\t\t>\n\t\t\t\t{this._getIcon()}\n\t\t\t\t<slot />\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate _getIcon() {\n\t\tconst icon = this.icon || this._getVariantIcon();\n\n\t\tif (!icon) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn (\n\t\t\t<p-icon\n\t\t\t\tvariant={icon}\n\t\t\t\tflip={this.iconFlip}\n\t\t\t\trotate={this.iconRotate}\n\t\t\t/>\n\t\t);\n\t}\n\n\tprivate _getVariantIcon() {\n\t\tlet icon = null;\n\t\tswitch (this.variant) {\n\t\t\tcase 'positive':\n\t\t\t\ticon = 'checkmark';\n\t\t\t\tbreak;\n\t\t\tcase 'negative':\n\t\t\t\ticon = 'negative';\n\t\t\t\tbreak;\n\t\t\tcase 'unbiased':\n\t\t\t\ticon = 'clock';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\ticon = null;\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn icon;\n\t}\n}\n"],"version":3}
|
package/dist/index.html
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!doctype html><html dir="ltr" lang="en"><head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=5.0"> <title>Stencil Component Starter</title> <script type="module" src="/build/paperless.esm.js" data-stencil data-resources-url="/build/" data-stencil-namespace="paperless"></script> <script nomodule="" src="/build/paperless.js" data-stencil></script> </head> <body> <p-button>Buttono</p-button> <script data-build="2024-10-
|
|
1
|
+
<!doctype html><html dir="ltr" lang="en"><head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=5.0"> <title>Stencil Component Starter</title> <script type="module" src="/build/paperless.esm.js" data-stencil data-resources-url="/build/" data-stencil-namespace="paperless"></script> <script nomodule="" src="/build/paperless.js" data-stencil></script> </head> <body> <p-button>Buttono</p-button> <script data-build="2024-10-21T10:04:57">
|
|
2
2
|
if ('serviceWorker' in navigator && location.protocol !== 'file:') {
|
|
3
3
|
window.addEventListener('load', function() {
|
|
4
4
|
navigator.serviceWorker.register('/sw.js')
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,h as
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,h as r,H as o,c as a}from"./p-e4d5e7a7.js";const e=".rounded-b-none{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.p-0{padding:0!important}.px-6{padding-left:1.5rem!important;padding-right:1.5rem!important}*{box-sizing:border-box}:host{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));padding:1.5rem}:host(.variant-table-flush){padding:0!important}:host(.is-rounded){border-bottom-left-radius:0;border-bottom-right-radius:0}@media (min-width:64rem){:host(.is-rounded){border-bottom-left-radius:.75rem;border-bottom-right-radius:.75rem}}:host(.no-padding){padding:0}.static{position:static!important}.rounded{border-radius:.25rem!important}";const i=class{constructor(r){t(this,r);this.variant="default";this.rounded=false;this.padding=true}render(){return r(o,{class:`p-modal-body variant-${this.variant} ${this.rounded&&"is-rounded"} ${!this.padding&&"no-padding"}`},r("slot",null))}};i.style=e;const m=".flex{display:flex!important}.w-full{width:100%!important}.animate-slide-in-bottom{animation:slideInBottom .5s ease forwards!important}.animate-slide-out-bottom{animation:slideOutBottom .5s ease forwards!important}.flex-col{flex-direction:column!important}.rounded-b-none{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.rounded-t-xxlarge{border-top-left-radius:.75rem!important;border-top-right-radius:.75rem!important}.shadow-4{--tw-shadow:0px 0.3125rem 1rem rgba(0,24,98,.08),0px 0.0625rem 0.1875rem rgba(0,24,98,.13)!important;--tw-shadow-colored:0px 0.3125rem 1rem var(--tw-shadow-color),0px 0.0625rem 0.1875rem var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}*{box-sizing:border-box}p-modal-container{--tw-shadow:0px 0.3125rem 1rem rgba(0,24,98,.08),0px 0.0625rem 0.1875rem rgba(0,24,98,.13)!important;--tw-shadow-colored:0px 0.3125rem 1rem var(--tw-shadow-color),0px 0.0625rem 0.1875rem var(--tw-shadow-color)!important;animation:slideInBottom .5s ease forwards!important;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:.75rem;border-top-right-radius:.75rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important;display:flex;flex-direction:column;width:100%;z-index:600}@media (min-width:40rem){p-modal-container{width:auto}}@media (min-width:64rem){p-modal-container{animation:slideInBottomSmall .5s ease forwards!important;border-bottom-left-radius:.75rem;border-bottom-right-radius:.75rem;margin:auto}}@keyframes slideInBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideOutBottom{0%{transform:translateY(0)}to{transform:translateY(100%)}}p-modal-container.closing{animation:slideOutBottom .5s ease forwards!important}@media (min-width:64rem){p-modal-container.closing{animation:slideOutBottomSmall .5s ease forwards!important}}@media (min-width:40rem){.tablet\\:w-auto{width:auto!important}}@media (min-width:64rem){@keyframes slideInBottomSmall{0%{transform:translateY(20%)}to{transform:translateY(0)}}.desktop-xs\\:animate-slide-in-bottom-small{animation:slideInBottomSmall .5s ease forwards!important}@keyframes slideOutBottomSmall{0%{transform:translateY(0)}to{transform:translateY(20%)}}.desktop-xs\\:animate-slide-out-bottom-small{animation:slideOutBottomSmall .5s ease forwards!important}}.static{position:static!important}@media (min-width:40rem){.tablet\\:w-80{width:20rem!important}.tablet\\:w-\\[33\\.5rem\\]{width:33.5rem!important}.tablet\\:w-\\[38rem\\]{width:38rem!important}.tablet\\:w-\\[47\\.5rem\\]{width:47.5rem!important}.tablet\\:w-\\[57\\.5rem\\]{width:57.5rem!important}}";const n={xs:"tablet:w-80",sm:"tablet:w-[33.5rem]",md:"tablet:w-[38rem]",lg:"tablet:w-[47.5rem]",xl:"tablet:w-[57.5rem]"};const s=class{constructor(r){t(this,r);this.size="md";this.closing=false}render(){const t=n[this.size];return r(o,{class:`p-modal-container ${this.closing&&"closing"} ${t}`},r("slot",null))}};s.style=m;const d=".flex{display:flex!important}.rounded-b-none{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.pb-6{padding-bottom:1.5rem!important}*{box-sizing:border-box}:host{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-bottom-left-radius:0;border-bottom-right-radius:0;display:flex;flex-direction:column;padding-bottom:1.5rem;padding-left:1.5rem;padding-right:1.5rem}@media (min-width:64rem){:host{border-bottom-left-radius:.75rem;border-bottom-right-radius:.75rem}}.mb-6{margin-bottom:1.5rem!important}.mt-0{margin-top:0!important}.hidden{display:none!important}@media (min-width:64rem){.desktop-xs\\:flex{display:flex!important}}";const l=class{constructor(r){t(this,r)}render(){return r(o,{class:"p-modal-footer"},r("p-divider",{class:"mb-6 mt-0 hidden desktop-xs:flex"}),r("slot",null))}};l.style=d;const p=".flex{display:flex!important}.justify-between{justify-content:space-between!important}.bg-mystic{--tw-bg-opacity:1!important;background-color:rgb(247 250 252/var(--tw-bg-opacity))!important}.p-4{padding:1rem!important}.text-xl{font-size:1.25rem!important;line-height:1.75rem!important}.text-storm-dark{--tw-text-opacity:1!important;color:rgb(39 40 56/var(--tw-text-opacity))!important}*{box-sizing:border-box}:host{--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(247 250 252/var(--tw-bg-opacity));border-top-left-radius:.75rem;border-top-right-radius:.75rem;color:rgb(39 40 56/var(--tw-text-opacity));display:flex;font-size:1.25rem;font-weight:600;justify-content:space-between;line-height:1.75rem;padding:1rem}@media (min-width:64rem){:host{font-size:1.875rem;font-weight:700;line-height:2.25rem;padding:1.5rem}}@media (min-width:64rem){.desktop-xs\\:text-3xl{font-size:1.875rem!important;line-height:2.25rem!important}}.static{position:static!important}";const b=class{constructor(r){t(this,r);this.close=a(this,"close",3);this.showClose=true}render(){return r(o,{class:"p-modal-header"},r("span",null,r("slot",null)),this.showClose&&r("p-button",{variant:"secondary",icon:"negative",iconOnly:true,onClick:t=>this.close.emit(t),size:"small"}))}};b.style=p;export{i as p_modal_body,s as p_modal_container,l as p_modal_footer,b as p_modal_header};
|
|
2
|
+
//# sourceMappingURL=p-2946c2bd.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["modalBodyComponentCss","ModalBody","render","h","Host","class","this","variant","rounded","padding","modalContainerComponentCss","modalSizes","xs","sm","md","lg","xl","ModalContainer","sizeClass","size","closing","modalFooterComponentCss","ModalFooter","modalHeaderComponentCss","ModalHeader","showClose","icon","iconOnly","onClick","ev","close","emit"],"sources":["src/components/atoms/modal-body/modal-body.component.scss?tag=p-modal-body&encapsulation=shadow","src/components/atoms/modal-body/modal-body.component.tsx","src/components/atoms/modal-container/modal-container.component.scss?tag=p-modal-container","src/components/atoms/modal-container/modal-container.component.tsx","src/components/atoms/modal-footer/modal-footer.component.scss?tag=p-modal-footer&encapsulation=shadow","src/components/atoms/modal-footer/modal-footer.component.tsx","src/components/atoms/modal-header/modal-header.component.scss?tag=p-modal-header&encapsulation=shadow","src/components/atoms/modal-header/modal-header.component.tsx"],"sourcesContent":[":host {\n\t@apply bg-white;\n\t@apply px-6 py-6;\n}\n\n:host(.variant-table-flush) {\n\t@apply p-0 #{!important};\n}\n\n:host(.is-rounded) {\n\t@apply rounded-b-none desktop-xs:rounded-b-xxlarge;\n}\n\n:host(.no-padding) {\n\t@apply p-0;\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n@Component({\n\ttag: 'p-modal-body',\n\tstyleUrl: 'modal-body.component.scss',\n\tshadow: true,\n})\nexport class ModalBody {\n\t/**\n\t * The variant of the modal body\n\t */\n\t@Prop() variant: 'default' | 'table-flush' = 'default';\n\n\t/**\n\t * Wether the modal body should be rounded at the bottom\n\t */\n\t@Prop() rounded: boolean = false;\n\n\t/**\n\t * Wether the body should have padding\n\t */\n\t@Prop() padding: boolean = true;\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={`p-modal-body variant-${this.variant} ${\n\t\t\t\t\tthis.rounded && 'is-rounded'\n\t\t\t\t} ${!this.padding && 'no-padding'}`}\n\t\t\t>\n\t\t\t\t<slot />\n\t\t\t</Host>\n\t\t);\n\t}\n}\n","p-modal-container {\n\t@apply flex flex-col w-full tablet:w-auto z-modal;\n\t@apply rounded-b-none rounded-t-xxlarge desktop-xs:rounded-b-xxlarge;\n\n\t@apply desktop-xs:m-auto;\n\n\t@apply animate-slide-in-bottom desktop-xs:animate-slide-in-bottom-small #{!important};\n\n\t@apply shadow-4 #{!important};\n\n\t&.closing {\n\t\t@apply animate-slide-out-bottom desktop-xs:animate-slide-out-bottom-small #{!important};\n\t}\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n// $modal-xs: 20rem;\n// $modal-sm: 33.5rem;\n// $modal-md: 38rem;\n// $modal-lg: 47.5rem;\n// $modal-xl: 57.5rem;\n\nconst modalSizes = {\n\txs: 'tablet:w-80',\n\tsm: 'tablet:w-[33.5rem]',\n\tmd: 'tablet:w-[38rem]',\n\tlg: 'tablet:w-[47.5rem]',\n\txl: 'tablet:w-[57.5rem]',\n};\n@Component({\n\ttag: 'p-modal-container',\n\tstyleUrl: 'modal-container.component.scss',\n})\nexport class ModalContainer {\n\t/**\n\t * The size of the modal container\n\t */\n\t@Prop() size: 'sm' | 'md' | 'lg' | 'xl' = 'md';\n\n\t/**\n\t * Wether the container is closing\n\t */\n\t@Prop() closing: boolean = false;\n\n\trender() {\n\t\tconst sizeClass = modalSizes[this.size];\n\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={`p-modal-container ${\n\t\t\t\t\tthis.closing && 'closing'\n\t\t\t\t} ${sizeClass}`}\n\t\t\t>\n\t\t\t\t<slot />\n\t\t\t</Host>\n\t\t);\n\t}\n}\n",":host {\n\t@apply bg-white;\n\t@apply flex flex-col;\n\t@apply pb-6 px-6;\n\t@apply rounded-b-none desktop-xs:rounded-b-xxlarge;\n}\n","import { Component, h, Host } from '@stencil/core';\n\n@Component({\n\ttag: 'p-modal-footer',\n\tstyleUrl: 'modal-footer.component.scss',\n\tshadow: true,\n})\nexport class ModalFooter {\n\trender() {\n\t\treturn (\n\t\t\t<Host class=\"p-modal-footer\">\n\t\t\t\t<p-divider class=\"mb-6 mt-0 hidden desktop-xs:flex\" />\n\n\t\t\t\t<slot />\n\t\t\t</Host>\n\t\t);\n\t}\n}\n",":host {\n\t@apply bg-mystic rounded-t-xxlarge;\n\t@apply flex justify-between items-center;\n\t@apply p-4 desktop-xs:p-6;\n\n\t@apply text-storm-dark text-xl font-semibold;\n\t@apply desktop-xs:text-3xl desktop-xs:font-bold;\n}\n","import { Component, Event, EventEmitter, h, Host, Prop } from '@stencil/core';\n\n@Component({\n\ttag: 'p-modal-header',\n\tstyleUrl: 'modal-header.component.scss',\n\tshadow: true,\n})\nexport class ModalHeader {\n\t/**\n\t * Wether to show the close button on mobile\n\t */\n\t@Prop() showClose = true;\n\n\t/**\n\t * Close click event\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tclose: EventEmitter<MouseEvent>;\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class=\"p-modal-header\">\n\t\t\t\t<span>\n\t\t\t\t\t<slot />\n\t\t\t\t</span>\n\n\t\t\t\t{this.showClose && (\n\t\t\t\t\t<p-button\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\ticon=\"negative\"\n\t\t\t\t\t\ticonOnly={true}\n\t\t\t\t\t\tonClick={(ev) => this.close.emit(ev)}\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t></p-button>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n}\n"],"mappings":"yDAAA,MAAMA,EAAwB,qoB,MCOjBC,EAAS,M,sCAIwB,U,aAKlB,M,aAKA,I,CAE3B,MAAAC,GACC,OACCC,EAACC,EAAI,CACJC,MAAO,wBAAwBC,KAAKC,WACnCD,KAAKE,SAAW,iBACZF,KAAKG,SAAW,gBAErBN,EAAA,a,aC9BJ,MAAMO,EAA6B,6rFCQnC,MAAMC,EAAa,CAClBC,GAAI,cACJC,GAAI,qBACJC,GAAI,mBACJC,GAAI,qBACJC,GAAI,sB,MAMQC,EAAc,M,mCAIgB,K,aAKf,K,CAE3B,MAAAf,GACC,MAAMgB,EAAYP,EAAWL,KAAKa,MAElC,OACChB,EAACC,EAAI,CACJC,MAAO,qBACNC,KAAKc,SAAW,aACbF,KAEJf,EAAA,a,aCvCJ,MAAMkB,EAA0B
|
|
1
|
+
{"version":3,"names":["modalBodyComponentCss","ModalBody","render","h","Host","class","this","variant","rounded","padding","modalContainerComponentCss","modalSizes","xs","sm","md","lg","xl","ModalContainer","sizeClass","size","closing","modalFooterComponentCss","ModalFooter","modalHeaderComponentCss","ModalHeader","showClose","icon","iconOnly","onClick","ev","close","emit"],"sources":["src/components/atoms/modal-body/modal-body.component.scss?tag=p-modal-body&encapsulation=shadow","src/components/atoms/modal-body/modal-body.component.tsx","src/components/atoms/modal-container/modal-container.component.scss?tag=p-modal-container","src/components/atoms/modal-container/modal-container.component.tsx","src/components/atoms/modal-footer/modal-footer.component.scss?tag=p-modal-footer&encapsulation=shadow","src/components/atoms/modal-footer/modal-footer.component.tsx","src/components/atoms/modal-header/modal-header.component.scss?tag=p-modal-header&encapsulation=shadow","src/components/atoms/modal-header/modal-header.component.tsx"],"sourcesContent":[":host {\n\t@apply bg-white;\n\t@apply px-6 py-6;\n}\n\n:host(.variant-table-flush) {\n\t@apply p-0 #{!important};\n}\n\n:host(.is-rounded) {\n\t@apply rounded-b-none desktop-xs:rounded-b-xxlarge;\n}\n\n:host(.no-padding) {\n\t@apply p-0;\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n@Component({\n\ttag: 'p-modal-body',\n\tstyleUrl: 'modal-body.component.scss',\n\tshadow: true,\n})\nexport class ModalBody {\n\t/**\n\t * The variant of the modal body\n\t */\n\t@Prop() variant: 'default' | 'table-flush' = 'default';\n\n\t/**\n\t * Wether the modal body should be rounded at the bottom\n\t */\n\t@Prop() rounded: boolean = false;\n\n\t/**\n\t * Wether the body should have padding\n\t */\n\t@Prop() padding: boolean = true;\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={`p-modal-body variant-${this.variant} ${\n\t\t\t\t\tthis.rounded && 'is-rounded'\n\t\t\t\t} ${!this.padding && 'no-padding'}`}\n\t\t\t>\n\t\t\t\t<slot />\n\t\t\t</Host>\n\t\t);\n\t}\n}\n","p-modal-container {\n\t@apply flex flex-col w-full tablet:w-auto z-modal;\n\t@apply rounded-b-none rounded-t-xxlarge desktop-xs:rounded-b-xxlarge;\n\n\t@apply desktop-xs:m-auto;\n\n\t@apply animate-slide-in-bottom desktop-xs:animate-slide-in-bottom-small #{!important};\n\n\t@apply shadow-4 #{!important};\n\n\t&.closing {\n\t\t@apply animate-slide-out-bottom desktop-xs:animate-slide-out-bottom-small #{!important};\n\t}\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n// $modal-xs: 20rem;\n// $modal-sm: 33.5rem;\n// $modal-md: 38rem;\n// $modal-lg: 47.5rem;\n// $modal-xl: 57.5rem;\n\nconst modalSizes = {\n\txs: 'tablet:w-80',\n\tsm: 'tablet:w-[33.5rem]',\n\tmd: 'tablet:w-[38rem]',\n\tlg: 'tablet:w-[47.5rem]',\n\txl: 'tablet:w-[57.5rem]',\n};\n@Component({\n\ttag: 'p-modal-container',\n\tstyleUrl: 'modal-container.component.scss',\n})\nexport class ModalContainer {\n\t/**\n\t * The size of the modal container\n\t */\n\t@Prop() size: 'sm' | 'md' | 'lg' | 'xl' = 'md';\n\n\t/**\n\t * Wether the container is closing\n\t */\n\t@Prop() closing: boolean = false;\n\n\trender() {\n\t\tconst sizeClass = modalSizes[this.size];\n\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={`p-modal-container ${\n\t\t\t\t\tthis.closing && 'closing'\n\t\t\t\t} ${sizeClass}`}\n\t\t\t>\n\t\t\t\t<slot />\n\t\t\t</Host>\n\t\t);\n\t}\n}\n",":host {\n\t@apply bg-white;\n\t@apply flex flex-col;\n\t@apply pb-6 px-6;\n\t@apply rounded-b-none desktop-xs:rounded-b-xxlarge;\n}\n","import { Component, h, Host } from '@stencil/core';\n\n@Component({\n\ttag: 'p-modal-footer',\n\tstyleUrl: 'modal-footer.component.scss',\n\tshadow: true,\n})\nexport class ModalFooter {\n\trender() {\n\t\treturn (\n\t\t\t<Host class=\"p-modal-footer\">\n\t\t\t\t<p-divider class=\"mb-6 mt-0 hidden desktop-xs:flex\" />\n\n\t\t\t\t<slot />\n\t\t\t</Host>\n\t\t);\n\t}\n}\n",":host {\n\t@apply bg-mystic rounded-t-xxlarge;\n\t@apply flex justify-between items-center;\n\t@apply p-4 desktop-xs:p-6;\n\n\t@apply text-storm-dark text-xl font-semibold;\n\t@apply desktop-xs:text-3xl desktop-xs:font-bold;\n}\n","import { Component, Event, EventEmitter, h, Host, Prop } from '@stencil/core';\n\n@Component({\n\ttag: 'p-modal-header',\n\tstyleUrl: 'modal-header.component.scss',\n\tshadow: true,\n})\nexport class ModalHeader {\n\t/**\n\t * Wether to show the close button on mobile\n\t */\n\t@Prop() showClose = true;\n\n\t/**\n\t * Close click event\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tclose: EventEmitter<MouseEvent>;\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class=\"p-modal-header\">\n\t\t\t\t<span>\n\t\t\t\t\t<slot />\n\t\t\t\t</span>\n\n\t\t\t\t{this.showClose && (\n\t\t\t\t\t<p-button\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\ticon=\"negative\"\n\t\t\t\t\t\ticonOnly={true}\n\t\t\t\t\t\tonClick={(ev) => this.close.emit(ev)}\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t></p-button>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n}\n"],"mappings":"yDAAA,MAAMA,EAAwB,qoB,MCOjBC,EAAS,M,sCAIwB,U,aAKlB,M,aAKA,I,CAE3B,MAAAC,GACC,OACCC,EAACC,EAAI,CACJC,MAAO,wBAAwBC,KAAKC,WACnCD,KAAKE,SAAW,iBACZF,KAAKG,SAAW,gBAErBN,EAAA,a,aC9BJ,MAAMO,EAA6B,6rFCQnC,MAAMC,EAAa,CAClBC,GAAI,cACJC,GAAI,qBACJC,GAAI,mBACJC,GAAI,qBACJC,GAAI,sB,MAMQC,EAAc,M,mCAIgB,K,aAKf,K,CAE3B,MAAAf,GACC,MAAMgB,EAAYP,EAAWL,KAAKa,MAElC,OACChB,EAACC,EAAI,CACJC,MAAO,qBACNC,KAAKc,SAAW,aACbF,KAEJf,EAAA,a,aCvCJ,MAAMkB,EAA0B,6qB,MCOnBC,EAAW,M,yBACvB,MAAApB,GACC,OACCC,EAACC,EAAI,CAACC,MAAM,kBACXF,EAAA,aAAWE,MAAM,qCAEjBF,EAAA,a,aCbJ,MAAMoB,EAA0B,49B,MCOnBC,EAAW,M,qEAIH,I,CAUpB,MAAAtB,GACC,OACCC,EAACC,EAAI,CAACC,MAAM,kBACXF,EAAA,YACCA,EAAA,cAGAG,KAAKmB,WACLtB,EAAA,YACCI,QAAQ,YACRmB,KAAK,WACLC,SAAU,KACVC,QAAUC,GAAOvB,KAAKwB,MAAMC,KAAKF,GACjCV,KAAK,U"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,h as e,H as i}from"./p-e4d5e7a7.js";const a=".mr-2{margin-right:.5rem!important}.flex{display:flex!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.text-storm-vague{--tw-text-opacity:1!important;color:rgb(152 154 183/var(--tw-text-opacity))!important}*{box-sizing:border-box}p-status{--tw-text-opacity:1;align-items:center;color:rgb(152 154 183/var(--tw-text-opacity));display:flex;font-size:.875rem;font-weight:500;line-height:1.25rem}p-status p-icon{font-size:1rem;line-height:1.5rem;margin-right:.5rem}p-status.variant-positive{--tw-text-opacity:1;color:rgb(40 209 124/var(--tw-text-opacity))}p-status.variant-unbiased{--tw-text-opacity:1;color:rgb(255 199 45/var(--tw-text-opacity))}p-status.variant-negative{--tw-text-opacity:1;color:rgb(185 30 40/var(--tw-text-opacity))}
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,h as e,H as i}from"./p-e4d5e7a7.js";const a=".mr-2{margin-right:.5rem!important}.flex{display:flex!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.text-storm-vague{--tw-text-opacity:1!important;color:rgb(152 154 183/var(--tw-text-opacity))!important}*{box-sizing:border-box}p-status{--tw-text-opacity:1;align-items:center;color:rgb(152 154 183/var(--tw-text-opacity));display:flex;font-size:.875rem;font-weight:500;line-height:1.25rem}p-status p-icon{font-size:1rem;line-height:1.5rem;margin-right:.5rem}p-status.variant-positive{--tw-text-opacity:1;color:rgb(40 209 124/var(--tw-text-opacity))}p-status.variant-unbiased{--tw-text-opacity:1;color:rgb(255 199 45/var(--tw-text-opacity))}p-status.variant-negative{--tw-text-opacity:1;color:rgb(185 30 40/var(--tw-text-opacity))}";const r=class{constructor(e){t(this,e);this.variant="default";this.icon=undefined;this.iconFlip=undefined;this.iconRotate=undefined}render(){return e(i,{class:`p-status variant-${this.variant}\n }`},this._getIcon(),e("slot",null))}_getIcon(){const t=this.icon||this._getVariantIcon();if(!t){return}return e("p-icon",{variant:t,flip:this.iconFlip,rotate:this.iconRotate})}_getVariantIcon(){let t=null;switch(this.variant){case"positive":t="checkmark";break;case"negative":t="negative";break;case"unbiased":t="clock";break;default:t=null;break}return t}};r.style=a;export{r as p_status};
|
|
2
|
+
//# sourceMappingURL=p-a1eaea71.entry.js.map
|