@rivet-health/design-system 2.12.0 → 2.14.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.
@@ -0,0 +1,94 @@
1
+ import { Component, HostBinding, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "../../icon/icon.component";
5
+ import * as i3 from "../../load/loading/loading.component";
6
+ export class ButtonComponent {
7
+ constructor() {
8
+ this.locked = false;
9
+ this.disabled = false;
10
+ this.loading = false;
11
+ this.full = false;
12
+ this.size = 'medium';
13
+ this.variant = 'basic';
14
+ this.iconPosition = 'first';
15
+ }
16
+ get classes() {
17
+ return Object.entries({
18
+ button: true,
19
+ disabled: this.disabled || this.locked,
20
+ full: this.full,
21
+ loading: this.loading,
22
+ [this.variant]: true,
23
+ [this.size]: true,
24
+ })
25
+ .filter(([_, v]) => v)
26
+ .map(([k]) => k)
27
+ .join(' ');
28
+ }
29
+ getLoadingVariant() {
30
+ switch (this.variant) {
31
+ case 'basic':
32
+ case 'caution':
33
+ case 'ghost':
34
+ return 'dark';
35
+ case 'danger':
36
+ case 'primary':
37
+ return 'light';
38
+ }
39
+ }
40
+ getIconSize() {
41
+ switch (this.size) {
42
+ case 'xsmall':
43
+ case 'small':
44
+ return 16;
45
+ case 'medium':
46
+ case 'large':
47
+ case 'xlarge':
48
+ return 24;
49
+ }
50
+ }
51
+ }
52
+ ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
53
+ ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ButtonComponent, selector: "[rivButton]", inputs: { locked: "locked", disabled: "disabled", loading: "loading", full: "full", size: "size", variant: "variant", icon: "icon", iconPosition: "iconPosition" }, host: { properties: { "class": "this.classes" } }, ngImport: i0, template: "<riv-icon\n *ngIf=\"!locked && icon && iconPosition === 'first'\"\n [name]=\"icon\"\n [size]=\"getIconSize()\"\n></riv-icon>\n<span><ng-content></ng-content></span>\n<riv-icon *ngIf=\"locked\" [name]=\"'Lock'\" [size]=\"getIconSize()\"></riv-icon>\n<riv-icon\n *ngIf=\"!locked && icon && iconPosition === 'last'\"\n [name]=\"icon\"\n [size]=\"getIconSize()\"\n></riv-icon>\n<riv-loading\n *ngIf=\"loading\"\n [size]=\"16\"\n [variant]=\"getLoadingVariant()\"\n></riv-loading>\n", styles: [":host{border-radius:var(--border-radius-small);transition:background-color var(--medium-transition);display:inline-flex;align-items:center;cursor:pointer;text-decoration:none}:host:disabled,:host.disabled{cursor:default}:host.basic{color:var(--purp-80);background-color:var(--black-10);border:var(--border-width) solid var(--border-light-blend)}:host.basic:hover{background-color:var(--black-20)}:host.basic:active{background-color:var(--black-30)}:host.basic:disabled,:host.basic.disabled{border-color:transparent;background-color:var(--black-10);color:var(--type-light-disabled)}:host.primary{color:var(--white-90);background-color:var(--purp-60);border:var(--border-width) solid var(--border-dark-blend)}:host.primary:hover{background-color:var(--purp-70)}:host.primary:active{background-color:var(--purp-80)}:host.primary:disabled,:host.primary.disabled{border-color:transparent;background-color:var(--purp-10);color:var(--type-light-disabled)}:host.ghost{color:var(--purp-80);background-color:transparent;border:var(--border-width) solid transparent}:host.ghost:hover{background-color:var(--black-20)}:host.ghost:active{background-color:var(--black-40)}:host.ghost:disabled,:host.ghost.disabled{color:var(--type-light-disabled);background-color:transparent}:host.caution{color:var(--type-light-caution);background-color:var(--surface-light-caution);border:var(--border-width) solid transparent}:host.caution:hover{background-color:var(--black-20)}:host.caution:active{background-color:var(--black-40)}:host.caution:disabled,:host.caution.disabled{border-color:transparent;background-color:var(--arnge-10);color:var(--type-light-disabled)}:host.danger{color:var(--white-90);background-color:var(--fyre-50);border:var(--border-width) solid var(--border-dark-blend)}:host.danger:hover{background-color:var(--fyre-70)}:host.danger:active{background-color:var(--fyre-90)}:host.danger:disabled,:host.danger.disabled{border-color:transparent;background-color:var(--fyre-10);color:var(--type-light-disabled)}:host.xsmall{font-size:var(--type-1-font-size);line-height:var(--type-1-line-height-0);padding:calc(var(--base-grid-size) * 1.5) calc(var(--base-grid-size) * 2)}:host.xsmall riv-icon{margin:calc(var(--base-grid-size) / -2) calc(var(--base-grid-size) * -1)}:host.xsmall riv-icon:has(+ span:not(:empty)){margin-right:var(--base-grid-size)}:host.xsmall span:not(:empty)+riv-icon{margin-left:var(--base-grid-size)}:host.small{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);padding:calc(var(--base-grid-size) * 1.5) calc(var(--base-grid-size) * 3)}:host.small riv-icon{margin:0 calc(var(--base-grid-size) * -1.5)}:host.small riv-icon:has(+ span:not(:empty)){margin-right:calc(var(--base-grid-size) * 1.5)}:host.small span:not(:empty)+riv-icon{margin-left:calc(var(--base-grid-size) * 1.5)}:host.medium{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);padding:calc(var(--base-grid-size) * 2) calc(var(--base-grid-size) * 3)}:host.medium riv-icon{margin:calc(var(--base-grid-size) * -1) calc(var(--base-grid-size) * -2)}:host.medium riv-icon:has(+ span:not(:empty)){margin-right:calc(var(--base-grid-size))}:host.medium span:not(:empty)+riv-icon{margin-left:calc(var(--base-grid-size) * 2)}:host.large{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);padding:calc(var(--base-grid-size) * 3) calc(var(--base-grid-size) * 5)}:host.large riv-icon{margin:calc(var(--base-grid-size) * -1) calc(var(--base-grid-size) * -3)}:host.large riv-icon:has(+ span:not(:empty)){margin-right:calc(var(--base-grid-size) * 3)}:host.large span:not(:empty)+riv-icon{margin-left:calc(var(--base-grid-size) * 3)}:host.xlarge{font-size:var(--type-3-font-size);line-height:var(--type-3-line-height-0);padding:calc(var(--base-grid-size) * 4) calc(var(--base-grid-size) * 6)}:host.xlarge riv-icon{margin:calc(var(--base-grid-size) * -1) calc(var(--base-grid-size) * -3)}:host.xlarge riv-icon:has(+ span:not(:empty)){margin-right:calc(var(--base-grid-size) * 3)}:host.xlarge span:not(:empty)+riv-icon{margin-left:calc(var(--base-grid-size) * 3)}:host.full{width:100%;justify-content:center}:host.loading{color:transparent;position:relative}:host.loading riv-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "riv-icon", inputs: ["name", "size", "customSize", "strokeWidth"] }, { kind: "component", type: i3.LoadingComponent, selector: "riv-loading", inputs: ["size", "variant"] }] });
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ButtonComponent, decorators: [{
55
+ type: Component,
56
+ args: [{ selector: '[rivButton]', template: "<riv-icon\n *ngIf=\"!locked && icon && iconPosition === 'first'\"\n [name]=\"icon\"\n [size]=\"getIconSize()\"\n></riv-icon>\n<span><ng-content></ng-content></span>\n<riv-icon *ngIf=\"locked\" [name]=\"'Lock'\" [size]=\"getIconSize()\"></riv-icon>\n<riv-icon\n *ngIf=\"!locked && icon && iconPosition === 'last'\"\n [name]=\"icon\"\n [size]=\"getIconSize()\"\n></riv-icon>\n<riv-loading\n *ngIf=\"loading\"\n [size]=\"16\"\n [variant]=\"getLoadingVariant()\"\n></riv-loading>\n", styles: [":host{border-radius:var(--border-radius-small);transition:background-color var(--medium-transition);display:inline-flex;align-items:center;cursor:pointer;text-decoration:none}:host:disabled,:host.disabled{cursor:default}:host.basic{color:var(--purp-80);background-color:var(--black-10);border:var(--border-width) solid var(--border-light-blend)}:host.basic:hover{background-color:var(--black-20)}:host.basic:active{background-color:var(--black-30)}:host.basic:disabled,:host.basic.disabled{border-color:transparent;background-color:var(--black-10);color:var(--type-light-disabled)}:host.primary{color:var(--white-90);background-color:var(--purp-60);border:var(--border-width) solid var(--border-dark-blend)}:host.primary:hover{background-color:var(--purp-70)}:host.primary:active{background-color:var(--purp-80)}:host.primary:disabled,:host.primary.disabled{border-color:transparent;background-color:var(--purp-10);color:var(--type-light-disabled)}:host.ghost{color:var(--purp-80);background-color:transparent;border:var(--border-width) solid transparent}:host.ghost:hover{background-color:var(--black-20)}:host.ghost:active{background-color:var(--black-40)}:host.ghost:disabled,:host.ghost.disabled{color:var(--type-light-disabled);background-color:transparent}:host.caution{color:var(--type-light-caution);background-color:var(--surface-light-caution);border:var(--border-width) solid transparent}:host.caution:hover{background-color:var(--black-20)}:host.caution:active{background-color:var(--black-40)}:host.caution:disabled,:host.caution.disabled{border-color:transparent;background-color:var(--arnge-10);color:var(--type-light-disabled)}:host.danger{color:var(--white-90);background-color:var(--fyre-50);border:var(--border-width) solid var(--border-dark-blend)}:host.danger:hover{background-color:var(--fyre-70)}:host.danger:active{background-color:var(--fyre-90)}:host.danger:disabled,:host.danger.disabled{border-color:transparent;background-color:var(--fyre-10);color:var(--type-light-disabled)}:host.xsmall{font-size:var(--type-1-font-size);line-height:var(--type-1-line-height-0);padding:calc(var(--base-grid-size) * 1.5) calc(var(--base-grid-size) * 2)}:host.xsmall riv-icon{margin:calc(var(--base-grid-size) / -2) calc(var(--base-grid-size) * -1)}:host.xsmall riv-icon:has(+ span:not(:empty)){margin-right:var(--base-grid-size)}:host.xsmall span:not(:empty)+riv-icon{margin-left:var(--base-grid-size)}:host.small{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);padding:calc(var(--base-grid-size) * 1.5) calc(var(--base-grid-size) * 3)}:host.small riv-icon{margin:0 calc(var(--base-grid-size) * -1.5)}:host.small riv-icon:has(+ span:not(:empty)){margin-right:calc(var(--base-grid-size) * 1.5)}:host.small span:not(:empty)+riv-icon{margin-left:calc(var(--base-grid-size) * 1.5)}:host.medium{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);padding:calc(var(--base-grid-size) * 2) calc(var(--base-grid-size) * 3)}:host.medium riv-icon{margin:calc(var(--base-grid-size) * -1) calc(var(--base-grid-size) * -2)}:host.medium riv-icon:has(+ span:not(:empty)){margin-right:calc(var(--base-grid-size))}:host.medium span:not(:empty)+riv-icon{margin-left:calc(var(--base-grid-size) * 2)}:host.large{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);padding:calc(var(--base-grid-size) * 3) calc(var(--base-grid-size) * 5)}:host.large riv-icon{margin:calc(var(--base-grid-size) * -1) calc(var(--base-grid-size) * -3)}:host.large riv-icon:has(+ span:not(:empty)){margin-right:calc(var(--base-grid-size) * 3)}:host.large span:not(:empty)+riv-icon{margin-left:calc(var(--base-grid-size) * 3)}:host.xlarge{font-size:var(--type-3-font-size);line-height:var(--type-3-line-height-0);padding:calc(var(--base-grid-size) * 4) calc(var(--base-grid-size) * 6)}:host.xlarge riv-icon{margin:calc(var(--base-grid-size) * -1) calc(var(--base-grid-size) * -3)}:host.xlarge riv-icon:has(+ span:not(:empty)){margin-right:calc(var(--base-grid-size) * 3)}:host.xlarge span:not(:empty)+riv-icon{margin-left:calc(var(--base-grid-size) * 3)}:host.full{width:100%;justify-content:center}:host.loading{color:transparent;position:relative}:host.loading riv-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}\n"] }]
57
+ }], propDecorators: { locked: [{
58
+ type: Input
59
+ }], disabled: [{
60
+ type: Input
61
+ }], loading: [{
62
+ type: Input
63
+ }], full: [{
64
+ type: Input
65
+ }], size: [{
66
+ type: Input
67
+ }], variant: [{
68
+ type: Input
69
+ }], icon: [{
70
+ type: Input
71
+ }], iconPosition: [{
72
+ type: Input
73
+ }], classes: [{
74
+ type: HostBinding,
75
+ args: ['class']
76
+ }] } });
77
+ (function (ButtonComponent) {
78
+ ButtonComponent.Sizes = [
79
+ 'xsmall',
80
+ 'small',
81
+ 'medium',
82
+ 'large',
83
+ 'xlarge',
84
+ ];
85
+ ButtonComponent.Variants = [
86
+ 'basic',
87
+ 'ghost',
88
+ 'primary',
89
+ 'danger',
90
+ 'caution',
91
+ ];
92
+ ButtonComponent.IconPositions = ['first', 'last'];
93
+ })(ButtonComponent || (ButtonComponent = {}));
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL2lucHV0L2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUzlELE1BQU0sT0FBTyxlQUFlO0lBTDVCO1FBT0UsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUd4QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBRzFCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFHekIsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUd0QixTQUFJLEdBQXlCLFFBQVEsQ0FBQztRQUd0QyxZQUFPLEdBQTRCLE9BQU8sQ0FBQztRQU0zQyxpQkFBWSxHQUFpQyxPQUFPLENBQUM7S0F3Q3REO0lBdENDLElBQ0ksT0FBTztRQUNULE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUNwQixNQUFNLEVBQUUsSUFBSTtZQUNaLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFNO1lBQ3RDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJO1lBQ3BCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUk7U0FDbEIsQ0FBQzthQUNDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDckIsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsQ0FBQztJQUVELGlCQUFpQjtRQUNmLFFBQVEsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNwQixLQUFLLE9BQU8sQ0FBQztZQUNiLEtBQUssU0FBUyxDQUFDO1lBQ2YsS0FBSyxPQUFPO2dCQUNWLE9BQU8sTUFBTSxDQUFDO1lBQ2hCLEtBQUssUUFBUSxDQUFDO1lBQ2QsS0FBSyxTQUFTO2dCQUNaLE9BQU8sT0FBTyxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDakIsS0FBSyxRQUFRLENBQUM7WUFDZCxLQUFLLE9BQU87Z0JBQ1YsT0FBTyxFQUFFLENBQUM7WUFDWixLQUFLLFFBQVEsQ0FBQztZQUNkLEtBQUssT0FBTyxDQUFDO1lBQ2IsS0FBSyxRQUFRO2dCQUNYLE9BQU8sRUFBRSxDQUFDO1NBQ2I7SUFDSCxDQUFDOzs0R0E5RFUsZUFBZTtnR0FBZixlQUFlLDBRQ1Q1Qix3ZUFpQkE7MkZEUmEsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxhQUFhOzhCQU12QixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlGLE9BQU87c0JBRFYsV0FBVzt1QkFBQyxPQUFPOztBQXdDdEIsV0FBaUIsZUFBZTtJQUNqQixxQkFBSyxHQUFHO1FBQ25CLFFBQVE7UUFDUixPQUFPO1FBQ1AsUUFBUTtRQUNSLE9BQU87UUFDUCxRQUFRO0tBQ0EsQ0FBQztJQUdFLHdCQUFRLEdBQUc7UUFDdEIsT0FBTztRQUNQLE9BQU87UUFDUCxTQUFTO1FBQ1QsUUFBUTtRQUNSLFNBQVM7S0FDRCxDQUFDO0lBR0UsNkJBQWEsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQVUsQ0FBQztBQUUxRCxDQUFDLEVBckJnQixlQUFlLEtBQWYsZUFBZSxRQXFCL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9hZGluZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2xvYWQvbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uTmFtZXMsIEljb25TaXplIH0gZnJvbSAnLi4vLi4vaWNvbi9pY29ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ1tyaXZCdXR0b25dJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGxvY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGZ1bGw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBzaXplOiBCdXR0b25Db21wb25lbnQuU2l6ZSA9ICdtZWRpdW0nO1xuXG4gIEBJbnB1dCgpXG4gIHZhcmlhbnQ6IEJ1dHRvbkNvbXBvbmVudC5WYXJpYW50ID0gJ2Jhc2ljJztcblxuICBASW5wdXQoKVxuICBpY29uPzogSWNvbk5hbWVzO1xuXG4gIEBJbnB1dCgpXG4gIGljb25Qb3NpdGlvbjogQnV0dG9uQ29tcG9uZW50Lkljb25Qb3NpdGlvbiA9ICdmaXJzdCc7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBjbGFzc2VzKCkge1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyh7XG4gICAgICBidXR0b246IHRydWUsXG4gICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCB8fCB0aGlzLmxvY2tlZCxcbiAgICAgIGZ1bGw6IHRoaXMuZnVsbCxcbiAgICAgIGxvYWRpbmc6IHRoaXMubG9hZGluZyxcbiAgICAgIFt0aGlzLnZhcmlhbnRdOiB0cnVlLFxuICAgICAgW3RoaXMuc2l6ZV06IHRydWUsXG4gICAgfSlcbiAgICAgIC5maWx0ZXIoKFtfLCB2XSkgPT4gdilcbiAgICAgIC5tYXAoKFtrXSkgPT4gaylcbiAgICAgIC5qb2luKCcgJyk7XG4gIH1cblxuICBnZXRMb2FkaW5nVmFyaWFudCgpOiBMb2FkaW5nQ29tcG9uZW50LlZhcmlhbnQge1xuICAgIHN3aXRjaCAodGhpcy52YXJpYW50KSB7XG4gICAgICBjYXNlICdiYXNpYyc6XG4gICAgICBjYXNlICdjYXV0aW9uJzpcbiAgICAgIGNhc2UgJ2dob3N0JzpcbiAgICAgICAgcmV0dXJuICdkYXJrJztcbiAgICAgIGNhc2UgJ2Rhbmdlcic6XG4gICAgICBjYXNlICdwcmltYXJ5JzpcbiAgICAgICAgcmV0dXJuICdsaWdodCc7XG4gICAgfVxuICB9XG5cbiAgZ2V0SWNvblNpemUoKTogSWNvblNpemUge1xuICAgIHN3aXRjaCAodGhpcy5zaXplKSB7XG4gICAgICBjYXNlICd4c21hbGwnOlxuICAgICAgY2FzZSAnc21hbGwnOlxuICAgICAgICByZXR1cm4gMTY7XG4gICAgICBjYXNlICdtZWRpdW0nOlxuICAgICAgY2FzZSAnbGFyZ2UnOlxuICAgICAgY2FzZSAneGxhcmdlJzpcbiAgICAgICAgcmV0dXJuIDI0O1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIEJ1dHRvbkNvbXBvbmVudCB7XG4gIGV4cG9ydCBjb25zdCBTaXplcyA9IFtcbiAgICAneHNtYWxsJyxcbiAgICAnc21hbGwnLFxuICAgICdtZWRpdW0nLFxuICAgICdsYXJnZScsXG4gICAgJ3hsYXJnZScsXG4gIF0gYXMgY29uc3Q7XG4gIGV4cG9ydCB0eXBlIFNpemUgPSAodHlwZW9mIFNpemVzKVtudW1iZXJdO1xuXG4gIGV4cG9ydCBjb25zdCBWYXJpYW50cyA9IFtcbiAgICAnYmFzaWMnLFxuICAgICdnaG9zdCcsXG4gICAgJ3ByaW1hcnknLFxuICAgICdkYW5nZXInLFxuICAgICdjYXV0aW9uJyxcbiAgXSBhcyBjb25zdDtcbiAgZXhwb3J0IHR5cGUgVmFyaWFudCA9ICh0eXBlb2YgVmFyaWFudHMpW251bWJlcl07XG5cbiAgZXhwb3J0IGNvbnN0IEljb25Qb3NpdGlvbnMgPSBbJ2ZpcnN0JywgJ2xhc3QnXSBhcyBjb25zdDtcbiAgZXhwb3J0IHR5cGUgSWNvblBvc2l0aW9uID0gKHR5cGVvZiBJY29uUG9zaXRpb25zKVtudW1iZXJdO1xufVxuIiwiPHJpdi1pY29uXG4gICpuZ0lmPVwiIWxvY2tlZCAmJiBpY29uICYmIGljb25Qb3NpdGlvbiA9PT0gJ2ZpcnN0J1wiXG4gIFtuYW1lXT1cImljb25cIlxuICBbc2l6ZV09XCJnZXRJY29uU2l6ZSgpXCJcbj48L3Jpdi1pY29uPlxuPHNwYW4+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pjwvc3Bhbj5cbjxyaXYtaWNvbiAqbmdJZj1cImxvY2tlZFwiIFtuYW1lXT1cIidMb2NrJ1wiIFtzaXplXT1cImdldEljb25TaXplKClcIj48L3Jpdi1pY29uPlxuPHJpdi1pY29uXG4gICpuZ0lmPVwiIWxvY2tlZCAmJiBpY29uICYmIGljb25Qb3NpdGlvbiA9PT0gJ2xhc3QnXCJcbiAgW25hbWVdPVwiaWNvblwiXG4gIFtzaXplXT1cImdldEljb25TaXplKClcIlxuPjwvcml2LWljb24+XG48cml2LWxvYWRpbmdcbiAgKm5nSWY9XCJsb2FkaW5nXCJcbiAgW3NpemVdPVwiMTZcIlxuICBbdmFyaWFudF09XCJnZXRMb2FkaW5nVmFyaWFudCgpXCJcbj48L3Jpdi1sb2FkaW5nPlxuIl19
@@ -0,0 +1,99 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { debounceTime, from, map, pairwise, startWith, switchMap, } from 'rxjs';
3
+ import Fuse from 'fuse.js';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "../../modal/callout/callout.component";
7
+ import * as i3 from "../../visualization/highlight/highlight.component";
8
+ import * as i4 from "../../icon/icon.component";
9
+ import * as i5 from "../../load/loading-cover/loading-cover.component";
10
+ export class SingleSelectComponent {
11
+ constructor() {
12
+ this.options = [];
13
+ this.selectedOption = null;
14
+ this.filterabilityOptions = {
15
+ enabled: false,
16
+ };
17
+ this.loading = false;
18
+ this.noOptionsMessage = 'No available options';
19
+ this.placeholder = 'Select...';
20
+ this.filterQuery = '';
21
+ this.filterQueryChange = new EventEmitter();
22
+ this.selectedOptionChange = new EventEmitter();
23
+ this.open = false;
24
+ }
25
+ getFilterPlaceholder() {
26
+ if (this.filterabilityOptions.enabled &&
27
+ this.filterabilityOptions.placeholder) {
28
+ return this.filterabilityOptions.placeholder;
29
+ }
30
+ return 'Filter options...';
31
+ }
32
+ getNodes() {
33
+ return this.options.map(option => ({
34
+ ...option,
35
+ selected: option.id === this.selectedOption?.id,
36
+ }));
37
+ }
38
+ }
39
+ SingleSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SingleSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
40
+ SingleSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SingleSelectComponent, selector: "riv-single-select", inputs: { options: "options", selectedOption: "selectedOption", filterabilityOptions: "filterabilityOptions", loading: "loading", noOptionsMessage: "noOptionsMessage", nodeTemplate: "nodeTemplate", placeholder: "placeholder" }, outputs: { filterQueryChange: "filterQueryChange", selectedOptionChange: "selectedOptionChange" }, ngImport: i0, template: "<button #trigger class=\"trigger\" (click)=\"open = true\">\n <ng-container *ngIf=\"selectedOption; else placeholderValue\">\n <span class=\"value\">{{ selectedOption.title }}</span>\n </ng-container>\n <ng-template #placeholderValue>\n <span class=\"value placeholder\">{{ placeholder }}</span>\n </ng-template>\n <span class=\"chevron\">\n <riv-icon [name]=\"'ChevronDown'\" [size]=\"16\"></riv-icon>\n </span>\n</button>\n\n<riv-callout\n *ngIf=\"open\"\n [anchor]=\"trigger\"\n [theme]=\"'light'\"\n [showCaret]=\"false\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-center',\n 'top-right',\n 'bottom-right',\n 'bottom-center',\n 'bottom-left'\n ]\"\n (close)=\"open = false\"\n>\n <input\n *ngIf=\"filterabilityOptions.enabled\"\n #filter\n class=\"filter\"\n [placeholder]=\"getFilterPlaceholder()\"\n [value]=\"filterQuery\"\n (input)=\"filterQuery = filter.value; filterQueryChange.emit(filterQuery)\"\n />\n <div class=\"options\">\n <riv-loading-cover [loading]=\"loading\">\n <ng-container *ngIf=\"getNodes(); let nodes\">\n <ng-container *ngIf=\"nodes.length > 0; else empty\">\n <ng-container *ngFor=\"let node of nodes\">\n <ng-container *ngIf=\"nodeTemplate; else standardTemplate\">\n <button\n class=\"custom-single-select-node\"\n [disabled]=\"node.disabled\"\n (click)=\"selectedOptionChange.emit(node); open = false\"\n >\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplate\"\n [ngTemplateOutletContext]=\"{ node: node }\"\n ></ng-container>\n </button>\n </ng-container>\n <ng-template #standardTemplate>\n <button\n class=\"single-select-node\"\n [class.selected]=\"node?.selected\"\n [class.disabled]=\"node?.disabled\"\n (click)=\"selectedOptionChange.emit(node); open = false\"\n >\n <riv-icon\n [name]=\"'Check'\"\n *ngIf=\"node?.selected\"\n [size]=\"16\"\n ></riv-icon>\n <span class=\"label\">\n <span class=\"label-title\">\n <riv-highlight\n [text]=\"node?.title || ''\"\n [indices]=\"node?.titleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n <span *ngIf=\"node?.subtitle\" class=\"label-subtitle\">\n <riv-highlight\n [text]=\"node?.subtitle || ''\"\n [indices]=\"node?.subtitleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n </span>\n </button>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-template #empty>\n <div class=\"empty\">\n {{ noOptionsMessage }}\n </div>\n </ng-template>\n </ng-container>\n </riv-loading-cover>\n </div>\n</riv-callout>\n", styles: [".trigger{width:100%;border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-small);display:flex;gap:var(--size-small)}.trigger:focus{outline:none;border:var(--border-width) solid var(--purp-60)}.trigger:disabled{color:var(--type-light-disabled);background-color:var(--surface-light-1)}.value{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small);flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre}.value.placeholder{color:var(--type-light-disabled)}.chevron{display:flex;justify-content:center;align-items:center;padding:var(--size-small);background-color:var(--surface-light-2);border-left:var(--border-width) solid var(--border-light)}.filter{width:100%;outline:none;border:none;border-bottom:var(--border-width) solid var(--border-light);font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small)}.filter::placeholder{color:var(--type-light-disabled)}.options{max-height:calc(var(--base-grid-size) * 200);max-width:calc(var(--base-grid-size) * 150);overflow-y:scroll}.single-select-node{display:flex;align-items:center;overflow:hidden;flex-grow:1;text-align:left;padding:var(--size-xsmall) var(--size-xsmall) var(--size-xsmall) calc(var(--base-grid-size) * 6);width:100%}.single-select-node.selected{padding-left:var(--size-small)}.single-select-node:hover{background-color:var(--surface-light-2)}.single-select-node.disabled{cursor:default;background-color:var(--surface-light-0)}.single-select-node.disabled .label,.single-select-node.disabled .label-subtitle{color:var(--type-light-disabled)}.single-select-node riv-icon{flex-shrink:0}.single-select-node .label{font-size:calc(var(--base-grid-size) * 4);line-height:calc(var(--base-grid-size) * 6);overflow:hidden;text-overflow:ellipsis;white-space:pre;flex-grow:1;padding:0 calc(var(--base-grid-size) * 2)}.single-select-node .label-subtitle{padding-left:var(--base-grid-size);color:var(--type-light-low-contrast)}.custom-single-select-node{display:block;width:100%;text-align:left}.empty{padding:var(--size-medium);text-align:center;color:var(--type-light-disabled)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.CalloutComponent, selector: "riv-callout", inputs: ["anchor", "isModal", "preferredPosition", "allowedPositions", "fallbackDirection", "showCaret", "theme"], outputs: ["close"] }, { kind: "component", type: i3.HighlightComponent, selector: "riv-highlight", inputs: ["text", "indices"] }, { kind: "component", type: i4.IconComponent, selector: "riv-icon", inputs: ["name", "size", "customSize", "strokeWidth"] }, { kind: "component", type: i5.LoadingCoverComponent, selector: "riv-loading-cover", inputs: ["loading", "loadingSize", "errorMessage"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SingleSelectComponent, decorators: [{
42
+ type: Component,
43
+ args: [{ selector: 'riv-single-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button #trigger class=\"trigger\" (click)=\"open = true\">\n <ng-container *ngIf=\"selectedOption; else placeholderValue\">\n <span class=\"value\">{{ selectedOption.title }}</span>\n </ng-container>\n <ng-template #placeholderValue>\n <span class=\"value placeholder\">{{ placeholder }}</span>\n </ng-template>\n <span class=\"chevron\">\n <riv-icon [name]=\"'ChevronDown'\" [size]=\"16\"></riv-icon>\n </span>\n</button>\n\n<riv-callout\n *ngIf=\"open\"\n [anchor]=\"trigger\"\n [theme]=\"'light'\"\n [showCaret]=\"false\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-center',\n 'top-right',\n 'bottom-right',\n 'bottom-center',\n 'bottom-left'\n ]\"\n (close)=\"open = false\"\n>\n <input\n *ngIf=\"filterabilityOptions.enabled\"\n #filter\n class=\"filter\"\n [placeholder]=\"getFilterPlaceholder()\"\n [value]=\"filterQuery\"\n (input)=\"filterQuery = filter.value; filterQueryChange.emit(filterQuery)\"\n />\n <div class=\"options\">\n <riv-loading-cover [loading]=\"loading\">\n <ng-container *ngIf=\"getNodes(); let nodes\">\n <ng-container *ngIf=\"nodes.length > 0; else empty\">\n <ng-container *ngFor=\"let node of nodes\">\n <ng-container *ngIf=\"nodeTemplate; else standardTemplate\">\n <button\n class=\"custom-single-select-node\"\n [disabled]=\"node.disabled\"\n (click)=\"selectedOptionChange.emit(node); open = false\"\n >\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplate\"\n [ngTemplateOutletContext]=\"{ node: node }\"\n ></ng-container>\n </button>\n </ng-container>\n <ng-template #standardTemplate>\n <button\n class=\"single-select-node\"\n [class.selected]=\"node?.selected\"\n [class.disabled]=\"node?.disabled\"\n (click)=\"selectedOptionChange.emit(node); open = false\"\n >\n <riv-icon\n [name]=\"'Check'\"\n *ngIf=\"node?.selected\"\n [size]=\"16\"\n ></riv-icon>\n <span class=\"label\">\n <span class=\"label-title\">\n <riv-highlight\n [text]=\"node?.title || ''\"\n [indices]=\"node?.titleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n <span *ngIf=\"node?.subtitle\" class=\"label-subtitle\">\n <riv-highlight\n [text]=\"node?.subtitle || ''\"\n [indices]=\"node?.subtitleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n </span>\n </button>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-template #empty>\n <div class=\"empty\">\n {{ noOptionsMessage }}\n </div>\n </ng-template>\n </ng-container>\n </riv-loading-cover>\n </div>\n</riv-callout>\n", styles: [".trigger{width:100%;border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-small);display:flex;gap:var(--size-small)}.trigger:focus{outline:none;border:var(--border-width) solid var(--purp-60)}.trigger:disabled{color:var(--type-light-disabled);background-color:var(--surface-light-1)}.value{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small);flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre}.value.placeholder{color:var(--type-light-disabled)}.chevron{display:flex;justify-content:center;align-items:center;padding:var(--size-small);background-color:var(--surface-light-2);border-left:var(--border-width) solid var(--border-light)}.filter{width:100%;outline:none;border:none;border-bottom:var(--border-width) solid var(--border-light);font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small)}.filter::placeholder{color:var(--type-light-disabled)}.options{max-height:calc(var(--base-grid-size) * 200);max-width:calc(var(--base-grid-size) * 150);overflow-y:scroll}.single-select-node{display:flex;align-items:center;overflow:hidden;flex-grow:1;text-align:left;padding:var(--size-xsmall) var(--size-xsmall) var(--size-xsmall) calc(var(--base-grid-size) * 6);width:100%}.single-select-node.selected{padding-left:var(--size-small)}.single-select-node:hover{background-color:var(--surface-light-2)}.single-select-node.disabled{cursor:default;background-color:var(--surface-light-0)}.single-select-node.disabled .label,.single-select-node.disabled .label-subtitle{color:var(--type-light-disabled)}.single-select-node riv-icon{flex-shrink:0}.single-select-node .label{font-size:calc(var(--base-grid-size) * 4);line-height:calc(var(--base-grid-size) * 6);overflow:hidden;text-overflow:ellipsis;white-space:pre;flex-grow:1;padding:0 calc(var(--base-grid-size) * 2)}.single-select-node .label-subtitle{padding-left:var(--base-grid-size);color:var(--type-light-low-contrast)}.custom-single-select-node{display:block;width:100%;text-align:left}.empty{padding:var(--size-medium);text-align:center;color:var(--type-light-disabled)}\n"] }]
44
+ }], propDecorators: { options: [{
45
+ type: Input
46
+ }], selectedOption: [{
47
+ type: Input
48
+ }], filterabilityOptions: [{
49
+ type: Input
50
+ }], loading: [{
51
+ type: Input
52
+ }], noOptionsMessage: [{
53
+ type: Input
54
+ }], nodeTemplate: [{
55
+ type: Input
56
+ }], placeholder: [{
57
+ type: Input
58
+ }], filterQueryChange: [{
59
+ type: Output
60
+ }], selectedOptionChange: [{
61
+ type: Output
62
+ }] } });
63
+ (function (SingleSelectComponent) {
64
+ function getFilterSync(options, exact = false) {
65
+ const fuse = new Fuse(options, {
66
+ keys: ['title', 'subtitle'],
67
+ includeMatches: true,
68
+ shouldSort: true,
69
+ threshold: exact ? 0.0 : 0.6,
70
+ });
71
+ return function filter(query) {
72
+ if (!query)
73
+ return options;
74
+ const matches = fuse.search(query);
75
+ return matches.map(match => {
76
+ return {
77
+ ...match.item,
78
+ titleHighlightIndices: [
79
+ ...(match.matches?.find(result => result.key === 'title')
80
+ ?.indices || []),
81
+ ],
82
+ subtitleHighlightIndices: [
83
+ ...(match.matches?.find(result => result.key === 'subtitle')
84
+ ?.indices || []),
85
+ ],
86
+ };
87
+ });
88
+ };
89
+ }
90
+ SingleSelectComponent.getFilterSync = getFilterSync;
91
+ function getFilterAsync(query$, fetcher, debounceInput = 300) {
92
+ return query$.pipe(debounceTime(debounceInput), switchMap(query => from(fetcher(query)).pipe(map(options => ({ loading: false, options })), startWith({ loading: true, options: [] }))), pairwise(), map(([previous, next]) => ({
93
+ loading: next.loading,
94
+ options: next.loading ? previous.options : next.options,
95
+ })), startWith({ loading: false, options: [] }));
96
+ }
97
+ SingleSelectComponent.getFilterAsync = getFilterAsync;
98
+ })(SingleSelectComponent || (SingleSelectComponent = {}));
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9pbnB1dC9zaW5nbGUtc2VsZWN0L3NpbmdsZS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvc2luZ2xlLXNlbGVjdC9zaW5nbGUtc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFTCxZQUFZLEVBQ1osSUFBSSxFQUNKLEdBQUcsRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUNULFNBQVMsR0FDVixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sSUFBSSxNQUFNLFNBQVMsQ0FBQzs7Ozs7OztBQVMzQixNQUFNLE9BQU8scUJBQXFCO0lBTmxDO1FBUUUsWUFBTyxHQUFtQyxFQUFFLENBQUM7UUFHN0MsbUJBQWMsR0FBd0MsSUFBSSxDQUFDO1FBRzNELHlCQUFvQixHQUErQztZQUNqRSxPQUFPLEVBQUUsS0FBSztTQUNmLENBQUM7UUFHRixZQUFPLEdBQVksS0FBSyxDQUFDO1FBR3pCLHFCQUFnQixHQUFXLHNCQUFzQixDQUFDO1FBTWxELGdCQUFXLEdBQVcsV0FBVyxDQUFDO1FBRWxDLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBR3pCLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFHL0MseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQWdDLENBQUM7UUFtQnhFLFNBQUksR0FBWSxLQUFLLENBQUM7S0FDdkI7SUFsQkMsb0JBQW9CO1FBQ2xCLElBQ0UsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU87WUFDakMsSUFB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QUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQzFDLENBQ0YsRUFDRCxRQUFRLEVBQUUsRUFDVixHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN6QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPO1NBQ3hELENBQUMsQ0FBQyxFQUNILFNBQVMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQzNDLENBQUM7SUFDSixDQUFDO0lBdkJlLG9DQUFjLGlCQXVCN0IsQ0FBQTtBQUNILENBQUMsRUE5RWdCLHFCQUFxQixLQUFyQixxQkFBcUIsUUE4RXJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBPYnNlcnZhYmxlLFxuICBkZWJvdW5jZVRpbWUsXG4gIGZyb20sXG4gIG1hcCxcbiAgcGFpcndpc2UsXG4gIHN0YXJ0V2l0aCxcbiAgc3dpdGNoTWFwLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCBGdXNlIGZyb20gJ2Z1c2UuanMnO1xuaW1wb3J0IHsgSGlnaGxpZ2h0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdmlzdWFsaXphdGlvbi9oaWdobGlnaHQvaGlnaGxpZ2h0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Jpdi1zaW5nbGUtc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpbmdsZS1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zaW5nbGUtc2VsZWN0LmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNpbmdsZVNlbGVjdENvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIG9wdGlvbnM6IFNpbmdsZVNlbGVjdENvbXBvbmVudC5PcHRpb25bXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHNlbGVjdGVkT3B0aW9uOiBTaW5nbGVTZWxlY3RDb21wb25lbnQuT3B0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgZmlsdGVyYWJpbGl0eU9wdGlvbnM6IFNpbmdsZVNlbGVjdENvbXBvbmVudC5GaWx0ZXJhYmlsaXR5T3B0aW9ucyA9IHtcbiAgICBlbmFibGVkOiBmYWxzZSxcbiAgfTtcblxuICBASW5wdXQoKVxuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgbm9PcHRpb25zTWVzc2FnZTogc3RyaW5nID0gJ05vIGF2YWlsYWJsZSBvcHRpb25zJztcblxuICBASW5wdXQoKVxuICBub2RlVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBASW5wdXQoKVxuICBwbGFjZWhvbGRlcjogc3RyaW5nID0gJ1NlbGVjdC4uLic7XG5cbiAgZmlsdGVyUXVlcnk6IHN0cmluZyA9ICcnO1xuXG4gIEBPdXRwdXQoKVxuICBmaWx0ZXJRdWVyeUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICBzZWxlY3RlZE9wdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2luZ2xlU2VsZWN0Q29tcG9uZW50Lk9wdGlvbj4oKTtcblxuICBnZXRGaWx0ZXJQbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgIGlmIChcbiAgICAgIHRoaXMuZmlsdGVyYWJpbGl0eU9wdGlvbnMuZW5hYmxlZCAmJlxuICAgICAgdGhpcy5maWx0ZXJhYmlsaXR5T3B0aW9ucy5wbGFjZWhvbGRlclxuICAgICkge1xuICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyYWJpbGl0eU9wdGlvbnMucGxhY2Vob2xkZXI7XG4gICAgfVxuICAgIHJldHVybiAnRmlsdGVyIG9wdGlvbnMuLi4nO1xuICB9XG5cbiAgZ2V0Tm9kZXMoKTogU2luZ2xlU2VsZWN0Q29tcG9uZW50Lk5vZGVbXSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5tYXAob3B0aW9uID0+ICh7XG4gICAgICAuLi5vcHRpb24sXG4gICAgICBzZWxlY3RlZDogb3B0aW9uLmlkID09PSB0aGlzLnNlbGVjdGVkT3B0aW9uPy5pZCxcbiAgICB9KSk7XG4gIH1cblxuICBvcGVuOiBib29sZWFuID0gZmFsc2U7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2luZ2xlU2VsZWN0Q29tcG9uZW50IHtcbiAgZXhwb3J0IHR5cGUgT3B0aW9uID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzdWJ0aXRsZT86IHN0cmluZztcbiAgICBjb3VudD86IG51bWJlcjtcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XG4gICAgdGl0bGVIaWdobGlnaHRJbmRpY2VzPzogSGlnaGxpZ2h0Q29tcG9uZW50LkhpZ2hsaWdodEluZGljZXNbXTtcbiAgICBzdWJ0aXRsZUhpZ2hsaWdodEluZGljZXM/OiBIaWdobGlnaHRDb21wb25lbnQuSGlnaGxpZ2h0SW5kaWNlc1tdO1xuICB9O1xuXG4gIGV4cG9ydCB0eXBlIE5vZGUgPSBPcHRpb24gJiB7XG4gICAgc2VsZWN0ZWQ6IGJvb2xlYW47XG4gIH07XG5cbiAgZXhwb3J0IHR5cGUgRmlsdGVyYWJpbGl0eU9wdGlvbnMgPVxuICAgIHwge1xuICAgICAgICBlbmFibGVkOiBmYWxzZTtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgZW5hYmxlZDogdHJ1ZTtcbiAgICAgICAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgICB9O1xuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRGaWx0ZXJTeW5jKFxuICAgIG9wdGlvbnM6IFNpbmdsZVNlbGVjdENvbXBvbmVudC5PcHRpb25bXSxcbiAgICBleGFjdDogYm9vbGVhbiA9IGZhbHNlLFxuICApOiAocXVlcnk6IHN0cmluZykgPT4gU2luZ2xlU2VsZWN0Q29tcG9uZW50Lk9wdGlvbltdIHtcbiAgICBjb25zdCBmdXNlID0gbmV3IEZ1c2Uob3B0aW9ucywge1xuICAgICAga2V5czogWyd0aXRsZScsICdzdWJ0aXRsZSddLFxuICAgICAgaW5jbHVkZU1hdGNoZXM6IHRydWUsXG4gICAgICBzaG91bGRTb3J0OiB0cnVlLFxuICAgICAgdGhyZXNob2xkOiBleGFjdCA/IDAuMCA6IDAuNixcbiAgICB9KTtcblxuICAgIHJldHVybiBmdW5jdGlvbiBmaWx0ZXIocXVlcnk6IHN0cmluZykge1xuICAgICAgaWYgKCFxdWVyeSkgcmV0dXJuIG9wdGlvbnM7XG4gICAgICBjb25zdCBtYXRjaGVzID0gZnVzZS5zZWFyY2gocXVlcnkpO1xuICAgICAgcmV0dXJuIG1hdGNoZXMubWFwKG1hdGNoID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5tYXRjaC5pdGVtLFxuICAgICAgICAgIHRpdGxlSGlnaGxpZ2h0SW5kaWNlczogW1xuICAgICAgICAgICAgLi4uKG1hdGNoLm1hdGNoZXM/LmZpbmQocmVzdWx0ID0+IHJlc3VsdC5rZXkgPT09ICd0aXRsZScpXG4gICAgICAgICAgICAgID8uaW5kaWNlcyB8fCBbXSksXG4gICAgICAgICAgXSxcbiAgICAgICAgICBzdWJ0aXRsZUhpZ2hsaWdodEluZGljZXM6IFtcbiAgICAgICAgICAgIC4uLihtYXRjaC5tYXRjaGVzPy5maW5kKHJlc3VsdCA9PiByZXN1bHQua2V5ID09PSAnc3VidGl0bGUnKVxuICAgICAgICAgICAgICA/LmluZGljZXMgfHwgW10pLFxuICAgICAgICAgIF0sXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9O1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldEZpbHRlckFzeW5jKFxuICAgIHF1ZXJ5JDogT2JzZXJ2YWJsZTxzdHJpbmc+LFxuICAgIGZldGNoZXI6IChxdWVyeTogc3RyaW5nKSA9PiBQcm9taXNlPFNpbmdsZVNlbGVjdENvbXBvbmVudC5PcHRpb25bXT4sXG4gICAgZGVib3VuY2VJbnB1dDogbnVtYmVyID0gMzAwLFxuICApOiBPYnNlcnZhYmxlPHtcbiAgICBsb2FkaW5nOiBib29sZWFuO1xuICAgIG9wdGlvbnM6IFNpbmdsZVNlbGVjdENvbXBvbmVudC5PcHRpb25bXTtcbiAgfT4ge1xuICAgIHJldHVybiBxdWVyeSQucGlwZShcbiAgICAgIGRlYm91bmNlVGltZShkZWJvdW5jZUlucHV0KSxcbiAgICAgIHN3aXRjaE1hcChxdWVyeSA9PlxuICAgICAgICBmcm9tKGZldGNoZXIocXVlcnkpKS5waXBlKFxuICAgICAgICAgIG1hcChvcHRpb25zID0+ICh7IGxvYWRpbmc6IGZhbHNlLCBvcHRpb25zIH0pKSxcbiAgICAgICAgICBzdGFydFdpdGgoeyBsb2FkaW5nOiB0cnVlLCBvcHRpb25zOiBbXSB9KSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgICBwYWlyd2lzZSgpLFxuICAgICAgbWFwKChbcHJldmlvdXMsIG5leHRdKSA9PiAoe1xuICAgICAgICBsb2FkaW5nOiBuZXh0LmxvYWRpbmcsXG4gICAgICAgIG9wdGlvbnM6IG5leHQubG9hZGluZyA/IHByZXZpb3VzLm9wdGlvbnMgOiBuZXh0Lm9wdGlvbnMsXG4gICAgICB9KSksXG4gICAgICBzdGFydFdpdGgoeyBsb2FkaW5nOiBmYWxzZSwgb3B0aW9uczogW10gfSksXG4gICAgKTtcbiAgfVxufVxuIiwiPGJ1dHRvbiAjdHJpZ2dlciBjbGFzcz1cInRyaWdnZXJcIiAoY2xpY2spPVwib3BlbiA9IHRydWVcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkT3B0aW9uOyBlbHNlIHBsYWNlaG9sZGVyVmFsdWVcIj5cbiAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+e3sgc2VsZWN0ZWRPcHRpb24udGl0bGUgfX08L3NwYW4+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI3BsYWNlaG9sZGVyVmFsdWU+XG4gICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZSBwbGFjZWhvbGRlclwiPnt7IHBsYWNlaG9sZGVyIH19PC9zcGFuPlxuICA8L25nLXRlbXBsYXRlPlxuICA8c3BhbiBjbGFzcz1cImNoZXZyb25cIj5cbiAgICA8cml2LWljb24gW25hbWVdPVwiJ0NoZXZyb25Eb3duJ1wiIFtzaXplXT1cIjE2XCI+PC9yaXYtaWNvbj5cbiAgPC9zcGFuPlxuPC9idXR0b24+XG5cbjxyaXYtY2FsbG91dFxuICAqbmdJZj1cIm9wZW5cIlxuICBbYW5jaG9yXT1cInRyaWdnZXJcIlxuICBbdGhlbWVdPVwiJ2xpZ2h0J1wiXG4gIFtzaG93Q2FyZXRdPVwiZmFsc2VcIlxuICBbYWxsb3dlZFBvc2l0aW9uc109XCJbXG4gICAgJ3RvcC1sZWZ0JyxcbiAgICAndG9wLWNlbnRlcicsXG4gICAgJ3RvcC1yaWdodCcsXG4gICAgJ2JvdHRvbS1yaWdodCcsXG4gICAgJ2JvdHRvbS1jZW50ZXInLFxuICAgICdib3R0b20tbGVmdCdcbiAgXVwiXG4gIChjbG9zZSk9XCJvcGVuID0gZmFsc2VcIlxuPlxuICA8aW5wdXRcbiAgICAqbmdJZj1cImZpbHRlcmFiaWxpdHlPcHRpb25zLmVuYWJsZWRcIlxuICAgICNmaWx0ZXJcbiAgICBjbGFzcz1cImZpbHRlclwiXG4gICAgW3BsYWNlaG9sZGVyXT1cImdldEZpbHRlclBsYWNlaG9sZGVyKClcIlxuICAgIFt2YWx1ZV09XCJmaWx0ZXJRdWVyeVwiXG4gICAgKGlucHV0KT1cImZpbHRlclF1ZXJ5ID0gZmlsdGVyLnZhbHVlOyBmaWx0ZXJRdWVyeUNoYW5nZS5lbWl0KGZpbHRlclF1ZXJ5KVwiXG4gIC8+XG4gIDxkaXYgY2xhc3M9XCJvcHRpb25zXCI+XG4gICAgPHJpdi1sb2FkaW5nLWNvdmVyIFtsb2FkaW5nXT1cImxvYWRpbmdcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJnZXROb2RlcygpOyBsZXQgbm9kZXNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vZGVzLmxlbmd0aCA+IDA7IGVsc2UgZW1wdHlcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBub2RlIG9mIG5vZGVzXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm9kZVRlbXBsYXRlOyBlbHNlIHN0YW5kYXJkVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY3VzdG9tLXNpbmdsZS1zZWxlY3Qtbm9kZVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm5vZGUuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RlZE9wdGlvbkNoYW5nZS5lbWl0KG5vZGUpOyBvcGVuID0gZmFsc2VcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwibm9kZVRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IG5vZGU6IG5vZGUgfVwiXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzdGFuZGFyZFRlbXBsYXRlPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzaW5nbGUtc2VsZWN0LW5vZGVcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJub2RlPy5zZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIm5vZGU/LmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0ZWRPcHRpb25DaGFuZ2UuZW1pdChub2RlKTsgb3BlbiA9IGZhbHNlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxyaXYtaWNvblxuICAgICAgICAgICAgICAgICAgW25hbWVdPVwiJ0NoZWNrJ1wiXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cIm5vZGU/LnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgIFtzaXplXT1cIjE2XCJcbiAgICAgICAgICAgICAgICA+PC9yaXYtaWNvbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxyaXYtaGlnaGxpZ2h0XG4gICAgICAgICAgICAgICAgICAgICAgW3RleHRdPVwibm9kZT8udGl0bGUgfHwgJydcIlxuICAgICAgICAgICAgICAgICAgICAgIFtpbmRpY2VzXT1cIm5vZGU/LnRpdGxlSGlnaGxpZ2h0SW5kaWNlcyB8fCBbXVwiXG4gICAgICAgICAgICAgICAgICAgID48L3Jpdi1oaWdobGlnaHQ+XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm5vZGU/LnN1YnRpdGxlXCIgY2xhc3M9XCJsYWJlbC1zdWJ0aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICA8cml2LWhpZ2hsaWdodFxuICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cIm5vZGU/LnN1YnRpdGxlIHx8ICcnXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaW5kaWNlc109XCJub2RlPy5zdWJ0aXRsZUhpZ2hsaWdodEluZGljZXMgfHwgW11cIlxuICAgICAgICAgICAgICAgICAgICA+PC9yaXYtaGlnaGxpZ2h0PlxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNlbXB0eT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1wdHlcIj5cbiAgICAgICAgICAgIHt7IG5vT3B0aW9uc01lc3NhZ2UgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvcml2LWxvYWRpbmctY292ZXI+XG4gIDwvZGl2PlxuPC9yaXYtY2FsbG91dD5cbiJdfQ==
@@ -0,0 +1,49 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class LoadingComponent {
5
+ constructor() {
6
+ this.size = 40;
7
+ this.variant = 'dark';
8
+ }
9
+ getHalfSize() {
10
+ return this.size / 2;
11
+ }
12
+ getStrokeWidth() {
13
+ return LoadingComponent.STROKE_WIDTH;
14
+ }
15
+ getHalfStroke() {
16
+ return LoadingComponent.STROKE_WIDTH / 2;
17
+ }
18
+ getRadius() {
19
+ return this.getHalfSize() - this.getHalfStroke();
20
+ }
21
+ getArcData() {
22
+ const halfSize = this.getHalfSize();
23
+ const radius = this.getRadius();
24
+ const mx = halfSize + radius * Math.sin(LoadingComponent.ARC_START_RADIANS);
25
+ const my = halfSize - radius * Math.cos(LoadingComponent.ARC_START_RADIANS);
26
+ const ax = halfSize;
27
+ const ay = halfSize;
28
+ const x = halfSize + radius;
29
+ const y = halfSize;
30
+ return `M${mx},${my} A${ax},${ay} 0 0,1 ${x},${y}`;
31
+ }
32
+ }
33
+ LoadingComponent.STROKE_WIDTH = 1.5;
34
+ LoadingComponent.ARC_START_RADIANS = (Math.PI * 22.5) / 180;
35
+ LoadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
36
+ LoadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: LoadingComponent, selector: "riv-loading", inputs: { size: "size", variant: "variant" }, ngImport: i0, template: "<svg\n [ngClass]=\"{\n dark: variant === 'dark',\n light: variant === 'light',\n small: size === 16,\n medium: size === 40,\n large: size === 80\n }\"\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"size\"\n [attr.height]=\"size\"\n [attr.viewBox]=\"'0 0 ' + size + ' ' + size\"\n fill=\"none\"\n>\n <circle\n [attr.cx]=\"getHalfSize()\"\n [attr.cy]=\"getHalfSize()\"\n [attr.r]=\"getRadius()\"\n [attr.stroke-width]=\"getStrokeWidth()\"\n opacity=\".1\"\n />\n <path [attr.stroke-width]=\"getStrokeWidth()\" [attr.d]=\"getArcData()\"></path>\n</svg>\n", styles: [":host{display:inline-block;font-size:0;line-height:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dark path,.dark circle{stroke:var(--brand)}.light path,.light circle{stroke:var(--white-90)}.small{animation:.7s linear spin infinite}.medium{animation:.75s linear spin infinite}.large{animation:.9s linear spin infinite}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LoadingComponent, decorators: [{
38
+ type: Component,
39
+ args: [{ selector: 'riv-loading', changeDetection: ChangeDetectionStrategy.OnPush, template: "<svg\n [ngClass]=\"{\n dark: variant === 'dark',\n light: variant === 'light',\n small: size === 16,\n medium: size === 40,\n large: size === 80\n }\"\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"size\"\n [attr.height]=\"size\"\n [attr.viewBox]=\"'0 0 ' + size + ' ' + size\"\n fill=\"none\"\n>\n <circle\n [attr.cx]=\"getHalfSize()\"\n [attr.cy]=\"getHalfSize()\"\n [attr.r]=\"getRadius()\"\n [attr.stroke-width]=\"getStrokeWidth()\"\n opacity=\".1\"\n />\n <path [attr.stroke-width]=\"getStrokeWidth()\" [attr.d]=\"getArcData()\"></path>\n</svg>\n", styles: [":host{display:inline-block;font-size:0;line-height:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dark path,.dark circle{stroke:var(--brand)}.light path,.light circle{stroke:var(--white-90)}.small{animation:.7s linear spin infinite}.medium{animation:.75s linear spin infinite}.large{animation:.9s linear spin infinite}\n"] }]
40
+ }], propDecorators: { size: [{
41
+ type: Input
42
+ }], variant: [{
43
+ type: Input
44
+ }] } });
45
+ (function (LoadingComponent) {
46
+ LoadingComponent.Sizes = [16, 40, 80];
47
+ LoadingComponent.Variants = ['light', 'dark'];
48
+ })(LoadingComponent || (LoadingComponent = {}));
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9sb2FkL2xvYWRpbmcvbG9hZGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9sb2FkL2xvYWRpbmcvbG9hZGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUTFFLE1BQU0sT0FBTyxnQkFBZ0I7SUFON0I7UUFXRSxTQUFJLEdBQTBCLEVBQUUsQ0FBQztRQUdqQyxZQUFPLEdBQTZCLE1BQU0sQ0FBQztLQTZCNUM7SUEzQkMsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLGdCQUFnQixDQUFDLFlBQVksQ0FBQztJQUN2QyxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sZ0JBQWdCLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsVUFBVTtRQUNSLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEMsTUFBTSxFQUFFLEdBQUcsUUFBUSxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDNUUsTUFBTSxFQUFFLEdBQUcsUUFBUSxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDNUUsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDO1FBQ3BCLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQztRQUNwQixNQUFNLENBQUMsR0FBRyxRQUFRLEdBQUcsTUFBTSxDQUFDO1FBQzVCLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQztRQUNuQixPQUFPLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNyRCxDQUFDOztBQW5DZSw2QkFBWSxHQUFHLEdBQUksQ0FBQTtBQUNuQixrQ0FBaUIsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsR0FBSSxDQUFBOzZHQUZoRCxnQkFBZ0I7aUdBQWhCLGdCQUFnQixpR0NSN0IsMGxCQXVCQTsyRkRmYSxnQkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0UsYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNOzhCQU8vQyxJQUFJO3NCQURILEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLOztBQWdDUixXQUFpQixnQkFBZ0I7SUFDbEIsc0JBQUssR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFVLENBQUM7SUFHOUIseUJBQVEsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQVUsQ0FBQztBQUVyRCxDQUFDLEVBTmdCLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFNaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyaXYtbG9hZGluZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2FkaW5nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbG9hZGluZy5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBMb2FkaW5nQ29tcG9uZW50IHtcbiAgc3RhdGljIHJlYWRvbmx5IFNUUk9LRV9XSURUSCA9IDEuNTtcbiAgc3RhdGljIHJlYWRvbmx5IEFSQ19TVEFSVF9SQURJQU5TID0gKE1hdGguUEkgKiAyMi41KSAvIDE4MDtcblxuICBASW5wdXQoKVxuICBzaXplOiBMb2FkaW5nQ29tcG9uZW50LlNpemUgPSA0MDtcblxuICBASW5wdXQoKVxuICB2YXJpYW50OiBMb2FkaW5nQ29tcG9uZW50LlZhcmlhbnQgPSAnZGFyayc7XG5cbiAgZ2V0SGFsZlNpemUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZSAvIDI7XG4gIH1cblxuICBnZXRTdHJva2VXaWR0aCgpIHtcbiAgICByZXR1cm4gTG9hZGluZ0NvbXBvbmVudC5TVFJPS0VfV0lEVEg7XG4gIH1cblxuICBnZXRIYWxmU3Ryb2tlKCkge1xuICAgIHJldHVybiBMb2FkaW5nQ29tcG9uZW50LlNUUk9LRV9XSURUSCAvIDI7XG4gIH1cblxuICBnZXRSYWRpdXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SGFsZlNpemUoKSAtIHRoaXMuZ2V0SGFsZlN0cm9rZSgpO1xuICB9XG5cbiAgZ2V0QXJjRGF0YSgpIHtcbiAgICBjb25zdCBoYWxmU2l6ZSA9IHRoaXMuZ2V0SGFsZlNpemUoKTtcbiAgICBjb25zdCByYWRpdXMgPSB0aGlzLmdldFJhZGl1cygpO1xuICAgIGNvbnN0IG14ID0gaGFsZlNpemUgKyByYWRpdXMgKiBNYXRoLnNpbihMb2FkaW5nQ29tcG9uZW50LkFSQ19TVEFSVF9SQURJQU5TKTtcbiAgICBjb25zdCBteSA9IGhhbGZTaXplIC0gcmFkaXVzICogTWF0aC5jb3MoTG9hZGluZ0NvbXBvbmVudC5BUkNfU1RBUlRfUkFESUFOUyk7XG4gICAgY29uc3QgYXggPSBoYWxmU2l6ZTtcbiAgICBjb25zdCBheSA9IGhhbGZTaXplO1xuICAgIGNvbnN0IHggPSBoYWxmU2l6ZSArIHJhZGl1cztcbiAgICBjb25zdCB5ID0gaGFsZlNpemU7XG4gICAgcmV0dXJuIGBNJHtteH0sJHtteX0gQSR7YXh9LCR7YXl9IDAgMCwxICR7eH0sJHt5fWA7XG4gIH1cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBMb2FkaW5nQ29tcG9uZW50IHtcbiAgZXhwb3J0IGNvbnN0IFNpemVzID0gWzE2LCA0MCwgODBdIGFzIGNvbnN0O1xuICBleHBvcnQgdHlwZSBTaXplID0gKHR5cGVvZiBMb2FkaW5nQ29tcG9uZW50LlNpemVzKVtudW1iZXJdO1xuXG4gIGV4cG9ydCBjb25zdCBWYXJpYW50cyA9IFsnbGlnaHQnLCAnZGFyayddIGFzIGNvbnN0O1xuICBleHBvcnQgdHlwZSBWYXJpYW50ID0gKHR5cGVvZiBMb2FkaW5nQ29tcG9uZW50LlZhcmlhbnRzKVtudW1iZXJdO1xufVxuIiwiPHN2Z1xuICBbbmdDbGFzc109XCJ7XG4gICAgZGFyazogdmFyaWFudCA9PT0gJ2RhcmsnLFxuICAgIGxpZ2h0OiB2YXJpYW50ID09PSAnbGlnaHQnLFxuICAgIHNtYWxsOiBzaXplID09PSAxNixcbiAgICBtZWRpdW06IHNpemUgPT09IDQwLFxuICAgIGxhcmdlOiBzaXplID09PSA4MFxuICB9XCJcbiAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gIFthdHRyLndpZHRoXT1cInNpemVcIlxuICBbYXR0ci5oZWlnaHRdPVwic2l6ZVwiXG4gIFthdHRyLnZpZXdCb3hdPVwiJzAgMCAnICsgc2l6ZSArICcgJyArIHNpemVcIlxuICBmaWxsPVwibm9uZVwiXG4+XG4gIDxjaXJjbGVcbiAgICBbYXR0ci5jeF09XCJnZXRIYWxmU2l6ZSgpXCJcbiAgICBbYXR0ci5jeV09XCJnZXRIYWxmU2l6ZSgpXCJcbiAgICBbYXR0ci5yXT1cImdldFJhZGl1cygpXCJcbiAgICBbYXR0ci5zdHJva2Utd2lkdGhdPVwiZ2V0U3Ryb2tlV2lkdGgoKVwiXG4gICAgb3BhY2l0eT1cIi4xXCJcbiAgLz5cbiAgPHBhdGggW2F0dHIuc3Ryb2tlLXdpZHRoXT1cImdldFN0cm9rZVdpZHRoKClcIiBbYXR0ci5kXT1cImdldEFyY0RhdGEoKVwiPjwvcGF0aD5cbjwvc3ZnPlxuIl19
@@ -0,0 +1,23 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "../loading/loading.component";
5
+ export class LoadingCoverComponent {
6
+ constructor() {
7
+ this.loading = false;
8
+ this.loadingSize = 40;
9
+ }
10
+ }
11
+ LoadingCoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LoadingCoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ LoadingCoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: LoadingCoverComponent, selector: "riv-loading-cover", inputs: { loading: "loading", loadingSize: "loadingSize", errorMessage: "errorMessage" }, ngImport: i0, template: "<ng-content></ng-content>\n<div *ngIf=\"loading\" class=\"cover\">\n <riv-loading [size]=\"loadingSize\"></riv-loading>\n</div>\n<div *ngIf=\"errorMessage\" class=\"cover\">\n <span class=\"error-icon\">\uD83D\uDE41</span>\n <span>{{ errorMessage }}</span>\n</div>\n", styles: [":host{display:block;max-width:100%;position:relative}.cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--size-xsmall);background-color:var(--white-90);border-radius:var(--border-radius-medium);text-align:center;color:var(--type-light-low-contrast);z-index:var(--loadable-z-index)}.error-icon{font-size:var(--type-5-font-size)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.LoadingComponent, selector: "riv-loading", inputs: ["size", "variant"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LoadingCoverComponent, decorators: [{
14
+ type: Component,
15
+ args: [{ selector: 'riv-loading-cover', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n<div *ngIf=\"loading\" class=\"cover\">\n <riv-loading [size]=\"loadingSize\"></riv-loading>\n</div>\n<div *ngIf=\"errorMessage\" class=\"cover\">\n <span class=\"error-icon\">\uD83D\uDE41</span>\n <span>{{ errorMessage }}</span>\n</div>\n", styles: [":host{display:block;max-width:100%;position:relative}.cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--size-xsmall);background-color:var(--white-90);border-radius:var(--border-radius-medium);text-align:center;color:var(--type-light-low-contrast);z-index:var(--loadable-z-index)}.error-icon{font-size:var(--type-5-font-size)}\n"] }]
16
+ }], propDecorators: { loading: [{
17
+ type: Input
18
+ }], loadingSize: [{
19
+ type: Input
20
+ }], errorMessage: [{
21
+ type: Input
22
+ }] } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1jb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9sb2FkL2xvYWRpbmctY292ZXIvbG9hZGluZy1jb3Zlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9sb2FkL2xvYWRpbmctY292ZXIvbG9hZGluZy1jb3Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVMxRSxNQUFNLE9BQU8scUJBQXFCO0lBTmxDO1FBUUUsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUd6QixnQkFBVyxHQUEwQixFQUFFLENBQUM7S0FJekM7O2tIQVRZLHFCQUFxQjtzR0FBckIscUJBQXFCLG1KQ1RsQywrUUFRQTsyRkRDYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU07OEJBSS9DLE9BQU87c0JBRE4sS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvYWRpbmdDb21wb25lbnQgfSBmcm9tICcuLi9sb2FkaW5nL2xvYWRpbmcuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncml2LWxvYWRpbmctY292ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbG9hZGluZy1jb3Zlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xvYWRpbmctY292ZXIuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTG9hZGluZ0NvdmVyQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGxvYWRpbmdTaXplOiBMb2FkaW5nQ29tcG9uZW50LlNpemUgPSA0MDtcblxuICBASW5wdXQoKVxuICBlcnJvck1lc3NhZ2U/OiBzdHJpbmc7XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48ZGl2ICpuZ0lmPVwibG9hZGluZ1wiIGNsYXNzPVwiY292ZXJcIj5cbiAgPHJpdi1sb2FkaW5nIFtzaXplXT1cImxvYWRpbmdTaXplXCI+PC9yaXYtbG9hZGluZz5cbjwvZGl2PlxuPGRpdiAqbmdJZj1cImVycm9yTWVzc2FnZVwiIGNsYXNzPVwiY292ZXJcIj5cbiAgPHNwYW4gY2xhc3M9XCJlcnJvci1pY29uXCI+8J+ZgTwvc3Bhbj5cbiAgPHNwYW4+e3sgZXJyb3JNZXNzYWdlIH19PC9zcGFuPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,15 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../icon/icon.component";
4
+ import * as i2 from "../tooltip/tooltip.directive";
5
+ export class HelpComponent {
6
+ }
7
+ HelpComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HelpComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
+ HelpComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HelpComponent, selector: "riv-help", inputs: { help: "help" }, ngImport: i0, template: "<riv-icon [rivTooltip]=\"help\" [name]=\"'Info'\" [size]=\"16\"></riv-icon>\n", styles: ["riv-icon{line-height:0}\n"], dependencies: [{ kind: "component", type: i1.IconComponent, selector: "riv-icon", inputs: ["name", "size", "customSize", "strokeWidth"] }, { kind: "directive", type: i2.TooltipDirective, selector: "[rivTooltip]", inputs: ["rivTooltip", "rivTooltipTheme", "rivTooltipMaxWidth", "rivTooltipPreferredPosition", "rivTooltipCloseDelay"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HelpComponent, decorators: [{
10
+ type: Component,
11
+ args: [{ selector: 'riv-help', changeDetection: ChangeDetectionStrategy.OnPush, template: "<riv-icon [rivTooltip]=\"help\" [name]=\"'Info'\" [size]=\"16\"></riv-icon>\n", styles: ["riv-icon{line-height:0}\n"] }]
12
+ }], propDecorators: { help: [{
13
+ type: Input
14
+ }] } });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9tb2RhbC9oZWxwL2hlbHAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvbW9kYWwvaGVscC9oZWxwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUTFFLE1BQU0sT0FBTyxhQUFhOzswR0FBYixhQUFhOzhGQUFiLGFBQWEsMEVDUjFCLCtFQUNBOzJGRE9hLGFBQWE7a0JBTnpCLFNBQVM7K0JBQ0UsVUFBVSxtQkFHSCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyaXYtaGVscCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWxwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaGVscC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBIZWxwQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaGVscD86IHN0cmluZztcbn1cbiIsIjxyaXYtaWNvbiBbcml2VG9vbHRpcF09XCJoZWxwXCIgW25hbWVdPVwiJ0luZm8nXCIgW3NpemVdPVwiMTZcIj48L3Jpdi1pY29uPlxuIl19
@@ -1,3 +1,4 @@
1
+ import { ButtonComponent } from './input/button/button.component';
1
2
  import { CalloutComponent } from './modal/callout/callout.component';
2
3
  import { CalloutDirective } from './modal/callout/callout.directive';
3
4
  import { CalloutOutletComponent } from './modal/callout/callout-outlet.component';
@@ -9,12 +10,17 @@ import { DataTableRowComponent } from './visualization/data-table/data-table-row
9
10
  import { DaysPipe } from './format/pipes/days.pipe';
10
11
  import { DollarsPipe } from './format/pipes/dollars.pipe';
11
12
  import { DonutComponent } from './visualization/donut/donut.component';
12
- import { IconComponent } from '../public-api';
13
+ import { HelpComponent } from './modal/help/help.component';
14
+ import { HighlightComponent } from './visualization/highlight/highlight.component';
15
+ import { IconComponent } from './icon/icon.component';
13
16
  import { LegendItemComponent } from './visualization/legend-item/legend-item.component';
17
+ import { LoadingComponent } from './load/loading/loading.component';
18
+ import { LoadingCoverComponent } from './load/loading-cover/loading-cover.component';
14
19
  import { MetricComponent } from './visualization/metric/metric.component';
15
20
  import { NgModule } from '@angular/core';
16
21
  import { NumberPipe } from './format/pipes/number.pipe';
17
22
  import { PercentagePipe } from './format/pipes/percentage.pipe';
23
+ import { SingleSelectComponent } from './input/single-select/single-select.component';
18
24
  import { SmallCurrencyPipe } from './format/pipes/small-currency.pipe';
19
25
  import { StackedColumnComponent } from './visualization/stacked-column/stacked-column.component';
20
26
  import { TextToggleComponent } from './content-toggle/text-toggle/text-toggle.component';
@@ -27,7 +33,8 @@ import * as i0 from "@angular/core";
27
33
  export class RivModule {
28
34
  }
29
35
  RivModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RivModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
30
- RivModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: RivModule, declarations: [CalloutComponent,
36
+ RivModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: RivModule, declarations: [ButtonComponent,
37
+ CalloutComponent,
31
38
  CalloutDirective,
32
39
  CalloutOutletComponent,
33
40
  DataTableCellComponent,
@@ -37,19 +44,25 @@ RivModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
37
44
  DaysPipe,
38
45
  DollarsPipe,
39
46
  DonutComponent,
47
+ HelpComponent,
48
+ HighlightComponent,
40
49
  IconComponent,
41
50
  LegendItemComponent,
51
+ LoadingComponent,
52
+ LoadingCoverComponent,
42
53
  MetricComponent,
43
54
  NumberPipe,
44
55
  PercentagePipe,
45
- TrendComponent,
56
+ SingleSelectComponent,
46
57
  SmallCurrencyPipe,
47
58
  StackedColumnComponent,
48
59
  TextToggleComponent,
49
60
  TimeSeriesComponent,
50
61
  TooltipComponent,
51
62
  TooltipDirective,
52
- ZeroStateComponent], imports: [CommonModule], exports: [CalloutComponent,
63
+ TrendComponent,
64
+ ZeroStateComponent], imports: [CommonModule], exports: [ButtonComponent,
65
+ CalloutComponent,
53
66
  CalloutDirective,
54
67
  CalloutOutletComponent,
55
68
  DataTableCellComponent,
@@ -59,24 +72,30 @@ RivModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
59
72
  DaysPipe,
60
73
  DollarsPipe,
61
74
  DonutComponent,
75
+ HelpComponent,
76
+ HighlightComponent,
62
77
  IconComponent,
63
78
  LegendItemComponent,
79
+ LoadingComponent,
80
+ LoadingCoverComponent,
64
81
  MetricComponent,
65
82
  NumberPipe,
66
83
  PercentagePipe,
67
- TrendComponent,
84
+ SingleSelectComponent,
68
85
  SmallCurrencyPipe,
69
86
  StackedColumnComponent,
70
87
  TextToggleComponent,
71
88
  TimeSeriesComponent,
72
89
  TooltipComponent,
73
90
  TooltipDirective,
91
+ TrendComponent,
74
92
  ZeroStateComponent] });
