analytica-frontend-lib 1.0.84 → 1.0.86

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 +301 -112
  82. package/dist/Quiz/index.js.map +1 -1
  83. package/dist/Quiz/index.mjs +301 -112
  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 +21 -5
  90. package/dist/Select/index.js.map +1 -1
  91. package/dist/Select/index.mjs +21 -5
  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 +9 -12
  126. package/dist/index.css.map +1 -1
  127. package/dist/index.js +453 -224
  128. package/dist/index.js.map +1 -1
  129. package/dist/index.mjs +453 -224
  130. package/dist/index.mjs.map +1 -1
  131. package/dist/styles.css +9 -12
  132. package/dist/styles.css.map +1 -1
  133. package/package.json +3 -1
@@ -39,6 +39,15 @@ var import_phosphor_react6 = require("phosphor-react");
39
39
 
40
40
  // src/components/Badge/Badge.tsx
41
41
  var import_phosphor_react = require("phosphor-react");
42
+
43
+ // src/utils/utils.ts
44
+ var import_clsx = require("clsx");
45
+ var import_tailwind_merge = require("tailwind-merge");
46
+ function cn(...inputs) {
47
+ return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
48
+ }
49
+
50
+ // src/components/Badge/Badge.tsx
42
51
  var import_jsx_runtime = require("react/jsx-runtime");
43
52
  var VARIANT_ACTION_CLASSES = {
44
53
  solid: {
@@ -104,7 +113,7 @@ var Badge = ({
104
113
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
105
114
  "div",
106
115
  {
107
- className: `${baseClasses} ${variantClasses} ${sizeClasses} ${className}`,
116
+ className: cn(baseClasses, variantClasses, sizeClasses, className),
108
117
  ...props,
109
118
  children: [
110
119
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_phosphor_react.Bell, { size: 24, className: "text-current", "aria-hidden": "true" }),
@@ -122,12 +131,12 @@ var Badge = ({
122
131
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
123
132
  "div",
124
133
  {
125
- className: `${baseClasses} ${variantClasses} ${sizeClasses} ${className}`,
134
+ className: cn(baseClasses, variantClasses, sizeClasses, className),
126
135
  ...props,
127
136
  children: [
128
- iconLeft && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: `${baseClassesIcon} ${sizeClassesIcon}`, children: iconLeft }),
137
+ iconLeft && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: cn(baseClassesIcon, sizeClassesIcon), children: iconLeft }),
129
138
  children,
130
- iconRight && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: `${baseClassesIcon} ${sizeClassesIcon}`, children: iconRight })
139
+ iconRight && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: cn(baseClassesIcon, sizeClassesIcon), children: iconRight })
131
140
  ]
132
141
  }
133
142
  );
