@tolle_/tolle-ui 18.2.24 → 18.2.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/accordion-item.component.mjs +17 -5
- package/esm2022/lib/alert-dialog-dynamic.component.mjs +1 -1
- package/esm2022/lib/alert-dialog.component.mjs +48 -10
- package/esm2022/lib/alert-dialog.service.mjs +13 -2
- package/esm2022/lib/alert.component.mjs +5 -5
- package/esm2022/lib/avatar.component.mjs +30 -9
- package/esm2022/lib/badge.component.mjs +41 -15
- package/esm2022/lib/breadcrumb-link.component.mjs +5 -5
- package/esm2022/lib/button.component.mjs +14 -3
- package/esm2022/lib/calendar.component.mjs +99 -17
- package/esm2022/lib/card.component.mjs +29 -9
- package/esm2022/lib/carousel/carousel.component.mjs +19 -3
- package/esm2022/lib/checkbox.component.mjs +44 -21
- package/esm2022/lib/collapsible.component.mjs +12 -4
- package/esm2022/lib/country-selector.component.mjs +140 -20
- package/esm2022/lib/data-table.component.mjs +27 -16
- package/esm2022/lib/date-picker.component.mjs +24 -4
- package/esm2022/lib/date-range-picker.component.mjs +37 -9
- package/esm2022/lib/dropdown-item.component.mjs +19 -5
- package/esm2022/lib/dropdown-label.component.mjs +3 -3
- package/esm2022/lib/dropdown-menu.component.mjs +3 -3
- package/esm2022/lib/dropdown-separator.component.mjs +3 -3
- package/esm2022/lib/dropdown-trigger.directive.mjs +7 -3
- package/esm2022/lib/empty-state.component.mjs +3 -3
- package/esm2022/lib/hover-card.component.mjs +4 -2
- package/esm2022/lib/input.component.mjs +7 -5
- package/esm2022/lib/label.component.mjs +2 -2
- package/esm2022/lib/masked-input.component.mjs +3 -3
- package/esm2022/lib/modal.component.mjs +58 -22
- package/esm2022/lib/modal.service.mjs +13 -1
- package/esm2022/lib/multi-select.component.mjs +228 -20
- package/esm2022/lib/otp.component.mjs +6 -3
- package/esm2022/lib/pagination.component.mjs +19 -9
- package/esm2022/lib/progress.component.mjs +8 -5
- package/esm2022/lib/radio-group.component.mjs +51 -3
- package/esm2022/lib/radio-item.component.mjs +46 -8
- package/esm2022/lib/radio-service.mjs +60 -1
- package/esm2022/lib/range-calendar.component.mjs +317 -98
- package/esm2022/lib/resizable-panel.component.mjs +5 -4
- package/esm2022/lib/scroll-area.component.mjs +5 -5
- package/esm2022/lib/segment.component.mjs +73 -7
- package/esm2022/lib/select-item.component.mjs +20 -2
- package/esm2022/lib/select-separator.component.mjs +3 -3
- package/esm2022/lib/select.component.mjs +221 -14
- package/esm2022/lib/separator.component.mjs +12 -6
- package/esm2022/lib/sheet-ref.mjs +8 -1
- package/esm2022/lib/sheet-wrapper.component.mjs +27 -11
- package/esm2022/lib/sheet.component.mjs +57 -16
- package/esm2022/lib/sheet.service.mjs +5 -1
- package/esm2022/lib/sidebar.component.mjs +73 -15
- package/esm2022/lib/skeleton.component.mjs +19 -5
- package/esm2022/lib/switch.component.mjs +59 -53
- package/esm2022/lib/tabs.component.mjs +75 -13
- package/esm2022/lib/tag-input.component.mjs +6 -3
- package/esm2022/lib/textarea.component.mjs +9 -7
- package/esm2022/lib/theme.service.mjs +114 -138
- package/esm2022/lib/toaster.component.mjs +19 -9
- package/esm2022/lib/toggle-group.component.mjs +76 -4
- package/esm2022/lib/tolle-config.mjs +1 -1
- package/esm2022/lib/tooltip.directive.mjs +41 -17
- package/esm2022/lib/utils/color.mjs +324 -0
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/tolle-ui.mjs +2645 -637
- package/fesm2022/tolle-ui.mjs.map +1 -1
- package/lib/alert-dialog.component.d.ts +10 -1
- package/lib/avatar.component.d.ts +16 -3
- package/lib/badge.component.d.ts +17 -5
- package/lib/button.component.d.ts +10 -3
- package/lib/calendar.component.d.ts +21 -3
- package/lib/card.component.d.ts +6 -0
- package/lib/carousel/carousel.component.d.ts +1 -0
- package/lib/checkbox.component.d.ts +12 -4
- package/lib/country-selector.component.d.ts +11 -2
- package/lib/date-picker.component.d.ts +1 -0
- package/lib/date-range-picker.component.d.ts +4 -1
- package/lib/dropdown-item.component.d.ts +4 -2
- package/lib/dropdown-trigger.directive.d.ts +1 -1
- package/lib/modal.component.d.ts +6 -0
- package/lib/multi-select.component.d.ts +20 -0
- package/lib/otp.component.d.ts +1 -0
- package/lib/progress.component.d.ts +1 -0
- package/lib/radio-group.component.d.ts +8 -0
- package/lib/radio-item.component.d.ts +10 -4
- package/lib/radio-service.d.ts +29 -0
- package/lib/range-calendar.component.d.ts +33 -4
- package/lib/segment.component.d.ts +13 -0
- package/lib/select-item.component.d.ts +4 -1
- package/lib/select.component.d.ts +20 -0
- package/lib/separator.component.d.ts +2 -0
- package/lib/sheet-wrapper.component.d.ts +4 -0
- package/lib/sheet.component.d.ts +10 -1
- package/lib/sidebar.component.d.ts +2 -0
- package/lib/skeleton.component.d.ts +9 -3
- package/lib/switch.component.d.ts +13 -20
- package/lib/tabs.component.d.ts +11 -1
- package/lib/theme.service.d.ts +21 -6
- package/lib/toaster.component.d.ts +2 -2
- package/lib/toggle-group.component.d.ts +20 -2
- package/lib/toggle.component.d.ts +1 -1
- package/lib/tolle-config.d.ts +8 -0
- package/lib/tooltip.directive.d.ts +3 -0
- package/lib/utils/color.d.ts +87 -0
- package/package.json +4 -1
- package/preset.js +28 -0
- package/public-api.d.ts +1 -0
- package/registry/docs-content.json +4214 -0
- package/registry/llms-full.txt +1599 -0
- package/registry/llms.txt +83 -0
- package/registry/manifest.json +4925 -0
- package/registry/r/accordion-item.json +21 -0
- package/registry/r/accordion.json +23 -0
- package/registry/r/alert-dialog-dynamic.json +31 -0
- package/registry/r/alert-dialog.json +26 -0
- package/registry/r/alert.json +23 -0
- package/registry/r/aspect-ratio.json +21 -0
- package/registry/r/avatar-fallback.json +16 -0
- package/registry/r/avatar.json +23 -0
- package/registry/r/badge.json +23 -0
- package/registry/r/breadcrumb-item.json +16 -0
- package/registry/r/breadcrumb-link.json +16 -0
- package/registry/r/breadcrumb-separator.json +16 -0
- package/registry/r/breadcrumb.json +21 -0
- package/registry/r/button-group.json +21 -0
- package/registry/r/button.json +23 -0
- package/registry/r/calendar.json +23 -0
- package/registry/r/card.json +21 -0
- package/registry/r/carousel.json +18 -0
- package/registry/r/checkbox.json +23 -0
- package/registry/r/collapsible.json +21 -0
- package/registry/r/context-menu-trigger.json +23 -0
- package/registry/r/context-menu.json +28 -0
- package/registry/r/country-selector.json +31 -0
- package/registry/r/data-table.json +38 -0
- package/registry/r/date-picker.json +27 -0
- package/registry/r/date-range-picker.json +32 -0
- package/registry/r/dropdown-item.json +21 -0
- package/registry/r/dropdown-label.json +16 -0
- package/registry/r/dropdown-menu.json +16 -0
- package/registry/r/dropdown-separator.json +16 -0
- package/registry/r/dropdown-trigger.json +20 -0
- package/registry/r/empty-state.json +23 -0
- package/registry/r/hover-card.json +23 -0
- package/registry/r/input.json +21 -0
- package/registry/r/label.json +21 -0
- package/registry/r/masked-input.json +21 -0
- package/registry/r/modal.json +36 -0
- package/registry/r/multi-select.json +33 -0
- package/registry/r/otp-group.json +16 -0
- package/registry/r/otp-slot.json +21 -0
- package/registry/r/otp.json +21 -0
- package/registry/r/pagination.json +32 -0
- package/registry/r/phone-number-input.json +34 -0
- package/registry/r/popover-content.json +21 -0
- package/registry/r/popover.json +18 -0
- package/registry/r/progress.json +21 -0
- package/registry/r/radio-group.json +26 -0
- package/registry/r/radio-item.json +26 -0
- package/registry/r/range-calendar.json +28 -0
- package/registry/r/resizable-panel-item.json +23 -0
- package/registry/r/resizable-panel.json +23 -0
- package/registry/r/resizable.json +21 -0
- package/registry/r/scroll-area.json +21 -0
- package/registry/r/segment.json +21 -0
- package/registry/r/select-group.json +21 -0
- package/registry/r/select-item.json +26 -0
- package/registry/r/select-separator.json +21 -0
- package/registry/r/select.json +31 -0
- package/registry/r/separator.json +21 -0
- package/registry/r/sheet-wrapper.json +31 -0
- package/registry/r/sheet.json +21 -0
- package/registry/r/sidebar.json +21 -0
- package/registry/r/skeleton.json +23 -0
- package/registry/r/slider.json +21 -0
- package/registry/r/switch.json +23 -0
- package/registry/r/tabs.json +23 -0
- package/registry/r/tag-input.json +25 -0
- package/registry/r/textarea.json +21 -0
- package/registry/r/toaster.json +26 -0
- package/registry/r/toggle-group.json +25 -0
- package/registry/r/toggle.json +23 -0
- package/registry/r/tolle-cell.json +16 -0
- package/registry/r/tooltip.json +23 -0
- package/registry/registry.json +1540 -0
- package/theme.css +56 -1
|
@@ -1,26 +1,46 @@
|
|
|
1
1
|
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { cva } from 'class-variance-authority';
|
|
3
4
|
import { cn } from './utils/cn';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "@angular/common";
|
|
7
|
+
const badgeVariants = cva('inline-flex w-fit items-center justify-center rounded-md border px-2 py-0.5 font-medium transition-colors gap-1 whitespace-nowrap', {
|
|
8
|
+
variants: {
|
|
9
|
+
variant: {
|
|
10
|
+
default: 'border-transparent bg-primary text-primary-foreground',
|
|
11
|
+
secondary: 'border-transparent bg-secondary text-secondary-foreground',
|
|
12
|
+
outline: 'text-foreground border-border bg-transparent',
|
|
13
|
+
destructive: 'border-transparent bg-destructive text-destructive-foreground',
|
|
14
|
+
},
|
|
15
|
+
size: {
|
|
16
|
+
xs: 'px-1.5 py-0 text-[10px]',
|
|
17
|
+
sm: 'px-2 py-0 text-[11px]',
|
|
18
|
+
default: 'text-xs',
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
defaultVariants: {
|
|
22
|
+
variant: 'default',
|
|
23
|
+
size: 'default',
|
|
24
|
+
},
|
|
25
|
+
});
|
|
6
26
|
export class BadgeComponent {
|
|
27
|
+
/** Visual style of the badge. @default 'default' */
|
|
7
28
|
variant = 'default';
|
|
29
|
+
/** Size of the badge. @default 'default' */
|
|
8
30
|
size = 'default';
|
|
9
|
-
|
|
31
|
+
/** Shows a trailing dismiss (×) button that emits `onRemove`. @default false */
|
|
32
|
+
removable = false;
|
|
33
|
+
/** Accessible label for the dismiss button. @default 'Remove' */
|
|
34
|
+
removeLabel = 'Remove';
|
|
35
|
+
/** Extra Tailwind classes merged onto the badge via `cn()` (last-wins). */
|
|
10
36
|
class = '';
|
|
37
|
+
/** Emitted with the click event when the dismiss button is pressed. */
|
|
11
38
|
onRemove = new EventEmitter();
|
|
12
|
-
cn = cn;
|
|
13
39
|
get computedClass() {
|
|
14
|
-
return cn(
|
|
15
|
-
// Base styles - Pills are always rounded-full
|
|
16
|
-
'flex items-center justify-center rounded-md border px-2 py-0.5 font-medium transition-colors gap-1',
|
|
17
|
-
// Variants (Google Dark Mode theme)
|
|
18
|
-
this.variant === 'default' && 'border-transparent bg-primary text-primary-foreground', this.variant === 'secondary' && 'border-transparent bg-secondary text-secondary-foreground', this.variant === 'outline' && 'text-foreground border-border bg-transparent', this.variant === 'destructive' && 'border-transparent bg-destructive text-destructive-foreground',
|
|
19
|
-
// Sizing
|
|
20
|
-
this.size === 'xs' && 'px-1.5 py-0 text-[10px]', this.size === 'sm' && 'px-2 py-0 text-[11px]', this.size === 'default' && 'text-xs', this.class);
|
|
40
|
+
return cn(badgeVariants({ variant: this.variant, size: this.size }), this.class);
|
|
21
41
|
}
|
|
22
42
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: BadgeComponent, isStandalone: true, selector: "tolle-badge", inputs: { variant: "variant", size: "size", removable: "removable", class: "class" }, outputs: { onRemove: "onRemove" }, ngImport: i0, template: `
|
|
43
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: BadgeComponent, isStandalone: true, selector: "tolle-badge", inputs: { variant: "variant", size: "size", removable: "removable", removeLabel: "removeLabel", class: "class" }, outputs: { onRemove: "onRemove" }, ngImport: i0, template: `
|
|
24
44
|
<div [class]="computedClass">
|
|
25
45
|
<ng-content select="[prefix]"></ng-content>
|
|
26
46
|
|
|
@@ -30,9 +50,11 @@ export class BadgeComponent {
|
|
|
30
50
|
|
|
31
51
|
<button
|
|
32
52
|
*ngIf="removable"
|
|
53
|
+
type="button"
|
|
54
|
+
[attr.aria-label]="removeLabel"
|
|
33
55
|
(click)="onRemove.emit($event)"
|
|
34
|
-
class="ml-1 -mr-1 rounded-md hover:bg-foreground/20
|
|
35
|
-
<i class="ri-close-line"></i>
|
|
56
|
+
class="ml-1 -mr-1 rounded-md transition-colors hover:bg-foreground/20 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1">
|
|
57
|
+
<i class="ri-close-line" aria-hidden="true"></i>
|
|
36
58
|
</button>
|
|
37
59
|
</div>
|
|
38
60
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
@@ -53,9 +75,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
53
75
|
|
|
54
76
|
<button
|
|
55
77
|
*ngIf="removable"
|
|
78
|
+
type="button"
|
|
79
|
+
[attr.aria-label]="removeLabel"
|
|
56
80
|
(click)="onRemove.emit($event)"
|
|
57
|
-
class="ml-1 -mr-1 rounded-md hover:bg-foreground/20
|
|
58
|
-
<i class="ri-close-line"></i>
|
|
81
|
+
class="ml-1 -mr-1 rounded-md transition-colors hover:bg-foreground/20 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1">
|
|
82
|
+
<i class="ri-close-line" aria-hidden="true"></i>
|
|
59
83
|
</button>
|
|
60
84
|
</div>
|
|
61
85
|
`,
|
|
@@ -66,9 +90,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
66
90
|
type: Input
|
|
67
91
|
}], removable: [{
|
|
68
92
|
type: Input
|
|
93
|
+
}], removeLabel: [{
|
|
94
|
+
type: Input
|
|
69
95
|
}], class: [{
|
|
70
96
|
type: Input
|
|
71
97
|
}], onRemove: [{
|
|
72
98
|
type: Output
|
|
73
99
|
}] } });
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9sbGUvc3JjL2xpYi9iYWRnZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLEdBQUcsRUFBcUIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7QUFFaEMsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUN2QixtSUFBbUksRUFDbkk7SUFDRSxRQUFRLEVBQUU7UUFDUixPQUFPLEVBQUU7WUFDUCxPQUFPLEVBQUUsdURBQXVEO1lBQ2hFLFNBQVMsRUFBRSwyREFBMkQ7WUFDdEUsT0FBTyxFQUFFLDhDQUE4QztZQUN2RCxXQUFXLEVBQUUsK0RBQStEO1NBQzdFO1FBQ0QsSUFBSSxFQUFFO1lBQ0osRUFBRSxFQUFFLHlCQUF5QjtZQUM3QixFQUFFLEVBQUUsdUJBQXVCO1lBQzNCLE9BQU8sRUFBRSxTQUFTO1NBQ25CO0tBQ0Y7SUFDRCxlQUFlLEVBQUU7UUFDZixPQUFPLEVBQUUsU0FBUztRQUNsQixJQUFJLEVBQUUsU0FBUztLQUNoQjtDQUNGLENBQ0YsQ0FBQztBQTJCRixNQUFNLE9BQU8sY0FBYztJQUN6QixvREFBb0Q7SUFDM0MsT0FBTyxHQUEwQixTQUFTLENBQUM7SUFDcEQsNENBQTRDO0lBQ25DLElBQUksR0FBdUIsU0FBUyxDQUFDO0lBQzlDLGdGQUFnRjtJQUN2RSxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNCLGlFQUFpRTtJQUN4RCxXQUFXLEdBQUcsUUFBUSxDQUFDO0lBQ2hDLDJFQUEyRTtJQUNsRSxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBRXBCLHVFQUF1RTtJQUM3RCxRQUFRLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztJQUVwRCxJQUFJLGFBQWE7UUFDZixPQUFPLEVBQUUsQ0FDUCxhQUFhLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQ3pELElBQUksQ0FBQyxLQUFLLENBQ1gsQ0FBQztJQUNKLENBQUM7d0dBcEJVLGNBQWM7NEZBQWQsY0FBYyw0TkFuQmY7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJULDJEQWxCUyxZQUFZOzs0RkFvQlgsY0FBYztrQkF2QjFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQlQ7aUJBQ0Y7OEJBR1UsT0FBTztzQkFBZixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUdJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGN2YSwgdHlwZSBWYXJpYW50UHJvcHMgfSBmcm9tICdjbGFzcy12YXJpYW5jZS1hdXRob3JpdHknO1xuaW1wb3J0IHsgY24gfSBmcm9tICcuL3V0aWxzL2NuJztcblxuY29uc3QgYmFkZ2VWYXJpYW50cyA9IGN2YShcbiAgJ2lubGluZS1mbGV4IHctZml0IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLW1kIGJvcmRlciBweC0yIHB5LTAuNSBmb250LW1lZGl1bSB0cmFuc2l0aW9uLWNvbG9ycyBnYXAtMSB3aGl0ZXNwYWNlLW5vd3JhcCcsXG4gIHtcbiAgICB2YXJpYW50czoge1xuICAgICAgdmFyaWFudDoge1xuICAgICAgICBkZWZhdWx0OiAnYm9yZGVyLXRyYW5zcGFyZW50IGJnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQnLFxuICAgICAgICBzZWNvbmRhcnk6ICdib3JkZXItdHJhbnNwYXJlbnQgYmctc2Vjb25kYXJ5IHRleHQtc2Vjb25kYXJ5LWZvcmVncm91bmQnLFxuICAgICAgICBvdXRsaW5lOiAndGV4dC1mb3JlZ3JvdW5kIGJvcmRlci1ib3JkZXIgYmctdHJhbnNwYXJlbnQnLFxuICAgICAgICBkZXN0cnVjdGl2ZTogJ2JvcmRlci10cmFuc3BhcmVudCBiZy1kZXN0cnVjdGl2ZSB0ZXh0LWRlc3RydWN0aXZlLWZvcmVncm91bmQnLFxuICAgICAgfSxcbiAgICAgIHNpemU6IHtcbiAgICAgICAgeHM6ICdweC0xLjUgcHktMCB0ZXh0LVsxMHB4XScsXG4gICAgICAgIHNtOiAncHgtMiBweS0wIHRleHQtWzExcHhdJyxcbiAgICAgICAgZGVmYXVsdDogJ3RleHQteHMnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGRlZmF1bHRWYXJpYW50czoge1xuICAgICAgdmFyaWFudDogJ2RlZmF1bHQnLFxuICAgICAgc2l6ZTogJ2RlZmF1bHQnLFxuICAgIH0sXG4gIH1cbik7XG5cbmV4cG9ydCB0eXBlIEJhZGdlUHJvcHMgPSBWYXJpYW50UHJvcHM8dHlwZW9mIGJhZGdlVmFyaWFudHM+O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0b2xsZS1iYWRnZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgW2NsYXNzXT1cImNvbXB1dGVkQ2xhc3NcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltwcmVmaXhdXCI+PC9uZy1jb250ZW50PlxuXG4gICAgICA8c3BhbiBjbGFzcz1cInRydW5jYXRlXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvc3Bhbj5cblxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cInJlbW92YWJsZVwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInJlbW92ZUxhYmVsXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uUmVtb3ZlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgIGNsYXNzPVwibWwtMSAtbXItMSByb3VuZGVkLW1kIHRyYW5zaXRpb24tY29sb3JzIGhvdmVyOmJnLWZvcmVncm91bmQvMjAgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpyaW5nLTIgZm9jdXMtdmlzaWJsZTpyaW5nLXJpbmcgZm9jdXMtdmlzaWJsZTpyaW5nLW9mZnNldC0xXCI+XG4gICAgICAgIDxpIGNsYXNzPVwicmktY2xvc2UtbGluZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBCYWRnZUNvbXBvbmVudCB7XG4gIC8qKiBWaXN1YWwgc3R5bGUgb2YgdGhlIGJhZGdlLiBAZGVmYXVsdCAnZGVmYXVsdCcgKi9cbiAgQElucHV0KCkgdmFyaWFudDogQmFkZ2VQcm9wc1sndmFyaWFudCddID0gJ2RlZmF1bHQnO1xuICAvKiogU2l6ZSBvZiB0aGUgYmFkZ2UuIEBkZWZhdWx0ICdkZWZhdWx0JyAqL1xuICBASW5wdXQoKSBzaXplOiBCYWRnZVByb3BzWydzaXplJ10gPSAnZGVmYXVsdCc7XG4gIC8qKiBTaG93cyBhIHRyYWlsaW5nIGRpc21pc3MgKMOXKSBidXR0b24gdGhhdCBlbWl0cyBgb25SZW1vdmVgLiBAZGVmYXVsdCBmYWxzZSAqL1xuICBASW5wdXQoKSByZW1vdmFibGUgPSBmYWxzZTtcbiAgLyoqIEFjY2Vzc2libGUgbGFiZWwgZm9yIHRoZSBkaXNtaXNzIGJ1dHRvbi4gQGRlZmF1bHQgJ1JlbW92ZScgKi9cbiAgQElucHV0KCkgcmVtb3ZlTGFiZWwgPSAnUmVtb3ZlJztcbiAgLyoqIEV4dHJhIFRhaWx3aW5kIGNsYXNzZXMgbWVyZ2VkIG9udG8gdGhlIGJhZGdlIHZpYSBgY24oKWAgKGxhc3Qtd2lucykuICovXG4gIEBJbnB1dCgpIGNsYXNzID0gJyc7XG5cbiAgLyoqIEVtaXR0ZWQgd2l0aCB0aGUgY2xpY2sgZXZlbnQgd2hlbiB0aGUgZGlzbWlzcyBidXR0b24gaXMgcHJlc3NlZC4gKi9cbiAgQE91dHB1dCgpIG9uUmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuXG4gIGdldCBjb21wdXRlZENsYXNzKCkge1xuICAgIHJldHVybiBjbihcbiAgICAgIGJhZGdlVmFyaWFudHMoeyB2YXJpYW50OiB0aGlzLnZhcmlhbnQsIHNpemU6IHRoaXMuc2l6ZSB9KSxcbiAgICAgIHRoaXMuY2xhc3NcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -21,9 +21,9 @@ export class BreadcrumbLinkComponent {
|
|
|
21
21
|
</ng-container>
|
|
22
22
|
|
|
23
23
|
<ng-template #linkTemplate>
|
|
24
|
-
<
|
|
24
|
+
<a class="transition-colors hover:text-foreground cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded-sm">
|
|
25
25
|
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
26
|
-
</
|
|
26
|
+
</a>
|
|
27
27
|
</ng-template>
|
|
28
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
29
|
}
|
|
@@ -49,12 +49,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
49
49
|
</ng-container>
|
|
50
50
|
|
|
51
51
|
<ng-template #linkTemplate>
|
|
52
|
-
<
|
|
52
|
+
<a class="transition-colors hover:text-foreground cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded-sm">
|
|
53
53
|
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
54
|
-
</
|
|
54
|
+
</a>
|
|
55
55
|
</ng-template>
|
|
56
56
|
` }]
|
|
57
57
|
}], propDecorators: { active: [{
|
|
58
58
|
type: Input
|
|
59
59
|
}] } });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1saW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RvbGxlL3NyYy9saWIvYnJlYWRjcnVtYi1saW5rLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7O0FBaUN2RCxNQUFNLE9BQU8sdUJBQXVCO0lBQ3pCLE1BQU0sR0FBWSxLQUFLLENBQUM7d0dBRHRCLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLCtHQXhCeEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCVCwwRUF4QkMsSUFBSSw2RkFDSixnQkFBZ0I7OzRGQTBCUCx1QkFBdUI7a0JBL0JuQyxTQUFTOytCQUNFLHVCQUF1QixjQUNyQixJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixnQkFBZ0I7cUJBQ2pCLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCVDs4QkFJUSxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0b2xsZS1icmVhZGNydW1iLWxpbmsnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBOZ1RlbXBsYXRlT3V0bGV0XG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWN0aXZlOyBlbHNlIGxpbmtUZW1wbGF0ZVwiPlxuICAgICAgPHNwYW5cbiAgICAgICAgcm9sZT1cImxpbmtcIlxuICAgICAgICBhcmlhLWRpc2FibGVkPVwidHJ1ZVwiXG4gICAgICAgIGFyaWEtY3VycmVudD1cInBhZ2VcIlxuICAgICAgICBjbGFzcz1cImZvbnQtbm9ybWFsIHRleHQtZm9yZWdyb3VuZFwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L3NwYW4+XG4gICAgPC9uZy1jb250YWluZXI+
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1saW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RvbGxlL3NyYy9saWIvYnJlYWRjcnVtYi1saW5rLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7O0FBaUN2RCxNQUFNLE9BQU8sdUJBQXVCO0lBQ3pCLE1BQU0sR0FBWSxLQUFLLENBQUM7d0dBRHRCLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLCtHQXhCeEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCVCwwRUF4QkMsSUFBSSw2RkFDSixnQkFBZ0I7OzRGQTBCUCx1QkFBdUI7a0JBL0JuQyxTQUFTOytCQUNFLHVCQUF1QixjQUNyQixJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixnQkFBZ0I7cUJBQ2pCLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCVDs4QkFJUSxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0b2xsZS1icmVhZGNydW1iLWxpbmsnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBOZ1RlbXBsYXRlT3V0bGV0XG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWN0aXZlOyBlbHNlIGxpbmtUZW1wbGF0ZVwiPlxuICAgICAgPHNwYW5cbiAgICAgICAgcm9sZT1cImxpbmtcIlxuICAgICAgICBhcmlhLWRpc2FibGVkPVwidHJ1ZVwiXG4gICAgICAgIGFyaWEtY3VycmVudD1cInBhZ2VcIlxuICAgICAgICBjbGFzcz1cImZvbnQtbm9ybWFsIHRleHQtZm9yZWdyb3VuZFwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L3NwYW4+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctdGVtcGxhdGUgI2xpbmtUZW1wbGF0ZT5cbiAgICAgIDxhIGNsYXNzPVwidHJhbnNpdGlvbi1jb2xvcnMgaG92ZXI6dGV4dC1mb3JlZ3JvdW5kIGN1cnNvci1wb2ludGVyIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nIHJvdW5kZWQtc21cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvYT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICBgLFxuICBzdHlsZXM6IGBgXG59KVxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJMaW5rQ29tcG9uZW50IHtcbiAgQElucHV0KCkgYWN0aXZlOiBib29sZWFuID0gZmFsc2U7XG59XG4iXX0=
|
|
@@ -12,7 +12,7 @@ const buttonVariants = cva("tolle-button-base inline-flex items-center justify-c
|
|
|
12
12
|
outline: "border border-input bg-transparent hover:bg-accent hover:text-accent-foreground text-foreground",
|
|
13
13
|
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
14
14
|
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
15
|
-
link: "text-primary
|
|
15
|
+
link: "text-primary underline-offset-4 hover:underline",
|
|
16
16
|
},
|
|
17
17
|
size: {
|
|
18
18
|
default: "h-10 px-4 py-2",
|
|
@@ -32,10 +32,17 @@ const buttonVariants = cva("tolle-button-base inline-flex items-center justify-c
|
|
|
32
32
|
},
|
|
33
33
|
});
|
|
34
34
|
export class ButtonComponent {
|
|
35
|
+
/** Extra Tailwind classes merged onto the button via `cn()` (last-wins). */
|
|
35
36
|
class = '';
|
|
37
|
+
/** Visual style of the button. @default 'default' */
|
|
36
38
|
variant = 'default';
|
|
39
|
+
/** Size of the button, including icon-only sizes. @default 'default' */
|
|
37
40
|
size = 'default';
|
|
41
|
+
/** Native button type. Defaults to 'button' so it never submits a form unexpectedly. @default 'button' */
|
|
42
|
+
type = 'button';
|
|
43
|
+
/** Disables the button and blocks pointer events. @default false */
|
|
38
44
|
disabled = false;
|
|
45
|
+
/** Shows a spinner, sets `aria-busy`, and prevents interaction while a task runs. @default false */
|
|
39
46
|
busy = false;
|
|
40
47
|
get computedClass() {
|
|
41
48
|
return cn(buttonVariants({
|
|
@@ -45,8 +52,9 @@ export class ButtonComponent {
|
|
|
45
52
|
}), this.class);
|
|
46
53
|
}
|
|
47
54
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
48
|
-
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" }, host: { classAttribute: "tolle-button-wrapper inline-block align-middle" }, ngImport: i0, template: `
|
|
55
|
+
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", type: "type", disabled: "disabled", busy: "busy" }, host: { classAttribute: "tolle-button-wrapper inline-block align-middle" }, ngImport: i0, template: `
|
|
49
56
|
<button
|
|
57
|
+
[type]="type"
|
|
50
58
|
[class]="computedClass"
|
|
51
59
|
[disabled]="disabled || busy"
|
|
52
60
|
[attr.aria-busy]="busy"
|
|
@@ -72,6 +80,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
72
80
|
imports: [CommonModule],
|
|
73
81
|
template: `
|
|
74
82
|
<button
|
|
83
|
+
[type]="type"
|
|
75
84
|
[class]="computedClass"
|
|
76
85
|
[disabled]="disabled || busy"
|
|
77
86
|
[attr.aria-busy]="busy"
|
|
@@ -98,9 +107,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
98
107
|
type: Input
|
|
99
108
|
}], size: [{
|
|
100
109
|
type: Input
|
|
110
|
+
}], type: [{
|
|
111
|
+
type: Input
|
|
101
112
|
}], disabled: [{
|
|
102
113
|
type: Input
|
|
103
114
|
}], busy: [{
|
|
104
115
|
type: Input
|
|
105
116
|
}] } });
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RvbGxlL3NyYy9saWIvYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLEdBQUcsRUFBcUIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7QUFFaEMsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUN4Qix5U0FBeVMsRUFDelM7SUFDRSxRQUFRLEVBQUU7UUFDUixPQUFPLEVBQUU7WUFDUCxPQUFPLEVBQUUsd0RBQXdEO1lBQ2pFLFdBQVcsRUFBRSxvRUFBb0U7WUFDakYsT0FBTyxFQUFFLGlHQUFpRztZQUMxRyxTQUFTLEVBQUUsOERBQThEO1lBQ3pFLEtBQUssRUFBRSw4Q0FBOEM7WUFDckQsSUFBSSxFQUFFLGlEQUFpRDtTQUN4RDtRQUNELElBQUksRUFBRTtZQUNKLE9BQU8sRUFBRSxnQkFBZ0I7WUFDekIsRUFBRSxFQUFFLHVCQUF1QjtZQUMzQixFQUFFLEVBQUUscUJBQXFCO1lBQ3pCLEVBQUUsRUFBRSxzQkFBc0I7WUFDMUIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsSUFBSSxFQUFFLFdBQVc7WUFDakIsU0FBUyxFQUFFLFdBQVc7U0FDdkI7UUFDRCxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsK0RBQStELEVBQUU7S0FDaEY7SUFDRCxlQUFlLEVBQUU7UUFDZixPQUFPLEVBQUUsU0FBUztRQUNsQixJQUFJLEVBQUUsU0FBUztLQUNoQjtDQUNGLENBQ0YsQ0FBQztBQStCRixNQUFNLE9BQU8sZUFBZTtJQUMxQiw0RUFBNEU7SUFDbkUsS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUM1QixxREFBcUQ7SUFDNUMsT0FBTyxHQUEyQixTQUFTLENBQUM7SUFDckQsd0VBQXdFO0lBQy9ELElBQUksR0FBd0IsU0FBUyxDQUFDO0lBQy9DLDBHQUEwRztJQUNqRyxJQUFJLEdBQWtDLFFBQVEsQ0FBQztJQUN4RCxvRUFBb0U7SUFDM0QsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUNuQyxvR0FBb0c7SUFDM0YsSUFBSSxHQUFZLEtBQUssQ0FBQztJQUUvQixJQUFJLGFBQWE7UUFDZixPQUFPLEVBQUUsQ0FDUCxjQUFjLENBQUM7WUFDYixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1NBQ2hCLENBQUMsRUFDRixJQUFJLENBQUMsS0FBSyxDQUNYLENBQUM7SUFDSixDQUFDO3dHQXZCVSxlQUFlOzRGQUFmLGVBQWUsb1FBdkJoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JULDJEQW5CUyxZQUFZOzs0RkF3QlgsZUFBZTtrQkEzQjNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JUO29CQUNELElBQUksRUFBRTt3QkFDSixPQUFPLEVBQUUsZ0RBQWdEO3FCQUMxRDtpQkFDRjs4QkFHVSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgY3ZhLCB0eXBlIFZhcmlhbnRQcm9wcyB9IGZyb20gJ2NsYXNzLXZhcmlhbmNlLWF1dGhvcml0eSc7XG5pbXBvcnQgeyBjbiB9IGZyb20gJy4vdXRpbHMvY24nO1xuXG5jb25zdCBidXR0b25WYXJpYW50cyA9IGN2YShcbiAgXCJ0b2xsZS1idXR0b24tYmFzZSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1tZCB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRyYW5zaXRpb24tYWxsIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nIGZvY3VzLXZpc2libGU6cmluZy1vZmZzZXQtMiBkaXNhYmxlZDpvcGFjaXR5LTUwIGRpc2FibGVkOnBvaW50ZXItZXZlbnRzLW5vbmUgcmluZy1vZmZzZXQtYmFja2dyb3VuZCBhY3RpdmU6c2NhbGUtWzAuOThdXCIsXG4gIHtcbiAgICB2YXJpYW50czoge1xuICAgICAgdmFyaWFudDoge1xuICAgICAgICBkZWZhdWx0OiBcImJnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQgaG92ZXI6YmctcHJpbWFyeS85MFwiLFxuICAgICAgICBkZXN0cnVjdGl2ZTogXCJiZy1kZXN0cnVjdGl2ZSB0ZXh0LWRlc3RydWN0aXZlLWZvcmVncm91bmQgaG92ZXI6YmctZGVzdHJ1Y3RpdmUvOTBcIixcbiAgICAgICAgb3V0bGluZTogXCJib3JkZXIgYm9yZGVyLWlucHV0IGJnLXRyYW5zcGFyZW50IGhvdmVyOmJnLWFjY2VudCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kIHRleHQtZm9yZWdyb3VuZFwiLFxuICAgICAgICBzZWNvbmRhcnk6IFwiYmctc2Vjb25kYXJ5IHRleHQtc2Vjb25kYXJ5LWZvcmVncm91bmQgaG92ZXI6Ymctc2Vjb25kYXJ5LzgwXCIsXG4gICAgICAgIGdob3N0OiBcImhvdmVyOmJnLWFjY2VudCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kXCIsXG4gICAgICAgIGxpbms6IFwidGV4dC1wcmltYXJ5IHVuZGVybGluZS1vZmZzZXQtNCBob3Zlcjp1bmRlcmxpbmVcIixcbiAgICAgIH0sXG4gICAgICBzaXplOiB7XG4gICAgICAgIGRlZmF1bHQ6IFwiaC0xMCBweC00IHB5LTJcIixcbiAgICAgICAgeHM6IFwiaC04IHB4LTIgcHktMSB0ZXh0LXhzXCIsXG4gICAgICAgIHNtOiBcImgtOSByb3VuZGVkLW1kIHB4LTNcIixcbiAgICAgICAgbGc6IFwiaC0xMSByb3VuZGVkLW1kIHB4LThcIixcbiAgICAgICAgXCJpY29uLXhzXCI6IFwiaC04IHctOFwiLFxuICAgICAgICBcImljb24tc21cIjogXCJoLTkgdy05XCIsXG4gICAgICAgIGljb246IFwiaC0xMCB3LTEwXCIsXG4gICAgICAgIFwiaWNvbi1sZ1wiOiBcImgtMTEgdy0xMVwiLFxuICAgICAgfSxcbiAgICAgIGJ1c3k6IHsgdHJ1ZTogXCJ0b2xsZS1idXR0b24tLWJ1c3kgcmVsYXRpdmUgIWN1cnNvci13YWl0ICFwb2ludGVyLWV2ZW50cy1ub25lXCIgfVxuICAgIH0sXG4gICAgZGVmYXVsdFZhcmlhbnRzOiB7XG4gICAgICB2YXJpYW50OiBcImRlZmF1bHRcIixcbiAgICAgIHNpemU6IFwiZGVmYXVsdFwiLFxuICAgIH0sXG4gIH1cbik7XG5cbmV4cG9ydCB0eXBlIEJ1dHRvblByb3BzID0gVmFyaWFudFByb3BzPHR5cGVvZiBidXR0b25WYXJpYW50cz47XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RvbGxlLWJ1dHRvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxidXR0b25cbiAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgW2NsYXNzXT1cImNvbXB1dGVkQ2xhc3NcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGJ1c3lcIlxuICAgICAgW2F0dHIuYXJpYS1idXN5XT1cImJ1c3lcIlxuICAgID5cbiAgICAgIDxkaXYgKm5nSWY9XCJidXN5XCIgY2xhc3M9XCJhYnNvbHV0ZSBpbnNldC0wIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgIDxzdmcgY2xhc3M9XCJhbmltYXRlLXNwaW4gaC01IHctNSB0ZXh0LWN1cnJlbnRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XG4gICAgICAgICAgPGNpcmNsZSBjbGFzcz1cIm9wYWNpdHktMjVcIiBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxMFwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjRcIj48L2NpcmNsZT5cbiAgICAgICAgICA8cGF0aCBjbGFzcz1cIm9wYWNpdHktNzVcIiBmaWxsPVwiY3VycmVudENvbG9yXCIgZD1cIk00IDEyYTggOCAwIDAxOC04VjBDNS4zNzMgMCAwIDUuMzczIDAgMTJoNHptMiA1LjI5MUE3Ljk2MiA3Ljk2MiAwIDAxNCAxMkgwYzAgMy4wNDIgMS4xMzUgNS44MjQgMyA3LjkzOGwzLTIuNjQ3elwiPjwvcGF0aD5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPHNwYW4gY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB3LWZ1bGwgaC1mdWxsIHBvaW50ZXItZXZlbnRzLW5vbmVcIiBbY2xhc3MuaW52aXNpYmxlXT1cImJ1c3lcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICBgLFxuICBob3N0OiB7XG4gICAgJ2NsYXNzJzogJ3RvbGxlLWJ1dHRvbi13cmFwcGVyIGlubGluZS1ibG9jayBhbGlnbi1taWRkbGUnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IHtcbiAgLyoqIEV4dHJhIFRhaWx3aW5kIGNsYXNzZXMgbWVyZ2VkIG9udG8gdGhlIGJ1dHRvbiB2aWEgYGNuKClgIChsYXN0LXdpbnMpLiAqL1xuICBASW5wdXQoKSBjbGFzczogc3RyaW5nID0gJyc7XG4gIC8qKiBWaXN1YWwgc3R5bGUgb2YgdGhlIGJ1dHRvbi4gQGRlZmF1bHQgJ2RlZmF1bHQnICovXG4gIEBJbnB1dCgpIHZhcmlhbnQ6IEJ1dHRvblByb3BzWyd2YXJpYW50J10gPSAnZGVmYXVsdCc7XG4gIC8qKiBTaXplIG9mIHRoZSBidXR0b24sIGluY2x1ZGluZyBpY29uLW9ubHkgc2l6ZXMuIEBkZWZhdWx0ICdkZWZhdWx0JyAqL1xuICBASW5wdXQoKSBzaXplOiBCdXR0b25Qcm9wc1snc2l6ZSddID0gJ2RlZmF1bHQnO1xuICAvKiogTmF0aXZlIGJ1dHRvbiB0eXBlLiBEZWZhdWx0cyB0byAnYnV0dG9uJyBzbyBpdCBuZXZlciBzdWJtaXRzIGEgZm9ybSB1bmV4cGVjdGVkbHkuIEBkZWZhdWx0ICdidXR0b24nICovXG4gIEBJbnB1dCgpIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnID0gJ2J1dHRvbic7XG4gIC8qKiBEaXNhYmxlcyB0aGUgYnV0dG9uIGFuZCBibG9ja3MgcG9pbnRlciBldmVudHMuIEBkZWZhdWx0IGZhbHNlICovXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKiBTaG93cyBhIHNwaW5uZXIsIHNldHMgYGFyaWEtYnVzeWAsIGFuZCBwcmV2ZW50cyBpbnRlcmFjdGlvbiB3aGlsZSBhIHRhc2sgcnVucy4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgQElucHV0KCkgYnVzeTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGdldCBjb21wdXRlZENsYXNzKCkge1xuICAgIHJldHVybiBjbihcbiAgICAgIGJ1dHRvblZhcmlhbnRzKHtcbiAgICAgICAgdmFyaWFudDogdGhpcy52YXJpYW50LFxuICAgICAgICBzaXplOiB0aGlzLnNpemUsXG4gICAgICAgIGJ1c3k6IHRoaXMuYnVzeVxuICAgICAgfSksXG4gICAgICB0aGlzLmNsYXNzXG4gICAgKTtcbiAgfVxufVxuIl19
|