@sapudex/web-components 0.192.2 → 0.199.3
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/bundle.esm.js +2 -0
- package/dist/Button.d.ts +2 -1
- package/dist/Button.js +2 -1
- package/dist/Button.js.map +1 -1
- package/dist/ControlButton.d.ts +11 -6
- package/dist/ControlButton.js +19 -7
- package/dist/ControlButton.js.map +1 -1
- package/dist/CountrySelector.js +1 -1
- package/dist/CountrySelector.js.map +1 -1
- package/dist/Footer.d.ts +1 -6
- package/dist/Footer.js +2 -9
- package/dist/Footer.js.map +1 -1
- package/dist/Link.d.ts +5 -0
- package/dist/Link.js +6 -0
- package/dist/Link.js.map +1 -1
- package/dist/List.d.ts +3 -2
- package/dist/List.js +10 -5
- package/dist/List.js.map +1 -1
- package/dist/ListGroupHeader.d.ts +1 -1
- package/dist/ListGroupHeader.js +2 -1
- package/dist/ListGroupHeader.js.map +1 -1
- package/dist/ListGroupHeaderBase.js +3 -3
- package/dist/ListGroupHeaderBase.js.map +1 -1
- package/dist/ListItem.d.ts +1 -1
- package/dist/ListItem.js +8 -7
- package/dist/ListItem.js.map +1 -1
- package/dist/ListItemBase.d.ts +1 -1
- package/dist/ListItemBase.js +1 -1
- package/dist/ListItemBase.js.map +1 -1
- package/dist/ListSelectAll.js +4 -5
- package/dist/ListSelectAll.js.map +1 -1
- package/dist/MastheadItem.d.ts +1 -6
- package/dist/MastheadItem.js +3 -9
- package/dist/MastheadItem.js.map +1 -1
- package/dist/MastheadMenuItem.d.ts +8 -5
- package/dist/MastheadMenuItem.js +9 -7
- package/dist/MastheadMenuItem.js.map +1 -1
- package/dist/MastheadShell.js +2 -2
- package/dist/MastheadShell.js.map +1 -1
- package/dist/MediaPlayer.js +3 -2
- package/dist/MediaPlayer.js.map +1 -1
- package/dist/MessageStrip.d.ts +9 -38
- package/dist/MessageStrip.js +30 -56
- package/dist/MessageStrip.js.map +1 -1
- package/dist/PhoneNumberField.js +7 -2
- package/dist/PhoneNumberField.js.map +1 -1
- package/dist/Search.js +1 -0
- package/dist/Search.js.map +1 -1
- package/dist/SecondaryNavigation.d.ts +0 -1
- package/dist/SecondaryNavigation.js +3 -3
- package/dist/SecondaryNavigation.js.map +1 -1
- package/dist/SecondaryNavigationItemBase.d.ts +1 -6
- package/dist/SecondaryNavigationItemBase.js +3 -9
- package/dist/SecondaryNavigationItemBase.js.map +1 -1
- package/dist/SegmentedButton.d.ts +2 -2
- package/dist/SegmentedButton.js +3 -2
- package/dist/SegmentedButton.js.map +1 -1
- package/dist/SegmentedButtonItem.d.ts +2 -6
- package/dist/SegmentedButtonItem.js +2 -7
- package/dist/SegmentedButtonItem.js.map +1 -1
- package/dist/SelectBox.d.ts +9 -1
- package/dist/SelectBox.js +14 -1
- package/dist/SelectBox.js.map +1 -1
- package/dist/Tab.d.ts +1 -6
- package/dist/Tab.js +1 -7
- package/dist/Tab.js.map +1 -1
- package/dist/Upload.d.ts +110 -0
- package/dist/Upload.js +198 -0
- package/dist/Upload.js.map +1 -0
- package/dist/UploadItem.d.ts +101 -0
- package/dist/UploadItem.js +151 -0
- package/dist/UploadItem.js.map +1 -0
- package/dist/assets/{bundle-c5e3cbf2.css → bundle-7a4a3e16.css} +1 -1
- package/dist/assets/{bundle.esm-809b9769.js → bundle.esm-44fd7c69.js} +208 -191
- package/dist/assets/messagebundle_en-59e0affd.js +1 -0
- package/dist/css/themes/Avatar.css +1 -1
- package/dist/css/themes/Button.css +1 -1
- package/dist/css/themes/CountrySelector.css +1 -1
- package/dist/css/themes/Link.css +1 -1
- package/dist/css/themes/Pagination.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/Slider.css +1 -1
- package/dist/css/themes/StatusBadge.css +1 -1
- package/dist/css/themes/Tag.css +1 -1
- package/dist/css/themes/TagGroup.css +1 -1
- package/dist/css/themes/TextField.css +1 -1
- package/dist/css/themes/Upload.css +1 -0
- package/dist/css/themes/UploadItem.css +1 -0
- package/dist/custom-elements-internal.json +470 -26
- package/dist/custom-elements.json +431 -21
- package/dist/features/SearchSuggestionsPopover.js +1 -1
- package/dist/features/SearchSuggestionsPopover.js.map +1 -1
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +6 -1
- package/dist/generated/i18n/i18n-defaults.js +10 -5
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/templates/ListItemTemplate.lit.js +4 -4
- package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ListTemplate.lit.js +2 -2
- package/dist/generated/templates/ListTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadMenuItemTemplate.lit.js +1 -1
- package/dist/generated/templates/MastheadMenuItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +1 -1
- package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MessageStripTemplate.lit.js +1 -1
- package/dist/generated/templates/MessageStripTemplate.lit.js.map +1 -1
- package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js +1 -1
- package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SelectBoxTemplate.lit.js +2 -2
- package/dist/generated/templates/SelectBoxTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TagGroupTemplate.lit.js +2 -2
- package/dist/generated/templates/TagGroupTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TileTemplate.lit.js +2 -2
- package/dist/generated/templates/TileTemplate.lit.js.map +1 -1
- package/dist/generated/templates/UploadItemTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/UploadItemTemplate.lit.js +10 -0
- package/dist/generated/templates/UploadItemTemplate.lit.js.map +1 -0
- package/dist/generated/templates/UploadTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/UploadTemplate.lit.js +8 -0
- package/dist/generated/templates/UploadTemplate.lit.js.map +1 -0
- package/dist/generated/themes/Avatar.css.js +1 -1
- package/dist/generated/themes/Avatar.css.js.map +1 -1
- package/dist/generated/themes/Button.css.js +1 -1
- package/dist/generated/themes/Button.css.js.map +1 -1
- package/dist/generated/themes/CountrySelector.css.js +1 -1
- package/dist/generated/themes/CountrySelector.css.js.map +1 -1
- package/dist/generated/themes/Link.css.js +1 -1
- package/dist/generated/themes/Link.css.js.map +1 -1
- package/dist/generated/themes/Pagination.css.js +1 -1
- package/dist/generated/themes/Pagination.css.js.map +1 -1
- package/dist/generated/themes/RatingIndicator.css.js +1 -1
- package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
- package/dist/generated/themes/Slider.css.js +1 -1
- package/dist/generated/themes/Slider.css.js.map +1 -1
- package/dist/generated/themes/StatusBadge.css.js +1 -1
- package/dist/generated/themes/StatusBadge.css.js.map +1 -1
- package/dist/generated/themes/Tag.css.js +1 -1
- package/dist/generated/themes/Tag.css.js.map +1 -1
- package/dist/generated/themes/TagGroup.css.js +1 -1
- package/dist/generated/themes/TagGroup.css.js.map +1 -1
- package/dist/generated/themes/TextField.css.js +1 -1
- package/dist/generated/themes/TextField.css.js.map +1 -1
- package/dist/generated/themes/Upload.css.d.ts +3 -0
- package/dist/generated/themes/Upload.css.js +9 -0
- package/dist/generated/themes/Upload.css.js.map +1 -0
- package/dist/generated/themes/UploadItem.css.d.ts +3 -0
- package/dist/generated/themes/UploadItem.css.js +9 -0
- package/dist/generated/themes/UploadItem.css.js.map +1 -0
- package/dist/i18n/messagebundle.properties +13 -4
- package/dist/i18n/messagebundle_en.properties +9 -4
- package/dist/types/ButtonSize.d.ts +6 -0
- package/dist/types/ButtonSize.js +8 -0
- package/dist/types/ButtonSize.js.map +1 -0
- package/dist/types/FileData.d.ts +5 -0
- package/dist/types/FileData.js +2 -0
- package/dist/types/FileData.js.map +1 -0
- package/dist/types/FileUploadState.d.ts +6 -0
- package/dist/types/FileUploadState.js +8 -0
- package/dist/types/FileUploadState.js.map +1 -0
- package/dist/types/MessageStrip.d.ts +12 -0
- package/dist/types/MessageStrip.js +15 -0
- package/dist/types/MessageStrip.js.map +1 -0
- package/dist/types/common.d.ts +6 -0
- package/dist/types/common.js +7 -0
- package/dist/types/common.js.map +1 -1
- package/dist/utils/Breakpoints.d.ts +33 -0
- package/dist/utils/Breakpoints.js +33 -0
- package/dist/utils/Breakpoints.js.map +1 -0
- package/dist/utils/convertBytesToMegabytes.d.ts +2 -0
- package/dist/utils/convertBytesToMegabytes.js +3 -0
- package/dist/utils/convertBytesToMegabytes.js.map +1 -0
- package/dist/vscode.html-custom-data.json +83 -1
- package/dist/web-types.json +191 -4
- package/package.json +2 -2
- package/src/Button.ts +5 -2
- package/src/ControlButton.ts +29 -8
- package/src/CountrySelector.ts +1 -1
- package/src/Footer.ts +3 -9
- package/src/Link.ts +12 -0
- package/src/List.hbs +4 -2
- package/src/List.ts +14 -8
- package/src/ListGroupHeader.ts +4 -2
- package/src/ListGroupHeaderBase.ts +12 -11
- package/src/ListItem.hbs +3 -1
- package/src/ListItem.ts +19 -15
- package/src/ListItemBase.ts +10 -10
- package/src/ListSelectAll.ts +5 -5
- package/src/MastheadItem.ts +3 -11
- package/src/MastheadMenuItem.hbs +1 -1
- package/src/MastheadMenuItem.ts +14 -7
- package/src/MastheadMobileMenu.hbs +1 -0
- package/src/MastheadShell.ts +2 -2
- package/src/MediaPlayer.ts +3 -3
- package/src/MessageStrip.hbs +1 -1
- package/src/MessageStrip.ts +38 -68
- package/src/PhoneNumberField.hbs +2 -2
- package/src/PhoneNumberField.ts +9 -4
- package/src/Search.ts +1 -0
- package/src/SecondaryNavigation.ts +3 -3
- package/src/SecondaryNavigationItemBase.ts +3 -9
- package/src/SegmentedButton.ts +4 -3
- package/src/SegmentedButtonItem.ts +3 -8
- package/src/SelectBox.hbs +19 -23
- package/src/SelectBox.ts +23 -1
- package/src/Tab.ts +1 -8
- package/src/TagGroup.hbs +20 -20
- package/src/Tile.hbs +3 -2
- package/src/Upload.hbs +21 -0
- package/src/Upload.ts +273 -0
- package/src/UploadItem.hbs +32 -0
- package/src/UploadItem.ts +218 -0
- package/src/features/SearchSuggestionsPopover.ts +1 -1
- package/src/generated/i18n/i18n-defaults.ts +2 -2
- package/src/generated/templates/ListItemTemplate.lit.ts +4 -4
- package/src/generated/templates/ListTemplate.lit.ts +2 -2
- package/src/generated/templates/MastheadMenuItemTemplate.lit.ts +1 -1
- package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +1 -1
- package/src/generated/templates/MessageStripTemplate.lit.ts +1 -1
- package/src/generated/templates/PhoneNumberFieldTemplate.lit.ts +1 -1
- package/src/generated/templates/SelectBoxTemplate.lit.ts +2 -2
- package/src/generated/templates/TagGroupTemplate.lit.ts +2 -2
- package/src/generated/templates/TileTemplate.lit.ts +2 -2
- package/src/generated/templates/UploadItemTemplate.lit.ts +15 -0
- package/src/generated/templates/UploadTemplate.lit.ts +13 -0
- package/src/generated/themes/Avatar.css.ts +1 -1
- package/src/generated/themes/Button.css.ts +1 -1
- package/src/generated/themes/CountrySelector.css.ts +1 -1
- package/src/generated/themes/Link.css.ts +1 -1
- package/src/generated/themes/Pagination.css.ts +1 -1
- package/src/generated/themes/RatingIndicator.css.ts +1 -1
- package/src/generated/themes/Slider.css.ts +1 -1
- package/src/generated/themes/StatusBadge.css.ts +1 -1
- package/src/generated/themes/Tag.css.ts +1 -1
- package/src/generated/themes/TagGroup.css.ts +1 -1
- package/src/generated/themes/TextField.css.ts +1 -1
- package/src/generated/themes/Upload.css.ts +13 -0
- package/src/generated/themes/UploadItem.css.ts +13 -0
- package/src/i18n/messagebundle.properties +13 -4
- package/src/i18n/messagebundle_en.properties +9 -4
- package/src/themes/Avatar.css +36 -45
- package/src/themes/Button.css +3 -3
- package/src/themes/CountrySelector.css +1 -0
- package/src/themes/Link.css +17 -4
- package/src/themes/Pagination.css +1 -1
- package/src/themes/StatusBadge.css +9 -9
- package/src/themes/Tag.css +6 -3
- package/src/themes/TagGroup.css +0 -4
- package/src/themes/TextField.css +2 -1
- package/src/themes/Upload.css +65 -0
- package/src/themes/UploadItem.css +131 -0
- package/src/types/ButtonSize.ts +7 -0
- package/src/types/FileData.ts +6 -0
- package/src/types/FileUploadState.ts +7 -0
- package/src/types/MessageStrip.ts +13 -0
- package/src/types/common.ts +7 -0
- package/src/utils/Breakpoints.ts +41 -0
- package/src/utils/convertBytesToMegabytes.ts +3 -0
- package/dist/assets/messagebundle_en-06c0dadc.js +0 -1
package/dist/Upload.js
ADDED
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var UDExUpload_1;
|
|
8
|
+
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
9
|
+
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
10
|
+
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
11
|
+
import { event, slot } from "@ui5/webcomponents-base/dist/decorators.js";
|
|
12
|
+
import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
|
|
13
|
+
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
14
|
+
import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
|
|
15
|
+
import FileUploader from "@ui5/webcomponents/dist/FileUploader.js";
|
|
16
|
+
import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
17
|
+
import { UPLOAD_BUTTON_LABEL } from "./generated/i18n/i18n-defaults.js";
|
|
18
|
+
import UDExButton from "./Button.js";
|
|
19
|
+
import UDExButtonSize from "./types/ButtonSize.js";
|
|
20
|
+
import UDExList from "./List.js";
|
|
21
|
+
import UDExUploadItem from "./UploadItem.js";
|
|
22
|
+
import UploadTemplate from "./generated/templates/UploadTemplate.lit.js";
|
|
23
|
+
// Styles
|
|
24
|
+
import UploadCss from "./generated/themes/Upload.css.js";
|
|
25
|
+
const convertBytesToMegabytes = (bytes) => (bytes / 1024) / 1024;
|
|
26
|
+
const BreakpointSizeS = 979;
|
|
27
|
+
/**
|
|
28
|
+
* @class
|
|
29
|
+
*
|
|
30
|
+
* <h3 class="comment-api-title">Overview</h3>
|
|
31
|
+
*
|
|
32
|
+
*
|
|
33
|
+
* <h3>Usage</h3>
|
|
34
|
+
*
|
|
35
|
+
* For the <code>udex-upload</code>
|
|
36
|
+
* <h3>ES6 Module Import</h3>
|
|
37
|
+
*
|
|
38
|
+
* <code>import "@udex/web-components/dist/Upload.js";</code>
|
|
39
|
+
*
|
|
40
|
+
* @constructor
|
|
41
|
+
* @extends UI5Element
|
|
42
|
+
* @public
|
|
43
|
+
*/
|
|
44
|
+
let UDExUpload = UDExUpload_1 = class UDExUpload extends UI5Element {
|
|
45
|
+
static async onDefine() {
|
|
46
|
+
UDExUpload_1.i18nBundle = await getI18nBundle("@udex/web-components");
|
|
47
|
+
}
|
|
48
|
+
constructor() {
|
|
49
|
+
super();
|
|
50
|
+
/**
|
|
51
|
+
* Defines if a file is already uploaded when multiple is false.
|
|
52
|
+
*
|
|
53
|
+
* @private
|
|
54
|
+
*/
|
|
55
|
+
this._filesFull = false;
|
|
56
|
+
this._handleResizeBound = this._handleResize.bind(this);
|
|
57
|
+
}
|
|
58
|
+
onEnterDOM() {
|
|
59
|
+
ResizeHandler.register(this, this._handleResizeBound);
|
|
60
|
+
}
|
|
61
|
+
onExitDOM() {
|
|
62
|
+
ResizeHandler.deregister(this, this._handleResizeBound);
|
|
63
|
+
}
|
|
64
|
+
onAfterRendering() {
|
|
65
|
+
if (this._filesFull) {
|
|
66
|
+
this._filesFull = this.fileNumberExceeded;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
handleUploadClick(e) {
|
|
70
|
+
this._filesFull = this.fileNumberExceeded;
|
|
71
|
+
if (this.fileNumberExceeded) {
|
|
72
|
+
e.preventDefault();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
handleUploadFile(e) {
|
|
76
|
+
const newFiles = e.target.files;
|
|
77
|
+
if (!newFiles?.length || this.fileNumberExceeded) {
|
|
78
|
+
e.stopPropagation();
|
|
79
|
+
}
|
|
80
|
+
const exceededFilesData = this.maxFileSize ? this._getExceededFiles(newFiles) : [];
|
|
81
|
+
if (exceededFilesData.length) {
|
|
82
|
+
e.stopPropagation();
|
|
83
|
+
this.fireEvent("file-size-exceed", {
|
|
84
|
+
files: exceededFilesData,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
handleSelectionChange(e) {
|
|
89
|
+
this.fireEvent("file-change", { files: e.detail.listItems });
|
|
90
|
+
}
|
|
91
|
+
_handleResize() {
|
|
92
|
+
this._buttonSize = window.innerWidth <= BreakpointSizeS ? UDExButtonSize.Medium : UDExButtonSize.Large;
|
|
93
|
+
}
|
|
94
|
+
handleRemoveFile(e) {
|
|
95
|
+
this.fireEvent("file-delete", { file: e.target });
|
|
96
|
+
}
|
|
97
|
+
_getExceededFiles(files) {
|
|
98
|
+
const filesArray = Array.from(files);
|
|
99
|
+
const exceededFiles = [];
|
|
100
|
+
for (let i = 0; i < filesArray.length; i++) {
|
|
101
|
+
const fileSize = convertBytesToMegabytes(filesArray[i].size);
|
|
102
|
+
if (fileSize > this.maxFileSize) {
|
|
103
|
+
exceededFiles.push({
|
|
104
|
+
fileName: filesArray[i].name,
|
|
105
|
+
fileSize,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return exceededFiles;
|
|
110
|
+
}
|
|
111
|
+
get uploadButtonAriaLabel() {
|
|
112
|
+
return UDExUpload_1.i18nBundle.getText(UPLOAD_BUTTON_LABEL);
|
|
113
|
+
}
|
|
114
|
+
get listBusy() {
|
|
115
|
+
return !this.items.length;
|
|
116
|
+
}
|
|
117
|
+
get fileNumberExceeded() {
|
|
118
|
+
return !this.multiple && this.items.length >= 1;
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
__decorate([
|
|
122
|
+
property({ type: String })
|
|
123
|
+
], UDExUpload.prototype, "uploadTitle", void 0);
|
|
124
|
+
__decorate([
|
|
125
|
+
property({ type: String })
|
|
126
|
+
], UDExUpload.prototype, "errorText", void 0);
|
|
127
|
+
__decorate([
|
|
128
|
+
property({ type: Boolean })
|
|
129
|
+
], UDExUpload.prototype, "required", void 0);
|
|
130
|
+
__decorate([
|
|
131
|
+
property({ type: Boolean })
|
|
132
|
+
], UDExUpload.prototype, "multiple", void 0);
|
|
133
|
+
__decorate([
|
|
134
|
+
property({ type: String })
|
|
135
|
+
], UDExUpload.prototype, "accept", void 0);
|
|
136
|
+
__decorate([
|
|
137
|
+
property({ type: Number, validator: Integer })
|
|
138
|
+
], UDExUpload.prototype, "maxFileSize", void 0);
|
|
139
|
+
__decorate([
|
|
140
|
+
property({ type: String })
|
|
141
|
+
], UDExUpload.prototype, "additionalText", void 0);
|
|
142
|
+
__decorate([
|
|
143
|
+
property({ type: String })
|
|
144
|
+
], UDExUpload.prototype, "uploadButtonText", void 0);
|
|
145
|
+
__decorate([
|
|
146
|
+
property({ type: Boolean })
|
|
147
|
+
], UDExUpload.prototype, "_filesFull", void 0);
|
|
148
|
+
__decorate([
|
|
149
|
+
slot({ type: HTMLElement, "default": true })
|
|
150
|
+
], UDExUpload.prototype, "items", void 0);
|
|
151
|
+
__decorate([
|
|
152
|
+
property({ type: String, defaultValue: UDExButtonSize.Large })
|
|
153
|
+
], UDExUpload.prototype, "_buttonSize", void 0);
|
|
154
|
+
UDExUpload = UDExUpload_1 = __decorate([
|
|
155
|
+
customElement({
|
|
156
|
+
tag: "udex-upload",
|
|
157
|
+
renderer: litRender,
|
|
158
|
+
styles: UploadCss,
|
|
159
|
+
template: UploadTemplate,
|
|
160
|
+
dependencies: [FileUploader, UDExList, UDExButton, UDExUploadItem],
|
|
161
|
+
})
|
|
162
|
+
/**
|
|
163
|
+
* Triggered when the uploaded file exceeds the maximum allowed size.
|
|
164
|
+
*
|
|
165
|
+
* @public
|
|
166
|
+
*/
|
|
167
|
+
,
|
|
168
|
+
event("file-size-exceed", {
|
|
169
|
+
detail: {
|
|
170
|
+
files: { type: Array },
|
|
171
|
+
},
|
|
172
|
+
})
|
|
173
|
+
/**
|
|
174
|
+
* Triggered when the user deletes the uploaded item.
|
|
175
|
+
*
|
|
176
|
+
* @public
|
|
177
|
+
*/
|
|
178
|
+
,
|
|
179
|
+
event("file-delete", {
|
|
180
|
+
detail: {
|
|
181
|
+
file: { type: UDExUploadItem },
|
|
182
|
+
},
|
|
183
|
+
})
|
|
184
|
+
/**
|
|
185
|
+
* Triggered when the user uploads the item.
|
|
186
|
+
*
|
|
187
|
+
* @public
|
|
188
|
+
*/
|
|
189
|
+
,
|
|
190
|
+
event("file-change", {
|
|
191
|
+
detail: {
|
|
192
|
+
files: { type: Array },
|
|
193
|
+
},
|
|
194
|
+
})
|
|
195
|
+
], UDExUpload);
|
|
196
|
+
UDExUpload.define();
|
|
197
|
+
export default UDExUpload;
|
|
198
|
+
//# sourceMappingURL=Upload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Upload.js","sourceRoot":"","sources":["../src/Upload.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport { event, slot } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport ResizeHandler, { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\n\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport FileUploader from \"@ui5/webcomponents/dist/FileUploader.js\";\nimport I18nBundle, { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { UPLOAD_BUTTON_LABEL } from \"./generated/i18n/i18n-defaults.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExButtonSize from \"./types/ButtonSize.js\";\nimport UDExList from \"./List.js\";\nimport UDExUploadItem from \"./UploadItem.js\";\nimport UploadTemplate from \"./generated/templates/UploadTemplate.lit.js\";\nimport FileData from \"./types/FileData.js\";\n\n// Styles\nimport UploadCss from \"./generated/themes/Upload.css.js\";\n\nconst convertBytesToMegabytes = (bytes: number) => (bytes / 1024) / 1024;\nconst BreakpointSizeS: number = 979;\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-upload</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/Upload.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-upload\",\n renderer: litRender,\n styles: UploadCss,\n template: UploadTemplate,\n dependencies: [FileUploader, UDExList, UDExButton, UDExUploadItem],\n})\n\n/**\n * Triggered when the uploaded file exceeds the maximum allowed size.\n *\n * @public\n */\n@event(\"file-size-exceed\", {\n detail:\n {\n files:\n { type: Array },\n },\n})\n\n/**\n * Triggered when the user deletes the uploaded item.\n *\n * @public\n */\n@event(\"file-delete\", {\n detail:\n {\n file:\n { type: UDExUploadItem },\n },\n})\n\n/**\n * Triggered when the user uploads the item.\n *\n * @public\n */\n@event(\"file-change\", {\n detail:\n {\n files:\n { type: Array },\n },\n})\n\nclass UDExUpload extends UI5Element {\n /**\n * Defines the title of the upload.\n *\n * @public\n */\n @property({ type: String })\n uploadTitle!: string;\n\n /**\n * Defines the error message shown when more than one file is uploaded with multiple set to false.\n *\n * @public\n */\n @property({ type: String })\n errorText!: string;\n\n /**\n * Defines if uploader is required.\n *\n * @public\n */\n @property({ type: Boolean })\n required!: boolean;\n\n /**\n * Defines if uploading multiple files is allowed.\n *\n * @public\n */\n @property({ type: Boolean })\n multiple!: boolean;\n\n /**\n * Defines the acceptable file formats for uploading.\n *\n * @public\n */\n @property({ type: String })\n accept!: string;\n\n /**\n * Defines the maximum allowed size of the file for uploading.\n *\n * @default undefined\n * @public\n */\n @property({ type: Number, validator: Integer })\n maxFileSize!: number;\n\n /**\n * Defines the additional text below the title of the upload.\n *\n * @public\n */\n @property({ type: String })\n additionalText!: string;\n\n /**\n * Defines the text in the upload button.\n *\n * @public\n */\n @property({ type: String })\n uploadButtonText!: string;\n\n /**\n * Defines if a file is already uploaded when multiple is false.\n *\n * @private\n */\n @property({ type: Boolean })\n _filesFull: boolean = false;\n\n /**\n * Defines the uploaded files.\n *\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n items!: Array<UDExUploadItem>;\n\n /**\n * Defines the percentage of the upload.\n *\n * @default \"Large\"\n * @private\n */\n @property({ type: String, defaultValue: UDExButtonSize.Large })\n _buttonSize!: `${UDExButtonSize}`;\n\n static i18nBundle: I18nBundle;\n _handleResizeBound: ResizeObserverCallback;\n\n static async onDefine() {\n UDExUpload.i18nBundle = await getI18nBundle(\"@udex/web-components\");\n }\n\n constructor() {\n super();\n this._handleResizeBound = this._handleResize.bind(this);\n }\n\n onEnterDOM(): void {\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n onAfterRendering(): void {\n if (this._filesFull) {\n this._filesFull = this.fileNumberExceeded;\n }\n }\n\n handleUploadClick(e: Event) {\n this._filesFull = this.fileNumberExceeded;\n if (this.fileNumberExceeded) {\n e.preventDefault();\n }\n }\n\n handleUploadFile(e: Event) {\n const newFiles = (e.target as HTMLInputElement).files;\n\n if (!newFiles?.length || this.fileNumberExceeded) {\n e.stopPropagation();\n }\n\n const exceededFilesData = this.maxFileSize ? this._getExceededFiles(newFiles!) : [];\n if (exceededFilesData.length) {\n e.stopPropagation();\n this.fireEvent(\"file-size-exceed\", {\n files: exceededFilesData,\n });\n }\n }\n\n handleSelectionChange(e: CustomEvent) {\n this.fireEvent(\"file-change\", { files: e.detail.listItems as UDExUploadItem[] });\n }\n\n _handleResize() {\n this._buttonSize = window.innerWidth <= BreakpointSizeS ? UDExButtonSize.Medium : UDExButtonSize.Large;\n }\n\n handleRemoveFile(e: CustomEvent) {\n this.fireEvent(\"file-delete\", { file: e.target as UDExUploadItem });\n }\n\n _getExceededFiles(files: FileList): Array<FileData> {\n const filesArray = Array.from(files);\n const exceededFiles: Array<FileData> = [];\n\n for (let i = 0; i < filesArray.length; i++) {\n const fileSize = convertBytesToMegabytes(filesArray[i].size);\n if (fileSize > this.maxFileSize) {\n exceededFiles.push({\n fileName: filesArray[i].name,\n fileSize,\n });\n }\n }\n return exceededFiles;\n }\n\n get uploadButtonAriaLabel(): string {\n return UDExUpload.i18nBundle.getText(UPLOAD_BUTTON_LABEL);\n }\n\n get listBusy(): boolean {\n return !this.items.length;\n }\n\n get fileNumberExceeded(): boolean {\n return !this.multiple && this.items.length >= 1;\n }\n}\n\nUDExUpload.define();\n\nexport default UDExUpload;\n"]}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
|
|
2
|
+
import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
|
|
3
|
+
import I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
4
|
+
import UDExListItem from "./ListItem.js";
|
|
5
|
+
import UDExLink from "./Link.js";
|
|
6
|
+
import UDExButtonSize from "./types/ButtonSize.js";
|
|
7
|
+
import FileUploadState from "./types/FileUploadState.js";
|
|
8
|
+
/**
|
|
9
|
+
* @class
|
|
10
|
+
*
|
|
11
|
+
* <h3 class="comment-api-title">Overview</h3>
|
|
12
|
+
*
|
|
13
|
+
*
|
|
14
|
+
* <h3>Usage</h3>
|
|
15
|
+
*
|
|
16
|
+
* For the <code>udex-upload-item</code>
|
|
17
|
+
* <h3>ES6 Module Import</h3>
|
|
18
|
+
*
|
|
19
|
+
* <code>import "@udex/web-components/dist/UploadItem.js";</code>
|
|
20
|
+
*
|
|
21
|
+
* @constructor
|
|
22
|
+
* @extends UDExListItemBase
|
|
23
|
+
* @public
|
|
24
|
+
*/
|
|
25
|
+
declare class UDExUploadItem extends UDExListItem {
|
|
26
|
+
/**
|
|
27
|
+
* Defines the name of the uploaded file.
|
|
28
|
+
*
|
|
29
|
+
* @default ""
|
|
30
|
+
* @public
|
|
31
|
+
*/
|
|
32
|
+
fileName: string;
|
|
33
|
+
/**
|
|
34
|
+
* Defines the link of the uploaded file.
|
|
35
|
+
*
|
|
36
|
+
* @default undefined
|
|
37
|
+
* @public
|
|
38
|
+
*/
|
|
39
|
+
fileLink?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Defines the percentage of the upload.
|
|
42
|
+
*
|
|
43
|
+
* @default 0
|
|
44
|
+
* @public
|
|
45
|
+
*/
|
|
46
|
+
uploadPercentage: number;
|
|
47
|
+
/**
|
|
48
|
+
* Defines the percentage of the upload.
|
|
49
|
+
*
|
|
50
|
+
* @default 0
|
|
51
|
+
* @public
|
|
52
|
+
*/
|
|
53
|
+
uploadState: `${FileUploadState}`;
|
|
54
|
+
/**
|
|
55
|
+
* Slot for information about the uploaded file.
|
|
56
|
+
*
|
|
57
|
+
* @slot
|
|
58
|
+
* @public
|
|
59
|
+
*/
|
|
60
|
+
uploadInfo: Array<HTMLElement>;
|
|
61
|
+
/**
|
|
62
|
+
* Defines the percentage of the upload.
|
|
63
|
+
*
|
|
64
|
+
* @default "Large"
|
|
65
|
+
* @private
|
|
66
|
+
*/
|
|
67
|
+
_buttonSize: `${UDExButtonSize}`;
|
|
68
|
+
/**
|
|
69
|
+
* Defines if the screen is at the M breakpoint.
|
|
70
|
+
*
|
|
71
|
+
* @default false
|
|
72
|
+
* @private
|
|
73
|
+
*/
|
|
74
|
+
_breakpointM: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Defines if the screen is at the L breakpoint.
|
|
77
|
+
*
|
|
78
|
+
* @default false
|
|
79
|
+
* @private
|
|
80
|
+
*/
|
|
81
|
+
_breakpointL: boolean;
|
|
82
|
+
static i18nBundle: I18nBundle;
|
|
83
|
+
_handleResizeBound: ResizeObserverCallback;
|
|
84
|
+
static onDefine(): Promise<void>;
|
|
85
|
+
constructor();
|
|
86
|
+
onEnterDOM(): void;
|
|
87
|
+
onExitDOM(): void;
|
|
88
|
+
onAfterRendering(): void;
|
|
89
|
+
handleButtonClick(e: Event): void;
|
|
90
|
+
handleButtonKeydown(e: KeyboardEvent): void;
|
|
91
|
+
_handleResize(): void;
|
|
92
|
+
get fileLinkComponent(): UDExLink;
|
|
93
|
+
get removeButtonAccessibleName(): string;
|
|
94
|
+
get showUploadProgress(): boolean;
|
|
95
|
+
get uploadProgressState(): ValueState;
|
|
96
|
+
get uploadStatus(): string;
|
|
97
|
+
get fileInteractive(): boolean;
|
|
98
|
+
get additionalInfoClasses(): string;
|
|
99
|
+
get uploadItemClasses(): string;
|
|
100
|
+
}
|
|
101
|
+
export default UDExUploadItem;
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var UDExUploadItem_1;
|
|
8
|
+
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
9
|
+
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
10
|
+
import { slot } from "@ui5/webcomponents-base/dist/decorators.js";
|
|
11
|
+
import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
|
|
12
|
+
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
13
|
+
import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
|
|
14
|
+
import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
|
|
15
|
+
import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
16
|
+
import { isEnter, isSpace } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
17
|
+
import { REMOVE_FILE_TEXT, TERMINATED_FILE_STATUS_TEXT, UPLOADING_FILE_STATUS_TEXT, } from "./generated/i18n/i18n-defaults.js";
|
|
18
|
+
import UDExListItem from "./ListItem.js";
|
|
19
|
+
import UDExProgressBar from "./ProgressBar.js";
|
|
20
|
+
import UDExLink from "./Link.js";
|
|
21
|
+
import UDExButton from "./Button.js";
|
|
22
|
+
import UDExButtonSize from "./types/ButtonSize.js";
|
|
23
|
+
import UploadItemTemplate from "./generated/templates/UploadItemTemplate.lit.js";
|
|
24
|
+
// Styles
|
|
25
|
+
import UploadItemCss from "./generated/themes/UploadItem.css.js";
|
|
26
|
+
import FileUploadState from "./types/FileUploadState.js";
|
|
27
|
+
const BreakpointSizeS = 979;
|
|
28
|
+
const BreakpointSizeM = 1279;
|
|
29
|
+
/**
|
|
30
|
+
* @class
|
|
31
|
+
*
|
|
32
|
+
* <h3 class="comment-api-title">Overview</h3>
|
|
33
|
+
*
|
|
34
|
+
*
|
|
35
|
+
* <h3>Usage</h3>
|
|
36
|
+
*
|
|
37
|
+
* For the <code>udex-upload-item</code>
|
|
38
|
+
* <h3>ES6 Module Import</h3>
|
|
39
|
+
*
|
|
40
|
+
* <code>import "@udex/web-components/dist/UploadItem.js";</code>
|
|
41
|
+
*
|
|
42
|
+
* @constructor
|
|
43
|
+
* @extends UDExListItemBase
|
|
44
|
+
* @public
|
|
45
|
+
*/
|
|
46
|
+
let UDExUploadItem = UDExUploadItem_1 = class UDExUploadItem extends UDExListItem {
|
|
47
|
+
static async onDefine() {
|
|
48
|
+
UDExUploadItem_1.i18nBundle = await getI18nBundle("@udex/web-components");
|
|
49
|
+
}
|
|
50
|
+
constructor() {
|
|
51
|
+
super();
|
|
52
|
+
this._handleResizeBound = this._handleResize.bind(this);
|
|
53
|
+
}
|
|
54
|
+
onEnterDOM() {
|
|
55
|
+
ResizeHandler.register(this, this._handleResizeBound);
|
|
56
|
+
this.fireEvent("item-press", {
|
|
57
|
+
selected: false,
|
|
58
|
+
item: this,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
onExitDOM() {
|
|
62
|
+
ResizeHandler.deregister(this, this._handleResizeBound);
|
|
63
|
+
}
|
|
64
|
+
onAfterRendering() {
|
|
65
|
+
const fileLink = this.fileLinkComponent;
|
|
66
|
+
if (fileLink) {
|
|
67
|
+
fileLink._setCustomAttributes([{ attribute: "download", value: "true" }]);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
handleButtonClick(e) {
|
|
71
|
+
e.stopImmediatePropagation();
|
|
72
|
+
this.fireEvent("request-delete");
|
|
73
|
+
}
|
|
74
|
+
handleButtonKeydown(e) {
|
|
75
|
+
if (isEnter(e) || isSpace(e)) {
|
|
76
|
+
e.stopImmediatePropagation();
|
|
77
|
+
this.fireEvent("request-delete");
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
_handleResize() {
|
|
81
|
+
this._buttonSize = window.innerWidth <= BreakpointSizeS ? UDExButtonSize.Medium : UDExButtonSize.Large;
|
|
82
|
+
this._breakpointL = window.innerWidth > BreakpointSizeM;
|
|
83
|
+
this._breakpointM = !this._breakpointL ? true : !this._breakpointL && this.uploadState === FileUploadState.Uploaded;
|
|
84
|
+
}
|
|
85
|
+
get fileLinkComponent() {
|
|
86
|
+
return this.shadowRoot.querySelector("[udex-link]");
|
|
87
|
+
}
|
|
88
|
+
get removeButtonAccessibleName() {
|
|
89
|
+
return UDExUploadItem_1.i18nBundle.getText(REMOVE_FILE_TEXT);
|
|
90
|
+
}
|
|
91
|
+
get showUploadProgress() {
|
|
92
|
+
return this.uploadState === FileUploadState.Error || this.uploadState === FileUploadState.Uploading;
|
|
93
|
+
}
|
|
94
|
+
get uploadProgressState() {
|
|
95
|
+
if (this.uploadState === FileUploadState.Uploading) {
|
|
96
|
+
return ValueState.Information;
|
|
97
|
+
}
|
|
98
|
+
return ValueState.Error;
|
|
99
|
+
}
|
|
100
|
+
get uploadStatus() {
|
|
101
|
+
if (this.uploadState === FileUploadState.Uploading) {
|
|
102
|
+
return `${UDExUploadItem_1.i18nBundle.getText(UPLOADING_FILE_STATUS_TEXT)} ${this.uploadPercentage}%`;
|
|
103
|
+
}
|
|
104
|
+
return `${UDExUploadItem_1.i18nBundle.getText(TERMINATED_FILE_STATUS_TEXT)} ${this.uploadPercentage}%`;
|
|
105
|
+
}
|
|
106
|
+
get fileInteractive() {
|
|
107
|
+
return this.uploadState === FileUploadState.Uploaded;
|
|
108
|
+
}
|
|
109
|
+
get additionalInfoClasses() {
|
|
110
|
+
return `udex-upload-item__info ${this.uploadState === FileUploadState.Error ? "udex-upload-item__error" : ""}`;
|
|
111
|
+
}
|
|
112
|
+
get uploadItemClasses() {
|
|
113
|
+
return this.uploadState === "Uploaded" ? "udex-upload-item__info-uploaded" : "";
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
__decorate([
|
|
117
|
+
property({ type: String })
|
|
118
|
+
], UDExUploadItem.prototype, "fileName", void 0);
|
|
119
|
+
__decorate([
|
|
120
|
+
property({ type: String })
|
|
121
|
+
], UDExUploadItem.prototype, "fileLink", void 0);
|
|
122
|
+
__decorate([
|
|
123
|
+
property({ type: Number, validator: Integer })
|
|
124
|
+
], UDExUploadItem.prototype, "uploadPercentage", void 0);
|
|
125
|
+
__decorate([
|
|
126
|
+
property({ type: FileUploadState, defaultValue: FileUploadState.Uploaded })
|
|
127
|
+
], UDExUploadItem.prototype, "uploadState", void 0);
|
|
128
|
+
__decorate([
|
|
129
|
+
slot({ type: HTMLElement, "default": true })
|
|
130
|
+
], UDExUploadItem.prototype, "uploadInfo", void 0);
|
|
131
|
+
__decorate([
|
|
132
|
+
property({ type: UDExButtonSize })
|
|
133
|
+
], UDExUploadItem.prototype, "_buttonSize", void 0);
|
|
134
|
+
__decorate([
|
|
135
|
+
property({ type: Boolean })
|
|
136
|
+
], UDExUploadItem.prototype, "_breakpointM", void 0);
|
|
137
|
+
__decorate([
|
|
138
|
+
property({ type: Boolean })
|
|
139
|
+
], UDExUploadItem.prototype, "_breakpointL", void 0);
|
|
140
|
+
UDExUploadItem = UDExUploadItem_1 = __decorate([
|
|
141
|
+
customElement({
|
|
142
|
+
tag: "udex-upload-item",
|
|
143
|
+
renderer: litRender,
|
|
144
|
+
styles: UploadItemCss,
|
|
145
|
+
template: UploadItemTemplate,
|
|
146
|
+
dependencies: [UDExLink, UDExListItem, UDExProgressBar, UDExButton],
|
|
147
|
+
})
|
|
148
|
+
], UDExUploadItem);
|
|
149
|
+
UDExUploadItem.define();
|
|
150
|
+
export default UDExUploadItem;
|
|
151
|
+
//# sourceMappingURL=UploadItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UploadItem.js","sourceRoot":"","sources":["../src/UploadItem.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,4CAA4C,CAAC;AAClE,OAAO,aAAyC,MAAM,wDAAwD,CAAC;AAC/G,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAE7E,OAAO,OAAO,MAAM,+CAA+C,CAAC;AACpE,OAAO,UAAU,MAAM,kDAAkD,CAAC;AAC1E,OAAmB,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EACL,gBAAgB,EAChB,2BAA2B,EAAE,0BAA0B,GACxD,MAAM,mCAAmC,CAAC;AAC3C,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,eAAe,MAAM,kBAAkB,CAAC;AAC/C,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,cAAc,MAAM,uBAAuB,CAAC;AACnD,OAAO,kBAAkB,MAAM,iDAAiD,CAAC;AAEjF,SAAS;AACT,OAAO,aAAa,MAAM,sCAAsC,CAAC;AACjE,OAAO,eAAe,MAAM,4BAA4B,CAAC;AAEzD,MAAM,eAAe,GAAW,GAAG,CAAC;AACpC,MAAM,eAAe,GAAW,IAAI,CAAC;AAErC;;;;;;;;;;;;;;;;GAgBG;AASH,IAAM,cAAc,sBAApB,MAAM,cAAe,SAAQ,YAAY;IA2EvC,MAAM,CAAC,KAAK,CAAC,QAAQ;QACnB,gBAAc,CAAC,UAAU,GAAG,MAAM,aAAa,CAAC,sBAAsB,CAAC,CAAC;IAC1E,CAAC;IAED;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,UAAU;QACR,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE;YAC3B,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC1D,CAAC;IAED,gBAAgB;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACxC,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,oBAAoB,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;SAC3E;IACH,CAAC;IAED,iBAAiB,CAAC,CAAQ;QACxB,CAAC,CAAC,wBAAwB,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACnC,CAAC;IAED,mBAAmB,CAAC,CAAgB;QAClC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YAC5B,CAAC,CAAC,wBAAwB,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;SAClC;IACH,CAAC;IAED,aAAa;QACX,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,IAAI,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC;QACvG,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,UAAU,GAAG,eAAe,CAAC;QACxD,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,KAAK,eAAe,CAAC,QAAQ,CAAC;IACtH,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAW,aAAa,CAAE,CAAC;IAClE,CAAC;IAED,IAAI,0BAA0B;QAC5B,OAAO,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,WAAW,KAAK,eAAe,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,KAAK,eAAe,CAAC,SAAS,CAAC;IACtG,CAAC;IAED,IAAI,mBAAmB;QACrB,IAAI,IAAI,CAAC,WAAW,KAAK,eAAe,CAAC,SAAS,EAAE;YAClD,OAAO,UAAU,CAAC,WAAW,CAAC;SAC/B;QAED,OAAO,UAAU,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,IAAI,YAAY;QACd,IAAI,IAAI,CAAC,WAAW,KAAK,eAAe,CAAC,SAAS,EAAE;YAClD,OAAO,GAAG,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,0BAA0B,CAAC,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC;SACrG;QAED,OAAO,GAAG,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,2BAA2B,CAAC,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC;IACvG,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,WAAW,KAAK,eAAe,CAAC,QAAQ,CAAC;IACvD,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,0BAA0B,IAAI,CAAC,WAAW,KAAK,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACjH,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClF,CAAC;CACF,CAAA;AAxJG;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gDACP;AASlB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gDACP;AASlB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;wDACnB;AAS1B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC;mDACvC;AAQS;IAA7C,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;kDAAiC;AAS5E;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;mDACC;AASlC;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oDACH;AASvB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oDACH;AAtErB,cAAc;IARnB,aAAa,CAAC;QACb,GAAG,EAAE,kBAAkB;QACvB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,kBAAkB;QAC5B,YAAY,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,CAAC;KACpE,CAAC;GAEI,cAAc,CAgKnB;AAED,cAAc,CAAC,MAAM,EAAE,CAAC;AAExB,eAAe,cAAc,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport { slot } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport ResizeHandler, { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\n\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport I18nBundle, { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isEnter, isSpace } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport {\n REMOVE_FILE_TEXT,\n TERMINATED_FILE_STATUS_TEXT, UPLOADING_FILE_STATUS_TEXT,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport UDExListItem from \"./ListItem.js\";\nimport UDExProgressBar from \"./ProgressBar.js\";\nimport UDExLink from \"./Link.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExButtonSize from \"./types/ButtonSize.js\";\nimport UploadItemTemplate from \"./generated/templates/UploadItemTemplate.lit.js\";\n\n// Styles\nimport UploadItemCss from \"./generated/themes/UploadItem.css.js\";\nimport FileUploadState from \"./types/FileUploadState.js\";\n\nconst BreakpointSizeS: number = 979;\nconst BreakpointSizeM: number = 1279;\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-upload-item</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/UploadItem.js\";</code>\n *\n * @constructor\n * @extends UDExListItemBase\n * @public\n */\n@customElement({\n tag: \"udex-upload-item\",\n renderer: litRender,\n styles: UploadItemCss,\n template: UploadItemTemplate,\n dependencies: [UDExLink, UDExListItem, UDExProgressBar, UDExButton],\n})\n\nclass UDExUploadItem extends UDExListItem {\n /**\n * Defines the name of the uploaded file.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n fileName!: string;\n\n /**\n * Defines the link of the uploaded file.\n *\n * @default undefined\n * @public\n */\n @property({ type: String })\n fileLink?: string;\n\n /**\n * Defines the percentage of the upload.\n *\n * @default 0\n * @public\n */\n @property({ type: Number, validator: Integer })\n uploadPercentage!: number;\n\n /**\n * Defines the percentage of the upload.\n *\n * @default 0\n * @public\n */\n @property({ type: FileUploadState, defaultValue: FileUploadState.Uploaded })\n uploadState!: `${FileUploadState}`;\n\n /**\n * Slot for information about the uploaded file.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true }) uploadInfo!: Array<HTMLElement>;\n\n /**\n * Defines the percentage of the upload.\n *\n * @default \"Large\"\n * @private\n */\n @property({ type: UDExButtonSize })\n _buttonSize!: `${UDExButtonSize}`;\n\n /**\n * Defines if the screen is at the M breakpoint.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _breakpointM!: boolean;\n\n /**\n * Defines if the screen is at the L breakpoint.\n *\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _breakpointL!: boolean;\n\n static i18nBundle: I18nBundle;\n _handleResizeBound: ResizeObserverCallback;\n\n static async onDefine() {\n UDExUploadItem.i18nBundle = await getI18nBundle(\"@udex/web-components\");\n }\n\n constructor() {\n super();\n this._handleResizeBound = this._handleResize.bind(this);\n }\n\n onEnterDOM(): void {\n ResizeHandler.register(this, this._handleResizeBound);\n this.fireEvent(\"item-press\", {\n selected: false,\n item: this,\n });\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n onAfterRendering(): void {\n const fileLink = this.fileLinkComponent;\n if (fileLink) {\n fileLink._setCustomAttributes([{ attribute: \"download\", value: \"true\" }]);\n }\n }\n\n handleButtonClick(e: Event) {\n e.stopImmediatePropagation();\n this.fireEvent(\"request-delete\");\n }\n\n handleButtonKeydown(e: KeyboardEvent) {\n if (isEnter(e) || isSpace(e)) {\n e.stopImmediatePropagation();\n this.fireEvent(\"request-delete\");\n }\n }\n\n _handleResize() {\n this._buttonSize = window.innerWidth <= BreakpointSizeS ? UDExButtonSize.Medium : UDExButtonSize.Large;\n this._breakpointL = window.innerWidth > BreakpointSizeM;\n this._breakpointM = !this._breakpointL ? true : !this._breakpointL && this.uploadState === FileUploadState.Uploaded;\n }\n\n get fileLinkComponent(): UDExLink {\n return this.shadowRoot!.querySelector<UDExLink>(\"[udex-link]\")!;\n }\n\n get removeButtonAccessibleName(): string {\n return UDExUploadItem.i18nBundle.getText(REMOVE_FILE_TEXT);\n }\n\n get showUploadProgress(): boolean {\n return this.uploadState === FileUploadState.Error || this.uploadState === FileUploadState.Uploading;\n }\n\n get uploadProgressState(): ValueState {\n if (this.uploadState === FileUploadState.Uploading) {\n return ValueState.Information;\n }\n\n return ValueState.Error;\n }\n\n get uploadStatus(): string {\n if (this.uploadState === FileUploadState.Uploading) {\n return `${UDExUploadItem.i18nBundle.getText(UPLOADING_FILE_STATUS_TEXT)} ${this.uploadPercentage}%`;\n }\n\n return `${UDExUploadItem.i18nBundle.getText(TERMINATED_FILE_STATUS_TEXT)} ${this.uploadPercentage}%`;\n }\n\n get fileInteractive(): boolean {\n return this.uploadState === FileUploadState.Uploaded;\n }\n\n get additionalInfoClasses(): string {\n return `udex-upload-item__info ${this.uploadState === FileUploadState.Error ? \"udex-upload-item__error\" : \"\"}`;\n }\n\n get uploadItemClasses(): string {\n return this.uploadState === \"Uploaded\" ? \"udex-upload-item__info-uploaded\" : \"\";\n }\n}\n\nUDExUploadItem.define();\n\nexport default UDExUploadItem;\n"]}
|