@next-degree/pickle-shared-js 0.7.52 → 0.9.3

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 (110) hide show
  1. package/README.md +4 -2
  2. package/dist/components/jobPost/JobDescription.cjs +2 -1
  3. package/dist/components/jobPost/JobDescription.cjs.map +1 -1
  4. package/dist/components/jobPost/JobDescription.js +2 -1
  5. package/dist/components/jobPost/JobDescription.js.map +1 -1
  6. package/dist/components/jobPost/JobPost.cjs +2 -1
  7. package/dist/components/jobPost/JobPost.cjs.map +1 -1
  8. package/dist/components/jobPost/JobPost.d.cts +1 -1
  9. package/dist/components/jobPost/JobPost.d.ts +1 -1
  10. package/dist/components/jobPost/JobPost.js +2 -1
  11. package/dist/components/jobPost/JobPost.js.map +1 -1
  12. package/dist/components/primitives/command.d.cts +7 -7
  13. package/dist/components/primitives/command.d.ts +7 -7
  14. package/dist/components/primitives/input-otp.d.cts +2 -2
  15. package/dist/components/primitives/input-otp.d.ts +2 -2
  16. package/dist/components/primitives/radio-group.cjs +74 -0
  17. package/dist/components/primitives/radio-group.cjs.map +1 -0
  18. package/dist/components/primitives/radio-group.d.cts +9 -0
  19. package/dist/components/primitives/radio-group.d.ts +9 -0
  20. package/dist/components/primitives/radio-group.js +41 -0
  21. package/dist/components/primitives/radio-group.js.map +1 -0
  22. package/dist/components/ui/Button.cjs +2 -1
  23. package/dist/components/ui/Button.cjs.map +1 -1
  24. package/dist/components/ui/Button.d.cts +1 -1
  25. package/dist/components/ui/Button.d.ts +1 -1
  26. package/dist/components/ui/Button.js +2 -1
  27. package/dist/components/ui/Button.js.map +1 -1
  28. package/dist/components/ui/Checkbox.cjs +39 -14
  29. package/dist/components/ui/Checkbox.cjs.map +1 -1
  30. package/dist/components/ui/Checkbox.d.cts +2 -1
  31. package/dist/components/ui/Checkbox.d.ts +2 -1
  32. package/dist/components/ui/Checkbox.js +32 -12
  33. package/dist/components/ui/Checkbox.js.map +1 -1
  34. package/dist/components/ui/Combobox.cjs +63 -42
  35. package/dist/components/ui/Combobox.cjs.map +1 -1
  36. package/dist/components/ui/Combobox.js +54 -33
  37. package/dist/components/ui/Combobox.js.map +1 -1
  38. package/dist/components/ui/DatePicker.cjs +135 -149
  39. package/dist/components/ui/DatePicker.cjs.map +1 -1
  40. package/dist/components/ui/DatePicker.d.cts +4 -0
  41. package/dist/components/ui/DatePicker.d.ts +4 -0
  42. package/dist/components/ui/DatePicker.js +134 -148
  43. package/dist/components/ui/DatePicker.js.map +1 -1
  44. package/dist/components/ui/ListItem.cjs +41 -22
  45. package/dist/components/ui/ListItem.cjs.map +1 -1
  46. package/dist/components/ui/ListItem.js +37 -18
  47. package/dist/components/ui/ListItem.js.map +1 -1
  48. package/dist/components/ui/Radio.cjs +177 -0
  49. package/dist/components/ui/Radio.cjs.map +1 -0
  50. package/dist/components/ui/Radio.d.cts +27 -0
  51. package/dist/components/ui/Radio.d.ts +27 -0
  52. package/dist/components/ui/Radio.js +144 -0
  53. package/dist/components/ui/Radio.js.map +1 -0
  54. package/dist/components/ui/ReadMore.cjs +2 -1
  55. package/dist/components/ui/ReadMore.cjs.map +1 -1
  56. package/dist/components/ui/ReadMore.js +2 -1
  57. package/dist/components/ui/ReadMore.js.map +1 -1
  58. package/dist/components/ui/Select.cjs +48 -24
  59. package/dist/components/ui/Select.cjs.map +1 -1
  60. package/dist/components/ui/Select.js +49 -25
  61. package/dist/components/ui/Select.js.map +1 -1
  62. package/dist/components/ui/Switch.cjs +83 -0
  63. package/dist/components/ui/Switch.cjs.map +1 -0
  64. package/dist/components/ui/Switch.d.cts +10 -0
  65. package/dist/components/ui/Switch.d.ts +10 -0
  66. package/dist/components/ui/Switch.js +48 -0
  67. package/dist/components/ui/Switch.js.map +1 -0
  68. package/dist/components/ui/buttonShadcn.cjs +2 -9
  69. package/dist/components/ui/buttonShadcn.cjs.map +1 -1
  70. package/dist/components/ui/buttonShadcn.d.cts +2 -2
  71. package/dist/components/ui/buttonShadcn.d.ts +2 -2
  72. package/dist/components/ui/buttonShadcn.js +2 -9
  73. package/dist/components/ui/buttonShadcn.js.map +1 -1
  74. package/dist/components/ui/calendar.cjs +7 -17
  75. package/dist/components/ui/calendar.cjs.map +1 -1
  76. package/dist/components/ui/calendar.js +7 -17
  77. package/dist/components/ui/calendar.js.map +1 -1
  78. package/dist/{displayText-6TMMBOmQ.d.cts → displayText-ca_ofoAC.d.cts} +2 -2
  79. package/dist/{displayText-BCC_oy5I.d.ts → displayText-eoAHqSNz.d.ts} +2 -2
  80. package/dist/hooks/useDisplayText.d.cts +3 -3
  81. package/dist/hooks/useDisplayText.d.ts +3 -3
  82. package/dist/index.cjs +456 -327
  83. package/dist/index.cjs.map +1 -1
  84. package/dist/index.d.cts +12 -7
  85. package/dist/index.d.ts +12 -7
  86. package/dist/index.js +438 -309
  87. package/dist/index.js.map +1 -1
  88. package/dist/lib/locations.d.cts +2 -2
  89. package/dist/lib/locations.d.ts +2 -2
  90. package/dist/lib/mappings.d.cts +3 -3
  91. package/dist/lib/mappings.d.ts +3 -3
  92. package/dist/lib/salaryRange.d.cts +1 -1
  93. package/dist/lib/salaryRange.d.ts +1 -1
  94. package/dist/services/displayText.d.cts +3 -3
  95. package/dist/services/displayText.d.ts +3 -3
  96. package/dist/styles/globals.css +78 -0
  97. package/dist/styles/globals.css.map +1 -1
  98. package/dist/types/data/company_service_latest.d.cts +1 -1
  99. package/dist/types/data/company_service_latest.d.ts +1 -1
  100. package/dist/types/data/job_posting_service_latest.d.cts +1 -1
  101. package/dist/types/data/job_posting_service_latest.d.ts +1 -1
  102. package/dist/types/data/shared_pickle_output_latest.d.cts +1 -1
  103. package/dist/types/data/shared_pickle_output_latest.d.ts +1 -1
  104. package/package.json +7 -10
  105. package/dist/{company_service_latest-BUKbZgpZ.d.cts → company_service_latest-CRQFzMep.d.cts} +366 -366
  106. package/dist/{company_service_latest-BUKbZgpZ.d.ts → company_service_latest-CRQFzMep.d.ts} +366 -366
  107. package/dist/{job_posting_service_latest-2KcpupDl.d.cts → job_posting_service_latest-BOVbz68F.d.cts} +324 -324
  108. package/dist/{job_posting_service_latest-2KcpupDl.d.ts → job_posting_service_latest-BOVbz68F.d.ts} +324 -324
  109. package/dist/{shared_pickle_output_latest-D2n-PRlx.d.cts → shared_pickle_output_latest-DKOmTyYk.d.cts} +20 -20
  110. package/dist/{shared_pickle_output_latest-D2n-PRlx.d.ts → shared_pickle_output_latest-DKOmTyYk.d.ts} +20 -20
