@quadrel-enterprise-ui/framework 20.17.2 → 20.18.0-beta.183.1

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.
@@ -10,7 +10,7 @@ import * as i3 from '@ngx-translate/core';
10
10
  import { TranslateService, TranslateModule } from '@ngx-translate/core';
11
11
  import * as i2$1 from '@angular/router';
12
12
  import { Router, ActivationEnd, RouterModule, ActivatedRoute, NavigationEnd, NavigationCancel, NavigationError, NavigationStart } from '@angular/router';
13
- import { HttpStatusCode, HttpEventType, HttpClient, HttpParams, HTTP_INTERCEPTORS } from '@angular/common/http';
13
+ import { HttpStatusCode, HttpParams, HttpEventType, HttpClient, HTTP_INTERCEPTORS } from '@angular/common/http';
14
14
  import * as _ from 'lodash';
15
15
  import { upperCase, lowerFirst, isEqual, range, get as get$1, cloneDeep, union, isNumber as isNumber$1 } from 'lodash';
16
16
  import * as i2 from '@angular/forms';
@@ -6766,6 +6766,52 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
6766
6766
  type: Input
6767
6767
  }] } });
6768
6768
 
6769
+ /**
6770
+ * **qdWrapParams** wraps an `HttpParams` in the {@link QdQueryParameter} contract. Every serializer returns
6771
+ * through this, so `.params` and `toQueryString()` always match.
6772
+ *
6773
+ * ### Usage
6774
+ *
6775
+ * ```ts
6776
+ * qdWrapParams(new HttpParams().set('page', '0')).toQueryString(); // 'page=0'
6777
+ * ```
6778
+ *
6779
+ * @param params - The query parameters for one dimension.
6780
+ * @returns A {@link QdQueryParameter} with both forms.
6781
+ */
6782
+ function qdWrapParams(params) {
6783
+ return { params, toQueryString: () => params.toString() };
6784
+ }
6785
+ /**
6786
+ * **qdMergeParams** combines several {@link QdQueryParameter} parts into one. Repeated keys such as `sort` are
6787
+ * kept, and the parts stay in the order you pass them.
6788
+ *
6789
+ * ### Usage
6790
+ *
6791
+ * ```ts
6792
+ * const params = qdMergeParams([qdFilterParameterize(props.filter), qdSearchParameterize(props.search)]).params;
6793
+ * this.http.get('/api/companies', { params });
6794
+ * ```
6795
+ *
6796
+ * @remarks
6797
+ * Each part must use its own keys. If two parts share a key, both values are kept and nothing
6798
+ * warns you. Do not rely on key order — backends treat query parameters as unordered.
6799
+ *
6800
+ * @param parts - The dimensions to merge.
6801
+ * @returns One {@link QdQueryParameter} with every key of every part.
6802
+ */
6803
+ function qdMergeParams(parts) {
6804
+ let merged = new HttpParams();
6805
+ for (const part of parts) {
6806
+ for (const key of part.params.keys()) {
6807
+ for (const value of part.params.getAll(key)) {
6808
+ merged = merged.append(key, value);
6809
+ }
6810
+ }
6811
+ }
6812
+ return qdWrapParams(merged);
6813
+ }
6814
+
6769
6815
  /**
6770
6816
  * Framework-wide funnel for syncing application state with the URL `?key=value` query string.
6771
6817
  *
@@ -20453,14 +20499,22 @@ function getFilterUrlParameter(categories, outputLegacyQueryStringFormat = false
20453
20499
  }
20454
20500
  function getCategoryItemsUrlStrings(category) {
20455
20501
  if (category.type === 'dateRange' || category.type === 'dateTimeRange') {
20456
- return category.items.map(item => (item.active && item.item ? escape(item.item) : EMPTY_DATE_PLACEHOLDER));
20502
+ return category.items.map(item => item.active && item.item ? escapeFilterValue(item.item) : EMPTY_DATE_PLACEHOLDER);
20457
20503
  }
20458
- return category.items.filter(item => item.active).map(item => escape(item.item));
20459
- }
20460
- function escape(string) {
20461
- return string.replace(new RegExp(`(${SERIALIZATION_SYMBOLS.map(s => '\\' + s).join('|')})`, 'g'), '\\$1');
20504
+ return category.items.filter(item => item.active).map(item => escapeFilterValue(item.item));
20462
20505
  }
20463
20506
  }
20507
+ /**
20508
+ * Escapes the reserved filter serialization symbols (`$`, `§`, `|`, `!`) in a single
20509
+ * filter value by prefixing each with a backslash, so the value survives a round-trip
20510
+ * through the filter wire format without colliding with the structural separators.
20511
+ *
20512
+ * @param value - The raw filter item value to escape.
20513
+ * @returns The value with every reserved symbol backslash-escaped.
20514
+ */
20515
+ function escapeFilterValue(value) {
20516
+ return value.replace(new RegExp(`(${SERIALIZATION_SYMBOLS.map(s => '\\' + s).join('|')})`, 'g'), '\\$1');
20517
+ }
20464
20518
 
20465
20519
  // @ts-strict-ignore
20466
20520
  const selectFeature$1 = (state) => state.qdUiFilter;
