@gravitee/ui-components 3.24.4 → 3.24.5-renovate-github-markdown-css-5-x-d2ffdad

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 (117) hide show
  1. package/CHANGELOG.md +1260 -0
  2. package/LICENSE.txt +202 -0
  3. package/README.md +195 -0
  4. package/assets/css/github-markdown-css/github-markdown.css +500 -545
  5. package/assets/i18n/en.json +0 -3
  6. package/assets/i18n/fr.json +0 -3
  7. package/package.json +19 -21
  8. package/src/.eslintrc.js +19 -0
  9. package/src/atoms/gv-autocomplete.js +156 -132
  10. package/src/atoms/gv-button.js +248 -73
  11. package/src/atoms/gv-checkbox.js +103 -45
  12. package/src/atoms/gv-date-picker-calendar.js +393 -312
  13. package/src/atoms/gv-date-picker-cell.js +81 -57
  14. package/src/atoms/gv-date-picker.js +319 -180
  15. package/src/atoms/gv-file-upload.js +195 -85
  16. package/src/atoms/gv-icon.js +34 -13
  17. package/src/atoms/gv-image.js +66 -31
  18. package/src/atoms/gv-input-message.js +37 -12
  19. package/src/atoms/gv-input.js +169 -139
  20. package/src/atoms/gv-link.js +125 -47
  21. package/src/atoms/gv-message.js +69 -18
  22. package/src/atoms/gv-metric.js +68 -19
  23. package/src/atoms/gv-relative-time.js +38 -67
  24. package/src/atoms/gv-select-native.js +215 -96
  25. package/src/atoms/gv-select.js +230 -110
  26. package/src/atoms/gv-spinner.js +26 -5
  27. package/src/atoms/gv-state.js +66 -25
  28. package/src/atoms/gv-switch.js +160 -40
  29. package/src/atoms/gv-tag.js +78 -26
  30. package/src/atoms/gv-text.js +83 -22
  31. package/src/charts/gv-chart-bar.js +18 -22
  32. package/src/charts/gv-chart-gauge.js +31 -28
  33. package/src/charts/gv-chart-histogram.js +10 -18
  34. package/src/charts/gv-chart-line.js +59 -70
  35. package/src/charts/gv-chart-map.js +42 -44
  36. package/src/charts/gv-chart-pie.js +14 -18
  37. package/src/index.js +0 -2
  38. package/src/lib/cron-expression.js +35 -40
  39. package/src/lib/date.js +1 -10
  40. package/src/lib/events.js +1 -3
  41. package/src/lib/http-client-schema-form.js +12 -13
  42. package/src/lib/http.js +56 -57
  43. package/src/lib/i18n.js +22 -30
  44. package/src/lib/item.js +12 -13
  45. package/src/lib/properties.js +42 -77
  46. package/src/lib/schema-form.js +5 -4
  47. package/src/lib/studio.js +60 -13
  48. package/src/lib/style.js +8 -8
  49. package/src/lib/text-format.js +7 -14
  50. package/src/lib/theme.js +5 -8
  51. package/src/lib/utils.js +18 -17
  52. package/src/mixins/chart-element.js +54 -31
  53. package/src/mixins/input-element.js +49 -60
  54. package/src/mixins/item-resource.js +32 -34
  55. package/src/mixins/keyboard-element.js +5 -6
  56. package/src/mixins/update-after-browser.js +1 -4
  57. package/src/mixins/with-resize-observer.js +13 -23
  58. package/src/mixins/with-skeleton-attribute.js +48 -54
  59. package/src/molecules/gv-card-full.js +147 -26
  60. package/src/molecules/gv-card-list.js +42 -13
  61. package/src/molecules/gv-card.js +91 -17
  62. package/src/molecules/gv-category-list.js +17 -6
  63. package/src/molecules/gv-category.js +103 -23
  64. package/src/molecules/gv-code.js +263 -189
  65. package/src/molecules/gv-confirm.js +71 -41
  66. package/src/molecules/gv-cron-editor.js +389 -143
  67. package/src/molecules/gv-dropdown-menu.js +46 -14
  68. package/src/molecules/gv-expandable.js +59 -31
  69. package/src/molecules/gv-expression-language.js +208 -552
  70. package/src/molecules/gv-identity-picture.js +65 -42
  71. package/src/molecules/gv-list.js +134 -42
  72. package/src/molecules/gv-metrics.js +49 -37
  73. package/src/molecules/gv-modal.js +95 -28
  74. package/src/molecules/gv-nav.js +75 -49
  75. package/src/molecules/gv-option.js +130 -57
  76. package/src/molecules/gv-plans.js +209 -86
  77. package/src/molecules/gv-popover.js +177 -57
  78. package/src/molecules/gv-promote.js +146 -28
  79. package/src/molecules/gv-rating-list.js +195 -69
  80. package/src/molecules/gv-rating.js +105 -52
  81. package/src/molecules/gv-row-expandable.js +11 -5
  82. package/src/molecules/gv-row.js +147 -21
  83. package/src/molecules/gv-stats.js +48 -23
  84. package/src/molecules/gv-stepper.js +187 -43
  85. package/src/molecules/gv-table.js +309 -199
  86. package/src/molecules/gv-tree.js +156 -33
  87. package/src/organisms/gv-documentation.js +127 -44
  88. package/src/organisms/gv-header.js +195 -37
  89. package/src/organisms/gv-http-client.js +168 -32
  90. package/src/organisms/gv-menu.js +158 -37
  91. package/src/organisms/gv-newsletter-subscription.js +189 -48
  92. package/src/organisms/gv-pagination.js +77 -49
  93. package/src/organisms/gv-properties.js +492 -271
  94. package/src/organisms/gv-resizable-views.js +259 -41
  95. package/src/organisms/gv-resources.js +275 -168
  96. package/src/organisms/gv-schema-form-array.js +159 -49
  97. package/src/organisms/gv-schema-form-control-object.js +73 -59
  98. package/src/organisms/gv-schema-form-control.js +134 -107
  99. package/src/organisms/gv-schema-form.js +280 -195
  100. package/src/organisms/gv-tabs.js +98 -66
  101. package/src/organisms/gv-user-menu.js +201 -36
  102. package/src/organisms/gv-vertical-menu.js +61 -20
  103. package/src/policy-studio/gv-flow-step.js +245 -105
  104. package/src/policy-studio/gv-flow.js +304 -125
  105. package/src/policy-studio/gv-policy-studio-menu.js +471 -157
  106. package/src/policy-studio/gv-policy-studio.js +761 -692
  107. package/src/styles/empty.js +20 -3
  108. package/src/styles/input.js +247 -3
  109. package/src/styles/link.js +16 -3
  110. package/src/styles/shapes.js +0 -1
  111. package/src/styles/skeleton.js +37 -3
  112. package/src/styles/zoom.js +24 -3
  113. package/src/theme/definition.json +1762 -0
  114. package/src/theme/gv-theme.js +60 -21
  115. package/assets/css/codemirror/all.css +0 -476
  116. package/src/molecules/gv-code-hint.js +0 -49
  117. package/wc/gv-code-hint.js +0 -1
