@tolle_/tolle-ui 0.0.17-beta → 0.0.19-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/esm2022/lib/alert.component.mjs +116 -0
  2. package/esm2022/lib/avatar-fallback.component.mjs +19 -0
  3. package/esm2022/lib/avatar.component.mjs +86 -0
  4. package/esm2022/lib/breadcrumb-item.component.mjs +19 -0
  5. package/esm2022/lib/breadcrumb-link.component.mjs +60 -0
  6. package/esm2022/lib/breadcrumb-separator.component.mjs +23 -0
  7. package/esm2022/lib/breadcrumb.component.mjs +28 -0
  8. package/esm2022/lib/button.component.mjs +44 -36
  9. package/esm2022/lib/date-picker.component.mjs +2 -2
  10. package/esm2022/lib/empty-state.component.mjs +111 -0
  11. package/esm2022/lib/input.component.mjs +2 -2
  12. package/esm2022/lib/masked-input.component.mjs +119 -43
  13. package/esm2022/lib/otp-group.component.mjs +15 -0
  14. package/esm2022/lib/otp-slot.component.mjs +62 -0
  15. package/esm2022/lib/otp.component.mjs +127 -0
  16. package/esm2022/lib/popover-content.component.mjs +44 -0
  17. package/esm2022/lib/popover.component.mjs +105 -0
  18. package/esm2022/lib/radio-group.component.mjs +78 -0
  19. package/esm2022/lib/radio-item.component.mjs +112 -0
  20. package/esm2022/lib/radio-service.mjs +23 -0
  21. package/esm2022/lib/textarea.component.mjs +2 -2
  22. package/esm2022/lib/theme.service.mjs +25 -1
  23. package/esm2022/public-api.mjs +16 -1
  24. package/esm2022/tolle-ui.mjs +5 -0
  25. package/fesm2022/{tolle_-tolle-ui.mjs → tolle-ui.mjs} +1150 -83
  26. package/fesm2022/tolle-ui.mjs.map +1 -0
  27. package/lib/alert.component.d.ts +25 -0
  28. package/lib/avatar-fallback.component.d.ts +5 -0
  29. package/lib/avatar.component.d.ts +17 -0
  30. package/lib/breadcrumb-item.component.d.ts +5 -0
  31. package/lib/breadcrumb-link.component.d.ts +6 -0
  32. package/lib/breadcrumb-separator.component.d.ts +5 -0
  33. package/lib/breadcrumb.component.d.ts +8 -0
  34. package/lib/button.component.d.ts +5 -7
  35. package/lib/empty-state.component.d.ts +20 -0
  36. package/lib/masked-input.component.d.ts +8 -1
  37. package/lib/otp-group.component.d.ts +5 -0
  38. package/lib/otp-slot.component.d.ts +12 -0
  39. package/lib/otp.component.d.ts +21 -0
  40. package/lib/popover-content.component.d.ts +8 -0
  41. package/lib/popover.component.d.ts +19 -0
  42. package/lib/radio-group.component.d.ts +23 -0
  43. package/lib/radio-item.component.d.ts +22 -0
  44. package/lib/radio-service.d.ts +11 -0
  45. package/lib/theme.service.d.ts +2 -0
  46. package/package.json +7 -6
  47. package/public-api.d.ts +15 -0
  48. package/theme.css +9 -0
  49. package/esm2022/tolle_-tolle-ui.mjs +0 -5
  50. package/fesm2022/tolle_-tolle-ui.mjs.map +0 -1
