@dereekb/dbx-web 12.6.16 → 12.6.18

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.
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable, input, inject, effect, Directive, NgModule, Component, output, computed, HostListener, InjectionToken, signal, ChangeDetectionStrategy, ElementRef, Injector, DestroyRef, viewChild, makeEnvironmentProviders, TemplateRef, model, SecurityContext, forwardRef, ViewContainerRef, Optional, Inject, Renderer2, ChangeDetectorRef } from '@angular/core';
3
- import { DASH_CHARACTER_PREFIX_INSTANCE, asPromise, cssClassesSet, isDefinedAndNotFalse, spaceSeparatedCssClasses, objectHasNoKeys, getValueFromGetter, firstValue, filterUndefinedValues, separateValues, splitFront, asDecisionFunction, SLASH_PATH_FILE_TYPE_SEPARATOR, filterMaybeArrayValues, mapIterable, toReadableError, isDefaultReadableError, MS_IN_SECOND, mergeObjects, build, ServerErrorResponse, UnauthorizedServerErrorResponse, makeTimer, MS_IN_MINUTE, toggleTimerRunning, unixDateTimeSecondsNumberForNow, ModelRelationUtility, encodeModelKeyTypePair, useIterableOrValue, safeCompareEquality, addMilliseconds, isPast, asArray, slashPathDetails, mimeTypeForFileExtension, slashPathDirectoryTree, isMaybeNot, isNotFalse, modifier, combineMaps, addModifiers, removeModifiers, applyBestFit, findNext, maybeModifierMapToFunction, makeValuesGroupMap, compareWithMappedValuesFunction, invertMaybeBoolean, splitCommaSeparatedStringToSet, ZIP_FILE_MIME_TYPE } from '@dereekb/util';
3
+ import { DASH_CHARACTER_PREFIX_INSTANCE, asPromise, cssClassesSet, isDefinedAndNotFalse, spaceSeparatedCssClasses, objectHasNoKeys, getValueFromGetter, firstValue, filterUndefinedValues, separateValues, splitFront, asDecisionFunction, SLASH_PATH_FILE_TYPE_SEPARATOR, filterMaybeArrayValues, mapIterable, toReadableError, isDefaultReadableError, MS_IN_SECOND, mergeObjects, build, ServerErrorResponse, UnauthorizedServerErrorResponse, makeTimer, MS_IN_MINUTE, toggleTimerRunning, unixDateTimeSecondsNumberForNow, ModelRelationUtility, encodeModelKeyTypePair, useIterableOrValue, safeCompareEquality, addMilliseconds, isPast, asArray, slashPathDetails, mimeTypeForFileExtension, slashPathDirectoryTree, isMaybeNot, isNotFalse, modifier, combineMaps, addModifiers, removeModifiers, applyBestFit, findNext, maybeModifierMapToFunction, makeValuesGroupMap, compareWithMappedValuesFunction, invertMaybeBoolean, splitCommaSeparatedStringToSet, ZIP_FILE_MIME_TYPE, cachedGetter, sortByNumberFunction } from '@dereekb/util';
4
4
  import * as i1$2 from '@dereekb/dbx-core';
5
5
  import { AbstractSubscriptionDirective, AbstractTransitionWatcherDirective, DbxInjectionComponent, AbstractDbxActionValueGetterDirective, AbstractDbxButtonDirective, provideDbxButton, dbxActionWorkProgress, DbxCoreButtonModule, AbstractDbxActionHandlerDirective, FilterSourceDirective, provideActionStoreSource, isClickableFilterPreset, AbstractDbxAnchorDirective, expandClickableAnchorLinkTrees, DbxCoreFilterModule, DbxButton, DbxActionContextStoreSourceInstance, DBX_INJECTION_COMPONENT_DATA, checkNgContentWrapperHasContent, DbxActionSourceDirective, DbxActionSuccessHandlerDirective, DbxActionDirective, DbxActionValueStreamDirective, transformEmptyStringInputToUndefined, isIdleActionState, canTriggerAction, DbxCoreActionModule, DbxActionButtonDirective, onDbxAppAuth, SimpleStorageAccessorFactory, mergeStaticProviders, asSegueRef, AbstractTransitionDirective, DbxRouterService, AbstractIfDirective, isSegueRefActive, anchorTypeForAnchor } from '@dereekb/dbx-core';