package/dist/index.cjs CHANGED
@@ -34,7 +34,7 @@ __export(index_exports, {
34
34
  BackButton: () => BackButton,
35
35
  Badge: () => Badge,
36
36
  Button: () => Button,
37
- Checkbox: () => Checkbox_default,
37
+ Checkbox: () => Checkbox,
38
38
  Chip: () => Chip_default,
39
39
  Combobox: () => Combobox,
40
40
  CompanyBenefits: () => CompanyBenefits,
@@ -55,9 +55,11 @@ __export(index_exports, {
55
55
  ListItem: () => ListItem_default,
56
56
  MapComponent: () => MapComponent_default,
57
57
  PlacesQueryInput: () => PlacesQueryInput_default,
58
+ Radio: () => Radio,
58
59
  ReadMore: () => ReadMore,
59
60
  Select: () => Select_default,
60
61
  SharedService: () => shared_pickle_output_latest_exports,
62
+ Switch: () => Switch,
61
63
  WindowHistoryProvider: () => WindowHistoryProvider,
62
64
  cn: () => cn,
63
65
  fetchLocation: () => fetchLocation,
@@ -66,76 +68,11 @@ __export(index_exports, {
66
68
  });
67
69
  module.exports = __toCommonJS(index_exports);
68
70
 
69
- // src/components/ui/Checkbox.tsx
70
- var CheckboxPrimitive = __toESM(require("@radix-ui/react-checkbox"), 1);
71
- var import_lucide_react = require("lucide-react");
72
- var import_react = require("react");
73
-
74
- // src/lib/utils.ts
75
- var import_clsx = require("clsx");
76
- var import_tailwind_merge = require("tailwind-merge");
77
- function cn(...inputs) {
78
- return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
79
- }
80
-
81
- // src/components/ui/Checkbox.tsx
82
- var import_jsx_runtime = require("react/jsx-runtime");
83
- var CheckboxToggle = (0, import_react.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
84
- CheckboxPrimitive.Root,
85
- {
86
- ref,
87
- className: cn(
88
- "group",
89
- "peer",
90
- "h-5",
91
- "w-5",
92
- "shrink-0",
93
- "rounded-md",
94
- "border",
95
- "border-grey-10",
96
- "outline",
97
- "outline-1",
98
- "outline-offset-2",
99
- "outline-transparent",
100
- "hover:border-grey-20",
101
- "focus:outline-purple-100",
102
- "active:border-green-80",
103
- "disabled:cursor-not-allowed",
104
- "disabled:opacity-50",
105
- "data-[state=checked]:bg-green-80",
106
- "data-[state=indeterminate]:bg-green-80",
107
- "data-[state=checked]:text-white",
108
- "data-[state=indeterminate]:text-primary-foreground",
109
- props.disabled && "data-[state=checked]:text-foreground bg-grey-20 data-[state=checked]:bg-grey-20",
110
- className
111
- ),
112
- ...props,
113
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(CheckboxPrimitive.Indicator, { className: "flex items-center justify-center text-current", children: [
114
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Check, { className: "hidden h-4 w-4 group-data-[state=checked]:block" }),
115
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Minus, { className: "hidden h-4 w-4 group-data-[state=indeterminate]:block" })
116
- ] })
117
- }
118
- ));
119
- CheckboxToggle.displayName = CheckboxPrimitive.Root.displayName;
120
- var Checkbox = (0, import_react.forwardRef)(
121
- ({ classNames, children, ...props }, ref) => {
122
- const { disabled } = props;
123
- const id = props.id ?? `${props.name ?? props.value?.toString()}-checkbox`;
124
- const labelClassName = disabled ? "text-grey-40 pointer-events-none" : "";
125
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: cn("flex space-x-2", classNames?.wrapper), children: [
126
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CheckboxToggle, { id, disabled, ref, ...props }),
127
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("label", { htmlFor: id, className: cn(labelClassName, classNames?.label), children })
128
- ] });
129
- }
130
- );
131
- Checkbox.displayName = "Checkbox";
132
- var Checkbox_default = Checkbox;
133
-
134
71
  // src/components/ui/Chip.tsx
135
72
  var import_cva = require("cva");
136
- var import_tailwind_merge2 = require("tailwind-merge");
137
- var import_jsx_runtime2 = require("react/jsx-runtime");
138
- var Chip = ({ className, variant, size, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: (0, import_tailwind_merge2.twMerge)(chipVariants({ variant, size, className })), ...props });
73
+ var import_tailwind_merge = require("tailwind-merge");
74
+ var import_jsx_runtime = require("react/jsx-runtime");
75
+ var Chip = ({ className, variant, size, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: (0, import_tailwind_merge.twMerge)(chipVariants({ variant, size, className })), ...props });
139
76
  var chipVariants = (0, import_cva.cva)(["flex", "items-center", "rounded-3xl", "border", "w-fit"], {
140
77
  variants: {
141
78
  variant: {
@@ -159,28 +96,35 @@ var Chip_default = Chip;
159
96
 
160
97
  // src/components/ui/Input.tsx
161
98
  var import_cva2 = require("cva");
162
- var import_lucide_react3 = require("lucide-react");
163
- var import_react2 = require("react");
99
+ var import_lucide_react2 = require("lucide-react");
100
+ var import_react = require("react");
101
+
102
+ // src/lib/utils.ts
103
+ var import_clsx = require("clsx");
104
+ var import_tailwind_merge2 = require("tailwind-merge");
105
+ function cn(...inputs) {
106
+ return (0, import_tailwind_merge2.twMerge)((0, import_clsx.clsx)(inputs));
107
+ }
164
108
 
165
109
  // src/components/ui/ErrorMessage.tsx
166
- var import_jsx_runtime3 = require("react/jsx-runtime");
110
+ var import_jsx_runtime2 = require("react/jsx-runtime");
167
111
  function ErrorMessage({ message, className, ...props }) {
168
112
  if (!message) return null;
169
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("p", { className: cn("px-1 text-xs text-red-600", className), ...props, children: message });
113
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("p", { className: cn("px-1 text-xs text-red-600", className), ...props, children: message });
170
114
  }
171
115
  var ErrorMessage_default = ErrorMessage;
172
116
 
173
117
  // src/components/ui/Label.tsx
174
- var import_lucide_react2 = require("lucide-react");
118
+ var import_lucide_react = require("lucide-react");
175
119
 
176
120
  // src/components/primitives/tooltip.tsx
177
121
  var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"), 1);
178
122
  var React = __toESM(require("react"), 1);
179
- var import_jsx_runtime4 = require("react/jsx-runtime");
123
+ var import_jsx_runtime3 = require("react/jsx-runtime");
180
124
  var TooltipProvider = TooltipPrimitive.Provider;
181
125
  var Tooltip = TooltipPrimitive.Root;
182
126
  var TooltipTrigger = TooltipPrimitive.Trigger;
183
- var TooltipContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
127
+ var TooltipContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
184
128
  TooltipPrimitive.Content,
185
129
  {
186
130
  ref,
@@ -195,11 +139,11 @@ var TooltipContent = React.forwardRef(({ className, sideOffset = 4, ...props },
195
139
  TooltipContent.displayName = TooltipPrimitive.Content.displayName;
196
140
 
197
141
  // src/components/ui/Label.tsx
198
- var import_jsx_runtime5 = require("react/jsx-runtime");
142
+ var import_jsx_runtime4 = require("react/jsx-runtime");
199
143
  function Label({ text, required, description, className, ...props }) {
200
144
  if (!text) return null;
201
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex w-full flex-row gap-1", children: [
202
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
145
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "flex w-full flex-row gap-1", children: [
146
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
203
147
  "label",
204
148
  {
205
149
  className: cn(
@@ -209,32 +153,32 @@ function Label({ text, required, description, className, ...props }) {
209
153
  ...props,
210
154
  children: [
211
155
  text,
212
- required && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: "text-red-600", children: "\xA0*" })
156
+ required && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "text-red-600", children: "\xA0*" })
213
157
  ]
214
158
  }
215
159
  ),
216
- !!description && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(TooltipProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(Tooltip, { children: [
217
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_lucide_react2.InfoIcon, { className: "h-4 w-4" }) }),
218
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(TooltipContent, { className: "max-w-48", children: description })
160
+ !!description && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(TooltipProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(Tooltip, { children: [
161
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_lucide_react.InfoIcon, { className: "h-4 w-4" }) }),
162
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(TooltipContent, { className: "max-w-48", children: description })
219
163
  ] }) })
220
164
  ] });
221
165
  }
222
166
  var Label_default = Label;
223
167
 
224
168
  // src/components/ui/Input.tsx
225
- var import_jsx_runtime6 = require("react/jsx-runtime");
226
- var Input = (0, import_react2.forwardRef)(
169
+ var import_jsx_runtime5 = require("react/jsx-runtime");
170
+ var Input = (0, import_react.forwardRef)(
227
171
  ({ label, error, description, theme, icon, onClear, value, onChange, classNames, ...props }, ref) => {
228
172
  const handleClear = () => {
229
173
  onChange?.({ target: { value: "" } });
230
174
  onClear?.();
231
175
  };
232
- const IconComponent = icon && import_lucide_react3.icons[icon];
176
+ const IconComponent = icon && import_lucide_react2.icons[icon];
233
177
  const placeholder = props.placeholder ?? (icon === "Search" ? "Search..." : "");
234
178
  const hasIcon = !!icon;
235
179
  const iconColor = theme === "dark" ? "text-white" : "text-grey-80";
236
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "group flex w-full flex-col gap-1", "data-testid": `input-wrapper-${props.id}`, children: [
237
- label && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
180
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "group flex w-full flex-col gap-1", "data-testid": `input-wrapper-${props.id}`, children: [
181
+ label && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
238
182
  Label_default,
239
183
  {
240
184
  text: label,
@@ -244,14 +188,14 @@ var Input = (0, import_react2.forwardRef)(
244
188
  className: classNames?.label
245
189
  }
246
190
  ),
247
- /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "relative flex flex-row items-center", children: [
248
- IconComponent && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
191
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "relative flex flex-row items-center", children: [
192
+ IconComponent && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
249
193
  IconComponent,
250
194
  {
251
195
  className: `absolute left-3 h-4 w-4 ${iconColor} opacity-50 group-hover:opacity-100`
252
196
  }
253
197
  ),
254
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
198
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
255
199
  "input",
256
200
  {
257
201
  className: cn(inputVariants({ theme, hasIcon })),
@@ -263,8 +207,8 @@ var Input = (0, import_react2.forwardRef)(
263
207
  ...props
264
208
  }
265
209
  ),
266
- hasIcon && value && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
267
- import_lucide_react3.X,
210
+ hasIcon && value && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
211
+ import_lucide_react2.X,
268
212
  {
269
213
  className: `absolute right-3 h-4 w-4 cursor-pointer ${iconColor}`,
270
214
  onClick: handleClear,
@@ -272,7 +216,7 @@ var Input = (0, import_react2.forwardRef)(
272
216
  }
273
217
  )
274
218
  ] }),
275
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(ErrorMessage_default, { message: error })
219
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ErrorMessage_default, { message: error })
276
220
  ] });
