@next-degree/pickle-shared-js 0.6.48 → 0.7.51

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 (240) hide show
  1. package/dist/company_service_latest-DFxfjA2x.d.cts +4369 -0
  2. package/dist/company_service_latest-DFxfjA2x.d.ts +4369 -0
  3. package/dist/company_service_sanity--Aw-Y3Us.d.cts +7611 -0
  4. package/dist/company_service_sanity-B5FBDl-4.d.ts +7611 -0
  5. package/dist/components/buttons/BackButton.cjs +5 -1
  6. package/dist/components/buttons/BackButton.cjs.map +1 -1
  7. package/dist/components/buttons/BackButton.js +5 -1
  8. package/dist/components/buttons/BackButton.js.map +1 -1
  9. package/dist/components/company/CompanyTake.cjs +4 -2
  10. package/dist/components/company/CompanyTake.cjs.map +1 -1
  11. package/dist/components/company/CompanyTake.js +4 -2
  12. package/dist/components/company/CompanyTake.js.map +1 -1
  13. package/dist/components/jobPost/JobDescription.cjs +18 -7
  14. package/dist/components/jobPost/JobDescription.cjs.map +1 -1
  15. package/dist/components/jobPost/JobDescription.js +18 -7
  16. package/dist/components/jobPost/JobDescription.js.map +1 -1
  17. package/dist/components/jobPost/JobHeader.cjs +43 -37
  18. package/dist/components/jobPost/JobHeader.cjs.map +1 -1
  19. package/dist/components/jobPost/JobHeader.js +42 -36
  20. package/dist/components/jobPost/JobHeader.js.map +1 -1
  21. package/dist/components/jobPost/JobPost.cjs +105 -90
  22. package/dist/components/jobPost/JobPost.cjs.map +1 -1
  23. package/dist/components/jobPost/JobPost.d.cts +1 -1
  24. package/dist/components/jobPost/JobPost.d.ts +1 -1
  25. package/dist/components/jobPost/JobPost.js +105 -90
  26. package/dist/components/jobPost/JobPost.js.map +1 -1
  27. package/dist/components/primitives/avatar.cjs.map +1 -1
  28. package/dist/components/primitives/avatar.js.map +1 -1
  29. package/dist/components/primitives/command.cjs +6 -4
  30. package/dist/components/primitives/command.cjs.map +1 -1
  31. package/dist/components/primitives/command.d.cts +7 -7
  32. package/dist/components/primitives/command.d.ts +7 -7
  33. package/dist/components/primitives/command.js +6 -4
  34. package/dist/components/primitives/command.js.map +1 -1
  35. package/dist/components/primitives/dialog.cjs +4 -4
  36. package/dist/components/primitives/dialog.cjs.map +1 -1
  37. package/dist/components/primitives/dialog.js +6 -4
  38. package/dist/components/primitives/dialog.js.map +1 -1
  39. package/dist/components/primitives/input-otp.cjs +2 -2
  40. package/dist/components/primitives/input-otp.cjs.map +1 -1
  41. package/dist/components/primitives/input-otp.js +2 -2
  42. package/dist/components/primitives/input-otp.js.map +1 -1
  43. package/dist/components/primitives/popover.cjs +1 -1
  44. package/dist/components/primitives/popover.cjs.map +1 -1
  45. package/dist/components/primitives/popover.d.cts +1 -1
  46. package/dist/components/primitives/popover.d.ts +1 -1
  47. package/dist/components/primitives/popover.js +1 -1
  48. package/dist/components/primitives/popover.js.map +1 -1
  49. package/dist/components/primitives/separator.cjs.map +1 -1
  50. package/dist/components/primitives/separator.js.map +1 -1
  51. package/dist/components/primitives/tooltip.cjs.map +1 -1
  52. package/dist/components/primitives/tooltip.js.map +1 -1
  53. package/dist/components/ui/Avatar.cjs +2 -2
  54. package/dist/components/ui/Avatar.cjs.map +1 -1
  55. package/dist/components/ui/Avatar.js +4 -2
  56. package/dist/components/ui/Avatar.js.map +1 -1
  57. package/dist/components/ui/Badge.cjs.map +1 -1
  58. package/dist/components/ui/Badge.js.map +1 -1
  59. package/dist/components/ui/Button.cjs +3 -3
  60. package/dist/components/ui/Button.cjs.map +1 -1
  61. package/dist/components/ui/Button.d.cts +33 -0
  62. package/dist/components/ui/Button.d.ts +33 -0
  63. package/dist/components/ui/Button.js +5 -3
  64. package/dist/components/ui/Button.js.map +1 -1
  65. package/dist/components/ui/Checkbox.cjs.map +1 -1
  66. package/dist/components/ui/Checkbox.js.map +1 -1
  67. package/dist/components/ui/Combobox.cjs +111 -103
  68. package/dist/components/ui/Combobox.cjs.map +1 -1
  69. package/dist/components/ui/Combobox.d.cts +1 -1
  70. package/dist/components/ui/Combobox.d.ts +1 -1
  71. package/dist/components/ui/Combobox.js +108 -100
  72. package/dist/components/ui/Combobox.js.map +1 -1
  73. package/dist/components/ui/Counter.cjs +3 -1
  74. package/dist/components/ui/Counter.cjs.map +1 -1
  75. package/dist/components/ui/Counter.js +3 -1
  76. package/dist/components/ui/Counter.js.map +1 -1
  77. package/dist/components/ui/DatePicker.cjs +318 -0
  78. package/dist/components/ui/DatePicker.cjs.map +1 -0
  79. package/dist/components/ui/DatePicker.d.cts +16 -0
  80. package/dist/components/ui/DatePicker.d.ts +16 -0
  81. package/dist/components/ui/DatePicker.js +284 -0
  82. package/dist/components/ui/DatePicker.js.map +1 -0
  83. package/dist/components/ui/ErrorMessage.cjs.map +1 -1
  84. package/dist/components/ui/ErrorMessage.js.map +1 -1
  85. package/dist/components/ui/Icon.cjs.map +1 -1
  86. package/dist/components/ui/Icon.js.map +1 -1
  87. package/dist/components/ui/Input.cjs +3 -1
  88. package/dist/components/ui/Input.cjs.map +1 -1
  89. package/dist/components/ui/Input.d.cts +29 -0
  90. package/dist/components/ui/Input.d.ts +29 -0
  91. package/dist/components/ui/Input.js +3 -1
  92. package/dist/components/ui/Input.js.map +1 -1
  93. package/dist/components/ui/InputOtp.cjs +62 -58
  94. package/dist/components/ui/InputOtp.cjs.map +1 -1
  95. package/dist/components/ui/InputOtp.js +62 -58
  96. package/dist/components/ui/InputOtp.js.map +1 -1
  97. package/dist/components/ui/Label.cjs +5 -3
  98. package/dist/components/ui/Label.cjs.map +1 -1
  99. package/dist/components/ui/Label.js +7 -3
  100. package/dist/components/ui/Label.js.map +1 -1
  101. package/dist/components/ui/ListItem.cjs +7 -7
  102. package/dist/components/ui/ListItem.cjs.map +1 -1
  103. package/dist/components/ui/ListItem.js +10 -8
  104. package/dist/components/ui/ListItem.js.map +1 -1
  105. package/dist/components/ui/MapComponent.cjs.map +1 -1
  106. package/dist/components/ui/MapComponent.js +1 -1
  107. package/dist/components/ui/MapComponent.js.map +1 -1
  108. package/dist/components/ui/PlacesQueryInput.cjs +21 -13
  109. package/dist/components/ui/PlacesQueryInput.cjs.map +1 -1
  110. package/dist/components/ui/PlacesQueryInput.js +23 -13
  111. package/dist/components/ui/PlacesQueryInput.js.map +1 -1
  112. package/dist/components/ui/ReadMore.cjs +18 -7
  113. package/dist/components/ui/ReadMore.cjs.map +1 -1
  114. package/dist/components/ui/ReadMore.js +18 -7
  115. package/dist/components/ui/ReadMore.js.map +1 -1
  116. package/dist/components/ui/Select.cjs +68 -70
  117. package/dist/components/ui/Select.cjs.map +1 -1
  118. package/dist/components/ui/Select.js +66 -68
  119. package/dist/components/ui/Select.js.map +1 -1
  120. package/dist/components/ui/StepTabs.cjs +92 -0
  121. package/dist/components/ui/StepTabs.cjs.map +1 -0
  122. package/dist/components/ui/StepTabs.d.cts +13 -0
  123. package/dist/components/ui/StepTabs.d.ts +13 -0
  124. package/dist/components/ui/StepTabs.js +58 -0
  125. package/dist/components/ui/StepTabs.js.map +1 -0
  126. package/dist/components/ui/buttonShadcn.cjs +94 -0
  127. package/dist/components/ui/buttonShadcn.cjs.map +1 -0
  128. package/dist/components/ui/buttonShadcn.d.cts +14 -0
  129. package/dist/components/ui/buttonShadcn.d.ts +14 -0
  130. package/dist/components/ui/buttonShadcn.js +58 -0
  131. package/dist/components/ui/buttonShadcn.js.map +1 -0
  132. package/dist/components/ui/calendar.cjs +152 -0
  133. package/dist/components/ui/calendar.cjs.map +1 -0
  134. package/dist/components/ui/calendar.d.cts +11 -0
  135. package/dist/components/ui/calendar.d.ts +11 -0
  136. package/dist/components/ui/calendar.js +118 -0
  137. package/dist/components/ui/calendar.js.map +1 -0
  138. package/dist/{displayText-mYUVo6Ek.d.cts → displayText-CQRZ2fOT.d.cts} +2 -2
  139. package/dist/{displayText-DDf9iWyg.d.ts → displayText-LlsLfkTS.d.ts} +2 -2
  140. package/dist/hooks/useDisplayText.cjs.map +1 -1
  141. package/dist/hooks/useDisplayText.d.cts +3 -3
  142. package/dist/hooks/useDisplayText.d.ts +3 -3
  143. package/dist/hooks/useDisplayText.js.map +1 -1
  144. package/dist/index.cjs +763 -738
  145. package/dist/index.cjs.map +1 -1
  146. package/dist/index.d.cts +13 -13
  147. package/dist/index.d.ts +13 -13
  148. package/dist/index.js +772 -747
  149. package/dist/index.js.map +1 -1
  150. package/dist/job_posting_service_latest-B5tqLSgo.d.cts +4247 -0
  151. package/dist/job_posting_service_latest-B5tqLSgo.d.ts +4247 -0
  152. package/dist/{job_posting_service_latest-Dn5s8beY.d.cts → job_posting_service_latest-CKITrYyz.d.cts} +230 -230
  153. package/dist/{job_posting_service_latest-Dn5s8beY.d.ts → job_posting_service_latest-CKITrYyz.d.ts} +230 -230
  154. package/dist/job_posting_service_sanity-CeX9tlpb.d.ts +8093 -0
  155. package/dist/job_posting_service_sanity-D5Znr6Ba.d.cts +8093 -0
  156. package/dist/lib/google.cjs.map +1 -1
  157. package/dist/lib/google.js.map +1 -1
  158. package/dist/lib/locations.cjs.map +1 -1
  159. package/dist/lib/locations.d.cts +2 -2
  160. package/dist/lib/locations.d.ts +2 -2
  161. package/dist/lib/locations.js.map +1 -1
  162. package/dist/lib/mappings.cjs.map +1 -1
  163. package/dist/lib/mappings.d.cts +3 -3
  164. package/dist/lib/mappings.d.ts +3 -3
  165. package/dist/lib/mappings.js.map +1 -1
  166. package/dist/lib/salaryRange.cjs.map +1 -1
  167. package/dist/lib/salaryRange.d.cts +1 -1
  168. package/dist/lib/salaryRange.d.ts +1 -1
  169. package/dist/lib/salaryRange.js.map +1 -1
  170. package/dist/lib/utils.cjs.map +1 -1
  171. package/dist/lib/utils.js.map +1 -1
  172. package/dist/services/displayText.cjs.map +1 -1
  173. package/dist/services/displayText.d.cts +3 -3
  174. package/dist/services/displayText.d.ts +3 -3
  175. package/dist/services/displayText.js.map +1 -1
  176. package/dist/shared_pickle_output_latest-Bwfg5B4p.d.cts +350 -0
  177. package/dist/shared_pickle_output_latest-Bwfg5B4p.d.ts +350 -0
  178. package/dist/styles/globals.css +371 -6
  179. package/dist/styles/globals.css.map +1 -1
  180. package/dist/types/data/company_service_latest.cjs.map +1 -1
  181. package/dist/types/data/company_service_latest.d.cts +1 -1
  182. package/dist/types/data/company_service_latest.d.ts +1 -1
  183. package/dist/types/data/company_service_latest.js.map +1 -1
  184. package/dist/types/data/job_posting_service_latest.cjs +3 -1
  185. package/dist/types/data/job_posting_service_latest.cjs.map +1 -1
  186. package/dist/types/data/job_posting_service_latest.d.cts +1 -1
  187. package/dist/types/data/job_posting_service_latest.d.ts +1 -1
  188. package/dist/types/data/job_posting_service_latest.js +3 -1
  189. package/dist/types/data/job_posting_service_latest.js.map +1 -1
  190. package/dist/types/data/shared_pickle_output_latest.cjs.map +1 -1
  191. package/dist/types/data/shared_pickle_output_latest.d.cts +1 -1
  192. package/dist/types/data/shared_pickle_output_latest.d.ts +1 -1
  193. package/dist/types/data/shared_pickle_output_latest.js.map +1 -1
  194. package/dist/types/index.cjs +505 -0
  195. package/dist/types/index.cjs.map +1 -0
  196. package/dist/types/index.d.cts +10 -0
  197. package/dist/types/index.d.ts +10 -0
  198. package/dist/types/index.js +479 -0
  199. package/dist/types/index.js.map +1 -0
  200. package/dist/types/latest/company_service_latest.cjs +251 -0
  201. package/dist/types/latest/company_service_latest.cjs.map +1 -0
  202. package/dist/types/latest/company_service_latest.d.cts +2 -0
  203. package/dist/types/latest/company_service_latest.d.ts +2 -0
  204. package/dist/types/latest/company_service_latest.js +210 -0
  205. package/dist/types/latest/company_service_latest.js.map +1 -0
  206. package/dist/types/latest/custom/company_service_sanity.cjs +325 -0
  207. package/dist/types/latest/custom/company_service_sanity.cjs.map +1 -0
  208. package/dist/types/latest/custom/company_service_sanity.d.cts +4 -0
  209. package/dist/types/latest/custom/company_service_sanity.d.ts +4 -0
  210. package/dist/types/latest/custom/company_service_sanity.js +288 -0
  211. package/dist/types/latest/custom/company_service_sanity.js.map +1 -0
  212. package/dist/types/latest/custom/custom_sanity_models.cjs +43 -0
  213. package/dist/types/latest/custom/custom_sanity_models.cjs.map +1 -0
  214. package/dist/types/latest/custom/custom_sanity_models.d.cts +30 -0
  215. package/dist/types/latest/custom/custom_sanity_models.d.ts +30 -0
  216. package/dist/types/latest/custom/custom_sanity_models.js +17 -0
  217. package/dist/types/latest/custom/custom_sanity_models.js.map +1 -0
  218. package/dist/types/latest/custom/job_posting_service_sanity.cjs +376 -0
  219. package/dist/types/latest/custom/job_posting_service_sanity.cjs.map +1 -0
  220. package/dist/types/latest/custom/job_posting_service_sanity.d.cts +5 -0
  221. package/dist/types/latest/custom/job_posting_service_sanity.d.ts +5 -0
  222. package/dist/types/latest/custom/job_posting_service_sanity.js +331 -0
  223. package/dist/types/latest/custom/job_posting_service_sanity.js.map +1 -0
  224. package/dist/types/latest/job_posting_service_latest.cjs +293 -0
  225. package/dist/types/latest/job_posting_service_latest.cjs.map +1 -0
  226. package/dist/types/latest/job_posting_service_latest.d.cts +2 -0
  227. package/dist/types/latest/job_posting_service_latest.d.ts +2 -0
  228. package/dist/types/latest/job_posting_service_latest.js +257 -0
  229. package/dist/types/latest/job_posting_service_latest.js.map +1 -0
  230. package/dist/types/latest/shared_pickle_output_latest.cjs +109 -0
  231. package/dist/types/latest/shared_pickle_output_latest.cjs.map +1 -0
  232. package/dist/types/latest/shared_pickle_output_latest.d.cts +2 -0
  233. package/dist/types/latest/shared_pickle_output_latest.d.ts +2 -0
  234. package/dist/types/latest/shared_pickle_output_latest.js +75 -0
  235. package/dist/types/latest/shared_pickle_output_latest.js.map +1 -0
  236. package/package.json +28 -6
  237. package/dist/{company_service_latest-DelYl1hO.d.cts → company_service_latest-8IMr2hMZ.d.cts} +244 -244
  238. package/dist/{company_service_latest-DelYl1hO.d.ts → company_service_latest-8IMr2hMZ.d.ts} +244 -244
  239. package/dist/{shared_pickle_output_latest-DbAgINuf.d.cts → shared_pickle_output_latest-Cwf2EMdH.d.cts} +17 -17
  240. package/dist/{shared_pickle_output_latest-DbAgINuf.d.ts → shared_pickle_output_latest-Cwf2EMdH.d.ts} +17 -17
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ui/Select.tsx","../../../src/lib/utils.ts","../../../src/components/ui/ErrorMessage.tsx","../../../src/components/primitives/tooltip.tsx","../../../src/components/ui/Label.tsx","../../../src/components/ui/Chip.tsx","../../../src/components/primitives/separator.tsx"],"sourcesContent":["'use client'\n\nimport * as SelectPrimitive from '@radix-ui/react-select'\nimport { CheckIcon, ChevronDownIcon, X } from 'lucide-react'\nimport {\n type ComponentPropsWithoutRef,\n forwardRef,\n type KeyboardEvent,\n useEffect,\n useRef,\n useState,\n} from 'react'\n\nimport ErrorMessage from '@/components/ui/ErrorMessage'\nimport Label from '@/components/ui/Label'\nimport Chip from '@/components/ui/Chip'\nimport { Separator } from '@/components/primitives/separator'\nimport { cn } from '@/lib/utils'\n\ninterface Props extends Omit<ComponentPropsWithoutRef<'select'>, 'value' | 'onChange'> {\n label?: string\n value?: string | string[]\n options?: { id: string | number; value: string; title: string }[]\n placeholder?: string\n multiselect?: boolean\n description?: string\n error?: string\n classNames?: { label?: string; trigger?: string }\n onChange?: (value: string | string[]) => void\n}\n\nconst Select = forwardRef<HTMLButtonElement, Props>(\n (\n { label, options, placeholder, multiselect, description, classNames, error, id, ...props },\n ref\n ) => {\n const { value, defaultValue, dir, className, onChange, ...rest } = props\n const [selected, setSelected] = useState<string[]>([])\n const [open, setOpen] = useState(false)\n const containerRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n if (!value) return setSelected([])\n setSelected(Array.isArray(value) ? value : [value])\n }, [value])\n\n const toggleOpen = () => setOpen((prev) => !prev)\n const closeOnEscape = (event: KeyboardEvent) => event.key === 'Escape' && setOpen(false)\n const setValueOnEnter = (event: KeyboardEvent, value: string) =>\n event.key === 'Enter' && handleChange(value)\n\n const chipLabels = selected\n ?.map((s) => options?.find(({ value }) => value === s))\n .filter(Boolean)\n\n function handleLabels() {\n if (multiselect) {\n return selected.map((o) => options?.find((option) => option.value === o)?.title).join(', ')\n }\n return options?.find((option) => option.value === selected.join())?.title\n }\n\n function handleOnOpenChange(isOpen: boolean) {\n if (!multiselect || isOpen) setOpen(isOpen)\n }\n\n function handleChange(newValue: string) {\n let newSelected: string[] = []\n setSelected((prev) => {\n newSelected = prev.includes(newValue)\n ? prev.filter((item) => item !== newValue)\n : [...prev, newValue]\n return multiselect ? newSelected : [newValue]\n })\n onChange?.(multiselect ? newSelected : newValue)\n }\n\n return (\n <div\n className={cn('flex w-full flex-col gap-1', className)}\n ref={containerRef}\n data-testid={`${(label ?? id)?.toLowerCase()}-select-element`}\n >\n <Label\n text={label}\n htmlFor={props.name}\n required={props.required}\n description={description}\n className={classNames?.label}\n />\n\n <SelectPrimitive.Root\n open={open}\n value={selected.join(',')}\n onOpenChange={handleOnOpenChange}\n onValueChange={multiselect ? undefined : handleChange}\n defaultValue={typeof defaultValue === 'string' ? defaultValue : undefined}\n dir={dir === 'rtl' ? 'rtl' : 'ltr'}\n {...rest}\n >\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n 'group flex h-11 w-full flex-row items-center justify-between gap-3 rounded-lg border px-4 py-3 text-sm font-normal focus:outline-purple-100 disabled:bg-grey-5 data-[placeholder]:text-grey-50 data-[placeholder]:disabled:text-grey-40',\n classNames?.trigger\n )}\n >\n <span className=\"truncate\">\n <SelectPrimitive.Value\n placeholder={placeholder ?? 'Select an option'}\n aria-label={handleLabels()}\n >\n {handleLabels()}\n </SelectPrimitive.Value>\n </span>\n\n <ChevronDownIcon\n className=\"transform text-black group-data-[state=open]:rotate-180\"\n size=\"16\"\n />\n </SelectPrimitive.Trigger>\n\n <SelectPrimitive.Portal container={containerRef.current}>\n <SelectPrimitive.Content\n hideWhenDetached\n className=\"z-10 max-h-[var(--radix-select-content-available-height)] w-[var(--radix-select-trigger-width)] overflow-hidden rounded-md bg-white py-2 shadow-lg\"\n position=\"popper\"\n sideOffset={4}\n onPointerDownOutside={toggleOpen}\n onKeyDown={closeOnEscape}\n >\n <SelectPrimitive.Viewport>\n {multiselect && !!chipLabels?.length && (\n <SelectPrimitive.Group\n className=\"mb-2 flex flex-row flex-wrap gap-1 px-2\"\n data-testid=\"selected-labels\"\n >\n {chipLabels?.map(\n (chip) =>\n chip && (\n <Chip key={chip.title} size=\"small\" variant=\"primary\">\n <span>{chip.title}</span>\n <X\n size={18}\n data-testid={`chip-remove-${chip.value}`}\n className=\"cursor-pointer\"\n onClick={() => handleChange(chip.value)}\n />\n </Chip>\n )\n )}\n </SelectPrimitive.Group>\n )}\n <Separator />\n {options?.map(({ id, title, value }) => (\n <SelectPrimitive.Item\n key={id}\n value={value}\n className=\"group relative cursor-pointer px-4 py-2 text-left text-sm hover:bg-purple-50 focus:bg-purple-50 focus:outline-none data-[state=checked]:bg-purple-50 data-[state=checked]:pr-10 data-[state=checked]:text-purple-100\"\n data-state={selected.includes(value) ? 'checked' : 'unchecked'}\n onKeyDown={(e) => setValueOnEnter(e, value)}\n onClick={() => handleChange(value)}\n >\n <SelectPrimitive.ItemText>{title}</SelectPrimitive.ItemText>\n <CheckIcon\n className=\"absolute inset-y-0 right-3 my-auto hidden w-6 text-purple-100 group-data-[state=checked]:block\"\n size={16}\n />\n </SelectPrimitive.Item>\n ))}\n </SelectPrimitive.Viewport>\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n </SelectPrimitive.Root>\n\n <ErrorMessage message={error} />\n </div>\n )\n }\n)\n\nSelect.displayName = 'Select'\n\nexport default Select\n","import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import { type ComponentPropsWithoutRef } from 'react'\n\nimport { cn } from '@/lib/utils'\n\ninterface Props extends ComponentPropsWithoutRef<'p'> {\n message?: string\n}\n\nfunction ErrorMessage({ message, className, ...props }: Readonly<Props>) {\n if (!message) return null\n\n return (\n <p className={cn('px-1 text-xs text-red-600', className)} {...props}>\n {message}\n </p>\n )\n}\n\nexport default ErrorMessage\n","'use client'\n\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\nimport * as React from 'react'\n\nimport { cn } from '@/lib/utils'\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 overflow-hidden rounded-md border border-neutral-200 bg-white px-3 py-1.5 text-sm text-neutral-950 shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50',\n className\n )}\n {...props}\n />\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger }\n","import { type ComponentPropsWithoutRef } from 'react'\n\nimport { cn } from '@/lib/utils'\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from '@/components/primitives/tooltip'\nimport { InfoIcon } from 'lucide-react'\n\ninterface Props extends ComponentPropsWithoutRef<'label'> {\n text?: string\n required?: boolean\n description?: string\n}\n\nfunction Label({ text, required, description, className, ...props }: Readonly<Props>) {\n if (!text) return null\n\n return (\n <div className=\"flex w-full flex-row gap-1\">\n <label\n className={cn(\n 'text-xs text-grey-80 peer-disabled:cursor-not-allowed peer-disabled:opacity-70',\n className\n )}\n {...props}\n >\n {text}\n {required && <span className=\"text-red-600\">&nbsp;*</span>}\n </label>\n\n {!!description && (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <InfoIcon className=\"h-4 w-4\" />\n </TooltipTrigger>\n <TooltipContent className=\"max-w-48\">{description}</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n )}\n </div>\n )\n}\n\nexport default Label\n","import { cva, type VariantProps } from 'cva'\nimport React from 'react'\nimport { twMerge } from 'tailwind-merge'\n\ninterface ChipProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof chipVariants> {}\n\nconst Chip = ({ className, variant, size, ...props }: ChipProps) => (\n <div className={twMerge(chipVariants({ variant, size, className }))} {...props} />\n)\n\nconst chipVariants = cva(['flex', 'items-center', 'rounded-3xl', 'border', 'w-fit'], {\n variants: {\n variant: {\n neutral: ['text-grey-80', 'border-grey-10'],\n primary: ['text-purple-100', 'border-purple-20'],\n danger: ['text-pumpkin-100', 'border-pumpkin-20'],\n onboarding: ['text-green-100', 'bg-green-10', 'cursor-pointer'],\n onboardingSelected: ['text-white', 'bg-green-90', 'cursor-pointer'],\n },\n size: {\n small: ['text-sm', 'leading-5', 'px-2', 'py-1', 'gap-1.5'],\n medium: ['text-base', 'leading-6', 'px-3', 'py-2', 'gap-2'],\n },\n },\n defaultVariants: {\n variant: 'neutral',\n size: 'medium',\n },\n})\n\nexport default Chip\n","'use client'\r\n\r\nimport * as SeparatorPrimitive from '@radix-ui/react-separator'\r\nimport * as React from 'react'\r\n\r\nimport { cn } from '@/lib/utils'\r\n\r\nconst Separator = React.forwardRef<\r\n React.ElementRef<typeof SeparatorPrimitive.Root>,\r\n React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>\r\n>(({ className, orientation = 'horizontal', decorative = true, ...props }, ref) => (\r\n <SeparatorPrimitive.Root\r\n ref={ref}\r\n decorative={decorative}\r\n orientation={orientation}\r\n className={cn(\r\n 'shrink-0 bg-grey-10',\r\n orientation === 'horizontal' ? 'h-[1px] w-full' : 'h-full w-[1px]',\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nSeparator.displayName = SeparatorPrimitive.Root.displayName\r\n\r\nexport { Separator }\r\n"],"mappings":"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","names":["forwardRef","jsx","jsx","twMerge","jsx","React","jsx","jsx","jsxs","forwardRef","value","id"]}
1
+ {"version":3,"sources":["../../../src/components/ui/Select.tsx","../../../src/components/primitives/separator.tsx","../../../src/lib/utils.ts","../../../src/components/ui/Chip.tsx","../../../src/components/ui/ErrorMessage.tsx","../../../src/components/ui/Label.tsx","../../../src/components/primitives/tooltip.tsx"],"sourcesContent":["'use client'\n\nimport * as SelectPrimitive from '@radix-ui/react-select'\nimport { CheckIcon, ChevronDownIcon, X } from 'lucide-react'\nimport {\n type ComponentPropsWithoutRef,\n forwardRef,\n type KeyboardEvent,\n useEffect,\n useRef,\n useState,\n} from 'react'\n\nimport { Separator } from '@/components/primitives/separator'\nimport Chip from '@/components/ui/Chip'\nimport ErrorMessage from '@/components/ui/ErrorMessage'\nimport Label from '@/components/ui/Label'\nimport { cn } from '@/lib/utils'\n\ninterface Props extends Omit<ComponentPropsWithoutRef<'select'>, 'value' | 'onChange'> {\n label?: string\n value?: string | string[]\n options?: { id: string | number; value: string; title: string }[]\n placeholder?: string\n multiselect?: boolean\n description?: string\n error?: string\n classNames?: { label?: string; trigger?: string }\n onChange?: (value: string | string[]) => void\n}\n\nconst Select = forwardRef<HTMLButtonElement, Props>(\n (\n { label, options, placeholder, multiselect, description, classNames, error, id, ...props },\n ref\n ) => {\n const { value, defaultValue, dir, className, onChange, ...rest } = props\n const [selected, setSelected] = useState<string[]>([])\n const [open, setOpen] = useState(false)\n const containerRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n if (!value) return setSelected([])\n setSelected(Array.isArray(value) ? value : [value])\n }, [value])\n\n const toggleOpen = () => setOpen((prev) => !prev)\n const closeOnEscape = (event: KeyboardEvent) => event.key === 'Escape' && setOpen(false)\n const handleOnOpenChange = (isOpen: boolean) => (!multiselect || isOpen) && setOpen(isOpen)\n const setValueOnEnter = (event: KeyboardEvent, value: string) =>\n event.key === 'Enter' && handleChange(value)\n const getLabel = () =>\n selected.map((o) => options?.find((option) => option.value === o)?.title).join(', ')\n\n const chipLabels = selected\n ?.map((s) => options?.find(({ value }) => value === s))\n .filter(Boolean)\n\n function handleChange(newValue: string) {\n if (newValue === '' && !multiselect) return // Prevent clearing single select\n let newSelected: string[] = []\n setSelected((prev) => {\n newSelected = prev.includes(newValue)\n ? prev.filter((item) => item !== newValue)\n : [...prev, newValue]\n return multiselect ? newSelected : [newValue]\n })\n onChange?.(multiselect ? newSelected : newValue)\n }\n\n return (\n <div\n className={cn('flex w-full flex-col gap-1', className)}\n ref={containerRef}\n data-testid={`${(label ?? id)?.toLowerCase()}-select-element`}\n >\n <Label\n text={label}\n htmlFor={props.name}\n required={props.required}\n description={description}\n className={classNames?.label}\n />\n\n <SelectPrimitive.Root\n open={open}\n value={selected.join(',')}\n onOpenChange={handleOnOpenChange}\n onValueChange={multiselect ? undefined : handleChange}\n defaultValue={typeof defaultValue === 'string' ? defaultValue : undefined}\n dir={dir === 'rtl' ? 'rtl' : 'ltr'}\n {...rest}\n >\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n 'group flex h-11 w-full flex-row items-center justify-between gap-3 rounded-lg border px-4 py-3 text-sm font-normal focus:outline-purple-100 disabled:bg-grey-5 data-[placeholder]:text-grey-50 data-[placeholder]:disabled:text-grey-40',\n classNames?.trigger\n )}\n >\n <span className=\"truncate\">\n <SelectPrimitive.Value\n placeholder={placeholder ?? 'Select an option'}\n aria-label={getLabel()}\n >\n {getLabel()}\n </SelectPrimitive.Value>\n </span>\n\n <ChevronDownIcon\n className=\"transform text-black group-data-[state=open]:rotate-180\"\n size=\"16\"\n />\n </SelectPrimitive.Trigger>\n\n <SelectPrimitive.Portal container={containerRef.current}>\n <SelectPrimitive.Content\n hideWhenDetached\n className=\"z-10 max-h-[var(--radix-select-content-available-height)] w-[var(--radix-select-trigger-width)] overflow-hidden rounded-md bg-white py-2 shadow-lg\"\n position=\"popper\"\n sideOffset={4}\n onPointerDownOutside={toggleOpen}\n onKeyDown={closeOnEscape}\n >\n <SelectPrimitive.Viewport>\n {multiselect && !!chipLabels?.length && (\n <SelectPrimitive.Group\n className=\"mb-2 flex flex-row flex-wrap gap-1 px-2\"\n data-testid=\"selected-labels\"\n >\n {chipLabels?.map(\n (chip) =>\n chip && (\n <Chip key={chip.title} size=\"small\" variant=\"primary\">\n <span>{chip.title}</span>\n <X\n size={18}\n data-testid={`chip-remove-${chip.value}`}\n className=\"cursor-pointer\"\n onClick={() => handleChange(chip.value)}\n />\n </Chip>\n )\n )}\n </SelectPrimitive.Group>\n )}\n <Separator />\n {options?.map(({ id, title, value }) => (\n <SelectPrimitive.Item\n key={id}\n value={value}\n className=\"group relative cursor-pointer px-4 py-2 text-left text-sm hover:bg-purple-50 focus:bg-purple-50 focus:outline-none data-[state=checked]:bg-purple-50 data-[state=checked]:pr-10 data-[state=checked]:text-purple-100\"\n data-state={selected.includes(value) ? 'checked' : 'unchecked'}\n onKeyDown={(e) => setValueOnEnter(e, value)}\n onClick={() => handleChange(value)}\n >\n <SelectPrimitive.ItemText>{title}</SelectPrimitive.ItemText>\n <CheckIcon\n className=\"absolute inset-y-0 right-3 my-auto hidden w-6 text-purple-100 group-data-[state=checked]:block\"\n size={16}\n />\n </SelectPrimitive.Item>\n ))}\n </SelectPrimitive.Viewport>\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n </SelectPrimitive.Root>\n\n <ErrorMessage message={error} />\n </div>\n )\n }\n)\n\nSelect.displayName = 'Select'\n\nexport default Select\n","'use client'\r\n\r\nimport * as SeparatorPrimitive from '@radix-ui/react-separator'\r\nimport * as React from 'react'\r\n\r\nimport { cn } from '@/lib/utils'\r\n\r\nconst Separator = React.forwardRef<\r\n React.ElementRef<typeof SeparatorPrimitive.Root>,\r\n React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>\r\n>(({ className, orientation = 'horizontal', decorative = true, ...props }, ref) => (\r\n <SeparatorPrimitive.Root\r\n ref={ref}\r\n decorative={decorative}\r\n orientation={orientation}\r\n className={cn(\r\n 'shrink-0 bg-grey-10',\r\n orientation === 'horizontal' ? 'h-[1px] w-full' : 'h-full w-[1px]',\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nSeparator.displayName = SeparatorPrimitive.Root.displayName\r\n\r\nexport { Separator }\r\n","import { type ClassValue, clsx } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import { cva, type VariantProps } from 'cva'\nimport React from 'react'\nimport { twMerge } from 'tailwind-merge'\n\ninterface ChipProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof chipVariants> {}\n\nconst Chip = ({ className, variant, size, ...props }: ChipProps) => (\n <div className={twMerge(chipVariants({ variant, size, className }))} {...props} />\n)\n\nconst chipVariants = cva(['flex', 'items-center', 'rounded-3xl', 'border', 'w-fit'], {\n variants: {\n variant: {\n neutral: ['text-grey-80', 'border-grey-10'],\n primary: ['text-purple-100', 'border-purple-20'],\n danger: ['text-pumpkin-100', 'border-pumpkin-20'],\n onboarding: ['text-green-100', 'bg-green-10', 'cursor-pointer'],\n onboardingSelected: ['text-white', 'bg-green-90', 'cursor-pointer'],\n },\n size: {\n small: ['text-sm', 'leading-5', 'px-2', 'py-1', 'gap-1.5'],\n medium: ['text-base', 'leading-6', 'px-3', 'py-2', 'gap-2'],\n },\n },\n defaultVariants: {\n variant: 'neutral',\n size: 'medium',\n },\n})\n\nexport default Chip\n","import { type ComponentPropsWithoutRef } from 'react'\n\nimport { cn } from '@/lib/utils'\n\ninterface Props extends ComponentPropsWithoutRef<'p'> {\n message?: string\n}\n\nfunction ErrorMessage({ message, className, ...props }: Readonly<Props>) {\n if (!message) return null\n\n return (\n <p className={cn('px-1 text-xs text-red-600', className)} {...props}>\n {message}\n </p>\n )\n}\n\nexport default ErrorMessage\n","import { InfoIcon } from 'lucide-react'\nimport { type ComponentPropsWithoutRef } from 'react'\n\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from '@/components/primitives/tooltip'\nimport { cn } from '@/lib/utils'\n\ninterface Props extends ComponentPropsWithoutRef<'label'> {\n text?: string\n required?: boolean\n description?: string\n}\n\nfunction Label({ text, required, description, className, ...props }: Readonly<Props>) {\n if (!text) return null\n\n return (\n <div className=\"flex w-full flex-row gap-1\">\n <label\n className={cn(\n 'text-xs text-grey-80 peer-disabled:cursor-not-allowed peer-disabled:opacity-70',\n className\n )}\n {...props}\n >\n {text}\n {required && <span className=\"text-red-600\">&nbsp;*</span>}\n </label>\n\n {!!description && (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <InfoIcon className=\"h-4 w-4\" />\n </TooltipTrigger>\n <TooltipContent className=\"max-w-48\">{description}</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n )}\n </div>\n )\n}\n\nexport default Label\n","'use client'\n\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\nimport * as React from 'react'\n\nimport { cn } from '@/lib/utils'\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 overflow-hidden rounded-md border border-neutral-200 bg-white px-3 py-1.5 text-sm text-neutral-950 shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50',\n className\n )}\n {...props}\n />\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger }\n"],"mappings":"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","names":["forwardRef","twMerge","jsx","jsx","React","jsx","jsx","jsx","jsxs","forwardRef","value","id"]}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ "use client";
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from))
16
+ if (!__hasOwnProp.call(to, key) && key !== except)
17
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
+ }
19
+ return to;
20
+ };
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+
31
+ // src/components/ui/StepTabs.tsx
32
+ var StepTabs_exports = {};
33
+ __export(StepTabs_exports, {
34
+ StepTabs: () => StepTabs
35
+ });
36
+ module.exports = __toCommonJS(StepTabs_exports);
37
+ var Tabs = __toESM(require("@radix-ui/react-tabs"), 1);
38
+
39
+ // src/lib/utils.ts
40
+ var import_clsx = require("clsx");
41
+ var import_tailwind_merge = require("tailwind-merge");
42
+ function cn(...inputs) {
43
+ return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
44
+ }
45
+
46
+ // src/components/ui/StepTabs.tsx
47
+ var import_jsx_runtime = require("react/jsx-runtime");
48
+ function StepTabs({
49
+ list,
50
+ currentStep,
51
+ setCurrentStep,
52
+ children,
53
+ className,
54
+ defaultValue,
55
+ ...props
56
+ }) {
57
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
58
+ Tabs.Root,
59
+ {
60
+ value: currentStep,
61
+ onValueChange: setCurrentStep,
62
+ defaultValue: defaultValue ?? "0",
63
+ className: cn("flex flex-col rounded-lg border shadow-sm", className),
64
+ ...props,
65
+ children: [
66
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Tabs.List, { className: "flex shrink-0 border-b border-grey-20", children: children.length > 1 && list.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
67
+ Tabs.Trigger,
68
+ {
69
+ className: "flex h-[45px] flex-1 cursor-default select-none items-center justify-center bg-white px-5 text-[15px] leading-none text-gray-800 outline-none first:rounded-tl-md last:rounded-tr-md hover:text-purple-100 data-[state=active]:text-purple-100 data-[state=active]:shadow-[inset_0_-1px_0_0,0_1px_0_0] data-[state=active]:shadow-current data-[state=active]:focus:relative data-[state=active]:focus:shadow-[0_0_0_2px] data-[state=active]:focus:shadow-black",
70
+ value: index.toString(),
71
+ children: item
72
+ },
73
+ `${item}-${index}`
74
+ )) }),
75
+ children.map((child, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
76
+ Tabs.Content,
77
+ {
78
+ className: "grow rounded-b-md bg-white p-5 outline-none",
79
+ value: index.toString(),
80
+ children: child
81
+ },
82
+ index
83
+ ))
84
+ ]
85
+ }
86
+ );
87
+ }
88
+ // Annotate the CommonJS export names for ESM import in node:
89
+ 0 && (module.exports = {
90
+ StepTabs
91
+ });
92
+ //# sourceMappingURL=StepTabs.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/ui/StepTabs.tsx","../../../src/lib/utils.ts"],"sourcesContent":["'use client'\n\nimport * as Tabs from '@radix-ui/react-tabs'\nimport { type ReactNode } from 'react'\n\nimport { cn } from '@/lib/utils'\n\ntype StepTabsProps = Tabs.TabsProps & {\n list: string[]\n currentStep?: string\n setCurrentStep?: (step: string) => void\n children: ReactNode[]\n}\n\nexport function StepTabs({\n list,\n currentStep,\n setCurrentStep,\n children,\n className,\n defaultValue,\n ...props\n}: StepTabsProps) {\n return (\n <Tabs.Root\n value={currentStep}\n onValueChange={setCurrentStep}\n defaultValue={defaultValue ?? '0'}\n className={cn('flex flex-col rounded-lg border shadow-sm', className)}\n {...props}\n >\n <Tabs.List className=\"flex shrink-0 border-b border-grey-20\">\n {children.length > 1 &&\n list.map((item, index) => (\n <Tabs.Trigger\n key={`${item}-${index}`}\n className=\"flex h-[45px] flex-1 cursor-default select-none items-center justify-center bg-white px-5 text-[15px] leading-none text-gray-800 outline-none first:rounded-tl-md last:rounded-tr-md hover:text-purple-100 data-[state=active]:text-purple-100 data-[state=active]:shadow-[inset_0_-1px_0_0,0_1px_0_0] data-[state=active]:shadow-current data-[state=active]:focus:relative data-[state=active]:focus:shadow-[0_0_0_2px] data-[state=active]:focus:shadow-black\"\n value={index.toString()}\n >\n {item}\n </Tabs.Trigger>\n ))}\n </Tabs.List>\n\n {children.map((child, index) => (\n <Tabs.Content\n key={index}\n className=\"grow rounded-b-md bg-white p-5 outline-none\"\n value={index.toString()}\n >\n {child}\n </Tabs.Content>\n ))}\n </Tabs.Root>\n )\n}\n","import { type ClassValue, clsx } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,WAAsB;;;ACFtB,kBAAsC;AACtC,4BAAwB;AAEjB,SAAS,MAAM,QAAsB;AAC1C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;;;ADmBI;AAVG,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAkB;AAChB,SACE;AAAA,IAAM;AAAA,IAAL;AAAA,MACC,OAAO;AAAA,MACP,eAAe;AAAA,MACf,cAAc,gBAAgB;AAAA,MAC9B,WAAW,GAAG,6CAA6C,SAAS;AAAA,MACnE,GAAG;AAAA,MAEJ;AAAA,oDAAM,WAAL,EAAU,WAAU,yCAClB,mBAAS,SAAS,KACjB,KAAK,IAAI,CAAC,MAAM,UACd;AAAA,UAAM;AAAA,UAAL;AAAA,YAEC,WAAU;AAAA,YACV,OAAO,MAAM,SAAS;AAAA,YAErB;AAAA;AAAA,UAJI,GAAG,IAAI,IAAI,KAAK;AAAA,QAKvB,CACD,GACL;AAAA,QAEC,SAAS,IAAI,CAAC,OAAO,UACpB;AAAA,UAAM;AAAA,UAAL;AAAA,YAEC,WAAU;AAAA,YACV,OAAO,MAAM,SAAS;AAAA,YAErB;AAAA;AAAA,UAJI;AAAA,QAKP,CACD;AAAA;AAAA;AAAA,EACH;AAEJ;","names":[]}
@@ -0,0 +1,13 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as Tabs from '@radix-ui/react-tabs';
3
+ import { ReactNode } from 'react';
4
+
5
+ type StepTabsProps = Tabs.TabsProps & {
6
+ list: string[];
7
+ currentStep?: string;
8
+ setCurrentStep?: (step: string) => void;
9
+ children: ReactNode[];
10
+ };
11
+ declare function StepTabs({ list, currentStep, setCurrentStep, children, className, defaultValue, ...props }: StepTabsProps): react_jsx_runtime.JSX.Element;
12
+
13
+ export { StepTabs };
@@ -0,0 +1,13 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as Tabs from '@radix-ui/react-tabs';
3
+ import { ReactNode } from 'react';
4
+
5
+ type StepTabsProps = Tabs.TabsProps & {
6
+ list: string[];
7
+ currentStep?: string;
8
+ setCurrentStep?: (step: string) => void;
9
+ children: ReactNode[];
10
+ };
11
+ declare function StepTabs({ list, currentStep, setCurrentStep, children, className, defaultValue, ...props }: StepTabsProps): react_jsx_runtime.JSX.Element;
12
+
13
+ export { StepTabs };
@@ -0,0 +1,58 @@
1
+ "use client";
2
+
3
+ // src/components/ui/StepTabs.tsx
4
+ import * as Tabs from "@radix-ui/react-tabs";
5
+
6
+ // src/lib/utils.ts
7
+ import { clsx } from "clsx";
8
+ import { twMerge } from "tailwind-merge";
9
+ function cn(...inputs) {
10
+ return twMerge(clsx(inputs));
11
+ }
12
+
13
+ // src/components/ui/StepTabs.tsx
14
+ import { jsx, jsxs } from "react/jsx-runtime";
15
+ function StepTabs({
16
+ list,
17
+ currentStep,
18
+ setCurrentStep,
19
+ children,
20
+ className,
21
+ defaultValue,
22
+ ...props
23
+ }) {
24
+ return /* @__PURE__ */ jsxs(
25
+ Tabs.Root,
26
+ {
27
+ value: currentStep,
28
+ onValueChange: setCurrentStep,
29
+ defaultValue: defaultValue ?? "0",
30
+ className: cn("flex flex-col rounded-lg border shadow-sm", className),
31
+ ...props,
32
+ children: [
33
+ /* @__PURE__ */ jsx(Tabs.List, { className: "flex shrink-0 border-b border-grey-20", children: children.length > 1 && list.map((item, index) => /* @__PURE__ */ jsx(
34
+ Tabs.Trigger,
35
+ {
36
+ className: "flex h-[45px] flex-1 cursor-default select-none items-center justify-center bg-white px-5 text-[15px] leading-none text-gray-800 outline-none first:rounded-tl-md last:rounded-tr-md hover:text-purple-100 data-[state=active]:text-purple-100 data-[state=active]:shadow-[inset_0_-1px_0_0,0_1px_0_0] data-[state=active]:shadow-current data-[state=active]:focus:relative data-[state=active]:focus:shadow-[0_0_0_2px] data-[state=active]:focus:shadow-black",
37
+ value: index.toString(),
38
+ children: item
39
+ },
40
+ `${item}-${index}`
41
+ )) }),
42
+ children.map((child, index) => /* @__PURE__ */ jsx(
43
+ Tabs.Content,
44
+ {
45
+ className: "grow rounded-b-md bg-white p-5 outline-none",
46
+ value: index.toString(),
47
+ children: child
48
+ },
49
+ index
50
+ ))
51
+ ]
52
+ }
53
+ );
54
+ }
55
+ export {
56
+ StepTabs
57
+ };
58
+ //# sourceMappingURL=StepTabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/ui/StepTabs.tsx","../../../src/lib/utils.ts"],"sourcesContent":["'use client'\n\nimport * as Tabs from '@radix-ui/react-tabs'\nimport { type ReactNode } from 'react'\n\nimport { cn } from '@/lib/utils'\n\ntype StepTabsProps = Tabs.TabsProps & {\n list: string[]\n currentStep?: string\n setCurrentStep?: (step: string) => void\n children: ReactNode[]\n}\n\nexport function StepTabs({\n list,\n currentStep,\n setCurrentStep,\n children,\n className,\n defaultValue,\n ...props\n}: StepTabsProps) {\n return (\n <Tabs.Root\n value={currentStep}\n onValueChange={setCurrentStep}\n defaultValue={defaultValue ?? '0'}\n className={cn('flex flex-col rounded-lg border shadow-sm', className)}\n {...props}\n >\n <Tabs.List className=\"flex shrink-0 border-b border-grey-20\">\n {children.length > 1 &&\n list.map((item, index) => (\n <Tabs.Trigger\n key={`${item}-${index}`}\n className=\"flex h-[45px] flex-1 cursor-default select-none items-center justify-center bg-white px-5 text-[15px] leading-none text-gray-800 outline-none first:rounded-tl-md last:rounded-tr-md hover:text-purple-100 data-[state=active]:text-purple-100 data-[state=active]:shadow-[inset_0_-1px_0_0,0_1px_0_0] data-[state=active]:shadow-current data-[state=active]:focus:relative data-[state=active]:focus:shadow-[0_0_0_2px] data-[state=active]:focus:shadow-black\"\n value={index.toString()}\n >\n {item}\n </Tabs.Trigger>\n ))}\n </Tabs.List>\n\n {children.map((child, index) => (\n <Tabs.Content\n key={index}\n className=\"grow rounded-b-md bg-white p-5 outline-none\"\n value={index.toString()}\n >\n {child}\n </Tabs.Content>\n ))}\n </Tabs.Root>\n )\n}\n","import { type ClassValue, clsx } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n"],"mappings":";;;AAEA,YAAY,UAAU;;;ACFtB,SAA0B,YAAY;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;ADmBI,SAUQ,KAVR;AAVG,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAkB;AAChB,SACE;AAAA,IAAM;AAAA,IAAL;AAAA,MACC,OAAO;AAAA,MACP,eAAe;AAAA,MACf,cAAc,gBAAgB;AAAA,MAC9B,WAAW,GAAG,6CAA6C,SAAS;AAAA,MACnE,GAAG;AAAA,MAEJ;AAAA,4BAAM,WAAL,EAAU,WAAU,yCAClB,mBAAS,SAAS,KACjB,KAAK,IAAI,CAAC,MAAM,UACd;AAAA,UAAM;AAAA,UAAL;AAAA,YAEC,WAAU;AAAA,YACV,OAAO,MAAM,SAAS;AAAA,YAErB;AAAA;AAAA,UAJI,GAAG,IAAI,IAAI,KAAK;AAAA,QAKvB,CACD,GACL;AAAA,QAEC,SAAS,IAAI,CAAC,OAAO,UACpB;AAAA,UAAM;AAAA,UAAL;AAAA,YAEC,WAAU;AAAA,YACV,OAAO,MAAM,SAAS;AAAA,YAErB;AAAA;AAAA,UAJI;AAAA,QAKP,CACD;AAAA;AAAA;AAAA,EACH;AAEJ;","names":[]}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/components/ui/buttonShadcn.tsx
31
+ var buttonShadcn_exports = {};
32
+ __export(buttonShadcn_exports, {
33
+ Button: () => Button,
34
+ buttonVariants: () => buttonVariants
35
+ });
36
+ module.exports = __toCommonJS(buttonShadcn_exports);
37
+ var React = __toESM(require("react"), 1);
38
+ var import_react_slot = require("@radix-ui/react-slot");
39
+ var import_class_variance_authority = require("class-variance-authority");
40
+
41
+ // src/lib/utils.ts
42
+ var import_clsx = require("clsx");
43
+ var import_tailwind_merge = require("tailwind-merge");
44
+ function cn(...inputs) {
45
+ return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
46
+ }
47
+
48
+ // src/components/ui/buttonShadcn.tsx
49
+ var import_jsx_runtime = require("react/jsx-runtime");
50
+ var buttonVariants = (0, import_class_variance_authority.cva)(
51
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-neutral-950 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 dark:focus-visible:ring-neutral-300",
52
+ {
53
+ variants: {
54
+ variant: {
55
+ default: "bg-neutral-900 text-neutral-50 shadow hover:bg-neutral-900/90 dark:bg-neutral-50 dark:text-neutral-900 dark:hover:bg-neutral-50/90",
56
+ destructive: "bg-red-500 text-neutral-50 shadow-sm hover:bg-red-500/90 dark:bg-red-900 dark:text-neutral-50 dark:hover:bg-red-900/90",
57
+ outline: "border border-neutral-200 bg-white shadow-sm hover:bg-neutral-100 hover:text-neutral-900 dark:border-neutral-800 dark:bg-neutral-950 dark:hover:bg-neutral-800 dark:hover:text-neutral-50",
58
+ secondary: "bg-neutral-100 text-neutral-900 shadow-sm hover:bg-neutral-100/80 dark:bg-neutral-800 dark:text-neutral-50 dark:hover:bg-neutral-800/80",
59
+ ghost: "hover:bg-neutral-100 hover:text-neutral-900 dark:hover:bg-neutral-800 dark:hover:text-neutral-50",
60
+ link: "text-neutral-900 underline-offset-4 hover:underline dark:text-neutral-50"
61
+ },
62
+ size: {
63
+ default: "h-9 px-4 py-2",
64
+ sm: "h-8 rounded-md px-3 text-xs",
65
+ lg: "h-10 rounded-md px-8",
66
+ icon: "h-9 w-9"
67
+ }
68
+ },
69
+ defaultVariants: {
70
+ variant: "default",
71
+ size: "default"
72
+ }
73
+ }
74
+ );
75
+ var Button = React.forwardRef(
76
+ ({ className, variant, size, asChild = false, ...props }, ref) => {
77
+ const Comp = asChild ? import_react_slot.Slot : "button";
78
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
79
+ Comp,
80
+ {
81
+ className: cn(buttonVariants({ variant, size, className })),
82
+ ref,
83
+ ...props
84
+ }
85
+ );
86
+ }
87
+ );
88
+ Button.displayName = "Button";
89
+ // Annotate the CommonJS export names for ESM import in node:
90
+ 0 && (module.exports = {
91
+ Button,
92
+ buttonVariants
93
+ });
94
+ //# sourceMappingURL=buttonShadcn.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/ui/buttonShadcn.tsx","../../../src/lib/utils.ts"],"sourcesContent":["import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-neutral-950 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 dark:focus-visible:ring-neutral-300\",\n {\n variants: {\n variant: {\n default:\n \"bg-neutral-900 text-neutral-50 shadow hover:bg-neutral-900/90 dark:bg-neutral-50 dark:text-neutral-900 dark:hover:bg-neutral-50/90\",\n destructive:\n \"bg-red-500 text-neutral-50 shadow-sm hover:bg-red-500/90 dark:bg-red-900 dark:text-neutral-50 dark:hover:bg-red-900/90\",\n outline:\n \"border border-neutral-200 bg-white shadow-sm hover:bg-neutral-100 hover:text-neutral-900 dark:border-neutral-800 dark:bg-neutral-950 dark:hover:bg-neutral-800 dark:hover:text-neutral-50\",\n secondary:\n \"bg-neutral-100 text-neutral-900 shadow-sm hover:bg-neutral-100/80 dark:bg-neutral-800 dark:text-neutral-50 dark:hover:bg-neutral-800/80\",\n ghost: \"hover:bg-neutral-100 hover:text-neutral-900 dark:hover:bg-neutral-800 dark:hover:text-neutral-50\",\n link: \"text-neutral-900 underline-offset-4 hover:underline dark:text-neutral-50\",\n },\n size: {\n default: \"h-9 px-4 py-2\",\n sm: \"h-8 rounded-md px-3 text-xs\",\n lg: \"h-10 rounded-md px-8\",\n icon: \"h-9 w-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\"\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n {...props}\n />\n )\n }\n)\nButton.displayName = \"Button\"\n\nexport { Button, buttonVariants }\n","import { type ClassValue, clsx } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAuB;AACvB,wBAAqB;AACrB,sCAAuC;;;ACFvC,kBAAsC;AACtC,4BAAwB;AAEjB,SAAS,MAAM,QAAsB;AAC1C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;;;ADyCM;AAxCN,IAAM,qBAAiB;AAAA,EACrB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SACE;AAAA,QACF,aACE;AAAA,QACF,SACE;AAAA,QACF,WACE;AAAA,QACF,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAAA,MACA,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IACR;AAAA,EACF;AACF;AAQA,IAAM,SAAe;AAAA,EACnB,CAAC,EAAE,WAAW,SAAS,MAAM,UAAU,OAAO,GAAG,MAAM,GAAG,QAAQ;AAChE,UAAM,OAAO,UAAU,yBAAO;AAC9B,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,GAAG,eAAe,EAAE,SAAS,MAAM,UAAU,CAAC,CAAC;AAAA,QAC1D;AAAA,QACC,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;AACA,OAAO,cAAc;","names":[]}
@@ -0,0 +1,14 @@
1
+ import * as cva_types from 'cva/types';
2
+ import * as React from 'react';
3
+ import { VariantProps } from 'class-variance-authority';
4
+
5
+ declare const buttonVariants: (props?: ({
6
+ variant?: "link" | "default" | "secondary" | "outline" | "destructive" | "ghost" | null | undefined;
7
+ size?: "default" | "icon" | "sm" | "lg" | null | undefined;
8
+ } & cva_types.ClassProp) | undefined) => string;
9
+ interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
10
+ asChild?: boolean;
11
+ }
12
+ declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
13
+
14
+ export { Button, type ButtonProps, buttonVariants };
@@ -0,0 +1,14 @@
1
+ import * as cva_types from 'cva/types';
2
+ import * as React from 'react';
3
+ import { VariantProps } from 'class-variance-authority';
4
+
5
+ declare const buttonVariants: (props?: ({
6
+ variant?: "link" | "default" | "secondary" | "outline" | "destructive" | "ghost" | null | undefined;
7
+ size?: "default" | "icon" | "sm" | "lg" | null | undefined;
8
+ } & cva_types.ClassProp) | undefined) => string;
9
+ interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
10
+ asChild?: boolean;
11
+ }
12
+ declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
13
+
14
+ export { Button, type ButtonProps, buttonVariants };
@@ -0,0 +1,58 @@
1
+ // src/components/ui/buttonShadcn.tsx
2
+ import * as React from "react";
3
+ import { Slot } from "@radix-ui/react-slot";
4
+ import { cva } from "class-variance-authority";
5
+
6
+ // src/lib/utils.ts
7
+ import { clsx } from "clsx";
8
+ import { twMerge } from "tailwind-merge";
9
+ function cn(...inputs) {
10
+ return twMerge(clsx(inputs));
11
+ }
12
+
13
+ // src/components/ui/buttonShadcn.tsx
14
+ import { jsx } from "react/jsx-runtime";
15
+ var buttonVariants = cva(
16
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-neutral-950 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 dark:focus-visible:ring-neutral-300",
17
+ {
18
+ variants: {
19
+ variant: {
20
+ default: "bg-neutral-900 text-neutral-50 shadow hover:bg-neutral-900/90 dark:bg-neutral-50 dark:text-neutral-900 dark:hover:bg-neutral-50/90",
21
+ destructive: "bg-red-500 text-neutral-50 shadow-sm hover:bg-red-500/90 dark:bg-red-900 dark:text-neutral-50 dark:hover:bg-red-900/90",
22
+ outline: "border border-neutral-200 bg-white shadow-sm hover:bg-neutral-100 hover:text-neutral-900 dark:border-neutral-800 dark:bg-neutral-950 dark:hover:bg-neutral-800 dark:hover:text-neutral-50",
23
+ secondary: "bg-neutral-100 text-neutral-900 shadow-sm hover:bg-neutral-100/80 dark:bg-neutral-800 dark:text-neutral-50 dark:hover:bg-neutral-800/80",
24
+ ghost: "hover:bg-neutral-100 hover:text-neutral-900 dark:hover:bg-neutral-800 dark:hover:text-neutral-50",
25
+ link: "text-neutral-900 underline-offset-4 hover:underline dark:text-neutral-50"
26
+ },
27
+ size: {
28
+ default: "h-9 px-4 py-2",
29
+ sm: "h-8 rounded-md px-3 text-xs",
30
+ lg: "h-10 rounded-md px-8",
31
+ icon: "h-9 w-9"
32
+ }
33
+ },
34
+ defaultVariants: {
35
+ variant: "default",
36
+ size: "default"
37
+ }
38
+ }
39
+ );
40
+ var Button = React.forwardRef(
41
+ ({ className, variant, size, asChild = false, ...props }, ref) => {
42
+ const Comp = asChild ? Slot : "button";
43
+ return /* @__PURE__ */ jsx(
44
+ Comp,
45
+ {
46
+ className: cn(buttonVariants({ variant, size, className })),
47
+ ref,
48
+ ...props
49
+ }
50
+ );
51
+ }
52
+ );
53
+ Button.displayName = "Button";
54
+ export {
55
+ Button,
56
+ buttonVariants
57
+ };
58
+ //# sourceMappingURL=buttonShadcn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/ui/buttonShadcn.tsx","../../../src/lib/utils.ts"],"sourcesContent":["import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-neutral-950 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 dark:focus-visible:ring-neutral-300\",\n {\n variants: {\n variant: {\n default:\n \"bg-neutral-900 text-neutral-50 shadow hover:bg-neutral-900/90 dark:bg-neutral-50 dark:text-neutral-900 dark:hover:bg-neutral-50/90\",\n destructive:\n \"bg-red-500 text-neutral-50 shadow-sm hover:bg-red-500/90 dark:bg-red-900 dark:text-neutral-50 dark:hover:bg-red-900/90\",\n outline:\n \"border border-neutral-200 bg-white shadow-sm hover:bg-neutral-100 hover:text-neutral-900 dark:border-neutral-800 dark:bg-neutral-950 dark:hover:bg-neutral-800 dark:hover:text-neutral-50\",\n secondary:\n \"bg-neutral-100 text-neutral-900 shadow-sm hover:bg-neutral-100/80 dark:bg-neutral-800 dark:text-neutral-50 dark:hover:bg-neutral-800/80\",\n ghost: \"hover:bg-neutral-100 hover:text-neutral-900 dark:hover:bg-neutral-800 dark:hover:text-neutral-50\",\n link: \"text-neutral-900 underline-offset-4 hover:underline dark:text-neutral-50\",\n },\n size: {\n default: \"h-9 px-4 py-2\",\n sm: \"h-8 rounded-md px-3 text-xs\",\n lg: \"h-10 rounded-md px-8\",\n icon: \"h-9 w-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\"\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n {...props}\n />\n )\n }\n)\nButton.displayName = \"Button\"\n\nexport { Button, buttonVariants }\n","import { type ClassValue, clsx } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n"],"mappings":";AAAA,YAAY,WAAW;AACvB,SAAS,YAAY;AACrB,SAAS,WAA8B;;;ACFvC,SAA0B,YAAY;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;ADyCM;AAxCN,IAAM,iBAAiB;AAAA,EACrB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SACE;AAAA,QACF,aACE;AAAA,QACF,SACE;AAAA,QACF,WACE;AAAA,QACF,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAAA,MACA,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IACR;AAAA,EACF;AACF;AAQA,IAAM,SAAe;AAAA,EACnB,CAAC,EAAE,WAAW,SAAS,MAAM,UAAU,OAAO,GAAG,MAAM,GAAG,QAAQ;AAChE,UAAM,OAAO,UAAU,OAAO;AAC9B,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,GAAG,eAAe,EAAE,SAAS,MAAM,UAAU,CAAC,CAAC;AAAA,QAC1D;AAAA,QACC,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;AACA,OAAO,cAAc;","names":[]}