@gravitee/ui-components 3.25.2 → 3.25.3-typescript-5a46c7d
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/package.json +13 -4
- package/src/atoms/gv-autocomplete.js +1 -437
- package/src/atoms/gv-button.js +1 -235
- package/src/atoms/gv-checkbox.js +1 -129
- package/src/atoms/gv-date-picker-calendar.js +1 -813
- package/src/atoms/gv-date-picker-cell.js +1 -166
- package/src/atoms/gv-date-picker.js +1 -532
- package/src/atoms/gv-file-upload.js +1 -257
- package/src/atoms/gv-icon.js +1 -82
- package/src/atoms/gv-image.js +1 -109
- package/src/atoms/gv-input-message.js +1 -59
- package/src/atoms/gv-input.js +1 -530
- package/src/atoms/gv-link.js +1 -132
- package/src/atoms/gv-message.js +1 -77
- package/src/atoms/gv-metric.js +1 -68
- package/src/atoms/gv-relative-time.js +1 -185
- package/src/atoms/gv-select-native.js +1 -269
- package/src/atoms/gv-select.js +1 -317
- package/src/atoms/gv-spinner.js +1 -36
- package/src/atoms/gv-state.js +1 -89
- package/src/atoms/gv-switch.js +1 -123
- package/src/atoms/gv-tag.js +1 -116
- package/src/atoms/gv-text.js +1 -107
- package/src/charts/gv-chart-bar.js +1 -107
- package/src/charts/gv-chart-gauge.js +1 -97
- package/src/charts/gv-chart-histogram.js +1 -91
- package/src/charts/gv-chart-line.js +1 -235
- package/src/charts/gv-chart-map.js +1 -114
- package/src/charts/gv-chart-pie.js +1 -95
- package/src/index.js +1 -78
- package/src/lib/cron-expression.js +1 -210
- package/src/lib/date.js +1 -53
- package/src/lib/events.js +1 -28
- package/src/lib/http-client-schema-form.js +1 -68
- package/src/lib/http.js +1 -238
- package/src/lib/i18n.js +1 -111
- package/src/lib/item.js +1 -119
- package/src/lib/properties.js +1 -224
- package/src/lib/schema-form.js +1 -43
- package/src/lib/studio.js +1 -94
- package/src/lib/style.js +1 -41
- package/src/lib/text-format.js +1 -76
- package/src/lib/theme.js +1 -66
- package/src/lib/utils.js +1 -110
- package/src/mixins/chart-element.js +1 -142
- package/src/mixins/input-element.js +1 -157
- package/src/mixins/item-resource.js +1 -122
- package/src/mixins/keyboard-element.js +1 -70
- package/src/mixins/update-after-browser.js +1 -33
- package/src/mixins/with-resize-observer.js +1 -78
- package/src/mixins/with-skeleton-attribute.js +1 -118
- package/src/molecules/gv-card-full.js +1 -97
- package/src/molecules/gv-card-list.js +1 -84
- package/src/molecules/gv-card.js +1 -59
- package/src/molecules/gv-category-list.js +1 -49
- package/src/molecules/gv-category.js +1 -90
- package/src/molecules/gv-code.js +1 -297
- package/src/molecules/gv-confirm.js +1 -158
- package/src/molecules/gv-cron-editor.js +1 -464
- package/src/molecules/gv-dropdown-menu.js +1 -84
- package/src/molecules/gv-expandable.js +1 -94
- package/src/molecules/gv-expression-language.js +1 -308
- package/src/molecules/gv-identity-picture.js +1 -125
- package/src/molecules/gv-list.js +1 -135
- package/src/molecules/gv-metrics.js +1 -150
- package/src/molecules/gv-modal.js +1 -146
- package/src/molecules/gv-nav.js +1 -170
- package/src/molecules/gv-option.js +1 -169
- package/src/molecules/gv-plans.js +1 -306
- package/src/molecules/gv-popover.js +1 -231
- package/src/molecules/gv-promote.js +1 -91
- package/src/molecules/gv-rating-list.js +1 -239
- package/src/molecules/gv-rating.js +1 -200
- package/src/molecules/gv-row-expandable.js +1 -39
- package/src/molecules/gv-row.js +1 -84
- package/src/molecules/gv-stats.js +1 -96
- package/src/molecules/gv-stepper.js +1 -144
- package/src/molecules/gv-table.js +1 -575
- package/src/molecules/gv-tree.js +1 -127
- package/src/organisms/gv-documentation.js +1 -132
- package/src/organisms/gv-header.js +1 -130
- package/src/organisms/gv-http-client.js +1 -139
- package/src/organisms/gv-menu.js +1 -142
- package/src/organisms/gv-newsletter-subscription.js +1 -130
- package/src/organisms/gv-pagination.js +1 -170
- package/src/organisms/gv-properties.js +1 -699
- package/src/organisms/gv-resizable-views.js +1 -178
- package/src/organisms/gv-resources.js +1 -428
- package/src/organisms/gv-schema-form-array.js +1 -140
- package/src/organisms/gv-schema-form-control-object.js +1 -140
- package/src/organisms/gv-schema-form-control.js +1 -416
- package/src/organisms/gv-schema-form.js +1 -646
- package/src/organisms/gv-tabs.js +1 -178
- package/src/organisms/gv-user-menu.js +1 -149
- package/src/organisms/gv-vertical-menu.js +1 -82
- package/src/policy-studio/gv-flow-step.js +1 -304
- package/src/policy-studio/gv-flow.js +1 -442
- package/src/policy-studio/gv-policy-studio-menu.js +1 -436
- package/src/policy-studio/gv-policy-studio.js +1 -1778
- package/src/styles/empty.js +1 -19
- package/src/styles/input.js +1 -19
- package/src/styles/link.js +1 -19
- package/src/styles/shapes.js +1 -18
- package/src/styles/skeleton.js +1 -19
- package/src/styles/zoom.js +1 -19
- package/src/theme/gv-theme.js +1 -164
- package/wc/gv-autocomplete.js +1 -1
- package/wc/gv-button.js +1 -1
- package/wc/gv-card-full.js +1 -1
- package/wc/gv-card-list.js +1 -1
- package/wc/gv-card.js +1 -1
- package/wc/gv-category-list.js +1 -1
- package/wc/gv-category.js +1 -1
- package/wc/gv-chart-bar.js +1 -1
- package/wc/gv-chart-gauge.js +1 -1
- package/wc/gv-chart-histogram.js +1 -1
- package/wc/gv-chart-line.js +1 -1
- package/wc/gv-chart-map.js +1 -1
- package/wc/gv-chart-pie.js +1 -1
- package/wc/gv-checkbox.js +1 -1
- package/wc/gv-code.js +1 -1
- package/wc/gv-confirm.js +1 -1
- package/wc/gv-cron-editor.js +1 -1
- package/wc/gv-date-picker-calendar.js +1 -1
- package/wc/gv-date-picker-cell.js +1 -1
- package/wc/gv-date-picker.js +1 -1
- package/wc/gv-documentation.js +1 -1
- package/wc/gv-dropdown-menu.js +1 -1
- package/wc/gv-expandable.js +1 -1
- package/wc/gv-expression-language.js +1 -1
- package/wc/gv-file-upload.js +1 -1
- package/wc/gv-flow-step.js +1 -1
- package/wc/gv-flow.js +1 -1
- package/wc/gv-header.js +1 -1
- package/wc/gv-http-client.js +1 -1
- package/wc/gv-icon.js +1 -1
- package/wc/gv-identity-picture.js +1 -1
- package/wc/gv-image.js +1 -1
- package/wc/gv-input-message.js +1 -1
- package/wc/gv-input.js +1 -1
- package/wc/gv-link.js +1 -1
- package/wc/gv-list.js +1 -1
- package/wc/gv-menu.js +1 -1
- package/wc/gv-message.js +1 -1
- package/wc/gv-metric.js +1 -1
- package/wc/gv-metrics.js +1 -1
- package/wc/gv-modal.js +1 -1
- package/wc/gv-nav.js +1 -1
- package/wc/gv-newsletter-subscription.js +1 -1
- package/wc/gv-option.js +1 -1
- package/wc/gv-pagination.js +1 -1
- package/wc/gv-plans.js +1 -1
- package/wc/gv-policy-studio-menu.js +1 -1
- package/wc/gv-policy-studio.js +1 -1
- package/wc/gv-popover.js +1 -1
- package/wc/gv-promote.js +1 -1
- package/wc/gv-properties.js +1 -1
- package/wc/gv-rating-list.js +1 -1
- package/wc/gv-rating.js +1 -1
- package/wc/gv-relative-time.js +1 -1
- package/wc/gv-resizable-views.js +1 -1
- package/wc/gv-resources.js +1 -1
- package/wc/gv-row-expandable.js +1 -1
- package/wc/gv-row.js +1 -1
- package/wc/gv-schema-form-array.js +1 -1
- package/wc/gv-schema-form-control-object.js +1 -1
- package/wc/gv-schema-form-control.js +1 -1
- package/wc/gv-schema-form.js +1 -1
- package/wc/gv-select-native.js +1 -1
- package/wc/gv-select.js +1 -1
- package/wc/gv-spinner.js +1 -1
- package/wc/gv-state.js +1 -1
- package/wc/gv-stats.js +1 -1
- package/wc/gv-stepper.js +1 -1
- package/wc/gv-switch.js +1 -1
- package/wc/gv-table.js +1 -1
- package/wc/gv-tabs.js +1 -1
- package/wc/gv-tag.js +1 -1
- package/wc/gv-text.js +1 -1
- package/wc/gv-theme.js +1 -1
- package/wc/gv-tree.js +1 -1
- package/wc/gv-user-menu.js +1 -1
- package/wc/gv-vertical-menu.js +1 -1
|
@@ -1,257 +1 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { css, LitElement, html } from 'lit';
|
|
17
|
-
import { link } from '../styles/link';
|
|
18
|
-
import { dispatchCustomEvent } from '../lib/events';
|
|
19
|
-
import { ifDefined } from 'lit/directives/if-defined';
|
|
20
|
-
import { i18n } from '../lib/i18n';
|
|
21
|
-
import { classMap } from 'lit/directives/class-map';
|
|
22
|
-
/**
|
|
23
|
-
* File upload
|
|
24
|
-
*
|
|
25
|
-
* ## Details
|
|
26
|
-
* * has @theme facet
|
|
27
|
-
*
|
|
28
|
-
* @fires gv-file-upload:drop - Custom event when user drop file
|
|
29
|
-
*
|
|
30
|
-
* @attr {String} label - Label
|
|
31
|
-
* @attr {String} accept - One or more file type identifiers describing the authorized file types.
|
|
32
|
-
* @attr {String} except - One or more file type identifiers describing unauthorized file types.
|
|
33
|
-
* @attr {Number} limit - Max size limit in bytes.
|
|
34
|
-
* @attr {String} value - Reflected value of uploaded file
|
|
35
|
-
**/
|
|
36
|
-
|
|
37
|
-
export class GvFileUpload extends LitElement {
|
|
38
|
-
static get properties() {
|
|
39
|
-
return {
|
|
40
|
-
label: {
|
|
41
|
-
type: String
|
|
42
|
-
},
|
|
43
|
-
accept: {
|
|
44
|
-
type: String
|
|
45
|
-
},
|
|
46
|
-
except: {
|
|
47
|
-
type: String
|
|
48
|
-
},
|
|
49
|
-
limit: {
|
|
50
|
-
type: Number
|
|
51
|
-
},
|
|
52
|
-
value: {
|
|
53
|
-
type: Array,
|
|
54
|
-
reflect: true
|
|
55
|
-
},
|
|
56
|
-
_preview: {
|
|
57
|
-
type: String,
|
|
58
|
-
attribute: false
|
|
59
|
-
},
|
|
60
|
-
_files: {
|
|
61
|
-
type: Array,
|
|
62
|
-
attribute: false
|
|
63
|
-
},
|
|
64
|
-
_errors: {
|
|
65
|
-
type: Array,
|
|
66
|
-
attribute: false
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
static get styles() {
|
|
72
|
-
return [link, // language=CSS
|
|
73
|
-
css`:host{box-sizing:border-box;display:block;width:100%;color:var(--gv-theme-color-dark,#28444f)}.box{font-size:1.25rem;background-color:var(--gv-theme-neutral-color-lighter,#fafafa);position:relative;padding:2rem;text-align:center;display:block;border:1px dashed #28444f;border-radius:4px;transition:outline-offset .15s ease-in-out,background-color .15s linear;height:100%}.box .box__icon{width:100%;height:80px;display:block;margin-bottom:40px;--gv-icon--s:5rem;--gv-icon--c:var(--gv-theme-color-dark, #28444f)}.box__file{width:.1px;height:.1px;opacity:0;overflow:hidden;position:absolute;z-index:-1}.box__file+label{max-width:80%;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;display:inline-block;overflow:hidden}.box.is-dragover{background-color:var(--gv-theme-color-light,#28444f);border:none;outline:1px dashed #28444f;outline-offset:-10px}.box .box__dragndrop{display:inline}.files{box-sizing:border-box;display:flex;align-items:center;--gv-icon--s:16px;padding:1rem .5rem 0}.filename{flex:1;padding:.2rem;word-break:break-all}.error{font-style:italic;--gv-icon--c:red}gv-image{position:absolute}.preview{transition:all .3s ease-in-out}.box__input{position:relative;display:flex;flex-direction:column;justify-content:center;height:100%;z-index:10}.preview .box__input{visibility:hidden}.preview:hover .box__input{visibility:visible}.preview:hover gv-image{opacity:.3}`];
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
constructor() {
|
|
77
|
-
super();
|
|
78
|
-
this.reader = new FileReader();
|
|
79
|
-
this._files = [];
|
|
80
|
-
this._errors = [];
|
|
81
|
-
this._counter = 0;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
_onDragOver(e) {
|
|
85
|
-
e.preventDefault();
|
|
86
|
-
e.stopPropagation();
|
|
87
|
-
this._counter++;
|
|
88
|
-
const box = this.shadowRoot.querySelector('.box');
|
|
89
|
-
box.classList.add('is-dragover');
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
_onDragEnd(e) {
|
|
93
|
-
e.preventDefault();
|
|
94
|
-
e.stopPropagation();
|
|
95
|
-
|
|
96
|
-
if (--this._counter === 0) {
|
|
97
|
-
const box = this.shadowRoot.querySelector('.box');
|
|
98
|
-
box.classList.remove('is-dragover');
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
_onDrop(e) {
|
|
103
|
-
e.preventDefault();
|
|
104
|
-
e.stopPropagation();
|
|
105
|
-
this.setFiles(e.dataTransfer.files);
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
_getRegex(mimeTypes) {
|
|
109
|
-
return `(${mimeTypes.toString().replace(' ', '').replace(/,/g, '.+|').replace(/\*/g, '.+').replace('.+.+', '.+')})`;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
setFiles(files) {
|
|
113
|
-
const errors = [];
|
|
114
|
-
this._files = [...files].filter(file => {
|
|
115
|
-
if (this.accept && file.type.match(this._getRegex(this.accept)) == null) {
|
|
116
|
-
errors.push({
|
|
117
|
-
file,
|
|
118
|
-
error: i18n('gv-file-upload.error.typeNotAllowed')
|
|
119
|
-
});
|
|
120
|
-
return false;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
if (this.except && file.type.match(this._getRegex(this.except)) != null) {
|
|
124
|
-
errors.push({
|
|
125
|
-
file,
|
|
126
|
-
error: i18n('gv-file-upload.error.typeNotAllowed')
|
|
127
|
-
});
|
|
128
|
-
return false;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
if (this.limit && file.size > parseInt(this.limit, 10)) {
|
|
132
|
-
errors.push({
|
|
133
|
-
file,
|
|
134
|
-
error: i18n('gv-file-upload.error.maxSize')
|
|
135
|
-
});
|
|
136
|
-
return false;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
return true;
|
|
140
|
-
});
|
|
141
|
-
this._errors = errors;
|
|
142
|
-
|
|
143
|
-
if (this._errors.length > 0) {
|
|
144
|
-
dispatchCustomEvent(this, 'error', {
|
|
145
|
-
errors: this._errors
|
|
146
|
-
});
|
|
147
|
-
this.dispatchEvent(new Event('invalid', {
|
|
148
|
-
bubbles: true,
|
|
149
|
-
cancelable: true
|
|
150
|
-
}));
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
const box = this.shadowRoot.querySelector('.box');
|
|
154
|
-
box.classList.remove('is-dragover');
|
|
155
|
-
|
|
156
|
-
if (this._files.length > 0) {
|
|
157
|
-
this.reader.readAsDataURL(this._files[0]);
|
|
158
|
-
|
|
159
|
-
this.reader.onload = event => {
|
|
160
|
-
if (this._files[0].type.match(this._getRegex('image/*'))) {
|
|
161
|
-
this._preview = event.target.result;
|
|
162
|
-
} else {
|
|
163
|
-
this._preview = null;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
this.value = event.target.result;
|
|
167
|
-
this.dispatchEvent(new Event('input', {
|
|
168
|
-
bubbles: true,
|
|
169
|
-
cancelable: true
|
|
170
|
-
}));
|
|
171
|
-
dispatchCustomEvent(this, 'drop', {
|
|
172
|
-
files: [this.value]
|
|
173
|
-
});
|
|
174
|
-
};
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
_cancelEvent(e) {
|
|
179
|
-
e.preventDefault();
|
|
180
|
-
e.stopPropagation();
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
_removeFile() {
|
|
184
|
-
this._errors = [];
|
|
185
|
-
this._files = [];
|
|
186
|
-
this._preview = null;
|
|
187
|
-
this.value = null;
|
|
188
|
-
this.shadowRoot.querySelector('#file').value = null;
|
|
189
|
-
this.dispatchEvent(new Event('input', {
|
|
190
|
-
bubbles: true,
|
|
191
|
-
cancelable: true
|
|
192
|
-
}));
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
_onChange(e) {
|
|
196
|
-
this.setFiles(e.target.files);
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
get icon() {
|
|
200
|
-
if (this._files.length > 0) {
|
|
201
|
-
return 'general:clip';
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
return 'general:upload';
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
render() {
|
|
208
|
-
const label = this._errors.length > 0 || this._files.length > 0 ? i18n('gv-file-upload.chooseAnotherFile') : i18n('gv-file-upload.chooseFile');
|
|
209
|
-
const classes = {
|
|
210
|
-
box: true,
|
|
211
|
-
preview: this._preview != null
|
|
212
|
-
};
|
|
213
|
-
return html` <label for="file">${this.label}</label> <div class="${classMap(classes)}" @drop="${this._onDrop}" @ondrop="${this._onDrop}" @drag="${this._cancelEvent}" @dragstart="${this._cancelEvent}" @dragover="${this._onDragOver}" @dragenter="${this._onDragOver}" @dragleave="${this._onDragEnd}" @dragend="${this._onDragEnd}"> ${this._preview != null ? html`<gv-image .src="${this._preview}" @error="${this._onPreviewError}"></gv-image>` : ''} <div class="box__input"> <gv-icon class="box__icon" shape="${this.icon}"></gv-icon> <label for="file" class="link"> <strong>${label}</strong> <span class="box__dragndrop">${i18n('gv-file-upload.orDragIt')}</span> </label> <input class="box__file" type="file" name="files[]" id="file" files="${this.files}" accept="${ifDefined(this.accept)}" @change="${this._onChange}"> </div> </div> ${this._files.length > 0 ? html` <div class="files"> <gv-icon shape="general:clip"></gv-icon> <div class="filename">${this._files[0].name}</div> <gv-icon class="link" @click="${this._removeFile.bind(this, 0)}" shape="general:trash"></gv-icon> </div> ` : ''} ${this._errors.length > 0 ? html` <div class="files"> <gv-icon class="error" shape="code:stop"></gv-icon> <div class="filename">${this._errors[0].file.name} <span class="error">(${this._errors[0].error})</span></div> </div> ` : ''} ${this.value && this._files.length === 0 && this._errors.length === 0 ? html` <div class="files"> <div class="filename"></div> <gv-button link @click="${this._removeFile.bind(this, 0)}">${i18n('gv-file-upload.removePicture')}</gv-button> </div> ` : ''} `;
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
_onPreviewError() {
|
|
217
|
-
this.value = null;
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
updated(changedProperties) {
|
|
221
|
-
if (changedProperties.has('value')) {
|
|
222
|
-
if (this.value) {
|
|
223
|
-
this._preview = this.value;
|
|
224
|
-
|
|
225
|
-
if (this._files && this._files[0]) {
|
|
226
|
-
this.reader.readAsDataURL(this._files[0]);
|
|
227
|
-
|
|
228
|
-
this.reader.onload = event => {
|
|
229
|
-
if (this.value !== event.target.result) {
|
|
230
|
-
this._files = [];
|
|
231
|
-
}
|
|
232
|
-
};
|
|
233
|
-
}
|
|
234
|
-
} else {
|
|
235
|
-
this._preview = null;
|
|
236
|
-
this._files = [];
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
const preview = this.shadowRoot.querySelector('.preview');
|
|
241
|
-
|
|
242
|
-
if (preview) {
|
|
243
|
-
const {
|
|
244
|
-
width,
|
|
245
|
-
height
|
|
246
|
-
} = preview.getBoundingClientRect();
|
|
247
|
-
const img = this.shadowRoot.querySelector('gv-image');
|
|
248
|
-
img.style.width = width - 20 + 'px';
|
|
249
|
-
img.style.height = height - 20 + 'px';
|
|
250
|
-
img.style.left = '10px';
|
|
251
|
-
img.style.top = '10px';
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
}
|
|
256
|
-
window.customElements.define('gv-file-upload', GvFileUpload);
|
|
257
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LWZpbGUtdXBsb2FkLmpzIl0sIm5hbWVzIjpbImNzcyIsIkxpdEVsZW1lbnQiLCJodG1sIiwibGluayIsImRpc3BhdGNoQ3VzdG9tRXZlbnQiLCJpZkRlZmluZWQiLCJpMThuIiwiY2xhc3NNYXAiLCJHdkZpbGVVcGxvYWQiLCJwcm9wZXJ0aWVzIiwibGFiZWwiLCJ0eXBlIiwiU3RyaW5nIiwiYWNjZXB0IiwiZXhjZXB0IiwibGltaXQiLCJOdW1iZXIiLCJ2YWx1ZSIsIkFycmF5IiwicmVmbGVjdCIsIl9wcmV2aWV3IiwiYXR0cmlidXRlIiwiX2ZpbGVzIiwiX2Vycm9ycyIsInN0eWxlcyIsImNvbnN0cnVjdG9yIiwicmVhZGVyIiwiRmlsZVJlYWRlciIsIl9jb3VudGVyIiwiX29uRHJhZ092ZXIiLCJlIiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJib3giLCJzaGFkb3dSb290IiwicXVlcnlTZWxlY3RvciIsImNsYXNzTGlzdCIsImFkZCIsIl9vbkRyYWdFbmQiLCJyZW1vdmUiLCJfb25Ecm9wIiwic2V0RmlsZXMiLCJkYXRhVHJhbnNmZXIiLCJmaWxlcyIsIl9nZXRSZWdleCIsIm1pbWVUeXBlcyIsInRvU3RyaW5nIiwicmVwbGFjZSIsImVycm9ycyIsImZpbHRlciIsImZpbGUiLCJtYXRjaCIsInB1c2giLCJlcnJvciIsInNpemUiLCJwYXJzZUludCIsImxlbmd0aCIsImRpc3BhdGNoRXZlbnQiLCJFdmVudCIsImJ1YmJsZXMiLCJjYW5jZWxhYmxlIiwicmVhZEFzRGF0YVVSTCIsIm9ubG9hZCIsImV2ZW50IiwidGFyZ2V0IiwicmVzdWx0IiwiX2NhbmNlbEV2ZW50IiwiX3JlbW92ZUZpbGUiLCJfb25DaGFuZ2UiLCJpY29uIiwicmVuZGVyIiwiY2xhc3NlcyIsInByZXZpZXciLCJfb25QcmV2aWV3RXJyb3IiLCJuYW1lIiwiYmluZCIsInVwZGF0ZWQiLCJjaGFuZ2VkUHJvcGVydGllcyIsImhhcyIsIndpZHRoIiwiaGVpZ2h0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiaW1nIiwic3R5bGUiLCJsZWZ0IiwidG9wIiwid2luZG93IiwiY3VzdG9tRWxlbWVudHMiLCJkZWZpbmUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLEdBQVQsRUFBY0MsVUFBZCxFQUEwQkMsSUFBMUIsUUFBc0MsS0FBdEM7QUFDQSxTQUFTQyxJQUFULFFBQXFCLGdCQUFyQjtBQUNBLFNBQVNDLG1CQUFULFFBQW9DLGVBQXBDO0FBQ0EsU0FBU0MsU0FBVCxRQUEwQiwyQkFBMUI7QUFDQSxTQUFTQyxJQUFULFFBQXFCLGFBQXJCO0FBQ0EsU0FBU0MsUUFBVCxRQUF5QiwwQkFBekI7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBLE9BQU8sTUFBTUMsWUFBTixTQUEyQlAsVUFBM0IsQ0FBc0M7QUFDdEIsYUFBVlEsVUFBVSxHQUFHO0FBQ3RCLFdBQU87QUFDTEMsTUFBQUEsS0FBSyxFQUFFO0FBQUVDLFFBQUFBLElBQUksRUFBRUM7QUFBUixPQURGO0FBRUxDLE1BQUFBLE1BQU0sRUFBRTtBQUFFRixRQUFBQSxJQUFJLEVBQUVDO0FBQVIsT0FGSDtBQUdMRSxNQUFBQSxNQUFNLEVBQUU7QUFBRUgsUUFBQUEsSUFBSSxFQUFFQztBQUFSLE9BSEg7QUFJTEcsTUFBQUEsS0FBSyxFQUFFO0FBQUVKLFFBQUFBLElBQUksRUFBRUs7QUFBUixPQUpGO0FBS0xDLE1BQUFBLEtBQUssRUFBRTtBQUFFTixRQUFBQSxJQUFJLEVBQUVPLEtBQVI7QUFBZUMsUUFBQUEsT0FBTyxFQUFFO0FBQXhCLE9BTEY7QUFNTEMsTUFBQUEsUUFBUSxFQUFFO0FBQUVULFFBQUFBLElB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RixZQUEvQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBjc3MsIExpdEVsZW1lbnQsIGh0bWwgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgbGluayB9IGZyb20gJy4uL3N0eWxlcy9saW5rJztcbmltcG9ydCB7IGRpc3BhdGNoQ3VzdG9tRXZlbnQgfSBmcm9tICcuLi9saWIvZXZlbnRzJztcbmltcG9ydCB7IGlmRGVmaW5lZCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL2lmLWRlZmluZWQnO1xuaW1wb3J0IHsgaTE4biB9IGZyb20gJy4uL2xpYi9pMThuJztcbmltcG9ydCB7IGNsYXNzTWFwIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvY2xhc3MtbWFwJztcblxuLyoqXG4gKiBGaWxlIHVwbG9hZFxuICpcbiAqICMjIERldGFpbHNcbiAqICogaGFzIEB0aGVtZSBmYWNldFxuICpcbiAqIEBmaXJlcyBndi1maWxlLXVwbG9hZDpkcm9wIC0gQ3VzdG9tIGV2ZW50IHdoZW4gdXNlciBkcm9wIGZpbGVcbiAqXG4gKiBAYXR0ciB7U3RyaW5nfSBsYWJlbCAtIExhYmVsXG4gKiBAYXR0ciB7U3RyaW5nfSBhY2NlcHQgLSBPbmUgb3IgbW9yZSBmaWxlIHR5cGUgaWRlbnRpZmllcnMgZGVzY3JpYmluZyB0aGUgYXV0aG9yaXplZCBmaWxlIHR5cGVzLlxuICogQGF0dHIge1N0cmluZ30gZXhjZXB0IC0gT25lIG9yIG1vcmUgZmlsZSB0eXBlIGlkZW50aWZpZXJzIGRlc2NyaWJpbmcgdW5hdXRob3JpemVkIGZpbGUgdHlwZXMuXG4gKiBAYXR0ciB7TnVtYmVyfSBsaW1pdCAtIE1heCBzaXplIGxpbWl0IGluIGJ5dGVzLlxuICogQGF0dHIge1N0cmluZ30gdmFsdWUgLSBSZWZsZWN0ZWQgdmFsdWUgb2YgdXBsb2FkZWQgZmlsZVxuICoqL1xuZXhwb3J0IGNsYXNzIEd2RmlsZVVwbG9hZCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxhYmVsOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgYWNjZXB0OiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgZXhjZXB0OiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgbGltaXQ6IHsgdHlwZTogTnVtYmVyIH0sXG4gICAgICB2YWx1ZTogeyB0eXBlOiBBcnJheSwgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgX3ByZXZpZXc6IHsgdHlwZTogU3RyaW5nLCBhdHRyaWJ1dGU6IGZhbHNlIH0sXG4gICAgICBfZmlsZXM6IHsgdHlwZTogQXJyYXksIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICAgIF9lcnJvcnM6IHsgdHlwZTogQXJyYXksIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGdldCBzdHlsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIGxpbmssXG4gICAgICAvLyBsYW5ndWFnZT1DU1NcbiAgICAgIGNzc2BcbiAgICAgICAgOmhvc3Qge1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWd2LXRoZW1lLWNvbG9yLWRhcmssICMyODQ0NGYpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJveCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItbGlnaHRlciwgI2ZhZmFmYSk7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJvcmRlcjogMXB4IGRhc2hlZCAjMjg0NDRmO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvdXRsaW5lLW9mZnNldCAwLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXI7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJveCAuYm94X19pY29uIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgICAtLWd2LWljb24tLXM6IDVyZW07XG4gICAgICAgICAgLS1ndi1pY29uLS1jOiB2YXIoLS1ndi10aGVtZS1jb2xvci1kYXJrLCAjMjg0NDRmKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3hfX2ZpbGUge1xuICAgICAgICAgIHdpZHRoOiAwLjFweDtcbiAgICAgICAgICBoZWlnaHQ6IDAuMXB4O1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIH1cblxuICAgICAgICAuYm94X19maWxlICsgbGFiZWwge1xuICAgICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJveC5pcy1kcmFnb3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3YtdGhlbWUtY29sb3ItbGlnaHQsICMyODQ0NGYpO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBvdXRsaW5lOiAxcHggZGFzaGVkICMyODQ0NGY7XG4gICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IC0xMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJveCAuYm94X19kcmFnbmRyb3Age1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWxlcyB7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgLS1ndi1pY29uLS1zOiAxNnB4O1xuICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMC41cmVtIDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZmlsZW5hbWUge1xuICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgcGFkZGluZzogMC4ycmVtO1xuICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lcnJvciB7XG4gICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgIC0tZ3YtaWNvbi0tYzogcmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgZ3YtaW1hZ2Uge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmV2aWV3IHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAuYm94X19pbnB1dCB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIH1cblxuICAgICAgICAucHJldmlldyAuYm94X19pbnB1dCB7XG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByZXZpZXc6aG92ZXIgLmJveF9faW5wdXQge1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAucHJldmlldzpob3ZlciBndi1pbWFnZSB7XG4gICAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgICB9XG4gICAgICBgLFxuICAgIF07XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMucmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICB0aGlzLl9maWxlcyA9IFtdO1xuICAgIHRoaXMuX2Vycm9ycyA9IFtdO1xuICAgIHRoaXMuX2NvdW50ZXIgPSAwO1xuICB9XG5cbiAgX29uRHJhZ092ZXIoZSkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuX2NvdW50ZXIrKztcbiAgICBjb25zdCBib3ggPSB0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignLmJveCcpO1xuICAgIGJveC5jbGFzc0xpc3QuYWRkKCdpcy1kcmFnb3ZlcicpO1xuICB9XG5cbiAgX29uRHJhZ0VuZChlKSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKC0tdGhpcy5fY291bnRlciA9PT0gMCkge1xuICAgICAgY29uc3QgYm94ID0gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy5ib3gnKTtcbiAgICAgIGJveC5jbGFzc0xpc3QucmVtb3ZlKCdpcy1kcmFnb3ZlcicpO1xuICAgIH1cbiAgfVxuXG4gIF9vbkRyb3AoZSkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuc2V0RmlsZXMoZS5kYXRhVHJhbnNmZXIuZmlsZXMpO1xuICB9XG5cbiAgX2dldFJlZ2V4KG1pbWVUeXBlcykge1xuICAgIHJldHVybiBgKCR7bWltZVR5cGVzLnRvU3RyaW5nKCkucmVwbGFjZSgnICcsICcnKS5yZXBsYWNlKC8sL2csICcuK3wnKS5yZXBsYWNlKC9cXCovZywgJy4rJykucmVwbGFjZSgnLisuKycsICcuKycpfSlgO1xuICB9XG5cbiAgc2V0RmlsZXMoZmlsZXMpIHtcbiAgICBjb25zdCBlcnJvcnMgPSBbXTtcbiAgICB0aGlzLl9maWxlcyA9IFsuLi5maWxlc10uZmlsdGVyKChmaWxlKSA9PiB7XG4gICAgICBpZiAodGhpcy5hY2NlcHQgJiYgZmlsZS50eXBlLm1hdGNoKHRoaXMuX2dldFJlZ2V4KHRoaXMuYWNjZXB0KSkgPT0gbnVsbCkge1xuICAgICAgICBlcnJvcnMucHVzaCh7IGZpbGUsIGVycm9yOiBpMThuKCdndi1maWxlLXVwbG9hZC5lcnJvci50eXBlTm90QWxsb3dlZCcpIH0pO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmV4Y2VwdCAmJiBmaWxlLnR5cGUubWF0Y2godGhpcy5fZ2V0UmVnZXgodGhpcy5leGNlcHQpKSAhPSBudWxsKSB7XG4gICAgICAgIGVycm9ycy5wdXNoKHsgZmlsZSwgZXJyb3I6IGkxOG4oJ2d2LWZpbGUtdXBsb2FkLmVycm9yLnR5cGVOb3RBbGxvd2VkJykgfSk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmxpbWl0ICYmIGZpbGUuc2l6ZSA+IHBhcnNlSW50KHRoaXMubGltaXQsIDEwKSkge1xuICAgICAgICBlcnJvcnMucHVzaCh7IGZpbGUsIGVycm9yOiBpMThuKCdndi1maWxlLXVwbG9hZC5lcnJvci5tYXhTaXplJykgfSk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0pO1xuICAgIHRoaXMuX2Vycm9ycyA9IGVycm9ycztcbiAgICBpZiAodGhpcy5fZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ2Vycm9yJywgeyBlcnJvcnM6IHRoaXMuX2Vycm9ycyB9KTtcbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2ludmFsaWQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkpO1xuICAgIH1cbiAgICBjb25zdCBib3ggPSB0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignLmJveCcpO1xuICAgIGJveC5jbGFzc0xpc3QucmVtb3ZlKCdpcy1kcmFnb3ZlcicpO1xuICAgIGlmICh0aGlzLl9maWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnJlYWRlci5yZWFkQXNEYXRhVVJMKHRoaXMuX2ZpbGVzWzBdKTtcbiAgICAgIHRoaXMucmVhZGVyLm9ubG9hZCA9IChldmVudCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fZmlsZXNbMF0udHlwZS5tYXRjaCh0aGlzLl9nZXRSZWdleCgnaW1hZ2UvKicpKSkge1xuICAgICAgICAgIHRoaXMuX3ByZXZpZXcgPSBldmVudC50YXJnZXQucmVzdWx0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX3ByZXZpZXcgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudmFsdWUgPSBldmVudC50YXJnZXQucmVzdWx0O1xuICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KSk7XG4gICAgICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ2Ryb3AnLCB7IGZpbGVzOiBbdGhpcy52YWx1ZV0gfSk7XG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIF9jYW5jZWxFdmVudChlKSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBfcmVtb3ZlRmlsZSgpIHtcbiAgICB0aGlzLl9lcnJvcnMgPSBbXTtcbiAgICB0aGlzLl9maWxlcyA9IFtdO1xuICAgIHRoaXMuX3ByZXZpZXcgPSBudWxsO1xuICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgIHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCcjZmlsZScpLnZhbHVlID0gbnVsbDtcbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KSk7XG4gIH1cblxuICBfb25DaGFuZ2UoZSkge1xuICAgIHRoaXMuc2V0RmlsZXMoZS50YXJnZXQuZmlsZXMpO1xuICB9XG5cbiAgZ2V0IGljb24oKSB7XG4gICAgaWYgKHRoaXMuX2ZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiAnZ2VuZXJhbDpjbGlwJztcbiAgICB9XG4gICAgcmV0dXJuICdnZW5lcmFsOnVwbG9hZCc7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgbGFiZWwgPVxuICAgICAgdGhpcy5fZXJyb3JzLmxlbmd0aCA+IDAgfHwgdGhpcy5fZmlsZXMubGVuZ3RoID4gMCA/IGkxOG4oJ2d2LWZpbGUtdXBsb2FkLmNob29zZUFub3RoZXJGaWxlJykgOiBpMThuKCdndi1maWxlLXVwbG9hZC5jaG9vc2VGaWxlJyk7XG5cbiAgICBjb25zdCBjbGFzc2VzID0ge1xuICAgICAgYm94OiB0cnVlLFxuICAgICAgcHJldmlldzogdGhpcy5fcHJldmlldyAhPSBudWxsLFxuICAgIH07XG5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxsYWJlbCBmb3I9XCJmaWxlXCI+JHt0aGlzLmxhYmVsfTwvbGFiZWw+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiJHtjbGFzc01hcChjbGFzc2VzKX1cIlxuICAgICAgICBAZHJvcD1cIiR7dGhpcy5fb25Ecm9wfVwiXG4gICAgICAgIEBvbmRyb3A9XCIke3RoaXMuX29uRHJvcH1cIlxuICAgICAgICBAZHJhZz1cIiR7dGhpcy5fY2FuY2VsRXZlbnR9XCJcbiAgICAgICAgQGRyYWdzdGFydD1cIiR7dGhpcy5fY2FuY2VsRXZlbnR9XCJcbiAgICAgICAgQGRyYWdvdmVyPVwiJHt0aGlzLl9vbkRyYWdPdmVyfVwiXG4gICAgICAgIEBkcmFnZW50ZXI9XCIke3RoaXMuX29uRHJhZ092ZXJ9XCJcbiAgICAgICAgQGRyYWdsZWF2ZT1cIiR7dGhpcy5fb25EcmFnRW5kfVwiXG4gICAgICAgIEBkcmFnZW5kPVwiJHt0aGlzLl9vbkRyYWdFbmR9XCJcbiAgICAgID5cbiAgICAgICAgJHt0aGlzLl9wcmV2aWV3ICE9IG51bGwgPyBodG1sYDxndi1pbWFnZSAuc3JjPVwiJHt0aGlzLl9wcmV2aWV3fVwiIEBlcnJvcj1cIiR7dGhpcy5fb25QcmV2aWV3RXJyb3J9XCI+PC9ndi1pbWFnZT5gIDogJyd9XG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3hfX2lucHV0XCI+XG4gICAgICAgICAgPGd2LWljb24gY2xhc3M9XCJib3hfX2ljb25cIiBzaGFwZT1cIiR7dGhpcy5pY29ufVwiPjwvZ3YtaWNvbj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwiZmlsZVwiIGNsYXNzPVwibGlua1wiPlxuICAgICAgICAgICAgPHN0cm9uZz4ke2xhYmVsfTwvc3Ryb25nPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJib3hfX2RyYWduZHJvcFwiPiR7aTE4bignZ3YtZmlsZS11cGxvYWQub3JEcmFnSXQnKX08L3NwYW4+XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGNsYXNzPVwiYm94X19maWxlXCJcbiAgICAgICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgICAgIG5hbWU9XCJmaWxlc1tdXCJcbiAgICAgICAgICAgIGlkPVwiZmlsZVwiXG4gICAgICAgICAgICBmaWxlcz1cIiR7dGhpcy5maWxlc31cIlxuICAgICAgICAgICAgYWNjZXB0PVwiJHtpZkRlZmluZWQodGhpcy5hY2NlcHQpfVwiXG4gICAgICAgICAgICBAY2hhbmdlPVwiJHt0aGlzLl9vbkNoYW5nZX1cIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICAke3RoaXMuX2ZpbGVzLmxlbmd0aCA+IDBcbiAgICAgICAgPyBodG1sYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGVzXCI+XG4gICAgICAgICAgICAgIDxndi1pY29uIHNoYXBlPVwiZ2VuZXJhbDpjbGlwXCI+PC9ndi1pY29uPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZW5hbWVcIj4ke3RoaXMuX2ZpbGVzWzBdLm5hbWV9PC9kaXY+XG4gICAgICAgICAgICAgIDxndi1pY29uIGNsYXNzPVwibGlua1wiIEBjbGljaz1cIiR7dGhpcy5fcmVtb3ZlRmlsZS5iaW5kKHRoaXMsIDApfVwiIHNoYXBlPVwiZ2VuZXJhbDp0cmFzaFwiPjwvZ3YtaWNvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIGBcbiAgICAgICAgOiAnJ31cbiAgICAgICR7dGhpcy5fZXJyb3JzLmxlbmd0aCA+IDBcbiAgICAgICAgPyBodG1sYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGVzXCI+XG4gICAgICAgICAgICAgIDxndi1pY29uIGNsYXNzPVwiZXJyb3JcIiBzaGFwZT1cImNvZGU6c3RvcFwiPjwvZ3YtaWNvbj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGVuYW1lXCI+JHt0aGlzLl9lcnJvcnNbMF0uZmlsZS5uYW1lfSA8c3BhbiBjbGFzcz1cImVycm9yXCI+KCR7dGhpcy5fZXJyb3JzWzBdLmVycm9yfSk8L3NwYW4+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBgXG4gICAgICAgIDogJyd9XG4gICAgICAke3RoaXMudmFsdWUgJiYgdGhpcy5fZmlsZXMubGVuZ3RoID09PSAwICYmIHRoaXMuX2Vycm9ycy5sZW5ndGggPT09IDBcbiAgICAgICAgPyBodG1sYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGVzXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlbmFtZVwiPjwvZGl2PlxuICAgICAgICAgICAgICA8Z3YtYnV0dG9uIGxpbmsgQGNsaWNrPVwiJHt0aGlzLl9yZW1vdmVGaWxlLmJpbmQodGhpcywgMCl9XCI+JHtpMThuKCdndi1maWxlLXVwbG9hZC5yZW1vdmVQaWN0dXJlJyl9PC9ndi1idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBgXG4gICAgICAgIDogJyd9XG4gICAgYDtcbiAgfVxuXG4gIF9vblByZXZpZXdFcnJvcigpIHtcbiAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgfVxuXG4gIHVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpIHtcbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCd2YWx1ZScpKSB7XG4gICAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgICB0aGlzLl9wcmV2aWV3ID0gdGhpcy52YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMuX2ZpbGVzICYmIHRoaXMuX2ZpbGVzWzBdKSB7XG4gICAgICAgICAgdGhpcy5yZWFkZXIucmVhZEFzRGF0YVVSTCh0aGlzLl9maWxlc1swXSk7XG4gICAgICAgICAgdGhpcy5yZWFkZXIub25sb2FkID0gKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy52YWx1ZSAhPT0gZXZlbnQudGFyZ2V0LnJlc3VsdCkge1xuICAgICAgICAgICAgICB0aGlzLl9maWxlcyA9IFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3ByZXZpZXcgPSBudWxsO1xuICAgICAgICB0aGlzLl9maWxlcyA9IFtdO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHByZXZpZXcgPSB0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignLnByZXZpZXcnKTtcbiAgICBpZiAocHJldmlldykge1xuICAgICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSBwcmV2aWV3LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgaW1nID0gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJ2d2LWltYWdlJyk7XG4gICAgICBpbWcuc3R5bGUud2lkdGggPSB3aWR0aCAtIDIwICsgJ3B4JztcbiAgICAgIGltZy5zdHlsZS5oZWlnaHQgPSBoZWlnaHQgLSAyMCArICdweCc7XG4gICAgICBpbWcuc3R5bGUubGVmdCA9ICcxMHB4JztcbiAgICAgIGltZy5zdHlsZS50b3AgPSAnMTBweCc7XG4gICAgfVxuICB9XG59XG5cbndpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ2d2LWZpbGUtdXBsb2FkJywgR3ZGaWxlVXBsb2FkKTtcbiJdfQ==
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.GvFileUpload=void 0;const e=require("lit"),i=require("../styles/link"),t=require("../lib/events"),r=require("lit/directives/if-defined"),s=require("../lib/i18n"),l=require("lit/directives/class-map");class o extends e.LitElement{static get properties(){return{label:{type:String},accept:{type:String},except:{type:String},limit:{type:Number},value:{type:Array,reflect:!0},_preview:{type:String,attribute:!1},_files:{type:Array,attribute:!1},_errors:{type:Array,attribute:!1}}}static get styles(){return[i.link,e.css`:host{box-sizing:border-box;display:block;width:100%;color:var(--gv-theme-color-dark,#28444f)}.box{font-size:1.25rem;background-color:var(--gv-theme-neutral-color-lighter,#fafafa);position:relative;padding:2rem;text-align:center;display:block;border:1px dashed #28444f;border-radius:4px;transition:outline-offset .15s ease-in-out,background-color .15s linear;height:100%}.box .box__icon{width:100%;height:80px;display:block;margin-bottom:40px;--gv-icon--s:5rem;--gv-icon--c:var(--gv-theme-color-dark, #28444f)}.box__file{width:.1px;height:.1px;opacity:0;overflow:hidden;position:absolute;z-index:-1}.box__file+label{max-width:80%;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;display:inline-block;overflow:hidden}.box.is-dragover{background-color:var(--gv-theme-color-light,#28444f);border:none;outline:1px dashed #28444f;outline-offset:-10px}.box .box__dragndrop{display:inline}.files{box-sizing:border-box;display:flex;align-items:center;--gv-icon--s:16px;padding:1rem .5rem 0}.filename{flex:1;padding:.2rem;word-break:break-all}.error{font-style:italic;--gv-icon--c:red}gv-image{position:absolute}.preview{transition:all .3s ease-in-out}.box__input{position:relative;display:flex;flex-direction:column;justify-content:center;height:100%;z-index:10}.preview .box__input{visibility:hidden}.preview:hover .box__input{visibility:visible}.preview:hover gv-image{opacity:.3}`]}constructor(){super(),this.reader=new FileReader,this._files=[],this._errors=[],this._counter=0}_onDragOver(e){e.preventDefault(),e.stopPropagation(),this._counter++;this.shadowRoot.querySelector(".box").classList.add("is-dragover")}_onDragEnd(e){if(e.preventDefault(),e.stopPropagation(),0==--this._counter){this.shadowRoot.querySelector(".box").classList.remove("is-dragover")}}_onDrop(e){e.preventDefault(),e.stopPropagation(),this.setFiles(e.dataTransfer.files)}_getRegex(e){return`(${e.toString().replace(" ","").replace(/,/g,".+|").replace(/\*/g,".+").replace(".+.+",".+")})`}setFiles(e){const i=[];this._files=[...e].filter((e=>this.accept&&null==e.type.match(this._getRegex(this.accept))||this.except&&null!=e.type.match(this._getRegex(this.except))?(i.push({file:e,error:(0,s.i18n)("gv-file-upload.error.typeNotAllowed")}),!1):!(this.limit&&e.size>parseInt(this.limit,10))||(i.push({file:e,error:(0,s.i18n)("gv-file-upload.error.maxSize")}),!1))),this._errors=i,this._errors.length>0&&((0,t.dispatchCustomEvent)(this,"error",{errors:this._errors}),this.dispatchEvent(new Event("invalid",{bubbles:!0,cancelable:!0})));this.shadowRoot.querySelector(".box").classList.remove("is-dragover"),this._files.length>0&&(this.reader.readAsDataURL(this._files[0]),this.reader.onload=e=>{this._files[0].type.match(this._getRegex("image/*"))?this._preview=e.target.result:this._preview=null,this.value=e.target.result,this.dispatchEvent(new Event("input",{bubbles:!0,cancelable:!0})),(0,t.dispatchCustomEvent)(this,"drop",{files:[this.value]})})}_cancelEvent(e){e.preventDefault(),e.stopPropagation()}_removeFile(){this._errors=[],this._files=[],this._preview=null,this.value=null,this.shadowRoot.querySelector("#file").value=null,this.dispatchEvent(new Event("input",{bubbles:!0,cancelable:!0}))}_onChange(e){this.setFiles(e.target.files)}get icon(){return this._files.length>0?"general:clip":"general:upload"}render(){const i=this._errors.length>0||this._files.length>0?(0,s.i18n)("gv-file-upload.chooseAnotherFile"):(0,s.i18n)("gv-file-upload.chooseFile"),t={box:!0,preview:null!=this._preview};return e.html`<label for="file">${this.label}</label><div class="${(0,l.classMap)(t)}" @drop="${this._onDrop}" @ondrop="${this._onDrop}" @drag="${this._cancelEvent}" @dragstart="${this._cancelEvent}" @dragover="${this._onDragOver}" @dragenter="${this._onDragOver}" @dragleave="${this._onDragEnd}" @dragend="${this._onDragEnd}">${null!=this._preview?e.html`<gv-image .src="${this._preview}" @error="${this._onPreviewError}"></gv-image>`:""}<div class="box__input"><gv-icon class="box__icon" shape="${this.icon}"></gv-icon><label for="file" class="link"><strong>${i}</strong> <span class="box__dragndrop">${(0,s.i18n)("gv-file-upload.orDragIt")}</span></label> <input class="box__file" type="file" name="files[]" id="file" files="${this.files}" accept="${(0,r.ifDefined)(this.accept)}" @change="${this._onChange}"></div></div>${this._files.length>0?e.html`<div class="files"><gv-icon shape="general:clip"></gv-icon><div class="filename">${this._files[0].name}</div><gv-icon class="link" @click="${this._removeFile.bind(this,0)}" shape="general:trash"></gv-icon></div>`:""} ${this._errors.length>0?e.html`<div class="files"><gv-icon class="error" shape="code:stop"></gv-icon><div class="filename">${this._errors[0].file.name} <span class="error">(${this._errors[0].error})</span></div></div>`:""} ${this.value&&0===this._files.length&&0===this._errors.length?e.html`<div class="files"><div class="filename"></div><gv-button link @click="${this._removeFile.bind(this,0)}">${(0,s.i18n)("gv-file-upload.removePicture")}</gv-button></div>`:""}`}_onPreviewError(){this.value=null}updated(e){e.has("value")&&(this.value?(this._preview=this.value,this._files&&this._files[0]&&(this.reader.readAsDataURL(this._files[0]),this.reader.onload=e=>{this.value!==e.target.result&&(this._files=[])})):(this._preview=null,this._files=[]));const i=this.shadowRoot.querySelector(".preview");if(i){const{width:e,height:t}=i.getBoundingClientRect(),r=this.shadowRoot.querySelector("gv-image");r.style.width=e-20+"px",r.style.height=t-20+"px",r.style.left="10px",r.style.top="10px"}}}exports.GvFileUpload=o,window.customElements.define("gv-file-upload",o);
|
package/src/atoms/gv-icon.js
CHANGED
|
@@ -1,82 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { css, LitElement, html, noChange } from 'lit';
|
|
17
|
-
import { Directive, directive } from 'lit/directive';
|
|
18
|
-
import { classMap } from 'lit/directives/class-map';
|
|
19
|
-
|
|
20
|
-
class Namespaced extends Directive {
|
|
21
|
-
update(part, [namespace, value]) {
|
|
22
|
-
part.element.setAttributeNS(namespace, part.name, value);
|
|
23
|
-
return noChange;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const namespaced = directive(Namespaced);
|
|
29
|
-
/**
|
|
30
|
-
* An icon
|
|
31
|
-
*
|
|
32
|
-
* ## Details
|
|
33
|
-
* * has @theme facet
|
|
34
|
-
*
|
|
35
|
-
* @cssprop {Color} [--gv-icon--c=var(--gv-theme-font-color-dark, #262626)] - Color
|
|
36
|
-
* @cssprop {Color} [--gv-icon-opacity--c=var(--gv-theme-font-color-dark, #262626)] - Opacity color
|
|
37
|
-
* @cssprop {Length} [--gv-icon--s=32px] - Height and width
|
|
38
|
-
*/
|
|
39
|
-
|
|
40
|
-
export class GvIcon extends LitElement {
|
|
41
|
-
static get properties() {
|
|
42
|
-
return {
|
|
43
|
-
/**
|
|
44
|
-
* This is a shape, an concatenation of category name and icon name.
|
|
45
|
-
* @type {"{category}:{iconName}"}
|
|
46
|
-
* @attr
|
|
47
|
-
* @required
|
|
48
|
-
*/
|
|
49
|
-
shape: {
|
|
50
|
-
type: String
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
static get excludedShapes() {
|
|
56
|
-
return ['thirdparty:google', 'thirdparty:graviteeio_am'];
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
canCustomize() {
|
|
60
|
-
return !['thirdparty:google', 'thirdparty:graviteeio_am', 'thirdparty:http', 'thirdparty:jdbc', 'thirdparty:microsoft', 'thirdparty:mongodb'].includes(this.shape);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
static get styles() {
|
|
64
|
-
return [// language=CSS
|
|
65
|
-
css`:host{box-sizing:border-box;display:inline-flex;vertical-align:middle;--color:var(--gv-icon--c, var(--gv-theme-font-color-dark, #262626));--opacity:var(--gv-icon-opacity--c, var(--gv-theme-font-color-dark, #262626));--size:var(--gv-icon--s, 32px)}svg{height:var(--size);width:var(--size);fill:var(--color)}`];
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
static getHref(shape) {
|
|
69
|
-
const [category, icon] = shape.split(':');
|
|
70
|
-
return `./icons/${category}.svg#${icon}`;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
render() {
|
|
74
|
-
const xlinkNamespace = 'http://www.w3.org/1999/xlink';
|
|
75
|
-
return html`<svg class="${classMap({
|
|
76
|
-
'no-color': !this.canCustomize()
|
|
77
|
-
})}"> <use xlink:href="${namespaced(xlinkNamespace, GvIcon.getHref(this.shape))}"/> </svg>`;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
}
|
|
81
|
-
window.customElements.define('gv-icon', GvIcon);
|
|
82
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LWljb24uanMiXSwibmFtZXMiOlsiY3NzIiwiTGl0RWxlbWVudCIsImh0bWwiLCJub0NoYW5nZSIsIkRpcmVjdGl2ZSIsImRpcmVjdGl2ZSIsImNsYXNzTWFwIiwiTmFtZXNwYWNlZCIsInVwZGF0ZSIsInBhcnQiLCJuYW1lc3BhY2UiLCJ2YWx1ZSIsImVsZW1lbnQiLCJzZXRBdHRyaWJ1dGVOUyIsIm5hbWUiLCJuYW1lc3BhY2VkIiwiR3ZJY29uIiwicHJvcGVydGllcyIsInNoYXBlIiwidHlwZSIsIlN0cmluZyIsImV4Y2x1ZGVkU2hhcGVzIiwiY2FuQ3VzdG9taXplIiwiaW5jbHVkZXMiLCJzdHlsZXMiLCJnZXRIcmVmIiwiY2F0ZWdvcnkiLCJpY29uIiwic3BsaXQiLCJyZW5kZXIiLCJ4bGlua05hbWVzcGFjZSIsIndpbmRvdyIsImN1c3RvbUVsZW1lbnRzIiwiZGVmaW5lIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxHQUFULEVBQWNDLFVBQWQsRUFBMEJDLElBQTFCLEVBQWdDQyxRQUFoQyxRQUFnRCxLQUFoRDtBQUNBLFNBQVNDLFNBQVQsRUFBb0JDLFNBQXBCLFFBQXFDLGVBQXJDO0FBRUEsU0FBU0MsUUFBVCxRQUF5QiwwQkFBekI7O0FBRUEsTUFBTUMsVUFBTixTQUF5QkgsU0FBekIsQ0FBbUM7QUFDakNJLEVBQUFBLE1BQU0sQ0FBQ0MsSUFBRCxFQUFPLENBQUNDLFNBQUQsRUFBWUMsS0FBWixDQUFQLEVBQTJCO0FBQy9CRixJQUFBQSxJQUFJLENBQUNHLE9BQUwsQ0FBYUMsY0FBYixDQUE0QkgsU0FBNUIsRUFBdUNELElBQUksQ0FBQ0ssSUFBNUMsRUFBa0RILEtBQWxEO0FBQ0EsV0FBT1IsUUFBUDtBQUNEOztBQUpnQzs7QUFPbkMsTUFBTVksVUFBVSxHQUFHVixTQUFTLENBQUNFLFVBQUQsQ0FBNUI7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxPQUFPLE1BQU1TLE1BQU4sU0FBcUJmLFVBQXJCLENBQWdDO0FBQ2hCLGFBQVZnQixVQUFVLEdBQUc7QUFDdEIsV0FBTztBQUNMO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNNQyxNQUFBQSxLQUFLLEVBQUU7QUFBRUMsUUFBQUEsSUFBSSxFQUFFQztBQUFSO0FBUEYsS0FBUDtBQVNEOztBQUV3QixhQUFkQyxjQUFjLEdBQUc7QUFDMUIsV0FBTyxDQUFDLG1CQUFELEVBQXNCLDBCQUF0QixDQUFQO0FBQ0Q7O0FBRURDLEVBQUFBLFlBQVksR0FBRztBQUNiLFdBQU8sQ0FBQyxDQUNOLG1CQURNLEVBRU4sMEJBRk0sRUFHTixpQkFITSxFQUlOLGlCQUpNLEVBS04sc0JBTE0sRUFNTixvQkFOTSxFQU9OQyxRQVBNLENBT0csS0FBS0wsS0FQUixDQUFSO0FBUUQ7O0FBRWdCLGFBQU5NLE1BQU0sR0FBRztBQUNsQixXQUFPLENBQ0w7QUFDQXhCLElBQUFBLEdBQUcsb1RBRkUsQ0FBUDtBQW1CRDs7QUFFYSxTQUFQeUIsT0FBTyxDQUFDUCxLQUFELEVBQVE7QUFDcEIsVUFBTSxDQUFDUSxRQUFELEVBQVdDLElBQVgsSUFBbUJULEtBQUssQ0FBQ1UsS0FBTixDQUFZLEdBQVosQ0FBekI7QUFDQSxXQUFRLFdBQVVGLFFBQVMsUUFBT0MsSUFBSyxFQUF2QztBQUNEOztBQUVERSxFQUFBQSxNQUFNLEdBQUc7QUFDUCxVQUFNQyxjQUFjLEdBQUcsOEJBQXZCO0FBQ0EsV0FBTzVCLElBQUksZUFBZUksUUFBUSxDQUFDO0FBQUUsa0JBQVksQ0FBQyxLQUFLZ0IsWUFBTDtBQUFmLEtBQUQsQ0FBdkIsdUJBQ1VQLFVBQVUsQ0FBQ2UsY0FBRCxFQUFpQmQsTUFBTSxDQUFDUyxPQUFQLENBQWUsS0FBS1AsS0FBcEIsQ0FBakIsQ0FEcEIsWUFBWDtBQUdEOztBQTVEb0M7QUErRHZDYSxNQUFNLENBQUNDLGNBQVAsQ0FBc0JDLE1BQXRCLENBQTZCLFNBQTdCLEVBQXdDakIsTUFBeEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgY3NzLCBMaXRFbGVtZW50LCBodG1sLCBub0NoYW5nZSB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIGRpcmVjdGl2ZSB9IGZyb20gJ2xpdC9kaXJlY3RpdmUnO1xuXG5pbXBvcnQgeyBjbGFzc01hcCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL2NsYXNzLW1hcCc7XG5cbmNsYXNzIE5hbWVzcGFjZWQgZXh0ZW5kcyBEaXJlY3RpdmUge1xuICB1cGRhdGUocGFydCwgW25hbWVzcGFjZSwgdmFsdWVdKSB7XG4gICAgcGFydC5lbGVtZW50LnNldEF0dHJpYnV0ZU5TKG5hbWVzcGFjZSwgcGFydC5uYW1lLCB2YWx1ZSk7XG4gICAgcmV0dXJuIG5vQ2hhbmdlO1xuICB9XG59XG5cbmNvbnN0IG5hbWVzcGFjZWQgPSBkaXJlY3RpdmUoTmFtZXNwYWNlZCk7XG5cbi8qKlxuICogQW4gaWNvblxuICpcbiAqICMjIERldGFpbHNcbiAqICogaGFzIEB0aGVtZSBmYWNldFxuICpcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtaWNvbi0tYz12YXIoLS1ndi10aGVtZS1mb250LWNvbG9yLWRhcmssICMyNjI2MjYpXSAtIENvbG9yXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LWljb24tb3BhY2l0eS0tYz12YXIoLS1ndi10aGVtZS1mb250LWNvbG9yLWRhcmssICMyNjI2MjYpXSAtIE9wYWNpdHkgY29sb3JcbiAqIEBjc3Nwcm9wIHtMZW5ndGh9IFstLWd2LWljb24tLXM9MzJweF0gLSBIZWlnaHQgYW5kIHdpZHRoXG4gKi9cbmV4cG9ydCBjbGFzcyBHdkljb24gZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgc3RhdGljIGdldCBwcm9wZXJ0aWVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICAvKipcbiAgICAgICAqIFRoaXMgaXMgYSBzaGFwZSwgYW4gY29uY2F0ZW5hdGlvbiBvZiBjYXRlZ29yeSBuYW1lIGFuZCBpY29uIG5hbWUuXG4gICAgICAgKiBAdHlwZSB7XCJ7Y2F0ZWdvcnl9OntpY29uTmFtZX1cIn1cbiAgICAgICAqIEBhdHRyXG4gICAgICAgKiBAcmVxdWlyZWRcbiAgICAgICAqL1xuICAgICAgc2hhcGU6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBnZXQgZXhjbHVkZWRTaGFwZXMoKSB7XG4gICAgcmV0dXJuIFsndGhpcmRwYXJ0eTpnb29nbGUnLCAndGhpcmRwYXJ0eTpncmF2aXRlZWlvX2FtJ107XG4gIH1cblxuICBjYW5DdXN0b21pemUoKSB7XG4gICAgcmV0dXJuICFbXG4gICAgICAndGhpcmRwYXJ0eTpnb29nbGUnLFxuICAgICAgJ3RoaXJkcGFydHk6Z3Jhdml0ZWVpb19hbScsXG4gICAgICAndGhpcmRwYXJ0eTpodHRwJyxcbiAgICAgICd0aGlyZHBhcnR5OmpkYmMnLFxuICAgICAgJ3RoaXJkcGFydHk6bWljcm9zb2Z0JyxcbiAgICAgICd0aGlyZHBhcnR5Om1vbmdvZGInLFxuICAgIF0uaW5jbHVkZXModGhpcy5zaGFwZSk7XG4gIH1cblxuICBzdGF0aWMgZ2V0IHN0eWxlcygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgLy8gbGFuZ3VhZ2U9Q1NTXG4gICAgICBjc3NgXG4gICAgICAgIDpob3N0IHtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgLS1jb2xvcjogdmFyKC0tZ3YtaWNvbi0tYywgdmFyKC0tZ3YtdGhlbWUtZm9udC1jb2xvci1kYXJrLCAjMjYyNjI2KSk7XG4gICAgICAgICAgLS1vcGFjaXR5OiB2YXIoLS1ndi1pY29uLW9wYWNpdHktLWMsIHZhcigtLWd2LXRoZW1lLWZvbnQtY29sb3ItZGFyaywgIzI2MjYyNikpO1xuICAgICAgICAgIC0tc2l6ZTogdmFyKC0tZ3YtaWNvbi0tcywgMzJweCk7XG4gICAgICAgIH1cblxuICAgICAgICBzdmcge1xuICAgICAgICAgIGhlaWdodDogdmFyKC0tc2l6ZSk7XG4gICAgICAgICAgd2lkdGg6IHZhcigtLXNpemUpO1xuICAgICAgICAgIGZpbGw6IHZhcigtLWNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgYCxcbiAgICBdO1xuICB9XG5cbiAgc3RhdGljIGdldEhyZWYoc2hhcGUpIHtcbiAgICBjb25zdCBbY2F0ZWdvcnksIGljb25dID0gc2hhcGUuc3BsaXQoJzonKTtcbiAgICByZXR1cm4gYC4vaWNvbnMvJHtjYXRlZ29yeX0uc3ZnIyR7aWNvbn1gO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHhsaW5rTmFtZXNwYWNlID0gJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnO1xuICAgIHJldHVybiBodG1sYDxzdmcgY2xhc3M9XCIke2NsYXNzTWFwKHsgJ25vLWNvbG9yJzogIXRoaXMuY2FuQ3VzdG9taXplKCkgfSl9XCI+XG4gICAgICA8dXNlIHhsaW5rOmhyZWY9XCIke25hbWVzcGFjZWQoeGxpbmtOYW1lc3BhY2UsIEd2SWNvbi5nZXRIcmVmKHRoaXMuc2hhcGUpKX1cIiAvPlxuICAgIDwvc3ZnPmA7XG4gIH1cbn1cblxud2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZ3YtaWNvbicsIEd2SWNvbik7XG4iXX0=
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.GvIcon=void 0;const e=require("lit"),t=require("lit/directive"),r=require("lit/directives/class-map");class i extends t.Directive{update(t,[r,i]){return t.element.setAttributeNS(r,t.name,i),e.noChange}}const s=(0,t.directive)(i);class o extends e.LitElement{static get properties(){return{shape:{type:String}}}static get excludedShapes(){return["thirdparty:google","thirdparty:graviteeio_am"]}canCustomize(){return!["thirdparty:google","thirdparty:graviteeio_am","thirdparty:http","thirdparty:jdbc","thirdparty:microsoft","thirdparty:mongodb"].includes(this.shape)}static get styles(){return[e.css`:host{box-sizing:border-box;display:inline-flex;vertical-align:middle;--color:var(--gv-icon--c, var(--gv-theme-font-color-dark, #262626));--opacity:var(--gv-icon-opacity--c, var(--gv-theme-font-color-dark, #262626));--size:var(--gv-icon--s, 32px)}svg{height:var(--size);width:var(--size);fill:var(--color)}`]}static getHref(e){const[t,r]=e.split(":");return`./icons/${t}.svg#${r}`}render(){return e.html`<svg class="${(0,r.classMap)({"no-color":!this.canCustomize()})}"><use xlink:href="${s("http://www.w3.org/1999/xlink",o.getHref(this.shape))}"/></svg>`}}exports.GvIcon=o,window.customElements.define("gv-icon",o);
|
package/src/atoms/gv-image.js
CHANGED
|
@@ -1,109 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { LitElement, html, css } from 'lit';
|
|
17
|
-
import { dispatchCustomEvent } from '../lib/events';
|
|
18
|
-
import { classMap } from 'lit/directives/class-map';
|
|
19
|
-
import { ifDefined } from 'lit/directives/if-defined';
|
|
20
|
-
import { skeleton } from '../styles/skeleton';
|
|
21
|
-
/**
|
|
22
|
-
* An image
|
|
23
|
-
*
|
|
24
|
-
* ## Details
|
|
25
|
-
* * has @theme facet
|
|
26
|
-
*
|
|
27
|
-
* @fires gv-image:loaded - When image is loaded
|
|
28
|
-
*
|
|
29
|
-
* @attr {String} src - Source of img
|
|
30
|
-
* @attr {String} alt - Alternative text of img
|
|
31
|
-
* @attr {Boolean} skeleton - enable skeleton screen UI pattern (loading hint)
|
|
32
|
-
*
|
|
33
|
-
* @cssprop {String} [--gv-image--of=cover] - set the object-fit of image
|
|
34
|
-
*/
|
|
35
|
-
|
|
36
|
-
export class GvImage extends LitElement {
|
|
37
|
-
static get properties() {
|
|
38
|
-
return {
|
|
39
|
-
src: {
|
|
40
|
-
type: String
|
|
41
|
-
},
|
|
42
|
-
skeleton: {
|
|
43
|
-
type: Boolean,
|
|
44
|
-
reflect: true
|
|
45
|
-
},
|
|
46
|
-
alt: {
|
|
47
|
-
type: String
|
|
48
|
-
},
|
|
49
|
-
_loaded: {
|
|
50
|
-
type: Boolean,
|
|
51
|
-
reflect: true
|
|
52
|
-
},
|
|
53
|
-
_error: {
|
|
54
|
-
type: Boolean
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
static get styles() {
|
|
60
|
-
return [// language=CSS
|
|
61
|
-
css`:host{display:inline-block;overflow:hidden}.wrapper,img{height:100%;width:100%;transition:opacity .3s ease-in-out}.wrapper{align-items:center;display:flex;justify-content:center;position:relative}.wrapper.text:not('.skeleton'){background-color:var(--gv-theme-neutral-color)}img{display:block;object-fit:var(--gv-image--of,cover);object-position:center center;opacity:0;position:absolute;top:0;transition:opacity 150ms ease-in-out;left:0}.wrapper.loaded img{opacity:1}.error-msg{font-size:.9rem;overflow:hidden;padding:.25rem;text-align:center;text-overflow:ellipsis;white-space:nowrap}`, skeleton];
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
constructor() {
|
|
65
|
-
super();
|
|
66
|
-
this.skeleton = false;
|
|
67
|
-
this._error = false;
|
|
68
|
-
this._loaded = false;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
set src(newVal) {
|
|
72
|
-
const oldVal = this._src;
|
|
73
|
-
this._src = newVal;
|
|
74
|
-
this.requestUpdate('src', oldVal);
|
|
75
|
-
this._error = false;
|
|
76
|
-
this._loaded = false;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
get src() {
|
|
80
|
-
return this._src;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
_onLoad(e) {
|
|
84
|
-
this._loaded = true;
|
|
85
|
-
this.skeleton = false;
|
|
86
|
-
dispatchCustomEvent(this, 'loaded', {
|
|
87
|
-
src: this.src,
|
|
88
|
-
alt: this.alt
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
_onError(e) {
|
|
93
|
-
this._error = true;
|
|
94
|
-
this.skeleton = false;
|
|
95
|
-
this.dispatchEvent(new Event('error'), e);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
render() {
|
|
99
|
-
const displayText = this.src == null || this._error;
|
|
100
|
-
return html` <div class="wrapper ${classMap({
|
|
101
|
-
skeleton: this.skeleton,
|
|
102
|
-
loaded: this._loaded,
|
|
103
|
-
text: displayText
|
|
104
|
-
})}"> <img src="${ifDefined(this.src)}" @load="${this._onLoad}" @error="${this._onError}" alt=""> ${displayText ? html` <div class="error-msg">${this.alt}</div> ` : ''} </div> `;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
}
|
|
108
|
-
window.customElements.define('gv-image', GvImage);
|
|
109
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LWltYWdlLmpzIl0sIm5hbWVzIjpbIkxpdEVsZW1lbnQiLCJodG1sIiwiY3NzIiwiZGlzcGF0Y2hDdXN0b21FdmVudCIsImNsYXNzTWFwIiwiaWZEZWZpbmVkIiwic2tlbGV0b24iLCJHdkltYWdlIiwicHJvcGVydGllcyIsInNyYyIsInR5cGUiLCJTdHJpbmciLCJCb29sZWFuIiwicmVmbGVjdCIsImFsdCIsIl9sb2FkZWQiLCJfZXJyb3IiLCJzdHlsZXMiLCJjb25zdHJ1Y3RvciIsIm5ld1ZhbCIsIm9sZFZhbCIsIl9zcmMiLCJyZXF1ZXN0VXBkYXRlIiwiX29uTG9hZCIsImUiLCJfb25FcnJvciIsImRpc3BhdGNoRXZlbnQiLCJFdmVudCIsInJlbmRlciIsImRpc3BsYXlUZXh0IiwibG9hZGVkIiwidGV4dCIsIndpbmRvdyIsImN1c3RvbUVsZW1lbnRzIiwiZGVmaW5lIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxVQUFULEVBQXFCQyxJQUFyQixFQUEyQkMsR0FBM0IsUUFBc0MsS0FBdEM7QUFDQSxTQUFTQyxtQkFBVCxRQUFvQyxlQUFwQztBQUNBLFNBQVNDLFFBQVQsUUFBeUIsMEJBQXpCO0FBQ0EsU0FBU0MsU0FBVCxRQUEwQiwyQkFBMUI7QUFDQSxTQUFTQyxRQUFULFFBQXlCLG9CQUF6QjtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsT0FBTyxNQUFNQyxPQUFOLFNBQXNCUCxVQUF0QixDQUFpQztBQUNqQixhQUFWUSxVQUFVLEdBQUc7QUFDdEIsV0FBTztBQUNMQyxNQUFBQSxHQUFHLEVBQUU7QUFBRUMsUUFBQUEsSUFBSSxFQUFFQztBQUFSLE9BREE7QUFFTEwsTUFBQUEsUUFBUSxFQUFFO0FBQUVJLFFBQUFBLElBQUksRUFBRUUsT0FBUjtBQUFpQkMsUUFBQUEsT0FBTyxFQUFFO0FBQTFCLE9BRkw7QUFHTEMsTUFBQUEsR0FBRyxFQUFFO0FBQUVKLFFBQUFBLElBQUksRUFBRUM7QUFBUixPQUhBO0FBSUxJLE1BQUFBLE9BQU8sRUFBRTtBQUFFTCxRQUFBQSxJQUFJLEVBQUVFLE9BQVI7QUFBaUJDLFFBQUFBLE9BQU8sRUFBRTtBQUExQixPQUpKO0FBS0xHLE1BQUFBLE1BQU0sRUFBRTtBQUFFTixRQUFBQSxJQUFJLEVBQUVFO0FBQVI7QUFMSCxLQUFQO0FBT0Q7O0FBRWdCLGFBQU5LLE1BQU0sR0FBRztBQUNsQixXQUFPLENBQ0w7QUFDQWYsSUFBQUEsR0FBRywya0JBRkUsRUFrRExJLFFBbERLLENBQVA7QUFvREQ7O0FBRURZLEVBQUFBLFdBQVcsR0FBRztBQUNaO0FBQ0EsU0FBS1osUUFBTCxHQUFnQixLQUFoQjtBQUNBLFNBQUtVLE1BQUwsR0FBYyxLQUFkO0FBQ0EsU0FBS0QsT0FBTCxHQUFlLEtBQWY7QUFDRDs7QUFFTSxNQUFITixHQUFHLENBQUNVLE1BQUQsRUFBUztBQUNkLFVBQU1DLE1BQU0sR0FBRyxLQUFLQyxJQUFwQjtBQUNBLFNBQUtBLElBQUwsR0FBWUYsTUFBWjtBQUNBLFNBQUtHLGFBQUwsQ0FBbUIsS0FBbkIsRUFBMEJGLE1BQTFCO0FBQ0EsU0FBS0osTUFBTCxHQUFjLEtBQWQ7QUFDQSxTQUFLRCxPQUFMLEdBQWUsS0FBZjtBQUNEOztBQUVNLE1BQUhOLEdBQUcsR0FBRztBQUNSLFdBQU8sS0FBS1ksSUFBWjtBQUNEOztBQUVERSxFQUFBQSxPQUFPLENBQUNDLENBQUQsRUFBSTtBQUNULFNBQUtULE9BQUwsR0FBZSxJQUFmO0FBQ0EsU0FBS1QsUUFBTCxHQUFnQixLQUFoQjtBQUNBSCxJQUFBQSxtQkFBbUIsQ0FBQyxJQUFELEVBQU8sUUFBUCxFQUFpQjtBQUFFTSxNQUFBQSxHQUFHLEVBQUUsS0FBS0EsR0FBWjtBQUFpQkssTUFBQUEsR0FBRyxFQUFFLEtBQUtBO0FBQTNCLEtBQWpCLENBQW5CO0FBQ0Q7O0FBRURXLEVBQUFBLFFBQVEsQ0FBQ0QsQ0FBRCxFQUFJO0FBQ1YsU0FBS1IsTUFBTCxHQUFjLElBQWQ7QUFDQSxTQUFLVixRQUFMLEdBQWdCLEtBQWhCO0FBQ0EsU0FBS29CLGFBQUwsQ0FBbUIsSUFBSUMsS0FBSixDQUFVLE9BQVYsQ0FBbkIsRUFBdUNILENBQXZDO0FBQ0Q7O0FBRURJLEVBQUFBLE1BQU0sR0FBRztBQUNQLFVBQU1DLFdBQVcsR0FBRyxLQUFLcEIsR0FBTCxJQUFZLElBQVosSUFBb0IsS0FBS08sTUFBN0M7QUFDQSxXQUFPZixJQUFJLHdCQUNhRyxRQUFRLENBQUM7QUFBRUUsTUFBQUEsUUFBUSxFQUFFLEtBQUtBLFFBQWpCO0FBQTJCd0IsTUFBQUEsTUFBTSxFQUFFLEtBQUtmLE9BQXhDO0FBQWlEZ0IsTUFBQUEsSUFBSSxFQUFFRjtBQUF2RCxLQUFELENBRHJCLGdCQUVJeEIsU0FBUyxDQUFDLEtBQUtJLEdBQU4sQ0FGYixZQUVpQyxLQUFLYyxPQUZ0QyxhQUV3RCxLQUFLRSxRQUY3RCxhQUdMSSxXQUFXLEdBQUc1QixJQUFJLDJCQUEyQixLQUFLYSxHQUFoQyxTQUFQLEdBQXNELEVBSDVELFVBQVg7QUFNRDs7QUF6R3FDO0FBNEd4Q2tCLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkMsTUFBdEIsQ0FBNkIsVUFBN0IsRUFBeUMzQixPQUF6QyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBMaXRFbGVtZW50LCBodG1sLCBjc3MgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgZGlzcGF0Y2hDdXN0b21FdmVudCB9IGZyb20gJy4uL2xpYi9ldmVudHMnO1xuaW1wb3J0IHsgY2xhc3NNYXAgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9jbGFzcy1tYXAnO1xuaW1wb3J0IHsgaWZEZWZpbmVkIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvaWYtZGVmaW5lZCc7XG5pbXBvcnQgeyBza2VsZXRvbiB9IGZyb20gJy4uL3N0eWxlcy9za2VsZXRvbic7XG5cbi8qKlxuICogQW4gaW1hZ2VcbiAqXG4gKiAjIyBEZXRhaWxzXG4gKiAqIGhhcyBAdGhlbWUgZmFjZXRcbiAqXG4gKiBAZmlyZXMgZ3YtaW1hZ2U6bG9hZGVkIC0gV2hlbiBpbWFnZSBpcyBsb2FkZWRcbiAqXG4gKiBAYXR0ciB7U3RyaW5nfSBzcmMgLSBTb3VyY2Ugb2YgaW1nXG4gKiBAYXR0ciB7U3RyaW5nfSBhbHQgLSBBbHRlcm5hdGl2ZSB0ZXh0IG9mIGltZ1xuICogQGF0dHIge0Jvb2xlYW59IHNrZWxldG9uIC0gZW5hYmxlIHNrZWxldG9uIHNjcmVlbiBVSSBwYXR0ZXJuIChsb2FkaW5nIGhpbnQpXG4gKlxuICogQGNzc3Byb3Age1N0cmluZ30gWy0tZ3YtaW1hZ2UtLW9mPWNvdmVyXSAtIHNldCB0aGUgb2JqZWN0LWZpdCBvZiBpbWFnZVxuICovXG5leHBvcnQgY2xhc3MgR3ZJbWFnZSBleHRlbmRzIExpdEVsZW1lbnQge1xuICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNyYzogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIHNrZWxldG9uOiB7IHR5cGU6IEJvb2xlYW4sIHJlZmxlY3Q6IHRydWUgfSxcbiAgICAgIGFsdDogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIF9sb2FkZWQ6IHsgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgX2Vycm9yOiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGdldCBzdHlsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC8vIGxhbmd1YWdlPUNTU1xuICAgICAgY3NzYFxuICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAud3JhcHBlcixcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAud3JhcHBlci50ZXh0Om5vdCgnLnNrZWxldG9uJykge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBvYmplY3QtZml0OiB2YXIoLS1ndi1pbWFnZS0tb2YsIGNvdmVyKTtcbiAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC53cmFwcGVyLmxvYWRlZCBpbWcge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuZXJyb3ItbXNnIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHBhZGRpbmc6IDAuMjVyZW07XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICAgIGAsXG4gICAgICBza2VsZXRvbixcbiAgICBdO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnNrZWxldG9uID0gZmFsc2U7XG4gICAgdGhpcy5fZXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLl9sb2FkZWQgPSBmYWxzZTtcbiAgfVxuXG4gIHNldCBzcmMobmV3VmFsKSB7XG4gICAgY29uc3Qgb2xkVmFsID0gdGhpcy5fc3JjO1xuICAgIHRoaXMuX3NyYyA9IG5ld1ZhbDtcbiAgICB0aGlzLnJlcXVlc3RVcGRhdGUoJ3NyYycsIG9sZFZhbCk7XG4gICAgdGhpcy5fZXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLl9sb2FkZWQgPSBmYWxzZTtcbiAgfVxuXG4gIGdldCBzcmMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NyYztcbiAgfVxuXG4gIF9vbkxvYWQoZSkge1xuICAgIHRoaXMuX2xvYWRlZCA9IHRydWU7XG4gICAgdGhpcy5za2VsZXRvbiA9IGZhbHNlO1xuICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ2xvYWRlZCcsIHsgc3JjOiB0aGlzLnNyYywgYWx0OiB0aGlzLmFsdCB9KTtcbiAgfVxuXG4gIF9vbkVycm9yKGUpIHtcbiAgICB0aGlzLl9lcnJvciA9IHRydWU7XG4gICAgdGhpcy5za2VsZXRvbiA9IGZhbHNlO1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2Vycm9yJyksIGUpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IGRpc3BsYXlUZXh0ID0gdGhpcy5zcmMgPT0gbnVsbCB8fCB0aGlzLl9lcnJvcjtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyICR7Y2xhc3NNYXAoeyBza2VsZXRvbjogdGhpcy5za2VsZXRvbiwgbG9hZGVkOiB0aGlzLl9sb2FkZWQsIHRleHQ6IGRpc3BsYXlUZXh0IH0pfVwiPlxuICAgICAgICA8aW1nIHNyYz0ke2lmRGVmaW5lZCh0aGlzLnNyYyl9IEBsb2FkPSR7dGhpcy5fb25Mb2FkfSBAZXJyb3I9JHt0aGlzLl9vbkVycm9yfSBhbHQ9XCJcIiAvPlxuICAgICAgICAke2Rpc3BsYXlUZXh0ID8gaHRtbGAgPGRpdiBjbGFzcz1cImVycm9yLW1zZ1wiPiR7dGhpcy5hbHR9PC9kaXY+IGAgOiAnJ31cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxud2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZ3YtaW1hZ2UnLCBHdkltYWdlKTtcbiJdfQ==
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.GvImage=void 0;const e=require("lit"),t=require("../lib/events"),r=require("lit/directives/class-map"),s=require("lit/directives/if-defined"),i=require("../styles/skeleton");class o extends e.LitElement{static get properties(){return{src:{type:String},skeleton:{type:Boolean,reflect:!0},alt:{type:String},_loaded:{type:Boolean,reflect:!0},_error:{type:Boolean}}}static get styles(){return[e.css`:host{display:inline-block;overflow:hidden}.wrapper,img{height:100%;width:100%;transition:opacity .3s ease-in-out}.wrapper{align-items:center;display:flex;justify-content:center;position:relative}.wrapper.text:not('.skeleton'){background-color:var(--gv-theme-neutral-color)}img{display:block;object-fit:var(--gv-image--of,cover);object-position:center center;opacity:0;position:absolute;top:0;transition:opacity 150ms ease-in-out;left:0}.wrapper.loaded img{opacity:1}.error-msg{font-size:.9rem;overflow:hidden;padding:.25rem;text-align:center;text-overflow:ellipsis;white-space:nowrap}`,i.skeleton]}constructor(){super(),this.skeleton=!1,this._error=!1,this._loaded=!1}set src(e){const t=this._src;this._src=e,this.requestUpdate("src",t),this._error=!1,this._loaded=!1}get src(){return this._src}_onLoad(e){this._loaded=!0,this.skeleton=!1,(0,t.dispatchCustomEvent)(this,"loaded",{src:this.src,alt:this.alt})}_onError(e){this._error=!0,this.skeleton=!1,this.dispatchEvent(new Event("error"),e)}render(){const t=null==this.src||this._error;return e.html`<div class="wrapper ${(0,r.classMap)({skeleton:this.skeleton,loaded:this._loaded,text:t})}"><img src="${(0,s.ifDefined)(this.src)}" @load="${this._onLoad}" @error="${this._onError}" alt=""> ${t?e.html`<div class="error-msg">${this.alt}</div>`:""}</div>`}}exports.GvImage=o,window.customElements.define("gv-image",o);
|
|
@@ -1,59 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { css, LitElement, html } from 'lit';
|
|
17
|
-
import '../atoms/gv-icon';
|
|
18
|
-
/**
|
|
19
|
-
* Input message component
|
|
20
|
-
*
|
|
21
|
-
* @attr {String} level - level of message ['info', 'error', 'warning']
|
|
22
|
-
*/
|
|
23
|
-
|
|
24
|
-
export class GvInputMessage extends LitElement {
|
|
25
|
-
static get properties() {
|
|
26
|
-
return {
|
|
27
|
-
level: {
|
|
28
|
-
type: String
|
|
29
|
-
},
|
|
30
|
-
_level: {
|
|
31
|
-
type: String,
|
|
32
|
-
attribute: false
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
constructor() {
|
|
38
|
-
super();
|
|
39
|
-
this._level = 'warning';
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
set level(level) {
|
|
43
|
-
if (['error', 'info', 'warning'].includes(level)) {
|
|
44
|
-
this._level = level;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
render() {
|
|
49
|
-
return html`<div class="box"><gv-icon class="${this._level}" shape="code:${this._level}"></gv-icon><slot></slot></div>`;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
static get styles() {
|
|
53
|
-
return [// language=CSS
|
|
54
|
-
css`:host{box-sizing:border-box;display:block;margin:.2rem}.box{display:flex;align-items:center;white-space:normal}gv-icon{margin:0 .2rem;--gv-icon--s:24px}gv-icon.warning{--gv-icon-opacity--c:var(--gv-theme-color-warning, #ff9800)}gv-icon.error{--gv-icon-opacity--c:var(--gv-theme-color-error, #f44336)}gv-icon.info{--gv-icon-opacity--c:var(--gv-theme-color-info, #2196f3)}`];
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
window.customElements.define('gv-input-message', GvInputMessage);
|
|
59
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LWlucHV0LW1lc3NhZ2UuanMiXSwibmFtZXMiOlsiY3NzIiwiTGl0RWxlbWVudCIsImh0bWwiLCJHdklucHV0TWVzc2FnZSIsInByb3BlcnRpZXMiLCJsZXZlbCIsInR5cGUiLCJTdHJpbmciLCJfbGV2ZWwiLCJhdHRyaWJ1dGUiLCJjb25zdHJ1Y3RvciIsImluY2x1ZGVzIiwicmVuZGVyIiwic3R5bGVzIiwid2luZG93IiwiY3VzdG9tRWxlbWVudHMiLCJkZWZpbmUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLEdBQVQsRUFBY0MsVUFBZCxFQUEwQkMsSUFBMUIsUUFBc0MsS0FBdEM7QUFDQSxPQUFPLGtCQUFQO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxPQUFPLE1BQU1DLGNBQU4sU0FBNkJGLFVBQTdCLENBQXdDO0FBQ3hCLGFBQVZHLFVBQVUsR0FBRztBQUN0QixXQUFPO0FBQ0xDLE1BQUFBLEtBQUssRUFBRTtBQUFFQyxRQUFBQSxJQUFJLEVBQUVDO0FBQVIsT0FERjtBQUVMQyxNQUFBQSxNQUFNLEVBQUU7QUFBRUYsUUFBQUEsSUFBSSxFQUFFQyxNQUFSO0FBQWdCRSxRQUFBQSxTQUFTLEVBQUU7QUFBM0I7QUFGSCxLQUFQO0FBSUQ7O0FBRURDLEVBQUFBLFdBQVcsR0FBRztBQUNaO0FBQ0EsU0FBS0YsTUFBTCxHQUFjLFNBQWQ7QUFDRDs7QUFFUSxNQUFMSCxLQUFLLENBQUNBLEtBQUQsRUFBUTtBQUNmLFFBQUksQ0FBQyxPQUFELEVBQVUsTUFBVixFQUFrQixTQUFsQixFQUE2Qk0sUUFBN0IsQ0FBc0NOLEtBQXRDLENBQUosRUFBa0Q7QUFDaEQsV0FBS0csTUFBTCxHQUFjSCxLQUFkO0FBQ0Q7QUFDRjs7QUFFRE8sRUFBQUEsTUFBTSxHQUFHO0FBQ1AsV0FBT1YsSUFBSSxvQ0FBb0MsS0FBS00sTUFBekMsaUJBQWdFLEtBQUtBLE1BQXJFLGlDQUFYO0FBQ0Q7O0FBRWdCLGFBQU5LLE1BQU0sR0FBRztBQUNsQixXQUFPLENBQ0w7QUFDQWIsSUFBQUEsR0FBRyxvWEFGRSxDQUFQO0FBaUNEOztBQXpENEM7QUE0RC9DYyxNQUFNLENBQUNDLGNBQVAsQ0FBc0JDLE1BQXRCLENBQTZCLGtCQUE3QixFQUFpRGIsY0FBakQiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgY3NzLCBMaXRFbGVtZW50LCBodG1sIH0gZnJvbSAnbGl0JztcbmltcG9ydCAnLi4vYXRvbXMvZ3YtaWNvbic7XG5cbi8qKlxuICogSW5wdXQgbWVzc2FnZSBjb21wb25lbnRcbiAqXG4gKiBAYXR0ciB7U3RyaW5nfSBsZXZlbCAtIGxldmVsIG9mIG1lc3NhZ2UgWydpbmZvJywgJ2Vycm9yJywgJ3dhcm5pbmcnXVxuICovXG5leHBvcnQgY2xhc3MgR3ZJbnB1dE1lc3NhZ2UgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgc3RhdGljIGdldCBwcm9wZXJ0aWVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBsZXZlbDogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIF9sZXZlbDogeyB0eXBlOiBTdHJpbmcsIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl9sZXZlbCA9ICd3YXJuaW5nJztcbiAgfVxuXG4gIHNldCBsZXZlbChsZXZlbCkge1xuICAgIGlmIChbJ2Vycm9yJywgJ2luZm8nLCAnd2FybmluZyddLmluY2x1ZGVzKGxldmVsKSkge1xuICAgICAgdGhpcy5fbGV2ZWwgPSBsZXZlbDtcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIGh0bWxgPGRpdiBjbGFzcz1cImJveFwiPjxndi1pY29uIGNsYXNzPVwiJHt0aGlzLl9sZXZlbH1cIiBzaGFwZT1cImNvZGU6JHt0aGlzLl9sZXZlbH1cIj48L2d2LWljb24+PHNsb3Q+PC9zbG90PjwvZGl2PmA7XG4gIH1cblxuICBzdGF0aWMgZ2V0IHN0eWxlcygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgLy8gbGFuZ3VhZ2U9Q1NTXG4gICAgICBjc3NgXG4gICAgICAgIDpob3N0IHtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMC4ycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJveCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIH1cblxuICAgICAgICBndi1pY29uIHtcbiAgICAgICAgICBtYXJnaW46IDAgMC4ycmVtO1xuICAgICAgICAgIC0tZ3YtaWNvbi0tczogMjRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGd2LWljb24ud2FybmluZyB7XG4gICAgICAgICAgLS1ndi1pY29uLW9wYWNpdHktLWM6IHZhcigtLWd2LXRoZW1lLWNvbG9yLXdhcm5pbmcsICNmZjk4MDApO1xuICAgICAgICB9XG5cbiAgICAgICAgZ3YtaWNvbi5lcnJvciB7XG4gICAgICAgICAgLS1ndi1pY29uLW9wYWNpdHktLWM6IHZhcigtLWd2LXRoZW1lLWNvbG9yLWVycm9yLCAjZjQ0MzM2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGd2LWljb24uaW5mbyB7XG4gICAgICAgICAgLS1ndi1pY29uLW9wYWNpdHktLWM6IHZhcigtLWd2LXRoZW1lLWNvbG9yLWluZm8sICMyMTk2ZjMpO1xuICAgICAgICB9XG4gICAgICBgLFxuICAgIF07XG4gIH1cbn1cblxud2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZ3YtaW5wdXQtbWVzc2FnZScsIEd2SW5wdXRNZXNzYWdlKTtcbiJdfQ==
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.GvInputMessage=void 0;const e=require("lit");require("../atoms/gv-icon");class t extends e.LitElement{static get properties(){return{level:{type:String},_level:{type:String,attribute:!1}}}constructor(){super(),this._level="warning"}set level(e){["error","info","warning"].includes(e)&&(this._level=e)}render(){return e.html`<div class="box"><gv-icon class="${this._level}" shape="code:${this._level}"></gv-icon><slot></slot></div>`}static get styles(){return[e.css`:host{box-sizing:border-box;display:block;margin:.2rem}.box{display:flex;align-items:center;white-space:normal}gv-icon{margin:0 .2rem;--gv-icon--s:24px}gv-icon.warning{--gv-icon-opacity--c:var(--gv-theme-color-warning, #ff9800)}gv-icon.error{--gv-icon-opacity--c:var(--gv-theme-color-error, #f44336)}gv-icon.info{--gv-icon-opacity--c:var(--gv-theme-color-info, #2196f3)}`]}}exports.GvInputMessage=t,window.customElements.define("gv-input-message",t);
|