@tumaet/prompt-ui-components 0.0.4 → 0.0.6
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/components/DatePicker.js +4 -4
- package/dist/components/DateRangePicker.js +4 -4
- package/dist/components/DeleteConfirmationDialog.js +1 -1
- package/dist/components/ErrorPage.js +2 -2
- package/dist/components/MultiSelect.js +6 -6
- package/dist/components/UnauthorizedPage.js +3 -3
- package/dist/components/index.js +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/minimal-tiptap/components/image/image-edit-block.js +3 -3
- package/dist/components/minimal-tiptap/components/image/image-edit-dialog.js +1 -1
- package/dist/components/minimal-tiptap/components/link/link-edit-block.js +5 -5
- package/dist/components/minimal-tiptap/components/link/link-edit-popover.js +1 -1
- package/dist/components/minimal-tiptap/components/link/link-popover-block.js +1 -1
- package/dist/components/minimal-tiptap/components/section/one.js +2 -2
- package/dist/components/minimal-tiptap/components/section/three.js +3 -3
- package/dist/components/minimal-tiptap/components/shortcut-key.js +1 -1
- package/dist/components/minimal-tiptap/components/spinner.js +1 -1
- package/dist/components/minimal-tiptap/components/toolbar-button.js +3 -3
- package/dist/components/minimal-tiptap/components/toolbar-section.js +2 -2
- package/dist/components/minimal-tiptap/extensions/image/components/image-actions.js +4 -4
- package/dist/components/minimal-tiptap/extensions/image/components/image-overlay.js +1 -1
- package/dist/components/minimal-tiptap/extensions/image/components/image-view-block.js +1 -1
- package/dist/components/minimal-tiptap/extensions/image/components/resize-handle.js +1 -1
- package/dist/components/minimal-tiptap/form-description-tiptap.js +2 -2
- package/dist/components/minimal-tiptap/hooks/use-minimal-tiptap.js +1 -1
- package/dist/components/minimal-tiptap/mailing-tiptap.js +2 -2
- package/dist/components/minimal-tiptap/minimal-tiptap.js +2 -2
- package/dist/components/table/GroupActionDialog.js +2 -2
- package/dist/components/table/SortableHeader.js +1 -1
- package/dist/components/ui/accordion.js +1 -1
- package/dist/components/ui/alert-dialog.js +2 -2
- package/dist/components/ui/alert.js +1 -1
- package/dist/components/ui/avatar.js +1 -1
- package/dist/components/ui/badge.js +1 -1
- package/dist/components/ui/breadcrumb.js +1 -1
- package/dist/components/ui/button.js +1 -1
- package/dist/components/ui/calendar.js +2 -2
- package/dist/components/ui/card.js +1 -1
- package/dist/components/ui/chart.js +1 -1
- package/dist/components/ui/checkbox.js +1 -1
- package/dist/components/ui/command.js +2 -2
- package/dist/components/ui/dialog.js +1 -1
- package/dist/components/ui/dropdown-menu.js +1 -1
- package/dist/components/ui/form.js +2 -2
- package/dist/components/ui/input.js +1 -1
- package/dist/components/ui/label.js +1 -1
- package/dist/components/ui/popover.js +1 -1
- package/dist/components/ui/progress.js +1 -1
- package/dist/components/ui/radio-group.js +1 -1
- package/dist/components/ui/scroll-area.js +1 -1
- package/dist/components/ui/select.js +1 -1
- package/dist/components/ui/separator.js +1 -1
- package/dist/components/ui/sheet.js +1 -1
- package/dist/components/ui/sidebar.js +8 -8
- package/dist/components/ui/skeleton.js +1 -1
- package/dist/components/ui/switch.js +1 -1
- package/dist/components/ui/table.js +1 -1
- package/dist/components/ui/tabs.js +1 -1
- package/dist/components/ui/textarea.js +1 -1
- package/dist/components/ui/toast.js +1 -1
- package/dist/components/ui/toaster.js +2 -2
- package/dist/components/ui/toggle-group.js +2 -2
- package/dist/components/ui/toggle.js +1 -1
- package/dist/components/ui/tooltip.js +1 -1
- package/dist/index.css +2 -105
- package/dist/types/components/index.d.ts +0 -1
- package/dist/types/components/minimal-tiptap/components/image/image-edit-dialog.d.ts +1 -1
- package/dist/types/components/minimal-tiptap/components/link/link-edit-popover.d.ts +1 -1
- package/dist/types/components/minimal-tiptap/components/section/five.d.ts +1 -1
- package/dist/types/components/minimal-tiptap/components/section/four.d.ts +1 -1
- package/dist/types/components/minimal-tiptap/components/section/mailingPlaceholders.d.ts +1 -1
- package/dist/types/components/minimal-tiptap/components/section/one.d.ts +1 -1
- package/dist/types/components/minimal-tiptap/components/section/three.d.ts +1 -1
- package/dist/types/components/minimal-tiptap/components/section/two.d.ts +1 -1
- package/dist/types/components/minimal-tiptap/components/toolbar-button.d.ts +1 -1
- package/dist/types/components/minimal-tiptap/components/toolbar-section.d.ts +1 -1
- package/dist/types/components/ui/sidebar.d.ts +2 -2
- package/dist/types/hooks/use-toast.d.ts +1 -1
- package/package.json +7 -5
- package/src/index.css +1 -24
- package/dist/components/ExportedApplicationAnswerTable.js +0 -16
- package/dist/components/ExportedApplicationAnswerTable.js.map +0 -1
- package/dist/components/MissingConfig.js +0 -12
- package/dist/components/MissingConfig.js.map +0 -1
- package/dist/components/StudentProfile.js +0 -14
- package/dist/components/StudentProfile.js.map +0 -1
- package/dist/components/ThemeToggle.js +0 -10
- package/dist/components/ThemeToggle.js.map +0 -1
- package/dist/components/pages/CoursePhaseParticpationsTable/CoursePhaseParticipationsTablePage.js +0 -71
- package/dist/components/pages/CoursePhaseParticpationsTable/CoursePhaseParticipationsTablePage.js.map +0 -1
- package/dist/components/pages/CoursePhaseParticpationsTable/components/FilterMenu.js +0 -43
- package/dist/components/pages/CoursePhaseParticpationsTable/components/FilterMenu.js.map +0 -1
- package/dist/components/pages/CoursePhaseParticpationsTable/components/GroupActionsMenu.js +0 -50
- package/dist/components/pages/CoursePhaseParticpationsTable/components/GroupActionsMenu.js.map +0 -1
- package/dist/components/pages/CoursePhaseParticpationsTable/components/columns.js +0 -84
- package/dist/components/pages/CoursePhaseParticpationsTable/components/columns.js.map +0 -1
- package/dist/components/pages/CoursePhaseParticpationsTable/interfaces/ExtraParticipationTableData.js +0 -2
- package/dist/components/pages/CoursePhaseParticpationsTable/interfaces/ExtraParticipationTableData.js.map +0 -1
- package/dist/components/pages/CoursePhaseParticpationsTable/utils/downloadParticipations.js +0 -70
- package/dist/components/pages/CoursePhaseParticpationsTable/utils/downloadParticipations.js.map +0 -1
- package/dist/components/pages/Mailing/CoursePhaseMailing.js +0 -88
- package/dist/components/pages/Mailing/CoursePhaseMailing.js.map +0 -1
- package/dist/components/pages/Mailing/components/AvailableMailPlaceholders.js +0 -61
- package/dist/components/pages/Mailing/components/AvailableMailPlaceholders.js.map +0 -1
- package/dist/components/pages/Mailing/components/ConfirmSendEmailDialog.js +0 -35
- package/dist/components/pages/Mailing/components/ConfirmSendEmailDialog.js.map +0 -1
- package/dist/components/pages/Mailing/components/MailingEditor.js +0 -29
- package/dist/components/pages/Mailing/components/MailingEditor.js.map +0 -1
- package/dist/components/pages/Mailing/components/ManualMailSending.js +0 -35
- package/dist/components/pages/Mailing/components/ManualMailSending.js.map +0 -1
- package/dist/components/pages/Mailing/components/SettingsCard.js +0 -14
- package/dist/components/pages/Mailing/components/SettingsCard.js.map +0 -1
- package/dist/types/components/ExportedApplicationAnswerTable.d.ts +0 -6
- package/dist/types/components/MissingConfig.d.ts +0 -13
- package/dist/types/components/StudentProfile.d.ts +0 -7
- package/dist/types/components/ThemeToggle.d.ts +0 -1
- package/dist/types/components/pages/CoursePhaseParticpationsTable/CoursePhaseParticipationsTablePage.d.ts +0 -13
- package/dist/types/components/pages/CoursePhaseParticpationsTable/components/FilterMenu.d.ts +0 -7
- package/dist/types/components/pages/CoursePhaseParticpationsTable/components/GroupActionsMenu.d.ts +0 -10
- package/dist/types/components/pages/CoursePhaseParticpationsTable/components/columns.d.ts +0 -9
- package/dist/types/components/pages/CoursePhaseParticpationsTable/interfaces/ExtraParticipationTableData.d.ts +0 -5
- package/dist/types/components/pages/CoursePhaseParticpationsTable/utils/downloadParticipations.d.ts +0 -3
- package/dist/types/components/pages/Mailing/CoursePhaseMailing.d.ts +0 -6
- package/dist/types/components/pages/Mailing/components/AvailableMailPlaceholders.d.ts +0 -12
- package/dist/types/components/pages/Mailing/components/ConfirmSendEmailDialog.d.ts +0 -8
- package/dist/types/components/pages/Mailing/components/MailingEditor.d.ts +0 -12
- package/dist/types/components/pages/Mailing/components/ManualMailSending.d.ts +0 -7
- package/dist/types/components/pages/Mailing/components/SettingsCard.d.ts +0 -7
- package/tailwind/postcss.config.js +0 -7
- package/tailwind/tailwind.config.js +0 -69
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useState } from 'react';
|
|
3
|
-
import { Label } from '@/components/ui/label';
|
|
4
|
-
import { TooltipProvider } from '@/components/ui/tooltip';
|
|
5
|
-
import { Input } from '@/components/ui/input';
|
|
6
|
-
import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card';
|
|
7
|
-
import MailingTiptapEditor from '@/components/minimal-tiptap/mailing-tiptap';
|
|
8
|
-
export const EmailTemplateEditor = ({ subject, content, onInputChange, label, subjectHTMLLabel, contentHTMLLabel, placeholders, }) => {
|
|
9
|
-
// Local state to hold warning message
|
|
10
|
-
const [subjectWarning, setSubjectWarning] = useState('');
|
|
11
|
-
// Regular expression to allow only ASCII characters
|
|
12
|
-
const asciiOnlyRegex = /^[\x20-\x7F]*$/;
|
|
13
|
-
// Custom onChange handler for subject input
|
|
14
|
-
const handleSubjectChange = (e) => {
|
|
15
|
-
const value = e.target.value;
|
|
16
|
-
if (!asciiOnlyRegex.test(value)) {
|
|
17
|
-
// Set a warning message and do not propagate the change
|
|
18
|
-
setSubjectWarning('Warning: Only ASCII characters are allowed.');
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
// Clear any warning and propagate the valid change
|
|
22
|
-
setSubjectWarning('');
|
|
23
|
-
onInputChange(e);
|
|
24
|
-
};
|
|
25
|
-
return (_jsxs(Card, { children: [_jsx(CardHeader, { children: _jsxs(CardTitle, { children: [label, " Mail Template"] }) }), _jsxs(CardContent, { className: 'space-y-4', children: [_jsxs("div", { children: [_jsxs(Label, { htmlFor: subjectHTMLLabel, children: [label, " Subject"] }), _jsx(Input, { type: 'text', name: subjectHTMLLabel, value: subject, onChange: handleSubjectChange, className: 'w-full mt-1' }), subjectWarning && _jsx("p", { className: 'text-red-500 text-sm mt-1', children: subjectWarning })] }), _jsxs("div", { children: [_jsxs(Label, { htmlFor: contentHTMLLabel, children: [label, " E-Mail Template"] }), _jsx(TooltipProvider, { children: _jsx(MailingTiptapEditor, { value: content, onChange: (newContent) => onInputChange({
|
|
26
|
-
target: { name: contentHTMLLabel, value: newContent },
|
|
27
|
-
}), className: 'w-full mt-1', editorContentClassName: 'p-4', output: 'html', placeholder: 'Type your email here...', autofocus: false, editable: true, editorClassName: 'focus:outline-none', placeholders: placeholders }) })] })] })] }));
|
|
28
|
-
};
|
|
29
|
-
//# sourceMappingURL=MailingEditor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MailingEditor.js","sourceRoot":"","sources":["../../../../../src/components/pages/Mailing/components/MailingEditor.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAC/E,OAAO,mBAAmB,MAAM,4CAA4C,CAAA;AAY5E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAClC,OAAO,EACP,OAAO,EACP,aAAa,EACb,KAAK,EACL,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,GACa,EAAe,EAAE;IAC1C,sCAAsC;IACtC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAExD,oDAAoD;IACpD,MAAM,cAAc,GAAG,gBAAgB,CAAA;IAEvC,4CAA4C;IAC5C,MAAM,mBAAmB,GAAG,CAAC,CAAsC,EAAE,EAAE;QACrE,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAA;QAC5B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,wDAAwD;YACxD,iBAAiB,CAAC,6CAA6C,CAAC,CAAA;YAChE,OAAM;QACR,CAAC;QACD,mDAAmD;QACnD,iBAAiB,CAAC,EAAE,CAAC,CAAA;QACrB,aAAa,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC,CAAA;IAED,OAAO,CACL,MAAC,IAAI,eACH,KAAC,UAAU,cACT,MAAC,SAAS,eAAE,KAAK,sBAA2B,GACjC,EACb,MAAC,WAAW,IAAC,SAAS,EAAC,WAAW,aAChC,0BACE,MAAC,KAAK,IAAC,OAAO,EAAE,gBAAgB,aAAG,KAAK,gBAAiB,EACzD,KAAC,KAAK,IACJ,IAAI,EAAC,MAAM,EACX,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAC,aAAa,GACvB,EACD,cAAc,IAAI,YAAG,SAAS,EAAC,2BAA2B,YAAE,cAAc,GAAK,IAC5E,EACN,0BACE,MAAC,KAAK,IAAC,OAAO,EAAE,gBAAgB,aAAG,KAAK,wBAAyB,EACjE,KAAC,eAAe,cACd,KAAC,mBAAmB,IAClB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,CAAC,UAAU,EAAE,EAAE,CACvB,aAAa,CAAC;wCACZ,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU,EAAE;qCAC/C,CAAC,EAEX,SAAS,EAAC,aAAa,EACvB,sBAAsB,EAAC,KAAK,EAC5B,MAAM,EAAC,MAAM,EACb,WAAW,EAAC,yBAAyB,EACrC,SAAS,EAAE,KAAK,EAChB,QAAQ,EAAE,IAAI,EACd,eAAe,EAAC,oBAAoB,EACpC,YAAY,EAAE,YAAY,GAC1B,GACc,IACd,IACM,IACT,CACR,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { Button } from '@/components/ui/button';
|
|
3
|
-
import { Send } from 'lucide-react';
|
|
4
|
-
import { PassStatus } from '@tumaet/prompt-shared-state';
|
|
5
|
-
import { useState } from 'react';
|
|
6
|
-
import { ConfirmSendEmailDialog } from './ConfirmSendEmailDialog';
|
|
7
|
-
import { Label } from '@/components/ui/label';
|
|
8
|
-
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip';
|
|
9
|
-
import { useGetMailingIsConfigured } from '@/hooks/useGetMailingIsConfigured';
|
|
10
|
-
export const ManualMailSending = ({ mailingMetaData, isModified, }) => {
|
|
11
|
-
const [confirmationDialogOpen, setConfirmationDialogOpen] = useState(false);
|
|
12
|
-
const [sendEmailType, setSendEmailType] = useState(null);
|
|
13
|
-
const courseMailingIsConfigured = useGetMailingIsConfigured();
|
|
14
|
-
const isDisabled = (type) => {
|
|
15
|
-
if (isModified)
|
|
16
|
-
return true;
|
|
17
|
-
const contentCheck = type === PassStatus.PASSED
|
|
18
|
-
? mailingMetaData?.passedMailContent && mailingMetaData?.passedMailSubject
|
|
19
|
-
: mailingMetaData?.failedMailContent && mailingMetaData?.failedMailSubject;
|
|
20
|
-
return !(contentCheck && courseMailingIsConfigured);
|
|
21
|
-
};
|
|
22
|
-
const tooltipMessage = courseMailingIsConfigured
|
|
23
|
-
? 'Configure the mail subject and content and save changes before sending.'
|
|
24
|
-
: 'Configure the mailing in the course mail settings before sending.';
|
|
25
|
-
return (_jsx(_Fragment, { children: _jsxs(TooltipProvider, { children: [_jsxs("div", { className: 'flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2', children: [_jsxs("div", { className: 'space-y-0.5', children: [_jsx(Label, { children: "Manual Acceptance Emails" }), _jsx("p", { className: 'text-sm text-muted-foreground', children: "Send an acceptance mail to ALL accepted students." })] }), _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { children: _jsxs(Button, { className: 'w-full sm:w-auto', variant: 'outline', onClick: (e) => {
|
|
26
|
-
e.preventDefault();
|
|
27
|
-
setSendEmailType(PassStatus.PASSED);
|
|
28
|
-
setConfirmationDialogOpen(true);
|
|
29
|
-
}, disabled: isDisabled(PassStatus.PASSED), children: [_jsx(Send, { className: 'mr-2 h-4 w-4' }), "Send Acceptance Mails"] }) }), isDisabled(PassStatus.PASSED) && _jsxs(TooltipContent, { children: [tooltipMessage, " "] })] })] }), _jsxs("div", { className: 'flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2', children: [_jsxs("div", { className: 'space-y-0.5', children: [_jsx(Label, { children: "Manual Rejection Emails" }), _jsx("p", { className: 'text-sm text-muted-foreground', children: "Send a rejection mail to ALL rejected students." })] }), _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { children: _jsxs(Button, { className: 'w-full sm:w-auto', variant: 'outline', onClick: (e) => {
|
|
30
|
-
e.preventDefault();
|
|
31
|
-
setSendEmailType(PassStatus.FAILED);
|
|
32
|
-
setConfirmationDialogOpen(true);
|
|
33
|
-
}, disabled: isDisabled(PassStatus.FAILED), children: [_jsx(Send, { className: 'mr-2 h-4 w-4' }), "Send Rejection Mails"] }) }), isDisabled(PassStatus.FAILED) && _jsxs(TooltipContent, { children: [tooltipMessage, " "] })] })] }), confirmationDialogOpen && sendEmailType && (_jsx(ConfirmSendEmailDialog, { isOpen: confirmationDialogOpen, onClose: () => setConfirmationDialogOpen(false), emailType: sendEmailType }))] }) }));
|
|
34
|
-
};
|
|
35
|
-
//# sourceMappingURL=ManualMailSending.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ManualMailSending.js","sourceRoot":"","sources":["../../../../../src/components/pages/Mailing/components/ManualMailSending.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { Badge } from '@/components/ui/badge';
|
|
3
|
-
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
|
|
4
|
-
import { ManualMailSending } from './ManualMailSending';
|
|
5
|
-
import { Info } from 'lucide-react';
|
|
6
|
-
export const SettingsCard = ({ mailingMetaData, isModified }) => {
|
|
7
|
-
const someMailFunctionDisabled = isModified ||
|
|
8
|
-
!mailingMetaData?.passedMailContent ||
|
|
9
|
-
!mailingMetaData?.passedMailSubject ||
|
|
10
|
-
!mailingMetaData?.failedMailContent ||
|
|
11
|
-
!mailingMetaData?.failedMailSubject;
|
|
12
|
-
return (_jsx(_Fragment, { children: _jsxs(Card, { className: 'w-full', children: [_jsxs(CardHeader, { children: [_jsxs("div", { className: 'flex items-center justify-between', children: [_jsx(CardTitle, { children: "E-Mail Settings" }), isModified && (_jsx(Badge, { variant: 'outline', className: 'bg-yellow-100 text-yellow-800 border-yellow-300', children: "Unsaved Changes" }))] }), _jsx(CardDescription, { children: "Configure email settings for the application phase" })] }), _jsxs(CardContent, { className: 'space-y-6', children: [someMailFunctionDisabled && (_jsxs("div", { className: 'flex items-start space-x-2 text-sm text-muted-foreground bg-muted p-3 rounded-md', children: [_jsx(Info, { className: 'h-4 w-4 mt-0.5 flex-shrink-0' }), _jsx("p", { children: "Some of the following mailing options are disabled. Please make sure to configure and save the corresponding mail subject and content." })] })), _jsx("div", { className: 'space-y-4', children: _jsx(ManualMailSending, { mailingMetaData: mailingMetaData, isModified: isModified }) })] })] }) }));
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=SettingsCard.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsCard.js","sourceRoot":"","sources":["../../../../../src/components/pages/Mailing/components/SettingsCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChG,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAOnC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,eAAe,EAAE,UAAU,EAAqB,EAAe,EAAE;IAC9F,MAAM,wBAAwB,GAC5B,UAAU;QACV,CAAC,eAAe,EAAE,iBAAiB;QACnC,CAAC,eAAe,EAAE,iBAAiB;QACnC,CAAC,eAAe,EAAE,iBAAiB;QACnC,CAAC,eAAe,EAAE,iBAAiB,CAAA;IAErC,OAAO,CACL,4BACE,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,aACtB,MAAC,UAAU,eACT,eAAK,SAAS,EAAC,mCAAmC,aAChD,KAAC,SAAS,kCAA4B,EACrC,UAAU,IAAI,CACb,KAAC,KAAK,IAAC,OAAO,EAAC,SAAS,EAAC,SAAS,EAAC,iDAAiD,gCAE5E,CACT,IACG,EACN,KAAC,eAAe,qEAAqE,IAC1E,EACb,MAAC,WAAW,IAAC,SAAS,EAAC,WAAW,aAC/B,wBAAwB,IAAI,CAC3B,eAAK,SAAS,EAAC,kFAAkF,aAC/F,KAAC,IAAI,IAAC,SAAS,EAAC,8BAA8B,GAAG,EACjD,iKAGI,IACA,CACP,EACD,cAAK,SAAS,EAAC,WAAW,YACxB,KAAC,iBAAiB,IAAC,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,GAAI,GAC3E,IACM,IACT,GACN,CACJ,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { ExportedApplicationAnswer } from '@tumaet/prompt-shared-state';
|
|
2
|
-
interface ExportedApplicationAnswerTableProps {
|
|
3
|
-
applicationAnswers: ExportedApplicationAnswer[];
|
|
4
|
-
}
|
|
5
|
-
export declare const ExportedApplicationAnswerTable: ({ applicationAnswers, }: ExportedApplicationAnswerTableProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
-
export {};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ElementType } from 'react';
|
|
2
|
-
export interface MissingConfigItem {
|
|
3
|
-
title: string;
|
|
4
|
-
icon: ElementType;
|
|
5
|
-
description?: string;
|
|
6
|
-
link: string;
|
|
7
|
-
hide?: () => void;
|
|
8
|
-
}
|
|
9
|
-
interface MissingConfigProps {
|
|
10
|
-
elements: MissingConfigItem[];
|
|
11
|
-
}
|
|
12
|
-
export declare const MissingConfig: ({ elements }: MissingConfigProps) => JSX.Element;
|
|
13
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function ThemeToggle(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { CoursePhaseParticipationWithStudent } from '@tumaet/prompt-shared-state';
|
|
2
|
-
import { ExtraParticipationTableData } from './interfaces/ExtraParticipationTableData';
|
|
3
|
-
interface CoursePhaseParticipationsTablePageProps {
|
|
4
|
-
participants: CoursePhaseParticipationWithStudent[];
|
|
5
|
-
prevDataKeys: string[];
|
|
6
|
-
restrictedDataKeys: string[];
|
|
7
|
-
studentReadableDataKeys: string[];
|
|
8
|
-
extraData?: ExtraParticipationTableData[];
|
|
9
|
-
extraColumnHeader?: string;
|
|
10
|
-
onClickRowAction: (student: CoursePhaseParticipationWithStudent) => void;
|
|
11
|
-
}
|
|
12
|
-
export declare const CoursePhaseParticipationsTablePage: ({ participants, prevDataKeys, restrictedDataKeys, studentReadableDataKeys, extraData, extraColumnHeader, onClickRowAction, }: Partial<CoursePhaseParticipationsTablePageProps>) => JSX.Element;
|
|
13
|
-
export {};
|
package/dist/types/components/pages/CoursePhaseParticpationsTable/components/FilterMenu.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { ColumnFiltersState } from '@tanstack/react-table';
|
|
2
|
-
interface ColumnFiltersProps {
|
|
3
|
-
columnFilters: ColumnFiltersState;
|
|
4
|
-
setColumnFilters: React.Dispatch<React.SetStateAction<ColumnFiltersState>>;
|
|
5
|
-
}
|
|
6
|
-
export declare const FilterMenu: ({ columnFilters, setColumnFilters, }: ColumnFiltersProps) => JSX.Element;
|
|
7
|
-
export {};
|
package/dist/types/components/pages/CoursePhaseParticpationsTable/components/GroupActionsMenu.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { RowModel } from '@tanstack/react-table';
|
|
2
|
-
import { CoursePhaseParticipationWithStudent } from '@tumaet/prompt-shared-state';
|
|
3
|
-
interface GroupActionsMenuProps {
|
|
4
|
-
selectedRows: RowModel<CoursePhaseParticipationWithStudent>;
|
|
5
|
-
onClose: () => void;
|
|
6
|
-
onExport: () => void;
|
|
7
|
-
disabled?: boolean;
|
|
8
|
-
}
|
|
9
|
-
export declare const GroupActionsMenu: ({ selectedRows, onClose, onExport, disabled, }: GroupActionsMenuProps) => JSX.Element;
|
|
10
|
-
export {};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ColumnDef } from '@tanstack/react-table';
|
|
2
|
-
import { CoursePhaseParticipationWithStudent } from '@tumaet/prompt-shared-state';
|
|
3
|
-
interface ColumnDefProps {
|
|
4
|
-
prevDataKeys: string[];
|
|
5
|
-
restrictedDataKeys: string[];
|
|
6
|
-
studentReadableDataKeys: string[];
|
|
7
|
-
}
|
|
8
|
-
export declare const columns: ({ prevDataKeys, restrictedDataKeys, studentReadableDataKeys, }: ColumnDefProps) => ColumnDef<CoursePhaseParticipationWithStudent>[];
|
|
9
|
-
export {};
|
package/dist/types/components/pages/CoursePhaseParticpationsTable/utils/downloadParticipations.d.ts
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { CoursePhaseParticipationWithStudent } from '@tumaet/prompt-shared-state';
|
|
2
|
-
import { ExtraParticipationTableData } from '../interfaces/ExtraParticipationTableData';
|
|
3
|
-
export declare const downloadParticipations: (data: CoursePhaseParticipationWithStudent[], prevDataKeys: string[], restrictedDataKeys: string[], studentReadableDataKeys: string[], extraData: ExtraParticipationTableData[] | undefined, extraColumnHeader: string | undefined, filename?: string) => void;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { CoursePhaseWithMetaData } from '@tumaet/prompt-shared-state';
|
|
2
|
-
interface CoursePhaseMailingProps {
|
|
3
|
-
coursePhase: CoursePhaseWithMetaData | undefined;
|
|
4
|
-
}
|
|
5
|
-
export declare const CoursePhaseMailing: ({ coursePhase }: CoursePhaseMailingProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
-
export {};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
interface AvailableMailPlaceholdersProps {
|
|
2
|
-
customAdditionalPlaceholders?: {
|
|
3
|
-
placeholder: string;
|
|
4
|
-
description: string;
|
|
5
|
-
}[];
|
|
6
|
-
}
|
|
7
|
-
export declare const availablePlaceholders: {
|
|
8
|
-
placeholder: string;
|
|
9
|
-
description: string;
|
|
10
|
-
}[];
|
|
11
|
-
export declare const AvailableMailPlaceholders: ({ customAdditionalPlaceholders, }: AvailableMailPlaceholdersProps) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
-
export {};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { PassStatus } from '@tumaet/prompt-shared-state';
|
|
2
|
-
interface ConfirmSendEmailDialogProps {
|
|
3
|
-
isOpen: boolean;
|
|
4
|
-
onClose: () => void;
|
|
5
|
-
emailType: PassStatus;
|
|
6
|
-
}
|
|
7
|
-
export declare const ConfirmSendEmailDialog: ({ isOpen, onClose, emailType, }: ConfirmSendEmailDialogProps) => JSX.Element;
|
|
8
|
-
export {};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
interface EmailTemplateEditorProps {
|
|
3
|
-
subject: string;
|
|
4
|
-
content: string;
|
|
5
|
-
onInputChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
|
6
|
-
label: string;
|
|
7
|
-
subjectHTMLLabel: string;
|
|
8
|
-
contentHTMLLabel: string;
|
|
9
|
-
placeholders: string[];
|
|
10
|
-
}
|
|
11
|
-
export declare const EmailTemplateEditor: ({ subject, content, onInputChange, label, subjectHTMLLabel, contentHTMLLabel, placeholders, }: EmailTemplateEditorProps) => JSX.Element;
|
|
12
|
-
export {};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { CoursePhaseMailingConfigData } from '@tumaet/prompt-shared-state';
|
|
2
|
-
interface ManualMailSendingProps {
|
|
3
|
-
mailingMetaData: CoursePhaseMailingConfigData | null;
|
|
4
|
-
isModified: boolean;
|
|
5
|
-
}
|
|
6
|
-
export declare const ManualMailSending: ({ mailingMetaData, isModified, }: ManualMailSendingProps) => JSX.Element;
|
|
7
|
-
export {};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { CoursePhaseMailingConfigData } from '@tumaet/prompt-shared-state';
|
|
2
|
-
interface SettingsCardProps {
|
|
3
|
-
mailingMetaData: CoursePhaseMailingConfigData;
|
|
4
|
-
isModified: boolean;
|
|
5
|
-
}
|
|
6
|
-
export declare const SettingsCard: ({ mailingMetaData, isModified }: SettingsCardProps) => JSX.Element;
|
|
7
|
-
export {};
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
// Default values that shall be reused in every component
|
|
2
|
-
|
|
3
|
-
/** @type {import('tailwindcss').Config} */
|
|
4
|
-
module.exports = {
|
|
5
|
-
darkMode: ['class'],
|
|
6
|
-
safelist: [
|
|
7
|
-
'dark',
|
|
8
|
-
'ProseMirror',
|
|
9
|
-
{
|
|
10
|
-
pattern: /^(dark:)?(bg|text|border)-[a-z]+(?:-[a-z]+)*(?:-\d{1,3})?$/,
|
|
11
|
-
variants: ['dark'],
|
|
12
|
-
},
|
|
13
|
-
],
|
|
14
|
-
theme: {
|
|
15
|
-
extend: {
|
|
16
|
-
colors: {
|
|
17
|
-
border: 'hsl(var(--border))',
|
|
18
|
-
input: 'hsl(var(--input))',
|
|
19
|
-
ring: 'hsl(var(--ring))',
|
|
20
|
-
background: 'hsl(var(--background))',
|
|
21
|
-
foreground: 'hsl(var(--foreground))',
|
|
22
|
-
primary: {
|
|
23
|
-
DEFAULT: 'hsl(var(--primary))',
|
|
24
|
-
foreground: 'hsl(var(--primary-foreground))',
|
|
25
|
-
},
|
|
26
|
-
secondary: {
|
|
27
|
-
DEFAULT: 'hsl(var(--secondary))',
|
|
28
|
-
foreground: 'hsl(var(--secondary-foreground))',
|
|
29
|
-
},
|
|
30
|
-
destructive: {
|
|
31
|
-
DEFAULT: 'hsl(var(--destructive))',
|
|
32
|
-
foreground: 'hsl(var(--destructive-foreground))',
|
|
33
|
-
},
|
|
34
|
-
muted: {
|
|
35
|
-
DEFAULT: 'hsl(var(--muted))',
|
|
36
|
-
foreground: 'hsl(var(--muted-foreground))',
|
|
37
|
-
},
|
|
38
|
-
accent: {
|
|
39
|
-
DEFAULT: 'hsl(var(--accent))',
|
|
40
|
-
foreground: 'hsl(var(--accent-foreground))',
|
|
41
|
-
},
|
|
42
|
-
popover: {
|
|
43
|
-
DEFAULT: 'hsl(var(--popover))',
|
|
44
|
-
foreground: 'hsl(var(--popover-foreground))',
|
|
45
|
-
},
|
|
46
|
-
card: {
|
|
47
|
-
DEFAULT: 'hsl(var(--card))',
|
|
48
|
-
foreground: 'hsl(var(--card-foreground))',
|
|
49
|
-
},
|
|
50
|
-
sidebar: {
|
|
51
|
-
DEFAULT: 'hsl(var(--sidebar-background))',
|
|
52
|
-
foreground: 'hsl(var(--sidebar-foreground))',
|
|
53
|
-
primary: 'hsl(var(--sidebar-primary))',
|
|
54
|
-
'primary-foreground': 'hsl(var(--sidebar-primary-foreground))',
|
|
55
|
-
accent: 'hsl(var(--sidebar-accent))',
|
|
56
|
-
'accent-foreground': 'hsl(var(--sidebar-accent-foreground))',
|
|
57
|
-
border: 'hsl(var(--sidebar-border))',
|
|
58
|
-
ring: 'hsl(var(--sidebar-ring))',
|
|
59
|
-
},
|
|
60
|
-
},
|
|
61
|
-
borderRadius: {
|
|
62
|
-
lg: `var(--radius)`,
|
|
63
|
-
md: `calc(var(--radius) - 2px)`,
|
|
64
|
-
sm: 'calc(var(--radius) - 4px)',
|
|
65
|
-
},
|
|
66
|
-
},
|
|
67
|
-
},
|
|
68
|
-
plugins: [require('tailwindcss-animate'), require('@tailwindcss/typography')],
|
|
69
|
-
}
|