@@ -0,0 +1,116 @@
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { cva } from 'class-variance-authority';
4
+ import { cn } from './utils/cn';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ const alertVariants = cva("relative w-full rounded-lg border p-4 transition-all duration-300 [&>i~div]:pl-7 [&>i]:absolute [&>i]:left-4 [&>i]:top-4 [&>i]:text-foreground", {
8
+ variants: {
9
+ variant: {
10
+ default: "bg-background text-foreground",
11
+ destructive: "border-destructive/50 text-destructive dark:border-destructive [&>i]:text-destructive",
12
+ success: "border-emerald-500/50 text-emerald-700 dark:text-emerald-400 [&>i]:text-emerald-600",
13
+ warning: "border-amber-500/50 text-amber-700 dark:text-amber-400 [&>i]:text-amber-600",
14
+ },
15
+ },
16
+ defaultVariants: {
17
+ variant: "default",
18
+ },
19
+ });
20
+ export class AlertComponent {
21
+ variant = 'default';
22
+ title;
23
+ class = '';
24
+ dismissible = false;
25
+ onClose = new EventEmitter();
26
+ dismissed = false;
27
+ isDismissing = false;
28
+ alertVariants = alertVariants;
29
+ cn = cn;
30
+ dismiss() {
31
+ this.isDismissing = true;
32
+ // Wait for animation to finish before removing from DOM
33
+ setTimeout(() => {
34
+ this.dismissed = true;
35
+ this.onClose.emit();
36
+ }, 300);
37
+ }
38
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
39
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AlertComponent, isStandalone: true, selector: "tolle-alert", inputs: { variant: "variant", title: "title", class: "class", dismissible: "dismissible" }, outputs: { onClose: "onClose" }, ngImport: i0, template: `
40
+ <div
41
+ *ngIf="!dismissed"
42
+ [class]="cn(alertVariants({ variant }), class)"
43
+ [class.opacity-0]="isDismissing"
44
+ [class.scale-95]="isDismissing"
45
+ role="alert"
46
+ >
47
+ <ng-content select="[icon]"></ng-content>
48
+
49
+ <button
50
+ *ngIf="dismissible"
51
+ (click)="dismiss()"
52
+ class="absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 group-hover:opacity-100"
53
+ [class.opacity-100]="dismissible"
54
+ >
55
+ <i class="ri-close-line text-lg"></i>
56
+ </button>
57
+
58
+ <div>
59
+ <h5 *ngIf="title" class="mb-1 font-medium leading-none tracking-tight">
60
+ {{ title }}
61
+ </h5>
62
+ <div class="text-sm [&_p]:leading-relaxed">
63
+ <ng-content></ng-content>
64
+ </div>
65
+ </div>
66
+ </div>
67
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
68
+ }
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertComponent, decorators: [{
70
+ type: Component,
71
+ args: [{
72
+ selector: 'tolle-alert',
73
+ standalone: true,
74
+ imports: [CommonModule],
75
+ template: `
76
+ <div
77
+ *ngIf="!dismissed"
78
+ [class]="cn(alertVariants({ variant }), class)"
79
+ [class.opacity-0]="isDismissing"
80
+ [class.scale-95]="isDismissing"
81
+ role="alert"
82
+ >
83
+ <ng-content select="[icon]"></ng-content>
84
+
85
+ <button
86
+ *ngIf="dismissible"
87
+ (click)="dismiss()"
88
+ class="absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 group-hover:opacity-100"
89
+ [class.opacity-100]="dismissible"
90
+ >
91
+ <i class="ri-close-line text-lg"></i>
92
+ </button>
93
+
94
+ <div>
95
+ <h5 *ngIf="title" class="mb-1 font-medium leading-none tracking-tight">
96
+ {{ title }}
97
+ </h5>
98
+ <div class="text-sm [&_p]:leading-relaxed">
99
+ <ng-content></ng-content>
100
+ </div>
101
+ </div>
102
+ </div>
103
+ `,
104
+ }]
105
+ }], propDecorators: { variant: [{
106
+ type: Input
107
+ }], title: [{
108
+ type: Input
109
+ }], class: [{
110
+ type: Input
111
+ }], dismissible: [{
112
+ type: Input
113
+ }], onClose: [{
114
+ type: Output
115
+ }] } });
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9sbGUvc3JjL2xpYi9hbGVydC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLEdBQUcsRUFBcUIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7QUFFaEMsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUN2QixnSkFBZ0osRUFDaEo7SUFDRSxRQUFRLEVBQUU7UUFDUixPQUFPLEVBQUU7WUFDUCxPQUFPLEVBQUUsK0JBQStCO1lBQ3hDLFdBQVcsRUFBRSx1RkFBdUY7WUFDcEcsT0FBTyxFQUFFLHFGQUFxRjtZQUM5RixPQUFPLEVBQUUsNkVBQTZFO1NBQ3ZGO0tBQ0Y7SUFDRCxlQUFlLEVBQUU7UUFDZixPQUFPLEVBQUUsU0FBUztLQUNuQjtDQUNGLENBQ0YsQ0FBQztBQXNDRixNQUFNLE9BQU8sY0FBYztJQUNoQixPQUFPLEdBQTZCLFNBQVMsQ0FBQztJQUM5QyxLQUFLLENBQVU7SUFDZixLQUFLLEdBQVcsRUFBRSxDQUFDO0lBQ25CLFdBQVcsR0FBWSxLQUFLLENBQUM7SUFFNUIsT0FBTyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFFN0MsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNsQixZQUFZLEdBQUcsS0FBSyxDQUFDO0lBRVgsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUM5QixFQUFFLEdBQUcsRUFBRSxDQUFDO0lBRWxCLE9BQU87UUFDTCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6Qix3REFBd0Q7UUFDeEQsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQzt3R0FyQlUsY0FBYzs0RkFBZCxjQUFjLG9NQTlCZjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRCVCwyREE3QlMsWUFBWTs7NEZBK0JYLGNBQWM7a0JBbEMxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0QlQ7aUJBQ0Y7OEJBRVUsT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBjdmEsIHR5cGUgVmFyaWFudFByb3BzIH0gZnJvbSAnY2xhc3MtdmFyaWFuY2UtYXV0aG9yaXR5JztcbmltcG9ydCB7IGNuIH0gZnJvbSAnLi91dGlscy9jbic7XG5cbmNvbnN0IGFsZXJ0VmFyaWFudHMgPSBjdmEoXG4gIFwicmVsYXRpdmUgdy1mdWxsIHJvdW5kZWQtbGcgYm9yZGVyIHAtNCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0zMDAgWyY+aX5kaXZdOnBsLTcgWyY+aV06YWJzb2x1dGUgWyY+aV06bGVmdC00IFsmPmldOnRvcC00IFsmPmldOnRleHQtZm9yZWdyb3VuZFwiLFxuICB7XG4gICAgdmFyaWFudHM6IHtcbiAgICAgIHZhcmlhbnQ6IHtcbiAgICAgICAgZGVmYXVsdDogXCJiZy1iYWNrZ3JvdW5kIHRleHQtZm9yZWdyb3VuZFwiLFxuICAgICAgICBkZXN0cnVjdGl2ZTogXCJib3JkZXItZGVzdHJ1Y3RpdmUvNTAgdGV4dC1kZXN0cnVjdGl2ZSBkYXJrOmJvcmRlci1kZXN0cnVjdGl2ZSBbJj5pXTp0ZXh0LWRlc3RydWN0aXZlXCIsXG4gICAgICAgIHN1Y2Nlc3M6IFwiYm9yZGVyLWVtZXJhbGQtNTAwLzUwIHRleHQtZW1lcmFsZC03MDAgZGFyazp0ZXh0LWVtZXJhbGQtNDAwIFsmPmldOnRleHQtZW1lcmFsZC02MDBcIixcbiAgICAgICAgd2FybmluZzogXCJib3JkZXItYW1iZXItNTAwLzUwIHRleHQtYW1iZXItNzAwIGRhcms6dGV4dC1hbWJlci00MDAgWyY+aV06dGV4dC1hbWJlci02MDBcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICBkZWZhdWx0VmFyaWFudHM6IHtcbiAgICAgIHZhcmlhbnQ6IFwiZGVmYXVsdFwiLFxuICAgIH0sXG4gIH1cbik7XG5cbnR5cGUgQWxlcnRWYXJpYW50cyA9IFZhcmlhbnRQcm9wczx0eXBlb2YgYWxlcnRWYXJpYW50cz47XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RvbGxlLWFsZXJ0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCIhZGlzbWlzc2VkXCJcbiAgICAgIFtjbGFzc109XCJjbihhbGVydFZhcmlhbnRzKHsgdmFyaWFudCB9KSwgY2xhc3MpXCJcbiAgICAgIFtjbGFzcy5vcGFjaXR5LTBdPVwiaXNEaXNtaXNzaW5nXCJcbiAgICAgIFtjbGFzcy5zY2FsZS05NV09XCJpc0Rpc21pc3NpbmdcIlxuICAgICAgcm9sZT1cImFsZXJ0XCJcbiAgICA+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbaWNvbl1cIj48L25nLWNvbnRlbnQ+XG5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJkaXNtaXNzaWJsZVwiXG4gICAgICAgIChjbGljayk9XCJkaXNtaXNzKClcIlxuICAgICAgICBjbGFzcz1cImFic29sdXRlIHJpZ2h0LTIgdG9wLTIgcm91bmRlZC1tZCBwLTEgdGV4dC1mb3JlZ3JvdW5kLzUwIG9wYWNpdHktMCB0cmFuc2l0aW9uLW9wYWNpdHkgaG92ZXI6dGV4dC1mb3JlZ3JvdW5kIGZvY3VzOm9wYWNpdHktMTAwIGdyb3VwLWhvdmVyOm9wYWNpdHktMTAwXCJcbiAgICAgICAgW2NsYXNzLm9wYWNpdHktMTAwXT1cImRpc21pc3NpYmxlXCJcbiAgICAgID5cbiAgICAgICAgPGkgY2xhc3M9XCJyaS1jbG9zZS1saW5lIHRleHQtbGdcIj48L2k+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGRpdj5cbiAgICAgICAgPGg1ICpuZ0lmPVwidGl0bGVcIiBjbGFzcz1cIm1iLTEgZm9udC1tZWRpdW0gbGVhZGluZy1ub25lIHRyYWNraW5nLXRpZ2h0XCI+XG4gICAgICAgICAge3sgdGl0bGUgfX1cbiAgICAgICAgPC9oNT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc20gWyZfcF06bGVhZGluZy1yZWxheGVkXCI+XG4gICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBBbGVydENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHZhcmlhbnQ6IEFsZXJ0VmFyaWFudHNbJ3ZhcmlhbnQnXSA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNsYXNzOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgZGlzbWlzc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgb25DbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBkaXNtaXNzZWQgPSBmYWxzZTtcbiAgaXNEaXNtaXNzaW5nID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIGFsZXJ0VmFyaWFudHMgPSBhbGVydFZhcmlhbnRzO1xuICBwcm90ZWN0ZWQgY24gPSBjbjtcblxuICBkaXNtaXNzKCkge1xuICAgIHRoaXMuaXNEaXNtaXNzaW5nID0gdHJ1ZTtcbiAgICAvLyBXYWl0IGZvciBhbmltYXRpb24gdG8gZmluaXNoIGJlZm9yZSByZW1vdmluZyBmcm9tIERPTVxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5kaXNtaXNzZWQgPSB0cnVlO1xuICAgICAgdGhpcy5vbkNsb3NlLmVtaXQoKTtcbiAgICB9LCAzMDApO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,19 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class AvatarFallbackComponent {
4
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AvatarFallbackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AvatarFallbackComponent, isStandalone: true, selector: "tolle-avatar-fallback", ngImport: i0, template: `
6
+ <div class="flex h-full w-full items-center justify-center bg-muted text-muted-foreground font-medium uppercase">
7
+ <ng-content></ng-content>
8
+ </div>
9
+ `, isInline: true, styles: [""] });
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AvatarFallbackComponent, decorators: [{
12
+ type: Component,
13
+ args: [{ selector: 'tolle-avatar-fallback', standalone: true, imports: [], template: `
14
+ <div class="flex h-full w-full items-center justify-center bg-muted text-muted-foreground font-medium uppercase">
15
+ <ng-content></ng-content>
16
+ </div>
17
+ ` }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLWZhbGxiYWNrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RvbGxlL3NyYy9saWIvYXZhdGFyLWZhbGxiYWNrLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWExQyxNQUFNLE9BQU8sdUJBQXVCO3dHQUF2Qix1QkFBdUI7NEZBQXZCLHVCQUF1QixpRkFQeEI7Ozs7R0FJVDs7NEZBR1UsdUJBQXVCO2tCQVhuQyxTQUFTOytCQUNFLHVCQUF1QixjQUNyQixJQUFJLFdBQ1AsRUFBRSxZQUNEOzs7O0dBSVQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndG9sbGUtYXZhdGFyLWZhbGxiYWNrJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW10sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImZsZXggaC1mdWxsIHctZnVsbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYmctbXV0ZWQgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGZvbnQtbWVkaXVtIHVwcGVyY2FzZVwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IGBgXG59KVxuZXhwb3J0IGNsYXNzIEF2YXRhckZhbGxiYWNrQ29tcG9uZW50IHtcblxufVxuIl19
@@ -0,0 +1,86 @@
1
+ import { Component, Input, HostBinding } from '@angular/core';
2
+ import { cn } from './utils/cn';
3
+ import { NgIf } from '@angular/common';
4
+ import * as i0 from "@angular/core";
5
+ export class AvatarComponent {
6
+ cdr;
7
+ src;
8
+ alt = '';
9
+ size = 'default';
10
+ shape = 'circle';
11
+ // We remove @Input() class because standard class="" attributes
12
+ // on the tag will now work automatically with the host bindings.
13
+ isLoading = true;
14
+ hasError = false;
15
+ constructor(cdr) {
16
+ this.cdr = cdr;
17
+ }
18
+ onLoad() {
19
+ this.isLoading = false;
20
+ this.cdr.detectChanges();
21
+ }
22
+ onError() {
23
+ this.isLoading = false;
24
+ this.hasError = true;
25
+ this.cdr.detectChanges();
26
+ }
27
+ // Apply styles directly to the <tolle-avatar> tag
28
+ get hostClasses() {
29
+ return cn(
30
+ // Layout & Shape
31
+ "relative flex shrink-0 overflow-hidden bg-muted", this.shape === 'circle' ? 'rounded-full' : 'rounded-md',
32
+ // Sizes
33
+ this.size === 'sm' && "h-8 w-8 text-xs", this.size === 'default' && "h-10 w-10", this.size === 'lg' && "h-16 w-16 text-lg", this.size === 'xl' && "h-24 w-24 text-xl");
34
+ }
35
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AvatarComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
36
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AvatarComponent, isStandalone: true, selector: "tolle-avatar", inputs: { src: "src", alt: "alt", size: "size", shape: "shape" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: `
37
+ <!-- Image Layer -->
38
+ <img *ngIf="src && !hasError"
39
+ [src]="src"
40
+ [alt]="alt"
41
+ (load)="onLoad()"
42
+ (error)="onError()"
43
+ [class.opacity-0]="isLoading"
44
+ class="h-full w-full object-cover transition-opacity duration-300" />
45
+
46
+ <!-- Fallback Layer -->
47
+ <div *ngIf="hasError || !src || isLoading" class="flex h-full w-full items-center justify-center bg-muted">
48
+ <ng-content></ng-content>
49
+ </div>
50
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AvatarComponent, decorators: [{
53
+ type: Component,
54
+ args: [{
55
+ selector: 'tolle-avatar',
56
+ standalone: true,
57
+ imports: [NgIf],
58
+ template: `
59
+ <!-- Image Layer -->
60
+ <img *ngIf="src && !hasError"
61
+ [src]="src"
62
+ [alt]="alt"
63
+ (load)="onLoad()"
64
+ (error)="onError()"
65
+ [class.opacity-0]="isLoading"
66
+ class="h-full w-full object-cover transition-opacity duration-300" />
67
+
68
+ <!-- Fallback Layer -->
69
+ <div *ngIf="hasError || !src || isLoading" class="flex h-full w-full items-center justify-center bg-muted">
70
+ <ng-content></ng-content>
71
+ </div>
72
+ `
73
+ }]
74
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { src: [{
75
+ type: Input
76
+ }], alt: [{
77
+ type: Input
78
+ }], size: [{
79
+ type: Input
80
+ }], shape: [{
81
+ type: Input
82
+ }], hostClasses: [{
83
+ type: HostBinding,
84
+ args: ['class']
85
+ }] } });
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RvbGxlL3NyYy9saWIvYXZhdGFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDaEMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQXNCdkMsTUFBTSxPQUFPLGVBQWU7SUFZTjtJQVhYLEdBQUcsQ0FBVTtJQUNiLEdBQUcsR0FBVyxFQUFFLENBQUM7SUFDakIsSUFBSSxHQUFtQyxTQUFTLENBQUM7SUFDakQsS0FBSyxHQUF3QixRQUFRLENBQUM7SUFFL0MsZ0VBQWdFO0lBQ2hFLGlFQUFpRTtJQUVqRSxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ2pCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFakIsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7SUFBRyxDQUFDO0lBRTlDLE1BQU07UUFDSixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsa0RBQWtEO0lBQ2xELElBQ0ksV0FBVztRQUNiLE9BQU8sRUFBRTtRQUNQLGlCQUFpQjtRQUNqQixpREFBaUQsRUFDakQsSUFBSSxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsWUFBWTtRQUV2RCxRQUFRO1FBQ1IsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLElBQUksaUJBQWlCLEVBQ3ZDLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLFdBQVcsRUFDdEMsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLElBQUksbUJBQW1CLEVBQ3pDLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxJQUFJLG1CQUFtQixDQUMxQyxDQUFDO0lBQ0osQ0FBQzt3R0F2Q1UsZUFBZTs0RkFBZixlQUFlLGlNQWhCaEI7Ozs7Ozs7Ozs7Ozs7O0dBY1QsNERBZlMsSUFBSTs7NEZBaUJILGVBQWU7a0JBcEIzQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDO29CQUNmLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7R0FjVDtpQkFDRjtzRkFFVSxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBdUJGLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjbiB9IGZyb20gJy4vdXRpbHMvY24nO1xuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RvbGxlLWF2YXRhcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8IS0tIEltYWdlIExheWVyIC0tPlxuICAgIDxpbWcgKm5nSWY9XCJzcmMgJiYgIWhhc0Vycm9yXCJcbiAgICAgICAgIFtzcmNdPVwic3JjXCJcbiAgICAgICAgIFthbHRdPVwiYWx0XCJcbiAgICAgICAgIChsb2FkKT1cIm9uTG9hZCgpXCJcbiAgICAgICAgIChlcnJvcik9XCJvbkVycm9yKClcIlxuICAgICAgICAgW2NsYXNzLm9wYWNpdHktMF09XCJpc0xvYWRpbmdcIlxuICAgICAgICAgY2xhc3M9XCJoLWZ1bGwgdy1mdWxsIG9iamVjdC1jb3ZlciB0cmFuc2l0aW9uLW9wYWNpdHkgZHVyYXRpb24tMzAwXCIgLz5cblxuICAgIDwhLS0gRmFsbGJhY2sgTGF5ZXIgLS0+XG4gICAgPGRpdiAqbmdJZj1cImhhc0Vycm9yIHx8ICFzcmMgfHwgaXNMb2FkaW5nXCIgY2xhc3M9XCJmbGV4IGgtZnVsbCB3LWZ1bGwgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJnLW11dGVkXCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgQXZhdGFyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgc3JjPzogc3RyaW5nO1xuICBASW5wdXQoKSBhbHQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBzaXplOiAnc20nIHwgJ2RlZmF1bHQnIHwgJ2xnJyB8ICd4bCcgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIHNoYXBlOiAnY2lyY2xlJyB8ICdzcXVhcmUnID0gJ2NpcmNsZSc7XG5cbiAgLy8gV2UgcmVtb3ZlIEBJbnB1dCgpIGNsYXNzIGJlY2F1c2Ugc3RhbmRhcmQgY2xhc3M9XCJcIiBhdHRyaWJ1dGVzXG4gIC8vIG9uIHRoZSB0YWcgd2lsbCBub3cgd29yayBhdXRvbWF0aWNhbGx5IHdpdGggdGhlIGhvc3QgYmluZGluZ3MuXG5cbiAgaXNMb2FkaW5nID0gdHJ1ZTtcbiAgaGFzRXJyb3IgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgb25Mb2FkKCkge1xuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgb25FcnJvcigpIHtcbiAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgIHRoaXMuaGFzRXJyb3IgPSB0cnVlO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIC8vIEFwcGx5IHN0eWxlcyBkaXJlY3RseSB0byB0aGUgPHRvbGxlLWF2YXRhcj4gdGFnXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKSB7XG4gICAgcmV0dXJuIGNuKFxuICAgICAgLy8gTGF5b3V0ICYgU2hhcGVcbiAgICAgIFwicmVsYXRpdmUgZmxleCBzaHJpbmstMCBvdmVyZmxvdy1oaWRkZW4gYmctbXV0ZWRcIixcbiAgICAgIHRoaXMuc2hhcGUgPT09ICdjaXJjbGUnID8gJ3JvdW5kZWQtZnVsbCcgOiAncm91bmRlZC1tZCcsXG5cbiAgICAgIC8vIFNpemVzXG4gICAgICB0aGlzLnNpemUgPT09ICdzbScgJiYgXCJoLTggdy04IHRleHQteHNcIixcbiAgICAgIHRoaXMuc2l6ZSA9PT0gJ2RlZmF1bHQnICYmIFwiaC0xMCB3LTEwXCIsXG4gICAgICB0aGlzLnNpemUgPT09ICdsZycgJiYgXCJoLTE2IHctMTYgdGV4dC1sZ1wiLFxuICAgICAgdGhpcy5zaXplID09PSAneGwnICYmIFwiaC0yNCB3LTI0IHRleHQteGxcIlxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class BreadcrumbItemComponent {
4
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: BreadcrumbItemComponent, isStandalone: true, selector: "tolle-breadcrumb-item", ngImport: i0, template: `
6
+ <li class="inline-flex items-center gap-1.5">
7
+ <ng-content></ng-content>
8
+ </li>
9
+ `, isInline: true, styles: [""] });
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbItemComponent, decorators: [{
12
+ type: Component,
13
+ args: [{ selector: 'tolle-breadcrumb-item', standalone: true, imports: [], template: `
14
+ <li class="inline-flex items-center gap-1.5">
15
+ <ng-content></ng-content>
16
+ </li>
17
+ ` }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RvbGxlL3NyYy9saWIvYnJlYWRjcnVtYi1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWExQyxNQUFNLE9BQU8sdUJBQXVCO3dHQUF2Qix1QkFBdUI7NEZBQXZCLHVCQUF1QixpRkFQeEI7Ozs7R0FJVDs7NEZBR1UsdUJBQXVCO2tCQVhuQyxTQUFTOytCQUNFLHVCQUF1QixjQUNyQixJQUFJLFdBQ1AsRUFBRSxZQUNEOzs7O0dBSVQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndG9sbGUtYnJlYWRjcnVtYi1pdGVtJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW10sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGxpIGNsYXNzPVwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjVcIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2xpPlxuICBgLFxuICBzdHlsZXM6IGBgXG59KVxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJJdGVtQ29tcG9uZW50IHtcblxufVxuIl19
@@ -0,0 +1,60 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { NgIf, NgTemplateOutlet } from '@angular/common';
3
+ import * as i0 from "@angular/core";
4
+ export class BreadcrumbLinkComponent {
5
+ active = false;
6
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: BreadcrumbLinkComponent, isStandalone: true, selector: "tolle-breadcrumb-link", inputs: { active: "active" }, ngImport: i0, template: `
8
+ <ng-template #content>
9
+ <ng-content></ng-content>
10
+ </ng-template>
11
+
12
+ <ng-container *ngIf="active; else linkTemplate">
13
+ <span
14
+ role="link"
15
+ aria-disabled="true"
16
+ aria-current="page"
17
+ class="font-normal text-foreground"
18
+ >
19
+ <ng-container *ngTemplateOutlet="content"></ng-container>
20
+ </span>
21
+ </ng-container>
22
+
23
+ <ng-template #linkTemplate>
24
+ <div class="transition-colors hover:text-foreground cursor-pointer">
25
+ <ng-container *ngTemplateOutlet="content"></ng-container>
26
+ </div>
27
+ </ng-template>
28
+ `, isInline: true, styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbLinkComponent, decorators: [{
31
+ type: Component,
32
+ args: [{ selector: 'tolle-breadcrumb-link', standalone: true, imports: [
33
+ NgIf,
34
+ NgTemplateOutlet
35
+ ], template: `
36
+ <ng-template #content>
37
+ <ng-content></ng-content>
38
+ </ng-template>
39
+
40
+ <ng-container *ngIf="active; else linkTemplate">
41
+ <span
42
+ role="link"
43
+ aria-disabled="true"
44
+ aria-current="page"
45
+ class="font-normal text-foreground"
46
+ >
47
+ <ng-container *ngTemplateOutlet="content"></ng-container>
48
+ </span>
49
+ </ng-container>
50
+
51
+ <ng-template #linkTemplate>
52
+ <div class="transition-colors hover:text-foreground cursor-pointer">
53
+ <ng-container *ngTemplateOutlet="content"></ng-container>
54
+ </div>
55
+ </ng-template>
56
+ ` }]
57
+ }], propDecorators: { active: [{
58
+ type: Input
59
+ }] } });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1saW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RvbGxlL3NyYy9saWIvYnJlYWRjcnVtYi1saW5rLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7O0FBaUN2RCxNQUFNLE9BQU8sdUJBQXVCO0lBQ3pCLE1BQU0sR0FBWSxLQUFLLENBQUM7d0dBRHRCLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLCtHQXhCeEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCVCwwRUF4QkMsSUFBSSw2RkFDSixnQkFBZ0I7OzRGQTBCUCx1QkFBdUI7a0JBL0JuQyxTQUFTOytCQUNFLHVCQUF1QixjQUNyQixJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixnQkFBZ0I7cUJBQ2pCLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCVDs4QkFJUSxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0b2xsZS1icmVhZGNydW1iLWxpbmsnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBOZ1RlbXBsYXRlT3V0bGV0XG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWN0aXZlOyBlbHNlIGxpbmtUZW1wbGF0ZVwiPlxuICAgICAgPHNwYW5cbiAgICAgICAgcm9sZT1cImxpbmtcIlxuICAgICAgICBhcmlhLWRpc2FibGVkPVwidHJ1ZVwiXG4gICAgICAgIGFyaWEtY3VycmVudD1cInBhZ2VcIlxuICAgICAgICBjbGFzcz1cImZvbnQtbm9ybWFsIHRleHQtZm9yZWdyb3VuZFwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L3NwYW4+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctdGVtcGxhdGUgI2xpbmtUZW1wbGF0ZT5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2l0aW9uLWNvbG9ycyBob3Zlcjp0ZXh0LWZvcmVncm91bmQgY3Vyc29yLXBvaW50ZXJcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIGAsXG4gIHN0eWxlczogYGBcbn0pXG5leHBvcnQgY2xhc3MgQnJlYWRjcnVtYkxpbmtDb21wb25lbnQge1xuICBASW5wdXQoKSBhY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcbn1cbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class BreadcrumbSeparatorComponent {
4
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbSeparatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: BreadcrumbSeparatorComponent, isStandalone: true, selector: "tolle-breadcrumb-separator", ngImport: i0, template: `
6
+ <li role="presentation" aria-hidden="true" class="[&>i]:size-3.5">
7
+ <ng-content>
8
+ <i class="ri-arrow-right-s-line"></i>
9
+ </ng-content>
10
+ </li>
11
+ `, isInline: true, styles: [""] });
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbSeparatorComponent, decorators: [{
14
+ type: Component,
15
+ args: [{ selector: 'tolle-breadcrumb-separator', standalone: true, imports: [], template: `
16
+ <li role="presentation" aria-hidden="true" class="[&>i]:size-3.5">
17
+ <ng-content>
18
+ <i class="ri-arrow-right-s-line"></i>
19
+ </ng-content>
20
+ </li>
21
+ ` }]
22
+ }] });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1zZXBhcmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9sbGUvc3JjL2xpYi9icmVhZGNydW1iLXNlcGFyYXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFlMUMsTUFBTSxPQUFPLDRCQUE0Qjt3R0FBNUIsNEJBQTRCOzRGQUE1Qiw0QkFBNEIsc0ZBVDdCOzs7Ozs7R0FNVDs7NEZBR1UsNEJBQTRCO2tCQWJ4QyxTQUFTOytCQUNFLDRCQUE0QixjQUMxQixJQUFJLFdBQ1AsRUFBRSxZQUNEOzs7Ozs7R0FNVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0b2xsZS1icmVhZGNydW1iLXNlcGFyYXRvcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxsaSByb2xlPVwicHJlc2VudGF0aW9uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJbJj5pXTpzaXplLTMuNVwiPlxuICAgICAgPG5nLWNvbnRlbnQ+XG4gICAgICAgIDxpIGNsYXNzPVwicmktYXJyb3ctcmlnaHQtcy1saW5lXCI+PC9pPlxuICAgICAgPC9uZy1jb250ZW50PlxuICAgIDwvbGk+XG4gIGAsXG4gIHN0eWxlczogYGBcbn0pXG5leHBvcnQgY2xhc3MgQnJlYWRjcnVtYlNlcGFyYXRvckNvbXBvbmVudCB7XG5cbn1cbiJdfQ==
@@ -0,0 +1,28 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { cn } from "./utils/cn";
3
+ import * as i0 from "@angular/core";
4
+ export class BreadcrumbComponent {
5
+ class = '';
6
+ cn = cn;
7
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: BreadcrumbComponent, isStandalone: true, selector: "tolle-breadcrumb", inputs: { class: "class" }, ngImport: i0, template: `
9
+ <nav aria-label="breadcrumb" [class]="cn('flex flex-wrap items-center break-words text-sm text-muted-foreground', class)">
10
+ <ol class="flex flex-wrap items-center gap-1.5 break-words">
11
+ <ng-content></ng-content>
12
+ </ol>
13
+ </nav>
14
+ `, isInline: true, styles: [""] });
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbComponent, decorators: [{
17
+ type: Component,
18
+ args: [{ selector: 'tolle-breadcrumb', standalone: true, imports: [], template: `
19
+ <nav aria-label="breadcrumb" [class]="cn('flex flex-wrap items-center break-words text-sm text-muted-foreground', class)">
20
+ <ol class="flex flex-wrap items-center gap-1.5 break-words">
21
+ <ng-content></ng-content>
22
+ </ol>
23
+ </nav>
24
+ ` }]
25
+ }], propDecorators: { class: [{
26
+ type: Input
27
+ }] } });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90b2xsZS9zcmMvbGliL2JyZWFkY3J1bWIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxZQUFZLENBQUM7O0FBZWhDLE1BQU0sT0FBTyxtQkFBbUI7SUFDckIsS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUNsQixFQUFFLEdBQUcsRUFBRSxDQUFDO3dHQUZQLG1CQUFtQjs0RkFBbkIsbUJBQW1CLHdHQVRwQjs7Ozs7O0dBTVQ7OzRGQUdVLG1CQUFtQjtrQkFiL0IsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQLEVBQUUsWUFDRDs7Ozs7O0dBTVQ7OEJBSVEsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNuIH0gZnJvbSBcIi4vdXRpbHMvY25cIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndG9sbGUtYnJlYWRjcnVtYicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuYXYgYXJpYS1sYWJlbD1cImJyZWFkY3J1bWJcIiBbY2xhc3NdPVwiY24oJ2ZsZXggZmxleC13cmFwIGl0ZW1zLWNlbnRlciBicmVhay13b3JkcyB0ZXh0LXNtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCcsIGNsYXNzKVwiPlxuICAgICAgPG9sIGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIGdhcC0xLjUgYnJlYWstd29yZHNcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9vbD5cbiAgICA8L25hdj5cbiAgYCxcbiAgc3R5bGVzOiBgYFxufSlcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1iQ29tcG9uZW50IHtcbiAgQElucHV0KCkgY2xhc3M6IHN0cmluZyA9ICcnO1xuICBwcm90ZWN0ZWQgY24gPSBjbjtcbn1cbiJdfQ==
@@ -1,12 +1,10 @@
1
1
  import { Component, Input } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { cva } from 'class-variance-authority';