@@ -22,6 +22,7 @@ import { until } from 'lit/directives/until';
22
22
  import { dispatchCustomEvent } from '../lib/events';
23
23
  import './gv-icon';
24
24
  import { ifDefined } from 'lit/directives/if-defined';
25
+
25
26
  /**
26
27
  * A link
27
28
  *
@@ -52,45 +53,114 @@ import { ifDefined } from 'lit/directives/if-defined';
52
53
  * @cssprop {String} [--gv-link--tsh=none]- Text shadow
53
54
  * @cssprop {Length} [--gv-link-icon--s=24px] - Height and icon width
54
55
  */
55
-
56
56
  export class GvLink extends LitElement {
57
57
  static get properties() {
58
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
- }
59
+ active: { type: Boolean, reflect: true },
60
+ icon: { type: String },
61
+ path: { type: String },
62
+ title: { type: String },
63
+ target: { type: String },
64
+ _title: { type: String, attribute: false },
65
+ help: { type: String },
66
+ skeleton: { type: Boolean },
67
+ small: { type: Boolean },
88
68
  };
89
69
  }
90
70
 
91
71
  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];
72
+ return [
73
+ link,
74
+ // language=css
75
+ css`
76
+ :host {
77
+ display: inline-flex;
78
+ vertical-align: middle;
79
+ --gv-icon--s: var(--gv-link-icon--s, 24px);
80
+ --link-active--c: var(--gv-link-active--c, var(--gv-theme-font-color-light, #ffffff));
81
+ --link--c: var(--gv-link--c, var(--gv-theme-font-color-dark, #262626));
82
+ --pv: var(--gv-link-a--pv, 15px);
83
+ --ph: var(--gv-link-a--ph, 15px);
84
+ }
85
+
86
+ *,
87
+ *:before,
88
+ *:after {
89
+ box-sizing: border-box;
90
+ }
91
+
92
+ a {
93
+ opacity: 1;
94
+ padding: var(--pv) var(--ph);
95
+ color: var(--link--c);
96
+ background-color: var(--gv-link--bgc, transparent);
97
+ width: 100%;
98
+ display: inline-flex;
99
+ align-content: center;
100
+ text-align: var(--gv-link--ta, center);
101
+ text-shadow: var(--gv-link--tsh, none);
102
+ border-color: var(--gv-link--bgc, transparent);
103
+ border-style: var(--gv-link-active--bds, none);
104
+ border-width: var(--gv-link-active--bdw, none);
105
+ }
106
+
107
+ a > * {
108
+ align-self: center;
109
+ }
110
+
111
+ .active {
112
+ color: var(--link-active--c);
113
+ background-color: var(--gv-link-active--bgc, var(--gv-theme-color-dark, #28444f));
114
+ border-color: var(--gv-link-active--bdc, none);
115
+ }
116
+
117
+ .link.active:hover {
118
+ opacity: 1;
119
+ }
120
+
121
+ a span,
122
+ a gv-icon {
123
+ align-self: center;
124
+ }
125
+
126
+ a span {
127
+ flex: 1;
128
+ align-self: center;
129
+ white-space: nowrap;
130
+ margin: 0.3rem 0.5rem;
131
+ text-decoration: var(--gv-link--td, none);
132
+ text-overflow: ellipsis;
133
+ overflow: hidden;
134
+ }
135
+
136
+ a.small span {
137
+ margin: 0.3rem 0;
138
+ width: 0;
139
+ visibility: hidden;
140
+ }
141
+
142
+ .help {
143
+ margin: 0 0.2rem;
144
+ opacity: 0.5;
145
+ font-size: var(--gv-theme-font-size-xs, 10px);
146
+ }
147
+
148
+ .help::before {
149
+ content: '(';
150
+ }
151
+
152
+ .help::after {
153
+ content: ')';
154
+ }
155
+
156
+ .skeleton {
157
+ min-width: 100px;
158
+ margin: 0 0.2rem;
159
+ opacity: 0.5;
160
+ }
161
+ `,
162
+ skeleton,
163
+ ];
94
164
  }
