@next-degree/pickle-shared-js 0.13.5 → 0.13.6

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 (65) hide show
  1. package/dist/{chunk-MPWBYIWU.cjs → chunk-54CL72AL.cjs} +4 -4
  2. package/dist/{chunk-MPWBYIWU.cjs.map → chunk-54CL72AL.cjs.map} +1 -1
  3. package/dist/{chunk-DMNSL52U.cjs → chunk-6CSDTWDX.cjs} +5 -5
  4. package/dist/{chunk-DMNSL52U.cjs.map → chunk-6CSDTWDX.cjs.map} +1 -1
  5. package/dist/{chunk-Y2UMEYQS.js → chunk-B472HOM3.js} +5 -5
  6. package/dist/{chunk-Y2UMEYQS.js.map → chunk-B472HOM3.js.map} +1 -1
  7. package/dist/{chunk-U27VO642.js → chunk-CEA4U6AR.js} +3 -3
  8. package/dist/{chunk-U27VO642.js.map → chunk-CEA4U6AR.js.map} +1 -1
  9. package/dist/{chunk-SP2IO6PC.cjs → chunk-FAMHC5MQ.cjs} +4 -3
  10. package/dist/chunk-FAMHC5MQ.cjs.map +1 -0
  11. package/dist/{chunk-PCSQPFNK.js → chunk-GKL5KEO4.js} +4 -3
  12. package/dist/chunk-GKL5KEO4.js.map +1 -0
  13. package/dist/{chunk-MTNMKBY6.cjs → chunk-IJV66D4K.cjs} +3 -3
  14. package/dist/{chunk-MTNMKBY6.cjs.map → chunk-IJV66D4K.cjs.map} +1 -1
  15. package/dist/{chunk-5REFGTWO.js → chunk-KJ5X2ZKA.js} +3 -3
  16. package/dist/{chunk-5REFGTWO.js.map → chunk-KJ5X2ZKA.js.map} +1 -1
  17. package/dist/{chunk-CTR2QSI6.js → chunk-KM5XDOAL.js} +3 -3
  18. package/dist/{chunk-CTR2QSI6.js.map → chunk-KM5XDOAL.js.map} +1 -1
  19. package/dist/{chunk-I5FAUNN6.js → chunk-KQLHT5UE.js} +3 -3
  20. package/dist/{chunk-I5FAUNN6.js.map → chunk-KQLHT5UE.js.map} +1 -1
  21. package/dist/{chunk-EBOIU23Q.cjs → chunk-MLV2TE6H.cjs} +6 -6
  22. package/dist/{chunk-EBOIU23Q.cjs.map → chunk-MLV2TE6H.cjs.map} +1 -1
  23. package/dist/{chunk-LT35HARQ.cjs → chunk-NEIGOAE6.cjs} +3 -3
  24. package/dist/{chunk-LT35HARQ.cjs.map → chunk-NEIGOAE6.cjs.map} +1 -1
  25. package/dist/{chunk-SPAVM3EE.cjs → chunk-RO6NJGYB.cjs} +3 -3
  26. package/dist/{chunk-SPAVM3EE.cjs.map → chunk-RO6NJGYB.cjs.map} +1 -1
  27. package/dist/{chunk-YLWUHTOZ.js → chunk-WOD47B4V.js} +5 -5
  28. package/dist/{chunk-YLWUHTOZ.js.map → chunk-WOD47B4V.js.map} +1 -1
  29. package/dist/{chunk-CQSYXCIU.cjs → chunk-XC3HIJM3.cjs} +3 -3
  30. package/dist/{chunk-CQSYXCIU.cjs.map → chunk-XC3HIJM3.cjs.map} +1 -1
  31. package/dist/{chunk-GZUD5PBL.js → chunk-ZCBOREOG.js} +3 -3
  32. package/dist/{chunk-GZUD5PBL.js.map → chunk-ZCBOREOG.js.map} +1 -1
  33. package/dist/components/buttons/BackButton.cjs +1 -1
  34. package/dist/components/buttons/BackButton.js +1 -1
  35. package/dist/components/jobCard/JobLocation.cjs +1 -1
  36. package/dist/components/jobCard/JobLocation.js +1 -1
  37. package/dist/components/jobPost/JobHeader.cjs +6 -6
  38. package/dist/components/jobPost/JobHeader.js +5 -5
  39. package/dist/components/jobPost/JobPost.cjs +16 -16
  40. package/dist/components/jobPost/JobPost.js +15 -15
  41. package/dist/components/ui/Combobox.cjs +5 -5
  42. package/dist/components/ui/Combobox.js +4 -4
  43. package/dist/components/ui/Map/MapComponent.cjs +5 -5
  44. package/dist/components/ui/Map/MapComponent.js +4 -4
  45. package/dist/components/ui/Map/MapContent.cjs +3 -3
  46. package/dist/components/ui/Map/MapContent.js +2 -2
  47. package/dist/components/ui/Map/index.cjs +5 -5
  48. package/dist/components/ui/Map/index.js +4 -4
  49. package/dist/components/ui/PlacesQueryInput.cjs +3 -3
  50. package/dist/components/ui/PlacesQueryInput.js +2 -2
  51. package/dist/components/ui/Select.cjs +2 -2
  52. package/dist/components/ui/Select.d.cts +1 -0
  53. package/dist/components/ui/Select.d.ts +1 -0
  54. package/dist/components/ui/Select.js +1 -1
  55. package/dist/index.cjs +97 -97
  56. package/dist/index.js +36 -36
  57. package/dist/lib/salaryRange.cjs +2 -2
  58. package/dist/lib/salaryRange.js +2 -2
  59. package/dist/types/index.cjs +7 -7
  60. package/dist/types/index.js +2 -2
  61. package/dist/types/latest/custom/job_posting_service_sanity.cjs +12 -12
  62. package/dist/types/latest/custom/job_posting_service_sanity.js +2 -2
  63. package/package.json +1 -1
  64. package/dist/chunk-PCSQPFNK.js.map +0 -1
  65. package/dist/chunk-SP2IO6PC.cjs.map +0 -1
package/dist/index.js CHANGED
@@ -1,74 +1,74 @@
1
1
  import './chunk-VANX3AQD.js';
2
- export { MapComponent } from './chunk-I5FAUNN6.js';
3
- import './chunk-CTR2QSI6.js';
2
+ export { MapComponent } from './chunk-KQLHT5UE.js';
3
+ import './chunk-FSMBDLNU.js';
4
+ import './chunk-KM5XDOAL.js';
5
+ import './chunk-EBZRXX6P.js';
4
6
  import './chunk-5Z4ILTRD.js';
