@next-degree/pickle-shared-js 0.13.7 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/dist/{chunk-ZZCTMR2F.cjs → chunk-2YUUVN7E.cjs} +3 -3
  2. package/dist/{chunk-ZZCTMR2F.cjs.map → chunk-2YUUVN7E.cjs.map} +1 -1
  3. package/dist/{chunk-YVKKQOTE.cjs → chunk-4FETL23S.cjs} +17 -14
  4. package/dist/chunk-4FETL23S.cjs.map +1 -0
  5. package/dist/chunk-5GODYRZA.js +138 -0
  6. package/dist/chunk-5GODYRZA.js.map +1 -0
  7. package/dist/{chunk-U27VO642.js → chunk-62HL22CD.js} +12 -5
  8. package/dist/chunk-62HL22CD.js.map +1 -0
  9. package/dist/chunk-6KGXXX6X.cjs +140 -0
  10. package/dist/chunk-6KGXXX6X.cjs.map +1 -0
  11. package/dist/chunk-73JL5O6N.cjs +95 -0
  12. package/dist/chunk-73JL5O6N.cjs.map +1 -0
  13. package/dist/{chunk-6EW2D7K7.cjs → chunk-7TFFAGVB.cjs} +33 -8
  14. package/dist/chunk-7TFFAGVB.cjs.map +1 -0
  15. package/dist/{chunk-LFWX5GEE.cjs → chunk-CGCGALTZ.cjs} +6 -6
  16. package/dist/{chunk-LFWX5GEE.cjs.map → chunk-CGCGALTZ.cjs.map} +1 -1
  17. package/dist/{chunk-K76RPF2X.js → chunk-CPZFINPG.js} +3 -3
  18. package/dist/{chunk-K76RPF2X.js.map → chunk-CPZFINPG.js.map} +1 -1
  19. package/dist/{chunk-LT35HARQ.cjs → chunk-EYN3RHOF.cjs} +18 -11
  20. package/dist/chunk-EYN3RHOF.cjs.map +1 -0
  21. package/dist/{chunk-3FQTSGHL.cjs → chunk-F567WG2X.cjs} +47 -35
  22. package/dist/chunk-F567WG2X.cjs.map +1 -0
  23. package/dist/{chunk-DUVGFEGU.js → chunk-G4KDEQIL.js} +28 -18
  24. package/dist/chunk-G4KDEQIL.js.map +1 -0
  25. package/dist/chunk-IPP5X4TY.js +53 -0
  26. package/dist/chunk-IPP5X4TY.js.map +1 -0
  27. package/dist/{chunk-XGQU7BQK.js → chunk-JZLJVA4I.js} +47 -35
  28. package/dist/chunk-JZLJVA4I.js.map +1 -0
  29. package/dist/{chunk-C3DCFPJC.cjs → chunk-KBAY4F7D.cjs} +23 -16
  30. package/dist/chunk-KBAY4F7D.cjs.map +1 -0
  31. package/dist/{chunk-VB32IBQC.cjs → chunk-N7GS4DZD.cjs} +8 -6
  32. package/dist/chunk-N7GS4DZD.cjs.map +1 -0
  33. package/dist/{chunk-567FG76G.cjs → chunk-OXDKVZZ5.cjs} +4 -4
  34. package/dist/{chunk-567FG76G.cjs.map → chunk-OXDKVZZ5.cjs.map} +1 -1
  35. package/dist/{chunk-4E3ANVRR.js → chunk-OZJZVEF2.js} +3 -3
  36. package/dist/{chunk-4E3ANVRR.js.map → chunk-OZJZVEF2.js.map} +1 -1
  37. package/dist/{chunk-Z5PEOX6F.js → chunk-PU4O76IS.js} +12 -9
  38. package/dist/chunk-PU4O76IS.js.map +1 -0
  39. package/dist/chunk-PVW2B7IC.js +73 -0
  40. package/dist/chunk-PVW2B7IC.js.map +1 -0
  41. package/dist/{chunk-EV54AFL4.js → chunk-PWKRCU2K.js} +24 -7
  42. package/dist/chunk-PWKRCU2K.js.map +1 -0
  43. package/dist/{chunk-NCEXSFMC.js → chunk-QYSTBZXD.js} +3 -3
  44. package/dist/{chunk-NCEXSFMC.js.map → chunk-QYSTBZXD.js.map} +1 -1
  45. package/dist/{chunk-62OBBM7T.js → chunk-SNHRG4TY.js} +23 -16
  46. package/dist/chunk-SNHRG4TY.js.map +1 -0
  47. package/dist/{chunk-DURKKV2E.js → chunk-TXSLKNR3.js} +6 -4
  48. package/dist/chunk-TXSLKNR3.js.map +1 -0
  49. package/dist/{chunk-GHJACW4X.cjs → chunk-Z2I2265Q.cjs} +24 -7
  50. package/dist/chunk-Z2I2265Q.cjs.map +1 -0
  51. package/dist/{chunk-UW6NEKBF.cjs → chunk-ZLANEWSF.cjs} +28 -18
  52. package/dist/chunk-ZLANEWSF.cjs.map +1 -0
  53. package/dist/{company_service_sanity-DF01qvTz.d.ts → company_service_sanity-B1Xg7ISJ.d.ts} +271 -271
  54. package/dist/{company_service_sanity-Br0R7m-A.d.cts → company_service_sanity-CCbS8ElX.d.cts} +271 -271
  55. package/dist/components/jobCard/JobLocation.d.cts +1 -1
  56. package/dist/components/jobCard/JobLocation.d.ts +1 -1
  57. package/dist/components/jobPost/JobPost.cjs +6 -6
  58. package/dist/components/jobPost/JobPost.d.cts +1 -1
  59. package/dist/components/jobPost/JobPost.d.ts +1 -1
  60. package/dist/components/jobPost/JobPost.js +5 -5
  61. package/dist/components/primitives/command.cjs +10 -10
  62. package/dist/components/primitives/command.d.cts +1 -1
  63. package/dist/components/primitives/command.d.ts +1 -1
  64. package/dist/components/primitives/command.js +1 -1
  65. package/dist/components/primitives/radio-group.cjs +3 -3
  66. package/dist/components/primitives/radio-group.d.cts +9 -1
  67. package/dist/components/primitives/radio-group.d.ts +9 -1
  68. package/dist/components/primitives/radio-group.js +1 -1
  69. package/dist/components/ui/Button.d.cts +1 -1
  70. package/dist/components/ui/Button.d.ts +1 -1
  71. package/dist/components/ui/Combobox.cjs +4 -4
  72. package/dist/components/ui/Combobox.d.cts +2 -1
  73. package/dist/components/ui/Combobox.d.ts +2 -1
  74. package/dist/components/ui/Combobox.js +3 -3
  75. package/dist/components/ui/Counter.cjs +2 -2
  76. package/dist/components/ui/Counter.d.cts +2 -2
  77. package/dist/components/ui/Counter.d.ts +2 -2
  78. package/dist/components/ui/Counter.js +1 -1
  79. package/dist/components/ui/DatePicker.cjs +2 -2
  80. package/dist/components/ui/DatePicker.d.cts +8 -3
  81. package/dist/components/ui/DatePicker.d.ts +8 -3
  82. package/dist/components/ui/DatePicker.js +1 -1
  83. package/dist/components/ui/Input.cjs +2 -2
  84. package/dist/components/ui/Input.d.cts +2 -1
  85. package/dist/components/ui/Input.d.ts +2 -1
  86. package/dist/components/ui/Input.js +1 -1
  87. package/dist/components/ui/PlacesQueryInput.cjs +3 -3
  88. package/dist/components/ui/PlacesQueryInput.d.cts +3 -1
  89. package/dist/components/ui/PlacesQueryInput.d.ts +3 -1
  90. package/dist/components/ui/PlacesQueryInput.js +2 -2
  91. package/dist/components/ui/Radio.cjs +3 -3
  92. package/dist/components/ui/Radio.d.cts +4 -1
  93. package/dist/components/ui/Radio.d.ts +4 -1
  94. package/dist/components/ui/Radio.js +2 -2
  95. package/dist/components/ui/Select.cjs +2 -2
  96. package/dist/components/ui/Select.d.cts +8 -1
  97. package/dist/components/ui/Select.d.ts +8 -1
  98. package/dist/components/ui/Select.js +1 -1
  99. package/dist/components/ui/Switch.cjs +2 -2
  100. package/dist/components/ui/Switch.d.cts +7 -1
  101. package/dist/components/ui/Switch.d.ts +7 -1
  102. package/dist/components/ui/Switch.js +1 -1
  103. package/dist/components/ui/buttonShadcn.d.cts +1 -1
  104. package/dist/components/ui/buttonShadcn.d.ts +1 -1
  105. package/dist/{displayText-BDPndCI9.d.cts → displayText-Ck0qovrl.d.cts} +2 -2
  106. package/dist/{displayText-EpnIpZ38.d.ts → displayText-ClDGmi1J.d.ts} +2 -2
  107. package/dist/hooks/useDisplayText.cjs +4 -4
  108. package/dist/hooks/useDisplayText.d.cts +3 -3
  109. package/dist/hooks/useDisplayText.d.ts +3 -3
  110. package/dist/hooks/useDisplayText.js +3 -3
  111. package/dist/index.cjs +53 -53
  112. package/dist/index.d.cts +6 -6
  113. package/dist/index.d.ts +6 -6
  114. package/dist/index.js +22 -22
  115. package/dist/{job_posting_service_latest-BKz5U2Gp.d.cts → job_posting_service_latest-Bk53vj02.d.cts} +177 -177
  116. package/dist/{job_posting_service_latest-BKz5U2Gp.d.ts → job_posting_service_latest-Bk53vj02.d.ts} +177 -177
  117. package/dist/{job_posting_service_latest-B6Trs6sX.d.cts → job_posting_service_latest-DfX8Y4gB.d.cts} +177 -177
  118. package/dist/{job_posting_service_latest-B6Trs6sX.d.ts → job_posting_service_latest-DfX8Y4gB.d.ts} +177 -177
  119. package/dist/{job_posting_service_sanity-BN7XcVxU.d.cts → job_posting_service_sanity-BSxLNte3.d.cts} +357 -357
  120. package/dist/{job_posting_service_sanity-BNQsNQs2.d.ts → job_posting_service_sanity-C6aPb8kp.d.ts} +357 -357
  121. package/dist/lib/locations.d.cts +3 -3
  122. package/dist/lib/locations.d.ts +3 -3
  123. package/dist/lib/mappings.d.cts +3 -3
  124. package/dist/lib/mappings.d.ts +3 -3
  125. package/dist/lib/salaryRange.d.cts +1 -1
  126. package/dist/lib/salaryRange.d.ts +1 -1
  127. package/dist/services/displayText.cjs +3 -3
  128. package/dist/services/displayText.d.cts +3 -3
  129. package/dist/services/displayText.d.ts +3 -3
  130. package/dist/services/displayText.js +2 -2
  131. package/dist/styles/globals.css +53 -26
  132. package/dist/styles/globals.css.map +1 -1
  133. package/dist/types/data/company_service_latest.d.cts +1 -1
  134. package/dist/types/data/company_service_latest.d.ts +1 -1
  135. package/dist/types/data/job_posting_service_latest.d.cts +1 -1
  136. package/dist/types/data/job_posting_service_latest.d.ts +1 -1
  137. package/dist/types/data/shared_pickle_output_latest.d.cts +1 -1
  138. package/dist/types/data/shared_pickle_output_latest.d.ts +1 -1
  139. package/dist/types/index.d.cts +5 -5
  140. package/dist/types/index.d.ts +5 -5
  141. package/dist/types/latest/company_service_latest.d.cts +1 -1
  142. package/dist/types/latest/company_service_latest.d.ts +1 -1
  143. package/dist/types/latest/custom/company_service_sanity.d.cts +3 -3
  144. package/dist/types/latest/custom/company_service_sanity.d.ts +3 -3
  145. package/dist/types/latest/custom/job_posting_service_sanity.d.cts +3 -3
  146. package/dist/types/latest/custom/job_posting_service_sanity.d.ts +3 -3
  147. package/dist/types/latest/job_posting_service_latest.d.cts +1 -1
  148. package/dist/types/latest/job_posting_service_latest.d.ts +1 -1
  149. package/dist/types/latest/shared_pickle_output_latest.d.cts +1 -1
  150. package/dist/types/latest/shared_pickle_output_latest.d.ts +1 -1
  151. package/package.json +1 -1
  152. package/dist/chunk-2I2TWTPC.js +0 -115
  153. package/dist/chunk-2I2TWTPC.js.map +0 -1
  154. package/dist/chunk-3FQTSGHL.cjs.map +0 -1
  155. package/dist/chunk-62OBBM7T.js.map +0 -1
  156. package/dist/chunk-6EW2D7K7.cjs.map +0 -1
  157. package/dist/chunk-B7NHA4GE.js +0 -33
  158. package/dist/chunk-B7NHA4GE.js.map +0 -1
  159. package/dist/chunk-C3DCFPJC.cjs.map +0 -1
  160. package/dist/chunk-DURKKV2E.js.map +0 -1
  161. package/dist/chunk-DUVGFEGU.js.map +0 -1
  162. package/dist/chunk-EV54AFL4.js.map +0 -1
  163. package/dist/chunk-GHJACW4X.cjs.map +0 -1
  164. package/dist/chunk-LT35HARQ.cjs.map +0 -1
  165. package/dist/chunk-ORVF255B.cjs +0 -55
  166. package/dist/chunk-ORVF255B.cjs.map +0 -1
  167. package/dist/chunk-U27VO642.js.map +0 -1
  168. package/dist/chunk-U7LTIWUS.js +0 -28
  169. package/dist/chunk-U7LTIWUS.js.map +0 -1
  170. package/dist/chunk-UW6NEKBF.cjs.map +0 -1
  171. package/dist/chunk-VAHZQJTA.cjs +0 -117
  172. package/dist/chunk-VAHZQJTA.cjs.map +0 -1
  173. package/dist/chunk-VB32IBQC.cjs.map +0 -1
  174. package/dist/chunk-XGQU7BQK.js.map +0 -1
  175. package/dist/chunk-YVKKQOTE.cjs.map +0 -1
  176. package/dist/chunk-Z5PEOX6F.js.map +0 -1
  177. package/dist/{company_service_latest-C7Moeufo.d.cts → company_service_latest-CVgoQ8Mc.d.cts} +174 -174
  178. package/dist/{company_service_latest-C7Moeufo.d.ts → company_service_latest-CVgoQ8Mc.d.ts} +174 -174
  179. package/dist/{company_service_latest-CITz7F53.d.cts → company_service_latest-oWEnaiRd.d.cts} +174 -174
  180. package/dist/{company_service_latest-CITz7F53.d.ts → company_service_latest-oWEnaiRd.d.ts} +174 -174
  181. package/dist/{shared_pickle_output_latest--XZhOUyE.d.cts → shared_pickle_output_latest-BVF7Zh2H.d.cts} +11 -11
  182. package/dist/{shared_pickle_output_latest--XZhOUyE.d.ts → shared_pickle_output_latest-BVF7Zh2H.d.ts} +11 -11
  183. package/dist/{shared_pickle_output_latest-DKOmTyYk.d.cts → shared_pickle_output_latest-BjRRmT8R.d.cts} +11 -11
  184. package/dist/{shared_pickle_output_latest-DKOmTyYk.d.ts → shared_pickle_output_latest-BjRRmT8R.d.ts} +11 -11
