@underlayerdev/ui 0.3.0 → 0.4.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/package.json
CHANGED
|
@@ -462,23 +462,46 @@ declare class DockComponent {
|
|
|
462
462
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DockComponent, "ul-dock", never, {}, {}, never, ["*"], true, never>;
|
|
463
463
|
}
|
|
464
464
|
|
|
465
|
+
/** Place on the element projected into [ul-dock-item-content] so the dock item renders custom content instead of its default icon+label. */
|
|
466
|
+
declare class DockItemContentSlotDirective {
|
|
467
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DockItemContentSlotDirective, never>;
|
|
468
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DockItemContentSlotDirective, "[ul-dock-item-content]", never, {}, {}, never, never, true, never>;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
/** Pre-built visual treatments for a dock item. 'accent' raises/highlights the item (e.g. a primary action tab like "New"). */
|
|
472
|
+
type DockItemVariant = 'default' | 'accent';
|
|
465
473
|
/**
|
|
466
474
|
* A single tab in a `ul-dock`. Renders an icon above a label and tints both
|
|
467
475
|
* when `active`. Attach `routerLink`/`routerLinkActive` (or any other
|
|
468
|
-
* directive) directly on `ul-dock-item` for navigation
|
|
469
|
-
*
|
|
470
|
-
* data-driven via
|
|
476
|
+
* directive) directly on `ul-dock-item` for navigation.
|
|
477
|
+
*
|
|
478
|
+
* For the common case, content is data-driven via `icon`/`label`. To fully
|
|
479
|
+
* customize an item's content (e.g. a differently laid-out icon+label pair),
|
|
480
|
+
* project it with `[ul-dock-item-content]` — this replaces the default
|
|
481
|
+
* icon/label rendering entirely. `badge` and `variant` apply regardless of
|
|
482
|
+
* which content path is used.
|
|
471
483
|
*
|
|
472
484
|
* @example
|
|
473
|
-
* <ul-dock-item icon="home" label="Home"
|
|
485
|
+
* <ul-dock-item icon="home" label="Home" routerLink="/home" routerLinkActive="ul-dock-item--active" />
|
|
486
|
+
* <ul-dock-item icon="bell_on" badge="3" routerLink="/notifications" />
|
|
487
|
+
* <ul-dock-item variant="accent" routerLink="/listings/new">
|
|
488
|
+
* <span ul-dock-item-content>
|
|
489
|
+
* <ul-icon icon="plus" size="6" />
|
|
490
|
+
* <span class="ul-dock-item__label">New</span>
|
|
491
|
+
* </span>
|
|
492
|
+
* </ul-dock-item>
|
|
474
493
|
*/
|
|
475
494
|
declare class DockItemComponent {
|
|
476
|
-
icon: _angular_core.InputSignal<string>;
|
|
495
|
+
icon: _angular_core.InputSignal<string | undefined>;
|
|
477
496
|
label: _angular_core.InputSignal<string>;
|
|
478
497
|
active: _angular_core.InputSignal<boolean>;
|
|
479
498
|
disabled: _angular_core.InputSignal<boolean>;
|
|
499
|
+
badge: _angular_core.InputSignal<string | number | undefined>;
|
|
500
|
+
variant: _angular_core.InputSignal<DockItemVariant>;
|
|
501
|
+
readonly contentSlot: _angular_core.Signal<DockItemContentSlotDirective | undefined>;
|
|
502
|
+
readonly hasContentSlot: _angular_core.Signal<boolean>;
|
|
480
503
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DockItemComponent, never>;
|
|
481
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DockItemComponent, "ul-dock-item", never, { "icon": { "alias": "icon"; "required":
|
|
504
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DockItemComponent, "ul-dock-item", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, ["contentSlot"], ["[ul-dock-item-content]"], true, never>;
|
|
482
505
|
}
|
|
483
506
|
|
|
484
507
|
type ListItemTheme = 'ghost-white' | 'transparent-white' | 'outline-white' | 'outline-purple';
|
|
@@ -949,7 +972,7 @@ declare class NavbarAppNameSlotDirective {
|
|
|
949
972
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NavbarAppNameSlotDirective, "[ul-navbar-app-name]", never, {}, {}, never, never, true, never>;
|
|
950
973
|
}
|
|
951
974
|
|
|
952
|
-
/** 'full' shows the sidebar toggle, search, and avatar; 'minimal' shows only the logo — for auth pages and other chromeless flows. */
|
|
975
|
+
/** 'full' shows the sidebar toggle, search, and avatar; 'minimal' shows only the logo — for auth pages and other chromeless flows. See also `searchCollapsible` for whether the search slot collapses to an icon-toggle on mobile. */
|
|
953
976
|
type NavbarVariant = 'full' | 'minimal';
|
|
954
977
|
declare class NavbarComponent {
|
|
955
978
|
/** 'full' (default) shows the sidebar toggle, search, and avatar; 'minimal' shows only the logo. */
|
|
@@ -970,6 +993,8 @@ declare class NavbarComponent {
|
|
|
970
993
|
sidebarOpen: _angular_core.InputSignal<boolean>;
|
|
971
994
|
/** When true, show the sidebar toggle button even when a logo slot is projected. */
|
|
972
995
|
showSidebarToggle: _angular_core.InputSignal<boolean>;
|
|
996
|
+
/** When false, the projected search slot is always rendered expanded (no icon-toggle collapse on mobile) — use for apps that want search visible and full-width at every viewport. */
|
|
997
|
+
searchCollapsible: _angular_core.InputSignal<boolean>;
|
|
973
998
|
/** Emitted when the user clicks the sidebar toggle. Parent should flip the open state. */
|
|
974
999
|
sidebarToggle: _angular_core.OutputEmitterRef<void>;
|
|
975
1000
|
readonly logoSlot: _angular_core.Signal<NavbarLogoSlotDirective | undefined>;
|
|
@@ -979,6 +1004,7 @@ declare class NavbarComponent {
|
|
|
979
1004
|
readonly isMinimal: _angular_core.Signal<boolean>;
|
|
980
1005
|
readonly hasLogoSlot: _angular_core.Signal<boolean>;
|
|
981
1006
|
readonly hasSearchSlot: _angular_core.Signal<boolean>;
|
|
1007
|
+
readonly showSearchToggle: _angular_core.Signal<boolean>;
|
|
982
1008
|
readonly hasAvatarSlot: _angular_core.Signal<boolean>;
|
|
983
1009
|
readonly hasAppNameSlot: _angular_core.Signal<boolean>;
|
|
984
1010
|
readonly showToggle: _angular_core.Signal<boolean>;
|
|
@@ -986,7 +1012,7 @@ declare class NavbarComponent {
|
|
|
986
1012
|
toggleSearch(): void;
|
|
987
1013
|
toggleSidebar(): void;
|
|
988
1014
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavbarComponent, never>;
|
|
989
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavbarComponent, "ul-navbar", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "logoHref": { "alias": "logoHref"; "required": false; "isSignal": true; }; "logoSrc": { "alias": "logoSrc"; "required": false; "isSignal": true; }; "logoAlt": { "alias": "logoAlt"; "required": false; "isSignal": true; }; "avatarSrc": { "alias": "avatarSrc"; "required": false; "isSignal": true; }; "avatarInitials": { "alias": "avatarInitials"; "required": false; "isSignal": true; }; "avatarAlt": { "alias": "avatarAlt"; "required": false; "isSignal": true; }; "sidebarOpen": { "alias": "sidebarOpen"; "required": false; "isSignal": true; }; "showSidebarToggle": { "alias": "showSidebarToggle"; "required": false; "isSignal": true; }; }, { "sidebarToggle": "sidebarToggle"; }, ["logoSlot", "searchSlot", "avatarSlot", "appNameSlot"], ["[ul-navbar-logo]", "[ul-navbar-app-name]", "[ul-navbar-search]", "[ul-navbar-avatar]"], true, never>;
|
|
1015
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavbarComponent, "ul-navbar", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "logoHref": { "alias": "logoHref"; "required": false; "isSignal": true; }; "logoSrc": { "alias": "logoSrc"; "required": false; "isSignal": true; }; "logoAlt": { "alias": "logoAlt"; "required": false; "isSignal": true; }; "avatarSrc": { "alias": "avatarSrc"; "required": false; "isSignal": true; }; "avatarInitials": { "alias": "avatarInitials"; "required": false; "isSignal": true; }; "avatarAlt": { "alias": "avatarAlt"; "required": false; "isSignal": true; }; "sidebarOpen": { "alias": "sidebarOpen"; "required": false; "isSignal": true; }; "showSidebarToggle": { "alias": "showSidebarToggle"; "required": false; "isSignal": true; }; "searchCollapsible": { "alias": "searchCollapsible"; "required": false; "isSignal": true; }; }, { "sidebarToggle": "sidebarToggle"; }, ["logoSlot", "searchSlot", "avatarSlot", "appNameSlot"], ["[ul-navbar-logo]", "[ul-navbar-app-name]", "[ul-navbar-search]", "[ul-navbar-avatar]"], true, never>;
|
|
990
1016
|
}
|
|
991
1017
|
|
|
992
1018
|
type PillSize = 'md' | 'lg';
|
|
@@ -1544,5 +1570,5 @@ declare class TextareaComponent implements FormValueControl<string> {
|
|
|
1544
1570
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TextareaComponent, "ul-textarea", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "errorText": { "alias": "errorText"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "resize": { "alias": "resize"; "required": false; "isSignal": true; }; "groupFocused": { "alias": "groupFocused"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "touched": "touchedChange"; "value": "valueChange"; "inputBlur": "inputBlur"; "inputFocus": "inputFocus"; }, ["customField"], ["[ul-textarea-left-elements]", "[ul-textarea-field]", "[ul-textarea-right-elements]"], true, never>;
|
|
1545
1571
|
}
|
|
1546
1572
|
|
|
1547
|
-
export { AccordionComponent, AccordionItemComponent, AreaCodeComponent, AvatarComponent, AvatarGroupComponent, BreadcrumbComponent, ButtonComponent, CalendarComponent, CardComponent, CarouselComponent, CarouselItemComponent, CheckboxComponent, CollapseComponent, CustomCurrencyPipe, DockComponent, DockItemComponent, DropdownComponent, FileInputComponent, FooterComponent, FormFieldHelperComponent, FormFieldLabelComponent, HeroComponent, IconComponent, ImageNotFoundDirective, InputComponent, ListItemComponent, ModalComponent, NavbarAppNameSlotDirective, NavbarAvatarSlotDirective, NavbarComponent, NavbarLogoSlotDirective, NavbarSearchSlotDirective, PeHeroActionsSlotDirective, PeHeroBadgesSlotDirective, PeHeroContentSlotDirective, PeHeroSubtitleSlotDirective, PeHeroTitleSlotDirective, PillComponent, PriceButtonComponent, RadialComponent, RadioComponent, RadioGroupComponent, RichTextComponent, SearchSelectComponent, SelectComponent, SidebarComponent, SkeletonComponent, StatusComponent, TableComponent, TextareaComponent, TextareaFieldDirective, ToastContainerComponent, ToastService, TooltipComponent, createFormFieldIds, getFormFieldDescribedBy, toastIcon };
|
|
1548
|
-
export type { ActionsDistribution, AvatarData, BreadcrumbItem, BreadcrumbSeparator, CalendarDay, CalendarMode, CardCaptionSize, CardDirection, CheckboxZoneType, CollapseVariant, Currency, DropdownItem, FileInputAppearance, HeroAction, HeroAlignment, HeroSize, IconName, IconSize, IconWeight, InputAppearance, InputType, ListItemTheme, MediaAspectRatio, ModalVariant, PillSize, PillTheme, PillVariant, RadioGroupOption, RichTextSize, RichTextTone, SalePosition, SearchSelectOption, SelectOption, SidebarItem, SkeletonBorderRadius, SkeletonVariant, SortDirection, Status, TableColumn, TextareaResize, TimeSelection, ToastConfig, ToastKind, ToastWithRole, TooltipPosition };
|
|
1573
|
+
export { AccordionComponent, AccordionItemComponent, AreaCodeComponent, AvatarComponent, AvatarGroupComponent, BreadcrumbComponent, ButtonComponent, CalendarComponent, CardComponent, CarouselComponent, CarouselItemComponent, CheckboxComponent, CollapseComponent, CustomCurrencyPipe, DockComponent, DockItemComponent, DockItemContentSlotDirective, DropdownComponent, FileInputComponent, FooterComponent, FormFieldHelperComponent, FormFieldLabelComponent, HeroComponent, IconComponent, ImageNotFoundDirective, InputComponent, ListItemComponent, ModalComponent, NavbarAppNameSlotDirective, NavbarAvatarSlotDirective, NavbarComponent, NavbarLogoSlotDirective, NavbarSearchSlotDirective, PeHeroActionsSlotDirective, PeHeroBadgesSlotDirective, PeHeroContentSlotDirective, PeHeroSubtitleSlotDirective, PeHeroTitleSlotDirective, PillComponent, PriceButtonComponent, RadialComponent, RadioComponent, RadioGroupComponent, RichTextComponent, SearchSelectComponent, SelectComponent, SidebarComponent, SkeletonComponent, StatusComponent, TableComponent, TextareaComponent, TextareaFieldDirective, ToastContainerComponent, ToastService, TooltipComponent, createFormFieldIds, getFormFieldDescribedBy, toastIcon };
|
|
1574
|
+
export type { ActionsDistribution, AvatarData, BreadcrumbItem, BreadcrumbSeparator, CalendarDay, CalendarMode, CardCaptionSize, CardDirection, CheckboxZoneType, CollapseVariant, Currency, DockItemVariant, DropdownItem, FileInputAppearance, HeroAction, HeroAlignment, HeroSize, IconName, IconSize, IconWeight, InputAppearance, InputType, ListItemTheme, MediaAspectRatio, ModalVariant, PillSize, PillTheme, PillVariant, RadioGroupOption, RichTextSize, RichTextTone, SalePosition, SearchSelectOption, SelectOption, SidebarItem, SkeletonBorderRadius, SkeletonVariant, SortDirection, Status, TableColumn, TextareaResize, TimeSelection, ToastConfig, ToastKind, ToastWithRole, TooltipPosition };
|