@tumaet/prompt-ui-components 1.0.11 → 1.1.1

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.
Files changed (144) hide show
  1. package/dist/components/DynamicIcon.js +34 -0
  2. package/dist/components/DynamicIcon.js.map +1 -0
  3. package/dist/components/ExportedApplicationAnswerTable.js +15 -0
  4. package/dist/components/ExportedApplicationAnswerTable.js.map +1 -0
  5. package/dist/components/FileList.js +43 -0
  6. package/dist/components/FileList.js.map +1 -0
  7. package/dist/components/FileUpload.js +76 -0
  8. package/dist/components/FileUpload.js.map +1 -0
  9. package/dist/components/FilterBadge.js +7 -0
  10. package/dist/components/FilterBadge.js.map +1 -0
  11. package/dist/components/MissingConfig.js +10 -0
  12. package/dist/components/MissingConfig.js.map +1 -0
  13. package/dist/components/MissingSettings.js +8 -0
  14. package/dist/components/MissingSettings.js.map +1 -0
  15. package/dist/components/ScoreLevelSelector.js +2 -5
  16. package/dist/components/ScoreLevelSelector.js.map +1 -1
  17. package/dist/components/SettingsCard.js +7 -0
  18. package/dist/components/SettingsCard.js.map +1 -0
  19. package/dist/components/StudentAvatar.js +11 -0
  20. package/dist/components/StudentAvatar.js.map +1 -0
  21. package/dist/components/StudentProfile.js +12 -0
  22. package/dist/components/StudentProfile.js.map +1 -0
  23. package/dist/components/StudentProfilePicture.js +13 -0
  24. package/dist/components/StudentProfilePicture.js.map +1 -0
  25. package/dist/components/ThemeToggle.js +9 -0
  26. package/dist/components/ThemeToggle.js.map +1 -0
  27. package/dist/components/index.js +26 -0
  28. package/dist/components/index.js.map +1 -1
  29. package/dist/components/minimal-tiptap/components/bubble-menu/link-bubble-menu.js +3 -3
  30. package/dist/components/minimal-tiptap/components/bubble-menu/link-bubble-menu.js.map +1 -1
  31. package/dist/components/minimal-tiptap/extensions/code-block-lowlight/code-block-lowlight.js +8 -1
  32. package/dist/components/minimal-tiptap/extensions/code-block-lowlight/code-block-lowlight.js.map +1 -1
  33. package/dist/components/minimal-tiptap/extensions/image/image.js +7 -2
  34. package/dist/components/minimal-tiptap/extensions/image/image.js.map +1 -1
  35. package/dist/components/minimal-tiptap/extensions/link/link.js +12 -1
  36. package/dist/components/minimal-tiptap/extensions/link/link.js.map +1 -1
  37. package/dist/components/minimal-tiptap/extensions/selection/selection.js.map +1 -1
  38. package/dist/components/pages/CoursePhaseParticipationsTable/CoursePhaseParticipationsTable.js +17 -0
  39. package/dist/components/pages/CoursePhaseParticipationsTable/CoursePhaseParticipationsTable.js.map +1 -0
  40. package/dist/components/pages/CoursePhaseParticipationsTable/table/participationActions.js +46 -0
  41. package/dist/components/pages/CoursePhaseParticipationsTable/table/participationActions.js.map +1 -0
  42. package/dist/components/pages/CoursePhaseParticipationsTable/table/participationColumns.js +37 -0
  43. package/dist/components/pages/CoursePhaseParticipationsTable/table/participationColumns.js.map +1 -0
  44. package/dist/components/pages/CoursePhaseParticipationsTable/table/participationFilters.js +22 -0
  45. package/dist/components/pages/CoursePhaseParticipationsTable/table/participationFilters.js.map +1 -0
  46. package/dist/components/pages/CoursePhaseParticipationsTable/table/participationRow.js +27 -0
  47. package/dist/components/pages/CoursePhaseParticipationsTable/table/participationRow.js.map +1 -0
  48. package/dist/components/pages/CoursePhaseParticipationsTable/utils/downloadParticipations.js +72 -0
  49. package/dist/components/pages/CoursePhaseParticipationsTable/utils/downloadParticipations.js.map +1 -0
  50. package/dist/components/pages/CoursePhaseParticipationsTable/utils/updateBatch.js +19 -0
  51. package/dist/components/pages/CoursePhaseParticipationsTable/utils/updateBatch.js.map +1 -0
  52. package/dist/components/pages/Mailing/CoursePhaseMailing.js +87 -0
  53. package/dist/components/pages/Mailing/CoursePhaseMailing.js.map +1 -0
  54. package/dist/components/pages/Mailing/components/AvailableMailPlaceholders.js +60 -0
  55. package/dist/components/pages/Mailing/components/AvailableMailPlaceholders.js.map +1 -0
  56. package/dist/components/pages/Mailing/components/ConfirmSendEmailDialog.js +43 -0
  57. package/dist/components/pages/Mailing/components/ConfirmSendEmailDialog.js.map +1 -0
  58. package/dist/components/pages/Mailing/components/MailingEditor.js +25 -0
  59. package/dist/components/pages/Mailing/components/MailingEditor.js.map +1 -0
  60. package/dist/components/pages/Mailing/components/ManualMailSending.js +33 -0
  61. package/dist/components/pages/Mailing/components/ManualMailSending.js.map +1 -0
  62. package/dist/components/pages/Mailing/components/SettingsCard.js +13 -0
  63. package/dist/components/pages/Mailing/components/SettingsCard.js.map +1 -0
  64. package/dist/components/table/GroupActionDialog.js +7 -0
  65. package/dist/components/table/GroupActionDialog.js.map +1 -0
  66. package/dist/components/table/PromptTable/filters/TableFiltersMenu.js +1 -1
  67. package/dist/components/table/PromptTable/filters/TableFiltersMenu.js.map +1 -1
  68. package/dist/components/table/SortableHeader.js +6 -0
  69. package/dist/components/table/SortableHeader.js.map +1 -0
  70. package/dist/components/ui/chart.js +1 -1
  71. package/dist/components/ui/sidebar.js +6 -6
  72. package/dist/components/ui/sidebar.js.map +1 -1
  73. package/dist/contexts/DarkModeProvider.js +56 -0
  74. package/dist/contexts/DarkModeProvider.js.map +1 -0
  75. package/dist/index.js +2 -0
  76. package/dist/index.js.map +1 -1
  77. package/dist/lib/formatFileSize.js +9 -0
  78. package/dist/lib/formatFileSize.js.map +1 -0
  79. package/dist/lib/getCountries.js +15 -0
  80. package/dist/lib/getCountries.js.map +1 -0
  81. package/dist/lib/getGravatarUrl.js +7 -0
  82. package/dist/lib/getGravatarUrl.js.map +1 -0
  83. package/dist/lib/getStatusBadge.js +27 -0
  84. package/dist/lib/getStatusBadge.js.map +1 -0
  85. package/dist/lib/getStatusColor.js +13 -0
  86. package/dist/lib/getStatusColor.js.map +1 -0
  87. package/dist/lib/index.js +6 -0
  88. package/dist/lib/index.js.map +1 -1
  89. package/dist/lib/openFileDownload.js +17 -0
  90. package/dist/lib/openFileDownload.js.map +1 -0
  91. package/dist/lib/translations.json +18 -0
  92. package/dist/types/components/DynamicIcon.d.ts +6 -0
  93. package/dist/types/components/ExportedApplicationAnswerTable.d.ts +6 -0
  94. package/dist/types/components/FileList.d.ts +9 -0
  95. package/dist/types/components/FileUpload.d.ts +13 -0
  96. package/dist/types/components/FilterBadge.d.ts +6 -0
  97. package/dist/types/components/MissingConfig.d.ts +13 -0
  98. package/dist/types/components/MissingSettings.d.ts +11 -0
  99. package/dist/types/components/MultiSelect.d.ts +1 -1
  100. package/dist/types/components/SettingsCard.d.ts +8 -0
  101. package/dist/types/components/StudentAvatar.d.ts +17 -0
  102. package/dist/types/components/StudentProfile.d.ts +7 -0
  103. package/dist/types/components/StudentProfilePicture.d.ts +9 -0
  104. package/dist/types/components/ThemeToggle.d.ts +1 -0
  105. package/dist/types/components/index.d.ts +26 -0
  106. package/dist/types/components/minimal-tiptap/extensions/color/color.d.ts +1 -1
  107. package/dist/types/components/minimal-tiptap/extensions/image/image.d.ts +1 -1
  108. package/dist/types/components/minimal-tiptap/extensions/link/link.d.ts +1 -1
  109. package/dist/types/components/minimal-tiptap/hooks/use-minimal-tiptap.d.ts +1 -1
  110. package/dist/types/components/pages/CoursePhaseParticipationsTable/CoursePhaseParticipationsTable.d.ts +15 -0
  111. package/dist/types/components/pages/CoursePhaseParticipationsTable/table/participationActions.d.ts +11 -0
  112. package/dist/types/components/pages/CoursePhaseParticipationsTable/table/participationColumns.d.ts +3 -0
  113. package/dist/types/components/pages/CoursePhaseParticipationsTable/table/participationFilters.d.ts +2 -0
  114. package/dist/types/components/pages/CoursePhaseParticipationsTable/table/participationRow.d.ts +35 -0
  115. package/dist/types/components/pages/CoursePhaseParticipationsTable/utils/downloadParticipations.d.ts +3 -0
  116. package/dist/types/components/pages/CoursePhaseParticipationsTable/utils/updateBatch.d.ts +5 -0
  117. package/dist/types/components/pages/Mailing/CoursePhaseMailing.d.ts +6 -0
  118. package/dist/types/components/pages/Mailing/components/AvailableMailPlaceholders.d.ts +12 -0
  119. package/dist/types/components/pages/Mailing/components/ConfirmSendEmailDialog.d.ts +8 -0
  120. package/dist/types/components/pages/Mailing/components/MailingEditor.d.ts +12 -0
  121. package/dist/types/components/pages/Mailing/components/ManualMailSending.d.ts +7 -0
  122. package/dist/types/components/pages/Mailing/components/SettingsCard.d.ts +7 -0
  123. package/dist/types/components/table/GroupActionDialog.d.ts +11 -0
  124. package/dist/types/components/table/SortableHeader.d.ts +4 -0
  125. package/dist/types/components/ui/alert.d.ts +1 -1
  126. package/dist/types/components/ui/badge.d.ts +1 -1
  127. package/dist/types/components/ui/button.d.ts +1 -1
  128. package/dist/types/components/ui/label.d.ts +1 -1
  129. package/dist/types/components/ui/sheet.d.ts +1 -1
  130. package/dist/types/components/ui/sidebar.d.ts +1 -1
  131. package/dist/types/components/ui/toast.d.ts +1 -1
  132. package/dist/types/components/ui/toggle-group.d.ts +2 -2
  133. package/dist/types/components/ui/toggle.d.ts +2 -2
  134. package/dist/types/contexts/DarkModeProvider.d.ts +11 -0
  135. package/dist/types/index.d.ts +2 -0
  136. package/dist/types/lib/formatFileSize.d.ts +1 -0
  137. package/dist/types/lib/getCountries.d.ts +5 -0
  138. package/dist/types/lib/getGravatarUrl.d.ts +1 -0
  139. package/dist/types/lib/getStatusBadge.d.ts +3 -0
  140. package/dist/types/lib/getStatusColor.d.ts +2 -0
  141. package/dist/types/lib/index.d.ts +6 -0
  142. package/dist/types/lib/openFileDownload.d.ts +6 -0
  143. package/package.json +45 -27
  144. package/tailwind-config.js +50 -0
