@coreui/angular-pro 5.7.20 → 5.7.22

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.
@@ -679,6 +679,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImpor
679
679
  class DropdownService {
680
680
  #dropdownState = new BehaviorSubject({});
681
681
  dropdownState$ = this.#dropdownState.asObservable();
682
+ alignment = signal(undefined, /* @ts-ignore */
683
+ ...(ngDevMode ? [{ debugName: "alignment" }] : /* istanbul ignore next */ []));
682
684
  toggle(state) {
683
685
  this.#dropdownState.next(state);
684
686
  }
@@ -699,7 +701,7 @@ class DropdownMenuDirective {
699
701
  #focusKeyManager;
700
702
  /**
701
703
  * Set alignment of dropdown menu.
702
- * @returns 'start' | 'end'
704
+ * @returns DropdownAlignment
703
705
  */
704
706
  alignment = input(/* @ts-ignore */
705
707
  ...(ngDevMode ? [undefined, { debugName: "alignment" }] : /* istanbul ignore next */ []));
@@ -711,11 +713,10 @@ class DropdownMenuDirective {
711
713
  visible = linkedSignal({ ...(ngDevMode ? { debugName: "visible" } : /* istanbul ignore next */ {}), source: this.visibleInput,
712
714
  computation: (value) => value });
713
715
  hostClasses = computed(() => {
714
- const alignment = this.alignment();
715
716
  const visible = this.visible();
716
717
  return {
717
718
  'dropdown-menu': true,
718
- [`dropdown-menu-${alignment}`]: !!alignment,
719
+ ...alignmentClasses(this.alignment() ?? this.#dropdownService.alignment()),
719
720
  show: visible
720
721
  };
721
722
  }, /* @ts-ignore */
@@ -798,6 +799,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImpor
798
799
  }
799
800
  }]
800
801
  }], propDecorators: { alignment: [{ type: i0.Input, args: [{ isSignal: true, alias: "alignment", required: false }] }], visibleInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "visible", required: false }] }], dropdownItemsContent: [{ type: i0.ContentChildren, args: [forwardRef(() => DropdownItemDirective), { ...{ descendants: true }, isSignal: true }] }] } });
802
+ const alignmentClasses = (alignment) => {
803
+ if (!alignment) {
804
+ return {};
805
+ }
806
+ if (typeof alignment === 'string') {
807
+ return { [`dropdown-menu-${alignment}`]: true };
808
+ }
809
+ return Object.fromEntries(Object.entries(alignment).map(([breakpoint, direction]) => [
810
+ `dropdown-menu${breakpoint === BreakpointInfix.xs ? '' : `-${breakpoint}`}-${direction}`,
811
+ true
812
+ ]));
813
+ };
801
814
 
802
815
  // lightweight injection token
