analytica-frontend-lib 1.1.61 → 1.1.62
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/Accordation/index.js +230 -211
- package/dist/Accordation/index.js.map +1 -1
- package/dist/Accordation/index.mjs +199 -180
- package/dist/Accordation/index.mjs.map +1 -1
- package/dist/Card/index.js +220 -201
- package/dist/Card/index.js.map +1 -1
- package/dist/Card/index.mjs +193 -174
- package/dist/Card/index.mjs.map +1 -1
- package/dist/CheckBox/index.d.mts +1 -1
- package/dist/CheckBox/index.d.ts +1 -1
- package/dist/DropdownMenu/index.js.map +1 -1
- package/dist/DropdownMenu/index.mjs.map +1 -1
- package/dist/IconRender/index.d.mts +2 -2
- package/dist/IconRender/index.d.ts +2 -2
- package/dist/IconRender/index.js +37 -18
- package/dist/IconRender/index.js.map +1 -1
- package/dist/IconRender/index.mjs +37 -18
- package/dist/IconRender/index.mjs.map +1 -1
- package/dist/NotificationCard/index.js.map +1 -1
- package/dist/NotificationCard/index.mjs.map +1 -1
- package/dist/Quiz/index.js +495 -476
- package/dist/Quiz/index.js.map +1 -1
- package/dist/Quiz/index.mjs +412 -393
- package/dist/Quiz/index.mjs.map +1 -1
- package/dist/Radio/index.d.mts +2 -2
- package/dist/Radio/index.d.ts +2 -2
- package/dist/Search/index.d.mts +1 -1
- package/dist/Search/index.d.ts +1 -1
- package/dist/Search/index.js.map +1 -1
- package/dist/Search/index.mjs.map +1 -1
- package/dist/SubjectInfo/index.d.mts +1 -1
- package/dist/SubjectInfo/index.d.ts +1 -1
- package/dist/SubjectInfo/index.js +8 -4
- package/dist/SubjectInfo/index.js.map +1 -1
- package/dist/SubjectInfo/index.mjs +8 -3
- package/dist/SubjectInfo/index.mjs.map +1 -1
- package/dist/{SubjectInfo-DZvZ5alE.d.mts → SubjectInfo-Dvt0OodP.d.mts} +2 -2
- package/dist/{SubjectInfo-DZvZ5alE.d.ts → SubjectInfo-Dvt0OodP.d.ts} +2 -2
- package/dist/ThemeToggle/index.js.map +1 -1
- package/dist/ThemeToggle/index.mjs.map +1 -1
- package/dist/index.css +15 -0
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +473 -558
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +391 -475
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +15 -0
- package/dist/styles.css.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -146,8 +146,8 @@ __export(src_exports, {
|
|
|
146
146
|
getRootDomain: () => getRootDomain,
|
|
147
147
|
getStatusBadge: () => getStatusBadge,
|
|
148
148
|
getSubjectColorClass: () => getSubjectColorClass,
|
|
149
|
-
getSubjectData: () => getSubjectData,
|
|
150
149
|
getSubjectIcon: () => getSubjectIcon,
|
|
150
|
+
getSubjectInfo: () => getSubjectInfo,
|
|
151
151
|
getSubjectName: () => getSubjectName,
|
|
152
152
|
useApiConfig: () => useApiConfig,
|
|
153
153
|
useAuth: () => useAuth,
|
|
@@ -4428,14 +4428,17 @@ var Calendar = ({
|
|
|
4428
4428
|
var Calendar_default = Calendar;
|
|
4429
4429
|
|
|
4430
4430
|
// src/components/Accordation/Accordation.tsx
|
|
4431
|
-
var
|
|
4431
|
+
var import_react18 = require("react");
|
|
4432
4432
|
|
|
4433
4433
|
// src/components/Card/Card.tsx
|
|
4434
|
-
var
|
|
4434
|
+
var import_react17 = require("react");
|
|
4435
4435
|
var import_phosphor_react13 = require("phosphor-react");
|
|
4436
4436
|
|
|
4437
4437
|
// src/components/IconRender/IconRender.tsx
|
|
4438
|
+
var import_react16 = require("react");
|
|
4438
4439
|
var PhosphorIcons = __toESM(require("phosphor-react"));
|
|
4440
|
+
|
|
4441
|
+
// src/assets/icons/subjects/ChatPT.tsx
|
|
4439
4442
|
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
4440
4443
|
var ChatPT = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
4441
4444
|
"svg",
|
|
@@ -4470,7 +4473,10 @@ var ChatPT = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)
|
|
|
4470
4473
|
]
|
|
4471
4474
|
}
|
|
4472
4475
|
);
|
|
4473
|
-
|
|
4476
|
+
|
|
4477
|
+
// src/assets/icons/subjects/ChatEN.tsx
|
|
4478
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
4479
|
+
var ChatEN = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
|
4474
4480
|
"svg",
|
|
4475
4481
|
{
|
|
4476
4482
|
width: size,
|
|
@@ -4479,21 +4485,21 @@ var ChatEN = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)
|
|
|
4479
4485
|
fill: "none",
|
|
4480
4486
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4481
4487
|
children: [
|
|
4482
|
-
/* @__PURE__ */ (0,
|
|
4488
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
4483
4489
|
"path",
|
|
4484
4490
|
{
|
|
4485
4491
|
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",
|
|
4486
4492
|
fill: color
|
|
4487
4493
|
}
|
|
4488
4494
|
),
|
|
4489
|
-
/* @__PURE__ */ (0,
|
|
4495
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
4490
4496
|
"path",
|
|
4491
4497
|
{
|
|
4492
4498
|
d: "M22.5488 12V20.5312H21.0781L17.252 14.4199V20.5312H15.7812V12H17.252L21.0898 18.123V12H22.5488Z",
|
|
4493
4499
|
fill: color
|
|
4494
4500
|
}
|
|
4495
4501
|
),
|
|
4496
|
-
/* @__PURE__ */ (0,
|
|
4502
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
4497
4503
|
"path",
|
|
4498
4504
|
{
|
|
4499
4505
|
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",
|
|
@@ -4503,7 +4509,10 @@ var ChatEN = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)
|
|
|
4503
4509
|
]
|
|
4504
4510
|
}
|
|
4505
4511
|
);
|
|
4506
|
-
|
|
4512
|
+
|
|
4513
|
+
// src/assets/icons/subjects/ChatES.tsx
|
|
4514
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
4515
|
+
var ChatES = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
4507
4516
|
"svg",
|
|
4508
4517
|
{
|
|
4509
4518
|
width: size,
|
|
@@ -4512,21 +4521,21 @@ var ChatES = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)
|
|
|
4512
4521
|
fill: "none",
|
|
4513
4522
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4514
4523
|
children: [
|
|
4515
|
-
/* @__PURE__ */ (0,
|
|
4524
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
4516
4525
|
"path",
|
|
4517
4526
|
{
|
|
4518
4527
|
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",
|
|
4519
4528
|
fill: color
|
|
4520
4529
|
}
|
|
4521
4530
|
),
|
|
4522
|
-
/* @__PURE__ */ (0,
|
|
4531
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
4523
4532
|
"path",
|
|
4524
4533
|
{
|
|
4525
4534
|
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",
|
|
4526
4535
|
fill: color
|
|
4527
4536
|
}
|
|
4528
4537
|
),
|
|
4529
|
-
/* @__PURE__ */ (0,
|
|
4538
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
4530
4539
|
"path",
|
|
4531
4540
|
{
|
|
4532
4541
|
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",
|
|
@@ -4536,29 +4545,39 @@ var ChatES = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)
|
|
|
4536
4545
|
]
|
|
4537
4546
|
}
|
|
4538
4547
|
);
|
|
4548
|
+
|
|
4549
|
+
// src/components/IconRender/IconRender.tsx
|
|
4550
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
4539
4551
|
var IconRender = ({
|
|
4540
4552
|
iconName,
|
|
4541
4553
|
color = "#000000",
|
|
4542
4554
|
size = 24,
|
|
4543
4555
|
weight = "regular"
|
|
4544
4556
|
}) => {
|
|
4545
|
-
|
|
4546
|
-
|
|
4547
|
-
|
|
4548
|
-
|
|
4549
|
-
|
|
4550
|
-
|
|
4551
|
-
|
|
4552
|
-
|
|
4553
|
-
|
|
4554
|
-
|
|
4557
|
+
if (typeof iconName === "string") {
|
|
4558
|
+
switch (iconName) {
|
|
4559
|
+
case "Chat_PT":
|
|
4560
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(ChatPT, { size, color });
|
|
4561
|
+
case "Chat_EN":
|
|
4562
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(ChatEN, { size, color });
|
|
4563
|
+
case "Chat_ES":
|
|
4564
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(ChatES, { size, color });
|
|
4565
|
+
default: {
|
|
4566
|
+
const IconComponent = PhosphorIcons[iconName] || PhosphorIcons.Question;
|
|
4567
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(IconComponent, { size, color, weight });
|
|
4568
|
+
}
|
|
4555
4569
|
}
|
|
4570
|
+
} else {
|
|
4571
|
+
return (0, import_react16.cloneElement)(iconName, {
|
|
4572
|
+
size,
|
|
4573
|
+
color: "currentColor"
|
|
4574
|
+
});
|
|
4556
4575
|
}
|
|
4557
4576
|
};
|
|
4558
4577
|
var IconRender_default = IconRender;
|
|
4559
4578
|
|
|
4560
4579
|
// src/components/Card/Card.tsx
|
|
4561
|
-
var
|
|
4580
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
4562
4581
|
var CARD_BASE_CLASSES = {
|
|
4563
4582
|
default: "w-full bg-background border border-border-50 rounded-xl",
|
|
4564
4583
|
compact: "w-full bg-background border border-border-50 rounded-lg",
|
|
@@ -4584,7 +4603,7 @@ var CARD_CURSOR_CLASSES = {
|
|
|
4584
4603
|
default: "",
|
|
4585
4604
|
pointer: "cursor-pointer"
|
|
4586
4605
|
};
|
|
4587
|
-
var CardBase = (0,
|
|
4606
|
+
var CardBase = (0, import_react17.forwardRef)(
|
|
4588
4607
|
({
|
|
4589
4608
|
children,
|
|
4590
4609
|
variant = "default",
|
|
@@ -4600,7 +4619,7 @@ var CardBase = (0, import_react16.forwardRef)(
|
|
|
4600
4619
|
const minHeightClasses = CARD_MIN_HEIGHT_CLASSES[minHeight];
|
|
4601
4620
|
const layoutClasses = CARD_LAYOUT_CLASSES[layout];
|
|
4602
4621
|
const cursorClasses = CARD_CURSOR_CLASSES[cursor];
|
|
4603
|
-
return /* @__PURE__ */ (0,
|
|
4622
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
4604
4623
|
"div",
|
|
4605
4624
|
{
|
|
4606
4625
|
ref,
|
|
@@ -4642,7 +4661,7 @@ var ACTION_HEADER_CLASSES = {
|
|
|
4642
4661
|
error: "text-error-300",
|
|
4643
4662
|
info: "text-info-300"
|
|
4644
4663
|
};
|
|
4645
|
-
var CardActivitiesResults = (0,
|
|
4664
|
+
var CardActivitiesResults = (0, import_react17.forwardRef)(
|
|
4646
4665
|
({
|
|
4647
4666
|
icon,
|
|
4648
4667
|
title,
|
|
@@ -4658,7 +4677,7 @@ var CardActivitiesResults = (0, import_react16.forwardRef)(
|
|
|
4658
4677
|
const actionIconClasses = ACTION_ICON_CLASSES[action];
|
|
4659
4678
|
const actionSubTitleClasses = ACTION_SUBTITLE_CLASSES[action];
|
|
4660
4679
|
const actionHeaderClasses = ACTION_HEADER_CLASSES[action];
|
|
4661
|
-
return /* @__PURE__ */ (0,
|
|
4680
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
4662
4681
|
"div",
|
|
4663
4682
|
{
|
|
4664
4683
|
ref,
|
|
@@ -4668,7 +4687,7 @@ var CardActivitiesResults = (0, import_react16.forwardRef)(
|
|
|
4668
4687
|
),
|
|
4669
4688
|
...props,
|
|
4670
4689
|
children: [
|
|
4671
|
-
/* @__PURE__ */ (0,
|
|
4690
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
4672
4691
|
"div",
|
|
4673
4692
|
{
|
|
4674
4693
|
className: cn(
|
|
@@ -4677,7 +4696,7 @@ var CardActivitiesResults = (0, import_react16.forwardRef)(
|
|
|
4677
4696
|
extended ? "rounded-t-xl" : "rounded-xl"
|
|
4678
4697
|
),
|
|
4679
4698
|
children: [
|
|
4680
|
-
/* @__PURE__ */ (0,
|
|
4699
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
4681
4700
|
"span",
|
|
4682
4701
|
{
|
|
4683
4702
|
className: cn(
|
|
@@ -4687,7 +4706,7 @@ var CardActivitiesResults = (0, import_react16.forwardRef)(
|
|
|
4687
4706
|
children: icon
|
|
4688
4707
|
}
|
|
4689
4708
|
),
|
|
4690
|
-
/* @__PURE__ */ (0,
|
|
4709
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
4691
4710
|
Text_default,
|
|
4692
4711
|
{
|
|
4693
4712
|
size: "2xs",
|
|
@@ -4696,7 +4715,7 @@ var CardActivitiesResults = (0, import_react16.forwardRef)(
|
|
|
4696
4715
|
children: title
|
|
4697
4716
|
}
|
|
4698
4717
|
),
|
|
4699
|
-
/* @__PURE__ */ (0,
|
|
4718
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
4700
4719
|
"p",
|
|
4701
4720
|
{
|
|
4702
4721
|
className: cn("text-lg font-bold truncate", actionSubTitleClasses),
|
|
@@ -4706,8 +4725,8 @@ var CardActivitiesResults = (0, import_react16.forwardRef)(
|
|
|
4706
4725
|
]
|
|
4707
4726
|
}
|
|
4708
4727
|
),
|
|
4709
|
-
extended && /* @__PURE__ */ (0,
|
|
4710
|
-
/* @__PURE__ */ (0,
|
|
4728
|
+
extended && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex flex-col items-center gap-2.5 pb-9.5 pt-2.5", children: [
|
|
4729
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
4711
4730
|
"p",
|
|
4712
4731
|
{
|
|
4713
4732
|
className: cn(
|
|
@@ -4717,14 +4736,14 @@ var CardActivitiesResults = (0, import_react16.forwardRef)(
|
|
|
4717
4736
|
children: header
|
|
4718
4737
|
}
|
|
4719
4738
|
),
|
|
4720
|
-
/* @__PURE__ */ (0,
|
|
4739
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Badge_default, { size: "large", action: "info", children: description })
|
|
4721
4740
|
] })
|
|
4722
4741
|
]
|
|
4723
4742
|
}
|
|
4724
4743
|
);
|
|
4725
4744
|
}
|
|
4726
4745
|
);
|
|
4727
|
-
var CardQuestions = (0,
|
|
4746
|
+
var CardQuestions = (0, import_react17.forwardRef)(
|
|
4728
4747
|
({
|
|
4729
4748
|
header,
|
|
4730
4749
|
state = "undone",
|
|
@@ -4736,7 +4755,7 @@ var CardQuestions = (0, import_react16.forwardRef)(
|
|
|
4736
4755
|
const isDone = state === "done";
|
|
4737
4756
|
const stateLabel = isDone ? "Realizado" : "N\xE3o Realizado";
|
|
4738
4757
|
const buttonLabel = isDone ? "Ver Quest\xE3o" : "Responder";
|
|
4739
|
-
return /* @__PURE__ */ (0,
|
|
4758
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
4740
4759
|
CardBase,
|
|
4741
4760
|
{
|
|
4742
4761
|
ref,
|
|
@@ -4746,10 +4765,10 @@ var CardQuestions = (0, import_react16.forwardRef)(
|
|
|
4746
4765
|
className: cn("justify-between gap-4", className),
|
|
4747
4766
|
...props,
|
|
4748
4767
|
children: [
|
|
4749
|
-
/* @__PURE__ */ (0,
|
|
4750
|
-
/* @__PURE__ */ (0,
|
|
4751
|
-
/* @__PURE__ */ (0,
|
|
4752
|
-
/* @__PURE__ */ (0,
|
|
4768
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("section", { className: "flex flex-col gap-1 flex-1 min-w-0", children: [
|
|
4769
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "font-bold text-xs text-text-950 truncate", children: header }),
|
|
4770
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex flex-row gap-6 items-center", children: [
|
|
4771
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
4753
4772
|
Badge_default,
|
|
4754
4773
|
{
|
|
4755
4774
|
size: "medium",
|
|
@@ -4758,13 +4777,13 @@ var CardQuestions = (0, import_react16.forwardRef)(
|
|
|
4758
4777
|
children: stateLabel
|
|
4759
4778
|
}
|
|
4760
4779
|
),
|
|
4761
|
-
/* @__PURE__ */ (0,
|
|
4780
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("span", { className: "flex flex-row items-center gap-1 text-text-700 text-xs", children: [
|
|
4762
4781
|
isDone ? "Nota" : "Sem nota",
|
|
4763
|
-
isDone && /* @__PURE__ */ (0,
|
|
4782
|
+
isDone && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Badge_default, { size: "medium", action: "success", children: "00" })
|
|
4764
4783
|
] })
|
|
4765
4784
|
] })
|
|
4766
4785
|
] }),
|
|
4767
|
-
/* @__PURE__ */ (0,
|
|
4786
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
4768
4787
|
Button_default,
|
|
4769
4788
|
{
|
|
4770
4789
|
size: "extra-small",
|
|
@@ -4778,7 +4797,7 @@ var CardQuestions = (0, import_react16.forwardRef)(
|
|
|
4778
4797
|
);
|
|
4779
4798
|
}
|
|
4780
4799
|
);
|
|
4781
|
-
var CardProgress = (0,
|
|
4800
|
+
var CardProgress = (0, import_react17.forwardRef)(
|
|
4782
4801
|
({
|
|
4783
4802
|
header,
|
|
4784
4803
|
subhead,
|
|
@@ -4795,19 +4814,19 @@ var CardProgress = (0, import_react16.forwardRef)(
|
|
|
4795
4814
|
}, ref) => {
|
|
4796
4815
|
const isHorizontal = direction === "horizontal";
|
|
4797
4816
|
const contentComponent = {
|
|
4798
|
-
horizontal: /* @__PURE__ */ (0,
|
|
4799
|
-
showDates && /* @__PURE__ */ (0,
|
|
4800
|
-
initialDate && /* @__PURE__ */ (0,
|
|
4801
|
-
/* @__PURE__ */ (0,
|
|
4802
|
-
/* @__PURE__ */ (0,
|
|
4817
|
+
horizontal: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_jsx_runtime31.Fragment, { children: [
|
|
4818
|
+
showDates && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex flex-row gap-6 items-center", children: [
|
|
4819
|
+
initialDate && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("span", { className: "flex flex-row gap-1 items-center text-2xs", children: [
|
|
4820
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-text-800 font-semibold", children: "In\xEDcio" }),
|
|
4821
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-text-600", children: initialDate })
|
|
4803
4822
|
] }),
|
|
4804
|
-
endDate && /* @__PURE__ */ (0,
|
|
4805
|
-
/* @__PURE__ */ (0,
|
|
4806
|
-
/* @__PURE__ */ (0,
|
|
4823
|
+
endDate && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("span", { className: "flex flex-row gap-1 items-center text-2xs", children: [
|
|
4824
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-text-800 font-semibold", children: "Fim" }),
|
|
4825
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-text-600", children: endDate })
|
|
4807
4826
|
] })
|
|
4808
4827
|
] }),
|
|
4809
|
-
/* @__PURE__ */ (0,
|
|
4810
|
-
/* @__PURE__ */ (0,
|
|
4828
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("span", { className: "grid grid-cols-[1fr_auto] items-center gap-2", children: [
|
|
4829
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
4811
4830
|
ProgressBar_default,
|
|
4812
4831
|
{
|
|
4813
4832
|
size: "small",
|
|
@@ -4816,7 +4835,7 @@ var CardProgress = (0, import_react16.forwardRef)(
|
|
|
4816
4835
|
"data-testid": "progress-bar"
|
|
4817
4836
|
}
|
|
4818
4837
|
),
|
|
4819
|
-
/* @__PURE__ */ (0,
|
|
4838
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
4820
4839
|
Text_default,
|
|
4821
4840
|
{
|
|
4822
4841
|
size: "xs",
|
|
@@ -4832,9 +4851,9 @@ var CardProgress = (0, import_react16.forwardRef)(
|
|
|
4832
4851
|
)
|
|
4833
4852
|
] })
|
|
4834
4853
|
] }),
|
|
4835
|
-
vertical: /* @__PURE__ */ (0,
|
|
4854
|
+
vertical: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-sm text-text-800", children: subhead })
|
|
4836
4855
|
};
|
|
4837
|
-
return /* @__PURE__ */ (0,
|
|
4856
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
4838
4857
|
CardBase,
|
|
4839
4858
|
{
|
|
4840
4859
|
ref,
|
|
@@ -4845,20 +4864,20 @@ var CardProgress = (0, import_react16.forwardRef)(
|
|
|
4845
4864
|
className: cn(isHorizontal ? "h-20" : "", className),
|
|
4846
4865
|
...props,
|
|
4847
4866
|
children: [
|
|
4848
|
-
/* @__PURE__ */ (0,
|
|
4867
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
4849
4868
|
"div",
|
|
4850
4869
|
{
|
|
4851
4870
|
className: cn(
|
|
4852
4871
|
"flex justify-center items-center [&>svg]:size-6 text-text-950",
|
|
4853
4872
|
isHorizontal ? "min-w-[80px] min-h-[80px] rounded-l-xl" : "min-h-[50px] w-full rounded-t-xl",
|
|
4854
|
-
!color.startsWith("#") ?
|
|
4873
|
+
!color.startsWith("#") ? `${color}` : ""
|
|
4855
4874
|
),
|
|
4856
4875
|
style: color.startsWith("#") ? { backgroundColor: color } : void 0,
|
|
4857
4876
|
"data-testid": "icon-container",
|
|
4858
4877
|
children: icon
|
|
4859
4878
|
}
|
|
4860
4879
|
),
|
|
4861
|
-
/* @__PURE__ */ (0,
|
|
4880
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
4862
4881
|
"div",
|
|
4863
4882
|
{
|
|
4864
4883
|
className: cn(
|
|
@@ -4866,7 +4885,7 @@ var CardProgress = (0, import_react16.forwardRef)(
|
|
|
4866
4885
|
!isHorizontal && "gap-4"
|
|
4867
4886
|
),
|
|
4868
4887
|
children: [
|
|
4869
|
-
/* @__PURE__ */ (0,
|
|
4888
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Text_default, { size: "sm", weight: "bold", className: "text-text-950 truncate", children: header }),
|
|
4870
4889
|
contentComponent[direction]
|
|
4871
4890
|
]
|
|
4872
4891
|
}
|
|
@@ -4876,7 +4895,7 @@ var CardProgress = (0, import_react16.forwardRef)(
|
|
|
4876
4895
|
);
|
|
4877
4896
|
}
|
|
4878
4897
|
);
|
|
4879
|
-
var CardTopic = (0,
|
|
4898
|
+
var CardTopic = (0, import_react17.forwardRef)(
|
|
4880
4899
|
({
|
|
4881
4900
|
header,
|
|
4882
4901
|
subHead,
|
|
@@ -4886,7 +4905,7 @@ var CardTopic = (0, import_react16.forwardRef)(
|
|
|
4886
4905
|
className = "",
|
|
4887
4906
|
...props
|
|
4888
4907
|
}, ref) => {
|
|
4889
|
-
return /* @__PURE__ */ (0,
|
|
4908
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
4890
4909
|
CardBase,
|
|
4891
4910
|
{
|
|
4892
4911
|
ref,
|
|
@@ -4897,13 +4916,13 @@ var CardTopic = (0, import_react16.forwardRef)(
|
|
|
4897
4916
|
className: cn("justify-center gap-2 py-2 px-4", className),
|
|
4898
4917
|
...props,
|
|
4899
4918
|
children: [
|
|
4900
|
-
subHead && /* @__PURE__ */ (0,
|
|
4901
|
-
/* @__PURE__ */ (0,
|
|
4902
|
-
index < subHead.length - 1 && /* @__PURE__ */ (0,
|
|
4919
|
+
subHead && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "text-text-600 text-2xs flex flex-row gap-1", children: subHead.map((text, index) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_react17.Fragment, { children: [
|
|
4920
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { children: text }),
|
|
4921
|
+
index < subHead.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { children: "\u2022" })
|
|
4903
4922
|
] }, `${text} - ${index}`)) }),
|
|
4904
|
-
/* @__PURE__ */ (0,
|
|
4905
|
-
/* @__PURE__ */ (0,
|
|
4906
|
-
/* @__PURE__ */ (0,
|
|
4923
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-sm text-text-950 font-bold truncate", children: header }),
|
|
4924
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("span", { className: "grid grid-cols-[1fr_auto] items-center gap-2", children: [
|
|
4925
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
4907
4926
|
ProgressBar_default,
|
|
4908
4927
|
{
|
|
4909
4928
|
size: "small",
|
|
@@ -4912,7 +4931,7 @@ var CardTopic = (0, import_react16.forwardRef)(
|
|
|
4912
4931
|
"data-testid": "progress-bar"
|
|
4913
4932
|
}
|
|
4914
4933
|
),
|
|
4915
|
-
showPercentage && /* @__PURE__ */ (0,
|
|
4934
|
+
showPercentage && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
4916
4935
|
Text_default,
|
|
4917
4936
|
{
|
|
4918
4937
|
size: "xs",
|
|
@@ -4932,7 +4951,7 @@ var CardTopic = (0, import_react16.forwardRef)(
|
|
|
4932
4951
|
);
|
|
4933
4952
|
}
|
|
4934
4953
|
);
|
|
4935
|
-
var CardPerformance = (0,
|
|
4954
|
+
var CardPerformance = (0, import_react17.forwardRef)(
|
|
4936
4955
|
({
|
|
4937
4956
|
header,
|
|
4938
4957
|
progress,
|
|
@@ -4946,7 +4965,7 @@ var CardPerformance = (0, import_react16.forwardRef)(
|
|
|
4946
4965
|
...props
|
|
4947
4966
|
}, ref) => {
|
|
4948
4967
|
const hasProgress = progress !== void 0;
|
|
4949
|
-
return /* @__PURE__ */ (0,
|
|
4968
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
4950
4969
|
CardBase,
|
|
4951
4970
|
{
|
|
4952
4971
|
ref,
|
|
@@ -4960,10 +4979,10 @@ var CardPerformance = (0, import_react16.forwardRef)(
|
|
|
4960
4979
|
onClick: () => actionVariant == "caret" && onClickButton?.(valueButton),
|
|
4961
4980
|
...props,
|
|
4962
4981
|
children: [
|
|
4963
|
-
/* @__PURE__ */ (0,
|
|
4964
|
-
/* @__PURE__ */ (0,
|
|
4965
|
-
/* @__PURE__ */ (0,
|
|
4966
|
-
actionVariant === "button" && /* @__PURE__ */ (0,
|
|
4982
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "w-full flex flex-col justify-between gap-2", children: [
|
|
4983
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex flex-row justify-between items-center gap-2", children: [
|
|
4984
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-lg font-bold text-text-950 truncate flex-1 min-w-0", children: header }),
|
|
4985
|
+
actionVariant === "button" && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
4967
4986
|
Button_default,
|
|
4968
4987
|
{
|
|
4969
4988
|
variant: "outline",
|
|
@@ -4974,16 +4993,16 @@ var CardPerformance = (0, import_react16.forwardRef)(
|
|
|
4974
4993
|
}
|
|
4975
4994
|
)
|
|
4976
4995
|
] }),
|
|
4977
|
-
/* @__PURE__ */ (0,
|
|
4996
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "w-full", children: hasProgress ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
4978
4997
|
ProgressBar_default,
|
|
4979
4998
|
{
|
|
4980
4999
|
value: progress,
|
|
4981
5000
|
label: `${progress}% ${labelProgress}`,
|
|
4982
5001
|
variant: progressVariant
|
|
4983
5002
|
}
|
|
4984
|
-
) : /* @__PURE__ */ (0,
|
|
5003
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-xs text-text-600 truncate", children: description }) })
|
|
4985
5004
|
] }),
|
|
4986
|
-
actionVariant == "caret" && /* @__PURE__ */ (0,
|
|
5005
|
+
actionVariant == "caret" && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
4987
5006
|
import_phosphor_react13.CaretRight,
|
|
4988
5007
|
{
|
|
4989
5008
|
className: "size-4.5 text-text-800 cursor-pointer",
|
|
@@ -4995,7 +5014,7 @@ var CardPerformance = (0, import_react16.forwardRef)(
|
|
|
4995
5014
|
);
|
|
4996
5015
|
}
|
|
4997
5016
|
);
|
|
4998
|
-
var CardResults = (0,
|
|
5017
|
+
var CardResults = (0, import_react17.forwardRef)(
|
|
4999
5018
|
({
|
|
5000
5019
|
header,
|
|
5001
5020
|
correct_answers,
|
|
@@ -5007,7 +5026,7 @@ var CardResults = (0, import_react16.forwardRef)(
|
|
|
5007
5026
|
...props
|
|
5008
5027
|
}, ref) => {
|
|
5009
5028
|
const isRow = direction == "row";
|
|
5010
|
-
return /* @__PURE__ */ (0,
|
|
5029
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
5011
5030
|
CardBase,
|
|
5012
5031
|
{
|
|
5013
5032
|
ref,
|
|
@@ -5017,7 +5036,7 @@ var CardResults = (0, import_react16.forwardRef)(
|
|
|
5017
5036
|
className: cn("items-stretch cursor-pointer pr-4", className),
|
|
5018
5037
|
...props,
|
|
5019
5038
|
children: [
|
|
5020
|
-
/* @__PURE__ */ (0,
|
|
5039
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5021
5040
|
"div",
|
|
5022
5041
|
{
|
|
5023
5042
|
className: cn(
|
|
@@ -5026,11 +5045,11 @@ var CardResults = (0, import_react16.forwardRef)(
|
|
|
5026
5045
|
style: {
|
|
5027
5046
|
backgroundColor: color
|
|
5028
5047
|
},
|
|
5029
|
-
children: /* @__PURE__ */ (0,
|
|
5048
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(IconRender_default, { iconName: icon, color: "currentColor", size: 20 })
|
|
5030
5049
|
}
|
|
5031
5050
|
),
|
|
5032
|
-
/* @__PURE__ */ (0,
|
|
5033
|
-
/* @__PURE__ */ (0,
|
|
5051
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "w-full flex flex-row justify-between items-center", children: [
|
|
5052
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
5034
5053
|
"div",
|
|
5035
5054
|
{
|
|
5036
5055
|
className: cn(
|
|
@@ -5038,28 +5057,28 @@ var CardResults = (0, import_react16.forwardRef)(
|
|
|
5038
5057
|
isRow ? "flex-row items-center gap-2" : "flex-col"
|
|
5039
5058
|
),
|
|
5040
5059
|
children: [
|
|
5041
|
-
/* @__PURE__ */ (0,
|
|
5042
|
-
/* @__PURE__ */ (0,
|
|
5043
|
-
/* @__PURE__ */ (0,
|
|
5060
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-sm font-bold text-text-950 flex-1", children: header }),
|
|
5061
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("span", { className: "flex flex-wrap flex-row gap-1 items-center", children: [
|
|
5062
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
5044
5063
|
Badge_default,
|
|
5045
5064
|
{
|
|
5046
5065
|
action: "success",
|
|
5047
5066
|
variant: "solid",
|
|
5048
5067
|
size: "large",
|
|
5049
|
-
iconLeft: /* @__PURE__ */ (0,
|
|
5068
|
+
iconLeft: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_phosphor_react13.CheckCircle, {}),
|
|
5050
5069
|
children: [
|
|
5051
5070
|
correct_answers,
|
|
5052
5071
|
" Corretas"
|
|
5053
5072
|
]
|
|
5054
5073
|
}
|
|
5055
5074
|
),
|
|
5056
|
-
/* @__PURE__ */ (0,
|
|
5075
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
5057
5076
|
Badge_default,
|
|
5058
5077
|
{
|
|
5059
5078
|
action: "error",
|
|
5060
5079
|
variant: "solid",
|
|
5061
5080
|
size: "large",
|
|
5062
|
-
iconLeft: /* @__PURE__ */ (0,
|
|
5081
|
+
iconLeft: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_phosphor_react13.XCircle, {}),
|
|
5063
5082
|
children: [
|
|
5064
5083
|
incorrect_answers,
|
|
5065
5084
|
" Incorretas"
|
|
@@ -5070,14 +5089,14 @@ var CardResults = (0, import_react16.forwardRef)(
|
|
|
5070
5089
|
]
|
|
5071
5090
|
}
|
|
5072
5091
|
),
|
|
5073
|
-
/* @__PURE__ */ (0,
|
|
5092
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_phosphor_react13.CaretRight, { className: "min-w-6 min-h-6 text-text-800" })
|
|
5074
5093
|
] })
|
|
5075
5094
|
]
|
|
5076
5095
|
}
|
|
5077
5096
|
);
|
|
5078
5097
|
}
|
|
5079
5098
|
);
|
|
5080
|
-
var CardStatus = (0,
|
|
5099
|
+
var CardStatus = (0, import_react17.forwardRef)(
|
|
5081
5100
|
({ header, className, status, label, ...props }, ref) => {
|
|
5082
5101
|
const getLabelBadge = (status2) => {
|
|
5083
5102
|
switch (status2) {
|
|
@@ -5091,7 +5110,7 @@ var CardStatus = (0, import_react16.forwardRef)(
|
|
|
5091
5110
|
return "Em branco";
|
|
5092
5111
|
}
|
|
5093
5112
|
};
|
|
5094
|
-
return /* @__PURE__ */ (0,
|
|
5113
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5095
5114
|
CardBase,
|
|
5096
5115
|
{
|
|
5097
5116
|
ref,
|
|
@@ -5100,30 +5119,30 @@ var CardStatus = (0, import_react16.forwardRef)(
|
|
|
5100
5119
|
minHeight: "medium",
|
|
5101
5120
|
className: cn("items-center cursor-pointer", className),
|
|
5102
5121
|
...props,
|
|
5103
|
-
children: /* @__PURE__ */ (0,
|
|
5104
|
-
/* @__PURE__ */ (0,
|
|
5105
|
-
/* @__PURE__ */ (0,
|
|
5106
|
-
status && /* @__PURE__ */ (0,
|
|
5122
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex justify-between w-full h-full flex-row items-center gap-2", children: [
|
|
5123
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-sm font-bold text-text-950 truncate flex-1 min-w-0", children: header }),
|
|
5124
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("span", { className: "flex flex-row gap-1 items-center flex-shrink-0", children: [
|
|
5125
|
+
status && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5107
5126
|
Badge_default,
|
|
5108
5127
|
{
|
|
5109
5128
|
action: status == "correct" ? "success" : "error",
|
|
5110
5129
|
variant: "solid",
|
|
5111
5130
|
size: "medium",
|
|
5112
|
-
iconLeft: status == "correct" ? /* @__PURE__ */ (0,
|
|
5131
|
+
iconLeft: status == "correct" ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_phosphor_react13.CheckCircle, {}) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_phosphor_react13.XCircle, {}),
|
|
5113
5132
|
children: getLabelBadge(status)
|
|
5114
5133
|
}
|
|
5115
5134
|
),
|
|
5116
|
-
label && /* @__PURE__ */ (0,
|
|
5135
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-sm text-text-800", children: label })
|
|
5117
5136
|
] }),
|
|
5118
|
-
/* @__PURE__ */ (0,
|
|
5137
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_phosphor_react13.CaretRight, { className: "min-w-6 min-h-6 text-text-800 cursor-pointer flex-shrink-0 ml-2" })
|
|
5119
5138
|
] })
|
|
5120
5139
|
}
|
|
5121
5140
|
);
|
|
5122
5141
|
}
|
|
5123
5142
|
);
|
|
5124
|
-
var CardSettings = (0,
|
|
5143
|
+
var CardSettings = (0, import_react17.forwardRef)(
|
|
5125
5144
|
({ header, className, icon, ...props }, ref) => {
|
|
5126
|
-
return /* @__PURE__ */ (0,
|
|
5145
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
5127
5146
|
CardBase,
|
|
5128
5147
|
{
|
|
5129
5148
|
ref,
|
|
@@ -5136,17 +5155,17 @@ var CardSettings = (0, import_react16.forwardRef)(
|
|
|
5136
5155
|
),
|
|
5137
5156
|
...props,
|
|
5138
5157
|
children: [
|
|
5139
|
-
/* @__PURE__ */ (0,
|
|
5140
|
-
/* @__PURE__ */ (0,
|
|
5141
|
-
/* @__PURE__ */ (0,
|
|
5158
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "[&>svg]:size-6", children: icon }),
|
|
5159
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "w-full text-sm truncate", children: header }),
|
|
5160
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_phosphor_react13.CaretRight, { size: 24, className: "cursor-pointer" })
|
|
5142
5161
|
]
|
|
5143
5162
|
}
|
|
5144
5163
|
);
|
|
5145
5164
|
}
|
|
5146
5165
|
);
|
|
5147
|
-
var CardSupport = (0,
|
|
5166
|
+
var CardSupport = (0, import_react17.forwardRef)(
|
|
5148
5167
|
({ header, className, direction = "col", children, ...props }, ref) => {
|
|
5149
|
-
return /* @__PURE__ */ (0,
|
|
5168
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
5150
5169
|
CardBase,
|
|
5151
5170
|
{
|
|
5152
5171
|
ref,
|
|
@@ -5159,7 +5178,7 @@ var CardSupport = (0, import_react16.forwardRef)(
|
|
|
5159
5178
|
),
|
|
5160
5179
|
...props,
|
|
5161
5180
|
children: [
|
|
5162
|
-
/* @__PURE__ */ (0,
|
|
5181
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
5163
5182
|
"div",
|
|
5164
5183
|
{
|
|
5165
5184
|
className: cn(
|
|
@@ -5167,18 +5186,18 @@ var CardSupport = (0, import_react16.forwardRef)(
|
|
|
5167
5186
|
direction == "col" ? "flex-col" : "flex-row items-center"
|
|
5168
5187
|
),
|
|
5169
5188
|
children: [
|
|
5170
|
-
/* @__PURE__ */ (0,
|
|
5171
|
-
/* @__PURE__ */ (0,
|
|
5189
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-sm text-text-950 font-bold truncate", children: header }) }),
|
|
5190
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "flex flex-row gap-1", children })
|
|
5172
5191
|
]
|
|
5173
5192
|
}
|
|
5174
5193
|
),
|
|
5175
|
-
/* @__PURE__ */ (0,
|
|
5194
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_phosphor_react13.CaretRight, { className: "text-text-800 cursor-pointer", size: 24 })
|
|
5176
5195
|
]
|
|
5177
5196
|
}
|
|
5178
5197
|
);
|
|
5179
5198
|
}
|
|
5180
5199
|
);
|
|
5181
|
-
var CardForum = (0,
|
|
5200
|
+
var CardForum = (0, import_react17.forwardRef)(
|
|
5182
5201
|
({
|
|
5183
5202
|
title,
|
|
5184
5203
|
content,
|
|
@@ -5192,7 +5211,7 @@ var CardForum = (0, import_react16.forwardRef)(
|
|
|
5192
5211
|
hour,
|
|
5193
5212
|
...props
|
|
5194
5213
|
}, ref) => {
|
|
5195
|
-
return /* @__PURE__ */ (0,
|
|
5214
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
5196
5215
|
CardBase,
|
|
5197
5216
|
{
|
|
5198
5217
|
ref,
|
|
@@ -5203,7 +5222,7 @@ var CardForum = (0, import_react16.forwardRef)(
|
|
|
5203
5222
|
className: cn("w-auto h-auto gap-3", className),
|
|
5204
5223
|
...props,
|
|
5205
5224
|
children: [
|
|
5206
|
-
/* @__PURE__ */ (0,
|
|
5225
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5207
5226
|
"button",
|
|
5208
5227
|
{
|
|
5209
5228
|
type: "button",
|
|
@@ -5212,18 +5231,18 @@ var CardForum = (0, import_react16.forwardRef)(
|
|
|
5212
5231
|
className: "min-w-8 h-8 rounded-full bg-background-950"
|
|
5213
5232
|
}
|
|
5214
5233
|
),
|
|
5215
|
-
/* @__PURE__ */ (0,
|
|
5216
|
-
/* @__PURE__ */ (0,
|
|
5217
|
-
/* @__PURE__ */ (0,
|
|
5218
|
-
/* @__PURE__ */ (0,
|
|
5234
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex flex-col gap-2 flex-1 min-w-0", children: [
|
|
5235
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex flex-row gap-1 items-center flex-wrap", children: [
|
|
5236
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-xs font-semibold text-primary-700 truncate", children: title }),
|
|
5237
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("p", { className: "text-xs text-text-600", children: [
|
|
5219
5238
|
"\u2022 ",
|
|
5220
5239
|
date,
|
|
5221
5240
|
" \u2022 ",
|
|
5222
5241
|
hour
|
|
5223
5242
|
] })
|
|
5224
5243
|
] }),
|
|
5225
|
-
/* @__PURE__ */ (0,
|
|
5226
|
-
/* @__PURE__ */ (0,
|
|
5244
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-text-950 text-sm line-clamp-2 truncate", children: content }),
|
|
5245
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
5227
5246
|
"button",
|
|
5228
5247
|
{
|
|
5229
5248
|
type: "button",
|
|
@@ -5231,8 +5250,8 @@ var CardForum = (0, import_react16.forwardRef)(
|
|
|
5231
5250
|
onClick: () => onClickComments?.(valueComments),
|
|
5232
5251
|
className: "text-text-600 flex flex-row gap-2 items-center",
|
|
5233
5252
|
children: [
|
|
5234
|
-
/* @__PURE__ */ (0,
|
|
5235
|
-
/* @__PURE__ */ (0,
|
|
5253
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_phosphor_react13.ChatCircleText, { "aria-hidden": "true", size: 16 }),
|
|
5254
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("p", { className: "text-xs", children: [
|
|
5236
5255
|
comments,
|
|
5237
5256
|
" respostas"
|
|
5238
5257
|
] })
|
|
@@ -5245,7 +5264,7 @@ var CardForum = (0, import_react16.forwardRef)(
|
|
|
5245
5264
|
);
|
|
5246
5265
|
}
|
|
5247
5266
|
);
|
|
5248
|
-
var CardAudio = (0,
|
|
5267
|
+
var CardAudio = (0, import_react17.forwardRef)(
|
|
5249
5268
|
({
|
|
5250
5269
|
src,
|
|
5251
5270
|
title,
|
|
@@ -5259,16 +5278,16 @@ var CardAudio = (0, import_react16.forwardRef)(
|
|
|
5259
5278
|
className,
|
|
5260
5279
|
...props
|
|
5261
5280
|
}, ref) => {
|
|
5262
|
-
const [isPlaying, setIsPlaying] = (0,
|
|
5263
|
-
const [currentTime, setCurrentTime] = (0,
|
|
5264
|
-
const [duration, setDuration] = (0,
|
|
5265
|
-
const [volume, setVolume] = (0,
|
|
5266
|
-
const [showVolumeControl, setShowVolumeControl] = (0,
|
|
5267
|
-
const [showSpeedMenu, setShowSpeedMenu] = (0,
|
|
5268
|
-
const [playbackRate, setPlaybackRate] = (0,
|
|
5269
|
-
const audioRef = (0,
|
|
5270
|
-
const volumeControlRef = (0,
|
|
5271
|
-
const speedMenuRef = (0,
|
|
5281
|
+
const [isPlaying, setIsPlaying] = (0, import_react17.useState)(false);
|
|
5282
|
+
const [currentTime, setCurrentTime] = (0, import_react17.useState)(0);
|
|
5283
|
+
const [duration, setDuration] = (0, import_react17.useState)(0);
|
|
5284
|
+
const [volume, setVolume] = (0, import_react17.useState)(1);
|
|
5285
|
+
const [showVolumeControl, setShowVolumeControl] = (0, import_react17.useState)(false);
|
|
5286
|
+
const [showSpeedMenu, setShowSpeedMenu] = (0, import_react17.useState)(false);
|
|
5287
|
+
const [playbackRate, setPlaybackRate] = (0, import_react17.useState)(1);
|
|
5288
|
+
const audioRef = (0, import_react17.useRef)(null);
|
|
5289
|
+
const volumeControlRef = (0, import_react17.useRef)(null);
|
|
5290
|
+
const speedMenuRef = (0, import_react17.useRef)(null);
|
|
5272
5291
|
const formatTime2 = (time) => {
|
|
5273
5292
|
const minutes = Math.floor(time / 60);
|
|
5274
5293
|
const seconds = Math.floor(time % 60);
|
|
@@ -5335,14 +5354,14 @@ var CardAudio = (0, import_react16.forwardRef)(
|
|
|
5335
5354
|
};
|
|
5336
5355
|
const getVolumeIcon = () => {
|
|
5337
5356
|
if (volume === 0) {
|
|
5338
|
-
return /* @__PURE__ */ (0,
|
|
5357
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_phosphor_react13.SpeakerSimpleX, { size: 24 });
|
|
5339
5358
|
}
|
|
5340
5359
|
if (volume < 0.5) {
|
|
5341
|
-
return /* @__PURE__ */ (0,
|
|
5360
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_phosphor_react13.SpeakerLow, { size: 24 });
|
|
5342
5361
|
}
|
|
5343
|
-
return /* @__PURE__ */ (0,
|
|
5362
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_phosphor_react13.SpeakerHigh, { size: 24 });
|
|
5344
5363
|
};
|
|
5345
|
-
(0,
|
|
5364
|
+
(0, import_react17.useEffect)(() => {
|
|
5346
5365
|
const handleClickOutside = (event) => {
|
|
5347
5366
|
if (volumeControlRef.current && !volumeControlRef.current.contains(event.target)) {
|
|
5348
5367
|
setShowVolumeControl(false);
|
|
@@ -5356,7 +5375,7 @@ var CardAudio = (0, import_react16.forwardRef)(
|
|
|
5356
5375
|
document.removeEventListener("mousedown", handleClickOutside);
|
|
5357
5376
|
};
|
|
5358
5377
|
}, []);
|
|
5359
|
-
return /* @__PURE__ */ (0,
|
|
5378
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
5360
5379
|
CardBase,
|
|
5361
5380
|
{
|
|
5362
5381
|
ref,
|
|
@@ -5369,7 +5388,7 @@ var CardAudio = (0, import_react16.forwardRef)(
|
|
|
5369
5388
|
),
|
|
5370
5389
|
...props,
|
|
5371
5390
|
children: [
|
|
5372
|
-
/* @__PURE__ */ (0,
|
|
5391
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5373
5392
|
"audio",
|
|
5374
5393
|
{
|
|
5375
5394
|
ref: audioRef,
|
|
@@ -5381,7 +5400,7 @@ var CardAudio = (0, import_react16.forwardRef)(
|
|
|
5381
5400
|
onEnded: handleEnded,
|
|
5382
5401
|
"data-testid": "audio-element",
|
|
5383
5402
|
"aria-label": title,
|
|
5384
|
-
children: tracks ? tracks.map((track) => /* @__PURE__ */ (0,
|
|
5403
|
+
children: tracks ? tracks.map((track) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5385
5404
|
"track",
|
|
5386
5405
|
{
|
|
5387
5406
|
kind: track.kind,
|
|
@@ -5391,7 +5410,7 @@ var CardAudio = (0, import_react16.forwardRef)(
|
|
|
5391
5410
|
default: track.default
|
|
5392
5411
|
},
|
|
5393
5412
|
track.src
|
|
5394
|
-
)) : /* @__PURE__ */ (0,
|
|
5413
|
+
)) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5395
5414
|
"track",
|
|
5396
5415
|
{
|
|
5397
5416
|
kind: "captions",
|
|
@@ -5402,7 +5421,7 @@ var CardAudio = (0, import_react16.forwardRef)(
|
|
|
5402
5421
|
)
|
|
5403
5422
|
}
|
|
5404
5423
|
),
|
|
5405
|
-
/* @__PURE__ */ (0,
|
|
5424
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5406
5425
|
"button",
|
|
5407
5426
|
{
|
|
5408
5427
|
type: "button",
|
|
@@ -5410,14 +5429,14 @@ var CardAudio = (0, import_react16.forwardRef)(
|
|
|
5410
5429
|
disabled: !src,
|
|
5411
5430
|
className: "cursor-pointer text-text-950 hover:text-primary-600 disabled:text-text-400 disabled:cursor-not-allowed",
|
|
5412
5431
|
"aria-label": isPlaying ? "Pausar" : "Reproduzir",
|
|
5413
|
-
children: isPlaying ? /* @__PURE__ */ (0,
|
|
5414
|
-
/* @__PURE__ */ (0,
|
|
5415
|
-
/* @__PURE__ */ (0,
|
|
5416
|
-
] }) }) : /* @__PURE__ */ (0,
|
|
5432
|
+
children: isPlaying ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "w-6 h-6 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex gap-0.5", children: [
|
|
5433
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "w-1 h-4 bg-current rounded-sm" }),
|
|
5434
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "w-1 h-4 bg-current rounded-sm" })
|
|
5435
|
+
] }) }) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_phosphor_react13.Play, { size: 24 })
|
|
5417
5436
|
}
|
|
5418
5437
|
),
|
|
5419
|
-
/* @__PURE__ */ (0,
|
|
5420
|
-
/* @__PURE__ */ (0,
|
|
5438
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-text-800 text-md font-medium min-w-[2.5rem]", children: formatTime2(currentTime) }),
|
|
5439
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "flex-1 relative", "data-testid": "progress-bar", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5421
5440
|
"button",
|
|
5422
5441
|
{
|
|
5423
5442
|
type: "button",
|
|
@@ -5432,7 +5451,7 @@ var CardAudio = (0, import_react16.forwardRef)(
|
|
|
5432
5451
|
}
|
|
5433
5452
|
},
|
|
5434
5453
|
"aria-label": "Barra de progresso do \xE1udio",
|
|
5435
|
-
children: /* @__PURE__ */ (0,
|
|
5454
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5436
5455
|
"div",
|
|
5437
5456
|
{
|
|
5438
5457
|
className: "h-full bg-primary-600 rounded-full transition-all duration-100",
|
|
@@ -5443,19 +5462,19 @@ var CardAudio = (0, import_react16.forwardRef)(
|
|
|
5443
5462
|
)
|
|
5444
5463
|
}
|
|
5445
5464
|
) }),
|
|
5446
|
-
/* @__PURE__ */ (0,
|
|
5447
|
-
/* @__PURE__ */ (0,
|
|
5448
|
-
/* @__PURE__ */ (0,
|
|
5465
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-text-800 text-md font-medium min-w-[2.5rem]", children: formatTime2(duration) }),
|
|
5466
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "relative h-6", ref: volumeControlRef, children: [
|
|
5467
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5449
5468
|
"button",
|
|
5450
5469
|
{
|
|
5451
5470
|
type: "button",
|
|
5452
5471
|
onClick: toggleVolumeControl,
|
|
5453
5472
|
className: "cursor-pointer text-text-950 hover:text-primary-600",
|
|
5454
5473
|
"aria-label": "Controle de volume",
|
|
5455
|
-
children: /* @__PURE__ */ (0,
|
|
5474
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "w-6 h-6 flex items-center justify-center", children: getVolumeIcon() })
|
|
5456
5475
|
}
|
|
5457
5476
|
),
|
|
5458
|
-
showVolumeControl && /* @__PURE__ */ (0,
|
|
5477
|
+
showVolumeControl && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5459
5478
|
"button",
|
|
5460
5479
|
{
|
|
5461
5480
|
type: "button",
|
|
@@ -5465,7 +5484,7 @@ var CardAudio = (0, import_react16.forwardRef)(
|
|
|
5465
5484
|
setShowVolumeControl(false);
|
|
5466
5485
|
}
|
|
5467
5486
|
},
|
|
5468
|
-
children: /* @__PURE__ */ (0,
|
|
5487
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5469
5488
|
"input",
|
|
5470
5489
|
{
|
|
5471
5490
|
type: "range",
|
|
@@ -5506,22 +5525,22 @@ var CardAudio = (0, import_react16.forwardRef)(
|
|
|
5506
5525
|
}
|
|
5507
5526
|
)
|
|
5508
5527
|
] }),
|
|
5509
|
-
/* @__PURE__ */ (0,
|
|
5510
|
-
/* @__PURE__ */ (0,
|
|
5528
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "relative h-6", ref: speedMenuRef, children: [
|
|
5529
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5511
5530
|
"button",
|
|
5512
5531
|
{
|
|
5513
5532
|
type: "button",
|
|
5514
5533
|
onClick: toggleSpeedMenu,
|
|
5515
5534
|
className: "cursor-pointer text-text-950 hover:text-primary-600",
|
|
5516
5535
|
"aria-label": "Op\xE7\xF5es de velocidade",
|
|
5517
|
-
children: /* @__PURE__ */ (0,
|
|
5536
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_phosphor_react13.DotsThreeVertical, { size: 24 })
|
|
5518
5537
|
}
|
|
5519
5538
|
),
|
|
5520
|
-
showSpeedMenu && /* @__PURE__ */ (0,
|
|
5539
|
+
showSpeedMenu && /* @__PURE__ */ (0, import_jsx_runtime31.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_runtime31.jsx)("div", { className: "flex flex-col gap-1", children: [
|
|
5521
5540
|
{ speed: 1, label: "1x" },
|
|
5522
5541
|
{ speed: 1.5, label: "1.5x" },
|
|
5523
5542
|
{ speed: 2, label: "2x" }
|
|
5524
|
-
].map(({ speed, label }) => /* @__PURE__ */ (0,
|
|
5543
|
+
].map(({ speed, label }) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5525
5544
|
"button",
|
|
5526
5545
|
{
|
|
5527
5546
|
type: "button",
|
|
@@ -5546,10 +5565,10 @@ var SIMULADO_BACKGROUND_CLASSES = {
|
|
|
5546
5565
|
simuladao: "bg-exam-3",
|
|
5547
5566
|
vestibular: "bg-exam-4"
|
|
5548
5567
|
};
|
|
5549
|
-
var CardSimulado = (0,
|
|
5568
|
+
var CardSimulado = (0, import_react17.forwardRef)(
|
|
5550
5569
|
({ title, duration, info, backgroundColor, className, ...props }, ref) => {
|
|
5551
5570
|
const backgroundClass = SIMULADO_BACKGROUND_CLASSES[backgroundColor];
|
|
5552
|
-
return /* @__PURE__ */ (0,
|
|
5571
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5553
5572
|
CardBase,
|
|
5554
5573
|
{
|
|
5555
5574
|
ref,
|
|
@@ -5562,18 +5581,18 @@ var CardSimulado = (0, import_react16.forwardRef)(
|
|
|
5562
5581
|
className
|
|
5563
5582
|
),
|
|
5564
5583
|
...props,
|
|
5565
|
-
children: /* @__PURE__ */ (0,
|
|
5566
|
-
/* @__PURE__ */ (0,
|
|
5567
|
-
/* @__PURE__ */ (0,
|
|
5568
|
-
/* @__PURE__ */ (0,
|
|
5569
|
-
duration && /* @__PURE__ */ (0,
|
|
5570
|
-
/* @__PURE__ */ (0,
|
|
5571
|
-
/* @__PURE__ */ (0,
|
|
5584
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex justify-between items-center w-full gap-4", children: [
|
|
5585
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex flex-col gap-1 flex-1 min-w-0", children: [
|
|
5586
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Text_default, { size: "lg", weight: "bold", className: "text-text-950 truncate", children: title }),
|
|
5587
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex items-center gap-4 text-text-700", children: [
|
|
5588
|
+
duration && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex items-center gap-1", children: [
|
|
5589
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_phosphor_react13.Clock, { size: 16, className: "flex-shrink-0" }),
|
|
5590
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Text_default, { size: "sm", children: duration })
|
|
5572
5591
|
] }),
|
|
5573
|
-
/* @__PURE__ */ (0,
|
|
5592
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Text_default, { size: "sm", className: "truncate", children: info })
|
|
5574
5593
|
] })
|
|
5575
5594
|
] }),
|
|
5576
|
-
/* @__PURE__ */ (0,
|
|
5595
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5577
5596
|
import_phosphor_react13.CaretRight,
|
|
5578
5597
|
{
|
|
5579
5598
|
size: 24,
|
|
@@ -5586,7 +5605,7 @@ var CardSimulado = (0, import_react16.forwardRef)(
|
|
|
5586
5605
|
);
|
|
5587
5606
|
}
|
|
5588
5607
|
);
|
|
5589
|
-
var CardTest = (0,
|
|
5608
|
+
var CardTest = (0, import_react17.forwardRef)(
|
|
5590
5609
|
({
|
|
5591
5610
|
title,
|
|
5592
5611
|
duration,
|
|
@@ -5618,7 +5637,7 @@ var CardTest = (0, import_react16.forwardRef)(
|
|
|
5618
5637
|
const interactiveClasses = isSelectable ? "cursor-pointer focus:outline-none focus:ring-2 focus:ring-primary-950 focus:ring-offset-2" : "";
|
|
5619
5638
|
const selectedClasses = selected ? "ring-2 ring-primary-950 ring-offset-2" : "";
|
|
5620
5639
|
if (isSelectable) {
|
|
5621
|
-
return /* @__PURE__ */ (0,
|
|
5640
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5622
5641
|
"button",
|
|
5623
5642
|
{
|
|
5624
5643
|
ref,
|
|
@@ -5630,8 +5649,8 @@ var CardTest = (0, import_react16.forwardRef)(
|
|
|
5630
5649
|
onKeyDown: handleKeyDown,
|
|
5631
5650
|
"aria-pressed": selected,
|
|
5632
5651
|
...props,
|
|
5633
|
-
children: /* @__PURE__ */ (0,
|
|
5634
|
-
/* @__PURE__ */ (0,
|
|
5652
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex flex-col justify-between gap-[27px] flex-grow min-h-[67px] w-full min-w-0", children: [
|
|
5653
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5635
5654
|
Text_default,
|
|
5636
5655
|
{
|
|
5637
5656
|
size: "md",
|
|
@@ -5640,10 +5659,10 @@ var CardTest = (0, import_react16.forwardRef)(
|
|
|
5640
5659
|
children: title
|
|
5641
5660
|
}
|
|
5642
5661
|
),
|
|
5643
|
-
/* @__PURE__ */ (0,
|
|
5644
|
-
duration && /* @__PURE__ */ (0,
|
|
5645
|
-
/* @__PURE__ */ (0,
|
|
5646
|
-
/* @__PURE__ */ (0,
|
|
5662
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex flex-row justify-start items-end gap-4 w-full", children: [
|
|
5663
|
+
duration && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex flex-row items-center gap-1 flex-shrink-0", children: [
|
|
5664
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_phosphor_react13.Clock, { size: 16, className: "text-text-700" }),
|
|
5665
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5647
5666
|
Text_default,
|
|
5648
5667
|
{
|
|
5649
5668
|
size: "sm",
|
|
@@ -5652,7 +5671,7 @@ var CardTest = (0, import_react16.forwardRef)(
|
|
|
5652
5671
|
}
|
|
5653
5672
|
)
|
|
5654
5673
|
] }),
|
|
5655
|
-
/* @__PURE__ */ (0,
|
|
5674
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5656
5675
|
Text_default,
|
|
5657
5676
|
{
|
|
5658
5677
|
size: "sm",
|
|
@@ -5665,14 +5684,14 @@ var CardTest = (0, import_react16.forwardRef)(
|
|
|
5665
5684
|
}
|
|
5666
5685
|
);
|
|
5667
5686
|
}
|
|
5668
|
-
return /* @__PURE__ */ (0,
|
|
5687
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5669
5688
|
"div",
|
|
5670
5689
|
{
|
|
5671
5690
|
ref,
|
|
5672
5691
|
className: cn(`${baseClasses} ${className}`.trim()),
|
|
5673
5692
|
...props,
|
|
5674
|
-
children: /* @__PURE__ */ (0,
|
|
5675
|
-
/* @__PURE__ */ (0,
|
|
5693
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex flex-col justify-between gap-[27px] flex-grow min-h-[67px] w-full min-w-0", children: [
|
|
5694
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5676
5695
|
Text_default,
|
|
5677
5696
|
{
|
|
5678
5697
|
size: "md",
|
|
@@ -5681,10 +5700,10 @@ var CardTest = (0, import_react16.forwardRef)(
|
|
|
5681
5700
|
children: title
|
|
5682
5701
|
}
|
|
5683
5702
|
),
|
|
5684
|
-
/* @__PURE__ */ (0,
|
|
5685
|
-
duration && /* @__PURE__ */ (0,
|
|
5686
|
-
/* @__PURE__ */ (0,
|
|
5687
|
-
/* @__PURE__ */ (0,
|
|
5703
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex flex-row justify-start items-end gap-4 w-full", children: [
|
|
5704
|
+
duration && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex flex-row items-center gap-1 flex-shrink-0", children: [
|
|
5705
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_phosphor_react13.Clock, { size: 16, className: "text-text-700" }),
|
|
5706
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5688
5707
|
Text_default,
|
|
5689
5708
|
{
|
|
5690
5709
|
size: "sm",
|
|
@@ -5693,7 +5712,7 @@ var CardTest = (0, import_react16.forwardRef)(
|
|
|
5693
5712
|
}
|
|
5694
5713
|
)
|
|
5695
5714
|
] }),
|
|
5696
|
-
/* @__PURE__ */ (0,
|
|
5715
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5697
5716
|
Text_default,
|
|
5698
5717
|
{
|
|
5699
5718
|
size: "sm",
|
|
@@ -5729,15 +5748,15 @@ var SIMULATION_TYPE_STYLES = {
|
|
|
5729
5748
|
text: "Vestibular"
|
|
5730
5749
|
}
|
|
5731
5750
|
};
|
|
5732
|
-
var CardSimulationHistory = (0,
|
|
5733
|
-
return /* @__PURE__ */ (0,
|
|
5751
|
+
var CardSimulationHistory = (0, import_react17.forwardRef)(({ data, onSimulationClick, className, ...props }, ref) => {
|
|
5752
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5734
5753
|
"div",
|
|
5735
5754
|
{
|
|
5736
5755
|
ref,
|
|
5737
5756
|
className: cn("w-full max-w-[992px] h-auto", className),
|
|
5738
5757
|
...props,
|
|
5739
|
-
children: /* @__PURE__ */ (0,
|
|
5740
|
-
data.map((section, sectionIndex) => /* @__PURE__ */ (0,
|
|
5758
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex flex-col gap-0", children: [
|
|
5759
|
+
data.map((section, sectionIndex) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "flex flex-col", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
5741
5760
|
"div",
|
|
5742
5761
|
{
|
|
5743
5762
|
className: cn(
|
|
@@ -5745,7 +5764,7 @@ var CardSimulationHistory = (0, import_react16.forwardRef)(({ data, onSimulation
|
|
|
5745
5764
|
sectionIndex === 0 ? "rounded-t-3xl" : ""
|
|
5746
5765
|
),
|
|
5747
5766
|
children: [
|
|
5748
|
-
/* @__PURE__ */ (0,
|
|
5767
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5749
5768
|
Text_default,
|
|
5750
5769
|
{
|
|
5751
5770
|
size: "xs",
|
|
@@ -5754,9 +5773,9 @@ var CardSimulationHistory = (0, import_react16.forwardRef)(({ data, onSimulation
|
|
|
5754
5773
|
children: section.date
|
|
5755
5774
|
}
|
|
5756
5775
|
),
|
|
5757
|
-
/* @__PURE__ */ (0,
|
|
5776
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "flex flex-col gap-2 flex-1", children: section.simulations.map((simulation) => {
|
|
5758
5777
|
const typeStyles = SIMULATION_TYPE_STYLES[simulation.type];
|
|
5759
|
-
return /* @__PURE__ */ (0,
|
|
5778
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5760
5779
|
CardBase,
|
|
5761
5780
|
{
|
|
5762
5781
|
layout: "horizontal",
|
|
@@ -5768,9 +5787,9 @@ var CardSimulationHistory = (0, import_react16.forwardRef)(({ data, onSimulation
|
|
|
5768
5787
|
transition-shadow duration-200 h-auto min-h-[61px]`
|
|
5769
5788
|
),
|
|
5770
5789
|
onClick: () => onSimulationClick?.(simulation),
|
|
5771
|
-
children: /* @__PURE__ */ (0,
|
|
5772
|
-
/* @__PURE__ */ (0,
|
|
5773
|
-
/* @__PURE__ */ (0,
|
|
5790
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex justify-between items-center w-full gap-2", children: [
|
|
5791
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex flex-wrap flex-col justify-between sm:flex-row gap-2 flex-1 min-w-0", children: [
|
|
5792
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5774
5793
|
Text_default,
|
|
5775
5794
|
{
|
|
5776
5795
|
size: "lg",
|
|
@@ -5779,8 +5798,8 @@ var CardSimulationHistory = (0, import_react16.forwardRef)(({ data, onSimulation
|
|
|
5779
5798
|
children: simulation.title
|
|
5780
5799
|
}
|
|
5781
5800
|
),
|
|
5782
|
-
/* @__PURE__ */ (0,
|
|
5783
|
-
/* @__PURE__ */ (0,
|
|
5801
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
5802
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5784
5803
|
Badge_default,
|
|
5785
5804
|
{
|
|
5786
5805
|
variant: "examsOutlined",
|
|
@@ -5789,10 +5808,10 @@ var CardSimulationHistory = (0, import_react16.forwardRef)(({ data, onSimulation
|
|
|
5789
5808
|
children: typeStyles.text
|
|
5790
5809
|
}
|
|
5791
5810
|
),
|
|
5792
|
-
/* @__PURE__ */ (0,
|
|
5811
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Text_default, { size: "sm", className: "text-text-800 truncate", children: simulation.info })
|
|
5793
5812
|
] })
|
|
5794
5813
|
] }),
|
|
5795
|
-
/* @__PURE__ */ (0,
|
|
5814
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5796
5815
|
import_phosphor_react13.CaretRight,
|
|
5797
5816
|
{
|
|
5798
5817
|
size: 24,
|
|
@@ -5808,7 +5827,7 @@ var CardSimulationHistory = (0, import_react16.forwardRef)(({ data, onSimulation
|
|
|
5808
5827
|
]
|
|
5809
5828
|
}
|
|
5810
5829
|
) }, section.date)),
|
|
5811
|
-
data.length > 0 && /* @__PURE__ */ (0,
|
|
5830
|
+
data.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "w-full h-6 bg-white rounded-b-3xl" })
|
|
5812
5831
|
] })
|
|
5813
5832
|
}
|
|
5814
5833
|
);
|
|
@@ -5816,8 +5835,8 @@ var CardSimulationHistory = (0, import_react16.forwardRef)(({ data, onSimulation
|
|
|
5816
5835
|
|
|
5817
5836
|
// src/components/Accordation/Accordation.tsx
|
|
5818
5837
|
var import_phosphor_react14 = require("phosphor-react");
|
|
5819
|
-
var
|
|
5820
|
-
var CardAccordation = (0,
|
|
5838
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
5839
|
+
var CardAccordation = (0, import_react18.forwardRef)(
|
|
5821
5840
|
({
|
|
5822
5841
|
trigger,
|
|
5823
5842
|
children,
|
|
@@ -5826,8 +5845,8 @@ var CardAccordation = (0, import_react17.forwardRef)(
|
|
|
5826
5845
|
onToggleExpanded,
|
|
5827
5846
|
...props
|
|
5828
5847
|
}, ref) => {
|
|
5829
|
-
const [isExpanded, setIsExpanded] = (0,
|
|
5830
|
-
const contentId = (0,
|
|
5848
|
+
const [isExpanded, setIsExpanded] = (0, import_react18.useState)(defaultExpanded);
|
|
5849
|
+
const contentId = (0, import_react18.useId)();
|
|
5831
5850
|
const handleToggle = () => {
|
|
5832
5851
|
const newExpanded = !isExpanded;
|
|
5833
5852
|
setIsExpanded(newExpanded);
|
|
@@ -5839,7 +5858,7 @@ var CardAccordation = (0, import_react17.forwardRef)(
|
|
|
5839
5858
|
handleToggle();
|
|
5840
5859
|
}
|
|
5841
5860
|
};
|
|
5842
|
-
return /* @__PURE__ */ (0,
|
|
5861
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
5843
5862
|
CardBase,
|
|
5844
5863
|
{
|
|
5845
5864
|
ref,
|
|
@@ -5849,7 +5868,7 @@ var CardAccordation = (0, import_react17.forwardRef)(
|
|
|
5849
5868
|
className: cn("overflow-hidden", className),
|
|
5850
5869
|
...props,
|
|
5851
5870
|
children: [
|
|
5852
|
-
/* @__PURE__ */ (0,
|
|
5871
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
5853
5872
|
"button",
|
|
5854
5873
|
{
|
|
5855
5874
|
onClick: handleToggle,
|
|
@@ -5859,7 +5878,7 @@ var CardAccordation = (0, import_react17.forwardRef)(
|
|
|
5859
5878
|
"aria-controls": "accordion-content",
|
|
5860
5879
|
children: [
|
|
5861
5880
|
trigger,
|
|
5862
|
-
/* @__PURE__ */ (0,
|
|
5881
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
5863
5882
|
import_phosphor_react14.CaretRight,
|
|
5864
5883
|
{
|
|
5865
5884
|
size: 20,
|
|
@@ -5873,7 +5892,7 @@ var CardAccordation = (0, import_react17.forwardRef)(
|
|
|
5873
5892
|
]
|
|
5874
5893
|
}
|
|
5875
5894
|
),
|
|
5876
|
-
/* @__PURE__ */ (0,
|
|
5895
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
5877
5896
|
"div",
|
|
5878
5897
|
{
|
|
5879
5898
|
id: contentId,
|
|
@@ -5882,7 +5901,7 @@ var CardAccordation = (0, import_react17.forwardRef)(
|
|
|
5882
5901
|
isExpanded ? "max-h-screen opacity-100" : "max-h-0 opacity-0"
|
|
5883
5902
|
),
|
|
5884
5903
|
"data-testid": "accordion-content",
|
|
5885
|
-
children: /* @__PURE__ */ (0,
|
|
5904
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "p-4 pt-0 border-border-50", children })
|
|
5886
5905
|
}
|
|
5887
5906
|
)
|
|
5888
5907
|
]
|
|
@@ -5893,8 +5912,8 @@ var CardAccordation = (0, import_react17.forwardRef)(
|
|
|
5893
5912
|
|
|
5894
5913
|
// src/components/Alternative/Alternative.tsx
|
|
5895
5914
|
var import_phosphor_react15 = require("phosphor-react");
|
|
5896
|
-
var
|
|
5897
|
-
var
|
|
5915
|
+
var import_react19 = require("react");
|
|
5916
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
5898
5917
|
var AlternativesList = ({
|
|
5899
5918
|
alternatives,
|
|
5900
5919
|
name,
|
|
@@ -5907,9 +5926,9 @@ var AlternativesList = ({
|
|
|
5907
5926
|
mode = "interactive",
|
|
5908
5927
|
selectedValue
|
|
5909
5928
|
}) => {
|
|
5910
|
-
const uniqueId = (0,
|
|
5929
|
+
const uniqueId = (0, import_react19.useId)();
|
|
5911
5930
|
const groupName = name || `alternatives-${uniqueId}`;
|
|
5912
|
-
const [actualValue, setActualValue] = (0,
|
|
5931
|
+
const [actualValue, setActualValue] = (0, import_react19.useState)(value);
|
|
5913
5932
|
const isReadonly = mode === "readonly";
|
|
5914
5933
|
const getStatusStyles2 = (status, isReadonly2) => {
|
|
5915
5934
|
const hoverClass = isReadonly2 ? "" : "hover:bg-background-50";
|
|
@@ -5925,9 +5944,9 @@ var AlternativesList = ({
|
|
|
5925
5944
|
const getStatusBadge2 = (status) => {
|
|
5926
5945
|
switch (status) {
|
|
5927
5946
|
case "correct":
|
|
5928
|
-
return /* @__PURE__ */ (0,
|
|
5947
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_phosphor_react15.CheckCircle, {}), children: "Resposta correta" });
|
|
5929
5948
|
case "incorrect":
|
|
5930
|
-
return /* @__PURE__ */ (0,
|
|
5949
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_phosphor_react15.XCircle, {}), children: "Resposta incorreta" });
|
|
5931
5950
|
default:
|
|
5932
5951
|
return null;
|
|
5933
5952
|
}
|
|
@@ -5957,10 +5976,10 @@ var AlternativesList = ({
|
|
|
5957
5976
|
const renderRadio = () => {
|
|
5958
5977
|
const radioClasses = `w-6 h-6 rounded-full border-2 cursor-default transition-all duration-200 flex items-center justify-center ${isUserSelected ? "border-primary-950 bg-background" : "border-border-400 bg-background"}`;
|
|
5959
5978
|
const dotClasses = "w-3 h-3 rounded-full bg-primary-950 transition-all duration-200";
|
|
5960
|
-
return /* @__PURE__ */ (0,
|
|
5979
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: radioClasses, children: isUserSelected && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: dotClasses }) });
|
|
5961
5980
|
};
|
|
5962
5981
|
if (layout === "detailed") {
|
|
5963
|
-
return /* @__PURE__ */ (0,
|
|
5982
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
5964
5983
|
"div",
|
|
5965
5984
|
{
|
|
5966
5985
|
className: cn(
|
|
@@ -5968,11 +5987,11 @@ var AlternativesList = ({
|
|
|
5968
5987
|
statusStyles,
|
|
5969
5988
|
alternative.disabled ? "opacity-50" : ""
|
|
5970
5989
|
),
|
|
5971
|
-
children: /* @__PURE__ */ (0,
|
|
5972
|
-
/* @__PURE__ */ (0,
|
|
5973
|
-
/* @__PURE__ */ (0,
|
|
5974
|
-
/* @__PURE__ */ (0,
|
|
5975
|
-
/* @__PURE__ */ (0,
|
|
5990
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-start justify-between gap-3", children: [
|
|
5991
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-start gap-3 flex-1", children: [
|
|
5992
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "mt-1", children: renderRadio() }),
|
|
5993
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex-1", children: [
|
|
5994
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
5976
5995
|
"p",
|
|
5977
5996
|
{
|
|
5978
5997
|
className: cn(
|
|
@@ -5982,16 +6001,16 @@ var AlternativesList = ({
|
|
|
5982
6001
|
children: alternative.label
|
|
5983
6002
|
}
|
|
5984
6003
|
),
|
|
5985
|
-
alternative.description && /* @__PURE__ */ (0,
|
|
6004
|
+
alternative.description && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("p", { className: "text-sm text-text-600 mt-1", children: alternative.description })
|
|
5986
6005
|
] })
|
|
5987
6006
|
] }),
|
|
5988
|
-
statusBadge && /* @__PURE__ */ (0,
|
|
6007
|
+
statusBadge && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "flex-shrink-0", children: statusBadge })
|
|
5989
6008
|
] })
|
|
5990
6009
|
},
|
|
5991
6010
|
alternativeId
|
|
5992
6011
|
);
|
|
5993
6012
|
}
|
|
5994
|
-
return /* @__PURE__ */ (0,
|
|
6013
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
5995
6014
|
"div",
|
|
5996
6015
|
{
|
|
5997
6016
|
className: cn(
|
|
@@ -6000,9 +6019,9 @@ var AlternativesList = ({
|
|
|
6000
6019
|
alternative.disabled ? "opacity-50" : ""
|
|
6001
6020
|
),
|
|
6002
6021
|
children: [
|
|
6003
|
-
/* @__PURE__ */ (0,
|
|
6022
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center gap-2 flex-1", children: [
|
|
6004
6023
|
renderRadio(),
|
|
6005
|
-
/* @__PURE__ */ (0,
|
|
6024
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
6006
6025
|
"span",
|
|
6007
6026
|
{
|
|
6008
6027
|
className: cn(
|
|
@@ -6013,14 +6032,14 @@ var AlternativesList = ({
|
|
|
6013
6032
|
}
|
|
6014
6033
|
)
|
|
6015
6034
|
] }),
|
|
6016
|
-
statusBadge && /* @__PURE__ */ (0,
|
|
6035
|
+
statusBadge && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "flex-shrink-0", children: statusBadge })
|
|
6017
6036
|
]
|
|
6018
6037
|
},
|
|
6019
6038
|
alternativeId
|
|
6020
6039
|
);
|
|
6021
6040
|
};
|
|
6022
6041
|
if (isReadonly) {
|
|
6023
|
-
return /* @__PURE__ */ (0,
|
|
6042
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
6024
6043
|
"div",
|
|
6025
6044
|
{
|
|
6026
6045
|
className: cn("flex flex-col", getLayoutClasses(), "w-full", className),
|
|
@@ -6030,7 +6049,7 @@ var AlternativesList = ({
|
|
|
6030
6049
|
}
|
|
6031
6050
|
);
|
|
6032
6051
|
}
|
|
6033
|
-
return /* @__PURE__ */ (0,
|
|
6052
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
6034
6053
|
RadioGroup,
|
|
6035
6054
|
{
|
|
6036
6055
|
name: groupName,
|
|
@@ -6047,7 +6066,7 @@ var AlternativesList = ({
|
|
|
6047
6066
|
const statusStyles = getStatusStyles2(alternative.status, false);
|
|
6048
6067
|
const statusBadge = getStatusBadge2(alternative.status);
|
|
6049
6068
|
if (layout === "detailed") {
|
|
6050
|
-
return /* @__PURE__ */ (0,
|
|
6069
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
6051
6070
|
"div",
|
|
6052
6071
|
{
|
|
6053
6072
|
className: cn(
|
|
@@ -6055,9 +6074,9 @@ var AlternativesList = ({
|
|
|
6055
6074
|
statusStyles,
|
|
6056
6075
|
alternative.disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"
|
|
6057
6076
|
),
|
|
6058
|
-
children: /* @__PURE__ */ (0,
|
|
6059
|
-
/* @__PURE__ */ (0,
|
|
6060
|
-
/* @__PURE__ */ (0,
|
|
6077
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-start justify-between gap-3", children: [
|
|
6078
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-start gap-3 flex-1", children: [
|
|
6079
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
6061
6080
|
RadioGroupItem,
|
|
6062
6081
|
{
|
|
6063
6082
|
value: alternative.value,
|
|
@@ -6066,8 +6085,8 @@ var AlternativesList = ({
|
|
|
6066
6085
|
className: "mt-1"
|
|
6067
6086
|
}
|
|
6068
6087
|
),
|
|
6069
|
-
/* @__PURE__ */ (0,
|
|
6070
|
-
/* @__PURE__ */ (0,
|
|
6088
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex-1", children: [
|
|
6089
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
6071
6090
|
"label",
|
|
6072
6091
|
{
|
|
6073
6092
|
htmlFor: alternativeId,
|
|
@@ -6079,16 +6098,16 @@ var AlternativesList = ({
|
|
|
6079
6098
|
children: alternative.label
|
|
6080
6099
|
}
|
|
6081
6100
|
),
|
|
6082
|
-
alternative.description && /* @__PURE__ */ (0,
|
|
6101
|
+
alternative.description && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("p", { className: "text-sm text-text-600 mt-1", children: alternative.description })
|
|
6083
6102
|
] })
|
|
6084
6103
|
] }),
|
|
6085
|
-
statusBadge && /* @__PURE__ */ (0,
|
|
6104
|
+
statusBadge && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "flex-shrink-0", children: statusBadge })
|
|
6086
6105
|
] })
|
|
6087
6106
|
},
|
|
6088
6107
|
alternativeId
|
|
6089
6108
|
);
|
|
6090
6109
|
}
|
|
6091
|
-
return /* @__PURE__ */ (0,
|
|
6110
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
6092
6111
|
"div",
|
|
6093
6112
|
{
|
|
6094
6113
|
className: cn(
|
|
@@ -6097,8 +6116,8 @@ var AlternativesList = ({
|
|
|
6097
6116
|
alternative.disabled ? "opacity-50 cursor-not-allowed" : ""
|
|
6098
6117
|
),
|
|
6099
6118
|
children: [
|
|
6100
|
-
/* @__PURE__ */ (0,
|
|
6101
|
-
/* @__PURE__ */ (0,
|
|
6119
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center gap-2 flex-1", children: [
|
|
6120
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
6102
6121
|
RadioGroupItem,
|
|
6103
6122
|
{
|
|
6104
6123
|
value: alternative.value,
|
|
@@ -6106,7 +6125,7 @@ var AlternativesList = ({
|
|
|
6106
6125
|
disabled: alternative.disabled
|
|
6107
6126
|
}
|
|
6108
6127
|
),
|
|
6109
|
-
/* @__PURE__ */ (0,
|
|
6128
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
6110
6129
|
"label",
|
|
6111
6130
|
{
|
|
6112
6131
|
htmlFor: alternativeId,
|
|
@@ -6119,7 +6138,7 @@ var AlternativesList = ({
|
|
|
6119
6138
|
}
|
|
6120
6139
|
)
|
|
6121
6140
|
] }),
|
|
6122
|
-
statusBadge && /* @__PURE__ */ (0,
|
|
6141
|
+
statusBadge && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "flex-shrink-0", children: statusBadge })
|
|
6123
6142
|
]
|
|
6124
6143
|
},
|
|
6125
6144
|
alternativeId
|
|
@@ -6128,9 +6147,9 @@ var AlternativesList = ({
|
|
|
6128
6147
|
}
|
|
6129
6148
|
);
|
|
6130
6149
|
};
|
|
6131
|
-
var HeaderAlternative = (0,
|
|
6150
|
+
var HeaderAlternative = (0, import_react19.forwardRef)(
|
|
6132
6151
|
({ className, title, subTitle, content, ...props }, ref) => {
|
|
6133
|
-
return /* @__PURE__ */ (0,
|
|
6152
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
6134
6153
|
"div",
|
|
6135
6154
|
{
|
|
6136
6155
|
ref,
|
|
@@ -6140,11 +6159,11 @@ var HeaderAlternative = (0, import_react18.forwardRef)(
|
|
|
6140
6159
|
),
|
|
6141
6160
|
...props,
|
|
6142
6161
|
children: [
|
|
6143
|
-
/* @__PURE__ */ (0,
|
|
6144
|
-
/* @__PURE__ */ (0,
|
|
6145
|
-
/* @__PURE__ */ (0,
|
|
6162
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("span", { className: "flex flex-col", children: [
|
|
6163
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("p", { className: "text-text-950 font-bold text-lg", children: title }),
|
|
6164
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("p", { className: "text-text-700 text-sm ", children: subTitle })
|
|
6146
6165
|
] }),
|
|
6147
|
-
/* @__PURE__ */ (0,
|
|
6166
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("p", { className: "text-text-950 text-md", children: content })
|
|
6148
6167
|
]
|
|
6149
6168
|
}
|
|
6150
6169
|
);
|
|
@@ -6152,8 +6171,8 @@ var HeaderAlternative = (0, import_react18.forwardRef)(
|
|
|
6152
6171
|
);
|
|
6153
6172
|
|
|
6154
6173
|
// src/components/AlertDialog/AlertDialog.tsx
|
|
6155
|
-
var
|
|
6156
|
-
var
|
|
6174
|
+
var import_react20 = require("react");
|
|
6175
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
6157
6176
|
var SIZE_CLASSES11 = {
|
|
6158
6177
|
"extra-small": "w-screen max-w-[324px]",
|
|
6159
6178
|
small: "w-screen max-w-[378px]",
|
|
@@ -6161,7 +6180,7 @@ var SIZE_CLASSES11 = {
|
|
|
6161
6180
|
large: "w-screen max-w-[578px]",
|
|
6162
6181
|
"extra-large": "w-screen max-w-[912px]"
|
|
6163
6182
|
};
|
|
6164
|
-
var AlertDialog = (0,
|
|
6183
|
+
var AlertDialog = (0, import_react20.forwardRef)(
|
|
6165
6184
|
({
|
|
6166
6185
|
description,
|
|
6167
6186
|
cancelButtonLabel = "Cancelar",
|
|
@@ -6179,7 +6198,7 @@ var AlertDialog = (0, import_react19.forwardRef)(
|
|
|
6179
6198
|
size = "medium",
|
|
6180
6199
|
...props
|
|
6181
6200
|
}, ref) => {
|
|
6182
|
-
(0,
|
|
6201
|
+
(0, import_react20.useEffect)(() => {
|
|
6183
6202
|
if (!isOpen || !closeOnEscape) return;
|
|
6184
6203
|
const handleEscape = (event) => {
|
|
6185
6204
|
if (event.key === "Escape") {
|
|
@@ -6189,7 +6208,7 @@ var AlertDialog = (0, import_react19.forwardRef)(
|
|
|
6189
6208
|
document.addEventListener("keydown", handleEscape);
|
|
6190
6209
|
return () => document.removeEventListener("keydown", handleEscape);
|
|
6191
6210
|
}, [isOpen, closeOnEscape]);
|
|
6192
|
-
(0,
|
|
6211
|
+
(0, import_react20.useEffect)(() => {
|
|
6193
6212
|
if (isOpen) {
|
|
6194
6213
|
document.body.style.overflow = "hidden";
|
|
6195
6214
|
} else {
|
|
@@ -6218,14 +6237,14 @@ var AlertDialog = (0, import_react19.forwardRef)(
|
|
|
6218
6237
|
onCancel?.(cancelValue);
|
|
6219
6238
|
};
|
|
6220
6239
|
const sizeClasses = SIZE_CLASSES11[size];
|
|
6221
|
-
return /* @__PURE__ */ (0,
|
|
6240
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_jsx_runtime34.Fragment, { children: isOpen && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
6222
6241
|
"div",
|
|
6223
6242
|
{
|
|
6224
6243
|
className: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm",
|
|
6225
6244
|
onClick: handleBackdropClick,
|
|
6226
6245
|
onKeyDown: handleBackdropKeyDown,
|
|
6227
6246
|
"data-testid": "alert-dialog-overlay",
|
|
6228
|
-
children: /* @__PURE__ */ (0,
|
|
6247
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
|
6229
6248
|
"div",
|
|
6230
6249
|
{
|
|
6231
6250
|
ref,
|
|
@@ -6236,7 +6255,7 @@ var AlertDialog = (0, import_react19.forwardRef)(
|
|
|
6236
6255
|
),
|
|
6237
6256
|
...props,
|
|
6238
6257
|
children: [
|
|
6239
|
-
/* @__PURE__ */ (0,
|
|
6258
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
6240
6259
|
"h2",
|
|
6241
6260
|
{
|
|
6242
6261
|
id: "alert-dialog-title",
|
|
@@ -6244,7 +6263,7 @@ var AlertDialog = (0, import_react19.forwardRef)(
|
|
|
6244
6263
|
children: title
|
|
6245
6264
|
}
|
|
6246
6265
|
),
|
|
6247
|
-
/* @__PURE__ */ (0,
|
|
6266
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
6248
6267
|
"p",
|
|
6249
6268
|
{
|
|
6250
6269
|
id: "alert-dialog-description",
|
|
@@ -6252,9 +6271,9 @@ var AlertDialog = (0, import_react19.forwardRef)(
|
|
|
6252
6271
|
children: description
|
|
6253
6272
|
}
|
|
6254
6273
|
),
|
|
6255
|
-
/* @__PURE__ */ (0,
|
|
6256
|
-
/* @__PURE__ */ (0,
|
|
6257
|
-
/* @__PURE__ */ (0,
|
|
6274
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "flex flex-row items-center justify-end pt-4 gap-3", children: [
|
|
6275
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Button_default, { variant: "outline", size: "small", onClick: handleCancel, children: cancelButtonLabel }),
|
|
6276
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
6258
6277
|
Button_default,
|
|
6259
6278
|
{
|
|
6260
6279
|
variant: "solid",
|
|
@@ -6275,9 +6294,9 @@ var AlertDialog = (0, import_react19.forwardRef)(
|
|
|
6275
6294
|
AlertDialog.displayName = "AlertDialog";
|
|
6276
6295
|
|
|
6277
6296
|
// src/components/MultipleChoice/MultipleChoice.tsx
|
|
6278
|
-
var
|
|
6297
|
+
var import_react21 = require("react");
|
|
6279
6298
|
var import_phosphor_react16 = require("phosphor-react");
|
|
6280
|
-
var
|
|
6299
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
6281
6300
|
var MultipleChoiceList = ({
|
|
6282
6301
|
disabled = false,
|
|
6283
6302
|
className = "",
|
|
@@ -6287,16 +6306,16 @@ var MultipleChoiceList = ({
|
|
|
6287
6306
|
onHandleSelectedValues,
|
|
6288
6307
|
mode = "interactive"
|
|
6289
6308
|
}) => {
|
|
6290
|
-
const [actualValue, setActualValue] = (0,
|
|
6291
|
-
(0,
|
|
6309
|
+
const [actualValue, setActualValue] = (0, import_react21.useState)(selectedValues);
|
|
6310
|
+
(0, import_react21.useEffect)(() => {
|
|
6292
6311
|
setActualValue(selectedValues);
|
|
6293
6312
|
}, [selectedValues]);
|
|
6294
6313
|
const getStatusBadge2 = (status) => {
|
|
6295
6314
|
switch (status) {
|
|
6296
6315
|
case "correct":
|
|
6297
|
-
return /* @__PURE__ */ (0,
|
|
6316
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_phosphor_react16.CheckCircle, {}), children: "Resposta correta" });
|
|
6298
6317
|
case "incorrect":
|
|
6299
|
-
return /* @__PURE__ */ (0,
|
|
6318
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_phosphor_react16.XCircle, {}), children: "Resposta incorreta" });
|
|
6300
6319
|
default:
|
|
6301
6320
|
return null;
|
|
6302
6321
|
}
|
|
@@ -6317,14 +6336,14 @@ var MultipleChoiceList = ({
|
|
|
6317
6336
|
isSelected ? "border-primary-950 bg-primary-950 text-text" : "border-border-400 bg-background",
|
|
6318
6337
|
isDisabled && "opacity-40 cursor-not-allowed"
|
|
6319
6338
|
);
|
|
6320
|
-
return /* @__PURE__ */ (0,
|
|
6339
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: checkboxClasses, children: isSelected && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_phosphor_react16.Check, { size: 16, weight: "bold" }) });
|
|
6321
6340
|
};
|
|
6322
6341
|
if (mode === "readonly") {
|
|
6323
|
-
return /* @__PURE__ */ (0,
|
|
6342
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: cn("flex flex-col gap-2", className), children: choices.map((choice, i) => {
|
|
6324
6343
|
const isSelected = actualValue?.includes(choice.value) || false;
|
|
6325
6344
|
const statusStyles = getStatusStyles2(choice.status);
|
|
6326
6345
|
const statusBadge = getStatusBadge2(choice.status);
|
|
6327
|
-
return /* @__PURE__ */ (0,
|
|
6346
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
|
6328
6347
|
"div",
|
|
6329
6348
|
{
|
|
6330
6349
|
className: cn(
|
|
@@ -6333,9 +6352,9 @@ var MultipleChoiceList = ({
|
|
|
6333
6352
|
choice.disabled ? "opacity-50 cursor-not-allowed" : ""
|
|
6334
6353
|
),
|
|
6335
6354
|
children: [
|
|
6336
|
-
/* @__PURE__ */ (0,
|
|
6355
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex items-center gap-2 flex-1", children: [
|
|
6337
6356
|
renderVisualCheckbox(isSelected, choice.disabled || disabled),
|
|
6338
|
-
/* @__PURE__ */ (0,
|
|
6357
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
6339
6358
|
"span",
|
|
6340
6359
|
{
|
|
6341
6360
|
className: cn(
|
|
@@ -6347,14 +6366,14 @@ var MultipleChoiceList = ({
|
|
|
6347
6366
|
}
|
|
6348
6367
|
)
|
|
6349
6368
|
] }),
|
|
6350
|
-
statusBadge && /* @__PURE__ */ (0,
|
|
6369
|
+
statusBadge && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "flex-shrink-0", children: statusBadge })
|
|
6351
6370
|
]
|
|
6352
6371
|
},
|
|
6353
6372
|
`readonly-${choice.value}-${i}`
|
|
6354
6373
|
);
|
|
6355
6374
|
}) });
|
|
6356
6375
|
}
|
|
6357
|
-
return /* @__PURE__ */ (0,
|
|
6376
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
6358
6377
|
"div",
|
|
6359
6378
|
{
|
|
6360
6379
|
className: cn(
|
|
@@ -6362,7 +6381,7 @@ var MultipleChoiceList = ({
|
|
|
6362
6381
|
disabled ? "opacity-50 cursor-not-allowed" : "",
|
|
6363
6382
|
className
|
|
6364
6383
|
),
|
|
6365
|
-
children: /* @__PURE__ */ (0,
|
|
6384
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
6366
6385
|
CheckboxList_default,
|
|
6367
6386
|
{
|
|
6368
6387
|
name,
|
|
@@ -6372,12 +6391,12 @@ var MultipleChoiceList = ({
|
|
|
6372
6391
|
onHandleSelectedValues?.(v);
|
|
6373
6392
|
},
|
|
6374
6393
|
disabled,
|
|
6375
|
-
children: choices.map((choice, i) => /* @__PURE__ */ (0,
|
|
6394
|
+
children: choices.map((choice, i) => /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
|
6376
6395
|
"div",
|
|
6377
6396
|
{
|
|
6378
6397
|
className: "flex flex-row gap-2 items-center",
|
|
6379
6398
|
children: [
|
|
6380
|
-
/* @__PURE__ */ (0,
|
|
6399
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
6381
6400
|
CheckboxListItem,
|
|
6382
6401
|
{
|
|
6383
6402
|
value: choice.value,
|
|
@@ -6385,7 +6404,7 @@ var MultipleChoiceList = ({
|
|
|
6385
6404
|
disabled: choice.disabled || disabled
|
|
6386
6405
|
}
|
|
6387
6406
|
),
|
|
6388
|
-
/* @__PURE__ */ (0,
|
|
6407
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
6389
6408
|
"label",
|
|
6390
6409
|
{
|
|
6391
6410
|
htmlFor: `interactive-${choice.value}-${i}`,
|
|
@@ -6408,11 +6427,11 @@ var MultipleChoiceList = ({
|
|
|
6408
6427
|
};
|
|
6409
6428
|
|
|
6410
6429
|
// src/assets/icons/subjects/BookOpenText.tsx
|
|
6411
|
-
var
|
|
6430
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
6412
6431
|
var BookOpenText = ({
|
|
6413
6432
|
size,
|
|
6414
6433
|
color
|
|
6415
|
-
}) => /* @__PURE__ */ (0,
|
|
6434
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
6416
6435
|
"svg",
|
|
6417
6436
|
{
|
|
6418
6437
|
width: size,
|
|
@@ -6420,7 +6439,7 @@ var BookOpenText = ({
|
|
|
6420
6439
|
viewBox: "0 0 32 32",
|
|
6421
6440
|
fill: "none",
|
|
6422
6441
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6423
|
-
children: /* @__PURE__ */ (0,
|
|
6442
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
6424
6443
|
"path",
|
|
6425
6444
|
{
|
|
6426
6445
|
d: "M29 6H20C19.2238 6 18.4582 6.18073 17.7639 6.52786C17.0697 6.875 16.4657 7.37902 16 8C15.5343 7.37902 14.9303 6.875 14.2361 6.52786C13.5418 6.18073 12.7762 6 12 6H3C2.73478 6 2.48043 6.10536 2.29289 6.29289C2.10536 6.48043 2 6.73478 2 7V25C2 25.2652 2.10536 25.5196 2.29289 25.7071C2.48043 25.8946 2.73478 26 3 26H12C12.7956 26 13.5587 26.3161 14.1213 26.8787C14.6839 27.4413 15 28.2044 15 29C15 29.2652 15.1054 29.5196 15.2929 29.7071C15.4804 29.8946 15.7348 30 16 30C16.2652 30 16.5196 29.8946 16.7071 29.7071C16.8946 29.5196 17 29.2652 17 29C17 28.2044 17.3161 27.4413 17.8787 26.8787C18.4413 26.3161 19.2044 26 20 26H29C29.2652 26 29.5196 25.8946 29.7071 25.7071C29.8946 25.5196 30 25.2652 30 25V7C30 6.73478 29.8946 6.48043 29.7071 6.29289C29.5196 6.10536 29.2652 6 29 6ZM12 24H4V8H12C12.7956 8 13.5587 8.31607 14.1213 8.87868C14.6839 9.44129 15 10.2044 15 11V25C14.1353 24.3493 13.0821 23.9983 12 24ZM28 24H20C18.9179 23.9983 17.8647 24.3493 17 25V11C17 10.2044 17.3161 9.44129 17.8787 8.87868C18.4413 8.31607 19.2044 8 20 8H28V24ZM20 11H25C25.2652 11 25.5196 11.1054 25.7071 11.2929C25.8946 11.4804 26 11.7348 26 12C26 12.2652 25.8946 12.5196 25.7071 12.7071C25.5196 12.8946 25.2652 13 25 13H20C19.7348 13 19.4804 12.8946 19.2929 12.7071C19.1054 12.5196 19 12.2652 19 12C19 11.7348 19.1054 11.4804 19.2929 11.2929C19.4804 11.1054 19.7348 11 20 11ZM26 16C26 16.2652 25.8946 16.5196 25.7071 16.7071C25.5196 16.8946 25.2652 17 25 17H20C19.7348 17 19.4804 16.8946 19.2929 16.7071C19.1054 16.5196 19 16.2652 19 16C19 15.7348 19.1054 15.4804 19.2929 15.2929C19.4804 15.1054 19.7348 15 20 15H25C25.2652 15 25.5196 15.1054 25.7071 15.2929C25.8946 15.4804 26 15.7348 26 16ZM26 20C26 20.2652 25.8946 20.5196 25.7071 20.7071C25.5196 20.8946 25.2652 21 25 21H20C19.7348 21 19.4804 20.8946 19.2929 20.7071C19.1054 20.5196 19 20.2652 19 20C19 19.7348 19.1054 19.4804 19.2929 19.2929C19.4804 19.1054 19.7348 19 20 19H25C25.2652 19 25.5196 19.1054 25.7071 19.2929C25.8946 19.4804 26 19.7348 26 20Z",
|
|
@@ -6430,114 +6449,6 @@ var BookOpenText = ({
|
|
|
6430
6449
|
}
|
|
6431
6450
|
);
|
|
6432
6451
|
|
|
6433
|
-
// src/assets/icons/subjects/ChatEN.tsx
|
|
6434
|
-
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
6435
|
-
var ChatEN2 = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
|
6436
|
-
"svg",
|
|
6437
|
-
{
|
|
6438
|
-
width: size,
|
|
6439
|
-
height: size,
|
|
6440
|
-
viewBox: "0 0 32 32",
|
|
6441
|
-
fill: "none",
|
|
6442
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
6443
|
-
children: [
|
|
6444
|
-
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
6445
|
-
"path",
|
|
6446
|
-
{
|
|
6447
|
-
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",
|
|
6448
|
-
fill: color
|
|
6449
|
-
}
|
|
6450
|
-
),
|
|
6451
|
-
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
6452
|
-
"path",
|
|
6453
|
-
{
|
|
6454
|
-
d: "M22.5488 12V20.5312H21.0781L17.252 14.4199V20.5312H15.7812V12H17.252L21.0898 18.123V12H22.5488Z",
|
|
6455
|
-
fill: color
|
|
6456
|
-
}
|
|
6457
|
-
),
|
|
6458
|
-
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
6459
|
-
"path",
|
|
6460
|
-
{
|
|
6461
|
-
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",
|
|
6462
|
-
fill: color
|
|
6463
|
-
}
|
|
6464
|
-
)
|
|
6465
|
-
]
|
|
6466
|
-
}
|
|
6467
|
-
);
|
|
6468
|
-
|
|
6469
|
-
// src/assets/icons/subjects/ChatES.tsx
|
|
6470
|
-
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
6471
|
-
var ChatES2 = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
|
6472
|
-
"svg",
|
|
6473
|
-
{
|
|
6474
|
-
width: size,
|
|
6475
|
-
height: size,
|
|
6476
|
-
viewBox: "0 0 32 32",
|
|
6477
|
-
fill: "none",
|
|
6478
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
6479
|
-
children: [
|
|
6480
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
6481
|
-
"path",
|
|
6482
|
-
{
|
|
6483
|
-
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",
|
|
6484
|
-
fill: color
|
|
6485
|
-
}
|
|
6486
|
-
),
|
|
6487
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
6488
|
-
"path",
|
|
6489
|
-
{
|
|
6490
|
-
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",
|
|
6491
|
-
fill: color
|
|
6492
|
-
}
|
|
6493
|
-
),
|
|
6494
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
6495
|
-
"path",
|
|
6496
|
-
{
|
|
6497
|
-
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",
|
|
6498
|
-
fill: color
|
|
6499
|
-
}
|
|
6500
|
-
)
|
|
6501
|
-
]
|
|
6502
|
-
}
|
|
6503
|
-
);
|
|
6504
|
-
|
|
6505
|
-
// src/assets/icons/subjects/ChatPT.tsx
|
|
6506
|
-
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
6507
|
-
var ChatPT2 = ({ size, color }) => /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
6508
|
-
"svg",
|
|
6509
|
-
{
|
|
6510
|
-
width: size,
|
|
6511
|
-
height: size,
|
|
6512
|
-
viewBox: "0 0 32 32",
|
|
6513
|
-
fill: "none",
|
|
6514
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
6515
|
-
children: [
|
|
6516
|
-
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
6517
|
-
"path",
|
|
6518
|
-
{
|
|
6519
|
-
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",
|
|
6520
|
-
fill: color
|
|
6521
|
-
}
|
|
6522
|
-
),
|
|
6523
|
-
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
6524
|
-
"path",
|
|
6525
|
-
{
|
|
6526
|
-
d: "M21.1758 12V20.5312H19.7168V12H21.1758ZM23.8535 12V13.1719H17.0625V12H23.8535Z",
|
|
6527
|
-
fill: color
|
|
6528
|
-
}
|
|
6529
|
-
),
|
|
6530
|
-
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
6531
|
-
"path",
|
|
6532
|
-
{
|
|
6533
|
-
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",
|
|
6534
|
-
fill: color
|
|
6535
|
-
}
|
|
6536
|
-
)
|
|
6537
|
-
]
|
|
6538
|
-
}
|
|
6539
|
-
);
|
|
6540
|
-
|
|
6541
6452
|
// src/assets/icons/subjects/HeadCircuit.tsx
|
|
6542
6453
|
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
6543
6454
|
var HeadCircuit = ({
|
|
@@ -6635,7 +6546,7 @@ var SubjectInfo = {
|
|
|
6635
6546
|
name: "Biologia" /* BIOLOGIA */
|
|
6636
6547
|
},
|
|
6637
6548
|
["Portugu\xEAs" /* PORTUGUES */]: {
|
|
6638
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
6549
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(ChatPT, { size: 17, color: "currentColor" }),
|
|
6639
6550
|
colorClass: "bg-subject-6",
|
|
6640
6551
|
name: "Portugu\xEAs" /* PORTUGUES */
|
|
6641
6552
|
},
|
|
@@ -6660,7 +6571,7 @@ var SubjectInfo = {
|
|
|
6660
6571
|
name: "Filosofia" /* FILOSOFIA */
|
|
6661
6572
|
},
|
|
6662
6573
|
["Espanhol" /* ESPANHOL */]: {
|
|
6663
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
6574
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(ChatES, { size: 17, color: "currentColor" }),
|
|
6664
6575
|
colorClass: "bg-subject-11",
|
|
6665
6576
|
name: "Espanhol" /* ESPANHOL */
|
|
6666
6577
|
},
|
|
@@ -6675,7 +6586,7 @@ var SubjectInfo = {
|
|
|
6675
6586
|
name: "Sociologia" /* SOCIOLOGIA */
|
|
6676
6587
|
},
|
|
6677
6588
|
["Ingl\xEAs" /* INGLES */]: {
|
|
6678
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
6589
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(ChatEN, { size: 17, color: "currentColor" }),
|
|
6679
6590
|
colorClass: "bg-subject-14",
|
|
6680
6591
|
name: "Ingl\xEAs" /* INGLES */
|
|
6681
6592
|
},
|
|
@@ -6690,8 +6601,12 @@ var SubjectInfo = {
|
|
|
6690
6601
|
name: "Trilhas" /* TRILHAS */
|
|
6691
6602
|
}
|
|
6692
6603
|
};
|
|
6693
|
-
var
|
|
6694
|
-
return SubjectInfo[subject]
|
|
6604
|
+
var getSubjectInfo = (subject) => {
|
|
6605
|
+
return SubjectInfo[subject] || {
|
|
6606
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_phosphor_react17.Book, { size: 17, color: "currentColor" }),
|
|
6607
|
+
colorClass: "bg-subject-16",
|
|
6608
|
+
name: subject
|
|
6609
|
+
};
|
|
6695
6610
|
};
|
|
6696
6611
|
var getSubjectIcon = (subject) => {
|
|
6697
6612
|
return SubjectInfo[subject].icon;
|
|
@@ -6704,7 +6619,7 @@ var getSubjectName = (subject) => {
|
|
|
6704
6619
|
};
|
|
6705
6620
|
|
|
6706
6621
|
// src/hooks/useMobile.ts
|
|
6707
|
-
var
|
|
6622
|
+
var import_react22 = require("react");
|
|
6708
6623
|
var MOBILE_WIDTH = 500;
|
|
6709
6624
|
var TABLET_WIDTH = 931;
|
|
6710
6625
|
var DEFAULT_WIDTH = 1200;
|
|
@@ -6719,9 +6634,9 @@ var getDeviceType = () => {
|
|
|
6719
6634
|
return width < TABLET_WIDTH ? "responsive" : "desktop";
|
|
6720
6635
|
};
|
|
6721
6636
|
var useMobile = () => {
|
|
6722
|
-
const [isMobile, setIsMobile] = (0,
|
|
6723
|
-
const [isTablet, setIsTablet] = (0,
|
|
6724
|
-
(0,
|
|
6637
|
+
const [isMobile, setIsMobile] = (0, import_react22.useState)(false);
|
|
6638
|
+
const [isTablet, setIsTablet] = (0, import_react22.useState)(false);
|
|
6639
|
+
(0, import_react22.useEffect)(() => {
|
|
6725
6640
|
const checkScreenSize = () => {
|
|
6726
6641
|
const width = getWindowWidth();
|
|
6727
6642
|
setIsMobile(width < MOBILE_WIDTH);
|
|
@@ -6762,7 +6677,7 @@ var useMobile = () => {
|
|
|
6762
6677
|
|
|
6763
6678
|
// src/components/Select/Select.tsx
|
|
6764
6679
|
var import_zustand5 = require("zustand");
|
|
6765
|
-
var
|
|
6680
|
+
var import_react23 = require("react");
|
|
6766
6681
|
var import_phosphor_react18 = require("phosphor-react");
|
|
6767
6682
|
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
6768
6683
|
var VARIANT_CLASSES4 = {
|
|
@@ -6822,13 +6737,13 @@ function getLabelAsNode(children) {
|
|
|
6822
6737
|
if (typeof children === "string" || typeof children === "number") {
|
|
6823
6738
|
return children;
|
|
6824
6739
|
}
|
|
6825
|
-
const flattened =
|
|
6740
|
+
const flattened = import_react23.Children.toArray(children);
|
|
6826
6741
|
if (flattened.length === 1) return flattened[0];
|
|
6827
6742
|
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_jsx_runtime40.Fragment, { children: flattened });
|
|
6828
6743
|
}
|
|
6829
6744
|
var injectStore4 = (children, store, size, selectId) => {
|
|
6830
|
-
return
|
|
6831
|
-
if ((0,
|
|
6745
|
+
return import_react23.Children.map(children, (child) => {
|
|
6746
|
+
if ((0, import_react23.isValidElement)(child)) {
|
|
6832
6747
|
const typedChild = child;
|
|
6833
6748
|
const newProps = {
|
|
6834
6749
|
store
|
|
@@ -6845,7 +6760,7 @@ var injectStore4 = (children, store, size, selectId) => {
|
|
|
6845
6760
|
selectId
|
|
6846
6761
|
);
|
|
6847
6762
|
}
|
|
6848
|
-
return (0,
|
|
6763
|
+
return (0, import_react23.cloneElement)(typedChild, newProps);
|
|
6849
6764
|
}
|
|
6850
6765
|
return child;
|
|
6851
6766
|
});
|
|
@@ -6862,18 +6777,18 @@ var Select = ({
|
|
|
6862
6777
|
errorMessage,
|
|
6863
6778
|
id
|
|
6864
6779
|
}) => {
|
|
6865
|
-
const storeRef = (0,
|
|
6780
|
+
const storeRef = (0, import_react23.useRef)(null);
|
|
6866
6781
|
storeRef.current ??= createSelectStore(onValueChange);
|
|
6867
6782
|
const store = storeRef.current;
|
|
6868
|
-
const selectRef = (0,
|
|
6783
|
+
const selectRef = (0, import_react23.useRef)(null);
|
|
6869
6784
|
const { open, setOpen, setValue, selectedLabel } = (0, import_zustand5.useStore)(store, (s) => s);
|
|
6870
|
-
const generatedId = (0,
|
|
6785
|
+
const generatedId = (0, import_react23.useId)();
|
|
6871
6786
|
const selectId = id ?? `select-${generatedId}`;
|
|
6872
6787
|
const findLabelForValue = (children2, targetValue) => {
|
|
6873
6788
|
let found = null;
|
|
6874
6789
|
const search = (nodes) => {
|
|
6875
|
-
|
|
6876
|
-
if (!(0,
|
|
6790
|
+
import_react23.Children.forEach(nodes, (child) => {
|
|
6791
|
+
if (!(0, import_react23.isValidElement)(child)) return;
|
|
6877
6792
|
const typedChild = child;
|
|
6878
6793
|
if (typedChild.type === SelectItem && typedChild.props.value === targetValue) {
|
|
6879
6794
|
if (typeof typedChild.props.children === "string")
|
|
@@ -6886,13 +6801,13 @@ var Select = ({
|
|
|
6886
6801
|
search(children2);
|
|
6887
6802
|
return found;
|
|
6888
6803
|
};
|
|
6889
|
-
(0,
|
|
6804
|
+
(0, import_react23.useEffect)(() => {
|
|
6890
6805
|
if (!selectedLabel && defaultValue) {
|
|
6891
6806
|
const label2 = findLabelForValue(children, defaultValue);
|
|
6892
6807
|
if (label2) store.setState({ selectedLabel: label2 });
|
|
6893
6808
|
}
|
|
6894
6809
|
}, [children, defaultValue, selectedLabel]);
|
|
6895
|
-
(0,
|
|
6810
|
+
(0, import_react23.useEffect)(() => {
|
|
6896
6811
|
const handleClickOutside = (event) => {
|
|
6897
6812
|
if (selectRef.current && !selectRef.current.contains(event.target)) {
|
|
6898
6813
|
setOpen(false);
|
|
@@ -6927,7 +6842,7 @@ var Select = ({
|
|
|
6927
6842
|
document.removeEventListener("keydown", handleArrowKeys);
|
|
6928
6843
|
};
|
|
6929
6844
|
}, [open]);
|
|
6930
|
-
(0,
|
|
6845
|
+
(0, import_react23.useEffect)(() => {
|
|
6931
6846
|
if (propValue) {
|
|
6932
6847
|
setValue(propValue);
|
|
6933
6848
|
const label2 = findLabelForValue(children, propValue);
|
|
@@ -6964,7 +6879,7 @@ var SelectValue = ({
|
|
|
6964
6879
|
const value = (0, import_zustand5.useStore)(store, (s) => s.value);
|
|
6965
6880
|
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "text-inherit flex gap-2 items-center", children: selectedLabel || placeholder || value });
|
|
6966
6881
|
};
|
|
6967
|
-
var SelectTrigger = (0,
|
|
6882
|
+
var SelectTrigger = (0, import_react23.forwardRef)(
|
|
6968
6883
|
({
|
|
6969
6884
|
className,
|
|
6970
6885
|
invalid = false,
|
|
@@ -7018,7 +6933,7 @@ var SelectTrigger = (0, import_react22.forwardRef)(
|
|
|
7018
6933
|
}
|
|
7019
6934
|
);
|
|
7020
6935
|
SelectTrigger.displayName = "SelectTrigger";
|
|
7021
|
-
var SelectContent = (0,
|
|
6936
|
+
var SelectContent = (0, import_react23.forwardRef)(
|
|
7022
6937
|
({
|
|
7023
6938
|
children,
|
|
7024
6939
|
className,
|
|
@@ -7048,7 +6963,7 @@ var SelectContent = (0, import_react22.forwardRef)(
|
|
|
7048
6963
|
}
|
|
7049
6964
|
);
|
|
7050
6965
|
SelectContent.displayName = "SelectContent";
|
|
7051
|
-
var SelectItem = (0,
|
|
6966
|
+
var SelectItem = (0, import_react23.forwardRef)(
|
|
7052
6967
|
({
|
|
7053
6968
|
className,
|
|
7054
6969
|
children,
|
|
@@ -7107,7 +7022,7 @@ var Select_default = Select;
|
|
|
7107
7022
|
|
|
7108
7023
|
// src/components/Menu/Menu.tsx
|
|
7109
7024
|
var import_zustand6 = require("zustand");
|
|
7110
|
-
var
|
|
7025
|
+
var import_react24 = require("react");
|
|
7111
7026
|
var import_phosphor_react19 = require("phosphor-react");
|
|
7112
7027
|
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
7113
7028
|
var createMenuStore = (onValueChange) => (0, import_zustand6.create)((set) => ({
|
|
@@ -7128,7 +7043,7 @@ var VARIANT_CLASSES5 = {
|
|
|
7128
7043
|
"menu-overflow": "",
|
|
7129
7044
|
breadcrumb: "bg-transparent shadow-none !px-0"
|
|
7130
7045
|
};
|
|
7131
|
-
var Menu = (0,
|
|
7046
|
+
var Menu = (0, import_react24.forwardRef)(
|
|
7132
7047
|
({
|
|
7133
7048
|
className,
|
|
7134
7049
|
children,
|
|
@@ -7138,11 +7053,11 @@ var Menu = (0, import_react23.forwardRef)(
|
|
|
7138
7053
|
onValueChange,
|
|
7139
7054
|
...props
|
|
7140
7055
|
}, ref) => {
|
|
7141
|
-
const storeRef = (0,
|
|
7056
|
+
const storeRef = (0, import_react24.useRef)(null);
|
|
7142
7057
|
storeRef.current ??= createMenuStore(onValueChange);
|
|
7143
7058
|
const store = storeRef.current;
|
|
7144
7059
|
const { setValue } = (0, import_zustand6.useStore)(store, (s) => s);
|
|
7145
|
-
(0,
|
|
7060
|
+
(0, import_react24.useEffect)(() => {
|
|
7146
7061
|
setValue(propValue ?? defaultValue);
|
|
7147
7062
|
}, [defaultValue, propValue, setValue]);
|
|
7148
7063
|
const baseClasses = variant === "menu-overflow" ? "w-fit py-2 flex flex-row items-center justify-center" : "w-full py-2 flex flex-row items-center justify-center";
|
|
@@ -7163,7 +7078,7 @@ var Menu = (0, import_react23.forwardRef)(
|
|
|
7163
7078
|
}
|
|
7164
7079
|
);
|
|
7165
7080
|
Menu.displayName = "Menu";
|
|
7166
|
-
var MenuContent = (0,
|
|
7081
|
+
var MenuContent = (0, import_react24.forwardRef)(
|
|
7167
7082
|
({ className, children, variant = "menu", ...props }, ref) => {
|
|
7168
7083
|
const baseClasses = "w-full flex flex-row items-center gap-2";
|
|
7169
7084
|
const variantClasses = variant === "menu2" || variant === "menu-overflow" ? "overflow-x-auto scroll-smooth" : "";
|
|
@@ -7185,7 +7100,7 @@ var MenuContent = (0, import_react23.forwardRef)(
|
|
|
7185
7100
|
}
|
|
7186
7101
|
);
|
|
7187
7102
|
MenuContent.displayName = "MenuContent";
|
|
7188
|
-
var MenuItem = (0,
|
|
7103
|
+
var MenuItem = (0, import_react24.forwardRef)(
|
|
7189
7104
|
({
|
|
7190
7105
|
className,
|
|
7191
7106
|
children,
|
|
@@ -7343,10 +7258,10 @@ var MenuOverflow = ({
|
|
|
7343
7258
|
onValueChange,
|
|
7344
7259
|
...props
|
|
7345
7260
|
}) => {
|
|
7346
|
-
const containerRef = (0,
|
|
7347
|
-
const [showLeftArrow, setShowLeftArrow] = (0,
|
|
7348
|
-
const [showRightArrow, setShowRightArrow] = (0,
|
|
7349
|
-
(0,
|
|
7261
|
+
const containerRef = (0, import_react24.useRef)(null);
|
|
7262
|
+
const [showLeftArrow, setShowLeftArrow] = (0, import_react24.useState)(false);
|
|
7263
|
+
const [showRightArrow, setShowRightArrow] = (0, import_react24.useState)(false);
|
|
7264
|
+
(0, import_react24.useEffect)(() => {
|
|
7350
7265
|
const checkScroll = () => internalCheckScroll(
|
|
7351
7266
|
containerRef.current,
|
|
7352
7267
|
setShowLeftArrow,
|
|
@@ -7406,11 +7321,11 @@ var MenuOverflow = ({
|
|
|
7406
7321
|
}
|
|
7407
7322
|
);
|
|
7408
7323
|
};
|
|
7409
|
-
var injectStore5 = (children, store) =>
|
|
7410
|
-
if (!(0,
|
|
7324
|
+
var injectStore5 = (children, store) => import_react24.Children.map(children, (child) => {
|
|
7325
|
+
if (!(0, import_react24.isValidElement)(child)) return child;
|
|
7411
7326
|
const typedChild = child;
|
|
7412
7327
|
const shouldInject = typedChild.type === MenuItem;
|
|
7413
|
-
return (0,
|
|
7328
|
+
return (0, import_react24.cloneElement)(typedChild, {
|
|
7414
7329
|
...shouldInject ? { store } : {},
|
|
7415
7330
|
...typedChild.props.children ? { children: injectStore5(typedChild.props.children, store) } : {}
|
|
7416
7331
|
});
|
|
@@ -7418,7 +7333,7 @@ var injectStore5 = (children, store) => import_react23.Children.map(children, (c
|
|
|
7418
7333
|
var Menu_default = Menu;
|
|
7419
7334
|
|
|
7420
7335
|
// src/components/Skeleton/Skeleton.tsx
|
|
7421
|
-
var
|
|
7336
|
+
var import_react25 = require("react");
|
|
7422
7337
|
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
7423
7338
|
var SKELETON_ANIMATION_CLASSES = {
|
|
7424
7339
|
pulse: "animate-pulse",
|
|
@@ -7436,7 +7351,7 @@ var SPACING_CLASSES = {
|
|
|
7436
7351
|
medium: "space-y-2",
|
|
7437
7352
|
large: "space-y-3"
|
|
7438
7353
|
};
|
|
7439
|
-
var Skeleton = (0,
|
|
7354
|
+
var Skeleton = (0, import_react25.forwardRef)(
|
|
7440
7355
|
({
|
|
7441
7356
|
variant = "text",
|
|
7442
7357
|
width,
|
|
@@ -7485,13 +7400,13 @@ var Skeleton = (0, import_react24.forwardRef)(
|
|
|
7485
7400
|
);
|
|
7486
7401
|
}
|
|
7487
7402
|
);
|
|
7488
|
-
var SkeletonText = (0,
|
|
7403
|
+
var SkeletonText = (0, import_react25.forwardRef)(
|
|
7489
7404
|
(props, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Skeleton, { ref, variant: "text", ...props })
|
|
7490
7405
|
);
|
|
7491
|
-
var SkeletonCircle = (0,
|
|
7492
|
-
var SkeletonRectangle = (0,
|
|
7493
|
-
var SkeletonRounded = (0,
|
|
7494
|
-
var SkeletonCard = (0,
|
|
7406
|
+
var SkeletonCircle = (0, import_react25.forwardRef)((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Skeleton, { ref, variant: "circular", ...props }));
|
|
7407
|
+
var SkeletonRectangle = (0, import_react25.forwardRef)((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Skeleton, { ref, variant: "rectangular", ...props }));
|
|
7408
|
+
var SkeletonRounded = (0, import_react25.forwardRef)((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Skeleton, { ref, variant: "rounded", ...props }));
|
|
7409
|
+
var SkeletonCard = (0, import_react25.forwardRef)(
|
|
7495
7410
|
({
|
|
7496
7411
|
showAvatar = true,
|
|
7497
7412
|
showTitle = true,
|
|
@@ -7527,7 +7442,7 @@ var SkeletonCard = (0, import_react24.forwardRef)(
|
|
|
7527
7442
|
);
|
|
7528
7443
|
}
|
|
7529
7444
|
);
|
|
7530
|
-
var SkeletonList = (0,
|
|
7445
|
+
var SkeletonList = (0, import_react25.forwardRef)(
|
|
7531
7446
|
({
|
|
7532
7447
|
items = 3,
|
|
7533
7448
|
showAvatar = true,
|
|
@@ -7546,7 +7461,7 @@ var SkeletonList = (0, import_react24.forwardRef)(
|
|
|
7546
7461
|
] }, index)) });
|
|
7547
7462
|
}
|
|
7548
7463
|
);
|
|
7549
|
-
var SkeletonTable = (0,
|
|
7464
|
+
var SkeletonTable = (0, import_react25.forwardRef)(
|
|
7550
7465
|
({ rows = 5, columns = 4, showHeader = true, className = "", ...props }, ref) => {
|
|
7551
7466
|
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { ref, className: cn("w-full", className), ...props, children: [
|
|
7552
7467
|
showHeader && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "flex space-x-2 mb-3", children: Array.from({ length: columns }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
@@ -7671,7 +7586,7 @@ var NotFound = ({
|
|
|
7671
7586
|
var NotFound_default = NotFound;
|
|
7672
7587
|
|
|
7673
7588
|
// src/components/VideoPlayer/VideoPlayer.tsx
|
|
7674
|
-
var
|
|
7589
|
+
var import_react26 = require("react");
|
|
7675
7590
|
var import_react_dom = require("react-dom");
|
|
7676
7591
|
var import_phosphor_react20 = require("phosphor-react");
|
|
7677
7592
|
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
@@ -7742,9 +7657,9 @@ var SpeedMenu = ({
|
|
|
7742
7657
|
onSpeedChange,
|
|
7743
7658
|
isFullscreen
|
|
7744
7659
|
}) => {
|
|
7745
|
-
const buttonRef = (0,
|
|
7746
|
-
const speedMenuContainerRef = (0,
|
|
7747
|
-
const speedMenuRef = (0,
|
|
7660
|
+
const buttonRef = (0, import_react26.useRef)(null);
|
|
7661
|
+
const speedMenuContainerRef = (0, import_react26.useRef)(null);
|
|
7662
|
+
const speedMenuRef = (0, import_react26.useRef)(null);
|
|
7748
7663
|
const getMenuPosition = () => {
|
|
7749
7664
|
if (!buttonRef.current) return { top: 0, left: 0 };
|
|
7750
7665
|
const rect = buttonRef.current.getBoundingClientRect();
|
|
@@ -7755,7 +7670,7 @@ var SpeedMenu = ({
|
|
|
7755
7670
|
};
|
|
7756
7671
|
};
|
|
7757
7672
|
const position = getMenuPosition();
|
|
7758
|
-
(0,
|
|
7673
|
+
(0, import_react26.useEffect)(() => {
|
|
7759
7674
|
const handleClickOutside = (event) => {
|
|
7760
7675
|
const target = event.target;
|
|
7761
7676
|
const isOutsideContainer = speedMenuContainerRef.current && !speedMenuContainerRef.current.contains(target);
|
|
@@ -7829,26 +7744,26 @@ var VideoPlayer = ({
|
|
|
7829
7744
|
autoSave = true,
|
|
7830
7745
|
storageKey = "video-progress"
|
|
7831
7746
|
}) => {
|
|
7832
|
-
const videoRef = (0,
|
|
7833
|
-
const [isPlaying, setIsPlaying] = (0,
|
|
7834
|
-
const [currentTime, setCurrentTime] = (0,
|
|
7835
|
-
const [duration, setDuration] = (0,
|
|
7836
|
-
const [isMuted, setIsMuted] = (0,
|
|
7837
|
-
const [volume, setVolume] = (0,
|
|
7838
|
-
const [isFullscreen, setIsFullscreen] = (0,
|
|
7839
|
-
const [showControls, setShowControls] = (0,
|
|
7840
|
-
const [hasCompleted, setHasCompleted] = (0,
|
|
7841
|
-
const [showCaptions, setShowCaptions] = (0,
|
|
7842
|
-
(0,
|
|
7747
|
+
const videoRef = (0, import_react26.useRef)(null);
|
|
7748
|
+
const [isPlaying, setIsPlaying] = (0, import_react26.useState)(false);
|
|
7749
|
+
const [currentTime, setCurrentTime] = (0, import_react26.useState)(0);
|
|
7750
|
+
const [duration, setDuration] = (0, import_react26.useState)(0);
|
|
7751
|
+
const [isMuted, setIsMuted] = (0, import_react26.useState)(false);
|
|
7752
|
+
const [volume, setVolume] = (0, import_react26.useState)(1);
|
|
7753
|
+
const [isFullscreen, setIsFullscreen] = (0, import_react26.useState)(false);
|
|
7754
|
+
const [showControls, setShowControls] = (0, import_react26.useState)(true);
|
|
7755
|
+
const [hasCompleted, setHasCompleted] = (0, import_react26.useState)(false);
|
|
7756
|
+
const [showCaptions, setShowCaptions] = (0, import_react26.useState)(false);
|
|
7757
|
+
(0, import_react26.useEffect)(() => {
|
|
7843
7758
|
setHasCompleted(false);
|
|
7844
7759
|
}, [src]);
|
|
7845
|
-
const [playbackRate, setPlaybackRate] = (0,
|
|
7846
|
-
const [showSpeedMenu, setShowSpeedMenu] = (0,
|
|
7847
|
-
const lastSaveTimeRef = (0,
|
|
7848
|
-
const trackRef = (0,
|
|
7849
|
-
const controlsTimeoutRef = (0,
|
|
7850
|
-
const lastMousePositionRef = (0,
|
|
7851
|
-
const isUserInteracting = (0,
|
|
7760
|
+
const [playbackRate, setPlaybackRate] = (0, import_react26.useState)(1);
|
|
7761
|
+
const [showSpeedMenu, setShowSpeedMenu] = (0, import_react26.useState)(false);
|
|
7762
|
+
const lastSaveTimeRef = (0, import_react26.useRef)(0);
|
|
7763
|
+
const trackRef = (0, import_react26.useRef)(null);
|
|
7764
|
+
const controlsTimeoutRef = (0, import_react26.useRef)(null);
|
|
7765
|
+
const lastMousePositionRef = (0, import_react26.useRef)({ x: 0, y: 0 });
|
|
7766
|
+
const isUserInteracting = (0, import_react26.useCallback)(() => {
|
|
7852
7767
|
if (showSpeedMenu) {
|
|
7853
7768
|
return true;
|
|
7854
7769
|
}
|
|
@@ -7865,13 +7780,13 @@ var VideoPlayer = ({
|
|
|
7865
7780
|
}
|
|
7866
7781
|
return false;
|
|
7867
7782
|
}, [showSpeedMenu]);
|
|
7868
|
-
const clearControlsTimeout = (0,
|
|
7783
|
+
const clearControlsTimeout = (0, import_react26.useCallback)(() => {
|
|
7869
7784
|
if (controlsTimeoutRef.current) {
|
|
7870
7785
|
clearTimeout(controlsTimeoutRef.current);
|
|
7871
7786
|
controlsTimeoutRef.current = null;
|
|
7872
7787
|
}
|
|
7873
7788
|
}, []);
|
|
7874
|
-
const showControlsWithTimer = (0,
|
|
7789
|
+
const showControlsWithTimer = (0, import_react26.useCallback)(() => {
|
|
7875
7790
|
setShowControls(true);
|
|
7876
7791
|
clearControlsTimeout();
|
|
7877
7792
|
if (isFullscreen) {
|
|
@@ -7886,7 +7801,7 @@ var VideoPlayer = ({
|
|
|
7886
7801
|
}, CONTROLS_HIDE_TIMEOUT);
|
|
7887
7802
|
}
|
|
7888
7803
|
}, [isFullscreen, isPlaying, clearControlsTimeout]);
|
|
7889
|
-
const handleMouseMove = (0,
|
|
7804
|
+
const handleMouseMove = (0, import_react26.useCallback)(
|
|
7890
7805
|
(event) => {
|
|
7891
7806
|
const currentX = event.clientX;
|
|
7892
7807
|
const currentY = event.clientY;
|
|
@@ -7899,10 +7814,10 @@ var VideoPlayer = ({
|
|
|
7899
7814
|
},
|
|
7900
7815
|
[showControlsWithTimer]
|
|
7901
7816
|
);
|
|
7902
|
-
const handleMouseEnter = (0,
|
|
7817
|
+
const handleMouseEnter = (0, import_react26.useCallback)(() => {
|
|
7903
7818
|
showControlsWithTimer();
|
|
7904
7819
|
}, [showControlsWithTimer]);
|
|
7905
|
-
const handleMouseLeave = (0,
|
|
7820
|
+
const handleMouseLeave = (0, import_react26.useCallback)(() => {
|
|
7906
7821
|
const userInteracting = isUserInteracting();
|
|
7907
7822
|
clearControlsTimeout();
|
|
7908
7823
|
if (!isFullscreen && !userInteracting) {
|
|
@@ -7911,13 +7826,13 @@ var VideoPlayer = ({
|
|
|
7911
7826
|
}, LEAVE_HIDE_TIMEOUT);
|
|
7912
7827
|
}
|
|
7913
7828
|
}, [isFullscreen, clearControlsTimeout, isUserInteracting]);
|
|
7914
|
-
(0,
|
|
7829
|
+
(0, import_react26.useEffect)(() => {
|
|
7915
7830
|
if (videoRef.current) {
|
|
7916
7831
|
videoRef.current.volume = volume;
|
|
7917
7832
|
videoRef.current.muted = isMuted;
|
|
7918
7833
|
}
|
|
7919
7834
|
}, [volume, isMuted]);
|
|
7920
|
-
(0,
|
|
7835
|
+
(0, import_react26.useEffect)(() => {
|
|
7921
7836
|
const video = videoRef.current;
|
|
7922
7837
|
if (!video) return;
|
|
7923
7838
|
const onPlay = () => setIsPlaying(true);
|
|
@@ -7932,7 +7847,7 @@ var VideoPlayer = ({
|
|
|
7932
7847
|
video.removeEventListener("ended", onEnded);
|
|
7933
7848
|
};
|
|
7934
7849
|
}, []);
|
|
7935
|
-
(0,
|
|
7850
|
+
(0, import_react26.useEffect)(() => {
|
|
7936
7851
|
if (isPlaying) {
|
|
7937
7852
|
showControlsWithTimer();
|
|
7938
7853
|
} else {
|
|
@@ -7944,7 +7859,7 @@ var VideoPlayer = ({
|
|
|
7944
7859
|
}
|
|
7945
7860
|
}
|
|
7946
7861
|
}, [isPlaying, isFullscreen, showControlsWithTimer, clearControlsTimeout]);
|
|
7947
|
-
(0,
|
|
7862
|
+
(0, import_react26.useEffect)(() => {
|
|
7948
7863
|
const handleFullscreenChange = () => {
|
|
7949
7864
|
const isCurrentlyFullscreen = !!document.fullscreenElement;
|
|
7950
7865
|
setIsFullscreen(isCurrentlyFullscreen);
|
|
@@ -7957,7 +7872,7 @@ var VideoPlayer = ({
|
|
|
7957
7872
|
document.removeEventListener("fullscreenchange", handleFullscreenChange);
|
|
7958
7873
|
};
|
|
7959
7874
|
}, [showControlsWithTimer]);
|
|
7960
|
-
(0,
|
|
7875
|
+
(0, import_react26.useEffect)(() => {
|
|
7961
7876
|
const init = () => {
|
|
7962
7877
|
if (!isFullscreen) {
|
|
7963
7878
|
showControlsWithTimer();
|
|
@@ -7979,7 +7894,7 @@ var VideoPlayer = ({
|
|
|
7979
7894
|
};
|
|
7980
7895
|
}
|
|
7981
7896
|
}, []);
|
|
7982
|
-
const getInitialTime = (0,
|
|
7897
|
+
const getInitialTime = (0, import_react26.useCallback)(() => {
|
|
7983
7898
|
if (!autoSave || !storageKey) {
|
|
7984
7899
|
return Number.isFinite(initialTime) && initialTime >= 0 ? initialTime : void 0;
|
|
7985
7900
|
}
|
|
@@ -7990,14 +7905,14 @@ var VideoPlayer = ({
|
|
|
7990
7905
|
if (hasValidSaved) return saved;
|
|
7991
7906
|
return void 0;
|
|
7992
7907
|
}, [autoSave, storageKey, src, initialTime]);
|
|
7993
|
-
(0,
|
|
7908
|
+
(0, import_react26.useEffect)(() => {
|
|
7994
7909
|
const start = getInitialTime();
|
|
7995
7910
|
if (start !== void 0 && videoRef.current) {
|
|
7996
7911
|
videoRef.current.currentTime = start;
|
|
7997
7912
|
setCurrentTime(start);
|
|
7998
7913
|
}
|
|
7999
7914
|
}, [getInitialTime]);
|
|
8000
|
-
const saveProgress = (0,
|
|
7915
|
+
const saveProgress = (0, import_react26.useCallback)(
|
|
8001
7916
|
(time) => {
|
|
8002
7917
|
if (!autoSave || !storageKey) return;
|
|
8003
7918
|
const now = Date.now();
|
|
@@ -8008,7 +7923,7 @@ var VideoPlayer = ({
|
|
|
8008
7923
|
},
|
|
8009
7924
|
[autoSave, storageKey, src]
|
|
8010
7925
|
);
|
|
8011
|
-
const togglePlayPause = (0,
|
|
7926
|
+
const togglePlayPause = (0, import_react26.useCallback)(async () => {
|
|
8012
7927
|
const video = videoRef.current;
|
|
8013
7928
|
if (!video) return;
|
|
8014
7929
|
if (!video.paused) {
|
|
@@ -8020,7 +7935,7 @@ var VideoPlayer = ({
|
|
|
8020
7935
|
} catch {
|
|
8021
7936
|
}
|
|
8022
7937
|
}, []);
|
|
8023
|
-
const handleVolumeChange = (0,
|
|
7938
|
+
const handleVolumeChange = (0, import_react26.useCallback)(
|
|
8024
7939
|
(newVolume) => {
|
|
8025
7940
|
const video = videoRef.current;
|
|
8026
7941
|
if (!video) return;
|
|
@@ -8039,7 +7954,7 @@ var VideoPlayer = ({
|
|
|
8039
7954
|
},
|
|
8040
7955
|
[isMuted]
|
|
8041
7956
|
);
|
|
8042
|
-
const toggleMute = (0,
|
|
7957
|
+
const toggleMute = (0, import_react26.useCallback)(() => {
|
|
8043
7958
|
const video = videoRef.current;
|
|
8044
7959
|
if (!video) return;
|
|
8045
7960
|
if (isMuted) {
|
|
@@ -8053,13 +7968,13 @@ var VideoPlayer = ({
|
|
|
8053
7968
|
setIsMuted(true);
|
|
8054
7969
|
}
|
|
8055
7970
|
}, [isMuted, volume]);
|
|
8056
|
-
const handleSeek = (0,
|
|
7971
|
+
const handleSeek = (0, import_react26.useCallback)((newTime) => {
|
|
8057
7972
|
const video = videoRef.current;
|
|
8058
7973
|
if (video) {
|
|
8059
7974
|
video.currentTime = newTime;
|
|
8060
7975
|
}
|
|
8061
7976
|
}, []);
|
|
8062
|
-
const toggleFullscreen = (0,
|
|
7977
|
+
const toggleFullscreen = (0, import_react26.useCallback)(() => {
|
|
8063
7978
|
const container = videoRef.current?.parentElement;
|
|
8064
7979
|
if (!container) return;
|
|
8065
7980
|
if (!isFullscreen && container.requestFullscreen) {
|
|
@@ -8068,23 +7983,23 @@ var VideoPlayer = ({
|
|
|
8068
7983
|
document.exitFullscreen();
|
|
8069
7984
|
}
|
|
8070
7985
|
}, [isFullscreen]);
|
|
8071
|
-
const handleSpeedChange = (0,
|
|
7986
|
+
const handleSpeedChange = (0, import_react26.useCallback)((speed) => {
|
|
8072
7987
|
if (videoRef.current) {
|
|
8073
7988
|
videoRef.current.playbackRate = speed;
|
|
8074
7989
|
setPlaybackRate(speed);
|
|
8075
7990
|
setShowSpeedMenu(false);
|
|
8076
7991
|
}
|
|
8077
7992
|
}, []);
|
|
8078
|
-
const toggleSpeedMenu = (0,
|
|
7993
|
+
const toggleSpeedMenu = (0, import_react26.useCallback)(() => {
|
|
8079
7994
|
setShowSpeedMenu(!showSpeedMenu);
|
|
8080
7995
|
}, [showSpeedMenu]);
|
|
8081
|
-
const toggleCaptions = (0,
|
|
7996
|
+
const toggleCaptions = (0, import_react26.useCallback)(() => {
|
|
8082
7997
|
if (!trackRef.current?.track || !subtitles) return;
|
|
8083
7998
|
const newShowCaptions = !showCaptions;
|
|
8084
7999
|
setShowCaptions(newShowCaptions);
|
|
8085
8000
|
trackRef.current.track.mode = newShowCaptions && subtitles ? "showing" : "hidden";
|
|
8086
8001
|
}, [showCaptions, subtitles]);
|
|
8087
|
-
const checkVideoCompletion = (0,
|
|
8002
|
+
const checkVideoCompletion = (0, import_react26.useCallback)(
|
|
8088
8003
|
(progressPercent) => {
|
|
8089
8004
|
if (progressPercent >= 95 && !hasCompleted) {
|
|
8090
8005
|
setHasCompleted(true);
|
|
@@ -8093,7 +8008,7 @@ var VideoPlayer = ({
|
|
|
8093
8008
|
},
|
|
8094
8009
|
[hasCompleted, onVideoComplete]
|
|
8095
8010
|
);
|
|
8096
|
-
const handleTimeUpdate = (0,
|
|
8011
|
+
const handleTimeUpdate = (0, import_react26.useCallback)(() => {
|
|
8097
8012
|
const video = videoRef.current;
|
|
8098
8013
|
if (!video) return;
|
|
8099
8014
|
const current = video.currentTime;
|
|
@@ -8106,17 +8021,17 @@ var VideoPlayer = ({
|
|
|
8106
8021
|
checkVideoCompletion(progressPercent);
|
|
8107
8022
|
}
|
|
8108
8023
|
}, [duration, saveProgress, onTimeUpdate, onProgress, checkVideoCompletion]);
|
|
8109
|
-
const handleLoadedMetadata = (0,
|
|
8024
|
+
const handleLoadedMetadata = (0, import_react26.useCallback)(() => {
|
|
8110
8025
|
if (videoRef.current) {
|
|
8111
8026
|
setDuration(videoRef.current.duration);
|
|
8112
8027
|
}
|
|
8113
8028
|
}, []);
|
|
8114
|
-
(0,
|
|
8029
|
+
(0, import_react26.useEffect)(() => {
|
|
8115
8030
|
if (trackRef.current?.track) {
|
|
8116
8031
|
trackRef.current.track.mode = showCaptions && subtitles ? "showing" : "hidden";
|
|
8117
8032
|
}
|
|
8118
8033
|
}, [subtitles, showCaptions]);
|
|
8119
|
-
(0,
|
|
8034
|
+
(0, import_react26.useEffect)(() => {
|
|
8120
8035
|
const handleVisibilityChange = () => {
|
|
8121
8036
|
if (document.hidden && isPlaying && videoRef.current) {
|
|
8122
8037
|
videoRef.current.pause();
|
|
@@ -8138,13 +8053,13 @@ var VideoPlayer = ({
|
|
|
8138
8053
|
};
|
|
8139
8054
|
}, [isPlaying, clearControlsTimeout]);
|
|
8140
8055
|
const progressPercentage = duration > 0 ? currentTime / duration * 100 : 0;
|
|
8141
|
-
const getTopControlsOpacity = (0,
|
|
8056
|
+
const getTopControlsOpacity = (0, import_react26.useCallback)(() => {
|
|
8142
8057
|
return showControls ? "opacity-100" : "opacity-0";
|
|
8143
8058
|
}, [showControls]);
|
|
8144
|
-
const getBottomControlsOpacity = (0,
|
|
8059
|
+
const getBottomControlsOpacity = (0, import_react26.useCallback)(() => {
|
|
8145
8060
|
return showControls ? "opacity-100" : "opacity-0";
|
|
8146
8061
|
}, [showControls]);
|
|
8147
|
-
const handleVideoKeyDown = (0,
|
|
8062
|
+
const handleVideoKeyDown = (0, import_react26.useCallback)(
|
|
8148
8063
|
(e) => {
|
|
8149
8064
|
if (e.key) {
|
|
8150
8065
|
e.stopPropagation();
|
|
@@ -8370,7 +8285,7 @@ var VideoPlayer = ({
|
|
|
8370
8285
|
var VideoPlayer_default = VideoPlayer;
|
|
8371
8286
|
|
|
8372
8287
|
// src/components/Whiteboard/Whiteboard.tsx
|
|
8373
|
-
var
|
|
8288
|
+
var import_react27 = require("react");
|
|
8374
8289
|
var import_phosphor_react21 = require("phosphor-react");
|
|
8375
8290
|
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
8376
8291
|
var IMAGE_WIDTH = 225;
|
|
@@ -8383,8 +8298,8 @@ var Whiteboard = ({
|
|
|
8383
8298
|
imagesPerRow = 2,
|
|
8384
8299
|
...rest
|
|
8385
8300
|
}) => {
|
|
8386
|
-
const [imageErrors, setImageErrors] = (0,
|
|
8387
|
-
const handleDownload = (0,
|
|
8301
|
+
const [imageErrors, setImageErrors] = (0, import_react27.useState)(/* @__PURE__ */ new Set());
|
|
8302
|
+
const handleDownload = (0, import_react27.useCallback)(
|
|
8388
8303
|
(image) => {
|
|
8389
8304
|
if (onDownload) {
|
|
8390
8305
|
onDownload(image);
|
|
@@ -8401,7 +8316,7 @@ var Whiteboard = ({
|
|
|
8401
8316
|
},
|
|
8402
8317
|
[onDownload]
|
|
8403
8318
|
);
|
|
8404
|
-
const handleImageError = (0,
|
|
8319
|
+
const handleImageError = (0, import_react27.useCallback)((imageId) => {
|
|
8405
8320
|
setImageErrors((prev) => new Set(prev).add(imageId));
|
|
8406
8321
|
}, []);
|
|
8407
8322
|
const gridColsClass = images?.length === 1 ? "grid-cols-1" : {
|
|
@@ -8488,10 +8403,10 @@ var Whiteboard = ({
|
|
|
8488
8403
|
var Whiteboard_default = Whiteboard;
|
|
8489
8404
|
|
|
8490
8405
|
// src/components/Auth/Auth.tsx
|
|
8491
|
-
var
|
|
8406
|
+
var import_react28 = require("react");
|
|
8492
8407
|
var import_react_router_dom = require("react-router-dom");
|
|
8493
8408
|
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
8494
|
-
var AuthContext = (0,
|
|
8409
|
+
var AuthContext = (0, import_react28.createContext)(void 0);
|
|
8495
8410
|
var AuthProvider = ({
|
|
8496
8411
|
children,
|
|
8497
8412
|
checkAuthFn,
|
|
@@ -8501,12 +8416,12 @@ var AuthProvider = ({
|
|
|
8501
8416
|
getSessionFn,
|
|
8502
8417
|
getTokensFn
|
|
8503
8418
|
}) => {
|
|
8504
|
-
const [authState, setAuthState] = (0,
|
|
8419
|
+
const [authState, setAuthState] = (0, import_react28.useState)({
|
|
8505
8420
|
isAuthenticated: false,
|
|
8506
8421
|
isLoading: true,
|
|
8507
8422
|
...initialAuthState
|
|
8508
8423
|
});
|
|
8509
|
-
const checkAuth = (0,
|
|
8424
|
+
const checkAuth = (0, import_react28.useCallback)(async () => {
|
|
8510
8425
|
try {
|
|
8511
8426
|
setAuthState((prev) => ({ ...prev, isLoading: true }));
|
|
8512
8427
|
if (!checkAuthFn) {
|
|
@@ -8537,7 +8452,7 @@ var AuthProvider = ({
|
|
|
8537
8452
|
return false;
|
|
8538
8453
|
}
|
|
8539
8454
|
}, [checkAuthFn, getUserFn, getSessionFn, getTokensFn]);
|
|
8540
|
-
const signOut = (0,
|
|
8455
|
+
const signOut = (0, import_react28.useCallback)(() => {
|
|
8541
8456
|
if (signOutFn) {
|
|
8542
8457
|
signOutFn();
|
|
8543
8458
|
}
|
|
@@ -8549,10 +8464,10 @@ var AuthProvider = ({
|
|
|
8549
8464
|
tokens: void 0
|
|
8550
8465
|
}));
|
|
8551
8466
|
}, [signOutFn]);
|
|
8552
|
-
(0,
|
|
8467
|
+
(0, import_react28.useEffect)(() => {
|
|
8553
8468
|
checkAuth();
|
|
8554
8469
|
}, [checkAuth]);
|
|
8555
|
-
const contextValue = (0,
|
|
8470
|
+
const contextValue = (0, import_react28.useMemo)(
|
|
8556
8471
|
() => ({
|
|
8557
8472
|
...authState,
|
|
8558
8473
|
checkAuth,
|
|
@@ -8563,7 +8478,7 @@ var AuthProvider = ({
|
|
|
8563
8478
|
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(AuthContext.Provider, { value: contextValue, children });
|
|
8564
8479
|
};
|
|
8565
8480
|
var useAuth = () => {
|
|
8566
|
-
const context = (0,
|
|
8481
|
+
const context = (0, import_react28.useContext)(AuthContext);
|
|
8567
8482
|
if (context === void 0) {
|
|
8568
8483
|
throw new Error("useAuth deve ser usado dentro de um AuthProvider");
|
|
8569
8484
|
}
|
|
@@ -8703,7 +8618,7 @@ function createZustandAuthAdapter(useAuthStore) {
|
|
|
8703
8618
|
}
|
|
8704
8619
|
|
|
8705
8620
|
// src/components/Auth/useUrlAuthentication.ts
|
|
8706
|
-
var
|
|
8621
|
+
var import_react29 = require("react");
|
|
8707
8622
|
var import_react_router_dom2 = require("react-router-dom");
|
|
8708
8623
|
var getAuthParams = (location, extractParams) => {
|
|
8709
8624
|
const searchParams = new URLSearchParams(location.search);
|
|
@@ -8751,8 +8666,8 @@ var handleUserData = (responseData, setUser) => {
|
|
|
8751
8666
|
};
|
|
8752
8667
|
function useUrlAuthentication(options) {
|
|
8753
8668
|
const location = (0, import_react_router_dom2.useLocation)();
|
|
8754
|
-
const processedRef = (0,
|
|
8755
|
-
(0,
|
|
8669
|
+
const processedRef = (0, import_react29.useRef)(false);
|
|
8670
|
+
(0, import_react29.useEffect)(() => {
|
|
8756
8671
|
const handleAuthentication = async () => {
|
|
8757
8672
|
if (processedRef.current) {
|
|
8758
8673
|
return;
|
|
@@ -8823,9 +8738,9 @@ function useUrlAuthentication(options) {
|
|
|
8823
8738
|
}
|
|
8824
8739
|
|
|
8825
8740
|
// src/components/Auth/useApiConfig.ts
|
|
8826
|
-
var
|
|
8741
|
+
var import_react30 = require("react");
|
|
8827
8742
|
function useApiConfig(api) {
|
|
8828
|
-
return (0,
|
|
8743
|
+
return (0, import_react30.useMemo)(
|
|
8829
8744
|
() => ({
|
|
8830
8745
|
get: (endpoint, config) => api.get(endpoint, config)
|
|
8831
8746
|
}),
|
|
@@ -8835,7 +8750,7 @@ function useApiConfig(api) {
|
|
|
8835
8750
|
|
|
8836
8751
|
// src/components/Quiz/Quiz.tsx
|
|
8837
8752
|
var import_phosphor_react22 = require("phosphor-react");
|
|
8838
|
-
var
|
|
8753
|
+
var import_react31 = require("react");
|
|
8839
8754
|
|
|
8840
8755
|
// src/components/Quiz/useQuizStore.ts
|
|
8841
8756
|
var import_zustand7 = require("zustand");
|
|
@@ -9490,18 +9405,18 @@ var getStatusStyles = (variantCorrect) => {
|
|
|
9490
9405
|
return "bg-error-background border-error-300";
|
|
9491
9406
|
}
|
|
9492
9407
|
};
|
|
9493
|
-
var Quiz = (0,
|
|
9408
|
+
var Quiz = (0, import_react31.forwardRef)(({ children, className, variant = "default", ...props }, ref) => {
|
|
9494
9409
|
const { setVariant } = useQuizStore();
|
|
9495
|
-
(0,
|
|
9410
|
+
(0, import_react31.useEffect)(() => {
|
|
9496
9411
|
setVariant(variant);
|
|
9497
9412
|
}, [variant, setVariant]);
|
|
9498
9413
|
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { ref, className: cn("flex flex-col", className), ...props, children });
|
|
9499
9414
|
});
|
|
9500
|
-
var QuizHeaderResult = (0,
|
|
9415
|
+
var QuizHeaderResult = (0, import_react31.forwardRef)(
|
|
9501
9416
|
({ className, ...props }, ref) => {
|
|
9502
9417
|
const { getQuestionResultByQuestionId, getCurrentQuestion } = useQuizStore();
|
|
9503
|
-
const [status, setStatus] = (0,
|
|
9504
|
-
(0,
|
|
9418
|
+
const [status, setStatus] = (0, import_react31.useState)(void 0);
|
|
9419
|
+
(0, import_react31.useEffect)(() => {
|
|
9505
9420
|
const cq = getCurrentQuestion();
|
|
9506
9421
|
if (!cq) {
|
|
9507
9422
|
setStatus(void 0);
|
|
@@ -9554,7 +9469,7 @@ var QuizHeaderResult = (0, import_react30.forwardRef)(
|
|
|
9554
9469
|
);
|
|
9555
9470
|
}
|
|
9556
9471
|
);
|
|
9557
|
-
var QuizTitle = (0,
|
|
9472
|
+
var QuizTitle = (0, import_react31.forwardRef)(
|
|
9558
9473
|
({ className, ...props }, ref) => {
|
|
9559
9474
|
const {
|
|
9560
9475
|
currentQuestionIndex,
|
|
@@ -9564,7 +9479,7 @@ var QuizTitle = (0, import_react30.forwardRef)(
|
|
|
9564
9479
|
formatTime: formatTime2,
|
|
9565
9480
|
isStarted
|
|
9566
9481
|
} = useQuizStore();
|
|
9567
|
-
const [showExitConfirmation, setShowExitConfirmation] = (0,
|
|
9482
|
+
const [showExitConfirmation, setShowExitConfirmation] = (0, import_react31.useState)(false);
|
|
9568
9483
|
const totalQuestions = getTotalQuestions();
|
|
9569
9484
|
const quizTitle = getQuizTitle();
|
|
9570
9485
|
const handleBackClick = () => {
|
|
@@ -9625,7 +9540,7 @@ var QuizTitle = (0, import_react30.forwardRef)(
|
|
|
9625
9540
|
] });
|
|
9626
9541
|
}
|
|
9627
9542
|
);
|
|
9628
|
-
var QuizSubTitle = (0,
|
|
9543
|
+
var QuizSubTitle = (0, import_react31.forwardRef)(
|
|
9629
9544
|
({ subTitle, ...props }, ref) => {
|
|
9630
9545
|
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "px-4 pb-2 pt-6", ...props, ref, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { className: "font-bold text-lg text-text-950", children: subTitle }) });
|
|
9631
9546
|
}
|
|
@@ -9642,7 +9557,7 @@ var QuizHeader = () => {
|
|
|
9642
9557
|
}
|
|
9643
9558
|
);
|
|
9644
9559
|
};
|
|
9645
|
-
var QuizContainer = (0,
|
|
9560
|
+
var QuizContainer = (0, import_react31.forwardRef)(({ children, className, ...props }, ref) => {
|
|
9646
9561
|
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
9647
9562
|
"div",
|
|
9648
9563
|
{
|
|
@@ -9656,7 +9571,7 @@ var QuizContainer = (0, import_react30.forwardRef)(({ children, className, ...pr
|
|
|
9656
9571
|
}
|
|
9657
9572
|
);
|
|
9658
9573
|
});
|
|
9659
|
-
var QuizContent = (0,
|
|
9574
|
+
var QuizContent = (0, import_react31.forwardRef)(({ paddingBottom }) => {
|
|
9660
9575
|
const { getCurrentQuestion } = useQuizStore();
|
|
9661
9576
|
const currentQuestion = getCurrentQuestion();
|
|
9662
9577
|
const questionComponents = {
|
|
@@ -9741,15 +9656,15 @@ var QuizMultipleChoice = ({ paddingBottom }) => {
|
|
|
9741
9656
|
const currentQuestionResult = getQuestionResultByQuestionId(
|
|
9742
9657
|
currentQuestion?.id || ""
|
|
9743
9658
|
);
|
|
9744
|
-
const prevSelectedValuesRef = (0,
|
|
9745
|
-
const prevQuestionIdRef = (0,
|
|
9746
|
-
const allCurrentAnswerIds = (0,
|
|
9659
|
+
const prevSelectedValuesRef = (0, import_react31.useRef)([]);
|
|
9660
|
+
const prevQuestionIdRef = (0, import_react31.useRef)("");
|
|
9661
|
+
const allCurrentAnswerIds = (0, import_react31.useMemo)(() => {
|
|
9747
9662
|
return allCurrentAnswers?.map((answer) => answer.optionId) || [];
|
|
9748
9663
|
}, [allCurrentAnswers]);
|
|
9749
|
-
const selectedValues = (0,
|
|
9664
|
+
const selectedValues = (0, import_react31.useMemo)(() => {
|
|
9750
9665
|
return allCurrentAnswerIds?.filter((id) => id !== null) || [];
|
|
9751
9666
|
}, [allCurrentAnswerIds]);
|
|
9752
|
-
const stableSelectedValues = (0,
|
|
9667
|
+
const stableSelectedValues = (0, import_react31.useMemo)(() => {
|
|
9753
9668
|
const currentQuestionId = currentQuestion?.id || "";
|
|
9754
9669
|
const hasQuestionChanged = prevQuestionIdRef.current !== currentQuestionId;
|
|
9755
9670
|
if (hasQuestionChanged) {
|
|
@@ -9773,7 +9688,7 @@ var QuizMultipleChoice = ({ paddingBottom }) => {
|
|
|
9773
9688
|
variant,
|
|
9774
9689
|
currentQuestionResult?.selectedOptions
|
|
9775
9690
|
]);
|
|
9776
|
-
const handleSelectedValues = (0,
|
|
9691
|
+
const handleSelectedValues = (0, import_react31.useCallback)(
|
|
9777
9692
|
(values) => {
|
|
9778
9693
|
if (currentQuestion) {
|
|
9779
9694
|
selectMultipleAnswer(currentQuestion.id, values);
|
|
@@ -9781,7 +9696,7 @@ var QuizMultipleChoice = ({ paddingBottom }) => {
|
|
|
9781
9696
|
},
|
|
9782
9697
|
[currentQuestion, selectMultipleAnswer]
|
|
9783
9698
|
);
|
|
9784
|
-
const questionKey = (0,
|
|
9699
|
+
const questionKey = (0, import_react31.useMemo)(
|
|
9785
9700
|
() => `question-${currentQuestion?.id || "1"}`,
|
|
9786
9701
|
[currentQuestion?.id]
|
|
9787
9702
|
);
|
|
@@ -9836,13 +9751,13 @@ var QuizDissertative = ({ paddingBottom }) => {
|
|
|
9836
9751
|
currentQuestion?.id || ""
|
|
9837
9752
|
);
|
|
9838
9753
|
const currentAnswer = getCurrentAnswer();
|
|
9839
|
-
const textareaRef = (0,
|
|
9754
|
+
const textareaRef = (0, import_react31.useRef)(null);
|
|
9840
9755
|
const handleAnswerChange = (value) => {
|
|
9841
9756
|
if (currentQuestion) {
|
|
9842
9757
|
selectDissertativeAnswer(currentQuestion.id, value);
|
|
9843
9758
|
}
|
|
9844
9759
|
};
|
|
9845
|
-
const adjustTextareaHeight = (0,
|
|
9760
|
+
const adjustTextareaHeight = (0, import_react31.useCallback)(() => {
|
|
9846
9761
|
if (textareaRef.current) {
|
|
9847
9762
|
textareaRef.current.style.height = "auto";
|
|
9848
9763
|
const scrollHeight = textareaRef.current.scrollHeight;
|
|
@@ -9852,7 +9767,7 @@ var QuizDissertative = ({ paddingBottom }) => {
|
|
|
9852
9767
|
textareaRef.current.style.height = `${newHeight}px`;
|
|
9853
9768
|
}
|
|
9854
9769
|
}, []);
|
|
9855
|
-
(0,
|
|
9770
|
+
(0, import_react31.useEffect)(() => {
|
|
9856
9771
|
adjustTextareaHeight();
|
|
9857
9772
|
}, [currentAnswer, adjustTextareaHeight]);
|
|
9858
9773
|
if (!currentQuestion) {
|
|
@@ -9991,7 +9906,7 @@ var QuizConnectDots = ({ paddingBottom }) => {
|
|
|
9991
9906
|
isCorrect: false
|
|
9992
9907
|
}
|
|
9993
9908
|
];
|
|
9994
|
-
const [userAnswers, setUserAnswers] = (0,
|
|
9909
|
+
const [userAnswers, setUserAnswers] = (0, import_react31.useState)(() => {
|
|
9995
9910
|
if (variant === "result") {
|
|
9996
9911
|
return mockUserAnswers;
|
|
9997
9912
|
}
|
|
@@ -10110,8 +10025,8 @@ var QuizFill = ({ paddingBottom }) => {
|
|
|
10110
10025
|
isCorrect: true
|
|
10111
10026
|
}
|
|
10112
10027
|
];
|
|
10113
|
-
const [answers, setAnswers] = (0,
|
|
10114
|
-
const baseId = (0,
|
|
10028
|
+
const [answers, setAnswers] = (0, import_react31.useState)({});
|
|
10029
|
+
const baseId = (0, import_react31.useId)();
|
|
10115
10030
|
const getAvailableOptionsForSelect = (selectId) => {
|
|
10116
10031
|
const usedOptions = Object.entries(answers).filter(([key]) => key !== selectId).map(([, value]) => value);
|
|
10117
10032
|
return options.filter((option) => !usedOptions.includes(option));
|
|
@@ -10248,7 +10163,7 @@ var QuizImageQuestion = ({ paddingBottom }) => {
|
|
|
10248
10163
|
};
|
|
10249
10164
|
const correctRadiusRelative = calculateCorrectRadiusRelative();
|
|
10250
10165
|
const mockUserAnswerRelative = { x: 0.72, y: 0.348 };
|
|
10251
|
-
const [clickPositionRelative, setClickPositionRelative] = (0,
|
|
10166
|
+
const [clickPositionRelative, setClickPositionRelative] = (0, import_react31.useState)(variant == "result" ? mockUserAnswerRelative : null);
|
|
10252
10167
|
const convertToRelativeCoordinates = (x, y, rect) => {
|
|
10253
10168
|
const safeWidth = Math.max(rect.width, 1e-3);
|
|
10254
10169
|
const safeHeight = Math.max(rect.height, 1e-3);
|
|
@@ -10448,7 +10363,7 @@ var QuizQuestionList = ({
|
|
|
10448
10363
|
)
|
|
10449
10364
|
] });
|
|
10450
10365
|
};
|
|
10451
|
-
var QuizFooter = (0,
|
|
10366
|
+
var QuizFooter = (0, import_react31.forwardRef)(
|
|
10452
10367
|
({
|
|
10453
10368
|
className,
|
|
10454
10369
|
onGoToSimulated,
|
|
@@ -10476,11 +10391,11 @@ var QuizFooter = (0, import_react30.forwardRef)(
|
|
|
10476
10391
|
const currentAnswer = getCurrentAnswer();
|
|
10477
10392
|
const currentQuestion = getCurrentQuestion();
|
|
10478
10393
|
const isCurrentQuestionSkipped = currentQuestion ? getQuestionStatusFromUserAnswers(currentQuestion.id) === "skipped" : false;
|
|
10479
|
-
const [alertDialogOpen, setAlertDialogOpen] = (0,
|
|
10480
|
-
const [modalResultOpen, setModalResultOpen] = (0,
|
|
10481
|
-
const [modalNavigateOpen, setModalNavigateOpen] = (0,
|
|
10482
|
-
const [modalResolutionOpen, setModalResolutionOpen] = (0,
|
|
10483
|
-
const [filterType, setFilterType] = (0,
|
|
10394
|
+
const [alertDialogOpen, setAlertDialogOpen] = (0, import_react31.useState)(false);
|
|
10395
|
+
const [modalResultOpen, setModalResultOpen] = (0, import_react31.useState)(false);
|
|
10396
|
+
const [modalNavigateOpen, setModalNavigateOpen] = (0, import_react31.useState)(false);
|
|
10397
|
+
const [modalResolutionOpen, setModalResolutionOpen] = (0, import_react31.useState)(false);
|
|
10398
|
+
const [filterType, setFilterType] = (0, import_react31.useState)("all");
|
|
10484
10399
|
const unansweredQuestions = getUnansweredQuestionsFromUserAnswers();
|
|
10485
10400
|
const allQuestions = getTotalQuestions();
|
|
10486
10401
|
const handleFinishQuiz = async () => {
|
|
@@ -10724,7 +10639,7 @@ var QuizBadge = ({
|
|
|
10724
10639
|
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Badge_default, { variant: "solid", action: "info", "data-testid": "quiz-badge", children: subtype });
|
|
10725
10640
|
}
|
|
10726
10641
|
};
|
|
10727
|
-
var QuizResultHeaderTitle = (0,
|
|
10642
|
+
var QuizResultHeaderTitle = (0, import_react31.forwardRef)(({ className, ...props }, ref) => {
|
|
10728
10643
|
const { getActiveQuiz } = useQuizStore();
|
|
10729
10644
|
const activeQuiz = getActiveQuiz();
|
|
10730
10645
|
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
|
|
@@ -10740,7 +10655,7 @@ var QuizResultHeaderTitle = (0, import_react30.forwardRef)(({ className, ...prop
|
|
|
10740
10655
|
}
|
|
10741
10656
|
);
|
|
10742
10657
|
});
|
|
10743
|
-
var QuizResultTitle = (0,
|
|
10658
|
+
var QuizResultTitle = (0, import_react31.forwardRef)(({ className, ...props }, ref) => {
|
|
10744
10659
|
const { getQuizTitle } = useQuizStore();
|
|
10745
10660
|
const quizTitle = getQuizTitle();
|
|
10746
10661
|
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
@@ -10753,7 +10668,7 @@ var QuizResultTitle = (0, import_react30.forwardRef)(({ className, ...props }, r
|
|
|
10753
10668
|
}
|
|
10754
10669
|
);
|
|
10755
10670
|
});
|
|
10756
|
-
var QuizResultPerformance = (0,
|
|
10671
|
+
var QuizResultPerformance = (0, import_react31.forwardRef)(
|
|
10757
10672
|
({ ...props }, ref) => {
|
|
10758
10673
|
const {
|
|
10759
10674
|
getTotalQuestions,
|
|
@@ -10878,7 +10793,7 @@ var QuizResultPerformance = (0, import_react30.forwardRef)(
|
|
|
10878
10793
|
);
|
|
10879
10794
|
}
|
|
10880
10795
|
);
|
|
10881
|
-
var QuizListResult = (0,
|
|
10796
|
+
var QuizListResult = (0, import_react31.forwardRef)(({ className, onSubjectClick, ...props }, ref) => {
|
|
10882
10797
|
const { getQuestionsGroupedBySubject } = useQuizStore();
|
|
10883
10798
|
const groupedQuestions = getQuestionsGroupedBySubject();
|
|
10884
10799
|
const subjectsStats = Object.entries(groupedQuestions).map(
|
|
@@ -10961,9 +10876,9 @@ var QuizListResultByMateria = ({
|
|
|
10961
10876
|
};
|
|
10962
10877
|
|
|
10963
10878
|
// src/components/LoadingModal/loadingModal.tsx
|
|
10964
|
-
var
|
|
10879
|
+
var import_react32 = require("react");
|
|
10965
10880
|
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
10966
|
-
var LoadingModal = (0,
|
|
10881
|
+
var LoadingModal = (0, import_react32.forwardRef)(
|
|
10967
10882
|
({ open, title = "Titulo...", subtitle = "Subtitulo...", ...props }, ref) => {
|
|
10968
10883
|
if (!open) return null;
|
|
10969
10884
|
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
@@ -11017,7 +10932,7 @@ var loadingModal_default = LoadingModal;
|
|
|
11017
10932
|
|
|
11018
10933
|
// src/components/NotificationCard/NotificationCard.tsx
|
|
11019
10934
|
var import_phosphor_react23 = require("phosphor-react");
|
|
11020
|
-
var
|
|
10935
|
+
var import_react33 = require("react");
|
|
11021
10936
|
|
|
11022
10937
|
// src/store/notificationStore.ts
|
|
11023
10938
|
var import_zustand8 = require("zustand");
|
|
@@ -11398,7 +11313,7 @@ var NotificationList = ({
|
|
|
11398
11313
|
className,
|
|
11399
11314
|
emptyStateImage
|
|
11400
11315
|
}) => {
|
|
11401
|
-
const [globalNotificationModal, setGlobalNotificationModal] = (0,
|
|
11316
|
+
const [globalNotificationModal, setGlobalNotificationModal] = (0, import_react33.useState)({ isOpen: false, notification: null });
|
|
11402
11317
|
const handleGlobalNotificationClick = (notification) => {
|
|
11403
11318
|
if (onGlobalNotificationClick) {
|
|
11404
11319
|
onGlobalNotificationClick(notification);
|
|
@@ -11512,8 +11427,8 @@ var NotificationCenter = ({
|
|
|
11512
11427
|
className
|
|
11513
11428
|
}) => {
|
|
11514
11429
|
const { isMobile } = useMobile();
|
|
11515
|
-
const [isModalOpen, setIsModalOpen] = (0,
|
|
11516
|
-
const [globalNotificationModal, setGlobalNotificationModal] = (0,
|
|
11430
|
+
const [isModalOpen, setIsModalOpen] = (0, import_react33.useState)(false);
|
|
11431
|
+
const [globalNotificationModal, setGlobalNotificationModal] = (0, import_react33.useState)({ isOpen: false, notification: null });
|
|
11517
11432
|
const handleMobileClick = () => {
|
|
11518
11433
|
setIsModalOpen(true);
|
|
11519
11434
|
onFetchNotifications?.();
|
|
@@ -11528,7 +11443,7 @@ var NotificationCenter = ({
|
|
|
11528
11443
|
onToggleActive?.();
|
|
11529
11444
|
}
|
|
11530
11445
|
};
|
|
11531
|
-
(0,
|
|
11446
|
+
(0, import_react33.useEffect)(() => {
|
|
11532
11447
|
if (isActive) {
|
|
11533
11448
|
onFetchNotifications?.();
|
|
11534
11449
|
}
|
|
@@ -11747,7 +11662,7 @@ var createUseNotificationStore = (apiClient) => {
|
|
|
11747
11662
|
};
|
|
11748
11663
|
|
|
11749
11664
|
// src/hooks/useNotifications.ts
|
|
11750
|
-
var
|
|
11665
|
+
var import_react34 = require("react");
|
|
11751
11666
|
var createUseNotifications = (apiClient) => {
|
|
11752
11667
|
const useNotificationStore = createUseNotificationStore(apiClient);
|
|
11753
11668
|
return () => {
|
|
@@ -11766,7 +11681,7 @@ var createUseNotifications = (apiClient) => {
|
|
|
11766
11681
|
resetError,
|
|
11767
11682
|
getGroupedNotifications
|
|
11768
11683
|
} = useNotificationStore();
|
|
11769
|
-
const handleNavigate = (0,
|
|
11684
|
+
const handleNavigate = (0, import_react34.useCallback)(
|
|
11770
11685
|
(entityType, entityId, onAfterNavigate) => {
|
|
11771
11686
|
if (entityType && entityId) {
|
|
11772
11687
|
switch (entityType.toUpperCase()) {
|
|
@@ -11784,7 +11699,7 @@ var createUseNotifications = (apiClient) => {
|
|
|
11784
11699
|
},
|
|
11785
11700
|
[]
|
|
11786
11701
|
);
|
|
11787
|
-
const getActionLabel = (0,
|
|
11702
|
+
const getActionLabel = (0, import_react34.useCallback)(
|
|
11788
11703
|
(entityType) => {
|
|
11789
11704
|
if (!entityType) return "Ver mais";
|
|
11790
11705
|
switch (entityType.toUpperCase()) {
|
|
@@ -11798,7 +11713,7 @@ var createUseNotifications = (apiClient) => {
|
|
|
11798
11713
|
},
|
|
11799
11714
|
[]
|
|
11800
11715
|
);
|
|
11801
|
-
const markAsReadAndNavigate = (0,
|
|
11716
|
+
const markAsReadAndNavigate = (0, import_react34.useCallback)(
|
|
11802
11717
|
async (id, entityType, entityId, onAfterNavigate) => {
|
|
11803
11718
|
await markAsRead(id);
|
|
11804
11719
|
if (entityType && entityId) {
|
|
@@ -11807,11 +11722,11 @@ var createUseNotifications = (apiClient) => {
|
|
|
11807
11722
|
},
|
|
11808
11723
|
[markAsRead, handleNavigate]
|
|
11809
11724
|
);
|
|
11810
|
-
const refreshNotifications = (0,
|
|
11725
|
+
const refreshNotifications = (0, import_react34.useCallback)(async () => {
|
|
11811
11726
|
resetError();
|
|
11812
11727
|
await fetchNotifications();
|
|
11813
11728
|
}, [resetError, fetchNotifications]);
|
|
11814
|
-
const formatNotification = (0,
|
|
11729
|
+
const formatNotification = (0, import_react34.useCallback)(
|
|
11815
11730
|
(notification) => ({
|
|
11816
11731
|
...notification,
|
|
11817
11732
|
time: formatTimeAgo(notification.createdAt),
|
|
@@ -11820,7 +11735,7 @@ var createUseNotifications = (apiClient) => {
|
|
|
11820
11735
|
}),
|
|
11821
11736
|
[]
|
|
11822
11737
|
);
|
|
11823
|
-
const getFormattedGroupedNotifications = (0,
|
|
11738
|
+
const getFormattedGroupedNotifications = (0, import_react34.useCallback)(() => {
|
|
11824
11739
|
const groups = getGroupedNotifications();
|
|
11825
11740
|
return groups.map((group) => ({
|
|
11826
11741
|
...group,
|
|
@@ -11974,8 +11889,8 @@ var createNotificationsHook = (apiClient) => {
|
|
|
11974
11889
|
getRootDomain,
|
|
11975
11890
|
getStatusBadge,
|
|
11976
11891
|
getSubjectColorClass,
|
|
11977
|
-
getSubjectData,
|
|
11978
11892
|
getSubjectIcon,
|
|
11893
|
+
getSubjectInfo,
|
|
11979
11894
|
getSubjectName,
|
|
11980
11895
|
useApiConfig,
|
|
11981
11896
|
useAuth,
|