@tumaet/prompt-ui-components 0.0.2 → 0.0.4

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 (247) hide show
  1. package/dist/components/DatePicker.js +18 -0
  2. package/dist/components/DatePicker.js.map +1 -0
  3. package/dist/components/DateRangePicker.js +12 -0
  4. package/dist/components/DateRangePicker.js.map +1 -0
  5. package/dist/components/DeleteConfirmationDialog.js +13 -0
  6. package/dist/components/DeleteConfirmationDialog.js.map +1 -0
  7. package/dist/components/ErrorPage.js +9 -0
  8. package/dist/components/ErrorPage.js.map +1 -0
  9. package/dist/components/ExportedApplicationAnswerTable.js +16 -0
  10. package/dist/components/ExportedApplicationAnswerTable.js.map +1 -0
  11. package/dist/components/LoadingPage.js +6 -0
  12. package/dist/components/LoadingPage.js.map +1 -0
  13. package/dist/components/ManagementPageHeader.js +5 -0
  14. package/dist/components/ManagementPageHeader.js.map +1 -0
  15. package/dist/components/MissingConfig.js +12 -0
  16. package/dist/components/MissingConfig.js.map +1 -0
  17. package/dist/components/MultiSelect.js +96 -0
  18. package/dist/components/MultiSelect.js.map +1 -0
  19. package/dist/components/SaveChangesAlert.js +31 -0
  20. package/dist/components/SaveChangesAlert.js.map +1 -0
  21. package/dist/components/StudentProfile.js +14 -0
  22. package/dist/components/StudentProfile.js.map +1 -0
  23. package/dist/components/ThemeToggle.js +10 -0
  24. package/dist/components/ThemeToggle.js.map +1 -0
  25. package/dist/components/UnauthorizedPage.js +13 -0
  26. package/dist/components/UnauthorizedPage.js.map +1 -0
  27. package/dist/components/index.js +9 -0
  28. package/dist/components/index.js.map +1 -1
  29. package/dist/components/minimal-tiptap/components/bubble-menu/link-bubble-menu.js +65 -0
  30. package/dist/components/minimal-tiptap/components/bubble-menu/link-bubble-menu.js.map +1 -0
  31. package/dist/components/minimal-tiptap/components/image/image-edit-block.js +38 -0
  32. package/dist/components/minimal-tiptap/components/image/image-edit-block.js.map +1 -0
  33. package/dist/components/minimal-tiptap/components/image/image-edit-dialog.js +12 -0
  34. package/dist/components/minimal-tiptap/components/image/image-edit-dialog.js.map +1 -0
  35. package/dist/components/minimal-tiptap/components/link/link-edit-block.js +34 -0
  36. package/dist/components/minimal-tiptap/components/link/link-edit-block.js.map +1 -0
  37. package/dist/components/minimal-tiptap/components/link/link-edit-popover.js +38 -0
  38. package/dist/components/minimal-tiptap/components/link/link-edit-popover.js.map +1 -0
  39. package/dist/components/minimal-tiptap/components/link/link-popover-block.js +28 -0
  40. package/dist/components/minimal-tiptap/components/link/link-popover-block.js.map +1 -0
  41. package/dist/components/minimal-tiptap/components/measured-container.js +16 -0
  42. package/dist/components/minimal-tiptap/components/measured-container.js.map +1 -0
  43. package/dist/components/minimal-tiptap/components/section/five.js +39 -0
  44. package/dist/components/minimal-tiptap/components/section/five.js.map +1 -0
  45. package/dist/components/minimal-tiptap/components/section/four.js +29 -0
  46. package/dist/components/minimal-tiptap/components/section/four.js.map +1 -0
  47. package/dist/components/minimal-tiptap/components/section/mailingPlaceholders.js +23 -0
  48. package/dist/components/minimal-tiptap/components/section/mailingPlaceholders.js.map +1 -0
  49. package/dist/components/minimal-tiptap/components/section/one.js +77 -0
  50. package/dist/components/minimal-tiptap/components/section/one.js.map +1 -0
  51. package/dist/components/minimal-tiptap/components/section/three.js +79 -0
  52. package/dist/components/minimal-tiptap/components/section/three.js.map +1 -0
  53. package/dist/components/minimal-tiptap/components/section/two.js +65 -0
  54. package/dist/components/minimal-tiptap/components/section/two.js.map +1 -0
  55. package/dist/components/minimal-tiptap/components/shortcut-key.js +11 -0
  56. package/dist/components/minimal-tiptap/components/shortcut-key.js.map +1 -0
  57. package/dist/components/minimal-tiptap/components/spinner.js +9 -0
  58. package/dist/components/minimal-tiptap/components/spinner.js.map +1 -0
  59. package/dist/components/minimal-tiptap/components/toolbar-button.js +15 -0
  60. package/dist/components/minimal-tiptap/components/toolbar-button.js.map +1 -0
  61. package/dist/components/minimal-tiptap/components/toolbar-section.js +27 -0
  62. package/dist/components/minimal-tiptap/components/toolbar-section.js.map +1 -0
  63. package/dist/components/minimal-tiptap/extensions/code-block-lowlight/code-block-lowlight.js +16 -0
  64. package/dist/components/minimal-tiptap/extensions/code-block-lowlight/code-block-lowlight.js.map +1 -0
  65. package/dist/components/minimal-tiptap/extensions/code-block-lowlight/index.js +2 -0
  66. package/dist/components/minimal-tiptap/extensions/code-block-lowlight/index.js.map +1 -0
  67. package/dist/components/minimal-tiptap/extensions/color/color.js +20 -0
  68. package/dist/components/minimal-tiptap/extensions/color/color.js.map +1 -0
  69. package/dist/components/minimal-tiptap/extensions/color/index.js +2 -0
  70. package/dist/components/minimal-tiptap/extensions/color/index.js.map +1 -0
  71. package/dist/components/minimal-tiptap/extensions/file-handler/index.js +74 -0
  72. package/dist/components/minimal-tiptap/extensions/file-handler/index.js.map +1 -0
  73. package/dist/components/minimal-tiptap/extensions/horizontal-rule/horizontal-rule.js +16 -0
  74. package/dist/components/minimal-tiptap/extensions/horizontal-rule/horizontal-rule.js.map +1 -0
  75. package/dist/components/minimal-tiptap/extensions/horizontal-rule/index.js +2 -0
  76. package/dist/components/minimal-tiptap/extensions/horizontal-rule/index.js.map +1 -0
  77. package/dist/components/minimal-tiptap/extensions/image/components/image-actions.js +39 -0
  78. package/dist/components/minimal-tiptap/extensions/image/components/image-actions.js.map +1 -0
  79. package/dist/components/minimal-tiptap/extensions/image/components/image-overlay.js +9 -0
  80. package/dist/components/minimal-tiptap/extensions/image/components/image-overlay.js.map +1 -0
  81. package/dist/components/minimal-tiptap/extensions/image/components/image-view-block.js +167 -0
  82. package/dist/components/minimal-tiptap/extensions/image/components/image-view-block.js.map +1 -0
  83. package/dist/components/minimal-tiptap/extensions/image/components/resize-handle.js +11 -0
  84. package/dist/components/minimal-tiptap/extensions/image/components/resize-handle.js.map +1 -0
  85. package/dist/components/minimal-tiptap/extensions/image/hooks/use-drag-resize.js +88 -0
  86. package/dist/components/minimal-tiptap/extensions/image/hooks/use-drag-resize.js.map +1 -0
  87. package/dist/components/minimal-tiptap/extensions/image/hooks/use-image-actions.js +32 -0
  88. package/dist/components/minimal-tiptap/extensions/image/hooks/use-image-actions.js.map +1 -0
  89. package/dist/components/minimal-tiptap/extensions/image/image.js +225 -0
  90. package/dist/components/minimal-tiptap/extensions/image/image.js.map +1 -0
  91. package/dist/components/minimal-tiptap/extensions/image/index.js +2 -0
  92. package/dist/components/minimal-tiptap/extensions/image/index.js.map +1 -0
  93. package/dist/components/minimal-tiptap/extensions/index.js +10 -0
  94. package/dist/components/minimal-tiptap/extensions/index.js.map +1 -0
  95. package/dist/components/minimal-tiptap/extensions/link/index.js +2 -0
  96. package/dist/components/minimal-tiptap/extensions/link/index.js.map +1 -0
  97. package/dist/components/minimal-tiptap/extensions/link/link.js +74 -0
  98. package/dist/components/minimal-tiptap/extensions/link/link.js.map +1 -0
  99. package/dist/components/minimal-tiptap/extensions/reset-marks-on-enter/index.js +2 -0
  100. package/dist/components/minimal-tiptap/extensions/reset-marks-on-enter/index.js.map +1 -0
  101. package/dist/components/minimal-tiptap/extensions/reset-marks-on-enter/reset-marks-on-enter.js +20 -0
  102. package/dist/components/minimal-tiptap/extensions/reset-marks-on-enter/reset-marks-on-enter.js.map +1 -0
  103. package/dist/components/minimal-tiptap/extensions/selection/index.js +2 -0
  104. package/dist/components/minimal-tiptap/extensions/selection/index.js.map +1 -0
  105. package/dist/components/minimal-tiptap/extensions/selection/selection.js +31 -0
  106. package/dist/components/minimal-tiptap/extensions/selection/selection.js.map +1 -0
  107. package/dist/components/minimal-tiptap/extensions/unset-all-marks/index.js +2 -0
  108. package/dist/components/minimal-tiptap/extensions/unset-all-marks/index.js.map +1 -0
  109. package/dist/components/minimal-tiptap/extensions/unset-all-marks/unset-all-marks.js +9 -0
  110. package/dist/components/minimal-tiptap/extensions/unset-all-marks/unset-all-marks.js.map +1 -0
  111. package/dist/components/minimal-tiptap/form-description-tiptap.js +26 -0
  112. package/dist/components/minimal-tiptap/form-description-tiptap.js.map +1 -0
  113. package/dist/components/minimal-tiptap/hooks/use-container-size.js +44 -0
  114. package/dist/components/minimal-tiptap/hooks/use-container-size.js.map +1 -0
  115. package/dist/components/minimal-tiptap/hooks/use-minimal-tiptap.js +160 -0
  116. package/dist/components/minimal-tiptap/hooks/use-minimal-tiptap.js.map +1 -0
  117. package/dist/components/minimal-tiptap/hooks/use-theme.js +19 -0
  118. package/dist/components/minimal-tiptap/hooks/use-theme.js.map +1 -0
  119. package/dist/components/minimal-tiptap/hooks/use-throttle.js +24 -0
  120. package/dist/components/minimal-tiptap/hooks/use-throttle.js.map +1 -0
  121. package/dist/components/minimal-tiptap/index.js +2 -0
  122. package/dist/components/minimal-tiptap/index.js.map +1 -0
  123. package/dist/components/minimal-tiptap/mailing-tiptap.js +30 -0
  124. package/dist/components/minimal-tiptap/mailing-tiptap.js.map +1 -0
  125. package/dist/components/minimal-tiptap/minimal-tiptap.js +29 -0
  126. package/dist/components/minimal-tiptap/minimal-tiptap.js.map +1 -0
  127. package/dist/components/minimal-tiptap/types.js +2 -0
  128. package/dist/components/minimal-tiptap/types.js.map +1 -0
  129. package/dist/components/minimal-tiptap/utils.js +156 -0
  130. package/dist/components/minimal-tiptap/utils.js.map +1 -0
  131. package/dist/components/pages/CoursePhaseParticpationsTable/CoursePhaseParticipationsTablePage.js +71 -0
  132. package/dist/components/pages/CoursePhaseParticpationsTable/CoursePhaseParticipationsTablePage.js.map +1 -0
  133. package/dist/components/pages/CoursePhaseParticpationsTable/components/FilterMenu.js +43 -0
  134. package/dist/components/pages/CoursePhaseParticpationsTable/components/FilterMenu.js.map +1 -0
  135. package/dist/components/pages/CoursePhaseParticpationsTable/components/GroupActionsMenu.js +50 -0
  136. package/dist/components/pages/CoursePhaseParticpationsTable/components/GroupActionsMenu.js.map +1 -0
  137. package/dist/components/pages/CoursePhaseParticpationsTable/components/columns.js +84 -0
  138. package/dist/components/pages/CoursePhaseParticpationsTable/components/columns.js.map +1 -0
  139. package/dist/components/pages/CoursePhaseParticpationsTable/interfaces/ExtraParticipationTableData.js +2 -0
  140. package/dist/components/pages/CoursePhaseParticpationsTable/interfaces/ExtraParticipationTableData.js.map +1 -0
  141. package/dist/components/pages/CoursePhaseParticpationsTable/utils/downloadParticipations.js +70 -0
  142. package/dist/components/pages/CoursePhaseParticpationsTable/utils/downloadParticipations.js.map +1 -0
  143. package/dist/components/pages/Mailing/CoursePhaseMailing.js +88 -0
  144. package/dist/components/pages/Mailing/CoursePhaseMailing.js.map +1 -0
  145. package/dist/components/pages/Mailing/components/AvailableMailPlaceholders.js +61 -0
  146. package/dist/components/pages/Mailing/components/AvailableMailPlaceholders.js.map +1 -0
  147. package/dist/components/pages/Mailing/components/ConfirmSendEmailDialog.js +35 -0
  148. package/dist/components/pages/Mailing/components/ConfirmSendEmailDialog.js.map +1 -0
  149. package/dist/components/pages/Mailing/components/MailingEditor.js +29 -0
  150. package/dist/components/pages/Mailing/components/MailingEditor.js.map +1 -0
  151. package/dist/components/pages/Mailing/components/ManualMailSending.js +35 -0
  152. package/dist/components/pages/Mailing/components/ManualMailSending.js.map +1 -0
  153. package/dist/components/pages/Mailing/components/SettingsCard.js +14 -0
  154. package/dist/components/pages/Mailing/components/SettingsCard.js.map +1 -0
  155. package/dist/components/table/GroupActionDialog.js +8 -0
  156. package/dist/components/table/GroupActionDialog.js.map +1 -0
  157. package/dist/components/table/SortableHeader.js +7 -0
  158. package/dist/components/table/SortableHeader.js.map +1 -0
  159. package/dist/components/ui/card.js +1 -1
  160. package/dist/components/ui/card.js.map +1 -1
  161. package/dist/components/ui/chart.js +1 -1
  162. package/dist/components/ui/chart.js.map +1 -1
  163. package/dist/index.css +2 -3
  164. package/dist/index.js +1 -0
  165. package/dist/index.js.map +1 -1
  166. package/dist/types/components/DatePicker.d.ts +6 -0
  167. package/dist/types/components/DateRangePicker.d.ts +8 -0
  168. package/dist/types/components/DeleteConfirmationDialog.d.ts +9 -0
  169. package/dist/types/components/ErrorPage.d.ts +9 -0
  170. package/dist/types/components/ExportedApplicationAnswerTable.d.ts +6 -0
  171. package/dist/types/components/LoadingPage.d.ts +1 -0
  172. package/dist/types/components/ManagementPageHeader.d.ts +5 -0
  173. package/dist/types/components/MissingConfig.d.ts +13 -0
  174. package/dist/types/components/MultiSelect.d.ts +68 -0
  175. package/dist/types/components/SaveChangesAlert.d.ts +8 -0
  176. package/dist/types/components/StudentProfile.d.ts +7 -0
  177. package/dist/types/components/ThemeToggle.d.ts +1 -0
  178. package/dist/types/components/UnauthorizedPage.d.ts +7 -0
  179. package/dist/types/components/index.d.ts +9 -0
  180. package/dist/types/components/minimal-tiptap/components/bubble-menu/link-bubble-menu.d.ts +7 -0
  181. package/dist/types/components/minimal-tiptap/components/image/image-edit-block.d.ts +8 -0
  182. package/dist/types/components/minimal-tiptap/components/image/image-edit-dialog.d.ts +8 -0
  183. package/dist/types/components/minimal-tiptap/components/link/link-edit-block.d.ts +9 -0
  184. package/dist/types/components/minimal-tiptap/components/link/link-edit-popover.d.ts +8 -0
  185. package/dist/types/components/minimal-tiptap/components/link/link-popover-block.d.ts +8 -0
  186. package/dist/types/components/minimal-tiptap/components/measured-container.d.ts +2 -0
  187. package/dist/types/components/minimal-tiptap/components/section/five.d.ts +12 -0
  188. package/dist/types/components/minimal-tiptap/components/section/four.d.ts +12 -0
  189. package/dist/types/components/minimal-tiptap/components/section/mailingPlaceholders.d.ts +10 -0
  190. package/dist/types/components/minimal-tiptap/components/section/one.d.ts +11 -0
  191. package/dist/types/components/minimal-tiptap/components/section/three.d.ts +9 -0
  192. package/dist/types/components/minimal-tiptap/components/section/two.d.ts +12 -0
  193. package/dist/types/components/minimal-tiptap/components/shortcut-key.d.ts +5 -0
  194. package/dist/types/components/minimal-tiptap/components/spinner.d.ts +5 -0
  195. package/dist/types/components/minimal-tiptap/components/toolbar-button.d.ts +10 -0
  196. package/dist/types/components/minimal-tiptap/components/toolbar-section.d.ts +16 -0
  197. package/dist/types/components/minimal-tiptap/extensions/code-block-lowlight/code-block-lowlight.d.ts +2 -0
  198. package/dist/types/components/minimal-tiptap/extensions/code-block-lowlight/index.d.ts +1 -0
  199. package/dist/types/components/minimal-tiptap/extensions/color/color.d.ts +1 -0
  200. package/dist/types/components/minimal-tiptap/extensions/color/index.d.ts +1 -0
  201. package/dist/types/components/minimal-tiptap/extensions/file-handler/index.d.ts +12 -0
  202. package/dist/types/components/minimal-tiptap/extensions/horizontal-rule/horizontal-rule.d.ts +2 -0
  203. package/dist/types/components/minimal-tiptap/extensions/horizontal-rule/index.d.ts +1 -0
  204. package/dist/types/components/minimal-tiptap/extensions/image/components/image-actions.d.ts +17 -0
  205. package/dist/types/components/minimal-tiptap/extensions/image/components/image-overlay.d.ts +2 -0
  206. package/dist/types/components/minimal-tiptap/extensions/image/components/image-view-block.d.ts +3 -0
  207. package/dist/types/components/minimal-tiptap/extensions/image/components/resize-handle.d.ts +6 -0
  208. package/dist/types/components/minimal-tiptap/extensions/image/hooks/use-drag-resize.d.ts +24 -0
  209. package/dist/types/components/minimal-tiptap/extensions/image/hooks/use-image-actions.d.ts +24 -0
  210. package/dist/types/components/minimal-tiptap/extensions/image/image.d.ts +52 -0
  211. package/dist/types/components/minimal-tiptap/extensions/image/index.d.ts +1 -0
  212. package/dist/types/components/minimal-tiptap/extensions/index.d.ts +9 -0
  213. package/dist/types/components/minimal-tiptap/extensions/link/index.d.ts +1 -0
  214. package/dist/types/components/minimal-tiptap/extensions/link/link.d.ts +2 -0
  215. package/dist/types/components/minimal-tiptap/extensions/reset-marks-on-enter/index.d.ts +1 -0
  216. package/dist/types/components/minimal-tiptap/extensions/reset-marks-on-enter/reset-marks-on-enter.d.ts +2 -0
  217. package/dist/types/components/minimal-tiptap/extensions/selection/index.d.ts +1 -0
  218. package/dist/types/components/minimal-tiptap/extensions/selection/selection.d.ts +3 -0
  219. package/dist/types/components/minimal-tiptap/extensions/unset-all-marks/index.d.ts +1 -0
  220. package/dist/types/components/minimal-tiptap/extensions/unset-all-marks/unset-all-marks.d.ts +2 -0
  221. package/dist/types/components/minimal-tiptap/form-description-tiptap.d.ts +4 -0
  222. package/dist/types/components/minimal-tiptap/hooks/use-container-size.d.ts +1 -0
  223. package/dist/types/components/minimal-tiptap/hooks/use-minimal-tiptap.d.ts +13 -0
  224. package/dist/types/components/minimal-tiptap/hooks/use-theme.d.ts +2 -0
  225. package/dist/types/components/minimal-tiptap/hooks/use-throttle.d.ts +1 -0
  226. package/dist/types/components/minimal-tiptap/index.d.ts +1 -0
  227. package/dist/types/components/minimal-tiptap/mailing-tiptap.d.ts +13 -0
  228. package/dist/types/components/minimal-tiptap/minimal-tiptap.d.ts +12 -0
  229. package/dist/types/components/minimal-tiptap/types.d.ts +25 -0
  230. package/dist/types/components/minimal-tiptap/utils.d.ts +38 -0
  231. package/dist/types/components/pages/CoursePhaseParticpationsTable/CoursePhaseParticipationsTablePage.d.ts +13 -0
  232. package/dist/types/components/pages/CoursePhaseParticpationsTable/components/FilterMenu.d.ts +7 -0
  233. package/dist/types/components/pages/CoursePhaseParticpationsTable/components/GroupActionsMenu.d.ts +10 -0
  234. package/dist/types/components/pages/CoursePhaseParticpationsTable/components/columns.d.ts +9 -0
  235. package/dist/types/components/pages/CoursePhaseParticpationsTable/interfaces/ExtraParticipationTableData.d.ts +5 -0
  236. package/dist/types/components/pages/CoursePhaseParticpationsTable/utils/downloadParticipations.d.ts +3 -0
  237. package/dist/types/components/pages/Mailing/CoursePhaseMailing.d.ts +6 -0
  238. package/dist/types/components/pages/Mailing/components/AvailableMailPlaceholders.d.ts +12 -0
  239. package/dist/types/components/pages/Mailing/components/ConfirmSendEmailDialog.d.ts +8 -0
  240. package/dist/types/components/pages/Mailing/components/MailingEditor.d.ts +12 -0
  241. package/dist/types/components/pages/Mailing/components/ManualMailSending.d.ts +7 -0
  242. package/dist/types/components/pages/Mailing/components/SettingsCard.d.ts +7 -0
  243. package/dist/types/components/table/GroupActionDialog.d.ts +11 -0
  244. package/dist/types/components/table/SortableHeader.d.ts +4 -0
  245. package/dist/types/index.d.ts +1 -0
  246. package/package.json +23 -2
  247. package/src/index.css +1 -2
