@next-degree/pickle-shared-js 0.13.7 → 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-ZZCTMR2F.cjs → chunk-2YUUVN7E.cjs} +3 -3
- package/dist/{chunk-ZZCTMR2F.cjs.map → chunk-2YUUVN7E.cjs.map} +1 -1
- package/dist/{chunk-YVKKQOTE.cjs → chunk-4FETL23S.cjs} +17 -14
- 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-U27VO642.js → chunk-62HL22CD.js} +12 -5
- 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-73JL5O6N.cjs +95 -0
- package/dist/chunk-73JL5O6N.cjs.map +1 -0
- package/dist/{chunk-6EW2D7K7.cjs → chunk-7TFFAGVB.cjs} +33 -8
- package/dist/chunk-7TFFAGVB.cjs.map +1 -0
- package/dist/{chunk-LFWX5GEE.cjs → chunk-CGCGALTZ.cjs} +6 -6
- package/dist/{chunk-LFWX5GEE.cjs.map → chunk-CGCGALTZ.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-LT35HARQ.cjs → chunk-EYN3RHOF.cjs} +18 -11
- 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-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-Z5PEOX6F.js → chunk-PU4O76IS.js} +12 -9
- 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-EV54AFL4.js → chunk-PWKRCU2K.js} +24 -7
- package/dist/chunk-PWKRCU2K.js.map +1 -0
- package/dist/{chunk-NCEXSFMC.js → chunk-QYSTBZXD.js} +3 -3
- package/dist/{chunk-NCEXSFMC.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-DURKKV2E.js → chunk-TXSLKNR3.js} +6 -4
- package/dist/chunk-TXSLKNR3.js.map +1 -0
- package/dist/{chunk-GHJACW4X.cjs → chunk-Z2I2265Q.cjs} +24 -7
- 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/jobCard/JobLocation.d.cts +1 -1
- package/dist/components/jobCard/JobLocation.d.ts +1 -1
- package/dist/components/jobPost/JobPost.cjs +6 -6
- package/dist/components/jobPost/JobPost.d.cts +1 -1
- package/dist/components/jobPost/JobPost.d.ts +1 -1
- package/dist/components/jobPost/JobPost.js +5 -5
- 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/PlacesQueryInput.cjs +3 -3
- package/dist/components/ui/PlacesQueryInput.d.cts +3 -1
- package/dist/components/ui/PlacesQueryInput.d.ts +3 -1
- package/dist/components/ui/PlacesQueryInput.js +2 -2
- 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 +8 -1
- package/dist/components/ui/Select.d.ts +8 -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.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 +53 -53
- package/dist/index.d.cts +6 -6
- package/dist/index.d.ts +6 -6
- package/dist/index.js +22 -22
- 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.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 +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.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-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-DURKKV2E.js.map +0 -1
- package/dist/chunk-DUVGFEGU.js.map +0 -1
- package/dist/chunk-EV54AFL4.js.map +0 -1
- package/dist/chunk-GHJACW4X.cjs.map +0 -1
- package/dist/chunk-LT35HARQ.cjs.map +0 -1
- package/dist/chunk-ORVF255B.cjs +0 -55
- package/dist/chunk-ORVF255B.cjs.map +0 -1
- package/dist/chunk-U27VO642.js.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-XGQU7BQK.js.map +0 -1
- package/dist/chunk-YVKKQOTE.cjs.map +0 -1
- package/dist/chunk-Z5PEOX6F.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.cts → shared_pickle_output_latest-BVF7Zh2H.d.cts} +11 -11
- package/dist/{shared_pickle_output_latest--XZhOUyE.d.ts → 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
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var chunkMGWZXPMF_cjs = require('./chunk-MGWZXPMF.cjs');
|
|
4
4
|
var RadioGroupPrimitive = require('@radix-ui/react-radio-group');
|
|
5
|
+
var cva = require('cva');
|
|
5
6
|
var react = require('react');
|
|
6
7
|
var jsxRuntime = require('react/jsx-runtime');
|
|
7
8
|
|
|
@@ -25,27 +26,51 @@ function _interopNamespace(e) {
|
|
|
25
26
|
|
|
26
27
|
var RadioGroupPrimitive__namespace = /*#__PURE__*/_interopNamespace(RadioGroupPrimitive);
|
|
27
28
|
|
|
29
|
+
var radioItemVariants = cva.cva(
|
|
30
|
+
"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",
|
|
31
|
+
{
|
|
32
|
+
variants: {
|
|
33
|
+
size: {
|
|
34
|
+
small: "h-3",
|
|
35
|
+
normal: "h-4",
|
|
36
|
+
large: "h-5"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
defaultVariants: {
|
|
40
|
+
size: "normal"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
);
|
|
44
|
+
var radioLabelVariants = cva.cva("text-grey-80 peer-data-[disabled]:text-grey-40", {
|
|
45
|
+
variants: {
|
|
46
|
+
size: {
|
|
47
|
+
small: "text-xs",
|
|
48
|
+
normal: "text-sm",
|
|
49
|
+
large: "text-base"
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
defaultVariants: {
|
|
53
|
+
size: "normal"
|
|
54
|
+
}
|
|
55
|
+
});
|
|
28
56
|
var RadioGroup = react.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(RadioGroupPrimitive__namespace.Root, { className, ...props, ref }));
|
|
29
57
|
RadioGroup.displayName = RadioGroupPrimitive__namespace.Root.displayName;
|
|
30
|
-
var RadioGroupItem = react.forwardRef(({ className, children, ...props }, ref) => {
|
|
58
|
+
var RadioGroupItem = react.forwardRef(({ className, children, size, ...props }, ref) => {
|
|
31
59
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "group flex flex-row items-center gap-2", children: [
|
|
32
60
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33
61
|
RadioGroupPrimitive__namespace.Item,
|
|
34
62
|
{
|
|
35
63
|
ref,
|
|
36
|
-
className: chunkMGWZXPMF_cjs.cn(
|
|
37
|
-
"peer aspect-square h-4 rounded-full border border-grey-10 shadow outline outline-1 outline-offset-2 outline-transparent focus:outline-none focus:outline-purple-100 focus-visible:ring-1 focus-visible:ring-ring active:border-green-80 disabled:cursor-not-allowed disabled:opacity-50 group-hover:border-grey-20 data-[state=checked]:border-4 data-[disabled]:border-grey-20 data-[state=checked]:border-green-90 data-[disabled]:bg-grey-10 data-[state=checked]:group-hover:border-green-80",
|
|
38
|
-
className
|
|
39
|
-
),
|
|
64
|
+
className: chunkMGWZXPMF_cjs.cn(radioItemVariants({ size }), className),
|
|
40
65
|
...props
|
|
41
66
|
}
|
|
42
67
|
),
|
|
43
|
-
/* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: props.id, className:
|
|
68
|
+
/* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: props.id, className: radioLabelVariants({ size }), children })
|
|
44
69
|
] });
|
|
45
70
|
});
|
|
46
71
|
RadioGroupItem.displayName = RadioGroupPrimitive__namespace.Item.displayName;
|
|
47
72
|
|
|
48
73
|
exports.RadioGroup = RadioGroup;
|
|
49
74
|
exports.RadioGroupItem = RadioGroupItem;
|
|
50
|
-
//# sourceMappingURL=chunk-
|
|
51
|
-
//# sourceMappingURL=chunk-
|
|
75
|
+
//# sourceMappingURL=chunk-7TFFAGVB.cjs.map
|
|
76
|
+
//# sourceMappingURL=chunk-7TFFAGVB.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/primitives/radio-group.tsx"],"names":["cva","forwardRef","jsx","RadioGroupPrimitive","jsxs","cn"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,IAAM,iBAAoB,GAAAA,OAAA;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,GAAqBA,QAAI,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,aAAaC,gBAGxB,CAAA,CAAC,EAAE,SAAA,EAAW,GAAG,KAAM,EAAA,EAAG,GAC1B,qBAAAC,cAAA,CAAqBC,qCAApB,EAAyB,SAAA,EAAuB,GAAG,KAAA,EAAO,KAAU,CACtE;AACD,UAAA,CAAW,cAAkCA,8BAAK,CAAA,IAAA,CAAA,WAAA;AAQrC,IAAA,cAAA,GAAiBF,gBAG5B,CAAA,CAAC,EAAE,SAAA,EAAW,UAAU,IAAM,EAAA,GAAG,KAAM,EAAA,EAAG,GAAQ,KAAA;AAClD,EACE,uBAAAG,eAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,wCACb,EAAA,QAAA,EAAA;AAAA,oBAAAF,cAAA;AAAA,MAAqBC,8BAAA,CAAA,IAAA;AAAA,MAApB;AAAA,QACC,GAAA;AAAA,QACA,WAAWE,oBAAG,CAAA,iBAAA,CAAkB,EAAE,IAAK,EAAC,GAAG,SAAS,CAAA;AAAA,QACnD,GAAG;AAAA;AAAA,KACN;AAAA,oBACAH,cAAA,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,cAAkCC,8BAAK,CAAA,IAAA,CAAA,WAAA","file":"chunk-7TFFAGVB.cjs","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"]}
|
|
@@ -7,7 +7,7 @@ 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), {
|
|
@@ -133,5 +133,5 @@ function JobPost({
|
|
|
133
133
|
}
|
|
134
134
|
|
|
135
135
|
exports.JobPost = JobPost;
|
|
136
|
-
//# sourceMappingURL=chunk-
|
|
137
|
-
//# sourceMappingURL=chunk-
|
|
136
|
+
//# sourceMappingURL=chunk-CGCGALTZ.cjs.map
|
|
137
|
+
//# sourceMappingURL=chunk-CGCGALTZ.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-CGCGALTZ.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"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DisplayTextService } from './chunk-
|
|
1
|
+
import { DisplayTextService } from './chunk-OZJZVEF2.js';
|
|
2
2
|
import { DisplayTextValueNotFoundError } from './chunk-YB2USB4M.js';
|
|
3
3
|
import { useState, useMemo, useEffect } from 'react';
|
|
4
4
|
|
|
@@ -33,5 +33,5 @@ var useDisplayText = (scope, value) => {
|
|
|
33
33
|
};
|
|
34
34
|
|
|
35
35
|
export { useDisplayText };
|
|
36
|
-
//# sourceMappingURL=chunk-
|
|
37
|
-
//# sourceMappingURL=chunk-
|
|
36
|
+
//# sourceMappingURL=chunk-CPZFINPG.js.map
|
|
37
|
+
//# sourceMappingURL=chunk-CPZFINPG.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/hooks/useDisplayText.ts"],"names":[],"mappings":";;;;AAKa,IAAA,cAAA,GAAiB,CAC5B,KAAA,EACA,KACG,KAAA;AACH,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,SAAS,EAAE,CAAA;AACjD,EAAA,MAAM,iBAAiB,OAAQ,CAAA,MAAM,IAAI,kBAAmB,EAAA,EAAG,EAAE,CAAA;AAEjE,EAAA,SAAA,CAAU,MAAM;AACd,IAAI,IAAA,CAAC,cAAkB,IAAA,CAAC,KAAO,EAAA;AAC7B,MAAA,cAAA,CAAe,EAAE,CAAA;AACjB,MAAA;AAAA;AAEF,IAAA,KAAA,CAAM,YAAY;AAChB,MAAI,IAAA;AACF,QAAA,MAAM,MAAS,GAAA,MAAM,cAAe,CAAA,cAAA,CAAe,OAAO,KAAK,CAAA;AAC/D,QAAI,IAAA,OAAO,WAAW,QAAU,EAAA;AAC9B,UAAA,cAAA,CAAe,MAAM,CAAA;AAAA,SAChB,MAAA;AACL,UAAQ,OAAA,CAAA,KAAA,CAAM,sCAAsC,MAAM,CAAA;AAAA;AAC5D,eACO,KAAO,EAAA;AACd,QAAA,IAAI,iBAAiB,6BAA+B,EAAA;AAClD,UAAQ,OAAA,CAAA,IAAA,CAAK,iCAAiC,KAAK,CAAA;AACnD,UAAe,cAAA,CAAA,MAAA,CAAO,KAAK,CAAC,CAAA;AAAA,SACvB,MAAA;AACL,UAAQ,OAAA,CAAA,KAAA,CAAM,qCAAqC,KAAK,CAAA;AACxD,UAAe,cAAA,CAAA,MAAA,CAAO,KAAK,CAAC,CAAA;AAAA;AAC9B;AACF,KACC,GAAA;AAAA,GACF,EAAA,CAAC,KAAO,EAAA,KAAA,EAAO,cAAc,CAAC,CAAA;AAEjC,EAAO,OAAA,WAAA;AACT","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/hooks/useDisplayText.ts"],"names":[],"mappings":";;;;AAKa,IAAA,cAAA,GAAiB,CAC5B,KAAA,EACA,KACG,KAAA;AACH,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,SAAS,EAAE,CAAA;AACjD,EAAA,MAAM,iBAAiB,OAAQ,CAAA,MAAM,IAAI,kBAAmB,EAAA,EAAG,EAAE,CAAA;AAEjE,EAAA,SAAA,CAAU,MAAM;AACd,IAAI,IAAA,CAAC,cAAkB,IAAA,CAAC,KAAO,EAAA;AAC7B,MAAA,cAAA,CAAe,EAAE,CAAA;AACjB,MAAA;AAAA;AAEF,IAAA,KAAA,CAAM,YAAY;AAChB,MAAI,IAAA;AACF,QAAA,MAAM,MAAS,GAAA,MAAM,cAAe,CAAA,cAAA,CAAe,OAAO,KAAK,CAAA;AAC/D,QAAI,IAAA,OAAO,WAAW,QAAU,EAAA;AAC9B,UAAA,cAAA,CAAe,MAAM,CAAA;AAAA,SAChB,MAAA;AACL,UAAQ,OAAA,CAAA,KAAA,CAAM,sCAAsC,MAAM,CAAA;AAAA;AAC5D,eACO,KAAO,EAAA;AACd,QAAA,IAAI,iBAAiB,6BAA+B,EAAA;AAClD,UAAQ,OAAA,CAAA,IAAA,CAAK,iCAAiC,KAAK,CAAA;AACnD,UAAe,cAAA,CAAA,MAAA,CAAO,KAAK,CAAC,CAAA;AAAA,SACvB,MAAA;AACL,UAAQ,OAAA,CAAA,KAAA,CAAM,qCAAqC,KAAK,CAAA;AACxD,UAAe,cAAA,CAAA,MAAA,CAAO,KAAK,CAAC,CAAA;AAAA;AAC9B;AACF,KACC,GAAA;AAAA,GACF,EAAA,CAAC,KAAO,EAAA,KAAA,EAAO,cAAc,CAAC,CAAA;AAEjC,EAAO,OAAA,WAAA;AACT","file":"chunk-CPZFINPG.js","sourcesContent":["import { useEffect, useMemo, useState } from 'react'\n\nimport { DisplayTextService, type ServiceMappings } from '@/services/displayText'\nimport { DisplayTextValueNotFoundError } from '@/types/displayText.errors'\n\nexport const useDisplayText = (\n scope: keyof ServiceMappings,\n value: string | string[] | undefined | null\n) => {\n const [displayText, setDisplayText] = useState('')\n const displayService = useMemo(() => new DisplayTextService(), [])\n\n useEffect(() => {\n if (!displayService || !value) {\n setDisplayText('')\n return\n }\n void (async () => {\n try {\n const result = await displayService.getDisplayText(scope, value)\n if (typeof result === 'string') {\n setDisplayText(result)\n } else {\n console.error('Expected a string result, but got:', result)\n }\n } catch (error) {\n if (error instanceof DisplayTextValueNotFoundError) {\n console.warn('Display text value not found:', value)\n setDisplayText(String(value))\n } else {\n console.error('Unexpected error formatting text:', error)\n setDisplayText(String(value))\n }\n }\n })()\n }, [scope, value, displayService])\n\n return displayText\n}\n"]}
|
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkKBAY4F7D_cjs = require('./chunk-KBAY4F7D.cjs');
|
|
4
4
|
var chunkMGWZXPMF_cjs = require('./chunk-MGWZXPMF.cjs');
|
|
5
5
|
var chunkAMNEAWA7_cjs = require('./chunk-AMNEAWA7.cjs');
|
|
6
6
|
var lucideReact = require('lucide-react');
|
|
7
7
|
var react = require('react');
|
|
8
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
9
9
|
|
|
10
|
+
var sizeClasses = {
|
|
11
|
+
small: "h-8 text-xs",
|
|
12
|
+
normal: "h-9 text-sm",
|
|
13
|
+
large: "h-10 text-base",
|
|
14
|
+
xlarge: "h-11 text-base"
|
|
15
|
+
};
|
|
10
16
|
function PlacesQueryInput({
|
|
11
17
|
apiKey,
|
|
12
18
|
selected,
|
|
13
19
|
onSelect,
|
|
14
|
-
className
|
|
20
|
+
className,
|
|
21
|
+
size = "normal"
|
|
15
22
|
}) {
|
|
16
23
|
const [predictions, setPredictions] = react.useState(null);
|
|
17
24
|
const [input, setInput] = react.useState(selected?.description ?? "");
|
|
@@ -67,15 +74,15 @@ function PlacesQueryInput({
|
|
|
67
74
|
window.addEventListener("resize", checkDropdownPosition);
|
|
68
75
|
return () => window.removeEventListener("resize", checkDropdownPosition);
|
|
69
76
|
}, []);
|
|
70
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkMGWZXPMF_cjs.cn("relative w-full", className), ref: inputRef, onBlur: handleBlur, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
77
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkMGWZXPMF_cjs.cn("relative w-full", className), ref: inputRef, onBlur: handleBlur, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkKBAY4F7D_cjs.Command, { children: [
|
|
71
78
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative w-full", children: [
|
|
72
79
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
73
|
-
|
|
80
|
+
chunkKBAY4F7D_cjs.CommandInput,
|
|
74
81
|
{
|
|
75
82
|
placeholder: "Type an address to search...",
|
|
76
83
|
value: input,
|
|
77
84
|
onValueChange: handleInputChange,
|
|
78
|
-
className: "truncate pr-8"
|
|
85
|
+
className: chunkMGWZXPMF_cjs.cn("truncate pr-8", sizeClasses[size])
|
|
79
86
|
}
|
|
80
87
|
),
|
|
81
88
|
isLoadingPredictions && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.LoaderCircle, { className: "absolute inset-y-0 right-2 my-auto flex h-8 w-8 animate-spin items-center justify-center rounded-full text-green-100" }),
|
|
@@ -90,16 +97,16 @@ function PlacesQueryInput({
|
|
|
90
97
|
)
|
|
91
98
|
] }),
|
|
92
99
|
predictions && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
93
|
-
|
|
100
|
+
chunkKBAY4F7D_cjs.CommandList,
|
|
94
101
|
{
|
|
95
102
|
className: chunkMGWZXPMF_cjs.cn(
|
|
96
103
|
"absolute z-50 w-full rounded-md border bg-white shadow-lg",
|
|
97
104
|
shouldOpenUpward ? "bottom-full" : "top-full"
|
|
98
105
|
),
|
|
99
106
|
children: [
|
|
100
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
101
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
102
|
-
|
|
107
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKBAY4F7D_cjs.CommandEmpty, { children: "No results" }),
|
|
108
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKBAY4F7D_cjs.CommandGroup, { children: predictions.map((prediction) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
109
|
+
chunkKBAY4F7D_cjs.CommandItem,
|
|
103
110
|
{
|
|
104
111
|
onSelect: () => handleSelect(prediction),
|
|
105
112
|
className: "truncate",
|
|
@@ -115,5 +122,5 @@ function PlacesQueryInput({
|
|
|
115
122
|
var PlacesQueryInput_default = PlacesQueryInput;
|
|
116
123
|
|
|
117
124
|
exports.PlacesQueryInput_default = PlacesQueryInput_default;
|
|
118
|
-
//# sourceMappingURL=chunk-
|
|
119
|
-
//# sourceMappingURL=chunk-
|
|
125
|
+
//# sourceMappingURL=chunk-EYN3RHOF.cjs.map
|
|
126
|
+
//# sourceMappingURL=chunk-EYN3RHOF.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/PlacesQueryInput.tsx"],"names":["useState","useRef","useCallback","autocomplete","useEffect","jsx","cn","jsxs","Command","CommandInput","LoaderCircle","CircleX","CommandList","CommandEmpty","CommandGroup","CommandItem"],"mappings":"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","file":"chunk-EYN3RHOF.cjs","sourcesContent":["'use client'\n\nimport { type PlaceAutocompleteResult } from '@googlemaps/google-maps-services-js'\nimport { CircleX, LoaderCircle } from 'lucide-react'\nimport { useCallback, 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 { autocomplete } from '@/lib/google'\nimport { cn } from '@/lib/utils'\n\n/**\n * The idea is of this type is to have a more specific type for the Place object,\n * without the repos that use it having to import the PlaceAutocompleteResult type.\n * 'place_id' can be used to query the Google Places API directly for more information about the place.\n */\nexport type Place = Pick<PlaceAutocompleteResult, 'description' | 'place_id'>\n\ntype Size = 'small' | 'normal' | 'large' | 'xlarge'\n\ninterface PlacesQueryInputProps {\n apiKey: string\n selected?: Place\n onSelect: (place?: Place) => void\n className?: string\n size?: Size\n}\n\nconst sizeClasses: Record<Size, string> = {\n small: 'h-8 text-xs',\n normal: 'h-9 text-sm',\n large: 'h-10 text-base',\n xlarge: 'h-11 text-base',\n}\n\nfunction PlacesQueryInput({\n apiKey,\n selected,\n onSelect,\n className,\n size = 'normal',\n}: Readonly<PlacesQueryInputProps>) {\n const [predictions, setPredictions] = useState<PlaceAutocompleteResult[] | null>(null)\n const [input, setInput] = useState(selected?.description ?? '')\n const [isLoadingPredictions, setIsLoadingPredictions] = useState(false)\n const [shouldOpenUpward, setShouldOpenUpward] = useState(false)\n const timeoutRef = useRef<NodeJS.Timeout | null>(null)\n const inputRef = useRef<HTMLDivElement | null>(null)\n\n const debouncedAutocomplete = useCallback((value: string) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n }\n timeoutRef.current = setTimeout(async () => {\n try {\n if (value.length > 2) {\n setIsLoadingPredictions(true)\n const fetchedPredictions = await autocomplete(value, apiKey)\n setIsLoadingPredictions(false)\n setPredictions(fetchedPredictions ?? [])\n } else {\n setPredictions(null)\n }\n } catch (error) {\n setIsLoadingPredictions(false)\n setPredictions([])\n console.error('Autocomplete error:', error)\n }\n }, 300)\n }, [])\n\n const handleInputChange = (value: string) => {\n setInput(value)\n debouncedAutocomplete(value)\n }\n\n const handleSelect = (prediction: PlaceAutocompleteResult) => {\n onSelect(prediction)\n setPredictions(null)\n setInput(prediction.description)\n }\n\n const handleClear = () => {\n onSelect()\n setPredictions(null)\n setInput('')\n }\n\n /** Close the dropdown when the input loses focus, with the timeout to allow the user to click on a prediction.\n * */\n const handleBlur = () => setTimeout(() => setPredictions(null), 200)\n\n useEffect(() => {\n const checkDropdownPosition = () => {\n if (inputRef.current) {\n const rect = inputRef.current.getBoundingClientRect()\n const windowHeight = window.innerHeight\n setShouldOpenUpward(rect.bottom + 200 > windowHeight)\n }\n }\n\n checkDropdownPosition()\n window.addEventListener('resize', checkDropdownPosition)\n return () => window.removeEventListener('resize', checkDropdownPosition)\n }, [])\n\n return (\n <div className={cn('relative w-full', className)} ref={inputRef} onBlur={handleBlur}>\n <Command>\n <div className=\"relative w-full\">\n <CommandInput\n placeholder=\"Type an address to search...\"\n value={input}\n onValueChange={handleInputChange}\n className={cn('truncate pr-8', sizeClasses[size])}\n />\n {isLoadingPredictions && (\n <LoaderCircle className=\"absolute inset-y-0 right-2 my-auto flex h-8 w-8 animate-spin items-center justify-center rounded-full text-green-100\" />\n )}\n {input && (\n <button\n type=\"button\"\n className=\"absolute inset-y-0 right-2 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 {predictions && (\n <CommandList\n className={cn(\n 'absolute z-50 w-full rounded-md border bg-white shadow-lg',\n shouldOpenUpward ? 'bottom-full' : 'top-full'\n )}\n >\n <CommandEmpty>No results</CommandEmpty>\n <CommandGroup>\n {predictions.map((prediction) => (\n <CommandItem\n key={prediction.place_id}\n onSelect={() => handleSelect(prediction)}\n className=\"truncate\"\n >\n {prediction.description}\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n )}\n </Command>\n </div>\n )\n}\n\nexport default PlacesQueryInput\n"]}
|
|
@@ -12,7 +12,7 @@ var react = require('react');
|
|
|
12
12
|
var jsxRuntime = require('react/jsx-runtime');
|
|
13
13
|
|
|
14
14
|
var DatePicker = react.forwardRef(
|
|
15
|
-
({ label, description, required, classNames, value, onChange, error, id, testId }, ref) => {
|
|
15
|
+
({ label, description, required, classNames, value, onChange, error, id, testId, size }, ref) => {
|
|
16
16
|
const [date, setDate] = react.useState(null);
|
|
17
17
|
react.useEffect(() => {
|
|
18
18
|
setDate(value ?? null);
|
|
@@ -33,7 +33,7 @@ var DatePicker = react.forwardRef(
|
|
|
33
33
|
}
|
|
34
34
|
),
|
|
35
35
|
/* @__PURE__ */ jsxRuntime.jsxs(chunkRKLUMDJB_cjs.Popover, { children: [
|
|
36
|
-
/* @__PURE__ */ jsxRuntime.jsx(chunkRKLUMDJB_cjs.PopoverTrigger, { "data-testid": testId, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkMGWZXPMF_cjs.cn(datePickerStyle(), classNames?.input), children: [
|
|
36
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkRKLUMDJB_cjs.PopoverTrigger, { "data-testid": testId, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkMGWZXPMF_cjs.cn(datePickerStyle({ size }), classNames?.input), children: [
|
|
37
37
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Calendar, { size: 16 }),
|
|
38
38
|
date ? dateFns.format(date, "MM/dd/yyyy") : "Select a date"
|
|
39
39
|
] }) }),
|
|
@@ -53,38 +53,50 @@ var DatePicker = react.forwardRef(
|
|
|
53
53
|
] });
|
|
54
54
|
}
|
|
55
55
|
);
|
|
56
|
-
var datePickerStyle = cva.cva(
|
|
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
|
-
|
|
85
|
-
|
|
86
|
-
|
|
56
|
+
var datePickerStyle = cva.cva(
|
|
57
|
+
[
|
|
58
|
+
"placeholder:text-grey-50",
|
|
59
|
+
"focus-visible:ring-ring",
|
|
60
|
+
"inline-flex",
|
|
61
|
+
"w-full",
|
|
62
|
+
"items-center",
|
|
63
|
+
"justify-start",
|
|
64
|
+
"gap-3",
|
|
65
|
+
"rounded-lg",
|
|
66
|
+
"bg-transparent",
|
|
67
|
+
"shadow-sm",
|
|
68
|
+
"transition-colors",
|
|
69
|
+
"focus-visible:outline-none",
|
|
70
|
+
"focus-visible:ring-1",
|
|
71
|
+
"disabled:cursor-not-allowed",
|
|
72
|
+
"disabled:opacity-50",
|
|
73
|
+
"appearance-none",
|
|
74
|
+
"[&::-webkit-search-cancel-button]:appearance-none",
|
|
75
|
+
"[&::-webkit-search-decoration]:appearance-none",
|
|
76
|
+
"[&::-webkit-search-results-button]:appearance-none",
|
|
77
|
+
"[&::-webkit-search-results-decoration]:appearance-none",
|
|
78
|
+
"[&::-ms-clear]:display-none",
|
|
79
|
+
"[&::-ms-reveal]:display-none",
|
|
80
|
+
"text-grey-80",
|
|
81
|
+
"border",
|
|
82
|
+
"border-grey-20",
|
|
83
|
+
"font-normal"
|
|
84
|
+
],
|
|
85
|
+
{
|
|
86
|
+
variants: {
|
|
87
|
+
size: {
|
|
88
|
+
small: "h-8 px-3 py-1 text-xs",
|
|
89
|
+
normal: "h-9 px-3 py-2 text-sm",
|
|
90
|
+
large: "h-10 px-4 py-2 text-base",
|
|
91
|
+
xlarge: "h-11 px-4 py-3 text-base"
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
defaultVariants: {
|
|
95
|
+
size: "normal"
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
);
|
|
87
99
|
|
|
88
100
|
exports.DatePicker = DatePicker;
|
|
89
|
-
//# sourceMappingURL=chunk-
|
|
90
|
-
//# sourceMappingURL=chunk-
|
|
101
|
+
//# sourceMappingURL=chunk-F567WG2X.cjs.map
|
|
102
|
+
//# sourceMappingURL=chunk-F567WG2X.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/DatePicker.tsx"],"names":["forwardRef","useState","useEffect","cn","jsx","Label_default","Popover","PopoverTrigger","jsxs","CalendarIcon","format","PopoverContent","Calendar","ErrorMessage_default","cva"],"mappings":"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","file":"chunk-F567WG2X.cjs","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"]}
|
|
@@ -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"]}
|