@tolle_/tolle-ui 18.2.29 → 18.2.30
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 +5 -10
- package/esm2022/lib/alert-dialog.component.mjs +44 -59
- 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 +121 -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/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.component.mjs +219 -0
- package/esm2022/lib/segment.component.mjs +17 -7
- 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 +16453 -1024
- package/fesm2022/tolle-ui.mjs.map +1 -1
- package/lib/alert-dialog.component.d.ts +10 -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/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 +1 -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.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/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/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 +109 -8
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { EventEmitter, ElementRef, ChangeDetectorRef, OnChanges, OnDestroy } from '@angular/core';
|
|
2
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
3
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
4
|
+
import { cn } from './utils/cn';
|
|
5
|
+
import { TimeColumnsComponent, TimeParts } from './time-picker.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
declare const dateTimePickerTriggerVariants: (props?: ({
|
|
8
|
+
size?: "default" | "xs" | "sm" | "lg" | null | undefined;
|
|
9
|
+
invalid?: boolean | null | undefined;
|
|
10
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
11
|
+
/** Variant props for the date-time picker trigger. */
|
|
12
|
+
export type DateTimePickerProps = VariantProps<typeof dateTimePickerTriggerVariants>;
|
|
13
|
+
/**
|
|
14
|
+
* One control for a date *and* a time: `tolle-calendar` on the left, the
|
|
15
|
+
* `tolle-time-columns` strip on the right, in a single floating panel with a
|
|
16
|
+
* Clear / Done footer.
|
|
17
|
+
*
|
|
18
|
+
* The value is a `Date`, because a date-time genuinely is a moment. Changing
|
|
19
|
+
* the date preserves the chosen time and changing the time preserves the
|
|
20
|
+
* chosen date — the two halves are only ever recombined, never reset.
|
|
21
|
+
*
|
|
22
|
+
* Implements `ControlValueAccessor`, so it works with `ngModel` and reactive
|
|
23
|
+
* forms. Use `tolle-date-picker` for a date alone and `tolle-time-picker` for a
|
|
24
|
+
* time alone.
|
|
25
|
+
* @new
|
|
26
|
+
*/
|
|
27
|
+
export declare class DateTimePickerComponent implements ControlValueAccessor, OnChanges, OnDestroy {
|
|
28
|
+
private cdr;
|
|
29
|
+
/** Text shown on the trigger when nothing is selected. @default 'Select date and time' */
|
|
30
|
+
placeholder: string;
|
|
31
|
+
/** Disables the control. @default false */
|
|
32
|
+
disabled: boolean;
|
|
33
|
+
/** Renders a 12-hour face with an AM/PM column. @default false */
|
|
34
|
+
use12Hours: boolean;
|
|
35
|
+
/** Adds a seconds column. @default false */
|
|
36
|
+
showSeconds: boolean;
|
|
37
|
+
/** Interval between minute entries, in minutes. @default 1 */
|
|
38
|
+
minuteStep: number;
|
|
39
|
+
/** Earliest selectable moment; earlier days and times are disabled. */
|
|
40
|
+
min?: Date;
|
|
41
|
+
/** Latest selectable moment; later days and times are disabled. */
|
|
42
|
+
max?: Date;
|
|
43
|
+
/** date-fns pattern used to render the value on the trigger. @default 'MMM d, yyyy h:mm a' */
|
|
44
|
+
displayFormat: string;
|
|
45
|
+
/** Height and text size of the trigger and entries. @default 'default' */
|
|
46
|
+
size: DateTimePickerProps['size'];
|
|
47
|
+
/** Applies the destructive border and focus ring. @default false */
|
|
48
|
+
invalid: boolean;
|
|
49
|
+
/** Accessible name when there is no associated visible label. @default '' */
|
|
50
|
+
ariaLabel: string;
|
|
51
|
+
/** Extra Tailwind classes merged onto the trigger via `cn()` (last-wins). */
|
|
52
|
+
class: string;
|
|
53
|
+
/** Emitted with the chosen moment, or `null` when the value is cleared. */
|
|
54
|
+
valueChange: EventEmitter<Date | null>;
|
|
55
|
+
/** Emitted when the panel opens. */
|
|
56
|
+
opened: EventEmitter<void>;
|
|
57
|
+
/** Emitted when the panel closes. */
|
|
58
|
+
closed: EventEmitter<void>;
|
|
59
|
+
triggerEl?: ElementRef<HTMLElement>;
|
|
60
|
+
panelEl?: ElementRef<HTMLElement>;
|
|
61
|
+
columnsCmp?: TimeColumnsComponent;
|
|
62
|
+
readonly panelId: string;
|
|
63
|
+
value: Date | null;
|
|
64
|
+
isOpen: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Day-only copies of `min` / `max` for the calendar. The calendar compares
|
|
67
|
+
* whole `Date`s, so passing a bound that carries a time would disable its own
|
|
68
|
+
* day — 09:00 on the min day would look "before" a 09:30 minimum.
|
|
69
|
+
*/
|
|
70
|
+
calendarMin?: Date;
|
|
71
|
+
calendarMax?: Date;
|
|
72
|
+
readonly footerButtonClass: string;
|
|
73
|
+
protected cn: typeof cn;
|
|
74
|
+
private cleanup?;
|
|
75
|
+
private onChange;
|
|
76
|
+
private onTouched;
|
|
77
|
+
constructor(cdr: ChangeDetectorRef);
|
|
78
|
+
ngOnChanges(): void;
|
|
79
|
+
private readonly outsideClickHandler;
|
|
80
|
+
private readonly escapeHandler;
|
|
81
|
+
get hour(): number | null;
|
|
82
|
+
get minute(): number | null;
|
|
83
|
+
get second(): number | null;
|
|
84
|
+
get displayValue(): string;
|
|
85
|
+
/**
|
|
86
|
+
* The time bound only bites on the boundary day itself: on the min day the
|
|
87
|
+
* columns start at the min time, on any later day they start at midnight.
|
|
88
|
+
*/
|
|
89
|
+
get minSeconds(): number;
|
|
90
|
+
get maxSeconds(): number;
|
|
91
|
+
get computedTriggerClass(): string;
|
|
92
|
+
toggle(): void;
|
|
93
|
+
open(): void;
|
|
94
|
+
close(): void;
|
|
95
|
+
onTriggerKeyDown(event: KeyboardEvent): void;
|
|
96
|
+
/**
|
|
97
|
+
* Applies a newly picked day, carrying the existing time across. With no
|
|
98
|
+
* time chosen yet the day starts at midnight.
|
|
99
|
+
*/
|
|
100
|
+
onDateSelect(date: Date | null): void;
|
|
101
|
+
/**
|
|
102
|
+
* Applies a newly picked time, carrying the existing day across. With no day
|
|
103
|
+
* chosen yet the time lands on today.
|
|
104
|
+
*/
|
|
105
|
+
onTimeChange(parts: TimeParts): void;
|
|
106
|
+
clear(): void;
|
|
107
|
+
done(): void;
|
|
108
|
+
private commit;
|
|
109
|
+
private updatePosition;
|
|
110
|
+
private teardown;
|
|
111
|
+
ngOnDestroy(): void;
|
|
112
|
+
writeValue(value: Date | string | null | undefined): void;
|
|
113
|
+
registerOnChange(fn: (value: Date | null) => void): void;
|
|
114
|
+
registerOnTouched(fn: () => void): void;
|
|
115
|
+
setDisabledState(isDisabled: boolean): void;
|
|
116
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DateTimePickerComponent, never>;
|
|
117
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DateTimePickerComponent, "tolle-date-time-picker", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "use12Hours": { "alias": "use12Hours"; "required": false; }; "showSeconds": { "alias": "showSeconds"; "required": false; }; "minuteStep": { "alias": "minuteStep"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "displayFormat": { "alias": "displayFormat"; "required": false; }; "size": { "alias": "size"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, { "valueChange": "valueChange"; "opened": "opened"; "closed": "closed"; }, never, never, true, never>;
|
|
118
|
+
}
|
|
119
|
+
export {};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { EventEmitter, OnChanges } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/** Writing direction of a subtree: explicit, or inferred from its text. */
|
|
4
|
+
export type Direction = 'ltr' | 'rtl' | 'auto';
|
|
5
|
+
/**
|
|
6
|
+
* Publishes the application's current writing direction so components can adapt
|
|
7
|
+
* without reading the DOM.
|
|
8
|
+
*
|
|
9
|
+
* Direction is not an input of most components, so an OnPush view would never be
|
|
10
|
+
* marked dirty by a change. Subscribe to `direction$` and call `markForCheck()`
|
|
11
|
+
* on emission wherever the rendered output depends on it.
|
|
12
|
+
*/
|
|
13
|
+
export declare class DirectionService {
|
|
14
|
+
private directionSource;
|
|
15
|
+
/** Emits the current writing direction, starting with the present value. */
|
|
16
|
+
readonly direction$: import("rxjs").Observable<Direction>;
|
|
17
|
+
/** The current writing direction. */
|
|
18
|
+
get direction(): Direction;
|
|
19
|
+
/** Whether the current direction is explicitly right-to-left. */
|
|
20
|
+
get isRtl(): boolean;
|
|
21
|
+
/** Sets the current direction, emitting only when it actually changes. */
|
|
22
|
+
setDirection(direction: Direction): void;
|
|
23
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DirectionService, never>;
|
|
24
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DirectionService>;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Sets the `dir` attribute on its host and publishes that direction to
|
|
28
|
+
* `DirectionService`, so a whole chat surface can be flipped to RTL from one
|
|
29
|
+
* place. Put it on the outermost element of the subtree you want to flip.
|
|
30
|
+
* @new
|
|
31
|
+
*/
|
|
32
|
+
export declare class DirectionDirective implements OnChanges {
|
|
33
|
+
/** Writing direction applied to the host's `dir` attribute. @default 'ltr' */
|
|
34
|
+
tolleDirection: Direction;
|
|
35
|
+
/** Whether to publish this direction to the app-wide `DirectionService`. @default true */
|
|
36
|
+
tolleDirectionPublish: boolean;
|
|
37
|
+
/** Emitted with the direction whenever it changes. */
|
|
38
|
+
directionChange: EventEmitter<Direction>;
|
|
39
|
+
private readonly service;
|
|
40
|
+
/** The resolved `dir` attribute value written onto the host. */
|
|
41
|
+
get dir(): Direction;
|
|
42
|
+
ngOnChanges(): void;
|
|
43
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DirectionDirective, never>;
|
|
44
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<DirectionDirective, "[tolleDirection]", never, { "tolleDirection": { "alias": "tolleDirection"; "required": false; }; "tolleDirectionPublish": { "alias": "tolleDirectionPublish"; "required": false; }; }, { "directionChange": "directionChange"; }, never, never, true, never>;
|
|
45
|
+
}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { OnChanges } from '@angular/core';
|
|
2
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
3
|
+
import { cn } from './utils/cn';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
declare const fieldVariants: (props?: ({
|
|
6
|
+
orientation?: "horizontal" | "vertical" | "responsive" | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
export type FieldProps = VariantProps<typeof fieldVariants>;
|
|
9
|
+
/**
|
|
10
|
+
* Wraps a label, a control and its help/error text into one accessible form
|
|
11
|
+
* field. Composes *around* the existing controls (`tolle-input`,
|
|
12
|
+
* `tolle-select`, …) — it does not replace them.
|
|
13
|
+
*
|
|
14
|
+
* Use `tolle-item` instead when displaying content rather than a form control.
|
|
15
|
+
* @new
|
|
16
|
+
*/
|
|
17
|
+
export declare class FieldComponent implements OnChanges {
|
|
18
|
+
private readonly cdr;
|
|
19
|
+
/**
|
|
20
|
+
* Angular writes a bound `class` input through its styling path, which does
|
|
21
|
+
* not mark an OnPush component dirty — without this hook the component keeps
|
|
22
|
+
* rendering the class it was born with.
|
|
23
|
+
*/
|
|
24
|
+
ngOnChanges(): void;
|
|
25
|
+
/** Layout direction; `responsive` goes horizontal at the `@md` container width. @default 'vertical' */
|
|
26
|
+
orientation: FieldProps['orientation'];
|
|
27
|
+
/** Marks the field invalid, turning on the destructive styling for descendants. @default false */
|
|
28
|
+
invalid: boolean;
|
|
29
|
+
/** Extra Tailwind classes merged onto the field via `cn()` (last-wins). */
|
|
30
|
+
class: string;
|
|
31
|
+
get computedClass(): string;
|
|
32
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FieldComponent, never>;
|
|
33
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FieldComponent, "tolle-field", never, { "orientation": { "alias": "orientation"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Label for a field's control. Set `for` to the control's `id` so clicking the
|
|
37
|
+
* label focuses it.
|
|
38
|
+
*/
|
|
39
|
+
export declare class FieldLabelComponent implements OnChanges {
|
|
40
|
+
private readonly cdr;
|
|
41
|
+
/**
|
|
42
|
+
* Angular writes a bound `class` input through its styling path, which does
|
|
43
|
+
* not mark an OnPush component dirty — without this hook the component keeps
|
|
44
|
+
* rendering the class it was born with.
|
|
45
|
+
*/
|
|
46
|
+
ngOnChanges(): void;
|
|
47
|
+
/** Id of the control this label describes; wire it to the control's `id`. @default '' */
|
|
48
|
+
for: string;
|
|
49
|
+
/** Appends a required marker (*) after the label text. @default false */
|
|
50
|
+
required: boolean;
|
|
51
|
+
/** Extra Tailwind classes merged onto the label via `cn()` (last-wins). */
|
|
52
|
+
class: string;
|
|
53
|
+
protected cn: typeof cn;
|
|
54
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FieldLabelComponent, never>;
|
|
55
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FieldLabelComponent, "tolle-field-label", never, { "for": { "alias": "for"; "required": false; }; "required": { "alias": "required"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
56
|
+
}
|
|
57
|
+
/** Column that groups the control with its description and error text. */
|
|
58
|
+
export declare class FieldContentComponent implements OnChanges {
|
|
59
|
+
private readonly cdr;
|
|
60
|
+
/**
|
|
61
|
+
* Angular writes a bound `class` input through its styling path, which does
|
|
62
|
+
* not mark an OnPush component dirty — without this hook the component keeps
|
|
63
|
+
* rendering the class it was born with.
|
|
64
|
+
*/
|
|
65
|
+
ngOnChanges(): void;
|
|
66
|
+
/** Extra Tailwind classes merged onto the content column via `cn()` (last-wins). */
|
|
67
|
+
class: string;
|
|
68
|
+
protected cn: typeof cn;
|
|
69
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FieldContentComponent, never>;
|
|
70
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FieldContentComponent, "tolle-field-content", never, { "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Helper text below a control. Give it an `id` and point the control's
|
|
74
|
+
* `aria-describedby` at it.
|
|
75
|
+
*/
|
|
76
|
+
export declare class FieldDescriptionComponent implements OnChanges {
|
|
77
|
+
private readonly cdr;
|
|
78
|
+
/**
|
|
79
|
+
* Angular writes a bound `class` input through its styling path, which does
|
|
80
|
+
* not mark an OnPush component dirty — without this hook the component keeps
|
|
81
|
+
* rendering the class it was born with.
|
|
82
|
+
*/
|
|
83
|
+
ngOnChanges(): void;
|
|
84
|
+
/** Id to reference from the control's `aria-describedby`. @default '' */
|
|
85
|
+
id: string;
|
|
86
|
+
/** Extra Tailwind classes merged onto the description via `cn()` (last-wins). */
|
|
87
|
+
class: string;
|
|
88
|
+
protected cn: typeof cn;
|
|
89
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FieldDescriptionComponent, never>;
|
|
90
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FieldDescriptionComponent, "tolle-field-description", never, { "id": { "alias": "id"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Error text for a field. Renders nothing when there is no error, so it is safe
|
|
94
|
+
* to leave in the template permanently. Announces via `role="alert"`.
|
|
95
|
+
*/
|
|
96
|
+
export declare class FieldErrorComponent implements OnChanges {
|
|
97
|
+
private readonly cdr;
|
|
98
|
+
/**
|
|
99
|
+
* Angular writes a bound `class` input through its styling path, which does
|
|
100
|
+
* not mark an OnPush component dirty — without this hook the component keeps
|
|
101
|
+
* rendering the class it was born with.
|
|
102
|
+
*/
|
|
103
|
+
ngOnChanges(): void;
|
|
104
|
+
/**
|
|
105
|
+
* Validation message(s). Accepts a single string, an array of strings, or an
|
|
106
|
+
* Angular `ValidationErrors`-style object whose values are messages.
|
|
107
|
+
* @default ''
|
|
108
|
+
*/
|
|
109
|
+
errors: string | string[] | Record<string, any> | null;
|
|
110
|
+
/** Id to reference from the control's `aria-describedby`. @default '' */
|
|
111
|
+
id: string;
|
|
112
|
+
/** Extra Tailwind classes merged onto the error text via `cn()` (last-wins). */
|
|
113
|
+
class: string;
|
|
114
|
+
protected cn: typeof cn;
|
|
115
|
+
/** Normalises the three accepted `errors` shapes to a flat list of strings. */
|
|
116
|
+
get messages(): string[];
|
|
117
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FieldErrorComponent, never>;
|
|
118
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FieldErrorComponent, "tolle-field-error", never, { "errors": { "alias": "errors"; "required": false; }; "id": { "alias": "id"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, never, true, never>;
|
|
119
|
+
}
|
|
120
|
+
/** Stacks several fields with consistent spacing. */
|
|
121
|
+
export declare class FieldGroupComponent implements OnChanges {
|
|
122
|
+
private readonly cdr;
|
|
123
|
+
/**
|
|
124
|
+
* Angular writes a bound `class` input through its styling path, which does
|
|
125
|
+
* not mark an OnPush component dirty — without this hook the component keeps
|
|
126
|
+
* rendering the class it was born with.
|
|
127
|
+
*/
|
|
128
|
+
ngOnChanges(): void;
|
|
129
|
+
/** Extra Tailwind classes merged onto the group via `cn()` (last-wins). */
|
|
130
|
+
class: string;
|
|
131
|
+
protected cn: typeof cn;
|
|
132
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FieldGroupComponent, never>;
|
|
133
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FieldGroupComponent, "tolle-field-group", never, { "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
134
|
+
}
|
|
135
|
+
/** Semantic `<fieldset>` grouping related fields under a legend. */
|
|
136
|
+
export declare class FieldSetComponent implements OnChanges {
|
|
137
|
+
private readonly cdr;
|
|
138
|
+
/**
|
|
139
|
+
* Angular writes a bound `class` input through its styling path, which does
|
|
140
|
+
* not mark an OnPush component dirty — without this hook the component keeps
|
|
141
|
+
* rendering the class it was born with.
|
|
142
|
+
*/
|
|
143
|
+
ngOnChanges(): void;
|
|
144
|
+
/** Extra Tailwind classes merged onto the fieldset via `cn()` (last-wins). */
|
|
145
|
+
class: string;
|
|
146
|
+
protected cn: typeof cn;
|
|
147
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FieldSetComponent, never>;
|
|
148
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FieldSetComponent, "tolle-field-set", never, { "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
149
|
+
}
|
|
150
|
+
declare const fieldLegendVariants: (props?: ({
|
|
151
|
+
variant?: "label" | "legend" | null | undefined;
|
|
152
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
153
|
+
export type FieldLegendProps = VariantProps<typeof fieldLegendVariants>;
|
|
154
|
+
/** `<legend>` for a `tolle-field-set`. */
|
|
155
|
+
export declare class FieldLegendComponent implements OnChanges {
|
|
156
|
+
private readonly cdr;
|
|
157
|
+
/**
|
|
158
|
+
* Angular writes a bound `class` input through its styling path, which does
|
|
159
|
+
* not mark an OnPush component dirty — without this hook the component keeps
|
|
160
|
+
* rendering the class it was born with.
|
|
161
|
+
*/
|
|
162
|
+
ngOnChanges(): void;
|
|
163
|
+
/** Type scale of the legend. @default 'legend' */
|
|
164
|
+
variant: FieldLegendProps['variant'];
|
|
165
|
+
/** Extra Tailwind classes merged onto the legend via `cn()` (last-wins). */
|
|
166
|
+
class: string;
|
|
167
|
+
get computedClass(): string;
|
|
168
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FieldLegendComponent, never>;
|
|
169
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FieldLegendComponent, "tolle-field-legend", never, { "variant": { "alias": "variant"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
170
|
+
}
|
|
171
|
+
/** Divider between sections of a form. */
|
|
172
|
+
export declare class FieldSeparatorComponent implements OnChanges {
|
|
173
|
+
private readonly cdr;
|
|
174
|
+
/**
|
|
175
|
+
* Angular writes a bound `class` input through its styling path, which does
|
|
176
|
+
* not mark an OnPush component dirty — without this hook the component keeps
|
|
177
|
+
* rendering the class it was born with.
|
|
178
|
+
*/
|
|
179
|
+
ngOnChanges(): void;
|
|
180
|
+
/** Extra Tailwind classes merged onto the separator via `cn()` (last-wins). */
|
|
181
|
+
class: string;
|
|
182
|
+
protected cn: typeof cn;
|
|
183
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FieldSeparatorComponent, never>;
|
|
184
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FieldSeparatorComponent, "tolle-field-separator", never, { "class": { "alias": "class"; "required": false; }; }, {}, never, never, true, never>;
|
|
185
|
+
}
|
|
186
|
+
/** Title for a group of fields that is not a `<legend>`. */
|
|
187
|
+
export declare class FieldTitleComponent implements OnChanges {
|
|
188
|
+
private readonly cdr;
|
|
189
|
+
/**
|
|
190
|
+
* Angular writes a bound `class` input through its styling path, which does
|
|
191
|
+
* not mark an OnPush component dirty — without this hook the component keeps
|
|
192
|
+
* rendering the class it was born with.
|
|
193
|
+
*/
|
|
194
|
+
ngOnChanges(): void;
|
|
195
|
+
/** Extra Tailwind classes merged onto the title via `cn()` (last-wins). */
|
|
196
|
+
class: string;
|
|
197
|
+
protected cn: typeof cn;
|
|
198
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FieldTitleComponent, never>;
|
|
199
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FieldTitleComponent, "tolle-field-title", never, { "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
200
|
+
}
|
|
201
|
+
export {};
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { OnDestroy, OnChanges } from '@angular/core';
|
|
2
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
declare const inlineCitationVariants: (props?: ({
|
|
5
|
+
variant?: "default" | "muted" | "subtle" | null | undefined;
|
|
6
|
+
size?: "default" | "sm" | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
export type InlineCitationProps = VariantProps<typeof inlineCitationVariants>;
|
|
9
|
+
/**
|
|
10
|
+
* A superscript citation marker for prose. Hovering the marker reveals the
|
|
11
|
+
* projected source card, positioned by the existing `tolle-hover-card`.
|
|
12
|
+
*
|
|
13
|
+
* ```html
|
|
14
|
+
* The model was released in March.<tolle-inline-citation [index]="1">
|
|
15
|
+
* <tolle-inline-citation-card
|
|
16
|
+
* title="Release notes"
|
|
17
|
+
* url="https://example.com/notes"
|
|
18
|
+
* snippet="Shipped on 14 March."
|
|
19
|
+
* ></tolle-inline-citation-card>
|
|
20
|
+
* </tolle-inline-citation>
|
|
21
|
+
* ```
|
|
22
|
+
* @new
|
|
23
|
+
*/
|
|
24
|
+
export declare class InlineCitationComponent implements OnChanges, OnDestroy {
|
|
25
|
+
/**
|
|
26
|
+
* Angular writes a bound `class` input through its styling path, which does
|
|
27
|
+
* not mark an OnPush component dirty — without this hook the component keeps
|
|
28
|
+
* rendering the class it was born with.
|
|
29
|
+
*/
|
|
30
|
+
ngOnChanges(): void;
|
|
31
|
+
/** Number rendered in the superscript marker. @default 1 */
|
|
32
|
+
index: number | string;
|
|
33
|
+
/** Colour treatment of the marker. @default 'default' */
|
|
34
|
+
variant: InlineCitationProps['variant'];
|
|
35
|
+
/** Text size of the marker. @default 'default' */
|
|
36
|
+
size: InlineCitationProps['size'];
|
|
37
|
+
/** Side of the marker the source card opens on. @default 'top' */
|
|
38
|
+
placement: 'top' | 'bottom' | 'left' | 'right';
|
|
39
|
+
/** Milliseconds to wait before opening the card. @default 150 */
|
|
40
|
+
openDelay: number;
|
|
41
|
+
/** Milliseconds to wait before closing the card. @default 200 */
|
|
42
|
+
closeDelay: number;
|
|
43
|
+
/** Accessible label for the marker; falls back to "Citation {index}". @default '' */
|
|
44
|
+
ariaLabel: string;
|
|
45
|
+
/** Extra Tailwind classes merged onto the marker via `cn()` (last-wins). */
|
|
46
|
+
class: string;
|
|
47
|
+
/** Extra Tailwind classes merged onto the hover card panel via `cn()` (last-wins). */
|
|
48
|
+
cardClass: string;
|
|
49
|
+
private readonly cdr;
|
|
50
|
+
private refreshTimer?;
|
|
51
|
+
get computedClass(): string;
|
|
52
|
+
get contentClass(): string;
|
|
53
|
+
/**
|
|
54
|
+
* `tolle-hover-card` flips its own visibility from a `setTimeout`, which never
|
|
55
|
+
* marks this OnPush view dirty. Re-check just after the delay elapses so the
|
|
56
|
+
* card actually appears (and disappears) inside an OnPush host.
|
|
57
|
+
*/
|
|
58
|
+
scheduleRefresh(delay: number): void;
|
|
59
|
+
ngOnDestroy(): void;
|
|
60
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<InlineCitationComponent, never>;
|
|
61
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<InlineCitationComponent, "tolle-inline-citation", never, { "index": { "alias": "index"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "openDelay": { "alias": "openDelay"; "required": false; }; "closeDelay": { "alias": "closeDelay"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "class": { "alias": "class"; "required": false; }; "cardClass": { "alias": "cardClass"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
62
|
+
}
|
|
63
|
+
/** The source preview shown inside a citation's hover card. */
|
|
64
|
+
export declare class InlineCitationCardComponent implements OnChanges {
|
|
65
|
+
private readonly cdr;
|
|
66
|
+
/**
|
|
67
|
+
* Angular writes a bound `class` input through its styling path, which does
|
|
68
|
+
* not mark an OnPush component dirty — without this hook the component keeps
|
|
69
|
+
* rendering the class it was born with.
|
|
70
|
+
*/
|
|
71
|
+
ngOnChanges(): void;
|
|
72
|
+
/** Title of the cited source. @default '' */
|
|
73
|
+
title: string;
|
|
74
|
+
/** Link to the cited source. @default '' */
|
|
75
|
+
url: string;
|
|
76
|
+
/** Short excerpt from the source. @default '' */
|
|
77
|
+
snippet: string;
|
|
78
|
+
/** Extra Tailwind classes merged onto the card via `cn()` (last-wins). */
|
|
79
|
+
class: string;
|
|
80
|
+
get computedClass(): string;
|
|
81
|
+
/** The URL without its scheme, which reads better in a narrow card. */
|
|
82
|
+
get displayUrl(): string;
|
|
83
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<InlineCitationCardComponent, never>;
|
|
84
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<InlineCitationCardComponent, "tolle-inline-citation-card", never, { "title": { "alias": "title"; "required": false; }; "url": { "alias": "url"; "required": false; }; "snippet": { "alias": "snippet"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
85
|
+
}
|
|
86
|
+
/** A pulled quote from the cited source, shown inside the citation card. */
|
|
87
|
+
export declare class InlineCitationQuoteComponent implements OnChanges {
|
|
88
|
+
private readonly cdr;
|
|
89
|
+
/**
|
|
90
|
+
* Angular writes a bound `class` input through its styling path, which does
|
|
91
|
+
* not mark an OnPush component dirty — without this hook the component keeps
|
|
92
|
+
* rendering the class it was born with.
|
|
93
|
+
*/
|
|
94
|
+
ngOnChanges(): void;
|
|
95
|
+
/** Attribution shown beneath the quote. @default '' */
|
|
96
|
+
cite: string;
|
|
97
|
+
/** Extra Tailwind classes merged onto the quote via `cn()` (last-wins). */
|
|
98
|
+
class: string;
|
|
99
|
+
get computedClass(): string;
|
|
100
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<InlineCitationQuoteComponent, never>;
|
|
101
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<InlineCitationQuoteComponent, "tolle-inline-citation-quote", never, { "cite": { "alias": "cite"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
102
|
+
}
|
|
103
|
+
export {};
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { EventEmitter, ChangeDetectorRef } from '@angular/core';
|
|
2
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
3
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
4
|
+
import { cn } from './utils/cn';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
declare const inputGroupVariants: (props?: ({
|
|
7
|
+
size?: "default" | "xs" | "sm" | "lg" | null | undefined;
|
|
8
|
+
invalid?: boolean | null | undefined;
|
|
9
|
+
stacked?: boolean | null | undefined;
|
|
10
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
11
|
+
export type InputGroupProps = VariantProps<typeof inputGroupVariants>;
|
|
12
|
+
/**
|
|
13
|
+
* Wraps an input with leading/trailing addons — icons, text, buttons or a
|
|
14
|
+
* spinner — inside a single bordered control that shows one shared focus ring.
|
|
15
|
+
*
|
|
16
|
+
* Put a `tolle-input-group-input` (or `tolle-input-group-textarea`) inside,
|
|
17
|
+
* alongside any number of `tolle-input-group-addon` elements.
|
|
18
|
+
* @new
|
|
19
|
+
*/
|
|
20
|
+
export declare class InputGroupComponent {
|
|
21
|
+
/** Height and text size of the group; match it to the input inside. @default 'default' */
|
|
22
|
+
size: InputGroupProps['size'];
|
|
23
|
+
/** Applies the destructive border and focus ring. @default false */
|
|
24
|
+
invalid: boolean;
|
|
25
|
+
/** Switches to a stacked column layout for `block-start`/`block-end` addons. @default false */
|
|
26
|
+
stacked: boolean;
|
|
27
|
+
/** Extra Tailwind classes merged onto the group via `cn()` (last-wins). */
|
|
28
|
+
class: string;
|
|
29
|
+
get computedClass(): string;
|
|
30
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<InputGroupComponent, never>;
|
|
31
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<InputGroupComponent, "tolle-input-group", never, { "size": { "alias": "size"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "stacked": { "alias": "stacked"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
32
|
+
}
|
|
33
|
+
declare const inputGroupAddonVariants: (props?: ({
|
|
34
|
+
align?: "inline-start" | "inline-end" | "block-start" | "block-end" | null | undefined;
|
|
35
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
36
|
+
export type InputGroupAddonProps = VariantProps<typeof inputGroupAddonVariants>;
|
|
37
|
+
/**
|
|
38
|
+
* A slot beside (or above/below) the input for icons, text or buttons.
|
|
39
|
+
* Use `block-start` / `block-end` together with the group's `stacked` input.
|
|
40
|
+
*/
|
|
41
|
+
export declare class InputGroupAddonComponent {
|
|
42
|
+
/** Where the addon sits relative to the input. @default 'inline-start' */
|
|
43
|
+
align: InputGroupAddonProps['align'];
|
|
44
|
+
/** Extra Tailwind classes merged onto the addon via `cn()` (last-wins). */
|
|
45
|
+
class: string;
|
|
46
|
+
get computedClass(): string;
|
|
47
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<InputGroupAddonComponent, never>;
|
|
48
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<InputGroupAddonComponent, "tolle-input-group-addon", never, { "align": { "alias": "align"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
49
|
+
}
|
|
50
|
+
declare const inputGroupButtonVariants: (props?: ({
|
|
51
|
+
variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
|
|
52
|
+
size?: "xs" | "sm" | "icon-xs" | "icon-sm" | null | undefined;
|
|
53
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
54
|
+
export type InputGroupButtonProps = VariantProps<typeof inputGroupButtonVariants>;
|
|
55
|
+
/** A compact button sized to sit inside an input group addon. */
|
|
56
|
+
export declare class InputGroupButtonComponent {
|
|
57
|
+
/** Visual style of the button. @default 'ghost' */
|
|
58
|
+
variant: InputGroupButtonProps['variant'];
|
|
59
|
+
/** Size of the button; the `icon-*` sizes render a square. @default 'icon-sm' */
|
|
60
|
+
size: InputGroupButtonProps['size'];
|
|
61
|
+
/** Native button type. @default 'button' */
|
|
62
|
+
type: 'button' | 'submit' | 'reset';
|
|
63
|
+
/** Disables the button. @default false */
|
|
64
|
+
disabled: boolean;
|
|
65
|
+
/** Accessible name — required when the button shows only an icon. @default '' */
|
|
66
|
+
ariaLabel: string;
|
|
67
|
+
/** Extra Tailwind classes merged onto the button via `cn()` (last-wins). */
|
|
68
|
+
class: string;
|
|
69
|
+
/** Emitted with the click event when the button is pressed. */
|
|
70
|
+
clicked: EventEmitter<MouseEvent>;
|
|
71
|
+
get computedClass(): string;
|
|
72
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<InputGroupButtonComponent, never>;
|
|
73
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<InputGroupButtonComponent, "tolle-input-group-button", never, { "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "type": { "alias": "type"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, { "clicked": "clicked"; }, never, ["*"], true, never>;
|
|
74
|
+
}
|
|
75
|
+
/** Plain text inside an addon — a unit, prefix, or character counter. */
|
|
76
|
+
export declare class InputGroupTextComponent {
|
|
77
|
+
/** Extra Tailwind classes merged onto the text via `cn()` (last-wins). */
|
|
78
|
+
class: string;
|
|
79
|
+
protected cn: typeof cn;
|
|
80
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<InputGroupTextComponent, never>;
|
|
81
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<InputGroupTextComponent, "tolle-input-group-text", never, { "class": { "alias": "class"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* The input inside a `tolle-input-group`. Deliberately borderless and
|
|
85
|
+
* unfocusable-looking — the surrounding group owns the border and focus ring.
|
|
86
|
+
*/
|
|
87
|
+
export declare class InputGroupInputComponent implements ControlValueAccessor {
|
|
88
|
+
private cdr;
|
|
89
|
+
/** Id applied to the underlying `<input>`. */
|
|
90
|
+
id: string;
|
|
91
|
+
/** Native input type. @default 'text' */
|
|
92
|
+
type: string;
|
|
93
|
+
/** Placeholder text. @default '' */
|
|
94
|
+
placeholder: string;
|
|
95
|
+
/** Disables the input. @default false */
|
|
96
|
+
disabled: boolean;
|
|
97
|
+
/** Makes the input read-only. @default false */
|
|
98
|
+
readonly: boolean;
|
|
99
|
+
/** Id of the element describing this input, for `aria-describedby`. @default '' */
|
|
100
|
+
ariaDescribedby: string;
|
|
101
|
+
/** Extra Tailwind classes merged onto the input via `cn()` (last-wins). */
|
|
102
|
+
class: string;
|
|
103
|
+
/** Emitted with the new value on every keystroke. */
|
|
104
|
+
valueChange: EventEmitter<string>;
|
|
105
|
+
value: string | null;
|
|
106
|
+
onChange: (value: string) => void;
|
|
107
|
+
onTouched: () => void;
|
|
108
|
+
constructor(cdr: ChangeDetectorRef);
|
|
109
|
+
get computedClass(): string;
|
|
110
|
+
onInputChange(event: Event): void;
|
|
111
|
+
writeValue(value: string | null): void;
|
|
112
|
+
registerOnChange(fn: (value: string) => void): void;
|
|
113
|
+
registerOnTouched(fn: () => void): void;
|
|
114
|
+
setDisabledState(isDisabled: boolean): void;
|
|
115
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<InputGroupInputComponent, never>;
|
|
116
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<InputGroupInputComponent, "tolle-input-group-input", never, { "id": { "alias": "id"; "required": false; }; "type": { "alias": "type"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "ariaDescribedby": { "alias": "ariaDescribedby"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
|
|
117
|
+
}
|
|
118
|
+
/** The textarea equivalent of `tolle-input-group-input`. */
|
|
119
|
+
export declare class InputGroupTextareaComponent implements ControlValueAccessor {
|
|
120
|
+
private cdr;
|
|
121
|
+
/** Id applied to the underlying `<textarea>`. */
|
|
122
|
+
id: string;
|
|
123
|
+
/** Visible rows. @default 3 */
|
|
124
|
+
rows: number;
|
|
125
|
+
/** Placeholder text. @default '' */
|
|
126
|
+
placeholder: string;
|
|
127
|
+
/** Disables the textarea. @default false */
|
|
128
|
+
disabled: boolean;
|
|
129
|
+
/** Makes the textarea read-only. @default false */
|
|
130
|
+
readonly: boolean;
|
|
131
|
+
/** Id of the element describing this textarea, for `aria-describedby`. @default '' */
|
|
132
|
+
ariaDescribedby: string;
|
|
133
|
+
/** Extra Tailwind classes merged onto the textarea via `cn()` (last-wins). */
|
|
134
|
+
class: string;
|
|
135
|
+
/** Emitted with the new value on every keystroke. */
|
|
136
|
+
valueChange: EventEmitter<string>;
|
|
137
|
+
value: string | null;
|
|
138
|
+
onChange: (value: string) => void;
|
|
139
|
+
onTouched: () => void;
|
|
140
|
+
constructor(cdr: ChangeDetectorRef);
|
|
141
|
+
get computedClass(): string;
|
|
142
|
+
onInputChange(event: Event): void;
|
|
143
|
+
writeValue(value: string | null): void;
|
|
144
|
+
registerOnChange(fn: (value: string) => void): void;
|
|
145
|
+
registerOnTouched(fn: () => void): void;
|
|
146
|
+
setDisabledState(isDisabled: boolean): void;
|
|
147
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<InputGroupTextareaComponent, never>;
|
|
148
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<InputGroupTextareaComponent, "tolle-input-group-textarea", never, { "id": { "alias": "id"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "ariaDescribedby": { "alias": "ariaDescribedby"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
|
|
149
|
+
}
|
|
150
|
+
export {};
|