@eui/eds 22.0.0-alpha.22 → 22.0.0-alpha.24
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/docs/changelog.html +62 -0
- package/docs/components/EdsButton.html +77 -203
- package/docs/components/EdsCalendarDay.html +1 -1
- package/docs/components/EdsCalendarHeader.html +1 -1
- package/docs/components/EdsDatepicker.html +1 -1
- package/docs/components/EdsDialogContainer.html +1 -1
- package/docs/components/EdsFeedbackMessage.html +35 -73
- package/docs/components/EdsFileUpload.html +1 -1
- package/docs/components/EdsFlexLayout.html +1 -1
- package/docs/components/EdsGridLayout.html +1 -1
- package/docs/components/EdsGridLayoutCell.html +1 -1
- package/docs/components/EdsGridLayoutRow.html +1 -1
- package/docs/components/EdsIconState.html +38 -3
- package/docs/components/EdsInputButton.html +0 -57
- package/docs/components/EdsInputCheckbox.html +0 -62
- package/docs/components/EdsInputIcon.html +0 -53
- package/docs/components/EdsInputNumber.html +0 -60
- package/docs/components/EdsInputRadio.html +0 -62
- package/docs/components/EdsInputText.html +0 -62
- package/docs/components/EdsLabel.html +1 -1
- package/docs/components/EdsLanguageSelectorDialog.html +3 -5
- package/docs/components/EdsLink.html +1 -1
- package/docs/components/EdsLoadingIndicator.html +1 -1
- package/docs/components/EdsPaginator.html +1 -1
- package/docs/components/EdsRating.html +66 -57
- package/docs/components/EdsSelect.html +0 -45
- package/docs/components/EdsSnc.html +2 -2
- package/docs/components/EdsTab.html +8 -133
- package/docs/components/EdsTabBody.html +21 -41
- package/docs/components/EdsTabHeader.html +13 -25
- package/docs/components/EdsTabHeaderLabel.html +4 -126
- package/docs/components/EdsTabHeaderLeftContent.html +4 -126
- package/docs/components/EdsTabHeaderRightContent.html +4 -126
- package/docs/components/EdsTabHeaderSublabel.html +4 -126
- package/docs/components/EdsTabs.html +113 -140
- package/docs/components/EdsTextarea.html +0 -62
- package/docs/components/EdsTreeListToolbar.html +1 -1
- package/docs/components/EdsTrend.html +1 -1
- package/docs/directives/EdsColorDirective.html +0 -9
- package/docs/directives/EdsFlexColDirective.html +1 -1
- package/docs/directives/EdsFlexGrowDirective.html +1 -1
- package/docs/directives/EdsFlexNoShrinkDirective.html +1 -1
- package/docs/directives/EdsSizeDirective.html +0 -3
- package/docs/directives/EdsTooltip.html +45 -281
- package/docs/js/search/search_index.js +2 -2
- package/docs/json/EdsButton.md +15 -24
- package/docs/json/EdsFeedbackMessage.md +4 -10
- package/docs/json/EdsIconState.md +2 -1
- package/docs/json/EdsRating.md +2 -0
- package/docs/json/EdsTab.md +1 -1
- package/docs/json/EdsTabs.md +7 -8
- package/docs/json/EdsTooltip.md +3 -3
- package/docs/json/documentation.json +1803 -2031
- package/docs/llms.txt +72 -109
- package/docs/miscellaneous/typealiases.html +179 -16
- package/docs/miscellaneous/variables.html +16 -16
- package/docs/properties.html +1 -1
- package/eds-flex-layout/package.json +4 -0
- package/eds-grid-layout/package.json +4 -0
- package/eds-icon-state/package.json +4 -0
- package/eds-label/package.json +4 -0
- package/eds-link/package.json +4 -0
- package/eds-loading-indicator/package.json +4 -0
- package/eds-snc/package.json +4 -0
- package/eds-trend/package.json +4 -0
- package/fesm2022/eui-eds-eds-alert.mjs +3 -3
- package/fesm2022/eui-eds-eds-alert.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-button.mjs +53 -85
- package/fesm2022/eui-eds-eds-button.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-calendar.mjs +4 -4
- package/fesm2022/eui-eds-eds-calendar.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-datepicker.mjs +2 -2
- package/fesm2022/eui-eds-eds-datepicker.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-dialog.mjs +4 -4
- package/fesm2022/eui-eds-eds-dialog.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-discussion-thread.mjs +3 -3
- package/fesm2022/eui-eds-eds-discussion-thread.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-feedback-message.mjs +28 -42
- package/fesm2022/eui-eds-eds-feedback-message.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-file-upload.mjs +2 -2
- package/fesm2022/eui-eds-eds-file-upload.mjs.map +1 -1
- package/fesm2022/{eui-eds-utilities-eds-flex-layout.mjs → eui-eds-eds-flex-layout.mjs} +1 -1
- package/fesm2022/eui-eds-eds-flex-layout.mjs.map +1 -0
- package/fesm2022/{eui-eds-utilities-eds-grid-layout.mjs → eui-eds-eds-grid-layout.mjs} +1 -1
- package/fesm2022/eui-eds-eds-grid-layout.mjs.map +1 -0
- package/fesm2022/eui-eds-eds-growl.mjs +3 -3
- package/fesm2022/eui-eds-eds-growl.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-icon-state.mjs +56 -0
- package/fesm2022/eui-eds-eds-icon-state.mjs.map +1 -0
- package/fesm2022/eui-eds-eds-input-button.mjs +10 -13
- package/fesm2022/eui-eds-eds-input-button.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-input-checkbox.mjs +6 -17
- package/fesm2022/eui-eds-eds-input-checkbox.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-input-icon.mjs +10 -9
- package/fesm2022/eui-eds-eds-input-icon.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-input-number.mjs +5 -14
- package/fesm2022/eui-eds-eds-input-number.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-input-radio.mjs +6 -17
- package/fesm2022/eui-eds-eds-input-radio.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-input-text.mjs +5 -16
- package/fesm2022/eui-eds-eds-input-text.mjs.map +1 -1
- package/fesm2022/{eui-eds-utilities-eds-label.mjs → eui-eds-eds-label.mjs} +1 -1
- package/fesm2022/eui-eds-eds-label.mjs.map +1 -0
- package/fesm2022/eui-eds-eds-language-selector.mjs +5 -9
- package/fesm2022/eui-eds-eds-language-selector.mjs.map +1 -1
- package/fesm2022/{eui-eds-utilities-eds-link.mjs → eui-eds-eds-link.mjs} +1 -1
- package/fesm2022/eui-eds-eds-link.mjs.map +1 -0
- package/fesm2022/{eui-eds-utilities-eds-loading-indicator.mjs → eui-eds-eds-loading-indicator.mjs} +1 -1
- package/fesm2022/eui-eds-eds-loading-indicator.mjs.map +1 -0
- package/fesm2022/eui-eds-eds-paginator.mjs +2 -2
- package/fesm2022/eui-eds-eds-paginator.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-progress-bar.mjs +3 -3
- package/fesm2022/eui-eds-eds-progress-bar.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-rating.mjs +30 -16
- package/fesm2022/eui-eds-eds-rating.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-select.mjs +10 -33
- package/fesm2022/eui-eds-eds-select.mjs.map +1 -1
- package/fesm2022/{eui-eds-utilities-eds-snc.mjs → eui-eds-eds-snc.mjs} +3 -3
- package/fesm2022/eui-eds-eds-snc.mjs.map +1 -0
- package/fesm2022/eui-eds-eds-tabs.mjs +192 -259
- package/fesm2022/eui-eds-eds-tabs.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-textarea.mjs +5 -16
- package/fesm2022/eui-eds-eds-textarea.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-tooltip.mjs +71 -86
- package/fesm2022/eui-eds-eds-tooltip.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-tree-list.mjs +2 -2
- package/fesm2022/eui-eds-eds-tree-list.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-tree.mjs +2 -2
- package/fesm2022/eui-eds-eds-tree.mjs.map +1 -1
- package/fesm2022/{eui-eds-utilities-eds-trend.mjs → eui-eds-eds-trend.mjs} +1 -1
- package/fesm2022/eui-eds-eds-trend.mjs.map +1 -0
- package/package.json +33 -33
- package/types/eui-eds-eds-button.d.ts +47 -33
- package/types/eui-eds-eds-button.d.ts.map +1 -1
- package/types/eui-eds-eds-feedback-message.d.ts +20 -10
- package/types/eui-eds-eds-feedback-message.d.ts.map +1 -1
- package/types/{eui-eds-utilities-eds-flex-layout.d.ts → eui-eds-eds-flex-layout.d.ts} +1 -1
- package/types/eui-eds-eds-flex-layout.d.ts.map +1 -0
- package/types/{eui-eds-utilities-eds-grid-layout.d.ts → eui-eds-eds-grid-layout.d.ts} +1 -1
- package/types/eui-eds-eds-grid-layout.d.ts.map +1 -0
- package/types/{eui-eds-utilities-eds-icon-state.d.ts → eui-eds-eds-icon-state.d.ts} +8 -3
- package/types/eui-eds-eds-icon-state.d.ts.map +1 -0
- package/types/eui-eds-eds-input-button.d.ts +5 -1
- package/types/eui-eds-eds-input-button.d.ts.map +1 -1
- package/types/eui-eds-eds-input-checkbox.d.ts +0 -4
- package/types/eui-eds-eds-input-checkbox.d.ts.map +1 -1
- package/types/eui-eds-eds-input-icon.d.ts +5 -1
- package/types/eui-eds-eds-input-icon.d.ts.map +1 -1
- package/types/eui-eds-eds-input-number.d.ts +1 -5
- package/types/eui-eds-eds-input-number.d.ts.map +1 -1
- package/types/eui-eds-eds-input-radio.d.ts +0 -4
- package/types/eui-eds-eds-input-radio.d.ts.map +1 -1
- package/types/eui-eds-eds-input-text.d.ts +1 -5
- package/types/eui-eds-eds-input-text.d.ts.map +1 -1
- package/types/{eui-eds-utilities-eds-label.d.ts → eui-eds-eds-label.d.ts} +1 -1
- package/types/eui-eds-eds-label.d.ts.map +1 -0
- package/types/eui-eds-eds-language-selector.d.ts.map +1 -1
- package/types/{eui-eds-utilities-eds-link.d.ts → eui-eds-eds-link.d.ts} +1 -1
- package/types/eui-eds-eds-link.d.ts.map +1 -0
- package/types/{eui-eds-utilities-eds-loading-indicator.d.ts → eui-eds-eds-loading-indicator.d.ts} +1 -1
- package/types/eui-eds-eds-loading-indicator.d.ts.map +1 -0
- package/types/eui-eds-eds-rating.d.ts +19 -2
- package/types/eui-eds-eds-rating.d.ts.map +1 -1
- package/types/eui-eds-eds-select.d.ts +1 -5
- package/types/eui-eds-eds-select.d.ts.map +1 -1
- package/types/{eui-eds-utilities-eds-snc.d.ts → eui-eds-eds-snc.d.ts} +1 -1
- package/types/eui-eds-eds-snc.d.ts.map +1 -0
- package/types/eui-eds-eds-tabs.d.ts +87 -100
- package/types/eui-eds-eds-tabs.d.ts.map +1 -1
- package/types/eui-eds-eds-textarea.d.ts +1 -5
- package/types/eui-eds-eds-textarea.d.ts.map +1 -1
- package/types/eui-eds-eds-tooltip.d.ts +27 -25
- package/types/eui-eds-eds-tooltip.d.ts.map +1 -1
- package/types/{eui-eds-utilities-eds-trend.d.ts → eui-eds-eds-trend.d.ts} +1 -1
- package/types/eui-eds-eds-trend.d.ts.map +1 -0
- package/fesm2022/eui-eds-utilities-eds-flex-layout.mjs.map +0 -1
- package/fesm2022/eui-eds-utilities-eds-grid-layout.mjs.map +0 -1
- package/fesm2022/eui-eds-utilities-eds-icon-state.mjs +0 -49
- package/fesm2022/eui-eds-utilities-eds-icon-state.mjs.map +0 -1
- package/fesm2022/eui-eds-utilities-eds-label.mjs.map +0 -1
- package/fesm2022/eui-eds-utilities-eds-link.mjs.map +0 -1
- package/fesm2022/eui-eds-utilities-eds-loading-indicator.mjs.map +0 -1
- package/fesm2022/eui-eds-utilities-eds-snc.mjs.map +0 -1
- package/fesm2022/eui-eds-utilities-eds-trend.mjs.map +0 -1
- package/types/eui-eds-utilities-eds-flex-layout.d.ts.map +0 -1
- package/types/eui-eds-utilities-eds-grid-layout.d.ts.map +0 -1
- package/types/eui-eds-utilities-eds-icon-state.d.ts.map +0 -1
- package/types/eui-eds-utilities-eds-label.d.ts.map +0 -1
- package/types/eui-eds-utilities-eds-link.d.ts.map +0 -1
- package/types/eui-eds-utilities-eds-loading-indicator.d.ts.map +0 -1
- package/types/eui-eds-utilities-eds-snc.d.ts.map +0 -1
- package/types/eui-eds-utilities-eds-trend.d.ts.map +0 -1
- package/utilities/eds-flex-layout/package.json +0 -4
- package/utilities/eds-grid-layout/package.json +0 -4
- package/utilities/eds-icon-state/package.json +0 -4
- package/utilities/eds-label/package.json +0 -4
- package/utilities/eds-link/package.json +0 -4
- package/utilities/eds-loading-indicator/package.json +0 -4
- package/utilities/eds-snc/package.json +0 -4
- package/utilities/eds-trend/package.json +0 -4
|
@@ -1,31 +1,35 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { input, booleanAttribute,
|
|
3
|
-
import * as i1 from '@eui/eds/
|
|
4
|
-
import {
|
|
5
|
-
import * as i2 from '@eui/eds/utilities/eds-icon-state';
|
|
6
|
-
import { EDS_ICON_STATE } from '@eui/eds/utilities/eds-icon-state';
|
|
2
|
+
import { input, booleanAttribute, computed, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
+
import * as i1 from '@eui/eds/eds-icon-state';
|
|
4
|
+
import { EDS_ICON_STATE } from '@eui/eds/eds-icon-state';
|
|
7
5
|
|
|
8
6
|
/**
|
|
9
7
|
* A feedback message component that displays contextual feedback to users.
|
|
10
|
-
* Supports different color variants (info, success, warning, critical) and a muted mode.
|
|
8
|
+
* Supports different color variants (primary, neutral, info, success, warning, critical) and a muted mode.
|
|
11
9
|
*
|
|
12
10
|
* @usageNotes
|
|
13
11
|
* ### Basic feedback message
|
|
14
12
|
* ```html
|
|
15
|
-
* <eds-feedback-message
|
|
13
|
+
* <eds-feedback-message color="success">
|
|
16
14
|
* Operation completed successfully
|
|
17
15
|
* </eds-feedback-message>
|
|
18
16
|
* ```
|
|
19
17
|
*
|
|
20
18
|
* ### Muted variant (no icon)
|
|
21
19
|
* ```html
|
|
22
|
-
* <eds-feedback-message
|
|
20
|
+
* <eds-feedback-message color="warning" isMuted>
|
|
23
21
|
* This is a subtle warning message
|
|
24
22
|
* </eds-feedback-message>
|
|
25
23
|
* ```
|
|
26
24
|
*/
|
|
27
25
|
class EdsFeedbackMessage {
|
|
28
26
|
constructor() {
|
|
27
|
+
/**
|
|
28
|
+
* Semantic color of the feedback message.
|
|
29
|
+
* @default 'info'
|
|
30
|
+
*/
|
|
31
|
+
this.color = input('info', /* @ts-ignore */
|
|
32
|
+
...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
|
|
29
33
|
/**
|
|
30
34
|
* Controls whether the feedback message is displayed in a muted state.
|
|
31
35
|
* When true, the status icon is hidden and the message has reduced visual prominence.
|
|
@@ -35,47 +39,29 @@ class EdsFeedbackMessage {
|
|
|
35
39
|
/** Data attribute value for end-to-end testing identification. */
|
|
36
40
|
this.e2eAttr = input('eds-feedback-message', /* @ts-ignore */
|
|
37
41
|
...(ngDevMode ? [{ debugName: "e2eAttr" }] : /* istanbul ignore next */ []));
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
this.
|
|
43
|
-
const
|
|
44
|
-
return
|
|
45
|
-
'eds-feedback-message',
|
|
46
|
-
colorClass || 'eds-feedback-message--info',
|
|
47
|
-
this.isMuted() ? 'eds-feedback-message--muted' : '',
|
|
48
|
-
]
|
|
49
|
-
.join(' ')
|
|
50
|
-
.trim();
|
|
42
|
+
/**
|
|
43
|
+
* Resolved color variant passed to eds-icon-state. The icon set only supports
|
|
44
|
+
* info / success / warning / critical, so primary and neutral fall back to info.
|
|
45
|
+
*/
|
|
46
|
+
this.iconVariant = computed(() => {
|
|
47
|
+
const color = this.color();
|
|
48
|
+
return color === 'success' || color === 'warning' || color === 'critical' ? color : 'info';
|
|
51
49
|
}, /* @ts-ignore */
|
|
52
|
-
...(ngDevMode ? [{ debugName: "
|
|
50
|
+
...(ngDevMode ? [{ debugName: "iconVariant" }] : /* istanbul ignore next */ []));
|
|
53
51
|
}
|
|
54
52
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsFeedbackMessage, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
55
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: EdsFeedbackMessage, isStandalone: true, selector: "eds-feedback-message", inputs: {
|
|
53
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: EdsFeedbackMessage, isStandalone: true, selector: "eds-feedback-message", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, isMuted: { classPropertyName: "isMuted", publicName: "isMuted", isSignal: true, isRequired: false, transformFunction: null }, e2eAttr: { classPropertyName: "e2eAttr", publicName: "e2eAttr", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "status", "aria-live": "polite" }, properties: { "attr.color": "color()", "attr.muted": "isMuted() || null", "attr.data-e2e": "e2eAttr()" } }, ngImport: i0, template: "@if (!isMuted()) {\n <eds-icon-state [color]=\"iconVariant()\" size=\"s\" [ariaLabel]=\"iconVariant()\"/>\n}\n<div class=\"content\">\n <ng-content />\n</div>\n", styles: [":host{--_eds-feedback-message-color: var(--eds-c-foreground-info);align-items:center;display:flex;gap:var(--eds-sp-3xs);position:relative}:host .content{color:var(--_eds-feedback-message-color);display:block;position:relative;font:var(--eds-f-paragraph-s)}:host([color=primary]){--_eds-feedback-message-color: var(--eds-c-foreground-primary)}:host([color=neutral]){--_eds-feedback-message-color: var(--eds-c-foreground)}:host([color=info]){--_eds-feedback-message-color: var(--eds-c-foreground-info)}:host([color=success]){--_eds-feedback-message-color: var(--eds-c-foreground-success)}:host([color=warning]){--_eds-feedback-message-color: var(--eds-c-foreground-warning)}:host([color=critical]){--_eds-feedback-message-color: var(--eds-c-foreground-critical)}\n"], dependencies: [{ kind: "component", type: i1.EdsIconState, selector: "eds-icon-state", inputs: ["color", "size", "ariaLabel", "e2eAttr"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
56
54
|
}
|
|
57
55
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsFeedbackMessage, decorators: [{
|
|
58
56
|
type: Component,
|
|
59
|
-
args: [{ selector: 'eds-feedback-message', changeDetection: ChangeDetectionStrategy.OnPush, imports: [...EDS_ICON_STATE],
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
'edsNeutral',
|
|
65
|
-
'edsInfo',
|
|
66
|
-
'edsWarning',
|
|
67
|
-
'edsSuccess',
|
|
68
|
-
'edsCritical',
|
|
69
|
-
'edsColorVariant',
|
|
70
|
-
],
|
|
71
|
-
},
|
|
72
|
-
], host: {
|
|
73
|
-
'[class]': 'hostClasses()',
|
|
74
|
-
'[attr.role]': '"status"',
|
|
75
|
-
'[attr.aria-live]': '"polite"',
|
|
57
|
+
args: [{ selector: 'eds-feedback-message', changeDetection: ChangeDetectionStrategy.OnPush, imports: [...EDS_ICON_STATE], host: {
|
|
58
|
+
'[attr.color]': 'color()',
|
|
59
|
+
'[attr.muted]': 'isMuted() || null',
|
|
60
|
+
role: 'status',
|
|
61
|
+
'aria-live': 'polite',
|
|
76
62
|
'[attr.data-e2e]': 'e2eAttr()',
|
|
77
|
-
}, template: "@if (!isMuted()) {\n <eds-icon-state [color]=\"
|
|
78
|
-
}], propDecorators: { isMuted: [{ type: i0.Input, args: [{ isSignal: true, alias: "isMuted", required: false }] }], e2eAttr: [{ type: i0.Input, args: [{ isSignal: true, alias: "e2eAttr", required: false }] }] } });
|
|
63
|
+
}, template: "@if (!isMuted()) {\n <eds-icon-state [color]=\"iconVariant()\" size=\"s\" [ariaLabel]=\"iconVariant()\"/>\n}\n<div class=\"content\">\n <ng-content />\n</div>\n", styles: [":host{--_eds-feedback-message-color: var(--eds-c-foreground-info);align-items:center;display:flex;gap:var(--eds-sp-3xs);position:relative}:host .content{color:var(--_eds-feedback-message-color);display:block;position:relative;font:var(--eds-f-paragraph-s)}:host([color=primary]){--_eds-feedback-message-color: var(--eds-c-foreground-primary)}:host([color=neutral]){--_eds-feedback-message-color: var(--eds-c-foreground)}:host([color=info]){--_eds-feedback-message-color: var(--eds-c-foreground-info)}:host([color=success]){--_eds-feedback-message-color: var(--eds-c-foreground-success)}:host([color=warning]){--_eds-feedback-message-color: var(--eds-c-foreground-warning)}:host([color=critical]){--_eds-feedback-message-color: var(--eds-c-foreground-critical)}\n"] }]
|
|
64
|
+
}], propDecorators: { color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], isMuted: [{ type: i0.Input, args: [{ isSignal: true, alias: "isMuted", required: false }] }], e2eAttr: [{ type: i0.Input, args: [{ isSignal: true, alias: "e2eAttr", required: false }] }] } });
|
|
79
65
|
|
|
80
66
|
/** Convenience array for importing all eds-feedback-message components. */
|
|
81
67
|
const EDS_FEEDBACK_MESSAGE = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-eds-eds-feedback-message.mjs","sources":["../../eds-feedback-message/eds-feedback-message.ts","../../eds-feedback-message/eds-feedback-message.html","../../eds-feedback-message/index.ts","../../eds-feedback-message/eui-eds-eds-feedback-message.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, booleanAttribute, computed,
|
|
1
|
+
{"version":3,"file":"eui-eds-eds-feedback-message.mjs","sources":["../../eds-feedback-message/eds-feedback-message.ts","../../eds-feedback-message/eds-feedback-message.html","../../eds-feedback-message/index.ts","../../eds-feedback-message/eui-eds-eds-feedback-message.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, booleanAttribute, computed, input } from '@angular/core';\nimport { EDS_ICON_STATE, EdsIconStateColor } from '@eui/eds/eds-icon-state';\n\n/**\n * Local narrowed color union — the feedback message's variant contract. No shared-token import.\n */\nexport type EdsFeedbackMessageColor = 'primary' | 'neutral' | 'info' | 'success' | 'warning' | 'critical';\n\n/**\n * A feedback message component that displays contextual feedback to users.\n * Supports different color variants (primary, neutral, info, success, warning, critical) and a muted mode.\n *\n * @usageNotes\n * ### Basic feedback message\n * ```html\n * <eds-feedback-message color=\"success\">\n * Operation completed successfully\n * </eds-feedback-message>\n * ```\n *\n * ### Muted variant (no icon)\n * ```html\n * <eds-feedback-message color=\"warning\" isMuted>\n * This is a subtle warning message\n * </eds-feedback-message>\n * ```\n */\n@Component({\n selector: 'eds-feedback-message',\n templateUrl: './eds-feedback-message.html',\n styleUrl: './eds-feedback-message.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [...EDS_ICON_STATE],\n host: {\n '[attr.color]': 'color()',\n '[attr.muted]': 'isMuted() || null',\n role: 'status',\n 'aria-live': 'polite',\n '[attr.data-e2e]': 'e2eAttr()',\n },\n})\nexport class EdsFeedbackMessage {\n /**\n * Semantic color of the feedback message.\n * @default 'info'\n */\n readonly color = input<EdsFeedbackMessageColor>('info');\n\n /**\n * Controls whether the feedback message is displayed in a muted state.\n * When true, the status icon is hidden and the message has reduced visual prominence.\n * @default false\n */\n readonly isMuted = input(false, { transform: booleanAttribute });\n\n /** Data attribute value for end-to-end testing identification. */\n readonly e2eAttr = input('eds-feedback-message');\n\n /**\n * Resolved color variant passed to eds-icon-state. The icon set only supports\n * info / success / warning / critical, so primary and neutral fall back to info.\n */\n protected readonly iconVariant = computed<EdsIconStateColor>(() => {\n const color = this.color();\n return color === 'success' || color === 'warning' || color === 'critical' ? color : 'info';\n });\n}\n","@if (!isMuted()) {\n <eds-icon-state [color]=\"iconVariant()\" size=\"s\" [ariaLabel]=\"iconVariant()\"/>\n}\n<div class=\"content\">\n <ng-content />\n</div>\n","import { EdsFeedbackMessage, EdsFeedbackMessageColor } from './eds-feedback-message';\n\nexport { EdsFeedbackMessage, EdsFeedbackMessageColor };\n\n/** Convenience array for importing all eds-feedback-message components. */\nexport const EDS_FEEDBACK_MESSAGE = [\n EdsFeedbackMessage,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAQA;;;;;;;;;;;;;;;;;;AAkBG;MAeU,kBAAkB,CAAA;AAd/B,IAAA,WAAA,GAAA;AAeI;;;AAGG;QACM,IAAA,CAAA,KAAK,GAAG,KAAK,CAA0B,MAAM;kFAAC;AAEvD;;;;AAIG;QACM,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,KAAK,+EAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;;QAGvD,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,sBAAsB;oFAAC;AAEhD;;;AAGG;AACgB,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAoB,MAAK;AAC9D,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;AAC1B,YAAA,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,UAAU,GAAG,KAAK,GAAG,MAAM;QAC9F,CAAC;wFAAC;AACL,IAAA;8GAzBY,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,6nBCzC/B,wKAMA,EAAA,MAAA,EAAA,CAAA,4vBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,WAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDmCa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAd9B,SAAS;+BACI,sBAAsB,EAAA,eAAA,EAGf,uBAAuB,CAAC,MAAM,WACtC,CAAC,GAAG,cAAc,CAAC,EAAA,IAAA,EACtB;AACF,wBAAA,cAAc,EAAE,SAAS;AACzB,wBAAA,cAAc,EAAE,mBAAmB;AACnC,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,WAAW,EAAE,QAAQ;AACrB,wBAAA,iBAAiB,EAAE,WAAW;AACjC,qBAAA,EAAA,QAAA,EAAA,wKAAA,EAAA,MAAA,EAAA,CAAA,4vBAAA,CAAA,EAAA;;;AEnCL;AACO,MAAM,oBAAoB,GAAG;IAChC,kBAAkB;;;ACNtB;;AAEG;;;;"}
|
|
@@ -478,7 +478,7 @@ class EdsFileUpload {
|
|
|
478
478
|
useExisting: EdsFileUpload,
|
|
479
479
|
multi: true,
|
|
480
480
|
},
|
|
481
|
-
], viewQueries: [{ propertyName: "fileInputs", predicate: ["input"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (hasDragArea()) {\n <div\n class=\"eds-file-upload__drop-area\"\n [class.eds-file-upload__drop-area--active]=\"dragEntered()\"\n [class.eds-file-upload__drop-area--disabled]=\"isDropAreaDisabled()\">\n <button edsButton
|
|
481
|
+
], viewQueries: [{ propertyName: "fileInputs", predicate: ["input"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (hasDragArea()) {\n <div\n class=\"eds-file-upload__drop-area\"\n [class.eds-file-upload__drop-area--active]=\"dragEntered()\"\n [class.eds-file-upload__drop-area--disabled]=\"isDropAreaDisabled()\">\n <button edsButton variant=\"secondary\" size=\"s\" type=\"button\" class=\"eds-file-upload__browse-btn\">{{ browseLabel() }}</button>\n <span class=\"eds-file-upload__drag-hint\">{{ dragLabel() }}</span>\n <input\n #input\n class=\"eds-file-upload__file-input\"\n [attr.aria-label]=\"browseLabel() + ' ' + dragLabel()\"\n type=\"file\"\n [accept]=\"accept()\"\n [attr.disabled]=\"isDropAreaDisabled() ? 'disabled' : null\"\n [multiple]=\"isMultiple()\"\n (dragenter)=\"onDragEnter()\"\n (dragleave)=\"onDragLeave()\" />\n </div>\n} @else {\n <div class=\"eds-file-upload__simple-input\">\n <label [attr.for]=\"'eds-file-' + randomNumberId\">\n <button edsButton variant=\"secondary\" size=\"s\" type=\"button\" (click)=\"openBrowseWindow()\">{{ browseLabel() }}</button>\n </label>\n @if (isMultiple()) {\n <input\n #input\n [attr.aria-label]=\"'Choose multiple files'\"\n class=\"eds-file-upload__hidden-input\"\n [id]=\"'eds-file-' + randomNumberId\"\n type=\"file\"\n [accept]=\"accept()\"\n multiple />\n } @else {\n <input\n #input\n [attr.aria-label]=\"'Choose a single file'\"\n class=\"eds-file-upload__hidden-input\"\n [id]=\"'eds-file-' + randomNumberId\"\n type=\"file\"\n [accept]=\"accept()\" />\n }\n </div>\n}\n\n@if (hasProgressBar() && internalProgress() > 0) {\n <eds-progress-bar\n class=\"eds-file-upload__progress\"\n [progress]=\"internalProgress()\"\n [label]=\"internalProgress() + '%'\" />\n}\n\n@if (rejectedFileMessage()) {\n <eds-feedback-message edsCritical class=\"eds-file-upload__error\">\n {{ rejectedFileLabel() }}: {{ rejectedFileMessage() }}\n </eds-feedback-message>\n}\n\n@for (uploadedFile of internalUploadedFiles(); let i = $index; track i) {\n <eds-file-upload-preview\n [isItemsClickable]=\"isItemsClickable()\"\n [index]=\"i\"\n [file]=\"uploadedFile\"\n [hasPreview]=\"hasPreview()\"\n [hasPreviewAsImage]=\"effectiveHasPreviewAsImage()\"\n [hasPreviewAsIcon]=\"hasPreviewAsIcon()\"\n [uploadedFileTemplate]=\"uploadedFileTemplate\"\n (itemClick)=\"onItemClick($event)\"\n (removeFromList)=\"removeFromUploadedList($event)\" />\n}\n\n@for (file of internalFiles(); let i = $index; track i) {\n <eds-file-upload-preview\n isFileObject\n [isItemsClickable]=\"isItemsClickable()\"\n [index]=\"i\"\n [file]=\"file\"\n [hasPreview]=\"hasPreview()\"\n [hasPreviewAsImage]=\"effectiveHasPreviewAsImage()\"\n [hasPreviewAsIcon]=\"hasPreviewAsIcon()\"\n [uploadedFileTemplate]=\"uploadedFileTemplate\"\n (itemClick)=\"onItemClick($event)\"\n (removeFromList)=\"removeFromList($event)\" />\n}\n\n@if (filesTotalSize() && hasTotalSizeDisplayed()) {\n <div class=\"eds-file-upload__total-size\">\n {{ filesTotalSize() | edsFilesize }} {{ totalSizeLabel() }}\n </div>\n}\n\n<div class=\"eds-u-flex eds-u-flex-gap-s\">\n <ng-content />\n \n @if (showResetBtn()) {\n <button edsButton variant=\"secondary\" size=\"s\" type=\"button\" (click)=\"resetList()\">\n {{ resetLabel() }}\n </button>\n }\n</div>\n\n", styles: [".eui-21 :host{display:block}.eui-21 :host .eds-file-upload__drop-area{outline:1px dashed var(--eds-c-border-primary);border-radius:var(--eds-br-m);padding:var(--eds-sp-xl);position:relative;transition:background-color .2s ease,outline-width .2s ease;display:flex;align-items:center;justify-content:center;gap:var(--eds-sp-xs);margin-bottom:var(--eds-sp-xs)}.eui-21 :host .eds-file-upload__drop-area--active{background-color:var(--eds-c-surface-elevation);outline-width:3px}.eui-21 :host .eds-file-upload__drop-area--disabled{opacity:.5;cursor:not-allowed}.eui-21 :host .eds-file-upload__drop-area--disabled .eds-file-upload__file-input{cursor:default}.eui-21 :host .eds-file-upload__drag-hint{font:var(--eds-f-paragraph-s);color:var(--eds-c-foreground-subtler)}.eui-21 :host .eds-file-upload__file-input{height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.eui-21 :host .eds-file-upload__file-input:not(:disabled){cursor:pointer}.eui-21 :host .eds-file-upload__simple-input{margin-bottom:var(--eds-sp-xs)}.eui-21 :host .eds-file-upload__simple-input .eds-file-upload__hidden-input{display:none}.eui-21 :host .eds-file-upload__progress{margin-bottom:var(--eds-sp-xs)}.eui-21 :host .eds-file-upload__error{margin-bottom:var(--eds-sp-xs)}.eui-21 :host .eds-file-upload__total-size{margin-top:var(--eds-sp-xs);margin-bottom:var(--eds-sp-xs);font:var(--eds-f-label-m-semibold)}.eui-21 :host .eds-file-upload__reset-btn{margin-top:var(--eds-sp-xs)}\n"], dependencies: [{ kind: "component", type: i1$1.EdsButton, selector: "button[edsButton]", inputs: ["e2eAttr", "id", "variant", "color", "size", "disabled", "block", "iconButton", "avatarButton", "lineWrap", "rounded", "isChecked"] }, { kind: "component", type: i2$1.EdsFeedbackMessage, selector: "eds-feedback-message", inputs: ["color", "isMuted", "e2eAttr"] }, { kind: "component", type: i3.EdsProgressBar, selector: "eds-progress-bar", inputs: ["label", "valueText", "progress", "isIndeterminate", "hasStatusIcon", "color"] }, { kind: "component", type: EdsFileUploadPreview, selector: "eds-file-upload-preview", inputs: ["file", "index", "uploadedFileTemplate", "hasPreview", "hasPreviewAsImage", "hasPreviewAsIcon", "isItemsClickable", "isFileObject", "isFilenameDisplayed", "isFilesizeDisplayed", "isFiletypeDisplayed"], outputs: ["removeFromList", "itemClick"] }, { kind: "pipe", type: EdsFilesizePipe, name: "edsFilesize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
482
482
|
}
|
|
483
483
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsFileUpload, decorators: [{
|
|
484
484
|
type: Component,
|
|
@@ -498,7 +498,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
|
|
|
498
498
|
], host: {
|
|
499
499
|
'[class]': 'hostClasses()',
|
|
500
500
|
'[attr.data-e2e]': 'e2eAttr()',
|
|
501
|
-
}, template: "@if (hasDragArea()) {\n <div\n class=\"eds-file-upload__drop-area\"\n [class.eds-file-upload__drop-area--active]=\"dragEntered()\"\n [class.eds-file-upload__drop-area--disabled]=\"isDropAreaDisabled()\">\n <button edsButton
|
|
501
|
+
}, template: "@if (hasDragArea()) {\n <div\n class=\"eds-file-upload__drop-area\"\n [class.eds-file-upload__drop-area--active]=\"dragEntered()\"\n [class.eds-file-upload__drop-area--disabled]=\"isDropAreaDisabled()\">\n <button edsButton variant=\"secondary\" size=\"s\" type=\"button\" class=\"eds-file-upload__browse-btn\">{{ browseLabel() }}</button>\n <span class=\"eds-file-upload__drag-hint\">{{ dragLabel() }}</span>\n <input\n #input\n class=\"eds-file-upload__file-input\"\n [attr.aria-label]=\"browseLabel() + ' ' + dragLabel()\"\n type=\"file\"\n [accept]=\"accept()\"\n [attr.disabled]=\"isDropAreaDisabled() ? 'disabled' : null\"\n [multiple]=\"isMultiple()\"\n (dragenter)=\"onDragEnter()\"\n (dragleave)=\"onDragLeave()\" />\n </div>\n} @else {\n <div class=\"eds-file-upload__simple-input\">\n <label [attr.for]=\"'eds-file-' + randomNumberId\">\n <button edsButton variant=\"secondary\" size=\"s\" type=\"button\" (click)=\"openBrowseWindow()\">{{ browseLabel() }}</button>\n </label>\n @if (isMultiple()) {\n <input\n #input\n [attr.aria-label]=\"'Choose multiple files'\"\n class=\"eds-file-upload__hidden-input\"\n [id]=\"'eds-file-' + randomNumberId\"\n type=\"file\"\n [accept]=\"accept()\"\n multiple />\n } @else {\n <input\n #input\n [attr.aria-label]=\"'Choose a single file'\"\n class=\"eds-file-upload__hidden-input\"\n [id]=\"'eds-file-' + randomNumberId\"\n type=\"file\"\n [accept]=\"accept()\" />\n }\n </div>\n}\n\n@if (hasProgressBar() && internalProgress() > 0) {\n <eds-progress-bar\n class=\"eds-file-upload__progress\"\n [progress]=\"internalProgress()\"\n [label]=\"internalProgress() + '%'\" />\n}\n\n@if (rejectedFileMessage()) {\n <eds-feedback-message edsCritical class=\"eds-file-upload__error\">\n {{ rejectedFileLabel() }}: {{ rejectedFileMessage() }}\n </eds-feedback-message>\n}\n\n@for (uploadedFile of internalUploadedFiles(); let i = $index; track i) {\n <eds-file-upload-preview\n [isItemsClickable]=\"isItemsClickable()\"\n [index]=\"i\"\n [file]=\"uploadedFile\"\n [hasPreview]=\"hasPreview()\"\n [hasPreviewAsImage]=\"effectiveHasPreviewAsImage()\"\n [hasPreviewAsIcon]=\"hasPreviewAsIcon()\"\n [uploadedFileTemplate]=\"uploadedFileTemplate\"\n (itemClick)=\"onItemClick($event)\"\n (removeFromList)=\"removeFromUploadedList($event)\" />\n}\n\n@for (file of internalFiles(); let i = $index; track i) {\n <eds-file-upload-preview\n isFileObject\n [isItemsClickable]=\"isItemsClickable()\"\n [index]=\"i\"\n [file]=\"file\"\n [hasPreview]=\"hasPreview()\"\n [hasPreviewAsImage]=\"effectiveHasPreviewAsImage()\"\n [hasPreviewAsIcon]=\"hasPreviewAsIcon()\"\n [uploadedFileTemplate]=\"uploadedFileTemplate\"\n (itemClick)=\"onItemClick($event)\"\n (removeFromList)=\"removeFromList($event)\" />\n}\n\n@if (filesTotalSize() && hasTotalSizeDisplayed()) {\n <div class=\"eds-file-upload__total-size\">\n {{ filesTotalSize() | edsFilesize }} {{ totalSizeLabel() }}\n </div>\n}\n\n<div class=\"eds-u-flex eds-u-flex-gap-s\">\n <ng-content />\n \n @if (showResetBtn()) {\n <button edsButton variant=\"secondary\" size=\"s\" type=\"button\" (click)=\"resetList()\">\n {{ resetLabel() }}\n </button>\n }\n</div>\n\n", styles: [".eui-21 :host{display:block}.eui-21 :host .eds-file-upload__drop-area{outline:1px dashed var(--eds-c-border-primary);border-radius:var(--eds-br-m);padding:var(--eds-sp-xl);position:relative;transition:background-color .2s ease,outline-width .2s ease;display:flex;align-items:center;justify-content:center;gap:var(--eds-sp-xs);margin-bottom:var(--eds-sp-xs)}.eui-21 :host .eds-file-upload__drop-area--active{background-color:var(--eds-c-surface-elevation);outline-width:3px}.eui-21 :host .eds-file-upload__drop-area--disabled{opacity:.5;cursor:not-allowed}.eui-21 :host .eds-file-upload__drop-area--disabled .eds-file-upload__file-input{cursor:default}.eui-21 :host .eds-file-upload__drag-hint{font:var(--eds-f-paragraph-s);color:var(--eds-c-foreground-subtler)}.eui-21 :host .eds-file-upload__file-input{height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.eui-21 :host .eds-file-upload__file-input:not(:disabled){cursor:pointer}.eui-21 :host .eds-file-upload__simple-input{margin-bottom:var(--eds-sp-xs)}.eui-21 :host .eds-file-upload__simple-input .eds-file-upload__hidden-input{display:none}.eui-21 :host .eds-file-upload__progress{margin-bottom:var(--eds-sp-xs)}.eui-21 :host .eds-file-upload__error{margin-bottom:var(--eds-sp-xs)}.eui-21 :host .eds-file-upload__total-size{margin-top:var(--eds-sp-xs);margin-bottom:var(--eds-sp-xs);font:var(--eds-f-label-m-semibold)}.eui-21 :host .eds-file-upload__reset-btn{margin-top:var(--eds-sp-xs)}\n"] }]
|
|
502
502
|
}], ctorParameters: () => [], propDecorators: { e2eAttr: [{ type: i0.Input, args: [{ isSignal: true, alias: "e2eAttr", required: false }] }], progress: [{ type: i0.Input, args: [{ isSignal: true, alias: "progress", required: false }] }], accept: [{ type: i0.Input, args: [{ isSignal: true, alias: "accept", required: false }] }], maxFiles: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxFiles", required: false }] }], isMultiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "isMultiple", required: false }] }], hasProgressBar: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasProgressBar", required: false }] }], hasPreview: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasPreview", required: false }] }], hasPreviewAsImage: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasPreviewAsImage", required: false }] }], hasPreviewAsIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasPreviewAsIcon", required: false }] }], hasTotalSizeDisplayed: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasTotalSizeDisplayed", required: false }] }], hasResetButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasResetButton", required: false }] }], hasDragArea: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasDragArea", required: false }] }], isItemsClickable: [{ type: i0.Input, args: [{ isSignal: true, alias: "isItemsClickable", required: false }] }], browseLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "browseLabel", required: false }] }], dragLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "dragLabel", required: false }] }], resetLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "resetLabel", required: false }] }], totalSizeLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "totalSizeLabel", required: false }] }], rejectedFileLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "rejectedFileLabel", required: false }] }], fileDrop: [{ type: i0.Output, args: ["fileDrop"] }], itemClick: [{ type: i0.Output, args: ["itemClick"] }], fileInputs: [{ type: i0.ViewChildren, args: ['input', { isSignal: true }] }], emitFiles: [{
|
|
503
503
|
type: HostListener,
|
|
504
504
|
args: ['change', ['$any($event.target).files']]
|