@activecollab/components 1.0.137 → 1.0.140

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.
Files changed (86) hide show
  1. package/dist/cjs/components/Autocomplete/Autocomplete.js +60 -27
  2. package/dist/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  3. package/dist/cjs/components/Autocomplete/Styles.js +9 -11
  4. package/dist/cjs/components/Autocomplete/Styles.js.map +1 -1
  5. package/dist/cjs/components/BreakPoints.js +22 -0
  6. package/dist/cjs/components/BreakPoints.js.map +1 -0
  7. package/dist/cjs/components/Chip/Chip.js +3 -8
  8. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  9. package/dist/cjs/components/Dialog/Styles.js +3 -3
  10. package/dist/cjs/components/Dialog/Styles.js.map +1 -1
  11. package/dist/cjs/components/Icons/collection/ArrowDownLong.js +31 -0
  12. package/dist/cjs/components/Icons/collection/ArrowDownLong.js.map +1 -0
  13. package/dist/cjs/components/Icons/collection/ArrowUpLong.js +31 -0
  14. package/dist/cjs/components/Icons/collection/ArrowUpLong.js.map +1 -0
  15. package/dist/cjs/components/Icons/collection/index.js +16 -0
  16. package/dist/cjs/components/Icons/collection/index.js.map +1 -1
  17. package/dist/cjs/components/Select/Option/Option.js +7 -2
  18. package/dist/cjs/components/Select/Option/Option.js.map +1 -1
  19. package/dist/cjs/components/Select/Option/Styles.js +1 -1
  20. package/dist/cjs/components/Select/Option/Styles.js.map +1 -1
  21. package/dist/cjs/components/Select/OptionGroup/OptionGroup.js +34 -9
  22. package/dist/cjs/components/Select/OptionGroup/OptionGroup.js.map +1 -1
  23. package/dist/cjs/components/Select/OptionGroup/Styles.js +2 -2
  24. package/dist/cjs/components/Select/OptionGroup/Styles.js.map +1 -1
  25. package/dist/cjs/components/Select/Select.js +12 -36
  26. package/dist/cjs/components/Select/Select.js.map +1 -1
  27. package/dist/cjs/components/SelectTrigger/SelectTrigger.js +3 -2
  28. package/dist/cjs/components/SelectTrigger/SelectTrigger.js.map +1 -1
  29. package/dist/esm/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  30. package/dist/esm/components/Autocomplete/Autocomplete.js +60 -27
  31. package/dist/esm/components/Autocomplete/Autocomplete.js.map +1 -1
  32. package/dist/esm/components/Autocomplete/Styles.d.ts +6 -4
  33. package/dist/esm/components/Autocomplete/Styles.d.ts.map +1 -1
  34. package/dist/esm/components/Autocomplete/Styles.js +7 -6
  35. package/dist/esm/components/Autocomplete/Styles.js.map +1 -1
  36. package/dist/esm/components/BreakPoints.d.ts +8 -0
  37. package/dist/esm/components/BreakPoints.d.ts.map +1 -0
  38. package/dist/esm/components/BreakPoints.js +15 -0
  39. package/dist/esm/components/BreakPoints.js.map +1 -0
  40. package/dist/esm/components/Chip/Chip.d.ts +2 -2
  41. package/dist/esm/components/Chip/Chip.d.ts.map +1 -1
  42. package/dist/esm/components/Chip/Chip.js +3 -7
  43. package/dist/esm/components/Chip/Chip.js.map +1 -1
  44. package/dist/esm/components/Dialog/Styles.d.ts.map +1 -1
  45. package/dist/esm/components/Dialog/Styles.js +2 -3
  46. package/dist/esm/components/Dialog/Styles.js.map +1 -1
  47. package/dist/esm/components/Icons/collection/ArrowDownLong.d.ts +4 -0
  48. package/dist/esm/components/Icons/collection/ArrowDownLong.d.ts.map +1 -0
  49. package/dist/esm/components/Icons/collection/ArrowDownLong.js +18 -0
  50. package/dist/esm/components/Icons/collection/ArrowDownLong.js.map +1 -0
  51. package/dist/esm/components/Icons/collection/ArrowUpLong.d.ts +4 -0
  52. package/dist/esm/components/Icons/collection/ArrowUpLong.d.ts.map +1 -0
  53. package/dist/esm/components/Icons/collection/ArrowUpLong.js +18 -0
  54. package/dist/esm/components/Icons/collection/ArrowUpLong.js.map +1 -0
  55. package/dist/esm/components/Icons/collection/index.d.ts +2 -0
  56. package/dist/esm/components/Icons/collection/index.d.ts.map +1 -1
  57. package/dist/esm/components/Icons/collection/index.js +2 -0
  58. package/dist/esm/components/Icons/collection/index.js.map +1 -1
  59. package/dist/esm/components/Select/Option/Option.d.ts +3 -2
  60. package/dist/esm/components/Select/Option/Option.d.ts.map +1 -1
  61. package/dist/esm/components/Select/Option/Option.js +7 -2
  62. package/dist/esm/components/Select/Option/Option.js.map +1 -1
  63. package/dist/esm/components/Select/Option/Styles.d.ts +1 -1
  64. package/dist/esm/components/Select/Option/Styles.js +1 -1
  65. package/dist/esm/components/Select/Option/Styles.js.map +1 -1
  66. package/dist/esm/components/Select/OptionGroup/OptionGroup.d.ts +2 -4
  67. package/dist/esm/components/Select/OptionGroup/OptionGroup.d.ts.map +1 -1
  68. package/dist/esm/components/Select/OptionGroup/OptionGroup.js +21 -9
  69. package/dist/esm/components/Select/OptionGroup/OptionGroup.js.map +1 -1
  70. package/dist/esm/components/Select/OptionGroup/Styles.d.ts +1 -1
  71. package/dist/esm/components/Select/OptionGroup/Styles.d.ts.map +1 -1
  72. package/dist/esm/components/Select/OptionGroup/Styles.js +2 -2
  73. package/dist/esm/components/Select/OptionGroup/Styles.js.map +1 -1
  74. package/dist/esm/components/Select/Select.d.ts +2 -5
  75. package/dist/esm/components/Select/Select.d.ts.map +1 -1
  76. package/dist/esm/components/Select/Select.js +12 -36
  77. package/dist/esm/components/Select/Select.js.map +1 -1
  78. package/dist/esm/components/SelectTrigger/SelectTrigger.d.ts +1 -0
  79. package/dist/esm/components/SelectTrigger/SelectTrigger.d.ts.map +1 -1
  80. package/dist/esm/components/SelectTrigger/SelectTrigger.js +3 -2
  81. package/dist/esm/components/SelectTrigger/SelectTrigger.js.map +1 -1
  82. package/dist/index.js +163 -93
  83. package/dist/index.js.map +1 -1
  84. package/dist/index.min.js +1 -1
  85. package/dist/index.min.js.map +1 -1
  86. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Select/Select.tsx"],"names":["React","useCallback","useState","useMemo","useEffect","useRef","Autocomplete","Tooltip","Menu","classNames","useForkRef","StyledSelectForm","StyledSelectInput","StyledCheckbox","StyledRadioButton","OptionContent","Select","type","mode","target","options","selected","position","onChange","actionIcon","actionLabel","placeholder","emptyAction","disableSearch","forceCloseMenu","selectClassName","keepSameOptionsOrder","onSelectOpen","onSelectClose","prop","childNode","setChildNode","elementRef","handleRef","Tag","formRef","open","setOpen","isGroup","item","undefined","selectedOptions","Array","selectOptions","allOptionValues","reduce","acc","option","id","allGroupOptions","map","isAllOptionsChecked","every","includes","focus","handleChange","selectedValue","value","v","filter","concat","onClose","onOpen","props","menuClassName","className","handleEmptyAction","current","reset","handleDefaultOptionChange","length","handleRenderOption","image","color","textColor","name","additionalInfo","zIndex","displayName"],"mappings":";;;AAAA,OAAOA,KAAP,IAEEC,WAFF,EAGEC,QAHF,EAKEC,OALF,EAMEC,SANF,EAOEC,MAPF,QASO,OATP;AAUA,SAASC,YAAT,QAA6B,iBAA7B;AACA,SAASC,OAAT,QAAwB,YAAxB;AACA,SAASC,IAAT,QAAqB,cAArB;AAGA,OAAOC,UAAP,MAAuB,YAAvB;AAGA,OAAOC,UAAP,MAAuB,wBAAvB;AACA,SACEC,gBADF,EAEEC,iBAFF,EAGEC,cAHF,EAIEC,iBAJF,QAKO,UALP;AAMA,SAASC,aAAT,QAA8B,+BAA9B;AAyCA,OAAO,IAAMC,MAA6C,GAAG,SAAhDA,MAAgD,OAmBvD;AAAA,uBAlBJC,IAkBI;AAAA,MAlBJA,IAkBI,0BAlBG,QAkBH;AAAA,MAjBJC,IAiBI,QAjBJA,IAiBI;AAAA,MAhBJC,MAgBI,QAhBJA,MAgBI;AAAA,MAfJC,OAeI,QAfJA,OAeI;AAAA,2BAdJC,QAcI;AAAA,MAdJA,QAcI,8BAdO,EAcP;AAAA,2BAbJC,QAaI;AAAA,MAbJA,QAaI,8BAbO,cAaP;AAAA,2BAZJC,QAYI;AAAA,MAZJA,QAYI,8BAZO;AAAA,WAAY,IAAZ;AAAA,GAYP;AAAA,MAXJC,UAWI,QAXJA,UAWI;AAAA,MAVJC,WAUI,QAVJA,WAUI;AAAA,MATJC,WASI,QATJA,WASI;AAAA,8BARJC,WAQI;AAAA,MARJA,WAQI,iCARU;AAAA,WAAY,IAAZ;AAAA,GAQV;AAAA,gCAPJC,aAOI;AAAA,MAPJA,aAOI,mCAPY,KAOZ;AAAA,MANJC,cAMI,QANJA,cAMI;AAAA,MALJC,eAKI,QALJA,eAKI;AAAA,mCAJJC,oBAII;AAAA,MAJJA,oBAII,sCAJmB,KAInB;AAAA,MAHJC,YAGI,QAHJA,YAGI;AAAA,MAFJC,aAEI,QAFJA,aAEI;AAAA,MADDC,IACC;;AACJ,kBAAkChC,QAAQ,EAA1C;AAAA,MAAOiC,SAAP;AAAA,MAAkBC,YAAlB;;AACA,MAAMC,UAAU,GAAGhC,MAAM,CAA0B,IAA1B,CAAzB;AAEA,MAAMiC,SAAS,GAAG5B,UAAU,CAAC0B,YAAD,EAAeC,UAAf,CAA5B;AAEA,MAAME,GAAG,GAAG,CAACpB,MAAD,GAAU,KAAV,GAAkBX,IAA9B;AACA,MAAMgC,OAAO,GAAGnC,MAAM,CAAyB,IAAzB,CAAtB;;AAEA,mBAAwBH,QAAQ,CAAC,KAAD,CAAhC;AAAA,MAAOuC,IAAP;AAAA,MAAaC,OAAb;;AAEA,WAASC,OAAT,CACEC,IADF,EAE6B;AAC3B,WAAQA,IAAD,CAA4BxB,OAA5B,KAAwCyB,SAA/C;AACD;;AAED,MAAMC,eAAe,GAAG3C,OAAO,CAC7B;AAAA,WAAOkB,QAAQ,YAAY0B,KAApB,GAA4B1B,QAA5B,GAAuC,CAACA,QAAD,CAA9C;AAAA,GAD6B,EAE7B,CAACA,QAAD,CAF6B,CAA/B;AAKA,MAAM2B,aAAa,GAAG7C,OAAO,CAAC,YAAM;AAClC,QAAI,CAACiB,OAAL,EAAc;AACZ,aAAO,EAAP;AACD;;AACD,WAAOA,OAAP;AACD,GAL4B,EAK1B,CAACA,OAAD,CAL0B,CAA7B;AAOA,MAAM6B,eAAe,GAAG9C,OAAO,CAAC,YAAM;AACpC,WAAO6C,aAAa,CAACE,MAAd,CACL,UACEC,GADF,EAEEC,MAFF,EAGK;AACH,UAAI,CAACT,OAAO,CAACS,MAAD,CAAZ,EAAsB;AACpB,yBAAWD,GAAX,GAAgBC,MAAM,CAACC,EAAvB;AACD;;AACD,UAAMC,eAAe,GAAGF,MAAM,CAAChC,OAAP,CAAemC,GAAf,CAAmB,UAACH,MAAD;AAAA,eAAYA,MAAM,CAACC,EAAnB;AAAA,OAAnB,CAAxB;AACA,uBAAWF,GAAX,EAAmBG,eAAnB;AACD,KAVI,EAWL,EAXK,CAAP;AAaD,GAd8B,EAc5B,CAACN,aAAD,CAd4B,CAA/B;AAgBA,MAAMQ,mBAAmB,GAAGrD,OAAO,CACjC;AAAA,WAAM8C,eAAe,CAACQ,KAAhB,CAAsB,UAACL,MAAD;AAAA,aAAYN,eAAe,CAACY,QAAhB,CAAyBN,MAAzB,CAAZ;AAAA,KAAtB,CAAN;AAAA,GADiC,EAEjC,CAACH,eAAD,EAAkBH,eAAlB,CAFiC,CAAnC;AAKA1C,EAAAA,SAAS,CAAC,YAAM;AACdqC,IAAAA,IAAI,KAAIN,SAAJ,oBAAIA,SAAS,CAAEwB,KAAX,EAAJ,CAAJ;AACD,GAFQ,EAEN,CAACxB,SAAD,EAAYM,IAAZ,CAFM,CAAT;AAIA,MAAMmB,YAAY,GAAG3D,WAAW,CAC9B,UAAC4D,aAAD,EAAmB;AACjB,QAAIA,aAAa,KAAK,IAAtB,EAA4B;AAC1B,UAAI5C,IAAI,KAAK,QAAb,EAAuB;AACrB,YAAIY,cAAJ,EAAoB;AAClBa,UAAAA,OAAO,CAAC,KAAD,CAAP;AACD;;AACD,eAAOnB,QAAQ,CAACsC,aAAD,CAAf;AACD,OANyB,CAO1B;;;AACA,UAAMC,KAAK,GAAG,SAARA,KAAQ,GAA2B;AACvC,YAAID,aAAa,YAAYd,KAA7B,EAAoC;AAClC,cAAIc,aAAa,CAACJ,KAAd,CAAoB,UAACM,CAAD;AAAA,mBAAOjB,eAAe,CAACY,QAAhB,CAAyBK,CAAzB,CAAP;AAAA,WAApB,CAAJ,EAA6D;AAC3D,mBAAOjB,eAAe,CAACkB,MAAhB,CAAuB,UAACD,CAAD;AAAA,qBAAO,CAACF,aAAa,CAACH,QAAd,CAAuBK,CAAvB,CAAR;AAAA,aAAvB,CAAP;AACD;;AACD,iBAAOF,aAAa,CAACI,MAAd,CAAqBnB,eAArB,CAAP;AACD;;AACD,YAAIA,eAAe,CAACY,QAAhB,CAAyBG,aAAzB,CAAJ,EAA6C;AAC3C,iBAAOf,eAAe,CAACkB,MAAhB,CAAuB,UAACZ,MAAD;AAAA,mBAAYA,MAAM,KAAKS,aAAvB;AAAA,WAAvB,CAAP;AACD;;AACD,yBAAWf,eAAX,GAA4Be,aAA5B;AACD,OAXD;;AAYA,aAAOtC,QAAQ,CAACuC,KAAK,EAAN,CAAf;AACD;AACF,GAxB6B,EAyB9B,CAACvC,QAAD,EAAWN,IAAX,EAAiBY,cAAjB,EAAiCiB,eAAjC,CAzB8B,CAAhC;AA4BA,MAAMoB,OAAO,GAAGjE,WAAW,CAAC,YAAM;AAChCyC,IAAAA,OAAO,CAAC,KAAD,CAAP;;AACA,QAAIT,aAAJ,EAAmB;AACjBA,MAAAA,aAAa;AACd;AACF,GAL0B,EAKxB,CAACA,aAAD,CALwB,CAA3B;AAOA,MAAMkC,MAAM,GAAGlE,WAAW,CAAC,YAAM;AAC/ByC,IAAAA,OAAO,CAAC,IAAD,CAAP;;AACA,QAAIV,YAAJ,EAAkB;AAChBA,MAAAA,YAAY;AACb;AACF,GALyB,EAKvB,CAACA,YAAD,CALuB,CAA1B;AAOA,MAAMoC,KAAK,GAAGjE,OAAO,CAAC,YAAM;AAC1B,QAAIgB,MAAJ,EAAY;AACV,aAAO;AACLkD,QAAAA,aAAa,EAAE5D,UAAU,CAAC,UAAD,EAAaqB,eAAb,CADpB;AAELoC,QAAAA,OAAO,EAAPA,OAFK;AAGLC,QAAAA,MAAM,EAANA,MAHK;AAILhD,QAAAA,MAAM,EAANA,MAJK;AAKLD,QAAAA,IAAI,EAAJA,IALK;AAMLuB,QAAAA,IAAI,EAAJA,IANK;AAOLnB,QAAAA,QAAQ,EAARA;AAPK,OAAP;AASD;;AACD,WAAO;AAAEgD,MAAAA,SAAS,EAAE7D,UAAU,CAAC,UAAD,EAAaqB,eAAb;AAAvB,KAAP;AACD,GAboB,EAalB,CAACX,MAAD,EAASW,eAAT,EAA0BoC,OAA1B,EAAmCC,MAAnC,EAA2CjD,IAA3C,EAAiDuB,IAAjD,EAAuDnB,QAAvD,CAbkB,CAArB;AAeA,MAAMiD,iBAAiB,GAAGtE,WAAW,CACnC,UAAC6D,KAAD,EAAW;AAAA;;AACTnC,IAAAA,WAAW,CAACmC,KAAD,CAAX;;AACA,QAAIjC,cAAJ,EAAoB;AAClBa,MAAAA,OAAO,CAAC,KAAD,CAAP;AACD;;AACD,wBAAAF,OAAO,CAACgC,OAAR,sCAAiBC,KAAjB;AACD,GAPkC,EAQnC,CAAC9C,WAAD,EAAcE,cAAd,CARmC,CAArC;AAWA,MAAM6C,yBAAyB,GAAGzE,WAAW,CAAC,YAAM;AAClD,QAAIgB,IAAI,KAAK,UAAb,EAAyB;AACvB,UAAI6B,eAAe,CAAC6B,MAAhB,KAA2B1B,eAAe,CAAC0B,MAA/C,EAAuD;AACrDpD,QAAAA,QAAQ,CAAC,EAAD,CAAR;AACD,OAFD,MAEO;AACLA,QAAAA,QAAQ,CAAC0B,eAAD,CAAR;AACD;AACF,KAND,MAMO;AACL1B,MAAAA,QAAQ,CAAC,EAAD,CAAR;;AACA,UAAIM,cAAJ,EAAoB;AAClBa,QAAAA,OAAO,CAAC,KAAD,CAAP;AACD;AACF;AACF,GAb4C,EAa1C,CAACnB,QAAD,EAAWN,IAAX,EAAiBY,cAAjB,EAAiCiB,eAAe,CAAC6B,MAAjD,EAAyD1B,eAAzD,CAb0C,CAA7C;AAeA,MAAM2B,kBAAkB,GAAG3E,WAAW,CACpC,UAACmD,MAAD,EAASgB,KAAT,EAAmB;AACjB,wBACE,uDACE,oBAAC,aAAD;AACE,MAAA,QAAQ,EAAEhB,MAAM,CAACyB,KADnB;AAEE,MAAA,KAAK,EAAEzB,MAAM,CAAC0B,KAFhB;AAGE,MAAA,SAAS,EAAE1B,MAAM,CAAC2B,SAHpB;AAIE,MAAA,IAAI,EAAE3B,MAAM,CAAC4B,IAJf;AAKE,MAAA,cAAc,EAAE5B,MAAM,CAAC6B;AALzB,MADF,EAQG7B,MAAM,CAACC,EAAP,KAAc,IAAd,GACCpC,IAAI,KAAK,UAAT,gBACE,oBAAC,cAAD;AAAgB,MAAA,OAAO,EAAEuC;AAAzB,OAAkDY,KAAlD,EADF,gBAGE,oBAAC,iBAAD;AACE,MAAA,OAAO,EAAEtB,eAAe,CAAC6B,MAAhB,GAAyB,CAAzB,IAA8B,CAAC7B,eAAe,CAAC,CAAD;AADzD,OAEMsB,KAFN,EAJH,GASGnD,IAAI,KAAK,UAAT,gBACF,oBAAC,cAAD,EAAoBmD,KAApB,CADE,gBAGF,oBAAC,iBAAD,EAAuBA,KAAvB,CApBJ,CADF;AAyBD,GA3BmC,EA4BpC,CAACZ,mBAAD,EAAsBV,eAAtB,EAAuC7B,IAAvC,CA5BoC,CAAtC;AA+BA,sBACE,oBAAC,GAAD,EAASmD,KAAT,eACE,iCACG,CAACxC,aAAD,gBACC,oBAAC,gBAAD;AAAkB,IAAA,GAAG,EAAEY;AAAvB,kBACE,oBAAC,iBAAD;AACE,IAAA,GAAG,EAAEF,SADP;AAEE,IAAA,SAAS,MAFX;AAGE,IAAA,WAAW,EAAEZ;AAHf,IADF,EAMGF,UAAU,IAAIC,WAAd,iBACC,oBAAC,OAAD;AACE,IAAA,kBAAkB,EAAE;AAAEyD,MAAAA,MAAM,EAAE;AAAV,KADtB;AAEE,IAAA,KAAK,EAAEzD;AAFT,kBAIE,iCAAMD,UAAN,CAJF,CAPJ,EAcGA,UAAU,IAAI,CAACC,WAAf,IAA8BD,UAdjC,CADD,GAiBG,IAlBN,eAmBE,oBAAC,YAAD,eACMU,IADN;AAEE,IAAA,OAAO,EAAEC,SAFX;AAGE,IAAA,iBAAiB,EAAEoC,iBAHrB;AAIE,IAAA,QAAQ,EAAElD,QAJZ;AAKE,IAAA,YAAY,EAAEuC,YALhB;AAME,IAAA,YAAY,EAAEgB,kBANhB;AAOE,IAAA,OAAO,EAAExD,OAPX;AAQE,IAAA,yBAAyB,EAAEsD,yBAR7B;AASE,IAAA,IAAI,EAAEzD,IATR;AAUE,IAAA,qBAAqB,EAAEA,IAAI,KAAK,QAVlC;AAWE,IAAA,oBAAoB,EAAEc;AAXxB,KAnBF,CADF,CADF;AAqCD,CAhOM;AAkOPf,MAAM,CAACmE,WAAP,GAAqB,QAArB","sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n ReactElement,\n useMemo,\n useEffect,\n useRef,\n Ref,\n} from \"react\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Menu } from \"../Menu/Menu\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { IOptionGroupProps } from \"../Select/OptionGroup\";\nimport classNames from \"classnames\";\nimport { Placement } from \"@popperjs/core\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport {\n StyledSelectForm,\n StyledSelectInput,\n StyledCheckbox,\n StyledRadioButton,\n} from \"./Styles\";\nimport { OptionContent } from \"./OptionContent/OptionContent\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\ninterface ISelectProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** Menu width mode */\n mode?: \"normal\" | \"wider\" | \"tiny\";\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Set selected items */\n selected?: (string | number)[] | string | number;\n /** Set Select position */\n position?: Placement;\n /** onChange callback */\n onChange?: (e: (string | number)[] | string | number) => void;\n /** Set action icon in select */\n actionIcon?: ReactElement;\n /** Set label for action icon */\n actionLabel?: string;\n /** Placeholder for Select input */\n placeholder?: string;\n /** Function that triggers when empty is clicked */\n emptyAction?: (e: string | undefined) => void;\n /** Removes input from Select */\n disableSearch?: boolean;\n /** Close menu on select */\n forceCloseMenu?: boolean;\n /** Set select classNames */\n selectClassName?: string;\n /** Should the order stay the same after choosing an option */\n keepSameOptionsOrder?: boolean;\n /** Callback called when the Select menu is opened */\n onSelectOpen?: () => void;\n /** Callback called when the Select menu is closed */\n onSelectClose?: () => void;\n}\n\nexport const Select: FC<ISelectProps & IAutocompleteProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\n position = \"bottom-start\",\n onChange = (): null => null,\n actionIcon,\n actionLabel,\n placeholder,\n emptyAction = (): null => null,\n disableSearch = false,\n forceCloseMenu,\n selectClassName,\n keepSameOptionsOrder = false,\n onSelectOpen,\n onSelectClose,\n ...prop\n}) => {\n const [childNode, setChildNode] = useState<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n\n const handleRef = useForkRef(setChildNode, elementRef);\n\n const Tag = !target ? \"div\" : Menu;\n const formRef = useRef<HTMLFormElement | null>(null);\n\n const [open, setOpen] = useState(false);\n\n function isGroup(\n item: IOptionGroupProps | IOptionItemProps\n ): item is IOptionGroupProps {\n return (item as IOptionGroupProps).options !== undefined;\n }\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const selectOptions = useMemo(() => {\n if (!options) {\n return [];\n }\n return options;\n }, [options]);\n\n const allOptionValues = useMemo(() => {\n return selectOptions.reduce(\n (\n acc: (string | number)[],\n option: IOptionGroupProps | IOptionItemProps\n ) => {\n if (!isGroup(option)) {\n return [...acc, option.id];\n }\n const allGroupOptions = option.options.map((option) => option.id);\n return [...acc, ...allGroupOptions];\n },\n []\n );\n }, [selectOptions]);\n\n const isAllOptionsChecked = useMemo(\n () => allOptionValues.every((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n useEffect(() => {\n open && childNode?.focus();\n }, [childNode, open]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (selectedValue !== null) {\n if (type === \"single\") {\n if (forceCloseMenu) {\n setOpen(false);\n }\n return onChange(selectedValue);\n }\n // multiple\n const value = (): (string | number)[] => {\n if (selectedValue instanceof Array) {\n if (selectedValue.every((v) => selectedOptions.includes(v))) {\n return selectedOptions.filter((v) => !selectedValue.includes(v));\n }\n return selectedValue.concat(selectedOptions);\n }\n if (selectedOptions.includes(selectedValue)) {\n return selectedOptions.filter((option) => option !== selectedValue);\n }\n return [...selectedOptions, selectedValue];\n };\n return onChange(value());\n }\n },\n [onChange, type, forceCloseMenu, selectedOptions]\n );\n\n const onClose = useCallback(() => {\n setOpen(false);\n if (onSelectClose) {\n onSelectClose();\n }\n }, [onSelectClose]);\n\n const onOpen = useCallback(() => {\n setOpen(true);\n if (onSelectOpen) {\n onSelectOpen();\n }\n }, [onSelectOpen]);\n\n const props = useMemo(() => {\n if (target) {\n return {\n menuClassName: classNames(\"c-select\", selectClassName),\n onClose,\n onOpen,\n target,\n mode,\n open,\n position,\n };\n }\n return { className: classNames(\"c-select\", selectClassName) };\n }, [target, selectClassName, onClose, onOpen, mode, open, position]);\n\n const handleEmptyAction = useCallback(\n (value) => {\n emptyAction(value);\n if (forceCloseMenu) {\n setOpen(false);\n }\n formRef.current?.reset();\n },\n [emptyAction, forceCloseMenu]\n );\n\n const handleDefaultOptionChange = useCallback(() => {\n if (type === \"multiple\") {\n if (selectedOptions.length === allOptionValues.length) {\n onChange([]);\n } else {\n onChange(allOptionValues);\n }\n } else {\n onChange(\"\");\n if (forceCloseMenu) {\n setOpen(false);\n }\n }\n }, [onChange, type, forceCloseMenu, selectedOptions.length, allOptionValues]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n additionalInfo={option.additionalInfo}\n />\n {option.id === null ? (\n type === \"multiple\" ? (\n <StyledCheckbox checked={isAllOptionsChecked} {...props} />\n ) : (\n <StyledRadioButton\n checked={selectedOptions.length < 1 || !selectedOptions[0]}\n {...props}\n />\n )\n ) : type === \"multiple\" ? (\n <StyledCheckbox {...props} />\n ) : (\n <StyledRadioButton {...props} />\n )}\n </>\n );\n },\n [isAllOptionsChecked, selectedOptions, type]\n );\n\n return (\n <Tag {...props}>\n <div>\n {!disableSearch ? (\n <StyledSelectForm ref={formRef}>\n <StyledSelectInput\n ref={handleRef}\n autoFocus\n placeholder={placeholder}\n />\n {actionIcon && actionLabel && (\n <Tooltip\n popperTooltipStyle={{ zIndex: 1301 }}\n title={actionLabel}\n >\n <div>{actionIcon}</div>\n </Tooltip>\n )}\n {actionIcon && !actionLabel && actionIcon}\n </StyledSelectForm>\n ) : null}\n <Autocomplete\n {...prop}\n inputEl={childNode}\n handleEmptyAction={handleEmptyAction}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n handleDefaultOptionChange={handleDefaultOptionChange}\n type={type}\n preselectDefaultValue={type === \"single\"}\n keepSameOptionsOrder={keepSameOptionsOrder}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n"],"file":"Select.js"}
