@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.
Files changed (202) hide show
  1. package/dist/{chunk-KQLHT5UE.js → chunk-3XO3AJR4.js} +3 -3
  2. package/dist/{chunk-KQLHT5UE.js.map → chunk-3XO3AJR4.js.map} +1 -1
  3. package/dist/{chunk-XC3HIJM3.cjs → chunk-4FETL23S.cjs} +16 -13
  4. package/dist/chunk-4FETL23S.cjs.map +1 -0
  5. package/dist/chunk-5GODYRZA.js +138 -0
  6. package/dist/chunk-5GODYRZA.js.map +1 -0
  7. package/dist/{chunk-KJ5X2ZKA.js → chunk-5REFGTWO.js} +3 -3
  8. package/dist/{chunk-KJ5X2ZKA.js.map → chunk-5REFGTWO.js.map} +1 -1
  9. package/dist/{chunk-CEA4U6AR.js → chunk-62HL22CD.js} +13 -6
  10. package/dist/chunk-62HL22CD.js.map +1 -0
  11. package/dist/chunk-6KGXXX6X.cjs +140 -0
  12. package/dist/chunk-6KGXXX6X.cjs.map +1 -0
  13. package/dist/{chunk-WOD47B4V.js → chunk-6Z6T5WWS.js} +4 -4
  14. package/dist/{chunk-WOD47B4V.js.map → chunk-6Z6T5WWS.js.map} +1 -1
  15. package/dist/chunk-73JL5O6N.cjs +95 -0
  16. package/dist/chunk-73JL5O6N.cjs.map +1 -0
  17. package/dist/{chunk-54CL72AL.cjs → chunk-7NP3NX67.cjs} +3 -3
  18. package/dist/{chunk-54CL72AL.cjs.map → chunk-7NP3NX67.cjs.map} +1 -1
  19. package/dist/{chunk-6EW2D7K7.cjs → chunk-7TFFAGVB.cjs} +33 -8
  20. package/dist/chunk-7TFFAGVB.cjs.map +1 -0
  21. package/dist/{chunk-MLV2TE6H.cjs → chunk-CGCGALTZ.cjs} +8 -8
  22. package/dist/{chunk-MLV2TE6H.cjs.map → chunk-CGCGALTZ.cjs.map} +1 -1
  23. package/dist/{chunk-NEIGOAE6.cjs → chunk-EYN3RHOF.cjs} +19 -12
  24. package/dist/chunk-EYN3RHOF.cjs.map +1 -0
  25. package/dist/{chunk-3FQTSGHL.cjs → chunk-F567WG2X.cjs} +47 -35
  26. package/dist/chunk-F567WG2X.cjs.map +1 -0
  27. package/dist/{chunk-DUVGFEGU.js → chunk-G4KDEQIL.js} +28 -18
  28. package/dist/chunk-G4KDEQIL.js.map +1 -0
  29. package/dist/chunk-IPP5X4TY.js +53 -0
  30. package/dist/chunk-IPP5X4TY.js.map +1 -0
  31. package/dist/{chunk-XGQU7BQK.js → chunk-JZLJVA4I.js} +47 -35
  32. package/dist/chunk-JZLJVA4I.js.map +1 -0
  33. package/dist/{chunk-C3DCFPJC.cjs → chunk-KBAY4F7D.cjs} +23 -16
  34. package/dist/chunk-KBAY4F7D.cjs.map +1 -0
  35. package/dist/{chunk-VB32IBQC.cjs → chunk-N7GS4DZD.cjs} +8 -6
  36. package/dist/chunk-N7GS4DZD.cjs.map +1 -0
  37. package/dist/{chunk-ZCBOREOG.js → chunk-PU4O76IS.js} +11 -8
  38. package/dist/chunk-PU4O76IS.js.map +1 -0
  39. package/dist/chunk-PVW2B7IC.js +73 -0
  40. package/dist/chunk-PVW2B7IC.js.map +1 -0
  41. package/dist/{chunk-GKL5KEO4.js → chunk-PWKRCU2K.js} +32 -9
  42. package/dist/chunk-PWKRCU2K.js.map +1 -0
  43. package/dist/{chunk-B472HOM3.js → chunk-QYSTBZXD.js} +7 -7
  44. package/dist/{chunk-B472HOM3.js.map → chunk-QYSTBZXD.js.map} +1 -1
  45. package/dist/{chunk-62OBBM7T.js → chunk-SNHRG4TY.js} +23 -16
  46. package/dist/chunk-SNHRG4TY.js.map +1 -0
  47. package/dist/{chunk-RO6NJGYB.cjs → chunk-SPAVM3EE.cjs} +3 -3
  48. package/dist/{chunk-RO6NJGYB.cjs.map → chunk-SPAVM3EE.cjs.map} +1 -1
  49. package/dist/{chunk-6CSDTWDX.cjs → chunk-TOEADI6J.cjs} +4 -4
  50. package/dist/{chunk-6CSDTWDX.cjs.map → chunk-TOEADI6J.cjs.map} +1 -1
  51. package/dist/{chunk-DURKKV2E.js → chunk-TXSLKNR3.js} +6 -4
  52. package/dist/chunk-TXSLKNR3.js.map +1 -0
  53. package/dist/{chunk-FAMHC5MQ.cjs → chunk-Z2I2265Q.cjs} +32 -9
  54. package/dist/chunk-Z2I2265Q.cjs.map +1 -0
  55. package/dist/{chunk-UW6NEKBF.cjs → chunk-ZLANEWSF.cjs} +28 -18
  56. package/dist/chunk-ZLANEWSF.cjs.map +1 -0
  57. package/dist/{company_service_sanity-DF01qvTz.d.ts → company_service_sanity-B1Xg7ISJ.d.ts} +271 -271
  58. package/dist/{company_service_sanity-Br0R7m-A.d.cts → company_service_sanity-CCbS8ElX.d.cts} +271 -271
  59. package/dist/components/buttons/BackButton.cjs +1 -1
  60. package/dist/components/buttons/BackButton.js +1 -1
  61. package/dist/components/jobCard/JobLocation.cjs +1 -1
  62. package/dist/components/jobCard/JobLocation.d.cts +1 -1
  63. package/dist/components/jobCard/JobLocation.d.ts +1 -1
  64. package/dist/components/jobCard/JobLocation.js +1 -1
  65. package/dist/components/jobPost/JobHeader.cjs +5 -5
  66. package/dist/components/jobPost/JobHeader.js +4 -4
  67. package/dist/components/jobPost/JobPost.cjs +20 -20
  68. package/dist/components/jobPost/JobPost.d.cts +1 -1
  69. package/dist/components/jobPost/JobPost.d.ts +1 -1
  70. package/dist/components/jobPost/JobPost.js +19 -19
  71. package/dist/components/primitives/command.cjs +10 -10
  72. package/dist/components/primitives/command.d.cts +1 -1
  73. package/dist/components/primitives/command.d.ts +1 -1
  74. package/dist/components/primitives/command.js +1 -1
  75. package/dist/components/primitives/radio-group.cjs +3 -3
  76. package/dist/components/primitives/radio-group.d.cts +9 -1
  77. package/dist/components/primitives/radio-group.d.ts +9 -1
  78. package/dist/components/primitives/radio-group.js +1 -1
  79. package/dist/components/ui/Button.d.cts +1 -1
  80. package/dist/components/ui/Button.d.ts +1 -1
  81. package/dist/components/ui/Combobox.cjs +4 -4
  82. package/dist/components/ui/Combobox.d.cts +2 -1
  83. package/dist/components/ui/Combobox.d.ts +2 -1
  84. package/dist/components/ui/Combobox.js +3 -3
  85. package/dist/components/ui/Counter.cjs +2 -2
  86. package/dist/components/ui/Counter.d.cts +2 -2
  87. package/dist/components/ui/Counter.d.ts +2 -2
  88. package/dist/components/ui/Counter.js +1 -1
  89. package/dist/components/ui/DatePicker.cjs +2 -2
  90. package/dist/components/ui/DatePicker.d.cts +8 -3
  91. package/dist/components/ui/DatePicker.d.ts +8 -3
  92. package/dist/components/ui/DatePicker.js +1 -1
  93. package/dist/components/ui/Input.cjs +2 -2
  94. package/dist/components/ui/Input.d.cts +2 -1
  95. package/dist/components/ui/Input.d.ts +2 -1
  96. package/dist/components/ui/Input.js +1 -1
  97. package/dist/components/ui/Map/MapComponent.cjs +5 -5
  98. package/dist/components/ui/Map/MapComponent.js +4 -4
  99. package/dist/components/ui/Map/MapContent.cjs +1 -1
  100. package/dist/components/ui/Map/MapContent.js +1 -1
  101. package/dist/components/ui/Map/index.cjs +5 -5
  102. package/dist/components/ui/Map/index.js +4 -4
  103. package/dist/components/ui/PlacesQueryInput.cjs +4 -4
  104. package/dist/components/ui/PlacesQueryInput.d.cts +3 -1
  105. package/dist/components/ui/PlacesQueryInput.d.ts +3 -1
  106. package/dist/components/ui/PlacesQueryInput.js +3 -3
  107. package/dist/components/ui/Radio.cjs +3 -3
  108. package/dist/components/ui/Radio.d.cts +4 -1
  109. package/dist/components/ui/Radio.d.ts +4 -1
  110. package/dist/components/ui/Radio.js +2 -2
  111. package/dist/components/ui/Select.cjs +2 -2
  112. package/dist/components/ui/Select.d.cts +9 -1
  113. package/dist/components/ui/Select.d.ts +9 -1
  114. package/dist/components/ui/Select.js +1 -1
  115. package/dist/components/ui/Switch.cjs +2 -2
  116. package/dist/components/ui/Switch.d.cts +7 -1
  117. package/dist/components/ui/Switch.d.ts +7 -1
  118. package/dist/components/ui/Switch.js +1 -1
  119. package/dist/components/ui/buttonShadcn.d.cts +1 -1
  120. package/dist/components/ui/buttonShadcn.d.ts +1 -1
  121. package/dist/{displayText-BDPndCI9.d.cts → displayText-Ck0qovrl.d.cts} +2 -2
  122. package/dist/{displayText-EpnIpZ38.d.ts → displayText-ClDGmi1J.d.ts} +2 -2
  123. package/dist/hooks/useDisplayText.d.cts +3 -3
  124. package/dist/hooks/useDisplayText.d.ts +3 -3
  125. package/dist/index.cjs +72 -72
  126. package/dist/index.d.cts +6 -6
  127. package/dist/index.d.ts +6 -6
  128. package/dist/index.js +34 -34
  129. package/dist/{job_posting_service_latest-BKz5U2Gp.d.cts → job_posting_service_latest-Bk53vj02.d.cts} +177 -177
  130. package/dist/{job_posting_service_latest-BKz5U2Gp.d.ts → job_posting_service_latest-Bk53vj02.d.ts} +177 -177
  131. package/dist/{job_posting_service_latest-B6Trs6sX.d.cts → job_posting_service_latest-DfX8Y4gB.d.cts} +177 -177
  132. package/dist/{job_posting_service_latest-B6Trs6sX.d.ts → job_posting_service_latest-DfX8Y4gB.d.ts} +177 -177
  133. package/dist/{job_posting_service_sanity-BN7XcVxU.d.cts → job_posting_service_sanity-BSxLNte3.d.cts} +357 -357
  134. package/dist/{job_posting_service_sanity-BNQsNQs2.d.ts → job_posting_service_sanity-C6aPb8kp.d.ts} +357 -357
  135. package/dist/lib/locations.d.cts +3 -3
  136. package/dist/lib/locations.d.ts +3 -3
  137. package/dist/lib/mappings.d.cts +3 -3
  138. package/dist/lib/mappings.d.ts +3 -3
  139. package/dist/lib/salaryRange.cjs +2 -2
  140. package/dist/lib/salaryRange.d.cts +1 -1
  141. package/dist/lib/salaryRange.d.ts +1 -1
  142. package/dist/lib/salaryRange.js +2 -2
  143. package/dist/services/displayText.d.cts +3 -3
  144. package/dist/services/displayText.d.ts +3 -3
  145. package/dist/styles/globals.css +53 -26
  146. package/dist/styles/globals.css.map +1 -1
  147. package/dist/types/data/company_service_latest.d.cts +1 -1
  148. package/dist/types/data/company_service_latest.d.ts +1 -1
  149. package/dist/types/data/job_posting_service_latest.d.cts +1 -1
  150. package/dist/types/data/job_posting_service_latest.d.ts +1 -1
  151. package/dist/types/data/shared_pickle_output_latest.d.cts +1 -1
  152. package/dist/types/data/shared_pickle_output_latest.d.ts +1 -1
  153. package/dist/types/index.cjs +7 -7
  154. package/dist/types/index.d.cts +5 -5
  155. package/dist/types/index.d.ts +5 -5
  156. package/dist/types/index.js +2 -2
  157. package/dist/types/latest/company_service_latest.d.cts +1 -1
  158. package/dist/types/latest/company_service_latest.d.ts +1 -1
  159. package/dist/types/latest/custom/company_service_sanity.d.cts +3 -3
  160. package/dist/types/latest/custom/company_service_sanity.d.ts +3 -3
  161. package/dist/types/latest/custom/job_posting_service_sanity.cjs +12 -12
  162. package/dist/types/latest/custom/job_posting_service_sanity.d.cts +3 -3
  163. package/dist/types/latest/custom/job_posting_service_sanity.d.ts +3 -3
  164. package/dist/types/latest/custom/job_posting_service_sanity.js +2 -2
  165. package/dist/types/latest/job_posting_service_latest.d.cts +1 -1
  166. package/dist/types/latest/job_posting_service_latest.d.ts +1 -1
  167. package/dist/types/latest/shared_pickle_output_latest.d.cts +1 -1
  168. package/dist/types/latest/shared_pickle_output_latest.d.ts +1 -1
  169. package/package.json +1 -1
  170. package/dist/chunk-2I2TWTPC.js +0 -115
  171. package/dist/chunk-2I2TWTPC.js.map +0 -1
  172. package/dist/chunk-3FQTSGHL.cjs.map +0 -1
  173. package/dist/chunk-62OBBM7T.js.map +0 -1
  174. package/dist/chunk-6EW2D7K7.cjs.map +0 -1
  175. package/dist/chunk-B7NHA4GE.js +0 -33
  176. package/dist/chunk-B7NHA4GE.js.map +0 -1
  177. package/dist/chunk-C3DCFPJC.cjs.map +0 -1
  178. package/dist/chunk-CEA4U6AR.js.map +0 -1
  179. package/dist/chunk-DURKKV2E.js.map +0 -1
  180. package/dist/chunk-DUVGFEGU.js.map +0 -1
  181. package/dist/chunk-FAMHC5MQ.cjs.map +0 -1
  182. package/dist/chunk-GKL5KEO4.js.map +0 -1
  183. package/dist/chunk-NEIGOAE6.cjs.map +0 -1
  184. package/dist/chunk-ORVF255B.cjs +0 -55
  185. package/dist/chunk-ORVF255B.cjs.map +0 -1
  186. package/dist/chunk-U7LTIWUS.js +0 -28
  187. package/dist/chunk-U7LTIWUS.js.map +0 -1
  188. package/dist/chunk-UW6NEKBF.cjs.map +0 -1
  189. package/dist/chunk-VAHZQJTA.cjs +0 -117
  190. package/dist/chunk-VAHZQJTA.cjs.map +0 -1
  191. package/dist/chunk-VB32IBQC.cjs.map +0 -1
  192. package/dist/chunk-XC3HIJM3.cjs.map +0 -1
  193. package/dist/chunk-XGQU7BQK.js.map +0 -1
  194. package/dist/chunk-ZCBOREOG.js.map +0 -1
  195. package/dist/{company_service_latest-C7Moeufo.d.cts → company_service_latest-CVgoQ8Mc.d.cts} +174 -174
  196. package/dist/{company_service_latest-C7Moeufo.d.ts → company_service_latest-CVgoQ8Mc.d.ts} +174 -174
  197. package/dist/{company_service_latest-CITz7F53.d.cts → company_service_latest-oWEnaiRd.d.cts} +174 -174
  198. package/dist/{company_service_latest-CITz7F53.d.ts → company_service_latest-oWEnaiRd.d.ts} +174 -174
  199. package/dist/{shared_pickle_output_latest--XZhOUyE.d.ts → shared_pickle_output_latest-BVF7Zh2H.d.cts} +11 -11
  200. package/dist/{shared_pickle_output_latest--XZhOUyE.d.cts → shared_pickle_output_latest-BVF7Zh2H.d.ts} +11 -11
  201. package/dist/{shared_pickle_output_latest-DKOmTyYk.d.cts → shared_pickle_output_latest-BjRRmT8R.d.cts} +11 -11
  202. package/dist/{shared_pickle_output_latest-DKOmTyYk.d.ts → shared_pickle_output_latest-BjRRmT8R.d.ts} +11 -11
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/jobPost/JobHeader.tsx"],"names":[],"mappings":"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","file":"chunk-WOD47B4V.js","sourcesContent":["'use client'\n\nimport { Dot } from 'lucide-react'\nimport Image from 'next/image'\nimport { type ReactNode } from 'react'\n\nimport { BackButton } from '@/components/buttons/BackButton'\nimport { Avatar } from '@/components/ui/Avatar'\nimport Chip from '@/components/ui/Chip'\nimport { iconMap } from '@/lib/icons'\nimport { cn } from '@/lib/utils'\n\nexport type JobHeaderTag = {\n name: string\n label: string\n icon: keyof typeof iconMap\n}\n\nexport type JobHeaderProps = {\n title: string\n bannerSrc: string\n subtitles?: string[]\n standalone?: boolean\n avatarSrc?: string\n avatarName?: string\n avatarHref?: string\n backFallbackHref?: string\n backAcceptedRoutes?: string[]\n actions?: ReactNode\n tags?: JobHeaderTag[]\n}\n\nexport function JobHeader({\n title,\n subtitles,\n standalone,\n bannerSrc,\n avatarSrc,\n avatarName,\n avatarHref,\n backFallbackHref,\n backAcceptedRoutes,\n actions,\n tags,\n}: Readonly<JobHeaderProps>) {\n const renderIcon = (icon: JobHeaderTag['icon']) => {\n const Icon = iconMap[icon]\n return <Icon size={18} />\n }\n\n return (\n <div\n data-testid=\"job-header-root\"\n className={cn(\n '-mt-8 flex w-full flex-col items-center justify-between gap-6 md:-mt-0',\n !standalone && 'rounded-3xl'\n )}\n >\n {!standalone && (\n <div className=\"relative flex min-h-16 w-full items-center rounded-t-3xl bg-transparent md:min-h-24 md:flex-row lg:min-h-32\">\n <Image\n className=\"h-full w-full rounded-t-3xl object-cover\"\n src={bannerSrc}\n alt=\"job banner\"\n fill\n />\n <BackButton\n acceptedRoutes={backAcceptedRoutes}\n fallbackHref={backFallbackHref}\n className=\"absolute right-2 top-2 flex items-center justify-center text-white sm:hidden\"\n data-testid=\"job-header-back-button\"\n />\n <div\n className=\"absolute left-4 top-8 md:left-6 md:top-16 lg:top-24\"\n data-testid=\"job-header-avatar\"\n >\n <Avatar\n size=\"large\"\n target=\"_blank\"\n href={avatarHref}\n name={avatarName}\n src={avatarSrc}\n rel=\"noopener noreferrer\"\n />\n </div>\n </div>\n )}\n\n <div className=\"flex w-full flex-col items-start justify-start gap-4 px-6\">\n <div className=\"flex flex-col md:flex-row\">\n {standalone && (\n <div className=\"-mt-4 mr-4 md:mt-0\" data-testid=\"job-header-avatar\">\n <Avatar\n size=\"large\"\n target=\"_blank\"\n href={avatarHref}\n name={avatarName}\n src={avatarSrc}\n rel=\"noopener noreferrer\"\n />\n </div>\n )}\n\n <div className=\"prose mt-4 flex w-full items-center text-grey-80 lg:prose-lg\">\n {subtitles?.map((subtitle, i) => (\n <div\n key={subtitle}\n data-testid={`job-header-subtitle-${i}`}\n className=\"flex items-center\"\n >\n {subtitle}\n {i < subtitles.length - 1 && <Dot className=\"mx-1 shrink-0\" size={10} />}\n </div>\n ))}\n </div>\n </div>\n\n <div\n data-testid=\"job-header-content\"\n className=\"mt-2 flex w-full flex-row flex-wrap items-center justify-between gap-1\"\n >\n <h2\n data-testid=\"job-header-title\"\n className=\"break-word max-w-full text-2xl font-bold text-black sm:max-w-2xl md:max-w-lg\"\n >\n {title}\n </h2>\n\n {!!actions && (\n <div\n className=\"flex w-full justify-end gap-2 md:w-auto\"\n data-testid=\"job-header-actions\"\n >\n {actions}\n </div>\n )}\n </div>\n\n <div\n data-testid=\"job-header-tags\"\n className=\"flex flex-row flex-wrap items-center justify-start gap-2\"\n >\n {tags?.map(({ name, label, icon }) => (\n <Chip\n key={`${name}-${label}`}\n size=\"small\"\n variant=\"neutral\"\n aria-label={name}\n data-testid={`job-header-tag-${name}`}\n >\n {renderIcon(icon)}\n <span>{label}</span>\n </Chip>\n ))}\n </div>\n </div>\n </div>\n )\n}\n"]}
1
+ {"version":3,"sources":["../src/components/jobPost/JobHeader.tsx"],"names":[],"mappings":";;;;;;;;;AAgCO,SAAS,SAAU,CAAA;AAAA,EACxB,KAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,gBAAA;AAAA,EACA,kBAAA;AAAA,EACA,OAAA;AAAA,EACA;AACF,CAA6B,EAAA;AAC3B,EAAM,MAAA,UAAA,GAAa,CAAC,IAA+B,KAAA;AACjD,IAAM,MAAA,IAAA,GAAO,QAAQ,IAAI,CAAA;AACzB,IAAO,uBAAA,GAAA,CAAC,IAAK,EAAA,EAAA,IAAA,EAAM,EAAI,EAAA,CAAA;AAAA,GACzB;AAEA,EACE,uBAAA,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,aAAY,EAAA,iBAAA;AAAA,MACZ,SAAW,EAAA,EAAA;AAAA,QACT,wEAAA;AAAA,QACA,CAAC,UAAc,IAAA;AAAA,OACjB;AAAA,MAEC,QAAA,EAAA;AAAA,QAAA,CAAC,UACA,oBAAA,IAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,6GACb,EAAA,QAAA,EAAA;AAAA,0BAAA,GAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,SAAU,EAAA,0CAAA;AAAA,cACV,GAAK,EAAA,SAAA;AAAA,cACL,GAAI,EAAA,YAAA;AAAA,cACJ,IAAI,EAAA;AAAA;AAAA,WACN;AAAA,0BACA,GAAA;AAAA,YAAC,UAAA;AAAA,YAAA;AAAA,cACC,cAAgB,EAAA,kBAAA;AAAA,cAChB,YAAc,EAAA,gBAAA;AAAA,cACd,SAAU,EAAA,8EAAA;AAAA,cACV,aAAY,EAAA;AAAA;AAAA,WACd;AAAA,0BACA,GAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,SAAU,EAAA,qDAAA;AAAA,cACV,aAAY,EAAA,mBAAA;AAAA,cAEZ,QAAA,kBAAA,GAAA;AAAA,gBAAC,MAAA;AAAA,gBAAA;AAAA,kBACC,IAAK,EAAA,OAAA;AAAA,kBACL,MAAO,EAAA,QAAA;AAAA,kBACP,IAAM,EAAA,UAAA;AAAA,kBACN,IAAM,EAAA,UAAA;AAAA,kBACN,GAAK,EAAA,SAAA;AAAA,kBACL,GAAI,EAAA;AAAA;AAAA;AACN;AAAA;AACF,SACF,EAAA,CAAA;AAAA,wBAGF,IAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,2DACb,EAAA,QAAA,EAAA;AAAA,0BAAC,IAAA,CAAA,KAAA,EAAA,EAAI,WAAU,2BACZ,EAAA,QAAA,EAAA;AAAA,YAAA,UAAA,oBACE,GAAA,CAAA,KAAA,EAAA,EAAI,SAAU,EAAA,oBAAA,EAAqB,eAAY,mBAC9C,EAAA,QAAA,kBAAA,GAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,IAAK,EAAA,OAAA;AAAA,gBACL,MAAO,EAAA,QAAA;AAAA,gBACP,IAAM,EAAA,UAAA;AAAA,gBACN,IAAM,EAAA,UAAA;AAAA,gBACN,GAAK,EAAA,SAAA;AAAA,gBACL,GAAI,EAAA;AAAA;AAAA,aAER,EAAA,CAAA;AAAA,4BAGF,GAAA,CAAC,SAAI,SAAU,EAAA,8DAAA,EACZ,qBAAW,GAAI,CAAA,CAAC,UAAU,CACzB,qBAAA,IAAA;AAAA,cAAC,KAAA;AAAA,cAAA;AAAA,gBAEC,aAAA,EAAa,uBAAuB,CAAC,CAAA,CAAA;AAAA,gBACrC,SAAU,EAAA,mBAAA;AAAA,gBAET,QAAA,EAAA;AAAA,kBAAA,QAAA;AAAA,kBACA,CAAA,GAAI,UAAU,MAAS,GAAA,CAAA,wBAAM,GAAI,EAAA,EAAA,SAAA,EAAU,eAAgB,EAAA,IAAA,EAAM,EAAI,EAAA;AAAA;AAAA,eAAA;AAAA,cALjE;AAAA,aAOR,CACH,EAAA;AAAA,WACF,EAAA,CAAA;AAAA,0BAEA,IAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,aAAY,EAAA,oBAAA;AAAA,cACZ,SAAU,EAAA,wEAAA;AAAA,cAEV,QAAA,EAAA;AAAA,gCAAA,GAAA;AAAA,kBAAC,IAAA;AAAA,kBAAA;AAAA,oBACC,aAAY,EAAA,kBAAA;AAAA,oBACZ,SAAU,EAAA,8EAAA;AAAA,oBAET,QAAA,EAAA;AAAA;AAAA,iBACH;AAAA,gBAEC,CAAC,CAAC,OACD,oBAAA,GAAA;AAAA,kBAAC,KAAA;AAAA,kBAAA;AAAA,oBACC,SAAU,EAAA,yCAAA;AAAA,oBACV,aAAY,EAAA,oBAAA;AAAA,oBAEX,QAAA,EAAA;AAAA;AAAA;AACH;AAAA;AAAA,WAEJ;AAAA,0BAEA,GAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,aAAY,EAAA,iBAAA;AAAA,cACZ,SAAU,EAAA,0DAAA;AAAA,cAET,gBAAM,GAAI,CAAA,CAAC,EAAE,IAAM,EAAA,KAAA,EAAO,MACzB,qBAAA,IAAA;AAAA,gBAAC,YAAA;AAAA,gBAAA;AAAA,kBAEC,IAAK,EAAA,OAAA;AAAA,kBACL,OAAQ,EAAA,SAAA;AAAA,kBACR,YAAY,EAAA,IAAA;AAAA,kBACZ,aAAA,EAAa,kBAAkB,IAAI,CAAA,CAAA;AAAA,kBAElC,QAAA,EAAA;AAAA,oBAAA,UAAA,CAAW,IAAI,CAAA;AAAA,oCAChB,GAAA,CAAC,UAAM,QAAM,EAAA,KAAA,EAAA;AAAA;AAAA,iBAAA;AAAA,gBAPR,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,KAAK,CAAA;AAAA,eASxB;AAAA;AAAA;AACH,SACF,EAAA;AAAA;AAAA;AAAA,GACF;AAEJ","file":"chunk-6Z6T5WWS.js","sourcesContent":["'use client'\n\nimport { Dot } from 'lucide-react'\nimport Image from 'next/image'\nimport { type ReactNode } from 'react'\n\nimport { BackButton } from '@/components/buttons/BackButton'\nimport { Avatar } from '@/components/ui/Avatar'\nimport Chip from '@/components/ui/Chip'\nimport { iconMap } from '@/lib/icons'\nimport { cn } from '@/lib/utils'\n\nexport type JobHeaderTag = {\n name: string\n label: string\n icon: keyof typeof iconMap\n}\n\nexport type JobHeaderProps = {\n title: string\n bannerSrc: string\n subtitles?: string[]\n standalone?: boolean\n avatarSrc?: string\n avatarName?: string\n avatarHref?: string\n backFallbackHref?: string\n backAcceptedRoutes?: string[]\n actions?: ReactNode\n tags?: JobHeaderTag[]\n}\n\nexport function JobHeader({\n title,\n subtitles,\n standalone,\n bannerSrc,\n avatarSrc,\n avatarName,\n avatarHref,\n backFallbackHref,\n backAcceptedRoutes,\n actions,\n tags,\n}: Readonly<JobHeaderProps>) {\n const renderIcon = (icon: JobHeaderTag['icon']) => {\n const Icon = iconMap[icon]\n return <Icon size={18} />\n }\n\n return (\n <div\n data-testid=\"job-header-root\"\n className={cn(\n '-mt-8 flex w-full flex-col items-center justify-between gap-6 md:-mt-0',\n !standalone && 'rounded-3xl'\n )}\n >\n {!standalone && (\n <div className=\"relative flex min-h-16 w-full items-center rounded-t-3xl bg-transparent md:min-h-24 md:flex-row lg:min-h-32\">\n <Image\n className=\"h-full w-full rounded-t-3xl object-cover\"\n src={bannerSrc}\n alt=\"job banner\"\n fill\n />\n <BackButton\n acceptedRoutes={backAcceptedRoutes}\n fallbackHref={backFallbackHref}\n className=\"absolute right-2 top-2 flex items-center justify-center text-white sm:hidden\"\n data-testid=\"job-header-back-button\"\n />\n <div\n className=\"absolute left-4 top-8 md:left-6 md:top-16 lg:top-24\"\n data-testid=\"job-header-avatar\"\n >\n <Avatar\n size=\"large\"\n target=\"_blank\"\n href={avatarHref}\n name={avatarName}\n src={avatarSrc}\n rel=\"noopener noreferrer\"\n />\n </div>\n </div>\n )}\n\n <div className=\"flex w-full flex-col items-start justify-start gap-4 px-6\">\n <div className=\"flex flex-col md:flex-row\">\n {standalone && (\n <div className=\"-mt-4 mr-4 md:mt-0\" data-testid=\"job-header-avatar\">\n <Avatar\n size=\"large\"\n target=\"_blank\"\n href={avatarHref}\n name={avatarName}\n src={avatarSrc}\n rel=\"noopener noreferrer\"\n />\n </div>\n )}\n\n <div className=\"prose mt-4 flex w-full items-center text-grey-80 lg:prose-lg\">\n {subtitles?.map((subtitle, i) => (\n <div\n key={subtitle}\n data-testid={`job-header-subtitle-${i}`}\n className=\"flex items-center\"\n >\n {subtitle}\n {i < subtitles.length - 1 && <Dot className=\"mx-1 shrink-0\" size={10} />}\n </div>\n ))}\n </div>\n </div>\n\n <div\n data-testid=\"job-header-content\"\n className=\"mt-2 flex w-full flex-row flex-wrap items-center justify-between gap-1\"\n >\n <h2\n data-testid=\"job-header-title\"\n className=\"break-word max-w-full text-2xl font-bold text-black sm:max-w-2xl md:max-w-lg\"\n >\n {title}\n </h2>\n\n {!!actions && (\n <div\n className=\"flex w-full justify-end gap-2 md:w-auto\"\n data-testid=\"job-header-actions\"\n >\n {actions}\n </div>\n )}\n </div>\n\n <div\n data-testid=\"job-header-tags\"\n className=\"flex flex-row flex-wrap items-center justify-start gap-2\"\n >\n {tags?.map(({ name, label, icon }) => (\n <Chip\n key={`${name}-${label}`}\n size=\"small\"\n variant=\"neutral\"\n aria-label={name}\n data-testid={`job-header-tag-${name}`}\n >\n {renderIcon(icon)}\n <span>{label}</span>\n </Chip>\n ))}\n </div>\n </div>\n </div>\n )\n}\n"]}
@@ -0,0 +1,95 @@
1
+ 'use strict';
2
+
3
+ var chunkLTJXX7NG_cjs = require('./chunk-LTJXX7NG.cjs');
4
+ var chunkMGWZXPMF_cjs = require('./chunk-MGWZXPMF.cjs');
5
+ var SwitchPrimitive = require('@radix-ui/react-switch');
6
+ var cva = require('cva');
7
+ var react = require('react');
8
+ var jsxRuntime = require('react/jsx-runtime');
9
+
10
+ function _interopNamespace(e) {
11
+ if (e && e.__esModule) return e;
12
+ var n = Object.create(null);
13
+ if (e) {
14
+ Object.keys(e).forEach(function (k) {
15
+ if (k !== 'default') {
16
+ var d = Object.getOwnPropertyDescriptor(e, k);
17
+ Object.defineProperty(n, k, d.get ? d : {
18
+ enumerable: true,
19
+ get: function () { return e[k]; }
20
+ });
21
+ }
22
+ });
23
+ }
24
+ n.default = e;
25
+ return Object.freeze(n);
26
+ }
27
+
28
+ var SwitchPrimitive__namespace = /*#__PURE__*/_interopNamespace(SwitchPrimitive);
29
+
30
+ var switchRootVariants = cva.cva(
31
+ "relative cursor-default rounded-full bg-grey-20 shadow-md outline-none focus:outline-purple-100 data-[state=checked]:bg-green-90",
32
+ {
33
+ variants: {
34
+ size: {
35
+ small: "h-[20px] w-[34px]",
36
+ normal: "h-[25px] w-[42px]",
37
+ large: "h-[30px] w-[50px]"
38
+ }
39
+ },
40
+ defaultVariants: {
41
+ size: "normal"
42
+ }
43
+ }
44
+ );
45
+ var switchThumbVariants = cva.cva(
46
+ "block rounded-full bg-white shadow-[0_2px_2px] transition-transform duration-100 will-change-transform",
47
+ {
48
+ variants: {
49
+ size: {
50
+ small: "h-[16px] w-[16px] translate-x-0.5 data-[state=checked]:translate-x-[15px]",
51
+ normal: "h-[21px] w-[21px] translate-x-0.5 data-[state=checked]:translate-x-[19px]",
52
+ large: "h-[26px] w-[26px] translate-x-0.5 data-[state=checked]:translate-x-[22px]"
53
+ }
54
+ },
55
+ defaultVariants: {
56
+ size: "normal"
57
+ }
58
+ }
59
+ );
60
+ var switchLabelVariants = cva.cva("leading-none text-grey-80", {
61
+ variants: {
62
+ size: {
63
+ small: "pl-3 text-xs",
64
+ normal: "pl-4 text-sm",
65
+ large: "pl-4 text-base"
66
+ }
67
+ },
68
+ defaultVariants: {
69
+ size: "normal"
70
+ }
71
+ });
72
+ var Switch = react.forwardRef(
73
+ ({ label, error, className, size, ...props }, ref) => {
74
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkMGWZXPMF_cjs.cn("flex items-center", props.disabled && "opacity-50"), children: [
75
+ /* @__PURE__ */ jsxRuntime.jsx(
76
+ SwitchPrimitive__namespace.Root,
77
+ {
78
+ className: chunkMGWZXPMF_cjs.cn(switchRootVariants({ size }), className),
79
+ ref,
80
+ ...props,
81
+ children: /* @__PURE__ */ jsxRuntime.jsx(SwitchPrimitive__namespace.Thumb, { className: switchThumbVariants({ size }) })
82
+ }
83
+ ),
84
+ label && /* @__PURE__ */ jsxRuntime.jsxs("label", { className: switchLabelVariants({ size }), htmlFor: props.name, children: [
85
+ label,
86
+ /* @__PURE__ */ jsxRuntime.jsx(chunkLTJXX7NG_cjs.ErrorMessage_default, { message: error, className: "mt-1" })
87
+ ] })
88
+ ] });
89
+ }
90
+ );
91
+ Switch.displayName = "Switch";
92
+
93
+ exports.Switch = Switch;
94
+ //# sourceMappingURL=chunk-73JL5O6N.cjs.map
95
+ //# sourceMappingURL=chunk-73JL5O6N.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ui/Switch.tsx"],"names":["cva","forwardRef","jsxs","cn","jsx","SwitchPrimitive","ErrorMessage_default"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAM,kBAAqB,GAAAA,OAAA;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,GAAAA,OAAA;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,GAAsBA,QAAI,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,GAAAC,gBAAA;AAAA,EACpB,CAAC,EAAE,KAAO,EAAA,KAAA,EAAO,WAAW,IAAM,EAAA,GAAG,KAAM,EAAA,EAAG,GAAQ,KAAA;AACpD,IACE,uBAAAC,eAAA,CAAC,SAAI,SAAW,EAAAC,oBAAA,CAAG,qBAAqB,KAAM,CAAA,QAAA,IAAY,YAAY,CACpE,EAAA,QAAA,EAAA;AAAA,sBAAAC,cAAA;AAAA,QAAiBC,0BAAA,CAAA,IAAA;AAAA,QAAhB;AAAA,UACC,WAAWF,oBAAG,CAAA,kBAAA,CAAmB,EAAE,IAAK,EAAC,GAAG,SAAS,CAAA;AAAA,UACrD,GAAA;AAAA,UACC,GAAG,KAAA;AAAA,UAEJ,QAAA,kBAAAC,cAAA,CAAiBC,kCAAhB,EAAsB,SAAA,EAAW,oBAAoB,EAAE,IAAA,EAAM,CAAG,EAAA;AAAA;AAAA,OACnE;AAAA,MACC,KAAA,oBACEH,eAAA,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,wBAEAE,cAAA,CAAAE,sCAAA,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-73JL5O6N.cjs","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"]}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkSKMP4FO7_cjs = require('./chunk-SKMP4FO7.cjs');
4
3
  var chunkIJV66D4K_cjs = require('./chunk-IJV66D4K.cjs');