@@ -184,7 +193,7 @@ var Text = ({
184
193
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
185
194
  Component,
186
195
  {
187
- className: `${baseClasses} ${sizeClasses} ${weightClasses} ${color} ${className}`,
196
+ className: cn(baseClasses, sizeClasses, weightClasses, color, className),
188
197
  ...props,
189
198
  children
190
199
  }
@@ -305,8 +314,19 @@ var Radio = (0, import_react.forwardRef)(
305
314
  return sizeClasses.borderWidth;
306
315
  };
307
316
  const borderWidthClass = getBorderWidth();
308
- const radioClasses = `${BASE_RADIO_CLASSES} ${actualRadioSize} ${borderWidthClass} ${stylingClasses} ${className}`;
309
- const dotClasses = `${actualDotSize} rounded-full ${DOT_CLASSES[currentState]} transition-all duration-200`;
317
+ const radioClasses = cn(
318
+ BASE_RADIO_CLASSES,
319
+ actualRadioSize,
320
+ borderWidthClass,
321
+ stylingClasses,
322
+ className
323
+ );
324
+ const dotClasses = cn(
325
+ actualDotSize,
326
+ "rounded-full",
327
+ DOT_CLASSES[currentState],
328
+ "transition-all duration-200"
329
+ );
310
330
  const isWrapperNeeded = currentState === "focused" || currentState === "invalid";
311
331
  const wrapperBorderColor = currentState === "focused" ? "border-indicator-info" : "border-indicator-error";
312
332
  const getTextColor = () => {
@@ -325,7 +345,11 @@ var Radio = (0, import_react.forwardRef)(
325
345
  /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
326
346
  "div",
327
347
  {
328
- className: `flex flex-row items-center ${isWrapperNeeded ? `p-1 border-2 ${wrapperBorderColor} rounded-lg gap-1.5` : sizeClasses.spacing} ${disabled ? "opacity-40" : ""}`,
348
+ className: cn(
349
+ "flex flex-row items-center",
350
+ isWrapperNeeded ? cn("p-1 border-2", wrapperBorderColor, "rounded-lg gap-1.5") : sizeClasses.spacing,
351
+ disabled ? "opacity-40" : ""
352
+ ),
329
353
  children: [
330
354
  /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
331
355
  "input",
@@ -382,7 +406,11 @@ var Radio = (0, import_react.forwardRef)(
382
406
  label && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
383
407
  "div",
384
408
  {
385
- className: `flex flex-row items-center ${sizeClasses.labelHeight} flex-1 min-w-0`,
409
+ className: cn(
410
+ "flex flex-row items-center",
411
+ sizeClasses.labelHeight,
412
+ "flex-1 min-w-0"
413
+ ),
386
414
  children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
387
415
  Text_default,
388
416
  {
@@ -390,7 +418,11 @@ var Radio = (0, import_react.forwardRef)(
390
418
  htmlFor: inputId,
391
419
  size: sizeClasses.textSize,
392
420
  weight: "normal",
393
- className: `${getCursorClass()} select-none leading-normal flex items-center font-roboto truncate ${labelClassName}`,
421
+ className: cn(
422
+ getCursorClass(),
423
+ "select-none leading-normal flex items-center font-roboto truncate",
424
+ labelClassName
425
+ ),
394
426
  color: getTextColor(),
395
427
  children: label
396
428
  }
@@ -619,7 +651,11 @@ var AlternativesList = ({
619
651
  return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
620
652
  "div",
621
653
  {
622
- className: `border-2 rounded-lg p-4 w-full ${statusStyles} ${alternative.disabled ? "opacity-50" : ""}`,
654
+ className: cn(
655
+ "border-2 rounded-lg p-4 w-full",
656
+ statusStyles,
657
+ alternative.disabled ? "opacity-50" : ""
658
+ ),
623
659
  children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "flex items-start justify-between gap-3", children: [
624
660
  /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "flex items-start gap-3 flex-1", children: [
625
661
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "mt-1", children: renderRadio() }),
@@ -627,7 +663,10 @@ var AlternativesList = ({
627
663
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
628
664
  "p",
629
665
  {
630
- className: `block font-medium ${selectedValue === alternative.value || statusBadge ? "text-text-950" : "text-text-600"}`,
666
+ className: cn(
667
+ "block font-medium",
668
+ selectedValue === alternative.value || statusBadge ? "text-text-950" : "text-text-600"
669
+ ),
631
670
  children: alternative.label
632
671
  }
633
672
  ),
@@ -643,14 +682,21 @@ var AlternativesList = ({
643
682
  return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
644
683
  "div",
645
684
  {
646
- className: `flex flex-row justify-between items-start gap-2 p-2 rounded-lg w-full ${statusStyles} ${alternative.disabled ? "opacity-50" : ""}`,
685
+ className: cn(
686
+ "flex flex-row justify-between items-start gap-2 p-2 rounded-lg w-full",
687
+ statusStyles,
688
+ alternative.disabled ? "opacity-50" : ""
689
+ ),
647
690
  children: [
648
691
  /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "flex items-center gap-2 flex-1", children: [
649
692
  renderRadio(),
650
693
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
651
694
  "span",
652
695
  {
653
- className: `flex-1 ${selectedValue === alternative.value || statusBadge ? "text-text-950" : "text-text-600"}`,
696
+ className: cn(
697
+ "flex-1",
698
+ selectedValue === alternative.value || statusBadge ? "text-text-950" : "text-text-600"
699
+ ),
654
700
  children: alternative.label
655
701
  }
656
702
  )
@@ -665,7 +711,7 @@ var AlternativesList = ({
665
711
  return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
666
712
  "div",
667
713
  {
668
- className: `flex flex-col ${getLayoutClasses()} w-full ${className}`,
714
+ className: cn("flex flex-col", getLayoutClasses(), "w-full", className),
669
715
  children: alternatives.map(
670
716
  (alternative) => renderReadonlyAlternative(alternative)
671
717
  )
@@ -683,7 +729,7 @@ var AlternativesList = ({
683
729
  onValueChange?.(value2);
684
730
  },
685
731
  disabled,
686
- className: `flex flex-col ${getLayoutClasses()} ${className}`,
732
+ className: cn("flex flex-col", getLayoutClasses(), className),
687
733
  children: alternatives.map((alternative, index) => {
688
734
  const alternativeId = alternative.value || `alt-${index}`;
689
735
  const statusStyles = getStatusStyles(alternative.status, false);
@@ -692,7 +738,11 @@ var AlternativesList = ({
692
738
  return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
693
739
  "div",
694
740
  {
695
- className: `border-2 rounded-lg p-4 transition-all ${statusStyles} ${alternative.disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"}`,
741
+ className: cn(
742
+ "border-2 rounded-lg p-4 transition-all",
743
+ statusStyles,
744
+ alternative.disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"
745
+ ),
696
746
  children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "flex items-start justify-between gap-3", children: [
697
747
  /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "flex items-start gap-3 flex-1", children: [
698
748
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
@@ -709,9 +759,11 @@ var AlternativesList = ({
709
759
  "label",
710
760
  {
711
761
  htmlFor: alternativeId,
712
- className: `block font-medium
713
- ${actualValue === alternative.value ? "text-text-950" : "text-text-600"}
714
- ${alternative.disabled ? "cursor-not-allowed" : "cursor-pointer"}`,
762
+ className: cn(
763
+ "block font-medium",
764
+ actualValue === alternative.value ? "text-text-950" : "text-text-600",
765
+ alternative.disabled ? "cursor-not-allowed" : "cursor-pointer"
766
+ ),
715
767
  children: alternative.label
716
768
  }
717
769
  ),
@@ -727,7 +779,11 @@ var AlternativesList = ({
727
779
  return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
728
780
  "div",
729
781
  {
730
- className: `flex flex-row justify-between gap-2 items-start p-2 rounded-lg transition-all ${statusStyles} ${alternative.disabled ? "opacity-50 cursor-not-allowed" : ""}`,
782
+ className: cn(
783
+ "flex flex-row justify-between gap-2 items-start p-2 rounded-lg transition-all",
784
+ statusStyles,
785
+ alternative.disabled ? "opacity-50 cursor-not-allowed" : ""
786
+ ),
731
787
  children: [
732
788
  /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "flex items-center gap-2 flex-1", children: [
733
789
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
@@ -742,9 +798,11 @@ var AlternativesList = ({
742
798
  "label",
743
799
  {
744
800
  htmlFor: alternativeId,
745
- className: `flex-1
746
- ${actualValue === alternative.value ? "text-text-950" : "text-text-600"}
747
- ${alternative.disabled ? "cursor-not-allowed" : "cursor-pointer"}`,
801
+ className: cn(
802
+ "flex-1",
803
+ actualValue === alternative.value ? "text-text-950" : "text-text-600",
804
+ alternative.disabled ? "cursor-not-allowed" : "cursor-pointer"
805
+ ),
748
806
  children: alternative.label
749
807
  }
750
808
  )
@@ -764,7 +822,10 @@ var HeaderAlternative = (0, import_react2.forwardRef)(
764
822
  "div",
765
823
  {
766
824
  ref,
767
- className: `bg-background p-4 flex flex-col gap-4 rounded-xl ${className}`,
825
+ className: cn(
826
+ "bg-background p-4 flex flex-col gap-4 rounded-xl",
827
+ className
828
+ ),
768
829
  ...props,
769
830
  children: [
770
831
  /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("span", { className: "flex flex-col", children: [
@@ -822,7 +883,7 @@ var Button = ({
822
883
  return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
823
884
  "button",
824
885
  {
825
- className: `${baseClasses} ${variantClasses} ${sizeClasses} ${className}`,
886
+ className: cn(baseClasses, variantClasses, sizeClasses, className),
826
887
  disabled,
827
888
  type,
828
889
  ...props,
@@ -876,7 +937,7 @@ var IconButton = (0, import_react3.forwardRef)(
876
937
  {
877
938
  ref,
878
939
  type: "button",
879
- className: `${allClasses} ${className}`,
940
+ className: cn(allClasses, className),
880
941
  disabled,
881
942
  "aria-pressed": active,
882
943
  "aria-label": ariaLabel,
@@ -1314,7 +1375,11 @@ var AlertDialog = (0, import_react4.forwardRef)(
1314
1375
  "div",
1315
1376
  {
1316
1377
  ref,
1317
- className: `bg-background border border-border-100 rounded-lg shadow-lg p-6 m-3 ${sizeClasses} ${className}`,
1378
+ className: cn(
1379
+ "bg-background border border-border-100 rounded-lg shadow-lg p-6 m-3",
1380
+ sizeClasses,
1381
+ className
1382
+ ),
1318
1383
  ...props,
1319
1384
  children: [
1320
1385
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
@@ -1413,7 +1478,12 @@ var Modal = ({
1413
1478
  const sizeClasses = SIZE_CLASSES5[size];
1414
1479
  const baseClasses = "bg-secondary-50 rounded-3xl shadow-hard-shadow-2 border border-border-100 w-full mx-4";
1415
1480
  const dialogResetClasses = "p-0 m-0 border-none outline-none max-h-none static";
1416
- const modalClasses = `${baseClasses} ${sizeClasses} ${dialogResetClasses} ${className}`;
1481
+ const modalClasses = cn(
1482
+ baseClasses,
1483
+ sizeClasses,
1484
+ dialogResetClasses,
1485
+ className
1486
+ );
1417
1487
  return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
1418
1488
  "div",
1419
1489
  {
@@ -1626,11 +1696,11 @@ var Select = ({
1626
1696
  "label",
1627
1697
  {
1628
1698
  htmlFor: selectId,
1629
- className: `block font-bold text-text-900 mb-1.5 ${sizeClasses}`,
1699
+ className: cn("block font-bold text-text-900 mb-1.5", sizeClasses),
1630
1700
  children: label
1631
1701
  }
1632
1702
  ),
1633
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: `relative ${sizeClasses}`, ref: selectRef, children: injectStore2(children, store, size, selectId) }),
1703
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: cn("relative", sizeClasses), ref: selectRef, children: injectStore2(children, store, size, selectId) }),
1634
1704
  /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: "mt-1.5 gap-1.5", children: [
1635
1705
  helperText && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("p", { className: "text-sm text-text-500", children: helperText }),
1636
1706
  errorMessage && /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("p", { className: "flex gap-1 items-center text-sm text-indicator-error", children: [
@@ -1691,7 +1761,10 @@ var SelectTrigger = (0, import_react6.forwardRef)(
1691
1761
  /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1692
1762
  import_phosphor_react4.CaretDown,
1693
1763
  {
1694
- className: `h-[1em] w-[1em] opacity-50 transition-transform ${open ? "rotate-180" : ""}`
1764
+ className: cn(
1765
+ "h-[1em] w-[1em] opacity-50 transition-transform",
1766
+ open ? "rotate-180" : ""
1767
+ )
1695
1768
  }
1696
1769
  )
1697
1770
  ]
@@ -1718,7 +1791,11 @@ var SelectContent = (0, import_react6.forwardRef)(
1718
1791
  {
1719
1792
  role: "menu",
1720
1793
  ref,
1721
- 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}`,
1794
+ className: cn(
1795
+ "bg-secondary z-50 min-w-[210px] overflow-hidden rounded-md border p-1 shadow-md border-border-100",
1796
+ getPositionClasses(),
1797
+ className
1798
+ ),
1722
1799
  ...props,
1723
1800
  children
1724
1801
  }
@@ -1760,7 +1837,7 @@ var SelectItem = (0, import_react6.forwardRef)(
1760
1837
  "aria-disabled": disabled,
1761
1838
  ref,
1762
1839
  className: `
1763
- focus-visible:bg-background-50
1840
+ bg-secondary focus-visible:bg-background-50
1764
1841
  relative flex select-none items-center gap-2 rounded-sm p-3 outline-none transition-colors [&>svg]:size-4 [&>svg]:shrink-0
1765
1842
  ${className}
1766
1843
  ${disabled ? "cursor-not-allowed text-text-400 pointer-events-none opacity-50" : "cursor-pointer hover:bg-background-50 text-text-700 focus:bg-accent focus:text-accent-foreground hover:bg-accent hover:text-accent-foreground"}
@@ -1902,7 +1979,10 @@ var renderStackedHitCountDisplay = (showHitCount, showPercentage, clampedValue,
1902
1979
  return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1903
1980
  "div",
1904
1981
  {
1905
- className: `text-xs font-medium leading-[14px] text-right ${percentageClassName}`,
1982
+ className: cn(
1983
+ "text-xs font-medium leading-[14px] text-right",
1984
+ percentageClassName
1985
+ ),
1906
1986
  children: displayPriority.type === "hitCount" ? /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_jsx_runtime10.Fragment, { children: [
1907
1987
  /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: "text-success-200", children: Math.round(clampedValue) }),
1908
1988
  /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("span", { className: "text-text-600", children: [
@@ -1927,7 +2007,11 @@ var ProgressBarBase = ({
1927
2007
  }) => /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
1928
2008
  "div",
1929
2009
  {
1930
- className: `${containerClassName} ${variantClasses.background} overflow-hidden relative`,
2010
+ className: cn(
2011
+ containerClassName,
2012
+ variantClasses.background,
2013
+ "overflow-hidden relative"
2014
+ ),
1931
2015
  children: [
1932
2016
  /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1933
2017
  "progress",
@@ -1941,7 +2025,11 @@ var ProgressBarBase = ({
1941
2025
  /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1942
2026
  "div",
1943
2027
  {
1944
- className: `${fillClassName} ${variantClasses.fill} transition-all duration-300 ease-out`,
2028
+ className: cn(
2029
+ fillClassName,
2030
+ variantClasses.fill,
2031
+ "transition-all duration-300 ease-out"
2032
+ ),
1945
2033
  style: { width: `${percentage}%` }
1946
2034
  }
1947
2035
  )
@@ -1963,7 +2051,12 @@ var StackedLayout = ({
1963
2051
  }) => /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
1964
2052
  "div",
1965
2053
  {
1966
- className: `flex flex-col items-start gap-2 ${dimensions.width} ${dimensions.height} ${className}`,
2054
+ className: cn(
2055
+ "flex flex-col items-start gap-2",
2056
+ dimensions.width,
2057
+ dimensions.height,
2058
+ className
2059
+ ),
1967
2060
  children: [
1968
2061
  shouldShowHeader(label, showPercentage, showHitCount) && /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "flex flex-row justify-between items-center w-full h-[19px]", children: [
1969
2062
  label && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
@@ -1972,7 +2065,7 @@ var StackedLayout = ({
1972
2065
  as: "div",
1973
2066
  size: "md",
1974
2067
  weight: "medium",
1975
- className: `text-text-600 leading-[19px] ${labelClassName}`,
2068
+ className: cn("text-text-600 leading-[19px]", labelClassName),
1976
2069
  children: label
1977
2070
  }
1978
2071
  ),
@@ -2030,7 +2123,12 @@ var CompactLayout = ({
2030
2123
  return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
2031
2124
  "div",
2032
2125
  {
2033
- className: `flex flex-col items-start gap-1 ${dimensions.width} ${dimensions.height} ${className}`,
2126
+ className: cn(
2127
+ "flex flex-col items-start gap-1",
2128
+ dimensions.width,
2129
+ dimensions.height,
2130
+ className
2131
+ ),
2034
2132
  children: [
2035
2133
  shouldShowHeader(label, showPercentage, showHitCount) && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
2036
2134
  Text_default,
@@ -2039,7 +2137,7 @@ var CompactLayout = ({
2039
2137
  size: "sm",
2040
2138
  weight: "medium",
2041
2139
  color,
2042
- className: `leading-4 w-full ${compactClassName}`,
2140
+ className: cn("leading-4 w-full", compactClassName),
2043
2141
  children: content
2044
2142
  }
2045
2143
  ),
@@ -2079,7 +2177,7 @@ var DefaultLayout = ({
2079
2177
  label,
2080
2178
  showPercentage
2081
2179
  );
2082
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: `flex ${sizeClasses.layout} ${gapClass} ${className}`, children: [
2180
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: cn("flex", sizeClasses.layout, gapClass, className), children: [
2083
2181
  displayConfig.showHeader && /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "flex flex-row items-center justify-between w-full", children: [
2084
2182
  label && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
2085
2183
  Text_default,
@@ -2087,7 +2185,10 @@ var DefaultLayout = ({
2087
2185
  as: "div",
2088
2186
  size: "xs",
2089
2187
  weight: "medium",
2090
- className: `text-text-950 leading-none tracking-normal text-center ${labelClassName}`,
2188
+ className: cn(
2189
+ "text-text-950 leading-none tracking-normal text-center",
2190
+ labelClassName
2191
+ ),
2091
2192
  children: label
2092
2193
  }
2093
2194
  ),
@@ -2096,7 +2197,10 @@ var DefaultLayout = ({
2096
2197
  {
2097
2198
  size: "xs",
2098
2199
  weight: "medium",
2099
- className: `text-text-950 leading-none tracking-normal text-center ${percentageClassName}`,
2200
+ className: cn(
2201
+ "text-text-950 leading-none tracking-normal text-center",
2202
+ percentageClassName
2203
+ ),
2100
2204
  children: [
2101
2205
  Math.round(percentage),
2102
2206
  "%"
@@ -2112,8 +2216,16 @@ var DefaultLayout = ({
2112
2216
  percentage,
2113
2217
  label,
2114
2218
  variantClasses,
2115
- containerClassName: `${progressBarClass} ${sizeClasses.container} ${sizeClasses.borderRadius}`,
2116
- fillClassName: `${sizeClasses.bar} ${sizeClasses.borderRadius} shadow-hard-shadow-3`
2219
+ containerClassName: cn(
2220
+ progressBarClass,
2221
+ sizeClasses.container,
2222
+ sizeClasses.borderRadius
2223
+ ),
2224
+ fillClassName: cn(
2225
+ sizeClasses.bar,
2226
+ sizeClasses.borderRadius,
2227
+ "shadow-hard-shadow-3"
2228
+ )
2117
2229
  }
2118
2230
  ),
2119
2231
  displayConfig.showPercentage && /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
@@ -2121,7 +2233,10 @@ var DefaultLayout = ({
2121
2233
  {
2122
2234
  size: "xs",
2123
2235
  weight: "medium",
2124
- className: `text-text-950 leading-none tracking-normal text-center flex-none ${percentageClassName}`,
2236
+ className: cn(
2237
+ "text-text-950 leading-none tracking-normal text-center flex-none",
2238
+ percentageClassName
2239
+ ),
2125
2240
  children: [
2126
2241
  Math.round(percentage),
2127
2242
  "%"
@@ -2134,7 +2249,10 @@ var DefaultLayout = ({
2134
2249
  as: "div",
2135
2250
  size: "xs",
2136
2251
  weight: "medium",
2137
- className: `text-text-950 leading-none tracking-normal text-center flex-none ${labelClassName}`,
2252
+ className: cn(
2253
+ "text-text-950 leading-none tracking-normal text-center flex-none",
2254
+ labelClassName
2255
+ ),
2138
2256
  children: label
2139
2257
  }
2140
2258
  )
@@ -2320,21 +2438,28 @@ var CardActivitiesResults = (0, import_react7.forwardRef)(
2320
2438
  "div",
2321
2439
  {
2322
2440
  ref,
2323
- className: `w-full flex flex-col border border-border-50 bg-background rounded-xl ${className}`,
2441
+ className: cn(
2442
+ "w-full flex flex-col border border-border-50 bg-background rounded-xl",
2443
+ className
2444
+ ),
2324
2445
  ...props,
2325
2446
  children: [
2326
2447
  /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
2327
2448
  "div",
2328
2449
  {
2329
- className: `
2330
- flex flex-col gap-1 items-center justify-center p-4
2331
- ${actionCardClasses}
2332
- ${extended ? "rounded-t-xl" : "rounded-xl"}`,
2450
+ className: cn(
2451
+ "flex flex-col gap-1 items-center justify-center p-4",
2452
+ actionCardClasses,
2453
+ extended ? "rounded-t-xl" : "rounded-xl"
2454
+ ),
2333
2455
  children: [
2334
2456
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
2335
2457
  "span",
2336
2458
  {
2337
- className: `size-7.5 rounded-full flex items-center justify-center ${actionIconClasses}`,
2459
+ className: cn(
2460
+ "size-7.5 rounded-full flex items-center justify-center",
2461
+ actionIconClasses
2462
+ ),
2338
2463
  children: icon
2339
2464
  }
2340
2465
  ),
@@ -2347,7 +2472,13 @@ var CardActivitiesResults = (0, import_react7.forwardRef)(
2347
2472
  children: title
2348
2473
  }
2349
2474
  ),
2350
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("p", { className: `text-lg font-bold truncate ${actionSubTitleClasses}`, children: subTitle })
2475
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
2476
+ "p",
2477
+ {
2478
+ className: cn("text-lg font-bold truncate", actionSubTitleClasses),
2479
+ children: subTitle
2480
+ }
2481
+ )
2351
2482
  ]
2352
2483
  }
2353
2484
  ),
@@ -2355,7 +2486,10 @@ var CardActivitiesResults = (0, import_react7.forwardRef)(
2355
2486
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
2356
2487
  "p",
2357
2488
  {
2358
- className: `text-2xs font-medium uppercase truncate ${actionHeaderClasses}`,
2489
+ className: cn(
2490
+ "text-2xs font-medium uppercase truncate",
2491
+ actionHeaderClasses
2492
+ ),
2359
2493
  children: header
2360
2494
  }
2361
2495
  ),
@@ -2385,7 +2519,7 @@ var CardQuestions = (0, import_react7.forwardRef)(
2385
2519
  layout: "horizontal",
2386
2520
  padding: "medium",
2387
2521
  minHeight: "medium",
2388
- className: `justify-between gap-4 ${className}`,
2522
+ className: cn("justify-between gap-4", className),
2389
2523
  ...props,
2390
2524
  children: [
2391
2525
  /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("section", { className: "flex flex-col gap-1 flex-1 min-w-0", children: [
@@ -2463,7 +2597,9 @@ var CardProgress = (0, import_react7.forwardRef)(
2463
2597
  {
2464
2598
  size: "xs",
2465
2599
  weight: "medium",
2466
- className: `text-text-950 leading-none tracking-normal text-center flex-none`,
2600
+ className: cn(
2601
+ "text-text-950 leading-none tracking-normal text-center flex-none"
2602
+ ),
2467
2603
  children: [
2468
2604
  Math.round(progress),
2469
2605
  "%"
@@ -2482,17 +2618,17 @@ var CardProgress = (0, import_react7.forwardRef)(
2482
2618
  padding: "none",
2483
2619
  minHeight: "medium",
2484
2620
  cursor: "pointer",
2485
- className: `${isHorizontal ? "h-20" : ""} ${className}`,
2621
+ className: cn(isHorizontal ? "h-20" : "", className),
2486
2622
  ...props,
2487
2623
  children: [
2488
2624
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
2489
2625
  "div",
2490
2626
  {
2491
- className: `
2492
- flex justify-center items-center [&>svg]:size-6 text-text-950
2493
- ${isHorizontal ? "min-w-[80px] min-h-[80px] rounded-l-xl" : "min-h-[50px] w-full rounded-t-xl"}
2494
- ${!color.startsWith("#") ? `bg-${color}` : ""}
2495
- `,
2627
+ className: cn(
2628
+ "flex justify-center items-center [&>svg]:size-6 text-text-950",
2629
+ isHorizontal ? "min-w-[80px] min-h-[80px] rounded-l-xl" : "min-h-[50px] w-full rounded-t-xl",
2630
+ !color.startsWith("#") ? `bg-${color}` : ""
2631
+ ),
2496
2632
  style: color.startsWith("#") ? { backgroundColor: color } : void 0,
2497
2633
  "data-testid": "icon-container",
2498
2634
  children: icon
@@ -2501,10 +2637,10 @@ var CardProgress = (0, import_react7.forwardRef)(
2501
2637
  /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
2502
2638
  "div",
2503
2639
  {
2504
- className: `
2505
- p-4 flex flex-col justify-between w-full h-full
2506
- ${!isHorizontal && "gap-4"}
2507
- `,
2640
+ className: cn(
2641
+ "p-4 flex flex-col justify-between w-full h-full",
2642
+ !isHorizontal && "gap-4"
2643
+ ),
2508
2644
  children: [
2509
2645
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text_default, { size: "sm", weight: "bold", className: "text-text-950 truncate", children: header }),
2510
2646
  contentComponent[direction]
@@ -2534,7 +2670,7 @@ var CardTopic = (0, import_react7.forwardRef)(
2534
2670
  padding: "small",
2535
2671
  minHeight: "medium",
2536
2672
  cursor: "pointer",
2537
- className: `justify-center gap-2 py-2 px-4 ${className}`,
2673
+ className: cn("justify-center gap-2 py-2 px-4", className),
2538
2674
  ...props,
2539
2675
  children: [
2540
2676
  subHead && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "text-text-600 text-2xs flex flex-row gap-1", children: subHead.map((text, index) => /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react7.Fragment, { children: [
@@ -2557,7 +2693,9 @@ var CardTopic = (0, import_react7.forwardRef)(
2557
2693
  {
2558
2694
  size: "xs",
2559
2695
  weight: "medium",
2560
- className: `text-text-950 leading-none tracking-normal text-center flex-none`,
2696
+ className: cn(
2697
+ "text-text-950 leading-none tracking-normal text-center flex-none"
2698
+ ),
2561
2699
  children: [
2562
2700
  Math.round(progress),
2563
2701
  "%"
@@ -2591,7 +2729,10 @@ var CardPerformance = (0, import_react7.forwardRef)(
2591
2729
  layout: "horizontal",
2592
2730
  padding: "medium",
2593
2731
  minHeight: "none",
2594
- className: `justify-between gap-2 ${actionVariant == "caret" ? "cursor-pointer" : ""} ${className}`,
2732
+ className: cn(
2733
+ actionVariant == "caret" ? "cursor-pointer" : "",
2734
+ className
2735
+ ),
2595
2736
  onClick: () => actionVariant == "caret" && onClickButton?.(valueButton),
2596
2737
  ...props,
2597
2738
  children: [
@@ -2649,15 +2790,15 @@ var CardResults = (0, import_react7.forwardRef)(
2649
2790
  layout: "horizontal",
2650
2791
  padding: "none",
2651
2792
  minHeight: "medium",
2652
- className: `items-center cursor-pointer pr-4 ${className}`,
2793
+ className: cn("items-center cursor-pointer pr-4", className),
2653
2794
  ...props,
2654
2795
  children: [
2655
2796
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
2656
2797
  "div",
2657
2798
  {
2658
- className: `
2659
- 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
2660
- `,
2799
+ className: cn(
2800
+ "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"
2801
+ ),
2661
2802
  style: {
2662
2803
  backgroundColor: color
2663
2804
  },
@@ -2667,10 +2808,10 @@ var CardResults = (0, import_react7.forwardRef)(
2667
2808
  /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
2668
2809
  "div",
2669
2810
  {
2670
- className: `
2671
- p-4 flex justify-between w-full h-full
2672
- ${isRow ? "flex-row items-center gap-2" : "flex-col"}
2673
- `,
2811
+ className: cn(
2812
+ "p-4 flex justify-between w-full h-full",
2813
+ isRow ? "flex-row items-center gap-2" : "flex-col"
2814
+ ),
2674
2815
  children: [
2675
2816
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("p", { className: "text-sm font-bold text-text-950 truncate flex-1 min-w-0", children: header }),
2676
2817
  /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("span", { className: "flex flex-row gap-1 items-center", children: [
@@ -2719,7 +2860,7 @@ var CardStatus = (0, import_react7.forwardRef)(
2719
2860
  layout: "horizontal",
2720
2861
  padding: "medium",
2721
2862
  minHeight: "medium",
2722
- className: `items-center cursor-pointer ${className}`,
2863
+ className: cn("items-center cursor-pointer", className),
2723
2864
  ...props,
2724
2865
  children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex justify-between w-full h-full flex-row items-center gap-2", children: [
2725
2866
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("p", { className: "text-sm font-bold text-text-950 truncate flex-1 min-w-0", children: header }),
@@ -2751,7 +2892,10 @@ var CardSettings = (0, import_react7.forwardRef)(
2751
2892
  layout: "horizontal",
2752
2893
  padding: "small",
2753
2894
  minHeight: "none",
2754
- className: `border-none items-center gap-2 text-text-700 ${className}`,
2895
+ className: cn(
2896
+ "border-none items-center gap-2 text-text-700",
2897
+ className
2898
+ ),
2755
2899
  ...props,
2756
2900
  children: [
2757
2901
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "[&>svg]:size-6", children: icon }),
@@ -2771,15 +2915,19 @@ var CardSupport = (0, import_react7.forwardRef)(
2771
2915
  layout: "horizontal",
2772
2916
  padding: "medium",
2773
2917
  minHeight: "none",
2774
- className: `border-none items-center gap-2 text-text-700 ${className}`,
2918
+ className: cn(
2919
+ "border-none items-center gap-2 text-text-700",
2920
+ className
2921
+ ),
2775
2922
  ...props,
2776
2923
  children: [
2777
2924
  /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
2778
2925
  "div",
2779
2926
  {
2780
- className: `
2781
- w-full flex ${direction == "col" ? "flex-col" : "flex-row items-center"} gap-2
2782
- `,
2927
+ className: cn(
2928
+ "w-full flex",
2929
+ direction == "col" ? "flex-col" : "flex-row items-center"
2930
+ ),
2783
2931
  children: [
2784
2932
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("p", { className: "text-sm text-text-950 font-bold truncate", children: header }) }),
2785
2933
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "flex flex-row gap-1", children })
@@ -2814,7 +2962,7 @@ var CardForum = (0, import_react7.forwardRef)(
2814
2962
  padding: "medium",
2815
2963
  minHeight: "none",
2816
2964
  variant: "minimal",
2817
- className: `w-auto h-auto gap-3 ${className}`,
2965
+ className: cn("w-auto h-auto gap-3", className),
2818
2966
  ...props,
2819
2967
  children: [
2820
2968
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
@@ -2947,7 +3095,7 @@ var CardAudio = (0, import_react7.forwardRef)(
2947
3095
  layout: "horizontal",
2948
3096
  padding: "medium",
2949
3097
  minHeight: "none",
2950
- className: `w-auto h-14 items-center gap-2 ${className}`,
3098
+ className: cn("w-auto h-14 items-center gap-2", className),
2951
3099
  ...props,
2952
3100
  children: [
2953
3101
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
@@ -3116,7 +3264,10 @@ var CardSimulado = (0, import_react7.forwardRef)(
3116
3264
  padding: "medium",
3117
3265
  minHeight: "none",
3118
3266
  cursor: "pointer",
3119
- className: `${backgroundClass} hover:shadow-soft-shadow-2 transition-shadow duration-200 ${className}`,
3267
+ className: cn(
3268
+ `${backgroundClass} hover:shadow-soft-shadow-2 transition-shadow duration-200`,
3269
+ className
3270
+ ),
3120
3271
  ...props,
3121
3272
  children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex justify-between items-center w-full gap-4", children: [
3122
3273
  /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex flex-col gap-1 flex-1 min-w-0", children: [
@@ -3179,7 +3330,9 @@ var CardTest = (0, import_react7.forwardRef)(
3179
3330
  {
3180
3331
  ref,
3181
3332
  type: "button",
3182
- className: `${baseClasses} ${interactiveClasses} ${selectedClasses} ${className}`.trim(),
3333
+ className: cn(
3334
+ `${baseClasses} ${interactiveClasses} ${selectedClasses} ${className}`.trim()
3335
+ ),
3183
3336
  onClick: handleClick,
3184
3337
  onKeyDown: handleKeyDown,
3185
3338
  "aria-pressed": selected,
@@ -3223,7 +3376,7 @@ var CardTest = (0, import_react7.forwardRef)(
3223
3376
  "div",
3224
3377
  {
3225
3378
  ref,
3226
- className: `${baseClasses} ${className}`.trim(),
3379
+ className: cn(`${baseClasses} ${className}`.trim()),
3227
3380
  ...props,
3228
3381
  children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex flex-col justify-between gap-[27px] flex-grow min-h-[67px] w-full min-w-0", children: [
3229
3382
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
@@ -3288,16 +3441,16 @@ var CardSimulationHistory = (0, import_react7.forwardRef)(({ data, onSimulationC
3288
3441
  "div",
3289
3442
  {
3290
3443
  ref,
3291
- className: `w-full max-w-[992px] h-auto ${className}`,
3444
+ className: cn("w-full max-w-[992px] h-auto", className),
3292
3445
  ...props,
3293
3446
  children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex flex-col gap-0", children: [
3294
3447
  data.map((section, sectionIndex) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "flex flex-col", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
3295
3448
  "div",
3296
3449
  {
3297
- className: `
3298
- flex flex-row justify-center items-start px-4 py-6 gap-2 w-full bg-white
3299
- ${sectionIndex === 0 ? "rounded-t-3xl" : ""}
3300
- `,
3450
+ className: cn(
3451
+ "flex flex-row justify-center items-start px-4 py-6 gap-2 w-full bg-white",
3452
+ sectionIndex === 0 ? "rounded-t-3xl" : ""
3453
+ ),
3301
3454
  children: [
3302
3455
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
3303
3456
  Text_default,
@@ -3317,10 +3470,10 @@ var CardSimulationHistory = (0, import_react7.forwardRef)(({ data, onSimulationC
3317
3470
  padding: "medium",
3318
3471
  minHeight: "none",
3319
3472
  cursor: "pointer",
3320
- className: `
3321
- ${typeStyles.background} rounded-xl hover:shadow-soft-shadow-2
3322
- transition-shadow duration-200 h-auto min-h-[61px]
3323
- `,
3473
+ className: cn(
3474
+ `${typeStyles.background} rounded-xl hover:shadow-soft-shadow-2
3475
+ transition-shadow duration-200 h-auto min-h-[61px]`
3476
+ ),
3324
3477
  onClick: () => onSimulationClick?.(simulation),
3325
3478
  children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex justify-between items-center w-full gap-2", children: [
3326
3479
  /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex flex-col gap-2 flex-1 min-w-0", children: [
@@ -3454,7 +3607,12 @@ var ProgressCircle = ({
3454
3607
  return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
3455
3608
  "div",
3456
3609
  {
3457
- className: `relative flex flex-col items-center justify-center ${sizeClasses.container} rounded-lg ${className}`,
3610
+ className: cn(
3611
+ "relative flex flex-col items-center justify-center",
3612
+ sizeClasses.container,
3613
+ "rounded-lg",
3614
+ className
3615
+ ),
3458
3616
  children: [
3459
3617
  /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
3460
3618
  "svg",
@@ -3473,7 +3631,7 @@ var ProgressCircle = ({
3473
3631
  r: radius,
3474
3632
  fill: "none",
3475
3633
  strokeWidth: sizeClasses.strokeWidth,
3476
- className: `${variantClasses.background} rounded-lg`
3634
+ className: cn(variantClasses.background, "rounded-lg")
3477
3635
  }
3478
3636
  ),
3479
3637
  /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
@@ -3487,7 +3645,10 @@ var ProgressCircle = ({
3487
3645
  strokeLinecap: "round",
3488
3646
  strokeDasharray: circumference,
3489
3647
  strokeDashoffset,
3490
- className: `${variantClasses.fill} transition-all duration-500 ease-out shadow-soft-shadow-3 rounded-lg`
3648
+ className: cn(
3649
+ variantClasses.fill,
3650
+ "transition-all duration-500 ease-out shadow-soft-shadow-3 rounded-lg"
3651
+ )
3491
3652
  }
3492
3653
  )
3493
3654
  ]
@@ -3505,14 +3666,22 @@ var ProgressCircle = ({
3505
3666
  /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
3506
3667
  "div",
3507
3668
  {
3508
- className: `relative z-10 flex flex-col items-center justify-center ${sizeClasses.spacing} ${sizeClasses.contentWidth}`,
3669
+ className: cn(
3670
+ "relative z-10 flex flex-col items-center justify-center",
3671
+ sizeClasses.spacing,
3672
+ sizeClasses.contentWidth
3673
+ ),
3509
3674
  children: [
3510
3675
  showPercentage && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
3511
3676
  Text_default,
3512
3677
  {
3513
3678
  size: sizeClasses.textSize,
3514
3679
  weight: sizeClasses.textWeight,
3515
- className: `text-center w-full ${variantClasses.textColor} ${percentageClassName}`,
3680
+ className: cn(
3681
+ "text-center w-full",
3682
+ variantClasses.textColor,
3683
+ percentageClassName
3684
+ ),
3516
3685
  children: [
3517
3686
  Math.round(percentage),
3518
3687
  "%"
@@ -3525,7 +3694,11 @@ var ProgressCircle = ({
3525
3694
  as: "span",
3526
3695
  size: sizeClasses.labelSize,
3527
3696
  weight: sizeClasses.labelWeight,
3528
- className: `${variantClasses.labelColor} text-center uppercase tracking-wide truncate w-full ${size === "small" ? "text-[8px] leading-[9px]" : ""} ${labelClassName}`,
3697
+ className: cn(
3698
+ variantClasses.labelColor,
3699
+ "text-center uppercase tracking-wide truncate w-full",
3700
+ labelClassName
3701
+ ),
3529
3702
  children: label
3530
3703
  }
3531
3704
  )
@@ -3545,7 +3718,10 @@ var Quiz = (0, import_react8.forwardRef)(({ children, className, ...props }, ref
3545
3718
  "div",
3546
3719
  {
3547
3720
  ref,
3548
- className: `w-full max-w-[1000px] flex flex-col mx-auto h-full relative not-lg:px-6 ${className}`,
3721
+ className: cn(
3722
+ "w-full max-w-[1000px] flex flex-col mx-auto h-full relative not-lg:px-6",
3723
+ className
3724
+ ),
3549
3725
  ...props,
3550
3726
  children
3551
3727
  }
@@ -3561,7 +3737,11 @@ var QuizHeaderResult = (0, import_react8.forwardRef)(
3561
3737
  "div",
3562
3738
  {
3563
3739
  ref,
3564
- className: `flex flex-row items-center gap-10 p-3.5 rounded-xl ${isCorrect ? "bg-success-background" : "bg-error-background"} ${className}`,
3740
+ className: cn(
3741
+ "flex flex-row items-center gap-10 p-3.5 rounded-xl",
3742
+ isCorrect ? "bg-success-background" : "bg-error-background",
3743
+ className
3744
+ ),
3565
3745
  ...props,
3566
3746
  children: [
3567
3747
  /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("p", { className: "text-text-950 font-bold text-lg", children: "Resultado" }),
@@ -3587,7 +3767,10 @@ var QuizTitle = (0, import_react8.forwardRef)(
3587
3767
  "div",
3588
3768
  {
3589
3769
  ref,
3590
- className: `flex flex-row justify-center items-center relative p-2 ${className}`,
3770
+ className: cn(
3771
+ "flex flex-row justify-center items-center relative p-2",
3772
+ className
3773
+ ),
3591
3774
  ...props,
3592
3775
  children: [
3593
3776
  /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("span", { className: "flex flex-col gap-2 text-center", children: [
@@ -3619,7 +3802,10 @@ var QuizContent = (0, import_react8.forwardRef)(({ type = "Alternativas", childr
3619
3802
  "div",
3620
3803
  {
3621
3804
  ref,
3622
- className: `rounded-t-xl px-4 pt-4 pb-[80px] h-full flex flex-col gap-4 mb-auto ${className}`,
3805
+ className: cn(
3806
+ "rounded-t-xl px-4 pt-4 pb-[80px] h-full flex flex-col gap-4 mb-auto",
3807
+ className
3808
+ ),
3623
3809
  ...props,
3624
3810
  children
3625
3811
  }
@@ -3772,7 +3958,10 @@ var QuizFooter = (0, import_react8.forwardRef)(({ className, onGoToSimulated, on
3772
3958
  "footer",
3773
3959
  {
3774
3960
  ref,
3775
- 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}`,
3961
+ className: cn(
3962
+ "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",
3963
+ className
3964
+ ),
3776
3965
  ...props,
3777
3966
  children: [
3778
3967
  /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "flex flex-row items-center gap-1", children: [
@@ -3955,7 +4144,7 @@ var QuizResultHeaderTitle = (0, import_react8.forwardRef)(({ className, ...props
3955
4144
  "div",
3956
4145
  {
3957
4146
  ref,
3958
- className: `flex flex-row pt-4 justify-between ${className}`,
4147
+ className: cn("flex flex-row pt-4 justify-between", className),
3959
4148
  ...props,
3960
4149
  children: [
3961
4150
  /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("p", { className: "text-text-950 font-bold text-2xl", children: "Resultado" }),
@@ -3970,7 +4159,7 @@ var QuizResultTitle = (0, import_react8.forwardRef)(({ className, ...props }, re
3970
4159
  return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3971
4160
  "p",
3972
4161
  {
3973
- className: `pt-6 pb-4 text-text-950 font-bold text-lg ${className}`,
4162
+ className: cn("pt-6 pb-4 text-text-950 font-bold text-lg", className),
3974
4163
  ref,
3975
4164
  ...props,
3976
4165
  children: quizTitle