1
+ {"version":3,"sources":["../../../../src/components/Select/Select.tsx"],"names":["React","useCallback","useState","useMemo","useEffect","useRef","Autocomplete","Tooltip","Menu","classNames","useForkRef","StyledSelectForm","StyledSelectInput","StyledCheckbox","StyledRadioButton","OptionContent","Select","type","mode","target","options","selected","position","onChange","actionIcon","actionLabel","placeholder","emptyAction","disableSearch","forceCloseMenu","selectClassName","keepSameOptionsOrder","onSelectOpen","onSelectClose","renderOption","prop","childNode","setChildNode","elementRef","handleRef","Tag","formRef","open","setOpen","isGroup","item","undefined","selectedOptions","Array","selectOptions","allOptionValues","reduce","acc","option","id","allGroupOptions","map","isAllOptionsChecked","every","includes","focus","handleChange","selectedValue","onClose","onOpen","props","menuClassName","className","handleEmptyAction","value","current","reset","handleDefaultOptionChange","length","handleRenderOption","image","color","textColor","name","additionalInfo","zIndex","displayName"],"mappings":"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","sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n ReactElement,\n useMemo,\n useEffect,\n useRef,\n Ref,\n} from \"react\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Menu } from \"../Menu/Menu\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { IOptionGroupProps } from \"../Select/OptionGroup\";\nimport classNames from \"classnames\";\nimport { Placement } from \"@popperjs/core\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport {\n StyledSelectForm,\n StyledSelectInput,\n StyledCheckbox,\n StyledRadioButton,\n} from \"./Styles\";\nimport { OptionContent } from \"./OptionContent/OptionContent\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport interface ISelectProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"preselectDefaultValue\" | \"handleDefaultOptionChange\"\n > {\n /** Menu width mode */\n mode?: \"normal\" | \"wider\" | \"tiny\";\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Set Select position */\n position?: Placement;\n /** onChange callback */\n onChange?: (e: (string | number)[] | string | number) => void;\n /** Set action icon in select */\n actionIcon?: ReactElement;\n /** Set label for action icon */\n actionLabel?: string;\n /** Placeholder for Select input */\n placeholder?: string;\n /** Function that triggers when empty is clicked */\n emptyAction?: (e: string | undefined) => void;\n /** Removes input from Select */\n disableSearch?: boolean;\n /** Close menu on select */\n forceCloseMenu?: boolean;\n /** Set select classNames */\n selectClassName?: string;\n /** Callback called when the Select menu is opened */\n onSelectOpen?: () => void;\n /** Callback called when the Select menu is closed */\n onSelectClose?: () => void;\n}\n\nexport const Select: FC<ISelectProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\n position = \"bottom-start\",\n onChange = () => null,\n actionIcon,\n actionLabel,\n placeholder,\n emptyAction = (): null => null,\n disableSearch = false,\n forceCloseMenu,\n selectClassName,\n keepSameOptionsOrder = false,\n onSelectOpen,\n onSelectClose,\n renderOption,\n ...prop\n}) => {\n const [childNode, setChildNode] = useState<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n\n const handleRef = useForkRef(setChildNode, elementRef);\n\n const Tag = !target ? \"div\" : Menu;\n const formRef = useRef<HTMLFormElement | null>(null);\n\n const [open, setOpen] = useState(false);\n\n function isGroup(\n item: IOptionGroupProps | IOptionItemProps\n ): item is IOptionGroupProps {\n return (item as IOptionGroupProps).options !== undefined;\n }\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const selectOptions = useMemo(() => {\n if (!options) {\n return [];\n }\n return options;\n }, [options]);\n\n const allOptionValues = useMemo(() => {\n return selectOptions.reduce(\n (\n acc: (string | number)[],\n option: IOptionGroupProps | IOptionItemProps\n ) => {\n if (!isGroup(option)) {\n return [...acc, option.id];\n }\n const allGroupOptions = option.options.map((option) => option.id);\n return [...acc, ...allGroupOptions];\n },\n []\n );\n }, [selectOptions]);\n\n const isAllOptionsChecked = useMemo(\n () => allOptionValues.every((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n useEffect(() => {\n open && childNode?.focus();\n }, [childNode, open]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (forceCloseMenu) {\n setOpen(false);\n }\n onChange(selectedValue);\n },\n [onChange, forceCloseMenu]\n );\n\n const onClose = useCallback(() => {\n setOpen(false);\n if (onSelectClose) {\n onSelectClose();\n }\n }, [onSelectClose]);\n\n const onOpen = useCallback(() => {\n setOpen(true);\n if (onSelectOpen) {\n onSelectOpen();\n }\n }, [onSelectOpen]);\n\n const props = useMemo(() => {\n if (target) {\n return {\n menuClassName: classNames(\"c-select\", selectClassName),\n onClose,\n onOpen,\n target,\n mode,\n open,\n position,\n };\n }\n return { className: classNames(\"c-select\", selectClassName) };\n }, [target, selectClassName, onClose, onOpen, mode, open, position]);\n\n const handleEmptyAction = useCallback(\n (value) => {\n emptyAction(value);\n if (forceCloseMenu) {\n setOpen(false);\n }\n formRef.current?.reset();\n },\n [emptyAction, forceCloseMenu]\n );\n\n const handleDefaultOptionChange = useCallback(() => {\n if (type === \"multiple\") {\n if (selectedOptions.length === allOptionValues.length) {\n onChange([]);\n } else {\n onChange(allOptionValues);\n }\n } else {\n onChange(\"\");\n if (forceCloseMenu) {\n setOpen(false);\n }\n }\n }, [onChange, type, forceCloseMenu, selectedOptions.length, allOptionValues]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n additionalInfo={option.additionalInfo}\n />\n {option.id === null ? (\n type === \"multiple\" ? (\n <StyledCheckbox checked={isAllOptionsChecked} {...props} />\n ) : (\n <StyledRadioButton\n checked={selectedOptions.length < 1 || !selectedOptions[0]}\n {...props}\n />\n )\n ) : type === \"multiple\" ? (\n <StyledCheckbox {...props} />\n ) : (\n <StyledRadioButton {...props} />\n )}\n </>\n );\n },\n [isAllOptionsChecked, renderOption, selectedOptions, type]\n );\n\n return (\n <Tag {...props}>\n <div>\n {!disableSearch ? (\n <StyledSelectForm ref={formRef}>\n <StyledSelectInput\n ref={handleRef}\n autoFocus\n placeholder={placeholder}\n />\n {actionIcon && actionLabel && (\n <Tooltip\n popperTooltipStyle={{ zIndex: 1301 }}\n title={actionLabel}\n >\n <div>{actionIcon}</div>\n </Tooltip>\n )}\n {actionIcon && !actionLabel && actionIcon}\n </StyledSelectForm>\n ) : null}\n <Autocomplete\n {...prop}\n inputEl={childNode}\n handleEmptyAction={handleEmptyAction}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n handleDefaultOptionChange={handleDefaultOptionChange}\n type={type}\n preselectDefaultValue={type === \"single\"}\n keepSameOptionsOrder={keepSameOptionsOrder}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n"],"file":"Select.js"}
@@ -3,6 +3,7 @@ export declare type Size = "regular" | "big" | "small";
3
3
  export interface SelectTriggerProps extends ComponentPropsWithoutRef<"button"> {
4
4
  size?: Size;
5
5
  invalid?: boolean;
6
+ endAdornment?: JSX.Element;
6
7
  }
