@next-degree/pickle-shared-js 0.7.51 → 0.9.2

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 (105) hide show
  1. package/dist/components/jobPost/JobDescription.cjs +2 -1
  2. package/dist/components/jobPost/JobDescription.cjs.map +1 -1
  3. package/dist/components/jobPost/JobDescription.js +2 -1
  4. package/dist/components/jobPost/JobDescription.js.map +1 -1
  5. package/dist/components/jobPost/JobPost.cjs +2 -1
  6. package/dist/components/jobPost/JobPost.cjs.map +1 -1
  7. package/dist/components/jobPost/JobPost.d.cts +1 -1
  8. package/dist/components/jobPost/JobPost.d.ts +1 -1
  9. package/dist/components/jobPost/JobPost.js +2 -1
  10. package/dist/components/jobPost/JobPost.js.map +1 -1
  11. package/dist/components/primitives/command.d.cts +7 -7
  12. package/dist/components/primitives/command.d.ts +7 -7
  13. package/dist/components/primitives/radio-group.cjs +74 -0
  14. package/dist/components/primitives/radio-group.cjs.map +1 -0
  15. package/dist/components/primitives/radio-group.d.cts +9 -0
  16. package/dist/components/primitives/radio-group.d.ts +9 -0
  17. package/dist/components/primitives/radio-group.js +39 -0
  18. package/dist/components/primitives/radio-group.js.map +1 -0
  19. package/dist/components/ui/Button.cjs +2 -1
  20. package/dist/components/ui/Button.cjs.map +1 -1
  21. package/dist/components/ui/Button.d.cts +1 -1
  22. package/dist/components/ui/Button.d.ts +1 -1
  23. package/dist/components/ui/Button.js +2 -1
  24. package/dist/components/ui/Button.js.map +1 -1
  25. package/dist/components/ui/Checkbox.cjs +38 -13
  26. package/dist/components/ui/Checkbox.cjs.map +1 -1
  27. package/dist/components/ui/Checkbox.d.cts +2 -1
  28. package/dist/components/ui/Checkbox.d.ts +2 -1
  29. package/dist/components/ui/Checkbox.js +31 -11
  30. package/dist/components/ui/Checkbox.js.map +1 -1
  31. package/dist/components/ui/Combobox.cjs +62 -41
  32. package/dist/components/ui/Combobox.cjs.map +1 -1
  33. package/dist/components/ui/Combobox.js +53 -32
  34. package/dist/components/ui/Combobox.js.map +1 -1
  35. package/dist/components/ui/DatePicker.cjs +133 -149
  36. package/dist/components/ui/DatePicker.cjs.map +1 -1
  37. package/dist/components/ui/DatePicker.js +132 -148
  38. package/dist/components/ui/DatePicker.js.map +1 -1
  39. package/dist/components/ui/ListItem.cjs +40 -21
  40. package/dist/components/ui/ListItem.cjs.map +1 -1
  41. package/dist/components/ui/ListItem.js +36 -17
  42. package/dist/components/ui/ListItem.js.map +1 -1
  43. package/dist/components/ui/Radio.cjs +177 -0
  44. package/dist/components/ui/Radio.cjs.map +1 -0
  45. package/dist/components/ui/Radio.d.cts +27 -0
  46. package/dist/components/ui/Radio.d.ts +27 -0
  47. package/dist/components/ui/Radio.js +142 -0
  48. package/dist/components/ui/Radio.js.map +1 -0
  49. package/dist/components/ui/ReadMore.cjs +2 -1
  50. package/dist/components/ui/ReadMore.cjs.map +1 -1
  51. package/dist/components/ui/ReadMore.js +2 -1
  52. package/dist/components/ui/ReadMore.js.map +1 -1
  53. package/dist/components/ui/Select.cjs +48 -24
  54. package/dist/components/ui/Select.cjs.map +1 -1
  55. package/dist/components/ui/Select.js +49 -25
  56. package/dist/components/ui/Select.js.map +1 -1
  57. package/dist/components/ui/Switch.cjs +83 -0
  58. package/dist/components/ui/Switch.cjs.map +1 -0
  59. package/dist/components/ui/Switch.d.cts +10 -0
  60. package/dist/components/ui/Switch.d.ts +10 -0
  61. package/dist/components/ui/Switch.js +48 -0
  62. package/dist/components/ui/Switch.js.map +1 -0
  63. package/dist/components/ui/buttonShadcn.cjs +2 -9
  64. package/dist/components/ui/buttonShadcn.cjs.map +1 -1
  65. package/dist/components/ui/buttonShadcn.d.cts +2 -2
  66. package/dist/components/ui/buttonShadcn.d.ts +2 -2
  67. package/dist/components/ui/buttonShadcn.js +2 -9
  68. package/dist/components/ui/buttonShadcn.js.map +1 -1
  69. package/dist/components/ui/calendar.cjs +7 -17
  70. package/dist/components/ui/calendar.cjs.map +1 -1
  71. package/dist/components/ui/calendar.js +7 -17
  72. package/dist/components/ui/calendar.js.map +1 -1
  73. package/dist/{displayText-CQRZ2fOT.d.cts → displayText-ca_ofoAC.d.cts} +2 -2
  74. package/dist/{displayText-LlsLfkTS.d.ts → displayText-eoAHqSNz.d.ts} +2 -2
  75. package/dist/hooks/useDisplayText.d.cts +3 -3
  76. package/dist/hooks/useDisplayText.d.ts +3 -3
  77. package/dist/index.cjs +574 -259
  78. package/dist/index.cjs.map +1 -1
  79. package/dist/index.d.cts +13 -7
  80. package/dist/index.d.ts +13 -7
  81. package/dist/index.js +536 -224
  82. package/dist/index.js.map +1 -1
  83. package/dist/lib/locations.d.cts +2 -2
  84. package/dist/lib/locations.d.ts +2 -2
  85. package/dist/lib/mappings.d.cts +3 -3
  86. package/dist/lib/mappings.d.ts +3 -3
  87. package/dist/lib/salaryRange.d.cts +1 -1
  88. package/dist/lib/salaryRange.d.ts +1 -1
  89. package/dist/services/displayText.d.cts +3 -3
  90. package/dist/services/displayText.d.ts +3 -3
  91. package/dist/styles/globals.css +78 -0
  92. package/dist/styles/globals.css.map +1 -1
  93. package/dist/types/data/company_service_latest.d.cts +1 -1
  94. package/dist/types/data/company_service_latest.d.ts +1 -1
  95. package/dist/types/data/job_posting_service_latest.d.cts +1 -1
  96. package/dist/types/data/job_posting_service_latest.d.ts +1 -1
  97. package/dist/types/data/shared_pickle_output_latest.d.cts +1 -1
  98. package/dist/types/data/shared_pickle_output_latest.d.ts +1 -1
  99. package/package.json +7 -10
  100. package/dist/{company_service_latest-8IMr2hMZ.d.cts → company_service_latest-CRQFzMep.d.cts} +364 -364
  101. package/dist/{company_service_latest-8IMr2hMZ.d.ts → company_service_latest-CRQFzMep.d.ts} +364 -364
  102. package/dist/{job_posting_service_latest-CKITrYyz.d.cts → job_posting_service_latest-BOVbz68F.d.cts} +314 -314
  103. package/dist/{job_posting_service_latest-CKITrYyz.d.ts → job_posting_service_latest-BOVbz68F.d.ts} +314 -314
  104. package/dist/{shared_pickle_output_latest-Cwf2EMdH.d.cts → shared_pickle_output_latest-DKOmTyYk.d.cts} +18 -18
  105. package/dist/{shared_pickle_output_latest-Cwf2EMdH.d.ts → shared_pickle_output_latest-DKOmTyYk.d.ts} +18 -18
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,
@@ -42,6 +42,7 @@ __export(index_exports, {
42
42
  CompanyService: () => company_service_latest_exports,
43
43
  CompanyTake: () => CompanyTake,
44
44
  Counter: () => Counter,
45
+ DatePicker: () => DatePicker,
45
46
  Icon: () => Icon,
46
47
  Input: () => Input_default,
47
48
  InputOtp: () => InputOtp,
@@ -54,9 +55,11 @@ __export(index_exports, {
54
55
  ListItem: () => ListItem_default,
55
56
  MapComponent: () => MapComponent_default,
56
57
  PlacesQueryInput: () => PlacesQueryInput_default,
58
+ Radio: () => Radio,
57
59
  ReadMore: () => ReadMore,
58
60
  Select: () => Select_default,
59
61
  SharedService: () => shared_pickle_output_latest_exports,
62
+ Switch: () => Switch,
60
63
  WindowHistoryProvider: () => WindowHistoryProvider,
61
64
  cn: () => cn,
62
65
  fetchLocation: () => fetchLocation,
@@ -65,76 +68,11 @@ __export(index_exports, {
65
68
  });
66
69
  module.exports = __toCommonJS(index_exports);
67
70
 
68
- // src/components/ui/Checkbox.tsx
69
- var CheckboxPrimitive = __toESM(require("@radix-ui/react-checkbox"), 1);
70
- var import_lucide_react = require("lucide-react");
71
- var import_react = require("react");
72
-
73
- // src/lib/utils.ts
74
- var import_clsx = require("clsx");
75
- var import_tailwind_merge = require("tailwind-merge");
76
- function cn(...inputs) {
77
- return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
78
- }
79
-
80
- // src/components/ui/Checkbox.tsx
81
- var import_jsx_runtime = require("react/jsx-runtime");
82
- var CheckboxToggle = (0, import_react.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
83
- CheckboxPrimitive.Root,
84
- {
85
- ref,
86
- className: cn(
87
- "group",
88
- "peer",
89
- "h-5",
90
- "w-5",
91
- "shrink-0",
92
- "rounded-md",
93
- "border",
94
- "border-grey-10",
95
- "outline",
96
- "outline-1",
97
- "outline-offset-2",
98
- "outline-transparent",
99
- "hover:border-grey-20",
100
- "focus:outline-purple-100",
101
- "active:border-green-80",
102
- "disabled:cursor-not-allowed",
103
- "disabled:opacity-50",
104
- "data-[state=checked]:bg-green-80",
105
- "data-[state=indeterminate]:bg-green-80",
106
- "data-[state=checked]:text-white",
107
- "data-[state=indeterminate]:text-primary-foreground",
108
- props.disabled && "data-[state=checked]:text-foreground bg-grey-20 data-[state=checked]:bg-grey-20",
109
- className
110
- ),
111
- ...props,
112
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(CheckboxPrimitive.Indicator, { className: "flex items-center justify-center text-current", children: [
113
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Check, { className: "hidden h-4 w-4 group-data-[state=checked]:block" }),
114
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Minus, { className: "hidden h-4 w-4 group-data-[state=indeterminate]:block" })
115
- ] })
116
- }
117
- ));
118
- CheckboxToggle.displayName = CheckboxPrimitive.Root.displayName;
119
- var Checkbox = (0, import_react.forwardRef)(
120
- ({ classNames, children, ...props }, ref) => {
121
- const { disabled } = props;
122
- const id = props.id ?? `${props.name ?? props.value?.toString()}-checkbox`;
123
- const labelClassName = disabled ? "text-grey-40 pointer-events-none" : "";
124
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: cn("flex space-x-2", classNames?.wrapper), children: [
125
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CheckboxToggle, { id, disabled, ref, ...props }),
126
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("label", { htmlFor: id, className: cn(labelClassName, classNames?.label), children })
127
- ] });
128
- }
129
- );
130
- Checkbox.displayName = "Checkbox";
131
- var Checkbox_default = Checkbox;
132
-
133
71
  // src/components/ui/Chip.tsx
