@tolle_/tolle-ui 18.2.29 → 18.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/accordion-item.component.mjs +5 -11
- package/esm2022/lib/accordion.component.mjs +4 -9
- package/esm2022/lib/alert-dialog-dynamic.component.mjs +12 -12
- package/esm2022/lib/alert-dialog.component.mjs +82 -64
- package/esm2022/lib/alert-dialog.service.mjs +38 -6
- package/esm2022/lib/alert.component.mjs +5 -11
- package/esm2022/lib/aspect-ratio.component.mjs +119 -0
- package/esm2022/lib/attachment.component.mjs +334 -0
- package/esm2022/lib/avatar-fallback.component.mjs +3 -3
- package/esm2022/lib/avatar.component.mjs +4 -9
- package/esm2022/lib/badge.component.mjs +4 -9
- package/esm2022/lib/breadcrumb-item.component.mjs +3 -3
- package/esm2022/lib/breadcrumb-link.component.mjs +3 -3
- package/esm2022/lib/breadcrumb-separator.component.mjs +3 -3
- package/esm2022/lib/breadcrumb.component.mjs +3 -3
- package/esm2022/lib/bubble.component.mjs +301 -0
- package/esm2022/lib/button.component.mjs +5 -11
- package/esm2022/lib/calendar.component.mjs +5 -11
- package/esm2022/lib/card.component.mjs +14 -43
- package/esm2022/lib/carousel/carousel.component.mjs +5 -12
- package/esm2022/lib/chain-of-thought.component.mjs +380 -0
- package/esm2022/lib/chart-pie.component.mjs +386 -0
- package/esm2022/lib/chart.component.mjs +1146 -0
- package/esm2022/lib/chart.service.mjs +555 -0
- package/esm2022/lib/checkbox.component.mjs +5 -11
- package/esm2022/lib/checkpoint.component.mjs +134 -0
- package/esm2022/lib/collapsible.component.mjs +4 -11
- package/esm2022/lib/combobox.component.mjs +372 -0
- package/esm2022/lib/command-dialog.component.mjs +164 -0
- package/esm2022/lib/command.component.mjs +514 -0
- package/esm2022/lib/command.service.mjs +130 -0
- package/esm2022/lib/confirmation.component.mjs +219 -0
- package/esm2022/lib/context-menu-trigger.directive.mjs +36 -0
- package/esm2022/lib/context-menu.component.mjs +460 -0
- package/esm2022/lib/context-menu.service.mjs +125 -0
- package/esm2022/lib/context.component.mjs +377 -0
- package/esm2022/lib/conversation.component.mjs +442 -0
- package/esm2022/lib/country-selector.component.mjs +5 -11
- package/esm2022/lib/data-table.component.mjs +59 -12
- package/esm2022/lib/date-picker.component.mjs +251 -198
- package/esm2022/lib/date-range-picker.component.mjs +224 -116
- package/esm2022/lib/date-time-picker.component.mjs +506 -0
- package/esm2022/lib/direction.component.mjs +79 -0
- package/esm2022/lib/dropdown-item.component.mjs +3 -3
- 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 +6 -4
- package/esm2022/lib/empty-state.component.mjs +4 -9
- package/esm2022/lib/field.component.mjs +394 -0
- package/esm2022/lib/hover-card.component.mjs +6 -16
- package/esm2022/lib/inline-citation.component.mjs +263 -0
- package/esm2022/lib/input-group.component.mjs +418 -0
- package/esm2022/lib/input.component.mjs +5 -11
- package/esm2022/lib/item.component.mjs +243 -0
- package/esm2022/lib/kbd.component.mjs +82 -0
- package/esm2022/lib/label.component.mjs +4 -9
- package/esm2022/lib/marker.component.mjs +135 -0
- package/esm2022/lib/masked-input.component.mjs +5 -11
- package/esm2022/lib/menubar.component.mjs +683 -0
- package/esm2022/lib/message-scroller.component.mjs +353 -0
- package/esm2022/lib/message-scroller.service.mjs +157 -0
- package/esm2022/lib/message.component.mjs +228 -0
- package/esm2022/lib/modal-ref.mjs +36 -7
- package/esm2022/lib/modal.component.mjs +42 -28
- package/esm2022/lib/modal.mjs +2 -29
- package/esm2022/lib/modal.service.mjs +26 -4
- package/esm2022/lib/model-selector.component.mjs +310 -0
- package/esm2022/lib/multi-select.component.mjs +155 -72
- package/esm2022/lib/native-select.component.mjs +201 -0
- package/esm2022/lib/navigation-menu.component.mjs +642 -0
- package/esm2022/lib/otp-group.component.mjs +3 -3
- package/esm2022/lib/otp-slot.component.mjs +4 -9
- package/esm2022/lib/otp.component.mjs +5 -11
- package/esm2022/lib/pagination.component.mjs +7 -10
- package/esm2022/lib/plan.component.mjs +335 -0
- package/esm2022/lib/popover-content.component.mjs +4 -9
- package/esm2022/lib/popover.component.mjs +15 -13
- package/esm2022/lib/progress.component.mjs +4 -9
- package/esm2022/lib/prompt-input.component.mjs +526 -0
- package/esm2022/lib/queue.component.mjs +280 -0
- package/esm2022/lib/radio-group.component.mjs +6 -13
- package/esm2022/lib/radio-item.component.mjs +4 -9
- package/esm2022/lib/range-calendar.component.mjs +5 -11
- package/esm2022/lib/reasoning.component.mjs +335 -0
- package/esm2022/lib/resizable-panel.component.mjs +5 -5
- package/esm2022/lib/resizable.component.mjs +219 -0
- package/esm2022/lib/segment.component.mjs +19 -9
- package/esm2022/lib/select-group.component.mjs +4 -8
- package/esm2022/lib/select-item.component.mjs +4 -9
- package/esm2022/lib/select-separator.component.mjs +4 -8
- package/esm2022/lib/select.component.mjs +133 -49
- package/esm2022/lib/separator.component.mjs +4 -9
- package/esm2022/lib/sheet.component.mjs +38 -56
- package/esm2022/lib/shimmer.component.mjs +84 -0
- package/esm2022/lib/sidebar.component.mjs +11 -1
- package/esm2022/lib/skeleton.component.mjs +4 -9
- package/esm2022/lib/sources.component.mjs +452 -0
- package/esm2022/lib/spinner.component.mjs +68 -0
- package/esm2022/lib/suggestion.component.mjs +207 -0
- package/esm2022/lib/switch.component.mjs +5 -11
- package/esm2022/lib/table.component.mjs +213 -0
- package/esm2022/lib/tabs.component.mjs +4 -11
- package/esm2022/lib/tag-input.component.mjs +5 -11
- package/esm2022/lib/task.component.mjs +359 -0
- package/esm2022/lib/textarea.component.mjs +5 -11
- package/esm2022/lib/theme.service.mjs +17 -6
- package/esm2022/lib/time-picker.component.mjs +923 -0
- package/esm2022/lib/toast.service.mjs +3 -2
- package/esm2022/lib/toaster.component.mjs +76 -39
- package/esm2022/lib/toggle-group.component.mjs +4 -9
- package/esm2022/lib/toggle.component.mjs +5 -11
- package/esm2022/lib/tool.component.mjs +462 -0
- package/esm2022/lib/typography.component.mjs +83 -0
- package/esm2022/lib/utils/color.mjs +140 -19
- package/esm2022/public-api.mjs +61 -1
- package/fesm2022/tolle-ui.mjs +16642 -1105
- package/fesm2022/tolle-ui.mjs.map +1 -1
- package/lib/alert-dialog-dynamic.component.d.ts +5 -0
- package/lib/alert-dialog.component.d.ts +23 -2
- package/lib/aspect-ratio.component.d.ts +20 -0
- package/lib/attachment.component.d.ts +101 -0
- package/lib/bubble.component.d.ts +112 -0
- package/lib/chain-of-thought.component.d.ts +166 -0
- package/lib/chart-pie.component.d.ts +108 -0
- package/lib/chart.component.d.ts +369 -0
- package/lib/chart.service.d.ts +222 -0
- package/lib/checkpoint.component.d.ts +51 -0
- package/lib/combobox.component.d.ts +90 -0
- package/lib/command-dialog.component.d.ts +53 -0
- package/lib/command.component.d.ts +189 -0
- package/lib/command.service.d.ts +67 -0
- package/lib/confirmation.component.d.ts +70 -0
- package/lib/context-menu-trigger.directive.d.ts +12 -0
- package/lib/context-menu.component.d.ts +41 -0
- package/lib/context-menu.service.d.ts +38 -0
- package/lib/context.component.d.ts +134 -0
- package/lib/conversation.component.d.ts +165 -0
- package/lib/data-table.component.d.ts +26 -1
- package/lib/date-picker.component.d.ts +72 -11
- package/lib/date-range-picker.component.d.ts +63 -6
- package/lib/date-time-picker.component.d.ts +119 -0
- package/lib/direction.component.d.ts +45 -0
- package/lib/field.component.d.ts +201 -0
- package/lib/inline-citation.component.d.ts +103 -0
- package/lib/input-group.component.d.ts +150 -0
- package/lib/item.component.d.ts +154 -0
- package/lib/kbd.component.d.ts +50 -0
- package/lib/marker.component.d.ts +58 -0
- package/lib/menubar.component.d.ts +247 -0
- package/lib/message-scroller.component.d.ts +159 -0
- package/lib/message-scroller.service.d.ts +73 -0
- package/lib/message.component.d.ts +128 -0
- package/lib/modal-ref.d.ts +6 -1
- package/lib/modal.component.d.ts +7 -4
- package/lib/modal.d.ts +9 -3
- package/lib/model-selector.component.d.ts +103 -0
- package/lib/multi-select.component.d.ts +66 -14
- package/lib/native-select.component.d.ts +57 -0
- package/lib/navigation-menu.component.d.ts +230 -0
- package/lib/plan.component.d.ts +120 -0
- package/lib/popover.component.d.ts +1 -0
- package/lib/prompt-input.component.d.ts +194 -0
- package/lib/queue.component.d.ts +106 -0
- package/lib/reasoning.component.d.ts +127 -0
- package/lib/resizable.component.d.ts +43 -0
- package/lib/segment.component.d.ts +13 -3
- package/lib/select.component.d.ts +37 -5
- package/lib/sheet.component.d.ts +3 -0
- package/lib/shimmer.component.d.ts +38 -0
- package/lib/sidebar.component.d.ts +2 -0
- package/lib/sources.component.d.ts +156 -0
- package/lib/spinner.component.d.ts +29 -0
- package/lib/suggestion.component.d.ts +96 -0
- package/lib/table.component.d.ts +106 -0
- package/lib/task.component.d.ts +151 -0
- package/lib/theme.service.d.ts +9 -0
- package/lib/time-picker.component.d.ts +243 -0
- package/lib/toast.service.d.ts +3 -1
- package/lib/toaster.component.d.ts +26 -9
- package/lib/tool.component.d.ts +158 -0
- package/lib/typography.component.d.ts +32 -0
- package/lib/utils/color.d.ts +19 -5
- package/package.json +3 -2
- package/preset.js +7 -1
- package/public-api.d.ts +50 -0
- package/registry/docs-content.json +8480 -1542
- package/registry/llms-full.txt +2679 -319
- package/registry/llms.txt +43 -4
- package/registry/manifest.json +9090 -1742
- package/registry/r/accordion-item.json +1 -1
- package/registry/r/accordion.json +1 -1
- package/registry/r/alert-dialog-dynamic.json +1 -1
- package/registry/r/alert-dialog.json +1 -1
- package/registry/r/alert.json +1 -1
- package/registry/r/attachment.json +23 -0
- package/registry/r/avatar-fallback.json +1 -1
- package/registry/r/avatar.json +1 -1
- package/registry/r/badge.json +1 -1
- package/registry/r/breadcrumb-item.json +1 -1
- package/registry/r/breadcrumb-link.json +1 -1
- package/registry/r/breadcrumb-separator.json +1 -1
- package/registry/r/breadcrumb.json +1 -1
- package/registry/r/bubble.json +23 -0
- package/registry/r/button.json +1 -1
- package/registry/r/calendar.json +1 -1
- package/registry/r/card.json +1 -1
- package/registry/r/carousel.json +1 -1
- package/registry/r/chain-of-thought.json +23 -0
- package/registry/r/chart-pie.json +30 -0
- package/registry/r/chart.json +28 -0
- package/registry/r/checkbox.json +1 -1
- package/registry/r/checkpoint.json +23 -0
- package/registry/r/collapsible.json +1 -1
- package/registry/r/combobox.json +31 -0
- package/registry/r/command-dialog.json +21 -0
- package/registry/r/command.json +26 -0
- package/registry/r/confirmation.json +23 -0
- package/registry/r/context-menu-trigger.json +1 -1
- package/registry/r/context-menu.json +1 -1
- package/registry/r/context.json +26 -0
- package/registry/r/conversation.json +23 -0
- package/registry/r/country-selector.json +1 -1
- package/registry/r/data-table.json +1 -1
- package/registry/r/date-picker.json +4 -4
- package/registry/r/date-range-picker.json +3 -3
- package/registry/r/date-time-picker.json +28 -0
- package/registry/r/direction.json +16 -0
- package/registry/r/dropdown-item.json +1 -1
- package/registry/r/dropdown-label.json +1 -1
- package/registry/r/dropdown-menu.json +1 -1
- package/registry/r/dropdown-separator.json +1 -1
- package/registry/r/dropdown-trigger.json +1 -1
- package/registry/r/empty-state.json +1 -1
- package/registry/r/field.json +23 -0
- package/registry/r/hover-card.json +1 -1
- package/registry/r/inline-citation.json +26 -0
- package/registry/r/input-group.json +23 -0
- package/registry/r/input.json +1 -1
- package/registry/r/item.json +23 -0
- package/registry/r/kbd.json +23 -0
- package/registry/r/label.json +1 -1
- package/registry/r/marker.json +23 -0
- package/registry/r/masked-input.json +1 -1
- package/registry/r/menubar.json +24 -0
- package/registry/r/message-scroller.json +26 -0
- package/registry/r/message.json +23 -0
- package/registry/r/modal.json +3 -3
- package/registry/r/model-selector.json +32 -0
- package/registry/r/multi-select.json +2 -2
- package/registry/r/native-select.json +23 -0
- package/registry/r/navigation-menu.json +24 -0
- package/registry/r/otp-group.json +1 -1
- package/registry/r/otp-slot.json +1 -1
- package/registry/r/otp.json +1 -1
- package/registry/r/pagination.json +3 -2
- package/registry/r/plan.json +23 -0
- package/registry/r/popover-content.json +1 -1
- package/registry/r/popover.json +1 -1
- package/registry/r/progress.json +1 -1
- package/registry/r/prompt-input.json +23 -0
- package/registry/r/queue.json +23 -0
- package/registry/r/radio-group.json +1 -1
- package/registry/r/radio-item.json +1 -1
- package/registry/r/range-calendar.json +1 -1
- package/registry/r/reasoning.json +23 -0
- package/registry/r/resizable-panel.json +1 -1
- package/registry/r/segment.json +1 -1
- package/registry/r/select-group.json +1 -1
- package/registry/r/select-item.json +1 -1
- package/registry/r/select-separator.json +1 -1
- package/registry/r/select.json +4 -3
- package/registry/r/separator.json +1 -1
- package/registry/r/sheet.json +1 -1
- package/registry/r/shimmer.json +23 -0
- package/registry/r/sidebar.json +1 -1
- package/registry/r/skeleton.json +1 -1
- package/registry/r/sources.json +23 -0
- package/registry/r/spinner.json +23 -0
- package/registry/r/suggestion.json +23 -0
- package/registry/r/switch.json +1 -1
- package/registry/r/table.json +21 -0
- package/registry/r/tabs.json +1 -1
- package/registry/r/tag-input.json +1 -1
- package/registry/r/task.json +23 -0
- package/registry/r/textarea.json +1 -1
- package/registry/r/time-picker.json +24 -0
- package/registry/r/toaster.json +2 -2
- package/registry/r/toggle-group.json +1 -1
- package/registry/r/toggle.json +1 -1
- package/registry/r/tool.json +23 -0
- package/registry/r/typography.json +23 -0
- package/registry/registry.json +915 -22
- package/theme.css +121 -8
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Injectable, Input, Output, inject, ChangeDetectorRef } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { Subject, Subscription } from 'rxjs';
|
|
4
|
+
import { cva } from 'class-variance-authority';
|
|
5
|
+
import { cn } from './utils/cn';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
/**
|
|
9
|
+
* Relays a chosen suggestion from a `tolle-suggestion` up to the
|
|
10
|
+
* `tolle-suggestions` row that contains it, so consumers can listen in one
|
|
11
|
+
* place instead of binding every pill.
|
|
12
|
+
*
|
|
13
|
+
* Provided on `SuggestionsComponent`; injected optionally, since a pill is
|
|
14
|
+
* perfectly usable on its own.
|
|
15
|
+
*/
|
|
16
|
+
export class SuggestionsService {
|
|
17
|
+
selectedSource = new Subject();
|
|
18
|
+
/** Emits the value of whichever suggestion the user picked. */
|
|
19
|
+
selected$ = this.selectedSource.asObservable();
|
|
20
|
+
select(value) {
|
|
21
|
+
this.selectedSource.next(value);
|
|
22
|
+
}
|
|
23
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SuggestionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
24
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SuggestionsService });
|
|
25
|
+
}
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SuggestionsService, decorators: [{
|
|
27
|
+
type: Injectable
|
|
28
|
+
}] });
|
|
29
|
+
const suggestionsVariants = cva('flex w-full items-center overflow-x-auto scroll-fade-x', {
|
|
30
|
+
variants: {
|
|
31
|
+
gap: {
|
|
32
|
+
sm: 'gap-1',
|
|
33
|
+
default: 'gap-2',
|
|
34
|
+
lg: 'gap-3',
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
defaultVariants: {
|
|
38
|
+
gap: 'default',
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
/**
|
|
42
|
+
* A horizontally scrollable row of suggested follow-up prompts.
|
|
43
|
+
*
|
|
44
|
+
* Fill it with `tolle-suggestion` pills and listen to this component's
|
|
45
|
+
* `selected` output to react to any of them.
|
|
46
|
+
*/
|
|
47
|
+
export class SuggestionsComponent {
|
|
48
|
+
cdr = inject(ChangeDetectorRef);
|
|
49
|
+
/**
|
|
50
|
+
* Angular writes a bound `class` input through its styling path, which does
|
|
51
|
+
* not mark an OnPush component dirty — without this hook the component keeps
|
|
52
|
+
* rendering the class it was born with.
|
|
53
|
+
*/
|
|
54
|
+
ngOnChanges() {
|
|
55
|
+
this.cdr.markForCheck();
|
|
56
|
+
}
|
|
57
|
+
/** Spacing between the pills. @default 'default' */
|
|
58
|
+
gap = 'default';
|
|
59
|
+
/** Accessible name for the row. @default 'Suggestions' */
|
|
60
|
+
ariaLabel = 'Suggestions';
|
|
61
|
+
/** Extra Tailwind classes merged onto the row via `cn()` (last-wins). */
|
|
62
|
+
class = '';
|
|
63
|
+
/** Emitted with the `value` of whichever suggestion in the row was picked. */
|
|
64
|
+
selected = new EventEmitter();
|
|
65
|
+
service = inject(SuggestionsService);
|
|
66
|
+
subscriptions = new Subscription();
|
|
67
|
+
ngOnInit() {
|
|
68
|
+
this.subscriptions.add(this.service.selected$.subscribe((value) => this.selected.emit(value)));
|
|
69
|
+
}
|
|
70
|
+
ngOnDestroy() {
|
|
71
|
+
this.subscriptions.unsubscribe();
|
|
72
|
+
}
|
|
73
|
+
get computedClass() {
|
|
74
|
+
return cn(suggestionsVariants({ gap: this.gap }), this.class);
|
|
75
|
+
}
|
|
76
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SuggestionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
77
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SuggestionsComponent, isStandalone: true, selector: "tolle-suggestions", inputs: { gap: "gap", ariaLabel: "ariaLabel", class: "class" }, outputs: { selected: "selected" }, providers: [SuggestionsService], usesOnChanges: true, ngImport: i0, template: `
|
|
78
|
+
<div [class]="computedClass" role="group" [attr.aria-label]="ariaLabel || null">
|
|
79
|
+
<ng-content></ng-content>
|
|
80
|
+
</div>
|
|
81
|
+
`, isInline: true, styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
82
|
+
}
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SuggestionsComponent, decorators: [{
|
|
84
|
+
type: Component,
|
|
85
|
+
args: [{ selector: 'tolle-suggestions', standalone: true, imports: [CommonModule], providers: [SuggestionsService], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
86
|
+
<div [class]="computedClass" role="group" [attr.aria-label]="ariaLabel || null">
|
|
87
|
+
<ng-content></ng-content>
|
|
88
|
+
</div>
|
|
89
|
+
`, styles: [":host{display:block}\n"] }]
|
|
90
|
+
}], propDecorators: { gap: [{
|
|
91
|
+
type: Input
|
|
92
|
+
}], ariaLabel: [{
|
|
93
|
+
type: Input
|
|
94
|
+
}], class: [{
|
|
95
|
+
type: Input
|
|
96
|
+
}], selected: [{
|
|
97
|
+
type: Output
|
|
98
|
+
}] } });
|
|
99
|
+
const suggestionVariants = cva('inline-flex shrink-0 items-center gap-1.5 whitespace-nowrap rounded-full border transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50', {
|
|
100
|
+
variants: {
|
|
101
|
+
variant: {
|
|
102
|
+
outline: 'border-border bg-background text-foreground hover:bg-accent hover:text-accent-foreground',
|
|
103
|
+
secondary: 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80',
|
|
104
|
+
ghost: 'border-transparent bg-transparent text-muted-foreground hover:bg-accent hover:text-accent-foreground',
|
|
105
|
+
},
|
|
106
|
+
size: {
|
|
107
|
+
sm: 'h-7 px-2.5 text-xs',
|
|
108
|
+
default: 'h-8 px-3 text-sm',
|
|
109
|
+
lg: 'h-10 px-4 text-sm',
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
defaultVariants: {
|
|
113
|
+
variant: 'outline',
|
|
114
|
+
size: 'default',
|
|
115
|
+
},
|
|
116
|
+
});
|
|
117
|
+
/**
|
|
118
|
+
* A single suggested follow-up prompt, rendered as a pill button.
|
|
119
|
+
*
|
|
120
|
+
* Projected content is the label; `value` is what gets emitted when it is
|
|
121
|
+
* picked, so the two can differ.
|
|
122
|
+
* @new
|
|
123
|
+
*/
|
|
124
|
+
export class SuggestionComponent {
|
|
125
|
+
cdr = inject(ChangeDetectorRef);
|
|
126
|
+
/**
|
|
127
|
+
* Angular writes a bound `class` input through its styling path, which does
|
|
128
|
+
* not mark an OnPush component dirty — without this hook the component keeps
|
|
129
|
+
* rendering the class it was born with.
|
|
130
|
+
*/
|
|
131
|
+
ngOnChanges() {
|
|
132
|
+
this.cdr.markForCheck();
|
|
133
|
+
}
|
|
134
|
+
/** Value emitted when the pill is picked. @default '' */
|
|
135
|
+
value = '';
|
|
136
|
+
/** Visual style of the pill. @default 'outline' */
|
|
137
|
+
variant = 'outline';
|
|
138
|
+
/** Size of the pill. @default 'default' */
|
|
139
|
+
size = 'default';
|
|
140
|
+
/** Remixicon class shown before the label. @default '' */
|
|
141
|
+
icon = '';
|
|
142
|
+
/** Blocks interaction with the pill. @default false */
|
|
143
|
+
disabled = false;
|
|
144
|
+
/** Accessible name, when the projected label is not descriptive enough. @default '' */
|
|
145
|
+
ariaLabel = '';
|
|
146
|
+
/** Extra Tailwind classes merged onto the pill via `cn()` (last-wins). */
|
|
147
|
+
class = '';
|
|
148
|
+
/** Emitted with this pill's `value` when it is picked. */
|
|
149
|
+
selected = new EventEmitter();
|
|
150
|
+
parent = inject(SuggestionsService, { optional: true });
|
|
151
|
+
get computedClass() {
|
|
152
|
+
return cn(suggestionVariants({ variant: this.variant, size: this.size }), this.class);
|
|
153
|
+
}
|
|
154
|
+
onClick() {
|
|
155
|
+
if (this.disabled)
|
|
156
|
+
return;
|
|
157
|
+
this.selected.emit(this.value);
|
|
158
|
+
this.parent?.select(this.value);
|
|
159
|
+
}
|
|
160
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SuggestionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
161
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SuggestionComponent, isStandalone: true, selector: "tolle-suggestion", inputs: { value: "value", variant: "variant", size: "size", icon: "icon", disabled: "disabled", ariaLabel: "ariaLabel", class: "class" }, outputs: { selected: "selected" }, usesOnChanges: true, ngImport: i0, template: `
|
|
162
|
+
<button
|
|
163
|
+
type="button"
|
|
164
|
+
data-suggestion
|
|
165
|
+
[disabled]="disabled"
|
|
166
|
+
[attr.aria-label]="ariaLabel || null"
|
|
167
|
+
[class]="computedClass"
|
|
168
|
+
(click)="onClick()"
|
|
169
|
+
>
|
|
170
|
+
<i *ngIf="icon" [class]="icon" aria-hidden="true"></i>
|
|
171
|
+
<ng-content></ng-content>
|
|
172
|
+
</button>
|
|
173
|
+
`, isInline: true, styles: [":host{display:inline-flex}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
174
|
+
}
|
|
175
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SuggestionComponent, decorators: [{
|
|
176
|
+
type: Component,
|
|
177
|
+
args: [{ selector: 'tolle-suggestion', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
178
|
+
<button
|
|
179
|
+
type="button"
|
|
180
|
+
data-suggestion
|
|
181
|
+
[disabled]="disabled"
|
|
182
|
+
[attr.aria-label]="ariaLabel || null"
|
|
183
|
+
[class]="computedClass"
|
|
184
|
+
(click)="onClick()"
|
|
185
|
+
>
|
|
186
|
+
<i *ngIf="icon" [class]="icon" aria-hidden="true"></i>
|
|
187
|
+
<ng-content></ng-content>
|
|
188
|
+
</button>
|
|
189
|
+
`, styles: [":host{display:inline-flex}\n"] }]
|
|
190
|
+
}], propDecorators: { value: [{
|
|
191
|
+
type: Input
|
|
192
|
+
}], variant: [{
|
|
193
|
+
type: Input
|
|
194
|
+
}], size: [{
|
|
195
|
+
type: Input
|
|
196
|
+
}], icon: [{
|
|
197
|
+
type: Input
|
|
198
|
+
}], disabled: [{
|
|
199
|
+
type: Input
|
|
200
|
+
}], ariaLabel: [{
|
|
201
|
+
type: Input
|
|
202
|
+
}], class: [{
|
|
203
|
+
type: Input
|
|
204
|
+
}], selected: [{
|
|
205
|
+
type: Output
|
|
206
|
+
}] } });
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VnZ2VzdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90b2xsZS9zcmMvbGliL3N1Z2dlc3Rpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDckssT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxHQUFHLEVBQXFCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLFlBQVksQ0FBQzs7O0FBRWhDOzs7Ozs7O0dBT0c7QUFFSCxNQUFNLE9BQU8sa0JBQWtCO0lBQ1osY0FBYyxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7SUFDeEQsK0RBQStEO0lBQ3RELFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBRXhELE1BQU0sQ0FBQyxLQUFhO1FBQ2xCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7d0dBUFUsa0JBQWtCOzRHQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVU7O0FBV1gsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLENBQUMsd0RBQXdELEVBQUU7SUFDeEYsUUFBUSxFQUFFO1FBQ1IsR0FBRyxFQUFFO1lBQ0gsRUFBRSxFQUFFLE9BQU87WUFDWCxPQUFPLEVBQUUsT0FBTztZQUNoQixFQUFFLEVBQUUsT0FBTztTQUNaO0tBQ0Y7SUFDRCxlQUFlLEVBQUU7UUFDZixHQUFH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ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgaW5qZWN0LCBDaGFuZ2VEZXRlY3RvclJlZiwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjdmEsIHR5cGUgVmFyaWFudFByb3BzIH0gZnJvbSAnY2xhc3MtdmFyaWFuY2UtYXV0aG9yaXR5JztcbmltcG9ydCB7IGNuIH0gZnJvbSAnLi91dGlscy9jbic7XG5cbi8qKlxuICogUmVsYXlzIGEgY2hvc2VuIHN1Z2dlc3Rpb24gZnJvbSBhIGB0b2xsZS1zdWdnZXN0aW9uYCB1cCB0byB0aGVcbiAqIGB0b2xsZS1zdWdnZXN0aW9uc2Agcm93IHRoYXQgY29udGFpbnMgaXQsIHNvIGNvbnN1bWVycyBjYW4gbGlzdGVuIGluIG9uZVxuICogcGxhY2UgaW5zdGVhZCBvZiBiaW5kaW5nIGV2ZXJ5IHBpbGwuXG4gKlxuICogUHJvdmlkZWQgb24gYFN1Z2dlc3Rpb25zQ29tcG9uZW50YDsgaW5qZWN0ZWQgb3B0aW9uYWxseSwgc2luY2UgYSBwaWxsIGlzXG4gKiBwZXJmZWN0bHkgdXNhYmxlIG9uIGl0cyBvd24uXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTdWdnZXN0aW9uc1NlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHNlbGVjdGVkU291cmNlID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICAvKiogRW1pdHMgdGhlIHZhbHVlIG9mIHdoaWNoZXZlciBzdWdnZXN0aW9uIHRoZSB1c2VyIHBpY2tlZC4gKi9cbiAgcmVhZG9ubHkgc2VsZWN0ZWQkID0gdGhpcy5zZWxlY3RlZFNvdXJjZS5hc09ic2VydmFibGUoKTtcblxuICBzZWxlY3QodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRTb3VyY2UubmV4dCh2YWx1ZSk7XG4gIH1cbn1cblxuY29uc3Qgc3VnZ2VzdGlvbnNWYXJpYW50cyA9IGN2YSgnZmxleCB3LWZ1bGwgaXRlbXMtY2VudGVyIG92ZXJmbG93LXgtYXV0byBzY3JvbGwtZmFkZS14Jywge1xuICB2YXJpYW50czoge1xuICAgIGdhcDoge1xuICAgICAgc206ICdnYXAtMScsXG4gICAgICBkZWZhdWx0OiAnZ2FwLTInLFxuICAgICAgbGc6ICdnYXAtMycsXG4gICAgfSxcbiAgfSxcbiAgZGVmYXVsdFZhcmlhbnRzOiB7XG4gICAgZ2FwOiAnZGVmYXVsdCcsXG4gIH0sXG59KTtcblxuZXhwb3J0IHR5cGUgU3VnZ2VzdGlvbnNQcm9wcyA9IFZhcmlhbnRQcm9wczx0eXBlb2Ygc3VnZ2VzdGlvbnNWYXJpYW50cz47XG5cbi8qKlxuICogQSBob3Jpem9udGFsbHkgc2Nyb2xsYWJsZSByb3cgb2Ygc3VnZ2VzdGVkIGZvbGxvdy11cCBwcm9tcHRzLlxuICpcbiAqIEZpbGwgaXQgd2l0aCBgdG9sbGUtc3VnZ2VzdGlvbmAgcGlsbHMgYW5kIGxpc3RlbiB0byB0aGlzIGNvbXBvbmVudCdzXG4gKiBgc2VsZWN0ZWRgIG91dHB1dCB0byByZWFjdCB0byBhbnkgb2YgdGhlbS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndG9sbGUtc3VnZ2VzdGlvbnMnLFxuICBzdHlsZXM6IFsnOmhvc3QgeyBkaXNwbGF5OiBibG9jazsgfSddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbU3VnZ2VzdGlvbnNTZXJ2aWNlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBbY2xhc3NdPVwiY29tcHV0ZWRDbGFzc1wiIHJvbGU9XCJncm91cFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsIHx8IG51bGxcIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgU3VnZ2VzdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIC8qKlxuICAgKiBBbmd1bGFyIHdyaXRlcyBhIGJvdW5kIGBjbGFzc2AgaW5wdXQgdGhyb3VnaCBpdHMgc3R5bGluZyBwYXRoLCB3aGljaCBkb2VzXG4gICAqIG5vdCBtYXJrIGFuIE9uUHVzaCBjb21wb25lbnQgZGlydHkg4oCUIHdpdGhvdXQgdGhpcyBob29rIHRoZSBjb21wb25lbnQga2VlcHNcbiAgICogcmVuZGVyaW5nIHRoZSBjbGFzcyBpdCB3YXMgYm9ybiB3aXRoLlxuICAgKi9cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKiogU3BhY2luZyBiZXR3ZWVuIHRoZSBwaWxscy4gQGRlZmF1bHQgJ2RlZmF1bHQnICovXG4gIEBJbnB1dCgpIGdhcDogU3VnZ2VzdGlvbnNQcm9wc1snZ2FwJ10gPSAnZGVmYXVsdCc7XG4gIC8qKiBBY2Nlc3NpYmxlIG5hbWUgZm9yIHRoZSByb3cuIEBkZWZhdWx0ICdTdWdnZXN0aW9ucycgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsID0gJ1N1Z2dlc3Rpb25zJztcbiAgLyoqIEV4dHJhIFRhaWx3aW5kIGNsYXNzZXMgbWVyZ2VkIG9udG8gdGhlIHJvdyB2aWEgYGNuKClgIChsYXN0LXdpbnMpLiAqL1xuICBASW5wdXQoKSBjbGFzcyA9ICcnO1xuXG4gIC8qKiBFbWl0dGVkIHdpdGggdGhlIGB2YWx1ZWAgb2Ygd2hpY2hldmVyIHN1Z2dlc3Rpb24gaW4gdGhlIHJvdyB3YXMgcGlja2VkLiAqL1xuICBAT3V0cHV0KCkgc2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2UgPSBpbmplY3QoU3VnZ2VzdGlvbnNTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBzdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnNlcnZpY2Uuc2VsZWN0ZWQkLnN1YnNjcmliZSgodmFsdWUpID0+IHRoaXMuc2VsZWN0ZWQuZW1pdCh2YWx1ZSkpXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZ2V0IGNvbXB1dGVkQ2xhc3MoKSB7XG4gICAgcmV0dXJuIGNuKHN1Z2dlc3Rpb25zVmFyaWFudHMoeyBnYXA6IHRoaXMuZ2FwIH0pLCB0aGlzLmNsYXNzKTtcbiAgfVxufVxuXG5jb25zdCBzdWdnZXN0aW9uVmFyaWFudHMgPSBjdmEoXG4gICdpbmxpbmUtZmxleCBzaHJpbmstMCBpdGVtcy1jZW50ZXIgZ2FwLTEuNSB3aGl0ZXNwYWNlLW5vd3JhcCByb3VuZGVkLWZ1bGwgYm9yZGVyIHRyYW5zaXRpb24tY29sb3JzIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nIGZvY3VzLXZpc2libGU6cmluZy1vZmZzZXQtMiBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LWJhY2tncm91bmQgZGlzYWJsZWQ6cG9pbnRlci1ldmVudHMtbm9uZSBkaXNhYmxlZDpvcGFjaXR5LTUwJyxcbiAge1xuICAgIHZhcmlhbnRzOiB7XG4gICAgICB2YXJpYW50OiB7XG4gICAgICAgIG91dGxpbmU6ICdib3JkZXItYm9yZGVyIGJnLWJhY2tncm91bmQgdGV4dC1mb3JlZ3JvdW5kIGhvdmVyOmJnLWFjY2VudCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kJyxcbiAgICAgICAgc2Vjb25kYXJ5OiAnYm9yZGVyLXRyYW5zcGFyZW50IGJnLXNlY29uZGFyeSB0ZXh0LXNlY29uZGFyeS1mb3JlZ3JvdW5kIGhvdmVyOmJnLXNlY29uZGFyeS84MCcsXG4gICAgICAgIGdob3N0OiAnYm9yZGVyLXRyYW5zcGFyZW50IGJnLXRyYW5zcGFyZW50IHRleHQtbXV0ZWQtZm9yZWdyb3VuZCBob3ZlcjpiZy1hY2NlbnQgaG92ZXI6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZCcsXG4gICAgICB9LFxuICAgICAgc2l6ZToge1xuICAgICAgICBzbTogJ2gtNyBweC0yLjUgdGV4dC14cycsXG4gICAgICAgIGRlZmF1bHQ6ICdoLTggcHgtMyB0ZXh0LXNtJyxcbiAgICAgICAgbGc6ICdoLTEwIHB4LTQgdGV4dC1zbScsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZGVmYXVsdFZhcmlhbnRzOiB7XG4gICAgICB2YXJpYW50OiAnb3V0bGluZScsXG4gICAgICBzaXplOiAnZGVmYXVsdCcsXG4gICAgfSxcbiAgfVxuKTtcblxuZXhwb3J0IHR5cGUgU3VnZ2VzdGlvblByb3BzID0gVmFyaWFudFByb3BzPHR5cGVvZiBzdWdnZXN0aW9uVmFyaWFudHM+O1xuXG4vKipcbiAqIEEgc2luZ2xlIHN1Z2dlc3RlZCBmb2xsb3ctdXAgcHJvbXB0LCByZW5kZXJlZCBhcyBhIHBpbGwgYnV0dG9uLlxuICpcbiAqIFByb2plY3RlZCBjb250ZW50IGlzIHRoZSBsYWJlbDsgYHZhbHVlYCBpcyB3aGF0IGdldHMgZW1pdHRlZCB3aGVuIGl0IGlzXG4gKiBwaWNrZWQsIHNvIHRoZSB0d28gY2FuIGRpZmZlci5cbiAqIEBuZXdcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndG9sbGUtc3VnZ2VzdGlvbicsXG4gIHN0eWxlczogWyc6aG9zdCB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyB9J10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGRhdGEtc3VnZ2VzdGlvblxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsIHx8IG51bGxcIlxuICAgICAgW2NsYXNzXT1cImNvbXB1dGVkQ2xhc3NcIlxuICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soKVwiXG4gICAgPlxuICAgICAgPGkgKm5nSWY9XCJpY29uXCIgW2NsYXNzXT1cImljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9idXR0b24+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIFN1Z2dlc3Rpb25Db21wb25lbnQgIGltcGxlbWVudHMgT25DaGFuZ2Vze1xuICBwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgLyoqXG4gICAqIEFuZ3VsYXIgd3JpdGVzIGEgYm91bmQgYGNsYXNzYCBpbnB1dCB0aHJvdWdoIGl0cyBzdHlsaW5nIHBhdGgsIHdoaWNoIGRvZXNcbiAgICogbm90IG1hcmsgYW4gT25QdXNoIGNvbXBvbmVudCBkaXJ0eSDigJQgd2l0aG91dCB0aGlzIGhvb2sgdGhlIGNvbXBvbmVudCBrZWVwc1xuICAgKiByZW5kZXJpbmcgdGhlIGNsYXNzIGl0IHdhcyBib3JuIHdpdGguXG4gICAqL1xuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKiBWYWx1ZSBlbWl0dGVkIHdoZW4gdGhlIHBpbGwgaXMgcGlja2VkLiBAZGVmYXVsdCAnJyAqL1xuICBASW5wdXQoKSB2YWx1ZSA9ICcnO1xuICAvKiogVmlzdWFsIHN0eWxlIG9mIHRoZSBwaWxsLiBAZGVmYXVsdCAnb3V0bGluZScgKi9cbiAgQElucHV0KCkgdmFyaWFudDogU3VnZ2VzdGlvblByb3BzWyd2YXJpYW50J10gPSAnb3V0bGluZSc7XG4gIC8qKiBTaXplIG9mIHRoZSBwaWxsLiBAZGVmYXVsdCAnZGVmYXVsdCcgKi9cbiAgQElucHV0KCkgc2l6ZTogU3VnZ2VzdGlvblByb3BzWydzaXplJ10gPSAnZGVmYXVsdCc7XG4gIC8qKiBSZW1peGljb24gY2xhc3Mgc2hvd24gYmVmb3JlIHRoZSBsYWJlbC4gQGRlZmF1bHQgJycgKi9cbiAgQElucHV0KCkgaWNvbiA9ICcnO1xuICAvKiogQmxvY2tzIGludGVyYWN0aW9uIHdpdGggdGhlIHBpbGwuIEBkZWZhdWx0IGZhbHNlICovXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIC8qKiBBY2Nlc3NpYmxlIG5hbWUsIHdoZW4gdGhlIHByb2plY3RlZCBsYWJlbCBpcyBub3QgZGVzY3JpcHRpdmUgZW5vdWdoLiBAZGVmYXVsdCAnJyAqL1xuICBASW5wdXQoKSBhcmlhTGFiZWwgPSAnJztcbiAgLyoqIEV4dHJhIFRhaWx3aW5kIGNsYXNzZXMgbWVyZ2VkIG9udG8gdGhlIHBpbGwgdmlhIGBjbigpYCAobGFzdC13aW5zKS4gKi9cbiAgQElucHV0KCkgY2xhc3MgPSAnJztcblxuICAvKiogRW1pdHRlZCB3aXRoIHRoaXMgcGlsbCdzIGB2YWx1ZWAgd2hlbiBpdCBpcyBwaWNrZWQuICovXG4gIEBPdXRwdXQoKSBzZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcGFyZW50ID0gaW5qZWN0KFN1Z2dlc3Rpb25zU2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBnZXQgY29tcHV0ZWRDbGFzcygpIHtcbiAgICByZXR1cm4gY24oc3VnZ2VzdGlvblZhcmlhbnRzKHsgdmFyaWFudDogdGhpcy52YXJpYW50LCBzaXplOiB0aGlzLnNpemUgfSksIHRoaXMuY2xhc3MpO1xuICB9XG5cbiAgb25DbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIHRoaXMuc2VsZWN0ZWQuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLnBhcmVudD8uc2VsZWN0KHRoaXMudmFsdWUpO1xuICB9XG59XG4iXX0=
|
|
@@ -100,22 +100,17 @@ export class SwitchComponent {
|
|
|
100
100
|
>
|
|
101
101
|
<span [class]="thumbClass"></span>
|
|
102
102
|
</button>
|
|
103
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
103
|
+
`, isInline: true, styles: [":host{display:inline-flex}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
104
104
|
}
|
|
105
105
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SwitchComponent, decorators: [{
|
|
106
106
|
type: Component,
|
|
107
|
-
args: [{
|
|
108
|
-
selector: 'tolle-switch',
|
|
109
|
-
standalone: true,
|
|
110
|
-
imports: [CommonModule],
|
|
111
|
-
providers: [
|
|
107
|
+
args: [{ selector: 'tolle-switch', standalone: true, imports: [CommonModule], providers: [
|
|
112
108
|
{
|
|
113
109
|
provide: NG_VALUE_ACCESSOR,
|
|
114
110
|
useExisting: forwardRef(() => SwitchComponent),
|
|
115
111
|
multi: true
|
|
116
112
|
}
|
|
117
|
-
],
|
|
118
|
-
template: `
|
|
113
|
+
], template: `
|
|
119
114
|
<button
|
|
120
115
|
type="button"
|
|
121
116
|
role="switch"
|
|
@@ -127,8 +122,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
127
122
|
>
|
|
128
123
|
<span [class]="thumbClass"></span>
|
|
129
124
|
</button>
|
|
130
|
-
|
|
131
|
-
}]
|
|
125
|
+
`, styles: [":host{display:inline-flex}\n"] }]
|
|
132
126
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { class: [{
|
|
133
127
|
type: Input
|
|
134
128
|
}], disabled: [{
|
|
@@ -136,4 +130,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
136
130
|
}], size: [{
|
|
137
131
|
type: Input
|
|
138
132
|
}] } });
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RvbGxlL3NyYy9saWIvc3dpdGNoLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLEdBQUcsRUFBcUIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sWUFBWSxDQUFDOztBQUVoQyxNQUFNLG1CQUFtQixHQUFHLEdBQUcsQ0FDN0IsMlNBQTJTLEVBQzNTO0lBQ0UsUUFBUSxFQUFFO1FBQ1IsSUFBSSxFQUFFO1lBQ0osRUFBRSxFQUFFLFNBQVM7WUFDYixFQUFFLEVBQUUsU0FBUztZQUNiLE9BQU8sRUFBRSxVQUFVO1lBQ25CLEVBQUUsRUFBRSxpQkFBaUI7U0FDdEI7UUFDRCxPQUFPLEVBQUU7WUFDUCxJQUFJLEVBQUUsWUFBWTtZQUNsQixLQUFLLEVBQUUsVUFBVTtTQUNsQjtLQUNGO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsSUFBSSxFQUFFLFNBQVM7UUFDZixPQUFPLEVBQUUsS0FBSztLQUNmO0NBQ0YsQ0FDRixDQUFDO0FBRUYsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLENBQzdCLDRGQUE0RixFQUM1RjtJQUNFLFFBQVEsRUFBRTtRQUNSLElBQUksRUFBRTtZQUNKLEVBQUUsRUFBRSxTQUFTO1lBQ2IsRUFBRSxFQUFFLFNBQVM7WUFDYixPQUFPLEVBQUUsU0FBUztZQUNsQixFQUFFLEVBQUUsU0FBUztTQUNkO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsSUFBSSxFQUFFLEVBQUU7WUFDUixLQUFL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LENBQUMsYUFDWjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQzs0QkFDOUMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsWUFDUzs7Ozs7Ozs7Ozs7O0dBWVQ7c0ZBSVEsS0FBSztzQkFBYixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgZm9yd2FyZFJlZiwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjdmEsIHR5cGUgVmFyaWFudFByb3BzIH0gZnJvbSAnY2xhc3MtdmFyaWFuY2UtYXV0aG9yaXR5JztcbmltcG9ydCB7IGNuIH0gZnJvbSAnLi91dGlscy9jbic7XG5cbmNvbnN0IHN3aXRjaFRyYWNrVmFyaWFudHMgPSBjdmEoXG4gICdwZWVyIGlubGluZS1mbGV4IHNocmluay0wIGN1cnNvci1wb2ludGVyIGl0ZW1zLWNlbnRlciByb3VuZGVkLWZ1bGwgYm9yZGVyLTIgYm9yZGVyLXRyYW5zcGFyZW50IHRyYW5zaXRpb24tY29sb3JzIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0yIGZvY3VzLXZpc2libGU6cmluZy1yaW5nIGZvY3VzLXZpc2libGU6cmluZy1vZmZzZXQtMiBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LWJhY2tncm91bmQgZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIGRpc2FibGVkOm9wYWNpdHktNTAnLFxuICB7XG4gICAgdmFyaWFudHM6IHtcbiAgICAgIHNpemU6IHtcbiAgICAgICAgeHM6ICdoLTQgdy03JyxcbiAgICAgICAgc206ICdoLTUgdy05JyxcbiAgICAgICAgZGVmYXVsdDogJ2gtNiB3LTExJyxcbiAgICAgICAgbGc6ICdoLTcgdy1bMy4yNXJlbV0nLFxuICAgICAgfSxcbiAgICAgIGNoZWNrZWQ6IHtcbiAgICAgICAgdHJ1ZTogJ2JnLXByaW1hcnknLFxuICAgICAgICBmYWxzZTogJ2JnLWlucHV0JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBkZWZhdWx0VmFyaWFudHM6IHtcbiAgICAgIHNpemU6ICdkZWZhdWx0JyxcbiAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgIH0sXG4gIH1cbik7XG5cbmNvbnN0IHN3aXRjaFRodW1iVmFyaWFudHMgPSBjdmEoXG4gICdwb2ludGVyLWV2ZW50cy1ub25lIGJsb2NrIHJvdW5kZWQtZnVsbCBiZy1iYWNrZ3JvdW5kIHNoYWRvdy1sZyByaW5nLTAgdHJhbnNpdGlvbi10cmFuc2Zvcm0nLFxuICB7XG4gICAgdmFyaWFudHM6IHtcbiAgICAgIHNpemU6IHtcbiAgICAgICAgeHM6ICdoLTMgdy0zJyxcbiAgICAgICAgc206ICdoLTQgdy00JyxcbiAgICAgICAgZGVmYXVsdDogJ2gtNSB3LTUnLFxuICAgICAgICBsZzogJ2gtNiB3LTYnLFxuICAgICAgfSxcbiAgICAgIGNoZWNrZWQ6IHtcbiAgICAgICAgdHJ1ZTogJycsXG4gICAgICAgIGZhbHNlOiAndHJhbnNsYXRlLXgtMCcsXG4gICAgICB9LFxuICAgIH0sXG4gICAgY29tcG91bmRWYXJpYW50czogW1xuICAgICAgeyBzaXplOiAneHMnLCBjaGVja2VkOiB0cnVlLCBjbGFzczogJ3RyYW5zbGF0ZS14LTMnIH0sXG4gICAgICB7IHNpemU6ICdzbScsIGNoZWNrZWQ6IHRydWUsIGNsYXNzOiAndHJhbnNsYXRlLXgtNCcgfSxcbiAgICAgIHsgc2l6ZTogJ2RlZmF1bHQnLCBjaGVja2VkOiB0cnVlLCBjbGFzczogJ3RyYW5zbGF0ZS14LTUnIH0sXG4gICAgICB7IHNpemU6ICdsZycsIGNoZWNrZWQ6IHRydWUsIGNsYXNzOiAndHJhbnNsYXRlLXgtNicgfSxcbiAgICBdLFxuICAgIGRlZmF1bHRWYXJpYW50czoge1xuICAgICAgc2l6ZTogJ2RlZmF1bHQnLFxuICAgICAgY2hlY2tlZDogZmFsc2UsXG4gICAgfSxcbiAgfVxuKTtcblxuZXhwb3J0IHR5cGUgU3dpdGNoUHJvcHMgPSBWYXJpYW50UHJvcHM8dHlwZW9mIHN3aXRjaFRyYWNrVmFyaWFudHM+O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0b2xsZS1zd2l0Y2gnLFxuICBzdHlsZXM6IFsnOmhvc3QgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfSddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTd2l0Y2hDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICByb2xlPVwic3dpdGNoXCJcbiAgICAgIFthdHRyLmFyaWEtY2hlY2tlZF09XCJjaGVja2VkXCJcbiAgICAgIFthdHRyLmRhdGEtc3RhdGVdPVwiY2hlY2tlZCA/ICdjaGVja2VkJyA6ICd1bmNoZWNrZWQnXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlKClcIlxuICAgICAgW2NsYXNzXT1cInRyYWNrQ2xhc3NcIlxuICAgID5cbiAgICAgIDxzcGFuIFtjbGFzc109XCJ0aHVtYkNsYXNzXCI+PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIFN3aXRjaENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgLyoqIEV4dHJhIFRhaWx3aW5kIGNsYXNzZXMgbWVyZ2VkIG9udG8gdGhlIHN3aXRjaCB0cmFjayB2aWEgYGNuKClgIChsYXN0LXdpbnMpLiAqL1xuICBASW5wdXQoKSBjbGFzcyA9ICcnO1xuICAvKiogRGlzYWJsZXMgdGhlIHN3aXRjaCBhbmQgYmxvY2tzIHRvZ2dsaW5nLiBAZGVmYXVsdCBmYWxzZSAqL1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICAvKiogU2l6ZSBvZiB0aGUgc3dpdGNoLiBAZGVmYXVsdCAnZGVmYXVsdCcgKi9cbiAgQElucHV0KCkgc2l6ZTogU3dpdGNoUHJvcHNbJ3NpemUnXSA9ICdkZWZhdWx0JztcblxuICBjaGVja2VkID0gZmFsc2U7XG5cbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBnZXQgdHJhY2tDbGFzcygpIHtcbiAgICByZXR1cm4gY24oXG4gICAgICBzd2l0Y2hUcmFja1ZhcmlhbnRzKHsgc2l6ZTogdGhpcy5zaXplLCBjaGVja2VkOiB0aGlzLmNoZWNrZWQgfSksXG4gICAgICB0aGlzLmNsYXNzXG4gICAgKTtcbiAgfVxuXG4gIGdldCB0aHVtYkNsYXNzKCkge1xuICAgIHJldHVybiBjbihzd2l0Y2hUaHVtYlZhcmlhbnRzKHsgc2l6ZTogdGhpcy5zaXplLCBjaGVja2VkOiB0aGlzLmNoZWNrZWQgfSkpO1xuICB9XG5cbiAgdG9nZ2xlKCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgdGhpcy5jaGVja2VkID0gIXRoaXMuY2hlY2tlZDtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuY2hlY2tlZCk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIC8vIC0tLSBDb250cm9sVmFsdWVBY2Nlc3NvciAtLS1cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tlZCA9IHZhbHVlO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7IHRoaXMub25DaGFuZ2UgPSBmbjsgfVxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7IHRoaXMub25Ub3VjaGVkID0gZm47IH1cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7IHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkOyB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTsgfVxufVxuIl19
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import { Component, Directive, Input, ChangeDetectionStrategy, ChangeDetectorRef, inject } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { cn } from './utils/cn';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* Unstyled table primitives you compose yourself, for when you need full
|
|
7
|
+
* control over the markup.
|
|
8
|
+
*
|
|
9
|
+
* For sorting, paging, selection and column definitions out of the box, use
|
|
10
|
+
* `tolle-data-table` instead — this is the lower-level building block.
|
|
11
|
+
*
|
|
12
|
+
* Everything below the `<table>` is a **directive on the native element**
|
|
13
|
+
* (`<thead tolleTableHeader>`, `<tr tolleTableRow>`, …) rather than a custom
|
|
14
|
+
* element. A `<tolle-table-row>` wrapper would sit between `<tbody>` and `<tr>`
|
|
15
|
+
* and break the CSS table layout, so the directives style the real elements in
|
|
16
|
+
* place and add no DOM of their own.
|
|
17
|
+
*
|
|
18
|
+
* ```html
|
|
19
|
+
* <tolle-table>
|
|
20
|
+
* <thead tolleTableHeader>
|
|
21
|
+
* <tr tolleTableRow><th tolleTableHead>Name</th></tr>
|
|
22
|
+
* </thead>
|
|
23
|
+
* <tbody tolleTableBody>
|
|
24
|
+
* <tr tolleTableRow><td tolleTableCell>Ada</td></tr>
|
|
25
|
+
* </tbody>
|
|
26
|
+
* </tolle-table>
|
|
27
|
+
* ```
|
|
28
|
+
* @new
|
|
29
|
+
*/
|
|
30
|
+
export class TableComponent {
|
|
31
|
+
cdr = inject(ChangeDetectorRef);
|
|
32
|
+
/**
|
|
33
|
+
* Angular writes a bound `class` input through its styling path, which does
|
|
34
|
+
* not mark an OnPush component dirty — without this hook the component keeps
|
|
35
|
+
* rendering the class it was born with.
|
|
36
|
+
*/
|
|
37
|
+
ngOnChanges() {
|
|
38
|
+
this.cdr.markForCheck();
|
|
39
|
+
}
|
|
40
|
+
/** Extra Tailwind classes merged onto the scrolling container via `cn()` (last-wins). */
|
|
41
|
+
containerClass = '';
|
|
42
|
+
/** Extra Tailwind classes merged onto the `<table>` via `cn()` (last-wins). */
|
|
43
|
+
class = '';
|
|
44
|
+
cn = cn;
|
|
45
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: TableComponent, isStandalone: true, selector: "tolle-table", inputs: { containerClass: "containerClass", class: "class" }, usesOnChanges: true, ngImport: i0, template: `
|
|
47
|
+
<div [class]="cn('relative w-full overflow-x-auto', containerClass)">
|
|
48
|
+
<table [class]="cn('w-full caption-bottom border-collapse text-sm', class)">
|
|
49
|
+
<ng-content></ng-content>
|
|
50
|
+
</table>
|
|
51
|
+
</div>
|
|
52
|
+
`, isInline: true, styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
53
|
+
}
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableComponent, decorators: [{
|
|
55
|
+
type: Component,
|
|
56
|
+
args: [{ selector: 'tolle-table', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
57
|
+
<div [class]="cn('relative w-full overflow-x-auto', containerClass)">
|
|
58
|
+
<table [class]="cn('w-full caption-bottom border-collapse text-sm', class)">
|
|
59
|
+
<ng-content></ng-content>
|
|
60
|
+
</table>
|
|
61
|
+
</div>
|
|
62
|
+
`, styles: [":host{display:block}\n"] }]
|
|
63
|
+
}], propDecorators: { containerClass: [{
|
|
64
|
+
type: Input
|
|
65
|
+
}], class: [{
|
|
66
|
+
type: Input
|
|
67
|
+
}] } });
|
|
68
|
+
/** Styles a native `<thead>`. */
|
|
69
|
+
export class TableHeaderDirective {
|
|
70
|
+
/** Extra Tailwind classes merged onto the `<thead>` via `cn()` (last-wins). */
|
|
71
|
+
class = '';
|
|
72
|
+
cn = cn;
|
|
73
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
74
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: TableHeaderDirective, isStandalone: true, selector: "[tolleTableHeader]", inputs: { class: "class" }, host: { properties: { "class": "cn('[&_tr]:border-b [&_tr]:border-border', class)" } }, ngImport: i0 });
|
|
75
|
+
}
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableHeaderDirective, decorators: [{
|
|
77
|
+
type: Directive,
|
|
78
|
+
args: [{
|
|
79
|
+
selector: '[tolleTableHeader]',
|
|
80
|
+
standalone: true,
|
|
81
|
+
host: { '[class]': `cn('[&_tr]:border-b [&_tr]:border-border', class)` },
|
|
82
|
+
}]
|
|
83
|
+
}], propDecorators: { class: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}] } });
|
|
86
|
+
/** Styles a native `<tbody>`. */
|
|
87
|
+
export class TableBodyDirective {
|
|
88
|
+
/** Extra Tailwind classes merged onto the `<tbody>` via `cn()` (last-wins). */
|
|
89
|
+
class = '';
|
|
90
|
+
cn = cn;
|
|
91
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableBodyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
92
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: TableBodyDirective, isStandalone: true, selector: "[tolleTableBody]", inputs: { class: "class" }, host: { properties: { "class": "cn('[&_tr:last-child]:border-0', class)" } }, ngImport: i0 });
|
|
93
|
+
}
|
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableBodyDirective, decorators: [{
|
|
95
|
+
type: Directive,
|
|
96
|
+
args: [{
|
|
97
|
+
selector: '[tolleTableBody]',
|
|
98
|
+
standalone: true,
|
|
99
|
+
host: { '[class]': `cn('[&_tr:last-child]:border-0', class)` },
|
|
100
|
+
}]
|
|
101
|
+
}], propDecorators: { class: [{
|
|
102
|
+
type: Input
|
|
103
|
+
}] } });
|
|
104
|
+
/** Styles a native `<tfoot>` for summary or total rows. */
|
|
105
|
+
export class TableFooterDirective {
|
|
106
|
+
/** Extra Tailwind classes merged onto the `<tfoot>` via `cn()` (last-wins). */
|
|
107
|
+
class = '';
|
|
108
|
+
cn = cn;
|
|
109
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableFooterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
110
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: TableFooterDirective, isStandalone: true, selector: "[tolleTableFooter]", inputs: { class: "class" }, host: { properties: { "class": "cn('border-t border-border bg-muted/50 font-medium [&>tr]:last:border-b-0', class)" } }, ngImport: i0 });
|
|
111
|
+
}
|
|
112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableFooterDirective, decorators: [{
|
|
113
|
+
type: Directive,
|
|
114
|
+
args: [{
|
|
115
|
+
selector: '[tolleTableFooter]',
|
|
116
|
+
standalone: true,
|
|
117
|
+
host: { '[class]': `cn('border-t border-border bg-muted/50 font-medium [&>tr]:last:border-b-0', class)` },
|
|
118
|
+
}]
|
|
119
|
+
}], propDecorators: { class: [{
|
|
120
|
+
type: Input
|
|
121
|
+
}] } });
|
|
122
|
+
/** Styles a native `<tr>`, with an optional selected state. */
|
|
123
|
+
export class TableRowDirective {
|
|
124
|
+
/** Applies the selected background and sets `data-state="selected"`. @default false */
|
|
125
|
+
selected = false;
|
|
126
|
+
/** Extra Tailwind classes merged onto the `<tr>` via `cn()` (last-wins). */
|
|
127
|
+
class = '';
|
|
128
|
+
cn = cn;
|
|
129
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableRowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
130
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: TableRowDirective, isStandalone: true, selector: "[tolleTableRow]", inputs: { selected: "selected", class: "class" }, host: { properties: { "attr.data-state": "selected ? 'selected' : null", "class": "cn('border-b border-border transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted', class)" } }, ngImport: i0 });
|
|
131
|
+
}
|
|
132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableRowDirective, decorators: [{
|
|
133
|
+
type: Directive,
|
|
134
|
+
args: [{
|
|
135
|
+
selector: '[tolleTableRow]',
|
|
136
|
+
standalone: true,
|
|
137
|
+
host: {
|
|
138
|
+
'[attr.data-state]': `selected ? 'selected' : null`,
|
|
139
|
+
'[class]': `cn('border-b border-border transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted', class)`,
|
|
140
|
+
},
|
|
141
|
+
}]
|
|
142
|
+
}], propDecorators: { selected: [{
|
|
143
|
+
type: Input
|
|
144
|
+
}], class: [{
|
|
145
|
+
type: Input
|
|
146
|
+
}] } });
|
|
147
|
+
/** Styles a native `<th>` header cell. */
|
|
148
|
+
export class TableHeadDirective {
|
|
149
|
+
/** Scope of the header cell for assistive tech. @default 'col' */
|
|
150
|
+
scope = 'col';
|
|
151
|
+
/** Current sort direction, surfaced as `aria-sort`. @default null */
|
|
152
|
+
sort = null;
|
|
153
|
+
/** Extra Tailwind classes merged onto the `<th>` via `cn()` (last-wins). */
|
|
154
|
+
class = '';
|
|
155
|
+
cn = cn;
|
|
156
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableHeadDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
157
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: TableHeadDirective, isStandalone: true, selector: "[tolleTableHead]", inputs: { scope: "scope", sort: "sort", class: "class" }, host: { properties: { "attr.scope": "scope", "attr.aria-sort": "sort", "class": "cn('h-10 whitespace-nowrap px-3 text-left align-middle font-medium text-muted-foreground', class)" } }, ngImport: i0 });
|
|
158
|
+
}
|
|
159
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableHeadDirective, decorators: [{
|
|
160
|
+
type: Directive,
|
|
161
|
+
args: [{
|
|
162
|
+
selector: '[tolleTableHead]',
|
|
163
|
+
standalone: true,
|
|
164
|
+
host: {
|
|
165
|
+
'[attr.scope]': 'scope',
|
|
166
|
+
'[attr.aria-sort]': 'sort',
|
|
167
|
+
'[class]': `cn('h-10 whitespace-nowrap px-3 text-left align-middle font-medium text-muted-foreground', class)`,
|
|
168
|
+
},
|
|
169
|
+
}]
|
|
170
|
+
}], propDecorators: { scope: [{
|
|
171
|
+
type: Input
|
|
172
|
+
}], sort: [{
|
|
173
|
+
type: Input
|
|
174
|
+
}], class: [{
|
|
175
|
+
type: Input
|
|
176
|
+
}] } });
|
|
177
|
+
/** Styles a native `<td>` data cell. */
|
|
178
|
+
export class TableCellDirective {
|
|
179
|
+
/** Extra Tailwind classes merged onto the `<td>` via `cn()` (last-wins). */
|
|
180
|
+
class = '';
|
|
181
|
+
cn = cn;
|
|
182
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableCellDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
183
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: TableCellDirective, isStandalone: true, selector: "[tolleTableCell]", inputs: { class: "class" }, host: { properties: { "class": "cn('p-3 align-middle', class)" } }, ngImport: i0 });
|
|
184
|
+
}
|
|
185
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableCellDirective, decorators: [{
|
|
186
|
+
type: Directive,
|
|
187
|
+
args: [{
|
|
188
|
+
selector: '[tolleTableCell]',
|
|
189
|
+
standalone: true,
|
|
190
|
+
host: { '[class]': `cn('p-3 align-middle', class)` },
|
|
191
|
+
}]
|
|
192
|
+
}], propDecorators: { class: [{
|
|
193
|
+
type: Input
|
|
194
|
+
}] } });
|
|
195
|
+
/** Styles a native `<caption>`, rendered below the table. */
|
|
196
|
+
export class TableCaptionDirective {
|
|
197
|
+
/** Extra Tailwind classes merged onto the `<caption>` via `cn()` (last-wins). */
|
|
198
|
+
class = '';
|
|
199
|
+
cn = cn;
|
|
200
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableCaptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
201
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: TableCaptionDirective, isStandalone: true, selector: "[tolleTableCaption]", inputs: { class: "class" }, host: { properties: { "class": "cn('mt-4 text-sm text-muted-foreground', class)" } }, ngImport: i0 });
|
|
202
|
+
}
|
|
203
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableCaptionDirective, decorators: [{
|
|
204
|
+
type: Directive,
|
|
205
|
+
args: [{
|
|
206
|
+
selector: '[tolleTableCaption]',
|
|
207
|
+
standalone: true,
|
|
208
|
+
host: { '[class]': `cn('mt-4 text-sm text-muted-foreground', class)` },
|
|
209
|
+
}]
|
|
210
|
+
}], propDecorators: { class: [{
|
|
211
|
+
type: Input
|
|
212
|
+
}] } });
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9sbGUvc3JjL2xpYi90YWJsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLFlBQVksQ0FBQzs7QUFFaEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCRztBQWVILE1BQU0sT0FBTyxjQUFjO0lBQ1IsR0FBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRWpEOzs7O09BSUc7SUFDSCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQseUZBQXlGO0lBQ2hGLGNBQWMsR0FBRyxFQUFFLENBQUM7SUFDN0IsK0VBQStFO0lBQ3RFLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDVixFQUFFLEdBQUcsRUFBRSxDQUFDO3dHQWhCUCxjQUFjOzRGQUFkLGNBQWMsMEpBUmY7Ozs7OztHQU1ULCtGQVJTLFlBQVk7OzRGQVVYLGNBQWM7a0JBZDFCLFNBQVM7K0JBQ0UsYUFBYSxjQUVYLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxtQkFDTix1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDOzs7Ozs7R0FNVDs4QkFlUSxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSzs7QUFJUixpQ0FBaUM7QUFNakMsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQiwrRUFBK0U7SUFDdEUsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNWLEVBQUUsR0FBRyxFQUFFLENBQUM7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O2lCQUNyRDs4QkFHVSxLQUFLO3NCQUFiLEtBQUs7O0FBSVIsNkRBQTZEO0FBTTdELE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsaUZBQWlGO0lBQ3hFLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDVixFQUFFLEdBQUcsRUFBRSxDQUFDO3dHQUhQLHFCQUFxQjs0RkFBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQUxqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsaURBQWlELEVBQUU7aUJBQ3ZFOzhCQUdVLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRGlyZWN0aXZlLCBJbnB1dCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBPbkNoYW5nZXMsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGNuIH0gZnJvbSAnLi91dGlscy9jbic7XG5cbi8qKlxuICogVW5zdHlsZWQgdGFibGUgcHJpbWl0aXZlcyB5b3UgY29tcG9zZSB5b3Vyc2VsZiwgZm9yIHdoZW4geW91IG5lZWQgZnVsbFxuICogY29udHJvbCBvdmVyIHRoZSBtYXJrdXAuXG4gKlxuICogRm9yIHNvcnRpbmcsIHBhZ2luZywgc2VsZWN0aW9uIGFuZCBjb2x1bW4gZGVmaW5pdGlvbnMgb3V0IG9mIHRoZSBib3gsIHVzZVxuICogYHRvbGxlLWRhdGEtdGFibGVgIGluc3RlYWQg4oCUIHRoaXMgaXMgdGhlIGxvd2VyLWxldmVsIGJ1aWxkaW5nIGJsb2NrLlxuICpcbiAqIEV2ZXJ5dGhpbmcgYmVsb3cgdGhlIGA8dGFibGU+YCBpcyBhICoqZGlyZWN0aXZlIG9uIHRoZSBuYXRpdmUgZWxlbWVudCoqXG4gKiAoYDx0aGVhZCB0b2xsZVRhYmxlSGVhZGVyPmAsIGA8dHIgdG9sbGVUYWJsZVJvdz5gLCDigKYpIHJhdGhlciB0aGFuIGEgY3VzdG9tXG4gKiBlbGVtZW50LiBBIGA8dG9sbGUtdGFibGUtcm93PmAgd3JhcHBlciB3b3VsZCBzaXQgYmV0d2VlbiBgPHRib2R5PmAgYW5kIGA8dHI+YFxuICogYW5kIGJyZWFrIHRoZSBDU1MgdGFibGUgbGF5b3V0LCBzbyB0aGUgZGlyZWN0aXZlcyBzdHlsZSB0aGUgcmVhbCBlbGVtZW50cyBpblxuICogcGxhY2UgYW5kIGFkZCBubyBET00gb2YgdGhlaXIgb3duLlxuICpcbiAqIGBgYGh0bWxcbiAqIDx0b2xsZS10YWJsZT5cbiAqICAgPHRoZWFkIHRvbGxlVGFibGVIZWFkZXI+XG4gKiAgICAgPHRyIHRvbGxlVGFibGVSb3c+PHRoIHRvbGxlVGFibGVIZWFkPk5hbWU8L3RoPjwvdHI+XG4gKiAgIDwvdGhlYWQ+XG4gKiAgIDx0Ym9keSB0b2xsZVRhYmxlQm9keT5cbiAqICAgICA8dHIgdG9sbGVUYWJsZVJvdz48dGQgdG9sbGVUYWJsZUNlbGw+QWRhPC90ZD48L3RyPlxuICogICA8L3Rib2R5PlxuICogPC90b2xsZS10YWJsZT5cbiAqIGBgYFxuICogQG5ld1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0b2xsZS10YWJsZScsXG4gIHN0eWxlczogWyc6aG9zdCB7IGRpc3BsYXk6IGJsb2NrOyB9J10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IFtjbGFzc109XCJjbigncmVsYXRpdmUgdy1mdWxsIG92ZXJmbG93LXgtYXV0bycsIGNvbnRhaW5lckNsYXNzKVwiPlxuICAgICAgPHRhYmxlIFtjbGFzc109XCJjbigndy1mdWxsIGNhcHRpb24tYm90dG9tIGJvcmRlci1jb2xsYXBzZSB0ZXh0LXNtJywgY2xhc3MpXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvdGFibGU+XG4gICAgPC9kaXY+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ29tcG9uZW50ICBpbXBsZW1lbnRzIE9uQ2hhbmdlc3tcbiAgcHJpdmF0ZSByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIC8qKlxuICAgKiBBbmd1bGFyIHdyaXRlcyBhIGJvdW5kIGBjbGFzc2AgaW5wdXQgdGhyb3VnaCBpdHMgc3R5bGluZyBwYXRoLCB3aGljaCBkb2VzXG4gICAqIG5vdCBtYXJrIGFuIE9uUHVzaCBjb21wb25lbnQgZGlydHkg4oCUIHdpdGhvdXQgdGhpcyBob29rIHRoZSBjb21wb25lbnQga2VlcHNcbiAgICogcmVuZGVyaW5nIHRoZSBjbGFzcyBpdCB3YXMgYm9ybiB3aXRoLlxuICAgKi9cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKiogRXh0cmEgVGFpbHdpbmQgY2xhc3NlcyBtZXJnZWQgb250byB0aGUgc2Nyb2xsaW5nIGNvbnRhaW5lciB2aWEgYGNuKClgIChsYXN0LXdpbnMpLiAqL1xuICBASW5wdXQoKSBjb250YWluZXJDbGFzcyA9ICcnO1xuICAvKiogRXh0cmEgVGFpbHdpbmQgY2xhc3NlcyBtZXJnZWQgb250byB0aGUgYDx0YWJsZT5gIHZpYSBgY24oKWAgKGxhc3Qtd2lucykuICovXG4gIEBJbnB1dCgpIGNsYXNzID0gJyc7XG4gIHByb3RlY3RlZCBjbiA9IGNuO1xufVxuXG4vKiogU3R5bGVzIGEgbmF0aXZlIGA8dGhlYWQ+YC4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t0b2xsZVRhYmxlSGVhZGVyXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHsgJ1tjbGFzc10nOiBgY24oJ1smX3RyXTpib3JkZXItYiBbJl90cl06Ym9yZGVyLWJvcmRlcicsIGNsYXNzKWAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVIZWFkZXJEaXJlY3RpdmUge1xuICAvKiogRXh0cmEgVGFpbHdpbmQgY2xhc3NlcyBtZXJnZWQgb250byB0aGUgYDx0aGVhZD5gIHZpYSBgY24oKWAgKGxhc3Qtd2lucykuICovXG4gIEBJbnB1dCgpIGNsYXNzID0gJyc7XG4gIHByb3RlY3RlZCBjbiA9IGNuO1xufVxuXG4vKiogU3R5bGVzIGEgbmF0aXZlIGA8dGJvZHk+YC4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t0b2xsZVRhYmxlQm9keV0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7ICdbY2xhc3NdJzogYGNuKCdbJl90cjpsYXN0LWNoaWxkXTpib3JkZXItMCcsIGNsYXNzKWAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVCb2R5RGlyZWN0aXZlIHtcbiAgLyoqIEV4dHJhIFRhaWx3aW5kIGNsYXNzZXMgbWVyZ2VkIG9udG8gdGhlIGA8dGJvZHk+YCB2aWEgYGNuKClgIChsYXN0LXdpbnMpLiAqL1xuICBASW5wdXQoKSBjbGFzcyA9ICcnO1xuICBwcm90ZWN0ZWQgY24gPSBjbjtcbn1cblxuLyoqIFN0eWxlcyBhIG5hdGl2ZSBgPHRmb290PmAgZm9yIHN1bW1hcnkgb3IgdG90YWwgcm93cy4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t0b2xsZVRhYmxlRm9vdGVyXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHsgJ1tjbGFzc10nOiBgY24oJ2JvcmRlci10IGJvcmRlci1ib3JkZXIgYmctbXV0ZWQvNTAgZm9udC1tZWRpdW0gWyY+dHJdOmxhc3Q6Ym9yZGVyLWItMCcsIGNsYXNzKWAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVGb290ZXJEaXJlY3RpdmUge1xuICAvKiogRXh0cmEgVGFpbHdpbmQgY2xhc3NlcyBtZXJnZWQgb250byB0aGUgYDx0Zm9vdD5gIHZpYSBgY24oKWAgKGxhc3Qtd2lucykuICovXG4gIEBJbnB1dCgpIGNsYXNzID0gJyc7XG4gIHByb3RlY3RlZCBjbiA9IGNuO1xufVxuXG4vKiogU3R5bGVzIGEgbmF0aXZlIGA8dHI+YCwgd2l0aCBhbiBvcHRpb25hbCBzZWxlY3RlZCBzdGF0ZS4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t0b2xsZVRhYmxlUm93XScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuZGF0YS1zdGF0ZV0nOiBgc2VsZWN0ZWQgPyAnc2VsZWN0ZWQnIDogbnVsbGAsXG4gICAgJ1tjbGFzc10nOiBgY24oJ2JvcmRlci1iIGJvcmRlci1ib3JkZXIgdHJhbnNpdGlvbi1jb2xvcnMgaG92ZXI6YmctbXV0ZWQvNTAgZGF0YS1bc3RhdGU9c2VsZWN0ZWRdOmJnLW11dGVkJywgY2xhc3MpYCxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVSb3dEaXJlY3RpdmUge1xuICAvKiogQXBwbGllcyB0aGUgc2VsZWN0ZWQgYmFja2dyb3VuZCBhbmQgc2V0cyBgZGF0YS1zdGF0ZT1cInNlbGVjdGVkXCJgLiBAZGVmYXVsdCBmYWxzZSAqL1xuICBASW5wdXQoKSBzZWxlY3RlZCA9IGZhbHNlO1xuICAvKiogRXh0cmEgVGFpbHdpbmQgY2xhc3NlcyBtZXJnZWQgb250byB0aGUgYDx0cj5gIHZpYSBgY24oKWAgKGxhc3Qtd2lucykuICovXG4gIEBJbnB1dCgpIGNsYXNzID0gJyc7XG4gIHByb3RlY3RlZCBjbiA9IGNuO1xufVxuXG4vKiogU3R5bGVzIGEgbmF0aXZlIGA8dGg+YCBoZWFkZXIgY2VsbC4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t0b2xsZVRhYmxlSGVhZF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLnNjb3BlXSc6ICdzY29wZScsXG4gICAgJ1thdHRyLmFyaWEtc29ydF0nOiAnc29ydCcsXG4gICAgJ1tjbGFzc10nOiBgY24oJ2gtMTAgd2hpdGVzcGFjZS1ub3dyYXAgcHgtMyB0ZXh0LWxlZnQgYWxpZ24tbWlkZGxlIGZvbnQtbWVkaXVtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCcsIGNsYXNzKWAsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlSGVhZERpcmVjdGl2ZSB7XG4gIC8qKiBTY29wZSBvZiB0aGUgaGVhZGVyIGNlbGwgZm9yIGFzc2lzdGl2ZSB0ZWNoLiBAZGVmYXVsdCAnY29sJyAqL1xuICBASW5wdXQoKSBzY29wZTogJ2NvbCcgfCAncm93JyB8ICdjb2xncm91cCcgfCAncm93Z3JvdXAnID0gJ2NvbCc7XG4gIC8qKiBDdXJyZW50IHNvcnQgZGlyZWN0aW9uLCBzdXJmYWNlZCBhcyBgYXJpYS1zb3J0YC4gQGRlZmF1bHQgbnVsbCAqL1xuICBASW5wdXQoKSBzb3J0OiAnYXNjZW5kaW5nJyB8ICdkZXNjZW5kaW5nJyB8ICdub25lJyB8IG51bGwgPSBudWxsO1xuICAvKiogRXh0cmEgVGFpbHdpbmQgY2xhc3NlcyBtZXJnZWQgb250byB0aGUgYDx0aD5gIHZpYSBgY24oKWAgKGxhc3Qtd2lucykuICovXG4gIEBJbnB1dCgpIGNsYXNzID0gJyc7XG4gIHByb3RlY3RlZCBjbiA9IGNuO1xufVxuXG4vKiogU3R5bGVzIGEgbmF0aXZlIGA8dGQ+YCBkYXRhIGNlbGwuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdG9sbGVUYWJsZUNlbGxdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDogeyAnW2NsYXNzXSc6IGBjbigncC0zIGFsaWduLW1pZGRsZScsIGNsYXNzKWAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDZWxsRGlyZWN0aXZlIHtcbiAgLyoqIEV4dHJhIFRhaWx3aW5kIGNsYXNzZXMgbWVyZ2VkIG9udG8gdGhlIGA8dGQ+YCB2aWEgYGNuKClgIChsYXN0LXdpbnMpLiAqL1xuICBASW5wdXQoKSBjbGFzcyA9ICcnO1xuICBwcm90ZWN0ZWQgY24gPSBjbjtcbn1cblxuLyoqIFN0eWxlcyBhIG5hdGl2ZSBgPGNhcHRpb24+YCwgcmVuZGVyZWQgYmVsb3cgdGhlIHRhYmxlLiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3RvbGxlVGFibGVDYXB0aW9uXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHsgJ1tjbGFzc10nOiBgY24oJ210LTQgdGV4dC1zbSB0ZXh0LW11dGVkLWZvcmVncm91bmQnLCBjbGFzcylgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ2FwdGlvbkRpcmVjdGl2ZSB7XG4gIC8qKiBFeHRyYSBUYWlsd2luZCBjbGFzc2VzIG1lcmdlZCBvbnRvIHRoZSBgPGNhcHRpb24+YCB2aWEgYGNuKClgIChsYXN0LXdpbnMpLiAqL1xuICBASW5wdXQoKSBjbGFzcyA9ICcnO1xuICBwcm90ZWN0ZWQgY24gPSBjbjtcbn1cbiJdfQ==
|