7
8
  export declare const SelectTrigger: React.ForwardRefExoticComponent<SelectTriggerProps & React.RefAttributes<HTMLButtonElement>>;
8
9
  //# sourceMappingURL=SelectTrigger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectTrigger.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectTrigger/SelectTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAc,wBAAwB,EAAE,MAAM,OAAO,CAAC;AAIpE,oBAAY,IAAI,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC;AAE/C,MAAM,WAAW,kBAAmB,SAAQ,wBAAwB,CAAC,QAAQ,CAAC;IAC5E,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,aAAa,8FA2BzB,CAAC"}
1
+ {"version":3,"file":"SelectTrigger.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectTrigger/SelectTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAc,wBAAwB,EAAE,MAAM,OAAO,CAAC;AAIpE,oBAAY,IAAI,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC;AAE/C,MAAM,WAAW,kBAAmB,SAAQ,wBAAwB,CAAC,QAAQ,CAAC;IAC5E,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,aAAa,8FAkCzB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- var _excluded = ["children", "type", "size", "invalid"];
3
+ var _excluded = ["children", "type", "size", "invalid", "endAdornment"];
4
4
  import React, { forwardRef } from "react";
5
5
  import { Typography } from "../Typography/Typography";
6
6
  import { StyledCaretIcon, StyledSelectTrigger } from "./Styles";
@@ -12,6 +12,7 @@ export var SelectTrigger = /*#__PURE__*/forwardRef(function (_ref, ref) {
12
12
  size = _ref$size === void 0 ? "regular" : _ref$size,
13
13
  _ref$invalid = _ref.invalid,
14
14
  invalid = _ref$invalid === void 0 ? false : _ref$invalid,
15
+ endAdornment = _ref.endAdornment,
15
16
  rest = _objectWithoutPropertiesLoose(_ref, _excluded);
16
17
 
17
18
  return /*#__PURE__*/React.createElement(StyledSelectTrigger, _extends({
@@ -25,7 +26,7 @@ export var SelectTrigger = /*#__PURE__*/forwardRef(function (_ref, ref) {
25
26
  overflow: "truncate",
26
27
  whitespace: "no-wrap",
27
28
  variant: size === "small" || size === "regular" ? "Body 2" : "Body 1"
28
- }, children), /*#__PURE__*/React.createElement(StyledCaretIcon, null));
29
+ }, children), endAdornment ? endAdornment : /*#__PURE__*/React.createElement(StyledCaretIcon, null));
29
30
  });
