@underlayerdev/ui 0.9.2 → 0.9.4

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.9.2",
3
+ "version": "0.9.4",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": "^22.0.0",
6
6
  "@angular/common": "^22.0.0",
@@ -1439,6 +1439,37 @@ declare class ToastContainerComponent {
1439
1439
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ToastContainerComponent, "ul-toast-container", never, {}, {}, never, never, true, never>;
1440
1440
  }
1441
1441
 
1442
+ /**
1443
+ * On/off switch. Implements FormCheckboxControl for Signal Forms [formField],
1444
+ * the switch equivalent of ul-checkbox. Prefer this over ul-checkbox when the
1445
+ * change takes effect immediately (e.g. a setting) rather than being
1446
+ * submitted later with the rest of a form.
1447
+ * Use [(checked)] or [formField]="myForm().notificationsEnabled". No value property.
1448
+ */
1449
+ declare class ToggleComponent implements FormCheckboxControl {
1450
+ readonly checked: _angular_core.ModelSignal<boolean>;
1451
+ readonly disabled: _angular_core.ModelSignal<boolean>;
1452
+ readonly size: _angular_core.InputSignal<UiCheckboxSize>;
1453
+ readonly label: _angular_core.InputSignal<string | null>;
1454
+ readonly helperText: _angular_core.InputSignal<string | null>;
1455
+ readonly error: _angular_core.InputSignal<boolean>;
1456
+ readonly errorText: _angular_core.InputSignal<string | null>;
1457
+ readonly invalid: _angular_core.InputSignal<boolean>;
1458
+ readonly errors: _angular_core.InputSignal<readonly WithOptionalFieldTree<ValidationError>[]>;
1459
+ protected readonly ids: {
1460
+ controlId: string;
1461
+ helperId: string;
1462
+ errorId: string;
1463
+ };
1464
+ protected readonly hasError: _angular_core.Signal<boolean>;
1465
+ protected readonly resolvedErrorText: _angular_core.Signal<string | null>;
1466
+ protected readonly describedBy: _angular_core.Signal<string | undefined>;
1467
+ onChange(event: Event): void;
1468
+ onEnter(event: Event): void;
1469
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ToggleComponent, never>;
1470
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ToggleComponent, "ul-toggle", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "errorText": { "alias": "errorText"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "disabled": "disabledChange"; }, never, ["*"], true, never>;
1471
+ }
1472
+
1442
1473
  type TooltipPosition = 'top' | 'bottom' | 'left' | 'right';
