analytica-frontend-lib 1.0.84 → 1.0.85

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 (133) hide show
  1. package/dist/Accordation/index.js +163 -74
  2. package/dist/Accordation/index.js.map +1 -1
  3. package/dist/Accordation/index.mjs +163 -74
  4. package/dist/Accordation/index.mjs.map +1 -1
  5. package/dist/Alert/index.js +32 -32
  6. package/dist/Alert/index.js.map +1 -1
  7. package/dist/Alert/index.mjs +32 -32
  8. package/dist/Alert/index.mjs.map +1 -1
  9. package/dist/AlertDialog/index.js +13 -2
  10. package/dist/AlertDialog/index.js.map +1 -1
  11. package/dist/AlertDialog/index.mjs +13 -2
  12. package/dist/AlertDialog/index.mjs.map +1 -1
  13. package/dist/Alternative/index.js +86 -25
  14. package/dist/Alternative/index.js.map +1 -1
  15. package/dist/Alternative/index.mjs +86 -25
  16. package/dist/Alternative/index.mjs.map +1 -1
  17. package/dist/Badge/index.js +13 -4
  18. package/dist/Badge/index.js.map +1 -1
  19. package/dist/Badge/index.mjs +13 -4
  20. package/dist/Badge/index.mjs.map +1 -1
  21. package/dist/Button/index.js +10 -1
  22. package/dist/Button/index.js.map +1 -1
  23. package/dist/Button/index.mjs +8 -1
  24. package/dist/Button/index.mjs.map +1 -1
  25. package/dist/Calendar/index.js +11 -2
  26. package/dist/Calendar/index.js.map +1 -1
  27. package/dist/Calendar/index.mjs +11 -2
  28. package/dist/Calendar/index.mjs.map +1 -1
  29. package/dist/Card/index.js +154 -71
  30. package/dist/Card/index.js.map +1 -1
  31. package/dist/Card/index.mjs +154 -71
  32. package/dist/Card/index.mjs.map +1 -1
  33. package/dist/CheckBox/index.js +28 -5
  34. package/dist/CheckBox/index.js.map +1 -1
  35. package/dist/CheckBox/index.mjs +28 -5
  36. package/dist/CheckBox/index.mjs.map +1 -1
  37. package/dist/Chips/index.js +10 -1
  38. package/dist/Chips/index.js.map +1 -1
  39. package/dist/Chips/index.mjs +10 -1
  40. package/dist/Chips/index.mjs.map +1 -1
  41. package/dist/Divider/index.js +10 -1
  42. package/dist/Divider/index.js.map +1 -1
  43. package/dist/Divider/index.mjs +8 -1
  44. package/dist/Divider/index.mjs.map +1 -1
  45. package/dist/DropdownMenu/index.js +18 -22
  46. package/dist/DropdownMenu/index.js.map +1 -1
  47. package/dist/DropdownMenu/index.mjs +18 -22
  48. package/dist/DropdownMenu/index.mjs.map +1 -1
  49. package/dist/IconButton/index.js +10 -1
  50. package/dist/IconButton/index.js.map +1 -1
  51. package/dist/IconButton/index.mjs +10 -1
  52. package/dist/IconButton/index.mjs.map +1 -1
  53. package/dist/IconRoundedButton/index.js +10 -1
  54. package/dist/IconRoundedButton/index.js.map +1 -1
  55. package/dist/IconRoundedButton/index.mjs +8 -1
  56. package/dist/IconRoundedButton/index.mjs.map +1 -1
  57. package/dist/Menu/index.js +22 -10
  58. package/dist/Menu/index.js.map +1 -1
  59. package/dist/Menu/index.mjs +22 -10
  60. package/dist/Menu/index.mjs.map +1 -1
  61. package/dist/Modal/index.js +15 -1
  62. package/dist/Modal/index.js.map +1 -1
  63. package/dist/Modal/index.mjs +15 -1
  64. package/dist/Modal/index.mjs.map +1 -1
  65. package/dist/NavButton/index.js +10 -1
  66. package/dist/NavButton/index.js.map +1 -1
  67. package/dist/NavButton/index.mjs +10 -1
  68. package/dist/NavButton/index.mjs.map +1 -1
  69. package/dist/NotFound/index.js +13 -3
  70. package/dist/NotFound/index.js.map +1 -1
  71. package/dist/NotFound/index.mjs +13 -3
  72. package/dist/NotFound/index.mjs.map +1 -1
  73. package/dist/ProgressBar/index.js +63 -15
  74. package/dist/ProgressBar/index.js.map +1 -1
  75. package/dist/ProgressBar/index.mjs +63 -15
  76. package/dist/ProgressBar/index.mjs.map +1 -1
  77. package/dist/ProgressCircle/index.js +34 -7
  78. package/dist/ProgressCircle/index.js.map +1 -1
  79. package/dist/ProgressCircle/index.mjs +34 -7
  80. package/dist/ProgressCircle/index.mjs.map +1 -1
  81. package/dist/Quiz/index.js +300 -111
  82. package/dist/Quiz/index.js.map +1 -1
  83. package/dist/Quiz/index.mjs +300 -111
  84. package/dist/Quiz/index.mjs.map +1 -1
  85. package/dist/Radio/index.js +36 -6
  86. package/dist/Radio/index.js.map +1 -1
  87. package/dist/Radio/index.mjs +36 -6
  88. package/dist/Radio/index.mjs.map +1 -1
  89. package/dist/Select/index.js +20 -4
  90. package/dist/Select/index.js.map +1 -1
  91. package/dist/Select/index.mjs +20 -4
  92. package/dist/Select/index.mjs.map +1 -1
  93. package/dist/SelectionButton/index.js +10 -1
  94. package/dist/SelectionButton/index.js.map +1 -1
  95. package/dist/SelectionButton/index.mjs +10 -1
  96. package/dist/SelectionButton/index.mjs.map +1 -1
  97. package/dist/Skeleton/index.js +18 -6
  98. package/dist/Skeleton/index.js.map +1 -1
  99. package/dist/Skeleton/index.mjs +18 -6
  100. package/dist/Skeleton/index.mjs.map +1 -1
  101. package/dist/Stepper/index.js +27 -18
  102. package/dist/Stepper/index.js.map +1 -1
  103. package/dist/Stepper/index.mjs +27 -18
  104. package/dist/Stepper/index.mjs.map +1 -1
  105. package/dist/Table/index.js +37 -13
  106. package/dist/Table/index.js.map +1 -1
  107. package/dist/Table/index.mjs +37 -13
  108. package/dist/Table/index.mjs.map +1 -1
  109. package/dist/Text/index.js +10 -1
  110. package/dist/Text/index.js.map +1 -1
  111. package/dist/Text/index.mjs +8 -1
  112. package/dist/Text/index.mjs.map +1 -1
  113. package/dist/TextArea/index.js +17 -3
  114. package/dist/TextArea/index.js.map +1 -1
  115. package/dist/TextArea/index.mjs +17 -3
  116. package/dist/TextArea/index.mjs.map +1 -1
  117. package/dist/Toast/Toaster/index.js +15 -1
  118. package/dist/Toast/Toaster/index.js.map +1 -1
  119. package/dist/Toast/Toaster/index.mjs +15 -1
  120. package/dist/Toast/Toaster/index.mjs.map +1 -1
  121. package/dist/Toast/index.js +15 -1
  122. package/dist/Toast/index.js.map +1 -1
  123. package/dist/Toast/index.mjs +15 -1
  124. package/dist/Toast/index.mjs.map +1 -1
  125. package/dist/index.css +5 -12
  126. package/dist/index.css.map +1 -1
  127. package/dist/index.js +452 -223
  128. package/dist/index.js.map +1 -1
  129. package/dist/index.mjs +452 -223
  130. package/dist/index.mjs.map +1 -1
  131. package/dist/styles.css +5 -12
  132. package/dist/styles.css.map +1 -1
  133. package/package.json +3 -1
package/dist/index.js CHANGED
@@ -112,6 +112,13 @@ __export(src_exports, {
112
112
  });
113
113
  module.exports = __toCommonJS(src_exports);
114
114
 
115
+ // src/utils/utils.ts
116
+ var import_clsx = require("clsx");
117
+ var import_tailwind_merge = require("tailwind-merge");
118
+ function cn(...inputs) {
119
+ return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
120
+ }
121
+
115
122
  // src/components/Text/Text.tsx
116
123
  var import_jsx_runtime = require("react/jsx-runtime");
