@carefirst/library 1.3.10 → 1.3.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (130) hide show
  1. package/esm2022/carefirst-library.mjs +2 -0
  2. package/esm2022/lib/components/alert/alert.component.mjs +56 -0
  3. package/esm2022/lib/components/badge/badge.component.mjs +39 -0
  4. package/esm2022/lib/components/button/button.component.mjs +92 -0
  5. package/esm2022/lib/components/calendar/calendar.component.mjs +39 -0
  6. package/esm2022/lib/components/chat-bubble/chat-bubble.component.mjs +31 -0
  7. package/esm2022/lib/components/form-input/form-input.component.mjs +87 -0
  8. package/esm2022/lib/components/form-input-select/form-input-select.component.mjs +46 -0
  9. package/esm2022/lib/components/form-input-text-area/form-input-text-area.component.mjs +61 -0
  10. package/esm2022/lib/components/form-validation/form-validation.component.mjs +20 -0
  11. package/esm2022/lib/components/icon/icon.component.mjs +29 -0
  12. package/esm2022/lib/components/logo/logo.component.mjs +18 -0
  13. package/esm2022/lib/components/notification/notification.component.mjs +22 -0
  14. package/esm2022/lib/components/page/page.component.mjs +31 -0
  15. package/esm2022/lib/components/spacer/spacer.component.mjs +30 -0
  16. package/esm2022/lib/components/spinner/spinner.component.mjs +19 -0
  17. package/esm2022/lib/directives/button-loader.directive.mjs +41 -0
  18. package/esm2022/lib/interfaces/alert.interface.mjs +2 -0
  19. package/esm2022/lib/interfaces/icon.interface.mjs +52 -0
  20. package/esm2022/lib/interfaces/input.interface.mjs +2 -0
  21. package/esm2022/lib/interfaces/notification.interface.mjs +2 -0
  22. package/esm2022/lib/interfaces/spacer.interface.mjs +2 -0
  23. package/esm2022/lib/library.module.mjs +100 -0
  24. package/esm2022/lib/utils/attribute.util.mjs +34 -0
  25. package/esm2022/lib/utils/form-validators-utility.mjs +113 -0
  26. package/esm2022/public-api.mjs +24 -0
  27. package/fesm2022/carefirst-library.mjs +890 -0
  28. package/fesm2022/carefirst-library.mjs.map +1 -0
  29. package/index.d.ts +2 -0
  30. package/lib/components/alert/alert.component.d.ts +14 -0
  31. package/lib/components/badge/badge.component.d.ts +15 -0
  32. package/lib/components/button/button.component.d.ts +32 -0
  33. package/lib/components/calendar/calendar.component.d.ts +15 -0
  34. package/lib/components/chat-bubble/chat-bubble.component.d.ts +13 -0
  35. package/lib/components/form-input/form-input.component.d.ts +37 -0
  36. package/lib/components/form-input-select/form-input-select.component.d.ts +21 -0
  37. package/lib/components/form-input-text-area/form-input-text-area.component.d.ts +27 -0
  38. package/lib/components/form-validation/form-validation.component.d.ts +9 -0
  39. package/lib/components/icon/icon.component.d.ts +13 -0
  40. package/lib/components/logo/logo.component.d.ts +7 -0
  41. package/lib/components/notification/notification.component.d.ts +9 -0
  42. package/lib/components/page/page.component.d.ts +13 -0
  43. package/lib/components/spacer/spacer.component.d.ts +14 -0
  44. package/lib/components/spinner/spinner.component.d.ts +9 -0
  45. package/lib/directives/button-loader.directive.d.ts +12 -0
  46. package/lib/interfaces/alert.interface.d.ts +11 -0
  47. package/lib/interfaces/icon.interface.d.ts +4 -0
  48. package/lib/interfaces/input.interface.d.ts +4 -0
  49. package/lib/interfaces/notification.interface.d.ts +11 -0
  50. package/lib/interfaces/spacer.interface.d.ts +3 -0
  51. package/lib/library.module.d.ts +25 -0
  52. package/lib/utils/attribute.util.d.ts +4 -0
  53. package/lib/utils/form-validators-utility.d.ts +8 -0
  54. package/package.json +14 -11
  55. package/{src/public-api.ts → public-api.d.ts} +0 -18
  56. package/.eslintrc.json +0 -31
  57. package/ng-package.json +0 -8
  58. package/src/lib/components/alert/alert.component.html +0 -0
  59. package/src/lib/components/alert/alert.component.scss +0 -63
  60. package/src/lib/components/alert/alert.component.spec.ts +0 -23
  61. package/src/lib/components/alert/alert.component.ts +0 -73
  62. package/src/lib/components/badge/badge.component.html +0 -5
  63. package/src/lib/components/badge/badge.component.scss +0 -96
  64. package/src/lib/components/badge/badge.component.spec.ts +0 -23
  65. package/src/lib/components/badge/badge.component.ts +0 -61
  66. package/src/lib/components/button/button.component.html +0 -20
  67. package/src/lib/components/button/button.component.scss +0 -153
  68. package/src/lib/components/button/button.component.spec.ts +0 -21
  69. package/src/lib/components/button/button.component.ts +0 -94
  70. package/src/lib/components/calendar/calendar.component.html +0 -9
  71. package/src/lib/components/calendar/calendar.component.scss +0 -34
  72. package/src/lib/components/calendar/calendar.component.spec.ts +0 -23
  73. package/src/lib/components/calendar/calendar.component.ts +0 -53
  74. package/src/lib/components/chat-bubble/chat-bubble.component.html +0 -9
  75. package/src/lib/components/chat-bubble/chat-bubble.component.scss +0 -31
  76. package/src/lib/components/chat-bubble/chat-bubble.component.spec.ts +0 -23
  77. package/src/lib/components/chat-bubble/chat-bubble.component.ts +0 -43
  78. package/src/lib/components/form-input/form-input.component.html +0 -37
  79. package/src/lib/components/form-input/form-input.component.scss +0 -23
  80. package/src/lib/components/form-input/form-input.component.spec.ts +0 -23
  81. package/src/lib/components/form-input/form-input.component.ts +0 -95
  82. package/src/lib/components/form-input-select/form-input-select.component.html +0 -27
  83. package/src/lib/components/form-input-select/form-input-select.component.scss +0 -40
  84. package/src/lib/components/form-input-select/form-input-select.component.spec.ts +0 -23
  85. package/src/lib/components/form-input-select/form-input-select.component.ts +0 -61
  86. package/src/lib/components/form-input-text-area/form-input-text-area.component.html +0 -29
  87. package/src/lib/components/form-input-text-area/form-input-text-area.component.scss +0 -19
  88. package/src/lib/components/form-input-text-area/form-input-text-area.component.spec.ts +0 -23
  89. package/src/lib/components/form-input-text-area/form-input-text-area.component.ts +0 -76
  90. package/src/lib/components/form-validation/form-validation.component.html +0 -8
  91. package/src/lib/components/form-validation/form-validation.component.scss +0 -8
  92. package/src/lib/components/form-validation/form-validation.component.spec.ts +0 -23
  93. package/src/lib/components/form-validation/form-validation.component.ts +0 -34
  94. package/src/lib/components/icon/icon.component.html +0 -529
  95. package/src/lib/components/icon/icon.component.scss +0 -61
  96. package/src/lib/components/icon/icon.component.spec.ts +0 -21
  97. package/src/lib/components/icon/icon.component.ts +0 -40
  98. package/src/lib/components/logo/logo.component.html +0 -10
  99. package/src/lib/components/logo/logo.component.scss +0 -5
  100. package/src/lib/components/logo/logo.component.spec.ts +0 -23
  101. package/src/lib/components/logo/logo.component.ts +0 -21
  102. package/src/lib/components/notification/notification.component.html +0 -39
  103. package/src/lib/components/notification/notification.component.scss +0 -20
  104. package/src/lib/components/notification/notification.component.spec.ts +0 -21
  105. package/src/lib/components/notification/notification.component.ts +0 -23
  106. package/src/lib/components/page/page.component.html +0 -5
  107. package/src/lib/components/page/page.component.scss +0 -35
  108. package/src/lib/components/page/page.component.spec.ts +0 -21
  109. package/src/lib/components/page/page.component.ts +0 -42
  110. package/src/lib/components/spacer/spacer.component.html +0 -4
  111. package/src/lib/components/spacer/spacer.component.scss +0 -27
  112. package/src/lib/components/spacer/spacer.component.spec.ts +0 -21
  113. package/src/lib/components/spacer/spacer.component.ts +0 -43
  114. package/src/lib/components/spinner/spinner.component.html +0 -1
  115. package/src/lib/components/spinner/spinner.component.scss +0 -14
  116. package/src/lib/components/spinner/spinner.component.spec.ts +0 -23
  117. package/src/lib/components/spinner/spinner.component.ts +0 -33
  118. package/src/lib/directives/button-loader.directive.spec.ts +0 -8
  119. package/src/lib/directives/button-loader.directive.ts +0 -77
  120. package/src/lib/interfaces/alert.interface.ts +0 -20
  121. package/src/lib/interfaces/icon.interface.ts +0 -62
  122. package/src/lib/interfaces/input.interface.ts +0 -8
  123. package/src/lib/interfaces/notification.interface.ts +0 -15
  124. package/src/lib/interfaces/spacer.interface.ts +0 -6
  125. package/src/lib/library.module.ts +0 -66
  126. package/src/lib/utils/attribute.util.ts +0 -66
  127. package/src/lib/utils/form-validators-utility.ts +0 -186
  128. package/tsconfig.lib.json +0 -12
  129. package/tsconfig.lib.prod.json +0 -10
  130. package/tsconfig.spec.json +0 -14
