analytica-frontend-lib 1.0.44 → 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/Calendar/index.js +12 -12
- package/dist/Calendar/index.js.map +1 -1
- package/dist/Calendar/index.mjs +18 -13
- package/dist/Calendar/index.mjs.map +1 -1
- package/dist/Card/index.d.mts +62 -0
- package/dist/Card/index.d.ts +62 -0
- package/dist/Card/index.js +1085 -0
- package/dist/Card/index.js.map +1 -0
- package/dist/Card/index.mjs +1054 -0
- package/dist/Card/index.mjs.map +1 -0
- package/dist/DropdownMenu/index.d.mts +1 -1
- package/dist/DropdownMenu/index.d.ts +1 -1
- package/dist/DropdownMenu/index.js +16 -12
- package/dist/DropdownMenu/index.js.map +1 -1
- package/dist/DropdownMenu/index.mjs +16 -12
- package/dist/DropdownMenu/index.mjs.map +1 -1
- package/dist/Select/index.js +15 -8
- package/dist/Select/index.js.map +1 -1
- package/dist/Select/index.mjs +15 -8
- package/dist/Select/index.mjs.map +1 -1
- package/dist/Stepper/index.d.mts +169 -0
- package/dist/Stepper/index.d.ts +169 -0
- package/dist/Stepper/index.js +381 -0
- package/dist/Stepper/index.js.map +1 -0
- package/dist/Stepper/index.mjs +354 -0
- package/dist/Stepper/index.mjs.map +1 -0
- package/dist/index.css +501 -6
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +68 -2
- package/dist/index.d.ts +68 -2
- package/dist/index.js +998 -166
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +962 -134
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +501 -6
- package/dist/styles.css.map +1 -1
- package/package.json +4 -1
package/dist/index.mjs
CHANGED
|
@@ -2041,9 +2041,313 @@ var ProgressCircle = ({
|
|
|
2041
2041
|
};
|
|
2042
2042
|
var ProgressCircle_default = ProgressCircle;
|
|
2043
2043
|
|
|
2044
|
-
// src/components/
|
|
2045
|
-
import {
|
|
2044
|
+
// src/components/Stepper/Stepper.tsx
|
|
2045
|
+
import { Check as Check3 } from "phosphor-react";
|
|
2046
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
|
+
|
|
2343
|
+
// src/components/Calendar/Calendar.tsx
|
|
2344
|
+
import {
|
|
2345
|
+
useState as useState5,
|
|
2346
|
+
useMemo as useMemo2,
|
|
2347
|
+
useEffect,
|
|
2348
|
+
useRef
|
|
2349
|
+
} from "react";
|
|
2350
|
+
import { jsx as jsx21, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
2047
2351
|
var WEEK_DAYS = ["SEG", "TER", "QUA", "QUI", "SEX", "S\xC1B", "DOM"];
|
|
2048
2352
|
var WEEK_DAYS_SHORT = ["S", "T", "Q", "Q", "S", "S", "D"];
|
|
2049
2353
|
var MONTH_NAMES = [
|
|
@@ -2066,15 +2370,15 @@ var MonthYearPicker = ({
|
|
|
2066
2370
|
currentDate,
|
|
2067
2371
|
onYearChange,
|
|
2068
2372
|
onMonthChange
|
|
2069
|
-
}) => /* @__PURE__ */
|
|
2373
|
+
}) => /* @__PURE__ */ jsxs16(
|
|
2070
2374
|
"div",
|
|
2071
2375
|
{
|
|
2072
2376
|
ref: monthPickerRef,
|
|
2073
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]",
|
|
2074
2378
|
children: [
|
|
2075
|
-
/* @__PURE__ */
|
|
2076
|
-
/* @__PURE__ */
|
|
2077
|
-
/* @__PURE__ */
|
|
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(
|
|
2078
2382
|
"button",
|
|
2079
2383
|
{
|
|
2080
2384
|
onClick: () => onYearChange(year),
|
|
@@ -2087,9 +2391,9 @@ var MonthYearPicker = ({
|
|
|
2087
2391
|
year
|
|
2088
2392
|
)) })
|
|
2089
2393
|
] }),
|
|
2090
|
-
/* @__PURE__ */
|
|
2091
|
-
/* @__PURE__ */
|
|
2092
|
-
/* @__PURE__ */
|
|
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(
|
|
2093
2397
|
"button",
|
|
2094
2398
|
{
|
|
2095
2399
|
onClick: () => onMonthChange(index, currentDate.getFullYear()),
|
|
@@ -2112,7 +2416,7 @@ var getDayStyles = (day, variant, showActivities) => {
|
|
|
2112
2416
|
dayStyle = "bg-primary-800";
|
|
2113
2417
|
textStyle = "text-white";
|
|
2114
2418
|
} else if (day.isToday) {
|
|
2115
|
-
textStyle = "text-
|
|
2419
|
+
textStyle = "text-primary-800";
|
|
2116
2420
|
} else if (variant === "navigation" && showActivities && day.activities?.length) {
|
|
2117
2421
|
const primaryActivity = day.activities[0];
|
|
2118
2422
|
if (primaryActivity.status === "near-deadline") {
|
|
@@ -2221,28 +2525,28 @@ var Calendar = ({
|
|
|
2221
2525
|
onDateSelect?.(day.date);
|
|
2222
2526
|
};
|
|
2223
2527
|
if (variant === "navigation") {
|
|
2224
|
-
return /* @__PURE__ */
|
|
2225
|
-
/* @__PURE__ */
|
|
2226
|
-
/* @__PURE__ */
|
|
2227
|
-
/* @__PURE__ */
|
|
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(
|
|
2228
2532
|
"button",
|
|
2229
2533
|
{
|
|
2230
2534
|
onClick: toggleMonthPicker,
|
|
2231
2535
|
className: "flex items-center gap-1 hover:bg-background-100 rounded px-2 py-1 transition-colors",
|
|
2232
2536
|
children: [
|
|
2233
|
-
/* @__PURE__ */
|
|
2537
|
+
/* @__PURE__ */ jsxs16("span", { className: "text-sm font-medium text-text-600", children: [
|
|
2234
2538
|
MONTH_NAMES[currentDate.getMonth()],
|
|
2235
2539
|
" ",
|
|
2236
2540
|
currentDate.getFullYear()
|
|
2237
2541
|
] }),
|
|
2238
|
-
/* @__PURE__ */
|
|
2542
|
+
/* @__PURE__ */ jsx21(
|
|
2239
2543
|
"svg",
|
|
2240
2544
|
{
|
|
2241
2545
|
className: `w-4 h-4 text-primary-950 transition-transform ${isMonthPickerOpen ? "rotate-180" : ""}`,
|
|
2242
2546
|
fill: "none",
|
|
2243
2547
|
stroke: "currentColor",
|
|
2244
2548
|
viewBox: "0 0 24 24",
|
|
2245
|
-
children: /* @__PURE__ */
|
|
2549
|
+
children: /* @__PURE__ */ jsx21(
|
|
2246
2550
|
"path",
|
|
2247
2551
|
{
|
|
2248
2552
|
strokeLinecap: "round",
|
|
@@ -2256,7 +2560,7 @@ var Calendar = ({
|
|
|
2256
2560
|
]
|
|
2257
2561
|
}
|
|
2258
2562
|
),
|
|
2259
|
-
isMonthPickerOpen && /* @__PURE__ */
|
|
2563
|
+
isMonthPickerOpen && /* @__PURE__ */ jsx21(
|
|
2260
2564
|
MonthYearPicker,
|
|
2261
2565
|
{
|
|
2262
2566
|
monthPickerRef,
|
|
@@ -2267,21 +2571,21 @@ var Calendar = ({
|
|
|
2267
2571
|
}
|
|
2268
2572
|
)
|
|
2269
2573
|
] }),
|
|
2270
|
-
/* @__PURE__ */
|
|
2271
|
-
/* @__PURE__ */
|
|
2574
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex items-center gap-10", children: [
|
|
2575
|
+
/* @__PURE__ */ jsx21(
|
|
2272
2576
|
"button",
|
|
2273
2577
|
{
|
|
2274
2578
|
onClick: goToPreviousMonth,
|
|
2275
2579
|
className: "p-1 rounded hover:bg-background-100 transition-colors",
|
|
2276
2580
|
"aria-label": "M\xEAs anterior",
|
|
2277
|
-
children: /* @__PURE__ */
|
|
2581
|
+
children: /* @__PURE__ */ jsx21(
|
|
2278
2582
|
"svg",
|
|
2279
2583
|
{
|
|
2280
2584
|
className: "w-6 h-6 text-primary-950",
|
|
2281
2585
|
fill: "none",
|
|
2282
2586
|
stroke: "currentColor",
|
|
2283
2587
|
viewBox: "0 0 24 24",
|
|
2284
|
-
children: /* @__PURE__ */
|
|
2588
|
+
children: /* @__PURE__ */ jsx21(
|
|
2285
2589
|
"path",
|
|
2286
2590
|
{
|
|
2287
2591
|
strokeLinecap: "round",
|
|
@@ -2294,20 +2598,20 @@ var Calendar = ({
|
|
|
2294
2598
|
)
|
|
2295
2599
|
}
|
|
2296
2600
|
),
|
|
2297
|
-
/* @__PURE__ */
|
|
2601
|
+
/* @__PURE__ */ jsx21(
|
|
2298
2602
|
"button",
|
|
2299
2603
|
{
|
|
2300
2604
|
onClick: goToNextMonth,
|
|
2301
2605
|
className: "p-1 rounded hover:bg-background-100 transition-colors",
|
|
2302
2606
|
"aria-label": "Pr\xF3ximo m\xEAs",
|
|
2303
|
-
children: /* @__PURE__ */
|
|
2607
|
+
children: /* @__PURE__ */ jsx21(
|
|
2304
2608
|
"svg",
|
|
2305
2609
|
{
|
|
2306
2610
|
className: "w-6 h-6 text-primary-950",
|
|
2307
2611
|
fill: "none",
|
|
2308
2612
|
stroke: "currentColor",
|
|
2309
2613
|
viewBox: "0 0 24 24",
|
|
2310
|
-
children: /* @__PURE__ */
|
|
2614
|
+
children: /* @__PURE__ */ jsx21(
|
|
2311
2615
|
"path",
|
|
2312
2616
|
{
|
|
2313
2617
|
strokeLinecap: "round",
|
|
@@ -2322,7 +2626,7 @@ var Calendar = ({
|
|
|
2322
2626
|
)
|
|
2323
2627
|
] })
|
|
2324
2628
|
] }),
|
|
2325
|
-
/* @__PURE__ */
|
|
2629
|
+
/* @__PURE__ */ jsx21("div", { className: "grid grid-cols-7 gap-1 mb-2", children: WEEK_DAYS_SHORT.map((day, index) => /* @__PURE__ */ jsx21(
|
|
2326
2630
|
"div",
|
|
2327
2631
|
{
|
|
2328
2632
|
className: "h-9 flex items-center justify-center text-xs font-normal text-text-600",
|
|
@@ -2330,13 +2634,13 @@ var Calendar = ({
|
|
|
2330
2634
|
},
|
|
2331
2635
|
`${day}-${index}`
|
|
2332
2636
|
)) }),
|
|
2333
|
-
/* @__PURE__ */
|
|
2637
|
+
/* @__PURE__ */ jsx21("div", { className: "grid grid-cols-7 gap-1", children: calendarData.map((day) => {
|
|
2334
2638
|
if (!day.isCurrentMonth) {
|
|
2335
|
-
return /* @__PURE__ */
|
|
2639
|
+
return /* @__PURE__ */ jsx21(
|
|
2336
2640
|
"div",
|
|
2337
2641
|
{
|
|
2338
2642
|
className: "flex items-center justify-center",
|
|
2339
|
-
children: /* @__PURE__ */
|
|
2643
|
+
children: /* @__PURE__ */ jsx21("div", { className: "w-9 h-9" })
|
|
2340
2644
|
},
|
|
2341
2645
|
day.date.getTime()
|
|
2342
2646
|
);
|
|
@@ -2348,31 +2652,31 @@ var Calendar = ({
|
|
|
2348
2652
|
);
|
|
2349
2653
|
let spanClass = "";
|
|
2350
2654
|
if (day.isSelected && day.isToday) {
|
|
2351
|
-
spanClass = "h-6 w-6 rounded-full bg-
|
|
2655
|
+
spanClass = "h-6 w-6 rounded-full bg-primary-800 text-text";
|
|
2352
2656
|
} else if (day.isSelected) {
|
|
2353
2657
|
spanClass = "h-6 w-6 rounded-full bg-primary-950 text-text";
|
|
2354
2658
|
}
|
|
2355
|
-
return /* @__PURE__ */
|
|
2659
|
+
return /* @__PURE__ */ jsx21(
|
|
2356
2660
|
"div",
|
|
2357
2661
|
{
|
|
2358
2662
|
className: "flex items-center justify-center",
|
|
2359
|
-
children: /* @__PURE__ */
|
|
2663
|
+
children: /* @__PURE__ */ jsx21(
|
|
2360
2664
|
"button",
|
|
2361
2665
|
{
|
|
2362
2666
|
className: `
|
|
2363
|
-
w-9 h-9
|
|
2364
|
-
flex items-center justify-center
|
|
2365
|
-
text-md font-normal
|
|
2366
|
-
cursor-pointer
|
|
2667
|
+
w-9 h-9
|
|
2668
|
+
flex items-center justify-center
|
|
2669
|
+
text-md font-normal
|
|
2670
|
+
cursor-pointer
|
|
2367
2671
|
rounded-full
|
|
2368
|
-
${dayStyle}
|
|
2672
|
+
${dayStyle}
|
|
2369
2673
|
${textStyle}
|
|
2370
2674
|
`,
|
|
2371
2675
|
onClick: () => handleDateSelect(day),
|
|
2372
2676
|
"aria-label": `${day.date.getDate()} de ${MONTH_NAMES[day.date.getMonth()]}`,
|
|
2373
2677
|
"aria-current": day.isToday ? "date" : void 0,
|
|
2374
2678
|
tabIndex: 0,
|
|
2375
|
-
children: /* @__PURE__ */
|
|
2679
|
+
children: /* @__PURE__ */ jsx21("span", { className: spanClass, children: day.date.getDate() })
|
|
2376
2680
|
}
|
|
2377
2681
|
)
|
|
2378
2682
|
},
|
|
@@ -2381,28 +2685,28 @@ var Calendar = ({
|
|
|
2381
2685
|
}) })
|
|
2382
2686
|
] });
|
|
2383
2687
|
}
|
|
2384
|
-
return /* @__PURE__ */
|
|
2385
|
-
/* @__PURE__ */
|
|
2386
|
-
/* @__PURE__ */
|
|
2387
|
-
/* @__PURE__ */
|
|
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(
|
|
2388
2692
|
"button",
|
|
2389
2693
|
{
|
|
2390
2694
|
onClick: toggleMonthPicker,
|
|
2391
2695
|
className: "flex items-center gap-2 hover:bg-background-100 rounded px-2 py-1 transition-colors",
|
|
2392
2696
|
children: [
|
|
2393
|
-
/* @__PURE__ */
|
|
2697
|
+
/* @__PURE__ */ jsxs16("h2", { className: "text-lg font-semibold text-text-950", children: [
|
|
2394
2698
|
MONTH_NAMES[currentDate.getMonth()],
|
|
2395
2699
|
" ",
|
|
2396
2700
|
currentDate.getFullYear()
|
|
2397
2701
|
] }),
|
|
2398
|
-
/* @__PURE__ */
|
|
2702
|
+
/* @__PURE__ */ jsx21(
|
|
2399
2703
|
"svg",
|
|
2400
2704
|
{
|
|
2401
2705
|
className: `w-4 h-4 text-text-400 transition-transform ${isMonthPickerOpen ? "rotate-180" : ""}`,
|
|
2402
2706
|
fill: "none",
|
|
2403
2707
|
stroke: "currentColor",
|
|
2404
2708
|
viewBox: "0 0 24 24",
|
|
2405
|
-
children: /* @__PURE__ */
|
|
2709
|
+
children: /* @__PURE__ */ jsx21(
|
|
2406
2710
|
"path",
|
|
2407
2711
|
{
|
|
2408
2712
|
strokeLinecap: "round",
|
|
@@ -2416,7 +2720,7 @@ var Calendar = ({
|
|
|
2416
2720
|
]
|
|
2417
2721
|
}
|
|
2418
2722
|
),
|
|
2419
|
-
isMonthPickerOpen && /* @__PURE__ */
|
|
2723
|
+
isMonthPickerOpen && /* @__PURE__ */ jsx21(
|
|
2420
2724
|
MonthYearPicker,
|
|
2421
2725
|
{
|
|
2422
2726
|
monthPickerRef,
|
|
@@ -2427,21 +2731,21 @@ var Calendar = ({
|
|
|
2427
2731
|
}
|
|
2428
2732
|
)
|
|
2429
2733
|
] }),
|
|
2430
|
-
/* @__PURE__ */
|
|
2431
|
-
/* @__PURE__ */
|
|
2734
|
+
/* @__PURE__ */ jsxs16("div", { className: "flex items-center gap-1", children: [
|
|
2735
|
+
/* @__PURE__ */ jsx21(
|
|
2432
2736
|
"button",
|
|
2433
2737
|
{
|
|
2434
2738
|
onClick: goToPreviousMonth,
|
|
2435
2739
|
className: "p-1 rounded-md hover:bg-background-100 transition-colors",
|
|
2436
2740
|
"aria-label": "M\xEAs anterior",
|
|
2437
|
-
children: /* @__PURE__ */
|
|
2741
|
+
children: /* @__PURE__ */ jsx21(
|
|
2438
2742
|
"svg",
|
|
2439
2743
|
{
|
|
2440
2744
|
className: "w-6 h-6 text-primary-950",
|
|
2441
2745
|
fill: "none",
|
|
2442
2746
|
stroke: "currentColor",
|
|
2443
2747
|
viewBox: "0 0 24 24",
|
|
2444
|
-
children: /* @__PURE__ */
|
|
2748
|
+
children: /* @__PURE__ */ jsx21(
|
|
2445
2749
|
"path",
|
|
2446
2750
|
{
|
|
2447
2751
|
strokeLinecap: "round",
|
|
@@ -2454,20 +2758,20 @@ var Calendar = ({
|
|
|
2454
2758
|
)
|
|
2455
2759
|
}
|
|
2456
2760
|
),
|
|
2457
|
-
/* @__PURE__ */
|
|
2761
|
+
/* @__PURE__ */ jsx21(
|
|
2458
2762
|
"button",
|
|
2459
2763
|
{
|
|
2460
2764
|
onClick: goToNextMonth,
|
|
2461
2765
|
className: "p-1 rounded-md hover:bg-background-100 transition-colors",
|
|
2462
2766
|
"aria-label": "Pr\xF3ximo m\xEAs",
|
|
2463
|
-
children: /* @__PURE__ */
|
|
2767
|
+
children: /* @__PURE__ */ jsx21(
|
|
2464
2768
|
"svg",
|
|
2465
2769
|
{
|
|
2466
2770
|
className: "w-6 h-6 text-primary-950",
|
|
2467
2771
|
fill: "none",
|
|
2468
2772
|
stroke: "currentColor",
|
|
2469
2773
|
viewBox: "0 0 24 24",
|
|
2470
|
-
children: /* @__PURE__ */
|
|
2774
|
+
children: /* @__PURE__ */ jsx21(
|
|
2471
2775
|
"path",
|
|
2472
2776
|
{
|
|
2473
2777
|
strokeLinecap: "round",
|
|
@@ -2482,7 +2786,7 @@ var Calendar = ({
|
|
|
2482
2786
|
)
|
|
2483
2787
|
] })
|
|
2484
2788
|
] }),
|
|
2485
|
-
/* @__PURE__ */
|
|
2789
|
+
/* @__PURE__ */ jsx21("div", { className: "grid grid-cols-7 gap-1 mb-2", children: WEEK_DAYS.map((day) => /* @__PURE__ */ jsx21(
|
|
2486
2790
|
"div",
|
|
2487
2791
|
{
|
|
2488
2792
|
className: "h-4 flex items-center justify-center text-xs font-semibold text-text-500",
|
|
@@ -2490,13 +2794,13 @@ var Calendar = ({
|
|
|
2490
2794
|
},
|
|
2491
2795
|
day
|
|
2492
2796
|
)) }),
|
|
2493
|
-
/* @__PURE__ */
|
|
2797
|
+
/* @__PURE__ */ jsx21("div", { className: "grid grid-cols-7 gap-1", children: calendarData.map((day) => {
|
|
2494
2798
|
if (!day.isCurrentMonth) {
|
|
2495
|
-
return /* @__PURE__ */
|
|
2799
|
+
return /* @__PURE__ */ jsx21(
|
|
2496
2800
|
"div",
|
|
2497
2801
|
{
|
|
2498
2802
|
className: "flex items-center justify-center",
|
|
2499
|
-
children: /* @__PURE__ */
|
|
2803
|
+
children: /* @__PURE__ */ jsx21("div", { className: "w-10 h-10" })
|
|
2500
2804
|
},
|
|
2501
2805
|
day.date.getTime()
|
|
2502
2806
|
);
|
|
@@ -2506,21 +2810,21 @@ var Calendar = ({
|
|
|
2506
2810
|
variant,
|
|
2507
2811
|
showActivities
|
|
2508
2812
|
);
|
|
2509
|
-
return /* @__PURE__ */
|
|
2813
|
+
return /* @__PURE__ */ jsx21(
|
|
2510
2814
|
"div",
|
|
2511
2815
|
{
|
|
2512
2816
|
className: "flex items-center justify-center",
|
|
2513
|
-
children: /* @__PURE__ */
|
|
2817
|
+
children: /* @__PURE__ */ jsx21(
|
|
2514
2818
|
"button",
|
|
2515
2819
|
{
|
|
2516
2820
|
className: `
|
|
2517
|
-
w-10 h-10
|
|
2518
|
-
flex items-center justify-center
|
|
2519
|
-
text-xl font-normal
|
|
2520
|
-
cursor-pointer
|
|
2821
|
+
w-10 h-10
|
|
2822
|
+
flex items-center justify-center
|
|
2823
|
+
text-xl font-normal
|
|
2824
|
+
cursor-pointer
|
|
2521
2825
|
rounded-full
|
|
2522
2826
|
focus:outline-none focus:ring-2 focus:ring-primary-600 focus:ring-offset-1
|
|
2523
|
-
${dayStyle}
|
|
2827
|
+
${dayStyle}
|
|
2524
2828
|
${textStyle}
|
|
2525
2829
|
`,
|
|
2526
2830
|
onClick: () => handleDateSelect(day),
|
|
@@ -2538,11 +2842,107 @@ var Calendar = ({
|
|
|
2538
2842
|
};
|
|
2539
2843
|
var Calendar_default = Calendar;
|
|
2540
2844
|
|
|
2845
|
+
// src/components/Modal/Modal.tsx
|
|
2846
|
+
import { useEffect as useEffect2 } from "react";
|
|
2847
|
+
import { X as X2 } from "phosphor-react";
|
|
2848
|
+
import { jsx as jsx22, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
2849
|
+
var SIZE_CLASSES10 = {
|
|
2850
|
+
xs: "max-w-[360px]",
|
|
2851
|
+
sm: "max-w-[420px]",
|
|
2852
|
+
md: "max-w-[510px]",
|
|
2853
|
+
lg: "max-w-[640px]",
|
|
2854
|
+
xl: "max-w-[970px]"
|
|
2855
|
+
};
|
|
2856
|
+
var Modal = ({
|
|
2857
|
+
isOpen,
|
|
2858
|
+
onClose,
|
|
2859
|
+
title,
|
|
2860
|
+
children,
|
|
2861
|
+
size = "md",
|
|
2862
|
+
className = "",
|
|
2863
|
+
closeOnBackdropClick = true,
|
|
2864
|
+
closeOnEscape = true,
|
|
2865
|
+
footer,
|
|
2866
|
+
hideCloseButton = false
|
|
2867
|
+
}) => {
|
|
2868
|
+
useEffect2(() => {
|
|
2869
|
+
if (!isOpen || !closeOnEscape) return;
|
|
2870
|
+
const handleEscape = (event) => {
|
|
2871
|
+
if (event.key === "Escape") {
|
|
2872
|
+
onClose();
|
|
2873
|
+
}
|
|
2874
|
+
};
|
|
2875
|
+
document.addEventListener("keydown", handleEscape);
|
|
2876
|
+
return () => document.removeEventListener("keydown", handleEscape);
|
|
2877
|
+
}, [isOpen, closeOnEscape, onClose]);
|
|
2878
|
+
useEffect2(() => {
|
|
2879
|
+
const originalOverflow = document.body.style.overflow;
|
|
2880
|
+
if (isOpen) {
|
|
2881
|
+
document.body.style.overflow = "hidden";
|
|
2882
|
+
} else {
|
|
2883
|
+
document.body.style.overflow = originalOverflow;
|
|
2884
|
+
}
|
|
2885
|
+
return () => {
|
|
2886
|
+
document.body.style.overflow = originalOverflow;
|
|
2887
|
+
};
|
|
2888
|
+
}, [isOpen]);
|
|
2889
|
+
const handleBackdropClick = (event) => {
|
|
2890
|
+
if (closeOnBackdropClick && event.target === event.currentTarget) {
|
|
2891
|
+
onClose();
|
|
2892
|
+
}
|
|
2893
|
+
};
|
|
2894
|
+
const handleBackdropKeyDown = (event) => {
|
|
2895
|
+
if (closeOnBackdropClick && (event.key === "Enter" || event.key === " ")) {
|
|
2896
|
+
onClose();
|
|
2897
|
+
}
|
|
2898
|
+
};
|
|
2899
|
+
if (!isOpen) return null;
|
|
2900
|
+
const sizeClasses = SIZE_CLASSES10[size];
|
|
2901
|
+
const baseClasses = "bg-background rounded-3xl shadow-hard-shadow-2 border border-border-100 w-full mx-4";
|
|
2902
|
+
const modalClasses = `${baseClasses} ${sizeClasses} ${className}`;
|
|
2903
|
+
return /* @__PURE__ */ jsx22(
|
|
2904
|
+
"div",
|
|
2905
|
+
{
|
|
2906
|
+
className: "fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-xs",
|
|
2907
|
+
onClick: handleBackdropClick,
|
|
2908
|
+
onKeyDown: handleBackdropKeyDown,
|
|
2909
|
+
role: "none",
|
|
2910
|
+
"aria-hidden": "true",
|
|
2911
|
+
children: /* @__PURE__ */ jsxs17(
|
|
2912
|
+
"div",
|
|
2913
|
+
{
|
|
2914
|
+
className: modalClasses,
|
|
2915
|
+
role: "dialog",
|
|
2916
|
+
"aria-modal": "true",
|
|
2917
|
+
"aria-labelledby": "modal-title",
|
|
2918
|
+
children: [
|
|
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(
|
|
2922
|
+
"button",
|
|
2923
|
+
{
|
|
2924
|
+
onClick: onClose,
|
|
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",
|
|
2926
|
+
"aria-label": "Fechar modal",
|
|
2927
|
+
children: /* @__PURE__ */ jsx22(X2, { size: 18 })
|
|
2928
|
+
}
|
|
2929
|
+
)
|
|
2930
|
+
] }),
|
|
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 })
|
|
2933
|
+
]
|
|
2934
|
+
}
|
|
2935
|
+
)
|
|
2936
|
+
}
|
|
2937
|
+
);
|
|
2938
|
+
};
|
|
2939
|
+
var Modal_default = Modal;
|
|
2940
|
+
|
|
2541
2941
|
// src/components/DropdownMenu/DropdownMenu.tsx
|
|
2542
2942
|
import { SignOut, User } from "phosphor-react";
|
|
2543
2943
|
import {
|
|
2544
2944
|
forwardRef as forwardRef9,
|
|
2545
|
-
useEffect as
|
|
2945
|
+
useEffect as useEffect3,
|
|
2546
2946
|
useRef as useRef2,
|
|
2547
2947
|
isValidElement,
|
|
2548
2948
|
Children,
|
|
@@ -2550,7 +2950,7 @@ import {
|
|
|
2550
2950
|
useState as useState6
|
|
2551
2951
|
} from "react";
|
|
2552
2952
|
import { create as create2, useStore } from "zustand";
|
|
2553
|
-
import { jsx as
|
|
2953
|
+
import { jsx as jsx23, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
2554
2954
|
function createDropdownStore() {
|
|
2555
2955
|
return create2((set) => ({
|
|
2556
2956
|
open: false,
|
|
@@ -2580,16 +2980,17 @@ var injectStore = (children, store) => {
|
|
|
2580
2980
|
return child;
|
|
2581
2981
|
});
|
|
2582
2982
|
};
|
|
2583
|
-
var DropdownMenu = ({
|
|
2983
|
+
var DropdownMenu = ({
|
|
2984
|
+
children,
|
|
2985
|
+
open: propOpen,
|
|
2986
|
+
onOpenChange
|
|
2987
|
+
}) => {
|
|
2584
2988
|
const storeRef = useRef2(null);
|
|
2585
2989
|
storeRef.current ??= createDropdownStore();
|
|
2586
2990
|
const store = storeRef.current;
|
|
2587
|
-
const
|
|
2588
|
-
const uncontrolledOpen = useStore(store, (s) => s.open);
|
|
2589
|
-
const currentOpen = isControlled ? open : uncontrolledOpen;
|
|
2991
|
+
const { open, setOpen: storeSetOpen } = useStore(store, (s) => s);
|
|
2590
2992
|
const setOpen = (newOpen) => {
|
|
2591
|
-
|
|
2592
|
-
if (!isControlled) store.setState({ open: newOpen });
|
|
2993
|
+
storeSetOpen(newOpen);
|
|
2593
2994
|
};
|
|
2594
2995
|
const menuRef = useRef2(null);
|
|
2595
2996
|
const handleArrowDownOrArrowUp = (event) => {
|
|
@@ -2625,9 +3026,8 @@ var DropdownMenu = ({ children, open, onOpenChange }) => {
|
|
|
2625
3026
|
setOpen(false);
|
|
2626
3027
|
}
|
|
2627
3028
|
};
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
if (currentOpen) {
|
|
3029
|
+
useEffect3(() => {
|
|
3030
|
+
if (open) {
|
|
2631
3031
|
document.addEventListener("mousedown", handleClickOutside);
|
|
2632
3032
|
document.addEventListener("keydown", handleDownkey);
|
|
2633
3033
|
}
|
|
@@ -2635,13 +3035,17 @@ var DropdownMenu = ({ children, open, onOpenChange }) => {
|
|
|
2635
3035
|
document.removeEventListener("mousedown", handleClickOutside);
|
|
2636
3036
|
document.removeEventListener("keydown", handleDownkey);
|
|
2637
3037
|
};
|
|
2638
|
-
}, [
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
|
|
3038
|
+
}, [open]);
|
|
3039
|
+
useEffect3(() => {
|
|
3040
|
+
setOpen(open);
|
|
3041
|
+
onOpenChange?.(open);
|
|
3042
|
+
}, [open, onOpenChange]);
|
|
3043
|
+
useEffect3(() => {
|
|
3044
|
+
if (propOpen) {
|
|
3045
|
+
setOpen(propOpen);
|
|
2642
3046
|
}
|
|
2643
|
-
}, []);
|
|
2644
|
-
return /* @__PURE__ */
|
|
3047
|
+
}, [propOpen]);
|
|
3048
|
+
return /* @__PURE__ */ jsx23("div", { className: "relative", ref: menuRef, children: injectStore(children, store) });
|
|
2645
3049
|
};
|
|
2646
3050
|
var DropdownMenuTrigger = ({
|
|
2647
3051
|
className,
|
|
@@ -2653,7 +3057,7 @@ var DropdownMenuTrigger = ({
|
|
|
2653
3057
|
const store = useDropdownStore(externalStore);
|
|
2654
3058
|
const open = useStore(store, (s) => s.open);
|
|
2655
3059
|
const toggleOpen = () => store.setState({ open: !open });
|
|
2656
|
-
return /* @__PURE__ */
|
|
3060
|
+
return /* @__PURE__ */ jsx23(
|
|
2657
3061
|
Button_default,
|
|
2658
3062
|
{
|
|
2659
3063
|
variant: "outline",
|
|
@@ -2690,7 +3094,7 @@ var MENUCONTENT_VARIANT_CLASSES = {
|
|
|
2690
3094
|
profile: "p-6"
|
|
2691
3095
|
};
|
|
2692
3096
|
var MenuLabel = forwardRef9(({ className, inset, store: _store, ...props }, ref) => {
|
|
2693
|
-
return /* @__PURE__ */
|
|
3097
|
+
return /* @__PURE__ */ jsx23(
|
|
2694
3098
|
"div",
|
|
2695
3099
|
{
|
|
2696
3100
|
ref,
|
|
@@ -2714,7 +3118,7 @@ var MenuContent = forwardRef9(
|
|
|
2714
3118
|
const store = useDropdownStore(externalStore);
|
|
2715
3119
|
const open = useStore(store, (s) => s.open);
|
|
2716
3120
|
const [isVisible, setIsVisible] = useState6(open);
|
|
2717
|
-
|
|
3121
|
+
useEffect3(() => {
|
|
2718
3122
|
if (open) {
|
|
2719
3123
|
setIsVisible(true);
|
|
2720
3124
|
} else {
|
|
@@ -2729,7 +3133,7 @@ var MenuContent = forwardRef9(
|
|
|
2729
3133
|
return `absolute ${vertical} ${horizontal}`;
|
|
2730
3134
|
};
|
|
2731
3135
|
const variantClasses = MENUCONTENT_VARIANT_CLASSES[variant];
|
|
2732
|
-
return /* @__PURE__ */
|
|
3136
|
+
return /* @__PURE__ */ jsx23(
|
|
2733
3137
|
"div",
|
|
2734
3138
|
{
|
|
2735
3139
|
ref,
|
|
@@ -2788,7 +3192,7 @@ var DropdownMenuItem = forwardRef9(
|
|
|
2788
3192
|
const getVariantProps = () => {
|
|
2789
3193
|
return variant === "profile" ? { "data-variant": "profile" } : {};
|
|
2790
3194
|
};
|
|
2791
|
-
return /* @__PURE__ */
|
|
3195
|
+
return /* @__PURE__ */ jsxs18(
|
|
2792
3196
|
"div",
|
|
2793
3197
|
{
|
|
2794
3198
|
ref,
|
|
@@ -2810,7 +3214,7 @@ var DropdownMenuItem = forwardRef9(
|
|
|
2810
3214
|
...props,
|
|
2811
3215
|
children: [
|
|
2812
3216
|
iconLeft,
|
|
2813
|
-
/* @__PURE__ */
|
|
3217
|
+
/* @__PURE__ */ jsx23("span", { className: "w-full text-md", children }),
|
|
2814
3218
|
iconRight
|
|
2815
3219
|
]
|
|
2816
3220
|
}
|
|
@@ -2818,7 +3222,7 @@ var DropdownMenuItem = forwardRef9(
|
|
|
2818
3222
|
}
|
|
2819
3223
|
);
|
|
2820
3224
|
DropdownMenuItem.displayName = "DropdownMenuItem";
|
|
2821
|
-
var DropdownMenuSeparator = forwardRef9(({ className, store: _store, ...props }, ref) => /* @__PURE__ */
|
|
3225
|
+
var DropdownMenuSeparator = forwardRef9(({ className, store: _store, ...props }, ref) => /* @__PURE__ */ jsx23(
|
|
2822
3226
|
"div",
|
|
2823
3227
|
{
|
|
2824
3228
|
ref,
|
|
@@ -2831,7 +3235,7 @@ var ProfileMenuTrigger = forwardRef9(({ className, onClick, store: externalStore
|
|
|
2831
3235
|
const store = useDropdownStore(externalStore);
|
|
2832
3236
|
const open = useStore(store, (s) => s.open);
|
|
2833
3237
|
const toggleOpen = () => store.setState({ open: !open });
|
|
2834
|
-
return /* @__PURE__ */
|
|
3238
|
+
return /* @__PURE__ */ jsx23(
|
|
2835
3239
|
"button",
|
|
2836
3240
|
{
|
|
2837
3241
|
ref,
|
|
@@ -2843,13 +3247,13 @@ var ProfileMenuTrigger = forwardRef9(({ className, onClick, store: externalStore
|
|
|
2843
3247
|
},
|
|
2844
3248
|
"aria-expanded": open,
|
|
2845
3249
|
...props,
|
|
2846
|
-
children: /* @__PURE__ */
|
|
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 }) })
|
|
2847
3251
|
}
|
|
2848
3252
|
);
|
|
2849
3253
|
});
|
|
2850
3254
|
ProfileMenuTrigger.displayName = "ProfileMenuTrigger";
|
|
2851
3255
|
var ProfileMenuHeader = forwardRef9(({ className, name, email, store: _store, ...props }, ref) => {
|
|
2852
|
-
return /* @__PURE__ */
|
|
3256
|
+
return /* @__PURE__ */ jsxs18(
|
|
2853
3257
|
"div",
|
|
2854
3258
|
{
|
|
2855
3259
|
ref,
|
|
@@ -2860,10 +3264,10 @@ var ProfileMenuHeader = forwardRef9(({ className, name, email, store: _store, ..
|
|
|
2860
3264
|
`,
|
|
2861
3265
|
...props,
|
|
2862
3266
|
children: [
|
|
2863
|
-
/* @__PURE__ */
|
|
2864
|
-
/* @__PURE__ */
|
|
2865
|
-
/* @__PURE__ */
|
|
2866
|
-
/* @__PURE__ */
|
|
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 })
|
|
2867
3271
|
] })
|
|
2868
3272
|
]
|
|
2869
3273
|
}
|
|
@@ -2871,7 +3275,7 @@ var ProfileMenuHeader = forwardRef9(({ className, name, email, store: _store, ..
|
|
|
2871
3275
|
});
|
|
2872
3276
|
ProfileMenuHeader.displayName = "ProfileMenuHeader";
|
|
2873
3277
|
var ProfileMenuSection = forwardRef9(({ className, children, store: _store, ...props }, ref) => {
|
|
2874
|
-
return /* @__PURE__ */
|
|
3278
|
+
return /* @__PURE__ */ jsx23(
|
|
2875
3279
|
"div",
|
|
2876
3280
|
{
|
|
2877
3281
|
ref,
|
|
@@ -2894,7 +3298,7 @@ var ProfileMenuFooter = ({
|
|
|
2894
3298
|
}) => {
|
|
2895
3299
|
const store = useDropdownStore(externalStore);
|
|
2896
3300
|
const setOpen = useStore(store, (s) => s.setOpen);
|
|
2897
|
-
return /* @__PURE__ */
|
|
3301
|
+
return /* @__PURE__ */ jsxs18(
|
|
2898
3302
|
Button_default,
|
|
2899
3303
|
{
|
|
2900
3304
|
variant: "outline",
|
|
@@ -2906,8 +3310,8 @@ var ProfileMenuFooter = ({
|
|
|
2906
3310
|
},
|
|
2907
3311
|
...props,
|
|
2908
3312
|
children: [
|
|
2909
|
-
/* @__PURE__ */
|
|
2910
|
-
/* @__PURE__ */
|
|
3313
|
+
/* @__PURE__ */ jsx23("span", { className: "mr-2 flex items-center", children: /* @__PURE__ */ jsx23(SignOut, {}) }),
|
|
3314
|
+
/* @__PURE__ */ jsx23("span", { children: "Sair" })
|
|
2911
3315
|
]
|
|
2912
3316
|
}
|
|
2913
3317
|
);
|
|
@@ -2918,21 +3322,21 @@ var DropdownMenu_default = DropdownMenu;
|
|
|
2918
3322
|
// src/components/Select/Select.tsx
|
|
2919
3323
|
import { create as create3, useStore as useStore2 } from "zustand";
|
|
2920
3324
|
import {
|
|
2921
|
-
useEffect as
|
|
3325
|
+
useEffect as useEffect4,
|
|
2922
3326
|
useRef as useRef3,
|
|
2923
3327
|
forwardRef as forwardRef10,
|
|
2924
3328
|
isValidElement as isValidElement2,
|
|
2925
3329
|
Children as Children2,
|
|
2926
3330
|
cloneElement as cloneElement2
|
|
2927
3331
|
} from "react";
|
|
2928
|
-
import { CaretDown, Check as
|
|
2929
|
-
import { Fragment as Fragment3, jsx as
|
|
3332
|
+
import { CaretDown, Check as Check4 } from "phosphor-react";
|
|
3333
|
+
import { Fragment as Fragment3, jsx as jsx24, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
2930
3334
|
var VARIANT_CLASSES4 = {
|
|
2931
3335
|
outlined: "border-2 rounded-sm focus:border-primary-950",
|
|
2932
3336
|
underlined: "border-b-2 focus:border-primary-950",
|
|
2933
3337
|
rounded: "border-2 rounded-4xl focus:border-primary-950"
|
|
2934
3338
|
};
|
|
2935
|
-
var
|
|
3339
|
+
var SIZE_CLASSES11 = {
|
|
2936
3340
|
small: "text-sm",
|
|
2937
3341
|
medium: "text-md",
|
|
2938
3342
|
large: "text-lg"
|
|
@@ -2972,7 +3376,7 @@ function getLabelAsNode(children) {
|
|
|
2972
3376
|
}
|
|
2973
3377
|
const flattened = Children2.toArray(children);
|
|
2974
3378
|
if (flattened.length === 1) return flattened[0];
|
|
2975
|
-
return /* @__PURE__ */
|
|
3379
|
+
return /* @__PURE__ */ jsx24(Fragment3, { children: flattened });
|
|
2976
3380
|
}
|
|
2977
3381
|
var injectStore2 = (children, store) => {
|
|
2978
3382
|
return Children2.map(children, (child) => {
|
|
@@ -3004,8 +3408,6 @@ var Select = ({
|
|
|
3004
3408
|
store,
|
|
3005
3409
|
(s) => s
|
|
3006
3410
|
);
|
|
3007
|
-
const isControlled = propValue !== void 0;
|
|
3008
|
-
const currentValue = isControlled ? propValue : value;
|
|
3009
3411
|
const findLabelForValue = (children2, targetValue) => {
|
|
3010
3412
|
let found = null;
|
|
3011
3413
|
const search = (nodes) => {
|
|
@@ -3023,14 +3425,13 @@ var Select = ({
|
|
|
3023
3425
|
search(children2);
|
|
3024
3426
|
return found;
|
|
3025
3427
|
};
|
|
3026
|
-
|
|
3428
|
+
useEffect4(() => {
|
|
3027
3429
|
if (!selectedLabel && defaultValue) {
|
|
3028
3430
|
const label = findLabelForValue(children, defaultValue);
|
|
3029
3431
|
if (label) store.setState({ selectedLabel: label });
|
|
3030
3432
|
}
|
|
3031
3433
|
}, [children, defaultValue, selectedLabel]);
|
|
3032
|
-
|
|
3033
|
-
setValue(currentValue);
|
|
3434
|
+
useEffect4(() => {
|
|
3034
3435
|
const handleClickOutside = (event) => {
|
|
3035
3436
|
if (selectRef.current && !selectRef.current.contains(event.target)) {
|
|
3036
3437
|
setOpen(false);
|
|
@@ -3065,13 +3466,19 @@ var Select = ({
|
|
|
3065
3466
|
document.removeEventListener("keydown", handleArrowKeys);
|
|
3066
3467
|
};
|
|
3067
3468
|
}, [open]);
|
|
3068
|
-
|
|
3069
|
-
|
|
3070
|
-
|
|
3469
|
+
useEffect4(() => {
|
|
3470
|
+
setValue(value);
|
|
3471
|
+
onValueChange?.(value);
|
|
3472
|
+
}, [value, onValueChange]);
|
|
3473
|
+
useEffect4(() => {
|
|
3474
|
+
if (propValue) {
|
|
3475
|
+
setValue(propValue);
|
|
3476
|
+
const label = findLabelForValue(children, propValue);
|
|
3477
|
+
if (label) store.setState({ selectedLabel: label });
|
|
3071
3478
|
}
|
|
3072
|
-
}, [
|
|
3073
|
-
const sizeClasses =
|
|
3074
|
-
return /* @__PURE__ */
|
|
3479
|
+
}, [propValue]);
|
|
3480
|
+
const sizeClasses = SIZE_CLASSES11[size];
|
|
3481
|
+
return /* @__PURE__ */ jsx24("div", { className: `relative ${sizeClasses} w-[288px]`, ref: selectRef, children: injectStore2(children, store) });
|
|
3075
3482
|
};
|
|
3076
3483
|
var SelectValue = ({
|
|
3077
3484
|
placeholder,
|
|
@@ -3080,7 +3487,7 @@ var SelectValue = ({
|
|
|
3080
3487
|
const store = useSelectStore(externalStore);
|
|
3081
3488
|
const selectedLabel = useStore2(store, (s) => s.selectedLabel);
|
|
3082
3489
|
const value = useStore2(store, (s) => s.value);
|
|
3083
|
-
return /* @__PURE__ */
|
|
3490
|
+
return /* @__PURE__ */ jsx24("span", { className: "text-inherit", children: selectedLabel || placeholder || value });
|
|
3084
3491
|
};
|
|
3085
3492
|
var SelectTrigger = forwardRef10(
|
|
3086
3493
|
({
|
|
@@ -3095,7 +3502,7 @@ var SelectTrigger = forwardRef10(
|
|
|
3095
3502
|
const open = useStore2(store, (s) => s.open);
|
|
3096
3503
|
const toggleOpen = () => store.setState({ open: !open });
|
|
3097
3504
|
const variantClasses = VARIANT_CLASSES4[variant];
|
|
3098
|
-
return /* @__PURE__ */
|
|
3505
|
+
return /* @__PURE__ */ jsxs19(
|
|
3099
3506
|
"button",
|
|
3100
3507
|
{
|
|
3101
3508
|
ref,
|
|
@@ -3114,7 +3521,7 @@ var SelectTrigger = forwardRef10(
|
|
|
3114
3521
|
...props,
|
|
3115
3522
|
children: [
|
|
3116
3523
|
props.children,
|
|
3117
|
-
/* @__PURE__ */
|
|
3524
|
+
/* @__PURE__ */ jsx24(
|
|
3118
3525
|
CaretDown,
|
|
3119
3526
|
{
|
|
3120
3527
|
className: `h-[1em] w-[1em] opacity-50 transition-transform ${open ? "rotate-180" : ""}`
|
|
@@ -3139,7 +3546,7 @@ var SelectContent = forwardRef10(
|
|
|
3139
3546
|
const open = useStore2(store, (s) => s.open);
|
|
3140
3547
|
if (!open) return null;
|
|
3141
3548
|
const getPositionClasses = () => `w-full min-w-full absolute ${SIDE_CLASSES2[side]} ${ALIGN_CLASSES2[align]}`;
|
|
3142
|
-
return /* @__PURE__ */
|
|
3549
|
+
return /* @__PURE__ */ jsx24(
|
|
3143
3550
|
"div",
|
|
3144
3551
|
{
|
|
3145
3552
|
role: "menu",
|
|
@@ -3162,8 +3569,12 @@ var SelectItem = forwardRef10(
|
|
|
3162
3569
|
...props
|
|
3163
3570
|
}, ref) => {
|
|
3164
3571
|
const store = useSelectStore(externalStore);
|
|
3165
|
-
const
|
|
3166
|
-
|
|
3572
|
+
const {
|
|
3573
|
+
value: selectedValue,
|
|
3574
|
+
setValue,
|
|
3575
|
+
setOpen,
|
|
3576
|
+
setSelectedLabel
|
|
3577
|
+
} = useStore2(store, (s) => s);
|
|
3167
3578
|
const handleClick = (e) => {
|
|
3168
3579
|
const labelNode = getLabelAsNode(children);
|
|
3169
3580
|
if (!disabled) {
|
|
@@ -3173,7 +3584,7 @@ var SelectItem = forwardRef10(
|
|
|
3173
3584
|
}
|
|
3174
3585
|
props.onClick?.(e);
|
|
3175
3586
|
};
|
|
3176
|
-
return /* @__PURE__ */
|
|
3587
|
+
return /* @__PURE__ */ jsxs19(
|
|
3177
3588
|
"div",
|
|
3178
3589
|
{
|
|
3179
3590
|
role: "menuitem",
|
|
@@ -3193,7 +3604,7 @@ var SelectItem = forwardRef10(
|
|
|
3193
3604
|
tabIndex: disabled ? -1 : 0,
|
|
3194
3605
|
...props,
|
|
3195
3606
|
children: [
|
|
3196
|
-
/* @__PURE__ */
|
|
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: "" }) }),
|
|
3197
3608
|
children
|
|
3198
3609
|
]
|
|
3199
3610
|
}
|
|
@@ -3206,7 +3617,7 @@ var Select_default = Select;
|
|
|
3206
3617
|
// src/components/Menu/Menu.tsx
|
|
3207
3618
|
import { create as create4, useStore as useStore3 } from "zustand";
|
|
3208
3619
|
import {
|
|
3209
|
-
useEffect as
|
|
3620
|
+
useEffect as useEffect5,
|
|
3210
3621
|
useRef as useRef4,
|
|
3211
3622
|
forwardRef as forwardRef11,
|
|
3212
3623
|
isValidElement as isValidElement3,
|
|
@@ -3215,7 +3626,7 @@ import {
|
|
|
3215
3626
|
useState as useState7
|
|
3216
3627
|
} from "react";
|
|
3217
3628
|
import { CaretLeft, CaretRight } from "phosphor-react";
|
|
3218
|
-
import { jsx as
|
|
3629
|
+
import { jsx as jsx25, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
3219
3630
|
var createMenuStore = () => create4((set) => ({
|
|
3220
3631
|
value: "",
|
|
3221
3632
|
setValue: (value) => set({ value })
|
|
@@ -3243,15 +3654,15 @@ var Menu = forwardRef11(
|
|
|
3243
3654
|
storeRef.current ??= createMenuStore();
|
|
3244
3655
|
const store = storeRef.current;
|
|
3245
3656
|
const { setValue, value } = useStore3(store, (s) => s);
|
|
3246
|
-
|
|
3657
|
+
useEffect5(() => {
|
|
3247
3658
|
setValue(propValue ?? defaultValue);
|
|
3248
3659
|
}, [defaultValue, propValue, setValue]);
|
|
3249
|
-
|
|
3660
|
+
useEffect5(() => {
|
|
3250
3661
|
onValueChange?.(value);
|
|
3251
3662
|
}, [value, onValueChange]);
|
|
3252
3663
|
const baseClasses = "w-full flex flex-row items-center gap-2 py-2 px-6";
|
|
3253
3664
|
const variantClasses = VARIANT_CLASSES5[variant];
|
|
3254
|
-
return /* @__PURE__ */
|
|
3665
|
+
return /* @__PURE__ */ jsx25(
|
|
3255
3666
|
"ul",
|
|
3256
3667
|
{
|
|
3257
3668
|
ref,
|
|
@@ -3296,7 +3707,7 @@ var MenuItem = forwardRef11(
|
|
|
3296
3707
|
...props
|
|
3297
3708
|
};
|
|
3298
3709
|
const variants = {
|
|
3299
|
-
menu: /* @__PURE__ */
|
|
3710
|
+
menu: /* @__PURE__ */ jsx25(
|
|
3300
3711
|
"li",
|
|
3301
3712
|
{
|
|
3302
3713
|
"data-variant": "menu",
|
|
@@ -3311,7 +3722,7 @@ var MenuItem = forwardRef11(
|
|
|
3311
3722
|
children
|
|
3312
3723
|
}
|
|
3313
3724
|
),
|
|
3314
|
-
menu2: /* @__PURE__ */
|
|
3725
|
+
menu2: /* @__PURE__ */ jsx25(
|
|
3315
3726
|
"li",
|
|
3316
3727
|
{
|
|
3317
3728
|
"data-variant": "menu2",
|
|
@@ -3323,7 +3734,7 @@ var MenuItem = forwardRef11(
|
|
|
3323
3734
|
children
|
|
3324
3735
|
}
|
|
3325
3736
|
),
|
|
3326
|
-
breadcrumb: /* @__PURE__ */
|
|
3737
|
+
breadcrumb: /* @__PURE__ */ jsx25(
|
|
3327
3738
|
"li",
|
|
3328
3739
|
{
|
|
3329
3740
|
"data-variant": "breadcrumb",
|
|
@@ -3334,7 +3745,7 @@ var MenuItem = forwardRef11(
|
|
|
3334
3745
|
${className ?? ""}
|
|
3335
3746
|
`,
|
|
3336
3747
|
...commonProps,
|
|
3337
|
-
children: /* @__PURE__ */
|
|
3748
|
+
children: /* @__PURE__ */ jsx25(
|
|
3338
3749
|
"span",
|
|
3339
3750
|
{
|
|
3340
3751
|
className: `
|
|
@@ -3352,14 +3763,14 @@ var MenuItem = forwardRef11(
|
|
|
3352
3763
|
);
|
|
3353
3764
|
MenuItem.displayName = "MenuItem";
|
|
3354
3765
|
var MenuSeparator = forwardRef11(
|
|
3355
|
-
({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
3766
|
+
({ className, children, ...props }, ref) => /* @__PURE__ */ jsx25(
|
|
3356
3767
|
"li",
|
|
3357
3768
|
{
|
|
3358
3769
|
ref,
|
|
3359
3770
|
"aria-hidden": "true",
|
|
3360
3771
|
className: `[&>svg]:w-4 [&>svg]:h-4 text-text-600 ${className ?? ""}`,
|
|
3361
3772
|
...props,
|
|
3362
|
-
children: children ?? /* @__PURE__ */
|
|
3773
|
+
children: children ?? /* @__PURE__ */ jsx25(CaretRight, {})
|
|
3363
3774
|
}
|
|
3364
3775
|
)
|
|
3365
3776
|
);
|
|
@@ -3374,11 +3785,426 @@ var injectStore3 = (children, store) => Children3.map(children, (child) => {
|
|
|
3374
3785
|
});
|
|
3375
3786
|
});
|
|
3376
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
|
+
);
|
|
3377
4196
|
export {
|
|
3378
4197
|
Alert_default as Alert,
|
|
3379
4198
|
Badge_default as Badge,
|
|
3380
4199
|
Button_default as Button,
|
|
3381
4200
|
Calendar_default as Calendar,
|
|
4201
|
+
CardActivesResults,
|
|
4202
|
+
CardPerformance,
|
|
4203
|
+
CardProgress,
|
|
4204
|
+
CardQuestions,
|
|
4205
|
+
CardResults,
|
|
4206
|
+
CardStatus,
|
|
4207
|
+
CardTopic,
|
|
3382
4208
|
CheckBox_default as CheckBox,
|
|
3383
4209
|
Chips_default as Chips,
|
|
3384
4210
|
Divider_default as Divider,
|
|
@@ -3394,6 +4220,7 @@ export {
|
|
|
3394
4220
|
MenuItem,
|
|
3395
4221
|
MenuLabel,
|
|
3396
4222
|
MenuSeparator,
|
|
4223
|
+
Modal_default as Modal,
|
|
3397
4224
|
NavButton_default as NavButton,
|
|
3398
4225
|
ProfileMenuFooter,
|
|
3399
4226
|
ProfileMenuHeader,
|
|
@@ -3408,6 +4235,7 @@ export {
|
|
|
3408
4235
|
SelectTrigger,
|
|
3409
4236
|
SelectValue,
|
|
3410
4237
|
SelectionButton_default as SelectionButton,
|
|
4238
|
+
Stepper_default as Stepper,
|
|
3411
4239
|
Table_default as Table,
|
|
3412
4240
|
Text_default as Text,
|
|
3413
4241
|
TextArea_default as TextArea,
|