75
93
  RivModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RivModule, imports: [CommonModule] });
76
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RivModule, decorators: [{
77
95
  type: NgModule,
78
96
  args: [{
79
97
  declarations: [
98
+ ButtonComponent,
80
99
  CalloutComponent,
81
100
  CalloutDirective,
82
101
  CalloutOutletComponent,
@@ -87,21 +106,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
87
106
  DaysPipe,
88
107
  DollarsPipe,
89
108
  DonutComponent,
109
+ HelpComponent,
110
+ HighlightComponent,
90
111
  IconComponent,
91
112
  LegendItemComponent,
113
+ LoadingComponent,
114
+ LoadingCoverComponent,
92
115
  MetricComponent,
93
116
  NumberPipe,
94
117
  PercentagePipe,
95
- TrendComponent,
118
+ SingleSelectComponent,
96
119
  SmallCurrencyPipe,
97
120
  StackedColumnComponent,
98
121
  TextToggleComponent,
99
122
  TimeSeriesComponent,
100
123
  TooltipComponent,
101
124
  TooltipDirective,
125
+ TrendComponent,
102
126
  ZeroStateComponent,
103
127
  ],
104
128
  exports: [
129
+ ButtonComponent,
105
130
  CalloutComponent,
106
131
  CalloutDirective,
107
132
  CalloutOutletComponent,
@@ -112,21 +137,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
112
137
  DaysPipe,
113
138
  DollarsPipe,
114
139
  DonutComponent,
140
+ HelpComponent,
141
+ HighlightComponent,
115
142
  IconComponent,
116
143
  LegendItemComponent,
144
+ LoadingComponent,
145
+ LoadingCoverComponent,
117
146
  MetricComponent,
118
147
  NumberPipe,
119
148
  PercentagePipe,
120
- TrendComponent,
149
+ SingleSelectComponent,
121
150
  SmallCurrencyPipe,
122
151
  StackedColumnComponent,
123
152
  TextToggleComponent,
124
153
  TimeSeriesComponent,
125
154
  TooltipComponent,
126
155
  TooltipDirective,
156
+ TrendComponent,
127
157
  ZeroStateComponent,
128
158
  ],
129
159
  imports: [CommonModule],
130
160
  }]
131
161
  }] });
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicml2Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL3Jpdi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDeEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN4RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saURBQWlELENBQUM7O0FBdURyRixNQUFNLE9BQU8sU0FBUzs7c0dBQVQsU0FBUzt1R0FBVCxTQUFTLGlCQW5EbEIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixzQkFBc0I7UUFDdEIsc0JBQXNCO1FBQ3RCLGtCQUFrQjtRQUNsQiw0QkFBNEI7UUFDNUIscUJBQXFCO1FBQ3JCLFFBQVE7UUFDUixXQUFXO1FBQ1gsY0FBYztRQUNkLGFBQWE7UUFDYixtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLFVBQVU7UUFDVixjQUFjO1FBQ2QsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixzQkFBc0I7UUFDdEIsbUJBQW1CO1FBQ25CLG1CQUFtQjtRQUNuQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGtCQUFrQixhQTJCVixZQUFZLGFBeEJwQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLHNCQUFzQjtRQUN0QixzQkFBc0I7UUFDdEIsa0JBQWtCO1FBQ2xCLDRCQUE0QjtRQUM1QixxQkFBcUI7UUFDckIsUUFBUTtRQUNSLFdBQVc7UUFDWCxjQUFjO1FBQ2QsYUFBYTtRQUNiLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2YsVUFBVTtRQUNWLGNBQWM7UUFDZCxjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLHNCQUFzQjtRQUN0QixtQkFBbUI7UUFDbkIsbUJBQW1CO1FBQ25CLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsa0JBQWtCO3VHQUlULFNBQVMsWUFGVixZQUFZOzJGQUVYLFNBQVM7a0JBckRyQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3dCQUN0QixzQkFBc0I7d0JBQ3RCLGtCQUFrQjt3QkFDbEIsNEJBQTRCO3dCQUM1QixxQkFBcUI7d0JBQ3JCLFFBQVE7d0JBQ1IsV0FBVzt3QkFDWCxjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLFVBQVU7d0JBQ1YsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsc0JBQXNCO3dCQUN0QixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjtxQkFDbkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIsa0JBQWtCO3dCQUNsQiw0QkFBNEI7d0JBQzVCLHFCQUFxQjt3QkFDckIsUUFBUTt3QkFDUixXQUFXO3dCQUNYLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsVUFBVTt3QkFDVixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2FsbG91dENvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwvY2FsbG91dC9jYWxsb3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYWxsb3V0RGlyZWN0aXZlIH0gZnJvbSAnLi9tb2RhbC9jYWxsb3V0L2NhbGxvdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IENhbGxvdXRPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuL21vZGFsL2NhbGxvdXQvY2FsbG91dC1vdXRsZXQuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEYXRhVGFibGVDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi92aXN1YWxpemF0aW9uL2RhdGEtdGFibGUvZGF0YS10YWJsZS1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRhVGFibGVDb21wb25lbnQgfSBmcm9tICcuL3Zpc3VhbGl6YXRpb24vZGF0YS10YWJsZS9kYXRhLXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRhVGFibGVIZWFkZXJDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi92aXN1YWxpemF0aW9uL2RhdGEtdGFibGUvZGF0YS10YWJsZS1oZWFkZXItY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0YVRhYmxlUm93Q29tcG9uZW50IH0gZnJvbSAnLi92aXN1YWxpemF0aW9uL2RhdGEtdGFibGUvZGF0YS10YWJsZS1yb3cuY29tcG9uZW50JztcbmltcG9ydCB7IERheXNQaXBlIH0gZnJvbSAnLi9mb3JtYXQvcGlwZXMvZGF5cy5waXBlJztcbmltcG9ydCB7IERvbGxhcnNQaXBlIH0gZnJvbSAnLi9mb3JtYXQvcGlwZXMvZG9sbGFycy5waXBlJztcbmltcG9ydCB7IERvbnV0Q29tcG9uZW50IH0gZnJvbSAnLi92aXN1YWxpemF0aW9uL2RvbnV0L2RvbnV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vcHVibGljLWFwaSc7XG5pbXBvcnQgeyBMZWdlbmRJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi92aXN1YWxpemF0aW9uL2xlZ2VuZC1pdGVtL2xlZ2VuZC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZXRyaWNDb21wb25lbnQgfSBmcm9tICcuL3Zpc3VhbGl6YXRpb24vbWV0cmljL21ldHJpYy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE51bWJlclBpcGUgfSBmcm9tICcuL2Zvcm1hdC9waXBlcy9udW1iZXIucGlwZSc7XG5pbXBvcnQgeyBQZXJjZW50YWdlUGlwZSB9IGZyb20gJy4vZm9ybWF0L3BpcGVzL3BlcmNlbnRhZ2UucGlwZSc7XG5pbXBvcnQgeyBTbWFsbEN1cnJlbmN5UGlwZSB9IGZyb20gJy4vZm9ybWF0L3BpcGVzL3NtYWxsLWN1cnJlbmN5LnBpcGUnO1xuaW1wb3J0IHsgU3RhY2tlZENvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vdmlzdWFsaXphdGlvbi9zdGFja2VkLWNvbHVtbi9zdGFja2VkLWNvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dFRvZ2dsZUNvbXBvbmVudCB9IGZyb20gJy4vY29udGVudC10b2dnbGUvdGV4dC10b2dnbGUvdGV4dC10b2dnbGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRpbWVTZXJpZXNDb21wb25lbnQgfSBmcm9tICcuL3Zpc3VhbGl6YXRpb24vdGltZS1zZXJpZXMvdGltZS1zZXJpZXMuY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL21vZGFsL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJy4vbW9kYWwvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUcmVuZENvbXBvbmVudCB9IGZyb20gJy4vdmlzdWFsaXphdGlvbi90cmVuZC90cmVuZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgWmVyb1N0YXRlQ29tcG9uZW50IH0gZnJvbSAnLi92aXN1YWxpemF0aW9uL3plcm8tc3RhdGUvemVyby1zdGF0ZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBDYWxsb3V0Q29tcG9uZW50LFxuICAgIENhbGxvdXREaXJlY3RpdmUsXG4gICAgQ2FsbG91dE91dGxldENvbXBvbmVudCxcbiAgICBEYXRhVGFibGVDZWxsQ29tcG9uZW50LFxuICAgIERhdGFUYWJsZUNvbXBvbmVudCxcbiAgICBEYXRhVGFibGVIZWFkZXJDZWxsQ29tcG9uZW50LFxuICAgIERhdGFUYWJsZVJvd0NvbXBvbmVudCxcbiAgICBEYXlzUGlwZSxcbiAgICBEb2xsYXJzUGlwZSxcbiAgICBEb251dENvbXBvbmVudCxcbiAgICBJY29uQ29tcG9uZW50LFxuICAgIExlZ2VuZEl0ZW1Db21wb25lbnQsXG4gICAgTWV0cmljQ29tcG9uZW50LFxuICAgIE51bWJlclBpcGUsXG4gICAgUGVyY2VudGFnZVBpcGUsXG4gICAgVHJlbmRDb21wb25lbnQsXG4gICAgU21hbGxDdXJyZW5jeVBpcGUsXG4gICAgU3RhY2tlZENvbHVtbkNvbXBvbmVudCxcbiAgICBUZXh0VG9nZ2xlQ29tcG9uZW50LFxuICAgIFRpbWVTZXJpZXNDb21wb25lbnQsXG4gICAgVG9vbHRpcENvbXBvbmVudCxcbiAgICBUb29sdGlwRGlyZWN0aXZlLFxuICAgIFplcm9TdGF0ZUNvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIENhbGxvdXRDb21wb25lbnQsXG4gICAgQ2FsbG91dERpcmVjdGl2ZSxcbiAgICBDYWxsb3V0T3V0bGV0Q29tcG9uZW50LFxuICAgIERhdGFUYWJsZUNlbGxDb21wb25lbnQsXG4gICAgRGF0YVRhYmxlQ29tcG9uZW50LFxuICAgIERhdGFUYWJsZUhlYWRlckNlbGxDb21wb25lbnQsXG4gICAgRGF0YVRhYmxlUm93Q29tcG9uZW50LFxuICAgIERheXNQaXBlLFxuICAgIERvbGxhcnNQaXBlLFxuICAgIERvbnV0Q29tcG9uZW50LFxuICAgIEljb25Db21wb25lbnQsXG4gICAgTGVnZW5kSXRlbUNvbXBvbmVudCxcbiAgICBNZXRyaWNDb21wb25lbnQsXG4gICAgTnVtYmVyUGlwZSxcbiAgICBQZXJjZW50YWdlUGlwZSxcbiAgICBUcmVuZENvbXBvbmVudCxcbiAgICBTbWFsbEN1cnJlbmN5UGlwZSxcbiAgICBTdGFja2VkQ29sdW1uQ29tcG9uZW50LFxuICAgIFRleHRUb2dnbGVDb21wb25lbnQsXG4gICAgVGltZVNlcmllc0NvbXBvbmVudCxcbiAgICBUb29sdGlwQ29tcG9uZW50LFxuICAgIFRvb2x0aXBEaXJlY3RpdmUsXG4gICAgWmVyb1N0YXRlQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgUml2TW9kdWxlIHt9XG4iXX0=
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicml2Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL3Jpdi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNyRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUMzRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFB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cUJBQ25CO29CQUNELE9BQU8sRUFBRTt3QkFDUCxlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIsa0JBQWtCO3dCQUNsQiw0QkFBNEI7d0JBQzVCLHFCQUFxQjt3QkFDckIsUUFBUTt3QkFDUixXQUFXO3dCQUNYLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZixVQUFVO3dCQUNWLGNBQWM7d0JBQ2QscUJBQXFCO3dCQUNyQixpQkFBaUI7d0JBQ2pCLHNCQUFzQjt3QkFDdEIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLGtCQUFrQjtxQkFDbkI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FsbG91dENvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwvY2FsbG91dC9jYWxsb3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYWxsb3V0RGlyZWN0aXZlIH0gZnJvbSAnLi9tb2RhbC9jYWxsb3V0L2NhbGxvdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IENhbGxvdXRPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuL21vZGFsL2NhbGxvdXQvY2FsbG91dC1vdXRsZXQuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEYXRhVGFibGVDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi92aXN1YWxpemF0aW9uL2RhdGEtdGFibGUvZGF0YS10YWJsZS1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRhVGFibGVDb21wb25lbnQgfSBmcm9tICcuL3Zpc3VhbGl6YXRpb24vZGF0YS10YWJsZS9kYXRhLXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRhVGFibGVIZWFkZXJDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi92aXN1YWxpemF0aW9uL2RhdGEtdGFibGUvZGF0YS10YWJsZS1oZWFkZXItY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0YVRhYmxlUm93Q29tcG9uZW50IH0gZnJvbSAnLi92aXN1YWxpemF0aW9uL2RhdGEtdGFibGUvZGF0YS10YWJsZS1yb3cuY29tcG9uZW50JztcbmltcG9ydCB7IERheXNQaXBlIH0gZnJvbSAnLi9mb3JtYXQvcGlwZXMvZGF5cy5waXBlJztcbmltcG9ydCB7IERvbGxhcnNQaXBlIH0gZnJvbSAnLi9mb3JtYXQvcGlwZXMvZG9sbGFycy5waXBlJztcbmltcG9ydCB7IERvbnV0Q29tcG9uZW50IH0gZnJvbSAnLi92aXN1YWxpemF0aW9uL2RvbnV0L2RvbnV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIZWxwQ29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC9oZWxwL2hlbHAuY29tcG9uZW50JztcbmltcG9ydCB7IEhpZ2hsaWdodENvbXBvbmVudCB9IGZyb20gJy4vdmlzdWFsaXphdGlvbi9oaWdobGlnaHQvaGlnaGxpZ2h0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IExlZ2VuZEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3Zpc3VhbGl6YXRpb24vbGVnZW5kLWl0ZW0vbGVnZW5kLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IExvYWRpbmdDb21wb25lbnQgfSBmcm9tICcuL2xvYWQvbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMb2FkaW5nQ292ZXJDb21wb25lbnQgfSBmcm9tICcuL2xvYWQvbG9hZGluZy1jb3Zlci9sb2FkaW5nLWNvdmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZXRyaWNDb21wb25lbnQgfSBmcm9tICcuL3Zpc3VhbGl6YXRpb24vbWV0cmljL21ldHJpYy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE51bWJlclBpcGUgfSBmcm9tICcuL2Zvcm1hdC9waXBlcy9udW1iZXIucGlwZSc7XG5pbXBvcnQgeyBQZXJjZW50YWdlUGlwZSB9IGZyb20gJy4vZm9ybWF0L3BpcGVzL3BlcmNlbnRhZ2UucGlwZSc7XG5pbXBvcnQgeyBTaW5nbGVTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2lucHV0L3NpbmdsZS1zZWxlY3Qvc2luZ2xlLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU21hbGxDdXJyZW5jeVBpcGUgfSBmcm9tICcuL2Zvcm1hdC9waXBlcy9zbWFsbC1jdXJyZW5jeS5waXBlJztcbmltcG9ydCB7IFN0YWNrZWRDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL3Zpc3VhbGl6YXRpb24vc3RhY2tlZC1jb2x1bW4vc3RhY2tlZC1jb2x1bW4uY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbnRlbnQtdG9nZ2xlL3RleHQtdG9nZ2xlL3RleHQtdG9nZ2xlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaW1lU2VyaWVzQ29tcG9uZW50IH0gZnJvbSAnLi92aXN1YWxpemF0aW9uL3RpbWUtc2VyaWVzL3RpbWUtc2VyaWVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuL21vZGFsL3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVHJlbmRDb21wb25lbnQgfSBmcm9tICcuL3Zpc3VhbGl6YXRpb24vdHJlbmQvdHJlbmQuY29tcG9uZW50JztcbmltcG9ydCB7IFplcm9TdGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vdmlzdWFsaXphdGlvbi96ZXJvLXN0YXRlL3plcm8tc3RhdGUuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIENhbGxvdXRDb21wb25lbnQsXG4gICAgQ2FsbG91dERpcmVjdGl2ZSxcbiAgICBDYWxsb3V0T3V0bGV0Q29tcG9uZW50LFxuICAgIERhdGFUYWJsZUNlbGxDb21wb25lbnQsXG4gICAgRGF0YVRhYmxlQ29tcG9uZW50LFxuICAgIERhdGFUYWJsZUhlYWRlckNlbGxDb21wb25lbnQsXG4gICAgRGF0YVRhYmxlUm93Q29tcG9uZW50LFxuICAgIERheXNQaXBlLFxuICAgIERvbGxhcnNQaXBlLFxuICAgIERvbnV0Q29tcG9uZW50LFxuICAgIEhlbHBDb21wb25lbnQsXG4gICAgSGlnaGxpZ2h0Q29tcG9uZW50LFxuICAgIEljb25Db21wb25lbnQsXG4gICAgTGVnZW5kSXRlbUNvbXBvbmVudCxcbiAgICBMb2FkaW5nQ29tcG9uZW50LFxuICAgIExvYWRpbmdDb3ZlckNvbXBvbmVudCxcbiAgICBNZXRyaWNDb21wb25lbnQsXG4gICAgTnVtYmVyUGlwZSxcbiAgICBQZXJjZW50YWdlUGlwZSxcbiAgICBTaW5nbGVTZWxlY3RDb21wb25lbnQsXG4gICAgU21hbGxDdXJyZW5jeVBpcGUsXG4gICAgU3RhY2tlZENvbHVtbkNvbXBvbmVudCxcbiAgICBUZXh0VG9nZ2xlQ29tcG9uZW50LFxuICAgIFRpbWVTZXJpZXNDb21wb25lbnQsXG4gICAgVG9vbHRpcENvbXBvbmVudCxcbiAgICBUb29sdGlwRGlyZWN0aXZlLFxuICAgIFRyZW5kQ29tcG9uZW50LFxuICAgIFplcm9TdGF0ZUNvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBDYWxsb3V0Q29tcG9uZW50LFxuICAgIENhbGxvdXREaXJlY3RpdmUsXG4gICAgQ2FsbG91dE91dGxldENvbXBvbmVudCxcbiAgICBEYXRhVGFibGVDZWxsQ29tcG9uZW50LFxuICAgIERhdGFUYWJsZUNvbXBvbmVudCxcbiAgICBEYXRhVGFibGVIZWFkZXJDZWxsQ29tcG9uZW50LFxuICAgIERhdGFUYWJsZVJvd0NvbXBvbmVudCxcbiAgICBEYXlzUGlwZSxcbiAgICBEb2xsYXJzUGlwZSxcbiAgICBEb251dENvbXBvbmVudCxcbiAgICBIZWxwQ29tcG9uZW50LFxuICAgIEhpZ2hsaWdodENvbXBvbmVudCxcbiAgICBJY29uQ29tcG9uZW50LFxuICAgIExlZ2VuZEl0ZW1Db21wb25lbnQsXG4gICAgTG9hZGluZ0NvbXBvbmVudCxcbiAgICBMb2FkaW5nQ292ZXJDb21wb25lbnQsXG4gICAgTWV0cmljQ29tcG9uZW50LFxuICAgIE51bWJlclBpcGUsXG4gICAgUGVyY2VudGFnZVBpcGUsXG4gICAgU2luZ2xlU2VsZWN0Q29tcG9uZW50LFxuICAgIFNtYWxsQ3VycmVuY3lQaXBlLFxuICAgIFN0YWNrZWRDb2x1bW5Db21wb25lbnQsXG4gICAgVGV4dFRvZ2dsZUNvbXBvbmVudCxcbiAgICBUaW1lU2VyaWVzQ29tcG9uZW50LFxuICAgIFRvb2x0aXBDb21wb25lbnQsXG4gICAgVG9vbHRpcERpcmVjdGl2ZSxcbiAgICBUcmVuZENvbXBvbmVudCxcbiAgICBaZXJvU3RhdGVDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBSaXZNb2R1bGUge31cbiJdfQ==