@next-degree/pickle-shared-js 0.13.0 → 0.13.1

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 (83) hide show
  1. package/dist/{company_service_sanity-BzaIPM-N.d.ts → company_service_sanity-ByIKe90u.d.cts} +2085 -2085
  2. package/dist/{company_service_sanity-Zy8TiORb.d.cts → company_service_sanity-DbYwWmnS.d.ts} +2085 -2085
  3. package/dist/components/jobCard/JobLocation.d.cts +1 -1
  4. package/dist/components/jobCard/JobLocation.d.ts +1 -1
  5. package/dist/components/jobPost/JobDescription.cjs +12 -12
  6. package/dist/components/jobPost/JobDescription.cjs.map +1 -1
  7. package/dist/components/jobPost/JobDescription.js +12 -12
  8. package/dist/components/jobPost/JobDescription.js.map +1 -1
  9. package/dist/components/jobPost/JobPost.cjs +12 -12
  10. package/dist/components/jobPost/JobPost.cjs.map +1 -1
  11. package/dist/components/jobPost/JobPost.d.cts +1 -1
  12. package/dist/components/jobPost/JobPost.d.ts +1 -1
  13. package/dist/components/jobPost/JobPost.js +12 -12
  14. package/dist/components/jobPost/JobPost.js.map +1 -1
  15. package/dist/components/primitives/command.d.cts +1 -1
  16. package/dist/components/primitives/command.d.ts +1 -1
  17. package/dist/components/ui/Button.cjs +12 -12
  18. package/dist/components/ui/Button.cjs.map +1 -1
  19. package/dist/components/ui/Button.d.cts +1 -1
  20. package/dist/components/ui/Button.d.ts +1 -1
  21. package/dist/components/ui/Button.js +12 -12
  22. package/dist/components/ui/Button.js.map +1 -1
  23. package/dist/components/ui/Chip.d.cts +1 -1
  24. package/dist/components/ui/Chip.d.ts +1 -1
  25. package/dist/components/ui/ReadMore.cjs +12 -12
  26. package/dist/components/ui/ReadMore.cjs.map +1 -1
  27. package/dist/components/ui/ReadMore.js +12 -12
  28. package/dist/components/ui/ReadMore.js.map +1 -1
  29. package/dist/components/ui/buttonShadcn.d.cts +1 -1
  30. package/dist/components/ui/buttonShadcn.d.ts +1 -1
  31. package/dist/{displayText-DIxMXVLl.d.ts → displayText-Ce_aqgGP.d.ts} +2 -2
  32. package/dist/{displayText-DRyxjHTZ.d.cts → displayText-Cm8PqS6s.d.cts} +2 -2
  33. package/dist/hooks/useDisplayText.d.cts +3 -3
  34. package/dist/hooks/useDisplayText.d.ts +3 -3
  35. package/dist/index.cjs +12 -12
  36. package/dist/index.cjs.map +1 -1
  37. package/dist/index.d.cts +6 -6
  38. package/dist/index.d.ts +6 -6
  39. package/dist/index.js +12 -12
  40. package/dist/index.js.map +1 -1
  41. package/dist/{job_posting_service_latest-BrZndMS6.d.cts → job_posting_service_latest-82DHqOGu.d.cts} +1097 -1097
  42. package/dist/{job_posting_service_latest-BrZndMS6.d.ts → job_posting_service_latest-82DHqOGu.d.ts} +1097 -1097
  43. package/dist/{job_posting_service_latest-7q4A7RpW.d.cts → job_posting_service_latest-D9I5NE7l.d.cts} +1097 -1097
  44. package/dist/{job_posting_service_latest-7q4A7RpW.d.ts → job_posting_service_latest-D9I5NE7l.d.ts} +1097 -1097
  45. package/dist/{job_posting_service_sanity-LlRkfIpt.d.ts → job_posting_service_sanity-1eG3Jh9_.d.ts} +2016 -2016
  46. package/dist/{job_posting_service_sanity-B5NZ-7tI.d.cts → job_posting_service_sanity-DKYye6oH.d.cts} +2016 -2016
  47. package/dist/lib/locations.d.cts +3 -3
  48. package/dist/lib/locations.d.ts +3 -3
  49. package/dist/lib/mappings.d.cts +3 -3
  50. package/dist/lib/mappings.d.ts +3 -3
  51. package/dist/lib/salaryRange.d.cts +1 -1
  52. package/dist/lib/salaryRange.d.ts +1 -1
  53. package/dist/services/displayText.d.cts +3 -3
  54. package/dist/services/displayText.d.ts +3 -3
  55. package/dist/styles/globals.css +30 -0
  56. package/dist/styles/globals.css.map +1 -1
  57. package/dist/types/data/company_service_latest.d.cts +1 -1
  58. package/dist/types/data/company_service_latest.d.ts +1 -1
  59. package/dist/types/data/job_posting_service_latest.d.cts +1 -1
  60. package/dist/types/data/job_posting_service_latest.d.ts +1 -1
  61. package/dist/types/data/shared_pickle_output_latest.d.cts +1 -1
  62. package/dist/types/data/shared_pickle_output_latest.d.ts +1 -1
  63. package/dist/types/index.d.cts +5 -5
  64. package/dist/types/index.d.ts +5 -5
  65. package/dist/types/latest/company_service_latest.d.cts +1 -1
  66. package/dist/types/latest/company_service_latest.d.ts +1 -1
  67. package/dist/types/latest/custom/company_service_sanity.d.cts +3 -3
  68. package/dist/types/latest/custom/company_service_sanity.d.ts +3 -3
  69. package/dist/types/latest/custom/job_posting_service_sanity.d.cts +3 -3
  70. package/dist/types/latest/custom/job_posting_service_sanity.d.ts +3 -3
  71. package/dist/types/latest/job_posting_service_latest.d.cts +1 -1
  72. package/dist/types/latest/job_posting_service_latest.d.ts +1 -1
  73. package/dist/types/latest/shared_pickle_output_latest.d.cts +1 -1
  74. package/dist/types/latest/shared_pickle_output_latest.d.ts +1 -1
  75. package/package.json +2 -1
  76. package/dist/{company_service_latest-BwbaqchJ.d.cts → company_service_latest-BjyG4KCB.d.cts} +1103 -1103
  77. package/dist/{company_service_latest-BwbaqchJ.d.ts → company_service_latest-BjyG4KCB.d.ts} +1103 -1103
  78. package/dist/{company_service_latest-FHqG4LjA.d.cts → company_service_latest-KJi2W9Ij.d.cts} +1103 -1103
  79. package/dist/{company_service_latest-FHqG4LjA.d.ts → company_service_latest-KJi2W9Ij.d.ts} +1103 -1103
  80. package/dist/{shared_pickle_output_latest-DIPgxUul.d.cts → shared_pickle_output_latest-YbRs_xtC.d.cts} +40 -40
  81. package/dist/{shared_pickle_output_latest-DIPgxUul.d.ts → shared_pickle_output_latest-YbRs_xtC.d.ts} +40 -40
  82. package/dist/{shared_pickle_output_latest-CKHNY1lx.d.cts → shared_pickle_output_latest-dO-t8iZx.d.cts} +40 -40
  83. package/dist/{shared_pickle_output_latest-CKHNY1lx.d.ts → shared_pickle_output_latest-dO-t8iZx.d.ts} +40 -40
@@ -24,7 +24,7 @@ declare const CommandInput: React.ForwardRefExoticComponent<Omit<Omit<Pick<Pick<
24
24
  ref?: React.Ref<HTMLInputElement>;
25
25
  } & {
26
26
  asChild?: boolean;
27
- }, "key" | "asChild" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "type" | "value" | "onChange"> & {
27
+ }, "key" | "asChild" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "value" | "onChange" | "type"> & {
28
28
  value?: string;
29
29
  onValueChange?: (search: string) => void;
30
30
  } & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
@@ -24,7 +24,7 @@ declare const CommandInput: React.ForwardRefExoticComponent<Omit<Omit<Pick<Pick<
24
24
  ref?: React.Ref<HTMLInputElement>;
25
25
  } & {
26
26
  asChild?: boolean;
27
- }, "key" | "asChild" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "type" | "value" | "onChange"> & {
27
+ }, "key" | "asChild" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "value" | "onChange" | "type"> & {
28
28
  value?: string;
29
29
  onValueChange?: (search: string) => void;
30
30
  } & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
