@quadrel-enterprise-ui/framework 20.27.1 → 20.27.3

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/index.d.ts CHANGED
@@ -7,14 +7,14 @@ import { InjectionToken, EventEmitter, OnInit, PipeTransform, TemplateRef, After
7
7
  import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpParams } from '@angular/common/http';
8
8
  import * as i2 from '@angular/common';
9
9
  import { Moment } from 'moment/moment';
10
- import * as i31 from '@angular/forms';
10
+ import * as i30 from '@angular/forms';
11
11
  import { AbstractControl, UntypedFormGroup, ControlValueAccessor, UntypedFormControl, ValidationErrors, FormControlOptions, AsyncValidatorFn, ValidatorFn, UntypedFormArray, AbstractControlOptions, ɵTypedOrUntyped as _TypedOrUntyped, UntypedFormBuilder, FormGroup, FormArray } from '@angular/forms';
12
12
  import * as i9 from '@ngx-translate/core';
13
13
  import { TranslateService } from '@ngx-translate/core';
14
14
  import { OverlayRef, OverlayPositionBuilder, Overlay, ConnectedPosition } from '@angular/cdk/overlay';
15
15
  import * as i4 from '@angular/router';
16
16
  import { Params } from '@angular/router';
17
- import * as i39 from 'ngx-editor';
17
+ import * as i38 from 'ngx-editor';
18
18
  import { Editor, Toolbar } from 'ngx-editor';
19
19
  import { Moment as Moment$1 } from 'moment';
20
20
  import { Highlightable, ActiveDescendantKeyManager } from '@angular/cdk/a11y';