803
816
  class DropdownToken {
@@ -898,12 +911,15 @@ class DropdownComponent {
898
911
  }
899
912
  /**
900
913
  * Set alignment of dropdown menu.
901
- * @returns {'start' | 'end' | { xs: 'start' | 'end' } | { sm: 'start' | 'end' } | { md: 'start' | 'end' } | { lg: 'start' | 'end' } | { xl: 'start' | 'end'} | { xxl: 'start' | 'end'}}
914
+ * @returns DropdownAlignment
902
915
  */
903
916
  alignment = input(/* @ts-ignore */
904
917
  ...(ngDevMode ? [undefined, { debugName: "alignment" }] : /* istanbul ignore next */ []));
905
918
  /**
906
- * Automatically close dropdown when clicking outside the dropdown menu.
919
+ * Configure the auto close behavior: `true` closes the dropdown on a click inside or
920
+ * outside the menu, `false` only on the toggle button or an explicit hide/toggle call
921
+ * and not on the Esc key, `inside` only on a click inside the menu, `outside` only on
922
+ * a click outside it.
907
923
  * @returns boolean | 'inside' | 'outside'
908
924
  * @default true
909
925
  */
@@ -911,7 +927,7 @@ class DropdownComponent {
911
927
  ...(ngDevMode ? [{ debugName: "autoClose" }] : /* istanbul ignore next */ []));
912
928
  /**
913
929
  * Sets a specified direction and location of the dropdown menu.
914
- * @returns 'dropup' | 'dropend' | 'dropstart'
930
+ * @returns 'center' | 'dropup' | 'dropup-center' | 'dropend' | 'dropstart'
915
931
  */
916
932
  direction = input(/* @ts-ignore */
917
933
  ...(ngDevMode ? [undefined, { debugName: "direction" }] : /* istanbul ignore next */ []));
@@ -929,9 +945,17 @@ class DropdownComponent {
929
945
  * @default true
930
946
  */
931
947
  popper = input(true, { ...(ngDevMode ? { debugName: "popper" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
948
+ #popperEnabled = computed(() => this.popper() && typeof this.alignment() !== 'object', /* @ts-ignore */
949
+ ...(ngDevMode ? [{ debugName: "#popperEnabled" }] : /* istanbul ignore next */ []));
950
+ #alignmentEffect = effect(() => {
951
+ this.dropdownService.alignment.set(this.alignment());
952
+ }, /* @ts-ignore */
953
+ ...(ngDevMode ? [{ debugName: "#alignmentEffect" }] : /* istanbul ignore next */ []));
932
954
  /**
933
- * Optional popper Options object, `placement` prop takes precedence over
955
+ * Optional Popper.js options object; the `placement` prop takes precedence over the
956
+ * placement set here. See https://popper.js.org/docs/v2/constructors/#options
934
957
  * @returns Partial<Options>
958
+ * @default {}
935
959
  */
936
960
  popperOptionsInput = input({}, { ...(ngDevMode ? { debugName: "popperOptionsInput" } : /* istanbul ignore next */ {}), alias: 'popperOptions' });
937
961
  #popperOptionsEffect = effect(() => {
@@ -1081,7 +1105,7 @@ class DropdownComponent {
1081
1105
  // workaround for popper position calculate (see also: dropdown-menu.component)
1082
1106
  _menu.elementRef.nativeElement.style.visibility = 'hidden';
1083
1107
  _menu.elementRef.nativeElement.style.display = 'block';
1084
- if (this.popper()) {
1108
+ if (this.#popperEnabled()) {
1085
1109
  this.popperInstance = createPopper(_toggler.elementRef.nativeElement, _menu.elementRef.nativeElement, {
1086
1110
  ...this.popperOptions
1087
1111
  });
@@ -5820,7 +5844,7 @@ class BreadcrumbItemComponent {
5820
5844
  active = input(undefined, { ...(ngDevMode ? { debugName: "active" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
5821
5845
  /**
5822
5846
  * The `url` prop for the inner `[routerLink]` directive
5823
- * @returns string
5847
+ * @returns string | any[]
5824
5848
  */
5825
5849
  url = input(/* @ts-ignore */
5826
5850
  ...(ngDevMode ? [undefined, { debugName: "url" }] : /* istanbul ignore next */ []));
@@ -5994,7 +6018,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImpor
5994
6018
  class ButtonGroupComponent {
5995
6019
  /**
5996
6020
  * Size the component small or large.
5997
- * @returns '' | 'sm' | 'lg' | string
6021
+ * @returns '' | 'sm' | 'lg'
5998
6022
  */
5999
6023
  size = input(/* @ts-ignore */
6000
6024
  ...(ngDevMode ? [undefined, { debugName: "size" }] : /* istanbul ignore next */ []));
@@ -7766,6 +7790,10 @@ class CalendarComponent {
7766
7790
  */
7767
7791
  ariaPrevYearLabel = input('Previous year', /* @ts-ignore */
7768
7792
  ...(ngDevMode ? [{ debugName: "ariaPrevYearLabel" }] : /* istanbul ignore next */ []));
7793
+ /**
7794
+ * Event emitted on calendar cell hover.
7795
+ * @returns Date | null
7796
+ */
7769
7797
  calendarCellHover = output();
7770
7798
  // used with calendarService
7771
7799
  hoverDate = signal(null, /* @ts-ignore */
@@ -8133,7 +8161,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImpor
8133
8161
  class CardImgDirective {
8134
8162
  /**
8135
8163
  * Optionally orientate the image to the top, bottom, or make it overlaid across the card.
8136
- * @returns {'top | 'bottom'}
8164
+ * @returns 'top' | 'bottom' | 'start' | 'end'
8137
8165
  */
8138
8166
  orientation = input(undefined, { ...(ngDevMode ? { debugName: "orientation" } : /* istanbul ignore next */ {}), alias: 'cCardImg' });
8139
8167
  hostClasses = computed(() => {
@@ -8429,7 +8457,7 @@ class CarouselComponent {
8429
8457
  ...(ngDevMode ? [{ debugName: "#intervalEffect" }] : /* istanbul ignore next */ []));
8430
8458
  /**
8431
8459
  * Sets which event handlers you’d like provided to your pause prop. You can specify one trigger or an array of them.
8432
- * @returns 'hover' | 'focus' | 'click'
8460
+ * @returns Triggers | Triggers[] | false
8433
8461
  */
8434
8462
  pause = input('hover', /* @ts-ignore */
8435
8463
  ...(ngDevMode ? [{ debugName: "pause" }] : /* istanbul ignore next */ []));
@@ -12524,7 +12552,7 @@ class ListGroupItemDirective {
12524
12552
  active = input(false, { ...(ngDevMode ? { debugName: "active" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
12525
12553
  /**
12526
12554
  * Sets the color context of the component to one of CoreUI’s themed colors.
12527
- * @returns InputSignal<Colors | undefined>
12555
+ * @returns Colors
12528
12556
  */
12529
12557
  color = input(/* @ts-ignore */
12530
12558
  ...(ngDevMode ? [undefined, { debugName: "color" }] : /* istanbul ignore next */ []));
@@ -13113,8 +13141,7 @@ class NavbarTogglerDirective {
13113
13141
  }
13114
13142
  /**
13115
13143
  * Reference to navbar collapse element (via # template variable)
13116
- * @returns string
13117
- * @default 'button'
13144
+ * @returns CollapseDirective
13118
13145
  */
13119
13146
  collapseRef = input(undefined, { ...(ngDevMode ? { debugName: "collapseRef" } : /* istanbul ignore next */ {}), alias: 'cNavbarToggler' });
13120
13147
  /**
@@ -13751,6 +13778,14 @@ class OffcanvasComponent {
13751
13778
  */
13752
13779
  backdrop = input(true, /* @ts-ignore */
13753
13780
  ...(ngDevMode ? [{ debugName: "backdrop" }] : /* istanbul ignore next */ []));
13781
+ /**
13782
+ * Appends the offcanvas to a specific element. You can pass an HTML element or function that returns a single element. By default, `document.body`.
13783
+ * @since 5.7.21
13784
+ * @returns Element | (() => Element | null) | null
13785
+ * @default document.body
13786
+ */
13787
+ container = input(this.#document.body, /* @ts-ignore */
13788
+ ...(ngDevMode ? [{ debugName: "container" }] : /* istanbul ignore next */ []));
13754
13789
  /**
13755
13790
  * Closes the offcanvas when the escape key is pressed
13756
13791
  * @returns boolean
@@ -13764,6 +13799,13 @@ class OffcanvasComponent {
13764
13799
  */
13765
13800
  placement = input('start', /* @ts-ignore */
13766
13801
  ...(ngDevMode ? [{ debugName: "placement" }] : /* istanbul ignore next */ []));
13802
+ /**
13803
+ * Generates offcanvas using a portal
13804
+ * @since 5.7.21
13805
+ * @returns boolean
13806
+ * @default false
13807
+ */
13808
+ portal = input(false, { ...(ngDevMode ? { debugName: "portal" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
13767
13809
  /**
13768
13810
  * Responsive offcanvas property hides content outside the viewport from a specified breakpoint and down.
13769
13811
  * @returns boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
@@ -13794,6 +13836,8 @@ class OffcanvasComponent {
13794
13836
  #activeBackdrop;
13795
13837
  #backdropClickSubscription;
13796
13838
  #layoutChangeSubscription;
13839
+ #hideFallbackId;
13840
+ #isShown = false;
13797
13841
  /**
13798
13842
  * Allow body scrolling while offcanvas is visible.
13799
13843
  * @returns boolean
@@ -13808,6 +13852,33 @@ class OffcanvasComponent {
13808
13852
  visibleInput = input(false, { ...(ngDevMode ? { debugName: "visibleInput" } : /* istanbul ignore next */ {}), transform: booleanAttribute, alias: 'visible' });
13809
13853
  visible = linkedSignal({ ...(ngDevMode ? { debugName: "visible" } : /* istanbul ignore next */ {}), source: this.visibleInput,
13810
13854
  computation: (value) => value });
13855
+ domPortal = new DomPortal(this.#hostElement.nativeElement);
13856
+ domPortalOutlet;
13857
+ domPortalCleanup = () => {
13858
+ if (this.domPortalOutlet?.hasAttached()) {
13859
+ this.domPortalOutlet.detach();
13860
+ }
13861
+ };
13862
+ #portalEffect = effect(() => {
13863
+ const visible = this.visible();
13864
+ const containerInput = this.container();
13865
+ const portalEnabled = this.portal();
13866
+ untracked(() => {
13867
+ if (!visible) {
13868
+ return;
13869
+ }
13870
+ const container = typeof containerInput === 'function' ? containerInput() : containerInput;
13871
+ this.domPortalCleanup();
13872
+ if (container && portalEnabled) {
13873
+ this.domPortalOutlet = new DomPortalOutlet(container);
13874
+ this.domPortalOutlet.attach(this.domPortal);
13875
+ // Re-inserting the host drops its computed style, so the show classes applied later in
13876
+ // this same cycle would have no starting point to animate from. Force a reflow to commit it.
13877
+ void this.#hostElement.nativeElement.offsetHeight;
13878
+ }
13879
+ });
13880
+ }, /* @ts-ignore */
13881
+ ...(ngDevMode ? [{ debugName: "#portalEffect" }] : /* istanbul ignore next */ []));
13811
13882
  visibleEffect = effect(() => {
13812
13883
  const visible = this.visible();
13813
13884
  this.animateStart(visible);
@@ -13864,6 +13935,9 @@ class OffcanvasComponent {
13864
13935
  return breakpointValue ? `${parseFloat(breakpointValue.trim()) - 0.02}px` : false;
13865
13936
  }
13866
13937
  animateStart(visible = this.visible()) {
13938
+ const wasShown = this.#isShown;
13939
+ this.#isShown = visible;
13940
+ this.#clearHideFallback();
13867
13941
  if (visible) {
13868
13942
  if (!this.scroll()) {
13869
13943
  this.#backdropService.hideScrollbar();
@@ -13874,6 +13948,9 @@ class OffcanvasComponent {
13874
13948
  else {
13875
13949
  this.#renderer.removeClass(this.#hostElement.nativeElement, 'showing');
13876
13950
  this.#renderer.addClass(this.#hostElement.nativeElement, 'hiding');
13951
+ if (wasShown) {
13952
+ this.#scheduleHideFallback();
13953
+ }
13877
13954
  }
13878
13955
  }
13879
13956
  onKeyDownHandler(event) {
@@ -13892,6 +13969,8 @@ class OffcanvasComponent {
13892
13969
  ngOnDestroy() {
13893
13970
  this.#offcanvasService.toggle({ show: false, id: this.id() });
13894
13971
  this.#removeEventListeners();
13972
+ this.#clearHideFallback();
13973
+ this.domPortalCleanup();
13895
13974
  }
13896
13975
  #removeEventListeners = () => {
13897
13976
  this.#hostElement.nativeElement.removeEventListener('transitionend', this.#handleTransitionEnd);
@@ -13903,12 +13982,30 @@ class OffcanvasComponent {
13903
13982
  this.#renderer.removeClass(offcanvasElement, 'showing');
13904
13983
  }
13905
13984
  else {
13906
- this.#renderer.removeClass(offcanvasElement, 'hiding');
13907
- this.#renderer.removeStyle(this.#document.body, 'overflow');
13908
- this.#renderer.removeStyle(this.#document.body, 'paddingRight');
13985
+ this.#completeHide();
13909
13986
  }
13910
13987
  }
13911
13988
  };
13989
+ #completeHide() {
13990
+ this.#clearHideFallback();
13991
+ this.#renderer.removeClass(this.#hostElement.nativeElement, 'hiding');
13992
+ this.#renderer.removeStyle(this.#document.body, 'overflow');
13993
+ this.#renderer.removeStyle(this.#document.body, 'paddingRight');
13994
+ this.domPortalCleanup();
13995
+ }
13996
+ // `transitionend` never fires when there is nothing to animate — reduced motion, or a responsive
13997
+ // offcanvas above its breakpoint — which would leave the body scroll-locked and the host parked
13998
+ // in the portal container.
13999
+ #scheduleHideFallback() {
14000
+ const style = this.#document.defaultView?.getComputedStyle(this.#hostElement.nativeElement);
14001
+ const duration = Number.parseFloat(style?.transitionDuration ?? '') || 0;
14002
+ const delay = Number.parseFloat(style?.transitionDelay ?? '') || 0;
14003
+ this.#hideFallbackId = setTimeout(() => this.#completeHide(), (duration + delay) * 1000 + 5);
14004
+ }
14005
+ #clearHideFallback() {
14006
+ clearTimeout(this.#hideFallbackId);
14007
+ this.#hideFallbackId = undefined;
14008
+ }
13912
14009
  setFocus() {
13913
14010
  if (isPlatformBrowser(this.#platformId)) {
13914
14011
  setTimeout(() => this.#hostElement.nativeElement.focus());
@@ -13959,12 +14056,11 @@ class OffcanvasComponent {
13959
14056
  }
13960
14057
  }
13961
14058
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: OffcanvasComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13962
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.3", type: OffcanvasComponent, isStandalone: true, selector: "c-offcanvas", inputs: { backdrop: { classPropertyName: "backdrop", publicName: "backdrop", isSignal: true, isRequired: false, transformFunction: null }, keyboard: { classPropertyName: "keyboard", publicName: "keyboard", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, responsive: { classPropertyName: "responsive", publicName: "responsive", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null }, ariaModal: { classPropertyName: "ariaModal", publicName: "ariaModal", isSignal: true, isRequired: false, transformFunction: null }, scroll: { classPropertyName: "scroll", publicName: "scroll", isSignal: true, isRequired: false, transformFunction: null }, visibleInput: { classPropertyName: "visibleInput", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { visibleChange: "visibleChange" }, host: { attributes: { "ngSkipHydration": "true" }, listeners: { "document:keydown": "onKeyDownHandler($event)" }, properties: { "attr.id": "id()", "attr.inert": "ariaHidden() || null", "attr.role": "role()", "attr.aria-modal": "ariaModal()", "attr.tabindex": "tabIndex", "class": "hostClasses()" } }, exportAs: ["cOffcanvas"], hostDirectives: [{ directive: ThemeDirective, inputs: ["dark", "dark"] }], ngImport: i0, template: "<div cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content />\n</div>\n\n", styles: [":host{display:none}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1$2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }] });
14059
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.3", type: OffcanvasComponent, isStandalone: true, selector: "c-offcanvas", inputs: { backdrop: { classPropertyName: "backdrop", publicName: "backdrop", isSignal: true, isRequired: false, transformFunction: null }, container: { classPropertyName: "container", publicName: "container", isSignal: true, isRequired: false, transformFunction: null }, keyboard: { classPropertyName: "keyboard", publicName: "keyboard", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, portal: { classPropertyName: "portal", publicName: "portal", isSignal: true, isRequired: false, transformFunction: null }, responsive: { classPropertyName: "responsive", publicName: "responsive", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null }, ariaModal: { classPropertyName: "ariaModal", publicName: "ariaModal", isSignal: true, isRequired: false, transformFunction: null }, scroll: { classPropertyName: "scroll", publicName: "scroll", isSignal: true, isRequired: false, transformFunction: null }, visibleInput: { classPropertyName: "visibleInput", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { visibleChange: "visibleChange" }, host: { listeners: { "document:keydown": "onKeyDownHandler($event)" }, properties: { "attr.id": "id()", "attr.inert": "ariaHidden() || null", "attr.role": "role()", "attr.aria-modal": "ariaModal()", "attr.tabindex": "tabIndex", "class": "hostClasses()" } }, exportAs: ["cOffcanvas"], hostDirectives: [{ directive: ThemeDirective, inputs: ["dark", "dark"] }], ngImport: i0, template: "<div cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content />\n</div>\n\n", styles: [":host{display:none}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1$2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }] });
13963
14060
  }
13964
14061
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: OffcanvasComponent, decorators: [{
13965
14062
  type: Component,
13966
14063
  args: [{ selector: 'c-offcanvas', exportAs: 'cOffcanvas', imports: [A11yModule], hostDirectives: [{ directive: ThemeDirective, inputs: ['dark'] }], host: {
13967
- ngSkipHydration: 'true',
13968
14064
  '[attr.id]': 'id()',
13969
14065
  '[attr.inert]': 'ariaHidden() || null',
13970
14066
  '[attr.role]': 'role()',
@@ -13973,7 +14069,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImpor
13973
14069
  '[class]': 'hostClasses()',
13974
14070
  '(document:keydown)': 'onKeyDownHandler($event)'
13975
14071
  }, template: "<div cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content />\n</div>\n\n", styles: [":host{display:none}\n"] }]
13976
- }], propDecorators: { backdrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "backdrop", required: false }] }], keyboard: [{ type: i0.Input, args: [{ isSignal: true, alias: "keyboard", required: false }] }], placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "placement", required: false }] }], responsive: [{ type: i0.Input, args: [{ isSignal: true, alias: "responsive", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], role: [{ type: i0.Input, args: [{ isSignal: true, alias: "role", required: false }] }], ariaModal: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaModal", required: false }] }], scroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "scroll", required: false }] }], visibleInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "visible", required: false }] }], visibleChange: [{ type: i0.Output, args: ["visibleChange"] }] } });
14072
+ }], propDecorators: { backdrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "backdrop", required: false }] }], container: [{ type: i0.Input, args: [{ isSignal: true, alias: "container", required: false }] }], keyboard: [{ type: i0.Input, args: [{ isSignal: true, alias: "keyboard", required: false }] }], placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "placement", required: false }] }], portal: [{ type: i0.Input, args: [{ isSignal: true, alias: "portal", required: false }] }], responsive: [{ type: i0.Input, args: [{ isSignal: true, alias: "responsive", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], role: [{ type: i0.Input, args: [{ isSignal: true, alias: "role", required: false }] }], ariaModal: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaModal", required: false }] }], scroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "scroll", required: false }] }], visibleInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "visible", required: false }] }], visibleChange: [{ type: i0.Output, args: ["visibleChange"] }] } });
13977
14073
 
13978
14074
  class OffcanvasBodyComponent {
13979
14075
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: OffcanvasBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
@@ -14737,7 +14833,7 @@ class PaginationComponent {
14737
14833
  ...(ngDevMode ? [{ debugName: "align" }] : /* istanbul ignore next */ []));
14738
14834
  /**
14739
14835
  * Size the component small or large.
14740
- * @returns '' | 'sm' | 'lg' | string
14836
+ * @returns '' | 'sm' | 'lg'
14741
14837
  */
14742
14838
  size = input(/* @ts-ignore */
14743
14839
  ...(ngDevMode ? [undefined, { debugName: "size" }] : /* istanbul ignore next */ []));
@@ -20123,6 +20219,11 @@ class TabPaneComponent {
20123
20219
  active: this.active
20124
20220
  };
20125
20221
  }
20222
+ /**
20223
+ * Element role.
20224
+ * @returns string
20225
+ * @default 'tabpanel'
20226
+ */
20126
20227
  role = 'tabpanel';
20127
20228
  ngOnDestroy() {
20128
20229
  this.subscribeTabService(false);
@@ -20425,7 +20526,7 @@ class TabsComponent {
20425
20526
  tabsService = inject(TabsService);
20426
20527
  /**
20427
20528
  * The active item key.
20428
- * @returns <string | number | undefined>
20529
+ * @returns number | string
20429
20530
  */
20430
20531
  activeItemKey = model(/* @ts-ignore */
20431
20532
  ...(ngDevMode ? [undefined, { debugName: "activeItemKey" }] : /* istanbul ignore next */ []));
@@ -21579,7 +21680,7 @@ class WidgetStatFComponent extends CardComponent {
21579
21680
  ...(ngDevMode ? [undefined, { debugName: "title" }] : /* istanbul ignore next */ []));
21580
21681
  /**
21581
21682
  * Value for your widget to display
21582
- * @returns string
21683
+ * @returns string | number
21583
21684
  */
21584
21685
  value = input(/* @ts-ignore */
21585
21686
  ...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));