analytica-frontend-lib 1.2.21 → 1.2.23
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/AlertManager/index.css +20 -3
- package/dist/AlertManager/index.css.map +1 -1
- package/dist/AlertManagerView/index.js +382 -159
- package/dist/AlertManagerView/index.js.map +1 -1
- package/dist/AlertManagerView/index.mjs +381 -159
- package/dist/AlertManagerView/index.mjs.map +1 -1
- package/dist/EmptyState/index.d.mts +65 -0
- package/dist/EmptyState/index.d.ts +65 -0
- package/dist/EmptyState/index.js +185 -0
- package/dist/EmptyState/index.js.map +1 -0
- package/dist/EmptyState/index.mjs +162 -0
- package/dist/EmptyState/index.mjs.map +1 -0
- package/dist/Radio/index.d.mts +1 -1
- package/dist/Radio/index.d.ts +1 -1
- package/dist/Table/index.d.mts +23 -24
- package/dist/Table/index.d.ts +23 -24
- package/dist/Table/index.js +363 -140
- package/dist/Table/index.js.map +1 -1
- package/dist/Table/index.mjs +358 -136
- package/dist/Table/index.mjs.map +1 -1
- package/dist/TableProvider/index.css +20 -3
- package/dist/TableProvider/index.css.map +1 -1
- package/dist/TableProvider/index.d.mts +1 -1
- package/dist/TableProvider/index.d.ts +1 -1
- package/dist/TableProvider/index.js +861 -629
- package/dist/TableProvider/index.js.map +1 -1
- package/dist/TableProvider/index.mjs +772 -541
- package/dist/TableProvider/index.mjs.map +1 -1
- package/dist/{TableProvider-CDcL1tDj.d.mts → TableProvider-BnAnv3OV.d.mts} +51 -4
- package/dist/{TableProvider-D4Ak7ofz.d.ts → TableProvider-GfPlLqzg.d.ts} +51 -4
- package/dist/index.css +20 -3
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +4 -3
- package/dist/index.d.ts +4 -3
- package/dist/index.js +1361 -1279
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1318 -1238
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +20 -3
- package/dist/styles.css.map +1 -1
- package/package.json +2 -1
|
@@ -34,10 +34,10 @@ __export(TableProvider_exports, {
|
|
|
34
34
|
default: () => TableProvider_default
|
|
35
35
|
});
|
|
36
36
|
module.exports = __toCommonJS(TableProvider_exports);
|
|
37
|
-
var
|
|
37
|
+
var import_react16 = require("react");
|
|
38
38
|
|
|
39
39
|
// src/components/Table/Table.tsx
|
|
40
|
-
var
|
|
40
|
+
var import_react2 = require("react");
|
|
41
41
|
|
|
42
42
|
// src/utils/utils.ts
|
|
43
43
|
var import_clsx = require("clsx");
|
|
@@ -187,9 +187,204 @@ var Button = ({
|
|
|
187
187
|
};
|
|
188
188
|
var Button_default = Button;
|
|
189
189
|
|
|
190
|
+
// src/components/EmptyState/EmptyState.tsx
|
|
191
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
192
|
+
var EmptyState = ({
|
|
193
|
+
image,
|
|
194
|
+
title,
|
|
195
|
+
description,
|
|
196
|
+
buttonText,
|
|
197
|
+
buttonIcon,
|
|
198
|
+
onButtonClick,
|
|
199
|
+
buttonVariant = "solid",
|
|
200
|
+
buttonAction = "primary"
|
|
201
|
+
}) => {
|
|
202
|
+
const displayTitle = title || "Nenhum dado dispon\xEDvel";
|
|
203
|
+
const displayDescription = description || "N\xE3o h\xE1 dados para exibir no momento.";
|
|
204
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "flex flex-col justify-center items-center gap-6 w-full min-h-[705px] bg-background rounded-xl p-6", children: [
|
|
205
|
+
image && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("img", { src: image, alt: displayTitle, className: "w-[170px] h-[150px]" }),
|
|
206
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "flex flex-col items-center gap-4 w-full max-w-[600px] px-6", children: [
|
|
207
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
208
|
+
Text_default,
|
|
209
|
+
{
|
|
210
|
+
as: "h2",
|
|
211
|
+
className: "text-text-950 font-semibold text-3xl leading-[35px] text-center",
|
|
212
|
+
children: displayTitle
|
|
213
|
+
}
|
|
214
|
+
),
|
|
215
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Text_default, { className: "text-text-600 font-normal text-[18px] leading-[27px] text-center", children: displayDescription })
|
|
216
|
+
] }),
|
|
217
|
+
buttonText && onButtonClick && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
218
|
+
Button_default,
|
|
219
|
+
{
|
|
220
|
+
variant: buttonVariant,
|
|
221
|
+
action: buttonAction,
|
|
222
|
+
size: "large",
|
|
223
|
+
onClick: onButtonClick,
|
|
224
|
+
iconLeft: buttonIcon,
|
|
225
|
+
className: "rounded-full px-5 py-2.5",
|
|
226
|
+
children: buttonText
|
|
227
|
+
}
|
|
228
|
+
)
|
|
229
|
+
] });
|
|
230
|
+
};
|
|
231
|
+
var EmptyState_default = EmptyState;
|
|
232
|
+
|
|
233
|
+
// src/components/Skeleton/Skeleton.tsx
|
|
234
|
+
var import_react = require("react");
|
|
235
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
236
|
+
var SKELETON_ANIMATION_CLASSES = {
|
|
237
|
+
pulse: "animate-pulse",
|
|
238
|
+
none: ""
|
|
239
|
+
};
|
|
240
|
+
var SKELETON_VARIANT_CLASSES = {
|
|
241
|
+
text: "h-4 bg-background-200 rounded",
|
|
242
|
+
circular: "bg-background-200 rounded-full",
|
|
243
|
+
rectangular: "bg-background-200",
|
|
244
|
+
rounded: "bg-background-200 rounded-lg"
|
|
245
|
+
};
|
|
246
|
+
var SPACING_CLASSES = {
|
|
247
|
+
none: "",
|
|
248
|
+
small: "space-y-1",
|
|
249
|
+
medium: "space-y-2",
|
|
250
|
+
large: "space-y-3"
|
|
251
|
+
};
|
|
252
|
+
var Skeleton = (0, import_react.forwardRef)(
|
|
253
|
+
({
|
|
254
|
+
variant = "text",
|
|
255
|
+
width,
|
|
256
|
+
height,
|
|
257
|
+
animation = "pulse",
|
|
258
|
+
lines = 1,
|
|
259
|
+
spacing = "none",
|
|
260
|
+
className = "",
|
|
261
|
+
children,
|
|
262
|
+
...props
|
|
263
|
+
}, ref) => {
|
|
264
|
+
const animationClass = SKELETON_ANIMATION_CLASSES[animation];
|
|
265
|
+
const variantClass = SKELETON_VARIANT_CLASSES[variant];
|
|
266
|
+
const spacingClass = SPACING_CLASSES[spacing];
|
|
267
|
+
const style = {
|
|
268
|
+
width: typeof width === "number" ? `${width}px` : width,
|
|
269
|
+
height: typeof height === "number" ? `${height}px` : height
|
|
270
|
+
};
|
|
271
|
+
if (variant === "text" && lines > 1) {
|
|
272
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
273
|
+
"div",
|
|
274
|
+
{
|
|
275
|
+
ref,
|
|
276
|
+
className: cn("flex flex-col", spacingClass, className),
|
|
277
|
+
...props,
|
|
278
|
+
children: Array.from({ length: lines }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
279
|
+
"div",
|
|
280
|
+
{
|
|
281
|
+
className: cn(variantClass, animationClass),
|
|
282
|
+
style: index === lines - 1 ? { width: "60%" } : void 0
|
|
283
|
+
},
|
|
284
|
+
index
|
|
285
|
+
))
|
|
286
|
+
}
|
|
287
|
+
);
|
|
288
|
+
}
|
|
289
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
290
|
+
"div",
|
|
291
|
+
{
|
|
292
|
+
ref,
|
|
293
|
+
className: cn(variantClass, animationClass, className),
|
|
294
|
+
style,
|
|
295
|
+
...props,
|
|
296
|
+
children
|
|
297
|
+
}
|
|
298
|
+
);
|
|
299
|
+
}
|
|
300
|
+
);
|
|
301
|
+
var SkeletonText = (0, import_react.forwardRef)(
|
|
302
|
+
(props, ref) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Skeleton, { ref, variant: "text", ...props })
|
|
303
|
+
);
|
|
304
|
+
var SkeletonCircle = (0, import_react.forwardRef)((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Skeleton, { ref, variant: "circular", ...props }));
|
|
305
|
+
var SkeletonRectangle = (0, import_react.forwardRef)((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Skeleton, { ref, variant: "rectangular", ...props }));
|
|
306
|
+
var SkeletonRounded = (0, import_react.forwardRef)((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Skeleton, { ref, variant: "rounded", ...props }));
|
|
307
|
+
var SkeletonCard = (0, import_react.forwardRef)(
|
|
308
|
+
({
|
|
309
|
+
showAvatar = true,
|
|
310
|
+
showTitle = true,
|
|
311
|
+
showDescription = true,
|
|
312
|
+
showActions = true,
|
|
313
|
+
lines = 2,
|
|
314
|
+
className = "",
|
|
315
|
+
...props
|
|
316
|
+
}, ref) => {
|
|
317
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
|
|
318
|
+
"div",
|
|
319
|
+
{
|
|
320
|
+
ref,
|
|
321
|
+
className: cn(
|
|
322
|
+
"w-full p-4 bg-background border border-border-200 rounded-lg",
|
|
323
|
+
className
|
|
324
|
+
),
|
|
325
|
+
...props,
|
|
326
|
+
children: [
|
|
327
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex items-start space-x-3", children: [
|
|
328
|
+
showAvatar && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(SkeletonCircle, { width: 40, height: 40 }),
|
|
329
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex-1 space-y-2", children: [
|
|
330
|
+
showTitle && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(SkeletonText, { width: "60%", height: 20 }),
|
|
331
|
+
showDescription && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(SkeletonText, { lines, spacing: "small" })
|
|
332
|
+
] })
|
|
333
|
+
] }),
|
|
334
|
+
showActions && /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex justify-end space-x-2 mt-4", children: [
|
|
335
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(SkeletonRectangle, { width: 80, height: 32 }),
|
|
336
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(SkeletonRectangle, { width: 80, height: 32 })
|
|
337
|
+
] })
|
|
338
|
+
]
|
|
339
|
+
}
|
|
340
|
+
);
|
|
341
|
+
}
|
|
342
|
+
);
|
|
343
|
+
var SkeletonList = (0, import_react.forwardRef)(
|
|
344
|
+
({
|
|
345
|
+
items = 3,
|
|
346
|
+
showAvatar = true,
|
|
347
|
+
showTitle = true,
|
|
348
|
+
showDescription = true,
|
|
349
|
+
lines = 1,
|
|
350
|
+
className = "",
|
|
351
|
+
...props
|
|
352
|
+
}, ref) => {
|
|
353
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { ref, className: cn("space-y-3", className), ...props, children: Array.from({ length: items }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex items-start space-x-3 p-3", children: [
|
|
354
|
+
showAvatar && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(SkeletonCircle, { width: 32, height: 32 }),
|
|
355
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex-1 space-y-2", children: [
|
|
356
|
+
showTitle && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(SkeletonText, { width: "40%", height: 16 }),
|
|
357
|
+
showDescription && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(SkeletonText, { lines, spacing: "small" })
|
|
358
|
+
] })
|
|
359
|
+
] }, index)) });
|
|
360
|
+
}
|
|
361
|
+
);
|
|
362
|
+
var SkeletonTable = (0, import_react.forwardRef)(
|
|
363
|
+
({ rows = 5, columns = 4, showHeader = true, className = "", ...props }, ref) => {
|
|
364
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { ref, className: cn("w-full", className), ...props, children: [
|
|
365
|
+
showHeader && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "flex space-x-2 mb-3", children: Array.from({ length: columns }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
366
|
+
SkeletonText,
|
|
367
|
+
{
|
|
368
|
+
width: `${100 / columns}%`,
|
|
369
|
+
height: 20
|
|
370
|
+
},
|
|
371
|
+
index
|
|
372
|
+
)) }),
|
|
373
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "space-y-2", children: Array.from({ length: rows }, (_, rowIndex) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "flex space-x-2", children: Array.from({ length: columns }, (_2, colIndex) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
374
|
+
SkeletonText,
|
|
375
|
+
{
|
|
376
|
+
width: `${100 / columns}%`,
|
|
377
|
+
height: 16
|
|
378
|
+
},
|
|
379
|
+
colIndex
|
|
380
|
+
)) }, rowIndex)) })
|
|
381
|
+
] });
|
|
382
|
+
}
|
|
383
|
+
);
|
|
384
|
+
|
|
190
385
|
// src/components/Table/TablePagination.tsx
|
|
191
386
|
var import_phosphor_react = require("phosphor-react");
|
|
192
|
-
var
|
|
387
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
193
388
|
var TablePagination = ({
|
|
194
389
|
totalItems,
|
|
195
390
|
currentPage,
|
|
@@ -220,7 +415,7 @@ var TablePagination = ({
|
|
|
220
415
|
};
|
|
221
416
|
const isFirstPage = currentPage === 1;
|
|
222
417
|
const isLastPage = currentPage === totalPages;
|
|
223
|
-
return /* @__PURE__ */ (0,
|
|
418
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
|
|
224
419
|
"div",
|
|
225
420
|
{
|
|
226
421
|
className: cn(
|
|
@@ -230,29 +425,29 @@ var TablePagination = ({
|
|
|
230
425
|
),
|
|
231
426
|
...props,
|
|
232
427
|
children: [
|
|
233
|
-
/* @__PURE__ */ (0,
|
|
428
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("span", { className: "font-normal text-xs leading-[14px] text-text-800", children: [
|
|
234
429
|
startItem,
|
|
235
430
|
" de ",
|
|
236
431
|
totalItems,
|
|
237
432
|
" ",
|
|
238
433
|
itemLabel
|
|
239
434
|
] }),
|
|
240
|
-
/* @__PURE__ */ (0,
|
|
241
|
-
onItemsPerPageChange && /* @__PURE__ */ (0,
|
|
242
|
-
/* @__PURE__ */ (0,
|
|
435
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "flex flex-wrap sm:flex-nowrap items-center gap-2 sm:gap-4 justify-center sm:justify-start", children: [
|
|
436
|
+
onItemsPerPageChange && /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "relative", children: [
|
|
437
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
243
438
|
"select",
|
|
244
439
|
{
|
|
245
440
|
value: itemsPerPage,
|
|
246
441
|
onChange: handleItemsPerPageChange,
|
|
247
442
|
className: "w-24 h-9 py-0 px-3 pr-8 bg-background border border-border-300 rounded appearance-none cursor-pointer font-normal text-sm leading-[21px] text-text-900",
|
|
248
443
|
"aria-label": "Items por p\xE1gina",
|
|
249
|
-
children: itemsPerPageOptions.map((option) => /* @__PURE__ */ (0,
|
|
444
|
+
children: itemsPerPageOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("option", { value: option, children: [
|
|
250
445
|
option,
|
|
251
446
|
" itens"
|
|
252
447
|
] }, option))
|
|
253
448
|
}
|
|
254
449
|
),
|
|
255
|
-
/* @__PURE__ */ (0,
|
|
450
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
256
451
|
import_phosphor_react.CaretDown,
|
|
257
452
|
{
|
|
258
453
|
size: 14,
|
|
@@ -261,13 +456,13 @@ var TablePagination = ({
|
|
|
261
456
|
}
|
|
262
457
|
)
|
|
263
458
|
] }),
|
|
264
|
-
/* @__PURE__ */ (0,
|
|
459
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("span", { className: "font-normal text-xs leading-[14px] text-text-950", children: [
|
|
265
460
|
"P\xE1gina ",
|
|
266
461
|
currentPage,
|
|
267
462
|
" de ",
|
|
268
463
|
totalPages
|
|
269
464
|
] }),
|
|
270
|
-
/* @__PURE__ */ (0,
|
|
465
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
|
|
271
466
|
"button",
|
|
272
467
|
{
|
|
273
468
|
onClick: handlePrevious,
|
|
@@ -278,12 +473,12 @@ var TablePagination = ({
|
|
|
278
473
|
),
|
|
279
474
|
"aria-label": "P\xE1gina anterior",
|
|
280
475
|
children: [
|
|
281
|
-
/* @__PURE__ */ (0,
|
|
282
|
-
/* @__PURE__ */ (0,
|
|
476
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_phosphor_react.CaretLeft, { size: 12, weight: "bold", className: "text-primary-950" }),
|
|
477
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: "font-medium text-xs leading-[14px] text-primary-950", children: "Anterior" })
|
|
283
478
|
]
|
|
284
479
|
}
|
|
285
480
|
),
|
|
286
|
-
/* @__PURE__ */ (0,
|
|
481
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
|
|
287
482
|
"button",
|
|
288
483
|
{
|
|
289
484
|
onClick: handleNext,
|
|
@@ -294,8 +489,8 @@ var TablePagination = ({
|
|
|
294
489
|
),
|
|
295
490
|
"aria-label": "Pr\xF3xima p\xE1gina",
|
|
296
491
|
children: [
|
|
297
|
-
/* @__PURE__ */ (0,
|
|
298
|
-
/* @__PURE__ */ (0,
|
|
492
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: "font-medium text-xs leading-[14px] text-primary-950", children: "Pr\xF3xima" }),
|
|
493
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_phosphor_react.CaretRight, { size: 12, weight: "bold", className: "text-primary-950" })
|
|
299
494
|
]
|
|
300
495
|
}
|
|
301
496
|
)
|
|
@@ -308,7 +503,7 @@ TablePagination.displayName = "TablePagination";
|
|
|
308
503
|
var TablePagination_default = TablePagination;
|
|
309
504
|
|
|
310
505
|
// src/components/Table/Table.tsx
|
|
311
|
-
var
|
|
506
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
312
507
|
function useTableSort(data, options = {}) {
|
|
313
508
|
const { syncWithUrl = false } = options;
|
|
314
509
|
const getInitialState = () => {
|
|
@@ -327,13 +522,13 @@ function useTableSort(data, options = {}) {
|
|
|
327
522
|
return { column: null, direction: null };
|
|
328
523
|
};
|
|
329
524
|
const initialState = getInitialState();
|
|
330
|
-
const [sortColumn, setSortColumn] = (0,
|
|
525
|
+
const [sortColumn, setSortColumn] = (0, import_react2.useState)(
|
|
331
526
|
initialState.column
|
|
332
527
|
);
|
|
333
|
-
const [sortDirection, setSortDirection] = (0,
|
|
528
|
+
const [sortDirection, setSortDirection] = (0, import_react2.useState)(
|
|
334
529
|
initialState.direction
|
|
335
530
|
);
|
|
336
|
-
(0,
|
|
531
|
+
(0, import_react2.useEffect)(() => {
|
|
337
532
|
if (!syncWithUrl || globalThis.window === void 0) return;
|
|
338
533
|
const url = new URL(globalThis.location.href);
|
|
339
534
|
const params = url.searchParams;
|
|
@@ -359,7 +554,7 @@ function useTableSort(data, options = {}) {
|
|
|
359
554
|
setSortDirection("asc");
|
|
360
555
|
}
|
|
361
556
|
};
|
|
362
|
-
const sortedData = (0,
|
|
557
|
+
const sortedData = (0, import_react2.useMemo)(() => {
|
|
363
558
|
if (!sortColumn || !sortDirection) {
|
|
364
559
|
return data;
|
|
365
560
|
}
|
|
@@ -378,121 +573,149 @@ function useTableSort(data, options = {}) {
|
|
|
378
573
|
}, [data, sortColumn, sortDirection]);
|
|
379
574
|
return { sortedData, sortColumn, sortDirection, handleSort };
|
|
380
575
|
}
|
|
381
|
-
var
|
|
576
|
+
var renderHeaderElements = (children) => {
|
|
577
|
+
return import_react2.Children.map(children, (child) => {
|
|
578
|
+
if ((0, import_react2.isValidElement)(child) && (child.type === TableCaption || child.type === TableHeader)) {
|
|
579
|
+
return child;
|
|
580
|
+
}
|
|
581
|
+
return null;
|
|
582
|
+
});
|
|
583
|
+
};
|
|
584
|
+
var getNoSearchResultContent = (config, defaultTitle, defaultDescription) => {
|
|
585
|
+
if (config.component) {
|
|
586
|
+
return config.component;
|
|
587
|
+
}
|
|
588
|
+
if (config.image) {
|
|
589
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
590
|
+
NoSearchResult_default,
|
|
591
|
+
{
|
|
592
|
+
image: config.image,
|
|
593
|
+
title: config.title || defaultTitle,
|
|
594
|
+
description: config.description || defaultDescription
|
|
595
|
+
}
|
|
596
|
+
);
|
|
597
|
+
}
|
|
598
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "text-center", children: [
|
|
599
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("p", { className: "text-text-600 text-lg font-semibold mb-2", children: config.title || defaultTitle }),
|
|
600
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("p", { className: "text-text-500 text-sm", children: config.description || defaultDescription })
|
|
601
|
+
] });
|
|
602
|
+
};
|
|
603
|
+
var getEmptyStateContent = (config, defaultTitle, defaultDescription) => {
|
|
604
|
+
if (config?.component) {
|
|
605
|
+
return config.component;
|
|
606
|
+
}
|
|
607
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
608
|
+
EmptyState_default,
|
|
609
|
+
{
|
|
610
|
+
image: config?.image,
|
|
611
|
+
title: config?.title || defaultTitle,
|
|
612
|
+
description: config?.description || defaultDescription,
|
|
613
|
+
buttonText: config?.buttonText,
|
|
614
|
+
buttonIcon: config?.buttonIcon,
|
|
615
|
+
onButtonClick: config?.onButtonClick,
|
|
616
|
+
buttonVariant: config?.buttonVariant,
|
|
617
|
+
buttonAction: config?.buttonAction
|
|
618
|
+
}
|
|
619
|
+
);
|
|
620
|
+
};
|
|
621
|
+
var renderTableWrapper = (variant, tableRef, className, children, stateContent, tableProps) => {
|
|
622
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
|
|
623
|
+
"div",
|
|
624
|
+
{
|
|
625
|
+
className: cn(
|
|
626
|
+
"relative w-full overflow-x-auto",
|
|
627
|
+
variant === "default" && "border border-border-200 rounded-xl"
|
|
628
|
+
),
|
|
629
|
+
children: [
|
|
630
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
631
|
+
"table",
|
|
632
|
+
{
|
|
633
|
+
ref: tableRef,
|
|
634
|
+
className: cn(
|
|
635
|
+
"analytica-table w-full caption-bottom text-sm border-separate border-spacing-0",
|
|
636
|
+
className
|
|
637
|
+
),
|
|
638
|
+
...tableProps,
|
|
639
|
+
children: renderHeaderElements(children)
|
|
640
|
+
}
|
|
641
|
+
),
|
|
642
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "py-8 flex justify-center", children: stateContent })
|
|
643
|
+
]
|
|
644
|
+
}
|
|
645
|
+
);
|
|
646
|
+
};
|
|
647
|
+
var Table = (0, import_react2.forwardRef)(
|
|
382
648
|
({
|
|
383
649
|
variant = "default",
|
|
384
650
|
className,
|
|
385
651
|
children,
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
onEmptyStateButtonClick,
|
|
652
|
+
showLoading = false,
|
|
653
|
+
loadingState,
|
|
654
|
+
showNoSearchResult = false,
|
|
655
|
+
noSearchResultState,
|
|
656
|
+
showEmpty = false,
|
|
657
|
+
emptyState,
|
|
393
658
|
...props
|
|
394
659
|
}, ref) => {
|
|
395
|
-
const
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
});
|
|
407
|
-
return
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
const rowProps = row.props;
|
|
417
|
-
count = import_react.Children.count(rowProps.children);
|
|
418
|
-
}
|
|
419
|
-
});
|
|
420
|
-
}
|
|
421
|
-
});
|
|
422
|
-
return count || 1;
|
|
423
|
-
}, [children]);
|
|
424
|
-
const hasSearchTerm = searchTerm && searchTerm.trim() !== "";
|
|
425
|
-
const showNoSearchResult = hasSearchTerm && isTableBodyEmpty;
|
|
426
|
-
const showEmptyState = !hasSearchTerm && isTableBodyEmpty;
|
|
660
|
+
const defaultNoSearchResultState = {
|
|
661
|
+
title: "Nenhum resultado encontrado",
|
|
662
|
+
description: "N\xE3o encontramos nenhum resultado com esse nome. Tente revisar a busca ou usar outra palavra-chave."
|
|
663
|
+
};
|
|
664
|
+
const defaultEmptyState = {
|
|
665
|
+
title: "Nenhum dado dispon\xEDvel",
|
|
666
|
+
description: "N\xE3o h\xE1 dados para exibir no momento."
|
|
667
|
+
};
|
|
668
|
+
const finalNoSearchResultState = noSearchResultState || defaultNoSearchResultState;
|
|
669
|
+
const finalEmptyState = emptyState || defaultEmptyState;
|
|
670
|
+
if (showLoading) {
|
|
671
|
+
const loadingContent = loadingState?.component || /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(SkeletonTable, { rows: 5, columns: 4, showHeader: false });
|
|
672
|
+
return renderTableWrapper(
|
|
673
|
+
variant,
|
|
674
|
+
ref,
|
|
675
|
+
className,
|
|
676
|
+
children,
|
|
677
|
+
loadingContent,
|
|
678
|
+
props
|
|
679
|
+
);
|
|
680
|
+
}
|
|
427
681
|
if (showNoSearchResult) {
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
className: cn(
|
|
441
|
-
"analytica-table w-full caption-bottom text-sm border-separate border-spacing-0",
|
|
442
|
-
className
|
|
443
|
-
),
|
|
444
|
-
...props,
|
|
445
|
-
children: import_react.Children.map(children, (child) => {
|
|
446
|
-
if ((0, import_react.isValidElement)(child) && (child.type === TableCaption || child.type === TableHeader)) {
|
|
447
|
-
return child;
|
|
448
|
-
}
|
|
449
|
-
return null;
|
|
450
|
-
})
|
|
451
|
-
}
|
|
452
|
-
),
|
|
453
|
-
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "py-8 flex justify-center", children: noSearchResultImage ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
454
|
-
NoSearchResult_default,
|
|
455
|
-
{
|
|
456
|
-
image: noSearchResultImage,
|
|
457
|
-
title: noSearchResultTitle,
|
|
458
|
-
description: noSearchResultDescription
|
|
459
|
-
}
|
|
460
|
-
) : /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "text-center", children: [
|
|
461
|
-
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("p", { className: "text-text-600 text-lg font-semibold mb-2", children: noSearchResultTitle }),
|
|
462
|
-
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("p", { className: "text-text-500 text-sm", children: noSearchResultDescription })
|
|
463
|
-
] }) })
|
|
464
|
-
]
|
|
465
|
-
}
|
|
682
|
+
const noSearchContent = getNoSearchResultContent(
|
|
683
|
+
finalNoSearchResultState,
|
|
684
|
+
defaultNoSearchResultState.title || "",
|
|
685
|
+
defaultNoSearchResultState.description || ""
|
|
686
|
+
);
|
|
687
|
+
return renderTableWrapper(
|
|
688
|
+
variant,
|
|
689
|
+
ref,
|
|
690
|
+
className,
|
|
691
|
+
children,
|
|
692
|
+
noSearchContent,
|
|
693
|
+
props
|
|
466
694
|
);
|
|
467
695
|
}
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
});
|
|
485
|
-
}
|
|
486
|
-
return child;
|
|
487
|
-
});
|
|
488
|
-
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
696
|
+
if (showEmpty) {
|
|
697
|
+
const emptyContent = getEmptyStateContent(
|
|
698
|
+
finalEmptyState,
|
|
699
|
+
defaultEmptyState.title || "Nenhum dado dispon\xEDvel",
|
|
700
|
+
defaultEmptyState.description || "N\xE3o h\xE1 dados para exibir no momento."
|
|
701
|
+
);
|
|
702
|
+
return renderTableWrapper(
|
|
703
|
+
variant,
|
|
704
|
+
ref,
|
|
705
|
+
className,
|
|
706
|
+
children,
|
|
707
|
+
emptyContent,
|
|
708
|
+
props
|
|
709
|
+
);
|
|
710
|
+
}
|
|
711
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
489
712
|
"div",
|
|
490
713
|
{
|
|
491
714
|
className: cn(
|
|
492
715
|
"relative w-full overflow-x-auto",
|
|
493
716
|
variant === "default" && "border border-border-200 rounded-xl"
|
|
494
717
|
),
|
|
495
|
-
children: /* @__PURE__ */ (0,
|
|
718
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
|
|
496
719
|
"table",
|
|
497
720
|
{
|
|
498
721
|
ref,
|
|
@@ -504,10 +727,10 @@ var Table = (0, import_react.forwardRef)(
|
|
|
504
727
|
),
|
|
505
728
|
...props,
|
|
506
729
|
children: [
|
|
507
|
-
!
|
|
508
|
-
(child) => (0,
|
|
509
|
-
) && /* @__PURE__ */ (0,
|
|
510
|
-
|
|
730
|
+
!import_react2.Children.toArray(children).some(
|
|
731
|
+
(child) => (0, import_react2.isValidElement)(child) && child.type === TableCaption
|
|
732
|
+
) && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("caption", { className: "sr-only", children: "My Table" }),
|
|
733
|
+
children
|
|
511
734
|
]
|
|
512
735
|
}
|
|
513
736
|
)
|
|
@@ -516,7 +739,7 @@ var Table = (0, import_react.forwardRef)(
|
|
|
516
739
|
}
|
|
517
740
|
);
|
|
518
741
|
Table.displayName = "Table";
|
|
519
|
-
var TableHeader = (0,
|
|
742
|
+
var TableHeader = (0, import_react2.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
520
743
|
"thead",
|
|
521
744
|
{
|
|
522
745
|
ref,
|
|
@@ -525,8 +748,8 @@ var TableHeader = (0, import_react.forwardRef)(({ className, ...props }, ref) =>
|
|
|
525
748
|
}
|
|
526
749
|
));
|
|
527
750
|
TableHeader.displayName = "TableHeader";
|
|
528
|
-
var TableBody = (0,
|
|
529
|
-
({ className, variant = "default", ...props }, ref) => /* @__PURE__ */ (0,
|
|
751
|
+
var TableBody = (0, import_react2.forwardRef)(
|
|
752
|
+
({ className, variant = "default", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
530
753
|
"tbody",
|
|
531
754
|
{
|
|
532
755
|
ref,
|
|
@@ -540,8 +763,8 @@ var TableBody = (0, import_react.forwardRef)(
|
|
|
540
763
|
)
|
|
541
764
|
);
|
|
542
765
|
TableBody.displayName = "TableBody";
|
|
543
|
-
var TableFooter = (0,
|
|
544
|
-
({ variant = "default", className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
766
|
+
var TableFooter = (0, import_react2.forwardRef)(
|
|
767
|
+
({ variant = "default", className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
545
768
|
"tfoot",
|
|
546
769
|
{
|
|
547
770
|
ref,
|
|
@@ -577,7 +800,7 @@ var VARIANT_STATES_ROW = {
|
|
|
577
800
|
borderless: "bg-background-50 opacity-50 cursor-not-allowed"
|
|
578
801
|
}
|
|
579
802
|
};
|
|
580
|
-
var TableRow = (0,
|
|
803
|
+
var TableRow = (0, import_react2.forwardRef)(
|
|
581
804
|
({
|
|
582
805
|
variant = "default",
|
|
583
806
|
state = "default",
|
|
@@ -585,7 +808,7 @@ var TableRow = (0, import_react.forwardRef)(
|
|
|
585
808
|
className,
|
|
586
809
|
...props
|
|
587
810
|
}, ref) => {
|
|
588
|
-
return /* @__PURE__ */ (0,
|
|
811
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
589
812
|
"tr",
|
|
590
813
|
{
|
|
591
814
|
ref,
|
|
@@ -603,7 +826,7 @@ var TableRow = (0, import_react.forwardRef)(
|
|
|
603
826
|
}
|
|
604
827
|
);
|
|
605
828
|
TableRow.displayName = "TableRow";
|
|
606
|
-
var TableHead = (0,
|
|
829
|
+
var TableHead = (0, import_react2.forwardRef)(
|
|
607
830
|
({
|
|
608
831
|
className,
|
|
609
832
|
sortable = true,
|
|
@@ -617,7 +840,7 @@ var TableHead = (0, import_react.forwardRef)(
|
|
|
617
840
|
onSort();
|
|
618
841
|
}
|
|
619
842
|
};
|
|
620
|
-
return /* @__PURE__ */ (0,
|
|
843
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
621
844
|
"th",
|
|
622
845
|
{
|
|
623
846
|
ref,
|
|
@@ -628,11 +851,11 @@ var TableHead = (0, import_react.forwardRef)(
|
|
|
628
851
|
),
|
|
629
852
|
onClick: handleClick,
|
|
630
853
|
...props,
|
|
631
|
-
children: /* @__PURE__ */ (0,
|
|
854
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
632
855
|
children,
|
|
633
|
-
sortable && /* @__PURE__ */ (0,
|
|
634
|
-
sortDirection === "asc" && /* @__PURE__ */ (0,
|
|
635
|
-
sortDirection === "desc" && /* @__PURE__ */ (0,
|
|
856
|
+
sortable && /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex flex-col", children: [
|
|
857
|
+
sortDirection === "asc" && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_phosphor_react2.CaretUp, { size: 16, weight: "fill", className: "text-text-800" }),
|
|
858
|
+
sortDirection === "desc" && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_phosphor_react2.CaretDown, { size: 16, weight: "fill", className: "text-text-800" })
|
|
636
859
|
] })
|
|
637
860
|
] })
|
|
638
861
|
}
|
|
@@ -640,7 +863,7 @@ var TableHead = (0, import_react.forwardRef)(
|
|
|
640
863
|
}
|
|
641
864
|
);
|
|
642
865
|
TableHead.displayName = "TableHead";
|
|
643
|
-
var TableCell = (0,
|
|
866
|
+
var TableCell = (0, import_react2.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
644
867
|
"td",
|
|
645
868
|
{
|
|
646
869
|
ref,
|
|
@@ -652,7 +875,7 @@ var TableCell = (0, import_react.forwardRef)(({ className, ...props }, ref) => /
|
|
|
652
875
|
}
|
|
653
876
|
));
|
|
654
877
|
TableCell.displayName = "TableCell";
|
|
655
|
-
var TableCaption = (0,
|
|
878
|
+
var TableCaption = (0, import_react2.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
656
879
|
"caption",
|
|
657
880
|
{
|
|
658
881
|
ref,
|
|
@@ -667,10 +890,10 @@ TableCaption.displayName = "TableCaption";
|
|
|
667
890
|
var Table_default = Table;
|
|
668
891
|
|
|
669
892
|
// src/components/Filter/useTableFilter.ts
|
|
670
|
-
var
|
|
893
|
+
var import_react3 = require("react");
|
|
671
894
|
var useTableFilter = (initialConfigs, options = {}) => {
|
|
672
895
|
const { syncWithUrl = false } = options;
|
|
673
|
-
const getInitialState = (0,
|
|
896
|
+
const getInitialState = (0, import_react3.useCallback)(() => {
|
|
674
897
|
if (!syncWithUrl || globalThis.window === void 0) {
|
|
675
898
|
return initialConfigs;
|
|
676
899
|
}
|
|
@@ -688,8 +911,8 @@ var useTableFilter = (initialConfigs, options = {}) => {
|
|
|
688
911
|
}));
|
|
689
912
|
return configsWithUrlState;
|
|
690
913
|
}, [initialConfigs, syncWithUrl]);
|
|
691
|
-
const [filterConfigs, setFilterConfigs] = (0,
|
|
692
|
-
const activeFilters = (0,
|
|
914
|
+
const [filterConfigs, setFilterConfigs] = (0, import_react3.useState)(getInitialState);
|
|
915
|
+
const activeFilters = (0, import_react3.useMemo)(() => {
|
|
693
916
|
const filters = {};
|
|
694
917
|
for (const config of filterConfigs) {
|
|
695
918
|
for (const category of config.categories) {
|
|
@@ -701,10 +924,10 @@ var useTableFilter = (initialConfigs, options = {}) => {
|
|
|
701
924
|
return filters;
|
|
702
925
|
}, [filterConfigs]);
|
|
703
926
|
const hasActiveFilters = Object.keys(activeFilters).length > 0;
|
|
704
|
-
const updateFilters = (0,
|
|
927
|
+
const updateFilters = (0, import_react3.useCallback)((configs) => {
|
|
705
928
|
setFilterConfigs(configs);
|
|
706
929
|
}, []);
|
|
707
|
-
const applyFilters = (0,
|
|
930
|
+
const applyFilters = (0, import_react3.useCallback)(() => {
|
|
708
931
|
if (!syncWithUrl || globalThis.window === void 0) {
|
|
709
932
|
return;
|
|
710
933
|
}
|
|
@@ -722,7 +945,7 @@ var useTableFilter = (initialConfigs, options = {}) => {
|
|
|
722
945
|
}
|
|
723
946
|
globalThis.window.history.replaceState({}, "", url.toString());
|
|
724
947
|
}, [filterConfigs, syncWithUrl]);
|
|
725
|
-
const clearFilters = (0,
|
|
948
|
+
const clearFilters = (0, import_react3.useCallback)(() => {
|
|
726
949
|
const clearedConfigs = filterConfigs.map((config) => ({
|
|
727
950
|
...config,
|
|
728
951
|
categories: config.categories.map((category) => ({
|
|
@@ -742,7 +965,7 @@ var useTableFilter = (initialConfigs, options = {}) => {
|
|
|
742
965
|
globalThis.window.history.replaceState({}, "", url.toString());
|
|
743
966
|
}
|
|
744
967
|
}, [filterConfigs, syncWithUrl]);
|
|
745
|
-
(0,
|
|
968
|
+
(0, import_react3.useEffect)(() => {
|
|
746
969
|
if (!syncWithUrl || globalThis.window === void 0) {
|
|
747
970
|
return;
|
|
748
971
|
}
|
|
@@ -764,15 +987,15 @@ var useTableFilter = (initialConfigs, options = {}) => {
|
|
|
764
987
|
|
|
765
988
|
// src/components/Search/Search.tsx
|
|
766
989
|
var import_phosphor_react6 = require("phosphor-react");
|
|
767
|
-
var
|
|
990
|
+
var import_react9 = require("react");
|
|
768
991
|
|
|
769
992
|
// src/components/DropdownMenu/DropdownMenu.tsx
|
|
770
993
|
var import_phosphor_react5 = require("phosphor-react");
|
|
771
|
-
var
|
|
994
|
+
var import_react8 = require("react");
|
|
772
995
|
var import_zustand2 = require("zustand");
|
|
773
996
|
|
|
774
997
|
// src/components/Modal/Modal.tsx
|
|
775
|
-
var
|
|
998
|
+
var import_react4 = require("react");
|
|
776
999
|
var import_phosphor_react3 = require("phosphor-react");
|
|
777
1000
|
|
|
778
1001
|
// src/components/Modal/utils/videoUtils.ts
|
|
@@ -820,7 +1043,7 @@ var getYouTubeEmbedUrl = (videoId) => {
|
|
|
820
1043
|
};
|
|
821
1044
|
|
|
822
1045
|
// src/components/Modal/Modal.tsx
|
|
823
|
-
var
|
|
1046
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
824
1047
|
var SIZE_CLASSES2 = {
|
|
825
1048
|
xs: "max-w-[360px]",
|
|
826
1049
|
sm: "max-w-[420px]",
|
|
@@ -846,8 +1069,8 @@ var Modal = ({
|
|
|
846
1069
|
actionLabel,
|
|
847
1070
|
contentClassName = ""
|
|
848
1071
|
}) => {
|
|
849
|
-
const titleId = (0,
|
|
850
|
-
(0,
|
|
1072
|
+
const titleId = (0, import_react4.useId)();
|
|
1073
|
+
(0, import_react4.useEffect)(() => {
|
|
851
1074
|
if (!isOpen || !closeOnEscape) return;
|
|
852
1075
|
const handleEscape = (event) => {
|
|
853
1076
|
if (event.key === "Escape") {
|
|
@@ -857,7 +1080,7 @@ var Modal = ({
|
|
|
857
1080
|
document.addEventListener("keydown", handleEscape);
|
|
858
1081
|
return () => document.removeEventListener("keydown", handleEscape);
|
|
859
1082
|
}, [isOpen, closeOnEscape, onClose]);
|
|
860
|
-
(0,
|
|
1083
|
+
(0, import_react4.useEffect)(() => {
|
|
861
1084
|
if (!isOpen) return;
|
|
862
1085
|
const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;
|
|
863
1086
|
const originalOverflow = document.body.style.overflow;
|
|
@@ -905,7 +1128,7 @@ var Modal = ({
|
|
|
905
1128
|
}
|
|
906
1129
|
};
|
|
907
1130
|
if (variant === "activity") {
|
|
908
|
-
return /* @__PURE__ */ (0,
|
|
1131
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-xs border-none p-0 m-0 w-full cursor-default", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
|
909
1132
|
"dialog",
|
|
910
1133
|
{
|
|
911
1134
|
className: modalClasses,
|
|
@@ -913,17 +1136,17 @@ var Modal = ({
|
|
|
913
1136
|
"aria-modal": "true",
|
|
914
1137
|
open: true,
|
|
915
1138
|
children: [
|
|
916
|
-
/* @__PURE__ */ (0,
|
|
1139
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "flex justify-end p-6 pb-0", children: !hideCloseButton && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
917
1140
|
"button",
|
|
918
1141
|
{
|
|
919
1142
|
onClick: onClose,
|
|
920
1143
|
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",
|
|
921
1144
|
"aria-label": "Fechar modal",
|
|
922
|
-
children: /* @__PURE__ */ (0,
|
|
1145
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_phosphor_react3.X, { size: 18 })
|
|
923
1146
|
}
|
|
924
1147
|
) }),
|
|
925
|
-
/* @__PURE__ */ (0,
|
|
926
|
-
image && /* @__PURE__ */ (0,
|
|
1148
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "flex flex-col items-center px-6 pb-6 gap-5", children: [
|
|
1149
|
+
image && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
927
1150
|
"img",
|
|
928
1151
|
{
|
|
929
1152
|
src: image,
|
|
@@ -931,7 +1154,7 @@ var Modal = ({
|
|
|
931
1154
|
className: "w-[122px] h-[122px] object-contain"
|
|
932
1155
|
}
|
|
933
1156
|
) }),
|
|
934
|
-
/* @__PURE__ */ (0,
|
|
1157
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
935
1158
|
"h2",
|
|
936
1159
|
{
|
|
937
1160
|
id: titleId,
|
|
@@ -939,15 +1162,15 @@ var Modal = ({
|
|
|
939
1162
|
children: title
|
|
940
1163
|
}
|
|
941
1164
|
),
|
|
942
|
-
description && /* @__PURE__ */ (0,
|
|
943
|
-
actionLink && /* @__PURE__ */ (0,
|
|
1165
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("p", { className: "text-sm font-normal text-text-400 text-center max-w-md leading-[21px]", children: description }),
|
|
1166
|
+
actionLink && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "w-full", children: [
|
|
944
1167
|
(() => {
|
|
945
1168
|
const normalized = normalizeUrl(actionLink);
|
|
946
1169
|
const isYT = isYouTubeUrl(normalized);
|
|
947
1170
|
if (!isYT) return null;
|
|
948
1171
|
const id = getYouTubeVideoId(normalized);
|
|
949
1172
|
if (!id) {
|
|
950
|
-
return /* @__PURE__ */ (0,
|
|
1173
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
951
1174
|
Button_default,
|
|
952
1175
|
{
|
|
953
1176
|
variant: "solid",
|
|
@@ -959,7 +1182,7 @@ var Modal = ({
|
|
|
959
1182
|
}
|
|
960
1183
|
);
|
|
961
1184
|
}
|
|
962
|
-
return /* @__PURE__ */ (0,
|
|
1185
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
963
1186
|
"iframe",
|
|
964
1187
|
{
|
|
965
1188
|
src: getYouTubeEmbedUrl(id),
|
|
@@ -970,7 +1193,7 @@ var Modal = ({
|
|
|
970
1193
|
}
|
|
971
1194
|
);
|
|
972
1195
|
})(),
|
|
973
|
-
!isYouTubeUrl(normalizeUrl(actionLink)) && /* @__PURE__ */ (0,
|
|
1196
|
+
!isYouTubeUrl(normalizeUrl(actionLink)) && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
974
1197
|
Button_default,
|
|
975
1198
|
{
|
|
976
1199
|
variant: "solid",
|
|
@@ -987,7 +1210,7 @@ var Modal = ({
|
|
|
987
1210
|
}
|
|
988
1211
|
) });
|
|
989
1212
|
}
|
|
990
|
-
return /* @__PURE__ */ (0,
|
|
1213
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-xs border-none p-0 m-0 w-full cursor-default", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
|
991
1214
|
"dialog",
|
|
992
1215
|
{
|
|
993
1216
|
className: modalClasses,
|
|
@@ -995,20 +1218,20 @@ var Modal = ({
|
|
|
995
1218
|
"aria-modal": "true",
|
|
996
1219
|
open: true,
|
|
997
1220
|
children: [
|
|
998
|
-
/* @__PURE__ */ (0,
|
|
999
|
-
/* @__PURE__ */ (0,
|
|
1000
|
-
!hideCloseButton && /* @__PURE__ */ (0,
|
|
1221
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "flex items-center justify-between px-6 py-6", children: [
|
|
1222
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("h2", { id: titleId, className: "text-lg font-semibold text-text-950", children: title }),
|
|
1223
|
+
!hideCloseButton && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
1001
1224
|
"button",
|
|
1002
1225
|
{
|
|
1003
1226
|
onClick: onClose,
|
|
1004
1227
|
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",
|
|
1005
1228
|
"aria-label": "Fechar modal",
|
|
1006
|
-
children: /* @__PURE__ */ (0,
|
|
1229
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_phosphor_react3.X, { size: 18 })
|
|
1007
1230
|
}
|
|
1008
1231
|
)
|
|
1009
1232
|
] }),
|
|
1010
|
-
children && /* @__PURE__ */ (0,
|
|
1011
|
-
footer && /* @__PURE__ */ (0,
|
|
1233
|
+
children && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: cn("px-6 pb-6", contentClassName), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "text-text-500 font-normal text-sm leading-6", children }) }),
|
|
1234
|
+
footer && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "flex justify-end gap-3 px-6 pb-6", children: footer })
|
|
1012
1235
|
]
|
|
1013
1236
|
}
|
|
1014
1237
|
) });
|
|
@@ -1017,12 +1240,12 @@ var Modal_default = Modal;
|
|
|
1017
1240
|
|
|
1018
1241
|
// src/components/ThemeToggle/ThemeToggle.tsx
|
|
1019
1242
|
var import_phosphor_react4 = require("phosphor-react");
|
|
1020
|
-
var
|
|
1243
|
+
var import_react7 = require("react");
|
|
1021
1244
|
|
|
1022
1245
|
// src/components/SelectionButton/SelectionButton.tsx
|
|
1023
|
-
var
|
|
1024
|
-
var
|
|
1025
|
-
var SelectionButton = (0,
|
|
1246
|
+
var import_react5 = require("react");
|
|
1247
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
1248
|
+
var SelectionButton = (0, import_react5.forwardRef)(
|
|
1026
1249
|
({ icon, label, selected = false, className = "", disabled, ...props }, ref) => {
|
|
1027
1250
|
const baseClasses = [
|
|
1028
1251
|
"inline-flex",
|
|
@@ -1054,7 +1277,7 @@ var SelectionButton = (0, import_react4.forwardRef)(
|
|
|
1054
1277
|
];
|
|
1055
1278
|
const stateClasses = selected ? ["ring-primary-950", "ring-2", "ring-offset-0", "shadow-none"] : [];
|
|
1056
1279
|
const allClasses = [...baseClasses, ...stateClasses].join(" ");
|
|
1057
|
-
return /* @__PURE__ */ (0,
|
|
1280
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
1058
1281
|
"button",
|
|
1059
1282
|
{
|
|
1060
1283
|
ref,
|
|
@@ -1064,8 +1287,8 @@ var SelectionButton = (0, import_react4.forwardRef)(
|
|
|
1064
1287
|
"aria-pressed": selected,
|
|
1065
1288
|
...props,
|
|
1066
1289
|
children: [
|
|
1067
|
-
/* @__PURE__ */ (0,
|
|
1068
|
-
/* @__PURE__ */ (0,
|
|
1290
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { className: "flex items-center justify-center w-6 h-6", children: icon }),
|
|
1291
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { children: label })
|
|
1069
1292
|
]
|
|
1070
1293
|
}
|
|
1071
1294
|
);
|
|
@@ -1075,7 +1298,7 @@ SelectionButton.displayName = "SelectionButton";
|
|
|
1075
1298
|
var SelectionButton_default = SelectionButton;
|
|
1076
1299
|
|
|
1077
1300
|
// src/hooks/useTheme.ts
|
|
1078
|
-
var
|
|
1301
|
+
var import_react6 = require("react");
|
|
1079
1302
|
|
|
1080
1303
|
// src/store/themeStore.ts
|
|
1081
1304
|
var import_zustand = require("zustand");
|
|
@@ -1179,7 +1402,7 @@ var useTheme = () => {
|
|
|
1179
1402
|
initializeTheme,
|
|
1180
1403
|
handleSystemThemeChange
|
|
1181
1404
|
} = useThemeStore();
|
|
1182
|
-
(0,
|
|
1405
|
+
(0, import_react6.useEffect)(() => {
|
|
1183
1406
|
initializeTheme();
|
|
1184
1407
|
const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)");
|
|
1185
1408
|
mediaQuery.addEventListener("change", handleSystemThemeChange);
|
|
@@ -1196,31 +1419,31 @@ var useTheme = () => {
|
|
|
1196
1419
|
};
|
|
1197
1420
|
|
|
1198
1421
|
// src/components/ThemeToggle/ThemeToggle.tsx
|
|
1199
|
-
var
|
|
1422
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
1200
1423
|
var ThemeToggle = ({
|
|
1201
1424
|
variant = "default",
|
|
1202
1425
|
onToggle
|
|
1203
1426
|
}) => {
|
|
1204
1427
|
const { themeMode, setTheme } = useTheme();
|
|
1205
|
-
const [tempTheme, setTempTheme] = (0,
|
|
1206
|
-
(0,
|
|
1428
|
+
const [tempTheme, setTempTheme] = (0, import_react7.useState)(themeMode);
|
|
1429
|
+
(0, import_react7.useEffect)(() => {
|
|
1207
1430
|
setTempTheme(themeMode);
|
|
1208
1431
|
}, [themeMode]);
|
|
1209
1432
|
const problemTypes = [
|
|
1210
1433
|
{
|
|
1211
1434
|
id: "light",
|
|
1212
1435
|
title: "Claro",
|
|
1213
|
-
icon: /* @__PURE__ */ (0,
|
|
1436
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_phosphor_react4.Sun, { size: 24 })
|
|
1214
1437
|
},
|
|
1215
1438
|
{
|
|
1216
1439
|
id: "dark",
|
|
1217
1440
|
title: "Escuro",
|
|
1218
|
-
icon: /* @__PURE__ */ (0,
|
|
1441
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_phosphor_react4.Moon, { size: 24 })
|
|
1219
1442
|
},
|
|
1220
1443
|
{
|
|
1221
1444
|
id: "system",
|
|
1222
1445
|
title: "Sistema",
|
|
1223
|
-
icon: /* @__PURE__ */ (0,
|
|
1446
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
1224
1447
|
"svg",
|
|
1225
1448
|
{
|
|
1226
1449
|
width: "25",
|
|
@@ -1228,7 +1451,7 @@ var ThemeToggle = ({
|
|
|
1228
1451
|
viewBox: "0 0 25 25",
|
|
1229
1452
|
fill: "none",
|
|
1230
1453
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1231
|
-
children: /* @__PURE__ */ (0,
|
|
1454
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
1232
1455
|
"path",
|
|
1233
1456
|
{
|
|
1234
1457
|
d: "M12.5 2.75C15.085 2.75276 17.5637 3.78054 19.3916 5.6084C21.2195 7.43628 22.2473 9.915 22.25 12.5C22.25 14.4284 21.6778 16.3136 20.6064 17.917C19.5352 19.5201 18.0128 20.7699 16.2314 21.5078C14.4499 22.2458 12.489 22.4387 10.5977 22.0625C8.70642 21.6863 6.96899 20.758 5.60547 19.3945C4.24197 18.031 3.31374 16.2936 2.9375 14.4023C2.56129 12.511 2.75423 10.5501 3.49219 8.76855C4.23012 6.98718 5.47982 5.46483 7.08301 4.39355C8.68639 3.32221 10.5716 2.75 12.5 2.75ZM11.75 4.28516C9.70145 4.47452 7.7973 5.42115 6.41016 6.94043C5.02299 8.4599 4.25247 10.4426 4.25 12.5C4.25247 14.5574 5.02299 16.5401 6.41016 18.0596C7.7973 19.5789 9.70145 20.5255 11.75 20.7148V4.28516Z",
|
|
@@ -1250,7 +1473,7 @@ var ThemeToggle = ({
|
|
|
1250
1473
|
}
|
|
1251
1474
|
};
|
|
1252
1475
|
const currentTheme = variant === "with-save" ? tempTheme : themeMode;
|
|
1253
|
-
return /* @__PURE__ */ (0,
|
|
1476
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "flex flex-row gap-2 sm:gap-4 py-2", children: problemTypes.map((type) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
1254
1477
|
SelectionButton_default,
|
|
1255
1478
|
{
|
|
1256
1479
|
icon: type.icon,
|
|
@@ -1264,7 +1487,7 @@ var ThemeToggle = ({
|
|
|
1264
1487
|
};
|
|
1265
1488
|
|
|
1266
1489
|
// src/components/DropdownMenu/DropdownMenu.tsx
|
|
1267
|
-
var
|
|
1490
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
1268
1491
|
function createDropdownStore() {
|
|
1269
1492
|
return (0, import_zustand2.create)((set) => ({
|
|
1270
1493
|
open: false,
|
|
@@ -1280,8 +1503,8 @@ var useDropdownStore = (externalStore) => {
|
|
|
1280
1503
|
return externalStore;
|
|
1281
1504
|
};
|
|
1282
1505
|
var injectStore = (children, store) => {
|
|
1283
|
-
return
|
|
1284
|
-
if ((0,
|
|
1506
|
+
return import_react8.Children.map(children, (child) => {
|
|
1507
|
+
if ((0, import_react8.isValidElement)(child)) {
|
|
1285
1508
|
const typedChild = child;
|
|
1286
1509
|
const displayName = typedChild.type.displayName;
|
|
1287
1510
|
const allowed = [
|
|
@@ -1303,7 +1526,7 @@ var injectStore = (children, store) => {
|
|
|
1303
1526
|
if (typedChild.props.children) {
|
|
1304
1527
|
newProps.children = injectStore(typedChild.props.children, store);
|
|
1305
1528
|
}
|
|
1306
|
-
return (0,
|
|
1529
|
+
return (0, import_react8.cloneElement)(typedChild, newProps);
|
|
1307
1530
|
}
|
|
1308
1531
|
return child;
|
|
1309
1532
|
});
|
|
@@ -1313,14 +1536,14 @@ var DropdownMenu = ({
|
|
|
1313
1536
|
open: propOpen,
|
|
1314
1537
|
onOpenChange
|
|
1315
1538
|
}) => {
|
|
1316
|
-
const storeRef = (0,
|
|
1539
|
+
const storeRef = (0, import_react8.useRef)(null);
|
|
1317
1540
|
storeRef.current ??= createDropdownStore();
|
|
1318
1541
|
const store = storeRef.current;
|
|
1319
1542
|
const { open, setOpen: storeSetOpen } = (0, import_zustand2.useStore)(store, (s) => s);
|
|
1320
1543
|
const setOpen = (newOpen) => {
|
|
1321
1544
|
storeSetOpen(newOpen);
|
|
1322
1545
|
};
|
|
1323
|
-
const menuRef = (0,
|
|
1546
|
+
const menuRef = (0, import_react8.useRef)(null);
|
|
1324
1547
|
const handleArrowDownOrArrowUp = (event) => {
|
|
1325
1548
|
const menuContent = menuRef.current?.querySelector('[role="menu"]');
|
|
1326
1549
|
if (menuContent) {
|
|
@@ -1354,7 +1577,7 @@ var DropdownMenu = ({
|
|
|
1354
1577
|
setOpen(false);
|
|
1355
1578
|
}
|
|
1356
1579
|
};
|
|
1357
|
-
(0,
|
|
1580
|
+
(0, import_react8.useEffect)(() => {
|
|
1358
1581
|
if (open) {
|
|
1359
1582
|
document.addEventListener("pointerdown", handleClickOutside);
|
|
1360
1583
|
document.addEventListener("keydown", handleDownkey);
|
|
@@ -1364,15 +1587,15 @@ var DropdownMenu = ({
|
|
|
1364
1587
|
document.removeEventListener("keydown", handleDownkey);
|
|
1365
1588
|
};
|
|
1366
1589
|
}, [open]);
|
|
1367
|
-
(0,
|
|
1590
|
+
(0, import_react8.useEffect)(() => {
|
|
1368
1591
|
onOpenChange?.(open);
|
|
1369
1592
|
}, [open, onOpenChange]);
|
|
1370
|
-
(0,
|
|
1593
|
+
(0, import_react8.useEffect)(() => {
|
|
1371
1594
|
if (propOpen !== void 0) {
|
|
1372
1595
|
setOpen(propOpen);
|
|
1373
1596
|
}
|
|
1374
1597
|
}, [propOpen]);
|
|
1375
|
-
return /* @__PURE__ */ (0,
|
|
1598
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "relative", ref: menuRef, children: injectStore(children, store) });
|
|
1376
1599
|
};
|
|
1377
1600
|
var DropdownMenuTrigger = ({
|
|
1378
1601
|
className,
|
|
@@ -1384,7 +1607,7 @@ var DropdownMenuTrigger = ({
|
|
|
1384
1607
|
const store = useDropdownStore(externalStore);
|
|
1385
1608
|
const open = (0, import_zustand2.useStore)(store, (s) => s.open);
|
|
1386
1609
|
const toggleOpen = () => store.setState({ open: !open });
|
|
1387
|
-
return /* @__PURE__ */ (0,
|
|
1610
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1388
1611
|
"div",
|
|
1389
1612
|
{
|
|
1390
1613
|
onClick: (e) => {
|
|
@@ -1428,8 +1651,8 @@ var MENUCONTENT_VARIANT_CLASSES = {
|
|
|
1428
1651
|
menu: "p-1",
|
|
1429
1652
|
profile: "p-6"
|
|
1430
1653
|
};
|
|
1431
|
-
var MenuLabel = (0,
|
|
1432
|
-
return /* @__PURE__ */ (0,
|
|
1654
|
+
var MenuLabel = (0, import_react8.forwardRef)(({ className, inset, store: _store, ...props }, ref) => {
|
|
1655
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1433
1656
|
"div",
|
|
1434
1657
|
{
|
|
1435
1658
|
ref,
|
|
@@ -1439,7 +1662,7 @@ var MenuLabel = (0, import_react7.forwardRef)(({ className, inset, store: _store
|
|
|
1439
1662
|
);
|
|
1440
1663
|
});
|
|
1441
1664
|
MenuLabel.displayName = "MenuLabel";
|
|
1442
|
-
var DropdownMenuContent = (0,
|
|
1665
|
+
var DropdownMenuContent = (0, import_react8.forwardRef)(
|
|
1443
1666
|
({
|
|
1444
1667
|
className,
|
|
1445
1668
|
align = "start",
|
|
@@ -1452,8 +1675,8 @@ var DropdownMenuContent = (0, import_react7.forwardRef)(
|
|
|
1452
1675
|
}, ref) => {
|
|
1453
1676
|
const store = useDropdownStore(externalStore);
|
|
1454
1677
|
const open = (0, import_zustand2.useStore)(store, (s) => s.open);
|
|
1455
|
-
const [isVisible, setIsVisible] = (0,
|
|
1456
|
-
(0,
|
|
1678
|
+
const [isVisible, setIsVisible] = (0, import_react8.useState)(open);
|
|
1679
|
+
(0, import_react8.useEffect)(() => {
|
|
1457
1680
|
if (open) {
|
|
1458
1681
|
setIsVisible(true);
|
|
1459
1682
|
} else {
|
|
@@ -1468,7 +1691,7 @@ var DropdownMenuContent = (0, import_react7.forwardRef)(
|
|
|
1468
1691
|
return `absolute ${vertical} ${horizontal}`;
|
|
1469
1692
|
};
|
|
1470
1693
|
const variantClasses = MENUCONTENT_VARIANT_CLASSES[variant];
|
|
1471
|
-
return /* @__PURE__ */ (0,
|
|
1694
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1472
1695
|
"div",
|
|
1473
1696
|
{
|
|
1474
1697
|
ref,
|
|
@@ -1493,7 +1716,7 @@ var DropdownMenuContent = (0, import_react7.forwardRef)(
|
|
|
1493
1716
|
}
|
|
1494
1717
|
);
|
|
1495
1718
|
DropdownMenuContent.displayName = "DropdownMenuContent";
|
|
1496
|
-
var DropdownMenuItem = (0,
|
|
1719
|
+
var DropdownMenuItem = (0, import_react8.forwardRef)(
|
|
1497
1720
|
({
|
|
1498
1721
|
className,
|
|
1499
1722
|
size = "small",
|
|
@@ -1537,7 +1760,7 @@ var DropdownMenuItem = (0, import_react7.forwardRef)(
|
|
|
1537
1760
|
const getVariantProps = () => {
|
|
1538
1761
|
return variant === "profile" ? { "data-variant": "profile" } : {};
|
|
1539
1762
|
};
|
|
1540
|
-
return /* @__PURE__ */ (0,
|
|
1763
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
1541
1764
|
"div",
|
|
1542
1765
|
{
|
|
1543
1766
|
ref,
|
|
@@ -1563,7 +1786,7 @@ var DropdownMenuItem = (0, import_react7.forwardRef)(
|
|
|
1563
1786
|
...props,
|
|
1564
1787
|
children: [
|
|
1565
1788
|
iconLeft,
|
|
1566
|
-
/* @__PURE__ */ (0,
|
|
1789
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "w-full", children }),
|
|
1567
1790
|
iconRight
|
|
1568
1791
|
]
|
|
1569
1792
|
}
|
|
@@ -1571,7 +1794,7 @@ var DropdownMenuItem = (0, import_react7.forwardRef)(
|
|
|
1571
1794
|
}
|
|
1572
1795
|
);
|
|
1573
1796
|
DropdownMenuItem.displayName = "DropdownMenuItem";
|
|
1574
|
-
var DropdownMenuSeparator = (0,
|
|
1797
|
+
var DropdownMenuSeparator = (0, import_react8.forwardRef)(({ className, store: _store, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1575
1798
|
"div",
|
|
1576
1799
|
{
|
|
1577
1800
|
ref,
|
|
@@ -1580,11 +1803,11 @@ var DropdownMenuSeparator = (0, import_react7.forwardRef)(({ className, store: _
|
|
|
1580
1803
|
}
|
|
1581
1804
|
));
|
|
1582
1805
|
DropdownMenuSeparator.displayName = "DropdownMenuSeparator";
|
|
1583
|
-
var ProfileMenuTrigger = (0,
|
|
1806
|
+
var ProfileMenuTrigger = (0, import_react8.forwardRef)(({ className, onClick, store: externalStore, ...props }, ref) => {
|
|
1584
1807
|
const store = useDropdownStore(externalStore);
|
|
1585
1808
|
const open = (0, import_zustand2.useStore)(store, (s) => s.open);
|
|
1586
1809
|
const toggleOpen = () => store.setState({ open: !open });
|
|
1587
|
-
return /* @__PURE__ */ (0,
|
|
1810
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1588
1811
|
"button",
|
|
1589
1812
|
{
|
|
1590
1813
|
ref,
|
|
@@ -1599,13 +1822,13 @@ var ProfileMenuTrigger = (0, import_react7.forwardRef)(({ className, onClick, st
|
|
|
1599
1822
|
},
|
|
1600
1823
|
"aria-expanded": open,
|
|
1601
1824
|
...props,
|
|
1602
|
-
children: /* @__PURE__ */ (0,
|
|
1825
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "size-6 rounded-full bg-primary-100 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_phosphor_react5.User, { className: "text-primary-950", size: 18 }) })
|
|
1603
1826
|
}
|
|
1604
1827
|
);
|
|
1605
1828
|
});
|
|
1606
1829
|
ProfileMenuTrigger.displayName = "ProfileMenuTrigger";
|
|
1607
|
-
var ProfileMenuHeader = (0,
|
|
1608
|
-
return /* @__PURE__ */ (0,
|
|
1830
|
+
var ProfileMenuHeader = (0, import_react8.forwardRef)(({ className, name, email, photoUrl, store: _store, ...props }, ref) => {
|
|
1831
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
1609
1832
|
"div",
|
|
1610
1833
|
{
|
|
1611
1834
|
ref,
|
|
@@ -1616,16 +1839,16 @@ var ProfileMenuHeader = (0, import_react7.forwardRef)(({ className, name, email,
|
|
|
1616
1839
|
),
|
|
1617
1840
|
...props,
|
|
1618
1841
|
children: [
|
|
1619
|
-
/* @__PURE__ */ (0,
|
|
1842
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "w-16 h-16 bg-primary-100 rounded-full flex items-center justify-center overflow-hidden flex-shrink-0", children: photoUrl ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1620
1843
|
"img",
|
|
1621
1844
|
{
|
|
1622
1845
|
src: photoUrl,
|
|
1623
1846
|
alt: "Foto de perfil",
|
|
1624
1847
|
className: "w-full h-full object-cover"
|
|
1625
1848
|
}
|
|
1626
|
-
) : /* @__PURE__ */ (0,
|
|
1627
|
-
/* @__PURE__ */ (0,
|
|
1628
|
-
/* @__PURE__ */ (0,
|
|
1849
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_phosphor_react5.User, { size: 34, className: "text-primary-800" }) }),
|
|
1850
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex flex-col min-w-0", children: [
|
|
1851
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1629
1852
|
Text_default,
|
|
1630
1853
|
{
|
|
1631
1854
|
size: "xl",
|
|
@@ -1635,14 +1858,14 @@ var ProfileMenuHeader = (0, import_react7.forwardRef)(({ className, name, email,
|
|
|
1635
1858
|
children: name
|
|
1636
1859
|
}
|
|
1637
1860
|
),
|
|
1638
|
-
/* @__PURE__ */ (0,
|
|
1861
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text_default, { size: "md", color: "text-text-600", className: "truncate", children: email })
|
|
1639
1862
|
] })
|
|
1640
1863
|
]
|
|
1641
1864
|
}
|
|
1642
1865
|
);
|
|
1643
1866
|
});
|
|
1644
1867
|
ProfileMenuHeader.displayName = "ProfileMenuHeader";
|
|
1645
|
-
var ProfileMenuInfo = (0,
|
|
1868
|
+
var ProfileMenuInfo = (0, import_react8.forwardRef)(
|
|
1646
1869
|
({
|
|
1647
1870
|
className,
|
|
1648
1871
|
schoolName,
|
|
@@ -1651,7 +1874,7 @@ var ProfileMenuInfo = (0, import_react7.forwardRef)(
|
|
|
1651
1874
|
store: _store,
|
|
1652
1875
|
...props
|
|
1653
1876
|
}, ref) => {
|
|
1654
|
-
return /* @__PURE__ */ (0,
|
|
1877
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
1655
1878
|
"div",
|
|
1656
1879
|
{
|
|
1657
1880
|
ref,
|
|
@@ -1659,13 +1882,13 @@ var ProfileMenuInfo = (0, import_react7.forwardRef)(
|
|
|
1659
1882
|
className: cn("flex flex-row gap-4 items-center", className),
|
|
1660
1883
|
...props,
|
|
1661
1884
|
children: [
|
|
1662
|
-
/* @__PURE__ */ (0,
|
|
1663
|
-
/* @__PURE__ */ (0,
|
|
1664
|
-
/* @__PURE__ */ (0,
|
|
1665
|
-
/* @__PURE__ */ (0,
|
|
1666
|
-
/* @__PURE__ */ (0,
|
|
1667
|
-
/* @__PURE__ */ (0,
|
|
1668
|
-
/* @__PURE__ */ (0,
|
|
1885
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "w-16 h-16" }),
|
|
1886
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex flex-col ", children: [
|
|
1887
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text_default, { size: "md", color: "text-text-600", children: schoolName }),
|
|
1888
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("span", { className: "flex flex-row items-center gap-2", children: [
|
|
1889
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text_default, { size: "md", color: "text-text-600", children: classYearName }),
|
|
1890
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("p", { className: "text-text-600 text-xs align-middle", children: "\u25CF" }),
|
|
1891
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text_default, { size: "md", color: "text-text-600", children: schoolYearName })
|
|
1669
1892
|
] })
|
|
1670
1893
|
] })
|
|
1671
1894
|
]
|
|
@@ -1679,9 +1902,9 @@ var ProfileToggleTheme = ({
|
|
|
1679
1902
|
...props
|
|
1680
1903
|
}) => {
|
|
1681
1904
|
const { themeMode, setTheme } = useTheme();
|
|
1682
|
-
const [modalThemeToggle, setModalThemeToggle] = (0,
|
|
1683
|
-
const [selectedTheme, setSelectedTheme] = (0,
|
|
1684
|
-
const internalStoreRef = (0,
|
|
1905
|
+
const [modalThemeToggle, setModalThemeToggle] = (0, import_react8.useState)(false);
|
|
1906
|
+
const [selectedTheme, setSelectedTheme] = (0, import_react8.useState)(themeMode);
|
|
1907
|
+
const internalStoreRef = (0, import_react8.useRef)(null);
|
|
1685
1908
|
internalStoreRef.current ??= createDropdownStore();
|
|
1686
1909
|
const store = externalStore ?? internalStoreRef.current;
|
|
1687
1910
|
const setOpen = (0, import_zustand2.useStore)(store, (s) => s.setOpen);
|
|
@@ -1700,14 +1923,14 @@ var ProfileToggleTheme = ({
|
|
|
1700
1923
|
setModalThemeToggle(false);
|
|
1701
1924
|
setOpen(false);
|
|
1702
1925
|
};
|
|
1703
|
-
return /* @__PURE__ */ (0,
|
|
1704
|
-
/* @__PURE__ */ (0,
|
|
1926
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_jsx_runtime11.Fragment, { children: [
|
|
1927
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1705
1928
|
DropdownMenuItem,
|
|
1706
1929
|
{
|
|
1707
1930
|
variant: "profile",
|
|
1708
1931
|
preventClose: true,
|
|
1709
1932
|
store,
|
|
1710
|
-
iconLeft: /* @__PURE__ */ (0,
|
|
1933
|
+
iconLeft: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1711
1934
|
"svg",
|
|
1712
1935
|
{
|
|
1713
1936
|
width: "24",
|
|
@@ -1715,7 +1938,7 @@ var ProfileToggleTheme = ({
|
|
|
1715
1938
|
viewBox: "0 0 25 25",
|
|
1716
1939
|
fill: "none",
|
|
1717
1940
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1718
|
-
children: /* @__PURE__ */ (0,
|
|
1941
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1719
1942
|
"path",
|
|
1720
1943
|
{
|
|
1721
1944
|
d: "M12.5 2.75C15.085 2.75276 17.5637 3.78054 19.3916 5.6084C21.2195 7.43628 22.2473 9.915 22.25 12.5C22.25 14.4284 21.6778 16.3136 20.6064 17.917C19.5352 19.5201 18.0128 20.7699 16.2314 21.5078C14.4499 22.2458 12.489 22.4387 10.5977 22.0625C8.70642 21.6863 6.96899 20.758 5.60547 19.3945C4.24197 18.031 3.31374 16.2936 2.9375 14.4023C2.56129 12.511 2.75423 10.5501 3.49219 8.76855C4.23012 6.98718 5.47982 5.46483 7.08301 4.39355C8.68639 3.32221 10.5716 2.75 12.5 2.75ZM11.75 4.28516C9.70145 4.47452 7.7973 5.42115 6.41016 6.94043C5.02299 8.4599 4.25247 10.4426 4.25 12.5C4.25247 14.5574 5.02299 16.5401 6.41016 18.0596C7.7973 19.5789 9.70145 20.5255 11.75 20.7148V4.28516Z",
|
|
@@ -1724,7 +1947,7 @@ var ProfileToggleTheme = ({
|
|
|
1724
1947
|
)
|
|
1725
1948
|
}
|
|
1726
1949
|
),
|
|
1727
|
-
iconRight: /* @__PURE__ */ (0,
|
|
1950
|
+
iconRight: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_phosphor_react5.CaretRight, {}),
|
|
1728
1951
|
onClick: handleClick,
|
|
1729
1952
|
onKeyDown: (e) => {
|
|
1730
1953
|
if (e.key === "Enter" || e.key === " ") {
|
|
@@ -1734,31 +1957,31 @@ var ProfileToggleTheme = ({
|
|
|
1734
1957
|
}
|
|
1735
1958
|
},
|
|
1736
1959
|
...props,
|
|
1737
|
-
children: /* @__PURE__ */ (0,
|
|
1960
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text_default, { size: "md", color: "text-text-700", children: "Apar\xEAncia" })
|
|
1738
1961
|
}
|
|
1739
1962
|
),
|
|
1740
|
-
/* @__PURE__ */ (0,
|
|
1963
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1741
1964
|
Modal_default,
|
|
1742
1965
|
{
|
|
1743
1966
|
isOpen: modalThemeToggle,
|
|
1744
1967
|
onClose: handleCancel,
|
|
1745
1968
|
title: "Apar\xEAncia",
|
|
1746
1969
|
size: "md",
|
|
1747
|
-
footer: /* @__PURE__ */ (0,
|
|
1748
|
-
/* @__PURE__ */ (0,
|
|
1749
|
-
/* @__PURE__ */ (0,
|
|
1970
|
+
footer: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex gap-3", children: [
|
|
1971
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Button_default, { variant: "outline", onClick: handleCancel, children: "Cancelar" }),
|
|
1972
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Button_default, { variant: "solid", onClick: handleSave, children: "Salvar" })
|
|
1750
1973
|
] }),
|
|
1751
|
-
children: /* @__PURE__ */ (0,
|
|
1752
|
-
/* @__PURE__ */ (0,
|
|
1753
|
-
/* @__PURE__ */ (0,
|
|
1974
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex flex-col", children: [
|
|
1975
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("p", { className: "text-sm text-text-500", children: "Escolha o tema:" }),
|
|
1976
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(ThemeToggle, { variant: "with-save", onToggle: setSelectedTheme })
|
|
1754
1977
|
] })
|
|
1755
1978
|
}
|
|
1756
1979
|
)
|
|
1757
1980
|
] });
|
|
1758
1981
|
};
|
|
1759
1982
|
ProfileToggleTheme.displayName = "ProfileToggleTheme";
|
|
1760
|
-
var ProfileMenuSection = (0,
|
|
1761
|
-
return /* @__PURE__ */ (0,
|
|
1983
|
+
var ProfileMenuSection = (0, import_react8.forwardRef)(({ className, children, store: _store, ...props }, ref) => {
|
|
1984
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { ref, className: cn("flex flex-col p-2", className), ...props, children });
|
|
1762
1985
|
});
|
|
1763
1986
|
ProfileMenuSection.displayName = "ProfileMenuSection";
|
|
1764
1987
|
var ProfileMenuFooter = ({
|
|
@@ -1770,7 +1993,7 @@ var ProfileMenuFooter = ({
|
|
|
1770
1993
|
}) => {
|
|
1771
1994
|
const store = useDropdownStore(externalStore);
|
|
1772
1995
|
const setOpen = (0, import_zustand2.useStore)(store, (s) => s.setOpen);
|
|
1773
|
-
return /* @__PURE__ */ (0,
|
|
1996
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
1774
1997
|
Button_default,
|
|
1775
1998
|
{
|
|
1776
1999
|
variant: "outline",
|
|
@@ -1782,8 +2005,8 @@ var ProfileMenuFooter = ({
|
|
|
1782
2005
|
},
|
|
1783
2006
|
...props,
|
|
1784
2007
|
children: [
|
|
1785
|
-
/* @__PURE__ */ (0,
|
|
1786
|
-
/* @__PURE__ */ (0,
|
|
2008
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "mr-2 flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_phosphor_react5.SignOut, { className: "text-inherit" }) }),
|
|
2009
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Text_default, { color: "inherit", children: "Sair" })
|
|
1787
2010
|
]
|
|
1788
2011
|
}
|
|
1789
2012
|
);
|
|
@@ -1792,7 +2015,7 @@ ProfileMenuFooter.displayName = "ProfileMenuFooter";
|
|
|
1792
2015
|
var DropdownMenu_default = DropdownMenu;
|
|
1793
2016
|
|
|
1794
2017
|
// src/components/Search/Search.tsx
|
|
1795
|
-
var
|
|
2018
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
1796
2019
|
var filterOptions = (options, query) => {
|
|
1797
2020
|
if (!query || query.length < 1) return [];
|
|
1798
2021
|
return options.filter(
|
|
@@ -1817,7 +2040,7 @@ var updateInputValue = (value, ref, onChange) => {
|
|
|
1817
2040
|
onChange(event);
|
|
1818
2041
|
}
|
|
1819
2042
|
};
|
|
1820
|
-
var Search = (0,
|
|
2043
|
+
var Search = (0, import_react9.forwardRef)(
|
|
1821
2044
|
({
|
|
1822
2045
|
options = [],
|
|
1823
2046
|
onSelect,
|
|
@@ -1838,13 +2061,13 @@ var Search = (0, import_react8.forwardRef)(
|
|
|
1838
2061
|
onKeyDown: userOnKeyDown,
|
|
1839
2062
|
...props
|
|
1840
2063
|
}, ref) => {
|
|
1841
|
-
const [dropdownOpen, setDropdownOpen] = (0,
|
|
1842
|
-
const [forceClose, setForceClose] = (0,
|
|
1843
|
-
const justSelectedRef = (0,
|
|
1844
|
-
const dropdownStore = (0,
|
|
1845
|
-
const dropdownRef = (0,
|
|
1846
|
-
const inputElRef = (0,
|
|
1847
|
-
const filteredOptions = (0,
|
|
2064
|
+
const [dropdownOpen, setDropdownOpen] = (0, import_react9.useState)(false);
|
|
2065
|
+
const [forceClose, setForceClose] = (0, import_react9.useState)(false);
|
|
2066
|
+
const justSelectedRef = (0, import_react9.useRef)(false);
|
|
2067
|
+
const dropdownStore = (0, import_react9.useRef)(createDropdownStore()).current;
|
|
2068
|
+
const dropdownRef = (0, import_react9.useRef)(null);
|
|
2069
|
+
const inputElRef = (0, import_react9.useRef)(null);
|
|
2070
|
+
const filteredOptions = (0, import_react9.useMemo)(() => {
|
|
1848
2071
|
if (!options.length) {
|
|
1849
2072
|
return [];
|
|
1850
2073
|
}
|
|
@@ -1857,7 +2080,7 @@ var Search = (0, import_react8.forwardRef)(
|
|
|
1857
2080
|
dropdownStore.setState({ open });
|
|
1858
2081
|
onDropdownChange?.(open);
|
|
1859
2082
|
};
|
|
1860
|
-
(0,
|
|
2083
|
+
(0, import_react9.useEffect)(() => {
|
|
1861
2084
|
if (justSelectedRef.current) {
|
|
1862
2085
|
justSelectedRef.current = false;
|
|
1863
2086
|
return;
|
|
@@ -1876,7 +2099,7 @@ var Search = (0, import_react8.forwardRef)(
|
|
|
1876
2099
|
setOpenAndNotify(false);
|
|
1877
2100
|
updateInputValue(option, ref, onChange);
|
|
1878
2101
|
};
|
|
1879
|
-
(0,
|
|
2102
|
+
(0, import_react9.useEffect)(() => {
|
|
1880
2103
|
const handleClickOutside = (event) => {
|
|
1881
2104
|
if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
|
|
1882
2105
|
setOpenAndNotify(false);
|
|
@@ -1889,7 +2112,7 @@ var Search = (0, import_react8.forwardRef)(
|
|
|
1889
2112
|
document.removeEventListener("mousedown", handleClickOutside);
|
|
1890
2113
|
};
|
|
1891
2114
|
}, [showDropdown, dropdownStore, onDropdownChange]);
|
|
1892
|
-
const generatedId = (0,
|
|
2115
|
+
const generatedId = (0, import_react9.useId)();
|
|
1893
2116
|
const inputId = id ?? `search-${generatedId}`;
|
|
1894
2117
|
const dropdownId = `${inputId}-dropdown`;
|
|
1895
2118
|
const handleClear = () => {
|
|
@@ -1938,14 +2161,14 @@ var Search = (0, import_react8.forwardRef)(
|
|
|
1938
2161
|
const hasValue = String(value ?? "").length > 0;
|
|
1939
2162
|
const showClearButton = hasValue && !disabled && !readOnly;
|
|
1940
2163
|
const showSearchIcon = !hasValue && !disabled && !readOnly;
|
|
1941
|
-
return /* @__PURE__ */ (0,
|
|
2164
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
1942
2165
|
"div",
|
|
1943
2166
|
{
|
|
1944
2167
|
ref: dropdownRef,
|
|
1945
2168
|
className: `w-full max-w-lg md:w-[488px] ${containerClassName}`,
|
|
1946
2169
|
children: [
|
|
1947
|
-
/* @__PURE__ */ (0,
|
|
1948
|
-
/* @__PURE__ */ (0,
|
|
2170
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "relative flex items-center", children: [
|
|
2171
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
1949
2172
|
"input",
|
|
1950
2173
|
{
|
|
1951
2174
|
ref: (node) => {
|
|
@@ -1973,35 +2196,35 @@ var Search = (0, import_react8.forwardRef)(
|
|
|
1973
2196
|
...props
|
|
1974
2197
|
}
|
|
1975
2198
|
),
|
|
1976
|
-
showClearButton && /* @__PURE__ */ (0,
|
|
2199
|
+
showClearButton && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "absolute right-3 top-1/2 transform -translate-y-1/2", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
1977
2200
|
"button",
|
|
1978
2201
|
{
|
|
1979
2202
|
type: "button",
|
|
1980
2203
|
className: "p-0 border-0 bg-transparent cursor-pointer",
|
|
1981
2204
|
onMouseDown: handleClearClick,
|
|
1982
2205
|
"aria-label": "Limpar busca",
|
|
1983
|
-
children: /* @__PURE__ */ (0,
|
|
2206
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "w-6 h-6 text-text-800 flex items-center justify-center hover:text-text-600 transition-colors", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_phosphor_react6.X, {}) })
|
|
1984
2207
|
}
|
|
1985
2208
|
) }),
|
|
1986
|
-
showSearchIcon && /* @__PURE__ */ (0,
|
|
2209
|
+
showSearchIcon && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "absolute right-3 top-1/2 transform -translate-y-1/2", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
1987
2210
|
"button",
|
|
1988
2211
|
{
|
|
1989
2212
|
type: "button",
|
|
1990
2213
|
className: "p-0 border-0 bg-transparent cursor-pointer",
|
|
1991
2214
|
onMouseDown: handleSearchIconClick,
|
|
1992
2215
|
"aria-label": "Buscar",
|
|
1993
|
-
children: /* @__PURE__ */ (0,
|
|
2216
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "w-6 h-6 text-text-800 flex items-center justify-center hover:text-text-600 transition-colors", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_phosphor_react6.MagnifyingGlass, {}) })
|
|
1994
2217
|
}
|
|
1995
2218
|
) })
|
|
1996
2219
|
] }),
|
|
1997
|
-
showDropdown && /* @__PURE__ */ (0,
|
|
2220
|
+
showDropdown && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(DropdownMenu_default, { open: showDropdown, onOpenChange: setDropdownOpen, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
1998
2221
|
DropdownMenuContent,
|
|
1999
2222
|
{
|
|
2000
2223
|
id: dropdownId,
|
|
2001
2224
|
className: "w-full mt-1",
|
|
2002
2225
|
style: { maxHeight: dropdownMaxHeight },
|
|
2003
2226
|
align: "start",
|
|
2004
|
-
children: filteredOptions.length > 0 ? filteredOptions.map((option) => /* @__PURE__ */ (0,
|
|
2227
|
+
children: filteredOptions.length > 0 ? filteredOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
2005
2228
|
DropdownMenuItem,
|
|
2006
2229
|
{
|
|
2007
2230
|
onClick: () => handleSelectOption(option),
|
|
@@ -2009,7 +2232,7 @@ var Search = (0, import_react8.forwardRef)(
|
|
|
2009
2232
|
children: option
|
|
2010
2233
|
},
|
|
2011
2234
|
option
|
|
2012
|
-
)) : /* @__PURE__ */ (0,
|
|
2235
|
+
)) : /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "px-3 py-3 text-text-700 text-base", children: noResultsText })
|
|
2013
2236
|
}
|
|
2014
2237
|
) })
|
|
2015
2238
|
]
|
|
@@ -2021,11 +2244,11 @@ Search.displayName = "Search";
|
|
|
2021
2244
|
var Search_default = Search;
|
|
2022
2245
|
|
|
2023
2246
|
// src/components/CheckBoxGroup/CheckBoxGroup.tsx
|
|
2024
|
-
var
|
|
2247
|
+
var import_react15 = require("react");
|
|
2025
2248
|
|
|
2026
2249
|
// src/components/Badge/Badge.tsx
|
|
2027
2250
|
var import_phosphor_react7 = require("phosphor-react");
|
|
2028
|
-
var
|
|
2251
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
2029
2252
|
var VARIANT_ACTION_CLASSES2 = {
|
|
2030
2253
|
solid: {
|
|
2031
2254
|
error: "bg-error-background text-error-700 focus-visible:outline-none",
|
|
@@ -2087,14 +2310,14 @@ var Badge = ({
|
|
|
2087
2310
|
const baseClasses = "inline-flex items-center justify-center rounded-xs font-normal gap-1 relative";
|
|
2088
2311
|
const baseClassesIcon = "flex items-center";
|
|
2089
2312
|
if (variant === "notification") {
|
|
2090
|
-
return /* @__PURE__ */ (0,
|
|
2313
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
2091
2314
|
"div",
|
|
2092
2315
|
{
|
|
2093
2316
|
className: cn(baseClasses, variantClasses, sizeClasses, className),
|
|
2094
2317
|
...props,
|
|
2095
2318
|
children: [
|
|
2096
|
-
/* @__PURE__ */ (0,
|
|
2097
|
-
notificationActive && /* @__PURE__ */ (0,
|
|
2319
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_phosphor_react7.Bell, { size: 24, className: "text-current", "aria-hidden": "true" }),
|
|
2320
|
+
notificationActive && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2098
2321
|
"span",
|
|
2099
2322
|
{
|
|
2100
2323
|
"data-testid": "notification-dot",
|
|
@@ -2105,15 +2328,15 @@ var Badge = ({
|
|
|
2105
2328
|
}
|
|
2106
2329
|
);
|
|
2107
2330
|
}
|
|
2108
|
-
return /* @__PURE__ */ (0,
|
|
2331
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
2109
2332
|
"div",
|
|
2110
2333
|
{
|
|
2111
2334
|
className: cn(baseClasses, variantClasses, sizeClasses, className),
|
|
2112
2335
|
...props,
|
|
2113
2336
|
children: [
|
|
2114
|
-
iconLeft && /* @__PURE__ */ (0,
|
|
2337
|
+
iconLeft && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: cn(baseClassesIcon, sizeClassesIcon), children: iconLeft }),
|
|
2115
2338
|
children,
|
|
2116
|
-
iconRight && /* @__PURE__ */ (0,
|
|
2339
|
+
iconRight && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: cn(baseClassesIcon, sizeClassesIcon), children: iconRight })
|
|
2117
2340
|
]
|
|
2118
2341
|
}
|
|
2119
2342
|
);
|
|
@@ -2121,9 +2344,9 @@ var Badge = ({
|
|
|
2121
2344
|
var Badge_default = Badge;
|
|
2122
2345
|
|
|
2123
2346
|
// src/components/CheckBox/CheckBox.tsx
|
|
2124
|
-
var
|
|
2347
|
+
var import_react10 = require("react");
|
|
2125
2348
|
var import_phosphor_react8 = require("phosphor-react");
|
|
2126
|
-
var
|
|
2349
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
2127
2350
|
var SIZE_CLASSES4 = {
|
|
2128
2351
|
small: {
|
|
2129
2352
|
checkbox: "w-4 h-4",
|
|
@@ -2183,7 +2406,7 @@ var STATE_CLASSES = {
|
|
|
2183
2406
|
checked: "border-primary-600 bg-primary-600 text-text cursor-not-allowed opacity-40"
|
|
2184
2407
|
}
|
|
2185
2408
|
};
|
|
2186
|
-
var CheckBox = (0,
|
|
2409
|
+
var CheckBox = (0, import_react10.forwardRef)(
|
|
2187
2410
|
({
|
|
2188
2411
|
label,
|
|
2189
2412
|
size = "medium",
|
|
@@ -2199,9 +2422,9 @@ var CheckBox = (0, import_react9.forwardRef)(
|
|
|
2199
2422
|
onChange,
|
|
2200
2423
|
...props
|
|
2201
2424
|
}, ref) => {
|
|
2202
|
-
const generatedId = (0,
|
|
2425
|
+
const generatedId = (0, import_react10.useId)();
|
|
2203
2426
|
const inputId = id ?? `checkbox-${generatedId}`;
|
|
2204
|
-
const [internalChecked, setInternalChecked] = (0,
|
|
2427
|
+
const [internalChecked, setInternalChecked] = (0, import_react10.useState)(false);
|
|
2205
2428
|
const isControlled = checkedProp !== void 0;
|
|
2206
2429
|
const checked = isControlled ? checkedProp : internalChecked;
|
|
2207
2430
|
const handleChange = (event) => {
|
|
@@ -2224,7 +2447,7 @@ var CheckBox = (0, import_react9.forwardRef)(
|
|
|
2224
2447
|
);
|
|
2225
2448
|
const renderIcon = () => {
|
|
2226
2449
|
if (indeterminate) {
|
|
2227
|
-
return /* @__PURE__ */ (0,
|
|
2450
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
2228
2451
|
import_phosphor_react8.Minus,
|
|
2229
2452
|
{
|
|
2230
2453
|
size: sizeClasses.iconSize,
|
|
@@ -2234,7 +2457,7 @@ var CheckBox = (0, import_react9.forwardRef)(
|
|
|
2234
2457
|
);
|
|
2235
2458
|
}
|
|
2236
2459
|
if (checked) {
|
|
2237
|
-
return /* @__PURE__ */ (0,
|
|
2460
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
2238
2461
|
import_phosphor_react8.Check,
|
|
2239
2462
|
{
|
|
2240
2463
|
size: sizeClasses.iconSize,
|
|
@@ -2245,8 +2468,8 @@ var CheckBox = (0, import_react9.forwardRef)(
|
|
|
2245
2468
|
}
|
|
2246
2469
|
return null;
|
|
2247
2470
|
};
|
|
2248
|
-
return /* @__PURE__ */ (0,
|
|
2249
|
-
/* @__PURE__ */ (0,
|
|
2471
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "flex flex-col", children: [
|
|
2472
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
|
|
2250
2473
|
"div",
|
|
2251
2474
|
{
|
|
2252
2475
|
className: cn(
|
|
@@ -2255,7 +2478,7 @@ var CheckBox = (0, import_react9.forwardRef)(
|
|
|
2255
2478
|
disabled ? "opacity-40" : ""
|
|
2256
2479
|
),
|
|
2257
2480
|
children: [
|
|
2258
|
-
/* @__PURE__ */ (0,
|
|
2481
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
2259
2482
|
"input",
|
|
2260
2483
|
{
|
|
2261
2484
|
ref,
|
|
@@ -2268,15 +2491,15 @@ var CheckBox = (0, import_react9.forwardRef)(
|
|
|
2268
2491
|
...props
|
|
2269
2492
|
}
|
|
2270
2493
|
),
|
|
2271
|
-
/* @__PURE__ */ (0,
|
|
2272
|
-
label && /* @__PURE__ */ (0,
|
|
2494
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("label", { htmlFor: inputId, className: checkboxClasses, children: renderIcon() }),
|
|
2495
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
2273
2496
|
"div",
|
|
2274
2497
|
{
|
|
2275
2498
|
className: cn(
|
|
2276
2499
|
"flex flex-row items-center",
|
|
2277
2500
|
sizeClasses.labelHeight
|
|
2278
2501
|
),
|
|
2279
|
-
children: /* @__PURE__ */ (0,
|
|
2502
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
2280
2503
|
Text_default,
|
|
2281
2504
|
{
|
|
2282
2505
|
as: "label",
|
|
@@ -2295,7 +2518,7 @@ var CheckBox = (0, import_react9.forwardRef)(
|
|
|
2295
2518
|
]
|
|
2296
2519
|
}
|
|
2297
2520
|
),
|
|
2298
|
-
errorMessage && /* @__PURE__ */ (0,
|
|
2521
|
+
errorMessage && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
2299
2522
|
Text_default,
|
|
2300
2523
|
{
|
|
2301
2524
|
size: "sm",
|
|
@@ -2305,7 +2528,7 @@ var CheckBox = (0, import_react9.forwardRef)(
|
|
|
2305
2528
|
children: errorMessage
|
|
2306
2529
|
}
|
|
2307
2530
|
),
|
|
2308
|
-
helperText && !errorMessage && /* @__PURE__ */ (0,
|
|
2531
|
+
helperText && !errorMessage && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
2309
2532
|
Text_default,
|
|
2310
2533
|
{
|
|
2311
2534
|
size: "sm",
|
|
@@ -2322,7 +2545,7 @@ CheckBox.displayName = "CheckBox";
|
|
|
2322
2545
|
var CheckBox_default = CheckBox;
|
|
2323
2546
|
|
|
2324
2547
|
// src/components/Divider/Divider.tsx
|
|
2325
|
-
var
|
|
2548
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
2326
2549
|
var Divider = ({
|
|
2327
2550
|
orientation = "horizontal",
|
|
2328
2551
|
className = "",
|
|
@@ -2333,7 +2556,7 @@ var Divider = ({
|
|
|
2333
2556
|
horizontal: "w-full h-px",
|
|
2334
2557
|
vertical: "h-full w-px"
|
|
2335
2558
|
};
|
|
2336
|
-
return /* @__PURE__ */ (0,
|
|
2559
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
2337
2560
|
"hr",
|
|
2338
2561
|
{
|
|
2339
2562
|
className: cn(baseClasses, orientationClasses[orientation], className),
|
|
@@ -2345,7 +2568,7 @@ var Divider = ({
|
|
|
2345
2568
|
var Divider_default = Divider;
|
|
2346
2569
|
|
|
2347
2570
|
// src/components/ProgressBar/ProgressBar.tsx
|
|
2348
|
-
var
|
|
2571
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
2349
2572
|
var SIZE_CLASSES5 = {
|
|
2350
2573
|
small: {
|
|
2351
2574
|
container: "h-1",
|
|
@@ -2457,20 +2680,20 @@ var renderStackedHitCountDisplay = (showHitCount, showPercentage, clampedValue,
|
|
|
2457
2680
|
max,
|
|
2458
2681
|
percentage
|
|
2459
2682
|
);
|
|
2460
|
-
return /* @__PURE__ */ (0,
|
|
2683
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
2461
2684
|
"div",
|
|
2462
2685
|
{
|
|
2463
2686
|
className: cn(
|
|
2464
2687
|
"text-xs font-medium leading-[14px] text-right",
|
|
2465
2688
|
percentageClassName
|
|
2466
2689
|
),
|
|
2467
|
-
children: displayPriority.type === "hitCount" ? /* @__PURE__ */ (0,
|
|
2468
|
-
/* @__PURE__ */ (0,
|
|
2469
|
-
/* @__PURE__ */ (0,
|
|
2690
|
+
children: displayPriority.type === "hitCount" ? /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_jsx_runtime16.Fragment, { children: [
|
|
2691
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "text-success-200", children: Math.round(clampedValue) }),
|
|
2692
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("span", { className: "text-text-600", children: [
|
|
2470
2693
|
" de ",
|
|
2471
2694
|
max
|
|
2472
2695
|
] })
|
|
2473
|
-
] }) : /* @__PURE__ */ (0,
|
|
2696
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(Text_default, { size: "xs", weight: "medium", className: "text-success-200", children: [
|
|
2474
2697
|
Math.round(percentage),
|
|
2475
2698
|
"%"
|
|
2476
2699
|
] })
|
|
@@ -2485,7 +2708,7 @@ var ProgressBarBase = ({
|
|
|
2485
2708
|
variantClasses,
|
|
2486
2709
|
containerClassName,
|
|
2487
2710
|
fillClassName
|
|
2488
|
-
}) => /* @__PURE__ */ (0,
|
|
2711
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
2489
2712
|
"div",
|
|
2490
2713
|
{
|
|
2491
2714
|
className: cn(
|
|
@@ -2494,7 +2717,7 @@ var ProgressBarBase = ({
|
|
|
2494
2717
|
"overflow-hidden relative"
|
|
2495
2718
|
),
|
|
2496
2719
|
children: [
|
|
2497
|
-
/* @__PURE__ */ (0,
|
|
2720
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
2498
2721
|
"progress",
|
|
2499
2722
|
{
|
|
2500
2723
|
value: clampedValue,
|
|
@@ -2503,7 +2726,7 @@ var ProgressBarBase = ({
|
|
|
2503
2726
|
className: "absolute inset-0 w-full h-full opacity-0"
|
|
2504
2727
|
}
|
|
2505
2728
|
),
|
|
2506
|
-
/* @__PURE__ */ (0,
|
|
2729
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
2507
2730
|
"div",
|
|
2508
2731
|
{
|
|
2509
2732
|
className: cn(
|
|
@@ -2529,7 +2752,7 @@ var StackedLayout = ({
|
|
|
2529
2752
|
percentage,
|
|
2530
2753
|
variantClasses,
|
|
2531
2754
|
dimensions
|
|
2532
|
-
}) => /* @__PURE__ */ (0,
|
|
2755
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
2533
2756
|
"div",
|
|
2534
2757
|
{
|
|
2535
2758
|
className: cn(
|
|
@@ -2539,8 +2762,8 @@ var StackedLayout = ({
|
|
|
2539
2762
|
className
|
|
2540
2763
|
),
|
|
2541
2764
|
children: [
|
|
2542
|
-
shouldShowHeader(label, showPercentage, showHitCount) && /* @__PURE__ */ (0,
|
|
2543
|
-
label && /* @__PURE__ */ (0,
|
|
2765
|
+
shouldShowHeader(label, showPercentage, showHitCount) && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex flex-row justify-between items-center w-full h-[19px]", children: [
|
|
2766
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
2544
2767
|
Text_default,
|
|
2545
2768
|
{
|
|
2546
2769
|
as: "div",
|
|
@@ -2559,7 +2782,7 @@ var StackedLayout = ({
|
|
|
2559
2782
|
percentageClassName
|
|
2560
2783
|
)
|
|
2561
2784
|
] }),
|
|
2562
|
-
/* @__PURE__ */ (0,
|
|
2785
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
2563
2786
|
ProgressBarBase,
|
|
2564
2787
|
{
|
|
2565
2788
|
clampedValue,
|
|
@@ -2601,7 +2824,7 @@ var CompactLayout = ({
|
|
|
2601
2824
|
percentageClassName,
|
|
2602
2825
|
labelClassName
|
|
2603
2826
|
});
|
|
2604
|
-
return /* @__PURE__ */ (0,
|
|
2827
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
2605
2828
|
"div",
|
|
2606
2829
|
{
|
|
2607
2830
|
className: cn(
|
|
@@ -2611,7 +2834,7 @@ var CompactLayout = ({
|
|
|
2611
2834
|
className
|
|
2612
2835
|
),
|
|
2613
2836
|
children: [
|
|
2614
|
-
shouldShowHeader(label, showPercentage, showHitCount) && /* @__PURE__ */ (0,
|
|
2837
|
+
shouldShowHeader(label, showPercentage, showHitCount) && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
2615
2838
|
Text_default,
|
|
2616
2839
|
{
|
|
2617
2840
|
as: "div",
|
|
@@ -2622,7 +2845,7 @@ var CompactLayout = ({
|
|
|
2622
2845
|
children: content
|
|
2623
2846
|
}
|
|
2624
2847
|
),
|
|
2625
|
-
/* @__PURE__ */ (0,
|
|
2848
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
2626
2849
|
ProgressBarBase,
|
|
2627
2850
|
{
|
|
2628
2851
|
clampedValue,
|
|
@@ -2658,9 +2881,9 @@ var DefaultLayout = ({
|
|
|
2658
2881
|
label,
|
|
2659
2882
|
showPercentage
|
|
2660
2883
|
);
|
|
2661
|
-
return /* @__PURE__ */ (0,
|
|
2662
|
-
displayConfig.showHeader && /* @__PURE__ */ (0,
|
|
2663
|
-
label && /* @__PURE__ */ (0,
|
|
2884
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: cn("flex", sizeClasses.layout, gapClass, className), children: [
|
|
2885
|
+
displayConfig.showHeader && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex flex-row items-center justify-between w-full", children: [
|
|
2886
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
2664
2887
|
Text_default,
|
|
2665
2888
|
{
|
|
2666
2889
|
as: "div",
|
|
@@ -2673,7 +2896,7 @@ var DefaultLayout = ({
|
|
|
2673
2896
|
children: label
|
|
2674
2897
|
}
|
|
2675
2898
|
),
|
|
2676
|
-
showPercentage && /* @__PURE__ */ (0,
|
|
2899
|
+
showPercentage && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
2677
2900
|
Text_default,
|
|
2678
2901
|
{
|
|
2679
2902
|
size: "xs",
|
|
@@ -2689,7 +2912,7 @@ var DefaultLayout = ({
|
|
|
2689
2912
|
}
|
|
2690
2913
|
)
|
|
2691
2914
|
] }),
|
|
2692
|
-
/* @__PURE__ */ (0,
|
|
2915
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
2693
2916
|
ProgressBarBase,
|
|
2694
2917
|
{
|
|
2695
2918
|
clampedValue,
|
|
@@ -2709,7 +2932,7 @@ var DefaultLayout = ({
|
|
|
2709
2932
|
)
|
|
2710
2933
|
}
|
|
2711
2934
|
),
|
|
2712
|
-
displayConfig.showPercentage && /* @__PURE__ */ (0,
|
|
2935
|
+
displayConfig.showPercentage && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
2713
2936
|
Text_default,
|
|
2714
2937
|
{
|
|
2715
2938
|
size: "xs",
|
|
@@ -2724,7 +2947,7 @@ var DefaultLayout = ({
|
|
|
2724
2947
|
]
|
|
2725
2948
|
}
|
|
2726
2949
|
),
|
|
2727
|
-
displayConfig.showLabel && /* @__PURE__ */ (0,
|
|
2950
|
+
displayConfig.showLabel && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
2728
2951
|
Text_default,
|
|
2729
2952
|
{
|
|
2730
2953
|
as: "div",
|
|
@@ -2760,7 +2983,7 @@ var ProgressBar = ({
|
|
|
2760
2983
|
const sizeClasses = SIZE_CLASSES5[size];
|
|
2761
2984
|
const variantClasses = VARIANT_CLASSES[variant];
|
|
2762
2985
|
if (layout === "stacked") {
|
|
2763
|
-
return /* @__PURE__ */ (0,
|
|
2986
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
2764
2987
|
StackedLayout,
|
|
2765
2988
|
{
|
|
2766
2989
|
className,
|
|
@@ -2781,7 +3004,7 @@ var ProgressBar = ({
|
|
|
2781
3004
|
);
|
|
2782
3005
|
}
|
|
2783
3006
|
if (layout === "compact") {
|
|
2784
|
-
return /* @__PURE__ */ (0,
|
|
3007
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
2785
3008
|
CompactLayout,
|
|
2786
3009
|
{
|
|
2787
3010
|
className,
|
|
@@ -2801,7 +3024,7 @@ var ProgressBar = ({
|
|
|
2801
3024
|
}
|
|
2802
3025
|
);
|
|
2803
3026
|
}
|
|
2804
|
-
return /* @__PURE__ */ (0,
|
|
3027
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
2805
3028
|
DefaultLayout,
|
|
2806
3029
|
{
|
|
2807
3030
|
className,
|
|
@@ -2821,8 +3044,8 @@ var ProgressBar = ({
|
|
|
2821
3044
|
var ProgressBar_default = ProgressBar;
|
|
2822
3045
|
|
|
2823
3046
|
// src/assets/icons/subjects/ChatEN.tsx
|
|
2824
|
-
var
|
|
2825
|
-
var ChatEN = ({ size, color }) => /* @__PURE__ */ (0,
|
|
3047
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
3048
|
+
var ChatEN = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
2826
3049
|
"svg",
|
|
2827
3050
|
{
|
|
2828
3051
|
width: size,
|
|
@@ -2831,21 +3054,21 @@ var ChatEN = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)
|
|
|
2831
3054
|
fill: "none",
|
|
2832
3055
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2833
3056
|
children: [
|
|
2834
|
-
/* @__PURE__ */ (0,
|
|
3057
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
2835
3058
|
"path",
|
|
2836
3059
|
{
|
|
2837
3060
|
d: "M27 6H5.00004C4.4696 6 3.9609 6.21071 3.58582 6.58579C3.21075 6.96086 3.00004 7.46957 3.00004 8V28C2.99773 28.3814 3.10562 28.7553 3.31074 29.0768C3.51585 29.3984 3.80947 29.6538 4.15629 29.8125C4.42057 29.9356 4.7085 29.9995 5.00004 30C5.46954 29.9989 5.92347 29.8315 6.28129 29.5275L6.29254 29.5187L10.375 26H27C27.5305 26 28.0392 25.7893 28.4142 25.4142C28.7893 25.0391 29 24.5304 29 24V8C29 7.46957 28.7893 6.96086 28.4142 6.58579C28.0392 6.21071 27.5305 6 27 6ZM27 24H10C9.75992 24.0001 9.52787 24.0866 9.34629 24.2437L5.00004 28V8H27V24Z",
|
|
2838
3061
|
fill: color
|
|
2839
3062
|
}
|
|
2840
3063
|
),
|
|
2841
|
-
/* @__PURE__ */ (0,
|
|
3064
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
2842
3065
|
"path",
|
|
2843
3066
|
{
|
|
2844
3067
|
d: "M22.5488 12V20.5312H21.0781L17.252 14.4199V20.5312H15.7812V12H17.252L21.0898 18.123V12H22.5488Z",
|
|
2845
3068
|
fill: color
|
|
2846
3069
|
}
|
|
2847
3070
|
),
|
|
2848
|
-
/* @__PURE__ */ (0,
|
|
3071
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
2849
3072
|
"path",
|
|
2850
3073
|
{
|
|
2851
3074
|
d: "M14.584 19.3652V20.5312H10.0547V19.3652H14.584ZM10.4707 12V20.5312H9V12H10.4707ZM13.9922 15.5625V16.7109H10.0547V15.5625H13.9922ZM14.5547 12V13.1719H10.0547V12H14.5547Z",
|
|
@@ -2857,8 +3080,8 @@ var ChatEN = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)
|
|
|
2857
3080
|
);
|
|
2858
3081
|
|
|
2859
3082
|
// src/assets/icons/subjects/ChatES.tsx
|
|
2860
|
-
var
|
|
2861
|
-
var ChatES = ({ size, color }) => /* @__PURE__ */ (0,
|
|
3083
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
3084
|
+
var ChatES = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
2862
3085
|
"svg",
|
|
2863
3086
|
{
|
|
2864
3087
|
width: size,
|
|
@@ -2867,21 +3090,21 @@ var ChatES = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)
|
|
|
2867
3090
|
fill: "none",
|
|
2868
3091
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2869
3092
|
children: [
|
|
2870
|
-
/* @__PURE__ */ (0,
|
|
3093
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
2871
3094
|
"path",
|
|
2872
3095
|
{
|
|
2873
3096
|
d: "M27 6H5.00004C4.4696 6 3.9609 6.21071 3.58582 6.58579C3.21075 6.96086 3.00004 7.46957 3.00004 8V28C2.99773 28.3814 3.10562 28.7553 3.31074 29.0768C3.51585 29.3984 3.80947 29.6538 4.15629 29.8125C4.42057 29.9356 4.7085 29.9995 5.00004 30C5.46954 29.9989 5.92347 29.8315 6.28129 29.5275L6.29254 29.5187L10.375 26H27C27.5305 26 28.0392 25.7893 28.4142 25.4142C28.7893 25.0391 29 24.5304 29 24V8C29 7.46957 28.7893 6.96086 28.4142 6.58579C28.0392 6.21071 27.5305 6 27 6ZM27 24H10C9.75992 24.0001 9.52787 24.0866 9.34629 24.2437L5.00004 28V8H27V24Z",
|
|
2874
3097
|
fill: color
|
|
2875
3098
|
}
|
|
2876
3099
|
),
|
|
2877
|
-
/* @__PURE__ */ (0,
|
|
3100
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
2878
3101
|
"path",
|
|
2879
3102
|
{
|
|
2880
3103
|
d: "M21.1426 17.8027C21.1426 17.627 21.1152 17.4707 21.0605 17.334C21.0098 17.1973 20.918 17.0723 20.7852 16.959C20.6523 16.8457 20.4648 16.7363 20.2227 16.6309C19.9844 16.5215 19.6797 16.4102 19.3086 16.2969C18.9023 16.1719 18.5273 16.0332 18.1836 15.8809C17.8438 15.7246 17.5469 15.5449 17.293 15.3418C17.0391 15.1348 16.8418 14.8984 16.7012 14.6328C16.5605 14.3633 16.4902 14.0527 16.4902 13.7012C16.4902 13.3535 16.5625 13.0371 16.707 12.752C16.8555 12.4668 17.0645 12.2207 17.334 12.0137C17.6074 11.8027 17.9297 11.6406 18.3008 11.5273C18.6719 11.4102 19.082 11.3516 19.5312 11.3516C20.1641 11.3516 20.709 11.4688 21.166 11.7031C21.627 11.9375 21.9805 12.252 22.2266 12.6465C22.4766 13.041 22.6016 13.4766 22.6016 13.9531H21.1426C21.1426 13.6719 21.082 13.4238 20.9609 13.209C20.8438 12.9902 20.6641 12.8184 20.4219 12.6934C20.1836 12.5684 19.8809 12.5059 19.5137 12.5059C19.166 12.5059 18.877 12.5586 18.6465 12.6641C18.416 12.7695 18.2441 12.9121 18.1309 13.0918C18.0176 13.2715 17.9609 13.4746 17.9609 13.7012C17.9609 13.8613 17.998 14.0078 18.0723 14.1406C18.1465 14.2695 18.2598 14.3906 18.4121 14.5039C18.5645 14.6133 18.7559 14.7168 18.9863 14.8145C19.2168 14.9121 19.4883 15.0059 19.8008 15.0957C20.2734 15.2363 20.6855 15.3926 21.0371 15.5645C21.3887 15.7324 21.6816 15.9238 21.916 16.1387C22.1504 16.3535 22.3262 16.5977 22.4434 16.8711C22.5605 17.1406 22.6191 17.4473 22.6191 17.791C22.6191 18.1504 22.5469 18.4746 22.4023 18.7637C22.2578 19.0488 22.0508 19.293 21.7812 19.4961C21.5156 19.6953 21.1953 19.8496 20.8203 19.959C20.4492 20.0645 20.0352 20.1172 19.5781 20.1172C19.168 20.1172 18.7637 20.0625 18.3652 19.9531C17.9707 19.8438 17.6113 19.6777 17.2871 19.4551C16.9629 19.2285 16.7051 18.9473 16.5137 18.6113C16.3223 18.2715 16.2266 17.875 16.2266 17.4219H17.6973C17.6973 17.6992 17.7441 17.9355 17.8379 18.1309C17.9355 18.3262 18.0703 18.4863 18.2422 18.6113C18.4141 18.7324 18.6133 18.8223 18.8398 18.8809C19.0703 18.9395 19.3164 18.9688 19.5781 18.9688C19.9219 18.9688 20.209 18.9199 20.4395 18.8223C20.6738 18.7246 20.8496 18.5879 20.9668 18.4121C21.084 18.2363 21.1426 18.0332 21.1426 17.8027Z",
|
|
2881
3104
|
fill: color
|
|
2882
3105
|
}
|
|
2883
3106
|
),
|
|
2884
|
-
/* @__PURE__ */ (0,
|
|
3107
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
2885
3108
|
"path",
|
|
2886
3109
|
{
|
|
2887
3110
|
d: "M15.4512 18.834V20H10.9219V18.834H15.4512ZM11.3379 11.4688V20H9.86719V11.4688H11.3379ZM14.8594 15.0312V16.1797H10.9219V15.0312H14.8594ZM15.4219 11.4688V12.6406H10.9219V11.4688H15.4219Z",
|
|
@@ -2893,8 +3116,8 @@ var ChatES = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)
|
|
|
2893
3116
|
);
|
|
2894
3117
|
|
|
2895
3118
|
// src/assets/icons/subjects/ChatPT.tsx
|
|
2896
|
-
var
|
|
2897
|
-
var ChatPT = ({ size, color }) => /* @__PURE__ */ (0,
|
|
3119
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
3120
|
+
var ChatPT = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
2898
3121
|
"svg",
|
|
2899
3122
|
{
|
|
2900
3123
|
width: size,
|
|
@@ -2903,21 +3126,21 @@ var ChatPT = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)
|
|
|
2903
3126
|
fill: "none",
|
|
2904
3127
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2905
3128
|
children: [
|
|
2906
|
-
/* @__PURE__ */ (0,
|
|
3129
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
2907
3130
|
"path",
|
|
2908
3131
|
{
|
|
2909
3132
|
d: "M27 6H5.00004C4.4696 6 3.9609 6.21071 3.58582 6.58579C3.21075 6.96086 3.00004 7.46957 3.00004 8V28C2.99773 28.3814 3.10562 28.7553 3.31074 29.0768C3.51585 29.3984 3.80947 29.6538 4.15629 29.8125C4.42057 29.9356 4.7085 29.9995 5.00004 30C5.46954 29.9989 5.92347 29.8315 6.28129 29.5275L6.29254 29.5187L10.375 26H27C27.5305 26 28.0392 25.7893 28.4142 25.4142C28.7893 25.0391 29 24.5304 29 24V8C29 7.46957 28.7893 6.96086 28.4142 6.58579C28.0392 6.21071 27.5305 6 27 6ZM27 24H10C9.75992 24.0001 9.52787 24.0866 9.34629 24.2437L5.00004 28V8H27V24Z",
|
|
2910
3133
|
fill: color
|
|
2911
3134
|
}
|
|
2912
3135
|
),
|
|
2913
|
-
/* @__PURE__ */ (0,
|
|
3136
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
2914
3137
|
"path",
|
|
2915
3138
|
{
|
|
2916
3139
|
d: "M21.1758 12V20.5312H19.7168V12H21.1758ZM23.8535 12V13.1719H17.0625V12H23.8535Z",
|
|
2917
3140
|
fill: color
|
|
2918
3141
|
}
|
|
2919
3142
|
),
|
|
2920
|
-
/* @__PURE__ */ (0,
|
|
3143
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
2921
3144
|
"path",
|
|
2922
3145
|
{
|
|
2923
3146
|
d: "M13.2402 17.3496H11.0195V16.1836H13.2402C13.627 16.1836 13.9395 16.1211 14.1777 15.9961C14.416 15.8711 14.5898 15.6992 14.6992 15.4805C14.8125 15.2578 14.8691 15.0039 14.8691 14.7188C14.8691 14.4492 14.8125 14.1973 14.6992 13.9629C14.5898 13.7246 14.416 13.5332 14.1777 13.3887C13.9395 13.2441 13.627 13.1719 13.2402 13.1719H11.4707V20.5312H10V12H13.2402C13.9004 12 14.4609 12.1172 14.9219 12.3516C15.3867 12.582 15.7402 12.9023 15.9824 13.3125C16.2246 13.7188 16.3457 14.1836 16.3457 14.707C16.3457 15.2578 16.2246 15.7305 15.9824 16.125C15.7402 16.5195 15.3867 16.8223 14.9219 17.0332C14.4609 17.2441 13.9004 17.3496 13.2402 17.3496Z",
|
|
@@ -2929,13 +3152,13 @@ var ChatPT = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)
|
|
|
2929
3152
|
);
|
|
2930
3153
|
|
|
2931
3154
|
// src/components/Card/Card.tsx
|
|
2932
|
-
var
|
|
3155
|
+
var import_react12 = require("react");
|
|
2933
3156
|
var import_phosphor_react9 = require("phosphor-react");
|
|
2934
3157
|
|
|
2935
3158
|
// src/components/IconRender/IconRender.tsx
|
|
2936
|
-
var
|
|
3159
|
+
var import_react11 = require("react");
|
|
2937
3160
|
var PhosphorIcons = __toESM(require("phosphor-react"));
|
|
2938
|
-
var
|
|
3161
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
2939
3162
|
var IconRender = ({
|
|
2940
3163
|
iconName,
|
|
2941
3164
|
color = "#000000",
|
|
@@ -2945,18 +3168,18 @@ var IconRender = ({
|
|
|
2945
3168
|
if (typeof iconName === "string") {
|
|
2946
3169
|
switch (iconName) {
|
|
2947
3170
|
case "Chat_PT":
|
|
2948
|
-
return /* @__PURE__ */ (0,
|
|
3171
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ChatPT, { size, color });
|
|
2949
3172
|
case "Chat_EN":
|
|
2950
|
-
return /* @__PURE__ */ (0,
|
|
3173
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ChatEN, { size, color });
|
|
2951
3174
|
case "Chat_ES":
|
|
2952
|
-
return /* @__PURE__ */ (0,
|
|
3175
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ChatES, { size, color });
|
|
2953
3176
|
default: {
|
|
2954
3177
|
const IconComponent = PhosphorIcons[iconName] || PhosphorIcons.Question;
|
|
2955
|
-
return /* @__PURE__ */ (0,
|
|
3178
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(IconComponent, { size, color, weight });
|
|
2956
3179
|
}
|
|
2957
3180
|
}
|
|
2958
3181
|
} else {
|
|
2959
|
-
return (0,
|
|
3182
|
+
return (0, import_react11.cloneElement)(iconName, {
|
|
2960
3183
|
size,
|
|
2961
3184
|
color: "currentColor"
|
|
2962
3185
|
});
|
|
@@ -2965,7 +3188,7 @@ var IconRender = ({
|
|
|
2965
3188
|
var IconRender_default = IconRender;
|
|
2966
3189
|
|
|
2967
3190
|
// src/components/Card/Card.tsx
|
|
2968
|
-
var
|
|
3191
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
2969
3192
|
var CARD_BASE_CLASSES = {
|
|
2970
3193
|
default: "w-full bg-background border border-border-50 rounded-xl",
|
|
2971
3194
|
compact: "w-full bg-background border border-border-50 rounded-lg",
|
|
@@ -2991,7 +3214,7 @@ var CARD_CURSOR_CLASSES = {
|
|
|
2991
3214
|
default: "",
|
|
2992
3215
|
pointer: "cursor-pointer"
|
|
2993
3216
|
};
|
|
2994
|
-
var CardBase = (0,
|
|
3217
|
+
var CardBase = (0, import_react12.forwardRef)(
|
|
2995
3218
|
({
|
|
2996
3219
|
children,
|
|
2997
3220
|
variant = "default",
|
|
@@ -3007,7 +3230,7 @@ var CardBase = (0, import_react11.forwardRef)(
|
|
|
3007
3230
|
const minHeightClasses = CARD_MIN_HEIGHT_CLASSES[minHeight];
|
|
3008
3231
|
const layoutClasses = CARD_LAYOUT_CLASSES[layout];
|
|
3009
3232
|
const cursorClasses = CARD_CURSOR_CLASSES[cursor];
|
|
3010
|
-
return /* @__PURE__ */ (0,
|
|
3233
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3011
3234
|
"div",
|
|
3012
3235
|
{
|
|
3013
3236
|
ref,
|
|
@@ -3049,7 +3272,7 @@ var ACTION_HEADER_CLASSES = {
|
|
|
3049
3272
|
error: "text-error-300",
|
|
3050
3273
|
info: "text-info-300"
|
|
3051
3274
|
};
|
|
3052
|
-
var CardActivitiesResults = (0,
|
|
3275
|
+
var CardActivitiesResults = (0, import_react12.forwardRef)(
|
|
3053
3276
|
({
|
|
3054
3277
|
icon,
|
|
3055
3278
|
title,
|
|
@@ -3065,7 +3288,7 @@ var CardActivitiesResults = (0, import_react11.forwardRef)(
|
|
|
3065
3288
|
const actionIconClasses = ACTION_ICON_CLASSES[action];
|
|
3066
3289
|
const actionSubTitleClasses = ACTION_SUBTITLE_CLASSES[action];
|
|
3067
3290
|
const actionHeaderClasses = ACTION_HEADER_CLASSES[action];
|
|
3068
|
-
return /* @__PURE__ */ (0,
|
|
3291
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
3069
3292
|
"div",
|
|
3070
3293
|
{
|
|
3071
3294
|
ref,
|
|
@@ -3075,7 +3298,7 @@ var CardActivitiesResults = (0, import_react11.forwardRef)(
|
|
|
3075
3298
|
),
|
|
3076
3299
|
...props,
|
|
3077
3300
|
children: [
|
|
3078
|
-
/* @__PURE__ */ (0,
|
|
3301
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
3079
3302
|
"div",
|
|
3080
3303
|
{
|
|
3081
3304
|
className: cn(
|
|
@@ -3084,7 +3307,7 @@ var CardActivitiesResults = (0, import_react11.forwardRef)(
|
|
|
3084
3307
|
extended ? "rounded-t-xl" : "rounded-xl"
|
|
3085
3308
|
),
|
|
3086
3309
|
children: [
|
|
3087
|
-
/* @__PURE__ */ (0,
|
|
3310
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3088
3311
|
"span",
|
|
3089
3312
|
{
|
|
3090
3313
|
className: cn(
|
|
@@ -3094,7 +3317,7 @@ var CardActivitiesResults = (0, import_react11.forwardRef)(
|
|
|
3094
3317
|
children: icon
|
|
3095
3318
|
}
|
|
3096
3319
|
),
|
|
3097
|
-
/* @__PURE__ */ (0,
|
|
3320
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3098
3321
|
Text_default,
|
|
3099
3322
|
{
|
|
3100
3323
|
size: "2xs",
|
|
@@ -3103,7 +3326,7 @@ var CardActivitiesResults = (0, import_react11.forwardRef)(
|
|
|
3103
3326
|
children: title
|
|
3104
3327
|
}
|
|
3105
3328
|
),
|
|
3106
|
-
/* @__PURE__ */ (0,
|
|
3329
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3107
3330
|
"p",
|
|
3108
3331
|
{
|
|
3109
3332
|
className: cn("text-lg font-bold truncate", actionSubTitleClasses),
|
|
@@ -3113,8 +3336,8 @@ var CardActivitiesResults = (0, import_react11.forwardRef)(
|
|
|
3113
3336
|
]
|
|
3114
3337
|
}
|
|
3115
3338
|
),
|
|
3116
|
-
extended && /* @__PURE__ */ (0,
|
|
3117
|
-
/* @__PURE__ */ (0,
|
|
3339
|
+
extended && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex flex-col items-center gap-2.5 pb-9.5 pt-2.5", children: [
|
|
3340
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3118
3341
|
"p",
|
|
3119
3342
|
{
|
|
3120
3343
|
className: cn(
|
|
@@ -3124,14 +3347,14 @@ var CardActivitiesResults = (0, import_react11.forwardRef)(
|
|
|
3124
3347
|
children: header
|
|
3125
3348
|
}
|
|
3126
3349
|
),
|
|
3127
|
-
/* @__PURE__ */ (0,
|
|
3350
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Badge_default, { size: "large", action: "info", children: description })
|
|
3128
3351
|
] })
|
|
3129
3352
|
]
|
|
3130
3353
|
}
|
|
3131
3354
|
);
|
|
3132
3355
|
}
|
|
3133
3356
|
);
|
|
3134
|
-
var CardQuestions = (0,
|
|
3357
|
+
var CardQuestions = (0, import_react12.forwardRef)(
|
|
3135
3358
|
({
|
|
3136
3359
|
header,
|
|
3137
3360
|
state = "undone",
|
|
@@ -3143,7 +3366,7 @@ var CardQuestions = (0, import_react11.forwardRef)(
|
|
|
3143
3366
|
const isDone = state === "done";
|
|
3144
3367
|
const stateLabel = isDone ? "Realizado" : "N\xE3o Realizado";
|
|
3145
3368
|
const buttonLabel = isDone ? "Ver Resultado" : "Responder";
|
|
3146
|
-
return /* @__PURE__ */ (0,
|
|
3369
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
3147
3370
|
CardBase,
|
|
3148
3371
|
{
|
|
3149
3372
|
ref,
|
|
@@ -3153,9 +3376,9 @@ var CardQuestions = (0, import_react11.forwardRef)(
|
|
|
3153
3376
|
className: cn("justify-between gap-4", className),
|
|
3154
3377
|
...props,
|
|
3155
3378
|
children: [
|
|
3156
|
-
/* @__PURE__ */ (0,
|
|
3157
|
-
/* @__PURE__ */ (0,
|
|
3158
|
-
/* @__PURE__ */ (0,
|
|
3379
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("section", { className: "flex flex-col gap-1 flex-1 min-w-0", children: [
|
|
3380
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "font-bold text-xs text-text-950 truncate", children: header }),
|
|
3381
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "flex flex-row gap-6 items-center", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3159
3382
|
Badge_default,
|
|
3160
3383
|
{
|
|
3161
3384
|
size: "medium",
|
|
@@ -3165,7 +3388,7 @@ var CardQuestions = (0, import_react11.forwardRef)(
|
|
|
3165
3388
|
}
|
|
3166
3389
|
) })
|
|
3167
3390
|
] }),
|
|
3168
|
-
/* @__PURE__ */ (0,
|
|
3391
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3169
3392
|
Button_default,
|
|
3170
3393
|
{
|
|
3171
3394
|
size: "extra-small",
|
|
@@ -3179,7 +3402,7 @@ var CardQuestions = (0, import_react11.forwardRef)(
|
|
|
3179
3402
|
);
|
|
3180
3403
|
}
|
|
3181
3404
|
);
|
|
3182
|
-
var CardProgress = (0,
|
|
3405
|
+
var CardProgress = (0, import_react12.forwardRef)(
|
|
3183
3406
|
({
|
|
3184
3407
|
header,
|
|
3185
3408
|
subhead,
|
|
@@ -3196,19 +3419,19 @@ var CardProgress = (0, import_react11.forwardRef)(
|
|
|
3196
3419
|
}, ref) => {
|
|
3197
3420
|
const isHorizontal = direction === "horizontal";
|
|
3198
3421
|
const contentComponent = {
|
|
3199
|
-
horizontal: /* @__PURE__ */ (0,
|
|
3200
|
-
showDates && /* @__PURE__ */ (0,
|
|
3201
|
-
initialDate && /* @__PURE__ */ (0,
|
|
3202
|
-
/* @__PURE__ */ (0,
|
|
3203
|
-
/* @__PURE__ */ (0,
|
|
3422
|
+
horizontal: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment, { children: [
|
|
3423
|
+
showDates && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex flex-row gap-6 items-center", children: [
|
|
3424
|
+
initialDate && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { className: "flex flex-row gap-1 items-center text-2xs", children: [
|
|
3425
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-text-800 font-semibold", children: "In\xEDcio" }),
|
|
3426
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-text-600", children: initialDate })
|
|
3204
3427
|
] }),
|
|
3205
|
-
endDate && /* @__PURE__ */ (0,
|
|
3206
|
-
/* @__PURE__ */ (0,
|
|
3207
|
-
/* @__PURE__ */ (0,
|
|
3428
|
+
endDate && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { className: "flex flex-row gap-1 items-center text-2xs", children: [
|
|
3429
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-text-800 font-semibold", children: "Fim" }),
|
|
3430
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-text-600", children: endDate })
|
|
3208
3431
|
] })
|
|
3209
3432
|
] }),
|
|
3210
|
-
/* @__PURE__ */ (0,
|
|
3211
|
-
/* @__PURE__ */ (0,
|
|
3433
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { className: "grid grid-cols-[1fr_auto] items-center gap-2", children: [
|
|
3434
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3212
3435
|
ProgressBar_default,
|
|
3213
3436
|
{
|
|
3214
3437
|
size: "small",
|
|
@@ -3217,7 +3440,7 @@ var CardProgress = (0, import_react11.forwardRef)(
|
|
|
3217
3440
|
"data-testid": "progress-bar"
|
|
3218
3441
|
}
|
|
3219
3442
|
),
|
|
3220
|
-
/* @__PURE__ */ (0,
|
|
3443
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
3221
3444
|
Text_default,
|
|
3222
3445
|
{
|
|
3223
3446
|
size: "xs",
|
|
@@ -3233,9 +3456,9 @@ var CardProgress = (0, import_react11.forwardRef)(
|
|
|
3233
3456
|
)
|
|
3234
3457
|
] })
|
|
3235
3458
|
] }),
|
|
3236
|
-
vertical: /* @__PURE__ */ (0,
|
|
3459
|
+
vertical: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-sm text-text-800", children: subhead })
|
|
3237
3460
|
};
|
|
3238
|
-
return /* @__PURE__ */ (0,
|
|
3461
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
3239
3462
|
CardBase,
|
|
3240
3463
|
{
|
|
3241
3464
|
ref,
|
|
@@ -3246,7 +3469,7 @@ var CardProgress = (0, import_react11.forwardRef)(
|
|
|
3246
3469
|
className: cn(isHorizontal ? "h-20" : "", className),
|
|
3247
3470
|
...props,
|
|
3248
3471
|
children: [
|
|
3249
|
-
/* @__PURE__ */ (0,
|
|
3472
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3250
3473
|
"div",
|
|
3251
3474
|
{
|
|
3252
3475
|
className: cn(
|
|
@@ -3259,7 +3482,7 @@ var CardProgress = (0, import_react11.forwardRef)(
|
|
|
3259
3482
|
children: icon
|
|
3260
3483
|
}
|
|
3261
3484
|
),
|
|
3262
|
-
/* @__PURE__ */ (0,
|
|
3485
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
3263
3486
|
"div",
|
|
3264
3487
|
{
|
|
3265
3488
|
className: cn(
|
|
@@ -3267,7 +3490,7 @@ var CardProgress = (0, import_react11.forwardRef)(
|
|
|
3267
3490
|
!isHorizontal && "gap-4"
|
|
3268
3491
|
),
|
|
3269
3492
|
children: [
|
|
3270
|
-
/* @__PURE__ */ (0,
|
|
3493
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text_default, { size: "sm", weight: "bold", className: "text-text-950 truncate", children: header }),
|
|
3271
3494
|
contentComponent[direction]
|
|
3272
3495
|
]
|
|
3273
3496
|
}
|
|
@@ -3277,7 +3500,7 @@ var CardProgress = (0, import_react11.forwardRef)(
|
|
|
3277
3500
|
);
|
|
3278
3501
|
}
|
|
3279
3502
|
);
|
|
3280
|
-
var CardTopic = (0,
|
|
3503
|
+
var CardTopic = (0, import_react12.forwardRef)(
|
|
3281
3504
|
({
|
|
3282
3505
|
header,
|
|
3283
3506
|
subHead,
|
|
@@ -3287,7 +3510,7 @@ var CardTopic = (0, import_react11.forwardRef)(
|
|
|
3287
3510
|
className = "",
|
|
3288
3511
|
...props
|
|
3289
3512
|
}, ref) => {
|
|
3290
|
-
return /* @__PURE__ */ (0,
|
|
3513
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
3291
3514
|
CardBase,
|
|
3292
3515
|
{
|
|
3293
3516
|
ref,
|
|
@@ -3298,13 +3521,13 @@ var CardTopic = (0, import_react11.forwardRef)(
|
|
|
3298
3521
|
className: cn("justify-center gap-2 py-2 px-4", className),
|
|
3299
3522
|
...props,
|
|
3300
3523
|
children: [
|
|
3301
|
-
subHead && /* @__PURE__ */ (0,
|
|
3302
|
-
/* @__PURE__ */ (0,
|
|
3303
|
-
index < subHead.length - 1 && /* @__PURE__ */ (0,
|
|
3524
|
+
subHead && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "text-text-600 text-2xs flex flex-row gap-1", children: subHead.map((text, index) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_react12.Fragment, { children: [
|
|
3525
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { children: text }),
|
|
3526
|
+
index < subHead.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { children: "\u2022" })
|
|
3304
3527
|
] }, `${text} - ${index}`)) }),
|
|
3305
|
-
/* @__PURE__ */ (0,
|
|
3306
|
-
/* @__PURE__ */ (0,
|
|
3307
|
-
/* @__PURE__ */ (0,
|
|
3528
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-sm text-text-950 font-bold truncate", children: header }),
|
|
3529
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { className: "grid grid-cols-[1fr_auto] items-center gap-2", children: [
|
|
3530
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3308
3531
|
ProgressBar_default,
|
|
3309
3532
|
{
|
|
3310
3533
|
size: "small",
|
|
@@ -3313,7 +3536,7 @@ var CardTopic = (0, import_react11.forwardRef)(
|
|
|
3313
3536
|
"data-testid": "progress-bar"
|
|
3314
3537
|
}
|
|
3315
3538
|
),
|
|
3316
|
-
showPercentage && /* @__PURE__ */ (0,
|
|
3539
|
+
showPercentage && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
3317
3540
|
Text_default,
|
|
3318
3541
|
{
|
|
3319
3542
|
size: "xs",
|
|
@@ -3333,7 +3556,7 @@ var CardTopic = (0, import_react11.forwardRef)(
|
|
|
3333
3556
|
);
|
|
3334
3557
|
}
|
|
3335
3558
|
);
|
|
3336
|
-
var CardPerformance = (0,
|
|
3559
|
+
var CardPerformance = (0, import_react12.forwardRef)(
|
|
3337
3560
|
({
|
|
3338
3561
|
header,
|
|
3339
3562
|
progress,
|
|
@@ -3347,7 +3570,7 @@ var CardPerformance = (0, import_react11.forwardRef)(
|
|
|
3347
3570
|
...props
|
|
3348
3571
|
}, ref) => {
|
|
3349
3572
|
const hasProgress = progress !== void 0;
|
|
3350
|
-
return /* @__PURE__ */ (0,
|
|
3573
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
3351
3574
|
CardBase,
|
|
3352
3575
|
{
|
|
3353
3576
|
ref,
|
|
@@ -3361,10 +3584,10 @@ var CardPerformance = (0, import_react11.forwardRef)(
|
|
|
3361
3584
|
onClick: () => actionVariant == "caret" && onClickButton?.(valueButton),
|
|
3362
3585
|
...props,
|
|
3363
3586
|
children: [
|
|
3364
|
-
/* @__PURE__ */ (0,
|
|
3365
|
-
/* @__PURE__ */ (0,
|
|
3366
|
-
/* @__PURE__ */ (0,
|
|
3367
|
-
actionVariant === "button" && /* @__PURE__ */ (0,
|
|
3587
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "w-full flex flex-col justify-between gap-2", children: [
|
|
3588
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex flex-row justify-between items-center gap-2", children: [
|
|
3589
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-lg font-bold text-text-950 truncate flex-1 min-w-0", children: header }),
|
|
3590
|
+
actionVariant === "button" && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3368
3591
|
Button_default,
|
|
3369
3592
|
{
|
|
3370
3593
|
variant: "outline",
|
|
@@ -3375,16 +3598,16 @@ var CardPerformance = (0, import_react11.forwardRef)(
|
|
|
3375
3598
|
}
|
|
3376
3599
|
)
|
|
3377
3600
|
] }),
|
|
3378
|
-
/* @__PURE__ */ (0,
|
|
3601
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "w-full", children: hasProgress ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3379
3602
|
ProgressBar_default,
|
|
3380
3603
|
{
|
|
3381
3604
|
value: progress,
|
|
3382
3605
|
label: `${progress}% ${labelProgress}`,
|
|
3383
3606
|
variant: progressVariant
|
|
3384
3607
|
}
|
|
3385
|
-
) : /* @__PURE__ */ (0,
|
|
3608
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-xs text-text-600 truncate", children: description }) })
|
|
3386
3609
|
] }),
|
|
3387
|
-
actionVariant == "caret" && /* @__PURE__ */ (0,
|
|
3610
|
+
actionVariant == "caret" && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3388
3611
|
import_phosphor_react9.CaretRight,
|
|
3389
3612
|
{
|
|
3390
3613
|
className: "size-4.5 text-text-800 cursor-pointer",
|
|
@@ -3396,7 +3619,7 @@ var CardPerformance = (0, import_react11.forwardRef)(
|
|
|
3396
3619
|
);
|
|
3397
3620
|
}
|
|
3398
3621
|
);
|
|
3399
|
-
var CardResults = (0,
|
|
3622
|
+
var CardResults = (0, import_react12.forwardRef)(
|
|
3400
3623
|
({
|
|
3401
3624
|
header,
|
|
3402
3625
|
correct_answers,
|
|
@@ -3408,7 +3631,7 @@ var CardResults = (0, import_react11.forwardRef)(
|
|
|
3408
3631
|
...props
|
|
3409
3632
|
}, ref) => {
|
|
3410
3633
|
const isRow = direction == "row";
|
|
3411
|
-
return /* @__PURE__ */ (0,
|
|
3634
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
3412
3635
|
CardBase,
|
|
3413
3636
|
{
|
|
3414
3637
|
ref,
|
|
@@ -3418,7 +3641,7 @@ var CardResults = (0, import_react11.forwardRef)(
|
|
|
3418
3641
|
className: cn("items-stretch cursor-pointer pr-4", className),
|
|
3419
3642
|
...props,
|
|
3420
3643
|
children: [
|
|
3421
|
-
/* @__PURE__ */ (0,
|
|
3644
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3422
3645
|
"div",
|
|
3423
3646
|
{
|
|
3424
3647
|
className: cn(
|
|
@@ -3427,11 +3650,11 @@ var CardResults = (0, import_react11.forwardRef)(
|
|
|
3427
3650
|
style: {
|
|
3428
3651
|
backgroundColor: color
|
|
3429
3652
|
},
|
|
3430
|
-
children: /* @__PURE__ */ (0,
|
|
3653
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(IconRender_default, { iconName: icon, color: "currentColor", size: 20 })
|
|
3431
3654
|
}
|
|
3432
3655
|
),
|
|
3433
|
-
/* @__PURE__ */ (0,
|
|
3434
|
-
/* @__PURE__ */ (0,
|
|
3656
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "w-full flex flex-row justify-between items-center", children: [
|
|
3657
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
3435
3658
|
"div",
|
|
3436
3659
|
{
|
|
3437
3660
|
className: cn(
|
|
@@ -3439,28 +3662,28 @@ var CardResults = (0, import_react11.forwardRef)(
|
|
|
3439
3662
|
isRow ? "flex-row items-center gap-2" : "flex-col"
|
|
3440
3663
|
),
|
|
3441
3664
|
children: [
|
|
3442
|
-
/* @__PURE__ */ (0,
|
|
3443
|
-
/* @__PURE__ */ (0,
|
|
3444
|
-
/* @__PURE__ */ (0,
|
|
3665
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-sm font-bold text-text-950 flex-1", children: header }),
|
|
3666
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { className: "flex flex-wrap flex-row gap-1 items-center", children: [
|
|
3667
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
3445
3668
|
Badge_default,
|
|
3446
3669
|
{
|
|
3447
3670
|
action: "success",
|
|
3448
3671
|
variant: "solid",
|
|
3449
3672
|
size: "large",
|
|
3450
|
-
iconLeft: /* @__PURE__ */ (0,
|
|
3673
|
+
iconLeft: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.CheckCircle, {}),
|
|
3451
3674
|
children: [
|
|
3452
3675
|
correct_answers,
|
|
3453
3676
|
" Corretas"
|
|
3454
3677
|
]
|
|
3455
3678
|
}
|
|
3456
3679
|
),
|
|
3457
|
-
/* @__PURE__ */ (0,
|
|
3680
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
3458
3681
|
Badge_default,
|
|
3459
3682
|
{
|
|
3460
3683
|
action: "error",
|
|
3461
3684
|
variant: "solid",
|
|
3462
3685
|
size: "large",
|
|
3463
|
-
iconLeft: /* @__PURE__ */ (0,
|
|
3686
|
+
iconLeft: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.XCircle, {}),
|
|
3464
3687
|
children: [
|
|
3465
3688
|
incorrect_answers,
|
|
3466
3689
|
" Incorretas"
|
|
@@ -3471,14 +3694,14 @@ var CardResults = (0, import_react11.forwardRef)(
|
|
|
3471
3694
|
]
|
|
3472
3695
|
}
|
|
3473
3696
|
),
|
|
3474
|
-
/* @__PURE__ */ (0,
|
|
3697
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.CaretRight, { className: "min-w-6 min-h-6 text-text-800" })
|
|
3475
3698
|
] })
|
|
3476
3699
|
]
|
|
3477
3700
|
}
|
|
3478
3701
|
);
|
|
3479
3702
|
}
|
|
3480
3703
|
);
|
|
3481
|
-
var CardStatus = (0,
|
|
3704
|
+
var CardStatus = (0, import_react12.forwardRef)(
|
|
3482
3705
|
({ header, className, status, label, ...props }, ref) => {
|
|
3483
3706
|
const getLabelBadge = (status2) => {
|
|
3484
3707
|
switch (status2) {
|
|
@@ -3497,13 +3720,13 @@ var CardStatus = (0, import_react11.forwardRef)(
|
|
|
3497
3720
|
const getIconBadge = (status2) => {
|
|
3498
3721
|
switch (status2) {
|
|
3499
3722
|
case "correct":
|
|
3500
|
-
return /* @__PURE__ */ (0,
|
|
3723
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.CheckCircle, {});
|
|
3501
3724
|
case "incorrect":
|
|
3502
|
-
return /* @__PURE__ */ (0,
|
|
3725
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.XCircle, {});
|
|
3503
3726
|
case "pending":
|
|
3504
|
-
return /* @__PURE__ */ (0,
|
|
3727
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.Clock, {});
|
|
3505
3728
|
default:
|
|
3506
|
-
return /* @__PURE__ */ (0,
|
|
3729
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.XCircle, {});
|
|
3507
3730
|
}
|
|
3508
3731
|
};
|
|
3509
3732
|
const getActionBadge = (status2) => {
|
|
@@ -3518,7 +3741,7 @@ var CardStatus = (0, import_react11.forwardRef)(
|
|
|
3518
3741
|
return "info";
|
|
3519
3742
|
}
|
|
3520
3743
|
};
|
|
3521
|
-
return /* @__PURE__ */ (0,
|
|
3744
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3522
3745
|
CardBase,
|
|
3523
3746
|
{
|
|
3524
3747
|
ref,
|
|
@@ -3527,10 +3750,10 @@ var CardStatus = (0, import_react11.forwardRef)(
|
|
|
3527
3750
|
minHeight: "medium",
|
|
3528
3751
|
className: cn("items-center cursor-pointer", className),
|
|
3529
3752
|
...props,
|
|
3530
|
-
children: /* @__PURE__ */ (0,
|
|
3531
|
-
/* @__PURE__ */ (0,
|
|
3532
|
-
/* @__PURE__ */ (0,
|
|
3533
|
-
status && /* @__PURE__ */ (0,
|
|
3753
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex justify-between w-full h-full flex-row items-center gap-2", children: [
|
|
3754
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-sm font-bold text-text-950 truncate flex-1 min-w-0", children: header }),
|
|
3755
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { className: "flex flex-row gap-1 items-center flex-shrink-0", children: [
|
|
3756
|
+
status && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3534
3757
|
Badge_default,
|
|
3535
3758
|
{
|
|
3536
3759
|
action: getActionBadge(status),
|
|
@@ -3540,17 +3763,17 @@ var CardStatus = (0, import_react11.forwardRef)(
|
|
|
3540
3763
|
children: getLabelBadge(status)
|
|
3541
3764
|
}
|
|
3542
3765
|
),
|
|
3543
|
-
label && /* @__PURE__ */ (0,
|
|
3766
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-sm text-text-800", children: label })
|
|
3544
3767
|
] }),
|
|
3545
|
-
/* @__PURE__ */ (0,
|
|
3768
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.CaretRight, { className: "min-w-6 min-h-6 text-text-800 cursor-pointer flex-shrink-0 ml-2" })
|
|
3546
3769
|
] })
|
|
3547
3770
|
}
|
|
3548
3771
|
);
|
|
3549
3772
|
}
|
|
3550
3773
|
);
|
|
3551
|
-
var CardSettings = (0,
|
|
3774
|
+
var CardSettings = (0, import_react12.forwardRef)(
|
|
3552
3775
|
({ header, className, icon, ...props }, ref) => {
|
|
3553
|
-
return /* @__PURE__ */ (0,
|
|
3776
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
3554
3777
|
CardBase,
|
|
3555
3778
|
{
|
|
3556
3779
|
ref,
|
|
@@ -3563,17 +3786,17 @@ var CardSettings = (0, import_react11.forwardRef)(
|
|
|
3563
3786
|
),
|
|
3564
3787
|
...props,
|
|
3565
3788
|
children: [
|
|
3566
|
-
/* @__PURE__ */ (0,
|
|
3567
|
-
/* @__PURE__ */ (0,
|
|
3568
|
-
/* @__PURE__ */ (0,
|
|
3789
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "[&>svg]:size-6", children: icon }),
|
|
3790
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "w-full text-sm truncate", children: header }),
|
|
3791
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.CaretRight, { size: 24, className: "cursor-pointer" })
|
|
3569
3792
|
]
|
|
3570
3793
|
}
|
|
3571
3794
|
);
|
|
3572
3795
|
}
|
|
3573
3796
|
);
|
|
3574
|
-
var CardSupport = (0,
|
|
3797
|
+
var CardSupport = (0, import_react12.forwardRef)(
|
|
3575
3798
|
({ header, className, direction = "col", children, ...props }, ref) => {
|
|
3576
|
-
return /* @__PURE__ */ (0,
|
|
3799
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
3577
3800
|
CardBase,
|
|
3578
3801
|
{
|
|
3579
3802
|
ref,
|
|
@@ -3586,7 +3809,7 @@ var CardSupport = (0, import_react11.forwardRef)(
|
|
|
3586
3809
|
),
|
|
3587
3810
|
...props,
|
|
3588
3811
|
children: [
|
|
3589
|
-
/* @__PURE__ */ (0,
|
|
3812
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
3590
3813
|
"div",
|
|
3591
3814
|
{
|
|
3592
3815
|
className: cn(
|
|
@@ -3594,18 +3817,18 @@ var CardSupport = (0, import_react11.forwardRef)(
|
|
|
3594
3817
|
direction == "col" ? "flex-col" : "flex-row items-center"
|
|
3595
3818
|
),
|
|
3596
3819
|
children: [
|
|
3597
|
-
/* @__PURE__ */ (0,
|
|
3598
|
-
/* @__PURE__ */ (0,
|
|
3820
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-sm text-text-950 font-bold truncate", children: header }) }),
|
|
3821
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "flex flex-row gap-1", children })
|
|
3599
3822
|
]
|
|
3600
3823
|
}
|
|
3601
3824
|
),
|
|
3602
|
-
/* @__PURE__ */ (0,
|
|
3825
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.CaretRight, { className: "text-text-800 cursor-pointer", size: 24 })
|
|
3603
3826
|
]
|
|
3604
3827
|
}
|
|
3605
3828
|
);
|
|
3606
3829
|
}
|
|
3607
3830
|
);
|
|
3608
|
-
var CardForum = (0,
|
|
3831
|
+
var CardForum = (0, import_react12.forwardRef)(
|
|
3609
3832
|
({
|
|
3610
3833
|
title,
|
|
3611
3834
|
content,
|
|
@@ -3619,7 +3842,7 @@ var CardForum = (0, import_react11.forwardRef)(
|
|
|
3619
3842
|
hour,
|
|
3620
3843
|
...props
|
|
3621
3844
|
}, ref) => {
|
|
3622
|
-
return /* @__PURE__ */ (0,
|
|
3845
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
3623
3846
|
CardBase,
|
|
3624
3847
|
{
|
|
3625
3848
|
ref,
|
|
@@ -3630,7 +3853,7 @@ var CardForum = (0, import_react11.forwardRef)(
|
|
|
3630
3853
|
className: cn("w-auto h-auto gap-3", className),
|
|
3631
3854
|
...props,
|
|
3632
3855
|
children: [
|
|
3633
|
-
/* @__PURE__ */ (0,
|
|
3856
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3634
3857
|
"button",
|
|
3635
3858
|
{
|
|
3636
3859
|
type: "button",
|
|
@@ -3639,18 +3862,18 @@ var CardForum = (0, import_react11.forwardRef)(
|
|
|
3639
3862
|
className: "min-w-8 h-8 rounded-full bg-background-950"
|
|
3640
3863
|
}
|
|
3641
3864
|
),
|
|
3642
|
-
/* @__PURE__ */ (0,
|
|
3643
|
-
/* @__PURE__ */ (0,
|
|
3644
|
-
/* @__PURE__ */ (0,
|
|
3645
|
-
/* @__PURE__ */ (0,
|
|
3865
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex flex-col gap-2 flex-1 min-w-0", children: [
|
|
3866
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex flex-row gap-1 items-center flex-wrap", children: [
|
|
3867
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-xs font-semibold text-primary-700 truncate", children: title }),
|
|
3868
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("p", { className: "text-xs text-text-600", children: [
|
|
3646
3869
|
"\u2022 ",
|
|
3647
3870
|
date,
|
|
3648
3871
|
" \u2022 ",
|
|
3649
3872
|
hour
|
|
3650
3873
|
] })
|
|
3651
3874
|
] }),
|
|
3652
|
-
/* @__PURE__ */ (0,
|
|
3653
|
-
/* @__PURE__ */ (0,
|
|
3875
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-text-950 text-sm line-clamp-2 truncate", children: content }),
|
|
3876
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
3654
3877
|
"button",
|
|
3655
3878
|
{
|
|
3656
3879
|
type: "button",
|
|
@@ -3658,8 +3881,8 @@ var CardForum = (0, import_react11.forwardRef)(
|
|
|
3658
3881
|
onClick: () => onClickComments?.(valueComments),
|
|
3659
3882
|
className: "text-text-600 flex flex-row gap-2 items-center",
|
|
3660
3883
|
children: [
|
|
3661
|
-
/* @__PURE__ */ (0,
|
|
3662
|
-
/* @__PURE__ */ (0,
|
|
3884
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.ChatCircleText, { "aria-hidden": "true", size: 16 }),
|
|
3885
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("p", { className: "text-xs", children: [
|
|
3663
3886
|
comments,
|
|
3664
3887
|
" respostas"
|
|
3665
3888
|
] })
|
|
@@ -3672,7 +3895,7 @@ var CardForum = (0, import_react11.forwardRef)(
|
|
|
3672
3895
|
);
|
|
3673
3896
|
}
|
|
3674
3897
|
);
|
|
3675
|
-
var CardAudio = (0,
|
|
3898
|
+
var CardAudio = (0, import_react12.forwardRef)(
|
|
3676
3899
|
({
|
|
3677
3900
|
src,
|
|
3678
3901
|
title,
|
|
@@ -3686,16 +3909,16 @@ var CardAudio = (0, import_react11.forwardRef)(
|
|
|
3686
3909
|
className,
|
|
3687
3910
|
...props
|
|
3688
3911
|
}, ref) => {
|
|
3689
|
-
const [isPlaying, setIsPlaying] = (0,
|
|
3690
|
-
const [currentTime, setCurrentTime] = (0,
|
|
3691
|
-
const [duration, setDuration] = (0,
|
|
3692
|
-
const [volume, setVolume] = (0,
|
|
3693
|
-
const [showVolumeControl, setShowVolumeControl] = (0,
|
|
3694
|
-
const [showSpeedMenu, setShowSpeedMenu] = (0,
|
|
3695
|
-
const [playbackRate, setPlaybackRate] = (0,
|
|
3696
|
-
const audioRef = (0,
|
|
3697
|
-
const volumeControlRef = (0,
|
|
3698
|
-
const speedMenuRef = (0,
|
|
3912
|
+
const [isPlaying, setIsPlaying] = (0, import_react12.useState)(false);
|
|
3913
|
+
const [currentTime, setCurrentTime] = (0, import_react12.useState)(0);
|
|
3914
|
+
const [duration, setDuration] = (0, import_react12.useState)(0);
|
|
3915
|
+
const [volume, setVolume] = (0, import_react12.useState)(1);
|
|
3916
|
+
const [showVolumeControl, setShowVolumeControl] = (0, import_react12.useState)(false);
|
|
3917
|
+
const [showSpeedMenu, setShowSpeedMenu] = (0, import_react12.useState)(false);
|
|
3918
|
+
const [playbackRate, setPlaybackRate] = (0, import_react12.useState)(1);
|
|
3919
|
+
const audioRef = (0, import_react12.useRef)(null);
|
|
3920
|
+
const volumeControlRef = (0, import_react12.useRef)(null);
|
|
3921
|
+
const speedMenuRef = (0, import_react12.useRef)(null);
|
|
3699
3922
|
const formatTime = (time) => {
|
|
3700
3923
|
const minutes = Math.floor(time / 60);
|
|
3701
3924
|
const seconds = Math.floor(time % 60);
|
|
@@ -3762,14 +3985,14 @@ var CardAudio = (0, import_react11.forwardRef)(
|
|
|
3762
3985
|
};
|
|
3763
3986
|
const getVolumeIcon = () => {
|
|
3764
3987
|
if (volume === 0) {
|
|
3765
|
-
return /* @__PURE__ */ (0,
|
|
3988
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.SpeakerSimpleX, { size: 24 });
|
|
3766
3989
|
}
|
|
3767
3990
|
if (volume < 0.5) {
|
|
3768
|
-
return /* @__PURE__ */ (0,
|
|
3991
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.SpeakerLow, { size: 24 });
|
|
3769
3992
|
}
|
|
3770
|
-
return /* @__PURE__ */ (0,
|
|
3993
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.SpeakerHigh, { size: 24 });
|
|
3771
3994
|
};
|
|
3772
|
-
(0,
|
|
3995
|
+
(0, import_react12.useEffect)(() => {
|
|
3773
3996
|
const handleClickOutside = (event) => {
|
|
3774
3997
|
if (volumeControlRef.current && !volumeControlRef.current.contains(event.target)) {
|
|
3775
3998
|
setShowVolumeControl(false);
|
|
@@ -3783,7 +4006,7 @@ var CardAudio = (0, import_react11.forwardRef)(
|
|
|
3783
4006
|
document.removeEventListener("mousedown", handleClickOutside);
|
|
3784
4007
|
};
|
|
3785
4008
|
}, []);
|
|
3786
|
-
return /* @__PURE__ */ (0,
|
|
4009
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
3787
4010
|
CardBase,
|
|
3788
4011
|
{
|
|
3789
4012
|
ref,
|
|
@@ -3796,7 +4019,7 @@ var CardAudio = (0, import_react11.forwardRef)(
|
|
|
3796
4019
|
),
|
|
3797
4020
|
...props,
|
|
3798
4021
|
children: [
|
|
3799
|
-
/* @__PURE__ */ (0,
|
|
4022
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3800
4023
|
"audio",
|
|
3801
4024
|
{
|
|
3802
4025
|
ref: audioRef,
|
|
@@ -3808,7 +4031,7 @@ var CardAudio = (0, import_react11.forwardRef)(
|
|
|
3808
4031
|
onEnded: handleEnded,
|
|
3809
4032
|
"data-testid": "audio-element",
|
|
3810
4033
|
"aria-label": title,
|
|
3811
|
-
children: tracks ? tracks.map((track) => /* @__PURE__ */ (0,
|
|
4034
|
+
children: tracks ? tracks.map((track) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3812
4035
|
"track",
|
|
3813
4036
|
{
|
|
3814
4037
|
kind: track.kind,
|
|
@@ -3818,7 +4041,7 @@ var CardAudio = (0, import_react11.forwardRef)(
|
|
|
3818
4041
|
default: track.default
|
|
3819
4042
|
},
|
|
3820
4043
|
track.src
|
|
3821
|
-
)) : /* @__PURE__ */ (0,
|
|
4044
|
+
)) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3822
4045
|
"track",
|
|
3823
4046
|
{
|
|
3824
4047
|
kind: "captions",
|
|
@@ -3829,7 +4052,7 @@ var CardAudio = (0, import_react11.forwardRef)(
|
|
|
3829
4052
|
)
|
|
3830
4053
|
}
|
|
3831
4054
|
),
|
|
3832
|
-
/* @__PURE__ */ (0,
|
|
4055
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3833
4056
|
"button",
|
|
3834
4057
|
{
|
|
3835
4058
|
type: "button",
|
|
@@ -3837,14 +4060,14 @@ var CardAudio = (0, import_react11.forwardRef)(
|
|
|
3837
4060
|
disabled: !src,
|
|
3838
4061
|
className: "cursor-pointer text-text-950 hover:text-primary-600 disabled:text-text-400 disabled:cursor-not-allowed",
|
|
3839
4062
|
"aria-label": isPlaying ? "Pausar" : "Reproduzir",
|
|
3840
|
-
children: isPlaying ? /* @__PURE__ */ (0,
|
|
3841
|
-
/* @__PURE__ */ (0,
|
|
3842
|
-
/* @__PURE__ */ (0,
|
|
3843
|
-
] }) }) : /* @__PURE__ */ (0,
|
|
4063
|
+
children: isPlaying ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "w-6 h-6 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex gap-0.5", children: [
|
|
4064
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "w-1 h-4 bg-current rounded-sm" }),
|
|
4065
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "w-1 h-4 bg-current rounded-sm" })
|
|
4066
|
+
] }) }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.Play, { size: 24 })
|
|
3844
4067
|
}
|
|
3845
4068
|
),
|
|
3846
|
-
/* @__PURE__ */ (0,
|
|
3847
|
-
/* @__PURE__ */ (0,
|
|
4069
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-text-800 text-md font-medium min-w-[2.5rem]", children: formatTime(currentTime) }),
|
|
4070
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "flex-1 relative", "data-testid": "progress-bar", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3848
4071
|
"button",
|
|
3849
4072
|
{
|
|
3850
4073
|
type: "button",
|
|
@@ -3859,7 +4082,7 @@ var CardAudio = (0, import_react11.forwardRef)(
|
|
|
3859
4082
|
}
|
|
3860
4083
|
},
|
|
3861
4084
|
"aria-label": "Barra de progresso do \xE1udio",
|
|
3862
|
-
children: /* @__PURE__ */ (0,
|
|
4085
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3863
4086
|
"div",
|
|
3864
4087
|
{
|
|
3865
4088
|
className: "h-full bg-primary-600 rounded-full transition-all duration-100",
|
|
@@ -3870,19 +4093,19 @@ var CardAudio = (0, import_react11.forwardRef)(
|
|
|
3870
4093
|
)
|
|
3871
4094
|
}
|
|
3872
4095
|
) }),
|
|
3873
|
-
/* @__PURE__ */ (0,
|
|
3874
|
-
/* @__PURE__ */ (0,
|
|
3875
|
-
/* @__PURE__ */ (0,
|
|
4096
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-text-800 text-md font-medium min-w-[2.5rem]", children: formatTime(duration) }),
|
|
4097
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "relative h-6", ref: volumeControlRef, children: [
|
|
4098
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3876
4099
|
"button",
|
|
3877
4100
|
{
|
|
3878
4101
|
type: "button",
|
|
3879
4102
|
onClick: toggleVolumeControl,
|
|
3880
4103
|
className: "cursor-pointer text-text-950 hover:text-primary-600",
|
|
3881
4104
|
"aria-label": "Controle de volume",
|
|
3882
|
-
children: /* @__PURE__ */ (0,
|
|
4105
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "w-6 h-6 flex items-center justify-center", children: getVolumeIcon() })
|
|
3883
4106
|
}
|
|
3884
4107
|
),
|
|
3885
|
-
showVolumeControl && /* @__PURE__ */ (0,
|
|
4108
|
+
showVolumeControl && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3886
4109
|
"button",
|
|
3887
4110
|
{
|
|
3888
4111
|
type: "button",
|
|
@@ -3892,7 +4115,7 @@ var CardAudio = (0, import_react11.forwardRef)(
|
|
|
3892
4115
|
setShowVolumeControl(false);
|
|
3893
4116
|
}
|
|
3894
4117
|
},
|
|
3895
|
-
children: /* @__PURE__ */ (0,
|
|
4118
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3896
4119
|
"input",
|
|
3897
4120
|
{
|
|
3898
4121
|
type: "range",
|
|
@@ -3933,22 +4156,22 @@ var CardAudio = (0, import_react11.forwardRef)(
|
|
|
3933
4156
|
}
|
|
3934
4157
|
)
|
|
3935
4158
|
] }),
|
|
3936
|
-
/* @__PURE__ */ (0,
|
|
3937
|
-
/* @__PURE__ */ (0,
|
|
4159
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "relative h-6", ref: speedMenuRef, children: [
|
|
4160
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3938
4161
|
"button",
|
|
3939
4162
|
{
|
|
3940
4163
|
type: "button",
|
|
3941
4164
|
onClick: toggleSpeedMenu,
|
|
3942
4165
|
className: "cursor-pointer text-text-950 hover:text-primary-600",
|
|
3943
4166
|
"aria-label": "Op\xE7\xF5es de velocidade",
|
|
3944
|
-
children: /* @__PURE__ */ (0,
|
|
4167
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.DotsThreeVertical, { size: 24 })
|
|
3945
4168
|
}
|
|
3946
4169
|
),
|
|
3947
|
-
showSpeedMenu && /* @__PURE__ */ (0,
|
|
4170
|
+
showSpeedMenu && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "absolute bottom-full right-0 mb-2 p-2 bg-background border border-border-100 rounded-lg shadow-lg min-w-24 z-10", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "flex flex-col gap-1", children: [
|
|
3948
4171
|
{ speed: 1, label: "1x" },
|
|
3949
4172
|
{ speed: 1.5, label: "1.5x" },
|
|
3950
4173
|
{ speed: 2, label: "2x" }
|
|
3951
|
-
].map(({ speed, label }) => /* @__PURE__ */ (0,
|
|
4174
|
+
].map(({ speed, label }) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3952
4175
|
"button",
|
|
3953
4176
|
{
|
|
3954
4177
|
type: "button",
|
|
@@ -3973,10 +4196,10 @@ var SIMULADO_BACKGROUND_CLASSES = {
|
|
|
3973
4196
|
simuladao: "bg-exam-3",
|
|
3974
4197
|
vestibular: "bg-exam-4"
|
|
3975
4198
|
};
|
|
3976
|
-
var CardSimulado = (0,
|
|
4199
|
+
var CardSimulado = (0, import_react12.forwardRef)(
|
|
3977
4200
|
({ title, duration, info, backgroundColor, className, ...props }, ref) => {
|
|
3978
4201
|
const backgroundClass = SIMULADO_BACKGROUND_CLASSES[backgroundColor];
|
|
3979
|
-
return /* @__PURE__ */ (0,
|
|
4202
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3980
4203
|
CardBase,
|
|
3981
4204
|
{
|
|
3982
4205
|
ref,
|
|
@@ -3989,18 +4212,18 @@ var CardSimulado = (0, import_react11.forwardRef)(
|
|
|
3989
4212
|
className
|
|
3990
4213
|
),
|
|
3991
4214
|
...props,
|
|
3992
|
-
children: /* @__PURE__ */ (0,
|
|
3993
|
-
/* @__PURE__ */ (0,
|
|
3994
|
-
/* @__PURE__ */ (0,
|
|
3995
|
-
/* @__PURE__ */ (0,
|
|
3996
|
-
duration && /* @__PURE__ */ (0,
|
|
3997
|
-
/* @__PURE__ */ (0,
|
|
3998
|
-
/* @__PURE__ */ (0,
|
|
4215
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex justify-between items-center w-full gap-4", children: [
|
|
4216
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex flex-col gap-1 flex-1 min-w-0", children: [
|
|
4217
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text_default, { size: "lg", weight: "bold", className: "text-text-950 truncate", children: title }),
|
|
4218
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-4 text-text-700", children: [
|
|
4219
|
+
duration && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-1", children: [
|
|
4220
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.Clock, { size: 16, className: "flex-shrink-0" }),
|
|
4221
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text_default, { size: "sm", children: duration })
|
|
3999
4222
|
] }),
|
|
4000
|
-
/* @__PURE__ */ (0,
|
|
4223
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text_default, { size: "sm", className: "truncate", children: info })
|
|
4001
4224
|
] })
|
|
4002
4225
|
] }),
|
|
4003
|
-
/* @__PURE__ */ (0,
|
|
4226
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
4004
4227
|
import_phosphor_react9.CaretRight,
|
|
4005
4228
|
{
|
|
4006
4229
|
size: 24,
|
|
@@ -4013,7 +4236,7 @@ var CardSimulado = (0, import_react11.forwardRef)(
|
|
|
4013
4236
|
);
|
|
4014
4237
|
}
|
|
4015
4238
|
);
|
|
4016
|
-
var CardTest = (0,
|
|
4239
|
+
var CardTest = (0, import_react12.forwardRef)(
|
|
4017
4240
|
({
|
|
4018
4241
|
title,
|
|
4019
4242
|
duration,
|
|
@@ -4045,7 +4268,7 @@ var CardTest = (0, import_react11.forwardRef)(
|
|
|
4045
4268
|
const interactiveClasses = isSelectable ? "cursor-pointer focus:outline-none focus:ring-2 focus:ring-primary-950 focus:ring-offset-2" : "";
|
|
4046
4269
|
const selectedClasses = selected ? "ring-2 ring-primary-950 ring-offset-2" : "";
|
|
4047
4270
|
if (isSelectable) {
|
|
4048
|
-
return /* @__PURE__ */ (0,
|
|
4271
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
4049
4272
|
"button",
|
|
4050
4273
|
{
|
|
4051
4274
|
ref,
|
|
@@ -4057,8 +4280,8 @@ var CardTest = (0, import_react11.forwardRef)(
|
|
|
4057
4280
|
onKeyDown: handleKeyDown,
|
|
4058
4281
|
"aria-pressed": selected,
|
|
4059
4282
|
...props,
|
|
4060
|
-
children: /* @__PURE__ */ (0,
|
|
4061
|
-
/* @__PURE__ */ (0,
|
|
4283
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex flex-col justify-between gap-[27px] flex-grow min-h-[67px] w-full min-w-0", children: [
|
|
4284
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
4062
4285
|
Text_default,
|
|
4063
4286
|
{
|
|
4064
4287
|
size: "md",
|
|
@@ -4067,10 +4290,10 @@ var CardTest = (0, import_react11.forwardRef)(
|
|
|
4067
4290
|
children: title
|
|
4068
4291
|
}
|
|
4069
4292
|
),
|
|
4070
|
-
/* @__PURE__ */ (0,
|
|
4071
|
-
duration && /* @__PURE__ */ (0,
|
|
4072
|
-
/* @__PURE__ */ (0,
|
|
4073
|
-
/* @__PURE__ */ (0,
|
|
4293
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex flex-row justify-start items-end gap-4 w-full", children: [
|
|
4294
|
+
duration && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex flex-row items-center gap-1 flex-shrink-0", children: [
|
|
4295
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.Clock, { size: 16, className: "text-text-700" }),
|
|
4296
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
4074
4297
|
Text_default,
|
|
4075
4298
|
{
|
|
4076
4299
|
size: "sm",
|
|
@@ -4079,7 +4302,7 @@ var CardTest = (0, import_react11.forwardRef)(
|
|
|
4079
4302
|
}
|
|
4080
4303
|
)
|
|
4081
4304
|
] }),
|
|
4082
|
-
/* @__PURE__ */ (0,
|
|
4305
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
4083
4306
|
Text_default,
|
|
4084
4307
|
{
|
|
4085
4308
|
size: "sm",
|
|
@@ -4092,14 +4315,14 @@ var CardTest = (0, import_react11.forwardRef)(
|
|
|
4092
4315
|
}
|
|
4093
4316
|
);
|
|
4094
4317
|
}
|
|
4095
|
-
return /* @__PURE__ */ (0,
|
|
4318
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
4096
4319
|
"div",
|
|
4097
4320
|
{
|
|
4098
4321
|
ref,
|
|
4099
4322
|
className: cn(`${baseClasses} ${className}`.trim()),
|
|
4100
4323
|
...props,
|
|
4101
|
-
children: /* @__PURE__ */ (0,
|
|
4102
|
-
/* @__PURE__ */ (0,
|
|
4324
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex flex-col justify-between gap-[27px] flex-grow min-h-[67px] w-full min-w-0", children: [
|
|
4325
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
4103
4326
|
Text_default,
|
|
4104
4327
|
{
|
|
4105
4328
|
size: "md",
|
|
@@ -4108,10 +4331,10 @@ var CardTest = (0, import_react11.forwardRef)(
|
|
|
4108
4331
|
children: title
|
|
4109
4332
|
}
|
|
4110
4333
|
),
|
|
4111
|
-
/* @__PURE__ */ (0,
|
|
4112
|
-
duration && /* @__PURE__ */ (0,
|
|
4113
|
-
/* @__PURE__ */ (0,
|
|
4114
|
-
/* @__PURE__ */ (0,
|
|
4334
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex flex-row justify-start items-end gap-4 w-full", children: [
|
|
4335
|
+
duration && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex flex-row items-center gap-1 flex-shrink-0", children: [
|
|
4336
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_phosphor_react9.Clock, { size: 16, className: "text-text-700" }),
|
|
4337
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
4115
4338
|
Text_default,
|
|
4116
4339
|
{
|
|
4117
4340
|
size: "sm",
|
|
@@ -4120,7 +4343,7 @@ var CardTest = (0, import_react11.forwardRef)(
|
|
|
4120
4343
|
}
|
|
4121
4344
|
)
|
|
4122
4345
|
] }),
|
|
4123
|
-
/* @__PURE__ */ (0,
|
|
4346
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
4124
4347
|
Text_default,
|
|
4125
4348
|
{
|
|
4126
4349
|
size: "sm",
|
|
@@ -4156,15 +4379,15 @@ var SIMULATION_TYPE_STYLES = {
|
|
|
4156
4379
|
text: "Vestibular"
|
|
4157
4380
|
}
|
|
4158
4381
|
};
|
|
4159
|
-
var CardSimulationHistory = (0,
|
|
4160
|
-
return /* @__PURE__ */ (0,
|
|
4382
|
+
var CardSimulationHistory = (0, import_react12.forwardRef)(({ data, onSimulationClick, className, ...props }, ref) => {
|
|
4383
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
4161
4384
|
"div",
|
|
4162
4385
|
{
|
|
4163
4386
|
ref,
|
|
4164
4387
|
className: cn("w-full max-w-[992px] h-auto", className),
|
|
4165
4388
|
...props,
|
|
4166
|
-
children: /* @__PURE__ */ (0,
|
|
4167
|
-
data.map((section, sectionIndex) => /* @__PURE__ */ (0,
|
|
4389
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex flex-col gap-0", children: [
|
|
4390
|
+
data.map((section, sectionIndex) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "flex flex-col", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
4168
4391
|
"div",
|
|
4169
4392
|
{
|
|
4170
4393
|
className: cn(
|
|
@@ -4172,7 +4395,7 @@ var CardSimulationHistory = (0, import_react11.forwardRef)(({ data, onSimulation
|
|
|
4172
4395
|
sectionIndex === 0 ? "rounded-t-3xl" : ""
|
|
4173
4396
|
),
|
|
4174
4397
|
children: [
|
|
4175
|
-
/* @__PURE__ */ (0,
|
|
4398
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
4176
4399
|
Text_default,
|
|
4177
4400
|
{
|
|
4178
4401
|
size: "xs",
|
|
@@ -4181,9 +4404,9 @@ var CardSimulationHistory = (0, import_react11.forwardRef)(({ data, onSimulation
|
|
|
4181
4404
|
children: section.date
|
|
4182
4405
|
}
|
|
4183
4406
|
),
|
|
4184
|
-
/* @__PURE__ */ (0,
|
|
4407
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "flex flex-col gap-2 flex-1", children: section.simulations.map((simulation) => {
|
|
4185
4408
|
const typeStyles = SIMULATION_TYPE_STYLES[simulation.type];
|
|
4186
|
-
return /* @__PURE__ */ (0,
|
|
4409
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
4187
4410
|
CardBase,
|
|
4188
4411
|
{
|
|
4189
4412
|
layout: "horizontal",
|
|
@@ -4195,9 +4418,9 @@ var CardSimulationHistory = (0, import_react11.forwardRef)(({ data, onSimulation
|
|
|
4195
4418
|
transition-shadow duration-200 h-auto min-h-[61px]`
|
|
4196
4419
|
),
|
|
4197
4420
|
onClick: () => onSimulationClick?.(simulation),
|
|
4198
|
-
children: /* @__PURE__ */ (0,
|
|
4199
|
-
/* @__PURE__ */ (0,
|
|
4200
|
-
/* @__PURE__ */ (0,
|
|
4421
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex justify-between items-center w-full gap-2", children: [
|
|
4422
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex flex-wrap flex-col justify-between sm:flex-row gap-2 flex-1 min-w-0", children: [
|
|
4423
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
4201
4424
|
Text_default,
|
|
4202
4425
|
{
|
|
4203
4426
|
size: "lg",
|
|
@@ -4206,8 +4429,8 @@ var CardSimulationHistory = (0, import_react11.forwardRef)(({ data, onSimulation
|
|
|
4206
4429
|
children: simulation.title
|
|
4207
4430
|
}
|
|
4208
4431
|
),
|
|
4209
|
-
/* @__PURE__ */ (0,
|
|
4210
|
-
/* @__PURE__ */ (0,
|
|
4432
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
4433
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
4211
4434
|
Badge_default,
|
|
4212
4435
|
{
|
|
4213
4436
|
variant: "examsOutlined",
|
|
@@ -4216,10 +4439,10 @@ var CardSimulationHistory = (0, import_react11.forwardRef)(({ data, onSimulation
|
|
|
4216
4439
|
children: typeStyles.text
|
|
4217
4440
|
}
|
|
4218
4441
|
),
|
|
4219
|
-
/* @__PURE__ */ (0,
|
|
4442
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text_default, { size: "sm", className: "text-text-800 truncate", children: simulation.info })
|
|
4220
4443
|
] })
|
|
4221
4444
|
] }),
|
|
4222
|
-
/* @__PURE__ */ (0,
|
|
4445
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
4223
4446
|
import_phosphor_react9.CaretRight,
|
|
4224
4447
|
{
|
|
4225
4448
|
size: 24,
|
|
@@ -4235,17 +4458,17 @@ var CardSimulationHistory = (0, import_react11.forwardRef)(({ data, onSimulation
|
|
|
4235
4458
|
]
|
|
4236
4459
|
}
|
|
4237
4460
|
) }, section.date)),
|
|
4238
|
-
data.length > 0 && /* @__PURE__ */ (0,
|
|
4461
|
+
data.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "w-full h-6 bg-background rounded-b-3xl" })
|
|
4239
4462
|
] })
|
|
4240
4463
|
}
|
|
4241
4464
|
);
|
|
4242
4465
|
});
|
|
4243
4466
|
|
|
4244
4467
|
// src/components/Accordation/Accordation.tsx
|
|
4245
|
-
var
|
|
4468
|
+
var import_react13 = require("react");
|
|
4246
4469
|
var import_phosphor_react10 = require("phosphor-react");
|
|
4247
|
-
var
|
|
4248
|
-
var CardAccordation = (0,
|
|
4470
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
4471
|
+
var CardAccordation = (0, import_react13.forwardRef)(
|
|
4249
4472
|
({
|
|
4250
4473
|
trigger,
|
|
4251
4474
|
children,
|
|
@@ -4257,13 +4480,13 @@ var CardAccordation = (0, import_react12.forwardRef)(
|
|
|
4257
4480
|
disabled = false,
|
|
4258
4481
|
...props
|
|
4259
4482
|
}, ref) => {
|
|
4260
|
-
const [internalExpanded, setInternalExpanded] = (0,
|
|
4261
|
-
const generatedId = (0,
|
|
4483
|
+
const [internalExpanded, setInternalExpanded] = (0, import_react13.useState)(defaultExpanded);
|
|
4484
|
+
const generatedId = (0, import_react13.useId)();
|
|
4262
4485
|
const contentId = value ? `accordion-content-${value}` : generatedId;
|
|
4263
4486
|
const headerId = value ? `accordion-header-${value}` : `${generatedId}-header`;
|
|
4264
4487
|
const isControlled = controlledExpanded !== void 0;
|
|
4265
4488
|
const isExpanded = isControlled ? controlledExpanded : internalExpanded;
|
|
4266
|
-
(0,
|
|
4489
|
+
(0, import_react13.useEffect)(() => {
|
|
4267
4490
|
if (isControlled) {
|
|
4268
4491
|
setInternalExpanded(controlledExpanded);
|
|
4269
4492
|
}
|
|
@@ -4283,7 +4506,7 @@ var CardAccordation = (0, import_react12.forwardRef)(
|
|
|
4283
4506
|
handleToggle();
|
|
4284
4507
|
}
|
|
4285
4508
|
};
|
|
4286
|
-
return /* @__PURE__ */ (0,
|
|
4509
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
|
|
4287
4510
|
CardBase,
|
|
4288
4511
|
{
|
|
4289
4512
|
ref,
|
|
@@ -4293,7 +4516,7 @@ var CardAccordation = (0, import_react12.forwardRef)(
|
|
|
4293
4516
|
className: cn("overflow-hidden", className),
|
|
4294
4517
|
...props,
|
|
4295
4518
|
children: [
|
|
4296
|
-
/* @__PURE__ */ (0,
|
|
4519
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
|
|
4297
4520
|
"button",
|
|
4298
4521
|
{
|
|
4299
4522
|
id: headerId,
|
|
@@ -4311,7 +4534,7 @@ var CardAccordation = (0, import_react12.forwardRef)(
|
|
|
4311
4534
|
"data-value": value,
|
|
4312
4535
|
children: [
|
|
4313
4536
|
trigger,
|
|
4314
|
-
/* @__PURE__ */ (0,
|
|
4537
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
4315
4538
|
import_phosphor_react10.CaretRight,
|
|
4316
4539
|
{
|
|
4317
4540
|
size: 20,
|
|
@@ -4326,7 +4549,7 @@ var CardAccordation = (0, import_react12.forwardRef)(
|
|
|
4326
4549
|
]
|
|
4327
4550
|
}
|
|
4328
4551
|
),
|
|
4329
|
-
/* @__PURE__ */ (0,
|
|
4552
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
4330
4553
|
"section",
|
|
4331
4554
|
{
|
|
4332
4555
|
id: contentId,
|
|
@@ -4338,7 +4561,7 @@ var CardAccordation = (0, import_react12.forwardRef)(
|
|
|
4338
4561
|
),
|
|
4339
4562
|
"data-testid": "accordion-content",
|
|
4340
4563
|
"data-value": value,
|
|
4341
|
-
children: /* @__PURE__ */ (0,
|
|
4564
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "p-4 pt-0", children })
|
|
4342
4565
|
}
|
|
4343
4566
|
)
|
|
4344
4567
|
]
|
|
@@ -4349,9 +4572,9 @@ var CardAccordation = (0, import_react12.forwardRef)(
|
|
|
4349
4572
|
CardAccordation.displayName = "CardAccordation";
|
|
4350
4573
|
|
|
4351
4574
|
// src/components/Accordation/AccordionGroup.tsx
|
|
4352
|
-
var
|
|
4575
|
+
var import_react14 = require("react");
|
|
4353
4576
|
var import_zustand3 = require("zustand");
|
|
4354
|
-
var
|
|
4577
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
4355
4578
|
function createAccordionGroupStore(type, initialValue, collapsible) {
|
|
4356
4579
|
return (0, import_zustand3.create)((set, get) => ({
|
|
4357
4580
|
type,
|
|
@@ -4369,8 +4592,8 @@ function createAccordionGroupStore(type, initialValue, collapsible) {
|
|
|
4369
4592
|
}));
|
|
4370
4593
|
}
|
|
4371
4594
|
var injectStore2 = (children, store, indexRef, onItemToggle) => {
|
|
4372
|
-
return
|
|
4373
|
-
if (!(0,
|
|
4595
|
+
return import_react14.Children.map(children, (child) => {
|
|
4596
|
+
if (!(0, import_react14.isValidElement)(child)) {
|
|
4374
4597
|
return child;
|
|
4375
4598
|
}
|
|
4376
4599
|
const typedChild = child;
|
|
@@ -4397,16 +4620,16 @@ var injectStore2 = (children, store, indexRef, onItemToggle) => {
|
|
|
4397
4620
|
if (displayName === "CardAccordation") {
|
|
4398
4621
|
newProps.children = processedChildren;
|
|
4399
4622
|
} else if (processedChildren !== typedChild.props.children) {
|
|
4400
|
-
return (0,
|
|
4623
|
+
return (0, import_react14.cloneElement)(typedChild, { children: processedChildren });
|
|
4401
4624
|
}
|
|
4402
4625
|
}
|
|
4403
4626
|
if (Object.keys(newProps).length > 0) {
|
|
4404
|
-
return (0,
|
|
4627
|
+
return (0, import_react14.cloneElement)(typedChild, newProps);
|
|
4405
4628
|
}
|
|
4406
4629
|
return child;
|
|
4407
4630
|
});
|
|
4408
4631
|
};
|
|
4409
|
-
var AccordionGroup = (0,
|
|
4632
|
+
var AccordionGroup = (0, import_react14.forwardRef)(
|
|
4410
4633
|
({
|
|
4411
4634
|
type = "single",
|
|
4412
4635
|
defaultValue,
|
|
@@ -4417,12 +4640,12 @@ var AccordionGroup = (0, import_react13.forwardRef)(
|
|
|
4417
4640
|
className,
|
|
4418
4641
|
...props
|
|
4419
4642
|
}, ref) => {
|
|
4420
|
-
const [internalValue, setInternalValue] = (0,
|
|
4643
|
+
const [internalValue, setInternalValue] = (0, import_react14.useState)(
|
|
4421
4644
|
defaultValue || (type === "single" ? "" : [])
|
|
4422
4645
|
);
|
|
4423
4646
|
const isControlled = controlledValue !== void 0;
|
|
4424
4647
|
const currentValue = isControlled ? controlledValue : internalValue;
|
|
4425
|
-
const storeRef = (0,
|
|
4648
|
+
const storeRef = (0, import_react14.useRef)(null);
|
|
4426
4649
|
if (storeRef.current) {
|
|
4427
4650
|
storeRef.current.setState((prev) => {
|
|
4428
4651
|
const nextState = {};
|
|
@@ -4442,10 +4665,10 @@ var AccordionGroup = (0, import_react13.forwardRef)(
|
|
|
4442
4665
|
);
|
|
4443
4666
|
}
|
|
4444
4667
|
const store = storeRef.current;
|
|
4445
|
-
(0,
|
|
4668
|
+
(0, import_react14.useEffect)(() => {
|
|
4446
4669
|
store.setState({ value: currentValue });
|
|
4447
4670
|
}, [currentValue, store]);
|
|
4448
|
-
(0,
|
|
4671
|
+
(0, import_react14.useEffect)(() => {
|
|
4449
4672
|
if (!isControlled) {
|
|
4450
4673
|
setInternalValue((prev) => {
|
|
4451
4674
|
if (type === "single") {
|
|
@@ -4491,22 +4714,22 @@ var AccordionGroup = (0, import_react13.forwardRef)(
|
|
|
4491
4714
|
indexRef,
|
|
4492
4715
|
handleItemToggle
|
|
4493
4716
|
);
|
|
4494
|
-
return /* @__PURE__ */ (0,
|
|
4717
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { ref, className, ...props, children: enhancedChildren });
|
|
4495
4718
|
}
|
|
4496
4719
|
);
|
|
4497
4720
|
AccordionGroup.displayName = "AccordionGroup";
|
|
4498
4721
|
|
|
4499
4722
|
// src/components/CheckBoxGroup/CheckBoxGroup.tsx
|
|
4500
|
-
var
|
|
4723
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
4501
4724
|
var CheckboxGroup = ({
|
|
4502
4725
|
categories,
|
|
4503
4726
|
onCategoriesChange
|
|
4504
4727
|
}) => {
|
|
4505
|
-
const [openAccordion, setOpenAccordion] = (0,
|
|
4506
|
-
const autoSelectionAppliedRef = (0,
|
|
4507
|
-
const onCategoriesChangeRef = (0,
|
|
4508
|
-
const previousCategoriesRef = (0,
|
|
4509
|
-
(0,
|
|
4728
|
+
const [openAccordion, setOpenAccordion] = (0, import_react15.useState)("");
|
|
4729
|
+
const autoSelectionAppliedRef = (0, import_react15.useRef)(false);
|
|
4730
|
+
const onCategoriesChangeRef = (0, import_react15.useRef)(onCategoriesChange);
|
|
4731
|
+
const previousCategoriesRef = (0, import_react15.useRef)(categories);
|
|
4732
|
+
(0, import_react15.useEffect)(() => {
|
|
4510
4733
|
onCategoriesChangeRef.current = onCategoriesChange;
|
|
4511
4734
|
}, [onCategoriesChange]);
|
|
4512
4735
|
const areSelectedIdsEqual = (ids1, ids2) => {
|
|
@@ -4518,7 +4741,7 @@ var CheckboxGroup = ({
|
|
|
4518
4741
|
}
|
|
4519
4742
|
return true;
|
|
4520
4743
|
};
|
|
4521
|
-
const categoriesWithAutoSelection = (0,
|
|
4744
|
+
const categoriesWithAutoSelection = (0, import_react15.useMemo)(() => {
|
|
4522
4745
|
return categories.map((category) => {
|
|
4523
4746
|
if (category.itens?.length === 1 && (!category.selectedIds || category.selectedIds.length === 0)) {
|
|
4524
4747
|
return {
|
|
@@ -4529,7 +4752,7 @@ var CheckboxGroup = ({
|
|
|
4529
4752
|
return category;
|
|
4530
4753
|
});
|
|
4531
4754
|
}, [categories]);
|
|
4532
|
-
(0,
|
|
4755
|
+
(0, import_react15.useEffect)(() => {
|
|
4533
4756
|
const categoriesChanged = categories !== previousCategoriesRef.current;
|
|
4534
4757
|
if (!categoriesChanged && autoSelectionAppliedRef.current) {
|
|
4535
4758
|
return;
|
|
@@ -4647,7 +4870,7 @@ var CheckboxGroup = ({
|
|
|
4647
4870
|
);
|
|
4648
4871
|
return groupedItems.length ? groupedItems : [{ itens: [] }];
|
|
4649
4872
|
};
|
|
4650
|
-
const formattedItemsMap = (0,
|
|
4873
|
+
const formattedItemsMap = (0, import_react15.useMemo)(() => {
|
|
4651
4874
|
const formattedItemsMap2 = {};
|
|
4652
4875
|
for (const category of categories) {
|
|
4653
4876
|
const formattedItems = calculateFormattedItems(category.key);
|
|
@@ -4785,7 +5008,7 @@ var CheckboxGroup = ({
|
|
|
4785
5008
|
};
|
|
4786
5009
|
const renderCheckboxItem = (item, categoryKey) => {
|
|
4787
5010
|
const uniqueId = `${categoryKey}-${item.id}`;
|
|
4788
|
-
return /* @__PURE__ */ (0,
|
|
5011
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
|
|
4789
5012
|
"div",
|
|
4790
5013
|
{
|
|
4791
5014
|
className: "flex items-center gap-3 px-2",
|
|
@@ -4795,7 +5018,7 @@ var CheckboxGroup = ({
|
|
|
4795
5018
|
onMouseUp: (e) => e.stopPropagation(),
|
|
4796
5019
|
onKeyDown: (e) => e.stopPropagation(),
|
|
4797
5020
|
children: [
|
|
4798
|
-
/* @__PURE__ */ (0,
|
|
5021
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
4799
5022
|
CheckBox_default,
|
|
4800
5023
|
{
|
|
4801
5024
|
id: uniqueId,
|
|
@@ -4803,7 +5026,7 @@ var CheckboxGroup = ({
|
|
|
4803
5026
|
onChange: () => toggleItem(categoryKey, item.id)
|
|
4804
5027
|
}
|
|
4805
5028
|
),
|
|
4806
|
-
/* @__PURE__ */ (0,
|
|
5029
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
4807
5030
|
"label",
|
|
4808
5031
|
{
|
|
4809
5032
|
htmlFor: uniqueId,
|
|
@@ -4816,12 +5039,12 @@ var CheckboxGroup = ({
|
|
|
4816
5039
|
item.id
|
|
4817
5040
|
);
|
|
4818
5041
|
};
|
|
4819
|
-
const renderFormattedGroup = (formattedGroup, idx, categoryKey) => /* @__PURE__ */ (0,
|
|
5042
|
+
const renderFormattedGroup = (formattedGroup, idx, categoryKey) => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
|
|
4820
5043
|
"div",
|
|
4821
5044
|
{
|
|
4822
5045
|
className: "flex flex-col gap-3",
|
|
4823
5046
|
children: [
|
|
4824
|
-
"groupLabel" in formattedGroup && formattedGroup.groupLabel && /* @__PURE__ */ (0,
|
|
5047
|
+
"groupLabel" in formattedGroup && formattedGroup.groupLabel && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Text_default, { size: "sm", className: "mt-2", weight: "semibold", children: formattedGroup.groupLabel }),
|
|
4825
5048
|
formattedGroup.itens?.map(
|
|
4826
5049
|
(item) => renderCheckboxItem(item, categoryKey)
|
|
4827
5050
|
)
|
|
@@ -4829,9 +5052,9 @@ var CheckboxGroup = ({
|
|
|
4829
5052
|
},
|
|
4830
5053
|
formattedGroup.groupLabel || `group-${idx}`
|
|
4831
5054
|
);
|
|
4832
|
-
const renderAccordionTrigger = (category, isEnabled) => /* @__PURE__ */ (0,
|
|
4833
|
-
/* @__PURE__ */ (0,
|
|
4834
|
-
/* @__PURE__ */ (0,
|
|
5055
|
+
const renderAccordionTrigger = (category, isEnabled) => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-center justify-between w-full p-2", children: [
|
|
5056
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-center gap-3", children: [
|
|
5057
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
4835
5058
|
CheckBox_default,
|
|
4836
5059
|
{
|
|
4837
5060
|
checked: isMinimalOneCheckBoxIsSelected(category.key),
|
|
@@ -4840,7 +5063,7 @@ var CheckboxGroup = ({
|
|
|
4840
5063
|
onChange: () => toggleAllInCategory(category.key)
|
|
4841
5064
|
}
|
|
4842
5065
|
),
|
|
4843
|
-
/* @__PURE__ */ (0,
|
|
5066
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
4844
5067
|
Text_default,
|
|
4845
5068
|
{
|
|
4846
5069
|
size: "sm",
|
|
@@ -4850,7 +5073,7 @@ var CheckboxGroup = ({
|
|
|
4850
5073
|
}
|
|
4851
5074
|
)
|
|
4852
5075
|
] }),
|
|
4853
|
-
(openAccordion === category.key || isEnabled) && /* @__PURE__ */ (0,
|
|
5076
|
+
(openAccordion === category.key || isEnabled) && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Badge_default, { variant: "solid", action: "info", children: (() => {
|
|
4854
5077
|
const visibleIds = getFormattedItems(category.key).flatMap((group) => group.itens || []).map((i) => i.id);
|
|
4855
5078
|
const selectedVisibleCount = visibleIds.filter(
|
|
4856
5079
|
(id) => category.selectedIds?.includes(id)
|
|
@@ -4872,8 +5095,8 @@ var CheckboxGroup = ({
|
|
|
4872
5095
|
const hasNoItems = formattedItems.every(
|
|
4873
5096
|
(group) => !group.itens || group.itens.length === 0
|
|
4874
5097
|
);
|
|
4875
|
-
return /* @__PURE__ */ (0,
|
|
4876
|
-
/* @__PURE__ */ (0,
|
|
5098
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { children: [
|
|
5099
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
4877
5100
|
CardAccordation,
|
|
4878
5101
|
{
|
|
4879
5102
|
value: category.key,
|
|
@@ -4883,15 +5106,15 @@ var CheckboxGroup = ({
|
|
|
4883
5106
|
openAccordion === category.key && "bg-background-50 border-none"
|
|
4884
5107
|
),
|
|
4885
5108
|
trigger: renderAccordionTrigger(category, isEnabled),
|
|
4886
|
-
children: /* @__PURE__ */ (0,
|
|
5109
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "flex flex-col gap-3 pt-2", children: hasNoItems && isEnabled ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "px-2 py-4", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Text_default, { size: "sm", className: "text-text-500 text-center", children: "Sem dados" }) }) : formattedItems.map(
|
|
4887
5110
|
(formattedGroup, idx) => renderFormattedGroup(formattedGroup, idx, category.key)
|
|
4888
5111
|
) })
|
|
4889
5112
|
}
|
|
4890
5113
|
),
|
|
4891
|
-
openAccordion !== category.key && /* @__PURE__ */ (0,
|
|
5114
|
+
openAccordion !== category.key && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Divider_default, {})
|
|
4892
5115
|
] }, category.key);
|
|
4893
5116
|
};
|
|
4894
|
-
(0,
|
|
5117
|
+
(0, import_react15.useEffect)(() => {
|
|
4895
5118
|
if (!openAccordion) return;
|
|
4896
5119
|
const category = categories.find((c) => c.key === openAccordion);
|
|
4897
5120
|
if (!category) return;
|
|
@@ -4905,7 +5128,7 @@ var CheckboxGroup = ({
|
|
|
4905
5128
|
}, 0);
|
|
4906
5129
|
}
|
|
4907
5130
|
}, [categories, openAccordion]);
|
|
4908
|
-
return /* @__PURE__ */ (0,
|
|
5131
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
4909
5132
|
AccordionGroup,
|
|
4910
5133
|
{
|
|
4911
5134
|
type: "single",
|
|
@@ -4932,7 +5155,7 @@ var CheckboxGroup = ({
|
|
|
4932
5155
|
};
|
|
4933
5156
|
|
|
4934
5157
|
// src/components/Filter/FilterModal.tsx
|
|
4935
|
-
var
|
|
5158
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
4936
5159
|
var FilterModal = ({
|
|
4937
5160
|
isOpen,
|
|
4938
5161
|
onClose,
|
|
@@ -4960,20 +5183,20 @@ var FilterModal = ({
|
|
|
4960
5183
|
const handleClear = () => {
|
|
4961
5184
|
onClear();
|
|
4962
5185
|
};
|
|
4963
|
-
return /* @__PURE__ */ (0,
|
|
5186
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
4964
5187
|
Modal_default,
|
|
4965
5188
|
{
|
|
4966
5189
|
isOpen,
|
|
4967
5190
|
onClose,
|
|
4968
5191
|
title,
|
|
4969
5192
|
size,
|
|
4970
|
-
footer: /* @__PURE__ */ (0,
|
|
4971
|
-
/* @__PURE__ */ (0,
|
|
4972
|
-
/* @__PURE__ */ (0,
|
|
5193
|
+
footer: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex gap-3 justify-end w-full", children: [
|
|
5194
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Button_default, { variant: "outline", onClick: handleClear, children: clearLabel }),
|
|
5195
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Button_default, { onClick: handleApply, children: applyLabel })
|
|
4973
5196
|
] }),
|
|
4974
|
-
children: /* @__PURE__ */ (0,
|
|
4975
|
-
/* @__PURE__ */ (0,
|
|
4976
|
-
config.key === "academic" && /* @__PURE__ */ (0,
|
|
5197
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "flex flex-col gap-6", children: filterConfigs.map((config, index) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex flex-col gap-4", children: [
|
|
5198
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-center gap-2 text-text-400 text-sm font-medium uppercase", children: [
|
|
5199
|
+
config.key === "academic" && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
|
|
4977
5200
|
"svg",
|
|
4978
5201
|
{
|
|
4979
5202
|
width: "16",
|
|
@@ -4983,7 +5206,7 @@ var FilterModal = ({
|
|
|
4983
5206
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4984
5207
|
className: "text-text-400",
|
|
4985
5208
|
children: [
|
|
4986
|
-
/* @__PURE__ */ (0,
|
|
5209
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
4987
5210
|
"path",
|
|
4988
5211
|
{
|
|
4989
5212
|
d: "M8 2L2 5.33333L8 8.66667L14 5.33333L8 2Z",
|
|
@@ -4993,7 +5216,7 @@ var FilterModal = ({
|
|
|
4993
5216
|
strokeLinejoin: "round"
|
|
4994
5217
|
}
|
|
4995
5218
|
),
|
|
4996
|
-
/* @__PURE__ */ (0,
|
|
5219
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
4997
5220
|
"path",
|
|
4998
5221
|
{
|
|
4999
5222
|
d: "M2 10.6667L8 14L14 10.6667",
|
|
@@ -5003,7 +5226,7 @@ var FilterModal = ({
|
|
|
5003
5226
|
strokeLinejoin: "round"
|
|
5004
5227
|
}
|
|
5005
5228
|
),
|
|
5006
|
-
/* @__PURE__ */ (0,
|
|
5229
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
5007
5230
|
"path",
|
|
5008
5231
|
{
|
|
5009
5232
|
d: "M2 8L8 11.3333L14 8",
|
|
@@ -5016,7 +5239,7 @@ var FilterModal = ({
|
|
|
5016
5239
|
]
|
|
5017
5240
|
}
|
|
5018
5241
|
),
|
|
5019
|
-
config.key === "content" && /* @__PURE__ */ (0,
|
|
5242
|
+
config.key === "content" && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
|
|
5020
5243
|
"svg",
|
|
5021
5244
|
{
|
|
5022
5245
|
width: "16",
|
|
@@ -5026,7 +5249,7 @@ var FilterModal = ({
|
|
|
5026
5249
|
xmlns: "http://www.w3.org/2000/svg",
|
|
5027
5250
|
className: "text-text-400",
|
|
5028
5251
|
children: [
|
|
5029
|
-
/* @__PURE__ */ (0,
|
|
5252
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
5030
5253
|
"path",
|
|
5031
5254
|
{
|
|
5032
5255
|
d: "M3.33333 2H12.6667C13.403 2 14 2.59695 14 3.33333V12.6667C14 13.403 13.403 14 12.6667 14H3.33333C2.59695 14 2 13.403 2 12.6667V3.33333C2 2.59695 2.59695 2 3.33333 2Z",
|
|
@@ -5036,7 +5259,7 @@ var FilterModal = ({
|
|
|
5036
5259
|
strokeLinejoin: "round"
|
|
5037
5260
|
}
|
|
5038
5261
|
),
|
|
5039
|
-
/* @__PURE__ */ (0,
|
|
5262
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
5040
5263
|
"path",
|
|
5041
5264
|
{
|
|
5042
5265
|
d: "M2 6H14",
|
|
@@ -5046,7 +5269,7 @@ var FilterModal = ({
|
|
|
5046
5269
|
strokeLinejoin: "round"
|
|
5047
5270
|
}
|
|
5048
5271
|
),
|
|
5049
|
-
/* @__PURE__ */ (0,
|
|
5272
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
5050
5273
|
"path",
|
|
5051
5274
|
{
|
|
5052
5275
|
d: "M6 2V14",
|
|
@@ -5059,9 +5282,9 @@ var FilterModal = ({
|
|
|
5059
5282
|
]
|
|
5060
5283
|
}
|
|
5061
5284
|
),
|
|
5062
|
-
/* @__PURE__ */ (0,
|
|
5285
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { children: config.label })
|
|
5063
5286
|
] }),
|
|
5064
|
-
/* @__PURE__ */ (0,
|
|
5287
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
5065
5288
|
CheckboxGroup,
|
|
5066
5289
|
{
|
|
5067
5290
|
categories: config.categories,
|
|
@@ -5075,7 +5298,7 @@ var FilterModal = ({
|
|
|
5075
5298
|
|
|
5076
5299
|
// src/components/TableProvider/TableProvider.tsx
|
|
5077
5300
|
var import_phosphor_react11 = require("phosphor-react");
|
|
5078
|
-
var
|
|
5301
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
5079
5302
|
function TableProvider({
|
|
5080
5303
|
data,
|
|
5081
5304
|
headers,
|
|
@@ -5089,13 +5312,15 @@ function TableProvider({
|
|
|
5089
5312
|
initialFilters = [],
|
|
5090
5313
|
paginationConfig = {},
|
|
5091
5314
|
searchPlaceholder = "Buscar...",
|
|
5092
|
-
|
|
5315
|
+
emptyState,
|
|
5316
|
+
loadingState,
|
|
5317
|
+
noSearchResultState,
|
|
5093
5318
|
rowKey,
|
|
5094
5319
|
onParamsChange,
|
|
5095
5320
|
onRowClick,
|
|
5096
5321
|
children
|
|
5097
5322
|
}) {
|
|
5098
|
-
const [searchQuery, setSearchQuery] = (0,
|
|
5323
|
+
const [searchQuery, setSearchQuery] = (0, import_react16.useState)("");
|
|
5099
5324
|
const sortResultRaw = useTableSort(data, { syncWithUrl: true });
|
|
5100
5325
|
const sortResult = enableTableSort ? sortResultRaw : {
|
|
5101
5326
|
sortedData: data,
|
|
@@ -5106,7 +5331,7 @@ function TableProvider({
|
|
|
5106
5331
|
};
|
|
5107
5332
|
const { sortedData, sortColumn, sortDirection, handleSort } = sortResult;
|
|
5108
5333
|
const filterResultRaw = useTableFilter(initialFilters, { syncWithUrl: true });
|
|
5109
|
-
const disabledFilterResult = (0,
|
|
5334
|
+
const disabledFilterResult = (0, import_react16.useMemo)(
|
|
5110
5335
|
() => ({
|
|
5111
5336
|
filterConfigs: [],
|
|
5112
5337
|
activeFilters: {},
|
|
@@ -5136,10 +5361,10 @@ function TableProvider({
|
|
|
5136
5361
|
totalItems,
|
|
5137
5362
|
totalPages
|
|
5138
5363
|
} = paginationConfig;
|
|
5139
|
-
const [currentPage, setCurrentPage] = (0,
|
|
5140
|
-
const [itemsPerPage, setItemsPerPage] = (0,
|
|
5141
|
-
const [isFilterModalOpen, setIsFilterModalOpen] = (0,
|
|
5142
|
-
const combinedParams = (0,
|
|
5364
|
+
const [currentPage, setCurrentPage] = (0, import_react16.useState)(1);
|
|
5365
|
+
const [itemsPerPage, setItemsPerPage] = (0, import_react16.useState)(defaultItemsPerPage);
|
|
5366
|
+
const [isFilterModalOpen, setIsFilterModalOpen] = (0, import_react16.useState)(false);
|
|
5367
|
+
const combinedParams = (0, import_react16.useMemo)(() => {
|
|
5143
5368
|
const params = {
|
|
5144
5369
|
page: currentPage,
|
|
5145
5370
|
limit: itemsPerPage
|
|
@@ -5166,26 +5391,26 @@ function TableProvider({
|
|
|
5166
5391
|
enableFilters,
|
|
5167
5392
|
enableTableSort
|
|
5168
5393
|
]);
|
|
5169
|
-
(0,
|
|
5394
|
+
(0, import_react16.useEffect)(() => {
|
|
5170
5395
|
onParamsChange?.(combinedParams);
|
|
5171
5396
|
}, [combinedParams]);
|
|
5172
|
-
const handleSearchChange = (0,
|
|
5397
|
+
const handleSearchChange = (0, import_react16.useCallback)((value) => {
|
|
5173
5398
|
setSearchQuery(value);
|
|
5174
5399
|
setCurrentPage(1);
|
|
5175
5400
|
}, []);
|
|
5176
|
-
const handleFilterApply = (0,
|
|
5401
|
+
const handleFilterApply = (0, import_react16.useCallback)(() => {
|
|
5177
5402
|
applyFilters();
|
|
5178
5403
|
setIsFilterModalOpen(false);
|
|
5179
5404
|
setCurrentPage(1);
|
|
5180
5405
|
}, [applyFilters]);
|
|
5181
|
-
const handlePageChange = (0,
|
|
5406
|
+
const handlePageChange = (0, import_react16.useCallback)((page) => {
|
|
5182
5407
|
setCurrentPage(page);
|
|
5183
5408
|
}, []);
|
|
5184
|
-
const handleItemsPerPageChange = (0,
|
|
5409
|
+
const handleItemsPerPageChange = (0, import_react16.useCallback)((items) => {
|
|
5185
5410
|
setItemsPerPage(items);
|
|
5186
5411
|
setCurrentPage(1);
|
|
5187
5412
|
}, []);
|
|
5188
|
-
const handleRowClickInternal = (0,
|
|
5413
|
+
const handleRowClickInternal = (0, import_react16.useCallback)(
|
|
5189
5414
|
(row, index) => {
|
|
5190
5415
|
if (enableRowClick && onRowClick) {
|
|
5191
5416
|
onRowClick(row, index);
|
|
@@ -5193,7 +5418,7 @@ function TableProvider({
|
|
|
5193
5418
|
},
|
|
5194
5419
|
[enableRowClick, onRowClick]
|
|
5195
5420
|
);
|
|
5196
|
-
const useInternalPagination = (0,
|
|
5421
|
+
const useInternalPagination = (0, import_react16.useMemo)(
|
|
5197
5422
|
() => enablePagination && !onParamsChange && totalItems === void 0 && totalPages === void 0,
|
|
5198
5423
|
[enablePagination, onParamsChange, totalItems, totalPages]
|
|
5199
5424
|
);
|
|
@@ -5201,29 +5426,32 @@ function TableProvider({
|
|
|
5201
5426
|
(totalItems ?? (useInternalPagination ? sortedData.length : data.length)) / itemsPerPage
|
|
5202
5427
|
);
|
|
5203
5428
|
const calculatedTotalItems = totalItems ?? (useInternalPagination ? sortedData.length : data.length);
|
|
5204
|
-
const displayData = (0,
|
|
5429
|
+
const displayData = (0, import_react16.useMemo)(() => {
|
|
5205
5430
|
if (!useInternalPagination) {
|
|
5206
5431
|
return sortedData;
|
|
5207
5432
|
}
|
|
5208
5433
|
const start = (currentPage - 1) * itemsPerPage;
|
|
5209
5434
|
return sortedData.slice(start, start + itemsPerPage);
|
|
5210
5435
|
}, [useInternalPagination, sortedData, currentPage, itemsPerPage]);
|
|
5211
|
-
const isEmpty =
|
|
5212
|
-
const
|
|
5213
|
-
|
|
5436
|
+
const isEmpty = data.length === 0;
|
|
5437
|
+
const showLoading = loading;
|
|
5438
|
+
const showNoSearchResult = !loading && data.length === 0 && searchQuery.trim() !== "";
|
|
5439
|
+
const showEmpty = !loading && data.length === 0 && searchQuery.trim() === "";
|
|
5440
|
+
const controls = (enableSearch || enableFilters) && /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "flex items-center gap-4", children: [
|
|
5441
|
+
enableFilters && /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
|
|
5214
5442
|
Button_default,
|
|
5215
5443
|
{
|
|
5216
5444
|
variant: "outline",
|
|
5217
5445
|
size: "medium",
|
|
5218
5446
|
onClick: () => setIsFilterModalOpen(true),
|
|
5219
5447
|
children: [
|
|
5220
|
-
/* @__PURE__ */ (0,
|
|
5448
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_phosphor_react11.Funnel, { size: 20 }),
|
|
5221
5449
|
"Filtros",
|
|
5222
|
-
hasActiveFilters && /* @__PURE__ */ (0,
|
|
5450
|
+
hasActiveFilters && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: "ml-2 rounded-full bg-primary-500 px-2 py-0.5 text-xs text-white", children: Object.keys(activeFilters).length })
|
|
5223
5451
|
]
|
|
5224
5452
|
}
|
|
5225
5453
|
),
|
|
5226
|
-
enableSearch && /* @__PURE__ */ (0,
|
|
5454
|
+
enableSearch && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
5227
5455
|
Search_default,
|
|
5228
5456
|
{
|
|
5229
5457
|
value: searchQuery,
|
|
@@ -5234,18 +5462,22 @@ function TableProvider({
|
|
|
5234
5462
|
}
|
|
5235
5463
|
) })
|
|
5236
5464
|
] });
|
|
5237
|
-
const table = /* @__PURE__ */ (0,
|
|
5465
|
+
const table = /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "w-full overflow-x-auto", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
|
|
5238
5466
|
Table_default,
|
|
5239
5467
|
{
|
|
5240
5468
|
variant,
|
|
5241
|
-
|
|
5242
|
-
|
|
5469
|
+
showLoading,
|
|
5470
|
+
loadingState,
|
|
5471
|
+
showNoSearchResult,
|
|
5472
|
+
noSearchResultState,
|
|
5473
|
+
showEmpty,
|
|
5474
|
+
emptyState,
|
|
5243
5475
|
children: [
|
|
5244
|
-
/* @__PURE__ */ (0,
|
|
5476
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
5245
5477
|
TableRow,
|
|
5246
5478
|
{
|
|
5247
5479
|
variant: variant === "borderless" ? "defaultBorderless" : "default",
|
|
5248
|
-
children: headers.map((header, index) => /* @__PURE__ */ (0,
|
|
5480
|
+
children: headers.map((header, index) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
5249
5481
|
TableHead,
|
|
5250
5482
|
{
|
|
5251
5483
|
sortable: enableTableSort && header.sortable,
|
|
@@ -5259,7 +5491,7 @@ function TableProvider({
|
|
|
5259
5491
|
))
|
|
5260
5492
|
}
|
|
5261
5493
|
) }),
|
|
5262
|
-
/* @__PURE__ */ (0,
|
|
5494
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(TableBody, { children: loading ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(TableRow, { children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(TableCell, { colSpan: headers.length, className: "text-center py-8", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: "text-text-400 text-sm", children: "Carregando..." }) }) }) : displayData.map((row, rowIndex) => {
|
|
5263
5495
|
const effectiveIndex = useInternalPagination ? (currentPage - 1) * itemsPerPage + rowIndex : rowIndex;
|
|
5264
5496
|
const rowKeyValue = rowKey ? (() => {
|
|
5265
5497
|
const keyValue = row[rowKey];
|
|
@@ -5271,7 +5503,7 @@ function TableProvider({
|
|
|
5271
5503
|
}
|
|
5272
5504
|
return String(keyValue);
|
|
5273
5505
|
})() : `row-${effectiveIndex}`;
|
|
5274
|
-
return /* @__PURE__ */ (0,
|
|
5506
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
5275
5507
|
TableRow,
|
|
5276
5508
|
{
|
|
5277
5509
|
variant: variant === "borderless" ? "defaultBorderless" : "default",
|
|
@@ -5292,7 +5524,7 @@ function TableProvider({
|
|
|
5292
5524
|
}
|
|
5293
5525
|
}
|
|
5294
5526
|
const content = header.render ? header.render(value, row, effectiveIndex) : defaultContent;
|
|
5295
|
-
return /* @__PURE__ */ (0,
|
|
5527
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
5296
5528
|
TableCell,
|
|
5297
5529
|
{
|
|
5298
5530
|
className: header.className,
|
|
@@ -5311,7 +5543,7 @@ function TableProvider({
|
|
|
5311
5543
|
]
|
|
5312
5544
|
}
|
|
5313
5545
|
) });
|
|
5314
|
-
const pagination = enablePagination && !isEmpty && /* @__PURE__ */ (0,
|
|
5546
|
+
const pagination = enablePagination && !isEmpty && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "flex justify-end", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
5315
5547
|
TablePagination_default,
|
|
5316
5548
|
{
|
|
5317
5549
|
currentPage,
|
|
@@ -5325,9 +5557,9 @@ function TableProvider({
|
|
|
5325
5557
|
}
|
|
5326
5558
|
) });
|
|
5327
5559
|
if (children) {
|
|
5328
|
-
return /* @__PURE__ */ (0,
|
|
5560
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_jsx_runtime26.Fragment, { children: [
|
|
5329
5561
|
children({ controls, table, pagination }),
|
|
5330
|
-
enableFilters && /* @__PURE__ */ (0,
|
|
5562
|
+
enableFilters && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
5331
5563
|
FilterModal,
|
|
5332
5564
|
{
|
|
5333
5565
|
isOpen: isFilterModalOpen,
|
|
@@ -5340,11 +5572,11 @@ function TableProvider({
|
|
|
5340
5572
|
)
|
|
5341
5573
|
] });
|
|
5342
5574
|
}
|
|
5343
|
-
return /* @__PURE__ */ (0,
|
|
5575
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "w-full space-y-4", children: [
|
|
5344
5576
|
controls,
|
|
5345
5577
|
table,
|
|
5346
5578
|
pagination,
|
|
5347
|
-
enableFilters && /* @__PURE__ */ (0,
|
|
5579
|
+
enableFilters && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
5348
5580
|
FilterModal,
|
|
5349
5581
|
{
|
|
5350
5582
|
isOpen: isFilterModalOpen,
|