@gravitee/ui-components 3.25.1 → 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.
- package/CHANGELOG.md +1292 -0
- package/LICENSE.txt +202 -0
- package/README.md +195 -0
- package/package.json +17 -4
- package/src/.eslintrc.js +19 -0
- package/src/atoms/gv-autocomplete.js +156 -132
- package/src/atoms/gv-button.js +248 -73
- package/src/atoms/gv-checkbox.js +103 -45
- package/src/atoms/gv-date-picker-calendar.js +393 -312
- package/src/atoms/gv-date-picker-cell.js +81 -57
- package/src/atoms/gv-date-picker.js +319 -180
- package/src/atoms/gv-file-upload.js +195 -85
- package/src/atoms/gv-icon.js +34 -13
- package/src/atoms/gv-image.js +66 -31
- package/src/atoms/gv-input-message.js +37 -12
- package/src/atoms/gv-input.js +148 -117
- package/src/atoms/gv-link.js +125 -47
- package/src/atoms/gv-message.js +69 -18
- package/src/atoms/gv-metric.js +68 -19
- package/src/atoms/gv-relative-time.js +38 -67
- package/src/atoms/gv-select-native.js +215 -96
- package/src/atoms/gv-select.js +230 -110
- package/src/atoms/gv-spinner.js +26 -5
- package/src/atoms/gv-state.js +66 -25
- package/src/atoms/gv-switch.js +160 -40
- package/src/atoms/gv-tag.js +78 -26
- package/src/atoms/gv-text.js +83 -22
- package/src/charts/gv-chart-bar.js +18 -22
- package/src/charts/gv-chart-gauge.js +31 -28
- package/src/charts/gv-chart-histogram.js +10 -18
- package/src/charts/gv-chart-line.js +59 -70
- package/src/charts/gv-chart-map.js +42 -44
- package/src/charts/gv-chart-pie.js +14 -18
- package/src/index.js +0 -1
- package/src/lib/cron-expression.js +35 -40
- package/src/lib/date.js +1 -10
- package/src/lib/events.js +1 -3
- package/src/lib/http-client-schema-form.js +12 -13
- package/src/lib/http.js +56 -57
- package/src/lib/i18n.js +22 -30
- package/src/lib/item.js +12 -13
- package/src/lib/properties.js +42 -77
- package/src/lib/schema-form.js +5 -4
- package/src/lib/studio.js +60 -13
- package/src/lib/style.js +8 -8
- package/src/lib/text-format.js +7 -14
- package/src/lib/theme.js +5 -8
- package/src/lib/utils.js +18 -17
- package/src/mixins/chart-element.js +54 -31
- package/src/mixins/input-element.js +47 -60
- package/src/mixins/item-resource.js +32 -34
- package/src/mixins/keyboard-element.js +5 -6
- package/src/mixins/update-after-browser.js +1 -4
- package/src/mixins/with-resize-observer.js +13 -23
- package/src/mixins/with-skeleton-attribute.js +48 -54
- package/src/molecules/gv-card-full.js +147 -26
- package/src/molecules/gv-card-list.js +42 -13
- package/src/molecules/gv-card.js +91 -17
- package/src/molecules/gv-category-list.js +17 -6
- package/src/molecules/gv-category.js +103 -23
- package/src/molecules/gv-code.js +142 -80
- package/src/molecules/gv-confirm.js +71 -41
- package/src/molecules/gv-cron-editor.js +389 -143
- package/src/molecules/gv-dropdown-menu.js +46 -14
- package/src/molecules/gv-expandable.js +59 -31
- package/src/molecules/gv-expression-language.js +138 -176
- package/src/molecules/gv-identity-picture.js +66 -43
- package/src/molecules/gv-list.js +134 -42
- package/src/molecules/gv-metrics.js +49 -37
- package/src/molecules/gv-modal.js +95 -28
- package/src/molecules/gv-nav.js +75 -49
- package/src/molecules/gv-option.js +130 -57
- package/src/molecules/gv-plans.js +209 -86
- package/src/molecules/gv-popover.js +177 -57
- package/src/molecules/gv-promote.js +146 -28
- package/src/molecules/gv-rating-list.js +195 -69
- package/src/molecules/gv-rating.js +105 -52
- package/src/molecules/gv-row-expandable.js +11 -5
- package/src/molecules/gv-row.js +147 -21
- package/src/molecules/gv-stats.js +48 -23
- package/src/molecules/gv-stepper.js +187 -43
- package/src/molecules/gv-table.js +309 -199
- package/src/molecules/gv-tree.js +156 -33
- package/src/organisms/gv-documentation.js +127 -44
- package/src/organisms/gv-header.js +195 -37
- package/src/organisms/gv-http-client.js +168 -32
- package/src/organisms/gv-menu.js +158 -37
- package/src/organisms/gv-newsletter-subscription.js +189 -48
- package/src/organisms/gv-pagination.js +77 -49
- package/src/organisms/gv-properties.js +492 -271
- package/src/organisms/gv-resizable-views.js +259 -41
- package/src/organisms/gv-resources.js +275 -168
- package/src/organisms/gv-schema-form-array.js +159 -49
- package/src/organisms/gv-schema-form-control-object.js +73 -59
- package/src/organisms/gv-schema-form-control.js +134 -107
- package/src/organisms/gv-schema-form.js +313 -208
- package/src/organisms/gv-tabs.js +98 -66
- package/src/organisms/gv-user-menu.js +201 -36
- package/src/organisms/gv-vertical-menu.js +61 -20
- package/src/policy-studio/gv-flow-step.js +265 -105
- package/src/policy-studio/gv-flow.js +304 -125
- package/src/policy-studio/gv-policy-studio-menu.js +471 -157
- package/src/policy-studio/gv-policy-studio.js +774 -710
- package/src/styles/empty.js +20 -3
- package/src/styles/input.js +247 -3
- package/src/styles/link.js +16 -3
- package/src/styles/shapes.js +0 -1
- package/src/styles/skeleton.js +37 -3
- package/src/styles/zoom.js +24 -3
- package/src/theme/definition.json +1762 -0
- package/src/theme/gv-theme.js +60 -21
|
@@ -21,8 +21,9 @@ export const KEYS = {
|
|
|
21
21
|
Ctrl: '17',
|
|
22
22
|
Esc: '27',
|
|
23
23
|
Shift: '16',
|
|
24
|
-
Space: '32'
|
|
24
|
+
Space: '32',
|
|
25
25
|
};
|
|
26
|
+
|
|
26
27
|
export function KeyboardElement(ParentClass) {
|
|
27
28
|
/**
|
|
28
29
|
* @mixinClass
|
|
@@ -59,12 +60,10 @@ export function KeyboardElement(ParentClass) {
|
|
|
59
60
|
}
|
|
60
61
|
|
|
61
62
|
isPressed(...keys) {
|
|
62
|
-
return keys.find(key => this._controller[key] == null) == null;
|
|
63
|
-
}
|
|
64
|
-
|
|
63
|
+
return keys.find((key) => this._controller[key] == null) == null;
|
|
64
|
+
}
|
|
65
65
|
|
|
66
|
+
// abstract
|
|
66
67
|
onKeyboard(controller) {}
|
|
67
|
-
|
|
68
68
|
};
|
|
69
69
|
}
|
|
70
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21peGlucy9rZXlib2FyZC1lbGVtZW50LmpzIl0sIm5hbWVzIjpbIktFWVMiLCJBcnJvd0Rvd24iLCJBcnJvd0xlZnQiLCJBcnJvd1JpZ2h0IiwiQXJyb3dVcCIsIkN0cmwiLCJFc2MiLCJTaGlmdCIsIlNwYWNlIiwiS2V5Ym9hcmRFbGVtZW50IiwiUGFyZW50Q2xhc3MiLCJjb25zdHJ1Y3RvciIsIl9jb250cm9sbGVyIiwiX2hhbmRsZUtleURvd24iLCJfb25LZXlEb3duIiwiYmluZCIsIl9oYW5kbGVLZXlVcCIsIl9vbktleVVwIiwiY29ubmVjdGVkQ2FsbGJhY2siLCJ3aW5kb3ciLCJhZGRFdmVudExpc3RlbmVyIiwiZGlzY29ubmVjdGVkQ2FsbGJhY2siLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiZSIsImtleUNvZGUiLCJvbktleWJvYXJkIiwiaXNQcmVzc2VkIiwia2V5cyIsImZpbmQiLCJrZXkiLCJjb250cm9sbGVyIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLE1BQU1BLElBQUksR0FBRztBQUNsQkMsRUFBQUEsU0FBUyxFQUFFLElBRE87QUFFbEJDLEVBQUFBLFNBQVMsRUFBRSxJQUZPO0FBR2xCQyxFQUFBQSxVQUFVLEVBQUUsSUFITTtBQUlsQkMsRUFBQUEsT0FBTyxFQUFFLElBSlM7QUFLbEJDLEVBQUFBLElBQUksRUFBRSxJQUxZO0FBTWxCQyxFQUFBQSxHQUFHLEVBQUUsSUFOYTtBQU9sQkMsRUFBQUEsS0FBSyxFQUFFLElBUFc7QUFRbEJDLEVBQUFBLEtBQUssRUFBRTtBQVJXLENBQWI7QUFXUCxPQUFPLFNBQVNDLGVBQVQsQ0FBeUJDLFdBQXpCLEVBQXNDO0FBQzNDO0FBQ0Y7QUFDQTtBQUNFLFNBQU8sY0FBY0EsV0FBZCxDQUEwQjtBQUMvQkMsSUFBQUEsV0FBVyxHQUFHO0FBQ1o7QUFDQSxXQUFLQyxXQUFMLEdBQW1CLEVBQW5CO0FBQ0EsV0FBS0MsY0FBTCxHQUFzQixLQUFLQyxVQUFMLENBQWdCQyxJQUFoQixDQUFxQixJQUFyQixDQUF0QjtBQUNBLFdBQUtDLFlBQUwsR0FBb0IsS0FBS0MsUUFBTCxDQUFjRixJQUFkLENBQW1CLElBQW5CLENBQXBCO0FBQ0Q7O0FBRURHLElBQUFBLGlCQUFpQixHQUFHO0FBQ2xCLFlBQU1BLGlCQUFOO0FBQ0FDLE1BQUFBLE1BQU0sQ0FBQ0MsZ0JBQVAsQ0FBd0IsU0FBeEIsRUFBbUMsS0FBS1AsY0FBeEM7QUFDQU0sTUFBQUEsTUFBTSxDQUFDQyxnQkFBUCxDQUF3QixPQUF4QixFQUFpQyxLQUFLSixZQUF0QztBQUNEOztBQUVESyxJQUFBQSxvQkFBb0IsR0FBRztBQUNyQkYsTUFBQUEsTUFBTSxDQUFDRyxtQkFBUCxDQUEyQixTQUEzQixFQUFzQyxLQUFLVCxjQUEzQztBQUNBTSxNQUFBQSxNQUFNLENBQUNHLG1CQUFQLENBQTJCLE9BQTNCLEVBQW9DLEtBQUtOLFlBQXpDO0FBQ0EsWUFBTUssb0JBQU47QUFDRDs7QUFFRFAsSUFBQUEsVUFBVSxDQUFDUyxDQUFELEVBQUk7QUFDWixXQUFLWCxXQUFMLENBQWlCVyxDQUFDLENBQUNDLE9BQW5CLElBQThCLElBQTlCO0FBQ0EsV0FBS0MsVUFBTCxDQUFnQixLQUFLYixXQUFyQjtBQUNEOztBQUVESyxJQUFBQSxRQUFRLENBQUNNLENBQUQsRUFBSTtBQUNWLFVBQUksS0FBS1gsV0FBTCxDQUFpQlcsQ0FBQyxDQUFDQyxPQUFuQixDQUFKLEVBQWlDO0FBQy9CLGFBQUtaLFdBQUwsQ0FBaUJXLENBQUMsQ0FBQ0MsT0FBbkIsSUFBOEIsSUFBOUI7QUFDRDtBQUNGOztBQUVERSxJQUFBQSxTQUFTLENBQUMsR0FBR0MsSUFBSixFQUFVO0FBQ2pCLGFBQU9BLElBQUksQ0FBQ0MsSUFBTCxDQUFXQyxHQUFELElBQVMsS0FBS2pCLFdBQUwsQ0FBaUJpQixHQUFqQixLQUF5QixJQUE1QyxLQUFxRCxJQUE1RDtBQUNELEtBakM4QixDQW1DL0I7OztBQUNBSixJQUFBQSxVQUFVLENBQUNLLFVBQUQsRUFBYSxDQUFFOztBQXBDTSxHQUFqQztBQXNDRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5leHBvcnQgY29uc3QgS0VZUyA9IHtcbiAgQXJyb3dEb3duOiAnNDAnLFxuICBBcnJvd0xlZnQ6ICczNycsXG4gIEFycm93UmlnaHQ6ICczOScsXG4gIEFycm93VXA6ICczOCcsXG4gIEN0cmw6ICcxNycsXG4gIEVzYzogJzI3JyxcbiAgU2hpZnQ6ICcxNicsXG4gIFNwYWNlOiAnMzInLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIEtleWJvYXJkRWxlbWVudChQYXJlbnRDbGFzcykge1xuICAvKipcbiAgICogQG1peGluQ2xhc3NcbiAgICovXG4gIHJldHVybiBjbGFzcyBleHRlbmRzIFBhcmVudENsYXNzIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgIHN1cGVyKCk7XG4gICAgICB0aGlzLl9jb250cm9sbGVyID0ge307XG4gICAgICB0aGlzLl9oYW5kbGVLZXlEb3duID0gdGhpcy5fb25LZXlEb3duLmJpbmQodGhpcyk7XG4gICAgICB0aGlzLl9oYW5kbGVLZXlVcCA9IHRoaXMuX29uS2V5VXAuYmluZCh0aGlzKTtcbiAgICB9XG5cbiAgICBjb25uZWN0ZWRDYWxsYmFjaygpIHtcbiAgICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuX2hhbmRsZUtleURvd24pO1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXVwJywgdGhpcy5faGFuZGxlS2V5VXApO1xuICAgIH1cblxuICAgIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLl9oYW5kbGVLZXlEb3duKTtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXl1cCcsIHRoaXMuX2hhbmRsZUtleVVwKTtcbiAgICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgfVxuXG4gICAgX29uS2V5RG93bihlKSB7XG4gICAgICB0aGlzLl9jb250cm9sbGVyW2Uua2V5Q29kZV0gPSB0cnVlO1xuICAgICAgdGhpcy5vbktleWJvYXJkKHRoaXMuX2NvbnRyb2xsZXIpO1xuICAgIH1cblxuICAgIF9vbktleVVwKGUpIHtcbiAgICAgIGlmICh0aGlzLl9jb250cm9sbGVyW2Uua2V5Q29kZV0pIHtcbiAgICAgICAgdGhpcy5fY29udHJvbGxlcltlLmtleUNvZGVdID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpc1ByZXNzZWQoLi4ua2V5cykge1xuICAgICAgcmV0dXJuIGtleXMuZmluZCgoa2V5KSA9PiB0aGlzLl9jb250cm9sbGVyW2tleV0gPT0gbnVsbCkgPT0gbnVsbDtcbiAgICB9XG5cbiAgICAvLyBhYnN0cmFjdFxuICAgIG9uS2V5Ym9hcmQoY29udHJvbGxlcikge31cbiAgfTtcbn1cbiJdfQ==
|
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
|
|
17
16
|
/**
|
|
18
17
|
* This is a mixin for update component after browser
|
|
19
18
|
* @mixinFunction
|
|
@@ -24,10 +23,8 @@ export function UpdateAfterBrowser(ParentClass) {
|
|
|
24
23
|
*/
|
|
25
24
|
return class extends ParentClass {
|
|
26
25
|
async performUpdate() {
|
|
27
|
-
await new Promise(resolve => requestAnimationFrame(() => resolve()));
|
|
26
|
+
await new Promise((resolve) => requestAnimationFrame(() => resolve()));
|
|
28
27
|
super.performUpdate();
|
|
29
28
|
}
|
|
30
|
-
|
|
31
29
|
};
|
|
32
30
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21peGlucy91cGRhdGUtYWZ0ZXItYnJvd3Nlci5qcyJdLCJuYW1lcyI6WyJVcGRhdGVBZnRlckJyb3dzZXIiLCJQYXJlbnRDbGFzcyIsInBlcmZvcm1VcGRhdGUiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlcXVlc3RBbmltYXRpb25GcmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxTQUFTQSxrQkFBVCxDQUE0QkMsV0FBNUIsRUFBeUM7QUFDOUM7QUFDRjtBQUNBO0FBQ0UsU0FBTyxjQUFjQSxXQUFkLENBQTBCO0FBQ1osVUFBYkMsYUFBYSxHQUFHO0FBQ3BCLFlBQU0sSUFBSUMsT0FBSixDQUFhQyxPQUFELElBQWFDLHFCQUFxQixDQUFDLE1BQU1ELE9BQU8sRUFBZCxDQUE5QyxDQUFOO0FBQ0EsWUFBTUYsYUFBTjtBQUNEOztBQUo4QixHQUFqQztBQU1EIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qKlxuICogVGhpcyBpcyBhIG1peGluIGZvciB1cGRhdGUgY29tcG9uZW50IGFmdGVyIGJyb3dzZXJcbiAqIEBtaXhpbkZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBVcGRhdGVBZnRlckJyb3dzZXIoUGFyZW50Q2xhc3MpIHtcbiAgLyoqXG4gICAqIEBtaXhpbkNsYXNzXG4gICAqL1xuICByZXR1cm4gY2xhc3MgZXh0ZW5kcyBQYXJlbnRDbGFzcyB7XG4gICAgYXN5bmMgcGVyZm9ybVVwZGF0ZSgpIHtcbiAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gcmVzb2x2ZSgpKSk7XG4gICAgICBzdXBlci5wZXJmb3JtVXBkYXRlKCk7XG4gICAgfVxuICB9O1xufVxuIl19
|
|
@@ -15,21 +15,21 @@
|
|
|
15
15
|
*/
|
|
16
16
|
export function withResizeObserver(ParentClass) {
|
|
17
17
|
// Load native impl or polyfill (without poluting global scope)
|
|
18
|
-
const ResizeObserverPromise =
|
|
18
|
+
const ResizeObserverPromise =
|
|
19
|
+
'ResizeObserver' in window
|
|
20
|
+
? Promise.resolve(window.ResizeObserver)
|
|
21
|
+
: import('resize-observer-polyfill/dist/ResizeObserver.es.js').then((mod) => mod.default);
|
|
22
|
+
|
|
19
23
|
return class extends ParentClass {
|
|
20
|
-
_onResize({
|
|
21
|
-
width
|
|
22
|
-
}) {
|
|
24
|
+
_onResize({ width }) {
|
|
23
25
|
if (this.onResize != null) {
|
|
24
|
-
this.onResize({
|
|
25
|
-
width
|
|
26
|
-
});
|
|
26
|
+
this.onResize({ width });
|
|
27
27
|
}
|
|
28
|
-
|
|
29
28
|
if (this.breakpoints != null) {
|
|
30
|
-
this.breakpoints.width.forEach(breakpoint => {
|
|
29
|
+
this.breakpoints.width.forEach((breakpoint) => {
|
|
31
30
|
const gteAttr = 'w-gte-' + breakpoint;
|
|
32
31
|
breakpoint <= width ? this.setAttribute(gteAttr, '') : this.removeAttribute(gteAttr);
|
|
32
|
+
|
|
33
33
|
const ltAttr = 'w-lt-' + breakpoint;
|
|
34
34
|
width < breakpoint ? this.setAttribute(ltAttr, '') : this.removeAttribute(ltAttr);
|
|
35
35
|
});
|
|
@@ -40,26 +40,19 @@ export function withResizeObserver(ParentClass) {
|
|
|
40
40
|
if (super.connectedCallback != null) {
|
|
41
41
|
super.connectedCallback();
|
|
42
42
|
}
|
|
43
|
-
|
|
44
43
|
const ResizeObserver = await ResizeObserverPromise;
|
|
45
|
-
const ro = new ResizeObserver(entries => {
|
|
44
|
+
const ro = new ResizeObserver((entries) => {
|
|
46
45
|
// We wrap it in requestAnimationFrame to avoid this error - ResizeObserver loop limit exceeded
|
|
47
46
|
window.requestAnimationFrame(() => {
|
|
48
47
|
if (!Array.isArray(entries) || !entries.length) {
|
|
49
48
|
return;
|
|
50
49
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
width
|
|
54
|
-
} = this.getBoundingClientRect();
|
|
55
|
-
|
|
56
|
-
this._onResize({
|
|
57
|
-
width
|
|
58
|
-
});
|
|
50
|
+
const { width } = this.getBoundingClientRect();
|
|
51
|
+
this._onResize({ width });
|
|
59
52
|
});
|
|
60
53
|
});
|
|
61
|
-
ro.observe(this);
|
|
62
54
|
|
|
55
|
+
ro.observe(this);
|
|
63
56
|
this._unobserveResize = () => ro.unobserve(this);
|
|
64
57
|
}
|
|
65
58
|
|
|
@@ -67,12 +60,9 @@ export function withResizeObserver(ParentClass) {
|
|
|
67
60
|
if (super.connectedCallback != null) {
|
|
68
61
|
super.disconnectedCallback();
|
|
69
62
|
}
|
|
70
|
-
|
|
71
63
|
if (this._unobserveResize) {
|
|
72
64
|
this._unobserveResize();
|
|
73
65
|
}
|
|
74
66
|
}
|
|
75
|
-
|
|
76
67
|
};
|
|
77
68
|
}
|
|
78
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21peGlucy93aXRoLXJlc2l6ZS1vYnNlcnZlci5qcyJdLCJuYW1lcyI6WyJ3aXRoUmVzaXplT2JzZXJ2ZXIiLCJQYXJlbnRDbGFzcyIsIlJlc2l6ZU9ic2VydmVyUHJvbWlzZSIsIndpbmRvdyIsIlByb21pc2UiLCJyZXNvbHZlIiwiUmVzaXplT2JzZXJ2ZXIiLCJ0aGVuIiwibW9kIiwiZGVmYXVsdCIsIl9vblJlc2l6ZSIsIndpZHRoIiwib25SZXNpemUiLCJicmVha3BvaW50cyIsImZvckVhY2giLCJicmVha3BvaW50IiwiZ3RlQXR0ciIsInNldEF0dHJpYnV0ZSIsInJlbW92ZUF0dHJpYnV0ZSIsImx0QXR0ciIsImNvbm5lY3RlZENhbGxiYWNrIiwicm8iLCJlbnRyaWVzIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0Iiwib2JzZXJ2ZSIsIl91bm9ic2VydmVSZXNpemUiLCJ1bm9ic2VydmUiLCJkaXNjb25uZWN0ZWRDYWxsYmFjayJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxTQUFTQSxrQkFBVCxDQUE0QkMsV0FBNUIsRUFBeUM7QUFDOUM7QUFDQSxRQUFNQyxxQkFBcUIsR0FDekIsb0JBQW9CQyxNQUFwQixHQUNJQyxPQUFPLENBQUNDLE9BQVIsQ0FBZ0JGLE1BQU0sQ0FBQ0csY0FBdkIsQ0FESixHQUVJLE9BQU8sb0RBQVAsRUFBNkRDLElBQTdELENBQW1FQyxHQUFELElBQVNBLEdBQUcsQ0FBQ0MsT0FBL0UsQ0FITjtBQUtBLFNBQU8sY0FBY1IsV0FBZCxDQUEwQjtBQUMvQlMsSUFBQUEsU0FBUyxDQUFDO0FBQUVDLE1BQUFBO0FBQUYsS0FBRCxFQUFZO0FBQ25CLFVBQUksS0FBS0MsUUFBTCxJQUFpQixJQUFyQixFQUEyQjtBQUN6QixhQUFLQSxRQUFMLENBQWM7QUFBRUQsVUFBQUE7QUFBRixTQUFkO0FBQ0Q7O0FBQ0QsVUFBSSxLQUFLRSxXQUFMLElBQW9CLElBQXhCLEVBQThCO0FBQzVCLGFBQUtBLFdBQUwsQ0FBaUJGLEtBQWpCLENBQXVCRyxPQUF2QixDQUFnQ0MsVUFBRCxJQUFnQjtBQUM3QyxnQkFBTUMsT0FBTyxHQUFHLFdBQVdELFVBQTNCO0FBQ0FBLFVBQUFBLFVBQVUsSUFBSUosS0FBZCxHQUFzQixLQUFLTSxZQUFMLENBQWtCRCxPQUFsQixFQUEyQixFQUEzQixDQUF0QixHQUF1RCxLQUFLRSxlQUFMLENBQXFCRixPQUFyQixDQUF2RDtBQUVBLGdCQUFNRyxNQUFNLEdBQUcsVUFBVUosVUFBekI7QUFDQUosVUFBQUEsS0FBSyxHQUFHSSxVQUFSLEdBQXFCLEtBQUtFLFlBQUwsQ0FBa0JFLE1BQWxCLEVBQTBCLEVBQTFCLENBQXJCLEdBQXFELEtBQUtELGVBQUwsQ0FBcUJDLE1BQXJCLENBQXJEO0FBQ0QsU0FORDtBQU9EO0FBQ0Y7O0FBRXNCLFVBQWpCQyxpQkFBaUIsR0FBRztBQUN4QixVQUFJLE1BQU1BLGlCQUFOLElBQTJCLElBQS9CLEVBQXFDO0FBQ25DLGNBQU1BLGlCQUFOO0FBQ0Q7O0FBQ0QsWUFBTWQsY0FBYyxHQUFHLE1BQU1KLHFCQUE3QjtBQUNBLFlBQU1tQixFQUFFLEdBQUcsSUFBSWYsY0FBSixDQUFvQmdCLE9BQUQsSUFBYTtBQUN6QztBQUNBbkIsUUFBQUEsTUFBTSxDQUFDb0IscUJBQVAsQ0FBNkIsTUFBTTtBQUNqQyxjQUFJLENBQUNDLEtBQUssQ0FBQ0MsT0FBTixDQUFjSCxPQUFkLENBQUQsSUFBMkIsQ0FBQ0EsT0FBTyxDQUFDSSxNQUF4QyxFQUFnRDtBQUM5QztBQUNEOztBQUNELGdCQUFNO0FBQUVmLFlBQUFBO0FBQUYsY0FBWSxLQUFLZ0IscUJBQUwsRUFBbEI7O0FBQ0EsZUFBS2pCLFNBQUwsQ0FBZTtBQUFFQyxZQUFBQTtBQUFGLFdBQWY7QUFDRCxTQU5EO0FBT0QsT0FUVSxDQUFYO0FBV0FVLE1BQUFBLEVBQUUsQ0FBQ08sT0FBSCxDQUFXLElBQVg7O0FBQ0EsV0FBS0MsZ0JBQUwsR0FBd0IsTUFBTVIsRUFBRSxDQUFDUyxTQUFILENBQWEsSUFBYixDQUE5QjtBQUNEOztBQUVEQyxJQUFBQSxvQkFBb0IsR0FBRztBQUNyQixVQUFJLE1BQU1YLGlCQUFOLElBQTJCLElBQS9CLEVBQXFDO0FBQ25DLGNBQU1XLG9CQUFOO0FBQ0Q7O0FBQ0QsVUFBSSxLQUFLRixnQkFBVCxFQUEyQjtBQUN6QixhQUFLQSxnQkFBTDtBQUNEO0FBQ0Y7O0FBM0M4QixHQUFqQztBQTZDRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd2l0aFJlc2l6ZU9ic2VydmVyKFBhcmVudENsYXNzKSB7XG4gIC8vIExvYWQgbmF0aXZlIGltcGwgb3IgcG9seWZpbGwgKHdpdGhvdXQgcG9sdXRpbmcgZ2xvYmFsIHNjb3BlKVxuICBjb25zdCBSZXNpemVPYnNlcnZlclByb21pc2UgPVxuICAgICdSZXNpemVPYnNlcnZlcicgaW4gd2luZG93XG4gICAgICA/IFByb21pc2UucmVzb2x2ZSh3aW5kb3cuUmVzaXplT2JzZXJ2ZXIpXG4gICAgICA6IGltcG9ydCgncmVzaXplLW9ic2VydmVyLXBvbHlmaWxsL2Rpc3QvUmVzaXplT2JzZXJ2ZXIuZXMuanMnKS50aGVuKChtb2QpID0+IG1vZC5kZWZhdWx0KTtcblxuICByZXR1cm4gY2xhc3MgZXh0ZW5kcyBQYXJlbnRDbGFzcyB7XG4gICAgX29uUmVzaXplKHsgd2lkdGggfSkge1xuICAgICAgaWYgKHRoaXMub25SZXNpemUgIT0gbnVsbCkge1xuICAgICAgICB0aGlzLm9uUmVzaXplKHsgd2lkdGggfSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5icmVha3BvaW50cyAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuYnJlYWtwb2ludHMud2lkdGguZm9yRWFjaCgoYnJlYWtwb2ludCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGd0ZUF0dHIgPSAndy1ndGUtJyArIGJyZWFrcG9pbnQ7XG4gICAgICAgICAgYnJlYWtwb2ludCA8PSB3aWR0aCA/IHRoaXMuc2V0QXR0cmlidXRlKGd0ZUF0dHIsICcnKSA6IHRoaXMucmVtb3ZlQXR0cmlidXRlKGd0ZUF0dHIpO1xuXG4gICAgICAgICAgY29uc3QgbHRBdHRyID0gJ3ctbHQtJyArIGJyZWFrcG9pbnQ7XG4gICAgICAgICAgd2lkdGggPCBicmVha3BvaW50ID8gdGhpcy5zZXRBdHRyaWJ1dGUobHRBdHRyLCAnJykgOiB0aGlzLnJlbW92ZUF0dHJpYnV0ZShsdEF0dHIpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpIHtcbiAgICAgIGlmIChzdXBlci5jb25uZWN0ZWRDYWxsYmFjayAhPSBudWxsKSB7XG4gICAgICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgICB9XG4gICAgICBjb25zdCBSZXNpemVPYnNlcnZlciA9IGF3YWl0IFJlc2l6ZU9ic2VydmVyUHJvbWlzZTtcbiAgICAgIGNvbnN0IHJvID0gbmV3IFJlc2l6ZU9ic2VydmVyKChlbnRyaWVzKSA9PiB7XG4gICAgICAgIC8vIFdlIHdyYXAgaXQgaW4gcmVxdWVzdEFuaW1hdGlvbkZyYW1lIHRvIGF2b2lkIHRoaXMgZXJyb3IgLSBSZXNpemVPYnNlcnZlciBsb29wIGxpbWl0IGV4Y2VlZGVkXG4gICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShlbnRyaWVzKSB8fCAhZW50cmllcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgeyB3aWR0aCB9ID0gdGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICB0aGlzLl9vblJlc2l6ZSh7IHdpZHRoIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICByby5vYnNlcnZlKHRoaXMpO1xuICAgICAgdGhpcy5fdW5vYnNlcnZlUmVzaXplID0gKCkgPT4gcm8udW5vYnNlcnZlKHRoaXMpO1xuICAgIH1cblxuICAgIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgICAgaWYgKHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrICE9IG51bGwpIHtcbiAgICAgICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLl91bm9ic2VydmVSZXNpemUpIHtcbiAgICAgICAgdGhpcy5fdW5vYnNlcnZlUmVzaXplKCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xufVxuIl19
|
|
@@ -16,13 +16,14 @@
|
|
|
16
16
|
import { css } from 'lit';
|
|
17
17
|
import { skeleton } from '../styles/skeleton';
|
|
18
18
|
import { empty } from '../styles/empty';
|
|
19
|
+
|
|
19
20
|
const timeBeforeSkeleton = 500;
|
|
20
21
|
const minimumTimeOfSkeleton = 1000;
|
|
22
|
+
|
|
21
23
|
/**
|
|
22
24
|
* This is a mixin for withSkeletonStates
|
|
23
25
|
* @mixinFunction
|
|
24
26
|
*/
|
|
25
|
-
|
|
26
27
|
export function withSkeletonAttribute(ParentClass) {
|
|
27
28
|
/**
|
|
28
29
|
* @mixinClass
|
|
@@ -31,28 +32,24 @@ export function withSkeletonAttribute(ParentClass) {
|
|
|
31
32
|
static get properties() {
|
|
32
33
|
return {
|
|
33
34
|
/** @required */
|
|
34
|
-
_invisible: {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
},
|
|
38
|
-
_skeleton: {
|
|
39
|
-
type: Boolean,
|
|
40
|
-
attribute: false
|
|
41
|
-
},
|
|
42
|
-
_error: {
|
|
43
|
-
type: Boolean,
|
|
44
|
-
attribute: false
|
|
45
|
-
},
|
|
46
|
-
_empty: {
|
|
47
|
-
type: Boolean,
|
|
48
|
-
attribute: false
|
|
49
|
-
}
|
|
35
|
+
_invisible: { type: Boolean, reflect: true },
|
|
36
|
+
_skeleton: { type: Boolean, attribute: false },
|
|
37
|
+
_error: { type: Boolean, attribute: false },
|
|
38
|
+
_empty: { type: Boolean, attribute: false },
|
|
50
39
|
};
|
|
51
40
|
}
|
|
52
41
|
|
|
53
42
|
static get styles() {
|
|
54
|
-
return [
|
|
55
|
-
|
|
43
|
+
return [
|
|
44
|
+
skeleton,
|
|
45
|
+
empty,
|
|
46
|
+
// language=CSS
|
|
47
|
+
css`
|
|
48
|
+
:host([_invisible]) {
|
|
49
|
+
visibility: hidden;
|
|
50
|
+
}
|
|
51
|
+
`,
|
|
52
|
+
];
|
|
56
53
|
}
|
|
57
54
|
|
|
58
55
|
constructor() {
|
|
@@ -74,45 +71,42 @@ export function withSkeletonAttribute(ParentClass) {
|
|
|
74
71
|
this._skeleton = true;
|
|
75
72
|
end = new Date().getTime();
|
|
76
73
|
}, timeBeforeSkeleton);
|
|
77
|
-
const attribute = this[this._skeletonAttribute];
|
|
78
|
-
Promise.resolve(attribute).then(value => {
|
|
79
|
-
clearTimeout(timer);
|
|
80
|
-
|
|
81
|
-
if (end && end - start < minimumTimeOfSkeleton) {
|
|
82
|
-
setTimeout(() => {
|
|
83
|
-
this[this._skeletonAttribute] = value;
|
|
84
|
-
}, minimumTimeOfSkeleton - (end - start));
|
|
85
|
-
} else {
|
|
86
|
-
this._invisible = value === undefined;
|
|
87
|
-
this._skeleton = value === null;
|
|
88
74
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
75
|
+
const attribute = this[this._skeletonAttribute];
|
|
76
|
+
Promise.resolve(attribute)
|
|
77
|
+
.then((value) => {
|
|
78
|
+
clearTimeout(timer);
|
|
79
|
+
if (end && end - start < minimumTimeOfSkeleton) {
|
|
80
|
+
setTimeout(() => {
|
|
81
|
+
this[this._skeletonAttribute] = value;
|
|
82
|
+
}, minimumTimeOfSkeleton - (end - start));
|
|
83
|
+
} else {
|
|
84
|
+
this._invisible = value === undefined;
|
|
85
|
+
this._skeleton = value === null;
|
|
86
|
+
if (value) {
|
|
87
|
+
if (Array.isArray(value)) {
|
|
88
|
+
this._empty = value.length === 0;
|
|
89
|
+
} else {
|
|
90
|
+
this._empty = Object.keys(value).length === 0;
|
|
91
|
+
}
|
|
92
|
+
this[`_${this._skeletonAttribute}`] = value;
|
|
94
93
|
}
|
|
95
|
-
|
|
96
|
-
this[`_${this._skeletonAttribute}`] = value;
|
|
97
94
|
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
}
|
|
112
|
-
});
|
|
95
|
+
})
|
|
96
|
+
.catch((err) => {
|
|
97
|
+
clearTimeout(timer);
|
|
98
|
+
if (end && end - start < minimumTimeOfSkeleton) {
|
|
99
|
+
setTimeout(() => {
|
|
100
|
+
this[this._skeletonAttribute] = Promise.reject(err);
|
|
101
|
+
}, minimumTimeOfSkeleton - (end - start));
|
|
102
|
+
} else {
|
|
103
|
+
this._error = true;
|
|
104
|
+
this._skeleton = false;
|
|
105
|
+
this._empty = false;
|
|
106
|
+
this._invisible = false;
|
|
107
|
+
}
|
|
108
|
+
});
|
|
113
109
|
}
|
|
114
110
|
}
|
|
115
|
-
|
|
116
111
|
};
|
|
117
112
|
}
|
|
118
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21peGlucy93aXRoLXNrZWxldG9uLWF0dHJpYnV0ZS5qcyJdLCJuYW1lcyI6WyJjc3MiLCJza2VsZXRvbiIsImVtcHR5IiwidGltZUJlZm9yZVNrZWxldG9uIiwibWluaW11bVRpbWVPZlNrZWxldG9uIiwid2l0aFNrZWxldG9uQXR0cmlidXRlIiwiUGFyZW50Q2xhc3MiLCJwcm9wZXJ0aWVzIiwiX2ludmlzaWJsZSIsInR5cGUiLCJCb29sZWFuIiwicmVmbGVjdCIsIl9za2VsZXRvbiIsImF0dHJpYnV0ZSIsIl9lcnJvciIsIl9lbXB0eSIsInN0eWxlcyIsImNvbnN0cnVjdG9yIiwidXBkYXRlZCIsImNoYW5nZWRQcm9wZXJ0aWVzIiwiX3NrZWxldG9uQXR0cmlidXRlIiwiaGFzIiwic3RhcnQiLCJEYXRlIiwiZ2V0VGltZSIsImVuZCIsInRpbWVyIiwic2V0VGltZW91dCIsIlByb21pc2UiLCJyZXNvbHZlIiwidGhlbiIsInZhbHVlIiwiY2xlYXJUaW1lb3V0IiwidW5kZWZpbmVkIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwiT2JqZWN0Iiwia2V5cyIsImNhdGNoIiwiZXJyIiwicmVqZWN0Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxHQUFULFFBQW9CLEtBQXBCO0FBQ0EsU0FBU0MsUUFBVCxRQUF5QixvQkFBekI7QUFDQSxTQUFTQyxLQUFULFFBQXNCLGlCQUF0QjtBQUVBLE1BQU1DLGtCQUFrQixHQUFHLEdBQTNCO0FBQ0EsTUFBTUMscUJBQXFCLEdBQUcsSUFBOUI7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxPQUFPLFNBQVNDLHFCQUFULENBQStCQyxXQUEvQixFQUE0QztBQUNqRDtBQUNGO0FBQ0E7QUFDRSxTQUFPLGNBQWNBLFdB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LEdBQUQsSUFBUztBQUNkUixVQUFBQSxZQUFZLENBQUNOLEtBQUQsQ0FBWjs7QUFDQSxjQUFJRCxHQUFHLElBQUlBLEdBQUcsR0FBR0gsS0FBTixHQUFjbEIscUJBQXpCLEVBQWdEO0FBQzlDdUIsWUFBQUEsVUFBVSxDQUFDLE1BQU07QUFDZixtQkFBSyxLQUFLUCxrQkFBVixJQUFnQ1EsT0FBTyxDQUFDYSxNQUFSLENBQWVELEdBQWYsQ0FBaEM7QUFDRCxhQUZTLEVBRVBwQyxxQkFBcUIsSUFBSXFCLEdBQUcsR0FBR0gsS0FBVixDQUZkLENBQVY7QUFHRCxXQUpELE1BSU87QUFDTCxpQkFBS1IsTUFBTCxHQUFjLElBQWQ7QUFDQSxpQkFBS0YsU0FBTCxHQUFpQixLQUFqQjtBQUNBLGlCQUFLRyxNQUFMLEdBQWMsS0FBZDtBQUNBLGlCQUFLUCxVQUFMLEdBQWtCLEtBQWxCO0FBQ0Q7QUFDRixTQWhDSDtBQWlDRDtBQUNGOztBQS9FOEIsR0FBakM7QUFpRkQiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHNrZWxldG9uIH0gZnJvbSAnLi4vc3R5bGVzL3NrZWxldG9uJztcbmltcG9ydCB7IGVtcHR5IH0gZnJvbSAnLi4vc3R5bGVzL2VtcHR5JztcblxuY29uc3QgdGltZUJlZm9yZVNrZWxldG9uID0gNTAwO1xuY29uc3QgbWluaW11bVRpbWVPZlNrZWxldG9uID0gMTAwMDtcblxuLyoqXG4gKiBUaGlzIGlzIGEgbWl4aW4gZm9yIHdpdGhTa2VsZXRvblN0YXRlc1xuICogQG1peGluRnVuY3Rpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdpdGhTa2VsZXRvbkF0dHJpYnV0ZShQYXJlbnRDbGFzcykge1xuICAvKipcbiAgICogQG1peGluQ2xhc3NcbiAgICovXG4gIHJldHVybiBjbGFzcyBleHRlbmRzIFBhcmVudENsYXNzIHtcbiAgICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAvKiogQHJlcXVpcmVkICovXG4gICAgICAgIF9pbnZpc2libGU6IHsgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgICBfc2tlbGV0b246IHsgdHlwZTogQm9vbGVhbiwgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgICAgICBfZXJyb3I6IHsgdHlwZTogQm9vbGVhbiwgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgICAgICBfZW1wdHk6IHsgdHlwZTogQm9vbGVhbiwgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0IHN0eWxlcygpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHNrZWxldG9uLFxuICAgICAgICBlbXB0eSxcbiAgICAgICAgLy8gbGFuZ3VhZ2U9Q1NTXG4gICAgICAgIGNzc2BcbiAgICAgICAgICA6aG9zdChbX2ludmlzaWJsZV0pIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICB9XG4gICAgICAgIGAsXG4gICAgICBdO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgc3VwZXIoKTtcbiAgICAgIHRoaXMuX2ludmlzaWJsZSA9IHRydWU7XG4gICAgICB0aGlzLl9za2VsZXRvbiA9IGZhbHNlO1xuICAgICAgdGhpcy5fZXJyb3IgPSBmYWxzZTtcbiAgICAgIHRoaXMuX2VtcHR5ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcykge1xuICAgICAgaWYgKHRoaXMuX3NrZWxldG9uQXR0cmlidXRlICE9IG51bGwgJiYgY2hhbmdlZFByb3BlcnRpZXMuaGFzKHRoaXMuX3NrZWxldG9uQXR0cmlidXRlKSkge1xuICAgICAgICB0aGlzLl9lcnJvciA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9lbXB0eSA9IGZhbHNlO1xuICAgICAgICBjb25zdCBzdGFydCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgICAgICBsZXQgZW5kID0gbnVsbDtcbiAgICAgICAgY29uc3QgdGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLl9pbnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLl9za2VsZXRvbiA9IHRydWU7XG4gICAgICAgICAgZW5kID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgIH0sIHRpbWVCZWZvcmVTa2VsZXRvbik7XG5cbiAgICAgICAgY29uc3QgYXR0cmlidXRlID0gdGhpc1t0aGlzLl9za2VsZXRvbkF0dHJpYnV0ZV07XG4gICAgICAgIFByb21pc2UucmVzb2x2ZShhdHRyaWJ1dGUpXG4gICAgICAgICAgLnRoZW4oKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGltZXIpO1xuICAgICAgICAgICAgaWYgKGVuZCAmJiBlbmQgLSBzdGFydCA8IG1pbmltdW1UaW1lT2ZTa2VsZXRvbikge1xuICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzW3RoaXMuX3NrZWxldG9uQXR0cmlidXRlXSA9IHZhbHVlO1xuICAgICAgICAgICAgICB9LCBtaW5pbXVtVGltZU9mU2tlbGV0b24gLSAoZW5kIC0gc3RhcnQpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMuX2ludmlzaWJsZSA9IHZhbHVlID09PSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgIHRoaXMuX3NrZWxldG9uID0gdmFsdWUgPT09IG51bGw7XG4gICAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgdGhpcy5fZW1wdHkgPSB2YWx1ZS5sZW5ndGggPT09IDA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuX2VtcHR5ID0gT2JqZWN0LmtleXModmFsdWUpLmxlbmd0aCA9PT0gMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpc1tgXyR7dGhpcy5fc2tlbGV0b25BdHRyaWJ1dGV9YF0gPSB2YWx1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lcik7XG4gICAgICAgICAgICBpZiAoZW5kICYmIGVuZCAtIHN0YXJ0IDwgbWluaW11bVRpbWVPZlNrZWxldG9uKSB7XG4gICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXNbdGhpcy5fc2tlbGV0b25BdHRyaWJ1dGVdID0gUHJvbWlzZS5yZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgfSwgbWluaW11bVRpbWVPZlNrZWxldG9uIC0gKGVuZCAtIHN0YXJ0KSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLl9lcnJvciA9IHRydWU7XG4gICAgICAgICAgICAgIHRoaXMuX3NrZWxldG9uID0gZmFsc2U7XG4gICAgICAgICAgICAgIHRoaXMuX2VtcHR5ID0gZmFsc2U7XG4gICAgICAgICAgICAgIHRoaXMuX2ludmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfTtcbn1cbiJdfQ==
|
|
@@ -27,6 +27,7 @@ import { i18n } from '../lib/i18n';
|
|
|
27
27
|
import { ItemResource } from '../mixins/item-resource';
|
|
28
28
|
import { dispatchCustomEvent } from '../lib/events';
|
|
29
29
|
import { getVersion, getTitle, getDescription, getOwner } from '../lib/item';
|
|
30
|
+
|
|
30
31
|
/**
|
|
31
32
|
* Full Card component
|
|
32
33
|
*
|
|
@@ -43,19 +44,133 @@ import { getVersion, getTitle, getDescription, getOwner } from '../lib/item';
|
|
|
43
44
|
* @cssprop {Length} [--gv-card-full-image--h=65px] - Image height
|
|
44
45
|
* @cssprop {Length} [--gv-card-full-image--w=110px] - Image width
|
|
45
46
|
*/
|
|
46
|
-
|
|
47
47
|
export class GvCardFull extends ItemResource(LitElement) {
|
|
48
48
|
static get properties() {
|
|
49
49
|
return {
|
|
50
|
-
metrics: {
|
|
51
|
-
type: Object
|
|
52
|
-
}
|
|
50
|
+
metrics: { type: Object },
|
|
53
51
|
};
|
|
54
52
|
}
|
|
55
53
|
|
|
56
54
|
static get styles() {
|
|
57
|
-
return [
|
|
58
|
-
|
|
55
|
+
return [
|
|
56
|
+
...super.styles,
|
|
57
|
+
// language=CSS
|
|
58
|
+
css`
|
|
59
|
+
:host {
|
|
60
|
+
box-sizing: border-box;
|
|
61
|
+
display: inline-block;
|
|
62
|
+
margin: 0.2rem;
|
|
63
|
+
|
|
64
|
+
vertical-align: middle;
|
|
65
|
+
width: 100%;
|
|
66
|
+
max-height: 281px;
|
|
67
|
+
line-height: 22px;
|
|
68
|
+
font-size: var(--gv-theme-font-size-m, 14px);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
gv-identity-picture {
|
|
72
|
+
height: var(--gv-card-full-image--h, 65px);
|
|
73
|
+
width: var(--gv-card-full-image--w, 110px);
|
|
74
|
+
--gv-image--of: contain;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.card {
|
|
78
|
+
display: flex;
|
|
79
|
+
flex-direction: column;
|
|
80
|
+
height: 250px;
|
|
81
|
+
border-radius: 4px;
|
|
82
|
+
background-color: var(--gv-card-full--bgc, var(--gv-theme-neutral-color-lightest, #ffffff));
|
|
83
|
+
color: var(--gv-theme-font-color-dark, #262626);
|
|
84
|
+
padding: 16px;
|
|
85
|
+
box-shadow: 0 0 0 1px var(--gv-theme-neutral-color, #f5f5f5), 0 1px 3px var(--gv-theme-neutral-color-dark, #bfbfbf);
|
|
86
|
+
transition: transform 0.3s;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.card:hover {
|
|
90
|
+
transform: translateY(-4px);
|
|
91
|
+
box-shadow: 0 20px 40px -14px var(--gv-theme-neutral-color-dark, #bfbfbf);
|
|
92
|
+
cursor: pointer;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.card > div {
|
|
96
|
+
display: flex;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.image {
|
|
100
|
+
min-height: 65px;
|
|
101
|
+
min-width: 0;
|
|
102
|
+
position: relative;
|
|
103
|
+
padding-top: 0.2rem;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.title {
|
|
107
|
+
line-height: 22px;
|
|
108
|
+
font-size: var(--gv-theme-font-size-l, 16px);
|
|
109
|
+
text-transform: capitalize;
|
|
110
|
+
font-weight: bold;
|
|
111
|
+
padding-bottom: 5px;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.owner {
|
|
115
|
+
--gv-icon--c: var(--gv-theme-neutral-color-dark, #bfbfbf);
|
|
116
|
+
--gv-icon--s: 16px;
|
|
117
|
+
color: var(--gv-theme-neutral-color-dark, #bfbfbf);
|
|
118
|
+
display: flex;
|
|
119
|
+
padding-bottom: 2px;
|
|
120
|
+
line-height: initial;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.content {
|
|
124
|
+
flex: 1;
|
|
125
|
+
padding: 0 10px 10px 10px;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.version {
|
|
129
|
+
color: var(--gv-theme-neutral-color-dark, #d9d9d9);
|
|
130
|
+
padding: 10px 8px;
|
|
131
|
+
font-size: var(--gv-theme-font-size-s, 12px);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.description {
|
|
135
|
+
padding: 0 16px;
|
|
136
|
+
margin: 6px 0;
|
|
137
|
+
flex: 1;
|
|
138
|
+
flex-grow: 1;
|
|
139
|
+
max-height: 150px;
|
|
140
|
+
overflow: hidden;
|
|
141
|
+
text-overflow: ellipsis;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.infos {
|
|
145
|
+
display: flex;
|
|
146
|
+
border-bottom: 1px solid var(--gv-theme-neutral-color-dark, #d9d9d9);
|
|
147
|
+
padding: 0.5rem 0;
|
|
148
|
+
justify-content: flex-end;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
gv-metrics {
|
|
152
|
+
display: flex;
|
|
153
|
+
height: 100%;
|
|
154
|
+
justify-content: flex-end;
|
|
155
|
+
align-items: stretch;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.skeleton .infos {
|
|
159
|
+
border-bottom: none;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.labels {
|
|
163
|
+
padding: 0 16px;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.error .labels,
|
|
167
|
+
.error .infos,
|
|
168
|
+
.error .states {
|
|
169
|
+
visibility: hidden;
|
|
170
|
+
}
|
|
171
|
+
`,
|
|
172
|
+
skeleton,
|
|
173
|
+
];
|
|
59
174
|
}
|
|
60
175
|
|
|
61
176
|
constructor() {
|
|
@@ -72,26 +187,32 @@ export class GvCardFull extends ItemResource(LitElement) {
|
|
|
72
187
|
render() {
|
|
73
188
|
const title = getTitle(this._item);
|
|
74
189
|
const owner = getOwner(this._item);
|
|
75
|
-
const classes = {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
skeleton: this._skeleton,
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
190
|
+
const classes = { error: this._error || this._empty, card: true };
|
|
191
|
+
return html`<div class="${classMap(classes)}" title="${title}" @click="${this._onClick}">
|
|
192
|
+
<div class="${classMap({ skeleton: this._skeleton })}">
|
|
193
|
+
<div class="${classMap({ image: true })}">${this._renderImage()}</div>
|
|
194
|
+
<div class="content">
|
|
195
|
+
<div class="${classMap({ title: true })}">${title}</div>
|
|
196
|
+
${owner != null && owner.trim().length > 0
|
|
197
|
+
? html`<div class="owner"><gv-icon shape="general:user" size="8px"></gv-icon>${owner}</div>`
|
|
198
|
+
: ''}
|
|
199
|
+
<div class="states">${this._renderStates()}</div>
|
|
200
|
+
</div>
|
|
201
|
+
<div class="version"><span class="${classMap({ skeleton: this._skeleton })}">${getVersion(this._item)}</span></div>
|
|
202
|
+
</div>
|
|
203
|
+
<div class="${classMap({ skeleton: this._skeleton, description: true })}">
|
|
204
|
+
${truncate(
|
|
205
|
+
this._error ? i18n('gv-card-full.error') : this._empty ? i18n('gv-card-full.empty') : getDescription(this._item),
|
|
206
|
+
this.limit,
|
|
207
|
+
)}
|
|
208
|
+
</div>
|
|
209
|
+
<span class="${classMap({ skeleton: this._skeleton })}">
|
|
210
|
+
<div class="infos">${this._renderMetricsWithRating()}</div>
|
|
94
211
|
|
|
212
|
+
<div class="labels">${this._renderLabels(true)}</div>
|
|
213
|
+
</span>
|
|
214
|
+
</div>`;
|
|
215
|
+
}
|
|
95
216
|
}
|
|
217
|
+
|
|
96
218
|
window.customElements.define('gv-card-full', GvCardFull);
|
|
97
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21vbGVjdWxlcy9ndi1jYXJkLWZ1bGwuanMiXSwibmFtZXMiOlsiY3NzIiwiaHRtbCIsIkxpdEVsZW1lbnQiLCJza2VsZXRvbiIsImNsYXNzTWFwIiwidHJ1bmNhdGUiLCJpMThuIiwiSXRlbVJlc291cmNlIiwiZGlzcGF0Y2hDdXN0b21FdmVudCIsImdldFZlcnNpb24iLCJnZXRUaXRsZSIsImdldERlc2NyaXB0aW9uIiwiZ2V0T3duZXIiLCJHdkNhcmRGdWxsIiwicHJvcGVydGllcyIsIm1ldHJpY3MiLCJ0eXBlIiwiT2JqZWN0Iiwic3R5bGVzIiwiY29uc3RydWN0b3IiLCJsaW1pdCIsIl9vbkNsaWNrIiwiZSIsIl9lbXB0eSIsIl9lcnJvciIsIl9za2VsZXRvbiIsInRhcmdldCIsInRhZ05hbWUiLCJ0b0xvd2VyQ2FzZSIsInN0YXJ0c1dpdGgiLCJfaXRlbSIsInJlbmRlciIsInRpdGxlIiwib3duZXIiLCJjbGFzc2VzIiwiZXJyb3IiLCJjYXJkIiwiaW1hZ2UiLCJfcmVuZGVySW1hZ2UiLCJ0cmltIiwibGVuZ3RoIiwiX3JlbmRlclN0YXRlcyIsImRlc2NyaXB0aW9uIiwiX3JlbmRlck1ldHJpY3NXaXRoUmF0aW5nIiwiX3JlbmRlckxhYmVscyIsIndpbmRvdyIsImN1c3RvbUVsZW1lbnRzIiwiZGVmaW5lIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxHQUFULEVBQWNDLElBQWQsRUFBb0JDLFVBQXBCLFFBQXNDLEtBQXRDO0FBQ0EsU0FBU0MsUUFBVCxRQUF5QixvQkFBekI7QUFDQSxTQUFTQyxRQUFULFFBQXlCLDBCQUF6QjtBQUNBLE9BQU8sbUJBQVA7QUFDQSxPQUFPLG9CQUFQO0FBQ0EsT0FBTyx5QkFBUDtBQUNBLE9BQU8sd0JBQVA7QUFD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aUIsTUFBTCxHQUFjakIsSUFBSSxDQUFDLG9CQUFELENBQWxCLEdBQTJDSyxjQUFjLENBQUMsS0FBS21CLEtBQU4sQ0FENUYsRUFFUixLQUFLVixLQUZHLENBYkgsd0JBa0JNaEIsUUFBUSxDQUFDO0FBQUVELE1BQUFBLFFBQVEsRUFBRSxLQUFLc0I7QUFBakIsS0FBRCxDQWxCZCx5QkFtQmMsS0FBS2tCLHdCQUFMLEVBbkJkLDhCQXFCZSxLQUFLQyxhQUFMLENBQW1CLElBQW5CLENBckJmLHVCQUFYO0FBd0JEOztBQXhLc0Q7QUEyS3pEQyxNQUFNLENBQUNDLGNBQVAsQ0FBc0JDLE1BQXRCLENBQTZCLGNBQTdCLEVBQTZDbEMsVUFBN0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgY3NzLCBodG1sLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHNrZWxldG9uIH0gZnJvbSAnLi4vc3R5bGVzL3NrZWxldG9uJztcbmltcG9ydCB7IGNsYXNzTWFwIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvY2xhc3MtbWFwJztcbmltcG9ydCAnLi4vYXRvbXMvZ3YtaW1hZ2UnO1xuaW1wb3J0ICcuLi9hdG9tcy9ndi1idXR0b24nO1xuaW1wb3J0ICcuLi9tb2xlY3VsZXMvZ3YtbWV0cmljcyc7XG5pbXBvcnQgJy4uL21vbGVjdWxlcy9ndi1yYXRpbmcnO1xuaW1wb3J0ICcuLi9hdG9tcy9ndi1zdGF0ZSc7XG5pbXBvcnQgJy4uL2F0b21zL2d2LXRhZyc7XG5pbXBvcnQgeyB0cnVuY2F0ZSB9IGZyb20gJy4uL2xpYi91dGlscyc7XG5pbXBvcnQgeyBpMThuIH0gZnJvbSAnLi4vbGliL2kxOG4nO1xuaW1wb3J0IHsgSXRlbVJlc291cmNlIH0gZnJvbSAnLi4vbWl4aW5zL2l0ZW0tcmVzb3VyY2UnO1xuaW1wb3J0IHsgZGlzcGF0Y2hDdXN0b21FdmVudCB9IGZyb20gJy4uL2xpYi9ldmVudHMnO1xuaW1wb3J0IHsgZ2V0VmVyc2lvbiwgZ2V0VGl0bGUsIGdldERlc2NyaXB0aW9uLCBnZXRPd25lciB9IGZyb20gJy4uL2xpYi9pdGVtJztcblxuLyoqXG4gKiBGdWxsIENhcmQgY29tcG9uZW50XG4gKlxuICogIyMgRGV0YWlsc1xuICogKiBoYXMgQHRoZW1lIGZhY2V0XG4gKlxuICogQGZpcmVzIGd2LWNhcmQtZnVsbDpjbGljayAtIEN1c3RvbSBjbGljayBldmVudFxuICogQGZpcmVzIGd2LXRhZzpjbGljayAtIEN1c3RvbSBjbGljayBldmVudCBvbiBjYXJkIGxhYmVsc1xuICpcbiAqIEBhdHRyIHtQcm9taXNlPE9iamVjdD59IGl0ZW0gLSBBbiBpdGVtLlxuICogQGF0dHIge1Byb21pc2U8TWV0cmljcz59IG1ldHJpY3MgLSBBIE1ldHJpY3MuXG4gKlxuICogQGNzc3Byb3Age0NvbG9yfSBbLS1ndi1jYXJkLWZ1bGwtLWJnYz12YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWxpZ2h0ZXN0LCAjZmZmZmZmKV0gLSBCYWNrZ3JvdW5kIGNvbG9yXG4gKiBAY3NzcHJvcCB7TGVuZ3RofSBbLS1ndi1jYXJkLWZ1bGwtaW1hZ2UtLWg9NjVweF0gLSBJbWFnZSBoZWlnaHRcbiAqIEBjc3Nwcm9wIHtMZW5ndGh9IFstLWd2LWNhcmQtZnVsbC1pbWFnZS0tdz0xMTBweF0gLSBJbWFnZSB3aWR0aFxuICovXG5leHBvcnQgY2xhc3MgR3ZDYXJkRnVsbCBleHRlbmRzIEl0ZW1SZXNvdXJjZShMaXRFbGVtZW50KSB7XG4gIHN0YXRpYyBnZXQgcHJvcGVydGllcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbWV0cmljczogeyB0eXBlOiBPYmplY3QgfSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGdldCBzdHlsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLnN1cGVyLnN0eWxlcyxcbiAgICAgIC8vIGxhbmd1YWdlPUNTU1xuICAgICAgY3NzYFxuICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwLjJyZW07XG5cbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDI4MXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZ3YtdGhlbWUtZm9udC1zaXplLW0sIDE0cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgZ3YtaWRlbnRpdHktcGljdHVyZSB7XG4gICAgICAgICAgaGVpZ2h0OiB2YXIoLS1ndi1jYXJkLWZ1bGwtaW1hZ2UtLWgsIDY1cHgpO1xuICAgICAgICAgIHdpZHRoOiB2YXIoLS1ndi1jYXJkLWZ1bGwtaW1hZ2UtLXcsIDExMHB4KTtcbiAgICAgICAgICAtLWd2LWltYWdlLS1vZjogY29udGFpbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgaGVpZ2h0OiAyNTBweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3YtY2FyZC1mdWxsLS1iZ2MsIHZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItbGlnaHRlc3QsICNmZmZmZmYpKTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tZ3YtdGhlbWUtZm9udC1jb2xvci1kYXJrLCAjMjYyNjI2KTtcbiAgICAgICAgICBwYWRkaW5nOiAxNnB4O1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLCAjZjVmNWY1KSwgMCAxcHggM3B4IHZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItZGFyaywgI2JmYmZiZik7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyZDpob3ZlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMjBweCA0MHB4IC0xNHB4IHZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItZGFyaywgI2JmYmZiZik7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQgPiBkaXYge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDY1cHg7XG4gICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMC4ycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS1sLCAxNnB4KTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm93bmVyIHtcbiAgICAgICAgICAtLWd2LWljb24tLWM6IHZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItZGFyaywgI2JmYmZiZik7XG4gICAgICAgICAgLS1ndi1pY29uLS1zOiAxNnB4O1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWRhcmssICNiZmJmYmYpO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogaW5pdGlhbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTBweCAxMHB4IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAudmVyc2lvbiB7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItZGFyaywgI2Q5ZDlkOSk7XG4gICAgICAgICAgcGFkZGluZzogMTBweCA4cHg7XG4gICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ndi10aGVtZS1mb250LXNpemUtcywgMTJweCk7XG4gICAgICAgIH1cblxuICAgICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTZweDtcbiAgICAgICAgICBtYXJnaW46IDZweCAwO1xuICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDE1MHB4O1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIH1cblxuICAgICAgICAuaW5mb3Mge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItZGFyaywgI2Q5ZDlkOSk7XG4gICAgICAgICAgcGFkZGluZzogMC41cmVtIDA7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGd2LW1ldHJpY3Mge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIH1cblxuICAgICAgICAuc2tlbGV0b24gLmluZm9zIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxhYmVscyB7XG4gICAgICAgICAgcGFkZGluZzogMCAxNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmVycm9yIC5sYWJlbHMsXG4gICAgICAgIC5lcnJvciAuaW5mb3MsXG4gICAgICAgIC5lcnJvciAuc3RhdGVzIHtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgIGAsXG4gICAgICBza2VsZXRvbixcbiAgICBdO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmxpbWl0ID0gMTUwO1xuICB9XG5cbiAgX29uQ2xpY2soZSkge1xuICAgIGlmICghdGhpcy5fZW1wdHkgJiYgIXRoaXMuX2Vycm9yICYmICF0aGlzLl9za2VsZXRvbiAmJiAhZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoJ2d2LW1ldHJpY3MnKSkge1xuICAgICAgZGlzcGF0Y2hDdXN0b21FdmVudCh0aGlzLCAnY2xpY2snLCB0aGlzLl9pdGVtKTtcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgdGl0bGUgPSBnZXRUaXRsZSh0aGlzLl9pdGVtKTtcbiAgICBjb25zdCBvd25lciA9IGdldE93bmVyKHRoaXMuX2l0ZW0pO1xuICAgIGNvbnN0IGNsYXNzZXMgPSB7IGVycm9yOiB0aGlzLl9lcnJvciB8fCB0aGlzLl9lbXB0eSwgY2FyZDogdHJ1ZSB9O1xuICAgIHJldHVybiBodG1sYDxkaXYgY2xhc3M9XCIke2NsYXNzTWFwKGNsYXNzZXMpfVwiIHRpdGxlPVwiJHt0aXRsZX1cIiBAY2xpY2s9XCIke3RoaXMuX29uQ2xpY2t9XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiJHtjbGFzc01hcCh7IHNrZWxldG9uOiB0aGlzLl9za2VsZXRvbiB9KX1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIiR7Y2xhc3NNYXAoeyBpbWFnZTogdHJ1ZSB9KX1cIj4ke3RoaXMuX3JlbmRlckltYWdlKCl9PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIiR7Y2xhc3NNYXAoeyB0aXRsZTogdHJ1ZSB9KX1cIj4ke3RpdGxlfTwvZGl2PlxuICAgICAgICAgICR7b3duZXIgIT0gbnVsbCAmJiBvd25lci50cmltKCkubGVuZ3RoID4gMFxuICAgICAgICAgICAgPyBodG1sYDxkaXYgY2xhc3M9XCJvd25lclwiPjxndi1pY29uIHNoYXBlPVwiZ2VuZXJhbDp1c2VyXCIgc2l6ZT1cIjhweFwiPjwvZ3YtaWNvbj4ke293bmVyfTwvZGl2PmBcbiAgICAgICAgICAgIDogJyd9XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0YXRlc1wiPiR7dGhpcy5fcmVuZGVyU3RhdGVzKCl9PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidmVyc2lvblwiPjxzcGFuIGNsYXNzPVwiJHtjbGFzc01hcCh7IHNrZWxldG9uOiB0aGlzLl9za2VsZXRvbiB9KX1cIj4ke2dldFZlcnNpb24odGhpcy5faXRlbSl9PC9zcGFuPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiJHtjbGFzc01hcCh7IHNrZWxldG9uOiB0aGlzLl9za2VsZXRvbiwgZGVzY3JpcHRpb246IHRydWUgfSl9XCI+XG4gICAgICAgICR7dHJ1bmNhdGUoXG4gICAgICAgICAgdGhpcy5fZXJyb3IgPyBpMThuKCdndi1jYXJkLWZ1bGwuZXJyb3InKSA6IHRoaXMuX2VtcHR5ID8gaTE4bignZ3YtY2FyZC1mdWxsLmVtcHR5JykgOiBnZXREZXNjcmlwdGlvbih0aGlzLl9pdGVtKSxcbiAgICAgICAgICB0aGlzLmxpbWl0LFxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgICA8c3BhbiBjbGFzcz1cIiR7Y2xhc3NNYXAoeyBza2VsZXRvbjogdGhpcy5fc2tlbGV0b24gfSl9XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvc1wiPiR7dGhpcy5fcmVuZGVyTWV0cmljc1dpdGhSYXRpbmcoKX08L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxzXCI+JHt0aGlzLl9yZW5kZXJMYWJlbHModHJ1ZSl9PC9kaXY+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+YDtcbiAgfVxufVxuXG53aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdndi1jYXJkLWZ1bGwnLCBHdkNhcmRGdWxsKTtcbiJdfQ==
|
|
@@ -18,39 +18,66 @@ import { repeat } from 'lit/directives/repeat';
|
|
|
18
18
|
import { withResizeObserver } from '../mixins/with-resize-observer';
|
|
19
19
|
import { i18n } from '../lib/i18n';
|
|
20
20
|
import './gv-card-full';
|
|
21
|
+
|
|
21
22
|
/**
|
|
22
23
|
* List of cards
|
|
23
24
|
*
|
|
24
25
|
* ## Details
|
|
25
26
|
* * has @theme facet
|
|
26
27
|
*/
|
|
27
|
-
|
|
28
28
|
export class GvCardList extends withResizeObserver(LitElement) {
|
|
29
29
|
static get properties() {
|
|
30
30
|
return {
|
|
31
|
-
items: {
|
|
32
|
-
type: Array
|
|
33
|
-
}
|
|
31
|
+
items: { type: Array },
|
|
34
32
|
};
|
|
35
33
|
}
|
|
36
34
|
|
|
37
35
|
constructor() {
|
|
38
36
|
super();
|
|
39
37
|
this.breakpoints = {
|
|
40
|
-
width: [845, 1270]
|
|
38
|
+
width: [845, 1270],
|
|
41
39
|
};
|
|
42
40
|
}
|
|
43
41
|
|
|
44
42
|
static get styles() {
|
|
45
|
-
return [
|
|
46
|
-
|
|
43
|
+
return [
|
|
44
|
+
// language=CSS
|
|
45
|
+
css`
|
|
46
|
+
:host {
|
|
47
|
+
box-sizing: border-box;
|
|
48
|
+
display: grid;
|
|
49
|
+
grid-template-columns: repeat(3, 1fr);
|
|
50
|
+
grid-gap: 0.5rem;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
:host([w-lt-1270]) .container {
|
|
54
|
+
grid-template-columns: repeat(2, 1fr);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
:host([w-lt-845]) .container {
|
|
58
|
+
display: flex;
|
|
59
|
+
flex-direction: column;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
:host([w-lt-845]) .container > .item {
|
|
63
|
+
flex: 0 1 auto;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.item {
|
|
67
|
+
opacity: 0;
|
|
68
|
+
transition: opacity 100ms ease-in-out;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.item.show {
|
|
72
|
+
opacity: 1;
|
|
73
|
+
}
|
|
74
|
+
`,
|
|
75
|
+
];
|
|
47
76
|
}
|
|
48
77
|
|
|
49
78
|
renderItem(item, index) {
|
|
50
79
|
const _item = item && item.item ? item.item : null;
|
|
51
|
-
|
|
52
80
|
const _metrics = item && item.metrics ? item.metrics : null;
|
|
53
|
-
|
|
54
81
|
return html`<gv-card-full class="item" .item="${_item}" .metrics="${_metrics}"> </gv-card-full>`;
|
|
55
82
|
}
|
|
56
83
|
|
|
@@ -60,9 +87,12 @@ export class GvCardList extends withResizeObserver(LitElement) {
|
|
|
60
87
|
}
|
|
61
88
|
|
|
62
89
|
if (this.items) {
|
|
63
|
-
return html`${repeat(
|
|
90
|
+
return html`${repeat(
|
|
91
|
+
this.items,
|
|
92
|
+
(item) => item,
|
|
93
|
+
(item, index) => this.renderItem(item, index),
|
|
94
|
+
)}`;
|
|
64
95
|
}
|
|
65
|
-
|
|
66
96
|
return '';
|
|
67
97
|
}
|
|
68
98
|
|
|
@@ -78,7 +108,6 @@ export class GvCardList extends withResizeObserver(LitElement) {
|
|
|
78
108
|
}
|
|
79
109
|
}
|
|
80
110
|
}
|
|
81
|
-
|
|
82
111
|
}
|
|
112
|
+
|
|
83
113
|
window.customElements.define('gv-card-list', GvCardList);
|
|
84
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21vbGVjdWxlcy9ndi1jYXJkLWxpc3QuanMiXSwibmFtZXMiOlsiY3NzIiwiTGl0RWxlbWVudCIsImh0bWwiLCJyZXBlYXQiLCJ3aXRoUmVzaXplT2JzZXJ2ZXIiLCJpMThuIiwiR3ZDYXJkTGlzdCIsInByb3BlcnRpZXMiLCJpdGVtcyIsInR5cGUiLCJBcnJheSIsImNvbnN0cnVjdG9yIiwiYnJlYWtwb2ludHMiLCJ3aWR0aCIsInN0eWxlcyIsInJlbmRlckl0ZW0iLCJpdGVtIiwiaW5kZXgiLCJfaXRlbSIsIl9tZXRyaWNzIiwibWV0cmljcyIsInJlbmRlciIsIl9lcnJvciIsInVwZGF0ZWQiLCJjaGFuZ2VkUHJvcGVydGllcyIsImhhcyIsImxlbmd0aCIsInNoYWRvd1Jvb3QiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZm9yRWFjaCIsInNldFRpbWVvdXQiLCJjbGFzc0xpc3QiLCJhZGQiLCJ3aW5kb3ciLCJjdXN0b21FbGVtZW50cyIsImRlZmluZSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsR0FBVCxFQUFjQyxVQUFkLEVBQTBCQyxJQUExQixRQUFzQyxLQUF0QztBQUNBLFNBQVNDLE1BQVQsUUFBdUIsdUJBQXZCO0FBQ0EsU0FBU0Msa0JBQVQsUUFBbUMsZ0NBQW5DO0FBQ0EsU0FBU0MsSUFBVCxRQUFxQixhQUFyQjtBQUNBLE9BQU8sZ0JBQVA7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsT0FBTyxNQUFNQyxVQUFOLFNBQXlCRixrQkFBa0IsQ0FBQ0gsVUFBRCxDQUEzQyxDQUF3RDtBQUN4QyxhQUFWTSxVQUFVLEdBQUc7QUFDdEIsV0FBTztBQUNMQyxNQUFBQSxLQUFLLEVBQUU7QUFBRUMsUUFBQUEsSUFBSSxFQUFFQztBQUFSO0FBREYsS0FBUDtBQUdEOztBQUVEQyxFQUFBQSxXQUFXLEdBQUc7QUFDWjtBQUNBLFNBQUtDLFdBQUwsR0FBbUI7QUFDakJDLE1BQUFBLEtBQUssRUFBRSxDQUFDLEdBQUQsRUFBTSxJQUFOO0FBRFUsS0FBbkI7QUFHRDs7QUFFZ0IsYUFBTkMsTUFBTSxHQUFHO0FBQ2xCLFdBQU8sQ0FDTDtBQUNBZCxJQUFBQSxHQUFHLHlWQUZFLENBQVA7QUFpQ0Q7O0FBRURlLEVBQUFBLFVBQVUsQ0FBQ0MsSUFBRCxFQUFPQyxLQUFQLEVBQWM7QUFDdEIsVUFBTUMsS0FBSyxHQUFHRixJQUFJLElBQUlBLElBQUksQ0FBQ0EsSUFBYixHQUFvQkEsSUFBSSxDQUFDQSxJQUF6QixHQUFnQyxJQUE5Qzs7QUFDQSxVQUFNRyxRQUFRLEdBQUdILElBQUksSUFBSUEsSUFBSSxDQUFDSSxPQUFiLEdBQXVCSixJQUFJLENBQUNJLE9BQTVCLEdBQXNDLElBQXZEOztBQUNBLFdBQU9sQixJQUFJLHFDQUFxQ2dCLEtBQXJDLGVBQXlEQyxRQUF6RCxvQkFBWDtBQUNEOztBQUVERSxFQUFBQSxNQUFNLEdBQUc7QUFDUCxRQUFJLEtBQUtDLE1BQVQsRUFBaUI7QUFDZixhQUFPcEIsSUFBSSxRQUFRRyxJQUFJLENBQUMsb0JBQUQsQ0FBWixRQUFYO0FBQ0Q7O0FBRUQsUUFBSSxLQUFLRyxLQUFULEVBQWdCO0FBQ2QsYUFBT04sSUFBSSxHQUFHQyxNQUFNLENBQ2xCLEtBQUtLLEtBRGEsRUFFakJRLElBQUQsSUFBVUEsSUFGUSxFQUdsQixDQUFDQSxJQUFELEVBQU9DLEtBQVAsS0FBaUIsS0FBS0YsVUFBTCxDQUFnQkMsSUFBaEIsRUFBc0JDLEtBQXRCLENBSEMsQ0FBVCxFQUFYO0FBS0Q7O0FBQ0QsV0FBTyxFQUFQO0FBQ0Q7O0FBRURNLEVBQUFBLE9BQU8sQ0FBQ0MsaUJBQUQsRUFBb0I7QUFDekIsUUFBSUEsaUJBQWlCLENBQUNDLEdBQWxCLENBQXNCLE9BQXRCLENBQUosRUFBb0M7QUFDbEMsVUFBSSxLQUFLakIsS0FBTCxJQUFjLEtBQUtBLEtBQUwsQ0FBV2tCLE1BQVgsR0FBb0IsQ0FBdEMsRUFBeUM7QUFDdkMsY0FBTWxCLEtBQUssR0FBRyxLQUFLbUIsVUFBTCxDQUFnQkMsZ0JBQWhCLENBQWlDLE9BQWpDLENBQWQ7QUFDQXBCLFFBQUFBLEtBQUssQ0FBQ3FCLE9BQU4sQ0FBYyxDQUFDYixJQUFELEVBQU9DLEtBQVAsS0FBaUI7QUFDN0JhLFVBQUFBLFVBQVUsQ0FBQyxNQUFNO0FBQ2ZkLFlBQUFBLElBQUksQ0FBQ2UsU0FBTCxDQUFlQyxHQUFmLENBQW1CLE1BQW5CO0FBQ0QsV0FGUyxFQUVQZixLQUFLLEdBQUcsR0FGRCxDQUFWO0FBR0QsU0FKRDtBQUtEO0FBQ0Y7QUFDRjs7QUFsRjREO0FBcUYvRGdCLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkMsTUFBdEIsQ0FBNkIsY0FBN0IsRUFBNkM3QixVQUE3QyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBjc3MsIExpdEVsZW1lbnQsIGh0bWwgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcmVwZWF0IH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVwZWF0JztcbmltcG9ydCB7IHdpdGhSZXNpemVPYnNlcnZlciB9IGZyb20gJy4uL21peGlucy93aXRoLXJlc2l6ZS1vYnNlcnZlcic7XG5pbXBvcnQgeyBpMThuIH0gZnJvbSAnLi4vbGliL2kxOG4nO1xuaW1wb3J0ICcuL2d2LWNhcmQtZnVsbCc7XG5cbi8qKlxuICogTGlzdCBvZiBjYXJkc1xuICpcbiAqICMjIERldGFpbHNcbiAqICogaGFzIEB0aGVtZSBmYWNldFxuICovXG5leHBvcnQgY2xhc3MgR3ZDYXJkTGlzdCBleHRlbmRzIHdpdGhSZXNpemVPYnNlcnZlcihMaXRFbGVtZW50KSB7XG4gIHN0YXRpYyBnZXQgcHJvcGVydGllcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaXRlbXM6IHsgdHlwZTogQXJyYXkgfSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmJyZWFrcG9pbnRzID0ge1xuICAgICAgd2lkdGg6IFs4NDUsIDEyNzBdLFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZ2V0IHN0eWxlcygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgLy8gbGFuZ3VhZ2U9Q1NTXG4gICAgICBjc3NgXG4gICAgICAgIDpob3N0IHtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICAgICAgICBncmlkLWdhcDogMC41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgOmhvc3QoW3ctbHQtMTI3MF0pIC5jb250YWluZXIge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICAgIH1cblxuICAgICAgICA6aG9zdChbdy1sdC04NDVdKSAuY29udGFpbmVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cblxuICAgICAgICA6aG9zdChbdy1sdC04NDVdKSAuY29udGFpbmVyID4gLml0ZW0ge1xuICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLml0ZW0ge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pdGVtLnNob3cge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIGAsXG4gICAgXTtcbiAgfVxuXG4gIHJlbmRlckl0ZW0oaXRlbSwgaW5kZXgpIHtcbiAgICBjb25zdCBfaXRlbSA9IGl0ZW0gJiYgaXRlbS5pdGVtID8gaXRlbS5pdGVtIDogbnVsbDtcbiAgICBjb25zdCBfbWV0cmljcyA9IGl0ZW0gJiYgaXRlbS5tZXRyaWNzID8gaXRlbS5tZXRyaWNzIDogbnVsbDtcbiAgICByZXR1cm4gaHRtbGA8Z3YtY2FyZC1mdWxsIGNsYXNzPVwiaXRlbVwiIC5pdGVtPVwiJHtfaXRlbX1cIiAubWV0cmljcz1cIiR7X21ldHJpY3N9XCI+IDwvZ3YtY2FyZC1mdWxsPmA7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgaWYgKHRoaXMuX2Vycm9yKSB7XG4gICAgICByZXR1cm4gaHRtbGA8ZGl2PiR7aTE4bignZ3YtY2FyZC1saXN0LmVycm9yJyl9PC9kaXY+YDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pdGVtcykge1xuICAgICAgcmV0dXJuIGh0bWxgJHtyZXBlYXQoXG4gICAgICAgIHRoaXMuaXRlbXMsXG4gICAgICAgIChpdGVtKSA9PiBpdGVtLFxuICAgICAgICAoaXRlbSwgaW5kZXgpID0+IHRoaXMucmVuZGVySXRlbShpdGVtLCBpbmRleCksXG4gICAgICApfWA7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpIHtcbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdpdGVtcycpKSB7XG4gICAgICBpZiAodGhpcy5pdGVtcyAmJiB0aGlzLml0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvckFsbCgnLml0ZW0nKTtcbiAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGl0ZW0uY2xhc3NMaXN0LmFkZCgnc2hvdycpO1xuICAgICAgICAgIH0sIGluZGV4ICogMTAwKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbndpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ2d2LWNhcmQtbGlzdCcsIEd2Q2FyZExpc3QpO1xuIl19
|