30
31
  SelectTrigger.displayName = "SelectTrigger";
31
32
  //# sourceMappingURL=SelectTrigger.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SelectTrigger/SelectTrigger.tsx"],"names":["React","forwardRef","Typography","StyledCaretIcon","StyledSelectTrigger","SelectTrigger","ref","children","type","size","invalid","rest","displayName"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAA4D,OAA5D;AACA,SAASC,UAAT,QAA2B,0BAA3B;AACA,SAASC,eAAT,EAA0BC,mBAA1B,QAAqD,UAArD;AASA,OAAO,IAAMC,aAAa,gBAAGJ,UAAU,CACrC,gBAEEK,GAFF,EAGK;AAAA,MAFDC,QAEC,QAFDA,QAEC;AAAA,uBAFSC,IAET;AAAA,MAFSA,IAET,0BAFgB,QAEhB;AAAA,uBAF0BC,IAE1B;AAAA,MAF0BA,IAE1B,0BAFiC,SAEjC;AAAA,0BAF4CC,OAE5C;AAAA,MAF4CA,OAE5C,6BAFsD,KAEtD;AAAA,MAFgEC,IAEhE;;AACH,sBACE,oBAAC,mBAAD;AACE,IAAA,GAAG,EAAEL,GADP;AAEE,IAAA,IAAI,EAAC,QAFP;AAGE,IAAA,IAAI,EAAEE,IAHR;AAIE,IAAA,KAAK,EAAEC,IAJT;AAKE,IAAA,QAAQ,EAAEC;AALZ,KAMMC,IANN,gBAQE,oBAAC,UAAD;AACE,IAAA,EAAE,EAAC,KADL;AAEE,IAAA,QAAQ,EAAC,UAFX;AAGE,IAAA,UAAU,EAAC,SAHb;AAIE,IAAA,OAAO,EAAEF,IAAI,KAAK,OAAT,IAAoBA,IAAI,KAAK,SAA7B,GAAyC,QAAzC,GAAoD;AAJ/D,KAMGF,QANH,CARF,eAiBE,oBAAC,eAAD,OAjBF,CADF;AAqBD,CA1BoC,CAAhC;AA6BPF,aAAa,CAACO,WAAd,GAA4B,eAA5B","sourcesContent":["import React, { forwardRef, ComponentPropsWithoutRef } from \"react\";\nimport { Typography } from \"../Typography/Typography\";\nimport { StyledCaretIcon, StyledSelectTrigger } from \"./Styles\";\n\nexport type Size = \"regular\" | \"big\" | \"small\";\n\nexport interface SelectTriggerProps extends ComponentPropsWithoutRef<\"button\"> {\n size?: Size;\n invalid?: boolean;\n}\n\nexport const SelectTrigger = forwardRef<HTMLButtonElement, SelectTriggerProps>(\n (\n { children, type = \"button\", size = \"regular\", invalid = false, ...rest },\n ref\n ) => {\n return (\n <StyledSelectTrigger\n ref={ref}\n role=\"button\"\n type={type}\n $size={size}\n $invalid={invalid}\n {...rest}\n >\n <Typography\n as=\"div\"\n overflow=\"truncate\"\n whitespace=\"no-wrap\"\n variant={size === \"small\" || size === \"regular\" ? \"Body 2\" : \"Body 1\"}\n >\n {children}\n </Typography>\n\n <StyledCaretIcon />\n </StyledSelectTrigger>\n );\n }\n);\n\nSelectTrigger.displayName = \"SelectTrigger\";\n"],"file":"SelectTrigger.js"}
