@next-degree/pickle-shared-js 0.13.6 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-KQLHT5UE.js → chunk-3XO3AJR4.js} +3 -3
- package/dist/{chunk-KQLHT5UE.js.map → chunk-3XO3AJR4.js.map} +1 -1
- package/dist/{chunk-XC3HIJM3.cjs → chunk-4FETL23S.cjs} +16 -13
- package/dist/chunk-4FETL23S.cjs.map +1 -0
- package/dist/chunk-5GODYRZA.js +138 -0
- package/dist/chunk-5GODYRZA.js.map +1 -0
- package/dist/{chunk-KJ5X2ZKA.js → chunk-5REFGTWO.js} +3 -3
- package/dist/{chunk-KJ5X2ZKA.js.map → chunk-5REFGTWO.js.map} +1 -1
- package/dist/{chunk-CEA4U6AR.js → chunk-62HL22CD.js} +13 -6
- package/dist/chunk-62HL22CD.js.map +1 -0
- package/dist/chunk-6KGXXX6X.cjs +140 -0
- package/dist/chunk-6KGXXX6X.cjs.map +1 -0
- package/dist/{chunk-WOD47B4V.js → chunk-6Z6T5WWS.js} +4 -4
- package/dist/{chunk-WOD47B4V.js.map → chunk-6Z6T5WWS.js.map} +1 -1
- package/dist/chunk-73JL5O6N.cjs +95 -0
- package/dist/chunk-73JL5O6N.cjs.map +1 -0
- package/dist/{chunk-54CL72AL.cjs → chunk-7NP3NX67.cjs} +3 -3
- package/dist/{chunk-54CL72AL.cjs.map → chunk-7NP3NX67.cjs.map} +1 -1
- package/dist/{chunk-6EW2D7K7.cjs → chunk-7TFFAGVB.cjs} +33 -8
- package/dist/chunk-7TFFAGVB.cjs.map +1 -0
- package/dist/{chunk-MLV2TE6H.cjs → chunk-CGCGALTZ.cjs} +8 -8
- package/dist/{chunk-MLV2TE6H.cjs.map → chunk-CGCGALTZ.cjs.map} +1 -1
- package/dist/{chunk-NEIGOAE6.cjs → chunk-EYN3RHOF.cjs} +19 -12
- package/dist/chunk-EYN3RHOF.cjs.map +1 -0
- package/dist/{chunk-3FQTSGHL.cjs → chunk-F567WG2X.cjs} +47 -35
- package/dist/chunk-F567WG2X.cjs.map +1 -0
- package/dist/{chunk-DUVGFEGU.js → chunk-G4KDEQIL.js} +28 -18
- package/dist/chunk-G4KDEQIL.js.map +1 -0
- package/dist/chunk-IPP5X4TY.js +53 -0
- package/dist/chunk-IPP5X4TY.js.map +1 -0
- package/dist/{chunk-XGQU7BQK.js → chunk-JZLJVA4I.js} +47 -35
- package/dist/chunk-JZLJVA4I.js.map +1 -0
- package/dist/{chunk-C3DCFPJC.cjs → chunk-KBAY4F7D.cjs} +23 -16
- package/dist/chunk-KBAY4F7D.cjs.map +1 -0
- package/dist/{chunk-VB32IBQC.cjs → chunk-N7GS4DZD.cjs} +8 -6
- package/dist/chunk-N7GS4DZD.cjs.map +1 -0
- package/dist/{chunk-ZCBOREOG.js → chunk-PU4O76IS.js} +11 -8
- package/dist/chunk-PU4O76IS.js.map +1 -0
- package/dist/chunk-PVW2B7IC.js +73 -0
- package/dist/chunk-PVW2B7IC.js.map +1 -0
- package/dist/{chunk-GKL5KEO4.js → chunk-PWKRCU2K.js} +32 -9
- package/dist/chunk-PWKRCU2K.js.map +1 -0
- package/dist/{chunk-B472HOM3.js → chunk-QYSTBZXD.js} +7 -7
- package/dist/{chunk-B472HOM3.js.map → chunk-QYSTBZXD.js.map} +1 -1
- package/dist/{chunk-62OBBM7T.js → chunk-SNHRG4TY.js} +23 -16
- package/dist/chunk-SNHRG4TY.js.map +1 -0
- package/dist/{chunk-RO6NJGYB.cjs → chunk-SPAVM3EE.cjs} +3 -3
- package/dist/{chunk-RO6NJGYB.cjs.map → chunk-SPAVM3EE.cjs.map} +1 -1
- package/dist/{chunk-6CSDTWDX.cjs → chunk-TOEADI6J.cjs} +4 -4
- package/dist/{chunk-6CSDTWDX.cjs.map → chunk-TOEADI6J.cjs.map} +1 -1
- package/dist/{chunk-DURKKV2E.js → chunk-TXSLKNR3.js} +6 -4
- package/dist/chunk-TXSLKNR3.js.map +1 -0
- package/dist/{chunk-FAMHC5MQ.cjs → chunk-Z2I2265Q.cjs} +32 -9
- package/dist/chunk-Z2I2265Q.cjs.map +1 -0
- package/dist/{chunk-UW6NEKBF.cjs → chunk-ZLANEWSF.cjs} +28 -18
- package/dist/chunk-ZLANEWSF.cjs.map +1 -0
- package/dist/{company_service_sanity-DF01qvTz.d.ts → company_service_sanity-B1Xg7ISJ.d.ts} +271 -271
- package/dist/{company_service_sanity-Br0R7m-A.d.cts → company_service_sanity-CCbS8ElX.d.cts} +271 -271
- package/dist/components/buttons/BackButton.cjs +1 -1
- package/dist/components/buttons/BackButton.js +1 -1
- package/dist/components/jobCard/JobLocation.cjs +1 -1
- package/dist/components/jobCard/JobLocation.d.cts +1 -1
- package/dist/components/jobCard/JobLocation.d.ts +1 -1
- package/dist/components/jobCard/JobLocation.js +1 -1
- package/dist/components/jobPost/JobHeader.cjs +5 -5
- package/dist/components/jobPost/JobHeader.js +4 -4
- package/dist/components/jobPost/JobPost.cjs +20 -20
- package/dist/components/jobPost/JobPost.d.cts +1 -1
- package/dist/components/jobPost/JobPost.d.ts +1 -1
- package/dist/components/jobPost/JobPost.js +19 -19
- package/dist/components/primitives/command.cjs +10 -10
- package/dist/components/primitives/command.d.cts +1 -1
- package/dist/components/primitives/command.d.ts +1 -1
- package/dist/components/primitives/command.js +1 -1
- package/dist/components/primitives/radio-group.cjs +3 -3
- package/dist/components/primitives/radio-group.d.cts +9 -1
- package/dist/components/primitives/radio-group.d.ts +9 -1
- package/dist/components/primitives/radio-group.js +1 -1
- package/dist/components/ui/Button.d.cts +1 -1
- package/dist/components/ui/Button.d.ts +1 -1
- package/dist/components/ui/Combobox.cjs +4 -4
- package/dist/components/ui/Combobox.d.cts +2 -1
- package/dist/components/ui/Combobox.d.ts +2 -1
- package/dist/components/ui/Combobox.js +3 -3
- package/dist/components/ui/Counter.cjs +2 -2
- package/dist/components/ui/Counter.d.cts +2 -2
- package/dist/components/ui/Counter.d.ts +2 -2
- package/dist/components/ui/Counter.js +1 -1
- package/dist/components/ui/DatePicker.cjs +2 -2
- package/dist/components/ui/DatePicker.d.cts +8 -3
- package/dist/components/ui/DatePicker.d.ts +8 -3
- package/dist/components/ui/DatePicker.js +1 -1
- package/dist/components/ui/Input.cjs +2 -2
- package/dist/components/ui/Input.d.cts +2 -1
- package/dist/components/ui/Input.d.ts +2 -1
- package/dist/components/ui/Input.js +1 -1
- package/dist/components/ui/Map/MapComponent.cjs +5 -5
- package/dist/components/ui/Map/MapComponent.js +4 -4
- package/dist/components/ui/Map/MapContent.cjs +1 -1
- package/dist/components/ui/Map/MapContent.js +1 -1
- package/dist/components/ui/Map/index.cjs +5 -5
- package/dist/components/ui/Map/index.js +4 -4
- package/dist/components/ui/PlacesQueryInput.cjs +4 -4
- package/dist/components/ui/PlacesQueryInput.d.cts +3 -1
- package/dist/components/ui/PlacesQueryInput.d.ts +3 -1
- package/dist/components/ui/PlacesQueryInput.js +3 -3
- package/dist/components/ui/Radio.cjs +3 -3
- package/dist/components/ui/Radio.d.cts +4 -1
- package/dist/components/ui/Radio.d.ts +4 -1
- package/dist/components/ui/Radio.js +2 -2
- package/dist/components/ui/Select.cjs +2 -2
- package/dist/components/ui/Select.d.cts +9 -1
- package/dist/components/ui/Select.d.ts +9 -1
- package/dist/components/ui/Select.js +1 -1
- package/dist/components/ui/Switch.cjs +2 -2
- package/dist/components/ui/Switch.d.cts +7 -1
- package/dist/components/ui/Switch.d.ts +7 -1
- package/dist/components/ui/Switch.js +1 -1
- package/dist/components/ui/buttonShadcn.d.cts +1 -1
- package/dist/components/ui/buttonShadcn.d.ts +1 -1
- package/dist/{displayText-BDPndCI9.d.cts → displayText-Ck0qovrl.d.cts} +2 -2
- package/dist/{displayText-EpnIpZ38.d.ts → displayText-ClDGmi1J.d.ts} +2 -2
- package/dist/hooks/useDisplayText.d.cts +3 -3
- package/dist/hooks/useDisplayText.d.ts +3 -3
- package/dist/index.cjs +72 -72
- package/dist/index.d.cts +6 -6
- package/dist/index.d.ts +6 -6
- package/dist/index.js +34 -34
- package/dist/{job_posting_service_latest-BKz5U2Gp.d.cts → job_posting_service_latest-Bk53vj02.d.cts} +177 -177
- package/dist/{job_posting_service_latest-BKz5U2Gp.d.ts → job_posting_service_latest-Bk53vj02.d.ts} +177 -177
- package/dist/{job_posting_service_latest-B6Trs6sX.d.cts → job_posting_service_latest-DfX8Y4gB.d.cts} +177 -177
- package/dist/{job_posting_service_latest-B6Trs6sX.d.ts → job_posting_service_latest-DfX8Y4gB.d.ts} +177 -177
- package/dist/{job_posting_service_sanity-BN7XcVxU.d.cts → job_posting_service_sanity-BSxLNte3.d.cts} +357 -357
- package/dist/{job_posting_service_sanity-BNQsNQs2.d.ts → job_posting_service_sanity-C6aPb8kp.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.cjs +2 -2
- package/dist/lib/salaryRange.d.cts +1 -1
- package/dist/lib/salaryRange.d.ts +1 -1
- package/dist/lib/salaryRange.js +2 -2
- package/dist/services/displayText.d.cts +3 -3
- package/dist/services/displayText.d.ts +3 -3
- package/dist/styles/globals.css +53 -26
- 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.cjs +7 -7
- package/dist/types/index.d.cts +5 -5
- package/dist/types/index.d.ts +5 -5
- package/dist/types/index.js +2 -2
- 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.cjs +12 -12
- 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/custom/job_posting_service_sanity.js +2 -2
- 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-2I2TWTPC.js +0 -115
- package/dist/chunk-2I2TWTPC.js.map +0 -1
- package/dist/chunk-3FQTSGHL.cjs.map +0 -1
- package/dist/chunk-62OBBM7T.js.map +0 -1
- package/dist/chunk-6EW2D7K7.cjs.map +0 -1
- package/dist/chunk-B7NHA4GE.js +0 -33
- package/dist/chunk-B7NHA4GE.js.map +0 -1
- package/dist/chunk-C3DCFPJC.cjs.map +0 -1
- package/dist/chunk-CEA4U6AR.js.map +0 -1
- package/dist/chunk-DURKKV2E.js.map +0 -1
- package/dist/chunk-DUVGFEGU.js.map +0 -1
- package/dist/chunk-FAMHC5MQ.cjs.map +0 -1
- package/dist/chunk-GKL5KEO4.js.map +0 -1
- package/dist/chunk-NEIGOAE6.cjs.map +0 -1
- package/dist/chunk-ORVF255B.cjs +0 -55
- package/dist/chunk-ORVF255B.cjs.map +0 -1
- package/dist/chunk-U7LTIWUS.js +0 -28
- package/dist/chunk-U7LTIWUS.js.map +0 -1
- package/dist/chunk-UW6NEKBF.cjs.map +0 -1
- package/dist/chunk-VAHZQJTA.cjs +0 -117
- package/dist/chunk-VAHZQJTA.cjs.map +0 -1
- package/dist/chunk-VB32IBQC.cjs.map +0 -1
- package/dist/chunk-XC3HIJM3.cjs.map +0 -1
- package/dist/chunk-XGQU7BQK.js.map +0 -1
- package/dist/chunk-ZCBOREOG.js.map +0 -1
- package/dist/{company_service_latest-C7Moeufo.d.cts → company_service_latest-CVgoQ8Mc.d.cts} +174 -174
- package/dist/{company_service_latest-C7Moeufo.d.ts → company_service_latest-CVgoQ8Mc.d.ts} +174 -174
- package/dist/{company_service_latest-CITz7F53.d.cts → company_service_latest-oWEnaiRd.d.cts} +174 -174
- package/dist/{company_service_latest-CITz7F53.d.ts → company_service_latest-oWEnaiRd.d.ts} +174 -174
- package/dist/{shared_pickle_output_latest--XZhOUyE.d.ts → shared_pickle_output_latest-BVF7Zh2H.d.cts} +11 -11
- package/dist/{shared_pickle_output_latest--XZhOUyE.d.cts → shared_pickle_output_latest-BVF7Zh2H.d.ts} +11 -11
- package/dist/{shared_pickle_output_latest-DKOmTyYk.d.cts → shared_pickle_output_latest-BjRRmT8R.d.cts} +11 -11
- package/dist/{shared_pickle_output_latest-DKOmTyYk.d.ts → shared_pickle_output_latest-BjRRmT8R.d.ts} +11 -11
|
@@ -7,7 +7,20 @@ import { forwardRef, useState, useEffect } from 'react';
|
|
|
7
7
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
8
8
|
|
|
9
9
|
var Counter = forwardRef(
|
|
10
|
-
({
|
|
10
|
+
({
|
|
11
|
+
label,
|
|
12
|
+
error,
|
|
13
|
+
min,
|
|
14
|
+
max,
|
|
15
|
+
step = 1,
|
|
16
|
+
description,
|
|
17
|
+
theme,
|
|
18
|
+
size,
|
|
19
|
+
value,
|
|
20
|
+
classNames,
|
|
21
|
+
onChange,
|
|
22
|
+
...props
|
|
23
|
+
}, ref) => {
|
|
11
24
|
const [count, setCount] = useState(0);
|
|
12
25
|
useEffect(() => {
|
|
13
26
|
setCount(value ?? 0);
|
|
@@ -69,7 +82,7 @@ var Counter = forwardRef(
|
|
|
69
82
|
/* @__PURE__ */ jsx(
|
|
70
83
|
"input",
|
|
71
84
|
{
|
|
72
|
-
className: cn(counterVariants({ theme }), classNames?.input),
|
|
85
|
+
className: cn(counterVariants({ theme, size }), classNames?.input),
|
|
73
86
|
ref,
|
|
74
87
|
value: count,
|
|
75
88
|
onChange: handleChange,
|
|
@@ -96,23 +109,18 @@ var Counter = forwardRef(
|
|
|
96
109
|
Counter.displayName = "Counter";
|
|
97
110
|
var counterVariants = cva(
|
|
98
111
|
[
|
|
99
|
-
"border
|
|
100
|
-
"
|
|
112
|
+
"border",
|
|
113
|
+
"border-grey-20",
|
|
114
|
+
"placeholder:text-grey-50",
|
|
101
115
|
"focus-visible:ring-ring",
|
|
102
116
|
"inline-flex",
|
|
103
117
|
"w-[122px]",
|
|
104
|
-
"h-11",
|
|
105
118
|
"items-center",
|
|
106
|
-
"justify-
|
|
107
|
-
"gap-3",
|
|
119
|
+
"justify-center",
|
|
108
120
|
"rounded-lg",
|
|
109
121
|
"bg-transparent",
|
|
110
|
-
"px-3",
|
|
111
|
-
"pt-0.5",
|
|
112
|
-
"text-sm",
|
|
113
122
|
"text-center",
|
|
114
123
|
"shadow-sm",
|
|
115
|
-
"ring-grey-50",
|
|
116
124
|
"transition-colors",
|
|
117
125
|
"focus-visible:outline-none",
|
|
118
126
|
"focus-visible:ring-1",
|
|
@@ -129,21 +137,23 @@ var counterVariants = cva(
|
|
|
129
137
|
{
|
|
130
138
|
variants: {
|
|
131
139
|
theme: {
|
|
132
|
-
light: "text-grey-80
|
|
140
|
+
light: "text-grey-80",
|
|
133
141
|
dark: "text-white"
|
|
134
142
|
},
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
143
|
+
size: {
|
|
144
|
+
small: "h-8 px-3 py-1 text-xs",
|
|
145
|
+
normal: "h-9 px-3 py-2 text-sm",
|
|
146
|
+
large: "h-10 px-4 py-2 text-base",
|
|
147
|
+
xlarge: "h-11 px-4 py-3 text-base"
|
|
138
148
|
}
|
|
139
149
|
},
|
|
140
150
|
defaultVariants: {
|
|
141
151
|
theme: "light",
|
|
142
|
-
|
|
152
|
+
size: "normal"
|
|
143
153
|
}
|
|
144
154
|
}
|
|
145
155
|
);
|
|
146
156
|
|
|
147
157
|
export { Counter };
|
|
148
|
-
//# sourceMappingURL=chunk-
|
|
149
|
-
//# sourceMappingURL=chunk-
|
|
158
|
+
//# sourceMappingURL=chunk-G4KDEQIL.js.map
|
|
159
|
+
//# sourceMappingURL=chunk-G4KDEQIL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/Counter.tsx"],"names":[],"mappings":"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","file":"chunk-G4KDEQIL.js","sourcesContent":["'use client'\n\nimport { cva, type VariantProps } from 'cva'\nimport { Minus, Plus } from 'lucide-react'\nimport { type ChangeEvent, forwardRef, type InputHTMLAttributes, useEffect, useState } from 'react'\n\nimport ErrorMessage from '@/components/ui/ErrorMessage'\nimport Label from '@/components/ui/Label'\nimport { cn } from '@/lib/utils'\n\ntype InputProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'size'>\ntype CounterVariants = VariantProps<typeof counterVariants>\ntype Props = InputProps &\n CounterVariants & {\n label?: string\n value?: number\n error?: string\n min?: number\n max?: number\n step?: number\n description?: string\n classNames?: { root?: string; input?: string; label?: string }\n onChange?: (n: number) => void\n }\n\nexport const Counter = forwardRef<HTMLInputElement, Props>(\n (\n {\n label,\n error,\n min,\n max,\n step = 1,\n description,\n theme,\n size,\n value,\n classNames,\n onChange,\n ...props\n },\n ref\n ) => {\n const [count, setCount] = useState(0)\n\n useEffect(() => {\n setCount(value ?? 0)\n }, [value])\n\n const handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n const newValue = parseInt(e.target.value.replace(/\\D/g, ''), 10)\n if (isNaN(newValue)) return\n if (min && newValue < min) {\n onChange?.(min)\n setCount(min)\n return\n }\n if (max && newValue > max) {\n onChange?.(max)\n setCount(max)\n return\n }\n onChange?.(newValue)\n setCount(newValue)\n }\n\n const decrement = () => {\n const proposedValue = count - step\n const newValue = Math.max(min ?? -Infinity, proposedValue)\n onChange?.(newValue)\n setCount(newValue)\n }\n\n const increment = () => {\n const proposedValue = count + step\n const newValue = Math.min(max ?? Infinity, proposedValue)\n onChange?.(newValue)\n setCount(newValue)\n }\n\n return (\n <div\n className={cn('flex w-auto flex-col gap-1', classNames?.root)}\n data-testid={`counter-wrapper-${props.id}`}\n >\n {label && (\n <Label\n text={label}\n htmlFor={props.name}\n required={props.required}\n description={description}\n className={classNames?.label}\n />\n )}\n\n <div className=\"relative flex w-[122px] flex-row items-center\">\n <button\n type=\"button\"\n 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\"\n onClick={decrement}\n >\n <Minus className=\"h-4 w-4 text-green-100\" />\n </button>\n\n <input\n className={cn(counterVariants({ theme, size }), classNames?.input)}\n ref={ref}\n value={count}\n onChange={handleChange}\n data-testid={`counter-element-${props.id}`}\n {...props}\n />\n\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={increment}\n >\n <Plus className=\"h-4 w-4 text-green-100\" />\n </button>\n </div>\n\n <ErrorMessage message={error} />\n </div>\n )\n }\n)\nCounter.displayName = 'Counter'\n\nconst counterVariants = cva(\n [\n 'border',\n 'border-grey-20',\n 'placeholder:text-grey-50',\n 'focus-visible:ring-ring',\n 'inline-flex',\n 'w-[122px]',\n 'items-center',\n 'justify-center',\n 'rounded-lg',\n 'bg-transparent',\n 'text-center',\n 'shadow-sm',\n 'transition-colors',\n 'focus-visible:outline-none',\n 'focus-visible:ring-1',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n 'appearance-none',\n '[&::-webkit-search-cancel-button]:appearance-none',\n '[&::-webkit-search-decoration]:appearance-none',\n '[&::-webkit-search-results-button]:appearance-none',\n '[&::-webkit-search-results-decoration]:appearance-none',\n '[&::-ms-clear]:display-none',\n '[&::-ms-reveal]:display-none',\n ],\n {\n variants: {\n theme: {\n light: 'text-grey-80',\n dark: 'text-white',\n },\n size: {\n small: 'h-8 px-3 py-1 text-xs',\n normal: 'h-9 px-3 py-2 text-sm',\n large: 'h-10 px-4 py-2 text-base',\n xlarge: 'h-11 px-4 py-3 text-base',\n },\n },\n defaultVariants: {\n theme: 'light',\n size: 'normal',\n },\n }\n)\n"]}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { cn } from './chunk-2FGZQI42.js';
|
|
2
|
+
import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
|
|
3
|
+
import { cva } from 'cva';
|
|
4
|
+
import { forwardRef } from 'react';
|
|
5
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
6
|
+
|
|
7
|
+
var radioItemVariants = cva(
|
|
8
|
+
"peer aspect-square rounded-full border border-grey-20 shadow outline outline-1 outline-offset-2 outline-transparent focus:outline-none focus:outline-purple-100 focus-visible:ring-1 focus-visible:ring-ring active:border-green-80 disabled:cursor-not-allowed disabled:opacity-50 group-hover:border-grey-30 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",
|
|
9
|
+
{
|
|
10
|
+
variants: {
|
|
11
|
+
size: {
|
|
12
|
+
small: "h-3",
|
|
13
|
+
normal: "h-4",
|
|
14
|
+
large: "h-5"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
defaultVariants: {
|
|
18
|
+
size: "normal"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
);
|
|
22
|
+
var radioLabelVariants = cva("text-grey-80 peer-data-[disabled]:text-grey-40", {
|
|
23
|
+
variants: {
|
|
24
|
+
size: {
|
|
25
|
+
small: "text-xs",
|
|
26
|
+
normal: "text-sm",
|
|
27
|
+
large: "text-base"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
defaultVariants: {
|
|
31
|
+
size: "normal"
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
var RadioGroup = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(RadioGroupPrimitive.Root, { className, ...props, ref }));
|
|
35
|
+
RadioGroup.displayName = RadioGroupPrimitive.Root.displayName;
|
|
36
|
+
var RadioGroupItem = forwardRef(({ className, children, size, ...props }, ref) => {
|
|
37
|
+
return /* @__PURE__ */ jsxs("div", { className: "group flex flex-row items-center gap-2", children: [
|
|
38
|
+
/* @__PURE__ */ jsx(
|
|
39
|
+
RadioGroupPrimitive.Item,
|
|
40
|
+
{
|
|
41
|
+
ref,
|
|
42
|
+
className: cn(radioItemVariants({ size }), className),
|
|
43
|
+
...props
|
|
44
|
+
}
|
|
45
|
+
),
|
|
46
|
+
/* @__PURE__ */ jsx("label", { htmlFor: props.id, className: radioLabelVariants({ size }), children })
|
|
47
|
+
] });
|
|
48
|
+
});
|
|
49
|
+
RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
|
|
50
|
+
|
|
51
|
+
export { RadioGroup, RadioGroupItem };
|
|
52
|
+
//# sourceMappingURL=chunk-IPP5X4TY.js.map
|
|
53
|
+
//# sourceMappingURL=chunk-IPP5X4TY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/primitives/radio-group.tsx"],"names":[],"mappings":";;;;;;AAaA,IAAM,iBAAoB,GAAA,GAAA;AAAA,EACxB,8dAAA;AAAA,EACA;AAAA,IACE,QAAU,EAAA;AAAA,MACR,IAAM,EAAA;AAAA,QACJ,KAAO,EAAA,KAAA;AAAA,QACP,MAAQ,EAAA,KAAA;AAAA,QACR,KAAO,EAAA;AAAA;AACT,KACF;AAAA,IACA,eAAiB,EAAA;AAAA,MACf,IAAM,EAAA;AAAA;AACR;AAEJ,CAAA;AAEA,IAAM,kBAAA,GAAqB,IAAI,gDAAkD,EAAA;AAAA,EAC/E,QAAU,EAAA;AAAA,IACR,IAAM,EAAA;AAAA,MACJ,KAAO,EAAA,SAAA;AAAA,MACP,MAAQ,EAAA,SAAA;AAAA,MACR,KAAO,EAAA;AAAA;AACT,GACF;AAAA,EACA,eAAiB,EAAA;AAAA,IACf,IAAM,EAAA;AAAA;AAEV,CAAC,CAAA;AAIM,IAAM,aAAa,UAGxB,CAAA,CAAC,EAAE,SAAA,EAAW,GAAG,KAAM,EAAA,EAAG,GAC1B,qBAAA,GAAA,CAAqB,0BAApB,EAAyB,SAAA,EAAuB,GAAG,KAAA,EAAO,KAAU,CACtE;AACD,UAAA,CAAW,cAAkC,mBAAK,CAAA,IAAA,CAAA,WAAA;AAQrC,IAAA,cAAA,GAAiB,UAG5B,CAAA,CAAC,EAAE,SAAA,EAAW,UAAU,IAAM,EAAA,GAAG,KAAM,EAAA,EAAG,GAAQ,KAAA;AAClD,EACE,uBAAA,IAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,wCACb,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAqB,mBAAA,CAAA,IAAA;AAAA,MAApB;AAAA,QACC,GAAA;AAAA,QACA,WAAW,EAAG,CAAA,iBAAA,CAAkB,EAAE,IAAK,EAAC,GAAG,SAAS,CAAA;AAAA,QACnD,GAAG;AAAA;AAAA,KACN;AAAA,oBACA,GAAA,CAAC,OAAM,EAAA,EAAA,OAAA,EAAS,KAAM,CAAA,EAAA,EAAI,SAAW,EAAA,kBAAA,CAAmB,EAAE,IAAA,EAAM,CAAA,EAC7D,QACH,EAAA;AAAA,GACF,EAAA,CAAA;AAEJ,CAAC;AACD,cAAA,CAAe,cAAkC,mBAAK,CAAA,IAAA,CAAA,WAAA","file":"chunk-IPP5X4TY.js","sourcesContent":["'use client'\n\nimport * as RadioGroupPrimitive from '@radix-ui/react-radio-group'\nimport { cva, type VariantProps } from 'cva'\nimport {\n type ComponentPropsWithoutRef,\n type ElementRef,\n forwardRef,\n type PropsWithChildren,\n} from 'react'\n\nimport { cn } from '@/lib/utils'\n\nconst radioItemVariants = cva(\n 'peer aspect-square rounded-full border border-grey-20 shadow outline outline-1 outline-offset-2 outline-transparent focus:outline-none focus:outline-purple-100 focus-visible:ring-1 focus-visible:ring-ring active:border-green-80 disabled:cursor-not-allowed disabled:opacity-50 group-hover:border-grey-30 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',\n {\n variants: {\n size: {\n small: 'h-3',\n normal: 'h-4',\n large: 'h-5',\n },\n },\n defaultVariants: {\n size: 'normal',\n },\n }\n)\n\nconst radioLabelVariants = cva('text-grey-80 peer-data-[disabled]:text-grey-40', {\n variants: {\n size: {\n small: 'text-xs',\n normal: 'text-sm',\n large: 'text-base',\n },\n },\n defaultVariants: {\n size: 'normal',\n },\n})\n\nexport type RadioSize = VariantProps<typeof radioItemVariants>['size']\n\nexport const RadioGroup = forwardRef<\n ElementRef<typeof RadioGroupPrimitive.Root>,\n ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <RadioGroupPrimitive.Root className={className} {...props} ref={ref} />\n))\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName\n\ntype RadioGroupItemProps = PropsWithChildren<\n ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item> & {\n size?: RadioSize\n }\n>\n\nexport const RadioGroupItem = forwardRef<\n ElementRef<typeof RadioGroupPrimitive.Item>,\n RadioGroupItemProps\n>(({ className, children, size, ...props }, ref) => {\n return (\n <div className=\"group flex flex-row items-center gap-2\">\n <RadioGroupPrimitive.Item\n ref={ref}\n className={cn(radioItemVariants({ size }), className)}\n {...props}\n />\n <label htmlFor={props.id} className={radioLabelVariants({ size })}>\n {children}\n </label>\n </div>\n )\n})\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName\n"]}
|
|
@@ -10,7 +10,7 @@ import { forwardRef, useState, useEffect } from 'react';
|
|
|
10
10
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
11
11
|
|
|
12
12
|
var DatePicker = forwardRef(
|
|
13
|
-
({ label, description, required, classNames, value, onChange, error, id, testId }, ref) => {
|
|
13
|
+
({ label, description, required, classNames, value, onChange, error, id, testId, size }, ref) => {
|
|
14
14
|
const [date, setDate] = useState(null);
|
|
15
15
|
useEffect(() => {
|
|
16
16
|
setDate(value ?? null);
|
|
@@ -31,7 +31,7 @@ var DatePicker = forwardRef(
|
|
|
31
31
|
}
|
|
32
32
|
),
|
|
33
33
|
/* @__PURE__ */ jsxs(Popover, { children: [
|
|
34
|
-
/* @__PURE__ */ jsx(PopoverTrigger, { "data-testid": testId, children: /* @__PURE__ */ jsxs("div", { className: cn(datePickerStyle(), classNames?.input), children: [
|
|
34
|
+
/* @__PURE__ */ jsx(PopoverTrigger, { "data-testid": testId, children: /* @__PURE__ */ jsxs("div", { className: cn(datePickerStyle({ size }), classNames?.input), children: [
|
|
35
35
|
/* @__PURE__ */ jsx(Calendar, { size: 16 }),
|
|
36
36
|
date ? format(date, "MM/dd/yyyy") : "Select a date"
|
|
37
37
|
] }) }),
|
|
@@ -51,38 +51,50 @@ var DatePicker = forwardRef(
|
|
|
51
51
|
] });
|
|
52
52
|
}
|
|
53
53
|
);
|
|
54
|
-
var datePickerStyle = cva(
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
54
|
+
var datePickerStyle = cva(
|
|
55
|
+
[
|
|
56
|
+
"placeholder:text-grey-50",
|
|
57
|
+
"focus-visible:ring-ring",
|
|
58
|
+
"inline-flex",
|
|
59
|
+
"w-full",
|
|
60
|
+
"items-center",
|
|
61
|
+
"justify-start",
|
|
62
|
+
"gap-3",
|
|
63
|
+
"rounded-lg",
|
|
64
|
+
"bg-transparent",
|
|
65
|
+
"shadow-sm",
|
|
66
|
+
"transition-colors",
|
|
67
|
+
"focus-visible:outline-none",
|
|
68
|
+
"focus-visible:ring-1",
|
|
69
|
+
"disabled:cursor-not-allowed",
|
|
70
|
+
"disabled:opacity-50",
|
|
71
|
+
"appearance-none",
|
|
72
|
+
"[&::-webkit-search-cancel-button]:appearance-none",
|
|
73
|
+
"[&::-webkit-search-decoration]:appearance-none",
|
|
74
|
+
"[&::-webkit-search-results-button]:appearance-none",
|
|
75
|
+
"[&::-webkit-search-results-decoration]:appearance-none",
|
|
76
|
+
"[&::-ms-clear]:display-none",
|
|
77
|
+
"[&::-ms-reveal]:display-none",
|
|
78
|
+
"text-grey-80",
|
|
79
|
+
"border",
|
|
80
|
+
"border-grey-20",
|
|
81
|
+
"font-normal"
|
|
82
|
+
],
|
|
83
|
+
{
|
|
84
|
+
variants: {
|
|
85
|
+
size: {
|
|
86
|
+
small: "h-8 px-3 py-1 text-xs",
|
|
87
|
+
normal: "h-9 px-3 py-2 text-sm",
|
|
88
|
+
large: "h-10 px-4 py-2 text-base",
|
|
89
|
+
xlarge: "h-11 px-4 py-3 text-base"
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
defaultVariants: {
|
|
93
|
+
size: "normal"
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
);
|
|
85
97
|
|
|
86
98
|
export { DatePicker };
|
|
87
|
-
//# sourceMappingURL=chunk-
|
|
88
|
-
//# sourceMappingURL=chunk-
|
|
99
|
+
//# sourceMappingURL=chunk-JZLJVA4I.js.map
|
|
100
|
+
//# sourceMappingURL=chunk-JZLJVA4I.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/DatePicker.tsx"],"names":["CalendarIcon","Calendar"],"mappings":"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","file":"chunk-JZLJVA4I.js","sourcesContent":["'use client'\n\nimport { cva, type VariantProps } from 'cva'\nimport { format } from 'date-fns'\nimport { Calendar as CalendarIcon } from 'lucide-react'\nimport { forwardRef, useEffect, useState } from 'react'\n\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/primitives/popover'\nimport { Calendar } from '@/components/ui/calendar'\nimport ErrorMessage from '@/components/ui/ErrorMessage'\nimport Label from '@/components/ui/Label'\nimport { cn } from '@/lib/utils'\n\ntype DatePickerVariants = VariantProps<typeof datePickerStyle>\n\ntype Props = DatePickerVariants & {\n label?: string\n description?: string\n required?: boolean\n id?: string\n classNames?: {\n label?: string\n input?: string\n calendar?: string\n }\n value?: Date | null\n onChange?: (date: Date) => void\n error?: string\n testId?: string\n}\n\nexport const DatePicker = forwardRef<HTMLInputElement, Props>(\n ({ label, description, required, classNames, value, onChange, error, id, testId, size }, ref) => {\n const [date, setDate] = useState<Date | null>(null)\n\n useEffect(() => {\n setDate(value ?? null)\n }, [value])\n\n const handleDateSelect = (dateSelected: Date | undefined) => {\n if (!dateSelected) return\n onChange?.(dateSelected)\n setDate(dateSelected)\n }\n\n return (\n <div id={id} className={cn('flex w-auto flex-col gap-1')}>\n {label && (\n <Label\n text={label}\n required={required}\n description={description}\n className={classNames?.label}\n />\n )}\n <Popover>\n <PopoverTrigger data-testid={testId}>\n <div className={cn(datePickerStyle({ size }), classNames?.input)}>\n <CalendarIcon size={16} />\n {date ? format(date, 'MM/dd/yyyy') : 'Select a date'}\n </div>\n </PopoverTrigger>\n <PopoverContent ref={ref}>\n <Calendar\n mode=\"single\"\n selected={date || undefined}\n onSelect={handleDateSelect}\n captionLayout=\"dropdown\"\n showOutsideDays={true}\n className={classNames?.calendar}\n />\n </PopoverContent>\n </Popover>\n\n <ErrorMessage message={error} />\n </div>\n )\n }\n)\n\nconst datePickerStyle = cva(\n [\n 'placeholder:text-grey-50',\n 'focus-visible:ring-ring',\n 'inline-flex',\n 'w-full',\n 'items-center',\n 'justify-start',\n 'gap-3',\n 'rounded-lg',\n 'bg-transparent',\n 'shadow-sm',\n 'transition-colors',\n 'focus-visible:outline-none',\n 'focus-visible:ring-1',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n 'appearance-none',\n '[&::-webkit-search-cancel-button]:appearance-none',\n '[&::-webkit-search-decoration]:appearance-none',\n '[&::-webkit-search-results-button]:appearance-none',\n '[&::-webkit-search-results-decoration]:appearance-none',\n '[&::-ms-clear]:display-none',\n '[&::-ms-reveal]:display-none',\n 'text-grey-80',\n 'border',\n 'border-grey-20',\n 'font-normal',\n ],\n {\n variants: {\n size: {\n small: 'h-8 px-3 py-1 text-xs',\n normal: 'h-9 px-3 py-2 text-sm',\n large: 'h-10 px-4 py-2 text-base',\n xlarge: 'h-11 px-4 py-3 text-base',\n },\n },\n defaultVariants: {\n size: 'normal',\n },\n }\n)\n"]}
|
|
@@ -42,20 +42,27 @@ Command.displayName = cmdk.Command.displayName;
|
|
|
42
42
|
var CommandDialog = ({ children, ...props }) => {
|
|
43
43
|
return /* @__PURE__ */ jsxRuntime.jsx(chunkP6ZEOB4L_cjs.Dialog, { ...props, children: /* @__PURE__ */ jsxRuntime.jsx(chunkP6ZEOB4L_cjs.DialogContent, { className: "overflow-hidden p-0 shadow-lg", children: /* @__PURE__ */ jsxRuntime.jsx(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-neutral-500 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children }) }) });
|
|
44
44
|
};
|
|
45
|
-
var CommandInput = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
className:
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
45
|
+
var CommandInput = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
46
|
+
"div",
|
|
47
|
+
{
|
|
48
|
+
className: "m-1 flex items-center rounded-lg border border-grey-20 px-3",
|
|
49
|
+
"cmdk-input-wrapper": "",
|
|
50
|
+
children: [
|
|
51
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
|
|
52
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
53
|
+
cmdk.Command.Input,
|
|
54
|
+
{
|
|
55
|
+
ref,
|
|
56
|
+
className: chunkMGWZXPMF_cjs.cn(
|
|
57
|
+
"flex h-9 w-full rounded-md bg-transparent py-2 text-sm text-grey-80 outline-none placeholder:text-grey-50 disabled:cursor-not-allowed disabled:opacity-50",
|
|
58
|
+
className
|
|
59
|
+
),
|
|
60
|
+
...props
|
|
61
|
+
}
|
|
62
|
+
)
|
|
63
|
+
]
|
|
64
|
+
}
|
|
65
|
+
));
|
|
59
66
|
CommandInput.displayName = cmdk.Command.Input.displayName;
|
|
60
67
|
var CommandList = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
61
68
|
cmdk.Command.List,
|
|
@@ -121,5 +128,5 @@ exports.CommandItem = CommandItem;
|
|
|
121
128
|
exports.CommandList = CommandList;
|
|
122
129
|
exports.CommandSeparator = CommandSeparator;
|
|
123
130
|
exports.CommandShortcut = CommandShortcut;
|
|
124
|
-
//# sourceMappingURL=chunk-
|
|
125
|
-
//# sourceMappingURL=chunk-
|
|
131
|
+
//# sourceMappingURL=chunk-KBAY4F7D.cjs.map
|
|
132
|
+
//# sourceMappingURL=chunk-KBAY4F7D.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/primitives/command.tsx"],"names":["React","jsx","CommandPrimitive","cn","Dialog","DialogContent","jsxs","Search"],"mappings":"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","file":"chunk-KBAY4F7D.cjs","sourcesContent":["'use client'\n\nimport { type DialogProps } from '@radix-ui/react-dialog'\nimport { Command as CommandPrimitive } from 'cmdk'\nimport { Search } from 'lucide-react'\nimport * as React from 'react'\n\nimport { Dialog, DialogContent } from '@/components/primitives/dialog'\nimport { cn } from '@/lib/utils'\n\nconst Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n 'flex h-full w-full flex-col overflow-hidden rounded-xl bg-white text-neutral-950',\n className\n )}\n {...props}\n />\n))\nCommand.displayName = CommandPrimitive.displayName\n\ntype CommandDialogProps = DialogProps\n\nconst CommandDialog = ({ children, ...props }: CommandDialogProps) => {\n return (\n <Dialog {...props}>\n <DialogContent className=\"overflow-hidden p-0 shadow-lg\">\n <Command className=\"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-neutral-500 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n )\n}\n\nconst CommandInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => (\n <div\n className=\"m-1 flex items-center rounded-lg border border-grey-20 px-3\"\n cmdk-input-wrapper=\"\"\n >\n <Search className=\"mr-2 h-4 w-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n 'flex h-9 w-full rounded-md bg-transparent py-2 text-sm text-grey-80 outline-none placeholder:text-grey-50 disabled:cursor-not-allowed disabled:opacity-50',\n className\n )}\n {...props}\n />\n </div>\n))\n\nCommandInput.displayName = CommandPrimitive.Input.displayName\n\nconst CommandList = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.List\n ref={ref}\n className={cn('overflow-y-auto overflow-x-hidden', className)}\n {...props}\n />\n))\n\nCommandList.displayName = CommandPrimitive.List.displayName\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => (\n <CommandPrimitive.Empty ref={ref} className=\"py-6 text-center text-sm\" {...props} />\n))\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n 'overflow-hidden p-1 text-neutral-950 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-neutral-500',\n className\n )}\n {...props}\n />\n))\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Separator\n ref={ref}\n className={cn('-mx-1 h-px bg-neutral-200', className)}\n {...props}\n />\n))\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName\n\nconst CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-pointer select-none items-center rounded-xl px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-neutral-100 data-[selected=true]:text-neutral-900 data-[disabled=true]:opacity-50\",\n className\n )}\n {...props}\n />\n))\n\nCommandItem.displayName = CommandPrimitive.Item.displayName\n\nconst CommandShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn('ml-auto text-xs tracking-widest text-neutral-500', className)}\n {...props}\n />\n )\n}\nCommandShortcut.displayName = 'CommandShortcut'\n\nexport {\n Command,\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n CommandShortcut,\n}\n"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var chunkXWQI5MC3_cjs = require('./chunk-XWQI5MC3.cjs');
|
|
4
4
|
var chunkLTJXX7NG_cjs = require('./chunk-LTJXX7NG.cjs');
|
|
5
|
-
var
|
|
5
|
+
var chunk7TFFAGVB_cjs = require('./chunk-7TFFAGVB.cjs');
|
|
6
6
|
var chunkMGWZXPMF_cjs = require('./chunk-MGWZXPMF.cjs');
|
|
7
7
|
var react = require('react');
|
|
8
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -16,27 +16,29 @@ var Radio = react.forwardRef(
|
|
|
16
16
|
classNames,
|
|
17
17
|
onChange: handleValueChange,
|
|
18
18
|
orientation,
|
|
19
|
+
size,
|
|
19
20
|
...props
|
|
20
21
|
}, ref) => {
|
|
21
22
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkMGWZXPMF_cjs.cn("flex flex-col gap-1", classNames?.root), children: [
|
|
22
23
|
/* @__PURE__ */ jsxRuntime.jsx(chunkXWQI5MC3_cjs.Label_default, { text: label, description, required: props.required }),
|
|
23
24
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
24
|
-
|
|
25
|
+
chunk7TFFAGVB_cjs.RadioGroup,
|
|
25
26
|
{
|
|
26
27
|
ref,
|
|
27
28
|
className: chunkMGWZXPMF_cjs.cn(
|
|
28
|
-
"flex
|
|
29
|
+
"flex",
|
|
29
30
|
orientation === "vertical" ? "flex-col gap-2" : "flex-row gap-4",
|
|
30
31
|
classNames?.group
|
|
31
32
|
),
|
|
32
33
|
onValueChange: handleValueChange,
|
|
33
34
|
...props,
|
|
34
35
|
children: options?.map(({ id, title, value }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
35
|
-
|
|
36
|
+
chunk7TFFAGVB_cjs.RadioGroupItem,
|
|
36
37
|
{
|
|
37
38
|
value,
|
|
38
39
|
id: `radio-group-item-${title}`,
|
|
39
40
|
className: classNames?.item,
|
|
41
|
+
size,
|
|
40
42
|
children: title
|
|
41
43
|
},
|
|
42
44
|
id
|
|
@@ -50,5 +52,5 @@ var Radio = react.forwardRef(
|
|
|
50
52
|
Radio.displayName = "Radio";
|
|
51
53
|
|
|
52
54
|
exports.Radio = Radio;
|
|
53
|
-
//# sourceMappingURL=chunk-
|
|
54
|
-
//# sourceMappingURL=chunk-
|
|
55
|
+
//# sourceMappingURL=chunk-N7GS4DZD.cjs.map
|
|
56
|
+
//# sourceMappingURL=chunk-N7GS4DZD.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/Radio.tsx"],"names":["forwardRef","cn","jsx","Label_default","RadioGroup","RadioGroupItem","ErrorMessage_default"],"mappings":";;;;;;;;;AAoBO,IAAM,KAAQ,GAAAA,gBAAA;AAAA,EACnB,CACE;AAAA,IACE,KAAA;AAAA,IACA,KAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAU,EAAA,iBAAA;AAAA,IACV,WAAA;AAAA,IACA,IAAA;AAAA,IACA,GAAG;AAAA,KAEL,GACG,KAAA;AACH,IAAA,uCACG,KAAI,EAAA,EAAA,SAAA,EAAWC,qBAAG,qBAAuB,EAAA,UAAA,EAAY,IAAI,CACxD,EAAA,QAAA,EAAA;AAAA,sBAAAC,cAAA,CAACC,mCAAM,IAAM,EAAA,KAAA,EAAO,WAA0B,EAAA,QAAA,EAAU,MAAM,QAAU,EAAA,CAAA;AAAA,sBAExED,cAAA;AAAA,QAACE,4BAAA;AAAA,QAAA;AAAA,UACC,GAAA;AAAA,UACA,SAAW,EAAAH,oBAAA;AAAA,YACT,MAAA;AAAA,YACA,WAAA,KAAgB,aAAa,gBAAmB,GAAA,gBAAA;AAAA,YAChD,UAAY,EAAA;AAAA,WACd;AAAA,UACA,aAAe,EAAA,iBAAA;AAAA,UACd,GAAG,KAAA;AAAA,UAEH,mBAAS,GAAI,CAAA,CAAC,EAAE,EAAI,EAAA,KAAA,EAAO,OAC1B,qBAAAC,cAAA;AAAA,YAACG,gCAAA;AAAA,YAAA;AAAA,cAEC,KAAA;AAAA,cACA,EAAA,EAAI,oBAAoB,KAAK,CAAA,CAAA;AAAA,cAC7B,WAAW,UAAY,EAAA,IAAA;AAAA,cACvB,IAAA;AAAA,cAEC,QAAA,EAAA;AAAA,aAAA;AAAA,YANI;AAAA,WAQR;AAAA;AAAA,OACH;AAAA,sBAEAH,cAAA,CAACI,sCAAa,EAAA,EAAA,OAAA,EAAS,KAAO,EAAA;AAAA,KAChC,EAAA,CAAA;AAAA;AAGN;AACA,KAAA,CAAM,WAAc,GAAA,OAAA","file":"chunk-N7GS4DZD.cjs","sourcesContent":["import { type ComponentProps, forwardRef } from 'react'\n\nimport { RadioGroup, RadioGroupItem, type RadioSize } from '@/components/primitives/radio-group'\nimport ErrorMessage from '@/components/ui/ErrorMessage'\nimport Label from '@/components/ui/Label'\nimport { cn } from '@/lib/utils'\n\ntype RadioItem = { id: string | number; title: string; value: string }\ntype RadioClassNames = { root?: string; group?: string; item?: string }\ntype RadioGroupProps = Omit<ComponentProps<typeof RadioGroup>, 'onValueChange'>\nexport type RadioProps = RadioGroupProps & {\n label?: string\n error?: string\n description?: string\n classNames?: RadioClassNames\n options?: RadioItem[]\n onChange?: (value: string) => void\n size?: RadioSize\n}\n\nexport const Radio = forwardRef<HTMLInputElement, RadioProps>(\n (\n {\n label,\n error,\n description,\n options,\n classNames,\n onChange: handleValueChange,\n orientation,\n size,\n ...props\n },\n ref\n ) => {\n return (\n <div className={cn('flex flex-col gap-1', classNames?.root)}>\n <Label text={label} description={description} required={props.required} />\n\n <RadioGroup\n ref={ref}\n className={cn(\n 'flex',\n orientation === 'vertical' ? 'flex-col gap-2' : 'flex-row gap-4',\n classNames?.group\n )}\n onValueChange={handleValueChange}\n {...props}\n >\n {options?.map(({ id, title, value }) => (\n <RadioGroupItem\n key={id}\n value={value}\n id={`radio-group-item-${title}`}\n className={classNames?.item}\n size={size}\n >\n {title}\n </RadioGroupItem>\n ))}\n </RadioGroup>\n\n <ErrorMessage message={error} />\n </div>\n )\n }\n)\nRadio.displayName = 'Radio'\n"]}
|
|
@@ -4,7 +4,7 @@ import { ErrorMessage_default } from './chunk-CWTO3NXW.js';
|
|
|
4
4
|
import { Popover, PopoverTrigger, PopoverContent } from './chunk-ODHIUBLC.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-SNHRG4TY.js';
|
|
8
8
|
import { cn } from './chunk-2FGZQI42.js';
|
|
9
9
|
import { cva } from 'cva';
|
|
10
10
|
import { icons, ChevronDownIcon, CircleX } from 'lucide-react';
|
|
@@ -64,7 +64,7 @@ var Combobox = forwardRef((props, ref) => {
|
|
|
64
64
|
};
|
|
65
65
|
const handleSelect = (value2) => {
|
|
66
66
|
const option = options.find((o) => o.value === value2);
|
|
67
|
-
if (!option) return;
|
|
67
|
+
if (!option || option.disabled) return;
|
|
68
68
|
isUserUpdate.current = true;
|
|
69
69
|
if (multiselect) {
|
|
70
70
|
setSelected((prev) => updateMultiSelect(prev, option));
|
|
@@ -118,7 +118,7 @@ var Combobox = forwardRef((props, ref) => {
|
|
|
118
118
|
{
|
|
119
119
|
className: cn(
|
|
120
120
|
"w-full truncate leading-normal",
|
|
121
|
-
isDefault && isEmpty && "text-grey-
|
|
121
|
+
isDefault && isEmpty && "text-grey-50"
|
|
122
122
|
),
|
|
123
123
|
children: handleDisplayValue()
|
|
124
124
|
}
|
|
@@ -150,11 +150,13 @@ var Combobox = forwardRef((props, ref) => {
|
|
|
150
150
|
!hideSearchBox && /* @__PURE__ */ jsx(CommandInput, { placeholder: "Search..." }),
|
|
151
151
|
/* @__PURE__ */ jsxs(CommandList, { children: [
|
|
152
152
|
/* @__PURE__ */ jsx(CommandEmpty, { children: "No results" }),
|
|
153
|
-
/* @__PURE__ */ jsx(CommandGroup, { children: options.map(({ id: id2, ...option }) => /* @__PURE__ */ jsx(
|
|
153
|
+
/* @__PURE__ */ jsx(CommandGroup, { children: options.map(({ id: id2, disabled, ...option }) => /* @__PURE__ */ jsx(
|
|
154
154
|
CommandItem,
|
|
155
155
|
{
|
|
156
156
|
value: option.title,
|
|
157
|
+
disabled,
|
|
157
158
|
onSelect: () => handleSelect(option.value),
|
|
159
|
+
className: cn(disabled && "cursor-not-allowed opacity-50"),
|
|
158
160
|
children: /* @__PURE__ */ jsx(
|
|
159
161
|
ListItem_default,
|
|
160
162
|
{
|
|
@@ -189,7 +191,7 @@ var Combobox = forwardRef((props, ref) => {
|
|
|
189
191
|
});
|
|
190
192
|
Combobox.displayName = "Combobox";
|
|
191
193
|
var triggerVariants = cva(
|
|
192
|
-
"group relative cursor-pointer text-
|
|
194
|
+
"group relative cursor-pointer text-grey-80 flex flex-row items-center justify-between gap-2 border border-grey-20 focus:outline-green-80 disabled:bg-grey-5",
|
|
193
195
|
{
|
|
194
196
|
variants: {
|
|
195
197
|
variant: {
|
|
@@ -204,7 +206,8 @@ var triggerVariants = cva(
|
|
|
204
206
|
size: {
|
|
205
207
|
small: ["h-8", "py-1", "px-2", "text-xs"],
|
|
206
208
|
normal: ["h-9", "py-2", "px-3", "text-sm"],
|
|
207
|
-
large: ["h-10", "py-
|
|
209
|
+
large: ["h-10", "py-2", "px-4", "text-base"],
|
|
210
|
+
xlarge: ["h-11", "py-3", "px-4", "text-base"]
|
|
208
211
|
}
|
|
209
212
|
},
|
|
210
213
|
defaultVariants: {
|
|
@@ -215,5 +218,5 @@ var triggerVariants = cva(
|
|
|
215
218
|
);
|
|
216
219
|
|
|
217
220
|
export { Combobox };
|
|
218
|
-
//# sourceMappingURL=chunk-
|
|
219
|
-
//# sourceMappingURL=chunk-
|
|
221
|
+
//# sourceMappingURL=chunk-PU4O76IS.js.map
|
|
222
|
+
//# sourceMappingURL=chunk-PU4O76IS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/Combobox.tsx"],"names":["value","id"],"mappings":";;;;;;;;;;;;;AA4CO,IAAM,QAAW,GAAA,UAAA,CAA0C,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChF,EAAM,MAAA;AAAA,IACJ,EAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,WAAA;AAAA,IACA,UAAA;AAAA,IACA,WAAA;AAAA,IACA,WAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAU,GAAA,SAAA;AAAA,IACV,IAAA;AAAA,IACA,IAAA;AAAA,IACA,SAAA;AAAA,IACA,QAAU,EAAA,YAAA;AAAA,IACV,QAAU,EAAA;AAAA,GACR,GAAA,KAAA;AACJ,EAAA,MAAM,CAAC,QAAU,EAAA,WAAW,CAAI,GAAA,QAAA,CAAmB,EAAE,CAAA;AACrD,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAI,SAAS,KAAK,CAAA;AACtC,EAAM,MAAA,YAAA,GAAe,OAAO,KAAK,CAAA;AACjC,EAAM,MAAA,aAAA,GAAgB,IAAQ,IAAA,KAAA,CAAM,IAAI,CAAA;AACxC,EAAM,MAAA,aAAA,GAAgB,SAAS,MAAU,IAAA,CAAA;AACzC,EAAA,MAAM,YAAY,OAAY,KAAA,SAAA;AAC9B,EAAA,MAAM,SAAS,OAAY,KAAA,MAAA;AAC3B,EAAM,MAAA,OAAA,GAAU,SAAS,MAAW,KAAA,CAAA;AACpC,EAAM,MAAA,WAAA,GAAc,YAAY,OAAU,GAAA,IAAA;AAC1C,EAAM,MAAA,KAAA,GAAQ,MAAM,OAAA,CAAQ,KAAK,CAAA;AAEjC,EAAA,SAAA,CAAU,MAAM;AACd,IAAI,IAAA,CAAC,aAAa,OAAS,EAAA;AACzB,MAAM,MAAA,UAAA,GAAa,cAAe,KAAS,IAAA,KAAM,KAAQ,GAAA,CAAC,KAAK,CAAA,GAAI,EAAC;AACpE,MAAA,WAAA;AAAA,QACE,WAAW,GAAI,CAAA,CAAC,CAAM,KAAA,OAAA,CAAQ,KAAK,CAAC,CAAA,KAAM,CAAE,CAAA,KAAA,KAAU,CAAC,CAAC,CAAA,CAAE,OAAO,CAAC,CAAA,KAAM,MAAM,MAAS;AAAA,OACzF;AAAA;AACF,GACC,EAAA,CAAC,KAAO,EAAA,OAAA,EAAS,WAAW,CAAC,CAAA;AAEhC,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,aAAa,OAAS,EAAA;AACxB,MAAA,IAAI,WAAa,EAAA;AACf,QAAA,YAAA,GAAe,SAAS,GAAI,CAAA,CAAC,CAAM,KAAA,CAAA,CAAE,KAAK,CAAC,CAAA;AAAA,OACtC,MAAA;AACL,QAAA,YAAA,GAAe,QAAS,CAAA,CAAC,CAAG,EAAA,KAAA,IAAS,EAAE,CAAA;AAAA;AAEzC,MAAA,YAAA,CAAa,OAAU,GAAA,KAAA;AAAA;AACzB,GACC,EAAA,CAAC,QAAU,EAAA,WAAA,EAAa,YAAY,CAAC,CAAA;AAExC,EAAM,MAAA,iBAAA,GAAoB,CAAC,IAAA,EAAgB,MAAmB,KAAA;AAC5D,IAAA,OAAO,KAAK,IAAK,CAAA,CAAC,MAAM,CAAE,CAAA,KAAA,KAAU,OAAO,KAAK,CAAA,GAC5C,KAAK,MAAO,CAAA,CAAC,MAAM,CAAM,KAAA,MAAM,IAC/B,CAAC,GAAG,MAAM,MAAM,CAAA;AAAA,GACtB;AAEA,EAAM,MAAA,YAAA,GAAe,CAACA,MAAkB,KAAA;AACtC,IAAA,MAAM,SAAS,OAAQ,CAAA,IAAA,CAAK,CAAC,CAAM,KAAA,CAAA,CAAE,UAAUA,MAAK,CAAA;AACpD,IAAI,IAAA,CAAC,MAAU,IAAA,MAAA,CAAO,QAAU,EAAA;AAEhC,IAAA,YAAA,CAAa,OAAU,GAAA,IAAA;AACvB,IAAA,IAAI,WAAa,EAAA;AACf,MAAA,WAAA,CAAY,CAAC,IAAA,KAAS,iBAAkB,CAAA,IAAA,EAAM,MAAM,CAAC,CAAA;AAAA,KAChD,MAAA;AACL,MAAY,WAAA,CAAA,CAAC,MAAM,CAAC,CAAA;AACpB,MAAM,KAAA,EAAA;AAAA;AACR,GACF;AAEA,EAAA,MAAM,cAAc,MAAM;AACxB,IAAA,YAAA,CAAa,OAAU,GAAA,IAAA;AACvB,IAAA,WAAA,CAAY,EAAE,CAAA;AAAA,GAChB;AAEA,EAAA,MAAM,qBAAqB,MAAM;AAC/B,IAAA,MAAM,YAAe,GAAA,CAAC,OAAU,GAAA,QAAA,CAAS,GAAI,CAAA,CAAC,CAAM,KAAA,CAAA,CAAE,KAAK,CAAA,CAAE,IAAK,CAAA,IAAI,CAAI,GAAA,WAAA;AAC1E,IAAA,OAAO,YAAY,YAAe,GAAA,KAAA;AAAA,GACpC;AAEA,EAAA,4BACG,KAAI,EAAA,EAAA,SAAA,EAAW,EAAG,CAAA,qBAAA,EAAuB,SAAS,CAChD,EAAA,QAAA,EAAA;AAAA,IACC,SAAA,oBAAA,GAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QACC,IAAM,EAAA,KAAA;AAAA,QACN,OAAS,EAAA,IAAA;AAAA,QACT,QAAA;AAAA,QACA,WAAA;AAAA,QACA,WAAW,UAAY,EAAA;AAAA;AAAA,KACzB;AAAA,oBAGF,IAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,eACb,EAAA,QAAA,EAAA;AAAA,sBAAC,IAAA,CAAA,OAAA,EAAA,EAAQ,IAAY,EAAA,YAAA,EAAc,OACjC,EAAA,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,cAAA;AAAA,UAAA;AAAA,YACC,OAAO,EAAA,IAAA;AAAA,YACP,QAAA,EAAU,QAAQ,MAAW,KAAA,CAAA;AAAA,YAC7B,aAAA,EAAa,CAAG,EAAA,EAAA,IAAM,IAAI,CAAA,iBAAA,CAAA;AAAA,YAE1B,QAAA,kBAAA,IAAA;AAAA,cAAC,KAAA;AAAA,cAAA;AAAA,gBACC,GAAA;AAAA,gBACA,SAAW,EAAA,EAAA;AAAA,kBACT,eAAgB,CAAA,EAAE,OAAS,EAAA,IAAA,EAAM,CAAA;AAAA,kBACjC,SAAA,IAAa,CAAC,OAAW,IAAA,OAAA;AAAA,kBACzB,UAAY,EAAA;AAAA,iBACd;AAAA,gBACA,eAAe,EAAA,IAAA;AAAA,gBAEd,QAAA,EAAA;AAAA,kBAAA,SAAA,IAAa,aAAiB,oBAAA,GAAA,CAAC,aAAc,EAAA,EAAA,SAAA,EAAU,kBAAmB,EAAA,CAAA;AAAA,kBAC1E,MAAA,IAAU,CAAC,OAAW,oBAAA,GAAA,CAAC,SAAM,OAAQ,EAAA,QAAA,EAAU,mBAAS,MAAO,EAAA,CAAA;AAAA,kCAEhE,GAAA;AAAA,oBAAC,MAAA;AAAA,oBAAA;AAAA,sBACC,SAAW,EAAA,EAAA;AAAA,wBACT,gCAAA;AAAA,wBACA,aAAa,OAAW,IAAA;AAAA,uBAC1B;AAAA,sBAEC,QAAmB,EAAA,kBAAA;AAAA;AAAA,mBACtB;AAAA,kBAEC,WACC,oBAAA,GAAA;AAAA,oBAAC,eAAA;AAAA,oBAAA;AAAA,sBACC,SAAU,EAAA,uDAAA;AAAA,sBACV,IAAK,EAAA;AAAA;AAAA;AACP;AAAA;AAAA;AAEJ;AAAA,SACF;AAAA,wBAEA,GAAA;AAAA,UAAC,cAAA;AAAA,UAAA;AAAA,YACC,SAAW,EAAA,EAAA;AAAA,cACT,mDAAA;AAAA,cACA,kDAAA;AAAA,cACA,UAAY,EAAA;AAAA,aACd;AAAA,YACA,gBAAkB,EAAA,CAAA;AAAA,YAClB,UAAY,EAAA,CAAA;AAAA,YACZ,KAAM,EAAA,OAAA;AAAA,YAEN,+BAAC,OACE,EAAA,EAAA,QAAA,EAAA;AAAA,cAAA,CAAC,aAAiB,oBAAA,GAAA,CAAC,YAAa,EAAA,EAAA,WAAA,EAAY,WAAY,EAAA,CAAA;AAAA,mCAExD,WACC,EAAA,EAAA,QAAA,EAAA;AAAA,gCAAA,GAAA,CAAC,gBAAa,QAAU,EAAA,YAAA,EAAA,CAAA;AAAA,gCACxB,GAAA,CAAC,YACE,EAAA,EAAA,QAAA,EAAA,OAAA,CAAQ,GAAI,CAAA,CAAC,EAAE,EAAA,EAAAC,GAAI,EAAA,QAAA,EAAU,GAAG,MAAA,EAC/B,qBAAA,GAAA;AAAA,kBAAC,WAAA;AAAA,kBAAA;AAAA,oBAEC,OAAO,MAAO,CAAA,KAAA;AAAA,oBACd,QAAA;AAAA,oBACA,QAAU,EAAA,MAAM,YAAa,CAAA,MAAA,CAAO,KAAK,CAAA;AAAA,oBACzC,SAAA,EAAW,EAAG,CAAA,QAAA,IAAY,+BAA+B,CAAA;AAAA,oBAEzD,QAAA,kBAAA,GAAA;AAAA,sBAAC,gBAAA;AAAA,sBAAA;AAAA,wBACC,SAAW,EAAA,EAAA,CAAG,UAAY,EAAA,KAAA,EAAO,eAAe,CAAA;AAAA,wBAChD,UAAA,EAAY,SAAS,IAAK,CAAA,CAAC,MAAM,CAAE,CAAA,KAAA,KAAU,OAAO,KAAK,CAAA;AAAA,wBACzD,WAAa,EAAA,WAAA;AAAA,wBACZ,GAAG;AAAA;AAAA;AACN,mBAAA;AAAA,kBAXKA;AAAA,iBAaR,CACH,EAAA;AAAA,eACF,EAAA,CAAA;AAAA,cAEC,CAAC,CAAC,MAAU,oBAAA,GAAA,CAAC,SAAU,EAAA,EAAA,CAAA;AAAA,cACvB,MAAU,IAAA,MAAA,CAAO,EAAE,KAAA,EAAO;AAAA,aAC7B,EAAA;AAAA;AAAA;AACF,OACF,EAAA,CAAA;AAAA,MAEC,SAAA,IAAa,CAAC,OACb,oBAAA,GAAA;AAAA,QAAC,QAAA;AAAA,QAAA;AAAA,UACC,IAAK,EAAA,QAAA;AAAA,UACL,SAAU,EAAA,4HAAA;AAAA,UACV,OAAS,EAAA,WAAA;AAAA,UAET,QAAA,kBAAA,GAAA,CAAC,OAAQ,EAAA,EAAA,SAAA,EAAU,wBAAyB,EAAA;AAAA;AAAA;AAC9C,KAEJ,EAAA,CAAA;AAAA,oBAEA,GAAA,CAAC,oBAAa,EAAA,EAAA,OAAA,EAAS,KAAO,EAAA;AAAA,GAChC,EAAA,CAAA;AAEJ,CAAC;AACD,QAAA,CAAS,WAAc,GAAA,UAAA;AAEvB,IAAM,eAAkB,GAAA,GAAA;AAAA,EACtB,6JAAA;AAAA,EACA;AAAA,IACE,QAAU,EAAA;AAAA,MACR,OAAS,EAAA;AAAA,QACP,OAAA,EAAS,CAAC,QAAA,EAAU,YAAY,CAAA;AAAA,QAChC,IAAM,EAAA;AAAA,UACJ,WAAA;AAAA,UACA,aAAA;AAAA,UACA,4BAAA;AAAA,UACA;AAAA;AACF,OACF;AAAA,MACA,IAAM,EAAA;AAAA,QACJ,KAAO,EAAA,CAAC,KAAO,EAAA,MAAA,EAAQ,QAAQ,SAAS,CAAA;AAAA,QACxC,MAAQ,EAAA,CAAC,KAAO,EAAA,MAAA,EAAQ,QAAQ,SAAS,CAAA;AAAA,QACzC,KAAO,EAAA,CAAC,MAAQ,EAAA,MAAA,EAAQ,QAAQ,WAAW,CAAA;AAAA,QAC3C,MAAQ,EAAA,CAAC,MAAQ,EAAA,MAAA,EAAQ,QAAQ,WAAW;AAAA;AAC9C,KACF;AAAA,IACA,eAAiB,EAAA;AAAA,MACf,OAAS,EAAA,SAAA;AAAA,MACT,IAAM,EAAA;AAAA;AACR;AAEJ,CAAA","file":"chunk-PU4O76IS.js","sourcesContent":["'use client'\n\nimport { cva, type VariantProps } from 'cva'\nimport { ChevronDownIcon, CircleX, icons } from 'lucide-react'\nimport { type ComponentProps, forwardRef, useEffect, useRef, useState } from 'react'\n\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '@/components/primitives/command'\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/primitives/popover'\nimport { Separator } from '@/components/primitives/separator'\nimport { Badge } from '@/components/ui/Badge'\nimport ErrorMessage from '@/components/ui/ErrorMessage'\nimport Label from '@/components/ui/Label'\nimport ListItem from '@/components/ui/ListItem'\nimport { cn } from '@/lib/utils'\n\ntype Icon = { icon?: keyof typeof icons }\ntype LabelProps = { label?: string; description?: string }\ntype Children = { children?: (props: { close: () => void }) => JSX.Element }\ntype Option = {\n id: string\n value: string\n title: string\n description?: string\n icon?: string\n disabled?: boolean\n}\ntype ClassNames = { label?: string; trigger?: string; items?: string; content?: string }\ntype Shared = { options: Option[]; classNames?: ClassNames; placeholder?: string; error?: string }\ntype MultiSelect = { multiselect: true; value?: string[]; onChange?: (v: string[]) => void }\ntype SingleSelect = { multiselect?: false; value?: string; onChange?: (v: string) => void }\ntype TriggerVariants = VariantProps<typeof triggerVariants>\ntype SelectProps = Omit<ComponentProps<'select'>, 'value' | 'onChange' | 'size' | 'children'>\ntype Props = TriggerVariants & SelectProps & Children & Shared & Icon & LabelProps\ntype MultiSelectProps = Props & MultiSelect\ntype SingleSelectProps = Props & SingleSelect\ntype ComboboxProps = MultiSelectProps | SingleSelectProps\n\nexport const Combobox = forwardRef<HTMLDivElement, ComboboxProps>((props, ref) => {\n const {\n id,\n name,\n value,\n label,\n options,\n required,\n description,\n classNames,\n multiselect,\n placeholder,\n error,\n variant = 'default',\n size,\n icon,\n className,\n onChange: handleChange,\n children: footer,\n } = props\n const [selected, setSelected] = useState<Option[]>([])\n const [open, setOpen] = useState(false)\n const isUserUpdate = useRef(false)\n const IconComponent = icon && icons[icon]\n const hideSearchBox = options?.length <= 5\n const isDefault = variant === 'default'\n const isChip = variant === 'chip'\n const isEmpty = selected.length === 0\n const showChevron = isDefault ? isEmpty : true\n const close = () => setOpen(false)\n\n useEffect(() => {\n if (!isUserUpdate.current) {\n const valueArray = multiselect ? (value ?? []) : value ? [value] : []\n setSelected(\n valueArray.map((v) => options.find((o) => o.value === v)).filter((v) => v !== undefined)\n )\n }\n }, [value, options, multiselect])\n\n useEffect(() => {\n if (isUserUpdate.current) {\n if (multiselect) {\n handleChange?.(selected.map((o) => o.value))\n } else {\n handleChange?.(selected[0]?.value ?? '')\n }\n isUserUpdate.current = false\n }\n }, [selected, multiselect, handleChange])\n\n const updateMultiSelect = (prev: Option[], option: Option) => {\n return prev.some((o) => o.value === option.value)\n ? prev.filter((v) => v !== option)\n : [...prev, option]\n }\n\n const handleSelect = (value: string) => {\n const option = options.find((o) => o.value === value)\n if (!option || option.disabled) return\n\n isUserUpdate.current = true\n if (multiselect) {\n setSelected((prev) => updateMultiSelect(prev, option))\n } else {\n setSelected([option])\n close()\n }\n }\n\n const handleClear = () => {\n isUserUpdate.current = true\n setSelected([])\n }\n\n const handleDisplayValue = () => {\n const defaultLabel = !isEmpty ? selected.map((s) => s.title).join(', ') : placeholder\n return isDefault ? defaultLabel : label\n }\n\n return (\n <div className={cn('flex flex-col gap-1', className)}>\n {isDefault && (\n <Label\n text={label}\n htmlFor={name}\n required={required}\n description={description}\n className={classNames?.label}\n />\n )}\n\n <div className=\"relative flex\">\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger\n asChild\n disabled={options.length === 0}\n data-testid={`${id ?? name}-combobox-trigger`}\n >\n <div\n ref={ref}\n className={cn(\n triggerVariants({ variant, size }),\n isDefault && !isEmpty && 'pr-10',\n classNames?.trigger\n )}\n aria-expanded={open}\n >\n {isDefault && IconComponent && <IconComponent className=\"h-4 w-4 shrink-0\" />}\n {isChip && !isEmpty && <Badge variant=\"purple\">{selected.length}</Badge>}\n\n <span\n className={cn(\n 'w-full truncate leading-normal',\n isDefault && isEmpty && 'text-grey-50'\n )}\n >\n {handleDisplayValue()}\n </span>\n\n {showChevron && (\n <ChevronDownIcon\n className=\"shrink-0 transform group-data-[state=open]:rotate-180\"\n size=\"16\"\n />\n )}\n </div>\n </PopoverTrigger>\n\n <PopoverContent\n className={cn(\n 'flex w-full max-w-xs flex-col overflow-hidden p-0',\n 'max-h-[--radix-popover-content-available-height]',\n classNames?.content\n )}\n collisionPadding={8}\n sideOffset={4}\n align=\"start\"\n >\n <Command>\n {!hideSearchBox && <CommandInput placeholder=\"Search...\" />}\n\n <CommandList>\n <CommandEmpty>No results</CommandEmpty>\n <CommandGroup>\n {options.map(({ id, disabled, ...option }) => (\n <CommandItem\n key={id}\n value={option.title}\n disabled={disabled}\n onSelect={() => handleSelect(option.value)}\n className={cn(disabled && 'cursor-not-allowed opacity-50')}\n >\n <ListItem\n className={cn(classNames?.items, 'truncate py-1')}\n isSelected={selected.some((s) => s.value === option.value)}\n hasCheckbox={multiselect}\n {...option}\n />\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n\n {!!footer && <Separator />}\n {footer && footer({ close })}\n </Command>\n </PopoverContent>\n </Popover>\n\n {isDefault && !isEmpty && (\n <button\n type=\"button\"\n className=\"absolute inset-y-0 right-1 my-auto flex h-8 w-8 cursor-pointer items-center justify-center rounded-full hover:bg-pickle-20\"\n onClick={handleClear}\n >\n <CircleX className=\"h-4 w-4 text-green-100\" />\n </button>\n )}\n </div>\n\n <ErrorMessage message={error} />\n </div>\n )\n})\nCombobox.displayName = 'Combobox'\n\nconst triggerVariants = cva(\n 'group relative cursor-pointer text-grey-80 flex flex-row items-center justify-between gap-2 border border-grey-20 focus:outline-green-80 disabled:bg-grey-5',\n {\n variants: {\n variant: {\n default: ['w-full', 'rounded-lg'],\n chip: [\n 'font-bold',\n 'rounded-3xl',\n 'data-[state=open]:bg-black',\n 'data-[state=open]:text-white',\n ],\n },\n size: {\n small: ['h-8', 'py-1', 'px-2', 'text-xs'],\n normal: ['h-9', 'py-2', 'px-3', 'text-sm'],\n large: ['h-10', 'py-2', 'px-4', 'text-base'],\n xlarge: ['h-11', 'py-3', 'px-4', 'text-base'],\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'normal',\n },\n }\n)\n"]}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { ErrorMessage_default } from './chunk-CWTO3NXW.js';
|
|
2
|
+
import { cn } from './chunk-2FGZQI42.js';
|
|
3
|
+
import * as SwitchPrimitive from '@radix-ui/react-switch';
|
|
4
|
+
import { cva } from 'cva';
|
|
5
|
+
import { forwardRef } from 'react';
|
|
6
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
7
|
+
|
|
8
|
+
var switchRootVariants = cva(
|
|
9
|
+
"relative cursor-default rounded-full bg-grey-20 shadow-md outline-none focus:outline-purple-100 data-[state=checked]:bg-green-90",
|
|
10
|
+
{
|
|
11
|
+
variants: {
|
|
12
|
+
size: {
|
|
13
|
+
small: "h-[20px] w-[34px]",
|
|
14
|
+
normal: "h-[25px] w-[42px]",
|
|
15
|
+
large: "h-[30px] w-[50px]"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
defaultVariants: {
|
|
19
|
+
size: "normal"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
);
|
|
23
|
+
var switchThumbVariants = cva(
|
|
24
|
+
"block rounded-full bg-white shadow-[0_2px_2px] transition-transform duration-100 will-change-transform",
|
|
25
|
+
{
|
|
26
|
+
variants: {
|
|
27
|
+
size: {
|
|
28
|
+
small: "h-[16px] w-[16px] translate-x-0.5 data-[state=checked]:translate-x-[15px]",
|
|
29
|
+
normal: "h-[21px] w-[21px] translate-x-0.5 data-[state=checked]:translate-x-[19px]",
|
|
30
|
+
large: "h-[26px] w-[26px] translate-x-0.5 data-[state=checked]:translate-x-[22px]"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
defaultVariants: {
|
|
34
|
+
size: "normal"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
);
|
|
38
|
+
var switchLabelVariants = cva("leading-none text-grey-80", {
|
|
39
|
+
variants: {
|
|
40
|
+
size: {
|
|
41
|
+
small: "pl-3 text-xs",
|
|
42
|
+
normal: "pl-4 text-sm",
|
|
43
|
+
large: "pl-4 text-base"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
defaultVariants: {
|
|
47
|
+
size: "normal"
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
var Switch = forwardRef(
|
|
51
|
+
({ label, error, className, size, ...props }, ref) => {
|
|
52
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center", props.disabled && "opacity-50"), children: [
|
|
53
|
+
/* @__PURE__ */ jsx(
|
|
54
|
+
SwitchPrimitive.Root,
|
|
55
|
+
{
|
|
56
|
+
className: cn(switchRootVariants({ size }), className),
|
|
57
|
+
ref,
|
|
58
|
+
...props,
|
|
59
|
+
children: /* @__PURE__ */ jsx(SwitchPrimitive.Thumb, { className: switchThumbVariants({ size }) })
|
|
60
|
+
}
|
|
61
|
+
),
|
|
62
|
+
label && /* @__PURE__ */ jsxs("label", { className: switchLabelVariants({ size }), htmlFor: props.name, children: [
|
|
63
|
+
label,
|
|
64
|
+
/* @__PURE__ */ jsx(ErrorMessage_default, { message: error, className: "mt-1" })
|
|
65
|
+
] })
|
|
66
|
+
] });
|
|
67
|
+
}
|
|
68
|
+
);
|
|
69
|
+
Switch.displayName = "Switch";
|
|
70
|
+
|
|
71
|
+
export { Switch };
|
|
72
|
+
//# sourceMappingURL=chunk-PVW2B7IC.js.map
|
|
73
|
+
//# sourceMappingURL=chunk-PVW2B7IC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/Switch.tsx"],"names":[],"mappings":";;;;;;;AAOA,IAAM,kBAAqB,GAAA,GAAA;AAAA,EACzB,kIAAA;AAAA,EACA;AAAA,IACE,QAAU,EAAA;AAAA,MACR,IAAM,EAAA;AAAA,QACJ,KAAO,EAAA,mBAAA;AAAA,QACP,MAAQ,EAAA,mBAAA;AAAA,QACR,KAAO,EAAA;AAAA;AACT,KACF;AAAA,IACA,eAAiB,EAAA;AAAA,MACf,IAAM,EAAA;AAAA;AACR;AAEJ,CAAA;AAEA,IAAM,mBAAsB,GAAA,GAAA;AAAA,EAC1B,wGAAA;AAAA,EACA;AAAA,IACE,QAAU,EAAA;AAAA,MACR,IAAM,EAAA;AAAA,QACJ,KAAO,EAAA,2EAAA;AAAA,QACP,MAAQ,EAAA,2EAAA;AAAA,QACR,KAAO,EAAA;AAAA;AACT,KACF;AAAA,IACA,eAAiB,EAAA;AAAA,MACf,IAAM,EAAA;AAAA;AACR;AAEJ,CAAA;AAEA,IAAM,mBAAA,GAAsB,IAAI,2BAA6B,EAAA;AAAA,EAC3D,QAAU,EAAA;AAAA,IACR,IAAM,EAAA;AAAA,MACJ,KAAO,EAAA,cAAA;AAAA,MACP,MAAQ,EAAA,cAAA;AAAA,MACR,KAAO,EAAA;AAAA;AACT,GACF;AAAA,EACA,eAAiB,EAAA;AAAA,IACf,IAAM,EAAA;AAAA;AAEV,CAAC,CAAA;AASM,IAAM,MAAS,GAAA,UAAA;AAAA,EACpB,CAAC,EAAE,KAAO,EAAA,KAAA,EAAO,WAAW,IAAM,EAAA,GAAG,KAAM,EAAA,EAAG,GAAQ,KAAA;AACpD,IACE,uBAAA,IAAA,CAAC,SAAI,SAAW,EAAA,EAAA,CAAG,qBAAqB,KAAM,CAAA,QAAA,IAAY,YAAY,CACpE,EAAA,QAAA,EAAA;AAAA,sBAAA,GAAA;AAAA,QAAiB,eAAA,CAAA,IAAA;AAAA,QAAhB;AAAA,UACC,WAAW,EAAG,CAAA,kBAAA,CAAmB,EAAE,IAAK,EAAC,GAAG,SAAS,CAAA;AAAA,UACrD,GAAA;AAAA,UACC,GAAG,KAAA;AAAA,UAEJ,QAAA,kBAAA,GAAA,CAAiB,uBAAhB,EAAsB,SAAA,EAAW,oBAAoB,EAAE,IAAA,EAAM,CAAG,EAAA;AAAA;AAAA,OACnE;AAAA,MACC,KAAA,oBACE,IAAA,CAAA,OAAA,EAAA,EAAM,SAAW,EAAA,mBAAA,CAAoB,EAAE,IAAA,EAAM,CAAA,EAAG,OAAS,EAAA,KAAA,CAAM,IAC7D,EAAA,QAAA,EAAA;AAAA,QAAA,KAAA;AAAA,wBAEA,GAAA,CAAA,oBAAA,EAAA,EAAa,OAAS,EAAA,KAAA,EAAO,WAAU,MAAO,EAAA;AAAA,OACjD,EAAA;AAAA,KAEJ,EAAA,CAAA;AAAA;AAGN;AACA,MAAA,CAAO,WAAc,GAAA,QAAA","file":"chunk-PVW2B7IC.js","sourcesContent":["import * as SwitchPrimitive from '@radix-ui/react-switch'\nimport { cva, type VariantProps } from 'cva'\nimport { forwardRef } from 'react'\n\nimport ErrorMessage from '@/components/ui/ErrorMessage'\nimport { cn } from '@/lib/utils'\n\nconst switchRootVariants = cva(\n 'relative cursor-default rounded-full bg-grey-20 shadow-md outline-none focus:outline-purple-100 data-[state=checked]:bg-green-90',\n {\n variants: {\n size: {\n small: 'h-[20px] w-[34px]',\n normal: 'h-[25px] w-[42px]',\n large: 'h-[30px] w-[50px]',\n },\n },\n defaultVariants: {\n size: 'normal',\n },\n }\n)\n\nconst switchThumbVariants = cva(\n 'block rounded-full bg-white shadow-[0_2px_2px] transition-transform duration-100 will-change-transform',\n {\n variants: {\n size: {\n small: 'h-[16px] w-[16px] translate-x-0.5 data-[state=checked]:translate-x-[15px]',\n normal: 'h-[21px] w-[21px] translate-x-0.5 data-[state=checked]:translate-x-[19px]',\n large: 'h-[26px] w-[26px] translate-x-0.5 data-[state=checked]:translate-x-[22px]',\n },\n },\n defaultVariants: {\n size: 'normal',\n },\n }\n)\n\nconst switchLabelVariants = cva('leading-none text-grey-80', {\n variants: {\n size: {\n small: 'pl-3 text-xs',\n normal: 'pl-4 text-sm',\n large: 'pl-4 text-base',\n },\n },\n defaultVariants: {\n size: 'normal',\n },\n})\n\ntype SwitchVariants = VariantProps<typeof switchRootVariants>\n\ninterface Props extends SwitchPrimitive.SwitchProps, SwitchVariants {\n label?: string\n error?: string\n}\n\nexport const Switch = forwardRef<HTMLButtonElement, Props>(\n ({ label, error, className, size, ...props }, ref) => {\n return (\n <div className={cn('flex items-center', props.disabled && 'opacity-50')}>\n <SwitchPrimitive.Root\n className={cn(switchRootVariants({ size }), className)}\n ref={ref}\n {...props}\n >\n <SwitchPrimitive.Thumb className={switchThumbVariants({ size })} />\n </SwitchPrimitive.Root>\n {label && (\n <label className={switchLabelVariants({ size })} htmlFor={props.name}>\n {label}\n\n <ErrorMessage message={error} className=\"mt-1\" />\n </label>\n )}\n </div>\n )\n }\n)\nSwitch.displayName = 'Switch'\n"]}
|