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