277
221
  }
278
222
  );
@@ -330,6 +274,75 @@ var Input_default = Input;
330
274
  // src/components/ui/ListItem.tsx
331
275
  var import_lucide_react4 = require("lucide-react");
332
276
  var import_lucide_react5 = require("lucide-react");
277
+
278
+ // src/components/ui/Checkbox.tsx
279
+ var CheckboxPrimitive = __toESM(require("@radix-ui/react-checkbox"), 1);
280
+ var import_lucide_react3 = require("lucide-react");
281
+ var import_react2 = require("react");
282
+ var import_jsx_runtime6 = require("react/jsx-runtime");
283
+ var CheckboxToggle = (0, import_react2.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
284
+ CheckboxPrimitive.Root,
285
+ {
286
+ ref,
287
+ className: cn(
288
+ "group",
289
+ "peer",
290
+ "h-5",
291
+ "w-5",
292
+ "shrink-0",
293
+ "rounded-md",
294
+ "border",
295
+ "border-grey-10",
296
+ "outline",
297
+ "outline-1",
298
+ "outline-offset-2",
299
+ "outline-transparent",
300
+ "hover:border-grey-20",
301
+ "focus:outline-purple-100",
302
+ "active:border-green-80",
303
+ "disabled:cursor-not-allowed",
304
+ "disabled:opacity-50",
305
+ "data-[state=checked]:bg-green-80",
306
+ "data-[state=indeterminate]:bg-green-80",
307
+ "data-[state=checked]:text-white",
308
+ "data-[state=indeterminate]:text-primary-foreground",
309
+ props.disabled && "bg-grey-20 data-[state=checked]:bg-grey-20 data-[state=checked]:text-foreground",
310
+ className
311
+ ),
312
+ ...props,
313
+ children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(CheckboxPrimitive.Indicator, { className: "flex items-center justify-center text-current", children: [
314
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_lucide_react3.Check, { className: "hidden h-4 w-4 group-data-[state=checked]:block" }),
315
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_lucide_react3.Minus, { className: "hidden h-4 w-4 group-data-[state=indeterminate]:block" })
316
+ ] })
317
+ }
318
+ ));
319
+ CheckboxToggle.displayName = CheckboxPrimitive.Root.displayName;
320
+ var Checkbox = (0, import_react2.forwardRef)(
321
+ ({ error, classNames, children, ...props }, ref) => {
322
+ const id = props.id ?? `${props.name ?? props.value?.toString()}-checkbox`;
323
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: cn("flex space-x-2", classNames?.wrapper), children: [
324
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(CheckboxToggle, { id, ref, ...props }),
325
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
326
+ "label",
327
+ {
328
+ htmlFor: id,
329
+ className: cn(
330
+ "text-sm",
331
+ props.disabled && "pointer-events-none text-grey-40",
332
+ classNames?.label
333
+ ),
334
+ children: [
335
+ children,
336
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(ErrorMessage_default, { message: error, className: "mt-1" })
337
+ ]
338
+ }
339
+ )
340
+ ] });
341
+ }
342
+ );
343
+ Checkbox.displayName = "Checkbox";
344
+
345
+ // src/components/ui/ListItem.tsx
333
346
  var import_jsx_runtime7 = require("react/jsx-runtime");
334
347
  function ListItem({
335
348
  icon,
@@ -360,7 +373,7 @@ function ListItem({
360
373
  "data-state": isSelected ? "checked" : "unchecked",
361
374
  children: [
362
375
  optionIcon && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "mr-2", children: optionIcon }),
363
- hasCheckbox && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Checkbox_default, { id: value, checked: isSelected, onClick: (e) => e.preventDefault() }),
376
+ hasCheckbox && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Checkbox, { id: value, checked: isSelected, onClick: (e) => e.preventDefault() }),
364
377
  /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { children: [
365
378
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("p", { children: title }),
366
379
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("p", { className: "text-xs text-grey-80", children: description })
@@ -754,7 +767,18 @@ Separator.displayName = SeparatorPrimitive.Root.displayName;
754
767
  // src/components/ui/Select.tsx
755
768
  var import_jsx_runtime13 = require("react/jsx-runtime");
756
769
  var Select = (0, import_react4.forwardRef)(
757
- ({ label, options, placeholder, multiselect, description, classNames, error, id, ...props }, ref) => {
770
+ ({
771
+ label,
772
+ options,
773
+ placeholder,
774
+ multiselect,
775
+ description,
776
+ classNames,
777
+ error,
778
+ id,
779
+ children: footer,
780
+ ...props
781
+ }, ref) => {
758
782
  const { value, defaultValue, dir, className, onChange, ...rest } = props;
759
783
  const [selected, setSelected] = (0, import_react4.useState)([]);
760
784
  const [open, setOpen] = (0, import_react4.useState)(false);
@@ -843,28 +867,30 @@ var Select = (0, import_react4.forwardRef)(
843
867
  onPointerDownOutside: toggleOpen,
844
868
  onKeyDown: closeOnEscape,
845
869
  children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(SelectPrimitive.Viewport, { children: [
846
- multiselect && !!chipLabels?.length && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
847
- SelectPrimitive.Group,
848
- {
849
- className: "mb-2 flex flex-row flex-wrap gap-1 px-2",
850
- "data-testid": "selected-labels",
851
- children: chipLabels?.map(
852
- (chip) => chip && /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Chip_default, { size: "small", variant: "primary", children: [
853
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { children: chip.title }),
854
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
855
- import_lucide_react9.X,
856
- {
857
- size: 18,
858
- "data-testid": `chip-remove-${chip.value}`,
859
- className: "cursor-pointer",
860
- onClick: () => handleChange(chip.value)
861
- }
862
- )
863
- ] }, chip.title)
864
- )
865
- }
866
- ),
867
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Separator, {}),
870
+ multiselect && !!chipLabels?.length && /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
871
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
872
+ SelectPrimitive.Group,
873
+ {
874
+ className: "mb-2 flex flex-row flex-wrap gap-1 px-2",
875
+ "data-testid": "selected-labels",
876
+ children: chipLabels?.map(
877
+ (chip) => chip && /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Chip_default, { size: "small", variant: "primary", children: [
878
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { children: chip.title }),
879
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
880
+ import_lucide_react9.X,
881
+ {
882
+ size: 18,
883
+ "data-testid": `chip-remove-${chip.value}`,
884
+ className: "cursor-pointer",
885
+ onClick: () => handleChange(chip.value)
886
+ }
887
+ )
888
+ ] }, chip.title)
889
+ )
890
+ }
891
+ ),
892
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Separator, {})
893
+ ] }),
868
894
  options?.map(({ id: id2, title, value: value2 }) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
869
895
  SelectPrimitive.Item,
870
896
  {
@@ -885,7 +911,18 @@ var Select = (0, import_react4.forwardRef)(
885
911
  ]
886
912
  },
887
913
  id2
888
- ))
914
+ )),
915
+ !!footer && /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
916
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Separator, {}),
917
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
918
+ SelectPrimitive.Group,
919
+ {
920
+ className: "mt-2 flex flex-row flex-wrap gap-1 px-2",
921
+ "data-testid": "selected-labels",
922
+ children: footer
923
+ }
924
+ )
925
+ ] })
889
926
  ] })
890
927
  }
891
928
  ) })
@@ -994,12 +1031,13 @@ var import_cva5 = require("cva");
994
1031
  var import_react5 = require("react");
995
1032
  var import_jsx_runtime17 = require("react/jsx-runtime");
