@underlayerdev/ui 0.0.4 → 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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@underlayerdev/ui",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/cdk": "^22.0.0",
|
|
6
6
|
"@angular/common": "^22.0.0",
|
|
@@ -20,7 +20,8 @@
|
|
|
20
20
|
".": {
|
|
21
21
|
"types": "./types/underlayerdev-ui.d.ts",
|
|
22
22
|
"default": "./fesm2022/underlayerdev-ui.mjs"
|
|
23
|
-
}
|
|
23
|
+
},
|
|
24
|
+
"./design-tokens/*": "./design-tokens/*"
|
|
24
25
|
},
|
|
25
26
|
"type": "module"
|
|
26
|
-
}
|
|
27
|
+
}
|
|
@@ -642,7 +642,6 @@ declare class FileInputComponent implements FormValueControl<FileList | null> {
|
|
|
642
642
|
}
|
|
643
643
|
|
|
644
644
|
declare class FooterComponent {
|
|
645
|
-
copyrightText: _angular_core.InputSignal<string>;
|
|
646
645
|
socialLinks: _angular_core.InputSignal<{
|
|
647
646
|
url: string;
|
|
648
647
|
icon: IconName;
|
|
@@ -651,8 +650,9 @@ declare class FooterComponent {
|
|
|
651
650
|
url: string;
|
|
652
651
|
text: string;
|
|
653
652
|
}[]>;
|
|
653
|
+
navigate(url: string): void;
|
|
654
654
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FooterComponent, never>;
|
|
655
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FooterComponent, "ul-footer", never, { "
|
|
655
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FooterComponent, "ul-footer", never, { "socialLinks": { "alias": "socialLinks"; "required": false; "isSignal": true; }; "links": { "alias": "links"; "required": false; "isSignal": true; }; }, {}, never, ["[ul-copyright]"], true, never>;
|
|
656
656
|
}
|
|
657
657
|
|
|
658
658
|
/** Place on the element projected into [ul-hero-badges] so the hero can detect custom badges content. */
|
|
@@ -804,6 +804,10 @@ declare class InputComponent implements FormValueControl<string> {
|
|
|
804
804
|
readonly autocomplete: _angular_core.InputSignal<string>;
|
|
805
805
|
/** When provided (e.g. by a parent form field), the input element uses this id instead of the internal one. */
|
|
806
806
|
readonly controlId: _angular_core.InputSignal<string | undefined>;
|
|
807
|
+
/** Aria-label for the toggle button when the password is hidden (i.e. the action reveals it). */
|
|
808
|
+
readonly showPasswordLabel: _angular_core.InputSignal<string>;
|
|
809
|
+
/** Aria-label for the toggle button when the password is visible (i.e. the action hides it). */
|
|
810
|
+
readonly hidePasswordLabel: _angular_core.InputSignal<string>;
|
|
807
811
|
/** FormUiControl optional: bound by [formField] when invalid */
|
|
808
812
|
readonly invalid: _angular_core.InputSignal<boolean>;
|
|
809
813
|
/** FormUiControl optional: bound by [formField] for validation errors */
|
|
@@ -821,19 +825,28 @@ declare class InputComponent implements FormValueControl<string> {
|
|
|
821
825
|
protected readonly effectiveErrorId: _angular_core.Signal<string>;
|
|
822
826
|
protected readonly isFocused: _angular_core.WritableSignal<boolean>;
|
|
823
827
|
protected readonly hasError: _angular_core.Signal<boolean>;
|
|
828
|
+
protected readonly isPasswordType: _angular_core.Signal<boolean>;
|
|
829
|
+
protected readonly passwordRevealed: _angular_core.WritableSignal<boolean>;
|
|
830
|
+
protected readonly effectiveType: _angular_core.Signal<InputType>;
|
|
831
|
+
protected readonly passwordToggleIcon: _angular_core.Signal<"eye_on" | "eye_dashed">;
|
|
832
|
+
protected readonly passwordToggleLabel: _angular_core.Signal<string>;
|
|
824
833
|
protected readonly describedBy: _angular_core.Signal<string | undefined>;
|
|
825
834
|
readonly inputBlur: _angular_core.OutputEmitterRef<FocusEvent>;
|
|
826
835
|
readonly inputFocus: _angular_core.OutputEmitterRef<FocusEvent>;
|
|
836
|
+
/** Emitted when Enter is pressed in the field; typically used to submit a form. */
|
|
837
|
+
readonly inputEnter: _angular_core.OutputEmitterRef<KeyboardEvent>;
|
|
827
838
|
onInput(event: Event): void;
|
|
828
839
|
onBlur(event: FocusEvent): void;
|
|
829
840
|
onFocus(event: FocusEvent): void;
|
|
841
|
+
onKeydown(event: KeyboardEvent): void;
|
|
842
|
+
togglePasswordVisibility(): void;
|
|
830
843
|
/**
|
|
831
844
|
* Programmatically focuses the input element
|
|
832
845
|
*/
|
|
833
846
|
focus(): void;
|
|
834
847
|
select(): void;
|
|
835
848
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<InputComponent, never>;
|
|
836
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<InputComponent, "ul-input", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "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; }; "pattern": { "alias": "pattern"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "controlId": { "alias": "controlId"; "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"; }, never, ["[ul-input-left-elements]", "[ul-input-right-elements]"], true, never>;
|
|
849
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<InputComponent, "ul-input", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "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; }; "pattern": { "alias": "pattern"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "controlId": { "alias": "controlId"; "required": false; "isSignal": true; }; "showPasswordLabel": { "alias": "showPasswordLabel"; "required": false; "isSignal": true; }; "hidePasswordLabel": { "alias": "hidePasswordLabel"; "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"; "inputEnter": "inputEnter"; }, never, ["[ul-input-left-elements]", "[ul-input-right-elements]"], true, never>;
|
|
837
850
|
}
|
|
838
851
|
|
|
839
852
|
type ModalVariant = 'default' | 'success' | 'error' | 'custom' | 'bottom-sheet' | 'confirmation';
|
|
@@ -891,8 +904,17 @@ declare class NavbarAvatarSlotDirective {
|
|
|
891
904
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavbarAvatarSlotDirective, never>;
|
|
892
905
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NavbarAvatarSlotDirective, "[ul-navbar-avatar]", never, {}, {}, never, never, true, never>;
|
|
893
906
|
}
|
|
907
|
+
/** Place on the element projected into [ul-navbar-app-name] so the navbar can detect app-name content. Only rendered when a logo slot is not projected (it sits next to the default logo image). */
|
|
908
|
+
declare class NavbarAppNameSlotDirective {
|
|
909
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavbarAppNameSlotDirective, never>;
|
|
910
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NavbarAppNameSlotDirective, "[ul-navbar-app-name]", never, {}, {}, never, never, true, never>;
|
|
911
|
+
}
|
|
894
912
|
|
|
913
|
+
/** 'full' shows the sidebar toggle, search, and avatar; 'minimal' shows only the logo — for auth pages and other chromeless flows. */
|
|
914
|
+
type NavbarVariant = 'full' | 'minimal';
|
|
895
915
|
declare class NavbarComponent {
|
|
916
|
+
/** 'full' (default) shows the sidebar toggle, search, and avatar; 'minimal' shows only the logo. */
|
|
917
|
+
variant: _angular_core.InputSignal<NavbarVariant>;
|
|
896
918
|
/** Default logo link href when logo slot is not projected. */
|
|
897
919
|
logoHref: _angular_core.InputSignal<string>;
|
|
898
920
|
/** Default logo image src when logo slot is not projected. */
|
|
@@ -914,15 +936,18 @@ declare class NavbarComponent {
|
|
|
914
936
|
readonly logoSlot: _angular_core.Signal<NavbarLogoSlotDirective | undefined>;
|
|
915
937
|
readonly searchSlot: _angular_core.Signal<NavbarSearchSlotDirective | undefined>;
|
|
916
938
|
readonly avatarSlot: _angular_core.Signal<NavbarAvatarSlotDirective | undefined>;
|
|
939
|
+
readonly appNameSlot: _angular_core.Signal<NavbarAppNameSlotDirective | undefined>;
|
|
940
|
+
readonly isMinimal: _angular_core.Signal<boolean>;
|
|
917
941
|
readonly hasLogoSlot: _angular_core.Signal<boolean>;
|
|
918
942
|
readonly hasSearchSlot: _angular_core.Signal<boolean>;
|
|
919
943
|
readonly hasAvatarSlot: _angular_core.Signal<boolean>;
|
|
944
|
+
readonly hasAppNameSlot: _angular_core.Signal<boolean>;
|
|
920
945
|
readonly showToggle: _angular_core.Signal<boolean>;
|
|
921
946
|
readonly searchExpanded: _angular_core.WritableSignal<boolean>;
|
|
922
947
|
toggleSearch(): void;
|
|
923
948
|
toggleSidebar(): void;
|
|
924
949
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavbarComponent, never>;
|
|
925
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavbarComponent, "ul-navbar", never, { "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"], ["[ul-navbar-logo]", "[ul-navbar-search]", "[ul-navbar-avatar]"], true, 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>;
|
|
926
951
|
}
|
|
927
952
|
|
|
928
953
|
type PillSize = 'md' | 'lg';
|
|
@@ -1480,5 +1505,5 @@ declare class TextareaComponent implements FormValueControl<string> {
|
|
|
1480
1505
|
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>;
|
|
1481
1506
|
}
|
|
1482
1507
|
|
|
1483
|
-
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, 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 };
|
|
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 };
|
|
1484
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 };
|