@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.
- package/dist/components/jobPost/JobDescription.cjs +2 -1
- package/dist/components/jobPost/JobDescription.cjs.map +1 -1
- package/dist/components/jobPost/JobDescription.js +2 -1
- package/dist/components/jobPost/JobDescription.js.map +1 -1
- package/dist/components/jobPost/JobPost.cjs +2 -1
- package/dist/components/jobPost/JobPost.cjs.map +1 -1
- package/dist/components/jobPost/JobPost.d.cts +1 -1
- package/dist/components/jobPost/JobPost.d.ts +1 -1
- package/dist/components/jobPost/JobPost.js +2 -1
- package/dist/components/jobPost/JobPost.js.map +1 -1
- package/dist/components/primitives/command.d.cts +7 -7
- package/dist/components/primitives/command.d.ts +7 -7
- package/dist/components/primitives/radio-group.cjs +74 -0
- package/dist/components/primitives/radio-group.cjs.map +1 -0
- package/dist/components/primitives/radio-group.d.cts +9 -0
- package/dist/components/primitives/radio-group.d.ts +9 -0
- package/dist/components/primitives/radio-group.js +39 -0
- package/dist/components/primitives/radio-group.js.map +1 -0
- package/dist/components/ui/Button.cjs +2 -1
- package/dist/components/ui/Button.cjs.map +1 -1
- package/dist/components/ui/Button.d.cts +1 -1
- package/dist/components/ui/Button.d.ts +1 -1
- package/dist/components/ui/Button.js +2 -1
- package/dist/components/ui/Button.js.map +1 -1
- package/dist/components/ui/Checkbox.cjs +38 -13
- package/dist/components/ui/Checkbox.cjs.map +1 -1
- package/dist/components/ui/Checkbox.d.cts +2 -1
- package/dist/components/ui/Checkbox.d.ts +2 -1
- package/dist/components/ui/Checkbox.js +31 -11
- package/dist/components/ui/Checkbox.js.map +1 -1
- package/dist/components/ui/Combobox.cjs +62 -41
- package/dist/components/ui/Combobox.cjs.map +1 -1
- package/dist/components/ui/Combobox.js +53 -32
- package/dist/components/ui/Combobox.js.map +1 -1
- package/dist/components/ui/DatePicker.cjs +133 -149
- package/dist/components/ui/DatePicker.cjs.map +1 -1
- package/dist/components/ui/DatePicker.js +132 -148
- package/dist/components/ui/DatePicker.js.map +1 -1
- package/dist/components/ui/ListItem.cjs +40 -21
- package/dist/components/ui/ListItem.cjs.map +1 -1
- package/dist/components/ui/ListItem.js +36 -17
- package/dist/components/ui/ListItem.js.map +1 -1
- package/dist/components/ui/Radio.cjs +177 -0
- package/dist/components/ui/Radio.cjs.map +1 -0
- package/dist/components/ui/Radio.d.cts +27 -0
- package/dist/components/ui/Radio.d.ts +27 -0
- package/dist/components/ui/Radio.js +142 -0
- package/dist/components/ui/Radio.js.map +1 -0
- package/dist/components/ui/ReadMore.cjs +2 -1
- package/dist/components/ui/ReadMore.cjs.map +1 -1
- package/dist/components/ui/ReadMore.js +2 -1
- package/dist/components/ui/ReadMore.js.map +1 -1
- package/dist/components/ui/Select.cjs +48 -24
- package/dist/components/ui/Select.cjs.map +1 -1
- package/dist/components/ui/Select.js +49 -25
- package/dist/components/ui/Select.js.map +1 -1
- package/dist/components/ui/Switch.cjs +83 -0
- package/dist/components/ui/Switch.cjs.map +1 -0
- package/dist/components/ui/Switch.d.cts +10 -0
- package/dist/components/ui/Switch.d.ts +10 -0
- package/dist/components/ui/Switch.js +48 -0
- package/dist/components/ui/Switch.js.map +1 -0
- package/dist/components/ui/buttonShadcn.cjs +2 -9
- package/dist/components/ui/buttonShadcn.cjs.map +1 -1
- package/dist/components/ui/buttonShadcn.d.cts +2 -2
- package/dist/components/ui/buttonShadcn.d.ts +2 -2
- package/dist/components/ui/buttonShadcn.js +2 -9
- package/dist/components/ui/buttonShadcn.js.map +1 -1
- package/dist/components/ui/calendar.cjs +7 -17
- package/dist/components/ui/calendar.cjs.map +1 -1
- package/dist/components/ui/calendar.js +7 -17
- package/dist/components/ui/calendar.js.map +1 -1
- package/dist/{displayText-CQRZ2fOT.d.cts → displayText-ca_ofoAC.d.cts} +2 -2
- package/dist/{displayText-LlsLfkTS.d.ts → displayText-eoAHqSNz.d.ts} +2 -2
- package/dist/hooks/useDisplayText.d.cts +3 -3
- package/dist/hooks/useDisplayText.d.ts +3 -3
- package/dist/index.cjs +574 -259
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +13 -7
- package/dist/index.d.ts +13 -7
- package/dist/index.js +536 -224
- package/dist/index.js.map +1 -1
- package/dist/lib/locations.d.cts +2 -2
- package/dist/lib/locations.d.ts +2 -2
- package/dist/lib/mappings.d.cts +3 -3
- package/dist/lib/mappings.d.ts +3 -3
- package/dist/lib/salaryRange.d.cts +1 -1
- package/dist/lib/salaryRange.d.ts +1 -1
- package/dist/services/displayText.d.cts +3 -3
- package/dist/services/displayText.d.ts +3 -3
- package/dist/styles/globals.css +78 -0
- package/dist/styles/globals.css.map +1 -1
- package/dist/types/data/company_service_latest.d.cts +1 -1
- package/dist/types/data/company_service_latest.d.ts +1 -1
- package/dist/types/data/job_posting_service_latest.d.cts +1 -1
- package/dist/types/data/job_posting_service_latest.d.ts +1 -1
- package/dist/types/data/shared_pickle_output_latest.d.cts +1 -1
- package/dist/types/data/shared_pickle_output_latest.d.ts +1 -1
- package/package.json +7 -10
- package/dist/{company_service_latest-8IMr2hMZ.d.cts → company_service_latest-CRQFzMep.d.cts} +364 -364
- package/dist/{company_service_latest-8IMr2hMZ.d.ts → company_service_latest-CRQFzMep.d.ts} +364 -364
- package/dist/{job_posting_service_latest-CKITrYyz.d.cts → job_posting_service_latest-BOVbz68F.d.cts} +314 -314
- package/dist/{job_posting_service_latest-CKITrYyz.d.ts → job_posting_service_latest-BOVbz68F.d.ts} +314 -314
- package/dist/{shared_pickle_output_latest-Cwf2EMdH.d.cts → shared_pickle_output_latest-DKOmTyYk.d.cts} +18 -18
- package/dist/{shared_pickle_output_latest-Cwf2EMdH.d.ts → shared_pickle_output_latest-DKOmTyYk.d.ts} +18 -18
package/dist/index.js
CHANGED
|
@@ -4,78 +4,11 @@ var __export = (target, all) => {
|
|
|
4
4
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
5
5
|
};
|
|
6
6
|
|
|
7
|
-
// src/components/ui/Checkbox.tsx
|
|
8
|
-
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
9
|
-
import { Check, Minus } from "lucide-react";
|
|
10
|
-
import {
|
|
11
|
-
forwardRef
|
|
12
|
-
} from "react";
|
|
13
|
-
|
|
14
|
-
// src/lib/utils.ts
|
|
15
|
-
import { clsx } from "clsx";
|
|
16
|
-
import { twMerge } from "tailwind-merge";
|
|
17
|
-
function cn(...inputs) {
|
|
18
|
-
return twMerge(clsx(inputs));
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
// src/components/ui/Checkbox.tsx
|
|
22
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
23
|
-
var CheckboxToggle = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
24
|
-
CheckboxPrimitive.Root,
|
|
25
|
-
{
|
|
26
|
-
ref,
|
|
27
|
-
className: cn(
|
|
28
|
-
"group",
|
|
29
|
-
"peer",
|
|
30
|
-
"h-5",
|
|
31
|
-
"w-5",
|
|
32
|
-
"shrink-0",
|
|
33
|
-
"rounded-md",
|
|
34
|
-
"border",
|
|
35
|
-
"border-grey-10",
|
|
36
|
-
"outline",
|
|
37
|
-
"outline-1",
|
|
38
|
-
"outline-offset-2",
|
|
39
|
-
"outline-transparent",
|
|
40
|
-
"hover:border-grey-20",
|
|
41
|
-
"focus:outline-purple-100",
|
|
42
|
-
"active:border-green-80",
|
|
43
|
-
"disabled:cursor-not-allowed",
|
|
44
|
-
"disabled:opacity-50",
|
|
45
|
-
"data-[state=checked]:bg-green-80",
|
|
46
|
-
"data-[state=indeterminate]:bg-green-80",
|
|
47
|
-
"data-[state=checked]:text-white",
|
|
48
|
-
"data-[state=indeterminate]:text-primary-foreground",
|
|
49
|
-
props.disabled && "data-[state=checked]:text-foreground bg-grey-20 data-[state=checked]:bg-grey-20",
|
|
50
|
-
className
|
|
51
|
-
),
|
|
52
|
-
...props,
|
|
53
|
-
children: /* @__PURE__ */ jsxs(CheckboxPrimitive.Indicator, { className: "flex items-center justify-center text-current", children: [
|
|
54
|
-
/* @__PURE__ */ jsx(Check, { className: "hidden h-4 w-4 group-data-[state=checked]:block" }),
|
|
55
|
-
/* @__PURE__ */ jsx(Minus, { className: "hidden h-4 w-4 group-data-[state=indeterminate]:block" })
|
|
56
|
-
] })
|
|
57
|
-
}
|
|
58
|
-
));
|
|
59
|
-
CheckboxToggle.displayName = CheckboxPrimitive.Root.displayName;
|
|
60
|
-
var Checkbox = forwardRef(
|
|
61
|
-
({ classNames, children, ...props }, ref) => {
|
|
62
|
-
const { disabled } = props;
|
|
63
|
-
const id = props.id ?? `${props.name ?? props.value?.toString()}-checkbox`;
|
|
64
|
-
const labelClassName = disabled ? "text-grey-40 pointer-events-none" : "";
|
|
65
|
-
return /* @__PURE__ */ jsxs("div", { className: cn("flex space-x-2", classNames?.wrapper), children: [
|
|
66
|
-
/* @__PURE__ */ jsx(CheckboxToggle, { id, disabled, ref, ...props }),
|
|
67
|
-
/* @__PURE__ */ jsx("label", { htmlFor: id, className: cn(labelClassName, classNames?.label), children })
|
|
68
|
-
] });
|
|
69
|
-
}
|
|
70
|
-
);
|
|
71
|
-
Checkbox.displayName = "Checkbox";
|
|
72
|
-
var Checkbox_default = Checkbox;
|
|
73
|
-
|
|
74
7
|
// src/components/ui/Chip.tsx
|
|
75
8
|
import { cva } from "cva";
|
|
76
|
-
import { twMerge
|
|
77
|
-
import { jsx
|
|
78
|
-
var Chip = ({ className, variant, size, ...props }) => /* @__PURE__ */
|
|
9
|
+
import { twMerge } from "tailwind-merge";
|
|
10
|
+
import { jsx } from "react/jsx-runtime";
|
|
11
|
+
var Chip = ({ className, variant, size, ...props }) => /* @__PURE__ */ jsx("div", { className: twMerge(chipVariants({ variant, size, className })), ...props });
|
|
79
12
|
var chipVariants = cva(["flex", "items-center", "rounded-3xl", "border", "w-fit"], {
|
|
80
13
|
variants: {
|
|
81
14
|
variant: {
|
|
@@ -100,13 +33,20 @@ var Chip_default = Chip;
|
|
|
100
33
|
// src/components/ui/Input.tsx
|
|
101
34
|
import { cva as cva2 } from "cva";
|
|
102
35
|
import { icons, X } from "lucide-react";
|
|
103
|
-
import { forwardRef as
|
|
36
|
+
import { forwardRef as forwardRef2 } from "react";
|
|
37
|
+
|
|
38
|
+
// src/lib/utils.ts
|
|
39
|
+
import { clsx } from "clsx";
|
|
40
|
+
import { twMerge as twMerge2 } from "tailwind-merge";
|
|
41
|
+
function cn(...inputs) {
|
|
42
|
+
return twMerge2(clsx(inputs));
|
|
43
|
+
}
|
|
104
44
|
|
|
105
45
|
// src/components/ui/ErrorMessage.tsx
|
|
106
|
-
import { jsx as
|
|
46
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
107
47
|
function ErrorMessage({ message, className, ...props }) {
|
|
108
48
|
if (!message) return null;
|
|
109
|
-
return /* @__PURE__ */
|
|
49
|
+
return /* @__PURE__ */ jsx2("p", { className: cn("px-1 text-xs text-red-600", className), ...props, children: message });
|
|
110
50
|
}
|
|
111
51
|
var ErrorMessage_default = ErrorMessage;
|
|
112
52
|
|
|
@@ -116,11 +56,11 @@ import { InfoIcon } from "lucide-react";
|
|
|
116
56
|
// src/components/primitives/tooltip.tsx
|
|
117
57
|
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
118
58
|
import * as React from "react";
|
|
119
|
-
import { jsx as
|
|
59
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
120
60
|
var TooltipProvider = TooltipPrimitive.Provider;
|
|
121
61
|
var Tooltip = TooltipPrimitive.Root;
|
|
122
62
|
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
123
|
-
var TooltipContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */
|
|
63
|
+
var TooltipContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx3(
|
|
124
64
|
TooltipPrimitive.Content,
|
|
125
65
|
{
|
|
126
66
|
ref,
|
|
@@ -135,11 +75,11 @@ var TooltipContent = React.forwardRef(({ className, sideOffset = 4, ...props },
|
|
|
135
75
|
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
136
76
|
|
|
137
77
|
// src/components/ui/Label.tsx
|
|
138
|
-
import { jsx as
|
|
78
|
+
import { jsx as jsx4, jsxs } from "react/jsx-runtime";
|
|
139
79
|
function Label({ text, required, description, className, ...props }) {
|
|
140
80
|
if (!text) return null;
|
|
141
|
-
return /* @__PURE__ */
|
|
142
|
-
/* @__PURE__ */
|
|
81
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex w-full flex-row gap-1", children: [
|
|
82
|
+
/* @__PURE__ */ jsxs(
|
|
143
83
|
"label",
|
|
144
84
|
{
|
|
145
85
|
className: cn(
|
|
@@ -149,21 +89,21 @@ function Label({ text, required, description, className, ...props }) {
|
|
|
149
89
|
...props,
|
|
150
90
|
children: [
|
|
151
91
|
text,
|
|
152
|
-
required && /* @__PURE__ */
|
|
92
|
+
required && /* @__PURE__ */ jsx4("span", { className: "text-red-600", children: "\xA0*" })
|
|
153
93
|
]
|
|
154
94
|
}
|
|
155
95
|
),
|
|
156
|
-
!!description && /* @__PURE__ */
|
|
157
|
-
/* @__PURE__ */
|
|
158
|
-
/* @__PURE__ */
|
|
96
|
+
!!description && /* @__PURE__ */ jsx4(TooltipProvider, { children: /* @__PURE__ */ jsxs(Tooltip, { children: [
|
|
97
|
+
/* @__PURE__ */ jsx4(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx4(InfoIcon, { className: "h-4 w-4" }) }),
|
|
98
|
+
/* @__PURE__ */ jsx4(TooltipContent, { className: "max-w-48", children: description })
|
|
159
99
|
] }) })
|
|
160
100
|
] });
|
|
161
101
|
}
|
|
162
102
|
var Label_default = Label;
|
|
163
103
|
|
|
164
104
|
// src/components/ui/Input.tsx
|
|
165
|
-
import { jsx as
|
|
166
|
-
var Input =
|
|
105
|
+
import { jsx as jsx5, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
106
|
+
var Input = forwardRef2(
|
|
167
107
|
({ label, error, description, theme, icon, onClear, value, onChange, classNames, ...props }, ref) => {
|
|
168
108
|
const handleClear = () => {
|
|
169
109
|
onChange?.({ target: { value: "" } });
|
|
@@ -173,8 +113,8 @@ var Input = forwardRef3(
|
|
|
173
113
|
const placeholder = props.placeholder ?? (icon === "Search" ? "Search..." : "");
|
|
174
114
|
const hasIcon = !!icon;
|
|
175
115
|
const iconColor = theme === "dark" ? "text-white" : "text-grey-80";
|
|
176
|
-
return /* @__PURE__ */
|
|
177
|
-
label && /* @__PURE__ */
|
|
116
|
+
return /* @__PURE__ */ jsxs2("div", { className: "group flex w-full flex-col gap-1", "data-testid": `input-wrapper-${props.id}`, children: [
|
|
117
|
+
label && /* @__PURE__ */ jsx5(
|
|
178
118
|
Label_default,
|
|
179
119
|
{
|
|
180
120
|
text: label,
|
|
@@ -184,14 +124,14 @@ var Input = forwardRef3(
|
|
|
184
124
|
className: classNames?.label
|
|
185
125
|
}
|
|
186
126
|
),
|
|
187
|
-
/* @__PURE__ */
|
|
188
|
-
IconComponent && /* @__PURE__ */
|
|
127
|
+
/* @__PURE__ */ jsxs2("div", { className: "relative flex flex-row items-center", children: [
|
|
128
|
+
IconComponent && /* @__PURE__ */ jsx5(
|
|
189
129
|
IconComponent,
|
|
190
130
|
{
|
|
191
131
|
className: `absolute left-3 h-4 w-4 ${iconColor} opacity-50 group-hover:opacity-100`
|
|
192
132
|
}
|
|
193
133
|
),
|
|
194
|
-
/* @__PURE__ */
|
|
134
|
+
/* @__PURE__ */ jsx5(
|
|
195
135
|
"input",
|
|
196
136
|
{
|
|
197
137
|
className: cn(inputVariants({ theme, hasIcon })),
|
|
@@ -203,7 +143,7 @@ var Input = forwardRef3(
|
|
|
203
143
|
...props
|
|
204
144
|
}
|
|
205
145
|
),
|
|
206
|
-
hasIcon && value && /* @__PURE__ */
|
|
146
|
+
hasIcon && value && /* @__PURE__ */ jsx5(
|
|
207
147
|
X,
|
|
208
148
|
{
|
|
209
149
|
className: `absolute right-3 h-4 w-4 cursor-pointer ${iconColor}`,
|
|
@@ -212,7 +152,7 @@ var Input = forwardRef3(
|
|
|
212
152
|
}
|
|
213
153
|
)
|
|
214
154
|
] }),
|
|
215
|
-
/* @__PURE__ */
|
|
155
|
+
/* @__PURE__ */ jsx5(ErrorMessage_default, { message: error })
|
|
216
156
|
] });
|
|
217
157
|
}
|
|
218
158
|
);
|
|
@@ -270,6 +210,77 @@ var Input_default = Input;
|
|
|
270
210
|
// src/components/ui/ListItem.tsx
|
|
271
211
|
import { CheckIcon } from "lucide-react";
|
|
272
212
|
import { icons as icons2 } from "lucide-react";
|
|
213
|
+
|
|
214
|
+
// src/components/ui/Checkbox.tsx
|
|
215
|
+
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
216
|
+
import { Check, Minus } from "lucide-react";
|
|
217
|
+
import {
|
|
218
|
+
forwardRef as forwardRef3
|
|
219
|
+
} from "react";
|
|
220
|
+
import { jsx as jsx6, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
221
|
+
var CheckboxToggle = forwardRef3(({ className, ...props }, ref) => /* @__PURE__ */ jsx6(
|
|
222
|
+
CheckboxPrimitive.Root,
|
|
223
|
+
{
|
|
224
|
+
ref,
|
|
225
|
+
className: cn(
|
|
226
|
+
"group",
|
|
227
|
+
"peer",
|
|
228
|
+
"h-5",
|
|
229
|
+
"w-5",
|
|
230
|
+
"shrink-0",
|
|
231
|
+
"rounded-md",
|
|
232
|
+
"border",
|
|
233
|
+
"border-grey-10",
|
|
234
|
+
"outline",
|
|
235
|
+
"outline-1",
|
|
236
|
+
"outline-offset-2",
|
|
237
|
+
"outline-transparent",
|
|
238
|
+
"hover:border-grey-20",
|
|
239
|
+
"focus:outline-purple-100",
|
|
240
|
+
"active:border-green-80",
|
|
241
|
+
"disabled:cursor-not-allowed",
|
|
242
|
+
"disabled:opacity-50",
|
|
243
|
+
"data-[state=checked]:bg-green-80",
|
|
244
|
+
"data-[state=indeterminate]:bg-green-80",
|
|
245
|
+
"data-[state=checked]:text-white",
|
|
246
|
+
"data-[state=indeterminate]:text-primary-foreground",
|
|
247
|
+
props.disabled && "data-[state=checked]:text-foreground bg-grey-20 data-[state=checked]:bg-grey-20",
|
|
248
|
+
className
|
|
249
|
+
),
|
|
250
|
+
...props,
|
|
251
|
+
children: /* @__PURE__ */ jsxs3(CheckboxPrimitive.Indicator, { className: "flex items-center justify-center text-current", children: [
|
|
252
|
+
/* @__PURE__ */ jsx6(Check, { className: "hidden h-4 w-4 group-data-[state=checked]:block" }),
|
|
253
|
+
/* @__PURE__ */ jsx6(Minus, { className: "hidden h-4 w-4 group-data-[state=indeterminate]:block" })
|
|
254
|
+
] })
|
|
255
|
+
}
|
|
256
|
+
));
|
|
257
|
+
CheckboxToggle.displayName = CheckboxPrimitive.Root.displayName;
|
|
258
|
+
var Checkbox = forwardRef3(
|
|
259
|
+
({ error, classNames, children, ...props }, ref) => {
|
|
260
|
+
const id = props.id ?? `${props.name ?? props.value?.toString()}-checkbox`;
|
|
261
|
+
return /* @__PURE__ */ jsxs3("div", { className: cn("flex space-x-2", classNames?.wrapper), children: [
|
|
262
|
+
/* @__PURE__ */ jsx6(CheckboxToggle, { id, ref, ...props }),
|
|
263
|
+
/* @__PURE__ */ jsxs3(
|
|
264
|
+
"label",
|
|
265
|
+
{
|
|
266
|
+
htmlFor: id,
|
|
267
|
+
className: cn(
|
|
268
|
+
"text-sm",
|
|
269
|
+
props.disabled && "pointer-events-none text-grey-40",
|
|
270
|
+
classNames?.label
|
|
271
|
+
),
|
|
272
|
+
children: [
|
|
273
|
+
children,
|
|
274
|
+
/* @__PURE__ */ jsx6(ErrorMessage_default, { message: error, className: "mt-1" })
|
|
275
|
+
]
|
|
276
|
+
}
|
|
277
|
+
)
|
|
278
|
+
] });
|
|
279
|
+
}
|
|
280
|
+
);
|
|
281
|
+
Checkbox.displayName = "Checkbox";
|
|
282
|
+
|
|
283
|
+
// src/components/ui/ListItem.tsx
|
|
273
284
|
import { jsx as jsx7, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
274
285
|
function ListItem({
|
|
275
286
|
icon,
|
|
@@ -300,7 +311,7 @@ function ListItem({
|
|
|
300
311
|
"data-state": isSelected ? "checked" : "unchecked",
|
|
301
312
|
children: [
|
|
302
313
|
optionIcon && /* @__PURE__ */ jsx7("span", { className: "mr-2", children: optionIcon }),
|
|
303
|
-
hasCheckbox && /* @__PURE__ */ jsx7(
|
|
314
|
+
hasCheckbox && /* @__PURE__ */ jsx7(Checkbox, { id: value, checked: isSelected, onClick: (e) => e.preventDefault() }),
|
|
304
315
|
/* @__PURE__ */ jsxs4("div", { children: [
|
|
305
316
|
/* @__PURE__ */ jsx7("p", { children: title }),
|
|
306
317
|
/* @__PURE__ */ jsx7("p", { className: "text-xs text-grey-80", children: description })
|
|
@@ -697,9 +708,20 @@ var Separator = React4.forwardRef(({ className, orientation = "horizontal", deco
|
|
|
697
708
|
Separator.displayName = SeparatorPrimitive.Root.displayName;
|
|
698
709
|
|
|
699
710
|
// src/components/ui/Select.tsx
|
|
700
|
-
import { jsx as jsx13, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
711
|
+
import { Fragment, jsx as jsx13, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
701
712
|
var Select = forwardRef7(
|
|
702
|
-
({
|
|
713
|
+
({
|
|
714
|
+
label,
|
|
715
|
+
options,
|
|
716
|
+
placeholder,
|
|
717
|
+
multiselect,
|
|
718
|
+
description,
|
|
719
|
+
classNames,
|
|
720
|
+
error,
|
|
721
|
+
id,
|
|
722
|
+
children: footer,
|
|
723
|
+
...props
|
|
724
|
+
}, ref) => {
|
|
703
725
|
const { value, defaultValue, dir, className, onChange, ...rest } = props;
|
|
704
726
|
const [selected, setSelected] = useState2([]);
|
|
705
727
|
const [open, setOpen] = useState2(false);
|
|
@@ -788,28 +810,30 @@ var Select = forwardRef7(
|
|
|
788
810
|
onPointerDownOutside: toggleOpen,
|
|
789
811
|
onKeyDown: closeOnEscape,
|
|
790
812
|
children: /* @__PURE__ */ jsxs8(SelectPrimitive.Viewport, { children: [
|
|
791
|
-
multiselect && !!chipLabels?.length && /* @__PURE__ */
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
/* @__PURE__ */
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
+
multiselect && !!chipLabels?.length && /* @__PURE__ */ jsxs8(Fragment, { children: [
|
|
814
|
+
/* @__PURE__ */ jsx13(
|
|
815
|
+
SelectPrimitive.Group,
|
|
816
|
+
{
|
|
817
|
+
className: "mb-2 flex flex-row flex-wrap gap-1 px-2",
|
|
818
|
+
"data-testid": "selected-labels",
|
|
819
|
+
children: chipLabels?.map(
|
|
820
|
+
(chip) => chip && /* @__PURE__ */ jsxs8(Chip_default, { size: "small", variant: "primary", children: [
|
|
821
|
+
/* @__PURE__ */ jsx13("span", { children: chip.title }),
|
|
822
|
+
/* @__PURE__ */ jsx13(
|
|
823
|
+
X3,
|
|
824
|
+
{
|
|
825
|
+
size: 18,
|
|
826
|
+
"data-testid": `chip-remove-${chip.value}`,
|
|
827
|
+
className: "cursor-pointer",
|
|
828
|
+
onClick: () => handleChange(chip.value)
|
|
829
|
+
}
|
|
830
|
+
)
|
|
831
|
+
] }, chip.title)
|
|
832
|
+
)
|
|
833
|
+
}
|
|
834
|
+
),
|
|
835
|
+
/* @__PURE__ */ jsx13(Separator, {})
|
|
836
|
+
] }),
|
|
813
837
|
options?.map(({ id: id2, title, value: value2 }) => /* @__PURE__ */ jsxs8(
|
|
814
838
|
SelectPrimitive.Item,
|
|
815
839
|
{
|
|
@@ -830,7 +854,18 @@ var Select = forwardRef7(
|
|
|
830
854
|
]
|
|
831
855
|
},
|
|
832
856
|
id2
|
|
833
|
-
))
|
|
857
|
+
)),
|
|
858
|
+
!!footer && /* @__PURE__ */ jsxs8(Fragment, { children: [
|
|
859
|
+
/* @__PURE__ */ jsx13(Separator, {}),
|
|
860
|
+
/* @__PURE__ */ jsx13(
|
|
861
|
+
SelectPrimitive.Group,
|
|
862
|
+
{
|
|
863
|
+
className: "mt-2 flex flex-row flex-wrap gap-1 px-2",
|
|
864
|
+
"data-testid": "selected-labels",
|
|
865
|
+
children: footer
|
|
866
|
+
}
|
|
867
|
+
)
|
|
868
|
+
] })
|
|
834
869
|
] })
|
|
835
870
|
}
|
|
836
871
|
) })
|
|
@@ -939,12 +974,13 @@ import { cva as cva5 } from "cva";
|
|
|
939
974
|
import { forwardRef as forwardRef9 } from "react";
|
|
940
975
|
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
941
976
|
var Button = forwardRef9(
|
|
942
|
-
({ className, variant, size, asChild = false, ...props }, ref) => {
|
|
977
|
+
({ className, variant, size, asChild = false, type = "button", ...props }, ref) => {
|
|
943
978
|
const Component = asChild ? Slot : "button";
|
|
944
979
|
return /* @__PURE__ */ jsx17(
|
|
945
980
|
Component,
|
|
946
981
|
{
|
|
947
982
|
className: cn(buttonVariants({ variant, size, className })),
|
|
983
|
+
type,
|
|
948
984
|
ref,
|
|
949
985
|
...props
|
|
950
986
|
}
|
|
@@ -1262,12 +1298,111 @@ var triggerVariants = cva6(
|
|
|
1262
1298
|
}
|
|
1263
1299
|
);
|
|
1264
1300
|
|
|
1301
|
+
// src/components/ui/Switch.tsx
|
|
1302
|
+
import * as SwitchPrimitive from "@radix-ui/react-switch";
|
|
1303
|
+
import { forwardRef as forwardRef12 } from "react";
|
|
1304
|
+
import { jsx as jsx20, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1305
|
+
var Switch = forwardRef12(
|
|
1306
|
+
({ label, error, className, ...props }, ref) => {
|
|
1307
|
+
return /* @__PURE__ */ jsxs11("div", { className: cn("flex items-center", props.disabled && "opacity-50"), children: [
|
|
1308
|
+
/* @__PURE__ */ jsx20(
|
|
1309
|
+
SwitchPrimitive.Root,
|
|
1310
|
+
{
|
|
1311
|
+
className: cn(
|
|
1312
|
+
"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",
|
|
1313
|
+
className
|
|
1314
|
+
),
|
|
1315
|
+
ref,
|
|
1316
|
+
...props,
|
|
1317
|
+
children: /* @__PURE__ */ jsx20(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]" })
|
|
1318
|
+
}
|
|
1319
|
+
),
|
|
1320
|
+
label && /* @__PURE__ */ jsxs11("label", { className: "pl-4 text-sm leading-none text-inherit", htmlFor: props.name, children: [
|
|
1321
|
+
label,
|
|
1322
|
+
/* @__PURE__ */ jsx20(ErrorMessage_default, { message: error, className: "mt-1" })
|
|
1323
|
+
] })
|
|
1324
|
+
] });
|
|
1325
|
+
}
|
|
1326
|
+
);
|
|
1327
|
+
Switch.displayName = "Switch";
|
|
1328
|
+
|
|
1329
|
+
// src/components/ui/Radio.tsx
|
|
1330
|
+
import { forwardRef as forwardRef14 } from "react";
|
|
1331
|
+
|
|
1332
|
+
// src/components/primitives/radio-group.tsx
|
|
1333
|
+
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
|
1334
|
+
import { forwardRef as forwardRef13 } from "react";
|
|
1335
|
+
import { jsx as jsx21, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
1336
|
+
var RadioGroup = forwardRef13(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(RadioGroupPrimitive.Root, { className, ...props, ref }));
|
|
1337
|
+
RadioGroup.displayName = RadioGroupPrimitive.Root.displayName;
|
|
1338
|
+
var RadioGroupItem = forwardRef13(({ className, children, ...props }, ref) => {
|
|
1339
|
+
return /* @__PURE__ */ jsxs12("div", { className: "group flex flex-row items-center gap-2", children: [
|
|
1340
|
+
/* @__PURE__ */ jsx21(
|
|
1341
|
+
RadioGroupPrimitive.Item,
|
|
1342
|
+
{
|
|
1343
|
+
ref,
|
|
1344
|
+
className: cn(
|
|
1345
|
+
"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",
|
|
1346
|
+
className
|
|
1347
|
+
),
|
|
1348
|
+
...props
|
|
1349
|
+
}
|
|
1350
|
+
),
|
|
1351
|
+
/* @__PURE__ */ jsx21("label", { htmlFor: props.id, className: "text-sm peer-data-[disabled]:text-grey-40", children })
|
|
1352
|
+
] });
|
|
1353
|
+
});
|
|
1354
|
+
RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
|
|
1355
|
+
|
|
1356
|
+
// src/components/ui/Radio.tsx
|
|
1357
|
+
import { jsx as jsx22, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
1358
|
+
var Radio = forwardRef14(
|
|
1359
|
+
({
|
|
1360
|
+
label,
|
|
1361
|
+
error,
|
|
1362
|
+
description,
|
|
1363
|
+
options,
|
|
1364
|
+
classNames,
|
|
1365
|
+
onChange: handleValueChange,
|
|
1366
|
+
orientation,
|
|
1367
|
+
...props
|
|
1368
|
+
}, ref) => {
|
|
1369
|
+
return /* @__PURE__ */ jsxs13("div", { className: cn("flex flex-col gap-1", classNames?.root), children: [
|
|
1370
|
+
/* @__PURE__ */ jsx22(Label_default, { text: label, description, required: props.required }),
|
|
1371
|
+
/* @__PURE__ */ jsx22(
|
|
1372
|
+
RadioGroup,
|
|
1373
|
+
{
|
|
1374
|
+
ref,
|
|
1375
|
+
className: cn(
|
|
1376
|
+
"flex text-sm",
|
|
1377
|
+
orientation === "vertical" ? "flex-col gap-2" : "flex-row gap-4",
|
|
1378
|
+
classNames?.group
|
|
1379
|
+
),
|
|
1380
|
+
onValueChange: handleValueChange,
|
|
1381
|
+
...props,
|
|
1382
|
+
children: options?.map(({ id, title, value }) => /* @__PURE__ */ jsx22(
|
|
1383
|
+
RadioGroupItem,
|
|
1384
|
+
{
|
|
1385
|
+
value,
|
|
1386
|
+
id: `radio-group-item-${title}`,
|
|
1387
|
+
className: classNames?.item,
|
|
1388
|
+
children: title
|
|
1389
|
+
},
|
|
1390
|
+
id
|
|
1391
|
+
))
|
|
1392
|
+
}
|
|
1393
|
+
),
|
|
1394
|
+
/* @__PURE__ */ jsx22(ErrorMessage_default, { message: error })
|
|
1395
|
+
] });
|
|
1396
|
+
}
|
|
1397
|
+
);
|
|
1398
|
+
Radio.displayName = "Radio";
|
|
1399
|
+
|
|
1265
1400
|
// src/components/ui/Counter.tsx
|
|
1266
1401
|
import { cva as cva7 } from "cva";
|
|
1267
1402
|
import { Minus as Minus2, Plus } from "lucide-react";
|
|
1268
|
-
import { forwardRef as
|
|
1269
|
-
import { jsx as
|
|
1270
|
-
var Counter =
|
|
1403
|
+
import { forwardRef as forwardRef15, useEffect as useEffect4, useState as useState4 } from "react";
|
|
1404
|
+
import { jsx as jsx23, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
1405
|
+
var Counter = forwardRef15(
|
|
1271
1406
|
({ label, error, min, max, step = 1, description, theme, value, classNames, onChange, ...props }, ref) => {
|
|
1272
1407
|
const [count, setCount] = useState4(0);
|
|
1273
1408
|
useEffect4(() => {
|
|
@@ -1301,13 +1436,13 @@ var Counter = forwardRef12(
|
|
|
1301
1436
|
onChange?.(newValue);
|
|
1302
1437
|
setCount(newValue);
|
|
1303
1438
|
};
|
|
1304
|
-
return /* @__PURE__ */
|
|
1439
|
+
return /* @__PURE__ */ jsxs14(
|
|
1305
1440
|
"div",
|
|
1306
1441
|
{
|
|
1307
1442
|
className: cn("flex w-auto flex-col gap-1", classNames?.root),
|
|
1308
1443
|
"data-testid": `counter-wrapper-${props.id}`,
|
|
1309
1444
|
children: [
|
|
1310
|
-
label && /* @__PURE__ */
|
|
1445
|
+
label && /* @__PURE__ */ jsx23(
|
|
1311
1446
|
Label_default,
|
|
1312
1447
|
{
|
|
1313
1448
|
text: label,
|
|
@@ -1317,17 +1452,17 @@ var Counter = forwardRef12(
|
|
|
1317
1452
|
className: classNames?.label
|
|
1318
1453
|
}
|
|
1319
1454
|
),
|
|
1320
|
-
/* @__PURE__ */
|
|
1321
|
-
/* @__PURE__ */
|
|
1455
|
+
/* @__PURE__ */ jsxs14("div", { className: "relative flex w-[122px] flex-row items-center", children: [
|
|
1456
|
+
/* @__PURE__ */ jsx23(
|
|
1322
1457
|
"button",
|
|
1323
1458
|
{
|
|
1324
1459
|
type: "button",
|
|
1325
1460
|
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",
|
|
1326
1461
|
onClick: decrement,
|
|
1327
|
-
children: /* @__PURE__ */
|
|
1462
|
+
children: /* @__PURE__ */ jsx23(Minus2, { className: "h-4 w-4 text-green-100" })
|
|
1328
1463
|
}
|
|
1329
1464
|
),
|
|
1330
|
-
/* @__PURE__ */
|
|
1465
|
+
/* @__PURE__ */ jsx23(
|
|
1331
1466
|
"input",
|
|
1332
1467
|
{
|
|
1333
1468
|
className: cn(counterVariants({ theme }), classNames?.input),
|
|
@@ -1338,17 +1473,17 @@ var Counter = forwardRef12(
|
|
|
1338
1473
|
...props
|
|
1339
1474
|
}
|
|
1340
1475
|
),
|
|
1341
|
-
/* @__PURE__ */
|
|
1476
|
+
/* @__PURE__ */ jsx23(
|
|
1342
1477
|
"button",
|
|
1343
1478
|
{
|
|
1344
1479
|
type: "button",
|
|
1345
1480
|
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",
|
|
1346
1481
|
onClick: increment,
|
|
1347
|
-
children: /* @__PURE__ */
|
|
1482
|
+
children: /* @__PURE__ */ jsx23(Plus, { className: "h-4 w-4 text-green-100" })
|
|
1348
1483
|
}
|
|
1349
1484
|
)
|
|
1350
1485
|
] }),
|
|
1351
|
-
/* @__PURE__ */
|
|
1486
|
+
/* @__PURE__ */ jsx23(ErrorMessage_default, { message: error })
|
|
1352
1487
|
]
|
|
1353
1488
|
}
|
|
1354
1489
|
);
|
|
@@ -1408,13 +1543,13 @@ var counterVariants = cva7(
|
|
|
1408
1543
|
// src/components/ui/Icon.tsx
|
|
1409
1544
|
import { Slot as Slot2 } from "@radix-ui/react-slot";
|
|
1410
1545
|
import { cva as cva8 } from "cva";
|
|
1411
|
-
import { forwardRef as
|
|
1546
|
+
import { forwardRef as forwardRef16 } from "react";
|
|
1412
1547
|
import { twMerge as twMerge3 } from "tailwind-merge";
|
|
1413
|
-
import { jsx as
|
|
1414
|
-
var Icon =
|
|
1548
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
1549
|
+
var Icon = forwardRef16(
|
|
1415
1550
|
({ variant, size, active = false, readonly = false, className, ...props }, ref) => {
|
|
1416
1551
|
const Component = readonly ? Slot2 : "button";
|
|
1417
|
-
return /* @__PURE__ */
|
|
1552
|
+
return /* @__PURE__ */ jsx24(
|
|
1418
1553
|
Component,
|
|
1419
1554
|
{
|
|
1420
1555
|
className: cn(
|
|
@@ -1483,14 +1618,14 @@ var iconVariants = cva8(
|
|
|
1483
1618
|
);
|
|
1484
1619
|
|
|
1485
1620
|
// src/components/ui/InputOtp.tsx
|
|
1486
|
-
import { forwardRef as
|
|
1621
|
+
import { forwardRef as forwardRef18 } from "react";
|
|
1487
1622
|
|
|
1488
1623
|
// src/components/primitives/input-otp.tsx
|
|
1489
1624
|
import { OTPInput, OTPInputContext } from "input-otp";
|
|
1490
1625
|
import { Dot } from "lucide-react";
|
|
1491
1626
|
import * as React8 from "react";
|
|
1492
|
-
import { jsx as
|
|
1493
|
-
var InputOTP = React8.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */
|
|
1627
|
+
import { jsx as jsx25, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
1628
|
+
var InputOTP = React8.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx25(
|
|
1494
1629
|
OTPInput,
|
|
1495
1630
|
{
|
|
1496
1631
|
ref,
|
|
@@ -1503,12 +1638,12 @@ var InputOTP = React8.forwardRef(({ className, containerClassName, ...props }, r
|
|
|
1503
1638
|
}
|
|
1504
1639
|
));
|
|
1505
1640
|
InputOTP.displayName = "InputOTP";
|
|
1506
|
-
var InputOTPGroup = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1641
|
+
var InputOTPGroup = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx25("div", { ref, className: cn("flex items-center", className), ...props }));
|
|
1507
1642
|
InputOTPGroup.displayName = "InputOTPGroup";
|
|
1508
1643
|
var InputOTPSlot = React8.forwardRef(({ index, error, className, ...props }, ref) => {
|
|
1509
1644
|
const inputOTPContext = React8.useContext(OTPInputContext);
|
|
1510
1645
|
const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
|
|
1511
|
-
return /* @__PURE__ */
|
|
1646
|
+
return /* @__PURE__ */ jsxs15(
|
|
1512
1647
|
"div",
|
|
1513
1648
|
{
|
|
1514
1649
|
ref,
|
|
@@ -1521,26 +1656,26 @@ var InputOTPSlot = React8.forwardRef(({ index, error, className, ...props }, ref
|
|
|
1521
1656
|
...props,
|
|
1522
1657
|
children: [
|
|
1523
1658
|
char,
|
|
1524
|
-
hasFakeCaret && /* @__PURE__ */
|
|
1659
|
+
hasFakeCaret && /* @__PURE__ */ jsx25("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx25("div", { className: "h-4 w-px animate-caret-blink bg-neutral-950 duration-1000 dark:bg-neutral-50" }) })
|
|
1525
1660
|
]
|
|
1526
1661
|
}
|
|
1527
1662
|
);
|
|
1528
1663
|
});
|
|
1529
1664
|
InputOTPSlot.displayName = "InputOTPSlot";
|
|
1530
|
-
var InputOTPSeparator = React8.forwardRef(({ ...props }, ref) => /* @__PURE__ */
|
|
1665
|
+
var InputOTPSeparator = React8.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx25("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ jsx25(Dot, {}) }));
|
|
1531
1666
|
InputOTPSeparator.displayName = "InputOTPSeparator";
|
|
1532
1667
|
|
|
1533
1668
|
// src/components/ui/InputOtp.tsx
|
|
1534
|
-
import { jsx as
|
|
1535
|
-
var InputOtp =
|
|
1669
|
+
import { jsx as jsx26, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
1670
|
+
var InputOtp = forwardRef18(
|
|
1536
1671
|
({ digits, label, description, error, ...props }, ref) => {
|
|
1537
|
-
return /* @__PURE__ */
|
|
1672
|
+
return /* @__PURE__ */ jsxs16(
|
|
1538
1673
|
"div",
|
|
1539
1674
|
{
|
|
1540
1675
|
className: "group flex w-full flex-col gap-1",
|
|
1541
1676
|
"data-testid": `input-otp-wrapper-${props.id}`,
|
|
1542
1677
|
children: [
|
|
1543
|
-
label && /* @__PURE__ */
|
|
1678
|
+
label && /* @__PURE__ */ jsx26(
|
|
1544
1679
|
Label_default,
|
|
1545
1680
|
{
|
|
1546
1681
|
text: label,
|
|
@@ -1549,17 +1684,17 @@ var InputOtp = forwardRef15(
|
|
|
1549
1684
|
description
|
|
1550
1685
|
}
|
|
1551
1686
|
),
|
|
1552
|
-
/* @__PURE__ */
|
|
1687
|
+
/* @__PURE__ */ jsx26("div", { className: "relative flex flex-row items-center", children: /* @__PURE__ */ jsx26(
|
|
1553
1688
|
InputOTP,
|
|
1554
1689
|
{
|
|
1555
1690
|
ref,
|
|
1556
1691
|
maxLength: digits,
|
|
1557
1692
|
"data-testid": `input-otp-element-${props.id}`,
|
|
1558
1693
|
...props,
|
|
1559
|
-
children: [...Array(digits)].map((_, index) => /* @__PURE__ */
|
|
1694
|
+
children: [...Array(digits)].map((_, index) => /* @__PURE__ */ jsx26(InputOTPGroup, { children: /* @__PURE__ */ jsx26(InputOTPSlot, { index, error: Boolean(error) }) }, index))
|
|
1560
1695
|
}
|
|
1561
1696
|
) }),
|
|
1562
|
-
/* @__PURE__ */
|
|
1697
|
+
/* @__PURE__ */ jsx26(ErrorMessage_default, { message: error })
|
|
1563
1698
|
]
|
|
1564
1699
|
}
|
|
1565
1700
|
);
|
|
@@ -1569,7 +1704,7 @@ InputOtp.displayName = "Input";
|
|
|
1569
1704
|
|
|
1570
1705
|
// src/components/ui/LinkButton.tsx
|
|
1571
1706
|
import Link2 from "next/link";
|
|
1572
|
-
import { jsx as
|
|
1707
|
+
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
1573
1708
|
var LinkButton = ({
|
|
1574
1709
|
disabled = false,
|
|
1575
1710
|
useAnchor = false,
|
|
@@ -1578,7 +1713,7 @@ var LinkButton = ({
|
|
|
1578
1713
|
...props
|
|
1579
1714
|
}) => {
|
|
1580
1715
|
const Component = useAnchor ? "a" : Link2;
|
|
1581
|
-
return /* @__PURE__ */
|
|
1716
|
+
return /* @__PURE__ */ jsx27(
|
|
1582
1717
|
Component,
|
|
1583
1718
|
{
|
|
1584
1719
|
href,
|
|
@@ -1593,7 +1728,7 @@ var LinkButton = ({
|
|
|
1593
1728
|
// src/components/ui/ReadMore.tsx
|
|
1594
1729
|
import { useEffect as useEffect5, useState as useState5 } from "react";
|
|
1595
1730
|
import Markdown from "react-markdown";
|
|
1596
|
-
import { jsx as
|
|
1731
|
+
import { jsx as jsx28, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
1597
1732
|
function ReadMore({ text, ...props }) {
|
|
1598
1733
|
const [isExpanded, setIsExpanded] = useState5(false);
|
|
1599
1734
|
const [maxWords, setMaxWords] = useState5(160);
|
|
@@ -1618,16 +1753,16 @@ function ReadMore({ text, ...props }) {
|
|
|
1618
1753
|
}
|
|
1619
1754
|
const toggleText = () => setIsExpanded(!isExpanded);
|
|
1620
1755
|
const snippet = createReadMoreText(text, maxWords, isExpanded);
|
|
1621
|
-
return /* @__PURE__ */
|
|
1622
|
-
/* @__PURE__ */
|
|
1623
|
-
/* @__PURE__ */
|
|
1756
|
+
return /* @__PURE__ */ jsxs17("div", { ...props, children: [
|
|
1757
|
+
/* @__PURE__ */ jsx28("div", { "data-testid": "read-more-text", className: "prose lg:prose-lg", children: /* @__PURE__ */ jsx28(Markdown, { children: snippet }) }),
|
|
1758
|
+
/* @__PURE__ */ jsx28(
|
|
1624
1759
|
Button,
|
|
1625
1760
|
{
|
|
1626
1761
|
type: "button",
|
|
1627
1762
|
className: "mt-2 flex items-center justify-center",
|
|
1628
1763
|
variant: "link",
|
|
1629
1764
|
onClick: toggleText,
|
|
1630
|
-
children: /* @__PURE__ */
|
|
1765
|
+
children: /* @__PURE__ */ jsxs17("p", { className: "text-sm font-bold underline underline-offset-2", children: [
|
|
1631
1766
|
"Read ",
|
|
1632
1767
|
isExpanded ? "less" : "more"
|
|
1633
1768
|
] })
|
|
@@ -1636,18 +1771,192 @@ function ReadMore({ text, ...props }) {
|
|
|
1636
1771
|
] });
|
|
1637
1772
|
}
|
|
1638
1773
|
|
|
1774
|
+
// src/components/ui/DatePicker.tsx
|
|
1775
|
+
import { cva as cva10 } from "cva";
|
|
1776
|
+
import { format } from "date-fns";
|
|
1777
|
+
import { Calendar as CalendarIcon } from "lucide-react";
|
|
1778
|
+
import { forwardRef as forwardRef20, useEffect as useEffect6, useState as useState6 } from "react";
|
|
1779
|
+
|
|
1780
|
+
// src/components/ui/calendar.tsx
|
|
1781
|
+
import { ChevronLeft, ChevronRight } from "lucide-react";
|
|
1782
|
+
import { DayPicker } from "react-day-picker";
|
|
1783
|
+
|
|
1784
|
+
// src/components/ui/buttonShadcn.tsx
|
|
1785
|
+
import { Slot as Slot3 } from "@radix-ui/react-slot";
|
|
1786
|
+
import { cva as cva9 } from "class-variance-authority";
|
|
1787
|
+
import * as React9 from "react";
|
|
1788
|
+
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
1789
|
+
var buttonVariants2 = cva9(
|
|
1790
|
+
"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",
|
|
1791
|
+
{
|
|
1792
|
+
variants: {
|
|
1793
|
+
variant: {
|
|
1794
|
+
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",
|
|
1795
|
+
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",
|
|
1796
|
+
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",
|
|
1797
|
+
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",
|
|
1798
|
+
ghost: "hover:bg-neutral-100 hover:text-neutral-900 dark:hover:bg-neutral-800 dark:hover:text-neutral-50",
|
|
1799
|
+
link: "text-neutral-900 underline-offset-4 hover:underline dark:text-neutral-50"
|
|
1800
|
+
},
|
|
1801
|
+
size: {
|
|
1802
|
+
default: "h-9 px-4 py-2",
|
|
1803
|
+
sm: "h-8 rounded-md px-3 text-xs",
|
|
1804
|
+
lg: "h-10 rounded-md px-8",
|
|
1805
|
+
icon: "h-9 w-9"
|
|
1806
|
+
}
|
|
1807
|
+
},
|
|
1808
|
+
defaultVariants: {
|
|
1809
|
+
variant: "default",
|
|
1810
|
+
size: "default"
|
|
1811
|
+
}
|
|
1812
|
+
}
|
|
1813
|
+
);
|
|
1814
|
+
var Button2 = React9.forwardRef(
|
|
1815
|
+
({ className, variant, size, asChild = false, ...props }, ref) => {
|
|
1816
|
+
const Comp = asChild ? Slot3 : "button";
|
|
1817
|
+
return /* @__PURE__ */ jsx29(Comp, { className: cn(buttonVariants2({ variant, size, className })), ref, ...props });
|
|
1818
|
+
}
|
|
1819
|
+
);
|
|
1820
|
+
Button2.displayName = "Button";
|
|
1821
|
+
|
|
1822
|
+
// src/components/ui/calendar.tsx
|
|
1823
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
1824
|
+
function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
|
|
1825
|
+
return /* @__PURE__ */ jsx30(
|
|
1826
|
+
DayPicker,
|
|
1827
|
+
{
|
|
1828
|
+
showOutsideDays,
|
|
1829
|
+
className: cn("p-3", className),
|
|
1830
|
+
classNames: {
|
|
1831
|
+
months: "flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0",
|
|
1832
|
+
month: "space-y-4",
|
|
1833
|
+
caption: "flex justify-center pt-1 relative items-center",
|
|
1834
|
+
caption_label: "text-sm font-medium",
|
|
1835
|
+
nav: "space-x-1 flex items-center",
|
|
1836
|
+
nav_button: cn(
|
|
1837
|
+
buttonVariants2({ variant: "outline" }),
|
|
1838
|
+
"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"
|
|
1839
|
+
),
|
|
1840
|
+
nav_button_previous: "absolute left-1",
|
|
1841
|
+
nav_button_next: "absolute right-1",
|
|
1842
|
+
table: "w-full border-collapse space-y-1",
|
|
1843
|
+
head_row: "flex",
|
|
1844
|
+
head_cell: "text-neutral-500 rounded-md w-8 font-normal text-[0.8rem] dark:text-neutral-400",
|
|
1845
|
+
row: "flex w-full mt-2",
|
|
1846
|
+
cell: cn(
|
|
1847
|
+
"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",
|
|
1848
|
+
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"
|
|
1849
|
+
),
|
|
1850
|
+
day: cn(
|
|
1851
|
+
buttonVariants2({ variant: "ghost" }),
|
|
1852
|
+
"h-8 w-8 p-0 font-normal aria-selected:opacity-100"
|
|
1853
|
+
),
|
|
1854
|
+
day_range_start: "day-range-start",
|
|
1855
|
+
day_range_end: "day-range-end",
|
|
1856
|
+
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",
|
|
1857
|
+
day_today: "bg-neutral-100 text-neutral-900 dark:bg-neutral-800 dark:text-neutral-50",
|
|
1858
|
+
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",
|
|
1859
|
+
day_disabled: "text-neutral-500 opacity-50 dark:text-neutral-400",
|
|
1860
|
+
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",
|
|
1861
|
+
day_hidden: "invisible",
|
|
1862
|
+
...classNames
|
|
1863
|
+
},
|
|
1864
|
+
components: {
|
|
1865
|
+
IconLeft: ({ className: className2, ...props2 }) => /* @__PURE__ */ jsx30(ChevronLeft, { className: cn("h-4 w-4", className2), ...props2 }),
|
|
1866
|
+
IconRight: ({ className: className2, ...props2 }) => /* @__PURE__ */ jsx30(ChevronRight, { className: cn("h-4 w-4", className2), ...props2 })
|
|
1867
|
+
},
|
|
1868
|
+
...props
|
|
1869
|
+
}
|
|
1870
|
+
);
|
|
1871
|
+
}
|
|
1872
|
+
Calendar.displayName = "Calendar";
|
|
1873
|
+
|
|
1874
|
+
// src/components/ui/DatePicker.tsx
|
|
1875
|
+
import { jsx as jsx31, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
1876
|
+
var DatePicker = forwardRef20(
|
|
1877
|
+
({ label, description, required, classNames, value, onChange, error }, ref) => {
|
|
1878
|
+
const [date, setDate] = useState6(null);
|
|
1879
|
+
useEffect6(() => {
|
|
1880
|
+
setDate(value ?? null);
|
|
1881
|
+
}, [value]);
|
|
1882
|
+
const handleDateSelect = (dateSelected) => {
|
|
1883
|
+
if (!dateSelected) return;
|
|
1884
|
+
onChange?.(dateSelected);
|
|
1885
|
+
setDate(dateSelected);
|
|
1886
|
+
};
|
|
1887
|
+
return /* @__PURE__ */ jsxs18("div", { className: cn("flex w-auto flex-col gap-1"), children: [
|
|
1888
|
+
label && /* @__PURE__ */ jsx31(
|
|
1889
|
+
Label_default,
|
|
1890
|
+
{
|
|
1891
|
+
text: label,
|
|
1892
|
+
required,
|
|
1893
|
+
description,
|
|
1894
|
+
className: classNames?.label
|
|
1895
|
+
}
|
|
1896
|
+
),
|
|
1897
|
+
/* @__PURE__ */ jsxs18(Popover, { children: [
|
|
1898
|
+
/* @__PURE__ */ jsx31(PopoverTrigger, { children: /* @__PURE__ */ jsxs18("div", { className: cn(datePickerStyle()), children: [
|
|
1899
|
+
/* @__PURE__ */ jsx31(CalendarIcon, { size: 16 }),
|
|
1900
|
+
date ? format(date, "MM/dd/yyyy") : "Select a date"
|
|
1901
|
+
] }) }),
|
|
1902
|
+
/* @__PURE__ */ jsx31(PopoverContent, { ref, children: /* @__PURE__ */ jsx31(
|
|
1903
|
+
Calendar,
|
|
1904
|
+
{
|
|
1905
|
+
mode: "single",
|
|
1906
|
+
selected: date || void 0,
|
|
1907
|
+
onSelect: handleDateSelect,
|
|
1908
|
+
captionLayout: "dropdown",
|
|
1909
|
+
showOutsideDays: true
|
|
1910
|
+
}
|
|
1911
|
+
) })
|
|
1912
|
+
] }),
|
|
1913
|
+
/* @__PURE__ */ jsx31(ErrorMessage_default, { message: error })
|
|
1914
|
+
] });
|
|
1915
|
+
}
|
|
1916
|
+
);
|
|
1917
|
+
var datePickerStyle = cva10([
|
|
1918
|
+
"placeholder:text-muted-foreground",
|
|
1919
|
+
"focus-visible:ring-ring",
|
|
1920
|
+
"inline-flex",
|
|
1921
|
+
"w-full",
|
|
1922
|
+
"h-11",
|
|
1923
|
+
"items-center",
|
|
1924
|
+
"justify-start",
|
|
1925
|
+
"gap-3",
|
|
1926
|
+
"rounded-lg",
|
|
1927
|
+
"bg-transparent",
|
|
1928
|
+
"px-3",
|
|
1929
|
+
"pt-0.5",
|
|
1930
|
+
"text-sm",
|
|
1931
|
+
"shadow-sm",
|
|
1932
|
+
"ring-grey-50",
|
|
1933
|
+
"transition-colors",
|
|
1934
|
+
"focus-visible:outline-none",
|
|
1935
|
+
"focus-visible:ring-1",
|
|
1936
|
+
"disabled:cursor-not-allowed",
|
|
1937
|
+
"disabled:opacity-50",
|
|
1938
|
+
"appearance-none",
|
|
1939
|
+
"[&::-webkit-search-cancel-button]:appearance-none",
|
|
1940
|
+
"[&::-webkit-search-decoration]:appearance-none",
|
|
1941
|
+
"[&::-webkit-search-results-button]:appearance-none",
|
|
1942
|
+
"[&::-webkit-search-results-decoration]:appearance-none",
|
|
1943
|
+
"[&::-ms-clear]:display-none",
|
|
1944
|
+
"[&::-ms-reveal]:display-none",
|
|
1945
|
+
"text-grey-80 border"
|
|
1946
|
+
]);
|
|
1947
|
+
|
|
1639
1948
|
// src/components/company/CompanyBenefits.tsx
|
|
1640
|
-
import { jsx as
|
|
1949
|
+
import { jsx as jsx32, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
1641
1950
|
function CompanyBenefits({ benefits }) {
|
|
1642
1951
|
if (!benefits) return null;
|
|
1643
|
-
return /* @__PURE__ */
|
|
1644
|
-
/* @__PURE__ */
|
|
1645
|
-
/* @__PURE__ */
|
|
1952
|
+
return /* @__PURE__ */ jsxs19("div", { className: "flex flex-col gap-2", "data-testid": "company-benefits", children: [
|
|
1953
|
+
/* @__PURE__ */ jsx32("h2", { className: "break-word max-w-full text-xl font-bold text-black sm:max-w-2xl md:max-w-lg", children: "Company benefits" }),
|
|
1954
|
+
/* @__PURE__ */ jsx32("ul", { className: "flex flex-col gap-3", children: benefits.map((benefit, i) => /* @__PURE__ */ jsx32("li", { className: "text-base text-grey-80", children: benefit }, `${benefit}-${i}`)) })
|
|
1646
1955
|
] });
|
|
1647
1956
|
}
|
|
1648
1957
|
|
|
1649
1958
|
// src/components/company/CompanyInformation.tsx
|
|
1650
|
-
import { jsx as
|
|
1959
|
+
import { jsx as jsx33, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
1651
1960
|
function CompanyInformation({
|
|
1652
1961
|
name,
|
|
1653
1962
|
how,
|
|
@@ -1655,8 +1964,8 @@ function CompanyInformation({
|
|
|
1655
1964
|
wow,
|
|
1656
1965
|
website
|
|
1657
1966
|
}) {
|
|
1658
|
-
return /* @__PURE__ */
|
|
1659
|
-
/* @__PURE__ */
|
|
1967
|
+
return /* @__PURE__ */ jsxs20("div", { className: "flex flex-col gap-2", children: [
|
|
1968
|
+
/* @__PURE__ */ jsxs20(
|
|
1660
1969
|
"h2",
|
|
1661
1970
|
{
|
|
1662
1971
|
"data-testid": "company-name",
|
|
@@ -1667,22 +1976,22 @@ function CompanyInformation({
|
|
|
1667
1976
|
]
|
|
1668
1977
|
}
|
|
1669
1978
|
),
|
|
1670
|
-
how && /* @__PURE__ */
|
|
1671
|
-
mission && /* @__PURE__ */
|
|
1672
|
-
/* @__PURE__ */
|
|
1673
|
-
/* @__PURE__ */
|
|
1674
|
-
/* @__PURE__ */
|
|
1979
|
+
how && /* @__PURE__ */ jsx33("p", { "data-testid": "company-information", className: "text-base text-grey-80", children: how }),
|
|
1980
|
+
mission && /* @__PURE__ */ jsxs20("div", { className: "flex gap-2", children: [
|
|
1981
|
+
/* @__PURE__ */ jsx33("span", { children: "\u{1F680}" }),
|
|
1982
|
+
/* @__PURE__ */ jsxs20("p", { className: "text-base text-grey-80", children: [
|
|
1983
|
+
/* @__PURE__ */ jsx33("span", { className: "pr-1 font-bold", children: "Mission" }),
|
|
1675
1984
|
mission
|
|
1676
1985
|
] })
|
|
1677
1986
|
] }),
|
|
1678
|
-
wow && /* @__PURE__ */
|
|
1679
|
-
/* @__PURE__ */
|
|
1680
|
-
/* @__PURE__ */
|
|
1681
|
-
/* @__PURE__ */
|
|
1987
|
+
wow && /* @__PURE__ */ jsxs20("div", { className: "flex gap-2", children: [
|
|
1988
|
+
/* @__PURE__ */ jsx33("span", { children: "\u{1F31F}" }),
|
|
1989
|
+
/* @__PURE__ */ jsxs20("p", { className: "text-base text-grey-80", children: [
|
|
1990
|
+
/* @__PURE__ */ jsx33("span", { className: "pr-1 font-bold", children: "Wow Factor" }),
|
|
1682
1991
|
wow
|
|
1683
1992
|
] })
|
|
1684
1993
|
] }),
|
|
1685
|
-
website && /* @__PURE__ */
|
|
1994
|
+
website && /* @__PURE__ */ jsx33("div", { className: "pt-2", children: /* @__PURE__ */ jsx33(
|
|
1686
1995
|
LinkButton,
|
|
1687
1996
|
{
|
|
1688
1997
|
"data-testid": "company-website-link",
|
|
@@ -1696,22 +2005,22 @@ function CompanyInformation({
|
|
|
1696
2005
|
}
|
|
1697
2006
|
|
|
1698
2007
|
// src/components/company/CompanyTake.tsx
|
|
1699
|
-
import { jsx as
|
|
2008
|
+
import { jsx as jsx34, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
1700
2009
|
function CompanyTake({ content, avatarSrc }) {
|
|
1701
2010
|
if (!content) return null;
|
|
1702
|
-
return /* @__PURE__ */
|
|
2011
|
+
return /* @__PURE__ */ jsxs21(
|
|
1703
2012
|
"div",
|
|
1704
2013
|
{
|
|
1705
2014
|
"data-testid": "company-take",
|
|
1706
2015
|
className: "align-center w-full justify-start rounded-2xl bg-green-90 p-6",
|
|
1707
2016
|
children: [
|
|
1708
|
-
/* @__PURE__ */
|
|
1709
|
-
/* @__PURE__ */
|
|
1710
|
-
/* @__PURE__ */
|
|
1711
|
-
/* @__PURE__ */
|
|
1712
|
-
/* @__PURE__ */
|
|
1713
|
-
/* @__PURE__ */
|
|
1714
|
-
/* @__PURE__ */
|
|
2017
|
+
/* @__PURE__ */ jsx34("p", { className: "text-lg font-bold text-white sm:text-xl", children: "The Real Dill \u2618\uFE0F" }),
|
|
2018
|
+
/* @__PURE__ */ jsx34("div", { className: "mt-2 flex items-center justify-start", children: /* @__PURE__ */ jsx34("p", { className: "text-sm font-normal text-grey-10", children: content }) }),
|
|
2019
|
+
/* @__PURE__ */ jsxs21("div", { className: "mt-8 flex w-full items-center gap-3", children: [
|
|
2020
|
+
/* @__PURE__ */ jsx34(Avatar, { name: "Jon Lee", src: avatarSrc }),
|
|
2021
|
+
/* @__PURE__ */ jsxs21("div", { className: "flex flex-col flex-wrap items-start", children: [
|
|
2022
|
+
/* @__PURE__ */ jsx34("p", { className: "text-sm font-bold text-white", children: "Jon Lee, PT, DPT, OCS, FAAOMPT, MBA" }),
|
|
2023
|
+
/* @__PURE__ */ jsx34("p", { className: "text-xs font-normal text-grey-30", children: "Pickle co-founder" })
|
|
1715
2024
|
] })
|
|
1716
2025
|
] })
|
|
1717
2026
|
]
|
|
@@ -1720,12 +2029,12 @@ function CompanyTake({ content, avatarSrc }) {
|
|
|
1720
2029
|
}
|
|
1721
2030
|
|
|
1722
2031
|
// src/components/jobPost/JobDescription.tsx
|
|
1723
|
-
import { jsx as
|
|
2032
|
+
import { jsx as jsx35, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
1724
2033
|
function JobDescription({ description }) {
|
|
1725
2034
|
if (!description) return null;
|
|
1726
|
-
return /* @__PURE__ */
|
|
1727
|
-
/* @__PURE__ */
|
|
1728
|
-
/* @__PURE__ */
|
|
2035
|
+
return /* @__PURE__ */ jsxs22("div", { className: "flex w-full flex-col gap-2", children: [
|
|
2036
|
+
/* @__PURE__ */ jsx35("h3", { className: "text-xl font-bold", children: "Job Description" }),
|
|
2037
|
+
/* @__PURE__ */ jsx35(ReadMore, { text: description })
|
|
1729
2038
|
] });
|
|
1730
2039
|
}
|
|
1731
2040
|
|
|
@@ -1742,19 +2051,19 @@ import { useContext as useContext2 } from "react";
|
|
|
1742
2051
|
|
|
1743
2052
|
// src/contexts/WindowHistoryProvider.tsx
|
|
1744
2053
|
import { useSearchParams } from "next/navigation";
|
|
1745
|
-
import { createContext, useEffect as
|
|
1746
|
-
import { jsx as
|
|
2054
|
+
import { createContext, useEffect as useEffect7, useMemo, useState as useState7 } from "react";
|
|
2055
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
1747
2056
|
var WindowHistoryContext = createContext({});
|
|
1748
2057
|
function WindowHistoryProvider({ children }) {
|
|
1749
|
-
const [history, setHistory] =
|
|
2058
|
+
const [history, setHistory] = useState7([]);
|
|
1750
2059
|
const searchParams = useSearchParams();
|
|
1751
|
-
|
|
2060
|
+
useEffect7(() => {
|
|
1752
2061
|
setHistory(
|
|
1753
2062
|
(prev) => prev.at(-1) === window.location.href ? prev : [...prev, window.location.href]
|
|
1754
2063
|
);
|
|
1755
2064
|
}, [searchParams]);
|
|
1756
2065
|
const contextValue = useMemo(() => ({ history }), [history]);
|
|
1757
|
-
return /* @__PURE__ */
|
|
2066
|
+
return /* @__PURE__ */ jsx36(WindowHistoryContext.Provider, { value: contextValue, children });
|
|
1758
2067
|
}
|
|
1759
2068
|
|
|
1760
2069
|
// src/hooks/useWindowHistory.ts
|
|
@@ -1764,7 +2073,7 @@ function useWindowHistory() {
|
|
|
1764
2073
|
}
|
|
1765
2074
|
|
|
1766
2075
|
// src/components/buttons/BackButton.tsx
|
|
1767
|
-
import { jsx as
|
|
2076
|
+
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
1768
2077
|
function BackButton({ acceptedRoutes, fallbackHref, className, ...props }) {
|
|
1769
2078
|
const { history } = useWindowHistory();
|
|
1770
2079
|
const router = useRouter();
|
|
@@ -1777,7 +2086,7 @@ function BackButton({ acceptedRoutes, fallbackHref, className, ...props }) {
|
|
|
1777
2086
|
router.push(fallbackHref ?? "/");
|
|
1778
2087
|
}
|
|
1779
2088
|
};
|
|
1780
|
-
return /* @__PURE__ */
|
|
2089
|
+
return /* @__PURE__ */ jsx37(
|
|
1781
2090
|
Icon,
|
|
1782
2091
|
{
|
|
1783
2092
|
"aria-label": "back button",
|
|
@@ -1786,7 +2095,7 @@ function BackButton({ acceptedRoutes, fallbackHref, className, ...props }) {
|
|
|
1786
2095
|
onClick: goBack,
|
|
1787
2096
|
className,
|
|
1788
2097
|
...props,
|
|
1789
|
-
children: /* @__PURE__ */
|
|
2098
|
+
children: /* @__PURE__ */ jsx37(X4, {})
|
|
1790
2099
|
}
|
|
1791
2100
|
);
|
|
1792
2101
|
}
|
|
@@ -1838,7 +2147,7 @@ var iconMap = {
|
|
|
1838
2147
|
};
|
|
1839
2148
|
|
|
1840
2149
|
// src/components/jobPost/JobHeader.tsx
|
|
1841
|
-
import { jsx as
|
|
2150
|
+
import { jsx as jsx38, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
1842
2151
|
function JobHeader({
|
|
1843
2152
|
title,
|
|
1844
2153
|
subtitles,
|
|
@@ -1854,9 +2163,9 @@ function JobHeader({
|
|
|
1854
2163
|
}) {
|
|
1855
2164
|
const renderIcon = (icon) => {
|
|
1856
2165
|
const Icon2 = iconMap[icon];
|
|
1857
|
-
return /* @__PURE__ */
|
|
2166
|
+
return /* @__PURE__ */ jsx38(Icon2, { size: 18 });
|
|
1858
2167
|
};
|
|
1859
|
-
return /* @__PURE__ */
|
|
2168
|
+
return /* @__PURE__ */ jsxs23(
|
|
1860
2169
|
"div",
|
|
1861
2170
|
{
|
|
1862
2171
|
"data-testid": "job-header-root",
|
|
@@ -1865,8 +2174,8 @@ function JobHeader({
|
|
|
1865
2174
|
!standalone && "rounded-3xl"
|
|
1866
2175
|
),
|
|
1867
2176
|
children: [
|
|
1868
|
-
!standalone && /* @__PURE__ */
|
|
1869
|
-
/* @__PURE__ */
|
|
2177
|
+
!standalone && /* @__PURE__ */ jsxs23("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: [
|
|
2178
|
+
/* @__PURE__ */ jsx38(
|
|
1870
2179
|
Image2,
|
|
1871
2180
|
{
|
|
1872
2181
|
className: "h-full w-full rounded-t-3xl object-cover",
|
|
@@ -1875,7 +2184,7 @@ function JobHeader({
|
|
|
1875
2184
|
fill: true
|
|
1876
2185
|
}
|
|
1877
2186
|
),
|
|
1878
|
-
/* @__PURE__ */
|
|
2187
|
+
/* @__PURE__ */ jsx38(
|
|
1879
2188
|
BackButton,
|
|
1880
2189
|
{
|
|
1881
2190
|
acceptedRoutes: backAcceptedRoutes,
|
|
@@ -1884,12 +2193,12 @@ function JobHeader({
|
|
|
1884
2193
|
"data-testid": "job-header-back-button"
|
|
1885
2194
|
}
|
|
1886
2195
|
),
|
|
1887
|
-
/* @__PURE__ */
|
|
2196
|
+
/* @__PURE__ */ jsx38(
|
|
1888
2197
|
"div",
|
|
1889
2198
|
{
|
|
1890
2199
|
className: "absolute left-4 top-8 md:left-6 md:top-16 lg:top-24",
|
|
1891
2200
|
"data-testid": "job-header-avatar",
|
|
1892
|
-
children: /* @__PURE__ */
|
|
2201
|
+
children: /* @__PURE__ */ jsx38(
|
|
1893
2202
|
Avatar,
|
|
1894
2203
|
{
|
|
1895
2204
|
size: "large",
|
|
@@ -1903,9 +2212,9 @@ function JobHeader({
|
|
|
1903
2212
|
}
|
|
1904
2213
|
)
|
|
1905
2214
|
] }),
|
|
1906
|
-
/* @__PURE__ */
|
|
1907
|
-
/* @__PURE__ */
|
|
1908
|
-
standalone && /* @__PURE__ */
|
|
2215
|
+
/* @__PURE__ */ jsxs23("div", { className: "flex w-full flex-col items-start justify-start gap-4 px-6", children: [
|
|
2216
|
+
/* @__PURE__ */ jsxs23("div", { className: "flex flex-col md:flex-row", children: [
|
|
2217
|
+
standalone && /* @__PURE__ */ jsx38("div", { className: "-mt-4 mr-4 md:mt-0", "data-testid": "job-header-avatar", children: /* @__PURE__ */ jsx38(
|
|
1909
2218
|
Avatar,
|
|
1910
2219
|
{
|
|
1911
2220
|
size: "large",
|
|
@@ -1916,26 +2225,26 @@ function JobHeader({
|
|
|
1916
2225
|
rel: "noopener noreferrer"
|
|
1917
2226
|
}
|
|
1918
2227
|
) }),
|
|
1919
|
-
/* @__PURE__ */
|
|
2228
|
+
/* @__PURE__ */ jsx38("div", { className: "prose mt-4 flex w-full items-center text-grey-80 lg:prose-lg", children: subtitles?.map((subtitle, i) => /* @__PURE__ */ jsxs23(
|
|
1920
2229
|
"div",
|
|
1921
2230
|
{
|
|
1922
2231
|
"data-testid": `job-header-subtitle-${i}`,
|
|
1923
2232
|
className: "flex items-center",
|
|
1924
2233
|
children: [
|
|
1925
2234
|
subtitle,
|
|
1926
|
-
i < subtitles.length - 1 && /* @__PURE__ */
|
|
2235
|
+
i < subtitles.length - 1 && /* @__PURE__ */ jsx38(Dot2, { className: "mx-1 shrink-0", size: 10 })
|
|
1927
2236
|
]
|
|
1928
2237
|
},
|
|
1929
2238
|
subtitle
|
|
1930
2239
|
)) })
|
|
1931
2240
|
] }),
|
|
1932
|
-
/* @__PURE__ */
|
|
2241
|
+
/* @__PURE__ */ jsxs23(
|
|
1933
2242
|
"div",
|
|
1934
2243
|
{
|
|
1935
2244
|
"data-testid": "job-header-content",
|
|
1936
2245
|
className: "mt-2 flex w-full flex-row flex-wrap items-center justify-between gap-1",
|
|
1937
2246
|
children: [
|
|
1938
|
-
/* @__PURE__ */
|
|
2247
|
+
/* @__PURE__ */ jsx38(
|
|
1939
2248
|
"h2",
|
|
1940
2249
|
{
|
|
1941
2250
|
"data-testid": "job-header-title",
|
|
@@ -1943,7 +2252,7 @@ function JobHeader({
|
|
|
1943
2252
|
children: title
|
|
1944
2253
|
}
|
|
1945
2254
|
),
|
|
1946
|
-
!!actions && /* @__PURE__ */
|
|
2255
|
+
!!actions && /* @__PURE__ */ jsx38(
|
|
1947
2256
|
"div",
|
|
1948
2257
|
{
|
|
1949
2258
|
className: "flex w-full justify-end gap-2 md:w-auto",
|
|
@@ -1954,12 +2263,12 @@ function JobHeader({
|
|
|
1954
2263
|
]
|
|
1955
2264
|
}
|
|
1956
2265
|
),
|
|
1957
|
-
/* @__PURE__ */
|
|
2266
|
+
/* @__PURE__ */ jsx38(
|
|
1958
2267
|
"div",
|
|
1959
2268
|
{
|
|
1960
2269
|
"data-testid": "job-header-tags",
|
|
1961
2270
|
className: "flex flex-row flex-wrap items-center justify-start gap-2",
|
|
1962
|
-
children: tags?.map(({ name, label, icon }) => /* @__PURE__ */
|
|
2271
|
+
children: tags?.map(({ name, label, icon }) => /* @__PURE__ */ jsxs23(
|
|
1963
2272
|
Chip_default,
|
|
1964
2273
|
{
|
|
1965
2274
|
size: "small",
|
|
@@ -1968,7 +2277,7 @@ function JobHeader({
|
|
|
1968
2277
|
"data-testid": `job-header-tag-${name}`,
|
|
1969
2278
|
children: [
|
|
1970
2279
|
renderIcon(icon),
|
|
1971
|
-
/* @__PURE__ */
|
|
2280
|
+
/* @__PURE__ */ jsx38("span", { children: label })
|
|
1972
2281
|
]
|
|
1973
2282
|
},
|
|
1974
2283
|
name
|
|
@@ -1985,7 +2294,7 @@ function JobHeader({
|
|
|
1985
2294
|
import * as DateFns from "date-fns";
|
|
1986
2295
|
|
|
1987
2296
|
// src/hooks/useDisplayText.ts
|
|
1988
|
-
import { useEffect as
|
|
2297
|
+
import { useEffect as useEffect8, useMemo as useMemo2, useState as useState8 } from "react";
|
|
1989
2298
|
|
|
1990
2299
|
// src/lib/mappings.ts
|
|
1991
2300
|
var employmentTypeDisplayText = {
|
|
@@ -2429,9 +2738,9 @@ var DisplayTextService = class {
|
|
|
2429
2738
|
|
|
2430
2739
|
// src/hooks/useDisplayText.ts
|
|
2431
2740
|
var useDisplayText = (scope, value) => {
|
|
2432
|
-
const [displayText, setDisplayText] =
|
|
2741
|
+
const [displayText, setDisplayText] = useState8("");
|
|
2433
2742
|
const displayService = useMemo2(() => new DisplayTextService(), []);
|
|
2434
|
-
|
|
2743
|
+
useEffect8(() => {
|
|
2435
2744
|
if (!displayService || !value) {
|
|
2436
2745
|
setDisplayText("");
|
|
2437
2746
|
return;
|
|
@@ -2570,7 +2879,7 @@ function salaryRange(salary) {
|
|
|
2570
2879
|
}
|
|
2571
2880
|
|
|
2572
2881
|
// src/components/jobPost/JobPost.tsx
|
|
2573
|
-
import { jsx as
|
|
2882
|
+
import { jsx as jsx39, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
2574
2883
|
function JobPost({
|
|
2575
2884
|
job,
|
|
2576
2885
|
bannerSrc,
|
|
@@ -2614,7 +2923,7 @@ function JobPost({
|
|
|
2614
2923
|
label: formattedLocation
|
|
2615
2924
|
}
|
|
2616
2925
|
].filter((t) => !!t);
|
|
2617
|
-
return /* @__PURE__ */
|
|
2926
|
+
return /* @__PURE__ */ jsxs24(
|
|
2618
2927
|
"div",
|
|
2619
2928
|
{
|
|
2620
2929
|
className: cn(
|
|
@@ -2622,7 +2931,7 @@ function JobPost({
|
|
|
2622
2931
|
!standalone && "border-1 rounded-3xl border-grey-5"
|
|
2623
2932
|
),
|
|
2624
2933
|
children: [
|
|
2625
|
-
/* @__PURE__ */
|
|
2934
|
+
/* @__PURE__ */ jsx39(
|
|
2626
2935
|
JobHeader,
|
|
2627
2936
|
{
|
|
2628
2937
|
title: job.title,
|
|
@@ -2636,16 +2945,16 @@ function JobPost({
|
|
|
2636
2945
|
tags
|
|
2637
2946
|
}
|
|
2638
2947
|
),
|
|
2639
|
-
/* @__PURE__ */
|
|
2640
|
-
/* @__PURE__ */
|
|
2641
|
-
/* @__PURE__ */
|
|
2948
|
+
/* @__PURE__ */ jsxs24("div", { className: "flex flex-col gap-8 px-6", children: [
|
|
2949
|
+
/* @__PURE__ */ jsx39(JobDescription, { description: job.description }),
|
|
2950
|
+
/* @__PURE__ */ jsx39(
|
|
2642
2951
|
CompanyTake,
|
|
2643
2952
|
{
|
|
2644
2953
|
avatarSrc,
|
|
2645
2954
|
content: job.hiringOrganization?.companyNdg?.companyNdgTake
|
|
2646
2955
|
}
|
|
2647
2956
|
),
|
|
2648
|
-
/* @__PURE__ */
|
|
2957
|
+
/* @__PURE__ */ jsx39(
|
|
2649
2958
|
CompanyInformation,
|
|
2650
2959
|
{
|
|
2651
2960
|
name: job.hiringOrganization?.companyName ?? "",
|
|
@@ -2655,7 +2964,7 @@ function JobPost({
|
|
|
2655
2964
|
website: job.hiringOrganization?.companyWebsite
|
|
2656
2965
|
}
|
|
2657
2966
|
),
|
|
2658
|
-
/* @__PURE__ */
|
|
2967
|
+
/* @__PURE__ */ jsx39(
|
|
2659
2968
|
CompanyBenefits,
|
|
2660
2969
|
{
|
|
2661
2970
|
benefits: job.hiringOrganization?.companyCareers?.companyBenefits?.map((b) => b.title).filter((d) => d !== void 0)
|
|
@@ -2882,7 +3191,7 @@ export {
|
|
|
2882
3191
|
BackButton,
|
|
2883
3192
|
Badge,
|
|
2884
3193
|
Button,
|
|
2885
|
-
|
|
3194
|
+
Checkbox,
|
|
2886
3195
|
Chip_default as Chip,
|
|
2887
3196
|
Combobox,
|
|
2888
3197
|
CompanyBenefits,
|
|
@@ -2890,6 +3199,7 @@ export {
|
|
|
2890
3199
|
company_service_latest_exports as CompanyService,
|
|
2891
3200
|
CompanyTake,
|
|
2892
3201
|
Counter,
|
|
3202
|
+
DatePicker,
|
|
2893
3203
|
Icon,
|
|
2894
3204
|
Input_default as Input,
|
|
2895
3205
|
InputOtp,
|
|
@@ -2902,9 +3212,11 @@ export {
|
|
|
2902
3212
|
ListItem_default as ListItem,
|
|
2903
3213
|
MapComponent_default as MapComponent,
|
|
2904
3214
|
PlacesQueryInput_default as PlacesQueryInput,
|
|
3215
|
+
Radio,
|
|
2905
3216
|
ReadMore,
|
|
2906
3217
|
Select_default as Select,
|
|
2907
3218
|
shared_pickle_output_latest_exports as SharedService,
|
|
3219
|
+
Switch,
|
|
2908
3220
|
WindowHistoryProvider,
|
|
2909
3221
|
cn,
|
|
2910
3222
|
fetchLocation,
|