@mozaic-ds/angular 2.1.8 → 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.8",
3
+ "version": "2.1.9",
4
4
  "type": "module",
5
5
  "peerDependencies": {
6
6
  "@angular/common": ">=20.3.15",
@@ -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';