996
1033
  var Button = (0, import_react5.forwardRef)(
997
- ({ className, variant, size, asChild = false, ...props }, ref) => {
1034
+ ({ className, variant, size, asChild = false, type = "button", ...props }, ref) => {
998
1035
  const Component = asChild ? import_react_slot.Slot : "button";
999
1036
  return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1000
1037
  Component,
1001
1038
  {
1002
1039
  className: cn(buttonVariants({ variant, size, className })),
1040
+ type,
1003
1041
  ref,
1004
1042
  ...props
1005
1043
  }
@@ -1317,15 +1355,114 @@ var triggerVariants = (0, import_cva6.cva)(
1317
1355
  }
1318
1356
  );
1319
1357
 
1358
+ // src/components/ui/Switch.tsx
1359
+ var SwitchPrimitive = __toESM(require("@radix-ui/react-switch"), 1);
1360
+ var import_react7 = require("react");
1361
+ var import_jsx_runtime20 = require("react/jsx-runtime");
1362
+ var Switch = (0, import_react7.forwardRef)(
1363
+ ({ label, error, className, ...props }, ref) => {
1364
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: cn("flex items-center", props.disabled && "opacity-50"), children: [
1365
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1366
+ SwitchPrimitive.Root,
1367
+ {
1368
+ className: cn(
1369
+ "relative h-[25px] w-[42px] cursor-default rounded-full bg-grey-20 shadow-md outline-none focus:outline-purple-100 data-[state=checked]:bg-green-90",
1370
+ className
1371
+ ),
1372
+ ref,
1373
+ ...props,
1374
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(SwitchPrimitive.Thumb, { className: "block h-[21px] w-[21px] translate-x-0.5 rounded-full bg-white shadow-[0_2px_2px] transition-transform duration-100 will-change-transform data-[state=checked]:translate-x-[19px]" })
1375
+ }
1376
+ ),
1377
+ label && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("label", { className: "pl-4 text-sm leading-none text-inherit", htmlFor: props.name, children: [
1378
+ label,
1379
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ErrorMessage_default, { message: error, className: "mt-1" })
1380
+ ] })
1381
+ ] });
1382
+ }
1383
+ );
1384
+ Switch.displayName = "Switch";
1385
+
1386
+ // src/components/ui/Radio.tsx
1387
+ var import_react9 = require("react");
1388
+
1389
+ // src/components/primitives/radio-group.tsx
1390
+ var RadioGroupPrimitive = __toESM(require("@radix-ui/react-radio-group"), 1);
1391
+ var import_react8 = require("react");
1392
+ var import_jsx_runtime21 = require("react/jsx-runtime");
1393
+ var RadioGroup = (0, import_react8.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(RadioGroupPrimitive.Root, { className, ...props, ref }));
1394
+ RadioGroup.displayName = RadioGroupPrimitive.Root.displayName;
1395
+ var RadioGroupItem = (0, import_react8.forwardRef)(({ className, children, ...props }, ref) => {
1396
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "group flex flex-row items-center gap-2", children: [
1397
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1398
+ RadioGroupPrimitive.Item,
1399
+ {
1400
+ ref,
1401
+ className: cn(
1402
+ "peer aspect-square h-4 rounded-full border border-grey-10 shadow outline outline-1 outline-offset-2 outline-transparent focus:outline-none focus:outline-purple-100 focus-visible:ring-1 focus-visible:ring-ring active:border-green-80 disabled:cursor-not-allowed disabled:opacity-50 group-hover:border-grey-20 data-[state=checked]:border-4 data-[disabled]:border-grey-20 data-[state=checked]:border-green-90 data-[disabled]:bg-grey-10 data-[state=checked]:group-hover:border-green-80",
1403
+ className
1404
+ ),
1405
+ ...props
1406
+ }
1407
+ ),
1408
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("label", { htmlFor: props.id, className: "text-sm peer-data-[disabled]:text-grey-40", children })
1409
+ ] });
1410
+ });
1411
+ RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
1412
+
1413
+ // src/components/ui/Radio.tsx
1414
+ var import_jsx_runtime22 = require("react/jsx-runtime");
1415
+ var Radio = (0, import_react9.forwardRef)(
1416
+ ({
1417
+ label,
1418
+ error,
1419
+ description,
1420
+ options,
1421
+ classNames,
1422
+ onChange: handleValueChange,
1423
+ orientation,
1424
+ ...props
1425
+ }, ref) => {
1426
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: cn("flex flex-col gap-1", classNames?.root), children: [
1427
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Label_default, { text: label, description, required: props.required }),
1428
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1429
+ RadioGroup,
1430
+ {
1431
+ ref,
1432
+ className: cn(
1433
+ "flex text-sm",
1434
+ orientation === "vertical" ? "flex-col gap-2" : "flex-row gap-4",
1435
+ classNames?.group
1436
+ ),
1437
+ onValueChange: handleValueChange,
1438
+ ...props,
1439
+ children: options?.map(({ id, title, value }) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1440
+ RadioGroupItem,
1441
+ {
1442
+ value,
1443
+ id: `radio-group-item-${title}`,
1444
+ className: classNames?.item,
1445
+ children: title
1446
+ },
1447
+ id
1448
+ ))
1449
+ }
1450
+ ),
1451
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ErrorMessage_default, { message: error })
1452
+ ] });
1453
+ }
1454
+ );
1455
+ Radio.displayName = "Radio";
1456
+
1320
1457
  // src/components/ui/Counter.tsx
1321
1458
  var import_cva7 = require("cva");
1322
1459
  var import_lucide_react11 = require("lucide-react");
1323
- var import_react7 = require("react");
1324
- var import_jsx_runtime20 = require("react/jsx-runtime");
1325
- var Counter = (0, import_react7.forwardRef)(
1460
+ var import_react10 = require("react");
1461
+ var import_jsx_runtime23 = require("react/jsx-runtime");
1462
+ var Counter = (0, import_react10.forwardRef)(
1326
1463
  ({ label, error, min, max, step = 1, description, theme, value, classNames, onChange, ...props }, ref) => {
1327
- const [count, setCount] = (0, import_react7.useState)(0);
1328
- (0, import_react7.useEffect)(() => {
1464
+ const [count, setCount] = (0, import_react10.useState)(0);
1465
+ (0, import_react10.useEffect)(() => {
1329
1466
  setCount(value ?? 0);
1330
1467
  }, [value]);
1331
1468
  const handleChange = (e) => {
@@ -1356,13 +1493,13 @@ var Counter = (0, import_react7.forwardRef)(
1356
1493
  onChange?.(newValue);
1357
1494
  setCount(newValue);
1358
1495
  };
1359
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
1496
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
1360
1497
  "div",
1361
1498
  {
1362
1499
  className: cn("flex w-auto flex-col gap-1", classNames?.root),
1363
1500
  "data-testid": `counter-wrapper-${props.id}`,
1364
1501
  children: [
1365
- label && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1502
+ label && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1366
1503
  Label_default,
1367
1504
  {
1368
1505
  text: label,
@@ -1372,17 +1509,17 @@ var Counter = (0, import_react7.forwardRef)(
1372
1509
  className: classNames?.label
1373
1510
  }
1374
1511
  ),
1375
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "relative flex w-[122px] flex-row items-center", children: [
1376
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1512
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "relative flex w-[122px] flex-row items-center", children: [
1513
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1377
1514
  "button",
1378
1515
  {
1379
1516
  type: "button",
1380
1517
  className: "absolute inset-y-0 left-1 my-auto flex h-8 w-8 cursor-pointer items-center justify-center rounded-full hover:bg-pickle-20",
1381
1518
  onClick: decrement,
1382
- children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react11.Minus, { className: "h-4 w-4 text-green-100" })
1519
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react11.Minus, { className: "h-4 w-4 text-green-100" })
1383
1520
  }
1384
1521
  ),
1385
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1522
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1386
1523
  "input",
1387
1524
  {
1388
1525
  className: cn(counterVariants({ theme }), classNames?.input),
@@ -1393,17 +1530,17 @@ var Counter = (0, import_react7.forwardRef)(
1393
1530
  ...props
1394
1531
  }
1395
1532
  ),
1396
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1533
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1397
1534
  "button",
1398
1535
  {
1399
1536
  type: "button",
1400
1537
  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",
1401
1538
  onClick: increment,
1402
- children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react11.Plus, { className: "h-4 w-4 text-green-100" })
1539
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react11.Plus, { className: "h-4 w-4 text-green-100" })
1403
1540
  }
1404
1541
  )
1405
1542
  ] }),
1406
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ErrorMessage_default, { message: error })
1543
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(ErrorMessage_default, { message: error })
1407
1544
  ]
1408
1545
  }
1409
1546
  );