5
7
  import './chunk-EWFDWOL2.js';
6
- import './chunk-FSMBDLNU.js';
7
8
  import './chunk-EAFZZSYR.js';
8
- export { StepTabs } from './chunk-GAN7Z4NB.js';
9
- export { Switch } from './chunk-B7NHA4GE.js';
10
- import './chunk-EBZRXX6P.js';
11
9
  import './chunk-5H35ZVLR.js';
12
10
  import './chunk-LQQ244AY.js';
11
+ export { Select_default as Select } from './chunk-GKL5KEO4.js';
12
+ export { StepTabs } from './chunk-GAN7Z4NB.js';
13
+ export { Switch } from './chunk-B7NHA4GE.js';
14
+ export { job_posting_service_latest_exports as JobPostService } from './chunk-4RVGUZNF.js';
15
+ export { company_service_latest_exports as CompanyService } from './chunk-4NEPWF3Z.js';
16
+ export { shared_pickle_output_latest_exports as SharedService } from './chunk-5RH3VTNV.js';
17
+ export { Input_default as Input } from './chunk-2I2TWTPC.js';
13
18
  export { InputOtp } from './chunk-HVZBUDYS.js';
14
- export { PlacesQueryInput_default as PlacesQueryInput } from './chunk-U27VO642.js';
19
+ export { PlacesQueryInput_default as PlacesQueryInput } from './chunk-CEA4U6AR.js';
15
20
  export { Radio } from './chunk-DURKKV2E.js';
16
- export { Select_default as Select } from './chunk-PCSQPFNK.js';
17
- export { Combobox } from './chunk-GZUD5PBL.js';
21
+ export { Combobox } from './chunk-ZCBOREOG.js';
18
22
  export { ListItem_default as ListItem } from './chunk-QURNDLRE.js';
23
+ export { Checkbox } from './chunk-4VYXUFJA.js';
19
24
  export { Counter } from './chunk-DUVGFEGU.js';
20
25
  export { DatePicker } from './chunk-XGQU7BQK.js';
21
26
  import './chunk-5LMIRRED.js';
22
27
  import './chunk-UQT2I2CC.js';
23
- export { DismissibleBanner } from './chunk-PAMM6ETE.js';
24
- export { Input_default as Input } from './chunk-2I2TWTPC.js';
25
28
  export { Label_default as Label } from './chunk-CAGLLWPR.js';
26
- export { Badge } from './chunk-TVYLTYUK.js';
27
- export { Checkbox } from './chunk-4VYXUFJA.js';
29
+ export { DismissibleBanner } from './chunk-PAMM6ETE.js';
28
30
  import './chunk-CWTO3NXW.js';
29
31
  import './chunk-BJT6JTXX.js';
30
32
  import './chunk-ODHIUBLC.js';
31
33
  import './chunk-U7LTIWUS.js';
32
34
  import './chunk-FNCPK4RH.js';
33
- export { job_posting_service_latest_exports as JobPostService } from './chunk-4RVGUZNF.js';
34
- export { company_service_latest_exports as CompanyService } from './chunk-4NEPWF3Z.js';
35
- export { shared_pickle_output_latest_exports as SharedService } from './chunk-5RH3VTNV.js';
36
- export { JobPost } from './chunk-Y2UMEYQS.js';
35
+ export { JobLocation } from './chunk-3HO3CCXD.js';
36
+ import './chunk-53OQ6M2O.js';
37
+ export { Badge } from './chunk-TVYLTYUK.js';
38
+ export { JobPost } from './chunk-B472HOM3.js';
37
39
  export { JobDescription } from './chunk-5NQTYPZG.js';
38
40
  export { ReadMore } from './chunk-F3FYMCRO.js';
39
41
  export { Button } from './chunk-ZSNEG5J7.js';
40
- export { JobHeader } from './chunk-YLWUHTOZ.js';
42
+ export { JobHeader } from './chunk-WOD47B4V.js';
43
+ export { Chip_default as Chip } from './chunk-LQ4DG6ST.js';
44
+ import './chunk-62OBBM7T.js';
45
+ import './chunk-TPZCCL4L.js';
46
+ export { useDisplayText } from './chunk-CPZFINPG.js';
47
+ import './chunk-OZJZVEF2.js';
48
+ import './chunk-YB2USB4M.js';
49
+ export { BackButton } from './chunk-IJQTUD3D.js';
50
+ export { Icon } from './chunk-3NDL2JQ7.js';
51
+ export { useWindowHistory } from './chunk-SZ5XKNVG.js';
41
52
  export { CompanyBenefits } from './chunk-BLMWXMW4.js';
42
53
  export { CompanyInformation } from './chunk-J3UEZGEG.js';
43
54
  export { LinkButton } from './chunk-XGQDWAHV.js';
44
55
  export { CompanyTake } from './chunk-MF24QPA6.js';
45
56
  export { Avatar } from './chunk-2TEFWPFS.js';
46
57
  import './chunk-FVJL3PEK.js';
47
- import './chunk-62OBBM7T.js';
48
- import './chunk-TPZCCL4L.js';
58
+ export { WindowHistoryProvider } from './chunk-DXLVRZFU.js';
59
+ export { fetchLocation } from './chunk-U3D4LL6T.js';
60
+ import './chunk-PONUWUJ7.js';
61
+ import './chunk-KZBS5RNE.js';
62
+ import './chunk-TCV6N3EK.js';
49
63
  export { salaryRange } from './chunk-PLPEZUCB.js';
50
64
  import './chunk-KWIGG26N.js';
65
+ import './chunk-KJ5X2ZKA.js';
66
+ import './chunk-47H3M7TP.js';
51
67
  import './chunk-I4H7XREK.js';
52
- import './chunk-5REFGTWO.js';
53
68
  import './chunk-W6BMYVY5.js';
54
- import './chunk-47H3M7TP.js';
55
69
  import './chunk-FOJTLQJO.js';
56
70
  import './chunk-Z33TWZHI.js';
57
- export { BackButton } from './chunk-IJQTUD3D.js';
58
- export { Icon } from './chunk-3NDL2JQ7.js';
59
- export { JobLocation } from './chunk-3HO3CCXD.js';
60
- import './chunk-53OQ6M2O.js';
61
- export { Chip_default as Chip } from './chunk-LQ4DG6ST.js';
62
71
  export { cn } from './chunk-2FGZQI42.js';
