@spicainternational/ngx-sds-components 2.28.2 → 2.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/esm2020/public-api.mjs +3 -1
  2. package/esm2020/src/lib/badge/badge.directive.mjs +88 -0
  3. package/esm2020/src/lib/badge/badge.module.mjs +29 -0
  4. package/esm2020/src/lib/badge/badge.types.mjs +2 -0
  5. package/esm2020/src/lib/badge/components/badge.component.mjs +59 -0
  6. package/esm2020/src/lib/badge/public-api.mjs +3 -0
  7. package/esm2020/src/lib/badge/spicainternational-ngx-sds-components-src-lib-badge.mjs +5 -0
  8. package/esm2020/src/lib/expansion-panel/expansion-panel.component.mjs +37 -11
  9. package/esm2020/src/lib/expansion-panel/expansion-panel.module.mjs +10 -10
  10. package/esm2020/src/lib/expansion-panel/expansion-panel.types.mjs +2 -0
  11. package/fesm2015/spicainternational-ngx-sds-components-src-lib-badge.mjs +176 -0
  12. package/fesm2015/spicainternational-ngx-sds-components-src-lib-badge.mjs.map +1 -0
  13. package/fesm2015/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +44 -18
  14. package/fesm2015/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map +1 -1
  15. package/fesm2015/spicainternational-ngx-sds-components.mjs +2 -0
  16. package/fesm2015/spicainternational-ngx-sds-components.mjs.map +1 -1
  17. package/fesm2020/spicainternational-ngx-sds-components-src-lib-badge.mjs +176 -0
  18. package/fesm2020/spicainternational-ngx-sds-components-src-lib-badge.mjs.map +1 -0
  19. package/fesm2020/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +44 -18
  20. package/fesm2020/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map +1 -1
  21. package/fesm2020/spicainternational-ngx-sds-components.mjs +2 -0
  22. package/fesm2020/spicainternational-ngx-sds-components.mjs.map +1 -1
  23. package/package.json +9 -1
  24. package/public-api.d.ts +2 -0
  25. package/src/lib/badge/badge.directive.d.ts +23 -0
  26. package/src/lib/badge/badge.module.d.ts +9 -0
  27. package/src/lib/badge/badge.types.d.ts +2 -0
  28. package/src/lib/badge/components/badge.component.d.ts +23 -0
  29. package/src/lib/badge/package.json +10 -0
  30. package/src/lib/badge/public-api.d.ts +2 -0
  31. package/src/lib/badge/spicainternational-ngx-sds-components-src-lib-badge.d.ts +5 -0
  32. package/src/lib/expansion-panel/expansion-panel.component.d.ts +21 -6
  33. package/src/lib/expansion-panel/expansion-panel.module.d.ts +4 -4
  34. package/src/lib/expansion-panel/expansion-panel.types.d.ts +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-badge.mjs","sources":["../../../projects/ngx-sds-components/src/lib/badge/components/badge.component.ts","../../../projects/ngx-sds-components/src/lib/badge/components/badge.component.html","../../../projects/ngx-sds-components/src/lib/badge/badge.directive.ts","../../../projects/ngx-sds-components/src/lib/badge/badge.module.ts","../../../projects/ngx-sds-components/src/lib/badge/spicainternational-ngx-sds-components-src-lib-badge.ts"],"sourcesContent":["import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { BadgeSize, BadgeVariant } from '../badge.types';\r\n\r\n@Component({\r\n selector: 'sds-badge',\r\n templateUrl: './badge.component.html',\r\n styleUrls: ['./badge.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SdsBadgeComponent implements OnInit {\r\n private _text: string = '';\r\n private _size: BadgeSize = 'default';\r\n private _variant: BadgeVariant = 'primary';\r\n private _left: number = 0;\r\n\r\n\r\n public get text() {\r\n return this._text;\r\n }\r\n\r\n public set text(value: string) {\r\n if (this._text !== value) {\r\n this._text = value;\r\n this.refresh();\r\n }\r\n }\r\n\r\n public get size() {\r\n return this._size;\r\n }\r\n\r\n public set size(value: BadgeSize) {\r\n if (this._size !== value) {\r\n this._size = value;\r\n this.refresh();\r\n }\r\n }\r\n\r\n public get variant() {\r\n return this._variant;\r\n }\r\n\r\n public set variant(value: BadgeVariant) {\r\n if (this._variant !== value) {\r\n this._variant = value;\r\n this.refresh();\r\n }\r\n }\r\n\r\n public get left() {\r\n return this._left;\r\n }\r\n\r\n public set left(value: number) {\r\n if (this._left !== value) {\r\n this._left = value;\r\n this.refresh();\r\n }\r\n }\r\n\r\n \r\n \r\n\r\n constructor(\r\n private readonly cdRef: ChangeDetectorRef\r\n ) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n\r\n private refresh(){\r\n this.cdRef.detectChanges();\r\n }\r\n}\r\n","<div \r\n class=\"sds-badge\"\r\n [class.primary]=\"variant==='primary'\"\r\n [class.secondary]=\"variant==='secondary'\"\r\n [style.left.px]=\"left\"\r\n [class.default]=\"size === 'default'\"\r\n [class.small]=\"size === 'small'\"\r\n title=\"test\"\r\n\r\n >\r\n <span *ngIf=\"size=='default'\">{{text}}</span>\r\n</div>\r\n","import {\r\n AfterViewInit,\r\n ApplicationRef,\r\n ComponentRef,\r\n Directive,\r\n ElementRef,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n SimpleChanges,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { BadgeSize, BadgeVariant } from './badge.types';\r\nimport { SdsBadgeComponent } from './components/badge.component';\r\n\r\n@Directive({\r\n selector: '[sdsBadge]',\r\n})\r\nexport class SdsBadgeDirective implements OnInit, OnChanges, OnDestroy, AfterViewInit {\r\n @Input() sdsBadge = '';\r\n @Input() size: BadgeSize = 'default';\r\n @Input() variant: BadgeVariant = 'primary';\r\n\r\n private badgeComponentRef: ComponentRef<any> | null = null;\r\n private observer: any; //ResizeObserver = null;\r\n\r\n constructor(\r\n private host: ElementRef,\r\n private appRef: ApplicationRef,\r\n private viewContainerRef: ViewContainerRef\r\n ) {}\r\n\r\n ngAfterViewInit(): void {\r\n this.initializeBadge();\r\n }\r\n\r\n ngOnInit(): void {\r\n const observer = new ResizeObserver(_ => {\r\n if (this.badgeComponentRef) {\r\n this.setBadgePosition();\r\n // this.badgeComponentRef.instance.left = this.host.nativeElement.offsetWidth;\r\n }\r\n });\r\n \r\n observer.observe(this.host.nativeElement);\r\n }; \r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['sdsBadge'] && !changes['sdsBadge'].firstChange) {\r\n const value = `${changes['sdsBadge'].currentValue}`.trim();\r\n if (value?.length > 0) {\r\n this.initializeBadge();\r\n } else {\r\n this.destroyBadgeComponentRef();\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.observer.unobserve(this.host.nativeElement);\r\n this.observer.disconnect();\r\n\r\n this.destroyBadgeComponentRef();\r\n }\r\n\r\n private initializeBadge() {\r\n if (this.badgeComponentRef === null) {\r\n if (this.sdsBadge) {\r\n this.badgeComponentRef = this.viewContainerRef.createComponent(SdsBadgeComponent);\r\n this.badgeComponentRef.instance.text = this.sdsBadge;\r\n this.badgeComponentRef.instance.variant = this.variant;\r\n this.badgeComponentRef.instance.size = this.size;\r\n\r\n this.setBadgePosition();\r\n }\r\n } else {\r\n this.badgeComponentRef.instance.text = this.sdsBadge;\r\n this.badgeComponentRef.instance.variant = this.variant;\r\n this.badgeComponentRef.instance.size = this.size;\r\n\r\n this.setBadgePosition();\r\n }\r\n }\r\n\r\n private destroyBadgeComponentRef(){\r\n if (this.badgeComponentRef !== null) {\r\n this.appRef.detachView(this.badgeComponentRef.hostView);\r\n this.badgeComponentRef.destroy();\r\n this.badgeComponentRef = null;\r\n } \r\n }\r\n\r\n private setBadgePosition(){\r\n if (this.badgeComponentRef) {\r\n this.badgeComponentRef.instance.left = this.host.nativeElement.offsetLeft + this.host.nativeElement.offsetWidth;\r\n console.log(`offsetLeft ${this.host.nativeElement.offsetLeft}, offsetWidth: ${this.host.nativeElement.offsetWidth}`);\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdsBadgeDirective } from './badge.directive';\r\nimport { SdsBadgeComponent } from './components/badge.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n SdsBadgeDirective,\r\n SdsBadgeComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n SdsBadgeDirective\r\n ]\r\n})\r\nexport class SdsBadgeModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -4,31 +4,57 @@ import * as i2 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i1 from '@fortawesome/angular-fontawesome';
