@gravitee/ui-components 3.24.5-renovate-github-markdown-css-5-x-6cd8067 → 3.25.1
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/assets/css/github-markdown-css/github-markdown.css +545 -500
- package/assets/i18n/en.json +3 -0
- package/assets/i18n/fr.json +3 -0
- package/assets/icons/design.svg +1 -1
- package/package.json +2 -9
- package/src/atoms/gv-autocomplete.js +132 -156
- package/src/atoms/gv-button.js +73 -248
- package/src/atoms/gv-checkbox.js +45 -103
- package/src/atoms/gv-date-picker-calendar.js +312 -393
- package/src/atoms/gv-date-picker-cell.js +57 -81
- package/src/atoms/gv-date-picker.js +180 -319
- package/src/atoms/gv-file-upload.js +85 -195
- package/src/atoms/gv-icon.js +13 -34
- package/src/atoms/gv-image.js +31 -66
- package/src/atoms/gv-input-message.js +12 -37
- package/src/atoms/gv-input.js +117 -148
- package/src/atoms/gv-link.js +47 -125
- package/src/atoms/gv-message.js +18 -69
- package/src/atoms/gv-metric.js +19 -68
- package/src/atoms/gv-relative-time.js +67 -38
- package/src/atoms/gv-select-native.js +96 -215
- package/src/atoms/gv-select.js +110 -230
- package/src/atoms/gv-spinner.js +5 -26
- package/src/atoms/gv-state.js +25 -66
- package/src/atoms/gv-switch.js +40 -160
- package/src/atoms/gv-tag.js +26 -78
- package/src/atoms/gv-text.js +22 -83
- package/src/charts/gv-chart-bar.js +22 -18
- package/src/charts/gv-chart-gauge.js +28 -31
- package/src/charts/gv-chart-histogram.js +18 -10
- package/src/charts/gv-chart-line.js +70 -59
- package/src/charts/gv-chart-map.js +44 -42
- package/src/charts/gv-chart-pie.js +18 -14
- package/src/index.js +1 -0
- package/src/lib/cron-expression.js +40 -35
- package/src/lib/date.js +10 -1
- package/src/lib/events.js +3 -1
- package/src/lib/http-client-schema-form.js +13 -12
- package/src/lib/http.js +57 -56
- package/src/lib/i18n.js +30 -22
- package/src/lib/item.js +13 -12
- package/src/lib/properties.js +77 -42
- package/src/lib/schema-form.js +4 -5
- package/src/lib/studio.js +13 -60
- package/src/lib/style.js +8 -8
- package/src/lib/text-format.js +14 -7
- package/src/lib/theme.js +8 -5
- package/src/lib/utils.js +17 -18
- package/src/mixins/chart-element.js +31 -54
- package/src/mixins/input-element.js +60 -47
- package/src/mixins/item-resource.js +34 -32
- package/src/mixins/keyboard-element.js +6 -5
- package/src/mixins/update-after-browser.js +4 -1
- package/src/mixins/with-resize-observer.js +23 -13
- package/src/mixins/with-skeleton-attribute.js +54 -48
- package/src/molecules/gv-card-full.js +26 -147
- package/src/molecules/gv-card-list.js +13 -42
- package/src/molecules/gv-card.js +17 -91
- package/src/molecules/gv-category-list.js +6 -17
- package/src/molecules/gv-category.js +23 -103
- package/src/molecules/gv-code.js +81 -143
- package/src/molecules/gv-confirm.js +41 -71
- package/src/molecules/gv-cron-editor.js +143 -389
- package/src/molecules/gv-dropdown-menu.js +14 -46
- package/src/molecules/gv-expandable.js +31 -59
- package/src/molecules/gv-expression-language.js +176 -138
- package/src/molecules/gv-identity-picture.js +42 -65
- package/src/molecules/gv-list.js +42 -134
- package/src/molecules/gv-metrics.js +37 -49
- package/src/molecules/gv-modal.js +28 -95
- package/src/molecules/gv-nav.js +49 -75
- package/src/molecules/gv-option.js +57 -130
- package/src/molecules/gv-plans.js +86 -209
- package/src/molecules/gv-popover.js +57 -177
- package/src/molecules/gv-promote.js +28 -146
- package/src/molecules/gv-rating-list.js +69 -195
- package/src/molecules/gv-rating.js +52 -105
- package/src/molecules/gv-row-expandable.js +5 -11
- package/src/molecules/gv-row.js +21 -147
- package/src/molecules/gv-stats.js +23 -48
- package/src/molecules/gv-stepper.js +43 -187
- package/src/molecules/gv-table.js +199 -309
- package/src/molecules/gv-tree.js +33 -156
- package/src/organisms/gv-documentation.js +45 -128
- package/src/organisms/gv-header.js +37 -195
- package/src/organisms/gv-http-client.js +32 -168
- package/src/organisms/gv-menu.js +37 -158
- package/src/organisms/gv-newsletter-subscription.js +48 -189
- package/src/organisms/gv-pagination.js +49 -77
- package/src/organisms/gv-properties.js +271 -492
- package/src/organisms/gv-resizable-views.js +41 -259
- package/src/organisms/gv-resources.js +168 -275
- package/src/organisms/gv-schema-form-array.js +49 -159
- package/src/organisms/gv-schema-form-control-object.js +59 -73
- package/src/organisms/gv-schema-form-control.js +107 -134
- package/src/organisms/gv-schema-form.js +219 -280
- package/src/organisms/gv-tabs.js +66 -98
- package/src/organisms/gv-user-menu.js +36 -201
- package/src/organisms/gv-vertical-menu.js +20 -61
- package/src/policy-studio/gv-flow-step.js +106 -245
- package/src/policy-studio/gv-flow.js +125 -304
- package/src/policy-studio/gv-policy-studio-menu.js +157 -471
- package/src/policy-studio/gv-policy-studio.js +714 -760
- package/src/styles/empty.js +3 -20
- package/src/styles/input.js +3 -247
- package/src/styles/link.js +3 -16
- package/src/styles/shapes.js +1 -0
- package/src/styles/skeleton.js +3 -37
- package/src/styles/zoom.js +3 -24
- package/src/theme/gv-theme.js +21 -60
- package/CHANGELOG.md +0 -1260
- package/LICENSE.txt +0 -202
- package/README.md +0 -195
- package/src/.eslintrc.js +0 -19
- package/src/theme/definition.json +0 -1762
|
@@ -13,16 +13,13 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
|
|
17
16
|
import { css, LitElement, html } from 'lit';
|
|
18
17
|
import { repeat } from 'lit/directives/repeat';
|
|
19
18
|
import '../atoms/gv-icon';
|
|
20
19
|
import { skeleton } from '../styles/skeleton';
|
|
21
20
|
import { classMap } from 'lit/directives/class-map';
|
|
22
21
|
import { i18n } from '../lib/i18n';
|
|
23
|
-
|
|
24
22
|
const MAX_RATE = 5;
|
|
25
|
-
|
|
26
23
|
/**
|
|
27
24
|
* Rating component
|
|
28
25
|
*
|
|
@@ -38,86 +35,37 @@ const MAX_RATE = 5;
|
|
|
38
35
|
* @cssprop {Color} [--gv-rating--c=var(--gv-theme-color, #5a7684)] - Color
|
|
39
36
|
* @cssprop {Length} [--gv-rating--s=13px] - Size
|
|
40
37
|
*/
|
|
38
|
+
|
|
41
39
|
export class GvRating extends LitElement {
|
|
42
40
|
static get properties() {
|
|
43
41
|
return {
|
|
44
|
-
value: {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
42
|
+
value: {
|
|
43
|
+
type: Number,
|
|
44
|
+
reflect: true
|
|
45
|
+
},
|
|
46
|
+
count: {
|
|
47
|
+
type: String
|
|
48
|
+
},
|
|
49
|
+
skeleton: {
|
|
50
|
+
type: Boolean
|
|
51
|
+
},
|
|
52
|
+
readonly: {
|
|
53
|
+
type: Boolean
|
|
54
|
+
},
|
|
55
|
+
_candidate: {
|
|
56
|
+
type: Number,
|
|
57
|
+
attribute: false
|
|
58
|
+
},
|
|
59
|
+
withDescription: {
|
|
60
|
+
type: Boolean,
|
|
61
|
+
attribute: 'with-description'
|
|
62
|
+
}
|
|
50
63
|
};
|
|
51
64
|
}
|
|
52
65
|
|
|
53
66
|
static get styles() {
|
|
54
|
-
return [
|
|
55
|
-
|
|
56
|
-
css`
|
|
57
|
-
:host {
|
|
58
|
-
--gv-icon--c: var(--gv-rating--c, var(--gv-theme-color, #5a7684));
|
|
59
|
-
--size: var(--gv-rating--s, 13px);
|
|
60
|
-
--gv-icon--s: var(--size);
|
|
61
|
-
|
|
62
|
-
font-size: var(--gv-theme-font-size-m, 14px);
|
|
63
|
-
cursor: default;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
.content,
|
|
67
|
-
.rate {
|
|
68
|
-
justify-content: space-evenly;
|
|
69
|
-
display: inline-flex;
|
|
70
|
-
align-items: flex-end;
|
|
71
|
-
vertical-align: middle;
|
|
72
|
-
height: 100%;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
.info-title {
|
|
76
|
-
font-size: var(--gv-theme-font-size-m, 14px);
|
|
77
|
-
line-height: 16px;
|
|
78
|
-
align-self: center;
|
|
79
|
-
min-width: 35px;
|
|
80
|
-
text-align: center;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
.info-subtitle {
|
|
84
|
-
font-size: var(--gv-theme-font-size-xs, 10px);
|
|
85
|
-
line-height: 10px;
|
|
86
|
-
opacity: 0.5;
|
|
87
|
-
text-align: center;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
.icon {
|
|
91
|
-
display: inline-flex;
|
|
92
|
-
align-self: center;
|
|
93
|
-
margin-right: calc(var(--size) / 4);
|
|
94
|
-
align-items: center;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
.edit {
|
|
98
|
-
cursor: pointer;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
.edit gv-icon:hover {
|
|
102
|
-
transform: translateY(-0.5px);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
gv-input {
|
|
106
|
-
flex: 1;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
.icon {
|
|
110
|
-
min-height: 30px;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
.description {
|
|
114
|
-
min-width: 100px;
|
|
115
|
-
line-height: calc(var(--size) + 4px);
|
|
116
|
-
margin: auto 4px;
|
|
117
|
-
}
|
|
118
|
-
`,
|
|
119
|
-
skeleton,
|
|
120
|
-
];
|
|
67
|
+
return [// language=CSS
|
|
68
|
+
css`:host{--gv-icon--c:var(--gv-rating--c, var(--gv-theme-color, #5a7684));--size:var(--gv-rating--s, 13px);--gv-icon--s:var(--size);font-size:var(--gv-theme-font-size-m,14px);cursor:default}.content,.rate{justify-content:space-evenly;display:inline-flex;align-items:flex-end;vertical-align:middle;height:100%}.info-title{font-size:var(--gv-theme-font-size-m,14px);line-height:16px;align-self:center;min-width:35px;text-align:center}.info-subtitle{font-size:var(--gv-theme-font-size-xs,10px);line-height:10px;opacity:.5;text-align:center}.icon{display:inline-flex;align-self:center;margin-right:calc(var(--size)/ 4);align-items:center}.edit{cursor:pointer}.edit gv-icon:hover{transform:translateY(-.5px)}gv-input{flex:1}.icon{min-height:30px}.description{min-width:100px;line-height:calc(var(--size) + 4px);margin:auto 4px}`, skeleton];
|
|
121
69
|
}
|
|
122
70
|
|
|
123
71
|
constructor() {
|
|
@@ -135,20 +83,25 @@ export class GvRating extends LitElement {
|
|
|
135
83
|
|
|
136
84
|
_onMouseEnter(index) {
|
|
137
85
|
this._candidate = index + 1;
|
|
86
|
+
|
|
138
87
|
if (this.withDescription) {
|
|
139
88
|
switch (this._candidate) {
|
|
140
89
|
case 1:
|
|
141
90
|
this.description = i18n('gv-rating.description-1');
|
|
142
91
|
break;
|
|
92
|
+
|
|
143
93
|
case 2:
|
|
144
94
|
this.description = i18n('gv-rating.description-2');
|
|
145
95
|
break;
|
|
96
|
+
|
|
146
97
|
case 3:
|
|
147
98
|
this.description = i18n('gv-rating.description-3');
|
|
148
99
|
break;
|
|
100
|
+
|
|
149
101
|
case 4:
|
|
150
102
|
this.description = i18n('gv-rating.description-4');
|
|
151
103
|
break;
|
|
104
|
+
|
|
152
105
|
case 5:
|
|
153
106
|
this.description = i18n('gv-rating.description-5');
|
|
154
107
|
break;
|
|
@@ -158,6 +111,7 @@ export class GvRating extends LitElement {
|
|
|
158
111
|
|
|
159
112
|
_onMouseOut() {
|
|
160
113
|
this._candidate = -1;
|
|
114
|
+
|
|
161
115
|
if (this.withDescription && !this.isSelected) {
|
|
162
116
|
this.description = null;
|
|
163
117
|
}
|
|
@@ -167,14 +121,19 @@ export class GvRating extends LitElement {
|
|
|
167
121
|
this._candidate = -1;
|
|
168
122
|
this.isSelected = true;
|
|
169
123
|
this.value = index + 1;
|
|
170
|
-
this.dispatchEvent(new Event('input'), {
|
|
124
|
+
this.dispatchEvent(new Event('input'), {
|
|
125
|
+
bubbles: true,
|
|
126
|
+
cancelable: true
|
|
127
|
+
});
|
|
171
128
|
}
|
|
172
129
|
|
|
173
130
|
_getAverage() {
|
|
174
131
|
const _value = parseFloat(this.value);
|
|
132
|
+
|
|
175
133
|
if (_value >= 0 && _value <= MAX_RATE) {
|
|
176
134
|
return _value;
|
|
177
135
|
}
|
|
136
|
+
|
|
178
137
|
return 0;
|
|
179
138
|
}
|
|
180
139
|
|
|
@@ -182,16 +141,13 @@ export class GvRating extends LitElement {
|
|
|
182
141
|
if (this.readonly) {
|
|
183
142
|
return html`<gv-icon shape="general:${star}"></gv-icon>`;
|
|
184
143
|
} else {
|
|
185
|
-
return html`<gv-icon
|
|
186
|
-
@mouseenter=${this._onMouseEnter.bind(this, index)}
|
|
187
|
-
@click=${this._onClick.bind(this, index)}
|
|
188
|
-
shape="general:${star}"
|
|
189
|
-
></gv-icon>`;
|
|
144
|
+
return html`<gv-icon @mouseenter="${this._onMouseEnter.bind(this, index)}" @click="${this._onClick.bind(this, index)}" shape="general:${star}"></gv-icon>`;
|
|
190
145
|
}
|
|
191
146
|
}
|
|
192
147
|
|
|
193
148
|
render() {
|
|
194
149
|
const average = this._getAverage();
|
|
150
|
+
|
|
195
151
|
let trunc = average * 1;
|
|
196
152
|
|
|
197
153
|
if (!this.readonly) {
|
|
@@ -199,6 +155,7 @@ export class GvRating extends LitElement {
|
|
|
199
155
|
}
|
|
200
156
|
|
|
201
157
|
const stars = [];
|
|
158
|
+
|
|
202
159
|
for (let star = 1; star <= MAX_RATE; star += 1) {
|
|
203
160
|
if (trunc >= star) {
|
|
204
161
|
stars.push('star');
|
|
@@ -209,28 +166,15 @@ export class GvRating extends LitElement {
|
|
|
209
166
|
}
|
|
210
167
|
}
|
|
211
168
|
|
|
212
|
-
return html`
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
(star, index) => html` ${this._renderStar(star, index)} `,
|
|
222
|
-
)}
|
|
223
|
-
</div>
|
|
224
|
-
${this.count
|
|
225
|
-
? html`<div>
|
|
226
|
-
<div class="info-title">${this.count || ''}</div>
|
|
227
|
-
<div class="info-subtitle">${this._getCountTitle()}</div>
|
|
228
|
-
</div>`
|
|
229
|
-
: ''}
|
|
230
|
-
</div>
|
|
231
|
-
</div>
|
|
232
|
-
</div>
|
|
233
|
-
`;
|
|
169
|
+
return html` <div class="${classMap({
|
|
170
|
+
skeleton: this.skeleton,
|
|
171
|
+
edit: !this.readonly,
|
|
172
|
+
content: true
|
|
173
|
+
})}"> <div class="${classMap({
|
|
174
|
+
content: true
|
|
175
|
+
})}"> <div class="${classMap({
|
|
176
|
+
rate: true
|
|
177
|
+
})}"> <div class="icon" title="${this._getTitle()}"> ${this.withDescription ? html`<div class="description">${this.description}</div>` : ''} ${repeat(stars, star => star, (star, index) => html` ${this._renderStar(star, index)} `)} </div> ${this.count ? html`<div> <div class="info-title">${this.count || ''}</div> <div class="info-subtitle">${this._getCountTitle()}</div> </div>` : ''} </div> </div> </div> `;
|
|
234
178
|
}
|
|
235
179
|
|
|
236
180
|
firstUpdated() {
|
|
@@ -244,10 +188,13 @@ export class GvRating extends LitElement {
|
|
|
244
188
|
if (this.count > 1) {
|
|
245
189
|
return i18n('gv-rating.notes');
|
|
246
190
|
}
|
|
191
|
+
|
|
247
192
|
return i18n('gv-rating.note');
|
|
248
193
|
}
|
|
194
|
+
|
|
249
195
|
return '';
|
|
250
196
|
}
|
|
251
|
-
}
|
|
252
197
|
|
|
198
|
+
}
|
|
253
199
|
window.customElements.define('gv-rating', GvRating);
|
|
200
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21vbGVjdWxlcy9ndi1yYXRpbmcuanMiXSwibmFtZXMiOlsiY3NzIiwiTGl0RWxlbWVudCIsImh0bWwiLCJyZXBlYXQiLCJza2VsZXRvbiIsImNsYXNzTWFwIiwiaTE4biIsIk1BWF9SQVRFIiwiR3ZSYXRpbmciLCJwcm9wZXJ0aWVzIiwidmFsdWUiLCJ0eXBlIiwiTnVtYmVyIiwicmVmbGVjdCIsImNvdW50IiwiU3RyaW5nIiwiQm9vbGVhbiIsInJlYWRvbmx5IiwiX2NhbmRpZGF0ZSIsImF0dHJpYnV0ZSIsIndpdGhEZXNjcmlwdGlvbiIsInN0eWxlcyIsImNvbnN0cnVjdG9yIiwiaXNTZWxlY3RlZCIsIl9nZXRUaXRsZSIsIl9nZXRBdmVyYWdlIiwiX29uTW91c2VFbnRlciIsImluZGV4IiwiZGVzY3JpcHRpb24iLCJfb25Nb3VzZU91dCIsIl9vbkNsaWNrIiwiZGlzcGF0Y2hFdmVudCIsIkV2ZW50IiwiYnViYmxlcyIsImNhbmNlbGFibGUiLCJfdmFsdWUiLCJwYXJzZUZsb2F0IiwiX3JlbmRlclN0YXIiLCJzdGFyIiwiYmluZCIsInJlbmRlciIsImF2ZXJhZ2UiLCJ0cnVuYyIsInN0YXJzIiwicHVzaCIsImVkaXQiLCJjb250ZW50IiwicmF0ZSIsIl9nZXRDb3VudFRpdGxlIiwiZmlyc3RVcGRhdGVkIiwic2hhZG93Um9vdCIsInF1ZXJ5U2VsZWN0b3IiLCJhZGRFdmVudExpc3RlbmVyIiwid2luZG93IiwiY3VzdG9tRWxlbWVudHMiLCJkZWZpbmUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBLFNBQVNBLEdBQVQsRUFBY0MsVUFBZCxFQUEwQkMsSUFBMUIsUUFBc0MsS0FBdEM7QUFDQSxTQUFTQyxNQUFULFFBQXVCLHVCQUF2QjtBQUNBLE9BQU8sa0JBQVA7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QVYsRUFBb0I7QUFDbEIsV0FBS2lDLFVBQUwsQ0FBZ0JDLGFBQWhCLENBQThCLE9BQTlCLEVBQXVDQyxnQkFBdkMsQ0FBd0QsVUFBeEQsRUFBb0UsS0FBS3ZCLFdBQUwsQ0FBaUJVLElBQWpCLENBQXNCLElBQXRCLENBQXBFO0FBQ0Q7QUFDRjs7QUFFRFMsRUFBQUEsY0FBYyxHQUFHO0FBQ2YsUUFBSSxLQUFLbEMsS0FBVCxFQUFnQjtBQUNkLFVBQUksS0FBS0EsS0FBTCxHQUFhLENBQWpCLEVBQW9CO0FBQ2xCLGVBQU9SLElBQUksQ0FBQyxpQkFBRCxDQUFYO0FBQ0Q7O0FBQ0QsYUFBT0EsSUFBSSxDQUFDLGdCQUFELENBQVg7QUFDRDs7QUFDRCxXQUFPLEVBQVA7QUFDRDs7QUFqTnNDO0FBb056QytDLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkMsTUFBdEIsQ0FBNkIsV0FBN0IsRUFBMEMvQyxRQUExQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IGNzcywgTGl0RWxlbWVudCwgaHRtbCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyByZXBlYXQgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZXBlYXQnO1xuaW1wb3J0ICcuLi9hdG9tcy9ndi1pY29uJztcbmltcG9ydCB7IHNrZWxldG9uIH0gZnJvbSAnLi4vc3R5bGVzL3NrZWxldG9uJztcbmltcG9ydCB7IGNsYXNzTWFwIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvY2xhc3MtbWFwJztcbmltcG9ydCB7IGkxOG4gfSBmcm9tICcuLi9saWIvaTE4bic7XG5cbmNvbnN0IE1BWF9SQVRFID0gNTtcblxuLyoqXG4gKiBSYXRpbmcgY29tcG9uZW50XG4gKlxuICogIyMgRGV0YWlsc1xuICogKiBoYXMgQHRoZW1lIGZhY2V0XG4gKlxuICogQGF0dHIge0xlbmd0aH0gdmFsdWUgLSBhdmVyYWdlIG9mIHJhdGluZ3MgYmV0d2VlbiAxIGFuZCA1XG4gKiBAYXR0ciB7U3RyaW5nfSBjb3VudCAtIHRvdGFsIGNvdW50IGZvciB0aGUgYXZlcmFnZVxuICogQGF0dHIge0Jvb2xlYW59IHNrZWxldG9uIC0gc2tlbGV0b24gbW9kZVxuICogQGF0dHIge0Jvb2xlYW59IHJlYWRvbmx5IC0gcmVhZG9ubHkgbW9kZVxuICogQGF0dHIge0Jvb2xlYW59IHdpdGgtZGVzY3JpcHRpb24gLSBpZiB0cnVlLCBzaG93IHJhdGUgZGVzY3JpcHRpb24gb24gaG92ZXJcbiAqXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LXJhdGluZy0tYz12YXIoLS1ndi10aGVtZS1jb2xvciwgIzVhNzY4NCldIC0gQ29sb3JcbiAqIEBjc3Nwcm9wIHtMZW5ndGh9IFstLWd2LXJhdGluZy0tcz0xM3B4XSAtIFNpemVcbiAqL1xuZXhwb3J0IGNsYXNzIEd2UmF0aW5nIGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHN0YXRpYyBnZXQgcHJvcGVydGllcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdmFsdWU6IHsgdHlwZTogTnVtYmVyLCByZWZsZWN0OiB0cnVlIH0sXG4gICAgICBjb3VudDogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIHNrZWxldG9uOiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICAgIHJlYWRvbmx5OiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICAgIF9jYW5kaWRhdGU6IHsgdHlwZTogTnVtYmVyLCBhdHRyaWJ1dGU6IGZhbHNlIH0sXG4gICAgICB3aXRoRGVzY3JpcHRpb246IHsgdHlwZTogQm9vbGVhbiwgYXR0cmlidXRlOiAnd2l0aC1kZXNjcmlwdGlvbicgfSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGdldCBzdHlsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC8vIGxhbmd1YWdlPUNTU1xuICAgICAgY3NzYFxuICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgLS1ndi1pY29uLS1jOiB2YXIoLS1ndi1yYXRpbmctLWMsIHZhcigtLWd2LXRoZW1lLWNvbG9yLCAjNWE3Njg0KSk7XG4gICAgICAgICAgLS1zaXplOiB2YXIoLS1ndi1yYXRpbmctLXMsIDEzcHgpO1xuICAgICAgICAgIC0tZ3YtaWNvbi0tczogdmFyKC0tc2l6ZSk7XG5cbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS1tLCAxNHB4KTtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudCxcbiAgICAgICAgLnJhdGUge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbmZvLXRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS1tLCAxNHB4KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgbWluLXdpZHRoOiAzNXB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbmZvLXN1YnRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS14cywgMTBweCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXNpemUpIC8gNCk7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lZGl0IHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuZWRpdCBndi1pY29uOmhvdmVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuNXB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGd2LWlucHV0IHtcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IGNhbGModmFyKC0tc2l6ZSkgKyA0cHgpO1xuICAgICAgICAgIG1hcmdpbjogYXV0byA0cHg7XG4gICAgICAgIH1cbiAgICAgIGAsXG4gICAgICBza2VsZXRvbixcbiAgICBdO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnZhbHVlID0gMDtcbiAgICB0aGlzLmNvdW50ID0gMDtcbiAgICB0aGlzLnJlYWRvbmx5ID0gZmFsc2U7XG4gICAgdGhpcy5fY2FuZGlkYXRlID0gLTE7XG4gICAgdGhpcy5pc1NlbGVjdGVkID0gZmFsc2U7XG4gIH1cblxuICBfZ2V0VGl0bGUoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuX2dldEF2ZXJhZ2UoKX0vJHtNQVhfUkFURX1gO1xuICB9XG5cbiAgX29uTW91c2VFbnRlcihpbmRleCkge1xuICAgIHRoaXMuX2NhbmRpZGF0ZSA9IGluZGV4ICsgMTtcbiAgICBpZiAodGhpcy53aXRoRGVzY3JpcHRpb24pIHtcbiAgICAgIHN3aXRjaCAodGhpcy5fY2FuZGlkYXRlKSB7XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgICB0aGlzLmRlc2NyaXB0aW9uID0gaTE4bignZ3YtcmF0aW5nLmRlc2NyaXB0aW9uLTEnKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAyOlxuICAgICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSBpMThuKCdndi1yYXRpbmcuZGVzY3JpcHRpb24tMicpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgdGhpcy5kZXNjcmlwdGlvbiA9IGkxOG4oJ2d2LXJhdGluZy5kZXNjcmlwdGlvbi0zJyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgNDpcbiAgICAgICAgICB0aGlzLmRlc2NyaXB0aW9uID0gaTE4bignZ3YtcmF0aW5nLmRlc2NyaXB0aW9uLTQnKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSA1OlxuICAgICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSBpMThuKCdndi1yYXRpbmcuZGVzY3JpcHRpb24tNScpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIF9vbk1vdXNlT3V0KCkge1xuICAgIHRoaXMuX2NhbmRpZGF0ZSA9IC0xO1xuICAgIGlmICh0aGlzLndpdGhEZXNjcmlwdGlvbiAmJiAhdGhpcy5pc1NlbGVjdGVkKSB7XG4gICAgICB0aGlzLmRlc2NyaXB0aW9uID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBfb25DbGljayhpbmRleCkge1xuICAgIHRoaXMuX2NhbmRpZGF0ZSA9IC0xO1xuICAgIHRoaXMuaXNTZWxlY3RlZCA9IHRydWU7XG4gICAgdGhpcy52YWx1ZSA9IGluZGV4ICsgMTtcbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdpbnB1dCcpLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSk7XG4gIH1cblxuICBfZ2V0QXZlcmFnZSgpIHtcbiAgICBjb25zdCBfdmFsdWUgPSBwYXJzZUZsb2F0KHRoaXMudmFsdWUpO1xuICAgIGlmIChfdmFsdWUgPj0gMCAmJiBfdmFsdWUgPD0gTUFYX1JBVEUpIHtcbiAgICAgIHJldHVybiBfdmFsdWU7XG4gICAgfVxuICAgIHJldHVybiAwO1xuICB9XG5cbiAgX3JlbmRlclN0YXIoc3RhciwgaW5kZXgpIHtcbiAgICBpZiAodGhpcy5yZWFkb25seSkge1xuICAgICAgcmV0dXJuIGh0bWxgPGd2LWljb24gc2hhcGU9XCJnZW5lcmFsOiR7c3Rhcn1cIj48L2d2LWljb24+YDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGh0bWxgPGd2LWljb25cbiAgICAgICAgQG1vdXNlZW50ZXI9JHt0aGlzLl9vbk1vdXNlRW50ZXIuYmluZCh0aGlzLCBpbmRleCl9XG4gICAgICAgIEBjbGljaz0ke3RoaXMuX29uQ2xpY2suYmluZCh0aGlzLCBpbmRleCl9XG4gICAgICAgIHNoYXBlPVwiZ2VuZXJhbDoke3N0YXJ9XCJcbiAgICAgID48L2d2LWljb24+YDtcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgYXZlcmFnZSA9IHRoaXMuX2dldEF2ZXJhZ2UoKTtcbiAgICBsZXQgdHJ1bmMgPSBhdmVyYWdlICogMTtcblxuICAgIGlmICghdGhpcy5yZWFkb25seSkge1xuICAgICAgdHJ1bmMgPSB0aGlzLl9jYW5kaWRhdGUgPiAtMSA/IHRoaXMuX2NhbmRpZGF0ZSA6IGF2ZXJhZ2U7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhcnMgPSBbXTtcbiAgICBmb3IgKGxldCBzdGFyID0gMTsgc3RhciA8PSBNQVhfUkFURTsgc3RhciArPSAxKSB7XG4gICAgICBpZiAodHJ1bmMgPj0gc3Rhcikge1xuICAgICAgICBzdGFycy5wdXNoKCdzdGFyJyk7XG4gICAgICB9IGVsc2UgaWYgKHRydW5jID49IHN0YXIgLSAwLjcpIHtcbiAgICAgICAgc3RhcnMucHVzaCgnaGFsZi1zdGFyJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGFycy5wdXNoKCduby1zdGFyJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwiJHtjbGFzc01hcCh7IHNrZWxldG9uOiB0aGlzLnNrZWxldG9uLCBlZGl0OiAhdGhpcy5yZWFkb25seSwgY29udGVudDogdHJ1ZSB9KX1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIiR7Y2xhc3NNYXAoeyBjb250ZW50OiB0cnVlIH0pfVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCIke2NsYXNzTWFwKHsgcmF0ZTogdHJ1ZSB9KX1cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uXCIgdGl0bGU9XCIke3RoaXMuX2dldFRpdGxlKCl9XCI+XG4gICAgICAgICAgICAgICR7dGhpcy53aXRoRGVzY3JpcHRpb24gPyBodG1sYDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvblwiPiR7dGhpcy5kZXNjcmlwdGlvbn08L2Rpdj5gIDogJyd9XG4gICAgICAgICAgICAgICR7cmVwZWF0KFxuICAgICAgICAgICAgICAgIHN0YXJzLFxuICAgICAgICAgICAgICAgIChzdGFyKSA9PiBzdGFyLFxuICAgICAgICAgICAgICAgIChzdGFyLCBpbmRleCkgPT4gaHRtbGAgJHt0aGlzLl9yZW5kZXJTdGFyKHN0YXIsIGluZGV4KX0gYCxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgJHt0aGlzLmNvdW50XG4gICAgICAgICAgICAgID8gaHRtbGA8ZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tdGl0bGVcIj4ke3RoaXMuY291bnQgfHwgJyd9PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby1zdWJ0aXRsZVwiPiR7dGhpcy5fZ2V0Q291bnRUaXRsZSgpfTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PmBcbiAgICAgICAgICAgICAgOiAnJ31cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG5cbiAgZmlyc3RVcGRhdGVkKCkge1xuICAgIGlmICghdGhpcy5yZWFkb25seSkge1xuICAgICAgdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy5lZGl0JykuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VvdXQnLCB0aGlzLl9vbk1vdXNlT3V0LmJpbmQodGhpcykpO1xuICAgIH1cbiAgfVxuXG4gIF9nZXRDb3VudFRpdGxlKCkge1xuICAgIGlmICh0aGlzLmNvdW50KSB7XG4gICAgICBpZiAodGhpcy5jb3VudCA+IDEpIHtcbiAgICAgICAgcmV0dXJuIGkxOG4oJ2d2LXJhdGluZy5ub3RlcycpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGkxOG4oJ2d2LXJhdGluZy5ub3RlJyk7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxufVxuXG53aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdndi1yYXRpbmcnLCBHdlJhdGluZyk7XG4iXX0=
|
|
@@ -15,12 +15,12 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { css } from 'lit';
|
|
17
17
|
import { GvExpandable } from './gv-expandable';
|
|
18
|
-
|
|
19
18
|
/**
|
|
20
19
|
* Expandable row
|
|
21
20
|
* @extends GvExpandable
|
|
22
21
|
*
|
|
23
22
|
*/
|
|
23
|
+
|
|
24
24
|
export class GvRowExpandable extends GvExpandable {
|
|
25
25
|
constructor() {
|
|
26
26
|
super();
|
|
@@ -30,16 +30,10 @@ export class GvRowExpandable extends GvExpandable {
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
static get styles() {
|
|
33
|
-
return [
|
|
34
|
-
|
|
35
|
-
// language=CSS
|
|
36
|
-
css`
|
|
37
|
-
.box:hover {
|
|
38
|
-
background-color: var(--gv-theme-neutral-color, #f5f5f5);
|
|
39
|
-
}
|
|
40
|
-
`,
|
|
41
|
-
];
|
|
33
|
+
return [...super.styles, // language=CSS
|
|
34
|
+
css`.box:hover{background-color:var(--gv-theme-neutral-color,#f5f5f5)}`];
|
|
42
35
|
}
|
|
43
|
-
}
|
|
44
36
|
|
|
37
|
+
}
|
|
45
38
|
window.customElements.define('gv-row-expandable', GvRowExpandable);
|
|
39
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21vbGVjdWxlcy9ndi1yb3ctZXhwYW5kYWJsZS5qcyJdLCJuYW1lcyI6WyJjc3MiLCJHdkV4cGFuZGFibGUiLCJHdlJvd0V4cGFuZGFibGUiLCJjb25zdHJ1Y3RvciIsImljb24iLCJpY29uT3BlbmVkIiwiY2xpY2thYmxlIiwic3R5bGVzIiwid2luZG93IiwiY3VzdG9tRWxlbWVudHMiLCJkZWZpbmUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLEdBQVQsUUFBb0IsS0FBcEI7QUFDQSxTQUFTQyxZQUFULFFBQTZCLGlCQUE3QjtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsT0FBTyxNQUFNQyxlQUFOLFNBQThCRCxZQUE5QixDQUEyQztBQUNoREUsRUFBQUEsV0FBVyxHQUFHO0FBQ1o7QUFDQSxTQUFLQyxJQUFMLEdBQVksaUJBQVo7QUFDQSxTQUFLQyxVQUFMLEdBQWtCLGlCQUFsQjtBQUNBLFNBQUtDLFNBQUwsR0FBaUIsSUFBakI7QUFDRDs7QUFFZ0IsYUFBTkMsTUFBTSxHQUFHO0FBQ2xCLFdBQU8sQ0FDTCxHQUFHLE1BQU1BLE1BREosRUFFTDtBQUNBUCxJQUFBQSxHQUFHLG9FQUhFLENBQVA7QUFTRDs7QUFsQitDO0FBcUJsRFEsTUFBTSxDQUFDQyxjQUFQLENBQXNCQyxNQUF0QixDQUE2QixtQkFBN0IsRUFBa0RSLGVBQWxEIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IGNzcyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBHdkV4cGFuZGFibGUgfSBmcm9tICcuL2d2LWV4cGFuZGFibGUnO1xuXG4vKipcbiAqIEV4cGFuZGFibGUgcm93XG4gKiAgQGV4dGVuZHMgR3ZFeHBhbmRhYmxlXG4gKlxuICovXG5leHBvcnQgY2xhc3MgR3ZSb3dFeHBhbmRhYmxlIGV4dGVuZHMgR3ZFeHBhbmRhYmxlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmljb24gPSAnZ2VuZXJhbDpvdGhlciMyJztcbiAgICB0aGlzLmljb25PcGVuZWQgPSAnZ2VuZXJhbDpvdGhlciMyJztcbiAgICB0aGlzLmNsaWNrYWJsZSA9IHRydWU7XG4gIH1cblxuICBzdGF0aWMgZ2V0IHN0eWxlcygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgLi4uc3VwZXIuc3R5bGVzLFxuICAgICAgLy8gbGFuZ3VhZ2U9Q1NTXG4gICAgICBjc3NgXG4gICAgICAgIC5ib3g6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3IsICNmNWY1ZjUpO1xuICAgICAgICB9XG4gICAgICBgLFxuICAgIF07XG4gIH1cbn1cblxud2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZ3Ytcm93LWV4cGFuZGFibGUnLCBHdlJvd0V4cGFuZGFibGUpO1xuIl19
|
package/src/molecules/gv-row.js
CHANGED
|
@@ -21,7 +21,6 @@ import { i18n } from '../lib/i18n';
|
|
|
21
21
|
import { ItemResource } from '../mixins/item-resource';
|
|
22
22
|
import { withResizeObserver } from '../mixins/with-resize-observer';
|
|
23
23
|
import { getOwner, getTitle, getDescription, getVersion } from '../lib/item';
|
|
24
|
-
|
|
25
24
|
/**
|
|
26
25
|
* Row component
|
|
27
26
|
*
|
|
@@ -37,140 +36,27 @@ import { getOwner, getTitle, getDescription, getVersion } from '../lib/item';
|
|
|
37
36
|
* @cssprop {Length} [--gv-row-image--w=35px] - Image width
|
|
38
37
|
*
|
|
39
38
|
*/
|
|
39
|
+
|
|
40
40
|
export class GvRow extends withResizeObserver(ItemResource(LitElement)) {
|
|
41
41
|
static get styles() {
|
|
42
|
-
return [
|
|
43
|
-
|
|
44
|
-
// language=CSS
|
|
45
|
-
css`
|
|
46
|
-
:host {
|
|
47
|
-
box-sizing: border-box;
|
|
48
|
-
cursor: pointer;
|
|
49
|
-
--hover-bgc: var(--gv-row-hover--bgc, var(--gv-theme-neutral-color-lighter, #fafafa));
|
|
50
|
-
--trf-ty: var(--gv-row-hover--trf-ty, 0px);
|
|
51
|
-
display: block;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
:host([_invisible]) {
|
|
55
|
-
display: none;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
.row {
|
|
59
|
-
padding: 12px;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
.row:hover {
|
|
63
|
-
-webkit-transform: -webkit-translateY(var(--trf-ty));
|
|
64
|
-
transform: translateY(var(--trf-ty));
|
|
65
|
-
background-color: var(--hover-bgc);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
.row:not(.error) {
|
|
69
|
-
display: grid;
|
|
70
|
-
grid-template-columns: calc(var(--gv-row-image--w, 35px) + 5px) auto fit-content(20%);
|
|
71
|
-
grid-gap: 10px;
|
|
72
|
-
align-items: center;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
:host([w-lt-450]) .meta {
|
|
76
|
-
display: none;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
.row .name {
|
|
80
|
-
margin-right: 15px;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
.row .name,
|
|
84
|
-
.row .meta__owner {
|
|
85
|
-
margin-bottom: 5px;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
.row .version {
|
|
89
|
-
color: var(--gv-theme-neutral-color-dark, #d9d9d9);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
.row .description {
|
|
93
|
-
--lh: 1.4rem;
|
|
94
|
-
--max-lines: 2;
|
|
95
|
-
max-height: calc(var(--lh) * var(--max-lines));
|
|
96
|
-
line-height: var(--lh);
|
|
97
|
-
overflow: hidden;
|
|
98
|
-
text-overflow: ellipsis;
|
|
99
|
-
text-after-overflow: '...';
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
.row .meta {
|
|
103
|
-
display: flex;
|
|
104
|
-
flex-direction: column;
|
|
105
|
-
align-items: flex-end;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
.row .meta__owner {
|
|
109
|
-
--gv-icon--c: var(--gv-theme-neutral-color-dark, #d9d9d9);
|
|
110
|
-
--gv-icon--s: 16px;
|
|
111
|
-
color: var(--gv-theme-neutral-color-dark, #d9d9d9);
|
|
112
|
-
display: flex;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
.row .meta__tags {
|
|
116
|
-
display: flex;
|
|
117
|
-
flex-direction: row;
|
|
118
|
-
flex-wrap: wrap;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
.skeleton {
|
|
122
|
-
transition: 0.5s;
|
|
123
|
-
min-height: 30px;
|
|
124
|
-
align-self: start;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
.error {
|
|
128
|
-
cursor: default;
|
|
129
|
-
text-align: center;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
gv-identity-picture {
|
|
133
|
-
height: var(--gv-row-image--h, 35px);
|
|
134
|
-
width: var(--gv-row-image--w, 35px);
|
|
135
|
-
border-radius: 20px;
|
|
136
|
-
--gv-image--of: contain;
|
|
137
|
-
align-self: baseline;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
h3 {
|
|
141
|
-
margin: 0;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
.row > .group {
|
|
145
|
-
display: flex;
|
|
146
|
-
flex-direction: column;
|
|
147
|
-
margin: 0 5px;
|
|
148
|
-
width: 100%;
|
|
149
|
-
flex: 1;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
.title {
|
|
153
|
-
display: flex;
|
|
154
|
-
flex-direction: row;
|
|
155
|
-
}
|
|
156
|
-
`,
|
|
157
|
-
link,
|
|
158
|
-
skeleton,
|
|
159
|
-
];
|
|
42
|
+
return [...super.styles, // language=CSS
|
|
43
|
+
css`:host{box-sizing:border-box;cursor:pointer;--hover-bgc:var(--gv-row-hover--bgc, var(--gv-theme-neutral-color-lighter, #fafafa));--trf-ty:var(--gv-row-hover--trf-ty, 0px);display:block}:host([_invisible]){display:none}.row{padding:12px}.row:hover{-webkit-transform:-webkit-translateY(var(--trf-ty));transform:translateY(var(--trf-ty));background-color:var(--hover-bgc)}.row:not(.error){display:grid;grid-template-columns:calc(var(--gv-row-image--w,35px) + 5px) auto fit-content(20%);grid-gap:10px;align-items:center}:host([w-lt-450]) .meta{display:none}.row .name{margin-right:15px}.row .meta__owner,.row .name{margin-bottom:5px}.row .version{color:var(--gv-theme-neutral-color-dark,#d9d9d9)}.row .description{--lh:1.4rem;--max-lines:2;max-height:calc(var(--lh) * var(--max-lines));line-height:var(--lh);overflow:hidden;text-overflow:ellipsis;text-after-overflow:'...'}.row .meta{display:flex;flex-direction:column;align-items:flex-end}.row .meta__owner{--gv-icon--c:var(--gv-theme-neutral-color-dark, #d9d9d9);--gv-icon--s:16px;color:var(--gv-theme-neutral-color-dark,#d9d9d9);display:flex}.row .meta__tags{display:flex;flex-direction:row;flex-wrap:wrap}.skeleton{transition:.5s;min-height:30px;align-self:start}.error{cursor:default;text-align:center}gv-identity-picture{height:var(--gv-row-image--h,35px);width:var(--gv-row-image--w,35px);border-radius:20px;--gv-image--of:contain;align-self:baseline}h3{margin:0}.row>.group{display:flex;flex-direction:column;margin:0 5px;width:100%;flex:1}.title{display:flex;flex-direction:row}`, link, skeleton];
|
|
160
44
|
}
|
|
161
45
|
|
|
162
46
|
static get properties() {
|
|
163
|
-
return {
|
|
164
|
-
|
|
47
|
+
return { ...super.properties,
|
|
48
|
+
|
|
165
49
|
/** @required */
|
|
166
|
-
small: {
|
|
50
|
+
small: {
|
|
51
|
+
type: Boolean
|
|
52
|
+
}
|
|
167
53
|
};
|
|
168
54
|
}
|
|
169
55
|
|
|
170
56
|
constructor() {
|
|
171
57
|
super();
|
|
172
58
|
this.breakpoints = {
|
|
173
|
-
width: [450]
|
|
59
|
+
width: [450]
|
|
174
60
|
};
|
|
175
61
|
this.small = false;
|
|
176
62
|
}
|
|
@@ -179,32 +65,20 @@ export class GvRow extends withResizeObserver(ItemResource(LitElement)) {
|
|
|
179
65
|
const classes = {
|
|
180
66
|
row: true,
|
|
181
67
|
link: true,
|
|
182
|
-
error: !this._skeleton && (this._error || this._empty)
|
|
68
|
+
error: !this._skeleton && (this._error || this._empty)
|
|
183
69
|
};
|
|
184
70
|
const owner = getOwner(this._item);
|
|
185
|
-
return html`
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
<div class="version">${getVersion(this._item)}</div>
|
|
195
|
-
</div>
|
|
196
|
-
<div class="description">${getDescription(this._item)}</div>
|
|
197
|
-
</div>
|
|
198
|
-
<div class="${classMap({ meta: true, skeleton: this._skeleton })}">
|
|
199
|
-
<div class="meta__owner">
|
|
200
|
-
${owner != null && owner.trim().length > 0 ? html`<gv-icon shape="general:user" size="8px"></gv-icon>${owner}` : ''}
|
|
201
|
-
</div>
|
|
202
|
-
${this.small !== true ? html`<div class="meta__tags">${this._renderLabels()}</div>` : ''}
|
|
203
|
-
</div>
|
|
204
|
-
`}
|
|
205
|
-
</div>
|
|
206
|
-
`;
|
|
71
|
+
return html` <div class="${classMap(classes)}"> ${!this._skeleton && (this._error || this._empty) ? html`<div class="message">${this._error ? i18n('gv-row.error') : i18n('gv-row.empty')}</div>` : html` <div class="${classMap({
|
|
72
|
+
skeleton: this._skeleton
|
|
73
|
+
})}">${this._renderImage()}</div> <div class="${classMap({
|
|
74
|
+
group: true,
|
|
75
|
+
skeleton: this._skeleton
|
|
76
|
+
})}"> <div class="title"> <h3 class="name">${getTitle(this._item)}</h3> <div class="version">${getVersion(this._item)}</div> </div> <div class="description">${getDescription(this._item)}</div> </div> <div class="${classMap({
|
|
77
|
+
meta: true,
|
|
78
|
+
skeleton: this._skeleton
|
|
79
|
+
})}"> <div class="meta__owner"> ${owner != null && owner.trim().length > 0 ? html`<gv-icon shape="general:user" size="8px"></gv-icon>${owner}` : ''} </div> ${this.small !== true ? html`<div class="meta__tags">${this._renderLabels()}</div>` : ''} </div> `} </div> `;
|
|
207
80
|
}
|
|
208
|
-
}
|
|
209
81
|
|
|
82
|
+
}
|
|
210
83
|
window.customElements.define('gv-row', GvRow);
|
|
84
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21vbGVjdWxlcy9ndi1yb3cuanMiXSwibmFtZXMiOlsiY3NzIiwiaHRtbCIsIkxpdEVsZW1lbnQiLCJza2VsZXRvbiIsImxpbmsiLCJjbGFzc01hcCIsImkxOG4iLCJJdGVtUmVzb3VyY2UiLCJ3aXRoUmVzaXplT2JzZXJ2ZXIiLCJnZXRPd25lciIsImdldFRpdGxlIiwiZ2V0RGVzY3JpcHRpb24iLCJnZXRWZXJzaW9uIiwiR3ZSb3ciLCJzdHlsZXMiLCJwcm9wZXJ0aWVzIiwic21hbGwiLCJ0eXBlIiwiQm9vbGVhbiIsImNvbnN0cnVjdG9yIiwiYnJlYWtwb2ludHMiLCJ3aWR0aCIsInJlbmRlciIsImNsYXNzZXMiLCJyb3ciLCJlcnJvciIsIl9za2VsZXRvbiIsIl9lcnJvciIsIl9lbXB0eSIsIm93bmVyIiwiX2l0ZW0iLCJfcmVuZGVySW1hZ2UiLCJncm91cCIsIm1ldGEiLCJ0cmltIiwibGVuZ3RoIiwiX3JlbmRlckxhYmVscyIsIndpbmRvdyIsImN1c3RvbUVsZW1lbnRzIiwiZGVmaW5lIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxHQUFULEVBQWNDLElBQWQsRUFBb0JDLFVBQXBCLFFBQXNDLEtBQXRDO0FBQ0EsU0FBU0MsUUFBVCxRQUF5QixvQkFBekI7QUFDQSxTQUFTQyxJQUFULFFBQXFCLGdCQUFyQjtBQUNBLFNBQVNDLFFBQVQsUUFBeUIsMEJBQXpCO0FBQ0EsU0FBU0MsSUFBVCxRQUFxQixhQUFyQjtBQUNBLFNBQVNDLFlBQVQsUUFBNkIseUJBQTdCO0FBQ0EsU0FBU0Msa0JBQVQsUUFBbUMsZ0NBQW5DO0FBQ0EsU0FBU0MsUUFBVCxFQUFtQkMsUUFBbkIsRUFBNkJDLGNBQTdCLEVBQTZDQyxVQUE3QyxRQUErRCxhQUEvRDtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxPQUFPLE1BQU1DLEtBQU4sU0FBb0JMLGtCQUFrQixDQUFDRCxZQUFZLENBQUNMLFVBQUQsQ0FBYixDQUF0QyxDQUFpRTtBQUNyRCxhQUFOWSxNQUFNLEdBQUc7QUFDbEIsV0FBTyxDQUNMLEdBQUcsTUFBTUEsTUFESixFQUVMO0FBQ0FkLElBQUFBLEdBQUcsOC9DQUhFLEVBbUhMSSxJQW5ISyxFQW9ITEQsUUFwSEssQ0FBUDtBQXNIRDs7QUFFb0IsYUFBVlksVUFBVSxHQUFHO0FBQ3RCLFdBQU8sRUFDTCxHQUFHLE1BQU1BLFVBREo7O0FBRUw7QUFDQUMsTUFBQUEsS0FBSyxFQUFFO0FBQUVDLFFBQUFBLElBQUksRUFBRUM7QUFBUjtBQUhGLEtBQVA7QUFLRDs7QUFFREMsRUFBQUEsV0FBVyxHQUFHO0FBQ1o7QUFDQSxTQUFLQyxXQUFMLEdBQW1CO0FBQ2pCQyxNQUFBQSxLQUFLLEVBQUUsQ0FBQyxHQUFEO0FBRFUsS0FBbkI7QUFHQSxTQUFLTCxLQUFMLEdBQWEsS0FBYjtBQUNEOztBQUVETSxFQUFBQSxNQUFNLEdBQUc7QUFDUCxVQUFNQyxPQUFPLEdBQUc7QUFDZEMsTUFBQUEsR0FBRyxFQUFFLElBRFM7QUFFZHBCLE1BQUFBLElBQUksRUFBRSxJQUZRO0FBR2RxQixNQUFBQSxLQUFLLEVBQUUsQ0FBQyxLQUFLQyxTQUFOLEtBQW9CLEtBQUtDLE1BQUwsSUFBZSxLQUFLQyxNQUF4QztBQUhPLEtBQWhCO0FBS0EsVUFBTUMsS0FBSyxHQUFHcEIsUUFBUSxDQUFDLEtBQUtxQixLQUFOLENBQXRCO0FBQ0EsV0FBTzdCLElBQUksZ0JBQ0lJLFFBQVEsQ0FBQ2tCLE9BQUQsQ0FEWixNQUVMLENBQUMsS0FBS0csU0FBTixLQUFvQixLQUFLQyxNQUFMLElBQWUsS0FBS0MsTUFBeEMsSUFDRTNCLElBQUksd0JBQXdCLEtBQUswQixNQUFMLEdBQWNyQixJQUFJLENBQUMsY0FBRCxDQUFsQixHQUFxQ0EsSUFBSSxDQUFDLGNBQUQsQ0FBakUsUUFETixHQUVFTCxJQUFJLGdCQUNZSSxRQUFRLENBQUM7QUFBRUYsTUFBQUEsUUFBUSxFQUFFLEtBQUt1QjtBQUFqQixLQUFELENBRHBCLEtBQ3VELEtBQUtLLFlBQUwsRUFEdkQsc0JBRVkxQixRQUFRLENBQUM7QUFBRTJCLE1BQUFBLEtBQUssRUFBRSxJQUFUO0FBQWU3QixNQUFBQSxRQUFRLEVBQUUsS0FBS3VCO0FBQTlCLEtBQUQsQ0FGcEIsMkNBSXFCaEIsUUFBUSxDQUFDLEtBQUtvQixLQUFOLENBSjdCLDhCQUt5QmxCLFVBQVUsQ0FBQyxLQUFLa0IsS0FBTixDQUxuQywwQ0FPMkJuQixjQUFjLENBQUMsS0FBS21CLEtBQU4sQ0FQekMsNkJBU1l6QixRQUFRLENBQUM7QUFBRTRCLE1BQUFBLElBQUksRUFBRSxJQUFSO0FBQWM5QixNQUFBQSxRQUFRLEVBQUUsS0FBS3VCO0FBQTdCLEtBQUQsQ0FUcEIsZ0NBV0lHLEtBQUssSUFBSSxJQUFULElBQWlCQSxLQUFLLENBQUNLLElBQU4sR0FBYUMsTUFBYixHQUFzQixDQUF2QyxHQUEyQ2xDLElBQUksc0RBQXNENEIsS0FBdEQsRUFBL0MsR0FBK0csRUFYbkgsV0FhRSxLQUFLYixLQUFMLEtBQWUsSUFBZixHQUFzQmYsSUFBSSwyQkFBMkIsS0FBS21DLGFBQUwsRUFBM0IsUUFBMUIsR0FBb0YsRUFidEYsVUFKRCxVQUFYO0FBc0JEOztBQXZLcUU7QUEwS3hFQyxNQUFNLENBQUNDLGNBQVAsQ0FBc0JDLE1BQXRCLENBQTZCLFFBQTdCLEVBQXVDMUIsS0FBdkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgY3NzLCBodG1sLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHNrZWxldG9uIH0gZnJvbSAnLi4vc3R5bGVzL3NrZWxldG9uJztcbmltcG9ydCB7IGxpbmsgfSBmcm9tICcuLi9zdHlsZXMvbGluayc7XG5pbXBvcnQgeyBjbGFzc01hcCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL2NsYXNzLW1hcCc7XG5pbXBvcnQgeyBpMThuIH0gZnJvbSAnLi4vbGliL2kxOG4nO1xuaW1wb3J0IHsgSXRlbVJlc291cmNlIH0gZnJvbSAnLi4vbWl4aW5zL2l0ZW0tcmVzb3VyY2UnO1xuaW1wb3J0IHsgd2l0aFJlc2l6ZU9ic2VydmVyIH0gZnJvbSAnLi4vbWl4aW5zL3dpdGgtcmVzaXplLW9ic2VydmVyJztcbmltcG9ydCB7IGdldE93bmVyLCBnZXRUaXRsZSwgZ2V0RGVzY3JpcHRpb24sIGdldFZlcnNpb24gfSBmcm9tICcuLi9saWIvaXRlbSc7XG5cbi8qKlxuICogUm93IGNvbXBvbmVudFxuICpcbiAqICMjIERldGFpbHNcbiAqICogaGFzIEB0aGVtZSBmYWNldFxuICpcbiAqIEBhdHRyIHtQcm9taXNlPGFueT59IGl0ZW0gLSBBbiBpdGVtLlxuICogQGF0dHIge0Jvb2xlYW59IHNtYWxsIC0gV2hlbiB0cnVlLCBub3QgZGlzcGxheSBsYWJlbHNcbiAqXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LXJvdy1ob3Zlci0tYmdjPXZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItbGlnaHRlciwgI2ZhZmFmYSldIC0gSG9vdmVyIGJhY2tncm91bmQgY29sb3JcbiAqIEBjc3Nwcm9wIHtMZW5ndGh9IFstLWd2LXJvdy1ob3Zlci0tdHJmLXR5PTBweF0gLSBIb292ZXIgdHJhbnNmb3JtIHRyYW5zbGF0ZVlcbiAqIEBjc3Nwcm9wIHtMZW5ndGh9IFstLWd2LXJvdy1pbWFnZS0taD0zNXB4XSAtIEltYWdlIGhlaWdodFxuICogQGNzc3Byb3Age0xlbmd0aH0gWy0tZ3Ytcm93LWltYWdlLS13PTM1cHhdIC0gSW1hZ2Ugd2lkdGhcbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBHdlJvdyBleHRlbmRzIHdpdGhSZXNpemVPYnNlcnZlcihJdGVtUmVzb3VyY2UoTGl0RWxlbWVudCkpIHtcbiAgc3RhdGljIGdldCBzdHlsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLnN1cGVyLnN0eWxlcyxcbiAgICAgIC8vIGxhbmd1YWdlPUNTU1xuICAgICAgY3NzYFxuICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgLS1ob3Zlci1iZ2M6IHZhcigtLWd2LXJvdy1ob3Zlci0tYmdjLCB2YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWxpZ2h0ZXIsICNmYWZhZmEpKTtcbiAgICAgICAgICAtLXRyZi10eTogdmFyKC0tZ3Ytcm93LWhvdmVyLS10cmYtdHksIDBweCk7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICA6aG9zdChbX2ludmlzaWJsZV0pIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJvdyB7XG4gICAgICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yb3c6aG92ZXIge1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiAtd2Via2l0LXRyYW5zbGF0ZVkodmFyKC0tdHJmLXR5KSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKHZhcigtLXRyZi10eSkpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyLWJnYyk7XG4gICAgICAgIH1cblxuICAgICAgICAucm93Om5vdCguZXJyb3IpIHtcbiAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2FsYyh2YXIoLS1ndi1yb3ctaW1hZ2UtLXcsIDM1cHgpICsgNXB4KSBhdXRvIGZpdC1jb250ZW50KDIwJSk7XG4gICAgICAgICAgZ3JpZC1nYXA6IDEwcHg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIDpob3N0KFt3LWx0LTQ1MF0pIC5tZXRhIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJvdyAubmFtZSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnJvdyAubmFtZSxcbiAgICAgICAgLnJvdyAubWV0YV9fb3duZXIge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yb3cgLnZlcnNpb24ge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWRhcmssICNkOWQ5ZDkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJvdyAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgIC0tbGg6IDEuNHJlbTtcbiAgICAgICAgICAtLW1heC1saW5lczogMjtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKHZhcigtLWxoKSAqIHZhcigtLW1heC1saW5lcykpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saCk7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICB0ZXh0LWFmdGVyLW92ZXJmbG93OiAnLi4uJztcbiAgICAgICAgfVxuXG4gICAgICAgIC5yb3cgLm1ldGEge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIH1cblxuICAgICAgICAucm93IC5tZXRhX19vd25lciB7XG4gICAgICAgICAgLS1ndi1pY29uLS1jOiB2YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWRhcmssICNkOWQ5ZDkpO1xuICAgICAgICAgIC0tZ3YtaWNvbi0tczogMTZweDtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tZ3YtdGhlbWUtbmV1dHJhbC1jb2xvci1kYXJrLCAjZDlkOWQ5KTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnJvdyAubWV0YV9fdGFncyB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5za2VsZXRvbiB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogMC41cztcbiAgICAgICAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmVycm9yIHtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgZ3YtaWRlbnRpdHktcGljdHVyZSB7XG4gICAgICAgICAgaGVpZ2h0OiB2YXIoLS1ndi1yb3ctaW1hZ2UtLWgsIDM1cHgpO1xuICAgICAgICAgIHdpZHRoOiB2YXIoLS1ndi1yb3ctaW1hZ2UtLXcsIDM1cHgpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgICAgLS1ndi1pbWFnZS0tb2Y6IGNvbnRhaW47XG4gICAgICAgICAgYWxpZ24tc2VsZjogYmFzZWxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJvdyA+IC5ncm91cCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICB9XG4gICAgICBgLFxuICAgICAgbGluayxcbiAgICAgIHNrZWxldG9uLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN1cGVyLnByb3BlcnRpZXMsXG4gICAgICAvKiogQHJlcXVpcmVkICovXG4gICAgICBzbWFsbDogeyB0eXBlOiBCb29sZWFuIH0sXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5icmVha3BvaW50cyA9IHtcbiAgICAgIHdpZHRoOiBbNDUwXSxcbiAgICB9O1xuICAgIHRoaXMuc21hbGwgPSBmYWxzZTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCBjbGFzc2VzID0ge1xuICAgICAgcm93OiB0cnVlLFxuICAgICAgbGluazogdHJ1ZSxcbiAgICAgIGVycm9yOiAhdGhpcy5fc2tlbGV0b24gJiYgKHRoaXMuX2Vycm9yIHx8IHRoaXMuX2VtcHR5KSxcbiAgICB9O1xuICAgIGNvbnN0IG93bmVyID0gZ2V0T3duZXIodGhpcy5faXRlbSk7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPSR7Y2xhc3NNYXAoY2xhc3Nlcyl9PlxuICAgICAgICAkeyF0aGlzLl9za2VsZXRvbiAmJiAodGhpcy5fZXJyb3IgfHwgdGhpcy5fZW1wdHkpXG4gICAgICAgICAgPyBodG1sYDxkaXYgY2xhc3M9XCJtZXNzYWdlXCI+JHt0aGlzLl9lcnJvciA/IGkxOG4oJ2d2LXJvdy5lcnJvcicpIDogaTE4bignZ3Ytcm93LmVtcHR5Jyl9PC9kaXY+YFxuICAgICAgICAgIDogaHRtbGBcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIiR7Y2xhc3NNYXAoeyBza2VsZXRvbjogdGhpcy5fc2tlbGV0b24gfSl9XCI+JHt0aGlzLl9yZW5kZXJJbWFnZSgpfTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiJHtjbGFzc01hcCh7IGdyb3VwOiB0cnVlLCBza2VsZXRvbjogdGhpcy5fc2tlbGV0b24gfSl9XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJuYW1lXCI+JHtnZXRUaXRsZSh0aGlzLl9pdGVtKX08L2gzPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZlcnNpb25cIj4ke2dldFZlcnNpb24odGhpcy5faXRlbSl9PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+JHtnZXREZXNjcmlwdGlvbih0aGlzLl9pdGVtKX08L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCIke2NsYXNzTWFwKHsgbWV0YTogdHJ1ZSwgc2tlbGV0b246IHRoaXMuX3NrZWxldG9uIH0pfVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXRhX19vd25lclwiPlxuICAgICAgICAgICAgICAgICAgJHtvd25lciAhPSBudWxsICYmIG93bmVyLnRyaW0oKS5sZW5ndGggPiAwID8gaHRtbGA8Z3YtaWNvbiBzaGFwZT1cImdlbmVyYWw6dXNlclwiIHNpemU9XCI4cHhcIj48L2d2LWljb24+JHtvd25lcn1gIDogJyd9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgJHt0aGlzLnNtYWxsICE9PSB0cnVlID8gaHRtbGA8ZGl2IGNsYXNzPVwibWV0YV9fdGFnc1wiPiR7dGhpcy5fcmVuZGVyTGFiZWxzKCl9PC9kaXY+YCA6ICcnfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIGB9XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbndpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ2d2LXJvdycsIEd2Um93KTtcbiJdfQ==
|