@underlayerdev/ui 0.2.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
|
@@ -442,6 +442,68 @@ declare class CollapseComponent implements AfterViewInit {
|
|
|
442
442
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CollapseComponent, "ul-collapse", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": true; "isSignal": true; }; "expandLabel": { "alias": "expandLabel"; "required": false; "isSignal": true; }; "collapseLabel": { "alias": "collapseLabel"; "required": false; "isSignal": true; }; }, { "collapsed": "collapsedChange"; }, never, ["*"], true, never>;
|
|
443
443
|
}
|
|
444
444
|
|
|
445
|
+
/**
|
|
446
|
+
* Mobile-only bottom navigation bar, styled like an app's tab bar
|
|
447
|
+
* (icon-above-label items, one highlighted as active). Hidden above the
|
|
448
|
+
* 'md' breakpoint (1024px) by the component's own CSS — no wrapper class or
|
|
449
|
+
* media query is needed in the consuming app.
|
|
450
|
+
*
|
|
451
|
+
* Project `ul-dock-item`s directly; there is no data-driven `items` input,
|
|
452
|
+
* since each item typically needs its own `routerLink`.
|
|
453
|
+
*
|
|
454
|
+
* @example
|
|
455
|
+
* <ul-dock>
|
|
456
|
+
* <ul-dock-item icon="home" label="Home" routerLink="/home" routerLinkActive="ul-dock-item--active" />
|
|
457
|
+
* <ul-dock-item icon="search" label="Search" routerLink="/search" routerLinkActive="ul-dock-item--active" />
|
|
458
|
+
* </ul-dock>
|
|
459
|
+
*/
|
|
460
|
+
declare class DockComponent {
|
|
461
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DockComponent, never>;
|
|
462
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DockComponent, "ul-dock", never, {}, {}, never, ["*"], true, never>;
|
|
463
|
+
}
|
|
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';
|
|
473
|
+
/**
|
|
474
|
+
* A single tab in a `ul-dock`. Renders an icon above a label and tints both
|
|
475
|
+
* when `active`. Attach `routerLink`/`routerLinkActive` (or any other
|
|
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.
|
|
483
|
+
*
|
|
484
|
+
* @example
|
|
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>
|
|
493
|
+
*/
|
|
494
|
+
declare class DockItemComponent {
|
|
495
|
+
icon: _angular_core.InputSignal<string | undefined>;
|
|
496
|
+
label: _angular_core.InputSignal<string>;
|
|
497
|
+
active: _angular_core.InputSignal<boolean>;
|
|
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>;
|
|
503
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DockItemComponent, never>;
|
|
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>;
|
|
505
|
+
}
|
|
506
|
+
|
|
445
507
|
type ListItemTheme = 'ghost-white' | 'transparent-white' | 'outline-white' | 'outline-purple';
|
|
446
508
|
declare class ListItemComponent {
|
|
447
509
|
checkbox: _angular_core.Signal<CheckboxComponent | undefined>;
|
|
@@ -910,7 +972,7 @@ declare class NavbarAppNameSlotDirective {
|
|
|
910
972
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NavbarAppNameSlotDirective, "[ul-navbar-app-name]", never, {}, {}, never, never, true, never>;
|
|
911
973
|
}
|
|
912
974
|
|
|
913
|
-
/** '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. */
|
|
914
976
|
type NavbarVariant = 'full' | 'minimal';
|
|
915
977
|
declare class NavbarComponent {
|
|
916
978
|
/** 'full' (default) shows the sidebar toggle, search, and avatar; 'minimal' shows only the logo. */
|
|
@@ -931,6 +993,8 @@ declare class NavbarComponent {
|
|
|
931
993
|
sidebarOpen: _angular_core.InputSignal<boolean>;
|
|
932
994
|
/** When true, show the sidebar toggle button even when a logo slot is projected. */
|
|
933
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>;
|
|
934
998
|
/** Emitted when the user clicks the sidebar toggle. Parent should flip the open state. */
|
|
935
999
|
sidebarToggle: _angular_core.OutputEmitterRef<void>;
|
|
936
1000
|
readonly logoSlot: _angular_core.Signal<NavbarLogoSlotDirective | undefined>;
|
|
@@ -940,6 +1004,7 @@ declare class NavbarComponent {
|
|
|
940
1004
|
readonly isMinimal: _angular_core.Signal<boolean>;
|
|
941
1005
|
readonly hasLogoSlot: _angular_core.Signal<boolean>;
|
|
942
1006
|
readonly hasSearchSlot: _angular_core.Signal<boolean>;
|
|
1007
|
+
readonly showSearchToggle: _angular_core.Signal<boolean>;
|
|
943
1008
|
readonly hasAvatarSlot: _angular_core.Signal<boolean>;
|
|
944
1009
|
readonly hasAppNameSlot: _angular_core.Signal<boolean>;
|
|
945
1010
|
readonly showToggle: _angular_core.Signal<boolean>;
|
|
@@ -947,7 +1012,7 @@ declare class NavbarComponent {
|
|
|
947
1012
|
toggleSearch(): void;
|
|
948
1013
|
toggleSidebar(): void;
|
|
949
1014
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavbarComponent, never>;
|
|
950
|
-
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>;
|
|
951
1016
|
}
|
|
952
1017
|
|
|
953
1018
|
type PillSize = 'md' | 'lg';
|
|
@@ -1505,5 +1570,5 @@ declare class TextareaComponent implements FormValueControl<string> {
|
|
|
1505
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>;
|
|
1506
1571
|
}
|
|
1507
1572
|
|
|
1508
|
-
export { AccordionComponent, AccordionItemComponent, AreaCodeComponent, AvatarComponent, AvatarGroupComponent, BreadcrumbComponent, ButtonComponent, CalendarComponent, CardComponent, CarouselComponent, CarouselItemComponent, CheckboxComponent, CollapseComponent, CustomCurrencyPipe, 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 };
|
|
1509
|
-
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 };
|