6
6
  import { NgPopoverRef, NgOverlayContainerService } from 'ng-overlay-container';
@@ -8284,16 +8284,69 @@ function provideDbxRouterWebAngularRouterProviderConfig() {
8284
8284
  * SegueAnchor implementation for UIRouter.
8285
8285
  */
8286
8286
  class DbxUIRouterSegueAnchorComponent extends AbstractDbxSegueAnchorDirective {
8287
+ _cleanupClickOverride = null;
8287
8288
  _parentAnchorSignal = toSignal(this.parent.anchor$, { initialValue: undefined });
8289
+ anchorElement = viewChild.required('anchor', { read: ElementRef });
8290
+ injectionElement = viewChild.required('injection', { read: ElementRef });
8291
+ anchorDisabledSignal = computed(() => this.anchorSignal()?.disabled ?? false);
8292
+ /**
8293
+ * This effect exists to solve the issue of an injected element that utilizes event.stopPropogation() and doesn't also call event.preventDefault().
8294
+ *
8295
+ * We didn't want to use css's pointer-events: none as that would disable the Angular Material button effects.
8296
+ *
8297
+ * For example, dbx-button would call event.stopPropagation() on click, which would prevent the uiSref from being triggered, but the default behavior
8298
+ * of the anchor element would still be triggered, causing the browser to load/reload the page at the given href instead of navigating to the new state using uiSref.
8299
+ *
8300
+ * NOTE: Those nested event listeners are still ultimately triggered.
8301
+ */
8302
+ _overrideClickElementEffect = effect(() => {
8303
+ const anchorElement = this.anchorElement();
8304
+ const injectionElement = this.injectionElement();
8305
+ const anchorDisabled = this.anchorDisabledSignal();
8306
+ if (injectionElement) {
8307
+ // cleanup/remove the previous/existing click function
8308
+ if (this._cleanupClickOverride) {
8309
+ this._cleanupClickOverride();
8310
+ }
8311
+ if (!anchorDisabled) {
8312
+ const clickOverride = (event) => {
8313
+ // Allow ctrl+click, cmd+click, shift+click, and middle-click for new tab/window
8314
+ // Don't preventDefault or stopPropagation - let browser handle it naturally
8315
+ if (event.ctrlKey || event.metaKey || event.shiftKey || event.button === 1) {
8316
+ return; // Browser will open in new tab/window
8317
+ }
8318
+ else {
8319
+ // otherwise, also trigger a click on the uiSref anchor element
8320
+ anchorElement?.nativeElement.click();
8321
+ // Prevents the default behavior of the anchor element's href from being triggered
8322
+ event.preventDefault();
8323
+ event.stopPropagation();
8324
+ }
8325
+ };
8326
+ this._cleanupClickOverride = () => {
8327
+ injectionElement.nativeElement.removeEventListener('click', clickOverride);
8328
+ delete this._cleanupClickOverride;
8329
+ };
8330
+ injectionElement.nativeElement.addEventListener('click', clickOverride, {
8331
+ capture: true // Use capture to ensure this event listener is called before any nested child's event listeners
8332
+ });
8333
+ }
8334
+ }
8335
+ });
8288
8336
  uiSrefSignal = computed(() => (this._parentAnchorSignal()?.ref ?? ''));
8289
8337
  uiParamsSignal = computed(() => this._parentAnchorSignal()?.refParams);
8290
8338
  uiOptionsSignal = computed(() => this._parentAnchorSignal()?.refOptions ?? {});
8339
+ ngOnDestroy() {
8340
+ if (this._cleanupClickOverride) {
8341
+ this._cleanupClickOverride();
8342
+ }
8343
+ }
8291
8344
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxUIRouterSegueAnchorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
8292
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxUIRouterSegueAnchorComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<a class=\"dbx-anchor-a dbx-anchor-sref\" [attr.target]=\"targetSignal()\" [uiSref]=\"uiSrefSignal()\" [uiParams]=\"uiParamsSignal()\" [uiOptions]=\"uiOptionsSignal()\" uiSrefActive=\"dbx-anchor-active\" uiSrefActiveEq=\"dbx-anchor-active-eq\">\n <dbx-injection [template]=\"templateConfigSignal()\"></dbx-injection>\n</a>\n", dependencies: [{ kind: "ngmodule", type: UIRouterModule }, { kind: "directive", type: i1$5.UISref, selector: "[uiSref]", inputs: ["uiSref", "uiParams", "uiOptions"], exportAs: ["uiSref"] }, { kind: "directive", type: i1$5.AnchorUISref, selector: "a[uiSref]" }, { kind: "directive", type: i1$5.UISrefActive, selector: "[uiSrefActive],[uiSrefActiveEq]", inputs: ["uiSrefActive", "uiSrefActiveEq"] }, { kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }] });
8345
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.13", type: DbxUIRouterSegueAnchorComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "anchorElement", first: true, predicate: ["anchor"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "injectionElement", first: true, predicate: ["injection"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<a class=\"dbx-anchor-a dbx-anchor-sref\" #anchor [attr.target]=\"targetSignal()\" [uiSref]=\"uiSrefSignal()\" [uiParams]=\"uiParamsSignal()\" [uiOptions]=\"uiOptionsSignal()\" uiSrefActive=\"dbx-anchor-active\" uiSrefActiveEq=\"dbx-anchor-active-eq\">\n <dbx-injection #injection [template]=\"templateConfigSignal()\"></dbx-injection>\n</a>\n", dependencies: [{ kind: "ngmodule", type: UIRouterModule }, { kind: "directive", type: i1$5.UISref, selector: "[uiSref]", inputs: ["uiSref", "uiParams", "uiOptions"], exportAs: ["uiSref"] }, { kind: "directive", type: i1$5.AnchorUISref, selector: "a[uiSref]" }, { kind: "directive", type: i1$5.UISrefActive, selector: "[uiSrefActive],[uiSrefActiveEq]", inputs: ["uiSrefActive", "uiSrefActiveEq"] }, { kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8293
8346
  }
8294
8347
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxUIRouterSegueAnchorComponent, decorators: [{
8295
8348
  type: Component,
8296
- args: [{ imports: [UIRouterModule, DbxInjectionComponent], standalone: true, template: "<a class=\"dbx-anchor-a dbx-anchor-sref\" [attr.target]=\"targetSignal()\" [uiSref]=\"uiSrefSignal()\" [uiParams]=\"uiParamsSignal()\" [uiOptions]=\"uiOptionsSignal()\" uiSrefActive=\"dbx-anchor-active\" uiSrefActiveEq=\"dbx-anchor-active-eq\">\n <dbx-injection [template]=\"templateConfigSignal()\"></dbx-injection>\n</a>\n" }]
8349
+ args: [{ imports: [UIRouterModule, DbxInjectionComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<a class=\"dbx-anchor-a dbx-anchor-sref\" #anchor [attr.target]=\"targetSignal()\" [uiSref]=\"uiSrefSignal()\" [uiParams]=\"uiParamsSignal()\" [uiOptions]=\"uiOptionsSignal()\" uiSrefActive=\"dbx-anchor-active\" uiSrefActiveEq=\"dbx-anchor-active-eq\">\n <dbx-injection #injection [template]=\"templateConfigSignal()\"></dbx-injection>\n</a>\n" }]
8297
8350
  }] });