4
+ var chunkSKMP4FO7_cjs = require('./chunk-SKMP4FO7.cjs');
5
5
  var chunkDU5OQA67_cjs = require('./chunk-DU5OQA67.cjs');
6
6
  var chunkNLGWU2KI_cjs = require('./chunk-NLGWU2KI.cjs');
7
7
  var reactGoogleMaps = require('@vis.gl/react-google-maps');
@@ -46,5 +46,5 @@ function MapComponent({
46
46
  }
47
47
 
48
48
  exports.MapComponent = MapComponent;
49
- //# sourceMappingURL=chunk-54CL72AL.cjs.map
50
- //# sourceMappingURL=chunk-54CL72AL.cjs.map
49
+ //# sourceMappingURL=chunk-7NP3NX67.cjs.map
50
+ //# sourceMappingURL=chunk-7NP3NX67.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/ui/Map/MapComponent.tsx"],"names":["useMapBounds","useZoomLevel","DEFAULT_ZOOM","useClusters","getCenterForCoordinates","DEFAULT_POSITION","getZoomForCoordinates","jsx","APIProvider","MapContent"],"mappings":";;;;;;;;;AAUO,SAAS,YAA0B,CAAA;AAAA,EACxC,MAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA;AAAA,EACA,IAAO,GAAA;AACT,CAAmC,EAAA;AACjC,EAAA,MAAM,EAAE,MAAA,EAAQ,SAAU,EAAA,GAAIA,+BAAa,WAAW,CAAA;AACtD,EAAA,MAAM,EAAE,SAAW,EAAA,YAAA,EAAiB,GAAAC,8BAAA,CAAa,QAAQC,8BAAY,CAAA;AACrE,EAAA,MAAM,EAAE,QAAU,EAAA,YAAA,KAAiBC,6BAAY,CAAA,WAAA,EAAa,QAAQ,SAAS,CAAA;AAE7E,EAAM,MAAA,SAAA,GACJ,eAAe,WAAY,CAAA,MAAA,GAAS,IAChCC,yCAAwB,CAAA,WAAW,IACnC,QAAY,IAAAC,kCAAA;AAElB,EAAM,MAAA,OAAA,GACJ,WAAe,IAAA,WAAA,CAAY,MAAS,GAAA,CAAA,GAChCC,wCAAsB,WAAa,EAAA,IAAI,CACvC,GAAA,QAAA,GACE,IACA,GAAAJ,8BAAA;AAER,EACE,uBAAAK,cAAA,CAACC,+BAAY,MACX,EAAA,QAAA,kBAAAD,cAAA;AAAA,IAACE,4BAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,SAAA;AAAA,MACA,OAAA;AAAA,MACA,QAAA;AAAA,MACA,WAAA;AAAA,MACA,QAAA;AAAA,MACA,YAAA;AAAA,MACA,UAAA;AAAA,MACA,UAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA;AAAA,MACA,SAAA;AAAA,MACA,SAAA;AAAA,MACA;AAAA;AAAA,GAEJ,EAAA,CAAA;AAEJ","file":"chunk-54CL72AL.cjs","sourcesContent":["'use client'\n\nimport { APIProvider } from '@vis.gl/react-google-maps'\n\nimport { DEFAULT_POSITION, DEFAULT_ZOOM } from '@/components/ui/Map/constants'\nimport { useClusters, useMapBounds, useZoomLevel } from '@/components/ui/Map/hooks'\nimport { MapContent } from '@/components/ui/Map/MapContent'\nimport type { MapComponentProps, PinData } from '@/components/ui/Map/types'\nimport { getCenterForCoordinates, getZoomForCoordinates } from '@/components/ui/Map/utils'\n\nexport function MapComponent<T = PinData>({\n apiKey,\n mapId,\n position,\n coordinates,\n onPinHover,\n onPinClick,\n focusPoint,\n radiusMiles,\n className,\n zoom = 10,\n}: Readonly<MapComponentProps<T>>) {\n const { bounds, setBounds } = useMapBounds(coordinates)\n const { zoomLevel, setZoomLevel } = useZoomLevel(zoom || DEFAULT_ZOOM)\n const { clusters, supercluster } = useClusters(coordinates, bounds, zoomLevel)\n\n const mapCenter =\n coordinates && coordinates.length > 0\n ? getCenterForCoordinates(coordinates)\n : position || DEFAULT_POSITION\n\n const mapZoom =\n coordinates && coordinates.length > 1\n ? getZoomForCoordinates(coordinates, zoom)\n : position\n ? zoom\n : DEFAULT_ZOOM\n\n return (\n <APIProvider apiKey={apiKey}>\n <MapContent\n mapId={mapId}\n mapCenter={mapCenter}\n mapZoom={mapZoom}\n position={position}\n coordinates={coordinates}\n clusters={clusters}\n supercluster={supercluster}\n onPinHover={onPinHover}\n onPinClick={onPinClick}\n focusPoint={focusPoint}\n radiusMiles={radiusMiles}\n className={className}\n setBounds={setBounds}\n setZoomLevel={setZoomLevel}\n />\n </APIProvider>\n )\n}\n"]}
1
+ {"version":3,"sources":["../src/components/ui/Map/MapComponent.tsx"],"names":["useMapBounds","useZoomLevel","DEFAULT_ZOOM","useClusters","getCenterForCoordinates","DEFAULT_POSITION","getZoomForCoordinates","jsx","APIProvider","MapContent"],"mappings":";;;;;;;;;AAUO,SAAS,YAA0B,CAAA;AAAA,EACxC,MAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA;AAAA,EACA,IAAO,GAAA;AACT,CAAmC,EAAA;AACjC,EAAA,MAAM,EAAE,MAAA,EAAQ,SAAU,EAAA,GAAIA,+BAAa,WAAW,CAAA;AACtD,EAAA,MAAM,EAAE,SAAW,EAAA,YAAA,EAAiB,GAAAC,8BAAA,CAAa,QAAQC,8BAAY,CAAA;AACrE,EAAA,MAAM,EAAE,QAAU,EAAA,YAAA,KAAiBC,6BAAY,CAAA,WAAA,EAAa,QAAQ,SAAS,CAAA;AAE7E,EAAM,MAAA,SAAA,GACJ,eAAe,WAAY,CAAA,MAAA,GAAS,IAChCC,yCAAwB,CAAA,WAAW,IACnC,QAAY,IAAAC,kCAAA;AAElB,EAAM,MAAA,OAAA,GACJ,WAAe,IAAA,WAAA,CAAY,MAAS,GAAA,CAAA,GAChCC,wCAAsB,WAAa,EAAA,IAAI,CACvC,GAAA,QAAA,GACE,IACA,GAAAJ,8BAAA;AAER,EACE,uBAAAK,cAAA,CAACC,+BAAY,MACX,EAAA,QAAA,kBAAAD,cAAA;AAAA,IAACE,4BAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,SAAA;AAAA,MACA,OAAA;AAAA,MACA,QAAA;AAAA,MACA,WAAA;AAAA,MACA,QAAA;AAAA,MACA,YAAA;AAAA,MACA,UAAA;AAAA,MACA,UAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA;AAAA,MACA,SAAA;AAAA,MACA,SAAA;AAAA,MACA;AAAA;AAAA,GAEJ,EAAA,CAAA;AAEJ","file":"chunk-7NP3NX67.cjs","sourcesContent":["'use client'\n\nimport { APIProvider } from '@vis.gl/react-google-maps'\n\nimport { DEFAULT_POSITION, DEFAULT_ZOOM } from '@/components/ui/Map/constants'\nimport { useClusters, useMapBounds, useZoomLevel } from '@/components/ui/Map/hooks'\nimport { MapContent } from '@/components/ui/Map/MapContent'\nimport type { MapComponentProps, PinData } from '@/components/ui/Map/types'\nimport { getCenterForCoordinates, getZoomForCoordinates } from '@/components/ui/Map/utils'\n\nexport function MapComponent<T = PinData>({\n apiKey,\n mapId,\n position,\n coordinates,\n onPinHover,\n onPinClick,\n focusPoint,\n radiusMiles,\n className,\n zoom = 10,\n}: Readonly<MapComponentProps<T>>) {\n const { bounds, setBounds } = useMapBounds(coordinates)\n const { zoomLevel, setZoomLevel } = useZoomLevel(zoom || DEFAULT_ZOOM)\n const { clusters, supercluster } = useClusters(coordinates, bounds, zoomLevel)\n\n const mapCenter =\n coordinates && coordinates.length > 0\n ? getCenterForCoordinates(coordinates)\n : position || DEFAULT_POSITION\n\n const mapZoom =\n coordinates && coordinates.length > 1\n ? getZoomForCoordinates(coordinates, zoom)\n : position\n ? zoom\n : DEFAULT_ZOOM\n\n return (\n <APIProvider apiKey={apiKey}>\n <MapContent\n mapId={mapId}\n mapCenter={mapCenter}\n mapZoom={mapZoom}\n position={position}\n coordinates={coordinates}\n clusters={clusters}\n supercluster={supercluster}\n onPinHover={onPinHover}\n onPinClick={onPinClick}\n focusPoint={focusPoint}\n radiusMiles={radiusMiles}\n className={className}\n setBounds={setBounds}\n setZoomLevel={setZoomLevel}\n />\n </APIProvider>\n )\n}\n"]}
@@ -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: "text-sm peer-data-[disabled]:text-grey-40", children })
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-6EW2D7K7.cjs.map
51
- //# sourceMappingURL=chunk-6EW2D7K7.cjs.map
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"]}
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var chunkQRMNGILI_cjs = require('./chunk-QRMNGILI.cjs');
4
- var chunk6CSDTWDX_cjs = require('./chunk-6CSDTWDX.cjs');
5
- var chunkOXDKVZZ5_cjs = require('./chunk-OXDKVZZ5.cjs');
6
- var chunk4LUPQO4R_cjs = require('./chunk-4LUPQO4R.cjs');
7
3
  var chunkDWB5TTR6_cjs = require('./chunk-DWB5TTR6.cjs');
