@egose/shadcn-theme-ng-tw 0.1.0 → 0.2.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/README.md +1 -1
- package/accordion/README.md +405 -2
- package/alert/README.md +372 -2
- package/alert-dialog/README.md +471 -5
- package/aspect-ratio/README.md +272 -5
- package/autocomplete/README.md +502 -2
- package/avatar/README.md +357 -5
- package/badge/README.md +318 -2
- package/basic-alert/README.md +353 -2
- package/breadcrumb/README.md +406 -5
- package/button/README.md +482 -2
- package/button/fesm2022/button.mjs +85 -107
- package/button/types/button.d.ts +5 -8
- package/button-group/README.md +318 -5
- package/button-group/fesm2022/button-group.mjs +1 -1
- package/calendar/README.md +357 -2
- package/card/README.md +331 -5
- package/carousel/README.md +333 -5
- package/carousel/fesm2022/carousel.mjs +4 -1
- package/checkbox/README.md +320 -2
- package/collapsible/README.md +332 -5
- package/combobox/README.md +507 -5
- package/combobox/fesm2022/combobox.mjs +4 -1
- package/command/README.md +435 -5
- package/confirmation-dialog/README.md +301 -2
- package/context-menu/README.md +366 -5
- package/date-picker/README.md +465 -2
- package/date-picker/fesm2022/date-picker.mjs +2 -2
- package/dialog/README.md +448 -2
- package/drawer/README.md +395 -5
- package/dropdown-menu/README.md +417 -5
- package/empty/README.md +329 -5
- package/field/README.md +385 -5
- package/form-checkbox/README.md +312 -2
- package/form-date-picker/README.md +322 -2
- package/form-field/README.md +356 -2
- package/form-field-simple/README.md +340 -2
- package/form-searchable-multiselect/README.md +361 -2
- package/form-select/README.md +350 -2
- package/form-text-input/README.md +371 -2
- package/form-textarea/README.md +347 -2
- package/hover-card/README.md +256 -5
- package/icon/README.md +239 -2
- package/input/README.md +269 -2
- package/input-group/README.md +335 -5
- package/input-group/fesm2022/input-group.mjs +3 -3
- package/input-otp/README.md +375 -5
- package/item/README.md +385 -5
- package/item/fesm2022/item.mjs +3 -3
- package/kbd/README.md +291 -5
- package/label/README.md +272 -2
- package/layout-simple/README.md +193 -2
- package/layout-simple/fesm2022/layout-simple.mjs +877 -409
- package/layout-simple/types/layout-simple.d.ts +174 -137
- package/menu/README.md +417 -2
- package/menubar/README.md +343 -5
- package/native-select/README.md +323 -5
- package/navigation-menu/README.md +369 -5
- package/package.json +1 -1
- package/pagination/README.md +388 -5
- package/popover/README.md +331 -2
- package/progress/README.md +311 -5
- package/radio-group/README.md +364 -2
- package/radio-group/fesm2022/radio-group.mjs +5 -1
- package/resizable/README.md +269 -5
- package/scroll-area/README.md +233 -5
- package/searchable-multiselect/README.md +323 -2
- package/select/README.md +437 -2
- package/separator/README.md +222 -2
- package/sheet/README.md +311 -2
- package/sidebar/README.md +457 -5
- package/skeleton/README.md +217 -5
- package/slider/README.md +273 -5
- package/slider/fesm2022/slider.mjs +17 -13
- package/sonner/README.md +346 -2
- package/spinner/README.md +284 -2
- package/switch/README.md +310 -2
- package/table/README.md +423 -5
- package/tabs/README.md +411 -2
- package/tabs/fesm2022/tabs.mjs +12 -2
- package/textarea/README.md +282 -5
- package/toggle/README.md +270 -5
- package/toggle-group/README.md +340 -5
- package/tooltip/README.md +269 -2
- package/typography/README.md +271 -5
- package/utils/README.md +303 -2
|
@@ -1,167 +1,204 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { TemplateRef } from '@angular/core';
|
|
3
|
-
import { BreakpointObserver } from '@angular/cdk/layout';
|
|
2
|
+
import { TemplateRef, ElementRef } from '@angular/core';
|
|
4
3
|
import { ClassValue } from 'clsx';
|
|
5
4
|
import { hlm } from '@egose/shadcn-theme-ng-tw/utils';
|
|
6
5
|
import { BrnSheet } from '@spartan-ng/brain/sheet';
|
|
7
6
|
|
|
8
|
-
|
|
7
|
+
/** Navigation destination or action shared by the header, mobile menu, and footer. */
|
|
8
|
+
interface MenuItem {
|
|
9
9
|
label: string;
|
|
10
|
+
/** Supporting text displayed in fly-out cards. */
|
|
11
|
+
description?: string;
|
|
12
|
+
/** SVG data, e.g. `lucideHome` from `@ng-icons/lucide`. */
|
|
10
13
|
icon?: string;
|
|
11
|
-
|
|
14
|
+
/** Internal Angular router URL. A link takes precedence over an action. */
|
|
12
15
|
link?: string;
|
|
16
|
+
action?: () => void;
|
|
17
|
+
/** Exact path matching by default; query parameters and fragments are ignored. */
|
|
18
|
+
activeMatch?: 'exact' | 'prefix';
|
|
19
|
+
disabled?: boolean;
|
|
13
20
|
class?: string;
|
|
14
21
|
}
|
|
22
|
+
interface MenuGroup {
|
|
23
|
+
label?: string;
|
|
24
|
+
items: readonly MenuItem[];
|
|
25
|
+
}
|
|
26
|
+
/** A named navbar disclosure that opens a wide grid of navigation cards. */
|
|
27
|
+
interface FlyoutMenuGroup extends MenuGroup {
|
|
28
|
+
label: string;
|
|
29
|
+
/** Optional introduction shown above the cards. */
|
|
30
|
+
description?: string;
|
|
31
|
+
icon?: string;
|
|
32
|
+
}
|
|
33
|
+
/** Internal matching contract shared by links and dropdown destinations. */
|
|
34
|
+
declare function navigationMatchOptions(item: MenuItem): {
|
|
35
|
+
paths: "exact" | "subset";
|
|
36
|
+
queryParams: "ignored";
|
|
37
|
+
fragment: "ignored";
|
|
38
|
+
matrixParams: "ignored";
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
type UserMenuItem = MenuItem;
|
|
15
42
|
interface UserMenuSection {
|
|
16
43
|
label?: string;
|
|
17
44
|
separator?: boolean;
|
|
18
|
-
items?: UserMenuItem[];
|
|
45
|
+
items?: readonly UserMenuItem[];
|
|
19
46
|
}
|
|
20
47
|
declare class EgLayoutSimpleUserMenu {
|
|
21
|
-
hlm: typeof hlm;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
48
|
+
protected readonly hlm: typeof hlm;
|
|
49
|
+
protected readonly navigationMatchOptions: typeof navigationMatchOptions;
|
|
50
|
+
protected readonly userIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path d=\"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2\"></path><circle cx=\"12\" cy=\"7\" r=\"4\"></circle></svg>";
|
|
51
|
+
readonly sections: _angular_core.InputSignal<readonly UserMenuSection[]>;
|
|
52
|
+
readonly triggerTemplate: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
|
|
53
|
+
readonly triggerLabel: _angular_core.InputSignal<string>;
|
|
25
54
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EgLayoutSimpleUserMenu, never>;
|
|
26
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EgLayoutSimpleUserMenu, "eg-layout-simple-user-menu", never, { "
|
|
55
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EgLayoutSimpleUserMenu, "eg-layout-simple-user-menu", never, { "sections": { "alias": "sections"; "required": false; "isSignal": true; }; "triggerTemplate": { "alias": "triggerTemplate"; "required": false; "isSignal": true; }; "triggerLabel": { "alias": "triggerLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
27
56
|
}
|
|
28
57
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
58
|
+
/** Called when search opens and after the query changes. Return already-filtered results. */
|
|
59
|
+
type LayoutSearchLoader<TItem> = (params: {
|
|
60
|
+
search: string;
|
|
61
|
+
}) => Promise<readonly TItem[]>;
|
|
62
|
+
interface LayoutSearchResultContext<TItem> {
|
|
63
|
+
$implicit: TItem;
|
|
64
|
+
}
|
|
65
|
+
/** Async page search with debouncing, stale-response protection, and keyboard navigation. */
|
|
66
|
+
declare class EgLayoutSearch<TItem = unknown> {
|
|
67
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
68
|
+
readonly emptyText: _angular_core.InputSignal<string>;
|
|
69
|
+
readonly errorText: _angular_core.InputSignal<string>;
|
|
70
|
+
readonly loadingText: _angular_core.InputSignal<string>;
|
|
71
|
+
readonly retryText: _angular_core.InputSignal<string>;
|
|
72
|
+
readonly loader: _angular_core.InputSignal<LayoutSearchLoader<TItem> | undefined>;
|
|
73
|
+
readonly resultLabel: _angular_core.InputSignal<((item: TItem) => string) | undefined>;
|
|
74
|
+
readonly resultTemplate: _angular_core.InputSignal<TemplateRef<LayoutSearchResultContext<TItem>> | undefined>;
|
|
75
|
+
readonly resultSelected: _angular_core.OutputEmitterRef<TItem>;
|
|
76
|
+
protected readonly searchIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path d=\"m21 21-4.34-4.34\"></path><circle cx=\"11\" cy=\"11\" r=\"8\"></circle></svg>";
|
|
77
|
+
protected readonly query: _angular_core.WritableSignal<string>;
|
|
78
|
+
protected readonly results: _angular_core.WritableSignal<readonly TItem[]>;
|
|
79
|
+
protected readonly isOpen: _angular_core.WritableSignal<boolean>;
|
|
80
|
+
protected readonly isLoading: _angular_core.WritableSignal<boolean>;
|
|
81
|
+
protected readonly hasError: _angular_core.WritableSignal<boolean>;
|
|
82
|
+
private readonly retryVersion;
|
|
83
|
+
private readonly searchInput;
|
|
84
|
+
private readonly resultButtons;
|
|
35
85
|
constructor();
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
86
|
+
protected labelFor(item: TItem): string;
|
|
87
|
+
protected setOpen(open: boolean): void;
|
|
88
|
+
protected retry(): void;
|
|
89
|
+
protected selectResult(item: TItem): void;
|
|
90
|
+
protected focusResult(index: number, event: Event): void;
|
|
91
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EgLayoutSearch<any>, never>;
|
|
92
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EgLayoutSearch<any>, "eg-layout-search", never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "errorText": { "alias": "errorText"; "required": false; "isSignal": true; }; "loadingText": { "alias": "loadingText"; "required": false; "isSignal": true; }; "retryText": { "alias": "retryText"; "required": false; "isSignal": true; }; "loader": { "alias": "loader"; "required": false; "isSignal": true; }; "resultLabel": { "alias": "resultLabel"; "required": false; "isSignal": true; }; "resultTemplate": { "alias": "resultTemplate"; "required": false; "isSignal": true; }; }, { "resultSelected": "resultSelected"; }, never, never, true, never>;
|
|
40
93
|
}
|
|
41
94
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
95
|
+
declare class EgLayoutSimpleSidebar {
|
|
96
|
+
readonly sheet: _angular_core.Signal<BrnSheet | undefined>;
|
|
97
|
+
readonly panelId: _angular_core.InputSignal<string>;
|
|
98
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
99
|
+
readonly content: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
|
|
100
|
+
readonly contentContext: _angular_core.InputSignal<object | null>;
|
|
101
|
+
open(): void;
|
|
102
|
+
close(): void;
|
|
103
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EgLayoutSimpleSidebar, never>;
|
|
104
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EgLayoutSimpleSidebar, "eg-layout-simple-sidebar", never, { "panelId": { "alias": "panelId"; "required": true; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; "contentContext": { "alias": "contentContext"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
52
105
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
* mobile menu trigger replaces all desktop navigation rows. CSS (`tw:hidden tw:md:flex`)
|
|
56
|
-
* and runtime rendering both derive from this one boundary.
|
|
57
|
-
*/
|
|
106
|
+
|
|
107
|
+
/** Matches Tailwind's default `md` breakpoint. */
|
|
58
108
|
declare const EG_LAYOUT_SIMPLE_MOBILE_BREAKPOINT = "(max-width: 767.98px)";
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}> {
|
|
62
|
-
private breakpointObserver;
|
|
109
|
+
/** Responsive application shell. All navigation surfaces share the same item model. */
|
|
110
|
+
declare class EgLayoutSimple<TItem = unknown> {
|
|
63
111
|
private readonly destroyRef;
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
readonly
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
112
|
+
private readonly breakpointObserver;
|
|
113
|
+
private readonly router;
|
|
114
|
+
private readonly instanceId;
|
|
115
|
+
protected readonly mainId: string;
|
|
116
|
+
protected readonly mobileMenuId: string;
|
|
117
|
+
protected readonly sidebarId: string;
|
|
118
|
+
protected readonly hlm: typeof hlm;
|
|
119
|
+
protected readonly navigationMatchOptions: typeof navigationMatchOptions;
|
|
120
|
+
protected readonly menuIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path d=\"M4 5h16\"></path><path d=\"M4 12h16\"></path><path d=\"M4 19h16\"></path></svg>";
|
|
121
|
+
protected readonly sidebarIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><rect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\"></rect><path d=\"M9 3v18\"></path></svg>";
|
|
122
|
+
protected readonly closeIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path d=\"M18 6 6 18\"></path><path d=\"m6 6 12 12\"></path></svg>";
|
|
123
|
+
protected readonly chevronIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path d=\"m6 9 6 6 6-6\"></path></svg>";
|
|
124
|
+
protected readonly mobileMenuTrigger: _angular_core.Signal<ElementRef<HTMLButtonElement> | undefined>;
|
|
125
|
+
protected readonly mainContent: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
|
|
126
|
+
protected readonly sidebar: _angular_core.Signal<EgLayoutSimpleSidebar | undefined>;
|
|
127
|
+
readonly sidebarEnabled: _angular_core.InputSignal<boolean>;
|
|
128
|
+
readonly sidebarTitle: _angular_core.InputSignal<string>;
|
|
129
|
+
readonly sidebarContent: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
|
|
130
|
+
readonly sidebarToggleLabel: _angular_core.InputSignal<string>;
|
|
131
|
+
readonly mobileMenuLabel: _angular_core.InputSignal<string>;
|
|
132
|
+
readonly mobileMenuCloseLabel: _angular_core.InputSignal<string>;
|
|
133
|
+
readonly userMenuTrigger: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
|
|
134
|
+
readonly userMenuLabel: _angular_core.InputSignal<string>;
|
|
135
|
+
/** Main header destinations; use `activeMatch: 'prefix'` for whole sections. */
|
|
136
|
+
readonly primaryNavigation: _angular_core.InputSignal<readonly MenuItem[]>;
|
|
137
|
+
readonly navigationGroups: _angular_core.InputSignal<readonly MenuGroup[]>;
|
|
138
|
+
readonly utilityNavigation: _angular_core.InputSignal<readonly MenuItem[]>;
|
|
139
|
+
readonly sectionNavigation: _angular_core.InputSignal<readonly MenuItem[]>;
|
|
140
|
+
readonly secondaryNavigationGroups: _angular_core.InputSignal<readonly MenuGroup[]>;
|
|
141
|
+
/** Category navbar with wide card panels; mobile renders expandable groups. */
|
|
142
|
+
readonly flyoutNavigationGroups: _angular_core.InputSignal<readonly FlyoutMenuGroup[]>;
|
|
143
|
+
readonly flyoutNavigationLabel: _angular_core.InputSignal<string>;
|
|
144
|
+
readonly flyoutCloseLabel: _angular_core.InputSignal<string>;
|
|
145
|
+
readonly userMenuSections: _angular_core.InputSignal<readonly UserMenuSection[]>;
|
|
146
|
+
/** Optional image. Without it, the brand name is shown instead of a broken image. */
|
|
147
|
+
readonly logo: _angular_core.InputSignal<string>;
|
|
148
|
+
readonly brandName: _angular_core.InputSignal<string>;
|
|
149
|
+
readonly logoLink: _angular_core.InputSignal<string>;
|
|
150
|
+
readonly logoClass: _angular_core.InputSignal<ClassValue>;
|
|
151
|
+
/** Disable for a shell preview embedded inside another page. */
|
|
152
|
+
readonly fullHeight: _angular_core.InputSignal<boolean>;
|
|
153
|
+
readonly headerClass: _angular_core.InputSignal<ClassValue>;
|
|
154
|
+
readonly contentClass: _angular_core.InputSignal<ClassValue>;
|
|
155
|
+
readonly primaryNavigationClass: _angular_core.InputSignal<ClassValue>;
|
|
156
|
+
readonly utilityNavigationClass: _angular_core.InputSignal<ClassValue>;
|
|
157
|
+
readonly sectionNavigationClass: _angular_core.InputSignal<ClassValue>;
|
|
158
|
+
readonly secondaryNavigationClass: _angular_core.InputSignal<ClassValue>;
|
|
159
|
+
readonly flyoutNavigationClass: _angular_core.InputSignal<ClassValue>;
|
|
160
|
+
readonly flyoutPanelClass: _angular_core.InputSignal<ClassValue>;
|
|
161
|
+
readonly navigationItemClass: _angular_core.InputSignal<ClassValue>;
|
|
162
|
+
readonly loading: _angular_core.InputSignal<boolean>;
|
|
163
|
+
readonly loadingText: _angular_core.InputSignal<string>;
|
|
164
|
+
readonly skipLinkText: _angular_core.InputSignal<string>;
|
|
165
|
+
readonly searchEnabled: _angular_core.InputSignal<boolean>;
|
|
166
|
+
readonly searchPlaceholder: _angular_core.InputSignal<string>;
|
|
167
|
+
readonly searchEmptyText: _angular_core.InputSignal<string>;
|
|
168
|
+
readonly searchErrorText: _angular_core.InputSignal<string>;
|
|
169
|
+
readonly searchResultTemplate: _angular_core.InputSignal<TemplateRef<LayoutSearchResultContext<TItem>> | undefined>;
|
|
170
|
+
readonly searchLoader: _angular_core.InputSignal<LayoutSearchLoader<TItem> | undefined>;
|
|
171
|
+
readonly searchResultLabel: _angular_core.InputSignal<((item: TItem) => string) | undefined>;
|
|
172
|
+
readonly searchResultSelected: _angular_core.OutputEmitterRef<TItem>;
|
|
173
|
+
readonly footerEnabled: _angular_core.InputSignal<boolean>;
|
|
174
|
+
readonly footerNavigation: _angular_core.InputSignal<readonly MenuItem[]>;
|
|
175
|
+
readonly footerText: _angular_core.InputSignal<string>;
|
|
176
|
+
readonly footerClass: _angular_core.InputSignal<ClassValue>;
|
|
177
|
+
protected readonly logoClasses: _angular_core.Signal<string>;
|
|
178
|
+
protected readonly headerClasses: _angular_core.Signal<string>;
|
|
179
|
+
protected readonly contentClasses: _angular_core.Signal<string>;
|
|
180
|
+
protected readonly primaryNavigationClasses: _angular_core.Signal<string>;
|
|
181
|
+
protected readonly utilityNavigationClasses: _angular_core.Signal<string>;
|
|
182
|
+
protected readonly sectionNavigationClasses: _angular_core.Signal<string>;
|
|
183
|
+
protected readonly secondaryNavigationClasses: _angular_core.Signal<string>;
|
|
184
|
+
protected readonly footerClasses: _angular_core.Signal<string>;
|
|
185
|
+
protected readonly iconButtonClasses = "tw:inline-flex tw:size-11 tw:shrink-0 tw:items-center tw:justify-center tw:rounded-lg tw:border tw:border-border tw:bg-background tw:text-foreground tw:cursor-pointer tw:hover:bg-foreground/5 tw:focus-visible:outline-2 tw:focus-visible:outline-offset-2 tw:focus-visible:outline-ring";
|
|
127
186
|
protected readonly mobileMenuOpen: _angular_core.WritableSignal<boolean>;
|
|
128
|
-
isMobile: _angular_core.WritableSignal<boolean>;
|
|
129
|
-
/** Expanded state of the sidebar sheet, kept in sync with BrnSheet state changes. */
|
|
187
|
+
protected readonly isMobile: _angular_core.WritableSignal<boolean>;
|
|
130
188
|
protected readonly sidebarOpen: _angular_core.WritableSignal<boolean>;
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
189
|
+
protected readonly sidebarContext: {
|
|
190
|
+
close: () => void;
|
|
191
|
+
};
|
|
192
|
+
constructor();
|
|
193
|
+
protected toggleMobileMenu(): void;
|
|
194
|
+
protected closeMobileMenu(restoreFocus?: boolean): void;
|
|
195
|
+
protected selectSearchResult(item: TItem): void;
|
|
196
|
+
protected focusContent(event: Event): void;
|
|
136
197
|
openSidebar(): void;
|
|
137
198
|
closeSidebar(): void;
|
|
138
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EgLayoutSimple<any
|
|
139
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EgLayoutSimple<any
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
interface AutocompleteOption<T = unknown> {
|
|
143
|
-
label: string;
|
|
144
|
-
value: T;
|
|
145
|
-
raw?: T;
|
|
146
|
-
}
|
|
147
|
-
declare class EgGenericAutocomplete<TItem, TParams extends object = {
|
|
148
|
-
search: string;
|
|
149
|
-
}> {
|
|
150
|
-
placeholderText: _angular_core.InputSignal<string>;
|
|
151
|
-
emptyText: _angular_core.InputSignal<string>;
|
|
152
|
-
/** Loader function: takes search string, returns options. */
|
|
153
|
-
loaderFn: _angular_core.InputSignal<((params: TParams) => Promise<TItem[]>) | undefined>;
|
|
154
|
-
transformValueToSearch: _angular_core.InputSignal<((value: TItem) => string) | undefined>;
|
|
155
|
-
readonly search: _angular_core.WritableSignal<string>;
|
|
156
|
-
readonly options: _angular_core.WritableSignal<TItem[]>;
|
|
157
|
-
protected readonly filtered: _angular_core.Signal<AutocompleteOption<TItem>[]>;
|
|
158
|
-
readonly optionChange: _angular_core.OutputEmitterRef<TItem>;
|
|
159
|
-
constructor();
|
|
160
|
-
private loadOptions;
|
|
161
|
-
select(opt: AutocompleteOption<TItem>): void;
|
|
162
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EgGenericAutocomplete<any, any>, never>;
|
|
163
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EgGenericAutocomplete<any, any>, "eg-generic-autocomplete", never, { "placeholderText": { "alias": "placeholderText"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "loaderFn": { "alias": "loaderFn"; "required": false; "isSignal": true; }; "transformValueToSearch": { "alias": "transformValueToSearch"; "required": false; "isSignal": true; }; }, { "optionChange": "optionChange"; }, never, never, true, never>;
|
|
199
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EgLayoutSimple<any>, never>;
|
|
200
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EgLayoutSimple<any>, "eg-layout-simple", never, { "sidebarEnabled": { "alias": "sidebarEnabled"; "required": false; "isSignal": true; }; "sidebarTitle": { "alias": "sidebarTitle"; "required": false; "isSignal": true; }; "sidebarContent": { "alias": "sidebarContent"; "required": false; "isSignal": true; }; "sidebarToggleLabel": { "alias": "sidebarToggleLabel"; "required": false; "isSignal": true; }; "mobileMenuLabel": { "alias": "mobileMenuLabel"; "required": false; "isSignal": true; }; "mobileMenuCloseLabel": { "alias": "mobileMenuCloseLabel"; "required": false; "isSignal": true; }; "userMenuTrigger": { "alias": "userMenuTrigger"; "required": false; "isSignal": true; }; "userMenuLabel": { "alias": "userMenuLabel"; "required": false; "isSignal": true; }; "primaryNavigation": { "alias": "primaryNavigation"; "required": false; "isSignal": true; }; "navigationGroups": { "alias": "navigationGroups"; "required": false; "isSignal": true; }; "utilityNavigation": { "alias": "utilityNavigation"; "required": false; "isSignal": true; }; "sectionNavigation": { "alias": "sectionNavigation"; "required": false; "isSignal": true; }; "secondaryNavigationGroups": { "alias": "secondaryNavigationGroups"; "required": false; "isSignal": true; }; "flyoutNavigationGroups": { "alias": "flyoutNavigationGroups"; "required": false; "isSignal": true; }; "flyoutNavigationLabel": { "alias": "flyoutNavigationLabel"; "required": false; "isSignal": true; }; "flyoutCloseLabel": { "alias": "flyoutCloseLabel"; "required": false; "isSignal": true; }; "userMenuSections": { "alias": "userMenuSections"; "required": false; "isSignal": true; }; "logo": { "alias": "logo"; "required": false; "isSignal": true; }; "brandName": { "alias": "brandName"; "required": false; "isSignal": true; }; "logoLink": { "alias": "logoLink"; "required": false; "isSignal": true; }; "logoClass": { "alias": "logoClass"; "required": false; "isSignal": true; }; "fullHeight": { "alias": "fullHeight"; "required": false; "isSignal": true; }; "headerClass": { "alias": "headerClass"; "required": false; "isSignal": true; }; "contentClass": { "alias": "contentClass"; "required": false; "isSignal": true; }; "primaryNavigationClass": { "alias": "primaryNavigationClass"; "required": false; "isSignal": true; }; "utilityNavigationClass": { "alias": "utilityNavigationClass"; "required": false; "isSignal": true; }; "sectionNavigationClass": { "alias": "sectionNavigationClass"; "required": false; "isSignal": true; }; "secondaryNavigationClass": { "alias": "secondaryNavigationClass"; "required": false; "isSignal": true; }; "flyoutNavigationClass": { "alias": "flyoutNavigationClass"; "required": false; "isSignal": true; }; "flyoutPanelClass": { "alias": "flyoutPanelClass"; "required": false; "isSignal": true; }; "navigationItemClass": { "alias": "navigationItemClass"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingText": { "alias": "loadingText"; "required": false; "isSignal": true; }; "skipLinkText": { "alias": "skipLinkText"; "required": false; "isSignal": true; }; "searchEnabled": { "alias": "searchEnabled"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "searchEmptyText": { "alias": "searchEmptyText"; "required": false; "isSignal": true; }; "searchErrorText": { "alias": "searchErrorText"; "required": false; "isSignal": true; }; "searchResultTemplate": { "alias": "searchResultTemplate"; "required": false; "isSignal": true; }; "searchLoader": { "alias": "searchLoader"; "required": false; "isSignal": true; }; "searchResultLabel": { "alias": "searchResultLabel"; "required": false; "isSignal": true; }; "footerEnabled": { "alias": "footerEnabled"; "required": false; "isSignal": true; }; "footerNavigation": { "alias": "footerNavigation"; "required": false; "isSignal": true; }; "footerText": { "alias": "footerText"; "required": false; "isSignal": true; }; "footerClass": { "alias": "footerClass"; "required": false; "isSignal": true; }; }, { "searchResultSelected": "searchResultSelected"; }, never, ["*"], true, never>;
|
|
164
201
|
}
|
|
165
202
|
|
|
166
|
-
export { EG_LAYOUT_SIMPLE_MOBILE_BREAKPOINT,
|
|
167
|
-
export type {
|
|
203
|
+
export { EG_LAYOUT_SIMPLE_MOBILE_BREAKPOINT, EgLayoutSearch, EgLayoutSimple, EgLayoutSimpleUserMenu };
|
|
204
|
+
export type { FlyoutMenuGroup, LayoutSearchLoader, LayoutSearchResultContext, MenuGroup, MenuItem, UserMenuItem, UserMenuSection };
|