@devvit/ui-renderer 0.10.21-next-2024-05-13-779908af3.0 → 0.10.21-next-2024-05-14-4a2e1ee87.0
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/client/formbuilder/components/image-field/devvit-image-field.d.ts.map +1 -1
- package/client/formbuilder/components/image-field/devvit-image-field.js +9 -2
- package/client/formbuilder/components/image-field/media-controller.d.ts +2 -0
- package/client/formbuilder/components/image-field/media-controller.d.ts.map +1 -1
- package/client/formbuilder/components/image-field/media-controller.js +10 -1
- package/devvit-surface-meta.min.json +12158 -0
- package/devvit-surface.min.js +1986 -0
- package/devvit-surface.min.js.map +7 -0
- package/package.json +16 -12
- /package/{meta.min.json → devvit-custom-post-meta.min.json} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devvit-image-field.d.ts","sourceRoot":"","sources":["../../../../../library/src/client/formbuilder/components/image-field/devvit-image-field.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AAG/E,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"devvit-image-field.d.ts","sourceRoot":"","sources":["../../../../../library/src/client/formbuilder/components/image-field/devvit-image-field.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AAG/E,OAAO,EAAE,eAAe,EAAmC,MAAM,uBAAuB,CAAC;AAMzF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;GAIG;AAEH,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE1C,qBAAa,oBAAqB,SAAQ,YAAY;;IAMpD,cAAc;IACd,WAAoB,MAAM,mCAEzB;IAED,SAAS,CAAC,YAAY,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,IAAI;IAO1C,qBAAqB,EAAG,cAAc,CAAC;IAIxE,eAAe,EAAE,eAAe,CAU7B;IAE6B,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IAE7D,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,KAAK,CAAC,QAAQ,EAJL,MAIK,EAEjB;IAID,MAAM,CAAC,EAAE,gBAAgB,CAAC;IA2B1B,iBAAiB,QAAO,IAAI,CAQ1B;IAeO,oBAAoB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAW7C,MAAM;CA0ChB"}
|
|
@@ -18,7 +18,7 @@ import { property, query } from 'lit/decorators.js';
|
|
|
18
18
|
import { msg } from '@lit/localize';
|
|
19
19
|
import { InputElement } from '@reddit/faceplate/base-classes/input-element.js';
|
|
20
20
|
import { DragAndDropController, DragState } from './drag-and-drop-controller.js';
|
|
21
|
-
import { MediaController } from './media-controller.js';
|
|
21
|
+
import { MediaController, UPLOAD_ERROR_VALIDATION_MESSAGE } from './media-controller.js';
|
|
22
22
|
import { renderEmptyState } from './render-empty-state.js';
|
|
23
23
|
import { renderCarousel } from './render-media-carousel.js';
|
|
24
24
|
import { ALLOWED_IMAGE_MIMETYPES } from './validateMedia.js';
|
|
@@ -32,7 +32,14 @@ export class DevvitFormImageField extends InputElement {
|
|
|
32
32
|
void this.mediaController.handleMedia(files);
|
|
33
33
|
}));
|
|
34
34
|
this.mediaController = new MediaController(this, {
|
|
35
|
-
setValidation: (message) =>
|
|
35
|
+
setValidation: (message) => {
|
|
36
|
+
// ingore media upload errors for non-required fields
|
|
37
|
+
if (message === UPLOAD_ERROR_VALIDATION_MESSAGE && this.field && !this.field.required) {
|
|
38
|
+
__classPrivateFieldGet(this, _DevvitFormImageField_instances, "m", _DevvitFormImageField_handleError).call(this, '');
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
__classPrivateFieldGet(this, _DevvitFormImageField_instances, "m", _DevvitFormImageField_handleError).call(this, message);
|
|
42
|
+
},
|
|
36
43
|
});
|
|
37
44
|
this.handleRemoveClick = () => {
|
|
38
45
|
this.mediaController.media = [];
|
|
@@ -55,5 +55,7 @@ export declare class MediaController {
|
|
|
55
55
|
hasLoadingMedia(): boolean;
|
|
56
56
|
removeMedia(index: number): void;
|
|
57
57
|
}
|
|
58
|
+
export declare const UPLOAD_ERROR_VALIDATION_MESSAGE = "Media upload failed";
|
|
59
|
+
export declare const UPLOAD_IN_PROGRESS_VALIDATION_MESSAGE = "Image upload is in progress";
|
|
58
60
|
export {};
|
|
59
61
|
//# sourceMappingURL=media-controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-controller.d.ts","sourceRoot":"","sources":["../../../../../library/src/client/formbuilder/components/image-field/media-controller.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEtC;;;;GAIG;AAGH,UAAU,cAAc;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACxC,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,oBAAY,WAAW;IACrB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED,oBAAY,QAAQ;IAClB,KAAK,UAAU;CAChB;AAED,KAAK,kBAAkB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAEpD,KAAK,sBAAsB,GAAG;IAC5B,aAAa,CAAC,EAAE,kBAAkB,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,cAAc,KAAK,CAAC;AAMjC,qBAAa,eAAe;;IAC1B,KAAK,EAAE,SAAS,EAAE,CAAM;gBAKZ,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,sBAAsB;IAK9D,QAAQ,IAAI,MAAM;IAalB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAmB1B,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"media-controller.d.ts","sourceRoot":"","sources":["../../../../../library/src/client/formbuilder/components/image-field/media-controller.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEtC;;;;GAIG;AAGH,UAAU,cAAc;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACxC,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,oBAAY,WAAW;IACrB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED,oBAAY,QAAQ;IAClB,KAAK,UAAU;CAChB;AAED,KAAK,kBAAkB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAEpD,KAAK,sBAAsB,GAAG;IAC5B,aAAa,CAAC,EAAE,kBAAkB,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,cAAc,KAAK,CAAC;AAMjC,qBAAa,eAAe;;IAC1B,KAAK,EAAE,SAAS,EAAE,CAAM;gBAKZ,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,sBAAsB;IAK9D,QAAQ,IAAI,MAAM;IAalB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAmB1B,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAoI/C,WAAW,IAAI,QAAQ;IAIvB,eAAe,IAAI,OAAO;IA0D1B,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAGjC;AAGD,eAAO,MAAM,+BAA+B,wBAAwB,CAAC;AACrE,eAAO,MAAM,qCAAqC,gCAAgC,CAAC"}
|
|
@@ -54,6 +54,9 @@ export class MediaController {
|
|
|
54
54
|
const seed = this.media.length;
|
|
55
55
|
const validFiles = __classPrivateFieldGet(this, _MediaController_instances, "m", _MediaController_filterValidFiles).call(this, files);
|
|
56
56
|
if (validFiles.length > 0) {
|
|
57
|
+
// marking the input as invalid during the upload
|
|
58
|
+
// the message is not visible to the end user
|
|
59
|
+
__classPrivateFieldGet(this, _MediaController_setValidation, "f").call(this, UPLOAD_IN_PROGRESS_VALIDATION_MESSAGE);
|
|
57
60
|
const mediaItems = [];
|
|
58
61
|
for (const file of validFiles) {
|
|
59
62
|
mediaItems.push(__classPrivateFieldGet(this, _MediaController_instances, "m", _MediaController_handleImage).call(this, file));
|
|
@@ -61,10 +64,13 @@ export class MediaController {
|
|
|
61
64
|
this.media = this.media.concat(mediaItems);
|
|
62
65
|
__classPrivateFieldGet(this, _MediaController_host, "f").requestUpdate('mediaLength', seed);
|
|
63
66
|
const mediaResponse = await Promise.all(mediaItems.map((item) => item.mediaResponse));
|
|
64
|
-
// set validity
|
|
67
|
+
// set validity when the upload is finished
|
|
65
68
|
if (mediaResponse.every((response) => !response?.error && response?.url)) {
|
|
66
69
|
__classPrivateFieldGet(this, _MediaController_setValidation, "f").call(this, '');
|
|
67
70
|
}
|
|
71
|
+
else {
|
|
72
|
+
__classPrivateFieldGet(this, _MediaController_setValidation, "f").call(this, UPLOAD_ERROR_VALIDATION_MESSAGE);
|
|
73
|
+
}
|
|
68
74
|
__classPrivateFieldGet(this, _MediaController_instances, "m", _MediaController_handleImageResponse).call(this, mediaResponse, seed);
|
|
69
75
|
__classPrivateFieldGet(this, _MediaController_host, "f").requestUpdate();
|
|
70
76
|
}
|
|
@@ -215,3 +221,6 @@ _MediaController_host = new WeakMap(), _MediaController_setValidation = new Weak
|
|
|
215
221
|
const error = err || __classPrivateFieldGet(this, _MediaController_instances, "m", _MediaController_getDefaultErrorMessage).call(this);
|
|
216
222
|
__classPrivateFieldGet(this, _MediaController_setValidation, "f").call(this, error);
|
|
217
223
|
};
|
|
224
|
+
// should be used for validation message only
|
|
225
|
+
export const UPLOAD_ERROR_VALIDATION_MESSAGE = 'Media upload failed';
|
|
226
|
+
export const UPLOAD_IN_PROGRESS_VALIDATION_MESSAGE = 'Image upload is in progress';
|