@gravitee/ui-components 3.25.2 → 3.25.3-typescript-ad6021f

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 (111) hide show
  1. package/CHANGELOG.md +1292 -0
  2. package/LICENSE.txt +202 -0
  3. package/README.md +195 -0
  4. package/package.json +17 -4
  5. package/src/.eslintrc.js +19 -0
  6. package/src/atoms/gv-autocomplete.js +156 -132
  7. package/src/atoms/gv-button.js +248 -73
  8. package/src/atoms/gv-checkbox.js +103 -45
  9. package/src/atoms/gv-date-picker-calendar.js +393 -312
  10. package/src/atoms/gv-date-picker-cell.js +81 -57
  11. package/src/atoms/gv-date-picker.js +319 -180
  12. package/src/atoms/gv-file-upload.js +195 -85
  13. package/src/atoms/gv-icon.js +34 -13
  14. package/src/atoms/gv-image.js +66 -31
  15. package/src/atoms/gv-input-message.js +37 -12
  16. package/src/atoms/gv-input.js +148 -117
  17. package/src/atoms/gv-link.js +125 -47
  18. package/src/atoms/gv-message.js +69 -18
  19. package/src/atoms/gv-metric.js +68 -19
  20. package/src/atoms/gv-relative-time.js +38 -67
  21. package/src/atoms/gv-select-native.js +215 -96
  22. package/src/atoms/gv-select.js +230 -110
  23. package/src/atoms/gv-spinner.js +26 -5
  24. package/src/atoms/gv-state.js +66 -25
  25. package/src/atoms/gv-switch.js +160 -40
  26. package/src/atoms/gv-tag.js +78 -26
  27. package/src/atoms/gv-text.js +83 -22
  28. package/src/charts/gv-chart-bar.js +18 -22
  29. package/src/charts/gv-chart-gauge.js +31 -28
  30. package/src/charts/gv-chart-histogram.js +10 -18
  31. package/src/charts/gv-chart-line.js +59 -70
  32. package/src/charts/gv-chart-map.js +42 -44
  33. package/src/charts/gv-chart-pie.js +14 -18
  34. package/src/index.js +0 -1
  35. package/src/lib/cron-expression.js +35 -40
  36. package/src/lib/date.js +1 -10
  37. package/src/lib/events.js +1 -3
  38. package/src/lib/http-client-schema-form.js +12 -13
  39. package/src/lib/http.js +56 -57
  40. package/src/lib/i18n.js +22 -30
  41. package/src/lib/item.js +12 -13
  42. package/src/lib/properties.js +42 -77
  43. package/src/lib/schema-form.js +5 -4
  44. package/src/lib/studio.js +60 -13
  45. package/src/lib/style.js +8 -8
  46. package/src/lib/text-format.js +7 -14
  47. package/src/lib/theme.js +5 -8
  48. package/src/lib/utils.js +18 -17
  49. package/src/mixins/chart-element.js +54 -31
  50. package/src/mixins/input-element.js +47 -60
  51. package/src/mixins/item-resource.js +32 -34
  52. package/src/mixins/keyboard-element.js +5 -6
  53. package/src/mixins/update-after-browser.js +1 -4
  54. package/src/mixins/with-resize-observer.js +13 -23
  55. package/src/mixins/with-skeleton-attribute.js +48 -54
  56. package/src/molecules/gv-card-full.js +147 -26
  57. package/src/molecules/gv-card-list.js +42 -13
  58. package/src/molecules/gv-card.js +91 -17
  59. package/src/molecules/gv-category-list.js +17 -6
  60. package/src/molecules/gv-category.js +103 -23
  61. package/src/molecules/gv-code.js +142 -80
  62. package/src/molecules/gv-confirm.js +71 -41
  63. package/src/molecules/gv-cron-editor.js +389 -143
  64. package/src/molecules/gv-dropdown-menu.js +46 -14
  65. package/src/molecules/gv-expandable.js +59 -31
  66. package/src/molecules/gv-expression-language.js +138 -176
  67. package/src/molecules/gv-identity-picture.js +66 -43
  68. package/src/molecules/gv-list.js +134 -42
  69. package/src/molecules/gv-metrics.js +49 -37
  70. package/src/molecules/gv-modal.js +95 -28
  71. package/src/molecules/gv-nav.js +75 -49
  72. package/src/molecules/gv-option.js +130 -57
  73. package/src/molecules/gv-plans.js +209 -86
  74. package/src/molecules/gv-popover.js +177 -57
  75. package/src/molecules/gv-promote.js +146 -28
  76. package/src/molecules/gv-rating-list.js +195 -69
  77. package/src/molecules/gv-rating.js +105 -52
  78. package/src/molecules/gv-row-expandable.js +11 -5
  79. package/src/molecules/gv-row.js +147 -21
  80. package/src/molecules/gv-stats.js +48 -23
  81. package/src/molecules/gv-stepper.js +187 -43
  82. package/src/molecules/gv-table.js +309 -199
  83. package/src/molecules/gv-tree.js +156 -33
  84. package/src/organisms/gv-documentation.js +127 -44
  85. package/src/organisms/gv-header.js +195 -37
  86. package/src/organisms/gv-http-client.js +168 -32
  87. package/src/organisms/gv-menu.js +158 -37
  88. package/src/organisms/gv-newsletter-subscription.js +189 -48
  89. package/src/organisms/gv-pagination.js +77 -49
  90. package/src/organisms/gv-properties.js +492 -271
  91. package/src/organisms/gv-resizable-views.js +259 -41
  92. package/src/organisms/gv-resources.js +275 -168
  93. package/src/organisms/gv-schema-form-array.js +159 -49
  94. package/src/organisms/gv-schema-form-control-object.js +73 -59
  95. package/src/organisms/gv-schema-form-control.js +134 -107
  96. package/src/organisms/gv-schema-form.js +313 -208
  97. package/src/organisms/gv-tabs.js +98 -66
  98. package/src/organisms/gv-user-menu.js +201 -36
  99. package/src/organisms/gv-vertical-menu.js +61 -20
  100. package/src/policy-studio/gv-flow-step.js +265 -105
  101. package/src/policy-studio/gv-flow.js +304 -125
  102. package/src/policy-studio/gv-policy-studio-menu.js +471 -157
  103. package/src/policy-studio/gv-policy-studio.js +774 -710
  104. package/src/styles/empty.js +20 -3
  105. package/src/styles/input.js +247 -3
  106. package/src/styles/link.js +16 -3
  107. package/src/styles/shapes.js +0 -1
  108. package/src/styles/skeleton.js +37 -3
  109. package/src/styles/zoom.js +24 -3
  110. package/src/theme/definition.json +1762 -0
  111. package/src/theme/gv-theme.js +60 -21
package/src/lib/utils.js CHANGED
@@ -16,13 +16,14 @@
16
16
  export function truncate(text, limit = 250, suffix = '...') {
17
17
  return text && text.length > limit ? `${text.substring(0, limit)}${suffix}` : text;
18
18
  }
19
+
19
20
  export function isSameRoutes(routes, futureRoutes) {
20
21
  if (routes && futureRoutes) {
21
- return JSON.stringify(routes.map(r => r.path + r.active)) === JSON.stringify(futureRoutes.map(r => r.path + r.active));
22
+ return JSON.stringify(routes.map((r) => r.path + r.active)) === JSON.stringify(futureRoutes.map((r) => r.path + r.active));
22
23
  }
23
-
24
24
  return false;
25
25
  }