@@ -0,0 +1,34 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as LucideIcons from 'lucide-react';
3
+ const fallback = _jsx("div", { style: { width: 24, height: 24 } });
4
+ const iconRegistry = new Map();
5
+ const registerIcon = (name, icon) => {
6
+ iconRegistry.set(name, icon);
7
+ iconRegistry.set(name.toLowerCase(), icon);
8
+ };
9
+ const toKebabCase = (value) => value.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
10
+ const toPascalCase = (value) => value
11
+ .split(/[-_\s]+/)
12
+ .filter(Boolean)
13
+ .map((part) => part.charAt(0).toUpperCase() + part.slice(1).toLowerCase())
14
+ .join('');
15
+ for (const [exportName, icon] of Object.entries(LucideIcons)) {
16
+ if (typeof icon !== 'function' && typeof icon !== 'object') {
17
+ continue;
18
+ }
19
+ registerIcon(exportName, icon);
20
+ registerIcon(toKebabCase(exportName), icon);
21
+ }
22
+ const DynamicIcon = ({ name, ...props }) => {
23
+ const normalizedName = name.trim();
24
+ const LucideIcon = iconRegistry.get(normalizedName) ??
25
+ iconRegistry.get(normalizedName.toLowerCase()) ??
26
+ iconRegistry.get(toPascalCase(normalizedName));
27
+ if (!LucideIcon) {
28
+ console.error(`Icon "${name}" does not exist in lucide-react`);
29
+ return fallback;
30
+ }
31
+ return _jsx(LucideIcon, { ...props });
32
+ };
33
+ export default DynamicIcon;
34
+ //# sourceMappingURL=DynamicIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicIcon.js","sourceRoot":"","sources":["../../src/components/DynamicIcon.tsx"],"names":[],"mappings":";AAEA,OAAO,KAAK,WAAW,MAAM,cAAc,CAAA;AAE3C,MAAM,QAAQ,GAAG,cAAK,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAI,CAAA;AAQ1D,MAAM,YAAY,GAAG,IAAI,GAAG,EAA+B,CAAA;AAE3D,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,IAAyB,EAAE,EAAE;IAC/D,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC5B,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAA;AAC5C,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAA;AAEjG,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE,CACrC,KAAK;KACF,KAAK,CAAC,SAAS,CAAC;KAChB,MAAM,CAAC,OAAO,CAAC;KACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;KACzE,IAAI,CAAC,EAAE,CAAC,CAAA;AAEb,KAAK,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;IAC7D,IAAI,OAAO,IAAI,KAAK,UAAU,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3D,SAAQ;IACV,CAAC;IAED,YAAY,CAAC,UAAU,EAAE,IAA2B,CAAC,CAAA;IACrD,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,IAA2B,CAAC,CAAA;AACpE,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,EAAa,EAAE,EAAE;IACpD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;IAElC,MAAM,UAAU,GACd,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC;QAChC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;QAC9C,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAA;IAEhD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,SAAS,IAAI,kCAAkC,CAAC,CAAA;QAC9D,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,OAAO,KAAC,UAAU,OAAK,KAAK,GAAI,CAAA;AAClC,CAAC,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useMemo } from 'react';
3
+ import { Badge, Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '../components';
4
+ import { AlignLeft, CheckSquare } from 'lucide-react';
5
+ export const ExportedApplicationAnswerTable = ({ applicationAnswers, }) => {
6
+ const orderedAnswers = useMemo(() => {
7
+ if (!applicationAnswers)
8
+ return [];
9
+ return applicationAnswers?.sort((a, b) => a.orderNum - b.orderNum);
10
+ }, [applicationAnswers]);
11
+ return (_jsx("div", { className: 'overflow-x-auto', children: _jsxs(Table, { children: [_jsx(TableHeader, { children: _jsxs(TableRow, { children: [_jsx(TableHead, { className: 'w-1/12', children: "Type" }), _jsx(TableHead, { className: 'w-1/5', children: "Key" }), _jsx(TableHead, { children: "Answer" })] }) }), _jsx(TableBody, { children: orderedAnswers.map((answer, index) => {
12
+ return (_jsxs(TableRow, { className: index % 2 === 0 ? 'bg-muted/50' : '', children: [_jsx(TableCell, { children: answer.type === 'multiselect' ? (_jsx(CheckSquare, { className: 'h-4 w-4 text-muted-foreground' })) : (_jsx(AlignLeft, { className: 'h-4 w-4 text-muted-foreground' })) }), _jsx(TableCell, { className: 'font-medium', children: _jsx("div", { className: 'flex items-center space-x-2', children: _jsx("span", { children: answer.key }) }) }), _jsx(TableCell, { children: Array.isArray(answer.answer) ? (_jsx("div", { children: answer.answer.map((item, idx) => (_jsx(Badge, { className: 'mr-1', children: item }, idx))) })) : (_jsx("p", { className: 'whitespace-pre-wrap break-words', children: answer.answer })) })] }, answer.key));
13
+ }) })] }) }));
14
+ };
15
+ //# sourceMappingURL=ExportedApplicationAnswerTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExportedApplicationAnswerTable.js","sourceRoot":"","sources":["../../src/components/ExportedApplicationAnswerTable.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACnG,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAMrD,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,EAC7C,kBAAkB,GACkB,EAAE,EAAE;IACxC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE;QAClC,IAAI,CAAC,kBAAkB;YAAE,OAAO,EAAE,CAAA;QAClC,OAAO,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAA;IACpE,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAA;IAExB,OAAO,CACL,cAAK,SAAS,EAAC,iBAAiB,YAC9B,MAAC,KAAK,eACJ,KAAC,WAAW,cACV,MAAC,QAAQ,eACP,KAAC,SAAS,IAAC,SAAS,EAAC,QAAQ,qBAAiB,EAC9C,KAAC,SAAS,IAAC,SAAS,EAAC,OAAO,oBAAgB,EAC5C,KAAC,SAAS,yBAAmB,IACpB,GACC,EACd,KAAC,SAAS,cACP,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;wBACpC,OAAO,CACL,MAAC,QAAQ,IAAkB,SAAS,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aACxE,KAAC,SAAS,cACP,MAAM,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,CAC/B,KAAC,WAAW,IAAC,SAAS,EAAC,+BAA+B,GAAG,CAC1D,CAAC,CAAC,CAAC,CACF,KAAC,SAAS,IAAC,SAAS,EAAC,+BAA+B,GAAG,CACxD,GACS,EAEZ,KAAC,SAAS,IAAC,SAAS,EAAC,aAAa,YAChC,cAAK,SAAS,EAAC,6BAA6B,YAC1C,yBAAO,MAAM,CAAC,GAAG,GAAQ,GACrB,GACI,EACZ,KAAC,SAAS,cACP,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAC9B,wBACG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,KAAC,KAAK,IAAW,SAAS,EAAC,MAAM,YAC9B,IAAI,IADK,GAAG,CAEP,CACT,CAAC,GACE,CACP,CAAC,CAAC,CAAC,CACF,YAAG,SAAS,EAAC,iCAAiC,YAAE,MAAM,CAAC,MAAM,GAAK,CACnE,GACS,KA1BC,MAAM,CAAC,GAAG,CA2Bd,CACZ,CAAA;oBACH,CAAC,CAAC,GACQ,IACN,GACJ,CACP,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,43 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { Download, Trash2, File } from 'lucide-react';
4
+ import { Button, Card, CardContent, DeleteConfirmation } from '../components';
5
+ import { cn } from '../lib/utils';
6
+ import { formatFileSize } from '../lib/formatFileSize';
7
+ import { openFileDownload } from '../lib/openFileDownload';
8
+ export const FileList = ({ files, onDelete, allowDelete = false, className, }) => {
9
+ const [deleteDialogOpen, setDeleteDialogOpen] = useState(false);
10
+ const [fileToDelete, setFileToDelete] = useState(null);
11
+ const handleDownload = async (file) => {
12
+ try {
13
+ await openFileDownload({ downloadUrl: file.downloadUrl, fileName: file.originalFilename });
14
+ }
15
+ catch (error) {
16
+ console.error('Download failed:', error);
17
+ }
18
+ };
19
+ const promptDelete = (fileId) => {
20
+ setFileToDelete(fileId);
21
+ setDeleteDialogOpen(true);
22
+ };
23
+ const handleDeleteConfirmation = async (confirmed) => {
24
+ if (confirmed && fileToDelete && onDelete) {
25
+ try {
26
+ await onDelete(fileToDelete);
27
+ }
28
+ catch (error) {
29
+ console.error('Delete failed:', error);
30
+ }
31
+ }
32
+ setFileToDelete(null);
33
+ };
34
+ const formatDate = (dateString) => {
35
+ const date = new Date(dateString);
36
+ return date.toLocaleDateString() + ' ' + date.toLocaleTimeString();
37
+ };
38
+ if (!files || files.length === 0) {
39
+ return (_jsxs("div", { className: cn('text-center py-8 text-gray-500', className), children: [_jsx(File, { className: 'h-12 w-12 mx-auto mb-2 opacity-50' }), _jsx("p", { className: 'text-sm', children: "No files uploaded yet" })] }));
40
+ }
41
+ return (_jsxs("div", { className: cn('space-y-2', className), children: [files.map((file) => (_jsx(Card, { children: _jsx(CardContent, { className: 'p-4', children: _jsxs("div", { className: 'flex items-center justify-between', children: [_jsxs("div", { className: 'flex items-center gap-3 flex-1 min-w-0', children: [_jsx("div", { className: 'p-2 bg-primary/10 rounded', children: _jsx(File, { className: 'h-5 w-5 text-primary' }) }), _jsxs("div", { className: 'flex-1 min-w-0', children: [_jsx("p", { className: 'text-sm font-medium truncate', children: file.originalFilename }), _jsxs("div", { className: 'flex items-center gap-2 text-xs text-gray-500', children: [_jsx("span", { children: formatFileSize(file.sizeBytes) }), _jsx("span", { children: "\u2022" }), _jsx("span", { children: formatDate(file.createdAt) })] }), file.description && (_jsx("p", { className: 'text-xs text-gray-600 mt-1', children: file.description }))] })] }), _jsxs("div", { className: 'flex items-center gap-2', children: [_jsx(Button, { type: 'button', size: 'sm', variant: 'outline', onClick: () => handleDownload(file), disabled: !file.downloadUrl, children: _jsx(Download, { className: 'h-4 w-4' }) }), allowDelete && onDelete && (_jsx(Button, { type: 'button', size: 'sm', variant: 'outline', onClick: () => promptDelete(file.id), children: _jsx(Trash2, { className: 'h-4 w-4' }) }))] })] }) }) }, file.id))), _jsx(DeleteConfirmation, { isOpen: deleteDialogOpen, setOpen: setDeleteDialogOpen, onClick: handleDeleteConfirmation, deleteMessage: 'Are you sure you want to delete this file?' }), ' '] }));
42
+ };
43
+ //# sourceMappingURL=FileList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileList.js","sourceRoot":"","sources":["../../src/components/FileList.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import { Upload, X, File, Loader2 } from 'lucide-react';
4
+ import { useFileUpload } from '@tumaet/prompt-shared-state';
5
+ import { Button, Progress, Card, CardContent } from '../components';
6
+ import { cn } from '../lib/utils';
7
+ import { formatFileSize } from '../lib/formatFileSize';
8
+ export const FileUpload = ({ coursePhaseId, description, tags, accept, maxSizeMB = 50, onSuccess, onError, className, }) => {
9
+ const [selectedFile, setSelectedFile] = React.useState(null);
10
+ const [dragActive, setDragActive] = React.useState(false);
11
+ const fileInputRef = React.useRef(null);
12
+ const { upload, uploadProgress, isUploading } = useFileUpload({
13
+ onSuccess: (data) => {
14
+ setSelectedFile(null);
15
+ if (fileInputRef.current) {
16
+ fileInputRef.current.value = '';
17
+ }
18
+ onSuccess?.(data);
19
+ },
20
+ onError: (error) => {
21
+ console.error('Upload failed:', error);
22
+ onError?.(error);
23
+ },
24
+ });
25
+ const handleDrag = (e) => {
26
+ e.preventDefault();
27
+ e.stopPropagation();
28
+ if (e.type === 'dragenter' || e.type === 'dragover') {
29
+ setDragActive(true);
30
+ }
31
+ else if (e.type === 'dragleave') {
32
+ setDragActive(false);
33
+ }
34
+ };
35
+ const handleDrop = (e) => {
36
+ e.preventDefault();
37
+ e.stopPropagation();
38
+ setDragActive(false);
39
+ if (e.dataTransfer.files && e.dataTransfer.files[0]) {
40
+ handleFile(e.dataTransfer.files[0]);
41
+ }
42
+ };
43
+ const handleChange = (e) => {
44
+ e.preventDefault();
45
+ if (e.target.files && e.target.files[0]) {
46
+ handleFile(e.target.files[0]);
47
+ }
48
+ };
49
+ const handleFile = (file) => {
50
+ // Check file size
51
+ const fileSizeMB = file.size / (1024 * 1024);
52
+ if (fileSizeMB > maxSizeMB) {
53
+ setSelectedFile(null);
54
+ if (fileInputRef.current) {
55
+ fileInputRef.current.value = '';
56
+ }
57
+ onError?.(new Error(`File size exceeds ${maxSizeMB}MB limit`));
58
+ return;
59
+ }
60
+ setSelectedFile(file);
61
+ upload.mutate({
62
+ file,
63
+ coursePhaseId,
64
+ description,
65
+ tags,
66
+ });
67
+ };
68
+ const handleRemove = () => {
69
+ setSelectedFile(null);
70
+ if (fileInputRef.current) {
71
+ fileInputRef.current.value = '';
72
+ }
73
+ };
74
+ return (_jsx("div", { className: cn('w-full', className), children: !selectedFile ? (_jsxs("div", { className: cn('relative border-2 border-dashed rounded-lg p-8 text-center transition-colors', dragActive ? 'border-primary bg-primary/5' : 'border-gray-300 hover:border-primary', isUploading && 'pointer-events-none opacity-50'), onDragEnter: handleDrag, onDragLeave: handleDrag, onDragOver: handleDrag, onDrop: handleDrop, children: [_jsx("input", { ref: fileInputRef, type: 'file', className: 'hidden', onChange: handleChange, accept: accept, disabled: isUploading }), _jsxs("div", { className: 'flex flex-col items-center gap-4', children: [_jsx("div", { className: 'p-4 bg-primary/10 rounded-full', children: _jsx(Upload, { className: 'h-8 w-8 text-primary' }) }), _jsxs("div", { className: 'space-y-2', children: [_jsx("p", { className: 'text-sm font-medium', children: "Drag and drop your file here, or click to browse" }), _jsxs("p", { className: 'text-xs text-gray-500', children: ["Maximum file size: ", maxSizeMB, "MB"] })] }), _jsx(Button, { type: 'button', variant: 'outline', onClick: () => fileInputRef.current?.click(), disabled: isUploading, children: "Select File" })] })] })) : (_jsx(Card, { children: _jsxs(CardContent, { className: 'p-4', children: [_jsxs("div", { className: 'flex items-center justify-between', children: [_jsxs("div", { className: 'flex items-center gap-3 flex-1', children: [_jsx("div", { className: 'p-2 bg-primary/10 rounded', children: _jsx(File, { className: 'h-5 w-5 text-primary' }) }), _jsxs("div", { className: 'flex-1 min-w-0', children: [_jsx("p", { className: 'text-sm font-medium truncate', children: selectedFile.name }), _jsx("p", { className: 'text-xs text-gray-500', children: formatFileSize(selectedFile.size) })] })] }), _jsxs("div", { className: 'flex items-center gap-2', children: [!isUploading && (_jsx(Button, { type: 'button', size: 'sm', variant: 'ghost', onClick: handleRemove, disabled: isUploading, children: _jsx(X, { className: 'h-4 w-4' }) })), isUploading && _jsx(Loader2, { className: 'h-5 w-5 animate-spin text-primary' })] })] }), isUploading && uploadProgress > 0 && (_jsxs("div", { className: 'mt-4', children: [_jsx(Progress, { value: uploadProgress, className: 'h-2' }), _jsxs("p", { className: 'text-xs text-gray-500 mt-1 text-right', children: [uploadProgress, "%"] })] }))] }) })) }));
75
+ };
76
+ //# sourceMappingURL=FileUpload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileUpload.js","sourceRoot":"","sources":["../../src/components/FileUpload.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Badge } from '../components';
3
+ import { X } from 'lucide-react';
4
+ export const FilterBadge = ({ label, onRemove }) => {
5
+ return (_jsxs(Badge, { variant: 'secondary', className: 'cursor-pointer flex items-center gap-1', onClick: onRemove, children: [_jsx(X, { className: 'h-3 w-3' }), label] }));
6
+ };
7
+ //# sourceMappingURL=FilterBadge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterBadge.js","sourceRoot":"","sources":["../../src/components/FilterBadge.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAOhC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAoB,EAAE,EAAE;IACnE,OAAO,CACL,MAAC,KAAK,IACJ,OAAO,EAAC,WAAW,EACnB,SAAS,EAAC,wCAAwC,EAClD,OAAO,EAAE,QAAQ,aAEjB,KAAC,CAAC,IAAC,SAAS,EAAC,SAAS,GAAG,EACxB,KAAK,IACA,CACT,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Alert, AlertDescription, AlertTitle, Button, Card, CardContent, CardHeader, CardTitle, } from '../components';
3
+ import { AlertTriangle } from 'lucide-react';
4
+ import { useNavigate } from 'react-router-dom';
5
+ export const MissingConfig = ({ elements }) => {
6
+ const navigate = useNavigate();
7
+ return (_jsx(_Fragment, { children: elements.length > 0 && (_jsxs(Card, { className: 'mb-6 border-l-4 border-l-yellow-400', children: [_jsx(CardHeader, { children: _jsxs(CardTitle, { className: 'flex items-center', children: [_jsx(AlertTriangle, { className: 'mr-2 text-yellow-500' }), "Missing Configurations"] }) }), _jsx(CardContent, { children: _jsx("div", { className: 'space-y-2', children: elements.map((config) => (_jsxs(Alert, { className: 'flex items-start', children: [_jsx("div", { className: 'flex-grow', children: _jsxs("div", { className: 'flex items-center', children: [_jsx(config.icon, { className: 'h-4 w-4 text-yellow-500 mr-2 mt-1' }), _jsxs("div", { children: [_jsxs(AlertTitle, { className: 'mb-1', children: ["Missing: ", config.title] }), _jsx(AlertDescription, { children: config.description ||
8
+ `Please configure the ${config.title.toLowerCase()} to ensure proper functionality.` })] })] }) }), config.hide && (_jsx(Button, { variant: 'outline', size: 'sm', onClick: config.hide, className: 'ml-4 mt-1 whitespace-nowrap', children: "Hide Warning" })), _jsx(Button, { variant: 'outline', size: 'sm', onClick: () => navigate(config.link), className: 'ml-4 mt-1 whitespace-nowrap', children: "Configure" })] }, config.title))) }) })] })) }));
9
+ };
10
+ //# sourceMappingURL=MissingConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MissingConfig.js","sourceRoot":"","sources":["../../src/components/MissingConfig.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,KAAK,EACL,gBAAgB,EAChB,UAAU,EACV,MAAM,EACN,IAAI,EACJ,WAAW,EACX,UAAU,EACV,SAAS,GACV,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAc9C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAE,QAAQ,EAAsB,EAAE,EAAE;IAChE,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAE9B,OAAO,CACL,4BACG,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CACtB,MAAC,IAAI,IAAC,SAAS,EAAC,qCAAqC,aACnD,KAAC,UAAU,cACT,MAAC,SAAS,IAAC,SAAS,EAAC,mBAAmB,aACtC,KAAC,aAAa,IAAC,SAAS,EAAC,sBAAsB,GAAG,8BAExC,GACD,EACb,KAAC,WAAW,cACV,cAAK,SAAS,EAAC,WAAW,YACvB,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACxB,MAAC,KAAK,IAAoB,SAAS,EAAC,kBAAkB,aACpD,cAAK,SAAS,EAAC,WAAW,YACxB,eAAK,SAAS,EAAC,mBAAmB,aAChC,KAAC,MAAM,CAAC,IAAI,IAAC,SAAS,EAAC,mCAAmC,GAAG,EAC7D,0BACE,MAAC,UAAU,IAAC,SAAS,EAAC,MAAM,0BAAW,MAAM,CAAC,KAAK,IAAc,EACjE,KAAC,gBAAgB,cACd,MAAM,CAAC,WAAW;4DACjB,wBAAwB,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,kCAAkC,GACrE,IACf,IACF,GACF,EACL,MAAM,CAAC,IAAI,IAAI,CACd,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,MAAM,CAAC,IAAI,EACpB,SAAS,EAAC,6BAA6B,6BAGhC,CACV,EACD,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EACpC,SAAS,EAAC,6BAA6B,0BAGhC,KA9BC,MAAM,CAAC,KAAK,CA+BhB,CACT,CAAC,GACE,GACM,IACT,CACR,GACA,CACJ,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Alert, AlertDescription, AlertTitle, Card, CardContent, CardHeader, CardTitle, } from '../components';
3
+ import { AlertTriangle } from 'lucide-react';
4
+ export const MissingSettings = ({ elements }) => {
5
+ return (_jsx(_Fragment, { children: elements.length > 0 && (_jsxs(Card, { className: 'mb-6 border-l-4 border-l-yellow-400', children: [_jsx(CardHeader, { children: _jsxs(CardTitle, { className: 'flex items-center', children: [_jsx(AlertTriangle, { className: 'mr-2 text-yellow-500' }), "Missing Configurations"] }) }), _jsx(CardContent, { children: _jsx("div", { className: 'space-y-2', children: elements.map((config) => (_jsx(Alert, { className: 'flex items-start', children: _jsx("div", { className: 'flex-grow', children: _jsxs("div", { className: 'flex items-center', children: [_jsx(config.icon, { className: 'h-4 w-4 text-yellow-500 mr-2 mt-1' }), _jsxs("div", { children: [_jsxs(AlertTitle, { className: 'mb-1', children: ["Missing: ", config.title] }), _jsx(AlertDescription, { children: config.description ||
6
+ `Please configure the ${config.title.toLowerCase()} to ensure proper functionality.` })] })] }) }) }, config.title))) }) })] })) }));
7
+ };
8
+ //# sourceMappingURL=MissingSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MissingSettings.js","sourceRoot":"","sources":["../../src/components/MissingSettings.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,KAAK,EACL,gBAAgB,EAChB,UAAU,EACV,IAAI,EACJ,WAAW,EACX,UAAU,EACV,SAAS,GACV,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAa5C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,QAAQ,EAAwB,EAAE,EAAE;IACpE,OAAO,CACL,4BACG,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CACtB,MAAC,IAAI,IAAC,SAAS,EAAC,qCAAqC,aACnD,KAAC,UAAU,cACT,MAAC,SAAS,IAAC,SAAS,EAAC,mBAAmB,aACtC,KAAC,aAAa,IAAC,SAAS,EAAC,sBAAsB,GAAG,8BAExC,GACD,EACb,KAAC,WAAW,cACV,cAAK,SAAS,EAAC,WAAW,YACvB,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACxB,KAAC,KAAK,IAAoB,SAAS,EAAC,kBAAkB,YACpD,cAAK,SAAS,EAAC,WAAW,YACxB,eAAK,SAAS,EAAC,mBAAmB,aAChC,KAAC,MAAM,CAAC,IAAI,IAAC,SAAS,EAAC,mCAAmC,GAAG,EAC7D,0BACE,MAAC,UAAU,IAAC,SAAS,EAAC,MAAM,0BAAW,MAAM,CAAC,KAAK,IAAc,EACjE,KAAC,gBAAgB,cACd,MAAM,CAAC,WAAW;wDACjB,wBAAwB,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,kCAAkC,GACrE,IACf,IACF,GACF,IAZI,MAAM,CAAC,KAAK,CAahB,CACT,CAAC,GACE,GACM,IACT,CACR,GACA,CACJ,CAAA;AACH,CAAC,CAAA"}
@@ -11,11 +11,8 @@ export const ScoreLevelSelector = ({ selectedScore, onScoreChange, completed, de
11
11
  const isSelected = selectedScore === level;
12
12
  const descriptionID = `score-level-${level}-description`;
13
13
  const label = labelsByLevel?.[level] ?? config.title;
14
- const levelIndicators = showIndicators ? indicators?.[level] ?? [] : [];
15
- return (_jsxs("div", { className: cn('relative', hideUnselectedOnDesktop &&
16
- selectedScore !== undefined &&
17
- !isSelected &&
18
- 'lg:hidden'), children: [levelIndicators.length > 0 && (_jsx("div", { className: 'absolute -top-6 left-0 z-10 w-full', children: _jsx("div", { className: 'flex items-center justify-center gap-2 text-left', children: levelIndicators.map((indicator, index) => (_jsx("span", { className: 'flex items-center', children: indicator }, `${level}-indicator-${index}`))) }) })), _jsxs("button", { type: 'button', onClick: () => onScoreChange(level), disabled: completed, "aria-pressed": isSelected, "aria-disabled": completed, "aria-label": `Select ${label} score level`, "aria-describedby": descriptionID, className: cn('flex h-full w-full flex-col justify-start rounded-lg border-2 p-3 text-left text-sm transition-all', !isSelected && 'hover:bg-gray-100 dark:hover:bg-gray-800', isSelected
14
+ const levelIndicators = showIndicators ? (indicators?.[level] ?? []) : [];
15
+ return (_jsxs("div", { className: cn('relative', hideUnselectedOnDesktop && selectedScore !== undefined && !isSelected && 'lg:hidden'), children: [levelIndicators.length > 0 && (_jsx("div", { className: 'absolute -top-6 left-0 z-10 w-full', children: _jsx("div", { className: 'flex items-center justify-center gap-2 text-left', children: levelIndicators.map((indicator, index) => (_jsx("span", { className: 'flex items-center', children: indicator }, `${level}-indicator-${index}`))) }) })), _jsxs("button", { type: 'button', onClick: () => onScoreChange(level), disabled: completed, "aria-pressed": isSelected, "aria-disabled": completed, "aria-label": `Select ${label} score level`, "aria-describedby": descriptionID, className: cn('flex h-full w-full flex-col justify-start rounded-lg border-2 p-3 text-left text-sm transition-all', !isSelected && 'hover:bg-gray-100 dark:hover:bg-gray-800', isSelected
19
16
  ? cn(config.textColor, config.selectedBg)
20
17
  : 'bg-gray-50 dark:bg-gray-900', !completed && 'focus:ring-2 focus:ring-gray-400 focus:ring-offset-2', completed && 'cursor-not-allowed opacity-80', hasIndicators && 'mt-2', !selectedScore && config.border), children: [_jsxs("div", { className: 'mb-1 flex justify-between', children: [_jsx("span", { className: 'font-semibold', children: label }), completed && isSelected && (_jsx("span", { className: 'flex items-center gap-1', children: _jsx(LockIcon, { className: cn('h-4 w-4 text-muted-foreground', isSelected && 'dark:text-gray-200') }) }))] }), _jsx("p", { id: descriptionID, className: cn('line-clamp-3 text-muted-foreground', isSelected && 'dark:text-gray-200'), children: descriptionsByLevel[level] })] })] }, level));
21
18
  }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"ScoreLevelSelector.js","sourceRoot":"","sources":["../../src/components/ScoreLevelSelector.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScoreLevelSelector.js","sourceRoot":"","sources":["../../src/components/ScoreLevelSelector.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAExD,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAEhC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAcjD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAiB,CAAA;AAE7D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EACjC,aAAa,EACb,aAAa,EACb,SAAS,EACT,mBAAmB,EACnB,aAAa,EACb,cAAc,GAAG,IAAI,EACrB,UAAU,EACV,uBAAuB,GAAG,IAAI,EAC9B,SAAS,GACe,EAAE,EAAE;IAC5B,MAAM,aAAa,GACjB,cAAc,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAEvF,OAAO,CACL,cAAK,SAAS,EAAE,SAAS,YACtB,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACzB,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;YACpC,MAAM,UAAU,GAAG,aAAa,KAAK,KAAK,CAAA;YAC1C,MAAM,aAAa,GAAG,eAAe,KAAK,cAAc,CAAA;YACxD,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAA;YACpD,MAAM,eAAe,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YAEzE,OAAO,CACL,eAEE,SAAS,EAAE,EAAE,CACX,UAAU,EACV,uBAAuB,IAAI,aAAa,KAAK,SAAS,IAAI,CAAC,UAAU,IAAI,WAAW,CACrF,aAEA,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,CAC7B,cAAK,SAAS,EAAC,oCAAoC,YACjD,cAAK,SAAS,EAAC,kDAAkD,YAC9D,eAAe,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,CACzC,eAA0C,SAAS,EAAC,mBAAmB,YACpE,SAAS,IADD,GAAG,KAAK,cAAc,KAAK,EAAE,CAEjC,CACR,CAAC,GACE,GACF,CACP,EAED,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EACnC,QAAQ,EAAE,SAAS,kBACL,UAAU,mBACT,SAAS,gBACZ,UAAU,KAAK,cAAc,sBACvB,aAAa,EAC/B,SAAS,EAAE,EAAE,CACX,oGAAoG,EACpG,CAAC,UAAU,IAAI,0CAA0C,EACzD,UAAU;4BACR,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC;4BACzC,CAAC,CAAC,6BAA6B,EACjC,CAAC,SAAS,IAAI,sDAAsD,EACpE,SAAS,IAAI,+BAA+B,EAC5C,aAAa,IAAI,MAAM,EACvB,CAAC,aAAa,IAAI,MAAM,CAAC,MAAM,CAChC,aAED,eAAK,SAAS,EAAC,2BAA2B,aACxC,eAAM,SAAS,EAAC,eAAe,YAAE,KAAK,GAAQ,EAE7C,SAAS,IAAI,UAAU,IAAI,CAC1B,eAAM,SAAS,EAAC,yBAAyB,YACvC,KAAC,QAAQ,IACP,SAAS,EAAE,EAAE,CACX,+BAA+B,EAC/B,UAAU,IAAI,oBAAoB,CACnC,GACD,GACG,CACR,IACG,EAEN,YACE,EAAE,EAAE,aAAa,EACjB,SAAS,EAAE,EAAE,CACX,oCAAoC,EACpC,UAAU,IAAI,oBAAoB,CACnC,YAEA,mBAAmB,CAAC,KAAK,CAAC,GACzB,IACG,KA9DJ,KAAK,CA+DN,CACP,CAAA;QACH,CAAC,CAAC,GACE,CACP,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Card, CardDescription, CardHeader, CardTitle, Collapsible, CollapsibleContent, CollapsibleTrigger, } from '../components';
3
+ import { ChevronRight } from 'lucide-react';
4
+ export function SettingsCard({ children, icon, title, description }) {
5
+ return (_jsx(Card, { className: 'w-full', children: _jsxs(Collapsible, { children: [_jsx(CollapsibleTrigger, { className: 'group w-full', children: _jsx(CardHeader, { className: 'py-3 px-4', children: _jsxs("div", { className: 'flex items-center gap-3', children: [_jsx("div", { className: 'p-2 bg-gray-50 dark:bg-gray-900/30 rounded-lg text-gray-600 dark:text-gray-400', children: icon }), _jsxs("div", { className: 'flex-1 text-left', children: [_jsx(CardTitle, { className: 'text-lg text-gray-900 dark:text-gray-100', children: title }), _jsx(CardDescription, { className: 'mt-1 text-gray-600 dark:text-gray-400', children: description })] }), _jsx(ChevronRight, { className: '\n h-4 w-4 text-gray-400\n transition-transform duration-200\n group-data-[state=open]:rotate-90\n ' })] }) }) }), _jsxs(CollapsibleContent, { children: [_jsx("hr", {}), _jsx("div", { className: 'pt-4', children: children })] })] }) }));
6
+ }
7
+ //# sourceMappingURL=SettingsCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsCard.js","sourceRoot":"","sources":["../../src/components/SettingsCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,IAAI,EACJ,eAAe,EACf,UAAU,EACV,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAQ3C,MAAM,UAAU,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAqB;IACpF,OAAO,CACL,KAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,YACtB,MAAC,WAAW,eACV,KAAC,kBAAkB,IAAC,SAAS,EAAC,cAAc,YAC1C,KAAC,UAAU,IAAC,SAAS,EAAC,WAAW,YAC/B,eAAK,SAAS,EAAC,yBAAyB,aAEtC,cAAK,SAAS,EAAC,gFAAgF,YAC5F,IAAI,GACD,EAGN,eAAK,SAAS,EAAC,kBAAkB,aAC/B,KAAC,SAAS,IAAC,SAAS,EAAC,0CAA0C,YAAE,KAAK,GAAa,EACnF,KAAC,eAAe,IAAC,SAAS,EAAC,uCAAuC,YAC/D,WAAW,GACI,IACd,EAGN,KAAC,YAAY,IACX,SAAS,EAAC,uKAIT,GACD,IACE,GACK,GACM,EAErB,MAAC,kBAAkB,eACjB,cAAM,EACN,cAAK,SAAS,EAAC,MAAM,YAAE,QAAQ,GAAO,IACnB,IACT,GACT,CACR,CAAA;AACH,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Link } from 'react-router-dom';
3
+ import { ProfilePicture } from './StudentProfilePicture';
4
+ export const StudentAvatar = ({ student }) => {
5
+ const avatar = (_jsxs(_Fragment, { children: [_jsx(ProfilePicture, { email: student.email, firstName: student.firstName, lastName: student.lastName, size: 'sm' }), _jsxs("span", { className: 'text-xs transition-colors', children: [student.firstName, " ", student.lastName] })] }));
6
+ return student.id ? (_jsx(Link, { to: `/management/students/${student.id}`, className: 'flex items-center gap-2 hover:text-blue-500', children: avatar })) : (avatar);
7
+ };
8
+ export const RenderStudents = ({ students, fallback, className = '', }) => {
9
+ return (_jsx("div", { className: className, children: students.length === 0 ? (fallback) : (_jsx("ul", { className: 'flex flex-wrap gap-x-2', children: students.map((student) => (_jsx("li", { children: _jsx(StudentAvatar, { student: student }) }, student.id ?? student.email))) })) }));
10
+ };
11
+ //# sourceMappingURL=StudentAvatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StudentAvatar.js","sourceRoot":"","sources":["../../src/components/StudentAvatar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAEvC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAaxD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAE,OAAO,EAAsB,EAAE,EAAE;IAC/D,MAAM,MAAM,GAAG,CACb,8BACE,KAAC,cAAc,IACb,KAAK,EAAE,OAAO,CAAC,KAAK,EACpB,SAAS,EAAE,OAAO,CAAC,SAAS,EAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAC1B,IAAI,EAAC,IAAI,GACT,EAEF,gBAAM,SAAS,EAAC,2BAA2B,aACxC,OAAO,CAAC,SAAS,OAAG,OAAO,CAAC,QAAQ,IAChC,IACN,CACJ,CAAA;IAED,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAClB,KAAC,IAAI,IACH,EAAE,EAAE,wBAAwB,OAAO,CAAC,EAAE,EAAE,EACxC,SAAS,EAAC,6CAA6C,YAEtD,MAAM,GACF,CACR,CAAC,CAAC,CAAC,CACF,MAAM,CACP,CAAA;AACH,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,QAAQ,EACR,QAAQ,EACR,SAAS,GAAG,EAAE,GAKf,EAAE,EAAE;IACH,OAAO,CACL,cAAK,SAAS,EAAE,SAAS,YACtB,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACvB,QAAQ,CACT,CAAC,CAAC,CAAC,CACF,aAAI,SAAS,EAAC,wBAAwB,YACnC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CACzB,uBACE,KAAC,aAAa,IAAC,OAAO,EAAE,OAAO,GAAI,IAD5B,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,KAAK,CAE/B,CACN,CAAC,GACC,CACN,GACG,CACP,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { getGenderString, getStudyDegreeString, } from '@tumaet/prompt-shared-state';
3
+ import { Mail, Flag, Book, GraduationCap, Calendar, Hash, Users, KeyRound } from 'lucide-react';
4
+ import { Card, CardContent, CardHeader } from '../components';
5
+ import { getCountryName } from '../lib/getCountries';
6
+ import translations from '../lib/translations.json';
7
+ import { getStatusColor } from '../lib/getStatusColor';
8
+ import { ProfilePicture } from './StudentProfilePicture';
9
+ export const StudentProfile = ({ student, status }) => {
10
+ return (_jsxs(Card, { className: 'relative overflow-hidden', children: [_jsx("div", { className: `h-16 ${status ? getStatusColor(status) : 'bg-gray-100 dark:bg-muted'}` }), _jsx("div", { className: 'mb-4', children: _jsx(ProfilePicture, { email: student.email, firstName: student.firstName, lastName: student.lastName, size: 'lg', className: 'absolute border-4 border-background rounded-full transform left-3 -translate-y-1/2' }) }), _jsx(CardHeader, { children: _jsx("div", { className: 'flex flex-col sm:flex-row items-center', children: _jsxs("div", { className: 'flex-1 text-start sm:text-left', children: [_jsx("div", { className: 'flex flex-col items-start sm:items-start pt-6', children: _jsxs("h1", { className: 'text-2xl font-bold', children: [student.firstName, " ", student.lastName] }) }), _jsxs("div", { className: 'mt-2 grid grid-cols-1 sm:grid-cols-2 gap-2 text-sm text-muted-foreground', children: [_jsxs("div", { className: 'space-y-1', children: [_jsxs("p", { className: 'flex items-center justify-center sm:justify-start', children: [_jsx(Mail, { className: 'w-4 h-4 mr-2' }), _jsx("span", { className: 'truncate', children: student.email })] }), student.nationality && (_jsxs("p", { className: 'flex items-center justify-center sm:justify-start', children: [_jsx(Flag, { className: 'w-4 h-4 mr-2' }), getCountryName(student.nationality)] })), student.gender && (_jsxs("p", { className: 'flex items-center justify-center sm:justify-start', children: [_jsx(Users, { className: 'w-4 h-4 mr-2' }), getGenderString(student.gender)] }))] }), _jsxs("div", { className: 'space-y-1', children: [student.universityLogin && (_jsxs("p", { className: 'flex items-center justify-center sm:justify-start', children: [_jsx(KeyRound, { className: 'w-4 h-4 mr-2' }), _jsxs("strong", { className: 'mr-1', children: [translations.university['login-name'], ":"] }), student.universityLogin] })), student.matriculationNumber && (_jsxs("p", { className: 'flex items-center justify-center sm:justify-start', children: [_jsx(Hash, { className: 'w-4 h-4 mr-2' }), _jsx("strong", { className: 'mr-1', children: "Matriculation:" }), student.matriculationNumber] }))] })] })] }) }) }), _jsx(CardContent, { children: _jsxs("div", { className: 'grid grid-cols-1 sm:grid-cols-3 gap-4 text-sm', children: [_jsxs("div", { className: 'flex items-center', children: [_jsx(Book, { className: 'w-5 h-5 mr-2 text-primary' }), _jsx("strong", { className: 'mr-2', children: "Program:" }), _jsx("span", { className: 'text-muted-foreground', children: student.studyProgram || 'N/A' })] }), _jsxs("div", { className: 'flex items-center', children: [_jsx(GraduationCap, { className: 'w-5 h-5 mr-2 text-primary' }), _jsx("strong", { className: 'mr-2', children: "Degree:" }), _jsx("span", { className: 'text-muted-foreground', children: getStudyDegreeString(student.studyDegree) || 'N/A' })] }), _jsxs("div", { className: 'flex items-center', children: [_jsx(Calendar, { className: 'w-5 h-5 mr-2 text-primary' }), _jsx("strong", { className: 'mr-2', children: "Semester:" }), _jsx("span", { className: 'text-muted-foreground', children: student.currentSemester || 'N/A' })] })] }) })] }));
11
+ };
12
+ //# sourceMappingURL=StudentProfile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StudentProfile.js","sourceRoot":"","sources":["../../src/components/StudentProfile.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Avatar, AvatarImage, AvatarFallback } from '../components';
3
+ import { getGravatarUrl } from '../lib/getGravatarUrl';
4
+ const sizeStyles = {
5
+ lg: 'h-24 w-24 text-xl',
6
+ md: 'h-10 w-10 text-sm',
7
+ sm: 'h-6 w-6 text-[0.7em]',
8
+ };
9
+ export function ProfilePicture({ email, firstName, lastName, size = 'md', className = '', }) {
10
+ const initials = (firstName?.charAt(0) || 'N') + (lastName?.charAt(0) || 'A');
11
+ return (_jsxs(Avatar, { className: `${sizeStyles[size]} ${className}`, children: [_jsx(AvatarImage, { src: getGravatarUrl(email), alt: lastName }), _jsx(AvatarFallback, { className: 'w-full h-full flex items-center justify-center font-bold', children: initials })] }));
12
+ }
13
+ //# sourceMappingURL=StudentProfilePicture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StudentProfilePicture.js","sourceRoot":"","sources":["../../src/components/StudentProfilePicture.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAIrD,MAAM,UAAU,GAA+B;IAC7C,EAAE,EAAE,mBAAmB;IACvB,EAAE,EAAE,mBAAmB;IACvB,EAAE,EAAE,sBAAsB;CAC3B,CAAA;AAED,MAAM,UAAU,cAAc,CAAC,EAC7B,KAAK,EACL,SAAS,EACT,QAAQ,EACR,IAAI,GAAG,IAAI,EACX,SAAS,GAAG,EAAE,GAOf;IACC,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAA;IAE7E,OAAO,CACL,MAAC,MAAM,IAAC,SAAS,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE,aACnD,KAAC,WAAW,IAAC,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,QAAQ,GAAI,EAC1D,KAAC,cAAc,IAAC,SAAS,EAAC,0DAA0D,YACjF,QAAQ,GACM,IACV,CACV,CAAA;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Moon, Sun, Monitor } from 'lucide-react';
3
+ import { Button, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from '../components';
4
+ import { useDarkMode } from '../contexts/DarkModeProvider';
5
+ export function ThemeToggle() {
6
+ const { theme, setTheme } = useDarkMode();
7
+ return (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs(Button, { variant: 'outline', size: 'icon', className: 'w-[120px]', children: [theme === 'light' && _jsx(Sun, { className: 'h-4 w-4' }), theme === 'dark' && _jsx(Moon, { className: 'h-4 w-4' }), theme === 'system' && _jsx(Monitor, { className: 'h-4 w-4' }), _jsx("span", { className: 'ml-2', children: theme?.charAt(0).toUpperCase() + theme?.slice(1) })] }) }), _jsxs(DropdownMenuContent, { align: 'end', children: [_jsxs(DropdownMenuItem, { onClick: () => setTheme('light'), children: [_jsx(Sun, { className: 'mr-2 h-4 w-4' }), _jsx("span", { children: "Light" })] }), _jsxs(DropdownMenuItem, { onClick: () => setTheme('dark'), children: [_jsx(Moon, { className: 'mr-2 h-4 w-4' }), _jsx("span", { children: "Dark" })] }), _jsxs(DropdownMenuItem, { onClick: () => setTheme('system'), children: [_jsx(Monitor, { className: 'mr-2 h-4 w-4' }), _jsx("span", { children: "System" })] })] })] }));
8
+ }
9
+ //# sourceMappingURL=ThemeToggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeToggle.js","sourceRoot":"","sources":["../../src/components/ThemeToggle.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEjD,OAAO,EACL,MAAM,EACN,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAEzD,MAAM,UAAU,WAAW;IACzB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAA;IAEzC,OAAO,CACL,MAAC,YAAY,eACX,KAAC,mBAAmB,IAAC,OAAO,kBAC1B,MAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,MAAM,EAAC,SAAS,EAAC,WAAW,aACxD,KAAK,KAAK,OAAO,IAAI,KAAC,GAAG,IAAC,SAAS,EAAC,SAAS,GAAG,EAChD,KAAK,KAAK,MAAM,IAAI,KAAC,IAAI,IAAC,SAAS,EAAC,SAAS,GAAG,EAChD,KAAK,KAAK,QAAQ,IAAI,KAAC,OAAO,IAAC,SAAS,EAAC,SAAS,GAAG,EACtD,eAAM,SAAS,EAAC,MAAM,YAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAQ,IACzE,GACW,EACtB,MAAC,mBAAmB,IAAC,KAAK,EAAC,KAAK,aAC9B,MAAC,gBAAgB,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,aAChD,KAAC,GAAG,IAAC,SAAS,EAAC,cAAc,GAAG,EAChC,mCAAkB,IACD,EACnB,MAAC,gBAAgB,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,aAC/C,KAAC,IAAI,IAAC,SAAS,EAAC,cAAc,GAAG,EACjC,kCAAiB,IACA,EACnB,MAAC,gBAAgB,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,aACjD,KAAC,OAAO,IAAC,SAAS,EAAC,cAAc,GAAG,EACpC,oCAAmB,IACF,IACC,IACT,CAChB,CAAA;AACH,CAAC"}
@@ -13,4 +13,30 @@ export * from './SaveChangesAlert';
13
13
  export * from './ScoreLevelSelector';
14
14
  export * from './UnauthorizedPage';
15
15
  export * from './getLevelConfig';
16
+ export { default as DynamicIcon } from './DynamicIcon';
17
+ export * from './ExportedApplicationAnswerTable';
18
+ export * from './FileList';
19
+ export * from './FileUpload';
20
+ export * from './FilterBadge';
21
+ export * from './MissingConfig';
22
+ export * from './MissingSettings';
23
+ export * from './SettingsCard';
24
+ export * from './StudentAvatar';
25
+ export * from './StudentProfile';
26
+ export * from './StudentProfilePicture';
27
+ export * from './ThemeToggle';
28
+ export * from './pages/CoursePhaseParticipationsTable/CoursePhaseParticipationsTable';
29
+ export * from './pages/CoursePhaseParticipationsTable/table/participationActions';
30
+ export * from './pages/CoursePhaseParticipationsTable/table/participationColumns';
31
+ export * from './pages/CoursePhaseParticipationsTable/table/participationFilters';
32
+ export * from './pages/CoursePhaseParticipationsTable/table/participationRow';
33
+ export * from './pages/CoursePhaseParticipationsTable/utils/downloadParticipations';
34
+ export * from './pages/CoursePhaseParticipationsTable/utils/updateBatch';
35
+ export * from './pages/Mailing/CoursePhaseMailing';
36
+ export * from './pages/Mailing/components/AvailableMailPlaceholders';
37
+ export * from './pages/Mailing/components/ConfirmSendEmailDialog';
38
+ export * from './pages/Mailing/components/MailingEditor';
39
+ export * from './pages/Mailing/components/ManualMailSending';
40
+ export { SettingsCard as MailingSettingsCard } from './pages/Mailing/components/SettingsCard';
41
+ export * from './table/GroupActionDialog';
16
42
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAA;AACpB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAA;AACpB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAA;AACtD,cAAc,kCAAkC,CAAA;AAChD,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,eAAe,CAAA;AAC7B,cAAc,uEAAuE,CAAA;AACrF,cAAc,mEAAmE,CAAA;AACjF,cAAc,mEAAmE,CAAA;AACjF,cAAc,mEAAmE,CAAA;AACjF,cAAc,+DAA+D,CAAA;AAC7E,cAAc,qEAAqE,CAAA;AACnF,cAAc,0DAA0D,CAAA;AACxE,cAAc,oCAAoC,CAAA;AAClD,cAAc,sDAAsD,CAAA;AACpE,cAAc,mDAAmD,CAAA;AACjE,cAAc,0CAA0C,CAAA;AACxD,cAAc,8CAA8C,CAAA;AAC5D,OAAO,EAAE,YAAY,IAAI,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAC7F,cAAc,2BAA2B,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  /* eslint-disable @typescript-eslint/no-shadow */
3
3
  import * as React from 'react';
4
- import { BubbleMenu } from '@tiptap/react';
4
+ import { BubbleMenu } from '@tiptap/react/menus';
5
5
  import { LinkEditBlock } from '../link/link-edit-block';
6
6
  import { LinkPopoverBlock } from '../link/link-popover-block';
7
7
  export const LinkBubbleMenu = ({ editor }) => {
@@ -57,9 +57,9 @@ export const LinkBubbleMenu = ({ editor }) => {
57
57
  setShowEdit(false);
58
58
  updateLinkState();
59
59
  }, [editor, updateLinkState]);
60
- return (_jsx(BubbleMenu, { editor: editor, shouldShow: shouldShow, tippyOptions: {
60
+ return (_jsx(BubbleMenu, { editor: editor, shouldShow: shouldShow, options: {
61
61
  placement: 'bottom-start',
62
- onHidden: () => setShowEdit(false),
62
+ onHide: () => setShowEdit(false),
63
63
  }, children: showEdit ? (_jsx(LinkEditBlock, { defaultUrl: linkAttrs.href, defaultText: selectedText, defaultIsNewTab: linkAttrs.target === '_blank', onSave: onSetLink, className: 'w-full min-w-80 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none' })) : (_jsx(LinkPopoverBlock, { onClear: onUnsetLink, url: linkAttrs.href, onEdit: handleEdit })) }));
64
64
  };
65
65
  //# sourceMappingURL=link-bubble-menu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"link-bubble-menu.js","sourceRoot":"","sources":["../../../../../src/components/minimal-tiptap/components/bubble-menu/link-bubble-menu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"link-bubble-menu.js","sourceRoot":"","sources":["../../../../../src/components/minimal-tiptap/components/bubble-menu/link-bubble-menu.tsx"],"names":[],"mappings":"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"}
@@ -2,11 +2,18 @@ import { CodeBlockLowlight as TiptapCodeBlockLowlight } from '@tiptap/extension-
2
2
  import { common, createLowlight } from 'lowlight';
3
3
  export const CodeBlockLowlight = TiptapCodeBlockLowlight.extend({
4
4
  addOptions() {
5
+ const parentOptions = this.parent?.();
5
6
  return {
6
- ...this.parent?.(),
7
+ ...parentOptions,
8
+ languageClassPrefix: parentOptions?.languageClassPrefix ?? 'language-',
9
+ exitOnTripleEnter: parentOptions?.exitOnTripleEnter ?? true,
10
+ exitOnArrowDown: parentOptions?.exitOnArrowDown ?? true,
7
11
  lowlight: createLowlight(common),
8
12
  defaultLanguage: null,
13
+ enableTabIndentation: parentOptions?.enableTabIndentation ?? false,
14
+ tabSize: parentOptions?.tabSize ?? 4,
9
15
  HTMLAttributes: {
16
+ ...(parentOptions?.HTMLAttributes ?? {}),
10
17
  class: 'block-node',
11
18
  },
12
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"code-block-lowlight.js","sourceRoot":"","sources":["../../../../../src/components/minimal-tiptap/extensions/code-block-lowlight/code-block-lowlight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,IAAI,uBAAuB,EAAE,MAAM,uCAAuC,CAAA;AACpG,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAEjD,MAAM,CAAC,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,MAAM,CAAC;IAC9D,UAAU;QACR,OAAO;YACL,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE;YAClB,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC;YAChC,eAAe,EAAE,IAAI;YACrB,cAAc,EAAE;gBACd,KAAK,EAAE,YAAY;aACpB;SACF,CAAA;IACH,CAAC;CACF,CAAC,CAAA;AAEF,eAAe,iBAAiB,CAAA"}
1
+ {"version":3,"file":"code-block-lowlight.js","sourceRoot":"","sources":["../../../../../src/components/minimal-tiptap/extensions/code-block-lowlight/code-block-lowlight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,IAAI,uBAAuB,EAAE,MAAM,uCAAuC,CAAA;AACpG,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAEjD,MAAM,CAAC,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,MAAM,CAAC;IAC9D,UAAU;QACR,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAA;QAErC,OAAO;YACL,GAAG,aAAa;YAChB,mBAAmB,EAAE,aAAa,EAAE,mBAAmB,IAAI,WAAW;YACtE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,IAAI,IAAI;YAC3D,eAAe,EAAE,aAAa,EAAE,eAAe,IAAI,IAAI;YACvD,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC;YAChC,eAAe,EAAE,IAAI;YACrB,oBAAoB,EAAE,aAAa,EAAE,oBAAoB,IAAI,KAAK;YAClE,OAAO,EAAE,aAAa,EAAE,OAAO,IAAI,CAAC;YACpC,cAAc,EAAE;gBACd,GAAG,CAAC,aAAa,EAAE,cAAc,IAAI,EAAE,CAAC;gBACxC,KAAK,EAAE,YAAY;aACpB;SACF,CAAA;IACH,CAAC;CACF,CAAC,CAAA;AAEF,eAAe,iBAAiB,CAAA"}
@@ -77,15 +77,20 @@ const copyLink = async (props, options) => {
77
77
  export const Image = TiptapImage.extend({
78
78
  atom: true,
79
79
  addOptions() {
80
+ const parentOptions = this.parent?.();
80
81
  return {
81
- ...this.parent?.(),
82
+ ...parentOptions,
83
+ inline: parentOptions?.inline ?? false,
84
+ allowBase64: parentOptions?.allowBase64 ?? false,
85
+ HTMLAttributes: parentOptions?.HTMLAttributes ?? {},
86
+ resize: parentOptions?.resize ?? false,
82
87
  allowedMimeTypes: [],
83
88
  maxFileSize: 0,
84
89
  uploadFn: undefined,
85
90
  onToggle: undefined,
86
91
  downloadImage: undefined,
87
92
  copyImage: undefined,
88
- copyLink: undefined
93
+ copyLink: undefined,
89
94
  };
90
95
  },
91
96
  addAttributes() {
@@ -1 +1 @@
1
- {"version":3,"file":"image.js","sourceRoot":"","sources":["../../../../../src/components/minimal-tiptap/extensions/image/image.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image.js","sourceRoot":"","sources":["../../../../../src/components/minimal-tiptap/extensions/image/image.ts"],"names":[],"mappings":"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"}