@gravitee/ui-components 3.24.5-renovate-github-markdown-css-5-x-6cd8067 → 3.25.1

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