@@ -1463,13 +1600,13 @@ var counterVariants = (0, import_cva7.cva)(
1463
1600
  // src/components/ui/Icon.tsx
1464
1601
  var import_react_slot2 = require("@radix-ui/react-slot");
1465
1602
  var import_cva8 = require("cva");
1466
- var import_react8 = require("react");
1603
+ var import_react11 = require("react");
1467
1604
  var import_tailwind_merge3 = require("tailwind-merge");
1468
- var import_jsx_runtime21 = require("react/jsx-runtime");
1469
- var Icon = (0, import_react8.forwardRef)(
1605
+ var import_jsx_runtime24 = require("react/jsx-runtime");
1606
+ var Icon = (0, import_react11.forwardRef)(
1470
1607
  ({ variant, size, active = false, readonly = false, className, ...props }, ref) => {
1471
1608
  const Component = readonly ? import_react_slot2.Slot : "button";
1472
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1609
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1473
1610
  Component,
1474
1611
  {
1475
1612
  className: cn(
@@ -1538,14 +1675,14 @@ var iconVariants = (0, import_cva8.cva)(
1538
1675
  );
1539
1676
 
1540
1677
  // src/components/ui/InputOtp.tsx
1541
- var import_react9 = require("react");
1678
+ var import_react12 = require("react");
1542
1679
 
1543
1680
  // src/components/primitives/input-otp.tsx
1544
1681
  var import_input_otp = require("input-otp");
1545
1682
  var import_lucide_react12 = require("lucide-react");
1546
1683
  var React8 = __toESM(require("react"), 1);
1547
- var import_jsx_runtime22 = require("react/jsx-runtime");
1548
- var InputOTP = React8.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1684
+ var import_jsx_runtime25 = require("react/jsx-runtime");
1685
+ var InputOTP = React8.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1549
1686
  import_input_otp.OTPInput,
1550
1687
  {
1551
1688
  ref,
@@ -1558,12 +1695,12 @@ var InputOTP = React8.forwardRef(({ className, containerClassName, ...props }, r
1558
1695
  }
1559
1696
  ));
1560
1697
  InputOTP.displayName = "InputOTP";
1561
- var InputOTPGroup = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { ref, className: cn("flex items-center", className), ...props }));
1698
+ var InputOTPGroup = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { ref, className: cn("flex items-center", className), ...props }));
1562
1699
  InputOTPGroup.displayName = "InputOTPGroup";
1563
1700
  var InputOTPSlot = React8.forwardRef(({ index, error, className, ...props }, ref) => {
1564
1701
  const inputOTPContext = React8.useContext(import_input_otp.OTPInputContext);
1565
1702
  const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
1566
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
1703
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
1567
1704
  "div",
1568
1705
  {
1569
1706
  ref,
@@ -1576,26 +1713,26 @@ var InputOTPSlot = React8.forwardRef(({ index, error, className, ...props }, ref
1576
1713
  ...props,
1577
1714
  children: [
1578
1715
  char,
1579
- hasFakeCaret && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "h-4 w-px animate-caret-blink bg-neutral-950 duration-1000 dark:bg-neutral-50" }) })
1716
+ hasFakeCaret && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "h-4 w-px animate-caret-blink bg-neutral-950 duration-1000 dark:bg-neutral-50" }) })
1580
1717
  ]
1581
1718
  }
1582
1719
  );
1583
1720
  });
1584
1721
  InputOTPSlot.displayName = "InputOTPSlot";
1585
- var InputOTPSeparator = React8.forwardRef(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react12.Dot, {}) }));
1722
+ var InputOTPSeparator = React8.forwardRef(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react12.Dot, {}) }));
1586
1723
  InputOTPSeparator.displayName = "InputOTPSeparator";
1587
1724
 
1588
1725
  // src/components/ui/InputOtp.tsx
1589
- var import_jsx_runtime23 = require("react/jsx-runtime");
1590
- var InputOtp = (0, import_react9.forwardRef)(
1726
+ var import_jsx_runtime26 = require("react/jsx-runtime");
1727
+ var InputOtp = (0, import_react12.forwardRef)(
1591
1728
  ({ digits, label, description, error, ...props }, ref) => {
1592
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
1729
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
1593
1730
  "div",
1594
1731
  {
1595
1732
  className: "group flex w-full flex-col gap-1",
1596
1733
  "data-testid": `input-otp-wrapper-${props.id}`,
1597
1734
  children: [
1598
- label && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1735
+ label && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1599
1736
  Label_default,
1600
1737
  {
1601
1738
  text: label,
@@ -1604,17 +1741,17 @@ var InputOtp = (0, import_react9.forwardRef)(
1604
1741
  description
1605
1742
  }
1606
1743
  ),
1607
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "relative flex flex-row items-center", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1744
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "relative flex flex-row items-center", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1608
1745
  InputOTP,
1609
1746
  {
1610
1747
  ref,
1611
1748
  maxLength: digits,
1612
1749
  "data-testid": `input-otp-element-${props.id}`,
1613
1750
  ...props,
1614
- children: [...Array(digits)].map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(InputOTPGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(InputOTPSlot, { index, error: Boolean(error) }) }, index))
1751
+ children: [...Array(digits)].map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(InputOTPGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(InputOTPSlot, { index, error: Boolean(error) }) }, index))
1615
1752
  }
1616
1753
  ) }),
1617
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(ErrorMessage_default, { message: error })
1754
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(ErrorMessage_default, { message: error })
1618
1755
  ]
1619
1756
  }
1620
1757
  );
@@ -1624,7 +1761,7 @@ InputOtp.displayName = "Input";
1624
1761
 
1625
1762
  // src/components/ui/LinkButton.tsx
1626
1763
  var import_link2 = __toESM(require("next/link"), 1);
