@ndwnu/design-system 12.2.1 → 13.0.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.
@@ -6,6 +6,7 @@ import { ControlValueAccessor, AbstractControl, NgControl } from '@angular/forms
6
6
  import { Subject, Observable } from 'rxjs';
7
7
  import * as _angular_material_datepicker from '@angular/material/datepicker';
8
8
  import { DateFilterFn, MatCalendar } from '@angular/material/datepicker';
9
+ import Shepherd, { StepOptions, TourOptions as TourOptions$1, StepOptionsButton } from 'shepherd.js';
9
10
  import { Params } from '@angular/router';
10
11
  import * as _ndwnu_design_system from '@ndwnu/design-system';
11
12
  import { Point } from '@angular/cdk/drag-drop';
@@ -19,15 +20,15 @@ declare class CollapsibleComponent {
19
20
  checkable: _angular_core.InputSignal<boolean>;
20
21
  subtitle: _angular_core.InputSignal<string | undefined>;
21
22
  value: _angular_core.InputSignal<number | undefined>;
23
+ displayLargeNumbers: _angular_core.InputSignal<boolean>;
22
24
  expanded: _angular_core.ModelSignal<boolean>;
23
25
  private readonly accordionService;
24
26
  private readonly uuid;
25
27
  readonly toggleUuid: string;
26
28
  readonly sectionUuid: string;
27
- animationState: _angular_core.Signal<"open" | "closed">;
28
29
  toggle(): void;
29
30
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CollapsibleComponent, never>;
30
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<CollapsibleComponent, "ndw-collapsible", never, { "index": { "alias": "index"; "required": true; "isSignal": true; }; "title": { "alias": "title"; "required": true; "isSignal": true; }; "checkable": { "alias": "checkable"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; }, { "expanded": "expandedChange"; }, never, ["custom-header-content", "*"], true, never>;
31
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CollapsibleComponent, "ndw-collapsible", never, { "index": { "alias": "index"; "required": true; "isSignal": true; }; "title": { "alias": "title"; "required": true; "isSignal": true; }; "checkable": { "alias": "checkable"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "displayLargeNumbers": { "alias": "displayLargeNumbers"; "required": false; "isSignal": true; }; "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; }, { "expanded": "expandedChange"; }, never, ["custom-header-content", "*"], true, never>;
31
32
  }
32
33
 
33
34
  declare class AutosuggestPanelComponent extends CoreAutosuggestPanelComponent {
@@ -200,7 +201,8 @@ declare class FileUploadComponent implements ControlValueAccessor {
200
201
  readonly incorrectFileType: _angular_core.ModelSignal<boolean>;
201
202
  readonly selectedFile: _angular_core.ModelSignal<File | null | undefined>;
202
203
  readonly success: _angular_core.ModelSignal<boolean>;
203
- private readonly canEdit;
204
+ protected readonly canEdit: _angular_core.Signal<boolean>;
205
+ protected readonly displayText: _angular_core.Signal<string>;
204
206
  readonly fileInputElement: _angular_core.Signal<ElementRef<HTMLInputElement>>;
205
207
  onKeyDown(event: KeyboardEvent): void;
206
208
  onClick(): void;
@@ -210,7 +212,6 @@ declare class FileUploadComponent implements ControlValueAccessor {
210
212
  onDrop(event: DragEvent): void;
211
213
  onDownloadFileClick(): void;
212
214
  onDeleteClick(event: Event): void;
213
- displayText(): string;
214
215
  onFileSelected(event: Event): void;
215
216
  writeValue(value: File): void;
216
217
  registerOnChange(fn: (value: File | null | undefined) => void): void;
@@ -353,6 +354,7 @@ declare class MarkdownEditorComponent implements ControlValueAccessor {
353
354
  readonly taskList: _angular_core.Signal<boolean>;
354
355
  get isRequiredOrHasRequiredValidator(): boolean | null;
355
356
  constructor();
357
+ onChange(event: Event): void;
356
358
  writeValue(value: string): void;
357
359
  registerOnChange(fn: (value: string | null | undefined) => void): void;
358
360
  registerOnTouched(): void;
@@ -361,6 +363,13 @@ declare class MarkdownEditorComponent implements ControlValueAccessor {
361
363
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<MarkdownEditorComponent, "ndw-markdown-editor", never, { "uuid": { "alias": "uuid"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "success": { "alias": "success"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "toolbar": { "alias": "toolbar"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "disabled": "disabledChange"; }, never, never, true, never>;
362
364
  }
363
365
 
366
+ declare class MarkdownParserComponent {
367
+ readonly content: _angular_core.InputSignal<string>;
368
+ readonly parsedContent: _angular_core.Signal<string>;
369
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MarkdownParserComponent, never>;
370
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MarkdownParserComponent, "ndw-markdown-parser", never, { "content": { "alias": "content"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
371
+ }
372
+
364
373
  type OptionGroupMode = 'single' | 'multiple';
365
374
 
366
375
  declare class OptionComponent {
@@ -382,7 +391,7 @@ declare class OptionGroupComponent implements ControlValueAccessor {
382
391
  readonly mode: _angular_core.InputSignal<OptionGroupMode>;
383
392
  readonly required: _angular_core.InputSignal<boolean>;
384
393
  readonly success: _angular_core.InputSignal<boolean>;
385
- protected readonly checkedValues: _angular_core.ModelSignal<unknown[]>;
394
+ readonly checkedValues: _angular_core.ModelSignal<unknown[]>;
386
395
  readonly disabled: _angular_core.ModelSignal<boolean>;
387
396
  protected readonly fluidColumnStyle: _angular_core.Signal<string | null>;
388
397
  readonly children: _angular_core.Signal<readonly OptionComponent[]>;
@@ -481,6 +490,7 @@ declare class ListItemComponent implements CheckableComponent {
481
490
  #private;
482
491
  active: _angular_core.ModelSignal<boolean>;
483
492
  badgeValue: _angular_core.InputSignal<number | undefined>;
493
+ displayLargeNumbers: _angular_core.InputSignal<boolean>;
484
494
  buttonIcon: _angular_core.InputSignal<string | undefined>;
485
495
  buttonLabel: _angular_core.InputSignal<string | undefined>;
486
496
  checkable: _angular_core.InputSignal<boolean>;
@@ -505,7 +515,7 @@ declare class ListItemComponent implements CheckableComponent {
505
515
  onCheckClick(event: Event): void;
506
516
  onListItemSelect(): void;
507
517
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ListItemComponent, never>;
508
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ListItemComponent, "ndw-list-item", never, { "active": { "alias": "active"; "required": false; "isSignal": true; }; "badgeValue": { "alias": "badgeValue"; "required": false; "isSignal": true; }; "buttonIcon": { "alias": "buttonIcon"; "required": false; "isSignal": true; }; "buttonLabel": { "alias": "buttonLabel"; "required": false; "isSignal": true; }; "checkable": { "alias": "checkable"; "required": false; "isSignal": true; }; "checkType": { "alias": "checkType"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "indented": { "alias": "indented"; "required": false; "isSignal": true; }; "pillColor": { "alias": "pillColor"; "required": false; "isSignal": true; }; "pillLabel": { "alias": "pillLabel"; "required": false; "isSignal": true; }; "prefixIcon": { "alias": "prefixIcon"; "required": false; "isSignal": true; }; "showButton": { "alias": "showButton"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; }, { "active": "activeChange"; "buttonClicked": "buttonClicked"; "checked": "checkedChange"; "expanded": "expandedChange"; }, never, ["*"], true, never>;
518
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ListItemComponent, "ndw-list-item", never, { "active": { "alias": "active"; "required": false; "isSignal": true; }; "badgeValue": { "alias": "badgeValue"; "required": false; "isSignal": true; }; "displayLargeNumbers": { "alias": "displayLargeNumbers"; "required": false; "isSignal": true; }; "buttonIcon": { "alias": "buttonIcon"; "required": false; "isSignal": true; }; "buttonLabel": { "alias": "buttonLabel"; "required": false; "isSignal": true; }; "checkable": { "alias": "checkable"; "required": false; "isSignal": true; }; "checkType": { "alias": "checkType"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "indented": { "alias": "indented"; "required": false; "isSignal": true; }; "pillColor": { "alias": "pillColor"; "required": false; "isSignal": true; }; "pillLabel": { "alias": "pillLabel"; "required": false; "isSignal": true; }; "prefixIcon": { "alias": "prefixIcon"; "required": false; "isSignal": true; }; "showButton": { "alias": "showButton"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; }, { "active": "activeChange"; "buttonClicked": "buttonClicked"; "checked": "checkedChange"; "expanded": "expandedChange"; }, never, ["*"], true, never>;
509
519
  }
510
520
 
511
521
  declare class ListComponent implements AfterContentInit {
@@ -609,7 +619,7 @@ declare class BannerComponent implements AfterViewInit {
609
619
  showReadMore: boolean;
610
620
  ngAfterViewInit(): void;
611
621
  onClose(event: MouseEvent): void;
612
- private setReadMore;
622
+ protected setReadMore(): void;
613
623
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BannerComponent, never>;
614
624
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<BannerComponent, "ndw-banner", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "message": { "alias": "message"; "required": true; "isSignal": true; }; "readMoreLabel": { "alias": "readMoreLabel"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "ariaLive": { "alias": "ariaLive"; "required": false; "isSignal": true; }; }, { "close": "close"; }, never, never, true, never>;
615
625
  }
@@ -657,17 +667,11 @@ declare class CardHeaderComponent {
657
667
  declare const CARD_ID_TOKEN: InjectionToken<string>;
658
668
  declare class CardComponent implements AfterContentInit {
659
669
  private readonly header;
660
- private readonly headerHeight;
670
+ protected readonly headerHeight: _angular_core.WritableSignal<number>;
661
671
  readonly cardId: string;
662
672
  readonly isCollapsable: _angular_core.Signal<boolean>;
663
673
  readonly isCollapsed: _angular_core.ModelSignal<boolean>;
664
674
  ngAfterContentInit(): void;
665
- animationState: _angular_core.Signal<{
666
- value: string;
667
- params: {
668
- headerHeight: number;
669
- };
670
- }>;
671
675
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CardComponent, never>;
672
676
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<CardComponent, "ndw-card", never, { "isCollapsed": { "alias": "isCollapsed"; "required": false; "isSignal": true; }; }, { "isCollapsed": "isCollapsedChange"; }, ["header"], ["*"], true, never>;
673
677
  }
@@ -748,6 +752,180 @@ declare class FavoriteComponent {
748
752
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<FavoriteComponent, "ndw-favorite", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; }, never, never, true, never>;
749
753
  }
750
754
 
755
+ interface RequiredElement {
756
+ message: string;
757
+ selector: string;
758
+ title: string;
759
+ }
760
+ interface TourOptions {
761
+ modal?: boolean;
762
+ confirmCancel?: boolean;
763
+ }
764
+ interface StepImage {
765
+ url: string;
766
+ alt?: string;
767
+ }
768
+ /**
769
+ * Extended step options with NDW-specific features.
770
+ * Extends Shepherd's StepOptions with additional properties like image support.
771
+ *
772
+ * Note: When using the `image` property, the 'shepherd-has-image' class will be added automatically.
773
+ */
774
+ interface NdwStepOptions extends StepOptions {
775
+ /**
776
+ * Optional image to display at the top of the tour step
777
+ */
778
+ image?: StepImage;
779
+ }
780
+
781
+ declare class GuidedTourService {
782
+ #private;
783
+ confirmCancel: TourOptions$1['confirmCancel'];
784
+ confirmCancelMessage?: TourOptions$1['confirmCancelMessage'];
785
+ defaultStepOptions: StepOptions;
786
+ errorTitle?: string;
787
+ exitOnEsc: TourOptions$1['exitOnEsc'];
788
+ isActive: boolean;
789
+ keyboardNavigation: TourOptions$1['keyboardNavigation'];
790
+ messageForUser: string | null;
791
+ modal: boolean;
792
+ requiredElements: RequiredElement[];
793
+ tourName: TourOptions$1['tourName'];
794
+ tourObject: InstanceType<typeof Shepherd.Tour> | null;
795
+ back(): void;
796
+ cancel(): void;
797
+ complete(): void;
798
+ hide(): void;
799
+ next(): void;
800
+ /**
801
+ * Show a specific step, by passing its id
802
+ * @param id The id of the step you want to show
803
+ */
804
+ show(id: string | number): void;
805
+ start(): void;
806
+ /**
807
+ * Take a set of steps and create a tour object based on the current configuration
808
+ * @param steps An array of steps
809
+ */
810
+ addSteps(steps: StepOptions[]): void;
811
+ /**
812
+ * Observes the array of requiredElements, which are the elements that must be present at the start of the tour,
813
+ * and determines if they exist, and are visible, if either is false, it will stop the tour from executing.
814
+ */
815
+ private requiredElementsPresent;
816
+ /**
817
+ * Initializes the tour, creates a new Shepherd.Tour. sets options, and binds events
818
+ */
819
+ private _initialize;
820
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<GuidedTourService, never>;
821
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<GuidedTourService>;
822
+ }
823
+
824
+ /**
825
+ * Abstract base class for creating tour services with storage persistence.
826
+ * Extend this class to create a tour that remembers if the user has already seen it.
827
+ */
828
+ declare abstract class BaseTourService {
829
+ #private;
830
+ protected readonly guidedTourService: GuidedTourService;
831
+ protected readonly browserStorage: Storage;
832
+ protected abstract storageKey: string;
833
+ protected abstract getTourSteps(): NdwStepOptions[];
834
+ protected tourOptions: TourOptions;
835
+ /**
836
+ * Converts NdwStepOptions to Shepherd StepOptions.
837
+ * Processes image property and adds appropriate classes.
838
+ */
839
+ private processStepOptions;
840
+ startTour({ skipStorageCheck }?: {
841
+ skipStorageCheck?: boolean;
842
+ }): void;
843
+ /**
844
+ * Called when the tour is completed.
845
+ * By default, marks the tour as completed in storage.
846
+ * Override this method to add custom completion logic.
847
+ */
848
+ protected onComplete(): void;
849
+ /**
850
+ * Called when the tour is cancelled.
851
+ * By default, marks the tour as completed in storage.
852
+ * Override this method to add custom cancellation logic.
853
+ */
854
+ protected onCancel(): void;
855
+ }
856
+
857
+ declare const BROWSER_STORAGE: InjectionToken<Storage>;
858
+ type ButtonType = 'back' | 'cancel' | 'next';
859
+ declare const nextButton: {
860
+ text: string;
861
+ type: ButtonType;
862
+ classes: string;
863
+ };
864
+ declare const backButton: {
865
+ text: string;
866
+ type: ButtonType;
867
+ classes: string;
868
+ };
869
+ declare const cancelButton: {
870
+ text: string;
871
+ type: ButtonType;
872
+ classes: string;
873
+ };
874
+ declare const finishButton: {
875
+ text: string;
876
+ type: ButtonType;
877
+ classes: string;
878
+ };
879
+ declare const defaultStepOptions: {
880
+ classes: string;
881
+ scrollTo: boolean;
882
+ cancelIcon: {
883
+ enabled: boolean;
884
+ };
885
+ };
886
+ /**
887
+ * Helper function to format step text with an optional image at the top.
888
+ * When using this with an image, make sure to add 'shepherd-has-image' to the step's classes.
889
+ *
890
+ * @param text - The text content for the step (can be HTML)
891
+ * @param imageUrl - Optional URL of the image to display at the top of the step
892
+ * @param imageAlt - Optional alt text for the image (defaults to 'Tour step image')
893
+ * @returns Formatted HTML string with image (if provided) and text
894
+ *
895
+ * @example
896
+ * ```typescript
897
+ * {
898
+ * title: 'Welcome',
899
+ * text: formatStepWithImage('Description', 'https://example.com/image.jpg'),
900
+ * classes: 'shepherd-theme-ndw shepherd-has-image', // Add shepherd-has-image class
901
+ * buttons: [nextButton]
902
+ * }
903
+ * ```
904
+ */
905
+ declare const formatStepWithImage: (text: string, imageUrl?: string, imageAlt?: string) => string;
906
+
907
+ type ShepherdButton = StepOptionsButton & {
908
+ type?: 'back' | 'cancel' | 'next';
909
+ };
910
+ /**
911
+ * Creates a button of the specified type, with the given classes and text
912
+ *
913
+ * @param this The GuidedTourService instance to bind the button actions to
914
+ * @param button The button configuration
915
+ * @returns The constructed button
916
+ */
917
+ declare function makeButton(this: GuidedTourService, button: ShepherdButton): ShepherdButton;
918
+
919
+ /**
920
+ * Checks if an element is hidden from the user.
921
+ * Detects: display:none, visibility:hidden, opacity:0, zero dimensions,
922
+ * and hidden ancestors.
923
+ *
924
+ * @param element The element to check for visibility
925
+ * @returns true if element is hidden
926
+ */
927
+ declare function elementIsHidden(element: HTMLElement): boolean;
928
+
751
929
  interface HoverableListItemAction {
752
930
  id: string | number;
753
931
  icon: string;
@@ -846,7 +1024,7 @@ declare class LoaderComponent {
846
1024
 
847
1025
  declare class MapButtonComponent {
848
1026
  #private;
849
- readonly icon: _angular_core.InputSignal<"search" | "polygon" | "direction" | "gps" | "high-res" | "layers" | "zoom-in" | "zoom-out" | "add-traffic-sign" | "add-zone" | "download" | "hectometer" | "low-res" | "zoom-to-content">;
1027
+ readonly icon: _angular_core.InputSignal<"search" | "polygon" | "direction" | "gps" | "high-res" | "layers" | "zoom-in" | "zoom-out" | "mail" | "add-traffic-sign" | "add-zone" | "download" | "hectometer" | "low-res" | "zoom-to-content">;
850
1028
  readonly active: _angular_core.InputSignal<boolean>;
851
1029
  readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
852
1030
  readonly disabled: _angular_core.InputSignal<boolean>;
@@ -858,9 +1036,9 @@ declare class MapButtonComponent {
858
1036
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<MapButtonComponent, "ndw-map-button", never, { "icon": { "alias": "icon"; "required": true; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; }, never, ["*"], true, never>;
859
1037
  }
860
1038
 
861
- declare const fontMapButtonIcons: readonly ["direction", "gps", "high-res", "layers", "polygon", "search", "zoom-in", "zoom-out"];
1039
+ declare const fontMapButtonIcons: readonly ["direction", "gps", "high-res", "layers", "polygon", "search", "zoom-in", "zoom-out", "mail"];
862
1040
  declare const svgMapButtonIcons: readonly ["add-traffic-sign", "add-zone", "download", "hectometer", "low-res", "zoom-to-content"];
863
- declare const mapButtonIcons: readonly ["direction", "gps", "high-res", "layers", "polygon", "search", "zoom-in", "zoom-out", "add-traffic-sign", "add-zone", "download", "hectometer", "low-res", "zoom-to-content"];
1041
+ declare const mapButtonIcons: readonly ["direction", "gps", "high-res", "layers", "polygon", "search", "zoom-in", "zoom-out", "mail", "add-traffic-sign", "add-zone", "download", "hectometer", "low-res", "zoom-to-content"];
864
1042
  type MapButtonIcon = (typeof mapButtonIcons)[number];
865
1043
 
866
1044
  type DisplayOptionType = 'none' | 'button' | 'radio' | 'checkbox';
@@ -1066,7 +1244,7 @@ declare class MultiSelectComponent {
1066
1244
  protected readonly lastCheckedElementId: _angular_core.ModelSignal<string | number | null | undefined>;
1067
1245
  protected readonly searchInputValue: _angular_core.ModelSignal<string>;
1068
1246
  protected readonly isOpen: _angular_core.WritableSignal<boolean>;
1069
- protected readonly viewItems: _angular_core.Signal<CheckboxData[]>;
1247
+ protected readonly dataSourceSorted: _angular_core.WritableSignal<CheckboxData[]>;
1070
1248
  readonly selectAmount: _angular_core.Signal<number>;
1071
1249
  readonly noSearchResults: _angular_core.Signal<boolean>;
1072
1250
  filterSearch(value: string): boolean;
@@ -1075,6 +1253,7 @@ declare class MultiSelectComponent {
1075
1253
  toggleSelectAll(selectAll?: boolean): void;
1076
1254
  isOpenChanged(isOpen: boolean): void;
1077
1255
  private determineLastCheckedElement;
1256
+ private sortDataSource;
1078
1257
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MultiSelectComponent, never>;
1079
1258
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<MultiSelectComponent, "ndw-multi-select", never, { "buttonText": { "alias": "buttonText"; "required": true; "isSignal": true; }; "searchLabel": { "alias": "searchLabel"; "required": false; "isSignal": true; }; "prefixIcon": { "alias": "prefixIcon"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "noResultText": { "alias": "noResultText"; "required": false; "isSignal": true; }; "chevron": { "alias": "chevron"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "selectAmountHidden": { "alias": "selectAmountHidden"; "required": false; "isSignal": true; }; "selectAllText": { "alias": "selectAllText"; "required": false; "isSignal": true; }; "dataSource": { "alias": "dataSource"; "required": false; "isSignal": true; }; "lastCheckedElementId": { "alias": "lastCheckedElementId"; "required": false; "isSignal": true; }; "searchInputValue": { "alias": "searchInputValue"; "required": false; "isSignal": true; }; }, { "dataSource": "dataSourceChange"; "lastCheckedElementId": "lastCheckedElementIdChange"; "searchInputValue": "searchInputValueChange"; }, never, never, true, never>;
1080
1259
  }
@@ -1092,20 +1271,25 @@ declare class RouterBreadcrumbsComponent extends CoreRouterBreadcrumbsComponent
1092
1271
  declare class SplitterComponent implements AfterViewInit, OnDestroy {
1093
1272
  readonly disabled: _angular_core.InputSignal<boolean>;
1094
1273
  /**
1095
- * Optional width of the first panel (in pixels) when the component is initialized.
1274
+ * If true, the splitter is horizontal (splits top and bottom panels).
1275
+ * Otherwise, it is vertical (splits left and right panels).
1276
+ */
1277
+ readonly horizontal: _angular_core.InputSignal<boolean>;
1278
+ /**
1279
+ * Optional size of the first panel (in pixels) when the component is initialized.
1096
1280
  */
1097
- readonly initialPanelWidth: _angular_core.InputSignal<number | undefined>;
1281
+ readonly initialPanelSize: _angular_core.InputSignal<number | null>;
1098
1282
  /**
1099
- * Minimum width of both panels (in pixels).
1283
+ * Minimum size of both panels (in pixels).
1100
1284
  */
1101
- readonly minimumPanelWidth: _angular_core.InputSignal<number>;
1102
- protected readonly firstPanelWidth: _angular_core.WritableSignal<number>;
1103
- protected readonly secondPanelWidth: _angular_core.Signal<number>;
1285
+ readonly minimumPanelSize: _angular_core.InputSignal<number>;
1286
+ protected readonly firstPanelSize: _angular_core.WritableSignal<number>;
1287
+ protected readonly secondPanelSize: _angular_core.Signal<number>;
1104
1288
  protected readonly isDragging: _angular_core.WritableSignal<boolean>;
1105
1289
  private readonly container;
1106
1290
  private readonly splitter;
1107
1291
  private readonly cdkDrag;
1108
- private storedFirstPanelWidth;
1292
+ private storedFirstPanelSize;
1109
1293
  /**
1110
1294
  * Flag to indicate if the mouse click event should be
1111
1295
  * ignored because the user is dragging the splitter.
@@ -1118,42 +1302,42 @@ declare class SplitterComponent implements AfterViewInit, OnDestroy {
1118
1302
  private readonly dragElementDimensions;
1119
1303
  private readonly resizeObserver;
1120
1304
  /**
1121
- * Available width for the panels, without considering the `minimumPanelWidth` input.
1305
+ * Available size for the panels, without considering the `minimumPanelSize` input.
1122
1306
  */
1123
- private readonly availableWidth;
1307
+ private readonly availableSize;
1124
1308
  /**
1125
1309
  * Position of the drag handle when the component is initialized.
1126
1310
  * The drag position is always relative to this starting position.
1127
1311
  */
1128
1312
  private readonly dragStartPosition;
1129
1313
  /**
1130
- * Minimum panel width that is safe to use, considering the
1131
- * available container width and the `minimumPanelWidth` input.
1314
+ * Minimum panel size that is safe to use, considering the
1315
+ * available container size and the `minimumPanelSize` input.
1132
1316
  */
1133
- protected readonly safeMinPanelWidth: _angular_core.Signal<number>;
1317
+ protected readonly safeMinPanelSize: _angular_core.Signal<number>;
1134
1318
  /**
1135
- * Maximum panel width that is safe to use, considering the
1136
- * available container width and the `minimumPanelWidth
1319
+ * Maximum panel size that is safe to use, considering the
1320
+ * available container size and the `minimumPanelSize
1137
1321
  */
1138
- protected readonly safeMaxPanelWidth: _angular_core.Signal<number>;
1322
+ protected readonly safeMaxPanelSize: _angular_core.Signal<number>;
1139
1323
  constructor();
1140
1324
  ngAfterViewInit(): void;
1141
1325
  ngOnDestroy(): void;
1142
- protected constrainPosition: (userPointerPosition: Point) => {
1326
+ protected constrainPosition: _angular_core.Signal<(userPointerPosition: Point) => {
1143
1327
  x: number;
1144
1328
  y: number;
1145
- };
1329
+ }>;
1146
1330
  protected onDragStarted(): void;
1147
1331
  protected onDragEnded(): void;
1148
1332
  protected onDragMoved(): void;
1149
1333
  protected onSplitterMouseDown(): void;
1150
1334
  protected onSplitterMouseUp(): void;
1151
1335
  protected setDragPosition(position: number): void;
1152
- protected storeFirstPanelWidth(): void;
1153
- private setFirstPanelWidth;
1154
- private clampPanelWidth;
1336
+ protected storeFirstPanelSize(): void;
1337
+ private setFirstPanelSize;
1338
+ private clampPanelSize;
1155
1339
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SplitterComponent, never>;
1156
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SplitterComponent, "ndw-splitter", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "initialPanelWidth": { "alias": "initialPanelWidth"; "required": false; "isSignal": true; }; "minimumPanelWidth": { "alias": "minimumPanelWidth"; "required": false; "isSignal": true; }; }, {}, never, ["[first-panel]", "[second-panel]"], true, never>;
1340
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SplitterComponent, "ndw-splitter", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "horizontal": { "alias": "horizontal"; "required": false; "isSignal": true; }; "initialPanelSize": { "alias": "initialPanelSize"; "required": false; "isSignal": true; }; "minimumPanelSize": { "alias": "minimumPanelSize"; "required": false; "isSignal": true; }; }, {}, never, ["[first-panel]", "[second-panel]"], true, never>;
1157
1341
  }
1158
1342
 
1159
1343
  type SummaryActionsView = 'visible' | 'popover' | 'auto';
@@ -1205,8 +1389,9 @@ declare class SummaryCardSubtitleComponent {
1205
1389
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SummaryCardSubtitleComponent, "ndw-summary-card-subtitle", never, {}, {}, never, ["ndw-icon", "*"], true, never>;
1206
1390
  }
1207
1391
 
1392
+ type SwitcherValue = string | number | boolean;
1208
1393
  interface SwitcherOption {
1209
- value: string;
1394
+ value: SwitcherValue;
1210
1395
  label: string;
1211
1396
  icon?: string;
1212
1397
  disabled?: boolean;
@@ -1215,21 +1400,21 @@ interface SwitcherOption {
1215
1400
  declare class SwitcherComponent implements ControlValueAccessor, OnInit {
1216
1401
  #private;
1217
1402
  readonly options: _angular_core.InputSignal<SwitcherOption[]>;
1218
- readonly selectedValue: _angular_core.ModelSignal<string | undefined>;
1403
+ readonly selectedValue: _angular_core.ModelSignal<SwitcherValue | undefined>;
1219
1404
  readonly disabled: _angular_core.ModelSignal<boolean>;
1220
1405
  readonly vertical: _angular_core.InputSignal<boolean>;
1221
- readonly selectionChange: _angular_core.OutputEmitterRef<string>;
1406
+ readonly selectionChange: _angular_core.OutputEmitterRef<SwitcherValue>;
1222
1407
  sliderHeight: string;
1223
1408
  sliderWidth: string;
1224
1409
  sliderPosition: string;
1225
1410
  private onChange;
1226
1411
  private onTouched;
1227
1412
  ngOnInit(): void;
1228
- writeValue(value: string): void;
1229
- registerOnChange(fn: (value: string) => void): void;
1413
+ writeValue(value: SwitcherValue): void;
1414
+ registerOnChange(fn: (value: SwitcherValue) => void): void;
1230
1415
  registerOnTouched(fn: () => void): void;
1231
1416
  setDisabledState(isDisabled: boolean): void;
1232
- selectOption(value: string): void;
1417
+ selectOption(value: SwitcherValue): void;
1233
1418
  onKeyDown(event: KeyboardEvent, _currentIndex: number): void;
1234
1419
  generateId(index: number): string;
1235
1420
  get componentName(): string;
@@ -1246,12 +1431,13 @@ declare class TabComponent implements OnInit {
1246
1431
  title: _angular_core.InputSignal<string>;
1247
1432
  disabled: _angular_core.InputSignal<boolean>;
1248
1433
  hasError: _angular_core.InputSignal<boolean>;
1434
+ icon: _angular_core.InputSignal<string | undefined>;
1249
1435
  active: boolean;
1250
1436
  id: _angular_core.InputSignal<string | number>;
1251
1437
  ngOnInit(): void;
1252
1438
  getNativeElement(): HTMLElement;
1253
1439
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabComponent, never>;
1254
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabComponent, "ndw-tab", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "hasError": { "alias": "hasError"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
1440
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabComponent, "ndw-tab", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "hasError": { "alias": "hasError"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
1255
1441
  }
1256
1442
 
1257
1443
  declare class TabGroupComponent implements OnDestroy {
@@ -1377,5 +1563,5 @@ declare class TooltipDirective implements OnChanges, OnDestroy, OnInit {
1377
1563
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TooltipDirective, "[ndwTooltip]", never, { "text": { "alias": "ndwTooltip"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
1378
1564
  }
1379
1565
 
1380
- export { AccordionComponent, AccordionService, AlertComponent, AutoGrowDirective, AutosuggestAddOptionComponent, AutosuggestDirective, AutosuggestOptionComponent, AutosuggestPanelComponent, AvatarComponent, BadgeComponent, BannerComponent, BreadcrumbComponent, BreadcrumbGroupComponent, ButtonDirective, CARD_COMPONENTS, CARD_ID_TOKEN, CalendarComponent, CardComponent, CardContentComponent, CardFooterComponent, CardHeaderComponent, CheckboxComponent, CheckboxGroupComponent, CollapsibleComponent, DEFAULT_BACKGROUNDS, DashboardCardComponent, DatepickerComponent, DropdownComponent, EditBarActionsComponent, EditBarComponent, EditBarMessageComponent, ErrorComponent, FavoriteComponent, FileUploadComponent, FormFieldComponent, FormFieldElement, HoverableListItemComponent, IconComponent, InfoComponent, InputButtonComponent, InputDirective, InputIconComponent, KeyValueListComponent, LayoutBannersComponent, LayoutComponent, ListComponent, ListItemComponent, LoaderComponent, MAP_BACKGROUNDS, MAP_BACKGROUND_IMAGES, MAP_LAYERS, MAP_LAYER_IMAGES, MODAL_COMPONENTS, MainNavigationComponent, MapButtonComponent, MapDisplayComponent, MapDisplayOptionComponent, MapLegendComponent, MarkdownEditorComponent, MaxCharDirective, ModalComponent, ModalContentComponent, ModalFooterComponent, ModalHeaderComponent, ModalService, MonthInputComponent, MultiSelectComponent, OptionComponent, OptionGroupComponent, PillComponent, PopoverTriggerDirective, RadioButtonComponent, RadioGroupComponent, RouterBreadcrumbsComponent, SplitterComponent, SummaryCardActionComponent, SummaryCardActionsComponent, SummaryCardComponent, SummaryCardContentComponent, SummaryCardHeaderComponent, SummaryCardSubtitleComponent, SummaryCardTagComponent, SummaryCardTagsComponent, SwitcherComponent, TabComponent, TabGroupComponent, TagComponent, ToastComponent, ToastService, TooltipComponent, TooltipDirective, fontMapButtonIcons, mapButtonIcons, ndwAgGridTheme, svgMapButtonIcons };
1381
- export type { AlertType, AvatarColor, AvatarStatus, BannerType, BaseMapLegendOption, CheckType, CheckboxData, CircleMapLegendOption, DatepickerMode, DisplayOptionDirection, DisplayOptionType, EditBarPosition, EditBarWidth, Environment, FileUploadText, HoverableListItemAction, IconMapLegendOption, ImageMapLegendOption, LineMapLegendOption, MapBackgroundOption, MapBackgrounds, MapButtonIcon, MapDisplayOption, MapLegendOption, MapLegendOptionGroup, MapLegendOptionType, MapLegendViewMode, MenuItem, ModalSize, OptionGroupMode, PolygonMapLegendOption, PopoverPosition, SelectAllText, SubMenuItem, SummaryActionsView, SwitcherOption, Theme, ToastDimensions };
1566
+ export { AccordionComponent, AccordionService, AlertComponent, AutoGrowDirective, AutosuggestAddOptionComponent, AutosuggestDirective, AutosuggestOptionComponent, AutosuggestPanelComponent, AvatarComponent, BROWSER_STORAGE, BadgeComponent, BannerComponent, BaseTourService, BreadcrumbComponent, BreadcrumbGroupComponent, ButtonDirective, CARD_COMPONENTS, CARD_ID_TOKEN, CalendarComponent, CardComponent, CardContentComponent, CardFooterComponent, CardHeaderComponent, CheckboxComponent, CheckboxGroupComponent, CollapsibleComponent, DEFAULT_BACKGROUNDS, DashboardCardComponent, DatepickerComponent, DropdownComponent, EditBarActionsComponent, EditBarComponent, EditBarMessageComponent, ErrorComponent, FavoriteComponent, FileUploadComponent, FormFieldComponent, FormFieldElement, GuidedTourService, HoverableListItemComponent, IconComponent, InfoComponent, InputButtonComponent, InputDirective, InputIconComponent, KeyValueListComponent, LayoutBannersComponent, LayoutComponent, ListComponent, ListItemComponent, LoaderComponent, MAP_BACKGROUNDS, MAP_BACKGROUND_IMAGES, MAP_LAYERS, MAP_LAYER_IMAGES, MODAL_COMPONENTS, MainNavigationComponent, MapButtonComponent, MapDisplayComponent, MapDisplayOptionComponent, MapLegendComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxCharDirective, ModalComponent, ModalContentComponent, ModalFooterComponent, ModalHeaderComponent, ModalService, MonthInputComponent, MultiSelectComponent, OptionComponent, OptionGroupComponent, PillComponent, PopoverTriggerDirective, RadioButtonComponent, RadioGroupComponent, RouterBreadcrumbsComponent, SplitterComponent, SummaryCardActionComponent, SummaryCardActionsComponent, SummaryCardComponent, SummaryCardContentComponent, SummaryCardHeaderComponent, SummaryCardSubtitleComponent, SummaryCardTagComponent, SummaryCardTagsComponent, SwitcherComponent, TabComponent, TabGroupComponent, TagComponent, ToastComponent, ToastService, TooltipComponent, TooltipDirective, backButton, cancelButton, defaultStepOptions, elementIsHidden, finishButton, fontMapButtonIcons, formatStepWithImage, makeButton, mapButtonIcons, ndwAgGridTheme, nextButton, svgMapButtonIcons };
1567
+ export type { AlertType, AvatarColor, AvatarStatus, BannerType, BaseMapLegendOption, CheckType, CheckboxData, CircleMapLegendOption, DatepickerMode, DisplayOptionDirection, DisplayOptionType, EditBarPosition, EditBarWidth, Environment, FileUploadText, HoverableListItemAction, IconMapLegendOption, ImageMapLegendOption, LineMapLegendOption, MapBackgroundOption, MapBackgrounds, MapButtonIcon, MapDisplayOption, MapLegendOption, MapLegendOptionGroup, MapLegendOptionType, MapLegendViewMode, MenuItem, ModalSize, NdwStepOptions, OptionGroupMode, PolygonMapLegendOption, PopoverPosition, RequiredElement, SelectAllText, ShepherdButton, StepImage, SubMenuItem, SummaryActionsView, SwitcherOption, SwitcherValue, Theme, ToastDimensions, TourOptions };