@@ -236,62 +236,62 @@ var buttonVariants = (0, import_cva.cva)(
236
236
  {
237
237
  variant: "icon-outline",
238
238
  size: "extra-small",
239
- class: ["h-8", "w-8", "p-2"]
239
+ class: ["h-8", "w-8", "p-1.5", "[&>svg]:w-5", "[&>svg]:h-5"]
240
240
  },
241
241
  {
242
242
  variant: "icon-outline",
243
243
  size: "small",
244
- class: ["h-10", "w-10", "p-3"]
244
+ class: ["h-10", "w-10", "p-2", "[&>svg]:w-6", "[&>svg]:h-6"]
245
245
  },
246
246
  {
247
247
  variant: "icon-outline",
248
248
  size: "medium",
249
- class: ["h-12", "w-12", "p-4"]
249
+ class: ["h-12", "w-12", "p-2.5", "[&>svg]:w-7", "[&>svg]:h-7"]
250
250
  },
251
251
  {
252
252
  variant: "icon-outline",
253
253
  size: "large",
254
- class: ["h-14", "w-14", "p-4"]
254
+ class: ["h-14", "w-14", "p-3", "[&>svg]:w-8", "[&>svg]:h-8"]
255
255
  },
256
256
  {
257
257
  variant: "icon-primary",
258
258
  size: "extra-small",
259
- class: ["h-8", "w-8", "p-2"]
259
+ class: ["h-8", "w-8", "p-1.5", "[&>svg]:w-5", "[&>svg]:h-5"]
260
260
  },
261
261
  {
262
262
  variant: "icon-primary",
263
263
  size: "small",
264
- class: ["h-10", "w-10", "p-3"]
264
+ class: ["h-10", "w-10", "p-2", "[&>svg]:w-6", "[&>svg]:h-6"]
265
265
  },
266
266
  {
267
267
  variant: "icon-primary",
268
268
  size: "medium",
269
- class: ["h-12", "w-12", "p-4"]
269
+ class: ["h-12", "w-12", "p-2.5", "[&>svg]:w-7", "[&>svg]:h-7"]
270
270
  },
271
271
  {
272
272
  variant: "icon-primary",
273
273
  size: "large",
274
- class: ["h-14", "w-14", "p-4"]
274
+ class: ["h-14", "w-14", "p-3", "[&>svg]:w-8", "[&>svg]:h-8"]
275
275
  },
276
276
  {
277
277
  variant: "icon-secondary",
278
278
  size: "extra-small",
279
- class: ["h-8", "w-8", "p-2"]
279
+ class: ["h-8", "w-8", "p-1.5", "[&>svg]:w-5", "[&>svg]:h-5"]
280
280
  },
281
281
  {
282
282
  variant: "icon-secondary",
283
283
  size: "small",
284
- class: ["h-10", "w-10", "p-3"]
284
+ class: ["h-10", "w-10", "p-2", "[&>svg]:w-6", "[&>svg]:h-6"]
285
285
  },
286
286
  {
287
287
  variant: "icon-secondary",
288
288
  size: "medium",
289
- class: ["h-12", "w-12", "p-4"]
289
+ class: ["h-12", "w-12", "p-2.5", "[&>svg]:w-7", "[&>svg]:h-7"]
290
290
  },
291
291
  {
292
292
  variant: "icon-secondary",
293
293
  size: "large",
294
- class: ["h-14", "w-14", "p-4"]
294
+ class: ["h-14", "w-14", "p-3", "[&>svg]:w-8", "[&>svg]:h-8"]
295
295
  }
296
296
  ]