@@ -628,7 +628,9 @@ declare class QdMockPopoverOnClickDirective {
628
628
  qdPopoverHeight: any;
629
629
  qdPopoverMinHeight: any;
630
630
  qdPopoverMaxHeight: any;
631
- positionStrategy: any;
631
+ qdPopoverPlacement: any;
632
+ qdPopoverOffsetX: any;
633
+ qdPopoverOffsetY: any;
632
634
  qdPopoverCloseStrategy: any;
633
635
  qdPopoverDisabled: any;
634
636
  qdPopoverStopPropagation: boolean;
@@ -644,7 +646,7 @@ declare class QdMockPopoverOnClickDirective {
644
646
  private isElementInTemplateClicked;
645
647
  private getTemplateRootNode;
646
648
  static ɵfac: i0.ɵɵFactoryDeclaration<QdMockPopoverOnClickDirective, never>;
647
- static ɵdir: i0.ɵɵDirectiveDeclaration<QdMockPopoverOnClickDirective, "[qdPopoverOnClick]", ["qdPopoverOnClick"], { "qdPopoverOnClick": { "alias": "qdPopoverOnClick"; "required": false; }; "qdPopoverWidth": { "alias": "qdPopoverWidth"; "required": false; }; "qdPopoverMinWidth": { "alias": "qdPopoverMinWidth"; "required": false; }; "qdPopoverMaxWidth": { "alias": "qdPopoverMaxWidth"; "required": false; }; "qdPopoverHeight": { "alias": "qdPopoverHeight"; "required": false; }; "qdPopoverMinHeight": { "alias": "qdPopoverMinHeight"; "required": false; }; "qdPopoverMaxHeight": { "alias": "qdPopoverMaxHeight"; "required": false; }; "positionStrategy": { "alias": "positionStrategy"; "required": false; }; "qdPopoverCloseStrategy": { "alias": "qdPopoverCloseStrategy"; "required": false; }; "qdPopoverDisabled": { "alias": "qdPopoverDisabled"; "required": false; }; "qdPopoverStopPropagation": { "alias": "qdPopoverStopPropagation"; "required": false; }; }, { "opened": "opened"; "closed": "closed"; }, never, never, false, never>;
649
+ static ɵdir: i0.ɵɵDirectiveDeclaration<QdMockPopoverOnClickDirective, "[qdPopoverOnClick]", ["qdPopoverOnClick"], { "qdPopoverOnClick": { "alias": "qdPopoverOnClick"; "required": false; }; "qdPopoverWidth": { "alias": "qdPopoverWidth"; "required": false; }; "qdPopoverMinWidth": { "alias": "qdPopoverMinWidth"; "required": false; }; "qdPopoverMaxWidth": { "alias": "qdPopoverMaxWidth"; "required": false; }; "qdPopoverHeight": { "alias": "qdPopoverHeight"; "required": false; }; "qdPopoverMinHeight": { "alias": "qdPopoverMinHeight"; "required": false; }; "qdPopoverMaxHeight": { "alias": "qdPopoverMaxHeight"; "required": false; }; "qdPopoverPlacement": { "alias": "qdPopoverPlacement"; "required": false; }; "qdPopoverOffsetX": { "alias": "qdPopoverOffsetX"; "required": false; }; "qdPopoverOffsetY": { "alias": "qdPopoverOffsetY"; "required": false; }; "qdPopoverCloseStrategy": { "alias": "qdPopoverCloseStrategy"; "required": false; }; "qdPopoverDisabled": { "alias": "qdPopoverDisabled"; "required": false; }; "qdPopoverStopPropagation": { "alias": "qdPopoverStopPropagation"; "required": false; }; }, { "opened": "opened"; "closed": "closed"; }, never, never, false, never>;
648
650
  }
649
651
 
650
652
  declare class QdMockCoreModule {
@@ -3688,7 +3690,7 @@ declare class QdMockCheckboxChipsItemComponent {
3688
3690
 
3689
3691
  declare class QdMockFormsModule {
3690
3692
  static ɵfac: i0.ɵɵFactoryDeclaration<QdMockFormsModule, never>;
3691
- static ɵmod: i0.ɵɵNgModuleDeclaration<QdMockFormsModule, [typeof QdMockCalendarComponent, typeof QdMockCheckboxChipsComponent, typeof QdMockCheckboxChipsItemComponent, typeof QdMockCheckboxComponent, typeof QdMockCheckboxesComponent, typeof QdMockDatepickerComponent, typeof QdMockDropdownComponent, typeof QdMockFilterFormItemsComponent, typeof QdMockFormErrorComponent, typeof QdMockFormGroupErrorComponent, typeof QdMockFormHintComponent, typeof QdMockFormLabelComponent, typeof QdMockFormReadonlyComponent, typeof QdMockFormViewonlyComponent, typeof QdMockInputComponent, typeof QdMockPinCodeComponent, typeof QdMockRadioButtonsComponent, typeof QdMockSwitchComponent, typeof QdMockSwitchesComponent, typeof QdMockTextareaComponent], [typeof i2.CommonModule, typeof i31.FormsModule], [typeof QdMockCalendarComponent, typeof QdMockCheckboxChipsComponent, typeof QdMockCheckboxComponent, typeof QdMockCheckboxesComponent, typeof QdMockDatepickerComponent, typeof QdMockDropdownComponent, typeof QdMockFilterFormItemsComponent, typeof QdMockFormErrorComponent, typeof QdMockFormGroupErrorComponent, typeof QdMockFormHintComponent, typeof QdMockFormLabelComponent, typeof QdMockFormReadonlyComponent, typeof QdMockFormViewonlyComponent, typeof QdMockInputComponent, typeof QdMockPinCodeComponent, typeof QdMockRadioButtonsComponent, typeof QdMockSwitchComponent, typeof QdMockSwitchesComponent, typeof QdMockTextareaComponent]>;
3693
+ static ɵmod: i0.ɵɵNgModuleDeclaration<QdMockFormsModule, [typeof QdMockCalendarComponent, typeof QdMockCheckboxChipsComponent, typeof QdMockCheckboxChipsItemComponent, typeof QdMockCheckboxComponent, typeof QdMockCheckboxesComponent, typeof QdMockDatepickerComponent, typeof QdMockDropdownComponent, typeof QdMockFilterFormItemsComponent, typeof QdMockFormErrorComponent, typeof QdMockFormGroupErrorComponent, typeof QdMockFormHintComponent, typeof QdMockFormLabelComponent, typeof QdMockFormReadonlyComponent, typeof QdMockFormViewonlyComponent, typeof QdMockInputComponent, typeof QdMockPinCodeComponent, typeof QdMockRadioButtonsComponent, typeof QdMockSwitchComponent, typeof QdMockSwitchesComponent, typeof QdMockTextareaComponent], [typeof i2.CommonModule, typeof i30.FormsModule], [typeof QdMockCalendarComponent, typeof QdMockCheckboxChipsComponent, typeof QdMockCheckboxComponent, typeof QdMockCheckboxesComponent, typeof QdMockDatepickerComponent, typeof QdMockDropdownComponent, typeof QdMockFilterFormItemsComponent, typeof QdMockFormErrorComponent, typeof QdMockFormGroupErrorComponent, typeof QdMockFormHintComponent, typeof QdMockFormLabelComponent, typeof QdMockFormReadonlyComponent, typeof QdMockFormViewonlyComponent, typeof QdMockInputComponent, typeof QdMockPinCodeComponent, typeof QdMockRadioButtonsComponent, typeof QdMockSwitchComponent, typeof QdMockSwitchesComponent, typeof QdMockTextareaComponent]>;
3692
3694
  static ɵinj: i0.ɵɵInjectorDeclaration<QdMockFormsModule>;
3693
3695
  }
3694
3696
 
@@ -5231,6 +5233,7 @@ declare class QdPopoverParentService {
5231
5233
  static ɵprov: i0.ɵɵInjectableDeclaration<QdPopoverParentService>;
5232
5234
  }
5233
5235
 
5236
+ type QdPopoverPlacement = 'bottom-start' | 'bottom-end' | 'top-start' | 'top-end';
5234
5237
  /**
5235
5238
  * **QdPopoverOnClickDirective**
5236
5239
  *
@@ -5258,19 +5261,108 @@ declare class QdPopoverOnClickDirective implements OnInit, OnDestroy {
5258
5261
  protected popoverService: QdPopoverService;
5259
5262
  protected sizingService: QdPopoverSizingService;
5260
5263
  protected popoverParentService: QdPopoverParentService;
5264
+ private readonly _topFirst;
5265
+ /**
5266
+ * The template shown inside the popover.
5267
+ *
5268
+ * Pass the `ng-template` that holds the menu, option list or panel.
5269
+ */
5261
5270
  qdPopoverOnClick: TemplateRef<unknown>;
5262
- positionStrategy?: ConnectedPosition | ConnectedPosition[];
5271
+ /**
5272
+ * Which corner of the host the popover opens from.
5273
+ *
5274
+ * One of `bottom-start`, `bottom-end`, `top-start` or `top-end`. When unset,
5275
+ * the popover uses the default end-aligned position below the host.
5276
+ */
5277
+ qdPopoverPlacement?: QdPopoverPlacement;
5278
+ /**
5279
+ * Fine-tunes the horizontal position, in pixels.
5280
+ *
5281
+ * A negative value moves the popover left, a positive value moves it right.
5282
+ */
5283
+ qdPopoverOffsetX: number;
5284
+ /**
5285
+ * Fine-tunes the vertical gap to the host, in pixels.
5286
+ *
5287
+ * A negative value moves the popover up, a positive value moves it down. The
5288
+ * value is mirrored when the popover flips, so the gap looks the same whether
5289
+ * it opens downward or upward.
5290
+ */
5291
+ qdPopoverOffsetY: number;
5292
+ /**
5293
+ * Decides when a click closes the popover.
5294
+ *
5295
+ * `onEveryClick` (default) closes it on the next click anywhere, including
5296
+ * inside the popover. `onOutsideClick` keeps it open while you click inside
5297
+ * and only closes on a click outside.
5298
+ */
5263
5299
  qdPopoverCloseStrategy: 'onEveryClick' | 'onOutsideClick';
5300
+ /**
5301
+ * Turns the popover off.
5302
+ *
5303
+ * While `true`, clicks and keys on the host no longer open it.
5304
+ */
5264
5305
  qdPopoverDisabled: boolean;
5306
+ /**
5307
+ * Stops the opening click from bubbling to parent elements.
5308
+ *
5309
+ * Keep it `true` so an outer click handler does not fire as well. Set it
5310
+ * `false` when a parent must react to the same click.
5311
+ */
5265
5312
  qdPopoverStopPropagation: boolean;
5313
+ /**
5314
+ * Background colour of the popover panel.
5315
+ *
5316
+ * When unset, the panel uses its default colour.
5317
+ */
5266
5318
  qdPopoverBackgroundColor?: QdPopoverBackgroundColor;
5319
+ /**
5320
+ * Tallest the popover may get, in pixels.
5321
+ *
5322
+ * Once the content is taller, it scrolls inside the popover. `none` removes
5323
+ * the limit.
5324
+ */
5267
5325
  qdPopoverMaxHeight: number | 'none';
5326
+ /**
5327
+ * Narrowest the popover may get, in pixels.
5328
+ *
5329
+ * `none` removes the lower limit.
5330
+ */
5268
5331
  qdPopoverMinWidth: number | 'none';
5332
+ /**
5333
+ * Widest the popover may get, in pixels.
5334
+ *
5335
+ * `none` removes the upper limit. The popover is never wider than the screen,
5336
+ * even if a larger value is set.
5337
+ */
5269
5338
  qdPopoverMaxWidth: number | 'none';
5339
+ /**
5340
+ * Matches the popover size to the host or its content.
5341
+ *
5342
+ * Set `width` and/or `height` to `true`. An empty object keeps the natural
5343
+ * content size. The min and max limits still apply.
5344
+ */
5270
5345
  qdPopoverAutoSize: QdPopoverAutoSizeConfig;
5346
+ /**
5347
+ * Turns on keyboard control.
5348
+ *
5349
+ * While `true`, Enter and Space open the popover and Escape and Tab close it.
5350
+ */
5271
5351
  qdPopoverEnableKeyControl: boolean;
5352
+ /**
5353
+ * Lets the popover flip to the side that has room.
5354
+ *
5355
+ * While `true`, a popover that would open past the screen edge opens to the
5356
+ * opposite side instead. It is opt-in, so popovers that already fit stay put.
5357
+ */
5272
5358
  qdPopoverFlipIntoViewport: boolean;
5359
+ /**
5360
+ * Emits after the popover has opened.
5361
+ */
5273
5362
  readonly opened: EventEmitter<any>;
5363
+ /**
5364
+ * Emits after the popover has closed.
5365
+ */
5274
5366
  readonly closed: EventEmitter<any>;
5275
5367
  handleClick(event: MouseEvent): void;
5276
5368
  handleDocumentClick(event: PointerEvent): void;
@@ -5299,6 +5391,8 @@ declare class QdPopoverOnClickDirective implements OnInit, OnDestroy {
5299
5391
  close(): void;
5300
5392
  private popoverInstance;
5301
5393
  private initPositionStrategy;
5394
+ private buildPlacementPositions;
5395
+ private applyOffsets;
5302
5396
  private withHorizontalFallbacks;
5303
5397
  private createOverlay;
5304
5398
  private runSizingAndOpen;
@@ -5309,7 +5403,7 @@ declare class QdPopoverOnClickDirective implements OnInit, OnDestroy {
5309
5403
  private unsubscribeAll;
5310
5404
  private cleanup;
5311
5405
  static ɵfac: i0.ɵɵFactoryDeclaration<QdPopoverOnClickDirective, never>;
5312
- static ɵdir: i0.ɵɵDirectiveDeclaration<QdPopoverOnClickDirective, "[qdPopoverOnClick]", ["qdPopoverOnClick"], { "qdPopoverOnClick": { "alias": "qdPopoverOnClick"; "required": false; }; "positionStrategy": { "alias": "positionStrategy"; "required": false; }; "qdPopoverCloseStrategy": { "alias": "qdPopoverCloseStrategy"; "required": false; }; "qdPopoverDisabled": { "alias": "qdPopoverDisabled"; "required": false; }; "qdPopoverStopPropagation": { "alias": "qdPopoverStopPropagation"; "required": false; }; "qdPopoverBackgroundColor": { "alias": "qdPopoverBackgroundColor"; "required": false; }; "qdPopoverMaxHeight": { "alias": "qdPopoverMaxHeight"; "required": false; }; "qdPopoverMinWidth": { "alias": "qdPopoverMinWidth"; "required": false; }; "qdPopoverMaxWidth": { "alias": "qdPopoverMaxWidth"; "required": false; }; "qdPopoverAutoSize": { "alias": "qdPopoverAutoSize"; "required": false; }; "qdPopoverEnableKeyControl": { "alias": "qdPopoverEnableKeyControl"; "required": false; }; "qdPopoverFlipIntoViewport": { "alias": "qdPopoverFlipIntoViewport"; "required": false; }; }, { "opened": "opened"; "closed": "closed"; }, never, never, false, never>;
5406
+ static ɵdir: i0.ɵɵDirectiveDeclaration<QdPopoverOnClickDirective, "[qdPopoverOnClick]", ["qdPopoverOnClick"], { "qdPopoverOnClick": { "alias": "qdPopoverOnClick"; "required": false; }; "qdPopoverPlacement": { "alias": "qdPopoverPlacement"; "required": false; }; "qdPopoverOffsetX": { "alias": "qdPopoverOffsetX"; "required": false; }; "qdPopoverOffsetY": { "alias": "qdPopoverOffsetY"; "required": false; }; "qdPopoverCloseStrategy": { "alias": "qdPopoverCloseStrategy"; "required": false; }; "qdPopoverDisabled": { "alias": "qdPopoverDisabled"; "required": false; }; "qdPopoverStopPropagation": { "alias": "qdPopoverStopPropagation"; "required": false; }; "qdPopoverBackgroundColor": { "alias": "qdPopoverBackgroundColor"; "required": false; }; "qdPopoverMaxHeight": { "alias": "qdPopoverMaxHeight"; "required": false; }; "qdPopoverMinWidth": { "alias": "qdPopoverMinWidth"; "required": false; }; "qdPopoverMaxWidth": { "alias": "qdPopoverMaxWidth"; "required": false; }; "qdPopoverAutoSize": { "alias": "qdPopoverAutoSize"; "required": false; }; "qdPopoverEnableKeyControl": { "alias": "qdPopoverEnableKeyControl"; "required": false; }; "qdPopoverFlipIntoViewport": { "alias": "qdPopoverFlipIntoViewport"; "required": false; }; }, { "opened": "opened"; "closed": "closed"; }, never, never, false, never>;
5313
5407
  }
5314
5408
 
5315
5409
  /**
@@ -6600,7 +6694,6 @@ declare class QdDropdownComponent implements ControlValueAccessor, OnInit, OnCha
6600
6694
  options: QdFormOption[];
6601
6695
  filterText: '';
6602
6696
  control: AbstractControl;
6603
- positionStrategy: ConnectedPosition[];
6604
6697
  private _value;
6605
6698
  private _selectedOption;
6606
6699
  private _subs;
@@ -6634,7 +6727,6 @@ declare class QdDropdownComponent implements ControlValueAccessor, OnInit, OnCha
6634
6727
  handleFilterChange($event: any): void;
6635
6728
  onOpenDropdown(): void;
6636
6729
  onDropdownClosed(): void;
6637
- private getPositionStrategy;
6638
6730
  private loadOptionsForCurrentConfig;
6639
6731
  private resolveControl;
6640
6732
  private updateConfiguration;
@@ -7094,7 +7186,7 @@ declare class QdFileUploadService {
7094
7186
  */
7095
7187
  declare class QdInputComponent implements OnInit, OnChanges, OnDestroy, ControlValueAccessor, QdFocusable {
7096
7188
  private readonly actionEmitterService;
7097
- private readonly resolverRegistry;
7189
+ private readonly optionsService;
7098
7190
  private readonly controlContainer;
7099
7191
  private readonly eventBrokerService;
7100
7192
  private readonly numberInputService;
@@ -7173,6 +7265,8 @@ declare class QdInputComponent implements OnInit, OnChanges, OnDestroy, ControlV
7173
7265
  * }
7174
7266
  */
7175
7267
  readonly optionsResolved: EventEmitter<QdFormOptionsResolvedEvent>;
7268
+ closeOptions(): void;
7269
+ openOptionsOnArrow(event: KeyboardEvent): void;
7176
7270
  readonly: boolean;
7177
7271
  readonlyAction: boolean;
7178
7272
  viewonly: boolean;
@@ -7185,6 +7279,8 @@ declare class QdInputComponent implements OnInit, OnChanges, OnDestroy, ControlV
7185
7279
  get isErrorFromOutside(): boolean;
7186
7280
  get isAmbiguousState(): boolean;
7187
7281
  inputElement: ElementRef;
7282
+ private popover?;
7283
+ isOptionsOpen: boolean;
7188
7284
  inputType: QdInputType;
7189
7285
  inputMode: QdInputMode;
7190
7286
  htmlInputType: string;
@@ -7197,8 +7293,8 @@ declare class QdInputComponent implements OnInit, OnChanges, OnDestroy, ControlV
7197
7293
  _value: QdInputValueWithUnit;
7198
7294
  _displayValue: string;
7199
7295
  control: AbstractControl | QdFormControl<any>;
7200
- private _optionsResolver;
7201
7296
  private _subs;
7297
+ private _filteredOptions;
7202
7298
  private _isUserTyped;
7203
7299
  private _onChange;
7204
7300
  private _onTouch;
@@ -7219,6 +7315,8 @@ declare class QdInputComponent implements OnInit, OnChanges, OnDestroy, ControlV
7219
7315
  setDisabledState(disabled: boolean): void;
7220
7316
  handleInput(event: any): void;
7221
7317
  handleOptionSelected(option: QdFormInputOption): void;
7318
+ onOptionsOpened(): void;
7319
+ onOptionsClosed(): void;
7222
7320
  handleUnitChange(unit: any): void;
7223
7321
  handleInputFocus(): void;
7224
7322
  handleInputBlur(): void;
@@ -7228,7 +7326,8 @@ declare class QdInputComponent implements OnInit, OnChanges, OnDestroy, ControlV
7228
7326
  focus(): void;
7229
7327
  emitEnterClick(): void;
7230
7328
  private updateConfig;
7231
- private initializeOptionsResolver;
7329
+ private subscribeToOptions;
7330
+ private loadOptionsForTypedValue;
7232
7331
  private emitValue;
7233
7332
  private initOpModeSubscription;
7234
7333
  private normalizeInitialControlValueIfNeeded;
@@ -8830,118 +8929,24 @@ declare class QdInputUnitsComponent implements OnInit, OnChanges {
8830
8929
  static ɵcmp: i0.ɵɵComponentDeclaration<QdInputUnitsComponent, "qd-input-units", never, { "config": { "alias": "config"; "required": false; }; "unitValue": { "alias": "unit"; "required": false; }; }, { "unitChange": "unitChange"; "opened": "opened"; "closed": "closed"; }, never, never, false, never>;
8831
8930
  }
8832
8931
 
8833
- /**
8834
- * Manages the options popover of a form input, including resolver-based options.
8835
- * The resolver trigger rules are defined on {@link QdFormOptionsResolver}.
8836
- *
8837
- * Invariant: the `value` setter resolves options only on actual value changes. Selecting
8838
- * an option assigns the option's i18n key as the new value right away, because the host
8839
- * component writes exactly that key back into the `value` binding for display purposes —
8840
- * the write-back therefore arrives as a no-op instead of resolving with the i18n key.
8841
- */
8842
- declare class QdInputOptionsDirective extends QdPopoverOnClickDirective implements OnInit, OnChanges, OnDestroy, AfterViewInit {
8843
- private readonly translateService;
8844
- private readonly viewContainerRef;
8845
- private readonly changeDetectorRef;
8932
+ declare class QdInputOptionsComponent implements OnInit, AfterViewInit {
8846
8933
  private readonly resolverRegistry;
8847
- private readonly controlContainer;
8848
- get value(): QdInputValue;
8849
- /**
8850
- * The value of the form input
8851
- */
8852
- set value(value: QdInputValue);
8853
- /**
8854
- * The configuration of the form input
8855
- *
8856
- * @example
8857
- * {
8858
- * label: { i18n: 'label' },
8859
- * placeholder: { i18n: 'placeholder' },
8860
- * hint: { i18n: 'hint' }
8861
- * };
8862
- */
8863
- config: QdFormInputConfiguration;
8864
- /**
8865
- * Emits event when the value has changed. Note: Emits on keyup (no longer on click, as before)!
8866
- */
8867
- readonly enterClick: EventEmitter<any>;
8868
- /**
8869
- * Emits event when an option in the fly out has been selected.
8870
- */
8934
+ private readonly keyboardService;
8935
+ private readonly optionsService;
8871
8936
  readonly optionSelected: EventEmitter<_quadrel_enterprise_ui_framework.QdFormBaseOption>;
8872
- /**
8873
- * Emits the resolved options and the depended-on values they were resolved with,
8874
- * after every resolver run.
8875
- *
8876
- * The resolver fetches the options; this output lets the component react to them —
8877
- * typically to drop a selection the new options no longer contain (e.g. clear the
8878
- * chosen city once the country changed).
8879
- *
8880
- * @example
8881
- * onCityOptionsResolved(event: QdFormOptionsResolvedEvent): void {
8882
- * const city = this.form.get('city');
8883
- * if (city?.value && !event.options.some(o => o.value === city.value)) city.reset();
8884
- * }
8885
- */
8886
- readonly optionsResolved: EventEmitter<QdFormOptionsResolvedEvent>;
8887
- onSpace(): void;
8888
- onEscape(): void;
8889
- onTab(): void;
8937
+ optionComponents: QueryList<QdFormInputComponent>;
8938
+ readonly filteredOptions$: Observable<QdFormResolvedOptions>;
8939
+ readonly optionsRequestState$: Observable<QdFormOptionsRequestState>;
8940
+ protected readonly QdFormOptionsRequestState: typeof QdFormOptionsRequestState;
8890
8941
  private _optionsResolver;
8891
- private _optionsRequestStateSubject;
8892
- private readonly _optionsLoadingHintDelay;
8893
- private readonly _optionsLoadingHintMinTime;
8894
- private _hostElement;
8895
- private _keyManager?;
8896
- private _value;
8897
- private _filteredOptionsSubject;
8898
- private _destroyed$;
8899
- private _dependsOnSubscription;
8900
- private readonly _resolveRequests$;
8901
- filteredOptions$: rxjs.Observable<QdFormResolvedOptions>;
8902
- optionsRequestState$: rxjs.Observable<QdFormOptionsRequestState>;
8903
- formInputComponents: QueryList<QdFormInputComponent>;
8904
- constructor();
8905
- ngOnInit(): void;
8906
- private initializeOptionsResolver;
8907
- ngOnChanges(changes: SimpleChanges): void;
8908
- ngOnDestroy(): void;
8909
- ngAfterViewInit(): void;
8910
- onKeyDown(event: KeyboardEvent): void;
8911
- selectOption(option: QdFormResolvedOption): void;
8912
- private logWarningIfBothOptionsAndResolverAreUsed;
8913
- private logWarningIfDependsOnWithoutFormGroup;
8914
- private closePopover;
8915
- private createKeyManager;
8916
- private setPopoverProperties;
8917
- private hasOptions;
8918
- private updateOptions;
8919
- private updateOptionsWhenDependsOnControlsChange;
8920
- private updateOptionsWithResolver;
8921
- private publishLatestResolvedOptions;
8922
- private filterOptions;
8923
- static ɵfac: i0.ɵɵFactoryDeclaration<QdInputOptionsDirective, never>;
8924
- static ɵdir: i0.ɵɵDirectiveDeclaration<QdInputOptionsDirective, "[qdInputOptions]", never, { "value": { "alias": "value"; "required": false; }; "config": { "alias": "config"; "required": false; }; }, { "enterClick": "enterClick"; "optionSelected": "optionSelected"; "optionsResolved": "optionsResolved"; }, never, never, false, never>;
8925
- }
8926
-
8927
- declare class QdInputOptionsComponent implements OnInit, AfterViewInit {
8928
- private readonly resolverRegistry;
8929
- filteredOptions$: Observable<QdFormResolvedOptions>;
8930
- optionsRequestState$: Observable<QdFormOptionsRequestState>;
8931
- template: EventEmitter<TemplateRef<any>>;
8932
- formInputComponents: EventEmitter<QueryList<QdFormInputComponent>>;
8933
- optionSelected: EventEmitter<_quadrel_enterprise_ui_framework.QdFormBaseOption>;
8934
- private _template;
8935
- _formInputComponents: QueryList<QdFormInputComponent>;
8936
8942
  get requestLoadingHintI18n(): string;
8937
8943
  get requestErrorHintI18n(): string;
8938
- protected readonly QdFormOptionsRequestState: typeof QdFormOptionsRequestState;
8939
- private _optionsResolver;
8944
+ onKeyDown(event: KeyboardEvent): void;
8940
8945
  ngOnInit(): void;
8941
8946
  ngAfterViewInit(): void;
8942
8947
  selectOption(option: QdFormResolvedOption): void;
8943
8948
  static ɵfac: i0.ɵɵFactoryDeclaration<QdInputOptionsComponent, never>;
8944
- static ɵcmp: i0.ɵɵComponentDeclaration<QdInputOptionsComponent, "qd-input-options", never, { "filteredOptions$": { "alias": "filteredOptions$"; "required": false; }; "optionsRequestState$": { "alias": "optionsRequestState$"; "required": false; }; }, { "template": "template"; "formInputComponents": "formInputComponents"; "optionSelected": "optionSelected"; }, never, never, false, never>;
8949
+ static ɵcmp: i0.ɵɵComponentDeclaration<QdInputOptionsComponent, "qd-input-options", never, {}, { "optionSelected": "optionSelected"; }, never, never, false, never>;
8945
8950
  }
8946
8951
 
8947
8952
  type QdMultiInputChipColor = 'default' | 'error' | 'pending';
@@ -9076,7 +9081,7 @@ declare class QdTooltipModule {
9076
9081
 
9077
9082
  declare class QdFormModule {
9078
9083
  static ɵfac: i0.ɵɵFactoryDeclaration<QdFormModule, never>;
9079
- static ɵmod: i0.ɵɵNgModuleDeclaration<QdFormModule, [typeof QdCalendarComponent, typeof QdCheckboxChipsComponent, typeof QdCheckboxChipsItemComponent, typeof QdCheckboxComponent, typeof QdCheckboxesComponent, typeof QdDatepickerComponent, typeof QdDropdownComponent, typeof QdDropdownOptionsComponent, typeof QdFilterFormItemsComponent, typeof QdFormErrorComponent, typeof QdFormHintComponent, typeof QdFormLabelComponent, typeof QdFormReadonlyComponent, typeof QdFormViewonlyComponent, typeof QdInputComponent, typeof QdInputUnitsComponent, typeof QdInputOptionsDirective, typeof QdInputOptionsComponent, typeof QdMultiInputChipComponent, typeof QdMultiInputMenuComponent, typeof QdMultiInputComponent, typeof QdPinCodeComponent, typeof QdRadioButtonsComponent, typeof QdSwitchComponent, typeof QdSwitchesComponent, typeof QdTextareaComponent, typeof QdFormInputComponent, typeof QdRichtextComponent, typeof QdFileUploadComponent], [typeof i2.CommonModule, typeof i31.FormsModule, typeof i31.ReactiveFormsModule, typeof i9.TranslateModule, typeof QdAutofocusModule, typeof QdChipModule, typeof QdCoreModule, typeof QdIconModule, typeof QdPopoverModule, typeof QdTooltipModule, typeof i39.NgxEditorModule], [typeof QdCheckboxChipsComponent, typeof QdCheckboxComponent, typeof QdCheckboxesComponent, typeof QdDatepickerComponent, typeof QdDropdownComponent, typeof QdFilterFormItemsComponent, typeof QdInputComponent, typeof QdMultiInputComponent, typeof QdPinCodeComponent, typeof QdRadioButtonsComponent, typeof QdSwitchComponent, typeof QdSwitchesComponent, typeof QdTextareaComponent, typeof QdRichtextComponent, typeof QdFileUploadComponent]>;
9084
+ static ɵmod: i0.ɵɵNgModuleDeclaration<QdFormModule, [typeof QdCalendarComponent, typeof QdCheckboxChipsComponent, typeof QdCheckboxChipsItemComponent, typeof QdCheckboxComponent, typeof QdCheckboxesComponent, typeof QdDatepickerComponent, typeof QdDropdownComponent, typeof QdDropdownOptionsComponent, typeof QdFilterFormItemsComponent, typeof QdFormErrorComponent, typeof QdFormHintComponent, typeof QdFormLabelComponent, typeof QdFormReadonlyComponent, typeof QdFormViewonlyComponent, typeof QdInputComponent, typeof QdInputUnitsComponent, typeof QdInputOptionsComponent, typeof QdMultiInputChipComponent, typeof QdMultiInputMenuComponent, typeof QdMultiInputComponent, typeof QdPinCodeComponent, typeof QdRadioButtonsComponent, typeof QdSwitchComponent, typeof QdSwitchesComponent, typeof QdTextareaComponent, typeof QdFormInputComponent, typeof QdRichtextComponent, typeof QdFileUploadComponent], [typeof i2.CommonModule, typeof i30.FormsModule, typeof i30.ReactiveFormsModule, typeof i9.TranslateModule, typeof QdAutofocusModule, typeof QdChipModule, typeof QdCoreModule, typeof QdIconModule, typeof QdPopoverModule, typeof QdTooltipModule, typeof i38.NgxEditorModule], [typeof QdCheckboxChipsComponent, typeof QdCheckboxComponent, typeof QdCheckboxesComponent, typeof QdDatepickerComponent, typeof QdDropdownComponent, typeof QdFilterFormItemsComponent, typeof QdInputComponent, typeof QdMultiInputComponent, typeof QdPinCodeComponent, typeof QdRadioButtonsComponent, typeof QdSwitchComponent, typeof QdSwitchesComponent, typeof QdTextareaComponent, typeof QdRichtextComponent, typeof QdFileUploadComponent]>;
9080
9085
  static ɵinj: i0.ɵɵInjectorDeclaration<QdFormModule>;
9081
9086
  }
9082
9087
 
@@ -12084,7 +12089,6 @@ declare class QdFilterItemSelectCategoryComponent implements OnInit {
12084
12089
  dependsOn: string[];
12085
12090
  showSelectButton$: Observable<boolean>;
12086
12091
  itemsLoading$: Observable<boolean>;
12087
- positionStrategy: ConnectedPosition[];
12088
12092
  maxFlyoutHeight: number;
12089
12093
  private _destroyRef;
12090
12094
  private frozenSelectedKeys;
@@ -12157,7 +12161,7 @@ declare class QdFilterItemSingleSelectComponent implements OnInit, OnDestroy {
12157
12161
 
12158
12162
  declare class QdFilterModule {
12159
12163
  static ɵfac: i0.ɵɵFactoryDeclaration<QdFilterModule, never>;
12160
- static ɵmod: i0.ɵɵNgModuleDeclaration<QdFilterModule, [typeof LocaleDatePipe, typeof QdFilterComponent, typeof QdFilterCategoryComponent, typeof QdFilterCategoryBooleanComponent, typeof QdFilterItemBooleanComponent, typeof QdFilterItemDateCategoryComponent, typeof QdFilterItemDateComponent, typeof QdFilterItemDateRangeCategoryComponent, typeof QdFilterItemDateRangeComponent, typeof QdFilterItemFreeTextCategoryComponent, typeof QdFilterItemFreeTextComponent, typeof QdFilterItemSelectCategoryComponent, typeof QdFilterItemMultiSelectComponent, typeof QdFilterItemSingleSelectComponent], [typeof i2.CommonModule, typeof i31.FormsModule, typeof i9.TranslateModule, typeof QdButtonModule, typeof QdChipModule, typeof QdCoreModule, typeof QdFormModule, typeof QdIconModule, typeof QdPopoverModule, typeof QdTooltipModule, typeof i25.StoreFeatureModule], [typeof QdFilterComponent]>;
12164
+ static ɵmod: i0.ɵɵNgModuleDeclaration<QdFilterModule, [typeof LocaleDatePipe, typeof QdFilterComponent, typeof QdFilterCategoryComponent, typeof QdFilterCategoryBooleanComponent, typeof QdFilterItemBooleanComponent, typeof QdFilterItemDateCategoryComponent, typeof QdFilterItemDateComponent, typeof QdFilterItemDateRangeCategoryComponent, typeof QdFilterItemDateRangeComponent, typeof QdFilterItemFreeTextCategoryComponent, typeof QdFilterItemFreeTextComponent, typeof QdFilterItemSelectCategoryComponent, typeof QdFilterItemMultiSelectComponent, typeof QdFilterItemSingleSelectComponent], [typeof i2.CommonModule, typeof i30.FormsModule, typeof i9.TranslateModule, typeof QdButtonModule, typeof QdChipModule, typeof QdCoreModule, typeof QdFormModule, typeof QdIconModule, typeof QdPopoverModule, typeof QdTooltipModule, typeof i25.StoreFeatureModule], [typeof QdFilterComponent]>;
12161
12165
  static ɵinj: i0.ɵɵInjectorDeclaration<QdFilterModule>;
12162
12166
  }
12163
12167
 
@@ -18193,7 +18197,7 @@ declare class QdStriphtmlPipe implements PipeTransform {
18193
18197
 
18194
18198
  declare class QdCommentsModule {
18195
18199
  static ɵfac: i0.ɵɵFactoryDeclaration<QdCommentsModule, never>;
18196
- static ɵmod: i0.ɵɵNgModuleDeclaration<QdCommentsModule, [typeof QdCommentsComponent, typeof QdCommentMenuComponent, typeof AddCommentDialogComponent, typeof QdStriphtmlPipe], [typeof i2.CommonModule, typeof i9.TranslateModule, typeof QdPopoverModule, typeof QdIconModule, typeof QdButtonModule, typeof QdFormModule, typeof QdDialogModule, typeof i31.FormsModule, typeof i31.ReactiveFormsModule, typeof QdCoreModule], [typeof QdCommentsComponent]>;
18200
+ static ɵmod: i0.ɵɵNgModuleDeclaration<QdCommentsModule, [typeof QdCommentsComponent, typeof QdCommentMenuComponent, typeof AddCommentDialogComponent, typeof QdStriphtmlPipe], [typeof i2.CommonModule, typeof i9.TranslateModule, typeof QdPopoverModule, typeof QdIconModule, typeof QdButtonModule, typeof QdFormModule, typeof QdDialogModule, typeof i30.FormsModule, typeof i30.ReactiveFormsModule, typeof QdCoreModule], [typeof QdCommentsComponent]>;
18197
18201
  static ɵinj: i0.ɵɵInjectorDeclaration<QdCommentsModule>;
18198
18202
  }
18199
18203
 
@@ -18750,7 +18754,7 @@ declare class QdFocusableModule {
18750
18754
 
18751
18755
  declare class QdQuickEditModule {
18752
18756
  static ɵfac: i0.ɵɵFactoryDeclaration<QdQuickEditModule, never>;
18753
- static ɵmod: i0.ɵɵNgModuleDeclaration<QdQuickEditModule, [typeof QdQuickEditComponent, typeof QdCustomForDirective], [typeof QdCoreModule, typeof QdButtonModule, typeof i2.CommonModule, typeof QdFormModule, typeof i31.ReactiveFormsModule, typeof QdIconModule, typeof QdPopoverModule, typeof i9.TranslateModule, typeof QdPageModule, typeof QdFocusableModule, typeof QdTooltipModule], [typeof QdQuickEditComponent]>;
18757
+ static ɵmod: i0.ɵɵNgModuleDeclaration<QdQuickEditModule, [typeof QdQuickEditComponent, typeof QdCustomForDirective], [typeof QdCoreModule, typeof QdButtonModule, typeof i2.CommonModule, typeof QdFormModule, typeof i30.ReactiveFormsModule, typeof QdIconModule, typeof QdPopoverModule, typeof i9.TranslateModule, typeof QdPageModule, typeof QdFocusableModule, typeof QdTooltipModule], [typeof QdQuickEditComponent]>;
18754
18758
  static ɵinj: i0.ɵɵInjectorDeclaration<QdQuickEditModule>;
18755
18759
  }
18756
18760
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quadrel-enterprise-ui/framework",
3
- "version": "20.27.1",
3
+ "version": "20.27.3",
4
4
  "exports": {
5
5
  "./jest-preset": "./jest-preset.js",
6
6
  "./package.json": {