analytica-frontend-lib 1.0.45 → 1.0.46

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.
package/dist/index.mjs CHANGED
@@ -2041,6 +2041,305 @@ var ProgressCircle = ({
2041
2041
  };
2042
2042
  var ProgressCircle_default = ProgressCircle;
2043
2043
 
2044
+ // src/components/Stepper/Stepper.tsx
2045
+ import { Check as Check3 } from "phosphor-react";
2046
+ import { jsx as jsx20, jsxs as jsxs15 } from "react/jsx-runtime";
2047
+ var SIZE_CLASSES9 = {
2048
+ small: {
2049
+ container: "gap-2",
2050
+ // 8px gap as specified in CSS
2051
+ stepWidth: "w-[58px]",
2052
+ // exact 58px from CSS
2053
+ stepHeight: "h-[38px]",
2054
+ // exact 38px from CSS
2055
+ indicator: "w-5 h-5",
2056
+ // 20px as specified
2057
+ progressBar: "h-0.5",
2058
+ // 2px as specified
2059
+ indicatorTextSize: "2xs",
2060
+ // 10px as specified
2061
+ labelTextSize: "xs",
2062
+ // 12px as specified
2063
+ iconSize: "w-3 h-3"
2064
+ // 12px
2065
+ },
2066
+ medium: {
2067
+ container: "gap-3",
2068
+ // 12px (8px + 4px progression)
2069
+ stepWidth: "w-[110px]",
2070
+ // 110px (increased from 90px to fit "Endereço Residencial")
2071
+ stepHeight: "h-[48px]",
2072
+ // 48px (increased from 46px for better proportion)
2073
+ indicator: "w-6 h-6",
2074
+ // 24px (20px + 4px progression)
2075
+ progressBar: "h-0.5",
2076
+ // 2px maintained for consistency
2077
+ indicatorTextSize: "2xs",
2078
+ // 10px maintained for readability
2079
+ labelTextSize: "xs",
2080
+ // 12px maintained
2081
+ iconSize: "w-3.5 h-3.5"
2082
+ // 14px
2083
+ },
2084
+ large: {
2085
+ container: "gap-4",
2086
+ // 16px (12px + 4px progression)
2087
+ stepWidth: "w-[160px]",
2088
+ // 160px (increased from 140px to fit "Endereço Residencial")
2089
+ stepHeight: "h-[58px]",
2090
+ // 58px (increased from 54px for better proportion)
2091
+ indicator: "w-7 h-7",
2092
+ // 28px (24px + 4px progression)
2093
+ progressBar: "h-1",
2094
+ // 4px (increased for better visibility)
2095
+ indicatorTextSize: "xs",
2096
+ // 12px (increased for larger size)
2097
+ labelTextSize: "sm",
2098
+ // 14px (increased for larger size)
2099
+ iconSize: "w-4 h-4"
2100
+ // 16px
2101
+ },
2102
+ extraLarge: {
2103
+ container: "gap-5",
2104
+ // 20px (16px + 4px progression)
2105
+ stepWidth: "w-[200px]",
2106
+ // 200px (increased from 180px to ensure "Endereço Residencial" fits)
2107
+ stepHeight: "h-[68px]",
2108
+ // 68px (increased from 62px for better proportion)
2109
+ indicator: "w-8 h-8",
2110
+ // 32px (28px + 4px progression)
2111
+ progressBar: "h-1",
2112
+ // 4px maintained
2113
+ indicatorTextSize: "xs",
2114
+ // 12px maintained for readability
2115
+ labelTextSize: "sm",
2116
+ // 14px maintained
2117
+ iconSize: "w-[18px] h-[18px]"
2118
+ // 18px
2119
+ }
2120
+ };
2121
+ var STATE_CLASSES6 = {
2122
+ pending: {
2123
+ progressBar: "bg-text-400",
2124
+ // #A3A3A3
2125
+ indicator: "bg-text-400",
2126
+ // #A3A3A3
2127
+ indicatorText: "text-white",
2128
+ // Branco para contraste com background cinza
2129
+ label: "text-text-400"
2130
+ // #A3A3A3
2131
+ },
2132
+ current: {
2133
+ progressBar: "bg-primary-800",
2134
+ // #1C61B2 usando classe Tailwind padrão
2135
+ indicator: "bg-primary-800",
2136
+ // #1C61B2 usando classe Tailwind padrão
2137
+ indicatorText: "text-white",
2138
+ // Branco usando classe Tailwind padrão
2139
+ label: "text-primary-800"
2140
+ // #1C61B2 usando classe Tailwind padrão
2141
+ },
2142
+ completed: {
2143
+ progressBar: "bg-primary-400",
2144
+ // #48A0E8 para barra quando checked (completed)
2145
+ indicator: "bg-primary-400",
2146
+ // #48A0E8 para corresponder à barra de progresso
2147
+ indicatorText: "text-white",
2148
+ // Branco usando classe Tailwind padrão
2149
+ label: "text-primary-400"
2150
+ // #48A0E8 para corresponder à barra de progresso
2151
+ }
2152
+ };
2153
+ var Step = ({
2154
+ step,
2155
+ index,
2156
+ size: _size,
2157
+ sizeClasses,
2158
+ stateClasses,
2159
+ isLast: _isLast,
2160
+ className = ""
2161
+ }) => {
2162
+ const stepNumber = index + 1;
2163
+ const isCompleted = step.state === "completed";
2164
+ const getAriaLabel = () => {
2165
+ let suffix = "";
2166
+ if (step.state === "completed") {
2167
+ suffix = " (conclu\xEDdo)";
2168
+ } else if (step.state === "current") {
2169
+ suffix = " (atual)";
2170
+ }
2171
+ return `${step.label}${suffix}`;
2172
+ };
2173
+ return /* @__PURE__ */ jsxs15(
2174
+ "div",
2175
+ {
2176
+ className: `
2177
+ flex flex-col justify-center items-center pb-2 gap-2
2178
+ ${sizeClasses.stepWidth} ${sizeClasses.stepHeight}
2179
+ flex-none flex-grow
2180
+ ${className}
2181
+ sm:max-w-[100px] md:max-w-[120px] lg:max-w-none xl:max-w-none
2182
+ sm:min-h-[40px] md:min-h-[45px] lg:min-h-none
2183
+ overflow-visible
2184
+ `,
2185
+ children: [
2186
+ /* @__PURE__ */ jsx20(
2187
+ "div",
2188
+ {
2189
+ className: `
2190
+ w-full ${sizeClasses.progressBar} ${stateClasses.progressBar}
2191
+ rounded-sm flex-none
2192
+ `
2193
+ }
2194
+ ),
2195
+ /* @__PURE__ */ jsxs15(
2196
+ "div",
2197
+ {
2198
+ className: `
2199
+ flex flex-col sm:flex-row items-center
2200
+ gap-1 sm:gap-2 w-full sm:w-auto
2201
+ h-auto sm:h-5 flex-none
2202
+ overflow-visible
2203
+ `,
2204
+ children: [
2205
+ /* @__PURE__ */ jsx20(
2206
+ "div",
2207
+ {
2208
+ className: `
2209
+ ${sizeClasses.indicator} ${stateClasses.indicator}
2210
+ rounded-full flex items-center justify-center relative
2211
+ flex-none transition-all duration-300 ease-out
2212
+ w-4 h-4 sm:w-5 sm:h-5 md:w-5 md:h-5 lg:w-6 lg:h-6
2213
+ `,
2214
+ "aria-label": getAriaLabel(),
2215
+ children: isCompleted ? /* @__PURE__ */ jsx20(
2216
+ Check3,
2217
+ {
2218
+ weight: "bold",
2219
+ className: `
2220
+ ${stateClasses.indicatorText}
2221
+ w-2.5 h-2.5 sm:w-3 sm:h-3 md:w-3 md:h-3 lg:w-3.5 lg:h-3.5
2222
+ `
2223
+ }
2224
+ ) : /* @__PURE__ */ jsx20(
2225
+ Text_default,
2226
+ {
2227
+ size: sizeClasses.indicatorTextSize,
2228
+ weight: "medium",
2229
+ color: "",
2230
+ className: `${stateClasses.indicatorText} leading-none text-2xs sm:text-xs`,
2231
+ children: stepNumber
2232
+ }
2233
+ )
2234
+ }
2235
+ ),
2236
+ /* @__PURE__ */ jsx20(
2237
+ Text_default,
2238
+ {
2239
+ size: sizeClasses.labelTextSize,
2240
+ weight: "medium",
2241
+ color: "",
2242
+ className: `
2243
+ ${stateClasses.label} leading-tight flex-none
2244
+ text-center sm:text-left break-words
2245
+ px-1 sm:px-0 max-w-full
2246
+ text-2xs sm:text-xs md:text-xs lg:text-sm
2247
+ whitespace-normal
2248
+ `,
2249
+ children: step.label
2250
+ }
2251
+ )
2252
+ ]
2253
+ }
2254
+ )
2255
+ ]
2256
+ }
2257
+ );
2258
+ };
2259
+ var calculateStepStates = (steps, currentStep) => {
2260
+ return steps.map((step, index) => {
2261
+ let stepState;
2262
+ if (index < currentStep) {
2263
+ stepState = "completed";
2264
+ } else if (index === currentStep) {
2265
+ stepState = "current";
2266
+ } else {
2267
+ stepState = "pending";
2268
+ }
2269
+ return {
2270
+ ...step,
2271
+ state: stepState
2272
+ };
2273
+ });
2274
+ };
2275
+ var getProgressText = (currentStep, totalSteps, customText) => {
2276
+ if (customText) return customText;
2277
+ return `Etapa ${currentStep + 1} de ${totalSteps}`;
2278
+ };
2279
+ var Stepper = ({
2280
+ steps: initialSteps,
2281
+ size = "medium",
2282
+ currentStep,
2283
+ className = "",
2284
+ stepClassName = "",
2285
+ showProgress = false,
2286
+ progressText,
2287
+ responsive = true
2288
+ }) => {
2289
+ const sizeClasses = SIZE_CLASSES9[size];
2290
+ const steps = currentStep !== void 0 ? calculateStepStates(initialSteps, currentStep) : initialSteps;
2291
+ return /* @__PURE__ */ jsxs15(
2292
+ "fieldset",
2293
+ {
2294
+ className: `flex flex-col gap-4 sm:gap-5 md:gap-6 ${className} border-0 p-0 m-0`,
2295
+ children: [
2296
+ /* @__PURE__ */ jsx20("legend", { className: "absolute w-px h-px p-0 -m-px overflow-hidden whitespace-nowrap border-0", children: "Stepper de formul\xE1rio" }),
2297
+ showProgress && currentStep !== void 0 && /* @__PURE__ */ jsx20(
2298
+ Text_default,
2299
+ {
2300
+ size: "sm",
2301
+ weight: "medium",
2302
+ className: "text-text-600 text-center sm:text-left text-xs sm:text-sm",
2303
+ children: getProgressText(currentStep, steps.length, progressText)
2304
+ }
2305
+ ),
2306
+ /* @__PURE__ */ jsx20(
2307
+ "div",
2308
+ {
2309
+ className: `
2310
+ flex items-center
2311
+ ${sizeClasses.container}
2312
+ ${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"}
2313
+ px-2 sm:px-4 md:px-6 lg:px-0
2314
+ max-w-full min-w-0
2315
+ gap-2 sm:gap-3 md:gap-4 lg:gap-4
2316
+ `,
2317
+ role: "tablist",
2318
+ "aria-label": "Progress steps",
2319
+ children: steps.map((step, index) => {
2320
+ const stateClasses = STATE_CLASSES6[step.state];
2321
+ return /* @__PURE__ */ jsx20(
2322
+ Step,
2323
+ {
2324
+ step,
2325
+ index,
2326
+ size,
2327
+ sizeClasses,
2328
+ stateClasses,
2329
+ isLast: index === steps.length - 1,
2330
+ className: stepClassName
2331
+ },
2332
+ step.id
2333
+ );
2334
+ })
2335
+ }
2336
+ )
2337
+ ]
2338
+ }
2339
+ );
2340
+ };
2341
+ var Stepper_default = Stepper;
2342
+
2044
2343
  // src/components/Calendar/Calendar.tsx
2045
2344
  import {
2046
2345
  useState as useState5,
@@ -2048,7 +2347,7 @@ import {
2048
2347
  useEffect,
2049
2348
  useRef
2050
2349
  } from "react";
2051
- import { jsx as jsx20, jsxs as jsxs15 } from "react/jsx-runtime";
2350
+ import { jsx as jsx21, jsxs as jsxs16 } from "react/jsx-runtime";
2052
2351
  var WEEK_DAYS = ["SEG", "TER", "QUA", "QUI", "SEX", "S\xC1B", "DOM"];
2053
2352
  var WEEK_DAYS_SHORT = ["S", "T", "Q", "Q", "S", "S", "D"];
2054
2353
  var MONTH_NAMES = [
@@ -2071,15 +2370,15 @@ var MonthYearPicker = ({
2071
2370
  currentDate,
2072
2371
  onYearChange,
2073
2372
  onMonthChange
2074
- }) => /* @__PURE__ */ jsxs15(
2373
+ }) => /* @__PURE__ */ jsxs16(
2075
2374
  "div",
2076
2375
  {
2077
2376
  ref: monthPickerRef,
2078
2377
  className: "absolute top-full left-0 z-50 mt-1 bg-white rounded-lg shadow-lg border border-border-200 p-4 min-w-[280px]",
2079
2378
  children: [
2080
- /* @__PURE__ */ jsxs15("div", { className: "mb-4", children: [
2081
- /* @__PURE__ */ jsx20("h3", { className: "text-sm font-medium text-text-700 mb-2", children: "Selecionar Ano" }),
2082
- /* @__PURE__ */ jsx20("div", { className: "grid grid-cols-4 gap-1 max-h-32 overflow-y-auto", children: availableYears.map((year) => /* @__PURE__ */ jsx20(
2379
+ /* @__PURE__ */ jsxs16("div", { className: "mb-4", children: [
2380
+ /* @__PURE__ */ jsx21("h3", { className: "text-sm font-medium text-text-700 mb-2", children: "Selecionar Ano" }),
2381
+ /* @__PURE__ */ jsx21("div", { className: "grid grid-cols-4 gap-1 max-h-32 overflow-y-auto", children: availableYears.map((year) => /* @__PURE__ */ jsx21(
2083
2382
  "button",
2084
2383
  {
2085
2384
  onClick: () => onYearChange(year),
@@ -2092,9 +2391,9 @@ var MonthYearPicker = ({
2092
2391
  year
2093
2392
  )) })
2094
2393
  ] }),
2095
- /* @__PURE__ */ jsxs15("div", { children: [
2096
- /* @__PURE__ */ jsx20("h3", { className: "text-sm font-medium text-text-700 mb-2", children: "Selecionar M\xEAs" }),
2097
- /* @__PURE__ */ jsx20("div", { className: "grid grid-cols-3 gap-1", children: MONTH_NAMES.map((month, index) => /* @__PURE__ */ jsx20(
2394
+ /* @__PURE__ */ jsxs16("div", { children: [
2395
+ /* @__PURE__ */ jsx21("h3", { className: "text-sm font-medium text-text-700 mb-2", children: "Selecionar M\xEAs" }),
2396
+ /* @__PURE__ */ jsx21("div", { className: "grid grid-cols-3 gap-1", children: MONTH_NAMES.map((month, index) => /* @__PURE__ */ jsx21(
2098
2397
  "button",
2099
2398
  {
2100
2399
  onClick: () => onMonthChange(index, currentDate.getFullYear()),
@@ -2226,28 +2525,28 @@ var Calendar = ({
2226
2525
  onDateSelect?.(day.date);
2227
2526
  };
2228
2527
  if (variant === "navigation") {
2229
- return /* @__PURE__ */ jsxs15("div", { className: `bg-background rounded-xl p-3 ${className}`, children: [
2230
- /* @__PURE__ */ jsxs15("div", { className: "flex items-center justify-between mb-4 px-6", children: [
2231
- /* @__PURE__ */ jsxs15("div", { className: "relative", ref: monthPickerContainerRef, children: [
2232
- /* @__PURE__ */ jsxs15(
2528
+ return /* @__PURE__ */ jsxs16("div", { className: `bg-background rounded-xl p-3 ${className}`, children: [
2529
+ /* @__PURE__ */ jsxs16("div", { className: "flex items-center justify-between mb-4 px-6", children: [
2530
+ /* @__PURE__ */ jsxs16("div", { className: "relative", ref: monthPickerContainerRef, children: [
2531
+ /* @__PURE__ */ jsxs16(
2233
2532
  "button",
2234
2533
  {
2235
2534
  onClick: toggleMonthPicker,
2236
2535
  className: "flex items-center gap-1 hover:bg-background-100 rounded px-2 py-1 transition-colors",
2237
2536
  children: [
2238
- /* @__PURE__ */ jsxs15("span", { className: "text-sm font-medium text-text-600", children: [
2537
+ /* @__PURE__ */ jsxs16("span", { className: "text-sm font-medium text-text-600", children: [
2239
2538
  MONTH_NAMES[currentDate.getMonth()],
2240
2539
  " ",
2241
2540
  currentDate.getFullYear()
2242
2541
  ] }),
2243
- /* @__PURE__ */ jsx20(
2542
+ /* @__PURE__ */ jsx21(
2244
2543
  "svg",
2245
2544
  {
2246
2545
  className: `w-4 h-4 text-primary-950 transition-transform ${isMonthPickerOpen ? "rotate-180" : ""}`,
2247
2546
  fill: "none",
2248
2547
  stroke: "currentColor",
2249
2548
  viewBox: "0 0 24 24",
2250
- children: /* @__PURE__ */ jsx20(
2549
+ children: /* @__PURE__ */ jsx21(
2251
2550
  "path",
2252
2551
  {
2253
2552
  strokeLinecap: "round",
@@ -2261,7 +2560,7 @@ var Calendar = ({
2261
2560
  ]
2262
2561
  }
2263
2562
  ),
2264
- isMonthPickerOpen && /* @__PURE__ */ jsx20(
2563
+ isMonthPickerOpen && /* @__PURE__ */ jsx21(
2265
2564
  MonthYearPicker,
2266
2565
  {
2267
2566
  monthPickerRef,
@@ -2272,21 +2571,21 @@ var Calendar = ({
2272
2571
  }
2273
2572
  )
2274
2573
  ] }),
2275
- /* @__PURE__ */ jsxs15("div", { className: "flex items-center gap-10", children: [
2276
- /* @__PURE__ */ jsx20(
2574
+ /* @__PURE__ */ jsxs16("div", { className: "flex items-center gap-10", children: [
2575
+ /* @__PURE__ */ jsx21(
2277
2576
  "button",
2278
2577
  {
2279
2578
  onClick: goToPreviousMonth,
2280
2579
  className: "p-1 rounded hover:bg-background-100 transition-colors",
2281
2580
  "aria-label": "M\xEAs anterior",
2282
- children: /* @__PURE__ */ jsx20(
2581
+ children: /* @__PURE__ */ jsx21(
2283
2582
  "svg",
2284
2583
  {
2285
2584
  className: "w-6 h-6 text-primary-950",
2286
2585
  fill: "none",
2287
2586
  stroke: "currentColor",
2288
2587
  viewBox: "0 0 24 24",
2289
- children: /* @__PURE__ */ jsx20(
2588
+ children: /* @__PURE__ */ jsx21(
2290
2589
  "path",
2291
2590
  {
2292
2591
  strokeLinecap: "round",
@@ -2299,20 +2598,20 @@ var Calendar = ({
2299
2598
  )
2300
2599
  }
2301
2600
  ),
2302
- /* @__PURE__ */ jsx20(
2601
+ /* @__PURE__ */ jsx21(
2303
2602
  "button",
2304
2603
  {
2305
2604
  onClick: goToNextMonth,
2306
2605
  className: "p-1 rounded hover:bg-background-100 transition-colors",
2307
2606
  "aria-label": "Pr\xF3ximo m\xEAs",
2308
- children: /* @__PURE__ */ jsx20(
2607
+ children: /* @__PURE__ */ jsx21(
2309
2608
  "svg",
2310
2609
  {
2311
2610
  className: "w-6 h-6 text-primary-950",
2312
2611
  fill: "none",
2313
2612
  stroke: "currentColor",
2314
2613
  viewBox: "0 0 24 24",
2315
- children: /* @__PURE__ */ jsx20(
2614
+ children: /* @__PURE__ */ jsx21(
2316
2615
  "path",
2317
2616
  {
2318
2617
  strokeLinecap: "round",
@@ -2327,7 +2626,7 @@ var Calendar = ({
2327
2626
  )
2328
2627
  ] })
2329
2628
  ] }),
2330
- /* @__PURE__ */ jsx20("div", { className: "grid grid-cols-7 gap-1 mb-2", children: WEEK_DAYS_SHORT.map((day, index) => /* @__PURE__ */ jsx20(
2629
+ /* @__PURE__ */ jsx21("div", { className: "grid grid-cols-7 gap-1 mb-2", children: WEEK_DAYS_SHORT.map((day, index) => /* @__PURE__ */ jsx21(
2331
2630
  "div",
2332
2631
  {
2333
2632
  className: "h-9 flex items-center justify-center text-xs font-normal text-text-600",
@@ -2335,13 +2634,13 @@ var Calendar = ({
2335
2634
  },
2336
2635
  `${day}-${index}`
2337
2636
  )) }),
2338
- /* @__PURE__ */ jsx20("div", { className: "grid grid-cols-7 gap-1", children: calendarData.map((day) => {
2637
+ /* @__PURE__ */ jsx21("div", { className: "grid grid-cols-7 gap-1", children: calendarData.map((day) => {
2339
2638
  if (!day.isCurrentMonth) {
2340
- return /* @__PURE__ */ jsx20(
2639
+ return /* @__PURE__ */ jsx21(
2341
2640
  "div",
2342
2641
  {
2343
2642
  className: "flex items-center justify-center",
2344
- children: /* @__PURE__ */ jsx20("div", { className: "w-9 h-9" })
2643
+ children: /* @__PURE__ */ jsx21("div", { className: "w-9 h-9" })
2345
2644
  },
2346
2645
  day.date.getTime()
2347
2646
  );
@@ -2357,11 +2656,11 @@ var Calendar = ({
2357
2656
  } else if (day.isSelected) {
2358
2657
  spanClass = "h-6 w-6 rounded-full bg-primary-950 text-text";
2359
2658
  }
2360
- return /* @__PURE__ */ jsx20(
2659
+ return /* @__PURE__ */ jsx21(
2361
2660
  "div",
2362
2661
  {
2363
2662
  className: "flex items-center justify-center",
2364
- children: /* @__PURE__ */ jsx20(
2663
+ children: /* @__PURE__ */ jsx21(
2365
2664
  "button",
2366
2665
  {
2367
2666
  className: `
@@ -2377,7 +2676,7 @@ var Calendar = ({
2377
2676
  "aria-label": `${day.date.getDate()} de ${MONTH_NAMES[day.date.getMonth()]}`,
2378
2677
  "aria-current": day.isToday ? "date" : void 0,
2379
2678
  tabIndex: 0,
2380
- children: /* @__PURE__ */ jsx20("span", { className: spanClass, children: day.date.getDate() })
2679
+ children: /* @__PURE__ */ jsx21("span", { className: spanClass, children: day.date.getDate() })
2381
2680
  }
2382
2681
  )
2383
2682
  },
@@ -2386,28 +2685,28 @@ var Calendar = ({
2386
2685
  }) })
2387
2686
  ] });
2388
2687
  }
2389
- return /* @__PURE__ */ jsxs15("div", { className: `bg-background rounded-xl p-4 ${className}`, children: [
2390
- /* @__PURE__ */ jsxs15("div", { className: "flex items-center justify-between mb-3.5", children: [
2391
- /* @__PURE__ */ jsxs15("div", { className: "relative", ref: monthPickerContainerRef, children: [
2392
- /* @__PURE__ */ jsxs15(
2688
+ return /* @__PURE__ */ jsxs16("div", { className: `bg-background rounded-xl p-4 ${className}`, children: [
2689
+ /* @__PURE__ */ jsxs16("div", { className: "flex items-center justify-between mb-3.5", children: [
2690
+ /* @__PURE__ */ jsxs16("div", { className: "relative", ref: monthPickerContainerRef, children: [
2691
+ /* @__PURE__ */ jsxs16(
2393
2692
  "button",
2394
2693
  {
2395
2694
  onClick: toggleMonthPicker,
2396
2695
  className: "flex items-center gap-2 hover:bg-background-100 rounded px-2 py-1 transition-colors",
2397
2696
  children: [
2398
- /* @__PURE__ */ jsxs15("h2", { className: "text-lg font-semibold text-text-950", children: [
2697
+ /* @__PURE__ */ jsxs16("h2", { className: "text-lg font-semibold text-text-950", children: [
2399
2698
  MONTH_NAMES[currentDate.getMonth()],
2400
2699
  " ",
2401
2700
  currentDate.getFullYear()
2402
2701
  ] }),
2403
- /* @__PURE__ */ jsx20(
2702
+ /* @__PURE__ */ jsx21(
2404
2703
  "svg",
2405
2704
  {
2406
2705
  className: `w-4 h-4 text-text-400 transition-transform ${isMonthPickerOpen ? "rotate-180" : ""}`,
2407
2706
  fill: "none",
2408
2707
  stroke: "currentColor",
2409
2708
  viewBox: "0 0 24 24",
2410
- children: /* @__PURE__ */ jsx20(
2709
+ children: /* @__PURE__ */ jsx21(
2411
2710
  "path",
2412
2711
  {
2413
2712
  strokeLinecap: "round",
@@ -2421,7 +2720,7 @@ var Calendar = ({
2421
2720
  ]
2422
2721
  }
2423
2722
  ),
2424
- isMonthPickerOpen && /* @__PURE__ */ jsx20(
2723
+ isMonthPickerOpen && /* @__PURE__ */ jsx21(
2425
2724
  MonthYearPicker,
2426
2725
  {
2427
2726
  monthPickerRef,
@@ -2432,21 +2731,21 @@ var Calendar = ({
2432
2731
  }
2433
2732
  )
2434
2733
  ] }),
2435
- /* @__PURE__ */ jsxs15("div", { className: "flex items-center gap-1", children: [
2436
- /* @__PURE__ */ jsx20(
2734
+ /* @__PURE__ */ jsxs16("div", { className: "flex items-center gap-1", children: [
2735
+ /* @__PURE__ */ jsx21(
2437
2736
  "button",
2438
2737
  {
2439
2738
  onClick: goToPreviousMonth,
2440
2739
  className: "p-1 rounded-md hover:bg-background-100 transition-colors",
2441
2740
  "aria-label": "M\xEAs anterior",
2442
- children: /* @__PURE__ */ jsx20(
2741
+ children: /* @__PURE__ */ jsx21(
2443
2742
  "svg",
2444
2743
  {
2445
2744
  className: "w-6 h-6 text-primary-950",
2446
2745
  fill: "none",
2447
2746
  stroke: "currentColor",
2448
2747
  viewBox: "0 0 24 24",
2449
- children: /* @__PURE__ */ jsx20(
2748
+ children: /* @__PURE__ */ jsx21(
2450
2749
  "path",
2451
2750
  {
2452
2751
  strokeLinecap: "round",
@@ -2459,20 +2758,20 @@ var Calendar = ({
2459
2758
  )
2460
2759
  }
2461
2760
  ),
2462
- /* @__PURE__ */ jsx20(
2761
+ /* @__PURE__ */ jsx21(
2463
2762
  "button",
2464
2763
  {
2465
2764
  onClick: goToNextMonth,
2466
2765
  className: "p-1 rounded-md hover:bg-background-100 transition-colors",
2467
2766
  "aria-label": "Pr\xF3ximo m\xEAs",
2468
- children: /* @__PURE__ */ jsx20(
2767
+ children: /* @__PURE__ */ jsx21(
2469
2768
  "svg",
2470
2769
  {
2471
2770
  className: "w-6 h-6 text-primary-950",
2472
2771
  fill: "none",
2473
2772
  stroke: "currentColor",
2474
2773
  viewBox: "0 0 24 24",
2475
- children: /* @__PURE__ */ jsx20(
2774
+ children: /* @__PURE__ */ jsx21(
2476
2775
  "path",
2477
2776
  {
2478
2777
  strokeLinecap: "round",
@@ -2487,7 +2786,7 @@ var Calendar = ({
2487
2786
  )
2488
2787
  ] })
2489
2788
  ] }),
2490
- /* @__PURE__ */ jsx20("div", { className: "grid grid-cols-7 gap-1 mb-2", children: WEEK_DAYS.map((day) => /* @__PURE__ */ jsx20(
2789
+ /* @__PURE__ */ jsx21("div", { className: "grid grid-cols-7 gap-1 mb-2", children: WEEK_DAYS.map((day) => /* @__PURE__ */ jsx21(
2491
2790
  "div",
2492
2791
  {
2493
2792
  className: "h-4 flex items-center justify-center text-xs font-semibold text-text-500",
@@ -2495,13 +2794,13 @@ var Calendar = ({
2495
2794
  },
2496
2795
  day
2497
2796
  )) }),
2498
- /* @__PURE__ */ jsx20("div", { className: "grid grid-cols-7 gap-1", children: calendarData.map((day) => {
2797
+ /* @__PURE__ */ jsx21("div", { className: "grid grid-cols-7 gap-1", children: calendarData.map((day) => {
2499
2798
  if (!day.isCurrentMonth) {
2500
- return /* @__PURE__ */ jsx20(
2799
+ return /* @__PURE__ */ jsx21(
2501
2800
  "div",
2502
2801
  {
2503
2802
  className: "flex items-center justify-center",
2504
- children: /* @__PURE__ */ jsx20("div", { className: "w-10 h-10" })
2803
+ children: /* @__PURE__ */ jsx21("div", { className: "w-10 h-10" })
2505
2804
  },
2506
2805
  day.date.getTime()
2507
2806
  );
@@ -2511,11 +2810,11 @@ var Calendar = ({
2511
2810
  variant,
2512
2811
  showActivities
2513
2812
  );
2514
- return /* @__PURE__ */ jsx20(
2813
+ return /* @__PURE__ */ jsx21(
2515
2814
  "div",
2516
2815
  {
2517
2816
  className: "flex items-center justify-center",
2518
- children: /* @__PURE__ */ jsx20(
2817
+ children: /* @__PURE__ */ jsx21(
2519
2818
  "button",
2520
2819
  {
2521
2820
  className: `
@@ -2546,8 +2845,8 @@ var Calendar_default = Calendar;
2546
2845
  // src/components/Modal/Modal.tsx
2547
2846
  import { useEffect as useEffect2 } from "react";
2548
2847
  import { X as X2 } from "phosphor-react";
2549
- import { jsx as jsx21, jsxs as jsxs16 } from "react/jsx-runtime";
2550
- var SIZE_CLASSES9 = {
2848
+ import { jsx as jsx22, jsxs as jsxs17 } from "react/jsx-runtime";
2849
+ var SIZE_CLASSES10 = {
2551
2850
  xs: "max-w-[360px]",
2552
2851
  sm: "max-w-[420px]",
2553
2852
  md: "max-w-[510px]",
@@ -2598,10 +2897,10 @@ var Modal = ({
2598
2897
  }
2599
2898
  };
2600
2899
  if (!isOpen) return null;
2601
- const sizeClasses = SIZE_CLASSES9[size];
2900
+ const sizeClasses = SIZE_CLASSES10[size];
2602
2901
  const baseClasses = "bg-background rounded-3xl shadow-hard-shadow-2 border border-border-100 w-full mx-4";
2603
2902
  const modalClasses = `${baseClasses} ${sizeClasses} ${className}`;
2604
- return /* @__PURE__ */ jsx21(
2903
+ return /* @__PURE__ */ jsx22(
2605
2904
  "div",
2606
2905
  {
2607
2906
  className: "fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-xs",
@@ -2609,7 +2908,7 @@ var Modal = ({
2609
2908
  onKeyDown: handleBackdropKeyDown,
2610
2909
  role: "none",
2611
2910
  "aria-hidden": "true",
2612
- children: /* @__PURE__ */ jsxs16(
2911
+ children: /* @__PURE__ */ jsxs17(
2613
2912
  "div",
2614
2913
  {
2615
2914
  className: modalClasses,
@@ -2617,20 +2916,20 @@ var Modal = ({
2617
2916
  "aria-modal": "true",
2618
2917
  "aria-labelledby": "modal-title",
2619
2918
  children: [
2620
- /* @__PURE__ */ jsxs16("div", { className: "flex items-center justify-between px-6 py-6", children: [
2621
- /* @__PURE__ */ jsx21("h2", { id: "modal-title", className: "text-lg font-semibold text-text-950", children: title }),
2622
- !hideCloseButton && /* @__PURE__ */ jsx21(
2919
+ /* @__PURE__ */ jsxs17("div", { className: "flex items-center justify-between px-6 py-6", children: [
2920
+ /* @__PURE__ */ jsx22("h2", { id: "modal-title", className: "text-lg font-semibold text-text-950", children: title }),
2921
+ !hideCloseButton && /* @__PURE__ */ jsx22(
2623
2922
  "button",
2624
2923
  {
2625
2924
  onClick: onClose,
2626
2925
  className: "p-1 text-text-500 hover:text-text-700 hover:bg-background-50 rounded-md transition-colors focus:outline-none focus:ring-2 focus:ring-indicator-info focus:ring-offset-2",
2627
2926
  "aria-label": "Fechar modal",
2628
- children: /* @__PURE__ */ jsx21(X2, { size: 18 })
2927
+ children: /* @__PURE__ */ jsx22(X2, { size: 18 })
2629
2928
  }
2630
2929
  )
2631
2930
  ] }),
2632
- /* @__PURE__ */ jsx21("div", { className: "px-6 pb-6", children: /* @__PURE__ */ jsx21("div", { className: "text-text-500 font-normal text-sm leading-6", children }) }),
2633
- footer && /* @__PURE__ */ jsx21("div", { className: "flex justify-end gap-3 px-6 pb-6", children: footer })
2931
+ /* @__PURE__ */ jsx22("div", { className: "px-6 pb-6", children: /* @__PURE__ */ jsx22("div", { className: "text-text-500 font-normal text-sm leading-6", children }) }),
2932
+ footer && /* @__PURE__ */ jsx22("div", { className: "flex justify-end gap-3 px-6 pb-6", children: footer })
2634
2933
  ]
2635
2934
  }
2636
2935
  )
@@ -2651,7 +2950,7 @@ import {
2651
2950
  useState as useState6
2652
2951
  } from "react";
2653
2952
  import { create as create2, useStore } from "zustand";
2654
- import { jsx as jsx22, jsxs as jsxs17 } from "react/jsx-runtime";
2953
+ import { jsx as jsx23, jsxs as jsxs18 } from "react/jsx-runtime";
2655
2954
  function createDropdownStore() {
2656
2955
  return create2((set) => ({
2657
2956
  open: false,
@@ -2746,7 +3045,7 @@ var DropdownMenu = ({
2746
3045
  setOpen(propOpen);
2747
3046
  }
2748
3047
  }, [propOpen]);
2749
- return /* @__PURE__ */ jsx22("div", { className: "relative", ref: menuRef, children: injectStore(children, store) });
3048
+ return /* @__PURE__ */ jsx23("div", { className: "relative", ref: menuRef, children: injectStore(children, store) });
2750
3049
  };
2751
3050
  var DropdownMenuTrigger = ({
2752
3051
  className,
@@ -2758,7 +3057,7 @@ var DropdownMenuTrigger = ({
2758
3057
  const store = useDropdownStore(externalStore);
2759
3058
  const open = useStore(store, (s) => s.open);
2760
3059
  const toggleOpen = () => store.setState({ open: !open });
2761
- return /* @__PURE__ */ jsx22(
3060
+ return /* @__PURE__ */ jsx23(
2762
3061
  Button_default,
2763
3062
  {
2764
3063
  variant: "outline",
@@ -2795,7 +3094,7 @@ var MENUCONTENT_VARIANT_CLASSES = {
2795
3094
  profile: "p-6"
2796
3095
  };
2797
3096
  var MenuLabel = forwardRef9(({ className, inset, store: _store, ...props }, ref) => {
2798
- return /* @__PURE__ */ jsx22(
3097
+ return /* @__PURE__ */ jsx23(
2799
3098
  "div",
2800
3099
  {
2801
3100
  ref,
@@ -2834,7 +3133,7 @@ var MenuContent = forwardRef9(
2834
3133
  return `absolute ${vertical} ${horizontal}`;
2835
3134
  };
2836
3135
  const variantClasses = MENUCONTENT_VARIANT_CLASSES[variant];
2837
- return /* @__PURE__ */ jsx22(
3136
+ return /* @__PURE__ */ jsx23(
2838
3137
  "div",
2839
3138
  {
2840
3139
  ref,
@@ -2893,7 +3192,7 @@ var DropdownMenuItem = forwardRef9(
2893
3192
  const getVariantProps = () => {
2894
3193
  return variant === "profile" ? { "data-variant": "profile" } : {};
2895
3194
  };
2896
- return /* @__PURE__ */ jsxs17(
3195
+ return /* @__PURE__ */ jsxs18(
2897
3196
  "div",
2898
3197
  {
2899
3198
  ref,
@@ -2915,7 +3214,7 @@ var DropdownMenuItem = forwardRef9(
2915
3214
  ...props,
2916
3215
  children: [
2917
3216
  iconLeft,
2918
- /* @__PURE__ */ jsx22("span", { className: "w-full text-md", children }),
3217
+ /* @__PURE__ */ jsx23("span", { className: "w-full text-md", children }),
2919
3218
  iconRight
2920
3219
  ]
2921
3220
  }
@@ -2923,7 +3222,7 @@ var DropdownMenuItem = forwardRef9(
2923
3222
  }
2924
3223
  );
2925
3224
  DropdownMenuItem.displayName = "DropdownMenuItem";
2926
- var DropdownMenuSeparator = forwardRef9(({ className, store: _store, ...props }, ref) => /* @__PURE__ */ jsx22(
3225
+ var DropdownMenuSeparator = forwardRef9(({ className, store: _store, ...props }, ref) => /* @__PURE__ */ jsx23(
2927
3226
  "div",
2928
3227
  {
2929
3228
  ref,
@@ -2936,7 +3235,7 @@ var ProfileMenuTrigger = forwardRef9(({ className, onClick, store: externalStore
2936
3235
  const store = useDropdownStore(externalStore);
2937
3236
  const open = useStore(store, (s) => s.open);
2938
3237
  const toggleOpen = () => store.setState({ open: !open });
2939
- return /* @__PURE__ */ jsx22(
3238
+ return /* @__PURE__ */ jsx23(
2940
3239
  "button",
2941
3240
  {
2942
3241
  ref,
@@ -2948,13 +3247,13 @@ var ProfileMenuTrigger = forwardRef9(({ className, onClick, store: externalStore
2948
3247
  },
2949
3248
  "aria-expanded": open,
2950
3249
  ...props,
2951
- children: /* @__PURE__ */ jsx22("span", { className: "size-6 rounded-full bg-background-100 flex items-center justify-center", children: /* @__PURE__ */ jsx22(User, { className: "text-background-950", size: 18 }) })
3250
+ children: /* @__PURE__ */ jsx23("span", { className: "size-6 rounded-full bg-background-100 flex items-center justify-center", children: /* @__PURE__ */ jsx23(User, { className: "text-background-950", size: 18 }) })
2952
3251
  }
2953
3252
  );
2954
3253
  });
2955
3254
  ProfileMenuTrigger.displayName = "ProfileMenuTrigger";
2956
3255
  var ProfileMenuHeader = forwardRef9(({ className, name, email, store: _store, ...props }, ref) => {
2957
- return /* @__PURE__ */ jsxs17(
3256
+ return /* @__PURE__ */ jsxs18(
2958
3257
  "div",
2959
3258
  {
2960
3259
  ref,
@@ -2965,10 +3264,10 @@ var ProfileMenuHeader = forwardRef9(({ className, name, email, store: _store, ..
2965
3264
  `,
2966
3265
  ...props,
2967
3266
  children: [
2968
- /* @__PURE__ */ jsx22("span", { className: "size-16 bg-background-100 rounded-full flex items-center justify-center", children: /* @__PURE__ */ jsx22(User, { size: 34, className: "text-background-950" }) }),
2969
- /* @__PURE__ */ jsxs17("div", { className: "flex flex-col ", children: [
2970
- /* @__PURE__ */ jsx22("p", { className: "text-xl font-bold text-text-950", children: name }),
2971
- /* @__PURE__ */ jsx22("p", { className: "text-md text-text-600", children: email })
3267
+ /* @__PURE__ */ jsx23("span", { className: "size-16 bg-background-100 rounded-full flex items-center justify-center", children: /* @__PURE__ */ jsx23(User, { size: 34, className: "text-background-950" }) }),
3268
+ /* @__PURE__ */ jsxs18("div", { className: "flex flex-col ", children: [
3269
+ /* @__PURE__ */ jsx23("p", { className: "text-xl font-bold text-text-950", children: name }),
3270
+ /* @__PURE__ */ jsx23("p", { className: "text-md text-text-600", children: email })
2972
3271
  ] })
2973
3272
  ]
2974
3273
  }
@@ -2976,7 +3275,7 @@ var ProfileMenuHeader = forwardRef9(({ className, name, email, store: _store, ..
2976
3275
  });
2977
3276
  ProfileMenuHeader.displayName = "ProfileMenuHeader";
2978
3277
  var ProfileMenuSection = forwardRef9(({ className, children, store: _store, ...props }, ref) => {
2979
- return /* @__PURE__ */ jsx22(
3278
+ return /* @__PURE__ */ jsx23(
2980
3279
  "div",
2981
3280
  {
2982
3281
  ref,
@@ -2999,7 +3298,7 @@ var ProfileMenuFooter = ({
2999
3298
  }) => {
3000
3299
  const store = useDropdownStore(externalStore);
3001
3300
  const setOpen = useStore(store, (s) => s.setOpen);
3002
- return /* @__PURE__ */ jsxs17(
3301
+ return /* @__PURE__ */ jsxs18(
3003
3302
  Button_default,
3004
3303
  {
3005
3304
  variant: "outline",
@@ -3011,8 +3310,8 @@ var ProfileMenuFooter = ({
3011
3310
  },
3012
3311
  ...props,
3013
3312
  children: [
3014
- /* @__PURE__ */ jsx22("span", { className: "mr-2 flex items-center", children: /* @__PURE__ */ jsx22(SignOut, {}) }),
3015
- /* @__PURE__ */ jsx22("span", { children: "Sair" })
3313
+ /* @__PURE__ */ jsx23("span", { className: "mr-2 flex items-center", children: /* @__PURE__ */ jsx23(SignOut, {}) }),
3314
+ /* @__PURE__ */ jsx23("span", { children: "Sair" })
3016
3315
  ]
3017
3316
  }
3018
3317
  );
@@ -3030,14 +3329,14 @@ import {
3030
3329
  Children as Children2,
3031
3330
  cloneElement as cloneElement2
3032
3331
  } from "react";
3033
- import { CaretDown, Check as Check3 } from "phosphor-react";
3034
- import { Fragment as Fragment3, jsx as jsx23, jsxs as jsxs18 } from "react/jsx-runtime";
3332
+ import { CaretDown, Check as Check4 } from "phosphor-react";
3333
+ import { Fragment as Fragment3, jsx as jsx24, jsxs as jsxs19 } from "react/jsx-runtime";
3035
3334
  var VARIANT_CLASSES4 = {
3036
3335
  outlined: "border-2 rounded-sm focus:border-primary-950",
3037
3336
  underlined: "border-b-2 focus:border-primary-950",
3038
3337
  rounded: "border-2 rounded-4xl focus:border-primary-950"
3039
3338
  };
3040
- var SIZE_CLASSES10 = {
3339
+ var SIZE_CLASSES11 = {
3041
3340
  small: "text-sm",
3042
3341
  medium: "text-md",
3043
3342
  large: "text-lg"
@@ -3077,7 +3376,7 @@ function getLabelAsNode(children) {
3077
3376
  }
3078
3377
  const flattened = Children2.toArray(children);
3079
3378
  if (flattened.length === 1) return flattened[0];
3080
- return /* @__PURE__ */ jsx23(Fragment3, { children: flattened });
3379
+ return /* @__PURE__ */ jsx24(Fragment3, { children: flattened });
3081
3380
  }
3082
3381
  var injectStore2 = (children, store) => {
3083
3382
  return Children2.map(children, (child) => {
@@ -3178,8 +3477,8 @@ var Select = ({
3178
3477
  if (label) store.setState({ selectedLabel: label });
3179
3478
  }
3180
3479
  }, [propValue]);
3181
- const sizeClasses = SIZE_CLASSES10[size];
3182
- return /* @__PURE__ */ jsx23("div", { className: `relative ${sizeClasses} w-[288px]`, ref: selectRef, children: injectStore2(children, store) });
3480
+ const sizeClasses = SIZE_CLASSES11[size];
3481
+ return /* @__PURE__ */ jsx24("div", { className: `relative ${sizeClasses} w-[288px]`, ref: selectRef, children: injectStore2(children, store) });
3183
3482
  };
3184
3483
  var SelectValue = ({
3185
3484
  placeholder,
@@ -3188,7 +3487,7 @@ var SelectValue = ({
3188
3487
  const store = useSelectStore(externalStore);
3189
3488
  const selectedLabel = useStore2(store, (s) => s.selectedLabel);
3190
3489
  const value = useStore2(store, (s) => s.value);
3191
- return /* @__PURE__ */ jsx23("span", { className: "text-inherit", children: selectedLabel || placeholder || value });
3490
+ return /* @__PURE__ */ jsx24("span", { className: "text-inherit", children: selectedLabel || placeholder || value });
3192
3491
  };
3193
3492
  var SelectTrigger = forwardRef10(
3194
3493
  ({
@@ -3203,7 +3502,7 @@ var SelectTrigger = forwardRef10(
3203
3502
  const open = useStore2(store, (s) => s.open);
3204
3503
  const toggleOpen = () => store.setState({ open: !open });
3205
3504
  const variantClasses = VARIANT_CLASSES4[variant];
3206
- return /* @__PURE__ */ jsxs18(
3505
+ return /* @__PURE__ */ jsxs19(
3207
3506
  "button",
3208
3507
  {
3209
3508
  ref,
@@ -3222,7 +3521,7 @@ var SelectTrigger = forwardRef10(
3222
3521
  ...props,
3223
3522
  children: [
3224
3523
  props.children,
3225
- /* @__PURE__ */ jsx23(
3524
+ /* @__PURE__ */ jsx24(
3226
3525
  CaretDown,
3227
3526
  {
3228
3527
  className: `h-[1em] w-[1em] opacity-50 transition-transform ${open ? "rotate-180" : ""}`
@@ -3247,7 +3546,7 @@ var SelectContent = forwardRef10(
3247
3546
  const open = useStore2(store, (s) => s.open);
3248
3547
  if (!open) return null;
3249
3548
  const getPositionClasses = () => `w-full min-w-full absolute ${SIDE_CLASSES2[side]} ${ALIGN_CLASSES2[align]}`;
3250
- return /* @__PURE__ */ jsx23(
3549
+ return /* @__PURE__ */ jsx24(
3251
3550
  "div",
3252
3551
  {
3253
3552
  role: "menu",
@@ -3285,7 +3584,7 @@ var SelectItem = forwardRef10(
3285
3584
  }
3286
3585
  props.onClick?.(e);
3287
3586
  };
3288
- return /* @__PURE__ */ jsxs18(
3587
+ return /* @__PURE__ */ jsxs19(
3289
3588
  "div",
3290
3589
  {
3291
3590
  role: "menuitem",
@@ -3305,7 +3604,7 @@ var SelectItem = forwardRef10(
3305
3604
  tabIndex: disabled ? -1 : 0,
3306
3605
  ...props,
3307
3606
  children: [
3308
- /* @__PURE__ */ jsx23("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: selectedValue === value && /* @__PURE__ */ jsx23(Check3, { className: "" }) }),
3607
+ /* @__PURE__ */ jsx24("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: selectedValue === value && /* @__PURE__ */ jsx24(Check4, { className: "" }) }),
3309
3608
  children
3310
3609
  ]
3311
3610
  }
@@ -3327,7 +3626,7 @@ import {
3327
3626
  useState as useState7
3328
3627
  } from "react";
3329
3628
  import { CaretLeft, CaretRight } from "phosphor-react";
3330
- import { jsx as jsx24, jsxs as jsxs19 } from "react/jsx-runtime";
3629
+ import { jsx as jsx25, jsxs as jsxs20 } from "react/jsx-runtime";
3331
3630
  var createMenuStore = () => create4((set) => ({
3332
3631
  value: "",
3333
3632
  setValue: (value) => set({ value })
@@ -3363,7 +3662,7 @@ var Menu = forwardRef11(
3363
3662
  }, [value, onValueChange]);
3364
3663
  const baseClasses = "w-full flex flex-row items-center gap-2 py-2 px-6";
3365
3664
  const variantClasses = VARIANT_CLASSES5[variant];
3366
- return /* @__PURE__ */ jsx24(
3665
+ return /* @__PURE__ */ jsx25(
3367
3666
  "ul",
3368
3667
  {
3369
3668
  ref,
@@ -3408,7 +3707,7 @@ var MenuItem = forwardRef11(
3408
3707
  ...props
3409
3708
  };
3410
3709
  const variants = {
3411
- menu: /* @__PURE__ */ jsx24(
3710
+ menu: /* @__PURE__ */ jsx25(
3412
3711
  "li",
3413
3712
  {
3414
3713
  "data-variant": "menu",
@@ -3423,7 +3722,7 @@ var MenuItem = forwardRef11(
3423
3722
  children
3424
3723
  }
3425
3724
  ),
3426
- menu2: /* @__PURE__ */ jsx24(
3725
+ menu2: /* @__PURE__ */ jsx25(
3427
3726
  "li",
3428
3727
  {
3429
3728
  "data-variant": "menu2",
@@ -3435,7 +3734,7 @@ var MenuItem = forwardRef11(
3435
3734
  children
3436
3735
  }
3437
3736
  ),
3438
- breadcrumb: /* @__PURE__ */ jsx24(
3737
+ breadcrumb: /* @__PURE__ */ jsx25(
3439
3738
  "li",
3440
3739
  {
3441
3740
  "data-variant": "breadcrumb",
@@ -3446,7 +3745,7 @@ var MenuItem = forwardRef11(
3446
3745
  ${className ?? ""}
3447
3746
  `,
3448
3747
  ...commonProps,
3449
- children: /* @__PURE__ */ jsx24(
3748
+ children: /* @__PURE__ */ jsx25(
3450
3749
  "span",
3451
3750
  {
3452
3751
  className: `
@@ -3464,14 +3763,14 @@ var MenuItem = forwardRef11(
3464
3763
  );
3465
3764
  MenuItem.displayName = "MenuItem";
3466
3765
  var MenuSeparator = forwardRef11(
3467
- ({ className, children, ...props }, ref) => /* @__PURE__ */ jsx24(
3766
+ ({ className, children, ...props }, ref) => /* @__PURE__ */ jsx25(
3468
3767
  "li",
3469
3768
  {
3470
3769
  ref,
3471
3770
  "aria-hidden": "true",
3472
3771
  className: `[&>svg]:w-4 [&>svg]:h-4 text-text-600 ${className ?? ""}`,
3473
3772
  ...props,
3474
- children: children ?? /* @__PURE__ */ jsx24(CaretRight, {})
3773
+ children: children ?? /* @__PURE__ */ jsx25(CaretRight, {})
3475
3774
  }
3476
3775
  )
3477
3776
  );
@@ -3486,11 +3785,426 @@ var injectStore3 = (children, store) => Children3.map(children, (child) => {
3486
3785
  });
3487
3786
  });
3488
3787
  var Menu_default = Menu;
3788
+
3789
+ // src/components/Card/Card.tsx
3790
+ import { forwardRef as forwardRef12, Fragment as Fragment4 } from "react";
3791
+ import { CaretRight as CaretRight2, CheckCircle as CheckCircle3, XCircle as XCircle2 } from "phosphor-react";
3792
+ import { Fragment as Fragment5, jsx as jsx26, jsxs as jsxs21 } from "react/jsx-runtime";
3793
+ var ACTION_CARD_CLASSES = {
3794
+ warning: "bg-warning-background",
3795
+ success: "bg-success-300",
3796
+ error: "bg-error-100",
3797
+ info: "bg-info-background"
3798
+ };
3799
+ var ACTION_ICON_CLASSES = {
3800
+ warning: "bg-warning-300 text-text",
3801
+ success: "bg-yellow-300 text-text-950",
3802
+ error: "bg-error-500 text-text",
3803
+ info: "bg-info-500 text-text"
3804
+ };
3805
+ var ACTION_SUBTITLE_CLASSES = {
3806
+ warning: "text-warning-600",
3807
+ success: "text-success-700",
3808
+ error: "text-error-700",
3809
+ info: "text-info-700"
3810
+ };
3811
+ var ACTION_HEADER_CLASSES = {
3812
+ warning: "text-warning-300",
3813
+ success: "text-success-300",
3814
+ error: "text-error-300",
3815
+ info: "text-info-300"
3816
+ };
3817
+ var CardActivesResults = forwardRef12(
3818
+ ({
3819
+ icon,
3820
+ title,
3821
+ subTitle,
3822
+ header,
3823
+ extended = false,
3824
+ action = "success",
3825
+ description,
3826
+ className,
3827
+ ...props
3828
+ }, ref) => {
3829
+ const actionCardClasses = ACTION_CARD_CLASSES[action];
3830
+ const actionIconClasses = ACTION_ICON_CLASSES[action];
3831
+ const actionSubTitleClasses = ACTION_SUBTITLE_CLASSES[action];
3832
+ const actionHeaderClasses = ACTION_HEADER_CLASSES[action];
3833
+ return /* @__PURE__ */ jsxs21(
3834
+ "div",
3835
+ {
3836
+ ref,
3837
+ className: `w-full flex flex-col border border-border-50 bg-background rounded-xl ${className}`,
3838
+ ...props,
3839
+ children: [
3840
+ /* @__PURE__ */ jsxs21(
3841
+ "div",
3842
+ {
3843
+ className: `
3844
+ flex flex-col gap-1 items-center justify-center p-4
3845
+ ${actionCardClasses}
3846
+ ${extended ? "rounded-t-xl" : "rounded-xl"}`,
3847
+ children: [
3848
+ /* @__PURE__ */ jsx26(
3849
+ "span",
3850
+ {
3851
+ className: `size-7.5 rounded-full flex items-center justify-center ${actionIconClasses}`,
3852
+ children: icon
3853
+ }
3854
+ ),
3855
+ /* @__PURE__ */ jsx26("p", { className: "text-text-800 font-medium uppercase text-2xs", children: title }),
3856
+ /* @__PURE__ */ jsx26("p", { className: `text-lg font-bold ${actionSubTitleClasses}`, children: subTitle })
3857
+ ]
3858
+ }
3859
+ ),
3860
+ extended && /* @__PURE__ */ jsxs21("div", { className: "flex flex-col items-center gap-2.5 pb-9.5 pt-2.5", children: [
3861
+ /* @__PURE__ */ jsx26(
3862
+ "p",
3863
+ {
3864
+ className: `text-2xs font-medium uppercase ${actionHeaderClasses}`,
3865
+ children: header
3866
+ }
3867
+ ),
3868
+ /* @__PURE__ */ jsx26("p", { className: "text-sm text-info-800 text-center", children: description })
3869
+ ] })
3870
+ ]
3871
+ }
3872
+ );
3873
+ }
3874
+ );
3875
+ var CardQuestions = forwardRef12(
3876
+ ({
3877
+ header,
3878
+ state = "undone",
3879
+ className,
3880
+ onClickButton,
3881
+ valueButton,
3882
+ ...props
3883
+ }, ref) => {
3884
+ const isDone = state === "done";
3885
+ const stateLabel = isDone ? "Realizado" : "N\xE3o Realizado";
3886
+ const buttonLabel = isDone ? "Ver Quest\xE3o" : "Responder";
3887
+ return /* @__PURE__ */ jsxs21(
3888
+ "div",
3889
+ {
3890
+ ref,
3891
+ className: `
3892
+ w-full flex flex-row justify-between rounded-xl p-4 gap-4 bg-background border border-border-50
3893
+ ${className}
3894
+ `,
3895
+ ...props,
3896
+ children: [
3897
+ /* @__PURE__ */ jsxs21("section", { className: "flex flex-col gap-1", children: [
3898
+ /* @__PURE__ */ jsx26("p", { className: "font-bold text-xs text-text-950", children: header }),
3899
+ /* @__PURE__ */ jsxs21("div", { className: "flex flex-row gap-6 items-center", children: [
3900
+ /* @__PURE__ */ jsx26(
3901
+ Badge_default,
3902
+ {
3903
+ size: "medium",
3904
+ variant: "solid",
3905
+ action: isDone ? "success" : "error",
3906
+ children: stateLabel
3907
+ }
3908
+ ),
3909
+ /* @__PURE__ */ jsxs21("span", { className: "flex flex-row items-center gap-1 text-text-700 text-xs", children: [
3910
+ isDone ? "Nota" : "Sem nota",
3911
+ isDone && /* @__PURE__ */ jsx26(Badge_default, { size: "medium", action: "success", children: "00" })
3912
+ ] })
3913
+ ] })
3914
+ ] }),
3915
+ /* @__PURE__ */ jsx26(Button_default, { size: "extra-small", onClick: () => onClickButton?.(valueButton), children: buttonLabel })
3916
+ ]
3917
+ }
3918
+ );
3919
+ }
3920
+ );
3921
+ var CardProgress = forwardRef12(
3922
+ ({
3923
+ header,
3924
+ subhead,
3925
+ initialDate,
3926
+ endDate,
3927
+ progress = 0,
3928
+ direction = "horizontal",
3929
+ icon,
3930
+ color = "#B7DFFF",
3931
+ className,
3932
+ ...props
3933
+ }, ref) => {
3934
+ const isHorizontal = direction === "horizontal";
3935
+ const contentComponent = {
3936
+ horizontal: /* @__PURE__ */ jsxs21(Fragment5, { children: [
3937
+ /* @__PURE__ */ jsxs21("div", { className: "flex flex-row gap-6 items-center", children: [
3938
+ initialDate && /* @__PURE__ */ jsxs21("span", { className: "flex flex-row gap-1 items-center text-2xs", children: [
3939
+ /* @__PURE__ */ jsx26("p", { className: "text-text-800 font-semibold", children: "In\xEDcio" }),
3940
+ /* @__PURE__ */ jsx26("p", { className: "text-text-600", children: initialDate })
3941
+ ] }),
3942
+ endDate && /* @__PURE__ */ jsxs21("span", { className: "flex flex-row gap-1 items-center text-2xs", children: [
3943
+ /* @__PURE__ */ jsx26("p", { className: "text-text-800 font-semibold", children: "Fim" }),
3944
+ /* @__PURE__ */ jsx26("p", { className: "text-text-600", children: endDate })
3945
+ ] })
3946
+ ] }),
3947
+ /* @__PURE__ */ jsx26(
3948
+ ProgressBar_default,
3949
+ {
3950
+ size: "medium",
3951
+ showPercentage: true,
3952
+ value: progress,
3953
+ "data-testid": "progress-bar"
3954
+ }
3955
+ )
3956
+ ] }),
3957
+ vertical: /* @__PURE__ */ jsx26("p", { className: "text-sm text-text-800", children: subhead })
3958
+ };
3959
+ return /* @__PURE__ */ jsxs21(
3960
+ "div",
3961
+ {
3962
+ ref,
3963
+ className: `
3964
+ w-full flex border border-border-50 rounded-xl
3965
+ ${isHorizontal ? "flex-row h-20" : "flex-col"}
3966
+ ${className}
3967
+ `,
3968
+ ...props,
3969
+ children: [
3970
+ /* @__PURE__ */ jsx26(
3971
+ "div",
3972
+ {
3973
+ className: `
3974
+ flex justify-center items-center [&>svg]:size-8 text-text-950
3975
+ ${isHorizontal ? "w-20 h-full rounded-l-xl" : "min-h-[50px] w-full rounded-t-xl"}
3976
+ `,
3977
+ style: {
3978
+ backgroundColor: color
3979
+ },
3980
+ children: icon
3981
+ }
3982
+ ),
3983
+ /* @__PURE__ */ jsxs21(
3984
+ "div",
3985
+ {
3986
+ className: `
3987
+ p-4 flex flex-col justify-between w-full h-full
3988
+ ${!isHorizontal && "gap-4"}
3989
+ `,
3990
+ children: [
3991
+ /* @__PURE__ */ jsx26("p", { className: "text-xs font-bold text-text-950", children: header }),
3992
+ contentComponent[direction]
3993
+ ]
3994
+ }
3995
+ )
3996
+ ]
3997
+ }
3998
+ );
3999
+ }
4000
+ );
4001
+ var CardTopic = forwardRef12(
4002
+ ({
4003
+ header,
4004
+ subHead,
4005
+ progress,
4006
+ showPercentage = false,
4007
+ className = "",
4008
+ ...props
4009
+ }, ref) => {
4010
+ return /* @__PURE__ */ jsxs21(
4011
+ "div",
4012
+ {
4013
+ ref,
4014
+ className: `w-full py-2 px-4 flex flex-col justify-center gap-2 border border-border-50 rounded-xl min-h-20 ${className}`,
4015
+ ...props,
4016
+ children: [
4017
+ subHead && /* @__PURE__ */ jsx26("span", { className: "text-text-600 text-2xs flex flex-row gap-1", children: subHead.map((text, index) => /* @__PURE__ */ jsxs21(Fragment4, { children: [
4018
+ /* @__PURE__ */ jsx26("p", { children: text }),
4019
+ index < subHead.length - 1 && /* @__PURE__ */ jsx26("p", { children: "\u2022" })
4020
+ ] }, `${text} - ${index}`)) }),
4021
+ /* @__PURE__ */ jsx26("p", { className: "text-xs text-text-950 font-bold", children: header }),
4022
+ /* @__PURE__ */ jsx26(ProgressBar_default, { showPercentage, value: progress })
4023
+ ]
4024
+ }
4025
+ );
4026
+ }
4027
+ );
4028
+ var CardPerformance = forwardRef12(
4029
+ ({
4030
+ header,
4031
+ progress,
4032
+ description = "Sem dados ainda! Voc\xEA ainda n\xE3o fez um question\xE1rio neste assunto.",
4033
+ className = "",
4034
+ onClickButton,
4035
+ valueButton,
4036
+ ...props
4037
+ }, ref) => {
4038
+ const hasProgress = progress !== void 0;
4039
+ return /* @__PURE__ */ jsxs21(
4040
+ "div",
4041
+ {
4042
+ ref,
4043
+ className: `w-full h-20.5 flex flex-row justify-between p-4 gap-2 bg-background border border-border-50 ${className}`,
4044
+ ...props,
4045
+ children: [
4046
+ /* @__PURE__ */ jsxs21("div", { className: "w-full flex flex-col justify-between gap-2", children: [
4047
+ /* @__PURE__ */ jsxs21("div", { className: "flex flex-row justify-between items-center", children: [
4048
+ /* @__PURE__ */ jsx26("p", { className: "text-md font-bold text-text-950", children: header }),
4049
+ hasProgress && /* @__PURE__ */ jsx26(
4050
+ Button_default,
4051
+ {
4052
+ variant: "outline",
4053
+ size: "extra-small",
4054
+ onClick: () => onClickButton?.(valueButton),
4055
+ children: "Ver Aula"
4056
+ }
4057
+ )
4058
+ ] }),
4059
+ /* @__PURE__ */ jsx26("div", { className: "w-full", children: hasProgress ? /* @__PURE__ */ jsx26(ProgressBar_default, { value: progress, label: `${progress}% corretas` }) : /* @__PURE__ */ jsx26("p", { className: "text-xs text-text-600", children: description }) })
4060
+ ] }),
4061
+ !hasProgress && /* @__PURE__ */ jsx26(
4062
+ CaretRight2,
4063
+ {
4064
+ className: "size-4.5",
4065
+ "data-testid": "caret-icon",
4066
+ onClick: () => onClickButton?.(valueButton)
4067
+ }
4068
+ )
4069
+ ]
4070
+ }
4071
+ );
4072
+ }
4073
+ );
4074
+ var CardResults = forwardRef12(
4075
+ ({
4076
+ header,
4077
+ correct_answers,
4078
+ incorrect_answers,
4079
+ icon,
4080
+ direction = "col",
4081
+ color = "#B7DFFF",
4082
+ className,
4083
+ ...props
4084
+ }, ref) => {
4085
+ const isRow = direction == "row";
4086
+ return /* @__PURE__ */ jsxs21(
4087
+ "div",
4088
+ {
4089
+ ref,
4090
+ className: `
4091
+ w-full flex border border-border-50 rounded-xl min-h-20 flex-row items-center pr-4
4092
+ ${className}
4093
+ `,
4094
+ ...props,
4095
+ children: [
4096
+ /* @__PURE__ */ jsx26(
4097
+ "div",
4098
+ {
4099
+ className: `
4100
+ flex justify-center items-center [&>svg]:size-8 text-text-950 min-w-20 max-w-20 h-full rounded-l-xl
4101
+ `,
4102
+ style: {
4103
+ backgroundColor: color
4104
+ },
4105
+ children: icon
4106
+ }
4107
+ ),
4108
+ /* @__PURE__ */ jsxs21(
4109
+ "div",
4110
+ {
4111
+ className: `
4112
+ p-4 flex justify-between w-full h-full
4113
+ ${isRow ? "flex-row items-center" : "flex-col"}
4114
+ `,
4115
+ children: [
4116
+ /* @__PURE__ */ jsx26("p", { className: "text-xs font-bold text-text-950", children: header }),
4117
+ /* @__PURE__ */ jsxs21("span", { className: "flex flex-row gap-1 items-center", children: [
4118
+ /* @__PURE__ */ jsxs21(
4119
+ Badge_default,
4120
+ {
4121
+ action: "success",
4122
+ variant: "solid",
4123
+ size: "medium",
4124
+ iconLeft: /* @__PURE__ */ jsx26(CheckCircle3, {}),
4125
+ children: [
4126
+ correct_answers,
4127
+ " Corretas"
4128
+ ]
4129
+ }
4130
+ ),
4131
+ /* @__PURE__ */ jsxs21(
4132
+ Badge_default,
4133
+ {
4134
+ action: "error",
4135
+ variant: "solid",
4136
+ size: "medium",
4137
+ iconLeft: /* @__PURE__ */ jsx26(XCircle2, {}),
4138
+ children: [
4139
+ incorrect_answers,
4140
+ " Incorretas"
4141
+ ]
4142
+ }
4143
+ )
4144
+ ] })
4145
+ ]
4146
+ }
4147
+ ),
4148
+ /* @__PURE__ */ jsx26(CaretRight2, { className: "min-w-6 min-h-6" })
4149
+ ]
4150
+ }
4151
+ );
4152
+ }
4153
+ );
4154
+ var CardStatus = forwardRef12(
4155
+ ({ header, className, status, ...props }, ref) => {
4156
+ return /* @__PURE__ */ jsxs21(
4157
+ "div",
4158
+ {
4159
+ ref,
4160
+ className: `
4161
+ w-full flex border border-border-50 rounded-xl min-h-20 flex-row items-center pr-4
4162
+ ${className}
4163
+ `,
4164
+ ...props,
4165
+ children: [
4166
+ /* @__PURE__ */ jsxs21(
4167
+ "div",
4168
+ {
4169
+ className: `
4170
+ p-4 flex justify-between w-full h-full flex-row items-center
4171
+ `,
4172
+ children: [
4173
+ /* @__PURE__ */ jsx26("p", { className: "text-xs font-bold text-text-950", children: header }),
4174
+ /* @__PURE__ */ jsxs21("span", { className: "flex flex-row gap-1 items-center", children: [
4175
+ /* @__PURE__ */ jsx26(
4176
+ Badge_default,
4177
+ {
4178
+ action: status == "correct" ? "success" : "error",
4179
+ variant: "solid",
4180
+ size: "medium",
4181
+ iconLeft: /* @__PURE__ */ jsx26(CheckCircle3, {}),
4182
+ children: status == "correct" ? "Correta" : "Incorreta"
4183
+ }
4184
+ ),
4185
+ /* @__PURE__ */ jsx26("p", { className: "text-sm text-text-800", children: "Respondida" })
4186
+ ] })
4187
+ ]
4188
+ }
4189
+ ),
4190
+ /* @__PURE__ */ jsx26(CaretRight2, { className: "min-w-6 min-h-6" })
4191
+ ]
4192
+ }
4193
+ );
4194
+ }
4195
+ );
3489
4196
  export {
3490
4197
  Alert_default as Alert,
3491
4198
  Badge_default as Badge,
3492
4199
  Button_default as Button,
3493
4200
  Calendar_default as Calendar,
4201
+ CardActivesResults,
4202
+ CardPerformance,
4203
+ CardProgress,
4204
+ CardQuestions,
4205
+ CardResults,
4206
+ CardStatus,
4207
+ CardTopic,
3494
4208
  CheckBox_default as CheckBox,
3495
4209
  Chips_default as Chips,
3496
4210
  Divider_default as Divider,
@@ -3521,6 +4235,7 @@ export {
3521
4235
  SelectTrigger,
3522
4236
  SelectValue,
3523
4237
  SelectionButton_default as SelectionButton,
4238
+ Stepper_default as Stepper,
3524
4239
  Table_default as Table,
3525
4240
  Text_default as Text,
3526
4241
  TextArea_default as TextArea,