tycho-components 0.16.2 → 0.16.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.
@@ -5,6 +5,7 @@ type Props = {
5
5
  onSuccess: (response: UploadedFile) => void;
6
6
  onError?: (err: any) => void;
7
7
  accept: Record<string, string[]>;
8
+ messages?: Partial<Record<'label.dropzone' | 'label.uploaded.file', string>>;
8
9
  onDrop?: () => void;
9
10
  keepName?: boolean;
10
11
  title?: string;
@@ -14,5 +15,5 @@ type Props = {
14
15
  };
15
16
  disableConfirm?: boolean;
16
17
  };
17
- export default function AppDropzone({ folder, onClose, onSuccess, onError, accept, onDrop, keepName, title, alternativeButton, disableConfirm, }: Props): import("react/jsx-runtime").JSX.Element;
18
+ export default function AppDropzone({ folder, onClose, onSuccess, onError, accept, messages, onDrop, keepName, title, alternativeButton, disableConfirm, }: Props): import("react/jsx-runtime").JSX.Element;
18
19
  export {};
@@ -3,11 +3,11 @@ import { useRef } from 'react';
3
3
  import { useTranslation } from 'react-i18next';
4
4
  import AppModal from '../AppModal';
5
5
  import AppDropzoneBody from './AppDropzoneBody';