1443
1474
  declare class TooltipComponent {
1444
1475
  text: _angular_core.InputSignal<string>;
@@ -1539,13 +1570,13 @@ declare class SearchInputComponent implements FormValueControl<string> {
1539
1570
  /** Shown once the query is non-empty — e.g. live search results. The consumer computes/fetches these as `value` changes (via `[(value)]`/`valueChange`). */
1540
1571
  readonly results: _angular_core.InputSignal<SearchSuggestion[]>;
1541
1572
  /**
1542
- * Overrides `results` once the query is non-empty, projecting arbitrary
1543
- * content (e.g. rich cards with images/prices) instead of the built-in
1544
- * plain-text rows. `suggestions` (shown while the query is empty) are
1545
- * unaffected and keep rendering as plain `SearchSuggestion` rows regardless.
1546
- * When set, arrow-key/Enter option-highlighting is skipped — Enter always
1547
- * falls through to `searchSubmit` since the projected content owns its own
1548
- * selection interaction.
1573
+ * When set, always projects this arbitrary content (e.g. rich cards with
1574
+ * images/prices) into the panel instead of the built-in plain-text rows —
1575
+ * for both `suggestions` (query empty) and `results` (query non-empty).
1576
+ * The consumer's own template is responsible for varying its content by
1577
+ * query if it needs to. Arrow-key/Enter option-highlighting is skipped
1578
+ * while this is set — Enter always falls through to `searchSubmit` since
1579
+ * the projected content owns its own selection interaction.
1549
1580
  */
1550
1581
  readonly resultsTemplate: _angular_core.InputSignal<TemplateRef<unknown> | null>;
1551
1582
  readonly invalid: _angular_core.InputSignal<boolean>;
@@ -1729,6 +1760,12 @@ declare class SelectableRowComponent {
1729
1760
  * selected) — drives the compact-mode media-for-checkbox swap.
1730
1761
  */
1731
1762
  selectionActive: _angular_core.InputSignal<boolean>;
1763
+ /**
1764
+ * Whether this row supports selection at all. False renders it as a plain
1765
+ * row — no checkbox (hover or compact), no long-press, no click-to-toggle
1766
+ * — for a list that doesn't offer bulk actions right now.
1767
+ */
1768
+ selectable: _angular_core.InputSignal<boolean>;
1732
1769
  /** Accessible label for this row's checkbox(es). */
1733
1770
  ariaLabel: _angular_core.InputSignal<string | null>;
1734
1771
  selectedChange: _angular_core.OutputEmitterRef<boolean>;
@@ -1757,7 +1794,7 @@ declare class SelectableRowComponent {
1757
1794
  */
1758
1795
  onHostClick(event: MouseEvent): void;
1759
1796
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectableRowComponent, never>;
1760
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectableRowComponent, "ul-selectable-row", never, { "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "selectionActive": { "alias": "selectionActive"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "selectedChange": "selectedChange"; "longPress": "longPress"; }, never, ["[ul-selectable-row-media]", "[ul-selectable-row-content]", "*"], true, [{ directive: typeof LongPressDirective; inputs: {}; outputs: {}; }]>;
1797
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectableRowComponent, "ul-selectable-row", never, { "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "selectionActive": { "alias": "selectionActive"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "selectedChange": "selectedChange"; "longPress": "longPress"; }, never, ["[ul-selectable-row-media]", "[ul-selectable-row-content]", "*"], true, [{ directive: typeof LongPressDirective; inputs: {}; outputs: {}; }]>;
1761
1798
  }
1762
1799
 
1763
1800
  /**
@@ -1942,5 +1979,5 @@ declare class TextareaComponent implements FormValueControl<string> {
1942
1979
  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; }; "showRequiredIndicator": { "alias": "showRequiredIndicator"; "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"; "touch": "touch"; "value": "valueChange"; "inputBlur": "inputBlur"; "inputFocus": "inputFocus"; }, ["customField"], ["[ul-textarea-left-elements]", "[ul-textarea-field]", "[ul-textarea-right-elements]"], true, never>;
1943
1980
  }
1944
1981
 
1945
- 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, LongPressDirective, MenuComponent, MenuItemsComponent, MenuTriggerComponent, ModalComponent, NavbarAppNameSlotDirective, NavbarAvatarSlotDirective, NavbarComponent, NavbarLogoSlotDirective, NavbarSearchSlotDirective, PeHeroActionsSlotDirective, PeHeroBadgesSlotDirective, PeHeroContentSlotDirective, PeHeroSubtitleSlotDirective, PeHeroTitleSlotDirective, PillComponent, PriceButtonComponent, RadialComponent, RadioComponent, RadioGroupComponent, RichTextComponent, SearchInputComponent, SearchSelectComponent, SelectComponent, SelectableRowComponent, SidebarComponent, SkeletonComponent, StatusComponent, TableComponent, TextareaComponent, TextareaFieldDirective, ToastContainerComponent, ToastService, TooltipComponent, createFormFieldIds, getFormFieldDescribedBy, toastIcon };
1982
+ 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, LongPressDirective, MenuComponent, MenuItemsComponent, MenuTriggerComponent, ModalComponent, NavbarAppNameSlotDirective, NavbarAvatarSlotDirective, NavbarComponent, NavbarLogoSlotDirective, NavbarSearchSlotDirective, PeHeroActionsSlotDirective, PeHeroBadgesSlotDirective, PeHeroContentSlotDirective, PeHeroSubtitleSlotDirective, PeHeroTitleSlotDirective, PillComponent, PriceButtonComponent, RadialComponent, RadioComponent, RadioGroupComponent, RichTextComponent, SearchInputComponent, SearchSelectComponent, SelectComponent, SelectableRowComponent, SidebarComponent, SkeletonComponent, StatusComponent, TableComponent, TextareaComponent, TextareaFieldDirective, ToastContainerComponent, ToastService, ToggleComponent, TooltipComponent, createFormFieldIds, getFormFieldDescribedBy, toastIcon };
1946
1983
  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, MenuItem, ModalVariant, PillSize, PillTheme, PillVariant, RadioGroupOption, RichTextSize, RichTextTone, SalePosition, SearchSelectOption, SearchSuggestion, SelectOption, SidebarItem, SkeletonBorderRadius, SkeletonVariant, SortDirection, Status, TableColumn, TextareaResize, TimeSelection, ToastConfig, ToastKind, ToastWithRole, TooltipPosition };