297
297
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ui/Button.tsx","../../../src/lib/utils.ts"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'cva'\nimport { Loader2 } from 'lucide-react'\nimport React, { forwardRef } from 'react'\n\nimport { cn } from '@/lib/utils'\n\n/**\n * Props for the Button component.\n * @interface ButtonProps\n * @extends {React.ButtonHTMLAttributes<HTMLButtonElement>}\n * @extends {VariantProps<typeof buttonVariants>}\n */\ninterface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {}\n\n/**\n * A versatile button component that supports multiple variants and sizes.\n *\n * @component\n * @example\n * ```tsx\n * // Default button\n * <Button>Click me</Button>\n *\n * // Primary variant with large size\n * <Button variant=\"primary\" size=\"lg\">Large Button</Button>\n *\n * // As a link\n * <Button asChild>\n * <a href=\"/somewhere\">Go somewhere</a>\n * </Button>\n * ```\n */\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant,\n size,\n asChild = false,\n type = 'button',\n children,\n isLoading = false,\n ...props\n },\n ref\n ) => {\n const Component = asChild ? Slot : 'button'\n\n return (\n <Component\n className={cn(buttonVariants({ variant, size, className, isLoading, asChild }))}\n type={type}\n ref={ref}\n {...props}\n >\n {asChild ? (\n children\n ) : (\n <>\n {children}\n {isLoading && (\n <div className=\"absolute inset-0 flex items-center justify-center bg-white/30 backdrop-blur-[0.5px]\">\n <Loader2 className=\"h-5 w-5 animate-spin text-gray-800\" />\n </div>\n )}\n </>\n )}\n </Component>\n )\n }\n)\nButton.displayName = 'Button'\n\n/**\n * Variant definitions for the Button component using class-variance-authority.\n * Provides consistent styling across different button variations.\n */\nexport const buttonVariants = cva(\n [\n 'relative',\n 'flex',\n 'items-center',\n 'justify-center',\n 'gap-2',\n 'rounded-full',\n 'font-bold',\n 'outline-2',\n 'outline-offset-2',\n 'outline-dashed',\n 'outline-transparent',\n 'overflow-hidden',\n ],\n {\n variants: {\n variant: {\n neutral: [\n 'bg-black',\n 'text-white',\n 'hover:bg-grey-90',\n 'active:bg-grey-80',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n primary: [\n 'bg-pickle-100',\n 'text-black',\n 'hover:bg-pickle-80',\n 'active:bg-pickle-60',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n secondary: [\n 'bg-green-80',\n 'text-white',\n 'hover:bg-green-90',\n 'active:bg-green-100',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n transparent: [\n 'text-white',\n 'hover:bg-green-80',\n 'active:bg-green-100',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n ],\n link: [\n 'leading-tight',\n 'text-black',\n 'underline',\n 'hover:text-purple-100',\n 'focus:text-black',\n 'focus:outline-purple-100',\n 'active:text-purple-80',\n ],\n 'outline-primary': [\n 'bg-transparent',\n 'border-2',\n 'border-pickle-100',\n 'text-pickle-100',\n 'hover:bg-pickle-100',\n 'hover:text-black',\n 'active:bg-pickle-80',\n 'active:text-black',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:border-grey-40',\n 'disabled:hover:bg-transparent',\n 'disabled:hover:text-grey-40',\n ],\n 'outline-secondary': [\n 'bg-transparent',\n 'border-2',\n 'border-green-80',\n 'text-green-80',\n 'hover:bg-green-80',\n 'hover:text-white',\n 'active:bg-green-90',\n 'active:text-white',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n 'disabled:border-grey-40',\n 'disabled:hover:bg-transparent',\n 'disabled:hover:text-grey-40',\n ],\n 'icon-outline': [\n 'bg-transparent',\n 'text-black',\n 'hover:bg-grey-5',\n 'active:bg-grey-10',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:hover:bg-transparent',\n 'disabled:hover:text-grey-40',\n ],\n 'icon-primary': [\n 'bg-pickle-100',\n 'text-black',\n 'hover:bg-pickle-80',\n 'active:bg-pickle-60',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n 'icon-secondary': [\n 'bg-green-80',\n 'text-white',\n 'hover:bg-green-90',\n 'active:bg-green-100',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n },\n size: {\n 'extra-small': ['h-8', 'text-xs', 'px-3', 'py-1'],\n small: ['h-10', 'text-sm', 'px-4', 'py-2'],\n medium: ['h-12', 'text-base', 'px-6', 'py-3'],\n large: ['h-14', 'text-lg', 'px-8', 'py-4'],\n },\n isLoading: {\n true: ['cursor-not-allowed', 'pointer-events-none'],\n },\n asChild: {\n true: [],\n false: ['cursor-pointer', 'pointer-events-auto'],\n },\n },\n defaultVariants: {\n variant: 'neutral',\n size: 'medium',\n isLoading: false,\n asChild: false,\n },\n compoundVariants: [\n {\n variant: 'link',\n size: 'extra-small',\n class: ['h-3', 'text-xs', 'p-0'],\n },\n {\n variant: 'link',\n size: 'small',\n class: ['h-3', 'text-xs', 'p-0'],\n },\n {\n variant: 'link',\n size: 'medium',\n class: ['h-4', 'text-sm', 'p-0'],\n },\n {\n variant: 'link',\n size: 'large',\n class: ['h-6', 'text-base', 'p-0'],\n },\n {\n variant: 'icon-outline',\n size: 'extra-small',\n class: ['h-8', 'w-8', 'p-2'],\n },\n {\n variant: 'icon-outline',\n size: 'small',\n class: ['h-10', 'w-10', 'p-3'],\n },\n {\n variant: 'icon-outline',\n size: 'medium',\n class: ['h-12', 'w-12', 'p-4'],\n },\n {\n variant: 'icon-outline',\n size: 'large',\n class: ['h-14', 'w-14', 'p-4'],\n },\n {\n variant: 'icon-primary',\n size: 'extra-small',\n class: ['h-8', 'w-8', 'p-2'],\n },\n {\n variant: 'icon-primary',\n size: 'small',\n class: ['h-10', 'w-10', 'p-3'],\n },\n {\n variant: 'icon-primary',\n size: 'medium',\n class: ['h-12', 'w-12', 'p-4'],\n },\n {\n variant: 'icon-primary',\n size: 'large',\n class: ['h-14', 'w-14', 'p-4'],\n },\n {\n variant: 'icon-secondary',\n size: 'extra-small',\n class: ['h-8', 'w-8', 'p-2'],\n },\n {\n variant: 'icon-secondary',\n size: 'small',\n class: ['h-10', 'w-10', 'p-3'],\n },\n {\n variant: 'icon-secondary',\n size: 'medium',\n class: ['h-12', 'w-12', 'p-4'],\n },\n {\n variant: 'icon-secondary',\n size: 'large',\n class: ['h-14', 'w-14', 'p-4'],\n },\n ],\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":"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","names":["React"]}
1
+ {"version":3,"sources":["../../../src/components/ui/Button.tsx","../../../src/lib/utils.ts"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'cva'\nimport { Loader2 } from 'lucide-react'\nimport React, { forwardRef } from 'react'\n\nimport { cn } from '@/lib/utils'\n\n/**\n * Props for the Button component.\n * @interface ButtonProps\n * @extends {React.ButtonHTMLAttributes<HTMLButtonElement>}\n * @extends {VariantProps<typeof buttonVariants>}\n */\ninterface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {}\n\n/**\n * A versatile button component that supports multiple variants and sizes.\n *\n * @component\n * @example\n * ```tsx\n * // Default button\n * <Button>Click me</Button>\n *\n * // Primary variant with large size\n * <Button variant=\"primary\" size=\"lg\">Large Button</Button>\n *\n * // As a link\n * <Button asChild>\n * <a href=\"/somewhere\">Go somewhere</a>\n * </Button>\n * ```\n */\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant,\n size,\n asChild = false,\n type = 'button',\n children,\n isLoading = false,\n ...props\n },\n ref\n ) => {\n const Component = asChild ? Slot : 'button'\n\n return (\n <Component\n className={cn(buttonVariants({ variant, size, className, isLoading, asChild }))}\n type={type}\n ref={ref}\n {...props}\n >\n {asChild ? (\n children\n ) : (\n <>\n {children}\n {isLoading && (\n <div className=\"absolute inset-0 flex items-center justify-center bg-white/30 backdrop-blur-[0.5px]\">\n <Loader2 className=\"h-5 w-5 animate-spin text-gray-800\" />\n </div>\n )}\n </>\n )}\n </Component>\n )\n }\n)\nButton.displayName = 'Button'\n\n/**\n * Variant definitions for the Button component using class-variance-authority.\n * Provides consistent styling across different button variations.\n */\nexport const buttonVariants = cva(\n [\n 'relative',\n 'flex',\n 'items-center',\n 'justify-center',\n 'gap-2',\n 'rounded-full',\n 'font-bold',\n 'outline-2',\n 'outline-offset-2',\n 'outline-dashed',\n 'outline-transparent',\n 'overflow-hidden',\n ],\n {\n variants: {\n variant: {\n neutral: [\n 'bg-black',\n 'text-white',\n 'hover:bg-grey-90',\n 'active:bg-grey-80',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n primary: [\n 'bg-pickle-100',\n 'text-black',\n 'hover:bg-pickle-80',\n 'active:bg-pickle-60',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n secondary: [\n 'bg-green-80',\n 'text-white',\n 'hover:bg-green-90',\n 'active:bg-green-100',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n transparent: [\n 'text-white',\n 'hover:bg-green-80',\n 'active:bg-green-100',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n ],\n link: [\n 'leading-tight',\n 'text-black',\n 'underline',\n 'hover:text-purple-100',\n 'focus:text-black',\n 'focus:outline-purple-100',\n 'active:text-purple-80',\n ],\n 'outline-primary': [\n 'bg-transparent',\n 'border-2',\n 'border-pickle-100',\n 'text-pickle-100',\n 'hover:bg-pickle-100',\n 'hover:text-black',\n 'active:bg-pickle-80',\n 'active:text-black',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:border-grey-40',\n 'disabled:hover:bg-transparent',\n 'disabled:hover:text-grey-40',\n ],\n 'outline-secondary': [\n 'bg-transparent',\n 'border-2',\n 'border-green-80',\n 'text-green-80',\n 'hover:bg-green-80',\n 'hover:text-white',\n 'active:bg-green-90',\n 'active:text-white',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n 'disabled:border-grey-40',\n 'disabled:hover:bg-transparent',\n 'disabled:hover:text-grey-40',\n ],\n 'icon-outline': [\n 'bg-transparent',\n 'text-black',\n 'hover:bg-grey-5',\n 'active:bg-grey-10',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:hover:bg-transparent',\n 'disabled:hover:text-grey-40',\n ],\n 'icon-primary': [\n 'bg-pickle-100',\n 'text-black',\n 'hover:bg-pickle-80',\n 'active:bg-pickle-60',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n 'icon-secondary': [\n 'bg-green-80',\n 'text-white',\n 'hover:bg-green-90',\n 'active:bg-green-100',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n },\n size: {\n 'extra-small': ['h-8', 'text-xs', 'px-3', 'py-1'],\n small: ['h-10', 'text-sm', 'px-4', 'py-2'],\n medium: ['h-12', 'text-base', 'px-6', 'py-3'],\n large: ['h-14', 'text-lg', 'px-8', 'py-4'],\n },\n isLoading: {\n true: ['cursor-not-allowed', 'pointer-events-none'],\n },\n asChild: {\n true: [],\n false: ['cursor-pointer', 'pointer-events-auto'],\n },\n },\n defaultVariants: {\n variant: 'neutral',\n size: 'medium',\n isLoading: false,\n asChild: false,\n },\n compoundVariants: [\n {\n variant: 'link',\n size: 'extra-small',\n class: ['h-3', 'text-xs', 'p-0'],\n },\n {\n variant: 'link',\n size: 'small',\n class: ['h-3', 'text-xs', 'p-0'],\n },\n {\n variant: 'link',\n size: 'medium',\n class: ['h-4', 'text-sm', 'p-0'],\n },\n {\n variant: 'link',\n size: 'large',\n class: ['h-6', 'text-base', 'p-0'],\n },\n {\n variant: 'icon-outline',\n size: 'extra-small',\n class: ['h-8', 'w-8', 'p-1.5', '[&>svg]:w-5', '[&>svg]:h-5'],\n },\n {\n variant: 'icon-outline',\n size: 'small',\n class: ['h-10', 'w-10', 'p-2', '[&>svg]:w-6', '[&>svg]:h-6'],\n },\n {\n variant: 'icon-outline',\n size: 'medium',\n class: ['h-12', 'w-12', 'p-2.5', '[&>svg]:w-7', '[&>svg]:h-7'],\n },\n {\n variant: 'icon-outline',\n size: 'large',\n class: ['h-14', 'w-14', 'p-3', '[&>svg]:w-8', '[&>svg]:h-8'],\n },\n {\n variant: 'icon-primary',\n size: 'extra-small',\n class: ['h-8', 'w-8', 'p-1.5', '[&>svg]:w-5', '[&>svg]:h-5'],\n },\n {\n variant: 'icon-primary',\n size: 'small',\n class: ['h-10', 'w-10', 'p-2', '[&>svg]:w-6', '[&>svg]:h-6'],\n },\n {\n variant: 'icon-primary',\n size: 'medium',\n class: ['h-12', 'w-12', 'p-2.5', '[&>svg]:w-7', '[&>svg]:h-7'],\n },\n {\n variant: 'icon-primary',\n size: 'large',\n class: ['h-14', 'w-14', 'p-3', '[&>svg]:w-8', '[&>svg]:h-8'],\n },\n {\n variant: 'icon-secondary',\n size: 'extra-small',\n class: ['h-8', 'w-8', 'p-1.5', '[&>svg]:w-5', '[&>svg]:h-5'],\n },\n {\n variant: 'icon-secondary',\n size: 'small',\n class: ['h-10', 'w-10', 'p-2', '[&>svg]:w-6', '[&>svg]:h-6'],\n },\n {\n variant: 'icon-secondary',\n size: 'medium',\n class: ['h-12', 'w-12', 'p-2.5', '[&>svg]:w-7', '[&>svg]:h-7'],\n },\n {\n variant: 'icon-secondary',\n size: 'large',\n class: ['h-14', 'w-14', 'p-3', '[&>svg]:w-8', '[&>svg]:h-8'],\n },\n ],\n }\n)\n","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,wBAAqB;AACrB,iBAAuC;AACvC,0BAAwB;AACxB,mBAAkC;;;ACHlC,kBAAsC;AACtC,4BAAwB;AAEjB,SAAS,MAAM,QAAsB;AAC1C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;;;AD8BO,IAAM,aAAS;AAAA,EACpB,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,OAAO;AAAA,IACP;AAAA,IACA,YAAY;AAAA,IACZ,GAAG;AAAA,EACL,GACA,QACG;AACH,UAAM,YAAY,UAAU,yBAAO;AAEnC,WACE,6BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,GAAG,eAAe,EAAE,SAAS,MAAM,WAAW,WAAW,QAAQ,CAAC,CAAC;AAAA,QAC9E;AAAA,QACA;AAAA,QACC,GAAG;AAAA;AAAA,MAEH,UACC,WAEA,6BAAAA,QAAA,2BAAAA,QAAA,gBACG,UACA,aACC,6BAAAA,QAAA,cAAC,SAAI,WAAU,yFACb,6BAAAA,QAAA,cAAC,+BAAQ,WAAU,sCAAqC,CAC1D,CAEJ;AAAA,IAEJ;AAAA,EAEJ;AACF;AACA,OAAO,cAAc;AAMd,IAAM,qBAAiB;AAAA,EAC5B;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,UACP;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,SAAS;AAAA,UACP;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,WAAW;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,aAAa;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,mBAAmB;AAAA,UACjB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,qBAAqB;AAAA,UACnB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,gBAAgB;AAAA,UACd;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,gBAAgB;AAAA,UACd;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,kBAAkB;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,MACA,MAAM;AAAA,QACJ,eAAe,CAAC,OAAO,WAAW,QAAQ,MAAM;AAAA,QAChD,OAAO,CAAC,QAAQ,WAAW,QAAQ,MAAM;AAAA,QACzC,QAAQ,CAAC,QAAQ,aAAa,QAAQ,MAAM;AAAA,QAC5C,OAAO,CAAC,QAAQ,WAAW,QAAQ,MAAM;AAAA,MAC3C;AAAA,MACA,WAAW;AAAA,QACT,MAAM,CAAC,sBAAsB,qBAAqB;AAAA,MACpD;AAAA,MACA,SAAS;AAAA,QACP,MAAM,CAAC;AAAA,QACP,OAAO,CAAC,kBAAkB,qBAAqB;AAAA,MACjD;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,MACN,WAAW;AAAA,MACX,SAAS;AAAA,IACX;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,QACE,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO,CAAC,OAAO,WAAW,KAAK;AAAA,MACjC;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO,CAAC,OAAO,WAAW,KAAK;AAAA,MACjC;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO,CAAC,OAAO,WAAW,KAAK;AAAA,MACjC;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO,CAAC,OAAO,aAAa,KAAK;AAAA,MACnC;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO,CAAC,OAAO,OAAO,SAAS,eAAe,aAAa;AAAA,MAC7D;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO,CAAC,QAAQ,QAAQ,OAAO,eAAe,aAAa;AAAA,MAC7D;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO,CAAC,QAAQ,QAAQ,SAAS,eAAe,aAAa;AAAA,MAC/D;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO,CAAC,QAAQ,QAAQ,OAAO,eAAe,aAAa;AAAA,MAC7D;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO,CAAC,OAAO,OAAO,SAAS,eAAe,aAAa;AAAA,MAC7D;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO,CAAC,QAAQ,QAAQ,OAAO,eAAe,aAAa;AAAA,MAC7D;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO,CAAC,QAAQ,QAAQ,SAAS,eAAe,aAAa;AAAA,MAC/D;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO,CAAC,QAAQ,QAAQ,OAAO,eAAe,aAAa;AAAA,MAC7D;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO,CAAC,OAAO,OAAO,SAAS,eAAe,aAAa;AAAA,MAC7D;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO,CAAC,QAAQ,QAAQ,OAAO,eAAe,aAAa;AAAA,MAC7D;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO,CAAC,QAAQ,QAAQ,SAAS,eAAe,aAAa;AAAA,MAC/D;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO,CAAC,QAAQ,QAAQ,OAAO,eAAe,aAAa;AAAA,MAC7D;AAAA,IACF;AAAA,EACF;AACF;","names":["React"]}
@@ -34,7 +34,7 @@ declare const Button: React__default.ForwardRefExoticComponent<ButtonProps & Rea
34
34
  * Provides consistent styling across different button variations.
35
35
  */
36
36
  declare const buttonVariants: (props?: ({
37
- variant?: "neutral" | "primary" | "link" | "secondary" | "transparent" | "outline-primary" | "outline-secondary" | "icon-outline" | "icon-primary" | "icon-secondary" | null | undefined;
37
+ variant?: "link" | "neutral" | "primary" | "secondary" | "transparent" | "outline-primary" | "outline-secondary" | "icon-outline" | "icon-primary" | "icon-secondary" | null | undefined;
38
38
  size?: "small" | "medium" | "large" | "extra-small" | null | undefined;
39
39
  isLoading?: boolean | null | undefined;
40
40
  asChild?: boolean | null | undefined;
@@ -34,7 +34,7 @@ declare const Button: React__default.ForwardRefExoticComponent<ButtonProps & Rea
34
34
  * Provides consistent styling across different button variations.
35
35
  */
36
36
  declare const buttonVariants: (props?: ({
37
- variant?: "neutral" | "primary" | "link" | "secondary" | "transparent" | "outline-primary" | "outline-secondary" | "icon-outline" | "icon-primary" | "icon-secondary" | null | undefined;
37
+ variant?: "link" | "neutral" | "primary" | "secondary" | "transparent" | "outline-primary" | "outline-secondary" | "icon-outline" | "icon-primary" | "icon-secondary" | null | undefined;
38
38
  size?: "small" | "medium" | "large" | "extra-small" | null | undefined;
39
39
  isLoading?: boolean | null | undefined;
40
40
  asChild?: boolean | null | undefined;
@@ -201,62 +201,62 @@ var buttonVariants = cva(
201
201
  {
202
202
  variant: "icon-outline",
203
203
  size: "extra-small",
204
- class: ["h-8", "w-8", "p-2"]
204
+ class: ["h-8", "w-8", "p-1.5", "[&>svg]:w-5", "[&>svg]:h-5"]
205
205
  },
206
206
  {
207
207
  variant: "icon-outline",
208
208
  size: "small",
209
- class: ["h-10", "w-10", "p-3"]
209
+ class: ["h-10", "w-10", "p-2", "[&>svg]:w-6", "[&>svg]:h-6"]
210
210
  },
211
211
  {
212
212
  variant: "icon-outline",
213
213
  size: "medium",
214
- class: ["h-12", "w-12", "p-4"]
214
+ class: ["h-12", "w-12", "p-2.5", "[&>svg]:w-7", "[&>svg]:h-7"]
215
215
  },
216
216
  {
217
217
  variant: "icon-outline",
218
218
  size: "large",
219
- class: ["h-14", "w-14", "p-4"]
219
+ class: ["h-14", "w-14", "p-3", "[&>svg]:w-8", "[&>svg]:h-8"]
220
220
  },
221
221
  {
222
222
  variant: "icon-primary",
223
223
  size: "extra-small",
224
- class: ["h-8", "w-8", "p-2"]
224
+ class: ["h-8", "w-8", "p-1.5", "[&>svg]:w-5", "[&>svg]:h-5"]
225
225
  },
226
226
  {
227
227
  variant: "icon-primary",
228
228
  size: "small",
229
- class: ["h-10", "w-10", "p-3"]
229
+ class: ["h-10", "w-10", "p-2", "[&>svg]:w-6", "[&>svg]:h-6"]
230
230
  },
231
231
  {
232
232
  variant: "icon-primary",
233
233
  size: "medium",
234
- class: ["h-12", "w-12", "p-4"]
234
+ class: ["h-12", "w-12", "p-2.5", "[&>svg]:w-7", "[&>svg]:h-7"]
235
235
  },
236
236
  {
237
237
  variant: "icon-primary",
238
238
  size: "large",
239
- class: ["h-14", "w-14", "p-4"]
239
+ class: ["h-14", "w-14", "p-3", "[&>svg]:w-8", "[&>svg]:h-8"]
240
240
  },
241
241
  {
242
242
  variant: "icon-secondary",
243
243
  size: "extra-small",
244
- class: ["h-8", "w-8", "p-2"]
244
+ class: ["h-8", "w-8", "p-1.5", "[&>svg]:w-5", "[&>svg]:h-5"]
245
245
  },
246
246
  {
247
247
  variant: "icon-secondary",
248
248
  size: "small",
249
- class: ["h-10", "w-10", "p-3"]
249
+ class: ["h-10", "w-10", "p-2", "[&>svg]:w-6", "[&>svg]:h-6"]
250
250
  },
251
251
  {
252
252
  variant: "icon-secondary",
253
253
  size: "medium",
254
- class: ["h-12", "w-12", "p-4"]
254
+ class: ["h-12", "w-12", "p-2.5", "[&>svg]:w-7", "[&>svg]:h-7"]
255
255
  },
256
256
  {
257
257
  variant: "icon-secondary",
258
258
  size: "large",
259
- class: ["h-14", "w-14", "p-4"]
259
+ class: ["h-14", "w-14", "p-3", "[&>svg]:w-8", "[&>svg]:h-8"]
260
260
  }
261
261
  ]
262
262
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ui/Button.tsx","../../../src/lib/utils.ts"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'cva'\nimport { Loader2 } from 'lucide-react'\nimport React, { forwardRef } from 'react'\n\nimport { cn } from '@/lib/utils'\n\n/**\n * Props for the Button component.\n * @interface ButtonProps\n * @extends {React.ButtonHTMLAttributes<HTMLButtonElement>}\n * @extends {VariantProps<typeof buttonVariants>}\n */\ninterface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {}\n\n/**\n * A versatile button component that supports multiple variants and sizes.\n *\n * @component\n * @example\n * ```tsx\n * // Default button\n * <Button>Click me</Button>\n *\n * // Primary variant with large size\n * <Button variant=\"primary\" size=\"lg\">Large Button</Button>\n *\n * // As a link\n * <Button asChild>\n * <a href=\"/somewhere\">Go somewhere</a>\n * </Button>\n * ```\n */\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant,\n size,\n asChild = false,\n type = 'button',\n children,\n isLoading = false,\n ...props\n },\n ref\n ) => {\n const Component = asChild ? Slot : 'button'\n\n return (\n <Component\n className={cn(buttonVariants({ variant, size, className, isLoading, asChild }))}\n type={type}\n ref={ref}\n {...props}\n >\n {asChild ? (\n children\n ) : (\n <>\n {children}\n {isLoading && (\n <div className=\"absolute inset-0 flex items-center justify-center bg-white/30 backdrop-blur-[0.5px]\">\n <Loader2 className=\"h-5 w-5 animate-spin text-gray-800\" />\n </div>\n )}\n </>\n )}\n </Component>\n )\n }\n)\nButton.displayName = 'Button'\n\n/**\n * Variant definitions for the Button component using class-variance-authority.\n * Provides consistent styling across different button variations.\n */\nexport const buttonVariants = cva(\n [\n 'relative',\n 'flex',\n 'items-center',\n 'justify-center',\n 'gap-2',\n 'rounded-full',\n 'font-bold',\n 'outline-2',\n 'outline-offset-2',\n 'outline-dashed',\n 'outline-transparent',\n 'overflow-hidden',\n ],\n {\n variants: {\n variant: {\n neutral: [\n 'bg-black',\n 'text-white',\n 'hover:bg-grey-90',\n 'active:bg-grey-80',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n primary: [\n 'bg-pickle-100',\n 'text-black',\n 'hover:bg-pickle-80',\n 'active:bg-pickle-60',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n secondary: [\n 'bg-green-80',\n 'text-white',\n 'hover:bg-green-90',\n 'active:bg-green-100',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n transparent: [\n 'text-white',\n 'hover:bg-green-80',\n 'active:bg-green-100',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n ],\n link: [\n 'leading-tight',\n 'text-black',\n 'underline',\n 'hover:text-purple-100',\n 'focus:text-black',\n 'focus:outline-purple-100',\n 'active:text-purple-80',\n ],\n 'outline-primary': [\n 'bg-transparent',\n 'border-2',\n 'border-pickle-100',\n 'text-pickle-100',\n 'hover:bg-pickle-100',\n 'hover:text-black',\n 'active:bg-pickle-80',\n 'active:text-black',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:border-grey-40',\n 'disabled:hover:bg-transparent',\n 'disabled:hover:text-grey-40',\n ],\n 'outline-secondary': [\n 'bg-transparent',\n 'border-2',\n 'border-green-80',\n 'text-green-80',\n 'hover:bg-green-80',\n 'hover:text-white',\n 'active:bg-green-90',\n 'active:text-white',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n 'disabled:border-grey-40',\n 'disabled:hover:bg-transparent',\n 'disabled:hover:text-grey-40',\n ],\n 'icon-outline': [\n 'bg-transparent',\n 'text-black',\n 'hover:bg-grey-5',\n 'active:bg-grey-10',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:hover:bg-transparent',\n 'disabled:hover:text-grey-40',\n ],\n 'icon-primary': [\n 'bg-pickle-100',\n 'text-black',\n 'hover:bg-pickle-80',\n 'active:bg-pickle-60',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n 'icon-secondary': [\n 'bg-green-80',\n 'text-white',\n 'hover:bg-green-90',\n 'active:bg-green-100',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n },\n size: {\n 'extra-small': ['h-8', 'text-xs', 'px-3', 'py-1'],\n small: ['h-10', 'text-sm', 'px-4', 'py-2'],\n medium: ['h-12', 'text-base', 'px-6', 'py-3'],\n large: ['h-14', 'text-lg', 'px-8', 'py-4'],\n },\n isLoading: {\n true: ['cursor-not-allowed', 'pointer-events-none'],\n },\n asChild: {\n true: [],\n false: ['cursor-pointer', 'pointer-events-auto'],\n },\n },\n defaultVariants: {\n variant: 'neutral',\n size: 'medium',\n isLoading: false,\n asChild: false,\n },\n compoundVariants: [\n {\n variant: 'link',\n size: 'extra-small',\n class: ['h-3', 'text-xs', 'p-0'],\n },\n {\n variant: 'link',\n size: 'small',\n class: ['h-3', 'text-xs', 'p-0'],\n },\n {\n variant: 'link',\n size: 'medium',\n class: ['h-4', 'text-sm', 'p-0'],\n },\n {\n variant: 'link',\n size: 'large',\n class: ['h-6', 'text-base', 'p-0'],\n },\n {\n variant: 'icon-outline',\n size: 'extra-small',\n class: ['h-8', 'w-8', 'p-2'],\n },\n {\n variant: 'icon-outline',\n size: 'small',\n class: ['h-10', 'w-10', 'p-3'],\n },\n {\n variant: 'icon-outline',\n size: 'medium',\n class: ['h-12', 'w-12', 'p-4'],\n },\n {\n variant: 'icon-outline',\n size: 'large',\n class: ['h-14', 'w-14', 'p-4'],\n },\n {\n variant: 'icon-primary',\n size: 'extra-small',\n class: ['h-8', 'w-8', 'p-2'],\n },\n {\n variant: 'icon-primary',\n size: 'small',\n class: ['h-10', 'w-10', 'p-3'],\n },\n {\n variant: 'icon-primary',\n size: 'medium',\n class: ['h-12', 'w-12', 'p-4'],\n },\n {\n variant: 'icon-primary',\n size: 'large',\n class: ['h-14', 'w-14', 'p-4'],\n },\n {\n variant: 'icon-secondary',\n size: 'extra-small',\n class: ['h-8', 'w-8', 'p-2'],\n },\n {\n variant: 'icon-secondary',\n size: 'small',\n class: ['h-10', 'w-10', 'p-3'],\n },\n {\n variant: 'icon-secondary',\n size: 'medium',\n class: ['h-12', 'w-12', 'p-4'],\n },\n {\n variant: 'icon-secondary',\n size: 'large',\n class: ['h-14', 'w-14', 'p-4'],\n },\n ],\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":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/components/ui/Button.tsx","../../../src/lib/utils.ts"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'cva'\nimport { Loader2 } from 'lucide-react'\nimport React, { forwardRef } from 'react'\n\nimport { cn } from '@/lib/utils'\n\n/**\n * Props for the Button component.\n * @interface ButtonProps\n * @extends {React.ButtonHTMLAttributes<HTMLButtonElement>}\n * @extends {VariantProps<typeof buttonVariants>}\n */\ninterface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {}\n\n/**\n * A versatile button component that supports multiple variants and sizes.\n *\n * @component\n * @example\n * ```tsx\n * // Default button\n * <Button>Click me</Button>\n *\n * // Primary variant with large size\n * <Button variant=\"primary\" size=\"lg\">Large Button</Button>\n *\n * // As a link\n * <Button asChild>\n * <a href=\"/somewhere\">Go somewhere</a>\n * </Button>\n * ```\n */\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant,\n size,\n asChild = false,\n type = 'button',\n children,\n isLoading = false,\n ...props\n },\n ref\n ) => {\n const Component = asChild ? Slot : 'button'\n\n return (\n <Component\n className={cn(buttonVariants({ variant, size, className, isLoading, asChild }))}\n type={type}\n ref={ref}\n {...props}\n >\n {asChild ? (\n children\n ) : (\n <>\n {children}\n {isLoading && (\n <div className=\"absolute inset-0 flex items-center justify-center bg-white/30 backdrop-blur-[0.5px]\">\n <Loader2 className=\"h-5 w-5 animate-spin text-gray-800\" />\n </div>\n )}\n </>\n )}\n </Component>\n )\n }\n)\nButton.displayName = 'Button'\n\n/**\n * Variant definitions for the Button component using class-variance-authority.\n * Provides consistent styling across different button variations.\n */\nexport const buttonVariants = cva(\n [\n 'relative',\n 'flex',\n 'items-center',\n 'justify-center',\n 'gap-2',\n 'rounded-full',\n 'font-bold',\n 'outline-2',\n 'outline-offset-2',\n 'outline-dashed',\n 'outline-transparent',\n 'overflow-hidden',\n ],\n {\n variants: {\n variant: {\n neutral: [\n 'bg-black',\n 'text-white',\n 'hover:bg-grey-90',\n 'active:bg-grey-80',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n primary: [\n 'bg-pickle-100',\n 'text-black',\n 'hover:bg-pickle-80',\n 'active:bg-pickle-60',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n secondary: [\n 'bg-green-80',\n 'text-white',\n 'hover:bg-green-90',\n 'active:bg-green-100',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n transparent: [\n 'text-white',\n 'hover:bg-green-80',\n 'active:bg-green-100',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n ],\n link: [\n 'leading-tight',\n 'text-black',\n 'underline',\n 'hover:text-purple-100',\n 'focus:text-black',\n 'focus:outline-purple-100',\n 'active:text-purple-80',\n ],\n 'outline-primary': [\n 'bg-transparent',\n 'border-2',\n 'border-pickle-100',\n 'text-pickle-100',\n 'hover:bg-pickle-100',\n 'hover:text-black',\n 'active:bg-pickle-80',\n 'active:text-black',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:border-grey-40',\n 'disabled:hover:bg-transparent',\n 'disabled:hover:text-grey-40',\n ],\n 'outline-secondary': [\n 'bg-transparent',\n 'border-2',\n 'border-green-80',\n 'text-green-80',\n 'hover:bg-green-80',\n 'hover:text-white',\n 'active:bg-green-90',\n 'active:text-white',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n 'disabled:border-grey-40',\n 'disabled:hover:bg-transparent',\n 'disabled:hover:text-grey-40',\n ],\n 'icon-outline': [\n 'bg-transparent',\n 'text-black',\n 'hover:bg-grey-5',\n 'active:bg-grey-10',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:hover:bg-transparent',\n 'disabled:hover:text-grey-40',\n ],\n 'icon-primary': [\n 'bg-pickle-100',\n 'text-black',\n 'hover:bg-pickle-80',\n 'active:bg-pickle-60',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n 'icon-secondary': [\n 'bg-green-80',\n 'text-white',\n 'hover:bg-green-90',\n 'active:bg-green-100',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n },\n size: {\n 'extra-small': ['h-8', 'text-xs', 'px-3', 'py-1'],\n small: ['h-10', 'text-sm', 'px-4', 'py-2'],\n medium: ['h-12', 'text-base', 'px-6', 'py-3'],\n large: ['h-14', 'text-lg', 'px-8', 'py-4'],\n },\n isLoading: {\n true: ['cursor-not-allowed', 'pointer-events-none'],\n },\n asChild: {\n true: [],\n false: ['cursor-pointer', 'pointer-events-auto'],\n },\n },\n defaultVariants: {\n variant: 'neutral',\n size: 'medium',\n isLoading: false,\n asChild: false,\n },\n compoundVariants: [\n {\n variant: 'link',\n size: 'extra-small',\n class: ['h-3', 'text-xs', 'p-0'],\n },\n {\n variant: 'link',\n size: 'small',\n class: ['h-3', 'text-xs', 'p-0'],\n },\n {\n variant: 'link',\n size: 'medium',\n class: ['h-4', 'text-sm', 'p-0'],\n },\n {\n variant: 'link',\n size: 'large',\n class: ['h-6', 'text-base', 'p-0'],\n },\n {\n variant: 'icon-outline',\n size: 'extra-small',\n class: ['h-8', 'w-8', 'p-1.5', '[&>svg]:w-5', '[&>svg]:h-5'],\n },\n {\n variant: 'icon-outline',\n size: 'small',\n class: ['h-10', 'w-10', 'p-2', '[&>svg]:w-6', '[&>svg]:h-6'],\n },\n {\n variant: 'icon-outline',\n size: 'medium',\n class: ['h-12', 'w-12', 'p-2.5', '[&>svg]:w-7', '[&>svg]:h-7'],\n },\n {\n variant: 'icon-outline',\n size: 'large',\n class: ['h-14', 'w-14', 'p-3', '[&>svg]:w-8', '[&>svg]:h-8'],\n },\n {\n variant: 'icon-primary',\n size: 'extra-small',\n class: ['h-8', 'w-8', 'p-1.5', '[&>svg]:w-5', '[&>svg]:h-5'],\n },\n {\n variant: 'icon-primary',\n size: 'small',\n class: ['h-10', 'w-10', 'p-2', '[&>svg]:w-6', '[&>svg]:h-6'],\n },\n {\n variant: 'icon-primary',\n size: 'medium',\n class: ['h-12', 'w-12', 'p-2.5', '[&>svg]:w-7', '[&>svg]:h-7'],\n },\n {\n variant: 'icon-primary',\n size: 'large',\n class: ['h-14', 'w-14', 'p-3', '[&>svg]:w-8', '[&>svg]:h-8'],\n },\n {\n variant: 'icon-secondary',\n size: 'extra-small',\n class: ['h-8', 'w-8', 'p-1.5', '[&>svg]:w-5', '[&>svg]:h-5'],\n },\n {\n variant: 'icon-secondary',\n size: 'small',\n class: ['h-10', 'w-10', 'p-2', '[&>svg]:w-6', '[&>svg]:h-6'],\n },\n {\n variant: 'icon-secondary',\n size: 'medium',\n class: ['h-12', 'w-12', 'p-2.5', '[&>svg]:w-7', '[&>svg]:h-7'],\n },\n {\n variant: 'icon-secondary',\n size: 'large',\n class: ['h-14', 'w-14', 'p-3', '[&>svg]:w-8', '[&>svg]:h-8'],\n },\n ],\n }\n)\n","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":"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","names":[]}
@@ -6,7 +6,7 @@ interface ChipProps extends React__default.HTMLAttributes<HTMLDivElement>, Varia
6
6
  }
7
7
  declare const Chip: ({ className, variant, size, ...props }: ChipProps) => React__default.JSX.Element;
8
8
  declare const chipVariants: (props?: ({
9
- variant?: "jobLocation" | "neutral" | "primary" | "danger" | "onboarding" | "onboardingSelected" | null | undefined;
9
+ variant?: "neutral" | "primary" | "danger" | "jobLocation" | "onboarding" | "onboardingSelected" | null | undefined;
10
10
  size?: "small" | "medium" | null | undefined;
11
11
  } & cva_types.ClassProp) | undefined) => string;
12
12
 
@@ -6,7 +6,7 @@ interface ChipProps extends React__default.HTMLAttributes<HTMLDivElement>, Varia
6
6
  }
7
7
  declare const Chip: ({ className, variant, size, ...props }: ChipProps) => React__default.JSX.Element;
8
8
  declare const chipVariants: (props?: ({
9
- variant?: "jobLocation" | "neutral" | "primary" | "danger" | "onboarding" | "onboardingSelected" | null | undefined;
9
+ variant?: "neutral" | "primary" | "danger" | "jobLocation" | "onboarding" | "onboardingSelected" | null | undefined;
10
10
  size?: "small" | "medium" | null | undefined;
11
11
  } & cva_types.ClassProp) | undefined) => string;
12
12
 
@@ -240,62 +240,62 @@ var buttonVariants = (0, import_cva.cva)(
240
240
  {
241
241
  variant: "icon-outline",
242
242
  size: "extra-small",
243
- class: ["h-8", "w-8", "p-2"]
243
+ class: ["h-8", "w-8", "p-1.5", "[&>svg]:w-5", "[&>svg]:h-5"]
244
244
  },
245
245
  {
246
246
  variant: "icon-outline",
247
247
  size: "small",
248
- class: ["h-10", "w-10", "p-3"]
248
+ class: ["h-10", "w-10", "p-2", "[&>svg]:w-6", "[&>svg]:h-6"]
249
249
  },
250
250
  {
251
251
  variant: "icon-outline",
252
252
  size: "medium",
253
- class: ["h-12", "w-12", "p-4"]
253
+ class: ["h-12", "w-12", "p-2.5", "[&>svg]:w-7", "[&>svg]:h-7"]
254
254
  },
255
255
  {
256
256
  variant: "icon-outline",
257
257
  size: "large",
258
- class: ["h-14", "w-14", "p-4"]
258
+ class: ["h-14", "w-14", "p-3", "[&>svg]:w-8", "[&>svg]:h-8"]
259
259
  },
260
260
  {
261
261
  variant: "icon-primary",
262
262
  size: "extra-small",
263
- class: ["h-8", "w-8", "p-2"]
263
+ class: ["h-8", "w-8", "p-1.5", "[&>svg]:w-5", "[&>svg]:h-5"]
264
264
  },
265
265
  {
266
266
  variant: "icon-primary",
267
267
  size: "small",
268
- class: ["h-10", "w-10", "p-3"]
268
+ class: ["h-10", "w-10", "p-2", "[&>svg]:w-6", "[&>svg]:h-6"]
269
269
  },
270
270
  {
271
271
  variant: "icon-primary",
272
272
  size: "medium",
273
- class: ["h-12", "w-12", "p-4"]
273
+ class: ["h-12", "w-12", "p-2.5", "[&>svg]:w-7", "[&>svg]:h-7"]
274
274
  },
275
275
  {
276
276
  variant: "icon-primary",
277
277
  size: "large",
278
- class: ["h-14", "w-14", "p-4"]
278
+ class: ["h-14", "w-14", "p-3", "[&>svg]:w-8", "[&>svg]:h-8"]
279
279
  },
280
280
  {
281
281
  variant: "icon-secondary",
282
282
  size: "extra-small",
283
- class: ["h-8", "w-8", "p-2"]
283
+ class: ["h-8", "w-8", "p-1.5", "[&>svg]:w-5", "[&>svg]:h-5"]
284
284
  },
285
285
  {
286
286
  variant: "icon-secondary",
287
287
  size: "small",
288
- class: ["h-10", "w-10", "p-3"]
288
+ class: ["h-10", "w-10", "p-2", "[&>svg]:w-6", "[&>svg]:h-6"]
289
289
  },
290
290
  {
291
291
  variant: "icon-secondary",
292
292
  size: "medium",
293
- class: ["h-12", "w-12", "p-4"]
293
+ class: ["h-12", "w-12", "p-2.5", "[&>svg]:w-7", "[&>svg]:h-7"]
294
294
  },
295
295
  {
296
296
  variant: "icon-secondary",
297
297
  size: "large",
298
- class: ["h-14", "w-14", "p-4"]
298
+ class: ["h-14", "w-14", "p-3", "[&>svg]:w-8", "[&>svg]:h-8"]
299
299
  }
300
300
  ]
301
301
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ui/ReadMore.tsx","../../../src/components/ui/Button.tsx","../../../src/lib/utils.ts"],"sourcesContent":["'use client'\n\nimport { type ComponentProps, useEffect, useState } from 'react'\nimport Markdown from 'react-markdown'\n\nimport { Button } from '@/components/ui/Button'\n\nexport type ReadMoreProps = ComponentProps<'div'> & {\n text: string\n}\n\nexport function ReadMore({ text, ...props }: Readonly<ReadMoreProps>) {\n const [isExpanded, setIsExpanded] = useState(false)\n const [maxWords, setMaxWords] = useState(160)\n\n const isOverMaxWords = text.split(' ').length > maxWords\n\n useEffect(() => {\n const updateMaxWords = () => {\n const windowWidth = window.innerWidth\n if (windowWidth <= 768) {\n setMaxWords(50)\n } else {\n setMaxWords(160)\n }\n }\n\n updateMaxWords()\n window.addEventListener('resize', updateMaxWords)\n\n return () => window.removeEventListener('resize', updateMaxWords)\n }, [])\n\n function createReadMoreText(text: string, maxWords: number, isExpanded: boolean): string {\n if (!isOverMaxWords) return text\n\n const words = text.split(' ')\n const snippet = isExpanded ? text : words.slice(0, maxWords).join(' ')\n const readMoreText = isExpanded ? '' : '...'\n return `${snippet} ${readMoreText}`\n }\n\n const toggleText = () => setIsExpanded(!isExpanded)\n\n const snippet = createReadMoreText(text, maxWords, isExpanded)\n\n return (\n <div {...props}>\n <div data-testid=\"read-more-text\" className=\"prose lg:prose-lg\">\n <Markdown>{snippet}</Markdown>\n </div>\n {isOverMaxWords && (\n <Button\n type=\"button\"\n className=\"mt-2 flex items-center justify-center\"\n variant=\"link\"\n onClick={toggleText}\n >\n <p className=\"text-sm font-bold underline underline-offset-2\">\n Read {isExpanded ? 'less' : 'more'}\n </p>\n </Button>\n )}\n </div>\n )\n}\n","import { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'cva'\nimport { Loader2 } from 'lucide-react'\nimport React, { forwardRef } from 'react'\n\nimport { cn } from '@/lib/utils'\n\n/**\n * Props for the Button component.\n * @interface ButtonProps\n * @extends {React.ButtonHTMLAttributes<HTMLButtonElement>}\n * @extends {VariantProps<typeof buttonVariants>}\n */\ninterface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {}\n\n/**\n * A versatile button component that supports multiple variants and sizes.\n *\n * @component\n * @example\n * ```tsx\n * // Default button\n * <Button>Click me</Button>\n *\n * // Primary variant with large size\n * <Button variant=\"primary\" size=\"lg\">Large Button</Button>\n *\n * // As a link\n * <Button asChild>\n * <a href=\"/somewhere\">Go somewhere</a>\n * </Button>\n * ```\n */\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant,\n size,\n asChild = false,\n type = 'button',\n children,\n isLoading = false,\n ...props\n },\n ref\n ) => {\n const Component = asChild ? Slot : 'button'\n\n return (\n <Component\n className={cn(buttonVariants({ variant, size, className, isLoading, asChild }))}\n type={type}\n ref={ref}\n {...props}\n >\n {asChild ? (\n children\n ) : (\n <>\n {children}\n {isLoading && (\n <div className=\"absolute inset-0 flex items-center justify-center bg-white/30 backdrop-blur-[0.5px]\">\n <Loader2 className=\"h-5 w-5 animate-spin text-gray-800\" />\n </div>\n )}\n </>\n )}\n </Component>\n )\n }\n)\nButton.displayName = 'Button'\n\n/**\n * Variant definitions for the Button component using class-variance-authority.\n * Provides consistent styling across different button variations.\n */\nexport const buttonVariants = cva(\n [\n 'relative',\n 'flex',\n 'items-center',\n 'justify-center',\n 'gap-2',\n 'rounded-full',\n 'font-bold',\n 'outline-2',\n 'outline-offset-2',\n 'outline-dashed',\n 'outline-transparent',\n 'overflow-hidden',\n ],\n {\n variants: {\n variant: {\n neutral: [\n 'bg-black',\n 'text-white',\n 'hover:bg-grey-90',\n 'active:bg-grey-80',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n primary: [\n 'bg-pickle-100',\n 'text-black',\n 'hover:bg-pickle-80',\n 'active:bg-pickle-60',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n secondary: [\n 'bg-green-80',\n 'text-white',\n 'hover:bg-green-90',\n 'active:bg-green-100',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n transparent: [\n 'text-white',\n 'hover:bg-green-80',\n 'active:bg-green-100',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n ],\n link: [\n 'leading-tight',\n 'text-black',\n 'underline',\n 'hover:text-purple-100',\n 'focus:text-black',\n 'focus:outline-purple-100',\n 'active:text-purple-80',\n ],\n 'outline-primary': [\n 'bg-transparent',\n 'border-2',\n 'border-pickle-100',\n 'text-pickle-100',\n 'hover:bg-pickle-100',\n 'hover:text-black',\n 'active:bg-pickle-80',\n 'active:text-black',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:border-grey-40',\n 'disabled:hover:bg-transparent',\n 'disabled:hover:text-grey-40',\n ],\n 'outline-secondary': [\n 'bg-transparent',\n 'border-2',\n 'border-green-80',\n 'text-green-80',\n 'hover:bg-green-80',\n 'hover:text-white',\n 'active:bg-green-90',\n 'active:text-white',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n 'disabled:border-grey-40',\n 'disabled:hover:bg-transparent',\n 'disabled:hover:text-grey-40',\n ],\n 'icon-outline': [\n 'bg-transparent',\n 'text-black',\n 'hover:bg-grey-5',\n 'active:bg-grey-10',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:hover:bg-transparent',\n 'disabled:hover:text-grey-40',\n ],\n 'icon-primary': [\n 'bg-pickle-100',\n 'text-black',\n 'hover:bg-pickle-80',\n 'active:bg-pickle-60',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n 'icon-secondary': [\n 'bg-green-80',\n 'text-white',\n 'hover:bg-green-90',\n 'active:bg-green-100',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n },\n size: {\n 'extra-small': ['h-8', 'text-xs', 'px-3', 'py-1'],\n small: ['h-10', 'text-sm', 'px-4', 'py-2'],\n medium: ['h-12', 'text-base', 'px-6', 'py-3'],\n large: ['h-14', 'text-lg', 'px-8', 'py-4'],\n },\n isLoading: {\n true: ['cursor-not-allowed', 'pointer-events-none'],\n },\n asChild: {\n true: [],\n false: ['cursor-pointer', 'pointer-events-auto'],\n },\n },\n defaultVariants: {\n variant: 'neutral',\n size: 'medium',\n isLoading: false,\n asChild: false,\n },\n compoundVariants: [\n {\n variant: 'link',\n size: 'extra-small',\n class: ['h-3', 'text-xs', 'p-0'],\n },\n {\n variant: 'link',\n size: 'small',\n class: ['h-3', 'text-xs', 'p-0'],\n },\n {\n variant: 'link',\n size: 'medium',\n class: ['h-4', 'text-sm', 'p-0'],\n },\n {\n variant: 'link',\n size: 'large',\n class: ['h-6', 'text-base', 'p-0'],\n },\n {\n variant: 'icon-outline',\n size: 'extra-small',\n class: ['h-8', 'w-8', 'p-2'],\n },\n {\n variant: 'icon-outline',\n size: 'small',\n class: ['h-10', 'w-10', 'p-3'],\n },\n {\n variant: 'icon-outline',\n size: 'medium',\n class: ['h-12', 'w-12', 'p-4'],\n },\n {\n variant: 'icon-outline',\n size: 'large',\n class: ['h-14', 'w-14', 'p-4'],\n },\n {\n variant: 'icon-primary',\n size: 'extra-small',\n class: ['h-8', 'w-8', 'p-2'],\n },\n {\n variant: 'icon-primary',\n size: 'small',\n class: ['h-10', 'w-10', 'p-3'],\n },\n {\n variant: 'icon-primary',\n size: 'medium',\n class: ['h-12', 'w-12', 'p-4'],\n },\n {\n variant: 'icon-primary',\n size: 'large',\n class: ['h-14', 'w-14', 'p-4'],\n },\n {\n variant: 'icon-secondary',\n size: 'extra-small',\n class: ['h-8', 'w-8', 'p-2'],\n },\n {\n variant: 'icon-secondary',\n size: 'small',\n class: ['h-10', 'w-10', 'p-3'],\n },\n {\n variant: 'icon-secondary',\n size: 'medium',\n class: ['h-12', 'w-12', 'p-4'],\n },\n {\n variant: 'icon-secondary',\n size: 'large',\n class: ['h-14', 'w-14', 'p-4'],\n },\n ],\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":"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","names":["import_react","React","text","maxWords","isExpanded","snippet","Markdown"]}
1
+ {"version":3,"sources":["../../../src/components/ui/ReadMore.tsx","../../../src/components/ui/Button.tsx","../../../src/lib/utils.ts"],"sourcesContent":["'use client'\n\nimport { type ComponentProps, useEffect, useState } from 'react'\nimport Markdown from 'react-markdown'\n\nimport { Button } from '@/components/ui/Button'\n\nexport type ReadMoreProps = ComponentProps<'div'> & {\n text: string\n}\n\nexport function ReadMore({ text, ...props }: Readonly<ReadMoreProps>) {\n const [isExpanded, setIsExpanded] = useState(false)\n const [maxWords, setMaxWords] = useState(160)\n\n const isOverMaxWords = text.split(' ').length > maxWords\n\n useEffect(() => {\n const updateMaxWords = () => {\n const windowWidth = window.innerWidth\n if (windowWidth <= 768) {\n setMaxWords(50)\n } else {\n setMaxWords(160)\n }\n }\n\n updateMaxWords()\n window.addEventListener('resize', updateMaxWords)\n\n return () => window.removeEventListener('resize', updateMaxWords)\n }, [])\n\n function createReadMoreText(text: string, maxWords: number, isExpanded: boolean): string {\n if (!isOverMaxWords) return text\n\n const words = text.split(' ')\n const snippet = isExpanded ? text : words.slice(0, maxWords).join(' ')\n const readMoreText = isExpanded ? '' : '...'\n return `${snippet} ${readMoreText}`\n }\n\n const toggleText = () => setIsExpanded(!isExpanded)\n\n const snippet = createReadMoreText(text, maxWords, isExpanded)\n\n return (\n <div {...props}>\n <div data-testid=\"read-more-text\" className=\"prose lg:prose-lg\">\n <Markdown>{snippet}</Markdown>\n </div>\n {isOverMaxWords && (\n <Button\n type=\"button\"\n className=\"mt-2 flex items-center justify-center\"\n variant=\"link\"\n onClick={toggleText}\n >\n <p className=\"text-sm font-bold underline underline-offset-2\">\n Read {isExpanded ? 'less' : 'more'}\n </p>\n </Button>\n )}\n </div>\n )\n}\n","import { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'cva'\nimport { Loader2 } from 'lucide-react'\nimport React, { forwardRef } from 'react'\n\nimport { cn } from '@/lib/utils'\n\n/**\n * Props for the Button component.\n * @interface ButtonProps\n * @extends {React.ButtonHTMLAttributes<HTMLButtonElement>}\n * @extends {VariantProps<typeof buttonVariants>}\n */\ninterface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {}\n\n/**\n * A versatile button component that supports multiple variants and sizes.\n *\n * @component\n * @example\n * ```tsx\n * // Default button\n * <Button>Click me</Button>\n *\n * // Primary variant with large size\n * <Button variant=\"primary\" size=\"lg\">Large Button</Button>\n *\n * // As a link\n * <Button asChild>\n * <a href=\"/somewhere\">Go somewhere</a>\n * </Button>\n * ```\n */\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant,\n size,\n asChild = false,\n type = 'button',\n children,\n isLoading = false,\n ...props\n },\n ref\n ) => {\n const Component = asChild ? Slot : 'button'\n\n return (\n <Component\n className={cn(buttonVariants({ variant, size, className, isLoading, asChild }))}\n type={type}\n ref={ref}\n {...props}\n >\n {asChild ? (\n children\n ) : (\n <>\n {children}\n {isLoading && (\n <div className=\"absolute inset-0 flex items-center justify-center bg-white/30 backdrop-blur-[0.5px]\">\n <Loader2 className=\"h-5 w-5 animate-spin text-gray-800\" />\n </div>\n )}\n </>\n )}\n </Component>\n )\n }\n)\nButton.displayName = 'Button'\n\n/**\n * Variant definitions for the Button component using class-variance-authority.\n * Provides consistent styling across different button variations.\n */\nexport const buttonVariants = cva(\n [\n 'relative',\n 'flex',\n 'items-center',\n 'justify-center',\n 'gap-2',\n 'rounded-full',\n 'font-bold',\n 'outline-2',\n 'outline-offset-2',\n 'outline-dashed',\n 'outline-transparent',\n 'overflow-hidden',\n ],\n {\n variants: {\n variant: {\n neutral: [\n 'bg-black',\n 'text-white',\n 'hover:bg-grey-90',\n 'active:bg-grey-80',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n primary: [\n 'bg-pickle-100',\n 'text-black',\n 'hover:bg-pickle-80',\n 'active:bg-pickle-60',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n secondary: [\n 'bg-green-80',\n 'text-white',\n 'hover:bg-green-90',\n 'active:bg-green-100',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n transparent: [\n 'text-white',\n 'hover:bg-green-80',\n 'active:bg-green-100',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n ],\n link: [\n 'leading-tight',\n 'text-black',\n 'underline',\n 'hover:text-purple-100',\n 'focus:text-black',\n 'focus:outline-purple-100',\n 'active:text-purple-80',\n ],\n 'outline-primary': [\n 'bg-transparent',\n 'border-2',\n 'border-pickle-100',\n 'text-pickle-100',\n 'hover:bg-pickle-100',\n 'hover:text-black',\n 'active:bg-pickle-80',\n 'active:text-black',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:border-grey-40',\n 'disabled:hover:bg-transparent',\n 'disabled:hover:text-grey-40',\n ],\n 'outline-secondary': [\n 'bg-transparent',\n 'border-2',\n 'border-green-80',\n 'text-green-80',\n 'hover:bg-green-80',\n 'hover:text-white',\n 'active:bg-green-90',\n 'active:text-white',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n 'disabled:border-grey-40',\n 'disabled:hover:bg-transparent',\n 'disabled:hover:text-grey-40',\n ],\n 'icon-outline': [\n 'bg-transparent',\n 'text-black',\n 'hover:bg-grey-5',\n 'active:bg-grey-10',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:hover:bg-transparent',\n 'disabled:hover:text-grey-40',\n ],\n 'icon-primary': [\n 'bg-pickle-100',\n 'text-black',\n 'hover:bg-pickle-80',\n 'active:bg-pickle-60',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n 'icon-secondary': [\n 'bg-green-80',\n 'text-white',\n 'hover:bg-green-90',\n 'active:bg-green-100',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n },\n size: {\n 'extra-small': ['h-8', 'text-xs', 'px-3', 'py-1'],\n small: ['h-10', 'text-sm', 'px-4', 'py-2'],\n medium: ['h-12', 'text-base', 'px-6', 'py-3'],\n large: ['h-14', 'text-lg', 'px-8', 'py-4'],\n },\n isLoading: {\n true: ['cursor-not-allowed', 'pointer-events-none'],\n },\n asChild: {\n true: [],\n false: ['cursor-pointer', 'pointer-events-auto'],\n },\n },\n defaultVariants: {\n variant: 'neutral',\n size: 'medium',\n isLoading: false,\n asChild: false,\n },\n compoundVariants: [\n {\n variant: 'link',\n size: 'extra-small',\n class: ['h-3', 'text-xs', 'p-0'],\n },\n {\n variant: 'link',\n size: 'small',\n class: ['h-3', 'text-xs', 'p-0'],\n },\n {\n variant: 'link',\n size: 'medium',\n class: ['h-4', 'text-sm', 'p-0'],\n },\n {\n variant: 'link',\n size: 'large',\n class: ['h-6', 'text-base', 'p-0'],\n },\n {\n variant: 'icon-outline',\n size: 'extra-small',\n class: ['h-8', 'w-8', 'p-1.5', '[&>svg]:w-5', '[&>svg]:h-5'],\n },\n {\n variant: 'icon-outline',\n size: 'small',\n class: ['h-10', 'w-10', 'p-2', '[&>svg]:w-6', '[&>svg]:h-6'],\n },\n {\n variant: 'icon-outline',\n size: 'medium',\n class: ['h-12', 'w-12', 'p-2.5', '[&>svg]:w-7', '[&>svg]:h-7'],\n },\n {\n variant: 'icon-outline',\n size: 'large',\n class: ['h-14', 'w-14', 'p-3', '[&>svg]:w-8', '[&>svg]:h-8'],\n },\n {\n variant: 'icon-primary',\n size: 'extra-small',\n class: ['h-8', 'w-8', 'p-1.5', '[&>svg]:w-5', '[&>svg]:h-5'],\n },\n {\n variant: 'icon-primary',\n size: 'small',\n class: ['h-10', 'w-10', 'p-2', '[&>svg]:w-6', '[&>svg]:h-6'],\n },\n {\n variant: 'icon-primary',\n size: 'medium',\n class: ['h-12', 'w-12', 'p-2.5', '[&>svg]:w-7', '[&>svg]:h-7'],\n },\n {\n variant: 'icon-primary',\n size: 'large',\n class: ['h-14', 'w-14', 'p-3', '[&>svg]:w-8', '[&>svg]:h-8'],\n },\n {\n variant: 'icon-secondary',\n size: 'extra-small',\n class: ['h-8', 'w-8', 'p-1.5', '[&>svg]:w-5', '[&>svg]:h-5'],\n },\n {\n variant: 'icon-secondary',\n size: 'small',\n class: ['h-10', 'w-10', 'p-2', '[&>svg]:w-6', '[&>svg]:h-6'],\n },\n {\n variant: 'icon-secondary',\n size: 'medium',\n class: ['h-12', 'w-12', 'p-2.5', '[&>svg]:w-7', '[&>svg]:h-7'],\n },\n {\n variant: 'icon-secondary',\n size: 'large',\n class: ['h-14', 'w-14', 'p-3', '[&>svg]:w-8', '[&>svg]:h-8'],\n },\n ],\n }\n)\n","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":"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","names":["import_react","React","text","maxWords","isExpanded","snippet","Markdown"]}
@@ -207,62 +207,62 @@ var buttonVariants = cva(
207
207
  {
208
208
  variant: "icon-outline",
209
209
  size: "extra-small",
210
- class: ["h-8", "w-8", "p-2"]
210
+ class: ["h-8", "w-8", "p-1.5", "[&>svg]:w-5", "[&>svg]:h-5"]
211
211
  },
212
212
  {
213
213
  variant: "icon-outline",
214
214
  size: "small",
215
- class: ["h-10", "w-10", "p-3"]
215
+ class: ["h-10", "w-10", "p-2", "[&>svg]:w-6", "[&>svg]:h-6"]
216
216
  },
217
217
  {
218
218
  variant: "icon-outline",
219
219
  size: "medium",
220
- class: ["h-12", "w-12", "p-4"]
220
+ class: ["h-12", "w-12", "p-2.5", "[&>svg]:w-7", "[&>svg]:h-7"]
221
221
  },
222
222
  {
223
223
  variant: "icon-outline",
224
224
  size: "large",
225
- class: ["h-14", "w-14", "p-4"]
225
+ class: ["h-14", "w-14", "p-3", "[&>svg]:w-8", "[&>svg]:h-8"]
226
226
  },
227
227
  {
228
228
  variant: "icon-primary",
229
229
  size: "extra-small",
230
- class: ["h-8", "w-8", "p-2"]
230
+ class: ["h-8", "w-8", "p-1.5", "[&>svg]:w-5", "[&>svg]:h-5"]
231
231
  },
232
232
  {
233
233
  variant: "icon-primary",
234
234
  size: "small",
235
- class: ["h-10", "w-10", "p-3"]
235
+ class: ["h-10", "w-10", "p-2", "[&>svg]:w-6", "[&>svg]:h-6"]
236
236
  },
237
237
  {
238
238
  variant: "icon-primary",
239
239
  size: "medium",
240
- class: ["h-12", "w-12", "p-4"]
240
+ class: ["h-12", "w-12", "p-2.5", "[&>svg]:w-7", "[&>svg]:h-7"]
241
241
  },
242
242
  {
243
243
  variant: "icon-primary",
244
244
  size: "large",
245
- class: ["h-14", "w-14", "p-4"]
245
+ class: ["h-14", "w-14", "p-3", "[&>svg]:w-8", "[&>svg]:h-8"]
246
246
  },
247
247
  {
248
248
  variant: "icon-secondary",
249
249
  size: "extra-small",
250
- class: ["h-8", "w-8", "p-2"]
250
+ class: ["h-8", "w-8", "p-1.5", "[&>svg]:w-5", "[&>svg]:h-5"]
251
251
  },
252
252
  {
253
253
  variant: "icon-secondary",
254
254
  size: "small",
255
- class: ["h-10", "w-10", "p-3"]
255
+ class: ["h-10", "w-10", "p-2", "[&>svg]:w-6", "[&>svg]:h-6"]
256
256
  },
257
257
  {
258
258
  variant: "icon-secondary",
259
259
  size: "medium",
260
- class: ["h-12", "w-12", "p-4"]
260
+ class: ["h-12", "w-12", "p-2.5", "[&>svg]:w-7", "[&>svg]:h-7"]
261
261
  },
262
262
  {
263
263
  variant: "icon-secondary",
264
264
  size: "large",
265
- class: ["h-14", "w-14", "p-4"]
265
+ class: ["h-14", "w-14", "p-3", "[&>svg]:w-8", "[&>svg]:h-8"]
266
266
  }
267
267
  ]
268
268
  }