@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.
Files changed (183) hide show
  1. package/package.json +13 -4
  2. package/src/atoms/gv-autocomplete.js +1 -437
  3. package/src/atoms/gv-button.js +1 -235
  4. package/src/atoms/gv-checkbox.js +1 -129
  5. package/src/atoms/gv-date-picker-calendar.js +1 -813
  6. package/src/atoms/gv-date-picker-cell.js +1 -166
  7. package/src/atoms/gv-date-picker.js +1 -532
  8. package/src/atoms/gv-file-upload.js +1 -257
  9. package/src/atoms/gv-icon.js +1 -82
  10. package/src/atoms/gv-image.js +1 -109
  11. package/src/atoms/gv-input-message.js +1 -59
  12. package/src/atoms/gv-input.js +1 -530
  13. package/src/atoms/gv-link.js +1 -132
  14. package/src/atoms/gv-message.js +1 -77
  15. package/src/atoms/gv-metric.js +1 -68
  16. package/src/atoms/gv-relative-time.js +1 -185
  17. package/src/atoms/gv-select-native.js +1 -269
  18. package/src/atoms/gv-select.js +1 -317
  19. package/src/atoms/gv-spinner.js +1 -36
  20. package/src/atoms/gv-state.js +1 -89
  21. package/src/atoms/gv-switch.js +1 -123
  22. package/src/atoms/gv-tag.js +1 -116
  23. package/src/atoms/gv-text.js +1 -107
  24. package/src/charts/gv-chart-bar.js +1 -107
  25. package/src/charts/gv-chart-gauge.js +1 -97
  26. package/src/charts/gv-chart-histogram.js +1 -91
  27. package/src/charts/gv-chart-line.js +1 -235
  28. package/src/charts/gv-chart-map.js +1 -114
  29. package/src/charts/gv-chart-pie.js +1 -95
  30. package/src/index.js +1 -78
  31. package/src/lib/cron-expression.js +1 -210
  32. package/src/lib/date.js +1 -53
  33. package/src/lib/events.js +1 -28
  34. package/src/lib/http-client-schema-form.js +1 -68
  35. package/src/lib/http.js +1 -238
  36. package/src/lib/i18n.js +1 -111
  37. package/src/lib/item.js +1 -119
  38. package/src/lib/properties.js +1 -224
  39. package/src/lib/schema-form.js +1 -43
  40. package/src/lib/studio.js +1 -94
  41. package/src/lib/style.js +1 -41
  42. package/src/lib/text-format.js +1 -76
  43. package/src/lib/theme.js +1 -66
  44. package/src/lib/utils.js +1 -110
  45. package/src/mixins/chart-element.js +1 -142
  46. package/src/mixins/input-element.js +1 -157
  47. package/src/mixins/item-resource.js +1 -122
  48. package/src/mixins/keyboard-element.js +1 -70
  49. package/src/mixins/update-after-browser.js +1 -33
  50. package/src/mixins/with-resize-observer.js +1 -78
  51. package/src/mixins/with-skeleton-attribute.js +1 -118
  52. package/src/molecules/gv-card-full.js +1 -97
  53. package/src/molecules/gv-card-list.js +1 -84
  54. package/src/molecules/gv-card.js +1 -59
  55. package/src/molecules/gv-category-list.js +1 -49
  56. package/src/molecules/gv-category.js +1 -90
  57. package/src/molecules/gv-code.js +1 -297
  58. package/src/molecules/gv-confirm.js +1 -158
  59. package/src/molecules/gv-cron-editor.js +1 -464
  60. package/src/molecules/gv-dropdown-menu.js +1 -84
  61. package/src/molecules/gv-expandable.js +1 -94
  62. package/src/molecules/gv-expression-language.js +1 -308
  63. package/src/molecules/gv-identity-picture.js +1 -125
  64. package/src/molecules/gv-list.js +1 -135
  65. package/src/molecules/gv-metrics.js +1 -150
  66. package/src/molecules/gv-modal.js +1 -146
  67. package/src/molecules/gv-nav.js +1 -170
  68. package/src/molecules/gv-option.js +1 -169
  69. package/src/molecules/gv-plans.js +1 -306
  70. package/src/molecules/gv-popover.js +1 -231
  71. package/src/molecules/gv-promote.js +1 -91
  72. package/src/molecules/gv-rating-list.js +1 -239
  73. package/src/molecules/gv-rating.js +1 -200
  74. package/src/molecules/gv-row-expandable.js +1 -39
  75. package/src/molecules/gv-row.js +1 -84
  76. package/src/molecules/gv-stats.js +1 -96
  77. package/src/molecules/gv-stepper.js +1 -144
  78. package/src/molecules/gv-table.js +1 -575
  79. package/src/molecules/gv-tree.js +1 -127
  80. package/src/organisms/gv-documentation.js +1 -132
  81. package/src/organisms/gv-header.js +1 -130
  82. package/src/organisms/gv-http-client.js +1 -139
  83. package/src/organisms/gv-menu.js +1 -142
  84. package/src/organisms/gv-newsletter-subscription.js +1 -130
  85. package/src/organisms/gv-pagination.js +1 -170
  86. package/src/organisms/gv-properties.js +1 -699
  87. package/src/organisms/gv-resizable-views.js +1 -178
  88. package/src/organisms/gv-resources.js +1 -428
  89. package/src/organisms/gv-schema-form-array.js +1 -140
  90. package/src/organisms/gv-schema-form-control-object.js +1 -140
  91. package/src/organisms/gv-schema-form-control.js +1 -416
  92. package/src/organisms/gv-schema-form.js +1 -646
  93. package/src/organisms/gv-tabs.js +1 -178
  94. package/src/organisms/gv-user-menu.js +1 -149
  95. package/src/organisms/gv-vertical-menu.js +1 -82
  96. package/src/policy-studio/gv-flow-step.js +1 -304
  97. package/src/policy-studio/gv-flow.js +1 -442
  98. package/src/policy-studio/gv-policy-studio-menu.js +1 -436
  99. package/src/policy-studio/gv-policy-studio.js +1 -1778
  100. package/src/styles/empty.js +1 -19
  101. package/src/styles/input.js +1 -19
  102. package/src/styles/link.js +1 -19
  103. package/src/styles/shapes.js +1 -18
  104. package/src/styles/skeleton.js +1 -19
  105. package/src/styles/zoom.js +1 -19
  106. package/src/theme/gv-theme.js +1 -164
  107. package/wc/gv-autocomplete.js +1 -1
  108. package/wc/gv-button.js +1 -1
  109. package/wc/gv-card-full.js +1 -1
  110. package/wc/gv-card-list.js +1 -1
  111. package/wc/gv-card.js +1 -1
  112. package/wc/gv-category-list.js +1 -1
  113. package/wc/gv-category.js +1 -1
  114. package/wc/gv-chart-bar.js +1 -1
  115. package/wc/gv-chart-gauge.js +1 -1
  116. package/wc/gv-chart-histogram.js +1 -1
  117. package/wc/gv-chart-line.js +1 -1
  118. package/wc/gv-chart-map.js +1 -1
  119. package/wc/gv-chart-pie.js +1 -1
  120. package/wc/gv-checkbox.js +1 -1
  121. package/wc/gv-code.js +1 -1
  122. package/wc/gv-confirm.js +1 -1
  123. package/wc/gv-cron-editor.js +1 -1
  124. package/wc/gv-date-picker-calendar.js +1 -1
  125. package/wc/gv-date-picker-cell.js +1 -1
  126. package/wc/gv-date-picker.js +1 -1
  127. package/wc/gv-documentation.js +1 -1
  128. package/wc/gv-dropdown-menu.js +1 -1
  129. package/wc/gv-expandable.js +1 -1
  130. package/wc/gv-expression-language.js +1 -1
  131. package/wc/gv-file-upload.js +1 -1
  132. package/wc/gv-flow-step.js +1 -1
  133. package/wc/gv-flow.js +1 -1
  134. package/wc/gv-header.js +1 -1
  135. package/wc/gv-http-client.js +1 -1
  136. package/wc/gv-icon.js +1 -1
  137. package/wc/gv-identity-picture.js +1 -1
  138. package/wc/gv-image.js +1 -1
  139. package/wc/gv-input-message.js +1 -1
  140. package/wc/gv-input.js +1 -1
  141. package/wc/gv-link.js +1 -1
  142. package/wc/gv-list.js +1 -1
  143. package/wc/gv-menu.js +1 -1
  144. package/wc/gv-message.js +1 -1
  145. package/wc/gv-metric.js +1 -1
  146. package/wc/gv-metrics.js +1 -1
  147. package/wc/gv-modal.js +1 -1
  148. package/wc/gv-nav.js +1 -1
  149. package/wc/gv-newsletter-subscription.js +1 -1
  150. package/wc/gv-option.js +1 -1
  151. package/wc/gv-pagination.js +1 -1
  152. package/wc/gv-plans.js +1 -1
  153. package/wc/gv-policy-studio-menu.js +1 -1
  154. package/wc/gv-policy-studio.js +1 -1
  155. package/wc/gv-popover.js +1 -1
  156. package/wc/gv-promote.js +1 -1
  157. package/wc/gv-properties.js +1 -1
  158. package/wc/gv-rating-list.js +1 -1
  159. package/wc/gv-rating.js +1 -1
  160. package/wc/gv-relative-time.js +1 -1
  161. package/wc/gv-resizable-views.js +1 -1
  162. package/wc/gv-resources.js +1 -1
  163. package/wc/gv-row-expandable.js +1 -1
  164. package/wc/gv-row.js +1 -1
  165. package/wc/gv-schema-form-array.js +1 -1
  166. package/wc/gv-schema-form-control-object.js +1 -1
  167. package/wc/gv-schema-form-control.js +1 -1
  168. package/wc/gv-schema-form.js +1 -1
  169. package/wc/gv-select-native.js +1 -1
  170. package/wc/gv-select.js +1 -1
  171. package/wc/gv-spinner.js +1 -1
  172. package/wc/gv-state.js +1 -1
  173. package/wc/gv-stats.js +1 -1
  174. package/wc/gv-stepper.js +1 -1
  175. package/wc/gv-switch.js +1 -1
  176. package/wc/gv-table.js +1 -1
  177. package/wc/gv-tabs.js +1 -1
  178. package/wc/gv-tag.js +1 -1
  179. package/wc/gv-text.js +1 -1
  180. package/wc/gv-theme.js +1 -1
  181. package/wc/gv-tree.js +1 -1
  182. package/wc/gv-user-menu.js +1 -1
  183. package/wc/gv-vertical-menu.js +1 -1
