@exmg/exm-upload 1.1.35 → 1.1.37-alpha.31

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 (78) hide show
  1. package/.rollup.cache/root/repo/packages/exm-upload/dist/exm-dialog-upload-base.d.ts +90 -0
  2. package/.rollup.cache/root/repo/packages/exm-upload/dist/exm-dialog-upload-base.js +226 -0
  3. package/.rollup.cache/root/repo/packages/exm-upload/dist/exm-dialog-upload.d.ts +11 -0
  4. package/.rollup.cache/root/repo/packages/exm-upload/dist/exm-dialog-upload.js +15 -0
  5. package/.rollup.cache/root/repo/packages/exm-upload/dist/exm-upload-base.d.ts +148 -0
  6. package/.rollup.cache/root/repo/packages/exm-upload/dist/exm-upload-base.js +373 -0
  7. package/.rollup.cache/root/repo/packages/exm-upload/dist/exm-upload-crop-base.d.ts +16 -0
  8. package/.rollup.cache/root/repo/packages/exm-upload/dist/exm-upload-crop-base.js +76 -0
  9. package/.rollup.cache/root/repo/packages/exm-upload/dist/exm-upload-crop.d.ts +9 -0
  10. package/.rollup.cache/root/repo/packages/exm-upload/dist/exm-upload-crop.js +12 -0
  11. package/.rollup.cache/root/repo/packages/exm-upload/dist/exm-upload-drop-area-base.d.ts +8 -0
  12. package/.rollup.cache/root/repo/packages/exm-upload/dist/exm-upload-drop-area-base.js +34 -0
  13. package/.rollup.cache/root/repo/packages/exm-upload/dist/exm-upload-drop-area.d.ts +9 -0
  14. package/.rollup.cache/root/repo/packages/exm-upload/dist/exm-upload-drop-area.js +12 -0
  15. package/.rollup.cache/root/repo/packages/exm-upload/dist/exm-upload-input.d.ts +15 -0
  16. package/.rollup.cache/root/repo/packages/exm-upload/dist/exm-upload-input.js +84 -0
  17. package/.rollup.cache/root/repo/packages/exm-upload/dist/exm-upload-item-base.d.ts +45 -0
  18. package/.rollup.cache/root/repo/packages/exm-upload/dist/exm-upload-item-base.js +175 -0
  19. package/.rollup.cache/root/repo/packages/exm-upload/dist/exm-upload-item.d.ts +9 -0
  20. package/.rollup.cache/root/repo/packages/exm-upload/dist/exm-upload-item.js +12 -0
  21. package/.rollup.cache/root/repo/packages/exm-upload/dist/exm-upload.d.ts +19 -0
  22. package/.rollup.cache/root/repo/packages/exm-upload/dist/exm-upload.js +22 -0
  23. package/.rollup.cache/root/repo/packages/exm-upload/dist/index.d.ts +19 -0
  24. package/.rollup.cache/root/repo/packages/exm-upload/dist/index.js +18 -0
  25. package/.rollup.cache/root/repo/packages/exm-upload/dist/mixins/exm-upload-drag-drop-mixin.d.ts +10 -0
  26. package/.rollup.cache/root/repo/packages/exm-upload/dist/mixins/exm-upload-drag-drop-mixin.js +28 -0
  27. package/.rollup.cache/root/repo/packages/exm-upload/dist/styles/exm-dialog-upload-css.d.ts +1 -0
  28. package/.rollup.cache/root/repo/packages/exm-upload/dist/styles/exm-dialog-upload-css.js +253 -0
  29. package/.rollup.cache/root/repo/packages/exm-upload/dist/styles/exm-upload-crop-styles-css.d.ts +1 -0
  30. package/.rollup.cache/root/repo/packages/exm-upload/dist/styles/exm-upload-crop-styles-css.js +324 -0
  31. package/.rollup.cache/root/repo/packages/exm-upload/dist/styles/exm-upload-drop-area-styles-css.d.ts +1 -0
  32. package/.rollup.cache/root/repo/packages/exm-upload/dist/styles/exm-upload-drop-area-styles-css.js +52 -0
  33. package/.rollup.cache/root/repo/packages/exm-upload/dist/styles/exm-upload-input-css.d.ts +1 -0
  34. package/.rollup.cache/root/repo/packages/exm-upload/dist/styles/exm-upload-input-css.js +22 -0
  35. package/.rollup.cache/root/repo/packages/exm-upload/dist/styles/exm-upload-item-styles-css.d.ts +1 -0
  36. package/.rollup.cache/root/repo/packages/exm-upload/dist/styles/exm-upload-item-styles-css.js +124 -0
  37. package/.rollup.cache/root/repo/packages/exm-upload/dist/styles/exm-upload-styles-css.d.ts +1 -0
  38. package/.rollup.cache/root/repo/packages/exm-upload/dist/styles/exm-upload-styles-css.js +150 -0
  39. package/.rollup.cache/root/repo/packages/exm-upload/dist/types.d.ts +33 -0
  40. package/.rollup.cache/root/repo/packages/exm-upload/dist/types.js +10 -0
  41. package/.rollup.cache/root/repo/packages/exm-upload/dist/upload/adapters/form-data-adapter.d.ts +7 -0
  42. package/.rollup.cache/root/repo/packages/exm-upload/dist/upload/adapters/local-adapter.d.ts +6 -0
  43. package/.rollup.cache/root/repo/packages/exm-upload/dist/upload/adapters/xhr-adapter.d.ts +9 -0
  44. package/.rollup.cache/root/repo/packages/exm-upload/dist/upload/index.d.ts +1 -0
  45. package/.rollup.cache/root/repo/packages/exm-upload/dist/upload/service.d.ts +9 -0
  46. package/.rollup.cache/root/repo/packages/exm-upload/dist/upload/service.js +45 -0
  47. package/.rollup.cache/root/repo/packages/exm-upload/dist/upload/types.d.ts +12 -0
  48. package/.rollup.cache/root/repo/packages/exm-upload/dist/utils.d.ts +33 -0
  49. package/.rollup.cache/root/repo/packages/exm-upload/dist/utils.js +89 -0
  50. package/dist/exm-dialog-upload-base.js +6 -4
  51. package/dist/exm-dialog-upload.js +4 -2
  52. package/dist/exm-upload-base.js +9 -7
  53. package/dist/exm-upload-crop-base.js +7 -4
  54. package/dist/exm-upload-crop.js +4 -2
  55. package/dist/exm-upload-drop-area-base.js +6 -3
  56. package/dist/exm-upload-drop-area.js +4 -2
  57. package/dist/exm-upload-input.js +5 -3
  58. package/dist/exm-upload-item-base.js +9 -6
  59. package/dist/exm-upload-item.js +4 -2
  60. package/dist/exm-upload.js +4 -2
  61. package/dist/index.d.ts +1 -0
  62. package/dist/index.js +3 -2
  63. package/dist/mixins/exm-upload-drag-drop-mixin.js +6 -3
  64. package/dist/styles/exm-dialog-upload-css.js +5 -2
  65. package/dist/styles/exm-upload-crop-styles-css.js +5 -2
  66. package/dist/styles/exm-upload-drop-area-styles-css.js +5 -2
  67. package/dist/styles/exm-upload-input-css.js +5 -2
  68. package/dist/styles/exm-upload-item-styles-css.js +5 -2
  69. package/dist/styles/exm-upload-styles-css.js +5 -2
  70. package/dist/types.js +5 -3
  71. package/dist/upload/service.js +2 -1
  72. package/dist/utils.js +8 -10
  73. package/package.json +5 -5
  74. /package/{dist → .rollup.cache/root/repo/packages/exm-upload/dist}/upload/adapters/form-data-adapter.js +0 -0
  75. /package/{dist → .rollup.cache/root/repo/packages/exm-upload/dist}/upload/adapters/local-adapter.js +0 -0
  76. /package/{dist → .rollup.cache/root/repo/packages/exm-upload/dist}/upload/adapters/xhr-adapter.js +0 -0
  77. /package/{dist → .rollup.cache/root/repo/packages/exm-upload/dist}/upload/index.js +0 -0
  78. /package/{dist → .rollup.cache/root/repo/packages/exm-upload/dist}/upload/types.js +0 -0