6
6
  import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
7
- import { faCaretDown, faCaretUp } from '@fortawesome/pro-solid-svg-icons';
7
+ import { faChevronDown } from '@fortawesome/pro-regular-svg-icons';
8
8
 
9
- class ExpansionPanelComponent {
9
+ class SdsExpansionPanelComponent {
10
10
  constructor() {
11
+ this.animateCaret = false;
12
+ /**
13
+ * toggles greyish background
14
+ *
15
+ * @memberof SdsExpansionPanelComponent
16
+ */
17
+ this.showBackground = true;
18
+ /**
19
+ * position caret next to header of on the far end of the component
20
+ *
21
+ * @type {('nextToHeader' | 'farEnd')}
22
+ * @memberof SdsExpansionPanelComponent
23
+ */
24
+ this.caretPlacement = 'nextToHeader';
11
25
  this.isOpen = false;
12
26
  this.isOpenChange = new EventEmitter();
13
- this.cardIsClosedIcon = faCaretDown;
14
- this.cardIsOpenIcon = faCaretUp;
27
+ this.caretIcon = faChevronDown;
15
28
  }
16
- onToggleIsOpenClick() {
29
+ onToggleIsOpenClick(event) {
17
30
  this.isOpen = !this.isOpen;
18
31
  this.isOpenChange.emit(this.isOpen);
32
+ event.stopImmediatePropagation();
33
+ }
34
+ openPanel() {
35
+ if (!this.isOpen) {
36
+ this.isOpen = true;
37
+ this.isOpenChange.emit(this.isOpen);
38
+ }
19
39
  }
20
40
  }
21
- ExpansionPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ExpansionPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
- ExpansionPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: ExpansionPanelComponent, selector: "sds-expansion-panel", inputs: { headerText: "headerText", hideHeader: "hideHeader", headerId: "headerId", descriptionText: "descriptionText", isOpen: "isOpen" }, outputs: { isOpenChange: "isOpenChange" }, ngImport: i0, template: "<div class=\"bg-light border-secondary rounded p-4\">\r\n <ng-container *ngIf=\"!hideHeader\">\r\n <button\r\n [id]=\"headerId\"\r\n type=\"button\"\r\n class=\"btn btn-link p-0\"\r\n [ngClass]=\"isOpen ? 'mb-3' : 'mb-1'\"\r\n (click)=\"onToggleIsOpenClick()\">\r\n <span class=\"m-0 h4\">\r\n {{ headerText }}\r\n <fa-icon [icon]=\"isOpen ? cardIsOpenIcon : cardIsClosedIcon\"></fa-icon>\r\n </span>\r\n </button>\r\n </ng-container>\r\n\r\n <div *ngIf=\"!isOpen\">\r\n {{ descriptionText}}\r\n <ng-content select=\"[contentOnClosed]\"></ng-content>\r\n </div>\r\n\r\n <div *ngIf=\"isOpen\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n", styles: [".h4{color:#6c757d}\n"], components: [{ type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ExpansionPanelComponent, decorators: [{
41
+ SdsExpansionPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsExpansionPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
42
+ SdsExpansionPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SdsExpansionPanelComponent, selector: "sds-expansion-panel", inputs: { headerText: "headerText", hideHeader: "hideHeader", headerId: "headerId", animateCaret: "animateCaret", showBackground: "showBackground", caretPlacement: "caretPlacement", descriptionText: "descriptionText", isOpen: "isOpen" }, outputs: { isOpenChange: "isOpenChange" }, ngImport: i0, template: "<div\r\n class=\"rounded expansion-panel\"\r\n [class.background]=\"showBackground\"\r\n [class.closed]=\"!isOpen\"\r\n (click)=\"openPanel()\"\r\n>\r\n <ng-container *ngIf=\"!hideHeader\">\r\n <div\r\n class=\"expansion-panel-header d-flex flex-row aligh-items-center\"\r\n >\r\n <button\r\n class=\"btn btn-link\"\r\n [id]=\"headerId\"\r\n (click)=\"onToggleIsOpenClick($event)\"\r\n >\r\n <span class=\"header-text\">\r\n {{ headerText }}\r\n </span>\r\n </button>\r\n <button\r\n class=\"btn btn-link caret\"\r\n [class.rotate]=\"animateCaret\"\r\n [class.ml-2]=\"caretPlacement === 'nextToHeader'\"\r\n [class.ml-auto]=\"caretPlacement === 'farEnd'\"\r\n (click)=\"onToggleIsOpenClick($event)\"\r\n >\r\n <fa-icon [icon]=\"caretIcon\"></fa-icon>\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <div \r\n *ngIf=\"!isOpen\"\r\n class=\"mt-1\"\r\n >\r\n {{ descriptionText }}\r\n <ng-content select=\"[contentOnClosed]\"></ng-content>\r\n </div>\r\n\r\n <div \r\n *ngIf=\"isOpen\"\r\n class=\"mt-1\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".expansion-panel .caret.rotate{transition:transform .2s linear}.expansion-panel.closed{cursor:pointer}.expansion-panel.closed .caret{transform:rotate(-180deg)}.expansion-panel.background{background-color:#f8f9fa;padding:1.5rem}.expansion-panel .expansion-panel-header .header-text{font-size:1.06rem;font-weight:600}.expansion-panel .expansion-panel-header button{text-decoration:none;padding:0;color:#212529}.expansion-panel .expansion-panel-header button:focus{box-shadow:none}\n"], components: [{ type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsExpansionPanelComponent, decorators: [{
24
44
  type: Component,
25
- args: [{ selector: 'sds-expansion-panel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"bg-light border-secondary rounded p-4\">\r\n <ng-container *ngIf=\"!hideHeader\">\r\n <button\r\n [id]=\"headerId\"\r\n type=\"button\"\r\n class=\"btn btn-link p-0\"\r\n [ngClass]=\"isOpen ? 'mb-3' : 'mb-1'\"\r\n (click)=\"onToggleIsOpenClick()\">\r\n <span class=\"m-0 h4\">\r\n {{ headerText }}\r\n <fa-icon [icon]=\"isOpen ? cardIsOpenIcon : cardIsClosedIcon\"></fa-icon>\r\n </span>\r\n </button>\r\n </ng-container>\r\n\r\n <div *ngIf=\"!isOpen\">\r\n {{ descriptionText}}\r\n <ng-content select=\"[contentOnClosed]\"></ng-content>\r\n </div>\r\n\r\n <div *ngIf=\"isOpen\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n", styles: [".h4{color:#6c757d}\n"] }]
45
+ args: [{ selector: 'sds-expansion-panel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"rounded expansion-panel\"\r\n [class.background]=\"showBackground\"\r\n [class.closed]=\"!isOpen\"\r\n (click)=\"openPanel()\"\r\n>\r\n <ng-container *ngIf=\"!hideHeader\">\r\n <div\r\n class=\"expansion-panel-header d-flex flex-row aligh-items-center\"\r\n >\r\n <button\r\n class=\"btn btn-link\"\r\n [id]=\"headerId\"\r\n (click)=\"onToggleIsOpenClick($event)\"\r\n >\r\n <span class=\"header-text\">\r\n {{ headerText }}\r\n </span>\r\n </button>\r\n <button\r\n class=\"btn btn-link caret\"\r\n [class.rotate]=\"animateCaret\"\r\n [class.ml-2]=\"caretPlacement === 'nextToHeader'\"\r\n [class.ml-auto]=\"caretPlacement === 'farEnd'\"\r\n (click)=\"onToggleIsOpenClick($event)\"\r\n >\r\n <fa-icon [icon]=\"caretIcon\"></fa-icon>\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <div \r\n *ngIf=\"!isOpen\"\r\n class=\"mt-1\"\r\n >\r\n {{ descriptionText }}\r\n <ng-content select=\"[contentOnClosed]\"></ng-content>\r\n </div>\r\n\r\n <div \r\n *ngIf=\"isOpen\"\r\n class=\"mt-1\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".expansion-panel .caret.rotate{transition:transform .2s linear}.expansion-panel.closed{cursor:pointer}.expansion-panel.closed .caret{transform:rotate(-180deg)}.expansion-panel.background{background-color:#f8f9fa;padding:1.5rem}.expansion-panel .expansion-panel-header .header-text{font-size:1.06rem;font-weight:600}.expansion-panel .expansion-panel-header button{text-decoration:none;padding:0;color:#212529}.expansion-panel .expansion-panel-header button:focus{box-shadow:none}\n"] }]
26
46
  }], propDecorators: { headerText: [{
27
47
  type: Input
28
48
  }], hideHeader: [{
29
49
  type: Input
30
50
  }], headerId: [{
31
51
  type: Input
52
+ }], animateCaret: [{
53
+ type: Input
54
+ }], showBackground: [{
55
+ type: Input
56
+ }], caretPlacement: [{
57
+ type: Input
32
58
  }], descriptionText: [{
33
59
  type: Input
34
60
  }], isOpen: [{
@@ -43,26 +69,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
43
69
  * @export
44
70
  * @class ExpansionPanelModule
45
71
  */
46
- class ExpansionPanelModule {
72
+ class SdsExpansionPanelModule {
47
73
  }
48
- ExpansionPanelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ExpansionPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
49
- ExpansionPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ExpansionPanelModule, declarations: [ExpansionPanelComponent], imports: [CommonModule,
50
- FontAwesomeModule], exports: [ExpansionPanelComponent] });
51
- ExpansionPanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ExpansionPanelModule, imports: [[
74
+ SdsExpansionPanelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsExpansionPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
75
+ SdsExpansionPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsExpansionPanelModule, declarations: [SdsExpansionPanelComponent], imports: [CommonModule,
76
+ FontAwesomeModule], exports: [SdsExpansionPanelComponent] });
77
+ SdsExpansionPanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsExpansionPanelModule, imports: [[
52
78
  CommonModule,
53
79
  FontAwesomeModule
54
80
  ]] });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ExpansionPanelModule, decorators: [{
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsExpansionPanelModule, decorators: [{
56
82
  type: NgModule,
57
83
  args: [{
58
84
  declarations: [
59
- ExpansionPanelComponent
85
+ SdsExpansionPanelComponent
60
86
  ],
61
87
  imports: [
62
88
  CommonModule,
63
89
  FontAwesomeModule
64
90
  ],
65
- exports: [ExpansionPanelComponent]
91
+ exports: [SdsExpansionPanelComponent]
66
92
  }]
67
93
  }] });
68
94
 
@@ -70,5 +96,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
70
96
  * Generated bundle index. Do not edit.
71
97
  */
72
98
 
73
- export { ExpansionPanelComponent, ExpansionPanelModule };
99
+ export { SdsExpansionPanelComponent, SdsExpansionPanelModule };
74
100
  //# sourceMappingURL=spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs","sources":["../../../projects/ngx-sds-components/src/lib/expansion-panel/expansion-panel.component.ts","../../../projects/ngx-sds-components/src/lib/expansion-panel/expansion-panel.component.html","../../../projects/ngx-sds-components/src/lib/expansion-panel/expansion-panel.module.ts","../../../projects/ngx-sds-components/src/lib/expansion-panel/spicainternational-ngx-sds-components-src-lib-expansion-panel.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { IconDefinition, faCaretDown, faCaretUp } from '@fortawesome/pro-solid-svg-icons';\r\n\r\n@Component({\r\n selector: 'sds-expansion-panel',\r\n templateUrl: './expansion-panel.component.html',\r\n styleUrls: ['./expansion-panel.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\n\r\nexport class ExpansionPanelComponent {\r\n @Input() headerText?: string;\r\n @Input() hideHeader?: boolean;\r\n @Input() headerId?: string;\r\n\r\n /**\r\n * 'descriptionText' - text displayed when component is \"closed\".\r\n *\r\n * Note: Use ng-content 'contentOnClosed' if more complex use-case is needed\r\n *\r\n * @type {string}\r\n * @memberof ExpansionPanelComponent\r\n */\r\n @Input() descriptionText?: string;\r\n\r\n @Input() isOpen: boolean = false;\r\n @Output() isOpenChange: EventEmitter<boolean> = new EventEmitter();\r\n\r\n public cardIsClosedIcon: IconDefinition = faCaretDown;\r\n public cardIsOpenIcon: IconDefinition = faCaretUp;\r\n\r\n public onToggleIsOpenClick(): void {\r\n this.isOpen = !this.isOpen;\r\n this.isOpenChange.emit(this.isOpen);\r\n }\r\n}\r\n","<div class=\"bg-light border-secondary rounded p-4\">\r\n <ng-container *ngIf=\"!hideHeader\">\r\n <button\r\n [id]=\"headerId\"\r\n type=\"button\"\r\n class=\"btn btn-link p-0\"\r\n [ngClass]=\"isOpen ? 'mb-3' : 'mb-1'\"\r\n (click)=\"onToggleIsOpenClick()\">\r\n <span class=\"m-0 h4\">\r\n {{ headerText }}\r\n <fa-icon [icon]=\"isOpen ? cardIsOpenIcon : cardIsClosedIcon\"></fa-icon>\r\n </span>\r\n </button>\r\n </ng-container>\r\n\r\n <div *ngIf=\"!isOpen\">\r\n {{ descriptionText}}\r\n <ng-content select=\"[contentOnClosed]\"></ng-content>\r\n </div>\r\n\r\n <div *ngIf=\"isOpen\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\n\r\nimport { ExpansionPanelComponent } from './expansion-panel.component';\r\n/**\r\n * Expansion panel - provides an expandable details-summary view. Used for 'progressive disclosure'.\r\n *\r\n * @export\r\n * @class ExpansionPanelModule\r\n */\r\n@NgModule({\r\n declarations: [\r\n ExpansionPanelComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FontAwesomeModule\r\n ],\r\n exports: [ExpansionPanelComponent]\r\n})\r\n\r\nexport class ExpansionPanelModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs","sources":["../../../projects/ngx-sds-components/src/lib/expansion-panel/expansion-panel.component.ts","../../../projects/ngx-sds-components/src/lib/expansion-panel/expansion-panel.component.html","../../../projects/ngx-sds-components/src/lib/expansion-panel/expansion-panel.module.ts","../../../projects/ngx-sds-components/src/lib/expansion-panel/spicainternational-ngx-sds-components-src-lib-expansion-panel.ts"],"sourcesContent":["import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { faChevronDown, faChevronUp } from '@fortawesome/pro-regular-svg-icons';\r\nimport {\r\n IconDefinition,\r\n faCaretDown,\r\n faCaretUp,\r\n} from '@fortawesome/pro-solid-svg-icons';\r\nimport { CaretPlacement } from './expansion-panel.types';\r\n\r\n@Component({\r\n selector: 'sds-expansion-panel',\r\n templateUrl: './expansion-panel.component.html',\r\n styleUrls: ['./expansion-panel.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SdsExpansionPanelComponent {\r\n @Input() headerText?: string;\r\n @Input() hideHeader?: boolean;\r\n @Input() headerId?: string;\r\n\r\n @Input() animateCaret = false;\r\n\r\n /**\r\n * toggles greyish background\r\n *\r\n * @memberof SdsExpansionPanelComponent\r\n */\r\n @Input() showBackground = true;\r\n\r\n /**\r\n * position caret next to header of on the far end of the component\r\n *\r\n * @type {('nextToHeader' | 'farEnd')}\r\n * @memberof SdsExpansionPanelComponent\r\n */\r\n @Input() caretPlacement: CaretPlacement = 'nextToHeader';\r\n\r\n /**\r\n * 'descriptionText' - text displayed when component is \"closed\".\r\n *\r\n * Note: Use ng-content 'contentOnClosed' if more complex use-case is needed\r\n *\r\n * @type {string}\r\n * @memberof ExpansionPanelComponent\r\n */\r\n @Input() descriptionText?: string;\r\n\r\n @Input() isOpen: boolean = false;\r\n @Output() isOpenChange: EventEmitter<boolean> = new EventEmitter();\r\n\r\n public caretIcon: IconDefinition = faChevronDown;\r\n\r\n public onToggleIsOpenClick(event: MouseEvent): void {\r\n this.isOpen = !this.isOpen;\r\n this.isOpenChange.emit(this.isOpen);\r\n event.stopImmediatePropagation();\r\n }\r\n\r\n public openPanel() {\r\n if (!this.isOpen) {\r\n this.isOpen = true;\r\n this.isOpenChange.emit(this.isOpen);\r\n }\r\n }\r\n}\r\n","<div\r\n class=\"rounded expansion-panel\"\r\n [class.background]=\"showBackground\"\r\n [class.closed]=\"!isOpen\"\r\n (click)=\"openPanel()\"\r\n>\r\n <ng-container *ngIf=\"!hideHeader\">\r\n <div\r\n class=\"expansion-panel-header d-flex flex-row aligh-items-center\"\r\n >\r\n <button\r\n class=\"btn btn-link\"\r\n [id]=\"headerId\"\r\n (click)=\"onToggleIsOpenClick($event)\"\r\n >\r\n <span class=\"header-text\">\r\n {{ headerText }}\r\n </span>\r\n </button>\r\n <button\r\n class=\"btn btn-link caret\"\r\n [class.rotate]=\"animateCaret\"\r\n [class.ml-2]=\"caretPlacement === 'nextToHeader'\"\r\n [class.ml-auto]=\"caretPlacement === 'farEnd'\"\r\n (click)=\"onToggleIsOpenClick($event)\"\r\n >\r\n <fa-icon [icon]=\"caretIcon\"></fa-icon>\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <div \r\n *ngIf=\"!isOpen\"\r\n class=\"mt-1\"\r\n >\r\n {{ descriptionText }}\r\n <ng-content select=\"[contentOnClosed]\"></ng-content>\r\n </div>\r\n\r\n <div \r\n *ngIf=\"isOpen\"\r\n class=\"mt-1\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\n\r\nimport { SdsExpansionPanelComponent } from './expansion-panel.component';\r\n/**\r\n * Expansion panel - provides an expandable details-summary view. Used for 'progressive disclosure'.\r\n *\r\n * @export\r\n * @class ExpansionPanelModule\r\n */\r\n@NgModule({\r\n declarations: [\r\n SdsExpansionPanelComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FontAwesomeModule\r\n ],\r\n exports: [SdsExpansionPanelComponent]\r\n})\r\n\r\nexport class SdsExpansionPanelModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  export * from '@spicainternational/ngx-sds-components/src/lib/app-switcher';
2
2
  export * from '@spicainternational/ngx-sds-components/src/lib/avatar';
3
+ export * from '@spicainternational/ngx-sds-components/src/lib/badge';
3
4
  export * from '@spicainternational/ngx-sds-components/src/lib/callout';
4
5
  export * from '@spicainternational/ngx-sds-components/src/lib/color-picker';
6
+ export * from '@spicainternational/ngx-sds-components/src/lib/expansion-panel';
5
7
  export * from '@spicainternational/ngx-sds-components/src/lib/date-picker';
6
8
  export * from '@spicainternational/ngx-sds-components/src/lib/date-pipes';
7
9
  export * from '@spicainternational/ngx-sds-components/src/lib/duration-pipe';
@@ -1 +1 @@
1
- {"version":3,"file":"spicainternational-ngx-sds-components.mjs","sources":["../../../projects/ngx-sds-components/src/public-api.ts","../../../projects/ngx-sds-components/src/spicainternational-ngx-sds-components.ts"],"sourcesContent":["/*\r\n * Public API Surface of ngx-sds-components\r\n */\r\n\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/app-switcher';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/avatar';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/callout';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/color-picker';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/date-picker';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/date-pipes';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/duration-pipe';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/duration-box';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/layout';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/modal';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/navigation';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/page-header';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/pane';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/quick-info';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/segmented-control';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/side-bar';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/tooltip';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;AAEG;;ACFH;;AAEG"}
1
+ {"version":3,"file":"spicainternational-ngx-sds-components.mjs","sources":["../../../projects/ngx-sds-components/src/public-api.ts","../../../projects/ngx-sds-components/src/spicainternational-ngx-sds-components.ts"],"sourcesContent":["/*\r\n * Public API Surface of ngx-sds-components\r\n */\r\n\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/app-switcher';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/avatar';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/badge';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/callout';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/color-picker';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/expansion-panel';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/date-picker';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/date-pipes';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/duration-pipe';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/duration-box';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/layout';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/modal';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/navigation';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/page-header';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/pane';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/quick-info';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/segmented-control';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/side-bar';\r\nexport * from '@spicainternational/ngx-sds-components/src/lib/tooltip';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;;AAEG;;ACFH;;AAEG"}
@@ -0,0 +1,176 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Component, ChangeDetectionStrategy, Directive, Input, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
+ import { CommonModule } from '@angular/common';
5
+
6
+ class SdsBadgeComponent {
7
+ constructor(cdRef) {
8
+ this.cdRef = cdRef;
9
+ this._text = '';
10
+ this._size = 'default';
11
+ this._variant = 'primary';
12
+ this._left = 0;
13
+ }
14
+ get text() {
15
+ return this._text;
16
+ }
17
+ set text(value) {
18
+ if (this._text !== value) {
19
+ this._text = value;
20
+ this.refresh();
21
+ }
22
+ }
23
+ get size() {
24
+ return this._size;
25
+ }
26
+ set size(value) {
27
+ if (this._size !== value) {
28
+ this._size = value;
29
+ this.refresh();
30
+ }
31
+ }
32
+ get variant() {
33
+ return this._variant;
34
+ }
35
+ set variant(value) {
36
+ if (this._variant !== value) {
37
+ this._variant = value;
38
+ this.refresh();
39
+ }
40
+ }
41
+ get left() {
42
+ return this._left;
43
+ }
44
+ set left(value) {
45
+ if (this._left !== value) {
46
+ this._left = value;
47
+ this.refresh();
48
+ }
49
+ }
50
+ ngOnInit() { }
51
+ refresh() {
52
+ this.cdRef.detectChanges();
53
+ }
54
+ }
55
+ SdsBadgeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsBadgeComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
56
+ SdsBadgeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SdsBadgeComponent, selector: "sds-badge", ngImport: i0, template: "<div \r\n class=\"sds-badge\"\r\n [class.primary]=\"variant==='primary'\"\r\n [class.secondary]=\"variant==='secondary'\"\r\n [style.left.px]=\"left\"\r\n [class.default]=\"size === 'default'\"\r\n [class.small]=\"size === 'small'\"\r\n title=\"test\"\r\n\r\n >\r\n <span *ngIf=\"size=='default'\">{{text}}</span>\r\n</div>\r\n", styles: [":host{position:absolute}.sds-badge{position:relative;display:flex;justify-content:center;align-items:center;color:#fff;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;border-radius:1.3rem;border-width:1px;border-style:solid;border-color:#fff;cursor:default;transform:translate(calc(-50% - 1px),-50%)}.sds-badge.default{line-height:1.3rem;min-width:calc(1.3rem + 2px);padding-left:.3rem;padding-right:.3rem}.sds-badge.small{height:.75rem;width:.75rem}.sds-badge.primary{background-color:#3b8fc2}.sds-badge.secondary{border-color:#ced4da;background-color:#fff;color:#000}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsBadgeComponent, decorators: [{
58
+ type: Component,
59
+ args: [{ selector: 'sds-badge', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div \r\n class=\"sds-badge\"\r\n [class.primary]=\"variant==='primary'\"\r\n [class.secondary]=\"variant==='secondary'\"\r\n [style.left.px]=\"left\"\r\n [class.default]=\"size === 'default'\"\r\n [class.small]=\"size === 'small'\"\r\n title=\"test\"\r\n\r\n >\r\n <span *ngIf=\"size=='default'\">{{text}}</span>\r\n</div>\r\n", styles: [":host{position:absolute}.sds-badge{position:relative;display:flex;justify-content:center;align-items:center;color:#fff;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;border-radius:1.3rem;border-width:1px;border-style:solid;border-color:#fff;cursor:default;transform:translate(calc(-50% - 1px),-50%)}.sds-badge.default{line-height:1.3rem;min-width:calc(1.3rem + 2px);padding-left:.3rem;padding-right:.3rem}.sds-badge.small{height:.75rem;width:.75rem}.sds-badge.primary{background-color:#3b8fc2}.sds-badge.secondary{border-color:#ced4da;background-color:#fff;color:#000}\n"] }]
60
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
61
+
62
+ class SdsBadgeDirective {
63
+ constructor(host, appRef, viewContainerRef) {
64
+ this.host = host;
65
+ this.appRef = appRef;
66
+ this.viewContainerRef = viewContainerRef;
67
+ this.sdsBadge = '';
68
+ this.size = 'default';
69
+ this.variant = 'primary';
70
+ this.badgeComponentRef = null;
71
+ }
72
+ ngAfterViewInit() {
73
+ this.initializeBadge();
74
+ }
75
+ ngOnInit() {
76
+ const observer = new ResizeObserver(_ => {
77
+ if (this.badgeComponentRef) {
78
+ this.setBadgePosition();
79
+ // this.badgeComponentRef.instance.left = this.host.nativeElement.offsetWidth;
80
+ }
81
+ });
82
+ observer.observe(this.host.nativeElement);
83
+ }
84
+ ;
85
+ ngOnChanges(changes) {
86
+ if (changes['sdsBadge'] && !changes['sdsBadge'].firstChange) {
87
+ const value = `${changes['sdsBadge'].currentValue}`.trim();
88
+ if (value?.length > 0) {
89
+ this.initializeBadge();
90
+ }
91
+ else {
92
+ this.destroyBadgeComponentRef();
93
+ }
94
+ }
95
+ }
96
+ ngOnDestroy() {
97
+ this.observer.unobserve(this.host.nativeElement);
98
+ this.observer.disconnect();
99
+ this.destroyBadgeComponentRef();
100
+ }
101
+ initializeBadge() {
102
+ if (this.badgeComponentRef === null) {
103
+ if (this.sdsBadge) {
104
+ this.badgeComponentRef = this.viewContainerRef.createComponent(SdsBadgeComponent);
105
+ this.badgeComponentRef.instance.text = this.sdsBadge;
106
+ this.badgeComponentRef.instance.variant = this.variant;
107
+ this.badgeComponentRef.instance.size = this.size;
108
+ this.setBadgePosition();
109
+ }
110
+ }
111
+ else {
112
+ this.badgeComponentRef.instance.text = this.sdsBadge;
113
+ this.badgeComponentRef.instance.variant = this.variant;
114
+ this.badgeComponentRef.instance.size = this.size;
115
+ this.setBadgePosition();
116
+ }
117
+ }
118
+ destroyBadgeComponentRef() {
119
+ if (this.badgeComponentRef !== null) {
120
+ this.appRef.detachView(this.badgeComponentRef.hostView);
121
+ this.badgeComponentRef.destroy();
122
+ this.badgeComponentRef = null;
123
+ }
124
+ }
125
+ setBadgePosition() {
126
+ if (this.badgeComponentRef) {
127
+ this.badgeComponentRef.instance.left = this.host.nativeElement.offsetLeft + this.host.nativeElement.offsetWidth;
128
+ console.log(`offsetLeft ${this.host.nativeElement.offsetLeft}, offsetWidth: ${this.host.nativeElement.offsetWidth}`);
129
+ }
130
+ }
131
+ }
132
+ SdsBadgeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsBadgeDirective, deps: [{ token: i0.ElementRef }, { token: i0.ApplicationRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
133
+ SdsBadgeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.1", type: SdsBadgeDirective, selector: "[sdsBadge]", inputs: { sdsBadge: "sdsBadge", size: "size", variant: "variant" }, usesOnChanges: true, ngImport: i0 });
134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsBadgeDirective, decorators: [{
135
+ type: Directive,
136
+ args: [{
137
+ selector: '[sdsBadge]',
138
+ }]
139
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ApplicationRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { sdsBadge: [{
140
+ type: Input
141
+ }], size: [{
142
+ type: Input
143
+ }], variant: [{
144
+ type: Input
145
+ }] } });
146
+
147
+ class SdsBadgeModule {
148
+ }
149
+ SdsBadgeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsBadgeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
150
+ SdsBadgeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsBadgeModule, declarations: [SdsBadgeDirective,
151
+ SdsBadgeComponent], imports: [CommonModule], exports: [SdsBadgeDirective] });
152
+ SdsBadgeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsBadgeModule, imports: [[
153
+ CommonModule
154
+ ]] });
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsBadgeModule, decorators: [{
156
+ type: NgModule,
157
+ args: [{
158
+ declarations: [
159
+ SdsBadgeDirective,
160
+ SdsBadgeComponent
161
+ ],
162
+ imports: [
163
+ CommonModule
164
+ ],
165
+ exports: [
166
+ SdsBadgeDirective
167
+ ]
168
+ }]
169
+ }] });
170
+
171
+ /**
172
+ * Generated bundle index. Do not edit.
173
+ */
174
+
175
+ export { SdsBadgeDirective, SdsBadgeModule };
176
+ //# sourceMappingURL=spicainternational-ngx-sds-components-src-lib-badge.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-badge.mjs","sources":["../../../projects/ngx-sds-components/src/lib/badge/components/badge.component.ts","../../../projects/ngx-sds-components/src/lib/badge/components/badge.component.html","../../../projects/ngx-sds-components/src/lib/badge/badge.directive.ts","../../../projects/ngx-sds-components/src/lib/badge/badge.module.ts","../../../projects/ngx-sds-components/src/lib/badge/spicainternational-ngx-sds-components-src-lib-badge.ts"],"sourcesContent":["import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { BadgeSize, BadgeVariant } from '../badge.types';\r\n\r\n@Component({\r\n selector: 'sds-badge',\r\n templateUrl: './badge.component.html',\r\n styleUrls: ['./badge.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SdsBadgeComponent implements OnInit {\r\n private _text: string = '';\r\n private _size: BadgeSize = 'default';\r\n private _variant: BadgeVariant = 'primary';\r\n private _left: number = 0;\r\n\r\n\r\n public get text() {\r\n return this._text;\r\n }\r\n\r\n public set text(value: string) {\r\n if (this._text !== value) {\r\n this._text = value;\r\n this.refresh();\r\n }\r\n }\r\n\r\n public get size() {\r\n return this._size;\r\n }\r\n\r\n public set size(value: BadgeSize) {\r\n if (this._size !== value) {\r\n this._size = value;\r\n this.refresh();\r\n }\r\n }\r\n\r\n public get variant() {\r\n return this._variant;\r\n }\r\n\r\n public set variant(value: BadgeVariant) {\r\n if (this._variant !== value) {\r\n this._variant = value;\r\n this.refresh();\r\n }\r\n }\r\n\r\n public get left() {\r\n return this._left;\r\n }\r\n\r\n public set left(value: number) {\r\n if (this._left !== value) {\r\n this._left = value;\r\n this.refresh();\r\n }\r\n }\r\n\r\n \r\n \r\n\r\n constructor(\r\n private readonly cdRef: ChangeDetectorRef\r\n ) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n\r\n private refresh(){\r\n this.cdRef.detectChanges();\r\n }\r\n}\r\n","<div \r\n class=\"sds-badge\"\r\n [class.primary]=\"variant==='primary'\"\r\n [class.secondary]=\"variant==='secondary'\"\r\n [style.left.px]=\"left\"\r\n [class.default]=\"size === 'default'\"\r\n [class.small]=\"size === 'small'\"\r\n title=\"test\"\r\n\r\n >\r\n <span *ngIf=\"size=='default'\">{{text}}</span>\r\n</div>\r\n","import {\r\n AfterViewInit,\r\n ApplicationRef,\r\n ComponentRef,\r\n Directive,\r\n ElementRef,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n SimpleChanges,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { BadgeSize, BadgeVariant } from './badge.types';\r\nimport { SdsBadgeComponent } from './components/badge.component';\r\n\r\n@Directive({\r\n selector: '[sdsBadge]',\r\n})\r\nexport class SdsBadgeDirective implements OnInit, OnChanges, OnDestroy, AfterViewInit {\r\n @Input() sdsBadge = '';\r\n @Input() size: BadgeSize = 'default';\r\n @Input() variant: BadgeVariant = 'primary';\r\n\r\n private badgeComponentRef: ComponentRef<any> | null = null;\r\n private observer: any; //ResizeObserver = null;\r\n\r\n constructor(\r\n private host: ElementRef,\r\n private appRef: ApplicationRef,\r\n private viewContainerRef: ViewContainerRef\r\n ) {}\r\n\r\n ngAfterViewInit(): void {\r\n this.initializeBadge();\r\n }\r\n\r\n ngOnInit(): void {\r\n const observer = new ResizeObserver(_ => {\r\n if (this.badgeComponentRef) {\r\n this.setBadgePosition();\r\n // this.badgeComponentRef.instance.left = this.host.nativeElement.offsetWidth;\r\n }\r\n });\r\n \r\n observer.observe(this.host.nativeElement);\r\n }; \r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['sdsBadge'] && !changes['sdsBadge'].firstChange) {\r\n const value = `${changes['sdsBadge'].currentValue}`.trim();\r\n if (value?.length > 0) {\r\n this.initializeBadge();\r\n } else {\r\n this.destroyBadgeComponentRef();\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.observer.unobserve(this.host.nativeElement);\r\n this.observer.disconnect();\r\n\r\n this.destroyBadgeComponentRef();\r\n }\r\n\r\n private initializeBadge() {\r\n if (this.badgeComponentRef === null) {\r\n if (this.sdsBadge) {\r\n this.badgeComponentRef = this.viewContainerRef.createComponent(SdsBadgeComponent);\r\n this.badgeComponentRef.instance.text = this.sdsBadge;\r\n this.badgeComponentRef.instance.variant = this.variant;\r\n this.badgeComponentRef.instance.size = this.size;\r\n\r\n this.setBadgePosition();\r\n }\r\n } else {\r\n this.badgeComponentRef.instance.text = this.sdsBadge;\r\n this.badgeComponentRef.instance.variant = this.variant;\r\n this.badgeComponentRef.instance.size = this.size;\r\n\r\n this.setBadgePosition();\r\n }\r\n }\r\n\r\n private destroyBadgeComponentRef(){\r\n if (this.badgeComponentRef !== null) {\r\n this.appRef.detachView(this.badgeComponentRef.hostView);\r\n this.badgeComponentRef.destroy();\r\n this.badgeComponentRef = null;\r\n } \r\n }\r\n\r\n private setBadgePosition(){\r\n if (this.badgeComponentRef) {\r\n this.badgeComponentRef.instance.left = this.host.nativeElement.offsetLeft + this.host.nativeElement.offsetWidth;\r\n console.log(`offsetLeft ${this.host.nativeElement.offsetLeft}, offsetWidth: ${this.host.nativeElement.offsetWidth}`);\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdsBadgeDirective } from './badge.directive';\r\nimport { SdsBadgeComponent } from './components/badge.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n SdsBadgeDirective,\r\n SdsBadgeComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n SdsBadgeDirective\r\n ]\r\n})\r\nexport class SdsBadgeModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -4,31 +4,57 @@ import * as i2 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i1 from '@fortawesome/angular-fontawesome';
6
6
  import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
7
- import { faCaretDown, faCaretUp } from '@fortawesome/pro-solid-svg-icons';
7
+ import { faChevronDown } from '@fortawesome/pro-regular-svg-icons';
8
8
 
9
- class ExpansionPanelComponent {
9
+ class SdsExpansionPanelComponent {
10
10
  constructor() {
11
+ this.animateCaret = false;
12
+ /**
13
+ * toggles greyish background
14
+ *
15
+ * @memberof SdsExpansionPanelComponent
16
+ */
17
+ this.showBackground = true;
18
+ /**
19
+ * position caret next to header of on the far end of the component
20
+ *
21
+ * @type {('nextToHeader' | 'farEnd')}
22
+ * @memberof SdsExpansionPanelComponent
23
+ */
24
+ this.caretPlacement = 'nextToHeader';
11
25
  this.isOpen = false;
12
26
  this.isOpenChange = new EventEmitter();
13
- this.cardIsClosedIcon = faCaretDown;
14
- this.cardIsOpenIcon = faCaretUp;
27
+ this.caretIcon = faChevronDown;
15
28
  }
16
- onToggleIsOpenClick() {
29
+ onToggleIsOpenClick(event) {
17
30
  this.isOpen = !this.isOpen;
18
31
  this.isOpenChange.emit(this.isOpen);
32
+ event.stopImmediatePropagation();
33
+ }
34
+ openPanel() {
35
+ if (!this.isOpen) {
36
+ this.isOpen = true;
37
+ this.isOpenChange.emit(this.isOpen);
38
+ }
19
39
  }
20
40
  }
21
- ExpansionPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ExpansionPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
- ExpansionPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: ExpansionPanelComponent, selector: "sds-expansion-panel", inputs: { headerText: "headerText", hideHeader: "hideHeader", headerId: "headerId", descriptionText: "descriptionText", isOpen: "isOpen" }, outputs: { isOpenChange: "isOpenChange" }, ngImport: i0, template: "<div class=\"bg-light border-secondary rounded p-4\">\r\n <ng-container *ngIf=\"!hideHeader\">\r\n <button\r\n [id]=\"headerId\"\r\n type=\"button\"\r\n class=\"btn btn-link p-0\"\r\n [ngClass]=\"isOpen ? 'mb-3' : 'mb-1'\"\r\n (click)=\"onToggleIsOpenClick()\">\r\n <span class=\"m-0 h4\">\r\n {{ headerText }}\r\n <fa-icon [icon]=\"isOpen ? cardIsOpenIcon : cardIsClosedIcon\"></fa-icon>\r\n </span>\r\n </button>\r\n </ng-container>\r\n\r\n <div *ngIf=\"!isOpen\">\r\n {{ descriptionText}}\r\n <ng-content select=\"[contentOnClosed]\"></ng-content>\r\n </div>\r\n\r\n <div *ngIf=\"isOpen\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n", styles: [".h4{color:#6c757d}\n"], components: [{ type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ExpansionPanelComponent, decorators: [{
41
+ SdsExpansionPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsExpansionPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
42
+ SdsExpansionPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SdsExpansionPanelComponent, selector: "sds-expansion-panel", inputs: { headerText: "headerText", hideHeader: "hideHeader", headerId: "headerId", animateCaret: "animateCaret", showBackground: "showBackground", caretPlacement: "caretPlacement", descriptionText: "descriptionText", isOpen: "isOpen" }, outputs: { isOpenChange: "isOpenChange" }, ngImport: i0, template: "<div\r\n class=\"rounded expansion-panel\"\r\n [class.background]=\"showBackground\"\r\n [class.closed]=\"!isOpen\"\r\n (click)=\"openPanel()\"\r\n>\r\n <ng-container *ngIf=\"!hideHeader\">\r\n <div\r\n class=\"expansion-panel-header d-flex flex-row aligh-items-center\"\r\n >\r\n <button\r\n class=\"btn btn-link\"\r\n [id]=\"headerId\"\r\n (click)=\"onToggleIsOpenClick($event)\"\r\n >\r\n <span class=\"header-text\">\r\n {{ headerText }}\r\n </span>\r\n </button>\r\n <button\r\n class=\"btn btn-link caret\"\r\n [class.rotate]=\"animateCaret\"\r\n [class.ml-2]=\"caretPlacement === 'nextToHeader'\"\r\n [class.ml-auto]=\"caretPlacement === 'farEnd'\"\r\n (click)=\"onToggleIsOpenClick($event)\"\r\n >\r\n <fa-icon [icon]=\"caretIcon\"></fa-icon>\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <div \r\n *ngIf=\"!isOpen\"\r\n class=\"mt-1\"\r\n >\r\n {{ descriptionText }}\r\n <ng-content select=\"[contentOnClosed]\"></ng-content>\r\n </div>\r\n\r\n <div \r\n *ngIf=\"isOpen\"\r\n class=\"mt-1\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".expansion-panel .caret.rotate{transition:transform .2s linear}.expansion-panel.closed{cursor:pointer}.expansion-panel.closed .caret{transform:rotate(-180deg)}.expansion-panel.background{background-color:#f8f9fa;padding:1.5rem}.expansion-panel .expansion-panel-header .header-text{font-size:1.06rem;font-weight:600}.expansion-panel .expansion-panel-header button{text-decoration:none;padding:0;color:#212529}.expansion-panel .expansion-panel-header button:focus{box-shadow:none}\n"], components: [{ type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsExpansionPanelComponent, decorators: [{
24
44
  type: Component,
25
- args: [{ selector: 'sds-expansion-panel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"bg-light border-secondary rounded p-4\">\r\n <ng-container *ngIf=\"!hideHeader\">\r\n <button\r\n [id]=\"headerId\"\r\n type=\"button\"\r\n class=\"btn btn-link p-0\"\r\n [ngClass]=\"isOpen ? 'mb-3' : 'mb-1'\"\r\n (click)=\"onToggleIsOpenClick()\">\r\n <span class=\"m-0 h4\">\r\n {{ headerText }}\r\n <fa-icon [icon]=\"isOpen ? cardIsOpenIcon : cardIsClosedIcon\"></fa-icon>\r\n </span>\r\n </button>\r\n </ng-container>\r\n\r\n <div *ngIf=\"!isOpen\">\r\n {{ descriptionText}}\r\n <ng-content select=\"[contentOnClosed]\"></ng-content>\r\n </div>\r\n\r\n <div *ngIf=\"isOpen\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n", styles: [".h4{color:#6c757d}\n"] }]
45
+ args: [{ selector: 'sds-expansion-panel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"rounded expansion-panel\"\r\n [class.background]=\"showBackground\"\r\n [class.closed]=\"!isOpen\"\r\n (click)=\"openPanel()\"\r\n>\r\n <ng-container *ngIf=\"!hideHeader\">\r\n <div\r\n class=\"expansion-panel-header d-flex flex-row aligh-items-center\"\r\n >\r\n <button\r\n class=\"btn btn-link\"\r\n [id]=\"headerId\"\r\n (click)=\"onToggleIsOpenClick($event)\"\r\n >\r\n <span class=\"header-text\">\r\n {{ headerText }}\r\n </span>\r\n </button>\r\n <button\r\n class=\"btn btn-link caret\"\r\n [class.rotate]=\"animateCaret\"\r\n [class.ml-2]=\"caretPlacement === 'nextToHeader'\"\r\n [class.ml-auto]=\"caretPlacement === 'farEnd'\"\r\n (click)=\"onToggleIsOpenClick($event)\"\r\n >\r\n <fa-icon [icon]=\"caretIcon\"></fa-icon>\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <div \r\n *ngIf=\"!isOpen\"\r\n class=\"mt-1\"\r\n >\r\n {{ descriptionText }}\r\n <ng-content select=\"[contentOnClosed]\"></ng-content>\r\n </div>\r\n\r\n <div \r\n *ngIf=\"isOpen\"\r\n class=\"mt-1\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".expansion-panel .caret.rotate{transition:transform .2s linear}.expansion-panel.closed{cursor:pointer}.expansion-panel.closed .caret{transform:rotate(-180deg)}.expansion-panel.background{background-color:#f8f9fa;padding:1.5rem}.expansion-panel .expansion-panel-header .header-text{font-size:1.06rem;font-weight:600}.expansion-panel .expansion-panel-header button{text-decoration:none;padding:0;color:#212529}.expansion-panel .expansion-panel-header button:focus{box-shadow:none}\n"] }]
26
46
  }], propDecorators: { headerText: [{
27
47
  type: Input
28
48
  }], hideHeader: [{
29
49
  type: Input
30
50
  }], headerId: [{
31
51
  type: Input
52
+ }], animateCaret: [{
53
+ type: Input
54
+ }], showBackground: [{
55
+ type: Input
56
+ }], caretPlacement: [{
57
+ type: Input
32
58
  }], descriptionText: [{
33
59
  type: Input
34
60
  }], isOpen: [{
@@ -43,26 +69,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
43
69
  * @export
44
70
  * @class ExpansionPanelModule
45
71
  */
46
- class ExpansionPanelModule {
72
+ class SdsExpansionPanelModule {
47
73
  }
48
- ExpansionPanelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ExpansionPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
49
- ExpansionPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ExpansionPanelModule, declarations: [ExpansionPanelComponent], imports: [CommonModule,
50
- FontAwesomeModule], exports: [ExpansionPanelComponent] });
51
- ExpansionPanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ExpansionPanelModule, imports: [[
74
+ SdsExpansionPanelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsExpansionPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
75
+ SdsExpansionPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsExpansionPanelModule, declarations: [SdsExpansionPanelComponent], imports: [CommonModule,
76
+ FontAwesomeModule], exports: [SdsExpansionPanelComponent] });
77
+ SdsExpansionPanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsExpansionPanelModule, imports: [[
52
78
  CommonModule,
53
79
  FontAwesomeModule
54
80
  ]] });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ExpansionPanelModule, decorators: [{
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsExpansionPanelModule, decorators: [{
56
82
  type: NgModule,
57
83
  args: [{
58
84
  declarations: [
59
- ExpansionPanelComponent
85
+ SdsExpansionPanelComponent
60
86
  ],
61
87
  imports: [
62
88
  CommonModule,
63
89
  FontAwesomeModule
64
90
  ],
65
- exports: [ExpansionPanelComponent]
91
+ exports: [SdsExpansionPanelComponent]
66
92
  }]
67
93
  }] });
68
94
 
@@ -70,5 +96,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
70
96
  * Generated bundle index. Do not edit.
71
97
  */
72
98
 
73
- export { ExpansionPanelComponent, ExpansionPanelModule };
99
+ export { SdsExpansionPanelComponent, SdsExpansionPanelModule };
74
100
  //# sourceMappingURL=spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs","sources":["../../../projects/ngx-sds-components/src/lib/expansion-panel/expansion-panel.component.ts","../../../projects/ngx-sds-components/src/lib/expansion-panel/expansion-panel.component.html","../../../projects/ngx-sds-components/src/lib/expansion-panel/expansion-panel.module.ts","../../../projects/ngx-sds-components/src/lib/expansion-panel/spicainternational-ngx-sds-components-src-lib-expansion-panel.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { IconDefinition, faCaretDown, faCaretUp } from '@fortawesome/pro-solid-svg-icons';\r\n\r\n@Component({\r\n selector: 'sds-expansion-panel',\r\n templateUrl: './expansion-panel.component.html',\r\n styleUrls: ['./expansion-panel.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\n\r\nexport class ExpansionPanelComponent {\r\n @Input() headerText?: string;\r\n @Input() hideHeader?: boolean;\r\n @Input() headerId?: string;\r\n\r\n /**\r\n * 'descriptionText' - text displayed when component is \"closed\".\r\n *\r\n * Note: Use ng-content 'contentOnClosed' if more complex use-case is needed\r\n *\r\n * @type {string}\r\n * @memberof ExpansionPanelComponent\r\n */\r\n @Input() descriptionText?: string;\r\n\r\n @Input() isOpen: boolean = false;\r\n @Output() isOpenChange: EventEmitter<boolean> = new EventEmitter();\r\n\r\n public cardIsClosedIcon: IconDefinition = faCaretDown;\r\n public cardIsOpenIcon: IconDefinition = faCaretUp;\r\n\r\n public onToggleIsOpenClick(): void {\r\n this.isOpen = !this.isOpen;\r\n this.isOpenChange.emit(this.isOpen);\r\n }\r\n}\r\n","<div class=\"bg-light border-secondary rounded p-4\">\r\n <ng-container *ngIf=\"!hideHeader\">\r\n <button\r\n [id]=\"headerId\"\r\n type=\"button\"\r\n class=\"btn btn-link p-0\"\r\n [ngClass]=\"isOpen ? 'mb-3' : 'mb-1'\"\r\n (click)=\"onToggleIsOpenClick()\">\r\n <span class=\"m-0 h4\">\r\n {{ headerText }}\r\n <fa-icon [icon]=\"isOpen ? cardIsOpenIcon : cardIsClosedIcon\"></fa-icon>\r\n </span>\r\n </button>\r\n </ng-container>\r\n\r\n <div *ngIf=\"!isOpen\">\r\n {{ descriptionText}}\r\n <ng-content select=\"[contentOnClosed]\"></ng-content>\r\n </div>\r\n\r\n <div *ngIf=\"isOpen\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\n\r\nimport { ExpansionPanelComponent } from './expansion-panel.component';\r\n/**\r\n * Expansion panel - provides an expandable details-summary view. Used for 'progressive disclosure'.\r\n *\r\n * @export\r\n * @class ExpansionPanelModule\r\n */\r\n@NgModule({\r\n declarations: [\r\n ExpansionPanelComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FontAwesomeModule\r\n ],\r\n exports: [ExpansionPanelComponent]\r\n})\r\n\r\nexport class ExpansionPanelModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;MAUa,uBAAuB,CAAA;AAPpC,IAAA,WAAA,GAAA;QAsBa,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;AACvB,QAAA,IAAA,CAAA,YAAY,GAA0B,IAAI,YAAY,EAAE,CAAC;QAE5D,IAAgB,CAAA,gBAAA,GAAmB,WAAW,CAAC;QAC/C,IAAc,CAAA,cAAA,GAAmB,SAAS,CAAC;AAMrD,KAAA;IAJU,mBAAmB,GAAA;AACxB,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACrC;;oHAxBQ,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,kPCVpC,6vBAwBA,EAAA,MAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDda,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAPnC,SAAS;+BACE,qBAAqB,EAAA,eAAA,EAGd,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6vBAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,CAAA;8BAIpC,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAUG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAEG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACI,YAAY,EAAA,CAAA;sBAArB,MAAM;;;AErBX;;;;;AAKG;MAYU,oBAAoB,CAAA;;iHAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kHAApB,oBAAoB,EAAA,YAAA,EAAA,CAT7B,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAGvB,YAAY;AACZ,QAAA,iBAAiB,aAET,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAGtB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EAPtB,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,iBAAiB;AAClB,SAAA,CAAA,EAAA,CAAA,CAAA;2FAIU,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAXhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,uBAAuB;AACxB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,iBAAiB;AAClB,qBAAA;oBACD,OAAO,EAAE,CAAC,uBAAuB,CAAC;AACnC,iBAAA,CAAA;;;ACpBD;;AAEG;;;;"}
1
+ {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs","sources":["../../../projects/ngx-sds-components/src/lib/expansion-panel/expansion-panel.component.ts","../../../projects/ngx-sds-components/src/lib/expansion-panel/expansion-panel.component.html","../../../projects/ngx-sds-components/src/lib/expansion-panel/expansion-panel.module.ts","../../../projects/ngx-sds-components/src/lib/expansion-panel/spicainternational-ngx-sds-components-src-lib-expansion-panel.ts"],"sourcesContent":["import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { faChevronDown, faChevronUp } from '@fortawesome/pro-regular-svg-icons';\r\nimport {\r\n IconDefinition,\r\n faCaretDown,\r\n faCaretUp,\r\n} from '@fortawesome/pro-solid-svg-icons';\r\nimport { CaretPlacement } from './expansion-panel.types';\r\n\r\n@Component({\r\n selector: 'sds-expansion-panel',\r\n templateUrl: './expansion-panel.component.html',\r\n styleUrls: ['./expansion-panel.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SdsExpansionPanelComponent {\r\n @Input() headerText?: string;\r\n @Input() hideHeader?: boolean;\r\n @Input() headerId?: string;\r\n\r\n @Input() animateCaret = false;\r\n\r\n /**\r\n * toggles greyish background\r\n *\r\n * @memberof SdsExpansionPanelComponent\r\n */\r\n @Input() showBackground = true;\r\n\r\n /**\r\n * position caret next to header of on the far end of the component\r\n *\r\n * @type {('nextToHeader' | 'farEnd')}\r\n * @memberof SdsExpansionPanelComponent\r\n */\r\n @Input() caretPlacement: CaretPlacement = 'nextToHeader';\r\n\r\n /**\r\n * 'descriptionText' - text displayed when component is \"closed\".\r\n *\r\n * Note: Use ng-content 'contentOnClosed' if more complex use-case is needed\r\n *\r\n * @type {string}\r\n * @memberof ExpansionPanelComponent\r\n */\r\n @Input() descriptionText?: string;\r\n\r\n @Input() isOpen: boolean = false;\r\n @Output() isOpenChange: EventEmitter<boolean> = new EventEmitter();\r\n\r\n public caretIcon: IconDefinition = faChevronDown;\r\n\r\n public onToggleIsOpenClick(event: MouseEvent): void {\r\n this.isOpen = !this.isOpen;\r\n this.isOpenChange.emit(this.isOpen);\r\n event.stopImmediatePropagation();\r\n }\r\n\r\n public openPanel() {\r\n if (!this.isOpen) {\r\n this.isOpen = true;\r\n this.isOpenChange.emit(this.isOpen);\r\n }\r\n }\r\n}\r\n","<div\r\n class=\"rounded expansion-panel\"\r\n [class.background]=\"showBackground\"\r\n [class.closed]=\"!isOpen\"\r\n (click)=\"openPanel()\"\r\n>\r\n <ng-container *ngIf=\"!hideHeader\">\r\n <div\r\n class=\"expansion-panel-header d-flex flex-row aligh-items-center\"\r\n >\r\n <button\r\n class=\"btn btn-link\"\r\n [id]=\"headerId\"\r\n (click)=\"onToggleIsOpenClick($event)\"\r\n >\r\n <span class=\"header-text\">\r\n {{ headerText }}\r\n </span>\r\n </button>\r\n <button\r\n class=\"btn btn-link caret\"\r\n [class.rotate]=\"animateCaret\"\r\n [class.ml-2]=\"caretPlacement === 'nextToHeader'\"\r\n [class.ml-auto]=\"caretPlacement === 'farEnd'\"\r\n (click)=\"onToggleIsOpenClick($event)\"\r\n >\r\n <fa-icon [icon]=\"caretIcon\"></fa-icon>\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <div \r\n *ngIf=\"!isOpen\"\r\n class=\"mt-1\"\r\n >\r\n {{ descriptionText }}\r\n <ng-content select=\"[contentOnClosed]\"></ng-content>\r\n </div>\r\n\r\n <div \r\n *ngIf=\"isOpen\"\r\n class=\"mt-1\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\n\r\nimport { SdsExpansionPanelComponent } from './expansion-panel.component';\r\n/**\r\n * Expansion panel - provides an expandable details-summary view. Used for 'progressive disclosure'.\r\n *\r\n * @export\r\n * @class ExpansionPanelModule\r\n */\r\n@NgModule({\r\n declarations: [\r\n SdsExpansionPanelComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FontAwesomeModule\r\n ],\r\n exports: [SdsExpansionPanelComponent]\r\n})\r\n\r\nexport class SdsExpansionPanelModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}