95
165
 
96
166
  async _onClick(e) {
@@ -100,14 +170,16 @@ export class GvLink extends LitElement {
100
170
  icon: this.icon,
101
171
  path: this.path,
102
172
  title: this._title,
103
- target: this.target
173
+ target: this.target,
104
174
  });
105
175
  }
106
176
 
107
177
  set title(value) {
108
- Promise.resolve(value).then(title => {
109
- this._title = title;
110
- }).catch(e => {});
178
+ Promise.resolve(value)
179
+ .then((title) => {
180
+ this._title = title;
181
+ })
182
+ .catch((e) => {});
111
183
  }
112
184
 
113
185
  render() {
@@ -115,18 +187,24 @@ export class GvLink extends LitElement {
115
187
  active: this.active,
116
188
  link: true,
117
189
  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)'
190
+ small: this.small,
126
191
  };
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> `;
192
+ const iconStyle = this.active
193
+ ? { '--gv-icon--c': 'var(--link-active--c)', '--gv-icon-opacity--c': 'var(--link-active--c)' }
194
+ : { '--gv-icon--c': 'var(--link--c)', '--gv-icon-opacity--c': 'var(--link--c)' };
195
+ return html`
196
+ <a
197
+ @click=${this._onClick}
198
+ class="${classMap(classes)}"
199
+ .href="${ifDefined(this.path)}"
200
+ .target="${ifDefined(this.target)}"
201
+ ?title="${until(this._title, '')}"
202
+ >
203
+ ${this.icon ? html`<gv-icon shape=${this.icon} style=${styleMap(iconStyle)}></gv-icon>` : ''}
204
+ <span>${until(this._title, '')}${this.help ? html`<span class="help">${until(this.help, '')}</span>` : ''}</span>
205
+ </a>
206
+ `;
128
207
  }
129
-
130
208
  }
209
+
131
210
  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
@@ -17,6 +17,7 @@ import { classMap } from 'lit/directives/class-map';
17
17
  import { LitElement, html, css } from 'lit';
18
18
  import { dispatchCustomEvent } from '../lib/events';
19
19
  import '../atoms/gv-icon';
20
+
20
21
  /**
21
22
  * Message component
22
23
  *
@@ -30,26 +31,70 @@ import '../atoms/gv-icon';
30
31
  * @attr {String} type - type of the message. Can be default, success, error, warning or info.
31
32
  * @attr {boolean} closable - determines if the message can be hidden.
32
33
  */
33
-
34
34
  export class GvMessage extends LitElement {
35
35
  static get properties() {
36
36
  return {
37
- type: {
38
- type: String
39
- },
40
- closable: {
41
- type: Boolean
42
- },
43
- _close: {
44
- type: Boolean,
45
- attribute: false
46
- }
37
+ type: { type: String },
38
+ closable: { type: Boolean },
39
+ _close: { type: Boolean, attribute: false },
47
40
  };
48
41
  }
49
42
 
50
43
  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}`];
