analytica-frontend-lib 1.6.76 → 1.6.78
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/AccessReportModal/index.js +4 -5
- package/dist/AccessReportModal/index.js.map +1 -1
- package/dist/AccessReportModal/index.mjs +3 -4
- package/dist/AccessibilityWidget/index.js +4 -5
- package/dist/AccessibilityWidget/index.js.map +1 -1
- package/dist/AccessibilityWidget/index.mjs +3 -4
- package/dist/Accordation/index.js +4 -4
- package/dist/Accordation/index.mjs +3 -3
- package/dist/ActivitiesHistory/index.js +48 -49
- package/dist/ActivitiesHistory/index.js.map +1 -1
- package/dist/ActivitiesHistory/index.mjs +47 -48
- package/dist/ActivityCardQuestionBanks/index.d.ts.map +1 -1
- package/dist/ActivityCardQuestionBanks/index.js +48 -49
- package/dist/ActivityCardQuestionBanks/index.js.map +1 -1
- package/dist/ActivityCardQuestionBanks/index.mjs +47 -48
- package/dist/ActivityCardQuestionPreview/index.js +48 -49
- package/dist/ActivityCardQuestionPreview/index.js.map +1 -1
- package/dist/ActivityCardQuestionPreview/index.mjs +47 -48
- package/dist/ActivityCreate/ActivityCreateContent/index.js +48 -49
- package/dist/ActivityCreate/ActivityCreateContent/index.js.map +1 -1
- package/dist/ActivityCreate/ActivityCreateContent/index.mjs +47 -48
- package/dist/ActivityCreate/index.js +48 -49
- package/dist/ActivityCreate/index.js.map +1 -1
- package/dist/ActivityCreate/index.mjs +47 -48
- package/dist/ActivityDetails/index.js +48 -49
- package/dist/ActivityDetails/index.js.map +1 -1
- package/dist/ActivityDetails/index.mjs +47 -48
- package/dist/ActivityFilters/index.js +48 -49
- package/dist/ActivityFilters/index.js.map +1 -1
- package/dist/ActivityFilters/index.mjs +47 -48
- package/dist/ActivityPageLayout/index.js +48 -49
- package/dist/ActivityPageLayout/index.js.map +1 -1
- package/dist/ActivityPageLayout/index.mjs +47 -48
- package/dist/ActivityPreview/index.js +48 -49
- package/dist/ActivityPreview/index.js.map +1 -1
- package/dist/ActivityPreview/index.mjs +47 -48
- package/dist/AlertDialog/index.d.ts.map +1 -1
- package/dist/AlertDialog/index.js +3 -3
- package/dist/AlertDialog/index.mjs +2 -2
- package/dist/AlertManager/index.js +48 -49
- package/dist/AlertManager/index.js.map +1 -1
- package/dist/AlertManager/index.mjs +47 -48
- package/dist/AlertManagerView/index.js +4 -5
- package/dist/AlertManagerView/index.js.map +1 -1
- package/dist/AlertManagerView/index.mjs +3 -4
- package/dist/AnnouncementModal/index.js +4 -5
- package/dist/AnnouncementModal/index.js.map +1 -1
- package/dist/AnnouncementModal/index.mjs +3 -4
- package/dist/AnnouncementsGate/index.js +5 -6
- package/dist/AnnouncementsGate/index.js.map +1 -1
- package/dist/AnnouncementsGate/index.mjs +4 -5
- package/dist/AnswerKeyModal/index.js +4 -5
- package/dist/AnswerKeyModal/index.js.map +1 -1
- package/dist/AnswerKeyModal/index.mjs +3 -4
- package/dist/AppHeader/index.js +8 -9
- package/dist/AppHeader/index.js.map +1 -1
- package/dist/AppHeader/index.mjs +7 -8
- package/dist/CalendarCard/index.js +6 -7
- package/dist/CalendarCard/index.js.map +1 -1
- package/dist/CalendarCard/index.mjs +5 -6
- package/dist/Card/index.d.ts.map +1 -1
- package/dist/Card/index.js +3 -3
- package/dist/Card/index.mjs +2 -2
- package/dist/Chat/index.js +4 -5
- package/dist/Chat/index.js.map +1 -1
- package/dist/Chat/index.mjs +3 -4
- package/dist/Chatbot/index.js +4 -5
- package/dist/Chatbot/index.js.map +1 -1
- package/dist/Chatbot/index.mjs +3 -4
- package/dist/CheckBoxGroup/index.js +48 -49
- package/dist/CheckBoxGroup/index.js.map +1 -1
- package/dist/CheckBoxGroup/index.mjs +47 -48
- package/dist/ComparatorChart/ComparatorView/index.js +4 -5
- package/dist/ComparatorChart/ComparatorView/index.js.map +1 -1
- package/dist/ComparatorChart/ComparatorView/index.mjs +3 -4
- package/dist/CorrectActivityModal/index.js +9 -10
- package/dist/CorrectActivityModal/index.js.map +1 -1
- package/dist/CorrectActivityModal/index.mjs +8 -9
- package/dist/DownloadButton/index.js +6 -7
- package/dist/DownloadButton/index.js.map +1 -1
- package/dist/DownloadButton/index.mjs +5 -6
- package/dist/DownloadModal/index.js +4 -5
- package/dist/DownloadModal/index.js.map +1 -1
- package/dist/DownloadModal/index.mjs +3 -4
- package/dist/DropdownMenu/index.js +4 -5
- package/dist/DropdownMenu/index.js.map +1 -1
- package/dist/DropdownMenu/index.mjs +3 -4
- package/dist/EnemClassroomStartModal/index.js +8 -9
- package/dist/EnemClassroomStartModal/index.js.map +1 -1
- package/dist/EnemClassroomStartModal/index.mjs +7 -8
- package/dist/EnemMoment/index.js +110 -94
- package/dist/EnemMoment/index.js.map +1 -1
- package/dist/EnemMoment/index.mjs +74 -58
- package/dist/EnemMoment/index.mjs.map +1 -1
- package/dist/EnemMomentStudentModal/index.js +62 -63
- package/dist/EnemMomentStudentModal/index.js.map +1 -1
- package/dist/EnemMomentStudentModal/index.mjs +48 -49
- package/dist/EnemMomentStudentModal/index.mjs.map +1 -1
- package/dist/EssayThemePicker/index.js +3 -3
- package/dist/EssayThemePicker/index.mjs +2 -2
- package/dist/ExamDetailsLayout/ExamDetailsPage/index.js +48 -49
- package/dist/ExamDetailsLayout/ExamDetailsPage/index.js.map +1 -1
- package/dist/ExamDetailsLayout/ExamDetailsPage/index.mjs +47 -48
- package/dist/ExamPageLayout/index.js +48 -49
- package/dist/ExamPageLayout/index.js.map +1 -1
- package/dist/ExamPageLayout/index.mjs +47 -48
- package/dist/Forum/index.js +6 -7
- package/dist/Forum/index.js.map +1 -1
- package/dist/Forum/index.mjs +5 -6
- package/dist/IconButton/index.js +2 -2
- package/dist/IconButton/index.mjs +1 -1
- package/dist/LessonCardPreview/index.js +48 -49
- package/dist/LessonCardPreview/index.js.map +1 -1
- package/dist/LessonCardPreview/index.mjs +47 -48
- package/dist/LessonMediaSections/index.js +48 -49
- package/dist/LessonMediaSections/index.js.map +1 -1
- package/dist/LessonMediaSections/index.mjs +47 -48
- package/dist/LessonsCatalog/index.js +48 -49
- package/dist/LessonsCatalog/index.js.map +1 -1
- package/dist/LessonsCatalog/index.mjs +47 -48
- package/dist/Modal/index.d.ts +11 -1
- package/dist/Modal/index.d.ts.map +1 -1
- package/dist/Modal/index.js +3 -4
- package/dist/Modal/index.js.map +1 -1
- package/dist/Modal/index.mjs +2 -3
- package/dist/MultiCheckSelect/index.js +5 -6
- package/dist/MultiCheckSelect/index.js.map +1 -1
- package/dist/MultiCheckSelect/index.mjs +4 -5
- package/dist/NotificationCard/index.js +6 -7
- package/dist/NotificationCard/index.js.map +1 -1
- package/dist/NotificationCard/index.mjs +5 -6
- package/dist/PerformanceReportModal/index.js +4 -5
- package/dist/PerformanceReportModal/index.js.map +1 -1
- package/dist/PerformanceReportModal/index.mjs +3 -4
- package/dist/PrintableUsersTable/index.js +48 -49
- package/dist/PrintableUsersTable/index.js.map +1 -1
- package/dist/PrintableUsersTable/index.mjs +47 -48
- package/dist/ProgressModal/index.js +4 -5
- package/dist/ProgressModal/index.js.map +1 -1
- package/dist/ProgressModal/index.mjs +3 -4
- package/dist/QuestionsPerformanceCard/index.js +49 -50
- package/dist/QuestionsPerformanceCard/index.js.map +1 -1
- package/dist/QuestionsPerformanceCard/index.mjs +48 -49
- package/dist/Quiz/QuizResult/index.js +4 -4
- package/dist/Quiz/QuizResult/index.mjs +3 -3
- package/dist/Quiz/index.d.ts.map +1 -1
- package/dist/Quiz/index.js +8 -9
- package/dist/Quiz/index.js.map +1 -1
- package/dist/Quiz/index.mjs +7 -8
- package/dist/QuizTimer/index.d.ts +12 -0
- package/dist/QuizTimer/index.d.ts.map +1 -1
- package/dist/QuizTimer/index.js +4 -2
- package/dist/QuizTimer/index.js.map +1 -1
- package/dist/QuizTimer/index.mjs +4 -2
- package/dist/RecommendedLessonCreate/index.js +48 -49
- package/dist/RecommendedLessonCreate/index.js.map +1 -1
- package/dist/RecommendedLessonCreate/index.mjs +47 -48
- package/dist/RecommendedLessonDetails/index.js +11 -12
- package/dist/RecommendedLessonDetails/index.js.map +1 -1
- package/dist/RecommendedLessonDetails/index.mjs +10 -11
- package/dist/RecommendedLessonsHistory/index.js +48 -49
- package/dist/RecommendedLessonsHistory/index.js.map +1 -1
- package/dist/RecommendedLessonsHistory/index.mjs +47 -48
- package/dist/ReportDetailModal/index.js +5 -6
- package/dist/ReportDetailModal/index.js.map +1 -1
- package/dist/ReportDetailModal/index.mjs +4 -5
- package/dist/RichEditor/index.js +6 -7
- package/dist/RichEditor/index.js.map +1 -1
- package/dist/RichEditor/index.mjs +5 -6
- package/dist/{RichEditorCore-62NIM7PC.js → RichEditorCore-6OT3VNJR.js} +15 -16
- package/dist/RichEditorCore-6OT3VNJR.js.map +1 -0
- package/dist/{RichEditorCore-CCO3SSSU.mjs → RichEditorCore-IF6JQHEO.mjs} +6 -7
- package/dist/{RichEditorCore-CCO3SSSU.mjs.map → RichEditorCore-IF6JQHEO.mjs.map} +1 -1
- package/dist/Search/index.js +5 -6
- package/dist/Search/index.js.map +1 -1
- package/dist/Search/index.mjs +4 -5
- package/dist/SendActivityModal/SendActivityModal.js +48 -49
- package/dist/SendActivityModal/SendActivityModal.js.map +1 -1
- package/dist/SendActivityModal/SendActivityModal.mjs +47 -48
- package/dist/SendActivityModal/index.js +48 -49
- package/dist/SendActivityModal/index.js.map +1 -1
- package/dist/SendActivityModal/index.mjs +47 -48
- package/dist/SendLessonModal/index.js +48 -49
- package/dist/SendLessonModal/index.js.map +1 -1
- package/dist/SendLessonModal/index.mjs +47 -48
- package/dist/SimulatedPerformance/SimulatedPerformanceView/index.js +48 -49
- package/dist/SimulatedPerformance/SimulatedPerformanceView/index.js.map +1 -1
- package/dist/SimulatedPerformance/SimulatedPerformanceView/index.mjs +47 -48
- package/dist/SimulatedPerformance/useSimulatedPerformance/index.js +6 -7
- package/dist/SimulatedPerformance/useSimulatedPerformance/index.js.map +1 -1
- package/dist/SimulatedPerformance/useSimulatedPerformance/index.mjs +5 -6
- package/dist/SimulatedStudentSimulationsModal/index.js +8 -9
- package/dist/SimulatedStudentSimulationsModal/index.js.map +1 -1
- package/dist/SimulatedStudentSimulationsModal/index.mjs +7 -8
- package/dist/SimulationSummaryCards/index.js +5 -5
- package/dist/SimulationSummaryCards/index.mjs +4 -4
- package/dist/SimulationsPage/index.js +48 -49
- package/dist/SimulationsPage/index.js.map +1 -1
- package/dist/SimulationsPage/index.mjs +47 -48
- package/dist/StudentLessonProgressModal/index.js +6 -7
- package/dist/StudentLessonProgressModal/index.js.map +1 -1
- package/dist/StudentLessonProgressModal/index.mjs +5 -6
- package/dist/StudentPerformanceDetailsModal/index.js +9 -10
- package/dist/StudentPerformanceDetailsModal/index.js.map +1 -1
- package/dist/StudentPerformanceDetailsModal/index.mjs +8 -9
- package/dist/Support/TicketModal/index.js +4 -5
- package/dist/Support/TicketModal/index.js.map +1 -1
- package/dist/Support/TicketModal/index.mjs +3 -4
- package/dist/Support/index.js +5 -6
- package/dist/Support/index.js.map +1 -1
- package/dist/Support/index.mjs +4 -5
- package/dist/TableProvider/index.js +48 -49
- package/dist/TableProvider/index.js.map +1 -1
- package/dist/TableProvider/index.mjs +47 -48
- package/dist/UnifiedDraftModelPage/index.js +48 -49
- package/dist/UnifiedDraftModelPage/index.js.map +1 -1
- package/dist/UnifiedDraftModelPage/index.mjs +47 -48
- package/dist/UnifiedHistoryPage/index.js +48 -49
- package/dist/UnifiedHistoryPage/index.js.map +1 -1
- package/dist/UnifiedHistoryPage/index.mjs +47 -48
- package/dist/VideoPlayer/index.js +7 -8
- package/dist/VideoPlayer/index.js.map +1 -1
- package/dist/VideoPlayer/index.mjs +6 -7
- package/dist/Whiteboard/index.js +4 -5
- package/dist/Whiteboard/index.js.map +1 -1
- package/dist/Whiteboard/index.mjs +3 -4
- package/dist/{chunk-EVBQNVQW.mjs → chunk-233FSBU7.mjs} +5 -5
- package/dist/{chunk-JU63EMZM.js → chunk-24DQFREC.js} +3 -3
- package/dist/{chunk-JU63EMZM.js.map → chunk-24DQFREC.js.map} +1 -1
- package/dist/{chunk-QFXSQKW3.mjs → chunk-254EBPMW.mjs} +22 -22
- package/dist/{chunk-QFXSQKW3.mjs.map → chunk-254EBPMW.mjs.map} +1 -1
- package/dist/{chunk-SFQVZ4KQ.js → chunk-2ETPIOCD.js} +3 -3
- package/dist/{chunk-SFQVZ4KQ.js.map → chunk-2ETPIOCD.js.map} +1 -1
- package/dist/{chunk-RCNIBRZY.js → chunk-2VTJ2PKF.js} +10 -10
- package/dist/{chunk-RCNIBRZY.js.map → chunk-2VTJ2PKF.js.map} +1 -1
- package/dist/{chunk-B35D5S4G.js → chunk-2ZMGNCMI.js} +6 -6
- package/dist/{chunk-B35D5S4G.js.map → chunk-2ZMGNCMI.js.map} +1 -1
- package/dist/{chunk-QEPKR6ZF.js → chunk-3KSRDIS2.js} +20 -20
- package/dist/{chunk-QEPKR6ZF.js.map → chunk-3KSRDIS2.js.map} +1 -1
- package/dist/{chunk-MUCV5ZWZ.mjs → chunk-3YF7H577.mjs} +15 -9
- package/dist/chunk-3YF7H577.mjs.map +1 -0
- package/dist/{chunk-MADPP2PW.mjs → chunk-3ZSI2KI5.mjs} +2 -2
- package/dist/{chunk-2W7PTFXS.mjs → chunk-42XKJV56.mjs} +2 -2
- package/dist/{chunk-M6TC6XRQ.mjs → chunk-55ESXRRM.mjs} +2 -2
- package/dist/{chunk-4MURAKPC.mjs → chunk-5DJVOLVX.mjs} +3 -3
- package/dist/{chunk-YVT7CT3G.mjs → chunk-5P6CBDZ6.mjs} +2 -2
- package/dist/{chunk-BHKTJCFD.js → chunk-5QUP5HKB.js} +3 -3
- package/dist/{chunk-BHKTJCFD.js.map → chunk-5QUP5HKB.js.map} +1 -1
- package/dist/{chunk-SFEU7BMY.mjs → chunk-5SFNRXZB.mjs} +2 -2
- package/dist/{chunk-6ALEXGAN.js → chunk-6U4AI5SE.js} +6 -6
- package/dist/{chunk-6ALEXGAN.js.map → chunk-6U4AI5SE.js.map} +1 -1
- package/dist/{chunk-KYY4U5SN.mjs → chunk-6Z5W5J44.mjs} +3 -3
- package/dist/{chunk-XOKBMLW3.js → chunk-7IGUYLSF.js} +3 -3
- package/dist/{chunk-XOKBMLW3.js.map → chunk-7IGUYLSF.js.map} +1 -1
- package/dist/{chunk-GVYGPJH3.mjs → chunk-AU5M2766.mjs} +2 -2
- package/dist/{chunk-2VODGC76.js → chunk-AVEMHDN2.js} +66 -44
- package/dist/chunk-AVEMHDN2.js.map +1 -0
- package/dist/{chunk-HIIOADV4.js → chunk-AZSRKBYS.js} +63 -71
- package/dist/chunk-AZSRKBYS.js.map +1 -0
- package/dist/{chunk-CY2VKNCB.js → chunk-BQIBVC6X.js} +5 -5
- package/dist/{chunk-CY2VKNCB.js.map → chunk-BQIBVC6X.js.map} +1 -1
- package/dist/{chunk-M77TQ5JJ.mjs → chunk-BU32E6BR.mjs} +4 -6
- package/dist/{chunk-M77TQ5JJ.mjs.map → chunk-BU32E6BR.mjs.map} +1 -1
- package/dist/{chunk-5CQVDUDO.js → chunk-BUNF5POU.js} +5 -5
- package/dist/{chunk-5CQVDUDO.js.map → chunk-BUNF5POU.js.map} +1 -1
- package/dist/{chunk-Z6UN4ZPW.mjs → chunk-BVHVYC7Q.mjs} +4 -4
- package/dist/{chunk-WJENEFDG.js → chunk-CAFVLHDV.js} +3 -3
- package/dist/{chunk-WJENEFDG.js.map → chunk-CAFVLHDV.js.map} +1 -1
- package/dist/{chunk-BVUPM6EY.js → chunk-CAQ2Q3ON.js} +2 -2
- package/dist/chunk-CAQ2Q3ON.js.map +1 -0
- package/dist/{chunk-QMPOGLAR.js → chunk-CIASXVWX.js} +3 -3
- package/dist/{chunk-QMPOGLAR.js.map → chunk-CIASXVWX.js.map} +1 -1
- package/dist/{chunk-APKEYUJ3.js → chunk-CIQLC2ZZ.js} +3 -3
- package/dist/{chunk-APKEYUJ3.js.map → chunk-CIQLC2ZZ.js.map} +1 -1
- package/dist/{chunk-36XPNLGQ.js → chunk-CW3FCWR4.js} +16 -16
- package/dist/{chunk-36XPNLGQ.js.map → chunk-CW3FCWR4.js.map} +1 -1
- package/dist/{chunk-J5VEAJN5.mjs → chunk-CWVUGZNK.mjs} +2 -2
- package/dist/{chunk-BCMDP6GK.mjs → chunk-DV3N2K3Y.mjs} +4 -4
- package/dist/{chunk-PP7SEERV.mjs → chunk-DXYSEBK3.mjs} +9 -3
- package/dist/chunk-DXYSEBK3.mjs.map +1 -0
- package/dist/{chunk-754M6HQ5.js → chunk-EJN4OP3D.js} +5 -5
- package/dist/{chunk-754M6HQ5.js.map → chunk-EJN4OP3D.js.map} +1 -1
- package/dist/{chunk-3IM2SBPO.js → chunk-F5K3HMKT.js} +4 -4
- package/dist/{chunk-3IM2SBPO.js.map → chunk-F5K3HMKT.js.map} +1 -1
- package/dist/{chunk-WMDSGVZ7.mjs → chunk-GCGSAS2Z.mjs} +48 -63
- package/dist/chunk-GCGSAS2Z.mjs.map +1 -0
- package/dist/{chunk-EXHGEJ4P.mjs → chunk-GKARHTZ2.mjs} +2 -2
- package/dist/{chunk-2VDCEEXB.js → chunk-GNKFBVW4.js} +3 -3
- package/dist/{chunk-2VDCEEXB.js.map → chunk-GNKFBVW4.js.map} +1 -1
- package/dist/{chunk-CDLOMECB.js → chunk-GTBPMNTJ.js} +3 -3
- package/dist/{chunk-CDLOMECB.js.map → chunk-GTBPMNTJ.js.map} +1 -1
- package/dist/{chunk-YQKAASWM.js → chunk-GXXDSBN2.js} +10 -4
- package/dist/chunk-GXXDSBN2.js.map +1 -0
- package/dist/{chunk-FASVPU6N.js → chunk-H3F4OCXC.js} +10 -10
- package/dist/{chunk-FASVPU6N.js.map → chunk-H3F4OCXC.js.map} +1 -1
- package/dist/{chunk-JCFN6KRS.mjs → chunk-HGWDB73S.mjs} +2 -2
- package/dist/{chunk-JXXMO7PY.mjs → chunk-HN5RW4C3.mjs} +3 -3
- package/dist/{chunk-I2A4EQPH.mjs → chunk-HQ2GXFK5.mjs} +6 -6
- package/dist/{chunk-BIPC6F6D.js → chunk-IDJ37MOU.js} +115 -115
- package/dist/{chunk-BIPC6F6D.js.map → chunk-IDJ37MOU.js.map} +1 -1
- package/dist/{chunk-TBJLNIOY.mjs → chunk-JBLYYTHN.mjs} +2 -2
- package/dist/{chunk-G4NK66PM.js → chunk-JTWXQ267.js} +24 -18
- package/dist/chunk-JTWXQ267.js.map +1 -0
- package/dist/{chunk-V6IC74KH.js → chunk-JXGLDRDC.js} +34 -34
- package/dist/{chunk-V6IC74KH.js.map → chunk-JXGLDRDC.js.map} +1 -1
- package/dist/{chunk-DDFIRQI5.mjs → chunk-K3E5VEBF.mjs} +56 -34
- package/dist/chunk-K3E5VEBF.mjs.map +1 -0
- package/dist/{chunk-MSBEWG26.js → chunk-K5O2IOI4.js} +8 -8
- package/dist/{chunk-MSBEWG26.js.map → chunk-K5O2IOI4.js.map} +1 -1
- package/dist/{chunk-SB5YGKXR.js → chunk-KBMLGQ5J.js} +49 -64
- package/dist/chunk-KBMLGQ5J.js.map +1 -0
- package/dist/chunk-KCZEKV7M.mjs +81 -0
- package/dist/chunk-KCZEKV7M.mjs.map +1 -0
- package/dist/{chunk-GRSN76BV.mjs → chunk-KH2R4STU.mjs} +3 -3
- package/dist/{chunk-7DQM34JT.js → chunk-KHYSXYPO.js} +23 -23
- package/dist/{chunk-7DQM34JT.js.map → chunk-KHYSXYPO.js.map} +1 -1
- package/dist/{chunk-V2YHMPRR.js → chunk-KJHBQQYJ.js} +5 -5
- package/dist/{chunk-V2YHMPRR.js.map → chunk-KJHBQQYJ.js.map} +1 -1
- package/dist/{chunk-ZF5NMQJZ.mjs → chunk-KUKLN3CK.mjs} +4 -4
- package/dist/{chunk-6AYB7CZH.js → chunk-KZQVGSR2.js} +2 -2
- package/dist/{chunk-6AYB7CZH.js.map → chunk-KZQVGSR2.js.map} +1 -1
- package/dist/{chunk-UAKRBNW2.mjs → chunk-L4T76OKM.mjs} +2 -2
- package/dist/{chunk-AUCXJ7LG.js → chunk-M3LQH7Y7.js} +3 -3
- package/dist/{chunk-AUCXJ7LG.js.map → chunk-M3LQH7Y7.js.map} +1 -1
- package/dist/{chunk-FQNJJH7F.js → chunk-MCXRKD56.js} +13 -13
- package/dist/{chunk-FQNJJH7F.js.map → chunk-MCXRKD56.js.map} +1 -1
- package/dist/{chunk-PY5WCBKN.mjs → chunk-MERKXOSI.mjs} +4 -4
- package/dist/{chunk-D3YDZF2G.js → chunk-N472HQPZ.js} +3 -3
- package/dist/{chunk-D3YDZF2G.js.map → chunk-N472HQPZ.js.map} +1 -1
- package/dist/{chunk-UPMYCGXR.js → chunk-N4K4X34Z.js} +4 -4
- package/dist/{chunk-UPMYCGXR.js.map → chunk-N4K4X34Z.js.map} +1 -1
- package/dist/{chunk-RU43UMEH.js → chunk-NFCNAFUK.js} +3 -3
- package/dist/{chunk-RU43UMEH.js.map → chunk-NFCNAFUK.js.map} +1 -1
- package/dist/{chunk-APCB5HWT.mjs → chunk-NLSDZJRR.mjs} +3 -3
- package/dist/{chunk-EWYIXCNF.mjs → chunk-NLUTNCLH.mjs} +5 -5
- package/dist/{chunk-OP4Q2KDS.mjs → chunk-NMKKMY5P.mjs} +2 -2
- package/dist/{chunk-WDPFO4II.mjs → chunk-NMPK336K.mjs} +2 -2
- package/dist/{chunk-X6BZ5IEV.mjs → chunk-NU7O6YKR.mjs} +2 -2
- package/dist/{chunk-ZABDSRX3.js → chunk-NUZ5K3CB.js} +4 -4
- package/dist/{chunk-ZABDSRX3.js.map → chunk-NUZ5K3CB.js.map} +1 -1
- package/dist/{chunk-N5ZGFYLA.js → chunk-NZX3BA62.js} +3 -3
- package/dist/{chunk-N5ZGFYLA.js.map → chunk-NZX3BA62.js.map} +1 -1
- package/dist/{chunk-2TLSEAL2.js → chunk-O4TRDWXJ.js} +3 -3
- package/dist/{chunk-2TLSEAL2.js.map → chunk-O4TRDWXJ.js.map} +1 -1
- package/dist/{chunk-CBI5F4ME.mjs → chunk-OMSSA4NO.mjs} +2 -2
- package/dist/{chunk-YGEEWLGJ.js → chunk-PKKXCX5B.js} +3 -3
- package/dist/{chunk-YGEEWLGJ.js.map → chunk-PKKXCX5B.js.map} +1 -1
- package/dist/{chunk-GYHD6QEA.mjs → chunk-PQGQ3EH5.mjs} +2 -2
- package/dist/{chunk-3LN5GQAC.js → chunk-Q6UIUYNF.js} +6 -8
- package/dist/chunk-Q6UIUYNF.js.map +1 -0
- package/dist/chunk-QLWBGM7H.js +81 -0
- package/dist/chunk-QLWBGM7H.js.map +1 -0
- package/dist/{chunk-IF5GW6ID.js → chunk-QZ5DCDZ2.js} +6 -6
- package/dist/{chunk-IF5GW6ID.js.map → chunk-QZ5DCDZ2.js.map} +1 -1
- package/dist/{chunk-LSUCENYD.mjs → chunk-RBKGHUSR.mjs} +2 -2
- package/dist/{chunk-PIZTI5SJ.js → chunk-RMCZ7C2C.js} +3 -3
- package/dist/{chunk-PIZTI5SJ.js.map → chunk-RMCZ7C2C.js.map} +1 -1
- package/dist/{chunk-LGQNMQOT.mjs → chunk-ROS5XGTQ.mjs} +2 -2
- package/dist/chunk-ROS5XGTQ.mjs.map +1 -0
- package/dist/{chunk-TEUERRDG.mjs → chunk-RV45XVXE.mjs} +2 -2
- package/dist/{chunk-FW6ZI2MC.mjs → chunk-UAFSWXN5.mjs} +2 -2
- package/dist/{chunk-QUGKQYAJ.mjs → chunk-ULVFVLFE.mjs} +4 -6
- package/dist/{chunk-QUGKQYAJ.mjs.map → chunk-ULVFVLFE.mjs.map} +1 -1
- package/dist/{chunk-ANLL2EIX.mjs → chunk-UWCGTH3U.mjs} +2 -2
- package/dist/{chunk-6R2LEEEP.mjs → chunk-UZF2D2GG.mjs} +2 -2
- package/dist/{chunk-62L3PMYE.mjs → chunk-V3OVMHZD.mjs} +2 -2
- package/dist/{chunk-UDITT3N3.mjs → chunk-V6ELDZ2B.mjs} +2 -2
- package/dist/{chunk-G7NUCBD3.js → chunk-VDPV24JJ.js} +3 -3
- package/dist/{chunk-G7NUCBD3.js.map → chunk-VDPV24JJ.js.map} +1 -1
- package/dist/{chunk-IJQOTS5O.mjs → chunk-VJUS3GC4.mjs} +2 -2
- package/dist/{chunk-ZUPP7R2K.js → chunk-W7BBVDBI.js} +17 -3
- package/dist/chunk-W7BBVDBI.js.map +1 -0
- package/dist/{chunk-EHQDQ5RV.js → chunk-XARMPXRN.js} +10 -12
- package/dist/chunk-XARMPXRN.js.map +1 -0
- package/dist/{chunk-MQEAEU6G.mjs → chunk-XGMRYNER.mjs} +2 -2
- package/dist/{chunk-MMQMVVD6.mjs → chunk-XLTD5J74.mjs} +3 -3
- package/dist/{chunk-L3ST5GUJ.js → chunk-XQUK7R7L.js} +17 -17
- package/dist/{chunk-L3ST5GUJ.js.map → chunk-XQUK7R7L.js.map} +1 -1
- package/dist/{chunk-OMBUOOMD.mjs → chunk-XYT542WD.mjs} +2 -2
- package/dist/{chunk-IZNABVXE.js → chunk-Y4IGIWP4.js} +3 -3
- package/dist/{chunk-IZNABVXE.js.map → chunk-Y4IGIWP4.js.map} +1 -1
- package/dist/{chunk-COWOGT7U.mjs → chunk-YZWFDSTC.mjs} +2 -2
- package/dist/{chunk-M2FN7CNS.mjs → chunk-Z4L2DWMX.mjs} +17 -3
- package/dist/chunk-Z4L2DWMX.mjs.map +1 -0
- package/dist/chunk-Z75J66LL.mjs +149 -0
- package/dist/chunk-Z75J66LL.mjs.map +1 -0
- package/dist/{chunk-CWIJ7RXR.js → chunk-ZHUFICW3.js} +3 -3
- package/dist/{chunk-CWIJ7RXR.js.map → chunk-ZHUFICW3.js.map} +1 -1
- package/dist/{chunk-Q5XGBTOY.js → chunk-ZNITTMV5.js} +3 -3
- package/dist/{chunk-Q5XGBTOY.js.map → chunk-ZNITTMV5.js.map} +1 -1
- package/dist/components/EnemMoment/HeaderFilters.d.ts +12 -1
- package/dist/components/EnemMoment/HeaderFilters.d.ts.map +1 -1
- package/dist/components/EnemMoment/types.d.ts +10 -1
- package/dist/components/EnemMoment/types.d.ts.map +1 -1
- package/dist/hooks/useAppContent/index.js +48 -49
- package/dist/hooks/useAppContent/index.js.map +1 -1
- package/dist/hooks/useAppContent/index.mjs +47 -48
- package/dist/hooks/useResizableColumns.d.ts +20 -9
- package/dist/hooks/useResizableColumns.d.ts.map +1 -1
- package/dist/hooks/useScreen/index.js +2 -2
- package/dist/hooks/useScreen/index.mjs +1 -1
- package/dist/index.js +48 -49
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +47 -48
- package/dist/store/layoutPreferencesStore.d.ts +12 -24
- package/dist/store/layoutPreferencesStore.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/RichEditorCore-62NIM7PC.js.map +0 -1
- package/dist/chunk-2EDRPEYL.mjs +0 -157
- package/dist/chunk-2EDRPEYL.mjs.map +0 -1
- package/dist/chunk-2VODGC76.js.map +0 -1
- package/dist/chunk-3LN5GQAC.js.map +0 -1
- package/dist/chunk-BVUPM6EY.js.map +0 -1
- package/dist/chunk-CH6BWMSQ.js +0 -17
- package/dist/chunk-CH6BWMSQ.js.map +0 -1
- package/dist/chunk-DDFIRQI5.mjs.map +0 -1
- package/dist/chunk-EHQDQ5RV.js.map +0 -1
- package/dist/chunk-G4NK66PM.js.map +0 -1
- package/dist/chunk-HIIOADV4.js.map +0 -1
- package/dist/chunk-JSH3BQZ7.mjs +0 -17
- package/dist/chunk-JSH3BQZ7.mjs.map +0 -1
- package/dist/chunk-LGQNMQOT.mjs.map +0 -1
- package/dist/chunk-LMDAF6LA.mjs +0 -51
- package/dist/chunk-LMDAF6LA.mjs.map +0 -1
- package/dist/chunk-M2FN7CNS.mjs.map +0 -1
- package/dist/chunk-MUCV5ZWZ.mjs.map +0 -1
- package/dist/chunk-PJOBOBNJ.js +0 -51
- package/dist/chunk-PJOBOBNJ.js.map +0 -1
- package/dist/chunk-PP7SEERV.mjs.map +0 -1
- package/dist/chunk-SB5YGKXR.js.map +0 -1
- package/dist/chunk-WMDSGVZ7.mjs.map +0 -1
- package/dist/chunk-YQKAASWM.js.map +0 -1
- package/dist/chunk-ZUPP7R2K.js.map +0 -1
- /package/dist/{chunk-EVBQNVQW.mjs.map → chunk-233FSBU7.mjs.map} +0 -0
- /package/dist/{chunk-MADPP2PW.mjs.map → chunk-3ZSI2KI5.mjs.map} +0 -0
- /package/dist/{chunk-2W7PTFXS.mjs.map → chunk-42XKJV56.mjs.map} +0 -0
- /package/dist/{chunk-M6TC6XRQ.mjs.map → chunk-55ESXRRM.mjs.map} +0 -0
- /package/dist/{chunk-4MURAKPC.mjs.map → chunk-5DJVOLVX.mjs.map} +0 -0
- /package/dist/{chunk-YVT7CT3G.mjs.map → chunk-5P6CBDZ6.mjs.map} +0 -0
- /package/dist/{chunk-SFEU7BMY.mjs.map → chunk-5SFNRXZB.mjs.map} +0 -0
- /package/dist/{chunk-KYY4U5SN.mjs.map → chunk-6Z5W5J44.mjs.map} +0 -0
- /package/dist/{chunk-GVYGPJH3.mjs.map → chunk-AU5M2766.mjs.map} +0 -0
- /package/dist/{chunk-Z6UN4ZPW.mjs.map → chunk-BVHVYC7Q.mjs.map} +0 -0
- /package/dist/{chunk-J5VEAJN5.mjs.map → chunk-CWVUGZNK.mjs.map} +0 -0
- /package/dist/{chunk-BCMDP6GK.mjs.map → chunk-DV3N2K3Y.mjs.map} +0 -0
- /package/dist/{chunk-EXHGEJ4P.mjs.map → chunk-GKARHTZ2.mjs.map} +0 -0
- /package/dist/{chunk-JCFN6KRS.mjs.map → chunk-HGWDB73S.mjs.map} +0 -0
- /package/dist/{chunk-JXXMO7PY.mjs.map → chunk-HN5RW4C3.mjs.map} +0 -0
- /package/dist/{chunk-I2A4EQPH.mjs.map → chunk-HQ2GXFK5.mjs.map} +0 -0
- /package/dist/{chunk-TBJLNIOY.mjs.map → chunk-JBLYYTHN.mjs.map} +0 -0
- /package/dist/{chunk-GRSN76BV.mjs.map → chunk-KH2R4STU.mjs.map} +0 -0
- /package/dist/{chunk-ZF5NMQJZ.mjs.map → chunk-KUKLN3CK.mjs.map} +0 -0
- /package/dist/{chunk-UAKRBNW2.mjs.map → chunk-L4T76OKM.mjs.map} +0 -0
- /package/dist/{chunk-PY5WCBKN.mjs.map → chunk-MERKXOSI.mjs.map} +0 -0
- /package/dist/{chunk-APCB5HWT.mjs.map → chunk-NLSDZJRR.mjs.map} +0 -0
- /package/dist/{chunk-EWYIXCNF.mjs.map → chunk-NLUTNCLH.mjs.map} +0 -0
- /package/dist/{chunk-OP4Q2KDS.mjs.map → chunk-NMKKMY5P.mjs.map} +0 -0
- /package/dist/{chunk-WDPFO4II.mjs.map → chunk-NMPK336K.mjs.map} +0 -0
- /package/dist/{chunk-X6BZ5IEV.mjs.map → chunk-NU7O6YKR.mjs.map} +0 -0
- /package/dist/{chunk-CBI5F4ME.mjs.map → chunk-OMSSA4NO.mjs.map} +0 -0
- /package/dist/{chunk-GYHD6QEA.mjs.map → chunk-PQGQ3EH5.mjs.map} +0 -0
- /package/dist/{chunk-LSUCENYD.mjs.map → chunk-RBKGHUSR.mjs.map} +0 -0
- /package/dist/{chunk-TEUERRDG.mjs.map → chunk-RV45XVXE.mjs.map} +0 -0
- /package/dist/{chunk-FW6ZI2MC.mjs.map → chunk-UAFSWXN5.mjs.map} +0 -0
- /package/dist/{chunk-ANLL2EIX.mjs.map → chunk-UWCGTH3U.mjs.map} +0 -0
- /package/dist/{chunk-6R2LEEEP.mjs.map → chunk-UZF2D2GG.mjs.map} +0 -0
- /package/dist/{chunk-62L3PMYE.mjs.map → chunk-V3OVMHZD.mjs.map} +0 -0
- /package/dist/{chunk-UDITT3N3.mjs.map → chunk-V6ELDZ2B.mjs.map} +0 -0
- /package/dist/{chunk-IJQOTS5O.mjs.map → chunk-VJUS3GC4.mjs.map} +0 -0
- /package/dist/{chunk-MQEAEU6G.mjs.map → chunk-XGMRYNER.mjs.map} +0 -0
- /package/dist/{chunk-MMQMVVD6.mjs.map → chunk-XLTD5J74.mjs.map} +0 -0
- /package/dist/{chunk-OMBUOOMD.mjs.map → chunk-XYT542WD.mjs.map} +0 -0
- /package/dist/{chunk-COWOGT7U.mjs.map → chunk-YZWFDSTC.mjs.map} +0 -0
|
@@ -2,14 +2,13 @@ import "../chunk-C3I2LIFX.mjs";
|
|
|
2
2
|
import {
|
|
3
3
|
ReportDetailModal,
|
|
4
4
|
ReportDetailModal_default
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-HN5RW4C3.mjs";
|
|
6
6
|
import "../chunk-4D3QCMQO.mjs";
|
|
7
7
|
import "../chunk-QLYFZSVZ.mjs";
|
|
8
|
-
import "../chunk-
|
|
8
|
+
import "../chunk-JBLYYTHN.mjs";
|
|
9
9
|
import "../chunk-NKVUUWCA.mjs";
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-M2FN7CNS.mjs";
|
|
10
|
+
import "../chunk-3YF7H577.mjs";
|
|
11
|
+
import "../chunk-Z4L2DWMX.mjs";
|
|
13
12
|
import "../chunk-624IUGB4.mjs";
|
|
14
13
|
import "../chunk-MEUREWL3.mjs";
|
|
15
14
|
import "../chunk-Z2G5TBXF.mjs";
|
package/dist/RichEditor/index.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunk24DQFRECjs = require('../chunk-24DQFREC.js');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunkNZX3BA62js = require('../chunk-NZX3BA62.js');
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _chunkKZQVGSR2js = require('../chunk-KZQVGSR2.js');
|
|
13
13
|
require('../chunk-HMIMGXGB.js');
|
|
14
14
|
require('../chunk-4IASFFQ2.js');
|
|
15
15
|
require('../chunk-D4BRJ4ZN.js');
|
|
@@ -18,9 +18,8 @@ require('../chunk-AN62GXF5.js');
|
|
|
18
18
|
require('../chunk-BSMYGZ5Q.js');
|
|
19
19
|
require('../chunk-JBIXSPCA.js');
|
|
20
20
|
require('../chunk-VVO3W2SM.js');
|
|
21
|
-
require('../chunk-
|
|
22
|
-
require('../chunk-
|
|
23
|
-
require('../chunk-ZUPP7R2K.js');
|
|
21
|
+
require('../chunk-JTWXQ267.js');
|
|
22
|
+
require('../chunk-W7BBVDBI.js');
|
|
24
23
|
require('../chunk-EBA7URWC.js');
|
|
25
24
|
require('../chunk-TWT3CSRQ.js');
|
|
26
25
|
require('../chunk-QFG6ZOOT.js');
|
|
@@ -39,5 +38,5 @@ require('../chunk-YQ3JVMVB.js');
|
|
|
39
38
|
|
|
40
39
|
|
|
41
40
|
|
|
42
|
-
exports.FormulaDialog =
|
|
41
|
+
exports.FormulaDialog = _chunkNZX3BA62js.FormulaDialog; exports.ImageDialog = _chunk24DQFRECjs.ImageDialog; exports.MAX_IMAGE_SIZE = _chunk24DQFRECjs.MAX_IMAGE_SIZE; exports.RichEditor = _chunkKZQVGSR2js.RichEditor; exports.processLatexInHtml = _chunkNZX3BA62js.processLatexInHtml; exports.unprocessLatexInHtml = _chunkNZX3BA62js.unprocessLatexInHtml;
|
|
43
42
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/analytica-frontend-lib/analytica-frontend-lib/dist/RichEditor/index.js"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,uDAA6B;AAC7B;AACE;AACA;AACA;AACF,uDAA6B;AAC7B;AACE;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/analytica-frontend-lib/analytica-frontend-lib/dist/RichEditor/index.js"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,uDAA6B;AAC7B;AACE;AACA;AACA;AACF,uDAA6B;AAC7B;AACE;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACF,+VAAC","file":"/home/runner/work/analytica-frontend-lib/analytica-frontend-lib/dist/RichEditor/index.js"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ImageDialog,
|
|
3
3
|
MAX_IMAGE_SIZE
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-UZF2D2GG.mjs";
|
|
5
5
|
import {
|
|
6
6
|
FormulaDialog,
|
|
7
7
|
processLatexInHtml,
|
|
8
8
|
unprocessLatexInHtml
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-NU7O6YKR.mjs";
|
|
10
10
|
import {
|
|
11
11
|
RichEditor
|
|
12
|
-
} from "../chunk-
|
|
12
|
+
} from "../chunk-XGMRYNER.mjs";
|
|
13
13
|
import "../chunk-LXP6LRHO.mjs";
|
|
14
14
|
import "../chunk-GZGHWAVG.mjs";
|
|
15
15
|
import "../chunk-ZWMOGGGE.mjs";
|
|
@@ -18,9 +18,8 @@ import "../chunk-IG4GK7ME.mjs";
|
|
|
18
18
|
import "../chunk-6A2IK5NJ.mjs";
|
|
19
19
|
import "../chunk-EVXUK6JL.mjs";
|
|
20
20
|
import "../chunk-ZRBIE5ZM.mjs";
|
|
21
|
-
import "../chunk-
|
|
22
|
-
import "../chunk-
|
|
23
|
-
import "../chunk-M2FN7CNS.mjs";
|
|
21
|
+
import "../chunk-3YF7H577.mjs";
|
|
22
|
+
import "../chunk-Z4L2DWMX.mjs";
|
|
24
23
|
import "../chunk-624IUGB4.mjs";
|
|
25
24
|
import "../chunk-MEUREWL3.mjs";
|
|
26
25
|
import "../chunk-Z2G5TBXF.mjs";
|
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunk24DQFRECjs = require('./chunk-24DQFREC.js');
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
var
|
|
11
|
+
var _chunkQZ5DCDZ2js = require('./chunk-QZ5DCDZ2.js');
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var _chunkNZX3BA62js = require('./chunk-NZX3BA62.js');
|
|
16
16
|
require('./chunk-HMIMGXGB.js');
|
|
17
17
|
require('./chunk-4IASFFQ2.js');
|
|
18
18
|
|
|
@@ -23,9 +23,8 @@ require('./chunk-AN62GXF5.js');
|
|
|
23
23
|
require('./chunk-BSMYGZ5Q.js');
|
|
24
24
|
require('./chunk-JBIXSPCA.js');
|
|
25
25
|
require('./chunk-VVO3W2SM.js');
|
|
26
|
-
require('./chunk-
|
|
27
|
-
require('./chunk-
|
|
28
|
-
require('./chunk-ZUPP7R2K.js');
|
|
26
|
+
require('./chunk-JTWXQ267.js');
|
|
27
|
+
require('./chunk-W7BBVDBI.js');
|
|
29
28
|
require('./chunk-EBA7URWC.js');
|
|
30
29
|
require('./chunk-TWT3CSRQ.js');
|
|
31
30
|
require('./chunk-QFG6ZOOT.js');
|
|
@@ -61,7 +60,7 @@ var ResizableImage = _extensionimage2.default.extend({
|
|
|
61
60
|
..._optionalChain([this, 'access', _ => _.parent, 'optionalCall', _2 => _2()]),
|
|
62
61
|
width: {
|
|
63
62
|
default: null,
|
|
64
|
-
parseHTML: (element) =>
|
|
63
|
+
parseHTML: (element) => _chunk24DQFRECjs.parseImageWidth.call(void 0, element),
|
|
65
64
|
renderHTML: (attributes) => typeof attributes.width === "number" ? { width: attributes.width } : {}
|
|
66
65
|
},
|
|
67
66
|
height: {
|
|
@@ -105,8 +104,8 @@ function createRichEditorExtensions(placeholder) {
|
|
|
105
104
|
// Corner handles only: edge handles span the whole side and read as a
|
|
106
105
|
// border rather than a grip.
|
|
107
106
|
directions: ["top-left", "top-right", "bottom-left", "bottom-right"],
|
|
108
|
-
minWidth:
|
|
109
|
-
minHeight:
|
|
107
|
+
minWidth: _chunk24DQFRECjs.MIN_IMAGE_WIDTH,
|
|
108
|
+
minHeight: _chunk24DQFRECjs.MIN_IMAGE_HEIGHT,
|
|
110
109
|
alwaysPreserveAspectRatio: true
|
|
111
110
|
}
|
|
112
111
|
}),
|
|
@@ -121,7 +120,7 @@ function createRichEditorExtensions(placeholder) {
|
|
|
121
120
|
// different width. Column layout stays with the display stylesheet.
|
|
122
121
|
table: { resizable: false }
|
|
123
122
|
}),
|
|
124
|
-
|
|
123
|
+
_chunkQZ5DCDZ2js.MathNode
|
|
125
124
|
];
|
|
126
125
|
}
|
|
127
126
|
|
|
@@ -180,7 +179,7 @@ var namePastedImage = (file) => {
|
|
|
180
179
|
type: file.type
|
|
181
180
|
});
|
|
182
181
|
};
|
|
183
|
-
var isOversized = (file) => file.size >
|
|
182
|
+
var isOversized = (file) => file.size > _chunk24DQFRECjs.MAX_IMAGE_SIZE;
|
|
184
183
|
var prefersMarkup = (clipboardData) => {
|
|
185
184
|
const html = clipboardData.getData("text/html");
|
|
186
185
|
return html !== "" && !/<img\b/i.test(html);
|
|
@@ -252,7 +251,7 @@ var TableActionBtn = ({
|
|
|
252
251
|
}
|
|
253
252
|
);
|
|
254
253
|
var NEW_TABLE = { rows: 3, cols: 3, withHeaderRow: true };
|
|
255
|
-
var prepareContent = (content) =>
|
|
254
|
+
var prepareContent = (content) => _chunkNZX3BA62js.processLatexInHtml.call(void 0, _chunkD4BRJ4ZNjs.normalizeLineBreaksInHtml.call(void 0, content || ""));
|
|
256
255
|
var OVERSIZED_PASTE_MESSAGE = "A imagem deve ter no m\xE1ximo 5MB.";
|
|
257
256
|
var GENERIC_PASTE_ERROR = "Erro ao enviar a imagem.";
|
|
258
257
|
function RichEditor({
|
|
@@ -360,7 +359,7 @@ function RichEditor({
|
|
|
360
359
|
try {
|
|
361
360
|
for (const file of files) {
|
|
362
361
|
const src = await upload(file);
|
|
363
|
-
const width = await
|
|
362
|
+
const width = await _chunk24DQFRECjs.resolveInsertWidth.call(void 0, src);
|
|
364
363
|
if (token !== pasteTokenRef.current) return;
|
|
365
364
|
applyImage(src, "", width);
|
|
366
365
|
}
|
|
@@ -711,7 +710,7 @@ function RichEditor({
|
|
|
711
710
|
] })
|
|
712
711
|
] }),
|
|
713
712
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
714
|
-
|
|
713
|
+
_chunkNZX3BA62js.FormulaDialog,
|
|
715
714
|
{
|
|
716
715
|
open: formulaOpen,
|
|
717
716
|
onClose: () => setFormulaOpen(false),
|
|
@@ -720,7 +719,7 @@ function RichEditor({
|
|
|
720
719
|
}
|
|
721
720
|
),
|
|
722
721
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
723
|
-
|
|
722
|
+
_chunk24DQFRECjs.ImageDialog,
|
|
724
723
|
{
|
|
725
724
|
open: imageOpen,
|
|
726
725
|
onClose: () => setImageOpen(false),
|
|
@@ -735,4 +734,4 @@ function RichEditor({
|
|
|
735
734
|
|
|
736
735
|
|
|
737
736
|
exports.RichEditor = RichEditor;
|
|
738
|
-
//# sourceMappingURL=RichEditorCore-
|
|
737
|
+
//# sourceMappingURL=RichEditorCore-6OT3VNJR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/analytica-frontend-lib/analytica-frontend-lib/dist/RichEditorCore-6OT3VNJR.js","../src/components/RichEditor/RichEditorCore.tsx","../src/components/RichEditor/components/extensions.ts","../src/components/RichEditor/components/pastedImage.ts","../src/utils/htmlColors.ts"],"names":["editor"],"mappings":"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","file":"/home/runner/work/analytica-frontend-lib/analytica-frontend-lib/dist/RichEditorCore-6OT3VNJR.js","sourcesContent":[null,"import { EditorContent, useEditor, useEditorState } from '@tiptap/react';\nimport { createRichEditorExtensions } from './components/extensions';\nimport {\n normalizeLineBreaksInHtml,\n processLatexInHtml,\n} from './components/utils';\nimport 'katex/dist/katex.min.css';\nimport { TextBolderIcon } from '@phosphor-icons/react/dist/csr/TextB';\nimport { TextItalicIcon } from '@phosphor-icons/react/dist/csr/TextItalic';\nimport { TextUnderlineIcon } from '@phosphor-icons/react/dist/csr/TextUnderline';\nimport { TextStrikethroughIcon } from '@phosphor-icons/react/dist/csr/TextStrikethrough';\nimport { TextAlignLeftIcon } from '@phosphor-icons/react/dist/csr/TextAlignLeft';\nimport { TextAlignCenterIcon } from '@phosphor-icons/react/dist/csr/TextAlignCenter';\nimport { TextAlignRightIcon } from '@phosphor-icons/react/dist/csr/TextAlignRight';\nimport { TextAlignJustifyIcon } from '@phosphor-icons/react/dist/csr/TextAlignJustify';\nimport { LinkIcon } from '@phosphor-icons/react/dist/csr/Link';\nimport { ListBulletsIcon } from '@phosphor-icons/react/dist/csr/ListBullets';\nimport { ListNumbersIcon } from '@phosphor-icons/react/dist/csr/ListNumbers';\nimport { QuotesIcon } from '@phosphor-icons/react/dist/csr/Quotes';\nimport { MinusIcon } from '@phosphor-icons/react/dist/csr/Minus';\nimport { CodeIcon } from '@phosphor-icons/react/dist/csr/Code';\nimport { TextHOneIcon } from '@phosphor-icons/react/dist/csr/TextHOne';\nimport { TextHTwoIcon } from '@phosphor-icons/react/dist/csr/TextHTwo';\nimport { TextHThreeIcon } from '@phosphor-icons/react/dist/csr/TextHThree';\nimport { MathOperationsIcon } from '@phosphor-icons/react/dist/csr/MathOperations';\nimport { ImageIcon } from '@phosphor-icons/react/dist/csr/Image';\nimport { TableIcon } from '@phosphor-icons/react/dist/csr/Table';\nimport { RowsPlusTopIcon } from '@phosphor-icons/react/dist/csr/RowsPlusTop';\nimport { RowsPlusBottomIcon } from '@phosphor-icons/react/dist/csr/RowsPlusBottom';\nimport { ColumnsPlusLeftIcon } from '@phosphor-icons/react/dist/csr/ColumnsPlusLeft';\nimport { ColumnsPlusRightIcon } from '@phosphor-icons/react/dist/csr/ColumnsPlusRight';\nimport { RowsIcon } from '@phosphor-icons/react/dist/csr/Rows';\nimport { ColumnsIcon } from '@phosphor-icons/react/dist/csr/Columns';\nimport { TrashIcon } from '@phosphor-icons/react/dist/csr/Trash';\nimport { useState, useRef, useEffect, ReactNode } from 'react';\nimport { FormulaDialog } from './components/FormulaDialog';\nimport { ImageDialog } from './components/ImageDialog';\nimport { createPastedImageHandler } from './components/pastedImage';\nimport { resolveInsertWidth } from './components/imageSize';\nimport { hasColorMarkup } from '../../utils/htmlColors';\nimport Button from '../Button/Button';\nimport Text from '../Text/Text';\n\ninterface ToolbarBtnProps {\n onClick: () => void;\n active?: boolean;\n title: string;\n children: ReactNode;\n}\n\nconst ToolbarBtn = ({ onClick, active, title, children }: ToolbarBtnProps) => (\n <Button\n type=\"button\"\n onClick={onClick}\n title={title}\n size=\"small\"\n className={`bg-transparent border-transparent h-7 w-7 p-0 flex items-center justify-center rounded hover:bg-background-100 ${\n active ? 'bg-background-200 text-primary-700' : 'text-text-700'\n }`}\n >\n {children}\n </Button>\n);\n\nconst Divider = () => <div className=\"w-px h-5 bg-border-200 mx-0.5\" />;\n\ninterface TableActionBtnProps {\n onClick: () => void;\n label: string;\n danger?: boolean;\n children: ReactNode;\n}\n\n/**\n * Ação da barra de tabela. Leva rótulo escrito, e não só ícone: \"linha acima\"\n * e \"coluna à esquerda\" são indistinguíveis em 16px para quem não usa o editor\n * com frequência, e esta barra só aparece de vez em quando — há espaço de sobra.\n */\nconst TableActionBtn = ({\n onClick,\n label,\n danger,\n children,\n}: TableActionBtnProps) => (\n <Button\n type=\"button\"\n onClick={onClick}\n title={label}\n size=\"small\"\n className={`bg-transparent border-transparent h-7 px-2 flex items-center gap-1 rounded text-xs whitespace-nowrap hover:bg-background-100 ${\n danger ? 'text-error-600' : 'text-text-700'\n }`}\n >\n {children}\n {label}\n </Button>\n);\n\n/** Tabela padrão de quem está montando um enunciado: cabeçalho + 2 linhas. */\nconst NEW_TABLE = { rows: 3, cols: 3, withHeaderRow: true };\n\n/**\n * Prepares stored content for the TipTap parser. Line breaks are restored first\n * so that LaTeX spans are injected into already-structured markup.\n */\nconst prepareContent = (content?: string) =>\n processLatexInHtml(normalizeLineBreaksInHtml(content || ''));\n\n/** Shown when a pasted image is bigger than the storage backend accepts. */\nconst OVERSIZED_PASTE_MESSAGE = 'A imagem deve ter no máximo 5MB.';\n\n/** Shown when the upload rejects with something that is not an `Error`. */\nconst GENERIC_PASTE_ERROR = 'Erro ao enviar a imagem.';\n\ninterface RichEditorProps {\n readonly content?: string;\n /**\n * Notificado a cada edição do autor e, na carga, quando o `content` recebido\n * trazia cor: o editor descarta a cor ao parsear e devolve aqui o HTML limpo,\n * para que salvar sem editar nada não regrave a cor. Carregar conteúdo sem cor\n * não dispara nada.\n */\n readonly onChange?: (data: { json: object; html: string }) => void;\n readonly placeholder?: string;\n /**\n * Optional callback to generate LaTeX using AI\n * If provided, the AI generation feature will be enabled in the formula dialog\n * @param description - Natural language description of the formula\n * @returns Promise resolving to the LaTeX string\n */\n readonly onGenerateLatexWithAI?: (description: string) => Promise<string>;\n /**\n * Optional callback to upload an image file and get back its public URL.\n * If provided, the file upload tab is enabled in the image dialog; otherwise\n * images can still be inserted by URL.\n * @param file - The image file selected by the user\n * @returns Promise resolving to the public URL of the uploaded image\n */\n readonly onUploadImage?: (file: File) => Promise<string>;\n /**\n * Enables pasting an image straight from the clipboard (Ctrl+V), uploading it\n * through `onUploadImage` and inserting the resulting URL. Off by default and\n * ignored without `onUploadImage`, since there would be nowhere to put the\n * file — the editor schema rejects base64 sources.\n */\n readonly allowImagePaste?: boolean;\n}\n\nexport function RichEditor({\n content,\n onChange,\n placeholder = 'Digite aqui...',\n onGenerateLatexWithAI,\n onUploadImage,\n allowImagePaste = false,\n}: RichEditorProps) {\n const [formulaOpen, setFormulaOpen] = useState(false);\n const [imageOpen, setImageOpen] = useState(false);\n const [isPastingImage, setIsPastingImage] = useState(false);\n const [pasteError, setPasteError] = useState('');\n const lastContentRef = useRef(content);\n /**\n * Último `content` recebido cuja cor já foi verificada.\n *\n * Separado do `lastContentRef` — que guarda o HTML que o consumidor tem em\n * mãos, e por isso muda quando devolvemos a versão limpa — para que uma nova\n * execução do efeito com o mesmo conteúdo (o editor sendo recriado, ou um\n * consumidor que ignore o `onChange` e siga mandando o HTML colorido) não\n * notifique a mesma limpeza duas vezes.\n */\n const colorCheckedRef = useRef<string | undefined>(undefined);\n /**\n * `editorProps` is captured once, when `useEditor` runs, so a handler reading\n * the props directly would keep serving the first render's values. The editor\n * calls through this ref, which the effect below repoints whenever the paste\n * configuration changes.\n */\n const pasteHandlerRef = useRef<(event: ClipboardEvent) => boolean>(\n () => false\n );\n /** Bumped on unmount so an upload still in flight knows not to insert. */\n const pasteTokenRef = useRef(0);\n\n const editor = useEditor({\n extensions: createRichEditorExtensions(placeholder),\n content: prepareContent(content),\n // External updates do not reach this callback: the sync effect below calls\n // setContent with `emitUpdate: false`.\n onUpdate: ({ editor }) => {\n const html = editor.getHTML();\n lastContentRef.current = html;\n onChange?.({\n json: editor.getJSON(),\n html,\n });\n },\n editorProps: {\n attributes: {\n class:\n 'min-h-[120px] outline-none prose prose-sm max-w-none px-4 py-3 focus:outline-none',\n },\n handlePaste: (_view, event) => pasteHandlerRef.current(event),\n },\n });\n\n /**\n * Estado reativo da toolbar.\n *\n * No Tiptap 3 o `useEditor` deixou de re-renderizar a cada transação, então\n * ler `editor.isActive(...)` direto no corpo do componente devolve o valor\n * congelado do último render: os botões não acendiam ao mover o cursor e a\n * barra de tabela nunca apareceria ao entrar numa célula. `useEditorState`\n * assina as transações e só re-renderiza quando um destes flags muda — bem\n * mais barato que re-renderizar a toolbar inteira a cada tecla digitada.\n */\n const toolbar = useEditorState({\n editor,\n selector: ({ editor }) => ({\n heading1: editor.isActive('heading', { level: 1 }),\n heading2: editor.isActive('heading', { level: 2 }),\n heading3: editor.isActive('heading', { level: 3 }),\n bold: editor.isActive('bold'),\n italic: editor.isActive('italic'),\n underline: editor.isActive('underline'),\n strike: editor.isActive('strike'),\n subscript: editor.isActive('subscript'),\n superscript: editor.isActive('superscript'),\n code: editor.isActive('code'),\n alignLeft: editor.isActive({ textAlign: 'left' }),\n alignCenter: editor.isActive({ textAlign: 'center' }),\n alignRight: editor.isActive({ textAlign: 'right' }),\n alignJustify: editor.isActive({ textAlign: 'justify' }),\n bulletList: editor.isActive('bulletList'),\n orderedList: editor.isActive('orderedList'),\n blockquote: editor.isActive('blockquote'),\n link: editor.isActive('link'),\n image: editor.isActive('image'),\n table: editor.isActive('table'),\n }),\n });\n\n /**\n * Devolve ao consumidor o HTML já sem cor quando o conteúdo carregado vinha\n * colorido.\n *\n * O schema descarta a cor ao parsear, então a tela aparece limpa sozinha — mas\n * o valor que o consumidor guarda continuaria sendo o HTML colorido que veio\n * da API, e salvar sem editar nada regravaria o vermelho no banco. Emitir aqui\n * alinha os dois: o próximo salvamento persiste a questão sem cor, mesmo que o\n * autor só tenha aberto e clicado em salvar.\n *\n * `emitUpdate: false` na sincronização abaixo é justamente o que torna este\n * passo necessário, e o `onChange` só dispara quando havia cor de fato —\n * qualquer outro conteúdo continua sendo carregado em silêncio, sem reescrever\n * o que já está salvo.\n * @param loaded - O HTML como chegou na prop `content`\n */\n const emitColorlessContent = (loaded: string) => {\n if (!editor || !hasColorMarkup(loaded)) return;\n\n const html = editor.getHTML();\n lastContentRef.current = html;\n onChange?.({ json: editor.getJSON(), html });\n };\n\n // Update editor content when prop changes externally (e.g., from loadQuestion)\n useEffect(() => {\n if (!editor || content === undefined) return;\n\n // Na primeira renderização o conteúdo já entrou pelo `useEditor`, então só\n // o que chega depois precisa ser reaplicado.\n if (content !== lastContentRef.current) {\n editor.commands.setContent(prepareContent(content), {\n emitUpdate: false,\n });\n lastContentRef.current = content;\n }\n\n // Uma vez por conteúdo recebido, e não a cada execução do efeito.\n if (content !== colorCheckedRef.current) {\n colorCheckedRef.current = content;\n emitColorlessContent(content);\n }\n // `emitColorlessContent` é recriada a cada render e fica fora das\n // dependências de propósito: só fecha sobre o editor e o `onChange` do\n // consumidor, e reagir a eles reemitiria o mesmo conteúdo.\n }, [content, editor]);\n\n const insertFormula = (latex: string, display: boolean) => {\n if (!latex || !editor) return;\n editor\n .chain()\n .focus()\n .insertContent({\n type: 'mathInline',\n attrs: { latex, display },\n })\n .run();\n setFormulaOpen(false);\n };\n\n const applyImage = (src: string, alt: string, width?: number) => {\n if (!src || !editor) return;\n editor\n .chain()\n .focus()\n .setImage({ src, alt, ...(width ? { width } : {}) })\n .run();\n };\n\n const insertImage = (src: string, alt: string, width?: number) => {\n applyImage(src, alt, width);\n setImageOpen(false);\n };\n\n /**\n * Uploads the images taken from the clipboard and inserts them in order.\n *\n * The upload has to finish before anything reaches the document: a `blob:`\n * source would survive into the saved HTML and break as soon as the page\n * unloads, and base64 is rejected by the schema.\n * @param files - Images already named and within the size limit\n * @param upload - The consumer's upload callback\n */\n const uploadPastedImages = async (\n files: File[],\n upload: (file: File) => Promise<string>\n ) => {\n const token = pasteTokenRef.current;\n setPasteError('');\n setIsPastingImage(true);\n\n try {\n for (const file of files) {\n const src = await upload(file);\n const width = await resolveInsertWidth(src);\n // The editor may be gone by now — the user can navigate away mid-upload.\n if (token !== pasteTokenRef.current) return;\n applyImage(src, '', width);\n }\n } catch (error) {\n if (token !== pasteTokenRef.current) return;\n setPasteError(\n error instanceof Error ? error.message : GENERIC_PASTE_ERROR\n );\n } finally {\n setIsPastingImage(false);\n }\n };\n\n useEffect(() => {\n pasteHandlerRef.current = createPastedImageHandler({\n enabled: allowImagePaste,\n upload: onUploadImage,\n onImages: uploadPastedImages,\n onOversized: () => setPasteError(OVERSIZED_PASTE_MESSAGE),\n });\n // `uploadPastedImages` is rebuilt on every render and is deliberately left\n // out of the dependencies: it only closes over the editor instance and the\n // state setters, all stable once mounted.\n }, [allowImagePaste, onUploadImage, editor]);\n\n useEffect(() => {\n // Invalidates uploads still in flight, so a late resolution cannot insert\n // into an editor that no longer exists.\n return () => {\n pasteTokenRef.current += 1;\n };\n }, []);\n\n const setLink = () => {\n const url = globalThis.window.prompt('URL do link:');\n if (url === null || !editor) return;\n if (url === '') {\n editor.chain().focus().extendMarkRange('link').unsetLink().run();\n return;\n }\n editor.chain().focus().extendMarkRange('link').setLink({ href: url }).run();\n };\n\n // `toolbar` só é nulo junto com o editor, mas o TypeScript não sabe disso.\n if (!editor || !toolbar) return null;\n\n // `data-analytica-rich-editor` scopes the image resize handle styles shipped\n // in the library's global stylesheet, so they cannot leak into another Tiptap\n // instance living in the consumer app.\n return (\n <div\n data-analytica-rich-editor\n className=\"border border-border-200 rounded-xl overflow-hidden bg-background-0\"\n >\n {/* Toolbar */}\n <div className=\"flex items-center gap-0.5 border-b border-border-200 bg-background-50 px-2 py-1.5 flex-wrap\">\n {/* Headings */}\n <ToolbarBtn\n onClick={() =>\n editor.chain().focus().toggleHeading({ level: 1 }).run()\n }\n active={toolbar.heading1}\n title=\"Título 1\"\n >\n <TextHOneIcon size={16} weight=\"bold\" />\n </ToolbarBtn>\n <ToolbarBtn\n onClick={() =>\n editor.chain().focus().toggleHeading({ level: 2 }).run()\n }\n active={toolbar.heading2}\n title=\"Título 2\"\n >\n <TextHTwoIcon size={16} weight=\"bold\" />\n </ToolbarBtn>\n <ToolbarBtn\n onClick={() =>\n editor.chain().focus().toggleHeading({ level: 3 }).run()\n }\n active={toolbar.heading3}\n title=\"Título 3\"\n >\n <TextHThreeIcon size={16} weight=\"bold\" />\n </ToolbarBtn>\n\n <Divider />\n\n {/* Text formatting */}\n <ToolbarBtn\n onClick={() => editor.chain().focus().toggleBold().run()}\n active={toolbar.bold}\n title=\"Negrito (Ctrl+B)\"\n >\n <TextBolderIcon size={16} weight=\"bold\" />\n </ToolbarBtn>\n <ToolbarBtn\n onClick={() => editor.chain().focus().toggleItalic().run()}\n active={toolbar.italic}\n title=\"Itálico (Ctrl+I)\"\n >\n <TextItalicIcon size={16} />\n </ToolbarBtn>\n <ToolbarBtn\n onClick={() => editor.chain().focus().toggleUnderline().run()}\n active={toolbar.underline}\n title=\"Sublinhado (Ctrl+U)\"\n >\n <TextUnderlineIcon size={16} />\n </ToolbarBtn>\n <ToolbarBtn\n onClick={() => editor.chain().focus().toggleStrike().run()}\n active={toolbar.strike}\n title=\"Tachado\"\n >\n <TextStrikethroughIcon size={16} />\n </ToolbarBtn>\n <ToolbarBtn\n onClick={() => editor.chain().focus().toggleSubscript().run()}\n active={toolbar.subscript}\n title=\"Subscrito\"\n >\n <span className=\"text-xs font-medium\">\n X<sub className=\"text-[8px]\">2</sub>\n </span>\n </ToolbarBtn>\n <ToolbarBtn\n onClick={() => editor.chain().focus().toggleSuperscript().run()}\n active={toolbar.superscript}\n title=\"Sobrescrito\"\n >\n <span className=\"text-xs font-medium\">\n X<sup className=\"text-[8px]\">2</sup>\n </span>\n </ToolbarBtn>\n <ToolbarBtn\n onClick={() => editor.chain().focus().toggleCode().run()}\n active={toolbar.code}\n title=\"Código inline\"\n >\n <CodeIcon size={16} />\n </ToolbarBtn>\n\n <Divider />\n\n {/* Alignment */}\n <ToolbarBtn\n onClick={() => editor.chain().focus().setTextAlign('left').run()}\n active={toolbar.alignLeft}\n title=\"Alinhar à esquerda\"\n >\n <TextAlignLeftIcon size={16} />\n </ToolbarBtn>\n <ToolbarBtn\n onClick={() => editor.chain().focus().setTextAlign('center').run()}\n active={toolbar.alignCenter}\n title=\"Centralizar\"\n >\n <TextAlignCenterIcon size={16} />\n </ToolbarBtn>\n <ToolbarBtn\n onClick={() => editor.chain().focus().setTextAlign('right').run()}\n active={toolbar.alignRight}\n title=\"Alinhar à direita\"\n >\n <TextAlignRightIcon size={16} />\n </ToolbarBtn>\n <ToolbarBtn\n onClick={() => editor.chain().focus().setTextAlign('justify').run()}\n active={toolbar.alignJustify}\n title=\"Justificar\"\n >\n <TextAlignJustifyIcon size={16} />\n </ToolbarBtn>\n\n <Divider />\n\n {/* Lists */}\n <ToolbarBtn\n onClick={() => editor.chain().focus().toggleBulletList().run()}\n active={toolbar.bulletList}\n title=\"Lista com marcadores\"\n >\n <ListBulletsIcon size={16} />\n </ToolbarBtn>\n <ToolbarBtn\n onClick={() => editor.chain().focus().toggleOrderedList().run()}\n active={toolbar.orderedList}\n title=\"Lista numerada\"\n >\n <ListNumbersIcon size={16} />\n </ToolbarBtn>\n <ToolbarBtn\n onClick={() => editor.chain().focus().toggleBlockquote().run()}\n active={toolbar.blockquote}\n title=\"Citação\"\n >\n <QuotesIcon size={16} />\n </ToolbarBtn>\n <ToolbarBtn\n onClick={() => editor.chain().focus().setHorizontalRule().run()}\n active={false}\n title=\"Linha horizontal\"\n >\n <MinusIcon size={16} />\n </ToolbarBtn>\n\n <Divider />\n\n {/* Link */}\n <ToolbarBtn\n onClick={setLink}\n active={toolbar.link}\n title=\"Inserir link\"\n >\n <LinkIcon size={16} />\n </ToolbarBtn>\n\n {/* Image */}\n <ToolbarBtn\n onClick={() => setImageOpen(true)}\n active={toolbar.image}\n title=\"Inserir imagem\"\n >\n <ImageIcon size={16} />\n </ToolbarBtn>\n\n {/* Table */}\n <ToolbarBtn\n onClick={() => editor.chain().focus().insertTable(NEW_TABLE).run()}\n active={toolbar.table}\n title=\"Inserir tabela\"\n >\n <TableIcon size={16} />\n </ToolbarBtn>\n\n {/* Formula */}\n <Button\n type=\"button\"\n onClick={() => setFormulaOpen(true)}\n title=\"Inserir fórmula LaTeX\"\n size=\"extra-small\"\n variant=\"link\"\n >\n <MathOperationsIcon size={16} />\n LaTeX\n </Button>\n </div>\n\n {/*\n Ações de linha/coluna só existem quando o cursor está dentro de uma\n tabela, então ficam numa barra própria em vez de ocuparem a toolbar\n principal — que já quebra em duas linhas no tablet.\n */}\n {toolbar.table && (\n <div\n data-testid=\"table-toolbar\"\n className=\"flex items-center gap-0.5 border-b border-border-200 bg-background-50 px-2 py-1.5 flex-wrap\"\n >\n <TableActionBtn\n onClick={() => editor.chain().focus().addRowBefore().run()}\n label=\"Linha acima\"\n >\n <RowsPlusTopIcon size={16} />\n </TableActionBtn>\n <TableActionBtn\n onClick={() => editor.chain().focus().addRowAfter().run()}\n label=\"Linha abaixo\"\n >\n <RowsPlusBottomIcon size={16} />\n </TableActionBtn>\n <TableActionBtn\n onClick={() => editor.chain().focus().addColumnBefore().run()}\n label=\"Coluna à esquerda\"\n >\n <ColumnsPlusLeftIcon size={16} />\n </TableActionBtn>\n <TableActionBtn\n onClick={() => editor.chain().focus().addColumnAfter().run()}\n label=\"Coluna à direita\"\n >\n <ColumnsPlusRightIcon size={16} />\n </TableActionBtn>\n\n <Divider />\n\n <TableActionBtn\n onClick={() => editor.chain().focus().toggleHeaderRow().run()}\n label=\"Cabeçalho\"\n >\n <TableIcon size={16} />\n </TableActionBtn>\n\n <Divider />\n\n <TableActionBtn\n onClick={() => editor.chain().focus().deleteRow().run()}\n label=\"Excluir linha\"\n danger\n >\n <RowsIcon size={16} />\n </TableActionBtn>\n <TableActionBtn\n onClick={() => editor.chain().focus().deleteColumn().run()}\n label=\"Excluir coluna\"\n danger\n >\n <ColumnsIcon size={16} />\n </TableActionBtn>\n <TableActionBtn\n onClick={() => editor.chain().focus().deleteTable().run()}\n label=\"Excluir tabela\"\n danger\n >\n <TrashIcon size={16} />\n </TableActionBtn>\n </div>\n )}\n\n {/* Editor */}\n <EditorContent editor={editor} />\n\n {/* Estado do envio de imagem colada e dica de LaTeX */}\n <div className=\"border-t border-border-200 px-4 py-2 bg-background-50\">\n {isPastingImage && (\n <Text size=\"xs\" color=\"text-text-600\" className=\"block mb-1\">\n Enviando imagem...\n </Text>\n )}\n {pasteError && (\n <Text size=\"xs\" color=\"text-error-600\" className=\"block mb-1\">\n {pasteError}\n </Text>\n )}\n <Text size=\"xs\" color=\"text-text-400\">\n Dica: use{' '}\n <code className=\"bg-background-200 px-1 rounded\">$fórmula$</code> para\n LaTeX inline e{' '}\n <code className=\"bg-background-200 px-1 rounded\">$$fórmula$$</code>{' '}\n para fórmula em bloco. A conversão acontece assim que você fecha os\n cifrões.\n </Text>\n </div>\n\n <FormulaDialog\n open={formulaOpen}\n onClose={() => setFormulaOpen(false)}\n onInsert={insertFormula}\n onGenerateWithAI={onGenerateLatexWithAI}\n />\n\n <ImageDialog\n open={imageOpen}\n onClose={() => setImageOpen(false)}\n onInsert={insertImage}\n onUploadImage={onUploadImage}\n />\n </div>\n );\n}\n","import StarterKit from '@tiptap/starter-kit';\nimport Underline from '@tiptap/extension-underline';\nimport TextAlign from '@tiptap/extension-text-align';\nimport Subscript from '@tiptap/extension-subscript';\nimport Superscript from '@tiptap/extension-superscript';\nimport Link from '@tiptap/extension-link';\nimport Placeholder from '@tiptap/extension-placeholder';\nimport Image from '@tiptap/extension-image';\nimport { TableKit } from '@tiptap/extension-table';\nimport { MathNode } from './MathNode';\nimport {\n MIN_IMAGE_HEIGHT,\n MIN_IMAGE_WIDTH,\n parseImageWidth,\n} from './imageSize';\n\n/**\n * Image node with drag-to-resize handles.\n *\n * The stock extension already declares `width`/`height` attributes, but their\n * default parser keeps the raw HTML value. That breaks the resizable node view,\n * which appends `px` to whatever is stored — a legacy `width=\"400px\"` would\n * become `400pxpx`. Parsing to a number up front keeps every source consistent.\n *\n * `height` is deliberately never persisted: the editor stylesheet and\n * HtmlMathRenderer both force `height: auto`, so a stored height exists only to\n * be overridden. Worse, when `max-width` clips a too-wide image while an inline\n * height survives, the node view measures the clipped box and commits a\n * distorted aspect ratio on the next drag.\n */\nconst ResizableImage = Image.extend({\n addAttributes() {\n return {\n ...this.parent?.(),\n width: {\n default: null,\n parseHTML: (element: HTMLElement) => parseImageWidth(element),\n renderHTML: (attributes: Record<string, unknown>) =>\n typeof attributes.width === 'number'\n ? { width: attributes.width }\n : {},\n },\n height: {\n default: null,\n parseHTML: () => null,\n rendered: false,\n },\n };\n },\n\n addNodeView() {\n const parentNodeView = this.parent?.();\n if (!parentNodeView) return null;\n\n return (props) => {\n const nodeView = parentNodeView(props);\n const container = nodeView.dom;\n\n if (container instanceof HTMLElement) {\n // The upstream node view hides the container until `load` fires. An\n // expired storage URL therefore leaves an invisible, unselectable node —\n // worse than the browser's broken-image icon. Reveal it on failure.\n const image = container.querySelector('img');\n image?.addEventListener('error', () => {\n container.style.visibility = '';\n container.style.pointerEvents = '';\n });\n }\n\n return nodeView;\n };\n },\n});\n\n/**\n * Extension list backing the RichEditor.\n *\n * Tiptap validates incoming HTML against the schema these extensions build and\n * silently discards any node it cannot match. Anything the editor must be able\n * to *load* has to be registered here, not only what it can create — omitting\n * Image is what made `<img>` tags disappear from existing content.\n *\n * That same rule is what keeps colour out of the content, and it is why\n * TextStyle/Color/Highlight are deliberately absent. The toolbar has never\n * offered a colour control, so every coloured run in the question bank arrived\n * pasted from Word, a PDF or an old ENEM export (`<span style=\"color: red\">`,\n * `<mark style=\"background-color: yellow\">`) and then survived into the saved\n * HTML, where it fights the app's own typography. Without a schema attribute\n * to land in, the declaration is dropped on the way in — on paste, on\n * drag-and-drop and when an existing question is loaded for editing — while\n * the text itself is kept. Bold, italic, alignment and the rest are unaffected:\n * they are separate marks.\n */\nexport function createRichEditorExtensions(placeholder: string) {\n return [\n StarterKit,\n Underline,\n Subscript,\n Superscript,\n TextAlign.configure({ types: ['heading', 'paragraph'] }),\n Link.configure({ openOnClick: false }),\n Placeholder.configure({ placeholder }),\n ResizableImage.configure({\n inline: false,\n allowBase64: false,\n resize: {\n enabled: true,\n // Corner handles only: edge handles span the whole side and read as a\n // border rather than a grip.\n directions: ['top-left', 'top-right', 'bottom-left', 'bottom-right'],\n minWidth: MIN_IMAGE_WIDTH,\n minHeight: MIN_IMAGE_HEIGHT,\n alwaysPreserveAspectRatio: true,\n },\n }),\n // Registering these nodes is what makes a table survive at all: without\n // them the schema has no match for `<table>`, so every cell collapsed into\n // a single run-on paragraph — and the next save persisted that flattened\n // text over the original table. The toolbar commands (insert, add/remove\n // row and column) come from the same kit.\n TableKit.configure({\n // Resizing is off on purpose: dragging a column persists a `colwidth`\n // measured against the editor viewport, and the student's viewport is a\n // different width. Column layout stays with the display stylesheet.\n table: { resizable: false },\n }),\n MathNode,\n ];\n}\n","/**\n * Clipboard handling for images pasted straight into the RichEditor.\n *\n * A screenshot on the clipboard arrives as a `File` on the paste event, but the\n * editor schema rejects base64 sources, so the file has to be uploaded before\n * it can be inserted. These helpers isolate the clipboard reading from the\n * upload flow in `RichEditorCore`, which keeps them testable without a real\n * ProseMirror view.\n */\n\nimport { MAX_IMAGE_SIZE } from './imageSize';\n\n/** Base name given to a clipboard image that arrives without a filename. */\nconst PASTED_IMAGE_BASENAME = 'imagem-colada';\n\n/**\n * Extension per MIME type accepted by the storage backend. Keyed by the types a\n * browser actually puts on the clipboard when copying an image.\n */\nconst EXTENSION_BY_MIME: Record<string, string> = {\n 'image/png': 'png',\n 'image/jpeg': 'jpg',\n 'image/gif': 'gif',\n 'image/webp': 'webp',\n 'image/bmp': 'bmp',\n 'image/svg+xml': 'svg',\n};\n\n/** Extension used when the clipboard reports an image type we do not map. */\nconst FALLBACK_EXTENSION = 'png';\n\n/**\n * Reads the image files carried by a paste event.\n * Anything that is not an image is left alone so the default paste behaviour\n * still handles it.\n * @param clipboardData - The `clipboardData` of the paste event\n * @returns The image files found, in clipboard order\n */\nexport const extractPastedImageFiles = (\n clipboardData: DataTransfer | null | undefined\n): File[] => {\n if (!clipboardData?.files) return [];\n\n return Array.from(clipboardData.files).filter((file) =>\n file.type.startsWith('image/')\n );\n};\n\n/**\n * Guarantees the file has a name before it reaches the upload.\n * Some browsers hand over a nameless blob for a screenshot, and the pre-signed\n * URL request sends `file.name` to the backend — an empty name would be\n * rejected there.\n * @param file - The image file taken from the clipboard\n * @returns The original file when it is already named, a renamed copy otherwise\n */\nexport const namePastedImage = (file: File): File => {\n if (file.name) return file;\n\n const extension = EXTENSION_BY_MIME[file.type] ?? FALLBACK_EXTENSION;\n return new File([file], `${PASTED_IMAGE_BASENAME}.${extension}`, {\n type: file.type,\n });\n};\n\nconst isOversized = (file: File) => file.size > MAX_IMAGE_SIZE;\n\n/**\n * Whether the clipboard markup should win over the image file it came with.\n *\n * Copying a range from Excel or Google Sheets puts both an HTML table and a\n * picture of it on the clipboard; taking the picture would silently turn a\n * pasteable table into a figure. Markup that carries its own `<img>` is the\n * opposite case — copying a picture from Word sends `<img src=\"file:///...\">`,\n * which would paste as a broken image, so there the file is the good source.\n * @param clipboardData - The `clipboardData` of the paste event\n * @returns True when the default paste handling should keep the markup\n */\nconst prefersMarkup = (clipboardData: DataTransfer) => {\n const html = clipboardData.getData('text/html');\n return html !== '' && !/<img\\b/i.test(html);\n};\n\ninterface PastedImageHandlerOptions {\n /** Whether the consumer opted into pasting images. */\n readonly enabled: boolean;\n /** Upload callback. Without one there is nowhere to put the file. */\n readonly upload?: (file: File) => Promise<string>;\n /** Receives the named images to upload, once the clipboard is accepted. */\n readonly onImages: (\n files: File[],\n upload: (file: File) => Promise<string>\n ) => void;\n /** Called instead of `onImages` when any image is over the size limit. */\n readonly onOversized: () => void;\n}\n\n/**\n * Builds the handler Tiptap calls on every paste.\n *\n * Returning false leaves the paste to the default handling, so text, HTML and\n * anything else keep behaving exactly as before — only a clipboard carrying\n * image files is taken over.\n * @param options - Upload wiring and the callbacks used to report the outcome\n * @returns A handler that reports whether it consumed the paste\n */\nexport const createPastedImageHandler =\n ({ enabled, upload, onImages, onOversized }: PastedImageHandlerOptions) =>\n (event: ClipboardEvent): boolean => {\n if (!enabled || !upload) return false;\n\n const clipboard = event.clipboardData;\n if (!clipboard) return false;\n\n const files = extractPastedImageFiles(clipboard);\n if (files.length === 0 || prefersMarkup(clipboard)) return false;\n\n // From here on the paste belongs to us: the default handler would drop the\n // file anyway, since the editor schema rejects base64 image sources.\n event.preventDefault();\n\n if (files.some(isOversized)) {\n onOversized();\n return true;\n }\n\n onImages(files.map(namePastedImage), upload);\n return true;\n };\n","/**\n * Detecção de cor no HTML das questões.\n *\n * O schema do RichEditor não tem atributo onde guardar cor (ver\n * `components/RichEditor/components/extensions.ts`), então toda declaração de\n * cor é descartada na leitura — o autor abre a questão e ela já aparece sem o\n * vermelho que veio da API. O que o schema não faz é avisar que descartou algo:\n * o valor em memória do formulário continua sendo o HTML colorido, e salvar sem\n * editar nada regravaria a cor no banco.\n *\n * Este módulo é o gatilho que fecha esse buraco. É deliberadamente uma\n * heurística sobre a string: basta reconhecer que havia cor para que o editor\n * devolva ao consumidor o HTML já limpo. Um falso positivo custa um\n * `onChange` extra na carga; um falso negativo só deixa a cor no valor salvo até\n * a próxima edição de verdade.\n */\n\n/** Valores de atributos `style` (aspas duplas ou simples) presentes no HTML. */\nconst STYLE_ATTRIBUTE = /style\\s*=\\s*(?:\"([^\"]*)\"|'([^']*)')/gi;\n\n/**\n * Propriedades CSS que pintam texto ou fundo, ancoradas no início de uma\n * declaração para não casar com `border-color` e afins. A forma abreviada\n * `background` entra na lista porque é o que Word e Google Docs escrevem com\n * frequência no lugar de `background-color`.\n */\nconst COLOR_DECLARATION =\n /(?:^|;)\\s*(?:color|background|background-color)\\s*:/i;\n\n/**\n * Cor que vive fora do `style`: `<font color>` e `bgcolor` vêm dos exports\n * antigos do ENEM e do que se cola de um PDF; `<mark>` e `data-color` são o\n * grifo que o Highlight do Tiptap gravava junto com a cor de fundo.\n */\nconst COLOR_MARKUP = [\n /<font\\b[^>]*\\bcolor\\s*=/i,\n /<[a-z][^>]*\\bbgcolor\\s*=/i,\n /<mark\\b/i,\n /\\bdata-color\\s*=/i,\n];\n\n/**\n * Se `html` carrega alguma cor que o editor vai descartar ao carregá-lo.\n * @param html - HTML como veio da API, da geração por IA ou de um export antigo\n * @returns True quando há cor de fonte, de fundo ou grifo no conteúdo\n */\nexport function hasColorMarkup(html?: string | null): boolean {\n if (!html) return false;\n\n if (COLOR_MARKUP.some((pattern) => pattern.test(html))) return true;\n\n for (const match of html.matchAll(STYLE_ATTRIBUTE)) {\n if (COLOR_DECLARATION.test(match[1] ?? match[2] ?? '')) return true;\n }\n\n return false;\n}\n"]}
|
|
@@ -5,14 +5,14 @@ import {
|
|
|
5
5
|
MIN_IMAGE_WIDTH,
|
|
6
6
|
parseImageWidth,
|
|
7
7
|
resolveInsertWidth
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-UZF2D2GG.mjs";
|
|
9
9
|
import {
|
|
10
10
|
MathNode
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-UAFSWXN5.mjs";
|
|
12
12
|
import {
|
|
13
13
|
FormulaDialog,
|
|
14
14
|
processLatexInHtml
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-NU7O6YKR.mjs";
|
|
16
16
|
import "./chunk-LXP6LRHO.mjs";
|
|
17
17
|
import "./chunk-GZGHWAVG.mjs";
|
|
18
18
|
import {
|
|
@@ -23,9 +23,8 @@ import "./chunk-IG4GK7ME.mjs";
|
|
|
23
23
|
import "./chunk-6A2IK5NJ.mjs";
|
|
24
24
|
import "./chunk-EVXUK6JL.mjs";
|
|
25
25
|
import "./chunk-ZRBIE5ZM.mjs";
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-M2FN7CNS.mjs";
|
|
26
|
+
import "./chunk-3YF7H577.mjs";
|
|
27
|
+
import "./chunk-Z4L2DWMX.mjs";
|
|
29
28
|
import "./chunk-624IUGB4.mjs";
|
|
30
29
|
import "./chunk-MEUREWL3.mjs";
|
|
31
30
|
import "./chunk-Z2G5TBXF.mjs";
|
|
@@ -735,4 +734,4 @@ function RichEditor({
|
|
|
735
734
|
export {
|
|
736
735
|
RichEditor
|
|
737
736
|
};
|
|
738
|
-
//# sourceMappingURL=RichEditorCore-
|
|
737
|
+
//# sourceMappingURL=RichEditorCore-IF6JQHEO.mjs.map
|