63
- export { useDisplayText } from './chunk-CPZFINPG.js';
64
- import './chunk-OZJZVEF2.js';
65
- import './chunk-YB2USB4M.js';
66
- export { useWindowHistory } from './chunk-SZ5XKNVG.js';
67
- export { WindowHistoryProvider } from './chunk-DXLVRZFU.js';
68
- export { fetchLocation } from './chunk-U3D4LL6T.js';
69
- import './chunk-PONUWUJ7.js';
70
- import './chunk-KZBS5RNE.js';
71
- import './chunk-TCV6N3EK.js';
72
72
  import './chunk-PZ5AY32C.js';
73
73
  //# sourceMappingURL=index.js.map
74
74
  //# sourceMappingURL=index.js.map
@@ -2,10 +2,10 @@
2
2
 
3
3
  var chunkGQNVPLSG_cjs = require('../chunk-GQNVPLSG.cjs');
4
4
  require('../chunk-5QXQ2LBB.cjs');
5
+ require('../chunk-RO6NJGYB.cjs');
6
+ require('../chunk-3PARXYUI.cjs');
5
7
  require('../chunk-GN3JZCM3.cjs');
6
- require('../chunk-SPAVM3EE.cjs');
7
8
  require('../chunk-IVPCYGXE.cjs');
8
- require('../chunk-3PARXYUI.cjs');
9
9
  require('../chunk-L4SZQQK6.cjs');
10
10
  require('../chunk-LUFPA3WC.cjs');
11
11
  require('../chunk-Q7SFCCGT.cjs');
@@ -1,9 +1,9 @@
1
1
  export { salaryRange } from '../chunk-PLPEZUCB.js';
2
2
  import '../chunk-KWIGG26N.js';
3
+ import '../chunk-KJ5X2ZKA.js';
4
+ import '../chunk-47H3M7TP.js';
3
5
  import '../chunk-I4H7XREK.js';
4
- import '../chunk-5REFGTWO.js';
5
6
  import '../chunk-W6BMYVY5.js';
6
- import '../chunk-47H3M7TP.js';
7
7
  import '../chunk-FOJTLQJO.js';
8
8
  import '../chunk-Z33TWZHI.js';
9
9
  import '../chunk-PZ5AY32C.js';
@@ -1,28 +1,28 @@
1
1
  'use strict';
2
2
 
3
3
  require('../chunk-5QXQ2LBB.cjs');
4
+ var chunkRO6NJGYB_cjs = require('../chunk-RO6NJGYB.cjs');
5
+ var chunk3PARXYUI_cjs = require('../chunk-3PARXYUI.cjs');
4
6
  var chunkGN3JZCM3_cjs = require('../chunk-GN3JZCM3.cjs');
5
- var chunkSPAVM3EE_cjs = require('../chunk-SPAVM3EE.cjs');
6
7
  require('../chunk-IVPCYGXE.cjs');
7
- var chunk3PARXYUI_cjs = require('../chunk-3PARXYUI.cjs');
8
8
  var chunkL4SZQQK6_cjs = require('../chunk-L4SZQQK6.cjs');
9
9
  var chunkLUFPA3WC_cjs = require('../chunk-LUFPA3WC.cjs');
10
10
  require('../chunk-Q7SFCCGT.cjs');
11
11
 
12
12
 
13
13
 
14
- Object.defineProperty(exports, "CompanyService", {
15
- enumerable: true,
16
- get: function () { return chunkGN3JZCM3_cjs.company_service_sanity_exports; }
17
- });
18
14
  Object.defineProperty(exports, "JobPostService", {
19
15
  enumerable: true,
20
- get: function () { return chunkSPAVM3EE_cjs.job_posting_service_sanity_exports; }
16
+ get: function () { return chunkRO6NJGYB_cjs.job_posting_service_sanity_exports; }
21
17
  });
22
18
  Object.defineProperty(exports, "JobPostServiceBase", {
23
19
  enumerable: true,
24
20
  get: function () { return chunk3PARXYUI_cjs.job_posting_service_latest_exports; }
25
21
  });