1
+ {"version":3,"sources":["../../../../src/components/SelectTrigger/SelectTrigger.tsx"],"names":["React","forwardRef","Typography","StyledCaretIcon","StyledSelectTrigger","SelectTrigger","ref","children","type","size","invalid","endAdornment","rest","displayName"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAA4D,OAA5D;AACA,SAASC,UAAT,QAA2B,0BAA3B;AACA,SAASC,eAAT,EAA0BC,mBAA1B,QAAqD,UAArD;AAUA,OAAO,IAAMC,aAAa,gBAAGJ,UAAU,CACrC,gBASEK,GATF,EAUK;AAAA,MARDC,QAQC,QARDA,QAQC;AAAA,uBAPDC,IAOC;AAAA,MAPDA,IAOC,0BAPM,QAON;AAAA,uBANDC,IAMC;AAAA,MANDA,IAMC,0BANM,SAMN;AAAA,0BALDC,OAKC;AAAA,MALDA,OAKC,6BALS,KAKT;AAAA,MAJDC,YAIC,QAJDA,YAIC;AAAA,MAHEC,IAGF;;AACH,sBACE,oBAAC,mBAAD;AACE,IAAA,GAAG,EAAEN,GADP;AAEE,IAAA,IAAI,EAAC,QAFP;AAGE,IAAA,IAAI,EAAEE,IAHR;AAIE,IAAA,KAAK,EAAEC,IAJT;AAKE,IAAA,QAAQ,EAAEC;AALZ,KAMME,IANN,gBAQE,oBAAC,UAAD;AACE,IAAA,EAAE,EAAC,KADL;AAEE,IAAA,QAAQ,EAAC,UAFX;AAGE,IAAA,UAAU,EAAC,SAHb;AAIE,IAAA,OAAO,EAAEH,IAAI,KAAK,OAAT,IAAoBA,IAAI,KAAK,SAA7B,GAAyC,QAAzC,GAAoD;AAJ/D,KAMGF,QANH,CARF,EAiBGI,YAAY,GAAGA,YAAH,gBAAkB,oBAAC,eAAD,OAjBjC,CADF;AAqBD,CAjCoC,CAAhC;AAoCPN,aAAa,CAACQ,WAAd,GAA4B,eAA5B","sourcesContent":["import React, { forwardRef, ComponentPropsWithoutRef } from \"react\";\nimport { Typography } from \"../Typography/Typography\";\nimport { StyledCaretIcon, StyledSelectTrigger } from \"./Styles\";\n\nexport type Size = \"regular\" | \"big\" | \"small\";\n\nexport interface SelectTriggerProps extends ComponentPropsWithoutRef<\"button\"> {\n size?: Size;\n invalid?: boolean;\n endAdornment?: JSX.Element;\n}\n\nexport const SelectTrigger = forwardRef<HTMLButtonElement, SelectTriggerProps>(\n (\n {\n children,\n type = \"button\",\n size = \"regular\",\n invalid = false,\n endAdornment,\n ...rest\n },\n ref\n ) => {\n return (\n <StyledSelectTrigger\n ref={ref}\n role=\"button\"\n type={type}\n $size={size}\n $invalid={invalid}\n {...rest}\n >\n <Typography\n as=\"div\"\n overflow=\"truncate\"\n whitespace=\"no-wrap\"\n variant={size === \"small\" || size === \"regular\" ? \"Body 2\" : \"Body 1\"}\n >\n {children}\n </Typography>\n\n {endAdornment ? endAdornment : <StyledCaretIcon />}\n </StyledSelectTrigger>\n );\n }\n);\n\nSelectTrigger.displayName = \"SelectTrigger\";\n"],"file":"SelectTrigger.js"}
package/dist/index.js CHANGED
@@ -1279,6 +1279,22 @@
1279
1279
  ArrowCollapseMultipleIcon.displayName = "ArrowCollapseMultipleIcon";
1280
1280
  var ArrowCollapseMultipleIcon$1 = ArrowCollapseMultipleIcon;
