@exmg/exm-upload 1.1.36 → 1.2.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.
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,45 @@
1
+ import '@material/web/icon/icon.js';
2
+ import '@material/web/iconbutton/icon-button.js';
3
+ import '@material/web/progress/linear-progress.js';
4
+ import { FileData } from './types.js';
5
+ import { UploadService } from './upload/index.js';
6
+ import { ExmgElement } from '@exmg/lit-base';
7
+ export declare class ExmUploadItemBase extends ExmgElement {
8
+ /**
9
+ * Optional property. If not set it will look for the window.emconfig.backendHost
10
+ */
11
+ uploadUrl?: string;
12
+ customAdapterPath?: string;
13
+ /**
14
+ * The upload response type
15
+ */
16
+ serverType: 'xhr' | 'local' | 'form-data' | 'custom';
17
+ /**
18
+ * The upload response type
19
+ */
20
+ responseType?: '' | 'json' | 'text' | 'blob' | 'arraybuffer';
21
+ uploadService?: UploadService;
22
+ item?: FileData;
23
+ allowCropping?: boolean;
24
+ aspectRatio?: number;
25
+ firstUpdated(): Promise<void>;
26
+ private _handleEditClick;
27
+ private _handleRemoveClick;
28
+ /**
29
+ * Error handling helper function used for all validation
30
+ * @param message
31
+ * @param item
32
+ */
33
+ handleError(message: string): void;
34
+ /**
35
+ * Handle upload from added files
36
+ */
37
+ handleFileUpload(): Promise<void>;
38
+ private renderStatus;
39
+ private renderActions;
40
+ private _renderWarning;
41
+ private renderUploading;
42
+ private renderUploaded;
43
+ private renderInvalid;
44
+ render(): import("lit-html").TemplateResult<1>;
45
+ }
@@ -0,0 +1,175 @@
1
+ import { __decorate } from "tslib";
2
+ import { html, nothing } from 'lit';
3
+ import { property } from 'lit/decorators.js';
4
+ import '@material/web/icon/icon.js';
5
+ import '@material/web/iconbutton/icon-button.js';
6
+ import '@material/web/progress/linear-progress.js';
7
+ import { formatBytes, isImage } from './utils.js';
8
+ import { ifDefined } from 'lit/directives/if-defined.js';
9
+ import { UploadService } from './upload/index.js';
10
+ import { ExmgElement } from '@exmg/lit-base';
11
+ export class ExmUploadItemBase extends ExmgElement {
12
+ constructor() {
13
+ super(...arguments);
14
+ /**
15
+ * The upload response type
16
+ */
17
+ this.serverType = 'xhr';
18
+ }
19
+ async firstUpdated() {
20
+ var _a;
21
+ // @ts-ignore
22
+ const uploadUrl = this.uploadUrl;
23
+ const headers = window.uploadDefaults ? window.uploadDefaults.headers || {} : {};
24
+ const payload = {
25
+ uploadUrl: uploadUrl || ((_a = window.uploadDefaults) === null || _a === void 0 ? void 0 : _a.uploadUrl) || undefined,
26
+ headers,
27
+ responseType: this.responseType,
28
+ };
29
+ payload.customAdapterPath = this.customAdapterPath || window.uploadDefaults.customAdapterPath;
30
+ this.uploadService = await UploadService.create(this.serverType, payload);
31
+ this.handleFileUpload();
32
+ }
33
+ _handleEditClick() {
34
+ this.fire('edit-image', this.item, true);
35
+ }
36
+ _handleRemoveClick() {
37
+ var _a, _b;
38
+ (_a = this.uploadService) === null || _a === void 0 ? void 0 : _a.abort();
39
+ this.fire('remove-item', (_b = this.item) === null || _b === void 0 ? void 0 : _b.id, true);
40
+ }
41
+ /**
42
+ * Error handling helper function used for all validation
43
+ * @param message
44
+ * @param item
45
+ */
46
+ handleError(message) {
47
+ this.item.invalid = true;
48
+ this.item.status = 'INVALID';
49
+ this.item.error = message;
50
+ this.requestUpdate('item');
51
+ }
52
+ /**
53
+ * Handle upload from added files
54
+ */
55
+ async handleFileUpload() {
56
+ var _a;
57
+ if (!this.item) {
58
+ return;
59
+ }
60
+ // Check if file is valid before attempting the upload
61
+ if (!this.item.invalid) {
62
+ try {
63
+ const url = await ((_a = this.uploadService) === null || _a === void 0 ? void 0 : _a.upload(this.item.file, (progress) => {
64
+ this.item.progress = progress;
65
+ this.requestUpdate('item');
66
+ }));
67
+ this.item.url = url;
68
+ this.item.status = 'UPLOADED';
69
+ this.requestUpdate('item');
70
+ this.fire('upload-success', this.item, true);
71
+ }
72
+ catch (error) {
73
+ this.handleError(error);
74
+ throw new Error(error);
75
+ }
76
+ }
77
+ }
78
+ renderStatus() {
79
+ const { status } = this.item;
80
+ switch (status) {
81
+ case 'UPLOADING':
82
+ return this.renderUploading();
83
+ case 'UPLOADED':
84
+ return this.renderUploaded();
85
+ case 'INVALID':
86
+ return this.renderInvalid();
87
+ case 'WARNING':
88
+ return this._renderWarning();
89
+ default:
90
+ return nothing;
91
+ }
92
+ }
93
+ renderActions() {
94
+ const { item, allowCropping } = this;
95
+ const { status } = item;
96
+ return html `${status === 'UPLOADED' && isImage(item.file) && allowCropping
97
+ ? html `<md-icon-button @click=${this._handleEditClick}>
98
+ <md-icon>edit</md-icon>
99
+ </md-icon-button>`
100
+ : nothing}
101
+ <md-icon-button @click=${this._handleRemoveClick}>
102
+ <md-icon>delete</md-icon>
103
+ </md-icon-button>`;
104
+ }
105
+ _renderWarning() {
106
+ return html `<md-icon class="warning-icon">warning</md-icon>`;
107
+ }
108
+ renderUploading() {
109
+ return html `<span class="loader"></span> `;
110
+ }
111
+ renderUploaded() {
112
+ return html `<md-icon class="success-icon">check</md-icon>`;
113
+ }
114
+ renderInvalid() {
115
+ return html `<md-icon class="error-icon">error</md-icon>`;
116
+ }
117
+ render() {
118
+ var _a, _b, _c;
119
+ const file = (_a = this.item) === null || _a === void 0 ? void 0 : _a.file;
120
+ const { progress, status } = this.item;
121
+ const originalName = file === null || file === void 0 ? void 0 : file.name;
122
+ const fileName = originalName.substring(0, originalName.lastIndexOf('.'));
123
+ const fileType = originalName.substring(originalName.lastIndexOf('.') + 1, originalName.length);
124
+ return html `
125
+ <div class="item">
126
+ <div class="status vertical-center">${this.renderStatus()}</div>
127
+ <div class="name-container">
128
+ <span class="file-name">${fileName}</span>
129
+ ${status !== 'INVALID' && status !== 'WARNING'
130
+ ? html ` <md-linear-progress
131
+ max="100"
132
+ class="progress"
133
+ value="${ifDefined(progress || 0)}"
134
+ ></md-linear-progress>`
135
+ : nothing}
136
+ ${((_b = this.item) === null || _b === void 0 ? void 0 : _b.error)
137
+ ? html ` <span class="file-error">${(_c = this.item) === null || _c === void 0 ? void 0 : _c.error}</span> `
138
+ : html ` <div class="file-details vertical-center">
139
+ <div class="vertical-center">
140
+ <span class="file-size badge">${fileType.toUpperCase()}</span>
141
+ <span class="file-type badge">${formatBytes(file === null || file === void 0 ? void 0 : file.size)}</span>
142
+ </div>
143
+ <span class="progress">${Math.round((progress || 0) * 10) / 10}%</span>
144
+ </div>`}
145
+ </div>
146
+ <div class="actions vertical-center">${this.renderActions()}</div>
147
+ </div>
148
+ `;
149
+ }
150
+ }
151
+ __decorate([
152
+ property({ type: String })
153
+ ], ExmUploadItemBase.prototype, "uploadUrl", void 0);
154
+ __decorate([
155
+ property({ type: String })
156
+ ], ExmUploadItemBase.prototype, "customAdapterPath", void 0);
157
+ __decorate([
158
+ property({ type: String })
159
+ ], ExmUploadItemBase.prototype, "serverType", void 0);
160
+ __decorate([
161
+ property({ type: String })
162
+ ], ExmUploadItemBase.prototype, "responseType", void 0);
163
+ __decorate([
164
+ property({ type: Object })
165
+ ], ExmUploadItemBase.prototype, "uploadService", void 0);
166
+ __decorate([
167
+ property({ type: Object })
168
+ ], ExmUploadItemBase.prototype, "item", void 0);
169
+ __decorate([
170
+ property({ type: Boolean })
171
+ ], ExmUploadItemBase.prototype, "allowCropping", void 0);
172
+ __decorate([
173
+ property({ type: Number })
174
+ ], ExmUploadItemBase.prototype, "aspectRatio", void 0);
175
+ //# sourceMappingURL=exm-upload-item-base.js.map
@@ -0,0 +1,9 @@
1
+ import { ExmUploadItemBase } from './exm-upload-item-base.js';
2
+ export declare class ExmUploadItem extends ExmUploadItemBase {
3
+ static styles: import("lit").CSSResult;
4
+ }
5
+ declare global {
6
+ interface HTMLElementTagNameMap {
7
+ 'exm-upload-item': ExmUploadItem;
8
+ }
9
+ }
@@ -0,0 +1,12 @@
1
+ import { __decorate } from "tslib";
2
+ import { customElement } from 'lit/decorators.js';
3
+ import { style } from './styles/exm-upload-item-styles-css.js';
4
+ import { ExmUploadItemBase } from './exm-upload-item-base.js';
5
+ let ExmUploadItem = class ExmUploadItem extends ExmUploadItemBase {
6
+ };
7
+ ExmUploadItem.styles = style;
8
+ ExmUploadItem = __decorate([
9
+ customElement('exm-upload-item')
10
+ ], ExmUploadItem);
11
+ export { ExmUploadItem };
12
+ //# sourceMappingURL=exm-upload-item.js.map
@@ -0,0 +1,19 @@
1
+ import { ExmUploadBase } from './exm-upload-base.js';
2
+ /**
3
+ * `exm-upload`
4
+ * Example:
5
+ * ```html
6
+ * <div>
7
+ * <input id="imageUpload" name="imageUrl" />
8
+ * <exm-upload for="imageUpload"> </exm-upload>
9
+ * </div>
10
+ * ```
11
+ */
12
+ export declare class ExmUpload extends ExmUploadBase {
13
+ static styles: import("lit").CSSResult;
14
+ }
15
+ declare global {
16
+ interface HTMLElementTagNameMap {
17
+ 'exm-upload': ExmUpload;
18
+ }
19
+ }
@@ -0,0 +1,22 @@
1
+ import { __decorate } from "tslib";
2
+ import { style } from './styles/exm-upload-styles-css.js';
3
+ import { ExmUploadBase } from './exm-upload-base.js';
4
+ import { customElement } from 'lit/decorators.js';
5
+ /**
6
+ * `exm-upload`
7
+ * Example:
8
+ * ```html
9
+ * <div>
10
+ * <input id="imageUpload" name="imageUrl" />
11
+ * <exm-upload for="imageUpload"> </exm-upload>
12
+ * </div>
13
+ * ```
14
+ */
15
+ let ExmUpload = class ExmUpload extends ExmUploadBase {
16
+ };
17
+ ExmUpload.styles = style;
18
+ ExmUpload = __decorate([
19
+ customElement('exm-upload')
20
+ ], ExmUpload);
21
+ export { ExmUpload };
22
+ //# sourceMappingURL=exm-upload.js.map
@@ -0,0 +1,19 @@
1
+ export { ExmUpload } from './exm-upload.js';
2
+ export { ExmUploadBase } from './exm-upload-base.js';
3
+ export { ExmUploadCrop } from './exm-upload-crop.js';
4
+ export { ExmUploadCropBase } from './exm-upload-crop-base.js';
5
+ export { ExmUploadDropArea } from './exm-upload-drop-area.js';
6
+ export { ExmUploadDropAreaBase } from './exm-upload-drop-area-base.js';
7
+ export { ExmUploadItem } from './exm-upload-item.js';
8
+ export { ExmUploadItemBase } from './exm-upload-item-base.js';
9
+ export { ExmDialogUpload } from './exm-dialog-upload.js';
10
+ export { ExmDialogUploadBase } from './exm-dialog-upload-base.js';
11
+ export { ExmUploadInput } from './exm-upload-input.js';
12
+ export { FileData, FileUploadConfig } from './types.js';
13
+ export { UploadAdapter, UploadConfig } from './upload/types.js';
14
+ export { UploadService } from './upload/index.js';
15
+ export { style as exmgUploadStyles } from './styles/exm-upload-styles-css.js';
16
+ export { style as exmgUploadDropAreaStyles } from './styles/exm-upload-drop-area-styles-css.js';
17
+ export { style as exmgUploadCropStyles } from './styles/exm-upload-crop-styles-css.js';
18
+ export { style as exmgUploadItemStyles } from './styles/exm-upload-item-styles-css.js';
19
+ export { style as exmgDialogUploadStyles } from './styles/exm-dialog-upload-css.js';
@@ -0,0 +1,18 @@
1
+ export { ExmUpload } from './exm-upload.js';
2
+ export { ExmUploadBase } from './exm-upload-base.js';
3
+ export { ExmUploadCrop } from './exm-upload-crop.js';
4
+ export { ExmUploadCropBase } from './exm-upload-crop-base.js';
5
+ export { ExmUploadDropArea } from './exm-upload-drop-area.js';
6
+ export { ExmUploadDropAreaBase } from './exm-upload-drop-area-base.js';
7
+ export { ExmUploadItem } from './exm-upload-item.js';
8
+ export { ExmUploadItemBase } from './exm-upload-item-base.js';
9
+ export { ExmDialogUpload } from './exm-dialog-upload.js';
10
+ export { ExmDialogUploadBase } from './exm-dialog-upload-base.js';
11
+ export { ExmUploadInput } from './exm-upload-input.js';
12
+ export { UploadService } from './upload/index.js';
13
+ export { style as exmgUploadStyles } from './styles/exm-upload-styles-css.js';
14
+ export { style as exmgUploadDropAreaStyles } from './styles/exm-upload-drop-area-styles-css.js';
15
+ export { style as exmgUploadCropStyles } from './styles/exm-upload-crop-styles-css.js';
16
+ export { style as exmgUploadItemStyles } from './styles/exm-upload-item-styles-css.js';
17
+ export { style as exmgDialogUploadStyles } from './styles/exm-dialog-upload-css.js';
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,10 @@
1
+ import { LitElement } from 'lit';
2
+ type Constructor<T = {}> = new (...args: any[]) => T;
3
+ export declare class DragAndDropInterface {
4
+ dragOver: boolean;
5
+ onDragOver(): void;
6
+ onDragLeave(): void;
7
+ onDrop(): void;
8
+ }
9
+ export declare const DragAndDropMixin: <T extends Constructor<LitElement>>(superClass: T) => Constructor<DragAndDropInterface> & T;
10
+ export {};
@@ -0,0 +1,28 @@
1
+ import { __decorate } from "tslib";
2
+ import { property } from 'lit/decorators.js';
3
+ export const DragAndDropMixin = (superClass) => {
4
+ class DragAndDropMixin extends superClass {
5
+ constructor() {
6
+ super(...arguments);
7
+ this.dragOver = false;
8
+ }
9
+ onDragOver(event) {
10
+ event.stopPropagation();
11
+ event.preventDefault();
12
+ this.dragOver = true;
13
+ }
14
+ onDragLeave(event) {
15
+ event.stopPropagation();
16
+ event.preventDefault();
17
+ this.dragOver = false;
18
+ }
19
+ onDrop() {
20
+ this.dragOver = false;
21
+ }
22
+ }
23
+ __decorate([
24
+ property({ type: Boolean })
25
+ ], DragAndDropMixin.prototype, "dragOver", void 0);
26
+ return DragAndDropMixin;
27
+ };
28
+ //# sourceMappingURL=exm-upload-drag-drop-mixin.js.map
@@ -0,0 +1 @@
1
+ export declare const style: import("lit").CSSResult;
@@ -0,0 +1,253 @@
1
+ import { css } from 'lit';
2
+ export const style = css `
3
+ :host {
4
+ border-start-start-radius: var(
5
+ --md-dialog-container-shape-start-start,
6
+ var(--md-dialog-container-shape, var(--md-sys-shape-corner-extra-large, 28px))
7
+ );
8
+ border-start-end-radius: var(
9
+ --md-dialog-container-shape-start-end,
10
+ var(--md-dialog-container-shape, var(--md-sys-shape-corner-extra-large, 28px))
11
+ );
12
+ border-end-end-radius: var(
13
+ --md-dialog-container-shape-end-end,
14
+ var(--md-dialog-container-shape, var(--md-sys-shape-corner-extra-large, 28px))
15
+ );
16
+ border-end-start-radius: var(
17
+ --md-dialog-container-shape-end-start,
18
+ var(--md-dialog-container-shape, var(--md-sys-shape-corner-extra-large, 28px))
19
+ );
20
+ display: contents;
21
+ margin: auto;
22
+ max-height: min(560px, 100% - 48px);
23
+ max-width: min(560px, 100% - 48px);
24
+ min-height: 140px;
25
+ min-width: 280px;
26
+ position: fixed;
27
+ height: fit-content;
28
+ width: fit-content;
29
+ }
30
+
31
+ dialog {
32
+ background: rgba(0, 0, 0, 0);
33
+ border: none;
34
+ border-radius: inherit;
35
+ flex-direction: column;
36
+ height: inherit;
37
+ margin: inherit;
38
+ max-height: inherit;
39
+ max-width: inherit;
40
+ min-height: inherit;
41
+ min-width: inherit;
42
+ outline: none;
43
+ overflow: visible;
44
+ padding: 0;
45
+ width: inherit;
46
+
47
+ &::backdrop {
48
+ background: none;
49
+ }
50
+ }
51
+
52
+ dialog[open] {
53
+ display: flex;
54
+ }
55
+
56
+ .scrim {
57
+ background: var(--md-sys-color-scrim, #000);
58
+ display: none;
59
+ inset: 0;
60
+ opacity: 32%;
61
+ pointer-events: none;
62
+ position: fixed;
63
+ z-index: 1;
64
+ }
65
+
66
+ :host([open]) .scrim {
67
+ display: flex;
68
+ }
69
+
70
+ h2 {
71
+ all: unset;
72
+ align-self: stretch;
73
+ }
74
+
75
+ .headline {
76
+ align-items: center;
77
+ color: var(--md-dialog-headline-color, var(--md-sys-color-on-surface, #1d1b20));
78
+ display: flex;
79
+ flex-direction: column;
80
+ font-family: var(
81
+ --md-dialog-headline-font,
82
+ var(--md-sys-typescale-headline-small-font, var(--md-ref-typeface-brand, Roboto))
83
+ );
84
+ font-size: var(--md-dialog-headline-size, var(--md-sys-typescale-headline-small-size, 1.5rem));
85
+ line-height: var(--md-dialog-headline-line-height, var(--md-sys-typescale-headline-small-line-height, 2rem));
86
+ font-weight: var(
87
+ --md-dialog-headline-weight,
88
+ var(--md-sys-typescale-headline-small-weight, var(--md-ref-typeface-weight-regular, 400))
89
+ );
90
+ position: relative;
91
+ }
92
+
93
+ slot[name='headline']::slotted(*) {
94
+ align-items: center;
95
+ align-self: stretch;
96
+ box-sizing: border-box;
97
+ display: flex;
98
+ gap: 8px;
99
+ padding: 24px 24px 0;
100
+ }
101
+
102
+ .icon {
103
+ display: flex;
104
+ }
105
+
106
+ slot[name='icon']::slotted(*) {
107
+ color: var(--md-dialog-icon-color, var(--md-sys-color-secondary, #625b71));
108
+ fill: currentColor;
109
+ font-size: var(--md-dialog-icon-size, 24px);
110
+ margin-top: 24px;
111
+ height: var(--md-dialog-icon-size, 24px);
112
+ width: var(--md-dialog-icon-size, 24px);
113
+ }
114
+
115
+ .has-icon slot[name='headline']::slotted(*) {
116
+ justify-content: center;
117
+ padding-top: 16px;
118
+ }
119
+
120
+ .scrollable slot[name='headline']::slotted(*) {
121
+ padding-bottom: 16px;
122
+ }
123
+
124
+ .scrollable.has-headline slot[name='content']::slotted(*) {
125
+ padding-top: 8px;
126
+ }
127
+
128
+ .container {
129
+ border-radius: inherit;
130
+ display: flex;
131
+ flex-direction: column;
132
+ flex-grow: 1;
133
+ overflow: hidden;
134
+ position: relative;
135
+ transform-origin: top;
136
+ }
137
+
138
+ .container::before {
139
+ background: var(--md-dialog-container-color, var(--md-sys-color-surface-container-high, #ece6f0));
140
+ border-radius: inherit;
141
+ content: '';
142
+ inset: 0;
143
+ position: absolute;
144
+ }
145
+
146
+ .scroller {
147
+ display: flex;
148
+ flex: 1;
149
+ flex-direction: column;
150
+ overflow: hidden;
151
+ z-index: 1;
152
+ }
153
+
154
+ .scrollable .scroller {
155
+ overflow-y: scroll;
156
+ }
157
+
158
+ .content {
159
+ color: var(--md-dialog-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));
160
+ font-family: var(
161
+ --md-dialog-supporting-text-font,
162
+ var(--md-sys-typescale-body-medium-font, var(--md-ref-typeface-plain, Roboto))
163
+ );
164
+ font-size: var(--md-dialog-supporting-text-size, var(--md-sys-typescale-body-medium-size, 0.875rem));
165
+ line-height: var(--md-dialog-supporting-text-line-height, var(--md-sys-typescale-body-medium-line-height, 1.25rem));
166
+ flex: 1;
167
+ font-weight: var(
168
+ --md-dialog-supporting-text-weight,
169
+ var(--md-sys-typescale-body-medium-weight, var(--md-ref-typeface-weight-regular, 400))
170
+ );
171
+ height: min-content;
172
+ position: relative;
173
+ }
174
+
175
+ slot[name='content']::slotted(*) {
176
+ box-sizing: border-box;
177
+ padding: 24px;
178
+ }
179
+
180
+ .anchor {
181
+ position: absolute;
182
+ }
183
+
184
+ .top.anchor {
185
+ top: 0;
186
+ }
187
+
188
+ .bottom.anchor {
189
+ bottom: 0;
190
+ }
191
+
192
+ .actions {
193
+ position: relative;
194
+ }
195
+
196
+ slot[name='actions']::slotted(*) {
197
+ box-sizing: border-box;
198
+ display: flex;
199
+ gap: 8px;
200
+ justify-content: flex-end;
201
+ padding: 16px 24px 24px;
202
+ }
203
+
204
+ .has-actions slot[name='content']::slotted(*) {
205
+ padding-bottom: 8px;
206
+ }
207
+
208
+ md-divider {
209
+ display: none;
210
+ position: absolute;
211
+ }
212
+
213
+ .has-headline.show-top-divider .headline md-divider,
214
+ .has-actions.show-bottom-divider .actions md-divider {
215
+ display: flex;
216
+ }
217
+
218
+ .headline md-divider {
219
+ bottom: 0;
220
+ }
221
+
222
+ .actions md-divider {
223
+ top: 0;
224
+ }
225
+
226
+ @media (forced-colors: active) {
227
+ dialog {
228
+ outline: 2px solid WindowText;
229
+ }
230
+ }
231
+
232
+ [slot='headline'] {
233
+ display: flex;
234
+ flex-direction: row-reverse;
235
+ align-items: center;
236
+ }
237
+
238
+ [showing-fullscreen] [slot='headline'] {
239
+ flex-direction: row;
240
+ }
241
+
242
+ .headline {
243
+ flex: 1;
244
+ display: block;
245
+ text-align: left;
246
+ }
247
+
248
+ exm-upload,
249
+ ::slotted(exm-upload) {
250
+ width: 460px;
251
+ }
252
+ `;
253
+ //# sourceMappingURL=exm-dialog-upload-css.js.map
@@ -0,0 +1 @@
1
+ export declare const style: import("lit").CSSResult;