@@ -0,0 +1,90 @@
1
+ import '@material/web/dialog/dialog.js';
2
+ import { MdDialog } from '@material/web/dialog/dialog.js';
3
+ import '@material/web/button/filled-button.js';
4
+ import '@material/web/button/text-button.js';
5
+ import '@material/web/icon/icon.js';
6
+ import '@material/web/iconbutton/icon-button.js';
7
+ import { ExmgElement } from '@exmg/lit-base';
8
+ import { ExmUpload } from './exm-upload.js';
9
+ import { FileData } from './types.js';
10
+ export declare const CLOSE_ACTION = "close";
11
+ export declare class ExmDialogUploadBase extends ExmgElement {
12
+ /**
13
+ * Opens the dialog when set to `true` and closes it when set to `false`.
14
+ */
15
+ open: boolean;
16
+ /**
17
+ * Set to make the dialog position draggable.
18
+ */
19
+ draggable: boolean;
20
+ /**
21
+ * Title of the dialog
22
+ */
23
+ title: string;
24
+ type?: 'alert' | undefined;
25
+ /**
26
+ * Submit button copy
27
+ */
28
+ submitBtn: string;
29
+ /**
30
+ * Cancel button copy
31
+ */
32
+ cancelBtn: string;
33
+ /**
34
+ * Icon of the dialog
35
+ */
36
+ icon: string;
37
+ /**
38
+ * Internall used to show button spinner.
39
+ */
40
+ submitting: boolean;
41
+ protected dialog: MdDialog;
42
+ _cropMode: boolean;
43
+ _hasItems: boolean;
44
+ protected getUploadElement(): ExmUpload;
45
+ /**
46
+ * Copy for done button
47
+ */
48
+ buttonSaveCopy: string;
49
+ /**
50
+ * Copy for image crop done button
51
+ */
52
+ buttonCropDoneCopy: string;
53
+ firstUpdated(): void;
54
+ _startCrop(): void;
55
+ _stopCrop(): void;
56
+ /**
57
+ * Opens and shows the dialog. This is equivalent to setting the `open`
58
+ * property to true.
59
+ */
60
+ show(): void;
61
+ /**
62
+ * Closes the dialog. This is equivalent to setting the `open`
63
+ * property to false.
64
+ */
65
+ close(): void;
66
+ /**
67
+ * Opens and shows the dialog if it is closed; otherwise closes it.
68
+ */
69
+ toggleShow(): void;
70
+ _getImageUploadElement(): ExmUpload | null;
71
+ _handleSuccess(): void;
72
+ _handleClose(): void;
73
+ _handleFilesChanged(e: CustomEvent<{
74
+ files: FileData[];
75
+ }>): void;
76
+ /**
77
+ * Action method that needs to be implemented
78
+ * @param {CustomEvent} e
79
+ */
80
+ doAction?(url?: string): Promise<void> | void;
81
+ protected _handleSubmit(): Promise<void>;
82
+ _cancelActiveCrop(): void;
83
+ _saveActiveCrop(): void;
84
+ /**
85
+ * Method should be overriden to render upload element
86
+ */
87
+ protected renderContent(): import("lit-html").TemplateResult<1>;
88
+ renderActions(): import("lit-html").TemplateResult<1>;
89
+ protected render(): import("lit-html").TemplateResult<1>;
90
+ }
@@ -0,0 +1,226 @@
1
+ import { __decorate } from "tslib";
2
+ import { html } from 'lit';
3
+ import '@material/web/dialog/dialog.js';
4
+ import '@material/web/button/filled-button.js';
5
+ import '@material/web/button/text-button.js';
6
+ import '@material/web/icon/icon.js';
7
+ import '@material/web/iconbutton/icon-button.js';
8
+ import { property, query, state } from 'lit/decorators.js';
9
+ import { ExmgElement } from '@exmg/lit-base';
10
+ export const CLOSE_ACTION = 'close';
11
+ export class ExmDialogUploadBase extends ExmgElement {
12
+ constructor() {
13
+ super(...arguments);
14
+ /**
15
+ * Opens the dialog when set to `true` and closes it when set to `false`.
16
+ */
17
+ this.open = false;
18
+ /**
19
+ * Set to make the dialog position draggable.
20
+ */
21
+ this.draggable = false;
22
+ /**
23
+ * Title of the dialog
24
+ */
25
+ this.title = 'Upload files';
26
+ this.type = 'alert';
27
+ /**
28
+ * Submit button copy
29
+ */
30
+ this.submitBtn = 'Save';
31
+ /**
32
+ * Cancel button copy
33
+ */
34
+ this.cancelBtn = 'Cancel';
35
+ /**
36
+ * Icon of the dialog
37
+ */
38
+ this.icon = 'close';
39
+ /**
40
+ * Internall used to show button spinner.
41
+ */
42
+ this.submitting = false;
43
+ this._cropMode = false;
44
+ this._hasItems = false;
45
+ /**
46
+ * Copy for done button
47
+ */
48
+ this.buttonSaveCopy = 'Save';
49
+ /**
50
+ * Copy for image crop done button
51
+ */
52
+ this.buttonCropDoneCopy = 'Done';
53
+ }
54
+ getUploadElement() {
55
+ return this.shadowRoot.querySelector('exm-upload');
56
+ }
57
+ firstUpdated() {
58
+ const uploadElement = this.getUploadElement();
59
+ if (uploadElement) {
60
+ uploadElement.isModeDialog = true;
61
+ }
62
+ }
63
+ _startCrop() {
64
+ this._cropMode = true;
65
+ }
66
+ _stopCrop() {
67
+ this._cropMode = false;
68
+ }
69
+ /**
70
+ * Opens and shows the dialog. This is equivalent to setting the `open`
71
+ * property to true.
72
+ */
73
+ show() {
74
+ this.open = true;
75
+ }
76
+ /**
77
+ * Closes the dialog. This is equivalent to setting the `open`
78
+ * property to false.
79
+ */
80
+ close() {
81
+ this.open = false;
82
+ }
83
+ /**
84
+ * Opens and shows the dialog if it is closed; otherwise closes it.
85
+ */
86
+ toggleShow() {
87
+ if (this.open) {
88
+ this.close();
89
+ }
90
+ else {
91
+ this.show();
92
+ }
93
+ }
94
+ _getImageUploadElement() {
95
+ return this.querySelector('exm-upload');
96
+ }
97
+ _handleSuccess() {
98
+ this._hasItems = true;
99
+ }
100
+ _handleClose() {
101
+ const uploadElement = this.getUploadElement();
102
+ if (uploadElement) {
103
+ uploadElement.reset();
104
+ }
105
+ this.open = false;
106
+ }
107
+ _handleFilesChanged(e) {
108
+ const hasFiles = (e.detail.files || []).filter((f) => f.status === 'UPLOADED').length > 0;
109
+ this._hasItems = hasFiles;
110
+ }
111
+ async _handleSubmit() {
112
+ const uploadElement = this.getUploadElement();
113
+ const [url] = uploadElement.getValues() || [];
114
+ if (this.doAction) {
115
+ try {
116
+ this.submitting = true;
117
+ await this.doAction(url);
118
+ this.fire('action-success');
119
+ }
120
+ catch (error) {
121
+ this.fire('action-error', { message: error instanceof Error ? error.message : 'Unkbnown error' }, true);
122
+ }
123
+ finally {
124
+ this.submitting = false;
125
+ this.close();
126
+ }
127
+ }
128
+ else {
129
+ this.fire('action-submit', { url }, true);
130
+ }
131
+ }
132
+ _cancelActiveCrop() {
133
+ const uploadElement = this.getUploadElement();
134
+ if (uploadElement) {
135
+ uploadElement.cancelActiveCrop();
136
+ }
137
+ }
138
+ _saveActiveCrop() {
139
+ const uploadElement = this.getUploadElement();
140
+ if (uploadElement) {
141
+ uploadElement.saveActiveCrop();
142
+ }
143
+ }
144
+ /**
145
+ * Method should be overriden to render upload element
146
+ */
147
+ renderContent() {
148
+ return html `<slot></slot>`;
149
+ }
150
+ renderActions() {
151
+ if (this._cropMode) {
152
+ return html `
153
+ <md-text-button slot="footer" dialogFocus @click=${this._cancelActiveCrop}>Back</md-text-button>
154
+ <md-filled-button slot="footer" @click=${this._saveActiveCrop}>${this.buttonCropDoneCopy}</md-filled-button>
155
+ `;
156
+ }
157
+ return html `
158
+ <md-text-button slot="footer" dialogFocus @click=${() => this.close()}>${this.cancelBtn}</md-text-button>
159
+ <md-filled-button slot="footer" @click=${this._handleSubmit} ?disabled=${!this._hasItems || this.submitting}
160
+ >${this.buttonSaveCopy}</md-filled-button
161
+ >
162
+ `;
163
+ }
164
+ render() {
165
+ const { type, draggable } = this;
166
+ return html ` <md-dialog .draggable=${draggable} .type=${type} .open=${this.open} @closed=${this._handleClose}>
167
+ <span slot="headline">
168
+ <md-icon-button @click=${() => this.close()}><md-icon>close</md-icon></md-icon-button>
169
+ <span class="headline">${this.title}</span>
170
+ </span>
171
+ <div slot="content">
172
+ <div class="content">
173
+ <span
174
+ @files-changed=${this._handleFilesChanged}
175
+ @upload-success=${this._handleSuccess}
176
+ @crop-cancel=${this._stopCrop}
177
+ @crop-done=${this._stopCrop}
178
+ @crop-start=${this._startCrop}
179
+ >${this.renderContent()}</span
180
+ >
181
+ </div>
182
+ </div>
183
+ <div slot="actions">${this.renderActions()}</div>
184
+ </md-dialog>`;
185
+ }
186
+ }
187
+ __decorate([
188
+ property({ type: Boolean })
189
+ ], ExmDialogUploadBase.prototype, "open", void 0);
190
+ __decorate([
191
+ property({ type: Boolean })
192
+ ], ExmDialogUploadBase.prototype, "draggable", void 0);
193
+ __decorate([
194
+ property({ type: String })
195
+ ], ExmDialogUploadBase.prototype, "title", void 0);
196
+ __decorate([
197
+ property({ type: String })
198
+ ], ExmDialogUploadBase.prototype, "type", void 0);
199
+ __decorate([
200
+ property({ type: String })
201
+ ], ExmDialogUploadBase.prototype, "submitBtn", void 0);
202
+ __decorate([
203
+ property({ type: String })
204
+ ], ExmDialogUploadBase.prototype, "cancelBtn", void 0);
205
+ __decorate([
206
+ property({ type: String })
207
+ ], ExmDialogUploadBase.prototype, "icon", void 0);
208
+ __decorate([
209
+ property({ type: Boolean })
210
+ ], ExmDialogUploadBase.prototype, "submitting", void 0);
211
+ __decorate([
212
+ query('md-dialog')
213
+ ], ExmDialogUploadBase.prototype, "dialog", void 0);
214
+ __decorate([
215
+ state()
216
+ ], ExmDialogUploadBase.prototype, "_cropMode", void 0);
217
+ __decorate([
218
+ state()
219
+ ], ExmDialogUploadBase.prototype, "_hasItems", void 0);
220
+ __decorate([
221
+ property({ type: String })
222
+ ], ExmDialogUploadBase.prototype, "buttonSaveCopy", void 0);
223
+ __decorate([
224
+ property({ type: String })
225
+ ], ExmDialogUploadBase.prototype, "buttonCropDoneCopy", void 0);
226
+ //# sourceMappingURL=exm-dialog-upload-base.js.map
@@ -0,0 +1,11 @@
1
+ import { ExmDialogUploadBase } from './exm-dialog-upload-base.js';
2
+ import { ExmUpload } from './exm-upload.js';
3
+ export declare class ExmDialogUpload extends ExmDialogUploadBase {
4
+ static styles: import("lit").CSSResult[];
5
+ protected getUploadElement(): ExmUpload;
6
+ }
7
+ declare global {
8
+ interface HTMLElementTagNameMap {
9
+ 'exm-dialog-upload': ExmDialogUpload;
10
+ }
11
+ }
@@ -0,0 +1,15 @@
1
+ import { __decorate } from "tslib";
2
+ import { customElement } from 'lit/decorators.js';
3
+ import { style } from './styles/exm-dialog-upload-css.js';
4
+ import { ExmDialogUploadBase } from './exm-dialog-upload-base.js';
5
+ let ExmDialogUpload = class ExmDialogUpload extends ExmDialogUploadBase {
6
+ getUploadElement() {
7
+ return this.querySelector('exm-upload');
8
+ }
9
+ };
10
+ ExmDialogUpload.styles = [style];
11
+ ExmDialogUpload = __decorate([
12
+ customElement('exm-dialog-upload')
13
+ ], ExmDialogUpload);
14
+ export { ExmDialogUpload };
15
+ //# sourceMappingURL=exm-dialog-upload.js.map
@@ -0,0 +1,148 @@
1
+ import '@material/web/icon/icon.js';
2
+ import { ExmUploadCrop } from './exm-upload-crop.js';
3
+ import { FileData } from './types.js';
4
+ import './exm-upload-item.js';
5
+ import './exm-upload-crop.js';
6
+ import './exm-upload-drop-area.js';
7
+ import { ExmgElement } from '@exmg/lit-base';
8
+ import Cropper from 'cropperjs';
9
+ export declare class ExmUploadBase extends ExmgElement {
10
+ /**
11
+ * The id of the element that the upload is anchored to. This element
12
+ * must be a sibling of the upload.
13
+ */
14
+ for?: string;
15
+ /**
16
+ * Files addded to component
17
+ */
18
+ files: FileData[];
19
+ /**
20
+ * Accepted file types seperated by comma
21
+ */
22
+ accept?: string | undefined;
23
+ /**
24
+ * The max file size allowed to upload e.g. '20mb'
25
+ */
26
+ maxSize: string;
27
+ /**
28
+ * Determines if multiple files can be selected. When false maxAmount is set to 1 automatically
29
+ */
30
+ multiple: boolean;
31
+ /**
32
+ * The max amount of items allowed to upload when in multiple mode
33
+ */
34
+ maxAmount?: number;
35
+ /**
36
+ * Disable the upload component useful for forms
37
+ */
38
+ disabled: boolean;
39
+ /**
40
+ * Admin User session will be set on request header for authentication
41
+ */
42
+ customAdapterPath?: string;
43
+ /**
44
+ * Optional property. If not set it will look for the window.emconfig.backendHost
45
+ */
46
+ uploadUrl?: string;
47
+ /**
48
+ * The upload response type
49
+ */
50
+ responseType: '' | 'json' | 'text' | 'blob' | 'arraybuffer';
51
+ /**
52
+ * The upload response type
53
+ */
54
+ serverType: 'xhr' | 'local' | 'form-data' | 'custom';
55
+ /**
56
+ * The CropperJS config see: https://github.com/fengyuanchen/cropperjs#options
57
+ */
58
+ cropperConfig: Cropper.Options;
59
+ _cropperConfig: Cropper.Options;
60
+ /**
61
+ * Internal state to check if user is cropping or not
62
+ */
63
+ _isCropping: boolean;
64
+ isModeDialog: boolean;
65
+ /**
66
+ * Internal state to check if file is uploaded or not
67
+ */
68
+ _uploaded: boolean;
69
+ cropSection?: ExmUploadCrop;
70
+ /**
71
+ * Allow cropping can only be used when fixedResolution is not set
72
+ */
73
+ allowCropping: boolean;
74
+ /**
75
+ * when set the image must be exactly the given resolution (for example 600x400)
76
+ */
77
+ fixedResolution?: string;
78
+ fileElement?: HTMLInputElement;
79
+ itemContainer?: ExmUploadCrop;
80
+ getValues(): (string | undefined)[];
81
+ /**
82
+ * Extract files from either file input or drop event
83
+ * @param event
84
+ * @returns FileList[] | []
85
+ */
86
+ private _getFiles;
87
+ /**
88
+ * Resets the upload component
89
+ * @public
90
+ */
91
+ reset(): void;
92
+ private prepareFiles;
93
+ /**
94
+ * Handles file change which also validates
95
+ * @param event
96
+ * @fires files-changed
97
+ */
98
+ private _handleChange;
99
+ /**
100
+ * Validator function to check file before upload to server
101
+ * @param FileData
102
+ */
103
+ private _validateFile;
104
+ /**
105
+ * Enable cropping mode
106
+ * @param e
107
+ */
108
+ _handleCropping(e: CustomEvent): void;
109
+ /**
110
+ * Removes file from files array
111
+ * @param id
112
+ */
113
+ private removeFile;
114
+ /**
115
+ * Removes the file out of the files array.
116
+ * @fires file-removed
117
+ * @param e
118
+ * @param id
119
+ */
120
+ _handleRemove(e: CustomEvent): void;
121
+ /**
122
+ * Handles crop done and toggles cropping state
123
+ * @fires crop-done
124
+ * @param e
125
+ */
126
+ _handleCropDone(e: CustomEvent): Promise<void>;
127
+ /**
128
+ * Handles crop cancel and toggles cropping state
129
+ * @fires crop-cancel
130
+ */
131
+ cancelActiveCrop(): void;
132
+ saveActiveCrop(): void;
133
+ /**
134
+ * Error handling helper function used for all validation
135
+ * @param message
136
+ * @param item
137
+ */
138
+ _handleError(message: string, item: FileData): void;
139
+ openFileSelector(e: CustomEvent): void;
140
+ renderDescription(): string;
141
+ /**
142
+ * Renders the file items
143
+ */
144
+ renderFileItems(): unknown;
145
+ renderUploadCrop(): import("lit-html").TemplateResult<1>;
146
+ renderUploadDropArea(): import("lit-html").TemplateResult<1>;
147
+ render(): import("lit-html").TemplateResult<1>;
148
+ }