1281
1281
 
1282
+ var ArrowDownLongIcon = /*#__PURE__*/React__default["default"].forwardRef(function (props, svgRef) {
1283
+ return /*#__PURE__*/React__default["default"].createElement("svg", _extends({
1284
+ width: 24,
1285
+ height: 24,
1286
+ viewBox: "0 0 24 24",
1287
+ xmlns: "http://www.w3.org/2000/svg",
1288
+ fill: "var(--color-theme-600)",
1289
+ ref: svgRef
1290
+ }, props), /*#__PURE__*/React__default["default"].createElement("path", {
1291
+ d: "M13 5v9h4l-5 5-5-5h4V5z",
1292
+ fillRule: "evenodd"
1293
+ }));
1294
+ });
1295
+ ArrowDownLongIcon.displayName = "ArrowDownLongIcon";
1296
+ var ArrowDownLongIcon$1 = ArrowDownLongIcon;
1297
+
1282
1298
  var ArrowExpandeMultipleIcon = /*#__PURE__*/React__default["default"].forwardRef(function (props, svgRef) {
1283
1299
  return /*#__PURE__*/React__default["default"].createElement("svg", _extends({
1284
1300
  width: 24,
@@ -1358,6 +1374,22 @@
1358
1374
  ArrowRightIcon.displayName = "ArrowRightIcon";
1359
1375
  var ArrowRightIcon$1 = ArrowRightIcon;
1360
1376
 
1377
+ var ArrowUpLongIcon = /*#__PURE__*/React__default["default"].forwardRef(function (props, svgRef) {
1378
+ return /*#__PURE__*/React__default["default"].createElement("svg", _extends({
1379
+ width: 24,
1380
+ height: 24,
1381
+ viewBox: "0 0 24 24",
1382
+ xmlns: "http://www.w3.org/2000/svg",
1383
+ fill: "var(--color-theme-600)",
1384
+ ref: svgRef
1385
+ }, props), /*#__PURE__*/React__default["default"].createElement("path", {
1386
+ d: "M13 19v-9h4l-5-5-5 5h4v9z",
1387
+ fillRule: "evenodd"
1388
+ }));
1389
+ });
1390
+ ArrowUpLongIcon.displayName = "ArrowUpLongIcon";
1391
+ var ArrowUpLongIcon$1 = ArrowUpLongIcon;
1392
+
1361
1393
  var AssignIcon = /*#__PURE__*/React__default["default"].forwardRef(function (props, svgRef) {
1362
1394
  return /*#__PURE__*/React__default["default"].createElement("svg", _extends({
1363
1395
  width: 24,
@@ -6339,7 +6371,7 @@
6339
6371
  }
6340
6372
  };
6341
6373
 
6342
- var StyledOption = styled__default["default"].label.withConfig({
6374
+ var StyledOption = styled__default["default"].li.withConfig({
6343
6375
  displayName: "Styles__StyledOption",
6344
6376
  componentId: "sc-1232l97-0"
6345
6377
  })(["", " font-size:14px;display:flex;justify-content:space-between;height:28px;padding-left:16px;padding-right:16px;margin-top:4px;margin-bottom:4px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition-duration:0.1s;color:var(--color-theme-900);", " ", " ", ""], {
@@ -6356,7 +6388,11 @@
6356
6388
  hover = _ref.hover,
6357
6389
  className = _ref.className,
6358
6390
  renderOption = _ref.renderOption,
6359
- onMouseEnter = _ref.onMouseEnter;
6391
+ onMouseEnter = _ref.onMouseEnter,
6392
+ _ref$onClick = _ref.onClick,
6393
+ onClick = _ref$onClick === void 0 ? function () {
6394
+ return null;
6395
+ } : _ref$onClick;
6360
6396
  var handleOnMouseEnter = React.useCallback(function () {
6361
6397
  if (onMouseEnter) {
6362
6398
  onMouseEnter(id);
@@ -6367,7 +6403,8 @@
6367
6403
  title: name,
6368
6404
  onMouseEnter: handleOnMouseEnter,
6369
6405
  className: classnames__default["default"]("c-option", className),
6370
- hover: hover
6406
+ hover: hover,
6407
+ onClick: onClick
6371
6408
  }, renderOption ? renderOption : name);
6372
6409
  });
6373
6410
  Option.displayName = "Option";
@@ -6433,9 +6470,9 @@
6433
6470
  var StyledOptionGroupHeader = styled__default["default"].h3.withConfig({
6434
6471
  displayName: "Styles__StyledOptionGroupHeader",
6435
6472
  componentId: "sc-16v5afu-1"
6436
- })(["height:28px;display:flex;justify-content:space-between;padding:0 16px;color:var(--color-theme-900);margin:6px 0;*{margin:auto 0;}"]);
6473
+ })(["height:28px;display:flex;justify-content:space-between;align-items:center;padding:0 16px;color:var(--color-theme-900);margin:6px 0;*{margin:auto 0;}"]);
6437
6474
  StyledOptionGroupHeader.displayName = "StyledOptionGroupHeader";
6438
- var StyledOptionGroupOption = styled__default["default"].label.withConfig({
6475
+ var StyledOptionGroupOption = styled__default["default"].div.withConfig({
6439
6476
  displayName: "Styles__StyledOptionGroupOption",
6440
6477
  componentId: "sc-16v5afu-2"
6441
6478
  })(["", ""], function (props) {
@@ -6486,24 +6523,35 @@
6486
6523
  e.stopPropagation();
6487
6524
 
6488
6525
  if (onChange) {
6489
- onChange(allOptionValues);
6526
+ if (isAllOptionsChecked) {
6527
+ onChange(checked.filter(function (i) {
6528
+ return allOptionValues.includes(i) === false;
6529
+ }));
6530
+ } else {
6531
+ var values = [].concat(_toConsumableArray(checked), _toConsumableArray(allOptionValues));
6532
+ var unique = values.filter(function (item, pos) {
6533
+ return values.indexOf(item) === pos;
6534
+ });
6535
+ onChange(unique);
6536
+ }
6490
6537
  }
6491
- }, [allOptionValues, onChange]);
6492
- return /*#__PURE__*/React__default["default"].createElement(StyledOptionGroup, {
6538
+ }, [allOptionValues, checked, isAllOptionsChecked, onChange]);
6539
+ return /*#__PURE__*/React__default["default"].createElement("li", {
6493
6540
  key: id,
6494
- className: classnames__default["default"]("c-option-group", optionGroupClassName)
6541
+ className: classnames__default["default"]("c-option-group tw-flex-col", optionGroupClassName)
6542
+ }, /*#__PURE__*/React__default["default"].createElement(StyledOptionGroup, {
6543
+ key: id
6495
6544
  }, /*#__PURE__*/React__default["default"].createElement(StyledOptionGroupOption, {
6496
- title: name,
6497
6545
  onMouseEnter: handleHover,
6498
6546
  hover: hover === id && type === "multiple"
6499
- }, /*#__PURE__*/React__default["default"].createElement(StyledOptionGroupHeader, null, /*#__PURE__*/React__default["default"].createElement("div", null, name), type === "multiple" && /*#__PURE__*/React__default["default"].createElement(Checkbox, {
6547
+ }, /*#__PURE__*/React__default["default"].createElement(StyledOptionGroupHeader, null, name, type === "multiple" && /*#__PURE__*/React__default["default"].createElement(Checkbox, {
6500
6548
  id: "".concat(id),
6501
6549
  checked: isAllOptionsChecked,
6502
6550
  onChange: handleClick,
6503
6551
  type: "checkbox"
6504
- }))), list.map(function (item) {
6505
- return renderOptions && renderOptions(item);
6506
- }));
6552
+ }))), /*#__PURE__*/React__default["default"].createElement(List, null, list.map(function (item, index) {
6553
+ return typeof renderOptions === "function" ? renderOptions(item, index) : item.name;
6554
+ }))));
6507
6555
  };
6508
6556
  OptionGroup.displayName = "OptionGroup";
6509
6557
 
@@ -6753,12 +6801,12 @@
6753
6801
  });
6754
6802
  });
6755
6803
  StyledAutocompleteScrollShadow.displayName = "StyledAutocompleteScrollShadow";
6756
- var StyledAutocompleteBody = styled__default["default"].div.withConfig({
6804
+ var StyledAutocompleteBody = styled__default["default"](List).withConfig({
6757
6805
  displayName: "Styles__StyledAutocompleteBody",
6758
6806
  componentId: "sc-1bc1vz9-1"
6759
6807
  })(["max-height:340px;overflow:auto;margin-bottom:6px;"]);
6760
6808
  StyledAutocompleteBody.displayName = "StyledAutocompleteBody";
6761
- var StyledAutocompleteNoResult = styled__default["default"].div.withConfig({
6809
+ var StyledAutocompleteNoResult = styled__default["default"].li.withConfig({
6762
6810
  displayName: "Styles__StyledAutocompleteNoResult",
6763
6811
  componentId: "sc-1bc1vz9-2"
6764
6812
  })(["", ";padding:6px 16px;margin:4px 0;&:hover{background-color:var(--color-theme-200);}color:var(--color-theme-600);"], {
@@ -6766,13 +6814,13 @@
6766
6814
  "userSelect": "none"
6767
6815
  });
6768
6816
  StyledAutocompleteNoResult.displayName = "StyledAutocompleteNoResult";
6769
- var StyledAutocompleteNewItem = styled__default["default"].label.withConfig({
6817
+ var StyledAutocompleteNewItem = styled__default["default"](StyledOption).withConfig({
6770
6818
  displayName: "Styles__StyledAutocompleteNewItem",
6771
6819
  componentId: "sc-1bc1vz9-3"
6772
- })(["", ";", " padding:6px 16px;margin:4px 0;font-weight:normal;color:var(--color-primary);&:before{content:\"+ \";}", ""], {
6820
+ })(["", ";justify-content:start;&:before{content:\"+ \";margin-right:4px;}", ""], {
6773
6821
  "cursor": "pointer",
6774
6822
  "userSelect": "none"
6775
- }, FontStyle, function (props) {
6823
+ }, function (props) {
6776
6824
  return props.hover && styled.css(["background-color:var(--color-theme-200);content:\"+ \";"]);
6777
6825
  });
6778
6826
  StyledAutocompleteNewItem.displayName = "StyledAutocompleteNewItem";
@@ -6807,7 +6855,11 @@
6807
6855
  var itemRef = React.useRef(null);
6808
6856
  var listRef = React.useRef(null);
6809
6857
  var selectedOptions = React.useMemo(function () {
6810
- return selected instanceof Array ? selected : [selected];
6858
+ if (Array.isArray(selected)) {
6859
+ return selected;
6860
+ }
6861
+
6862
+ return [selected];
6811
6863
  }, [selected]);
6812
6864
  var handleSort = React.useCallback(function (opts) {
6813
6865
  if (keepSameOptionsOrder) {
@@ -6964,6 +7016,44 @@
6964
7016
  setFilter(e.target.value);
6965
7017
  }
6966
7018
  }, []);
7019
+ var handleHoverCallback = React.useCallback(function (e) {
7020
+ setHover({
7021
+ item: e,
7022
+ by: "mouse"
7023
+ });
7024
+ }, []);
7025
+ var toggleSelected = React.useCallback(function (id) {
7026
+ var result;
7027
+
7028
+ if (id !== null) {
7029
+ if (type === "multiple") {
7030
+ if (selectedOptions.includes(id)) {
7031
+ result = selectedOptions.filter(function (_id) {
7032
+ return _id !== id;
7033
+ });
7034
+ } else {
7035
+ result = [].concat(_toConsumableArray(selectedOptions), [id]);
7036
+ }
7037
+ } else {
7038
+ if (selectedOptions.includes(id)) {
7039
+ result = null;
7040
+ } else {
7041
+ result = id;
7042
+ }
7043
+ }
7044
+
7045
+ setFilter("");
7046
+ } else {
7047
+ if (typeof handleDefaultOptionChange === "function") {
7048
+ handleDefaultOptionChange();
7049
+ return;
7050
+ }
7051
+ }
7052
+
7053
+ if (typeof handleChange === "function") {
7054
+ handleChange(result);
7055
+ }
7056
+ }, [handleChange, handleDefaultOptionChange, selectedOptions, type]);
6967
7057
  var handleMouseEnter = React.useCallback(function (e) {
6968
7058
  if (e === undefined || e === null) {
6969
7059
  return setHover({
@@ -6977,13 +7067,11 @@
6977
7067
  by: "mouse"
6978
7068
  });
6979
7069
  }, []);
6980
- var handleHoverCallback = React.useCallback(function (e) {
6981
- setHover({
6982
- item: e,
6983
- by: "mouse"
6984
- });
6985
- }, []);
6986
- var handleRenderOption = React.useCallback(function (item) {
7070
+ var handleClick = React.useCallback(function (e) {
7071
+ e.preventDefault();
7072
+ toggleSelected(hover.item);
7073
+ }, [toggleSelected, hover]);
7074
+ var handleRenderOption = React.useCallback(function (item, index) {
6987
7075
  if (isGroup(item)) {
6988
7076
  return /*#__PURE__*/React__default["default"].createElement(OptionGroup, {
6989
7077
  checked: selectedOptions,
@@ -7003,8 +7091,9 @@
7003
7091
  return /*#__PURE__*/React__default["default"].createElement(Option, {
7004
7092
  name: item.name,
7005
7093
  ref: itemRef,
7006
- key: item.id,
7094
+ key: index,
7007
7095
  onMouseEnter: handleMouseEnter,
7096
+ onClick: handleClick,
7008
7097
  id: item.id,
7009
7098
  hover: item.id === hover.item,
7010
7099
  className: optionClassName,
@@ -7019,7 +7108,7 @@
7019
7108
  }
7020
7109
  })
7021
7110
  });
7022
- }, [handleMouseEnter, hover.item, optionClassName, renderOption, filter, selectedOptions, handleHoverCallback, type, handleChange]);
7111
+ }, [handleClick, handleMouseEnter, hover.item, optionClassName, renderOption, filter, selectedOptions, handleHoverCallback, type, handleChange]);
7023
7112
  var handleOnMouseLeave = React.useCallback(function () {
7024
7113
  setHover({
7025
7114
  item: undefined,
@@ -7063,8 +7152,8 @@
7063
7152
  return;
7064
7153
  }
7065
7154
 
7066
- if (handleChange) {
7067
- handleChange(hover.item);
7155
+ if (hover.item) {
7156
+ toggleSelected(hover.item);
7068
7157
  setFilter("");
7069
7158
  }
7070
7159
 
@@ -7075,18 +7164,7 @@
7075
7164
  item: handleKeyboardMovement(e, hover.item, flatOptions, showAddNew, showDefaultOption),
7076
7165
  by: "keyboard"
7077
7166
  });
7078
- }, [filter, flatOptions, handleChange, handleDefaultOptionChange, handleEmpty, hover, showAddNew, showDefaultOption]);
7079
- var handleClick = React.useCallback(function () {
7080
- if (hover.item === null && handleDefaultOptionChange) {
7081
- handleDefaultOptionChange();
7082
- }
7083
-
7084
- if (handleChange) {
7085
- handleChange(hover === null || hover === void 0 ? void 0 : hover.item);
7086
- }
7087
-
7088
- setFilter("");
7089
- }, [handleChange, handleDefaultOptionChange, hover]);
7167
+ }, [filter, flatOptions, toggleSelected, handleDefaultOptionChange, handleEmpty, hover, showAddNew, showDefaultOption]);
7090
7168
  React.useEffect(function () {
7091
7169
  if (inputEl) {
7092
7170
  inputEl.onkeydown = handleOnKeyDown;
@@ -7113,7 +7191,6 @@
7113
7191
  var onScroll = _ref2.onScroll;
7114
7192
  return /*#__PURE__*/React__default["default"].createElement(StyledAutocompleteBody, {
7115
7193
  key: "body",
7116
- onChange: handleClick,
7117
7194
  onMouseLeave: handleOnMouseLeave
7118
7195
  }, /*#__PURE__*/React__default["default"].createElement(reactCustomScrollbars.Scrollbars, {
7119
7196
  ref: listRef,
@@ -7126,6 +7203,10 @@
7126
7203
  ref: itemRef,
7127
7204
  hover: hover.item === null,
7128
7205
  onMouseEnter: handleMouseEnter,
7206
+ onClick: function onClick(e) {
7207
+ e.preventDefault();
7208
+ toggleSelected(null);
7209
+ },
7129
7210
  renderOption: renderOption({
7130
7211
  name: defaultValue,
7131
7212
  id: null
@@ -7136,8 +7217,8 @@
7136
7217
  return null;
7137
7218
  }
7138
7219
  })
7139
- }), list.map(function (item) {
7140
- return handleRenderOption(item);
7220
+ }), list.map(function (item, index) {
7221
+ return handleRenderOption(item, index);
7141
7222
  }), showNoResult && renderNoResult, showAddNew && renderAddNew));
7142
7223
  });
7143
7224
  };
@@ -7370,7 +7451,7 @@
7370
7451
  };
7371
7452
  OptionContent.displayName = "OptionContent";
7372
7453
 
7373
- var _excluded$t = ["type", "mode", "target", "options", "selected", "position", "onChange", "actionIcon", "actionLabel", "placeholder", "emptyAction", "disableSearch", "forceCloseMenu", "selectClassName", "keepSameOptionsOrder", "onSelectOpen", "onSelectClose"];
7454
+ var _excluded$t = ["type", "mode", "target", "options", "selected", "position", "onChange", "actionIcon", "actionLabel", "placeholder", "emptyAction", "disableSearch", "forceCloseMenu", "selectClassName", "keepSameOptionsOrder", "onSelectOpen", "onSelectClose", "renderOption"];
7374
7455
  var Select = function Select(_ref) {
7375
7456
  var _ref$type = _ref.type,
7376
7457
  type = _ref$type === void 0 ? "single" : _ref$type,
@@ -7400,6 +7481,7 @@
7400
7481
  keepSameOptionsOrder = _ref$keepSameOptionsO === void 0 ? false : _ref$keepSameOptionsO,
7401
7482
  onSelectOpen = _ref.onSelectOpen,
7402
7483
  onSelectClose = _ref.onSelectClose,
7484
+ renderOption = _ref.renderOption,
7403
7485
  prop = _objectWithoutProperties(_ref, _excluded$t);
7404
7486
 
7405
7487
  var _useState = React.useState(),
@@ -7452,41 +7534,12 @@
7452
7534
  open && (childNode === null || childNode === void 0 ? void 0 : childNode.focus());
7453
7535
  }, [childNode, open]);
7454
7536
  var handleChange = React.useCallback(function (selectedValue) {
7455
- if (selectedValue !== null) {
7456
- if (type === "single") {
7457
- if (forceCloseMenu) {
7458
- setOpen(false);
7459
- }
7460
-
7461
- return onChange(selectedValue);
7462
- } // multiple
7463
-
7464
-
7465
- var value = function value() {
7466
- if (selectedValue instanceof Array) {
7467
- if (selectedValue.every(function (v) {
7468
- return selectedOptions.includes(v);
7469
- })) {
7470
- return selectedOptions.filter(function (v) {
7471
- return !selectedValue.includes(v);
7472
- });
7473
- }
7474
-
7475
- return selectedValue.concat(selectedOptions);
7476
- }
7477
-
7478
- if (selectedOptions.includes(selectedValue)) {
7479
- return selectedOptions.filter(function (option) {
7480
- return option !== selectedValue;
7481
- });
7482
- }
7483
-
7484
- return [].concat(_toConsumableArray(selectedOptions), [selectedValue]);
7485
- };
7486
-
7487
- return onChange(value());
7537
+ if (forceCloseMenu) {
7538
+ setOpen(false);
7488
7539
  }
7489
- }, [onChange, type, forceCloseMenu, selectedOptions]);
7540
+
7541
+ onChange(selectedValue);
7542
+ }, [onChange, forceCloseMenu]);
7490
7543
  var onClose = React.useCallback(function () {
7491
7544
  setOpen(false);
7492
7545
 
@@ -7545,6 +7598,10 @@
7545
7598
  }
7546
7599
  }, [onChange, type, forceCloseMenu, selectedOptions.length, allOptionValues]);
7547
7600
  var handleRenderOption = React.useCallback(function (option, props) {
7601
+ if (typeof renderOption === "function") {
7602
+ return renderOption(option, props);
7603
+ }
7604
+
7548
7605
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(OptionContent, {
7549
7606
  imageUrl: option.image,
7550
7607
  color: option.color,
@@ -7556,7 +7613,7 @@
7556
7613
  }, props)) : /*#__PURE__*/React__default["default"].createElement(StyledRadioButton, _extends({
7557
7614
  checked: selectedOptions.length < 1 || !selectedOptions[0]
7558
7615
  }, props)) : type === "multiple" ? /*#__PURE__*/React__default["default"].createElement(StyledCheckbox, props) : /*#__PURE__*/React__default["default"].createElement(StyledRadioButton, props));
7559
- }, [isAllOptionsChecked, selectedOptions, type]);
7616
+ }, [isAllOptionsChecked, renderOption, selectedOptions, type]);
7560
7617
  return /*#__PURE__*/React__default["default"].createElement(Tag, props, /*#__PURE__*/React__default["default"].createElement("div", null, !disableSearch ? /*#__PURE__*/React__default["default"].createElement(StyledSelectForm, {
7561
7618
  ref: formRef
7562
7619
  }, /*#__PURE__*/React__default["default"].createElement(StyledSelectInput, {
@@ -9158,12 +9215,25 @@
9158
9215
  };
9159
9216
  SlideFromTop.displayName = "SlideFromTop";
9160
9217
 
9218
+ var size = {
9219
+ sm: "640px",
9220
+ md: "768px",
9221
+ lg: "1024px",
9222
+ xl: "1280px",
9223
+ xxl: "1536px"
9224
+ };
9225
+ var screen = {
9226
+ sm: "@media (min-width: ".concat(size.sm, ")"),
9227
+ md: "@media (min-width: ".concat(size.md, ")"),
9228
+ lg: "@media (min-width: ".concat(size.lg, ")"),
9229
+ xl: "@media (min-width: ".concat(size.xl, ")"),
9230
+ xxl: "@media (min-width: ".concat(size.xxl, ")")
9231
+ };
9232
+
9161
9233
  var StyledDialog = styled__default["default"].div.withConfig({
9162
9234
  displayName: "Styles__StyledDialog",
9163
9235
  componentId: "sc-jwpvgm-0"
9164
- })(["max-height:calc(100vh - 156px);background-color:var(--page-paper-main);color:var(--color-theme-900);box-shadow:var(--shadow-primary);", " width:540px;display:flex;flex-direction:column;flex:1 1 auto;margin:126px auto 30px auto;position:relative;", " ", " @media only screen and (max-width:480px){width:310px;margin:60px auto 30px auto;}"], {
9165
- "borderRadius": "0.5rem"
9166
- }, FontStyle, BoxSizingStyle);
9236
+ })(["display:flex;flex-direction:column;flex:1 1 auto;max-height:calc(100vh - 156px);background-color:var(--page-paper-main);color:var(--color-theme-900);box-shadow:var(--shadow-primary);border-radius:8px;width:310px;margin:60px auto 30px auto;position:relative;", " ", " ", "{width:540px;margin:126px auto 30px auto;}"], FontStyle, BoxSizingStyle, screen.sm);
9167
9237
  StyledDialog.displayName = "StyledDialog";
9168
9238
  var StyledDialogTitle = styled__default["default"].div.withConfig({
9169
9239
  displayName: "Styles__StyledDialogTitle",
@@ -10351,7 +10421,7 @@
10351
10421
  })(["transform:rotate(180deg);margin-left:8px;flex-shrink:0;"]);
10352
10422
  StyledCaretIcon.displayName = "StyledCaretIcon";
10353
10423
 
10354
- var _excluded$5 = ["children", "type", "size", "invalid"];
10424
+ var _excluded$5 = ["children", "type", "size", "invalid", "endAdornment"];
10355
10425
  var SelectTrigger = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
10356
10426
  var children = _ref.children,
10357
10427
  _ref$type = _ref.type,
@@ -10360,6 +10430,7 @@
10360
10430
  size = _ref$size === void 0 ? "regular" : _ref$size,
10361
10431
  _ref$invalid = _ref.invalid,
10362
10432
  invalid = _ref$invalid === void 0 ? false : _ref$invalid,
10433
+ endAdornment = _ref.endAdornment,
10363
10434
  rest = _objectWithoutProperties(_ref, _excluded$5);
10364
10435
 
10365
10436
  return /*#__PURE__*/React__default["default"].createElement(StyledSelectTrigger, _extends({
@@ -10373,7 +10444,7 @@
10373
10444
  overflow: "truncate",
10374
10445
  whitespace: "no-wrap",
10375
10446
  variant: size === "small" || size === "regular" ? "Body 2" : "Body 1"
10376
- }, children), /*#__PURE__*/React__default["default"].createElement(StyledCaretIcon, null));
10447
+ }, children), endAdornment ? endAdornment : /*#__PURE__*/React__default["default"].createElement(StyledCaretIcon, null));
10377
10448
  });