@@ -10,7 +10,7 @@ import { forwardRef, useState, useEffect } from 'react';
10
10
  import { jsxs, jsx } from 'react/jsx-runtime';
11
11
 
12
12
  var DatePicker = forwardRef(
13
- ({ label, description, required, classNames, value, onChange, error, id, testId }, ref) => {
13
+ ({ label, description, required, classNames, value, onChange, error, id, testId, size }, ref) => {
14
14
  const [date, setDate] = useState(null);
15
15
  useEffect(() => {
16
16
  setDate(value ?? null);
@@ -31,7 +31,7 @@ var DatePicker = forwardRef(
31
31
  }
32
32
  ),
33
33
  /* @__PURE__ */ jsxs(Popover, { children: [
34
- /* @__PURE__ */ jsx(PopoverTrigger, { "data-testid": testId, children: /* @__PURE__ */ jsxs("div", { className: cn(datePickerStyle(), classNames?.input), children: [
34
+ /* @__PURE__ */ jsx(PopoverTrigger, { "data-testid": testId, children: /* @__PURE__ */ jsxs("div", { className: cn(datePickerStyle({ size }), classNames?.input), children: [
35
35
  /* @__PURE__ */ jsx(Calendar, { size: 16 }),
36
36
  date ? format(date, "MM/dd/yyyy") : "Select a date"
37
37
  ] }) }),
@@ -51,38 +51,50 @@ var DatePicker = forwardRef(
51
51
  ] });
52
52
  }
53
53
  );
54
- var datePickerStyle = cva([
55
- "placeholder:text-muted-foreground",
56
- "focus-visible:ring-ring",
57
- "inline-flex",
58
- "w-full",
59
- "h-11",
60
- "items-center",
61
- "justify-start",
62
- "gap-3",
63
- "rounded-lg",
64
- "bg-transparent",
65
- "px-3",
66
- "pt-0.5",
67
- "text-sm",
68
- "shadow-sm",
69
- "ring-grey-50",
70
- "transition-colors",
71
- "focus-visible:outline-none",
72
- "focus-visible:ring-1",
73
- "disabled:cursor-not-allowed",
74
- "disabled:opacity-50",
75
- "appearance-none",
76
- "[&::-webkit-search-cancel-button]:appearance-none",
77
- "[&::-webkit-search-decoration]:appearance-none",
78
- "[&::-webkit-search-results-button]:appearance-none",
79
- "[&::-webkit-search-results-decoration]:appearance-none",
80
- "[&::-ms-clear]:display-none",
81
- "[&::-ms-reveal]:display-none",
82
- "text-grey-80 border",
83
- "font-normal"
84
- ]);
54
+ var datePickerStyle = cva(
55
+ [
56
+ "placeholder:text-grey-50",
57
+ "focus-visible:ring-ring",
58
+ "inline-flex",
59
+ "w-full",
60
+ "items-center",
61
+ "justify-start",
62
+ "gap-3",
63
+ "rounded-lg",
64
+ "bg-transparent",
65
+ "shadow-sm",
66
+ "transition-colors",
67
+ "focus-visible:outline-none",
68
+ "focus-visible:ring-1",
69
+ "disabled:cursor-not-allowed",
70
+ "disabled:opacity-50",
71
+ "appearance-none",
72
+ "[&::-webkit-search-cancel-button]:appearance-none",
73
+ "[&::-webkit-search-decoration]:appearance-none",
74
+ "[&::-webkit-search-results-button]:appearance-none",
75
+ "[&::-webkit-search-results-decoration]:appearance-none",
76
+ "[&::-ms-clear]:display-none",
77
+ "[&::-ms-reveal]:display-none",
78
+ "text-grey-80",
79
+ "border",
80
+ "border-grey-20",
81
+ "font-normal"
82
+ ],
83
+ {
84
+ variants: {
85
+ size: {
86
+ small: "h-8 px-3 py-1 text-xs",
87
+ normal: "h-9 px-3 py-2 text-sm",
88
+ large: "h-10 px-4 py-2 text-base",
89
+ xlarge: "h-11 px-4 py-3 text-base"
90
+ }
91
+ },
92
+ defaultVariants: {
93
+ size: "normal"
94
+ }
95
+ }
96
+ );
85
97
 
86
98
  export { DatePicker };
87
- //# sourceMappingURL=chunk-XGQU7BQK.js.map
88
- //# sourceMappingURL=chunk-XGQU7BQK.js.map
99
+ //# sourceMappingURL=chunk-JZLJVA4I.js.map
100
+ //# sourceMappingURL=chunk-JZLJVA4I.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ui/DatePicker.tsx"],"names":["CalendarIcon","Calendar"],"mappings":"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","file":"chunk-JZLJVA4I.js","sourcesContent":["'use client'\n\nimport { cva, type VariantProps } from 'cva'\nimport { format } from 'date-fns'\nimport { Calendar as CalendarIcon } from 'lucide-react'\nimport { forwardRef, useEffect, useState } from 'react'\n\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/primitives/popover'\nimport { Calendar } from '@/components/ui/calendar'\nimport ErrorMessage from '@/components/ui/ErrorMessage'\nimport Label from '@/components/ui/Label'\nimport { cn } from '@/lib/utils'\n\ntype DatePickerVariants = VariantProps<typeof datePickerStyle>\n\ntype Props = DatePickerVariants & {\n label?: string\n description?: string\n required?: boolean\n id?: string\n classNames?: {\n label?: string\n input?: string\n calendar?: string\n }\n value?: Date | null\n onChange?: (date: Date) => void\n error?: string\n testId?: string\n}\n\nexport const DatePicker = forwardRef<HTMLInputElement, Props>(\n ({ label, description, required, classNames, value, onChange, error, id, testId, size }, ref) => {\n const [date, setDate] = useState<Date | null>(null)\n\n useEffect(() => {\n setDate(value ?? null)\n }, [value])\n\n const handleDateSelect = (dateSelected: Date | undefined) => {\n if (!dateSelected) return\n onChange?.(dateSelected)\n setDate(dateSelected)\n }\n\n return (\n <div id={id} className={cn('flex w-auto flex-col gap-1')}>\n {label && (\n <Label\n text={label}\n required={required}\n description={description}\n className={classNames?.label}\n />\n )}\n <Popover>\n <PopoverTrigger data-testid={testId}>\n <div className={cn(datePickerStyle({ size }), classNames?.input)}>\n <CalendarIcon size={16} />\n {date ? format(date, 'MM/dd/yyyy') : 'Select a date'}\n </div>\n </PopoverTrigger>\n <PopoverContent ref={ref}>\n <Calendar\n mode=\"single\"\n selected={date || undefined}\n onSelect={handleDateSelect}\n captionLayout=\"dropdown\"\n showOutsideDays={true}\n className={classNames?.calendar}\n />\n </PopoverContent>\n </Popover>\n\n <ErrorMessage message={error} />\n </div>\n )\n }\n)\n\nconst datePickerStyle = cva(\n [\n 'placeholder:text-grey-50',\n 'focus-visible:ring-ring',\n 'inline-flex',\n 'w-full',\n 'items-center',\n 'justify-start',\n 'gap-3',\n 'rounded-lg',\n 'bg-transparent',\n 'shadow-sm',\n 'transition-colors',\n 'focus-visible:outline-none',\n 'focus-visible:ring-1',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n 'appearance-none',\n '[&::-webkit-search-cancel-button]:appearance-none',\n '[&::-webkit-search-decoration]:appearance-none',\n '[&::-webkit-search-results-button]:appearance-none',\n '[&::-webkit-search-results-decoration]:appearance-none',\n '[&::-ms-clear]:display-none',\n '[&::-ms-reveal]:display-none',\n 'text-grey-80',\n 'border',\n 'border-grey-20',\n 'font-normal',\n ],\n {\n variants: {\n size: {\n small: 'h-8 px-3 py-1 text-xs',\n normal: 'h-9 px-3 py-2 text-sm',\n large: 'h-10 px-4 py-2 text-base',\n xlarge: 'h-11 px-4 py-3 text-base',\n },\n },\n defaultVariants: {\n size: 'normal',\n },\n }\n)\n"]}
@@ -42,20 +42,27 @@ Command.displayName = cmdk.Command.displayName;
42
42
  var CommandDialog = ({ children, ...props }) => {
43
43
  return /* @__PURE__ */ jsxRuntime.jsx(chunkP6ZEOB4L_cjs.Dialog, { ...props, children: /* @__PURE__ */ jsxRuntime.jsx(chunkP6ZEOB4L_cjs.DialogContent, { className: "overflow-hidden p-0 shadow-lg", children: /* @__PURE__ */ jsxRuntime.jsx(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-neutral-500 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children }) }) });
44
44
  };
45
- var CommandInput = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "m-1 flex items-center rounded-xl border px-3", "cmdk-input-wrapper": "", children: [
46
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
47
- /* @__PURE__ */ jsxRuntime.jsx(
48
- cmdk.Command.Input,
49
- {
50
- ref,
51
- className: chunkMGWZXPMF_cjs.cn(
52
- "flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-neutral-500 disabled:cursor-not-allowed disabled:opacity-50",
53
- className
54
- ),
55
- ...props
56
- }
57
- )
58
- ] }));
45
+ var CommandInput = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
46
+ "div",
47
+ {
48
+ className: "m-1 flex items-center rounded-lg border border-grey-20 px-3",
49
+ "cmdk-input-wrapper": "",
50
+ children: [
51
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
52
+ /* @__PURE__ */ jsxRuntime.jsx(
53
+ cmdk.Command.Input,
54
+ {
55
+ ref,
56
+ className: chunkMGWZXPMF_cjs.cn(
57
+ "flex h-9 w-full rounded-md bg-transparent py-2 text-sm text-grey-80 outline-none placeholder:text-grey-50 disabled:cursor-not-allowed disabled:opacity-50",
58
+ className
59
+ ),
60
+ ...props
61
+ }
62
+ )
63
+ ]
64
+ }
65
+ ));
59
66
  CommandInput.displayName = cmdk.Command.Input.displayName;
60
67
  var CommandList = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
61
68
  cmdk.Command.List,
@@ -121,5 +128,5 @@ exports.CommandItem = CommandItem;
121
128
  exports.CommandList = CommandList;
122
129
  exports.CommandSeparator = CommandSeparator;
123
130
  exports.CommandShortcut = CommandShortcut;
124
- //# sourceMappingURL=chunk-C3DCFPJC.cjs.map
125
- //# sourceMappingURL=chunk-C3DCFPJC.cjs.map
131
+ //# sourceMappingURL=chunk-KBAY4F7D.cjs.map
132
+ //# sourceMappingURL=chunk-KBAY4F7D.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/primitives/command.tsx"],"names":["React","jsx","CommandPrimitive","cn","Dialog","DialogContent","jsxs","Search"],"mappings":"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","file":"chunk-KBAY4F7D.cjs","sourcesContent":["'use client'\n\nimport { type DialogProps } from '@radix-ui/react-dialog'\nimport { Command as CommandPrimitive } from 'cmdk'\nimport { Search } from 'lucide-react'\nimport * as React from 'react'\n\nimport { Dialog, DialogContent } from '@/components/primitives/dialog'\nimport { cn } from '@/lib/utils'\n\nconst Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n 'flex h-full w-full flex-col overflow-hidden rounded-xl bg-white text-neutral-950',\n className\n )}\n {...props}\n />\n))\nCommand.displayName = CommandPrimitive.displayName\n\ntype CommandDialogProps = DialogProps\n\nconst CommandDialog = ({ children, ...props }: CommandDialogProps) => {\n return (\n <Dialog {...props}>\n <DialogContent className=\"overflow-hidden p-0 shadow-lg\">\n <Command className=\"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-neutral-500 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n )\n}\n\nconst CommandInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => (\n <div\n className=\"m-1 flex items-center rounded-lg border border-grey-20 px-3\"\n cmdk-input-wrapper=\"\"\n >\n <Search className=\"mr-2 h-4 w-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n 'flex h-9 w-full rounded-md bg-transparent py-2 text-sm text-grey-80 outline-none placeholder:text-grey-50 disabled:cursor-not-allowed disabled:opacity-50',\n className\n )}\n {...props}\n />\n </div>\n))\n\nCommandInput.displayName = CommandPrimitive.Input.displayName\n\nconst CommandList = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.List\n ref={ref}\n className={cn('overflow-y-auto overflow-x-hidden', className)}\n {...props}\n />\n))\n\nCommandList.displayName = CommandPrimitive.List.displayName\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => (\n <CommandPrimitive.Empty ref={ref} className=\"py-6 text-center text-sm\" {...props} />\n))\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n 'overflow-hidden p-1 text-neutral-950 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-neutral-500',\n className\n )}\n {...props}\n />\n))\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Separator\n ref={ref}\n className={cn('-mx-1 h-px bg-neutral-200', className)}\n {...props}\n />\n))\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName\n\nconst CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-pointer select-none items-center rounded-xl px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-neutral-100 data-[selected=true]:text-neutral-900 data-[disabled=true]:opacity-50\",\n className\n )}\n {...props}\n />\n))\n\nCommandItem.displayName = CommandPrimitive.Item.displayName\n\nconst CommandShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn('ml-auto text-xs tracking-widest text-neutral-500', className)}\n {...props}\n />\n )\n}\nCommandShortcut.displayName = 'CommandShortcut'\n\nexport {\n Command,\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n CommandShortcut,\n}\n"]}
@@ -2,7 +2,7 @@
2
2
 
3
3
  var chunkXWQI5MC3_cjs = require('./chunk-XWQI5MC3.cjs');
4
4
  var chunkLTJXX7NG_cjs = require('./chunk-LTJXX7NG.cjs');
5
- var chunk6EW2D7K7_cjs = require('./chunk-6EW2D7K7.cjs');
5
+ var chunk7TFFAGVB_cjs = require('./chunk-7TFFAGVB.cjs');
6
6
  var chunkMGWZXPMF_cjs = require('./chunk-MGWZXPMF.cjs');
7
7
  var react = require('react');
8
8
  var jsxRuntime = require('react/jsx-runtime');
@@ -16,27 +16,29 @@ var Radio = react.forwardRef(
16
16
  classNames,
17
17
  onChange: handleValueChange,
18
18
  orientation,
19
+ size,
19
20
  ...props
20
21
  }, ref) => {
21
22
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkMGWZXPMF_cjs.cn("flex flex-col gap-1", classNames?.root), children: [
22
23
  /* @__PURE__ */ jsxRuntime.jsx(chunkXWQI5MC3_cjs.Label_default, { text: label, description, required: props.required }),
23
24
  /* @__PURE__ */ jsxRuntime.jsx(
24
- chunk6EW2D7K7_cjs.RadioGroup,
25
+ chunk7TFFAGVB_cjs.RadioGroup,
25
26
  {
26
27
  ref,
27
28
  className: chunkMGWZXPMF_cjs.cn(
28
- "flex text-sm",
29
+ "flex",
29
30
  orientation === "vertical" ? "flex-col gap-2" : "flex-row gap-4",
30
31
  classNames?.group
31
32
  ),
32
33
  onValueChange: handleValueChange,
33
34
  ...props,
34
35
  children: options?.map(({ id, title, value }) => /* @__PURE__ */ jsxRuntime.jsx(
35
- chunk6EW2D7K7_cjs.RadioGroupItem,
36
+ chunk7TFFAGVB_cjs.RadioGroupItem,
36
37
  {
37
38
  value,
38
39
  id: `radio-group-item-${title}`,
39
40
  className: classNames?.item,
41
+ size,
40
42
  children: title
41
43
  },
42
44
  id
@@ -50,5 +52,5 @@ var Radio = react.forwardRef(
50
52
  Radio.displayName = "Radio";
51
53
 
52
54
  exports.Radio = Radio;
53
- //# sourceMappingURL=chunk-VB32IBQC.cjs.map
54
- //# sourceMappingURL=chunk-VB32IBQC.cjs.map
55
+ //# sourceMappingURL=chunk-N7GS4DZD.cjs.map
56
+ //# sourceMappingURL=chunk-N7GS4DZD.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ui/Radio.tsx"],"names":["forwardRef","cn","jsx","Label_default","RadioGroup","RadioGroupItem","ErrorMessage_default"],"mappings":";;;;;;;;;AAoBO,IAAM,KAAQ,GAAAA,gBAAA;AAAA,EACnB,CACE;AAAA,IACE,KAAA;AAAA,IACA,KAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAU,EAAA,iBAAA;AAAA,IACV,WAAA;AAAA,IACA,IAAA;AAAA,IACA,GAAG;AAAA,KAEL,GACG,KAAA;AACH,IAAA,uCACG,KAAI,EAAA,EAAA,SAAA,EAAWC,qBAAG,qBAAuB,EAAA,UAAA,EAAY,IAAI,CACxD,EAAA,QAAA,EAAA;AAAA,sBAAAC,cAAA,CAACC,mCAAM,IAAM,EAAA,KAAA,EAAO,WAA0B,EAAA,QAAA,EAAU,MAAM,QAAU,EAAA,CAAA;AAAA,sBAExED,cAAA;AAAA,QAACE,4BAAA;AAAA,QAAA;AAAA,UACC,GAAA;AAAA,UACA,SAAW,EAAAH,oBAAA;AAAA,YACT,MAAA;AAAA,YACA,WAAA,KAAgB,aAAa,gBAAmB,GAAA,gBAAA;AAAA,YAChD,UAAY,EAAA;AAAA,WACd;AAAA,UACA,aAAe,EAAA,iBAAA;AAAA,UACd,GAAG,KAAA;AAAA,UAEH,mBAAS,GAAI,CAAA,CAAC,EAAE,EAAI,EAAA,KAAA,EAAO,OAC1B,qBAAAC,cAAA;AAAA,YAACG,gCAAA;AAAA,YAAA;AAAA,cAEC,KAAA;AAAA,cACA,EAAA,EAAI,oBAAoB,KAAK,CAAA,CAAA;AAAA,cAC7B,WAAW,UAAY,EAAA,IAAA;AAAA,cACvB,IAAA;AAAA,cAEC,QAAA,EAAA;AAAA,aAAA;AAAA,YANI;AAAA,WAQR;AAAA;AAAA,OACH;AAAA,sBAEAH,cAAA,CAACI,sCAAa,EAAA,EAAA,OAAA,EAAS,KAAO,EAAA;AAAA,KAChC,EAAA,CAAA;AAAA;AAGN;AACA,KAAA,CAAM,WAAc,GAAA,OAAA","file":"chunk-N7GS4DZD.cjs","sourcesContent":["import { type ComponentProps, forwardRef } from 'react'\n\nimport { RadioGroup, RadioGroupItem, type RadioSize } from '@/components/primitives/radio-group'\nimport ErrorMessage from '@/components/ui/ErrorMessage'\nimport Label from '@/components/ui/Label'\nimport { cn } from '@/lib/utils'\n\ntype RadioItem = { id: string | number; title: string; value: string }\ntype RadioClassNames = { root?: string; group?: string; item?: string }\ntype RadioGroupProps = Omit<ComponentProps<typeof RadioGroup>, 'onValueChange'>\nexport type RadioProps = RadioGroupProps & {\n label?: string\n error?: string\n description?: string\n classNames?: RadioClassNames\n options?: RadioItem[]\n onChange?: (value: string) => void\n size?: RadioSize\n}\n\nexport const Radio = forwardRef<HTMLInputElement, RadioProps>(\n (\n {\n label,\n error,\n description,\n options,\n classNames,\n onChange: handleValueChange,\n orientation,\n size,\n ...props\n },\n ref\n ) => {\n return (\n <div className={cn('flex flex-col gap-1', classNames?.root)}>\n <Label text={label} description={description} required={props.required} />\n\n <RadioGroup\n ref={ref}\n className={cn(\n 'flex',\n orientation === 'vertical' ? 'flex-col gap-2' : 'flex-row gap-4',\n classNames?.group\n )}\n onValueChange={handleValueChange}\n {...props}\n >\n {options?.map(({ id, title, value }) => (\n <RadioGroupItem\n key={id}\n value={value}\n id={`radio-group-item-${title}`}\n className={classNames?.item}\n size={size}\n >\n {title}\n </RadioGroupItem>\n ))}\n </RadioGroup>\n\n <ErrorMessage message={error} />\n </div>\n )\n }\n)\nRadio.displayName = 'Radio'\n"]}
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var chunkZZCTMR2F_cjs = require('./chunk-ZZCTMR2F.cjs');
3
+ var chunk2YUUVN7E_cjs = require('./chunk-2YUUVN7E.cjs');
4
4
  var chunkXUTLQ573_cjs = require('./chunk-XUTLQ573.cjs');
5
5
  var react = require('react');
6
6
 
7
7
  var useDisplayText = (scope, value) => {
8
8
  const [displayText, setDisplayText] = react.useState("");
9
- const displayService = react.useMemo(() => new chunkZZCTMR2F_cjs.DisplayTextService(), []);
9
+ const displayService = react.useMemo(() => new chunk2YUUVN7E_cjs.DisplayTextService(), []);
10
10
  react.useEffect(() => {
11
11
  if (!displayService || !value) {
12
12
  setDisplayText("");
@@ -35,5 +35,5 @@ var useDisplayText = (scope, value) => {
35
35
  };
36
36
 
37
37
  exports.useDisplayText = useDisplayText;
38
- //# sourceMappingURL=chunk-567FG76G.cjs.map
39
- //# sourceMappingURL=chunk-567FG76G.cjs.map
38
+ //# sourceMappingURL=chunk-OXDKVZZ5.cjs.map
39
+ //# sourceMappingURL=chunk-OXDKVZZ5.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/hooks/useDisplayText.ts"],"names":["useState","useMemo","DisplayTextService","useEffect","DisplayTextValueNotFoundError"],"mappings":";;;;;;AAKa,IAAA,cAAA,GAAiB,CAC5B,KAAA,EACA,KACG,KAAA;AACH,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAIA,eAAS,EAAE,CAAA;AACjD,EAAA,MAAM,iBAAiBC,aAAQ,CAAA,MAAM,IAAIC,oCAAmB,EAAA,EAAG,EAAE,CAAA;AAEjE,EAAAC,eAAA,CAAU,MAAM;AACd,IAAI,IAAA,CAAC,cAAkB,IAAA,CAAC,KAAO,EAAA;AAC7B,MAAA,cAAA,CAAe,EAAE,CAAA;AACjB,MAAA;AAAA;AAEF,IAAA,KAAA,CAAM,YAAY;AAChB,MAAI,IAAA;AACF,QAAA,MAAM,MAAS,GAAA,MAAM,cAAe,CAAA,cAAA,CAAe,OAAO,KAAK,CAAA;AAC/D,QAAI,IAAA,OAAO,WAAW,QAAU,EAAA;AAC9B,UAAA,cAAA,CAAe,MAAM,CAAA;AAAA,SAChB,MAAA;AACL,UAAQ,OAAA,CAAA,KAAA,CAAM,sCAAsC,MAAM,CAAA;AAAA;AAC5D,eACO,KAAO,EAAA;AACd,QAAA,IAAI,iBAAiBC,+CAA+B,EAAA;AAClD,UAAQ,OAAA,CAAA,IAAA,CAAK,iCAAiC,KAAK,CAAA;AACnD,UAAe,cAAA,CAAA,MAAA,CAAO,KAAK,CAAC,CAAA;AAAA,SACvB,MAAA;AACL,UAAQ,OAAA,CAAA,KAAA,CAAM,qCAAqC,KAAK,CAAA;AACxD,UAAe,cAAA,CAAA,MAAA,CAAO,KAAK,CAAC,CAAA;AAAA;AAC9B;AACF,KACC,GAAA;AAAA,GACF,EAAA,CAAC,KAAO,EAAA,KAAA,EAAO,cAAc,CAAC,CAAA;AAEjC,EAAO,OAAA,WAAA;AACT","file":"chunk-567FG76G.cjs","sourcesContent":["import { useEffect, useMemo, useState } from 'react'\n\nimport { DisplayTextService, type ServiceMappings } from '@/services/displayText'\nimport { DisplayTextValueNotFoundError } from '@/types/displayText.errors'\n\nexport const useDisplayText = (\n scope: keyof ServiceMappings,\n value: string | string[] | undefined | null\n) => {\n const [displayText, setDisplayText] = useState('')\n const displayService = useMemo(() => new DisplayTextService(), [])\n\n useEffect(() => {\n if (!displayService || !value) {\n setDisplayText('')\n return\n }\n void (async () => {\n try {\n const result = await displayService.getDisplayText(scope, value)\n if (typeof result === 'string') {\n setDisplayText(result)\n } else {\n console.error('Expected a string result, but got:', result)\n }\n } catch (error) {\n if (error instanceof DisplayTextValueNotFoundError) {\n console.warn('Display text value not found:', value)\n setDisplayText(String(value))\n } else {\n console.error('Unexpected error formatting text:', error)\n setDisplayText(String(value))\n }\n }\n })()\n }, [scope, value, displayService])\n\n return displayText\n}\n"]}
1
+ {"version":3,"sources":["../src/hooks/useDisplayText.ts"],"names":["useState","useMemo","DisplayTextService","useEffect","DisplayTextValueNotFoundError"],"mappings":";;;;;;AAKa,IAAA,cAAA,GAAiB,CAC5B,KAAA,EACA,KACG,KAAA;AACH,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAIA,eAAS,EAAE,CAAA;AACjD,EAAA,MAAM,iBAAiBC,aAAQ,CAAA,MAAM,IAAIC,oCAAmB,EAAA,EAAG,EAAE,CAAA;AAEjE,EAAAC,eAAA,CAAU,MAAM;AACd,IAAI,IAAA,CAAC,cAAkB,IAAA,CAAC,KAAO,EAAA;AAC7B,MAAA,cAAA,CAAe,EAAE,CAAA;AACjB,MAAA;AAAA;AAEF,IAAA,KAAA,CAAM,YAAY;AAChB,MAAI,IAAA;AACF,QAAA,MAAM,MAAS,GAAA,MAAM,cAAe,CAAA,cAAA,CAAe,OAAO,KAAK,CAAA;AAC/D,QAAI,IAAA,OAAO,WAAW,QAAU,EAAA;AAC9B,UAAA,cAAA,CAAe,MAAM,CAAA;AAAA,SAChB,MAAA;AACL,UAAQ,OAAA,CAAA,KAAA,CAAM,sCAAsC,MAAM,CAAA;AAAA;AAC5D,eACO,KAAO,EAAA;AACd,QAAA,IAAI,iBAAiBC,+CAA+B,EAAA;AAClD,UAAQ,OAAA,CAAA,IAAA,CAAK,iCAAiC,KAAK,CAAA;AACnD,UAAe,cAAA,CAAA,MAAA,CAAO,KAAK,CAAC,CAAA;AAAA,SACvB,MAAA;AACL,UAAQ,OAAA,CAAA,KAAA,CAAM,qCAAqC,KAAK,CAAA;AACxD,UAAe,cAAA,CAAA,MAAA,CAAO,KAAK,CAAC,CAAA;AAAA;AAC9B;AACF,KACC,GAAA;AAAA,GACF,EAAA,CAAC,KAAO,EAAA,KAAA,EAAO,cAAc,CAAC,CAAA;AAEjC,EAAO,OAAA,WAAA;AACT","file":"chunk-OXDKVZZ5.cjs","sourcesContent":["import { useEffect, useMemo, useState } from 'react'\n\nimport { DisplayTextService, type ServiceMappings } from '@/services/displayText'\nimport { DisplayTextValueNotFoundError } from '@/types/displayText.errors'\n\nexport const useDisplayText = (\n scope: keyof ServiceMappings,\n value: string | string[] | undefined | null\n) => {\n const [displayText, setDisplayText] = useState('')\n const displayService = useMemo(() => new DisplayTextService(), [])\n\n useEffect(() => {\n if (!displayService || !value) {\n setDisplayText('')\n return\n }\n void (async () => {\n try {\n const result = await displayService.getDisplayText(scope, value)\n if (typeof result === 'string') {\n setDisplayText(result)\n } else {\n console.error('Expected a string result, but got:', result)\n }\n } catch (error) {\n if (error instanceof DisplayTextValueNotFoundError) {\n console.warn('Display text value not found:', value)\n setDisplayText(String(value))\n } else {\n console.error('Unexpected error formatting text:', error)\n setDisplayText(String(value))\n }\n }\n })()\n }, [scope, value, displayService])\n\n return displayText\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { defaultMappings } from './chunk-TCV6N3EK.js';
2
1
  import { DisplayTextScopeNotFoundError, DisplayTextValueNotFoundError } from './chunk-YB2USB4M.js';
2
+ import { defaultMappings } from './chunk-TCV6N3EK.js';
3
3
 
4
4
  // src/services/displayText.tsx
5
5
  var DisplayTextService = class {
@@ -31,5 +31,5 @@ var DisplayTextService = class {
31
31
  };
32
32
 
33
33
  export { DisplayTextService };
34
- //# sourceMappingURL=chunk-4E3ANVRR.js.map
35
- //# sourceMappingURL=chunk-4E3ANVRR.js.map
34
+ //# sourceMappingURL=chunk-OZJZVEF2.js.map
35
+ //# sourceMappingURL=chunk-OZJZVEF2.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/services/displayText.tsx"],"names":["displayTexts"],"mappings":";;;;AAiCO,IAAM,qBAAN,MAAwD;AAAA,EAI7D,YAAY,cAA2C,EAAA;AAHvD,IAAA,IAAA,CAAiB,eAAqC,GAAA,IAAA;AAIpD,IAAA,IAAA,CAAK,QAAW,GAAA;AAAA,MACd,GAAG,eAAA;AAAA;AAAA,MACH,GAAG;AAAA;AAAA,KACL;AAAA;AACF,EAEA,MAAM,cACJ,CAAA,KAAA,EACA,KACA,EAAA,QAAA,GAA8B,KAAK,eAClB,EAAA;AACjB,IAAM,MAAA,YAAA,GAAe,IAAK,CAAA,QAAA,CAAS,KAAK,CAAA;AAExC,IAAA,IAAI,CAAC,YAAc,EAAA;AACjB,MAAM,MAAA,IAAI,8BAA8B,KAAK,CAAA;AAAA;AAG/C,IAAI,IAAA,KAAA,CAAM,OAAQ,CAAA,KAAK,CAAG,EAAA;AACxB,MAAM,MAAA,mBAAA,GAAsB,KAAM,CAAA,GAAA,CAAI,CAAC,CAAA,KAAM,KAAK,cAAe,CAAA,KAAA,EAAO,CAAG,EAAA,QAAQ,CAAC,CAAA;AACpF,MAAA,MAAMA,aAAe,GAAA,MAAM,OAAQ,CAAA,GAAA,CAAI,mBAAmB,CAAA;AAC1D,MAAOA,OAAAA,aAAAA,CAAa,OAAO,CAAC,CAAA,KAAM,CAAC,CAAC,CAAC,CAAE,CAAA,IAAA,CAAK,IAAI,CAAA;AAAA;AAGlD,IAAM,MAAA,YAAA,GAAe,aAAa,KAAK,CAAA;AAEvC,IAAA,IAAI,CAAC,YAAc,EAAA;AACjB,MAAM,MAAA,IAAI,6BAA8B,CAAA,KAAA,EAAO,KAAK,CAAA;AAAA;AAGtD,IAAA,OAAO,aAAa,QAAQ,CAAA,IAAK,YAAa,CAAA,IAAA,CAAK,eAAe,CAAK,IAAA,KAAA;AAAA;AAE3E","file":"chunk-4E3ANVRR.js","sourcesContent":["import { type z } from 'zod'\n\nimport { defaultMappings } from '@/lib/mappings'\nimport {\n DisplayTextScopeNotFoundError,\n DisplayTextValueNotFoundError,\n} from '@/types/displayText.errors'\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst SUPPORTED_LANGUAGES = ['en'] as const\ntype SupportedLanguage = (typeof SUPPORTED_LANGUAGES)[number]\n\n// Define the display text configuration type for Zod enums\nexport type ServiceMappings = typeof defaultMappings\n\ntype ZodEnumValue<T> = T extends z.ZodEnum<[string, ...string[]]> ? z.infer<T> : never\n\nexport type DisplayTextConfig<T = string> = {\n [K in T extends z.ZodEnum<[string, ...string[]]> ? ZodEnumValue<T> : string]: {\n [L in SupportedLanguage]: string\n }\n} & Record<string, { [L in SupportedLanguage]: string }>\n\n// Define the expected interface for the service\nexport interface IDisplayTextService {\n getDisplayText: (\n scope: keyof ServiceMappings,\n value: string | string[],\n language?: SupportedLanguage\n ) => Promise<string>\n}\n\n// define the service\nexport class DisplayTextService implements IDisplayTextService {\n private readonly defaultLanguage: SupportedLanguage = 'en'\n private readonly mappings: ServiceMappings\n\n constructor(customMappings?: Partial<ServiceMappings>) {\n this.mappings = {\n ...defaultMappings, // Use all pre-defined mappings as defaults\n ...customMappings, // Override with any custom mappings if provided\n }\n }\n\n async getDisplayText(\n scope: keyof ServiceMappings,\n value: string | string[],\n language: SupportedLanguage = this.defaultLanguage\n ): Promise<string> {\n const scopeMapping = this.mappings[scope]\n\n if (!scopeMapping) {\n throw new DisplayTextScopeNotFoundError(scope)\n }\n\n if (Array.isArray(value)) {\n const displayTextPromises = value.map((v) => this.getDisplayText(scope, v, language))\n const displayTexts = await Promise.all(displayTextPromises)\n return displayTexts.filter((v) => !!v).join(', ')\n }\n\n const displayTexts = scopeMapping[value]\n\n if (!displayTexts) {\n throw new DisplayTextValueNotFoundError(value, scope)\n }\n\n return displayTexts[language] || displayTexts[this.defaultLanguage] || value\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/services/displayText.tsx"],"names":["displayTexts"],"mappings":";;;;AAiCO,IAAM,qBAAN,MAAwD;AAAA,EAI7D,YAAY,cAA2C,EAAA;AAHvD,IAAA,IAAA,CAAiB,eAAqC,GAAA,IAAA;AAIpD,IAAA,IAAA,CAAK,QAAW,GAAA;AAAA,MACd,GAAG,eAAA;AAAA;AAAA,MACH,GAAG;AAAA;AAAA,KACL;AAAA;AACF,EAEA,MAAM,cACJ,CAAA,KAAA,EACA,KACA,EAAA,QAAA,GAA8B,KAAK,eAClB,EAAA;AACjB,IAAM,MAAA,YAAA,GAAe,IAAK,CAAA,QAAA,CAAS,KAAK,CAAA;AAExC,IAAA,IAAI,CAAC,YAAc,EAAA;AACjB,MAAM,MAAA,IAAI,8BAA8B,KAAK,CAAA;AAAA;AAG/C,IAAI,IAAA,KAAA,CAAM,OAAQ,CAAA,KAAK,CAAG,EAAA;AACxB,MAAM,MAAA,mBAAA,GAAsB,KAAM,CAAA,GAAA,CAAI,CAAC,CAAA,KAAM,KAAK,cAAe,CAAA,KAAA,EAAO,CAAG,EAAA,QAAQ,CAAC,CAAA;AACpF,MAAA,MAAMA,aAAe,GAAA,MAAM,OAAQ,CAAA,GAAA,CAAI,mBAAmB,CAAA;AAC1D,MAAOA,OAAAA,aAAAA,CAAa,OAAO,CAAC,CAAA,KAAM,CAAC,CAAC,CAAC,CAAE,CAAA,IAAA,CAAK,IAAI,CAAA;AAAA;AAGlD,IAAM,MAAA,YAAA,GAAe,aAAa,KAAK,CAAA;AAEvC,IAAA,IAAI,CAAC,YAAc,EAAA;AACjB,MAAM,MAAA,IAAI,6BAA8B,CAAA,KAAA,EAAO,KAAK,CAAA;AAAA;AAGtD,IAAA,OAAO,aAAa,QAAQ,CAAA,IAAK,YAAa,CAAA,IAAA,CAAK,eAAe,CAAK,IAAA,KAAA;AAAA;AAE3E","file":"chunk-OZJZVEF2.js","sourcesContent":["import { type z } from 'zod'\n\nimport { defaultMappings } from '@/lib/mappings'\nimport {\n DisplayTextScopeNotFoundError,\n DisplayTextValueNotFoundError,\n} from '@/types/displayText.errors'\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst SUPPORTED_LANGUAGES = ['en'] as const\ntype SupportedLanguage = (typeof SUPPORTED_LANGUAGES)[number]\n\n// Define the display text configuration type for Zod enums\nexport type ServiceMappings = typeof defaultMappings\n\ntype ZodEnumValue<T> = T extends z.ZodEnum<[string, ...string[]]> ? z.infer<T> : never\n\nexport type DisplayTextConfig<T = string> = {\n [K in T extends z.ZodEnum<[string, ...string[]]> ? ZodEnumValue<T> : string]: {\n [L in SupportedLanguage]: string\n }\n} & Record<string, { [L in SupportedLanguage]: string }>\n\n// Define the expected interface for the service\nexport interface IDisplayTextService {\n getDisplayText: (\n scope: keyof ServiceMappings,\n value: string | string[],\n language?: SupportedLanguage\n ) => Promise<string>\n}\n\n// define the service\nexport class DisplayTextService implements IDisplayTextService {\n private readonly defaultLanguage: SupportedLanguage = 'en'\n private readonly mappings: ServiceMappings\n\n constructor(customMappings?: Partial<ServiceMappings>) {\n this.mappings = {\n ...defaultMappings, // Use all pre-defined mappings as defaults\n ...customMappings, // Override with any custom mappings if provided\n }\n }\n\n async getDisplayText(\n scope: keyof ServiceMappings,\n value: string | string[],\n language: SupportedLanguage = this.defaultLanguage\n ): Promise<string> {\n const scopeMapping = this.mappings[scope]\n\n if (!scopeMapping) {\n throw new DisplayTextScopeNotFoundError(scope)\n }\n\n if (Array.isArray(value)) {\n const displayTextPromises = value.map((v) => this.getDisplayText(scope, v, language))\n const displayTexts = await Promise.all(displayTextPromises)\n return displayTexts.filter((v) => !!v).join(', ')\n }\n\n const displayTexts = scopeMapping[value]\n\n if (!displayTexts) {\n throw new DisplayTextValueNotFoundError(value, scope)\n }\n\n return displayTexts[language] || displayTexts[this.defaultLanguage] || value\n }\n}\n"]}
@@ -1,10 +1,10 @@
1
1
  import { ListItem_default } from './chunk-QURNDLRE.js';
2
- import { Badge } from './chunk-TVYLTYUK.js';
3
2
  import { Label_default } from './chunk-CAGLLWPR.js';
4
3
  import { ErrorMessage_default } from './chunk-CWTO3NXW.js';
5
4
  import { Popover, PopoverTrigger, PopoverContent } from './chunk-ODHIUBLC.js';
6
5
  import { Separator } from './chunk-FNCPK4RH.js';
7
- import { Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem } from './chunk-62OBBM7T.js';
6
+ import { Badge } from './chunk-TVYLTYUK.js';
7
+ import { Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem } from './chunk-SNHRG4TY.js';
8
8
  import { cn } from './chunk-2FGZQI42.js';
9
9
  import { cva } from 'cva';
10
10
  import { icons, ChevronDownIcon, CircleX } from 'lucide-react';
@@ -64,7 +64,7 @@ var Combobox = forwardRef((props, ref) => {
64
64
  };
65
65
  const handleSelect = (value2) => {
66
66
  const option = options.find((o) => o.value === value2);
67
- if (!option) return;
67
+ if (!option || option.disabled) return;
68
68
  isUserUpdate.current = true;
69
69
  if (multiselect) {
70
70
  setSelected((prev) => updateMultiSelect(prev, option));
@@ -118,7 +118,7 @@ var Combobox = forwardRef((props, ref) => {
118
118
  {
119
119
  className: cn(
120
120
  "w-full truncate leading-normal",
121
- isDefault && isEmpty && "text-grey-40"
121
+ isDefault && isEmpty && "text-grey-50"
122
122
  ),
123
123
  children: handleDisplayValue()
124
124
  }
@@ -150,11 +150,13 @@ var Combobox = forwardRef((props, ref) => {
150
150
  !hideSearchBox && /* @__PURE__ */ jsx(CommandInput, { placeholder: "Search..." }),
151
151
  /* @__PURE__ */ jsxs(CommandList, { children: [
152
152
  /* @__PURE__ */ jsx(CommandEmpty, { children: "No results" }),
153
- /* @__PURE__ */ jsx(CommandGroup, { children: options.map(({ id: id2, ...option }) => /* @__PURE__ */ jsx(
153
+ /* @__PURE__ */ jsx(CommandGroup, { children: options.map(({ id: id2, disabled, ...option }) => /* @__PURE__ */ jsx(
154
154
  CommandItem,
155
155
  {
156
156
  value: option.title,
157
+ disabled,
157
158
  onSelect: () => handleSelect(option.value),
159
+ className: cn(disabled && "cursor-not-allowed opacity-50"),
158
160
  children: /* @__PURE__ */ jsx(
159
161
  ListItem_default,
160
162
  {
@@ -189,7 +191,7 @@ var Combobox = forwardRef((props, ref) => {
189
191
  });
190
192
  Combobox.displayName = "Combobox";
191
193
  var triggerVariants = cva(
192
- "group relative cursor-pointer text-green-100 flex flex-row items-center justify-between gap-2 border border-grey-20 focus:outline-green-80 disabled:bg-grey-5",
194
+ "group relative cursor-pointer text-grey-80 flex flex-row items-center justify-between gap-2 border border-grey-20 focus:outline-green-80 disabled:bg-grey-5",
193
195
  {
194
196
  variants: {
195
197
  variant: {
@@ -204,7 +206,8 @@ var triggerVariants = cva(
204
206
  size: {
205
207
  small: ["h-8", "py-1", "px-2", "text-xs"],
206
208
  normal: ["h-9", "py-2", "px-3", "text-sm"],
207
- large: ["h-10", "py-3", "px-4", "text-base"]
209
+ large: ["h-10", "py-2", "px-4", "text-base"],
210
+ xlarge: ["h-11", "py-3", "px-4", "text-base"]
208
211
  }
209
212
  },
210
213
  defaultVariants: {
@@ -215,5 +218,5 @@ var triggerVariants = cva(
215
218
  );
216
219
 
217
220
  export { Combobox };
218
- //# sourceMappingURL=chunk-Z5PEOX6F.js.map
219
- //# sourceMappingURL=chunk-Z5PEOX6F.js.map
221
+ //# sourceMappingURL=chunk-PU4O76IS.js.map
222
+ //# sourceMappingURL=chunk-PU4O76IS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ui/Combobox.tsx"],"names":["value","id"],"mappings":"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","file":"chunk-PU4O76IS.js","sourcesContent":["'use client'\n\nimport { cva, type VariantProps } from 'cva'\nimport { ChevronDownIcon, CircleX, icons } from 'lucide-react'\nimport { type ComponentProps, forwardRef, useEffect, useRef, useState } from 'react'\n\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '@/components/primitives/command'\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/primitives/popover'\nimport { Separator } from '@/components/primitives/separator'\nimport { Badge } from '@/components/ui/Badge'\nimport ErrorMessage from '@/components/ui/ErrorMessage'\nimport Label from '@/components/ui/Label'\nimport ListItem from '@/components/ui/ListItem'\nimport { cn } from '@/lib/utils'\n\ntype Icon = { icon?: keyof typeof icons }\ntype LabelProps = { label?: string; description?: string }\ntype Children = { children?: (props: { close: () => void }) => JSX.Element }\ntype Option = {\n id: string\n value: string\n title: string\n description?: string\n icon?: string\n disabled?: boolean\n}\ntype ClassNames = { label?: string; trigger?: string; items?: string; content?: string }\ntype Shared = { options: Option[]; classNames?: ClassNames; placeholder?: string; error?: string }\ntype MultiSelect = { multiselect: true; value?: string[]; onChange?: (v: string[]) => void }\ntype SingleSelect = { multiselect?: false; value?: string; onChange?: (v: string) => void }\ntype TriggerVariants = VariantProps<typeof triggerVariants>\ntype SelectProps = Omit<ComponentProps<'select'>, 'value' | 'onChange' | 'size' | 'children'>\ntype Props = TriggerVariants & SelectProps & Children & Shared & Icon & LabelProps\ntype MultiSelectProps = Props & MultiSelect\ntype SingleSelectProps = Props & SingleSelect\ntype ComboboxProps = MultiSelectProps | SingleSelectProps\n\nexport const Combobox = forwardRef<HTMLDivElement, ComboboxProps>((props, ref) => {\n const {\n id,\n name,\n value,\n label,\n options,\n required,\n description,\n classNames,\n multiselect,\n placeholder,\n error,\n variant = 'default',\n size,\n icon,\n className,\n onChange: handleChange,\n children: footer,\n } = props\n const [selected, setSelected] = useState<Option[]>([])\n const [open, setOpen] = useState(false)\n const isUserUpdate = useRef(false)\n const IconComponent = icon && icons[icon]\n const hideSearchBox = options?.length <= 5\n const isDefault = variant === 'default'\n const isChip = variant === 'chip'\n const isEmpty = selected.length === 0\n const showChevron = isDefault ? isEmpty : true\n const close = () => setOpen(false)\n\n useEffect(() => {\n if (!isUserUpdate.current) {\n const valueArray = multiselect ? (value ?? []) : value ? [value] : []\n setSelected(\n valueArray.map((v) => options.find((o) => o.value === v)).filter((v) => v !== undefined)\n )\n }\n }, [value, options, multiselect])\n\n useEffect(() => {\n if (isUserUpdate.current) {\n if (multiselect) {\n handleChange?.(selected.map((o) => o.value))\n } else {\n handleChange?.(selected[0]?.value ?? '')\n }\n isUserUpdate.current = false\n }\n }, [selected, multiselect, handleChange])\n\n const updateMultiSelect = (prev: Option[], option: Option) => {\n return prev.some((o) => o.value === option.value)\n ? prev.filter((v) => v !== option)\n : [...prev, option]\n }\n\n const handleSelect = (value: string) => {\n const option = options.find((o) => o.value === value)\n if (!option || option.disabled) return\n\n isUserUpdate.current = true\n if (multiselect) {\n setSelected((prev) => updateMultiSelect(prev, option))\n } else {\n setSelected([option])\n close()\n }\n }\n\n const handleClear = () => {\n isUserUpdate.current = true\n setSelected([])\n }\n\n const handleDisplayValue = () => {\n const defaultLabel = !isEmpty ? selected.map((s) => s.title).join(', ') : placeholder\n return isDefault ? defaultLabel : label\n }\n\n return (\n <div className={cn('flex flex-col gap-1', className)}>\n {isDefault && (\n <Label\n text={label}\n htmlFor={name}\n required={required}\n description={description}\n className={classNames?.label}\n />\n )}\n\n <div className=\"relative flex\">\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger\n asChild\n disabled={options.length === 0}\n data-testid={`${id ?? name}-combobox-trigger`}\n >\n <div\n ref={ref}\n className={cn(\n triggerVariants({ variant, size }),\n isDefault && !isEmpty && 'pr-10',\n classNames?.trigger\n )}\n aria-expanded={open}\n >\n {isDefault && IconComponent && <IconComponent className=\"h-4 w-4 shrink-0\" />}\n {isChip && !isEmpty && <Badge variant=\"purple\">{selected.length}</Badge>}\n\n <span\n className={cn(\n 'w-full truncate leading-normal',\n isDefault && isEmpty && 'text-grey-50'\n )}\n >\n {handleDisplayValue()}\n </span>\n\n {showChevron && (\n <ChevronDownIcon\n className=\"shrink-0 transform group-data-[state=open]:rotate-180\"\n size=\"16\"\n />\n )}\n </div>\n </PopoverTrigger>\n\n <PopoverContent\n className={cn(\n 'flex w-full max-w-xs flex-col overflow-hidden p-0',\n 'max-h-[--radix-popover-content-available-height]',\n classNames?.content\n )}\n collisionPadding={8}\n sideOffset={4}\n align=\"start\"\n >\n <Command>\n {!hideSearchBox && <CommandInput placeholder=\"Search...\" />}\n\n <CommandList>\n <CommandEmpty>No results</CommandEmpty>\n <CommandGroup>\n {options.map(({ id, disabled, ...option }) => (\n <CommandItem\n key={id}\n value={option.title}\n disabled={disabled}\n onSelect={() => handleSelect(option.value)}\n className={cn(disabled && 'cursor-not-allowed opacity-50')}\n >\n <ListItem\n className={cn(classNames?.items, 'truncate py-1')}\n isSelected={selected.some((s) => s.value === option.value)}\n hasCheckbox={multiselect}\n {...option}\n />\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n\n {!!footer && <Separator />}\n {footer && footer({ close })}\n </Command>\n </PopoverContent>\n </Popover>\n\n {isDefault && !isEmpty && (\n <button\n type=\"button\"\n className=\"absolute inset-y-0 right-1 my-auto flex h-8 w-8 cursor-pointer items-center justify-center rounded-full hover:bg-pickle-20\"\n onClick={handleClear}\n >\n <CircleX className=\"h-4 w-4 text-green-100\" />\n </button>\n )}\n </div>\n\n <ErrorMessage message={error} />\n </div>\n )\n})\nCombobox.displayName = 'Combobox'\n\nconst triggerVariants = cva(\n 'group relative cursor-pointer text-grey-80 flex flex-row items-center justify-between gap-2 border border-grey-20 focus:outline-green-80 disabled:bg-grey-5',\n {\n variants: {\n variant: {\n default: ['w-full', 'rounded-lg'],\n chip: [\n 'font-bold',\n 'rounded-3xl',\n 'data-[state=open]:bg-black',\n 'data-[state=open]:text-white',\n ],\n },\n size: {\n small: ['h-8', 'py-1', 'px-2', 'text-xs'],\n normal: ['h-9', 'py-2', 'px-3', 'text-sm'],\n large: ['h-10', 'py-2', 'px-4', 'text-base'],\n xlarge: ['h-11', 'py-3', 'px-4', 'text-base'],\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'normal',\n },\n }\n)\n"]}
@@ -0,0 +1,73 @@
1
+ import { ErrorMessage_default } from './chunk-CWTO3NXW.js';
2
+ import { cn } from './chunk-2FGZQI42.js';
3
+ import * as SwitchPrimitive from '@radix-ui/react-switch';
4
+ import { cva } from 'cva';
5
+ import { forwardRef } from 'react';
6
+ import { jsxs, jsx } from 'react/jsx-runtime';
7
+
8
+ var switchRootVariants = cva(
9
+ "relative cursor-default rounded-full bg-grey-20 shadow-md outline-none focus:outline-purple-100 data-[state=checked]:bg-green-90",
10
+ {
11
+ variants: {
12
+ size: {
13
+ small: "h-[20px] w-[34px]",
14
+ normal: "h-[25px] w-[42px]",
15
+ large: "h-[30px] w-[50px]"
16
+ }
17
+ },
18
+ defaultVariants: {
19
+ size: "normal"
20
+ }
21
+ }
22
+ );
23
+ var switchThumbVariants = cva(
24
+ "block rounded-full bg-white shadow-[0_2px_2px] transition-transform duration-100 will-change-transform",
25
+ {
26
+ variants: {
27
+ size: {
28
+ small: "h-[16px] w-[16px] translate-x-0.5 data-[state=checked]:translate-x-[15px]",
29
+ normal: "h-[21px] w-[21px] translate-x-0.5 data-[state=checked]:translate-x-[19px]",
30
+ large: "h-[26px] w-[26px] translate-x-0.5 data-[state=checked]:translate-x-[22px]"
31
+ }
32
+ },
33
+ defaultVariants: {
34
+ size: "normal"
35
+ }
36
+ }
37
+ );
38
+ var switchLabelVariants = cva("leading-none text-grey-80", {
39
+ variants: {
40
+ size: {
41
+ small: "pl-3 text-xs",
42
+ normal: "pl-4 text-sm",
43
+ large: "pl-4 text-base"
44
+ }
45
+ },
46
+ defaultVariants: {
47
+ size: "normal"
48
+ }
49
+ });
50
+ var Switch = forwardRef(
51
+ ({ label, error, className, size, ...props }, ref) => {
52
+ return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center", props.disabled && "opacity-50"), children: [
53
+ /* @__PURE__ */ jsx(
54
+ SwitchPrimitive.Root,
55
+ {
56
+ className: cn(switchRootVariants({ size }), className),
57
+ ref,
58
+ ...props,
59
+ children: /* @__PURE__ */ jsx(SwitchPrimitive.Thumb, { className: switchThumbVariants({ size }) })
60
+ }
61
+ ),
62
+ label && /* @__PURE__ */ jsxs("label", { className: switchLabelVariants({ size }), htmlFor: props.name, children: [
63
+ label,
64
+ /* @__PURE__ */ jsx(ErrorMessage_default, { message: error, className: "mt-1" })
65
+ ] })
66
+ ] });
67
+ }
68
+ );
69
+ Switch.displayName = "Switch";
70
+
71
+ export { Switch };
72
+ //# sourceMappingURL=chunk-PVW2B7IC.js.map
73
+ //# sourceMappingURL=chunk-PVW2B7IC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ui/Switch.tsx"],"names":[],"mappings":";;;;;;;AAOA,IAAM,kBAAqB,GAAA,GAAA;AAAA,EACzB,kIAAA;AAAA,EACA;AAAA,IACE,QAAU,EAAA;AAAA,MACR,IAAM,EAAA;AAAA,QACJ,KAAO,EAAA,mBAAA;AAAA,QACP,MAAQ,EAAA,mBAAA;AAAA,QACR,KAAO,EAAA;AAAA;AACT,KACF;AAAA,IACA,eAAiB,EAAA;AAAA,MACf,IAAM,EAAA;AAAA;AACR;AAEJ,CAAA;AAEA,IAAM,mBAAsB,GAAA,GAAA;AAAA,EAC1B,wGAAA;AAAA,EACA;AAAA,IACE,QAAU,EAAA;AAAA,MACR,IAAM,EAAA;AAAA,QACJ,KAAO,EAAA,2EAAA;AAAA,QACP,MAAQ,EAAA,2EAAA;AAAA,QACR,KAAO,EAAA;AAAA;AACT,KACF;AAAA,IACA,eAAiB,EAAA;AAAA,MACf,IAAM,EAAA;AAAA;AACR;AAEJ,CAAA;AAEA,IAAM,mBAAA,GAAsB,IAAI,2BAA6B,EAAA;AAAA,EAC3D,QAAU,EAAA;AAAA,IACR,IAAM,EAAA;AAAA,MACJ,KAAO,EAAA,cAAA;AAAA,MACP,MAAQ,EAAA,cAAA;AAAA,MACR,KAAO,EAAA;AAAA;AACT,GACF;AAAA,EACA,eAAiB,EAAA;AAAA,IACf,IAAM,EAAA;AAAA;AAEV,CAAC,CAAA;AASM,IAAM,MAAS,GAAA,UAAA;AAAA,EACpB,CAAC,EAAE,KAAO,EAAA,KAAA,EAAO,WAAW,IAAM,EAAA,GAAG,KAAM,EAAA,EAAG,GAAQ,KAAA;AACpD,IACE,uBAAA,IAAA,CAAC,SAAI,SAAW,EAAA,EAAA,CAAG,qBAAqB,KAAM,CAAA,QAAA,IAAY,YAAY,CACpE,EAAA,QAAA,EAAA;AAAA,sBAAA,GAAA;AAAA,QAAiB,eAAA,CAAA,IAAA;AAAA,QAAhB;AAAA,UACC,WAAW,EAAG,CAAA,kBAAA,CAAmB,EAAE,IAAK,EAAC,GAAG,SAAS,CAAA;AAAA,UACrD,GAAA;AAAA,UACC,GAAG,KAAA;AAAA,UAEJ,QAAA,kBAAA,GAAA,CAAiB,uBAAhB,EAAsB,SAAA,EAAW,oBAAoB,EAAE,IAAA,EAAM,CAAG,EAAA;AAAA;AAAA,OACnE;AAAA,MACC,KAAA,oBACE,IAAA,CAAA,OAAA,EAAA,EAAM,SAAW,EAAA,mBAAA,CAAoB,EAAE,IAAA,EAAM,CAAA,EAAG,OAAS,EAAA,KAAA,CAAM,IAC7D,EAAA,QAAA,EAAA;AAAA,QAAA,KAAA;AAAA,wBAEA,GAAA,CAAA,oBAAA,EAAA,EAAa,OAAS,EAAA,KAAA,EAAO,WAAU,MAAO,EAAA;AAAA,OACjD,EAAA;AAAA,KAEJ,EAAA,CAAA;AAAA;AAGN;AACA,MAAA,CAAO,WAAc,GAAA,QAAA","file":"chunk-PVW2B7IC.js","sourcesContent":["import * as SwitchPrimitive from '@radix-ui/react-switch'\nimport { cva, type VariantProps } from 'cva'\nimport { forwardRef } from 'react'\n\nimport ErrorMessage from '@/components/ui/ErrorMessage'\nimport { cn } from '@/lib/utils'\n\nconst switchRootVariants = cva(\n 'relative cursor-default rounded-full bg-grey-20 shadow-md outline-none focus:outline-purple-100 data-[state=checked]:bg-green-90',\n {\n variants: {\n size: {\n small: 'h-[20px] w-[34px]',\n normal: 'h-[25px] w-[42px]',\n large: 'h-[30px] w-[50px]',\n },\n },\n defaultVariants: {\n size: 'normal',\n },\n }\n)\n\nconst switchThumbVariants = cva(\n 'block rounded-full bg-white shadow-[0_2px_2px] transition-transform duration-100 will-change-transform',\n {\n variants: {\n size: {\n small: 'h-[16px] w-[16px] translate-x-0.5 data-[state=checked]:translate-x-[15px]',\n normal: 'h-[21px] w-[21px] translate-x-0.5 data-[state=checked]:translate-x-[19px]',\n large: 'h-[26px] w-[26px] translate-x-0.5 data-[state=checked]:translate-x-[22px]',\n },\n },\n defaultVariants: {\n size: 'normal',\n },\n }\n)\n\nconst switchLabelVariants = cva('leading-none text-grey-80', {\n variants: {\n size: {\n small: 'pl-3 text-xs',\n normal: 'pl-4 text-sm',\n large: 'pl-4 text-base',\n },\n },\n defaultVariants: {\n size: 'normal',\n },\n})\n\ntype SwitchVariants = VariantProps<typeof switchRootVariants>\n\ninterface Props extends SwitchPrimitive.SwitchProps, SwitchVariants {\n label?: string\n error?: string\n}\n\nexport const Switch = forwardRef<HTMLButtonElement, Props>(\n ({ label, error, className, size, ...props }, ref) => {\n return (\n <div className={cn('flex items-center', props.disabled && 'opacity-50')}>\n <SwitchPrimitive.Root\n className={cn(switchRootVariants({ size }), className)}\n ref={ref}\n {...props}\n >\n <SwitchPrimitive.Thumb className={switchThumbVariants({ size })} />\n </SwitchPrimitive.Root>\n {label && (\n <label className={switchLabelVariants({ size })} htmlFor={props.name}>\n {label}\n\n <ErrorMessage message={error} className=\"mt-1\" />\n </label>\n )}\n </div>\n )\n }\n)\nSwitch.displayName = 'Switch'\n"]}
@@ -4,6 +4,7 @@ import { Separator } from './chunk-FNCPK4RH.js';
4
4
  import { Chip_default } from './chunk-LQ4DG6ST.js';
5
5
  import { cn } from './chunk-2FGZQI42.js';
6
6
  import * as SelectPrimitive from '@radix-ui/react-select';
7
+ import { cva } from 'cva';
7
8
  import { ChevronDownIcon, X, CheckIcon } from 'lucide-react';
8
9
  import { forwardRef, useState, useRef, useEffect } from 'react';
9
10
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
@@ -21,6 +22,7 @@ var Select = forwardRef(
21
22
  id,
22
23
  children: footer,
23
24
  useAnchor = true,
25
+ size,
24
26
  ...props
25
27
  }, ref) => {
26
28
  const { value, defaultValue, dir, className, onChange, onOpenChange, ...rest } = props;
@@ -84,10 +86,7 @@ var Select = forwardRef(
84
86
  SelectPrimitive.Trigger,
85
87
  {
86
88
  ref,
87
- className: cn(
88
- "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",
89
- classNames?.trigger
90
- ),
89
+ className: cn(triggerVariants({ size }), classNames?.trigger),
91
90
  children: [
92
91
  /* @__PURE__ */ jsx("span", { className: "truncate", children: /* @__PURE__ */ jsx(
93
92
  SelectPrimitive.Value,
@@ -146,12 +145,14 @@ var Select = forwardRef(
146
145
  ),
147
146
  /* @__PURE__ */ jsx(Separator, {})
148
147
  ] }),
149
- options?.map(({ id: id2, title, value: value2, description: description2 }) => /* @__PURE__ */ jsxs(
148
+ options?.map(({ id: id2, title, value: value2, description: description2, disabled }) => /* @__PURE__ */ jsxs(
150
149
  SelectPrimitive.Item,
151
150
  {
152
151
  value: value2,
152
+ disabled,
153
153
  className: cn(
154
154
  "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",
155
+ disabled && "cursor-not-allowed opacity-50 hover:bg-transparent data-[state=checked]:bg-transparent",
155
156
  classNames?.item
156
157
  ),
157
158
  "data-state": selected.includes(value2) ? "checked" : "unchecked",
@@ -198,8 +199,24 @@ var Select = forwardRef(
198
199
  }
199
200
  );
200
201
  Select.displayName = "Select";
202
+ var triggerVariants = cva(
203
+ "group flex w-full flex-row items-center justify-between gap-3 rounded-lg border border-grey-20 font-normal text-grey-80 focus:outline-purple-100 disabled:bg-grey-5 data-[placeholder]:text-grey-50 data-[placeholder]:disabled:text-grey-40",
204
+ {
205
+ variants: {
206
+ size: {
207
+ small: "h-8 px-3 py-1 text-xs",
208
+ normal: "h-9 px-3 py-2 text-sm",
209
+ large: "h-10 px-4 py-2 text-base",
210
+ xlarge: "h-11 px-4 py-3 text-base"
211
+ }
212
+ },
213
+ defaultVariants: {
214
+ size: "normal"
215
+ }
216
+ }
217
+ );
201
218
  var Select_default = Select;
202
219
 
203
220
  export { Select_default };
204
- //# sourceMappingURL=chunk-EV54AFL4.js.map
205
- //# sourceMappingURL=chunk-EV54AFL4.js.map
221
+ //# sourceMappingURL=chunk-PWKRCU2K.js.map
222
+ //# sourceMappingURL=chunk-PWKRCU2K.js.map