117
124
  var Text = ({
@@ -155,7 +162,7 @@ var Text = ({
155
162
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
156
163
  Component,
157
164
  {
158
- className: `${baseClasses} ${sizeClasses} ${weightClasses} ${color} ${className}`,
165
+ className: cn(baseClasses, sizeClasses, weightClasses, color, className),
159
166
  ...props,
160
167
  children
161
168
  }
@@ -207,7 +214,7 @@ var Button = ({
207
214
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
208
215
  "button",
209
216
  {
210
- className: `${baseClasses} ${variantClasses} ${sizeClasses} ${className}`,
217
+ className: cn(baseClasses, variantClasses, sizeClasses, className),
211
218
  disabled,
212
219
  type,
213
220
  ...props,
@@ -288,7 +295,7 @@ var Badge = ({
288
295
  return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
289
296
  "div",
290
297
  {
291
- className: `${baseClasses} ${variantClasses} ${sizeClasses} ${className}`,
298
+ className: cn(baseClasses, variantClasses, sizeClasses, className),
292
299
  ...props,
293
300
  children: [
294
301
  /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_phosphor_react.Bell, { size: 24, className: "text-current", "aria-hidden": "true" }),
@@ -306,12 +313,12 @@ var Badge = ({
306
313
  return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
307
314
  "div",
308
315
  {
309
- className: `${baseClasses} ${variantClasses} ${sizeClasses} ${className}`,
316
+ className: cn(baseClasses, variantClasses, sizeClasses, className),
310
317
  ...props,
311
318
  children: [
312
- iconLeft && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: `${baseClassesIcon} ${sizeClassesIcon}`, children: iconLeft }),
319
+ iconLeft && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: cn(baseClassesIcon, sizeClassesIcon), children: iconLeft }),
313
320
  children,
314
- iconRight && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: `${baseClassesIcon} ${sizeClassesIcon}`, children: iconRight })
321
+ iconRight && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: cn(baseClassesIcon, sizeClassesIcon), children: iconRight })
315
322
  ]
316
323
  }
317
324
  );
@@ -364,37 +371,30 @@ var Alert = ({
364
371
  const variantColor = COLOR_CLASSES[action];
365
372
  const variantIcon = ICONS[action];
366
373
  const hasHeading = Boolean(title);
367
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
368
- "div",
369
- {
370
- className: `${baseClasses} ${variantClasses} ${className ?? ""}`,
371
- ...props,
372
- children: [
373
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: `mt-0.5 ${variantColor}`, children: variantIcon }),
374
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { children: [
375
- hasHeading && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
376
- Text_default,
377
- {
378
- size: "md",
379
- weight: "medium",
380
- color: variantColor,
381
- className: "mb-0.5",
382
- children: title
383
- }
384
- ),
385
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
386
- Text_default,
387
- {
388
- size: hasHeading ? "sm" : "md",
389
- weight: "normal",
390
- color: !hasHeading ? variantColor : "text-text-700",
391
- children: description
392
- }
393
- )
394
- ] })
395
- ]
396
- }
397
- );
374
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: cn(baseClasses, variantClasses, className), ...props, children: [
375
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: cn("mt-0.5", variantColor), children: variantIcon }),
376
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { children: [
377
+ hasHeading && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
378
+ Text_default,
379
+ {
380
+ size: "md",
381
+ weight: "medium",
382
+ color: variantColor,
383
+ className: "mb-0.5",
384
+ children: title
385
+ }
386
+ ),
387
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
388
+ Text_default,
389
+ {
390
+ size: hasHeading ? "sm" : "md",
391
+ weight: "normal",
392
+ color: !hasHeading ? variantColor : "text-text-700",
393
+ children: description
394
+ }
395
+ )
396
+ ] })
397
+ ] });
398
398
  };
399
399
  var Alert_default = Alert;
400
400
 
