@pecb-ui/components 1.1.2 → 1.2.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.
- package/README.md +556 -556
- package/fesm2022/pecb-ui-components.mjs +3826 -1945
- package/fesm2022/pecb-ui-components.mjs.map +1 -1
- package/index.d.ts +3937 -3
- package/package.json +6 -8
- package/esm2022/lib/components/button/button.component.mjs +0 -171
- package/esm2022/lib/components/card/card.component.mjs +0 -182
- package/esm2022/lib/components/checkbox/checkbox.component.mjs +0 -126
- package/esm2022/lib/components/datepicker/datepicker.component.mjs +0 -349
- package/esm2022/lib/components/dropdown/dropdown.component.mjs +0 -329
- package/esm2022/lib/components/input/input.component.mjs +0 -321
- package/esm2022/lib/components/pagination/pagination.component.mjs +0 -197
- package/esm2022/lib/components/radio/radio.component.mjs +0 -147
- package/esm2022/lib/components/right-modal/right-modal.component.mjs +0 -234
- package/esm2022/lib/components/sidebar/sidebar.component.mjs +0 -155
- package/esm2022/lib/components/status/status.component.mjs +0 -50
- package/esm2022/lib/components/tab/tab.component.mjs +0 -151
- package/esm2022/lib/components/table/table.component.mjs +0 -503
- package/esm2022/lib/components/toggle/toggle.component.mjs +0 -126
- package/esm2022/lib/pecb-components.module.mjs +0 -118
- package/esm2022/lib/services/loading.service.mjs +0 -182
- package/esm2022/lib/services/notification.service.mjs +0 -144
- package/esm2022/lib/services/theme.service.mjs +0 -232
- package/esm2022/lib/shared/interfaces/component.interfaces.mjs +0 -2
- package/esm2022/lib/shared/types/common.types.mjs +0 -6
- package/esm2022/lib/shared/utils/accessibility.utils.mjs +0 -223
- package/esm2022/lib/shared/utils/dom.utils.mjs +0 -240
- package/esm2022/lib/shared/utils/error.utils.mjs +0 -277
- package/esm2022/lib/shared/utils/string.utils.mjs +0 -204
- package/esm2022/pecb-ui-components.mjs +0 -5
- package/esm2022/public-api.mjs +0 -53
- package/lib/components/button/button.component.d.ts +0 -130
- package/lib/components/card/card.component.d.ts +0 -140
- package/lib/components/checkbox/checkbox.component.d.ts +0 -74
- package/lib/components/datepicker/datepicker.component.d.ts +0 -155
- package/lib/components/dropdown/dropdown.component.d.ts +0 -144
- package/lib/components/input/input.component.d.ts +0 -215
- package/lib/components/pagination/pagination.component.d.ts +0 -53
- package/lib/components/radio/radio.component.d.ts +0 -93
- package/lib/components/right-modal/right-modal.component.d.ts +0 -137
- package/lib/components/sidebar/sidebar.component.d.ts +0 -97
- package/lib/components/status/status.component.d.ts +0 -19
- package/lib/components/tab/tab.component.d.ts +0 -102
- package/lib/components/table/table.component.d.ts +0 -403
- package/lib/components/toggle/toggle.component.d.ts +0 -74
- package/lib/pecb-components.module.d.ts +0 -37
- package/lib/services/loading.service.d.ts +0 -129
- package/lib/services/notification.service.d.ts +0 -136
- package/lib/services/theme.service.d.ts +0 -142
- package/lib/shared/interfaces/component.interfaces.d.ts +0 -283
- package/lib/shared/types/common.types.d.ts +0 -86
- package/lib/shared/utils/accessibility.utils.d.ts +0 -167
- package/lib/shared/utils/dom.utils.d.ts +0 -108
- package/lib/shared/utils/error.utils.d.ts +0 -191
- package/lib/shared/utils/string.utils.d.ts +0 -144
- package/public-api.d.ts +0 -24
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pecb-ui/components",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Professional Angular UI Components Library with TypeScript and SCSS by PECB",
|
|
5
5
|
"author": "PECB",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"keywords": [
|
|
8
8
|
"angular",
|
|
9
|
-
"
|
|
9
|
+
"angular20",
|
|
10
10
|
"components",
|
|
11
11
|
"ui-components",
|
|
12
12
|
"ui-library",
|
|
@@ -27,10 +27,10 @@
|
|
|
27
27
|
},
|
|
28
28
|
"homepage": "https://github.com/pecb-ui/components#readme",
|
|
29
29
|
"peerDependencies": {
|
|
30
|
-
"@angular/common": "^
|
|
31
|
-
"@angular/core": "^
|
|
32
|
-
"@angular/animations": "^
|
|
33
|
-
"@angular/platform-browser": "^
|
|
30
|
+
"@angular/common": "^20.0.0",
|
|
31
|
+
"@angular/core": "^20.0.0",
|
|
32
|
+
"@angular/animations": "^20.0.0",
|
|
33
|
+
"@angular/platform-browser": "^20.0.0",
|
|
34
34
|
"rxjs": "^7.8.0"
|
|
35
35
|
},
|
|
36
36
|
"peerDependenciesMeta": {
|
|
@@ -53,8 +53,6 @@
|
|
|
53
53
|
},
|
|
54
54
|
".": {
|
|
55
55
|
"types": "./index.d.ts",
|
|
56
|
-
"esm2022": "./esm2022/pecb-ui-components.mjs",
|
|
57
|
-
"esm": "./esm2022/pecb-ui-components.mjs",
|
|
58
56
|
"default": "./fesm2022/pecb-ui-components.mjs"
|
|
59
57
|
}
|
|
60
58
|
}
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter, HostBinding } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { generateUniqueId } from '../../shared/utils/dom.utils';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common";
|
|
6
|
-
/**
|
|
7
|
-
* A professional button component with multiple variants and sizes.
|
|
8
|
-
* Fully accessible with WCAG 2.1 AA compliance.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```html
|
|
12
|
-
* <pecb-button variant="primary" size="md" (clicked)="handleClick()">
|
|
13
|
-
* Click me
|
|
14
|
-
* </pecb-button>
|
|
15
|
-
*
|
|
16
|
-
* <!-- With leading icon -->
|
|
17
|
-
* <pecb-button variant="primary" iconStyle="leading" icon="+">
|
|
18
|
-
* Add Item
|
|
19
|
-
* </pecb-button>
|
|
20
|
-
*
|
|
21
|
-
* <!-- Icon only button -->
|
|
22
|
-
* <pecb-button variant="secondary" iconStyle="icon-only" icon="+" ariaLabel="Add item"></pecb-button>
|
|
23
|
-
* ```
|
|
24
|
-
*
|
|
25
|
-
* @publicApi
|
|
26
|
-
*/
|
|
27
|
-
export class ButtonComponent {
|
|
28
|
-
constructor() {
|
|
29
|
-
/**
|
|
30
|
-
* Unique ID for the button element
|
|
31
|
-
*/
|
|
32
|
-
this.id = generateUniqueId('btn');
|
|
33
|
-
/**
|
|
34
|
-
* The visual style variant of the button
|
|
35
|
-
*/
|
|
36
|
-
this.variant = 'primary';
|
|
37
|
-
/**
|
|
38
|
-
* The size of the button
|
|
39
|
-
*/
|
|
40
|
-
this.size = 'md';
|
|
41
|
-
/**
|
|
42
|
-
* Icon placement style
|
|
43
|
-
*/
|
|
44
|
-
this.iconStyle = 'none';
|
|
45
|
-
/**
|
|
46
|
-
* Whether the button is disabled
|
|
47
|
-
*/
|
|
48
|
-
this.disabled = false;
|
|
49
|
-
/**
|
|
50
|
-
* Whether the button should take full width
|
|
51
|
-
*/
|
|
52
|
-
this.fullWidth = false;
|
|
53
|
-
/**
|
|
54
|
-
* Whether the button is in loading state
|
|
55
|
-
*/
|
|
56
|
-
this.loading = false;
|
|
57
|
-
/**
|
|
58
|
-
* Button type attribute
|
|
59
|
-
*/
|
|
60
|
-
this.type = 'button';
|
|
61
|
-
/**
|
|
62
|
-
* Event emitted when the button is clicked
|
|
63
|
-
*/
|
|
64
|
-
this.clicked = new EventEmitter();
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Host binding for the component's ID
|
|
68
|
-
*/
|
|
69
|
-
get hostId() {
|
|
70
|
-
return null; // ID is on the button element, not the host
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Get CSS classes for the button
|
|
74
|
-
*/
|
|
75
|
-
get buttonClasses() {
|
|
76
|
-
return [
|
|
77
|
-
'pecb-button',
|
|
78
|
-
`pecb-button--${this.variant}`,
|
|
79
|
-
`pecb-button--${this.size}`,
|
|
80
|
-
this.iconStyle !== 'none' ? `pecb-button--icon-${this.iconStyle}` : '',
|
|
81
|
-
this.fullWidth ? 'pecb-button--full-width' : '',
|
|
82
|
-
this.loading ? 'pecb-button--loading' : ''
|
|
83
|
-
].filter(Boolean);
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Check if we should show leading icon
|
|
87
|
-
*/
|
|
88
|
-
get showLeadingIcon() {
|
|
89
|
-
return this.iconStyle === 'leading' && !!this.icon && !this.loading;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Check if we should show trailing icon
|
|
93
|
-
*/
|
|
94
|
-
get showTrailingIcon() {
|
|
95
|
-
return this.iconStyle === 'trailing' && !!this.icon && !this.loading;
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Check if this is icon-only button
|
|
99
|
-
*/
|
|
100
|
-
get isIconOnly() {
|
|
101
|
-
return this.iconStyle === 'icon-only';
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Get the loading announcement text for screen readers
|
|
105
|
-
*/
|
|
106
|
-
get loadingText() {
|
|
107
|
-
return 'Loading, please wait';
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Handle button click
|
|
111
|
-
*/
|
|
112
|
-
onClick(event) {
|
|
113
|
-
if (!this.disabled && !this.loading) {
|
|
114
|
-
this.clicked.emit(event);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Handle keyboard events for accessibility
|
|
119
|
-
*/
|
|
120
|
-
onKeyDown(event) {
|
|
121
|
-
// Allow Enter and Space to trigger click
|
|
122
|
-
if ((event.key === 'Enter' || event.key === ' ') && !this.disabled && !this.loading) {
|
|
123
|
-
event.preventDefault();
|
|
124
|
-
this.clicked.emit(event);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
128
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ButtonComponent, isStandalone: true, selector: "pecb-button", inputs: { id: "id", variant: "variant", size: "size", iconStyle: "iconStyle", icon: "icon", disabled: "disabled", fullWidth: "fullWidth", loading: "loading", type: "type", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", ariaDescribedBy: "ariaDescribedBy", ariaExpanded: "ariaExpanded", ariaPressed: "ariaPressed", ariaHasPopup: "ariaHasPopup", ariaControls: "ariaControls" }, outputs: { clicked: "clicked" }, host: { properties: { "attr.id": "this.hostId" } }, ngImport: i0, template: "<button\r\n [id]=\"id\"\r\n [type]=\"type\"\r\n [disabled]=\"disabled || loading\"\r\n [class]=\"buttonClasses.join(' ')\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-describedby]=\"ariaDescribedBy\"\r\n [attr.aria-expanded]=\"ariaExpanded !== undefined ? ariaExpanded : null\"\r\n [attr.aria-pressed]=\"ariaPressed !== undefined ? ariaPressed : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup\"\r\n [attr.aria-controls]=\"ariaControls\"\r\n [attr.aria-busy]=\"loading ? true : null\"\r\n [attr.aria-disabled]=\"disabled ? true : null\"\r\n (click)=\"onClick($event)\"\r\n (keydown)=\"onKeyDown($event)\"\r\n>\r\n <span class=\"pecb-button__content\">\r\n <!-- Loading spinner with screen reader announcement -->\r\n <span *ngIf=\"loading\" class=\"pecb-button__spinner\" aria-hidden=\"true\"></span>\r\n <span *ngIf=\"loading\" class=\"pecb-button__sr-only\">{{ loadingText }}</span>\r\n\r\n <!-- Leading icon -->\r\n <span\r\n *ngIf=\"showLeadingIcon\"\r\n class=\"pecb-button__icon pecb-button__icon--leading\"\r\n aria-hidden=\"true\"\r\n >\r\n {{ icon }}\r\n </span>\r\n\r\n <!-- Icon only -->\r\n <span\r\n *ngIf=\"isIconOnly && icon && !loading\"\r\n class=\"pecb-button__icon\"\r\n aria-hidden=\"true\"\r\n >\r\n {{ icon }}\r\n </span>\r\n\r\n <!-- Button text content (hidden for icon-only) -->\r\n <span *ngIf=\"!isIconOnly\" class=\"pecb-button__text\">\r\n <ng-content></ng-content>\r\n </span>\r\n\r\n <!-- Trailing icon -->\r\n <span\r\n *ngIf=\"showTrailingIcon\"\r\n class=\"pecb-button__icon pecb-button__icon--trailing\"\r\n aria-hidden=\"true\"\r\n >\r\n {{ icon }}\r\n </span>\r\n </span>\r\n</button>\r\n", styles: [".pecb-button{position:relative;display:inline-flex;align-items:center;justify-content:center;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:500;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;user-select:none;border:1px solid transparent;border-radius:8px;cursor:pointer;transition-property:background-color,border-color,color,box-shadow;transition-duration:.25s ease-in-out;transition-timing-function:ease-in-out}.pecb-button:focus-visible{outline:2px solid #a11e29;outline-offset:2px}.pecb-button:disabled{cursor:not-allowed;opacity:.5}.pecb-button--sm{padding:6px 12px;font-size:14px;min-height:24px;gap:6px}.pecb-button--md{padding:8px 16px;font-size:14px;min-height:32px;gap:8px}.pecb-button--lg{padding:12px 20px;font-size:16px;min-height:40px;gap:8px}.pecb-button--primary{background-color:#a11e29;color:#fff;border-color:#a11e29}.pecb-button--primary:hover:not(:disabled){background-color:#7f1820;border-color:#7f1820}.pecb-button--primary:active:not(:disabled){background-color:#6d141c;border-color:#6d141c}.pecb-button--primary-outline{background-color:#fff;color:#a11e29;border-color:#a11e29}.pecb-button--primary-outline:hover:not(:disabled){background-color:#a11e2914;border-color:#7f1820}.pecb-button--primary-outline:active:not(:disabled){background-color:#a11e2929;border-color:#6d141c}.pecb-button--primary-2{background-color:#212427;color:#fff;border-color:#212427}.pecb-button--primary-2:hover:not(:disabled){background-color:#34383d;border-color:#34383d}.pecb-button--primary-2:active:not(:disabled){background-color:#2a2e32;border-color:#2a2e32}.pecb-button--primary-2-outline{background-color:#fff;color:#212427;border-color:#212427}.pecb-button--primary-2-outline:hover:not(:disabled){background-color:#f4f4f4;border-color:#34383d}.pecb-button--primary-2-outline:active:not(:disabled){background-color:#ececec;border-color:#212427}.pecb-button--neutral{background-color:#313131;color:#fff;border-color:#313131}.pecb-button--neutral:hover:not(:disabled){background-color:#4b4b4b;border-color:#4b4b4b}.pecb-button--neutral:active:not(:disabled){background-color:#3e3e3e;border-color:#3e3e3e}.pecb-button--neutral-outline{background-color:#fff;color:#313131;border-color:#313131}.pecb-button--neutral-outline:hover:not(:disabled){background-color:#f4f4f4;border-color:#4b4b4b}.pecb-button--neutral-outline:active:not(:disabled){background-color:#ececec;border-color:#313131}.pecb-button--secondary{background-color:#fff;color:#313131;border-color:#c2c2c2}.pecb-button--secondary:hover:not(:disabled){background-color:#f4f4f4;border-color:#919191}.pecb-button--secondary:active:not(:disabled){background-color:#ececec;border-color:#616161}.pecb-button--text{background-color:transparent;color:#313131;border-color:transparent}.pecb-button--text:hover:not(:disabled){background-color:#f4f4f4}.pecb-button--text:active:not(:disabled){background-color:#ececec}.pecb-button--destructive{background-color:#dc3545;color:#fff;border-color:#dc3545}.pecb-button--destructive:hover:not(:disabled){background-color:#c62232;border-color:#c62232}.pecb-button--destructive:active:not(:disabled){background-color:#b51f2e;border-color:#b51f2e}.pecb-button--destructive-outline{background-color:#fff;color:#dc3545;border-color:#dc3545}.pecb-button--destructive-outline:hover:not(:disabled){background-color:#fdecea;border-color:#c62232}.pecb-button--destructive-outline:active:not(:disabled){background-color:#fbd7d3;border-color:#b51f2e}.pecb-button--icon-leading .pecb-button__content,.pecb-button--icon-trailing .pecb-button__content{gap:8px}.pecb-button--icon-icon-only.pecb-button--sm{padding:6px;min-width:24px}.pecb-button--icon-icon-only.pecb-button--md{padding:8px;min-width:32px}.pecb-button--icon-icon-only.pecb-button--lg{padding:12px;min-width:40px}.pecb-button--full-width{width:100%}.pecb-button--loading{cursor:wait}.pecb-button__content{display:inline-flex;align-items:center;justify-content:center;gap:8px}.pecb-button__icon{display:inline-flex;align-items:center;justify-content:center;font-size:1.1em;line-height:1}.pecb-button__icon--leading{margin-right:0}.pecb-button__icon--trailing{margin-left:0}.pecb-button__text{display:inline-flex;align-items:center}.pecb-button__spinner{display:inline-block;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:pecb-button-spin .6s linear infinite}@keyframes pecb-button-spin{to{transform:rotate(360deg)}}.pecb-button__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
129
|
-
}
|
|
130
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
131
|
-
type: Component,
|
|
132
|
-
args: [{ selector: 'pecb-button', standalone: true, imports: [CommonModule], template: "<button\r\n [id]=\"id\"\r\n [type]=\"type\"\r\n [disabled]=\"disabled || loading\"\r\n [class]=\"buttonClasses.join(' ')\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-describedby]=\"ariaDescribedBy\"\r\n [attr.aria-expanded]=\"ariaExpanded !== undefined ? ariaExpanded : null\"\r\n [attr.aria-pressed]=\"ariaPressed !== undefined ? ariaPressed : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup\"\r\n [attr.aria-controls]=\"ariaControls\"\r\n [attr.aria-busy]=\"loading ? true : null\"\r\n [attr.aria-disabled]=\"disabled ? true : null\"\r\n (click)=\"onClick($event)\"\r\n (keydown)=\"onKeyDown($event)\"\r\n>\r\n <span class=\"pecb-button__content\">\r\n <!-- Loading spinner with screen reader announcement -->\r\n <span *ngIf=\"loading\" class=\"pecb-button__spinner\" aria-hidden=\"true\"></span>\r\n <span *ngIf=\"loading\" class=\"pecb-button__sr-only\">{{ loadingText }}</span>\r\n\r\n <!-- Leading icon -->\r\n <span\r\n *ngIf=\"showLeadingIcon\"\r\n class=\"pecb-button__icon pecb-button__icon--leading\"\r\n aria-hidden=\"true\"\r\n >\r\n {{ icon }}\r\n </span>\r\n\r\n <!-- Icon only -->\r\n <span\r\n *ngIf=\"isIconOnly && icon && !loading\"\r\n class=\"pecb-button__icon\"\r\n aria-hidden=\"true\"\r\n >\r\n {{ icon }}\r\n </span>\r\n\r\n <!-- Button text content (hidden for icon-only) -->\r\n <span *ngIf=\"!isIconOnly\" class=\"pecb-button__text\">\r\n <ng-content></ng-content>\r\n </span>\r\n\r\n <!-- Trailing icon -->\r\n <span\r\n *ngIf=\"showTrailingIcon\"\r\n class=\"pecb-button__icon pecb-button__icon--trailing\"\r\n aria-hidden=\"true\"\r\n >\r\n {{ icon }}\r\n </span>\r\n </span>\r\n</button>\r\n", styles: [".pecb-button{position:relative;display:inline-flex;align-items:center;justify-content:center;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:500;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;user-select:none;border:1px solid transparent;border-radius:8px;cursor:pointer;transition-property:background-color,border-color,color,box-shadow;transition-duration:.25s ease-in-out;transition-timing-function:ease-in-out}.pecb-button:focus-visible{outline:2px solid #a11e29;outline-offset:2px}.pecb-button:disabled{cursor:not-allowed;opacity:.5}.pecb-button--sm{padding:6px 12px;font-size:14px;min-height:24px;gap:6px}.pecb-button--md{padding:8px 16px;font-size:14px;min-height:32px;gap:8px}.pecb-button--lg{padding:12px 20px;font-size:16px;min-height:40px;gap:8px}.pecb-button--primary{background-color:#a11e29;color:#fff;border-color:#a11e29}.pecb-button--primary:hover:not(:disabled){background-color:#7f1820;border-color:#7f1820}.pecb-button--primary:active:not(:disabled){background-color:#6d141c;border-color:#6d141c}.pecb-button--primary-outline{background-color:#fff;color:#a11e29;border-color:#a11e29}.pecb-button--primary-outline:hover:not(:disabled){background-color:#a11e2914;border-color:#7f1820}.pecb-button--primary-outline:active:not(:disabled){background-color:#a11e2929;border-color:#6d141c}.pecb-button--primary-2{background-color:#212427;color:#fff;border-color:#212427}.pecb-button--primary-2:hover:not(:disabled){background-color:#34383d;border-color:#34383d}.pecb-button--primary-2:active:not(:disabled){background-color:#2a2e32;border-color:#2a2e32}.pecb-button--primary-2-outline{background-color:#fff;color:#212427;border-color:#212427}.pecb-button--primary-2-outline:hover:not(:disabled){background-color:#f4f4f4;border-color:#34383d}.pecb-button--primary-2-outline:active:not(:disabled){background-color:#ececec;border-color:#212427}.pecb-button--neutral{background-color:#313131;color:#fff;border-color:#313131}.pecb-button--neutral:hover:not(:disabled){background-color:#4b4b4b;border-color:#4b4b4b}.pecb-button--neutral:active:not(:disabled){background-color:#3e3e3e;border-color:#3e3e3e}.pecb-button--neutral-outline{background-color:#fff;color:#313131;border-color:#313131}.pecb-button--neutral-outline:hover:not(:disabled){background-color:#f4f4f4;border-color:#4b4b4b}.pecb-button--neutral-outline:active:not(:disabled){background-color:#ececec;border-color:#313131}.pecb-button--secondary{background-color:#fff;color:#313131;border-color:#c2c2c2}.pecb-button--secondary:hover:not(:disabled){background-color:#f4f4f4;border-color:#919191}.pecb-button--secondary:active:not(:disabled){background-color:#ececec;border-color:#616161}.pecb-button--text{background-color:transparent;color:#313131;border-color:transparent}.pecb-button--text:hover:not(:disabled){background-color:#f4f4f4}.pecb-button--text:active:not(:disabled){background-color:#ececec}.pecb-button--destructive{background-color:#dc3545;color:#fff;border-color:#dc3545}.pecb-button--destructive:hover:not(:disabled){background-color:#c62232;border-color:#c62232}.pecb-button--destructive:active:not(:disabled){background-color:#b51f2e;border-color:#b51f2e}.pecb-button--destructive-outline{background-color:#fff;color:#dc3545;border-color:#dc3545}.pecb-button--destructive-outline:hover:not(:disabled){background-color:#fdecea;border-color:#c62232}.pecb-button--destructive-outline:active:not(:disabled){background-color:#fbd7d3;border-color:#b51f2e}.pecb-button--icon-leading .pecb-button__content,.pecb-button--icon-trailing .pecb-button__content{gap:8px}.pecb-button--icon-icon-only.pecb-button--sm{padding:6px;min-width:24px}.pecb-button--icon-icon-only.pecb-button--md{padding:8px;min-width:32px}.pecb-button--icon-icon-only.pecb-button--lg{padding:12px;min-width:40px}.pecb-button--full-width{width:100%}.pecb-button--loading{cursor:wait}.pecb-button__content{display:inline-flex;align-items:center;justify-content:center;gap:8px}.pecb-button__icon{display:inline-flex;align-items:center;justify-content:center;font-size:1.1em;line-height:1}.pecb-button__icon--leading{margin-right:0}.pecb-button__icon--trailing{margin-left:0}.pecb-button__text{display:inline-flex;align-items:center}.pecb-button__spinner{display:inline-block;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:pecb-button-spin .6s linear infinite}@keyframes pecb-button-spin{to{transform:rotate(360deg)}}.pecb-button__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"] }]
|
|
133
|
-
}], propDecorators: { id: [{
|
|
134
|
-
type: Input
|
|
135
|
-
}], variant: [{
|
|
136
|
-
type: Input
|
|
137
|
-
}], size: [{
|
|
138
|
-
type: Input
|
|
139
|
-
}], iconStyle: [{
|
|
140
|
-
type: Input
|
|
141
|
-
}], icon: [{
|
|
142
|
-
type: Input
|
|
143
|
-
}], disabled: [{
|
|
144
|
-
type: Input
|
|
145
|
-
}], fullWidth: [{
|
|
146
|
-
type: Input
|
|
147
|
-
}], loading: [{
|
|
148
|
-
type: Input
|
|
149
|
-
}], type: [{
|
|
150
|
-
type: Input
|
|
151
|
-
}], ariaLabel: [{
|
|
152
|
-
type: Input
|
|
153
|
-
}], ariaLabelledBy: [{
|
|
154
|
-
type: Input
|
|
155
|
-
}], ariaDescribedBy: [{
|
|
156
|
-
type: Input
|
|
157
|
-
}], ariaExpanded: [{
|
|
158
|
-
type: Input
|
|
159
|
-
}], ariaPressed: [{
|
|
160
|
-
type: Input
|
|
161
|
-
}], ariaHasPopup: [{
|
|
162
|
-
type: Input
|
|
163
|
-
}], ariaControls: [{
|
|
164
|
-
type: Input
|
|
165
|
-
}], clicked: [{
|
|
166
|
-
type: Output
|
|
167
|
-
}], hostId: [{
|
|
168
|
-
type: HostBinding,
|
|
169
|
-
args: ['attr.id']
|
|
170
|
-
}] } });
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7OztBQWdCaEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBUUgsTUFBTSxPQUFPLGVBQWU7SUFQNUI7UUFRRTs7V0FFRztRQUNNLE9BQUUsR0FBVyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5Qzs7V0FFRztRQUNNLFlBQU8sR0FBa0IsU0FBUyxDQUFDO1FBRTVDOztXQUVHO1FBQ00sU0FBSSxHQUFlLElBQUksQ0FBQztRQUVqQzs7V0FFRztRQUNNLGNBQVMsR0FBb0IsTUFBTSxDQUFDO1FBTzdDOztXQUVHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBQztRQUUxQjs7V0FFRztRQUNNLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFM0I7O1dBRUc7UUFDTSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRXpCOztXQUVHO1FBQ00sU0FBSSxHQUFrQyxRQUFRLENBQUM7UUF1Q3hEOztXQUVHO1FBQ08sWUFBTyxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7S0FzRXBEO0lBcEVDOztPQUVHO0lBQ0gsSUFBNEIsTUFBTTtRQUNoQyxPQUFPLElBQUksQ0FBQyxDQUFDLDRDQUE0QztJQUMzRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLGFBQWE7UUFDZixPQUFPO1lBQ0wsYUFBYTtZQUNiLGdCQUFnQixJQUFJLENBQUMsT0FBTyxFQUFFO1lBQzlCLGdCQUFnQixJQUFJLENBQUMsSUFBSSxFQUFFO1lBQzNCLElBQUksQ0FBQyxTQUFTLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3RFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQy9DLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQzNDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssVUFBVSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN2RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssV0FBVyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksV0FBVztRQUNiLE9BQU8sc0JBQXNCLENBQUM7SUFDaEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTyxDQUFDLEtBQWlCO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTLENBQUMsS0FBb0I7UUFDNUIseUNBQXlDO1FBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLE9BQU8sSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNwRixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBOEIsQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDSCxDQUFDOytHQTNKVSxlQUFlO21HQUFmLGVBQWUsOGhCQzlDNUIsdXhEQXVEQSxvbkpEYlksWUFBWTs7NEZBSVgsZUFBZTtrQkFQM0IsU0FBUzsrQkFDRSxhQUFhLGNBQ1gsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDOzhCQVFkLEVBQUU7c0JBQVYsS0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS0csSUFBSTtzQkFBWixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csSUFBSTtzQkFBWixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS0csSUFBSTtzQkFBWixLQUFLO2dCQU9HLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csY0FBYztzQkFBdEIsS0FBSztnQkFLRyxlQUFlO3NCQUF2QixLQUFLO2dCQUtHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBS0csV0FBVztzQkFBbkIsS0FBSztnQkFLRyxZQUFZO3NCQUFwQixLQUFLO2dCQUtHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBS0ksT0FBTztzQkFBaEIsTUFBTTtnQkFLcUIsTUFBTTtzQkFBakMsV0FBVzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IGdlbmVyYXRlVW5pcXVlSWQgfSBmcm9tICcuLi8uLi9zaGFyZWQvdXRpbHMvZG9tLnV0aWxzJztcclxuXHJcbmV4cG9ydCB0eXBlIEJ1dHRvblZhcmlhbnQgPVxyXG4gIHwgJ3ByaW1hcnknXHJcbiAgfCAncHJpbWFyeS1vdXRsaW5lJ1xyXG4gIHwgJ3ByaW1hcnktMidcclxuICB8ICdwcmltYXJ5LTItb3V0bGluZSdcclxuICB8ICduZXV0cmFsJ1xyXG4gIHwgJ25ldXRyYWwtb3V0bGluZSdcclxuICB8ICdzZWNvbmRhcnknXHJcbiAgfCAndGV4dCdcclxuICB8ICdkZXN0cnVjdGl2ZSdcclxuICB8ICdkZXN0cnVjdGl2ZS1vdXRsaW5lJztcclxuZXhwb3J0IHR5cGUgQnV0dG9uU2l6ZSA9ICdzbScgfCAnbWQnIHwgJ2xnJztcclxuZXhwb3J0IHR5cGUgQnV0dG9uSWNvblN0eWxlID0gJ25vbmUnIHwgJ2xlYWRpbmcnIHwgJ3RyYWlsaW5nJyB8ICdpY29uLW9ubHknO1xyXG5cclxuLyoqXHJcbiAqIEEgcHJvZmVzc2lvbmFsIGJ1dHRvbiBjb21wb25lbnQgd2l0aCBtdWx0aXBsZSB2YXJpYW50cyBhbmQgc2l6ZXMuXHJcbiAqIEZ1bGx5IGFjY2Vzc2libGUgd2l0aCBXQ0FHIDIuMSBBQSBjb21wbGlhbmNlLlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGBodG1sXHJcbiAqIDxwZWNiLWJ1dHRvbiB2YXJpYW50PVwicHJpbWFyeVwiIHNpemU9XCJtZFwiIChjbGlja2VkKT1cImhhbmRsZUNsaWNrKClcIj5cclxuICogICBDbGljayBtZVxyXG4gKiA8L3BlY2ItYnV0dG9uPlxyXG4gKlxyXG4gKiA8IS0tIFdpdGggbGVhZGluZyBpY29uIC0tPlxyXG4gKiA8cGVjYi1idXR0b24gdmFyaWFudD1cInByaW1hcnlcIiBpY29uU3R5bGU9XCJsZWFkaW5nXCIgaWNvbj1cIitcIj5cclxuICogICBBZGQgSXRlbVxyXG4gKiA8L3BlY2ItYnV0dG9uPlxyXG4gKlxyXG4gKiA8IS0tIEljb24gb25seSBidXR0b24gLS0+XHJcbiAqIDxwZWNiLWJ1dHRvbiB2YXJpYW50PVwic2Vjb25kYXJ5XCIgaWNvblN0eWxlPVwiaWNvbi1vbmx5XCIgaWNvbj1cIitcIiBhcmlhTGFiZWw9XCJBZGQgaXRlbVwiPjwvcGVjYi1idXR0b24+XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBAcHVibGljQXBpXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3BlY2ItYnV0dG9uJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQge1xyXG4gIC8qKlxyXG4gICAqIFVuaXF1ZSBJRCBmb3IgdGhlIGJ1dHRvbiBlbGVtZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgaWQ6IHN0cmluZyA9IGdlbmVyYXRlVW5pcXVlSWQoJ2J0bicpO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgdmlzdWFsIHN0eWxlIHZhcmlhbnQgb2YgdGhlIGJ1dHRvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQgPSAncHJpbWFyeSc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBzaXplIG9mIHRoZSBidXR0b25cclxuICAgKi9cclxuICBASW5wdXQoKSBzaXplOiBCdXR0b25TaXplID0gJ21kJztcclxuXHJcbiAgLyoqXHJcbiAgICogSWNvbiBwbGFjZW1lbnQgc3R5bGVcclxuICAgKi9cclxuICBASW5wdXQoKSBpY29uU3R5bGU6IEJ1dHRvbkljb25TdHlsZSA9ICdub25lJztcclxuXHJcbiAgLyoqXHJcbiAgICogSWNvbiB0byBkaXNwbGF5ICh1c2VkIHdpdGggaWNvblN0eWxlKVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGljb24/OiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhlIGJ1dHRvbiBpcyBkaXNhYmxlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhlIGJ1dHRvbiBzaG91bGQgdGFrZSBmdWxsIHdpZHRoXHJcbiAgICovXHJcbiAgQElucHV0KCkgZnVsbFdpZHRoID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhlIGJ1dHRvbiBpcyBpbiBsb2FkaW5nIHN0YXRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgbG9hZGluZyA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBCdXR0b24gdHlwZSBhdHRyaWJ1dGVcclxuICAgKi9cclxuICBASW5wdXQoKSB0eXBlOiAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0JyA9ICdidXR0b24nO1xyXG5cclxuICAvLyAtLS0gQVJJQSBBY2Nlc3NpYmlsaXR5IFByb3BlcnRpZXMgLS0tXHJcblxyXG4gIC8qKlxyXG4gICAqIEFjY2Vzc2libGUgbGFiZWwgZm9yIHRoZSBidXR0b24gKHJlcXVpcmVkIGZvciBpY29uLW9ubHkgYnV0dG9ucylcclxuICAgKi9cclxuICBASW5wdXQoKSBhcmlhTGFiZWw/OiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIElEIG9mIGVsZW1lbnQgdGhhdCBsYWJlbHMgdGhpcyBidXR0b25cclxuICAgKi9cclxuICBASW5wdXQoKSBhcmlhTGFiZWxsZWRCeT86IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogSUQgb2YgZWxlbWVudCB0aGF0IGRlc2NyaWJlcyB0aGlzIGJ1dHRvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFyaWFEZXNjcmliZWRCeT86IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogSW5kaWNhdGVzIHRoZSBidXR0b24gY29udHJvbHMgYW4gZXhwYW5kYWJsZSBlbGVtZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgYXJpYUV4cGFuZGVkPzogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogSW5kaWNhdGVzIHRoZSBwcmVzc2VkIHN0YXRlIGZvciB0b2dnbGUgYnV0dG9uc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFyaWFQcmVzc2VkPzogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogSW5kaWNhdGVzIHRoZSBidXR0b24gb3BlbnMgYSBwb3B1cCAobWVudSwgbGlzdGJveCwgZGlhbG9nLCBldGMuKVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFyaWFIYXNQb3B1cD86IGJvb2xlYW4gfCAnbWVudScgfCAnbGlzdGJveCcgfCAndHJlZScgfCAnZ3JpZCcgfCAnZGlhbG9nJztcclxuXHJcbiAgLyoqXHJcbiAgICogSUQgb2YgdGhlIGVsZW1lbnQgY29udHJvbGxlZCBieSB0aGlzIGJ1dHRvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFyaWFDb250cm9scz86IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBidXR0b24gaXMgY2xpY2tlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBjbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICAvKipcclxuICAgKiBIb3N0IGJpbmRpbmcgZm9yIHRoZSBjb21wb25lbnQncyBJRFxyXG4gICAqL1xyXG4gIEBIb3N0QmluZGluZygnYXR0ci5pZCcpIGdldCBob3N0SWQoKTogbnVsbCB7XHJcbiAgICByZXR1cm4gbnVsbDsgLy8gSUQgaXMgb24gdGhlIGJ1dHRvbiBlbGVtZW50LCBub3QgdGhlIGhvc3RcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBDU1MgY2xhc3NlcyBmb3IgdGhlIGJ1dHRvblxyXG4gICAqL1xyXG4gIGdldCBidXR0b25DbGFzc2VzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiBbXHJcbiAgICAgICdwZWNiLWJ1dHRvbicsXHJcbiAgICAgIGBwZWNiLWJ1dHRvbi0tJHt0aGlzLnZhcmlhbnR9YCxcclxuICAgICAgYHBlY2ItYnV0dG9uLS0ke3RoaXMuc2l6ZX1gLFxyXG4gICAgICB0aGlzLmljb25TdHlsZSAhPT0gJ25vbmUnID8gYHBlY2ItYnV0dG9uLS1pY29uLSR7dGhpcy5pY29uU3R5bGV9YCA6ICcnLFxyXG4gICAgICB0aGlzLmZ1bGxXaWR0aCA/ICdwZWNiLWJ1dHRvbi0tZnVsbC13aWR0aCcgOiAnJyxcclxuICAgICAgdGhpcy5sb2FkaW5nID8gJ3BlY2ItYnV0dG9uLS1sb2FkaW5nJyA6ICcnXHJcbiAgICBdLmZpbHRlcihCb29sZWFuKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIHdlIHNob3VsZCBzaG93IGxlYWRpbmcgaWNvblxyXG4gICAqL1xyXG4gIGdldCBzaG93TGVhZGluZ0ljb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pY29uU3R5bGUgPT09ICdsZWFkaW5nJyAmJiAhIXRoaXMuaWNvbiAmJiAhdGhpcy5sb2FkaW5nO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgd2Ugc2hvdWxkIHNob3cgdHJhaWxpbmcgaWNvblxyXG4gICAqL1xyXG4gIGdldCBzaG93VHJhaWxpbmdJY29uKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaWNvblN0eWxlID09PSAndHJhaWxpbmcnICYmICEhdGhpcy5pY29uICYmICF0aGlzLmxvYWRpbmc7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiB0aGlzIGlzIGljb24tb25seSBidXR0b25cclxuICAgKi9cclxuICBnZXQgaXNJY29uT25seSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmljb25TdHlsZSA9PT0gJ2ljb24tb25seSc7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgdGhlIGxvYWRpbmcgYW5ub3VuY2VtZW50IHRleHQgZm9yIHNjcmVlbiByZWFkZXJzXHJcbiAgICovXHJcbiAgZ2V0IGxvYWRpbmdUZXh0KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gJ0xvYWRpbmcsIHBsZWFzZSB3YWl0JztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZSBidXR0b24gY2xpY2tcclxuICAgKi9cclxuICBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQgJiYgIXRoaXMubG9hZGluZykge1xyXG4gICAgICB0aGlzLmNsaWNrZWQuZW1pdChldmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGUga2V5Ym9hcmQgZXZlbnRzIGZvciBhY2Nlc3NpYmlsaXR5XHJcbiAgICovXHJcbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICAvLyBBbGxvdyBFbnRlciBhbmQgU3BhY2UgdG8gdHJpZ2dlciBjbGlja1xyXG4gICAgaWYgKChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnICcpICYmICF0aGlzLmRpc2FibGVkICYmICF0aGlzLmxvYWRpbmcpIHtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgdGhpcy5jbGlja2VkLmVtaXQoZXZlbnQgYXMgdW5rbm93biBhcyBNb3VzZUV2ZW50KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGJ1dHRvblxyXG4gIFtpZF09XCJpZFwiXHJcbiAgW3R5cGVdPVwidHlwZVwiXHJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGxvYWRpbmdcIlxyXG4gIFtjbGFzc109XCJidXR0b25DbGFzc2VzLmpvaW4oJyAnKVwiXHJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxyXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeVwiXHJcbiAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJhcmlhRGVzY3JpYmVkQnlcIlxyXG4gIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiYXJpYUV4cGFuZGVkICE9PSB1bmRlZmluZWQgPyBhcmlhRXhwYW5kZWQgOiBudWxsXCJcclxuICBbYXR0ci5hcmlhLXByZXNzZWRdPVwiYXJpYVByZXNzZWQgIT09IHVuZGVmaW5lZCA/IGFyaWFQcmVzc2VkIDogbnVsbFwiXHJcbiAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJhcmlhSGFzUG9wdXBcIlxyXG4gIFthdHRyLmFyaWEtY29udHJvbHNdPVwiYXJpYUNvbnRyb2xzXCJcclxuICBbYXR0ci5hcmlhLWJ1c3ldPVwibG9hZGluZyA/IHRydWUgOiBudWxsXCJcclxuICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkID8gdHJ1ZSA6IG51bGxcIlxyXG4gIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxyXG4gIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCJcclxuPlxyXG4gIDxzcGFuIGNsYXNzPVwicGVjYi1idXR0b25fX2NvbnRlbnRcIj5cclxuICAgIDwhLS0gTG9hZGluZyBzcGlubmVyIHdpdGggc2NyZWVuIHJlYWRlciBhbm5vdW5jZW1lbnQgLS0+XHJcbiAgICA8c3BhbiAqbmdJZj1cImxvYWRpbmdcIiBjbGFzcz1cInBlY2ItYnV0dG9uX19zcGlubmVyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJsb2FkaW5nXCIgY2xhc3M9XCJwZWNiLWJ1dHRvbl9fc3Itb25seVwiPnt7IGxvYWRpbmdUZXh0IH19PC9zcGFuPlxyXG5cclxuICAgIDwhLS0gTGVhZGluZyBpY29uIC0tPlxyXG4gICAgPHNwYW5cclxuICAgICAgKm5nSWY9XCJzaG93TGVhZGluZ0ljb25cIlxyXG4gICAgICBjbGFzcz1cInBlY2ItYnV0dG9uX19pY29uIHBlY2ItYnV0dG9uX19pY29uLS1sZWFkaW5nXCJcclxuICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcclxuICAgID5cclxuICAgICAge3sgaWNvbiB9fVxyXG4gICAgPC9zcGFuPlxyXG5cclxuICAgIDwhLS0gSWNvbiBvbmx5IC0tPlxyXG4gICAgPHNwYW5cclxuICAgICAgKm5nSWY9XCJpc0ljb25Pbmx5ICYmIGljb24gJiYgIWxvYWRpbmdcIlxyXG4gICAgICBjbGFzcz1cInBlY2ItYnV0dG9uX19pY29uXCJcclxuICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcclxuICAgID5cclxuICAgICAge3sgaWNvbiB9fVxyXG4gICAgPC9zcGFuPlxyXG5cclxuICAgIDwhLS0gQnV0dG9uIHRleHQgY29udGVudCAoaGlkZGVuIGZvciBpY29uLW9ubHkpIC0tPlxyXG4gICAgPHNwYW4gKm5nSWY9XCIhaXNJY29uT25seVwiIGNsYXNzPVwicGVjYi1idXR0b25fX3RleHRcIj5cclxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPC9zcGFuPlxyXG5cclxuICAgIDwhLS0gVHJhaWxpbmcgaWNvbiAtLT5cclxuICAgIDxzcGFuXHJcbiAgICAgICpuZ0lmPVwic2hvd1RyYWlsaW5nSWNvblwiXHJcbiAgICAgIGNsYXNzPVwicGVjYi1idXR0b25fX2ljb24gcGVjYi1idXR0b25fX2ljb24tLXRyYWlsaW5nXCJcclxuICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcclxuICAgID5cclxuICAgICAge3sgaWNvbiB9fVxyXG4gICAgPC9zcGFuPlxyXG4gIDwvc3Bhbj5cclxuPC9idXR0b24+XHJcbiJdfQ==
|
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { generateUniqueId } from '../../shared/utils/dom.utils';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/**
|
|
5
|
-
* A professional card component for displaying content in a contained format.
|
|
6
|
-
* Fully accessible with WCAG 2.1 AA compliance.
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* ```html
|
|
10
|
-
* <!-- Basic card -->
|
|
11
|
-
* <pecb-card elevation="md">
|
|
12
|
-
* <pecb-card-header>
|
|
13
|
-
* <h3>Card Title</h3>
|
|
14
|
-
* </pecb-card-header>
|
|
15
|
-
* <pecb-card-body>
|
|
16
|
-
* <p>Card content goes here</p>
|
|
17
|
-
* </pecb-card-body>
|
|
18
|
-
* </pecb-card>
|
|
19
|
-
*
|
|
20
|
-
* <!-- Accessible card with region role -->
|
|
21
|
-
* <pecb-card role="region" ariaLabel="Product Information">
|
|
22
|
-
* <pecb-card-body>
|
|
23
|
-
* <p>Product details...</p>
|
|
24
|
-
* </pecb-card-body>
|
|
25
|
-
* </pecb-card>
|
|
26
|
-
*
|
|
27
|
-
* <!-- Card as article -->
|
|
28
|
-
* <pecb-card role="article" ariaLabelledBy="article-title">
|
|
29
|
-
* <pecb-card-header>
|
|
30
|
-
* <h2 id="article-title">Article Headline</h2>
|
|
31
|
-
* </pecb-card-header>
|
|
32
|
-
* <pecb-card-body>
|
|
33
|
-
* <p>Article content...</p>
|
|
34
|
-
* </pecb-card-body>
|
|
35
|
-
* </pecb-card>
|
|
36
|
-
* ```
|
|
37
|
-
*
|
|
38
|
-
* @publicApi
|
|
39
|
-
*/
|
|
40
|
-
export class CardComponent {
|
|
41
|
-
constructor() {
|
|
42
|
-
/**
|
|
43
|
-
* Unique ID for the card element
|
|
44
|
-
*/
|
|
45
|
-
this.id = generateUniqueId('card');
|
|
46
|
-
/**
|
|
47
|
-
* The elevation level (shadow depth) of the card
|
|
48
|
-
*/
|
|
49
|
-
this.elevation = 'md';
|
|
50
|
-
/**
|
|
51
|
-
* Whether the card should be hoverable with elevation change
|
|
52
|
-
*/
|
|
53
|
-
this.hoverable = false;
|
|
54
|
-
/**
|
|
55
|
-
* Whether to add padding to the card
|
|
56
|
-
*/
|
|
57
|
-
this.noPadding = false;
|
|
58
|
-
// --- ARIA Accessibility Properties ---
|
|
59
|
-
/**
|
|
60
|
-
* Semantic role for the card (article, region, group, listitem, or none)
|
|
61
|
-
* Use 'article' for self-contained content, 'region' for significant sections
|
|
62
|
-
*/
|
|
63
|
-
this.role = 'none';
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Get CSS classes for the card
|
|
67
|
-
*/
|
|
68
|
-
get cardClasses() {
|
|
69
|
-
return [
|
|
70
|
-
'pecb-card',
|
|
71
|
-
`pecb-card--elevation-${this.elevation}`,
|
|
72
|
-
this.hoverable ? 'pecb-card--hoverable' : '',
|
|
73
|
-
this.noPadding ? 'pecb-card--no-padding' : ''
|
|
74
|
-
].filter(Boolean);
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Get the role attribute value
|
|
78
|
-
*/
|
|
79
|
-
get roleAttribute() {
|
|
80
|
-
return this.role !== 'none' ? this.role : null;
|
|
81
|
-
}
|
|
82
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
83
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CardComponent, isStandalone: true, selector: "pecb-card", inputs: { id: "id", elevation: "elevation", hoverable: "hoverable", noPadding: "noPadding", role: "role", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", ariaDescribedBy: "ariaDescribedBy" }, ngImport: i0, template: "<div\r\n [id]=\"id\"\r\n [class]=\"cardClasses.join(' ')\"\r\n [attr.role]=\"roleAttribute\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-describedby]=\"ariaDescribedBy\"\r\n>\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".pecb-card{position:relative;display:flex;flex-direction:column;background-color:#fff;border-radius:16px;overflow:hidden;transition-property:box-shadow,transform;transition-duration:.25s ease-in-out;transition-timing-function:ease-in-out}.pecb-card:not(.pecb-card--no-padding){padding:20px}.pecb-card--elevation-none{box-shadow:none;border:1px solid #ececec}.pecb-card--elevation-sm{box-shadow:0 1px 2px #0000000d}.pecb-card--elevation-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.pecb-card--elevation-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.pecb-card--elevation-xl{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.pecb-card--hoverable{cursor:pointer}.pecb-card--hoverable:hover{transform:translateY(-2px)}.pecb-card--hoverable:hover.pecb-card--elevation-sm{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.pecb-card--hoverable:hover.pecb-card--elevation-md{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.pecb-card--hoverable:hover.pecb-card--elevation-lg{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.pecb-card__header{margin-bottom:16px}.pecb-card__header h1,.pecb-card__header h2,.pecb-card__header h3,.pecb-card__header h4,.pecb-card__header h5,.pecb-card__header h6{margin:0;font-weight:700;color:#313131}.pecb-card--no-padding .pecb-card__header{padding:20px 20px 0}.pecb-card__body{flex:1;color:#616161}.pecb-card--no-padding .pecb-card__body{padding:0 20px}.pecb-card__body p:last-child{margin-bottom:0}.pecb-card__footer{margin-top:16px;padding-top:16px;border-top:1px solid #ececec}.pecb-card--no-padding .pecb-card__footer{padding:20px 20px 0}\n"] }); }
|
|
84
|
-
}
|
|
85
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CardComponent, decorators: [{
|
|
86
|
-
type: Component,
|
|
87
|
-
args: [{ selector: 'pecb-card', standalone: true, template: "<div\r\n [id]=\"id\"\r\n [class]=\"cardClasses.join(' ')\"\r\n [attr.role]=\"roleAttribute\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.aria-describedby]=\"ariaDescribedBy\"\r\n>\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".pecb-card{position:relative;display:flex;flex-direction:column;background-color:#fff;border-radius:16px;overflow:hidden;transition-property:box-shadow,transform;transition-duration:.25s ease-in-out;transition-timing-function:ease-in-out}.pecb-card:not(.pecb-card--no-padding){padding:20px}.pecb-card--elevation-none{box-shadow:none;border:1px solid #ececec}.pecb-card--elevation-sm{box-shadow:0 1px 2px #0000000d}.pecb-card--elevation-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.pecb-card--elevation-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.pecb-card--elevation-xl{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.pecb-card--hoverable{cursor:pointer}.pecb-card--hoverable:hover{transform:translateY(-2px)}.pecb-card--hoverable:hover.pecb-card--elevation-sm{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.pecb-card--hoverable:hover.pecb-card--elevation-md{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.pecb-card--hoverable:hover.pecb-card--elevation-lg{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.pecb-card__header{margin-bottom:16px}.pecb-card__header h1,.pecb-card__header h2,.pecb-card__header h3,.pecb-card__header h4,.pecb-card__header h5,.pecb-card__header h6{margin:0;font-weight:700;color:#313131}.pecb-card--no-padding .pecb-card__header{padding:20px 20px 0}.pecb-card__body{flex:1;color:#616161}.pecb-card--no-padding .pecb-card__body{padding:0 20px}.pecb-card__body p:last-child{margin-bottom:0}.pecb-card__footer{margin-top:16px;padding-top:16px;border-top:1px solid #ececec}.pecb-card--no-padding .pecb-card__footer{padding:20px 20px 0}\n"] }]
|
|
88
|
-
}], propDecorators: { id: [{
|
|
89
|
-
type: Input
|
|
90
|
-
}], elevation: [{
|
|
91
|
-
type: Input
|
|
92
|
-
}], hoverable: [{
|
|
93
|
-
type: Input
|
|
94
|
-
}], noPadding: [{
|
|
95
|
-
type: Input
|
|
96
|
-
}], role: [{
|
|
97
|
-
type: Input
|
|
98
|
-
}], ariaLabel: [{
|
|
99
|
-
type: Input
|
|
100
|
-
}], ariaLabelledBy: [{
|
|
101
|
-
type: Input
|
|
102
|
-
}], ariaDescribedBy: [{
|
|
103
|
-
type: Input
|
|
104
|
-
}] } });
|
|
105
|
-
/**
|
|
106
|
-
* Card header component for displaying title and actions.
|
|
107
|
-
*
|
|
108
|
-
* @example
|
|
109
|
-
* ```html
|
|
110
|
-
* <pecb-card-header>
|
|
111
|
-
* <h3>Card Title</h3>
|
|
112
|
-
* </pecb-card-header>
|
|
113
|
-
* ```
|
|
114
|
-
*
|
|
115
|
-
* @publicApi
|
|
116
|
-
*/
|
|
117
|
-
export class CardHeaderComponent {
|
|
118
|
-
constructor() {
|
|
119
|
-
/**
|
|
120
|
-
* Heading level for accessibility (1-6)
|
|
121
|
-
* Only used if the header content doesn't contain a heading element
|
|
122
|
-
*/
|
|
123
|
-
this.headingLevel = null;
|
|
124
|
-
}
|
|
125
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
126
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CardHeaderComponent, isStandalone: true, selector: "pecb-card-header", inputs: { headingLevel: "headingLevel" }, ngImport: i0, template: `
|
|
127
|
-
<div class="pecb-card__header" role="heading" [attr.aria-level]="headingLevel">
|
|
128
|
-
<ng-content></ng-content>
|
|
129
|
-
</div>
|
|
130
|
-
`, isInline: true, styles: [".pecb-card{position:relative;display:flex;flex-direction:column;background-color:#fff;border-radius:16px;overflow:hidden;transition-property:box-shadow,transform;transition-duration:.25s ease-in-out;transition-timing-function:ease-in-out}.pecb-card:not(.pecb-card--no-padding){padding:20px}.pecb-card--elevation-none{box-shadow:none;border:1px solid #ececec}.pecb-card--elevation-sm{box-shadow:0 1px 2px #0000000d}.pecb-card--elevation-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.pecb-card--elevation-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.pecb-card--elevation-xl{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.pecb-card--hoverable{cursor:pointer}.pecb-card--hoverable:hover{transform:translateY(-2px)}.pecb-card--hoverable:hover.pecb-card--elevation-sm{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.pecb-card--hoverable:hover.pecb-card--elevation-md{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.pecb-card--hoverable:hover.pecb-card--elevation-lg{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.pecb-card__header{margin-bottom:16px}.pecb-card__header h1,.pecb-card__header h2,.pecb-card__header h3,.pecb-card__header h4,.pecb-card__header h5,.pecb-card__header h6{margin:0;font-weight:700;color:#313131}.pecb-card--no-padding .pecb-card__header{padding:20px 20px 0}.pecb-card__body{flex:1;color:#616161}.pecb-card--no-padding .pecb-card__body{padding:0 20px}.pecb-card__body p:last-child{margin-bottom:0}.pecb-card__footer{margin-top:16px;padding-top:16px;border-top:1px solid #ececec}.pecb-card--no-padding .pecb-card__footer{padding:20px 20px 0}\n"] }); }
|
|
131
|
-
}
|
|
132
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CardHeaderComponent, decorators: [{
|
|
133
|
-
type: Component,
|
|
134
|
-
args: [{ selector: 'pecb-card-header', standalone: true, template: `
|
|
135
|
-
<div class="pecb-card__header" role="heading" [attr.aria-level]="headingLevel">
|
|
136
|
-
<ng-content></ng-content>
|
|
137
|
-
</div>
|
|
138
|
-
`, styles: [".pecb-card{position:relative;display:flex;flex-direction:column;background-color:#fff;border-radius:16px;overflow:hidden;transition-property:box-shadow,transform;transition-duration:.25s ease-in-out;transition-timing-function:ease-in-out}.pecb-card:not(.pecb-card--no-padding){padding:20px}.pecb-card--elevation-none{box-shadow:none;border:1px solid #ececec}.pecb-card--elevation-sm{box-shadow:0 1px 2px #0000000d}.pecb-card--elevation-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.pecb-card--elevation-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.pecb-card--elevation-xl{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.pecb-card--hoverable{cursor:pointer}.pecb-card--hoverable:hover{transform:translateY(-2px)}.pecb-card--hoverable:hover.pecb-card--elevation-sm{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.pecb-card--hoverable:hover.pecb-card--elevation-md{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.pecb-card--hoverable:hover.pecb-card--elevation-lg{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.pecb-card__header{margin-bottom:16px}.pecb-card__header h1,.pecb-card__header h2,.pecb-card__header h3,.pecb-card__header h4,.pecb-card__header h5,.pecb-card__header h6{margin:0;font-weight:700;color:#313131}.pecb-card--no-padding .pecb-card__header{padding:20px 20px 0}.pecb-card__body{flex:1;color:#616161}.pecb-card--no-padding .pecb-card__body{padding:0 20px}.pecb-card__body p:last-child{margin-bottom:0}.pecb-card__footer{margin-top:16px;padding-top:16px;border-top:1px solid #ececec}.pecb-card--no-padding .pecb-card__footer{padding:20px 20px 0}\n"] }]
|
|
139
|
-
}], propDecorators: { headingLevel: [{
|
|
140
|
-
type: Input
|
|
141
|
-
}] } });
|
|
142
|
-
/**
|
|
143
|
-
* Card body component for main content.
|
|
144
|
-
*
|
|
145
|
-
* @example
|
|
146
|
-
* ```html
|
|
147
|
-
* <pecb-card-body>
|
|
148
|
-
* <p>Card content goes here</p>
|
|
149
|
-
* </pecb-card-body>
|
|
150
|
-
* ```
|
|
151
|
-
*
|
|
152
|
-
* @publicApi
|
|
153
|
-
*/
|
|
154
|
-
export class CardBodyComponent {
|
|
155
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CardBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
156
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CardBodyComponent, isStandalone: true, selector: "pecb-card-body", ngImport: i0, template: '<div class="pecb-card__body"><ng-content></ng-content></div>', isInline: true, styles: [".pecb-card{position:relative;display:flex;flex-direction:column;background-color:#fff;border-radius:16px;overflow:hidden;transition-property:box-shadow,transform;transition-duration:.25s ease-in-out;transition-timing-function:ease-in-out}.pecb-card:not(.pecb-card--no-padding){padding:20px}.pecb-card--elevation-none{box-shadow:none;border:1px solid #ececec}.pecb-card--elevation-sm{box-shadow:0 1px 2px #0000000d}.pecb-card--elevation-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.pecb-card--elevation-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.pecb-card--elevation-xl{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.pecb-card--hoverable{cursor:pointer}.pecb-card--hoverable:hover{transform:translateY(-2px)}.pecb-card--hoverable:hover.pecb-card--elevation-sm{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.pecb-card--hoverable:hover.pecb-card--elevation-md{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.pecb-card--hoverable:hover.pecb-card--elevation-lg{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.pecb-card__header{margin-bottom:16px}.pecb-card__header h1,.pecb-card__header h2,.pecb-card__header h3,.pecb-card__header h4,.pecb-card__header h5,.pecb-card__header h6{margin:0;font-weight:700;color:#313131}.pecb-card--no-padding .pecb-card__header{padding:20px 20px 0}.pecb-card__body{flex:1;color:#616161}.pecb-card--no-padding .pecb-card__body{padding:0 20px}.pecb-card__body p:last-child{margin-bottom:0}.pecb-card__footer{margin-top:16px;padding-top:16px;border-top:1px solid #ececec}.pecb-card--no-padding .pecb-card__footer{padding:20px 20px 0}\n"] }); }
|
|
157
|
-
}
|
|
158
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CardBodyComponent, decorators: [{
|
|
159
|
-
type: Component,
|
|
160
|
-
args: [{ selector: 'pecb-card-body', standalone: true, template: '<div class="pecb-card__body"><ng-content></ng-content></div>', styles: [".pecb-card{position:relative;display:flex;flex-direction:column;background-color:#fff;border-radius:16px;overflow:hidden;transition-property:box-shadow,transform;transition-duration:.25s ease-in-out;transition-timing-function:ease-in-out}.pecb-card:not(.pecb-card--no-padding){padding:20px}.pecb-card--elevation-none{box-shadow:none;border:1px solid #ececec}.pecb-card--elevation-sm{box-shadow:0 1px 2px #0000000d}.pecb-card--elevation-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.pecb-card--elevation-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.pecb-card--elevation-xl{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.pecb-card--hoverable{cursor:pointer}.pecb-card--hoverable:hover{transform:translateY(-2px)}.pecb-card--hoverable:hover.pecb-card--elevation-sm{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.pecb-card--hoverable:hover.pecb-card--elevation-md{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.pecb-card--hoverable:hover.pecb-card--elevation-lg{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.pecb-card__header{margin-bottom:16px}.pecb-card__header h1,.pecb-card__header h2,.pecb-card__header h3,.pecb-card__header h4,.pecb-card__header h5,.pecb-card__header h6{margin:0;font-weight:700;color:#313131}.pecb-card--no-padding .pecb-card__header{padding:20px 20px 0}.pecb-card__body{flex:1;color:#616161}.pecb-card--no-padding .pecb-card__body{padding:0 20px}.pecb-card__body p:last-child{margin-bottom:0}.pecb-card__footer{margin-top:16px;padding-top:16px;border-top:1px solid #ececec}.pecb-card--no-padding .pecb-card__footer{padding:20px 20px 0}\n"] }]
|
|
161
|
-
}] });
|
|
162
|
-
/**
|
|
163
|
-
* Card footer component for actions and additional information.
|
|
164
|
-
*
|
|
165
|
-
* @example
|
|
166
|
-
* ```html
|
|
167
|
-
* <pecb-card-footer>
|
|
168
|
-
* <button>Action</button>
|
|
169
|
-
* </pecb-card-footer>
|
|
170
|
-
* ```
|
|
171
|
-
*
|
|
172
|
-
* @publicApi
|
|
173
|
-
*/
|
|
174
|
-
export class CardFooterComponent {
|
|
175
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CardFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
176
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CardFooterComponent, isStandalone: true, selector: "pecb-card-footer", ngImport: i0, template: '<div class="pecb-card__footer"><ng-content></ng-content></div>', isInline: true, styles: [".pecb-card{position:relative;display:flex;flex-direction:column;background-color:#fff;border-radius:16px;overflow:hidden;transition-property:box-shadow,transform;transition-duration:.25s ease-in-out;transition-timing-function:ease-in-out}.pecb-card:not(.pecb-card--no-padding){padding:20px}.pecb-card--elevation-none{box-shadow:none;border:1px solid #ececec}.pecb-card--elevation-sm{box-shadow:0 1px 2px #0000000d}.pecb-card--elevation-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.pecb-card--elevation-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.pecb-card--elevation-xl{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.pecb-card--hoverable{cursor:pointer}.pecb-card--hoverable:hover{transform:translateY(-2px)}.pecb-card--hoverable:hover.pecb-card--elevation-sm{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.pecb-card--hoverable:hover.pecb-card--elevation-md{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.pecb-card--hoverable:hover.pecb-card--elevation-lg{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.pecb-card__header{margin-bottom:16px}.pecb-card__header h1,.pecb-card__header h2,.pecb-card__header h3,.pecb-card__header h4,.pecb-card__header h5,.pecb-card__header h6{margin:0;font-weight:700;color:#313131}.pecb-card--no-padding .pecb-card__header{padding:20px 20px 0}.pecb-card__body{flex:1;color:#616161}.pecb-card--no-padding .pecb-card__body{padding:0 20px}.pecb-card__body p:last-child{margin-bottom:0}.pecb-card__footer{margin-top:16px;padding-top:16px;border-top:1px solid #ececec}.pecb-card--no-padding .pecb-card__footer{padding:20px 20px 0}\n"] }); }
|
|
177
|
-
}
|
|
178
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CardFooterComponent, decorators: [{
|
|
179
|
-
type: Component,
|
|
180
|
-
args: [{ selector: 'pecb-card-footer', standalone: true, template: '<div class="pecb-card__footer"><ng-content></ng-content></div>', styles: [".pecb-card{position:relative;display:flex;flex-direction:column;background-color:#fff;border-radius:16px;overflow:hidden;transition-property:box-shadow,transform;transition-duration:.25s ease-in-out;transition-timing-function:ease-in-out}.pecb-card:not(.pecb-card--no-padding){padding:20px}.pecb-card--elevation-none{box-shadow:none;border:1px solid #ececec}.pecb-card--elevation-sm{box-shadow:0 1px 2px #0000000d}.pecb-card--elevation-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.pecb-card--elevation-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.pecb-card--elevation-xl{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.pecb-card--hoverable{cursor:pointer}.pecb-card--hoverable:hover{transform:translateY(-2px)}.pecb-card--hoverable:hover.pecb-card--elevation-sm{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.pecb-card--hoverable:hover.pecb-card--elevation-md{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.pecb-card--hoverable:hover.pecb-card--elevation-lg{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.pecb-card__header{margin-bottom:16px}.pecb-card__header h1,.pecb-card__header h2,.pecb-card__header h3,.pecb-card__header h4,.pecb-card__header h5,.pecb-card__header h6{margin:0;font-weight:700;color:#313131}.pecb-card--no-padding .pecb-card__header{padding:20px 20px 0}.pecb-card__body{flex:1;color:#616161}.pecb-card--no-padding .pecb-card__body{padding:0 20px}.pecb-card__body p:last-child{margin-bottom:0}.pecb-card__footer{margin-top:16px;padding-top:16px;border-top:1px solid #ececec}.pecb-card--no-padding .pecb-card__footer{padding:20px 20px 0}\n"] }]
|
|
181
|
-
}] });
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYXJkL2NhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2FyZC9jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQVNoRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQ0c7QUFPSCxNQUFNLE9BQU8sYUFBYTtJQU4xQjtRQU9FOztXQUVHO1FBQ00sT0FBRSxHQUFXLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRS9DOztXQUVHO1FBQ00sY0FBUyxHQUFrQixJQUFJLENBQUM7UUFFekM7O1dBRUc7UUFDTSxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRTNCOztXQUVHO1FBQ00sY0FBUyxHQUFHLEtBQUssQ0FBQztRQUUzQix3Q0FBd0M7UUFFeEM7OztXQUdHO1FBQ00sU0FBSSxHQUFhLE1BQU0sQ0FBQztLQW1DbEM7SUFsQkM7O09BRUc7SUFDSCxJQUFJLFdBQVc7UUFDYixPQUFPO1lBQ0wsV0FBVztZQUNYLHdCQUF3QixJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzVDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQzlDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNqRCxDQUFDOytHQTdEVSxhQUFhO21HQUFiLGFBQWEsK1FDcEQxQix3UkFVQTs7NEZEMENhLGFBQWE7a0JBTnpCLFNBQVM7K0JBQ0UsV0FBVyxjQUNULElBQUk7OEJBUVAsRUFBRTtzQkFBVixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFLRyxTQUFTO3NCQUFqQixLQUFLO2dCQVFHLElBQUk7c0JBQVosS0FBSztnQkFLRyxTQUFTO3NCQUFqQixLQUFLO2dCQUtHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBS0csZUFBZTtzQkFBdkIsS0FBSzs7QUFzQlI7Ozs7Ozs7Ozs7O0dBV0c7QUFXSCxNQUFNLE9BQU8sbUJBQW1CO0lBVmhDO1FBV0U7OztXQUdHO1FBQ00saUJBQVksR0FBa0IsSUFBSSxDQUFDO0tBQzdDOytHQU5ZLG1CQUFtQjttR0FBbkIsbUJBQW1CLHNIQVBwQjs7OztHQUlUOzs0RkFHVSxtQkFBbUI7a0JBVi9CLFNBQVM7K0JBQ0Usa0JBQWtCLGNBQ2hCLElBQUksWUFDTjs7OztHQUlUOzhCQVFRLFlBQVk7c0JBQXBCLEtBQUs7O0FBR1I7Ozs7Ozs7Ozs7O0dBV0c7QUFPSCxNQUFNLE9BQU8saUJBQWlCOytHQUFqQixpQkFBaUI7bUdBQWpCLGlCQUFpQiwwRUFIbEIsOERBQThEOzs0RkFHN0QsaUJBQWlCO2tCQU43QixTQUFTOytCQUNFLGdCQUFnQixjQUNkLElBQUksWUFDTiw4REFBOEQ7O0FBSzFFOzs7Ozs7Ozs7OztHQVdHO0FBT0gsTUFBTSxPQUFPLG1CQUFtQjsrR0FBbkIsbUJBQW1CO21HQUFuQixtQkFBbUIsNEVBSHBCLGdFQUFnRTs7NEZBRy9ELG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxZQUNOLGdFQUFnRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZ2VuZXJhdGVVbmlxdWVJZCB9IGZyb20gJy4uLy4uL3NoYXJlZC91dGlscy9kb20udXRpbHMnO1xyXG5cclxuZXhwb3J0IHR5cGUgQ2FyZEVsZXZhdGlvbiA9ICdub25lJyB8ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCc7XHJcblxyXG4vKipcclxuICogU2VtYW50aWMgcm9sZSBmb3IgdGhlIGNhcmQgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgdHlwZSBDYXJkUm9sZSA9ICdhcnRpY2xlJyB8ICdyZWdpb24nIHwgJ2dyb3VwJyB8ICdsaXN0aXRlbScgfCAnbm9uZSc7XHJcblxyXG4vKipcclxuICogQSBwcm9mZXNzaW9uYWwgY2FyZCBjb21wb25lbnQgZm9yIGRpc3BsYXlpbmcgY29udGVudCBpbiBhIGNvbnRhaW5lZCBmb3JtYXQuXHJcbiAqIEZ1bGx5IGFjY2Vzc2libGUgd2l0aCBXQ0FHIDIuMSBBQSBjb21wbGlhbmNlLlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGBodG1sXHJcbiAqIDwhLS0gQmFzaWMgY2FyZCAtLT5cclxuICogPHBlY2ItY2FyZCBlbGV2YXRpb249XCJtZFwiPlxyXG4gKiAgIDxwZWNiLWNhcmQtaGVhZGVyPlxyXG4gKiAgICAgPGgzPkNhcmQgVGl0bGU8L2gzPlxyXG4gKiAgIDwvcGVjYi1jYXJkLWhlYWRlcj5cclxuICogICA8cGVjYi1jYXJkLWJvZHk+XHJcbiAqICAgICA8cD5DYXJkIGNvbnRlbnQgZ29lcyBoZXJlPC9wPlxyXG4gKiAgIDwvcGVjYi1jYXJkLWJvZHk+XHJcbiAqIDwvcGVjYi1jYXJkPlxyXG4gKlxyXG4gKiA8IS0tIEFjY2Vzc2libGUgY2FyZCB3aXRoIHJlZ2lvbiByb2xlIC0tPlxyXG4gKiA8cGVjYi1jYXJkIHJvbGU9XCJyZWdpb25cIiBhcmlhTGFiZWw9XCJQcm9kdWN0IEluZm9ybWF0aW9uXCI+XHJcbiAqICAgPHBlY2ItY2FyZC1ib2R5PlxyXG4gKiAgICAgPHA+UHJvZHVjdCBkZXRhaWxzLi4uPC9wPlxyXG4gKiAgIDwvcGVjYi1jYXJkLWJvZHk+XHJcbiAqIDwvcGVjYi1jYXJkPlxyXG4gKlxyXG4gKiA8IS0tIENhcmQgYXMgYXJ0aWNsZSAtLT5cclxuICogPHBlY2ItY2FyZCByb2xlPVwiYXJ0aWNsZVwiIGFyaWFMYWJlbGxlZEJ5PVwiYXJ0aWNsZS10aXRsZVwiPlxyXG4gKiAgIDxwZWNiLWNhcmQtaGVhZGVyPlxyXG4gKiAgICAgPGgyIGlkPVwiYXJ0aWNsZS10aXRsZVwiPkFydGljbGUgSGVhZGxpbmU8L2gyPlxyXG4gKiAgIDwvcGVjYi1jYXJkLWhlYWRlcj5cclxuICogICA8cGVjYi1jYXJkLWJvZHk+XHJcbiAqICAgICA8cD5BcnRpY2xlIGNvbnRlbnQuLi48L3A+XHJcbiAqICAgPC9wZWNiLWNhcmQtYm9keT5cclxuICogPC9wZWNiLWNhcmQ+XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBAcHVibGljQXBpXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3BlY2ItY2FyZCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2FyZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2FyZC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXJkQ29tcG9uZW50IHtcclxuICAvKipcclxuICAgKiBVbmlxdWUgSUQgZm9yIHRoZSBjYXJkIGVsZW1lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBpZDogc3RyaW5nID0gZ2VuZXJhdGVVbmlxdWVJZCgnY2FyZCcpO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgZWxldmF0aW9uIGxldmVsIChzaGFkb3cgZGVwdGgpIG9mIHRoZSBjYXJkXHJcbiAgICovXHJcbiAgQElucHV0KCkgZWxldmF0aW9uOiBDYXJkRWxldmF0aW9uID0gJ21kJztcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgY2FyZCBzaG91bGQgYmUgaG92ZXJhYmxlIHdpdGggZWxldmF0aW9uIGNoYW5nZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGhvdmVyYWJsZSA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRvIGFkZCBwYWRkaW5nIHRvIHRoZSBjYXJkXHJcbiAgICovXHJcbiAgQElucHV0KCkgbm9QYWRkaW5nID0gZmFsc2U7XHJcblxyXG4gIC8vIC0tLSBBUklBIEFjY2Vzc2liaWxpdHkgUHJvcGVydGllcyAtLS1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VtYW50aWMgcm9sZSBmb3IgdGhlIGNhcmQgKGFydGljbGUsIHJlZ2lvbiwgZ3JvdXAsIGxpc3RpdGVtLCBvciBub25lKVxyXG4gICAqIFVzZSAnYXJ0aWNsZScgZm9yIHNlbGYtY29udGFpbmVkIGNvbnRlbnQsICdyZWdpb24nIGZvciBzaWduaWZpY2FudCBzZWN0aW9uc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHJvbGU6IENhcmRSb2xlID0gJ25vbmUnO1xyXG5cclxuICAvKipcclxuICAgKiBBY2Nlc3NpYmxlIGxhYmVsIGZvciB0aGUgY2FyZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFyaWFMYWJlbD86IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogSUQgb2YgZWxlbWVudCB0aGF0IGxhYmVscyB0aGlzIGNhcmRcclxuICAgKi9cclxuICBASW5wdXQoKSBhcmlhTGFiZWxsZWRCeT86IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogSUQgb2YgZWxlbWVudCB0aGF0IGRlc2NyaWJlcyB0aGlzIGNhcmRcclxuICAgKi9cclxuICBASW5wdXQoKSBhcmlhRGVzY3JpYmVkQnk/OiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBDU1MgY2xhc3NlcyBmb3IgdGhlIGNhcmRcclxuICAgKi9cclxuICBnZXQgY2FyZENsYXNzZXMoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIFtcclxuICAgICAgJ3BlY2ItY2FyZCcsXHJcbiAgICAgIGBwZWNiLWNhcmQtLWVsZXZhdGlvbi0ke3RoaXMuZWxldmF0aW9ufWAsXHJcbiAgICAgIHRoaXMuaG92ZXJhYmxlID8gJ3BlY2ItY2FyZC0taG92ZXJhYmxlJyA6ICcnLFxyXG4gICAgICB0aGlzLm5vUGFkZGluZyA/ICdwZWNiLWNhcmQtLW5vLXBhZGRpbmcnIDogJydcclxuICAgIF0uZmlsdGVyKEJvb2xlYW4pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHRoZSByb2xlIGF0dHJpYnV0ZSB2YWx1ZVxyXG4gICAqL1xyXG4gIGdldCByb2xlQXR0cmlidXRlKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMucm9sZSAhPT0gJ25vbmUnID8gdGhpcy5yb2xlIDogbnVsbDtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDYXJkIGhlYWRlciBjb21wb25lbnQgZm9yIGRpc3BsYXlpbmcgdGl0bGUgYW5kIGFjdGlvbnMuXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYGh0bWxcclxuICogPHBlY2ItY2FyZC1oZWFkZXI+XHJcbiAqICAgPGgzPkNhcmQgVGl0bGU8L2gzPlxyXG4gKiA8L3BlY2ItY2FyZC1oZWFkZXI+XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBAcHVibGljQXBpXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3BlY2ItY2FyZC1oZWFkZXInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJwZWNiLWNhcmRfX2hlYWRlclwiIHJvbGU9XCJoZWFkaW5nXCIgW2F0dHIuYXJpYS1sZXZlbF09XCJoZWFkaW5nTGV2ZWxcIj5cclxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBzdHlsZVVybHM6IFsnLi9jYXJkLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENhcmRIZWFkZXJDb21wb25lbnQge1xyXG4gIC8qKlxyXG4gICAqIEhlYWRpbmcgbGV2ZWwgZm9yIGFjY2Vzc2liaWxpdHkgKDEtNilcclxuICAgKiBPbmx5IHVzZWQgaWYgdGhlIGhlYWRlciBjb250ZW50IGRvZXNuJ3QgY29udGFpbiBhIGhlYWRpbmcgZWxlbWVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGhlYWRpbmdMZXZlbDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDYXJkIGJvZHkgY29tcG9uZW50IGZvciBtYWluIGNvbnRlbnQuXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYGh0bWxcclxuICogPHBlY2ItY2FyZC1ib2R5PlxyXG4gKiAgIDxwPkNhcmQgY29udGVudCBnb2VzIGhlcmU8L3A+XHJcbiAqIDwvcGVjYi1jYXJkLWJvZHk+XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBAcHVibGljQXBpXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3BlY2ItY2FyZC1ib2R5JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHRlbXBsYXRlOiAnPGRpdiBjbGFzcz1cInBlY2ItY2FyZF9fYm9keVwiPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L2Rpdj4nLFxyXG4gIHN0eWxlVXJsczogWycuL2NhcmQuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FyZEJvZHlDb21wb25lbnQge31cclxuXHJcbi8qKlxyXG4gKiBDYXJkIGZvb3RlciBjb21wb25lbnQgZm9yIGFjdGlvbnMgYW5kIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYGh0bWxcclxuICogPHBlY2ItY2FyZC1mb290ZXI+XHJcbiAqICAgPGJ1dHRvbj5BY3Rpb248L2J1dHRvbj5cclxuICogPC9wZWNiLWNhcmQtZm9vdGVyPlxyXG4gKiBgYGBcclxuICpcclxuICogQHB1YmxpY0FwaVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdwZWNiLWNhcmQtZm9vdGVyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHRlbXBsYXRlOiAnPGRpdiBjbGFzcz1cInBlY2ItY2FyZF9fZm9vdGVyXCI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvZGl2PicsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2FyZC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXJkRm9vdGVyQ29tcG9uZW50IHt9XHJcbiIsIjxkaXZcclxuICBbaWRdPVwiaWRcIlxyXG4gIFtjbGFzc109XCJjYXJkQ2xhc3Nlcy5qb2luKCcgJylcIlxyXG4gIFthdHRyLnJvbGVdPVwicm9sZUF0dHJpYnV0ZVwiXHJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxyXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeVwiXHJcbiAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJhcmlhRGVzY3JpYmVkQnlcIlxyXG4+XHJcbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48L2Rpdj5cclxuIl19
|