1627
- var import_jsx_runtime24 = require("react/jsx-runtime");
1764
+ var import_jsx_runtime27 = require("react/jsx-runtime");
1628
1765
  var LinkButton = ({
1629
1766
  disabled = false,
1630
1767
  useAnchor = false,
@@ -1633,7 +1770,7 @@ var LinkButton = ({
1633
1770
  ...props
1634
1771
  }) => {
1635
1772
  const Component = useAnchor ? "a" : import_link2.default;
1636
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1773
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1637
1774
  Component,
1638
1775
  {
1639
1776
  href,
@@ -1646,13 +1783,13 @@ var LinkButton = ({
1646
1783
  };
1647
1784
 
1648
1785
  // src/components/ui/ReadMore.tsx
1649
- var import_react10 = require("react");
1786
+ var import_react13 = require("react");
1650
1787
  var import_react_markdown = __toESM(require("react-markdown"), 1);
1651
- var import_jsx_runtime25 = require("react/jsx-runtime");
1788
+ var import_jsx_runtime28 = require("react/jsx-runtime");
1652
1789
  function ReadMore({ text, ...props }) {
1653
- const [isExpanded, setIsExpanded] = (0, import_react10.useState)(false);
1654
- const [maxWords, setMaxWords] = (0, import_react10.useState)(160);
1655
- (0, import_react10.useEffect)(() => {
1790
+ const [isExpanded, setIsExpanded] = (0, import_react13.useState)(false);
1791
+ const [maxWords, setMaxWords] = (0, import_react13.useState)(160);
1792
+ (0, import_react13.useEffect)(() => {
1656
1793
  const updateMaxWords = () => {
1657
1794
  const windowWidth = window.innerWidth;
1658
1795
  if (windowWidth <= 768) {
@@ -1673,16 +1810,16 @@ function ReadMore({ text, ...props }) {
1673
1810
  }
1674
1811
  const toggleText = () => setIsExpanded(!isExpanded);
1675
1812
  const snippet = createReadMoreText(text, maxWords, isExpanded);
1676
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { ...props, children: [
1677
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { "data-testid": "read-more-text", className: "prose lg:prose-lg", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_markdown.default, { children: snippet }) }),
1678
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1813
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { ...props, children: [
1814
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { "data-testid": "read-more-text", className: "prose lg:prose-lg", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_react_markdown.default, { children: snippet }) }),
1815
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1679
1816
  Button,
1680
1817
  {
1681
1818
  type: "button",
1682
1819
  className: "mt-2 flex items-center justify-center",
1683
1820
  variant: "link",
1684
1821
  onClick: toggleText,
1685
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("p", { className: "text-sm font-bold underline underline-offset-2", children: [
1822
+ children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("p", { className: "text-sm font-bold underline underline-offset-2", children: [
1686
1823
  "Read ",
1687
1824
  isExpanded ? "less" : "more"
1688
1825
  ] })
@@ -1693,18 +1830,19 @@ function ReadMore({ text, ...props }) {
1693
1830
 
1694
1831
  // src/components/ui/DatePicker.tsx
1695
1832
  var import_cva9 = require("cva");
1696
- var import_react11 = require("react");
1697
1833
  var import_date_fns = require("date-fns");
1834
+ var import_lucide_react14 = require("lucide-react");
1835
+ var import_react14 = require("react");
1698
1836
 
1699
1837
  // src/components/ui/calendar.tsx
1700
1838
  var import_lucide_react13 = require("lucide-react");
1701
1839
  var import_react_day_picker = require("react-day-picker");
1702
1840
 
1703
1841
  // src/components/ui/buttonShadcn.tsx
1704
- var React9 = __toESM(require("react"), 1);
1705
1842
  var import_react_slot3 = require("@radix-ui/react-slot");
1706
1843
  var import_class_variance_authority = require("class-variance-authority");
1707
- var import_jsx_runtime26 = require("react/jsx-runtime");
1844
+ var React9 = __toESM(require("react"), 1);
1845
+ var import_jsx_runtime29 = require("react/jsx-runtime");
1708
1846
  var buttonVariants2 = (0, import_class_variance_authority.cva)(
1709
1847
  "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-neutral-950 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 dark:focus-visible:ring-neutral-300",
1710
1848
  {
@@ -1733,27 +1871,15 @@ var buttonVariants2 = (0, import_class_variance_authority.cva)(
1733
1871
  var Button2 = React9.forwardRef(
1734
1872
  ({ className, variant, size, asChild = false, ...props }, ref) => {
1735
1873
  const Comp = asChild ? import_react_slot3.Slot : "button";
1736
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1737
- Comp,
1738
- {
1739
- className: cn(buttonVariants2({ variant, size, className })),
1740
- ref,
1741
- ...props
1742
- }
1743
- );
1874
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Comp, { className: cn(buttonVariants2({ variant, size, className })), ref, ...props });
1744
1875
  }
1745
1876
  );
1746
1877
  Button2.displayName = "Button";
1747
1878
 
1748
1879
  // src/components/ui/calendar.tsx
1749
- var import_jsx_runtime27 = require("react/jsx-runtime");
1750
- function Calendar({
1751
- className,
1752
- classNames,
1753
- showOutsideDays = true,
1754
- ...props
1755
- }) {
1756
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1880
+ var import_jsx_runtime30 = require("react/jsx-runtime");
1881
+ function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
1882
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1757
1883
  import_react_day_picker.DayPicker,
1758
1884
  {
1759
1885
  showOutsideDays,
@@ -1793,8 +1919,8 @@ function Calendar({
1793
1919
  ...classNames
1794
1920
  },
1795
1921
  components: {
1796
- IconLeft: ({ className: className2, ...props2 }) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react13.ChevronLeft, { className: cn("h-4 w-4", className2), ...props2 }),
1797
- IconRight: ({ className: className2, ...props2 }) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react13.ChevronRight, { className: cn("h-4 w-4", className2), ...props2 })
1922
+ IconLeft: ({ className: className2, ...props2 }) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react13.ChevronLeft, { className: cn("h-4 w-4", className2), ...props2 }),
1923
+ IconRight: ({ className: className2, ...props2 }) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react13.ChevronRight, { className: cn("h-4 w-4", className2), ...props2 })
1798
1924
  },
1799
1925
  ...props
1800
1926
  }
@@ -1803,92 +1929,93 @@ function Calendar({
1803
1929
  Calendar.displayName = "Calendar";
1804
1930
 
1805
1931
  // src/components/ui/DatePicker.tsx
1806
- var import_lucide_react14 = require("lucide-react");
1807
- var import_jsx_runtime28 = require("react/jsx-runtime");
1808
- var DatePicker = (0, import_react11.forwardRef)(({ label, description, required, classNames, value, onChange, error }, ref) => {
1809
- const [date, setDate] = (0, import_react11.useState)(null);
1810
- (0, import_react11.useEffect)(() => {
1811
- setDate(value ?? null);
1812
- }, [value]);
1813
- const handleDateSelect = (dateSelected) => {
1814
- if (!dateSelected) return;
1815
- onChange?.(dateSelected);
1816
- setDate(dateSelected);
1817
- };
1818
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: cn("flex w-auto flex-col gap-1"), children: [
1819
- label && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1820
- Label_default,
1821
- {
1822
- text: label,
1823
- required,
1824
- description,
1825
- className: classNames?.label
1826
- }
1827
- ),
1828
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Popover, { children: [
1829
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(PopoverTrigger, { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: cn(datePickerStyle()), children: [
1830
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react14.Calendar, { size: 16 }),
1831
- date ? (0, import_date_fns.format)(date, "MM/dd/yyyy") : "Select a date"
1832
- ] }) }),
1833
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(PopoverContent, { ref, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1834
- Calendar,
1932
+ var import_jsx_runtime31 = require("react/jsx-runtime");
1933
+ var DatePicker = (0, import_react14.forwardRef)(
1934
+ ({ label, description, required, classNames, value, onChange, error, id, testId }, ref) => {
1935
+ const [date, setDate] = (0, import_react14.useState)(null);
1936
+ (0, import_react14.useEffect)(() => {
1937
+ setDate(value ?? null);
1938
+ }, [value]);
1939
+ const handleDateSelect = (dateSelected) => {
1940
+ if (!dateSelected) return;
1941
+ onChange?.(dateSelected);
1942
+ setDate(dateSelected);
1943
+ };
1944
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { id, className: cn("flex w-auto flex-col gap-1"), children: [
1945
+ label && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1946
+ Label_default,
1835
1947
  {
1836
- mode: "single",
1837
- selected: date || void 0,
1838
- onSelect: handleDateSelect,
1839
- captionLayout: "dropdown",
1840
- showOutsideDays: true
1948
+ text: label,
1949
+ required,
1950
+ description,
1951
+ className: classNames?.label
1841
1952
  }
1842
- ) })
1843
- ] }),
1844
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ErrorMessage_default, { message: error })
1845
- ] });
1846
- });
1847
- var datePickerStyle = (0, import_cva9.cva)(
1848
- [
1849
- "placeholder:text-muted-foreground",
1850
- "focus-visible:ring-ring",
1851
- "inline-flex",
1852
- "w-full",
1853
- "h-11",
1854
- "items-center",
1855
- "justify-start",
1856
- "gap-3",
1857
- "rounded-lg",
1858
- "bg-transparent",
1859
- "px-3",
1860
- "pt-0.5",
1861
- "text-sm",
1862
- "shadow-sm",
1863
- "ring-grey-50",
1864
- "transition-colors",
1865
- "focus-visible:outline-none",
1866
- "focus-visible:ring-1",
1867
- "disabled:cursor-not-allowed",
1868
- "disabled:opacity-50",
1869
- "appearance-none",
1870
- "[&::-webkit-search-cancel-button]:appearance-none",
1871
- "[&::-webkit-search-decoration]:appearance-none",
1872
- "[&::-webkit-search-results-button]:appearance-none",
1873
- "[&::-webkit-search-results-decoration]:appearance-none",
1874
- "[&::-ms-clear]:display-none",
1875
- "[&::-ms-reveal]:display-none",
1876
- "text-grey-80 border"
1877
- ]
1953
+ ),
1954
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(Popover, { children: [
1955
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(PopoverTrigger, { "data-testid": testId, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: cn(datePickerStyle(), classNames?.input), children: [
1956
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react14.Calendar, { size: 16 }),
1957
+ date ? (0, import_date_fns.format)(date, "MM/dd/yyyy") : "Select a date"
1958
+ ] }) }),
1959
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(PopoverContent, { ref, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1960
+ Calendar,
1961
+ {
1962
+ mode: "single",
1963
+ selected: date || void 0,
1964
+ onSelect: handleDateSelect,
1965
+ captionLayout: "dropdown",
1966
+ showOutsideDays: true,
1967
+ className: classNames?.calendar
1968
+ }
1969
+ ) })
1970
+ ] }),
1971
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(ErrorMessage_default, { message: error })
1972
+ ] });
1973
+ }
1878
1974
  );
1975
+ var datePickerStyle = (0, import_cva9.cva)([
1976
+ "placeholder:text-muted-foreground",
1977
+ "focus-visible:ring-ring",
1978
+ "inline-flex",
1979
+ "w-full",
1980
+ "h-11",
1981
+ "items-center",
1982
+ "justify-start",
1983
+ "gap-3",
1984
+ "rounded-lg",
1985
+ "bg-transparent",
1986
+ "px-3",
1987
+ "pt-0.5",
1988
+ "text-sm",
1989
+ "shadow-sm",
1990
+ "ring-grey-50",
1991
+ "transition-colors",
1992
+ "focus-visible:outline-none",
1993
+ "focus-visible:ring-1",
1994
+ "disabled:cursor-not-allowed",
1995
+ "disabled:opacity-50",
1996
+ "appearance-none",
1997
+ "[&::-webkit-search-cancel-button]:appearance-none",
1998
+ "[&::-webkit-search-decoration]:appearance-none",
1999
+ "[&::-webkit-search-results-button]:appearance-none",
2000
+ "[&::-webkit-search-results-decoration]:appearance-none",
2001
+ "[&::-ms-clear]:display-none",
2002
+ "[&::-ms-reveal]:display-none",
2003
+ "text-grey-80 border",
2004
+ "font-normal"
2005
+ ]);
1879
2006
 
1880
2007
  // src/components/company/CompanyBenefits.tsx
1881
- var import_jsx_runtime29 = require("react/jsx-runtime");
2008
+ var import_jsx_runtime32 = require("react/jsx-runtime");
1882
2009
  function CompanyBenefits({ benefits }) {
1883
2010
  if (!benefits) return null;
1884
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex flex-col gap-2", "data-testid": "company-benefits", children: [
1885
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("h2", { className: "break-word max-w-full text-xl font-bold text-black sm:max-w-2xl md:max-w-lg", children: "Company benefits" }),
1886
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("ul", { className: "flex flex-col gap-3", children: benefits.map((benefit, i) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("li", { className: "text-base text-grey-80", children: benefit }, `${benefit}-${i}`)) })
2011
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex flex-col gap-2", "data-testid": "company-benefits", children: [
2012
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("h2", { className: "break-word max-w-full text-xl font-bold text-black sm:max-w-2xl md:max-w-lg", children: "Company benefits" }),
2013
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("ul", { className: "flex flex-col gap-3", children: benefits.map((benefit, i) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("li", { className: "text-base text-grey-80", children: benefit }, `${benefit}-${i}`)) })
1887
2014
  ] });
1888
2015
  }
1889
2016
 
1890
2017
  // src/components/company/CompanyInformation.tsx
1891
- var import_jsx_runtime30 = require("react/jsx-runtime");
2018
+ var import_jsx_runtime33 = require("react/jsx-runtime");
1892
2019
  function CompanyInformation({
1893
2020
  name,
1894
2021
  how,
@@ -1896,8 +2023,8 @@ function CompanyInformation({
1896
2023
  wow,
1897
2024
  website
1898
2025
  }) {
1899
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex flex-col gap-2", children: [
1900
- /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
2026
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex flex-col gap-2", children: [
2027
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
1901
2028
  "h2",
1902
2029
  {
1903
2030
  "data-testid": "company-name",
@@ -1908,22 +2035,22 @@ function CompanyInformation({
1908
2035
  ]
1909
2036
  }
1910
2037
  ),
1911
- how && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("p", { "data-testid": "company-information", className: "text-base text-grey-80", children: how }),
1912
- mission && /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex gap-2", children: [
1913
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { children: "\u{1F680}" }),
1914
- /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("p", { className: "text-base text-grey-80", children: [
1915
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "pr-1 font-bold", children: "Mission" }),
2038
+ how && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("p", { "data-testid": "company-information", className: "text-base text-grey-80", children: how }),
2039
+ mission && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex gap-2", children: [
2040
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { children: "\u{1F680}" }),
2041
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("p", { className: "text-base text-grey-80", children: [
2042
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "pr-1 font-bold", children: "Mission" }),
1916
2043
  mission
1917
2044
  ] })
1918
2045
  ] }),