134
72
  var import_cva = require("cva");
135
- var import_tailwind_merge2 = require("tailwind-merge");
136
- var import_jsx_runtime2 = require("react/jsx-runtime");
137
- 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 });
138
76
  var chipVariants = (0, import_cva.cva)(["flex", "items-center", "rounded-3xl", "border", "w-fit"], {
139
77
  variants: {
140
78
  variant: {
@@ -158,28 +96,35 @@ var Chip_default = Chip;
158
96
 
159
97
  // src/components/ui/Input.tsx
160
98
  var import_cva2 = require("cva");
161
- var import_lucide_react3 = require("lucide-react");
162
- 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
+ }
163
108
 
164
109
  // src/components/ui/ErrorMessage.tsx
165
- var import_jsx_runtime3 = require("react/jsx-runtime");
110
+ var import_jsx_runtime2 = require("react/jsx-runtime");
166
111
  function ErrorMessage({ message, className, ...props }) {
167
112
  if (!message) return null;
168
- 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 });
169
114
  }
170
115
  var ErrorMessage_default = ErrorMessage;
171
116
 
172
117
  // src/components/ui/Label.tsx
173
- var import_lucide_react2 = require("lucide-react");
118
+ var import_lucide_react = require("lucide-react");
174
119
 
175
120
  // src/components/primitives/tooltip.tsx
176
121
  var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"), 1);
177
122
  var React = __toESM(require("react"), 1);
178
- var import_jsx_runtime4 = require("react/jsx-runtime");
123
+ var import_jsx_runtime3 = require("react/jsx-runtime");
179
124
  var TooltipProvider = TooltipPrimitive.Provider;
180
125
  var Tooltip = TooltipPrimitive.Root;
181
126
  var TooltipTrigger = TooltipPrimitive.Trigger;
182
- 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)(
183
128
  TooltipPrimitive.Content,
184
129
  {
185
130
  ref,
@@ -194,11 +139,11 @@ var TooltipContent = React.forwardRef(({ className, sideOffset = 4, ...props },
194
139
  TooltipContent.displayName = TooltipPrimitive.Content.displayName;
195
140
 
196
141
  // src/components/ui/Label.tsx
197
- var import_jsx_runtime5 = require("react/jsx-runtime");
142
+ var import_jsx_runtime4 = require("react/jsx-runtime");
198
143
  function Label({ text, required, description, className, ...props }) {
199
144
  if (!text) return null;
200
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex w-full flex-row gap-1", children: [
201
- /* @__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)(
202
147
  "label",
203
148
  {
204
149
  className: cn(
@@ -208,32 +153,32 @@ function Label({ text, required, description, className, ...props }) {
208
153
  ...props,
209
154
  children: [
210
155
  text,
211
- 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*" })
212
157
  ]
213
158
  }
214
159
  ),
215
- !!description && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(TooltipProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(Tooltip, { children: [
216
- /* @__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" }) }),
217
- /* @__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 })
218
163
  ] }) })
219
164
  ] });
220
165
  }
221
166
  var Label_default = Label;
222
167
 
223
168
  // src/components/ui/Input.tsx
224
- var import_jsx_runtime6 = require("react/jsx-runtime");
225
- var Input = (0, import_react2.forwardRef)(
169
+ var import_jsx_runtime5 = require("react/jsx-runtime");
170
+ var Input = (0, import_react.forwardRef)(
226
171
  ({ label, error, description, theme, icon, onClear, value, onChange, classNames, ...props }, ref) => {
227
172
  const handleClear = () => {
228
173
  onChange?.({ target: { value: "" } });
229
174
  onClear?.();
230
175
  };
231
- const IconComponent = icon && import_lucide_react3.icons[icon];
176
+ const IconComponent = icon && import_lucide_react2.icons[icon];
232
177
  const placeholder = props.placeholder ?? (icon === "Search" ? "Search..." : "");
233
178
  const hasIcon = !!icon;
234
179
  const iconColor = theme === "dark" ? "text-white" : "text-grey-80";
235
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "group flex w-full flex-col gap-1", "data-testid": `input-wrapper-${props.id}`, children: [
236
- 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)(
237
182
  Label_default,
238
183
  {
239
184
  text: label,
@@ -243,14 +188,14 @@ var Input = (0, import_react2.forwardRef)(
243
188
  className: classNames?.label
244
189
  }
245
190
  ),
246
- /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "relative flex flex-row items-center", children: [
247
- 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)(
248
193
  IconComponent,
249
194
  {
250
195
  className: `absolute left-3 h-4 w-4 ${iconColor} opacity-50 group-hover:opacity-100`
251
196
  }
252
197
  ),
253
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
198
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
254
199
  "input",
255
200
  {
256
201
  className: cn(inputVariants({ theme, hasIcon })),
@@ -262,8 +207,8 @@ var Input = (0, import_react2.forwardRef)(
262
207
  ...props
263
208
  }
264
209
  ),
265
- hasIcon && value && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
266
- import_lucide_react3.X,
210
+ hasIcon && value && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
211
+ import_lucide_react2.X,
267
212
  {
268
213
  className: `absolute right-3 h-4 w-4 cursor-pointer ${iconColor}`,
269
214
  onClick: handleClear,
@@ -271,7 +216,7 @@ var Input = (0, import_react2.forwardRef)(
271
216
  }
272
217
  )
273
218
  ] }),
274
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(ErrorMessage_default, { message: error })
219
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ErrorMessage_default, { message: error })
275
220
  ] });
276
221
  }
277
222
  );
@@ -329,6 +274,75 @@ var Input_default = Input;
329
274
  // src/components/ui/ListItem.tsx
330
275
  var import_lucide_react4 = require("lucide-react");
331
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 && "data-[state=checked]:text-foreground bg-grey-20 data-[state=checked]:bg-grey-20",
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
332
346
  var import_jsx_runtime7 = require("react/jsx-runtime");
333
347
  function ListItem({
334
348
  icon,
@@ -359,7 +373,7 @@ function ListItem({
359
373
  "data-state": isSelected ? "checked" : "unchecked",
360
374
  children: [
361
375
  optionIcon && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "mr-2", children: optionIcon }),
362
- 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() }),
363
377
  /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { children: [
364
378
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("p", { children: title }),
365
379
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("p", { className: "text-xs text-grey-80", children: description })
@@ -753,7 +767,18 @@ Separator.displayName = SeparatorPrimitive.Root.displayName;
753
767
  // src/components/ui/Select.tsx
754
768
  var import_jsx_runtime13 = require("react/jsx-runtime");
755
769
  var Select = (0, import_react4.forwardRef)(
756
- ({ 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) => {
757
782
  const { value, defaultValue, dir, className, onChange, ...rest } = props;
758
783
  const [selected, setSelected] = (0, import_react4.useState)([]);
759
784
  const [open, setOpen] = (0, import_react4.useState)(false);
@@ -842,28 +867,30 @@ var Select = (0, import_react4.forwardRef)(
842
867
  onPointerDownOutside: toggleOpen,
843
868
  onKeyDown: closeOnEscape,
844
869
  children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(SelectPrimitive.Viewport, { children: [
845
- multiselect && !!chipLabels?.length && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
846
- SelectPrimitive.Group,
847
- {
848
- className: "mb-2 flex flex-row flex-wrap gap-1 px-2",
849
- "data-testid": "selected-labels",
850
- children: chipLabels?.map(
851
- (chip) => chip && /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Chip_default, { size: "small", variant: "primary", children: [
852
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { children: chip.title }),
853
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
854
- import_lucide_react9.X,
855
- {
856
- size: 18,
857
- "data-testid": `chip-remove-${chip.value}`,
858
- className: "cursor-pointer",
859
- onClick: () => handleChange(chip.value)
860
- }
861
- )
862
- ] }, chip.title)
863
- )
864
- }
865
- ),
866
- /* @__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
+ ] }),
867
894
  options?.map(({ id: id2, title, value: value2 }) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
868
895
  SelectPrimitive.Item,
869
896
  {
@@ -884,7 +911,18 @@ var Select = (0, import_react4.forwardRef)(
884
911
  ]
885
912
  },
886
913
  id2
887
- ))
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
+ ] })
888
926
  ] })
889
927
  }
890
928
  ) })
@@ -993,12 +1031,13 @@ var import_cva5 = require("cva");
993
1031
  var import_react5 = require("react");
994
1032
  var import_jsx_runtime17 = require("react/jsx-runtime");
995
1033
  var Button = (0, import_react5.forwardRef)(
996
- ({ className, variant, size, asChild = false, ...props }, ref) => {
1034
+ ({ className, variant, size, asChild = false, type = "button", ...props }, ref) => {
997
1035
  const Component = asChild ? import_react_slot.Slot : "button";
998
1036
  return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
999
1037
  Component,
1000
1038
  {
1001
1039
  className: cn(buttonVariants({ variant, size, className })),
1040
+ type,
1002
1041
  ref,
1003
1042
  ...props
1004
1043
  }
@@ -1316,15 +1355,114 @@ var triggerVariants = (0, import_cva6.cva)(
1316
1355
  }
1317
1356
  );
1318
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
+ "focus-visible:ring-ring 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 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
+
1319
1457
  // src/components/ui/Counter.tsx
1320
1458
  var import_cva7 = require("cva");
1321
1459
  var import_lucide_react11 = require("lucide-react");
1322
- var import_react7 = require("react");
1323
- var import_jsx_runtime20 = require("react/jsx-runtime");
1324
- 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)(
1325
1463
  ({ label, error, min, max, step = 1, description, theme, value, classNames, onChange, ...props }, ref) => {
1326
- const [count, setCount] = (0, import_react7.useState)(0);
1327
- (0, import_react7.useEffect)(() => {
1464
+ const [count, setCount] = (0, import_react10.useState)(0);
1465
+ (0, import_react10.useEffect)(() => {
1328
1466
  setCount(value ?? 0);
1329
1467
  }, [value]);
1330
1468
  const handleChange = (e) => {
@@ -1355,13 +1493,13 @@ var Counter = (0, import_react7.forwardRef)(
1355
1493
  onChange?.(newValue);
1356
1494
  setCount(newValue);
1357
1495
  };
1358
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
1496
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
1359
1497
  "div",
1360
1498
  {
1361
1499
  className: cn("flex w-auto flex-col gap-1", classNames?.root),
1362
1500
  "data-testid": `counter-wrapper-${props.id}`,
1363
1501
  children: [
1364
- label && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1502
+ label && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1365
1503
  Label_default,
1366
1504
  {
1367
1505
  text: label,
@@ -1371,17 +1509,17 @@ var Counter = (0, import_react7.forwardRef)(
1371
1509
  className: classNames?.label
1372
1510
  }
1373
1511
  ),
1374
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "relative flex w-[122px] flex-row items-center", children: [
1375
- /* @__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)(
1376
1514
  "button",
1377
1515
  {
1378
1516
  type: "button",
1379
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",
1380
1518
  onClick: decrement,
1381
- 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" })
1382
1520
  }
1383
1521
  ),
1384
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1522
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1385
1523
  "input",
1386
1524
  {
1387
1525
  className: cn(counterVariants({ theme }), classNames?.input),
@@ -1392,17 +1530,17 @@ var Counter = (0, import_react7.forwardRef)(
1392
1530
  ...props
1393
1531
  }
1394
1532
  ),
1395
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1533
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1396
1534
  "button",
1397
1535
  {
1398
1536
  type: "button",
1399
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",
1400
1538
  onClick: increment,
1401
- 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" })
1402
1540
  }
1403
1541
  )
1404
1542
  ] }),
1405
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ErrorMessage_default, { message: error })
1543
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(ErrorMessage_default, { message: error })
1406
1544
  ]
1407
1545
  }
1408
1546
  );
@@ -1462,13 +1600,13 @@ var counterVariants = (0, import_cva7.cva)(
1462
1600
  // src/components/ui/Icon.tsx
1463
1601
  var import_react_slot2 = require("@radix-ui/react-slot");
1464
1602
  var import_cva8 = require("cva");
1465
- var import_react8 = require("react");
1603
+ var import_react11 = require("react");
1466
1604
  var import_tailwind_merge3 = require("tailwind-merge");
1467
- var import_jsx_runtime21 = require("react/jsx-runtime");
1468
- var Icon = (0, import_react8.forwardRef)(
1605
+ var import_jsx_runtime24 = require("react/jsx-runtime");
1606
+ var Icon = (0, import_react11.forwardRef)(
1469
1607
  ({ variant, size, active = false, readonly = false, className, ...props }, ref) => {
1470
1608
  const Component = readonly ? import_react_slot2.Slot : "button";
1471
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1609
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1472
1610
  Component,
1473
1611
  {
1474
1612
  className: cn(
@@ -1537,14 +1675,14 @@ var iconVariants = (0, import_cva8.cva)(
1537
1675
  );
1538
1676
 
1539
1677
  // src/components/ui/InputOtp.tsx
1540
- var import_react9 = require("react");
1678
+ var import_react12 = require("react");
1541
1679
 
1542
1680
  // src/components/primitives/input-otp.tsx
1543
1681
  var import_input_otp = require("input-otp");
1544
1682
  var import_lucide_react12 = require("lucide-react");
1545
1683
  var React8 = __toESM(require("react"), 1);
1546
- var import_jsx_runtime22 = require("react/jsx-runtime");
1547
- 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)(
1548
1686
  import_input_otp.OTPInput,
1549
1687
  {
1550
1688
  ref,
@@ -1557,12 +1695,12 @@ var InputOTP = React8.forwardRef(({ className, containerClassName, ...props }, r
1557
1695
  }
1558
1696
  ));
1559
1697
  InputOTP.displayName = "InputOTP";
1560
- 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 }));
1561
1699
  InputOTPGroup.displayName = "InputOTPGroup";
1562
1700
  var InputOTPSlot = React8.forwardRef(({ index, error, className, ...props }, ref) => {
1563
1701
  const inputOTPContext = React8.useContext(import_input_otp.OTPInputContext);
1564
1702
  const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
1565
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
1703
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
1566
1704
  "div",
1567
1705
  {
1568
1706
  ref,
@@ -1575,26 +1713,26 @@ var InputOTPSlot = React8.forwardRef(({ index, error, className, ...props }, ref
1575
1713
  ...props,
1576
1714
  children: [
1577
1715
  char,
1578
- 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" }) })
1579
1717
  ]
1580
1718
  }
1581
1719
  );
1582
1720
  });
1583
1721
  InputOTPSlot.displayName = "InputOTPSlot";
1584
- 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, {}) }));
1585
1723
  InputOTPSeparator.displayName = "InputOTPSeparator";
1586
1724
 
1587
1725
  // src/components/ui/InputOtp.tsx
1588
- var import_jsx_runtime23 = require("react/jsx-runtime");
1589
- var InputOtp = (0, import_react9.forwardRef)(
1726
+ var import_jsx_runtime26 = require("react/jsx-runtime");
1727
+ var InputOtp = (0, import_react12.forwardRef)(
1590
1728
  ({ digits, label, description, error, ...props }, ref) => {
1591
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
1729
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
1592
1730
  "div",
1593
1731
  {
1594
1732
  className: "group flex w-full flex-col gap-1",
1595
1733
  "data-testid": `input-otp-wrapper-${props.id}`,
1596
1734
  children: [
1597
- label && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1735
+ label && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1598
1736
  Label_default,
1599
1737
  {
1600
1738
  text: label,
@@ -1603,17 +1741,17 @@ var InputOtp = (0, import_react9.forwardRef)(
1603
1741
  description
1604
1742
  }
1605
1743
  ),
1606
- /* @__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)(
1607
1745
  InputOTP,
1608
1746
  {
1609
1747
  ref,
1610
1748
  maxLength: digits,
1611
1749
  "data-testid": `input-otp-element-${props.id}`,
1612
1750
  ...props,
1613
- 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))
1614
1752
  }
1615
1753
  ) }),
1616
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(ErrorMessage_default, { message: error })
1754
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(ErrorMessage_default, { message: error })
1617
1755
  ]
1618
1756
  }
1619
1757
  );
@@ -1623,7 +1761,7 @@ InputOtp.displayName = "Input";
1623
1761
 
1624
1762
  // src/components/ui/LinkButton.tsx
1625
1763
  var import_link2 = __toESM(require("next/link"), 1);
1626
- var import_jsx_runtime24 = require("react/jsx-runtime");
1764
+ var import_jsx_runtime27 = require("react/jsx-runtime");
1627
1765
  var LinkButton = ({
1628
1766
  disabled = false,
1629
1767
  useAnchor = false,
@@ -1632,7 +1770,7 @@ var LinkButton = ({
1632
1770
  ...props
1633
1771
  }) => {
1634
1772
  const Component = useAnchor ? "a" : import_link2.default;
1635
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1773
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1636
1774
  Component,
1637
1775
  {
1638
1776
  href,
@@ -1645,13 +1783,13 @@ var LinkButton = ({
1645
1783
  };
1646
1784
 
1647
1785
  // src/components/ui/ReadMore.tsx
1648
- var import_react10 = require("react");
1786
+ var import_react13 = require("react");
1649
1787
  var import_react_markdown = __toESM(require("react-markdown"), 1);
1650
- var import_jsx_runtime25 = require("react/jsx-runtime");
1788
+ var import_jsx_runtime28 = require("react/jsx-runtime");
1651
1789
  function ReadMore({ text, ...props }) {
1652
- const [isExpanded, setIsExpanded] = (0, import_react10.useState)(false);
1653
- const [maxWords, setMaxWords] = (0, import_react10.useState)(160);
1654
- (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)(() => {
1655
1793
  const updateMaxWords = () => {
1656
1794
  const windowWidth = window.innerWidth;
1657
1795
  if (windowWidth <= 768) {
@@ -1672,16 +1810,16 @@ function ReadMore({ text, ...props }) {
1672
1810
  }
1673
1811
  const toggleText = () => setIsExpanded(!isExpanded);
1674
1812
  const snippet = createReadMoreText(text, maxWords, isExpanded);
1675
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { ...props, children: [
1676
- /* @__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 }) }),
1677
- /* @__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)(
1678
1816
  Button,
1679
1817
  {
1680
1818
  type: "button",
1681
1819
  className: "mt-2 flex items-center justify-center",
1682
1820
  variant: "link",
1683
1821
  onClick: toggleText,
1684
- 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: [
1685
1823
  "Read ",
1686
1824
  isExpanded ? "less" : "more"
1687
1825
  ] })
@@ -1690,18 +1828,192 @@ function ReadMore({ text, ...props }) {
1690
1828
  ] });
1691
1829
  }
1692
1830
 
1831
+ // src/components/ui/DatePicker.tsx
1832
+ var import_cva9 = require("cva");
1833
+ var import_date_fns = require("date-fns");
1834
+ var import_lucide_react14 = require("lucide-react");
1835
+ var import_react14 = require("react");
1836
+
1837
+ // src/components/ui/calendar.tsx
1838
+ var import_lucide_react13 = require("lucide-react");
1839
+ var import_react_day_picker = require("react-day-picker");
1840
+
1841
+ // src/components/ui/buttonShadcn.tsx
1842
+ var import_react_slot3 = require("@radix-ui/react-slot");
1843
+ var import_class_variance_authority = require("class-variance-authority");
1844
+ var React9 = __toESM(require("react"), 1);
1845
+ var import_jsx_runtime29 = require("react/jsx-runtime");
1846
+ var buttonVariants2 = (0, import_class_variance_authority.cva)(
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",
1848
+ {
1849
+ variants: {
1850
+ variant: {
1851
+ default: "bg-neutral-900 text-neutral-50 shadow hover:bg-neutral-900/90 dark:bg-neutral-50 dark:text-neutral-900 dark:hover:bg-neutral-50/90",
1852
+ destructive: "bg-red-500 text-neutral-50 shadow-sm hover:bg-red-500/90 dark:bg-red-900 dark:text-neutral-50 dark:hover:bg-red-900/90",
1853
+ outline: "border border-neutral-200 bg-white shadow-sm hover:bg-neutral-100 hover:text-neutral-900 dark:border-neutral-800 dark:bg-neutral-950 dark:hover:bg-neutral-800 dark:hover:text-neutral-50",
1854
+ secondary: "bg-neutral-100 text-neutral-900 shadow-sm hover:bg-neutral-100/80 dark:bg-neutral-800 dark:text-neutral-50 dark:hover:bg-neutral-800/80",
1855
+ ghost: "hover:bg-neutral-100 hover:text-neutral-900 dark:hover:bg-neutral-800 dark:hover:text-neutral-50",
1856
+ link: "text-neutral-900 underline-offset-4 hover:underline dark:text-neutral-50"
1857
+ },
1858
+ size: {
1859
+ default: "h-9 px-4 py-2",
1860
+ sm: "h-8 rounded-md px-3 text-xs",
1861
+ lg: "h-10 rounded-md px-8",
1862
+ icon: "h-9 w-9"
1863
+ }
1864
+ },
1865
+ defaultVariants: {
1866
+ variant: "default",
1867
+ size: "default"
1868
+ }
1869
+ }
1870
+ );
1871
+ var Button2 = React9.forwardRef(
1872
+ ({ className, variant, size, asChild = false, ...props }, ref) => {
1873
+ const Comp = asChild ? import_react_slot3.Slot : "button";
1874
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Comp, { className: cn(buttonVariants2({ variant, size, className })), ref, ...props });
1875
+ }
1876
+ );
1877
+ Button2.displayName = "Button";
1878
+
1879
+ // src/components/ui/calendar.tsx
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)(
1883
+ import_react_day_picker.DayPicker,
1884
+ {
1885
+ showOutsideDays,
1886
+ className: cn("p-3", className),
1887
+ classNames: {
1888
+ months: "flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0",
1889
+ month: "space-y-4",
1890
+ caption: "flex justify-center pt-1 relative items-center",
1891
+ caption_label: "text-sm font-medium",
1892
+ nav: "space-x-1 flex items-center",
1893
+ nav_button: cn(
1894
+ buttonVariants2({ variant: "outline" }),
1895
+ "h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"
1896
+ ),
1897
+ nav_button_previous: "absolute left-1",
1898
+ nav_button_next: "absolute right-1",
1899
+ table: "w-full border-collapse space-y-1",
1900
+ head_row: "flex",
1901
+ head_cell: "text-neutral-500 rounded-md w-8 font-normal text-[0.8rem] dark:text-neutral-400",
1902
+ row: "flex w-full mt-2",
1903
+ cell: cn(
1904
+ "relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-neutral-100 [&:has([aria-selected].day-outside)]:bg-neutral-100/50 [&:has([aria-selected].day-range-end)]:rounded-r-md dark:[&:has([aria-selected])]:bg-neutral-800 dark:[&:has([aria-selected].day-outside)]:bg-neutral-800/50",
1905
+ props.mode === "range" ? "[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md" : "[&:has([aria-selected])]:rounded-md"
1906
+ ),
1907
+ day: cn(
1908
+ buttonVariants2({ variant: "ghost" }),
1909
+ "h-8 w-8 p-0 font-normal aria-selected:opacity-100"
1910
+ ),
1911
+ day_range_start: "day-range-start",
1912
+ day_range_end: "day-range-end",
1913
+ day_selected: "bg-neutral-900 text-neutral-50 hover:bg-neutral-900 hover:text-neutral-50 focus:bg-neutral-900 focus:text-neutral-50 dark:bg-neutral-50 dark:text-neutral-900 dark:hover:bg-neutral-50 dark:hover:text-neutral-900 dark:focus:bg-neutral-50 dark:focus:text-neutral-900",
1914
+ day_today: "bg-neutral-100 text-neutral-900 dark:bg-neutral-800 dark:text-neutral-50",
1915
+ day_outside: "day-outside text-neutral-500 aria-selected:bg-neutral-100/50 aria-selected:text-neutral-500 dark:text-neutral-400 dark:aria-selected:bg-neutral-800/50 dark:aria-selected:text-neutral-400",
1916
+ day_disabled: "text-neutral-500 opacity-50 dark:text-neutral-400",
1917
+ day_range_middle: "aria-selected:bg-neutral-100 aria-selected:text-neutral-900 dark:aria-selected:bg-neutral-800 dark:aria-selected:text-neutral-50",
1918
+ day_hidden: "invisible",
1919
+ ...classNames
1920
+ },
1921
+ components: {
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 })
1924
+ },
1925
+ ...props
1926
+ }
1927
+ );
1928
+ }
1929
+ Calendar.displayName = "Calendar";
1930
+
1931
+ // src/components/ui/DatePicker.tsx
1932
+ var import_jsx_runtime31 = require("react/jsx-runtime");
1933
+ var DatePicker = (0, import_react14.forwardRef)(
1934
+ ({ label, description, required, classNames, value, onChange, error }, 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", { className: cn("flex w-auto flex-col gap-1"), children: [
1945
+ label && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1946
+ Label_default,
1947
+ {
1948
+ text: label,
1949
+ required,
1950
+ description,
1951
+ className: classNames?.label
1952
+ }
1953
+ ),
1954
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(Popover, { children: [
1955
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(PopoverTrigger, { children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: cn(datePickerStyle()), 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
+ }
1968
+ ) })
1969
+ ] }),
1970
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(ErrorMessage_default, { message: error })
1971
+ ] });
1972
+ }
1973
+ );
1974
+ var datePickerStyle = (0, import_cva9.cva)([
1975
+ "placeholder:text-muted-foreground",
1976
+ "focus-visible:ring-ring",
1977
+ "inline-flex",
1978
+ "w-full",
1979
+ "h-11",
1980
+ "items-center",
1981
+ "justify-start",
1982
+ "gap-3",
1983
+ "rounded-lg",
1984
+ "bg-transparent",
1985
+ "px-3",
1986
+ "pt-0.5",
1987
+ "text-sm",
1988
+ "shadow-sm",
1989
+ "ring-grey-50",
1990
+ "transition-colors",
1991
+ "focus-visible:outline-none",
1992
+ "focus-visible:ring-1",
1993
+ "disabled:cursor-not-allowed",
1994
+ "disabled:opacity-50",
1995
+ "appearance-none",
1996
+ "[&::-webkit-search-cancel-button]:appearance-none",
1997
+ "[&::-webkit-search-decoration]:appearance-none",
1998
+ "[&::-webkit-search-results-button]:appearance-none",
1999
+ "[&::-webkit-search-results-decoration]:appearance-none",
2000
+ "[&::-ms-clear]:display-none",
2001
+ "[&::-ms-reveal]:display-none",
2002
+ "text-grey-80 border"
2003
+ ]);
2004
+
1693
2005
  // src/components/company/CompanyBenefits.tsx
1694
- var import_jsx_runtime26 = require("react/jsx-runtime");
2006
+ var import_jsx_runtime32 = require("react/jsx-runtime");
1695
2007
  function CompanyBenefits({ benefits }) {
1696
2008
  if (!benefits) return null;
1697
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "flex flex-col gap-2", "data-testid": "company-benefits", children: [
1698
- /* @__PURE__ */ (0, import_jsx_runtime26.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" }),
1699
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("ul", { className: "flex flex-col gap-3", children: benefits.map((benefit, i) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("li", { className: "text-base text-grey-80", children: benefit }, `${benefit}-${i}`)) })
2009
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex flex-col gap-2", "data-testid": "company-benefits", children: [
2010
+ /* @__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" }),
2011
+ /* @__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}`)) })
1700
2012
  ] });
1701
2013
  }
1702
2014
 
1703
2015
  // src/components/company/CompanyInformation.tsx
1704
- var import_jsx_runtime27 = require("react/jsx-runtime");
2016
+ var import_jsx_runtime33 = require("react/jsx-runtime");
1705
2017
  function CompanyInformation({
1706
2018
  name,
1707
2019
  how,
@@ -1709,8 +2021,8 @@ function CompanyInformation({
1709
2021
  wow,
1710
2022
  website
1711
2023
  }) {
1712
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "flex flex-col gap-2", children: [
1713
- /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
2024
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex flex-col gap-2", children: [
2025
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
1714
2026
  "h2",
1715
2027
  {
1716
2028
  "data-testid": "company-name",
@@ -1721,22 +2033,22 @@ function CompanyInformation({
1721
2033
  ]
1722
2034
  }
1723
2035
  ),
1724
- how && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("p", { "data-testid": "company-information", className: "text-base text-grey-80", children: how }),
1725
- mission && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "flex gap-2", children: [
1726
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { children: "\u{1F680}" }),
1727
- /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("p", { className: "text-base text-grey-80", children: [
1728
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "pr-1 font-bold", children: "Mission" }),
2036
+ how && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("p", { "data-testid": "company-information", className: "text-base text-grey-80", children: how }),
2037
+ mission && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex gap-2", children: [
2038
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { children: "\u{1F680}" }),
2039
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("p", { className: "text-base text-grey-80", children: [
2040
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "pr-1 font-bold", children: "Mission" }),
1729
2041
  mission
1730
2042
  ] })
1731
2043
  ] }),
1732
- wow && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "flex gap-2", children: [
1733
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { children: "\u{1F31F}" }),
1734
- /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("p", { className: "text-base text-grey-80", children: [
1735
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "pr-1 font-bold", children: "Wow Factor" }),
2044
+ wow && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex gap-2", children: [
2045
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { children: "\u{1F31F}" }),
2046
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("p", { className: "text-base text-grey-80", children: [
2047
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "pr-1 font-bold", children: "Wow Factor" }),
1736
2048
  wow
1737
2049
  ] })
1738
2050
  ] }),
1739
- website && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "pt-2", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
2051
+ website && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "pt-2", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1740
2052
  LinkButton,
1741
2053
  {
1742
2054
  "data-testid": "company-website-link",
@@ -1750,22 +2062,22 @@ function CompanyInformation({
1750
2062
  }
1751
2063
 
1752
2064
  // src/components/company/CompanyTake.tsx
1753
- var import_jsx_runtime28 = require("react/jsx-runtime");
2065
+ var import_jsx_runtime34 = require("react/jsx-runtime");
1754
2066
  function CompanyTake({ content, avatarSrc }) {
1755
2067
  if (!content) return null;
1756
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
2068
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
1757
2069
  "div",
1758
2070
  {
1759
2071
  "data-testid": "company-take",
1760
2072
  className: "align-center w-full justify-start rounded-2xl bg-green-90 p-6",
1761
2073
  children: [
1762
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: "text-lg font-bold text-white sm:text-xl", children: "The Real Dill \u2618\uFE0F" }),
1763
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "mt-2 flex items-center justify-start", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: "text-sm font-normal text-grey-10", children: content }) }),
1764
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "mt-8 flex w-full items-center gap-3", children: [
1765
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Avatar, { name: "Jon Lee", src: avatarSrc }),
1766
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex flex-col flex-wrap items-start", children: [
1767
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: "text-sm font-bold text-white", children: "Jon Lee, PT, DPT, OCS, FAAOMPT, MBA" }),
1768
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: "text-xs font-normal text-grey-30", children: "Pickle co-founder" })
2074
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("p", { className: "text-lg font-bold text-white sm:text-xl", children: "The Real Dill \u2618\uFE0F" }),
2075
+ /* @__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 }) }),
2076
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "mt-8 flex w-full items-center gap-3", children: [
2077
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Avatar, { name: "Jon Lee", src: avatarSrc }),
2078
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "flex flex-col flex-wrap items-start", children: [
2079
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("p", { className: "text-sm font-bold text-white", children: "Jon Lee, PT, DPT, OCS, FAAOMPT, MBA" }),
2080
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("p", { className: "text-xs font-normal text-grey-30", children: "Pickle co-founder" })
1769
2081
  ] })
1770
2082
  ] })
1771
2083
  ]
@@ -1774,51 +2086,51 @@ function CompanyTake({ content, avatarSrc }) {
1774
2086
  }
1775
2087
 
1776
2088
  // src/components/jobPost/JobDescription.tsx
1777
- var import_jsx_runtime29 = require("react/jsx-runtime");
2089
+ var import_jsx_runtime35 = require("react/jsx-runtime");
1778
2090
  function JobDescription({ description }) {
1779
2091
  if (!description) return null;
1780
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex w-full flex-col gap-2", children: [
1781
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("h3", { className: "text-xl font-bold", children: "Job Description" }),
1782
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ReadMore, { text: description })
2092
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex w-full flex-col gap-2", children: [
2093
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("h3", { className: "text-xl font-bold", children: "Job Description" }),
2094
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ReadMore, { text: description })
1783
2095
  ] });
1784
2096
  }
1785
2097
 
1786
2098
  // src/components/jobPost/JobHeader.tsx
1787
- var import_lucide_react15 = require("lucide-react");
2099
+ var import_lucide_react17 = require("lucide-react");
1788
2100
  var import_image = __toESM(require("next/image"), 1);
1789
2101
 
1790
2102
  // src/components/buttons/BackButton.tsx
1791
- var import_lucide_react13 = require("lucide-react");
2103
+ var import_lucide_react15 = require("lucide-react");
1792
2104
  var import_navigation2 = require("next/navigation");
1793
2105
 
1794
2106
  // src/hooks/useWindowHistory.ts
1795
- var import_react12 = require("react");
2107
+ var import_react16 = require("react");
1796
2108
 
1797
2109
  // src/contexts/WindowHistoryProvider.tsx
1798
2110
  var import_navigation = require("next/navigation");
1799
- var import_react11 = require("react");
1800
- var import_jsx_runtime30 = require("react/jsx-runtime");
1801
- var WindowHistoryContext = (0, import_react11.createContext)({});
2111
+ var import_react15 = require("react");
2112
+ var import_jsx_runtime36 = require("react/jsx-runtime");
2113
+ var WindowHistoryContext = (0, import_react15.createContext)({});
1802
2114
  function WindowHistoryProvider({ children }) {
1803
- const [history, setHistory] = (0, import_react11.useState)([]);
2115
+ const [history, setHistory] = (0, import_react15.useState)([]);
1804
2116
  const searchParams = (0, import_navigation.useSearchParams)();
1805
- (0, import_react11.useEffect)(() => {
2117
+ (0, import_react15.useEffect)(() => {
1806
2118
  setHistory(
1807
2119
  (prev) => prev.at(-1) === window.location.href ? prev : [...prev, window.location.href]
1808
2120
  );
1809
2121
  }, [searchParams]);
1810
- const contextValue = (0, import_react11.useMemo)(() => ({ history }), [history]);
1811
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(WindowHistoryContext.Provider, { value: contextValue, children });
2122
+ const contextValue = (0, import_react15.useMemo)(() => ({ history }), [history]);
2123
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(WindowHistoryContext.Provider, { value: contextValue, children });
1812
2124
  }
1813
2125
 
1814
2126
  // src/hooks/useWindowHistory.ts
1815
2127
  function useWindowHistory() {
1816
- const windowHistoryContext = (0, import_react12.useContext)(WindowHistoryContext);
2128
+ const windowHistoryContext = (0, import_react16.useContext)(WindowHistoryContext);
1817
2129
  return windowHistoryContext;
1818
2130
  }
1819
2131
 
1820
2132
  // src/components/buttons/BackButton.tsx
1821
- var import_jsx_runtime31 = require("react/jsx-runtime");
2133
+ var import_jsx_runtime37 = require("react/jsx-runtime");
1822
2134
  function BackButton({ acceptedRoutes, fallbackHref, className, ...props }) {
1823
2135
  const { history } = useWindowHistory();
1824
2136
  const router = (0, import_navigation2.useRouter)();
@@ -1831,7 +2143,7 @@ function BackButton({ acceptedRoutes, fallbackHref, className, ...props }) {
1831
2143
  router.push(fallbackHref ?? "/");
1832
2144
  }
1833
2145
  };
1834
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
2146
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1835
2147
  Icon,
1836
2148
  {
1837
2149
  "aria-label": "back button",
@@ -1840,38 +2152,38 @@ function BackButton({ acceptedRoutes, fallbackHref, className, ...props }) {
1840
2152
  onClick: goBack,
1841
2153
  className,
1842
2154
  ...props,
1843
- children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react13.X, {})
2155
+ children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_lucide_react15.X, {})
1844
2156
  }
1845
2157
  );
1846
2158
  }
1847
2159
 
1848
2160
  // src/lib/icons.ts
1849
- var import_lucide_react14 = require("lucide-react");
2161
+ var import_lucide_react16 = require("lucide-react");
1850
2162
  var iconMap = {
1851
- house: import_lucide_react14.Home,
1852
- layers: import_lucide_react14.Layers,
1853
- users: import_lucide_react14.Users,
1854
- settings: import_lucide_react14.Settings,
1855
- building: import_lucide_react14.Building,
1856
- bell: import_lucide_react14.Bell,
1857
- wallet: import_lucide_react14.Wallet,
1858
- contact: import_lucide_react14.Contact,
1859
- banknote: import_lucide_react14.Banknote,
1860
- "message-square-dot": import_lucide_react14.MessageSquareDot,
1861
- "life-buoy": import_lucide_react14.LifeBuoy,
1862
- "building-2": import_lucide_react14.Building2,
1863
- "gallery-vertical-end": import_lucide_react14.GalleryVerticalEnd,
1864
- "square-kanban": import_lucide_react14.SquareKanban,
1865
- "briefcase-business": import_lucide_react14.BriefcaseBusiness,
1866
- "circle-user": import_lucide_react14.CircleUser,
1867
- "key-round": import_lucide_react14.KeyRound,
1868
- "clock-2": import_lucide_react14.Clock2,
1869
- "circle-user-round": import_lucide_react14.CircleUserRound,
1870
- "map-pin": import_lucide_react14.MapPin
2163
+ house: import_lucide_react16.Home,
2164
+ layers: import_lucide_react16.Layers,
2165
+ users: import_lucide_react16.Users,
2166
+ settings: import_lucide_react16.Settings,
2167
+ building: import_lucide_react16.Building,
2168
+ bell: import_lucide_react16.Bell,
2169
+ wallet: import_lucide_react16.Wallet,
2170
+ contact: import_lucide_react16.Contact,
2171
+ banknote: import_lucide_react16.Banknote,
2172
+ "message-square-dot": import_lucide_react16.MessageSquareDot,
2173
+ "life-buoy": import_lucide_react16.LifeBuoy,
2174
+ "building-2": import_lucide_react16.Building2,
2175
+ "gallery-vertical-end": import_lucide_react16.GalleryVerticalEnd,
2176
+ "square-kanban": import_lucide_react16.SquareKanban,
2177
+ "briefcase-business": import_lucide_react16.BriefcaseBusiness,
2178
+ "circle-user": import_lucide_react16.CircleUser,
2179
+ "key-round": import_lucide_react16.KeyRound,
2180
+ "clock-2": import_lucide_react16.Clock2,
2181
+ "circle-user-round": import_lucide_react16.CircleUserRound,
2182
+ "map-pin": import_lucide_react16.MapPin
1871
2183
  };
1872
2184
 
1873
2185
  // src/components/jobPost/JobHeader.tsx
1874
- var import_jsx_runtime32 = require("react/jsx-runtime");
2186
+ var import_jsx_runtime38 = require("react/jsx-runtime");
1875
2187
  function JobHeader({
1876
2188
  title,
1877
2189
  subtitles,
@@ -1887,9 +2199,9 @@ function JobHeader({
1887
2199
  }) {
1888
2200
  const renderIcon = (icon) => {
1889
2201
  const Icon2 = iconMap[icon];
1890
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Icon2, { size: 18 });
2202
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Icon2, { size: 18 });
1891
2203
  };
1892
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
2204
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
1893
2205
  "div",
1894
2206
  {
1895
2207
  "data-testid": "job-header-root",
@@ -1898,8 +2210,8 @@ function JobHeader({
1898
2210
  !standalone && "rounded-3xl"
1899
2211
  ),
1900
2212
  children: [
1901
- !standalone && /* @__PURE__ */ (0, import_jsx_runtime32.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: [
1902
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
2213
+ !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: [
2214
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
1903
2215
  import_image.default,
1904
2216
  {
1905
2217
  className: "h-full w-full rounded-t-3xl object-cover",
@@ -1908,7 +2220,7 @@ function JobHeader({
1908
2220
  fill: true
1909
2221
  }
1910
2222
  ),
1911
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
2223
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
1912
2224
  BackButton,
1913
2225
  {
1914
2226
  acceptedRoutes: backAcceptedRoutes,
@@ -1917,12 +2229,12 @@ function JobHeader({
1917
2229
  "data-testid": "job-header-back-button"
1918
2230
  }
1919
2231
  ),
1920
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
2232
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
1921
2233
  "div",
1922
2234
  {
1923
2235
  className: "absolute left-4 top-8 md:left-6 md:top-16 lg:top-24",
1924
2236
  "data-testid": "job-header-avatar",
1925
- children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
2237
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
1926
2238
  Avatar,
1927
2239
  {
1928
2240
  size: "large",
@@ -1936,9 +2248,9 @@ function JobHeader({
1936
2248
  }
1937
2249
  )
1938
2250
  ] }),
1939
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex w-full flex-col items-start justify-start gap-4 px-6", children: [
1940
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex flex-col md:flex-row", children: [
1941
- standalone && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "-mt-4 mr-4 md:mt-0", "data-testid": "job-header-avatar", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
2251
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "flex w-full flex-col items-start justify-start gap-4 px-6", children: [
2252
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "flex flex-col md:flex-row", children: [
2253
+ 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)(
1942
2254
  Avatar,
1943
2255
  {
1944
2256
  size: "large",
@@ -1949,26 +2261,26 @@ function JobHeader({
1949
2261
  rel: "noopener noreferrer"
1950
2262
  }
1951
2263
  ) }),
1952
- /* @__PURE__ */ (0, import_jsx_runtime32.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_runtime32.jsxs)(
2264
+ /* @__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)(
1953
2265
  "div",
1954
2266
  {
1955
2267
  "data-testid": `job-header-subtitle-${i}`,
1956
2268
  className: "flex items-center",
1957
2269
  children: [
1958
2270
  subtitle,
1959
- i < subtitles.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react15.Dot, { className: "mx-1 shrink-0", size: 10 })
2271
+ i < subtitles.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react17.Dot, { className: "mx-1 shrink-0", size: 10 })
1960
2272
  ]
1961
2273
  },
1962
2274
  subtitle
1963
2275
  )) })
1964
2276
  ] }),
1965
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
2277
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
1966
2278
  "div",
1967
2279
  {
1968
2280
  "data-testid": "job-header-content",
1969
2281
  className: "mt-2 flex w-full flex-row flex-wrap items-center justify-between gap-1",
1970
2282
  children: [
1971
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
2283
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
1972
2284
  "h2",
1973
2285
  {
1974
2286
  "data-testid": "job-header-title",
@@ -1976,7 +2288,7 @@ function JobHeader({
1976
2288
  children: title
1977
2289
  }
1978
2290
  ),
1979
- !!actions && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
2291
+ !!actions && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
1980
2292
  "div",
1981
2293
  {
1982
2294
  className: "flex w-full justify-end gap-2 md:w-auto",
@@ -1987,12 +2299,12 @@ function JobHeader({
1987
2299
  ]
1988
2300
  }
1989
2301
  ),
1990
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
2302
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
1991
2303
  "div",
1992
2304
  {
1993
2305
  "data-testid": "job-header-tags",
1994
2306
  className: "flex flex-row flex-wrap items-center justify-start gap-2",
1995
- children: tags?.map(({ name, label, icon }) => /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
2307
+ children: tags?.map(({ name, label, icon }) => /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
1996
2308
  Chip_default,
1997
2309
  {
1998
2310
  size: "small",
@@ -2001,7 +2313,7 @@ function JobHeader({
2001
2313
  "data-testid": `job-header-tag-${name}`,
2002
2314
  children: [
2003
2315
  renderIcon(icon),
2004
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { children: label })
2316
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { children: label })
2005
2317
  ]
2006
2318
  },
2007
2319
  name
@@ -2018,7 +2330,7 @@ function JobHeader({
2018
2330
  var DateFns = __toESM(require("date-fns"), 1);
2019
2331
 
2020
2332
  // src/hooks/useDisplayText.ts
2021
- var import_react13 = require("react");
2333
+ var import_react17 = require("react");
2022
2334
 
2023
2335
  // src/lib/mappings.ts
2024
2336
  var employmentTypeDisplayText = {
@@ -2462,9 +2774,9 @@ var DisplayTextService = class {
2462
2774
 
2463
2775
  // src/hooks/useDisplayText.ts
2464
2776
  var useDisplayText = (scope, value) => {
2465
- const [displayText, setDisplayText] = (0, import_react13.useState)("");
2466
- const displayService = (0, import_react13.useMemo)(() => new DisplayTextService(), []);
2467
- (0, import_react13.useEffect)(() => {
2777
+ const [displayText, setDisplayText] = (0, import_react17.useState)("");
2778
+ const displayService = (0, import_react17.useMemo)(() => new DisplayTextService(), []);
2779
+ (0, import_react17.useEffect)(() => {
2468
2780
  if (!displayService || !value) {
2469
2781
  setDisplayText("");
2470
2782
  return;
@@ -2603,7 +2915,7 @@ function salaryRange(salary) {
2603
2915
  }
2604
2916
 
2605
2917
  // src/components/jobPost/JobPost.tsx
2606
- var import_jsx_runtime33 = require("react/jsx-runtime");
2918
+ var import_jsx_runtime39 = require("react/jsx-runtime");
2607
2919
  function JobPost({
2608
2920
  job,
2609
2921
  bannerSrc,
@@ -2647,7 +2959,7 @@ function JobPost({
2647
2959
  label: formattedLocation
2648
2960
  }
2649
2961
  ].filter((t) => !!t);
2650
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
2962
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
2651
2963
  "div",
2652
2964
  {
2653
2965
  className: cn(
@@ -2655,7 +2967,7 @@ function JobPost({
2655
2967
  !standalone && "border-1 rounded-3xl border-grey-5"
2656
2968
  ),
2657
2969
  children: [
2658
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
2970
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2659
2971
  JobHeader,
2660
2972
  {
2661
2973
  title: job.title,
@@ -2669,16 +2981,16 @@ function JobPost({
2669
2981
  tags
2670
2982
  }
2671
2983
  ),
2672
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex flex-col gap-8 px-6", children: [
2673
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(JobDescription, { description: job.description }),
2674
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
2984
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex flex-col gap-8 px-6", children: [
2985
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(JobDescription, { description: job.description }),
2986
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2675
2987
  CompanyTake,
2676
2988
  {
2677
2989
  avatarSrc,
2678
2990
  content: job.hiringOrganization?.companyNdg?.companyNdgTake
2679
2991
  }
2680
2992
  ),
2681
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
2993
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2682
2994
  CompanyInformation,
2683
2995
  {
2684
2996
  name: job.hiringOrganization?.companyName ?? "",
@@ -2688,7 +3000,7 @@ function JobPost({
2688
3000
  website: job.hiringOrganization?.companyWebsite
2689
3001
  }
2690
3002
  ),
2691
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3003
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2692
3004
  CompanyBenefits,
2693
3005
  {
2694
3006
  benefits: job.hiringOrganization?.companyCareers?.companyBenefits?.map((b) => b.title).filter((d) => d !== void 0)
@@ -2924,6 +3236,7 @@ var jobPostSchema = import_zod3.z.object({
2924
3236
  CompanyService,
2925
3237
  CompanyTake,
2926
3238
  Counter,
3239
+ DatePicker,
2927
3240
  Icon,
2928
3241
  Input,
2929
3242
  InputOtp,
@@ -2936,9 +3249,11 @@ var jobPostSchema = import_zod3.z.object({
2936
3249
  ListItem,
2937
3250
  MapComponent,
2938
3251
  PlacesQueryInput,
3252
+ Radio,
2939
3253
  ReadMore,
2940
3254
  Select,
2941
3255
  SharedService,
3256
+ Switch,
2942
3257
  WindowHistoryProvider,
2943
3258
  cn,
2944
3259
  fetchLocation,