@@ -0,0 +1,2 @@
1
+ export * from './public-api';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZWZpcnN0LWxpYnJhcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXJlZmlyc3QvbGlicmFyeS9zcmMvY2FyZWZpcnN0LWxpYnJhcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -0,0 +1,56 @@
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import { AlertController } from '@ionic/angular';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@ionic/angular";
5
+ export class AlertComponent {
6
+ alertController;
7
+ data = undefined;
8
+ alertEvent = new EventEmitter();
9
+ constructor(alertController) {
10
+ this.alertController = alertController;
11
+ }
12
+ ngOnChanges(changes) {
13
+ const val = changes['data']?.currentValue;
14
+ if (val)
15
+ this.showAlert(val);
16
+ }
17
+ async showAlert(data) {
18
+ const alert = await this.alertController.create({
19
+ header: data.heading,
20
+ message: data.message,
21
+ cssClass: 'care-first-alert',
22
+ mode: 'md',
23
+ backdropDismiss: false,
24
+ buttons: [
25
+ {
26
+ text: data.buttonFalse || 'Cancel',
27
+ handler: () => {
28
+ this.alertEvent.emit({ identifier: data.alertIdentifier, status: false });
29
+ alert.dismiss();
30
+ },
31
+ cssClass: 'alert-button-cancel',
32
+ },
33
+ {
34
+ text: data.buttonTrue || 'OK',
35
+ handler: () => {
36
+ this.alertEvent.emit({ identifier: data.alertIdentifier, status: true });
37
+ alert.dismiss();
38
+ },
39
+ cssClass: 'alert-button-confirm',
40
+ },
41
+ ],
42
+ });
43
+ alert.present();
44
+ }
45
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: AlertComponent, deps: [{ token: i1.AlertController }], target: i0.ɵɵFactoryTarget.Component });
46
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: AlertComponent, selector: "cf-alert", inputs: { data: "data" }, outputs: { alertEvent: "alertEvent" }, usesOnChanges: true, ngImport: i0, template: "", styles: ["::ng-deep .care-first-alert .alert-wrapper{padding:1.6rem;border-radius:1.6rem;background-color:var(--cf-app-background-light)}::ng-deep .care-first-alert .alert-wrapper>*{text-align:center;padding:0}::ng-deep .care-first-alert .alert-wrapper .alert-title{font-weight:900;font-size:1.8rem;color:var(--cf-app-text-color-default)}::ng-deep .care-first-alert .alert-wrapper .alert-message{font-size:1.4rem;margin-top:1.2rem;color:var(--cf-app-text-color-default)}@media (min-width: 768px){::ng-deep .care-first-alert .alert-wrapper .alert-title{font-size:2.8rem}::ng-deep .care-first-alert .alert-wrapper .alert-message{font-size:1.8rem}}::ng-deep .care-first-alert .alert-wrapper .alert-button-group{margin-top:1.6rem;display:flex;justify-content:center;gap:4rem}@media (min-width: 768px){::ng-deep .care-first-alert .alert-wrapper .alert-button-group{gap:2rem}}::ng-deep .care-first-alert .alert-wrapper button.alert-button{font-size:1.6rem;padding:.6rem 2rem;margin:0}::ng-deep .care-first-alert .alert-wrapper button.alert-button.alert-button-cancel{color:var(--cf-app-system-color-error)}::ng-deep .care-first-alert .alert-wrapper button.alert-button.alert-button-confirm{border-radius:.6rem;background-color:var(--cf-app-color-primary);color:var(--cf-app-text-color-light)}\n"] });
47
+ }
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: AlertComponent, decorators: [{
49
+ type: Component,
50
+ args: [{ selector: 'cf-alert', template: "", styles: ["::ng-deep .care-first-alert .alert-wrapper{padding:1.6rem;border-radius:1.6rem;background-color:var(--cf-app-background-light)}::ng-deep .care-first-alert .alert-wrapper>*{text-align:center;padding:0}::ng-deep .care-first-alert .alert-wrapper .alert-title{font-weight:900;font-size:1.8rem;color:var(--cf-app-text-color-default)}::ng-deep .care-first-alert .alert-wrapper .alert-message{font-size:1.4rem;margin-top:1.2rem;color:var(--cf-app-text-color-default)}@media (min-width: 768px){::ng-deep .care-first-alert .alert-wrapper .alert-title{font-size:2.8rem}::ng-deep .care-first-alert .alert-wrapper .alert-message{font-size:1.8rem}}::ng-deep .care-first-alert .alert-wrapper .alert-button-group{margin-top:1.6rem;display:flex;justify-content:center;gap:4rem}@media (min-width: 768px){::ng-deep .care-first-alert .alert-wrapper .alert-button-group{gap:2rem}}::ng-deep .care-first-alert .alert-wrapper button.alert-button{font-size:1.6rem;padding:.6rem 2rem;margin:0}::ng-deep .care-first-alert .alert-wrapper button.alert-button.alert-button-cancel{color:var(--cf-app-system-color-error)}::ng-deep .care-first-alert .alert-wrapper button.alert-button.alert-button-confirm{border-radius:.6rem;background-color:var(--cf-app-color-primary);color:var(--cf-app-text-color-light)}\n"] }]
51
+ }], ctorParameters: () => [{ type: i1.AlertController }], propDecorators: { data: [{
52
+ type: Input
53
+ }], alertEvent: [{
54
+ type: Output
55
+ }] } });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2FyZWZpcnN0L2xpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9hbGVydC9hbGVydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQXNDLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQVFqRCxNQUFNLE9BQU8sY0FBYztJQU9JO0lBTnBCLElBQUksR0FBMkIsU0FBUyxDQUFDO0lBQ3hDLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO0lBS3ZELFlBQTZCLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUFHLENBQUM7SUFPakUsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxZQUFnQyxDQUFDO1FBQzlELElBQUksR0FBRztZQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQVFELEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBZ0I7UUFDOUIsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQztZQUM5QyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDcEIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsSUFBSSxFQUFFLElBQUk7WUFDVixlQUFlLEVBQUUsS0FBSztZQUN0QixPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLElBQUksUUFBUTtvQkFDbEMsT0FBTyxFQUFFLEdBQUcsRUFBRTt3QkFDWixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO3dCQUMxRSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ2xCLENBQUM7b0JBQ0QsUUFBUSxFQUFFLHFCQUFxQjtpQkFDaEM7Z0JBQ0Q7b0JBQ0UsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSTtvQkFDN0IsT0FBTyxFQUFFLEdBQUcsRUFBRTt3QkFDWixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO3dCQUN6RSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ2xCLENBQUM7b0JBQ0QsUUFBUSxFQUFFLHNCQUFzQjtpQkFDakM7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUNILEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNsQixDQUFDO3VHQXBEVSxjQUFjOzJGQUFkLGNBQWMsc0lDbkIzQixFQUFBOzsyRkRtQmEsY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxVQUFVO29GQUtYLElBQUk7c0JBQVosS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDYXJlRmlyc3QgTGlicmFyeSBBbGVydFxuICpcbiAqIEBmaWxlICAgICAgICAgIGFsZXJ0LmNvbXBvbmVudFxuICogQGRlc2NyaXB0aW9uICAgQ29udGFpbnMgYWxsIHRoZSBsb2dpYyBmb3IgZ2VuZXJhdGluZyBhIENhcmVGaXJzdCBBbGVydFxuICogQGF1dGhvciAgICAgICAgQXJubyBKYW5zZW4gdmFuIFZ1dXJlblxuICogQHNpbmNlICAgICAgICAgMjAyMyAtIDExIC0gMzBcbiAqIEB1c2FnZSAgICAgICAgIDxjZi1hbGVydCBkYXRhPVwie2hlYWRpbmcsIG1lc3NhZ2UsIGJ1dHRvblRydWUsIGJ1dHRvbkZhbHNlfVwiIChhbGVydEV2ZW50KT48L2NmLWFsZXJ0PlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgdHlwZSBPbkNoYW5nZXMsIHR5cGUgU2ltcGxlQ2hhbmdlcywgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbGVydENvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgdHlwZSB7IEFsZXJ0RGF0YUksIEFsZXJ0RXZlbnRJIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9hbGVydC5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjZi1hbGVydCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbGVydC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9hbGVydC5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEFsZXJ0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgZGF0YTogQWxlcnREYXRhSSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgQE91dHB1dCgpIGFsZXJ0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPEFsZXJ0RXZlbnRJPigpO1xuXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQG5hbWUgIGNvbnN0cnVjdG9yXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGFsZXJ0Q29udHJvbGxlcjogQWxlcnRDb250cm9sbGVyKSB7fVxuXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQG5hbWUgICAgICAgICAgbmdPbmNoYW5nZVxuICAgKiBAZGVzY3JpcHRpb24gICBVcGRhdGUgdmFyaW91cyB2YWx1ZXMgb24gY29tcG9uZW50IGlucHV0IGNoYW5nZXNcbiAgICogQHJldHVybnMgICAgICAge3ZvaWR9XG4gICAqL1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3QgdmFsID0gY2hhbmdlc1snZGF0YSddPy5jdXJyZW50VmFsdWUgYXMgdHlwZW9mIHRoaXMuZGF0YTtcbiAgICBpZiAodmFsKSB0aGlzLnNob3dBbGVydCh2YWwpO1xuICB9XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgICAgICAgICBzaG93QWxlcnRcbiAgICogQGRlc2NyaXB0aW9uICAgU2hvd1xuICAgKiBAcGFyYW0gICAgICAgICB7QWxlcnREYXRhSX0gZGF0YVxuICAgKiBAcmV0dXJucyAgICAgICB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIGFzeW5jIHNob3dBbGVydChkYXRhOiBBbGVydERhdGFJKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgYWxlcnQgPSBhd2FpdCB0aGlzLmFsZXJ0Q29udHJvbGxlci5jcmVhdGUoe1xuICAgICAgaGVhZGVyOiBkYXRhLmhlYWRpbmcsXG4gICAgICBtZXNzYWdlOiBkYXRhLm1lc3NhZ2UsXG4gICAgICBjc3NDbGFzczogJ2NhcmUtZmlyc3QtYWxlcnQnLFxuICAgICAgbW9kZTogJ21kJyxcbiAgICAgIGJhY2tkcm9wRGlzbWlzczogZmFsc2UsXG4gICAgICBidXR0b25zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXh0OiBkYXRhLmJ1dHRvbkZhbHNlIHx8ICdDYW5jZWwnLFxuICAgICAgICAgIGhhbmRsZXI6ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYWxlcnRFdmVudC5lbWl0KHsgaWRlbnRpZmllcjogZGF0YS5hbGVydElkZW50aWZpZXIsIHN0YXR1czogZmFsc2UgfSk7XG4gICAgICAgICAgICBhbGVydC5kaXNtaXNzKCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBjc3NDbGFzczogJ2FsZXJ0LWJ1dHRvbi1jYW5jZWwnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGV4dDogZGF0YS5idXR0b25UcnVlIHx8ICdPSycsXG4gICAgICAgICAgaGFuZGxlcjogKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hbGVydEV2ZW50LmVtaXQoeyBpZGVudGlmaWVyOiBkYXRhLmFsZXJ0SWRlbnRpZmllciwgc3RhdHVzOiB0cnVlIH0pO1xuICAgICAgICAgICAgYWxlcnQuZGlzbWlzcygpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgY3NzQ2xhc3M6ICdhbGVydC1idXR0b24tY29uZmlybScsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuICAgIGFsZXJ0LnByZXNlbnQoKTtcbiAgfVxufVxuIiwiIl19
@@ -0,0 +1,39 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { validateStringValue } from '../../utils/attribute.util';
3
+ import { iconsC } from '../../interfaces/icon.interface';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@ionic/angular";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "../icon/icon.component";
8
+ const badgeTypeC = [
9
+ 'primary',
10
+ 'alert',
11
+ 'accent',
12
+ 'warning',
13
+ 'disabled',
14
+ 'feedback-success',
15
+ 'feedback-error',
16
+ 'feedback-warning',
17
+ 'feedback-busy',
18
+ ];
19
+ export class BadgeComponent {
20
+ type = 'primary';
21
+ icon;
22
+ inputType = 'primary';
23
+ inputIcon = undefined;
24
+ ngOnChanges(changes) {
25
+ this.inputType = validateStringValue(changes, 'type', badgeTypeC.slice(), this.inputType) || 'primary';
26
+ this.inputIcon = validateStringValue(changes, 'icon', iconsC.slice(), this.inputIcon);
27
+ }
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: BadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: BadgeComponent, selector: "cf-badge", inputs: { type: "type", icon: "icon" }, usesOnChanges: true, ngImport: i0, template: "<div [className]=\"'cf-badge-' + inputType\">\n <cf-icon *ngIf=\"inputIcon && inputType !== 'feedback-busy'\" [icon]=\"inputIcon\" [height]=\"12\"></cf-icon>\n <ion-spinner *ngIf=\"inputType === 'feedback-busy'\"></ion-spinner>\n <p><ng-content></ng-content></p>\n</div>\n", styles: ["div[class^=cf-badge-]{--cf-badge-background: var(--cf-app-color-primary);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-badge-background);--cf-svg-overwrite-stroke-color: var(--cf-badge-text-color);display:flex;flex-direction:row;gap:8px;justify-content:center;align-items:center;padding:8px 16px;border-radius:6px;width:-moz-fit-content;width:fit-content;background:var(--cf-badge-background);border:.2rem solid var(--cf-badge-border-color)}div[class^=cf-badge-]>p{width:-moz-fit-content;width:fit-content;font-size:1.2rem;font-weight:500;font-style:normal;line-height:auto;color:var(--cf-badge-text-color)}div.cf-badge-feedback-primary{--cf-badge-background: var(--cf-app-color-primary);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-badge-background)}div.cf-badge-alert{--cf-badge-background: var(--cf-app-system-color-error);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-app-system-color-error)}div.cf-badge-accent{--cf-badge-background: var(--cf-app-color-accent);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-app-color-accent)}div.cf-badge-warning{--cf-badge-background: var(--cf-app-system-color-warning);--cf-badge-text-color: var(--cf-app-text-color-grey);--cf-badge-border-color: var(--cf-app-system-color-warning)}div.cf-badge-disabled{--cf-badge-background: var(--cf-app-system-color-disabled);--cf-badge-text-color: var(--cf-app-text-color-grey);--cf-badge-border-color: var(--cf-app-system-color-disabled)}div.cf-badge-feedback-success{--cf-badge-background: var(--cf-app-system-color-light-success);--cf-badge-text-color: var(--cf-app-system-color-success);--cf-badge-border-color: var(--cf-app-system-color-success)}div.cf-badge-feedback-error{--cf-badge-background: var(--cf-app-system-color-light-error);--cf-badge-text-color: var(--cf-app-system-color-error);--cf-badge-border-color: var(--cf-app-system-color-error)}div.cf-badge-feedback-warning,div.cf-badge-feedback-busy{--cf-badge-background: var(--cf-app-system-color-light-warning);--cf-badge-text-color: var(--cf-app-system-color-warning);--cf-badge-border-color: var(--cf-app-system-color-warning)}div.cf-badge-feedback-busy ion-spinner{color:var(--cf-app-system-color-warning);height:1.2rem;width:1.2rem}\n"], dependencies: [{ kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IconComponent, selector: "cf-icon", inputs: ["icon", "height", "iconColor"] }] });
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: BadgeComponent, decorators: [{
32
+ type: Component,
33
+ args: [{ selector: 'cf-badge', template: "<div [className]=\"'cf-badge-' + inputType\">\n <cf-icon *ngIf=\"inputIcon && inputType !== 'feedback-busy'\" [icon]=\"inputIcon\" [height]=\"12\"></cf-icon>\n <ion-spinner *ngIf=\"inputType === 'feedback-busy'\"></ion-spinner>\n <p><ng-content></ng-content></p>\n</div>\n", styles: ["div[class^=cf-badge-]{--cf-badge-background: var(--cf-app-color-primary);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-badge-background);--cf-svg-overwrite-stroke-color: var(--cf-badge-text-color);display:flex;flex-direction:row;gap:8px;justify-content:center;align-items:center;padding:8px 16px;border-radius:6px;width:-moz-fit-content;width:fit-content;background:var(--cf-badge-background);border:.2rem solid var(--cf-badge-border-color)}div[class^=cf-badge-]>p{width:-moz-fit-content;width:fit-content;font-size:1.2rem;font-weight:500;font-style:normal;line-height:auto;color:var(--cf-badge-text-color)}div.cf-badge-feedback-primary{--cf-badge-background: var(--cf-app-color-primary);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-badge-background)}div.cf-badge-alert{--cf-badge-background: var(--cf-app-system-color-error);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-app-system-color-error)}div.cf-badge-accent{--cf-badge-background: var(--cf-app-color-accent);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-app-color-accent)}div.cf-badge-warning{--cf-badge-background: var(--cf-app-system-color-warning);--cf-badge-text-color: var(--cf-app-text-color-grey);--cf-badge-border-color: var(--cf-app-system-color-warning)}div.cf-badge-disabled{--cf-badge-background: var(--cf-app-system-color-disabled);--cf-badge-text-color: var(--cf-app-text-color-grey);--cf-badge-border-color: var(--cf-app-system-color-disabled)}div.cf-badge-feedback-success{--cf-badge-background: var(--cf-app-system-color-light-success);--cf-badge-text-color: var(--cf-app-system-color-success);--cf-badge-border-color: var(--cf-app-system-color-success)}div.cf-badge-feedback-error{--cf-badge-background: var(--cf-app-system-color-light-error);--cf-badge-text-color: var(--cf-app-system-color-error);--cf-badge-border-color: var(--cf-app-system-color-error)}div.cf-badge-feedback-warning,div.cf-badge-feedback-busy{--cf-badge-background: var(--cf-app-system-color-light-warning);--cf-badge-text-color: var(--cf-app-system-color-warning);--cf-badge-border-color: var(--cf-app-system-color-warning)}div.cf-badge-feedback-busy ion-spinner{color:var(--cf-app-system-color-warning);height:1.2rem;width:1.2rem}\n"] }]
34
+ }], propDecorators: { type: [{
35
+ type: Input
36
+ }], icon: [{
37
+ type: Input
38
+ }] } });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2FyZWZpcnN0L2xpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL2JhZGdlL2JhZGdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9iYWRnZS9iYWRnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBc0MsTUFBTSxlQUFlLENBQUM7QUFFckYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFakUsT0FBTyxFQUFFLE1BQU0sRUFBZSxNQUFNLGlDQUFpQyxDQUFDOzs7OztBQU10RSxNQUFNLFVBQVUsR0FBRztJQUNqQixTQUFTO0lBQ1QsT0FBTztJQUNQLFFBQVE7SUFDUixTQUFTO0lBQ1QsVUFBVTtJQUNWLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLGVBQWU7Q0FDUCxDQUFDO0FBV1gsTUFBTSxPQUFPLGNBQWM7SUFDaEIsSUFBSSxHQUFlLFNBQVMsQ0FBQztJQUM3QixJQUFJLENBQXNCO0lBR25DLFNBQVMsR0FBcUIsU0FBUyxDQUFDO0lBQ3hDLFNBQVMsR0FBaUMsU0FBUyxDQUFDO0lBT3BELFdBQVcsQ0FBQyxPQUFzQjtRQUVoQyxJQUFJLENBQUMsU0FBUyxHQUFHLG1CQUFtQixDQUFhLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxTQUFTLENBQUM7UUFFbkgsSUFBSSxDQUFDLFNBQVMsR0FBRyxtQkFBbUIsQ0FBUyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEcsQ0FBQzt1R0FsQlUsY0FBYzsyRkFBZCxjQUFjLDZHQ3pDM0IscVJBS0E7OzJGRG9DYSxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFVBQVU7OEJBS1gsSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ2FyZUZpcnN0IENoYXQgQmFkZ2VcbiAqXG4gKiBAZmlsZSAgICAgICAgICBiYWRnZS5jb21wb25lbnRcbiAqIEBkZXNjcmlwdGlvbiAgIENvbnRhaW5zIGFsbCB0aGUgbG9naWMgZm9yIGdlbmVyYXRpbmcgYSBDYXJlRmlyc3QgQ2hhdCBCYWRnZVxuICogQGF1dGhvciAgICAgICAgSmFjcXVlcyBDb2V0emVlXG4gKiBAc2luY2UgICAgICAgICAyMDI0IC0gMDIgLSAyMlxuICogQHVzYWdlICAgICAgICAgPGNmLWJhZGdlIHR5cGU9XCJCYWRnZVR5cGVUXCIgJWljb24lPVwiSWNvbnNUXCI+PC9jZi1iYWRnZT5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCB0eXBlIE9uQ2hhbmdlcywgdHlwZSBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vLy0tLSBVdGlsc1xuaW1wb3J0IHsgdmFsaWRhdGVTdHJpbmdWYWx1ZSB9IGZyb20gJy4uLy4uL3V0aWxzL2F0dHJpYnV0ZS51dGlsJztcbi8vLS0tIEludGVyZmFjZXNcbmltcG9ydCB7IGljb25zQywgdHlwZSBJY29uc1QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2ljb24uaW50ZXJmYWNlJztcblxuLyoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQGludGVyZmFjZSAgICAgQmFkZ2VUeXBlVFxuICogQGRlc2NyaXB0aW9uICAgVHlwZXMgb2YgYmFkZ2VzIGF2YWlsYWJsZVxuICovXG5jb25zdCBiYWRnZVR5cGVDID0gW1xuICAncHJpbWFyeScsXG4gICdhbGVydCcsXG4gICdhY2NlbnQnLFxuICAnd2FybmluZycsXG4gICdkaXNhYmxlZCcsXG4gICdmZWVkYmFjay1zdWNjZXNzJyxcbiAgJ2ZlZWRiYWNrLWVycm9yJyxcbiAgJ2ZlZWRiYWNrLXdhcm5pbmcnLFxuICAnZmVlZGJhY2stYnVzeScsXG5dIGFzIGNvbnN0O1xudHlwZSBCYWRnZVR5cGVUID0gKHR5cGVvZiBiYWRnZVR5cGVDKVtudW1iZXJdO1xuXG4vKio9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBAbmFtZSAgICAgQmFkZ2VDb21wb25lbnRcbiAqICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjZi1iYWRnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9iYWRnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9iYWRnZS5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEJhZGdlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgdHlwZTogQmFkZ2VUeXBlVCA9ICdwcmltYXJ5JztcbiAgQElucHV0KCkgaWNvbj86IEljb25zVCB8IHVuZGVmaW5lZDtcblxuICAvLy0tLSBMb2NhbCB2YXJpYWJsZXNcbiAgaW5wdXRUeXBlOiB0eXBlb2YgdGhpcy50eXBlID0gJ3ByaW1hcnknO1xuICBpbnB1dEljb246IHR5cGVvZiB0aGlzLmljb24gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgICAgICAgICBuZ09uQ2hhbmdlc1xuICAgKiBAZGVzY3JpcHRpb24gICBVcGRhdGUgdmFyaW91cyB2YWx1ZXMgb24gaW5wdXQgY2hhbmdlc1xuICAgKiBAcmV0dXJucyAgICAgICB7dm9pZH1cbiAgICovXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAvLy0tLSBUeXBlXG4gICAgdGhpcy5pbnB1dFR5cGUgPSB2YWxpZGF0ZVN0cmluZ1ZhbHVlPEJhZGdlVHlwZVQ+KGNoYW5nZXMsICd0eXBlJywgYmFkZ2VUeXBlQy5zbGljZSgpLCB0aGlzLmlucHV0VHlwZSkgfHwgJ3ByaW1hcnknO1xuICAgIC8vLS0tIEljb24gU3RhcnRcbiAgICB0aGlzLmlucHV0SWNvbiA9IHZhbGlkYXRlU3RyaW5nVmFsdWU8SWNvbnNUPihjaGFuZ2VzLCAnaWNvbicsIGljb25zQy5zbGljZSgpLCB0aGlzLmlucHV0SWNvbik7XG4gIH1cbn1cbiIsIjxkaXYgW2NsYXNzTmFtZV09XCInY2YtYmFkZ2UtJyArIGlucHV0VHlwZVwiPlxuICA8Y2YtaWNvbiAqbmdJZj1cImlucHV0SWNvbiAmJiBpbnB1dFR5cGUgIT09ICdmZWVkYmFjay1idXN5J1wiIFtpY29uXT1cImlucHV0SWNvblwiIFtoZWlnaHRdPVwiMTJcIj48L2NmLWljb24+XG4gIDxpb24tc3Bpbm5lciAqbmdJZj1cImlucHV0VHlwZSA9PT0gJ2ZlZWRiYWNrLWJ1c3knXCI+PC9pb24tc3Bpbm5lcj5cbiAgPHA+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvcD5cbjwvZGl2PlxuIl19
@@ -0,0 +1,92 @@
1
+ import { Component, Input, HostBinding } from '@angular/core';
2
+ import { checkTruthAttribute, validateStringValue } from '../../utils/attribute.util';
3
+ import { iconsC } from '../../interfaces/icon.interface';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@ionic/angular";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "../icon/icon.component";
8
+ import * as i4 from "../../directives/button-loader.directive";
9
+ export class ButtonComponent {
10
+ type = 'primary';
11
+ disabled;
12
+ alert;
13
+ action;
14
+ snug;
15
+ accent;
16
+ fontSize;
17
+ iconStart;
18
+ iconEnd;
19
+ loading;
20
+ customColor;
21
+ get parentEvents() {
22
+ if (this.disabled) {
23
+ return 'none';
24
+ }
25
+ return 'auto';
26
+ }
27
+ inputType = 'primary';
28
+ inputFontSize = undefined;
29
+ inputDisabled = false;
30
+ inputAlert = false;
31
+ inputAction = false;
32
+ inputSnug = false;
33
+ inputAccent = false;
34
+ inputIconStart = undefined;
35
+ inputIconEnd = undefined;
36
+ inputLoading = false;
37
+ inputCustomColor = '';
38
+ ngOnChanges(changes) {
39
+ this.inputType =
40
+ validateStringValue(changes, 'type', ['primary', 'secondary', 'tertiary'], this.inputType) || 'primary';
41
+ this.inputFontSize = validateStringValue(changes, 'fontSize', ['small', 'large'], this.inputFontSize);
42
+ this.inputDisabled = checkTruthAttribute(changes, 'disabled', this.inputDisabled);
43
+ this.inputAlert = checkTruthAttribute(changes, 'alert', this.inputAlert);
44
+ this.inputAction = checkTruthAttribute(changes, 'action', this.inputAction);
45
+ this.inputSnug = checkTruthAttribute(changes, 'snug', this.inputSnug);
46
+ this.inputAccent = checkTruthAttribute(changes, 'accent', this.inputAccent);
47
+ this.inputIconStart = validateStringValue(changes, 'iconStart', iconsC.slice(), this.inputIconStart);
48
+ this.inputIconEnd = validateStringValue(changes, 'iconEnd', iconsC.slice(), this.inputIconEnd);
49
+ this.inputLoading = checkTruthAttribute(changes, 'loading', this.inputLoading);
50
+ if (changes['customColor']?.currentValue)
51
+ this.inputCustomColor = this.checkCustomColor(changes['customColor'].currentValue);
52
+ }
53
+ checkCustomColor(color) {
54
+ if (color.startsWith('var'))
55
+ return color;
56
+ if (color.startsWith('#') && (color.length === 4 || color.length === 7) && color.split('').every((char) => char.match(/[#0-9a-fA-F]+/)))
57
+ return color;
58
+ return '';
59
+ }
60
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
61
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: ButtonComponent, selector: "cf-btn", inputs: { type: "type", disabled: "disabled", alert: "alert", action: "action", snug: "snug", accent: "accent", fontSize: "fontSize", iconStart: "iconStart", iconEnd: "iconEnd", loading: "loading", customColor: "customColor" }, host: { properties: { "style.pointer-events": "this.parentEvents" } }, usesOnChanges: true, ngImport: i0, template: "<ion-button\n [style]=\"'--custom-color: ' + inputCustomColor\"\n [ngClass]=\"{\n 'cf-button-primary': inputType === 'primary',\n 'cf-button-secondary': inputType === 'secondary',\n 'cf-button-tertiary': inputType === 'tertiary',\n 'text-large': inputFontSize === 'large',\n 'text-small': inputFontSize === 'small',\n alert: inputAlert,\n action: inputAction,\n snug: inputSnug,\n accent: inputAccent\n }\"\n mode=\"md\"\n [disabled]=\"inputDisabled\">\n <cf-icon *ngIf=\"inputIconStart\" [icon]=\"inputIconStart\" style=\"--cf-svg-overwrite-stroke-color: var(--button-text-color)\"></cf-icon>\n <p *cfButtonLoader=\"inputLoading\">\n <ng-content></ng-content>\n </p>\n <cf-icon *ngIf=\"inputIconEnd\" [icon]=\"inputIconEnd\" style=\"--cf-svg-overwrite-stroke-color: var(--button-text-color)\"></cf-icon>\n</ion-button>\n", styles: ["ion-button[class^=cf-button-]{--custom-color: var(--cf-app-color-primary);--core: var(--custom-color, var(--cf-app-color-primary));width:100%;min-height:5.6rem;border-radius:1rem .4rem 1rem 1rem;text-transform:capitalize;overflow:hidden;margin:0;--padding-top: 1.6rem;--padding-bottom: 1.6rem;--padding-start: 2.4rem;--padding-end: 2.4rem;font-size:1.2rem}ion-button[class^=cf-button-]>p{width:-moz-fit-content;width:fit-content;font-weight:500;font-style:normal;line-height:auto;color:var(--button-text-color)}ion-button[class^=cf-button-]>:not(:first-child){margin-left:2rem}ion-button[class^=cf-button-]::part(native){border-radius:1rem .4rem 1rem 1rem;box-shadow:none}ion-button[class^=cf-button-].action{border-radius:.6rem;min-height:3.6rem;--padding-top: .6rem;--padding-bottom: .6rem;--padding-start: 2rem;--padding-end: 2rem}ion-button[class^=cf-button-].action::part(native){border-radius:.6rem}ion-button[class^=cf-button-].snug{width:-moz-fit-content;width:fit-content;min-height:-moz-fit-content;min-height:fit-content}ion-button[class^=cf-button-].text-large{font-size:1.6rem}ion-button[class^=cf-button-].text-small{font-size:1rem}.cf-button-primary{--background: var(--core);--button-text-color: var(--cf-app-text-color-light)}.cf-button-primary[class*=disabled]{--background: var(--cf-app-system-color-disabled);--button-text-color: #9d9d9d}.cf-button-primary.accent:not([class*=disabled]){--background: var(--cf-app-color-accent)}.cf-button-primary.alert:not([class*=disabled]){--background: var(--cf-app-system-color-error)}.cf-button-secondary{--background: transparent;--button-text-color: var(--core)}.cf-button-secondary::part(native){border:.2rem solid var(--core)}.cf-button-secondary[class*=disabled]{--button-text-color: var(--cf-app-system-color-disabled)}.cf-button-secondary[class*=disabled]::part(native){border:.2rem solid var(--cf-app-system-color-disabled)}.cf-button-secondary.accent:not([class*=disabled]){--button-text-color: var(--cf-app-color-accent)}.cf-button-secondary.accent:not([class*=disabled])::part(native){border:.2rem solid var(--cf-app-color-accent)}.cf-button-secondary.alert:not([class*=disabled]){--button-text-color: var(--cf-app-system-color-error)}.cf-button-secondary.alert:not([class*=disabled])::part(native){border:.2rem solid var(--cf-app-system-color-error)}.cf-button-tertiary{--background: transparent;--button-text-color: var(--core)}.cf-button-tertiary[class*=disabled]{--button-text-color: var(--cf-app-system-color-disabled)}.cf-button-tertiary.accent:not([class*=disabled]){--button-text-color: var(--cf-app-color-accent)}.cf-button-tertiary.alert:not([class*=disabled]){--button-text-color: var(--cf-app-system-color-error)}\n"], dependencies: [{ kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IconComponent, selector: "cf-icon", inputs: ["icon", "height", "iconColor"] }, { kind: "directive", type: i4.ButtonLoaderDirective, selector: "[cfButtonLoader]", inputs: ["cfButtonLoader"] }] });
62
+ }
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ButtonComponent, decorators: [{
64
+ type: Component,
65
+ args: [{ selector: 'cf-btn', template: "<ion-button\n [style]=\"'--custom-color: ' + inputCustomColor\"\n [ngClass]=\"{\n 'cf-button-primary': inputType === 'primary',\n 'cf-button-secondary': inputType === 'secondary',\n 'cf-button-tertiary': inputType === 'tertiary',\n 'text-large': inputFontSize === 'large',\n 'text-small': inputFontSize === 'small',\n alert: inputAlert,\n action: inputAction,\n snug: inputSnug,\n accent: inputAccent\n }\"\n mode=\"md\"\n [disabled]=\"inputDisabled\">\n <cf-icon *ngIf=\"inputIconStart\" [icon]=\"inputIconStart\" style=\"--cf-svg-overwrite-stroke-color: var(--button-text-color)\"></cf-icon>\n <p *cfButtonLoader=\"inputLoading\">\n <ng-content></ng-content>\n </p>\n <cf-icon *ngIf=\"inputIconEnd\" [icon]=\"inputIconEnd\" style=\"--cf-svg-overwrite-stroke-color: var(--button-text-color)\"></cf-icon>\n</ion-button>\n", styles: ["ion-button[class^=cf-button-]{--custom-color: var(--cf-app-color-primary);--core: var(--custom-color, var(--cf-app-color-primary));width:100%;min-height:5.6rem;border-radius:1rem .4rem 1rem 1rem;text-transform:capitalize;overflow:hidden;margin:0;--padding-top: 1.6rem;--padding-bottom: 1.6rem;--padding-start: 2.4rem;--padding-end: 2.4rem;font-size:1.2rem}ion-button[class^=cf-button-]>p{width:-moz-fit-content;width:fit-content;font-weight:500;font-style:normal;line-height:auto;color:var(--button-text-color)}ion-button[class^=cf-button-]>:not(:first-child){margin-left:2rem}ion-button[class^=cf-button-]::part(native){border-radius:1rem .4rem 1rem 1rem;box-shadow:none}ion-button[class^=cf-button-].action{border-radius:.6rem;min-height:3.6rem;--padding-top: .6rem;--padding-bottom: .6rem;--padding-start: 2rem;--padding-end: 2rem}ion-button[class^=cf-button-].action::part(native){border-radius:.6rem}ion-button[class^=cf-button-].snug{width:-moz-fit-content;width:fit-content;min-height:-moz-fit-content;min-height:fit-content}ion-button[class^=cf-button-].text-large{font-size:1.6rem}ion-button[class^=cf-button-].text-small{font-size:1rem}.cf-button-primary{--background: var(--core);--button-text-color: var(--cf-app-text-color-light)}.cf-button-primary[class*=disabled]{--background: var(--cf-app-system-color-disabled);--button-text-color: #9d9d9d}.cf-button-primary.accent:not([class*=disabled]){--background: var(--cf-app-color-accent)}.cf-button-primary.alert:not([class*=disabled]){--background: var(--cf-app-system-color-error)}.cf-button-secondary{--background: transparent;--button-text-color: var(--core)}.cf-button-secondary::part(native){border:.2rem solid var(--core)}.cf-button-secondary[class*=disabled]{--button-text-color: var(--cf-app-system-color-disabled)}.cf-button-secondary[class*=disabled]::part(native){border:.2rem solid var(--cf-app-system-color-disabled)}.cf-button-secondary.accent:not([class*=disabled]){--button-text-color: var(--cf-app-color-accent)}.cf-button-secondary.accent:not([class*=disabled])::part(native){border:.2rem solid var(--cf-app-color-accent)}.cf-button-secondary.alert:not([class*=disabled]){--button-text-color: var(--cf-app-system-color-error)}.cf-button-secondary.alert:not([class*=disabled])::part(native){border:.2rem solid var(--cf-app-system-color-error)}.cf-button-tertiary{--background: transparent;--button-text-color: var(--core)}.cf-button-tertiary[class*=disabled]{--button-text-color: var(--cf-app-system-color-disabled)}.cf-button-tertiary.accent:not([class*=disabled]){--button-text-color: var(--cf-app-color-accent)}.cf-button-tertiary.alert:not([class*=disabled]){--button-text-color: var(--cf-app-system-color-error)}\n"] }]
66
+ }], propDecorators: { type: [{
67
+ type: Input
68
+ }], disabled: [{
69
+ type: Input
70
+ }], alert: [{
71
+ type: Input
72
+ }], action: [{
73
+ type: Input
74
+ }], snug: [{
75
+ type: Input
76
+ }], accent: [{
77
+ type: Input
78
+ }], fontSize: [{
79
+ type: Input
80
+ }], iconStart: [{
81
+ type: Input
82
+ }], iconEnd: [{
83
+ type: Input
84
+ }], loading: [{
85
+ type: Input
86
+ }], customColor: [{
87
+ type: Input
88
+ }], parentEvents: [{
89
+ type: HostBinding,
90
+ args: ['style.pointer-events']
91
+ }] } });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFzQyxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEYsT0FBTyxFQUFFLE1BQU0sRUFBZSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7QUFPdEUsTUFBTSxPQUFPLGVBQWU7SUFDakIsSUFBSSxHQUF5QyxTQUFTLENBQUM7SUFDdkQsUUFBUSxDQUFnQztJQUN4QyxLQUFLLENBQWdDO0lBQ3JDLE1BQU0sQ0FBZ0M7SUFDdEMsSUFBSSxDQUFnQztJQUNwQyxNQUFNLENBQWdDO0lBQ3RDLFFBQVEsQ0FBcUI7SUFDN0IsU0FBUyxDQUFzQjtJQUMvQixPQUFPLENBQXNCO0lBQzdCLE9BQU8sQ0FBZ0M7SUFDdkMsV0FBVyxDQUFzQjtJQUUxQyxJQUF5QyxZQUFZO1FBQ25ELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixPQUFPLE1BQU0sQ0FBQztTQUNmO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUdELFNBQVMsR0FBcUIsU0FBUyxDQUFDO0lBQ3hDLGFBQWEsR0FBcUMsU0FBUyxDQUFDO0lBQzVELGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDdEIsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUNuQixXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDbEIsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUNwQixjQUFjLEdBQXNDLFNBQVMsQ0FBQztJQUM5RCxZQUFZLEdBQW9DLFNBQVMsQ0FBQztJQUMxRCxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztJQU90QixXQUFXLENBQUMsT0FBc0I7UUFFaEMsSUFBSSxDQUFDLFNBQVM7WUFDWixtQkFBbUIsQ0FBdUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsQ0FBQztRQUVoSixJQUFJLENBQUMsYUFBYSxHQUFHLG1CQUFtQixDQUFvQixPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV6SCxJQUFJLENBQUMsYUFBYSxHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRWxGLElBQUksQ0FBQyxVQUFVLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFekUsSUFBSSxDQUFDLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUU1RSxJQUFJLENBQUMsU0FBUyxHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXRFLElBQUksQ0FBQyxXQUFXLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFNUUsSUFBSSxDQUFDLGNBQWMsR0FBRyxtQkFBbUIsQ0FBUyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFN0csSUFBSSxDQUFDLFlBQVksR0FBRyxtQkFBbUIsQ0FBUyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFdkcsSUFBSSxDQUFDLFlBQVksR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUUvRSxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxZQUFZO1lBQUUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0gsQ0FBQztJQVFELGdCQUFnQixDQUFDLEtBQWE7UUFFNUIsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBRTFDLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDckksT0FBTyxLQUFLLENBQUM7UUFDZixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7dUdBN0VVLGVBQWU7MkZBQWYsZUFBZSw4V0NuQjVCLDgxQkFxQkE7OzJGREZhLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsUUFBUTs4QkFLVCxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFbUMsWUFBWTtzQkFBcEQsV0FBVzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENhcmVGaXJzdCBMaWJyYXJ5IC0gQnV0dG9uXG4gKlxuICogQGZpbGUgICAgICAgICAgYnV0dG9uLmNvbXBvbmVudFxuICogQGRlc2NyaXB0aW9uICAgQ29udGFpbnMgYWxsIHRoZSBsb2dpYyBmb3IgZ2VuZXJhdGluZyBhIENhcmVGaXJzdCBCdXR0b25cbiAqIEBhdXRob3IgICAgICAgIEphY3F1ZXMgQ29ldHplZVxuICogQHNpbmNlICAgICAgICAgMjAyMyAtIDExIC0gMDdcbiAqIEB1c2FnZSAgICAgICAgIDxjZi1idG4gdHlwZT1cIidwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ3RlcnRpYXJ5J1wiIGZvbnRTaXplPVwiJ3NtYWxsJyB8ICdsYXJnZSdcIiAgJWN1c3RvbUNvbG9yPVwidmFyKCkgfCBoZXhcIiUgJWRpc2FibGVkJSAlYWxlcnQlICVhY3Rpb24lICVzbnVnJT5URVhUPC9jZi1idG4+XG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgdHlwZSBTaW1wbGVDaGFuZ2VzLCB0eXBlIE9uQ2hhbmdlcywgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNoZWNrVHJ1dGhBdHRyaWJ1dGUsIHZhbGlkYXRlU3RyaW5nVmFsdWUgfSBmcm9tICcuLi8uLi91dGlscy9hdHRyaWJ1dGUudXRpbCc7XG5pbXBvcnQgeyBpY29uc0MsIHR5cGUgSWNvbnNUIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pY29uLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NmLWJ0bicsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgdHlwZTogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAndGVydGlhcnknID0gJ3ByaW1hcnknO1xuICBASW5wdXQoKSBkaXNhYmxlZD86IGJvb2xlYW4gfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGFsZXJ0PzogYm9vbGVhbiB8IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgYWN0aW9uPzogYm9vbGVhbiB8IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgc251Zz86IGJvb2xlYW4gfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGFjY2VudD86IGJvb2xlYW4gfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGZvbnRTaXplPzogJ3NtYWxsJyB8ICdsYXJnZSc7XG4gIEBJbnB1dCgpIGljb25TdGFydD86IEljb25zVCB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgaWNvbkVuZD86IEljb25zVCB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgbG9hZGluZz86IGJvb2xlYW4gfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGN1c3RvbUNvbG9yPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUucG9pbnRlci1ldmVudHMnKSBnZXQgcGFyZW50RXZlbnRzKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiAnbm9uZSc7XG4gICAgfVxuICAgIHJldHVybiAnYXV0byc7XG4gIH1cblxuICAvLy0tLSBMb2NhbCB2YXJpYWJsZXNcbiAgaW5wdXRUeXBlOiB0eXBlb2YgdGhpcy50eXBlID0gJ3ByaW1hcnknO1xuICBpbnB1dEZvbnRTaXplOiB0eXBlb2YgdGhpcy5mb250U2l6ZSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgaW5wdXREaXNhYmxlZCA9IGZhbHNlO1xuICBpbnB1dEFsZXJ0ID0gZmFsc2U7XG4gIGlucHV0QWN0aW9uID0gZmFsc2U7XG4gIGlucHV0U251ZyA9IGZhbHNlO1xuICBpbnB1dEFjY2VudCA9IGZhbHNlO1xuICBpbnB1dEljb25TdGFydDogdHlwZW9mIHRoaXMuaWNvblN0YXJ0IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICBpbnB1dEljb25FbmQ6IHR5cGVvZiB0aGlzLmljb25FbmQgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gIGlucHV0TG9hZGluZyA9IGZhbHNlO1xuICBpbnB1dEN1c3RvbUNvbG9yID0gJyc7XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgICAgICAgICBuZ09uQ2hhbmdlc1xuICAgKiBAZGVzY3JpcHRpb24gICBVcGRhdGUgdmFyaW91cyB2YWx1ZXMgb24gaW5wdXQgY2hhbmdlc1xuICAgKiBAcmV0dXJucyAgICAgICB7dm9pZH1cbiAgICovXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAvLy0tLSBUeXBlXG4gICAgdGhpcy5pbnB1dFR5cGUgPVxuICAgICAgdmFsaWRhdGVTdHJpbmdWYWx1ZTwncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICd0ZXJ0aWFyeSc+KGNoYW5nZXMsICd0eXBlJywgWydwcmltYXJ5JywgJ3NlY29uZGFyeScsICd0ZXJ0aWFyeSddLCB0aGlzLmlucHV0VHlwZSkgfHwgJ3ByaW1hcnknO1xuICAgIC8vLS0tIEZvbnQgU2l6ZVxuICAgIHRoaXMuaW5wdXRGb250U2l6ZSA9IHZhbGlkYXRlU3RyaW5nVmFsdWU8J3NtYWxsJyB8ICdsYXJnZSc+KGNoYW5nZXMsICdmb250U2l6ZScsIFsnc21hbGwnLCAnbGFyZ2UnXSwgdGhpcy5pbnB1dEZvbnRTaXplKTtcbiAgICAvLy0tLSBEaXNhYmxlZFxuICAgIHRoaXMuaW5wdXREaXNhYmxlZCA9IGNoZWNrVHJ1dGhBdHRyaWJ1dGUoY2hhbmdlcywgJ2Rpc2FibGVkJywgdGhpcy5pbnB1dERpc2FibGVkKTtcbiAgICAvLy0tLSBBbGVydFxuICAgIHRoaXMuaW5wdXRBbGVydCA9IGNoZWNrVHJ1dGhBdHRyaWJ1dGUoY2hhbmdlcywgJ2FsZXJ0JywgdGhpcy5pbnB1dEFsZXJ0KTtcbiAgICAvLy0tLSBBY3Rpb25cbiAgICB0aGlzLmlucHV0QWN0aW9uID0gY2hlY2tUcnV0aEF0dHJpYnV0ZShjaGFuZ2VzLCAnYWN0aW9uJywgdGhpcy5pbnB1dEFjdGlvbik7XG4gICAgLy8tLS0gU251Z1xuICAgIHRoaXMuaW5wdXRTbnVnID0gY2hlY2tUcnV0aEF0dHJpYnV0ZShjaGFuZ2VzLCAnc251ZycsIHRoaXMuaW5wdXRTbnVnKTtcbiAgICAvLy0tLSBBY2NlbnRcbiAgICB0aGlzLmlucHV0QWNjZW50ID0gY2hlY2tUcnV0aEF0dHJpYnV0ZShjaGFuZ2VzLCAnYWNjZW50JywgdGhpcy5pbnB1dEFjY2VudCk7XG4gICAgLy8tLS0gSWNvbiBTdGFydFxuICAgIHRoaXMuaW5wdXRJY29uU3RhcnQgPSB2YWxpZGF0ZVN0cmluZ1ZhbHVlPEljb25zVD4oY2hhbmdlcywgJ2ljb25TdGFydCcsIGljb25zQy5zbGljZSgpLCB0aGlzLmlucHV0SWNvblN0YXJ0KTtcbiAgICAvLy0tLSBJY29uIFN0YXJ0XG4gICAgdGhpcy5pbnB1dEljb25FbmQgPSB2YWxpZGF0ZVN0cmluZ1ZhbHVlPEljb25zVD4oY2hhbmdlcywgJ2ljb25FbmQnLCBpY29uc0Muc2xpY2UoKSwgdGhpcy5pbnB1dEljb25FbmQpO1xuICAgIC8vLS0tIExvYWRpbmdcbiAgICB0aGlzLmlucHV0TG9hZGluZyA9IGNoZWNrVHJ1dGhBdHRyaWJ1dGUoY2hhbmdlcywgJ2xvYWRpbmcnLCB0aGlzLmlucHV0TG9hZGluZyk7XG4gICAgLy8tLS0gQ3VzdG9tIGNvbG9yXG4gICAgaWYgKGNoYW5nZXNbJ2N1c3RvbUNvbG9yJ10/LmN1cnJlbnRWYWx1ZSkgdGhpcy5pbnB1dEN1c3RvbUNvbG9yID0gdGhpcy5jaGVja0N1c3RvbUNvbG9yKGNoYW5nZXNbJ2N1c3RvbUNvbG9yJ10uY3VycmVudFZhbHVlKTtcbiAgfVxuXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQG5hbWUgICAgICAgICAgY2hlY2tDdXN0b21Db2xvclxuICAgKiBAZGVzY3JpcHRpb24gICBDaGVjayBpZiB0aGUgY3VzdG9tIGNvbG9yIGlzIHZhbGlkXG4gICAqIEBwYXJhbSAgICAgICAgIHtzdHJpbmd9IGNvbG9yXG4gICAqIEByZXR1cm5zICAgICAgIHtzdHJpbmd9XG4gICAqL1xuICBjaGVja0N1c3RvbUNvbG9yKGNvbG9yOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIC8vLS0tIENoZWNrIGZvciBhIGNzcyB2YXJpYWJsZVxuICAgIGlmIChjb2xvci5zdGFydHNXaXRoKCd2YXInKSkgcmV0dXJuIGNvbG9yO1xuICAgIC8vLS0tIENoZWNrIGhleFxuICAgIGlmIChjb2xvci5zdGFydHNXaXRoKCcjJykgJiYgKGNvbG9yLmxlbmd0aCA9PT0gNCB8fCBjb2xvci5sZW5ndGggPT09IDcpICYmIGNvbG9yLnNwbGl0KCcnKS5ldmVyeSgoY2hhcikgPT4gY2hhci5tYXRjaCgvWyMwLTlhLWZBLUZdKy8pKSlcbiAgICAgIHJldHVybiBjb2xvcjtcbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cbiIsIjxpb24tYnV0dG9uXG4gIFtzdHlsZV09XCInLS1jdXN0b20tY29sb3I6ICcgKyBpbnB1dEN1c3RvbUNvbG9yXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdjZi1idXR0b24tcHJpbWFyeSc6IGlucHV0VHlwZSA9PT0gJ3ByaW1hcnknLFxuICAgICdjZi1idXR0b24tc2Vjb25kYXJ5JzogaW5wdXRUeXBlID09PSAnc2Vjb25kYXJ5JyxcbiAgICAnY2YtYnV0dG9uLXRlcnRpYXJ5JzogaW5wdXRUeXBlID09PSAndGVydGlhcnknLFxuICAgICd0ZXh0LWxhcmdlJzogaW5wdXRGb250U2l6ZSA9PT0gJ2xhcmdlJyxcbiAgICAndGV4dC1zbWFsbCc6IGlucHV0Rm9udFNpemUgPT09ICdzbWFsbCcsXG4gICAgYWxlcnQ6IGlucHV0QWxlcnQsXG4gICAgYWN0aW9uOiBpbnB1dEFjdGlvbixcbiAgICBzbnVnOiBpbnB1dFNudWcsXG4gICAgYWNjZW50OiBpbnB1dEFjY2VudFxuICB9XCJcbiAgbW9kZT1cIm1kXCJcbiAgW2Rpc2FibGVkXT1cImlucHV0RGlzYWJsZWRcIj5cbiAgPGNmLWljb24gKm5nSWY9XCJpbnB1dEljb25TdGFydFwiIFtpY29uXT1cImlucHV0SWNvblN0YXJ0XCIgc3R5bGU9XCItLWNmLXN2Zy1vdmVyd3JpdGUtc3Ryb2tlLWNvbG9yOiB2YXIoLS1idXR0b24tdGV4dC1jb2xvcilcIj48L2NmLWljb24+XG4gIDxwICpjZkJ1dHRvbkxvYWRlcj1cImlucHV0TG9hZGluZ1wiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9wPlxuICA8Y2YtaWNvbiAqbmdJZj1cImlucHV0SWNvbkVuZFwiIFtpY29uXT1cImlucHV0SWNvbkVuZFwiIHN0eWxlPVwiLS1jZi1zdmctb3ZlcndyaXRlLXN0cm9rZS1jb2xvcjogdmFyKC0tYnV0dG9uLXRleHQtY29sb3IpXCI+PC9jZi1pY29uPlxuPC9pb24tYnV0dG9uPlxuIl19
@@ -0,0 +1,39 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import dayjs from 'dayjs';
3
+ import { checkTruthAttribute, validateStringValue } from '../../utils/attribute.util';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@ionic/angular";
6
+ export class CalendarComponent {
7
+ displayTime;
8
+ color;
9
+ min = undefined;
10
+ max = undefined;
11
+ value = new EventEmitter();
12
+ inputTime = false;
13
+ inputColor = 'accent';
14
+ ngOnChanges(changes) {
15
+ this.inputTime = checkTruthAttribute(changes, 'displayTime', this.inputTime);
16
+ this.inputColor = validateStringValue(changes, 'color', ['success', 'accent'], this.inputColor) || 'accent';
17
+ }
18
+ setValue(value) {
19
+ if (typeof value === 'string')
20
+ this.value.emit(dayjs(value).format('YYYY-MM-DD' + (this.inputTime ? ' HH:mm' : '')));
21
+ }
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: CalendarComponent, selector: "cf-calendar", inputs: { displayTime: "displayTime", color: "color", min: "min", max: "max" }, outputs: { value: "value" }, usesOnChanges: true, ngImport: i0, template: "<ion-datetime\n [class]=\"inputColor\"\n mode=\"ios\"\n firstDayOfWeek=\"1\"\n [min]=\"min\"\n [max]=\"max\"\n [presentation]=\"inputTime ? 'date-time' : 'date'\"\n (ionChange)=\"setValue($event.detail.value)\">\n</ion-datetime>\n", styles: ["ion-datetime{--background: var(--cf-app-background-light);color:var(--cf-app-text-color-default)}ion-datetime::part(calendar-day){font-size:1.6rem}ion-datetime::part(month-year-button){font-size:1.8rem;font-weight:900;color:var(--cf-app-text-color-default)}ion-datetime.accent::part(today){border:1px solid var(--cf-app-color-accent);color:var(--cf-app-color-accent)}ion-datetime.accent::part(active){background-color:var(--cf-app-color-accent);color:var(--cf-app-text-color-light)}ion-datetime.success::part(today){border:1px solid var(--cf-app-color-primary);color:var(--cf-app-text-color-default)}ion-datetime.success::part(active){background-color:var(--cf-app-system-color-success);color:var(--cf-app-text-color-light)}\n"], dependencies: [{ kind: "component", type: i1.IonDatetime, selector: "ion-datetime", inputs: ["cancelText", "clearText", "color", "dayValues", "disabled", "doneText", "firstDayOfWeek", "highlightedDates", "hourCycle", "hourValues", "isDateEnabled", "locale", "max", "min", "minuteValues", "mode", "monthValues", "multiple", "name", "preferWheel", "presentation", "readonly", "showClearButton", "showDefaultButtons", "showDefaultTimeLabel", "showDefaultTitle", "size", "titleSelectedDatesFormatter", "value", "yearValues"] }, { kind: "directive", type: i1.SelectValueAccessor, selector: "ion-select, ion-radio-group, ion-segment, ion-datetime" }] });
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CalendarComponent, decorators: [{
26
+ type: Component,
27
+ args: [{ selector: 'cf-calendar', template: "<ion-datetime\n [class]=\"inputColor\"\n mode=\"ios\"\n firstDayOfWeek=\"1\"\n [min]=\"min\"\n [max]=\"max\"\n [presentation]=\"inputTime ? 'date-time' : 'date'\"\n (ionChange)=\"setValue($event.detail.value)\">\n</ion-datetime>\n", styles: ["ion-datetime{--background: var(--cf-app-background-light);color:var(--cf-app-text-color-default)}ion-datetime::part(calendar-day){font-size:1.6rem}ion-datetime::part(month-year-button){font-size:1.8rem;font-weight:900;color:var(--cf-app-text-color-default)}ion-datetime.accent::part(today){border:1px solid var(--cf-app-color-accent);color:var(--cf-app-color-accent)}ion-datetime.accent::part(active){background-color:var(--cf-app-color-accent);color:var(--cf-app-text-color-light)}ion-datetime.success::part(today){border:1px solid var(--cf-app-color-primary);color:var(--cf-app-text-color-default)}ion-datetime.success::part(active){background-color:var(--cf-app-system-color-success);color:var(--cf-app-text-color-light)}\n"] }]
28
+ }], propDecorators: { displayTime: [{
29
+ type: Input
30
+ }], color: [{
31
+ type: Input
32
+ }], min: [{
33
+ type: Input
34
+ }], max: [{
35
+ type: Input
36
+ }], value: [{
37
+ type: Output
38
+ }] } });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2FyZWZpcnN0L2xpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFzQyxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQU90RixNQUFNLE9BQU8saUJBQWlCO0lBQ25CLFdBQVcsQ0FBZ0M7SUFDM0MsS0FBSyxDQUF3QjtJQUM3QixHQUFHLEdBQXdCLFNBQVMsQ0FBQztJQUNyQyxHQUFHLEdBQXdCLFNBQVMsQ0FBQztJQUNwQyxLQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUc3QyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ2xCLFVBQVUsR0FBc0IsUUFBUSxDQUFDO0lBT3pDLFdBQVcsQ0FBQyxPQUFzQjtRQUVoQyxJQUFJLENBQUMsU0FBUyxHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTdFLElBQUksQ0FBQyxVQUFVLEdBQUcsbUJBQW1CLENBQXVCLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFFBQVEsQ0FBQztJQUNwSSxDQUFDO0lBUUQsUUFBUSxDQUFDLEtBQTJDO1FBQ2xELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtZQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkgsQ0FBQzt1R0EvQlUsaUJBQWlCOzJGQUFqQixpQkFBaUIscUxDcEI5QiwrT0FTQTs7MkZEV2EsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGFBQWE7OEJBS2QsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDSSxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENhcmVGaXJzdCBMaWJyYXJ5IENhbGVuZGFyXG4gKlxuICogQGZpbGUgICAgICAgICAgY2FsZW5kYXIuY29tcG9uZW50XG4gKiBAZGVzY3JpcHRpb24gICBDb250YWlucyBhbGwgdGhlIGxvZ2ljIGZvciBnZW5lcmF0aW5nIGEgQ2FyZUZpcnN0IENhbGVuZGFyXG4gKiBAYXV0aG9yICAgICAgICBBcm5vIEphbnNlbiB2YW4gVnV1cmVuXG4gKiBAc2luY2UgICAgICAgICAyMDIzIC0gMTIgLSAwMVxuICogQHVzYWdlICAgICAgICAgPGNmLWNhbGVuZGFyICVkaXNwbGF5VGltZSUgJWNvbG9yJT1cInN1Y2Nlc3MgfCBhY2NlbnRcIiAlbWluJSAlbWF4JT48L2NmLWNhbGVuZGFyPlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCB0eXBlIE9uQ2hhbmdlcywgdHlwZSBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuLy8tLS0gVXRpbHNcbmltcG9ydCB7IGNoZWNrVHJ1dGhBdHRyaWJ1dGUsIHZhbGlkYXRlU3RyaW5nVmFsdWUgfSBmcm9tICcuLi8uLi91dGlscy9hdHRyaWJ1dGUudXRpbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NmLWNhbGVuZGFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2NhbGVuZGFyLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBkaXNwbGF5VGltZT86IGJvb2xlYW4gfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGNvbG9yPzogJ3N1Y2Nlc3MnIHwgJ2FjY2VudCc7XG4gIEBJbnB1dCgpIG1pbj86IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgbWF4Pzogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICBAT3V0cHV0KCkgdmFsdWUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvLy0tLSBMb2NhbCB2YXJpYWJsZXNcbiAgaW5wdXRUaW1lID0gZmFsc2U7XG4gIGlucHV0Q29sb3I6IHR5cGVvZiB0aGlzLmNvbG9yID0gJ2FjY2VudCc7XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgICAgICAgICBuZ09uQ2hhbmdlc1xuICAgKiBAZGVzY3JpcHRpb24gICBVcGRhdGUgdmFyaW91cyB2YWx1ZXMgb24gY29tcG9uZW50IGlucHV0IGNoYW5nZXNcbiAgICogQHJldHVybnMgICAgICAge3ZvaWR9XG4gICAqL1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgLy8tLS0gRGlzcGxheSBUaW1lXG4gICAgdGhpcy5pbnB1dFRpbWUgPSBjaGVja1RydXRoQXR0cmlidXRlKGNoYW5nZXMsICdkaXNwbGF5VGltZScsIHRoaXMuaW5wdXRUaW1lKTtcbiAgICAvLy0tLSBDb2xvclxuICAgIHRoaXMuaW5wdXRDb2xvciA9IHZhbGlkYXRlU3RyaW5nVmFsdWU8J3N1Y2Nlc3MnIHwgJ2FjY2VudCc+KGNoYW5nZXMsICdjb2xvcicsIFsnc3VjY2VzcycsICdhY2NlbnQnXSwgdGhpcy5pbnB1dENvbG9yKSB8fCAnYWNjZW50JztcbiAgfVxuXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQG5hbWUgICAgICAgICAgc2V0VmFsdWVcbiAgICogQGRlc2NyaXB0aW9uICAgRW1pdCB0aGUgc2VsZWN0ZWQgZGF0ZSB2YWx1ZVxuICAgKiBAcGFyYW0gICAgICAgICB7c3RyaW5nIHwgc3RyaW5nW10gfCBudWxsIHwgdW5kZWZpbmVkfSB2YWx1ZVxuICAgKiBAcmV0dXJucyAgICAgICB7dm9pZH1cbiAgICovXG4gIHNldFZhbHVlKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykgdGhpcy52YWx1ZS5lbWl0KGRheWpzKHZhbHVlKS5mb3JtYXQoJ1lZWVktTU0tREQnICsgKHRoaXMuaW5wdXRUaW1lID8gJyBISDptbScgOiAnJykpKTtcbiAgfVxufVxuIiwiPGlvbi1kYXRldGltZVxuICBbY2xhc3NdPVwiaW5wdXRDb2xvclwiXG4gIG1vZGU9XCJpb3NcIlxuICBmaXJzdERheU9mV2Vlaz1cIjFcIlxuICBbbWluXT1cIm1pblwiXG4gIFttYXhdPVwibWF4XCJcbiAgW3ByZXNlbnRhdGlvbl09XCJpbnB1dFRpbWUgPyAnZGF0ZS10aW1lJyA6ICdkYXRlJ1wiXG4gIChpb25DaGFuZ2UpPVwic2V0VmFsdWUoJGV2ZW50LmRldGFpbC52YWx1ZSlcIj5cbjwvaW9uLWRhdGV0aW1lPlxuIl19
@@ -0,0 +1,31 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { validateStringValue } from '../../utils/attribute.util';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "../spacer/spacer.component";
6
+ export class ChatBubbleComponent {
7
+ type = 'outgoing';
8
+ date = '';
9
+ message = '';
10
+ inputType = 'incoming';
11
+ inputDate = '';
12
+ inputMessage = '';
13
+ ngOnChanges(changes) {
14
+ this.inputType = validateStringValue(changes, 'type', ['incoming', 'outgoing'], this.inputType) || 'outgoing';
15
+ this.inputDate = changes['date']?.currentValue || '';
16
+ this.inputMessage = changes['message']?.currentValue || '';
17
+ }
18
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ChatBubbleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: ChatBubbleComponent, selector: "cf-chat-bubble", inputs: { type: "type", date: "date", message: "message" }, usesOnChanges: true, ngImport: i0, template: "<div id=\"container\" [ngClass]=\"inputType\">\n <div id=\"message\">\n <p class=\"body-extra-small\">{{ inputDate }}</p>\n <cf-spacer default=\"4\"></cf-spacer>\n <div id=\"bubble\">\n <p class=\"body-extra-small\">{{ inputMessage }}</p>\n </div>\n </div>\n</div>\n", styles: ["#container{display:flex}#container #message p{color:var(--cf-app-text-color-default)}#container #message #bubble{background:var(--message-background-color);border-radius:var(--border-radius);padding:12px 16px}#container #message #bubble p{color:var(--cf-app-text-color-light)}#container.outgoing{justify-content:end;text-align:end;--border-radius: 16px 4px 16px 16px;--message-background-color: var(--cf-app-color-primary)}#container.incoming{justify-content:start;text-align:start;--border-radius: 4px 16px 16px 16px;--message-background-color: var(--cf-app-color-secondary)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.SpacerComponent, selector: "cf-spacer", inputs: ["default", "mobile", "desktop"] }] });
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ChatBubbleComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ selector: 'cf-chat-bubble', template: "<div id=\"container\" [ngClass]=\"inputType\">\n <div id=\"message\">\n <p class=\"body-extra-small\">{{ inputDate }}</p>\n <cf-spacer default=\"4\"></cf-spacer>\n <div id=\"bubble\">\n <p class=\"body-extra-small\">{{ inputMessage }}</p>\n </div>\n </div>\n</div>\n", styles: ["#container{display:flex}#container #message p{color:var(--cf-app-text-color-default)}#container #message #bubble{background:var(--message-background-color);border-radius:var(--border-radius);padding:12px 16px}#container #message #bubble p{color:var(--cf-app-text-color-light)}#container.outgoing{justify-content:end;text-align:end;--border-radius: 16px 4px 16px 16px;--message-background-color: var(--cf-app-color-primary)}#container.incoming{justify-content:start;text-align:start;--border-radius: 4px 16px 16px 16px;--message-background-color: var(--cf-app-color-secondary)}\n"] }]
24
+ }], propDecorators: { type: [{
25
+ type: Input
26
+ }], date: [{
27
+ type: Input
28
+ }], message: [{
29
+ type: Input
30
+ }] } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1idWJibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2FyZWZpcnN0L2xpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL2NoYXQtYnViYmxlL2NoYXQtYnViYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9jaGF0LWJ1YmJsZS9jaGF0LWJ1YmJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBc0MsTUFBTSxlQUFlLENBQUM7QUFFckYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7QUFPakUsTUFBTSxPQUFPLG1CQUFtQjtJQUNyQixJQUFJLEdBQTRCLFVBQVUsQ0FBQztJQUMzQyxJQUFJLEdBQVcsRUFBRSxDQUFDO0lBQ2xCLE9BQU8sR0FBVyxFQUFFLENBQUM7SUFHOUIsU0FBUyxHQUFxQixVQUFVLENBQUM7SUFDekMsU0FBUyxHQUFxQixFQUFFLENBQUM7SUFDakMsWUFBWSxHQUF3QixFQUFFLENBQUM7SUFPdkMsV0FBVyxDQUFDLE9BQXNCO1FBRWhDLElBQUksQ0FBQyxTQUFTLEdBQUcsbUJBQW1CLENBQW1CLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLFVBQVUsQ0FBQztRQUVoSSxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxZQUFZLElBQUksRUFBRSxDQUFDO1FBRXJELElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLFlBQVksSUFBSSxFQUFFLENBQUM7SUFDN0QsQ0FBQzt1R0F0QlUsbUJBQW1COzJGQUFuQixtQkFBbUIsdUlDbkJoQywrUkFTQTs7MkZEVWEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGdCQUFnQjs4QkFLakIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENhcmVGaXJzdCBDaGF0IEJ1YmJsZVxuICpcbiAqIEBmaWxlICAgICAgICAgIGNoYXQtYnViYmxlLmNvbXBvbmVudFxuICogQGRlc2NyaXB0aW9uICAgQ29udGFpbnMgYWxsIHRoZSBsb2dpYyBmb3IgZ2VuZXJhdGluZyBhIENhcmVGaXJzdCBDaGF0IEJ1YmJsZVxuICogQGF1dGhvciAgICAgICAgSmFjcXVlcyBDb2V0emVlXG4gKiBAc2luY2UgICAgICAgICAyMDI0IC0gMDIgLSAyMlxuICogQHVzYWdlICAgICAgICAgPGNmLWNoYXQtYnViYmxlIHR5cGU9XCJvdXRnb2luZyB8IGluY29taW5nXCIgZGF0ZT1cInN0cmluZ1wiIG1lc3NhZ2U9XCJzdHJpbmdcIj48L2NmLWNoYXQtYnViYmxlPlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIHR5cGUgT25DaGFuZ2VzLCB0eXBlIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbi8vLS0tIFV0aWxzXG5pbXBvcnQgeyB2YWxpZGF0ZVN0cmluZ1ZhbHVlIH0gZnJvbSAnLi4vLi4vdXRpbHMvYXR0cmlidXRlLnV0aWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjZi1jaGF0LWJ1YmJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGF0LWJ1YmJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9jaGF0LWJ1YmJsZS5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIENoYXRCdWJibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSB0eXBlOiAnb3V0Z29pbmcnIHwgJ2luY29taW5nJyA9ICdvdXRnb2luZyc7XG4gIEBJbnB1dCgpIGRhdGU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBtZXNzYWdlOiBzdHJpbmcgPSAnJztcblxuICAvLy0tLSBMb2NhbCB2YXJpYWJsZXNcbiAgaW5wdXRUeXBlOiB0eXBlb2YgdGhpcy50eXBlID0gJ2luY29taW5nJztcbiAgaW5wdXREYXRlOiB0eXBlb2YgdGhpcy5kYXRlID0gJyc7XG4gIGlucHV0TWVzc2FnZTogdHlwZW9mIHRoaXMubWVzc2FnZSA9ICcnO1xuXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQG5hbWUgICAgICAgICAgbmdPbkNoYW5nZXNcbiAgICogQGRlc2NyaXB0aW9uICAgVXBkYXRlIHZhcmlvdXMgdmFsdWVzIG9uIGlucHV0IGNoYW5nZXNcbiAgICogQHJldHVybnMgICAgICAge3ZvaWR9XG4gICAqL1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgLy8tLS0gVHlwZVxuICAgIHRoaXMuaW5wdXRUeXBlID0gdmFsaWRhdGVTdHJpbmdWYWx1ZTx0eXBlb2YgdGhpcy50eXBlPihjaGFuZ2VzLCAndHlwZScsIFsnaW5jb21pbmcnLCAnb3V0Z29pbmcnXSwgdGhpcy5pbnB1dFR5cGUpIHx8ICdvdXRnb2luZyc7XG4gICAgLy8tLS0gRGF0ZVxuICAgIHRoaXMuaW5wdXREYXRlID0gY2hhbmdlc1snZGF0ZSddPy5jdXJyZW50VmFsdWUgfHwgJyc7XG4gICAgLy8tLS0gTWVzc2FnZVxuICAgIHRoaXMuaW5wdXRNZXNzYWdlID0gY2hhbmdlc1snbWVzc2FnZSddPy5jdXJyZW50VmFsdWUgfHwgJyc7XG4gIH1cbn1cbiIsIjxkaXYgaWQ9XCJjb250YWluZXJcIiBbbmdDbGFzc109XCJpbnB1dFR5cGVcIj5cbiAgPGRpdiBpZD1cIm1lc3NhZ2VcIj5cbiAgICA8cCBjbGFzcz1cImJvZHktZXh0cmEtc21hbGxcIj57eyBpbnB1dERhdGUgfX08L3A+XG4gICAgPGNmLXNwYWNlciBkZWZhdWx0PVwiNFwiPjwvY2Ytc3BhY2VyPlxuICAgIDxkaXYgaWQ9XCJidWJibGVcIj5cbiAgICAgIDxwIGNsYXNzPVwiYm9keS1leHRyYS1zbWFsbFwiPnt7IGlucHV0TWVzc2FnZSB9fTwvcD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,87 @@
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import { FormControl } from '@angular/forms';
3
+ import { checkTruthAttribute, validateStringValue } from '../../utils/attribute.util';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@ionic/angular";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "@angular/forms";
8
+ import * as i4 from "../form-validation/form-validation.component";
9
+ const inputsC = {
10
+ labelPlacement: ['fixed', 'floating', 'stacked', 'start', 'end'],
11
+ inputMode: ['text', 'email', 'numeric', 'tel', 'decimal', 'url', 'search'],
12
+ autoCapitalize: ['off', 'none', 'on', 'sentences', 'words', 'characters'],
13
+ type: ['date', 'datetime-local', 'email', 'month', 'number', 'password', 'search', 'tel', 'text', 'time', 'url', 'week'],
14
+ };
15
+ export class FormInputComponent {
16
+ label;
17
+ min = 'none';
18
+ max = 'none';
19
+ labelPlacement;
20
+ placeholder;
21
+ inputmode;
22
+ autoCapitalize;
23
+ type;
24
+ noClearButton;
25
+ control;
26
+ textCenter;
27
+ maxLength;
28
+ greyBackground;
29
+ value;
30
+ valueChange = new EventEmitter();
31
+ inputLabelPlacement;
32
+ localInputMode;
33
+ inputClear = false;
34
+ inputTextCenter = false;
35
+ inputType;
36
+ inputAutoCapitalize;
37
+ inputGreyBackground = false;
38
+ ngOnChanges(changes) {
39
+ this.inputLabelPlacement =
40
+ validateStringValue(changes, 'labelPlacement', inputsC.labelPlacement.slice(), this.inputLabelPlacement) || 'floating';
41
+ this.localInputMode =
42
+ validateStringValue(changes, 'inputmode', inputsC.inputMode.slice(), this.localInputMode) || 'text';
43
+ this.inputClear = checkTruthAttribute(changes, 'noClearButton', this.inputClear);
44
+ this.inputTextCenter = checkTruthAttribute(changes, 'textCenter', this.inputTextCenter);
45
+ this.inputType = validateStringValue(changes, 'type', inputsC.type.slice(), this.inputType) || 'text';
46
+ this.inputAutoCapitalize =
47
+ validateStringValue(changes, 'autoCapitalize', inputsC.autoCapitalize.slice(), this.inputAutoCapitalize) || 'none';
48
+ this.inputGreyBackground = checkTruthAttribute(changes, 'greyBackground', this.inputGreyBackground);
49
+ }
50
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: FormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
51
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: FormInputComponent, selector: "cf-form-input", inputs: { label: "label", min: "min", max: "max", labelPlacement: "labelPlacement", placeholder: "placeholder", inputmode: "inputmode", autoCapitalize: "autoCapitalize", type: "type", noClearButton: "noClearButton", control: "control", textCenter: "textCenter", maxLength: "maxLength", greyBackground: "greyBackground", value: "value" }, outputs: { valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<!-- ngModel -->\n<ion-input\n *ngIf=\"!control\"\n [ngClass]=\"{ 'text-center': inputTextCenter, 'grey-background': inputGreyBackground }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"!inputClear\"\n [autocapitalize]=\"autoCapitalize\"\n mode=\"md\"\n [inputmode]=\"localInputMode\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxLength || null\"\n [type]=\"type\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\"\n [value]=\"value\"></ion-input>\n<!-- Form Control -->\n<ion-input\n *ngIf=\"control\"\n [ngClass]=\"{ 'text-center': inputTextCenter, 'grey-background': inputGreyBackground }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"!inputClear\"\n [autocapitalize]=\"autoCapitalize\"\n mode=\"md\"\n [inputmode]=\"localInputMode\"\n [formControl]=\"control\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxLength || null\"\n [type]=\"type\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\"></ion-input>\n<cf-form-validation *ngIf=\"control\" [control]=\"control\"></cf-form-validation>\n", styles: ["ion-input{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start;--border-radius: 8px !important;--highlight-color-focused: var(--cf-app-color-primary);--highlight-color-invalid: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-color-primary)}ion-input.text-center{text-align:center}ion-input.grey-background{--background: var(--cf-app-system-color-outline)}\n"], dependencies: [{ kind: "component", type: i1.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "legacy", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "directive", type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar,ion-range" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.FormValidationComponent, selector: "cf-form-validation", inputs: ["control"] }] });
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: FormInputComponent, decorators: [{
54
+ type: Component,
55
+ args: [{ selector: 'cf-form-input', template: "<!-- ngModel -->\n<ion-input\n *ngIf=\"!control\"\n [ngClass]=\"{ 'text-center': inputTextCenter, 'grey-background': inputGreyBackground }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"!inputClear\"\n [autocapitalize]=\"autoCapitalize\"\n mode=\"md\"\n [inputmode]=\"localInputMode\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxLength || null\"\n [type]=\"type\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\"\n [value]=\"value\"></ion-input>\n<!-- Form Control -->\n<ion-input\n *ngIf=\"control\"\n [ngClass]=\"{ 'text-center': inputTextCenter, 'grey-background': inputGreyBackground }\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n [clearInput]=\"!inputClear\"\n [autocapitalize]=\"autoCapitalize\"\n mode=\"md\"\n [inputmode]=\"localInputMode\"\n [formControl]=\"control\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxLength || null\"\n [type]=\"type\"\n (ionInput)=\"valueChange.emit($event.detail.value ?? undefined)\"></ion-input>\n<cf-form-validation *ngIf=\"control\" [control]=\"control\"></cf-form-validation>\n", styles: ["ion-input{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start;--border-radius: 8px !important;--highlight-color-focused: var(--cf-app-color-primary);--highlight-color-invalid: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-color-primary)}ion-input.text-center{text-align:center}ion-input.grey-background{--background: var(--cf-app-system-color-outline)}\n"] }]
56
+ }], propDecorators: { label: [{
57
+ type: Input
58
+ }], min: [{
59
+ type: Input
60
+ }], max: [{
61
+ type: Input
62
+ }], labelPlacement: [{
63
+ type: Input
64
+ }], placeholder: [{
65
+ type: Input
66
+ }], inputmode: [{
67
+ type: Input
68
+ }], autoCapitalize: [{
69
+ type: Input
70
+ }], type: [{
71
+ type: Input
72
+ }], noClearButton: [{
73
+ type: Input
74
+ }], control: [{
75
+ type: Input
76
+ }], textCenter: [{
77
+ type: Input
78
+ }], maxLength: [{
79
+ type: Input
80
+ }], greyBackground: [{
81
+ type: Input
82
+ }], value: [{
83
+ type: Input
84
+ }], valueChange: [{
85
+ type: Output
86
+ }] } });
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXJlZmlyc3QvbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1pbnB1dC9mb3JtLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWlucHV0L2Zvcm0taW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFzQyxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0csT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7QUFNdEYsTUFBTSxPQUFPLEdBQUc7SUFDZCxjQUFjLEVBQUUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDO0lBQ2hFLFNBQVMsRUFBRSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQztJQUMxRSxjQUFjLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFlBQVksQ0FBQztJQUN6RSxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDO0NBQ2hILENBQUM7QUFPWCxNQUFNLE9BQU8sa0JBQWtCO0lBQ3BCLEtBQUssQ0FBVTtJQUNmLEdBQUcsR0FBb0IsTUFBTSxDQUFDO0lBQzlCLEdBQUcsR0FBb0IsTUFBTSxDQUFDO0lBQzlCLGNBQWMsQ0FBMkM7SUFDekQsV0FBVyxDQUFzQjtJQUNqQyxTQUFTLENBQXNDO0lBQy9DLGNBQWMsQ0FBMkM7SUFDekQsSUFBSSxDQUFpQztJQUNyQyxhQUFhLENBQWdDO0lBQzdDLE9BQU8sQ0FBc0I7SUFDN0IsVUFBVSxDQUFnQztJQUMxQyxTQUFTLENBQW1CO0lBQzVCLGNBQWMsQ0FBZ0M7SUFHOUMsS0FBSyxDQUFxQjtJQUN6QixXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7SUFHOUQsbUJBQW1CLENBQTZCO0lBQ2hELGNBQWMsQ0FBd0I7SUFDdEMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUNuQixlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLFNBQVMsQ0FBbUI7SUFDNUIsbUJBQW1CLENBQTZCO0lBQ2hELG1CQUFtQixHQUFHLEtBQUssQ0FBQztJQU81QixXQUFXLENBQUMsT0FBc0I7UUFFaEMsSUFBSSxDQUFDLG1CQUFtQjtZQUN0QixtQkFBbUIsQ0FDakIsT0FBTyxFQUNQLGdCQUFnQixFQUNoQixPQUFPLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxFQUM5QixJQUFJLENBQUMsbUJBQW1CLENBQ3pCLElBQUksVUFBVSxDQUFDO1FBRWxCLElBQUksQ0FBQyxjQUFjO1lBQ2pCLG1CQUFtQixDQUFxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLE1BQU0sQ0FBQztRQUUxSSxJQUFJLENBQUMsVUFBVSxHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWpGLElBQUksQ0FBQyxlQUFlLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFeEYsSUFBSSxDQUFDLFNBQVMsR0FBRyxtQkFBbUIsQ0FBZ0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxNQUFNLENBQUM7UUFFckksSUFBSSxDQUFDLG1CQUFtQjtZQUN0QixtQkFBbUIsQ0FDakIsT0FBTyxFQUNQLGdCQUFnQixFQUNoQixPQUFPLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxFQUM5QixJQUFJLENBQUMsbUJBQW1CLENBQ3pCLElBQUksTUFBTSxDQUFDO1FBRWQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN0RyxDQUFDO3VHQTdEVSxrQkFBa0I7MkZBQWxCLGtCQUFrQixxY0NoQy9CLCt0Q0FxQ0E7OzJGRExhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxlQUFlOzhCQUtoQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ2FyZWZpcnN0IExpYnJhcnkgRm9ybSBJbnB1dFxuICpcbiAqIEBmaWxlICAgICAgICAgIGZvcm0taW5wdXQuY29tcG9uZW50XG4gKiBAZGVzY3JpcHRpb24gICBDb250YWlucyBhbGwgdGhlIGxvZ2ljIGZvciBnZW5lcmF0aW5nIGEgQ2FyZUZpcnN0IEZvcm0gSW5wdXQgRmllbGRcbiAqIEBhdXRob3IgICAgICAgIEFybm8gSmFuc2VuIHZhbiBWdXVyZW5cbiAqIEBzaW5jZSAgICAgICAgIDIwMjMgLSAxMiAtIDE0XG4gKiBAdXNhZ2UgICAgICAgICA8Y2YtZm9ybS1pbnB1dCBsYWJlbD1cIkxhYmVsIE5hbWVcIiAlbGFiZWxQbGFjZW1lbnQlICVpbnB1dE1vZGUlICVub0NsZWFyQnV0dG9uJSAldGV4dENlbnRlciUgJW1pbiUgJW1heCUgJWF1dG9DYXBpdGFsaXplJSAldHlwZSUgJVsodmFsdWUpXT1cInR3b1dheUNvbXNcIiUgJSh2YWx1ZUNoYW5nZSk9XCJjdXJyZW50VmFsdWVFdmVudFwiJSAlW2NvbnRyb2xdJT1cImZvcm1OYW1lLmNvbnRyb2xzLmNvbnRyb2xOYW1lXCI+PC9jZi1mb3JtLWlucHV0PlxuICogICAgICAgICAgICAgICAgZGlzYWJsZSBpbnB1dCBieSBkaXNhYmxpbmcgdGhlIGZvcm0gY29udHJvbFxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgdHlwZSBPbkNoYW5nZXMsIHR5cGUgU2ltcGxlQ2hhbmdlcywgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbi8vLS0tIFV0aWxzXG5pbXBvcnQgeyBjaGVja1RydXRoQXR0cmlidXRlLCB2YWxpZGF0ZVN0cmluZ1ZhbHVlIH0gZnJvbSAnLi4vLi4vdXRpbHMvYXR0cmlidXRlLnV0aWwnO1xuXG4vKio9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBAaW50ZXJmYWNlICAgICBpbnB1dHNDXG4gKiBAZGVzY3JpcHRpb24gICBEZWZpbmUgYXZhaWxhYmxlIGlucHV0IHZhbHVlc1xuICovXG5jb25zdCBpbnB1dHNDID0ge1xuICBsYWJlbFBsYWNlbWVudDogWydmaXhlZCcsICdmbG9hdGluZycsICdzdGFja2VkJywgJ3N0YXJ0JywgJ2VuZCddLFxuICBpbnB1dE1vZGU6IFsndGV4dCcsICdlbWFpbCcsICdudW1lcmljJywgJ3RlbCcsICdkZWNpbWFsJywgJ3VybCcsICdzZWFyY2gnXSxcbiAgYXV0b0NhcGl0YWxpemU6IFsnb2ZmJywgJ25vbmUnLCAnb24nLCAnc2VudGVuY2VzJywgJ3dvcmRzJywgJ2NoYXJhY3RlcnMnXSxcbiAgdHlwZTogWydkYXRlJywgJ2RhdGV0aW1lLWxvY2FsJywgJ2VtYWlsJywgJ21vbnRoJywgJ251bWJlcicsICdwYXNzd29yZCcsICdzZWFyY2gnLCAndGVsJywgJ3RleHQnLCAndGltZScsICd1cmwnLCAnd2VlayddLFxufSBhcyBjb25zdDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2YtZm9ybS1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2Zvcm0taW5wdXQuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBsYWJlbCE6IHN0cmluZztcbiAgQElucHV0KCkgbWluOiBudW1iZXIgfCBzdHJpbmcgPSAnbm9uZSc7XG4gIEBJbnB1dCgpIG1heDogbnVtYmVyIHwgc3RyaW5nID0gJ25vbmUnO1xuICBASW5wdXQoKSBsYWJlbFBsYWNlbWVudD86ICh0eXBlb2YgaW5wdXRzQy5sYWJlbFBsYWNlbWVudClbbnVtYmVyXTtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGlucHV0bW9kZT86ICh0eXBlb2YgaW5wdXRzQy5pbnB1dE1vZGUpW251bWJlcl07XG4gIEBJbnB1dCgpIGF1dG9DYXBpdGFsaXplPzogKHR5cGVvZiBpbnB1dHNDLmF1dG9DYXBpdGFsaXplKVtudW1iZXJdO1xuICBASW5wdXQoKSB0eXBlPzogKHR5cGVvZiBpbnB1dHNDLnR5cGUpW251bWJlcl07XG4gIEBJbnB1dCgpIG5vQ2xlYXJCdXR0b24/OiBib29sZWFuIHwgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBjb250cm9sPzogRm9ybUNvbnRyb2wgfCBudWxsO1xuICBASW5wdXQoKSB0ZXh0Q2VudGVyPzogYm9vbGVhbiB8IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgbWF4TGVuZ3RoPzogbnVtYmVyIHwgc3RyaW5nO1xuICBASW5wdXQoKSBncmV5QmFja2dyb3VuZD86IGJvb2xlYW4gfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLy8tLS0gbmdNb2RlbFxuICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHR5cGVvZiB0aGlzLnZhbHVlPigpO1xuXG4gIC8vLS0tIExvY2FsIHZhcmlhYmxlc1xuICBpbnB1dExhYmVsUGxhY2VtZW50OiB0eXBlb2YgdGhpcy5sYWJlbFBsYWNlbWVudDtcbiAgbG9jYWxJbnB1dE1vZGU6IHR5cGVvZiB0aGlzLmlucHV0bW9kZTtcbiAgaW5wdXRDbGVhciA9IGZhbHNlO1xuICBpbnB1dFRleHRDZW50ZXIgPSBmYWxzZTtcbiAgaW5wdXRUeXBlOiB0eXBlb2YgdGhpcy50eXBlO1xuICBpbnB1dEF1dG9DYXBpdGFsaXplOiB0eXBlb2YgdGhpcy5hdXRvQ2FwaXRhbGl6ZTtcbiAgaW5wdXRHcmV5QmFja2dyb3VuZCA9IGZhbHNlO1xuXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQG5hbWUgICAgICAgICAgbmdPbkNoYW5nZXNcbiAgICogQGRlc2NyaXB0aW9uICAgRGV0ZWN0IGNoYW5nZXMgdG8gaW5wdXQgdmFsdWVzXG4gICAqIEBwYXJhbSAgICAgICAgIHtTaW1wbGVDaGFuZ2VzfSBjaGFuZ2VzXG4gICAqL1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgLy8tLS0gTGFiZWwgUGxhY2VtZW50XG4gICAgdGhpcy5pbnB1dExhYmVsUGxhY2VtZW50ID1cbiAgICAgIHZhbGlkYXRlU3RyaW5nVmFsdWU8KHR5cGVvZiBpbnB1dHNDLmxhYmVsUGxhY2VtZW50KVtudW1iZXJdPihcbiAgICAgICAgY2hhbmdlcyxcbiAgICAgICAgJ2xhYmVsUGxhY2VtZW50JyxcbiAgICAgICAgaW5wdXRzQy5sYWJlbFBsYWNlbWVudC5zbGljZSgpLFxuICAgICAgICB0aGlzLmlucHV0TGFiZWxQbGFjZW1lbnRcbiAgICAgICkgfHwgJ2Zsb2F0aW5nJztcbiAgICAvLy0tLSBJbnB1dCBUeXBlIChrZXlib2FyZClcbiAgICB0aGlzLmxvY2FsSW5wdXRNb2RlID1cbiAgICAgIHZhbGlkYXRlU3RyaW5nVmFsdWU8KHR5cGVvZiBpbnB1dHNDLmlucHV0TW9kZSlbbnVtYmVyXT4oY2hhbmdlcywgJ2lucHV0bW9kZScsIGlucHV0c0MuaW5wdXRNb2RlLnNsaWNlKCksIHRoaXMubG9jYWxJbnB1dE1vZGUpIHx8ICd0ZXh0JztcbiAgICAvLy0tLSBDbGVhciBCdXR0b25cbiAgICB0aGlzLmlucHV0Q2xlYXIgPSBjaGVja1RydXRoQXR0cmlidXRlKGNoYW5nZXMsICdub0NsZWFyQnV0dG9uJywgdGhpcy5pbnB1dENsZWFyKTtcbiAgICAvLy0tLSBUZXh0IENlbnRlclxuICAgIHRoaXMuaW5wdXRUZXh0Q2VudGVyID0gY2hlY2tUcnV0aEF0dHJpYnV0ZShjaGFuZ2VzLCAndGV4dENlbnRlcicsIHRoaXMuaW5wdXRUZXh0Q2VudGVyKTtcbiAgICAvLy0tLSBUeXBlXG4gICAgdGhpcy5pbnB1dFR5cGUgPSB2YWxpZGF0ZVN0cmluZ1ZhbHVlPCh0eXBlb2YgaW5wdXRzQy50eXBlKVtudW1iZXJdPihjaGFuZ2VzLCAndHlwZScsIGlucHV0c0MudHlwZS5zbGljZSgpLCB0aGlzLmlucHV0VHlwZSkgfHwgJ3RleHQnO1xuICAgIC8vLS0tIEF1dG8gQ2FwaXRhbGl6ZVxuICAgIHRoaXMuaW5wdXRBdXRvQ2FwaXRhbGl6ZSA9XG4gICAgICB2YWxpZGF0ZVN0cmluZ1ZhbHVlPCh0eXBlb2YgaW5wdXRzQy5hdXRvQ2FwaXRhbGl6ZSlbbnVtYmVyXT4oXG4gICAgICAgIGNoYW5nZXMsXG4gICAgICAgICdhdXRvQ2FwaXRhbGl6ZScsXG4gICAgICAgIGlucHV0c0MuYXV0b0NhcGl0YWxpemUuc2xpY2UoKSxcbiAgICAgICAgdGhpcy5pbnB1dEF1dG9DYXBpdGFsaXplXG4gICAgICApIHx8ICdub25lJztcbiAgICAvLy0tLSBHcmV5IEJhY2tncm91bmRcbiAgICB0aGlzLmlucHV0R3JleUJhY2tncm91bmQgPSBjaGVja1RydXRoQXR0cmlidXRlKGNoYW5nZXMsICdncmV5QmFja2dyb3VuZCcsIHRoaXMuaW5wdXRHcmV5QmFja2dyb3VuZCk7XG4gIH1cbn1cbiIsIjwhLS0gbmdNb2RlbCAtLT5cbjxpb24taW5wdXRcbiAgKm5nSWY9XCIhY29udHJvbFwiXG4gIFtuZ0NsYXNzXT1cInsgJ3RleHQtY2VudGVyJzogaW5wdXRUZXh0Q2VudGVyLCAnZ3JleS1iYWNrZ3JvdW5kJzogaW5wdXRHcmV5QmFja2dyb3VuZCB9XCJcbiAgW2xhYmVsXT1cImxhYmVsXCJcbiAgW2xhYmVsUGxhY2VtZW50XT1cImlucHV0TGFiZWxQbGFjZW1lbnRcIlxuICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICBmaWxsPVwib3V0bGluZVwiXG4gIFtjbGVhcklucHV0XT1cIiFpbnB1dENsZWFyXCJcbiAgW2F1dG9jYXBpdGFsaXplXT1cImF1dG9DYXBpdGFsaXplXCJcbiAgbW9kZT1cIm1kXCJcbiAgW2lucHV0bW9kZV09XCJsb2NhbElucHV0TW9kZVwiXG4gIFttaW5dPVwibWluXCJcbiAgW21heF09XCJtYXhcIlxuICBbbWF4bGVuZ3RoXT1cIm1heExlbmd0aCB8fCBudWxsXCJcbiAgW3R5cGVdPVwidHlwZVwiXG4gIChpb25JbnB1dCk9XCJ2YWx1ZUNoYW5nZS5lbWl0KCRldmVudC5kZXRhaWwudmFsdWUgPz8gdW5kZWZpbmVkKVwiXG4gIFt2YWx1ZV09XCJ2YWx1ZVwiPjwvaW9uLWlucHV0PlxuPCEtLSBGb3JtIENvbnRyb2wgLS0+XG48aW9uLWlucHV0XG4gICpuZ0lmPVwiY29udHJvbFwiXG4gIFtuZ0NsYXNzXT1cInsgJ3RleHQtY2VudGVyJzogaW5wdXRUZXh0Q2VudGVyLCAnZ3JleS1iYWNrZ3JvdW5kJzogaW5wdXRHcmV5QmFja2dyb3VuZCB9XCJcbiAgW2xhYmVsXT1cImxhYmVsXCJcbiAgW2xhYmVsUGxhY2VtZW50XT1cImlucHV0TGFiZWxQbGFjZW1lbnRcIlxuICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICBmaWxsPVwib3V0bGluZVwiXG4gIFtjbGVhcklucHV0XT1cIiFpbnB1dENsZWFyXCJcbiAgW2F1dG9jYXBpdGFsaXplXT1cImF1dG9DYXBpdGFsaXplXCJcbiAgbW9kZT1cIm1kXCJcbiAgW2lucHV0bW9kZV09XCJsb2NhbElucHV0TW9kZVwiXG4gIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcbiAgW21pbl09XCJtaW5cIlxuICBbbWF4XT1cIm1heFwiXG4gIFttYXhsZW5ndGhdPVwibWF4TGVuZ3RoIHx8IG51bGxcIlxuICBbdHlwZV09XCJ0eXBlXCJcbiAgKGlvbklucHV0KT1cInZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50LmRldGFpbC52YWx1ZSA/PyB1bmRlZmluZWQpXCI+PC9pb24taW5wdXQ+XG48Y2YtZm9ybS12YWxpZGF0aW9uICpuZ0lmPVwiY29udHJvbFwiIFtjb250cm9sXT1cImNvbnRyb2xcIj48L2NmLWZvcm0tdmFsaWRhdGlvbj5cbiJdfQ==
@@ -0,0 +1,46 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { FormControl } from '@angular/forms';
3
+ import { validateStringValue } from '../../utils/attribute.util';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@ionic/angular";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "@angular/forms";
8
+ import * as i4 from "../form-validation/form-validation.component";
9
+ const inputSelectC = {
10
+ labelPlacement: ['fixed', 'floating', 'stacked', 'start', 'end'],
11
+ };
12
+ export class FormInputSelectComponent {
13
+ label;
14
+ options;
15
+ labelPlacement;
16
+ placeholder;
17
+ control;
18
+ value;
19
+ valueChange = new EventEmitter();
20
+ inputLabelPlacement;
21
+ ngOnChanges(changes) {
22
+ this.inputLabelPlacement =
23
+ validateStringValue(changes, 'labelPlacement', inputSelectC.labelPlacement.slice(), this.inputLabelPlacement) || 'floating';
24
+ }
25
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: FormInputSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
26
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: FormInputSelectComponent, selector: "cf-form-input-select", inputs: { label: "label", options: "options", labelPlacement: "labelPlacement", placeholder: "placeholder", control: "control", value: "value" }, outputs: { valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<!-- ngModel -->\n<ion-select\n *ngIf=\"!control\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n mode=\"md\"\n interface=\"popover\"\n (ionChange)=\"valueChange.emit($event.detail.value ?? undefined)\"\n [value]=\"value\">\n <ion-select-option *ngFor=\"let option of options\" [value]=\"option.value\">{{ option.displayName }}</ion-select-option>\n</ion-select>\n<!-- Form Control -->\n<ion-select\n *ngIf=\"control\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n mode=\"md\"\n interface=\"popover\"\n [formControl]=\"control\"\n (ionChange)=\"valueChange.emit($event.detail.value ?? undefined)\">\n <ion-select-option *ngFor=\"let option of options\" [value]=\"option.value\">{{ option.displayName }}</ion-select-option>\n</ion-select>\n<cf-form-validation *ngIf=\"control\" [control]=\"control\"></cf-form-validation>\n", styles: ["ion-select{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start;--border-radius: 8px !important;--highlight-color-focused: var(--cf-app-color-primary);--highlight-color-invalid: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-color-primary)}::ng-deep ion-select-popover ion-list[class*=popover]{background:var(--cf-app-background-light)}::ng-deep ion-select-popover ion-list[class*=popover] ion-item[class*=popover]{--background: transparent;--border-radius: 8px;--background-focused: var(--cf-app-color-accent);--background-focused-opacity: .5;--background-hover: var(--cf-app-color-primary);--background-hover-opacity: .1;padding:4px}::ng-deep ion-select-popover ion-list[class*=popover] ion-item[class*=popover] ion-radio{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start}\n"], dependencies: [{ kind: "component", type: i1.IonSelect, selector: "ion-select", inputs: ["cancelText", "color", "compareWith", "disabled", "expandedIcon", "fill", "interface", "interfaceOptions", "justify", "label", "labelPlacement", "legacy", "mode", "multiple", "name", "okText", "placeholder", "selectedText", "shape", "toggleIcon", "value"] }, { kind: "component", type: i1.IonSelectOption, selector: "ion-select-option", inputs: ["disabled", "value"] }, { kind: "directive", type: i1.SelectValueAccessor, selector: "ion-select, ion-radio-group, ion-segment, ion-datetime" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.FormValidationComponent, selector: "cf-form-validation", inputs: ["control"] }] });
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: FormInputSelectComponent, decorators: [{
29
+ type: Component,
30
+ args: [{ selector: 'cf-form-input-select', template: "<!-- ngModel -->\n<ion-select\n *ngIf=\"!control\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n mode=\"md\"\n interface=\"popover\"\n (ionChange)=\"valueChange.emit($event.detail.value ?? undefined)\"\n [value]=\"value\">\n <ion-select-option *ngFor=\"let option of options\" [value]=\"option.value\">{{ option.displayName }}</ion-select-option>\n</ion-select>\n<!-- Form Control -->\n<ion-select\n *ngIf=\"control\"\n [label]=\"label\"\n [labelPlacement]=\"inputLabelPlacement\"\n [placeholder]=\"placeholder\"\n fill=\"outline\"\n mode=\"md\"\n interface=\"popover\"\n [formControl]=\"control\"\n (ionChange)=\"valueChange.emit($event.detail.value ?? undefined)\">\n <ion-select-option *ngFor=\"let option of options\" [value]=\"option.value\">{{ option.displayName }}</ion-select-option>\n</ion-select>\n<cf-form-validation *ngIf=\"control\" [control]=\"control\"></cf-form-validation>\n", styles: ["ion-select{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start;--border-radius: 8px !important;--highlight-color-focused: var(--cf-app-color-primary);--highlight-color-invalid: var(--cf-app-system-color-error);--highlight-color-valid: var(--cf-app-color-primary)}::ng-deep ion-select-popover ion-list[class*=popover]{background:var(--cf-app-background-light)}::ng-deep ion-select-popover ion-list[class*=popover] ion-item[class*=popover]{--background: transparent;--border-radius: 8px;--background-focused: var(--cf-app-color-accent);--background-focused-opacity: .5;--background-hover: var(--cf-app-color-primary);--background-hover-opacity: .1;padding:4px}::ng-deep ion-select-popover ion-list[class*=popover] ion-item[class*=popover] ion-radio{font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:1.6rem;color:var(--cf-app-text-color-default);text-align:start}\n"] }]
31
+ }], propDecorators: { label: [{
32
+ type: Input
33
+ }], options: [{
34
+ type: Input
35
+ }], labelPlacement: [{
36
+ type: Input
37
+ }], placeholder: [{
38
+ type: Input
39
+ }], control: [{
40
+ type: Input
41
+ }], value: [{
42
+ type: Input
43
+ }], valueChange: [{
44
+ type: Output
45
+ }] } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbnB1dC1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2FyZWZpcnN0L2xpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0taW5wdXQtc2VsZWN0L2Zvcm0taW5wdXQtc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWlucHV0LXNlbGVjdC9mb3JtLWlucHV0LXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFzQyxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7OztBQVFqRSxNQUFNLFlBQVksR0FBRztJQUNuQixjQUFjLEVBQUUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDO0NBQ3hELENBQUM7QUFPWCxNQUFNLE9BQU8sd0JBQXdCO0lBQzFCLEtBQUssQ0FBVTtJQUNmLE9BQU8sQ0FBZ0M7SUFDdkMsY0FBYyxDQUFnRDtJQUM5RCxXQUFXLENBQXNCO0lBQ2pDLE9BQU8sQ0FBc0I7SUFHN0IsS0FBSyxDQUFrRDtJQUN0RCxXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7SUFHOUQsbUJBQW1CLENBQTZCO0lBT2hELFdBQVcsQ0FBQyxPQUFzQjtRQUVoQyxJQUFJLENBQUMsbUJBQW1CO1lBQ3RCLG1CQUFtQixDQUNqQixPQUFPLEVBQ1AsZ0JBQWdCLEVBQ2hCLFlBQVksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLEVBQ25DLElBQUksQ0FBQyxtQkFBbUIsQ0FDekIsSUFBSSxVQUFVLENBQUM7SUFDcEIsQ0FBQzt1R0E1QlUsd0JBQXdCOzJGQUF4Qix3QkFBd0IsNFFDL0JyQyx1OUJBMkJBOzsyRkRJYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0Usc0JBQXNCOzhCQUt2QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENhcmVmaXJzdCBMaWJyYXJ5IEZvcm0gSW5wdXQgU2VsZWN0XG4gKlxuICogQGZpbGUgICAgICAgICAgZm9ybS1pbnB1dC1zZWxlY3QuY29tcG9uZW50XG4gKiBAZGVzY3JpcHRpb24gICBDb250YWlucyBhbGwgdGhlIGxvZ2ljIGZvciBnZW5lcmF0aW5nIGEgQ2FyZUZpcnN0IFNlbGVjdFxuICogQGF1dGhvciAgICAgICAgQXJubyBKYW5zZW4gdmFuIFZ1dXJlblxuICogQHNpbmNlICAgICAgICAgMjAyMyAtIDEyIC0gMTRcbiAqIEB1c2FnZSAgICAgICAgIDxjZi1mb3JtLWlucHV0LXNlbGVjdCBsYWJlbD1cIkxhYmVsIE5hbWVcIiBbb3B0aW9uc109XCJbeyBkaXNwbGF5TmFtZTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQgfV1cIiAlbGFiZWxQbGFjZW1lbnQlICUodmFsdWVDaGFuZ2UpPVwiY3VycmVudFZhbHVlXCIlICVbKHZhbHVlKV09XCJ0d29XYXlDb21zXCIlICVbY29udHJvbF0lPVwiZm9ybU5hbWUuY29udHJvbHMuY29udHJvbE5hbWVcIj48L2NmLWZvcm0taW5wdXQtc2VsZWN0PlxuICogICAgICAgICAgICAgICAgZGlzYWJsZSBpbnB1dCBieSBkaXNhYmxpbmcgdGhlIGZvcm0gY29udHJvbFxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCB0eXBlIE9uQ2hhbmdlcywgdHlwZSBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbi8vLS0tIFV0aWxzXG5pbXBvcnQgeyB2YWxpZGF0ZVN0cmluZ1ZhbHVlIH0gZnJvbSAnLi4vLi4vdXRpbHMvYXR0cmlidXRlLnV0aWwnO1xuLy8tLS0gSW50ZXJmYWNlc1xuaW1wb3J0IHR5cGUgeyBGb3JtSW5wdXRTZWxlY3RPcHRpb25zSSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaW5wdXQuaW50ZXJmYWNlJztcblxuLyoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQGludGVyZmFjZSAgICAgaW5wdXRTZWxlY3RDXG4gKiBAZGVzY3JpcHRpb24gICBEZWZpbmUgYXZhaWxhYmxlIGlucHV0IHNlbGVjdCB2YWx1ZXNcbiAqL1xuY29uc3QgaW5wdXRTZWxlY3RDID0ge1xuICBsYWJlbFBsYWNlbWVudDogWydmaXhlZCcsICdmbG9hdGluZycsICdzdGFja2VkJywgJ3N0YXJ0JywgJ2VuZCddLFxufSBhcyBjb25zdDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2YtZm9ybS1pbnB1dC1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1pbnB1dC1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZm9ybS1pbnB1dC1zZWxlY3QuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtSW5wdXRTZWxlY3RDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBsYWJlbCE6IHN0cmluZztcbiAgQElucHV0KCkgb3B0aW9ucyE6IEZvcm1JbnB1dFNlbGVjdE9wdGlvbnNJPFQ+W107XG4gIEBJbnB1dCgpIGxhYmVsUGxhY2VtZW50PzogKHR5cGVvZiBpbnB1dFNlbGVjdEMubGFiZWxQbGFjZW1lbnQpW251bWJlcl07XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBjb250cm9sPzogRm9ybUNvbnRyb2wgfCBudWxsO1xuXG4gIC8vLS0tIG5nTW9kZWxcbiAgQElucHV0KCkgdmFsdWU6IEZvcm1JbnB1dFNlbGVjdE9wdGlvbnNJPFQ+Wyd2YWx1ZSddIHwgdW5kZWZpbmVkO1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHR5cGVvZiB0aGlzLnZhbHVlPigpO1xuXG4gIC8vLS0tIExvY2FsIHZhcmlhYmxlc1xuICBpbnB1dExhYmVsUGxhY2VtZW50OiB0eXBlb2YgdGhpcy5sYWJlbFBsYWNlbWVudDtcblxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIEBuYW1lICAgICAgICAgIG5nT25DaGFuZ2VzXG4gICAqIEBkZXNjcmlwdGlvbiAgIERldGVjdCBjaGFuZ2VzIHRvIGlucHV0IHZhbHVlc1xuICAgKiBAcGFyYW0gICAgICAgICB7U2ltcGxlQ2hhbmdlc30gY2hhbmdlc1xuICAgKi9cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIC8vLS0tIExhYmVsIFBsYWNlbWVudFxuICAgIHRoaXMuaW5wdXRMYWJlbFBsYWNlbWVudCA9XG4gICAgICB2YWxpZGF0ZVN0cmluZ1ZhbHVlPCh0eXBlb2YgaW5wdXRTZWxlY3RDLmxhYmVsUGxhY2VtZW50KVtudW1iZXJdPihcbiAgICAgICAgY2hhbmdlcyxcbiAgICAgICAgJ2xhYmVsUGxhY2VtZW50JyxcbiAgICAgICAgaW5wdXRTZWxlY3RDLmxhYmVsUGxhY2VtZW50LnNsaWNlKCksXG4gICAgICAgIHRoaXMuaW5wdXRMYWJlbFBsYWNlbWVudFxuICAgICAgKSB8fCAnZmxvYXRpbmcnO1xuICB9XG59XG4iLCI8IS0tIG5nTW9kZWwgLS0+XG48aW9uLXNlbGVjdFxuICAqbmdJZj1cIiFjb250cm9sXCJcbiAgW2xhYmVsXT1cImxhYmVsXCJcbiAgW2xhYmVsUGxhY2VtZW50XT1cImlucHV0TGFiZWxQbGFjZW1lbnRcIlxuICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICBmaWxsPVwib3V0bGluZVwiXG4gIG1vZGU9XCJtZFwiXG4gIGludGVyZmFjZT1cInBvcG92ZXJcIlxuICAoaW9uQ2hhbmdlKT1cInZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50LmRldGFpbC52YWx1ZSA/PyB1bmRlZmluZWQpXCJcbiAgW3ZhbHVlXT1cInZhbHVlXCI+XG4gIDxpb24tc2VsZWN0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNcIiBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCI+e3sgb3B0aW9uLmRpc3BsYXlOYW1lIH19PC9pb24tc2VsZWN0LW9wdGlvbj5cbjwvaW9uLXNlbGVjdD5cbjwhLS0gRm9ybSBDb250cm9sIC0tPlxuPGlvbi1zZWxlY3RcbiAgKm5nSWY9XCJjb250cm9sXCJcbiAgW2xhYmVsXT1cImxhYmVsXCJcbiAgW2xhYmVsUGxhY2VtZW50XT1cImlucHV0TGFiZWxQbGFjZW1lbnRcIlxuICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICBmaWxsPVwib3V0bGluZVwiXG4gIG1vZGU9XCJtZFwiXG4gIGludGVyZmFjZT1cInBvcG92ZXJcIlxuICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gIChpb25DaGFuZ2UpPVwidmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQuZGV0YWlsLnZhbHVlID8/IHVuZGVmaW5lZClcIj5cbiAgPGlvbi1zZWxlY3Qtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIj57eyBvcHRpb24uZGlzcGxheU5hbWUgfX08L2lvbi1zZWxlY3Qtb3B0aW9uPlxuPC9pb24tc2VsZWN0PlxuPGNmLWZvcm0tdmFsaWRhdGlvbiAqbmdJZj1cImNvbnRyb2xcIiBbY29udHJvbF09XCJjb250cm9sXCI+PC9jZi1mb3JtLXZhbGlkYXRpb24+XG4iXX0=