1919
- wow && /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex gap-2", children: [
1920
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { children: "\u{1F31F}" }),
1921
- /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("p", { className: "text-base text-grey-80", children: [
1922
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "pr-1 font-bold", children: "Wow Factor" }),
2046
+ wow && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex gap-2", children: [
2047
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { children: "\u{1F31F}" }),
2048
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("p", { className: "text-base text-grey-80", children: [
2049
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "pr-1 font-bold", children: "Wow Factor" }),
1923
2050
  wow
1924
2051
  ] })
1925
2052
  ] }),
1926
- website && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "pt-2", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
2053
+ website && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "pt-2", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1927
2054
  LinkButton,
1928
2055
  {
1929
2056
  "data-testid": "company-website-link",
@@ -1937,22 +2064,22 @@ function CompanyInformation({
1937
2064
  }
1938
2065
 
1939
2066
  // src/components/company/CompanyTake.tsx
1940
- var import_jsx_runtime31 = require("react/jsx-runtime");
2067
+ var import_jsx_runtime34 = require("react/jsx-runtime");
1941
2068
  function CompanyTake({ content, avatarSrc }) {
1942
2069
  if (!content) return null;
1943
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
2070
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
1944
2071
  "div",
1945
2072
  {
1946
2073
  "data-testid": "company-take",
1947
2074
  className: "align-center w-full justify-start rounded-2xl bg-green-90 p-6",
1948
2075
  children: [
1949
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-lg font-bold text-white sm:text-xl", children: "The Real Dill \u2618\uFE0F" }),
1950
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "mt-2 flex items-center justify-start", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-sm font-normal text-grey-10", children: content }) }),
1951
- /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "mt-8 flex w-full items-center gap-3", children: [
1952
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Avatar, { name: "Jon Lee", src: avatarSrc }),
1953
- /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex flex-col flex-wrap items-start", children: [
1954
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-sm font-bold text-white", children: "Jon Lee, PT, DPT, OCS, FAAOMPT, MBA" }),
1955
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-xs font-normal text-grey-30", children: "Pickle co-founder" })
2076
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("p", { className: "text-lg font-bold text-white sm:text-xl", children: "The Real Dill \u2618\uFE0F" }),
2077
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "mt-2 flex items-center justify-start", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("p", { className: "text-sm font-normal text-grey-10", children: content }) }),
2078
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "mt-8 flex w-full items-center gap-3", children: [
2079
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Avatar, { name: "Jon Lee", src: avatarSrc }),
2080
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "flex flex-col flex-wrap items-start", children: [
2081
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("p", { className: "text-sm font-bold text-white", children: "Jon Lee, PT, DPT, OCS, FAAOMPT, MBA" }),
2082
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("p", { className: "text-xs font-normal text-grey-30", children: "Pickle co-founder" })
1956
2083
  ] })
1957
2084
  ] })
1958
2085
  ]
@@ -1961,12 +2088,12 @@ function CompanyTake({ content, avatarSrc }) {
1961
2088
  }
1962
2089
 
1963
2090
  // src/components/jobPost/JobDescription.tsx
1964
- var import_jsx_runtime32 = require("react/jsx-runtime");
2091
+ var import_jsx_runtime35 = require("react/jsx-runtime");
1965
2092
  function JobDescription({ description }) {
1966
2093
  if (!description) return null;
1967
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex w-full flex-col gap-2", children: [
1968
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("h3", { className: "text-xl font-bold", children: "Job Description" }),
1969
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ReadMore, { text: description })
2094
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex w-full flex-col gap-2", children: [
2095
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("h3", { className: "text-xl font-bold", children: "Job Description" }),
2096
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ReadMore, { text: description })
1970
2097
  ] });
1971
2098
  }
1972
2099
 
@@ -1979,33 +2106,33 @@ var import_lucide_react15 = require("lucide-react");
1979
2106
  var import_navigation2 = require("next/navigation");
1980
2107
 
1981
2108
  // src/hooks/useWindowHistory.ts
1982
- var import_react13 = require("react");
2109
+ var import_react16 = require("react");
1983
2110
 
1984
2111
  // src/contexts/WindowHistoryProvider.tsx
1985
2112
  var import_navigation = require("next/navigation");
1986
- var import_react12 = require("react");
1987
- var import_jsx_runtime33 = require("react/jsx-runtime");
1988
- var WindowHistoryContext = (0, import_react12.createContext)({});
2113
+ var import_react15 = require("react");
2114
+ var import_jsx_runtime36 = require("react/jsx-runtime");
2115
+ var WindowHistoryContext = (0, import_react15.createContext)({});
1989
2116
  function WindowHistoryProvider({ children }) {
1990
- const [history, setHistory] = (0, import_react12.useState)([]);
2117
+ const [history, setHistory] = (0, import_react15.useState)([]);
1991
2118
  const searchParams = (0, import_navigation.useSearchParams)();
1992
- (0, import_react12.useEffect)(() => {
2119
+ (0, import_react15.useEffect)(() => {
1993
2120
  setHistory(
1994
2121
  (prev) => prev.at(-1) === window.location.href ? prev : [...prev, window.location.href]
1995
2122
  );
1996
2123
  }, [searchParams]);
1997
- const contextValue = (0, import_react12.useMemo)(() => ({ history }), [history]);
1998
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(WindowHistoryContext.Provider, { value: contextValue, children });
2124
+ const contextValue = (0, import_react15.useMemo)(() => ({ history }), [history]);
2125
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(WindowHistoryContext.Provider, { value: contextValue, children });
1999
2126
  }
2000
2127
 
2001
2128
  // src/hooks/useWindowHistory.ts
2002
2129
  function useWindowHistory() {
2003
- const windowHistoryContext = (0, import_react13.useContext)(WindowHistoryContext);
2130
+ const windowHistoryContext = (0, import_react16.useContext)(WindowHistoryContext);
2004
2131
  return windowHistoryContext;
2005
2132
  }
2006
2133
 
2007
2134
  // src/components/buttons/BackButton.tsx
2008
- var import_jsx_runtime34 = require("react/jsx-runtime");
2135
+ var import_jsx_runtime37 = require("react/jsx-runtime");
2009
2136
  function BackButton({ acceptedRoutes, fallbackHref, className, ...props }) {
2010
2137
  const { history } = useWindowHistory();
2011
2138
  const router = (0, import_navigation2.useRouter)();
@@ -2018,7 +2145,7 @@ function BackButton({ acceptedRoutes, fallbackHref, className, ...props }) {
2018
2145
  router.push(fallbackHref ?? "/");
2019
2146
  }
2020
2147
  };
2021
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
2148
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
2022
2149
  Icon,
2023
2150
  {
2024
2151
  "aria-label": "back button",
@@ -2027,7 +2154,7 @@ function BackButton({ acceptedRoutes, fallbackHref, className, ...props }) {
2027
2154
  onClick: goBack,
2028
2155
  className,
2029
2156
  ...props,
2030
- children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_lucide_react15.X, {})
2157
+ children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_lucide_react15.X, {})
2031
2158
  }
2032
2159
  );
2033
2160
  }
@@ -2058,7 +2185,7 @@ var iconMap = {
2058
2185
  };
2059
2186
 
2060
2187
  // src/components/jobPost/JobHeader.tsx