8298
8351
 
8299
8352
  /**
@@ -11694,13 +11747,18 @@ class DbxHelpWidgetServiceConfig {
11694
11747
  */
11695
11748
  class DbxHelpWidgetService {
11696
11749
  _entries = new Map();
11750
+ _sortPriorityMap = cachedGetter(() => {
11751
+ return new Map(mapIterable(this._entries.values(), (entry) => [entry.helpContextString, entry.sortPriority ?? -1]));
11752
+ });
11697
11753
  _defaultWidgetComponentClass;
11754
+ _helpListFooterComponentConfig;
11698
11755
  _defaultIcon;
11699
11756
  _popoverHeaderComponentConfig;
11700
11757
  constructor(initialConfig) {
11701
11758
  this.setDefaultWidgetComponentClass(initialConfig?.defaultWidgetComponentClass);
11702
11759
  this.setDefaultIcon(initialConfig?.defaultIcon !== undefined ? initialConfig?.defaultIcon : 'help');
11703
11760
  this.setPopoverHeaderComponentConfig(initialConfig?.popoverHeaderComponentConfig);
11761
+ this.setHelpListFooterComponentConfig(initialConfig?.helpListFooterComponentConfig);
11704
11762
  if (initialConfig?.entries) {
11705
11763
  this.register(initialConfig.entries);
11706
11764
  }
@@ -11723,6 +11781,12 @@ class DbxHelpWidgetService {
11723
11781
  setPopoverHeaderComponentConfig(componentConfig) {
11724
11782
  this._popoverHeaderComponentConfig = componentConfig;
11725
11783
  }
11784
+ getHelpListFooterComponentConfig() {
11785
+ return this._helpListFooterComponentConfig;
11786
+ }
11787
+ setHelpListFooterComponentConfig(componentConfig) {
11788
+ this._helpListFooterComponentConfig = componentConfig;
11789
+ }
11726
11790
  /**
11727
11791
  * Used to register one or more entries.
11728
11792
  *
@@ -11753,6 +11817,9 @@ class DbxHelpWidgetService {
11753
11817
  hasHelpWidgetEntry(context) {
11754
11818
  return this._entries.has(context);
11755
11819
  }
11820
+ getSortPriorityMap() {
11821
+ return this._sortPriorityMap();
11822
+ }
11756
11823
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpWidgetService, deps: [{ token: DbxHelpWidgetServiceConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
11757
11824
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpWidgetService });
11758
11825
  }
@@ -11860,13 +11927,34 @@ class DbxHelpViewListComponent {
11860
11927
  * Whether the accordion should allow multiple expanded panels.
11861
11928
  */
11862
11929
  multi = input(true);
11930
+ /**
11931
+ * Whether or not to show the empty list content.
11932
+ */
11933
+ allowEmptyListContent = input(true);
11934
+ /**
11935
+ * Optional footer component config to inject after the list.
11936
+ *
11937
+ * If set null, then will not show any footer.
11938
+ */
11939
+ helpListFooterComponentConfig = input(undefined);
11863
11940
  helpContextStrings = input.required();
11864
- helpContextStrings$ = toObservable(this.helpContextStrings).pipe(switchMap((x) => asObservable(x) ?? of([])), map(asArray), distinctUntilHasDifferentValues(), shareReplay(1));
11941
+ helpContextStrings$ = toObservable(this.helpContextStrings).pipe(switchMap((x) => asObservable(x) ?? of([])), map(asArray), distinctUntilHasDifferentValues(), map((x) => {
11942
+ const sortPriorityMap = this.helpWidgetService.getSortPriorityMap();
11943
+ const sorted = [...x].sort(sortByNumberFunction((x) => sortPriorityMap.get(x) ?? -2));
11944
+ return sorted;
11945
+ }), shareReplay(1));
11865
11946
  helpContextStringsSignal = toSignal(this.helpContextStrings$, { initialValue: [] });
11866
11947
  helpWidgetEntriesSignal = computed(() => this.helpWidgetService.getHelpWidgetEntriesForHelpContextStrings(this.helpContextStringsSignal()));
11867
11948
  hasNoHelpWidgetEntriesSignal = computed(() => !this.helpWidgetEntriesSignal()?.length);
11949
+ helpListFooterComponentConfigSignal = computed(() => {
11950
+ let config = this.helpListFooterComponentConfig();
11951
+ if (config !== null) {
11952
+ config = this.helpWidgetService.getHelpListFooterComponentConfig();
11953
+ }
11954
+ return config;
11955
+ });
11868
11956
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpViewListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11869
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxHelpViewListComponent, isStandalone: true, selector: "dbx-help-view-list", inputs: { multi: { classPropertyName: "multi", publicName: "multi", isSignal: true, isRequired: false, transformFunction: null }, helpContextStrings: { classPropertyName: "helpContextStrings", publicName: "helpContextStrings", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "dbx-help-view-list dbx-block" }, ngImport: i0, template: `
11957
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxHelpViewListComponent, isStandalone: true, selector: "dbx-help-view-list", inputs: { multi: { classPropertyName: "multi", publicName: "multi", isSignal: true, isRequired: false, transformFunction: null }, allowEmptyListContent: { classPropertyName: "allowEmptyListContent", publicName: "allowEmptyListContent", isSignal: true, isRequired: false, transformFunction: null }, helpListFooterComponentConfig: { classPropertyName: "helpListFooterComponentConfig", publicName: "helpListFooterComponentConfig", isSignal: true, isRequired: false, transformFunction: null }, helpContextStrings: { classPropertyName: "helpContextStrings", publicName: "helpContextStrings", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "dbx-help-view-list dbx-block" }, ngImport: i0, template: `
11870
11958
  <mat-accordion [multi]="multi()">
11871
11959
  @for (widgetEntry of helpWidgetEntriesSignal(); track widgetEntry.helpContextString) {
11872
11960
  <dbx-help-view-list-entry [helpWidgetEntry]="widgetEntry"></dbx-help-view-list-entry>
@@ -11877,7 +11965,10 @@ class DbxHelpViewListComponent {
11877
11965
  <ng-content select="[empty]"></ng-content>
11878
11966
  </dbx-list-empty-content>
11879
11967
  }
11880
- `, isInline: true, dependencies: [{ kind: "directive", type: MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: DbxHelpViewListEntryComponent, selector: "dbx-help-view-list-entry", inputs: ["helpWidgetEntry"] }, { kind: "component", type: DbxListEmptyContentComponent, selector: "dbx-list-empty-content" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11968
+ <div class="dbx-help-view-list-footer">
11969
+ <dbx-injection [config]="helpListFooterComponentConfigSignal()"></dbx-injection>
11970
+ </div>
11971
+ `, isInline: true, dependencies: [{ kind: "directive", type: MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: DbxHelpViewListEntryComponent, selector: "dbx-help-view-list-entry", inputs: ["helpWidgetEntry"] }, { kind: "component", type: DbxListEmptyContentComponent, selector: "dbx-list-empty-content" }, { kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11881
11972
  }
11882
11973
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpViewListComponent, decorators: [{
11883
11974
  type: Component,
@@ -11894,11 +11985,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
11894
11985
  <ng-content select="[empty]"></ng-content>
11895
11986
  </dbx-list-empty-content>
11896
11987
  }
11988
+ <div class="dbx-help-view-list-footer">
11989
+ <dbx-injection [config]="helpListFooterComponentConfigSignal()"></dbx-injection>
11990
+ </div>
11897
11991
  `,
11898
11992
  host: {
11899
11993
  class: 'dbx-help-view-list dbx-block'
11900
11994
  },
11901
- imports: [MatAccordion, DbxHelpViewListEntryComponent, DbxListEmptyContentComponent],
11995
+ imports: [MatAccordion, DbxHelpViewListEntryComponent, DbxListEmptyContentComponent, DbxInjectionComponent],
11902
11996
  standalone: true,
11903
11997
  changeDetection: ChangeDetectionStrategy.OnPush
11904
11998
  }]
@@ -11913,15 +12007,16 @@ class DbxHelpViewPopoverComponent extends AbstractPopoverDirective {
11913
12007
  _helpWidgetService = inject(DbxHelpWidgetService);
11914
12008
  helpContextStrings$ = this.popover.data?.helpContextStrings ?? this._helpContextService.activeHelpContextStringsArray$;
11915
12009
  static openPopover(popoverService, config, popoverKey) {
11916
- const { origin, ...data } = config;
12010
+ const { origin, popoverSizingConfig, ...data } = config;
11917
12011
  return popoverService.open({
11918
12012
  height: '500px',
11919
12013
  width: '600px',
12014
+ ...popoverSizingConfig,
11920
12015
  key: popoverKey ?? DEFAULT_DBX_HELP_VIEW_POPOVER_KEY,
11921
- origin,
11922
12016
  componentClass: DbxHelpViewPopoverComponent,
11923
12017
  data,
11924
- isResizable: true
12018
+ isResizable: true,
12019
+ origin
11925
12020
  });
11926
12021
  }
11927
12022
  get config() {
@@ -11930,6 +12025,8 @@ class DbxHelpViewPopoverComponent extends AbstractPopoverDirective {
11930
12025
  icon = this.config.icon ?? 'help';
11931
12026
  header = this.config.header ?? 'Help';
11932
12027
  emptyText = this.config.emptyText ?? 'No help topics available in current context.';
12028
+ allowEmptyListContent = this.config.allowEmptyListContent ?? true;
12029
+ helpListFooterComponentConfig = this.config.helpListFooterComponentConfig;
11933
12030
  popoverHeaderConfig = (() => {
11934
12031
  let config = this.config.popoverHeaderConfig;
11935
12032
  if (!config) {
@@ -11938,11 +12035,11 @@ class DbxHelpViewPopoverComponent extends AbstractPopoverDirective {
11938
12035
  return config;
11939
12036
  })();
11940
12037
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpViewPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
11941
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxHelpViewPopoverComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<dbx-popover-content>\n <!-- Header -->\n <dbx-popover-header [icon]=\"icon\" [header]=\"header\">\n <dbx-injection [config]=\"popoverHeaderConfig\"></dbx-injection>\n </dbx-popover-header>\n <!-- Content -->\n <dbx-popover-scroll-content>\n <dbx-help-view-list [helpContextStrings]=\"helpContextStrings$\">\n <p empty>{{ emptyText }}</p>\n </dbx-help-view-list>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n", dependencies: [{ kind: "component", type: DbxPopoverContentComponent, selector: "dbx-popover-content" }, { kind: "component", type: DbxPopoverHeaderComponent, selector: "dbx-popover-header", inputs: ["header", "icon"] }, { kind: "directive", type: DbxPopoverScrollContentDirective, selector: "dbx-popover-scroll-content,[dbxPopoverScrollContent],.dbx-popover-scroll-content" }, { kind: "component", type: DbxHelpViewListComponent, selector: "dbx-help-view-list", inputs: ["multi", "helpContextStrings"] }, { kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12038
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxHelpViewPopoverComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<dbx-popover-content>\n <!-- Header -->\n <dbx-popover-header [icon]=\"icon\" [header]=\"header\">\n <dbx-injection [config]=\"popoverHeaderConfig\"></dbx-injection>\n </dbx-popover-header>\n <!-- Content -->\n <dbx-popover-scroll-content>\n <dbx-help-view-list [helpContextStrings]=\"helpContextStrings$\" [allowEmptyListContent]=\"allowEmptyListContent\" [helpListFooterComponentConfig]=\"helpListFooterComponentConfig\">\n <p empty>{{ emptyText }}</p>\n </dbx-help-view-list>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n", dependencies: [{ kind: "component", type: DbxPopoverContentComponent, selector: "dbx-popover-content" }, { kind: "component", type: DbxPopoverHeaderComponent, selector: "dbx-popover-header", inputs: ["header", "icon"] }, { kind: "directive", type: DbxPopoverScrollContentDirective, selector: "dbx-popover-scroll-content,[dbxPopoverScrollContent],.dbx-popover-scroll-content" }, { kind: "component", type: DbxHelpViewListComponent, selector: "dbx-help-view-list", inputs: ["multi", "allowEmptyListContent", "helpListFooterComponentConfig", "helpContextStrings"] }, { kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11942
12039
  }
11943
12040
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpViewPopoverComponent, decorators: [{
11944
12041
  type: Component,
11945
- args: [{ imports: [DbxPopoverContentComponent, DbxPopoverHeaderComponent, DbxPopoverScrollContentDirective, DbxHelpViewListComponent, DbxInjectionComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<dbx-popover-content>\n <!-- Header -->\n <dbx-popover-header [icon]=\"icon\" [header]=\"header\">\n <dbx-injection [config]=\"popoverHeaderConfig\"></dbx-injection>\n </dbx-popover-header>\n <!-- Content -->\n <dbx-popover-scroll-content>\n <dbx-help-view-list [helpContextStrings]=\"helpContextStrings$\">\n <p empty>{{ emptyText }}</p>\n </dbx-help-view-list>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n" }]
12042
+ args: [{ imports: [DbxPopoverContentComponent, DbxPopoverHeaderComponent, DbxPopoverScrollContentDirective, DbxHelpViewListComponent, DbxInjectionComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<dbx-popover-content>\n <!-- Header -->\n <dbx-popover-header [icon]=\"icon\" [header]=\"header\">\n <dbx-injection [config]=\"popoverHeaderConfig\"></dbx-injection>\n </dbx-popover-header>\n <!-- Content -->\n <dbx-popover-scroll-content>\n <dbx-help-view-list [helpContextStrings]=\"helpContextStrings$\" [allowEmptyListContent]=\"allowEmptyListContent\" [helpListFooterComponentConfig]=\"helpListFooterComponentConfig\">\n <p empty>{{ emptyText }}</p>\n </dbx-help-view-list>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n" }]
11946
12043
  }] });
11947
12044
 
11948
12045
  /**