@@ -21931,6 +21985,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
21931
21985
  * // Use it in an HTTP call
21932
21986
  * httpClient.get(`/api/resource?filter=${filterParam}`);
21933
21987
  * ```
21988
+ *
21989
+ * @deprecated For the resolver post-body path use the free function `qdFilterParameterize`
21990
+ * (filter module), which takes the canonical `QdFilterPostBodyData` handed over in
21991
+ * `QdTableDataResolverProps.filter` and returns a `QdQueryParameter`. This builder is
21992
+ * retained because it genuinely differs: it takes the config-shape `QdFilterCategory[]`,
21993
+ * returns a bare value without a key, and still supports the legacy separator format that
21994
+ * `qdFilterParameterize` does not.
21934
21995
  */
21935
21996
  class QdFilterRestParamBuilder {
21936
21997
  static build(filter, legacy = false) {
@@ -21940,6 +22001,43 @@ class QdFilterRestParamBuilder {
21940
22001
  }
21941
22002
  }
21942
22003
 
22004
+ /**
22005
+ * **qdFilterParameterize** turns filter state into the `filter` parameter read by the backend `QdFilterParser`. It
22006
+ * builds the new-format value `category$item§item2|category2$item` and backslash-escapes any
22007
+ * reserved symbol inside an item.
22008
+ *
22009
+ * ### Usage
22010
+ *
22011
+ * ```ts
22012
+ * const filter = { categories: [{ category: 'country', items: ['de', 'usa'] }], uid: 'x' };
22013
+ * qdFilterParameterize(filter).params.get('filter'); // 'country$de§usa'
22014
+ * ```
22015
+ *
22016
+ * @remarks
22017
+ * The input is the post-body from `QdTableDataResolverProps.filter`, not the full filter
22018
+ * config. Categories without a name or items are skipped and `uid` is ignored. Items are
22019
+ * written as-is (only escaped); the post-body has no category type, so the date-range
22020
+ * placeholder cannot be rebuilt here. Empty input gives empty parameters. For the legacy
22021
+ * format or the config shape, use the deprecated `QdFilterRestParamBuilder.build`.
22022
+ *
22023
+ * @param filter - The filter post-body from the resolver.
22024
+ * @returns A {@link QdQueryParameter} with the single `filter` key.
22025
+ */
22026
+ function qdFilterParameterize(filter) {
22027
+ const segments = [];
22028
+ for (const category of filter?.categories ?? []) {
22029
+ const items = category.items ?? [];
22030
+ if (!category.category || items.length === 0) {
22031
+ continue;
22032
+ }
22033
+ segments.push(`${category.category}${CATEGORY_TO_ITEMS_ASSIGNER}${items.map(escapeFilterValue).join(ITEM_SEPARATOR)}`);
22034
+ }
22035
+ if (segments.length === 0) {
22036
+ return qdWrapParams(new HttpParams());
22037
+ }
22038
+ return qdWrapParams(new HttpParams().set('filter', segments.join(CATEGORY_SEPARATOR)));
22039
+ }
22040
+
21943
22041
  class QdFilterModule {
21944
22042
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: QdFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
21945
22043
  static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.18", ngImport: i0, type: QdFilterModule, declarations: [LocaleDatePipe,
@@ -22969,6 +23067,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
22969
23067
  type: Input
22970
23068
  }] } });
22971
23069
 
23070
+ /**
23071
+ * **qdSearchParameterize** turns search state into the `search` parameter read by the backend `QdSearchParser`. The
23072
+ * value is `phrase$<phrase>`, or `phrase$<phrase>&preSelect$<preSelect>` when a pre-select is
23073
+ * set.
23074
+ *
23075
+ * ### Usage
23076
+ *
23077
+ * ```ts
23078
+ * qdSearchParameterize({ phrase: 'acme corp', preSelect: '' }).params.get('search'); // 'phrase$acme+corp'
23079
+ * ```
23080
+ *
23081
+ * @remarks
23082
+ * Like `QdSearchService.getQueryString`, it shrinks runs of whitespace to one space and turns
23083
+ * each space into `+`. `preSelect` is only added when both fields have a value. An empty
23084
+ * `phrase` gives empty parameters. Confirm with `QdSearchParser` whether it expects `+` or
23085
+ * `%20`.
23086
+ *
23087
+ * @param search - The search post-body from `QdTableDataResolverProps.search`.
23088
+ * @returns A {@link QdQueryParameter} with the single `search` key.
23089
+ */
23090
+ function qdSearchParameterize(search) {
23091
+ if (!search?.phrase) {
23092
+ return qdWrapParams(new HttpParams());
23093
+ }
23094
+ const phrase = normalizeSearchValue(search.phrase);
23095
+ const value = search.preSelect
23096
+ ? `phrase$${phrase}&preSelect$${normalizeSearchValue(search.preSelect)}`
23097
+ : `phrase$${phrase}`;
23098
+ return qdWrapParams(new HttpParams().set('search', value));
23099
+ }
23100
+ function normalizeSearchValue(value) {
23101
+ return value.replace(/\s\s+/g, ' ').replace(/\s/g, '+');
23102
+ }
23103
+
22972
23104
  class QdSearchModule {
22973
23105
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: QdSearchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
22974
23106
  static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.18", ngImport: i0, type: QdSearchModule, declarations: [QdSearchComponent], imports: [CommonModule,
@@ -26407,22 +26539,134 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
26407
26539
  }]
26408
26540
  }] });
26409
26541
 
26542
+ /**
26543
+ * **qdSortParameterize** turns table sort state into the Spring `sort=column,direction` format read by the backend
26544
+ * `QdSortParser`. Each active column adds one `sort` key, so several columns become repeated
26545
+ * keys (`sort=name,asc&sort=age,desc`).
26546
+ *
26547
+ * ### Usage
26548
+ *
26549
+ * ```ts
26550
+ * qdSortParameterize([{ column: 'name', direction: QdSortDirection.ASC }]).toQueryString(); // 'sort=name,asc'
26551
+ * ```
26552
+ *
26553
+ * @remarks
26554
+ * Columns with direction {@link QdSortDirection.NONE} are skipped. An empty array, a
26555
+ * non-array, or `undefined` gives empty parameters.
26556
+ *
26557
+ * @typeParam T - The sortable column names.
26558
+ * @param sort - The sort state from `QdTableDataResolverProps.sort`.
26559
+ * @returns A {@link QdQueryParameter} with the repeated `sort` keys.
26560
+ */
26561
+ function qdSortParameterize(sort) {
26562
+ if (!Array.isArray(sort)) {
26563
+ return qdWrapParams(new HttpParams());
26564
+ }
26565
+ const params = sort.reduce((accumulated, { column, direction }) => {
26566
+ if (direction === QdSortDirection.NONE) {
26567
+ return accumulated;
26568
+ }
26569
+ return accumulated.append('sort', `${column},${mapSortDirection(direction)}`);
26570
+ }, new HttpParams());
26571
+ return qdWrapParams(params);
26572
+ }
26573
+ function mapSortDirection(direction) {
26574
+ return direction === QdSortDirection.ASC ? 'asc' : 'desc';
26575
+ }
26576
+
26577
+ /**
26578
+ * Spring-compatible serialization helpers for table query state.
26579
+ *
26580
+ * @deprecated Use the free function {@link qdSortParameterize} instead, which returns a
26581
+ * `QdQueryParameter`. This compatibility shell is retained only so the static method stays
26582
+ * importable.
26583
+ */
26410
26584
  class QdTableSpringTools {
26585
+ /**
26586
+ * Serializes table sort state into the Spring `sort=column,direction` wire format.
26587
+ *
26588
+ * @deprecated Returns a string. Use the free function `qdSortParameterize(sort)` which
26589
+ * returns a `QdQueryParameter`. For identical string output use
26590
+ * `qdSortParameterize(sort).toQueryString()`; for an `HttpClient` request use
26591
+ * `qdSortParameterize(sort).params`. Note that dropping the class prefix without
26592
+ * `.toQueryString()` changes the return type from `string` to `QdQueryParameter`.
26593
+ *
26594
+ * @param sort - The sort state to serialize.
26595
+ * @returns The Spring sort query string, or the empty string when there is nothing to sort.
26596
+ */
26411
26597
  static sortParameterize(sort) {
26412
- if (typeof sort === 'undefined' || sort.length === 0 || !Array.isArray(sort))
26413
- return '';
26414
- return sort
26415
- .reduce((httpParams, { column, direction }) => {
26416
- if (direction !== 0) {
26417
- return httpParams.append('sort', `${column},${this.mapSortDirection(direction)}`);
26418
- }
26419
- return httpParams;
26420
- }, new HttpParams())
26421
- .toString();
26598
+ return qdSortParameterize(sort).toQueryString();
26422
26599
  }
26423
- static mapSortDirection(direction) {
26424
- return direction === QdSortDirection.ASC ? 'asc' : 'desc';
26600
+ }
26601
+
26602
+ /**
26603
+ * **qdPaginationParameterize** turns pagination state into the `page` and `size` parameters read by the backend
26604
+ * `QdPaginationParser`.
26605
+ *
26606
+ * ### Usage
26607
+ *
26608
+ * ```ts
26609
+ * qdPaginationParameterize({ page: 0, size: 25 }).toQueryString(); // 'page=0&size=25'
26610
+ * ```
26611
+ *
26612
+ * @remarks
26613
+ * `page` stays zero-indexed and is sent as-is (no `+1`/`-1`), so `page=0` is kept. Each key is
26614
+ * only set for a real number; `size` is trusted, not checked. Missing input gives empty
26615
+ * parameters.
26616
+ *
26617
+ * @param input - The page and size from the resolver props.
26618
+ * @returns A {@link QdQueryParameter} with the `page` and/or `size` keys.
26619
+ */
26620
+ function qdPaginationParameterize(input) {
26621
+ let params = new HttpParams();
26622
+ if (Number.isFinite(input?.page)) {
26623
+ params = params.set('page', String(input?.page));
26624
+ }
26625
+ if (Number.isFinite(input?.size)) {
26626
+ params = params.set('size', String(input?.size));
26425
26627
  }
26628
+ return qdWrapParams(params);
26629
+ }
26630
+
26631
+ /**
26632
+ * **qdTableQueryParameterize** turns a full {@link QdTableDataResolverProps} bundle into one
26633
+ * {@link QdQueryParameter}.
26634
+ *
26635
+ * It is the one-line helper for a `QdTableDataResolver`. It serializes every table dimension
26636
+ * and merges the results into a single value:
26637
+ *
26638
+ * - `page` and `size` for paging
26639
+ * - `sort` for the sort order
26640
+ * - `filter` for the active filters
26641
+ * - `search` for the search phrase
26642
+ *
26643
+ * Page-level parameters such as `?tab` stay out. Add them with `qdMergeParams`.
26644
+ *
26645
+ * ### Usage
26646
+ *
26647
+ * ```ts
26648
+ * resolve(props: QdTableDataResolverProps<MyColumns>) {
26649
+ * const params = qdTableQueryParameterize(props).params;
26650
+ * return this.http.get<QdTableResolvedData<MyColumns>>('/api/companies', { params });
26651
+ * }
26652
+ * ```
26653
+ *
26654
+ * @remarks
26655
+ * For maintainers: the serializers are imported from their leaf `*-param.tools` files, never
26656
+ * the module barrels — a barrel import would pull the filter and search `StoreModule` into
26657
+ * table resolution and break tree-shaking.
26658
+ *
26659
+ * @typeParam T - The column names.
26660
+ * @param props - The resolver props bundle.
26661
+ * @returns A {@link QdQueryParameter} with every dimension that has a value.
26662
+ */
26663
+ function qdTableQueryParameterize(props) {
26664
+ return qdMergeParams([
26665
+ qdPaginationParameterize(props),
26666
+ qdSortParameterize(props.sort),
26667
+ qdFilterParameterize(props.filter),
26668
+ qdSearchParameterize(props.search)
26669
+ ]);
26426
26670
  }
26427
26671
 
26428
26672
  const updateStateWithNewTable = (state, tableId, newTable) => ({
@@ -33609,7 +33853,10 @@ class QdPageTabComponent extends CdkStep {
33609
33853
  console.error('Quadrel Framework | QdPageTab - Please provide a label for the tab.');
33610
33854
  }
33611
33855
  initErrorCheck() {
33612
- this.tabControl.statusChanges.pipe(takeUntil$1(this._destroyed$)).subscribe(() => {
33856
+ this.tabControl.statusChanges
33857
+ .pipe(takeUntil$1(this._destroyed$))
33858
+ .pipe(tap$1(status => console.warn('PAGE-TAB: Status: ', status)))
33859
+ .subscribe(() => {
33613
33860
  if (this.hasAnyError(this.tabControl)) {
33614
33861
  this.interacted = true;
33615
33862
  }
@@ -33619,10 +33866,10 @@ class QdPageTabComponent extends CdkStep {
33619
33866
  if (control.errors && control.touched)
33620
33867
  return true;
33621
33868
  if (control instanceof FormGroup) {
33622
- return Object.values(control.controls).some(this.hasAnyError);
33869
+ return Object.values(control.controls).some(x => this.hasAnyError(x));
33623
33870
  }
33624
33871
  if (control instanceof FormArray) {
33625
- return control.controls.some(this.hasAnyError);
33872
+ return control.controls.some(x => this.hasAnyError(x));
33626
33873
  }
33627
33874
  return false;
33628
33875
  }
@@ -33648,6 +33895,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
33648
33895
  args: [QdPageInfoBannerComponent]
33649
33896
  }] } });
33650
33897
 
33898
+ /**
33899
+ * **qdPageTabParameterize** turns the active page tab into the `tab` query parameter
33900
+ * (`?tab=<name>`).
33901
+ *
33902
+ * Pass the whole {@link QdPageTabConfig} or just its `name`. The tab is a page-level
33903
+ * parameter, so `qdTableQueryParameterize` leaves it out. Combine both with
33904
+ * `qdMergeParams` at the page level. A missing or unnamed tab returns empty
33905
+ * parameters.
33906
+ *
33907
+ * ### Usage
33908
+ *
33909
+ * ```ts
33910
+ * qdPageTabParameterize('overview').toQueryString(); // 'tab=overview'
33911
+ * ```
33912
+ *
33913
+ * @param tab - The active tab config or its `name`.
33914
+ * @returns A {@link QdQueryParameter} with the single `tab` key.
33915
+ */
33916
+ function qdPageTabParameterize(tab) {
33917
+ const name = typeof tab === 'string' ? tab : tab?.name;
33918
+ if (!name) {
33919
+ return qdWrapParams(new HttpParams());
33920
+ }
33921
+ return qdWrapParams(new HttpParams().set('tab', name));
33922
+ }
33923
+
33651
33924
  class QdPageTabsModule {
33652
33925
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: QdPageTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
33653
33926
  static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.18", ngImport: i0, type: QdPageTabsModule, declarations: [QdPageTabsAdapterDirective], imports: [CommonModule,
@@ -34329,5 +34602,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
34329
34602
  * Generated bundle index. Do not edit.
34330
34603
  */
34331
34604
 
34332
- export { APP_ENVIRONMENT, AVAILABLE_ICONS, BACKEND_ERROR_CODES, MockLocaleDatePipe, NavigationTileComponent, NavigationTilesComponent, QD_DIALOG_CONFIRMATION_RESOLVER_TOKEN, QD_FILE_MANAGER_TOKEN, QD_FILE_UPLOAD_MANAGER_TOKEN, QD_FORM_OPTIONS_RESOLVER, QD_PAGE_OBJECT_RESOLVER_TOKEN, QD_PAGE_STEP_RESOLVER_TOKEN, QD_POPOVER_TOP_FIRST, QD_SAFE_BOTTOM_OFFSET, QD_TABLE_DATA_RESOLVER_TOKEN, QD_UPLOAD_HTTP_OPTIONS, QdButtonComponent, QdButtonGhostDirective, QdButtonGridComponent, QdButtonLinkDirective, QdButtonModule, QdButtonStackButtonComponent, QdButtonStackComponent, QdCheckboxChipsComponent, QdCheckboxComponent, QdCheckboxesComponent, QdChipComponent, QdChipModule, QdColumnAutoFillDirective, QdColumnBreakBeforeDirective, QdColumnDirective, QdColumnDisableResponsiveColspansDirective, QdColumnFullGridWidthDirective, QdColumnNextInSameRowDirective, QdColumnsDirective, QdColumnsDisableAutoFillDirective, QdColumnsDisableResponsiveColspansDirective, QdColumnsMaxDirective, QdCommentsComponent, QdCommentsModule, QdConnectFormStateToPageDirective, QdConnectorTableContextDirective, QdConnectorTableFilterDirective, QdConnectorTableSearchDirective, QdContactCardComponent, QdContactCardModule, QdContainerPairsCaptionComponent, QdContainerPairsContainerComponent, QdContainerPairsHeaderComponent, QdContainerPairsItemComponent, QdContainerPairsValueComponent, QdContextService, QdCoreModule, QdDatepickerComponent, QdDialogActionComponent, QdDialogAuthSessionEndComponent, QdDialogAuthSessionEndService, QdDialogComponent, QdDialogConfirmationComponent, QdDialogConfirmationErrorDirective, QdDialogConfirmationInfoDirective, QdDialogConfirmationSuccessDirective, QdDialogModule, QdDialogRecordStepperComponent, QdDialogService, QdDialogSize, QdDisabledDirective, QdDropdownComponent, QdFileCollectorComponent, QdFileCollectorModule, QdFileSizePipe$1 as QdFileSizePipe, QdFileUploadComponent, QdFileUploadService, QdFilterComponent, QdFilterFormItemsComponent, QdFilterModule, QdFilterRestParamBuilder, QdFilterService, QdFormArray, QdFormBuilder, QdFormControl, QdFormGroup, QdFormModule, QdGridComponent, QdGridModule, QdHorizontalPairsCaptionComponent, QdHorizontalPairsComponent, QdHorizontalPairsItemComponent, QdHorizontalPairsValueComponent, QdIconButtonComponent, QdIconComponent, QdIconModule, QdImageComponent, QdImageModule, QdIndeterminateProgressBarComponent, QdInputComponent, QdListModule, QdMenuButtonComponent, QdMockBreakpointService, QdMockButtonComponent, QdMockButtonGhostDirective, QdMockButtonGridComponent, QdMockButtonLinkDirective, QdMockButtonModule, QdMockButtonStackButtonComponent, QdMockButtonStackComponent, QdMockCalendarComponent, QdMockCheckboxChipsComponent, QdMockCheckboxComponent, QdMockCheckboxesComponent, QdMockChipComponent, QdMockChipModule, QdMockColumnDirective, QdMockColumnsDirective, QdMockContactCardComponent, QdMockContactCardModule, QdMockContainerPairsCaptionComponent, QdMockContainerPairsContainerComponent, QdMockContainerPairsHeaderComponent, QdMockContainerPairsItemComponent, QdMockContainerPairsValueComponent, QdMockCoreModule, QdMockCounterBadgeComponent, QdMockDatepickerComponent, QdMockDisabledDirective, QdMockDropdownComponent, QdMockFileCollectorComponent, QdMockFileCollectorModule, QdMockFilterCategoryBooleanComponent, QdMockFilterCategoryComponent, QdMockFilterCategoryDateComponent, QdMockFilterCategoryDateRangeComponent, QdMockFilterCategoryFreeTextComponent, QdMockFilterCategorySelectComponent, QdMockFilterComponent, QdMockFilterFormItemsComponent, QdMockFilterItemBooleanComponent, QdMockFilterItemDateComponent, QdMockFilterItemDateRangeComponent, QdMockFilterItemFreeTextComponent, QdMockFilterItemMultiSelectComponent, QdMockFilterItemSingleSelectComponent, QdMockFilterModule, QdMockFilterService, QdMockFormErrorComponent, QdMockFormGroupErrorComponent, QdMockFormHintComponent, QdMockFormLabelComponent, QdMockFormReadonlyComponent, QdMockFormViewonlyComponent, QdMockFormsModule, QdMockGridModule, QdMockIconButtonComponent, QdMockIconComponent, QdMockIconModule, QdMockImageComponent, QdMockImageModule, QdMockIndeterminateProgressBarComponent, QdMockInputComponent, QdMockListModule, QdMockNavigationTileComponent, QdMockNavigationTilesComponent, QdMockNavigationTilesModule, QdMockNotificationComponent, QdMockNotificationContentComponent, QdMockNotificationsComponent, QdMockNotificationsModule, QdMockNotificationsService, QdMockPageComponent, QdMockPageModule, QdMockPercentageProgressBarComponent, QdMockPinCodeComponent, QdMockPlaceHolderModule, QdMockPopoverOnClickDirective, QdMockProgressBarModule, QdMockQdPlaceHolderComponent, QdMockRadioButtonsComponent, QdMockRwdDisabledDirective, QdMockSearchComponent, QdMockSearchModule, QdMockSectionComponent, QdMockSectionModule, QdMockShellComponent, QdMockShellFooterComponent, QdMockShellHeaderBannerComponent, QdMockShellHeaderComponent, QdMockShellHeaderSearchComponent, QdMockShellHeaderWidgetComponent, QdMockShellModule, QdMockShellToolbarComponent, QdMockShellToolbarItemComponent, QdMockStatusIndicatorCaptionComponent, QdMockStatusIndicatorComponent, QdMockStatusIndicatorItemComponent, QdMockStatusIndicatorModule, QdMockStatusPairsCaptionComponent, QdMockStatusPairsComponent, QdMockStatusPairsErrorComponent, QdMockStatusPairsItemComponent, QdMockStatusPairsValueComponent, QdMockSwitchComponent, QdMockSwitchesComponent, QdMockTableComponent, QdMockTableModule, QdMockTextSectionComponent, QdMockTextSectionHeadlineComponent, QdMockTextSectionModule, QdMockTextSectionParagraphComponent, QdMockTextareaComponent, QdMockTileButtonListComponent, QdMockTileComponent, QdMockTileTextListComponent, QdMockTileTextListItemComponent, QdMockTileTitleComponent, QdMockTilesContainerComponent, QdMockTilesContainerTitleComponent, QdMockTilesModule, QdMockTranslatePipe, QdMockVisuallyHiddenDirective, QdMultiInputComponent, QdNavigationTilesModule, QdNotificationComponent, QdNotificationContentComponent, QdNotificationsComponent, QdNotificationsHttpInterceptorService, QdNotificationsModule, QdNotificationsService, QdNotificationsSnackbarListenerDirective, QdNumberInputService, QdPageComponent, QdPageControlPanelComponent, QdPageFooterComponent, QdPageFooterCustomContentDirective, QdPageInfoBannerComponent, QdPageModule, QdPageStepComponent, QdPageStepperAdapterDirective, QdPageStepperComponent, QdPageStepperModule, QdPageStoreService, QdPageTabComponent, QdPageTabsAdapterDirective, QdPageTabsComponent, QdPageTabsModule, QdPanelSectionActionsComponent, QdPanelSectionComponent, QdPanelSectionModule, QdPanelSectionStatusComponent, QdPanelSectionTextParagraphComponent, QdPendingChangesGuardDirective, QdPercentageProgressBarComponent, QdPinCodeComponent, QdPlaceHolderComponent, QdPlaceHolderModule, QdPlaceholderPipe, QdProgressBarModule, QdProjectionGuardComponent, QdPushEventsService, QdQuickEditComponent, QdQuickEditModule, QdRadioButtonsComponent, QdRichtextComponent, QdRouterQueryParamHubService, QdRwdDisabledDirective, QdSearchComponent, QdSearchModule, QdSectionAdapterDirective, QdSectionComponent, QdSectionModule, QdSectionToolbarComponent, QdShellComponent, QdShellModule, QdSortDirection, QdSpinnerComponent, QdSpinnerModule, QdStatusIndicatorComponent, QdStatusIndicatorModule, QdStatusPairsCaptionComponent, QdStatusPairsComponent, QdStatusPairsErrorComponent, QdStatusPairsItemComponent, QdStatusPairsValueComponent, QdSubgridComponent, QdSwitchComponent, QdSwitchesComponent, QdTableComponent, QdTableModule, QdTableSpringTools, QdTextSectionComponent, QdTextSectionHeadlineComponent, QdTextSectionModule, QdTextSectionParagraphComponent, QdTextareaComponent, QdTileButtonListComponent, QdTileComponent, QdTileTextListComponent, QdTileTextListItemComponent, QdTileTitleComponent, QdTilesComponent, QdTilesModule, QdTilesTitleComponent, QdTooltipAtIntersectionDirective, QdTooltipIconComponent, QdTreeComponent, QdTreeModule, QdTreeRowExpanderService, QdUiMockModule, QdUiModule, QdUploadErrorType, QdValidators, QdViewportAdaptiveDirective, QdVisuallyHiddenDirective, chipColorDefault, createMetadataStream, updateHtmlLang };
34605
+ export { APP_ENVIRONMENT, AVAILABLE_ICONS, BACKEND_ERROR_CODES, MockLocaleDatePipe, NavigationTileComponent, NavigationTilesComponent, QD_DIALOG_CONFIRMATION_RESOLVER_TOKEN, QD_FILE_MANAGER_TOKEN, QD_FILE_UPLOAD_MANAGER_TOKEN, QD_FORM_OPTIONS_RESOLVER, QD_PAGE_OBJECT_RESOLVER_TOKEN, QD_PAGE_STEP_RESOLVER_TOKEN, QD_POPOVER_TOP_FIRST, QD_SAFE_BOTTOM_OFFSET, QD_TABLE_DATA_RESOLVER_TOKEN, QD_UPLOAD_HTTP_OPTIONS, QdButtonComponent, QdButtonGhostDirective, QdButtonGridComponent, QdButtonLinkDirective, QdButtonModule, QdButtonStackButtonComponent, QdButtonStackComponent, QdCheckboxChipsComponent, QdCheckboxComponent, QdCheckboxesComponent, QdChipComponent, QdChipModule, QdColumnAutoFillDirective, QdColumnBreakBeforeDirective, QdColumnDirective, QdColumnDisableResponsiveColspansDirective, QdColumnFullGridWidthDirective, QdColumnNextInSameRowDirective, QdColumnsDirective, QdColumnsDisableAutoFillDirective, QdColumnsDisableResponsiveColspansDirective, QdColumnsMaxDirective, QdCommentsComponent, QdCommentsModule, QdConnectFormStateToPageDirective, QdConnectorTableContextDirective, QdConnectorTableFilterDirective, QdConnectorTableSearchDirective, QdContactCardComponent, QdContactCardModule, QdContainerPairsCaptionComponent, QdContainerPairsContainerComponent, QdContainerPairsHeaderComponent, QdContainerPairsItemComponent, QdContainerPairsValueComponent, QdContextService, QdCoreModule, QdDatepickerComponent, QdDialogActionComponent, QdDialogAuthSessionEndComponent, QdDialogAuthSessionEndService, QdDialogComponent, QdDialogConfirmationComponent, QdDialogConfirmationErrorDirective, QdDialogConfirmationInfoDirective, QdDialogConfirmationSuccessDirective, QdDialogModule, QdDialogRecordStepperComponent, QdDialogService, QdDialogSize, QdDisabledDirective, QdDropdownComponent, QdFileCollectorComponent, QdFileCollectorModule, QdFileSizePipe$1 as QdFileSizePipe, QdFileUploadComponent, QdFileUploadService, QdFilterComponent, QdFilterFormItemsComponent, QdFilterModule, QdFilterRestParamBuilder, QdFilterService, QdFormArray, QdFormBuilder, QdFormControl, QdFormGroup, QdFormModule, QdGridComponent, QdGridModule, QdHorizontalPairsCaptionComponent, QdHorizontalPairsComponent, QdHorizontalPairsItemComponent, QdHorizontalPairsValueComponent, QdIconButtonComponent, QdIconComponent, QdIconModule, QdImageComponent, QdImageModule, QdIndeterminateProgressBarComponent, QdInputComponent, QdListModule, QdMenuButtonComponent, QdMockBreakpointService, QdMockButtonComponent, QdMockButtonGhostDirective, QdMockButtonGridComponent, QdMockButtonLinkDirective, QdMockButtonModule, QdMockButtonStackButtonComponent, QdMockButtonStackComponent, QdMockCalendarComponent, QdMockCheckboxChipsComponent, QdMockCheckboxComponent, QdMockCheckboxesComponent, QdMockChipComponent, QdMockChipModule, QdMockColumnDirective, QdMockColumnsDirective, QdMockContactCardComponent, QdMockContactCardModule, QdMockContainerPairsCaptionComponent, QdMockContainerPairsContainerComponent, QdMockContainerPairsHeaderComponent, QdMockContainerPairsItemComponent, QdMockContainerPairsValueComponent, QdMockCoreModule, QdMockCounterBadgeComponent, QdMockDatepickerComponent, QdMockDisabledDirective, QdMockDropdownComponent, QdMockFileCollectorComponent, QdMockFileCollectorModule, QdMockFilterCategoryBooleanComponent, QdMockFilterCategoryComponent, QdMockFilterCategoryDateComponent, QdMockFilterCategoryDateRangeComponent, QdMockFilterCategoryFreeTextComponent, QdMockFilterCategorySelectComponent, QdMockFilterComponent, QdMockFilterFormItemsComponent, QdMockFilterItemBooleanComponent, QdMockFilterItemDateComponent, QdMockFilterItemDateRangeComponent, QdMockFilterItemFreeTextComponent, QdMockFilterItemMultiSelectComponent, QdMockFilterItemSingleSelectComponent, QdMockFilterModule, QdMockFilterService, QdMockFormErrorComponent, QdMockFormGroupErrorComponent, QdMockFormHintComponent, QdMockFormLabelComponent, QdMockFormReadonlyComponent, QdMockFormViewonlyComponent, QdMockFormsModule, QdMockGridModule, QdMockIconButtonComponent, QdMockIconComponent, QdMockIconModule, QdMockImageComponent, QdMockImageModule, QdMockIndeterminateProgressBarComponent, QdMockInputComponent, QdMockListModule, QdMockNavigationTileComponent, QdMockNavigationTilesComponent, QdMockNavigationTilesModule, QdMockNotificationComponent, QdMockNotificationContentComponent, QdMockNotificationsComponent, QdMockNotificationsModule, QdMockNotificationsService, QdMockPageComponent, QdMockPageModule, QdMockPercentageProgressBarComponent, QdMockPinCodeComponent, QdMockPlaceHolderModule, QdMockPopoverOnClickDirective, QdMockProgressBarModule, QdMockQdPlaceHolderComponent, QdMockRadioButtonsComponent, QdMockRwdDisabledDirective, QdMockSearchComponent, QdMockSearchModule, QdMockSectionComponent, QdMockSectionModule, QdMockShellComponent, QdMockShellFooterComponent, QdMockShellHeaderBannerComponent, QdMockShellHeaderComponent, QdMockShellHeaderSearchComponent, QdMockShellHeaderWidgetComponent, QdMockShellModule, QdMockShellToolbarComponent, QdMockShellToolbarItemComponent, QdMockStatusIndicatorCaptionComponent, QdMockStatusIndicatorComponent, QdMockStatusIndicatorItemComponent, QdMockStatusIndicatorModule, QdMockStatusPairsCaptionComponent, QdMockStatusPairsComponent, QdMockStatusPairsErrorComponent, QdMockStatusPairsItemComponent, QdMockStatusPairsValueComponent, QdMockSwitchComponent, QdMockSwitchesComponent, QdMockTableComponent, QdMockTableModule, QdMockTextSectionComponent, QdMockTextSectionHeadlineComponent, QdMockTextSectionModule, QdMockTextSectionParagraphComponent, QdMockTextareaComponent, QdMockTileButtonListComponent, QdMockTileComponent, QdMockTileTextListComponent, QdMockTileTextListItemComponent, QdMockTileTitleComponent, QdMockTilesContainerComponent, QdMockTilesContainerTitleComponent, QdMockTilesModule, QdMockTranslatePipe, QdMockVisuallyHiddenDirective, QdMultiInputComponent, QdNavigationTilesModule, QdNotificationComponent, QdNotificationContentComponent, QdNotificationsComponent, QdNotificationsHttpInterceptorService, QdNotificationsModule, QdNotificationsService, QdNotificationsSnackbarListenerDirective, QdNumberInputService, QdPageComponent, QdPageControlPanelComponent, QdPageFooterComponent, QdPageFooterCustomContentDirective, QdPageInfoBannerComponent, QdPageModule, QdPageStepComponent, QdPageStepperAdapterDirective, QdPageStepperComponent, QdPageStepperModule, QdPageStoreService, QdPageTabComponent, QdPageTabsAdapterDirective, QdPageTabsComponent, QdPageTabsModule, QdPanelSectionActionsComponent, QdPanelSectionComponent, QdPanelSectionModule, QdPanelSectionStatusComponent, QdPanelSectionTextParagraphComponent, QdPendingChangesGuardDirective, QdPercentageProgressBarComponent, QdPinCodeComponent, QdPlaceHolderComponent, QdPlaceHolderModule, QdPlaceholderPipe, QdProgressBarModule, QdProjectionGuardComponent, QdPushEventsService, QdQuickEditComponent, QdQuickEditModule, QdRadioButtonsComponent, QdRichtextComponent, QdRouterQueryParamHubService, QdRwdDisabledDirective, QdSearchComponent, QdSearchModule, QdSectionAdapterDirective, QdSectionComponent, QdSectionModule, QdSectionToolbarComponent, QdShellComponent, QdShellModule, QdSortDirection, QdSpinnerComponent, QdSpinnerModule, QdStatusIndicatorComponent, QdStatusIndicatorModule, QdStatusPairsCaptionComponent, QdStatusPairsComponent, QdStatusPairsErrorComponent, QdStatusPairsItemComponent, QdStatusPairsValueComponent, QdSubgridComponent, QdSwitchComponent, QdSwitchesComponent, QdTableComponent, QdTableModule, QdTableSpringTools, QdTextSectionComponent, QdTextSectionHeadlineComponent, QdTextSectionModule, QdTextSectionParagraphComponent, QdTextareaComponent, QdTileButtonListComponent, QdTileComponent, QdTileTextListComponent, QdTileTextListItemComponent, QdTileTitleComponent, QdTilesComponent, QdTilesModule, QdTilesTitleComponent, QdTooltipAtIntersectionDirective, QdTooltipIconComponent, QdTreeComponent, QdTreeModule, QdTreeRowExpanderService, QdUiMockModule, QdUiModule, QdUploadErrorType, QdValidators, QdViewportAdaptiveDirective, QdVisuallyHiddenDirective, chipColorDefault, createMetadataStream, qdFilterParameterize, qdMergeParams, qdPageTabParameterize, qdPaginationParameterize, qdSearchParameterize, qdSortParameterize, qdTableQueryParameterize, qdWrapParams, updateHtmlLang };
34333
34606
  //# sourceMappingURL=quadrel-enterprise-ui-framework.mjs.map