2061
- var import_jsx_runtime35 = require("react/jsx-runtime");
2188
+ var import_jsx_runtime38 = require("react/jsx-runtime");
2062
2189
  function JobHeader({
2063
2190
  title,
2064
2191
  subtitles,
@@ -2074,9 +2201,9 @@ function JobHeader({
2074
2201
  }) {
2075
2202
  const renderIcon = (icon) => {
2076
2203
  const Icon2 = iconMap[icon];
2077
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Icon2, { size: 18 });
2204
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Icon2, { size: 18 });
2078
2205
  };
2079
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
2206
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
2080
2207
  "div",
2081
2208
  {
2082
2209
  "data-testid": "job-header-root",
@@ -2085,8 +2212,8 @@ function JobHeader({
2085
2212
  !standalone && "rounded-3xl"
2086
2213
  ),
2087
2214
  children: [
2088
- !standalone && /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "relative flex min-h-16 w-full items-center rounded-t-3xl bg-transparent md:min-h-24 md:flex-row lg:min-h-32", children: [
2089
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
2215
+ !standalone && /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "relative flex min-h-16 w-full items-center rounded-t-3xl bg-transparent md:min-h-24 md:flex-row lg:min-h-32", children: [
2216
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2090
2217
  import_image.default,
2091
2218
  {
2092
2219
  className: "h-full w-full rounded-t-3xl object-cover",
@@ -2095,7 +2222,7 @@ function JobHeader({
2095
2222
  fill: true
2096
2223
  }
2097
2224
  ),
2098
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
2225
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2099
2226
  BackButton,
2100
2227
  {
2101
2228
  acceptedRoutes: backAcceptedRoutes,
@@ -2104,12 +2231,12 @@ function JobHeader({
2104
2231
  "data-testid": "job-header-back-button"
2105
2232
  }
2106
2233
  ),
2107
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
2234
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2108
2235
  "div",
2109
2236
  {
2110
2237
  className: "absolute left-4 top-8 md:left-6 md:top-16 lg:top-24",
2111
2238
  "data-testid": "job-header-avatar",
2112
- children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
2239
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2113
2240
  Avatar,
2114
2241
  {
2115
2242
  size: "large",
@@ -2123,9 +2250,9 @@ function JobHeader({
2123
2250
  }
2124
2251
  )
2125
2252
  ] }),
2126
- /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex w-full flex-col items-start justify-start gap-4 px-6", children: [
2127
- /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex flex-col md:flex-row", children: [
2128
- standalone && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "-mt-4 mr-4 md:mt-0", "data-testid": "job-header-avatar", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
2253
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "flex w-full flex-col items-start justify-start gap-4 px-6", children: [
2254
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "flex flex-col md:flex-row", children: [
2255
+ standalone && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "-mt-4 mr-4 md:mt-0", "data-testid": "job-header-avatar", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2129
2256
  Avatar,
2130
2257
  {
2131
2258
  size: "large",
@@ -2136,26 +2263,26 @@ function JobHeader({
2136
2263
  rel: "noopener noreferrer"
2137
2264
  }
2138
2265
  ) }),
2139
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "prose mt-4 flex w-full items-center text-grey-80 lg:prose-lg", children: subtitles?.map((subtitle, i) => /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
2266
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "prose mt-4 flex w-full items-center text-grey-80 lg:prose-lg", children: subtitles?.map((subtitle, i) => /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
2140
2267
  "div",
2141
2268
  {
2142
2269
  "data-testid": `job-header-subtitle-${i}`,
2143
2270
  className: "flex items-center",
2144
2271
  children: [
2145
2272
  subtitle,
2146
- i < subtitles.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_lucide_react17.Dot, { className: "mx-1 shrink-0", size: 10 })
2273
+ i < subtitles.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react17.Dot, { className: "mx-1 shrink-0", size: 10 })
2147
2274
  ]
2148
2275
  },
2149
2276
  subtitle
2150
2277
  )) })
2151
2278
  ] }),
2152
- /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
2279
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
2153
2280
  "div",
2154
2281
  {
2155
2282
  "data-testid": "job-header-content",
2156
2283
  className: "mt-2 flex w-full flex-row flex-wrap items-center justify-between gap-1",
2157
2284
  children: [
2158
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
2285
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2159
2286
  "h2",
2160
2287
  {
2161
2288
  "data-testid": "job-header-title",
@@ -2163,7 +2290,7 @@ function JobHeader({
2163
2290
  children: title
2164
2291
  }
2165
2292
  ),
2166
- !!actions && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
2293
+ !!actions && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2167
2294
  "div",
2168
2295
  {
2169
2296
  className: "flex w-full justify-end gap-2 md:w-auto",
@@ -2174,12 +2301,12 @@ function JobHeader({
2174
2301
  ]
2175
2302
  }
2176
2303
  ),
2177
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
2304
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2178
2305
  "div",
2179
2306
  {
2180
2307
  "data-testid": "job-header-tags",
2181
2308
  className: "flex flex-row flex-wrap items-center justify-start gap-2",
2182
- children: tags?.map(({ name, label, icon }) => /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
2309
+ children: tags?.map(({ name, label, icon }) => /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
2183
2310
  Chip_default,
2184
2311
  {
2185
2312
  size: "small",
@@ -2188,7 +2315,7 @@ function JobHeader({
2188
2315
  "data-testid": `job-header-tag-${name}`,
2189
2316
  children: [
2190
2317
  renderIcon(icon),
2191
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { children: label })
2318
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { children: label })
2192
2319
  ]
2193
2320
  },
2194
2321
  name
@@ -2205,7 +2332,7 @@ function JobHeader({
2205
2332
  var DateFns = __toESM(require("date-fns"), 1);
2206
2333
 
2207
2334
  // src/hooks/useDisplayText.ts
2208
- var import_react14 = require("react");
2335
+ var import_react17 = require("react");
2209
2336
 
2210
2337
  // src/lib/mappings.ts
2211
2338
  var employmentTypeDisplayText = {
@@ -2649,9 +2776,9 @@ var DisplayTextService = class {
2649
2776
 
2650
2777
  // src/hooks/useDisplayText.ts
2651
2778
  var useDisplayText = (scope, value) => {
2652
- const [displayText, setDisplayText] = (0, import_react14.useState)("");
2653
- const displayService = (0, import_react14.useMemo)(() => new DisplayTextService(), []);
2654
- (0, import_react14.useEffect)(() => {
2779
+ const [displayText, setDisplayText] = (0, import_react17.useState)("");
2780
+ const displayService = (0, import_react17.useMemo)(() => new DisplayTextService(), []);
2781
+ (0, import_react17.useEffect)(() => {
2655
2782
  if (!displayService || !value) {
2656
2783
  setDisplayText("");
2657
2784
  return;
@@ -2790,7 +2917,7 @@ function salaryRange(salary) {
2790
2917
  }
2791
2918
 
2792
2919
  // src/components/jobPost/JobPost.tsx
2793
- var import_jsx_runtime36 = require("react/jsx-runtime");
2920
+ var import_jsx_runtime39 = require("react/jsx-runtime");
2794
2921
  function JobPost({
2795
2922
  job,
2796
2923
  bannerSrc,
@@ -2834,7 +2961,7 @@ function JobPost({
2834
2961
  label: formattedLocation
2835
2962
  }
2836
2963
  ].filter((t) => !!t);
2837
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
2964
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
2838
2965
  "div",
2839
2966
  {
2840
2967
  className: cn(
@@ -2842,7 +2969,7 @@ function JobPost({
2842
2969
  !standalone && "border-1 rounded-3xl border-grey-5"
2843
2970
  ),
2844
2971
  children: [
2845
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
2972
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2846
2973
  JobHeader,
2847
2974
  {
2848
2975
  title: job.title,
@@ -2856,16 +2983,16 @@ function JobPost({
2856
2983
  tags
2857
2984
  }
2858
2985
  ),
2859
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex flex-col gap-8 px-6", children: [
2860
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(JobDescription, { description: job.description }),
2861
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
2986
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex flex-col gap-8 px-6", children: [
2987
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(JobDescription, { description: job.description }),
2988
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2862
2989
  CompanyTake,
2863
2990
  {
2864
2991
  avatarSrc,
2865
2992
  content: job.hiringOrganization?.companyNdg?.companyNdgTake
2866
2993
  }
2867
2994
  ),
2868
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
2995
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2869
2996
  CompanyInformation,
2870
2997
  {
2871
2998
  name: job.hiringOrganization?.companyName ?? "",
@@ -2875,7 +3002,7 @@ function JobPost({
2875
3002
  website: job.hiringOrganization?.companyWebsite
2876
3003
  }
2877
3004
  ),
2878
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3005
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2879
3006
  CompanyBenefits,
2880
3007
  {
2881
3008
  benefits: job.hiringOrganization?.companyCareers?.companyBenefits?.map((b) => b.title).filter((d) => d !== void 0)
@@ -3124,9 +3251,11 @@ var jobPostSchema = import_zod3.z.object({
3124
3251
  ListItem,
3125
3252
  MapComponent,
3126
3253
  PlacesQueryInput,
3254
+ Radio,
3127
3255
  ReadMore,
3128
3256
  Select,
3129
3257
  SharedService,
3258
+ Switch,
3130
3259
  WindowHistoryProvider,
3131
3260
  cn,
3132
3261
  fetchLocation,