26
+
26
27
  export function appendDraggableImage(src, size = 100, defaultIcon = 'communication:shield-thunder') {
27
28
  // Usefull when image src is svg
28
29
  const div = document.createElement('div');
@@ -30,7 +31,6 @@ export function appendDraggableImage(src, size = 100, defaultIcon = 'communicati
30
31
  div.style.left = '-999px';
31
32
  div.style.top = '-999px';
32
33
  div.style.zIndex = 1000;
33
-
34
34
  if (src != null) {
35
35
  const image = new Image();
36
36
  image.src = src;
@@ -43,45 +43,48 @@ export function appendDraggableImage(src, size = 100, defaultIcon = 'communicati
43
43
  svgElem.appendChild(useElem);
44
44
  div.appendChild(svgElem);
45
45
  }
46
-
47
46
  document.body.appendChild(div);
48
47
  return div;
49
48
  }
49
+
50
50
  export function flatDeep(arr) {
51
51
  return arr.reduce((acc, val) => acc.concat(Array.isArray(val) ? flatDeep(val) : val), []);
52
52
  }
53
+
53
54
  export function flatObject(obj, prefix = '') {
54
55
  return Object.keys(obj).reduce((acc, k) => {
55
56
  const pre = prefix.length ? prefix + '.' : '';
56
- if (Array.isArray(obj[k])) acc[pre + k] = obj[k];else if (typeof obj[k] === 'object') Object.assign(acc, flatObject(obj[k], pre + k));else acc[pre + k] = obj[k];
57
+ if (Array.isArray(obj[k])) acc[pre + k] = obj[k];
58
+ else if (typeof obj[k] === 'object') Object.assign(acc, flatObject(obj[k], pre + k));
59
+ else acc[pre + k] = obj[k];
57
60
  return acc;
58
61
  }, {});
59
62
  }
63
+
60
64
  export function deepClone(obj) {
61
65
  if (obj) {
62
66
  return JSON.parse(JSON.stringify(obj));
63
67
  }
64
-
65
68
  return obj;
66
69
  }
70
+
67
71
  export function uuid() {
68
- return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {
69
- const r = Math.random() * 16 | 0;
70
- const v = c === 'x' ? r : r & 0x3 | 0x8;
72
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
73
+ const r = (Math.random() * 16) | 0;
74
+ const v = c === 'x' ? r : (r & 0x3) | 0x8;
71
75
  return v.toString(16);
72
76
  });
73
77
  }
78
+
74
79
  export function deepEqual(a, b, withoutOrder = false) {
75
80
  if (Array.isArray(a) && Array.isArray(b) && withoutOrder) {
76
81
  if (a.length !== b.length) return false;
77
82
  const uniqueValues = new Set([...a, ...b]);
78
-
79
83
  for (const v of uniqueValues) {
80
- const aCount = a.filter(e => e === v).length;
81
- const bCount = b.filter(e => e === v).length;
84
+ const aCount = a.filter((e) => e === v).length;
85
+ const bCount = b.filter((e) => e === v).length;
82
86
  if (aCount !== bCount) return false;
83
87
  }
84
-
85
88
  return true;
86
89
  }
87
90
 
@@ -96,15 +99,13 @@ export function deepEqual(a, b, withoutOrder = false) {
96
99
  const val1 = a[key];
97
100
  const val2 = b[key];
98
101
  const areObjects = isObject(val1) && isObject(val2);
99
-
100
- if (areObjects && !deepEqual(val1, val2) || !areObjects && val1 !== val2) {
102
+ if ((areObjects && !deepEqual(val1, val2)) || (!areObjects && val1 !== val2)) {
101
103
  return false;
102
104
  }
103
105
  }
104
-
105
106
  return true;
106
107
  }
108
+
107
109
  export function isObject(object) {
108
110
  return object != null && typeof object === 'object';
109
111
  }
110
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2xpYi91dGlscy5qcyJdLCJuYW1lcyI6WyJ0cnVuY2F0ZSIsInRleHQiLCJsaW1pdCIsInN1ZmZpeCIsImxlbmd0aCIsInN1YnN0cmluZyIsImlzU2FtZVJvdXRlcyIsInJvdXRlcyIsImZ1dHVyZVJvdXRlcyIsIkpTT04iLCJzdHJpbmdpZnkiLCJtYXAiLCJyIiwicGF0aCIsImFjdGl2ZSIsImFwcGVuZERyYWdnYWJsZUltYWdlIiwic3JjIiwic2l6ZSIsImRlZmF1bHRJY29uIiwiZGl2IiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50Iiwic3R5bGUiLCJwb3NpdGlvbiIsImxlZnQiLCJ0b3AiLCJ6SW5kZXgiLCJpbWFnZSIsIkltYWdlIiwiYXBwZW5kQ2hpbGQiLCJzdmdFbGVtIiwiY3JlYXRlRWxlbWVudE5TIiwidXNlRWxlbSIsInNldEF0dHJpYnV0ZU5TIiwiYm9keSIsImZsYXREZWVwIiwiYXJyIiwicmVkdWNlIiwiYWNjIiwidmFsIiwiY29uY2F0IiwiQXJyYXkiLCJpc0FycmF5IiwiZmxhdE9iamVjdCIsIm9iaiIsInByZWZpeCIsIk9iamVjdCIsImtleXMiLCJrIiwicHJlIiwiYXNzaWduIiwiZGVlcENsb25lIiwicGFyc2UiLCJ1dWlkIiwicmVwbGFjZSIsImMiLCJNYXRoIiwicmFuZG9tIiwidiIsInRvU3RyaW5nIiwiZGVlcEVxdWFsIiwiYSIsImIiLCJ3aXRob3V0T3JkZXIiLCJ1bmlxdWVWYWx1ZXMiLCJTZXQiLCJhQ291bnQiLCJmaWx0ZXIiLCJlIiwiYkNvdW50Iiwia2V5czEiLCJrZXlzMiIsImtleSIsInZhbDEiLCJ2YWwyIiwiYXJlT2JqZWN0cyIsImlzT2JqZWN0Iiwib2JqZWN0Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLFNB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USxLQUFLLENBQUNsRSxNQUFOLEtBQWlCbUUsS0FBSyxDQUFDbkUsTUFBM0IsRUFBbUM7QUFDakMsV0FBTyxLQUFQO0FBQ0Q7O0FBRUQsT0FBSyxNQUFNb0UsR0FBWCxJQUFrQkYsS0FBbEIsRUFBeUI7QUFDdkIsVUFBTUcsSUFBSSxHQUFHWixDQUFDLENBQUNXLEdBQUQsQ0FBZDtBQUNBLFVBQU1FLElBQUksR0FBR1osQ0FBQyxDQUFDVSxHQUFELENBQWQ7QUFDQSxVQUFNRyxVQUFVLEdBQUdDLFFBQVEsQ0FBQ0gsSUFBRCxDQUFSLElBQWtCRyxRQUFRLENBQUNGLElBQUQsQ0FBN0M7O0FBQ0EsUUFBS0MsVUFBVSxJQUFJLENBQUNmLFNBQVMsQ0FBQ2EsSUFBRCxFQUFPQyxJQUFQLENBQXpCLElBQTJDLENBQUNDLFVBQUQsSUFBZUYsSUFBSSxLQUFLQyxJQUF2RSxFQUE4RTtBQUM1RSxhQUFPLEtBQVA7QUFDRDtBQUNGOztBQUNELFNBQU8sSUFBUDtBQUNEO0FBRUQsT0FBTyxTQUFTRSxRQUFULENBQWtCQyxNQUFsQixFQUEwQjtBQUMvQixTQUFPQSxNQUFNLElBQUksSUFBVixJQUFrQixPQUFPQSxNQUFQLEtBQWtCLFFBQTNDO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRydW5jYXRlKHRleHQsIGxpbWl0ID0gMjUwLCBzdWZmaXggPSAnLi4uJykge1xuICByZXR1cm4gdGV4dCAmJiB0ZXh0Lmxlbmd0aCA+IGxpbWl0ID8gYCR7dGV4dC5zdWJzdHJpbmcoMCwgbGltaXQpfSR7c3VmZml4fWAgOiB0ZXh0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTYW1lUm91dGVzKHJvdXRlcywgZnV0dXJlUm91dGVzKSB7XG4gIGlmIChyb3V0ZXMgJiYgZnV0dXJlUm91dGVzKSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHJvdXRlcy5tYXAoKHIpID0+IHIucGF0aCArIHIuYWN0aXZlKSkgPT09IEpTT04uc3RyaW5naWZ5KGZ1dHVyZVJvdXRlcy5tYXAoKHIpID0+IHIucGF0aCArIHIuYWN0aXZlKSk7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kRHJhZ2dhYmxlSW1hZ2Uoc3JjLCBzaXplID0gMTAwLCBkZWZhdWx0SWNvbiA9ICdjb21tdW5pY2F0aW9uOnNoaWVsZC10aHVuZGVyJykge1xuICAvLyBVc2VmdWxsIHdoZW4gaW1hZ2Ugc3JjIGlzIHN2Z1xuICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgZGl2LnN0eWxlLnBvc2l0aW9uID0gJ2ZpeGVkJztcbiAgZGl2LnN0eWxlLmxlZnQgPSAnLTk5OXB4JztcbiAgZGl2LnN0eWxlLnRvcCA9ICctOTk5cHgnO1xuICBkaXYuc3R5bGUuekluZGV4ID0gMTAwMDtcbiAgaWYgKHNyYyAhPSBudWxsKSB7XG4gICAgY29uc3QgaW1hZ2UgPSBuZXcgSW1hZ2UoKTtcbiAgICBpbWFnZS5zcmMgPSBzcmM7XG4gICAgaW1hZ2Uuc3R5bGUgPSBgd2lkdGg6JHtzaXplfXB4O2hlaWdodDoke3NpemV9cHhgO1xuICAgIGRpdi5hcHBlbmRDaGlsZChpbWFnZSk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3Qgc3ZnRWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAnc3ZnJyk7XG4gICAgY29uc3QgdXNlRWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAndXNlJyk7XG4gICAgdXNlRWxlbS5zZXRBdHRyaWJ1dGVOUygnaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycsICd4bGluazpocmVmJywgZGVmYXVsdEljb24pO1xuICAgIHN2Z0VsZW0uYXBwZW5kQ2hpbGQodXNlRWxlbSk7XG4gICAgZGl2LmFwcGVuZENoaWxkKHN2Z0VsZW0pO1xuICB9XG4gIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTtcbiAgcmV0dXJuIGRpdjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZsYXREZWVwKGFycikge1xuICByZXR1cm4gYXJyLnJlZHVjZSgoYWNjLCB2YWwpID0+IGFjYy5jb25jYXQoQXJyYXkuaXNBcnJheSh2YWwpID8gZmxhdERlZXAodmFsKSA6IHZhbCksIFtdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZsYXRPYmplY3Qob2JqLCBwcmVmaXggPSAnJykge1xuICByZXR1cm4gT2JqZWN0LmtleXMob2JqKS5yZWR1Y2UoKGFjYywgaykgPT4ge1xuICAgIGNvbnN0IHByZSA9IHByZWZpeC5sZW5ndGggPyBwcmVmaXggKyAnLicgOiAnJztcbiAgICBpZiAoQXJyYXkuaXNBcnJheShvYmpba10pKSBhY2NbcHJlICsga10gPSBvYmpba107XG4gICAgZWxzZSBpZiAodHlwZW9mIG9ialtrXSA9PT0gJ29iamVjdCcpIE9iamVjdC5hc3NpZ24oYWNjLCBmbGF0T2JqZWN0KG9ialtrXSwgcHJlICsgaykpO1xuICAgIGVsc2UgYWNjW3ByZSArIGtdID0gb2JqW2tdO1xuICAgIHJldHVybiBhY2M7XG4gIH0sIHt9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZXBDbG9uZShvYmopIHtcbiAgaWYgKG9iaikge1xuICAgIHJldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG9iaikpO1xuICB9XG4gIHJldHVybiBvYmo7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1dWlkKCkge1xuICByZXR1cm4gJ3h4eHh4eHh4LXh4eHgtNHh4eC15eHh4LXh4eHh4eHh4eHh4eCcucmVwbGFjZSgvW3h5XS9nLCAoYykgPT4ge1xuICAgIGNvbnN0IHIgPSAoTWF0aC5yYW5kb20oKSAqIDE2KSB8IDA7XG4gICAgY29uc3QgdiA9IGMgPT09ICd4JyA/IHIgOiAociAmIDB4MykgfCAweDg7XG4gICAgcmV0dXJuIHYudG9TdHJpbmcoMTYpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZXBFcXVhbChhLCBiLCB3aXRob3V0T3JkZXIgPSBmYWxzZSkge1xuICBpZiAoQXJyYXkuaXNBcnJheShhKSAmJiBBcnJheS5pc0FycmF5KGIpICYmIHdpdGhvdXRPcmRlcikge1xuICAgIGlmIChhLmxlbmd0aCAhPT0gYi5sZW5ndGgpIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCB1bmlxdWVWYWx1ZXMgPSBuZXcgU2V0KFsuLi5hLCAuLi5iXSk7XG4gICAgZm9yIChjb25zdCB2IG9mIHVuaXF1ZVZhbHVlcykge1xuICAgICAgY29uc3QgYUNvdW50ID0gYS5maWx0ZXIoKGUpID0+IGUgPT09IHYpLmxlbmd0aDtcbiAgICAgIGNvbnN0IGJDb3VudCA9IGIuZmlsdGVyKChlKSA9PiBlID09PSB2KS5sZW5ndGg7XG4gICAgICBpZiAoYUNvdW50ICE9PSBiQ291bnQpIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBjb25zdCBrZXlzMSA9IGEgIT0gbnVsbCA/IE9iamVjdC5rZXlzKGEpIDogW107XG4gIGNvbnN0IGtleXMyID0gYiAhPSBudWxsID8gT2JqZWN0LmtleXMoYikgOiBbXTtcblxuICBpZiAoa2V5czEubGVuZ3RoICE9PSBrZXlzMi5sZW5ndGgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzMSkge1xuICAgIGNvbnN0IHZhbDEgPSBhW2tleV07XG4gICAgY29uc3QgdmFsMiA9IGJba2V5XTtcbiAgICBjb25zdCBhcmVPYmplY3RzID0gaXNPYmplY3QodmFsMSkgJiYgaXNPYmplY3QodmFsMik7XG4gICAgaWYgKChhcmVPYmplY3RzICYmICFkZWVwRXF1YWwodmFsMSwgdmFsMikpIHx8ICghYXJlT2JqZWN0cyAmJiB2YWwxICE9PSB2YWwyKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzT2JqZWN0KG9iamVjdCkge1xuICByZXR1cm4gb2JqZWN0ICE9IG51bGwgJiYgdHlwZW9mIG9iamVjdCA9PT0gJ29iamVjdCc7XG59XG4iXX0=
@@ -19,11 +19,11 @@ import Highcharts from 'highcharts';
19
19
  import Highmaps from 'highcharts/highmaps';
20
20
  import { cache } from 'lit/directives/cache';
21
21
  import { withSkeletonAttribute } from './with-skeleton-attribute';
22
+
22
23
  /**
23
24
  * This is a mixin for ChartElement
24
25
  * @mixinFunction
25
26
  */
26
-
27
27
  export function ChartElement(ParentClass) {
28
28
  /**
29
29
  * @mixinClass
@@ -32,32 +32,58 @@ export function ChartElement(ParentClass) {
32
32
  static get properties() {
33
33
  return {
34
34
  /** @required */
35
- series: {
36
- type: Array
37
- },
38
- options: {
39
- type: Array
40
- },
41
- _additionalOptions: {
42
- type: Object,
43
- attribute: false
44
- },
45
- _series: {
46
- type: Array,
47
- attribute: false
48
- }
35
+ series: { type: Array },
36
+ options: { type: Array },
37
+ _additionalOptions: { type: Object, attribute: false },
38
+ _series: { type: Array, attribute: false },
49
39
  };
50
40
  }
51
41
 
52
42
  static get styles() {
53
- return [...super.styles, // language=CSS
54
- css`:host{box-sizing:border-box;display:flex;height:100%;width:100%;flex-direction:column;justify-content:center;align-content:center}.container{flex:1}.tooltip{display:grid}.tooltip-2{grid-template-columns:repeat(2,1fr)}.tooltip-3{grid-template-columns:repeat(3,1fr)}.tooltip-4{grid-template-columns:repeat(4,1fr)}.tooltip-5{grid-template-columns:repeat(5,1fr)}`];
43
+ return [
44
+ ...super.styles,
45
+ // language=CSS
46
+ css`
47
+ :host {
48
+ box-sizing: border-box;
49
+ display: flex;
50
+ height: 100%;
51
+ width: 100%;
52
+ flex-direction: column;
53
+ justify-content: center;
54
+ align-content: center;
55
+ }
56
+
57
+ .container {
58
+ flex: 1;
59
+ }
60
+
61
+ .tooltip {
62
+ display: grid;
63
+ }
64
+
65
+ .tooltip-2 {
66
+ grid-template-columns: repeat(2, 1fr);
67
+ }
68
+
69
+ .tooltip-3 {
70
+ grid-template-columns: repeat(3, 1fr);
71
+ }
72
+
73
+ .tooltip-4 {
74
+ grid-template-columns: repeat(4, 1fr);
75
+ }
76
+
77
+ .tooltip-5 {
78
+ grid-template-columns: repeat(5, 1fr);
79
+ }
80
+ `,
81
+ ];
55
82
  }
56
83
 
57
84
  constructor() {
58
85
  super();
59
86
  this._skeletonAttribute = 'series';
60
-
61
87
  this._eventListener = function eventListener() {
62
88
  for (let i = 0; i < Highcharts.charts.length; i++) {
63
89
  Highcharts.charts[i].reflow();
@@ -79,9 +105,8 @@ export function ChartElement(ParentClass) {
79
105
 
80
106
  updated(changedProperties) {
81
107
  super.updated(changedProperties);
82
-
83
108
  if (changedProperties.has('_series')) {
84
- this.getOptions().then(options => {
109
+ this.getOptions().then((options) => {
85
110
  this._additionalOptions = options;
86
111
  });
87
112
  }
@@ -91,7 +116,6 @@ export function ChartElement(ParentClass) {
91
116
  if (this._error) {
92
117
  return html` <div class="error">${i18n('gv-chart.error')}</div>`;
93
118
  }
94
-
95
119
  if (this._empty) {
96
120
  return html` <div class="empty">${i18n('gv-chart.empty')}</div>`;
97
121
  }
@@ -102,25 +126,26 @@ export function ChartElement(ParentClass) {
102
126
  container.classList.add('container');
103
127
 
104
128
  if (this._additionalOptions) {
105
- const options = { ...{
129
+ const options = {
130
+ ...{
106
131
  chart: {
107
132
  height: '100%',
108
- width: '100%'
133
+ width: '100%',
109
134
  },
110
135
  credits: {
111
- enabled: false
136
+ enabled: false,
112
137
  },
113
138
  title: {
114
- text: ''
139
+ text: '',
115
140
  },
116
141
  time: {
117
- useUTC: false
118
- }
142
+ useUTC: false,
143
+ },
119
144
  },
120
- ...this._additionalOptions
145
+ ...this._additionalOptions,
121
146
  };
122
- const hasData = this._series && this._series.values && this._series.values[0] && this._series.values[0].data;
123
147
 
148
+ const hasData = this._series && this._series.values && this._series.values[0] && this._series.values[0].data;
124
149
  if (hasData) {
125
150
  options.series = this._series && this._series.values;
126
151
  }
@@ -136,7 +161,5 @@ export function ChartElement(ParentClass) {
136
161
 
137
162
  return html`${cache(container)}`;
138
163
  }
139
-
140
164
  };
141
165
  }
142
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21peGlucy9jaGFydC1lbGVtZW50LmpzIl0sIm5hbWVzIjpbImh0bWwiLCJjc3MiLCJpMThuIiwiSGlnaGNoYXJ0cyIsIkhpZ2htYXBzIiwiY2FjaGUiLCJ3aXRoU2tlbGV0b25BdHRyaWJ1dGUiLCJDaGFydEVsZW1lbnQiLCJQYXJlbnRDbGFzcyIsInByb3BlcnRpZXMiLCJzZXJpZXMiLCJ0eXBlIiwiQXJyYXkiLCJvcHRpb25zIiwiX2FkZGl0aW9uYWxPcHRpb25zIiwiT2JqZWN0IiwiYXR0cmlidXRlIiwiX3NlcmllcyIsInN0eWxlcyIsImNvbnN0cnVjdG9yIiwiX3NrZWxldG9uQXR0cmlidXRlIiwiX2V2ZW50TGlzdGVuZXIiLCJldmVudExpc3RlbmVyIiwiaSIsImNoYXJ0cyIsImxlbmd0aCIsInJlZmxvdyIsImNvbm5lY3RlZENhbGxiYWNrIiwid2luZG93IiwiYWRkRXZlbnRMaXN0ZW5lciIsImRpc2Nvbm5lY3RlZENhbGxiYWNrIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImdldE9wdGlvbnMiLCJ1cGRhdGVkIiwiY2hhbmdlZFByb3BlcnRpZXMiLCJoYXMiLCJ0aGVuIiwicmVuZGVyIiwiX2Vycm9yIiwiX2VtcHR5IiwiY29udGFpbmVyIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiaWQiLCJjbGFzc05hbWUiLCJfc2tlbGV0b24iLCJjbGFzc0xpc3QiLCJhZGQiLCJjaGFydCIsImhlaWdodCIsIndpZHRoIiwiY3JlZGl0cyIsImVuYWJsZWQiLCJ0aXRsZSIsInRleHQiLCJ0aW1lIiwidXNlVVRDIiwiaGFzRGF0YSIsInZhbHVlcyIsImRhdGEiLCJzZXRUaW1lb3V0IiwibWFwIiwibWFwQ2hhcnQiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNB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UixTQUFqQixFQUE0QjNCLE9BQTVCO0FBQ0Q7QUFDRixTQU5TLENBQVY7QUFPRDs7QUFFRCxhQUFPYixJQUFJLEdBQUdLLEtBQUssQ0FBQ21DLFNBQUQsQ0FBUixFQUFYO0FBQ0Q7O0FBcElxRCxHQUF4RDtBQXNJRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBodG1sLCBjc3MgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaTE4biB9IGZyb20gJy4uL2xpYi9pMThuJztcbmltcG9ydCBIaWdoY2hhcnRzIGZyb20gJ2hpZ2hjaGFydHMnO1xuaW1wb3J0IEhpZ2htYXBzIGZyb20gJ2hpZ2hjaGFydHMvaGlnaG1hcHMnO1xuaW1wb3J0IHsgY2FjaGUgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9jYWNoZSc7XG5pbXBvcnQgeyB3aXRoU2tlbGV0b25BdHRyaWJ1dGUgfSBmcm9tICcuL3dpdGgtc2tlbGV0b24tYXR0cmlidXRlJztcblxuLyoqXG4gKiBUaGlzIGlzIGEgbWl4aW4gZm9yIENoYXJ0RWxlbWVudFxuICogQG1peGluRnVuY3Rpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENoYXJ0RWxlbWVudChQYXJlbnRDbGFzcykge1xuICAvKipcbiAgICogQG1peGluQ2xhc3NcbiAgICovXG4gIHJldHVybiBjbGFzcyBleHRlbmRzIHdpdGhTa2VsZXRvbkF0dHJpYnV0ZShQYXJlbnRDbGFzcykge1xuICAgIHN0YXRpYyBnZXQgcHJvcGVydGllcygpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC8qKiBAcmVxdWlyZWQgKi9cbiAgICAgICAgc2VyaWVzOiB7IHR5cGU6IEFycmF5IH0sXG4gICAgICAgIG9wdGlvbnM6IHsgdHlwZTogQXJyYXkgfSxcbiAgICAgICAgX2FkZGl0aW9uYWxPcHRpb25zOiB7IHR5cGU6IE9iamVjdCwgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgICAgICBfc2VyaWVzOiB7IHR5cGU6IEFycmF5LCBhdHRyaWJ1dGU6IGZhbHNlIH0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXQgc3R5bGVzKCkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgLi4uc3VwZXIuc3R5bGVzLFxuICAgICAgICAvLyBsYW5ndWFnZT1DU1NcbiAgICAgICAgY3NzYFxuICAgICAgICAgIDpob3N0IHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC50b29sdGlwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnRvb2x0aXAtMiB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC50b29sdGlwLTMge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAudG9vbHRpcC00IHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnRvb2x0aXAtNSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xuICAgICAgICAgIH1cbiAgICAgICAgYCxcbiAgICAgIF07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICBzdXBlcigpO1xuICAgICAgdGhpcy5fc2tlbGV0b25BdHRyaWJ1dGUgPSAnc2VyaWVzJztcbiAgICAgIHRoaXMuX2V2ZW50TGlzdGVuZXIgPSBmdW5jdGlvbiBldmVudExpc3RlbmVyKCkge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IEhpZ2hjaGFydHMuY2hhcnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgSGlnaGNoYXJ0cy5jaGFydHNbaV0ucmVmbG93KCk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgY29ubmVjdGVkQ2FsbGJhY2soKSB7XG4gICAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuX2V2ZW50TGlzdGVuZXIpO1xuICAgIH1cblxuICAgIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLl9ldmVudExpc3RlbmVyKTtcbiAgICB9XG5cbiAgICBhc3luYyBnZXRPcHRpb25zKCkge31cblxuICAgIHVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpIHtcbiAgICAgIHN1cGVyLnVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnX3NlcmllcycpKSB7XG4gICAgICAgIHRoaXMuZ2V0T3B0aW9ucygpLnRoZW4oKG9wdGlvbnMpID0+IHtcbiAgICAgICAgICB0aGlzLl9hZGRpdGlvbmFsT3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGlmICh0aGlzLl9lcnJvcikge1xuICAgICAgICByZXR1cm4gaHRtbGAgPGRpdiBjbGFzcz1cImVycm9yXCI+JHtpMThuKCdndi1jaGFydC5lcnJvcicpfTwvZGl2PmA7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5fZW1wdHkpIHtcbiAgICAgICAgcmV0dXJuIGh0bWxgIDxkaXYgY2xhc3M9XCJlbXB0eVwiPiR7aTE4bignZ3YtY2hhcnQuZW1wdHknKX08L2Rpdj5gO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIGNvbnRhaW5lci5pZCA9ICdjb250YWluZXInO1xuICAgICAgY29udGFpbmVyLmNsYXNzTmFtZSA9IHRoaXMuX3NrZWxldG9uIHx8IHRoaXMuX2FkZGl0aW9uYWxPcHRpb25zID09IG51bGwgPyAnc2tlbGV0b24nIDogJyc7XG4gICAgICBjb250YWluZXIuY2xhc3NMaXN0LmFkZCgnY29udGFpbmVyJyk7XG5cbiAgICAgIGlmICh0aGlzLl9hZGRpdGlvbmFsT3B0aW9ucykge1xuICAgICAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICAgIC4uLntcbiAgICAgICAgICAgIGNoYXJ0OiB7XG4gICAgICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNyZWRpdHM6IHtcbiAgICAgICAgICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICAgICAgdGV4dDogJycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGltZToge1xuICAgICAgICAgICAgICB1c2VVVEM6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIC4uLnRoaXMuX2FkZGl0aW9uYWxPcHRpb25zLFxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGhhc0RhdGEgPSB0aGlzLl9zZXJpZXMgJiYgdGhpcy5fc2VyaWVzLnZhbHVlcyAmJiB0aGlzLl9zZXJpZXMudmFsdWVzWzBdICYmIHRoaXMuX3Nlcmllcy52YWx1ZXNbMF0uZGF0YTtcbiAgICAgICAgaWYgKGhhc0RhdGEpIHtcbiAgICAgICAgICBvcHRpb25zLnNlcmllcyA9IHRoaXMuX3NlcmllcyAmJiB0aGlzLl9zZXJpZXMudmFsdWVzO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgaWYgKG9wdGlvbnMuY2hhcnQubWFwKSB7XG4gICAgICAgICAgICBIaWdobWFwcy5tYXBDaGFydChjb250YWluZXIsIG9wdGlvbnMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBIaWdoY2hhcnRzLmNoYXJ0KGNvbnRhaW5lciwgb3B0aW9ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGh0bWxgJHtjYWNoZShjb250YWluZXIpfWA7XG4gICAgfVxuICB9O1xufVxuIl19
@@ -14,6 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { css, html } from 'lit';
17
+
17
18
  export function InputElement(ParentClass) {
18
19
  /**
19
20
  * @mixinClass
@@ -21,57 +22,54 @@ export function InputElement(ParentClass) {
21
22
  return class extends ParentClass {
22
23
  static get properties() {
23
24
  return {
24
- disabled: {
25
- type: Boolean,
26
- reflect: true
27
- },
28
- required: {
29
- type: Boolean,
30
- reflect: true
31
- },
32
- readonly: {
33
- type: Boolean,
34
- reflect: true
35
- },
36
- skeleton: {
37
- type: Boolean
38
- },
39
- value: {
40
- type: String,
41
- reflect: true
42
- },
43
- label: {
44
- type: String
45
- },
46
- title: {
47
- type: String
48
- },
49
- name: {
50
- type: String
51
- },
52
- placeholder: {
53
- type: String
54
- },
55
- description: {
56
- type: String
57
- },
58
- autofocus: {
59
- type: Boolean
60
- },
61
- invalid: {
62
- type: Boolean,
63
- reflect: true
64
- },
65
- valid: {
66
- type: Boolean,
67
- reflect: true
68
- }
25
+ disabled: { type: Boolean, reflect: true },
26
+ required: { type: Boolean, reflect: true },
27
+ readonly: { type: Boolean, reflect: true },
28
+ skeleton: { type: Boolean },
29
+ value: { type: String, reflect: true },
30
+ label: { type: String },
31
+ title: { type: String },
32
+ name: { type: String },
33
+ placeholder: { type: String },
34
+ description: { type: String },
35
+ autofocus: { type: Boolean },
36
+ invalid: { type: Boolean, reflect: true },
37
+ valid: { type: Boolean, reflect: true },
69
38
  };
70
39
  }
71
40
 
72
41
  static get styles() {
73
- return [// language=CSS
74
- css`:host{box-sizing:border-box;margin:.2rem;display:block}:host([invalid]) :not(.clipboard) .box-icon-left,:host([invalid]) :not(.clipboard) .input,:host([invalid]) :not(.clipboard) ::slotted(.input),:host([invalid]) :not(.clipboard) input,:host([invalid]) :not(.clipboard) select,:host([invalid]) :not(.clipboard) textarea{box-shadow:inset 3px 0 0 var(--gv-input-invalid--bxshc,var(--gv-theme-color-error,#da1a1b))}:host([readonly]) .input,:host([readonly]) .textarea,:host([readonly]) :not(.clipboard) ::slotted(.input),:host([readonly]) :not(.clipboard) input,:host([readonly]) :not(.clipboard) select{border-left:1px solid var(--gv-input--bdc,var(--gv-theme-neutral-color-dark,#d9d9d9))}:host([readonly]) input::placeholder{color:transparent}`];
42
+ return [
43
+ // language=CSS
44
+ css`
45
+ :host {
46
+ box-sizing: border-box;
47
+ margin: 0.2rem;
48
+ display: block;
49
+ }
50
+
51
+ :host([invalid]) :not(.clipboard) input,
52
+ :host([invalid]) :not(.clipboard) ::slotted(.input),
53
+ :host([invalid]) :not(.clipboard) .box-icon-left,
54
+ :host([invalid]) :not(.clipboard) textarea,
55
+ :host([invalid]) :not(.clipboard) select,
56
+ :host([invalid]) :not(.clipboard) .input {
57
+ box-shadow: inset 3px 0 0 var(--gv-input-invalid--bxshc, var(--gv-theme-color-error, #da1a1b));
58
+ }
59
+
60
+ :host([readonly]) :not(.clipboard) input,
61
+ :host([readonly]) :not(.clipboard) ::slotted(.input),
62
+ :host([readonly]) .textarea,
63
+ :host([readonly]) :not(.clipboard) select,
64
+ :host([readonly]) .input {
65
+ border-left: 1px solid var(--gv-input--bdc, var(--gv-theme-neutral-color-dark, #d9d9d9));
66
+ }
67
+
68
+ :host([readonly]) input::placeholder {
69
+ color: transparent;
70
+ }
71
+ `,
72
+ ];
75
73
  }
76
74
 
77
75
  constructor() {
@@ -83,7 +81,7 @@ export function InputElement(ParentClass) {
83
81
 
84
82
  updateState(value) {
85
83
  if (this.required && !this.readonly) {
86
- this.setValidity(value == null || value.length === 0 || typeof value === 'string' && value.trim() === '', 'field is required');
84
+ this.setValidity(value == null || value.length === 0 || (typeof value === 'string' && value.trim() === ''), 'field is required');
87
85
  } else {
88
86
  this.setValidity();
89
87
  }
@@ -91,21 +89,17 @@ export function InputElement(ParentClass) {
91
89
 
92
90
  setValidity(isInvalid = false, violation = '') {
93
91
  const element = this.getInputElement();
94
-
95
92
  if (element && element.setCustomValidity) {
96
93
  if (isInvalid) {
97
94
  if (violation == null || violation.trim() === '') {
98
95
  violation = 'field is not valid';
99
96
  }
100
-
101
97
  element.setCustomValidity(violation);
102
98
  } else {
103
99
  element.setCustomValidity('');
104
100
  }
105
-
106
101
  element.reportValidity();
107
102
  }
108
-
109
103
  this.invalid = isInvalid;
110
104
  this.valid = !this.invalid;
111
105
  }
@@ -113,12 +107,10 @@ export function InputElement(ParentClass) {
113
107
  firstUpdated() {
114
108
  if (this.autofocus) {
115
109
  const input = this.getInputElement();
116
-
117
110
  if (input != null) {
118
111
  this.getInputElement().focus();
119
112
  }
120
113
  }
121
-
122
114
  this.updateState(this.value);
123
115
  }
124
116
 
@@ -135,23 +127,18 @@ export function InputElement(ParentClass) {
135
127
  get offsetHeight() {
136
128
  if (this.description != null) {
137
129
  const element = this.shadowRoot.querySelector('.description');
138
-
139
130
  if (element != null) {
140
131
  return super.offsetHeight - element.offsetHeight;
141
132
  }
142
133
  }
143
-
144
134
  return super.offsetHeight;
145
135
  }
146
136
 
147
137
  renderLabel() {
148
138
  if (this.label) {
149
- return html`<label for="${this.id}" title="${this.label}">${this.label}</label>`;
139
+ return html`<label for=${this.id} title="${this.label}">${this.label}</label>`;
150
140
  }
151
-
152
141
  return '';
153
142
  }
154
-
155
143
  };
156
144
  }
157
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21peGlucy9pbnB1dC1lbGVtZW50LmpzIl0sIm5hbWVzIjpbImNzcyIsImh0bWwiLCJJbnB1dEVsZW1lbnQiLCJQYXJlbnRDbGFzcyIsInByb3BlcnRpZXMiLCJkaXNhYmxlZCIsInR5cGUiLCJCb29sZWFuIiwicmVmbGVjdCIsInJlcXVpcmVkIiwicmVhZG9ubHkiLCJza2VsZXRvbiIsInZhbHVlIiwiU3RyaW5nIiwibGFiZWwiLCJ0aXRsZSIsIm5hbWUiLCJwbGFjZWhvbGRlciIsImRlc2NyaXB0aW9uIiwiYXV0b2ZvY3VzIiwiaW52YWxpZCIsInZhbGlkIiwic3R5bGVzIiwiY29uc3RydWN0b3IiLCJfaWQiLCJEYXRlIiwiZ2V0VGltZSIsInVwZGF0ZVN0YXRlIiwic2V0VmFsaWRpdHkiLCJsZW5ndGgiLCJ0cmltIiwiaXNJbnZhbGlkIiwidmlvbGF0aW9uIiwiZWxlbWVudCIsImdldElucHV0RWxlbWVudCIsInNldEN1c3RvbVZhbGlkaXR5IiwicmVwb3J0VmFsaWRpdHkiLCJmaXJzdFVwZGF0ZWQiLCJpbnB1dCIsImZvY3VzIiwidXBkYXRlZCIsImNoYW5nZWRQcm9wZXJ0aWVzIiwiaGFzIiwic2hhZG93Um9vdCIsInF1ZXJ5U2VsZWN0b3IiLCJvZmZzZXRIZWlnaHQiLCJyZW5kZXJMYWJlbCIsImlkIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxHQUFULEVBQWNDLElBQWQsUUFBMEIsS0FBMUI7QUFFQSxPQUFPLFNBQVNDLFlBQVQsQ0FBc0JDLFdBQXRCLEVBQW1DO0FBQ3hDO0FBQ0Y7QUFDQTtBQUNFLFNBQU8sY0FBY0EsV0FBZCxDQUEwQjtBQUNWLGVBQVZDLFVBQVUsR0FBRztBQUN0QixhQUFPO0FBQ0xDLFFBQUFBLFFBQVEsRUFBRTtBQUFF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LEVBQVA7QUFDRDs7QUF4SDhCLEdBQWpDO0FBMEhEIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IGNzcywgaHRtbCB9IGZyb20gJ2xpdCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBJbnB1dEVsZW1lbnQoUGFyZW50Q2xhc3MpIHtcbiAgLyoqXG4gICAqIEBtaXhpbkNsYXNzXG4gICAqL1xuICByZXR1cm4gY2xhc3MgZXh0ZW5kcyBQYXJlbnRDbGFzcyB7XG4gICAgc3RhdGljIGdldCBwcm9wZXJ0aWVzKCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGlzYWJsZWQ6IHsgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgICByZXF1aXJlZDogeyB0eXBlOiBCb29sZWFuLCByZWZsZWN0OiB0cnVlIH0sXG4gICAgICAgIHJlYWRvbmx5OiB7IHR5cGU6IEJvb2xlYW4sIHJlZmxlY3Q6IHRydWUgfSxcbiAgICAgICAgc2tlbGV0b246IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgICB2YWx1ZTogeyB0eXBlOiBTdHJpbmcsIHJlZmxlY3Q6IHRydWUgfSxcbiAgICAgICAgbGFiZWw6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICAgIHRpdGxlOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgICBuYW1lOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgICBwbGFjZWhvbGRlcjogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgICAgZGVzY3JpcHRpb246IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICAgIGF1dG9mb2N1czogeyB0eXBlOiBCb29sZWFuIH0sXG4gICAgICAgIGludmFsaWQ6IHsgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgICB2YWxpZDogeyB0eXBlOiBCb29sZWFuLCByZWZsZWN0OiB0cnVlIH0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXQgc3R5bGVzKCkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgLy8gbGFuZ3VhZ2U9Q1NTXG4gICAgICAgIGNzc2BcbiAgICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgbWFyZ2luOiAwLjJyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICA6aG9zdChbaW52YWxpZF0pIDpub3QoLmNsaXBib2FyZCkgaW5wdXQsXG4gICAgICAgICAgOmhvc3QoW2ludmFsaWRdKSA6bm90KC5jbGlwYm9hcmQpIDo6c2xvdHRlZCguaW5wdXQpLFxuICAgICAgICAgIDpob3N0KFtpbnZhbGlkXSkgOm5vdCguY2xpcGJvYXJkKSAuYm94LWljb24tbGVmdCxcbiAgICAgICAgICA6aG9zdChbaW52YWxpZF0pIDpub3QoLmNsaXBib2FyZCkgdGV4dGFyZWEsXG4gICAgICAgICAgOmhvc3QoW2ludmFsaWRdKSA6bm90KC5jbGlwYm9hcmQpIHNlbGVjdCxcbiAgICAgICAgICA6aG9zdChbaW52YWxpZF0pIDpub3QoLmNsaXBib2FyZCkgLmlucHV0IHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDNweCAwIDAgdmFyKC0tZ3YtaW5wdXQtaW52YWxpZC0tYnhzaGMsIHZhcigtLWd2LXRoZW1lLWNvbG9yLWVycm9yLCAjZGExYTFiKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgOmhvc3QoW3JlYWRvbmx5XSkgOm5vdCguY2xpcGJvYXJkKSBpbnB1dCxcbiAgICAgICAgICA6aG9zdChbcmVhZG9ubHldKSA6bm90KC5jbGlwYm9hcmQpIDo6c2xvdHRlZCguaW5wdXQpLFxuICAgICAgICAgIDpob3N0KFtyZWFkb25seV0pIC50ZXh0YXJlYSxcbiAgICAgICAgICA6aG9zdChbcmVhZG9ubHldKSA6bm90KC5jbGlwYm9hcmQpIHNlbGVjdCxcbiAgICAgICAgICA6aG9zdChbcmVhZG9ubHldKSAuaW5wdXQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1ndi1pbnB1dC0tYmRjLCB2YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWRhcmssICNkOWQ5ZDkpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICA6aG9zdChbcmVhZG9ubHldKSBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgYCxcbiAgICAgIF07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICBzdXBlcigpO1xuICAgICAgdGhpcy5faWQgPSBgZ3YtaW5wdXQtJHtuZXcgRGF0ZSgpLmdldFRpbWUoKX1gO1xuICAgICAgdGhpcy52YWxpZCA9IHRydWU7XG4gICAgICB0aGlzLmludmFsaWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB1cGRhdGVTdGF0ZSh2YWx1ZSkge1xuICAgICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgIXRoaXMucmVhZG9ubHkpIHtcbiAgICAgICAgdGhpcy5zZXRWYWxpZGl0eSh2YWx1ZSA9PSBudWxsIHx8IHZhbHVlLmxlbmd0aCA9PT0gMCB8fCAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS50cmltKCkgPT09ICcnKSwgJ2ZpZWxkIGlzIHJlcXVpcmVkJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNldFZhbGlkaXR5KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2V0VmFsaWRpdHkoaXNJbnZhbGlkID0gZmFsc2UsIHZpb2xhdGlvbiA9ICcnKSB7XG4gICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5nZXRJbnB1dEVsZW1lbnQoKTtcbiAgICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQuc2V0Q3VzdG9tVmFsaWRpdHkpIHtcbiAgICAgICAgaWYgKGlzSW52YWxpZCkge1xuICAgICAgICAgIGlmICh2aW9sYXRpb24gPT0gbnVsbCB8fCB2aW9sYXRpb24udHJpbSgpID09PSAnJykge1xuICAgICAgICAgICAgdmlvbGF0aW9uID0gJ2ZpZWxkIGlzIG5vdCB2YWxpZCc7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsZW1lbnQuc2V0Q3VzdG9tVmFsaWRpdHkodmlvbGF0aW9uKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBlbGVtZW50LnNldEN1c3RvbVZhbGlkaXR5KCcnKTtcbiAgICAgICAgfVxuICAgICAgICBlbGVtZW50LnJlcG9ydFZhbGlkaXR5KCk7XG4gICAgICB9XG4gICAgICB0aGlzLmludmFsaWQgPSBpc0ludmFsaWQ7XG4gICAgICB0aGlzLnZhbGlkID0gIXRoaXMuaW52YWxpZDtcbiAgICB9XG5cbiAgICBmaXJzdFVwZGF0ZWQoKSB7XG4gICAgICBpZiAodGhpcy5hdXRvZm9jdXMpIHtcbiAgICAgICAgY29uc3QgaW5wdXQgPSB0aGlzLmdldElucHV0RWxlbWVudCgpO1xuICAgICAgICBpZiAoaW5wdXQgIT0gbnVsbCkge1xuICAgICAgICAgIHRoaXMuZ2V0SW5wdXRFbGVtZW50KCkuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy51cGRhdGVTdGF0ZSh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICB1cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKSB7XG4gICAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCd2YWx1ZScpKSB7XG4gICAgICAgIHRoaXMudXBkYXRlU3RhdGUodGhpcy52YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZ2V0SW5wdXRFbGVtZW50KCkge1xuICAgICAgcmV0dXJuIHRoaXMuc2hhZG93Um9vdCA/IHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgb2Zmc2V0SGVpZ2h0KCkge1xuICAgICAgaWYgKHRoaXMuZGVzY3JpcHRpb24gIT0gbnVsbCkge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy5kZXNjcmlwdGlvbicpO1xuICAgICAgICBpZiAoZWxlbWVudCAhPSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIHN1cGVyLm9mZnNldEhlaWdodCAtIGVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gc3VwZXIub2Zmc2V0SGVpZ2h0O1xuICAgIH1cblxuICAgIHJlbmRlckxhYmVsKCkge1xuICAgICAgaWYgKHRoaXMubGFiZWwpIHtcbiAgICAgICAgcmV0dXJuIGh0bWxgPGxhYmVsIGZvcj0ke3RoaXMuaWR9IHRpdGxlPVwiJHt0aGlzLmxhYmVsfVwiPiR7dGhpcy5sYWJlbH08L2xhYmVsPmA7XG4gICAgICB9XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9O1xufVxuIl19
@@ -18,33 +18,24 @@ import { repeat } from 'lit/directives/repeat';
18
18
  import '../molecules/gv-identity-picture';
19
19
  import { getLabels, getPicture, getStates, getRating, getPictureDisplayName } from '../lib/item';
20
20
  import { withSkeletonAttribute } from './with-skeleton-attribute';
21
+
21
22
  /**
22
23
  * This is a mixin for ItemResource
23
24
  * @mixinFunction
24
25
  */
25
-
26
26
  export function ItemResource(ParentClass) {
27
27
  /**
28
28
  * @mixinClass
29
29
  */
30
30
  return class extends withSkeletonAttribute(ParentClass) {
31
31
  static get properties() {
32
- return { ...super.properties,
33
-
32
+ return {
33
+ ...super.properties,
34
34
  /** @required */
35
- item: {
36
- type: Object
37
- },
38
- href: {
39
- type: String
40
- },
41
- metrics: {
42
- type: Object
43
- },
44
- _item: {
45
- type: Object,
46
- attribute: false
47
- }
35
+ item: { type: Object },
36
+ href: { type: String },
37
+ metrics: { type: Object },
38
+ _item: { type: Object, attribute: false },
48
39
  };
49
40
  }
50
41
 
@@ -61,9 +52,13 @@ export function ItemResource(ParentClass) {
61
52
 
62
53
  _renderImage() {
63
54
  if (this._item && !this._empty) {
64
- return html`<gv-identity-picture .skeleton="${this._skeleton}" .display_name="${getPictureDisplayName(this._item)}" .picture="${getPicture(this._item)}" @load="${this._onImageLoaded}"></gv-identity-picture>`;
55
+ return html`<gv-identity-picture
56
+ .skeleton="${this._skeleton}"
57
+ .display_name="${getPictureDisplayName(this._item)}"
58
+ .picture="${getPicture(this._item)}"
59
+ @load="${this._onImageLoaded}"
60
+ ></gv-identity-picture>`;
65
61
  }
66
-
67
62
  return '';
68
63
  }
69
64
 
@@ -73,25 +68,30 @@ export function ItemResource(ParentClass) {
73
68
 
74
69
  _renderLabels(clickable) {
75
70
  const labels = getLabels(this._item);
76
-
77
71
  if (labels) {
78
- return repeat(labels, label => label, label => html`<gv-tag ?clickable="${clickable}" @gv-tag:click="${this._onTagClick.bind(this, label)}" ?skeleton="${this._skeleton}" major>${label}</gv-tag>`);
72
+ return repeat(
73
+ labels,
74
+ (label) => label,
75
+ (label) =>
76
+ html`<gv-tag ?clickable="${clickable}" @gv-tag:click="${this._onTagClick.bind(this, label)}" ?skeleton="${this._skeleton}" major
77
+ >${label}</gv-tag
78
+ >`,
79
+ );
79
80
  }
80
-
81
81
  return '';
82
82
  }
83
83
 
84
84
  _renderStates() {
85
85
  const states = getStates(this._item);
86
-
87
86
  if (states) {
88
- return repeat(states, state => state, ({
89
- value,
90
- major,
91
- minor
92
- }) => html` <gv-state ?skeleton="${this._skeleton}" ?major="${major === true}" ?minor="${minor === true}">${value}</gv-state> `);
87
+ return repeat(
88
+ states,
89
+ (state) => state,
90
+ ({ value, major, minor }) => html`
91
+ <gv-state ?skeleton="${this._skeleton}" ?major="${major === true}" ?minor="${minor === true}">${value}</gv-state>
92
+ `,
93
+ );
93
94
  }
94
-
95
95
  return '';
96
96
  }
97
97
 
@@ -101,7 +101,9 @@ export function ItemResource(ParentClass) {
101
101
 
102
102
  _renderMetricsWithRating() {
103
103
  if (this.metrics) {
104
- return html` <gv-metrics .metrics="${this.metrics}" @gv-metrics:click="${this._onClickToMetrics}"> ${this._renderInfoRating()} </gv-metrics> `;
104
+ return html`
105
+ <gv-metrics .metrics="${this.metrics}" @gv-metrics:click="${this._onClickToMetrics}"> ${this._renderInfoRating()} </gv-metrics>
106
+ `;
105
107
  } else {
106
108
  return this._renderInfoRating();
107
109
  }
@@ -109,14 +111,10 @@ export function ItemResource(ParentClass) {
109
111
 
110
112
  _renderInfoRating() {
111
113
  const rating = getRating(this._item);
112
-
113
114
  if (rating && rating.count) {
114
- return html`<gv-rating readonly="readonly" .skeleton="${this._skeleton}" .value="${rating.average}" .count="${rating.count}"></gv-rating>`;
115
+ return html`<gv-rating readonly .skeleton="${this._skeleton}" .value="${rating.average}" .count="${rating.count}"></gv-rating>`;
115
116
  }
116
-
117
117
  return '';
118
118
  }
119
-
120
119
  };
121
120
  }
122
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21peGlucy9pdGVtLXJlc291cmNlLmpzIl0sIm5hbWVzIjpbImh0bWwiLCJyZXBlYXQiLCJnZXRMYWJlbHMiLCJnZXRQaWN0dXJlIiwiZ2V0U3RhdGVzIiwiZ2V0UmF0aW5nIiwiZ2V0UGljdHVyZURpc3BsYXlOYW1lIiwid2l0aFNrZWxldG9uQXR0cmlidXRlIiwiSXRlbVJlc291cmNlIiwiUGFyZW50Q2xhc3MiLCJwcm9wZXJ0aWVzIiwiaXRlbSIsInR5cGUiLCJPYmplY3QiLCJocmVmIiwiU3RyaW5nIiwibWV0cmljcyIsIl9pdGVtIiwiYXR0cmlidXRlIiwiY29uc3RydWN0b3IiLCJfc2tlbGV0b25BdHRyaWJ1dGUiLCJfb25JbWFnZUxvYWRlZCIsIl9za2VsZXRvbiIsIl9yZW5kZXJJbWFnZSIsIl9lbXB0eSIsIl9vblRhZ0NsaWNrIiwidGFnVmFsdWUiLCJldmVudCIsImRldGFpbCIsIl9yZW5kZXJMYWJlbHMiLCJjbGlja2FibGUiLCJsYWJlbHMiLCJsYWJlbCIsImJpbmQiLCJfcmVuZGVyU3RhdGVzIiwic3RhdGVzIiwic3RhdGUiLCJ2YWx1ZSIsIm1ham9yIiwibWlub3IiLCJfb25DbGlja1RvTWV0cmljcyIsIl9yZW5kZXJNZXRyaWNzV2l0aFJhdGluZyIsIl9yZW5kZXJJbmZvUmF0aW5nIiwicmF0aW5nIiwiY291bnQiLCJhdmVyYWdlIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxJQUFULFFBQXFCLEtBQXJCO0FBQ0EsU0FBU0MsTUFBVCxRQUF1Qix1QkFBdkI7QUFDQSxPQUFPLGtDQUFQO0FBQ0EsU0FBU0MsU0FBVCxFQUFvQkMsVUFBcEIsRUFBZ0NDLFNBQWhDLEVBQTJDQyxTQUEzQyxFQUFzREMscUJBQXRELFFBQW1GLGFBQW5GO0FB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QixPQURwQix3QkFDbUQsS0FBS3dCLGlCQUR4RCxNQUMrRSxLQUFLRSxpQkFBTCxFQUQvRSxpQkFBWDtBQUdELE9BSkQsTUFJTztBQUNMLGVBQU8sS0FBS0EsaUJBQUwsRUFBUDtBQUNEO0FBQ0Y7O0FBRURBLElBQUFBLGlCQUFpQixHQUFHO0FBQ2xCLFlBQU1DLE1BQU0sR0FBR3RDLFNBQVMsQ0FBQyxLQUFLWSxLQUFOLENBQXhCOztBQUNBLFVBQUkwQixNQUFNLElBQUlBLE1BQU0sQ0FBQ0MsS0FBckIsRUFBNEI7QUFDMUIsZUFBTzVDLElBQUksNkNBQWtDLEtBQUtzQixTQUF2QyxhQUE2RHFCLE1BQU0sQ0FBQ0UsT0FBcEUsYUFBd0ZGLE1BQU0sQ0FBQ0MsS0FBL0YsZ0JBQVg7QUFDRDs7QUFDRCxhQUFPLEVBQVA7QUFDRDs7QUF4RnFELEdBQXhEO0FBMEZEIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcmVwZWF0IH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVwZWF0JztcbmltcG9ydCAnLi4vbW9sZWN1bGVzL2d2LWlkZW50aXR5LXBpY3R1cmUnO1xuaW1wb3J0IHsgZ2V0TGFiZWxzLCBnZXRQaWN0dXJlLCBnZXRTdGF0ZXMsIGdldFJhdGluZywgZ2V0UGljdHVyZURpc3BsYXlOYW1lIH0gZnJvbSAnLi4vbGliL2l0ZW0nO1xuaW1wb3J0IHsgd2l0aFNrZWxldG9uQXR0cmlidXRlIH0gZnJvbSAnLi93aXRoLXNrZWxldG9uLWF0dHJpYnV0ZSc7XG5cbi8qKlxuICogVGhpcyBpcyBhIG1peGluIGZvciBJdGVtUmVzb3VyY2VcbiAqIEBtaXhpbkZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBJdGVtUmVzb3VyY2UoUGFyZW50Q2xhc3MpIHtcbiAgLyoqXG4gICAqIEBtaXhpbkNsYXNzXG4gICAqL1xuICByZXR1cm4gY2xhc3MgZXh0ZW5kcyB3aXRoU2tlbGV0b25BdHRyaWJ1dGUoUGFyZW50Q2xhc3MpIHtcbiAgICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdXBlci5wcm9wZXJ0aWVzLFxuICAgICAgICAvKiogQHJlcXVpcmVkICovXG4gICAgICAgIGl0ZW06IHsgdHlwZTogT2JqZWN0IH0sXG4gICAgICAgIGhyZWY6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICAgIG1ldHJpY3M6IHsgdHlwZTogT2JqZWN0IH0sXG4gICAgICAgIF9pdGVtOiB7IHR5cGU6IE9iamVjdCwgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgIHN1cGVyKCk7XG4gICAgICB0aGlzLl9za2VsZXRvbkF0dHJpYnV0ZSA9ICdpdGVtJztcbiAgICB9XG5cbiAgICBfb25JbWFnZUxvYWRlZCgpIHtcbiAgICAgIGlmICh0aGlzLl9pdGVtKSB7XG4gICAgICAgIHRoaXMuX3NrZWxldG9uID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgX3JlbmRlckltYWdlKCkge1xuICAgICAgaWYgKHRoaXMuX2l0ZW0gJiYgIXRoaXMuX2VtcHR5KSB7XG4gICAgICAgIHJldHVybiBodG1sYDxndi1pZGVudGl0eS1waWN0dXJlXG4gICAgICAgICAgLnNrZWxldG9uPVwiJHt0aGlzLl9za2VsZXRvbn1cIlxuICAgICAgICAgIC5kaXNwbGF5X25hbWU9XCIke2dldFBpY3R1cmVEaXNwbGF5TmFtZSh0aGlzLl9pdGVtKX1cIlxuICAgICAgICAgIC5waWN0dXJlPVwiJHtnZXRQaWN0dXJlKHRoaXMuX2l0ZW0pfVwiXG4gICAgICAgICAgQGxvYWQ9XCIke3RoaXMuX29uSW1hZ2VMb2FkZWR9XCJcbiAgICAgICAgPjwvZ3YtaWRlbnRpdHktcGljdHVyZT5gO1xuICAgICAgfVxuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIF9vblRhZ0NsaWNrKHRhZ1ZhbHVlLCBldmVudCkge1xuICAgICAgZXZlbnQuZGV0YWlsLnRhZ1ZhbHVlID0gdGFnVmFsdWU7XG4gICAgfVxuXG4gICAgX3JlbmRlckxhYmVscyhjbGlja2FibGUpIHtcbiAgICAgIGNvbnN0IGxhYmVscyA9IGdldExhYmVscyh0aGlzLl9pdGVtKTtcbiAgICAgIGlmIChsYWJlbHMpIHtcbiAgICAgICAgcmV0dXJuIHJlcGVhdChcbiAgICAgICAgICBsYWJlbHMsXG4gICAgICAgICAgKGxhYmVsKSA9PiBsYWJlbCxcbiAgICAgICAgICAobGFiZWwpID0+XG4gICAgICAgICAgICBodG1sYDxndi10YWcgP2NsaWNrYWJsZT1cIiR7Y2xpY2thYmxlfVwiIEBndi10YWc6Y2xpY2s9XCIke3RoaXMuX29uVGFnQ2xpY2suYmluZCh0aGlzLCBsYWJlbCl9XCIgP3NrZWxldG9uPVwiJHt0aGlzLl9za2VsZXRvbn1cIiBtYWpvclxuICAgICAgICAgICAgICA+JHtsYWJlbH08L2d2LXRhZ1xuICAgICAgICAgICAgPmAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgX3JlbmRlclN0YXRlcygpIHtcbiAgICAgIGNvbnN0IHN0YXRlcyA9IGdldFN0YXRlcyh0aGlzLl9pdGVtKTtcbiAgICAgIGlmIChzdGF0ZXMpIHtcbiAgICAgICAgcmV0dXJuIHJlcGVhdChcbiAgICAgICAgICBzdGF0ZXMsXG4gICAgICAgICAgKHN0YXRlKSA9PiBzdGF0ZSxcbiAgICAgICAgICAoeyB2YWx1ZSwgbWFqb3IsIG1pbm9yIH0pID0+IGh0bWxgXG4gICAgICAgICAgICA8Z3Ytc3RhdGUgP3NrZWxldG9uPVwiJHt0aGlzLl9za2VsZXRvbn1cIiA/bWFqb3I9XCIke21ham9yID09PSB0cnVlfVwiID9taW5vcj1cIiR7bWlub3IgPT09IHRydWV9XCI+JHt2YWx1ZX08L2d2LXN0YXRlPlxuICAgICAgICAgIGAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgX29uQ2xpY2tUb01ldHJpY3MoZXZlbnQpIHtcbiAgICAgIGV2ZW50LmRldGFpbC5pdGVtID0gdGhpcy5faXRlbTtcbiAgICB9XG5cbiAgICBfcmVuZGVyTWV0cmljc1dpdGhSYXRpbmcoKSB7XG4gICAgICBpZiAodGhpcy5tZXRyaWNzKSB7XG4gICAgICAgIHJldHVybiBodG1sYFxuICAgICAgICAgIDxndi1tZXRyaWNzIC5tZXRyaWNzPVwiJHt0aGlzLm1ldHJpY3N9XCIgQGd2LW1ldHJpY3M6Y2xpY2s9XCIke3RoaXMuX29uQ2xpY2tUb01ldHJpY3N9XCI+ICR7dGhpcy5fcmVuZGVySW5mb1JhdGluZygpfSA8L2d2LW1ldHJpY3M+XG4gICAgICAgIGA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVuZGVySW5mb1JhdGluZygpO1xuICAgICAgfVxuICAgIH1cblxuICAgIF9yZW5kZXJJbmZvUmF0aW5nKCkge1xuICAgICAgY29uc3QgcmF0aW5nID0gZ2V0UmF0aW5nKHRoaXMuX2l0ZW0pO1xuICAgICAgaWYgKHJhdGluZyAmJiByYXRpbmcuY291bnQpIHtcbiAgICAgICAgcmV0dXJuIGh0bWxgPGd2LXJhdGluZyByZWFkb25seSAuc2tlbGV0b249XCIke3RoaXMuX3NrZWxldG9ufVwiIC52YWx1ZT1cIiR7cmF0aW5nLmF2ZXJhZ2V9XCIgLmNvdW50PVwiJHtyYXRpbmcuY291bnR9XCI+PC9ndi1yYXRpbmc+YDtcbiAgICAgIH1cbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH07XG59XG4iXX0=