From f52d8762e6fe8b3d03e8d4377182aa7245a676f4 Mon Sep 17 00:00:00 2001 From: xidedix Date: Mon, 30 Jan 2023 14:50:37 +0100 Subject: [PATCH 1/7] feat(offcanvas): add backdrop static option support --- .../offcanvas/offcanvas.component.ts | 68 ++++++++++--------- 1 file changed, 36 insertions(+), 32 deletions(-) diff --git a/projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.ts b/projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.ts index c0bdee41..5038e2b4 100644 --- a/projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.ts +++ b/projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.ts @@ -12,9 +12,9 @@ import { Output, PLATFORM_ID, Renderer2, - SimpleChanges, + SimpleChanges } from '@angular/core'; -import { animate, state, style, transition, trigger, } from '@angular/animations'; +import { animate, state, style, transition, trigger } from '@angular/animations'; import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; import { Subscription } from 'rxjs'; @@ -31,24 +31,23 @@ let nextId = 0; state( 'true', style({ - visibility: 'visible', + visibility: 'visible' }) ), state( 'false', style({ - visibility: 'hidden', + visibility: 'hidden' }) ), - transition('true => false', [animate('300ms')]), - ]), + transition('true => false', [animate('300ms')]) + ]) ], templateUrl: './offcanvas.component.html', styleUrls: ['./offcanvas.component.scss'], - exportAs: 'cOffcanvas', + exportAs: 'cOffcanvas' }) export class OffcanvasComponent implements OnChanges, OnInit, OnDestroy { - static ngAcceptInputType_scroll: BooleanInput; constructor( @@ -58,14 +57,14 @@ export class OffcanvasComponent implements OnChanges, OnInit, OnDestroy { private hostElement: ElementRef, private offcanvasService: OffcanvasService, private backdropService: BackdropService - ) { } + ) {} /** * Apply a backdrop on body while offcanvas is open. - * @type boolean + * @type boolean | 'static' * @default true */ - @Input() backdrop = true; + @Input() backdrop: boolean | 'static' = true; /** * Closes the offcanvas when escape key is pressed [docs] @@ -88,10 +87,12 @@ export class OffcanvasComponent implements OnChanges, OnInit, OnDestroy { @Input() set scroll(value: boolean) { this._scroll = coerceBooleanProperty(value); - }; + } + get scroll() { return this._scroll; } + private _scroll = false; @Input() id = `offcanvas-${this.placement}-${nextId++}`; @@ -125,9 +126,11 @@ export class OffcanvasComponent implements OnChanges, OnInit, OnDestroy { this.setScroll(); this.visibleChange.emit(value); } + get visible(): boolean { return this._visible; } + private _visible!: boolean; /** @@ -145,14 +148,14 @@ export class OffcanvasComponent implements OnChanges, OnInit, OnDestroy { return { offcanvas: true, [`offcanvas-${this.placement}`]: !!this.placement, - show: this.visible, + show: this.visible }; } @HostBinding('attr.aria-hidden') get ariaHidden(): boolean | null { return this.visible ? null : true; - }; + } @HostBinding('attr.tabindex') get tabIndex(): string | null { @@ -166,7 +169,12 @@ export class OffcanvasComponent implements OnChanges, OnInit, OnDestroy { @HostListener('document:keydown', ['$event']) onKeyDownHandler(event: KeyboardEvent): void { - if (event.key === 'Escape' && this.keyboard && this.visible) { + if ( + event.key === 'Escape' && + this.keyboard && + this.visible && + this.backdrop !== 'static' + ) { this.offcanvasService.toggle({ show: false, id: this.id }); } } @@ -189,15 +197,15 @@ export class OffcanvasComponent implements OnChanges, OnInit, OnDestroy { private stateToggleSubscribe(subscribe: boolean = true): void { if (subscribe) { - this.stateToggleSubscription = this.offcanvasService.offcanvasState$.subscribe( - (action) => { + this.stateToggleSubscription = + this.offcanvasService.offcanvasState$.subscribe((action) => { if (this === action.offcanvas || this.id === action.id) { if ('show' in action) { - this.visible = action?.show === 'toggle' ? !this.visible : action.show; + this.visible = + action?.show === 'toggle' ? !this.visible : action.show; } } - } - ); + }); } else { this.stateToggleSubscription.unsubscribe(); } @@ -205,24 +213,20 @@ export class OffcanvasComponent implements OnChanges, OnInit, OnDestroy { private backdropClickSubscribe(subscribe: boolean = true): void { if (subscribe) { - this.backdropClickSubscription = this.backdropService.backdropClick$.subscribe( - (clicked) => { + this.backdropClickSubscription = + this.backdropService.backdropClick$.subscribe((clicked) => { this.offcanvasService.toggle({ show: !clicked, id: this.id }); - } - ); + }); } else { this.backdropClickSubscription?.unsubscribe(); } } - private setBackdrop(setBackdrop: boolean): void { - if (setBackdrop) { - this.activeBackdrop = this.backdropService.setBackdrop('offcanvas'); - this.backdropClickSubscribe(); - } else { - this.activeBackdrop = this.backdropService.clearBackdrop(this.activeBackdrop); - this.backdropClickSubscribe(false); - } + private setBackdrop(setBackdrop: boolean | 'static'): void { + this.activeBackdrop = !!setBackdrop ? this.backdropService.setBackdrop('offcanvas') + : this.backdropService.clearBackdrop(this.activeBackdrop); + setBackdrop === true ? this.backdropClickSubscribe() + : this.backdropClickSubscribe(false); } setFocus(): void { From 8bdf397d38da667c5fa4ee7927f5333c89a8f5b6 Mon Sep 17 00:00:00 2001 From: xidedix Date: Mon, 30 Jan 2023 18:15:21 +0100 Subject: [PATCH 2/7] refactor(modal, offcanvas): move get scrollbarWidth to BackdropService --- .../coreui-angular/src/lib/backdrop/backdrop.service.ts | 9 ++++++++- .../src/lib/modal/modal/modal.component.ts | 9 +-------- .../src/lib/offcanvas/offcanvas/offcanvas.component.ts | 3 +++ 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/projects/coreui-angular/src/lib/backdrop/backdrop.service.ts b/projects/coreui-angular/src/lib/backdrop/backdrop.service.ts index 2bf50bc3..778ab6db 100644 --- a/projects/coreui-angular/src/lib/backdrop/backdrop.service.ts +++ b/projects/coreui-angular/src/lib/backdrop/backdrop.service.ts @@ -14,12 +14,19 @@ export class BackdropService { private unListen!: () => void; constructor( - @Inject(DOCUMENT) private document: any, + @Inject(DOCUMENT) private document: Document, private rendererFactory: RendererFactory2 ) { this.renderer = rendererFactory.createRenderer(null, null); } + get scrollbarWidth() { + // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes + const documentWidth = this.document.documentElement.clientWidth; + const scrollbarWidth = Math.abs((window?.innerWidth ?? documentWidth) - documentWidth); + return `${scrollbarWidth}px`; + } + setBackdrop(type: string = 'modal'): any { const backdropElement = this.renderer.createElement('div'); this.renderer.addClass(backdropElement, `${type}-backdrop`); diff --git a/projects/coreui-angular/src/lib/modal/modal/modal.component.ts b/projects/coreui-angular/src/lib/modal/modal/modal.component.ts index 48f1de66..3f08adbb 100644 --- a/projects/coreui-angular/src/lib/modal/modal/modal.component.ts +++ b/projects/coreui-angular/src/lib/modal/modal/modal.component.ts @@ -184,16 +184,9 @@ export class ModalComponent implements OnInit, OnDestroy { private _show = true; - private get scrollbarWidth() { - // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes - const documentWidth = this.document.documentElement.clientWidth; - const scrollbarWidth = Math.abs((window?.innerWidth ?? documentWidth) - documentWidth); - return `${scrollbarWidth}px`; - } - @HostListener('@showHide.start', ['$event']) animateStart(event: AnimationEvent) { - const scrollbarWidth = this.scrollbarWidth; + const scrollbarWidth = this.backdropService.scrollbarWidth; if (event.toState === 'visible') { this.renderer.setStyle(this.document.body, 'overflow', 'hidden'); this.renderer.setStyle(this.document.body, 'padding-right', scrollbarWidth); diff --git a/projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.ts b/projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.ts index 5038e2b4..aa4975cc 100644 --- a/projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.ts +++ b/projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.ts @@ -139,6 +139,7 @@ export class OffcanvasComponent implements OnChanges, OnInit, OnDestroy { @Output() visibleChange = new EventEmitter(); private activeBackdrop!: any; + private scrollbarWidth!: string; private stateToggleSubscription!: Subscription; private backdropClickSubscription!: Subscription; @@ -181,6 +182,7 @@ export class OffcanvasComponent implements OnChanges, OnInit, OnDestroy { ngOnInit(): void { this.setScroll(); + this.scrollbarWidth = this.backdropService.scrollbarWidth; this.stateToggleSubscribe(); } @@ -223,6 +225,7 @@ export class OffcanvasComponent implements OnChanges, OnInit, OnDestroy { } private setBackdrop(setBackdrop: boolean | 'static'): void { + this.scrollbarWidth = this.backdropService.scrollbarWidth; this.activeBackdrop = !!setBackdrop ? this.backdropService.setBackdrop('offcanvas') : this.backdropService.clearBackdrop(this.activeBackdrop); setBackdrop === true ? this.backdropClickSubscribe() From 8c15b75bae67d25261918bba0c5fbe1fe7ac5227 Mon Sep 17 00:00:00 2001 From: xidedix Date: Mon, 30 Jan 2023 18:18:30 +0100 Subject: [PATCH 3/7] refactor(offcanvas): animation classes, scrollbar behavior, cleanup --- .../offcanvas/offcanvas.component.scss | 3 + .../offcanvas/offcanvas.component.ts | 102 +++++++++++------- 2 files changed, 64 insertions(+), 41 deletions(-) diff --git a/projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.scss b/projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.scss index e69de29b..cc36f78b 100644 --- a/projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.scss +++ b/projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.scss @@ -0,0 +1,3 @@ +:host { + display: none; +} diff --git a/projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.ts b/projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.ts index aa4975cc..f5f596fd 100644 --- a/projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.ts +++ b/projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.ts @@ -6,21 +6,19 @@ import { HostListener, Inject, Input, - OnChanges, OnDestroy, OnInit, Output, PLATFORM_ID, - Renderer2, - SimpleChanges + Renderer2 } from '@angular/core'; -import { animate, state, style, transition, trigger } from '@angular/animations'; +import { DOCUMENT, isPlatformBrowser } from '@angular/common'; +import { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations'; import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; import { Subscription } from 'rxjs'; -import { OffcanvasService } from '../offcanvas.service'; import { BackdropService } from '../../backdrop/backdrop.service'; -import { DOCUMENT, isPlatformBrowser } from '@angular/common'; +import { OffcanvasService } from '../offcanvas.service'; let nextId = 0; @@ -29,29 +27,30 @@ let nextId = 0; animations: [ trigger('showHide', [ state( - 'true', + 'visible', style({ - visibility: 'visible' + // visibility: 'visible' }) ), state( - 'false', + 'hidden', style({ - visibility: 'hidden' + // visibility: 'hidden' }) ), - transition('true => false', [animate('300ms')]) + transition('visible <=> *', [animate('300ms')]) ]) ], templateUrl: './offcanvas.component.html', styleUrls: ['./offcanvas.component.scss'], exportAs: 'cOffcanvas' }) -export class OffcanvasComponent implements OnChanges, OnInit, OnDestroy { +export class OffcanvasComponent implements OnInit, OnDestroy { + static ngAcceptInputType_scroll: BooleanInput; constructor( - @Inject(DOCUMENT) private document: any, + @Inject(DOCUMENT) private document: Document, @Inject(PLATFORM_ID) private platformId: any, private renderer: Renderer2, private hostElement: ElementRef, @@ -96,6 +95,7 @@ export class OffcanvasComponent implements OnChanges, OnInit, OnDestroy { private _scroll = false; @Input() id = `offcanvas-${this.placement}-${nextId++}`; + /** * Default role for offcanvas. [docs] * @type string @@ -113,17 +113,17 @@ export class OffcanvasComponent implements OnChanges, OnInit, OnDestroy { /** * Toggle the visibility of offcanvas component. * @type boolean + * @default false */ @Input() set visible(value: boolean) { this._visible = coerceBooleanProperty(value); - if (value) { + if (this._visible) { this.setBackdrop(this.backdrop); this.setFocus(); } else { this.setBackdrop(false); } - this.setScroll(); this.visibleChange.emit(value); } @@ -131,14 +131,14 @@ export class OffcanvasComponent implements OnChanges, OnInit, OnDestroy { return this._visible; } - private _visible!: boolean; + private _visible: boolean = false; /** * Event triggered on visible change. */ @Output() visibleChange = new EventEmitter(); - private activeBackdrop!: any; + private activeBackdrop!: HTMLDivElement; private scrollbarWidth!: string; private stateToggleSubscription!: Subscription; @@ -149,7 +149,7 @@ export class OffcanvasComponent implements OnChanges, OnInit, OnDestroy { return { offcanvas: true, [`offcanvas-${this.placement}`]: !!this.placement, - show: this.visible + show: this.show }; } @@ -164,8 +164,47 @@ export class OffcanvasComponent implements OnChanges, OnInit, OnDestroy { } @HostBinding('@showHide') - get animateType(): boolean { - return this.visible; + get animateTrigger(): string { + return this.visible ? 'visible' : 'hidden'; + } + + get show(): boolean { + return this.visible && this._show; + } + + set show(value: boolean) { + this._show = value; + } + + private _show = false; + + @HostListener('@showHide.start', ['$event']) + animateStart(event: AnimationEvent) { + const scrollbarWidth = this.scrollbarWidth; + if (event.toState === 'visible') { + if (!this.scroll) { + this.renderer.setStyle(this.document.body, 'overflow', 'hidden'); + this.renderer.setStyle(this.document.body, 'padding-right', scrollbarWidth); + } + this.renderer.addClass(this.hostElement.nativeElement, 'showing'); + } else { + this.renderer.addClass(this.hostElement.nativeElement, 'hiding'); + } + } + + @HostListener('@showHide.done', ['$event']) + animateDone(event: AnimationEvent) { + setTimeout(() => { + if (event.toState === 'visible') { + this.renderer.removeClass(this.hostElement.nativeElement, 'showing'); + } + if (event.toState === 'hidden') { + this.renderer.removeClass(this.hostElement.nativeElement, 'hiding'); + this.renderer.removeStyle(this.document.body, 'overflow'); + this.renderer.removeStyle(this.document.body, 'paddingRight'); + } + }); + this.show = this.visible; } @HostListener('document:keydown', ['$event']) @@ -181,9 +220,10 @@ export class OffcanvasComponent implements OnChanges, OnInit, OnDestroy { } ngOnInit(): void { - this.setScroll(); this.scrollbarWidth = this.backdropService.scrollbarWidth; this.stateToggleSubscribe(); + // hotfix to avoid end offcanvas flicker on first render + this.renderer.setStyle(this.hostElement.nativeElement, 'display', 'flex'); } ngOnDestroy(): void { @@ -191,12 +231,6 @@ export class OffcanvasComponent implements OnChanges, OnInit, OnDestroy { this.stateToggleSubscribe(false); } - ngOnChanges(changes: SimpleChanges): void { - if (changes['scroll']) { - this.setScroll(); - } - } - private stateToggleSubscribe(subscribe: boolean = true): void { if (subscribe) { this.stateToggleSubscription = @@ -237,18 +271,4 @@ export class OffcanvasComponent implements OnChanges, OnInit, OnDestroy { setTimeout(() => this.hostElement.nativeElement.focus()); } } - - setScroll() { - if (this.visible) { - if (!this.scroll) { - this.renderer.setStyle(this.document.body, 'overflow', 'hidden'); - this.renderer.setStyle(this.document.body, 'paddingRight.px', '0'); - } - return; - } - if (!this.scroll) { - this.renderer.removeStyle(this.document.body, 'overflow'); - this.renderer.removeStyle(this.document.body, 'paddingRight'); - } - } } From 926ef62be58f7519bbafd0177a7f197d64056e62 Mon Sep 17 00:00:00 2001 From: xidedix Date: Mon, 30 Jan 2023 19:36:26 +0100 Subject: [PATCH 4/7] feat(offcanvas): add responsive variations --- .../offcanvas/offcanvas.component.ts | 103 +++++++++++++----- .../lib/sidebar/sidebar/sidebar.component.ts | 2 +- 2 files changed, 78 insertions(+), 27 deletions(-) diff --git a/projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.ts b/projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.ts index f5f596fd..bbebe3c1 100644 --- a/projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.ts +++ b/projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.ts @@ -15,7 +15,9 @@ import { import { DOCUMENT, isPlatformBrowser } from '@angular/common'; import { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations'; import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; +import { BreakpointObserver, BreakpointState } from '@angular/cdk/layout'; import { Subscription } from 'rxjs'; +import { filter } from 'rxjs/operators'; import { BackdropService } from '../../backdrop/backdrop.service'; import { OffcanvasService } from '../offcanvas.service'; @@ -55,7 +57,8 @@ export class OffcanvasComponent implements OnInit, OnDestroy { private renderer: Renderer2, private hostElement: ElementRef, private offcanvasService: OffcanvasService, - private backdropService: BackdropService + private backdropService: BackdropService, + private breakpointObserver: BreakpointObserver ) {} /** @@ -79,20 +82,29 @@ export class OffcanvasComponent implements OnInit, OnDestroy { */ @Input() placement: string | 'start' | 'end' | 'top' | 'bottom' = 'start'; + /** + * Responsive offcanvas property hides content outside the viewport from a specified breakpoint and down. + * @type boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'; + * @default true + * @since 4.3.10 + */ + @Input() responsive?: boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' = true; + /** * Allow body scrolling while offcanvas is visible. * @type boolean + * @default false */ @Input() set scroll(value: boolean) { - this._scroll = coerceBooleanProperty(value); + this.#scroll = coerceBooleanProperty(value); } get scroll() { - return this._scroll; + return this.#scroll; } - private _scroll = false; + #scroll = false; @Input() id = `offcanvas-${this.placement}-${nextId++}`; @@ -117,37 +129,40 @@ export class OffcanvasComponent implements OnInit, OnDestroy { */ @Input() set visible(value: boolean) { - this._visible = coerceBooleanProperty(value); - if (this._visible) { + this.#visible = coerceBooleanProperty(value); + if (this.#visible) { this.setBackdrop(this.backdrop); this.setFocus(); } else { this.setBackdrop(false); } + this.layoutChangeSubscribe(this.#visible); this.visibleChange.emit(value); } get visible(): boolean { - return this._visible; + return this.#visible; } - private _visible: boolean = false; + #visible: boolean = false; /** * Event triggered on visible change. */ - @Output() visibleChange = new EventEmitter(); + @Output() readonly visibleChange = new EventEmitter(); - private activeBackdrop!: HTMLDivElement; - private scrollbarWidth!: string; + #activeBackdrop!: HTMLDivElement; + #scrollbarWidth!: string; - private stateToggleSubscription!: Subscription; - private backdropClickSubscription!: Subscription; + #stateToggleSubscription!: Subscription; + #backdropClickSubscription!: Subscription; + #layoutChangeSubscription!: Subscription; @HostBinding('class') get hostClasses(): any { return { - offcanvas: true, + offcanvas: typeof this.responsive === 'boolean', + [`offcanvas-${this.responsive}`]: typeof this.responsive !== 'boolean', [`offcanvas-${this.placement}`]: !!this.placement, show: this.show }; @@ -169,18 +184,18 @@ export class OffcanvasComponent implements OnInit, OnDestroy { } get show(): boolean { - return this.visible && this._show; + return this.visible && this.#show; } set show(value: boolean) { - this._show = value; + this.#show = value; } - private _show = false; + #show = false; @HostListener('@showHide.start', ['$event']) animateStart(event: AnimationEvent) { - const scrollbarWidth = this.scrollbarWidth; + const scrollbarWidth = this.#scrollbarWidth; if (event.toState === 'visible') { if (!this.scroll) { this.renderer.setStyle(this.document.body, 'overflow', 'hidden'); @@ -220,7 +235,7 @@ export class OffcanvasComponent implements OnInit, OnDestroy { } ngOnInit(): void { - this.scrollbarWidth = this.backdropService.scrollbarWidth; + this.#scrollbarWidth = this.backdropService.scrollbarWidth; this.stateToggleSubscribe(); // hotfix to avoid end offcanvas flicker on first render this.renderer.setStyle(this.hostElement.nativeElement, 'display', 'flex'); @@ -233,7 +248,7 @@ export class OffcanvasComponent implements OnInit, OnDestroy { private stateToggleSubscribe(subscribe: boolean = true): void { if (subscribe) { - this.stateToggleSubscription = + this.#stateToggleSubscription = this.offcanvasService.offcanvasState$.subscribe((action) => { if (this === action.offcanvas || this.id === action.id) { if ('show' in action) { @@ -243,25 +258,25 @@ export class OffcanvasComponent implements OnInit, OnDestroy { } }); } else { - this.stateToggleSubscription.unsubscribe(); + this.#stateToggleSubscription.unsubscribe(); } } private backdropClickSubscribe(subscribe: boolean = true): void { if (subscribe) { - this.backdropClickSubscription = + this.#backdropClickSubscription = this.backdropService.backdropClick$.subscribe((clicked) => { this.offcanvasService.toggle({ show: !clicked, id: this.id }); }); } else { - this.backdropClickSubscription?.unsubscribe(); + this.#backdropClickSubscription?.unsubscribe(); } } private setBackdrop(setBackdrop: boolean | 'static'): void { - this.scrollbarWidth = this.backdropService.scrollbarWidth; - this.activeBackdrop = !!setBackdrop ? this.backdropService.setBackdrop('offcanvas') - : this.backdropService.clearBackdrop(this.activeBackdrop); + this.#scrollbarWidth = this.backdropService.scrollbarWidth; + this.#activeBackdrop = !!setBackdrop ? this.backdropService.setBackdrop('offcanvas') + : this.backdropService.clearBackdrop(this.#activeBackdrop); setBackdrop === true ? this.backdropClickSubscribe() : this.backdropClickSubscribe(false); } @@ -271,4 +286,40 @@ export class OffcanvasComponent implements OnInit, OnDestroy { setTimeout(() => this.hostElement.nativeElement.focus()); } } + + get responsiveBreakpoint(): string | false { + if (typeof this.responsive !== 'string') { + return false; + } + const element: Element = this.document.documentElement; + const responsiveBreakpoint = this.responsive; + const breakpointValue = getComputedStyle(element).getPropertyValue(`--cui-breakpoint-${responsiveBreakpoint.trim()}`) || false; + return breakpointValue ? `${parseFloat(breakpointValue.trim()) - 0.02}px` : false; + } + + private layoutChangeSubscribe(subscribe: boolean = true): void { + + if (subscribe) { + + if (!this.responsiveBreakpoint) { + return; + } + + const responsiveBreakpoint = `(max-width: ${this.responsiveBreakpoint})`; + + const layoutChanges = this.breakpointObserver.observe([responsiveBreakpoint]); + + this.#layoutChangeSubscription = layoutChanges + .pipe( + filter(breakpointState => !breakpointState.matches) + ) + .subscribe( + (breakpointState: BreakpointState) => { + this.visible = breakpointState.matches; + } + ); + } else { + this.#layoutChangeSubscription?.unsubscribe(); + } + } } diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar/sidebar.component.ts b/projects/coreui-angular/src/lib/sidebar/sidebar/sidebar.component.ts index 5cb773a7..cb43f9f3 100644 --- a/projects/coreui-angular/src/lib/sidebar/sidebar/sidebar.component.ts +++ b/projects/coreui-angular/src/lib/sidebar/sidebar/sidebar.component.ts @@ -258,7 +258,7 @@ export class SidebarComponent implements OnChanges, OnDestroy, OnInit { } }); } else { - this.#stateToggleSubscription.unsubscribe(); + this.#stateToggleSubscription?.unsubscribe(); } } From ed678c769be9cba8ecb46dbb05037ac8966e1ee2 Mon Sep 17 00:00:00 2001 From: xidedix Date: Mon, 30 Jan 2023 19:43:14 +0100 Subject: [PATCH 5/7] chore: ship v4.3.10 --- CHANGELOG.md | 10 ++++++++++ package-lock.json | 18 +++++++++--------- package.json | 4 ++-- projects/coreui-angular/package.json | 2 +- 4 files changed, 22 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c4fccf8..d263d59a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,16 @@ --- +#### `4.3.10` + +- feat(offcanvas): add responsive variations +- refactor(offcanvas): animation classes, scrollbar behavior, cleanup +- refactor(modal, offcanvas): move get scrollbarWidth to BackdropService +- feat(offcanvas): add backdrop static option support +- chore: dependencies update + +--- + #### `4.3.9` - chore: dependencies update diff --git a/package-lock.json b/package-lock.json index d35fc91a..6c124e8a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "coreui-angular-dev", - "version": "4.3.9", + "version": "4.3.10", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "coreui-angular-dev", - "version": "4.3.9", + "version": "4.3.10", "license": "MIT", "dependencies": { "@angular/animations": "^15.1.2", @@ -43,7 +43,7 @@ "@types/node": "^18.11.18", "@typescript-eslint/eslint-plugin": "^5.49.0", "@typescript-eslint/parser": "^5.49.0", - "eslint": "~8.32.0", + "eslint": "~8.33.0", "jasmine-core": "^4.5.0", "karma": "^6.4.1", "karma-chrome-launcher": "^3.1.1", @@ -6105,9 +6105,9 @@ } }, "node_modules/eslint": { - "version": "8.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.32.0.tgz", - "integrity": "sha512-nETVXpnthqKPFyuY2FNjz/bEd6nbosRgKbkgS/y1C7LJop96gYHWpiguLecMHQ2XCPxn77DS0P+68WzG6vkZSQ==", + "version": "8.33.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.33.0.tgz", + "integrity": "sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA==", "dev": true, "dependencies": { "@eslint/eslintrc": "^1.4.1", @@ -17545,9 +17545,9 @@ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" }, "eslint": { - "version": "8.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.32.0.tgz", - "integrity": "sha512-nETVXpnthqKPFyuY2FNjz/bEd6nbosRgKbkgS/y1C7LJop96gYHWpiguLecMHQ2XCPxn77DS0P+68WzG6vkZSQ==", + "version": "8.33.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.33.0.tgz", + "integrity": "sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA==", "dev": true, "requires": { "@eslint/eslintrc": "^1.4.1", diff --git a/package.json b/package.json index 99ec06c7..014ddb46 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "coreui-angular-dev", - "version": "4.3.9", + "version": "4.3.10", "description": "CoreUI Components Library for Angular", "copyright": "Copyright 2022 creativeLabs Łukasz Holeczek", "license": "MIT", @@ -70,7 +70,7 @@ "@types/node": "^18.11.18", "@typescript-eslint/eslint-plugin": "^5.49.0", "@typescript-eslint/parser": "^5.49.0", - "eslint": "~8.32.0", + "eslint": "~8.33.0", "jasmine-core": "^4.5.0", "karma": "^6.4.1", "karma-chrome-launcher": "^3.1.1", diff --git a/projects/coreui-angular/package.json b/projects/coreui-angular/package.json index 1c6f38c4..2bb6fa35 100644 --- a/projects/coreui-angular/package.json +++ b/projects/coreui-angular/package.json @@ -1,6 +1,6 @@ { "name": "@coreui/angular", - "version": "4.3.9", + "version": "4.3.10", "description": "CoreUI for Angular UI components library", "copyright": "Copyright 2022 creativeLabs Łukasz Holeczek", "license": "MIT", From 9d59105334cf09025ec87add5d3fc6f9e291bc2e Mon Sep 17 00:00:00 2001 From: xidedix Date: Thu, 2 Feb 2023 23:01:50 +0100 Subject: [PATCH 6/7] feat: standalone components (wip) --- package-lock.json | 532 +++++++++--------- package.json | 12 +- .../src/lib/chartjs.component.spec.ts | 2 +- .../src/lib/chartjs.component.ts | 1 + .../src/lib/chartjs.module.ts | 2 +- .../accordion-button.directive.ts | 3 +- .../accordion-item.component.spec.ts | 12 +- .../accordion-item.component.ts | 50 +- .../src/lib/accordion/accordion.module.ts | 11 +- .../accordion/accordion.component.spec.ts | 2 +- .../accordion/accordion.component.ts | 5 +- .../src/lib/alert/alert-heading.directive.ts | 3 +- .../src/lib/alert/alert-link.directive.ts | 3 +- .../src/lib/alert/alert.component.spec.ts | 6 +- .../src/lib/alert/alert.component.ts | 73 +-- .../src/lib/alert/alert.module.ts | 9 +- .../src/lib/avatar/avatar.component.spec.ts | 2 +- .../src/lib/avatar/avatar.component.ts | 6 +- .../src/lib/avatar/avatar.module.ts | 10 +- .../src/lib/badge/badge.component.spec.ts | 2 +- .../src/lib/badge/badge.component.ts | 1 + .../src/lib/badge/badge.module.ts | 9 +- .../breadcrumb-item.component.spec.ts | 3 +- .../breadcrumb-item.component.ts | 8 +- .../breadcrumb-router.component.spec.ts | 16 +- .../breadcrumb-router.component.ts | 30 +- .../src/lib/breadcrumb/breadcrumb.module.ts | 17 +- .../breadcrumb/breadcrumb.component.spec.ts | 2 +- .../breadcrumb/breadcrumb.component.ts | 3 +- .../lib/button-group/button-group.module.ts | 16 +- .../button-group.component.spec.ts | 2 +- .../button-group/button-group.component.ts | 1 + .../button-toolbar.component.spec.ts | 2 +- .../button-toolbar.component.ts | 1 + .../lib/button/button-close.directive.spec.ts | 12 +- .../src/lib/button/button-close.directive.ts | 3 +- .../src/lib/button/button.directive.spec.ts | 3 +- .../src/lib/button/button.directive.ts | 3 +- .../src/lib/button/button.module.ts | 7 +- .../src/lib/callout/callout.component.spec.ts | 2 +- .../src/lib/callout/callout.component.ts | 3 +- .../src/lib/callout/callout.module.ts | 5 +- .../src/lib/card/card-body.component.spec.ts | 2 +- .../src/lib/card/card-body.component.ts | 5 +- .../lib/card/card-footer.component.spec.ts | 2 +- .../src/lib/card/card-footer.component.ts | 7 +- .../src/lib/card/card-group.component.spec.ts | 2 +- .../src/lib/card/card-group.component.ts | 5 +- .../card-header-actions.component.spec.ts | 2 +- .../lib/card/card-header-actions.component.ts | 1 + .../lib/card/card-header.component.spec.ts | 2 +- .../src/lib/card/card-header.component.ts | 5 +- .../card-img-overlay.component.html | 1 - .../card-img-overlay.component.spec.ts | 2 +- .../card-img-overlay.component.ts | 5 +- .../src/lib/card/card-img.directive.ts | 3 +- .../src/lib/card/card-link.directive.ts | 3 +- .../src/lib/card/card-subtitle.directive.ts | 3 +- .../src/lib/card/card-text.directive.ts | 3 +- .../src/lib/card/card-title.directive.ts | 3 +- .../src/lib/card/card.component.spec.ts | 2 +- .../src/lib/card/card.component.ts | 3 +- .../src/lib/card/card.module.ts | 13 +- .../carousel-caption.component.spec.ts | 2 +- .../carousel-caption.component.ts | 3 +- .../carousel-control.component.spec.ts | 2 +- .../carousel-control.component.ts | 3 + .../carousel-indicators.component.scss | 0 .../carousel-indicators.component.spec.ts | 2 +- .../carousel-indicators.component.ts | 16 +- .../carousel-inner.component.spec.ts | 3 +- .../carousel-inner.component.ts | 21 +- .../carousel-item.component.spec.ts | 2 +- .../carousel-item/carousel-item.component.ts | 8 +- .../src/lib/carousel/carousel.module.ts | 11 +- .../carousel/carousel.component.spec.ts | 2 +- .../carousel/carousel/carousel.component.ts | 3 +- .../lib/collapse/collapse.directive.spec.ts | 46 ++ .../src/lib/collapse/collapse.directive.ts | 3 +- .../src/lib/collapse/collapse.module.ts | 7 +- .../dropdown-close.directive.ts | 3 +- .../dropdown-divider.directive.ts | 9 +- .../dropdown-header.directive.ts | 8 +- .../dropdown-item-plain.directive.ts | 11 +- .../dropdown-item/dropdown-item.directive.ts | 3 +- .../dropdown-menu/dropdown-menu.directive.ts | 1 + .../src/lib/dropdown/dropdown.module.ts | 22 +- .../dropdown/dropdown.component.spec.ts | 3 +- .../dropdown/dropdown/dropdown.component.ts | 6 +- .../src/lib/footer/footer.component.spec.ts | 2 +- .../src/lib/footer/footer.component.ts | 1 + .../src/lib/footer/footer.module.ts | 14 +- .../form-check-input.directive.spec.ts | 3 +- .../form-check/form-check-input.directive.ts | 3 +- .../form-check/form-check-label.directive.ts | 8 +- .../form-check/form-check.component.spec.ts | 2 +- .../form/form-check/form-check.component.ts | 3 +- .../form-control/form-control.directive.ts | 3 +- .../form-feedback.component.spec.ts | 2 +- .../form-feedback/form-feedback.component.ts | 3 +- .../form-floating/form-floating.directive.ts | 3 +- .../form/form-label/form-label.directive.ts | 3 +- .../form/form-select/form-select.directive.ts | 3 +- .../lib/form/form-text/form-text.directive.ts | 8 +- .../src/lib/form/form.module.ts | 17 +- .../src/lib/form/form/form.directive.ts | 3 +- .../input-group-text.directive.ts | 3 +- .../input-group/input-group.component.spec.ts | 2 +- .../form/input-group/input-group.component.ts | 1 + .../src/lib/grid/col.component.spec.ts | 2 +- .../src/lib/grid/col.component.ts | 1 + .../src/lib/grid/col.directive.ts | 3 +- .../src/lib/grid/container.component.spec.ts | 2 +- .../src/lib/grid/container.component.ts | 1 + .../src/lib/grid/grid.module.ts | 21 +- .../src/lib/grid/gutter.directive.ts | 3 +- .../src/lib/grid/row.component.spec.ts | 2 +- .../src/lib/grid/row.component.ts | 1 + .../src/lib/grid/row.directive.ts | 3 +- .../header-brand.component.spec.ts | 7 +- .../header-brand/header-brand.component.ts | 3 +- .../header-divider.component.spec.ts | 2 +- .../header-divider.component.ts | 3 +- .../header-nav/header-nav.component.spec.ts | 2 +- .../header/header-nav/header-nav.component.ts | 3 +- .../header-text/header-text.component.spec.ts | 2 +- .../header-text/header-text.component.ts | 1 + .../header-toggler.directive.ts | 3 +- .../src/lib/header/header.module.ts | 9 +- .../header/header/header.component.spec.ts | 12 +- .../src/lib/header/header/header.component.ts | 5 +- .../src/lib/image/img.directive.ts | 3 +- .../src/lib/image/img.module.ts | 14 +- .../list-group-item.directive.spec.ts | 3 +- .../list-group/list-group-item.directive.ts | 3 +- .../lib/list-group/list-group.directive.ts | 3 +- .../src/lib/list-group/list-group.module.ts | 13 +- .../modal-body/modal-body.component.spec.ts | 2 +- .../modal/modal-body/modal-body.component.ts | 3 +- .../modal-content.component.spec.ts | 2 +- .../modal-content/modal-content.component.ts | 6 +- .../modal-dialog.component.spec.ts | 2 +- .../modal-dialog/modal-dialog.component.ts | 1 + .../modal-dismiss/modal-toggle.directive.ts | 3 +- .../modal-footer.component.spec.ts | 2 +- .../modal-footer/modal-footer.component.ts | 1 + .../modal-header.component.spec.ts | 2 +- .../modal-header/modal-header.component.ts | 4 +- .../modal-title/modal-title.directive.ts | 3 +- .../src/lib/modal/modal.module.ts | 25 +- .../lib/modal/modal/modal.component.spec.ts | 7 +- .../src/lib/modal/modal/modal.component.ts | 6 +- .../src/lib/nav/nav-item.component.html | 1 - .../src/lib/nav/nav-item.component.spec.ts | 2 +- .../src/lib/nav/nav-item.component.ts | 5 +- .../src/lib/nav/nav-link.directive.ts | 3 +- .../src/lib/nav/nav.component.spec.ts | 2 +- .../src/lib/nav/nav.component.ts | 6 +- .../coreui-angular/src/lib/nav/nav.module.ts | 15 +- .../navbar-brand/navbar-brand.directive.ts | 3 +- .../navbar-nav/navbar-nav.component.spec.ts | 2 +- .../navbar/navbar-nav/navbar-nav.component.ts | 1 + .../navbar-text/navbar-text.component.html | 1 - .../navbar-text/navbar-text.component.spec.ts | 2 +- .../navbar-text/navbar-text.component.ts | 1 + .../navbar-toggler.directive.ts | 3 +- .../src/lib/navbar/navbar.component.spec.ts | 2 +- .../src/lib/navbar/navbar.component.ts | 7 +- .../src/lib/navbar/navbar.module.ts | 17 +- .../offcanvas-body.component.spec.ts | 2 +- .../offcanvas-body.component.ts | 3 +- .../offcanvas-header.component.scss | 0 .../offcanvas-header.component.spec.ts | 2 +- .../offcanvas-header.component.ts | 2 +- .../offcanvas-title.directive.ts | 3 +- .../offcanvas-toggle.directive.spec.ts | 7 +- .../offcanvas-toggle.directive.ts | 3 +- .../src/lib/offcanvas/offcanvas.module.ts | 19 +- .../offcanvas/offcanvas.component.spec.ts | 26 + .../offcanvas/offcanvas.component.ts | 107 ++-- .../page-item/page-item.component.spec.ts | 2 +- .../page-item/page-item.component.ts | 3 +- .../page-item/page-item.directive.ts | 3 +- .../page-link/page-link.directive.ts | 3 +- .../src/lib/pagination/pagination.module.ts | 17 +- .../pagination/pagination.component.scss | 0 .../pagination/pagination.component.spec.ts | 2 +- .../pagination/pagination.component.ts | 4 +- .../placeholder-animation.directive.ts | 8 +- .../lib/placeholder/placeholder.directive.ts | 3 +- .../src/lib/placeholder/placeholder.module.ts | 7 +- .../src/lib/popover/popover.directive.ts | 3 +- .../src/lib/popover/popover.module.ts | 12 +- .../popover/popover/popover.component.spec.ts | 2 +- .../lib/popover/popover/popover.component.ts | 3 + .../progress/progress-bar.component.spec.ts | 2 +- .../lib/progress/progress-bar.component.ts | 3 +- .../lib/progress/progress.component.spec.ts | 2 +- .../src/lib/progress/progress.component.ts | 3 +- .../src/lib/progress/progress.module.ts | 8 +- .../lib/shared/html-attr.directive.spec.ts | 3 +- .../src/lib/shared/html-attr.directive.ts | 3 +- .../src/lib/shared/shared.module.ts | 14 +- .../src/lib/shared/template-id.directive.ts | 3 +- .../sidebar-brand.component.spec.ts | 11 +- .../sidebar-brand/sidebar-brand.component.ts | 8 +- .../sidebar-footer.component.html | 1 - .../sidebar-footer.component.scss | 0 .../sidebar-footer.component.spec.ts | 2 +- .../sidebar-footer.component.ts | 4 +- .../sidebar-header.component.html | 1 - .../sidebar-header.component.scss | 0 .../sidebar-header.component.spec.ts | 2 +- .../sidebar-header.component.ts | 5 +- .../sidebar-nav/sidebar-nav-badge.pipe.ts | 3 +- .../sidebar-nav-divider.component.spec.ts | 2 +- .../sidebar-nav-divider.component.ts | 7 +- .../sidebar-nav-group.component.spec.ts | 27 +- .../sidebar-nav/sidebar-nav-icon.pipe.ts | 6 +- .../sidebar-nav-item-class.pipe.ts | 3 +- .../sidebar-nav-label.component.spec.ts | 3 +- .../sidebar-nav-label.component.ts | 22 +- .../sidebar-nav-link.component.spec.ts | 10 +- .../sidebar-nav/sidebar-nav-link.component.ts | 29 +- .../sidebar-nav/sidebar-nav-link.pipe.ts | 6 +- .../sidebar-nav-title.component.spec.ts | 2 +- .../sidebar-nav-title.component.ts | 1 + .../sidebar-nav/sidebar-nav.component.scss | 0 .../sidebar-nav/sidebar-nav.component.spec.ts | 30 +- .../sidebar-nav/sidebar-nav.component.ts | 102 ++-- .../sidebar-toggle.directive.ts | 3 +- .../sidebar-toggler.component.ts | 2 + .../src/lib/sidebar/sidebar.module.ts | 24 +- .../sidebar/sidebar/sidebar.component.spec.ts | 2 +- .../lib/sidebar/sidebar/sidebar.component.ts | 1 + .../src/lib/spinner/spinner.component.spec.ts | 2 +- .../src/lib/spinner/spinner.component.ts | 1 + .../src/lib/spinner/spinner.module.ts | 11 +- .../src/lib/table/table-active.directive.ts | 3 +- .../src/lib/table/table-color.directive.ts | 3 +- .../src/lib/table/table.directive.ts | 3 +- .../src/lib/table/table.module.ts | 11 +- .../src/lib/tabs/tab-content-ref.directive.ts | 1 + .../tab-content/tab-content.component.html | 2 +- .../tab-content/tab-content.component.spec.ts | 2 +- .../tabs/tab-content/tab-content.component.ts | 5 +- .../lib/tabs/tab-pane/tab-pane.component.html | 1 - .../tabs/tab-pane/tab-pane.component.spec.ts | 2 +- .../lib/tabs/tab-pane/tab-pane.component.ts | 5 +- .../src/lib/tabs/tabs.module.ts | 13 +- .../toast-body/toast-body.component.spec.ts | 2 +- .../toast/toast-body/toast-body.component.ts | 3 +- .../src/lib/toast/toast-close.directive.ts | 3 +- .../toast-header.component.spec.ts | 1 - .../toast-header/toast-header.component.ts | 8 +- .../src/lib/toast/toast.module.ts | 16 +- .../src/lib/toast/toast/toast.component.html | 1 - .../lib/toast/toast/toast.component.spec.ts | 5 +- .../src/lib/toast/toast/toast.component.ts | 3 +- .../toaster/toaster-host.directive.spec.ts | 6 +- .../toast/toaster/toaster-host.directive.ts | 3 +- .../toast/toaster/toaster.component.spec.ts | 2 +- .../lib/toast/toaster/toaster.component.ts | 4 +- .../src/lib/tooltip/tooltip.directive.ts | 3 +- .../src/lib/tooltip/tooltip.module.ts | 13 +- .../tooltip/tooltip/tooltip.component.spec.ts | 2 +- .../lib/tooltip/tooltip/tooltip.component.ts | 3 +- .../src/lib/utilities/align.directive.ts | 3 +- .../src/lib/utilities/bg-color.directive.ts | 3 +- .../src/lib/utilities/border.directive.ts | 3 +- .../src/lib/utilities/rounded.directive.ts | 3 +- .../src/lib/utilities/text-color.directive.ts | 3 +- .../src/lib/utilities/utilities.module.ts | 7 +- .../src/lib/utilities/visible.directive.ts | 3 +- .../widget-stat-a.component.scss | 0 .../widget-stat-a.component.spec.ts | 4 +- .../widget-stat-a/widget-stat-a.component.ts | 18 +- .../widget-stat-b.component.spec.ts | 6 +- .../widget-stat-b/widget-stat-b.component.ts | 7 +- .../widget-stat-c.component.scss | 0 .../widget-stat-c.component.spec.ts | 7 +- .../widget-stat-c/widget-stat-c.component.ts | 8 +- .../widget-stat-d.component.scss | 0 .../widget-stat-d.component.spec.ts | 6 +- .../widget-stat-d/widget-stat-d.component.ts | 21 +- .../widget-stat-e.component.scss | 0 .../widget-stat-e.component.spec.ts | 6 +- .../widget-stat-e/widget-stat-e.component.ts | 13 +- .../widget-stat-f.component.scss | 0 .../widget-stat-f.component.spec.ts | 6 +- .../widget-stat-f/widget-stat-f.component.ts | 7 +- .../src/lib/widget/widget.module.ts | 11 +- .../src/lib/icon/icon.component.spec.ts | 3 +- .../src/lib/icon/icon.component.ts | 7 +- .../src/lib/icon/icon.directive.spec.ts | 12 +- .../src/lib/icon/icon.directive.ts | 3 +- .../src/lib/icon/icon.module.ts | 13 +- .../lib/shared/html-attr.directive.spec.ts | 3 +- .../src/lib/shared/html-attr.directive.ts | 3 +- 299 files changed, 1325 insertions(+), 1141 deletions(-) delete mode 100644 projects/coreui-angular/src/lib/card/card-img-overlay/card-img-overlay.component.html delete mode 100644 projects/coreui-angular/src/lib/carousel/carousel-indicators/carousel-indicators.component.scss create mode 100644 projects/coreui-angular/src/lib/collapse/collapse.directive.spec.ts delete mode 100644 projects/coreui-angular/src/lib/nav/nav-item.component.html delete mode 100644 projects/coreui-angular/src/lib/navbar/navbar-text/navbar-text.component.html delete mode 100644 projects/coreui-angular/src/lib/offcanvas/offcanvas-header/offcanvas-header.component.scss create mode 100644 projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.spec.ts delete mode 100644 projects/coreui-angular/src/lib/pagination/pagination/pagination.component.scss delete mode 100644 projects/coreui-angular/src/lib/sidebar/sidebar-footer/sidebar-footer.component.html delete mode 100644 projects/coreui-angular/src/lib/sidebar/sidebar-footer/sidebar-footer.component.scss delete mode 100644 projects/coreui-angular/src/lib/sidebar/sidebar-header/sidebar-header.component.html delete mode 100644 projects/coreui-angular/src/lib/sidebar/sidebar-header/sidebar-header.component.scss delete mode 100644 projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav.component.scss delete mode 100644 projects/coreui-angular/src/lib/tabs/tab-pane/tab-pane.component.html delete mode 100644 projects/coreui-angular/src/lib/toast/toast/toast.component.html delete mode 100644 projects/coreui-angular/src/lib/widget/widget-stat-a/widget-stat-a.component.scss delete mode 100644 projects/coreui-angular/src/lib/widget/widget-stat-c/widget-stat-c.component.scss delete mode 100644 projects/coreui-angular/src/lib/widget/widget-stat-d/widget-stat-d.component.scss delete mode 100644 projects/coreui-angular/src/lib/widget/widget-stat-e/widget-stat-e.component.scss delete mode 100644 projects/coreui-angular/src/lib/widget/widget-stat-f/widget-stat-f.component.scss diff --git a/package-lock.json b/package-lock.json index 6c124e8a..4fbca028 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,16 +1,16 @@ { "name": "coreui-angular-dev", - "version": "4.3.10", + "version": "4.4.0-next.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "coreui-angular-dev", - "version": "4.3.10", + "version": "4.4.0-next.0", "license": "MIT", "dependencies": { "@angular/animations": "^15.1.2", - "@angular/cdk": "^15.1.2", + "@angular/cdk": "^15.1.3", "@angular/common": "^15.1.2", "@angular/compiler": "^15.1.2", "@angular/core": "^15.1.2", @@ -28,21 +28,21 @@ "zone.js": "~0.12.0" }, "devDependencies": { - "@angular-devkit/build-angular": "^15.1.3", + "@angular-devkit/build-angular": "^15.1.4", "@angular-eslint/builder": "^15.2.0", "@angular-eslint/eslint-plugin": "^15.2.0", "@angular-eslint/eslint-plugin-template": "^15.2.0", "@angular-eslint/schematics": "^15.2.0", "@angular-eslint/template-parser": "^15.2.0", - "@angular/cli": "^15.1.3", + "@angular/cli": "^15.1.4", "@angular/compiler-cli": "^15.1.2", "@angular/language-service": "^15.1.2", "@coreui/icons": "^3.0.0", "@types/jasmine": "~4.3.1", "@types/lodash-es": "^4.17.6", "@types/node": "^18.11.18", - "@typescript-eslint/eslint-plugin": "^5.49.0", - "@typescript-eslint/parser": "^5.49.0", + "@typescript-eslint/eslint-plugin": "^5.50.0", + "@typescript-eslint/parser": "^5.50.0", "eslint": "~8.33.0", "jasmine-core": "^4.5.0", "karma": "^6.4.1", @@ -72,12 +72,12 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.1501.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1501.3.tgz", - "integrity": "sha512-+hvesYUgChdAkBcWSO2pseIGBzRDAATyIw36UBwOmYkL7wM65TEXpspbo5ZIfU1M/l7X/lHzDXLTzCMfb0Qxbg==", + "version": "0.1501.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1501.4.tgz", + "integrity": "sha512-PE0CqPaNzcz8yHEuJwqtKxYvXX9hgWWvC6hI2DWKtC+5WgJLAYJNEGofXQRc227Nj+YySEYUUo8Ja8SYl3lDxA==", "dev": true, "dependencies": { - "@angular-devkit/core": "15.1.3", + "@angular-devkit/core": "15.1.4", "rxjs": "6.6.7" }, "engines": { @@ -105,15 +105,15 @@ "dev": true }, "node_modules/@angular-devkit/build-angular": { - "version": "15.1.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-15.1.3.tgz", - "integrity": "sha512-QQfvpccShQldpMmuwgpZfbE6cNiNwff2aAY1YGswU9DBpeoz4YWeW4e8ss2j/Mxn5RXo7cbzWkhbm1xXTFY1FA==", + "version": "15.1.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-15.1.4.tgz", + "integrity": "sha512-+vubHYyQn8HJ+uJQndr8xFlX6C7y1kdnzTiKgx6QFvA5sd/IhXXzsnDd1wFer1lCrZ+1qgfhG9HI/RL3cBeKrA==", "dev": true, "dependencies": { "@ampproject/remapping": "2.2.0", - "@angular-devkit/architect": "0.1501.3", - "@angular-devkit/build-webpack": "0.1501.3", - "@angular-devkit/core": "15.1.3", + "@angular-devkit/architect": "0.1501.4", + "@angular-devkit/build-webpack": "0.1501.4", + "@angular-devkit/core": "15.1.4", "@babel/core": "7.20.12", "@babel/generator": "7.20.7", "@babel/helper-annotate-as-pure": "7.18.6", @@ -124,7 +124,7 @@ "@babel/runtime": "7.20.7", "@babel/template": "7.20.7", "@discoveryjs/json-ext": "0.5.7", - "@ngtools/webpack": "15.1.3", + "@ngtools/webpack": "15.1.4", "ansi-colors": "4.1.3", "autoprefixer": "10.4.13", "babel-loader": "9.1.2", @@ -238,12 +238,12 @@ "dev": true }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1501.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1501.3.tgz", - "integrity": "sha512-ZsgbTFf1I9hAf4FvNxBJphF95Hw9QchCaWQdQXY+2mqQuPP70uK1Kd/TzNCfx5lyNFHMI9oWpCg2QLrAdwqJnA==", + "version": "0.1501.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1501.4.tgz", + "integrity": "sha512-rJ7KTBDW0UHgVJjQ23qJfGun+pDX3ZG2z0OtsskdsOI62SAvW1cVLuS50ICTcWW6gtcDO0R/6Q1RLbaV1JHZ5A==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.1501.3", + "@angular-devkit/architect": "0.1501.4", "rxjs": "6.6.7" }, "engines": { @@ -275,9 +275,9 @@ "dev": true }, "node_modules/@angular-devkit/core": { - "version": "15.1.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.1.3.tgz", - "integrity": "sha512-biuS+DceyZEqcE/cLvndtslqn3Q6uCmJ0RLpACikH6ESYorvk+A91H0ofuGue6HB/2CUN/F+mPSr7sWVI1W9sA==", + "version": "15.1.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.1.4.tgz", + "integrity": "sha512-PW5MRmd9DHJR4FaXchwQtj9pXnsghSTnwRvfZeCRNYgU2sv0DKyTV+YTSJB+kNXnoPNG1Je6amDEkiXecpspXg==", "dev": true, "dependencies": { "ajv": "8.12.0", @@ -319,12 +319,12 @@ "dev": true }, "node_modules/@angular-devkit/schematics": { - "version": "15.1.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-15.1.3.tgz", - "integrity": "sha512-IXZ56/5uFnHqnLq+80JhmFx5mflyW8LgS/8Tr2l5DYVA71Fh3b1q+vGrEZB1X2zPoFeDOGAxv3Fi+kmjcz1GZg==", + "version": "15.1.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-15.1.4.tgz", + "integrity": "sha512-jpddxo9Qd2yRQ1t9FLhAx5S+luz6HkyhDytq0LFKbxf9ikf1J4oy9riPBFl4pRmrNARWcHZ6GbD20/Ky8PjmXQ==", "dev": true, "dependencies": { - "@angular-devkit/core": "15.1.3", + "@angular-devkit/core": "15.1.4", "jsonc-parser": "3.2.0", "magic-string": "0.27.0", "ora": "5.4.1", @@ -461,9 +461,9 @@ } }, "node_modules/@angular/cdk": { - "version": "15.1.2", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-15.1.2.tgz", - "integrity": "sha512-LO3b/akdcPaRwSa+rbrI02THwQm+O4Z3rDIvbDTHyCf3Vmk3p7gsp8WtKAMMJlkCF88VQ3Wh4ZZcfNAtbVO7EA==", + "version": "15.1.3", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-15.1.3.tgz", + "integrity": "sha512-FRb1ZirybQGVlRx34vsnkIyy4WHJlrRg2mwPeJ90b0DzIWuIZIiPYxxR2bAi/Si1IjnK8YBdacd5DXPdrW1jyw==", "dependencies": { "tslib": "^2.3.0" }, @@ -477,15 +477,15 @@ } }, "node_modules/@angular/cli": { - "version": "15.1.3", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-15.1.3.tgz", - "integrity": "sha512-gNVvyvkGZ1zKiDdWjPqCLst8iHcB1C4B2nXrr3B+/YAd1G/y87VI1aBKFlK9ulG4tkwktog5uQaut7xs48IsEQ==", + "version": "15.1.4", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-15.1.4.tgz", + "integrity": "sha512-ebZiI4arb9wtOUMmTyUvjgDovmwpY8hmGLbkKZiEmAX8+2gbl4e97M+zd0SICZDU8bu5VcpoP6Q3Qb6vVjab9A==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.1501.3", - "@angular-devkit/core": "15.1.3", - "@angular-devkit/schematics": "15.1.3", - "@schematics/angular": "15.1.3", + "@angular-devkit/architect": "0.1501.4", + "@angular-devkit/core": "15.1.4", + "@angular-devkit/schematics": "15.1.4", + "@schematics/angular": "15.1.4", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.3", "ini": "3.0.1", @@ -1245,9 +1245,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.20.13", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.13.tgz", - "integrity": "sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==", + "version": "7.20.15", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.15.tgz", + "integrity": "sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==", "bin": { "parser": "bin/babel-parser.js" }, @@ -1776,9 +1776,9 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.20.14", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.14.tgz", - "integrity": "sha512-sMPepQtsOs5fM1bwNvuJJHvaCfOEQfmc01FGw0ELlTpTJj5Ql/zuNRRldYhAPys4ghXdBIQJbRVYi44/7QflQQ==", + "version": "7.20.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.15.tgz", + "integrity": "sha512-Vv4DMZ6MiNOhu/LdaZsT/bsLRxgL94d269Mv4R/9sp6+Mp++X/JqypZYypJXLlM4mlL352/Egzbzr98iABH1CA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.20.2" @@ -3056,9 +3056,9 @@ "dev": true }, "node_modules/@ngtools/webpack": { - "version": "15.1.3", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-15.1.3.tgz", - "integrity": "sha512-xbV74ulf5BwIA61jASjKxzS0gzD6CQQkqPXDRo8I1tpDMQpEKFKWivw+1Joy6Anm62DWR4xuMEhnj5kjKWemgw==", + "version": "15.1.4", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-15.1.4.tgz", + "integrity": "sha512-IvKXK8AvPlLkP99Uf0RL1EHlcsXNQd86II9HsLjupUtmFC/pPuDWrRFMP9bjWUMh2ZeYpgUeEAbcCH3doSrdIA==", "dev": true, "engines": { "node": "^14.20.0 || ^16.13.0 || >=18.10.0", @@ -3360,13 +3360,13 @@ } }, "node_modules/@schematics/angular": { - "version": "15.1.3", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-15.1.3.tgz", - "integrity": "sha512-jCJ0Nq/FpoMnA63rPAhRWQJFVbS+K8NpdTHZ/7l4wx9iFtIH7khCdbp3QYMJSwZh5pEiw/NO7ouxsWo5YgapYQ==", + "version": "15.1.4", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-15.1.4.tgz", + "integrity": "sha512-4SV8dDGZeSvts01b8y2W6FmpDD0dQhBlGMhMJKC/tUnhfNKfYCs2VKtMBsIc3ZiGP2yoA3+nUiMmtS6hEkXYHw==", "dev": true, "dependencies": { - "@angular-devkit/core": "15.1.3", - "@angular-devkit/schematics": "15.1.3", + "@angular-devkit/core": "15.1.4", + "@angular-devkit/schematics": "15.1.4", "jsonc-parser": "3.2.0" }, "engines": { @@ -3444,9 +3444,9 @@ } }, "node_modules/@types/eslint": { - "version": "8.4.10", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.10.tgz", - "integrity": "sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==", + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.21.0.tgz", + "integrity": "sha512-35EhHNOXgxnUgh4XCJsGhE7zdlDhYDN/aMG6UbkByCFFNgQ7b3U+uVoqBpicFydR8JEfgdjCF7SJ7MiJfzuiTA==", "dev": true, "dependencies": { "@types/estree": "*", @@ -3614,15 +3614,16 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.49.0.tgz", - "integrity": "sha512-IhxabIpcf++TBaBa1h7jtOWyon80SXPRLDq0dVz5SLFC/eW6tofkw/O7Ar3lkx5z5U6wzbKDrl2larprp5kk5Q==", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.50.0.tgz", + "integrity": "sha512-vwksQWSFZiUhgq3Kv7o1Jcj0DUNylwnIlGvKvLLYsq8pAWha6/WCnXUeaSoNNha/K7QSf2+jvmkxggC1u3pIwQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.49.0", - "@typescript-eslint/type-utils": "5.49.0", - "@typescript-eslint/utils": "5.49.0", + "@typescript-eslint/scope-manager": "5.50.0", + "@typescript-eslint/type-utils": "5.50.0", + "@typescript-eslint/utils": "5.50.0", "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", "regexpp": "^3.2.0", @@ -3647,13 +3648,13 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/type-utils": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.49.0.tgz", - "integrity": "sha512-eUgLTYq0tR0FGU5g1YHm4rt5H/+V2IPVkP0cBmbhRyEmyGe4XvJ2YJ6sYTmONfjmdMqyMLad7SB8GvblbeESZA==", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.50.0.tgz", + "integrity": "sha512-dcnXfZ6OGrNCO7E5UY/i0ktHb7Yx1fV6fnQGGrlnfDhilcs6n19eIRcvLBqx6OQkrPaFlDPk3OJ0WlzQfrV0bQ==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.49.0", - "@typescript-eslint/utils": "5.49.0", + "@typescript-eslint/typescript-estree": "5.50.0", + "@typescript-eslint/utils": "5.50.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -3674,16 +3675,16 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.49.0.tgz", - "integrity": "sha512-cPJue/4Si25FViIb74sHCLtM4nTSBXtLx1d3/QT6mirQ/c65bV8arBEebBJJizfq8W2YyMoPI/WWPFWitmNqnQ==", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.50.0.tgz", + "integrity": "sha512-v/AnUFImmh8G4PH0NDkf6wA8hujNNcrwtecqW4vtQ1UOSNBaZl49zP1SHoZ/06e+UiwzHpgb5zP5+hwlYYWYAw==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.49.0", - "@typescript-eslint/types": "5.49.0", - "@typescript-eslint/typescript-estree": "5.49.0", + "@typescript-eslint/scope-manager": "5.50.0", + "@typescript-eslint/types": "5.50.0", + "@typescript-eslint/typescript-estree": "5.50.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0", "semver": "^7.3.7" @@ -3722,14 +3723,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.49.0.tgz", - "integrity": "sha512-veDlZN9mUhGqU31Qiv2qEp+XrJj5fgZpJ8PW30sHU+j/8/e5ruAhLaVDAeznS7A7i4ucb/s8IozpDtt9NqCkZg==", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.50.0.tgz", + "integrity": "sha512-KCcSyNaogUDftK2G9RXfQyOCt51uB5yqC6pkUYqhYh8Kgt+DwR5M0EwEAxGPy/+DH6hnmKeGsNhiZRQxjH71uQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.49.0", - "@typescript-eslint/types": "5.49.0", - "@typescript-eslint/typescript-estree": "5.49.0", + "@typescript-eslint/scope-manager": "5.50.0", + "@typescript-eslint/types": "5.50.0", + "@typescript-eslint/typescript-estree": "5.50.0", "debug": "^4.3.4" }, "engines": { @@ -3749,13 +3750,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.49.0.tgz", - "integrity": "sha512-clpROBOiMIzpbWNxCe1xDK14uPZh35u4QaZO1GddilEzoCLAEz4szb51rBpdgurs5k2YzPtJeTEN3qVbG+LRUQ==", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.50.0.tgz", + "integrity": "sha512-rt03kaX+iZrhssaT974BCmoUikYtZI24Vp/kwTSy841XhiYShlqoshRFDvN1FKKvU2S3gK+kcBW1EA7kNUrogg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.49.0", - "@typescript-eslint/visitor-keys": "5.49.0" + "@typescript-eslint/types": "5.50.0", + "@typescript-eslint/visitor-keys": "5.50.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -3850,9 +3851,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.49.0.tgz", - "integrity": "sha512-7If46kusG+sSnEpu0yOz2xFv5nRz158nzEXnJFCGVEHWnuzolXKwrH5Bsf9zsNlOQkyZuk0BZKKoJQI+1JPBBg==", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.50.0.tgz", + "integrity": "sha512-atruOuJpir4OtyNdKahiHZobPKFvZnBnfDiyEaBf6d9vy9visE7gDjlmhl+y29uxZ2ZDgvXijcungGFjGGex7w==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -3863,13 +3864,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.49.0.tgz", - "integrity": "sha512-PBdx+V7deZT/3GjNYPVQv1Nc0U46dAHbIuOG8AZ3on3vuEKiPDwFE/lG1snN2eUB9IhF7EyF7K1hmTcLztNIsA==", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.50.0.tgz", + "integrity": "sha512-Gq4zapso+OtIZlv8YNAStFtT6d05zyVCK7Fx3h5inlLBx2hWuc/0465C2mg/EQDDU2LKe52+/jN4f0g9bd+kow==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.49.0", - "@typescript-eslint/visitor-keys": "5.49.0", + "@typescript-eslint/types": "5.50.0", + "@typescript-eslint/visitor-keys": "5.50.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -4012,12 +4013,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.49.0.tgz", - "integrity": "sha512-v9jBMjpNWyn8B6k/Mjt6VbUS4J1GvUlR4x3Y+ibnP1z7y7V4n0WRz+50DY6+Myj0UaXVSuUlHohO+eZ8IJEnkg==", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.50.0.tgz", + "integrity": "sha512-cdMeD9HGu6EXIeGOh2yVW6oGf9wq8asBgZx7nsR/D36gTfQ0odE5kcRYe5M81vjEFAcPeugXrHg78Imu55F6gg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.49.0", + "@typescript-eslint/types": "5.50.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -4919,9 +4920,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001449", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001449.tgz", - "integrity": "sha512-CPB+UL9XMT/Av+pJxCKGhdx+yg1hzplvFJQlJ2n68PyQGMz9L/E2zCyLdOL8uasbouTUgnPl+y0tccI/se+BEw==", + "version": "1.0.30001450", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001450.tgz", + "integrity": "sha512-qMBmvmQmFXaSxexkjjfMvD5rnDL0+m+dUMZKoDYsGG8iZN29RuYh9eRoMvKsT6uMAWlyUUGDEQGJJYjzCIO9ew==", "funding": [ { "type": "opencollective", @@ -5246,9 +5247,9 @@ } }, "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true, "engines": { "node": ">= 0.6" @@ -5643,9 +5644,9 @@ "dev": true }, "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.0.tgz", + "integrity": "sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==", "dev": true, "engines": { "node": ">=0.10.0" @@ -6955,9 +6956,9 @@ } }, "node_modules/fs-minipass": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.0.tgz", - "integrity": "sha512-EUojgQaSPy6sxcqcZgQv6TVF6jiKvurji3AxhAivs/Ep4O1UpS8TusaxpybfFHZ2skRhLqzk6WR8nqNYIMMDeA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.1.tgz", + "integrity": "sha512-MhaJDcFRTuLidHrIttu0RDGyyXs/IYHVmlcxfLAEFIWjc1vdLAkdwT7Ace2u7DbitWC0toKMl5eJZRYNVreIMw==", "dev": true, "dependencies": { "minipass": "^4.0.0" @@ -7588,9 +7589,9 @@ } }, "node_modules/immutable": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.2.tgz", - "integrity": "sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.3.tgz", + "integrity": "sha512-IHpmvaOIX4VLJwPOuQr1NpeBr2ZG6vpIj3blsLVxXRWJscLioaJRStqC+NcBsLeCDsnGlPpXd5/WZmnE7MbsKA==", "dev": true }, "node_modules/import-fresh": { @@ -7875,9 +7876,9 @@ } }, "node_modules/is-builtin-module": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.0.tgz", - "integrity": "sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", "dev": true, "dependencies": { "builtin-modules": "^3.3.0" @@ -9312,13 +9313,10 @@ } }, "node_modules/minipass": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz", - "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.1.tgz", + "integrity": "sha512-V9esFpNbK0arbN3fm2sxDKqMYgIp7XtVdE4Esj+PE4Qaaxdg1wIw48ITQIOn1sc8xXSmUviVL3cyjMqPlrVkiA==", "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, "engines": { "node": ">=8" } @@ -9506,12 +9504,6 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/minipass/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/minizlib": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", @@ -9805,9 +9797,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", - "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==" + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.9.tgz", + "integrity": "sha512-2xfmOrRkGogbTK9R6Leda0DGiXeY3p2NJpy4+gNCffdUvV6mdEJnaDEic1i3Ec2djAo8jWYoJMR5PB0MSMpxUA==" }, "node_modules/nopt": { "version": "6.0.0", @@ -9959,20 +9951,19 @@ } }, "node_modules/npm-registry-fetch/node_modules/make-fetch-happen": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.0.2.tgz", - "integrity": "sha512-5n/Pq41w/uZghpdlXAY5kIM85RgJThtTH/NYBRAZ9VUOBWV90USaQjwGrw76fZP3Lj5hl/VZjpVvOaRBMoL/2w==", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.0.3.tgz", + "integrity": "sha512-oPLh5m10lRNNZDjJ2kP8UpboUx2uFXVaVweVe/lWut4iHWcQEmfqSVJt2ihZsFI8HbpwyyocaXbCAWf0g1ukIA==", "dev": true, "dependencies": { "agentkeepalive": "^4.2.1", "cacache": "^17.0.0", - "http-cache-semantics": "^4.1.0", + "http-cache-semantics": "^4.1.1", "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", "lru-cache": "^7.7.1", "minipass": "^4.0.0", - "minipass-collect": "^1.0.2", "minipass-fetch": "^3.0.0", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", @@ -11317,9 +11308,9 @@ } }, "node_modules/rollup": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.12.0.tgz", - "integrity": "sha512-4MZ8kA2HNYahIjz63rzrMMRvDqQDeS9LoriJvMuV0V6zIGysP36e9t4yObUfwdT9h/szXoHQideICftcdZklWg==", + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.12.1.tgz", + "integrity": "sha512-t9elERrz2i4UU9z7AwISj3CQcXP39cWxgRWLdf4Tm6aKm1eYrqHIgjzXBgb67GNY1sZckTFFi0oMozh3/S++Ig==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -12462,9 +12453,9 @@ "dev": true }, "node_modules/typescript": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", - "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -13265,12 +13256,12 @@ } }, "@angular-devkit/architect": { - "version": "0.1501.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1501.3.tgz", - "integrity": "sha512-+hvesYUgChdAkBcWSO2pseIGBzRDAATyIw36UBwOmYkL7wM65TEXpspbo5ZIfU1M/l7X/lHzDXLTzCMfb0Qxbg==", + "version": "0.1501.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1501.4.tgz", + "integrity": "sha512-PE0CqPaNzcz8yHEuJwqtKxYvXX9hgWWvC6hI2DWKtC+5WgJLAYJNEGofXQRc227Nj+YySEYUUo8Ja8SYl3lDxA==", "dev": true, "requires": { - "@angular-devkit/core": "15.1.3", + "@angular-devkit/core": "15.1.4", "rxjs": "6.6.7" }, "dependencies": { @@ -13292,15 +13283,15 @@ } }, "@angular-devkit/build-angular": { - "version": "15.1.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-15.1.3.tgz", - "integrity": "sha512-QQfvpccShQldpMmuwgpZfbE6cNiNwff2aAY1YGswU9DBpeoz4YWeW4e8ss2j/Mxn5RXo7cbzWkhbm1xXTFY1FA==", + "version": "15.1.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-15.1.4.tgz", + "integrity": "sha512-+vubHYyQn8HJ+uJQndr8xFlX6C7y1kdnzTiKgx6QFvA5sd/IhXXzsnDd1wFer1lCrZ+1qgfhG9HI/RL3cBeKrA==", "dev": true, "requires": { "@ampproject/remapping": "2.2.0", - "@angular-devkit/architect": "0.1501.3", - "@angular-devkit/build-webpack": "0.1501.3", - "@angular-devkit/core": "15.1.3", + "@angular-devkit/architect": "0.1501.4", + "@angular-devkit/build-webpack": "0.1501.4", + "@angular-devkit/core": "15.1.4", "@babel/core": "7.20.12", "@babel/generator": "7.20.7", "@babel/helper-annotate-as-pure": "7.18.6", @@ -13311,7 +13302,7 @@ "@babel/runtime": "7.20.7", "@babel/template": "7.20.7", "@discoveryjs/json-ext": "0.5.7", - "@ngtools/webpack": "15.1.3", + "@ngtools/webpack": "15.1.4", "ansi-colors": "4.1.3", "autoprefixer": "10.4.13", "babel-loader": "9.1.2", @@ -13385,12 +13376,12 @@ } }, "@angular-devkit/build-webpack": { - "version": "0.1501.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1501.3.tgz", - "integrity": "sha512-ZsgbTFf1I9hAf4FvNxBJphF95Hw9QchCaWQdQXY+2mqQuPP70uK1Kd/TzNCfx5lyNFHMI9oWpCg2QLrAdwqJnA==", + "version": "0.1501.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1501.4.tgz", + "integrity": "sha512-rJ7KTBDW0UHgVJjQ23qJfGun+pDX3ZG2z0OtsskdsOI62SAvW1cVLuS50ICTcWW6gtcDO0R/6Q1RLbaV1JHZ5A==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1501.3", + "@angular-devkit/architect": "0.1501.4", "rxjs": "6.6.7" }, "dependencies": { @@ -13412,9 +13403,9 @@ } }, "@angular-devkit/core": { - "version": "15.1.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.1.3.tgz", - "integrity": "sha512-biuS+DceyZEqcE/cLvndtslqn3Q6uCmJ0RLpACikH6ESYorvk+A91H0ofuGue6HB/2CUN/F+mPSr7sWVI1W9sA==", + "version": "15.1.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.1.4.tgz", + "integrity": "sha512-PW5MRmd9DHJR4FaXchwQtj9pXnsghSTnwRvfZeCRNYgU2sv0DKyTV+YTSJB+kNXnoPNG1Je6amDEkiXecpspXg==", "dev": true, "requires": { "ajv": "8.12.0", @@ -13442,12 +13433,12 @@ } }, "@angular-devkit/schematics": { - "version": "15.1.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-15.1.3.tgz", - "integrity": "sha512-IXZ56/5uFnHqnLq+80JhmFx5mflyW8LgS/8Tr2l5DYVA71Fh3b1q+vGrEZB1X2zPoFeDOGAxv3Fi+kmjcz1GZg==", + "version": "15.1.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-15.1.4.tgz", + "integrity": "sha512-jpddxo9Qd2yRQ1t9FLhAx5S+luz6HkyhDytq0LFKbxf9ikf1J4oy9riPBFl4pRmrNARWcHZ6GbD20/Ky8PjmXQ==", "dev": true, "requires": { - "@angular-devkit/core": "15.1.3", + "@angular-devkit/core": "15.1.4", "jsonc-parser": "3.2.0", "magic-string": "0.27.0", "ora": "5.4.1", @@ -13550,24 +13541,24 @@ } }, "@angular/cdk": { - "version": "15.1.2", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-15.1.2.tgz", - "integrity": "sha512-LO3b/akdcPaRwSa+rbrI02THwQm+O4Z3rDIvbDTHyCf3Vmk3p7gsp8WtKAMMJlkCF88VQ3Wh4ZZcfNAtbVO7EA==", + "version": "15.1.3", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-15.1.3.tgz", + "integrity": "sha512-FRb1ZirybQGVlRx34vsnkIyy4WHJlrRg2mwPeJ90b0DzIWuIZIiPYxxR2bAi/Si1IjnK8YBdacd5DXPdrW1jyw==", "requires": { "parse5": "^7.1.2", "tslib": "^2.3.0" } }, "@angular/cli": { - "version": "15.1.3", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-15.1.3.tgz", - "integrity": "sha512-gNVvyvkGZ1zKiDdWjPqCLst8iHcB1C4B2nXrr3B+/YAd1G/y87VI1aBKFlK9ulG4tkwktog5uQaut7xs48IsEQ==", + "version": "15.1.4", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-15.1.4.tgz", + "integrity": "sha512-ebZiI4arb9wtOUMmTyUvjgDovmwpY8hmGLbkKZiEmAX8+2gbl4e97M+zd0SICZDU8bu5VcpoP6Q3Qb6vVjab9A==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1501.3", - "@angular-devkit/core": "15.1.3", - "@angular-devkit/schematics": "15.1.3", - "@schematics/angular": "15.1.3", + "@angular-devkit/architect": "0.1501.4", + "@angular-devkit/core": "15.1.4", + "@angular-devkit/schematics": "15.1.4", + "@schematics/angular": "15.1.4", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.3", "ini": "3.0.1", @@ -14094,9 +14085,9 @@ } }, "@babel/parser": { - "version": "7.20.13", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.13.tgz", - "integrity": "sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==" + "version": "7.20.15", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.15.tgz", + "integrity": "sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==" }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.18.6", @@ -14442,9 +14433,9 @@ } }, "@babel/plugin-transform-block-scoping": { - "version": "7.20.14", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.14.tgz", - "integrity": "sha512-sMPepQtsOs5fM1bwNvuJJHvaCfOEQfmc01FGw0ELlTpTJj5Ql/zuNRRldYhAPys4ghXdBIQJbRVYi44/7QflQQ==", + "version": "7.20.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.15.tgz", + "integrity": "sha512-Vv4DMZ6MiNOhu/LdaZsT/bsLRxgL94d269Mv4R/9sp6+Mp++X/JqypZYypJXLlM4mlL352/Egzbzr98iABH1CA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.20.2" @@ -15264,9 +15255,9 @@ "dev": true }, "@ngtools/webpack": { - "version": "15.1.3", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-15.1.3.tgz", - "integrity": "sha512-xbV74ulf5BwIA61jASjKxzS0gzD6CQQkqPXDRo8I1tpDMQpEKFKWivw+1Joy6Anm62DWR4xuMEhnj5kjKWemgw==", + "version": "15.1.4", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-15.1.4.tgz", + "integrity": "sha512-IvKXK8AvPlLkP99Uf0RL1EHlcsXNQd86II9HsLjupUtmFC/pPuDWrRFMP9bjWUMh2ZeYpgUeEAbcCH3doSrdIA==", "dev": true, "requires": {} }, @@ -15463,13 +15454,13 @@ } }, "@schematics/angular": { - "version": "15.1.3", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-15.1.3.tgz", - "integrity": "sha512-jCJ0Nq/FpoMnA63rPAhRWQJFVbS+K8NpdTHZ/7l4wx9iFtIH7khCdbp3QYMJSwZh5pEiw/NO7ouxsWo5YgapYQ==", + "version": "15.1.4", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-15.1.4.tgz", + "integrity": "sha512-4SV8dDGZeSvts01b8y2W6FmpDD0dQhBlGMhMJKC/tUnhfNKfYCs2VKtMBsIc3ZiGP2yoA3+nUiMmtS6hEkXYHw==", "dev": true, "requires": { - "@angular-devkit/core": "15.1.3", - "@angular-devkit/schematics": "15.1.3", + "@angular-devkit/core": "15.1.4", + "@angular-devkit/schematics": "15.1.4", "jsonc-parser": "3.2.0" } }, @@ -15539,9 +15530,9 @@ } }, "@types/eslint": { - "version": "8.4.10", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.10.tgz", - "integrity": "sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==", + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.21.0.tgz", + "integrity": "sha512-35EhHNOXgxnUgh4XCJsGhE7zdlDhYDN/aMG6UbkByCFFNgQ7b3U+uVoqBpicFydR8JEfgdjCF7SJ7MiJfzuiTA==", "dev": true, "requires": { "@types/estree": "*", @@ -15709,15 +15700,16 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.49.0.tgz", - "integrity": "sha512-IhxabIpcf++TBaBa1h7jtOWyon80SXPRLDq0dVz5SLFC/eW6tofkw/O7Ar3lkx5z5U6wzbKDrl2larprp5kk5Q==", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.50.0.tgz", + "integrity": "sha512-vwksQWSFZiUhgq3Kv7o1Jcj0DUNylwnIlGvKvLLYsq8pAWha6/WCnXUeaSoNNha/K7QSf2+jvmkxggC1u3pIwQ==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.49.0", - "@typescript-eslint/type-utils": "5.49.0", - "@typescript-eslint/utils": "5.49.0", + "@typescript-eslint/scope-manager": "5.50.0", + "@typescript-eslint/type-utils": "5.50.0", + "@typescript-eslint/utils": "5.50.0", "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", "regexpp": "^3.2.0", @@ -15726,28 +15718,28 @@ }, "dependencies": { "@typescript-eslint/type-utils": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.49.0.tgz", - "integrity": "sha512-eUgLTYq0tR0FGU5g1YHm4rt5H/+V2IPVkP0cBmbhRyEmyGe4XvJ2YJ6sYTmONfjmdMqyMLad7SB8GvblbeESZA==", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.50.0.tgz", + "integrity": "sha512-dcnXfZ6OGrNCO7E5UY/i0ktHb7Yx1fV6fnQGGrlnfDhilcs6n19eIRcvLBqx6OQkrPaFlDPk3OJ0WlzQfrV0bQ==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.49.0", - "@typescript-eslint/utils": "5.49.0", + "@typescript-eslint/typescript-estree": "5.50.0", + "@typescript-eslint/utils": "5.50.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/utils": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.49.0.tgz", - "integrity": "sha512-cPJue/4Si25FViIb74sHCLtM4nTSBXtLx1d3/QT6mirQ/c65bV8arBEebBJJizfq8W2YyMoPI/WWPFWitmNqnQ==", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.50.0.tgz", + "integrity": "sha512-v/AnUFImmh8G4PH0NDkf6wA8hujNNcrwtecqW4vtQ1UOSNBaZl49zP1SHoZ/06e+UiwzHpgb5zP5+hwlYYWYAw==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.49.0", - "@typescript-eslint/types": "5.49.0", - "@typescript-eslint/typescript-estree": "5.49.0", + "@typescript-eslint/scope-manager": "5.50.0", + "@typescript-eslint/types": "5.50.0", + "@typescript-eslint/typescript-estree": "5.50.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0", "semver": "^7.3.7" @@ -15772,25 +15764,25 @@ } }, "@typescript-eslint/parser": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.49.0.tgz", - "integrity": "sha512-veDlZN9mUhGqU31Qiv2qEp+XrJj5fgZpJ8PW30sHU+j/8/e5ruAhLaVDAeznS7A7i4ucb/s8IozpDtt9NqCkZg==", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.50.0.tgz", + "integrity": "sha512-KCcSyNaogUDftK2G9RXfQyOCt51uB5yqC6pkUYqhYh8Kgt+DwR5M0EwEAxGPy/+DH6hnmKeGsNhiZRQxjH71uQ==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.49.0", - "@typescript-eslint/types": "5.49.0", - "@typescript-eslint/typescript-estree": "5.49.0", + "@typescript-eslint/scope-manager": "5.50.0", + "@typescript-eslint/types": "5.50.0", + "@typescript-eslint/typescript-estree": "5.50.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.49.0.tgz", - "integrity": "sha512-clpROBOiMIzpbWNxCe1xDK14uPZh35u4QaZO1GddilEzoCLAEz4szb51rBpdgurs5k2YzPtJeTEN3qVbG+LRUQ==", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.50.0.tgz", + "integrity": "sha512-rt03kaX+iZrhssaT974BCmoUikYtZI24Vp/kwTSy841XhiYShlqoshRFDvN1FKKvU2S3gK+kcBW1EA7kNUrogg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.49.0", - "@typescript-eslint/visitor-keys": "5.49.0" + "@typescript-eslint/types": "5.50.0", + "@typescript-eslint/visitor-keys": "5.50.0" } }, "@typescript-eslint/type-utils": { @@ -15839,19 +15831,19 @@ } }, "@typescript-eslint/types": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.49.0.tgz", - "integrity": "sha512-7If46kusG+sSnEpu0yOz2xFv5nRz158nzEXnJFCGVEHWnuzolXKwrH5Bsf9zsNlOQkyZuk0BZKKoJQI+1JPBBg==", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.50.0.tgz", + "integrity": "sha512-atruOuJpir4OtyNdKahiHZobPKFvZnBnfDiyEaBf6d9vy9visE7gDjlmhl+y29uxZ2ZDgvXijcungGFjGGex7w==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.49.0.tgz", - "integrity": "sha512-PBdx+V7deZT/3GjNYPVQv1Nc0U46dAHbIuOG8AZ3on3vuEKiPDwFE/lG1snN2eUB9IhF7EyF7K1hmTcLztNIsA==", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.50.0.tgz", + "integrity": "sha512-Gq4zapso+OtIZlv8YNAStFtT6d05zyVCK7Fx3h5inlLBx2hWuc/0465C2mg/EQDDU2LKe52+/jN4f0g9bd+kow==", "dev": true, "requires": { - "@typescript-eslint/types": "5.49.0", - "@typescript-eslint/visitor-keys": "5.49.0", + "@typescript-eslint/types": "5.50.0", + "@typescript-eslint/visitor-keys": "5.50.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -15935,12 +15927,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.49.0.tgz", - "integrity": "sha512-v9jBMjpNWyn8B6k/Mjt6VbUS4J1GvUlR4x3Y+ibnP1z7y7V4n0WRz+50DY6+Myj0UaXVSuUlHohO+eZ8IJEnkg==", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.50.0.tgz", + "integrity": "sha512-cdMeD9HGu6EXIeGOh2yVW6oGf9wq8asBgZx7nsR/D36gTfQ0odE5kcRYe5M81vjEFAcPeugXrHg78Imu55F6gg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.49.0", + "@typescript-eslint/types": "5.50.0", "eslint-visitor-keys": "^3.3.0" } }, @@ -16638,9 +16630,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001449", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001449.tgz", - "integrity": "sha512-CPB+UL9XMT/Av+pJxCKGhdx+yg1hzplvFJQlJ2n68PyQGMz9L/E2zCyLdOL8uasbouTUgnPl+y0tccI/se+BEw==" + "version": "1.0.30001450", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001450.tgz", + "integrity": "sha512-qMBmvmQmFXaSxexkjjfMvD5rnDL0+m+dUMZKoDYsGG8iZN29RuYh9eRoMvKsT6uMAWlyUUGDEQGJJYjzCIO9ew==" }, "chalk": { "version": "2.4.2", @@ -16891,9 +16883,9 @@ } }, "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true }, "convert-source-map": { @@ -17185,9 +17177,9 @@ "dev": true }, "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.0.tgz", + "integrity": "sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==", "dev": true }, "default-gateway": { @@ -18184,9 +18176,9 @@ } }, "fs-minipass": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.0.tgz", - "integrity": "sha512-EUojgQaSPy6sxcqcZgQv6TVF6jiKvurji3AxhAivs/Ep4O1UpS8TusaxpybfFHZ2skRhLqzk6WR8nqNYIMMDeA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.1.tgz", + "integrity": "sha512-MhaJDcFRTuLidHrIttu0RDGyyXs/IYHVmlcxfLAEFIWjc1vdLAkdwT7Ace2u7DbitWC0toKMl5eJZRYNVreIMw==", "dev": true, "requires": { "minipass": "^4.0.0" @@ -18673,9 +18665,9 @@ "optional": true }, "immutable": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.2.tgz", - "integrity": "sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.3.tgz", + "integrity": "sha512-IHpmvaOIX4VLJwPOuQr1NpeBr2ZG6vpIj3blsLVxXRWJscLioaJRStqC+NcBsLeCDsnGlPpXd5/WZmnE7MbsKA==", "dev": true }, "import-fresh": { @@ -18895,9 +18887,9 @@ } }, "is-builtin-module": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.0.tgz", - "integrity": "sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", "dev": true, "requires": { "builtin-modules": "^3.3.0" @@ -19947,21 +19939,10 @@ "dev": true }, "minipass": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz", - "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - }, - "dependencies": { - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.1.tgz", + "integrity": "sha512-V9esFpNbK0arbN3fm2sxDKqMYgIp7XtVdE4Esj+PE4Qaaxdg1wIw48ITQIOn1sc8xXSmUviVL3cyjMqPlrVkiA==", + "dev": true }, "minipass-collect": { "version": "1.0.2", @@ -20351,9 +20332,9 @@ "optional": true }, "node-releases": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", - "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==" + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.9.tgz", + "integrity": "sha512-2xfmOrRkGogbTK9R6Leda0DGiXeY3p2NJpy4+gNCffdUvV6mdEJnaDEic1i3Ec2djAo8jWYoJMR5PB0MSMpxUA==" }, "nopt": { "version": "6.0.0", @@ -20466,20 +20447,19 @@ "dev": true }, "make-fetch-happen": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.0.2.tgz", - "integrity": "sha512-5n/Pq41w/uZghpdlXAY5kIM85RgJThtTH/NYBRAZ9VUOBWV90USaQjwGrw76fZP3Lj5hl/VZjpVvOaRBMoL/2w==", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.0.3.tgz", + "integrity": "sha512-oPLh5m10lRNNZDjJ2kP8UpboUx2uFXVaVweVe/lWut4iHWcQEmfqSVJt2ihZsFI8HbpwyyocaXbCAWf0g1ukIA==", "dev": true, "requires": { "agentkeepalive": "^4.2.1", "cacache": "^17.0.0", - "http-cache-semantics": "^4.1.0", + "http-cache-semantics": "^4.1.1", "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", "lru-cache": "^7.7.1", "minipass": "^4.0.0", - "minipass-collect": "^1.0.2", "minipass-fetch": "^3.0.0", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", @@ -21468,9 +21448,9 @@ } }, "rollup": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.12.0.tgz", - "integrity": "sha512-4MZ8kA2HNYahIjz63rzrMMRvDqQDeS9LoriJvMuV0V6zIGysP36e9t4yObUfwdT9h/szXoHQideICftcdZklWg==", + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.12.1.tgz", + "integrity": "sha512-t9elERrz2i4UU9z7AwISj3CQcXP39cWxgRWLdf4Tm6aKm1eYrqHIgjzXBgb67GNY1sZckTFFi0oMozh3/S++Ig==", "dev": true, "requires": { "fsevents": "~2.3.2" @@ -22326,9 +22306,9 @@ "dev": true }, "typescript": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", - "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==" + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==" }, "ua-parser-js": { "version": "0.7.33", diff --git a/package.json b/package.json index 014ddb46..cc9c9e7e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "coreui-angular-dev", - "version": "4.3.10", + "version": "4.4.0-next.0", "description": "CoreUI Components Library for Angular", "copyright": "Copyright 2022 creativeLabs Łukasz Holeczek", "license": "MIT", @@ -37,7 +37,7 @@ "private": true, "dependencies": { "@angular/animations": "^15.1.2", - "@angular/cdk": "^15.1.2", + "@angular/cdk": "^15.1.3", "@angular/common": "^15.1.2", "@angular/compiler": "^15.1.2", "@angular/core": "^15.1.2", @@ -55,21 +55,21 @@ "zone.js": "~0.12.0" }, "devDependencies": { - "@angular-devkit/build-angular": "^15.1.3", + "@angular-devkit/build-angular": "^15.1.4", "@angular-eslint/builder": "^15.2.0", "@angular-eslint/eslint-plugin": "^15.2.0", "@angular-eslint/eslint-plugin-template": "^15.2.0", "@angular-eslint/schematics": "^15.2.0", "@angular-eslint/template-parser": "^15.2.0", - "@angular/cli": "^15.1.3", + "@angular/cli": "^15.1.4", "@angular/compiler-cli": "^15.1.2", "@angular/language-service": "^15.1.2", "@coreui/icons": "^3.0.0", "@types/jasmine": "~4.3.1", "@types/lodash-es": "^4.17.6", "@types/node": "^18.11.18", - "@typescript-eslint/eslint-plugin": "^5.49.0", - "@typescript-eslint/parser": "^5.49.0", + "@typescript-eslint/eslint-plugin": "^5.50.0", + "@typescript-eslint/parser": "^5.50.0", "eslint": "~8.33.0", "jasmine-core": "^4.5.0", "karma": "^6.4.1", diff --git a/projects/coreui-angular-chartjs/src/lib/chartjs.component.spec.ts b/projects/coreui-angular-chartjs/src/lib/chartjs.component.spec.ts index 27f29cee..34b74419 100644 --- a/projects/coreui-angular-chartjs/src/lib/chartjs.component.spec.ts +++ b/projects/coreui-angular-chartjs/src/lib/chartjs.component.spec.ts @@ -29,7 +29,7 @@ describe('ChartjsComponent', () => { Chart.register(...registerables); await TestBed.configureTestingModule({ - declarations: [ChartjsComponent] + imports: [ChartjsComponent] }) .compileComponents(); }); diff --git a/projects/coreui-angular-chartjs/src/lib/chartjs.component.ts b/projects/coreui-angular-chartjs/src/lib/chartjs.component.ts index b084b821..ad2c7ec3 100644 --- a/projects/coreui-angular-chartjs/src/lib/chartjs.component.ts +++ b/projects/coreui-angular-chartjs/src/lib/chartjs.component.ts @@ -28,6 +28,7 @@ let nextId = 0; selector: 'c-chart', templateUrl: './chartjs.component.html', styleUrls: ['./chartjs.component.scss'], + standalone: true, exportAs: 'cChart' }) export class ChartjsComponent, TLabel = unknown> implements AfterViewInit, OnDestroy, OnChanges { diff --git a/projects/coreui-angular-chartjs/src/lib/chartjs.module.ts b/projects/coreui-angular-chartjs/src/lib/chartjs.module.ts index 518354ff..b51235a3 100644 --- a/projects/coreui-angular-chartjs/src/lib/chartjs.module.ts +++ b/projects/coreui-angular-chartjs/src/lib/chartjs.module.ts @@ -2,7 +2,7 @@ import { NgModule } from '@angular/core'; import { ChartjsComponent } from './chartjs.component'; @NgModule({ - declarations: [ + imports: [ ChartjsComponent ], exports: [ diff --git a/projects/coreui-angular/src/lib/accordion/accordion-button/accordion-button.directive.ts b/projects/coreui-angular/src/lib/accordion/accordion-button/accordion-button.directive.ts index 7461463d..eea91558 100644 --- a/projects/coreui-angular/src/lib/accordion/accordion-button/accordion-button.directive.ts +++ b/projects/coreui-angular/src/lib/accordion/accordion-button/accordion-button.directive.ts @@ -1,7 +1,8 @@ import { Directive, HostBinding, Input } from '@angular/core'; @Directive({ - selector: '[cAccordionButton]' + selector: '[cAccordionButton]', + standalone: true }) export class AccordionButtonDirective { diff --git a/projects/coreui-angular/src/lib/accordion/accordion-item/accordion-item.component.spec.ts b/projects/coreui-angular/src/lib/accordion/accordion-item/accordion-item.component.spec.ts index bdcc8cfd..5fc6aaaf 100644 --- a/projects/coreui-angular/src/lib/accordion/accordion-item/accordion-item.component.spec.ts +++ b/projects/coreui-angular/src/lib/accordion/accordion-item/accordion-item.component.spec.ts @@ -1,10 +1,10 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { AccordionItemComponent } from './accordion-item.component'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; + import { CollapseModule } from '../../collapse'; -import { AccordionService } from '../accordion.service'; import { AccordionButtonDirective } from '../accordion-button/accordion-button.directive'; +import { AccordionService } from '../accordion.service'; +import { AccordionItemComponent } from './accordion-item.component'; describe('AccordionItemComponent', () => { let component: AccordionItemComponent; @@ -12,11 +12,11 @@ describe('AccordionItemComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ AccordionItemComponent, AccordionButtonDirective ], + declarations: [], providers: [AccordionService], - imports: [NoopAnimationsModule, CollapseModule] + imports: [NoopAnimationsModule, AccordionButtonDirective, AccordionItemComponent, CollapseModule] }) - .compileComponents(); + .compileComponents(); }); beforeEach(() => { diff --git a/projects/coreui-angular/src/lib/accordion/accordion-item/accordion-item.component.ts b/projects/coreui-angular/src/lib/accordion/accordion-item/accordion-item.component.ts index d73db69f..0137f61e 100644 --- a/projects/coreui-angular/src/lib/accordion/accordion-item/accordion-item.component.ts +++ b/projects/coreui-angular/src/lib/accordion/accordion-item/accordion-item.component.ts @@ -5,12 +5,16 @@ import { HostBinding, Input, OnDestroy, - OnInit, QueryList, + OnInit, + QueryList } from '@angular/core'; +import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; -import { AccordionService } from '../accordion.service'; +import { CollapseModule } from '../../collapse'; import { TemplateIdDirective } from '../../shared'; -import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; +import { AccordionButtonDirective } from '../accordion-button/accordion-button.directive'; +import { AccordionService } from '../accordion.service'; +import { CommonModule } from '@angular/common'; let nextId = 0; @@ -19,10 +23,26 @@ let nextId = 0; templateUrl: './accordion-item.component.html', styleUrls: ['./accordion-item.component.scss'], exportAs: 'cAccordionItem', + standalone: true, + imports: [AccordionButtonDirective, CollapseModule, CommonModule] }) export class AccordionItemComponent implements OnInit, OnDestroy, AfterContentInit { + constructor( + private accordionService: AccordionService + ) { } + static ngAcceptInputType_visible: BooleanInput; + contentId = `accordion-item-${nextId++}`; + itemContext = { $implicit: this.visible }; + templates: any = {}; + @ContentChildren(TemplateIdDirective, { descendants: true }) contentTemplates!: QueryList; + + private _visible: boolean = false; + + get visible() { + return this._visible; + } /** * Toggle an accordion item programmatically @@ -30,38 +50,26 @@ export class AccordionItemComponent implements OnInit, OnDestroy, AfterContentIn * @default false */ @Input() - set visible(value: boolean){ + set visible(value: boolean) { this._visible = coerceBooleanProperty(value); } - get visible() { - return this._visible; + + get open() { + return this.visible; } - private _visible: boolean = false; @Input() set open(value: boolean) { - console.warn('c-accordion-item "open" prop is deprecated, use "visible" prop instead.') + console.warn('c-accordion-item "open" prop is deprecated, use "visible" prop instead.'); this.visible = value || this.visible; } - get open() { - return this.visible; - } @HostBinding('class') get hostClasses(): any { return { - 'accordion-item': true, + 'accordion-item': true }; } - contentId = `accordion-item-${nextId++}`; - itemContext = { $implicit: this.visible }; - templates: any = {}; - - @ContentChildren(TemplateIdDirective, {descendants: true}) contentTemplates!: QueryList; - - constructor( - private accordionService: AccordionService, - ) { } ngOnInit(): void { this.accordionService.addItem(this); diff --git a/projects/coreui-angular/src/lib/accordion/accordion.module.ts b/projects/coreui-angular/src/lib/accordion/accordion.module.ts index 915c5efe..862ee263 100644 --- a/projects/coreui-angular/src/lib/accordion/accordion.module.ts +++ b/projects/coreui-angular/src/lib/accordion/accordion.module.ts @@ -8,20 +8,19 @@ import { CollapseModule } from '../collapse'; import { SharedModule } from '../shared'; @NgModule({ - declarations: [ - AccordionComponent, - AccordionButtonDirective, - AccordionItemComponent, - ], + declarations: [], imports: [ CommonModule, + AccordionButtonDirective, + AccordionComponent, + AccordionItemComponent, CollapseModule, SharedModule ], exports: [ AccordionComponent, AccordionButtonDirective, - AccordionItemComponent, + AccordionItemComponent ], providers: [ AccordionService diff --git a/projects/coreui-angular/src/lib/accordion/accordion/accordion.component.spec.ts b/projects/coreui-angular/src/lib/accordion/accordion/accordion.component.spec.ts index 326d21ba..bd7ef7ef 100644 --- a/projects/coreui-angular/src/lib/accordion/accordion/accordion.component.spec.ts +++ b/projects/coreui-angular/src/lib/accordion/accordion/accordion.component.spec.ts @@ -8,7 +8,7 @@ describe('AccordionComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ AccordionComponent ] + imports: [ AccordionComponent ] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/accordion/accordion/accordion.component.ts b/projects/coreui-angular/src/lib/accordion/accordion/accordion.component.ts index a5f4c553..85ca0ca2 100644 --- a/projects/coreui-angular/src/lib/accordion/accordion/accordion.component.ts +++ b/projects/coreui-angular/src/lib/accordion/accordion/accordion.component.ts @@ -1,14 +1,15 @@ import { Component, HostBinding, Input } from '@angular/core'; +import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; import { AccordionService } from '../accordion.service'; -import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; @Component({ selector: 'c-accordion', template: ``, styleUrls: ['./accordion.component.scss'], exportAs: 'cAccordionItem', - providers: [AccordionService] + providers: [AccordionService], + standalone: true }) export class AccordionComponent { diff --git a/projects/coreui-angular/src/lib/alert/alert-heading.directive.ts b/projects/coreui-angular/src/lib/alert/alert-heading.directive.ts index cb0937a5..f4387a33 100644 --- a/projects/coreui-angular/src/lib/alert/alert-heading.directive.ts +++ b/projects/coreui-angular/src/lib/alert/alert-heading.directive.ts @@ -1,7 +1,8 @@ import { Directive, HostBinding } from '@angular/core'; @Directive({ - selector: '[cAlertHeading]' + selector: '[cAlertHeading]', + standalone: true }) export class AlertHeadingDirective { diff --git a/projects/coreui-angular/src/lib/alert/alert-link.directive.ts b/projects/coreui-angular/src/lib/alert/alert-link.directive.ts index f869bb2e..c806f665 100644 --- a/projects/coreui-angular/src/lib/alert/alert-link.directive.ts +++ b/projects/coreui-angular/src/lib/alert/alert-link.directive.ts @@ -1,7 +1,8 @@ import { Directive, HostBinding } from '@angular/core'; @Directive({ - selector: '[cAlertLink]' + selector: '[cAlertLink]', + standalone: true }) export class AlertLinkDirective { diff --git a/projects/coreui-angular/src/lib/alert/alert.component.spec.ts b/projects/coreui-angular/src/lib/alert/alert.component.spec.ts index 7705ebdf..003ef961 100644 --- a/projects/coreui-angular/src/lib/alert/alert.component.spec.ts +++ b/projects/coreui-angular/src/lib/alert/alert.component.spec.ts @@ -9,10 +9,10 @@ describe('AlertComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ AlertComponent ], - imports: [BrowserAnimationsModule] + declarations: [], + imports: [BrowserAnimationsModule, AlertComponent] }) - .compileComponents(); + .compileComponents(); })); beforeEach(() => { diff --git a/projects/coreui-angular/src/lib/alert/alert.component.ts b/projects/coreui-angular/src/lib/alert/alert.component.ts index 6809a8d6..ba1b18c1 100644 --- a/projects/coreui-angular/src/lib/alert/alert.component.ts +++ b/projects/coreui-angular/src/lib/alert/alert.component.ts @@ -9,6 +9,7 @@ import { Output, QueryList } from '@angular/core'; +import { CommonModule } from '@angular/common'; import { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations'; import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; @@ -22,23 +23,25 @@ type AnimateType = ('hide' | 'show'); templateUrl: './alert.component.html', styleUrls: ['./alert.component.scss'], exportAs: 'cAlert', + standalone: true, + imports: [CommonModule], animations: [ trigger('fadeInOut', [ - state('show', style({opacity: 1, height: '*', padding: '*', border: '*', margin: '*'})), - state('hide', style({opacity: 0, height: 0, padding: 0, border: 0, margin: 0})), - state('void', style({opacity: 0, height: 0, padding: 0, border: 0, margin: 0})), + state('show', style({ opacity: 1, height: '*', padding: '*', border: '*', margin: '*' })), + state('hide', style({ opacity: 0, height: 0, padding: 0, border: 0, margin: 0 })), + state('void', style({ opacity: 0, height: 0, padding: 0, border: 0, margin: 0 })), transition('show => hide', [ - animate('.3s ease-out'), + animate('.3s ease-out') ]), transition('hide => show', [ - animate('.3s ease-in'), + animate('.3s ease-in') ]), transition('show => void', [ - animate('.3s ease-out'), + animate('.3s ease-out') ]), transition('void => show', [ - animate('.3s ease-in'), - ]), + animate('.3s ease-in') + ]) ]) ] }) @@ -56,6 +59,26 @@ export class AlertComponent implements AfterContentInit { * @default 'primary' */ @Input() color: Colors = 'primary'; + /** + * Default role for alert. [docs] + * @type string + * @default 'alert' + */ + @HostBinding('attr.role') + @Input() role = 'alert'; + /** + * Set the alert variant to a solid. + * @type string + */ + @Input() variant?: 'solid' | string; + /** + * Event triggered on the alert dismiss. + */ + @Output() visibleChange: EventEmitter = new EventEmitter(); + templates: any = {}; + @ContentChildren(TemplateIdDirective, { descendants: true }) contentTemplates!: QueryList; + + private _dismissible = false; /** * Optionally adds a close button to alert and allow it to self dismiss. @@ -65,10 +88,12 @@ export class AlertComponent implements AfterContentInit { get dismissible(): boolean { return this._dismissible; } + set dismissible(value: boolean) { this._dismissible = coerceBooleanProperty(value); } - private _dismissible = false; + + private _fade = false; /** * Adds animation for dismissible alert. @@ -78,24 +103,16 @@ export class AlertComponent implements AfterContentInit { get fade(): boolean { return this._fade; } + set fade(value: boolean) { this._fade = coerceBooleanProperty(value); } - private _fade = false; - /** - * Default role for alert. [docs] - * @type string - * @default 'alert' - */ - @HostBinding('attr.role') - @Input() role = 'alert'; + private _visible = true; - /** - * Set the alert variant to a solid. - * @type string - */ - @Input() variant?: 'solid' | string; + get visible() { + return this._visible; + } /** * Toggle the visibility of alert component. @@ -108,18 +125,6 @@ export class AlertComponent implements AfterContentInit { this.visibleChange.emit(value); } }; - get visible() { - return this._visible; - } - private _visible = true; - - /** - * Event triggered on the alert dismiss. - */ - @Output() visibleChange: EventEmitter = new EventEmitter(); - - templates: any = {}; - @ContentChildren(TemplateIdDirective, {descendants: true}) contentTemplates!: QueryList; @HostBinding('@.disabled') get animationDisabled(): boolean { diff --git a/projects/coreui-angular/src/lib/alert/alert.module.ts b/projects/coreui-angular/src/lib/alert/alert.module.ts index 0ad64164..77a3bc43 100644 --- a/projects/coreui-angular/src/lib/alert/alert.module.ts +++ b/projects/coreui-angular/src/lib/alert/alert.module.ts @@ -9,6 +9,9 @@ import { ButtonModule } from '../button'; @NgModule({ imports: [ CommonModule, + AlertComponent, + AlertHeadingDirective, + AlertLinkDirective, ButtonModule ], exports: [ @@ -16,10 +19,6 @@ import { ButtonModule } from '../button'; AlertHeadingDirective, AlertLinkDirective ], - declarations: [ - AlertComponent, - AlertHeadingDirective, - AlertLinkDirective - ] + declarations: [] }) export class AlertModule {} diff --git a/projects/coreui-angular/src/lib/avatar/avatar.component.spec.ts b/projects/coreui-angular/src/lib/avatar/avatar.component.spec.ts index 7c3ee671..0f0db19a 100644 --- a/projects/coreui-angular/src/lib/avatar/avatar.component.spec.ts +++ b/projects/coreui-angular/src/lib/avatar/avatar.component.spec.ts @@ -8,7 +8,7 @@ describe('AvatarComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ AvatarComponent ] + imports: [ AvatarComponent ] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/avatar/avatar.component.ts b/projects/coreui-angular/src/lib/avatar/avatar.component.ts index b496a13b..7f9f3e70 100644 --- a/projects/coreui-angular/src/lib/avatar/avatar.component.ts +++ b/projects/coreui-angular/src/lib/avatar/avatar.component.ts @@ -1,10 +1,14 @@ import { Component, HostBinding, Input } from '@angular/core'; +import { CommonModule } from '@angular/common'; + import { Colors, Shapes, Sizes, TextColors } from '../coreui.types'; @Component({ selector: 'c-avatar', templateUrl: './avatar.component.html', - styleUrls: ['./avatar.component.scss'] + styleUrls: ['./avatar.component.scss'], + standalone: true, + imports: [CommonModule] }) export class AvatarComponent { /** diff --git a/projects/coreui-angular/src/lib/avatar/avatar.module.ts b/projects/coreui-angular/src/lib/avatar/avatar.module.ts index 2eb84651..59be78dd 100644 --- a/projects/coreui-angular/src/lib/avatar/avatar.module.ts +++ b/projects/coreui-angular/src/lib/avatar/avatar.module.ts @@ -2,16 +2,14 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { AvatarComponent } from './avatar.component'; - @NgModule({ - declarations: [ - AvatarComponent - ], + declarations: [], imports: [ - CommonModule + CommonModule, + AvatarComponent ], exports: [ AvatarComponent ] }) -export class AvatarModule { } +export class AvatarModule {} diff --git a/projects/coreui-angular/src/lib/badge/badge.component.spec.ts b/projects/coreui-angular/src/lib/badge/badge.component.spec.ts index 6b63e579..329138d6 100644 --- a/projects/coreui-angular/src/lib/badge/badge.component.spec.ts +++ b/projects/coreui-angular/src/lib/badge/badge.component.spec.ts @@ -8,7 +8,7 @@ describe('BadgeComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ BadgeComponent ] + imports: [ BadgeComponent ] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/badge/badge.component.ts b/projects/coreui-angular/src/lib/badge/badge.component.ts index 0731f179..3f5ef846 100644 --- a/projects/coreui-angular/src/lib/badge/badge.component.ts +++ b/projects/coreui-angular/src/lib/badge/badge.component.ts @@ -5,6 +5,7 @@ import { BadgePositions, Colors, Shapes } from '../coreui.types'; selector: 'c-badge', templateUrl: './badge.component.html', styleUrls: ['./badge.component.scss'], + standalone: true }) export class BadgeComponent { /** diff --git a/projects/coreui-angular/src/lib/badge/badge.module.ts b/projects/coreui-angular/src/lib/badge/badge.module.ts index 691ac89f..c88f4835 100644 --- a/projects/coreui-angular/src/lib/badge/badge.module.ts +++ b/projects/coreui-angular/src/lib/badge/badge.module.ts @@ -3,14 +3,13 @@ import { CommonModule } from '@angular/common'; import { BadgeComponent } from './badge.component'; @NgModule({ - declarations: [ - BadgeComponent - ], + declarations: [], imports: [ - CommonModule + CommonModule, + BadgeComponent ], exports: [ BadgeComponent ] }) -export class BadgeModule { } +export class BadgeModule {} diff --git a/projects/coreui-angular/src/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.spec.ts b/projects/coreui-angular/src/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.spec.ts index 52469a71..0cf0ce8f 100644 --- a/projects/coreui-angular/src/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.spec.ts +++ b/projects/coreui-angular/src/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.spec.ts @@ -9,8 +9,7 @@ describe('BreadcrumbItemComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [BreadcrumbItemComponent], - imports: [SharedModule, RouterTestingModule] + imports: [SharedModule, RouterTestingModule, BreadcrumbItemComponent] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.ts b/projects/coreui-angular/src/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.ts index 6cb88ccc..9b403365 100644 --- a/projects/coreui-angular/src/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.ts +++ b/projects/coreui-angular/src/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.ts @@ -1,10 +1,16 @@ import { Component, HostBinding, Input } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { RouterModule } from '@angular/router'; + +import { SharedModule } from '../../shared'; import { INavAttributes, INavLinkProps } from './breadcrumb-item'; @Component({ selector: 'c-breadcrumb-item', templateUrl: './breadcrumb-item.component.html', - styleUrls: ['./breadcrumb-item.component.scss'] + styleUrls: ['./breadcrumb-item.component.scss'], + standalone: true, + imports: [SharedModule, RouterModule, CommonModule] }) export class BreadcrumbItemComponent { diff --git a/projects/coreui-angular/src/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.spec.ts b/projects/coreui-angular/src/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.spec.ts index 5678a2c3..ab895a13 100644 --- a/projects/coreui-angular/src/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.spec.ts +++ b/projects/coreui-angular/src/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.spec.ts @@ -1,5 +1,5 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import {CommonModule} from '@angular/common'; +import { CommonModule } from '@angular/common'; import { RouterTestingModule } from '@angular/router/testing'; import { Router } from '@angular/router'; @@ -14,11 +14,15 @@ describe('BreadcrumbComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - imports: [ CommonModule, RouterTestingModule.withRoutes([]), BreadcrumbModule ], - declarations: [ BreadcrumbRouterComponent ], - providers: [ BreadcrumbRouterService ], - }) - .compileComponents(); + imports: [ + CommonModule, + RouterTestingModule.withRoutes([]), + BreadcrumbModule, + BreadcrumbRouterComponent + ], + declarations: [], + providers: [BreadcrumbRouterService] + }).compileComponents(); })); beforeEach(() => { diff --git a/projects/coreui-angular/src/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.ts b/projects/coreui-angular/src/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.ts index b2e06bec..3ee35465 100644 --- a/projects/coreui-angular/src/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.ts +++ b/projects/coreui-angular/src/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.ts @@ -1,27 +1,31 @@ import { Component, Input, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core'; +import { Observable, Observer } from 'rxjs'; +import { CommonModule } from '@angular/common'; -import {IBreadcrumbItem} from '../breadcrumb-item/breadcrumb-item'; -import {Observable, Observer} from 'rxjs'; +import { IBreadcrumbItem } from '../breadcrumb-item/breadcrumb-item'; +import { BreadcrumbComponent } from '../breadcrumb/breadcrumb.component'; import { BreadcrumbRouterService } from './breadcrumb-router.service'; +import { BreadcrumbItemComponent } from '../breadcrumb-item/breadcrumb-item.component'; @Component({ selector: 'c-breadcrumb-router, [cBreadcrumbRouter]', templateUrl: './breadcrumb-router.component.html', - styleUrls: ['./breadcrumb-router.component.scss'] + styleUrls: ['./breadcrumb-router.component.scss'], + standalone: true, + imports: [CommonModule, BreadcrumbComponent, BreadcrumbItemComponent] }) export class BreadcrumbRouterComponent implements OnChanges, OnDestroy, OnInit { + constructor( + public service: BreadcrumbRouterService + ) {} + /** * Optional array of IBreadcrumbItem to override default BreadcrumbRouter behavior. [docs] * @type IBreadcrumbItem[] */ @Input() items?: IBreadcrumbItem[]; - public breadcrumbs: Observable | undefined; - constructor( - public service: BreadcrumbRouterService, - ) { } - ngOnInit(): void { this.breadcrumbs = this.service.breadcrumbs$; } @@ -34,11 +38,13 @@ export class BreadcrumbRouterComponent implements OnChanges, OnDestroy, OnInit { setup(): void { if (this.items && this.items.length > 0) { - this.breadcrumbs = new Observable((observer: Observer) => { - if (this.items) { - observer.next(this.items); + this.breadcrumbs = new Observable( + (observer: Observer) => { + if (this.items) { + observer.next(this.items); + } } - }); + ); } } diff --git a/projects/coreui-angular/src/lib/breadcrumb/breadcrumb.module.ts b/projects/coreui-angular/src/lib/breadcrumb/breadcrumb.module.ts index 37530cbd..320b2e9a 100644 --- a/projects/coreui-angular/src/lib/breadcrumb/breadcrumb.module.ts +++ b/projects/coreui-angular/src/lib/breadcrumb/breadcrumb.module.ts @@ -10,17 +10,20 @@ import { BreadcrumbRouterService } from './breadcrumb-router/breadcrumb-router.s import { SharedModule } from '../shared'; @NgModule({ - imports: [CommonModule, RouterModule, SharedModule], - exports: [ + imports: [ + CommonModule, + RouterModule, BreadcrumbComponent, BreadcrumbItemComponent, BreadcrumbRouterComponent, + SharedModule ], - declarations: [ - BreadcrumbRouterComponent, - BreadcrumbItemComponent, + exports: [ BreadcrumbComponent, + BreadcrumbItemComponent, + BreadcrumbRouterComponent ], - providers: [BreadcrumbRouterService], + declarations: [], + providers: [BreadcrumbRouterService] }) -export class BreadcrumbModule { } +export class BreadcrumbModule {} diff --git a/projects/coreui-angular/src/lib/breadcrumb/breadcrumb/breadcrumb.component.spec.ts b/projects/coreui-angular/src/lib/breadcrumb/breadcrumb/breadcrumb.component.spec.ts index 466d7e7d..dae18275 100644 --- a/projects/coreui-angular/src/lib/breadcrumb/breadcrumb/breadcrumb.component.spec.ts +++ b/projects/coreui-angular/src/lib/breadcrumb/breadcrumb/breadcrumb.component.spec.ts @@ -8,7 +8,7 @@ describe('BreadcrumbComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ BreadcrumbComponent ] + imports: [ BreadcrumbComponent ] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/breadcrumb/breadcrumb/breadcrumb.component.ts b/projects/coreui-angular/src/lib/breadcrumb/breadcrumb/breadcrumb.component.ts index 6cd6ee2b..e57435a0 100644 --- a/projects/coreui-angular/src/lib/breadcrumb/breadcrumb/breadcrumb.component.ts +++ b/projects/coreui-angular/src/lib/breadcrumb/breadcrumb/breadcrumb.component.ts @@ -3,7 +3,8 @@ import { Component, HostBinding, Input } from '@angular/core'; @Component({ selector: 'c-breadcrumb', templateUrl: './breadcrumb.component.html', - styleUrls: ['./breadcrumb.component.scss'] + styleUrls: ['./breadcrumb.component.scss'], + standalone: true }) export class BreadcrumbComponent { /** diff --git a/projects/coreui-angular/src/lib/button-group/button-group.module.ts b/projects/coreui-angular/src/lib/button-group/button-group.module.ts index cf08a10b..15479705 100644 --- a/projects/coreui-angular/src/lib/button-group/button-group.module.ts +++ b/projects/coreui-angular/src/lib/button-group/button-group.module.ts @@ -4,16 +4,8 @@ import { ButtonGroupComponent } from './button-group/button-group.component'; import { ButtonToolbarComponent } from './button-toolbar/button-toolbar.component'; @NgModule({ - declarations: [ - ButtonGroupComponent, - ButtonToolbarComponent - ], - imports: [ - CommonModule - ], - exports: [ - ButtonGroupComponent, - ButtonToolbarComponent - ] + declarations: [], + imports: [CommonModule, ButtonGroupComponent, ButtonToolbarComponent], + exports: [ButtonGroupComponent, ButtonToolbarComponent] }) -export class ButtonGroupModule { } +export class ButtonGroupModule {} diff --git a/projects/coreui-angular/src/lib/button-group/button-group/button-group.component.spec.ts b/projects/coreui-angular/src/lib/button-group/button-group/button-group.component.spec.ts index 78a07eab..e32d059a 100644 --- a/projects/coreui-angular/src/lib/button-group/button-group/button-group.component.spec.ts +++ b/projects/coreui-angular/src/lib/button-group/button-group/button-group.component.spec.ts @@ -8,7 +8,7 @@ describe('ButtonGroupComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ ButtonGroupComponent ] + imports: [ ButtonGroupComponent ] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/button-group/button-group/button-group.component.ts b/projects/coreui-angular/src/lib/button-group/button-group/button-group.component.ts index 0940c777..ef3dfa6a 100644 --- a/projects/coreui-angular/src/lib/button-group/button-group/button-group.component.ts +++ b/projects/coreui-angular/src/lib/button-group/button-group/button-group.component.ts @@ -3,6 +3,7 @@ import { Component, HostBinding, Input } from '@angular/core'; @Component({ selector: 'c-button-group', template: ``, + standalone: true }) export class ButtonGroupComponent { diff --git a/projects/coreui-angular/src/lib/button-group/button-toolbar/button-toolbar.component.spec.ts b/projects/coreui-angular/src/lib/button-group/button-toolbar/button-toolbar.component.spec.ts index 4d363a0a..0b8b16a5 100644 --- a/projects/coreui-angular/src/lib/button-group/button-toolbar/button-toolbar.component.spec.ts +++ b/projects/coreui-angular/src/lib/button-group/button-toolbar/button-toolbar.component.spec.ts @@ -8,7 +8,7 @@ describe('ButtonToolbarComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ ButtonToolbarComponent ] + imports: [ ButtonToolbarComponent ] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/button-group/button-toolbar/button-toolbar.component.ts b/projects/coreui-angular/src/lib/button-group/button-toolbar/button-toolbar.component.ts index e0b11e30..b20d2d39 100644 --- a/projects/coreui-angular/src/lib/button-group/button-toolbar/button-toolbar.component.ts +++ b/projects/coreui-angular/src/lib/button-group/button-toolbar/button-toolbar.component.ts @@ -3,6 +3,7 @@ import { Component, HostBinding, Input } from '@angular/core'; @Component({ selector: 'c-button-toolbar', template: ``, + standalone: true }) export class ButtonToolbarComponent { /** diff --git a/projects/coreui-angular/src/lib/button/button-close.directive.spec.ts b/projects/coreui-angular/src/lib/button/button-close.directive.spec.ts index d9c5ca1b..bb01fae9 100644 --- a/projects/coreui-angular/src/lib/button/button-close.directive.spec.ts +++ b/projects/coreui-angular/src/lib/button/button-close.directive.spec.ts @@ -6,9 +6,10 @@ import { By } from '@angular/platform-browser'; class MockElementRef extends ElementRef {} @Component({ - template: `` + template: ` + ` }) -class TestComponent { } +class TestComponent {} describe('ButtonCloseDirective', () => { @@ -18,16 +19,17 @@ describe('ButtonCloseDirective', () => { beforeEach(() => { TestBed.configureTestingModule({ - declarations: [ButtonCloseDirective, TestComponent], + declarations: [TestComponent], + imports: [ButtonCloseDirective], providers: [{ provide: ElementRef, useClass: MockElementRef }] - }) + }); fixture = TestBed.createComponent(TestComponent); component = fixture.componentInstance; buttonEl = fixture.debugElement.query(By.css('button')); fixture.detectChanges(); // initial binding - }) + }); it('should create an instance', () => { const directive = new ButtonCloseDirective(); diff --git a/projects/coreui-angular/src/lib/button/button-close.directive.ts b/projects/coreui-angular/src/lib/button/button-close.directive.ts index 1b17a268..1d095c09 100644 --- a/projects/coreui-angular/src/lib/button/button-close.directive.ts +++ b/projects/coreui-angular/src/lib/button/button-close.directive.ts @@ -3,7 +3,8 @@ import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; import { ButtonDirective } from './button.directive'; @Directive({ - selector: '[cButtonClose]' + selector: '[cButtonClose]', + standalone: true }) export class ButtonCloseDirective extends ButtonDirective { diff --git a/projects/coreui-angular/src/lib/button/button.directive.spec.ts b/projects/coreui-angular/src/lib/button/button.directive.spec.ts index 2fd7844e..4ad53ca5 100644 --- a/projects/coreui-angular/src/lib/button/button.directive.spec.ts +++ b/projects/coreui-angular/src/lib/button/button.directive.spec.ts @@ -19,7 +19,8 @@ describe('ButtonDirective', () => { beforeEach(() => { TestBed.configureTestingModule({ - declarations: [ButtonCloseDirective, TestComponent], + declarations: [TestComponent], + imports: [ButtonCloseDirective], providers: [{ provide: ElementRef, useClass: MockElementRef }] }) diff --git a/projects/coreui-angular/src/lib/button/button.directive.ts b/projects/coreui-angular/src/lib/button/button.directive.ts index 3cfbb31c..e7257478 100644 --- a/projects/coreui-angular/src/lib/button/button.directive.ts +++ b/projects/coreui-angular/src/lib/button/button.directive.ts @@ -5,7 +5,8 @@ import { ButtonType, Colors, Shapes } from '../coreui.types'; @Directive({ selector: '[cButton]', - exportAs: 'cButton' + exportAs: 'cButton', + standalone: true }) export class ButtonDirective { diff --git a/projects/coreui-angular/src/lib/button/button.module.ts b/projects/coreui-angular/src/lib/button/button.module.ts index 000f577f..bb751b10 100644 --- a/projects/coreui-angular/src/lib/button/button.module.ts +++ b/projects/coreui-angular/src/lib/button/button.module.ts @@ -5,12 +5,11 @@ import { ButtonDirective } from './button.directive'; import { ButtonCloseDirective } from './button-close.directive'; @NgModule({ - declarations: [ - ButtonDirective, - ButtonCloseDirective, - ], + declarations: [], imports: [ CommonModule, + ButtonDirective, + ButtonCloseDirective, ], exports: [ ButtonDirective, diff --git a/projects/coreui-angular/src/lib/callout/callout.component.spec.ts b/projects/coreui-angular/src/lib/callout/callout.component.spec.ts index 9d90d3dc..2c8b7988 100644 --- a/projects/coreui-angular/src/lib/callout/callout.component.spec.ts +++ b/projects/coreui-angular/src/lib/callout/callout.component.spec.ts @@ -8,7 +8,7 @@ describe('CalloutComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CalloutComponent ] + imports: [ CalloutComponent ] }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/callout/callout.component.ts b/projects/coreui-angular/src/lib/callout/callout.component.ts index c28851e7..d11cfa67 100644 --- a/projects/coreui-angular/src/lib/callout/callout.component.ts +++ b/projects/coreui-angular/src/lib/callout/callout.component.ts @@ -4,7 +4,8 @@ import { Colors } from '../coreui.types'; @Component({ selector: 'c-callout, [cCallout]', template: ``, - styleUrls: ['./callout.component.scss'] + styleUrls: ['./callout.component.scss'], + standalone: true }) export class CalloutComponent { diff --git a/projects/coreui-angular/src/lib/callout/callout.module.ts b/projects/coreui-angular/src/lib/callout/callout.module.ts index a83382fe..c2d36d4a 100644 --- a/projects/coreui-angular/src/lib/callout/callout.module.ts +++ b/projects/coreui-angular/src/lib/callout/callout.module.ts @@ -4,10 +4,11 @@ import { CommonModule } from '@angular/common'; import { CalloutComponent } from './callout.component'; @NgModule({ - declarations: [CalloutComponent], + declarations: [], exports: [CalloutComponent], imports: [ - CommonModule + CommonModule, + CalloutComponent ] }) export class CalloutModule { } diff --git a/projects/coreui-angular/src/lib/card/card-body.component.spec.ts b/projects/coreui-angular/src/lib/card/card-body.component.spec.ts index f834dd54..967ccf8d 100644 --- a/projects/coreui-angular/src/lib/card/card-body.component.spec.ts +++ b/projects/coreui-angular/src/lib/card/card-body.component.spec.ts @@ -8,7 +8,7 @@ describe('CardBodyComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CardBodyComponent ] + imports: [ CardBodyComponent ] }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/card/card-body.component.ts b/projects/coreui-angular/src/lib/card/card-body.component.ts index 9ab4095c..66b985e0 100644 --- a/projects/coreui-angular/src/lib/card/card-body.component.ts +++ b/projects/coreui-angular/src/lib/card/card-body.component.ts @@ -1,8 +1,9 @@ -import {Component, HostBinding, Input} from '@angular/core'; +import {Component, HostBinding} from '@angular/core'; @Component({ selector: 'c-card-body, [c-card-body]', - template: '' + template: '', + standalone: true }) export class CardBodyComponent { diff --git a/projects/coreui-angular/src/lib/card/card-footer.component.spec.ts b/projects/coreui-angular/src/lib/card/card-footer.component.spec.ts index c7ad2629..b8b2a6d5 100644 --- a/projects/coreui-angular/src/lib/card/card-footer.component.spec.ts +++ b/projects/coreui-angular/src/lib/card/card-footer.component.spec.ts @@ -8,7 +8,7 @@ describe('CardFooterComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CardFooterComponent ] + imports: [ CardFooterComponent ] }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/card/card-footer.component.ts b/projects/coreui-angular/src/lib/card/card-footer.component.ts index 29df4c34..2449ce1f 100644 --- a/projects/coreui-angular/src/lib/card/card-footer.component.ts +++ b/projects/coreui-angular/src/lib/card/card-footer.component.ts @@ -1,15 +1,16 @@ -import {Component, HostBinding, Input} from '@angular/core'; +import { Component, HostBinding } from '@angular/core'; @Component({ selector: 'c-card-footer, [c-card-footer]', - template: '' + template: '', + standalone: true }) export class CardFooterComponent { @HostBinding('class') get hostClasses(): any { return { - 'card-footer': true, + 'card-footer': true }; } } diff --git a/projects/coreui-angular/src/lib/card/card-group.component.spec.ts b/projects/coreui-angular/src/lib/card/card-group.component.spec.ts index 5134661f..14656df5 100644 --- a/projects/coreui-angular/src/lib/card/card-group.component.spec.ts +++ b/projects/coreui-angular/src/lib/card/card-group.component.spec.ts @@ -8,7 +8,7 @@ describe('CardGroupComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CardGroupComponent ] + imports: [ CardGroupComponent ] }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/card/card-group.component.ts b/projects/coreui-angular/src/lib/card/card-group.component.ts index e68a7fa1..87a98254 100644 --- a/projects/coreui-angular/src/lib/card/card-group.component.ts +++ b/projects/coreui-angular/src/lib/card/card-group.component.ts @@ -1,8 +1,9 @@ -import {Component, HostBinding, Input} from '@angular/core'; +import { Component, HostBinding } from '@angular/core'; @Component({ selector: 'c-card-group, [c-card-group]', - template: '' + template: '', + standalone: true }) export class CardGroupComponent { diff --git a/projects/coreui-angular/src/lib/card/card-header-actions.component.spec.ts b/projects/coreui-angular/src/lib/card/card-header-actions.component.spec.ts index 71eb20ac..c777a0f4 100644 --- a/projects/coreui-angular/src/lib/card/card-header-actions.component.spec.ts +++ b/projects/coreui-angular/src/lib/card/card-header-actions.component.spec.ts @@ -8,7 +8,7 @@ describe('CardHeaderActionsComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CardHeaderActionsComponent ] + imports: [ CardHeaderActionsComponent ] }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/card/card-header-actions.component.ts b/projects/coreui-angular/src/lib/card/card-header-actions.component.ts index 6095d870..caaaaeec 100644 --- a/projects/coreui-angular/src/lib/card/card-header-actions.component.ts +++ b/projects/coreui-angular/src/lib/card/card-header-actions.component.ts @@ -3,6 +3,7 @@ import {Component, HostBinding} from '@angular/core'; @Component({ selector: 'c-card-header-actions, [c-card-header-actions]', template: '', + standalone: true }) export class CardHeaderActionsComponent { diff --git a/projects/coreui-angular/src/lib/card/card-header.component.spec.ts b/projects/coreui-angular/src/lib/card/card-header.component.spec.ts index fdf216f0..f38c354a 100644 --- a/projects/coreui-angular/src/lib/card/card-header.component.spec.ts +++ b/projects/coreui-angular/src/lib/card/card-header.component.spec.ts @@ -8,7 +8,7 @@ describe('CardHeaderComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CardHeaderComponent ] + imports: [ CardHeaderComponent ] }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/card/card-header.component.ts b/projects/coreui-angular/src/lib/card/card-header.component.ts index b1dddb13..49b827f1 100644 --- a/projects/coreui-angular/src/lib/card/card-header.component.ts +++ b/projects/coreui-angular/src/lib/card/card-header.component.ts @@ -1,15 +1,16 @@ -import {Component, HostBinding, Input} from '@angular/core'; +import { Component, HostBinding } from '@angular/core'; @Component({ selector: 'c-card-header, [c-card-header]', template: '', + standalone: true }) export class CardHeaderComponent { @HostBinding('class') get hostClasses(): any { return { - 'card-header': true, + 'card-header': true }; } } diff --git a/projects/coreui-angular/src/lib/card/card-img-overlay/card-img-overlay.component.html b/projects/coreui-angular/src/lib/card/card-img-overlay/card-img-overlay.component.html deleted file mode 100644 index 6dbc7430..00000000 --- a/projects/coreui-angular/src/lib/card/card-img-overlay/card-img-overlay.component.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/projects/coreui-angular/src/lib/card/card-img-overlay/card-img-overlay.component.spec.ts b/projects/coreui-angular/src/lib/card/card-img-overlay/card-img-overlay.component.spec.ts index 1503e72d..117b9c41 100644 --- a/projects/coreui-angular/src/lib/card/card-img-overlay/card-img-overlay.component.spec.ts +++ b/projects/coreui-angular/src/lib/card/card-img-overlay/card-img-overlay.component.spec.ts @@ -8,7 +8,7 @@ describe('CardImgOverlayComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ CardImgOverlayComponent ] + imports: [ CardImgOverlayComponent ] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/card/card-img-overlay/card-img-overlay.component.ts b/projects/coreui-angular/src/lib/card/card-img-overlay/card-img-overlay.component.ts index 7b1b5cbc..3237c3f5 100644 --- a/projects/coreui-angular/src/lib/card/card-img-overlay/card-img-overlay.component.ts +++ b/projects/coreui-angular/src/lib/card/card-img-overlay/card-img-overlay.component.ts @@ -2,8 +2,9 @@ import { Component, HostBinding } from '@angular/core'; @Component({ selector: 'c-card-img-overlay', - templateUrl: './card-img-overlay.component.html', - styleUrls: ['./card-img-overlay.component.scss'] + template: ``, + styleUrls: ['./card-img-overlay.component.scss'], + standalone: true }) export class CardImgOverlayComponent { diff --git a/projects/coreui-angular/src/lib/card/card-img.directive.ts b/projects/coreui-angular/src/lib/card/card-img.directive.ts index d6348f52..8e3a6fbc 100644 --- a/projects/coreui-angular/src/lib/card/card-img.directive.ts +++ b/projects/coreui-angular/src/lib/card/card-img.directive.ts @@ -1,7 +1,8 @@ import { Directive, HostBinding, Input } from '@angular/core'; @Directive({ - selector: '[cCardImg]' + selector: '[cCardImg]', + standalone: true }) export class CardImgDirective { /** diff --git a/projects/coreui-angular/src/lib/card/card-link.directive.ts b/projects/coreui-angular/src/lib/card/card-link.directive.ts index a3bc34ce..78ce8e41 100644 --- a/projects/coreui-angular/src/lib/card/card-link.directive.ts +++ b/projects/coreui-angular/src/lib/card/card-link.directive.ts @@ -1,7 +1,8 @@ import { Directive, HostBinding } from '@angular/core'; @Directive({ - selector: '[cCardLink]' + selector: '[cCardLink]', + standalone: true }) export class CardLinkDirective { diff --git a/projects/coreui-angular/src/lib/card/card-subtitle.directive.ts b/projects/coreui-angular/src/lib/card/card-subtitle.directive.ts index 92daeba6..a9c86529 100644 --- a/projects/coreui-angular/src/lib/card/card-subtitle.directive.ts +++ b/projects/coreui-angular/src/lib/card/card-subtitle.directive.ts @@ -1,7 +1,8 @@ import { Directive, HostBinding } from '@angular/core'; @Directive({ - selector: '[cCardSubtitle]' + selector: '[cCardSubtitle]', + standalone: true }) export class CardSubtitleDirective { diff --git a/projects/coreui-angular/src/lib/card/card-text.directive.ts b/projects/coreui-angular/src/lib/card/card-text.directive.ts index 300eaa1b..622c52e1 100644 --- a/projects/coreui-angular/src/lib/card/card-text.directive.ts +++ b/projects/coreui-angular/src/lib/card/card-text.directive.ts @@ -1,7 +1,8 @@ import { Directive, HostBinding } from '@angular/core'; @Directive({ - selector: '[cCardText]' + selector: '[cCardText]', + standalone: true }) export class CardTextDirective { diff --git a/projects/coreui-angular/src/lib/card/card-title.directive.ts b/projects/coreui-angular/src/lib/card/card-title.directive.ts index 09aad47c..816d7086 100644 --- a/projects/coreui-angular/src/lib/card/card-title.directive.ts +++ b/projects/coreui-angular/src/lib/card/card-title.directive.ts @@ -1,7 +1,8 @@ import { Directive, HostBinding } from '@angular/core'; @Directive({ - selector: '[cCardTitle]' + selector: '[cCardTitle]', + standalone: true }) export class CardTitleDirective { diff --git a/projects/coreui-angular/src/lib/card/card.component.spec.ts b/projects/coreui-angular/src/lib/card/card.component.spec.ts index 5d567f5f..53b81041 100644 --- a/projects/coreui-angular/src/lib/card/card.component.spec.ts +++ b/projects/coreui-angular/src/lib/card/card.component.spec.ts @@ -8,7 +8,7 @@ describe('CardComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CardComponent ] + imports: [ CardComponent ] }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/card/card.component.ts b/projects/coreui-angular/src/lib/card/card.component.ts index 9edaccd7..4eb900b3 100644 --- a/projects/coreui-angular/src/lib/card/card.component.ts +++ b/projects/coreui-angular/src/lib/card/card.component.ts @@ -3,7 +3,8 @@ import { Colors, TextColors } from '../coreui.types'; @Component({ selector: 'c-card, [c-card]', - template: `` + template: ``, + standalone: true }) export class CardComponent { diff --git a/projects/coreui-angular/src/lib/card/card.module.ts b/projects/coreui-angular/src/lib/card/card.module.ts index d58da663..2f27d024 100644 --- a/projects/coreui-angular/src/lib/card/card.module.ts +++ b/projects/coreui-angular/src/lib/card/card.module.ts @@ -15,7 +15,9 @@ import { CardTitleDirective } from './card-title.directive'; import { CardImgOverlayComponent } from './card-img-overlay/card-img-overlay.component'; @NgModule({ - declarations: [ + declarations: [], + imports: [ + CommonModule, CardComponent, CardBodyComponent, CardFooterComponent, @@ -27,10 +29,7 @@ import { CardImgOverlayComponent } from './card-img-overlay/card-img-overlay.com CardLinkDirective, CardSubtitleDirective, CardTextDirective, - CardTitleDirective, - ], - imports: [ - CommonModule, + CardTitleDirective ], exports: [ CardComponent, @@ -44,7 +43,7 @@ import { CardImgOverlayComponent } from './card-img-overlay/card-img-overlay.com CardLinkDirective, CardSubtitleDirective, CardTextDirective, - CardTitleDirective, + CardTitleDirective ] }) -export class CardModule { } +export class CardModule {} diff --git a/projects/coreui-angular/src/lib/carousel/carousel-caption/carousel-caption.component.spec.ts b/projects/coreui-angular/src/lib/carousel/carousel-caption/carousel-caption.component.spec.ts index 1fd31b2c..ca48230a 100644 --- a/projects/coreui-angular/src/lib/carousel/carousel-caption/carousel-caption.component.spec.ts +++ b/projects/coreui-angular/src/lib/carousel/carousel-caption/carousel-caption.component.spec.ts @@ -8,7 +8,7 @@ describe('CarouselCaptionComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CarouselCaptionComponent ] + imports: [ CarouselCaptionComponent ] }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/carousel/carousel-caption/carousel-caption.component.ts b/projects/coreui-angular/src/lib/carousel/carousel-caption/carousel-caption.component.ts index 672bfdb9..66e83d58 100644 --- a/projects/coreui-angular/src/lib/carousel/carousel-caption/carousel-caption.component.ts +++ b/projects/coreui-angular/src/lib/carousel/carousel-caption/carousel-caption.component.ts @@ -3,7 +3,8 @@ import { Component, HostBinding } from '@angular/core'; @Component({ selector: 'c-carousel-caption', template: ``, - styleUrls: ['./carousel-caption.component.scss'] + styleUrls: ['./carousel-caption.component.scss'], + standalone: true }) export class CarouselCaptionComponent { diff --git a/projects/coreui-angular/src/lib/carousel/carousel-control/carousel-control.component.spec.ts b/projects/coreui-angular/src/lib/carousel/carousel-control/carousel-control.component.spec.ts index d129952f..5b799b48 100644 --- a/projects/coreui-angular/src/lib/carousel/carousel-control/carousel-control.component.spec.ts +++ b/projects/coreui-angular/src/lib/carousel/carousel-control/carousel-control.component.spec.ts @@ -12,7 +12,7 @@ describe('CarouselControlComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CarouselControlComponent ], + imports: [ CarouselControlComponent ], providers: [ CarouselService, CarouselState ] }) .compileComponents(); diff --git a/projects/coreui-angular/src/lib/carousel/carousel-control/carousel-control.component.ts b/projects/coreui-angular/src/lib/carousel/carousel-control/carousel-control.component.ts index fc9796b8..b7eadb6f 100644 --- a/projects/coreui-angular/src/lib/carousel/carousel-control/carousel-control.component.ts +++ b/projects/coreui-angular/src/lib/carousel/carousel-control/carousel-control.component.ts @@ -8,6 +8,7 @@ import { Input, ViewChild } from '@angular/core'; +import { CommonModule } from '@angular/common'; import { CarouselState } from '../carousel-state'; @@ -15,6 +16,8 @@ import { CarouselState } from '../carousel-state'; selector: 'c-carousel-control', templateUrl: './carousel-control.component.html', styleUrls: ['./carousel-control.component.scss'], + standalone: true, + imports: [CommonModule] }) export class CarouselControlComponent implements AfterViewInit { diff --git a/projects/coreui-angular/src/lib/carousel/carousel-indicators/carousel-indicators.component.scss b/projects/coreui-angular/src/lib/carousel/carousel-indicators/carousel-indicators.component.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/projects/coreui-angular/src/lib/carousel/carousel-indicators/carousel-indicators.component.spec.ts b/projects/coreui-angular/src/lib/carousel/carousel-indicators/carousel-indicators.component.spec.ts index 7a164a53..688977b8 100644 --- a/projects/coreui-angular/src/lib/carousel/carousel-indicators/carousel-indicators.component.spec.ts +++ b/projects/coreui-angular/src/lib/carousel/carousel-indicators/carousel-indicators.component.spec.ts @@ -12,7 +12,7 @@ describe('CarouselIndicatorsComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CarouselIndicatorsComponent ], + imports: [ CarouselIndicatorsComponent ], providers: [ CarouselService, CarouselState ] }) .compileComponents(); diff --git a/projects/coreui-angular/src/lib/carousel/carousel-indicators/carousel-indicators.component.ts b/projects/coreui-angular/src/lib/carousel/carousel-indicators/carousel-indicators.component.ts index 4dd8eae7..fdb438e3 100644 --- a/projects/coreui-angular/src/lib/carousel/carousel-indicators/carousel-indicators.component.ts +++ b/projects/coreui-angular/src/lib/carousel/carousel-indicators/carousel-indicators.component.ts @@ -1,24 +1,26 @@ import { Component, OnDestroy, OnInit } from '@angular/core'; +import { CommonModule } from '@angular/common'; import { Subscription } from 'rxjs'; + import { CarouselState } from '../carousel-state'; import { CarouselService } from '../carousel.service'; @Component({ selector: 'c-carousel-indicators', templateUrl: './carousel-indicators.component.html', - styleUrls: ['./carousel-indicators.component.scss'], + standalone: true, + imports: [CommonModule] }) export class CarouselIndicatorsComponent implements OnInit, OnDestroy { - items: (number | undefined)[] = []; - active = 0; - - private carouselIndexSubscription?: Subscription; - constructor( private carouselService: CarouselService, private carouselState: CarouselState ) {} + items: (number | undefined)[] = []; + active = 0; + private carouselIndexSubscription?: Subscription; + ngOnInit(): void { this.carouselStateSubscribe(); } @@ -30,7 +32,7 @@ export class CarouselIndicatorsComponent implements OnInit, OnDestroy { onClick(index: number): void { if (index !== this.active) { const direction = index < this.active ? 'prev' : 'next'; - this.carouselState.state = { direction, activeItemIndex: index }; + this.carouselState.state = { direction, activeItemIndex: index }; } } diff --git a/projects/coreui-angular/src/lib/carousel/carousel-inner/carousel-inner.component.spec.ts b/projects/coreui-angular/src/lib/carousel/carousel-inner/carousel-inner.component.spec.ts index 9e351a0c..101ea29f 100644 --- a/projects/coreui-angular/src/lib/carousel/carousel-inner/carousel-inner.component.spec.ts +++ b/projects/coreui-angular/src/lib/carousel/carousel-inner/carousel-inner.component.spec.ts @@ -13,9 +13,8 @@ describe('CarouselInnerComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CarouselInnerComponent ], providers: [ CarouselService, CarouselState ], - imports: [NoopAnimationsModule], + imports: [NoopAnimationsModule, CarouselInnerComponent], }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/carousel/carousel-inner/carousel-inner.component.ts b/projects/coreui-angular/src/lib/carousel/carousel-inner/carousel-inner.component.ts index 6ed610c7..628b1ee5 100644 --- a/projects/coreui-angular/src/lib/carousel/carousel-inner/carousel-inner.component.ts +++ b/projects/coreui-angular/src/lib/carousel/carousel-inner/carousel-inner.component.ts @@ -4,11 +4,10 @@ import { Component, ContentChildren, HostBinding, - OnInit, - QueryList, + QueryList } from '@angular/core'; -import { slideAnimation, fadeAnimation } from '../carousel.animation'; +import { fadeAnimation, slideAnimation } from '../carousel.animation'; import { CarouselItemComponent } from '../carousel-item/carousel-item.component'; import { CarouselState } from '../carousel-state'; @@ -16,19 +15,19 @@ import { CarouselState } from '../carousel-state'; selector: 'c-carousel-inner', templateUrl: './carousel-inner.component.html', styleUrls: ['./carousel-inner.component.scss'], - animations: [ slideAnimation, fadeAnimation ] + animations: [slideAnimation, fadeAnimation], + standalone: true }) export class CarouselInnerComponent implements AfterContentInit, AfterContentChecked { - @HostBinding('class.carousel-inner') carouselInnerClass = true; + constructor(private carouselState: CarouselState) {} - @ContentChildren(CarouselItemComponent) private contentItems!: QueryList; - private prevContentItems!: QueryList; + @HostBinding('class.carousel-inner') carouselInnerClass = true; activeIndex?: number; animate?: boolean; - slide = {left: true}; + slide = { left: true }; transition = 'slide'; - - constructor(private carouselState: CarouselState) {} + @ContentChildren(CarouselItemComponent) private contentItems!: QueryList; + private prevContentItems!: QueryList; ngAfterContentInit(): void { this.setItems(); @@ -41,7 +40,7 @@ export class CarouselInnerComponent implements AfterContentInit, AfterContentChe const nextDirection = state?.direction; if (this.activeIndex !== nextIndex) { this.animate = state?.animate; - this.slide = {left: nextDirection === 'next'}; + this.slide = { left: nextDirection === 'next' }; this.activeIndex = state?.activeItemIndex; this.transition = state?.transition ?? 'slide'; } diff --git a/projects/coreui-angular/src/lib/carousel/carousel-item/carousel-item.component.spec.ts b/projects/coreui-angular/src/lib/carousel/carousel-item/carousel-item.component.spec.ts index 50400794..82b07315 100644 --- a/projects/coreui-angular/src/lib/carousel/carousel-item/carousel-item.component.spec.ts +++ b/projects/coreui-angular/src/lib/carousel/carousel-item/carousel-item.component.spec.ts @@ -10,7 +10,7 @@ describe('CarouselItemComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CarouselItemComponent ], + imports: [ CarouselItemComponent ], providers: [ CarouselService ] }) .compileComponents(); diff --git a/projects/coreui-angular/src/lib/carousel/carousel-item/carousel-item.component.ts b/projects/coreui-angular/src/lib/carousel/carousel-item/carousel-item.component.ts index 0836578d..f6e2c011 100644 --- a/projects/coreui-angular/src/lib/carousel/carousel-item/carousel-item.component.ts +++ b/projects/coreui-angular/src/lib/carousel/carousel-item/carousel-item.component.ts @@ -1,14 +1,16 @@ import { AfterViewInit, ChangeDetectorRef, Component, HostBinding, Input, OnDestroy } from '@angular/core'; - +import { CommonModule } from '@angular/common'; +import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; import { Subscription } from 'rxjs'; import { CarouselService } from '../carousel.service'; -import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; @Component({ selector: 'c-carousel-item', templateUrl: './carousel-item.component.html', - styleUrls: ['./carousel-item.component.scss'] + styleUrls: ['./carousel-item.component.scss'], + standalone: true, + imports: [CommonModule] }) export class CarouselItemComponent implements OnDestroy, AfterViewInit { diff --git a/projects/coreui-angular/src/lib/carousel/carousel.module.ts b/projects/coreui-angular/src/lib/carousel/carousel.module.ts index eb716f34..3dcde9b4 100644 --- a/projects/coreui-angular/src/lib/carousel/carousel.module.ts +++ b/projects/coreui-angular/src/lib/carousel/carousel.module.ts @@ -12,15 +12,16 @@ import { CarouselState } from './carousel-state'; import { CarouselConfig } from './carousel.config'; @NgModule({ - declarations: [ + declarations: [], + imports: [ + CommonModule, CarouselComponent, CarouselCaptionComponent, CarouselControlComponent, CarouselIndicatorsComponent, CarouselInnerComponent, - CarouselItemComponent, + CarouselItemComponent ], - imports: [CommonModule], providers: [CarouselService, CarouselState, CarouselConfig], exports: [ CarouselComponent, @@ -28,8 +29,8 @@ import { CarouselConfig } from './carousel.config'; CarouselControlComponent, CarouselIndicatorsComponent, CarouselInnerComponent, - CarouselItemComponent, - ], + CarouselItemComponent + ] }) export class CarouselModule { static forRoot(): ModuleWithProviders { diff --git a/projects/coreui-angular/src/lib/carousel/carousel/carousel.component.spec.ts b/projects/coreui-angular/src/lib/carousel/carousel/carousel.component.spec.ts index 69fb301a..7451dde4 100644 --- a/projects/coreui-angular/src/lib/carousel/carousel/carousel.component.spec.ts +++ b/projects/coreui-angular/src/lib/carousel/carousel/carousel.component.spec.ts @@ -8,7 +8,7 @@ describe('CarouselComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ CarouselComponent ] + imports: [ CarouselComponent ] }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/carousel/carousel/carousel.component.ts b/projects/coreui-angular/src/lib/carousel/carousel/carousel.component.ts index ed713565..9cc847c5 100644 --- a/projects/coreui-angular/src/lib/carousel/carousel/carousel.component.ts +++ b/projects/coreui-angular/src/lib/carousel/carousel/carousel.component.ts @@ -24,7 +24,8 @@ import { Triggers } from '../../coreui.types'; selector: 'c-carousel', template: '', styleUrls: ['./carousel.component.scss'], - providers: [CarouselService, CarouselState, CarouselConfig, IntersectionService, ListenersService] + providers: [CarouselService, CarouselState, CarouselConfig, IntersectionService, ListenersService], + standalone: true }) export class CarouselComponent implements OnInit, OnDestroy, AfterContentInit { /** diff --git a/projects/coreui-angular/src/lib/collapse/collapse.directive.spec.ts b/projects/coreui-angular/src/lib/collapse/collapse.directive.spec.ts new file mode 100644 index 00000000..cc45eeeb --- /dev/null +++ b/projects/coreui-angular/src/lib/collapse/collapse.directive.spec.ts @@ -0,0 +1,46 @@ +import { CollapseDirective } from './collapse.directive'; +import { Component, DebugElement, ElementRef, Renderer2, Type } from '@angular/core'; +import { AnimationBuilder } from '@angular/animations'; +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; + +class MockElementRef extends ElementRef {} + +@Component({ + template: `
` +}) +class TestComponent {} + +describe('CollapseDirective', () => { + + let component: TestComponent; + let fixture: ComponentFixture; + let elementRef: DebugElement; + let renderer: Renderer2; + let animationBuilder: AnimationBuilder; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [TestComponent], + imports: [CollapseDirective, NoopAnimationsModule], + providers: [ + { provide: ElementRef, useClass: MockElementRef }, + { provide: AnimationBuilder }, + Renderer2 + ] + }); + + fixture = TestBed.createComponent(TestComponent); + component = fixture.componentInstance; + elementRef = fixture.debugElement.query(By.directive(CollapseDirective)); + renderer = fixture.componentRef.injector.get(Renderer2 as Type); + + fixture.detectChanges(); // initial binding + }); + + it('should create an instance', () => { + const directive = new CollapseDirective(elementRef, renderer, animationBuilder); + expect(directive).toBeTruthy(); + }); +}); diff --git a/projects/coreui-angular/src/lib/collapse/collapse.directive.ts b/projects/coreui-angular/src/lib/collapse/collapse.directive.ts index 9999a630..54ec3c74 100644 --- a/projects/coreui-angular/src/lib/collapse/collapse.directive.ts +++ b/projects/coreui-angular/src/lib/collapse/collapse.directive.ts @@ -27,7 +27,8 @@ import { // tslint:disable-next-line:no-conflicting-lifecycle @Directive({ selector: '[cCollapse]', - exportAs: 'cCollapse' + exportAs: 'cCollapse', + standalone: true }) export class CollapseDirective implements OnChanges, OnDestroy, DoCheck, AfterViewInit { diff --git a/projects/coreui-angular/src/lib/collapse/collapse.module.ts b/projects/coreui-angular/src/lib/collapse/collapse.module.ts index 06e2cb16..b3d62dbf 100644 --- a/projects/coreui-angular/src/lib/collapse/collapse.module.ts +++ b/projects/coreui-angular/src/lib/collapse/collapse.module.ts @@ -1,12 +1,13 @@ -import { NgModule, ModuleWithProviders } from '@angular/core'; +import { ModuleWithProviders, NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { CollapseDirective } from './collapse.directive'; @NgModule({ - declarations: [CollapseDirective], + declarations: [], exports: [CollapseDirective], imports: [ - CommonModule + CommonModule, + CollapseDirective ] }) export class CollapseModule { diff --git a/projects/coreui-angular/src/lib/dropdown/dropdown-close/dropdown-close.directive.ts b/projects/coreui-angular/src/lib/dropdown/dropdown-close/dropdown-close.directive.ts index 866b6c8a..0fd38fde 100644 --- a/projects/coreui-angular/src/lib/dropdown/dropdown-close/dropdown-close.directive.ts +++ b/projects/coreui-angular/src/lib/dropdown/dropdown-close/dropdown-close.directive.ts @@ -4,7 +4,8 @@ import { DropdownComponent } from '../dropdown/dropdown.component'; @Directive({ selector: '[cDropdownClose]', - exportAs: 'cDropdownClose' + exportAs: 'cDropdownClose', + standalone: true }) export class DropdownCloseDirective implements AfterViewInit { diff --git a/projects/coreui-angular/src/lib/dropdown/dropdown-divider/dropdown-divider.directive.ts b/projects/coreui-angular/src/lib/dropdown/dropdown-divider/dropdown-divider.directive.ts index f8ab4518..9c69cbd1 100644 --- a/projects/coreui-angular/src/lib/dropdown/dropdown-divider/dropdown-divider.directive.ts +++ b/projects/coreui-angular/src/lib/dropdown/dropdown-divider/dropdown-divider.directive.ts @@ -1,18 +1,15 @@ import { Directive, HostBinding } from '@angular/core'; @Directive({ - selector: '[cDropdownDivider]' + selector: '[cDropdownDivider]', + standalone: true }) export class DropdownDividerDirective { - constructor() { - } - @HostBinding('class') get hostClasses(): any { - return { - 'dropdown-divider': true, + 'dropdown-divider': true }; } diff --git a/projects/coreui-angular/src/lib/dropdown/dropdown-header/dropdown-header.directive.ts b/projects/coreui-angular/src/lib/dropdown/dropdown-header/dropdown-header.directive.ts index 3cd02a0c..0ab65c01 100644 --- a/projects/coreui-angular/src/lib/dropdown/dropdown-header/dropdown-header.directive.ts +++ b/projects/coreui-angular/src/lib/dropdown/dropdown-header/dropdown-header.directive.ts @@ -1,16 +1,12 @@ import { Directive, HostBinding } from '@angular/core'; @Directive({ - selector: '[cDropdownHeader]' + selector: '[cDropdownHeader]', + standalone: true, }) export class DropdownHeaderDirective { - - constructor() { - } - @HostBinding('class') get hostClasses(): any { - return { 'dropdown-header': true, }; diff --git a/projects/coreui-angular/src/lib/dropdown/dropdown-item/dropdown-item-plain.directive.ts b/projects/coreui-angular/src/lib/dropdown/dropdown-item/dropdown-item-plain.directive.ts index 4e7736f4..2b406e7d 100644 --- a/projects/coreui-angular/src/lib/dropdown/dropdown-item/dropdown-item-plain.directive.ts +++ b/projects/coreui-angular/src/lib/dropdown/dropdown-item/dropdown-item-plain.directive.ts @@ -1,19 +1,14 @@ import { Directive, HostBinding } from '@angular/core'; @Directive({ - selector: '[cDropdownItemPlain]' + selector: '[cDropdownItemPlain]', + standalone: true }) export class DropdownItemPlainDirective { - - constructor() { - } - @HostBinding('class') get hostClasses(): any { - return { - 'dropdown-item-text': true, + 'dropdown-item-text': true }; } - } diff --git a/projects/coreui-angular/src/lib/dropdown/dropdown-item/dropdown-item.directive.ts b/projects/coreui-angular/src/lib/dropdown/dropdown-item/dropdown-item.directive.ts index e3479aaf..1861605c 100644 --- a/projects/coreui-angular/src/lib/dropdown/dropdown-item/dropdown-item.directive.ts +++ b/projects/coreui-angular/src/lib/dropdown/dropdown-item/dropdown-item.directive.ts @@ -4,7 +4,8 @@ import { DropdownComponent } from '../dropdown/dropdown.component'; @Directive({ selector: '[cDropdownItem]', - exportAs: 'cDropdownItem' + exportAs: 'cDropdownItem', + standalone: true }) export class DropdownItemDirective { /** diff --git a/projects/coreui-angular/src/lib/dropdown/dropdown-menu/dropdown-menu.directive.ts b/projects/coreui-angular/src/lib/dropdown/dropdown-menu/dropdown-menu.directive.ts index 626696b8..b7d0dcb2 100644 --- a/projects/coreui-angular/src/lib/dropdown/dropdown-menu/dropdown-menu.directive.ts +++ b/projects/coreui-angular/src/lib/dropdown/dropdown-menu/dropdown-menu.directive.ts @@ -6,6 +6,7 @@ import { DropdownService } from '../dropdown.service'; @Directive({ selector: '[cDropdownMenu]', exportAs: 'cDropdownMenu', + standalone: true }) export class DropdownMenuDirective implements OnInit, OnDestroy { static ngAcceptInputType_dark: BooleanInput; diff --git a/projects/coreui-angular/src/lib/dropdown/dropdown.module.ts b/projects/coreui-angular/src/lib/dropdown/dropdown.module.ts index 7f63aefe..8a09454b 100644 --- a/projects/coreui-angular/src/lib/dropdown/dropdown.module.ts +++ b/projects/coreui-angular/src/lib/dropdown/dropdown.module.ts @@ -10,32 +10,28 @@ import { DropdownService } from './dropdown.service'; import { DropdownCloseDirective } from './dropdown-close/dropdown-close.directive'; @NgModule({ - declarations: [ + declarations: [], + imports: [ + CommonModule, DropdownComponent, + DropdownCloseDirective, DropdownDividerDirective, DropdownHeaderDirective, DropdownItemDirective, DropdownItemPlainDirective, - DropdownToggleDirective, DropdownMenuDirective, - DropdownCloseDirective - ], - imports: [ - CommonModule, + DropdownToggleDirective ], exports: [ DropdownComponent, + DropdownCloseDirective, DropdownDividerDirective, DropdownHeaderDirective, DropdownItemDirective, DropdownItemPlainDirective, - DropdownToggleDirective, DropdownMenuDirective, - DropdownCloseDirective + DropdownToggleDirective ], - providers: [ - DropdownService, - ] + providers: [DropdownService] }) -export class DropdownModule { -} +export class DropdownModule {} diff --git a/projects/coreui-angular/src/lib/dropdown/dropdown/dropdown.component.spec.ts b/projects/coreui-angular/src/lib/dropdown/dropdown/dropdown.component.spec.ts index f40272c4..a38a01b6 100644 --- a/projects/coreui-angular/src/lib/dropdown/dropdown/dropdown.component.spec.ts +++ b/projects/coreui-angular/src/lib/dropdown/dropdown/dropdown.component.spec.ts @@ -11,8 +11,7 @@ describe('DropdownComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ DropdownComponent ], - imports: [DropdownModule] + imports: [DropdownModule, DropdownComponent] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/dropdown/dropdown/dropdown.component.ts b/projects/coreui-angular/src/lib/dropdown/dropdown/dropdown.component.ts index 49e39600..854daa99 100644 --- a/projects/coreui-angular/src/lib/dropdown/dropdown/dropdown.component.ts +++ b/projects/coreui-angular/src/lib/dropdown/dropdown/dropdown.component.ts @@ -37,7 +37,8 @@ export abstract class DropdownToken {} @Directive({ selector: '[cDropdownToggle]', providers: [{ provide: DropdownToken, useExisting: forwardRef(() => DropdownComponent) }], - exportAs: 'cDropdownToggle' + exportAs: 'cDropdownToggle', + standalone: true }) export class DropdownToggleDirective implements AfterViewInit { @@ -113,7 +114,8 @@ export class DropdownToggleDirective implements AfterViewInit { template: '', styleUrls: ['./dropdown.component.scss'], exportAs: 'cDropdown', - providers: [DropdownService] + providers: [DropdownService], + standalone: true }) export class DropdownComponent implements AfterContentInit, OnChanges, OnDestroy, OnInit { diff --git a/projects/coreui-angular/src/lib/footer/footer.component.spec.ts b/projects/coreui-angular/src/lib/footer/footer.component.spec.ts index 36089f15..c0a06577 100644 --- a/projects/coreui-angular/src/lib/footer/footer.component.spec.ts +++ b/projects/coreui-angular/src/lib/footer/footer.component.spec.ts @@ -8,7 +8,7 @@ describe('FooterComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ FooterComponent ] + imports: [ FooterComponent ] }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/footer/footer.component.ts b/projects/coreui-angular/src/lib/footer/footer.component.ts index 502e43b9..655c65f4 100644 --- a/projects/coreui-angular/src/lib/footer/footer.component.ts +++ b/projects/coreui-angular/src/lib/footer/footer.component.ts @@ -5,6 +5,7 @@ import { Positions } from '../coreui.types'; @Component({ selector: 'c-footer, [cFooter]', template: ``, + standalone: true }) export class FooterComponent { /** diff --git a/projects/coreui-angular/src/lib/footer/footer.module.ts b/projects/coreui-angular/src/lib/footer/footer.module.ts index 5163b43a..3ff56ecb 100644 --- a/projects/coreui-angular/src/lib/footer/footer.module.ts +++ b/projects/coreui-angular/src/lib/footer/footer.module.ts @@ -4,14 +4,8 @@ import { CommonModule } from '@angular/common'; import { FooterComponent } from './footer.component'; @NgModule({ - declarations: [ - FooterComponent - ], - imports: [ - CommonModule - ], - exports: [ - FooterComponent - ] + declarations: [], + imports: [CommonModule, FooterComponent], + exports: [FooterComponent] }) -export class FooterModule { } +export class FooterModule {} diff --git a/projects/coreui-angular/src/lib/form/form-check/form-check-input.directive.spec.ts b/projects/coreui-angular/src/lib/form/form-check/form-check-input.directive.spec.ts index 992634f1..d22c2a31 100644 --- a/projects/coreui-angular/src/lib/form/form-check/form-check-input.directive.spec.ts +++ b/projects/coreui-angular/src/lib/form/form-check/form-check-input.directive.spec.ts @@ -16,7 +16,8 @@ describe('FormCheckInputDirective', () => { beforeEach(() => { TestBed.configureTestingModule({ - declarations: [TestComponent, FormCheckInputDirective] + declarations: [TestComponent], + imports: [FormCheckInputDirective] }); fixture = TestBed.createComponent(TestComponent); component = fixture.componentInstance; diff --git a/projects/coreui-angular/src/lib/form/form-check/form-check-input.directive.ts b/projects/coreui-angular/src/lib/form/form-check/form-check-input.directive.ts index 47c1aa6b..5860cb11 100644 --- a/projects/coreui-angular/src/lib/form/form-check/form-check-input.directive.ts +++ b/projects/coreui-angular/src/lib/form/form-check/form-check-input.directive.ts @@ -2,7 +2,8 @@ import { Directive, ElementRef, HostBinding, Input, Renderer2 } from '@angular/c import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; @Directive({ - selector: 'input[cFormCheckInput]' + selector: 'input[cFormCheckInput]', + standalone: true }) export class FormCheckInputDirective { diff --git a/projects/coreui-angular/src/lib/form/form-check/form-check-label.directive.ts b/projects/coreui-angular/src/lib/form/form-check/form-check-label.directive.ts index f64222e1..b1626689 100644 --- a/projects/coreui-angular/src/lib/form/form-check/form-check-label.directive.ts +++ b/projects/coreui-angular/src/lib/form/form-check/form-check-label.directive.ts @@ -1,16 +1,14 @@ import { Directive, HostBinding } from '@angular/core'; @Directive({ - selector: 'label[cFormCheckLabel]' + selector: 'label[cFormCheckLabel]', + standalone: true }) export class FormCheckLabelDirective { - @HostBinding('class') get hostClasses(): any { - return { - 'form-check-label': true, + 'form-check-label': true }; } - } diff --git a/projects/coreui-angular/src/lib/form/form-check/form-check.component.spec.ts b/projects/coreui-angular/src/lib/form/form-check/form-check.component.spec.ts index 02db2be9..db429ec6 100644 --- a/projects/coreui-angular/src/lib/form/form-check/form-check.component.spec.ts +++ b/projects/coreui-angular/src/lib/form/form-check/form-check.component.spec.ts @@ -10,7 +10,7 @@ describe('FormCheckComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [FormCheckComponent], + imports: [FormCheckComponent], providers: [Renderer2] }) .compileComponents(); diff --git a/projects/coreui-angular/src/lib/form/form-check/form-check.component.ts b/projects/coreui-angular/src/lib/form/form-check/form-check.component.ts index 8365accc..02a417be 100644 --- a/projects/coreui-angular/src/lib/form/form-check/form-check.component.ts +++ b/projects/coreui-angular/src/lib/form/form-check/form-check.component.ts @@ -6,7 +6,8 @@ import { FormCheckLabelDirective } from './form-check-label.directive'; @Component({ selector: 'c-form-check', template: '', - exportAs: 'cFormCheck' + exportAs: 'cFormCheck', + standalone: true }) export class FormCheckComponent implements AfterContentInit { diff --git a/projects/coreui-angular/src/lib/form/form-control/form-control.directive.ts b/projects/coreui-angular/src/lib/form/form-control/form-control.directive.ts index 38e32e84..d16700db 100644 --- a/projects/coreui-angular/src/lib/form/form-control/form-control.directive.ts +++ b/projects/coreui-angular/src/lib/form/form-control/form-control.directive.ts @@ -4,7 +4,8 @@ import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; import { InputType } from '../../coreui.types'; @Directive({ - selector: 'input[cFormControl], textarea[cFormControl]' + selector: 'input[cFormControl], textarea[cFormControl]', + standalone: true }) export class FormControlDirective implements OnInit { diff --git a/projects/coreui-angular/src/lib/form/form-feedback/form-feedback.component.spec.ts b/projects/coreui-angular/src/lib/form/form-feedback/form-feedback.component.spec.ts index b838f739..4e60bdf9 100644 --- a/projects/coreui-angular/src/lib/form/form-feedback/form-feedback.component.spec.ts +++ b/projects/coreui-angular/src/lib/form/form-feedback/form-feedback.component.spec.ts @@ -8,7 +8,7 @@ describe('FormFeedbackComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ FormFeedbackComponent ] + imports: [ FormFeedbackComponent ] }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/form/form-feedback/form-feedback.component.ts b/projects/coreui-angular/src/lib/form/form-feedback/form-feedback.component.ts index 0df6aa27..2ea6aefc 100644 --- a/projects/coreui-angular/src/lib/form/form-feedback/form-feedback.component.ts +++ b/projects/coreui-angular/src/lib/form/form-feedback/form-feedback.component.ts @@ -3,7 +3,8 @@ import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; @Component({ selector: 'c-form-feedback', - template: '' + template: '', + standalone: true }) export class FormFeedbackComponent { static ngAcceptInputType_tooltip: BooleanInput; diff --git a/projects/coreui-angular/src/lib/form/form-floating/form-floating.directive.ts b/projects/coreui-angular/src/lib/form/form-floating/form-floating.directive.ts index b9fa4db1..6be9c0ac 100644 --- a/projects/coreui-angular/src/lib/form/form-floating/form-floating.directive.ts +++ b/projects/coreui-angular/src/lib/form/form-floating/form-floating.directive.ts @@ -2,7 +2,8 @@ import { Directive, HostBinding, Input } from '@angular/core'; import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; @Directive({ - selector: '[cFormFloating]' + selector: '[cFormFloating]', + standalone: true }) export class FormFloatingDirective { diff --git a/projects/coreui-angular/src/lib/form/form-label/form-label.directive.ts b/projects/coreui-angular/src/lib/form/form-label/form-label.directive.ts index bb56e65a..ee53efe5 100644 --- a/projects/coreui-angular/src/lib/form/form-label/form-label.directive.ts +++ b/projects/coreui-angular/src/lib/form/form-label/form-label.directive.ts @@ -1,7 +1,8 @@ import { Directive, HostBinding, Input } from '@angular/core'; @Directive({ - selector: '[cLabel]' + selector: '[cLabel]', + standalone: true }) export class FormLabelDirective { diff --git a/projects/coreui-angular/src/lib/form/form-select/form-select.directive.ts b/projects/coreui-angular/src/lib/form/form-select/form-select.directive.ts index 0f34101a..8990b76a 100644 --- a/projects/coreui-angular/src/lib/form/form-select/form-select.directive.ts +++ b/projects/coreui-angular/src/lib/form/form-select/form-select.directive.ts @@ -1,7 +1,8 @@ import { Directive, HostBinding, Input, OnChanges } from '@angular/core'; @Directive({ - selector: 'select[cSelect]' + selector: 'select[cSelect]', + standalone: true }) export class FormSelectDirective { /** diff --git a/projects/coreui-angular/src/lib/form/form-text/form-text.directive.ts b/projects/coreui-angular/src/lib/form/form-text/form-text.directive.ts index f794186e..6944ff41 100644 --- a/projects/coreui-angular/src/lib/form/form-text/form-text.directive.ts +++ b/projects/coreui-angular/src/lib/form/form-text/form-text.directive.ts @@ -1,16 +1,14 @@ import { Directive, HostBinding } from '@angular/core'; @Directive({ - selector: '[cFormText]' + selector: '[cFormText]', + standalone: true }) export class FormTextDirective { - @HostBinding('class') get hostClasses(): any { return { - 'form-text': true, + 'form-text': true }; } - - constructor() { } } diff --git a/projects/coreui-angular/src/lib/form/form.module.ts b/projects/coreui-angular/src/lib/form/form.module.ts index 9afb17c6..fd89385b 100644 --- a/projects/coreui-angular/src/lib/form/form.module.ts +++ b/projects/coreui-angular/src/lib/form/form.module.ts @@ -14,9 +14,13 @@ import { FormCheckLabelDirective } from './form-check/form-check-label.directive import { FormCheckInputDirective } from './form-check/form-check-input.directive'; @NgModule({ - declarations: [ + declarations: [], + imports: [ + CommonModule, FormDirective, FormCheckComponent, + FormCheckLabelDirective, + FormCheckInputDirective, FormControlDirective, FormFeedbackComponent, FormFloatingDirective, @@ -24,14 +28,13 @@ import { FormCheckInputDirective } from './form-check/form-check-input.directive FormSelectDirective, FormTextDirective, InputGroupComponent, - InputGroupTextDirective, - FormCheckLabelDirective, - FormCheckInputDirective, + InputGroupTextDirective ], - imports: [CommonModule], exports: [ FormDirective, FormCheckComponent, + FormCheckLabelDirective, + FormCheckInputDirective, FormControlDirective, FormFeedbackComponent, FormFloatingDirective, @@ -39,9 +42,7 @@ import { FormCheckInputDirective } from './form-check/form-check-input.directive FormSelectDirective, FormTextDirective, InputGroupComponent, - InputGroupTextDirective, - FormCheckLabelDirective, - FormCheckInputDirective + InputGroupTextDirective ] }) export class FormModule {} diff --git a/projects/coreui-angular/src/lib/form/form/form.directive.ts b/projects/coreui-angular/src/lib/form/form/form.directive.ts index ff29e4b3..8072e80d 100644 --- a/projects/coreui-angular/src/lib/form/form/form.directive.ts +++ b/projects/coreui-angular/src/lib/form/form/form.directive.ts @@ -2,7 +2,8 @@ import { Directive, HostBinding, Input } from '@angular/core'; import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; @Directive({ - selector: 'form[cForm]' + selector: 'form[cForm]', + standalone: true }) export class FormDirective { diff --git a/projects/coreui-angular/src/lib/form/input-group-text/input-group-text.directive.ts b/projects/coreui-angular/src/lib/form/input-group-text/input-group-text.directive.ts index 78742614..83e5afcf 100644 --- a/projects/coreui-angular/src/lib/form/input-group-text/input-group-text.directive.ts +++ b/projects/coreui-angular/src/lib/form/input-group-text/input-group-text.directive.ts @@ -1,7 +1,8 @@ import { Directive, HostBinding } from '@angular/core'; @Directive({ - selector: '[cInputGroupText]' + selector: '[cInputGroupText]', + standalone: true }) export class InputGroupTextDirective { diff --git a/projects/coreui-angular/src/lib/form/input-group/input-group.component.spec.ts b/projects/coreui-angular/src/lib/form/input-group/input-group.component.spec.ts index 04837698..43943929 100644 --- a/projects/coreui-angular/src/lib/form/input-group/input-group.component.spec.ts +++ b/projects/coreui-angular/src/lib/form/input-group/input-group.component.spec.ts @@ -8,7 +8,7 @@ describe('InputGroupComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ InputGroupComponent ] + imports: [ InputGroupComponent ] }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/form/input-group/input-group.component.ts b/projects/coreui-angular/src/lib/form/input-group/input-group.component.ts index 9c7c4905..968e1024 100644 --- a/projects/coreui-angular/src/lib/form/input-group/input-group.component.ts +++ b/projects/coreui-angular/src/lib/form/input-group/input-group.component.ts @@ -7,6 +7,7 @@ import { @Component({ selector: 'c-input-group', template: ``, + standalone: true }) export class InputGroupComponent { /** diff --git a/projects/coreui-angular/src/lib/grid/col.component.spec.ts b/projects/coreui-angular/src/lib/grid/col.component.spec.ts index b7647f57..21efa029 100644 --- a/projects/coreui-angular/src/lib/grid/col.component.spec.ts +++ b/projects/coreui-angular/src/lib/grid/col.component.spec.ts @@ -8,7 +8,7 @@ describe('ColComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ColComponent ] + imports: [ ColComponent ] }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/grid/col.component.ts b/projects/coreui-angular/src/lib/grid/col.component.ts index a59f9c32..ff96c0dc 100644 --- a/projects/coreui-angular/src/lib/grid/col.component.ts +++ b/projects/coreui-angular/src/lib/grid/col.component.ts @@ -6,5 +6,6 @@ import { ColDirective } from './col.directive'; selector: 'c-col', template: '', styleUrls: ['./col.component.scss'], + standalone: true }) export class ColComponent extends ColDirective {} diff --git a/projects/coreui-angular/src/lib/grid/col.directive.ts b/projects/coreui-angular/src/lib/grid/col.directive.ts index 22f39149..93949d21 100644 --- a/projects/coreui-angular/src/lib/grid/col.directive.ts +++ b/projects/coreui-angular/src/lib/grid/col.directive.ts @@ -5,7 +5,8 @@ import { ColOrder, ICol } from './col.type'; import { BreakpointInfix } from '../coreui.types'; @Directive({ - selector: '[cCol]' + selector: '[cCol]', + standalone: true }) export class ColDirective implements ICol { diff --git a/projects/coreui-angular/src/lib/grid/container.component.spec.ts b/projects/coreui-angular/src/lib/grid/container.component.spec.ts index 7ccc361a..f2137bb3 100644 --- a/projects/coreui-angular/src/lib/grid/container.component.spec.ts +++ b/projects/coreui-angular/src/lib/grid/container.component.spec.ts @@ -8,7 +8,7 @@ describe('ContainerComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ContainerComponent ] + imports: [ ContainerComponent ] }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/grid/container.component.ts b/projects/coreui-angular/src/lib/grid/container.component.ts index 12053ed7..2c5f0694 100644 --- a/projects/coreui-angular/src/lib/grid/container.component.ts +++ b/projects/coreui-angular/src/lib/grid/container.component.ts @@ -8,6 +8,7 @@ import { Breakpoints } from '../coreui.types'; selector: 'c-container, [cContainer]', template: '', styleUrls: ['./container.component.scss'], + standalone: true }) export class ContainerComponent implements IContainer{ diff --git a/projects/coreui-angular/src/lib/grid/grid.module.ts b/projects/coreui-angular/src/lib/grid/grid.module.ts index 7a361910..2675201e 100644 --- a/projects/coreui-angular/src/lib/grid/grid.module.ts +++ b/projects/coreui-angular/src/lib/grid/grid.module.ts @@ -9,23 +9,24 @@ import { ColDirective } from './col.directive'; import { GutterDirective } from './gutter.directive'; @NgModule({ - imports: [CommonModule], - exports: [ - ContainerComponent, - RowComponent, + imports: [ + CommonModule, ColComponent, - GutterDirective, - RowDirective, ColDirective, - ], - declarations: [ ContainerComponent, + GutterDirective, RowComponent, + RowDirective + ], + exports: [ ColComponent, - RowDirective, ColDirective, + ContainerComponent, GutterDirective, + RowComponent, + RowDirective ], - providers: [], + declarations: [], + providers: [] }) export class GridModule {} diff --git a/projects/coreui-angular/src/lib/grid/gutter.directive.ts b/projects/coreui-angular/src/lib/grid/gutter.directive.ts index ec596a7a..00b4e120 100644 --- a/projects/coreui-angular/src/lib/grid/gutter.directive.ts +++ b/projects/coreui-angular/src/lib/grid/gutter.directive.ts @@ -5,7 +5,8 @@ import { GutterBreakpoints, Gutters, IGutter, IGutterObject } from './gutter.typ @Directive({ // eslint-disable-next-line @angular-eslint/directive-selector - selector: '[gutter]' + selector: '[gutter]', + standalone: true }) export class GutterDirective implements IGutter { /** diff --git a/projects/coreui-angular/src/lib/grid/row.component.spec.ts b/projects/coreui-angular/src/lib/grid/row.component.spec.ts index 13e81fb1..ffb7d6db 100644 --- a/projects/coreui-angular/src/lib/grid/row.component.spec.ts +++ b/projects/coreui-angular/src/lib/grid/row.component.spec.ts @@ -8,7 +8,7 @@ describe('RowComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ RowComponent ] + imports: [ RowComponent ] }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/grid/row.component.ts b/projects/coreui-angular/src/lib/grid/row.component.ts index 3dd989d7..ed314e94 100644 --- a/projects/coreui-angular/src/lib/grid/row.component.ts +++ b/projects/coreui-angular/src/lib/grid/row.component.ts @@ -6,5 +6,6 @@ import { RowDirective } from './row.directive'; selector: 'c-row', template: '', styleUrls: ['./row.component.scss'], + standalone: true }) export class RowComponent extends RowDirective {} diff --git a/projects/coreui-angular/src/lib/grid/row.directive.ts b/projects/coreui-angular/src/lib/grid/row.directive.ts index 2e7dda96..93eff879 100644 --- a/projects/coreui-angular/src/lib/grid/row.directive.ts +++ b/projects/coreui-angular/src/lib/grid/row.directive.ts @@ -4,7 +4,8 @@ import { BreakpointInfix } from '../coreui.types'; import { IRow, NumberOfColumns } from './row.type'; @Directive({ - selector: '[cRow]' + selector: '[cRow]', + standalone: true }) export class RowDirective implements IRow { /** diff --git a/projects/coreui-angular/src/lib/header/header-brand/header-brand.component.spec.ts b/projects/coreui-angular/src/lib/header/header-brand/header-brand.component.spec.ts index a4bb9929..599b22c6 100644 --- a/projects/coreui-angular/src/lib/header/header-brand/header-brand.component.spec.ts +++ b/projects/coreui-angular/src/lib/header/header-brand/header-brand.component.spec.ts @@ -11,10 +11,9 @@ describe('HeaderBrandComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - imports: [ RouterTestingModule.withRoutes([]) ], - declarations: [ HeaderBrandComponent ] - }) - .compileComponents(); + imports: [RouterTestingModule.withRoutes([]), HeaderBrandComponent], + declarations: [] + }).compileComponents(); })); beforeEach(() => { diff --git a/projects/coreui-angular/src/lib/header/header-brand/header-brand.component.ts b/projects/coreui-angular/src/lib/header/header-brand/header-brand.component.ts index 2b8f3222..f50978f5 100644 --- a/projects/coreui-angular/src/lib/header/header-brand/header-brand.component.ts +++ b/projects/coreui-angular/src/lib/header/header-brand/header-brand.component.ts @@ -2,7 +2,8 @@ import { Component, HostBinding, Input } from '@angular/core'; @Component({ selector: 'c-header-brand', - template: `` + template: ``, + standalone: true }) export class HeaderBrandComponent { /** diff --git a/projects/coreui-angular/src/lib/header/header-divider/header-divider.component.spec.ts b/projects/coreui-angular/src/lib/header/header-divider/header-divider.component.spec.ts index ef735cb3..4d04a246 100644 --- a/projects/coreui-angular/src/lib/header/header-divider/header-divider.component.spec.ts +++ b/projects/coreui-angular/src/lib/header/header-divider/header-divider.component.spec.ts @@ -8,7 +8,7 @@ describe('HeaderDividerComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ HeaderDividerComponent ] + imports: [ HeaderDividerComponent ] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/header/header-divider/header-divider.component.ts b/projects/coreui-angular/src/lib/header/header-divider/header-divider.component.ts index b754095e..f5c2cd69 100644 --- a/projects/coreui-angular/src/lib/header/header-divider/header-divider.component.ts +++ b/projects/coreui-angular/src/lib/header/header-divider/header-divider.component.ts @@ -2,7 +2,8 @@ import { Component, HostBinding } from '@angular/core'; @Component({ selector: 'c-header-divider, [cHeaderDivider]', - template: `` + template: ``, + standalone: true }) export class HeaderDividerComponent { diff --git a/projects/coreui-angular/src/lib/header/header-nav/header-nav.component.spec.ts b/projects/coreui-angular/src/lib/header/header-nav/header-nav.component.spec.ts index f2c62e63..bd4f89dc 100644 --- a/projects/coreui-angular/src/lib/header/header-nav/header-nav.component.spec.ts +++ b/projects/coreui-angular/src/lib/header/header-nav/header-nav.component.spec.ts @@ -8,7 +8,7 @@ describe('HeaderNavComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ HeaderNavComponent ] + imports: [ HeaderNavComponent ] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/header/header-nav/header-nav.component.ts b/projects/coreui-angular/src/lib/header/header-nav/header-nav.component.ts index e5e2c76b..bbd60bd6 100644 --- a/projects/coreui-angular/src/lib/header/header-nav/header-nav.component.ts +++ b/projects/coreui-angular/src/lib/header/header-nav/header-nav.component.ts @@ -3,7 +3,8 @@ import { Component, HostBinding, Input } from '@angular/core'; @Component({ selector: 'c-header-nav', template: ``, - styleUrls: ['./header-nav.component.scss'] + styleUrls: ['./header-nav.component.scss'], + standalone: true }) export class HeaderNavComponent { /** diff --git a/projects/coreui-angular/src/lib/header/header-text/header-text.component.spec.ts b/projects/coreui-angular/src/lib/header/header-text/header-text.component.spec.ts index 7bb1d55b..120c6d64 100644 --- a/projects/coreui-angular/src/lib/header/header-text/header-text.component.spec.ts +++ b/projects/coreui-angular/src/lib/header/header-text/header-text.component.spec.ts @@ -8,7 +8,7 @@ describe('HeaderTextComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ HeaderTextComponent ] + imports: [ HeaderTextComponent ] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/header/header-text/header-text.component.ts b/projects/coreui-angular/src/lib/header/header-text/header-text.component.ts index 52aeeeaa..df064205 100644 --- a/projects/coreui-angular/src/lib/header/header-text/header-text.component.ts +++ b/projects/coreui-angular/src/lib/header/header-text/header-text.component.ts @@ -3,6 +3,7 @@ import { Component, HostBinding } from '@angular/core'; @Component({ selector: 'c-header-text, [cHeaderText]', template: ``, + standalone: true }) export class HeaderTextComponent { @HostBinding('class.header-text') headerTextClass = true; diff --git a/projects/coreui-angular/src/lib/header/header-toggler/header-toggler.directive.ts b/projects/coreui-angular/src/lib/header/header-toggler/header-toggler.directive.ts index 4dcb065a..13384649 100644 --- a/projects/coreui-angular/src/lib/header/header-toggler/header-toggler.directive.ts +++ b/projects/coreui-angular/src/lib/header/header-toggler/header-toggler.directive.ts @@ -1,7 +1,8 @@ import { AfterContentInit, Directive, ElementRef, HostBinding, Input, Renderer2 } from '@angular/core'; @Directive({ - selector: '[cHeaderToggler]' + selector: '[cHeaderToggler]', + standalone: true }) export class HeaderTogglerDirective implements AfterContentInit { diff --git a/projects/coreui-angular/src/lib/header/header.module.ts b/projects/coreui-angular/src/lib/header/header.module.ts index 008d30c7..9707c531 100644 --- a/projects/coreui-angular/src/lib/header/header.module.ts +++ b/projects/coreui-angular/src/lib/header/header.module.ts @@ -9,7 +9,9 @@ import { HeaderTextComponent } from './header-text/header-text.component'; import { HeaderTogglerDirective } from './header-toggler/header-toggler.directive'; @NgModule({ - declarations: [ + declarations: [], + imports: [ + CommonModule, HeaderComponent, HeaderBrandComponent, HeaderDividerComponent, @@ -17,9 +19,6 @@ import { HeaderTogglerDirective } from './header-toggler/header-toggler.directiv HeaderTextComponent, HeaderTogglerDirective ], - imports: [ - CommonModule - ], exports: [ HeaderComponent, HeaderBrandComponent, @@ -29,4 +28,4 @@ import { HeaderTogglerDirective } from './header-toggler/header-toggler.directiv HeaderTogglerDirective ] }) -export class HeaderModule { } +export class HeaderModule {} diff --git a/projects/coreui-angular/src/lib/header/header/header.component.spec.ts b/projects/coreui-angular/src/lib/header/header/header.component.spec.ts index 88f979b2..e9be51b6 100644 --- a/projects/coreui-angular/src/lib/header/header/header.component.spec.ts +++ b/projects/coreui-angular/src/lib/header/header/header.component.spec.ts @@ -1,5 +1,5 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import {CommonModule} from '@angular/common'; +import { CommonModule } from '@angular/common'; import { RouterTestingModule } from '@angular/router/testing'; import { Router } from '@angular/router'; @@ -12,10 +12,12 @@ describe('HeaderComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ HeaderComponent ], - imports: [ CommonModule, RouterTestingModule.withRoutes([]) ], - }) - .compileComponents(); + imports: [ + CommonModule, + RouterTestingModule.withRoutes([]), + HeaderComponent, + ], + }).compileComponents(); })); beforeEach(() => { diff --git a/projects/coreui-angular/src/lib/header/header/header.component.ts b/projects/coreui-angular/src/lib/header/header/header.component.ts index 4b6f9932..d4f964bd 100644 --- a/projects/coreui-angular/src/lib/header/header/header.component.ts +++ b/projects/coreui-angular/src/lib/header/header/header.component.ts @@ -1,11 +1,14 @@ import {Component, Input, HostBinding} from '@angular/core'; +import { CommonModule } from '@angular/common'; import { Positions } from '../../coreui.types'; type Container = boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'fluid'; @Component({ selector: 'c-header, [c-header]', - templateUrl: './header.component.html' + templateUrl: './header.component.html', + standalone: true, + imports: [CommonModule] }) export class HeaderComponent { /** diff --git a/projects/coreui-angular/src/lib/image/img.directive.ts b/projects/coreui-angular/src/lib/image/img.directive.ts index 720f047d..082e66af 100644 --- a/projects/coreui-angular/src/lib/image/img.directive.ts +++ b/projects/coreui-angular/src/lib/image/img.directive.ts @@ -2,7 +2,8 @@ import { Directive, HostBinding, Input } from '@angular/core'; import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; @Directive({ - selector: '[cImg]' + selector: '[cImg]', + standalone: true }) export class ImgDirective { static ngAcceptInputType_fluid: BooleanInput; diff --git a/projects/coreui-angular/src/lib/image/img.module.ts b/projects/coreui-angular/src/lib/image/img.module.ts index 38105e4e..5b7a0347 100644 --- a/projects/coreui-angular/src/lib/image/img.module.ts +++ b/projects/coreui-angular/src/lib/image/img.module.ts @@ -3,14 +3,8 @@ import { CommonModule } from '@angular/common'; import { ImgDirective } from './img.directive'; @NgModule({ - imports: [ - CommonModule - ], - exports: [ - ImgDirective - ], - declarations: [ - ImgDirective - ], + imports: [CommonModule, ImgDirective], + exports: [ImgDirective], + declarations: [] }) -export class ImgModule { } +export class ImgModule {} diff --git a/projects/coreui-angular/src/lib/list-group/list-group-item.directive.spec.ts b/projects/coreui-angular/src/lib/list-group/list-group-item.directive.spec.ts index 48b305c9..00ca28d5 100644 --- a/projects/coreui-angular/src/lib/list-group/list-group-item.directive.spec.ts +++ b/projects/coreui-angular/src/lib/list-group/list-group-item.directive.spec.ts @@ -18,7 +18,8 @@ describe('ListGroupItemDirective', () => { beforeEach(() => { TestBed.configureTestingModule({ - declarations: [ListGroupItemDirective, TestComponent], + declarations: [TestComponent], + imports: [ListGroupItemDirective], providers: [{ provide: ElementRef, useClass: MockElementRef }] }) fixture = TestBed.createComponent(TestComponent); diff --git a/projects/coreui-angular/src/lib/list-group/list-group-item.directive.ts b/projects/coreui-angular/src/lib/list-group/list-group-item.directive.ts index 54fc035a..88087299 100644 --- a/projects/coreui-angular/src/lib/list-group/list-group-item.directive.ts +++ b/projects/coreui-angular/src/lib/list-group/list-group-item.directive.ts @@ -4,7 +4,8 @@ import { Colors } from '../coreui.types'; @Directive({ selector: '[cListGroupItem], c-list-group-item', - exportAs: 'cListGroupItem' + exportAs: 'cListGroupItem', + standalone: true }) export class ListGroupItemDirective { diff --git a/projects/coreui-angular/src/lib/list-group/list-group.directive.ts b/projects/coreui-angular/src/lib/list-group/list-group.directive.ts index f98492b5..2579a6fe 100644 --- a/projects/coreui-angular/src/lib/list-group/list-group.directive.ts +++ b/projects/coreui-angular/src/lib/list-group/list-group.directive.ts @@ -3,7 +3,8 @@ import { Sizes } from '../coreui.types'; import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; @Directive({ - selector: '[cListGroup]' + selector: '[cListGroup]', + standalone: true }) export class ListGroupDirective { static ngAcceptInputType_flush: BooleanInput; diff --git a/projects/coreui-angular/src/lib/list-group/list-group.module.ts b/projects/coreui-angular/src/lib/list-group/list-group.module.ts index 16ad9f17..78a20e84 100644 --- a/projects/coreui-angular/src/lib/list-group/list-group.module.ts +++ b/projects/coreui-angular/src/lib/list-group/list-group.module.ts @@ -5,13 +5,8 @@ import { ListGroupDirective } from './list-group.directive'; import { ListGroupItemDirective } from './list-group-item.directive'; @NgModule({ - declarations: [ListGroupDirective, ListGroupItemDirective], - exports: [ - ListGroupDirective, - ListGroupItemDirective - ], - imports: [ - CommonModule - ] + declarations: [], + exports: [ListGroupDirective, ListGroupItemDirective], + imports: [CommonModule, ListGroupDirective, ListGroupItemDirective] }) -export class ListGroupModule { } +export class ListGroupModule {} diff --git a/projects/coreui-angular/src/lib/modal/modal-body/modal-body.component.spec.ts b/projects/coreui-angular/src/lib/modal/modal-body/modal-body.component.spec.ts index 9e1a6483..b139a9a8 100644 --- a/projects/coreui-angular/src/lib/modal/modal-body/modal-body.component.spec.ts +++ b/projects/coreui-angular/src/lib/modal/modal-body/modal-body.component.spec.ts @@ -8,7 +8,7 @@ describe('ModalBodyComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ ModalBodyComponent ] + imports: [ ModalBodyComponent ] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/modal/modal-body/modal-body.component.ts b/projects/coreui-angular/src/lib/modal/modal-body/modal-body.component.ts index e699c0e9..3ebea103 100644 --- a/projects/coreui-angular/src/lib/modal/modal-body/modal-body.component.ts +++ b/projects/coreui-angular/src/lib/modal/modal-body/modal-body.component.ts @@ -3,7 +3,8 @@ import { Component, HostBinding } from '@angular/core'; @Component({ selector: 'c-modal-body', template: '', - styleUrls: ['./modal-body.component.scss'] + styleUrls: ['./modal-body.component.scss'], + standalone: true }) export class ModalBodyComponent { diff --git a/projects/coreui-angular/src/lib/modal/modal-content/modal-content.component.spec.ts b/projects/coreui-angular/src/lib/modal/modal-content/modal-content.component.spec.ts index 0f503f9d..eb072e5a 100644 --- a/projects/coreui-angular/src/lib/modal/modal-content/modal-content.component.spec.ts +++ b/projects/coreui-angular/src/lib/modal/modal-content/modal-content.component.spec.ts @@ -8,7 +8,7 @@ describe('ModalContentComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ ModalContentComponent ] + imports: [ ModalContentComponent ] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/modal/modal-content/modal-content.component.ts b/projects/coreui-angular/src/lib/modal/modal-content/modal-content.component.ts index 6655e5ac..1a6ac176 100644 --- a/projects/coreui-angular/src/lib/modal/modal-content/modal-content.component.ts +++ b/projects/coreui-angular/src/lib/modal/modal-content/modal-content.component.ts @@ -2,12 +2,10 @@ import { Component, HostBinding } from '@angular/core'; @Component({ selector: 'c-modal-content', - template: '' + template: '', + standalone: true }) export class ModalContentComponent { - - constructor() { } - @HostBinding('class') get hostClasses(): any { return { diff --git a/projects/coreui-angular/src/lib/modal/modal-dialog/modal-dialog.component.spec.ts b/projects/coreui-angular/src/lib/modal/modal-dialog/modal-dialog.component.spec.ts index 1ba9ff23..ceeb7041 100644 --- a/projects/coreui-angular/src/lib/modal/modal-dialog/modal-dialog.component.spec.ts +++ b/projects/coreui-angular/src/lib/modal/modal-dialog/modal-dialog.component.spec.ts @@ -8,7 +8,7 @@ describe('ModalDialogComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ ModalDialogComponent ] + imports: [ ModalDialogComponent ] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/modal/modal-dialog/modal-dialog.component.ts b/projects/coreui-angular/src/lib/modal/modal-dialog/modal-dialog.component.ts index efdc9904..750e036e 100644 --- a/projects/coreui-angular/src/lib/modal/modal-dialog/modal-dialog.component.ts +++ b/projects/coreui-angular/src/lib/modal/modal-dialog/modal-dialog.component.ts @@ -4,6 +4,7 @@ import { Component, HostBinding, Input } from '@angular/core'; selector: 'c-modal-dialog', template: '', styleUrls: ['./modal-dialog.component.scss'], + standalone: true }) export class ModalDialogComponent { /** diff --git a/projects/coreui-angular/src/lib/modal/modal-dismiss/modal-toggle.directive.ts b/projects/coreui-angular/src/lib/modal/modal-dismiss/modal-toggle.directive.ts index 7754dd04..69004abd 100644 --- a/projects/coreui-angular/src/lib/modal/modal-dismiss/modal-toggle.directive.ts +++ b/projects/coreui-angular/src/lib/modal/modal-dismiss/modal-toggle.directive.ts @@ -3,7 +3,8 @@ import { Directive, HostListener, Input } from '@angular/core'; import { ModalService } from '../modal.service'; @Directive({ - selector: '[cModalToggle]' + selector: '[cModalToggle]', + standalone: true }) export class ModalToggleDirective { /** diff --git a/projects/coreui-angular/src/lib/modal/modal-footer/modal-footer.component.spec.ts b/projects/coreui-angular/src/lib/modal/modal-footer/modal-footer.component.spec.ts index 79bc2359..77f3b33f 100644 --- a/projects/coreui-angular/src/lib/modal/modal-footer/modal-footer.component.spec.ts +++ b/projects/coreui-angular/src/lib/modal/modal-footer/modal-footer.component.spec.ts @@ -8,7 +8,7 @@ describe('ModalFooterComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ ModalFooterComponent ] + imports: [ ModalFooterComponent ] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/modal/modal-footer/modal-footer.component.ts b/projects/coreui-angular/src/lib/modal/modal-footer/modal-footer.component.ts index 24313030..82cb7600 100644 --- a/projects/coreui-angular/src/lib/modal/modal-footer/modal-footer.component.ts +++ b/projects/coreui-angular/src/lib/modal/modal-footer/modal-footer.component.ts @@ -3,6 +3,7 @@ import { Component, HostBinding } from '@angular/core'; @Component({ selector: 'c-modal-footer', template: '', + standalone: true }) export class ModalFooterComponent { diff --git a/projects/coreui-angular/src/lib/modal/modal-header/modal-header.component.spec.ts b/projects/coreui-angular/src/lib/modal/modal-header/modal-header.component.spec.ts index 445e5b1e..96d90467 100644 --- a/projects/coreui-angular/src/lib/modal/modal-header/modal-header.component.spec.ts +++ b/projects/coreui-angular/src/lib/modal/modal-header/modal-header.component.spec.ts @@ -8,7 +8,7 @@ describe('ModalHeaderComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ ModalHeaderComponent ] + imports: [ ModalHeaderComponent ] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/modal/modal-header/modal-header.component.ts b/projects/coreui-angular/src/lib/modal/modal-header/modal-header.component.ts index 668b9551..c3e1eca0 100644 --- a/projects/coreui-angular/src/lib/modal/modal-header/modal-header.component.ts +++ b/projects/coreui-angular/src/lib/modal/modal-header/modal-header.component.ts @@ -2,8 +2,8 @@ import { Component, HostBinding } from '@angular/core'; @Component({ selector: 'c-modal-header', - template: ` - `, + template: ``, + standalone: true }) export class ModalHeaderComponent { diff --git a/projects/coreui-angular/src/lib/modal/modal-title/modal-title.directive.ts b/projects/coreui-angular/src/lib/modal/modal-title/modal-title.directive.ts index 7d903ba4..630f3c92 100644 --- a/projects/coreui-angular/src/lib/modal/modal-title/modal-title.directive.ts +++ b/projects/coreui-angular/src/lib/modal/modal-title/modal-title.directive.ts @@ -1,7 +1,8 @@ import { Directive, HostBinding } from '@angular/core'; @Directive({ - selector: '[cModalTitle]' + selector: '[cModalTitle]', + standalone: true }) export class ModalTitleDirective { diff --git a/projects/coreui-angular/src/lib/modal/modal.module.ts b/projects/coreui-angular/src/lib/modal/modal.module.ts index bf81c447..87dc373a 100644 --- a/projects/coreui-angular/src/lib/modal/modal.module.ts +++ b/projects/coreui-angular/src/lib/modal/modal.module.ts @@ -13,32 +13,29 @@ import { ModalComponent } from './modal/modal.component'; import { ModalService } from './modal.service'; @NgModule({ - declarations: [ + declarations: [], + exports: [ ModalBodyComponent, + ModalComponent, ModalContentComponent, ModalDialogComponent, - ModalToggleDirective, ModalFooterComponent, ModalHeaderComponent, ModalTitleDirective, - ModalComponent, + ModalToggleDirective ], - exports: [ + imports: [ + CommonModule, + A11yModule, ModalBodyComponent, + ModalComponent, ModalContentComponent, ModalDialogComponent, - ModalToggleDirective, ModalFooterComponent, ModalHeaderComponent, ModalTitleDirective, - ModalComponent, - ], - imports: [ - CommonModule, - A11yModule + ModalToggleDirective ], - providers: [ - ModalService - ] + providers: [ModalService] }) -export class ModalModule { } +export class ModalModule {} diff --git a/projects/coreui-angular/src/lib/modal/modal/modal.component.spec.ts b/projects/coreui-angular/src/lib/modal/modal/modal.component.spec.ts index 58092e14..bb5d7447 100644 --- a/projects/coreui-angular/src/lib/modal/modal/modal.component.spec.ts +++ b/projects/coreui-angular/src/lib/modal/modal/modal.component.spec.ts @@ -10,10 +10,9 @@ describe('ModalComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - imports: [ NoopAnimationsModule, ModalModule ], - declarations: [ ModalComponent ], - }) - .compileComponents(); + imports: [NoopAnimationsModule, ModalModule, ModalComponent], + declarations: [] + }).compileComponents(); }); beforeEach(() => { diff --git a/projects/coreui-angular/src/lib/modal/modal/modal.component.ts b/projects/coreui-angular/src/lib/modal/modal/modal.component.ts index 3f08adbb..7327b5dd 100644 --- a/projects/coreui-angular/src/lib/modal/modal/modal.component.ts +++ b/projects/coreui-angular/src/lib/modal/modal/modal.component.ts @@ -15,11 +15,13 @@ import { import { DOCUMENT } from '@angular/common'; import { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations'; import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; +import { A11yModule } from '@angular/cdk/a11y'; import { Subscription } from 'rxjs'; import { ModalService } from '../modal.service'; import { BackdropService } from '../../backdrop/backdrop.service'; import { ModalContentComponent } from '../modal-content/modal-content.component'; +import { ModalDialogComponent } from '../modal-dialog/modal-dialog.component'; @Component({ selector: 'c-modal', @@ -42,7 +44,9 @@ import { ModalContentComponent } from '../modal-content/modal-content.component' ], templateUrl: './modal.component.html', styleUrls: ['./modal.component.scss'], - exportAs: 'cModal' + exportAs: 'cModal', + standalone: true, + imports: [A11yModule, ModalDialogComponent, ModalContentComponent] }) export class ModalComponent implements OnInit, OnDestroy { diff --git a/projects/coreui-angular/src/lib/nav/nav-item.component.html b/projects/coreui-angular/src/lib/nav/nav-item.component.html deleted file mode 100644 index 6dbc7430..00000000 --- a/projects/coreui-angular/src/lib/nav/nav-item.component.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/projects/coreui-angular/src/lib/nav/nav-item.component.spec.ts b/projects/coreui-angular/src/lib/nav/nav-item.component.spec.ts index 8dc2e012..12826338 100644 --- a/projects/coreui-angular/src/lib/nav/nav-item.component.spec.ts +++ b/projects/coreui-angular/src/lib/nav/nav-item.component.spec.ts @@ -8,7 +8,7 @@ describe('NavItemComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ NavItemComponent ] + imports: [ NavItemComponent ] }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/nav/nav-item.component.ts b/projects/coreui-angular/src/lib/nav/nav-item.component.ts index 2ae549b4..20c2f5c3 100644 --- a/projects/coreui-angular/src/lib/nav/nav-item.component.ts +++ b/projects/coreui-angular/src/lib/nav/nav-item.component.ts @@ -2,8 +2,9 @@ import { Component, HostBinding } from '@angular/core'; @Component({ selector: 'c-nav-item', - templateUrl: './nav-item.component.html', - styleUrls: ['./nav-item.component.scss'] + template: ``, + styleUrls: ['./nav-item.component.scss'], + standalone: true }) export class NavItemComponent { diff --git a/projects/coreui-angular/src/lib/nav/nav-link.directive.ts b/projects/coreui-angular/src/lib/nav/nav-link.directive.ts index 9984f5b8..af1ca437 100644 --- a/projects/coreui-angular/src/lib/nav/nav-link.directive.ts +++ b/projects/coreui-angular/src/lib/nav/nav-link.directive.ts @@ -2,7 +2,8 @@ import { Directive, HostBinding, Input } from '@angular/core'; import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; @Directive({ - selector: '[cNavLink]' + selector: '[cNavLink]', + standalone: true }) export class NavLinkDirective { diff --git a/projects/coreui-angular/src/lib/nav/nav.component.spec.ts b/projects/coreui-angular/src/lib/nav/nav.component.spec.ts index f2be3f09..b9534020 100644 --- a/projects/coreui-angular/src/lib/nav/nav.component.spec.ts +++ b/projects/coreui-angular/src/lib/nav/nav.component.spec.ts @@ -8,7 +8,7 @@ describe('NavComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ NavComponent ] + imports: [ NavComponent ] }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/nav/nav.component.ts b/projects/coreui-angular/src/lib/nav/nav.component.ts index b48003dc..8b161d79 100644 --- a/projects/coreui-angular/src/lib/nav/nav.component.ts +++ b/projects/coreui-angular/src/lib/nav/nav.component.ts @@ -2,9 +2,9 @@ import { Component, HostBinding, Input } from '@angular/core'; @Component({ selector: 'c-nav', - template: ` - `, - styleUrls: ['./nav.component.scss'] + template: ``, + styleUrls: ['./nav.component.scss'], + standalone: true }) export class NavComponent { /** diff --git a/projects/coreui-angular/src/lib/nav/nav.module.ts b/projects/coreui-angular/src/lib/nav/nav.module.ts index 152608cb..8af520a7 100644 --- a/projects/coreui-angular/src/lib/nav/nav.module.ts +++ b/projects/coreui-angular/src/lib/nav/nav.module.ts @@ -5,10 +5,17 @@ import { NavItemComponent } from './nav-item.component'; import { NavLinkDirective } from './nav-link.directive'; @NgModule({ - declarations: [NavComponent, NavItemComponent, NavLinkDirective], + declarations: [], imports: [ - CommonModule + CommonModule, + NavComponent, + NavItemComponent, + NavLinkDirective ], - exports: [NavComponent, NavItemComponent, NavLinkDirective] + exports: [ + NavComponent, + NavItemComponent, + NavLinkDirective + ] }) -export class NavModule { } +export class NavModule {} diff --git a/projects/coreui-angular/src/lib/navbar/navbar-brand/navbar-brand.directive.ts b/projects/coreui-angular/src/lib/navbar/navbar-brand/navbar-brand.directive.ts index b91d089e..f35426c3 100644 --- a/projects/coreui-angular/src/lib/navbar/navbar-brand/navbar-brand.directive.ts +++ b/projects/coreui-angular/src/lib/navbar/navbar-brand/navbar-brand.directive.ts @@ -1,7 +1,8 @@ import { Directive, HostBinding } from '@angular/core'; @Directive({ - selector: '[cNavbarBrand]' + selector: '[cNavbarBrand]', + standalone: true }) export class NavbarBrandDirective { diff --git a/projects/coreui-angular/src/lib/navbar/navbar-nav/navbar-nav.component.spec.ts b/projects/coreui-angular/src/lib/navbar/navbar-nav/navbar-nav.component.spec.ts index 5adc7827..a2f37955 100644 --- a/projects/coreui-angular/src/lib/navbar/navbar-nav/navbar-nav.component.spec.ts +++ b/projects/coreui-angular/src/lib/navbar/navbar-nav/navbar-nav.component.spec.ts @@ -8,7 +8,7 @@ describe('NavbarNavComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ NavbarNavComponent ] + imports: [ NavbarNavComponent ] }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/navbar/navbar-nav/navbar-nav.component.ts b/projects/coreui-angular/src/lib/navbar/navbar-nav/navbar-nav.component.ts index 5a067908..827b8cae 100644 --- a/projects/coreui-angular/src/lib/navbar/navbar-nav/navbar-nav.component.ts +++ b/projects/coreui-angular/src/lib/navbar/navbar-nav/navbar-nav.component.ts @@ -4,6 +4,7 @@ import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; @Component({ selector: 'c-navbar-nav', template: '', + standalone: true }) export class NavbarNavComponent { diff --git a/projects/coreui-angular/src/lib/navbar/navbar-text/navbar-text.component.html b/projects/coreui-angular/src/lib/navbar/navbar-text/navbar-text.component.html deleted file mode 100644 index 6dbc7430..00000000 --- a/projects/coreui-angular/src/lib/navbar/navbar-text/navbar-text.component.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/projects/coreui-angular/src/lib/navbar/navbar-text/navbar-text.component.spec.ts b/projects/coreui-angular/src/lib/navbar/navbar-text/navbar-text.component.spec.ts index bc06684b..eb5eff2f 100644 --- a/projects/coreui-angular/src/lib/navbar/navbar-text/navbar-text.component.spec.ts +++ b/projects/coreui-angular/src/lib/navbar/navbar-text/navbar-text.component.spec.ts @@ -8,7 +8,7 @@ describe('NavbarTextComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ NavbarTextComponent ] + imports: [ NavbarTextComponent ] }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/navbar/navbar-text/navbar-text.component.ts b/projects/coreui-angular/src/lib/navbar/navbar-text/navbar-text.component.ts index abfc13ec..939818dc 100644 --- a/projects/coreui-angular/src/lib/navbar/navbar-text/navbar-text.component.ts +++ b/projects/coreui-angular/src/lib/navbar/navbar-text/navbar-text.component.ts @@ -3,6 +3,7 @@ import { Component, HostBinding } from '@angular/core'; @Component({ selector: 'c-navbar-text', template: '', + standalone: true }) export class NavbarTextComponent { diff --git a/projects/coreui-angular/src/lib/navbar/navbar-toggler/navbar-toggler.directive.ts b/projects/coreui-angular/src/lib/navbar/navbar-toggler/navbar-toggler.directive.ts index 6799ac5f..346ae578 100644 --- a/projects/coreui-angular/src/lib/navbar/navbar-toggler/navbar-toggler.directive.ts +++ b/projects/coreui-angular/src/lib/navbar/navbar-toggler/navbar-toggler.directive.ts @@ -2,7 +2,8 @@ import { AfterContentInit, Directive, ElementRef, HostBinding, HostListener, Inp import { CollapseDirective } from '../../collapse'; @Directive({ - selector: '[cNavbarToggler]' + selector: '[cNavbarToggler]', + standalone: true }) export class NavbarTogglerDirective implements AfterContentInit { /** diff --git a/projects/coreui-angular/src/lib/navbar/navbar.component.spec.ts b/projects/coreui-angular/src/lib/navbar/navbar.component.spec.ts index cb0cff46..43912a42 100644 --- a/projects/coreui-angular/src/lib/navbar/navbar.component.spec.ts +++ b/projects/coreui-angular/src/lib/navbar/navbar.component.spec.ts @@ -8,7 +8,7 @@ describe('NavbarComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ NavbarComponent ] + imports: [ NavbarComponent ] }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/navbar/navbar.component.ts b/projects/coreui-angular/src/lib/navbar/navbar.component.ts index 080be553..d94c8110 100644 --- a/projects/coreui-angular/src/lib/navbar/navbar.component.ts +++ b/projects/coreui-angular/src/lib/navbar/navbar.component.ts @@ -1,17 +1,20 @@ import { AfterContentInit, Component, ContentChild, ElementRef, HostBinding, Input } from '@angular/core'; - +import { CommonModule } from '@angular/common'; import { BreakpointObserver } from '@angular/cdk/layout'; import { CollapseDirective } from '../collapse'; import { Colors } from '../coreui.types'; + // todo: fix container prop issue not rendering children // todo: workaroud - use component directly in template @Component({ selector: 'c-navbar', templateUrl: './navbar.component.html', - styleUrls: ['./navbar.component.scss'] + styleUrls: ['./navbar.component.scss'], + standalone: true, + imports: [CommonModule] }) export class NavbarComponent implements AfterContentInit { /** diff --git a/projects/coreui-angular/src/lib/navbar/navbar.module.ts b/projects/coreui-angular/src/lib/navbar/navbar.module.ts index 90d74ad9..6a211073 100644 --- a/projects/coreui-angular/src/lib/navbar/navbar.module.ts +++ b/projects/coreui-angular/src/lib/navbar/navbar.module.ts @@ -9,23 +9,22 @@ import { NavbarTextComponent } from './navbar-text/navbar-text.component'; import { NavbarTogglerDirective } from './navbar-toggler/navbar-toggler.directive'; @NgModule({ - declarations: [ - NavbarComponent, - NavbarNavComponent, - NavbarTextComponent, - NavbarBrandDirective, - NavbarTogglerDirective - ], + declarations: [], exports: [ + NavbarBrandDirective, NavbarComponent, NavbarNavComponent, NavbarTextComponent, - NavbarBrandDirective, NavbarTogglerDirective ], imports: [ CommonModule, + NavbarBrandDirective, + NavbarComponent, + NavbarNavComponent, + NavbarTextComponent, + NavbarTogglerDirective, RouterModule ] }) -export class NavbarModule { } +export class NavbarModule {} diff --git a/projects/coreui-angular/src/lib/offcanvas/offcanvas-body/offcanvas-body.component.spec.ts b/projects/coreui-angular/src/lib/offcanvas/offcanvas-body/offcanvas-body.component.spec.ts index b7bd6cbd..74d0c8fc 100644 --- a/projects/coreui-angular/src/lib/offcanvas/offcanvas-body/offcanvas-body.component.spec.ts +++ b/projects/coreui-angular/src/lib/offcanvas/offcanvas-body/offcanvas-body.component.spec.ts @@ -8,7 +8,7 @@ describe('OffcanvasBodyComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ OffcanvasBodyComponent ] + imports: [ OffcanvasBodyComponent ] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/offcanvas/offcanvas-body/offcanvas-body.component.ts b/projects/coreui-angular/src/lib/offcanvas/offcanvas-body/offcanvas-body.component.ts index fd30d6d1..8b519d9e 100644 --- a/projects/coreui-angular/src/lib/offcanvas/offcanvas-body/offcanvas-body.component.ts +++ b/projects/coreui-angular/src/lib/offcanvas/offcanvas-body/offcanvas-body.component.ts @@ -3,7 +3,8 @@ import { Component, HostBinding } from '@angular/core'; @Component({ selector: 'c-offcanvas-body', template: ``, - styleUrls: ['./offcanvas-body.component.scss'] + styleUrls: ['./offcanvas-body.component.scss'], + standalone: true }) export class OffcanvasBodyComponent { diff --git a/projects/coreui-angular/src/lib/offcanvas/offcanvas-header/offcanvas-header.component.scss b/projects/coreui-angular/src/lib/offcanvas/offcanvas-header/offcanvas-header.component.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/projects/coreui-angular/src/lib/offcanvas/offcanvas-header/offcanvas-header.component.spec.ts b/projects/coreui-angular/src/lib/offcanvas/offcanvas-header/offcanvas-header.component.spec.ts index 0add318c..b7d6c6f4 100644 --- a/projects/coreui-angular/src/lib/offcanvas/offcanvas-header/offcanvas-header.component.spec.ts +++ b/projects/coreui-angular/src/lib/offcanvas/offcanvas-header/offcanvas-header.component.spec.ts @@ -8,7 +8,7 @@ describe('OffcanvasHeaderComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ OffcanvasHeaderComponent ] + imports: [ OffcanvasHeaderComponent ] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/offcanvas/offcanvas-header/offcanvas-header.component.ts b/projects/coreui-angular/src/lib/offcanvas/offcanvas-header/offcanvas-header.component.ts index 46ec9df4..d7ef7e18 100644 --- a/projects/coreui-angular/src/lib/offcanvas/offcanvas-header/offcanvas-header.component.ts +++ b/projects/coreui-angular/src/lib/offcanvas/offcanvas-header/offcanvas-header.component.ts @@ -3,7 +3,7 @@ import { Component, HostBinding } from '@angular/core'; @Component({ selector: 'c-offcanvas-header', template: ``, - styleUrls: ['./offcanvas-header.component.scss'] + standalone: true }) export class OffcanvasHeaderComponent { diff --git a/projects/coreui-angular/src/lib/offcanvas/offcanvas-title/offcanvas-title.directive.ts b/projects/coreui-angular/src/lib/offcanvas/offcanvas-title/offcanvas-title.directive.ts index 30fb6192..e2b7ebd3 100644 --- a/projects/coreui-angular/src/lib/offcanvas/offcanvas-title/offcanvas-title.directive.ts +++ b/projects/coreui-angular/src/lib/offcanvas/offcanvas-title/offcanvas-title.directive.ts @@ -1,7 +1,8 @@ import { Directive, HostBinding } from '@angular/core'; @Directive({ - selector: '[cOffcanvasTitle]' + selector: '[cOffcanvasTitle]', + standalone: true }) export class OffcanvasTitleDirective { diff --git a/projects/coreui-angular/src/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.spec.ts b/projects/coreui-angular/src/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.spec.ts index 406d3206..92f16fa7 100644 --- a/projects/coreui-angular/src/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.spec.ts +++ b/projects/coreui-angular/src/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.spec.ts @@ -7,7 +7,8 @@ import { OffcanvasToggleDirective } from './offcanvas-toggle.directive'; import { OffcanvasService } from '../offcanvas.service'; @Component({ - template: `` + template: ` + ` }) class TestButtonComponent {} @@ -20,8 +21,8 @@ describe('OffcanvasToggleDirective', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [NoopAnimationsModule], - declarations: [OffcanvasToggleDirective, TestButtonComponent], + imports: [NoopAnimationsModule, OffcanvasToggleDirective], + declarations: [TestButtonComponent], providers: [OffcanvasService] }); fixture = TestBed.createComponent(TestButtonComponent); diff --git a/projects/coreui-angular/src/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.ts b/projects/coreui-angular/src/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.ts index 4511a506..87edf3ea 100644 --- a/projects/coreui-angular/src/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.ts +++ b/projects/coreui-angular/src/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.ts @@ -3,7 +3,8 @@ import { Directive, HostListener, Input } from '@angular/core'; import { OffcanvasService } from '../offcanvas.service'; @Directive({ - selector: '[cOffcanvasToggle]' + selector: '[cOffcanvasToggle]', + standalone: true }) export class OffcanvasToggleDirective { diff --git a/projects/coreui-angular/src/lib/offcanvas/offcanvas.module.ts b/projects/coreui-angular/src/lib/offcanvas/offcanvas.module.ts index 258edfba..447201a4 100644 --- a/projects/coreui-angular/src/lib/offcanvas/offcanvas.module.ts +++ b/projects/coreui-angular/src/lib/offcanvas/offcanvas.module.ts @@ -11,27 +11,26 @@ import { OffcanvasService } from './offcanvas.service'; import { BackdropService } from '../backdrop/backdrop.service'; @NgModule({ - declarations: [ - OffcanvasComponent, + declarations: [], + exports: [ OffcanvasBodyComponent, + OffcanvasComponent, OffcanvasHeaderComponent, OffcanvasTitleDirective, OffcanvasToggleDirective ], - exports: [ - OffcanvasComponent, + imports: [ + CommonModule, + A11yModule, OffcanvasBodyComponent, + OffcanvasComponent, OffcanvasHeaderComponent, OffcanvasTitleDirective, OffcanvasToggleDirective ], - imports: [ - CommonModule, - A11yModule - ], providers: [ OffcanvasService, BackdropService - ], + ] }) -export class OffcanvasModule { } +export class OffcanvasModule {} diff --git a/projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.spec.ts b/projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.spec.ts new file mode 100644 index 00000000..eada6553 --- /dev/null +++ b/projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.spec.ts @@ -0,0 +1,26 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { OffcanvasComponent } from './offcanvas.component'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; + +describe('OffcanvasComponent', () => { + let component: OffcanvasComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [ NoopAnimationsModule, OffcanvasComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(OffcanvasComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.ts b/projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.ts index bbebe3c1..e965c74c 100644 --- a/projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.ts +++ b/projects/coreui-angular/src/lib/offcanvas/offcanvas/offcanvas.component.ts @@ -21,6 +21,7 @@ import { filter } from 'rxjs/operators'; import { BackdropService } from '../../backdrop/backdrop.service'; import { OffcanvasService } from '../offcanvas.service'; +import { A11yModule } from '@angular/cdk/a11y'; let nextId = 0; @@ -45,12 +46,12 @@ let nextId = 0; ], templateUrl: './offcanvas.component.html', styleUrls: ['./offcanvas.component.scss'], - exportAs: 'cOffcanvas' + exportAs: 'cOffcanvas', + standalone: true, + imports: [A11yModule] }) export class OffcanvasComponent implements OnInit, OnDestroy { - static ngAcceptInputType_scroll: BooleanInput; - constructor( @Inject(DOCUMENT) private document: Document, @Inject(PLATFORM_ID) private platformId: any, @@ -61,6 +62,7 @@ export class OffcanvasComponent implements OnInit, OnDestroy { private breakpointObserver: BreakpointObserver ) {} + static ngAcceptInputType_scroll: BooleanInput; /** * Apply a backdrop on body while offcanvas is open. * @type boolean | 'static' @@ -89,38 +91,49 @@ export class OffcanvasComponent implements OnInit, OnDestroy { * @since 4.3.10 */ @Input() responsive?: boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' = true; - - /** - * Allow body scrolling while offcanvas is visible. - * @type boolean - * @default false - */ - @Input() - set scroll(value: boolean) { - this.#scroll = coerceBooleanProperty(value); - } - - get scroll() { - return this.#scroll; - } - - #scroll = false; - @Input() id = `offcanvas-${this.placement}-${nextId++}`; - /** * Default role for offcanvas. [docs] * @type string * @default 'dialog' */ @Input() @HostBinding('attr.role') role = 'dialog'; - /** * Set aria-modal html attr for offcanvas. [docs] * @type boolean * @default true */ @Input() @HostBinding('attr.aria-modal') ariaModal = true; + /** + * Event triggered on visible change. + */ + @Output() readonly visibleChange = new EventEmitter(); + #scroll = false; + #visible: boolean = false; + #activeBackdrop!: HTMLDivElement; + #scrollbarWidth!: string; + #stateToggleSubscription!: Subscription; + #backdropClickSubscription!: Subscription; + #layoutChangeSubscription!: Subscription; + #show = false; + + get scroll() { + return this.#scroll; + } + + /** + * Allow body scrolling while offcanvas is visible. + * @type boolean + * @default false + */ + @Input() + set scroll(value: boolean) { + this.#scroll = coerceBooleanProperty(value); + } + + get visible(): boolean { + return this.#visible; + } /** * Toggle the visibility of offcanvas component. @@ -140,24 +153,6 @@ export class OffcanvasComponent implements OnInit, OnDestroy { this.visibleChange.emit(value); } - get visible(): boolean { - return this.#visible; - } - - #visible: boolean = false; - - /** - * Event triggered on visible change. - */ - @Output() readonly visibleChange = new EventEmitter(); - - #activeBackdrop!: HTMLDivElement; - #scrollbarWidth!: string; - - #stateToggleSubscription!: Subscription; - #backdropClickSubscription!: Subscription; - #layoutChangeSubscription!: Subscription; - @HostBinding('class') get hostClasses(): any { return { @@ -191,7 +186,15 @@ export class OffcanvasComponent implements OnInit, OnDestroy { this.#show = value; } - #show = false; + get responsiveBreakpoint(): string | false { + if (typeof this.responsive !== 'string') { + return false; + } + const element: Element = this.document.documentElement; + const responsiveBreakpoint = this.responsive; + const breakpointValue = getComputedStyle(element).getPropertyValue(`--cui-breakpoint-${responsiveBreakpoint.trim()}`) || false; + return breakpointValue ? `${parseFloat(breakpointValue.trim()) - 0.02}px` : false; + } @HostListener('@showHide.start', ['$event']) animateStart(event: AnimationEvent) { @@ -246,6 +249,12 @@ export class OffcanvasComponent implements OnInit, OnDestroy { this.stateToggleSubscribe(false); } + setFocus(): void { + if (isPlatformBrowser(this.platformId)) { + setTimeout(() => this.hostElement.nativeElement.focus()); + } + } + private stateToggleSubscribe(subscribe: boolean = true): void { if (subscribe) { this.#stateToggleSubscription = @@ -281,22 +290,6 @@ export class OffcanvasComponent implements OnInit, OnDestroy { : this.backdropClickSubscribe(false); } - setFocus(): void { - if (isPlatformBrowser(this.platformId)) { - setTimeout(() => this.hostElement.nativeElement.focus()); - } - } - - get responsiveBreakpoint(): string | false { - if (typeof this.responsive !== 'string') { - return false; - } - const element: Element = this.document.documentElement; - const responsiveBreakpoint = this.responsive; - const breakpointValue = getComputedStyle(element).getPropertyValue(`--cui-breakpoint-${responsiveBreakpoint.trim()}`) || false; - return breakpointValue ? `${parseFloat(breakpointValue.trim()) - 0.02}px` : false; - } - private layoutChangeSubscribe(subscribe: boolean = true): void { if (subscribe) { diff --git a/projects/coreui-angular/src/lib/pagination/page-item/page-item.component.spec.ts b/projects/coreui-angular/src/lib/pagination/page-item/page-item.component.spec.ts index 346698b5..fba9ae0d 100644 --- a/projects/coreui-angular/src/lib/pagination/page-item/page-item.component.spec.ts +++ b/projects/coreui-angular/src/lib/pagination/page-item/page-item.component.spec.ts @@ -8,7 +8,7 @@ describe('PaginationItemComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [PageItemComponent] + imports: [PageItemComponent] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/pagination/page-item/page-item.component.ts b/projects/coreui-angular/src/lib/pagination/page-item/page-item.component.ts index a85c1c6b..0e7cb472 100644 --- a/projects/coreui-angular/src/lib/pagination/page-item/page-item.component.ts +++ b/projects/coreui-angular/src/lib/pagination/page-item/page-item.component.ts @@ -4,7 +4,8 @@ import { PageItemDirective } from './page-item.directive'; @Component({ selector: 'c-page-item', template: ``, - styleUrls: ['./page-item.component.scss'] + styleUrls: ['./page-item.component.scss'], + standalone: true }) export class PageItemComponent extends PageItemDirective { } diff --git a/projects/coreui-angular/src/lib/pagination/page-item/page-item.directive.ts b/projects/coreui-angular/src/lib/pagination/page-item/page-item.directive.ts index 241b49a0..46d23f2a 100644 --- a/projects/coreui-angular/src/lib/pagination/page-item/page-item.directive.ts +++ b/projects/coreui-angular/src/lib/pagination/page-item/page-item.directive.ts @@ -12,7 +12,8 @@ import { import { PageLinkDirective } from '../page-link/page-link.directive'; @Directive({ - selector: '[cPageItem]' + selector: '[cPageItem]', + standalone: true }) export class PageItemDirective implements AfterContentInit, OnChanges { diff --git a/projects/coreui-angular/src/lib/pagination/page-link/page-link.directive.ts b/projects/coreui-angular/src/lib/pagination/page-link/page-link.directive.ts index 63bbdecc..40dc11c5 100644 --- a/projects/coreui-angular/src/lib/pagination/page-link/page-link.directive.ts +++ b/projects/coreui-angular/src/lib/pagination/page-link/page-link.directive.ts @@ -1,7 +1,8 @@ import { Directive, HostBinding } from '@angular/core'; @Directive({ - selector: '[cPageLink]' + selector: '[cPageLink]', + standalone: true }) export class PageLinkDirective { diff --git a/projects/coreui-angular/src/lib/pagination/pagination.module.ts b/projects/coreui-angular/src/lib/pagination/pagination.module.ts index b56e32f6..895db074 100644 --- a/projects/coreui-angular/src/lib/pagination/pagination.module.ts +++ b/projects/coreui-angular/src/lib/pagination/pagination.module.ts @@ -6,20 +6,19 @@ import { PageItemDirective } from './page-item/page-item.directive'; import { PageLinkDirective } from './page-link/page-link.directive'; @NgModule({ - declarations: [ - PaginationComponent, - PageItemComponent, - PageItemDirective, - PageLinkDirective - ], + declarations: [], exports: [ - PaginationComponent, PageItemComponent, PageItemDirective, - PageLinkDirective + PageLinkDirective, + PaginationComponent ], imports: [ - CommonModule + CommonModule, + PageItemComponent, + PageItemDirective, + PageLinkDirective, + PaginationComponent ] }) export class PaginationModule {} diff --git a/projects/coreui-angular/src/lib/pagination/pagination/pagination.component.scss b/projects/coreui-angular/src/lib/pagination/pagination/pagination.component.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/projects/coreui-angular/src/lib/pagination/pagination/pagination.component.spec.ts b/projects/coreui-angular/src/lib/pagination/pagination/pagination.component.spec.ts index 258ba5c1..1f90d3ad 100644 --- a/projects/coreui-angular/src/lib/pagination/pagination/pagination.component.spec.ts +++ b/projects/coreui-angular/src/lib/pagination/pagination/pagination.component.spec.ts @@ -8,7 +8,7 @@ describe('PaginationComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ PaginationComponent ] + imports: [ PaginationComponent ] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/pagination/pagination/pagination.component.ts b/projects/coreui-angular/src/lib/pagination/pagination/pagination.component.ts index 52c73539..266d567b 100644 --- a/projects/coreui-angular/src/lib/pagination/pagination/pagination.component.ts +++ b/projects/coreui-angular/src/lib/pagination/pagination/pagination.component.ts @@ -1,9 +1,11 @@ import { Component, HostBinding, Input } from '@angular/core'; +import { CommonModule } from '@angular/common'; @Component({ selector: 'c-pagination', templateUrl: './pagination.component.html', - styleUrls: ['./pagination.component.scss'] + standalone: true, + imports: [CommonModule] }) export class PaginationComponent { diff --git a/projects/coreui-angular/src/lib/placeholder/placeholder-animation.directive.ts b/projects/coreui-angular/src/lib/placeholder/placeholder-animation.directive.ts index 1663610c..fa37de9b 100644 --- a/projects/coreui-angular/src/lib/placeholder/placeholder-animation.directive.ts +++ b/projects/coreui-angular/src/lib/placeholder/placeholder-animation.directive.ts @@ -2,7 +2,8 @@ import { AfterContentInit, ContentChild, Directive, HostBinding, Input } from '@ import { PlaceholderDirective } from './placeholder.directive'; @Directive({ - selector: '[cPlaceholderAnimation]' + selector: '[cPlaceholderAnimation]', + standalone: true }) export class PlaceholderAnimationDirective implements AfterContentInit { @@ -14,6 +15,8 @@ export class PlaceholderAnimationDirective implements AfterContentInit { * @default undefined */ @Input('cPlaceholderAnimation') animation?: 'glow' | 'wave'; + @ContentChild(PlaceholderDirective) placeholder!: PlaceholderDirective; + private animate: boolean = false; @HostBinding('class') get hostClasses(): any { @@ -22,9 +25,6 @@ export class PlaceholderAnimationDirective implements AfterContentInit { }; } - @ContentChild(PlaceholderDirective) placeholder!: PlaceholderDirective; - private animate: boolean = false; - ngAfterContentInit() { this.animate = this.placeholder?.visible; } diff --git a/projects/coreui-angular/src/lib/placeholder/placeholder.directive.ts b/projects/coreui-angular/src/lib/placeholder/placeholder.directive.ts index 351d2ced..b7a8ce54 100644 --- a/projects/coreui-angular/src/lib/placeholder/placeholder.directive.ts +++ b/projects/coreui-angular/src/lib/placeholder/placeholder.directive.ts @@ -3,7 +3,8 @@ import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; @Directive({ selector: '[cPlaceholder]', - exportAs: 'cPlaceholder' + exportAs: 'cPlaceholder', + standalone: true }) export class PlaceholderDirective { diff --git a/projects/coreui-angular/src/lib/placeholder/placeholder.module.ts b/projects/coreui-angular/src/lib/placeholder/placeholder.module.ts index 73943ac9..cf42ce5c 100644 --- a/projects/coreui-angular/src/lib/placeholder/placeholder.module.ts +++ b/projects/coreui-angular/src/lib/placeholder/placeholder.module.ts @@ -4,13 +4,12 @@ import { PlaceholderDirective } from './placeholder.directive'; import { PlaceholderAnimationDirective } from './placeholder-animation.directive'; @NgModule({ - declarations: [ + declarations: [], + imports: [ + CommonModule, PlaceholderDirective, PlaceholderAnimationDirective ], - imports: [ - CommonModule - ], exports: [ PlaceholderDirective, PlaceholderAnimationDirective diff --git a/projects/coreui-angular/src/lib/popover/popover.directive.ts b/projects/coreui-angular/src/lib/popover/popover.directive.ts index b26e59fd..5b48bda5 100644 --- a/projects/coreui-angular/src/lib/popover/popover.directive.ts +++ b/projects/coreui-angular/src/lib/popover/popover.directive.ts @@ -24,7 +24,8 @@ import { IListenersConfig, ListenersService } from '../services/listeners.servic @Directive({ selector: '[cPopover]', exportAs: 'cPopover', - providers: [ListenersService] + providers: [ListenersService], + standalone: true }) export class PopoverDirective implements OnChanges, OnDestroy, OnInit { diff --git a/projects/coreui-angular/src/lib/popover/popover.module.ts b/projects/coreui-angular/src/lib/popover/popover.module.ts index bc695d7e..511e28e1 100644 --- a/projects/coreui-angular/src/lib/popover/popover.module.ts +++ b/projects/coreui-angular/src/lib/popover/popover.module.ts @@ -3,18 +3,16 @@ import { CommonModule } from '@angular/common'; import { PopoverDirective } from './popover.directive'; import { PopoverComponent } from './popover/popover.component'; - @NgModule({ - declarations: [ - PopoverDirective, - PopoverComponent - ], + declarations: [], exports: [ PopoverDirective, PopoverComponent ], imports: [ - CommonModule + CommonModule, + PopoverDirective, + PopoverComponent ] }) -export class PopoverModule { } +export class PopoverModule {} diff --git a/projects/coreui-angular/src/lib/popover/popover/popover.component.spec.ts b/projects/coreui-angular/src/lib/popover/popover/popover.component.spec.ts index 4b620acf..65cdff2c 100644 --- a/projects/coreui-angular/src/lib/popover/popover/popover.component.spec.ts +++ b/projects/coreui-angular/src/lib/popover/popover/popover.component.spec.ts @@ -8,7 +8,7 @@ describe('PopoverComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ PopoverComponent ] + imports: [ PopoverComponent ] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/popover/popover/popover.component.ts b/projects/coreui-angular/src/lib/popover/popover/popover.component.ts index 6b5e62ff..357ba813 100644 --- a/projects/coreui-angular/src/lib/popover/popover/popover.component.ts +++ b/projects/coreui-angular/src/lib/popover/popover/popover.component.ts @@ -11,10 +11,13 @@ import { ViewChild, ViewContainerRef } from '@angular/core'; +import { CommonModule } from '@angular/common'; @Component({ selector: 'c-popover', templateUrl: './popover.component.html', + standalone: true, + imports: [CommonModule] }) export class PopoverComponent implements AfterViewInit, OnChanges, OnDestroy { diff --git a/projects/coreui-angular/src/lib/progress/progress-bar.component.spec.ts b/projects/coreui-angular/src/lib/progress/progress-bar.component.spec.ts index 011b1245..c7723547 100644 --- a/projects/coreui-angular/src/lib/progress/progress-bar.component.spec.ts +++ b/projects/coreui-angular/src/lib/progress/progress-bar.component.spec.ts @@ -8,7 +8,7 @@ describe('ProgressBarComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ProgressBarComponent ] + imports: [ ProgressBarComponent ] }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/progress/progress-bar.component.ts b/projects/coreui-angular/src/lib/progress/progress-bar.component.ts index 7dbb0e2c..17a7c8f7 100644 --- a/projects/coreui-angular/src/lib/progress/progress-bar.component.ts +++ b/projects/coreui-angular/src/lib/progress/progress-bar.component.ts @@ -4,7 +4,8 @@ import { BooleanInput, coerceBooleanProperty, coerceNumberProperty, NumberInput @Component({ selector: 'c-progress-bar', - template: '' + template: '', + standalone: true }) export class ProgressBarComponent implements OnInit, OnChanges { diff --git a/projects/coreui-angular/src/lib/progress/progress.component.spec.ts b/projects/coreui-angular/src/lib/progress/progress.component.spec.ts index 21cbcf35..541fc2d5 100644 --- a/projects/coreui-angular/src/lib/progress/progress.component.spec.ts +++ b/projects/coreui-angular/src/lib/progress/progress.component.spec.ts @@ -8,7 +8,7 @@ describe('ProgressComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ProgressComponent ] + imports: [ ProgressComponent ] }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/progress/progress.component.ts b/projects/coreui-angular/src/lib/progress/progress.component.ts index 47026ae2..807b89fd 100644 --- a/projects/coreui-angular/src/lib/progress/progress.component.ts +++ b/projects/coreui-angular/src/lib/progress/progress.component.ts @@ -3,7 +3,8 @@ import { BooleanInput, coerceBooleanProperty, coerceNumberProperty, NumberInput @Component({ selector: 'c-progress', - template: '' + template: '', + standalone: true }) export class ProgressComponent { diff --git a/projects/coreui-angular/src/lib/progress/progress.module.ts b/projects/coreui-angular/src/lib/progress/progress.module.ts index e26fa2bc..1d4085c9 100644 --- a/projects/coreui-angular/src/lib/progress/progress.module.ts +++ b/projects/coreui-angular/src/lib/progress/progress.module.ts @@ -4,13 +4,15 @@ import { ProgressComponent } from './progress.component'; import { ProgressBarComponent } from './progress-bar.component'; @NgModule({ - declarations: [ProgressComponent, ProgressBarComponent], + declarations: [], exports: [ ProgressComponent, ProgressBarComponent ], imports: [ - CommonModule + CommonModule, + ProgressComponent, + ProgressBarComponent ] }) -export class ProgressModule { } +export class ProgressModule {} diff --git a/projects/coreui-angular/src/lib/shared/html-attr.directive.spec.ts b/projects/coreui-angular/src/lib/shared/html-attr.directive.spec.ts index f58b7daa..73b79224 100644 --- a/projects/coreui-angular/src/lib/shared/html-attr.directive.spec.ts +++ b/projects/coreui-angular/src/lib/shared/html-attr.directive.spec.ts @@ -18,7 +18,8 @@ describe('HtmlAttributesDirective', () => { beforeEach(() => { TestBed.configureTestingModule({ - declarations: [TestComponent, HtmlAttributesDirective] + declarations: [TestComponent], + imports: [HtmlAttributesDirective], }); fixture = TestBed.createComponent(TestComponent); component = fixture.componentInstance; diff --git a/projects/coreui-angular/src/lib/shared/html-attr.directive.ts b/projects/coreui-angular/src/lib/shared/html-attr.directive.ts index 8ffaa88f..dc00d656 100644 --- a/projects/coreui-angular/src/lib/shared/html-attr.directive.ts +++ b/projects/coreui-angular/src/lib/shared/html-attr.directive.ts @@ -2,7 +2,8 @@ import {Directive, ElementRef, Input, OnInit, Renderer2} from '@angular/core'; @Directive({ selector: '[cHtmlAttr]', - exportAs: 'cHtmlAttr' + exportAs: 'cHtmlAttr', + standalone: true }) export class HtmlAttributesDirective implements OnInit { diff --git a/projects/coreui-angular/src/lib/shared/shared.module.ts b/projects/coreui-angular/src/lib/shared/shared.module.ts index 79e2aa62..b4d8c56d 100644 --- a/projects/coreui-angular/src/lib/shared/shared.module.ts +++ b/projects/coreui-angular/src/lib/shared/shared.module.ts @@ -1,22 +1,17 @@ import { ModuleWithProviders, NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; -// import { OutClickService } from './out-click.service'; -// import { OutClickDirective } from './out-click.directive'; import { HtmlAttributesDirective } from './html-attr.directive'; import { TemplateIdDirective } from './template-id.directive'; @NgModule({ imports: [ - CommonModule - ], - declarations: [ - // OutClickDirective, + CommonModule, HtmlAttributesDirective, TemplateIdDirective ], + declarations: [], exports: [ - // OutClickDirective, HtmlAttributesDirective, TemplateIdDirective ], @@ -26,10 +21,7 @@ export class SharedModule { static forRoot(): ModuleWithProviders { return { - ngModule: SharedModule, - // providers: [ - // {provide: OutClickService} - // ] + ngModule: SharedModule }; } } diff --git a/projects/coreui-angular/src/lib/shared/template-id.directive.ts b/projects/coreui-angular/src/lib/shared/template-id.directive.ts index c0025d76..7fdf82aa 100644 --- a/projects/coreui-angular/src/lib/shared/template-id.directive.ts +++ b/projects/coreui-angular/src/lib/shared/template-id.directive.ts @@ -1,7 +1,8 @@ import { Directive, Input, TemplateRef } from '@angular/core'; @Directive({ - selector: '[cTemplateId]' + selector: '[cTemplateId]', + standalone: true }) export class TemplateIdDirective { @Input('cTemplateId') id!: string; diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar-brand/sidebar-brand.component.spec.ts b/projects/coreui-angular/src/lib/sidebar/sidebar-brand/sidebar-brand.component.spec.ts index 5c07ff65..0db0f47b 100644 --- a/projects/coreui-angular/src/lib/sidebar/sidebar-brand/sidebar-brand.component.spec.ts +++ b/projects/coreui-angular/src/lib/sidebar/sidebar-brand/sidebar-brand.component.spec.ts @@ -5,17 +5,20 @@ import { Router } from '@angular/router'; import { SidebarBrandComponent } from './sidebar-brand.component'; import { HtmlAttributesDirective } from '../../shared'; -describe('HeaderBrandComponent', () => { +describe('SidebarBrandComponent', () => { let component: SidebarBrandComponent; let fixture: ComponentFixture; let router: Router; beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - imports: [ RouterTestingModule.withRoutes([]) ], - declarations: [ SidebarBrandComponent, HtmlAttributesDirective ] + imports: [ + RouterTestingModule.withRoutes([]), + HtmlAttributesDirective, + SidebarBrandComponent + ], }) - .compileComponents(); + .compileComponents(); })); beforeEach(() => { diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar-brand/sidebar-brand.component.ts b/projects/coreui-angular/src/lib/sidebar/sidebar-brand/sidebar-brand.component.ts index 8e22cd67..64c6d65b 100644 --- a/projects/coreui-angular/src/lib/sidebar/sidebar-brand/sidebar-brand.component.ts +++ b/projects/coreui-angular/src/lib/sidebar/sidebar-brand/sidebar-brand.component.ts @@ -1,8 +1,14 @@ import { Component, HostBinding, Input, OnInit } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { RouterLink } from '@angular/router'; + +import { HtmlAttributesDirective } from '../../shared'; @Component({ selector: 'c-sidebar-brand', - templateUrl: './sidebar-brand.component.html' + templateUrl: './sidebar-brand.component.html', + standalone: true, + imports: [CommonModule, RouterLink, HtmlAttributesDirective] }) export class SidebarBrandComponent implements OnInit { diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar-footer/sidebar-footer.component.html b/projects/coreui-angular/src/lib/sidebar/sidebar-footer/sidebar-footer.component.html deleted file mode 100644 index 6dbc7430..00000000 --- a/projects/coreui-angular/src/lib/sidebar/sidebar-footer/sidebar-footer.component.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar-footer/sidebar-footer.component.scss b/projects/coreui-angular/src/lib/sidebar/sidebar-footer/sidebar-footer.component.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar-footer/sidebar-footer.component.spec.ts b/projects/coreui-angular/src/lib/sidebar/sidebar-footer/sidebar-footer.component.spec.ts index 09afa8da..ac64c4f3 100644 --- a/projects/coreui-angular/src/lib/sidebar/sidebar-footer/sidebar-footer.component.spec.ts +++ b/projects/coreui-angular/src/lib/sidebar/sidebar-footer/sidebar-footer.component.spec.ts @@ -8,7 +8,7 @@ describe('SidebarFooterComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ SidebarFooterComponent ] + imports: [ SidebarFooterComponent ] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar-footer/sidebar-footer.component.ts b/projects/coreui-angular/src/lib/sidebar/sidebar-footer/sidebar-footer.component.ts index cdd4ba5b..799ba4c8 100644 --- a/projects/coreui-angular/src/lib/sidebar/sidebar-footer/sidebar-footer.component.ts +++ b/projects/coreui-angular/src/lib/sidebar/sidebar-footer/sidebar-footer.component.ts @@ -2,8 +2,8 @@ import { Component, HostBinding } from '@angular/core'; @Component({ selector: 'c-sidebar-footer', - templateUrl: './sidebar-footer.component.html', - styleUrls: ['./sidebar-footer.component.scss'] + template: ``, + standalone: true }) export class SidebarFooterComponent { diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar-header/sidebar-header.component.html b/projects/coreui-angular/src/lib/sidebar/sidebar-header/sidebar-header.component.html deleted file mode 100644 index 6dbc7430..00000000 --- a/projects/coreui-angular/src/lib/sidebar/sidebar-header/sidebar-header.component.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar-header/sidebar-header.component.scss b/projects/coreui-angular/src/lib/sidebar/sidebar-header/sidebar-header.component.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar-header/sidebar-header.component.spec.ts b/projects/coreui-angular/src/lib/sidebar/sidebar-header/sidebar-header.component.spec.ts index b7fd60b7..2b04c4e7 100644 --- a/projects/coreui-angular/src/lib/sidebar/sidebar-header/sidebar-header.component.spec.ts +++ b/projects/coreui-angular/src/lib/sidebar/sidebar-header/sidebar-header.component.spec.ts @@ -8,7 +8,7 @@ describe('SidebarHeaderComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ SidebarHeaderComponent ] + imports: [ SidebarHeaderComponent ] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar-header/sidebar-header.component.ts b/projects/coreui-angular/src/lib/sidebar/sidebar-header/sidebar-header.component.ts index 0d8466e1..438cd9f6 100644 --- a/projects/coreui-angular/src/lib/sidebar/sidebar-header/sidebar-header.component.ts +++ b/projects/coreui-angular/src/lib/sidebar/sidebar-header/sidebar-header.component.ts @@ -2,11 +2,10 @@ import { Component, HostBinding } from '@angular/core'; @Component({ selector: 'c-sidebar-header', - templateUrl: './sidebar-header.component.html', - styleUrls: ['./sidebar-header.component.scss'] + template: ``, + standalone: true }) export class SidebarHeaderComponent { - constructor() {} @HostBinding('class') get hostClasses(): any { diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.ts b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.ts index 3cc8001c..d002eee8 100644 --- a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.ts +++ b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.ts @@ -1,7 +1,8 @@ import { Pipe, PipeTransform } from '@angular/core'; @Pipe({ - name: 'cSidebarNavBadge' + name: 'cSidebarNavBadge', + standalone: true }) export class SidebarNavBadgePipe implements PipeTransform { diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.spec.ts b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.spec.ts index 09545ff4..40584ac5 100644 --- a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.spec.ts +++ b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.spec.ts @@ -9,7 +9,7 @@ describe('SidebarNavDividerComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ SidebarNavDividerComponent ], + imports: [ SidebarNavDividerComponent ], }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.ts b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.ts index 58afbe79..fc0f925f 100644 --- a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.ts +++ b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.ts @@ -2,12 +2,11 @@ import { Component, Input } from '@angular/core'; @Component({ selector: 'c-sidebar-nav-divider', - template: `` + template: ``, + standalone: true }) export class SidebarNavDividerComponent { - @Input() item: any; - constructor() { - } + @Input() item: any; } diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-group.component.spec.ts b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-group.component.spec.ts index d7b04abd..651b4319 100644 --- a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-group.component.spec.ts +++ b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-group.component.spec.ts @@ -2,14 +2,7 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { RouterTestingModule } from '@angular/router/testing'; import { Router } from '@angular/router'; - -import { SidebarNavDividerComponent } from './sidebar-nav-divider.component'; import { SidebarNavGroupComponent } from './sidebar-nav.component'; -import { SidebarNavLabelComponent } from './sidebar-nav-label.component'; -import { SidebarNavLinkComponent } from './sidebar-nav-link.component'; -import { SidebarNavTitleComponent } from './sidebar-nav-title.component'; -import { SidebarNavIconPipe } from './sidebar-nav-icon.pipe'; -import { HtmlAttributesDirective } from '../../shared'; import { SidebarModule } from '../sidebar.module'; describe('SidebarNavGroupComponent', () => { @@ -20,18 +13,14 @@ describe('SidebarNavGroupComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - imports: [ RouterTestingModule.withRoutes([]), SidebarModule, NoopAnimationsModule ], - declarations: [ - SidebarNavDividerComponent, - SidebarNavGroupComponent, - SidebarNavLabelComponent, - SidebarNavLinkComponent, - SidebarNavTitleComponent, - HtmlAttributesDirective, - SidebarNavIconPipe, + imports: [ + RouterTestingModule.withRoutes([]), + NoopAnimationsModule, + SidebarModule ], + declarations: [SidebarNavGroupComponent] }) - .compileComponents(); + .compileComponents(); })); beforeEach(() => { @@ -39,7 +28,7 @@ describe('SidebarNavGroupComponent', () => { router = TestBed.inject(Router); component = fixture.componentInstance; - item = { + item = { name: 'Tables', url: '/tables', icon: 'icon-list', @@ -57,7 +46,7 @@ describe('SidebarNavGroupComponent', () => { name: 'Standard Tables', url: '/tables/tables', icon: 'icon-list' - }, + } ] }; component.item = item; diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.ts b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.ts index c8883a2f..e169d057 100644 --- a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.ts +++ b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.ts @@ -1,16 +1,16 @@ import { Pipe, PipeTransform } from '@angular/core'; @Pipe({ - name: 'cSidebarNavIcon' + name: 'cSidebarNavIcon', + standalone: true }) export class SidebarNavIconPipe implements PipeTransform { transform(item: any, args?: any): any { const icon = item.icon; - const classes = { + return { 'nav-icon': true, [`${icon}`]: !!icon }; - return classes; } } diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.ts b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.ts index 864171d9..1bad16c1 100644 --- a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.ts +++ b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.ts @@ -3,7 +3,8 @@ import { Pipe, PipeTransform } from '@angular/core'; import {SidebarNavHelper} from './sidebar-nav.service'; @Pipe({ - name: 'cSidebarNavItemClass' + name: 'cSidebarNavItemClass', + standalone: true }) export class SidebarNavItemClassPipe implements PipeTransform { diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-label.component.spec.ts b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-label.component.spec.ts index 17b68301..2700b453 100644 --- a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-label.component.spec.ts +++ b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-label.component.spec.ts @@ -12,9 +12,8 @@ describe('SidebarNavLabelComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ SidebarNavLabelComponent ], providers: [ SidebarNavHelper ], - imports: [ SharedModule ], + imports: [ SharedModule, SidebarNavLabelComponent ], }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-label.component.ts b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-label.component.ts index af5d2958..540207a9 100644 --- a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-label.component.ts +++ b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-label.component.ts @@ -1,11 +1,22 @@ -import {Component, Input, OnInit} from '@angular/core'; -import {SidebarNavHelper} from './sidebar-nav.service'; +import { Component, Input, OnInit } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { HtmlAttributesDirective } from '../../shared'; +import { SidebarNavHelper } from './sidebar-nav.service'; +import { SidebarNavBadgePipe } from './sidebar-nav-badge.pipe'; @Component({ selector: 'c-sidebar-nav-label', - templateUrl: './sidebar-nav-label.component.html' + templateUrl: './sidebar-nav-label.component.html', + standalone: true, + imports: [CommonModule, HtmlAttributesDirective, SidebarNavBadgePipe] }) export class SidebarNavLabelComponent implements OnInit { + + constructor( + public helper: SidebarNavHelper + ) { } + @Input() item: any; private classes = { @@ -14,10 +25,6 @@ export class SidebarNavLabelComponent implements OnInit { }; private iconClasses = {}; - constructor( - public helper: SidebarNavHelper - ) { } - ngOnInit() { this.iconClasses = this.helper.getIconClass(this.item); } @@ -28,6 +35,7 @@ export class SidebarNavLabelComponent implements OnInit { this.classes[itemClass] = !!itemClass; return this.classes; } + getLabelIconClass() { const variant = `text-${this.item.label.variant}`; // @ts-ignore diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-link.component.spec.ts b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-link.component.spec.ts index 1f6146f7..6f81c4f7 100644 --- a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-link.component.spec.ts +++ b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-link.component.spec.ts @@ -17,8 +17,14 @@ describe('SidebarNavLinkComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - imports: [RouterTestingModule.withRoutes([]), SidebarModule], - declarations: [SidebarNavLinkComponent, HtmlAttributesDirective, SidebarNavLinkPipe, SidebarNavBadgePipe, SidebarNavIconPipe] + imports: [RouterTestingModule.withRoutes([]), + // SidebarModule, + HtmlAttributesDirective, + // SidebarNavBadgePipe, + // SidebarNavIconPipe, + SidebarNavLinkComponent, + // SidebarNavLinkPipe + ] }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-link.component.ts b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-link.component.ts index 0614f3fe..3b34852a 100644 --- a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-link.component.ts +++ b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-link.component.ts @@ -1,11 +1,17 @@ -import {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core'; -import {NavigationEnd, Router} from '@angular/router'; -import {Observable, Subscription} from 'rxjs'; -import {filter} from 'rxjs/operators'; +import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core'; +import { CommonModule, NgIf } from '@angular/common'; +import { NavigationEnd, Router, RouterModule } from '@angular/router'; +import { Observable, Subscription } from 'rxjs'; +import { filter } from 'rxjs/operators'; -import {SidebarNavHelper} from './sidebar-nav.service'; // import {SidebarService} from '../sidebar.service'; +import { HtmlAttributesDirective } from '../../shared'; +import { SidebarNavHelper } from './sidebar-nav.service'; import { INavData } from './sidebar-nav'; +import { SidebarNavLinkPipe } from './sidebar-nav-link.pipe'; +import { SidebarNavBadgePipe } from './sidebar-nav-badge.pipe'; +import { SidebarNavIconPipe } from './sidebar-nav-icon.pipe'; +import { IconModule } from '@coreui/icons-angular' @Component({ selector: 'c-sidebar-nav-link-content', @@ -14,7 +20,9 @@ import { INavData } from './sidebar-nav'; {{item?.name ?? ''}} `, - providers: [ SidebarNavHelper ] + providers: [SidebarNavHelper], + standalone: true, + imports: [NgIf] }) export class SidebarNavLinkContentComponent { @Input() item?: INavData; @@ -27,7 +35,9 @@ export class SidebarNavLinkContentComponent { @Component({ selector: 'c-sidebar-nav-link', templateUrl: './sidebar-nav-link.component.html', - providers: [ SidebarNavHelper ] + providers: [SidebarNavHelper], + standalone: true, + imports: [CommonModule, RouterModule, HtmlAttributesDirective, SidebarNavLinkContentComponent, SidebarNavLinkPipe, SidebarNavBadgePipe, SidebarNavIconPipe, IconModule] }) export class SidebarNavLinkComponent implements OnInit, OnDestroy { @@ -38,6 +48,7 @@ export class SidebarNavLinkComponent implements OnInit, OnDestroy { set item(item: INavData) { this._item = JSON.parse(JSON.stringify(item)); } + get item(): INavData { return this._item; } @@ -58,7 +69,7 @@ export class SidebarNavLinkComponent implements OnInit, OnDestroy { private navSubscription: Subscription; constructor( - public router: Router, + public router: Router // private renderer: Renderer2, // private hostElement: ElementRef, // private sidebarService: SidebarService @@ -72,7 +83,7 @@ export class SidebarNavLinkComponent implements OnInit, OnDestroy { ngOnInit(): void { // @ts-ignore - this.url = typeof this.item.url === 'string' ? this.item.url : this.router.serializeUrl(this.router.createUrlTree(this.item.url)) ; + this.url = typeof this.item.url === 'string' ? this.item.url : this.router.serializeUrl(this.router.createUrlTree(this.item.url)); this.linkType = this.getLinkType(); this.href = this.isDisabled() ? '' : (this.item.href || this.url); this.linkActive = this.router.url.split(/[?#(;]/)[0] === this.href.split(/[?#(;]/)[0]; diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.ts b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.ts index 2aaab10d..d9213216 100644 --- a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.ts +++ b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.ts @@ -1,7 +1,8 @@ import { Pipe, PipeTransform } from '@angular/core'; @Pipe({ - name: 'cSidebarNavLink' + name: 'cSidebarNavLink', + standalone: true }) export class SidebarNavLinkPipe implements PipeTransform { @@ -9,12 +10,11 @@ export class SidebarNavLinkPipe implements PipeTransform { const disabled = item?.attributes?.disabled; - const classes = { + return { 'nav-link': true, disabled, 'btn-link': disabled, [`nav-link-${item.variant}`]: !!item.variant }; - return classes; } } diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-title.component.spec.ts b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-title.component.spec.ts index ebb584d0..040feb5b 100644 --- a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-title.component.spec.ts +++ b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-title.component.spec.ts @@ -9,7 +9,7 @@ describe('SidebarNavTitleComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ SidebarNavTitleComponent ] + imports: [ SidebarNavTitleComponent ] }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-title.component.ts b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-title.component.ts index 09e2ec78..44e59a2a 100644 --- a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-title.component.ts +++ b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav-title.component.ts @@ -3,6 +3,7 @@ import {Component, ElementRef, Input, OnInit, Renderer2} from '@angular/core'; @Component({ selector: 'c-sidebar-nav-title', template: '', + standalone: true }) export class SidebarNavTitleComponent implements OnInit { @Input() item: any; diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav.component.scss b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav.component.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav.component.spec.ts b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav.component.spec.ts index 911bbb6b..3e31d6eb 100644 --- a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav.component.spec.ts +++ b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav.component.spec.ts @@ -2,14 +2,9 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; import { Router } from '@angular/router'; -import { SidebarNavComponent, SidebarNavGroupComponent } from './sidebar-nav.component'; +import { SidebarNavComponent } from './sidebar-nav.component'; import { SidebarNavHelper } from './sidebar-nav.service'; // import { SidebarNavGroupComponent } from './sidebar-nav-group.component'; -import { SidebarNavDividerComponent } from './sidebar-nav-divider.component'; -import { SidebarNavLabelComponent } from './sidebar-nav-label.component'; -import { SidebarNavLinkComponent } from './sidebar-nav-link.component'; -import { SidebarNavTitleComponent } from './sidebar-nav-title.component'; -import { HtmlAttributesDirective, SharedModule } from '../../shared'; describe('SidebarNavComponent', () => { let component: SidebarNavComponent; @@ -19,19 +14,20 @@ describe('SidebarNavComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - imports: [ RouterTestingModule.withRoutes([]), SharedModule ], - declarations: [ - SidebarNavComponent, - SidebarNavGroupComponent, - SidebarNavDividerComponent, - SidebarNavLabelComponent, - SidebarNavLinkComponent, - SidebarNavTitleComponent, - HtmlAttributesDirective + imports: [ + RouterTestingModule.withRoutes([]) + // SharedModule, + // HtmlAttributesDirective, + // SidebarNavDividerComponent, + // SidebarNavGroupComponent, + // SidebarNavLabelComponent, + // SidebarNavLinkComponent, + // SidebarNavTitleComponent ], - providers: [ SidebarNavHelper ], + declarations: [SidebarNavComponent], + providers: [SidebarNavHelper] }) - .compileComponents(); + .compileComponents(); })); beforeEach(() => { diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav.component.ts b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav.component.ts index 786533a1..02304c47 100644 --- a/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav.component.ts +++ b/projects/coreui-angular/src/lib/sidebar/sidebar-nav/sidebar-nav.component.ts @@ -1,6 +1,7 @@ import { Component, ElementRef, + forwardRef, HostBinding, Input, OnChanges, @@ -22,56 +23,6 @@ import { INavData } from './sidebar-nav'; import { SidebarNavHelper } from './sidebar-nav.service'; import { SidebarNavGroupService } from './sidebar-nav-group.service'; -@Component({ - selector: 'c-sidebar-nav', - templateUrl: './sidebar-nav.component.html', - styleUrls: ['./sidebar-nav.component.scss'] -}) -export class SidebarNavComponent implements OnChanges { - - constructor( - @Optional() public sidebar: SidebarComponent, - public helper: SidebarNavHelper, - public router: Router, - private renderer: Renderer2, - private hostElement: ElementRef, - private sidebarService: SidebarService - ) { } - - @Input() navItems?: INavData[] = []; - @Input() dropdownMode: 'path' | 'none' | 'close' = 'path'; - @Input() groupItems?: boolean; - @Input() compact?: boolean; - - @HostBinding('class') - get hostClasses(): any { - return { - 'sidebar-nav': !this.groupItems, - compact: !this.groupItems && !!this.compact - }; - } - - @HostBinding('class.nav-group-items') - get sidebarNavGroupItemsClass(): boolean { - return !!this.groupItems; - } - - @HostBinding('attr.role') role = 'nav'; - - public navItemsArray: INavData[] = []; - - public ngOnChanges(changes: SimpleChanges): void { - this.navItemsArray = Array.isArray(this.navItems) ? this.navItems.slice() : []; - } - - public hideMobile(): void { - // todo: proper scrollIntoView() after NavigationEnd - if (this.sidebar && this.sidebar.sidebarState.mobile) { - this.sidebarService.toggle({ toggle: 'visible', sidebar: this.sidebar }); - } - } -} - @Component({ selector: 'c-sidebar-nav-group', templateUrl: './sidebar-nav-group.component.html', @@ -117,7 +68,7 @@ export class SidebarNavGroupComponent implements OnInit, OnDestroy { }; } - @ViewChild(SidebarNavComponent, { read: ElementRef }) sidebarNav!: ElementRef; + @ViewChild(forwardRef(() => SidebarNavComponent), { read: ElementRef }) sidebarNav!: ElementRef; navigationEndObservable: Observable; navSubscription!: Subscription; @@ -202,3 +153,52 @@ export class SidebarNavGroupComponent implements OnInit, OnDestroy { } } } + +@Component({ + selector: 'c-sidebar-nav', + templateUrl: './sidebar-nav.component.html' +}) +export class SidebarNavComponent implements OnChanges { + + constructor( + @Optional() public sidebar: SidebarComponent, + public helper: SidebarNavHelper, + public router: Router, + private renderer: Renderer2, + private hostElement: ElementRef, + private sidebarService: SidebarService + ) { } + + @Input() navItems?: INavData[] = []; + @Input() dropdownMode: 'path' | 'none' | 'close' = 'path'; + @Input() groupItems?: boolean; + @Input() compact?: boolean; + + @HostBinding('class') + get hostClasses(): any { + return { + 'sidebar-nav': !this.groupItems, + compact: !this.groupItems && !!this.compact + }; + } + + @HostBinding('class.nav-group-items') + get sidebarNavGroupItemsClass(): boolean { + return !!this.groupItems; + } + + @HostBinding('attr.role') role = 'nav'; + + public navItemsArray: INavData[] = []; + + public ngOnChanges(changes: SimpleChanges): void { + this.navItemsArray = Array.isArray(this.navItems) ? this.navItems.slice() : []; + } + + public hideMobile(): void { + // todo: proper scrollIntoView() after NavigationEnd + if (this.sidebar && this.sidebar.sidebarState.mobile) { + this.sidebarService.toggle({ toggle: 'visible', sidebar: this.sidebar }); + } + } +} diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.ts b/projects/coreui-angular/src/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.ts index 748ed2a4..2019da2f 100644 --- a/projects/coreui-angular/src/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.ts +++ b/projects/coreui-angular/src/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.ts @@ -7,7 +7,8 @@ import {SidebarService} from '../sidebar.service'; */ @Directive({ selector: '[cSidebarToggle]', - exportAs: 'cSidebarToggle' + exportAs: 'cSidebarToggle', + standalone: true }) export class SidebarToggleDirective { /** diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar-toggler/sidebar-toggler.component.ts b/projects/coreui-angular/src/lib/sidebar/sidebar-toggler/sidebar-toggler.component.ts index fa0321dd..ef5da2c8 100644 --- a/projects/coreui-angular/src/lib/sidebar/sidebar-toggler/sidebar-toggler.component.ts +++ b/projects/coreui-angular/src/lib/sidebar/sidebar-toggler/sidebar-toggler.component.ts @@ -3,6 +3,7 @@ import { Component, HostBinding, Input } from '@angular/core'; @Component({ selector: 'c-sidebar-toggler', template: ``, + standalone: true }) export class SidebarTogglerComponent { @@ -10,4 +11,5 @@ export class SidebarTogglerComponent { @Input() role = 'button'; @HostBinding('class.sidebar-toggler') sidebarTogglerClass = true; + } diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar.module.ts b/projects/coreui-angular/src/lib/sidebar/sidebar.module.ts index 3255d196..75e4c1d7 100644 --- a/projects/coreui-angular/src/lib/sidebar/sidebar.module.ts +++ b/projects/coreui-angular/src/lib/sidebar/sidebar.module.ts @@ -34,15 +34,20 @@ import { @NgModule({ declarations: [ + SidebarNavComponent, + SidebarNavGroupComponent, + // SidebarNavGroupToggleDirective, + ], + imports: [ + CommonModule, + RouterModule, + SharedModule, SidebarComponent, - SidebarTogglerComponent, - SidebarToggleDirective, SidebarBrandComponent, + SidebarFooterComponent, + SidebarHeaderComponent, SidebarNavBadgePipe, - SidebarNavComponent, SidebarNavDividerComponent, - SidebarNavGroupComponent, - // SidebarNavGroupToggleDirective, SidebarNavIconPipe, SidebarNavItemClassPipe, SidebarNavLabelComponent, @@ -50,13 +55,8 @@ import { SidebarNavLinkContentComponent, SidebarNavLinkPipe, SidebarNavTitleComponent, - SidebarHeaderComponent, - SidebarFooterComponent, - ], - imports: [ - CommonModule, - RouterModule, - SharedModule, + SidebarToggleDirective, + SidebarTogglerComponent, IconModule ], exports: [ diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar/sidebar.component.spec.ts b/projects/coreui-angular/src/lib/sidebar/sidebar/sidebar.component.spec.ts index 1f932e20..458430df 100644 --- a/projects/coreui-angular/src/lib/sidebar/sidebar/sidebar.component.spec.ts +++ b/projects/coreui-angular/src/lib/sidebar/sidebar/sidebar.component.spec.ts @@ -8,7 +8,7 @@ describe('SidebarComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ SidebarComponent ] + imports: [ SidebarComponent ] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/sidebar/sidebar/sidebar.component.ts b/projects/coreui-angular/src/lib/sidebar/sidebar/sidebar.component.ts index cb43f9f3..60588e3f 100644 --- a/projects/coreui-angular/src/lib/sidebar/sidebar/sidebar.component.ts +++ b/projects/coreui-angular/src/lib/sidebar/sidebar/sidebar.component.ts @@ -23,6 +23,7 @@ import { SidebarBackdropService } from '../sidebar-backdrop/sidebar-backdrop.ser selector: 'c-sidebar', exportAs: 'cSidebar', template: '', + standalone: true }) export class SidebarComponent implements OnChanges, OnDestroy, OnInit { static ngAcceptInputType_narrow: BooleanInput; diff --git a/projects/coreui-angular/src/lib/spinner/spinner.component.spec.ts b/projects/coreui-angular/src/lib/spinner/spinner.component.spec.ts index f80aad8f..d682b356 100644 --- a/projects/coreui-angular/src/lib/spinner/spinner.component.spec.ts +++ b/projects/coreui-angular/src/lib/spinner/spinner.component.spec.ts @@ -8,7 +8,7 @@ describe('SpinnerComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ SpinnerComponent ] + imports: [ SpinnerComponent ] }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/spinner/spinner.component.ts b/projects/coreui-angular/src/lib/spinner/spinner.component.ts index 9bf5657c..49fa47c5 100644 --- a/projects/coreui-angular/src/lib/spinner/spinner.component.ts +++ b/projects/coreui-angular/src/lib/spinner/spinner.component.ts @@ -5,6 +5,7 @@ import { Colors } from '../coreui.types'; @Component({ selector: 'c-spinner', templateUrl: './spinner.component.html', + standalone: true }) export class SpinnerComponent { /** diff --git a/projects/coreui-angular/src/lib/spinner/spinner.module.ts b/projects/coreui-angular/src/lib/spinner/spinner.module.ts index 62711164..4f6634e9 100644 --- a/projects/coreui-angular/src/lib/spinner/spinner.module.ts +++ b/projects/coreui-angular/src/lib/spinner/spinner.module.ts @@ -2,18 +2,17 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { SpinnerComponent } from './spinner.component'; -import {SharedModule} from '../shared'; +// import { SharedModule } from '../shared'; @NgModule({ - declarations: [ - SpinnerComponent - ], + declarations: [], exports: [ SpinnerComponent ], imports: [ CommonModule, - SharedModule + // SharedModule, + SpinnerComponent ] }) -export class SpinnerModule { } +export class SpinnerModule {} diff --git a/projects/coreui-angular/src/lib/table/table-active.directive.ts b/projects/coreui-angular/src/lib/table/table-active.directive.ts index 74e6803b..4306920b 100644 --- a/projects/coreui-angular/src/lib/table/table-active.directive.ts +++ b/projects/coreui-angular/src/lib/table/table-active.directive.ts @@ -2,7 +2,8 @@ import { Directive, HostBinding, Input } from '@angular/core'; import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; @Directive({ - selector: '[cTableActive]' + selector: '[cTableActive]', + standalone: true }) export class TableActiveDirective { diff --git a/projects/coreui-angular/src/lib/table/table-color.directive.ts b/projects/coreui-angular/src/lib/table/table-color.directive.ts index 0e3392d7..594e8aae 100644 --- a/projects/coreui-angular/src/lib/table/table-color.directive.ts +++ b/projects/coreui-angular/src/lib/table/table-color.directive.ts @@ -2,7 +2,8 @@ import { Directive, HostBinding, Input } from '@angular/core'; import { Colors } from '../coreui.types'; @Directive({ - selector: '[cTableColor]' + selector: '[cTableColor]', + standalone: true }) export class TableColorDirective { diff --git a/projects/coreui-angular/src/lib/table/table.directive.ts b/projects/coreui-angular/src/lib/table/table.directive.ts index e8fe4240..083f9920 100644 --- a/projects/coreui-angular/src/lib/table/table.directive.ts +++ b/projects/coreui-angular/src/lib/table/table.directive.ts @@ -3,7 +3,8 @@ import { Breakpoints, Colors } from '../coreui.types'; import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; @Directive({ - selector: '[cTable]' + selector: '[cTable]', + standalone: true }) export class TableDirective implements OnInit { static ngAcceptInputType_bordered: BooleanInput; diff --git a/projects/coreui-angular/src/lib/table/table.module.ts b/projects/coreui-angular/src/lib/table/table.module.ts index d0e1a10d..bb46d52d 100644 --- a/projects/coreui-angular/src/lib/table/table.module.ts +++ b/projects/coreui-angular/src/lib/table/table.module.ts @@ -5,18 +5,17 @@ import { TableColorDirective } from './table-color.directive'; import { TableActiveDirective } from './table-active.directive'; @NgModule({ - declarations: [ + declarations: [], + exports: [ TableDirective, TableColorDirective, TableActiveDirective ], - exports: [ + imports: [ + CommonModule, TableDirective, TableColorDirective, TableActiveDirective - ], - imports: [ - CommonModule ] }) -export class TableModule { } +export class TableModule {} diff --git a/projects/coreui-angular/src/lib/tabs/tab-content-ref.directive.ts b/projects/coreui-angular/src/lib/tabs/tab-content-ref.directive.ts index cc0f9813..6c3a7a42 100644 --- a/projects/coreui-angular/src/lib/tabs/tab-content-ref.directive.ts +++ b/projects/coreui-angular/src/lib/tabs/tab-content-ref.directive.ts @@ -16,6 +16,7 @@ import { TabService } from './tab.service'; @Directive({ selector: '[cTabContent]', + standalone: true }) export class TabContentRefDirective implements OnChanges, OnDestroy, OnInit { diff --git a/projects/coreui-angular/src/lib/tabs/tab-content/tab-content.component.html b/projects/coreui-angular/src/lib/tabs/tab-content/tab-content.component.html index 6dbc7430..8b137891 100644 --- a/projects/coreui-angular/src/lib/tabs/tab-content/tab-content.component.html +++ b/projects/coreui-angular/src/lib/tabs/tab-content/tab-content.component.html @@ -1 +1 @@ - + diff --git a/projects/coreui-angular/src/lib/tabs/tab-content/tab-content.component.spec.ts b/projects/coreui-angular/src/lib/tabs/tab-content/tab-content.component.spec.ts index 5fa43529..c1676e87 100644 --- a/projects/coreui-angular/src/lib/tabs/tab-content/tab-content.component.spec.ts +++ b/projects/coreui-angular/src/lib/tabs/tab-content/tab-content.component.spec.ts @@ -8,7 +8,7 @@ describe('TabContentComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ TabContentComponent ] + imports: [ TabContentComponent ] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/tabs/tab-content/tab-content.component.ts b/projects/coreui-angular/src/lib/tabs/tab-content/tab-content.component.ts index 51a1eda0..685a8992 100644 --- a/projects/coreui-angular/src/lib/tabs/tab-content/tab-content.component.ts +++ b/projects/coreui-angular/src/lib/tabs/tab-content/tab-content.component.ts @@ -22,10 +22,11 @@ import { TabService } from '../tab.service'; @Component({ selector: 'c-tab-content', - templateUrl: './tab-content.component.html', + template: ``, styleUrls: ['./tab-content.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush, - exportAs: 'cTabContent' + exportAs: 'cTabContent', + standalone: true }) export class TabContentComponent implements AfterContentChecked, AfterContentInit, OnChanges, OnDestroy { diff --git a/projects/coreui-angular/src/lib/tabs/tab-pane/tab-pane.component.html b/projects/coreui-angular/src/lib/tabs/tab-pane/tab-pane.component.html deleted file mode 100644 index 6dbc7430..00000000 --- a/projects/coreui-angular/src/lib/tabs/tab-pane/tab-pane.component.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/projects/coreui-angular/src/lib/tabs/tab-pane/tab-pane.component.spec.ts b/projects/coreui-angular/src/lib/tabs/tab-pane/tab-pane.component.spec.ts index 89797b71..2321045e 100644 --- a/projects/coreui-angular/src/lib/tabs/tab-pane/tab-pane.component.spec.ts +++ b/projects/coreui-angular/src/lib/tabs/tab-pane/tab-pane.component.spec.ts @@ -8,7 +8,7 @@ describe('TabPaneComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ TabPaneComponent ] + imports: [ TabPaneComponent ] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/tabs/tab-pane/tab-pane.component.ts b/projects/coreui-angular/src/lib/tabs/tab-pane/tab-pane.component.ts index a1af799a..47c65e20 100644 --- a/projects/coreui-angular/src/lib/tabs/tab-pane/tab-pane.component.ts +++ b/projects/coreui-angular/src/lib/tabs/tab-pane/tab-pane.component.ts @@ -7,9 +7,10 @@ import { coerceBooleanProperty } from '@angular/cdk/coercion'; @Component({ selector: 'c-tab-pane', - templateUrl: './tab-pane.component.html', + template: ``, styleUrls: ['./tab-pane.component.scss'], - exportAs: 'cTabPane' + exportAs: 'cTabPane', + standalone: true }) export class TabPaneComponent implements OnDestroy, OnInit { diff --git a/projects/coreui-angular/src/lib/tabs/tabs.module.ts b/projects/coreui-angular/src/lib/tabs/tabs.module.ts index 76e056aa..0e53d667 100644 --- a/projects/coreui-angular/src/lib/tabs/tabs.module.ts +++ b/projects/coreui-angular/src/lib/tabs/tabs.module.ts @@ -6,13 +6,12 @@ import { TabService } from './tab.service'; import { TabContentRefDirective } from './tab-content-ref.directive'; @NgModule({ - declarations: [ - TabContentComponent, - TabPaneComponent, - TabContentRefDirective - ], + declarations: [], imports: [ - CommonModule + CommonModule, + TabContentComponent, + TabContentRefDirective, + TabPaneComponent ], exports: [ TabContentComponent, @@ -23,4 +22,4 @@ import { TabContentRefDirective } from './tab-content-ref.directive'; TabService ] }) -export class TabsModule { } +export class TabsModule {} diff --git a/projects/coreui-angular/src/lib/toast/toast-body/toast-body.component.spec.ts b/projects/coreui-angular/src/lib/toast/toast-body/toast-body.component.spec.ts index 7185b744..31c80038 100644 --- a/projects/coreui-angular/src/lib/toast/toast-body/toast-body.component.spec.ts +++ b/projects/coreui-angular/src/lib/toast/toast-body/toast-body.component.spec.ts @@ -8,7 +8,7 @@ describe('ToastBodyComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ToastBodyComponent ] + imports: [ ToastBodyComponent ] }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/toast/toast-body/toast-body.component.ts b/projects/coreui-angular/src/lib/toast/toast-body/toast-body.component.ts index 0e2404b0..f0e14083 100644 --- a/projects/coreui-angular/src/lib/toast/toast-body/toast-body.component.ts +++ b/projects/coreui-angular/src/lib/toast/toast-body/toast-body.component.ts @@ -5,7 +5,8 @@ import { ToastComponent } from '../toast/toast.component'; selector: 'c-toast-body', template: '', styleUrls: ['./toast-body.component.scss'], - exportAs: 'cToastBody' + exportAs: 'cToastBody', + standalone: true }) export class ToastBodyComponent { diff --git a/projects/coreui-angular/src/lib/toast/toast-close.directive.ts b/projects/coreui-angular/src/lib/toast/toast-close.directive.ts index 61da8ceb..e7bfd222 100644 --- a/projects/coreui-angular/src/lib/toast/toast-close.directive.ts +++ b/projects/coreui-angular/src/lib/toast/toast-close.directive.ts @@ -3,7 +3,8 @@ import { ToasterService } from './toaster/toaster.service'; @Directive({ selector: '[cToastClose]', - exportAs: 'cToastClose' + exportAs: 'cToastClose', + standalone: true }) export class ToastCloseDirective { diff --git a/projects/coreui-angular/src/lib/toast/toast-header/toast-header.component.spec.ts b/projects/coreui-angular/src/lib/toast/toast-header/toast-header.component.spec.ts index 4a1e65c1..055d8469 100644 --- a/projects/coreui-angular/src/lib/toast/toast-header/toast-header.component.spec.ts +++ b/projects/coreui-angular/src/lib/toast/toast-header/toast-header.component.spec.ts @@ -9,7 +9,6 @@ describe('ToastHeaderComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ToastHeaderComponent ], imports: [ToastModule] }) .compileComponents(); diff --git a/projects/coreui-angular/src/lib/toast/toast-header/toast-header.component.ts b/projects/coreui-angular/src/lib/toast/toast-header/toast-header.component.ts index afc7971b..ca1dcca8 100644 --- a/projects/coreui-angular/src/lib/toast/toast-header/toast-header.component.ts +++ b/projects/coreui-angular/src/lib/toast/toast-header/toast-header.component.ts @@ -1,11 +1,17 @@ import { Component, HostBinding, Input, Optional } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { ButtonCloseDirective } from '../../button'; import { ToastComponent } from '../toast/toast.component'; +import { ToastCloseDirective } from '../toast-close.directive'; @Component({ selector: 'c-toast-header', templateUrl: './toast-header.component.html', styleUrls: ['./toast-header.component.scss'], - exportAs: 'cToastHeader' + exportAs: 'cToastHeader', + standalone: true, + imports: [CommonModule, ToastCloseDirective, ButtonCloseDirective] }) export class ToastHeaderComponent { diff --git a/projects/coreui-angular/src/lib/toast/toast.module.ts b/projects/coreui-angular/src/lib/toast/toast.module.ts index 4d237747..fd157640 100644 --- a/projects/coreui-angular/src/lib/toast/toast.module.ts +++ b/projects/coreui-angular/src/lib/toast/toast.module.ts @@ -11,23 +11,25 @@ import { ToasterHostDirective } from './toaster/toaster-host.directive'; import { ToastCloseDirective } from './toast-close.directive'; @NgModule({ - declarations: [ + declarations: [], + imports: [ + CommonModule, + ButtonModule, + ToastBodyComponent, ToastComponent, + ToastCloseDirective, ToastHeaderComponent, - ToastBodyComponent, ToasterComponent, ToasterHostDirective, - ToastCloseDirective ], - imports: [CommonModule, ButtonModule], providers: [ToasterService], exports: [ + ToastBodyComponent, ToastComponent, + ToastCloseDirective, ToastHeaderComponent, - ToastBodyComponent, ToasterComponent, - ToasterHostDirective, - ToastCloseDirective + ToasterHostDirective ] }) export class ToastModule { diff --git a/projects/coreui-angular/src/lib/toast/toast/toast.component.html b/projects/coreui-angular/src/lib/toast/toast/toast.component.html deleted file mode 100644 index 6dbc7430..00000000 --- a/projects/coreui-angular/src/lib/toast/toast/toast.component.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/projects/coreui-angular/src/lib/toast/toast/toast.component.spec.ts b/projects/coreui-angular/src/lib/toast/toast/toast.component.spec.ts index 5414d236..d9924a4b 100644 --- a/projects/coreui-angular/src/lib/toast/toast/toast.component.spec.ts +++ b/projects/coreui-angular/src/lib/toast/toast/toast.component.spec.ts @@ -10,10 +10,9 @@ describe('ToastComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - imports: [NoopAnimationsModule], - declarations: [ ToastComponent, ToastCloseDirective ] + imports: [NoopAnimationsModule, ToastComponent, ToastCloseDirective] }) - .compileComponents(); + .compileComponents(); })); beforeEach(() => { diff --git a/projects/coreui-angular/src/lib/toast/toast/toast.component.ts b/projects/coreui-angular/src/lib/toast/toast/toast.component.ts index 2a6b0548..29e7c36b 100644 --- a/projects/coreui-angular/src/lib/toast/toast/toast.component.ts +++ b/projects/coreui-angular/src/lib/toast/toast/toast.component.ts @@ -23,9 +23,10 @@ type AnimateType = ('hide' | 'show'); @Component({ selector: 'c-toast', - templateUrl: './toast.component.html', + template: ``, styleUrls: ['./toast.component.scss'], exportAs: 'cToast', + standalone: true, animations: [ trigger('fadeInOut', [ state('show', style({opacity: 1, height: '*', padding: '*', border: '*', margin: '*'})), diff --git a/projects/coreui-angular/src/lib/toast/toaster/toaster-host.directive.spec.ts b/projects/coreui-angular/src/lib/toast/toaster/toaster-host.directive.spec.ts index 47ba030a..9ed30ccc 100644 --- a/projects/coreui-angular/src/lib/toast/toaster/toaster-host.directive.spec.ts +++ b/projects/coreui-angular/src/lib/toast/toaster/toaster-host.directive.spec.ts @@ -3,7 +3,9 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ToasterHostDirective } from './toaster-host.directive'; @Component({ - template: `
` + template: `
`, + standalone: true, + imports: [ToasterHostDirective] }) class TestComponent {} @@ -14,7 +16,7 @@ describe('ToasterHostDirective', () => { beforeEach(() => { TestBed.configureTestingModule({ - declarations: [TestComponent, ToasterHostDirective] + imports: [TestComponent, ToasterHostDirective] }); fixture = TestBed.createComponent(TestComponent); component = fixture.componentInstance; diff --git a/projects/coreui-angular/src/lib/toast/toaster/toaster-host.directive.ts b/projects/coreui-angular/src/lib/toast/toaster/toaster-host.directive.ts index 8f3d6132..3c761360 100644 --- a/projects/coreui-angular/src/lib/toast/toaster/toaster-host.directive.ts +++ b/projects/coreui-angular/src/lib/toast/toaster/toaster-host.directive.ts @@ -2,7 +2,8 @@ import { Directive, ViewContainerRef } from '@angular/core'; @Directive({ selector: '[cToasterHost]', - exportAs: 'cToasterHost' + exportAs: 'cToasterHost', + standalone: true }) export class ToasterHostDirective { diff --git a/projects/coreui-angular/src/lib/toast/toaster/toaster.component.spec.ts b/projects/coreui-angular/src/lib/toast/toaster/toaster.component.spec.ts index 4f8caa71..0dd81517 100644 --- a/projects/coreui-angular/src/lib/toast/toaster/toaster.component.spec.ts +++ b/projects/coreui-angular/src/lib/toast/toaster/toaster.component.spec.ts @@ -9,7 +9,7 @@ describe('ToasterComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - declarations: [ ToasterComponent, ToasterHostDirective ] + imports: [ ToasterComponent, ToasterHostDirective ] }) .compileComponents(); })); diff --git a/projects/coreui-angular/src/lib/toast/toaster/toaster.component.ts b/projects/coreui-angular/src/lib/toast/toaster/toaster.component.ts index e7a76adb..865667ba 100644 --- a/projects/coreui-angular/src/lib/toast/toaster/toaster.component.ts +++ b/projects/coreui-angular/src/lib/toast/toaster/toaster.component.ts @@ -52,7 +52,9 @@ export type TToasterPlacement = @Component({ selector: 'c-toaster', templateUrl: './toaster.component.html', - exportAs: 'cToaster' + exportAs: 'cToaster', + standalone: true, + imports: [ToasterHostDirective] }) export class ToasterComponent implements OnDestroy, OnInit, AfterContentChecked { diff --git a/projects/coreui-angular/src/lib/tooltip/tooltip.directive.ts b/projects/coreui-angular/src/lib/tooltip/tooltip.directive.ts index 8bc7f2c5..15bf52bb 100644 --- a/projects/coreui-angular/src/lib/tooltip/tooltip.directive.ts +++ b/projects/coreui-angular/src/lib/tooltip/tooltip.directive.ts @@ -24,7 +24,8 @@ import { IListenersConfig, ListenersService } from '../services/listeners.servic @Directive({ selector: '[cTooltip]', exportAs: 'cTooltip', - providers: [ListenersService] + providers: [ListenersService], + standalone: true }) export class TooltipDirective implements OnChanges, OnDestroy, OnInit { diff --git a/projects/coreui-angular/src/lib/tooltip/tooltip.module.ts b/projects/coreui-angular/src/lib/tooltip/tooltip.module.ts index d076e2dd..ddea86cf 100644 --- a/projects/coreui-angular/src/lib/tooltip/tooltip.module.ts +++ b/projects/coreui-angular/src/lib/tooltip/tooltip.module.ts @@ -4,16 +4,15 @@ import { TooltipComponent } from './tooltip/tooltip.component'; import { TooltipDirective } from './tooltip.directive'; @NgModule({ - declarations: [ - TooltipComponent, - TooltipDirective, - ], + declarations: [], exports: [ TooltipComponent, - TooltipDirective, + TooltipDirective ], imports: [ - CommonModule + CommonModule, + TooltipComponent, + TooltipDirective ] }) -export class TooltipModule { } +export class TooltipModule {} diff --git a/projects/coreui-angular/src/lib/tooltip/tooltip/tooltip.component.spec.ts b/projects/coreui-angular/src/lib/tooltip/tooltip/tooltip.component.spec.ts index 082ab4bd..12e360dc 100644 --- a/projects/coreui-angular/src/lib/tooltip/tooltip/tooltip.component.spec.ts +++ b/projects/coreui-angular/src/lib/tooltip/tooltip/tooltip.component.spec.ts @@ -8,7 +8,7 @@ describe('TooltipComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ TooltipComponent ] + imports: [ TooltipComponent ] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/tooltip/tooltip/tooltip.component.ts b/projects/coreui-angular/src/lib/tooltip/tooltip/tooltip.component.ts index 47d4f51b..54d6a123 100644 --- a/projects/coreui-angular/src/lib/tooltip/tooltip/tooltip.component.ts +++ b/projects/coreui-angular/src/lib/tooltip/tooltip/tooltip.component.ts @@ -14,7 +14,8 @@ import { @Component({ selector: 'c-tooltip', - templateUrl: './tooltip.component.html' + templateUrl: './tooltip.component.html', + standalone: true }) export class TooltipComponent implements AfterViewInit, OnChanges, OnDestroy { diff --git a/projects/coreui-angular/src/lib/utilities/align.directive.ts b/projects/coreui-angular/src/lib/utilities/align.directive.ts index e5473810..898c867e 100644 --- a/projects/coreui-angular/src/lib/utilities/align.directive.ts +++ b/projects/coreui-angular/src/lib/utilities/align.directive.ts @@ -2,7 +2,8 @@ import { Directive, HostBinding, Input } from '@angular/core'; import { Alignment } from '../coreui.types'; @Directive({ - selector: '[cAlign]' + selector: '[cAlign]', + standalone: true }) export class AlignDirective { /** diff --git a/projects/coreui-angular/src/lib/utilities/bg-color.directive.ts b/projects/coreui-angular/src/lib/utilities/bg-color.directive.ts index 2c109b9e..9a9156a2 100644 --- a/projects/coreui-angular/src/lib/utilities/bg-color.directive.ts +++ b/projects/coreui-angular/src/lib/utilities/bg-color.directive.ts @@ -2,7 +2,8 @@ import { Directive, HostBinding, Input } from '@angular/core'; import { BackgroundColors } from '../coreui.types'; @Directive({ - selector: '[cBgColor]' + selector: '[cBgColor]', + standalone: true }) export class BgColorDirective { diff --git a/projects/coreui-angular/src/lib/utilities/border.directive.ts b/projects/coreui-angular/src/lib/utilities/border.directive.ts index dfad3031..8ff2be5b 100644 --- a/projects/coreui-angular/src/lib/utilities/border.directive.ts +++ b/projects/coreui-angular/src/lib/utilities/border.directive.ts @@ -2,7 +2,8 @@ import { Directive, HostBinding, Input } from '@angular/core'; import { Border, BorderColor, IBorderElement, BorderWidth } from './border.type'; @Directive({ - selector: '[cBorder]' + selector: '[cBorder]', + standalone: true }) export class BorderDirective { /** diff --git a/projects/coreui-angular/src/lib/utilities/rounded.directive.ts b/projects/coreui-angular/src/lib/utilities/rounded.directive.ts index b26aa460..77ecdb95 100644 --- a/projects/coreui-angular/src/lib/utilities/rounded.directive.ts +++ b/projects/coreui-angular/src/lib/utilities/rounded.directive.ts @@ -2,7 +2,8 @@ import { Directive, HostBinding, Input } from '@angular/core'; import { Rounded, RoundedSize } from './rounded.type'; @Directive({ - selector: '[cRounded]' + selector: '[cRounded]', + standalone: true }) export class RoundedDirective { diff --git a/projects/coreui-angular/src/lib/utilities/text-color.directive.ts b/projects/coreui-angular/src/lib/utilities/text-color.directive.ts index 3bb485ef..f9d3d0a6 100644 --- a/projects/coreui-angular/src/lib/utilities/text-color.directive.ts +++ b/projects/coreui-angular/src/lib/utilities/text-color.directive.ts @@ -2,7 +2,8 @@ import { Directive, HostBinding, Input } from '@angular/core'; import { TextColors } from '../coreui.types'; @Directive({ - selector: '[cTextColor]' + selector: '[cTextColor]', + standalone: true }) export class TextColorDirective { diff --git a/projects/coreui-angular/src/lib/utilities/utilities.module.ts b/projects/coreui-angular/src/lib/utilities/utilities.module.ts index b292e29f..478361aa 100644 --- a/projects/coreui-angular/src/lib/utilities/utilities.module.ts +++ b/projects/coreui-angular/src/lib/utilities/utilities.module.ts @@ -7,16 +7,15 @@ import { TextColorDirective } from './text-color.directive'; import { AlignDirective } from './align.directive'; @NgModule({ - declarations: [ + declarations: [], + imports: [ + CommonModule, BgColorDirective, BorderDirective, RoundedDirective, TextColorDirective, AlignDirective ], - imports: [ - CommonModule - ], exports: [ BgColorDirective, BorderDirective, diff --git a/projects/coreui-angular/src/lib/utilities/visible.directive.ts b/projects/coreui-angular/src/lib/utilities/visible.directive.ts index cb1d0463..09f0f3bc 100644 --- a/projects/coreui-angular/src/lib/utilities/visible.directive.ts +++ b/projects/coreui-angular/src/lib/utilities/visible.directive.ts @@ -1,7 +1,8 @@ import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core'; @Directive({ - selector: '[cVisible]' + selector: '[cVisible]', + standalone: true }) export class VisibleDirective { diff --git a/projects/coreui-angular/src/lib/widget/widget-stat-a/widget-stat-a.component.scss b/projects/coreui-angular/src/lib/widget/widget-stat-a/widget-stat-a.component.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/projects/coreui-angular/src/lib/widget/widget-stat-a/widget-stat-a.component.spec.ts b/projects/coreui-angular/src/lib/widget/widget-stat-a/widget-stat-a.component.spec.ts index e0c0ec32..bb33c8f0 100644 --- a/projects/coreui-angular/src/lib/widget/widget-stat-a/widget-stat-a.component.spec.ts +++ b/projects/coreui-angular/src/lib/widget/widget-stat-a/widget-stat-a.component.spec.ts @@ -1,7 +1,6 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { WidgetStatAComponent } from './widget-stat-a.component'; -import { CardModule } from '../../card'; describe('WidgetStatAComponent', () => { let component: WidgetStatAComponent; @@ -9,8 +8,7 @@ describe('WidgetStatAComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [WidgetStatAComponent], - imports: [CardModule] + imports: [WidgetStatAComponent] }) .compileComponents(); }); diff --git a/projects/coreui-angular/src/lib/widget/widget-stat-a/widget-stat-a.component.ts b/projects/coreui-angular/src/lib/widget/widget-stat-a/widget-stat-a.component.ts index b0ce1d9a..7b7afa28 100644 --- a/projects/coreui-angular/src/lib/widget/widget-stat-a/widget-stat-a.component.ts +++ b/projects/coreui-angular/src/lib/widget/widget-stat-a/widget-stat-a.component.ts @@ -2,12 +2,18 @@ import { AfterContentInit, Component, ContentChildren, HostBinding, Input, Query import { Colors } from '../../coreui.types'; import { TemplateIdDirective } from '../../shared'; +import { CommonModule } from '@angular/common'; +import { CardBodyComponent } from '../../card'; @Component({ selector: 'c-widget-stat-a', templateUrl: './widget-stat-a.component.html', - styleUrls: ['./widget-stat-a.component.scss'], - exportAs: 'cWidgetStatA' + exportAs: 'cWidgetStatA', + imports: [ + CommonModule, + CardBodyComponent + ], + standalone: true }) export class WidgetStatAComponent implements AfterContentInit { /** @@ -28,7 +34,7 @@ export class WidgetStatAComponent implements AfterContentInit { templates: any = {}; - @ContentChildren(TemplateIdDirective, {descendants: true}) contentTemplates!: QueryList; + @ContentChildren(TemplateIdDirective, { descendants: true }) contentTemplates!: QueryList; @HostBinding('class') get hostClasses() { @@ -36,7 +42,7 @@ export class WidgetStatAComponent implements AfterContentInit { 'card': true, [`bg-${this.color}`]: !!this.color, 'text-high-emphasis-inverse': !!this.color - } + }; } get bodyClasses() { @@ -44,8 +50,8 @@ export class WidgetStatAComponent implements AfterContentInit { 'pb-0': true, 'd-flex': true, 'justify-content-between': true, - 'align-items-start': true, - } + 'align-items-start': true + }; } ngAfterContentInit(): void { diff --git a/projects/coreui-angular/src/lib/widget/widget-stat-b/widget-stat-b.component.spec.ts b/projects/coreui-angular/src/lib/widget/widget-stat-b/widget-stat-b.component.spec.ts index d17113b8..0e2dc266 100644 --- a/projects/coreui-angular/src/lib/widget/widget-stat-b/widget-stat-b.component.spec.ts +++ b/projects/coreui-angular/src/lib/widget/widget-stat-b/widget-stat-b.component.spec.ts @@ -1,7 +1,6 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { WidgetStatBComponent } from './widget-stat-b.component'; -import { CardModule } from '../../card'; describe('WidgetStatBComponent', () => { let component: WidgetStatBComponent; @@ -9,10 +8,9 @@ describe('WidgetStatBComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ WidgetStatBComponent ], - imports: [CardModule] + imports: [WidgetStatBComponent] }) - .compileComponents(); + .compileComponents(); }); beforeEach(() => { diff --git a/projects/coreui-angular/src/lib/widget/widget-stat-b/widget-stat-b.component.ts b/projects/coreui-angular/src/lib/widget/widget-stat-b/widget-stat-b.component.ts index 5b9f6337..d4ebdfaf 100644 --- a/projects/coreui-angular/src/lib/widget/widget-stat-b/widget-stat-b.component.ts +++ b/projects/coreui-angular/src/lib/widget/widget-stat-b/widget-stat-b.component.ts @@ -1,14 +1,17 @@ import { Component, HostBinding, Input, OnInit } from '@angular/core'; import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; +import { CommonModule } from '@angular/common'; import { Colors } from '../../coreui.types'; -import { CardComponent } from '../../card'; +import { CardBodyComponent, CardComponent } from '../../card'; @Component({ selector: 'c-widget-stat-b', templateUrl: './widget-stat-b.component.html', styleUrls: ['./widget-stat-b.component.scss'], - exportAs: 'cWidgetStatB' + exportAs: 'cWidgetStatB', + standalone: true, + imports: [CommonModule, CardBodyComponent] }) export class WidgetStatBComponent extends CardComponent { diff --git a/projects/coreui-angular/src/lib/widget/widget-stat-c/widget-stat-c.component.scss b/projects/coreui-angular/src/lib/widget/widget-stat-c/widget-stat-c.component.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/projects/coreui-angular/src/lib/widget/widget-stat-c/widget-stat-c.component.spec.ts b/projects/coreui-angular/src/lib/widget/widget-stat-c/widget-stat-c.component.spec.ts index a5d100c0..8a56c500 100644 --- a/projects/coreui-angular/src/lib/widget/widget-stat-c/widget-stat-c.component.spec.ts +++ b/projects/coreui-angular/src/lib/widget/widget-stat-c/widget-stat-c.component.spec.ts @@ -1,7 +1,6 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { WidgetStatCComponent } from './widget-stat-c.component'; -import { CardModule } from '../../card'; describe('WidgetStatCComponent', () => { let component: WidgetStatCComponent; @@ -9,10 +8,10 @@ describe('WidgetStatCComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ WidgetStatCComponent ], - imports: [CardModule] + declarations: [], + imports: [WidgetStatCComponent] }) - .compileComponents(); + .compileComponents(); }); beforeEach(() => { diff --git a/projects/coreui-angular/src/lib/widget/widget-stat-c/widget-stat-c.component.ts b/projects/coreui-angular/src/lib/widget/widget-stat-c/widget-stat-c.component.ts index 1dfdd8fa..86cb6652 100644 --- a/projects/coreui-angular/src/lib/widget/widget-stat-c/widget-stat-c.component.ts +++ b/projects/coreui-angular/src/lib/widget/widget-stat-c/widget-stat-c.component.ts @@ -1,14 +1,16 @@ import { AfterContentInit, Component, ContentChildren, HostBinding, Input, QueryList } from '@angular/core'; import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; -import { CardComponent } from '../../card'; +import { CardBodyComponent, CardComponent } from '../../card'; import { TemplateIdDirective } from '../../shared'; +import { CommonModule } from '@angular/common'; @Component({ selector: 'c-widget-stat-c', templateUrl: './widget-stat-c.component.html', - styleUrls: ['./widget-stat-c.component.scss'], - exportAs: 'cWidgetStatC' + exportAs: 'cWidgetStatC', + standalone: true, + imports: [CommonModule, CardBodyComponent] }) export class WidgetStatCComponent extends CardComponent implements AfterContentInit { diff --git a/projects/coreui-angular/src/lib/widget/widget-stat-d/widget-stat-d.component.scss b/projects/coreui-angular/src/lib/widget/widget-stat-d/widget-stat-d.component.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/projects/coreui-angular/src/lib/widget/widget-stat-d/widget-stat-d.component.spec.ts b/projects/coreui-angular/src/lib/widget/widget-stat-d/widget-stat-d.component.spec.ts index 73fab9cc..8db4e1c9 100644 --- a/projects/coreui-angular/src/lib/widget/widget-stat-d/widget-stat-d.component.spec.ts +++ b/projects/coreui-angular/src/lib/widget/widget-stat-d/widget-stat-d.component.spec.ts @@ -1,7 +1,6 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { WidgetStatDComponent } from './widget-stat-d.component'; -import { CardModule } from '../../card'; describe('WidgetStatDComponent', () => { let component: WidgetStatDComponent; @@ -9,10 +8,9 @@ describe('WidgetStatDComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ WidgetStatDComponent ], - imports: [CardModule] + imports: [WidgetStatDComponent] }) - .compileComponents(); + .compileComponents(); }); beforeEach(() => { diff --git a/projects/coreui-angular/src/lib/widget/widget-stat-d/widget-stat-d.component.ts b/projects/coreui-angular/src/lib/widget/widget-stat-d/widget-stat-d.component.ts index 7ac3c8b6..e0f7ba9f 100644 --- a/projects/coreui-angular/src/lib/widget/widget-stat-d/widget-stat-d.component.ts +++ b/projects/coreui-angular/src/lib/widget/widget-stat-d/widget-stat-d.component.ts @@ -1,5 +1,8 @@ -import { Component, HostBinding, Input, OnInit } from '@angular/core'; +import { Component, HostBinding, Input } from '@angular/core'; import { Colors } from '../../coreui.types'; +import { CommonModule } from '@angular/common'; +import { CardBodyComponent, CardHeaderComponent } from '../../card'; +import { ColComponent, RowDirective } from '../../grid'; export type WidgetStatDValue = { title?: string, @@ -9,10 +12,13 @@ export type WidgetStatDValue = { @Component({ selector: 'c-widget-stat-d', templateUrl: './widget-stat-d.component.html', - styleUrls: ['./widget-stat-d.component.scss'], - exportAs: 'cWidgetStatD' + exportAs: 'cWidgetStatD', + standalone: true, + imports: [CommonModule, CardHeaderComponent, CardBodyComponent, ColComponent, RowDirective] }) export class WidgetStatDComponent { + constructor() { } + /** * Sets the color context of the component to one of CoreUI’s themed colors. * @type Colors @@ -24,14 +30,11 @@ export class WidgetStatDComponent { */ @Input() values?: WidgetStatDValue[]; - constructor() { - } - @HostBinding('class') get hostClasses() { return { 'card': true - } + }; } get headerClasses() { @@ -40,8 +43,8 @@ export class WidgetStatDComponent { 'd-flex': true, 'justify-content-center': true, 'align-items-center': true, - [`bg-${this.color}`]: this.color, - } + [`bg-${this.color}`]: this.color + }; } } diff --git a/projects/coreui-angular/src/lib/widget/widget-stat-e/widget-stat-e.component.scss b/projects/coreui-angular/src/lib/widget/widget-stat-e/widget-stat-e.component.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/projects/coreui-angular/src/lib/widget/widget-stat-e/widget-stat-e.component.spec.ts b/projects/coreui-angular/src/lib/widget/widget-stat-e/widget-stat-e.component.spec.ts index 4993f82c..e82f60d4 100644 --- a/projects/coreui-angular/src/lib/widget/widget-stat-e/widget-stat-e.component.spec.ts +++ b/projects/coreui-angular/src/lib/widget/widget-stat-e/widget-stat-e.component.spec.ts @@ -1,7 +1,6 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { WidgetStatEComponent } from './widget-stat-e.component'; -import { CardModule } from '../../card'; describe('WidgetStatEComponent', () => { let component: WidgetStatEComponent; @@ -9,10 +8,9 @@ describe('WidgetStatEComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ WidgetStatEComponent ], - imports: [CardModule] + imports: [WidgetStatEComponent] }) - .compileComponents(); + .compileComponents(); }); beforeEach(() => { diff --git a/projects/coreui-angular/src/lib/widget/widget-stat-e/widget-stat-e.component.ts b/projects/coreui-angular/src/lib/widget/widget-stat-e/widget-stat-e.component.ts index 97789236..d4c21ca3 100644 --- a/projects/coreui-angular/src/lib/widget/widget-stat-e/widget-stat-e.component.ts +++ b/projects/coreui-angular/src/lib/widget/widget-stat-e/widget-stat-e.component.ts @@ -1,17 +1,20 @@ import { Component, Input } from '@angular/core'; -import { CardComponent } from '../../card'; +import { CommonModule } from '@angular/common'; +import { CardBodyComponent, CardComponent } from '../../card'; @Component({ selector: 'c-widget-stat-e', templateUrl: './widget-stat-e.component.html', - styleUrls: ['./widget-stat-e.component.scss'], - exportAs: 'cWidgetStatE' + exportAs: 'cWidgetStatE', + standalone: true, + imports: [CardBodyComponent, CommonModule] }) export class WidgetStatEComponent extends CardComponent { constructor() { super(); } + /** * Title of the widget to display * @type string @@ -29,8 +32,8 @@ export class WidgetStatEComponent extends CardComponent { 'small': true, 'text-uppercase': true, 'fw-semibold': true, - [`text-${this.textColor}`]: !!this.textColor, - } + [`text-${this.textColor}`]: !!this.textColor + }; } } diff --git a/projects/coreui-angular/src/lib/widget/widget-stat-f/widget-stat-f.component.scss b/projects/coreui-angular/src/lib/widget/widget-stat-f/widget-stat-f.component.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/projects/coreui-angular/src/lib/widget/widget-stat-f/widget-stat-f.component.spec.ts b/projects/coreui-angular/src/lib/widget/widget-stat-f/widget-stat-f.component.spec.ts index 2d741853..f2cc1765 100644 --- a/projects/coreui-angular/src/lib/widget/widget-stat-f/widget-stat-f.component.spec.ts +++ b/projects/coreui-angular/src/lib/widget/widget-stat-f/widget-stat-f.component.spec.ts @@ -1,7 +1,6 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { WidgetStatFComponent } from './widget-stat-f.component'; -import { CardModule } from '../../card'; describe('WidgetStatFComponent', () => { let component: WidgetStatFComponent; @@ -9,10 +8,9 @@ describe('WidgetStatFComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ WidgetStatFComponent ], - imports: [CardModule] + imports: [WidgetStatFComponent] }) - .compileComponents(); + .compileComponents(); }); beforeEach(() => { diff --git a/projects/coreui-angular/src/lib/widget/widget-stat-f/widget-stat-f.component.ts b/projects/coreui-angular/src/lib/widget/widget-stat-f/widget-stat-f.component.ts index 41ebb53e..ae0f5f0e 100644 --- a/projects/coreui-angular/src/lib/widget/widget-stat-f/widget-stat-f.component.ts +++ b/projects/coreui-angular/src/lib/widget/widget-stat-f/widget-stat-f.component.ts @@ -3,12 +3,15 @@ import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'; import { TemplateIdDirective } from '../../shared'; import { Colors } from '../../coreui.types'; +import { CommonModule } from '@angular/common'; +import { CardBodyComponent, CardFooterComponent } from '../../card'; @Component({ selector: 'c-widget-stat-f', templateUrl: './widget-stat-f.component.html', - styleUrls: ['./widget-stat-f.component.scss'], - exportAs: 'cWidgetStatB' + exportAs: 'cWidgetStatB', + standalone: true, + imports: [CommonModule, CardBodyComponent, CardFooterComponent] }) export class WidgetStatFComponent implements AfterContentInit { diff --git a/projects/coreui-angular/src/lib/widget/widget.module.ts b/projects/coreui-angular/src/lib/widget/widget.module.ts index 5ea0e142..db81b911 100644 --- a/projects/coreui-angular/src/lib/widget/widget.module.ts +++ b/projects/coreui-angular/src/lib/widget/widget.module.ts @@ -12,7 +12,11 @@ import { WidgetStatEComponent } from './widget-stat-e/widget-stat-e.component'; import { WidgetStatFComponent } from './widget-stat-f/widget-stat-f.component'; @NgModule({ - declarations: [ + declarations: [], + imports: [ + CommonModule, + CardModule, + GridModule, WidgetStatAComponent, WidgetStatBComponent, WidgetStatCComponent, @@ -20,11 +24,6 @@ import { WidgetStatFComponent } from './widget-stat-f/widget-stat-f.component'; WidgetStatEComponent, WidgetStatFComponent ], - imports: [ - CommonModule, - CardModule, - GridModule, - ], exports: [ WidgetStatAComponent, WidgetStatBComponent, diff --git a/projects/coreui-icons-angular/src/lib/icon/icon.component.spec.ts b/projects/coreui-icons-angular/src/lib/icon/icon.component.spec.ts index ece5574f..eeddebc4 100644 --- a/projects/coreui-icons-angular/src/lib/icon/icon.component.spec.ts +++ b/projects/coreui-icons-angular/src/lib/icon/icon.component.spec.ts @@ -31,7 +31,8 @@ describe('IconComponent', () => { beforeEach(async () => { TestBed.configureTestingModule({ - declarations: [TestComponent, IconComponent, HtmlAttributesDirective], + declarations: [TestComponent], + imports: [IconComponent, HtmlAttributesDirective], providers: [IconSetService] }).compileComponents(); diff --git a/projects/coreui-icons-angular/src/lib/icon/icon.component.ts b/projects/coreui-icons-angular/src/lib/icon/icon.component.ts index 4ebf3793..63c437f0 100644 --- a/projects/coreui-icons-angular/src/lib/icon/icon.component.ts +++ b/projects/coreui-icons-angular/src/lib/icon/icon.component.ts @@ -1,12 +1,17 @@ +import { CommonModule } from '@angular/common'; import { AfterViewInit, Component, ElementRef, Input, Renderer2, ViewChild } from '@angular/core'; import { DomSanitizer, SafeHtml } from '@angular/platform-browser'; + +import { HtmlAttributesDirective } from '../shared/html-attr.directive'; import { IconSetService } from '../icon-set'; import { IconSize, IIcon } from './icon.interface'; @Component({ selector: 'c-icon', templateUrl: './icon.component.svg', - styleUrls: ['./icon.component.scss'] + styleUrls: ['./icon.component.scss'], + standalone: true, + imports: [CommonModule, HtmlAttributesDirective] }) export class IconComponent implements IIcon, AfterViewInit { diff --git a/projects/coreui-icons-angular/src/lib/icon/icon.directive.spec.ts b/projects/coreui-icons-angular/src/lib/icon/icon.directive.spec.ts index 9c9bfe6a..002e314f 100644 --- a/projects/coreui-icons-angular/src/lib/icon/icon.directive.spec.ts +++ b/projects/coreui-icons-angular/src/lib/icon/icon.directive.spec.ts @@ -11,15 +11,14 @@ import { cilList } from '@coreui/icons'; ` }) class TestComponent { - @ViewChild(IconDirective, {read: IconDirective}) iconRef!: IconDirective; - constructor( public iconSet: IconSetService ) { - this.iconSet.icons = {cilList}; + this.iconSet.icons = { cilList }; } -} + @ViewChild(IconDirective, { read: IconDirective }) iconRef!: IconDirective; +} describe('IconDirective', () => { let component: TestComponent; @@ -31,8 +30,9 @@ describe('IconDirective', () => { beforeEach(() => { TestBed.configureTestingModule({ - declarations: [TestComponent, IconDirective], - providers: [IconSetService] + declarations: [TestComponent], + providers: [IconSetService], + imports: [IconDirective] }).compileComponents(); fixture = TestBed.createComponent(TestComponent); diff --git a/projects/coreui-icons-angular/src/lib/icon/icon.directive.ts b/projects/coreui-icons-angular/src/lib/icon/icon.directive.ts index c4725cc5..35ecf3fe 100644 --- a/projects/coreui-icons-angular/src/lib/icon/icon.directive.ts +++ b/projects/coreui-icons-angular/src/lib/icon/icon.directive.ts @@ -6,7 +6,8 @@ import { IconSize, IIcon } from './icon.interface'; @Directive({ selector: 'svg[cIcon]', - exportAs: 'cIcon' + exportAs: 'cIcon', + standalone: true }) export class IconDirective implements IIcon { diff --git a/projects/coreui-icons-angular/src/lib/icon/icon.module.ts b/projects/coreui-icons-angular/src/lib/icon/icon.module.ts index ac606b38..d03efa0c 100644 --- a/projects/coreui-icons-angular/src/lib/icon/icon.module.ts +++ b/projects/coreui-icons-angular/src/lib/icon/icon.module.ts @@ -1,23 +1,22 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { HtmlAttributesDirective } from '../shared/html-attr.directive'; import { IconComponent } from './icon.component'; import { IconDirective } from './icon.directive'; -import { HtmlAttributesDirective } from '../shared/html-attr.directive'; @NgModule({ - declarations: [ - IconComponent, - HtmlAttributesDirective, - IconDirective - ], + declarations: [], imports: [ CommonModule, + HtmlAttributesDirective, + IconComponent, + IconDirective ], exports: [ IconComponent, IconDirective - ], + ] }) export class IconModule { } diff --git a/projects/coreui-icons-angular/src/lib/shared/html-attr.directive.spec.ts b/projects/coreui-icons-angular/src/lib/shared/html-attr.directive.spec.ts index 9a82f25e..1c2c4ebe 100644 --- a/projects/coreui-icons-angular/src/lib/shared/html-attr.directive.spec.ts +++ b/projects/coreui-icons-angular/src/lib/shared/html-attr.directive.spec.ts @@ -20,7 +20,8 @@ describe('HtmlAttributesDirective', () => { beforeEach(() => { TestBed.configureTestingModule({ - declarations: [TestComponent, HtmlAttributesDirective] + declarations: [TestComponent], + imports: [HtmlAttributesDirective] }); fixture = TestBed.createComponent(TestComponent); component = fixture.componentInstance; diff --git a/projects/coreui-icons-angular/src/lib/shared/html-attr.directive.ts b/projects/coreui-icons-angular/src/lib/shared/html-attr.directive.ts index 9ad1694f..f1e14c3c 100644 --- a/projects/coreui-icons-angular/src/lib/shared/html-attr.directive.ts +++ b/projects/coreui-icons-angular/src/lib/shared/html-attr.directive.ts @@ -2,7 +2,8 @@ import { Directive, ElementRef, Input, OnInit, Renderer2 } from '@angular/core'; @Directive({ selector: '[cHtmlAttr]', - exportAs: 'cHtmlAttr' + exportAs: 'cHtmlAttr', + standalone: true }) export class HtmlAttributesDirective implements OnInit { From d38b325e4a2af3f8e0add8d4e318dd672664073a Mon Sep 17 00:00:00 2001 From: xidedix Date: Thu, 2 Feb 2023 23:03:34 +0100 Subject: [PATCH 7/7] chore: ship v4.4.0-next.0 --- CHANGELOG.md | 6 ++++++ projects/coreui-angular-chartjs/package.json | 2 +- projects/coreui-angular/package.json | 2 +- projects/coreui-icons-angular/package.json | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d263d59a..060a3b53 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ --- +#### `4.4.0-next.0` + +- feat: standalone components (wip) + +--- + #### `4.3.10` - feat(offcanvas): add responsive variations diff --git a/projects/coreui-angular-chartjs/package.json b/projects/coreui-angular-chartjs/package.json index b05224fe..5f38a944 100644 --- a/projects/coreui-angular-chartjs/package.json +++ b/projects/coreui-angular-chartjs/package.json @@ -1,6 +1,6 @@ { "name": "@coreui/angular-chartjs", - "version": "4.3.9", + "version": "4.4.0-next.0", "description": "Angular wrapper component for Chart.js", "copyright": "Copyright 2022 creativeLabs Łukasz Holeczek", "license": "MIT", diff --git a/projects/coreui-angular/package.json b/projects/coreui-angular/package.json index 2bb6fa35..e1441489 100644 --- a/projects/coreui-angular/package.json +++ b/projects/coreui-angular/package.json @@ -1,6 +1,6 @@ { "name": "@coreui/angular", - "version": "4.3.10", + "version": "4.4.0-next.0", "description": "CoreUI for Angular UI components library", "copyright": "Copyright 2022 creativeLabs Łukasz Holeczek", "license": "MIT", diff --git a/projects/coreui-icons-angular/package.json b/projects/coreui-icons-angular/package.json index 68517916..e44022e7 100644 --- a/projects/coreui-icons-angular/package.json +++ b/projects/coreui-icons-angular/package.json @@ -1,6 +1,6 @@ { "name": "@coreui/icons-angular", - "version": "4.3.9", + "version": "4.4.0-next.0", "description": "CoreUI Icons Angular component and service", "copyright": "Copyright 2022 creativeLabs Łukasz Holeczek", "license": "MIT",