@mozaic-ds/angular 2.0.10 → 2.0.11

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": "@mozaic-ds/angular",
3
- "version": "2.0.10",
3
+ "version": "2.0.11",
4
4
  "type": "module",
5
5
  "peerDependencies": {
6
6
  "@angular/common": ">=20.3.15",
@@ -3,10 +3,11 @@ import { TemplateRef, OnInit, ElementRef, InjectionToken, Type, AfterViewInit, O
3
3
  import { ControlValueAccessor } from '@angular/forms';
4
4
  import { CheckCircle32, Uploading32, WarningCircle32 } from '@mozaic-ds/icons-angular';
5
5
  import { RouterLink } from '@angular/router';
6
- import { OverlayRef } from '@angular/cdk/overlay';
6
+ import { OverlayRef, ConnectedPosition } from '@angular/cdk/overlay';
7
7
  import { Observable } from 'rxjs';
8
8
  import { CdkPortalOutlet } from '@angular/cdk/portal';
9
9
  import * as _mozaic_ds_angular from '@mozaic-ds/angular';
10
+ import { ComponentHarness } from '@angular/cdk/testing';
10
11
 
11
12
  type MozBreadcrumbAppearance = 'standard' | 'inverse';
12
13
  interface MozBreadcrumbLink {
@@ -2212,5 +2213,204 @@ declare class MozNavigationIndicatorComponent {
2212
2213
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<MozNavigationIndicatorComponent, "moz-navigation-indicator", never, { "steps": { "alias": "steps"; "required": true; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; "action": { "alias": "action"; "required": false; "isSignal": true; }; "light": { "alias": "light"; "required": false; "isSignal": true; }; "hideAction": { "alias": "hideAction"; "required": false; "isSignal": true; }; "pauseLabel": { "alias": "pauseLabel"; "required": false; "isSignal": true; }; "resumeLabel": { "alias": "resumeLabel"; "required": false; "isSignal": true; }; }, { "active": "activeChange"; "stepClick": "stepClick"; "actionClick": "actionClick"; }, never, never, true, never>;
2213
2214
  }
2214
2215
 
2215
- export { ACTION_LISTBOX_CONFIG, ActionListboxContainerComponent, ActionListboxRef, BuiltInMenuComponent, DEFAULT_ACTION_LISTBOX_CONFIG, DEFAULT_MODAL_CONFIG, DEFAULT_TOASTER_CONFIG, DRAWER_CONFIG, DRAWER_DATA, DrawerContainerComponent, MODAL_CONFIG, MODAL_DATA, MozAccordionComponent, MozAccordionContentComponent, MozAccordionHeaderComponent, MozAccordionPanelComponent, MozActionBottomBarComponent, MozActionListboxComponent, MozActionListboxTriggerDirective, MozAvatarComponent, MozBreadcrumbComponent, MozButtonComponent, MozCalloutComponent, MozCarouselComponent, MozCheckListMenuComponent, MozCheckboxComponent, MozCheckboxGroupComponent, MozCircularProgressBarComponent, MozDatepickerComponent, MozDividerComponent, MozDrawerComponent, MozDrawerFooterDirective, MozDrawerRef, MozDrawerService, MozFieldComponent, MozFieldGroupComponent, MozFileUploaderComponent, MozFileUploaderItemComponent, MozFlagComponent, MozIconButtonComponent, MozKpiComponent, MozLinearProgressBarBufferComponent, MozLinearProgressBarPercentageComponent, MozLinkComponent, MozLoaderComponent, MozLoadingOverlayComponent, MozModalComponent, MozModalFooterDirective, MozModalRef, MozModalService, MozNavigationIndicatorComponent, MozNumberBadgeComponent, MozOverlayComponent, MozPageHeaderComponent, MozPaginationComponent, MozPasswordInputDirective, MozPhoneNumberComponent, MozPincodeInputComponent, MozPopoverComponent, MozPopoverFooterDirective, MozPopoverTriggerDirective, MozQuantitySelectorComponent, MozRadioComponent, MozRadioGroupComponent, MozSegmentedControlComponent, MozSelectComponent, MozSidebarComponent, MozStarRatingComponent, MozStatusBadgeComponent, MozStatusDotComponent, MozStatusMessageComponent, MozStatusNotificationComponent, MozStepperBottomBarComponent, MozStepperCompactComponent, MozStepperInlineComponent, MozStepperStackedComponent, MozTabComponent, MozTabsComponent, MozTagComponent, MozTextInput, MozTextarea, MozTileComponent, MozTileExpandableComponent, MozTileSelectableComponent, MozToasterComponent, MozToasterRef, MozToasterService, MozToggleComponent, MozTooltipComponent, MozTooltipDirective, POPOVER_CONFIG, POPOVER_DATA, PopoverContainerComponent, PopoverRef, PopoverService, TOASTER_CONFIG };
2216
- export type { ActionListboxConfig, ActionListboxPosition, MozActionListItem, MozActionListItemAppearance, MozAvatarSize, MozBreadcrumbAppearance, MozBreadcrumbLink, MozBuiltInMenuItem, MozBuiltInMenuItemTarget, MozButtonAppearance, MozButtonIconPosition, MozButtonSize, MozButtonType, MozCalloutVariant, MozCheckListMenuItem, MozCircularProgessBarSize, MozDatepickerSize, MozDividerAppearance, MozDividerOrientation, MozDividerSize, MozDrawerConfig, MozDrawerPosition, MozFileUploaderFormat, MozFileUploaderItemFormat, MozFlagType, MozIconButtonAppearance, MozIconButtonSize, MozIconButtonType, MozKpiSize, MozKpiStatus, MozKpiTrend, MozLinearProgressBarBufferSize, MozLinkAppearance, MozLinkIconPosition, MozLinkSize, MozLoaderAppearance, MozLoaderSize, MozNavigationIndicatorAction, MozNumberBadgeAppearance, MozNumberBadgeSize, MozPageHeaderScope, MozPhoneNumberCountry, MozPhoneNumberSize, MozPhoneNumberValue, MozPincodeLength, MozPopoverAppearance, MozPopoverPosition, MozPopoverSize, MozQuantitySelectorSize, MozSegmentedControlSize, MozSegmentedItem, MozSelectOption, MozSelectSize, MozSelectValue, MozSidebarItem, MozSidebarSubItem, MozStarRatingAppearance, MozStarRatingSize, MozStatusBadgeStatus, MozStatusDotSize, MozStatusDotStatus, MozStatusMessageStatus, MozStatusNotificationStatus, MozStepperBottomBarStep, MozStepperInlineStep, MozStepperStackedStep, MozTabItem, MozTagSize, MozTagType, MozTextInputSize, MozTileAppearance, MozTileExpandableTrigger, MozTileInputPosition, MozTileInputVerticalPosition, MozTileSelectableAppearance, MozTileSelectableType, MozToasterPosition, MozToasterRole, MozToasterStatus, MozToggleSize, MozTooltipPosition, PopoverConfig };
2216
+ /**
2217
+ * McCombobox Data models & type guards
2218
+ *
2219
+ * @packageDocumentation
2220
+ */
2221
+ interface McComboboxOption<T = unknown> {
2222
+ /** Unique value used for selection comparison */
2223
+ value: T;
2224
+ /** Display label */
2225
+ label: string;
2226
+ /** Optional secondary text rendered below the label */
2227
+ content?: string;
2228
+ /** Whether the option is individually disabled */
2229
+ disabled?: boolean;
2230
+ /** Optional icon identifier (rendered in the prepend slot) */
2231
+ icon?: string;
2232
+ }
2233
+ interface McComboboxSection<T = unknown> {
2234
+ /** Section heading text */
2235
+ title: string;
2236
+ /** Options belonging to this section */
2237
+ options: McComboboxOption<T>[];
2238
+ /** When `true` in `multiple` mode, clicking the header toggles all children */
2239
+ checkable?: boolean;
2240
+ }
2241
+ type McComboboxItem<T = unknown> = McComboboxOption<T> | McComboboxSection<T>;
2242
+ type McComboboxSize = 's' | 'm';
2243
+ /** Type-guard: returns `true` when the item is a section header */
2244
+ declare function isSection<T>(item: McComboboxItem<T>): item is McComboboxSection<T>;
2245
+ interface FlatOption<T = unknown> {
2246
+ type: 'option';
2247
+ value: T;
2248
+ label: string;
2249
+ content?: string;
2250
+ disabled?: boolean;
2251
+ icon?: string;
2252
+ /** Parent section title (if any) */
2253
+ sectionTitle?: string;
2254
+ }
2255
+ interface FlatSection {
2256
+ type: 'section';
2257
+ title: string;
2258
+ checkable?: boolean;
2259
+ }
2260
+ type FlatItem<T = unknown> = FlatOption<T> | FlatSection;
2261
+ declare function isFlatSection<T>(item: FlatItem<T>): item is FlatSection;
2262
+ declare function isFlatOption<T>(item: FlatItem<T>): item is FlatOption<T>;
2263
+
2264
+ declare class McComboboxComponent<T = string> implements ControlValueAccessor {
2265
+ /** Items to display (flat options or sections) */
2266
+ readonly items: _angular_core.InputSignal<McComboboxItem<T>[]>;
2267
+ /** Currently selected value(s) — two-way binding with model() */
2268
+ readonly value: _angular_core.ModelSignal<T | T[] | null>;
2269
+ /** Placeholder text shown when nothing is selected */
2270
+ readonly placeholder: _angular_core.InputSignal<string>;
2271
+ /** Enable multi-selection */
2272
+ readonly multiple: _angular_core.InputSignal<boolean>;
2273
+ /** Show counter instead of tags in multi mode */
2274
+ readonly compact: _angular_core.InputSignal<boolean>;
2275
+ /** Component size variant */
2276
+ readonly size: _angular_core.InputSignal<McComboboxSize>;
2277
+ /** Disable the entire component */
2278
+ readonly disabled: _angular_core.InputSignal<boolean>;
2279
+ /** Readonly mode — no interaction allowed */
2280
+ readonly readonly: _angular_core.InputSignal<boolean>;
2281
+ /** Show invalid/error styling */
2282
+ readonly invalid: _angular_core.InputSignal<boolean>;
2283
+ /** Show a clear button when a value is selected */
2284
+ readonly clearable: _angular_core.InputSignal<boolean>;
2285
+ /** Show a search/filter input inside the dropdown */
2286
+ readonly searchable: _angular_core.InputSignal<boolean>;
2287
+ /** Show "Select all / Clear" action buttons (multiple only) */
2288
+ readonly showActions: _angular_core.InputSignal<boolean>;
2289
+ /** Custom comparator for option values */
2290
+ readonly compareWith: _angular_core.InputSignal<(a: T, b: T) => boolean>;
2291
+ /** Accessible label */
2292
+ readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
2293
+ /** Reference to an external label element */
2294
+ readonly ariaLabelledBy: _angular_core.InputSignal<string | undefined>;
2295
+ readonly opened: _angular_core.OutputEmitterRef<void>;
2296
+ readonly closed: _angular_core.OutputEmitterRef<void>;
2297
+ readonly searched: _angular_core.OutputEmitterRef<string>;
2298
+ private readonly triggerEl;
2299
+ private readonly searchInputEl;
2300
+ private readonly viewportEl;
2301
+ /** Unique instance id */
2302
+ readonly uid: string;
2303
+ readonly listboxId: string;
2304
+ /** Whether the dropdown panel is open */
2305
+ readonly isOpen: _angular_core.WritableSignal<boolean>;
2306
+ /** Keyboard-focused item index within filteredItems() */
2307
+ readonly focusedIndex: _angular_core.WritableSignal<number>;
2308
+ /** Current search/filter query */
2309
+ readonly searchQuery: _angular_core.WritableSignal<string>;
2310
+ /** Disabled state from ControlValueAccessor */
2311
+ private readonly _disabledFromForm;
2312
+ /** CVA callbacks */
2313
+ private _onChange;
2314
+ private _onTouched;
2315
+ /** Effective disabled state (input OR form-driven) */
2316
+ readonly isEffectivelyDisabled: _angular_core.Signal<boolean>;
2317
+ /** Flatten items into a renderable list */
2318
+ readonly flatItems: _angular_core.Signal<FlatItem<T>[]>;
2319
+ /** Filtered items based on search query */
2320
+ readonly filteredItems: _angular_core.Signal<FlatItem<T>[]>;
2321
+ /** All selectable (non-disabled) option values */
2322
+ readonly allSelectableValues: _angular_core.Signal<T[]>;
2323
+ /** The display string shown on the trigger button */
2324
+ readonly displayValue: _angular_core.Signal<string>;
2325
+ /** Number of selected items (for compact counter) */
2326
+ readonly selectedCount: _angular_core.Signal<number>;
2327
+ /** Whether the clear button should be visible */
2328
+ readonly showClear: _angular_core.Signal<boolean>;
2329
+ /** Viewport height: capped to VIEWPORT_HEIGHT_PX, shrinks for small lists */
2330
+ readonly viewportHeight: _angular_core.Signal<number>;
2331
+ /** Whether a section's children are all selected */
2332
+ readonly isSectionFullySelected: (sectionTitle: string) => boolean;
2333
+ /** Whether a section's children are partially selected */
2334
+ readonly isSectionPartiallySelected: (sectionTitle: string) => boolean;
2335
+ readonly overlayPositions: ConnectedPosition[];
2336
+ /** Width of the trigger (to match overlay width) */
2337
+ readonly triggerWidth: _angular_core.WritableSignal<number>;
2338
+ constructor();
2339
+ open(): void;
2340
+ close(): void;
2341
+ toggle(): void;
2342
+ onTriggerKeydown(event: KeyboardEvent): void;
2343
+ onPanelKeydown(event: KeyboardEvent): void;
2344
+ selectOption(optionValue: T): void;
2345
+ selectAll(): void;
2346
+ clearSelection(): void;
2347
+ onClear(event: MouseEvent): void;
2348
+ toggleSection(sectionTitle: string): void;
2349
+ onSearchInput(event: Event): void;
2350
+ onSearchKeydown(event: KeyboardEvent): void;
2351
+ onOverlayOutsideClick(): void;
2352
+ onOverlayAttached(): void;
2353
+ /** Coerce the current value into an array (safe for .some/.filter/.every). */
2354
+ private _currentValueAsArray;
2355
+ writeValue(val: T | T[] | null): void;
2356
+ registerOnChange(fn: (val: T | T[] | null) => void): void;
2357
+ registerOnTouched(fn: () => void): void;
2358
+ setDisabledState(isDisabled: boolean): void;
2359
+ readonly isFlatSection: typeof isFlatSection;
2360
+ readonly isFlatOption: typeof isFlatOption;
2361
+ readonly itemSizePx = 48;
2362
+ trackByFlatItem(_index: number, item: FlatItem<T>): string;
2363
+ /** Set of currently selected values, recomputed reactively for OnPush */
2364
+ readonly selectedValues: _angular_core.Signal<T[]>;
2365
+ /** Whether a given option value is currently selected */
2366
+ isOptionSelected(optionValue: T): boolean;
2367
+ private _updateTriggerWidth;
2368
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<McComboboxComponent<any>, never>;
2369
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<McComboboxComponent<any>, "moz-combobox", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "showActions": { "alias": "showActions"; "required": false; "isSignal": true; }; "compareWith": { "alias": "compareWith"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "opened": "opened"; "closed": "closed"; "searched": "searched"; }, never, never, true, never>;
2370
+ }
2371
+
2372
+ /**
2373
+ * Harness for a single option inside the combobox dropdown.
2374
+ */
2375
+ declare class McComboboxOptionHarness extends ComponentHarness {
2376
+ static hostSelector: string;
2377
+ getLabel(): Promise<string>;
2378
+ isSelected(): Promise<boolean>;
2379
+ isDisabled(): Promise<boolean>;
2380
+ select(): Promise<void>;
2381
+ }
2382
+ /**
2383
+ * Harness for the McCombobox component.
2384
+ *
2385
+ * Usage:
2386
+ * ```ts
2387
+ * const harness = await loader.getHarness(McComboboxHarness);
2388
+ * await harness.open();
2389
+ * await harness.selectOption({ label: 'Option 1' });
2390
+ * expect(await harness.getDisplayValue()).toBe('Option 1');
2391
+ * ```
2392
+ */
2393
+ declare class McComboboxHarness extends ComponentHarness {
2394
+ static hostSelector: string;
2395
+ private _getTrigger;
2396
+ private _getClearButton;
2397
+ private _getSearchInput;
2398
+ open(): Promise<void>;
2399
+ close(): Promise<void>;
2400
+ isOpen(): Promise<boolean>;
2401
+ getDisplayValue(): Promise<string>;
2402
+ getPlaceholder(): Promise<string>;
2403
+ getOptions(): Promise<McComboboxOptionHarness[]>;
2404
+ selectOption(filter: {
2405
+ label: string;
2406
+ }): Promise<void>;
2407
+ clear(): Promise<void>;
2408
+ search(query: string): Promise<void>;
2409
+ isDisabled(): Promise<boolean>;
2410
+ isInvalid(): Promise<boolean>;
2411
+ isReadonly(): Promise<boolean>;
2412
+ getSelectedCount(): Promise<number>;
2413
+ }
2414
+
2415
+ export { ACTION_LISTBOX_CONFIG, ActionListboxContainerComponent, ActionListboxRef, BuiltInMenuComponent, DEFAULT_ACTION_LISTBOX_CONFIG, DEFAULT_MODAL_CONFIG, DEFAULT_TOASTER_CONFIG, DRAWER_CONFIG, DRAWER_DATA, DrawerContainerComponent, MODAL_CONFIG, MODAL_DATA, McComboboxComponent, McComboboxHarness, McComboboxOptionHarness, MozAccordionComponent, MozAccordionContentComponent, MozAccordionHeaderComponent, MozAccordionPanelComponent, MozActionBottomBarComponent, MozActionListboxComponent, MozActionListboxTriggerDirective, MozAvatarComponent, MozBreadcrumbComponent, MozButtonComponent, MozCalloutComponent, MozCarouselComponent, MozCheckListMenuComponent, MozCheckboxComponent, MozCheckboxGroupComponent, MozCircularProgressBarComponent, MozDatepickerComponent, MozDividerComponent, MozDrawerComponent, MozDrawerFooterDirective, MozDrawerRef, MozDrawerService, MozFieldComponent, MozFieldGroupComponent, MozFileUploaderComponent, MozFileUploaderItemComponent, MozFlagComponent, MozIconButtonComponent, MozKpiComponent, MozLinearProgressBarBufferComponent, MozLinearProgressBarPercentageComponent, MozLinkComponent, MozLoaderComponent, MozLoadingOverlayComponent, MozModalComponent, MozModalFooterDirective, MozModalRef, MozModalService, MozNavigationIndicatorComponent, MozNumberBadgeComponent, MozOverlayComponent, MozPageHeaderComponent, MozPaginationComponent, MozPasswordInputDirective, MozPhoneNumberComponent, MozPincodeInputComponent, MozPopoverComponent, MozPopoverFooterDirective, MozPopoverTriggerDirective, MozQuantitySelectorComponent, MozRadioComponent, MozRadioGroupComponent, MozSegmentedControlComponent, MozSelectComponent, MozSidebarComponent, MozStarRatingComponent, MozStatusBadgeComponent, MozStatusDotComponent, MozStatusMessageComponent, MozStatusNotificationComponent, MozStepperBottomBarComponent, MozStepperCompactComponent, MozStepperInlineComponent, MozStepperStackedComponent, MozTabComponent, MozTabsComponent, MozTagComponent, MozTextInput, MozTextarea, MozTileComponent, MozTileExpandableComponent, MozTileSelectableComponent, MozToasterComponent, MozToasterRef, MozToasterService, MozToggleComponent, MozTooltipComponent, MozTooltipDirective, POPOVER_CONFIG, POPOVER_DATA, PopoverContainerComponent, PopoverRef, PopoverService, TOASTER_CONFIG, isSection };
2416
+ export type { ActionListboxConfig, ActionListboxPosition, McComboboxItem, McComboboxOption, McComboboxSection, McComboboxSize, MozActionListItem, MozActionListItemAppearance, MozAvatarSize, MozBreadcrumbAppearance, MozBreadcrumbLink, MozBuiltInMenuItem, MozBuiltInMenuItemTarget, MozButtonAppearance, MozButtonIconPosition, MozButtonSize, MozButtonType, MozCalloutVariant, MozCheckListMenuItem, MozCircularProgessBarSize, MozDatepickerSize, MozDividerAppearance, MozDividerOrientation, MozDividerSize, MozDrawerConfig, MozDrawerPosition, MozFileUploaderFormat, MozFileUploaderItemFormat, MozFlagType, MozIconButtonAppearance, MozIconButtonSize, MozIconButtonType, MozKpiSize, MozKpiStatus, MozKpiTrend, MozLinearProgressBarBufferSize, MozLinkAppearance, MozLinkIconPosition, MozLinkSize, MozLoaderAppearance, MozLoaderSize, MozNavigationIndicatorAction, MozNumberBadgeAppearance, MozNumberBadgeSize, MozPageHeaderScope, MozPhoneNumberCountry, MozPhoneNumberSize, MozPhoneNumberValue, MozPincodeLength, MozPopoverAppearance, MozPopoverPosition, MozPopoverSize, MozQuantitySelectorSize, MozSegmentedControlSize, MozSegmentedItem, MozSelectOption, MozSelectSize, MozSelectValue, MozSidebarItem, MozSidebarSubItem, MozStarRatingAppearance, MozStarRatingSize, MozStatusBadgeStatus, MozStatusDotSize, MozStatusDotStatus, MozStatusMessageStatus, MozStatusNotificationStatus, MozStepperBottomBarStep, MozStepperInlineStep, MozStepperStackedStep, MozTabItem, MozTagSize, MozTagType, MozTextInputSize, MozTileAppearance, MozTileExpandableTrigger, MozTileInputPosition, MozTileInputVerticalPosition, MozTileSelectableAppearance, MozTileSelectableType, MozToasterPosition, MozToasterRole, MozToasterStatus, MozToggleSize, MozTooltipPosition, PopoverConfig };