@pecb-ui/components 1.1.2 → 2.0.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 (56) hide show
  1. package/README.md +556 -556
  2. package/fesm2022/pecb-ui-components.mjs +998 -1907
  3. package/fesm2022/pecb-ui-components.mjs.map +1 -1
  4. package/index.d.ts +2439 -3
  5. package/package.json +6 -8
  6. package/esm2022/lib/components/button/button.component.mjs +0 -171
  7. package/esm2022/lib/components/card/card.component.mjs +0 -182
  8. package/esm2022/lib/components/checkbox/checkbox.component.mjs +0 -126
  9. package/esm2022/lib/components/datepicker/datepicker.component.mjs +0 -349
  10. package/esm2022/lib/components/dropdown/dropdown.component.mjs +0 -329
  11. package/esm2022/lib/components/input/input.component.mjs +0 -321
  12. package/esm2022/lib/components/pagination/pagination.component.mjs +0 -197
  13. package/esm2022/lib/components/radio/radio.component.mjs +0 -147
  14. package/esm2022/lib/components/right-modal/right-modal.component.mjs +0 -234
  15. package/esm2022/lib/components/sidebar/sidebar.component.mjs +0 -155
  16. package/esm2022/lib/components/status/status.component.mjs +0 -50
  17. package/esm2022/lib/components/tab/tab.component.mjs +0 -151
  18. package/esm2022/lib/components/table/table.component.mjs +0 -503
  19. package/esm2022/lib/components/toggle/toggle.component.mjs +0 -126
  20. package/esm2022/lib/pecb-components.module.mjs +0 -118
  21. package/esm2022/lib/services/loading.service.mjs +0 -182
  22. package/esm2022/lib/services/notification.service.mjs +0 -144
  23. package/esm2022/lib/services/theme.service.mjs +0 -232
  24. package/esm2022/lib/shared/interfaces/component.interfaces.mjs +0 -2
  25. package/esm2022/lib/shared/types/common.types.mjs +0 -6
  26. package/esm2022/lib/shared/utils/accessibility.utils.mjs +0 -223
  27. package/esm2022/lib/shared/utils/dom.utils.mjs +0 -240
  28. package/esm2022/lib/shared/utils/error.utils.mjs +0 -277
  29. package/esm2022/lib/shared/utils/string.utils.mjs +0 -204
  30. package/esm2022/pecb-ui-components.mjs +0 -5
  31. package/esm2022/public-api.mjs +0 -53
  32. package/lib/components/button/button.component.d.ts +0 -130
  33. package/lib/components/card/card.component.d.ts +0 -140
  34. package/lib/components/checkbox/checkbox.component.d.ts +0 -74
  35. package/lib/components/datepicker/datepicker.component.d.ts +0 -155
  36. package/lib/components/dropdown/dropdown.component.d.ts +0 -144
  37. package/lib/components/input/input.component.d.ts +0 -215
  38. package/lib/components/pagination/pagination.component.d.ts +0 -53
  39. package/lib/components/radio/radio.component.d.ts +0 -93
  40. package/lib/components/right-modal/right-modal.component.d.ts +0 -137
  41. package/lib/components/sidebar/sidebar.component.d.ts +0 -97
  42. package/lib/components/status/status.component.d.ts +0 -19
  43. package/lib/components/tab/tab.component.d.ts +0 -102
  44. package/lib/components/table/table.component.d.ts +0 -403
  45. package/lib/components/toggle/toggle.component.d.ts +0 -74
  46. package/lib/pecb-components.module.d.ts +0 -37
  47. package/lib/services/loading.service.d.ts +0 -129
  48. package/lib/services/notification.service.d.ts +0 -136
  49. package/lib/services/theme.service.d.ts +0 -142
  50. package/lib/shared/interfaces/component.interfaces.d.ts +0 -283
  51. package/lib/shared/types/common.types.d.ts +0 -86
  52. package/lib/shared/utils/accessibility.utils.d.ts +0 -167
  53. package/lib/shared/utils/dom.utils.d.ts +0 -108
  54. package/lib/shared/utils/error.utils.d.ts +0 -191
  55. package/lib/shared/utils/string.utils.d.ts +0 -144
  56. 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.1.2",
3
+ "version": "2.0.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
- "angular17",
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": "^17.3.0",
31
- "@angular/core": "^17.3.0",
32
- "@angular/animations": "^17.3.0",
33
- "@angular/platform-browser": "^17.3.0",
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