@@ -0,0 +1,52 @@
1
+ import type { ImageOptions } from '@tiptap/extension-image';
2
+ import type { Editor } from '@tiptap/react';
3
+ import { type FileError, type FileValidationOptions } from '../../utils';
4
+ import type { Attrs } from '@tiptap/pm/model';
5
+ type ImageAction = 'download' | 'copyImage' | 'copyLink';
6
+ interface DownloadImageCommandProps {
7
+ src: string;
8
+ alt?: string;
9
+ }
10
+ interface ImageActionProps extends DownloadImageCommandProps {
11
+ action: ImageAction;
12
+ }
13
+ export type UploadReturnType = string | {
14
+ id: string | number;
15
+ src: string;
16
+ };
17
+ interface CustomImageOptions extends ImageOptions, Omit<FileValidationOptions, 'allowBase64'> {
18
+ uploadFn?: (file: File, editor: Editor) => Promise<UploadReturnType>;
19
+ onImageRemoved?: (props: Attrs) => void;
20
+ onActionSuccess?: (props: ImageActionProps) => void;
21
+ onActionError?: (error: Error, props: ImageActionProps) => void;
22
+ downloadImage?: (props: ImageActionProps, options: CustomImageOptions) => Promise<void>;
23
+ copyImage?: (props: ImageActionProps, options: CustomImageOptions) => Promise<void>;
24
+ copyLink?: (props: ImageActionProps, options: CustomImageOptions) => Promise<void>;
25
+ onValidationError?: (errors: FileError[]) => void;
26
+ onToggle?: (editor: Editor, files: File[], pos: number) => void;
27
+ }
28
+ declare module '@tiptap/react' {
29
+ interface Commands<ReturnType> {
30
+ setImages: {
31
+ setImages: (attrs: {
32
+ src: string | File;
33
+ alt?: string;
34
+ title?: string;
35
+ }[]) => ReturnType;
36
+ };
37
+ downloadImage: {
38
+ downloadImage: (attrs: DownloadImageCommandProps) => ReturnType;
39
+ };
40
+ copyImage: {
41
+ copyImage: (attrs: DownloadImageCommandProps) => ReturnType;
42
+ };
43
+ copyLink: {
44
+ copyLink: (attrs: DownloadImageCommandProps) => ReturnType;
45
+ };
46
+ toggleImage: {
47
+ toggleImage: () => ReturnType;
48
+ };
49
+ }
50
+ }
51
+ export declare const Image: import("@tiptap/react").Node<CustomImageOptions, any>;
52
+ export {};
@@ -0,0 +1 @@
1
+ export * from './image';
@@ -0,0 +1,9 @@
1
+ export * from './code-block-lowlight';
2
+ export * from './color';
3
+ export * from './horizontal-rule';
4
+ export * from './image';
5
+ export * from './link';
6
+ export * from './selection';
7
+ export * from './unset-all-marks';
8
+ export * from './reset-marks-on-enter';
9
+ export * from './file-handler';
@@ -0,0 +1 @@
1
+ export * from './link';
@@ -0,0 +1,2 @@
1
+ export declare const Link: import("@tiptap/react").Mark<import("@tiptap/extension-link").LinkOptions, any>;
2
+ export default Link;
@@ -0,0 +1 @@
1
+ export * from './reset-marks-on-enter';
@@ -0,0 +1,2 @@
1
+ import { Extension } from '@tiptap/react';
2
+ export declare const ResetMarksOnEnter: Extension<any, any>;
@@ -0,0 +1 @@
1
+ export * from './selection';
@@ -0,0 +1,3 @@
1
+ import { Extension } from '@tiptap/react';
2
+ export declare const Selection: Extension<any, any>;
3
+ export default Selection;
@@ -0,0 +1 @@
1
+ export * from './unset-all-marks';
@@ -0,0 +1,2 @@
1
+ import { Extension } from '@tiptap/react';
2
+ export declare const UnsetAllMarks: Extension<any, any>;
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import './styles/index.css';
3
+ import { MinimalTiptapProps } from './minimal-tiptap';
4
+ export declare const DescriptionMinimalTiptapEditor: React.ForwardRefExoticComponent<MinimalTiptapProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1 @@
1
+ export declare function useContainerSize(element: HTMLElement | null): DOMRect;
@@ -0,0 +1,13 @@
1
+ import type { Editor } from '@tiptap/react';
2
+ import type { Content, UseEditorOptions } from '@tiptap/react';
3
+ export interface UseMinimalTiptapEditorProps extends UseEditorOptions {
4
+ value?: Content;
5
+ output?: 'html' | 'json' | 'text';
6
+ placeholder?: string;
7
+ editorClassName?: string;
8
+ throttleDelay?: number;
9
+ onUpdate?: (content: Content) => void;
10
+ onBlur?: (content: Content) => void;
11
+ }
12
+ export declare const useMinimalTiptapEditor: ({ value, output, placeholder, editorClassName, throttleDelay, onUpdate, onBlur, ...props }: UseMinimalTiptapEditorProps) => Editor | null;
13
+ export default useMinimalTiptapEditor;
@@ -0,0 +1,2 @@
1
+ export declare const useTheme: () => boolean;
2
+ export default useTheme;
@@ -0,0 +1 @@
1
+ export declare function useThrottle<T extends (...args: any[]) => void>(callback: T, delay: number): (...args: Parameters<T>) => void;
@@ -0,0 +1 @@
1
+ export * from './minimal-tiptap';
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+ import './styles/index.css';
3
+ import type { Content } from '@tiptap/react';
4
+ import type { UseMinimalTiptapEditorProps } from './hooks/use-minimal-tiptap';
5
+ export interface MailingTiptapProps extends Omit<UseMinimalTiptapEditorProps, 'onUpdate'> {
6
+ value?: Content;
7
+ onChange?: (value: Content) => void;
8
+ className?: string;
9
+ editorContentClassName?: string;
10
+ placeholders: string[];
11
+ }
12
+ export declare const MailingTiptapEditor: React.ForwardRefExoticComponent<MailingTiptapProps & React.RefAttributes<HTMLDivElement>>;
13
+ export default MailingTiptapEditor;
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+ import './styles/index.css';
3
+ import type { Content } from '@tiptap/react';
4
+ import type { UseMinimalTiptapEditorProps } from './hooks/use-minimal-tiptap';
5
+ export interface MinimalTiptapProps extends Omit<UseMinimalTiptapEditorProps, 'onUpdate'> {
6
+ value?: Content;
7
+ onChange?: (value: Content) => void;
8
+ className?: string;
9
+ editorContentClassName?: string;
10
+ }
11
+ export declare const MinimalTiptapEditor: React.ForwardRefExoticComponent<MinimalTiptapProps & React.RefAttributes<HTMLDivElement>>;
12
+ export default MinimalTiptapEditor;
@@ -0,0 +1,25 @@
1
+ import type { Editor } from '@tiptap/react';
2
+ import type { EditorView } from '@tiptap/pm/view';
3
+ import type { EditorState } from '@tiptap/pm/state';
4
+ export interface LinkProps {
5
+ url: string;
6
+ text?: string;
7
+ openInNewTab?: boolean;
8
+ }
9
+ export interface ShouldShowProps {
10
+ editor: Editor;
11
+ view: EditorView;
12
+ state: EditorState;
13
+ oldState?: EditorState;
14
+ from: number;
15
+ to: number;
16
+ }
17
+ export interface FormatAction {
18
+ label: string;
19
+ icon?: React.ReactNode;
20
+ action: (editor: Editor) => void;
21
+ isActive: (editor: Editor) => boolean;
22
+ canExecute: (editor: Editor) => boolean;
23
+ shortcuts: string[];
24
+ value: string;
25
+ }
@@ -0,0 +1,38 @@
1
+ import type { Editor } from '@tiptap/react';
2
+ import type { MinimalTiptapProps } from './minimal-tiptap';
3
+ type ShortcutKeyResult = {
4
+ symbol: string;
5
+ readable: string;
6
+ };
7
+ export type FileError = {
8
+ file: File | string;
9
+ reason: 'type' | 'size' | 'invalidBase64' | 'base64NotAllowed';
10
+ };
11
+ export type FileValidationOptions = {
12
+ allowedMimeTypes: string[];
13
+ maxFileSize?: number;
14
+ allowBase64: boolean;
15
+ };
16
+ type FileInput = File | {
17
+ src: string | File;
18
+ alt?: string;
19
+ title?: string;
20
+ };
21
+ export declare const isClient: () => boolean;
22
+ export declare const isServer: () => boolean;
23
+ export declare const isMacOS: () => boolean;
24
+ export declare const getShortcutKey: (key: string) => ShortcutKeyResult;
25
+ export declare const getShortcutKeys: (keys: string[]) => ShortcutKeyResult[];
26
+ export declare const getOutput: (editor: Editor, format: MinimalTiptapProps["output"]) => object | string;
27
+ export declare const isUrl: (text: string, options?: {
28
+ requireHostname: boolean;
29
+ allowBase64?: boolean;
30
+ }) => boolean;
31
+ export declare const sanitizeUrl: (url: string | null | undefined, options?: {
32
+ allowBase64?: boolean;
33
+ }) => string | undefined;
34
+ export declare const blobUrlToBase64: (blobUrl: string) => Promise<string>;
35
+ export declare const randomId: () => string;
36
+ export declare const fileToBase64: (file: File | Blob) => Promise<string>;
37
+ export declare const filterFiles: <T extends FileInput>(files: T[], options: FileValidationOptions) => [T[], FileError[]];
38
+ export {};
@@ -0,0 +1,13 @@
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 {};
@@ -0,0 +1,7 @@
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 {};
@@ -0,0 +1,10 @@
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 {};
@@ -0,0 +1,9 @@
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 {};
@@ -0,0 +1,5 @@
1
+ export interface ExtraParticipationTableData {
2
+ courseParticipationID: string;
3
+ value: React.ReactNode;
4
+ stringValue?: string;
5
+ }
@@ -0,0 +1,3 @@
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;
@@ -0,0 +1,6 @@
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 {};
@@ -0,0 +1,12 @@
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 {};
@@ -0,0 +1,8 @@
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 {};
@@ -0,0 +1,12 @@
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 {};
@@ -0,0 +1,7 @@
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 {};
@@ -0,0 +1,7 @@
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 {};
@@ -0,0 +1,11 @@
1
+ interface ActionDialogProps {
2
+ title: string;
3
+ description: string;
4
+ confirmLabel: string;
5
+ confirmVariant?: 'default' | 'destructive';
6
+ isOpen: boolean;
7
+ onClose: () => void;
8
+ onConfirm: () => void;
9
+ }
10
+ export declare const ActionDialog: ({ title, description, confirmLabel, confirmVariant, isOpen, onClose, onConfirm, }: ActionDialogProps) => import("react/jsx-runtime").JSX.Element;
11
+ export {};
@@ -0,0 +1,4 @@
1
+ export declare const SortableHeader: ({ column, title }: {
2
+ column: any;
3
+ title: string;
4
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,5 @@
1
1
  import './index.css';
2
+ import './components/minimal-tiptap/styles/index.css';
2
3
  export * from './components';
3
4
  export * from './hooks';
4
5
  export * from './lib';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tumaet/prompt-ui-components",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/ls1intum/prompt-lib.git"
@@ -11,7 +11,7 @@
11
11
  "license": "MIT",
12
12
  "exports": {
13
13
  ".": "./dist/index.js",
14
- "./*": "./dist/*",
14
+ "./index.css": "./dist/index.css",
15
15
  "./tailwind-config": "./tailwind/tailwind.config.js",
16
16
  "./postcss-config": "./tailwind/postcss.config.js"
17
17
  },
@@ -50,10 +50,28 @@
50
50
  "@radix-ui/react-toggle": "^1.1.0",
51
51
  "@radix-ui/react-toggle-group": "^1.1.0",
52
52
  "@radix-ui/react-tooltip": "^1.1.4",
53
+ "@tiptap/core": "^2.11.7",
54
+ "@tiptap/extension-code-block": "^2.11.7",
55
+ "@tiptap/extension-code-block-lowlight": "^2.11.7",
56
+ "@tiptap/extension-color": "^2.11.7",
57
+ "@tiptap/extension-heading": "^2.11.7",
58
+ "@tiptap/extension-horizontal-rule": "^2.11.7",
59
+ "@tiptap/extension-image": "^2.11.7",
60
+ "@tiptap/extension-link": "^2.11.7",
61
+ "@tiptap/extension-placeholder": "^2.11.7",
62
+ "@tiptap/extension-text-style": "^2.11.7",
63
+ "@tiptap/extension-typography": "^2.11.7",
64
+ "@tiptap/extension-underline": "^2.11.7",
65
+ "@tiptap/pm": "^2.11.7",
66
+ "@tiptap/react": "^2.11.7",
67
+ "@tiptap/starter-kit": "^2.11.7",
68
+ "@tumaet/prompt-shared-state": "^0.0.21",
53
69
  "class-variance-authority": "^0.7.0",
54
70
  "clsx": "^2.1.1",
55
71
  "cmdk": "1.0.0",
56
72
  "date-fns": "^4.1.0",
73
+ "highlight.js": "^11.11.1",
74
+ "lowlight": "^3.3.0",
57
75
  "lucide-react": "^0.503.0",
58
76
  "postcss": "^8.5.3",
59
77
  "postcss-preset-env": "^10.1.6",
@@ -61,7 +79,10 @@
61
79
  "react-day-picker": "8.10.1",
62
80
  "react-dom": "^18.3.1",
63
81
  "react-hook-form": "^7.53.2",
82
+ "react-medium-image-zoom": "^5.2.14",
83
+ "react-router-dom": "^7.5.2",
64
84
  "recharts": "^2.15.3",
85
+ "sonner": "^2.0.3",
65
86
  "tailwind-merge": "^2.5.4",
66
87
  "typescript": "^5.7.3"
67
88
  },
package/src/index.css CHANGED
@@ -1,7 +1,6 @@
1
1
  @tailwind base;
2
2
  @tailwind components;
3
- @tailwind utilities;
4
-
3
+ @tailwind utilities;
5
4
 
6
5
  @layer base {
7
6
  :root {