@next-degree/pickle-shared-js 0.15.2 → 0.15.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-VBLDMVVW.cjs → chunk-2XIO3WQ2.cjs} +4 -4
- package/dist/{chunk-VBLDMVVW.cjs.map → chunk-2XIO3WQ2.cjs.map} +1 -1
- package/dist/{chunk-ZZCTMR2F.cjs → chunk-2YUUVN7E.cjs} +3 -3
- package/dist/{chunk-ZZCTMR2F.cjs.map → chunk-2YUUVN7E.cjs.map} +1 -1
- package/dist/{chunk-QRMNGILI.cjs → chunk-4F2PRKMM.cjs} +4 -4
- package/dist/{chunk-QRMNGILI.cjs.map → chunk-4F2PRKMM.cjs.map} +1 -1
- package/dist/{chunk-NCEXSFMC.js → chunk-556GH3CB.js} +4 -4
- package/dist/{chunk-NCEXSFMC.js.map → chunk-556GH3CB.js.map} +1 -1
- package/dist/{chunk-F3FYMCRO.js → chunk-5IFDS3CJ.js} +3 -3
- package/dist/{chunk-F3FYMCRO.js.map → chunk-5IFDS3CJ.js.map} +1 -1
- package/dist/{chunk-5EUHR4DQ.cjs → chunk-7PVEU6NQ.cjs} +13 -13
- package/dist/{chunk-5EUHR4DQ.cjs.map → chunk-7PVEU6NQ.cjs.map} +1 -1
- package/dist/{chunk-K76RPF2X.js → chunk-CPZFINPG.js} +3 -3
- package/dist/{chunk-K76RPF2X.js.map → chunk-CPZFINPG.js.map} +1 -1
- package/dist/{chunk-ILLYEM3G.cjs → chunk-E244YSGF.cjs} +31 -42
- package/dist/chunk-E244YSGF.cjs.map +1 -0
- package/dist/{chunk-LV6BHE7Q.cjs → chunk-HDQBXWSS.cjs} +12 -3
- package/dist/chunk-HDQBXWSS.cjs.map +1 -0
- package/dist/{chunk-R73HWAYA.js → chunk-KKYX5Y5N.js} +3 -3
- package/dist/{chunk-R73HWAYA.js.map → chunk-KKYX5Y5N.js.map} +1 -1
- package/dist/{chunk-NEKYNDRG.js → chunk-KMHPNIJQ.js} +3 -3
- package/dist/{chunk-NEKYNDRG.js.map → chunk-KMHPNIJQ.js.map} +1 -1
- package/dist/{chunk-5NQTYPZG.js → chunk-KRG4BXBL.js} +3 -3
- package/dist/{chunk-5NQTYPZG.js.map → chunk-KRG4BXBL.js.map} +1 -1
- package/dist/{chunk-CQHERJ3J.js → chunk-M4WUWRGI.js} +4 -4
- package/dist/chunk-M4WUWRGI.js.map +1 -0
- package/dist/{chunk-CEVBQ664.cjs → chunk-MNDXLLWH.cjs} +9 -9
- package/dist/{chunk-CEVBQ664.cjs.map → chunk-MNDXLLWH.cjs.map} +1 -1
- package/dist/{chunk-567FG76G.cjs → chunk-OXDKVZZ5.cjs} +4 -4
- package/dist/{chunk-567FG76G.cjs.map → chunk-OXDKVZZ5.cjs.map} +1 -1
- package/dist/{chunk-4E3ANVRR.js → chunk-OZJZVEF2.js} +3 -3
- package/dist/{chunk-4E3ANVRR.js.map → chunk-OZJZVEF2.js.map} +1 -1
- package/dist/{chunk-4IMEF4J5.cjs → chunk-PU52LECH.cjs} +4 -4
- package/dist/{chunk-4IMEF4J5.cjs.map → chunk-PU52LECH.cjs.map} +1 -1
- package/dist/{chunk-ZSNEG5J7.js → chunk-SRIUPNYK.js} +12 -3
- package/dist/chunk-SRIUPNYK.js.map +1 -0
- package/dist/{chunk-ZILKCCXQ.cjs → chunk-VBRVZZ2I.cjs} +4 -4
- package/dist/chunk-VBRVZZ2I.cjs.map +1 -0
- package/dist/{chunk-QURNDLRE.js → chunk-VE3GPIUQ.js} +19 -9
- package/dist/chunk-VE3GPIUQ.js.map +1 -0
- package/dist/{chunk-W4QTU3U6.js → chunk-VLAFOLD6.js} +4 -4
- package/dist/{chunk-W4QTU3U6.js.map → chunk-VLAFOLD6.js.map} +1 -1
- package/dist/{chunk-7NYMASRN.js → chunk-VSQKQNTT.js} +26 -37
- package/dist/chunk-VSQKQNTT.js.map +1 -0
- package/dist/{chunk-XKLOANYB.cjs → chunk-WRULIQZE.cjs} +19 -9
- package/dist/chunk-WRULIQZE.cjs.map +1 -0
- package/dist/{chunk-LFWX5GEE.cjs → chunk-YOQY4H6Z.cjs} +8 -8
- package/dist/{chunk-LFWX5GEE.cjs.map → chunk-YOQY4H6Z.cjs.map} +1 -1
- package/dist/{company_service_sanity-CCbS8ElX.d.cts → company_service_sanity-Br0R7m-A.d.cts} +271 -271
- package/dist/{company_service_sanity-B1Xg7ISJ.d.ts → company_service_sanity-DF01qvTz.d.ts} +271 -271
- package/dist/components/jobCard/JobLocation.d.cts +1 -1
- package/dist/components/jobCard/JobLocation.d.ts +1 -1
- package/dist/components/jobPost/JobDescription.cjs +4 -4
- package/dist/components/jobPost/JobDescription.js +3 -3
- package/dist/components/jobPost/JobPost.cjs +9 -9
- package/dist/components/jobPost/JobPost.d.cts +1 -1
- package/dist/components/jobPost/JobPost.d.ts +1 -1
- package/dist/components/jobPost/JobPost.js +8 -8
- package/dist/components/primitives/command.cjs +11 -11
- package/dist/components/primitives/command.d.cts +1 -1
- package/dist/components/primitives/command.d.ts +1 -1
- package/dist/components/primitives/command.js +2 -2
- package/dist/components/primitives/dialog.cjs +11 -11
- package/dist/components/primitives/dialog.js +1 -1
- package/dist/components/ui/Button.cjs +3 -3
- package/dist/components/ui/Button.d.cts +1 -1
- package/dist/components/ui/Button.d.ts +1 -1
- package/dist/components/ui/Button.js +1 -1
- package/dist/components/ui/Combobox.cjs +5 -6
- package/dist/components/ui/Combobox.d.cts +4 -3
- package/dist/components/ui/Combobox.d.ts +4 -3
- package/dist/components/ui/Combobox.js +4 -5
- package/dist/components/ui/ListItem.cjs +2 -4
- package/dist/components/ui/ListItem.js +1 -3
- package/dist/components/ui/ModalDialog.cjs +4 -4
- package/dist/components/ui/ModalDialog.js +3 -3
- package/dist/components/ui/PlacesQueryInput.cjs +4 -4
- package/dist/components/ui/PlacesQueryInput.js +3 -3
- package/dist/components/ui/ReadMore.cjs +3 -3
- package/dist/components/ui/ReadMore.js +2 -2
- package/dist/components/ui/buttonShadcn.d.cts +1 -1
- package/dist/components/ui/buttonShadcn.d.ts +1 -1
- package/dist/{displayText-Ck0qovrl.d.cts → displayText-BDPndCI9.d.cts} +2 -2
- package/dist/{displayText-ClDGmi1J.d.ts → displayText-EpnIpZ38.d.ts} +2 -2
- package/dist/hooks/useDisplayText.cjs +4 -4
- package/dist/hooks/useDisplayText.d.cts +3 -3
- package/dist/hooks/useDisplayText.d.ts +3 -3
- package/dist/hooks/useDisplayText.js +3 -3
- package/dist/index.cjs +27 -27
- package/dist/index.d.cts +6 -6
- package/dist/index.d.ts +6 -6
- package/dist/index.js +14 -14
- package/dist/{job_posting_service_latest-DfX8Y4gB.d.cts → job_posting_service_latest-B6Trs6sX.d.cts} +177 -177
- package/dist/{job_posting_service_latest-DfX8Y4gB.d.ts → job_posting_service_latest-B6Trs6sX.d.ts} +177 -177
- package/dist/{job_posting_service_latest-Bk53vj02.d.cts → job_posting_service_latest-BKz5U2Gp.d.cts} +177 -177
- package/dist/{job_posting_service_latest-Bk53vj02.d.ts → job_posting_service_latest-BKz5U2Gp.d.ts} +177 -177
- package/dist/{job_posting_service_sanity-BSxLNte3.d.cts → job_posting_service_sanity-BN7XcVxU.d.cts} +357 -357
- package/dist/{job_posting_service_sanity-C6aPb8kp.d.ts → job_posting_service_sanity-BNQsNQs2.d.ts} +357 -357
- package/dist/lib/locations.d.cts +3 -3
- package/dist/lib/locations.d.ts +3 -3
- 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.cjs +3 -3
- package/dist/services/displayText.d.cts +3 -3
- package/dist/services/displayText.d.ts +3 -3
- package/dist/services/displayText.js +2 -2
- package/dist/styles/globals.css +15 -3
- 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/dist/types/index.d.cts +5 -5
- package/dist/types/index.d.ts +5 -5
- package/dist/types/latest/company_service_latest.d.cts +1 -1
- package/dist/types/latest/company_service_latest.d.ts +1 -1
- package/dist/types/latest/custom/company_service_sanity.d.cts +3 -3
- package/dist/types/latest/custom/company_service_sanity.d.ts +3 -3
- package/dist/types/latest/custom/job_posting_service_sanity.d.cts +3 -3
- package/dist/types/latest/custom/job_posting_service_sanity.d.ts +3 -3
- package/dist/types/latest/job_posting_service_latest.d.cts +1 -1
- package/dist/types/latest/job_posting_service_latest.d.ts +1 -1
- package/dist/types/latest/shared_pickle_output_latest.d.cts +1 -1
- package/dist/types/latest/shared_pickle_output_latest.d.ts +1 -1
- package/package.json +1 -1
- package/dist/chunk-7NYMASRN.js.map +0 -1
- package/dist/chunk-CQHERJ3J.js.map +0 -1
- package/dist/chunk-ILLYEM3G.cjs.map +0 -1
- package/dist/chunk-LV6BHE7Q.cjs.map +0 -1
- package/dist/chunk-QURNDLRE.js.map +0 -1
- package/dist/chunk-XKLOANYB.cjs.map +0 -1
- package/dist/chunk-ZILKCCXQ.cjs.map +0 -1
- package/dist/chunk-ZSNEG5J7.js.map +0 -1
- package/dist/{company_service_latest-CVgoQ8Mc.d.cts → company_service_latest-C7Moeufo.d.cts} +174 -174
- package/dist/{company_service_latest-CVgoQ8Mc.d.ts → company_service_latest-C7Moeufo.d.ts} +174 -174
- package/dist/{company_service_latest-oWEnaiRd.d.cts → company_service_latest-CITz7F53.d.cts} +174 -174
- package/dist/{company_service_latest-oWEnaiRd.d.ts → company_service_latest-CITz7F53.d.ts} +174 -174
- package/dist/{shared_pickle_output_latest-BVF7Zh2H.d.cts → shared_pickle_output_latest--XZhOUyE.d.cts} +11 -11
- package/dist/{shared_pickle_output_latest-BVF7Zh2H.d.ts → shared_pickle_output_latest--XZhOUyE.d.ts} +11 -11
- package/dist/{shared_pickle_output_latest-BjRRmT8R.d.cts → shared_pickle_output_latest-DKOmTyYk.d.cts} +11 -11
- package/dist/{shared_pickle_output_latest-BjRRmT8R.d.ts → shared_pickle_output_latest-DKOmTyYk.d.ts} +11 -11
|
@@ -40,7 +40,6 @@ var buttonVariants = cva(
|
|
|
40
40
|
"items-center",
|
|
41
41
|
"justify-center",
|
|
42
42
|
"gap-2",
|
|
43
|
-
"rounded-full",
|
|
44
43
|
"font-bold",
|
|
45
44
|
"outline-2",
|
|
46
45
|
"outline-offset-2",
|
|
@@ -52,6 +51,7 @@ var buttonVariants = cva(
|
|
|
52
51
|
variants: {
|
|
53
52
|
variant: {
|
|
54
53
|
neutral: [
|
|
54
|
+
"rounded-full",
|
|
55
55
|
"bg-black",
|
|
56
56
|
"text-white",
|
|
57
57
|
"hover:bg-grey-90",
|
|
@@ -61,6 +61,7 @@ var buttonVariants = cva(
|
|
|
61
61
|
"disabled:bg-grey-10"
|
|
62
62
|
],
|
|
63
63
|
primary: [
|
|
64
|
+
"rounded-full",
|
|
64
65
|
"bg-pickle-100",
|
|
65
66
|
"text-black",
|
|
66
67
|
"hover:bg-pickle-80",
|
|
@@ -70,6 +71,7 @@ var buttonVariants = cva(
|
|
|
70
71
|
"disabled:bg-grey-10"
|
|
71
72
|
],
|
|
72
73
|
secondary: [
|
|
74
|
+
"rounded-full",
|
|
73
75
|
"bg-green-80",
|
|
74
76
|
"text-white",
|
|
75
77
|
"hover:bg-green-90",
|
|
@@ -79,6 +81,7 @@ var buttonVariants = cva(
|
|
|
79
81
|
"disabled:bg-grey-10"
|
|
80
82
|
],
|
|
81
83
|
transparent: [
|
|
84
|
+
"rounded-full",
|
|
82
85
|
"text-white",
|
|
83
86
|
"hover:bg-green-80",
|
|
84
87
|
"active:bg-green-100",
|
|
@@ -86,6 +89,7 @@ var buttonVariants = cva(
|
|
|
86
89
|
"disabled:text-grey-40"
|
|
87
90
|
],
|
|
88
91
|
link: [
|
|
92
|
+
"rounded-none",
|
|
89
93
|
"leading-tight",
|
|
90
94
|
"text-black",
|
|
91
95
|
"underline",
|
|
@@ -95,6 +99,7 @@ var buttonVariants = cva(
|
|
|
95
99
|
"active:text-purple-80"
|
|
96
100
|
],
|
|
97
101
|
"outline-primary": [
|
|
102
|
+
"rounded-full",
|
|
98
103
|
"bg-transparent",
|
|
99
104
|
"border-2",
|
|
100
105
|
"border-pickle-100",
|
|
@@ -110,6 +115,7 @@ var buttonVariants = cva(
|
|
|
110
115
|
"disabled:hover:text-grey-40"
|
|
111
116
|
],
|
|
112
117
|
"outline-secondary": [
|
|
118
|
+
"rounded-full",
|
|
113
119
|
"bg-transparent",
|
|
114
120
|
"border-2",
|
|
115
121
|
"border-green-80",
|
|
@@ -125,6 +131,7 @@ var buttonVariants = cva(
|
|
|
125
131
|
"disabled:hover:text-grey-40"
|
|
126
132
|
],
|
|
127
133
|
"icon-outline": [
|
|
134
|
+
"rounded-full",
|
|
128
135
|
"bg-transparent",
|
|
129
136
|
"text-black",
|
|
130
137
|
"hover:bg-grey-5",
|
|
@@ -135,6 +142,7 @@ var buttonVariants = cva(
|
|
|
135
142
|
"disabled:hover:text-grey-40"
|
|
136
143
|
],
|
|
137
144
|
"icon-primary": [
|
|
145
|
+
"rounded-full",
|
|
138
146
|
"bg-pickle-100",
|
|
139
147
|
"text-black",
|
|
140
148
|
"hover:bg-pickle-80",
|
|
@@ -144,6 +152,7 @@ var buttonVariants = cva(
|
|
|
144
152
|
"disabled:bg-grey-10"
|
|
145
153
|
],
|
|
146
154
|
"icon-secondary": [
|
|
155
|
+
"rounded-full",
|
|
147
156
|
"bg-green-80",
|
|
148
157
|
"text-white",
|
|
149
158
|
"hover:bg-green-90",
|
|
@@ -259,5 +268,5 @@ var buttonVariants = cva(
|
|
|
259
268
|
);
|
|
260
269
|
|
|
261
270
|
export { Button, buttonVariants };
|
|
262
|
-
//# sourceMappingURL=chunk-
|
|
263
|
-
//# sourceMappingURL=chunk-
|
|
271
|
+
//# sourceMappingURL=chunk-SRIUPNYK.js.map
|
|
272
|
+
//# sourceMappingURL=chunk-SRIUPNYK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/Button.tsx"],"names":[],"mappings":"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","file":"chunk-SRIUPNYK.js","sourcesContent":["'use client'\n\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'cva'\nimport { Loader2 } from 'lucide-react'\nimport React, { forwardRef } from 'react'\n\nimport { cn } from '@/lib/utils'\n\n/**\n * Props for the Button component.\n * @interface ButtonProps\n * @extends {React.ButtonHTMLAttributes<HTMLButtonElement>}\n * @extends {VariantProps<typeof buttonVariants>}\n */\ninterface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {}\n\n/**\n * A versatile button component that supports multiple variants and sizes.\n *\n * @component\n * @example\n * ```tsx\n * // Default button\n * <Button>Click me</Button>\n *\n * // Primary variant with large size\n * <Button variant=\"primary\" size=\"lg\">Large Button</Button>\n *\n * // As a link\n * <Button asChild>\n * <a href=\"/somewhere\">Go somewhere</a>\n * </Button>\n * ```\n */\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant,\n size,\n asChild = false,\n type = 'button',\n children,\n isLoading = false,\n ...props\n },\n ref\n ) => {\n const Component = asChild ? Slot : 'button'\n\n return (\n <Component\n className={cn(buttonVariants({ variant, size, className, isLoading, asChild }))}\n type={type}\n ref={ref}\n {...props}\n >\n {asChild ? (\n children\n ) : (\n <>\n {children}\n {isLoading && (\n <div className=\"absolute inset-0 flex items-center justify-center bg-white/30 backdrop-blur-[0.5px]\">\n <Loader2 className=\"h-5 w-5 animate-spin text-gray-800\" />\n </div>\n )}\n </>\n )}\n </Component>\n )\n }\n)\nButton.displayName = 'Button'\n\n/**\n * Variant definitions for the Button component using class-variance-authority.\n * Provides consistent styling across different button variations.\n */\nexport const buttonVariants = cva(\n [\n 'relative',\n 'flex',\n 'items-center',\n 'justify-center',\n 'gap-2',\n 'font-bold',\n 'outline-2',\n 'outline-offset-2',\n 'outline-dashed',\n 'outline-transparent',\n 'overflow-hidden',\n ],\n {\n variants: {\n variant: {\n neutral: [\n 'rounded-full',\n 'bg-black',\n 'text-white',\n 'hover:bg-grey-90',\n 'active:bg-grey-80',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n primary: [\n 'rounded-full',\n 'bg-pickle-100',\n 'text-black',\n 'hover:bg-pickle-80',\n 'active:bg-pickle-60',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n secondary: [\n 'rounded-full',\n 'bg-green-80',\n 'text-white',\n 'hover:bg-green-90',\n 'active:bg-green-100',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n transparent: [\n 'rounded-full',\n 'text-white',\n 'hover:bg-green-80',\n 'active:bg-green-100',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n ],\n link: [\n 'rounded-none',\n 'leading-tight',\n 'text-black',\n 'underline',\n 'hover:text-purple-100',\n 'focus:text-black',\n 'focus:outline-purple-100',\n 'active:text-purple-80',\n ],\n 'outline-primary': [\n 'rounded-full',\n 'bg-transparent',\n 'border-2',\n 'border-pickle-100',\n 'text-pickle-100',\n 'hover:bg-pickle-100',\n 'hover:text-black',\n 'active:bg-pickle-80',\n 'active:text-black',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:border-grey-40',\n 'disabled:hover:bg-transparent',\n 'disabled:hover:text-grey-40',\n ],\n 'outline-secondary': [\n 'rounded-full',\n 'bg-transparent',\n 'border-2',\n 'border-green-80',\n 'text-green-80',\n 'hover:bg-green-80',\n 'hover:text-white',\n 'active:bg-green-90',\n 'active:text-white',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n 'disabled:border-grey-40',\n 'disabled:hover:bg-transparent',\n 'disabled:hover:text-grey-40',\n ],\n 'icon-outline': [\n 'rounded-full',\n 'bg-transparent',\n 'text-black',\n 'hover:bg-grey-5',\n 'active:bg-grey-10',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:hover:bg-transparent',\n 'disabled:hover:text-grey-40',\n ],\n 'icon-primary': [\n 'rounded-full',\n 'bg-pickle-100',\n 'text-black',\n 'hover:bg-pickle-80',\n 'active:bg-pickle-60',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n 'icon-secondary': [\n 'rounded-full',\n 'bg-green-80',\n 'text-white',\n 'hover:bg-green-90',\n 'active:bg-green-100',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n },\n size: {\n 'extra-small': ['h-8', 'text-xs', 'px-3', 'py-1'],\n small: ['h-10', 'text-sm', 'px-4', 'py-2'],\n medium: ['h-12', 'text-base', 'px-6', 'py-3'],\n large: ['h-14', 'text-lg', 'px-8', 'py-4'],\n },\n isLoading: {\n true: ['cursor-not-allowed', 'pointer-events-none'],\n },\n asChild: {\n true: [],\n false: ['cursor-pointer', 'pointer-events-auto'],\n },\n },\n defaultVariants: {\n variant: 'neutral',\n size: 'medium',\n isLoading: false,\n asChild: false,\n },\n compoundVariants: [\n {\n variant: 'link',\n size: 'extra-small',\n class: ['h-3', 'text-xs', 'p-0'],\n },\n {\n variant: 'link',\n size: 'small',\n class: ['h-3', 'text-xs', 'p-0'],\n },\n {\n variant: 'link',\n size: 'medium',\n class: ['h-4', 'text-sm', 'p-0'],\n },\n {\n variant: 'link',\n size: 'large',\n class: ['h-6', 'text-base', 'p-0'],\n },\n {\n variant: 'icon-outline',\n size: 'extra-small',\n class: ['h-8', 'w-8', 'p-1.5', '[&>svg]:w-5', '[&>svg]:h-5'],\n },\n {\n variant: 'icon-outline',\n size: 'small',\n class: ['h-10', 'w-10', 'p-2', '[&>svg]:w-6', '[&>svg]:h-6'],\n },\n {\n variant: 'icon-outline',\n size: 'medium',\n class: ['h-12', 'w-12', 'p-2.5', '[&>svg]:w-7', '[&>svg]:h-7'],\n },\n {\n variant: 'icon-outline',\n size: 'large',\n class: ['h-14', 'w-14', 'p-3', '[&>svg]:w-8', '[&>svg]:h-8'],\n },\n {\n variant: 'icon-primary',\n size: 'extra-small',\n class: ['h-8', 'w-8', 'p-1.5', '[&>svg]:w-5', '[&>svg]:h-5'],\n },\n {\n variant: 'icon-primary',\n size: 'small',\n class: ['h-10', 'w-10', 'p-2', '[&>svg]:w-6', '[&>svg]:h-6'],\n },\n {\n variant: 'icon-primary',\n size: 'medium',\n class: ['h-12', 'w-12', 'p-2.5', '[&>svg]:w-7', '[&>svg]:h-7'],\n },\n {\n variant: 'icon-primary',\n size: 'large',\n class: ['h-14', 'w-14', 'p-3', '[&>svg]:w-8', '[&>svg]:h-8'],\n },\n {\n variant: 'icon-secondary',\n size: 'extra-small',\n class: ['h-8', 'w-8', 'p-1.5', '[&>svg]:w-5', '[&>svg]:h-5'],\n },\n {\n variant: 'icon-secondary',\n size: 'small',\n class: ['h-10', 'w-10', 'p-2', '[&>svg]:w-6', '[&>svg]:h-6'],\n },\n {\n variant: 'icon-secondary',\n size: 'medium',\n class: ['h-12', 'w-12', 'p-2.5', '[&>svg]:w-7', '[&>svg]:h-7'],\n },\n {\n variant: 'icon-secondary',\n size: 'large',\n class: ['h-14', 'w-14', 'p-3', '[&>svg]:w-8', '[&>svg]:h-8'],\n },\n ],\n }\n)\n"]}
|
|
@@ -43,14 +43,14 @@ var DialogOverlay = React__namespace.forwardRef(({ className, ...props }, ref) =
|
|
|
43
43
|
));
|
|
44
44
|
DialogOverlay.displayName = DialogPrimitive__namespace.Overlay.displayName;
|
|
45
45
|
var DialogContent = React__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DialogPortal, { children: [
|
|
46
|
-
/* @__PURE__ */ jsxRuntime.jsx(DialogOverlay, {}),
|
|
46
|
+
/* @__PURE__ */ jsxRuntime.jsx(DialogOverlay, { className: "z-50" }),
|
|
47
47
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
48
48
|
DialogPrimitive__namespace.Content,
|
|
49
49
|
{
|
|
50
50
|
ref,
|
|
51
51
|
className: chunkMGWZXPMF_cjs.cn(
|
|
52
52
|
// Position centered with sensible defaults (shadcn pattern)
|
|
53
|
-
"fixed left-1/2 top-1/2 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 border bg-white shadow-lg duration-200",
|
|
53
|
+
"fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 border bg-white shadow-lg duration-200",
|
|
54
54
|
// Animations
|
|
55
55
|
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
56
56
|
"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
|
|
@@ -103,5 +103,5 @@ exports.DialogOverlay = DialogOverlay;
|
|
|
103
103
|
exports.DialogPortal = DialogPortal;
|
|
104
104
|
exports.DialogTitle = DialogTitle;
|
|
105
105
|
exports.DialogTrigger = DialogTrigger;
|
|
106
|
-
//# sourceMappingURL=chunk-
|
|
107
|
-
//# sourceMappingURL=chunk-
|
|
106
|
+
//# sourceMappingURL=chunk-VBRVZZ2I.cjs.map
|
|
107
|
+
//# sourceMappingURL=chunk-VBRVZZ2I.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/primitives/dialog.tsx"],"names":["DialogPrimitive","React","jsx","cn","jsxs"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAM,MAAyB,GAAAA,0BAAA,CAAA;AAE/B,IAAM,aAAgC,GAAAA,0BAAA,CAAA;AAEtC,IAAM,YAA+B,GAAAA,0BAAA,CAAA;AAErC,IAAM,WAA8B,GAAAA,0BAAA,CAAA;AAE9B,IAAA,aAAA,GAAsBC,4BAG1B,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAC1B,qBAAAC,cAAA;AAAA,EAAiBF,0BAAA,CAAA,OAAA;AAAA,EAAhB;AAAA,IACC,GAAA;AAAA,IACA,SAAW,EAAAG,oBAAA;AAAA,MACT,mJAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,aAAA,CAAc,cAA8BH,0BAAQ,CAAA,OAAA,CAAA,WAAA;AAE9C,IAAA,aAAA,GAAsBC,gBAG1B,CAAA,UAAA,CAAA,CAAC,EAAE,SAAA,EAAW,QAAU,EAAA,GAAG,KAAM,EAAA,EAAG,GACpC,qBAAAG,eAAA,CAAC,YACC,EAAA,EAAA,QAAA,EAAA;AAAA,kBAACF,cAAA,CAAA,aAAA,EAAA,EAAc,WAAU,MAAO,EAAA,CAAA;AAAA,kBAChCA,cAAA;AAAA,IAAiBF,0BAAA,CAAA,OAAA;AAAA,IAAhB;AAAA,MACC,GAAA;AAAA,MACA,SAAW,EAAAG,oBAAA;AAAA;AAAA,QAET,iIAAA;AAAA;AAAA,QAEA,yHAAA;AAAA,QACA,8DAAA;AAAA,QACA,yKAAA;AAAA,QACA,eAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA;AACH,CAAA,EACF,CACD;AACD,aAAA,CAAc,cAA8BH,0BAAQ,CAAA,OAAA,CAAA,WAAA;AAEpD,IAAM,YAAe,GAAA,CAAC,EAAE,SAAA,EAAW,GAAG,KAAM,EAAA,qBACzCE,cAAA,CAAA,KAAA,EAAA,EAAI,WAAWC,oBAAG,CAAA,oDAAA,EAAsD,SAAS,CAAA,EAAI,GAAG,KAAO,EAAA;AAElG,YAAA,CAAa,WAAc,GAAA,cAAA;AAE3B,IAAM,eAAe,CAAC,EAAE,SAAW,EAAA,GAAG,OACpC,qBAAAD,cAAA;AAAA,EAAC,KAAA;AAAA,EAAA;AAAA,IACC,SAAA,EAAWC,oBAAG,CAAA,+DAAA,EAAiE,SAAS,CAAA;AAAA,IACvF,GAAG;AAAA;AACN;AAEF,YAAA,CAAa,WAAc,GAAA,cAAA;AAErB,IAAA,WAAA,GAAoBF,4BAGxB,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAC1B,qBAAAC,cAAA;AAAA,EAAiBF,0BAAA,CAAA,KAAA;AAAA,EAAhB;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAWG,oBAAG,CAAA,mDAAA,EAAqD,SAAS,CAAA;AAAA,IAC3E,GAAG;AAAA;AACN,CACD;AACD,WAAA,CAAY,cAA8BH,0BAAM,CAAA,KAAA,CAAA,WAAA;AAE1C,IAAA,iBAAA,GAA0BC,4BAG9B,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAC1B,qBAAAC,cAAA;AAAA,EAAiBF,0BAAA,CAAA,WAAA;AAAA,EAAhB;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAWG,oBAAG,CAAA,gDAAA,EAAkD,SAAS,CAAA;AAAA,IACxE,GAAG;AAAA;AACN,CACD;AACD,iBAAA,CAAkB,cAA8BH,0BAAY,CAAA,WAAA,CAAA,WAAA","file":"chunk-VBRVZZ2I.cjs","sourcesContent":["'use client'\n\nimport * as DialogPrimitive from '@radix-ui/react-dialog'\nimport * as React from 'react'\n\nimport { cn } from '@/lib/utils'\n\nconst Dialog = DialogPrimitive.Root\n\nconst DialogTrigger = DialogPrimitive.Trigger\n\nconst DialogPortal = DialogPrimitive.Portal\n\nconst DialogClose = DialogPrimitive.Close\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n 'fixed inset-0 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\n className\n )}\n {...props}\n />\n))\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay className=\"z-50\" />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n // Position centered with sensible defaults (shadcn pattern)\n 'fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 border bg-white shadow-lg duration-200',\n // Animations\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\n 'data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95',\n 'data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]',\n 'sm:rounded-lg',\n className\n )}\n {...props}\n >\n {children}\n </DialogPrimitive.Content>\n </DialogPortal>\n))\nDialogContent.displayName = DialogPrimitive.Content.displayName\n\nconst DialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn('flex flex-col space-y-1.5 text-center sm:text-left', className)} {...props} />\n)\nDialogHeader.displayName = 'DialogHeader'\n\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)}\n {...props}\n />\n)\nDialogFooter.displayName = 'DialogFooter'\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn('text-lg font-semibold leading-none tracking-tight', className)}\n {...props}\n />\n))\nDialogTitle.displayName = DialogPrimitive.Title.displayName\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn('text-sm text-neutral-500 dark:text-neutral-400', className)}\n {...props}\n />\n))\nDialogDescription.displayName = DialogPrimitive.Description.displayName\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n}\n"]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Checkbox } from './chunk-4VYXUFJA.js';
|
|
2
1
|
import { cn } from './chunk-2FGZQI42.js';
|
|
3
2
|
import { CheckIcon, icons } from 'lucide-react';
|
|
4
3
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -25,22 +24,33 @@ function ListItem({
|
|
|
25
24
|
"li",
|
|
26
25
|
{
|
|
27
26
|
className: cn(
|
|
28
|
-
"group relative flex w-72 cursor-pointer flex-row items-center text-left text-sm",
|
|
27
|
+
"group relative flex w-72 cursor-pointer flex-row items-center gap-2 overflow-hidden text-left text-sm",
|
|
29
28
|
className
|
|
30
29
|
),
|
|
31
30
|
...props,
|
|
32
31
|
"data-state": isSelected ? "checked" : "unchecked",
|
|
33
32
|
children: [
|
|
34
33
|
optionIcon && /* @__PURE__ */ jsx("span", { className: "mr-2", children: optionIcon }),
|
|
35
|
-
hasCheckbox && /* @__PURE__ */ jsx(
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
hasCheckbox && /* @__PURE__ */ jsx(
|
|
35
|
+
"div",
|
|
36
|
+
{
|
|
37
|
+
role: "presentation",
|
|
38
|
+
className: cn(
|
|
39
|
+
"flex h-4 w-4 shrink-0 items-center justify-center rounded border border-grey-60",
|
|
40
|
+
isSelected && "border-green-100 bg-green-100"
|
|
41
|
+
),
|
|
42
|
+
onClick: (e) => e.preventDefault(),
|
|
43
|
+
children: isSelected && /* @__PURE__ */ jsx(CheckIcon, { className: "h-3 w-3 text-white", size: 12 })
|
|
44
|
+
}
|
|
45
|
+
),
|
|
46
|
+
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1 overflow-hidden", children: [
|
|
47
|
+
/* @__PURE__ */ jsx("p", { className: "truncate", children: title }),
|
|
48
|
+
/* @__PURE__ */ jsx("p", { className: "truncate text-xs text-grey-80", children: description })
|
|
39
49
|
] }),
|
|
40
50
|
/* @__PURE__ */ jsx(
|
|
41
51
|
CheckIcon,
|
|
42
52
|
{
|
|
43
|
-
className: "
|
|
53
|
+
className: "hidden w-6 shrink-0 text-green-100 group-data-[state=checked]:block",
|
|
44
54
|
size: 16
|
|
45
55
|
}
|
|
46
56
|
)
|
|
@@ -51,5 +61,5 @@ function ListItem({
|
|
|
51
61
|
var ListItem_default = ListItem;
|
|
52
62
|
|
|
53
63
|
export { ListItem_default };
|
|
54
|
-
//# sourceMappingURL=chunk-
|
|
55
|
-
//# sourceMappingURL=chunk-
|
|
64
|
+
//# sourceMappingURL=chunk-VE3GPIUQ.js.map
|
|
65
|
+
//# sourceMappingURL=chunk-VE3GPIUQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/ListItem.tsx"],"names":["icon"],"mappings":";;;;AAiBA,SAAS,QAAS,CAAA;AAAA,EAChB,IAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA,GAAG;AACL,CAAkB,EAAA;AAChB,EAAM,MAAA,cAAA,GAAiB,CAACA,KAA4B,KAAA;AAClD,IAAA,IAAIA,SAAQ,KAAO,EAAA;AACjB,MAAM,MAAA,aAAA,GAAgB,MAAMA,KAAe,CAAA;AAC3C,MAAO,uBAAA,GAAA,CAAC,aAAc,EAAA,EAAA,IAAA,EAAM,EAAI,EAAA,CAAA;AAAA;AAElC,IAAO,OAAA,IAAA;AAAA,GACT;AAEA,EAAA,MAAM,UAAa,GAAA,IAAA,GAAO,cAAe,CAAA,IAAI,CAAI,GAAA,MAAA;AAEjD,EACE,uBAAA,IAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,SAAW,EAAA,EAAA;AAAA,QACT,uGAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,YAAA,EAAY,aAAa,SAAY,GAAA,WAAA;AAAA,MAEpC,QAAA,EAAA;AAAA,QAAA,UAAA,oBAAe,GAAA,CAAA,MAAA,EAAA,EAAK,SAAU,EAAA,MAAA,EAAQ,QAAW,EAAA,UAAA,EAAA,CAAA;AAAA,QACjD,WACC,oBAAA,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,IAAK,EAAA,cAAA;AAAA,YACL,SAAW,EAAA,EAAA;AAAA,cACT,iFAAA;AAAA,cACA,UAAc,IAAA;AAAA,aAChB;AAAA,YACA,OAAS,EAAA,CAAC,CAAM,KAAA,CAAA,CAAE,cAAe,EAAA;AAAA,YAEhC,wCAAe,GAAA,CAAA,SAAA,EAAA,EAAU,SAAU,EAAA,oBAAA,EAAqB,MAAM,EAAI,EAAA;AAAA;AAAA,SACrE;AAAA,wBAEF,IAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,gCACb,EAAA,QAAA,EAAA;AAAA,0BAAC,GAAA,CAAA,GAAA,EAAA,EAAE,SAAU,EAAA,UAAA,EAAY,QAAM,EAAA,KAAA,EAAA,CAAA;AAAA,0BAC9B,GAAA,CAAA,GAAA,EAAA,EAAE,SAAU,EAAA,+BAAA,EAAiC,QAAY,EAAA,WAAA,EAAA;AAAA,SAC5D,EAAA,CAAA;AAAA,wBAEA,GAAA;AAAA,UAAC,SAAA;AAAA,UAAA;AAAA,YACC,SAAU,EAAA,qEAAA;AAAA,YACV,IAAM,EAAA;AAAA;AAAA;AACR;AAAA;AAAA,GACF;AAEJ;AAEA,IAAO,gBAAQ,GAAA","file":"chunk-VE3GPIUQ.js","sourcesContent":["import { CheckIcon } from 'lucide-react'\nimport { icons } from 'lucide-react'\nimport { type ComponentPropsWithoutRef, type ReactNode } from 'react'\n\nimport { cn } from '@/lib/utils'\n\ntype IconKey = keyof typeof icons\n\ninterface ListItemProps extends ComponentPropsWithoutRef<'li'> {\n icon?: string\n hasCheckbox?: boolean\n isSelected?: boolean\n title: string\n value: string\n description?: string\n}\n\nfunction ListItem({\n icon,\n hasCheckbox,\n isSelected,\n className,\n title,\n value,\n description,\n ...props\n}: ListItemProps) {\n const getIconIfValid = (icon: string): ReactNode => {\n if (icon in icons) {\n const IconComponent = icons[icon as IconKey]\n return <IconComponent size={14} />\n }\n return null\n }\n\n const optionIcon = icon ? getIconIfValid(icon) : undefined\n\n return (\n <li\n className={cn(\n 'group relative flex w-72 cursor-pointer flex-row items-center gap-2 overflow-hidden text-left text-sm',\n className\n )}\n {...props}\n data-state={isSelected ? 'checked' : 'unchecked'}\n >\n {optionIcon && <span className=\"mr-2\">{optionIcon}</span>}\n {hasCheckbox && (\n <div\n role=\"presentation\"\n className={cn(\n 'flex h-4 w-4 shrink-0 items-center justify-center rounded border border-grey-60',\n isSelected && 'border-green-100 bg-green-100'\n )}\n onClick={(e) => e.preventDefault()}\n >\n {isSelected && <CheckIcon className=\"h-3 w-3 text-white\" size={12} />}\n </div>\n )}\n <div className=\"min-w-0 flex-1 overflow-hidden\">\n <p className=\"truncate\">{title}</p>\n <p className=\"truncate text-xs text-grey-80\">{description}</p>\n </div>\n\n <CheckIcon\n className=\"hidden w-6 shrink-0 text-green-100 group-data-[state=checked]:block\"\n size={16}\n />\n </li>\n )\n}\n\nexport default ListItem\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Button } from './chunk-
|
|
2
|
-
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogClose, DialogFooter } from './chunk-
|
|
1
|
+
import { Button } from './chunk-SRIUPNYK.js';
|
|
2
|
+
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogClose, DialogFooter } from './chunk-M4WUWRGI.js';
|
|
3
3
|
import { cn } from './chunk-2FGZQI42.js';
|
|
4
4
|
import { X } from 'lucide-react';
|
|
5
5
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
@@ -106,5 +106,5 @@ function ModalDialog({
|
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
export { ModalDialog };
|
|
109
|
-
//# sourceMappingURL=chunk-
|
|
110
|
-
//# sourceMappingURL=chunk-
|
|
109
|
+
//# sourceMappingURL=chunk-VLAFOLD6.js.map
|
|
110
|
+
//# sourceMappingURL=chunk-VLAFOLD6.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/ModalDialog.tsx"],"names":[],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/ModalDialog.tsx"],"names":[],"mappings":"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","file":"chunk-VLAFOLD6.js","sourcesContent":["'use client'\n\nimport { X } from 'lucide-react'\nimport { type ReactNode } from 'react'\n\nimport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from '@/components/primitives/dialog'\nimport { Button } from '@/components/ui/Button'\nimport { cn } from '@/lib/utils'\n\ntype FooterButton = {\n text: string\n onClick: () => void\n variant?: 'primary' | 'secondary' | 'neutral' | 'link'\n size?: 'extra-small' | 'small' | 'medium' | 'large'\n disabled?: boolean\n isLoading?: boolean\n className?: string\n}\n\ntype ModalDialogProps = Readonly<{\n isOpen: boolean\n onOpenChange?: (open: boolean) => void\n onClose?: () => void\n isSubmitting?: boolean\n title: string\n titleIcon?: ReactNode\n description?: ReactNode\n children: ReactNode\n footer?: {\n primary?: FooterButton\n secondary?: FooterButton\n tertiary?: FooterButton\n }\n classNames?: {\n content?: string\n header?: string\n title?: string\n description?: string\n footer?: string\n body?: string\n }\n}>\n\n/**\n * Reusable modal dialog component using Radix UI Dialog\n * Features:\n * - Escape key handling (built into Dialog)\n * - Backdrop click to close (built into Dialog)\n * - Close button with X icon\n * - Accessible with ARIA attributes\n * - Customizable container classNames\n * - Prevents closing when isSubmitting is true\n */\nexport function ModalDialog({\n isOpen,\n onOpenChange,\n onClose,\n isSubmitting = false,\n title,\n titleIcon,\n description,\n children,\n footer,\n classNames,\n}: ModalDialogProps) {\n const handleOpenChange = (open: boolean) => {\n // Prevent closing when submitting\n if (!open && isSubmitting) {\n return\n }\n\n // Call onOpenChange if provided (for boolean-based API)\n if (onOpenChange) {\n onOpenChange(open)\n return\n }\n\n // Call onClose if provided (for callback-based API)\n if (!open && onClose) {\n onClose()\n }\n }\n\n return (\n <Dialog open={isOpen} onOpenChange={handleOpenChange}>\n <DialogContent className={cn('flex flex-col', classNames?.content)}>\n <DialogHeader\n className={cn(\n 'flex flex-row items-center justify-between gap-2 border-b border-grey-10 px-6 py-4',\n classNames?.header\n )}\n >\n <div className=\"flex flex-col gap-1\">\n <DialogTitle className={cn(classNames?.title)}>\n {titleIcon && (\n <div className=\"flex flex-row items-center gap-2\">\n {titleIcon}\n <span>{title}</span>\n </div>\n )}\n {!titleIcon && title}\n </DialogTitle>\n {description ? (\n <DialogDescription className={cn(classNames?.description)}>\n {description}\n </DialogDescription>\n ) : (\n <DialogDescription className=\"sr-only\">No description provided</DialogDescription>\n )}\n </div>\n <DialogClose disabled={isSubmitting} className=\"m-0\" aria-label=\"Close\">\n <X className=\"h-5 w-5\" />\n </DialogClose>\n </DialogHeader>\n\n <div className={cn('px-6', classNames?.body)}>{children}</div>\n\n {footer && (footer.primary || footer.secondary || footer.tertiary) && (\n <DialogFooter\n className={cn(\n 'flex items-center gap-2 border-t border-grey-10 px-6 py-4',\n classNames?.footer\n )}\n >\n {footer.tertiary && (\n <Button\n type=\"button\"\n size={footer.tertiary.size || 'small'}\n variant={footer.tertiary.variant || 'link'}\n onClick={footer.tertiary.onClick}\n disabled={footer.tertiary.disabled || isSubmitting}\n isLoading={footer.tertiary.isLoading}\n className={cn('w-auto', footer.tertiary.className)}\n >\n {footer.tertiary.text}\n </Button>\n )}\n {footer.secondary && (\n <Button\n type=\"button\"\n size={footer.secondary.size || 'small'}\n variant={footer.secondary.variant || 'neutral'}\n onClick={footer.secondary.onClick}\n disabled={footer.secondary.disabled || isSubmitting}\n isLoading={footer.secondary.isLoading}\n className={cn('w-auto', footer.secondary.className)}\n >\n {footer.secondary.text}\n </Button>\n )}\n {footer.primary && (\n <Button\n type=\"button\"\n size={footer.primary.size || 'small'}\n variant={footer.primary.variant || 'primary'}\n onClick={footer.primary.onClick}\n disabled={footer.primary.disabled || isSubmitting}\n isLoading={footer.primary.isLoading}\n className={cn('w-auto', footer.primary.className)}\n >\n {footer.primary.text}\n </Button>\n )}\n </DialogFooter>\n )}\n </DialogContent>\n </Dialog>\n )\n}\n"]}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { ListItem_default } from './chunk-
|
|
1
|
+
import { ListItem_default } from './chunk-VE3GPIUQ.js';
|
|
2
2
|
import { Label_default } from './chunk-CAGLLWPR.js';
|
|
3
3
|
import { ErrorMessage_default } from './chunk-CWTO3NXW.js';
|
|
4
4
|
import { Popover, PopoverTrigger, PopoverContent } from './chunk-VZZZQZBC.js';
|
|
5
5
|
import { Separator } from './chunk-FNCPK4RH.js';
|
|
6
6
|
import { Badge } from './chunk-TVYLTYUK.js';
|
|
7
|
-
import { Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem } from './chunk-
|
|
7
|
+
import { Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem } from './chunk-KKYX5Y5N.js';
|
|
8
8
|
import { cn } from './chunk-2FGZQI42.js';
|
|
9
9
|
import { cva } from 'cva';
|
|
10
|
-
import {
|
|
11
|
-
import { forwardRef, useState, useRef,
|
|
10
|
+
import { ChevronDownIcon, CircleX } from 'lucide-react';
|
|
11
|
+
import { forwardRef, useState, useRef, useMemo } from 'react';
|
|
12
12
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
13
13
|
|
|
14
14
|
var Combobox = forwardRef((props, ref) => {
|
|
@@ -32,52 +32,41 @@ var Combobox = forwardRef((props, ref) => {
|
|
|
32
32
|
onChange: handleChange,
|
|
33
33
|
children: footer
|
|
34
34
|
} = props;
|
|
35
|
-
const [selected, setSelected] = useState([]);
|
|
36
35
|
const [open, setOpen] = useState(false);
|
|
37
36
|
const containerRef = useRef(null);
|
|
38
|
-
const
|
|
39
|
-
const IconComponent = icon && icons[icon];
|
|
37
|
+
const IconComponent = icon;
|
|
40
38
|
const hideSearchBox = options?.length <= 5;
|
|
41
39
|
const isDefault = variant === "default";
|
|
42
40
|
const isChip = variant === "chip";
|
|
41
|
+
const optionsByValue = useMemo(
|
|
42
|
+
() => new Map(options.map((o) => [o.value, o])),
|
|
43
|
+
[options]
|
|
44
|
+
);
|
|
45
|
+
const selected = useMemo(() => {
|
|
46
|
+
const valueArray = multiselect ? value ?? [] : value ? [value] : [];
|
|
47
|
+
return valueArray.map((v) => optionsByValue.get(v)).filter((v) => v !== void 0);
|
|
48
|
+
}, [value, multiselect, optionsByValue]);
|
|
43
49
|
const isEmpty = selected.length === 0;
|
|
44
50
|
const showChevron = isDefault ? isEmpty : true;
|
|
45
51
|
const close = () => setOpen(false);
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const valueArray = multiselect ? value ?? [] : value ? [value] : [];
|
|
49
|
-
setSelected(
|
|
50
|
-
valueArray.map((v) => options.find((o) => o.value === v)).filter((v) => v !== void 0)
|
|
51
|
-
);
|
|
52
|
-
}
|
|
53
|
-
}, [value, options, multiselect]);
|
|
54
|
-
useEffect(() => {
|
|
55
|
-
if (isUserUpdate.current) {
|
|
56
|
-
if (multiselect) {
|
|
57
|
-
handleChange?.(selected.map((o) => o.value));
|
|
58
|
-
} else {
|
|
59
|
-
handleChange?.(selected[0]?.value ?? "");
|
|
60
|
-
}
|
|
61
|
-
isUserUpdate.current = false;
|
|
62
|
-
}
|
|
63
|
-
}, [selected, multiselect, handleChange]);
|
|
64
|
-
const updateMultiSelect = (prev, option) => {
|
|
65
|
-
return prev.some((o) => o.value === option.value) ? prev.filter((v) => v !== option) : [...prev, option];
|
|
66
|
-
};
|
|
67
|
-
const handleSelect = (value2) => {
|
|
68
|
-
const option = options.find((o) => o.value === value2);
|
|
52
|
+
const handleSelect = (nextValue) => {
|
|
53
|
+
const option = optionsByValue.get(nextValue);
|
|
69
54
|
if (!option || option.disabled) return;
|
|
70
|
-
isUserUpdate.current = true;
|
|
71
55
|
if (multiselect) {
|
|
72
|
-
|
|
56
|
+
const current = Array.isArray(value) ? value : [];
|
|
57
|
+
const next = current.includes(option.value) ? current.filter((v) => v !== option.value) : [...current, option.value];
|
|
58
|
+
handleChange?.(next);
|
|
73
59
|
} else {
|
|
74
|
-
|
|
60
|
+
handleChange?.(option.value);
|
|
75
61
|
close();
|
|
76
62
|
}
|
|
77
63
|
};
|
|
78
64
|
const handleClear = () => {
|
|
79
|
-
|
|
80
|
-
|
|
65
|
+
if (multiselect) {
|
|
66
|
+
handleChange?.([]);
|
|
67
|
+
} else {
|
|
68
|
+
handleChange?.("");
|
|
69
|
+
}
|
|
81
70
|
};
|
|
82
71
|
const handleDisplayValue = () => {
|
|
83
72
|
const defaultLabel = !isEmpty ? selected.map((s) => s.title).join(", ") : placeholder;
|
|
@@ -221,5 +210,5 @@ var triggerVariants = cva(
|
|
|
221
210
|
);
|
|
222
211
|
|
|
223
212
|
export { Combobox };
|
|
224
|
-
//# sourceMappingURL=chunk-
|
|
225
|
-
//# sourceMappingURL=chunk-
|
|
213
|
+
//# sourceMappingURL=chunk-VSQKQNTT.js.map
|
|
214
|
+
//# sourceMappingURL=chunk-VSQKQNTT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/Combobox.tsx"],"names":["id"],"mappings":"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","file":"chunk-VSQKQNTT.js","sourcesContent":["'use client'\n\nimport { cva, type VariantProps } from 'cva'\nimport { ChevronDownIcon, CircleX } from 'lucide-react'\nimport {\n type ComponentProps,\n type ComponentType,\n forwardRef,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '@/components/primitives/command'\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/primitives/popover'\nimport { Separator } from '@/components/primitives/separator'\nimport { Badge } from '@/components/ui/Badge'\nimport ErrorMessage from '@/components/ui/ErrorMessage'\nimport Label from '@/components/ui/Label'\nimport ListItem from '@/components/ui/ListItem'\nimport { cn } from '@/lib/utils'\n\ntype Icon = { icon?: ComponentType<{ className?: string }> }\ntype LabelProps = { label?: string; description?: string }\ntype Children = { children?: (props: { close: () => void }) => JSX.Element }\ntype Option = {\n id: string\n value: string\n title: string\n description?: string\n icon?: string\n disabled?: boolean\n}\ntype ClassNames = { label?: string; trigger?: string; items?: string; content?: string }\ntype Shared = {\n options: Option[]\n classNames?: ClassNames\n placeholder?: string\n error?: string\n useAnchor?: boolean\n}\ntype MultiSelect = { multiselect: true; value?: string[]; onChange?: (v: string[]) => void }\ntype SingleSelect = { multiselect?: false; value?: string; onChange?: (v: string) => void }\ntype TriggerVariants = VariantProps<typeof triggerVariants>\ntype SelectProps = Omit<ComponentProps<'select'>, 'value' | 'onChange' | 'size' | 'children'>\ntype Props = TriggerVariants & SelectProps & Children & Shared & Icon & LabelProps\ntype MultiSelectProps = Props & MultiSelect\ntype SingleSelectProps = Props & SingleSelect\ntype ComboboxProps = MultiSelectProps | SingleSelectProps\n\nexport const Combobox = forwardRef<HTMLDivElement, ComboboxProps>((props, ref) => {\n const {\n id,\n name,\n value,\n label,\n options,\n required,\n description,\n classNames,\n multiselect,\n placeholder,\n error,\n useAnchor = true,\n variant = 'default',\n size,\n icon,\n className,\n onChange: handleChange,\n children: footer,\n } = props\n const [open, setOpen] = useState(false)\n const containerRef = useRef<HTMLDivElement>(null)\n const IconComponent = icon\n const hideSearchBox = options?.length <= 5\n const isDefault = variant === 'default'\n const isChip = variant === 'chip'\n const optionsByValue = useMemo(\n () => new Map(options.map((o) => [o.value, o] as const)),\n [options]\n )\n const selected = useMemo(() => {\n const valueArray = multiselect ? ((value ?? []) as string[]) : value ? [value as string] : []\n return valueArray.map((v) => optionsByValue.get(v)).filter((v): v is Option => v !== undefined)\n }, [value, multiselect, optionsByValue])\n const isEmpty = selected.length === 0\n const showChevron = isDefault ? isEmpty : true\n const close = () => setOpen(false)\n\n const handleSelect = (nextValue: string) => {\n const option = optionsByValue.get(nextValue)\n if (!option || option.disabled) return\n\n if (multiselect) {\n const current = (Array.isArray(value) ? value : []) as string[]\n const next = current.includes(option.value)\n ? current.filter((v) => v !== option.value)\n : [...current, option.value]\n handleChange?.(next)\n } else {\n handleChange?.(option.value)\n close()\n }\n }\n\n const handleClear = () => {\n if (multiselect) {\n handleChange?.([])\n } else {\n handleChange?.('')\n }\n }\n\n const handleDisplayValue = () => {\n const defaultLabel = !isEmpty ? selected.map((s) => s.title).join(', ') : placeholder\n return isDefault ? defaultLabel : label\n }\n\n return (\n <div ref={containerRef} className={cn('flex flex-col gap-1', className)}>\n {isDefault && (\n <Label\n text={label}\n htmlFor={name}\n required={required}\n description={description}\n className={classNames?.label}\n />\n )}\n\n <div className=\"relative flex\">\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger\n asChild\n disabled={options.length === 0}\n data-testid={`${id ?? name}-combobox-trigger`}\n >\n <div\n ref={ref}\n className={cn(\n triggerVariants({ variant, size }),\n isDefault && !isEmpty && 'pr-10',\n classNames?.trigger\n )}\n aria-expanded={open}\n >\n {isDefault && IconComponent && <IconComponent className=\"h-4 w-4 shrink-0\" />}\n {isChip && !isEmpty && <Badge variant=\"purple\">{selected.length}</Badge>}\n\n <span\n className={cn(\n 'w-full truncate leading-normal',\n isDefault && isEmpty && 'text-grey-50'\n )}\n >\n {handleDisplayValue()}\n </span>\n\n {showChevron && (\n <ChevronDownIcon\n className=\"shrink-0 transform group-data-[state=open]:rotate-180\"\n size=\"16\"\n />\n )}\n </div>\n </PopoverTrigger>\n\n <PopoverContent\n container={useAnchor ? containerRef.current : undefined}\n className={cn(\n 'flex w-full max-w-xs flex-col overflow-hidden p-0',\n 'max-h-[--radix-popover-content-available-height]',\n classNames?.content\n )}\n collisionPadding={8}\n sideOffset={4}\n align=\"start\"\n >\n <Command>\n {!hideSearchBox && <CommandInput placeholder=\"Search...\" />}\n\n <CommandList>\n <CommandEmpty>No results</CommandEmpty>\n <CommandGroup>\n {options.map(({ id, disabled, ...option }) => (\n <CommandItem\n key={id}\n value={option.title}\n disabled={disabled}\n onSelect={() => handleSelect(option.value)}\n className={cn(disabled && 'cursor-not-allowed opacity-50')}\n >\n <ListItem\n className={cn(classNames?.items, 'truncate py-1')}\n isSelected={selected.some((s) => s.value === option.value)}\n hasCheckbox={multiselect}\n {...option}\n />\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n\n {!!footer && <Separator />}\n {footer && footer({ close })}\n </Command>\n </PopoverContent>\n </Popover>\n\n {isDefault && !isEmpty && (\n <button\n type=\"button\"\n className=\"absolute inset-y-0 right-1 my-auto flex h-8 w-8 cursor-pointer items-center justify-center rounded-full hover:bg-pickle-20\"\n onClick={handleClear}\n >\n <CircleX className=\"h-4 w-4 text-green-100\" />\n </button>\n )}\n </div>\n\n <ErrorMessage message={error} />\n </div>\n )\n})\nCombobox.displayName = 'Combobox'\n\nconst triggerVariants = cva(\n 'group relative cursor-pointer text-grey-80 flex flex-row items-center justify-between gap-2 border border-grey-20 focus:outline-green-80 disabled:bg-grey-5',\n {\n variants: {\n variant: {\n default: ['w-full', 'rounded-lg'],\n chip: [\n 'font-bold',\n 'rounded-3xl',\n 'data-[state=open]:bg-black',\n 'data-[state=open]:text-white',\n ],\n },\n size: {\n small: ['h-8', 'py-1', 'px-2', 'text-xs'],\n normal: ['h-9', 'py-2', 'px-3', 'text-sm'],\n large: ['h-10', 'py-2', 'px-4', 'text-base'],\n xlarge: ['h-11', 'py-3', 'px-4', 'text-base'],\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'normal',\n },\n }\n)\n"]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var chunkPTNATMEI_cjs = require('./chunk-PTNATMEI.cjs');
|
|
4
3
|
var chunkMGWZXPMF_cjs = require('./chunk-MGWZXPMF.cjs');
|
|
5
4
|
var lucideReact = require('lucide-react');
|
|
6
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -27,22 +26,33 @@ function ListItem({
|
|
|
27
26
|
"li",
|
|
28
27
|
{
|
|
29
28
|
className: chunkMGWZXPMF_cjs.cn(
|
|
30
|
-
"group relative flex w-72 cursor-pointer flex-row items-center text-left text-sm",
|
|
29
|
+
"group relative flex w-72 cursor-pointer flex-row items-center gap-2 overflow-hidden text-left text-sm",
|
|
31
30
|
className
|
|
32
31
|
),
|
|
33
32
|
...props,
|
|
34
33
|
"data-state": isSelected ? "checked" : "unchecked",
|
|
35
34
|
children: [
|
|
36
35
|
optionIcon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "mr-2", children: optionIcon }),
|
|
37
|
-
hasCheckbox && /* @__PURE__ */ jsxRuntime.jsx(
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
36
|
+
hasCheckbox && /* @__PURE__ */ jsxRuntime.jsx(
|
|
37
|
+
"div",
|
|
38
|
+
{
|
|
39
|
+
role: "presentation",
|
|
40
|
+
className: chunkMGWZXPMF_cjs.cn(
|
|
41
|
+
"flex h-4 w-4 shrink-0 items-center justify-center rounded border border-grey-60",
|
|
42
|
+
isSelected && "border-green-100 bg-green-100"
|
|
43
|
+
),
|
|
44
|
+
onClick: (e) => e.preventDefault(),
|
|
45
|
+
children: isSelected && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckIcon, { className: "h-3 w-3 text-white", size: 12 })
|
|
46
|
+
}
|
|
47
|
+
),
|
|
48
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1 overflow-hidden", children: [
|
|
49
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate", children: title }),
|
|
50
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs text-grey-80", children: description })
|
|
41
51
|
] }),
|
|
42
52
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
43
53
|
lucideReact.CheckIcon,
|
|
44
54
|
{
|
|
45
|
-
className: "
|
|
55
|
+
className: "hidden w-6 shrink-0 text-green-100 group-data-[state=checked]:block",
|
|
46
56
|
size: 16
|
|
47
57
|
}
|
|
48
58
|
)
|
|
@@ -53,5 +63,5 @@ function ListItem({
|
|
|
53
63
|
var ListItem_default = ListItem;
|
|
54
64
|
|
|
55
65
|
exports.ListItem_default = ListItem_default;
|
|
56
|
-
//# sourceMappingURL=chunk-
|
|
57
|
-
//# sourceMappingURL=chunk-
|
|
66
|
+
//# sourceMappingURL=chunk-WRULIQZE.cjs.map
|
|
67
|
+
//# sourceMappingURL=chunk-WRULIQZE.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/ListItem.tsx"],"names":["icon","icons","jsx","jsxs","cn","CheckIcon"],"mappings":";;;;;;AAiBA,SAAS,QAAS,CAAA;AAAA,EAChB,IAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA,GAAG;AACL,CAAkB,EAAA;AAChB,EAAM,MAAA,cAAA,GAAiB,CAACA,KAA4B,KAAA;AAClD,IAAA,IAAIA,SAAQC,iBAAO,EAAA;AACjB,MAAM,MAAA,aAAA,GAAgBA,kBAAMD,KAAe,CAAA;AAC3C,MAAO,uBAAAE,cAAA,CAAC,aAAc,EAAA,EAAA,IAAA,EAAM,EAAI,EAAA,CAAA;AAAA;AAElC,IAAO,OAAA,IAAA;AAAA,GACT;AAEA,EAAA,MAAM,UAAa,GAAA,IAAA,GAAO,cAAe,CAAA,IAAI,CAAI,GAAA,MAAA;AAEjD,EACE,uBAAAC,eAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,SAAW,EAAAC,oBAAA;AAAA,QACT,uGAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,YAAA,EAAY,aAAa,SAAY,GAAA,WAAA;AAAA,MAEpC,QAAA,EAAA;AAAA,QAAA,UAAA,oBAAeF,cAAA,CAAA,MAAA,EAAA,EAAK,SAAU,EAAA,MAAA,EAAQ,QAAW,EAAA,UAAA,EAAA,CAAA;AAAA,QACjD,WACC,oBAAAA,cAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,IAAK,EAAA,cAAA;AAAA,YACL,SAAW,EAAAE,oBAAA;AAAA,cACT,iFAAA;AAAA,cACA,UAAc,IAAA;AAAA,aAChB;AAAA,YACA,OAAS,EAAA,CAAC,CAAM,KAAA,CAAA,CAAE,cAAe,EAAA;AAAA,YAEhC,wCAAeF,cAAA,CAAAG,qBAAA,EAAA,EAAU,SAAU,EAAA,oBAAA,EAAqB,MAAM,EAAI,EAAA;AAAA;AAAA,SACrE;AAAA,wBAEFF,eAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,gCACb,EAAA,QAAA,EAAA;AAAA,0BAACD,cAAA,CAAA,GAAA,EAAA,EAAE,SAAU,EAAA,UAAA,EAAY,QAAM,EAAA,KAAA,EAAA,CAAA;AAAA,0BAC9BA,cAAA,CAAA,GAAA,EAAA,EAAE,SAAU,EAAA,+BAAA,EAAiC,QAAY,EAAA,WAAA,EAAA;AAAA,SAC5D,EAAA,CAAA;AAAA,wBAEAA,cAAA;AAAA,UAACG,qBAAA;AAAA,UAAA;AAAA,YACC,SAAU,EAAA,qEAAA;AAAA,YACV,IAAM,EAAA;AAAA;AAAA;AACR;AAAA;AAAA,GACF;AAEJ;AAEA,IAAO,gBAAQ,GAAA","file":"chunk-WRULIQZE.cjs","sourcesContent":["import { CheckIcon } from 'lucide-react'\nimport { icons } from 'lucide-react'\nimport { type ComponentPropsWithoutRef, type ReactNode } from 'react'\n\nimport { cn } from '@/lib/utils'\n\ntype IconKey = keyof typeof icons\n\ninterface ListItemProps extends ComponentPropsWithoutRef<'li'> {\n icon?: string\n hasCheckbox?: boolean\n isSelected?: boolean\n title: string\n value: string\n description?: string\n}\n\nfunction ListItem({\n icon,\n hasCheckbox,\n isSelected,\n className,\n title,\n value,\n description,\n ...props\n}: ListItemProps) {\n const getIconIfValid = (icon: string): ReactNode => {\n if (icon in icons) {\n const IconComponent = icons[icon as IconKey]\n return <IconComponent size={14} />\n }\n return null\n }\n\n const optionIcon = icon ? getIconIfValid(icon) : undefined\n\n return (\n <li\n className={cn(\n 'group relative flex w-72 cursor-pointer flex-row items-center gap-2 overflow-hidden text-left text-sm',\n className\n )}\n {...props}\n data-state={isSelected ? 'checked' : 'unchecked'}\n >\n {optionIcon && <span className=\"mr-2\">{optionIcon}</span>}\n {hasCheckbox && (\n <div\n role=\"presentation\"\n className={cn(\n 'flex h-4 w-4 shrink-0 items-center justify-center rounded border border-grey-60',\n isSelected && 'border-green-100 bg-green-100'\n )}\n onClick={(e) => e.preventDefault()}\n >\n {isSelected && <CheckIcon className=\"h-3 w-3 text-white\" size={12} />}\n </div>\n )}\n <div className=\"min-w-0 flex-1 overflow-hidden\">\n <p className=\"truncate\">{title}</p>\n <p className=\"truncate text-xs text-grey-80\">{description}</p>\n </div>\n\n <CheckIcon\n className=\"hidden w-6 shrink-0 text-green-100 group-data-[state=checked]:block\"\n size={16}\n />\n </li>\n )\n}\n\nexport default ListItem\n"]}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
var chunkDWB5TTR6_cjs = require('./chunk-DWB5TTR6.cjs');
|
|
4
4
|
var chunk46HHHYSV_cjs = require('./chunk-46HHHYSV.cjs');
|
|
5
|
-
var
|
|
5
|
+
var chunk4F2PRKMM_cjs = require('./chunk-4F2PRKMM.cjs');
|
|
6
6
|
var chunkTOEADI6J_cjs = require('./chunk-TOEADI6J.cjs');
|
|
7
7
|
var chunkGQNVPLSG_cjs = require('./chunk-GQNVPLSG.cjs');
|
|
8
8
|
var chunkMGWZXPMF_cjs = require('./chunk-MGWZXPMF.cjs');
|
|
9
9
|
var chunk4LUPQO4R_cjs = require('./chunk-4LUPQO4R.cjs');
|
|
10
|
-
var
|
|
10
|
+
var chunkOXDKVZZ5_cjs = require('./chunk-OXDKVZZ5.cjs');
|
|
11
11
|
var chunkXAPQTBJR_cjs = require('./chunk-XAPQTBJR.cjs');
|
|
12
12
|
var DateFns = require('date-fns');
|
|
13
13
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -42,9 +42,9 @@ function JobPost({
|
|
|
42
42
|
backAcceptedRoutes,
|
|
43
43
|
actions
|
|
44
44
|
}) {
|
|
45
|
-
const formattedEmploymentType =
|
|
46
|
-
const formattedEmploymentLevel =
|
|
47
|
-
const formattedJobFunction =
|
|
45
|
+
const formattedEmploymentType = chunkOXDKVZZ5_cjs.useDisplayText("employmentType", job.employmentType);
|
|
46
|
+
const formattedEmploymentLevel = chunkOXDKVZZ5_cjs.useDisplayText("employmentLevel", job.employmentLevel);
|
|
47
|
+
const formattedJobFunction = chunkOXDKVZZ5_cjs.useDisplayText("jobFunction", job.jobFunction);
|
|
48
48
|
const formattedLocations = chunkXAPQTBJR_cjs.getAddressList(job);
|
|
49
49
|
const formattedSalary = chunkGQNVPLSG_cjs.salaryRange(job.estimatedSalary);
|
|
50
50
|
const formattedDate = DateFns__namespace.formatDistanceToNow(new Date(job.datePosted), {
|
|
@@ -102,7 +102,7 @@ function JobPost({
|
|
|
102
102
|
}
|
|
103
103
|
),
|
|
104
104
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-8 px-6", children: [
|
|
105
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
105
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk4F2PRKMM_cjs.JobDescription, { description: job.description }),
|
|
106
106
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
107
107
|
chunk46HHHYSV_cjs.CompanyTake,
|
|
108
108
|
{
|
|
@@ -133,5 +133,5 @@ function JobPost({
|
|
|
133
133
|
}
|
|
134
134
|
|
|
135
135
|
exports.JobPost = JobPost;
|
|
136
|
-
//# sourceMappingURL=chunk-
|
|
137
|
-
//# sourceMappingURL=chunk-
|
|
136
|
+
//# sourceMappingURL=chunk-YOQY4H6Z.cjs.map
|
|
137
|
+
//# sourceMappingURL=chunk-YOQY4H6Z.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/jobPost/JobPost.tsx"],"names":["useDisplayText","getAddressList","salaryRange","DateFns","jsxs","cn","jsx","JobHeader","JobDescription","CompanyTake","CompanyInformation","CompanyBenefits"],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/jobPost/JobPost.tsx"],"names":["useDisplayText","getAddressList","salaryRange","DateFns","jsxs","cn","jsx","JobHeader","JobDescription","CompanyTake","CompanyInformation","CompanyBenefits"],"mappings":"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","file":"chunk-YOQY4H6Z.cjs","sourcesContent":["'use client'\n\nimport * as DateFns from 'date-fns'\nimport { type ReactNode } from 'react'\n\nimport { CompanyBenefits } from '@/components/company/CompanyBenefits'\nimport { CompanyInformation } from '@/components/company/CompanyInformation'\nimport { CompanyTake } from '@/components/company/CompanyTake'\nimport { JobDescription } from '@/components/jobPost/JobDescription'\nimport { JobHeader } from '@/components/jobPost/JobHeader'\nimport { useDisplayText } from '@/hooks/useDisplayText'\nimport { getAddressList } from '@/lib/locations'\nimport { salaryRange } from '@/lib/salaryRange'\nimport { cn } from '@/lib/utils'\nimport { type JobPostModel } from '@/types/data/job_posting_service_latest'\n\nexport type JobPostProps = {\n job: JobPostModel\n bannerSrc: string\n avatarSrc?: string\n standalone?: boolean\n avatarHref?: string\n fallbackHref?: string\n backAcceptedRoutes?: string[]\n actions?: ReactNode\n}\n\nexport function JobPost({\n job,\n bannerSrc,\n avatarSrc,\n standalone,\n avatarHref,\n fallbackHref,\n backAcceptedRoutes,\n actions,\n}: Readonly<JobPostProps>) {\n const formattedEmploymentType = useDisplayText('employmentType', job.employmentType)\n const formattedEmploymentLevel = useDisplayText('employmentLevel', job.employmentLevel)\n const formattedJobFunction = useDisplayText('jobFunction', job.jobFunction)\n const formattedLocations = getAddressList(job)\n const formattedSalary = salaryRange(job.estimatedSalary)\n const formattedDate = DateFns.formatDistanceToNow(new Date(job.datePosted as string), {\n addSuffix: true,\n })\n\n const tags = [\n !!formattedSalary && {\n icon: 'banknote' as const,\n name: 'salary',\n label: formattedSalary,\n },\n !!formattedEmploymentType && {\n icon: 'briefcase-business' as const,\n name: 'employmentType',\n label: formattedEmploymentType,\n },\n !!formattedEmploymentLevel && {\n icon: 'circle-user' as const,\n name: 'level',\n label: formattedEmploymentLevel,\n },\n !!formattedJobFunction && {\n icon: 'briefcase-business' as const,\n name: 'jobFunction',\n label: formattedJobFunction,\n },\n ...formattedLocations.map((label) => ({\n icon: 'map-pin' as const,\n name: 'location',\n label,\n })),\n ].filter((t) => !!t)\n\n return (\n <div\n className={cn(\n 'flex flex-col gap-10 pb-4',\n !standalone && 'border-1 rounded-3xl border-grey-5'\n )}\n >\n <JobHeader\n title={job.title}\n bannerSrc={bannerSrc}\n avatarName={job.hiringOrganization?.companyName}\n avatarSrc={job.hiringOrganization?.logo?.asset?.url}\n subtitles={[job.hiringOrganization?.companyName ?? '', `Posted ${formattedDate}`]}\n actions={actions}\n standalone={standalone}\n avatarHref={avatarHref}\n backFallbackHref={fallbackHref}\n backAcceptedRoutes={backAcceptedRoutes}\n tags={tags}\n />\n\n <div className=\"flex flex-col gap-8 px-6\">\n <JobDescription description={job.description} />\n\n <CompanyTake\n avatarSrc={avatarSrc}\n content={job.hiringOrganization?.companyNDG?.companyNDGTake}\n />\n\n <CompanyInformation\n name={job.hiringOrganization?.companyName ?? ''}\n how={job.hiringOrganization?.companyPhilosophy?.companyHow}\n mission={job.hiringOrganization?.companyPhilosophy?.companyMission}\n wow={job.hiringOrganization?.companyNDG?.companyWow}\n website={job.hiringOrganization?.companyWebsite}\n />\n\n <CompanyBenefits\n benefits={job.hiringOrganization?.companyCareers?.companyBenefits\n ?.map((b) => b.title)\n .filter((d) => d !== undefined)}\n />\n </div>\n </div>\n )\n}\n"]}
|