44
+ return [
45
+ // language=CSS
46
+ css`
47
+ :host {
48
+ display: block;
49
+ vertical-align: middle;
50
+ }
51
+
52
+ .box {
53
+ display: flex;
54
+ align-items: center;
55
+ font-style: normal;
56
+ font-weight: normal;
57
+ line-height: normal;
58
+ padding: 12px 0px;
59
+ text-align: center;
60
+ width: 100%;
61
+ }
62
+
63
+ .info {
64
+ background-color: var(--gv-theme-color-info-light, #64b5f6);
65
+ }
66
+
67
+ .success {
68
+ background-color: var(--gv-theme-color-success-light, #81c784);
69
+ }
70
+
71
+ .warning {
72
+ background-color: var(--gv-theme-color-warning-light, #ffb74d);
73
+ }
74
+
75
+ .error {
76
+ background-color: var(--gv-theme-color-error-light, #e57373);
77
+ }
78
+
79
+ .close {
80
+ transition: opacity 250ms ease-in-out;
81
+ opacity: 0;
82
+ }
83
+
84
+ gv-icon {
85
+ --gv-icon--s: 24px;
86
+ margin-right: 12px;
87
+ }
88
+
89
+ gv-icon:hover {
90
+ cursor: pointer;
91
+ }
92
+ .content {
93
+ flex: 1 1 auto;
94
+ margin-left: 12px;
95
+ }
96
+ `,
97
+ ];
53
98
  }
54
99
 