8
4
  var chunk46HHHYSV_cjs = require('./chunk-46HHHYSV.cjs');
9
- var chunkXAPQTBJR_cjs = require('./chunk-XAPQTBJR.cjs');
5
+ var chunkQRMNGILI_cjs = require('./chunk-QRMNGILI.cjs');
6
+ var chunkTOEADI6J_cjs = require('./chunk-TOEADI6J.cjs');
10
7
  var chunkGQNVPLSG_cjs = require('./chunk-GQNVPLSG.cjs');
11
8
  var chunkMGWZXPMF_cjs = require('./chunk-MGWZXPMF.cjs');
9
+ var chunk4LUPQO4R_cjs = require('./chunk-4LUPQO4R.cjs');
10
+ var chunkOXDKVZZ5_cjs = require('./chunk-OXDKVZZ5.cjs');
11
+ var chunkXAPQTBJR_cjs = require('./chunk-XAPQTBJR.cjs');
12
12
  var DateFns = require('date-fns');
13
13
  var jsxRuntime = require('react/jsx-runtime');
14
14
 
@@ -86,7 +86,7 @@ function JobPost({
86
86
  ),
87
87
  children: [
88
88
  /* @__PURE__ */ jsxRuntime.jsx(
89
- chunk6CSDTWDX_cjs.JobHeader,
89
+ chunkTOEADI6J_cjs.JobHeader,
90
90
  {
91
91
  title: job.title,
92
92
  bannerSrc,
@@ -133,5 +133,5 @@ function JobPost({
133
133
  }
134
134
 
135
135
  exports.JobPost = JobPost;
136
- //# sourceMappingURL=chunk-MLV2TE6H.cjs.map
137
- //# sourceMappingURL=chunk-MLV2TE6H.cjs.map
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-MLV2TE6H.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
+ {"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,17 +1,24 @@
1
1
  'use strict';
2
2
 
3
- var chunkC3DCFPJC_cjs = require('./chunk-C3DCFPJC.cjs');
4
- var chunkAMNEAWA7_cjs = require('./chunk-AMNEAWA7.cjs');
3
+ var chunkKBAY4F7D_cjs = require('./chunk-KBAY4F7D.cjs');
5
4
  var chunkMGWZXPMF_cjs = require('./chunk-MGWZXPMF.cjs');
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(chunkC3DCFPJC_cjs.Command, { children: [
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
- chunkC3DCFPJC_cjs.CommandInput,
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
- chunkC3DCFPJC_cjs.CommandList,
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(chunkC3DCFPJC_cjs.CommandEmpty, { children: "No results" }),
101
- /* @__PURE__ */ jsxRuntime.jsx(chunkC3DCFPJC_cjs.CommandGroup, { children: predictions.map((prediction) => /* @__PURE__ */ jsxRuntime.jsx(
102
- chunkC3DCFPJC_cjs.CommandItem,
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-NEIGOAE6.cjs.map
119
- //# sourceMappingURL=chunk-NEIGOAE6.cjs.map
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":";;;;;;;;;AAkCA,IAAM,WAAoC,GAAA;AAAA,EACxC,KAAO,EAAA,aAAA;AAAA,EACP,MAAQ,EAAA,aAAA;AAAA,EACR,KAAO,EAAA,gBAAA;AAAA,EACP,MAAQ,EAAA;AACV,CAAA;AAEA,SAAS,gBAAiB,CAAA;AAAA,EACxB,MAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,IAAO,GAAA;AACT,CAAoC,EAAA;AAClC,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAIA,eAA2C,IAAI,CAAA;AACrF,EAAA,MAAM,CAAC,KAAO,EAAA,QAAQ,IAAIA,cAAS,CAAA,QAAA,EAAU,eAAe,EAAE,CAAA;AAC9D,EAAA,MAAM,CAAC,oBAAA,EAAsB,uBAAuB,CAAA,GAAIA,eAAS,KAAK,CAAA;AACtE,EAAA,MAAM,CAAC,gBAAA,EAAkB,mBAAmB,CAAA,GAAIA,eAAS,KAAK,CAAA;AAC9D,EAAM,MAAA,UAAA,GAAaC,aAA8B,IAAI,CAAA;AACrD,EAAM,MAAA,QAAA,GAAWA,aAA8B,IAAI,CAAA;AAEnD,EAAM,MAAA,qBAAA,GAAwBC,iBAAY,CAAA,CAAC,KAAkB,KAAA;AAC3D,IAAA,IAAI,WAAW,OAAS,EAAA;AACtB,MAAA,YAAA,CAAa,WAAW,OAAO,CAAA;AAAA;AAEjC,IAAW,UAAA,CAAA,OAAA,GAAU,WAAW,YAAY;AAC1C,MAAI,IAAA;AACF,QAAI,IAAA,KAAA,CAAM,SAAS,CAAG,EAAA;AACpB,UAAA,uBAAA,CAAwB,IAAI,CAAA;AAC5B,UAAA,MAAM,kBAAqB,GAAA,MAAMC,8BAAa,CAAA,KAAA,EAAO,MAAM,CAAA;AAC3D,UAAA,uBAAA,CAAwB,KAAK,CAAA;AAC7B,UAAe,cAAA,CAAA,kBAAA,IAAsB,EAAE,CAAA;AAAA,SAClC,MAAA;AACL,UAAA,cAAA,CAAe,IAAI,CAAA;AAAA;AACrB,eACO,KAAO,EAAA;AACd,QAAA,uBAAA,CAAwB,KAAK,CAAA;AAC7B,QAAA,cAAA,CAAe,EAAE,CAAA;AACjB,QAAQ,OAAA,CAAA,KAAA,CAAM,uBAAuB,KAAK,CAAA;AAAA;AAC5C,OACC,GAAG,CAAA;AAAA,GACR,EAAG,EAAE,CAAA;AAEL,EAAM,MAAA,iBAAA,GAAoB,CAAC,KAAkB,KAAA;AAC3C,IAAA,QAAA,CAAS,KAAK,CAAA;AACd,IAAA,qBAAA,CAAsB,KAAK,CAAA;AAAA,GAC7B;AAEA,EAAM,MAAA,YAAA,GAAe,CAAC,UAAwC,KAAA;AAC5D,IAAA,QAAA,CAAS,UAAU,CAAA;AACnB,IAAA,cAAA,CAAe,IAAI,CAAA;AACnB,IAAA,QAAA,CAAS,WAAW,WAAW,CAAA;AAAA,GACjC;AAEA,EAAA,MAAM,cAAc,MAAM;AACxB,IAAS,QAAA,EAAA;AACT,IAAA,cAAA,CAAe,IAAI,CAAA;AACnB,IAAA,QAAA,CAAS,EAAE,CAAA;AAAA,GACb;AAIA,EAAA,MAAM,aAAa,MAAM,UAAA,CAAW,MAAM,cAAe,CAAA,IAAI,GAAG,GAAG,CAAA;AAEnE,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,MAAM,wBAAwB,MAAM;AAClC,MAAA,IAAI,SAAS,OAAS,EAAA;AACpB,QAAM,MAAA,IAAA,GAAO,QAAS,CAAA,OAAA,CAAQ,qBAAsB,EAAA;AACpD,QAAA,MAAM,eAAe,MAAO,CAAA,WAAA;AAC5B,QAAoB,mBAAA,CAAA,IAAA,CAAK,MAAS,GAAA,GAAA,GAAM,YAAY,CAAA;AAAA;AACtD,KACF;AAEA,IAAsB,qBAAA,EAAA;AACtB,IAAO,MAAA,CAAA,gBAAA,CAAiB,UAAU,qBAAqB,CAAA;AACvD,IAAA,OAAO,MAAM,MAAA,CAAO,mBAAoB,CAAA,QAAA,EAAU,qBAAqB,CAAA;AAAA,GACzE,EAAG,EAAE,CAAA;AAEL,EAAA,uBACGC,cAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAAC,oBAAA,CAAG,iBAAmB,EAAA,SAAS,CAAG,EAAA,GAAA,EAAK,QAAU,EAAA,MAAA,EAAQ,UACvE,EAAA,QAAA,kBAAAC,eAAA,CAACC,yBACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAACD,eAAA,CAAA,KAAA,EAAA,EAAI,WAAU,iBACb,EAAA,QAAA,EAAA;AAAA,sBAAAF,cAAA;AAAA,QAACI,8BAAA;AAAA,QAAA;AAAA,UACC,WAAY,EAAA,8BAAA;AAAA,UACZ,KAAO,EAAA,KAAA;AAAA,UACP,aAAe,EAAA,iBAAA;AAAA,UACf,SAAW,EAAAH,oBAAA,CAAG,eAAiB,EAAA,WAAA,CAAY,IAAI,CAAC;AAAA;AAAA,OAClD;AAAA,MACC,oBACC,oBAAAD,cAAA,CAACK,wBAAa,EAAA,EAAA,SAAA,EAAU,sHAAuH,EAAA,CAAA;AAAA,MAEhJ,KACC,oBAAAL,cAAA;AAAA,QAAC,QAAA;AAAA,QAAA;AAAA,UACC,IAAK,EAAA,QAAA;AAAA,UACL,SAAU,EAAA,4HAAA;AAAA,UACV,OAAS,EAAA,WAAA;AAAA,UAET,QAAA,kBAAAA,cAAA,CAACM,mBAAQ,EAAA,EAAA,SAAA,EAAU,wBAAyB,EAAA;AAAA;AAAA;AAC9C,KAEJ,EAAA,CAAA;AAAA,IACC,WACC,oBAAAJ,eAAA;AAAA,MAACK,6BAAA;AAAA,MAAA;AAAA,QACC,SAAW,EAAAN,oBAAA;AAAA,UACT,2DAAA;AAAA,UACA,mBAAmB,aAAgB,GAAA;AAAA,SACrC;AAAA,QAEA,QAAA,EAAA;AAAA,0BAAAD,cAAA,CAACQ,kCAAa,QAAU,EAAA,YAAA,EAAA,CAAA;AAAA,0BACvBR,cAAA,CAAAS,8BAAA,EAAA,EACE,QAAY,EAAA,WAAA,CAAA,GAAA,CAAI,CAAC,UAChB,qBAAAT,cAAA;AAAA,YAACU,6BAAA;AAAA,YAAA;AAAA,cAEC,QAAA,EAAU,MAAM,YAAA,CAAa,UAAU,CAAA;AAAA,cACvC,SAAU,EAAA,UAAA;AAAA,cAET,QAAW,EAAA,UAAA,CAAA;AAAA,aAAA;AAAA,YAJP,UAAW,CAAA;AAAA,WAMnB,CACH,EAAA;AAAA;AAAA;AAAA;AACF,GAAA,EAEJ,CACF,EAAA,CAAA;AAEJ;AAEA,IAAO,wBAAQ,GAAA","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
- "placeholder:text-muted-foreground",
58
- "focus-visible:ring-ring",
59
- "inline-flex",
60
- "w-full",
61
- "h-11",
62
- "items-center",
63
- "justify-start",
64
- "gap-3",
65
- "rounded-lg",
66
- "bg-transparent",
67
- "px-3",
68
- "pt-0.5",
69
- "text-sm",
70
- "shadow-sm",
71
- "ring-grey-50",
72
- "transition-colors",
73
- "focus-visible:outline-none",
74
- "focus-visible:ring-1",
75
- "disabled:cursor-not-allowed",
76
- "disabled:opacity-50",
77
- "appearance-none",
78
- "[&::-webkit-search-cancel-button]:appearance-none",
79
- "[&::-webkit-search-decoration]:appearance-none",
80
- "[&::-webkit-search-results-button]:appearance-none",
81
- "[&::-webkit-search-results-decoration]:appearance-none",
82
- "[&::-ms-clear]:display-none",
83
- "[&::-ms-reveal]:display-none",
84
- "text-grey-80 border",
85
- "font-normal"
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-3FQTSGHL.cjs.map
90
- //# sourceMappingURL=chunk-3FQTSGHL.cjs.map
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":";;;;;;;;;;;;;AA+BO,IAAM,UAAa,GAAAA,gBAAA;AAAA,EACxB,CAAC,EAAE,KAAO,EAAA,WAAA,EAAa,QAAU,EAAA,UAAA,EAAY,KAAO,EAAA,QAAA,EAAU,KAAO,EAAA,EAAA,EAAI,MAAQ,EAAA,IAAA,IAAQ,GAAQ,KAAA;AAC/F,IAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAIC,eAAsB,IAAI,CAAA;AAElD,IAAAC,eAAA,CAAU,MAAM;AACd,MAAA,OAAA,CAAQ,SAAS,IAAI,CAAA;AAAA,KACvB,EAAG,CAAC,KAAK,CAAC,CAAA;AAEV,IAAM,MAAA,gBAAA,GAAmB,CAAC,YAAmC,KAAA;AAC3D,MAAA,IAAI,CAAC,YAAc,EAAA;AACnB,MAAA,QAAA,GAAW,YAAY,CAAA;AACvB,MAAA,OAAA,CAAQ,YAAY,CAAA;AAAA,KACtB;AAEA,IAAA,uCACG,KAAI,EAAA,EAAA,EAAA,EAAQ,SAAW,EAAAC,oBAAA,CAAG,4BAA4B,CACpD,EAAA,QAAA,EAAA;AAAA,MACC,KAAA,oBAAAC,cAAA;AAAA,QAACC,+BAAA;AAAA,QAAA;AAAA,UACC,IAAM,EAAA,KAAA;AAAA,UACN,QAAA;AAAA,UACA,WAAA;AAAA,UACA,WAAW,UAAY,EAAA;AAAA;AAAA,OACzB;AAAA,sCAEDC,yBACC,EAAA,EAAA,QAAA,EAAA;AAAA,wBAAAF,cAAA,CAACG,gCAAe,EAAA,EAAA,aAAA,EAAa,MAC3B,EAAA,QAAA,kBAAAC,eAAA,CAAC,SAAI,SAAW,EAAAL,oBAAA,CAAG,eAAgB,CAAA,EAAE,IAAK,EAAC,CAAG,EAAA,UAAA,EAAY,KAAK,CAC7D,EAAA,QAAA,EAAA;AAAA,0BAACC,cAAA,CAAAK,oBAAA,EAAA,EAAa,MAAM,EAAI,EAAA,CAAA;AAAA,UACvB,IAAO,GAAAC,cAAA,CAAO,IAAM,EAAA,YAAY,CAAI,GAAA;AAAA,SAAA,EACvC,CACF,EAAA,CAAA;AAAA,wBACAN,cAAA,CAACO,oCAAe,GACd,EAAA,QAAA,kBAAAP,cAAA;AAAA,UAACQ,0BAAA;AAAA,UAAA;AAAA,YACC,IAAK,EAAA,QAAA;AAAA,YACL,UAAU,IAAQ,IAAA,MAAA;AAAA,YAClB,QAAU,EAAA,gBAAA;AAAA,YACV,aAAc,EAAA,UAAA;AAAA,YACd,eAAiB,EAAA,IAAA;AAAA,YACjB,WAAW,UAAY,EAAA;AAAA;AAAA,SAE3B,EAAA;AAAA,OACF,EAAA,CAAA;AAAA,sBAEAR,cAAA,CAACS,sCAAa,EAAA,EAAA,OAAA,EAAS,KAAO,EAAA;AAAA,KAChC,EAAA,CAAA;AAAA;AAGN;AAEA,IAAM,eAAkB,GAAAC,OAAA;AAAA,EACtB;AAAA,IACE,0BAAA;AAAA,IACA,yBAAA;AAAA,IACA,aAAA;AAAA,IACA,QAAA;AAAA,IACA,cAAA;AAAA,IACA,eAAA;AAAA,IACA,OAAA;AAAA,IACA,YAAA;AAAA,IACA,gBAAA;AAAA,IACA,WAAA;AAAA,IACA,mBAAA;AAAA,IACA,4BAAA;AAAA,IACA,sBAAA;AAAA,IACA,6BAAA;AAAA,IACA,qBAAA;AAAA,IACA,iBAAA;AAAA,IACA,mDAAA;AAAA,IACA,gDAAA;AAAA,IACA,oDAAA;AAAA,IACA,wDAAA;AAAA,IACA,6BAAA;AAAA,IACA,8BAAA;AAAA,IACA,cAAA;AAAA,IACA,QAAA;AAAA,IACA,gBAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAU,EAAA;AAAA,MACR,IAAM,EAAA;AAAA,QACJ,KAAO,EAAA,uBAAA;AAAA,QACP,MAAQ,EAAA,uBAAA;AAAA,QACR,KAAO,EAAA,0BAAA;AAAA,QACP,MAAQ,EAAA;AAAA;AACV,KACF;AAAA,IACA,eAAiB,EAAA;AAAA,MACf,IAAM,EAAA;AAAA;AACR;AAEJ,CAAA","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"]}