6
- export default function AppDropzone({ folder, onClose, onSuccess, onError, accept, onDrop, keepName, title, alternativeButton, disableConfirm = false, }) {
6
+ export default function AppDropzone({ folder, onClose, onSuccess, onError, accept, messages, onDrop, keepName, title, alternativeButton, disableConfirm = false, }) {
7
7
  const { t } = useTranslation('upload');
8
8
  const bodyRef = useRef(null);
9
9
  const handleConfirm = () => {
10
10
  bodyRef.current?.upload();
11
11
  };
12
- return (_jsx(AppModal, { title: title || t('modal.title'), className: "modal-upload", close: onClose, confirm: handleConfirm, disableConfirm: disableConfirm, alternativeButton: alternativeButton, children: _jsx(AppDropzoneBody, { ref: bodyRef, folder: folder, onSuccess: onSuccess, onError: onError, accept: accept, onDrop: onDrop, keepName: keepName, showConfirmButton: false }) }));
12
+ return (_jsx(AppModal, { title: title || t('modal.title'), className: "modal-upload", close: onClose, confirm: handleConfirm, disableConfirm: disableConfirm, alternativeButton: alternativeButton, children: _jsx(AppDropzoneBody, { ref: bodyRef, folder: folder, onSuccess: onSuccess, onError: onError, accept: accept, messages: messages, onDrop: onDrop, keepName: keepName, showConfirmButton: false }) }));
13
13
  }
@@ -5,6 +5,7 @@ export type AppDropzoneBodyProps = {
5
5
  onSuccess: (response: UploadedFile) => void;
6
6
  onError?: (err: any) => void;
7
7
  accept: Record<string, string[]>;
8
+ messages?: Partial<Record<'label.dropzone' | 'label.uploaded.file', string>>;
8
9
  onDrop?: () => void;
9
10
  keepName?: boolean;
10
11
  /** When false, the confirm button is hidden (e.g. when used inside modal with its own confirm) */
@@ -8,7 +8,7 @@ import { toastLoading } from '../configs/store/actions';
8
8
  import { useMessageUtils } from '../configs/useMessageUtils';
9
9
  import UploadService from './UploadService';
10
10
  import './style.scss';
11
- function AppDropzoneBodyInner({ folder, onSuccess, onError, accept, onDrop, keepName, showConfirmButton = true, disablePreview = false, disableConfirm = false, }, ref) {
11
+ function AppDropzoneBodyInner({ folder, onSuccess, onError, accept, messages, onDrop, keepName, showConfirmButton = true, disablePreview = false, disableConfirm = false, }, ref) {
12
12
  const { t } = useTranslation('upload');
13
13
  const { state, dispatch } = useContext(CommonContext);
14
14
  const { dispatchError } = useMessageUtils();
@@ -64,7 +64,11 @@ function AppDropzoneBodyInner({ folder, onSuccess, onError, accept, onDrop, keep
64
64
  const handleCancel = () => {
65
65
  setFile(undefined);
66
66
  };
67
- return (_jsxs("div", { className: "dropzone-container", children: [!file && (_jsx(Dropzone, { onDrop: (acceptedFiles) => handleDrop(acceptedFiles), accept: accept, maxFiles: 1, children: ({ getRootProps, getInputProps }) => (_jsxs("div", { ...getRootProps(), className: "dropzone", children: [_jsx("input", { ...getInputProps() }), _jsx("span", { children: t('label.dropzone') })] })) })), file && (_jsxs("div", { className: "uploaded-file", children: [preview && _jsx("img", { className: "preview", src: preview, alt: "" }), !preview && (_jsxs(_Fragment, { children: [_jsx("b", { children: t('label.uploaded.file') }), _jsx("span", { children: file.name })] })), showConfirmButton && (_jsxs("div", { className: "buttons", children: [_jsx(Button, { onClick: handleCancel, text: t('common:button.cancel'), size: "small", mode: "outlined", color: "danger" }), _jsx(Button, { onClick: upload, text: t('label.confirm'), size: "small", mode: "outlined", disabled: disableConfirm })] }))] }))] }));
67
+ const resolveMessage = (key) => {
68
+ const customMessage = messages?.[key]?.trim();
69
+ return customMessage || t(key);
70
+ };
71
+ return (_jsxs("div", { className: "dropzone-container", children: [!file && (_jsx(Dropzone, { onDrop: (acceptedFiles) => handleDrop(acceptedFiles), accept: accept, maxFiles: 1, children: ({ getRootProps, getInputProps }) => (_jsxs("div", { ...getRootProps(), className: "dropzone", children: [_jsx("input", { ...getInputProps() }), _jsx("span", { children: resolveMessage('label.dropzone') })] })) })), file && (_jsxs("div", { className: "uploaded-file", children: [preview && _jsx("img", { className: "preview", src: preview, alt: "" }), !preview && (_jsxs(_Fragment, { children: [_jsx("b", { children: resolveMessage('label.uploaded.file') }), _jsx("span", { children: file.name })] })), showConfirmButton && (_jsxs("div", { className: "buttons", children: [_jsx(Button, { onClick: handleCancel, text: t('common:button.cancel'), size: "small", mode: "outlined", color: "danger" }), _jsx(Button, { onClick: upload, text: t('label.confirm'), size: "small", mode: "outlined", disabled: disableConfirm })] }))] }))] }));
68
72
  }
69
73
  const AppDropzoneBody = forwardRef(AppDropzoneBodyInner);
70
74
  export default AppDropzoneBody;
@@ -31,10 +31,12 @@
31
31
  border: 1px solid var(--border-subtle-3);
32
32
  border-radius: var(--radius-100);
33
33
  padding: 16px;
34
- }
35
-
36
- .buttons {
37
- display: flex;
38
34
  gap: 16px;
35
+
36
+ .buttons {
37
+ display: flex;
38
+ gap: 16px;
39
+ margin-top: 16px;
40
+ }
39
41
  }
40
42
  }
@@ -46,71 +46,73 @@ export declare const commonResources: {
46
46
  'label.edited': string;
47
47
  };
48
48
  common: {
49
- 'button.confirm': string;
50
- 'button.continue': string;
51
- 'button.cancel': string;
52
- 'button.remove': string;
53
- 'button.save': string;
54
- 'button.clone': string;
55
- 'button.apply': string;
56
- 'button.search': string;
57
- 'button.edit': string;
58
- 'button.open': string;
59
- 'button.close': string;
60
- 'button.add': string;
61
- 'button.filter': string;
62
- 'button.clear': string;
63
- 'button.play': string;
64
- 'button.pause': string;
65
- 'button.view': string;
66
- 'label.public': string;
67
- 'label.private': string;
68
- 'label.notavailable': string;
69
- 'generic.boolean.true': string;
70
- 'generic.boolean.false': string;
71
- 'select.empty': string;
72
- 'pagination.label.showing': string;
73
- 'pagination.label.results': string;
74
- 'pagination.label.total': string;
75
- 'generic.loading': string;
76
- 'generic.placeholder': string;
77
- 'generic.placeholder.comma.separated': string;
78
- 'generic.placeholder.select': string;
79
- 'validation.required': string;
80
- 'placeholder.check': string;
81
- 'placeholder.input': string;
82
- 'user.status.active': string;
83
- 'user.status.inactive': string;
84
- 'user.status.super': string;
85
- 'user.status.visitor': string;
86
- 'update.success': string;
87
- 'internal.server.error': string;
88
- 'table.label.rows-page': string;
89
- 'table.label.pages': string;
90
- 'table.label.items': string;
91
- 'tooltip.copy': string;
92
- 'tooltip.copied': string;
93
- 'document.status.deleted': string;
94
- 'document.status.editing': string;
95
- 'document.status.edited': string;
96
- 'document.status.revision': string;
97
- 'document.status.completed': string;
98
- 'document.status.syntactic': string;
99
- 'document.status.copying': string;
100
- 'document.status.error': string;
101
- 'sentence.status.todo': string;
102
- 'sentence.status.done': string;
103
- 'sentence.status.ignore': string;
104
- 'sentence.status.tagged': string;
105
- 'sentence.status.review': string;
106
- 'sentence.status.error': string;
107
- 'sentence.status.auto': string;
108
- 'corpus.status.active': string;
109
- 'corpus.status.inactive': string;
110
- 'corpus.status.archived': string;
111
- 'corpus.status.demo': string;
112
- 'corpus.status.pending': string;
113
- 'corpus.status.rejected': string;
49
+ "button.confirm": string;
50
+ "button.continue": string;
51
+ "button.cancel": string;
52
+ "button.remove": string;
53
+ "button.save": string;
54
+ "button.clone": string;
55
+ "button.apply": string;
56
+ "button.search": string;
57
+ "button.edit": string;
58
+ "button.open": string;
59
+ "button.close": string;
60
+ "button.add": string;
61
+ "button.filter": string;
62
+ "button.clear": string;
63
+ "button.play": string;
64
+ "button.pause": string;
65
+ "button.view": string;
66
+ "button.next": string;
67
+ "button.back": string;
68
+ "label.public": string;
69
+ "label.private": string;
70
+ "label.notavailable": string;
71
+ "generic.boolean.true": string;
72
+ "generic.boolean.false": string;
73
+ "select.empty": string;
74
+ "pagination.label.showing": string;
75
+ "pagination.label.results": string;
76
+ "pagination.label.total": string;
77
+ "generic.loading": string;
78
+ "generic.placeholder": string;
79
+ "generic.placeholder.comma.separated": string;
80
+ "generic.placeholder.select": string;
81
+ "validation.required": string;
82
+ "placeholder.check": string;
83
+ "placeholder.input": string;
84
+ "user.status.active": string;
85
+ "user.status.inactive": string;
86
+ "user.status.super": string;
87
+ "user.status.visitor": string;
88
+ "update.success": string;
89
+ "internal.server.error": string;
90
+ "table.label.rows-page": string;
91
+ "table.label.pages": string;
92
+ "table.label.items": string;
93
+ "tooltip.copy": string;
94
+ "tooltip.copied": string;
95
+ "document.status.deleted": string;
96
+ "document.status.editing": string;
97
+ "document.status.edited": string;
98
+ "document.status.revision": string;
99
+ "document.status.completed": string;
100
+ "document.status.syntactic": string;
101
+ "document.status.copying": string;
102
+ "document.status.error": string;
103
+ "sentence.status.todo": string;
104
+ "sentence.status.done": string;
105
+ "sentence.status.ignore": string;
106
+ "sentence.status.tagged": string;
107
+ "sentence.status.review": string;
108
+ "sentence.status.error": string;
109
+ "sentence.status.auto": string;
110
+ "corpus.status.active": string;
111
+ "corpus.status.inactive": string;
112
+ "corpus.status.archived": string;
113
+ "corpus.status.demo": string;
114
+ "corpus.status.pending": string;
115
+ "corpus.status.rejected": string;
114
116
  };
115
117
  header: {
116
118
  "label.platform": string;
@@ -364,71 +366,73 @@ export declare const commonResources: {
364
366
  'label.edited': string;
365
367
  };
366
368
  common: {
367
- 'button.confirm': string;
368
- 'button.continue': string;
369
- 'button.cancel': string;
370
- 'button.remove': string;
371
- 'button.save': string;
372
- 'button.clone': string;
373
- 'button.apply': string;
374
- 'button.search': string;
375
- 'button.edit': string;
376
- 'button.open': string;
377
- 'button.add': string;
378
- 'button.close': string;
379
- 'button.filter': string;
380
- 'button.clear': string;
381
- 'button.play': string;
382
- 'button.pause': string;
383
- 'button.view': string;
384
- 'label.public': string;
385
- 'label.private': string;
386
- 'label.notavailable': string;
387
- 'generic.boolean.true': string;
388
- 'generic.boolean.false': string;
389
- 'select.empty': string;
390
- 'pagination.label.showing': string;
391
- 'pagination.label.results': string;
392
- 'pagination.label.total': string;
393
- 'generic.loading': string;
394
- 'generic.placeholder': string;
395
- 'generic.placeholder.select': string;
396
- 'generic.placeholder.comma.separated': string;
397
- 'validation.required': string;
398
- 'placeholder.check': string;
399
- 'placeholder.input': string;
400
- 'user.status.active': string;
401
- 'user.status.inactive': string;
402
- 'user.status.super': string;
403
- 'user.status.visitor': string;
404
- 'update.success': string;
405
- 'internal.server.error': string;
406
- 'table.label.rows-page': string;
407
- 'table.label.pages': string;
408
- 'table.label.items': string;
409
- 'tooltip.copy': string;
410
- 'tooltip.copied': string;
411
- 'document.status.deleted': string;
412
- 'document.status.editing': string;
413
- 'document.status.edited': string;
414
- 'document.status.revision': string;
415
- 'document.status.completed': string;
416
- 'document.status.syntactic': string;
417
- 'document.status.copying': string;
418
- 'document.status.error': string;
419
- 'sentence.status.todo': string;
420
- 'sentence.status.done': string;
421
- 'sentence.status.ignore': string;
422
- 'sentence.status.tagged': string;
423
- 'sentence.status.review': string;
424
- 'sentence.status.error': string;
425
- 'sentence.status.auto': string;
426
- 'corpus.status.active': string;
427
- 'corpus.status.inactive': string;
428
- 'corpus.status.archived': string;
429
- 'corpus.status.demo': string;
430
- 'corpus.status.pending': string;
431
- 'corpus.status.rejected': string;
369
+ "button.confirm": string;
370
+ "button.continue": string;
371
+ "button.cancel": string;
372
+ "button.remove": string;
373
+ "button.save": string;
374
+ "button.clone": string;
375
+ "button.apply": string;
376
+ "button.search": string;
377
+ "button.edit": string;
378
+ "button.open": string;
379
+ "button.add": string;
380
+ "button.close": string;
381
+ "button.filter": string;
382
+ "button.clear": string;
383
+ "button.play": string;
384
+ "button.pause": string;
385
+ "button.view": string;
386
+ "button.next": string;
387
+ "button.back": string;
388
+ "label.public": string;
389
+ "label.private": string;
390
+ "label.notavailable": string;
391
+ "generic.boolean.true": string;
392
+ "generic.boolean.false": string;
393
+ "select.empty": string;
394
+ "pagination.label.showing": string;
395
+ "pagination.label.results": string;
396
+ "pagination.label.total": string;
397
+ "generic.loading": string;
398
+ "generic.placeholder": string;
399
+ "generic.placeholder.select": string;
400
+ "generic.placeholder.comma.separated": string;
401
+ "validation.required": string;
402
+ "placeholder.check": string;
403
+ "placeholder.input": string;
404
+ "user.status.active": string;
405
+ "user.status.inactive": string;
406
+ "user.status.super": string;
407
+ "user.status.visitor": string;
408
+ "update.success": string;
409
+ "internal.server.error": string;
410
+ "table.label.rows-page": string;
411
+ "table.label.pages": string;
412
+ "table.label.items": string;
413
+ "tooltip.copy": string;
414
+ "tooltip.copied": string;
415
+ "document.status.deleted": string;
416
+ "document.status.editing": string;
417
+ "document.status.edited": string;
418
+ "document.status.revision": string;
419
+ "document.status.completed": string;
420
+ "document.status.syntactic": string;
421
+ "document.status.copying": string;
422
+ "document.status.error": string;
423
+ "sentence.status.todo": string;
424
+ "sentence.status.done": string;
425
+ "sentence.status.ignore": string;
426
+ "sentence.status.tagged": string;
427
+ "sentence.status.review": string;
428
+ "sentence.status.error": string;
429
+ "sentence.status.auto": string;
430
+ "corpus.status.active": string;
431
+ "corpus.status.inactive": string;
432
+ "corpus.status.archived": string;
433
+ "corpus.status.demo": string;
434
+ "corpus.status.pending": string;
435
+ "corpus.status.rejected": string;
432
436
  };
433
437
  header: {
434
438
  "label.platform": string;
@@ -679,71 +683,73 @@ export declare const commonResources: {
679
683
  'label.edited': string;
680
684
  };
681
685
  common: {
682
- 'button.confirm': string;
683
- 'button.continue': string;
684
- 'button.cancel': string;
685
- 'button.remove': string;
686
- 'button.save': string;
687
- 'button.clone': string;
688
- 'button.search': string;
689
- 'button.edit': string;
690
- 'button.open': string;
691
- 'button.apply': string;
692
- 'button.add': string;
693
- 'button.close': string;
694
- 'button.filter': string;
695
- 'button.clear': string;
696
- 'button.play': string;
697
- 'button.pause': string;
698
- 'button.view': string;
699
- 'label.public': string;
700
- 'label.private': string;
701
- 'label.notavailable': string;
702
- 'generic.boolean.true': string;
703
- 'generic.boolean.false': string;
704
- 'select.empty': string;
705
- 'pagination.label.showing': string;
706
- 'pagination.label.results': string;
707
- 'pagination.label.total': string;
708
- 'generic.loading': string;
709
- 'generic.placeholder': string;
710
- 'generic.placeholder.select': string;
711
- 'generic.placeholder.comma.separated': string;
712
- 'validation.required': string;
713
- 'placeholder.check': string;
714
- 'placeholder.input': string;
715
- 'user.status.active': string;
716
- 'user.status.inactive': string;
717
- 'user.status.super': string;
718
- 'user.status.visitor': string;
719
- 'update.success': string;
720
- 'internal.server.error': string;
721
- 'table.label.rows-page': string;
722
- 'table.label.pages': string;
723
- 'table.label.items': string;
724
- 'tooltip.copy': string;
725
- 'tooltip.copied': string;
726
- 'document.status.deleted': string;
727
- 'document.status.editing': string;
728
- 'document.status.edited': string;
729
- 'document.status.revision': string;
730
- 'document.status.completed': string;
731
- 'document.status.syntactic': string;
732
- 'document.status.copying': string;
733
- 'document.status.error': string;
734
- 'sentence.status.todo': string;
735
- 'sentence.status.done': string;
736
- 'sentence.status.ignore': string;
737
- 'sentence.status.tagged': string;
738
- 'sentence.status.review': string;
739
- 'sentence.status.error': string;
740
- 'sentence.status.auto': string;
741
- 'corpus.status.active': string;
742
- 'corpus.status.inactive': string;
743
- 'corpus.status.archived': string;
744
- 'corpus.status.demo': string;
745
- 'corpus.status.pending': string;
746
- 'corpus.status.rejected': string;
686
+ "button.confirm": string;
687
+ "button.continue": string;
688
+ "button.cancel": string;
689
+ "button.remove": string;
690
+ "button.save": string;
691
+ "button.clone": string;
692
+ "button.search": string;
693
+ "button.edit": string;
694
+ "button.open": string;
695
+ "button.apply": string;
696
+ "button.add": string;
697
+ "button.close": string;
698
+ "button.filter": string;
699
+ "button.clear": string;
700
+ "button.play": string;
701
+ "button.pause": string;
702
+ "button.view": string;
703
+ "button.back": string;
704
+ "button.next": string;
705
+ "label.public": string;
706
+ "label.private": string;
707
+ "label.notavailable": string;
708
+ "generic.boolean.true": string;
709
+ "generic.boolean.false": string;
710
+ "select.empty": string;
711
+ "pagination.label.showing": string;
712
+ "pagination.label.results": string;
713
+ "pagination.label.total": string;
714
+ "generic.loading": string;
715
+ "generic.placeholder": string;
716
+ "generic.placeholder.select": string;
717
+ "generic.placeholder.comma.separated": string;
718
+ "validation.required": string;
719
+ "placeholder.check": string;
720
+ "placeholder.input": string;
721
+ "user.status.active": string;
722
+ "user.status.inactive": string;
723
+ "user.status.super": string;
724
+ "user.status.visitor": string;
725
+ "update.success": string;
726
+ "internal.server.error": string;
727
+ "table.label.rows-page": string;
728
+ "table.label.pages": string;
729
+ "table.label.items": string;
730
+ "tooltip.copy": string;
731
+ "tooltip.copied": string;
732
+ "document.status.deleted": string;
733
+ "document.status.editing": string;
734
+ "document.status.edited": string;
735
+ "document.status.revision": string;
736
+ "document.status.completed": string;
737
+ "document.status.syntactic": string;
738
+ "document.status.copying": string;
739
+ "document.status.error": string;
740
+ "sentence.status.todo": string;
741
+ "sentence.status.done": string;
742
+ "sentence.status.ignore": string;
743
+ "sentence.status.tagged": string;
744
+ "sentence.status.review": string;
745
+ "sentence.status.error": string;
746
+ "sentence.status.auto": string;
747
+ "corpus.status.active": string;
748
+ "corpus.status.inactive": string;
749
+ "corpus.status.archived": string;
750
+ "corpus.status.demo": string;
751
+ "corpus.status.pending": string;
752
+ "corpus.status.rejected": string;
747
753
  };
748
754
  header: {
749
755
  "label.platform": string;