55
100
  _onClick() {
@@ -62,16 +107,22 @@ export class GvMessage extends LitElement {
62
107
  render() {
63
108
  const modes = {
64
109
  box: true,
65
- simple: !this.type || this.type !== 'info' && this.type !== 'success' && this.type !== 'error' && this.type !== 'warning',
110
+ simple: !this.type || (this.type !== 'info' && this.type !== 'success' && this.type !== 'error' && this.type !== 'warning'),
66
111
  info: this.type === 'info',
67
112
  warning: this.type === 'warning',
68
113
  success: this.type === 'success',
69
114
  error: this.type === 'error',
70
- close: this._close
115
+ close: this._close,
71
116
  };
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> `;
117
+ return html`
118
+ <div class=${classMap(modes)}>
119
+ <div class="content">
120
+ <slot></slot>
121
+ </div>
122
+ ${this.closable ? html`<gv-icon shape="general:close" @click="${this._onClick}"></gv-icon>` : ''}
123
+ </div>
124
+ `;
73
125
  }
74
-
75
126
  }
127
+
76
128
  window.customElements.define('gv-message', GvMessage);
77
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LW1lc3NhZ2UuanMiXSwibmFtZXMiOlsiY2xhc3NNYXAiLCJMaXRFbGVtZW50IiwiaHRtbCIsImNzcyIsImRpc3BhdGNoQ3VzdG9tRXZlbnQiLCJHdk1lc3NhZ2UiLCJwcm9wZXJ0aWVzIiwidHlwZSIsIlN0cmluZyIsImNsb3NhYmxlIiwiQm9vbGVhbiIsIl9jbG9zZSIsImF0dHJpYnV0ZSIsInN0eWxlcyIsIl9vbkNsaWNrIiwic2V0VGltZW91dCIsInJlbmRlciIsIm1vZGVzIiwiYm94Iiwic2ltcGxlIiwiaW5mbyIsIndhcm5pbmciLCJzdWNjZXNzIiwiZXJyb3IiLCJjbG9zZSIsIndpbmRvdyIsImN1c3RvbUVsZW1lbnRzIiwiZGVmaW5lIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxRQUFULFFBQXlCLDBCQUF6QjtBQUNBLFNBQVNDLFVBQVQsRUFBcUJDLElBQXJCLEVBQTJCQyxHQUEzQixRQUFzQyxLQUF0QztBQUNBLFNBQVNDLG1CQUFULFFBQW9DLGVBQXBDO0FBQ0EsT0FBTyxrQkFBUDtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBLE9BQU8sTUFBTUMsU0FBTixTQUF3QkosVUFBeEIsQ0FBbUM7QUFDbkIsYUFBVkssVUFBVSxHQUFHO0FBQ3RCLFdBQU87QUFDTEMsTUFBQUEsSUFBSSxFQUFFO0FBQUVBLFFBQUFBLElBQUksRUFBRUM7QUFBUixPQUREO0FBRUxDLE1BQUFBLFFBQVEsRUFBRTtBQUFFRixRQUFBQSxJQUFJLEVBQUVHO0FBQVIsT0FGTDtBQUdMQyxNQUFBQSxNQUFNLEVBQUU7QUFBRUosUUFBQUEsSUFBSSxFQUFFRyxPQUFSO0FBQWlCRSxRQUFBQSxTQUFTLEVBQUU7QUFBNUI7QUFISCxLQUFQO0FBS0Q7O0FBRWdCLGFBQU5DLE1BQU0sR0FBRztBQUNsQixXQUFPLENBQ0w7QUFDQVYsSUFBQUEsR0FBRyx1bUJBRkUsQ0FBUDtBQXNERDs7QUFFRFcsRUFBQUEsUUFBUSxHQUFHO0FBQ1QsU0FBS0gsTUFBTCxHQUFjLElBQWQ7QUFDQUksSUFBQUEsVUFBVSxDQUFDLE1BQU07QUFDZlgsTUFBQUEsbUJBQW1CLENBQUMsSUFBRCxFQUFPLE9BQVAsQ0FBbkI7QUFDRCxLQUZTLEVBRVAsR0FGTyxDQUFWO0FBR0Q7O0FBRURZLEVBQUFBLE1BQU0sR0FBRztBQUNQLFVBQU1DLEtBQUssR0FBRztBQUNaQyxNQUFBQSxHQUFHLEVBQUUsSUFETztBQUVaQyxNQUFBQSxNQUFNLEVBQUUsQ0FBQyxLQUFLWixJQUFOLElBQWUsS0FBS0EsSUFBTCxLQUFjLE1BQWQsSUFBd0IsS0FBS0EsSUFBTCxLQUFjLFNBQXRDLElBQW1ELEtBQUtBLElBQUwsS0FBYyxPQUFqRSxJQUE0RSxLQUFLQSxJQUFMLEtBQWMsU0FGckc7QUFHWmEsTUFBQUEsSUFBSSxFQUFFLEtBQUtiLElBQUwsS0FBYyxNQUhSO0FBSVpjLE1BQUFBLE9BQU8sRUFBRSxLQUFLZCxJQUFMLEtBQWMsU0FKWDtBQUtaZSxNQUFBQSxPQUFPLEVBQUUsS0FBS2YsSUFBTCxLQUFjLFNBTFg7QUFNWmdCLE1BQUFBLEtBQUssRUFBRSxLQUFLaEIsSUFBTCxLQUFjLE9BTlQ7QUFPWmlCLE1BQUFBLEtBQUssRUFBRSxLQUFLYjtBQVBBLEtBQWQ7QUFTQSxXQUFPVCxJQUFJLGdCQUNJRixRQUFRLENBQUNpQixLQUFELENBRFosaURBS0wsS0FBS1IsUUFBTCxHQUFnQlAsSUFBSSwwQ0FBMEMsS0FBS1ksUUFBL0MsY0FBcEIsR0FBNEYsRUFMdkYsVUFBWDtBQVFEOztBQTNGdUM7QUE4RjFDVyxNQUFNLENBQUNDLGNBQVAsQ0FBc0JDLE1BQXRCLENBQTZCLFlBQTdCLEVBQTJDdEIsU0FBM0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgY2xhc3NNYXAgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9jbGFzcy1tYXAnO1xuaW1wb3J0IHsgTGl0RWxlbWVudCwgaHRtbCwgY3NzIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGRpc3BhdGNoQ3VzdG9tRXZlbnQgfSBmcm9tICcuLi9saWIvZXZlbnRzJztcbmltcG9ydCAnLi4vYXRvbXMvZ3YtaWNvbic7XG5cbi8qKlxuICogTWVzc2FnZSBjb21wb25lbnRcbiAqXG4gKiAjIyBEZXRhaWxzXG4gKiAqIGhhcyBAdGhlbWUgZmFjZXRcbiAqXG4gKiBAZmlyZXMgZ3YtbWVzc2FnZTpjbG9zZSAtIENsaWNrIGV2ZW50IGZyb20gaW5uZXIgYnV0dG9uIGVsZW1lbnRcbiAqXG4gKiBAc2xvdCAtIFRoZSBjb250ZW50IG9mIHRoZSBidXR0b24gKHRleHQgb3IgSFRNTClcbiAqXG4gKiBAYXR0ciB7U3RyaW5nfSB0eXBlIC0gdHlwZSBvZiB0aGUgbWVzc2FnZS4gQ2FuIGJlIGRlZmF1bHQsIHN1Y2Nlc3MsIGVycm9yLCB3YXJuaW5nIG9yIGluZm8uXG4gKiBAYXR0ciB7Ym9vbGVhbn0gY2xvc2FibGUgLSBkZXRlcm1pbmVzIGlmIHRoZSBtZXNzYWdlIGNhbiBiZSBoaWRkZW4uXG4gKi9cbmV4cG9ydCBjbGFzcyBHdk1lc3NhZ2UgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgc3RhdGljIGdldCBwcm9wZXJ0aWVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgY2xvc2FibGU6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgX2Nsb3NlOiB7IHR5cGU6IEJvb2xlYW4sIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGdldCBzdHlsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC8vIGxhbmd1YWdlPUNTU1xuICAgICAgY3NzYFxuICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgIHBhZGRpbmc6IDEycHggMHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbmZvIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ndi10aGVtZS1jb2xvci1pbmZvLWxpZ2h0LCAjNjRiNWY2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWNjZXNzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ndi10aGVtZS1jb2xvci1zdWNjZXNzLWxpZ2h0LCAjODFjNzg0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC53YXJuaW5nIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ndi10aGVtZS1jb2xvci13YXJuaW5nLWxpZ2h0LCAjZmZiNzRkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lcnJvciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3YtdGhlbWUtY29sb3ItZXJyb3ItbGlnaHQsICNlNTczNzMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNsb3NlIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBndi1pY29uIHtcbiAgICAgICAgICAtLWd2LWljb24tLXM6IDI0cHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgZ3YtaWNvbjpob3ZlciB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICAgICAgfVxuICAgICAgYCxcbiAgICBdO1xuICB9XG5cbiAgX29uQ2xpY2soKSB7XG4gICAgdGhpcy5fY2xvc2UgPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgZGlzcGF0Y2hDdXN0b21FdmVudCh0aGlzLCAnY2xvc2UnKTtcbiAgICB9LCAyNTApO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IG1vZGVzID0ge1xuICAgICAgYm94OiB0cnVlLFxuICAgICAgc2ltcGxlOiAhdGhpcy50eXBlIHx8ICh0aGlzLnR5cGUgIT09ICdpbmZvJyAmJiB0aGlzLnR5cGUgIT09ICdzdWNjZXNzJyAmJiB0aGlzLnR5cGUgIT09ICdlcnJvcicgJiYgdGhpcy50eXBlICE9PSAnd2FybmluZycpLFxuICAgICAgaW5mbzogdGhpcy50eXBlID09PSAnaW5mbycsXG4gICAgICB3YXJuaW5nOiB0aGlzLnR5cGUgPT09ICd3YXJuaW5nJyxcbiAgICAgIHN1Y2Nlc3M6IHRoaXMudHlwZSA9PT0gJ3N1Y2Nlc3MnLFxuICAgICAgZXJyb3I6IHRoaXMudHlwZSA9PT0gJ2Vycm9yJyxcbiAgICAgIGNsb3NlOiB0aGlzLl9jbG9zZSxcbiAgICB9O1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz0ke2NsYXNzTWFwKG1vZGVzKX0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgJHt0aGlzLmNsb3NhYmxlID8gaHRtbGA8Z3YtaWNvbiBzaGFwZT1cImdlbmVyYWw6Y2xvc2VcIiBAY2xpY2s9XCIke3RoaXMuX29uQ2xpY2t9XCI+PC9ndi1pY29uPmAgOiAnJ31cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxud2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZ3YtbWVzc2FnZScsIEd2TWVzc2FnZSk7XG4iXX0=
@@ -17,6 +17,7 @@ import { classMap } from 'lit/directives/class-map';
17
17
  import { LitElement, html, css } from 'lit';
18
18
  import { skeleton } from '../styles/skeleton';
19
19
  import './gv-icon';
20
+
20
21
  /**
21
22
  * A Metric
22
23
  *
@@ -31,38 +32,86 @@ import './gv-icon';
31
32
  * @cssprop {Color} [--gv-metric--c=var(--gv-theme-color, #5a7684)] - Color
32
33
  * @cssprop {Length} [--gv-metric-icon--s=24px] - Height and icon width
33
34
  */
34
-
35
35
  export class GvMetric extends LitElement {
36
36
  static get properties() {
37
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
- }
38
+ icon: { type: String },
39
+ name: { type: String },
40
+ value: { type: String },
41
+ skeleton: { type: Boolean },
50
42
  };
51
43
  }
52
44
 
53
45
  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];
46
+ return [
47
+ // language=CSS
48
+ css`
49
+ :host {
50
+ box-sizing: border-box;
51
+ }
52
+
53
+ .metric {
54
+ --gv-icon--s: var(--gv-metric-icon--s, 24px);
55
+ --gv-icon--c: var(--gv-metric--c, var(--gv-theme-color, #5a7684));
56
+ min-width: 75px;
57
+ height: 100%;
58
+ width: 100%;
59
+ display: flex;
60
+ flex-direction: row;
61
+ }
62
+
63
+ .icon {
64
+ align-self: center;
65
+ margin-right: 4px;
66
+ }
67
+
68
+ div {
69
+ display: block;
70
+ }
71
+
72
+ .metric-data {
73
+ display: flex;
74
+ flex-direction: column;
75
+ justify-content: flex-end;
76
+ }
77
+
78
+ .metric-value {
79
+ font-size: var(--gv-theme-font-size-m, 14px);
80
+ line-height: var(--gv-theme-font-size-m, 14px);
81
+ }
82
+
83
+ .metric-name {
84
+ font-size: var(--gv-theme-font-size-xs, 10px);
85
+ line-height: var(--gv-theme-font-size-xs, 10px);
86
+ opacity: 0.5;
87
+ }
88
+ `,
89
+ skeleton,
90
+ ];
56
91
  }
57
92
 
58
93
  render() {
59
94
  const modes = {
60
95
  skeleton: this.skeleton,
61
- metric: true
96
+ metric: true,
62
97
  };
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
98
 
99
+ return html`
100
+ <div class=${classMap(modes)}>
101
+ ${this.value
102
+ ? html`
103
+ <div class="icon">
104
+ <gv-icon shape="${this.icon}"></gv-icon>
105
+ </div>
106
+ <div class="metric-data">
107
+ <div class="metric-value">${this.value}</div>
108
+ <div class="metric-name">${this.name}</div>
109
+ </div>
110
+ `
111
+ : ''}
112
+ </div>
113
+ `;
114
+ }
66
115
  }
116
+
67
117
  window.customElements.define('gv-metric', GvMetric);
68
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LW1ldHJpYy5qcyJdLCJuYW1lcyI6WyJjbGFzc01hcCIsIkxpdEVsZW1lbnQiLCJodG1sIiwiY3NzIiwic2tlbGV0b24iLCJHdk1ldHJpYyIsInByb3BlcnRpZXMiLCJpY29uIiwidHlwZSIsIlN0cmluZyIsIm5hbWUiLCJ2YWx1ZSIsIkJvb2xlYW4iLCJzdHlsZXMiLCJyZW5kZXIiLCJtb2RlcyIsIm1ldHJpYyIsIndpbmRvdyIsImN1c3RvbUVsZW1lbnRzIiwiZGVmaW5lIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxRQUFULFFBQXlCLDBCQUF6QjtBQUNBLFNBQVNDLFVBQVQsRUFBcUJDLElBQXJCLEVBQTJCQyxHQUEzQixRQUFzQyxLQUF0QztBQUNBLFNBQVNDLFFBQVQsUUFBeUIsb0JBQXpCO0FBQ0EsT0FBTyxXQUFQO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxPQUFPLE1BQU1DLFFBQU4sU0FBdUJKLFVBQXZCLENBQWtDO0FBQ2xCLGFBQVZLLFVBQVUsR0FBRztBQUN0QixXQUFPO0FBQ0xDLE1BQUFBLElBQUksRUFBRTtBQUFFQyxRQUFBQSxJQUFJLEVBQUVDO0FBQVIsT0FERDtBQUVMQyxNQUFBQSxJQUFJLEVBQUU7QUFBRUYsUUFBQUEsSUFBSSxFQUFFQztBQUFSLE9BRkQ7QUFHTEUsTUFBQUEsS0FBSyxFQUFFO0FBQUVILFFBQUFBLElBQUksRUFBRUM7QUFBUixPQUhGO0FBSUxMLE1BQUFBLFFBQVEsRUFBRTtBQUFFSSxRQUFBQSxJQUFJLEVBQUVJO0FBQVI7QUFKTCxLQUFQO0FBTUQ7O0FBRWdCLGFBQU5DLE1BQU0sR0FBRztBQUNsQixXQUFPLENBQ0w7QUFDQVYsSUFBQUEsR0FBRyxxakJBRkUsRUEyQ0xDLFFBM0NLLENBQVA7QUE2Q0Q7O0FBRURVLEVBQUFBLE1BQU0sR0FBRztBQUNQLFVBQU1DLEtBQUssR0FBRztBQUNaWCxNQUFBQSxRQUFRLEVBQUUsS0FBS0EsUUFESDtBQUVaWSxNQUFBQSxNQUFNLEVBQUU7QUFGSSxLQUFkO0FBS0EsV0FBT2QsSUFBSSxnQkFDSUYsUUFBUSxDQUFDZSxLQUFELENBRFosTUFFTCxLQUFLSixLQUFMLEdBQ0VULElBQUksdUNBRWtCLEtBQUtLLElBRnZCLDJFQUs0QixLQUFLSSxLQUxqQyxtQ0FNMkIsS0FBS0QsSUFOaEMsZ0JBRE4sR0FVRSxFQVpHLFVBQVg7QUFlRDs7QUEvRXNDO0FBa0Z6Q08sTUFBTSxDQUFDQyxjQUFQLENBQXNCQyxNQUF0QixDQUE2QixXQUE3QixFQUEwQ2QsUUFBMUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgY2xhc3NNYXAgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9jbGFzcy1tYXAnO1xuaW1wb3J0IHsgTGl0RWxlbWVudCwgaHRtbCwgY3NzIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHNrZWxldG9uIH0gZnJvbSAnLi4vc3R5bGVzL3NrZWxldG9uJztcbmltcG9ydCAnLi9ndi1pY29uJztcblxuLyoqXG4gKiBBIE1ldHJpY1xuICpcbiAqICMjIERldGFpbHNcbiAqICogaGFzIEB0aGVtZSBmYWNldFxuICpcbiAqIEBhdHRyIHtTdHJpbmd9IGljb24gLSBuYW1lIG9mIHNoYXBlXG4gKiBAYXR0ciB7U3RyaW5nfSBuYW1lIC0gdGhlIG5hbWUgb2YgdGhlIG1ldHJpY1xuICogQGF0dHIge1N0cmluZ30gdmFsdWUgLSB0aGUgdmFsdWUgb2YgdGhlIG1ldHJpY1xuICogQGF0dHIge0Jvb2xlYW59IHNrZWxldG9uIC0gZW5hYmxlIHNrZWxldG9uIHNjcmVlbiBVSSBwYXR0ZXJuIChsb2FkaW5nIGhpbnQpXG4gKlxuICogQGNzc3Byb3Age0NvbG9yfSBbLS1ndi1tZXRyaWMtLWM9dmFyKC0tZ3YtdGhlbWUtY29sb3IsICM1YTc2ODQpXSAtIENvbG9yXG4gKiBAY3NzcHJvcCB7TGVuZ3RofSBbLS1ndi1tZXRyaWMtaWNvbi0tcz0yNHB4XSAtIEhlaWdodCBhbmQgaWNvbiB3aWR0aFxuICovXG5leHBvcnQgY2xhc3MgR3ZNZXRyaWMgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgc3RhdGljIGdldCBwcm9wZXJ0aWVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgbmFtZTogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIHZhbHVlOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgc2tlbGV0b246IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZ2V0IHN0eWxlcygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgLy8gbGFuZ3VhZ2U9Q1NTXG4gICAgICBjc3NgXG4gICAgICAgIDpob3N0IHtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1ldHJpYyB7XG4gICAgICAgICAgLS1ndi1pY29uLS1zOiB2YXIoLS1ndi1tZXRyaWMtaWNvbi0tcywgMjRweCk7XG4gICAgICAgICAgLS1ndi1pY29uLS1jOiB2YXIoLS1ndi1tZXRyaWMtLWMsIHZhcigtLWd2LXRoZW1lLWNvbG9yLCAjNWE3Njg0KSk7XG4gICAgICAgICAgbWluLXdpZHRoOiA3NXB4O1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgZGl2IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZXRyaWMtZGF0YSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIH1cblxuICAgICAgICAubWV0cmljLXZhbHVlIHtcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS1tLCAxNHB4KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tZ3YtdGhlbWUtZm9udC1zaXplLW0sIDE0cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1ldHJpYy1uYW1lIHtcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS14cywgMTBweCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS14cywgMTBweCk7XG4gICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICB9XG4gICAgICBgLFxuICAgICAgc2tlbGV0b24sXG4gICAgXTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCBtb2RlcyA9IHtcbiAgICAgIHNrZWxldG9uOiB0aGlzLnNrZWxldG9uLFxuICAgICAgbWV0cmljOiB0cnVlLFxuICAgIH07XG5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9JHtjbGFzc01hcChtb2Rlcyl9PlxuICAgICAgICAke3RoaXMudmFsdWVcbiAgICAgICAgICA/IGh0bWxgXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uXCI+XG4gICAgICAgICAgICAgICAgPGd2LWljb24gc2hhcGU9XCIke3RoaXMuaWNvbn1cIj48L2d2LWljb24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWV0cmljLWRhdGFcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWV0cmljLXZhbHVlXCI+JHt0aGlzLnZhbHVlfTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXRyaWMtbmFtZVwiPiR7dGhpcy5uYW1lfTwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIGBcbiAgICAgICAgICA6ICcnfVxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG53aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdndi1tZXRyaWMnLCBHdk1ldHJpYyk7XG4iXX0=