10378
10449
  SelectTrigger.displayName = "SelectTrigger";
10379
10450
 
@@ -11276,9 +11347,9 @@
11276
11347
  });
11277
11348
  ChipCloseIcon.displayName = "ChipCloseIcon";
11278
11349
 
11279
- var _excluded = ["url", "label", "onClose"];
11350
+ var _excluded = ["leftAdornment", "label", "onClose"];
11280
11351
  var Chip = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
11281
- var url = _ref.url,
11352
+ var leftAdornment = _ref.leftAdornment,
11282
11353
  label = _ref.label,
11283
11354
  onClose = _ref.onClose,
11284
11355
  rest = _objectWithoutProperties(_ref, _excluded);
@@ -11287,10 +11358,7 @@
11287
11358
  return /*#__PURE__*/React__default["default"].createElement(ChipContainer, _extends({}, rest, {
11288
11359
  ref: ref,
11289
11360
  $showClose: showClose
11290
- }), url ? /*#__PURE__*/React__default["default"].createElement(Avatar, {
11291
- size: 18,
11292
- url: url
11293
- }) : null, /*#__PURE__*/React__default["default"].createElement(ChipLabel, null, label), showClose ? /*#__PURE__*/React__default["default"].createElement(ChipTrigger, {
11361
+ }), leftAdornment, /*#__PURE__*/React__default["default"].createElement(ChipLabel, null, label), showClose ? /*#__PURE__*/React__default["default"].createElement(ChipTrigger, {
11294
11362
  onClick: onClose
11295
11363
  }, /*#__PURE__*/React__default["default"].createElement(ChipCloseIcon, {
11296
11364
  fill: "currentColor"
@@ -11308,11 +11376,13 @@
11308
11376
  exports.AddCrossTinyIcon = AddCrossTinyIcon$1;
11309
11377
  exports.ApplauseIcon = ApplauseIcon$1;
11310
11378
  exports.ArrowCollapseMultipleIcon = ArrowCollapseMultipleIcon$1;
11379
+ exports.ArrowDownLongIcon = ArrowDownLongIcon$1;
11311
11380
  exports.ArrowExpandeMultipleIcon = ArrowExpandeMultipleIcon$1;
11312
11381
  exports.ArrowLeftBoxIcon = ArrowLeftBoxIcon$1;
11313
11382
  exports.ArrowLeftIcon = ArrowLeftIcon$1;
11314
11383
  exports.ArrowRefreshIcon = ArrowRefreshIcon$1;
11315
11384
  exports.ArrowRightIcon = ArrowRightIcon$1;
11385
+ exports.ArrowUpLongIcon = ArrowUpLongIcon$1;
11316
11386
  exports.AssignIcon = AssignIcon$1;
11317
11387
  exports.AttachmentIcon = AttachmentIcon$1;
11318
11388
  exports.AutoResizeTextarea = AutoResizeTextarea;