22
+ Object.defineProperty(exports, "CompanyService", {
23
+ enumerable: true,
24
+ get: function () { return chunkGN3JZCM3_cjs.company_service_sanity_exports; }
25
+ });
26
26
  Object.defineProperty(exports, "CompanyServiceBase", {
27
27
  enumerable: true,
28
28
  get: function () { return chunkL4SZQQK6_cjs.company_service_latest_exports; }
@@ -1,8 +1,8 @@
1
1
  import '../chunk-KWIGG26N.js';
2
+ export { job_posting_service_sanity_exports as JobPostService } from '../chunk-KJ5X2ZKA.js';
3
+ export { job_posting_service_latest_exports as JobPostServiceBase } from '../chunk-47H3M7TP.js';
2
4
  export { company_service_sanity_exports as CompanyService } from '../chunk-I4H7XREK.js';
3
- export { job_posting_service_sanity_exports as JobPostService } from '../chunk-5REFGTWO.js';
4
5
  import '../chunk-W6BMYVY5.js';
5
- export { job_posting_service_latest_exports as JobPostServiceBase } from '../chunk-47H3M7TP.js';
6
6
  export { company_service_latest_exports as CompanyServiceBase } from '../chunk-FOJTLQJO.js';
7
7
  export { shared_pickle_output_latest_exports as SharedService, shared_pickle_output_latest_exports as SharedServiceBase } from '../chunk-Z33TWZHI.js';
8
8
  import '../chunk-PZ5AY32C.js';
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunkSPAVM3EE_cjs = require('../../../chunk-SPAVM3EE.cjs');
4
- var chunkIVPCYGXE_cjs = require('../../../chunk-IVPCYGXE.cjs');
3
+ var chunkRO6NJGYB_cjs = require('../../../chunk-RO6NJGYB.cjs');
5
4
  var chunk3PARXYUI_cjs = require('../../../chunk-3PARXYUI.cjs');
5
+ var chunkIVPCYGXE_cjs = require('../../../chunk-IVPCYGXE.cjs');
6
6
  require('../../../chunk-L4SZQQK6.cjs');
7
7
  var chunkLUFPA3WC_cjs = require('../../../chunk-LUFPA3WC.cjs');
8
8
  require('../../../chunk-Q7SFCCGT.cjs');
@@ -11,31 +11,27 @@ require('../../../chunk-Q7SFCCGT.cjs');
11
11
 
12
12
  Object.defineProperty(exports, "JobPostTypeEnum", {
13
13
  enumerable: true,
14
- get: function () { return chunkSPAVM3EE_cjs.JobPostTypeEnum; }
14
+ get: function () { return chunkRO6NJGYB_cjs.JobPostTypeEnum; }
15
15
  });
16
16
  Object.defineProperty(exports, "MonetaryAmountTypeEnum", {
17
17
  enumerable: true,
18
- get: function () { return chunkSPAVM3EE_cjs.MonetaryAmountTypeEnum; }
18
+ get: function () { return chunkRO6NJGYB_cjs.MonetaryAmountTypeEnum; }
19
19
  });
20
20
  Object.defineProperty(exports, "jobPostSchema", {
21
21
  enumerable: true,
22
- get: function () { return chunkSPAVM3EE_cjs.jobPostSchema; }
22
+ get: function () { return chunkRO6NJGYB_cjs.jobPostSchema; }
23
23
  });
24
24
  Object.defineProperty(exports, "monetaryAmountSchema", {
25
25
  enumerable: true,
26
- get: function () { return chunkSPAVM3EE_cjs.monetaryAmountSchema; }
26
+ get: function () { return chunkRO6NJGYB_cjs.monetaryAmountSchema; }
27
27
  });
28
28
  Object.defineProperty(exports, "postalAddressSchema", {
29
29
  enumerable: true,
30
- get: function () { return chunkSPAVM3EE_cjs.postalAddressSchema; }
30
+ get: function () { return chunkRO6NJGYB_cjs.postalAddressSchema; }
31
31
  });
32
32
  Object.defineProperty(exports, "quantitativeValueSchema", {
33
33
  enumerable: true,
34
- get: function () { return chunkSPAVM3EE_cjs.quantitativeValueSchema; }
35
- });
36
- Object.defineProperty(exports, "sanityReferenceSchema", {
37
- enumerable: true,
38
- get: function () { return chunkIVPCYGXE_cjs.sanityReferenceSchema; }
34
+ get: function () { return chunkRO6NJGYB_cjs.quantitativeValueSchema; }
39
35
  });
40
36
  Object.defineProperty(exports, "BestFitEnum", {
41
37
  enumerable: true,
@@ -73,6 +69,10 @@ Object.defineProperty(exports, "ShiftEnum", {
73
69
  enumerable: true,
74
70
  get: function () { return chunk3PARXYUI_cjs.ShiftEnum; }
75
71
  });
72
+ Object.defineProperty(exports, "sanityReferenceSchema", {
73
+ enumerable: true,
74
+ get: function () { return chunkIVPCYGXE_cjs.sanityReferenceSchema; }
75
+ });
76
76
  Object.defineProperty(exports, "CurrencyEnum", {
77
77
  enumerable: true,
78
78
  get: function () { return chunkLUFPA3WC_cjs.CurrencyEnum; }
@@ -1,6 +1,6 @@
1
- export { JobPostTypeEnum, MonetaryAmountTypeEnum, jobPostSchema, monetaryAmountSchema, postalAddressSchema, quantitativeValueSchema } from '../../../chunk-5REFGTWO.js';
2
- export { sanityReferenceSchema } from '../../../chunk-W6BMYVY5.js';
1
+ export { JobPostTypeEnum, MonetaryAmountTypeEnum, jobPostSchema, monetaryAmountSchema, postalAddressSchema, quantitativeValueSchema } from '../../../chunk-KJ5X2ZKA.js';
3
2
  export { BestFitEnum, ClinicalLicenseEnum, ClinicalSettingEnum, ClinicalSpecialtyEnum, EmploymentLevelEnum, EmploymentTypeEnum, JobFunctionEnum, PublishStatusEnum, ShiftEnum } from '../../../chunk-47H3M7TP.js';
3
+ export { sanityReferenceSchema } from '../../../chunk-W6BMYVY5.js';
4
4
  import '../../../chunk-FOJTLQJO.js';
5
5
  export { CurrencyEnum, DetailLevelEnum, UnitTextEnum } from '../../../chunk-Z33TWZHI.js';
6
6
  import '../../../chunk-PZ5AY32C.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-degree/pickle-shared-js",
3
- "version": "0.13.5",
3
+ "version": "0.13.6",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/ui/Select.tsx"],"names":["value","id","description"],"mappings":"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","file":"chunk-PCSQPFNK.js","sourcesContent":["'use client'\n\nimport * as SelectPrimitive from '@radix-ui/react-select'\nimport { CheckIcon, ChevronDownIcon, X } from 'lucide-react'\nimport {\n type ComponentPropsWithoutRef,\n forwardRef,\n type KeyboardEvent,\n useEffect,\n useRef,\n useState,\n} from 'react'\n\nimport { Separator } from '@/components/primitives/separator'\nimport Chip from '@/components/ui/Chip'\nimport ErrorMessage from '@/components/ui/ErrorMessage'\nimport Label from '@/components/ui/Label'\nimport { cn } from '@/lib/utils'\n\ntype SelectContentProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\ntype RadixAlignType = SelectContentProps['align']\n\ninterface Props extends Omit<ComponentPropsWithoutRef<'select'>, 'value' | 'onChange'> {\n label?: string\n value?: string | string[]\n options?: { id: string | number; value: string; title: string; description?: string }[]\n placeholder?: string\n multiselect?: boolean\n description?: string\n error?: string\n classNames?: {\n label?: string\n trigger?: string\n content?: string\n item?: string\n checkmark?: string\n }\n dropdownAlign?: RadixAlignType\n onChange?: (value: string | string[]) => void\n}\n\nconst Select = forwardRef<HTMLButtonElement, Props>(\n (\n {\n label,\n options,\n placeholder,\n multiselect,\n description,\n classNames,\n dropdownAlign = 'start',\n error,\n id,\n children: footer,\n ...props\n },\n ref\n ) => {\n const { value, defaultValue, dir, className, onChange, ...rest } = props\n const [selected, setSelected] = useState<string[]>([])\n const [open, setOpen] = useState(false)\n const containerRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n if (!value) return setSelected([])\n setSelected(Array.isArray(value) ? value : [value])\n }, [value])\n\n const toggleOpen = () => setOpen((prev) => !prev)\n const closeOnEscape = (event: KeyboardEvent) => event.key === 'Escape' && setOpen(false)\n const handleOnOpenChange = (isOpen: boolean) => (!multiselect || isOpen) && setOpen(isOpen)\n const setValueOnEnter = (event: KeyboardEvent, value: string) =>\n event.key === 'Enter' && handleChange(value)\n const getLabel = () =>\n selected.map((o) => options?.find((option) => option.value === o)?.title).join(', ')\n\n const chipLabels = selected\n ?.map((s) => options?.find(({ value }) => value === s))\n .filter(Boolean)\n\n function handleChange(newValue: string) {\n if (newValue === '' && !multiselect) return // Prevent clearing single select\n let newSelected: string[] = []\n setSelected((prev) => {\n newSelected = prev.includes(newValue)\n ? prev.filter((item) => item !== newValue)\n : [...prev, newValue]\n return multiselect ? newSelected : [newValue]\n })\n onChange?.(multiselect ? newSelected : newValue)\n }\n\n return (\n <div\n className={cn('flex w-full flex-col gap-1', className)}\n ref={containerRef}\n data-testid={`${(label ?? id)?.toLowerCase()}-select-element`}\n >\n <Label\n text={label}\n htmlFor={props.name}\n required={props.required}\n description={description}\n className={classNames?.label}\n />\n\n <SelectPrimitive.Root\n open={open}\n value={selected.join(',')}\n onOpenChange={handleOnOpenChange}\n onValueChange={multiselect ? undefined : handleChange}\n defaultValue={typeof defaultValue === 'string' ? defaultValue : undefined}\n dir={dir === 'rtl' ? 'rtl' : 'ltr'}\n {...rest}\n >\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n 'group flex h-11 w-full flex-row items-center justify-between gap-3 rounded-lg border px-4 py-3 text-sm font-normal focus:outline-purple-100 disabled:bg-grey-5 data-[placeholder]:text-grey-50 data-[placeholder]:disabled:text-grey-40',\n classNames?.trigger\n )}\n >\n <span className=\"truncate\">\n <SelectPrimitive.Value\n placeholder={placeholder ?? 'Select an option'}\n aria-label={getLabel()}\n >\n {getLabel()}\n </SelectPrimitive.Value>\n </span>\n\n <ChevronDownIcon\n className=\"transform text-black group-data-[state=open]:rotate-180\"\n size=\"16\"\n />\n </SelectPrimitive.Trigger>\n\n <SelectPrimitive.Portal container={containerRef.current}>\n <SelectPrimitive.Content\n hideWhenDetached\n className={cn(\n 'z-10 max-h-[var(--radix-select-content-available-height)] overflow-hidden rounded-md bg-white py-2 shadow-lg',\n 'w-[var(--radix-select-trigger-width)] min-w-[var(--radix-select-trigger-width)]',\n classNames?.content\n )}\n position=\"popper\"\n align={dropdownAlign}\n sideOffset={4}\n onPointerDownOutside={toggleOpen}\n onKeyDown={closeOnEscape}\n >\n <SelectPrimitive.Viewport>\n {multiselect && !!chipLabels?.length && (\n <>\n <SelectPrimitive.Group\n className=\"mb-2 flex flex-row flex-wrap gap-1 px-2\"\n data-testid=\"selected-labels\"\n >\n {chipLabels?.map(\n (chip) =>\n chip && (\n <Chip key={chip.title} size=\"small\" variant=\"primary\">\n <span>{chip.title}</span>\n <X\n size={18}\n data-testid={`chip-remove-${chip.value}`}\n className=\"cursor-pointer\"\n onClick={() => handleChange(chip.value)}\n />\n </Chip>\n )\n )}\n </SelectPrimitive.Group>\n <Separator />\n </>\n )}\n {options?.map(({ id, title, value, description }) => (\n <SelectPrimitive.Item\n key={id}\n value={value}\n className={cn(\n 'group relative cursor-pointer px-4 py-2 text-left text-sm hover:bg-purple-50 focus:bg-purple-50 focus:outline-none data-[state=checked]:bg-purple-50 data-[state=checked]:pr-10 data-[state=checked]:text-purple-100',\n classNames?.item\n )}\n data-state={selected.includes(value) ? 'checked' : 'unchecked'}\n onKeyDown={(e) => setValueOnEnter(e, value)}\n onClick={() => handleChange(value)}\n >\n <CheckIcon\n className={cn(\n 'absolute inset-y-0 right-3 my-auto hidden w-6 text-purple-100 group-data-[state=checked]:block',\n classNames?.checkmark\n )}\n size={16}\n />\n <SelectPrimitive.ItemText>{title}</SelectPrimitive.ItemText>\n {description && (\n <span className=\"block text-sm text-grey-70\">{description}</span>\n )}\n </SelectPrimitive.Item>\n ))}\n\n {!!footer && (\n <>\n <Separator />\n <SelectPrimitive.Group\n className=\"mt-2 flex flex-row flex-wrap gap-1 px-2\"\n data-testid=\"selected-labels\"\n >\n {footer}\n </SelectPrimitive.Group>\n </>\n )}\n </SelectPrimitive.Viewport>\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n </SelectPrimitive.Root>\n\n <ErrorMessage message={error} />\n </div>\n )\n }\n)\n\nSelect.displayName = 'Select'\n\nexport default Select\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/ui/Select.tsx"],"names":["forwardRef","useState","useRef","useEffect","value","jsxs","cn","jsx","Label_default","SelectPrimitive","ChevronDownIcon","Fragment","Chip_default","X","Separator","id","description","CheckIcon","ErrorMessage_default"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,IAAM,MAAS,GAAAA,gBAAA;AAAA,EACb,CACE;AAAA,IACE,KAAA;AAAA,IACA,OAAA;AAAA,IACA,WAAA;AAAA,IACA,WAAA;AAAA,IACA,WAAA;AAAA,IACA,UAAA;AAAA,IACA,aAAgB,GAAA,OAAA;AAAA,IAChB,KAAA;AAAA,IACA,EAAA;AAAA,IACA,QAAU,EAAA,MAAA;AAAA,IACV,GAAG;AAAA,KAEL,GACG,KAAA;AACH,IAAM,MAAA,EAAE,OAAO,YAAc,EAAA,GAAA,EAAK,WAAW,QAAU,EAAA,GAAG,MAAS,GAAA,KAAA;AACnE,IAAA,MAAM,CAAC,QAAU,EAAA,WAAW,CAAI,GAAAC,cAAA,CAAmB,EAAE,CAAA;AACrD,IAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAIA,eAAS,KAAK,CAAA;AACtC,IAAM,MAAA,YAAA,GAAeC,aAAuB,IAAI,CAAA;AAEhD,IAAAC,eAAA,CAAU,MAAM;AACd,MAAA,IAAI,CAAC,KAAA,EAAc,OAAA,WAAA,CAAY,EAAE,CAAA;AACjC,MAAA,WAAA,CAAY,MAAM,OAAQ,CAAA,KAAK,IAAI,KAAQ,GAAA,CAAC,KAAK,CAAC,CAAA;AAAA,KACpD,EAAG,CAAC,KAAK,CAAC,CAAA;AAEV,IAAA,MAAM,aAAa,MAAM,OAAA,CAAQ,CAAC,IAAA,KAAS,CAAC,IAAI,CAAA;AAChD,IAAA,MAAM,gBAAgB,CAAC,KAAA,KAAyB,MAAM,GAAQ,KAAA,QAAA,IAAY,QAAQ,KAAK,CAAA;AACvF,IAAA,MAAM,qBAAqB,CAAC,MAAA,KAAA,CAAqB,CAAC,WAAe,IAAA,MAAA,KAAW,QAAQ,MAAM,CAAA;AAC1F,IAAM,MAAA,eAAA,GAAkB,CAAC,KAAsBC,EAAAA,MAAAA,KAC7C,MAAM,GAAQ,KAAA,OAAA,IAAW,aAAaA,MAAK,CAAA;AAC7C,IAAA,MAAM,WAAW,MACf,QAAA,CAAS,GAAI,CAAA,CAAC,MAAM,OAAS,EAAA,IAAA,CAAK,CAAC,MAAA,KAAW,OAAO,KAAU,KAAA,CAAC,GAAG,KAAK,CAAA,CAAE,KAAK,IAAI,CAAA;AAErF,IAAA,MAAM,aAAa,QACf,EAAA,GAAA,CAAI,CAAC,CAAA,KAAM,SAAS,IAAK,CAAA,CAAC,EAAE,KAAA,EAAAA,QAAYA,KAAAA,MAAAA,KAAU,CAAC,CAAC,CAAA,CACrD,OAAO,OAAO,CAAA;AAEjB,IAAA,SAAS,aAAa,QAAkB,EAAA;AACtC,MAAI,IAAA,QAAA,KAAa,EAAM,IAAA,CAAC,WAAa,EAAA;AACrC,MAAA,IAAI,cAAwB,EAAC;AAC7B,MAAA,WAAA,CAAY,CAAC,IAAS,KAAA;AACpB,QAAA,WAAA,GAAc,IAAK,CAAA,QAAA,CAAS,QAAQ,CAAA,GAChC,KAAK,MAAO,CAAA,CAAC,IAAS,KAAA,IAAA,KAAS,QAAQ,CAAA,GACvC,CAAC,GAAG,MAAM,QAAQ,CAAA;AACtB,QAAO,OAAA,WAAA,GAAc,WAAc,GAAA,CAAC,QAAQ,CAAA;AAAA,OAC7C,CAAA;AACD,MAAW,QAAA,GAAA,WAAA,GAAc,cAAc,QAAQ,CAAA;AAAA;AAGjD,IACE,uBAAAC,eAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAWC,oBAAG,CAAA,4BAAA,EAA8B,SAAS,CAAA;AAAA,QACrD,GAAK,EAAA,YAAA;AAAA,QACL,aAAa,EAAA,CAAA,EAAA,CAAI,KAAS,IAAA,EAAA,GAAK,aAAa,CAAA,eAAA,CAAA;AAAA,QAE5C,QAAA,EAAA;AAAA,0BAAAC,cAAA;AAAA,YAACC,+BAAA;AAAA,YAAA;AAAA,cACC,IAAM,EAAA,KAAA;AAAA,cACN,SAAS,KAAM,CAAA,IAAA;AAAA,cACf,UAAU,KAAM,CAAA,QAAA;AAAA,cAChB,WAAA;AAAA,cACA,WAAW,UAAY,EAAA;AAAA;AAAA,WACzB;AAAA,0BAEAH,eAAA;AAAA,YAAiBI,0BAAA,CAAA,IAAA;AAAA,YAAhB;AAAA,cACC,IAAA;AAAA,cACA,KAAA,EAAO,QAAS,CAAA,IAAA,CAAK,GAAG,CAAA;AAAA,cACxB,YAAc,EAAA,kBAAA;AAAA,cACd,aAAA,EAAe,cAAc,MAAY,GAAA,YAAA;AAAA,cACzC,YAAc,EAAA,OAAO,YAAiB,KAAA,QAAA,GAAW,YAAe,GAAA,MAAA;AAAA,cAChE,GAAA,EAAK,GAAQ,KAAA,KAAA,GAAQ,KAAQ,GAAA,KAAA;AAAA,cAC5B,GAAG,IAAA;AAAA,cAEJ,QAAA,EAAA;AAAA,gCAAAJ,eAAA;AAAA,kBAAiBI,0BAAA,CAAA,OAAA;AAAA,kBAAhB;AAAA,oBACC,GAAA;AAAA,oBACA,SAAW,EAAAH,oBAAA;AAAA,sBACT,yOAAA;AAAA,sBACA,UAAY,EAAA;AAAA,qBACd;AAAA,oBAEA,QAAA,EAAA;AAAA,sCAACC,cAAA,CAAA,MAAA,EAAA,EAAK,WAAU,UACd,EAAA,QAAA,kBAAAA,cAAA;AAAA,wBAAiBE,0BAAA,CAAA,KAAA;AAAA,wBAAhB;AAAA,0BACC,aAAa,WAAe,IAAA,kBAAA;AAAA,0BAC5B,cAAY,QAAS,EAAA;AAAA,0BAEpB,QAAS,EAAA,QAAA;AAAA;AAAA,uBAEd,EAAA,CAAA;AAAA,sCAEAF,cAAA;AAAA,wBAACG,2BAAA;AAAA,wBAAA;AAAA,0BACC,SAAU,EAAA,yDAAA;AAAA,0BACV,IAAK,EAAA;AAAA;AAAA;AACP;AAAA;AAAA,iBACF;AAAA,gCAEiBH,cAAA,CAAAE,0BAAA,CAAA,MAAA,EAAhB,EAAuB,SAAA,EAAW,aAAa,OAC9C,EAAA,QAAA,kBAAAF,cAAA;AAAA,kBAAiBE,0BAAA,CAAA,OAAA;AAAA,kBAAhB;AAAA,oBACC,gBAAgB,EAAA,IAAA;AAAA,oBAChB,SAAW,EAAAH,oBAAA;AAAA,sBACT,8GAAA;AAAA,sBACA,iFAAA;AAAA,sBACA,UAAY,EAAA;AAAA,qBACd;AAAA,oBACA,QAAS,EAAA,QAAA;AAAA,oBACT,KAAO,EAAA,aAAA;AAAA,oBACP,UAAY,EAAA,CAAA;AAAA,oBACZ,oBAAsB,EAAA,UAAA;AAAA,oBACtB,SAAW,EAAA,aAAA;AAAA,oBAEX,QAAA,kBAAAD,eAAA,CAAiBI,qCAAhB,EACE,QAAA,EAAA;AAAA,sBAAA,WAAA,IAAe,CAAC,CAAC,UAAY,EAAA,MAAA,oBAE1BJ,eAAA,CAAAM,mBAAA,EAAA,EAAA,QAAA,EAAA;AAAA,wCAAAJ,cAAA;AAAA,0BAAiBE,0BAAA,CAAA,KAAA;AAAA,0BAAhB;AAAA,4BACC,SAAU,EAAA,yCAAA;AAAA,4BACV,aAAY,EAAA,iBAAA;AAAA,4BAEX,QAAY,EAAA,UAAA,EAAA,GAAA;AAAA,8BACX,CAAC,SACC,IACE,oBAAAJ,eAAA,CAACO,kCAAsB,IAAK,EAAA,OAAA,EAAQ,SAAQ,SAC1C,EAAA,QAAA,EAAA;AAAA,gDAACL,cAAA,CAAA,MAAA,EAAA,EAAM,eAAK,KAAM,EAAA,CAAA;AAAA,gDAClBA,cAAA;AAAA,kCAACM,aAAA;AAAA,kCAAA;AAAA,oCACC,IAAM,EAAA,EAAA;AAAA,oCACN,aAAA,EAAa,CAAe,YAAA,EAAA,IAAA,CAAK,KAAK,CAAA,CAAA;AAAA,oCACtC,SAAU,EAAA,gBAAA;AAAA,oCACV,OAAS,EAAA,MAAM,YAAa,CAAA,IAAA,CAAK,KAAK;AAAA;AAAA;AACxC,+BAAA,EAAA,EAPS,KAAK,KAQhB;AAAA;AAEN;AAAA,yBACF;AAAA,uDACCC,2BAAU,EAAA,EAAA;AAAA,uBACb,EAAA,CAAA;AAAA,sBAED,OAAA,EAAS,GAAI,CAAA,CAAC,EAAE,EAAA,EAAAC,GAAI,EAAA,KAAA,EAAO,KAAAX,EAAAA,MAAAA,EAAO,WAAAY,EAAAA,YAAAA,EACjC,qBAAAX,eAAA;AAAA,wBAAiBI,0BAAA,CAAA,IAAA;AAAA,wBAAhB;AAAA,0BAEC,KAAOL,EAAAA,MAAAA;AAAA,0BACP,SAAW,EAAAE,oBAAA;AAAA,4BACT,sNAAA;AAAA,4BACA,UAAY,EAAA;AAAA,2BACd;AAAA,0BACA,YAAY,EAAA,QAAA,CAAS,QAASF,CAAAA,MAAK,IAAI,SAAY,GAAA,WAAA;AAAA,0BACnD,SAAW,EAAA,CAAC,CAAM,KAAA,eAAA,CAAgB,GAAGA,MAAK,CAAA;AAAA,0BAC1C,OAAA,EAAS,MAAM,YAAA,CAAaA,MAAK,CAAA;AAAA,0BAEjC,QAAA,EAAA;AAAA,4CAAAG,cAAA;AAAA,8BAACU,qBAAA;AAAA,8BAAA;AAAA,gCACC,SAAW,EAAAX,oBAAA;AAAA,kCACT,gGAAA;AAAA,kCACA,UAAY,EAAA;AAAA,iCACd;AAAA,gCACA,IAAM,EAAA;AAAA;AAAA,6BACR;AAAA,4CACAC,cAAA,CAAiBE,0BAAhB,CAAA,QAAA,EAAA,EAA0B,QAAM,EAAA,KAAA,EAAA,CAAA;AAAA,4BAChCO,gCACET,cAAA,CAAA,MAAA,EAAA,EAAK,SAAU,EAAA,4BAAA,EAA8B,UAAAS,YAAY,EAAA;AAAA;AAAA,yBAAA;AAAA,wBAnBvDD;AAAA,uBAsBR,CAAA;AAAA,sBAEA,CAAC,CAAC,MAAA,oBAECV,eAAA,CAAAM,mBAAA,EAAA,EAAA,QAAA,EAAA;AAAA,wCAAAJ,cAAA,CAACO,2BAAU,EAAA,EAAA,CAAA;AAAA,wCACXP,cAAA;AAAA,0BAAiBE,0BAAA,CAAA,KAAA;AAAA,0BAAhB;AAAA,4BACC,SAAU,EAAA,yCAAA;AAAA,4BACV,aAAY,EAAA,iBAAA;AAAA,4BAEX,QAAA,EAAA;AAAA;AAAA;AACH,uBACF,EAAA;AAAA,qBAEJ,EAAA;AAAA;AAAA,iBAEJ,EAAA;AAAA;AAAA;AAAA,WACF;AAAA,0BAEAF,cAAA,CAACW,sCAAa,EAAA,EAAA,OAAA,EAAS,KAAO,EAAA;AAAA;AAAA;AAAA,KAChC;AAAA;AAGN,CAAA;AAEA,MAAA,CAAO,WAAc,GAAA,QAAA;AAErB,IAAO,cAAQ,GAAA","file":"chunk-SP2IO6PC.cjs","sourcesContent":["'use client'\n\nimport * as SelectPrimitive from '@radix-ui/react-select'\nimport { CheckIcon, ChevronDownIcon, X } from 'lucide-react'\nimport {\n type ComponentPropsWithoutRef,\n forwardRef,\n type KeyboardEvent,\n useEffect,\n useRef,\n useState,\n} from 'react'\n\nimport { Separator } from '@/components/primitives/separator'\nimport Chip from '@/components/ui/Chip'\nimport ErrorMessage from '@/components/ui/ErrorMessage'\nimport Label from '@/components/ui/Label'\nimport { cn } from '@/lib/utils'\n\ntype SelectContentProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\ntype RadixAlignType = SelectContentProps['align']\n\ninterface Props extends Omit<ComponentPropsWithoutRef<'select'>, 'value' | 'onChange'> {\n label?: string\n value?: string | string[]\n options?: { id: string | number; value: string; title: string; description?: string }[]\n placeholder?: string\n multiselect?: boolean\n description?: string\n error?: string\n classNames?: {\n label?: string\n trigger?: string\n content?: string\n item?: string\n checkmark?: string\n }\n dropdownAlign?: RadixAlignType\n onChange?: (value: string | string[]) => void\n}\n\nconst Select = forwardRef<HTMLButtonElement, Props>(\n (\n {\n label,\n options,\n placeholder,\n multiselect,\n description,\n classNames,\n dropdownAlign = 'start',\n error,\n id,\n children: footer,\n ...props\n },\n ref\n ) => {\n const { value, defaultValue, dir, className, onChange, ...rest } = props\n const [selected, setSelected] = useState<string[]>([])\n const [open, setOpen] = useState(false)\n const containerRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n if (!value) return setSelected([])\n setSelected(Array.isArray(value) ? value : [value])\n }, [value])\n\n const toggleOpen = () => setOpen((prev) => !prev)\n const closeOnEscape = (event: KeyboardEvent) => event.key === 'Escape' && setOpen(false)\n const handleOnOpenChange = (isOpen: boolean) => (!multiselect || isOpen) && setOpen(isOpen)\n const setValueOnEnter = (event: KeyboardEvent, value: string) =>\n event.key === 'Enter' && handleChange(value)\n const getLabel = () =>\n selected.map((o) => options?.find((option) => option.value === o)?.title).join(', ')\n\n const chipLabels = selected\n ?.map((s) => options?.find(({ value }) => value === s))\n .filter(Boolean)\n\n function handleChange(newValue: string) {\n if (newValue === '' && !multiselect) return // Prevent clearing single select\n let newSelected: string[] = []\n setSelected((prev) => {\n newSelected = prev.includes(newValue)\n ? prev.filter((item) => item !== newValue)\n : [...prev, newValue]\n return multiselect ? newSelected : [newValue]\n })\n onChange?.(multiselect ? newSelected : newValue)\n }\n\n return (\n <div\n className={cn('flex w-full flex-col gap-1', className)}\n ref={containerRef}\n data-testid={`${(label ?? id)?.toLowerCase()}-select-element`}\n >\n <Label\n text={label}\n htmlFor={props.name}\n required={props.required}\n description={description}\n className={classNames?.label}\n />\n\n <SelectPrimitive.Root\n open={open}\n value={selected.join(',')}\n onOpenChange={handleOnOpenChange}\n onValueChange={multiselect ? undefined : handleChange}\n defaultValue={typeof defaultValue === 'string' ? defaultValue : undefined}\n dir={dir === 'rtl' ? 'rtl' : 'ltr'}\n {...rest}\n >\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n 'group flex h-11 w-full flex-row items-center justify-between gap-3 rounded-lg border px-4 py-3 text-sm font-normal focus:outline-purple-100 disabled:bg-grey-5 data-[placeholder]:text-grey-50 data-[placeholder]:disabled:text-grey-40',\n classNames?.trigger\n )}\n >\n <span className=\"truncate\">\n <SelectPrimitive.Value\n placeholder={placeholder ?? 'Select an option'}\n aria-label={getLabel()}\n >\n {getLabel()}\n </SelectPrimitive.Value>\n </span>\n\n <ChevronDownIcon\n className=\"transform text-black group-data-[state=open]:rotate-180\"\n size=\"16\"\n />\n </SelectPrimitive.Trigger>\n\n <SelectPrimitive.Portal container={containerRef.current}>\n <SelectPrimitive.Content\n hideWhenDetached\n className={cn(\n 'z-10 max-h-[var(--radix-select-content-available-height)] overflow-hidden rounded-md bg-white py-2 shadow-lg',\n 'w-[var(--radix-select-trigger-width)] min-w-[var(--radix-select-trigger-width)]',\n classNames?.content\n )}\n position=\"popper\"\n align={dropdownAlign}\n sideOffset={4}\n onPointerDownOutside={toggleOpen}\n onKeyDown={closeOnEscape}\n >\n <SelectPrimitive.Viewport>\n {multiselect && !!chipLabels?.length && (\n <>\n <SelectPrimitive.Group\n className=\"mb-2 flex flex-row flex-wrap gap-1 px-2\"\n data-testid=\"selected-labels\"\n >\n {chipLabels?.map(\n (chip) =>\n chip && (\n <Chip key={chip.title} size=\"small\" variant=\"primary\">\n <span>{chip.title}</span>\n <X\n size={18}\n data-testid={`chip-remove-${chip.value}`}\n className=\"cursor-pointer\"\n onClick={() => handleChange(chip.value)}\n />\n </Chip>\n )\n )}\n </SelectPrimitive.Group>\n <Separator />\n </>\n )}\n {options?.map(({ id, title, value, description }) => (\n <SelectPrimitive.Item\n key={id}\n value={value}\n className={cn(\n 'group relative cursor-pointer px-4 py-2 text-left text-sm hover:bg-purple-50 focus:bg-purple-50 focus:outline-none data-[state=checked]:bg-purple-50 data-[state=checked]:pr-10 data-[state=checked]:text-purple-100',\n classNames?.item\n )}\n data-state={selected.includes(value) ? 'checked' : 'unchecked'}\n onKeyDown={(e) => setValueOnEnter(e, value)}\n onClick={() => handleChange(value)}\n >\n <CheckIcon\n className={cn(\n 'absolute inset-y-0 right-3 my-auto hidden w-6 text-purple-100 group-data-[state=checked]:block',\n classNames?.checkmark\n )}\n size={16}\n />\n <SelectPrimitive.ItemText>{title}</SelectPrimitive.ItemText>\n {description && (\n <span className=\"block text-sm text-grey-70\">{description}</span>\n )}\n </SelectPrimitive.Item>\n ))}\n\n {!!footer && (\n <>\n <Separator />\n <SelectPrimitive.Group\n className=\"mt-2 flex flex-row flex-wrap gap-1 px-2\"\n data-testid=\"selected-labels\"\n >\n {footer}\n </SelectPrimitive.Group>\n </>\n )}\n </SelectPrimitive.Viewport>\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n </SelectPrimitive.Root>\n\n <ErrorMessage message={error} />\n </div>\n )\n }\n)\n\nSelect.displayName = 'Select'\n\nexport default Select\n"]}