@@ -438,7 +438,7 @@ var IconButton = (0, import_react.forwardRef)(
438
438
  {
439
439
  ref,
440
440
  type: "button",
441
- className: `${allClasses} ${className}`,
441
+ className: cn(allClasses, className),
442
442
  disabled,
443
443
  "aria-pressed": active,
444
444
  "aria-label": ariaLabel,
@@ -484,7 +484,7 @@ var IconRoundedButton = ({
484
484
  "button",
485
485
  {
486
486
  type: "button",
487
- className: `${baseClasses} ${className}`,
487
+ className: cn(baseClasses, className),
488
488
  disabled,
489
489
  ...props,
490
490
  children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: "flex items-center justify-center w-5 h-5", children: icon })
@@ -528,7 +528,7 @@ var NavButton = (0, import_react2.forwardRef)(
528
528
  {
529
529
  ref,
530
530
  type: "button",
531
- className: `${allClasses} ${className}`,
531
+ className: cn(allClasses, className),
532
532
  disabled,
533
533
  "aria-pressed": selected,
534
534
  ...props,
@@ -583,7 +583,7 @@ var SelectionButton = (0, import_react3.forwardRef)(
583
583
  {
584
584
  ref,
585
585
  type: "button",
586
- className: `${allClasses} ${className}`,
586
+ className: cn(allClasses, className),
587
587
  disabled,
588
588
  "aria-pressed": selected,
589
589
  ...props,
@@ -606,7 +606,7 @@ var Table = (0, import_react4.forwardRef)(
606
606
  "table",
607
607
  {
608
608
  ref,
609
- className: `w-full caption-bottom text-sm ${className ?? ""}`,
609
+ className: cn("w-full caption-bottom text-sm", className),
610
610
  ...props,
611
611
  children: [
612
612
  /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("caption", { className: "sr-only", children: "My Table" }),
@@ -620,7 +620,7 @@ var TableHeader = (0, import_react4.forwardRef)(({ className, ...props }, ref) =
620
620
  "thead",
621
621
  {
622
622
  ref,
623
- className: `[&_tr:first-child]:border-0 ${className}`,
623
+ className: cn("[&_tr:first-child]:border-0", className),
624
624
  ...props
625
625
  }
626
626
  ));
@@ -629,7 +629,10 @@ var TableBody = (0, import_react4.forwardRef)(({ className, ...props }, ref) =>
629
629
  "tbody",
630
630
  {
631
631
  ref,
632
- className: `[&_tr:last-child]:border-0 border-t border-border-200 ${className}`,
632
+ className: cn(
633
+ "[&_tr:last-child]:border-0 border-t border-border-200",
634
+ className
635
+ ),
633
636
  ...props
634
637
  }
635
638
  ));
@@ -638,7 +641,10 @@ var TableFooter = (0, import_react4.forwardRef)(({ className, ...props }, ref) =
638
641
  "tfoot",
639
642
  {
640
643
  ref,
641
- className: `border-t bg-background-50 border-border-200 font-medium [&>tr]:last:border-b-0 px-6 py-3.5 ${className}`,
644
+ className: cn(
645
+ "border-t bg-background-50 border-border-200 font-medium [&>tr]:last:border-b-0 px-6 py-3.5",
646
+ className
647
+ ),
642
648
  ...props
643
649
  }
644
650
  ));
@@ -655,12 +661,12 @@ var TableRow = (0, import_react4.forwardRef)(
655
661
  "tr",
656
662
  {
657
663
  ref,
658
- className: `
659
- transition-colors
660
- ${state !== "disabled" ? "hover:bg-muted/50" : ""}
661
- ${VARIANT_STATES_ROW[state]}
662
- ${className}
663
- `,
664
+ className: cn(
665
+ "transition-colors",
666
+ state !== "disabled" ? "hover:bg-muted/50" : "",
667
+ VARIANT_STATES_ROW[state],
668
+ className
669
+ ),
664
670
  "aria-disabled": state === "disabled",
665
671
  ...props
666
672
  }
@@ -672,7 +678,10 @@ var TableHead = (0, import_react4.forwardRef)(({ className, ...props }, ref) =>
672
678
  "th",
673
679
  {
674
680
  ref,
675
- className: `h-10 px-6 py-3.5 bg-bg-secondary bg-muted/50 text-left align-middle font-bold text-text-800 [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] ${className}`,
681
+ className: cn(
682
+ "h-10 px-6 py-3.5 bg-muted/50 text-left align-middle font-bold text-text-800 [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
683
+ className
684
+ ),
676
685
  ...props
677
686
  }
678
687
  ));
@@ -681,7 +690,10 @@ var TableCell = (0, import_react4.forwardRef)(({ className, ...props }, ref) =>
681
690
  "td",
682
691
  {
683
692
  ref,
684
- className: `p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] text-md text-text-800 px-6 py-3.5 ${className}`,
693
+ className: cn(
694
+ "p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] text-md text-text-800 px-6 py-3.5",
695
+ className
696
+ ),
685
697
  ...props
686
698
  }
687
699
  ));
@@ -690,7 +702,10 @@ var TableCaption = (0, import_react4.forwardRef)(({ className, ...props }, ref)
690
702
  "caption",
691
703
  {
692
704
  ref,
693
- className: `border-t border-border-200 text-sm text-text-800 px-6 py-3.5 ${className}`,
705
+ className: cn(
706
+ "border-t border-border-200 text-sm text-text-800 px-6 py-3.5",
707
+ className
708
+ ),
694
709
  ...props
695
710
  }
696
711
  ));
@@ -792,7 +807,13 @@ var CheckBox = (0, import_react5.forwardRef)(
792
807
  const checkVariant = checked || indeterminate ? "checked" : "unchecked";
793
808
  const stylingClasses = STATE_CLASSES[currentState][checkVariant];
794
809
  const borderWidthClass = state === "focused" || state === "hovered" && size === "large" ? "border-[3px]" : sizeClasses.borderWidth;
795
- const checkboxClasses = `${BASE_CHECKBOX_CLASSES} ${sizeClasses.checkbox} ${borderWidthClass} ${stylingClasses} ${className}`;
810
+ const checkboxClasses = cn(
811
+ BASE_CHECKBOX_CLASSES,
812
+ sizeClasses.checkbox,
813
+ borderWidthClass,
814
+ stylingClasses,
815
+ className
816
+ );
796
817
  const renderIcon = () => {
797
818
  if (indeterminate) {
798
819
  return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
@@ -820,7 +841,11 @@ var CheckBox = (0, import_react5.forwardRef)(
820
841
  /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
821
842
  "div",
822
843
  {
823
- className: `flex flex-row items-center ${sizeClasses.spacing} ${disabled ? "opacity-40" : ""}`,
844
+ className: cn(
845
+ "flex flex-row items-center",
846
+ sizeClasses.spacing,
847
+ disabled ? "opacity-40" : ""
848
+ ),
824
849
  children: [
825
850
  /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
826
851
  "input",
@@ -839,7 +864,10 @@ var CheckBox = (0, import_react5.forwardRef)(
839
864
  label && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
840
865
  "div",
841
866
  {
842
- className: `flex flex-row items-center ${sizeClasses.labelHeight}`,
867
+ className: cn(
868
+ "flex flex-row items-center",
869
+ sizeClasses.labelHeight
870
+ ),
843
871
  children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
844
872
  Text_default,
845
873
  {
@@ -847,7 +875,10 @@ var CheckBox = (0, import_react5.forwardRef)(
847
875
  htmlFor: inputId,
848
876
  size: sizeClasses.textSize,
849
877
  weight: "normal",
850
- className: `cursor-pointer select-none leading-[150%] flex items-center font-roboto ${labelClassName}`,
878
+ className: cn(
879
+ "cursor-pointer select-none leading-[150%] flex items-center font-roboto",
880
+ labelClassName
881
+ ),
851
882
  children: label
852
883
  }
853
884
  )
@@ -997,8 +1028,19 @@ var Radio = (0, import_react6.forwardRef)(
997
1028
  return sizeClasses.borderWidth;
998
1029
  };
999
1030
  const borderWidthClass = getBorderWidth();
1000
- const radioClasses = `${BASE_RADIO_CLASSES} ${actualRadioSize} ${borderWidthClass} ${stylingClasses} ${className}`;
1001
- const dotClasses = `${actualDotSize} rounded-full ${DOT_CLASSES[currentState]} transition-all duration-200`;
1031
+ const radioClasses = cn(
1032
+ BASE_RADIO_CLASSES,
1033
+ actualRadioSize,
1034
+ borderWidthClass,
1035
+ stylingClasses,
1036
+ className
1037
+ );
1038
+ const dotClasses = cn(
1039
+ actualDotSize,
1040
+ "rounded-full",
1041
+ DOT_CLASSES[currentState],
1042
+ "transition-all duration-200"
1043
+ );
1002
1044
  const isWrapperNeeded = currentState === "focused" || currentState === "invalid";
1003
1045
  const wrapperBorderColor = currentState === "focused" ? "border-indicator-info" : "border-indicator-error";
1004
1046
  const getTextColor = () => {
@@ -1017,7 +1059,11 @@ var Radio = (0, import_react6.forwardRef)(
1017
1059
  /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
1018
1060
  "div",
1019
1061
  {
1020
- className: `flex flex-row items-center ${isWrapperNeeded ? `p-1 border-2 ${wrapperBorderColor} rounded-lg gap-1.5` : sizeClasses.spacing} ${disabled ? "opacity-40" : ""}`,
1062
+ className: cn(
1063
+ "flex flex-row items-center",
1064
+ isWrapperNeeded ? cn("p-1 border-2", wrapperBorderColor, "rounded-lg gap-1.5") : sizeClasses.spacing,
1065
+ disabled ? "opacity-40" : ""
1066
+ ),
1021
1067
  children: [
1022
1068
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1023
1069
  "input",
@@ -1074,7 +1120,11 @@ var Radio = (0, import_react6.forwardRef)(
1074
1120
  label && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1075
1121
  "div",
1076
1122
  {
1077
- className: `flex flex-row items-center ${sizeClasses.labelHeight} flex-1 min-w-0`,
1123
+ className: cn(
1124
+ "flex flex-row items-center",
1125
+ sizeClasses.labelHeight,
1126
+ "flex-1 min-w-0"
1127
+ ),
1078
1128
  children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1079
1129
  Text_default,
1080
1130
  {
@@ -1082,7 +1132,11 @@ var Radio = (0, import_react6.forwardRef)(
1082
1132
  htmlFor: inputId,
1083
1133
  size: sizeClasses.textSize,
1084
1134
  weight: "normal",
1085
- className: `${getCursorClass()} select-none leading-normal flex items-center font-roboto truncate ${labelClassName}`,
1135
+ className: cn(
1136
+ getCursorClass(),
1137
+ "select-none leading-normal flex items-center font-roboto truncate",
1138
+ labelClassName
1139
+ ),
1086
1140
  color: getTextColor(),
1087
1141
  children: label
1088
1142
  }
@@ -1330,7 +1384,14 @@ var TextArea = (0, import_react7.forwardRef)(
1330
1384
  }
1331
1385
  const sizeClasses = SIZE_CLASSES5[size];
1332
1386
  const stateClasses = STATE_CLASSES3[currentState];
1333
- const textareaClasses = `${BASE_TEXTAREA_CLASSES} ${sizeClasses.textarea} ${stateClasses.base} ${stateClasses.hover} ${stateClasses.focus} ${className}`;
1387
+ const textareaClasses = cn(
1388
+ BASE_TEXTAREA_CLASSES,
1389
+ sizeClasses.textarea,
1390
+ stateClasses.base,
1391
+ stateClasses.hover,
1392
+ stateClasses.focus,
1393
+ className
1394
+ );
1334
1395
  return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: `flex flex-col`, children: [
1335
1396
  label && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1336
1397
  Text_default,
@@ -1340,7 +1401,7 @@ var TextArea = (0, import_react7.forwardRef)(
1340
1401
  size: sizeClasses.textSize,
1341
1402
  weight: "medium",
1342
1403
  color: "text-text-950",
1343
- className: `mb-1.5 ${labelClassName}`,
1404
+ className: cn("mb-1.5", labelClassName),
1344
1405
  children: label
1345
1406
  }
1346
1407
  ),
@@ -1418,7 +1479,12 @@ var Toast = ({
1418
1479
  role: "alert",
1419
1480
  "aria-live": "assertive",
1420
1481
  "aria-atomic": "true",
1421
- className: `${baseClasses} ${positionClasses[position]} ${variantClasses} ${className}`,
1482
+ className: cn(
1483
+ baseClasses,
1484
+ positionClasses[position],
1485
+ variantClasses,
1486
+ className
1487
+ ),
1422
1488
  ...props,
1423
1489
  children: [
1424
1490
  /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "flex flex-row items-start gap-3", children: [
@@ -1496,7 +1562,7 @@ var Divider = ({
1496
1562
  return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1497
1563
  "hr",
1498
1564
  {
1499
- className: `${baseClasses} ${orientationClasses[orientation]} ${className}`,
1565
+ className: cn(baseClasses, orientationClasses[orientation], className),
1500
1566
  "aria-orientation": orientation,
1501
1567
  ...props
1502
1568
  }
@@ -1687,7 +1753,7 @@ var Chips = ({
1687
1753
  return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
1688
1754
  "button",
1689
1755
  {
1690
- className: `${baseClasses} ${stateClasses} ${className}`,
1756
+ className: cn(baseClasses, stateClasses, className),
1691
1757
  disabled,
1692
1758
  type,
1693
1759
  ...props,
@@ -1816,7 +1882,10 @@ var renderStackedHitCountDisplay = (showHitCount, showPercentage, clampedValue,
1816
1882
  return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1817
1883
  "div",
1818
1884
  {
1819
- className: `text-xs font-medium leading-[14px] text-right ${percentageClassName}`,
1885
+ className: cn(
1886
+ "text-xs font-medium leading-[14px] text-right",
1887
+ percentageClassName
1888
+ ),
1820
1889
  children: displayPriority.type === "hitCount" ? /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [
1821
1890
  /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: "text-success-200", children: Math.round(clampedValue) }),
1822
1891
  /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("span", { className: "text-text-600", children: [
@@ -1841,7 +1910,11 @@ var ProgressBarBase = ({
1841
1910
  }) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
1842
1911
  "div",
1843
1912
  {
1844
- className: `${containerClassName} ${variantClasses.background} overflow-hidden relative`,
1913
+ className: cn(
1914
+ containerClassName,
1915
+ variantClasses.background,
1916
+ "overflow-hidden relative"
1917
+ ),
1845
1918
  children: [
1846
1919
  /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1847
1920
  "progress",
@@ -1855,7 +1928,11 @@ var ProgressBarBase = ({
1855
1928
  /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1856
1929
  "div",
1857
1930
  {
1858
- className: `${fillClassName} ${variantClasses.fill} transition-all duration-300 ease-out`,
1931
+ className: cn(
1932
+ fillClassName,
1933
+ variantClasses.fill,
1934
+ "transition-all duration-300 ease-out"
1935
+ ),
1859
1936
  style: { width: `${percentage}%` }
1860
1937
  }
1861
1938
  )
@@ -1877,7 +1954,12 @@ var StackedLayout = ({
1877
1954
  }) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
1878
1955
  "div",
1879
1956
  {
1880
- className: `flex flex-col items-start gap-2 ${dimensions.width} ${dimensions.height} ${className}`,
1957
+ className: cn(
1958
+ "flex flex-col items-start gap-2",
1959
+ dimensions.width,
1960
+ dimensions.height,
1961
+ className
1962
+ ),
1881
1963
  children: [
1882
1964
  shouldShowHeader(label, showPercentage, showHitCount) && /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "flex flex-row justify-between items-center w-full h-[19px]", children: [
1883
1965
  label && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
@@ -1886,7 +1968,7 @@ var StackedLayout = ({
1886
1968
  as: "div",
1887
1969
  size: "md",
1888
1970
  weight: "medium",
1889
- className: `text-text-600 leading-[19px] ${labelClassName}`,
1971
+ className: cn("text-text-600 leading-[19px]", labelClassName),
1890
1972
  children: label
1891
1973
  }
1892
1974
  ),
@@ -1944,7 +2026,12 @@ var CompactLayout = ({
1944
2026
  return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
1945
2027
  "div",
1946
2028
  {
1947
- className: `flex flex-col items-start gap-1 ${dimensions.width} ${dimensions.height} ${className}`,
2029
+ className: cn(
2030
+ "flex flex-col items-start gap-1",
2031
+ dimensions.width,
2032
+ dimensions.height,
2033
+ className
2034
+ ),
1948
2035
  children: [
1949
2036
  shouldShowHeader(label, showPercentage, showHitCount) && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1950
2037
  Text_default,
@@ -1953,7 +2040,7 @@ var CompactLayout = ({
1953
2040
  size: "sm",
1954
2041
  weight: "medium",
1955
2042
  color,
1956
- className: `leading-4 w-full ${compactClassName}`,
2043
+ className: cn("leading-4 w-full", compactClassName),
1957
2044
  children: content
1958
2045
  }
1959
2046
  ),
@@ -1993,7 +2080,7 @@ var DefaultLayout = ({
1993
2080
  label,
1994
2081
  showPercentage
1995
2082
  );
1996
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: `flex ${sizeClasses.layout} ${gapClass} ${className}`, children: [
2083
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: cn("flex", sizeClasses.layout, gapClass, className), children: [
1997
2084
  displayConfig.showHeader && /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "flex flex-row items-center justify-between w-full", children: [
1998
2085
  label && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1999
2086
  Text_default,
@@ -2001,7 +2088,10 @@ var DefaultLayout = ({
2001
2088
  as: "div",
2002
2089
  size: "xs",
2003
2090
  weight: "medium",
2004
- className: `text-text-950 leading-none tracking-normal text-center ${labelClassName}`,
2091
+ className: cn(
2092
+ "text-text-950 leading-none tracking-normal text-center",
2093
+ labelClassName
2094
+ ),
2005
2095
  children: label
2006
2096
  }
2007
2097
  ),
@@ -2010,7 +2100,10 @@ var DefaultLayout = ({
2010
2100
  {
2011
2101
  size: "xs",
2012
2102
  weight: "medium",
2013
- className: `text-text-950 leading-none tracking-normal text-center ${percentageClassName}`,
2103
+ className: cn(
2104
+ "text-text-950 leading-none tracking-normal text-center",
2105
+ percentageClassName
2106
+ ),
2014
2107
  children: [
2015
2108
  Math.round(percentage),
2016
2109
  "%"
@@ -2026,8 +2119,16 @@ var DefaultLayout = ({
2026
2119
  percentage,
2027
2120
  label,
2028
2121
  variantClasses,
2029
- containerClassName: `${progressBarClass} ${sizeClasses.container} ${sizeClasses.borderRadius}`,
2030
- fillClassName: `${sizeClasses.bar} ${sizeClasses.borderRadius} shadow-hard-shadow-3`
2122
+ containerClassName: cn(
2123
+ progressBarClass,
2124
+ sizeClasses.container,
2125
+ sizeClasses.borderRadius
2126
+ ),
2127
+ fillClassName: cn(
2128
+ sizeClasses.bar,
2129
+ sizeClasses.borderRadius,
2130
+ "shadow-hard-shadow-3"
2131
+ )
2031
2132
  }
2032
2133
  ),
2033
2134
  displayConfig.showPercentage && /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
@@ -2035,7 +2136,10 @@ var DefaultLayout = ({
2035
2136
  {
2036
2137
  size: "xs",
2037
2138
  weight: "medium",
2038
- className: `text-text-950 leading-none tracking-normal text-center flex-none ${percentageClassName}`,
2139
+ className: cn(
2140
+ "text-text-950 leading-none tracking-normal text-center flex-none",
2141
+ percentageClassName
2142
+ ),
2039
2143
  children: [
2040
2144
  Math.round(percentage),
2041
2145
  "%"
@@ -2048,7 +2152,10 @@ var DefaultLayout = ({
2048
2152
  as: "div",
2049
2153
  size: "xs",
2050
2154
  weight: "medium",
2051
- className: `text-text-950 leading-none tracking-normal text-center flex-none ${labelClassName}`,
2155
+ className: cn(
2156
+ "text-text-950 leading-none tracking-normal text-center flex-none",
2157
+ labelClassName
2158
+ ),
2052
2159
  children: label
2053
2160
  }
2054
2161
  )
@@ -2221,7 +2328,12 @@ var ProgressCircle = ({
2221
2328
  return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
2222
2329
  "div",
2223
2330
  {
2224
- className: `relative flex flex-col items-center justify-center ${sizeClasses.container} rounded-lg ${className}`,
2331
+ className: cn(
2332
+ "relative flex flex-col items-center justify-center",
2333
+ sizeClasses.container,
2334
+ "rounded-lg",
2335
+ className
2336
+ ),
2225
2337
  children: [
2226
2338
  /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
2227
2339
  "svg",
@@ -2240,7 +2352,7 @@ var ProgressCircle = ({
2240
2352
  r: radius,
2241
2353
  fill: "none",
2242
2354
  strokeWidth: sizeClasses.strokeWidth,
2243
- className: `${variantClasses.background} rounded-lg`
2355
+ className: cn(variantClasses.background, "rounded-lg")
2244
2356
  }
2245
2357
  ),
2246
2358
  /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
@@ -2254,7 +2366,10 @@ var ProgressCircle = ({
2254
2366
  strokeLinecap: "round",
2255
2367
  strokeDasharray: circumference,
2256
2368
  strokeDashoffset,
2257
- className: `${variantClasses.fill} transition-all duration-500 ease-out shadow-soft-shadow-3 rounded-lg`
2369
+ className: cn(
2370
+ variantClasses.fill,
2371
+ "transition-all duration-500 ease-out shadow-soft-shadow-3 rounded-lg"
2372
+ )
2258
2373
  }
2259
2374
  )
2260
2375
  ]
@@ -2272,14 +2387,22 @@ var ProgressCircle = ({
2272
2387
  /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
2273
2388
  "div",
2274
2389
  {
2275
- className: `relative z-10 flex flex-col items-center justify-center ${sizeClasses.spacing} ${sizeClasses.contentWidth}`,
2390
+ className: cn(
2391
+ "relative z-10 flex flex-col items-center justify-center",
2392
+ sizeClasses.spacing,
2393
+ sizeClasses.contentWidth
2394
+ ),
2276
2395
  children: [
2277
2396
  showPercentage && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
2278
2397
  Text_default,
2279
2398
  {
2280
2399
  size: sizeClasses.textSize,
2281
2400
  weight: sizeClasses.textWeight,
2282
- className: `text-center w-full ${variantClasses.textColor} ${percentageClassName}`,
2401
+ className: cn(
2402
+ "text-center w-full",
2403
+ variantClasses.textColor,
2404
+ percentageClassName
2405
+ ),
2283
2406
  children: [
2284
2407
  Math.round(percentage),
2285
2408
  "%"
@@ -2292,7 +2415,11 @@ var ProgressCircle = ({
2292
2415
  as: "span",
2293
2416
  size: sizeClasses.labelSize,
2294
2417
  weight: sizeClasses.labelWeight,
2295
- className: `${variantClasses.labelColor} text-center uppercase tracking-wide truncate w-full ${size === "small" ? "text-[8px] leading-[9px]" : ""} ${labelClassName}`,
2418
+ className: cn(
2419
+ variantClasses.labelColor,
2420
+ "text-center uppercase tracking-wide truncate w-full",
2421
+ labelClassName
2422
+ ),
2296
2423
  children: label
2297
2424
  }
2298
2425
  )
@@ -2491,7 +2618,10 @@ var Step = ({
2491
2618
  size: sizeClasses.indicatorTextSize,
2492
2619
  weight: "medium",
2493
2620
  color: "",
2494
- className: `${stateClasses.indicatorText} leading-none text-2xs sm:text-xs`,
2621
+ className: cn(
2622
+ stateClasses.indicatorText,
2623
+ "leading-none text-2xs sm:text-xs"
2624
+ ),
2495
2625
  children: stepNumber
2496
2626
  }
2497
2627
  )
@@ -2503,13 +2633,10 @@ var Step = ({
2503
2633
  size: sizeClasses.labelTextSize,
2504
2634
  weight: "medium",
2505
2635
  color: "",
2506
- className: `
2507
- ${stateClasses.label} leading-tight flex-none
2508
- text-center sm:text-left break-words
2509
- px-1 sm:px-0 max-w-full
2510
- text-2xs sm:text-xs md:text-xs lg:text-sm
2511
- whitespace-normal
2512
- `,
2636
+ className: cn(
2637
+ stateClasses.label,
2638
+ "leading-tight flex-none text-center sm:text-left break-words px-1 sm:px-0 max-w-full text-2xs sm:text-xs md:text-xs lg:text-sm whitespace-normal"
2639
+ ),
2513
2640
  children: step.label
2514
2641
  }
2515
2642
  )
@@ -2555,7 +2682,11 @@ var Stepper = ({
2555
2682
  return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
2556
2683
  "fieldset",
2557
2684
  {
2558
- className: `flex flex-col gap-4 sm:gap-5 md:gap-6 ${className} border-0 p-0 m-0`,
2685
+ className: cn(
2686
+ "flex flex-col gap-4 sm:gap-5 md:gap-6",
2687
+ className,
2688
+ "border-0 p-0 m-0"
2689
+ ),
2559
2690
  children: [
2560
2691
  /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("legend", { className: "absolute w-px h-px p-0 -m-px overflow-hidden whitespace-nowrap border-0", children: "Stepper de formul\xE1rio" }),
2561
2692
  showProgress && currentStep !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
@@ -2570,14 +2701,12 @@ var Stepper = ({
2570
2701
  /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2571
2702
  "div",
2572
2703
  {
2573
- className: `
2574
- flex items-center
2575
- ${sizeClasses.container}
2576
- ${responsive ? "flex-row overflow-x-auto overflow-y-hidden scrollbar-hide justify-start sm:justify-center md:justify-center lg:justify-center" : "flex-row justify-center"}
2577
- px-2 sm:px-4 md:px-6 lg:px-0
2578
- max-w-full min-w-0
2579
- gap-2 sm:gap-3 md:gap-4 lg:gap-4
2580
- `,
2704
+ className: cn(
2705
+ "flex items-center",
2706
+ sizeClasses.container,
2707
+ responsive ? "flex-row overflow-x-auto overflow-y-hidden scrollbar-hide justify-start sm:justify-center md:justify-center lg:justify-center" : "flex-row justify-center",
2708
+ "px-2 sm:px-4 md:px-6 lg:px-0 max-w-full min-w-0 gap-2 sm:gap-3 md:gap-4 lg:gap-4"
2709
+ ),
2581
2710
  role: "tablist",
2582
2711
  "aria-label": "Progress steps",
2583
2712
  children: steps.map((step, index) => {
@@ -2784,7 +2913,7 @@ var Calendar = ({
2784
2913
  onDateSelect?.(day.date);
2785
2914
  };
2786
2915
  if (variant === "navigation") {
2787
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `bg-background rounded-xl pt-6 ${className}`, children: [
2916
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: cn("bg-background rounded-xl pt-6", className), children: [
2788
2917
  /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center justify-between mb-4 px-6", children: [
2789
2918
  /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "relative", ref: monthPickerContainerRef, children: [
2790
2919
  /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
@@ -2944,7 +3073,7 @@ var Calendar = ({
2944
3073
  }) })
2945
3074
  ] });
2946
3075
  }
2947
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `bg-background rounded-xl p-4 ${className}`, children: [
3076
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: cn("bg-background rounded-xl p-4", className), children: [
2948
3077
  /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center justify-between mb-3.5", children: [
2949
3078
  /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "relative", ref: monthPickerContainerRef, children: [
2950
3079
  /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
@@ -3159,7 +3288,12 @@ var Modal = ({
3159
3288
  const sizeClasses = SIZE_CLASSES10[size];
3160
3289
  const baseClasses = "bg-secondary-50 rounded-3xl shadow-hard-shadow-2 border border-border-100 w-full mx-4";
3161
3290
  const dialogResetClasses = "p-0 m-0 border-none outline-none max-h-none static";
3162
- const modalClasses = `${baseClasses} ${sizeClasses} ${dialogResetClasses} ${className}`;
3291
+ const modalClasses = cn(
3292
+ baseClasses,
3293
+ sizeClasses,
3294
+ dialogResetClasses,
3295
+ className
3296
+ );
3163
3297
  return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
3164
3298
  "div",
3165
3299
  {
@@ -3293,21 +3427,28 @@ var CardActivitiesResults = (0, import_react11.forwardRef)(
3293
3427
  "div",
3294
3428
  {
3295
3429
  ref,
3296
- className: `w-full flex flex-col border border-border-50 bg-background rounded-xl ${className}`,
3430
+ className: cn(
3431
+ "w-full flex flex-col border border-border-50 bg-background rounded-xl",
3432
+ className
3433
+ ),
3297
3434
  ...props,
3298
3435
  children: [
3299
3436
  /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
3300
3437
  "div",
3301
3438
  {
3302
- className: `
3303
- flex flex-col gap-1 items-center justify-center p-4
3304
- ${actionCardClasses}
3305
- ${extended ? "rounded-t-xl" : "rounded-xl"}`,
3439
+ className: cn(
3440
+ "flex flex-col gap-1 items-center justify-center p-4",
3441
+ actionCardClasses,
3442
+ extended ? "rounded-t-xl" : "rounded-xl"
3443
+ ),
3306
3444
  children: [
3307
3445
  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3308
3446
  "span",
3309
3447
  {
3310
- className: `size-7.5 rounded-full flex items-center justify-center ${actionIconClasses}`,
3448
+ className: cn(
3449
+ "size-7.5 rounded-full flex items-center justify-center",
3450
+ actionIconClasses
3451
+ ),
3311
3452
  children: icon
3312
3453
  }
3313
3454
  ),
@@ -3320,7 +3461,13 @@ var CardActivitiesResults = (0, import_react11.forwardRef)(
3320
3461
  children: title
3321
3462
  }
3322
3463
  ),
3323
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: `text-lg font-bold truncate ${actionSubTitleClasses}`, children: subTitle })
3464
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3465
+ "p",
3466
+ {
3467
+ className: cn("text-lg font-bold truncate", actionSubTitleClasses),
3468
+ children: subTitle
3469
+ }
3470
+ )
3324
3471
  ]
3325
3472
  }
3326
3473
  ),
@@ -3328,7 +3475,10 @@ var CardActivitiesResults = (0, import_react11.forwardRef)(
3328
3475
  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3329
3476
  "p",
3330
3477
  {
3331
- className: `text-2xs font-medium uppercase truncate ${actionHeaderClasses}`,
3478
+ className: cn(
3479
+ "text-2xs font-medium uppercase truncate",
3480
+ actionHeaderClasses
3481
+ ),
3332
3482
  children: header
3333
3483
  }
3334
3484
  ),
@@ -3358,7 +3508,7 @@ var CardQuestions = (0, import_react11.forwardRef)(
3358
3508
  layout: "horizontal",
3359
3509
  padding: "medium",
3360
3510
  minHeight: "medium",
3361
- className: `justify-between gap-4 ${className}`,
3511
+ className: cn("justify-between gap-4", className),
3362
3512
  ...props,
3363
3513
  children: [
3364
3514
  /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("section", { className: "flex flex-col gap-1 flex-1 min-w-0", children: [
@@ -3436,7 +3586,9 @@ var CardProgress = (0, import_react11.forwardRef)(
3436
3586
  {
3437
3587
  size: "xs",
3438
3588
  weight: "medium",
3439
- className: `text-text-950 leading-none tracking-normal text-center flex-none`,
3589
+ className: cn(
3590
+ "text-text-950 leading-none tracking-normal text-center flex-none"
3591
+ ),
3440
3592
  children: [
3441
3593
  Math.round(progress),
3442
3594
  "%"
@@ -3455,17 +3607,17 @@ var CardProgress = (0, import_react11.forwardRef)(
3455
3607
  padding: "none",
3456
3608
  minHeight: "medium",
3457
3609
  cursor: "pointer",
3458
- className: `${isHorizontal ? "h-20" : ""} ${className}`,
3610
+ className: cn(isHorizontal ? "h-20" : "", className),
3459
3611
  ...props,
3460
3612
  children: [
3461
3613
  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3462
3614
  "div",
3463
3615
  {
3464
- className: `
3465
- flex justify-center items-center [&>svg]:size-6 text-text-950
3466
- ${isHorizontal ? "min-w-[80px] min-h-[80px] rounded-l-xl" : "min-h-[50px] w-full rounded-t-xl"}
3467
- ${!color.startsWith("#") ? `bg-${color}` : ""}
3468
- `,
3616
+ className: cn(
3617
+ "flex justify-center items-center [&>svg]:size-6 text-text-950",
3618
+ isHorizontal ? "min-w-[80px] min-h-[80px] rounded-l-xl" : "min-h-[50px] w-full rounded-t-xl",
3619
+ !color.startsWith("#") ? `bg-${color}` : ""
3620
+ ),
3469
3621
  style: color.startsWith("#") ? { backgroundColor: color } : void 0,
3470
3622
  "data-testid": "icon-container",
3471
3623
  children: icon
@@ -3474,10 +3626,10 @@ var CardProgress = (0, import_react11.forwardRef)(
3474
3626
  /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
3475
3627
  "div",
3476
3628
  {
3477
- className: `
3478
- p-4 flex flex-col justify-between w-full h-full
3479
- ${!isHorizontal && "gap-4"}
3480
- `,
3629
+ className: cn(
3630
+ "p-4 flex flex-col justify-between w-full h-full",
3631
+ !isHorizontal && "gap-4"
3632
+ ),
3481
3633
  children: [
3482
3634
  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Text_default, { size: "sm", weight: "bold", className: "text-text-950 truncate", children: header }),
3483
3635
  contentComponent[direction]
@@ -3507,7 +3659,7 @@ var CardTopic = (0, import_react11.forwardRef)(
3507
3659
  padding: "small",
3508
3660
  minHeight: "medium",
3509
3661
  cursor: "pointer",
3510
- className: `justify-center gap-2 py-2 px-4 ${className}`,
3662
+ className: cn("justify-center gap-2 py-2 px-4", className),
3511
3663
  ...props,
3512
3664
  children: [
3513
3665
  subHead && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "text-text-600 text-2xs flex flex-row gap-1", children: subHead.map((text, index) => /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_react11.Fragment, { children: [
@@ -3530,7 +3682,9 @@ var CardTopic = (0, import_react11.forwardRef)(
3530
3682
  {
3531
3683
  size: "xs",
3532
3684
  weight: "medium",
3533
- className: `text-text-950 leading-none tracking-normal text-center flex-none`,
3685
+ className: cn(
3686
+ "text-text-950 leading-none tracking-normal text-center flex-none"
3687
+ ),
3534
3688
  children: [
3535
3689
  Math.round(progress),
3536
3690
  "%"
@@ -3564,7 +3718,10 @@ var CardPerformance = (0, import_react11.forwardRef)(
3564
3718
  layout: "horizontal",
3565
3719
  padding: "medium",
3566
3720
  minHeight: "none",
3567
- className: `justify-between gap-2 ${actionVariant == "caret" ? "cursor-pointer" : ""} ${className}`,
3721
+ className: cn(
3722
+ actionVariant == "caret" ? "cursor-pointer" : "",
3723
+ className
3724
+ ),
3568
3725
  onClick: () => actionVariant == "caret" && onClickButton?.(valueButton),
3569
3726
  ...props,
3570
3727
  children: [
@@ -3622,15 +3779,15 @@ var CardResults = (0, import_react11.forwardRef)(
3622
3779
  layout: "horizontal",
3623
3780
  padding: "none",
3624
3781
  minHeight: "medium",
3625
- className: `items-center cursor-pointer pr-4 ${className}`,
3782
+ className: cn("items-center cursor-pointer pr-4", className),
3626
3783
  ...props,
3627
3784
  children: [
3628
3785
  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3629
3786
  "div",
3630
3787
  {
3631
- className: `
3632
- flex justify-center items-center [&>svg]:size-8 text-text-950 min-w-20 max-w-20 min-h-20 h-full rounded-l-xl
3633
- `,
3788
+ className: cn(
3789
+ "flex justify-center items-center [&>svg]:size-8 text-text-950 min-w-20 max-w-20 min-h-20 h-full rounded-l-xl"
3790
+ ),
3634
3791
  style: {
3635
3792
  backgroundColor: color
3636
3793
  },
@@ -3640,10 +3797,10 @@ var CardResults = (0, import_react11.forwardRef)(
3640
3797
  /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
3641
3798
  "div",
3642
3799
  {
3643
- className: `
3644
- p-4 flex justify-between w-full h-full
3645
- ${isRow ? "flex-row items-center gap-2" : "flex-col"}
3646
- `,
3800
+ className: cn(
3801
+ "p-4 flex justify-between w-full h-full",
3802
+ isRow ? "flex-row items-center gap-2" : "flex-col"
3803
+ ),
3647
3804
  children: [
3648
3805
  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "text-sm font-bold text-text-950 truncate flex-1 min-w-0", children: header }),
3649
3806
  /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("span", { className: "flex flex-row gap-1 items-center", children: [
@@ -3692,7 +3849,7 @@ var CardStatus = (0, import_react11.forwardRef)(
3692
3849
  layout: "horizontal",
3693
3850
  padding: "medium",
3694
3851
  minHeight: "medium",
3695
- className: `items-center cursor-pointer ${className}`,
3852
+ className: cn("items-center cursor-pointer", className),
3696
3853
  ...props,
3697
3854
  children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex justify-between w-full h-full flex-row items-center gap-2", children: [
3698
3855
  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "text-sm font-bold text-text-950 truncate flex-1 min-w-0", children: header }),
@@ -3724,7 +3881,10 @@ var CardSettings = (0, import_react11.forwardRef)(
3724
3881
  layout: "horizontal",
3725
3882
  padding: "small",
3726
3883
  minHeight: "none",
3727
- className: `border-none items-center gap-2 text-text-700 ${className}`,
3884
+ className: cn(
3885
+ "border-none items-center gap-2 text-text-700",
3886
+ className
3887
+ ),
3728
3888
  ...props,
3729
3889
  children: [
3730
3890
  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "[&>svg]:size-6", children: icon }),
@@ -3744,15 +3904,19 @@ var CardSupport = (0, import_react11.forwardRef)(
3744
3904
  layout: "horizontal",
3745
3905
  padding: "medium",
3746
3906
  minHeight: "none",
3747
- className: `border-none items-center gap-2 text-text-700 ${className}`,
3907
+ className: cn(
3908
+ "border-none items-center gap-2 text-text-700",
3909
+ className
3910
+ ),
3748
3911
  ...props,
3749
3912
  children: [
3750
3913
  /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
3751
3914
  "div",
3752
3915
  {
3753
- className: `
3754
- w-full flex ${direction == "col" ? "flex-col" : "flex-row items-center"} gap-2
3755
- `,
3916
+ className: cn(
3917
+ "w-full flex",
3918
+ direction == "col" ? "flex-col" : "flex-row items-center"
3919
+ ),
3756
3920
  children: [
3757
3921
  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "text-sm text-text-950 font-bold truncate", children: header }) }),
3758
3922
  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "flex flex-row gap-1", children })
@@ -3787,7 +3951,7 @@ var CardForum = (0, import_react11.forwardRef)(
3787
3951
  padding: "medium",
3788
3952
  minHeight: "none",
3789
3953
  variant: "minimal",
3790
- className: `w-auto h-auto gap-3 ${className}`,
3954
+ className: cn("w-auto h-auto gap-3", className),
3791
3955
  ...props,
3792
3956
  children: [
3793
3957
  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
@@ -3920,7 +4084,7 @@ var CardAudio = (0, import_react11.forwardRef)(
3920
4084
  layout: "horizontal",
3921
4085
  padding: "medium",
3922
4086
  minHeight: "none",
3923
- className: `w-auto h-14 items-center gap-2 ${className}`,
4087
+ className: cn("w-auto h-14 items-center gap-2", className),
3924
4088
  ...props,
3925
4089
  children: [
3926
4090
  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
@@ -4089,7 +4253,10 @@ var CardSimulado = (0, import_react11.forwardRef)(
4089
4253
  padding: "medium",
4090
4254
  minHeight: "none",
4091
4255
  cursor: "pointer",
4092
- className: `${backgroundClass} hover:shadow-soft-shadow-2 transition-shadow duration-200 ${className}`,
4256
+ className: cn(
4257
+ `${backgroundClass} hover:shadow-soft-shadow-2 transition-shadow duration-200`,
4258
+ className
4259
+ ),
4093
4260
  ...props,
4094
4261
  children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex justify-between items-center w-full gap-4", children: [
4095
4262
  /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex flex-col gap-1 flex-1 min-w-0", children: [
@@ -4152,7 +4319,9 @@ var CardTest = (0, import_react11.forwardRef)(
4152
4319
  {
4153
4320
  ref,
4154
4321
  type: "button",
4155
- className: `${baseClasses} ${interactiveClasses} ${selectedClasses} ${className}`.trim(),
4322
+ className: cn(
4323
+ `${baseClasses} ${interactiveClasses} ${selectedClasses} ${className}`.trim()
4324
+ ),
4156
4325
  onClick: handleClick,
4157
4326
  onKeyDown: handleKeyDown,
4158
4327
  "aria-pressed": selected,
@@ -4196,7 +4365,7 @@ var CardTest = (0, import_react11.forwardRef)(
4196
4365
  "div",
4197
4366
  {
4198
4367
  ref,
4199
- className: `${baseClasses} ${className}`.trim(),
4368
+ className: cn(`${baseClasses} ${className}`.trim()),
4200
4369
  ...props,
4201
4370
  children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex flex-col justify-between gap-[27px] flex-grow min-h-[67px] w-full min-w-0", children: [
4202
4371
  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
@@ -4261,16 +4430,16 @@ var CardSimulationHistory = (0, import_react11.forwardRef)(({ data, onSimulation
4261
4430
  "div",
4262
4431
  {
4263
4432
  ref,
4264
- className: `w-full max-w-[992px] h-auto ${className}`,
4433
+ className: cn("w-full max-w-[992px] h-auto", className),
4265
4434
  ...props,
4266
4435
  children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex flex-col gap-0", children: [
4267
4436
  data.map((section, sectionIndex) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "flex flex-col", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
4268
4437
  "div",
4269
4438
  {
4270
- className: `
4271
- flex flex-row justify-center items-start px-4 py-6 gap-2 w-full bg-white
4272
- ${sectionIndex === 0 ? "rounded-t-3xl" : ""}
4273
- `,
4439
+ className: cn(
4440
+ "flex flex-row justify-center items-start px-4 py-6 gap-2 w-full bg-white",
4441
+ sectionIndex === 0 ? "rounded-t-3xl" : ""
4442
+ ),
4274
4443
  children: [
4275
4444
  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4276
4445
  Text_default,
@@ -4290,10 +4459,10 @@ var CardSimulationHistory = (0, import_react11.forwardRef)(({ data, onSimulation
4290
4459
  padding: "medium",
4291
4460
  minHeight: "none",
4292
4461
  cursor: "pointer",
4293
- className: `
4294
- ${typeStyles.background} rounded-xl hover:shadow-soft-shadow-2
4295
- transition-shadow duration-200 h-auto min-h-[61px]
4296
- `,
4462
+ className: cn(
4463
+ `${typeStyles.background} rounded-xl hover:shadow-soft-shadow-2
4464
+ transition-shadow duration-200 h-auto min-h-[61px]`
4465
+ ),
4297
4466
  onClick: () => onSimulationClick?.(simulation),
4298
4467
  children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex justify-between items-center w-full gap-2", children: [
4299
4468
  /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex flex-col gap-2 flex-1 min-w-0", children: [
@@ -4373,7 +4542,7 @@ var CardAccordation = (0, import_react12.forwardRef)(
4373
4542
  layout: "vertical",
4374
4543
  padding: "none",
4375
4544
  minHeight: "none",
4376
- className: `overflow-hidden ${className}`,
4545
+ className: cn("overflow-hidden", className),
4377
4546
  ...props,
4378
4547
  children: [
4379
4548
  /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
@@ -4390,7 +4559,10 @@ var CardAccordation = (0, import_react12.forwardRef)(
4390
4559
  import_phosphor_react11.CaretRight,
4391
4560
  {
4392
4561
  size: 20,
4393
- className: `text-text-700 transition-transform duration-200 flex-shrink-0 ${isExpanded ? "rotate-90" : "rotate-0"}`,
4562
+ className: cn(
4563
+ "text-text-700 transition-transform duration-200 flex-shrink-0",
4564
+ isExpanded ? "rotate-90" : "rotate-0"
4565
+ ),
4394
4566
  "data-testid": "accordion-caret"
4395
4567
  }
4396
4568
  )
@@ -4401,7 +4573,10 @@ var CardAccordation = (0, import_react12.forwardRef)(
4401
4573
  "div",
4402
4574
  {
4403
4575
  id: contentId,
4404
- className: `transition-all duration-300 ease-in-out overflow-hidden ${isExpanded ? "max-h-screen opacity-100" : "max-h-0 opacity-0"}`,
4576
+ className: cn(
4577
+ "transition-all duration-300 ease-in-out overflow-hidden",
4578
+ isExpanded ? "max-h-screen opacity-100" : "max-h-0 opacity-0"
4579
+ ),
4405
4580
  "data-testid": "accordion-content",
4406
4581
  children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "p-4 pt-0 border-border-50", children })
4407
4582
  }
@@ -4484,7 +4659,11 @@ var AlternativesList = ({
4484
4659
  return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
4485
4660
  "div",
4486
4661
  {
4487
- className: `border-2 rounded-lg p-4 w-full ${statusStyles} ${alternative.disabled ? "opacity-50" : ""}`,
4662
+ className: cn(
4663
+ "border-2 rounded-lg p-4 w-full",
4664
+ statusStyles,
4665
+ alternative.disabled ? "opacity-50" : ""
4666
+ ),
4488
4667
  children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-start justify-between gap-3", children: [
4489
4668
  /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-start gap-3 flex-1", children: [
4490
4669
  /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "mt-1", children: renderRadio() }),
@@ -4492,7 +4671,10 @@ var AlternativesList = ({
4492
4671
  /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
4493
4672
  "p",
4494
4673
  {
4495
- className: `block font-medium ${selectedValue === alternative.value || statusBadge ? "text-text-950" : "text-text-600"}`,
4674
+ className: cn(
4675
+ "block font-medium",
4676
+ selectedValue === alternative.value || statusBadge ? "text-text-950" : "text-text-600"
4677
+ ),
4496
4678
  children: alternative.label
4497
4679
  }
4498
4680
  ),
@@ -4508,14 +4690,21 @@ var AlternativesList = ({
4508
4690
  return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
4509
4691
  "div",
4510
4692
  {
4511
- className: `flex flex-row justify-between items-start gap-2 p-2 rounded-lg w-full ${statusStyles} ${alternative.disabled ? "opacity-50" : ""}`,
4693
+ className: cn(
4694
+ "flex flex-row justify-between items-start gap-2 p-2 rounded-lg w-full",
4695
+ statusStyles,
4696
+ alternative.disabled ? "opacity-50" : ""
4697
+ ),
4512
4698
  children: [
4513
4699
  /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-center gap-2 flex-1", children: [
4514
4700
  renderRadio(),
4515
4701
  /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
4516
4702
  "span",
4517
4703
  {
4518
- className: `flex-1 ${selectedValue === alternative.value || statusBadge ? "text-text-950" : "text-text-600"}`,
4704
+ className: cn(
4705
+ "flex-1",
4706
+ selectedValue === alternative.value || statusBadge ? "text-text-950" : "text-text-600"
4707
+ ),
4519
4708
  children: alternative.label
4520
4709
  }
4521
4710
  )
@@ -4530,7 +4719,7 @@ var AlternativesList = ({
4530
4719
  return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
4531
4720
  "div",
4532
4721
  {
4533
- className: `flex flex-col ${getLayoutClasses()} w-full ${className}`,
4722
+ className: cn("flex flex-col", getLayoutClasses(), "w-full", className),
4534
4723
  children: alternatives.map(
4535
4724
  (alternative) => renderReadonlyAlternative(alternative)
4536
4725
  )
@@ -4548,7 +4737,7 @@ var AlternativesList = ({
4548
4737
  onValueChange?.(value2);
4549
4738
  },
4550
4739
  disabled,
4551
- className: `flex flex-col ${getLayoutClasses()} ${className}`,
4740
+ className: cn("flex flex-col", getLayoutClasses(), className),
4552
4741
  children: alternatives.map((alternative, index) => {
4553
4742
  const alternativeId = alternative.value || `alt-${index}`;
4554
4743
  const statusStyles = getStatusStyles(alternative.status, false);
@@ -4557,7 +4746,11 @@ var AlternativesList = ({
4557
4746
  return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
4558
4747
  "div",
4559
4748
  {
4560
- className: `border-2 rounded-lg p-4 transition-all ${statusStyles} ${alternative.disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"}`,
4749
+ className: cn(
4750
+ "border-2 rounded-lg p-4 transition-all",
4751
+ statusStyles,
4752
+ alternative.disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"
4753
+ ),
4561
4754
  children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-start justify-between gap-3", children: [
4562
4755
  /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-start gap-3 flex-1", children: [
4563
4756
  /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
@@ -4574,9 +4767,11 @@ var AlternativesList = ({
4574
4767
  "label",
4575
4768
  {
4576
4769
  htmlFor: alternativeId,
4577
- className: `block font-medium
4578
- ${actualValue === alternative.value ? "text-text-950" : "text-text-600"}
4579
- ${alternative.disabled ? "cursor-not-allowed" : "cursor-pointer"}`,
4770
+ className: cn(
4771
+ "block font-medium",
4772
+ actualValue === alternative.value ? "text-text-950" : "text-text-600",
4773
+ alternative.disabled ? "cursor-not-allowed" : "cursor-pointer"
4774
+ ),
4580
4775
  children: alternative.label
4581
4776
  }
4582
4777
  ),
@@ -4592,7 +4787,11 @@ var AlternativesList = ({
4592
4787
  return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
4593
4788
  "div",
4594
4789
  {
4595
- className: `flex flex-row justify-between gap-2 items-start p-2 rounded-lg transition-all ${statusStyles} ${alternative.disabled ? "opacity-50 cursor-not-allowed" : ""}`,
4790
+ className: cn(
4791
+ "flex flex-row justify-between gap-2 items-start p-2 rounded-lg transition-all",
4792
+ statusStyles,
4793
+ alternative.disabled ? "opacity-50 cursor-not-allowed" : ""
4794
+ ),
4596
4795
  children: [
4597
4796
  /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-center gap-2 flex-1", children: [
4598
4797
  /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
@@ -4607,9 +4806,11 @@ var AlternativesList = ({
4607
4806
  "label",
4608
4807
  {
4609
4808
  htmlFor: alternativeId,
4610
- className: `flex-1
4611
- ${actualValue === alternative.value ? "text-text-950" : "text-text-600"}
4612
- ${alternative.disabled ? "cursor-not-allowed" : "cursor-pointer"}`,
4809
+ className: cn(
4810
+ "flex-1",
4811
+ actualValue === alternative.value ? "text-text-950" : "text-text-600",
4812
+ alternative.disabled ? "cursor-not-allowed" : "cursor-pointer"
4813
+ ),
4613
4814
  children: alternative.label
4614
4815
  }
4615
4816
  )
@@ -4629,7 +4830,10 @@ var HeaderAlternative = (0, import_react13.forwardRef)(
4629
4830
  "div",
4630
4831
  {
4631
4832
  ref,
4632
- className: `bg-background p-4 flex flex-col gap-4 rounded-xl ${className}`,
4833
+ className: cn(
4834
+ "bg-background p-4 flex flex-col gap-4 rounded-xl",
4835
+ className
4836
+ ),
4633
4837
  ...props,
4634
4838
  children: [
4635
4839
  /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("span", { className: "flex flex-col", children: [
@@ -4721,7 +4925,11 @@ var AlertDialog = (0, import_react14.forwardRef)(
4721
4925
  "div",
4722
4926
  {
4723
4927
  ref,
4724
- className: `bg-background border border-border-100 rounded-lg shadow-lg p-6 m-3 ${sizeClasses} ${className}`,
4928
+ className: cn(
4929
+ "bg-background border border-border-100 rounded-lg shadow-lg p-6 m-3",
4930
+ sizeClasses,
4931
+ className
4932
+ ),
4725
4933
  ...props,
4726
4934
  children: [
4727
4935
  /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
@@ -4882,7 +5090,7 @@ var DropdownMenuTrigger = ({
4882
5090
  if (onClick) onClick(e);
4883
5091
  },
4884
5092
  "aria-expanded": open,
4885
- className: `${className}`,
5093
+ className: cn(className),
4886
5094
  ...props,
4887
5095
  children
4888
5096
  }
@@ -4913,7 +5121,7 @@ var MenuLabel = (0, import_react15.forwardRef)(({ className, inset, store: _stor
4913
5121
  "div",
4914
5122
  {
4915
5123
  ref,
4916
- className: `text-sm w-full ${inset ? "pl-8" : ""} ${className ?? ""}`,
5124
+ className: cn("text-sm w-full", inset ? "pl-8" : "", className),
4917
5125
  ...props
4918
5126
  }
4919
5127
  );
@@ -5041,7 +5249,7 @@ var DropdownMenuSeparator = (0, import_react15.forwardRef)(({ className, store:
5041
5249
  "div",
5042
5250
  {
5043
5251
  ref,
5044
- className: `my-1 h-px bg-border-200 ${className}`,
5252
+ className: cn("my-1 h-px bg-border-200", className),
5045
5253
  ...props
5046
5254
  }
5047
5255
  ));
@@ -5054,7 +5262,10 @@ var ProfileMenuTrigger = (0, import_react15.forwardRef)(({ className, onClick, s
5054
5262
  "button",
5055
5263
  {
5056
5264
  ref,
5057
- className: `rounded-lg size-10 bg-primary-50 flex items-center justify-center cursor-pointer ${className}`,
5265
+ className: cn(
5266
+ "rounded-lg size-10 bg-primary-50 flex items-center justify-center cursor-pointer",
5267
+ className
5268
+ ),
5058
5269
  onClick: (e) => {
5059
5270
  e.stopPropagation();
5060
5271
  toggleOpen();
@@ -5073,10 +5284,7 @@ var ProfileMenuHeader = (0, import_react15.forwardRef)(({ className, name, email
5073
5284
  {
5074
5285
  ref,
5075
5286
  "data-component": "ProfileMenuHeader",
5076
- className: `
5077
- flex flex-row gap-4 items-center
5078
- ${className}
5079
- `,
5287
+ className: cn("flex flex-row gap-4 items-center", className),
5080
5288
  ...props,
5081
5289
  children: [
5082
5290
  /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "size-16 bg-primary-100 rounded-full flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_phosphor_react13.User, { size: 34, className: "text-primary-950" }) }),
@@ -5090,18 +5298,7 @@ var ProfileMenuHeader = (0, import_react15.forwardRef)(({ className, name, email
5090
5298
  });
5091
5299
  ProfileMenuHeader.displayName = "ProfileMenuHeader";
5092
5300
  var ProfileMenuSection = (0, import_react15.forwardRef)(({ className, children, store: _store, ...props }, ref) => {
5093
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
5094
- "div",
5095
- {
5096
- ref,
5097
- className: `
5098
- flex flex-col p-2
5099
- ${className}
5100
- `,
5101
- ...props,
5102
- children
5103
- }
5104
- );
5301
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { ref, className: cn("flex flex-col p-2", className), ...props, children });
5105
5302
  });
5106
5303
  ProfileMenuSection.displayName = "ProfileMenuSection";
5107
5304
  var ProfileMenuFooter = ({
@@ -5117,7 +5314,7 @@ var ProfileMenuFooter = ({
5117
5314
  Button_default,
5118
5315
  {
5119
5316
  variant: "outline",
5120
- className: `w-full ${className}`,
5317
+ className: cn("w-full", className),
5121
5318
  disabled,
5122
5319
  onClick: (e) => {
5123
5320
  setOpen(false);
@@ -5313,11 +5510,11 @@ var Select = ({
5313
5510
  "label",
5314
5511
  {
5315
5512
  htmlFor: selectId,
5316
- className: `block font-bold text-text-900 mb-1.5 ${sizeClasses}`,
5513
+ className: cn("block font-bold text-text-900 mb-1.5", sizeClasses),
5317
5514
  children: label
5318
5515
  }
5319
5516
  ),
5320
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: `relative ${sizeClasses}`, ref: selectRef, children: injectStore3(children, store, size, selectId) }),
5517
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: cn("relative", sizeClasses), ref: selectRef, children: injectStore3(children, store, size, selectId) }),
5321
5518
  /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "mt-1.5 gap-1.5", children: [
5322
5519
  helperText && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: "text-sm text-text-500", children: helperText }),
5323
5520
  errorMessage && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("p", { className: "flex gap-1 items-center text-sm text-indicator-error", children: [
@@ -5378,7 +5575,10 @@ var SelectTrigger = (0, import_react16.forwardRef)(
5378
5575
  /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5379
5576
  import_phosphor_react14.CaretDown,
5380
5577
  {
5381
- className: `h-[1em] w-[1em] opacity-50 transition-transform ${open ? "rotate-180" : ""}`
5578
+ className: cn(
5579
+ "h-[1em] w-[1em] opacity-50 transition-transform",
5580
+ open ? "rotate-180" : ""
5581
+ )
5382
5582
  }
5383
5583
  )
5384
5584
  ]
@@ -5405,7 +5605,11 @@ var SelectContent = (0, import_react16.forwardRef)(
5405
5605
  {
5406
5606
  role: "menu",
5407
5607
  ref,
5408
- className: `bg-background z-50 min-w-[210px] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md border-border-100 ${getPositionClasses()} ${className}`,
5608
+ className: cn(
5609
+ "bg-background z-50 min-w-[210px] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md border-border-100",
5610
+ getPositionClasses(),
5611
+ className
5612
+ ),
5409
5613
  ...props,
5410
5614
  children
5411
5615
  }
@@ -5612,7 +5816,10 @@ var MenuItem = (0, import_react17.forwardRef)(
5612
5816
  /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5613
5817
  "span",
5614
5818
  {
5615
- className: `flex flex-row items-center gap-2 px-4 text-text-950 text-xs font-bold ${className ?? ""}`,
5819
+ className: cn(
5820
+ "flex flex-row items-center gap-2 px-4 text-text-950 text-xs font-bold",
5821
+ className
5822
+ ),
5616
5823
  children
5617
5824
  }
5618
5825
  ),
@@ -5635,10 +5842,10 @@ var MenuItem = (0, import_react17.forwardRef)(
5635
5842
  /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5636
5843
  "span",
5637
5844
  {
5638
- className: `
5639
- border-b border-text-600 hover:border-primary-600 text-inherit text-xs
5640
- ${selectedValue === value ? "border-b-0 font-bold" : "border-b-text-600"}
5641
- `,
5845
+ className: cn(
5846
+ "border-b border-text-600 hover:border-primary-600 text-inherit text-xs",
5847
+ selectedValue === value ? "border-b-0 font-bold" : "border-b-primary-200"
5848
+ ),
5642
5849
  children
5643
5850
  }
5644
5851
  ),
@@ -5701,7 +5908,7 @@ var MenuOverflow = ({
5701
5908
  "div",
5702
5909
  {
5703
5910
  "data-testid": "menu-overflow-wrapper",
5704
- className: `relative w-full overflow-hidden ${className ?? ""}`,
5911
+ className: cn("relative w-full overflow-hidden", className),
5705
5912
  children: [
5706
5913
  showLeftArrow && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
5707
5914
  "button",
@@ -5796,12 +6003,12 @@ var Skeleton = (0, import_react18.forwardRef)(
5796
6003
  "div",
5797
6004
  {
5798
6005
  ref,
5799
- className: `flex flex-col ${spacingClass} ${className}`,
6006
+ className: cn("flex flex-col", spacingClass, className),
5800
6007
  ...props,
5801
6008
  children: Array.from({ length: lines }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
5802
6009
  "div",
5803
6010
  {
5804
- className: `${variantClass} ${animationClass}`,
6011
+ className: cn(variantClass, animationClass),
5805
6012
  style: index === lines - 1 ? { width: "60%" } : void 0
5806
6013
  },
5807
6014
  index
@@ -5813,7 +6020,7 @@ var Skeleton = (0, import_react18.forwardRef)(
5813
6020
  "div",
5814
6021
  {
5815
6022
  ref,
5816
- className: `${variantClass} ${animationClass} ${className}`,
6023
+ className: cn(variantClass, animationClass, className),
5817
6024
  style,
5818
6025
  ...props,
5819
6026
  children
@@ -5841,7 +6048,10 @@ var SkeletonCard = (0, import_react18.forwardRef)(
5841
6048
  "div",
5842
6049
  {
5843
6050
  ref,
5844
- className: `w-full p-4 bg-background border border-border-200 rounded-lg ${className}`,
6051
+ className: cn(
6052
+ "w-full p-4 bg-background border border-border-200 rounded-lg",
6053
+ className
6054
+ ),
5845
6055
  ...props,
5846
6056
  children: [
5847
6057
  /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex items-start space-x-3", children: [
@@ -5870,7 +6080,7 @@ var SkeletonList = (0, import_react18.forwardRef)(
5870
6080
  className = "",
5871
6081
  ...props
5872
6082
  }, ref) => {
5873
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { ref, className: `space-y-3 ${className}`, ...props, children: Array.from({ length: items }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex items-start space-x-3 p-3", children: [
6083
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { ref, className: cn("space-y-3", className), ...props, children: Array.from({ length: items }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex items-start space-x-3 p-3", children: [
5874
6084
  showAvatar && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SkeletonCircle, { width: 32, height: 32 }),
5875
6085
  /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex-1 space-y-2", children: [
5876
6086
  showTitle && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SkeletonText, { width: "40%", height: 16 }),
@@ -5881,7 +6091,7 @@ var SkeletonList = (0, import_react18.forwardRef)(
5881
6091
  );
5882
6092
  var SkeletonTable = (0, import_react18.forwardRef)(
5883
6093
  ({ rows = 5, columns = 4, showHeader = true, className = "", ...props }, ref) => {
5884
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { ref, className: `w-full ${className}`, ...props, children: [
6094
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { ref, className: cn("w-full", className), ...props, children: [
5885
6095
  showHeader && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "flex space-x-2 mb-3", children: Array.from({ length: columns }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
5886
6096
  SkeletonText,
5887
6097
  {
@@ -5949,7 +6159,10 @@ var NotFound = ({
5949
6159
  return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5950
6160
  "div",
5951
6161
  {
5952
- className: `flex flex-col w-full h-screen items-center justify-center bg-background-50 px-4 ${className}`,
6162
+ className: cn(
6163
+ "flex flex-col w-full h-screen items-center justify-center bg-background-50 px-4",
6164
+ className
6165
+ ),
5953
6166
  children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5954
6167
  "main",
5955
6168
  {
@@ -6638,7 +6851,10 @@ var Quiz = (0, import_react22.forwardRef)(({ children, className, ...props }, re
6638
6851
  "div",
6639
6852
  {
6640
6853
  ref,
6641
- className: `w-full max-w-[1000px] flex flex-col mx-auto h-full relative not-lg:px-6 ${className}`,
6854
+ className: cn(
6855
+ "w-full max-w-[1000px] flex flex-col mx-auto h-full relative not-lg:px-6",
6856
+ className
6857
+ ),
6642
6858
  ...props,
6643
6859
  children
6644
6860
  }
@@ -6654,7 +6870,11 @@ var QuizHeaderResult = (0, import_react22.forwardRef)(
6654
6870
  "div",
6655
6871
  {
6656
6872
  ref,
6657
- className: `flex flex-row items-center gap-10 p-3.5 rounded-xl ${isCorrect ? "bg-success-background" : "bg-error-background"} ${className}`,
6873
+ className: cn(
6874
+ "flex flex-row items-center gap-10 p-3.5 rounded-xl",
6875
+ isCorrect ? "bg-success-background" : "bg-error-background",
6876
+ className
6877
+ ),
6658
6878
  ...props,
6659
6879
  children: [
6660
6880
  /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("p", { className: "text-text-950 font-bold text-lg", children: "Resultado" }),
@@ -6680,7 +6900,10 @@ var QuizTitle = (0, import_react22.forwardRef)(
6680
6900
  "div",
6681
6901
  {
6682
6902
  ref,
6683
- className: `flex flex-row justify-center items-center relative p-2 ${className}`,
6903
+ className: cn(
6904
+ "flex flex-row justify-center items-center relative p-2",
6905
+ className
6906
+ ),
6684
6907
  ...props,
6685
6908
  children: [
6686
6909
  /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("span", { className: "flex flex-col gap-2 text-center", children: [
@@ -6712,7 +6935,10 @@ var QuizContent = (0, import_react22.forwardRef)(({ type = "Alternativas", child
6712
6935
  "div",
6713
6936
  {
6714
6937
  ref,
6715
- className: `rounded-t-xl px-4 pt-4 pb-[80px] h-full flex flex-col gap-4 mb-auto ${className}`,
6938
+ className: cn(
6939
+ "rounded-t-xl px-4 pt-4 pb-[80px] h-full flex flex-col gap-4 mb-auto",
6940
+ className
6941
+ ),
6716
6942
  ...props,
6717
6943
  children
6718
6944
  }
@@ -6865,7 +7091,10 @@ var QuizFooter = (0, import_react22.forwardRef)(({ className, onGoToSimulated, o
6865
7091
  "footer",
6866
7092
  {
6867
7093
  ref,
6868
- className: `w-full px-2 bg-background lg:max-w-[1000px] not-lg:max-w-[calc(100vw-32px)] border-t border-border-50 fixed bottom-0 min-h-[80px] flex flex-row justify-between items-center ${className}`,
7094
+ className: cn(
7095
+ "w-full px-2 bg-background lg:max-w-[1000px] not-lg:max-w-[calc(100vw-32px)] border-t border-border-50 fixed bottom-0 min-h-[80px] flex flex-row justify-between items-center",
7096
+ className
7097
+ ),
6869
7098
  ...props,
6870
7099
  children: [
6871
7100
  /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex flex-row items-center gap-1", children: [
@@ -7048,7 +7277,7 @@ var QuizResultHeaderTitle = (0, import_react22.forwardRef)(({ className, ...prop
7048
7277
  "div",
7049
7278
  {
7050
7279
  ref,
7051
- className: `flex flex-row pt-4 justify-between ${className}`,
7280
+ className: cn("flex flex-row pt-4 justify-between", className),
7052
7281
  ...props,
7053
7282
  children: [
7054
7283
  /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("p", { className: "text-text-950 font-bold text-2xl", children: "Resultado" }),
@@ -7063,7 +7292,7 @@ var QuizResultTitle = (0, import_react22.forwardRef)(({ className, ...props }, r
7063
7292
  return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
7064
7293
  "p",
7065
7294
  {
7066
- className: `pt-6 pb-4 text-text-950 font-bold text-lg ${className}`,
7295
+ className: cn("pt-6 pb-4 text-text-950 font-bold text-lg", className),
7067
7296
  ref,
7068
7297
  ...props,
7069
7298
  children: quizTitle