4
- import { cn } from './utils/cn'; // Importing the helper we made in Phase 2
4
+ import { cn } from './utils/cn';
5
5
  import * as i0 from "@angular/core";
6
- // 1. Define Component Variants (The "Recipe")
7
- const buttonVariants = cva(
8
- // Base styles applied to ALL buttons
9
- "inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none ring-offset-background", {
6
+ import * as i1 from "@angular/common";
7
+ const buttonVariants = cva("inline-flex items-center justify-center rounded-md text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none ring-offset-background active:scale-[0.98]", {
10
8
  variants: {
11
9
  variant: {
12
10
  default: "bg-primary text-primary-foreground hover:bg-primary/90",
@@ -26,68 +24,78 @@ const buttonVariants = cva(
26
24
  icon: "h-10 w-10",
27
25
  "icon-lg": "h-11 w-11",
28
26
  },
29
- // Added block variant
30
- block: {
31
- true: "w-full flex",
32
- },
33
- // Added readonly variant
34
- readonly: {
35
- true: "pointer-events-none opacity-80",
36
- },
37
- disabled: {
38
- true: "pointer-events-none",
39
- }
27
+ busy: { true: "relative !cursor-wait !pointer-events-none" }
40
28
  },
41
29
  defaultVariants: {
42
30
  variant: "default",
43
31
  size: "default",
44
- block: false,
45
- readonly: false,
46
32
  },
47
33
  });
48
34
  export class ButtonComponent {
49
- // Allow consumers to pass a custom class to override styles
50
35
  class = '';
51
- // Expose the variants as Inputs
52
36
  variant = 'default';
53
37
  size = 'default';
54
- // Added new inputs
55
- block = false;
56
- readonly = false;
57
38
  disabled = false;
58
- // Calculate the final string of classes
39
+ busy = false;
40
+ readonly = false;
59
41
  get computedClass() {
60
- return cn(buttonVariants({ variant: this.variant, size: this.size, block: this.block, disabled: this.disabled }), this.class);
42
+ return cn(buttonVariants({
43
+ variant: this.variant,
44
+ size: this.size,
45
+ busy: this.busy
46
+ }), 'size-' + this.size, this.class);
61
47
  }
62
48
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
63
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ButtonComponent, isStandalone: true, selector: "tolle-button", inputs: { class: "class", variant: "variant", size: "size", block: "block", readonly: "readonly", disabled: "disabled" }, ngImport: i0, template: `
64
- <button [class]="computedClass" [disabled]="disabled" [attr.aria-readonly]="readonly">
65
- <span class="flex items-center justify-center gap-2 w-full h-full">
49
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ButtonComponent, isStandalone: true, selector: "tolle-button", inputs: { class: "class", variant: "variant", size: "size", disabled: "disabled", busy: "busy", readonly: "readonly" }, ngImport: i0, template: `
50
+ <button
51
+ [class]="computedClass"
52
+ [disabled]="disabled || busy"
53
+ [attr.aria-busy]="busy"
54
+ >
55
+ <div *ngIf="busy" class="absolute inset-0 flex items-center justify-center">
56
+ <svg class="animate-spin h-5 w-5 text-current" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24">
57
+ <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
58
+ <path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
59
+ </svg>
60
+ </div>
61
+
62
+ <span class="flex items-center justify-center w-full h-full pointer-events-none" [class.invisible]="busy">
66
63
  <ng-content></ng-content>
67
64
  </span>
68
65
  </button>
69
- `, isInline: true, styles: [":host ::ng-deep i{display:inline-flex;align-items:center;line-height:1;font-size:1.25em}:host ::ng-deep i:not(:only-child){margin-right:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
66
+ `, isInline: true, styles: [":host{display:inline-block;vertical-align:middle}:host ::ng-deep i{display:inline-flex;align-items:center;justify-content:center;line-height:1}:host-context(.size-xs) ::ng-deep i,:host-context(.size-icon-xs) ::ng-deep i,:host-context(.size-sm) ::ng-deep i,:host-context(.size-icon-sm) ::ng-deep i{font-size:1rem}:host-context(.size-default) ::ng-deep i,:host-context(.size-icon) ::ng-deep i,:host-context(.size-lg) ::ng-deep i,:host-context(.size-icon-lg) ::ng-deep i{font-size:1.2rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
70
67
  }
71
68
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, decorators: [{
72
69
  type: Component,
73
70
  args: [{ selector: 'tolle-button', standalone: true, imports: [CommonModule], template: `
74
- <button [class]="computedClass" [disabled]="disabled" [attr.aria-readonly]="readonly">
75
- <span class="flex items-center justify-center gap-2 w-full h-full">
71
+ <button
72
+ [class]="computedClass"
73
+ [disabled]="disabled || busy"
74
+ [attr.aria-busy]="busy"
75
+ >
76
+ <div *ngIf="busy" class="absolute inset-0 flex items-center justify-center">
77
+ <svg class="animate-spin h-5 w-5 text-current" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24">
78
+ <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
79
+ <path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
80
+ </svg>
81
+ </div>
82
+
83
+ <span class="flex items-center justify-center w-full h-full pointer-events-none" [class.invisible]="busy">
76
84
  <ng-content></ng-content>
77
85
  </span>
78
86
  </button>
79
- `, styles: [":host ::ng-deep i{display:inline-flex;align-items:center;line-height:1;font-size:1.25em}:host ::ng-deep i:not(:only-child){margin-right:.5rem}\n"] }]
87
+ `, styles: [":host{display:inline-block;vertical-align:middle}:host ::ng-deep i{display:inline-flex;align-items:center;justify-content:center;line-height:1}:host-context(.size-xs) ::ng-deep i,:host-context(.size-icon-xs) ::ng-deep i,:host-context(.size-sm) ::ng-deep i,:host-context(.size-icon-sm) ::ng-deep i{font-size:1rem}:host-context(.size-default) ::ng-deep i,:host-context(.size-icon) ::ng-deep i,:host-context(.size-lg) ::ng-deep i,:host-context(.size-icon-lg) ::ng-deep i{font-size:1.2rem}\n"] }]
80
88
  }], propDecorators: { class: [{
81
89
  type: Input
82
90
  }], variant: [{
83
91
  type: Input
84
92
  }], size: [{
85
93
  type: Input
86
- }], block: [{
94
+ }], disabled: [{
87
95
  type: Input
88
- }], readonly: [{
96
+ }], busy: [{
89
97
  type: Input
90
- }], disabled: [{
98
+ }], readonly: [{
91
99
  type: Input
92
100
  }] } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RvbGxlL3NyYy9saWIvYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLEdBQUcsRUFBcUIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sWUFBWSxDQUFDLENBQUMsMENBQTBDOztBQUUzRSw4Q0FBOEM7QUFDOUMsTUFBTSxjQUFjLEdBQUcsR0FBRztBQUN4QixxQ0FBcUM7QUFDckMsc1FBQXNRLEVBQ3RRO0lBQ0UsUUFBUSxFQUFFO1FBQ1IsT0FBTyxFQUFFO1lBQ1AsT0FBTyxFQUFFLHdEQUF3RDtZQUNqRSxXQUFXLEVBQUUsb0VBQW9FO1lBQ2pGLE9BQU8sRUFBRSxrRUFBa0U7WUFDM0UsU0FBUyxFQUFFLDhEQUE4RDtZQUN6RSxLQUFLLEVBQUUsOENBQThDO1lBQ3JELElBQUksRUFBRSxpREFBaUQ7U0FDeEQ7UUFDRCxJQUFJLEVBQUU7WUFDSixPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLEVBQUUsRUFBRSx1QkFBdUI7WUFDM0IsRUFBRSxFQUFFLHFCQUFxQjtZQUN6QixFQUFFLEVBQUUsc0JBQXNCO1lBQzFCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLElBQUksRUFBRSxXQUFXO1lBQ2pCLFNBQVMsRUFBRSxXQUFXO1NBQ3ZCO1FBQ0Qsc0JBQXNCO1FBQ3RCLEtBQUssRUFBRTtZQUNMLElBQUksRUFBRSxhQUFhO1NBQ3BCO1FBQ0QseUJBQXlCO1FBQ3pCLFFBQVEsRUFBRTtZQUNSLElBQUksRUFBRSxnQ0FBZ0M7U0FDdkM7UUFDRCxRQUFRLEVBQUU7WUFDUixJQUFJLEVBQUUscUJBQXFCO1NBQzVCO0tBQ0Y7SUFDRCxlQUFlLEVBQUU7UUFDZixPQUFPLEVBQUUsU0FBUztRQUNsQixJQUFJLEVBQUUsU0FBUztRQUNmLEtBQUssRUFBRSxLQUFLO1FBQ1osUUFBUSxFQUFFLEtBQUs7S0FDaEI7Q0FDRixDQUNGLENBQUM7QUErQkYsTUFBTSxPQUFPLGVBQWU7SUFDMUIsNERBQTREO0lBQ25ELEtBQUssR0FBVyxFQUFFLENBQUM7SUFFNUIsZ0NBQWdDO0lBQ3ZCLE9BQU8sR0FBMkIsU0FBUyxDQUFDO0lBQzVDLElBQUksR0FBd0IsU0FBUyxDQUFDO0lBRS9DLG1CQUFtQjtJQUNWLEtBQUssR0FBWSxLQUFLLENBQUM7SUFDdkIsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUMxQixRQUFRLEdBQVksS0FBSyxDQUFDO0lBRW5DLHdDQUF3QztJQUN4QyxJQUFJLGFBQWE7UUFDZixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hJLENBQUM7d0dBaEJVLGVBQWU7NEZBQWYsZUFBZSxrTUF0QmhCOzs7Ozs7R0FNVCx5TkFQUyxZQUFZOzs0RkF1QlgsZUFBZTtrQkExQjNCLFNBQVM7K0JBQ0UsY0FBYyxjQUNaLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxZQUNiOzs7Ozs7R0FNVDs4QkFrQlEsS0FBSztzQkFBYixLQUFLO2dCQUdHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBjdmEsIHR5cGUgVmFyaWFudFByb3BzIH0gZnJvbSAnY2xhc3MtdmFyaWFuY2UtYXV0aG9yaXR5JztcbmltcG9ydCB7IGNuIH0gZnJvbSAnLi91dGlscy9jbic7IC8vIEltcG9ydGluZyB0aGUgaGVscGVyIHdlIG1hZGUgaW4gUGhhc2UgMlxuXG4vLyAxLiBEZWZpbmUgQ29tcG9uZW50IFZhcmlhbnRzIChUaGUgXCJSZWNpcGVcIilcbmNvbnN0IGJ1dHRvblZhcmlhbnRzID0gY3ZhKFxuICAvLyBCYXNlIHN0eWxlcyBhcHBsaWVkIHRvIEFMTCBidXR0b25zXG4gIFwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbWQgdGV4dC1zbSBmb250LW1lZGl1bSB0cmFuc2l0aW9uLWNvbG9ycyBmb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcmluZyBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTIgZGlzYWJsZWQ6b3BhY2l0eS01MCBkaXNhYmxlZDpwb2ludGVyLWV2ZW50cy1ub25lIHJpbmctb2Zmc2V0LWJhY2tncm91bmRcIixcbiAge1xuICAgIHZhcmlhbnRzOiB7XG4gICAgICB2YXJpYW50OiB7XG4gICAgICAgIGRlZmF1bHQ6IFwiYmctcHJpbWFyeSB0ZXh0LXByaW1hcnktZm9yZWdyb3VuZCBob3ZlcjpiZy1wcmltYXJ5LzkwXCIsXG4gICAgICAgIGRlc3RydWN0aXZlOiBcImJnLWRlc3RydWN0aXZlIHRleHQtZGVzdHJ1Y3RpdmUtZm9yZWdyb3VuZCBob3ZlcjpiZy1kZXN0cnVjdGl2ZS85MFwiLFxuICAgICAgICBvdXRsaW5lOiBcImJvcmRlciBib3JkZXItaW5wdXQgaG92ZXI6YmctYWNjZW50IGhvdmVyOnRleHQtYWNjZW50LWZvcmVncm91bmRcIixcbiAgICAgICAgc2Vjb25kYXJ5OiBcImJnLXNlY29uZGFyeSB0ZXh0LXNlY29uZGFyeS1mb3JlZ3JvdW5kIGhvdmVyOmJnLXNlY29uZGFyeS84MFwiLFxuICAgICAgICBnaG9zdDogXCJob3ZlcjpiZy1hY2NlbnQgaG92ZXI6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZFwiLFxuICAgICAgICBsaW5rOiBcInVuZGVybGluZS1vZmZzZXQtNCBob3Zlcjp1bmRlcmxpbmUgdGV4dC1wcmltYXJ5XCIsXG4gICAgICB9LFxuICAgICAgc2l6ZToge1xuICAgICAgICBkZWZhdWx0OiBcImgtMTAgcHgtNCBweS0yXCIsXG4gICAgICAgIHhzOiBcImgtOCBweC0yIHB5LTEgdGV4dC14c1wiLFxuICAgICAgICBzbTogXCJoLTkgcm91bmRlZC1tZCBweC0zXCIsXG4gICAgICAgIGxnOiBcImgtMTEgcm91bmRlZC1tZCBweC04XCIsXG4gICAgICAgIFwiaWNvbi14c1wiOiBcImgtOCB3LThcIixcbiAgICAgICAgXCJpY29uLXNtXCI6IFwiaC05IHctOVwiLFxuICAgICAgICBpY29uOiBcImgtMTAgdy0xMFwiLFxuICAgICAgICBcImljb24tbGdcIjogXCJoLTExIHctMTFcIixcbiAgICAgIH0sXG4gICAgICAvLyBBZGRlZCBibG9jayB2YXJpYW50XG4gICAgICBibG9jazoge1xuICAgICAgICB0cnVlOiBcInctZnVsbCBmbGV4XCIsXG4gICAgICB9LFxuICAgICAgLy8gQWRkZWQgcmVhZG9ubHkgdmFyaWFudFxuICAgICAgcmVhZG9ubHk6IHtcbiAgICAgICAgdHJ1ZTogXCJwb2ludGVyLWV2ZW50cy1ub25lIG9wYWNpdHktODBcIixcbiAgICAgIH0sXG4gICAgICBkaXNhYmxlZDoge1xuICAgICAgICB0cnVlOiBcInBvaW50ZXItZXZlbnRzLW5vbmVcIixcbiAgICAgIH1cbiAgICB9LFxuICAgIGRlZmF1bHRWYXJpYW50czoge1xuICAgICAgdmFyaWFudDogXCJkZWZhdWx0XCIsXG4gICAgICBzaXplOiBcImRlZmF1bHRcIixcbiAgICAgIGJsb2NrOiBmYWxzZSxcbiAgICAgIHJlYWRvbmx5OiBmYWxzZSxcbiAgICB9LFxuICB9XG4pO1xuXG4vLyBIZWxwZXIgdHlwZSBmb3IgSW50ZWxsaXNlbnNlXG5leHBvcnQgdHlwZSBCdXR0b25Qcm9wcyA9IFZhcmlhbnRQcm9wczx0eXBlb2YgYnV0dG9uVmFyaWFudHM+O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0b2xsZS1idXR0b24nLCAvLyBVc2FnZTogPHRvbGxlLWJ1dHRvbiB2YXJpYW50PVwiZGVzdHJ1Y3RpdmVcIj5cbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGJ1dHRvbiBbY2xhc3NdPVwiY29tcHV0ZWRDbGFzc1wiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFthdHRyLmFyaWEtcmVhZG9ubHldPVwicmVhZG9ubHlcIj5cbiAgICAgPHNwYW4gY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMiB3LWZ1bGwgaC1mdWxsXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIC8qIEVuc3VyZSBSZW1peCBJY29ucyBhbGlnbiB2ZXJ0aWNhbGx5IHdpdGggdGV4dCAqL1xuICAgIDpob3N0IDo6bmctZGVlcCBpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgZm9udC1zaXplOiAxLjI1ZW07IC8qIFNjYWxlcyByZWxhdGl2ZSB0byB0aGUgYnV0dG9uIHRleHQgc2l6ZSAqL1xuICAgIH1cblxuICAgIC8qIFNwZWNpZmljIHNwYWNpbmcgaWYgaWNvbiBpcyBuZXh0IHRvIHRleHQgKi9cbiAgICA6aG9zdCA6Om5nLWRlZXAgaTpub3QoOm9ubHktY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgIH1cbiAgYF1cbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IHtcbiAgLy8gQWxsb3cgY29uc3VtZXJzIHRvIHBhc3MgYSBjdXN0b20gY2xhc3MgdG8gb3ZlcnJpZGUgc3R5bGVzXG4gIEBJbnB1dCgpIGNsYXNzOiBzdHJpbmcgPSAnJztcblxuICAvLyBFeHBvc2UgdGhlIHZhcmlhbnRzIGFzIElucHV0c1xuICBASW5wdXQoKSB2YXJpYW50OiBCdXR0b25Qcm9wc1sndmFyaWFudCddID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSBzaXplOiBCdXR0b25Qcm9wc1snc2l6ZSddID0gJ2RlZmF1bHQnO1xuXG4gIC8vIEFkZGVkIG5ldyBpbnB1dHNcbiAgQElucHV0KCkgYmxvY2s6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyBDYWxjdWxhdGUgdGhlIGZpbmFsIHN0cmluZyBvZiBjbGFzc2VzXG4gIGdldCBjb21wdXRlZENsYXNzKCkge1xuICAgIHJldHVybiBjbihidXR0b25WYXJpYW50cyh7IHZhcmlhbnQ6IHRoaXMudmFyaWFudCwgc2l6ZTogdGhpcy5zaXplLCBibG9jazogdGhpcy5ibG9jaywgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQgfSksIHRoaXMuY2xhc3MpO1xuICB9XG59XG4iXX0=
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RvbGxlL3NyYy9saWIvYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLEdBQUcsRUFBcUIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7QUFFaEMsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUN4Qix1UkFBdVIsRUFDdlI7SUFDRSxRQUFRLEVBQUU7UUFDUixPQUFPLEVBQUU7WUFDUCxPQUFPLEVBQUUsd0RBQXdEO1lBQ2pFLFdBQVcsRUFBRSxvRUFBb0U7WUFDakYsT0FBTyxFQUFFLGtFQUFrRTtZQUMzRSxTQUFTLEVBQUUsOERBQThEO1lBQ3pFLEtBQUssRUFBRSw4Q0FBOEM7WUFDckQsSUFBSSxFQUFFLGlEQUFpRDtTQUN4RDtRQUNELElBQUksRUFBRTtZQUNKLE9BQU8sRUFBRSxnQkFBZ0I7WUFDekIsRUFBRSxFQUFFLHVCQUF1QjtZQUMzQixFQUFFLEVBQUUscUJBQXFCO1lBQ3pCLEVBQUUsRUFBRSxzQkFBc0I7WUFDMUIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsSUFBSSxFQUFFLFdBQVc7WUFDakIsU0FBUyxFQUFFLFdBQVc7U0FDdkI7UUFDRCxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsNENBQTRDLEVBQUU7S0FDN0Q7SUFDRCxlQUFlLEVBQUU7UUFDZixPQUFPLEVBQUUsU0FBUztRQUNsQixJQUFJLEVBQUUsU0FBUztLQUNoQjtDQUNGLENBQ0YsQ0FBQztBQXNERixNQUFNLE9BQU8sZUFBZTtJQUNqQixLQUFLLEdBQVcsRUFBRSxDQUFDO0lBQ25CLE9BQU8sR0FBMkIsU0FBUyxDQUFDO0lBQzVDLElBQUksR0FBd0IsU0FBUyxDQUFDO0lBQ3RDLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFDMUIsSUFBSSxHQUFZLEtBQUssQ0FBQztJQUN0QixRQUFRLEdBQVksS0FBSyxDQUFDO0lBRW5DLElBQUksYUFBYTtRQUNmLE9BQU8sRUFBRSxDQUNQLGNBQWMsQ0FBQztZQUNiLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7U0FDaEIsQ0FBQyxFQUNGLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxFQUNuQixJQUFJLENBQUMsS0FBSyxDQUNYLENBQUM7SUFDSixDQUFDO3dHQWxCVSxlQUFlOzRGQUFmLGVBQWUsZ01BOUNoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQlQsZ2pCQWxCUyxZQUFZOzs0RkErQ1gsZUFBZTtrQkFsRDNCLFNBQVM7K0JBQ0UsY0FBYyxjQUNaLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxZQUNiOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCVDs4QkE4QlEsS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBjdmEsIHR5cGUgVmFyaWFudFByb3BzIH0gZnJvbSAnY2xhc3MtdmFyaWFuY2UtYXV0aG9yaXR5JztcbmltcG9ydCB7IGNuIH0gZnJvbSAnLi91dGlscy9jbic7XG5cbmNvbnN0IGJ1dHRvblZhcmlhbnRzID0gY3ZhKFxuICBcImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLW1kIHRleHQtc20gZm9udC1tZWRpdW0gdHJhbnNpdGlvbi1hbGwgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpyaW5nLTIgZm9jdXMtdmlzaWJsZTpyaW5nLXJpbmcgZm9jdXMtdmlzaWJsZTpyaW5nLW9mZnNldC0yIGRpc2FibGVkOm9wYWNpdHktNTAgZGlzYWJsZWQ6cG9pbnRlci1ldmVudHMtbm9uZSByaW5nLW9mZnNldC1iYWNrZ3JvdW5kIGFjdGl2ZTpzY2FsZS1bMC45OF1cIixcbiAge1xuICAgIHZhcmlhbnRzOiB7XG4gICAgICB2YXJpYW50OiB7XG4gICAgICAgIGRlZmF1bHQ6IFwiYmctcHJpbWFyeSB0ZXh0LXByaW1hcnktZm9yZWdyb3VuZCBob3ZlcjpiZy1wcmltYXJ5LzkwXCIsXG4gICAgICAgIGRlc3RydWN0aXZlOiBcImJnLWRlc3RydWN0aXZlIHRleHQtZGVzdHJ1Y3RpdmUtZm9yZWdyb3VuZCBob3ZlcjpiZy1kZXN0cnVjdGl2ZS85MFwiLFxuICAgICAgICBvdXRsaW5lOiBcImJvcmRlciBib3JkZXItaW5wdXQgaG92ZXI6YmctYWNjZW50IGhvdmVyOnRleHQtYWNjZW50LWZvcmVncm91bmRcIixcbiAgICAgICAgc2Vjb25kYXJ5OiBcImJnLXNlY29uZGFyeSB0ZXh0LXNlY29uZGFyeS1mb3JlZ3JvdW5kIGhvdmVyOmJnLXNlY29uZGFyeS84MFwiLFxuICAgICAgICBnaG9zdDogXCJob3ZlcjpiZy1hY2NlbnQgaG92ZXI6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZFwiLFxuICAgICAgICBsaW5rOiBcInVuZGVybGluZS1vZmZzZXQtNCBob3Zlcjp1bmRlcmxpbmUgdGV4dC1wcmltYXJ5XCIsXG4gICAgICB9LFxuICAgICAgc2l6ZToge1xuICAgICAgICBkZWZhdWx0OiBcImgtMTAgcHgtNCBweS0yXCIsXG4gICAgICAgIHhzOiBcImgtOCBweC0yIHB5LTEgdGV4dC14c1wiLFxuICAgICAgICBzbTogXCJoLTkgcm91bmRlZC1tZCBweC0zXCIsXG4gICAgICAgIGxnOiBcImgtMTEgcm91bmRlZC1tZCBweC04XCIsXG4gICAgICAgIFwiaWNvbi14c1wiOiBcImgtOCB3LThcIixcbiAgICAgICAgXCJpY29uLXNtXCI6IFwiaC05IHctOVwiLFxuICAgICAgICBpY29uOiBcImgtMTAgdy0xMFwiLFxuICAgICAgICBcImljb24tbGdcIjogXCJoLTExIHctMTFcIixcbiAgICAgIH0sXG4gICAgICBidXN5OiB7IHRydWU6IFwicmVsYXRpdmUgIWN1cnNvci13YWl0ICFwb2ludGVyLWV2ZW50cy1ub25lXCIgfVxuICAgIH0sXG4gICAgZGVmYXVsdFZhcmlhbnRzOiB7XG4gICAgICB2YXJpYW50OiBcImRlZmF1bHRcIixcbiAgICAgIHNpemU6IFwiZGVmYXVsdFwiLFxuICAgIH0sXG4gIH1cbik7XG5cbmV4cG9ydCB0eXBlIEJ1dHRvblByb3BzID0gVmFyaWFudFByb3BzPHR5cGVvZiBidXR0b25WYXJpYW50cz47XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RvbGxlLWJ1dHRvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxidXR0b25cbiAgICAgIFtjbGFzc109XCJjb21wdXRlZENsYXNzXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBidXN5XCJcbiAgICAgIFthdHRyLmFyaWEtYnVzeV09XCJidXN5XCJcbiAgICA+XG4gICAgICA8ZGl2ICpuZ0lmPVwiYnVzeVwiIGNsYXNzPVwiYWJzb2x1dGUgaW5zZXQtMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICA8c3ZnIGNsYXNzPVwiYW5pbWF0ZS1zcGluIGgtNSB3LTUgdGV4dC1jdXJyZW50XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPlxuICAgICAgICAgIDxjaXJjbGUgY2xhc3M9XCJvcGFjaXR5LTI1XCIgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMTBcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCI0XCI+PC9jaXJjbGU+XG4gICAgICAgICAgPHBhdGggY2xhc3M9XCJvcGFjaXR5LTc1XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiIGQ9XCJNNCAxMmE4IDggMCAwMTgtOFYwQzUuMzczIDAgMCA1LjM3MyAwIDEyaDR6bTIgNS4yOTFBNy45NjIgNy45NjIgMCAwMTQgMTJIMGMwIDMuMDQyIDEuMTM1IDUuODI0IDMgNy45MzhsMy0yLjY0N3pcIj48L3BhdGg+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdy1mdWxsIGgtZnVsbCBwb2ludGVyLWV2ZW50cy1ub25lXCIgW2NsYXNzLmludmlzaWJsZV09XCJidXN5XCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIDpob3N0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgOmhvc3QgOjpuZy1kZWVwIGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG5cbiAgICA6aG9zdC1jb250ZXh0KC5zaXplLXhzKSA6Om5nLWRlZXAgaSxcbiAgICA6aG9zdC1jb250ZXh0KC5zaXplLWljb24teHMpIDo6bmctZGVlcCBpLFxuICAgIDpob3N0LWNvbnRleHQoLnNpemUtc20pIDo6bmctZGVlcCBpLFxuICAgIDpob3N0LWNvbnRleHQoLnNpemUtaWNvbi1zbSkgOjpuZy1kZWVwIGkge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cblxuICAgIDpob3N0LWNvbnRleHQoLnNpemUtZGVmYXVsdCkgOjpuZy1kZWVwIGksXG4gICAgOmhvc3QtY29udGV4dCguc2l6ZS1pY29uKSA6Om5nLWRlZXAgaSxcbiAgICA6aG9zdC1jb250ZXh0KC5zaXplLWxnKSA6Om5nLWRlZXAgaSxcbiAgICA6aG9zdC1jb250ZXh0KC5zaXplLWljb24tbGcpIDo6bmctZGVlcCBpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIH1cbiAgYF1cbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgY2xhc3M6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSB2YXJpYW50OiBCdXR0b25Qcm9wc1sndmFyaWFudCddID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSBzaXplOiBCdXR0b25Qcm9wc1snc2l6ZSddID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBidXN5OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgZ2V0IGNvbXB1dGVkQ2xhc3MoKSB7XG4gICAgcmV0dXJuIGNuKFxuICAgICAgYnV0dG9uVmFyaWFudHMoe1xuICAgICAgICB2YXJpYW50OiB0aGlzLnZhcmlhbnQsXG4gICAgICAgIHNpemU6IHRoaXMuc2l6ZSxcbiAgICAgICAgYnVzeTogdGhpcy5idXN5XG4gICAgICB9KSxcbiAgICAgICdzaXplLScgKyB0aGlzLnNpemUsXG4gICAgICB0aGlzLmNsYXNzXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -156,7 +156,7 @@ export class DatePickerComponent {
156
156
  ></tolle-calendar>
157
157
  </div>
158
158
  </div>
159
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MaskedInputComponent, selector: "tolle-masked-input", inputs: ["mask", "placeholder", "type", "disabled", "class", "error", "size", "returnRaw"] }, { kind: "component", type: CalendarComponent, selector: "tolle-calendar", inputs: ["class", "disablePastDates"] }] });
159
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MaskedInputComponent, selector: "tolle-masked-input", inputs: ["id", "label", "hint", "errorMessage", "mask", "placeholder", "type", "disabled", "readonly", "class", "containerClass", "error", "size", "returnRaw"] }, { kind: "component", type: CalendarComponent, selector: "tolle-calendar", inputs: ["class", "disablePastDates"] }] });
160
160
  }
161
161
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DatePickerComponent, decorators: [{
162
162
  type: Component,
@@ -229,4 +229,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
229
229
  type: HostListener,
230
230
  args: ['document:mousedown', ['$event']]
231
231
  }] } });
232
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9sbGUvc3JjL2xpYi9kYXRlLXBpY2tlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFjLFNBQVMsRUFBRSxZQUFZLEVBQ2xFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBcUR6RCxNQUFNLE9BQU8sbUJBQW1CO0lBY1Y7SUFiWCxXQUFXLEdBQUcsWUFBWSxDQUFDO0lBQzNCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNYLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUVILGdCQUFnQixDQUFjO0lBQ3ZDLE9BQU8sQ0FBYztJQUUzQyxLQUFLLEdBQWdCLElBQUksQ0FBQztJQUMxQixVQUFVLEdBQVcsRUFBRSxDQUFDO0lBQ3hCLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDZixpQkFBaUIsQ0FBYztJQUUvQixZQUFv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O29CQUNELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQ1Q7aUJBQ0Y7c0ZBRVUsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRXlCLGdCQUFnQjtzQkFBOUMsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBQ1AsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQStFcEIsY0FBYztzQkFEYixZQUFZO3VCQUFDLG9CQUFvQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LCBJbnB1dCwgZm9yd2FyZFJlZiwgRWxlbWVudFJlZiwgVmlld0NoaWxkLCBIb3N0TGlzdGVuZXIsIENoYW5nZURldGVjdG9yUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjb21wdXRlUG9zaXRpb24sIGZsaXAsIHNoaWZ0LCBvZmZzZXQsIGF1dG9VcGRhdGUgfSBmcm9tICdAZmxvYXRpbmctdWkvZG9tJztcbmltcG9ydCB7IGZvcm1hdCwgcGFyc2UsIGlzVmFsaWQsIHN0YXJ0T2ZEYXkgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBjbiB9IGZyb20gJy4vdXRpbHMvY24nO1xuaW1wb3J0IHsgTWFza2VkSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL21hc2tlZC1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICcuL2NhbGVuZGFyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RvbGxlLWRhdGUtcGlja2VyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIE1hc2tlZElucHV0Q29tcG9uZW50LCBDYWxlbmRhckNvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZVBpY2tlckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgdy1mdWxsXCIgI3RyaWdnZXJDb250YWluZXI+XG4gICAgICA8dG9sbGUtbWFza2VkLWlucHV0XG4gICAgICAgICNtYXNrSW5wdXRcbiAgICAgICAgW21hc2tdPVwiJzAwLzAwLzAwMDAnXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJpbnB1dFZhbHVlXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25JbnB1dENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW2NsYXNzXT1cImNuKGNsYXNzKVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgc3VmZml4IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEuNSBjdXJzb3ItcG9pbnRlclwiPlxuICAgICAgICAgIDxpXG4gICAgICAgICAgICAqbmdJZj1cInZhbHVlICYmICFkaXNhYmxlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xlYXIoJGV2ZW50KVwiXG4gICAgICAgICAgICBjbGFzcz1cInJpLWNsb3NlLWxpbmUgY3Vyc29yLXBvaW50ZXIgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGhvdmVyOnRleHQtZm9yZWdyb3VuZCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgPjwvaT5cblxuICAgICAgICAgIDxpXG4gICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlUG9wb3ZlcigkZXZlbnQpXCJcbiAgICAgICAgICAgIGNsYXNzPVwicmktY2FsZW5kYXItbGluZSBjdXJzb3ItcG9pbnRlciB0ZXh0LW11dGVkLWZvcmVncm91bmQgaG92ZXI6dGV4dC1wcmltYXJ5IHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICA+PC9pPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdG9sbGUtbWFza2VkLWlucHV0PlxuXG4gICAgICA8ZGl2XG4gICAgICAgICNwb3BvdmVyXG4gICAgICAgICpuZ0lmPVwiaXNPcGVuXCJcbiAgICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBiZy1wb3BvdmVyIHotNTAgbWF4LXctbWF4IGxlZnQtMCByaWdodC0wIG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItYm9yZGVyIHRleHQtcG9wb3Zlci1mb3JlZ3JvdW5kIGJnLWJhY2tncm91bmQgc2hhZG93LW1kXCJcbiAgICAgICAgc3R5bGU9XCJ2aXNpYmlsaXR5OiBoaWRkZW47IHRvcDogMDsgbGVmdDogMDtcIlxuICAgICAgPlxuICAgICAgICA8dG9sbGUtY2FsZW5kYXJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNhbGVuZGFyQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgIFtkaXNhYmxlUGFzdERhdGVzXT1cImRpc2FibGVQYXN0RGF0ZXNcIlxuICAgICAgICA+PC90b2xsZS1jYWxlbmRhcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIERhdGVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJ01NL0REL1lZWVknO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBjbGFzcyA9ICcnO1xuICBASW5wdXQoKSBkaXNhYmxlUGFzdERhdGVzID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgndHJpZ2dlckNvbnRhaW5lcicpIHRyaWdnZXJDb250YWluZXIhOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdwb3BvdmVyJykgcG9wb3ZlciE6IEVsZW1lbnRSZWY7XG5cbiAgdmFsdWU6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgaW5wdXRWYWx1ZTogc3RyaW5nID0gJyc7XG4gIGlzT3BlbiA9IGZhbHNlO1xuICBjbGVhbnVwQXV0b1VwZGF0ZT86ICgpID0+IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIC8vIC0tLSBMb2dpYyAtLS1cblxuICBvbklucHV0Q2hhbmdlKHN0cjogc3RyaW5nKSB7XG4gICAgaWYgKHN0cj8ubGVuZ3RoID09PSAxMCkge1xuICAgICAgY29uc3QgcGFyc2VkID0gcGFyc2Uoc3RyLCAnTU0vZGQveXl5eScsIG5ldyBEYXRlKCkpO1xuICAgICAgaWYgKGlzVmFsaWQocGFyc2VkKSkge1xuICAgICAgICB0aGlzLnZhbHVlID0gc3RhcnRPZkRheShwYXJzZWQpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIXN0cikge1xuICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICB0aGlzLm9uQ2hhbmdlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2FsZW5kYXJDaGFuZ2UoZGF0ZTogRGF0ZSkge1xuICAgIHRoaXMudmFsdWUgPSBkYXRlO1xuICAgIHRoaXMuaW5wdXRWYWx1ZSA9IGZvcm1hdChkYXRlLCAnTU0vZGQveXl5eScpO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgdG9nZ2xlUG9wb3ZlcihldmVudDogTW91c2VFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyAvLyBQcmV2ZW50IGJ1YmJsaW5nIHRvIGRvY3VtZW50XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcbiAgICB0aGlzLmlzT3BlbiA/IHRoaXMuY2xvc2UoKSA6IHRoaXMub3BlbigpO1xuICB9XG5cbiAgb3BlbigpIHtcbiAgICB0aGlzLmlzT3BlbiA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnVwZGF0ZVBvc2l0aW9uKCkpO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICBpZiAodGhpcy5jbGVhbnVwQXV0b1VwZGF0ZSkgdGhpcy5jbGVhbnVwQXV0b1VwZGF0ZSgpO1xuICB9XG5cbiAgY2xlYXIoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgLy8gQ1JJVElDQUw6IFN0b3AgdGhlIGNhbGVuZGFyIGZyb20gb3BlbmluZ1xuICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgIHRoaXMuaW5wdXRWYWx1ZSA9ICcnO1xuICAgIHRoaXMub25DaGFuZ2UobnVsbCk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvLyAtLS0gUG9zaXRpb25pbmcgLS0tXG5cbiAgcHJpdmF0ZSB1cGRhdGVQb3NpdGlvbigpIHtcbiAgICBpZiAoIXRoaXMudHJpZ2dlckNvbnRhaW5lciB8fCAhdGhpcy5wb3BvdmVyKSByZXR1cm47XG5cbiAgICB0aGlzLmNsZWFudXBBdXRvVXBkYXRlID0gYXV0b1VwZGF0ZShcbiAgICAgIHRoaXMudHJpZ2dlckNvbnRhaW5lci5uYXRpdmVFbGVtZW50LFxuICAgICAgdGhpcy5wb3BvdmVyLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNvbXB1dGVQb3NpdGlvbih0aGlzLnRyaWdnZXJDb250YWluZXIubmF0aXZlRWxlbWVudCwgdGhpcy5wb3BvdmVyLm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b20tZW5kJywgLy8gQWxpZ25lZCB0byB0aGUgcmlnaHQgd2hlcmUgdGhlIGljb24gaXNcbiAgICAgICAgICBtaWRkbGV3YXJlOiBbb2Zmc2V0KDQpLCBmbGlwKCksIHNoaWZ0KHsgcGFkZGluZzogOCB9KV0sXG4gICAgICAgIH0pLnRoZW4oKHsgeCwgeSB9KSA9PiB7XG4gICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLnBvcG92ZXIubmF0aXZlRWxlbWVudC5zdHlsZSwge1xuICAgICAgICAgICAgbGVmdDogYCR7eH1weGAsXG4gICAgICAgICAgICB0b3A6IGAke3l9cHhgLFxuICAgICAgICAgICAgdmlzaWJpbGl0eTogJ3Zpc2libGUnLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2Vkb3duJywgWyckZXZlbnQnXSlcbiAgb25DbGlja091dHNpZGUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAodGhpcy5pc09wZW4gJiZcbiAgICAgICF0aGlzLnRyaWdnZXJDb250YWluZXIubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpICYmXG4gICAgICAhdGhpcy5wb3BvdmVyLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLSBDVkEgLS0tXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7fTtcbiAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7fTtcblxuICB3cml0ZVZhbHVlKHZhbDogYW55KTogdm9pZCB7XG4gICAgaWYgKHZhbCkge1xuICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHZhbCk7XG4gICAgICBpZiAoaXNWYWxpZChkYXRlKSkge1xuICAgICAgICB0aGlzLnZhbHVlID0gc3RhcnRPZkRheShkYXRlKTtcbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gZm9ybWF0KHRoaXMudmFsdWUsICdNTS9kZC95eXl5Jyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgICAgdGhpcy5pbnB1dFZhbHVlID0gJyc7XG4gICAgfVxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7IHRoaXMub25DaGFuZ2UgPSBmbjsgfVxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7IHRoaXMub25Ub3VjaGVkID0gZm47IH1cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7IHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkOyB9XG4gIHByb3RlY3RlZCBjbiA9IGNuO1xufVxuIl19
232
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9sbGUvc3JjL2xpYi9kYXRlLXBpY2tlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFjLFNBQVMsRUFBRSxZQUFZLEVBQ2xFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBcUR6RCxNQUFNLE9BQU8sbUJBQW1CO0lBY1Y7SUFiWCxXQUFXLEdBQUcsWUFBWSxDQUFDO0lBQzNCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNYLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUVILGdCQUFnQixDQUFjO0lBQ3ZDLE9BQU8sQ0FBYztJQUUzQyxLQUFLLEdBQWdCLElBQUksQ0FBQztJQUMxQixVQUFVLEdBQVcsRUFBRSxDQUFDO0lBQ3hCLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDZixpQkFBaUIsQ0FBYztJQUUvQixZQUFv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O29CQUNELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQ1Q7aUJBQ0Y7c0ZBRVUsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRXlCLGdCQUFnQjtzQkFBOUMsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBQ1AsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQStFcEIsY0FBYztzQkFEYixZQUFZO3VCQUFDLG9CQUFvQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LCBJbnB1dCwgZm9yd2FyZFJlZiwgRWxlbWVudFJlZiwgVmlld0NoaWxkLCBIb3N0TGlzdGVuZXIsIENoYW5nZURldGVjdG9yUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjb21wdXRlUG9zaXRpb24sIGZsaXAsIHNoaWZ0LCBvZmZzZXQsIGF1dG9VcGRhdGUgfSBmcm9tICdAZmxvYXRpbmctdWkvZG9tJztcbmltcG9ydCB7IGZvcm1hdCwgcGFyc2UsIGlzVmFsaWQsIHN0YXJ0T2ZEYXkgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBjbiB9IGZyb20gJy4vdXRpbHMvY24nO1xuaW1wb3J0IHsgTWFza2VkSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL21hc2tlZC1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICcuL2NhbGVuZGFyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RvbGxlLWRhdGUtcGlja2VyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIE1hc2tlZElucHV0Q29tcG9uZW50LCBDYWxlbmRhckNvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZVBpY2tlckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgdy1mdWxsXCIgI3RyaWdnZXJDb250YWluZXI+XG4gICAgICA8dG9sbGUtbWFza2VkLWlucHV0XG4gICAgICAgICNtYXNrSW5wdXRcbiAgICAgICAgW21hc2tdPVwiJzAwLzAwLzAwMDAnXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJpbnB1dFZhbHVlXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25JbnB1dENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW2NsYXNzXT1cImNuKGNsYXNzKVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgc3VmZml4IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEuNSBjdXJzb3ItcG9pbnRlclwiPlxuICAgICAgICAgIDxpXG4gICAgICAgICAgICAqbmdJZj1cInZhbHVlICYmICFkaXNhYmxlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xlYXIoJGV2ZW50KVwiXG4gICAgICAgICAgICBjbGFzcz1cInJpLWNsb3NlLWxpbmUgY3Vyc29yLXBvaW50ZXIgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGhvdmVyOnRleHQtZm9yZWdyb3VuZCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgPjwvaT5cblxuICAgICAgICAgIDxpXG4gICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlUG9wb3ZlcigkZXZlbnQpXCJcbiAgICAgICAgICAgIGNsYXNzPVwicmktY2FsZW5kYXItbGluZSBjdXJzb3ItcG9pbnRlciB0ZXh0LW11dGVkLWZvcmVncm91bmQgaG92ZXI6dGV4dC1wcmltYXJ5IHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICA+PC9pPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdG9sbGUtbWFza2VkLWlucHV0PlxuXG4gICAgICA8ZGl2XG4gICAgICAgICNwb3BvdmVyXG4gICAgICAgICpuZ0lmPVwiaXNPcGVuXCJcbiAgICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBiZy1wb3BvdmVyIHotNTAgbWF4LXctbWF4IGxlZnQtMCByaWdodC0wIG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItYm9yZGVyIHRleHQtcG9wb3Zlci1mb3JlZ3JvdW5kIGJnLWJhY2tncm91bmQgc2hhZG93LW1kXCJcbiAgICAgICAgc3R5bGU9XCJ2aXNpYmlsaXR5OiBoaWRkZW47IHRvcDogMDsgbGVmdDogMDtcIlxuICAgICAgPlxuICAgICAgICA8dG9sbGUtY2FsZW5kYXJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNhbGVuZGFyQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgIFtkaXNhYmxlUGFzdERhdGVzXT1cImRpc2FibGVQYXN0RGF0ZXNcIlxuICAgICAgICA+PC90b2xsZS1jYWxlbmRhcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIERhdGVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJ01NL0REL1lZWVknO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBjbGFzcyA9ICcnO1xuICBASW5wdXQoKSBkaXNhYmxlUGFzdERhdGVzID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgndHJpZ2dlckNvbnRhaW5lcicpIHRyaWdnZXJDb250YWluZXIhOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdwb3BvdmVyJykgcG9wb3ZlciE6IEVsZW1lbnRSZWY7XG5cbiAgdmFsdWU6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgaW5wdXRWYWx1ZTogc3RyaW5nID0gJyc7XG4gIGlzT3BlbiA9IGZhbHNlO1xuICBjbGVhbnVwQXV0b1VwZGF0ZT86ICgpID0+IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIC8vIC0tLSBMb2dpYyAtLS1cblxuICBvbklucHV0Q2hhbmdlKHN0cjogc3RyaW5nKSB7XG4gICAgaWYgKHN0cj8ubGVuZ3RoID09PSAxMCkge1xuICAgICAgY29uc3QgcGFyc2VkID0gcGFyc2Uoc3RyLCAnTU0vZGQveXl5eScsIG5ldyBEYXRlKCkpO1xuICAgICAgaWYgKGlzVmFsaWQocGFyc2VkKSkge1xuICAgICAgICB0aGlzLnZhbHVlID0gc3RhcnRPZkRheShwYXJzZWQpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIXN0cikge1xuICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICB0aGlzLm9uQ2hhbmdlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2FsZW5kYXJDaGFuZ2UoZGF0ZTogRGF0ZSkge1xuICAgIHRoaXMudmFsdWUgPSBkYXRlO1xuICAgIHRoaXMuaW5wdXRWYWx1ZSA9IGZvcm1hdChkYXRlLCAnTU0vZGQveXl5eScpO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgdG9nZ2xlUG9wb3ZlcihldmVudDogTW91c2VFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyAvLyBQcmV2ZW50IGJ1YmJsaW5nIHRvIGRvY3VtZW50XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcbiAgICB0aGlzLmlzT3BlbiA/IHRoaXMuY2xvc2UoKSA6IHRoaXMub3BlbigpO1xuICB9XG5cbiAgb3BlbigpIHtcbiAgICB0aGlzLmlzT3BlbiA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnVwZGF0ZVBvc2l0aW9uKCkpO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICBpZiAodGhpcy5jbGVhbnVwQXV0b1VwZGF0ZSkgdGhpcy5jbGVhbnVwQXV0b1VwZGF0ZSgpO1xuICB9XG5cbiAgY2xlYXIoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgLy8gQ1JJVElDQUw6IFN0b3AgdGhlIGNhbGVuZGFyIGZyb20gb3BlbmluZ1xuICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgIHRoaXMuaW5wdXRWYWx1ZSA9ICcnO1xuICAgIHRoaXMub25DaGFuZ2UobnVsbCk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvLyAtLS0gUG9zaXRpb25pbmcgLS0tXG5cbiAgcHJpdmF0ZSB1cGRhdGVQb3NpdGlvbigpIHtcbiAgICBpZiAoIXRoaXMudHJpZ2dlckNvbnRhaW5lciB8fCAhdGhpcy5wb3BvdmVyKSByZXR1cm47XG5cbiAgICB0aGlzLmNsZWFudXBBdXRvVXBkYXRlID0gYXV0b1VwZGF0ZShcbiAgICAgIHRoaXMudHJpZ2dlckNvbnRhaW5lci5uYXRpdmVFbGVtZW50LFxuICAgICAgdGhpcy5wb3BvdmVyLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNvbXB1dGVQb3NpdGlvbih0aGlzLnRyaWdnZXJDb250YWluZXIubmF0aXZlRWxlbWVudCwgdGhpcy5wb3BvdmVyLm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b20tZW5kJywgLy8gQWxpZ25lZCB0byB0aGUgcmlnaHQgd2hlcmUgdGhlIGljb24gaXNcbiAgICAgICAgICBtaWRkbGV3YXJlOiBbb2Zmc2V0KDQpLCBmbGlwKCksIHNoaWZ0KHsgcGFkZGluZzogOCB9KV0sXG4gICAgICAgIH0pLnRoZW4oKHsgeCwgeSB9KSA9PiB7XG4gICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLnBvcG92ZXIubmF0aXZlRWxlbWVudC5zdHlsZSwge1xuICAgICAgICAgICAgbGVmdDogYCR7eH1weGAsXG4gICAgICAgICAgICB0b3A6IGAke3l9cHhgLFxuICAgICAgICAgICAgdmlzaWJpbGl0eTogJ3Zpc2libGUnLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2Vkb3duJywgWyckZXZlbnQnXSlcbiAgb25DbGlja091dHNpZGUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAodGhpcy5pc09wZW4gJiZcbiAgICAgICF0aGlzLnRyaWdnZXJDb250YWluZXIubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpICYmXG4gICAgICAhdGhpcy5wb3BvdmVyLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLSBDVkEgLS0tXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7fTtcbiAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7fTtcblxuICB3cml0ZVZhbHVlKHZhbDogYW55KTogdm9pZCB7XG4gICAgaWYgKHZhbCkge1xuICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHZhbCk7XG4gICAgICBpZiAoaXNWYWxpZChkYXRlKSkge1xuICAgICAgICB0aGlzLnZhbHVlID0gc3RhcnRPZkRheShkYXRlKTtcbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gZm9ybWF0KHRoaXMudmFsdWUsICdNTS9kZC95eXl5Jyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgICAgdGhpcy5pbnB1dFZhbHVlID0gJyc7XG4gICAgfVxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7IHRoaXMub25DaGFuZ2UgPSBmbjsgfVxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7IHRoaXMub25Ub3VjaGVkID0gZm47IH1cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7IHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkOyB9XG4gIHByb3RlY3RlZCBjbiA9IGNuO1xufVxuIl19