@rivet-health/design-system 40.25.0 → 40.26.0
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/esm2020/lib/layout/card/card.component.mjs +21 -5
- package/fesm2015/rivet-health-design-system.mjs +21 -4
- package/fesm2015/rivet-health-design-system.mjs.map +1 -1
- package/fesm2020/rivet-health-design-system.mjs +20 -4
- package/fesm2020/rivet-health-design-system.mjs.map +1 -1
- package/lib/layout/card/card.component.d.ts +17 -3
- package/package.json +1 -1
|
@@ -91,8 +91,8 @@ import * as i1 from "@angular/common";
|
|
|
91
91
|
* its corners. Popups (`riv-menu`, `rivTooltip`) render through the overlay
|
|
92
92
|
* outlet, so they are not affected by that clipping.
|
|
93
93
|
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
94
|
+
* Set the corner radius with `radius`. The `--card-border-radius` custom
|
|
95
|
+
* property still overrides it, for radii off the token scale.
|
|
96
96
|
*/
|
|
97
97
|
export class CardComponent {
|
|
98
98
|
constructor(el, renderer, cdr) {
|
|
@@ -113,6 +113,8 @@ export class CardComponent {
|
|
|
113
113
|
* their own padding.
|
|
114
114
|
*/
|
|
115
115
|
this.padding = 'none';
|
|
116
|
+
/** Corner radius, matching the `--border-radius-*` tokens. */
|
|
117
|
+
this.radius = 'medium';
|
|
116
118
|
/**
|
|
117
119
|
* Makes the whole surface activate, emitting `cardClick`. Adds the hover
|
|
118
120
|
* affordance and keyboard support.
|
|
@@ -209,6 +211,8 @@ export class CardComponent {
|
|
|
209
211
|
[`tone-${this.tone}`]: true,
|
|
210
212
|
[this.orientation]: true,
|
|
211
213
|
[`padding-${this.padding}`]: true,
|
|
214
|
+
[`radius-${this.radius}`]: true,
|
|
215
|
+
[`hover-depth-${this.hoverDepth ?? CardComponent.defaultHoverDepth(this)}`]: true,
|
|
212
216
|
clickable: this.clickable,
|
|
213
217
|
selected: this.selected,
|
|
214
218
|
disabled: this.disabled,
|
|
@@ -219,10 +223,10 @@ export class CardComponent {
|
|
|
219
223
|
}
|
|
220
224
|
}
|
|
221
225
|
CardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CardComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
222
|
-
CardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CardComponent, selector: "riv-card", inputs: { variant: "variant", surface: "surface", tone: "tone", orientation: "orientation", padding: "padding", clickable: "clickable", clickLabel: "clickLabel", selected: "selected", disabled: "disabled" }, outputs: { cardClick: "cardClick" }, host: { properties: { "attr.aria-current": "this.ariaCurrent", "class": "this.classes" } }, ngImport: i0, template: "<button\n *ngIf=\"clickable\"\n type=\"button\"\n class=\"click-target\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n [attr.aria-label]=\"clickLabel\"\n [attr.aria-labelledby]=\"labelledBy\"\n (click)=\"cardClick.emit($event)\"\n></button>\n<ng-content></ng-content>\n", styles: [":host{position:relative;display:flex;min-width:0;overflow:hidden;
|
|
226
|
+
CardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CardComponent, selector: "riv-card", inputs: { variant: "variant", surface: "surface", tone: "tone", orientation: "orientation", padding: "padding", radius: "radius", hoverDepth: "hoverDepth", clickable: "clickable", clickLabel: "clickLabel", selected: "selected", disabled: "disabled" }, outputs: { cardClick: "cardClick" }, host: { properties: { "attr.aria-current": "this.ariaCurrent", "class": "this.classes" } }, ngImport: i0, template: "<button\n *ngIf=\"clickable\"\n type=\"button\"\n class=\"click-target\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n [attr.aria-label]=\"clickLabel\"\n [attr.aria-labelledby]=\"labelledBy\"\n (click)=\"cardClick.emit($event)\"\n></button>\n<ng-content></ng-content>\n", styles: [":host{position:relative;display:flex;min-width:0;overflow:hidden;color:var(--type-light-high-contrast);font:var(--body-medium)}:host.vertical{flex-direction:column}:host.horizontal{flex-direction:row}:host.outlined{border:var(--border-width) solid var(--border-light)}:host.dashed{border:var(--border-width) dashed var(--border-light)}:host.elevated{box-shadow:var(--depth-1)}:host.surface-0{background-color:var(--surface-light-0)}:host.surface-1{background-color:var(--surface-light-1)}:host.surface-2{background-color:var(--surface-light-2)}:host.tone-danger{background-color:var(--surface-light-danger)}:host.tone-caution{background-color:var(--surface-light-caution)}:host.tone-warning{background-color:var(--surface-light-warning)}:host.tone-safety{background-color:var(--surface-light-safety)}:host.tone-selected{background-color:var(--surface-light-selected)}:host.padding-small{padding:var(--size-small)}:host.padding-medium{padding:var(--size-medium)}:host.padding-large{padding:var(--size-large)}:host.padding-xxlarge{padding:var(--size-xxlarge)}:host.radius-small{border-radius:var(--card-border-radius, var(--border-radius-small))}:host.radius-medium{border-radius:var(--card-border-radius, var(--border-radius-medium))}:host.radius-large{border-radius:var(--card-border-radius, var(--border-radius-large))}:host.radius-xlarge{border-radius:var(--card-border-radius, var(--border-radius-xlarge))}:host:not(.hover-depth-none){transition:box-shadow var(--short-transition)}:host.padding-xlarge{padding:var(--size-xlarge)}:host.clickable{transition:box-shadow var(--short-transition)}:host.hover-depth-1:not(.disabled):hover{box-shadow:var(--depth-1)}:host.hover-depth-2:not(.disabled):hover{box-shadow:var(--depth-2)}:host.hover-depth-3:not(.disabled):hover{box-shadow:var(--depth-3)}:host.hover-depth-4:not(.disabled):hover{box-shadow:var(--depth-4)}.click-target{position:absolute;inset:0;z-index:var(--card-click-target-z-index);padding:0;border:none;background:none;cursor:pointer;transition:background-color var(--short-transition)}.click-target:not(:disabled):hover{background-color:var(--black-20)}.click-target:disabled{cursor:default}.click-target:focus-visible{outline:var(--border-width-large) solid var(--type-light-link);outline-offset:calc(-1 * var(--border-width-large))}:host.selected{border:var(--border-width) solid var(--baloo-50);box-shadow:var(--depth-2)}:host.disabled{background-color:var(--surface-light-1)}:host.outlined.disabled,:host.dashed.disabled{border-color:var(--border-light)}@media print{:host{break-inside:avoid}}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
223
227
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CardComponent, decorators: [{
|
|
224
228
|
type: Component,
|
|
225
|
-
args: [{ selector: 'riv-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n *ngIf=\"clickable\"\n type=\"button\"\n class=\"click-target\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n [attr.aria-label]=\"clickLabel\"\n [attr.aria-labelledby]=\"labelledBy\"\n (click)=\"cardClick.emit($event)\"\n></button>\n<ng-content></ng-content>\n", styles: [":host{position:relative;display:flex;min-width:0;overflow:hidden;
|
|
229
|
+
args: [{ selector: 'riv-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n *ngIf=\"clickable\"\n type=\"button\"\n class=\"click-target\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n [attr.aria-label]=\"clickLabel\"\n [attr.aria-labelledby]=\"labelledBy\"\n (click)=\"cardClick.emit($event)\"\n></button>\n<ng-content></ng-content>\n", styles: [":host{position:relative;display:flex;min-width:0;overflow:hidden;color:var(--type-light-high-contrast);font:var(--body-medium)}:host.vertical{flex-direction:column}:host.horizontal{flex-direction:row}:host.outlined{border:var(--border-width) solid var(--border-light)}:host.dashed{border:var(--border-width) dashed var(--border-light)}:host.elevated{box-shadow:var(--depth-1)}:host.surface-0{background-color:var(--surface-light-0)}:host.surface-1{background-color:var(--surface-light-1)}:host.surface-2{background-color:var(--surface-light-2)}:host.tone-danger{background-color:var(--surface-light-danger)}:host.tone-caution{background-color:var(--surface-light-caution)}:host.tone-warning{background-color:var(--surface-light-warning)}:host.tone-safety{background-color:var(--surface-light-safety)}:host.tone-selected{background-color:var(--surface-light-selected)}:host.padding-small{padding:var(--size-small)}:host.padding-medium{padding:var(--size-medium)}:host.padding-large{padding:var(--size-large)}:host.padding-xxlarge{padding:var(--size-xxlarge)}:host.radius-small{border-radius:var(--card-border-radius, var(--border-radius-small))}:host.radius-medium{border-radius:var(--card-border-radius, var(--border-radius-medium))}:host.radius-large{border-radius:var(--card-border-radius, var(--border-radius-large))}:host.radius-xlarge{border-radius:var(--card-border-radius, var(--border-radius-xlarge))}:host:not(.hover-depth-none){transition:box-shadow var(--short-transition)}:host.padding-xlarge{padding:var(--size-xlarge)}:host.clickable{transition:box-shadow var(--short-transition)}:host.hover-depth-1:not(.disabled):hover{box-shadow:var(--depth-1)}:host.hover-depth-2:not(.disabled):hover{box-shadow:var(--depth-2)}:host.hover-depth-3:not(.disabled):hover{box-shadow:var(--depth-3)}:host.hover-depth-4:not(.disabled):hover{box-shadow:var(--depth-4)}.click-target{position:absolute;inset:0;z-index:var(--card-click-target-z-index);padding:0;border:none;background:none;cursor:pointer;transition:background-color var(--short-transition)}.click-target:not(:disabled):hover{background-color:var(--black-20)}.click-target:disabled{cursor:default}.click-target:focus-visible{outline:var(--border-width-large) solid var(--type-light-link);outline-offset:calc(-1 * var(--border-width-large))}:host.selected{border:var(--border-width) solid var(--baloo-50);box-shadow:var(--depth-2)}:host.disabled{background-color:var(--surface-light-1)}:host.outlined.disabled,:host.dashed.disabled{border-color:var(--border-light)}@media print{:host{break-inside:avoid}}\n"] }]
|
|
226
230
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { variant: [{
|
|
227
231
|
type: Input
|
|
228
232
|
}], surface: [{
|
|
@@ -233,6 +237,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
233
237
|
type: Input
|
|
234
238
|
}], padding: [{
|
|
235
239
|
type: Input
|
|
240
|
+
}], radius: [{
|
|
241
|
+
type: Input
|
|
242
|
+
}], hoverDepth: [{
|
|
243
|
+
type: Input
|
|
236
244
|
}], clickable: [{
|
|
237
245
|
type: Input
|
|
238
246
|
}], clickLabel: [{
|
|
@@ -271,5 +279,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
271
279
|
'xlarge',
|
|
272
280
|
'xxlarge',
|
|
273
281
|
];
|
|
282
|
+
CardComponent.Radii = ['small', 'medium', 'large', 'xlarge'];
|
|
283
|
+
CardComponent.Depths = ['none', '1', '2', '3', '4'];
|
|
284
|
+
function defaultHoverDepth({ clickable, variant, }) {
|
|
285
|
+
if (!clickable)
|
|
286
|
+
return 'none';
|
|
287
|
+
return variant === 'elevated' ? '2' : '1';
|
|
288
|
+
}
|
|
289
|
+
CardComponent.defaultHoverDepth = defaultHoverDepth;
|
|
274
290
|
})(CardComponent || (CardComponent = {}));
|
|
275
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9sYXlvdXQvY2FyZC9jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL2xheW91dC9jYXJkL2NhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBRUwsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7OztBQUVsQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJGRztBQU9ILE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQ21CLEVBQTJCLEVBQzNCLFFBQW1CLEVBQ25CLEdBQXNCO1FBRnRCLE9BQUUsR0FBRixFQUFFLENBQXlCO1FBQzNCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFHekMsa0RBQWtEO1FBRWxELFlBQU8sR0FBMEIsVUFBVSxDQUFDO1FBRTVDLDZFQUE2RTtRQUU3RSxZQUFPLEdBQTBCLEdBQUcsQ0FBQztRQUVyQyx3RUFBd0U7UUFFeEUsU0FBSSxHQUF1QixTQUFTLENBQUM7UUFFckMsaURBQWlEO1FBRWpELGdCQUFXLEdBQThCLFVBQVUsQ0FBQztRQUVwRDs7OztXQUlHO1FBRUgsWUFBTyxHQUEwQixNQUFNLENBQUM7UUFFeEM7OztXQUdHO1FBRUgsY0FBUyxHQUFZLEtBQUssQ0FBQztRQVUzQjs7OztXQUlHO1FBRUgsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUUxQjs7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QUMsR0FBRyxDQUFDLENBQUM7SUFDZixDQUFDOzsyR0FyS1UsYUFBYTsrRkFBYixhQUFhLGlZQ2hIMUIseVRBV0E7NEZEcUdhLGFBQWE7a0JBTnpCLFNBQVM7K0JBQ0UsVUFBVSxtQkFHSCx1QkFBdUIsQ0FBQyxNQUFNO3lKQVcvQyxPQUFPO3NCQUROLEtBQUs7Z0JBS04sT0FBTztzQkFETixLQUFLO2dCQUtOLElBQUk7c0JBREgsS0FBSztnQkFLTixXQUFXO3NCQURWLEtBQUs7Z0JBU04sT0FBTztzQkFETixLQUFLO2dCQVFOLFNBQVM7c0JBRFIsS0FBSztnQkFTTixVQUFVO3NCQURULEtBQUs7Z0JBU04sUUFBUTtzQkFEUCxLQUFLO2dCQVNOLFFBQVE7c0JBRFAsS0FBSztnQkFLTixTQUFTO3NCQURSLE1BQU07Z0JBbUZILFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxtQkFBbUI7Z0JBTTVCLE9BQU87c0JBRFYsV0FBVzt1QkFBQyxPQUFPOztBQWtCdEIsV0FBaUIsYUFBYTtJQUNmLHNCQUFRLEdBQUcsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQVUsQ0FBQztJQUcvRCxzQkFBUSxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQVUsQ0FBQztJQUdwQyxtQkFBSyxHQUFHO1FBQ25CLFNBQVM7UUFDVCxRQUFRO1FBQ1IsU0FBUztRQUNULFNBQVM7UUFDVCxRQUFRO1FBQ1IsVUFBVTtLQUNGLENBQUM7SUFHRSwwQkFBWSxHQUFHLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBVSxDQUFDO0lBR2hFLGdFQUFnRTtJQUNuRCxzQkFBUSxHQUFHO1FBQ3RCLE1BQU07UUFDTixPQUFPO1FBQ1AsUUFBUTtRQUNSLE9BQU87UUFDUCxRQUFRO1FBQ1IsU0FBUztLQUNELENBQUM7QUFFYixDQUFDLEVBOUJnQixhQUFhLEtBQWIsYUFBYSxRQThCN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuXG4vKipcbiAqIFN1cmZhY2UgY29udGFpbmVyIHRoYXQgZ3JvdXBzIHJlbGF0ZWQgY29udGVudCBpbnRvIGEgc2luZ2xlIHNjYW5uYWJsZSB1bml0LlxuICpcbiAqIEEgY2FyZCBpcyBjb21wb3NlZCwgbm90IGNvbmZpZ3VyZWQ6IHByb2plY3QgdGhlIHBhcnRzIHlvdSBuZWVkLCBpbiB0aGUgb3JkZXJcbiAqIHlvdSBuZWVkIHRoZW0uIEV2ZXJ5IHBhcnQgaXMgb3B0aW9uYWwsIHNvIGEgYmFyZSBgcml2LWNhcmRgIGlzIGEgdmFsaWRcbiAqIHN1cmZhY2Ugb24gaXRzIG93bi5cbiAqXG4gKiAtIGByaXYtY2FyZC1tZWRpYWAg4oCUIGxlYWRpbmcgaW1hZ2Ugb3IgdmlkZW9cbiAqIC0gYHJpdi1jYXJkLWhlYWRlcmAg4oCUIGhlYWRpbmcsIHN1YmhlYWRpbmcsIGxlYWRpbmcgYWRvcm5tZW50LCBhY3Rpb25zXG4gKiAtIGByaXYtY2FyZC1jb250ZW50YCDigJQgYm9keVxuICogLSBgcml2LWNhcmQtYWN0aW9uc2Ag4oCUIHRyYWlsaW5nIGNvbnRyb2wgcm93XG4gKlxuICogYGBgaHRtbFxuICogPHJpdi1jYXJkPlxuICogICA8cml2LWNhcmQtaGVhZGVyIFtoZWFkaW5nXT1cIndvcmtib29rLm5hbWVcIiBbc3ViaGVhZGluZ109XCJwYXllck5hbWVcIj5cbiAqICAgICA8cml2LW1lbnUgYWN0aW9ucz4uLi48L3Jpdi1tZW51PlxuICogICA8L3Jpdi1jYXJkLWhlYWRlcj5cbiAqICAgPHJpdi1jYXJkLWNvbnRlbnQ+XG4gKiAgICAgTGFzdCBlZGl0OiB7eyB3b3JrYm9vay5tb2RpZmllZCB8IHJpdkRhdGUgfX1cbiAqICAgPC9yaXYtY2FyZC1jb250ZW50PlxuICogPC9yaXYtY2FyZD5cbiAqIGBgYFxuICpcbiAqICMjIE1ha2luZyB0aGUgY2FyZCBhY3RpdmF0ZVxuICpcbiAqIFNldCBgY2xpY2thYmxlYCBhbmQgaGFuZGxlIGBjYXJkQ2xpY2tgIHRvIG1ha2UgdGhlIHdob2xlIHN1cmZhY2UgYWN0IG9uIGFcbiAqIGNsaWNrOlxuICpcbiAqIGBgYGh0bWxcbiAqIDxyaXYtY2FyZCBbY2xpY2thYmxlXT1cInRydWVcIiAoY2FyZENsaWNrKT1cImdvVG9Xb3JrYm9vaygpXCI+XG4gKiBgYGBcbiAqXG4gKiBUaGUgY2FyZCByZW5kZXJzIGl0cyBvd24gZnVsbC1zdXJmYWNlIGJ1dHRvbiBmb3IgdGhpcywgc28gYWN0aXZhdGlvbiB3b3Jrc1xuICogd2l0aCBhIHBvaW50ZXIsIHdpdGggRW50ZXIsIGFuZCB3aXRoIFNwYWNlLCBhbmQgdGhlIGZvY3VzIHJpbmcgdHJhY2VzIHRoZVxuICogd2hvbGUgY2FyZC4gQ29udHJvbHMgaW4gYHJpdi1jYXJkLWhlYWRlcmAncyBgW2FjdGlvbnNdYCBzbG90IGFuZCBpblxuICogYHJpdi1jYXJkLWFjdGlvbnNgIHNpdCBhYm92ZSBpdCBhbmQgc3RheSBpbmRlcGVuZGVudGx5IGNsaWNrYWJsZSDigJQgYSBtZW51XG4gKiBpbnNpZGUgYSBjbGlja2FibGUgY2FyZCBuZWVkcyBubyBgc3RvcFByb3BhZ2F0aW9uYC4gT3RoZXIgaW50ZXJhY3RpdmUgY29udGVudFxuICogcHJvamVjdGVkIGludG8gdGhlIGNhcmQgbXVzdCByYWlzZSBpdHNlbGYgd2l0aCBgcG9zaXRpb246IHJlbGF0aXZlYCBhbmRcbiAqIGB6LWluZGV4OiB2YXIoLS1jYXJkLXJhaXNlZC16LWluZGV4KWAuXG4gKlxuICogV2hlbiB0aGUgY2FyZCdzIGFjdGlvbiBpcyByZWFsbHkgYSBuYXZpZ2F0aW9uLCBwcmVmZXIgYFtyaXYtY2FyZC1saW5rXWAgb24gYW5cbiAqIGA8YT5gIGluc3RlYWQ6IHRoYXQga2VlcHMgdGhlIFVSTCwgbWlkZGxlLWNsaWNrLCBhbmQgXCJvcGVuIGluIG5ldyB0YWJcIi5cbiAqXG4gKiAjIyBTZWxlY3Rpb25cbiAqXG4gKiBTZXQgYHNlbGVjdGVkYCB0byBtYXJrIHRoZSBjYXJkIHRoZSB1c2VyIGlzIGN1cnJlbnRseSBsb29raW5nIGF0LiBJdCBnaXZlc1xuICogdGhlIHN1cmZhY2UgYSBkaXN0aW5jdCBib3JkZXIgYW5kIHNoYWRvdywgYW5kIGFubm91bmNlcyB0aHJvdWdoXG4gKiBgYXJpYS1jdXJyZW50YCBzbyB0aGUgc3RhdGUgaXMgbm90IGNvbnZleWVkIGJ5IGNvbG91ciBhbG9uZS5cbiAqXG4gKiBgYGBodG1sXG4gKiA8cml2LWNhcmQgW3NlbGVjdGVkXT1cIndvcmtib29rLmlkID09PSBhY3RpdmVJZFwiPlxuICogYGBgXG4gKlxuICogU2VsZWN0aW9uIGlzIHNlcGFyYXRlIGZyb20gYHRvbmVgLCBzbyBpdCBjb21wb3NlcyB3aXRoIGFueSB0aW50IOKAlCBhIHNlbGVjdGVkXG4gKiBgZGFuZ2VyYCBjYXJkIGtlZXBzIGl0cyBkYW5nZXIgYmFja2dyb3VuZC5cbiAqXG4gKiAjIyBNYWtpbmcgdGhlIGNhcmQgZXhwYW5kIGFuZCBjb2xsYXBzZVxuICpcbiAqIFNldCBgZXhwYW5kYWJsZWAgb24gYHJpdi1jYXJkLWhlYWRlcmAgYW5kIHJlbmRlciB0aGUgYm9keSBvbmx5IHdoaWxlIGl0IGlzXG4gKiBvcGVuLiBUaGUgaGVhZGVyIG93bnMgdGhlIHRvZ2dsZSBhZmZvcmRhbmNlIGFuZCBpdHMgYWNjZXNzaWJpbGl0eTsgdGhlXG4gKiBjb25zdW1lciBvd25zIHRoZSBzdGF0ZTpcbiAqXG4gKiBgYGBodG1sXG4gKiA8cml2LWNhcmQ+XG4gKiAgIDxyaXYtY2FyZC1oZWFkZXJcbiAqICAgICBbaGVhZGluZ109XCInUGF0aWVudCBpbmZvJ1wiXG4gKiAgICAgW2V4cGFuZGFibGVdPVwidHJ1ZVwiXG4gKiAgICAgWyhleHBhbmRlZCldPVwib3BlblwiXG4gKiAgID48L3Jpdi1jYXJkLWhlYWRlcj5cbiAqICAgPHJpdi1jYXJkLWNvbnRlbnQgKm5nSWY9XCJvcGVuXCI+Li4uPC9yaXYtY2FyZC1jb250ZW50PlxuICogPC9yaXYtY2FyZD5cbiAqIGBgYFxuICpcbiAqIFRoZSBjYXJkIHJlbGF5cyB0aGUgcmVnaW9uIGlkIGZyb20gdGhlIGhlYWRlciB0byB0aGUgY29udGVudCwgc28gdGhlIHRvZ2dsZSdzXG4gKiBgYXJpYS1jb250cm9sc2AgbmFtZXMgdGhlIGJvZHkgd2l0aCBubyBpZHMgd2lyZWQgYnkgaGFuZC5cbiAqXG4gKiBEbyBub3QgY29tYmluZSBgZXhwYW5kYWJsZWAgd2l0aCBgY2xpY2thYmxlYDogYm90aCBjbGFpbSB0aGUgc2FtZSBjbGljaywgYW5kXG4gKiBhIGNhcmQgdGhhdCBvcGVucyBhcyB3ZWxsIGFzIGV4cGFuZHMgbGVhdmVzIHRoZSB1c2VyIG5vIHdheSB0byB0ZWxsIHdoaWNoIG9uZVxuICogdGhleSBhcmUgYWJvdXQgdG8gZ2V0LlxuICpcbiAqICMjIE5vdGVzXG4gKlxuICogV2hlbiBwcm9qZWN0aW5nIHJhdyBjb250ZW50IHdpdGggbm8gc3ViLWNvbXBvbmVudHMsIHNldCBgcGFkZGluZ2Agc28gdGhlXG4gKiBjb250ZW50IGlzIG5vdCBmbHVzaCBhZ2FpbnN0IHRoZSBib3JkZXIuXG4gKlxuICogVGhlIGNhcmQgY2xpcHMgaXRzIG93biBjb250ZW50IHNvIG1lZGlhIGFuZCBmaWxsZWQgaGVhZGVyL2FjdGlvbiByb3dzIGZvbGxvd1xuICogaXRzIGNvcm5lcnMuIFBvcHVwcyAoYHJpdi1tZW51YCwgYHJpdlRvb2x0aXBgKSByZW5kZXIgdGhyb3VnaCB0aGUgb3ZlcmxheVxuICogb3V0bGV0LCBzbyB0aGV5IGFyZSBub3QgYWZmZWN0ZWQgYnkgdGhhdCBjbGlwcGluZy5cbiAqXG4gKiBQZXItaW5zdGFuY2UgcmFkaXVzIGNhbiBiZSBvdmVycmlkZGVuIHdpdGggdGhlIGAtLWNhcmQtYm9yZGVyLXJhZGl1c2BcbiAqIGN1c3RvbSBwcm9wZXJ0eS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncml2LWNhcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhcmQuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge31cblxuICAvKiogQm9yZGVyIGFuZCBzaGFkb3cgdHJlYXRtZW50IG9mIHRoZSBzdXJmYWNlLiAqL1xuICBASW5wdXQoKVxuICB2YXJpYW50OiBDYXJkQ29tcG9uZW50LlZhcmlhbnQgPSAnb3V0bGluZWQnO1xuXG4gIC8qKiBOZXV0cmFsIGJhY2tncm91bmQgZWxldmF0aW9uLCBtYXRjaGluZyB0aGUgYC0tc3VyZmFjZS1saWdodC0qYCB0b2tlbnMuICovXG4gIEBJbnB1dCgpXG4gIHN1cmZhY2U6IENhcmRDb21wb25lbnQuU3VyZmFjZSA9ICcwJztcblxuICAvKiogU2VtYW50aWMgYmFja2dyb3VuZCB0aW50LiBPdmVycmlkZXMgYHN1cmZhY2VgIHdoZW4gbm90IGBuZXV0cmFsYC4gKi9cbiAgQElucHV0KClcbiAgdG9uZTogQ2FyZENvbXBvbmVudC5Ub25lID0gJ25ldXRyYWwnO1xuXG4gIC8qKiBTdGFja2luZyBkaXJlY3Rpb24gb2YgdGhlIHByb2plY3RlZCBwYXJ0cy4gKi9cbiAgQElucHV0KClcbiAgb3JpZW50YXRpb246IENhcmRDb21wb25lbnQuT3JpZW50YXRpb24gPSAndmVydGljYWwnO1xuXG4gIC8qKlxuICAgKiBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIGNhcmQgaXRzZWxmLiBMZWF2ZSBhcyBgbm9uZWAgd2hlbiBjb21wb3Npbmcgd2l0aFxuICAgKiBgcml2LWNhcmQtaGVhZGVyYCAvIGByaXYtY2FyZC1jb250ZW50YCAvIGByaXYtY2FyZC1hY3Rpb25zYCwgd2hpY2ggb3duXG4gICAqIHRoZWlyIG93biBwYWRkaW5nLlxuICAgKi9cbiAgQElucHV0KClcbiAgcGFkZGluZzogQ2FyZENvbXBvbmVudC5QYWRkaW5nID0gJ25vbmUnO1xuXG4gIC8qKlxuICAgKiBNYWtlcyB0aGUgd2hvbGUgc3VyZmFjZSBhY3RpdmF0ZSwgZW1pdHRpbmcgYGNhcmRDbGlja2AuIEFkZHMgdGhlIGhvdmVyXG4gICAqIGFmZm9yZGFuY2UgYW5kIGtleWJvYXJkIHN1cHBvcnQuXG4gICAqL1xuICBASW5wdXQoKVxuICBjbGlja2FibGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQWNjZXNzaWJsZSBuYW1lIGZvciB0aGUgY2FyZCdzIGFjdGlvbi4gRGVmYXVsdHMgdG8gdGhlIGByaXYtY2FyZC1oZWFkZXJgXG4gICAqIHRpdGxlLCBmYWxsaW5nIGJhY2sgdG8gdGhlIGNhcmQncyB3aG9sZSB0ZXh0IGNvbnRlbnQgd2hlbiB0aGVyZSBpcyBub1xuICAgKiBoZWFkZXIuIFNldCB0aGlzIHdoZW4gbmVpdGhlciByZWFkcyB3ZWxsIG9uIGl0cyBvd24uXG4gICAqL1xuICBASW5wdXQoKVxuICBjbGlja0xhYmVsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBNYXJrcyB0aGUgY2FyZCBhcyB0aGUgY3VycmVudCBzZWxlY3Rpb24sIGdpdmluZyBpdCBhIGRpc3RpbmN0IGJvcmRlciBhbmRcbiAgICogc2hhZG93LiBDb21wb3NlcyB3aXRoIGFueSBgdG9uZWAsIHNvIGEgc2VsZWN0ZWQgZGFuZ2VyIGNhcmQga2VlcHMgaXRzXG4gICAqIHRpbnQuIEFubm91bmNlZCB0byBhc3Npc3RpdmUgdGVjaG5vbG9neSB0aHJvdWdoIGBhcmlhLWN1cnJlbnRgLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogTXV0ZXMgdGhlIHN1cmZhY2UsIHN1cHByZXNzZXMgaG92ZXIgZmVlZGJhY2ssIGFuZCBkaXNhYmxlcyB0aGUgY2xpY2tcbiAgICogdGFyZ2V0LiBQcmVzZW50YXRpb25hbCBmb3IgZXZlcnl0aGluZyBlbHNlIOKAlCBkaXNhYmxlIHRoZSBjYXJkJ3Mgb3duXG4gICAqIGNvbnRyb2xzIHRvby5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIEVtaXR0ZWQgd2hlbiBhIGNsaWNrYWJsZSBjYXJkIGlzIGFjdGl2YXRlZCBieSBwb2ludGVyIG9yIGtleWJvYXJkLiAqL1xuICBAT3V0cHV0KClcbiAgY2FyZENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuXG4gIC8qKlxuICAgKiBOYW1lcyB0aGUgY2xpY2sgdGFyZ2V0IGZyb20gdGhlIGNhcmQncyBjb250ZW50LiBHZW5lcmF0ZWQgb25seSB3aGVuIHRoZVxuICAgKiBjb25zdW1lciBoYXMgbm90IHNldCB0aGVpciBvd24gaWQuXG4gICAqL1xuICBwcml2YXRlIGNhcmRJZDogc3RyaW5nID0gJyc7XG5cbiAgLyoqIFNldCBieSBhIHByb2plY3RlZCBgcml2LWNhcmQtaGVhZGVyYCB0aGF0IGhhcyBhIHRpdGxlIHRvIG5hbWUgYWdhaW5zdC4gKi9cbiAgcHJpdmF0ZSB0aXRsZUlkPzogc3RyaW5nO1xuXG4gIC8qKiBTZXQgYnkgYSBwcm9qZWN0ZWQgYHJpdi1jYXJkLWhlYWRlcmAgdGhhdCBpcyBleHBhbmRhYmxlLiAqL1xuICBwcml2YXRlIGV4cGFuZFJlZ2lvbklkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZCBhbiBleHBhbmRhYmxlIGhlYWRlcidzIHRvZ2dsZSBwb2ludHMgYGFyaWEtY29udHJvbHNgIGF0LCB3b3JuIGJ5IGFcbiAgICogcHJvamVjdGVkIGByaXYtY2FyZC1jb250ZW50YC5cbiAgICovXG4gIGdldCByZWdpb25JZCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmV4cGFuZFJlZ2lvbklkO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jYXJkSWQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuaWQgfHwgdW5pcXVlSWQoJ3Jpdi1jYXJkLScpO1xuICAgIGlmICghdGhpcy5lbC5uYXRpdmVFbGVtZW50LmlkKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdpZCcsIHRoaXMuY2FyZElkKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIHRoZSBoZWFkZXIncyB0aXRsZSBhcyB0aGUgY2xpY2sgdGFyZ2V0J3MgYWNjZXNzaWJsZSBuYW1lLCB3aGljaFxuICAgKiBrZWVwcyB0aGUgYW5ub3VuY2VtZW50IHRvIHRoZSBjYXJkJ3Mgc3ViamVjdCBpbnN0ZWFkIG9mIGV2ZXJ5IHdvcmQgb24gdGhlXG4gICAqIHN1cmZhY2UuIENhbGxlZCBieSBgcml2LWNhcmQtaGVhZGVyYDsgbm90IHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkuXG4gICAqL1xuICBzZXRUaXRsZUlkKGlkOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLnRpdGxlSWQgPSBpZDtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHaXZlcyB1cCBhIHRpdGxlIHJlZ2lzdGVyZWQgYnkgYHNldFRpdGxlSWRgLCBzbyBhIGhlYWRlciB0aGF0IGlzIHJlbW92ZWRcbiAgICogZG9lcyBub3QgbGVhdmUgdGhlIGNsaWNrIHRhcmdldCBuYW1pbmcgaXRzZWxmIGFnYWluc3QgYSBkZXRhY2hlZCBlbGVtZW50LlxuICAgKiBJZ25vcmVzIGlkcyB0aGF0IGFyZSBubyBsb25nZXIgdGhlIG9uZSBpbiB1c2UuXG4gICAqL1xuICBjbGVhclRpdGxlSWQoaWQ6IHN0cmluZykge1xuICAgIGlmICh0aGlzLnRpdGxlSWQgPT09IGlkKSB7XG4gICAgICB0aGlzLnNldFRpdGxlSWQodW5kZWZpbmVkKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVsYXlzIHRoZSByZWdpb24gYW4gZXhwYW5kYWJsZSBoZWFkZXIgY29udHJvbHMgdG8gdGhlIHByb2plY3RlZFxuICAgKiBgcml2LWNhcmQtY29udGVudGAsIHNvIG5laXRoZXIgc2lkZSBuZWVkcyB0aGUgY29uc3VtZXIgdG8gd2lyZSBhbiBpZC5cbiAgICogQ2FsbGVkIGJ5IGByaXYtY2FyZC1oZWFkZXJgOyBub3QgcGFydCBvZiB0aGUgcHVibGljIEFQSS5cbiAgICovXG4gIHNldFJlZ2lvbklkKGlkOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLmV4cGFuZFJlZ2lvbklkID0gaWQ7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogR2l2ZXMgdXAgYSByZWdpb24gcmVnaXN0ZXJlZCBieSBgc2V0UmVnaW9uSWRgLiBJZ25vcmVzIGlkcyB0aGF0IGFyZSBub1xuICAgKiBsb25nZXIgdGhlIG9uZSBpbiB1c2UuXG4gICAqL1xuICBjbGVhclJlZ2lvbklkKGlkOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5leHBhbmRSZWdpb25JZCA9PT0gaWQpIHtcbiAgICAgIHRoaXMuc2V0UmVnaW9uSWQodW5kZWZpbmVkKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRWxlbWVudCB3aG9zZSB0ZXh0IG5hbWVzIHRoZSBjbGljayB0YXJnZXQsIHVubGVzcyBgY2xpY2tMYWJlbGAgaXMgc2V0LiBUaGVcbiAgICogaG9zdCBpZCBpcyByZWFkIGZyb20gdGhlIERPTSByYXRoZXIgdGhhbiBjYWNoZWQsIHNvIGEgYm91bmQgYFtpZF1gIHRoYXRcbiAgICogY2hhbmdlcyBpcyBwaWNrZWQgdXAgb24gdGhlIGNhcmQncyBuZXh0IGNoYW5nZSBkZXRlY3Rpb24uXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IGxhYmVsbGVkQnkoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMuY2xpY2tMYWJlbCkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHRoaXMudGl0bGVJZCA/PyAodGhpcy5lbC5uYXRpdmVFbGVtZW50LmlkIHx8IHRoaXMuY2FyZElkKTtcbiAgfVxuXG4gIC8qKiBBbm5vdW5jZXMgdGhlIGN1cnJlbnQgc2VsZWN0aW9uIHRvIGFzc2lzdGl2ZSB0ZWNobm9sb2d5LiAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1jdXJyZW50JylcbiAgZ2V0IGFyaWFDdXJyZW50KCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkID8gJ3RydWUnIDogbnVsbDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgY2xhc3NlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyh7XG4gICAgICBbdGhpcy52YXJpYW50XTogdHJ1ZSxcbiAgICAgIFtgc3VyZmFjZS0ke3RoaXMuc3VyZmFjZX1gXTogdHJ1ZSxcbiAgICAgIFtgdG9uZS0ke3RoaXMudG9uZX1gXTogdHJ1ZSxcbiAgICAgIFt0aGlzLm9yaWVudGF0aW9uXTogdHJ1ZSxcbiAgICAgIFtgcGFkZGluZy0ke3RoaXMucGFkZGluZ31gXTogdHJ1ZSxcbiAgICAgIGNsaWNrYWJsZTogdGhpcy5jbGlja2FibGUsXG4gICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCxcbiAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkLFxuICAgIH0pXG4gICAgICAuZmlsdGVyKChbXywgdl0pID0+IHYpXG4gICAgICAubWFwKChba10pID0+IGspXG4gICAgICAuam9pbignICcpO1xuICB9XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ2FyZENvbXBvbmVudCB7XG4gIGV4cG9ydCBjb25zdCBWYXJpYW50cyA9IFsnb3V0bGluZWQnLCAnZWxldmF0ZWQnLCAnZmxhdCcsICdkYXNoZWQnXSBhcyBjb25zdDtcbiAgZXhwb3J0IHR5cGUgVmFyaWFudCA9ICh0eXBlb2YgVmFyaWFudHMpW251bWJlcl07XG5cbiAgZXhwb3J0IGNvbnN0IFN1cmZhY2VzID0gWycwJywgJzEnLCAnMiddIGFzIGNvbnN0O1xuICBleHBvcnQgdHlwZSBTdXJmYWNlID0gKHR5cGVvZiBTdXJmYWNlcylbbnVtYmVyXTtcblxuICBleHBvcnQgY29uc3QgVG9uZXMgPSBbXG4gICAgJ25ldXRyYWwnLFxuICAgICdkYW5nZXInLFxuICAgICdjYXV0aW9uJyxcbiAgICAnd2FybmluZycsXG4gICAgJ3NhZmV0eScsXG4gICAgJ3NlbGVjdGVkJyxcbiAgXSBhcyBjb25zdDtcbiAgZXhwb3J0IHR5cGUgVG9uZSA9ICh0eXBlb2YgVG9uZXMpW251bWJlcl07XG5cbiAgZXhwb3J0IGNvbnN0IE9yaWVudGF0aW9ucyA9IFsndmVydGljYWwnLCAnaG9yaXpvbnRhbCddIGFzIGNvbnN0O1xuICBleHBvcnQgdHlwZSBPcmllbnRhdGlvbiA9ICh0eXBlb2YgT3JpZW50YXRpb25zKVtudW1iZXJdO1xuXG4gIC8qKiBTaGFyZWQgcGFkZGluZyBzY2FsZSBmb3IgdGhlIGNhcmQgYW5kIGl0cyBzdWItY29tcG9uZW50cy4gKi9cbiAgZXhwb3J0IGNvbnN0IFBhZGRpbmdzID0gW1xuICAgICdub25lJyxcbiAgICAnc21hbGwnLFxuICAgICdtZWRpdW0nLFxuICAgICdsYXJnZScsXG4gICAgJ3hsYXJnZScsXG4gICAgJ3h4bGFyZ2UnLFxuICBdIGFzIGNvbnN0O1xuICBleHBvcnQgdHlwZSBQYWRkaW5nID0gKHR5cGVvZiBQYWRkaW5ncylbbnVtYmVyXTtcbn1cbiIsIjxidXR0b25cbiAgKm5nSWY9XCJjbGlja2FibGVcIlxuICB0eXBlPVwiYnV0dG9uXCJcbiAgY2xhc3M9XCJjbGljay10YXJnZXRcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkID8gJ3RydWUnIDogbnVsbFwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiY2xpY2tMYWJlbFwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJsYWJlbGxlZEJ5XCJcbiAgKGNsaWNrKT1cImNhcmRDbGljay5lbWl0KCRldmVudClcIlxuPjwvYnV0dG9uPlxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
|
|
291
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9sYXlvdXQvY2FyZC9jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL2xheW91dC9jYXJkL2NhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBRUwsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7OztBQUVsQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJGRztBQU9ILE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQ21CLEVBQTJCLEVBQzNCLFFBQW1CLEVBQ25CLEdBQXNCO1FBRnRCLE9BQUUsR0FBRixFQUFFLENBQXlCO1FBQzNCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFHekMsa0RBQWtEO1FBRWxELFlBQU8sR0FBMEIsVUFBVSxDQUFDO1FBRTVDLDZFQUE2RTtRQUU3RSxZQUFPLEdBQTBCLEdBQUcsQ0FBQztRQUVyQyx3RUFBd0U7UUFFeEUsU0FBSSxHQUF1QixTQUFTLENBQUM7UUFFckMsaURBQWlEO1FBRWpELGdCQUFXLEdBQThCLFVBQVUsQ0FBQztRQUVwRDs7OztXQUlHO1FBRUgsWUFBTyxHQUEwQixNQUFNLENBQUM7UUFFeEMsOERBQThEO1FBRTlELFdBQU0sR0FBeUIsUUFBUSxDQUFDO1FBV3hDOzs7V0FHRztRQUVILGNBQVMsR0FBWSxLQUFLLENBQUM7UUFVM0I7Ozs7V0FJRztRQUVILGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFMUI7Ozs7V0FJRztRQUVILGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFMUIseUVBQXlFO1FBRXpFLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBRTNDOzs7V0FHRztRQUNLLFdBQU0sR0FBVyxFQUFFLENBQUM7SUE5RXpCLENBQUM7SUFzRko7OztPQUdHO0lBQ0gsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLElBQUksUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN0RTtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLEVBQXNCO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxZQUFZLENBQUMsRUFBVTtRQUNyQixJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssRUFBRSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFdBQVcsQ0FBQyxFQUFzQjtRQUNoQyxJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxhQUFhLENBQUMsRUFBVTtRQUN0QixJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssRUFBRSxFQUFFO1lBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQWMsVUFBVTtRQUN0QixJQUFJLElBQUksQ0FBQyxVQUFVO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsK0RBQStEO0lBQy9ELElBQ0ksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQ0ksT0FBTztRQUNULE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUNwQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJO1lBQ3BCLENBQUMsV0FBVyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJO1lBQ2pDLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJO1lBQzNCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUk7WUFDeEIsQ0FBQyxXQUFXLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUk7WUFDakMsQ0FBQyxVQUFVLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUk7WUFDL0IsQ0FBQyxlQUNDLElBQUksQ0FBQyxVQUFVLElBQUksYUFBYSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FDekQsRUFBRSxDQUFDLEVBQUUsSUFBSTtZQUNULFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUM7YUFDQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3JCLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNmLENBQUM7OzJHQXRMVSxhQUFhOytGQUFiLGFBQWEsNmFDaEgxQix5VEFXQTs0RkRxR2EsYUFBYTtrQkFOekIsU0FBUzsrQkFDRSxVQUFVLG1CQUdILHVCQUF1QixDQUFDLE1BQU07eUpBVy9DLE9BQU87c0JBRE4sS0FBSztnQkFLTixPQUFPO3NCQUROLEtBQUs7Z0JBS04sSUFBSTtzQkFESCxLQUFLO2dCQUtOLFdBQVc7c0JBRFYsS0FBSztnQkFTTixPQUFPO3NCQUROLEtBQUs7Z0JBS04sTUFBTTtzQkFETCxLQUFLO2dCQVVOLFVBQVU7c0JBRFQsS0FBSztnQkFRTixTQUFTO3NCQURSLEtBQUs7Z0JBU04sVUFBVTtzQkFEVCxLQUFLO2dCQVNOLFFBQVE7c0JBRFAsS0FBSztnQkFTTixRQUFRO3NCQURQLEtBQUs7Z0JBS04sU0FBUztzQkFEUixNQUFNO2dCQW1GSCxXQUFXO3NCQURkLFdBQVc7dUJBQUMsbUJBQW1CO2dCQU01QixPQUFPO3NCQURWLFdBQVc7dUJBQUMsT0FBTzs7QUFzQnRCLFdBQWlCLGFBQWE7SUFDZixzQkFBUSxHQUFHLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFVLENBQUM7SUFHL0Qsc0JBQVEsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFVLENBQUM7SUFHcEMsbUJBQUssR0FBRztRQUNuQixTQUFTO1FBQ1QsUUFBUTtRQUNSLFNBQVM7UUFDVCxTQUFTO1FBQ1QsUUFBUTtRQUNSLFVBQVU7S0FDRixDQUFDO0lBR0UsMEJBQVksR0FBRyxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQVUsQ0FBQztJQUdoRSxnRUFBZ0U7SUFDbkQsc0JBQVEsR0FBRztRQUN0QixNQUFNO1FBQ04sT0FBTztRQUNQLFFBQVE7UUFDUixPQUFPO1FBQ1AsUUFBUTtRQUNSLFNBQVM7S0FDRCxDQUFDO0lBR0UsbUJBQUssR0FBRyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBVSxDQUFDO0lBR3hELG9CQUFNLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFVLENBQUM7SUFHNUQsU0FBZ0IsaUJBQWlCLENBQUMsRUFDaEMsU0FBUyxFQUNULE9BQU8sR0FDc0M7UUFDN0MsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPLE1BQU0sQ0FBQztRQUM5QixPQUFPLE9BQU8sS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQzVDLENBQUM7SUFOZSwrQkFBaUIsb0JBTWhDLENBQUE7QUFDSCxDQUFDLEVBNUNnQixhQUFhLEtBQWIsYUFBYSxRQTRDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuXG4vKipcbiAqIFN1cmZhY2UgY29udGFpbmVyIHRoYXQgZ3JvdXBzIHJlbGF0ZWQgY29udGVudCBpbnRvIGEgc2luZ2xlIHNjYW5uYWJsZSB1bml0LlxuICpcbiAqIEEgY2FyZCBpcyBjb21wb3NlZCwgbm90IGNvbmZpZ3VyZWQ6IHByb2plY3QgdGhlIHBhcnRzIHlvdSBuZWVkLCBpbiB0aGUgb3JkZXJcbiAqIHlvdSBuZWVkIHRoZW0uIEV2ZXJ5IHBhcnQgaXMgb3B0aW9uYWwsIHNvIGEgYmFyZSBgcml2LWNhcmRgIGlzIGEgdmFsaWRcbiAqIHN1cmZhY2Ugb24gaXRzIG93bi5cbiAqXG4gKiAtIGByaXYtY2FyZC1tZWRpYWAg4oCUIGxlYWRpbmcgaW1hZ2Ugb3IgdmlkZW9cbiAqIC0gYHJpdi1jYXJkLWhlYWRlcmAg4oCUIGhlYWRpbmcsIHN1YmhlYWRpbmcsIGxlYWRpbmcgYWRvcm5tZW50LCBhY3Rpb25zXG4gKiAtIGByaXYtY2FyZC1jb250ZW50YCDigJQgYm9keVxuICogLSBgcml2LWNhcmQtYWN0aW9uc2Ag4oCUIHRyYWlsaW5nIGNvbnRyb2wgcm93XG4gKlxuICogYGBgaHRtbFxuICogPHJpdi1jYXJkPlxuICogICA8cml2LWNhcmQtaGVhZGVyIFtoZWFkaW5nXT1cIndvcmtib29rLm5hbWVcIiBbc3ViaGVhZGluZ109XCJwYXllck5hbWVcIj5cbiAqICAgICA8cml2LW1lbnUgYWN0aW9ucz4uLi48L3Jpdi1tZW51PlxuICogICA8L3Jpdi1jYXJkLWhlYWRlcj5cbiAqICAgPHJpdi1jYXJkLWNvbnRlbnQ+XG4gKiAgICAgTGFzdCBlZGl0OiB7eyB3b3JrYm9vay5tb2RpZmllZCB8IHJpdkRhdGUgfX1cbiAqICAgPC9yaXYtY2FyZC1jb250ZW50PlxuICogPC9yaXYtY2FyZD5cbiAqIGBgYFxuICpcbiAqICMjIE1ha2luZyB0aGUgY2FyZCBhY3RpdmF0ZVxuICpcbiAqIFNldCBgY2xpY2thYmxlYCBhbmQgaGFuZGxlIGBjYXJkQ2xpY2tgIHRvIG1ha2UgdGhlIHdob2xlIHN1cmZhY2UgYWN0IG9uIGFcbiAqIGNsaWNrOlxuICpcbiAqIGBgYGh0bWxcbiAqIDxyaXYtY2FyZCBbY2xpY2thYmxlXT1cInRydWVcIiAoY2FyZENsaWNrKT1cImdvVG9Xb3JrYm9vaygpXCI+XG4gKiBgYGBcbiAqXG4gKiBUaGUgY2FyZCByZW5kZXJzIGl0cyBvd24gZnVsbC1zdXJmYWNlIGJ1dHRvbiBmb3IgdGhpcywgc28gYWN0aXZhdGlvbiB3b3Jrc1xuICogd2l0aCBhIHBvaW50ZXIsIHdpdGggRW50ZXIsIGFuZCB3aXRoIFNwYWNlLCBhbmQgdGhlIGZvY3VzIHJpbmcgdHJhY2VzIHRoZVxuICogd2hvbGUgY2FyZC4gQ29udHJvbHMgaW4gYHJpdi1jYXJkLWhlYWRlcmAncyBgW2FjdGlvbnNdYCBzbG90IGFuZCBpblxuICogYHJpdi1jYXJkLWFjdGlvbnNgIHNpdCBhYm92ZSBpdCBhbmQgc3RheSBpbmRlcGVuZGVudGx5IGNsaWNrYWJsZSDigJQgYSBtZW51XG4gKiBpbnNpZGUgYSBjbGlja2FibGUgY2FyZCBuZWVkcyBubyBgc3RvcFByb3BhZ2F0aW9uYC4gT3RoZXIgaW50ZXJhY3RpdmUgY29udGVudFxuICogcHJvamVjdGVkIGludG8gdGhlIGNhcmQgbXVzdCByYWlzZSBpdHNlbGYgd2l0aCBgcG9zaXRpb246IHJlbGF0aXZlYCBhbmRcbiAqIGB6LWluZGV4OiB2YXIoLS1jYXJkLXJhaXNlZC16LWluZGV4KWAuXG4gKlxuICogV2hlbiB0aGUgY2FyZCdzIGFjdGlvbiBpcyByZWFsbHkgYSBuYXZpZ2F0aW9uLCBwcmVmZXIgYFtyaXYtY2FyZC1saW5rXWAgb24gYW5cbiAqIGA8YT5gIGluc3RlYWQ6IHRoYXQga2VlcHMgdGhlIFVSTCwgbWlkZGxlLWNsaWNrLCBhbmQgXCJvcGVuIGluIG5ldyB0YWJcIi5cbiAqXG4gKiAjIyBTZWxlY3Rpb25cbiAqXG4gKiBTZXQgYHNlbGVjdGVkYCB0byBtYXJrIHRoZSBjYXJkIHRoZSB1c2VyIGlzIGN1cnJlbnRseSBsb29raW5nIGF0LiBJdCBnaXZlc1xuICogdGhlIHN1cmZhY2UgYSBkaXN0aW5jdCBib3JkZXIgYW5kIHNoYWRvdywgYW5kIGFubm91bmNlcyB0aHJvdWdoXG4gKiBgYXJpYS1jdXJyZW50YCBzbyB0aGUgc3RhdGUgaXMgbm90IGNvbnZleWVkIGJ5IGNvbG91ciBhbG9uZS5cbiAqXG4gKiBgYGBodG1sXG4gKiA8cml2LWNhcmQgW3NlbGVjdGVkXT1cIndvcmtib29rLmlkID09PSBhY3RpdmVJZFwiPlxuICogYGBgXG4gKlxuICogU2VsZWN0aW9uIGlzIHNlcGFyYXRlIGZyb20gYHRvbmVgLCBzbyBpdCBjb21wb3NlcyB3aXRoIGFueSB0aW50IOKAlCBhIHNlbGVjdGVkXG4gKiBgZGFuZ2VyYCBjYXJkIGtlZXBzIGl0cyBkYW5nZXIgYmFja2dyb3VuZC5cbiAqXG4gKiAjIyBNYWtpbmcgdGhlIGNhcmQgZXhwYW5kIGFuZCBjb2xsYXBzZVxuICpcbiAqIFNldCBgZXhwYW5kYWJsZWAgb24gYHJpdi1jYXJkLWhlYWRlcmAgYW5kIHJlbmRlciB0aGUgYm9keSBvbmx5IHdoaWxlIGl0IGlzXG4gKiBvcGVuLiBUaGUgaGVhZGVyIG93bnMgdGhlIHRvZ2dsZSBhZmZvcmRhbmNlIGFuZCBpdHMgYWNjZXNzaWJpbGl0eTsgdGhlXG4gKiBjb25zdW1lciBvd25zIHRoZSBzdGF0ZTpcbiAqXG4gKiBgYGBodG1sXG4gKiA8cml2LWNhcmQ+XG4gKiAgIDxyaXYtY2FyZC1oZWFkZXJcbiAqICAgICBbaGVhZGluZ109XCInUGF0aWVudCBpbmZvJ1wiXG4gKiAgICAgW2V4cGFuZGFibGVdPVwidHJ1ZVwiXG4gKiAgICAgWyhleHBhbmRlZCldPVwib3BlblwiXG4gKiAgID48L3Jpdi1jYXJkLWhlYWRlcj5cbiAqICAgPHJpdi1jYXJkLWNvbnRlbnQgKm5nSWY9XCJvcGVuXCI+Li4uPC9yaXYtY2FyZC1jb250ZW50PlxuICogPC9yaXYtY2FyZD5cbiAqIGBgYFxuICpcbiAqIFRoZSBjYXJkIHJlbGF5cyB0aGUgcmVnaW9uIGlkIGZyb20gdGhlIGhlYWRlciB0byB0aGUgY29udGVudCwgc28gdGhlIHRvZ2dsZSdzXG4gKiBgYXJpYS1jb250cm9sc2AgbmFtZXMgdGhlIGJvZHkgd2l0aCBubyBpZHMgd2lyZWQgYnkgaGFuZC5cbiAqXG4gKiBEbyBub3QgY29tYmluZSBgZXhwYW5kYWJsZWAgd2l0aCBgY2xpY2thYmxlYDogYm90aCBjbGFpbSB0aGUgc2FtZSBjbGljaywgYW5kXG4gKiBhIGNhcmQgdGhhdCBvcGVucyBhcyB3ZWxsIGFzIGV4cGFuZHMgbGVhdmVzIHRoZSB1c2VyIG5vIHdheSB0byB0ZWxsIHdoaWNoIG9uZVxuICogdGhleSBhcmUgYWJvdXQgdG8gZ2V0LlxuICpcbiAqICMjIE5vdGVzXG4gKlxuICogV2hlbiBwcm9qZWN0aW5nIHJhdyBjb250ZW50IHdpdGggbm8gc3ViLWNvbXBvbmVudHMsIHNldCBgcGFkZGluZ2Agc28gdGhlXG4gKiBjb250ZW50IGlzIG5vdCBmbHVzaCBhZ2FpbnN0IHRoZSBib3JkZXIuXG4gKlxuICogVGhlIGNhcmQgY2xpcHMgaXRzIG93biBjb250ZW50IHNvIG1lZGlhIGFuZCBmaWxsZWQgaGVhZGVyL2FjdGlvbiByb3dzIGZvbGxvd1xuICogaXRzIGNvcm5lcnMuIFBvcHVwcyAoYHJpdi1tZW51YCwgYHJpdlRvb2x0aXBgKSByZW5kZXIgdGhyb3VnaCB0aGUgb3ZlcmxheVxuICogb3V0bGV0LCBzbyB0aGV5IGFyZSBub3QgYWZmZWN0ZWQgYnkgdGhhdCBjbGlwcGluZy5cbiAqXG4gKiBTZXQgdGhlIGNvcm5lciByYWRpdXMgd2l0aCBgcmFkaXVzYC4gVGhlIGAtLWNhcmQtYm9yZGVyLXJhZGl1c2AgY3VzdG9tXG4gKiBwcm9wZXJ0eSBzdGlsbCBvdmVycmlkZXMgaXQsIGZvciByYWRpaSBvZmYgdGhlIHRva2VuIHNjYWxlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyaXYtY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FyZC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7fVxuXG4gIC8qKiBCb3JkZXIgYW5kIHNoYWRvdyB0cmVhdG1lbnQgb2YgdGhlIHN1cmZhY2UuICovXG4gIEBJbnB1dCgpXG4gIHZhcmlhbnQ6IENhcmRDb21wb25lbnQuVmFyaWFudCA9ICdvdXRsaW5lZCc7XG5cbiAgLyoqIE5ldXRyYWwgYmFja2dyb3VuZCBlbGV2YXRpb24sIG1hdGNoaW5nIHRoZSBgLS1zdXJmYWNlLWxpZ2h0LSpgIHRva2Vucy4gKi9cbiAgQElucHV0KClcbiAgc3VyZmFjZTogQ2FyZENvbXBvbmVudC5TdXJmYWNlID0gJzAnO1xuXG4gIC8qKiBTZW1hbnRpYyBiYWNrZ3JvdW5kIHRpbnQuIE92ZXJyaWRlcyBgc3VyZmFjZWAgd2hlbiBub3QgYG5ldXRyYWxgLiAqL1xuICBASW5wdXQoKVxuICB0b25lOiBDYXJkQ29tcG9uZW50LlRvbmUgPSAnbmV1dHJhbCc7XG5cbiAgLyoqIFN0YWNraW5nIGRpcmVjdGlvbiBvZiB0aGUgcHJvamVjdGVkIHBhcnRzLiAqL1xuICBASW5wdXQoKVxuICBvcmllbnRhdGlvbjogQ2FyZENvbXBvbmVudC5PcmllbnRhdGlvbiA9ICd2ZXJ0aWNhbCc7XG5cbiAgLyoqXG4gICAqIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgY2FyZCBpdHNlbGYuIExlYXZlIGFzIGBub25lYCB3aGVuIGNvbXBvc2luZyB3aXRoXG4gICAqIGByaXYtY2FyZC1oZWFkZXJgIC8gYHJpdi1jYXJkLWNvbnRlbnRgIC8gYHJpdi1jYXJkLWFjdGlvbnNgLCB3aGljaCBvd25cbiAgICogdGhlaXIgb3duIHBhZGRpbmcuXG4gICAqL1xuICBASW5wdXQoKVxuICBwYWRkaW5nOiBDYXJkQ29tcG9uZW50LlBhZGRpbmcgPSAnbm9uZSc7XG5cbiAgLyoqIENvcm5lciByYWRpdXMsIG1hdGNoaW5nIHRoZSBgLS1ib3JkZXItcmFkaXVzLSpgIHRva2Vucy4gKi9cbiAgQElucHV0KClcbiAgcmFkaXVzOiBDYXJkQ29tcG9uZW50LlJhZGl1cyA9ICdtZWRpdW0nO1xuXG4gIC8qKlxuICAgKiBTaGFkb3cgcmFpc2VkIG9uIGhvdmVyLCBtYXRjaGluZyB0aGUgYC0tZGVwdGgtKmAgdG9rZW5zLiBEZWZhdWx0cyB0byBgMWBcbiAgICogZm9yIGEgY2xpY2thYmxlIGNhcmQsIGAyYCBmb3IgYSBjbGlja2FibGUgZWxldmF0ZWQgY2FyZCwgYW5kIGBub25lYFxuICAgKiBvdGhlcndpc2UuIEEgaG92ZXIgc2hhZG93IHJlYWRzIGFzIGNsaWNrYWJsZSwgc28gc2V0IGl0IG9uIGEgY2FyZCB0aGF0XG4gICAqIGlzIG5vdCBgY2xpY2thYmxlYCBvbmx5IHdoZW4gdGhlIGNhcmQncyBvd24gY29udHJvbHMgbWFrZSBpdCBpbnRlcmFjdGl2ZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGhvdmVyRGVwdGg/OiBDYXJkQ29tcG9uZW50LkRlcHRoO1xuXG4gIC8qKlxuICAgKiBNYWtlcyB0aGUgd2hvbGUgc3VyZmFjZSBhY3RpdmF0ZSwgZW1pdHRpbmcgYGNhcmRDbGlja2AuIEFkZHMgdGhlIGhvdmVyXG4gICAqIGFmZm9yZGFuY2UgYW5kIGtleWJvYXJkIHN1cHBvcnQuXG4gICAqL1xuICBASW5wdXQoKVxuICBjbGlja2FibGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQWNjZXNzaWJsZSBuYW1lIGZvciB0aGUgY2FyZCdzIGFjdGlvbi4gRGVmYXVsdHMgdG8gdGhlIGByaXYtY2FyZC1oZWFkZXJgXG4gICAqIHRpdGxlLCBmYWxsaW5nIGJhY2sgdG8gdGhlIGNhcmQncyB3aG9sZSB0ZXh0IGNvbnRlbnQgd2hlbiB0aGVyZSBpcyBub1xuICAgKiBoZWFkZXIuIFNldCB0aGlzIHdoZW4gbmVpdGhlciByZWFkcyB3ZWxsIG9uIGl0cyBvd24uXG4gICAqL1xuICBASW5wdXQoKVxuICBjbGlja0xhYmVsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBNYXJrcyB0aGUgY2FyZCBhcyB0aGUgY3VycmVudCBzZWxlY3Rpb24sIGdpdmluZyBpdCBhIGRpc3RpbmN0IGJvcmRlciBhbmRcbiAgICogc2hhZG93LiBDb21wb3NlcyB3aXRoIGFueSBgdG9uZWAsIHNvIGEgc2VsZWN0ZWQgZGFuZ2VyIGNhcmQga2VlcHMgaXRzXG4gICAqIHRpbnQuIEFubm91bmNlZCB0byBhc3Npc3RpdmUgdGVjaG5vbG9neSB0aHJvdWdoIGBhcmlhLWN1cnJlbnRgLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogTXV0ZXMgdGhlIHN1cmZhY2UsIHN1cHByZXNzZXMgaG92ZXIgZmVlZGJhY2ssIGFuZCBkaXNhYmxlcyB0aGUgY2xpY2tcbiAgICogdGFyZ2V0LiBQcmVzZW50YXRpb25hbCBmb3IgZXZlcnl0aGluZyBlbHNlIOKAlCBkaXNhYmxlIHRoZSBjYXJkJ3Mgb3duXG4gICAqIGNvbnRyb2xzIHRvby5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIEVtaXR0ZWQgd2hlbiBhIGNsaWNrYWJsZSBjYXJkIGlzIGFjdGl2YXRlZCBieSBwb2ludGVyIG9yIGtleWJvYXJkLiAqL1xuICBAT3V0cHV0KClcbiAgY2FyZENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuXG4gIC8qKlxuICAgKiBOYW1lcyB0aGUgY2xpY2sgdGFyZ2V0IGZyb20gdGhlIGNhcmQncyBjb250ZW50LiBHZW5lcmF0ZWQgb25seSB3aGVuIHRoZVxuICAgKiBjb25zdW1lciBoYXMgbm90IHNldCB0aGVpciBvd24gaWQuXG4gICAqL1xuICBwcml2YXRlIGNhcmRJZDogc3RyaW5nID0gJyc7XG5cbiAgLyoqIFNldCBieSBhIHByb2plY3RlZCBgcml2LWNhcmQtaGVhZGVyYCB0aGF0IGhhcyBhIHRpdGxlIHRvIG5hbWUgYWdhaW5zdC4gKi9cbiAgcHJpdmF0ZSB0aXRsZUlkPzogc3RyaW5nO1xuXG4gIC8qKiBTZXQgYnkgYSBwcm9qZWN0ZWQgYHJpdi1jYXJkLWhlYWRlcmAgdGhhdCBpcyBleHBhbmRhYmxlLiAqL1xuICBwcml2YXRlIGV4cGFuZFJlZ2lvbklkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZCBhbiBleHBhbmRhYmxlIGhlYWRlcidzIHRvZ2dsZSBwb2ludHMgYGFyaWEtY29udHJvbHNgIGF0LCB3b3JuIGJ5IGFcbiAgICogcHJvamVjdGVkIGByaXYtY2FyZC1jb250ZW50YC5cbiAgICovXG4gIGdldCByZWdpb25JZCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmV4cGFuZFJlZ2lvbklkO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jYXJkSWQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuaWQgfHwgdW5pcXVlSWQoJ3Jpdi1jYXJkLScpO1xuICAgIGlmICghdGhpcy5lbC5uYXRpdmVFbGVtZW50LmlkKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdpZCcsIHRoaXMuY2FyZElkKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIHRoZSBoZWFkZXIncyB0aXRsZSBhcyB0aGUgY2xpY2sgdGFyZ2V0J3MgYWNjZXNzaWJsZSBuYW1lLCB3aGljaFxuICAgKiBrZWVwcyB0aGUgYW5ub3VuY2VtZW50IHRvIHRoZSBjYXJkJ3Mgc3ViamVjdCBpbnN0ZWFkIG9mIGV2ZXJ5IHdvcmQgb24gdGhlXG4gICAqIHN1cmZhY2UuIENhbGxlZCBieSBgcml2LWNhcmQtaGVhZGVyYDsgbm90IHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkuXG4gICAqL1xuICBzZXRUaXRsZUlkKGlkOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLnRpdGxlSWQgPSBpZDtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHaXZlcyB1cCBhIHRpdGxlIHJlZ2lzdGVyZWQgYnkgYHNldFRpdGxlSWRgLCBzbyBhIGhlYWRlciB0aGF0IGlzIHJlbW92ZWRcbiAgICogZG9lcyBub3QgbGVhdmUgdGhlIGNsaWNrIHRhcmdldCBuYW1pbmcgaXRzZWxmIGFnYWluc3QgYSBkZXRhY2hlZCBlbGVtZW50LlxuICAgKiBJZ25vcmVzIGlkcyB0aGF0IGFyZSBubyBsb25nZXIgdGhlIG9uZSBpbiB1c2UuXG4gICAqL1xuICBjbGVhclRpdGxlSWQoaWQ6IHN0cmluZykge1xuICAgIGlmICh0aGlzLnRpdGxlSWQgPT09IGlkKSB7XG4gICAgICB0aGlzLnNldFRpdGxlSWQodW5kZWZpbmVkKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVsYXlzIHRoZSByZWdpb24gYW4gZXhwYW5kYWJsZSBoZWFkZXIgY29udHJvbHMgdG8gdGhlIHByb2plY3RlZFxuICAgKiBgcml2LWNhcmQtY29udGVudGAsIHNvIG5laXRoZXIgc2lkZSBuZWVkcyB0aGUgY29uc3VtZXIgdG8gd2lyZSBhbiBpZC5cbiAgICogQ2FsbGVkIGJ5IGByaXYtY2FyZC1oZWFkZXJgOyBub3QgcGFydCBvZiB0aGUgcHVibGljIEFQSS5cbiAgICovXG4gIHNldFJlZ2lvbklkKGlkOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLmV4cGFuZFJlZ2lvbklkID0gaWQ7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogR2l2ZXMgdXAgYSByZWdpb24gcmVnaXN0ZXJlZCBieSBgc2V0UmVnaW9uSWRgLiBJZ25vcmVzIGlkcyB0aGF0IGFyZSBub1xuICAgKiBsb25nZXIgdGhlIG9uZSBpbiB1c2UuXG4gICAqL1xuICBjbGVhclJlZ2lvbklkKGlkOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5leHBhbmRSZWdpb25JZCA9PT0gaWQpIHtcbiAgICAgIHRoaXMuc2V0UmVnaW9uSWQodW5kZWZpbmVkKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRWxlbWVudCB3aG9zZSB0ZXh0IG5hbWVzIHRoZSBjbGljayB0YXJnZXQsIHVubGVzcyBgY2xpY2tMYWJlbGAgaXMgc2V0LiBUaGVcbiAgICogaG9zdCBpZCBpcyByZWFkIGZyb20gdGhlIERPTSByYXRoZXIgdGhhbiBjYWNoZWQsIHNvIGEgYm91bmQgYFtpZF1gIHRoYXRcbiAgICogY2hhbmdlcyBpcyBwaWNrZWQgdXAgb24gdGhlIGNhcmQncyBuZXh0IGNoYW5nZSBkZXRlY3Rpb24uXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IGxhYmVsbGVkQnkoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMuY2xpY2tMYWJlbCkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHRoaXMudGl0bGVJZCA/PyAodGhpcy5lbC5uYXRpdmVFbGVtZW50LmlkIHx8IHRoaXMuY2FyZElkKTtcbiAgfVxuXG4gIC8qKiBBbm5vdW5jZXMgdGhlIGN1cnJlbnQgc2VsZWN0aW9uIHRvIGFzc2lzdGl2ZSB0ZWNobm9sb2d5LiAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1jdXJyZW50JylcbiAgZ2V0IGFyaWFDdXJyZW50KCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkID8gJ3RydWUnIDogbnVsbDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgY2xhc3NlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyh7XG4gICAgICBbdGhpcy52YXJpYW50XTogdHJ1ZSxcbiAgICAgIFtgc3VyZmFjZS0ke3RoaXMuc3VyZmFjZX1gXTogdHJ1ZSxcbiAgICAgIFtgdG9uZS0ke3RoaXMudG9uZX1gXTogdHJ1ZSxcbiAgICAgIFt0aGlzLm9yaWVudGF0aW9uXTogdHJ1ZSxcbiAgICAgIFtgcGFkZGluZy0ke3RoaXMucGFkZGluZ31gXTogdHJ1ZSxcbiAgICAgIFtgcmFkaXVzLSR7dGhpcy5yYWRpdXN9YF06IHRydWUsXG4gICAgICBbYGhvdmVyLWRlcHRoLSR7XG4gICAgICAgIHRoaXMuaG92ZXJEZXB0aCA/PyBDYXJkQ29tcG9uZW50LmRlZmF1bHRIb3ZlckRlcHRoKHRoaXMpXG4gICAgICB9YF06IHRydWUsXG4gICAgICBjbGlja2FibGU6IHRoaXMuY2xpY2thYmxlLFxuICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQsXG4gICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCxcbiAgICB9KVxuICAgICAgLmZpbHRlcigoW18sIHZdKSA9PiB2KVxuICAgICAgLm1hcCgoW2tdKSA9PiBrKVxuICAgICAgLmpvaW4oJyAnKTtcbiAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIENhcmRDb21wb25lbnQge1xuICBleHBvcnQgY29uc3QgVmFyaWFudHMgPSBbJ291dGxpbmVkJywgJ2VsZXZhdGVkJywgJ2ZsYXQnLCAnZGFzaGVkJ10gYXMgY29uc3Q7XG4gIGV4cG9ydCB0eXBlIFZhcmlhbnQgPSAodHlwZW9mIFZhcmlhbnRzKVtudW1iZXJdO1xuXG4gIGV4cG9ydCBjb25zdCBTdXJmYWNlcyA9IFsnMCcsICcxJywgJzInXSBhcyBjb25zdDtcbiAgZXhwb3J0IHR5cGUgU3VyZmFjZSA9ICh0eXBlb2YgU3VyZmFjZXMpW251bWJlcl07XG5cbiAgZXhwb3J0IGNvbnN0IFRvbmVzID0gW1xuICAgICduZXV0cmFsJyxcbiAgICAnZGFuZ2VyJyxcbiAgICAnY2F1dGlvbicsXG4gICAgJ3dhcm5pbmcnLFxuICAgICdzYWZldHknLFxuICAgICdzZWxlY3RlZCcsXG4gIF0gYXMgY29uc3Q7XG4gIGV4cG9ydCB0eXBlIFRvbmUgPSAodHlwZW9mIFRvbmVzKVtudW1iZXJdO1xuXG4gIGV4cG9ydCBjb25zdCBPcmllbnRhdGlvbnMgPSBbJ3ZlcnRpY2FsJywgJ2hvcml6b250YWwnXSBhcyBjb25zdDtcbiAgZXhwb3J0IHR5cGUgT3JpZW50YXRpb24gPSAodHlwZW9mIE9yaWVudGF0aW9ucylbbnVtYmVyXTtcblxuICAvKiogU2hhcmVkIHBhZGRpbmcgc2NhbGUgZm9yIHRoZSBjYXJkIGFuZCBpdHMgc3ViLWNvbXBvbmVudHMuICovXG4gIGV4cG9ydCBjb25zdCBQYWRkaW5ncyA9IFtcbiAgICAnbm9uZScsXG4gICAgJ3NtYWxsJyxcbiAgICAnbWVkaXVtJyxcbiAgICAnbGFyZ2UnLFxuICAgICd4bGFyZ2UnLFxuICAgICd4eGxhcmdlJyxcbiAgXSBhcyBjb25zdDtcbiAgZXhwb3J0IHR5cGUgUGFkZGluZyA9ICh0eXBlb2YgUGFkZGluZ3MpW251bWJlcl07XG5cbiAgZXhwb3J0IGNvbnN0IFJhZGlpID0gWydzbWFsbCcsICdtZWRpdW0nLCAnbGFyZ2UnLCAneGxhcmdlJ10gYXMgY29uc3Q7XG4gIGV4cG9ydCB0eXBlIFJhZGl1cyA9ICh0eXBlb2YgUmFkaWkpW251bWJlcl07XG5cbiAgZXhwb3J0IGNvbnN0IERlcHRocyA9IFsnbm9uZScsICcxJywgJzInLCAnMycsICc0J10gYXMgY29uc3Q7XG4gIGV4cG9ydCB0eXBlIERlcHRoID0gKHR5cGVvZiBEZXB0aHMpW251bWJlcl07XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRIb3ZlckRlcHRoKHtcbiAgICBjbGlja2FibGUsXG4gICAgdmFyaWFudCxcbiAgfTogUGljazxDYXJkQ29tcG9uZW50LCAnY2xpY2thYmxlJyB8ICd2YXJpYW50Jz4pOiBEZXB0aCB7XG4gICAgaWYgKCFjbGlja2FibGUpIHJldHVybiAnbm9uZSc7XG4gICAgcmV0dXJuIHZhcmlhbnQgPT09ICdlbGV2YXRlZCcgPyAnMicgOiAnMSc7XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgKm5nSWY9XCJjbGlja2FibGVcIlxuICB0eXBlPVwiYnV0dG9uXCJcbiAgY2xhc3M9XCJjbGljay10YXJnZXRcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkID8gJ3RydWUnIDogbnVsbFwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiY2xpY2tMYWJlbFwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJsYWJlbGxlZEJ5XCJcbiAgKGNsaWNrKT1cImNhcmRDbGljay5lbWl0KCRldmVudClcIlxuPjwvYnV0dG9uPlxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
|
|
@@ -5718,8 +5718,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5718
5718
|
* its corners. Popups (`riv-menu`, `rivTooltip`) render through the overlay
|
|
5719
5719
|
* outlet, so they are not affected by that clipping.
|
|
5720
5720
|
*
|
|
5721
|
-
*
|
|
5722
|
-
*
|
|
5721
|
+
* Set the corner radius with `radius`. The `--card-border-radius` custom
|
|
5722
|
+
* property still overrides it, for radii off the token scale.
|
|
5723
5723
|
*/
|
|
5724
5724
|
class CardComponent {
|
|
5725
5725
|
constructor(el, renderer, cdr) {
|
|
@@ -5740,6 +5740,8 @@ class CardComponent {
|
|
|
5740
5740
|
* their own padding.
|
|
5741
5741
|
*/
|
|
5742
5742
|
this.padding = 'none';
|
|
5743
|
+
/** Corner radius, matching the `--border-radius-*` tokens. */
|
|
5744
|
+
this.radius = 'medium';
|
|
5743
5745
|
/**
|
|
5744
5746
|
* Makes the whole surface activate, emitting `cardClick`. Adds the hover
|
|
5745
5747
|
* affordance and keyboard support.
|
|
@@ -5831,12 +5833,15 @@ class CardComponent {
|
|
|
5831
5833
|
return this.selected ? 'true' : null;
|
|
5832
5834
|
}
|
|
5833
5835
|
get classes() {
|
|
5836
|
+
var _a;
|
|
5834
5837
|
return Object.entries({
|
|
5835
5838
|
[this.variant]: true,
|
|
5836
5839
|
[`surface-${this.surface}`]: true,
|
|
5837
5840
|
[`tone-${this.tone}`]: true,
|
|
5838
5841
|
[this.orientation]: true,
|
|
5839
5842
|
[`padding-${this.padding}`]: true,
|
|
5843
|
+
[`radius-${this.radius}`]: true,
|
|
5844
|
+
[`hover-depth-${(_a = this.hoverDepth) !== null && _a !== void 0 ? _a : CardComponent.defaultHoverDepth(this)}`]: true,
|
|
5840
5845
|
clickable: this.clickable,
|
|
5841
5846
|
selected: this.selected,
|
|
5842
5847
|
disabled: this.disabled,
|
|
@@ -5847,10 +5852,10 @@ class CardComponent {
|
|
|
5847
5852
|
}
|
|
5848
5853
|
}
|
|
5849
5854
|
CardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CardComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
5850
|
-
CardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CardComponent, selector: "riv-card", inputs: { variant: "variant", surface: "surface", tone: "tone", orientation: "orientation", padding: "padding", clickable: "clickable", clickLabel: "clickLabel", selected: "selected", disabled: "disabled" }, outputs: { cardClick: "cardClick" }, host: { properties: { "attr.aria-current": "this.ariaCurrent", "class": "this.classes" } }, ngImport: i0, template: "<button\n *ngIf=\"clickable\"\n type=\"button\"\n class=\"click-target\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n [attr.aria-label]=\"clickLabel\"\n [attr.aria-labelledby]=\"labelledBy\"\n (click)=\"cardClick.emit($event)\"\n></button>\n<ng-content></ng-content>\n", styles: [":host{position:relative;display:flex;min-width:0;overflow:hidden;
|
|
5855
|
+
CardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CardComponent, selector: "riv-card", inputs: { variant: "variant", surface: "surface", tone: "tone", orientation: "orientation", padding: "padding", radius: "radius", hoverDepth: "hoverDepth", clickable: "clickable", clickLabel: "clickLabel", selected: "selected", disabled: "disabled" }, outputs: { cardClick: "cardClick" }, host: { properties: { "attr.aria-current": "this.ariaCurrent", "class": "this.classes" } }, ngImport: i0, template: "<button\n *ngIf=\"clickable\"\n type=\"button\"\n class=\"click-target\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n [attr.aria-label]=\"clickLabel\"\n [attr.aria-labelledby]=\"labelledBy\"\n (click)=\"cardClick.emit($event)\"\n></button>\n<ng-content></ng-content>\n", styles: [":host{position:relative;display:flex;min-width:0;overflow:hidden;color:var(--type-light-high-contrast);font:var(--body-medium)}:host.vertical{flex-direction:column}:host.horizontal{flex-direction:row}:host.outlined{border:var(--border-width) solid var(--border-light)}:host.dashed{border:var(--border-width) dashed var(--border-light)}:host.elevated{box-shadow:var(--depth-1)}:host.surface-0{background-color:var(--surface-light-0)}:host.surface-1{background-color:var(--surface-light-1)}:host.surface-2{background-color:var(--surface-light-2)}:host.tone-danger{background-color:var(--surface-light-danger)}:host.tone-caution{background-color:var(--surface-light-caution)}:host.tone-warning{background-color:var(--surface-light-warning)}:host.tone-safety{background-color:var(--surface-light-safety)}:host.tone-selected{background-color:var(--surface-light-selected)}:host.padding-small{padding:var(--size-small)}:host.padding-medium{padding:var(--size-medium)}:host.padding-large{padding:var(--size-large)}:host.padding-xxlarge{padding:var(--size-xxlarge)}:host.radius-small{border-radius:var(--card-border-radius, var(--border-radius-small))}:host.radius-medium{border-radius:var(--card-border-radius, var(--border-radius-medium))}:host.radius-large{border-radius:var(--card-border-radius, var(--border-radius-large))}:host.radius-xlarge{border-radius:var(--card-border-radius, var(--border-radius-xlarge))}:host:not(.hover-depth-none){transition:box-shadow var(--short-transition)}:host.padding-xlarge{padding:var(--size-xlarge)}:host.clickable{transition:box-shadow var(--short-transition)}:host.hover-depth-1:not(.disabled):hover{box-shadow:var(--depth-1)}:host.hover-depth-2:not(.disabled):hover{box-shadow:var(--depth-2)}:host.hover-depth-3:not(.disabled):hover{box-shadow:var(--depth-3)}:host.hover-depth-4:not(.disabled):hover{box-shadow:var(--depth-4)}.click-target{position:absolute;inset:0;z-index:var(--card-click-target-z-index);padding:0;border:none;background:none;cursor:pointer;transition:background-color var(--short-transition)}.click-target:not(:disabled):hover{background-color:var(--black-20)}.click-target:disabled{cursor:default}.click-target:focus-visible{outline:var(--border-width-large) solid var(--type-light-link);outline-offset:calc(-1 * var(--border-width-large))}:host.selected{border:var(--border-width) solid var(--baloo-50);box-shadow:var(--depth-2)}:host.disabled{background-color:var(--surface-light-1)}:host.outlined.disabled,:host.dashed.disabled{border-color:var(--border-light)}@media print{:host{break-inside:avoid}}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5851
5856
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CardComponent, decorators: [{
|
|
5852
5857
|
type: Component,
|
|
5853
|
-
args: [{ selector: 'riv-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n *ngIf=\"clickable\"\n type=\"button\"\n class=\"click-target\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n [attr.aria-label]=\"clickLabel\"\n [attr.aria-labelledby]=\"labelledBy\"\n (click)=\"cardClick.emit($event)\"\n></button>\n<ng-content></ng-content>\n", styles: [":host{position:relative;display:flex;min-width:0;overflow:hidden;
|
|
5858
|
+
args: [{ selector: 'riv-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n *ngIf=\"clickable\"\n type=\"button\"\n class=\"click-target\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n [attr.aria-label]=\"clickLabel\"\n [attr.aria-labelledby]=\"labelledBy\"\n (click)=\"cardClick.emit($event)\"\n></button>\n<ng-content></ng-content>\n", styles: [":host{position:relative;display:flex;min-width:0;overflow:hidden;color:var(--type-light-high-contrast);font:var(--body-medium)}:host.vertical{flex-direction:column}:host.horizontal{flex-direction:row}:host.outlined{border:var(--border-width) solid var(--border-light)}:host.dashed{border:var(--border-width) dashed var(--border-light)}:host.elevated{box-shadow:var(--depth-1)}:host.surface-0{background-color:var(--surface-light-0)}:host.surface-1{background-color:var(--surface-light-1)}:host.surface-2{background-color:var(--surface-light-2)}:host.tone-danger{background-color:var(--surface-light-danger)}:host.tone-caution{background-color:var(--surface-light-caution)}:host.tone-warning{background-color:var(--surface-light-warning)}:host.tone-safety{background-color:var(--surface-light-safety)}:host.tone-selected{background-color:var(--surface-light-selected)}:host.padding-small{padding:var(--size-small)}:host.padding-medium{padding:var(--size-medium)}:host.padding-large{padding:var(--size-large)}:host.padding-xxlarge{padding:var(--size-xxlarge)}:host.radius-small{border-radius:var(--card-border-radius, var(--border-radius-small))}:host.radius-medium{border-radius:var(--card-border-radius, var(--border-radius-medium))}:host.radius-large{border-radius:var(--card-border-radius, var(--border-radius-large))}:host.radius-xlarge{border-radius:var(--card-border-radius, var(--border-radius-xlarge))}:host:not(.hover-depth-none){transition:box-shadow var(--short-transition)}:host.padding-xlarge{padding:var(--size-xlarge)}:host.clickable{transition:box-shadow var(--short-transition)}:host.hover-depth-1:not(.disabled):hover{box-shadow:var(--depth-1)}:host.hover-depth-2:not(.disabled):hover{box-shadow:var(--depth-2)}:host.hover-depth-3:not(.disabled):hover{box-shadow:var(--depth-3)}:host.hover-depth-4:not(.disabled):hover{box-shadow:var(--depth-4)}.click-target{position:absolute;inset:0;z-index:var(--card-click-target-z-index);padding:0;border:none;background:none;cursor:pointer;transition:background-color var(--short-transition)}.click-target:not(:disabled):hover{background-color:var(--black-20)}.click-target:disabled{cursor:default}.click-target:focus-visible{outline:var(--border-width-large) solid var(--type-light-link);outline-offset:calc(-1 * var(--border-width-large))}:host.selected{border:var(--border-width) solid var(--baloo-50);box-shadow:var(--depth-2)}:host.disabled{background-color:var(--surface-light-1)}:host.outlined.disabled,:host.dashed.disabled{border-color:var(--border-light)}@media print{:host{break-inside:avoid}}\n"] }]
|
|
5854
5859
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { variant: [{
|
|
5855
5860
|
type: Input
|
|
5856
5861
|
}], surface: [{
|
|
@@ -5861,6 +5866,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5861
5866
|
type: Input
|
|
5862
5867
|
}], padding: [{
|
|
5863
5868
|
type: Input
|
|
5869
|
+
}], radius: [{
|
|
5870
|
+
type: Input
|
|
5871
|
+
}], hoverDepth: [{
|
|
5872
|
+
type: Input
|
|
5864
5873
|
}], clickable: [{
|
|
5865
5874
|
type: Input
|
|
5866
5875
|
}], clickLabel: [{
|
|
@@ -5899,6 +5908,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5899
5908
|
'xlarge',
|
|
5900
5909
|
'xxlarge',
|
|
5901
5910
|
];
|
|
5911
|
+
CardComponent.Radii = ['small', 'medium', 'large', 'xlarge'];
|
|
5912
|
+
CardComponent.Depths = ['none', '1', '2', '3', '4'];
|
|
5913
|
+
function defaultHoverDepth({ clickable, variant, }) {
|
|
5914
|
+
if (!clickable)
|
|
5915
|
+
return 'none';
|
|
5916
|
+
return variant === 'elevated' ? '2' : '1';
|
|
5917
|
+
}
|
|
5918
|
+
CardComponent.defaultHoverDepth = defaultHoverDepth;
|
|
5902
5919
|
})(CardComponent || (CardComponent = {}));
|
|
5903
5920
|
|
|
5904
5921
|
/**
|