@@ -1,125 +1 @@
1
- /*
2
- * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { css, LitElement, html } from 'lit';
17
- import { toSvg } from 'jdenticon';
18
- import { skeleton } from '../styles/skeleton';
19
- import { styleMap } from 'lit/directives/style-map';
20
- import '../atoms/gv-image';
21
- /**
22
- * Identity picture component
23
- *
24
- * ## Details
25
- * * has @theme facet
26
- *
27
- * @attr {String} picture - the picture
28
- * @attr {String} display_name - the display_name of the picture
29
- * @attr {Boolean} notification - true to display a notification info
30
- * @attr {Boolean} rounded - true for rounded image/icon
31
- *
32
- * @cssprop {Color} [--gv-identity-picture-notification--bgc=var(--gv-theme-color-light, #86c3d0)] - Notification background color
33
- */
34
-
35
- export class GvIdentityPicture extends LitElement {
36
- static get properties() {
37
- return {
38
- picture: {
39
- type: String
40
- },
41
- display_name: {
42
- type: String
43
- },
44
- _error: {
45
- type: Boolean,
46
- attribute: false
47
- },
48
- notification: {
49
- type: Boolean
50
- },
51
- rounded: {
52
- type: Boolean,
53
- reflect: true
54
- },
55
- skeleton: {
56
- type: Boolean
57
- }
58
- };
59
- }
60
-
61
- static get styles() {
62
- return [skeleton, // language=CSS
63
- css`:host{display:block;position:relative}div{text-align:center}.skeleton,svg{width:auto;height:auto;max-width:100%;max-height:100%}gv-image{width:100%;height:100%;--gv-image--of:contain}:host([rounded]) gv-image,:host([rounded]) svg{border:2px solid var(--gv-theme-neutral-color-lighter,#fafafa);border-radius:50%;box-sizing:border-box;--gv-image--of:cover}.notification{position:absolute;width:8px;height:8px;background-clip:padding-box;border-radius:50%;background-color:var(--gv-identity-picture-notification--bgc,var(--gv-theme-color-light,#86c3d0))}`];
64
- }
65
-
66
- _onError() {
67
- this._error = true;
68
- }
69
-
70
- _toNumber(size) {
71
- return parseInt(size.replace('px', ''), 10);
72
- }
73
-
74
- _onLoaded() {
75
- this._error = false;
76
- }
77
-
78
- _getMaxSize(width, height) {
79
- return Math.min(this._toNumber(width), this._toNumber(height));
80
- }
81
-
82
- updated(properties) {
83
- if (properties.has('picture')) {
84
- this._error = false;
85
- }
86
- }
87
-
88
- render() {
89
- const {
90
- width,
91
- height
92
- } = window.getComputedStyle(this);
93
-
94
- if ((!this.picture || this._error) && width && height) {
95
- const size = this._getMaxSize(width, height);
96
-
97
- const container = document.createElement('div');
98
-
99
- if (this.skeleton) {
100
- container.classList.add('skeleton');
101
- }
102
-
103
- container.title = this.display_name;
104
- container.innerHTML = toSvg(this.display_name, size, {
105
- backColor: '#FFF'
106
- });
107
-
108
- if (this.notification) {
109
- const notification = document.createElement('span');
110
- notification.className = 'notification';
111
- notification.style.left = width;
112
- container.appendChild(notification);
113
- }
114
-
115
- return html`${container}`;
116
- }
117
-
118
- return html` <gv-image src="${this.picture}" alt="${this.display_name}" title="${this.display_name}" @error="${this._onError}" @gv-image:loaded="${this._onLoaded}"></gv-image> ${this.notification ? html`<span class="notification" style="${styleMap({
119
- left: width
120
- })}"></span>` : ''} `;
121
- }
122
-
123
- }
124
- window.customElements.define('gv-identity-picture', GvIdentityPicture);
125
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21vbGVjdWxlcy9ndi1pZGVudGl0eS1waWN0dXJlLmpzIl0sIm5hbWVzIjpbImNzcyIsIkxpdEVsZW1lbnQiLCJodG1sIiwidG9TdmciLCJza2VsZXRvbiIsInN0eWxlTWFwIiwiR3ZJZGVudGl0eVBpY3R1cmUiLCJwcm9wZXJ0aWVzIiwicGljdHVyZSIsInR5cGUiLCJTdHJpbmciLCJkaXNwbGF5X25hbWUiLCJfZXJyb3IiLCJCb29sZWFuIiwiYXR0cmlidXRlIiwibm90aWZpY2F0aW9uIiwicm91bmRlZCIsInJlZmxlY3QiLCJzdHlsZXMiLCJfb25FcnJvciIsIl90b051bWJlciIsInNpemUiLCJwYXJzZUludCIsInJlcGxhY2UiLCJfb25Mb2FkZWQiLCJfZ2V0TWF4U2l6ZSIsIndpZHRoIiwiaGVpZ2h0IiwiTWF0aCIsIm1pbiIsInVwZGF0ZWQiLCJoYXMiLCJyZW5kZXIiLCJ3aW5kb3ciLCJnZXRDb21wdXRlZFN0eWxlIiwiY29udGFpbmVyIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NMaXN0IiwiYWRkIiwidGl0bGUiLCJpbm5lckhUTUwiLCJiYWNrQ29sb3IiLCJjbGFzc05hbWUiLCJzdHlsZSIsImxlZnQiLCJhcHBlbmRDaGlsZCIsImN1c3RvbUVsZW1lbnRzIiwiZGVmaW5lIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxHQUFULEVBQWNDLFVBQWQsRUFBMEJDLElBQTFCLFFBQXNDLEtBQXRDO0FBQ0EsU0FBU0MsS0FBVCxRQUFzQixXQUF0QjtBQUNBLFNBQVNDLFFBQVQsUUFBeUIsb0JBQXpCO0FBQ0EsU0FBU0MsUUFBVCxRQUF5QiwwQkFBekI7QUFDQSxPQUFPLG1CQUFQO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNB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LFFBQUFBLFlBQVksQ0FBQzZCLEtBQWIsQ0FBbUJDLElBQW5CLEdBQTBCbkIsS0FBMUI7QUFDQVMsUUFBQUEsU0FBUyxDQUFDVyxXQUFWLENBQXNCL0IsWUFBdEI7QUFDRDs7QUFDRCxhQUFPYixJQUFJLEdBQUdpQyxTQUFILEVBQVg7QUFDRDs7QUFDRCxXQUFPakMsSUFBSSxtQkFFQSxLQUFLTSxPQUZMLFVBR0EsS0FBS0csWUFITCxZQUlFLEtBQUtBLFlBSlAsYUFLRyxLQUFLUSxRQUxSLHVCQU1hLEtBQUtLLFNBTmxCLGlCQVFQLEtBQUtULFlBQUwsR0FBb0JiLElBQUkscUNBQXFDRyxRQUFRLENBQUM7QUFBRXdDLE1BQUFBLElBQUksRUFBRW5CO0FBQVIsS0FBRCxDQUE3QyxXQUF4QixHQUFvRyxFQVI3RixHQUFYO0FBVUQ7O0FBOUcrQztBQWlIbERPLE1BQU0sQ0FBQ2MsY0FBUCxDQUFzQkMsTUFBdEIsQ0FBNkIscUJBQTdCLEVBQW9EMUMsaUJBQXBEIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IGNzcywgTGl0RWxlbWVudCwgaHRtbCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyB0b1N2ZyB9IGZyb20gJ2pkZW50aWNvbic7XG5pbXBvcnQgeyBza2VsZXRvbiB9IGZyb20gJy4uL3N0eWxlcy9za2VsZXRvbic7XG5pbXBvcnQgeyBzdHlsZU1hcCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3N0eWxlLW1hcCc7XG5pbXBvcnQgJy4uL2F0b21zL2d2LWltYWdlJztcblxuLyoqXG4gKiBJZGVudGl0eSBwaWN0dXJlIGNvbXBvbmVudFxuICpcbiAqICMjIERldGFpbHNcbiAqICogaGFzIEB0aGVtZSBmYWNldFxuICpcbiAqIEBhdHRyIHtTdHJpbmd9IHBpY3R1cmUgLSB0aGUgcGljdHVyZVxuICogQGF0dHIge1N0cmluZ30gZGlzcGxheV9uYW1lIC0gdGhlIGRpc3BsYXlfbmFtZSBvZiB0aGUgcGljdHVyZVxuICogQGF0dHIge0Jvb2xlYW59IG5vdGlmaWNhdGlvbiAtIHRydWUgdG8gZGlzcGxheSBhIG5vdGlmaWNhdGlvbiBpbmZvXG4gKiBAYXR0ciB7Qm9vbGVhbn0gcm91bmRlZCAtIHRydWUgZm9yIHJvdW5kZWQgaW1hZ2UvaWNvblxuICpcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtaWRlbnRpdHktcGljdHVyZS1ub3RpZmljYXRpb24tLWJnYz12YXIoLS1ndi10aGVtZS1jb2xvci1saWdodCwgIzg2YzNkMCldIC0gTm90aWZpY2F0aW9uIGJhY2tncm91bmQgY29sb3JcbiAqL1xuZXhwb3J0IGNsYXNzIEd2SWRlbnRpdHlQaWN0dXJlIGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHN0YXRpYyBnZXQgcHJvcGVydGllcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcGljdHVyZTogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIGRpc3BsYXlfbmFtZTogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIF9lcnJvcjogeyB0eXBlOiBCb29sZWFuLCBhdHRyaWJ1dGU6IGZhbHNlIH0sXG4gICAgICBub3RpZmljYXRpb246IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgcm91bmRlZDogeyB0eXBlOiBCb29sZWFuLCByZWZsZWN0OiB0cnVlIH0sXG4gICAgICBza2VsZXRvbjogeyB0eXBlOiBCb29sZWFuIH0sXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBnZXQgc3R5bGVzKCkge1xuICAgIHJldHVybiBbXG4gICAgICBza2VsZXRvbixcbiAgICAgIC8vIGxhbmd1YWdlPUNTU1xuICAgICAgY3NzYFxuICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgZGl2IHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBzdmcsXG4gICAgICAgIC5za2VsZXRvbiB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgZ3YtaW1hZ2Uge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAtLWd2LWltYWdlLS1vZjogY29udGFpbjtcbiAgICAgICAgfVxuXG4gICAgICAgIDpob3N0KFtyb3VuZGVkXSkgZ3YtaW1hZ2UsXG4gICAgICAgIDpob3N0KFtyb3VuZGVkXSkgc3ZnIHtcbiAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWxpZ2h0ZXIsICNmYWZhZmEpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIC0tZ3YtaW1hZ2UtLW9mOiBjb3ZlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ub3RpZmljYXRpb24ge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWd2LWlkZW50aXR5LXBpY3R1cmUtbm90aWZpY2F0aW9uLS1iZ2MsIHZhcigtLWd2LXRoZW1lLWNvbG9yLWxpZ2h0LCAjODZjM2QwKSk7XG4gICAgICAgIH1cbiAgICAgIGAsXG4gICAgXTtcbiAgfVxuXG4gIF9vbkVycm9yKCkge1xuICAgIHRoaXMuX2Vycm9yID0gdHJ1ZTtcbiAgfVxuXG4gIF90b051bWJlcihzaXplKSB7XG4gICAgcmV0dXJuIHBhcnNlSW50KHNpemUucmVwbGFjZSgncHgnLCAnJyksIDEwKTtcbiAgfVxuXG4gIF9vbkxvYWRlZCgpIHtcbiAgICB0aGlzLl9lcnJvciA9IGZhbHNlO1xuICB9XG5cbiAgX2dldE1heFNpemUod2lkdGgsIGhlaWdodCkge1xuICAgIHJldHVybiBNYXRoLm1pbih0aGlzLl90b051bWJlcih3aWR0aCksIHRoaXMuX3RvTnVtYmVyKGhlaWdodCkpO1xuICB9XG5cbiAgdXBkYXRlZChwcm9wZXJ0aWVzKSB7XG4gICAgaWYgKHByb3BlcnRpZXMuaGFzKCdwaWN0dXJlJykpIHtcbiAgICAgIHRoaXMuX2Vycm9yID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcyk7XG4gICAgaWYgKCghdGhpcy5waWN0dXJlIHx8IHRoaXMuX2Vycm9yKSAmJiB3aWR0aCAmJiBoZWlnaHQpIHtcbiAgICAgIGNvbnN0IHNpemUgPSB0aGlzLl9nZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpO1xuICAgICAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICBpZiAodGhpcy5za2VsZXRvbikge1xuICAgICAgICBjb250YWluZXIuY2xhc3NMaXN0LmFkZCgnc2tlbGV0b24nKTtcbiAgICAgIH1cbiAgICAgIGNvbnRhaW5lci50aXRsZSA9IHRoaXMuZGlzcGxheV9uYW1lO1xuICAgICAgY29udGFpbmVyLmlubmVySFRNTCA9IHRvU3ZnKHRoaXMuZGlzcGxheV9uYW1lLCBzaXplLCB7IGJhY2tDb2xvcjogJyNGRkYnIH0pO1xuICAgICAgaWYgKHRoaXMubm90aWZpY2F0aW9uKSB7XG4gICAgICAgIGNvbnN0IG5vdGlmaWNhdGlvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgbm90aWZpY2F0aW9uLmNsYXNzTmFtZSA9ICdub3RpZmljYXRpb24nO1xuICAgICAgICBub3RpZmljYXRpb24uc3R5bGUubGVmdCA9IHdpZHRoO1xuICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQobm90aWZpY2F0aW9uKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBodG1sYCR7Y29udGFpbmVyfWA7XG4gICAgfVxuICAgIHJldHVybiBodG1sYFxuICAgICAgPGd2LWltYWdlXG4gICAgICAgIHNyYz1cIiR7dGhpcy5waWN0dXJlfVwiXG4gICAgICAgIGFsdD1cIiR7dGhpcy5kaXNwbGF5X25hbWV9XCJcbiAgICAgICAgdGl0bGU9XCIke3RoaXMuZGlzcGxheV9uYW1lfVwiXG4gICAgICAgIEBlcnJvcj1cIiR7dGhpcy5fb25FcnJvcn1cIlxuICAgICAgICBAZ3YtaW1hZ2U6bG9hZGVkPVwiJHt0aGlzLl9vbkxvYWRlZH1cIlxuICAgICAgPjwvZ3YtaW1hZ2U+XG4gICAgICAke3RoaXMubm90aWZpY2F0aW9uID8gaHRtbGA8c3BhbiBjbGFzcz1cIm5vdGlmaWNhdGlvblwiIHN0eWxlPVwiJHtzdHlsZU1hcCh7IGxlZnQ6IHdpZHRoIH0pfVwiPjwvc3Bhbj5gIDogJyd9XG4gICAgYDtcbiAgfVxufVxuXG53aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdndi1pZGVudGl0eS1waWN0dXJlJywgR3ZJZGVudGl0eVBpY3R1cmUpO1xuIl19
1
+ var e=function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.GvIdentityPicture=void 0;const t=require("lit"),i=e(require("jdenticon")),r=require("../styles/skeleton"),o=require("lit/directives/style-map");require("../atoms/gv-image");class n extends t.LitElement{static get properties(){return{picture:{type:String},display_name:{type:String},_error:{type:Boolean,attribute:!1},notification:{type:Boolean},rounded:{type:Boolean,reflect:!0},skeleton:{type:Boolean}}}static get styles(){return[r.skeleton,t.css`:host{display:block;position:relative}div{text-align:center}.skeleton,svg{width:auto;height:auto;max-width:100%;max-height:100%}gv-image{width:100%;height:100%;--gv-image--of:contain}:host([rounded]) gv-image,:host([rounded]) svg{border:2px solid var(--gv-theme-neutral-color-lighter,#fafafa);border-radius:50%;box-sizing:border-box;--gv-image--of:cover}.notification{position:absolute;width:8px;height:8px;background-clip:padding-box;border-radius:50%;background-color:var(--gv-identity-picture-notification--bgc,var(--gv-theme-color-light,#86c3d0))}`]}_onError(){this._error=!0}_toNumber(e){return parseInt(e.replace("px",""),10)}_onLoaded(){this._error=!1}_getMaxSize(e,t){return Math.min(this._toNumber(e),this._toNumber(t))}updated(e){e.has("picture")&&(this._error=!1)}render(){const{width:e,height:r}=window.getComputedStyle(this);if((!this.picture||this._error)&&e&&r){const o=this._getMaxSize(e,r),n=document.createElement("div");if(this.skeleton&&n.classList.add("skeleton"),n.title=this.display_name,n.innerHTML=i.default.toSvg(this.display_name,o,{backColor:"#FFF"}),this.notification){const t=document.createElement("span");t.className="notification",t.style.left=e,n.appendChild(t)}return t.html`${n}`}return t.html`<gv-image src="${this.picture}" alt="${this.display_name}" title="${this.display_name}" @error="${this._onError}" @gv-image:loaded="${this._onLoaded}"></gv-image>${this.notification?t.html`<span class="notification" style="${(0,o.styleMap)({left:e})}"></span>`:""}`}}exports.GvIdentityPicture=n,window.customElements.define("gv-identity-picture",n);
@@ -1,135 +1 @@
1
- /*
2
- * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { css, html, LitElement } from 'lit';
17
- import { repeat } from 'lit/directives/repeat';
18
- import { classMap } from 'lit/directives/class-map';
19
- import { i18n } from '../lib/i18n';
20
- import { link } from '../styles/link';
21
- import '../molecules/gv-identity-picture';
22
- import { dispatchCustomEvent } from '../lib/events';
23
- import { getPicture, getPictureDisplayName, getVersion } from '../lib/item';
24
- import { withSkeletonAttribute } from '../mixins/with-skeleton-attribute';
25
- /**
26
- * Connected Applications component
27
- *
28
- * ## Details
29
- * * has @theme facet
30
- *
31
- * @fires gv-list:click - Click event from an element of the list
32
- *
33
- * @attr {Promise<Array<{Object}>>} items - a list of item.
34
- * @attr {String} title - title of the list.
35
- * @attr {Boolean} clickable - true if gv-list element can be clickable.
36
- *
37
- * @cssprop {Color} [--gv-list--bgc=var(--gv-theme-neutral-color-lightest, #ffffff)] - Background color
38
- * @cssprop {Length} [--gv-list-icon--s=20px] - Height and icon width
39
- * @cssprop {Length} [--gv-list-image--h=40px] - Image height
40
- * @cssprop {Length} [--gv-list-image--w=40px] - Image width
41
- */
42
-
43
- export class GvList extends withSkeletonAttribute(LitElement) {
44
- static get properties() {
45
- return { ...super.styles,
46
- items: {
47
- type: Object
48
- },
49
- title: {
50
- type: String
51
- },
52
- clickable: {
53
- type: Boolean
54
- },
55
- _items: {
56
- type: Object,
57
- attribute: false
58
- }
59
- };
60
- }
61
-
62
- static get styles() {
63
- return [...super.styles, link, // language=CSS
64
- css`:host{box-sizing:border-box;display:inline-block;width:280px;border-radius:4px;background-color:var(--gv-list--bgc,var(--gv-theme-neutral-color-lightest,#fff));--gv-icon--s:var(--gv-list-icon--s, 20px)}gv-identity-picture{width:var(--gv-list-image--w,40px);height:var(--gv-list-image--h,40px)}.list{list-style:none;margin:0;padding:0}h3{padding:24px;font-size:var(--gv-theme-font-size-m);line-height:var(--gv-theme-font-size-m);opacity:.6;letter-spacing:.05rem;border-bottom:1px solid var(--gv-theme-neutral-color);margin:0}h4{font-size:var(--gv-theme-font-size-m);line-height:var(--gv-theme-font-size-m);opacity:.9;letter-spacing:.05rem}h4 span{font-size:var(--gv-theme-font-size-s,12px);margin-left:8px}.item{display:flex;margin:24px}.item__image{align-self:center;margin-right:4px}.item__content{display:flex;flex-direction:column;justify-content:space-evenly}.item__title{margin:0}.item__description{font-size:var(--gv-theme-font-size-m,14px);line-height:22px;opacity:.5;display:-webkit-box;max-width:200px;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.scrollable-container{max-height:400px;overflow:auto}`];
65
- }
66
-
67
- constructor() {
68
- super();
69
- this._skeletonAttribute = 'items';
70
- }
71
-
72
- _onClick(item) {
73
- dispatchCustomEvent(this, 'click', item);
74
- }
75
-
76
- _renderImage(item) {
77
- return html`<gv-identity-picture .picture="${getPicture(item)}" .display_name="${getPictureDisplayName(item)}"></gv-identity-picture>`;
78
- }
79
-
80
- _renderStatus(subscriptions) {
81
- if (subscriptions) {
82
- const paused = subscriptions.filter(sub => sub.status.toUpperCase() === 'PAUSED');
83
-
84
- if (paused.length > 0) {
85
- return html` <gv-icon title="${i18n('gv-list.paused')}" shape="media:pause"></gv-icon>`;
86
- }
87
-
88
- const pending = subscriptions.filter(sub => sub.status.toUpperCase() === 'PENDING');
89
-
90
- if (pending.length > 0) {
91
- return html` <gv-icon title="${i18n('gv-list.pending')}" shape="home:timer"></gv-icon>`;
92
- }
93
- }
94
-
95
- return '';
96
- }
97
-
98
- _renderItem(item) {
99
- if (item) {
100
- return html` <div class="item__image">${this._renderImage(item.item)}</div> <div class="item__content"> <h4 class="item__title">${this._renderStatus(item.subscriptions)}${item.item.name} <span>${getVersion(item.item)}</span></h4> <div class="item__description">${item.item.description}</div> </div> `;
101
- }
102
-
103
- return html`<p>xxxx-xxxx-xxxx-xxxx</p>`;
104
- }
105
-
106
- _renderItems() {
107
- if (this._empty && !this._skeleton) {
108
- return '';
109
- }
110
-
111
- if (this._skeleton) {
112
- return html` <ul class="list"> <h4 class="skeleton">xxxx-xxxx-xxxx-xxxx</h4> <div class="scrollable-container"> <li class="item skeleton">${this._renderItem()}</li> <li class="item skeleton">${this._renderItem()}</li> </div> </ul> `;
113
- }
114
-
115
- return html` <ul class="list"> <h3>${this.title ? this.title : ''} ${this._items && this._items.length > 0 ? html`<span>(${this._items.length})</span>` : ''}</h3> <div class="scrollable-container"> ${this._items ? repeat(this._items, item => item, item => {
116
- if (this.clickable) {
117
- return html`<li class="${classMap({
118
- item: true,
119
- link: true
120
- })}" @click="${this._onClick.bind(this, item)}"> ${this._renderItem(item)} </li>`;
121
- } else {
122
- return html`<li class="${classMap({
123
- item: true
124
- })}">${this._renderItem(item)}</li>`;
125
- }
126
- }) : ''} </div> </ul> `;
127
- }
128
-
129
- render() {
130
- return html` <div>${this._error ? html`<div class="error">${i18n('gv-list.error')}</div>` : this._renderItems()}</div> `;
131
- }
132
-
133
- }
134
- window.customElements.define('gv-list', GvList);
135
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21vbGVjdWxlcy9ndi1saXN0LmpzIl0sIm5hbWVzIjpbImNzcyIsImh0bWwiLCJMaXRFbGVtZW50IiwicmVwZWF0IiwiY2xhc3NNYXAiLCJpMThuIiwibGluayIsImRpc3BhdGNoQ3VzdG9tRXZlbnQiLCJnZXRQaWN0dXJlIiwiZ2V0UGljdHVyZURpc3BsYXlOYW1lIiwiZ2V0VmVyc2lvbiIsIndpdGhTa2VsZXRvbkF0dHJpYnV0ZSIsIkd2TGlzdCIsInByb3BlcnRpZXMiLCJzdHlsZXMiLCJpdGVtcyIsInR5cGUiLCJPYmplY3QiLCJ0aXRsZSIsIlN0cmluZyIsImNsaWNrYWJsZSIsIkJvb2xlYW4iLCJfaXRlbXMiLCJhdHRyaWJ1dGUiLCJjb25zdHJ1Y3RvciIsIl9za2VsZXRvbkF0dHJpYnV0ZSIsIl9vbkNsaWNrIiwiaXRlbSIsIl9yZW5kZXJJbWFnZSIsIl9yZW5kZXJTdGF0dXMiLCJzdWJzY3JpcHRpb25zIiwicGF1c2VkIiwiZmlsdGVyIiwic3ViIiwic3RhdHVzIiwidG9VcHBlckNhc2UiLCJsZW5ndGgiLCJwZW5kaW5nIiwiX3JlbmRlckl0ZW0iLCJuYW1lIiwiZGVzY3JpcHRpb24iLCJfcmVuZGVySXRlbXMiLCJfZW1wdHkiLCJfc2tlbGV0b24iLCJiaW5kIiwicmVuZGVyIiwiX2Vycm9yIiwid2luZG93IiwiY3VzdG9tRWxlbWVudHMiLCJkZWZpbmUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLEdBQVQsRUFBY0MsSUFBZCxFQUFvQkMsVUFBcEIsUUFBc0MsS0FBdEM7QUFDQSxTQUFTQyxNQUFULFFBQXVCLHVCQUF2QjtBQUNBLFNBQVNDLFFBQVQsUUFBeUIsMEJBQXpCO0FBQ0EsU0FBU0MsSUFBVCxRQUFxQixhQUFyQjtBQUNBLFNBQVND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QUFBLE1BQU0sR0FBRztBQUNQLFdBQU81QyxJQUFJLFNBQVMsS0FBSzZDLE1BQUwsR0FBYzdDLElBQUksc0JBQXNCSSxJQUFJLENBQUMsZUFBRCxDQUExQixRQUFsQixHQUF3RSxLQUFLb0MsWUFBTCxFQUFqRixTQUFYO0FBQ0Q7O0FBckwyRDtBQXdMOURNLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkMsTUFBdEIsQ0FBNkIsU0FBN0IsRUFBd0NyQyxNQUF4QyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBjc3MsIGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcmVwZWF0IH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVwZWF0JztcbmltcG9ydCB7IGNsYXNzTWFwIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvY2xhc3MtbWFwJztcbmltcG9ydCB7IGkxOG4gfSBmcm9tICcuLi9saWIvaTE4bic7XG5pbXBvcnQgeyBsaW5rIH0gZnJvbSAnLi4vc3R5bGVzL2xpbmsnO1xuaW1wb3J0ICcuLi9tb2xlY3VsZXMvZ3YtaWRlbnRpdHktcGljdHVyZSc7XG5pbXBvcnQgeyBkaXNwYXRjaEN1c3RvbUV2ZW50IH0gZnJvbSAnLi4vbGliL2V2ZW50cyc7XG5pbXBvcnQgeyBnZXRQaWN0dXJlLCBnZXRQaWN0dXJlRGlzcGxheU5hbWUsIGdldFZlcnNpb24gfSBmcm9tICcuLi9saWIvaXRlbSc7XG5pbXBvcnQgeyB3aXRoU2tlbGV0b25BdHRyaWJ1dGUgfSBmcm9tICcuLi9taXhpbnMvd2l0aC1za2VsZXRvbi1hdHRyaWJ1dGUnO1xuXG4vKipcbiAqIENvbm5lY3RlZCBBcHBsaWNhdGlvbnMgY29tcG9uZW50XG4gKlxuICogIyMgRGV0YWlsc1xuICogKiBoYXMgQHRoZW1lIGZhY2V0XG4gKlxuICogQGZpcmVzIGd2LWxpc3Q6Y2xpY2sgLSBDbGljayBldmVudCBmcm9tIGFuIGVsZW1lbnQgb2YgdGhlIGxpc3RcbiAqXG4gKiBAYXR0ciB7UHJvbWlzZTxBcnJheTx7T2JqZWN0fT4+fSBpdGVtcyAtIGEgbGlzdCBvZiBpdGVtLlxuICogQGF0dHIge1N0cmluZ30gdGl0bGUgLSB0aXRsZSBvZiB0aGUgbGlzdC5cbiAqIEBhdHRyIHtCb29sZWFufSBjbGlja2FibGUgLSB0cnVlIGlmIGd2LWxpc3QgZWxlbWVudCBjYW4gYmUgY2xpY2thYmxlLlxuICpcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtbGlzdC0tYmdjPXZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItbGlnaHRlc3QsICNmZmZmZmYpXSAtIEJhY2tncm91bmQgY29sb3JcbiAqIEBjc3Nwcm9wIHtMZW5ndGh9IFstLWd2LWxpc3QtaWNvbi0tcz0yMHB4XSAtIEhlaWdodCBhbmQgaWNvbiB3aWR0aFxuICogQGNzc3Byb3Age0xlbmd0aH0gWy0tZ3YtbGlzdC1pbWFnZS0taD00MHB4XSAtIEltYWdlIGhlaWdodFxuICogQGNzc3Byb3Age0xlbmd0aH0gWy0tZ3YtbGlzdC1pbWFnZS0tdz00MHB4XSAtIEltYWdlIHdpZHRoXG4gKi9cbmV4cG9ydCBjbGFzcyBHdkxpc3QgZXh0ZW5kcyB3aXRoU2tlbGV0b25BdHRyaWJ1dGUoTGl0RWxlbWVudCkge1xuICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN1cGVyLnN0eWxlcyxcbiAgICAgIGl0ZW1zOiB7IHR5cGU6IE9iamVjdCB9LFxuICAgICAgdGl0bGU6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICBjbGlja2FibGU6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgX2l0ZW1zOiB7IHR5cGU6IE9iamVjdCwgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZ2V0IHN0eWxlcygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgLi4uc3VwZXIuc3R5bGVzLFxuICAgICAgbGluayxcbiAgICAgIC8vIGxhbmd1YWdlPUNTU1xuICAgICAgY3NzYFxuICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ndi1saXN0LS1iZ2MsIHZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItbGlnaHRlc3QsICNmZmZmZmYpKTtcbiAgICAgICAgICAtLWd2LWljb24tLXM6IHZhcigtLWd2LWxpc3QtaWNvbi0tcywgMjBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBndi1pZGVudGl0eS1waWN0dXJlIHtcbiAgICAgICAgICB3aWR0aDogdmFyKC0tZ3YtbGlzdC1pbWFnZS0tdywgNDBweCk7XG4gICAgICAgICAgaGVpZ2h0OiB2YXIoLS1ndi1saXN0LWltYWdlLS1oLCA0MHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5saXN0IHtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgIHBhZGRpbmc6IDI0cHg7XG4gICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ndi10aGVtZS1mb250LXNpemUtbSk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS1tKTtcbiAgICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVyZW07XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3IpO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGg0IHtcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS1tKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tZ3YtdGhlbWUtZm9udC1zaXplLW0pO1xuICAgICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGg0IHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZ3YtdGhlbWUtZm9udC1zaXplLXMsIDEycHgpO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBtYXJnaW46IDI0cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbV9faW1hZ2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pdGVtX19jb250ZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbV9fdGl0bGUge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pdGVtX19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ndi10aGVtZS1mb250LXNpemUtbSwgMTRweCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgICAgb3BhY2l0eTogMC41O1xuXG4gICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDQ7XG4gICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNjcm9sbGFibGUtY29udGFpbmVyIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgfVxuICAgICAgYCxcbiAgICBdO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl9za2VsZXRvbkF0dHJpYnV0ZSA9ICdpdGVtcyc7XG4gIH1cblxuICBfb25DbGljayhpdGVtKSB7XG4gICAgZGlzcGF0Y2hDdXN0b21FdmVudCh0aGlzLCAnY2xpY2snLCBpdGVtKTtcbiAgfVxuXG4gIF9yZW5kZXJJbWFnZShpdGVtKSB7XG4gICAgcmV0dXJuIGh0bWxgPGd2LWlkZW50aXR5LXBpY3R1cmUgLnBpY3R1cmU9XCIke2dldFBpY3R1cmUoaXRlbSl9XCIgLmRpc3BsYXlfbmFtZT1cIiR7Z2V0UGljdHVyZURpc3BsYXlOYW1lKGl0ZW0pfVwiPjwvZ3YtaWRlbnRpdHktcGljdHVyZT5gO1xuICB9XG5cbiAgX3JlbmRlclN0YXR1cyhzdWJzY3JpcHRpb25zKSB7XG4gICAgaWYgKHN1YnNjcmlwdGlvbnMpIHtcbiAgICAgIGNvbnN0IHBhdXNlZCA9IHN1YnNjcmlwdGlvbnMuZmlsdGVyKChzdWIpID0+IHN1Yi5zdGF0dXMudG9VcHBlckNhc2UoKSA9PT0gJ1BBVVNFRCcpO1xuICAgICAgaWYgKHBhdXNlZC5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiBodG1sYCA8Z3YtaWNvbiB0aXRsZT1cIiR7aTE4bignZ3YtbGlzdC5wYXVzZWQnKX1cIiBzaGFwZT1cIm1lZGlhOnBhdXNlXCI+PC9ndi1pY29uPmA7XG4gICAgICB9XG4gICAgICBjb25zdCBwZW5kaW5nID0gc3Vic2NyaXB0aW9ucy5maWx0ZXIoKHN1YikgPT4gc3ViLnN0YXR1cy50b1VwcGVyQ2FzZSgpID09PSAnUEVORElORycpO1xuICAgICAgaWYgKHBlbmRpbmcubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gaHRtbGAgPGd2LWljb24gdGl0bGU9XCIke2kxOG4oJ2d2LWxpc3QucGVuZGluZycpfVwiIHNoYXBlPVwiaG9tZTp0aW1lclwiPjwvZ3YtaWNvbj5gO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBfcmVuZGVySXRlbShpdGVtKSB7XG4gICAgaWYgKGl0ZW0pIHtcbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbV9faW1hZ2VcIj4ke3RoaXMuX3JlbmRlckltYWdlKGl0ZW0uaXRlbSl9PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtX19jb250ZW50XCI+XG4gICAgICAgICAgPGg0IGNsYXNzPVwiaXRlbV9fdGl0bGVcIj4ke3RoaXMuX3JlbmRlclN0YXR1cyhpdGVtLnN1YnNjcmlwdGlvbnMpfSR7aXRlbS5pdGVtLm5hbWV9IDxzcGFuPiR7Z2V0VmVyc2lvbihpdGVtLml0ZW0pfTwvc3Bhbj48L2g0PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtX19kZXNjcmlwdGlvblwiPiR7aXRlbS5pdGVtLmRlc2NyaXB0aW9ufTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIGA7XG4gICAgfVxuICAgIHJldHVybiBodG1sYDxwPnh4eHgteHh4eC14eHh4LXh4eHg8L3A+YDtcbiAgfVxuXG4gIF9yZW5kZXJJdGVtcygpIHtcbiAgICBpZiAodGhpcy5fZW1wdHkgJiYgIXRoaXMuX3NrZWxldG9uKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGlmICh0aGlzLl9za2VsZXRvbikge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgIDx1bCBjbGFzcz1cImxpc3RcIj5cbiAgICAgICAgICA8aDQgY2xhc3M9XCJza2VsZXRvblwiPnh4eHgteHh4eC14eHh4LXh4eHg8L2g0PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGxhYmxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGxpIGNsYXNzPVwiaXRlbSBza2VsZXRvblwiPiR7dGhpcy5fcmVuZGVySXRlbSgpfTwvbGk+XG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJpdGVtIHNrZWxldG9uXCI+JHt0aGlzLl9yZW5kZXJJdGVtKCl9PC9saT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC91bD5cbiAgICAgIGA7XG4gICAgfVxuICAgIHJldHVybiBodG1sYFxuICAgICAgPHVsIGNsYXNzPVwibGlzdFwiPlxuICAgICAgICA8aDM+JHt0aGlzLnRpdGxlID8gdGhpcy50aXRsZSA6ICcnfSAke3RoaXMuX2l0ZW1zICYmIHRoaXMuX2l0ZW1zLmxlbmd0aCA+IDAgPyBodG1sYDxzcGFuPigke3RoaXMuX2l0ZW1zLmxlbmd0aH0pPC9zcGFuPmAgOiAnJ308L2gzPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2Nyb2xsYWJsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAke3RoaXMuX2l0ZW1zXG4gICAgICAgICAgICA/IHJlcGVhdChcbiAgICAgICAgICAgICAgICB0aGlzLl9pdGVtcyxcbiAgICAgICAgICAgICAgICAoaXRlbSkgPT4gaXRlbSxcbiAgICAgICAgICAgICAgICAoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY2xpY2thYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBodG1sYDxsaSBjbGFzcz1cIiR7Y2xhc3NNYXAoeyBpdGVtOiB0cnVlLCBsaW5rOiB0cnVlIH0pfVwiIEBjbGljaz1cIiR7dGhpcy5fb25DbGljay5iaW5kKHRoaXMsIGl0ZW0pfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICR7dGhpcy5fcmVuZGVySXRlbShpdGVtKX1cbiAgICAgICAgICAgICAgICAgICAgPC9saT5gO1xuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGh0bWxgPGxpIGNsYXNzPVwiJHtjbGFzc01hcCh7IGl0ZW06IHRydWUgfSl9XCI+JHt0aGlzLl9yZW5kZXJJdGVtKGl0ZW0pfTwvbGk+YDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6ICcnfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdWw+XG4gICAgYDtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICByZXR1cm4gaHRtbGAgPGRpdj4ke3RoaXMuX2Vycm9yID8gaHRtbGA8ZGl2IGNsYXNzPVwiZXJyb3JcIj4ke2kxOG4oJ2d2LWxpc3QuZXJyb3InKX08L2Rpdj5gIDogdGhpcy5fcmVuZGVySXRlbXMoKX08L2Rpdj4gYDtcbiAgfVxufVxuXG53aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdndi1saXN0JywgR3ZMaXN0KTtcbiJdfQ==
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.GvList=void 0;const e=require("lit"),t=require("lit/directives/repeat"),i=require("lit/directives/class-map"),s=require("../lib/i18n"),r=require("../styles/link");require("../molecules/gv-identity-picture");const l=require("../lib/events"),n=require("../lib/item"),a=require("../mixins/with-skeleton-attribute");class o extends((0,a.withSkeletonAttribute)(e.LitElement)){static get properties(){return{...super.styles,items:{type:Object},title:{type:String},clickable:{type:Boolean},_items:{type:Object,attribute:!1}}}static get styles(){return[...super.styles,r.link,e.css`:host{box-sizing:border-box;display:inline-block;width:280px;border-radius:4px;background-color:var(--gv-list--bgc,var(--gv-theme-neutral-color-lightest,#fff));--gv-icon--s:var(--gv-list-icon--s, 20px)}gv-identity-picture{width:var(--gv-list-image--w,40px);height:var(--gv-list-image--h,40px)}.list{list-style:none;margin:0;padding:0}h3{padding:24px;font-size:var(--gv-theme-font-size-m);line-height:var(--gv-theme-font-size-m);opacity:.6;letter-spacing:.05rem;border-bottom:1px solid var(--gv-theme-neutral-color);margin:0}h4{font-size:var(--gv-theme-font-size-m);line-height:var(--gv-theme-font-size-m);opacity:.9;letter-spacing:.05rem}h4 span{font-size:var(--gv-theme-font-size-s,12px);margin-left:8px}.item{display:flex;margin:24px}.item__image{align-self:center;margin-right:4px}.item__content{display:flex;flex-direction:column;justify-content:space-evenly}.item__title{margin:0}.item__description{font-size:var(--gv-theme-font-size-m,14px);line-height:22px;opacity:.5;display:-webkit-box;max-width:200px;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.scrollable-container{max-height:400px;overflow:auto}`]}constructor(){super(),this._skeletonAttribute="items"}_onClick(e){(0,l.dispatchCustomEvent)(this,"click",e)}_renderImage(t){return e.html`<gv-identity-picture .picture="${(0,n.getPicture)(t)}" .display_name="${(0,n.getPictureDisplayName)(t)}"></gv-identity-picture>`}_renderStatus(t){if(t){if(t.filter((e=>"PAUSED"===e.status.toUpperCase())).length>0)return e.html`<gv-icon title="${(0,s.i18n)("gv-list.paused")}" shape="media:pause"></gv-icon>`;if(t.filter((e=>"PENDING"===e.status.toUpperCase())).length>0)return e.html`<gv-icon title="${(0,s.i18n)("gv-list.pending")}" shape="home:timer"></gv-icon>`}return""}_renderItem(t){return t?e.html`<div class="item__image">${this._renderImage(t.item)}</div><div class="item__content"><h4 class="item__title">${this._renderStatus(t.subscriptions)}${t.item.name} <span>${(0,n.getVersion)(t.item)}</span></h4><div class="item__description">${t.item.description}</div></div>`:e.html`<p>xxxx-xxxx-xxxx-xxxx</p>`}_renderItems(){return this._empty&&!this._skeleton?"":this._skeleton?e.html`<ul class="list"><h4 class="skeleton">xxxx-xxxx-xxxx-xxxx</h4><div class="scrollable-container"><li class="item skeleton">${this._renderItem()}</li><li class="item skeleton">${this._renderItem()}</li></div></ul>`:e.html`<ul class="list"><h3>${this.title?this.title:""} ${this._items&&this._items.length>0?e.html`<span>(${this._items.length})</span>`:""}</h3><div class="scrollable-container">${this._items?(0,t.repeat)(this._items,(e=>e),(t=>this.clickable?e.html`<li class="${(0,i.classMap)({item:!0,link:!0})}" @click="${this._onClick.bind(this,t)}">${this._renderItem(t)}</li>`:e.html`<li class="${(0,i.classMap)({item:!0})}">${this._renderItem(t)}</li>`)):""}</div></ul>`}render(){return e.html`<div>${this._error?e.html`<div class="error">${(0,s.i18n)("gv-list.error")}</div>`:this._renderItems()}</div>`}}exports.GvList=o,window.customElements.define("gv-list",o);
@@ -1,150 +1 @@
1
- /*
2
- * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { css, LitElement, html } from 'lit';
17
- import '../atoms/gv-metric';
18
- import { i18n } from '../lib/i18n';
19
- import { link } from '../styles/link';
20
- import { withSkeletonAttribute } from '../mixins/with-skeleton-attribute';
21
- import { classMap } from 'lit/directives/class-map';
22
- import { dispatchCustomEvent } from '../lib/events';
23
- import { ifDefined } from 'lit/directives/if-defined';
24
- /**
25
- * Metrics information component
26
- *
27
- * ## Details
28
- * * has @theme facet
29
- * * attributes `metrics` should be an array of Object {value, clickable}, or an array of values, or a mix.
30
- *
31
- * @fires gv-metrics:click - Click event from metric if is clickable
32
- *
33
- * @attr {Promise<{ hits: value, health: {value, clickable}, subscribers: {value, clickable?, title?} }>} metrics - Metrics.
34
- * @attr {RatingSummary} rating - Ratings of an API.
35
- */
36
-
37
- export class GvMetrics extends withSkeletonAttribute(LitElement) {
38
- static get properties() {
39
- return {
40
- metrics: {
41
- type: Object
42
- },
43
- _metrics: {
44
- type: Object,
45
- attribute: false
46
- }
47
- };
48
- }
49
-
50
- static get styles() {
51
- return [...super.styles, link, // language=CSS
52
- css`:host{box-sizing:border-box;margin:.2rem;width:100%;height:100%;min-height:25px;min-width:25px;display:flex;width:100%}:host>*{flex:1 1 auto}`];
53
- }
54
-
55
- constructor() {
56
- super();
57
- this._skeletonAttribute = 'metrics';
58
- this.skeleton = false;
59
- this._error = false;
60
- this._empty = false;
61
- }
62
-
63
- _isClickable(metricName) {
64
- if (this._metrics && typeof this._metrics[metricName] === 'object') {
65
- return this._metrics[metricName].clickable;
66
- }
67
-
68
- return false;
69
- }
70
-
71
- _getValue(metric) {
72
- if (typeof metric === 'object') {
73
- return metric.value;
74
- }
75
-
76
- return metric;
77
- }
78
-
79
- _getSubscribers() {
80
- if (this._metrics) {
81
- return this._getValue(this._metrics.subscribers);
82
- }
83
-
84
- return null;
85
- }
86
-
87
- _getHits() {
88
- if (this._metrics) {
89
- return this._getValue(this._metrics.hits);
90
- }
91
-
92
- return null;
93
- }
94
-
95
- _getHealth() {
96
- if (this._metrics) {
97
- const health = this._getValue(this._metrics.health);
98
-
99
- return !isNaN(health) ? Intl.NumberFormat.call(this, navigator.language, {
100
- style: 'percent',
101
- maximumFractionDigits: 2
102
- }).format(health) : '';
103
- }
104
-
105
- return null;
106
- }
107
-
108
- _getTitle(metricName) {
109
- if (this._metrics && typeof this._metrics[metricName] === 'object') {
110
- return this._metrics[metricName].title;
111
- }
112
-
113
- return null;
114
- }
115
-
116
- _onClick(key) {
117
- dispatchCustomEvent(this, 'click', {
118
- key
119
- });
120
- }
121
-
122
- _renderMetric(key, icon, name, value) {
123
- const clickable = this._isClickable(key);
124
-
125
- return value || this._skeleton ? html`<gv-metric @click="${clickable ? this._onClick.bind(this, key) : null}" .skeleton="${this._skeleton}" icon="${icon}" name="${name}" value="${value}" class="${classMap({
126
- link: clickable
127
- })}" title="${ifDefined(this._getTitle(key))}"></gv-metric>` : html``;
128
- }
129
-
130
- render() {
131
- if (this._error) {
132
- return html`<div class="error">${i18n('gv-metrics.error')}</div>`;
133
- }
134
-
135
- const subscribers = this._getSubscribers();
136
-
137
- const hits = this._getHits();
138
-
139
- const health = this._getHealth();
140
-
141
- return html` ${this._renderMetric('subscribers', 'communication:group', i18n('gv-metrics.subscribers', {
142
- count: subscribers
143
- }), subscribers)} ${this._renderMetric('hits', 'general:cursor', i18n('gv-metrics.hits', {
144
- count: hits
145
- }), hits)} ${this._renderMetric('health', 'general:heart', i18n('gv-metrics.health'), health)} <slot></slot> `;
146
- }
147
-
148
- }
149
- window.customElements.define('gv-metrics', GvMetrics);
150
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21vbGVjdWxlcy9ndi1tZXRyaWNzLmpzIl0sIm5hbWVzIjpbImNzcyIsIkxpdEVsZW1lbnQiLCJodG1sIiwiaTE4biIsImxpbmsiLCJ3aXRoU2tlbGV0b25BdHRyaWJ1dGUiLCJjbGFzc01hcCIsImRpc3BhdGNoQ3VzdG9tRXZlbnQiLCJpZkRlZmluZWQiLCJHdk1ldHJpY3MiLCJwcm9wZXJ0aWVzIiwibWV0cmljcyIsInR5cGUiLCJPYmplY3QiLCJfbWV0cmljcyIsImF0dHJpYnV0ZSIsInN0eWxlcyIsImNvbnN0cnVjdG9yIiwiX3NrZWxldG9uQXR0cmlidXRlIiwic2tlbGV0b24iLCJfZXJyb3IiLCJfZW1wdHkiLCJfaXNDbGlja2FibGUiLCJtZXRyaWNOYW1lIiwiY2xpY2thYmxlIiwiX2dldFZhbHVlIiwibWV0cmljIiwidmFsdWUiLCJfZ2V0U3Vic2NyaWJlcnMiLCJzdWJzY3JpYmVycyIsIl9nZXRIaXRzIiwiaGl0cyIsIl9nZXRIZWFsdGgiLCJoZWFsdGgiLCJpc05hTiIsIkludGwiLCJOdW1iZXJGb3JtYXQiLCJjYWxsIiwibmF2aWdhdG9yIiwibGFuZ3VhZ2UiLCJzdHlsZSIsIm1heGltdW1GcmFjdGlvbkRpZ2l0cyIsImZvcm1hdCIsIl9nZXRUaXRsZSIsInRpdGxlIiwiX29uQ2xpY2siLCJrZXkiLCJfcmVuZGVyTWV0cmljIiwiaWNvbiIsIm5hbWUiLCJfc2tlbGV0b24iLCJiaW5kIiwicmVuZGVyIiwiY291bnQiLCJ3aW5kb3ciLCJjdXN0b21FbGVtZW50cyIsImRlZmluZSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsR0FBVCxFQUFjQyxVQUFkLEVBQTBCQyxJQUExQixRQUFzQyxLQUF0QztBQUNBLE9BQU8sb0JBQVA7QUFDQSxTQUFT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d0JBQUQsRUFBMkI7QUFBRWtELE1BQUFBLEtBQUssRUFBRXhCO0FBQVQsS0FBM0IsQ0FBN0QsRUFBaUhBLFdBQWpILENBRE8sSUFFUCxLQUFLa0IsYUFBTCxDQUFtQixNQUFuQixFQUEyQixnQkFBM0IsRUFBNkM1QyxJQUFJLENBQUMsaUJBQUQsRUFBb0I7QUFBRWtELE1BQUFBLEtBQUssRUFBRXRCO0FBQVQsS0FBcEIsQ0FBakQsRUFBdUZBLElBQXZGLENBRk8sSUFHUCxLQUFLZ0IsYUFBTCxDQUFtQixRQUFuQixFQUE2QixlQUE3QixFQUE4QzVDLElBQUksQ0FBQyxtQkFBRCxDQUFsRCxFQUF5RThCLE1BQXpFLENBSE8saUJBQVg7QUFNRDs7QUExSDhEO0FBNkhqRXFCLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkMsTUFBdEIsQ0FBNkIsWUFBN0IsRUFBMkMvQyxTQUEzQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBjc3MsIExpdEVsZW1lbnQsIGh0bWwgfSBmcm9tICdsaXQnO1xuaW1wb3J0ICcuLi9hdG9tcy9ndi1tZXRyaWMnO1xuaW1wb3J0IHsgaTE4biB9IGZyb20gJy4uL2xpYi9pMThuJztcbmltcG9ydCB7IGxpbmsgfSBmcm9tICcuLi9zdHlsZXMvbGluayc7XG5pbXBvcnQgeyB3aXRoU2tlbGV0b25BdHRyaWJ1dGUgfSBmcm9tICcuLi9taXhpbnMvd2l0aC1za2VsZXRvbi1hdHRyaWJ1dGUnO1xuaW1wb3J0IHsgY2xhc3NNYXAgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9jbGFzcy1tYXAnO1xuaW1wb3J0IHsgZGlzcGF0Y2hDdXN0b21FdmVudCB9IGZyb20gJy4uL2xpYi9ldmVudHMnO1xuaW1wb3J0IHsgaWZEZWZpbmVkIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvaWYtZGVmaW5lZCc7XG5cbi8qKlxuICogTWV0cmljcyBpbmZvcm1hdGlvbiBjb21wb25lbnRcbiAqXG4gKiAjIyBEZXRhaWxzXG4gKiAqIGhhcyBAdGhlbWUgZmFjZXRcbiAqICogYXR0cmlidXRlcyBgbWV0cmljc2Agc2hvdWxkIGJlIGFuIGFycmF5IG9mIE9iamVjdCB7dmFsdWUsIGNsaWNrYWJsZX0sIG9yIGFuIGFycmF5IG9mIHZhbHVlcywgb3IgYSBtaXguXG4gKlxuICogQGZpcmVzIGd2LW1ldHJpY3M6Y2xpY2sgLSBDbGljayBldmVudCBmcm9tIG1ldHJpYyBpZiBpcyBjbGlja2FibGVcbiAqXG4gKiBAYXR0ciB7UHJvbWlzZTx7IGhpdHM6IHZhbHVlLCBoZWFsdGg6IHt2YWx1ZSwgY2xpY2thYmxlfSwgc3Vic2NyaWJlcnM6IHt2YWx1ZSwgY2xpY2thYmxlPywgdGl0bGU/fSB9Pn0gbWV0cmljcyAtIE1ldHJpY3MuXG4gKiBAYXR0ciB7UmF0aW5nU3VtbWFyeX0gcmF0aW5nIC0gUmF0aW5ncyBvZiBhbiBBUEkuXG4gKi9cbmV4cG9ydCBjbGFzcyBHdk1ldHJpY3MgZXh0ZW5kcyB3aXRoU2tlbGV0b25BdHRyaWJ1dGUoTGl0RWxlbWVudCkge1xuICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1ldHJpY3M6IHsgdHlwZTogT2JqZWN0IH0sXG4gICAgICBfbWV0cmljczogeyB0eXBlOiBPYmplY3QsIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGdldCBzdHlsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLnN1cGVyLnN0eWxlcyxcbiAgICAgIGxpbmssXG4gICAgICAvLyBsYW5ndWFnZT1DU1NcbiAgICAgIGNzc2BcbiAgICAgICAgOmhvc3Qge1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgbWFyZ2luOiAwLjJyZW07XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgbWluLXdpZHRoOiAyNXB4O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICA6aG9zdCA+ICoge1xuICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICB9XG4gICAgICBgLFxuICAgIF07XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX3NrZWxldG9uQXR0cmlidXRlID0gJ21ldHJpY3MnO1xuICAgIHRoaXMuc2tlbGV0b24gPSBmYWxzZTtcbiAgICB0aGlzLl9lcnJvciA9IGZhbHNlO1xuICAgIHRoaXMuX2VtcHR5ID0gZmFsc2U7XG4gIH1cblxuICBfaXNDbGlja2FibGUobWV0cmljTmFtZSkge1xuICAgIGlmICh0aGlzLl9tZXRyaWNzICYmIHR5cGVvZiB0aGlzLl9tZXRyaWNzW21ldHJpY05hbWVdID09PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuIHRoaXMuX21ldHJpY3NbbWV0cmljTmFtZV0uY2xpY2thYmxlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBfZ2V0VmFsdWUobWV0cmljKSB7XG4gICAgaWYgKHR5cGVvZiBtZXRyaWMgPT09ICdvYmplY3QnKSB7XG4gICAgICByZXR1cm4gbWV0cmljLnZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gbWV0cmljO1xuICB9XG5cbiAgX2dldFN1YnNjcmliZXJzKCkge1xuICAgIGlmICh0aGlzLl9tZXRyaWNzKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZ2V0VmFsdWUodGhpcy5fbWV0cmljcy5zdWJzY3JpYmVycyk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgX2dldEhpdHMoKSB7XG4gICAgaWYgKHRoaXMuX21ldHJpY3MpIHtcbiAgICAgIHJldHVybiB0aGlzLl9nZXRWYWx1ZSh0aGlzLl9tZXRyaWNzLmhpdHMpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIF9nZXRIZWFsdGgoKSB7XG4gICAgaWYgKHRoaXMuX21ldHJpY3MpIHtcbiAgICAgIGNvbnN0IGhlYWx0aCA9IHRoaXMuX2dldFZhbHVlKHRoaXMuX21ldHJpY3MuaGVhbHRoKTtcbiAgICAgIHJldHVybiAhaXNOYU4oaGVhbHRoKVxuICAgICAgICA/IEludGwuTnVtYmVyRm9ybWF0LmNhbGwodGhpcywgbmF2aWdhdG9yLmxhbmd1YWdlLCB7XG4gICAgICAgICAgICBzdHlsZTogJ3BlcmNlbnQnLFxuICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiAyLFxuICAgICAgICAgIH0pLmZvcm1hdChoZWFsdGgpXG4gICAgICAgIDogJyc7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgX2dldFRpdGxlKG1ldHJpY05hbWUpIHtcbiAgICBpZiAodGhpcy5fbWV0cmljcyAmJiB0eXBlb2YgdGhpcy5fbWV0cmljc1ttZXRyaWNOYW1lXSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybiB0aGlzLl9tZXRyaWNzW21ldHJpY05hbWVdLnRpdGxlO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIF9vbkNsaWNrKGtleSkge1xuICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ2NsaWNrJywgeyBrZXkgfSk7XG4gIH1cblxuICBfcmVuZGVyTWV0cmljKGtleSwgaWNvbiwgbmFtZSwgdmFsdWUpIHtcbiAgICBjb25zdCBjbGlja2FibGUgPSB0aGlzLl9pc0NsaWNrYWJsZShrZXkpO1xuICAgIHJldHVybiB2YWx1ZSB8fCB0aGlzLl9za2VsZXRvblxuICAgICAgPyBodG1sYDxndi1tZXRyaWNcbiAgICAgICAgICBAY2xpY2s9XCIke2NsaWNrYWJsZSA/IHRoaXMuX29uQ2xpY2suYmluZCh0aGlzLCBrZXkpIDogbnVsbH1cIlxuICAgICAgICAgIC5za2VsZXRvbj1cIiR7dGhpcy5fc2tlbGV0b259XCJcbiAgICAgICAgICBpY29uPVwiJHtpY29ufVwiXG4gICAgICAgICAgbmFtZT1cIiR7bmFtZX1cIlxuICAgICAgICAgIHZhbHVlPVwiJHt2YWx1ZX1cIlxuICAgICAgICAgIGNsYXNzPVwiJHtjbGFzc01hcCh7IGxpbms6IGNsaWNrYWJsZSB9KX1cIlxuICAgICAgICAgIHRpdGxlPVwiJHtpZkRlZmluZWQodGhpcy5fZ2V0VGl0bGUoa2V5KSl9XCJcbiAgICAgICAgPjwvZ3YtbWV0cmljPmBcbiAgICAgIDogaHRtbGBgO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGlmICh0aGlzLl9lcnJvcikge1xuICAgICAgcmV0dXJuIGh0bWxgPGRpdiBjbGFzcz1cImVycm9yXCI+JHtpMThuKCdndi1tZXRyaWNzLmVycm9yJyl9PC9kaXY+YDtcbiAgICB9XG5cbiAgICBjb25zdCBzdWJzY3JpYmVycyA9IHRoaXMuX2dldFN1YnNjcmliZXJzKCk7XG4gICAgY29uc3QgaGl0cyA9IHRoaXMuX2dldEhpdHMoKTtcbiAgICBjb25zdCBoZWFsdGggPSB0aGlzLl9nZXRIZWFsdGgoKTtcblxuICAgIHJldHVybiBodG1sYFxuICAgICAgJHt0aGlzLl9yZW5kZXJNZXRyaWMoJ3N1YnNjcmliZXJzJywgJ2NvbW11bmljYXRpb246Z3JvdXAnLCBpMThuKCdndi1tZXRyaWNzLnN1YnNjcmliZXJzJywgeyBjb3VudDogc3Vic2NyaWJlcnMgfSksIHN1YnNjcmliZXJzKX1cbiAgICAgICR7dGhpcy5fcmVuZGVyTWV0cmljKCdoaXRzJywgJ2dlbmVyYWw6Y3Vyc29yJywgaTE4bignZ3YtbWV0cmljcy5oaXRzJywgeyBjb3VudDogaGl0cyB9KSwgaGl0cyl9XG4gICAgICAke3RoaXMuX3JlbmRlck1ldHJpYygnaGVhbHRoJywgJ2dlbmVyYWw6aGVhcnQnLCBpMThuKCdndi1tZXRyaWNzLmhlYWx0aCcpLCBoZWFsdGgpfVxuICAgICAgPHNsb3Q+PC9zbG90PlxuICAgIGA7XG4gIH1cbn1cblxud2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZ3YtbWV0cmljcycsIEd2TWV0cmljcyk7XG4iXX0=
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.GvMetrics=void 0;const t=require("lit");require("../atoms/gv-metric");const e=require("../lib/i18n"),i=require("../styles/link"),s=require("../mixins/with-skeleton-attribute"),r=require("lit/directives/class-map"),c=require("../lib/events"),l=require("lit/directives/if-defined");class n extends((0,s.withSkeletonAttribute)(t.LitElement)){static get properties(){return{metrics:{type:Object},_metrics:{type:Object,attribute:!1}}}static get styles(){return[...super.styles,i.link,t.css`:host{box-sizing:border-box;margin:.2rem;width:100%;height:100%;min-height:25px;min-width:25px;display:flex;width:100%}:host>*{flex:1 1 auto}`]}constructor(){super(),this._skeletonAttribute="metrics",this.skeleton=!1,this._error=!1,this._empty=!1}_isClickable(t){return!(!this._metrics||"object"!=typeof this._metrics[t])&&this._metrics[t].clickable}_getValue(t){return"object"==typeof t?t.value:t}_getSubscribers(){return this._metrics?this._getValue(this._metrics.subscribers):null}_getHits(){return this._metrics?this._getValue(this._metrics.hits):null}_getHealth(){if(this._metrics){const t=this._getValue(this._metrics.health);return isNaN(t)?"":Intl.NumberFormat.call(this,navigator.language,{style:"percent",maximumFractionDigits:2}).format(t)}return null}_getTitle(t){return this._metrics&&"object"==typeof this._metrics[t]?this._metrics[t].title:null}_onClick(t){(0,c.dispatchCustomEvent)(this,"click",{key:t})}_renderMetric(e,i,s,c){const n=this._isClickable(e);return c||this._skeleton?t.html`<gv-metric @click="${n?this._onClick.bind(this,e):null}" .skeleton="${this._skeleton}" icon="${i}" name="${s}" value="${c}" class="${(0,r.classMap)({link:n})}" title="${(0,l.ifDefined)(this._getTitle(e))}"></gv-metric>`:t.html``}render(){if(this._error)return t.html`<div class="error">${(0,e.i18n)("gv-metrics.error")}</div>`;const i=this._getSubscribers(),s=this._getHits(),r=this._getHealth();return t.html`${this._renderMetric("subscribers","communication:group",(0,e.i18n)("gv-metrics.subscribers",{count:i}),i)} ${this._renderMetric("hits","general:cursor",(0,e.i18n)("gv-metrics.hits",{count:s}),s)} ${this._renderMetric("health","general:heart",(0,e.i18n)("gv-metrics.health"),r)}<slot></slot>`}}exports.GvMetrics=n,window.customElements.define("gv-metrics",n);