@mozaic-ds/angular 2.1.7 → 2.1.9

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.1.7",
3
+ "version": "2.1.9",
4
4
  "type": "module",
5
5
  "peerDependencies": {
6
6
  "@angular/common": ">=20.3.15",
@@ -13,7 +13,6 @@
13
13
  },
14
14
  "sideEffects": false,
15
15
  "publishConfig": {
16
- "registry": "https://registry.npmjs.org/",
17
16
  "access": "public"
18
17
  },
19
18
  "repository": {
@@ -1,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { TemplateRef, OnInit, ElementRef, InjectionToken, Type, AfterViewInit, OnDestroy, Renderer2, WritableSignal, Signal, AfterContentInit, QueryList, EventEmitter, ComponentRef } from '@angular/core';
2
+ import { TemplateRef, OnInit, ElementRef, InjectionToken, Type, AfterViewInit, OnDestroy, Renderer2, WritableSignal, Signal, AfterContentInit, QueryList, ComponentRef } from '@angular/core';
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';
@@ -171,7 +171,7 @@ declare class MozFieldGroupComponent {
171
171
  }
172
172
 
173
173
  type MozFileUploaderFormat = 'inline' | 'stacked';
174
- declare class MozFileUploaderComponent implements OnInit {
174
+ declare class MozFileUploaderComponent implements OnInit, ControlValueAccessor {
175
175
  readonly id: _angular_core.InputSignal<string>;
176
176
  readonly label: _angular_core.InputSignal<string | undefined>;
177
177
  readonly helpText: _angular_core.InputSignal<string | undefined>;
@@ -197,12 +197,25 @@ declare class MozFileUploaderComponent implements OnInit {
197
197
  readonly fileInformation: _angular_core.InputSignal<((file: File) => string) | undefined>;
198
198
  readonly retryFile: _angular_core.OutputEmitterRef<File>;
199
199
  readonly previewFile: _angular_core.OutputEmitterRef<File>;
200
+ /**
201
+ * Emits the current file list every time it changes because of a user
202
+ * interaction (select, drag & drop, delete). This lets the component be
203
+ * bound outside of Reactive Forms too, e.g. `(filesChange)="files = $event"`.
204
+ *
205
+ * When used inside a `FormGroup`/`FormControl` (via `formControlName` or
206
+ * `[(ngModel)]`), this output fires from the exact same code path as the
207
+ * `ControlValueAccessor` `onChange` callback below — both are always in
208
+ * sync, so most form use cases only need `valueChanges` on the control.
209
+ */
210
+ readonly filesChange: _angular_core.OutputEmitterRef<File[]>;
200
211
  readonly files: _angular_core.WritableSignal<File[]>;
201
212
  readonly isDragged: _angular_core.WritableSignal<boolean>;
213
+ private readonly formDisabled;
202
214
  readonly initialFiles: _angular_core.InputSignal<File[]>;
203
215
  readonly classes: _angular_core.Signal<{
204
216
  'file-uploader--draggable': boolean;
205
217
  }>;
218
+ readonly isDisabledState: _angular_core.Signal<boolean>;
206
219
  readonly inputClasses: _angular_core.Signal<{
207
220
  'file-uploader__input--disabled': boolean;
208
221
  'file-uploader__input--dragged': boolean;
@@ -219,8 +232,27 @@ declare class MozFileUploaderComponent implements OnInit {
219
232
  openFileDialog(): void;
220
233
  onDragOver(event: DragEvent): void;
221
234
  onDragLeave(event: DragEvent): void;
235
+ private onChange;
236
+ private onTouched;
237
+ /**
238
+ * Called by Angular Forms to push a value INTO the component (e.g. on
239
+ * `form.reset()`, `patchValue()`, or when the form is initialized with a
240
+ * non-empty value). Must only update local state, never call `onChange`
241
+ * back — otherwise it would create a feedback loop with the form.
242
+ */
243
+ writeValue(files: File[] | null): void;
244
+ registerOnChange(fn: (files: File[]) => void): void;
245
+ registerOnTouched(fn: () => void): void;
246
+ setDisabledState(isDisabled: boolean): void;
247
+ /**
248
+ * Single entry point for every user-driven mutation of the file list
249
+ * (select, drag & drop, delete). Updates the internal signal, then
250
+ * notifies both the `filesChange` output and the Reactive Forms
251
+ * `onChange`/`onTouched` callbacks so the two stay in sync.
252
+ */
253
+ private commitFiles;
222
254
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MozFileUploaderComponent, never>;
223
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MozFileUploaderComponent, "moz-file-uploader", never, { "id": { "alias": "id"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "helpText": { "alias": "helpText"; "required": false; "isSignal": true; }; "helpId": { "alias": "helpId"; "required": false; "isSignal": true; }; "necessityIndicator": { "alias": "necessityIndicator"; "required": false; "isSignal": true; }; "hasDragDrop": { "alias": "hasDragDrop"; "required": false; "isSignal": true; }; "showFilesList": { "alias": "showFilesList"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "multipleFiles": { "alias": "multipleFiles"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "uploadButtonLabel": { "alias": "uploadButtonLabel"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "uploading": { "alias": "uploading"; "required": false; "isSignal": true; }; "hasPreview": { "alias": "hasPreview"; "required": false; "isSignal": true; }; "retryButtonLabel": { "alias": "retryButtonLabel"; "required": false; "isSignal": true; }; "deleteButtonLabel": { "alias": "deleteButtonLabel"; "required": false; "isSignal": true; }; "previewButtonLabel": { "alias": "previewButtonLabel"; "required": false; "isSignal": true; }; "information": { "alias": "information"; "required": false; "isSignal": true; }; "fileInformation": { "alias": "fileInformation"; "required": false; "isSignal": true; }; "initialFiles": { "alias": "initialFiles"; "required": false; "isSignal": true; }; }, { "retryFile": "retryFile"; "previewFile": "previewFile"; }, never, never, true, never>;
255
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MozFileUploaderComponent, "moz-file-uploader", never, { "id": { "alias": "id"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "helpText": { "alias": "helpText"; "required": false; "isSignal": true; }; "helpId": { "alias": "helpId"; "required": false; "isSignal": true; }; "necessityIndicator": { "alias": "necessityIndicator"; "required": false; "isSignal": true; }; "hasDragDrop": { "alias": "hasDragDrop"; "required": false; "isSignal": true; }; "showFilesList": { "alias": "showFilesList"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "multipleFiles": { "alias": "multipleFiles"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "uploadButtonLabel": { "alias": "uploadButtonLabel"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "uploading": { "alias": "uploading"; "required": false; "isSignal": true; }; "hasPreview": { "alias": "hasPreview"; "required": false; "isSignal": true; }; "retryButtonLabel": { "alias": "retryButtonLabel"; "required": false; "isSignal": true; }; "deleteButtonLabel": { "alias": "deleteButtonLabel"; "required": false; "isSignal": true; }; "previewButtonLabel": { "alias": "previewButtonLabel"; "required": false; "isSignal": true; }; "information": { "alias": "information"; "required": false; "isSignal": true; }; "fileInformation": { "alias": "fileInformation"; "required": false; "isSignal": true; }; "initialFiles": { "alias": "initialFiles"; "required": false; "isSignal": true; }; }, { "retryFile": "retryFile"; "previewFile": "previewFile"; "filesChange": "filesChange"; }, never, never, true, never>;
224
256
  }
225
257
 
226
258
  type MozFileUploaderItemFormat = 'inline' | 'stacked';
@@ -737,7 +769,6 @@ declare class MozTabsComponent implements AfterContentInit {
737
769
  centered: _angular_core.InputSignal<boolean>;
738
770
  selectedIndex: _angular_core.ModelSignal<number>;
739
771
  tabsInput: _angular_core.InputSignal<MozTabItem[]>;
740
- selectedIndexChange: EventEmitter<number>;
741
772
  tabsArray: _angular_core.WritableSignal<MozTabComponent[]>;
742
773
  virtualTabs: _angular_core.WritableSignal<MozTabItem[]>;
743
774
  constructor();
@@ -761,7 +792,7 @@ declare class MozTabsComponent implements AfterContentInit {
761
792
  onClickTab(index: number): void;
762
793
  onClickVirtualTab(index: number, tab: MozTabItem): void;
763
794
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MozTabsComponent, never>;
764
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MozTabsComponent, "moz-tabs", never, { "description": { "alias": "description"; "required": false; "isSignal": true; }; "divider": { "alias": "divider"; "required": false; "isSignal": true; }; "centered": { "alias": "centered"; "required": false; "isSignal": true; }; "selectedIndex": { "alias": "selectedIndex"; "required": false; "isSignal": true; }; "tabsInput": { "alias": "tabs"; "required": false; "isSignal": true; }; }, { "selectedIndex": "selectedIndexChange"; "selectedIndexChange": "selectedIndexChange"; }, ["tabs"], never, true, never>;
795
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MozTabsComponent, "moz-tabs", never, { "description": { "alias": "description"; "required": false; "isSignal": true; }; "divider": { "alias": "divider"; "required": false; "isSignal": true; }; "centered": { "alias": "centered"; "required": false; "isSignal": true; }; "selectedIndex": { "alias": "selectedIndex"; "required": false; "isSignal": true; }; "tabsInput": { "alias": "tabs"; "required": false; "isSignal": true; }; }, { "selectedIndex": "selectedIndexChange"; }, ["tabs"], never, true, never>;
765
796
  }
766
797
 
767
798
  type MozTagType = 'informative' | 'interactive' | 'contextualised' | 'removable' | 'selectable';
@@ -1901,7 +1932,6 @@ declare class MozPageHeaderComponent {
1901
1932
  readonly toggleMenu: _angular_core.OutputEmitterRef<void>;
1902
1933
  readonly toggleScope: _angular_core.OutputEmitterRef<boolean | undefined>;
1903
1934
  readonly scopeValueChange: _angular_core.OutputEmitterRef<string | number | boolean>;
1904
- readonly activeTabChange: _angular_core.OutputEmitterRef<number>;
1905
1935
  readonly classes: _angular_core.Signal<{
1906
1936
  'mc-page-header': boolean;
1907
1937
  'mc-page-header--with-shadow': boolean;
@@ -1923,9 +1953,8 @@ declare class MozPageHeaderComponent {
1923
1953
  onToggleScope(): void;
1924
1954
  onScopeTagClick(): void;
1925
1955
  onScopeSelectChange(value: string | number): void;
1926
- onActiveTabChange(index: number): void;
1927
1956
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MozPageHeaderComponent, never>;
1928
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MozPageHeaderComponent, "moz-page-header", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "shadow": { "alias": "shadow"; "required": false; "isSignal": true; }; "backButton": { "alias": "backButton"; "required": false; "isSignal": true; }; "searchButton": { "alias": "searchButton"; "required": false; "isSignal": true; }; "helpButton": { "alias": "helpButton"; "required": false; "isSignal": true; }; "notificationButton": { "alias": "notificationButton"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "statusLabel": { "alias": "statusLabel"; "required": false; "isSignal": true; }; "extraInfo": { "alias": "extraInfo"; "required": false; "isSignal": true; }; "scope": { "alias": "scope"; "required": false; "isSignal": true; }; "scopeValue": { "alias": "scopeValue"; "required": false; "isSignal": true; }; "scopePlaceholder": { "alias": "scopePlaceholder"; "required": false; "isSignal": true; }; "tabs": { "alias": "tabs"; "required": false; "isSignal": true; }; "activeTab": { "alias": "activeTab"; "required": false; "isSignal": true; }; }, { "activeTab": "activeTabChange"; "back": "back"; "search": "search"; "help": "help"; "notification": "notification"; "toggleMenu": "toggleMenu"; "toggleScope": "toggleScope"; "scopeValueChange": "scopeValueChange"; "activeTabChange": "activeTabChange"; }, never, ["[content]", "[actions]"], true, never>;
1957
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MozPageHeaderComponent, "moz-page-header", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "shadow": { "alias": "shadow"; "required": false; "isSignal": true; }; "backButton": { "alias": "backButton"; "required": false; "isSignal": true; }; "searchButton": { "alias": "searchButton"; "required": false; "isSignal": true; }; "helpButton": { "alias": "helpButton"; "required": false; "isSignal": true; }; "notificationButton": { "alias": "notificationButton"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "statusLabel": { "alias": "statusLabel"; "required": false; "isSignal": true; }; "extraInfo": { "alias": "extraInfo"; "required": false; "isSignal": true; }; "scope": { "alias": "scope"; "required": false; "isSignal": true; }; "scopeValue": { "alias": "scopeValue"; "required": false; "isSignal": true; }; "scopePlaceholder": { "alias": "scopePlaceholder"; "required": false; "isSignal": true; }; "tabs": { "alias": "tabs"; "required": false; "isSignal": true; }; "activeTab": { "alias": "activeTab"; "required": false; "isSignal": true; }; }, { "activeTab": "activeTabChange"; "back": "back"; "search": "search"; "help": "help"; "notification": "notification"; "toggleMenu": "toggleMenu"; "toggleScope": "toggleScope"; "scopeValueChange": "scopeValueChange"; }, never, ["[content]", "[actions]"], true, never>;
1929
1958
  }
1930
1959
 
1931
1960
  type MozTileAppearance = 'primary' | 'secondary' | 'inverse';