@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
package/src/atoms/gv-link.js
CHANGED
|
@@ -1,132 +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 { skeleton } from '../styles/skeleton';
|
|
18
|
-
import { link } from '../styles/link';
|
|
19
|
-
import { classMap } from 'lit/directives/class-map';
|
|
20
|
-
import { styleMap } from 'lit/directives/style-map';
|
|
21
|
-
import { until } from 'lit/directives/until';
|
|
22
|
-
import { dispatchCustomEvent } from '../lib/events';
|
|
23
|
-
import './gv-icon';
|
|
24
|
-
import { ifDefined } from 'lit/directives/if-defined';
|
|
25
|
-
/**
|
|
26
|
-
* A link
|
|
27
|
-
*
|
|
28
|
-
* ## Details
|
|
29
|
-
* * has @theme facet
|
|
30
|
-
*
|
|
31
|
-
* @fires gv-link:click - Custom click event from inner link element
|
|
32
|
-
*
|
|
33
|
-
* @slot - The content of the link (text or HTML)
|
|
34
|
-
*
|
|
35
|
-
* @attr {Boolean} active - set if link is active
|
|
36
|
-
* @attr {String} path - link path
|
|
37
|
-
* @attr {String} title - link title
|
|
38
|
-
* @attr {String} target - link target
|
|
39
|
-
* @attr {String} help - help text left between parentheses
|
|
40
|
-
*
|
|
41
|
-
* @cssprop {Length} [--gv-link-a--pv=15px] - Vertical padding for the inner <a> tag
|
|
42
|
-
* @cssprop {Length} [--gv-link-a--ph=15px] - Horizontal padding for the inner <a> tag
|
|
43
|
-
* @cssprop {Color} [--gv-link--c=var(--gv-theme-font-color-dark, #262626)] - Color
|
|
44
|
-
* @cssprop {Color} [--gv-link-active--c=var(--gv-theme-font-color-light, #ffffff)] - Active color
|
|
45
|
-
* @cssprop {Color} [--gv-link--bgc=transparent] - Background color
|
|
46
|
-
* @cssprop {Color} [--gv-link-active--bgc=var(--gv-theme-color-dark, #28444f)] - Active background color
|
|
47
|
-
* @cssprop {Color} [--gv-link-active--bdc=none] - Active border color
|
|
48
|
-
* @cssprop {String} [--gv-link-active--bds=none] - Active border style
|
|
49
|
-
* @cssprop {Length} [--gv-link-active--bdw=none] - Active border width
|
|
50
|
-
* @cssprop {String} [--gv-link--ta=center] - Text align
|
|
51
|
-
* @cssprop {String} [--gv-link--td=none] - Text decoration
|
|
52
|
-
* @cssprop {String} [--gv-link--tsh=none]- Text shadow
|
|
53
|
-
* @cssprop {Length} [--gv-link-icon--s=24px] - Height and icon width
|
|
54
|
-
*/
|
|
55
|
-
|
|
56
|
-
export class GvLink extends LitElement {
|
|
57
|
-
static get properties() {
|
|
58
|
-
return {
|
|
59
|
-
active: {
|
|
60
|
-
type: Boolean,
|
|
61
|
-
reflect: true
|
|
62
|
-
},
|
|
63
|
-
icon: {
|
|
64
|
-
type: String
|
|
65
|
-
},
|
|
66
|
-
path: {
|
|
67
|
-
type: String
|
|
68
|
-
},
|
|
69
|
-
title: {
|
|
70
|
-
type: String
|
|
71
|
-
},
|
|
72
|
-
target: {
|
|
73
|
-
type: String
|
|
74
|
-
},
|
|
75
|
-
_title: {
|
|
76
|
-
type: String,
|
|
77
|
-
attribute: false
|
|
78
|
-
},
|
|
79
|
-
help: {
|
|
80
|
-
type: String
|
|
81
|
-
},
|
|
82
|
-
skeleton: {
|
|
83
|
-
type: Boolean
|
|
84
|
-
},
|
|
85
|
-
small: {
|
|
86
|
-
type: Boolean
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
static get styles() {
|
|
92
|
-
return [link, // language=css
|
|
93
|
-
css`:host{display:inline-flex;vertical-align:middle;--gv-icon--s:var(--gv-link-icon--s, 24px);--link-active--c:var(--gv-link-active--c, var(--gv-theme-font-color-light, #ffffff));--link--c:var(--gv-link--c, var(--gv-theme-font-color-dark, #262626));--pv:var(--gv-link-a--pv, 15px);--ph:var(--gv-link-a--ph, 15px)}*,:after,:before{box-sizing:border-box}a{opacity:1;padding:var(--pv) var(--ph);color:var(--link--c);background-color:var(--gv-link--bgc,transparent);width:100%;display:inline-flex;align-content:center;text-align:var(--gv-link--ta,center);text-shadow:var(--gv-link--tsh,none);border-color:var(--gv-link--bgc,transparent);border-style:var(--gv-link-active--bds,none);border-width:var(--gv-link-active--bdw,none)}a>*{align-self:center}.active{color:var(--link-active--c);background-color:var(--gv-link-active--bgc,var(--gv-theme-color-dark,#28444f));border-color:var(--gv-link-active--bdc,none)}.link.active:hover{opacity:1}a gv-icon,a span{align-self:center}a span{flex:1;align-self:center;white-space:nowrap;margin:.3rem .5rem;text-decoration:var(--gv-link--td,none);text-overflow:ellipsis;overflow:hidden}a.small span{margin:.3rem 0;width:0;visibility:hidden}.help{margin:0 .2rem;opacity:.5;font-size:var(--gv-theme-font-size-xs,10px)}.help::before{content:'('}.help::after{content:')'}.skeleton{min-width:100px;margin:0 .2rem;opacity:.5}`, skeleton];
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
async _onClick(e) {
|
|
97
|
-
e.preventDefault();
|
|
98
|
-
dispatchCustomEvent(this, 'click', {
|
|
99
|
-
active: this.active,
|
|
100
|
-
icon: this.icon,
|
|
101
|
-
path: this.path,
|
|
102
|
-
title: this._title,
|
|
103
|
-
target: this.target
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
set title(value) {
|
|
108
|
-
Promise.resolve(value).then(title => {
|
|
109
|
-
this._title = title;
|
|
110
|
-
}).catch(e => {});
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
render() {
|
|
114
|
-
const classes = {
|
|
115
|
-
active: this.active,
|
|
116
|
-
link: true,
|
|
117
|
-
skeleton: this.skeleton,
|
|
118
|
-
small: this.small
|
|
119
|
-
};
|
|
120
|
-
const iconStyle = this.active ? {
|
|
121
|
-
'--gv-icon--c': 'var(--link-active--c)',
|
|
122
|
-
'--gv-icon-opacity--c': 'var(--link-active--c)'
|
|
123
|
-
} : {
|
|
124
|
-
'--gv-icon--c': 'var(--link--c)',
|
|
125
|
-
'--gv-icon-opacity--c': 'var(--link--c)'
|
|
126
|
-
};
|
|
127
|
-
return html` <a @click="${this._onClick}" class="${classMap(classes)}" .href="${ifDefined(this.path)}" .target="${ifDefined(this.target)}" ?title="${until(this._title, '')}"> ${this.icon ? html`<gv-icon shape="${this.icon}" style="${styleMap(iconStyle)}"></gv-icon>` : ''} <span>${until(this._title, '')}${this.help ? html`<span class="help">${until(this.help, '')}</span>` : ''}</span> </a> `;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
}
|
|
131
|
-
window.customElements.define('gv-link', GvLink);
|
|
132
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LWxpbmsuanMiXSwibmFtZXMiOlsiTGl0RWxlbWVudCIsImh0bWwiLCJjc3MiLCJza2VsZXRvbiIsImxpbmsiLCJjbGFzc01hcCIsInN0eWxlTWFwIiwidW50aWwiLCJkaXNwYXRjaEN1c3RvbUV2ZW50IiwiaWZEZWZpbmVkIiwiR3ZMaW5rIiwicHJvcGVydGllcyIsImFjdGl2ZSIsInR5cGUiLCJCb29sZWFuIiwicmVmbGVjdCIsImljb24iLCJTdHJpbmciLCJwYXRoIiwidGl0bGUiLCJ0YXJnZXQiLCJfdGl0bGUiLCJhdHRyaWJ1dGUiLCJoZWxwIiwic21hbGwiLCJzdHlsZXMiLCJfb25DbGljayIsImUiLCJwcmV2ZW50RGVmYXVsdCIsInZhbHVlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0aGVuIiwiY2F0Y2giLCJyZW5kZXIiLCJjbGFzc2VzIiwiaWNvblN0eWxlIiwid2luZG93IiwiY3VzdG9tRWxlbWVudHMiLCJkZWZpbmUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLFVBQVQsRUFBcUJDLElBQXJCLEVBQTJCQyxHQUEzQixRQUFzQyxLQUF0QztBQUNBLFNBQVNDLFFBQVQsUUFBeUIsb0JBQXpCO0FBQ0EsU0FBU0MsSUFBVCxRQUFxQixnQkFBckI7QUFDQSxTQUFTQyxRQUFULFFBQXlCLDBCQUF6QjtBQUNBLFNBQVNDLFFBQVQsUUFBeUIsMEJBQXpCO0FBQ0EsU0FBU0MsS0FBVCxRQUFzQixzQkFBdEI7QUFDQSxTQUFTQyxtQkFBVCxRQUFvQyxlQUFwQztBQUNBLE9BQU8sV0FBUDtBQUNBLFNBQVNDLFNBQVQsUUFBMEIsMkJBQTFCO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtB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QUFMLEdBQVlmLElBQUksbUJBQWtCLEtBQUtlLElBQXZCLFlBQXFDVixRQUFRLENBQUM4QixTQUFELENBQTdDLGNBQWhCLEdBQXdGLEVBUm5GLFVBU0M3QixLQUFLLENBQUMsS0FBS2MsTUFBTixFQUFjLEVBQWQsQ0FUTixHQVMwQixLQUFLRSxJQUFMLEdBQVl0QixJQUFJLHNCQUFzQk0sS0FBSyxDQUFDLEtBQUtnQixJQUFOLEVBQVksRUFBWixDQUEzQixTQUFoQixHQUFzRSxFQVRoRyxlQUFYO0FBWUQ7O0FBdkpvQztBQTBKdkNjLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkMsTUFBdEIsQ0FBNkIsU0FBN0IsRUFBd0M3QixNQUF4QyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBMaXRFbGVtZW50LCBodG1sLCBjc3MgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgc2tlbGV0b24gfSBmcm9tICcuLi9zdHlsZXMvc2tlbGV0b24nO1xuaW1wb3J0IHsgbGluayB9IGZyb20gJy4uL3N0eWxlcy9saW5rJztcbmltcG9ydCB7IGNsYXNzTWFwIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvY2xhc3MtbWFwJztcbmltcG9ydCB7IHN0eWxlTWFwIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvc3R5bGUtbWFwJztcbmltcG9ydCB7IHVudGlsIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvdW50aWwnO1xuaW1wb3J0IHsgZGlzcGF0Y2hDdXN0b21FdmVudCB9IGZyb20gJy4uL2xpYi9ldmVudHMnO1xuaW1wb3J0ICcuL2d2LWljb24nO1xuaW1wb3J0IHsgaWZEZWZpbmVkIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvaWYtZGVmaW5lZCc7XG5cbi8qKlxuICogQSBsaW5rXG4gKlxuICogIyMgRGV0YWlsc1xuICogKiBoYXMgQHRoZW1lIGZhY2V0XG4gKlxuICogQGZpcmVzIGd2LWxpbms6Y2xpY2sgLSBDdXN0b20gY2xpY2sgZXZlbnQgZnJvbSBpbm5lciBsaW5rIGVsZW1lbnRcbiAqXG4gKiBAc2xvdCAtIFRoZSBjb250ZW50IG9mIHRoZSBsaW5rICh0ZXh0IG9yIEhUTUwpXG4gKlxuICogQGF0dHIge0Jvb2xlYW59IGFjdGl2ZSAtIHNldCBpZiBsaW5rIGlzIGFjdGl2ZVxuICogQGF0dHIge1N0cmluZ30gcGF0aCAtIGxpbmsgcGF0aFxuICogQGF0dHIge1N0cmluZ30gdGl0bGUgLSBsaW5rIHRpdGxlXG4gKiBAYXR0ciB7U3RyaW5nfSB0YXJnZXQgLSBsaW5rIHRhcmdldFxuICogQGF0dHIge1N0cmluZ30gaGVscCAtIGhlbHAgdGV4dCBsZWZ0IGJldHdlZW4gcGFyZW50aGVzZXNcbiAqXG4gKiBAY3NzcHJvcCB7TGVuZ3RofSBbLS1ndi1saW5rLWEtLXB2PTE1cHhdIC0gVmVydGljYWwgcGFkZGluZyBmb3IgdGhlIGlubmVyIDxhPiB0YWdcbiAqIEBjc3Nwcm9wIHtMZW5ndGh9IFstLWd2LWxpbmstYS0tcGg9MTVweF0gLSBIb3Jpem9udGFsIHBhZGRpbmcgZm9yIHRoZSBpbm5lciA8YT4gdGFnXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LWxpbmstLWM9dmFyKC0tZ3YtdGhlbWUtZm9udC1jb2xvci1kYXJrLCAjMjYyNjI2KV0gLSBDb2xvclxuICogQGNzc3Byb3Age0NvbG9yfSBbLS1ndi1saW5rLWFjdGl2ZS0tYz12YXIoLS1ndi10aGVtZS1mb250LWNvbG9yLWxpZ2h0LCAjZmZmZmZmKV0gLSBBY3RpdmUgY29sb3JcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtbGluay0tYmdjPXRyYW5zcGFyZW50XSAtIEJhY2tncm91bmQgY29sb3JcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtbGluay1hY3RpdmUtLWJnYz12YXIoLS1ndi10aGVtZS1jb2xvci1kYXJrLCAjMjg0NDRmKV0gLSBBY3RpdmUgYmFja2dyb3VuZCBjb2xvclxuICogQGNzc3Byb3Age0NvbG9yfSBbLS1ndi1saW5rLWFjdGl2ZS0tYmRjPW5vbmVdIC0gQWN0aXZlIGJvcmRlciBjb2xvclxuICogQGNzc3Byb3Age1N0cmluZ30gWy0tZ3YtbGluay1hY3RpdmUtLWJkcz1ub25lXSAtIEFjdGl2ZSBib3JkZXIgc3R5bGVcbiAqIEBjc3Nwcm9wIHtMZW5ndGh9IFstLWd2LWxpbmstYWN0aXZlLS1iZHc9bm9uZV0gLSBBY3RpdmUgYm9yZGVyIHdpZHRoXG4gKiBAY3NzcHJvcCB7U3RyaW5nfSBbLS1ndi1saW5rLS10YT1jZW50ZXJdIC0gVGV4dCBhbGlnblxuICogQGNzc3Byb3Age1N0cmluZ30gWy0tZ3YtbGluay0tdGQ9bm9uZV0gLSBUZXh0IGRlY29yYXRpb25cbiAqIEBjc3Nwcm9wIHtTdHJpbmd9IFstLWd2LWxpbmstLXRzaD1ub25lXS0gVGV4dCBzaGFkb3dcbiAqIEBjc3Nwcm9wIHtMZW5ndGh9IFstLWd2LWxpbmstaWNvbi0tcz0yNHB4XSAtIEhlaWdodCBhbmQgaWNvbiB3aWR0aFxuICovXG5leHBvcnQgY2xhc3MgR3ZMaW5rIGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHN0YXRpYyBnZXQgcHJvcGVydGllcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYWN0aXZlOiB7IHR5cGU6IEJvb2xlYW4sIHJlZmxlY3Q6IHRydWUgfSxcbiAgICAgIGljb246IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICBwYXRoOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgdGl0bGU6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICB0YXJnZXQ6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICBfdGl0bGU6IHsgdHlwZTogU3RyaW5nLCBhdHRyaWJ1dGU6IGZhbHNlIH0sXG4gICAgICBoZWxwOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgc2tlbGV0b246IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgc21hbGw6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZ2V0IHN0eWxlcygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgbGluayxcbiAgICAgIC8vIGxhbmd1YWdlPWNzc1xuICAgICAgY3NzYFxuICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAtLWd2LWljb24tLXM6IHZhcigtLWd2LWxpbmstaWNvbi0tcywgMjRweCk7XG4gICAgICAgICAgLS1saW5rLWFjdGl2ZS0tYzogdmFyKC0tZ3YtbGluay1hY3RpdmUtLWMsIHZhcigtLWd2LXRoZW1lLWZvbnQtY29sb3ItbGlnaHQsICNmZmZmZmYpKTtcbiAgICAgICAgICAtLWxpbmstLWM6IHZhcigtLWd2LWxpbmstLWMsIHZhcigtLWd2LXRoZW1lLWZvbnQtY29sb3ItZGFyaywgIzI2MjYyNikpO1xuICAgICAgICAgIC0tcHY6IHZhcigtLWd2LWxpbmstYS0tcHYsIDE1cHgpO1xuICAgICAgICAgIC0tcGg6IHZhcigtLWd2LWxpbmstYS0tcGgsIDE1cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgKixcbiAgICAgICAgKjpiZWZvcmUsXG4gICAgICAgICo6YWZ0ZXIge1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHBhZGRpbmc6IHZhcigtLXB2KSB2YXIoLS1waCk7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWxpbmstLWMpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWd2LWxpbmstLWJnYywgdHJhbnNwYXJlbnQpO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICB0ZXh0LWFsaWduOiB2YXIoLS1ndi1saW5rLS10YSwgY2VudGVyKTtcbiAgICAgICAgICB0ZXh0LXNoYWRvdzogdmFyKC0tZ3YtbGluay0tdHNoLCBub25lKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWd2LWxpbmstLWJnYywgdHJhbnNwYXJlbnQpO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogdmFyKC0tZ3YtbGluay1hY3RpdmUtLWJkcywgbm9uZSk7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1ndi1saW5rLWFjdGl2ZS0tYmR3LCBub25lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEgPiAqIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tbGluay1hY3RpdmUtLWMpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWd2LWxpbmstYWN0aXZlLS1iZ2MsIHZhcigtLWd2LXRoZW1lLWNvbG9yLWRhcmssICMyODQ0NGYpKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWd2LWxpbmstYWN0aXZlLS1iZGMsIG5vbmUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxpbmsuYWN0aXZlOmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgYSBzcGFuLFxuICAgICAgICBhIGd2LWljb24ge1xuICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGEgc3BhbiB7XG4gICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICBtYXJnaW46IDAuM3JlbSAwLjVyZW07XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB2YXIoLS1ndi1saW5rLS10ZCwgbm9uZSk7XG4gICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGEuc21hbGwgc3BhbiB7XG4gICAgICAgICAgbWFyZ2luOiAwLjNyZW0gMDtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAuaGVscCB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAuMnJlbTtcbiAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ndi10aGVtZS1mb250LXNpemUteHMsIDEwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlbHA6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJygnO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlbHA6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnKSc7XG4gICAgICAgIH1cblxuICAgICAgICAuc2tlbGV0b24ge1xuICAgICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICAgICAgbWFyZ2luOiAwIDAuMnJlbTtcbiAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIH1cbiAgICAgIGAsXG4gICAgICBza2VsZXRvbixcbiAgICBdO1xuICB9XG5cbiAgYXN5bmMgX29uQ2xpY2soZSkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KHRoaXMsICdjbGljaycsIHtcbiAgICAgIGFjdGl2ZTogdGhpcy5hY3RpdmUsXG4gICAgICBpY29uOiB0aGlzLmljb24sXG4gICAgICBwYXRoOiB0aGlzLnBhdGgsXG4gICAgICB0aXRsZTogdGhpcy5fdGl0bGUsXG4gICAgICB0YXJnZXQ6IHRoaXMudGFyZ2V0LFxuICAgIH0pO1xuICB9XG5cbiAgc2V0IHRpdGxlKHZhbHVlKSB7XG4gICAgUHJvbWlzZS5yZXNvbHZlKHZhbHVlKVxuICAgICAgLnRoZW4oKHRpdGxlKSA9PiB7XG4gICAgICAgIHRoaXMuX3RpdGxlID0gdGl0bGU7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlKSA9PiB7fSk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgY2xhc3NlcyA9IHtcbiAgICAgIGFjdGl2ZTogdGhpcy5hY3RpdmUsXG4gICAgICBsaW5rOiB0cnVlLFxuICAgICAgc2tlbGV0b246IHRoaXMuc2tlbGV0b24sXG4gICAgICBzbWFsbDogdGhpcy5zbWFsbCxcbiAgICB9O1xuICAgIGNvbnN0IGljb25TdHlsZSA9IHRoaXMuYWN0aXZlXG4gICAgICA/IHsgJy0tZ3YtaWNvbi0tYyc6ICd2YXIoLS1saW5rLWFjdGl2ZS0tYyknLCAnLS1ndi1pY29uLW9wYWNpdHktLWMnOiAndmFyKC0tbGluay1hY3RpdmUtLWMpJyB9XG4gICAgICA6IHsgJy0tZ3YtaWNvbi0tYyc6ICd2YXIoLS1saW5rLS1jKScsICctLWd2LWljb24tb3BhY2l0eS0tYyc6ICd2YXIoLS1saW5rLS1jKScgfTtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxhXG4gICAgICAgIEBjbGljaz0ke3RoaXMuX29uQ2xpY2t9XG4gICAgICAgIGNsYXNzPVwiJHtjbGFzc01hcChjbGFzc2VzKX1cIlxuICAgICAgICAuaHJlZj1cIiR7aWZEZWZpbmVkKHRoaXMucGF0aCl9XCJcbiAgICAgICAgLnRhcmdldD1cIiR7aWZEZWZpbmVkKHRoaXMudGFyZ2V0KX1cIlxuICAgICAgICA/dGl0bGU9XCIke3VudGlsKHRoaXMuX3RpdGxlLCAnJyl9XCJcbiAgICAgID5cbiAgICAgICAgJHt0aGlzLmljb24gPyBodG1sYDxndi1pY29uIHNoYXBlPSR7dGhpcy5pY29ufSBzdHlsZT0ke3N0eWxlTWFwKGljb25TdHlsZSl9PjwvZ3YtaWNvbj5gIDogJyd9XG4gICAgICAgIDxzcGFuPiR7dW50aWwodGhpcy5fdGl0bGUsICcnKX0ke3RoaXMuaGVscCA/IGh0bWxgPHNwYW4gY2xhc3M9XCJoZWxwXCI+JHt1bnRpbCh0aGlzLmhlbHAsICcnKX08L3NwYW4+YCA6ICcnfTwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICBgO1xuICB9XG59XG5cbndpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ2d2LWxpbmsnLCBHdkxpbmspO1xuIl19
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.GvLink=void 0;const e=require("lit"),t=require("../styles/skeleton"),i=require("../styles/link"),n=require("lit/directives/class-map"),r=require("lit/directives/style-map"),a=require("lit/directives/until"),l=require("../lib/events");require("./gv-icon");const c=require("lit/directives/if-defined");class s extends e.LitElement{static get properties(){return{active:{type:Boolean,reflect:!0},icon:{type:String},path:{type:String},title:{type:String},target:{type:String},_title:{type:String,attribute:!1},help:{type:String},skeleton:{type:Boolean},small:{type:Boolean}}}static get styles(){return[i.link,e.css`:host{display:inline-flex;vertical-align:middle;--gv-icon--s:var(--gv-link-icon--s, 24px);--link-active--c:var(--gv-link-active--c, var(--gv-theme-font-color-light, #ffffff));--link--c:var(--gv-link--c, var(--gv-theme-font-color-dark, #262626));--pv:var(--gv-link-a--pv, 15px);--ph:var(--gv-link-a--ph, 15px)}*,:after,:before{box-sizing:border-box}a{opacity:1;padding:var(--pv) var(--ph);color:var(--link--c);background-color:var(--gv-link--bgc,transparent);width:100%;display:inline-flex;align-content:center;text-align:var(--gv-link--ta,center);text-shadow:var(--gv-link--tsh,none);border-color:var(--gv-link--bgc,transparent);border-style:var(--gv-link-active--bds,none);border-width:var(--gv-link-active--bdw,none)}a>*{align-self:center}.active{color:var(--link-active--c);background-color:var(--gv-link-active--bgc,var(--gv-theme-color-dark,#28444f));border-color:var(--gv-link-active--bdc,none)}.link.active:hover{opacity:1}a gv-icon,a span{align-self:center}a span{flex:1;align-self:center;white-space:nowrap;margin:.3rem .5rem;text-decoration:var(--gv-link--td,none);text-overflow:ellipsis;overflow:hidden}a.small span{margin:.3rem 0;width:0;visibility:hidden}.help{margin:0 .2rem;opacity:.5;font-size:var(--gv-theme-font-size-xs,10px)}.help::before{content:'('}.help::after{content:')'}.skeleton{min-width:100px;margin:0 .2rem;opacity:.5}`,t.skeleton]}async _onClick(e){e.preventDefault(),(0,l.dispatchCustomEvent)(this,"click",{active:this.active,icon:this.icon,path:this.path,title:this._title,target:this.target})}set title(e){Promise.resolve(e).then((e=>{this._title=e})).catch((e=>{}))}render(){const t={active:this.active,link:!0,skeleton:this.skeleton,small:this.small},i=this.active?{"--gv-icon--c":"var(--link-active--c)","--gv-icon-opacity--c":"var(--link-active--c)"}:{"--gv-icon--c":"var(--link--c)","--gv-icon-opacity--c":"var(--link--c)"};return e.html`<a @click="${this._onClick}" class="${(0,n.classMap)(t)}" .href="${(0,c.ifDefined)(this.path)}" .target="${(0,c.ifDefined)(this.target)}" ?title="${(0,a.until)(this._title,"")}">${this.icon?e.html`<gv-icon shape="${this.icon}" style="${(0,r.styleMap)(i)}"></gv-icon>`:""} <span>${(0,a.until)(this._title,"")}${this.help?e.html`<span class="help">${(0,a.until)(this.help,"")}</span>`:""}</span></a>`}}exports.GvLink=s,window.customElements.define("gv-link",s);
|
package/src/atoms/gv-message.js
CHANGED
|
@@ -1,77 +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 { classMap } from 'lit/directives/class-map';
|
|
17
|
-
import { LitElement, html, css } from 'lit';
|
|
18
|
-
import { dispatchCustomEvent } from '../lib/events';
|
|
19
|
-
import '../atoms/gv-icon';
|
|
20
|
-
/**
|
|
21
|
-
* Message component
|
|
22
|
-
*
|
|
23
|
-
* ## Details
|
|
24
|
-
* * has @theme facet
|
|
25
|
-
*
|
|
26
|
-
* @fires gv-message:close - Click event from inner button element
|
|
27
|
-
*
|
|
28
|
-
* @slot - The content of the button (text or HTML)
|
|
29
|
-
*
|
|
30
|
-
* @attr {String} type - type of the message. Can be default, success, error, warning or info.
|
|
31
|
-
* @attr {boolean} closable - determines if the message can be hidden.
|
|
32
|
-
*/
|
|
33
|
-
|
|
34
|
-
export class GvMessage extends LitElement {
|
|
35
|
-
static get properties() {
|
|
36
|
-
return {
|
|
37
|
-
type: {
|
|
38
|
-
type: String
|
|
39
|
-
},
|
|
40
|
-
closable: {
|
|
41
|
-
type: Boolean
|
|
42
|
-
},
|
|
43
|
-
_close: {
|
|
44
|
-
type: Boolean,
|
|
45
|
-
attribute: false
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
static get styles() {
|
|
51
|
-
return [// language=CSS
|
|
52
|
-
css`:host{display:block;vertical-align:middle}.box{display:flex;align-items:center;font-style:normal;font-weight:400;line-height:normal;padding:12px 0;text-align:center;width:100%}.info{background-color:var(--gv-theme-color-info-light,#64b5f6)}.success{background-color:var(--gv-theme-color-success-light,#81c784)}.warning{background-color:var(--gv-theme-color-warning-light,#ffb74d)}.error{background-color:var(--gv-theme-color-error-light,#e57373)}.close{transition:opacity 250ms ease-in-out;opacity:0}gv-icon{--gv-icon--s:24px;margin-right:12px}gv-icon:hover{cursor:pointer}.content{flex:1 1 auto;margin-left:12px}`];
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
_onClick() {
|
|
56
|
-
this._close = true;
|
|
57
|
-
setTimeout(() => {
|
|
58
|
-
dispatchCustomEvent(this, 'close');
|
|
59
|
-
}, 250);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
render() {
|
|
63
|
-
const modes = {
|
|
64
|
-
box: true,
|
|
65
|
-
simple: !this.type || this.type !== 'info' && this.type !== 'success' && this.type !== 'error' && this.type !== 'warning',
|
|
66
|
-
info: this.type === 'info',
|
|
67
|
-
warning: this.type === 'warning',
|
|
68
|
-
success: this.type === 'success',
|
|
69
|
-
error: this.type === 'error',
|
|
70
|
-
close: this._close
|
|
71
|
-
};
|
|
72
|
-
return html` <div class="${classMap(modes)}"> <div class="content"> <slot></slot> </div> ${this.closable ? html`<gv-icon shape="general:close" @click="${this._onClick}"></gv-icon>` : ''} </div> `;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
}
|
|
76
|
-
window.customElements.define('gv-message', GvMessage);
|
|
77
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LW1lc3NhZ2UuanMiXSwibmFtZXMiOlsiY2xhc3NNYXAiLCJMaXRFbGVtZW50IiwiaHRtbCIsImNzcyIsImRpc3BhdGNoQ3VzdG9tRXZlbnQiLCJHdk1lc3NhZ2UiLCJwcm9wZXJ0aWVzIiwidHlwZSIsIlN0cmluZyIsImNsb3NhYmxlIiwiQm9vbGVhbiIsIl9jbG9zZSIsImF0dHJpYnV0ZSIsInN0eWxlcyIsIl9vbkNsaWNrIiwic2V0VGltZW91dCIsInJlbmRlciIsIm1vZGVzIiwiYm94Iiwic2ltcGxlIiwiaW5mbyIsIndhcm5pbmciLCJzdWNjZXNzIiwiZXJyb3IiLCJjbG9zZSIsIndpbmRvdyIsImN1c3RvbUVsZW1lbnRzIiwiZGVmaW5lIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxRQUFULFFBQXlCLDBCQUF6QjtBQUNBLFNBQVNDLFVBQVQsRUFBcUJDLElBQXJCLEVBQTJCQyxHQUEzQixRQUFzQyxLQUF0QztBQUNBLFNBQVNDLG1CQUFULFFBQW9DLGVBQXBDO0FBQ0EsT0FBTyxrQkFBUDtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBLE9BQU8sTUFBTUMsU0FBTixTQUF3QkosVUFBeEIsQ0FBbUM7QUFDbkIsYUFBVkssVUFBVSxHQUFHO0FBQ3RCLFdBQU87QUFDTEMsTUFBQUEsSUFBSSxFQUFFO0FBQUVBLFFBQUFBLElBQUksRUFBRUM7QUFBUixPQUREO0FBRUxDLE1BQUFBLFFBQVEsRUFBRTtBQUFFRixRQUFBQSxJQUFJLEVBQUVHO0FBQVIsT0FGTDtBQUdMQyxNQUFBQSxNQUFNLEVBQUU7QUFBRUosUUFBQUEsSUFBSSxFQUFFRyxPQUFSO0FBQWlCRSxRQUFBQSxTQUFTLEVBQUU7QUFBNUI7QUFISCxLQUFQO0FBS0Q7O0FBRWdCLGFBQU5DLE1BQU0sR0FBRztBQUNsQixXQUFPLENBQ0w7QUFDQVYsSUFBQUEsR0FBRyx1bUJBRkUsQ0FBUDtBQXNERDs7QUFFRFcsRUFBQUEsUUFBUSxHQUFHO0FBQ1QsU0FBS0gsTUFBTCxHQUFjLElBQWQ7QUFDQUksSUFBQUEsVUFBVSxDQUFDLE1BQU07QUFDZlgsTUFBQUEsbUJBQW1CLENBQUMsSUFBRCxFQUFPLE9BQVAsQ0FBbkI7QUFDRCxLQUZTLEVBRVAsR0FGTyxDQUFWO0FBR0Q7O0FBRURZLEVBQUFBLE1BQU0sR0FBRztBQUNQLFVBQU1DLEtBQUssR0FBRztBQUNaQyxNQUFBQSxHQUFHLEVBQUUsSUFETztBQUVaQyxNQUFBQSxNQUFNLEVBQUUsQ0FBQyxLQUFLWixJQUFOLElBQWUsS0FBS0EsSUFBTCxLQUFjLE1BQWQsSUFBd0IsS0FBS0EsSUFBTCxLQUFjLFNBQXRDLElBQW1ELEtBQUtBLElBQUwsS0FBYyxPQUFqRSxJQUE0RSxLQUFLQSxJQUFMLEtBQWMsU0FGckc7QUFHWmEsTUFBQUEsSUFBSSxFQUFFLEtBQUtiLElBQUwsS0FBYyxNQUhSO0FBSVpjLE1BQUFBLE9BQU8sRUFBRSxLQUFLZCxJQUFMLEtBQWMsU0FKWDtBQUtaZSxNQUFBQSxPQUFPLEVBQUUsS0FBS2YsSUFBTCxLQUFjLFNBTFg7QUFNWmdCLE1BQUFBLEtBQUssRUFBRSxLQUFLaEIsSUFBTCxLQUFjLE9BTlQ7QUFPWmlCLE1BQUFBLEtBQUssRUFBRSxLQUFLYjtBQVBBLEtBQWQ7QUFTQSxXQUFPVCxJQUFJLGdCQUNJRixRQUFRLENBQUNpQixLQUFELENBRFosaURBS0wsS0FBS1IsUUFBTCxHQUFnQlAsSUFBSSwwQ0FBMEMsS0FBS1ksUUFBL0MsY0FBcEIsR0FBNEYsRUFMdkYsVUFBWDtBQVFEOztBQTNGdUM7QUE4RjFDVyxNQUFNLENBQUNDLGNBQVAsQ0FBc0JDLE1BQXRCLENBQTZCLFlBQTdCLEVBQTJDdEIsU0FBM0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgY2xhc3NNYXAgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9jbGFzcy1tYXAnO1xuaW1wb3J0IHsgTGl0RWxlbWVudCwgaHRtbCwgY3NzIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGRpc3BhdGNoQ3VzdG9tRXZlbnQgfSBmcm9tICcuLi9saWIvZXZlbnRzJztcbmltcG9ydCAnLi4vYXRvbXMvZ3YtaWNvbic7XG5cbi8qKlxuICogTWVzc2FnZSBjb21wb25lbnRcbiAqXG4gKiAjIyBEZXRhaWxzXG4gKiAqIGhhcyBAdGhlbWUgZmFjZXRcbiAqXG4gKiBAZmlyZXMgZ3YtbWVzc2FnZTpjbG9zZSAtIENsaWNrIGV2ZW50IGZyb20gaW5uZXIgYnV0dG9uIGVsZW1lbnRcbiAqXG4gKiBAc2xvdCAtIFRoZSBjb250ZW50IG9mIHRoZSBidXR0b24gKHRleHQgb3IgSFRNTClcbiAqXG4gKiBAYXR0ciB7U3RyaW5nfSB0eXBlIC0gdHlwZSBvZiB0aGUgbWVzc2FnZS4gQ2FuIGJlIGRlZmF1bHQsIHN1Y2Nlc3MsIGVycm9yLCB3YXJuaW5nIG9yIGluZm8uXG4gKiBAYXR0ciB7Ym9vbGVhbn0gY2xvc2FibGUgLSBkZXRlcm1pbmVzIGlmIHRoZSBtZXNzYWdlIGNhbiBiZSBoaWRkZW4uXG4gKi9cbmV4cG9ydCBjbGFzcyBHdk1lc3NhZ2UgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgc3RhdGljIGdldCBwcm9wZXJ0aWVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgY2xvc2FibGU6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgX2Nsb3NlOiB7IHR5cGU6IEJvb2xlYW4sIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGdldCBzdHlsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC8vIGxhbmd1YWdlPUNTU1xuICAgICAgY3NzYFxuICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgIHBhZGRpbmc6IDEycHggMHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbmZvIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ndi10aGVtZS1jb2xvci1pbmZvLWxpZ2h0LCAjNjRiNWY2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWNjZXNzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ndi10aGVtZS1jb2xvci1zdWNjZXNzLWxpZ2h0LCAjODFjNzg0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC53YXJuaW5nIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ndi10aGVtZS1jb2xvci13YXJuaW5nLWxpZ2h0LCAjZmZiNzRkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lcnJvciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3YtdGhlbWUtY29sb3ItZXJyb3ItbGlnaHQsICNlNTczNzMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNsb3NlIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBndi1pY29uIHtcbiAgICAgICAgICAtLWd2LWljb24tLXM6IDI0cHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgZ3YtaWNvbjpob3ZlciB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICAgICAgfVxuICAgICAgYCxcbiAgICBdO1xuICB9XG5cbiAgX29uQ2xpY2soKSB7XG4gICAgdGhpcy5fY2xvc2UgPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgZGlzcGF0Y2hDdXN0b21FdmVudCh0aGlzLCAnY2xvc2UnKTtcbiAgICB9LCAyNTApO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IG1vZGVzID0ge1xuICAgICAgYm94OiB0cnVlLFxuICAgICAgc2ltcGxlOiAhdGhpcy50eXBlIHx8ICh0aGlzLnR5cGUgIT09ICdpbmZvJyAmJiB0aGlzLnR5cGUgIT09ICdzdWNjZXNzJyAmJiB0aGlzLnR5cGUgIT09ICdlcnJvcicgJiYgdGhpcy50eXBlICE9PSAnd2FybmluZycpLFxuICAgICAgaW5mbzogdGhpcy50eXBlID09PSAnaW5mbycsXG4gICAgICB3YXJuaW5nOiB0aGlzLnR5cGUgPT09ICd3YXJuaW5nJyxcbiAgICAgIHN1Y2Nlc3M6IHRoaXMudHlwZSA9PT0gJ3N1Y2Nlc3MnLFxuICAgICAgZXJyb3I6IHRoaXMudHlwZSA9PT0gJ2Vycm9yJyxcbiAgICAgIGNsb3NlOiB0aGlzLl9jbG9zZSxcbiAgICB9O1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz0ke2NsYXNzTWFwKG1vZGVzKX0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgJHt0aGlzLmNsb3NhYmxlID8gaHRtbGA8Z3YtaWNvbiBzaGFwZT1cImdlbmVyYWw6Y2xvc2VcIiBAY2xpY2s9XCIke3RoaXMuX29uQ2xpY2t9XCI+PC9ndi1pY29uPmAgOiAnJ31cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxud2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZ3YtbWVzc2FnZScsIEd2TWVzc2FnZSk7XG4iXX0=
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.GvMessage=void 0;const e=require("lit/directives/class-map"),t=require("lit"),s=require("../lib/events");require("../atoms/gv-icon");class i extends t.LitElement{static get properties(){return{type:{type:String},closable:{type:Boolean},_close:{type:Boolean,attribute:!1}}}static get styles(){return[t.css`:host{display:block;vertical-align:middle}.box{display:flex;align-items:center;font-style:normal;font-weight:400;line-height:normal;padding:12px 0;text-align:center;width:100%}.info{background-color:var(--gv-theme-color-info-light,#64b5f6)}.success{background-color:var(--gv-theme-color-success-light,#81c784)}.warning{background-color:var(--gv-theme-color-warning-light,#ffb74d)}.error{background-color:var(--gv-theme-color-error-light,#e57373)}.close{transition:opacity 250ms ease-in-out;opacity:0}gv-icon{--gv-icon--s:24px;margin-right:12px}gv-icon:hover{cursor:pointer}.content{flex:1 1 auto;margin-left:12px}`]}_onClick(){this._close=!0,setTimeout((()=>{(0,s.dispatchCustomEvent)(this,"close")}),250)}render(){const s={box:!0,simple:!this.type||"info"!==this.type&&"success"!==this.type&&"error"!==this.type&&"warning"!==this.type,info:"info"===this.type,warning:"warning"===this.type,success:"success"===this.type,error:"error"===this.type,close:this._close};return t.html`<div class="${(0,e.classMap)(s)}"><div class="content"><slot></slot></div>${this.closable?t.html`<gv-icon shape="general:close" @click="${this._onClick}"></gv-icon>`:""}</div>`}}exports.GvMessage=i,window.customElements.define("gv-message",i);
|
package/src/atoms/gv-metric.js
CHANGED
|
@@ -1,68 +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 { classMap } from 'lit/directives/class-map';
|
|
17
|
-
import { LitElement, html, css } from 'lit';
|
|
18
|
-
import { skeleton } from '../styles/skeleton';
|
|
19
|
-
import './gv-icon';
|
|
20
|
-
/**
|
|
21
|
-
* A Metric
|
|
22
|
-
*
|
|
23
|
-
* ## Details
|
|
24
|
-
* * has @theme facet
|
|
25
|
-
*
|
|
26
|
-
* @attr {String} icon - name of shape
|
|
27
|
-
* @attr {String} name - the name of the metric
|
|
28
|
-
* @attr {String} value - the value of the metric
|
|
29
|
-
* @attr {Boolean} skeleton - enable skeleton screen UI pattern (loading hint)
|
|
30
|
-
*
|
|
31
|
-
* @cssprop {Color} [--gv-metric--c=var(--gv-theme-color, #5a7684)] - Color
|
|
32
|
-
* @cssprop {Length} [--gv-metric-icon--s=24px] - Height and icon width
|
|
33
|
-
*/
|
|
34
|
-
|
|
35
|
-
export class GvMetric extends LitElement {
|
|
36
|
-
static get properties() {
|
|
37
|
-
return {
|
|
38
|
-
icon: {
|
|
39
|
-
type: String
|
|
40
|
-
},
|
|
41
|
-
name: {
|
|
42
|
-
type: String
|
|
43
|
-
},
|
|
44
|
-
value: {
|
|
45
|
-
type: String
|
|
46
|
-
},
|
|
47
|
-
skeleton: {
|
|
48
|
-
type: Boolean
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
static get styles() {
|
|
54
|
-
return [// language=CSS
|
|
55
|
-
css`:host{box-sizing:border-box}.metric{--gv-icon--s:var(--gv-metric-icon--s, 24px);--gv-icon--c:var(--gv-metric--c, var(--gv-theme-color, #5a7684));min-width:75px;height:100%;width:100%;display:flex;flex-direction:row}.icon{align-self:center;margin-right:4px}div{display:block}.metric-data{display:flex;flex-direction:column;justify-content:flex-end}.metric-value{font-size:var(--gv-theme-font-size-m,14px);line-height:var(--gv-theme-font-size-m,14px)}.metric-name{font-size:var(--gv-theme-font-size-xs,10px);line-height:var(--gv-theme-font-size-xs,10px);opacity:.5}`, skeleton];
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
render() {
|
|
59
|
-
const modes = {
|
|
60
|
-
skeleton: this.skeleton,
|
|
61
|
-
metric: true
|
|
62
|
-
};
|
|
63
|
-
return html` <div class="${classMap(modes)}"> ${this.value ? html` <div class="icon"> <gv-icon shape="${this.icon}"></gv-icon> </div> <div class="metric-data"> <div class="metric-value">${this.value}</div> <div class="metric-name">${this.name}</div> </div> ` : ''} </div> `;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
}
|
|
67
|
-
window.customElements.define('gv-metric', GvMetric);
|
|
68
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LW1ldHJpYy5qcyJdLCJuYW1lcyI6WyJjbGFzc01hcCIsIkxpdEVsZW1lbnQiLCJodG1sIiwiY3NzIiwic2tlbGV0b24iLCJHdk1ldHJpYyIsInByb3BlcnRpZXMiLCJpY29uIiwidHlwZSIsIlN0cmluZyIsIm5hbWUiLCJ2YWx1ZSIsIkJvb2xlYW4iLCJzdHlsZXMiLCJyZW5kZXIiLCJtb2RlcyIsIm1ldHJpYyIsIndpbmRvdyIsImN1c3RvbUVsZW1lbnRzIiwiZGVmaW5lIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxRQUFULFFBQXlCLDBCQUF6QjtBQUNBLFNBQVNDLFVBQVQsRUFBcUJDLElBQXJCLEVBQTJCQyxHQUEzQixRQUFzQyxLQUF0QztBQUNBLFNBQVNDLFFBQVQsUUFBeUIsb0JBQXpCO0FBQ0EsT0FBTyxXQUFQO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxPQUFPLE1BQU1DLFFBQU4sU0FBdUJKLFVBQXZCLENBQWtDO0FBQ2xCLGFBQVZLLFVBQVUsR0FBRztBQUN0QixXQUFPO0FBQ0xDLE1BQUFBLElBQUksRUFBRTtBQUFFQyxRQUFBQSxJQUFJLEVBQUVDO0FBQVIsT0FERDtBQUVMQyxNQUFBQSxJQUFJLEVBQUU7QUFBRUYsUUFBQUEsSUFBSSxFQUFFQztBQUFSLE9BRkQ7QUFHTEUsTUFBQUEsS0FBSyxFQUFFO0FBQUVILFFBQUFBLElBQUksRUFBRUM7QUFBUixPQUhGO0FBSUxMLE1BQUFBLFFBQVEsRUFBRTtBQUFFSSxRQUFBQSxJQUFJLEVBQUVJO0FBQVI7QUFKTCxLQUFQO0FBTUQ7O0FBRWdCLGFBQU5DLE1BQU0sR0FBRztBQUNsQixXQUFPLENBQ0w7QUFDQVYsSUFBQUEsR0FBRyxxakJBRkUsRUEyQ0xDLFFBM0NLLENBQVA7QUE2Q0Q7O0FBRURVLEVBQUFBLE1BQU0sR0FBRztBQUNQLFVBQU1DLEtBQUssR0FBRztBQUNaWCxNQUFBQSxRQUFRLEVBQUUsS0FBS0EsUUFESDtBQUVaWSxNQUFBQSxNQUFNLEVBQUU7QUFGSSxLQUFkO0FBS0EsV0FBT2QsSUFBSSxnQkFDSUYsUUFBUSxDQUFDZSxLQUFELENBRFosTUFFTCxLQUFLSixLQUFMLEdBQ0VULElBQUksdUNBRWtCLEtBQUtLLElBRnZCLDJFQUs0QixLQUFLSSxLQUxqQyxtQ0FNMkIsS0FBS0QsSUFOaEMsZ0JBRE4sR0FVRSxFQVpHLFVBQVg7QUFlRDs7QUEvRXNDO0FBa0Z6Q08sTUFBTSxDQUFDQyxjQUFQLENBQXNCQyxNQUF0QixDQUE2QixXQUE3QixFQUEwQ2QsUUFBMUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgY2xhc3NNYXAgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9jbGFzcy1tYXAnO1xuaW1wb3J0IHsgTGl0RWxlbWVudCwgaHRtbCwgY3NzIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHNrZWxldG9uIH0gZnJvbSAnLi4vc3R5bGVzL3NrZWxldG9uJztcbmltcG9ydCAnLi9ndi1pY29uJztcblxuLyoqXG4gKiBBIE1ldHJpY1xuICpcbiAqICMjIERldGFpbHNcbiAqICogaGFzIEB0aGVtZSBmYWNldFxuICpcbiAqIEBhdHRyIHtTdHJpbmd9IGljb24gLSBuYW1lIG9mIHNoYXBlXG4gKiBAYXR0ciB7U3RyaW5nfSBuYW1lIC0gdGhlIG5hbWUgb2YgdGhlIG1ldHJpY1xuICogQGF0dHIge1N0cmluZ30gdmFsdWUgLSB0aGUgdmFsdWUgb2YgdGhlIG1ldHJpY1xuICogQGF0dHIge0Jvb2xlYW59IHNrZWxldG9uIC0gZW5hYmxlIHNrZWxldG9uIHNjcmVlbiBVSSBwYXR0ZXJuIChsb2FkaW5nIGhpbnQpXG4gKlxuICogQGNzc3Byb3Age0NvbG9yfSBbLS1ndi1tZXRyaWMtLWM9dmFyKC0tZ3YtdGhlbWUtY29sb3IsICM1YTc2ODQpXSAtIENvbG9yXG4gKiBAY3NzcHJvcCB7TGVuZ3RofSBbLS1ndi1tZXRyaWMtaWNvbi0tcz0yNHB4XSAtIEhlaWdodCBhbmQgaWNvbiB3aWR0aFxuICovXG5leHBvcnQgY2xhc3MgR3ZNZXRyaWMgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgc3RhdGljIGdldCBwcm9wZXJ0aWVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgbmFtZTogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIHZhbHVlOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgc2tlbGV0b246IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZ2V0IHN0eWxlcygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgLy8gbGFuZ3VhZ2U9Q1NTXG4gICAgICBjc3NgXG4gICAgICAgIDpob3N0IHtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1ldHJpYyB7XG4gICAgICAgICAgLS1ndi1pY29uLS1zOiB2YXIoLS1ndi1tZXRyaWMtaWNvbi0tcywgMjRweCk7XG4gICAgICAgICAgLS1ndi1pY29uLS1jOiB2YXIoLS1ndi1tZXRyaWMtLWMsIHZhcigtLWd2LXRoZW1lLWNvbG9yLCAjNWE3Njg0KSk7XG4gICAgICAgICAgbWluLXdpZHRoOiA3NXB4O1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgZGl2IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZXRyaWMtZGF0YSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIH1cblxuICAgICAgICAubWV0cmljLXZhbHVlIHtcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS1tLCAxNHB4KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tZ3YtdGhlbWUtZm9udC1zaXplLW0sIDE0cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1ldHJpYy1uYW1lIHtcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS14cywgMTBweCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS14cywgMTBweCk7XG4gICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICB9XG4gICAgICBgLFxuICAgICAgc2tlbGV0b24sXG4gICAgXTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCBtb2RlcyA9IHtcbiAgICAgIHNrZWxldG9uOiB0aGlzLnNrZWxldG9uLFxuICAgICAgbWV0cmljOiB0cnVlLFxuICAgIH07XG5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9JHtjbGFzc01hcChtb2Rlcyl9PlxuICAgICAgICAke3RoaXMudmFsdWVcbiAgICAgICAgICA/IGh0bWxgXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uXCI+XG4gICAgICAgICAgICAgICAgPGd2LWljb24gc2hhcGU9XCIke3RoaXMuaWNvbn1cIj48L2d2LWljb24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWV0cmljLWRhdGFcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWV0cmljLXZhbHVlXCI+JHt0aGlzLnZhbHVlfTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXRyaWMtbmFtZVwiPiR7dGhpcy5uYW1lfTwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIGBcbiAgICAgICAgICA6ICcnfVxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG53aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdndi1tZXRyaWMnLCBHdk1ldHJpYyk7XG4iXX0=
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.GvMetric=void 0;const e=require("lit/directives/class-map"),i=require("lit"),t=require("../styles/skeleton");require("./gv-icon");class s extends i.LitElement{static get properties(){return{icon:{type:String},name:{type:String},value:{type:String},skeleton:{type:Boolean}}}static get styles(){return[i.css`:host{box-sizing:border-box}.metric{--gv-icon--s:var(--gv-metric-icon--s, 24px);--gv-icon--c:var(--gv-metric--c, var(--gv-theme-color, #5a7684));min-width:75px;height:100%;width:100%;display:flex;flex-direction:row}.icon{align-self:center;margin-right:4px}div{display:block}.metric-data{display:flex;flex-direction:column;justify-content:flex-end}.metric-value{font-size:var(--gv-theme-font-size-m,14px);line-height:var(--gv-theme-font-size-m,14px)}.metric-name{font-size:var(--gv-theme-font-size-xs,10px);line-height:var(--gv-theme-font-size-xs,10px);opacity:.5}`,t.skeleton]}render(){const t={skeleton:this.skeleton,metric:!0};return i.html`<div class="${(0,e.classMap)(t)}">${this.value?i.html`<div class="icon"><gv-icon shape="${this.icon}"></gv-icon></div><div class="metric-data"><div class="metric-value">${this.value}</div><div class="metric-name">${this.name}</div></div>`:""}</div>`}}exports.GvMetric=s,window.customElements.define("gv-metric",s);
|
|
@@ -1,185 +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 { getLanguage, getAvailableLanguages } from '../lib/i18n';
|
|
17
|
-
import { LitElement, html } from 'lit';
|
|
18
|
-
import { until } from 'lit/directives/until';
|
|
19
|
-
import { shouldPolyfill as shouldPolyfillIntlRelativeTimeFormat } from '@formatjs/intl-relativetimeformat/should-polyfill';
|
|
20
|
-
const options = {
|
|
21
|
-
year: 'numeric',
|
|
22
|
-
month: 'short',
|
|
23
|
-
day: 'numeric',
|
|
24
|
-
hour: 'numeric',
|
|
25
|
-
minute: 'numeric',
|
|
26
|
-
timeZoneName: 'short'
|
|
27
|
-
};
|
|
28
|
-
const UNITS = [{
|
|
29
|
-
unit: 'year',
|
|
30
|
-
duration: 1000 * 60 * 60 * 24 * 365.25
|
|
31
|
-
}, {
|
|
32
|
-
unit: 'month',
|
|
33
|
-
duration: 1000 * 60 * 60 * 24 * (365.25 / 12)
|
|
34
|
-
}, {
|
|
35
|
-
unit: 'week',
|
|
36
|
-
duration: 1000 * 60 * 60 * 24 * 7
|
|
37
|
-
}, {
|
|
38
|
-
unit: 'day',
|
|
39
|
-
duration: 1000 * 60 * 60 * 24
|
|
40
|
-
}, {
|
|
41
|
-
unit: 'hour',
|
|
42
|
-
duration: 1000 * 60 * 60
|
|
43
|
-
}, {
|
|
44
|
-
unit: 'minute',
|
|
45
|
-
duration: 1000 * 60
|
|
46
|
-
}, {
|
|
47
|
-
unit: 'second',
|
|
48
|
-
duration: 1000
|
|
49
|
-
}];
|
|
50
|
-
/**
|
|
51
|
-
* Component to display a localized humanized relative date (ex: "two minutes ago").
|
|
52
|
-
*
|
|
53
|
-
* ## Details
|
|
54
|
-
* * has @theme facet
|
|
55
|
-
*
|
|
56
|
-
* @prop {String|Number} datetime - Date as ISO string or timestamp.
|
|
57
|
-
* @prop {Boolean} noFuture - Whether a date in future is allowed or not (useful when not sync).
|
|
58
|
-
*/
|
|
59
|
-
|
|
60
|
-
export class GvRelativeTime extends LitElement {
|
|
61
|
-
static get properties() {
|
|
62
|
-
return {
|
|
63
|
-
datetime: {
|
|
64
|
-
type: String
|
|
65
|
-
},
|
|
66
|
-
title: {
|
|
67
|
-
type: String,
|
|
68
|
-
reflect: true
|
|
69
|
-
},
|
|
70
|
-
noFuture: {
|
|
71
|
-
type: Boolean
|
|
72
|
-
},
|
|
73
|
-
_relativeTime: {
|
|
74
|
-
type: String,
|
|
75
|
-
attribute: false
|
|
76
|
-
},
|
|
77
|
-
_updateIntervalId: {
|
|
78
|
-
type: String,
|
|
79
|
-
attribute: false
|
|
80
|
-
}
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
constructor() {
|
|
85
|
-
super();
|
|
86
|
-
this._formatter = null;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
async getFormatter() {
|
|
90
|
-
if (this._formatter == null) {
|
|
91
|
-
if (!shouldPolyfillIntlRelativeTimeFormat()) {
|
|
92
|
-
this._formatter = Intl.RelativeTimeFormat;
|
|
93
|
-
return this._formatter;
|
|
94
|
-
} else {
|
|
95
|
-
// Load the needed polyfills 1st BEFORE loading data
|
|
96
|
-
return import('@formatjs/intl-locale/polyfill').then(() => import('@formatjs/intl-relativetimeformat/polyfill')).then(() => Promise.all([...Object.values(getAvailableLanguages()).map(_lang => {
|
|
97
|
-
return import(`@formatjs/intl-relativetimeformat/locale-data/${_lang}`);
|
|
98
|
-
})])).then(() => {
|
|
99
|
-
this._formatter = Intl.RelativeTimeFormat;
|
|
100
|
-
return this._formatter;
|
|
101
|
-
}).catch(err => {
|
|
102
|
-
console.error(err);
|
|
103
|
-
throw new Error('Cannot load @formatjs/intl polyfills');
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
} else {
|
|
107
|
-
return this._formatter;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
set datetime(value) {
|
|
112
|
-
value = this.noFuture ? this._formatDateInThePast(value) : value;
|
|
113
|
-
const dtf = new Intl.DateTimeFormat(getLanguage(), options);
|
|
114
|
-
this.title = dtf.format(new Date(value));
|
|
115
|
-
this._datetime = value;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
_formatDateInThePast(date) {
|
|
119
|
-
// to avoid to have date in the future in case of desynchronization between browser and server
|
|
120
|
-
if (date) {
|
|
121
|
-
const now = new Date();
|
|
122
|
-
|
|
123
|
-
if (now.getTime() < new Date(date).getTime()) {
|
|
124
|
-
date = now;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
return date;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
async _format(dateStr, lang) {
|
|
132
|
-
const Formatter = await this.getFormatter();
|
|
133
|
-
|
|
134
|
-
const format = (value, unit) => {
|
|
135
|
-
if (!isNaN(value)) {
|
|
136
|
-
return new Formatter(lang, {
|
|
137
|
-
numeric: 'auto'
|
|
138
|
-
}).format(-value, unit);
|
|
139
|
-
}
|
|
140
|
-
};
|
|
141
|
-
|
|
142
|
-
const now = new Date().getTime();
|
|
143
|
-
const diff = now - new Date(dateStr).getTime();
|
|
144
|
-
|
|
145
|
-
for (const {
|
|
146
|
-
unit,
|
|
147
|
-
duration
|
|
148
|
-
} of UNITS) {
|
|
149
|
-
const value = diff / duration;
|
|
150
|
-
const roundedValue = Math.round(value);
|
|
151
|
-
|
|
152
|
-
if (Math.abs(value) >= 1) {
|
|
153
|
-
return format(roundedValue, unit);
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
return format(Math.round(diff / 1000), 'second');
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
connectedCallback() {
|
|
161
|
-
super.connectedCallback();
|
|
162
|
-
|
|
163
|
-
if (this.updateIntervalId == null) {
|
|
164
|
-
setTimeout(() => {
|
|
165
|
-
this.performUpdate();
|
|
166
|
-
});
|
|
167
|
-
this.updateIntervalId = setInterval(() => {
|
|
168
|
-
this.performUpdate();
|
|
169
|
-
}, 10 * 1000);
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
disconnectedCallback() {
|
|
174
|
-
super.disconnectedCallback();
|
|
175
|
-
clearInterval(this.updateIntervalId);
|
|
176
|
-
this.updateIntervalId = null;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
render() {
|
|
180
|
-
return html`<span title="${this.title}">${until(this._format(this._datetime, getLanguage()))}</span>`;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
}
|
|
184
|
-
window.customElements.define('gv-relative-time', GvRelativeTime);
|
|
185
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LXJlbGF0aXZlLXRpbWUuanMiXSwibmFtZXMiOlsiZ2V0TGFuZ3VhZ2UiLCJnZXRBdmFpbGFibGVMYW5ndWFnZXMiLCJMaXRFbGVtZW50IiwiaHRtbCIsInVudGlsIiwic2hvdWxkUG9seWZpbGwiLCJzaG91bGRQb2x5ZmlsbEludGxSZWxhdGl2ZVRpbWVGb3JtYXQiLCJvcHRpb25zIiwieWVhciIsIm1vbnRoIiwiZGF5IiwiaG91ciIsIm1pbnV0ZSIsInRpbWVab25lTmFtZSIsIlVOSVRTIiwidW5pdCIsImR1cmF0aW9uIiwiR3ZSZWxhdGl2ZVRpbWUiLCJwcm9wZXJ0aWVzIiwiZGF0ZXRpbWUiLCJ0eXBlIiwiU3RyaW5nIiwidGl0bGUiLCJyZWZsZWN0Iiwibm9GdXR1cmUiLCJCb29sZWFuIiwiX3JlbGF0aXZlVGltZSIsImF0dHJpYnV0ZSIsIl91cGRhdGVJbnRlcnZhbElkIiwiY29uc3RydWN0b3IiLCJfZm9ybWF0dGVyIiwiZ2V0Rm9ybWF0dGVyIiwiSW50bCIsIlJlbGF0aXZlVGltZUZvcm1hdCIsInRoZW4iLCJQcm9taXNlIiwiYWxsIiwiT2JqZWN0IiwidmFsdWVzIiwibWFwIiwiX2xhbmciLCJjYXRjaCIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsIkVycm9yIiwidmFsdWUiLCJfZm9ybWF0RGF0ZUluVGhlUGFzdCIsImR0ZiIsIkRhdGVUaW1lRm9ybWF0IiwiZm9ybWF0IiwiRGF0ZSIsIl9kYXRldGltZSIsImRhdGUiLCJub3ciLCJnZXRUaW1lIiwiX2Zvcm1hdCIsImRhdGVTdHIiLCJsYW5nIiwiRm9ybWF0dGVyIiwiaXNOYU4iLCJudW1lcmljIiwiZGlmZiIsInJvdW5kZWRWYWx1ZSIsIk1hdGgiLCJyb3VuZCIsImFicyIsImNvbm5lY3RlZENhbGxiYWNrIiwidXBkYXRlSW50ZXJ2YWxJZCIsInNldFRpbWVvdXQiLCJwZXJmb3JtVXBkYXRlIiwic2V0SW50ZXJ2YWwiLCJkaXNjb25uZWN0ZWRDYWxsYmFjayIsImNsZWFySW50ZXJ2YWwiLCJyZW5kZXIiLCJ3aW5kb3ciLCJjdXN0b21FbGVtZW50cyIsImRlZmluZSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsV0FBVCxFQUFzQkMscUJBQXRCLFFBQW1ELGFBQW5EO0FBQ0EsU0FBU0MsVUFBVCxFQUFxQkMsSUFBckIsUUFBaUMsS0FBakM7QUFDQSxTQUFTQyxLQUFULFFBQXNCLHNCQUF0QjtBQUNBLFNBQVNDLGNBQWMsSUFBSUMsb0NBQTNCLFFBQXVFLG1EQUF2RTtBQUVBLE1BQU1DLE9BQU8sR0FBRztBQUNkQyxFQUFBQSxJQUFJLEVBQUUsU0FEUTtBQUVkQyxFQUFBQSxLQUFLLEVBQUUsT0FGTztBQUdkQyxFQUFBQSxHQUFHLEVBQUUsU0FIUztBQUlkQyxFQUFBQSxJQUFJLEVBQUUsU0FKUTtBQUtkQyxFQUFBQSxNQUFNLEVBQUUsU0FMTTtBQU1kQyxFQUFBQSxZQUFZLEVBQUU7QUFOQSxDQUFoQjtBQVNBLE1BQU1DLEtBQUssR0FBRyxDQUNaO0FBQUVDLEVBQUFBLElBQUksRUFBRSxNQUFSO0FBQWdCQyxFQUFBQSxRQUFRLEVBQUUsT0FBTyxFQUFQLEdBQVksRUFBWixHQUFpQixFQUFqQixHQUFzQjtBQUFoRCxDQURZLEVBRVo7QUFBRUQsRUFBQUEsSUFBSSxFQUFFLE9BQVI7QUFBaUJDLEVBQUFBLFFBQVEsRUFBRSxPQUFPLEVBQVAsR0FBWSxFQUFaLEdBQWlCLEVBQWpCLElBQXVCLFNBQVMsRUFBaEM7QUFBM0IsQ0FGWSxFQUdaO0FBQUVELEVBQUFBLElBQUksRUFBRSxNQUFSO0FBQWdCQyxFQUFBQSxRQUFRLEVBQUUsT0FBTyxFQUFQLEdBQVksRUFBWixHQUFpQixFQUFqQixHQUFzQjtBQUFoRCxDQUhZLEVBSVo7QUFBRUQsRUFBQUEsSUFBSSxFQUFFLEtBQVI7QUFB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QUFyQjs7QUFDQSxVQUFJa0IsSUFBSSxDQUFDRSxHQUFMLENBQVNwQixLQUFULEtBQW1CLENBQXZCLEVBQTBCO0FBQ3hCLGVBQU9JLE1BQU0sQ0FBQ2EsWUFBRCxFQUFlaEQsSUFBZixDQUFiO0FBQ0Q7QUFDRjs7QUFDRCxXQUFPbUMsTUFBTSxDQUFDYyxJQUFJLENBQUNDLEtBQUwsQ0FBV0gsSUFBSSxHQUFHLElBQWxCLENBQUQsRUFBMEIsUUFBMUIsQ0FBYjtBQUNEOztBQUVESyxFQUFBQSxpQkFBaUIsR0FBRztBQUNsQixVQUFNQSxpQkFBTjs7QUFDQSxRQUFJLEtBQUtDLGdCQUFMLElBQXlCLElBQTdCLEVBQW1DO0FBQ2pDQyxNQUFBQSxVQUFVLENBQUMsTUFBTTtBQUNmLGFBQUtDLGFBQUw7QUFDRCxPQUZTLENBQVY7QUFHQSxXQUFLRixnQkFBTCxHQUF3QkcsV0FBVyxDQUFDLE1BQU07QUFDeEMsYUFBS0QsYUFBTDtBQUNELE9BRmtDLEVBRWhDLEtBQUssSUFGMkIsQ0FBbkM7QUFHRDtBQUNGOztBQUVERSxFQUFBQSxvQkFBb0IsR0FBRztBQUNyQixVQUFNQSxvQkFBTjtBQUNBQyxJQUFBQSxhQUFhLENBQUMsS0FBS0wsZ0JBQU4sQ0FBYjtBQUNBLFNBQUtBLGdCQUFMLEdBQXdCLElBQXhCO0FBQ0Q7O0FBRURNLEVBQUFBLE1BQU0sR0FBRztBQUNQLFdBQU92RSxJQUFJLGdCQUFnQixLQUFLbUIsS0FBckIsS0FBK0JsQixLQUFLLENBQUMsS0FBS29ELE9BQUwsQ0FBYSxLQUFLSixTQUFsQixFQUE2QnBELFdBQVcsRUFBeEMsQ0FBRCxDQUFwQyxTQUFYO0FBQ0Q7O0FBeEc0QztBQTJHL0MyRSxNQUFNLENBQUNDLGNBQVAsQ0FBc0JDLE1BQXRCLENBQTZCLGtCQUE3QixFQUFpRDVELGNBQWpEIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IGdldExhbmd1YWdlLCBnZXRBdmFpbGFibGVMYW5ndWFnZXMgfSBmcm9tICcuLi9saWIvaTE4bic7XG5pbXBvcnQgeyBMaXRFbGVtZW50LCBodG1sIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHVudGlsIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvdW50aWwnO1xuaW1wb3J0IHsgc2hvdWxkUG9seWZpbGwgYXMgc2hvdWxkUG9seWZpbGxJbnRsUmVsYXRpdmVUaW1lRm9ybWF0IH0gZnJvbSAnQGZvcm1hdGpzL2ludGwtcmVsYXRpdmV0aW1lZm9ybWF0L3Nob3VsZC1wb2x5ZmlsbCc7XG5cbmNvbnN0IG9wdGlvbnMgPSB7XG4gIHllYXI6ICdudW1lcmljJyxcbiAgbW9udGg6ICdzaG9ydCcsXG4gIGRheTogJ251bWVyaWMnLFxuICBob3VyOiAnbnVtZXJpYycsXG4gIG1pbnV0ZTogJ251bWVyaWMnLFxuICB0aW1lWm9uZU5hbWU6ICdzaG9ydCcsXG59O1xuXG5jb25zdCBVTklUUyA9IFtcbiAgeyB1bml0OiAneWVhcicsIGR1cmF0aW9uOiAxMDAwICogNjAgKiA2MCAqIDI0ICogMzY1LjI1IH0sXG4gIHsgdW5pdDogJ21vbnRoJywgZHVyYXRpb246IDEwMDAgKiA2MCAqIDYwICogMjQgKiAoMzY1LjI1IC8gMTIpIH0sXG4gIHsgdW5pdDogJ3dlZWsnLCBkdXJhdGlvbjogMTAwMCAqIDYwICogNjAgKiAyNCAqIDcgfSxcbiAgeyB1bml0OiAnZGF5JywgZHVyYXRpb246IDEwMDAgKiA2MCAqIDYwICogMjQgfSxcbiAgeyB1bml0OiAnaG91cicsIGR1cmF0aW9uOiAxMDAwICogNjAgKiA2MCB9LFxuICB7IHVuaXQ6ICdtaW51dGUnLCBkdXJhdGlvbjogMTAwMCAqIDYwIH0sXG4gIHsgdW5pdDogJ3NlY29uZCcsIGR1cmF0aW9uOiAxMDAwIH0sXG5dO1xuXG4vKipcbiAqIENvbXBvbmVudCB0byBkaXNwbGF5IGEgbG9jYWxpemVkIGh1bWFuaXplZCByZWxhdGl2ZSBkYXRlIChleDogXCJ0d28gbWludXRlcyBhZ29cIikuXG4gKlxuICogIyMgRGV0YWlsc1xuICogKiBoYXMgQHRoZW1lIGZhY2V0XG4gKlxuICogQHByb3Age1N0cmluZ3xOdW1iZXJ9IGRhdGV0aW1lIC0gRGF0ZSBhcyBJU08gc3RyaW5nIG9yIHRpbWVzdGFtcC5cbiAqIEBwcm9wIHtCb29sZWFufSBub0Z1dHVyZSAtIFdoZXRoZXIgYSBkYXRlIGluIGZ1dHVyZSBpcyBhbGxvd2VkIG9yIG5vdCAodXNlZnVsIHdoZW4gbm90IHN5bmMpLlxuICovXG5leHBvcnQgY2xhc3MgR3ZSZWxhdGl2ZVRpbWUgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgc3RhdGljIGdldCBwcm9wZXJ0aWVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBkYXRldGltZTogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIHRpdGxlOiB7IHR5cGU6IFN0cmluZywgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgbm9GdXR1cmU6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgX3JlbGF0aXZlVGltZTogeyB0eXBlOiBTdHJpbmcsIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICAgIF91cGRhdGVJbnRlcnZhbElkOiB7IHR5cGU6IFN0cmluZywgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgIH07XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX2Zvcm1hdHRlciA9IG51bGw7XG4gIH1cblxuICBhc3luYyBnZXRGb3JtYXR0ZXIoKSB7XG4gICAgaWYgKHRoaXMuX2Zvcm1hdHRlciA9PSBudWxsKSB7XG4gICAgICBpZiAoIXNob3VsZFBvbHlmaWxsSW50bFJlbGF0aXZlVGltZUZvcm1hdCgpKSB7XG4gICAgICAgIHRoaXMuX2Zvcm1hdHRlciA9IEludGwuUmVsYXRpdmVUaW1lRm9ybWF0O1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9ybWF0dGVyO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gTG9hZCB0aGUgbmVlZGVkIHBvbHlmaWxscyAxc3QgQkVGT1JFIGxvYWRpbmcgZGF0YVxuICAgICAgICByZXR1cm4gaW1wb3J0KCdAZm9ybWF0anMvaW50bC1sb2NhbGUvcG9seWZpbGwnKVxuICAgICAgICAgIC50aGVuKCgpID0+IGltcG9ydCgnQGZvcm1hdGpzL2ludGwtcmVsYXRpdmV0aW1lZm9ybWF0L3BvbHlmaWxsJykpXG4gICAgICAgICAgLnRoZW4oKCkgPT5cbiAgICAgICAgICAgIFByb21pc2UuYWxsKFtcbiAgICAgICAgICAgICAgLi4uT2JqZWN0LnZhbHVlcyhnZXRBdmFpbGFibGVMYW5ndWFnZXMoKSkubWFwKChfbGFuZykgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBpbXBvcnQoYEBmb3JtYXRqcy9pbnRsLXJlbGF0aXZldGltZWZvcm1hdC9sb2NhbGUtZGF0YS8ke19sYW5nfWApO1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgIClcbiAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9mb3JtYXR0ZXIgPSBJbnRsLlJlbGF0aXZlVGltZUZvcm1hdDtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9mb3JtYXR0ZXI7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgbG9hZCBAZm9ybWF0anMvaW50bCBwb2x5ZmlsbHMnKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1hdHRlcjtcbiAgICB9XG4gIH1cblxuICBzZXQgZGF0ZXRpbWUodmFsdWUpIHtcbiAgICB2YWx1ZSA9IHRoaXMubm9GdXR1cmUgPyB0aGlzLl9mb3JtYXREYXRlSW5UaGVQYXN0KHZhbHVlKSA6IHZhbHVlO1xuICAgIGNvbnN0IGR0ZiA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGdldExhbmd1YWdlKCksIG9wdGlvbnMpO1xuICAgIHRoaXMudGl0bGUgPSBkdGYuZm9ybWF0KG5ldyBEYXRlKHZhbHVlKSk7XG4gICAgdGhpcy5fZGF0ZXRpbWUgPSB2YWx1ZTtcbiAgfVxuXG4gIF9mb3JtYXREYXRlSW5UaGVQYXN0KGRhdGUpIHtcbiAgICAvLyB0byBhdm9pZCB0byBoYXZlIGRhdGUgaW4gdGhlIGZ1dHVyZSBpbiBjYXNlIG9mIGRlc3luY2hyb25pemF0aW9uIGJldHdlZW4gYnJvd3NlciBhbmQgc2VydmVyXG4gICAgaWYgKGRhdGUpIHtcbiAgICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gICAgICBpZiAobm93LmdldFRpbWUoKSA8IG5ldyBEYXRlKGRhdGUpLmdldFRpbWUoKSkge1xuICAgICAgICBkYXRlID0gbm93O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZGF0ZTtcbiAgfVxuXG4gIGFzeW5jIF9mb3JtYXQoZGF0ZVN0ciwgbGFuZykge1xuICAgIGNvbnN0IEZvcm1hdHRlciA9IGF3YWl0IHRoaXMuZ2V0Rm9ybWF0dGVyKCk7XG4gICAgY29uc3QgZm9ybWF0ID0gKHZhbHVlLCB1bml0KSA9PiB7XG4gICAgICBpZiAoIWlzTmFOKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gbmV3IEZvcm1hdHRlcihsYW5nLCB7IG51bWVyaWM6ICdhdXRvJyB9KS5mb3JtYXQoLXZhbHVlLCB1bml0KTtcbiAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgIGNvbnN0IGRpZmYgPSBub3cgLSBuZXcgRGF0ZShkYXRlU3RyKS5nZXRUaW1lKCk7XG5cbiAgICBmb3IgKGNvbnN0IHsgdW5pdCwgZHVyYXRpb24gfSBvZiBVTklUUykge1xuICAgICAgY29uc3QgdmFsdWUgPSBkaWZmIC8gZHVyYXRpb247XG4gICAgICBjb25zdCByb3VuZGVkVmFsdWUgPSBNYXRoLnJvdW5kKHZhbHVlKTtcbiAgICAgIGlmIChNYXRoLmFicyh2YWx1ZSkgPj0gMSkge1xuICAgICAgICByZXR1cm4gZm9ybWF0KHJvdW5kZWRWYWx1ZSwgdW5pdCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmb3JtYXQoTWF0aC5yb3VuZChkaWZmIC8gMTAwMCksICdzZWNvbmQnKTtcbiAgfVxuXG4gIGNvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgaWYgKHRoaXMudXBkYXRlSW50ZXJ2YWxJZCA9PSBudWxsKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5wZXJmb3JtVXBkYXRlKCk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMudXBkYXRlSW50ZXJ2YWxJZCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgdGhpcy5wZXJmb3JtVXBkYXRlKCk7XG4gICAgICB9LCAxMCAqIDEwMDApO1xuICAgIH1cbiAgfVxuXG4gIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLnVwZGF0ZUludGVydmFsSWQpO1xuICAgIHRoaXMudXBkYXRlSW50ZXJ2YWxJZCA9IG51bGw7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIGh0bWxgPHNwYW4gdGl0bGU9XCIke3RoaXMudGl0bGV9XCI+JHt1bnRpbCh0aGlzLl9mb3JtYXQodGhpcy5fZGF0ZXRpbWUsIGdldExhbmd1YWdlKCkpKX08L3NwYW4+YDtcbiAgfVxufVxuXG53aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdndi1yZWxhdGl2ZS10aW1lJywgR3ZSZWxhdGl2ZVRpbWUpO1xuIl19
|
|
1
|
+
var e=Object.create?function(e,t,r,i){void 0===i&&(i=r),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]},t=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},r=function(r){if(r&&r.__esModule)return r;var i={};if(null!=r)for(var n in r)"default"!==n&&Object.prototype.hasOwnProperty.call(r,n)&&e(i,r,n);return t(i,r),i};Object.defineProperty(exports,"__esModule",{value:!0}),exports.GvRelativeTime=void 0;const i=require("../lib/i18n"),n=require("lit"),a=require("lit/directives/until"),o=require("@formatjs/intl-relativetimeformat/should-polyfill"),l={year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric",timeZoneName:"short"},u=[{unit:"year",duration:315576e5},{unit:"month",duration:26298e5},{unit:"week",duration:6048e5},{unit:"day",duration:864e5},{unit:"hour",duration:36e5},{unit:"minute",duration:6e4},{unit:"second",duration:1e3}];class s extends n.LitElement{static get properties(){return{datetime:{type:String},title:{type:String,reflect:!0},noFuture:{type:Boolean},_relativeTime:{type:String,attribute:!1},_updateIntervalId:{type:String,attribute:!1}}}constructor(){super(),this._formatter=null}async getFormatter(){return null==this._formatter?(0,o.shouldPolyfill)()?Promise.resolve().then((()=>r(require("@formatjs/intl-locale/polyfill")))).then((()=>Promise.resolve().then((()=>r(require("@formatjs/intl-relativetimeformat/polyfill")))))).then((()=>Promise.all([...Object.values((0,i.getAvailableLanguages)()).map((e=>Promise.resolve().then((()=>r(require(`@formatjs/intl-relativetimeformat/locale-data/${e}`))))))]))).then((()=>(this._formatter=Intl.RelativeTimeFormat,this._formatter))).catch((e=>{throw console.error(e),new Error("Cannot load @formatjs/intl polyfills")})):(this._formatter=Intl.RelativeTimeFormat,this._formatter):this._formatter}set datetime(e){e=this.noFuture?this._formatDateInThePast(e):e;const t=new Intl.DateTimeFormat((0,i.getLanguage)(),l);this.title=t.format(new Date(e)),this._datetime=e}_formatDateInThePast(e){if(e){const t=new Date;t.getTime()<new Date(e).getTime()&&(e=t)}return e}async _format(e,t){const r=await this.getFormatter(),i=(e,i)=>{if(!isNaN(e))return new r(t,{numeric:"auto"}).format(-e,i)},n=(new Date).getTime()-new Date(e).getTime();for(const{unit:e,duration:t}of u){const r=n/t,a=Math.round(r);if(Math.abs(r)>=1)return i(a,e)}return i(Math.round(n/1e3),"second")}connectedCallback(){super.connectedCallback(),null==this.updateIntervalId&&(setTimeout((()=>{this.performUpdate()})),this.updateIntervalId=setInterval((()=>{this.performUpdate()}),1e4))}disconnectedCallback(){super.disconnectedCallback(),clearInterval(this.updateIntervalId),this.updateIntervalId=null}render(){return n.html`<span title="${this.title}">${(0,a.until)(this._format(this._datetime,(0,i.getLanguage)()))}</span>`}}exports.GvRelativeTime=s,window.customElements.define("gv-relative-time",s);
|