@carefirst/library 4.8.0 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/carefirst-library.mjs +1264 -508
- package/fesm2022/carefirst-library.mjs.map +1 -1
- package/index.d.ts +1045 -2
- package/package.json +5 -7
- package/public/interfaces/carefirst.shared.interfaces.ts +6 -5
- package/public/styles/app.scss +5 -3
- package/public/styles/font.scss +4 -2
- package/public/styles/index.scss +6 -6
- package/esm2022/carefirst-library.mjs +0 -2
- package/esm2022/lib/components/alert/alert.component.mjs +0 -55
- package/esm2022/lib/components/badge/badge.component.mjs +0 -49
- package/esm2022/lib/components/button/button.component.mjs +0 -101
- package/esm2022/lib/components/calendar/calendar.component.mjs +0 -39
- package/esm2022/lib/components/chat-bubble/chat-bubble.component.mjs +0 -38
- package/esm2022/lib/components/form-input/form-input.component.mjs +0 -101
- package/esm2022/lib/components/form-input-currency/form-input-currency.component.mjs +0 -82
- package/esm2022/lib/components/form-input-search/form-input-search.component.mjs +0 -67
- package/esm2022/lib/components/form-input-select/form-input-select.component.mjs +0 -49
- package/esm2022/lib/components/form-input-string-date/form-input-string-date.component.mjs +0 -84
- package/esm2022/lib/components/form-input-text-area/form-input-text-area.component.mjs +0 -64
- package/esm2022/lib/components/form-validation/form-validation.component.mjs +0 -23
- package/esm2022/lib/components/icon/icon.component.mjs +0 -38
- package/esm2022/lib/components/logo/logo.component.mjs +0 -26
- package/esm2022/lib/components/mix-p/mix-p.component.mjs +0 -41
- package/esm2022/lib/components/notification/notification.component.mjs +0 -49
- package/esm2022/lib/components/page/page.component.mjs +0 -69
- package/esm2022/lib/components/spacer/spacer.component.mjs +0 -30
- package/esm2022/lib/components/spinner/spinner.component.mjs +0 -19
- package/esm2022/lib/components/verification-code/verification-code.component.mjs +0 -150
- package/esm2022/lib/directives/button-loader.directive.mjs +0 -41
- package/esm2022/lib/interfaces/alert.interface.mjs +0 -2
- package/esm2022/lib/interfaces/badge.interface.mjs +0 -15
- package/esm2022/lib/interfaces/icon.interface.mjs +0 -79
- package/esm2022/lib/interfaces/input.interface.mjs +0 -2
- package/esm2022/lib/interfaces/internal.interface.mjs +0 -7
- package/esm2022/lib/interfaces/notification.interface.mjs +0 -2
- package/esm2022/lib/interfaces/spacer.interface.mjs +0 -2
- package/esm2022/lib/interfaces/verification-code.interface.mjs +0 -3
- package/esm2022/lib/library.module.mjs +0 -125
- package/esm2022/lib/utils/attribute.util.mjs +0 -34
- package/esm2022/lib/utils/form-validators-utility.mjs +0 -169
- package/esm2022/public-api.mjs +0 -31
- package/lib/components/alert/alert.component.d.ts +0 -18
- package/lib/components/badge/badge.component.d.ts +0 -20
- package/lib/components/button/button.component.d.ts +0 -35
- package/lib/components/calendar/calendar.component.d.ts +0 -15
- package/lib/components/chat-bubble/chat-bubble.component.d.ts +0 -15
- package/lib/components/form-input/form-input.component.d.ts +0 -36
- package/lib/components/form-input-currency/form-input-currency.component.d.ts +0 -25
- package/lib/components/form-input-search/form-input-search.component.d.ts +0 -26
- package/lib/components/form-input-select/form-input-select.component.d.ts +0 -22
- package/lib/components/form-input-string-date/form-input-string-date.component.d.ts +0 -24
- package/lib/components/form-input-text-area/form-input-text-area.component.d.ts +0 -28
- package/lib/components/form-validation/form-validation.component.d.ts +0 -10
- package/lib/components/icon/icon.component.d.ts +0 -16
- package/lib/components/logo/logo.component.d.ts +0 -11
- package/lib/components/mix-p/mix-p.component.d.ts +0 -16
- package/lib/components/notification/notification.component.d.ts +0 -16
- package/lib/components/page/page.component.d.ts +0 -28
- package/lib/components/spacer/spacer.component.d.ts +0 -14
- package/lib/components/spinner/spinner.component.d.ts +0 -9
- package/lib/components/verification-code/verification-code.component.d.ts +0 -35
- package/lib/directives/button-loader.directive.d.ts +0 -12
- package/lib/interfaces/alert.interface.d.ts +0 -18
- package/lib/interfaces/badge.interface.d.ts +0 -2
- package/lib/interfaces/icon.interface.d.ts +0 -4
- package/lib/interfaces/input.interface.d.ts +0 -4
- package/lib/interfaces/internal.interface.d.ts +0 -6
- package/lib/interfaces/notification.interface.d.ts +0 -14
- package/lib/interfaces/spacer.interface.d.ts +0 -3
- package/lib/interfaces/verification-code.interface.d.ts +0 -12
- package/lib/library.module.d.ts +0 -30
- package/lib/utils/attribute.util.d.ts +0 -4
- package/lib/utils/form-validators-utility.d.ts +0 -10
- package/public-api.d.ts +0 -30
package/package.json
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
{
|
2
2
|
"name": "@carefirst/library",
|
3
|
-
"version": "
|
3
|
+
"version": "5.0.0",
|
4
4
|
"author": "FCS Dev Team",
|
5
5
|
"private": false,
|
6
6
|
"peerDependencies": {
|
7
|
-
"@angular/common": "^
|
8
|
-
"@angular/core": "^
|
9
|
-
"@angular/forms": "^
|
10
|
-
"@angular/router": "^
|
7
|
+
"@angular/common": "^20.0.5",
|
8
|
+
"@angular/core": "^20.0.5",
|
9
|
+
"@angular/forms": "^20.0.5",
|
10
|
+
"@angular/router": "^20.0.5",
|
11
11
|
"@ionic/angular": "^8.4.1",
|
12
12
|
"dayjs": "^1.11.12",
|
13
13
|
"password-validator": "^5.3.0"
|
@@ -21,8 +21,6 @@
|
|
21
21
|
},
|
22
22
|
".": {
|
23
23
|
"types": "./index.d.ts",
|
24
|
-
"esm2022": "./esm2022/carefirst-library.mjs",
|
25
|
-
"esm": "./esm2022/carefirst-library.mjs",
|
26
24
|
"default": "./fesm2022/carefirst-library.mjs"
|
27
25
|
}
|
28
26
|
},
|
@@ -31,7 +31,7 @@ export const globalVariablesC = {
|
|
31
31
|
fileUploadExtensionTypeListC: ['csv', 'pdf', 'png', 'jpg', 'xlsx'],
|
32
32
|
//---<> Role check below is only temporary and may have to check profileType in the future
|
33
33
|
scorecardAvailableRolesC: ['CCO', 'PCM', 'Doctor', 'CA'],
|
34
|
-
|
34
|
+
|
35
35
|
//--- 0=Public Recipient; 1=Current (cheque/bond) account; 2=Savings account; 3=Transmission account; 4=Bond Account; 6=Subscription Share Account; D=eWallet Account (eWallet Pro); S=eWallet Account (Send Money); F=FNB Card Account; W=WesBank
|
36
36
|
fnbAccountTypesC: ['0', '1', '2', '3', '4', '6', 'D', 'S', 'F', 'W'],
|
37
37
|
} as const;
|
@@ -40,7 +40,7 @@ export const globalVariablesC = {
|
|
40
40
|
* @name GlobalTypesT
|
41
41
|
* @description Globally accessible types used throughout various parts
|
42
42
|
*/
|
43
|
-
export
|
43
|
+
export interface GlobalTypesT {
|
44
44
|
companyShortNamesT: (typeof globalVariablesC.companyShortNamesC)[number];
|
45
45
|
telemedSourceToBreakdownT: (typeof globalVariablesC.telemedSourceToBreakdownC)[number];
|
46
46
|
patientTriageT: (typeof globalVariablesC.patientTriageC)[number];
|
@@ -58,12 +58,13 @@ export type GlobalTypesT = {
|
|
58
58
|
fileUploadExtensionTypeListT: (typeof globalVariablesC.fileUploadExtensionTypeListC)[number];
|
59
59
|
scorecardAvailableRolesC: (typeof globalVariablesC.scorecardAvailableRolesC)[number];
|
60
60
|
fnbAccountTypesT: (typeof globalVariablesC.fnbAccountTypesC)[number];
|
61
|
-
}
|
61
|
+
}
|
62
62
|
|
63
63
|
/**==============================================
|
64
64
|
* @name AccessIdentifiersT
|
65
65
|
* @description Available identifiers as defined in DB
|
66
66
|
*/
|
67
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
67
68
|
const availableUserRoleIdentifiersC = [
|
68
69
|
'ercRevenue',
|
69
70
|
'routeToolScorecards',
|
@@ -99,7 +100,7 @@ export type AccessIdentifiersT = (typeof availableUserRoleIdentifiersC)[number];
|
|
99
100
|
* @name GenericHistoricTimeFrames
|
100
101
|
* @description Generic type created from dashboardTimeFrames
|
101
102
|
*/
|
102
|
-
export type GenericHistoricTimeFrames<Type> =
|
103
|
+
export type GenericHistoricTimeFrames<Type> = Record<GlobalTypesT['dashboardHistoricTimeframeTypeT']['property'], Type>;
|
103
104
|
|
104
105
|
/**==============================================
|
105
106
|
* @interface SingleValueDataI
|
@@ -229,7 +230,7 @@ export interface DataTableTemplateDataI {
|
|
229
230
|
button?: boolean; //--- Display a button for user interaction
|
230
231
|
buttonName?: string; //--- String to display in button
|
231
232
|
}[];
|
232
|
-
rowData:
|
233
|
+
rowData: Record<string, unknown>[]; //--- Array of objects containing row data
|
233
234
|
}
|
234
235
|
|
235
236
|
/**==============================================
|
package/public/styles/app.scss
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
@use './stylePreprocessorOptions/cf-breakpoint.scss' as breakpoint;
|
2
|
+
|
1
3
|
* {
|
2
4
|
box-sizing: border-box;
|
3
5
|
}
|
@@ -42,14 +44,14 @@ ion-radio {
|
|
42
44
|
================ Device Specific ================
|
43
45
|
===============================================*/
|
44
46
|
//--- Desktop specific
|
45
|
-
@media (min-width:
|
47
|
+
@media (min-width: breakpoint.$cf-screen-breakpoint) {
|
46
48
|
.only-display-mobile {
|
47
49
|
display: none;
|
48
50
|
}
|
49
51
|
}
|
50
52
|
|
51
53
|
//--- Mobile specific
|
52
|
-
@media not (min-width:
|
54
|
+
@media not (min-width: breakpoint.$cf-screen-breakpoint) {
|
53
55
|
.only-display-desktop {
|
54
56
|
display: none;
|
55
57
|
}
|
@@ -118,7 +120,7 @@ cf-btn ion-button {
|
|
118
120
|
width: 100%;
|
119
121
|
max-width: 358px;
|
120
122
|
|
121
|
-
@media (min-width:
|
123
|
+
@media (min-width: breakpoint.$cf-screen-breakpoint) {
|
122
124
|
max-width: 420px;
|
123
125
|
}
|
124
126
|
}
|
package/public/styles/font.scss
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
@use './stylePreprocessorOptions/cf-breakpoint.scss' as breakpoint;
|
2
|
+
|
1
3
|
@font-face {
|
2
4
|
font-family: 'Mulish';
|
3
5
|
font-weight: 200;
|
@@ -140,7 +142,7 @@ h4 {
|
|
140
142
|
|
141
143
|
/*================== Desktop ==================*/
|
142
144
|
|
143
|
-
@media (min-width:
|
145
|
+
@media (min-width: breakpoint.$cf-screen-breakpoint) {
|
144
146
|
h1 {
|
145
147
|
font-size: 6.4rem;
|
146
148
|
}
|
@@ -218,7 +220,7 @@ p.body-extra-extra-small {
|
|
218
220
|
|
219
221
|
/*================== Desktop ==================*/
|
220
222
|
|
221
|
-
@media (min-width:
|
223
|
+
@media (min-width: breakpoint.$cf-screen-breakpoint) {
|
222
224
|
p.body-large {
|
223
225
|
font-size: 2.4rem;
|
224
226
|
line-height: 3.2rem;
|
package/public/styles/index.scss
CHANGED
@@ -5,13 +5,13 @@
|
|
5
5
|
* @description Contains all the base CSS files pertaining to the CareFirst Design theme
|
6
6
|
* @author Jacques Coetzee
|
7
7
|
* @since 2023 - 09 - 04
|
8
|
-
* @usage @
|
8
|
+
* @usage @forward "../node_modules/@carefirst/library/styles/index.scss";
|
9
9
|
Add to angular.json - "stylePreprocessorOptions": {"includePaths": ["node_modules/@carefirst/library/public/styles/stylePreprocessorOptions"]}
|
10
10
|
*/
|
11
11
|
|
12
12
|
//--- SCSS Imports
|
13
|
-
@
|
14
|
-
@
|
15
|
-
@
|
16
|
-
@
|
17
|
-
@
|
13
|
+
@forward './stylePreprocessorOptions/cf-breakpoint.scss';
|
14
|
+
@forward './app.scss';
|
15
|
+
@forward './colors.scss';
|
16
|
+
@forward './font.scss';
|
17
|
+
@forward './scrollbar.scss';
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export * from './public-api';
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZWZpcnN0LWxpYnJhcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXJlZmlyc3QvbGlicmFyeS9zcmMvY2FyZWZpcnN0LWxpYnJhcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|
@@ -1,55 +0,0 @@
|
|
1
|
-
import { Component, Input, Output, EventEmitter, ViewChild } from '@angular/core';
|
2
|
-
import { FormControl, FormGroup } from '@angular/forms';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
import * as i1 from "@ionic/angular";
|
5
|
-
import * as i2 from "@angular/common";
|
6
|
-
import * as i3 from "@angular/forms";
|
7
|
-
import * as i4 from "../button/button.component";
|
8
|
-
import * as i5 from "../spacer/spacer.component";
|
9
|
-
import * as i6 from "../form-input/form-input.component";
|
10
|
-
export class AlertComponent {
|
11
|
-
popover;
|
12
|
-
data = undefined;
|
13
|
-
alertEvent = new EventEmitter();
|
14
|
-
customError = null;
|
15
|
-
alertForm = new FormGroup({
|
16
|
-
inputTextControl: new FormControl(''),
|
17
|
-
});
|
18
|
-
ngOnChanges(changes) {
|
19
|
-
const val = changes['data']?.currentValue;
|
20
|
-
if (val) {
|
21
|
-
this.data = val;
|
22
|
-
this.alertForm.reset();
|
23
|
-
if (this.data.input?.validators)
|
24
|
-
this.alertForm.controls.inputTextControl.setValidators(this.data.input.validators);
|
25
|
-
else
|
26
|
-
this.alertForm.controls.inputTextControl.clearValidators();
|
27
|
-
this.alertForm.controls.inputTextControl.updateValueAndValidity();
|
28
|
-
if (this.data.input?.customError)
|
29
|
-
this.customError = this.data.input.customError;
|
30
|
-
this.popover?.present();
|
31
|
-
}
|
32
|
-
}
|
33
|
-
handleAlert(status) {
|
34
|
-
this.alertEvent.emit({
|
35
|
-
identifier: this.data?.alertIdentifier ?? '',
|
36
|
-
status: status,
|
37
|
-
...(this.data?.input && this.alertForm.value.inputTextControl ? { inputValue: this.alertForm.value.inputTextControl } : {}),
|
38
|
-
});
|
39
|
-
this.popover?.dismiss();
|
40
|
-
}
|
41
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
42
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AlertComponent, selector: "cf-alert", inputs: { data: "data" }, outputs: { alertEvent: "alertEvent" }, viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ion-popover #popover cssClass=\"care-first-alert\" backdropDismiss=\"false\">\n <ng-template #popoverContent>\n <div class=\"popover-wrapper\">\n <ng-content></ng-content>\n <h4>{{ data?.heading }}</h4>\n <cf-spacer default=\"8\"></cf-spacer>\n <p class=\"body-medium\">{{ data?.message }}</p>\n <cf-spacer default=\"24\"></cf-spacer>\n <ng-container *ngIf=\"data?.input\">\n <form [formGroup]=\"alertForm\">\n <cf-form-input\n [placeholder]=\"data?.input?.placeholder\"\n [control]=\"alertForm.controls.inputTextControl\"\n [customErrorMessage]=\"customError\"\n (valueChange)=\"customError = ''\"></cf-form-input>\n </form>\n <cf-spacer default=\"24\"></cf-spacer>\n </ng-container>\n\n <div style=\"display: grid; gap: 12px\">\n <cf-btn type=\"primary\" fontSize=\"large\" [disabled]=\"data?.input?.validators && alertForm.invalid\" (click)=\"handleAlert(true)\">{{\n data?.buttonTrue || 'OK'\n }}</cf-btn>\n <cf-btn *ngIf=\"data && data.buttonFalse !== null\" fontSize=\"large\" type=\"tertiary\" alert (click)=\"handleAlert(false)\">{{\n data.buttonFalse || 'Cancel'\n }}</cf-btn>\n </div>\n </div>\n </ng-template>\n</ion-popover>\n", styles: [".care-first-alert::part(content){top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:100%;max-width:358px;border-radius:16px;text-align:center!important;justify-content:center!important}@media (min-width: 768px){.care-first-alert::part(content){max-width:420px}}.care-first-alert .popover-wrapper{width:100%;padding:48px 24px 24px}\n"], dependencies: [{ kind: "component", type: i1.IonPopover, selector: "ion-popover" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.ButtonComponent, selector: "cf-btn", inputs: ["type", "disabled", "alert", "action", "white", "snug", "accent", "fontSize", "iconStart", "iconEnd", "loading", "loadingText", "customColor"] }, { kind: "component", type: i5.SpacerComponent, selector: "cf-spacer", inputs: ["default", "mobile", "desktop"] }, { kind: "component", type: i6.FormInputComponent, selector: "cf-form-input", inputs: ["label", "min", "max", "labelPlacement", "placeholder", "inputmode", "autoCapitalize", "type", "noClearButton", "control", "textCenter", "maxLength", "greyBackground", "customErrorMessage", "value"], outputs: ["valueChange"] }] });
|
43
|
-
}
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AlertComponent, decorators: [{
|
45
|
-
type: Component,
|
46
|
-
args: [{ selector: 'cf-alert', template: "<ion-popover #popover cssClass=\"care-first-alert\" backdropDismiss=\"false\">\n <ng-template #popoverContent>\n <div class=\"popover-wrapper\">\n <ng-content></ng-content>\n <h4>{{ data?.heading }}</h4>\n <cf-spacer default=\"8\"></cf-spacer>\n <p class=\"body-medium\">{{ data?.message }}</p>\n <cf-spacer default=\"24\"></cf-spacer>\n <ng-container *ngIf=\"data?.input\">\n <form [formGroup]=\"alertForm\">\n <cf-form-input\n [placeholder]=\"data?.input?.placeholder\"\n [control]=\"alertForm.controls.inputTextControl\"\n [customErrorMessage]=\"customError\"\n (valueChange)=\"customError = ''\"></cf-form-input>\n </form>\n <cf-spacer default=\"24\"></cf-spacer>\n </ng-container>\n\n <div style=\"display: grid; gap: 12px\">\n <cf-btn type=\"primary\" fontSize=\"large\" [disabled]=\"data?.input?.validators && alertForm.invalid\" (click)=\"handleAlert(true)\">{{\n data?.buttonTrue || 'OK'\n }}</cf-btn>\n <cf-btn *ngIf=\"data && data.buttonFalse !== null\" fontSize=\"large\" type=\"tertiary\" alert (click)=\"handleAlert(false)\">{{\n data.buttonFalse || 'Cancel'\n }}</cf-btn>\n </div>\n </div>\n </ng-template>\n</ion-popover>\n", styles: [".care-first-alert::part(content){top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:100%;max-width:358px;border-radius:16px;text-align:center!important;justify-content:center!important}@media (min-width: 768px){.care-first-alert::part(content){max-width:420px}}.care-first-alert .popover-wrapper{width:100%;padding:48px 24px 24px}\n"] }]
|
47
|
-
}], propDecorators: { popover: [{
|
48
|
-
type: ViewChild,
|
49
|
-
args: ['popover']
|
50
|
-
}], data: [{
|
51
|
-
type: Input
|
52
|
-
}], alertEvent: [{
|
53
|
-
type: Output
|
54
|
-
}] } });
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2FyZWZpcnN0L2xpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9hbGVydC9hbGVydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQXNDLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEgsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFVeEQsTUFBTSxPQUFPLGNBQWM7SUFDSCxPQUFPLENBQWM7SUFFbEMsSUFBSSxHQUEyQixTQUFTLENBQUM7SUFDeEMsVUFBVSxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7SUFFdkQsV0FBVyxHQUFrQixJQUFJLENBQUM7SUFHbEMsU0FBUyxHQUFHLElBQUksU0FBUyxDQUFDO1FBQ3hCLGdCQUFnQixFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQztLQUN0QyxDQUFDLENBQUM7SUFRSCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFlBQWdDLENBQUM7UUFFOUQsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNSLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1lBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7WUFFdkIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVO2dCQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQzs7Z0JBQy9HLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ2hFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFFbEUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxXQUFXO2dCQUFFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO1lBRWpGLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFPRCxXQUFXLENBQUMsTUFBZTtRQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztZQUNuQixVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxlQUFlLElBQUksRUFBRTtZQUM1QyxNQUFNLEVBQUUsTUFBTTtZQUNkLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQzVILENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDMUIsQ0FBQzt3R0FoRFUsY0FBYzs0RkFBZCxjQUFjLDBPQ3JCM0Isa3lDQThCQTs7NEZEVGEsY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxVQUFVOzhCQUtFLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUztnQkFFWCxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ2FyZUZpcnN0IExpYnJhcnkgQWxlcnRcbiAqXG4gKiBAZmlsZSAgICAgICAgICBhbGVydC5jb21wb25lbnRcbiAqIEBkZXNjcmlwdGlvbiAgIENvbnRhaW5zIGFsbCB0aGUgbG9naWMgZm9yIGdlbmVyYXRpbmcgYSBDYXJlRmlyc3QgQWxlcnRcbiAqIEBhdXRob3IgICAgICAgIEFybm8gSmFuc2VuIHZhbiBWdXVyZW5cbiAqIEBzaW5jZSAgICAgICAgIDIwMjMgLSAxMSAtIDMwXG4gKiBAdXNhZ2UgICAgICAgICA8Y2YtYWxlcnQgZGF0YT1cIntoZWFkaW5nLCBtZXNzYWdlLCBidXR0b25UcnVlLCBidXR0b25GYWxzZX1cIiAoYWxlcnRFdmVudCk+PC9jZi1hbGVydD5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIHR5cGUgT25DaGFuZ2VzLCB0eXBlIFNpbXBsZUNoYW5nZXMsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHR5cGUgeyBJb25Qb3BvdmVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuLy8tLS0gSW50ZXJmYWNlc1xuaW1wb3J0IHR5cGUgeyBBbGVydERhdGFJLCBBbGVydEV2ZW50SSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvYWxlcnQuaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2YtYWxlcnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWxlcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYWxlcnQuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBBbGVydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBWaWV3Q2hpbGQoJ3BvcG92ZXInKSBwb3BvdmVyPzogSW9uUG9wb3ZlcjtcblxuICBASW5wdXQoKSBkYXRhOiBBbGVydERhdGFJIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICBAT3V0cHV0KCkgYWxlcnRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8QWxlcnRFdmVudEk+KCk7XG5cbiAgY3VzdG9tRXJyb3I6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIC8vLS0tIEZvcm1zXG4gIGFsZXJ0Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgIGlucHV0VGV4dENvbnRyb2w6IG5ldyBGb3JtQ29udHJvbCgnJyksXG4gIH0pO1xuXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQG5hbWUgICAgICAgICAgbmdPbkNoYW5nZXNcbiAgICogQGRlc2NyaXB0aW9uICAgVXBkYXRlIHZhcmlvdXMgdmFsdWVzIG9uIGNvbXBvbmVudCBpbnB1dCBjaGFuZ2VzXG4gICAqIEBwYXJhbSAgICAgICAgIHtTaW1wbGVDaGFuZ2VzfSBjaGFuZ2VzIC0gVGhlIGNoYW5nZWQgaW5wdXQgcHJvcGVydGllc1xuICAgKiBAcmV0dXJucyAgICAgICB7dm9pZH1cbiAgICovXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zdCB2YWwgPSBjaGFuZ2VzWydkYXRhJ10/LmN1cnJlbnRWYWx1ZSBhcyB0eXBlb2YgdGhpcy5kYXRhO1xuXG4gICAgaWYgKHZhbCkge1xuICAgICAgdGhpcy5kYXRhID0gdmFsO1xuICAgICAgdGhpcy5hbGVydEZvcm0ucmVzZXQoKTtcbiAgICAgIC8vLS0tIFZhbGlkYXRvcnNcbiAgICAgIGlmICh0aGlzLmRhdGEuaW5wdXQ/LnZhbGlkYXRvcnMpIHRoaXMuYWxlcnRGb3JtLmNvbnRyb2xzLmlucHV0VGV4dENvbnRyb2wuc2V0VmFsaWRhdG9ycyh0aGlzLmRhdGEuaW5wdXQudmFsaWRhdG9ycyk7XG4gICAgICBlbHNlIHRoaXMuYWxlcnRGb3JtLmNvbnRyb2xzLmlucHV0VGV4dENvbnRyb2wuY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgICB0aGlzLmFsZXJ0Rm9ybS5jb250cm9scy5pbnB1dFRleHRDb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgIC8vLS0tIEN1c3RvbSBlcnJvclxuICAgICAgaWYgKHRoaXMuZGF0YS5pbnB1dD8uY3VzdG9tRXJyb3IpIHRoaXMuY3VzdG9tRXJyb3IgPSB0aGlzLmRhdGEuaW5wdXQuY3VzdG9tRXJyb3I7XG4gICAgICAvLy0tLSBPcGVuIGFsZXJ0XG4gICAgICB0aGlzLnBvcG92ZXI/LnByZXNlbnQoKTtcbiAgICB9XG4gIH1cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgICAgICAgICBoYW5kbGVBbGVydFxuICAgKiBAZGVzY3JpcHRpb24gICBEZXNjcmlwdGlvblxuICAgKiBAcGFyYW0gICAgICAgICB7Ym9vbGVhbn0gc3RhdHVzXG4gICAqIEByZXR1cm5zICAgICAgIHt2b2lkfVxuICAgKi9cbiAgaGFuZGxlQWxlcnQoc3RhdHVzOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5hbGVydEV2ZW50LmVtaXQoe1xuICAgICAgaWRlbnRpZmllcjogdGhpcy5kYXRhPy5hbGVydElkZW50aWZpZXIgPz8gJycsXG4gICAgICBzdGF0dXM6IHN0YXR1cyxcbiAgICAgIC4uLih0aGlzLmRhdGE/LmlucHV0ICYmIHRoaXMuYWxlcnRGb3JtLnZhbHVlLmlucHV0VGV4dENvbnRyb2wgPyB7IGlucHV0VmFsdWU6IHRoaXMuYWxlcnRGb3JtLnZhbHVlLmlucHV0VGV4dENvbnRyb2wgfSA6IHt9KSxcbiAgICB9KTtcbiAgICB0aGlzLnBvcG92ZXI/LmRpc21pc3MoKTtcbiAgfVxufVxuIiwiPGlvbi1wb3BvdmVyICNwb3BvdmVyIGNzc0NsYXNzPVwiY2FyZS1maXJzdC1hbGVydFwiIGJhY2tkcm9wRGlzbWlzcz1cImZhbHNlXCI+XG4gIDxuZy10ZW1wbGF0ZSAjcG9wb3ZlckNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cInBvcG92ZXItd3JhcHBlclwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPGg0Pnt7IGRhdGE/LmhlYWRpbmcgfX08L2g0PlxuICAgICAgPGNmLXNwYWNlciBkZWZhdWx0PVwiOFwiPjwvY2Ytc3BhY2VyPlxuICAgICAgPHAgY2xhc3M9XCJib2R5LW1lZGl1bVwiPnt7IGRhdGE/Lm1lc3NhZ2UgfX08L3A+XG4gICAgICA8Y2Ytc3BhY2VyIGRlZmF1bHQ9XCIyNFwiPjwvY2Ytc3BhY2VyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGE/LmlucHV0XCI+XG4gICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiYWxlcnRGb3JtXCI+XG4gICAgICAgICAgPGNmLWZvcm0taW5wdXRcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJkYXRhPy5pbnB1dD8ucGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgW2NvbnRyb2xdPVwiYWxlcnRGb3JtLmNvbnRyb2xzLmlucHV0VGV4dENvbnRyb2xcIlxuICAgICAgICAgICAgW2N1c3RvbUVycm9yTWVzc2FnZV09XCJjdXN0b21FcnJvclwiXG4gICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwiY3VzdG9tRXJyb3IgPSAnJ1wiPjwvY2YtZm9ybS1pbnB1dD5cbiAgICAgICAgPC9mb3JtPlxuICAgICAgICA8Y2Ytc3BhY2VyIGRlZmF1bHQ9XCIyNFwiPjwvY2Ytc3BhY2VyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBncmlkOyBnYXA6IDEycHhcIj5cbiAgICAgICAgPGNmLWJ0biB0eXBlPVwicHJpbWFyeVwiIGZvbnRTaXplPVwibGFyZ2VcIiBbZGlzYWJsZWRdPVwiZGF0YT8uaW5wdXQ/LnZhbGlkYXRvcnMgJiYgYWxlcnRGb3JtLmludmFsaWRcIiAoY2xpY2spPVwiaGFuZGxlQWxlcnQodHJ1ZSlcIj57e1xuICAgICAgICAgIGRhdGE/LmJ1dHRvblRydWUgfHwgJ09LJ1xuICAgICAgICB9fTwvY2YtYnRuPlxuICAgICAgICA8Y2YtYnRuICpuZ0lmPVwiZGF0YSAmJiBkYXRhLmJ1dHRvbkZhbHNlICE9PSBudWxsXCIgZm9udFNpemU9XCJsYXJnZVwiIHR5cGU9XCJ0ZXJ0aWFyeVwiIGFsZXJ0IChjbGljayk9XCJoYW5kbGVBbGVydChmYWxzZSlcIj57e1xuICAgICAgICAgIGRhdGEuYnV0dG9uRmFsc2UgfHwgJ0NhbmNlbCdcbiAgICAgICAgfX08L2NmLWJ0bj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9pb24tcG9wb3Zlcj5cbiJdfQ==
|
@@ -1,49 +0,0 @@
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
2
|
-
import { checkTruthAttribute, validateStringValue } from '../../utils/attribute.util';
|
3
|
-
import { iconsC } from '../../interfaces/icon.interface';
|
4
|
-
import { badgeTypeC } from '../../interfaces/badge.interface';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
import * as i1 from "@ionic/angular";
|
7
|
-
import * as i2 from "@angular/common";
|
8
|
-
import * as i3 from "../icon/icon.component";
|
9
|
-
export class BadgeComponent {
|
10
|
-
type = 'primary';
|
11
|
-
icon;
|
12
|
-
small;
|
13
|
-
large;
|
14
|
-
stretch;
|
15
|
-
inputType = 'primary';
|
16
|
-
inputIcon = undefined;
|
17
|
-
fontsize = 12;
|
18
|
-
inputSmall = false;
|
19
|
-
inputLarge = false;
|
20
|
-
inputStretch = false;
|
21
|
-
ngOnChanges(changes) {
|
22
|
-
this.inputType = validateStringValue(changes, 'type', badgeTypeC.slice(), this.inputType) || 'primary';
|
23
|
-
this.inputIcon = validateStringValue(changes, 'icon', iconsC.slice(), this.inputIcon);
|
24
|
-
this.inputSmall = checkTruthAttribute(changes, 'small', this.inputSmall);
|
25
|
-
if (this.inputSmall)
|
26
|
-
this.fontsize = 10;
|
27
|
-
this.inputLarge = checkTruthAttribute(changes, 'large', this.inputLarge);
|
28
|
-
if (this.inputLarge)
|
29
|
-
this.fontsize = 16;
|
30
|
-
this.inputStretch = checkTruthAttribute(changes, 'stretch', this.inputStretch);
|
31
|
-
}
|
32
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
33
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BadgeComponent, selector: "cf-badge", inputs: { type: "type", icon: "icon", small: "small", large: "large", stretch: "stretch" }, usesOnChanges: true, ngImport: i0, template: "<div [className]=\"'cf-badge-' + inputType\" [ngClass]=\"{ small: inputSmall, large: inputLarge, stretch: inputStretch }\">\n <cf-icon *ngIf=\"inputIcon && inputType !== 'feedback-busy'\" [icon]=\"inputIcon\" [height]=\"fontsize\"></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:0 16px;border-radius:6px;width:fit-content;background:var(--cf-badge-background);border:.2rem solid var(--cf-badge-border-color);height:3.4rem}div[class^=cf-badge-]>p{width:fit-content;font-size:1.2rem;font-weight:500;font-style:normal;line-height:auto;color:var(--cf-badge-text-color)}div[class^=cf-badge-].small{height:2.8rem}div[class^=cf-badge-].small>p{font-size:1rem}div[class^=cf-badge-].large{height:4rem}div[class^=cf-badge-].large>p{font-size:1.6rem}div[class^=cf-badge-].stretch{width:100%}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-white{--cf-badge-background: #fff;--cf-badge-text-color: var(--cf-app-text-color-default);--cf-badge-border-color: #fff}div.cf-badge-success{--cf-badge-background: var(--cf-app-system-color-success);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-app-system-color-success)}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-default);--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}div.cf-badge-custom-color{--cf-badge-background: var(--custom-color, var(--cf-app-color-primary));--cf-badge-text-color: var(--custom-color-text, var(--cf-app-text-color-light));--cf-badge-border-color: var(--cf-badge-background)}\n"], dependencies: [{ kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { 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", "heightMobile", "heightDesktop", "iconColor", "iconColorCustom"] }] });
|
34
|
-
}
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BadgeComponent, decorators: [{
|
36
|
-
type: Component,
|
37
|
-
args: [{ selector: 'cf-badge', template: "<div [className]=\"'cf-badge-' + inputType\" [ngClass]=\"{ small: inputSmall, large: inputLarge, stretch: inputStretch }\">\n <cf-icon *ngIf=\"inputIcon && inputType !== 'feedback-busy'\" [icon]=\"inputIcon\" [height]=\"fontsize\"></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:0 16px;border-radius:6px;width:fit-content;background:var(--cf-badge-background);border:.2rem solid var(--cf-badge-border-color);height:3.4rem}div[class^=cf-badge-]>p{width:fit-content;font-size:1.2rem;font-weight:500;font-style:normal;line-height:auto;color:var(--cf-badge-text-color)}div[class^=cf-badge-].small{height:2.8rem}div[class^=cf-badge-].small>p{font-size:1rem}div[class^=cf-badge-].large{height:4rem}div[class^=cf-badge-].large>p{font-size:1.6rem}div[class^=cf-badge-].stretch{width:100%}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-white{--cf-badge-background: #fff;--cf-badge-text-color: var(--cf-app-text-color-default);--cf-badge-border-color: #fff}div.cf-badge-success{--cf-badge-background: var(--cf-app-system-color-success);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-app-system-color-success)}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-default);--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}div.cf-badge-custom-color{--cf-badge-background: var(--custom-color, var(--cf-app-color-primary));--cf-badge-text-color: var(--custom-color-text, var(--cf-app-text-color-light));--cf-badge-border-color: var(--cf-badge-background)}\n"] }]
|
38
|
-
}], propDecorators: { type: [{
|
39
|
-
type: Input
|
40
|
-
}], icon: [{
|
41
|
-
type: Input
|
42
|
-
}], small: [{
|
43
|
-
type: Input
|
44
|
-
}], large: [{
|
45
|
-
type: Input
|
46
|
-
}], stretch: [{
|
47
|
-
type: Input
|
48
|
-
}] } });
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2FyZWZpcnN0L2xpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL2JhZGdlL2JhZGdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9iYWRnZS9iYWRnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQkEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXNDLE1BQU0sZUFBZSxDQUFDO0FBRXJGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRGLE9BQU8sRUFBRSxNQUFNLEVBQWUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFtQixNQUFNLGtDQUFrQyxDQUFDOzs7OztBQVUvRSxNQUFNLE9BQU8sY0FBYztJQUNoQixJQUFJLEdBQWUsU0FBUyxDQUFDO0lBQzdCLElBQUksQ0FBc0I7SUFDMUIsS0FBSyxDQUFnQztJQUNyQyxLQUFLLENBQWdDO0lBQ3JDLE9BQU8sQ0FBZ0M7SUFHaEQsU0FBUyxHQUFxQixTQUFTLENBQUM7SUFDeEMsU0FBUyxHQUFpQyxTQUFTLENBQUM7SUFDcEQsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNkLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDbkIsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUNuQixZQUFZLEdBQUcsS0FBSyxDQUFDO0lBT3JCLFdBQVcsQ0FBQyxPQUFzQjtRQUVoQyxJQUFJLENBQUMsU0FBUyxHQUFHLG1CQUFtQixDQUFhLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxTQUFTLENBQUM7UUFFbkgsSUFBSSxDQUFDLFNBQVMsR0FBRyxtQkFBbUIsQ0FBUyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFOUYsSUFBSSxDQUFDLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6RSxJQUFJLElBQUksQ0FBQyxVQUFVO1lBQUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFFeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6RSxJQUFJLElBQUksQ0FBQyxVQUFVO1lBQUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFFeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqRixDQUFDO3dHQWpDVSxjQUFjOzRGQUFkLGNBQWMsaUtDbEMzQix5V0FLQTs7NEZENkJhLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0UsVUFBVTs4QkFLWCxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDYXJlRmlyc3QgQ2hhdCBCYWRnZVxuICpcbiAqIEBmaWxlICAgICAgICAgIGJhZGdlLmNvbXBvbmVudFxuICogQGRlc2NyaXB0aW9uICAgQ29udGFpbnMgYWxsIHRoZSBsb2dpYyBmb3IgZ2VuZXJhdGluZyBhIENhcmVGaXJzdCBDaGF0IEJhZGdlXG4gKiBAYXV0aG9yICAgICAgICBKYWNxdWVzIENvZXR6ZWVcbiAqIEBzaW5jZSAgICAgICAgIDIwMjQgLSAwMiAtIDIyXG4gKiBAdXNhZ2UgICAgICAgICA8Y2YtYmFkZ2VcbiAqICAgICAgICAgICAgICAgICAgdHlwZT1cIkJhZGdlVHlwZVRcIlxuICogICAgICAgICAgICAgICAgICAlaWNvbiU9XCJJY29uc1RcIlxuICogICAgICAgICAgICAgICAgICAlc21hbGwlXG4gKiAgICAgICAgICAgICAgICAgICVsYXJnZSVcbiAqICAgICAgICAgICAgICAgICAgc3R5bGU9XCJcbiAqICAgICAgICAgICAgICAgICAgICAlLS1jdXN0b20tY29sb3I6ICMwMDAwMDA7JVxuICogICAgICAgICAgICAgICAgICAgICUtLWN1c3RvbS1jb2xvci10ZXh0OiAjRkZGRkZGOyVcbiAqICAgICAgICAgICAgICAgICAgPlxuICogICAgICAgICAgICAgICAgPC9jZi1iYWRnZT5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCB0eXBlIE9uQ2hhbmdlcywgdHlwZSBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vLy0tLSBVdGlsc1xuaW1wb3J0IHsgY2hlY2tUcnV0aEF0dHJpYnV0ZSwgdmFsaWRhdGVTdHJpbmdWYWx1ZSB9IGZyb20gJy4uLy4uL3V0aWxzL2F0dHJpYnV0ZS51dGlsJztcbi8vLS0tIEludGVyZmFjZXNcbmltcG9ydCB7IGljb25zQywgdHlwZSBJY29uc1QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2ljb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IGJhZGdlVHlwZUMsIHR5cGUgQmFkZ2VUeXBlVCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvYmFkZ2UuaW50ZXJmYWNlJztcblxuLyoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQG5hbWUgICAgIEJhZGdlQ29tcG9uZW50XG4gKiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2YtYmFkZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vYmFkZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYmFkZ2UuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBCYWRnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHR5cGU6IEJhZGdlVHlwZVQgPSAncHJpbWFyeSc7XG4gIEBJbnB1dCgpIGljb24/OiBJY29uc1QgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHNtYWxsPzogYm9vbGVhbiB8IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgbGFyZ2U/OiBib29sZWFuIHwgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBzdHJldGNoPzogYm9vbGVhbiB8IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvLy0tLSBMb2NhbCB2YXJpYWJsZXNcbiAgaW5wdXRUeXBlOiB0eXBlb2YgdGhpcy50eXBlID0gJ3ByaW1hcnknO1xuICBpbnB1dEljb246IHR5cGVvZiB0aGlzLmljb24gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gIGZvbnRzaXplID0gMTI7XG4gIGlucHV0U21hbGwgPSBmYWxzZTtcbiAgaW5wdXRMYXJnZSA9IGZhbHNlO1xuICBpbnB1dFN0cmV0Y2ggPSBmYWxzZTtcblxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIEBuYW1lICAgICAgICAgIG5nT25DaGFuZ2VzXG4gICAqIEBkZXNjcmlwdGlvbiAgIFVwZGF0ZSB2YXJpb3VzIHZhbHVlcyBvbiBpbnB1dCBjaGFuZ2VzXG4gICAqIEByZXR1cm5zICAgICAgIHt2b2lkfVxuICAgKi9cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIC8vLS0tIFR5cGVcbiAgICB0aGlzLmlucHV0VHlwZSA9IHZhbGlkYXRlU3RyaW5nVmFsdWU8QmFkZ2VUeXBlVD4oY2hhbmdlcywgJ3R5cGUnLCBiYWRnZVR5cGVDLnNsaWNlKCksIHRoaXMuaW5wdXRUeXBlKSB8fCAncHJpbWFyeSc7XG4gICAgLy8tLS0gSWNvbiBTdGFydFxuICAgIHRoaXMuaW5wdXRJY29uID0gdmFsaWRhdGVTdHJpbmdWYWx1ZTxJY29uc1Q+KGNoYW5nZXMsICdpY29uJywgaWNvbnNDLnNsaWNlKCksIHRoaXMuaW5wdXRJY29uKTtcbiAgICAvLy0tLSBTbWFsbCBCYWRnZVxuICAgIHRoaXMuaW5wdXRTbWFsbCA9IGNoZWNrVHJ1dGhBdHRyaWJ1dGUoY2hhbmdlcywgJ3NtYWxsJywgdGhpcy5pbnB1dFNtYWxsKTtcbiAgICBpZiAodGhpcy5pbnB1dFNtYWxsKSB0aGlzLmZvbnRzaXplID0gMTA7XG4gICAgLy8tLS0gTGFyZ2UgQmFkZ2VcbiAgICB0aGlzLmlucHV0TGFyZ2UgPSBjaGVja1RydXRoQXR0cmlidXRlKGNoYW5nZXMsICdsYXJnZScsIHRoaXMuaW5wdXRMYXJnZSk7XG4gICAgaWYgKHRoaXMuaW5wdXRMYXJnZSkgdGhpcy5mb250c2l6ZSA9IDE2O1xuICAgIC8vLS0tIFN0cmV0Y2hcbiAgICB0aGlzLmlucHV0U3RyZXRjaCA9IGNoZWNrVHJ1dGhBdHRyaWJ1dGUoY2hhbmdlcywgJ3N0cmV0Y2gnLCB0aGlzLmlucHV0U3RyZXRjaCk7XG4gIH1cbn1cbiIsIjxkaXYgW2NsYXNzTmFtZV09XCInY2YtYmFkZ2UtJyArIGlucHV0VHlwZVwiIFtuZ0NsYXNzXT1cInsgc21hbGw6IGlucHV0U21hbGwsIGxhcmdlOiBpbnB1dExhcmdlLCBzdHJldGNoOiBpbnB1dFN0cmV0Y2ggfVwiPlxuICA8Y2YtaWNvbiAqbmdJZj1cImlucHV0SWNvbiAmJiBpbnB1dFR5cGUgIT09ICdmZWVkYmFjay1idXN5J1wiIFtpY29uXT1cImlucHV0SWNvblwiIFtoZWlnaHRdPVwiZm9udHNpemVcIj48L2NmLWljb24+XG4gIDxpb24tc3Bpbm5lciAqbmdJZj1cImlucHV0VHlwZSA9PT0gJ2ZlZWRiYWNrLWJ1c3knXCI+PC9pb24tc3Bpbm5lcj5cbiAgPHA+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvcD5cbjwvZGl2PlxuIl19
|
@@ -1,101 +0,0 @@
|
|
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
|
-
import * as i5 from "../spinner/spinner.component";
|
10
|
-
export class ButtonComponent {
|
11
|
-
type = 'primary';
|
12
|
-
disabled;
|
13
|
-
alert;
|
14
|
-
action;
|
15
|
-
white;
|
16
|
-
snug;
|
17
|
-
accent;
|
18
|
-
fontSize;
|
19
|
-
iconStart;
|
20
|
-
iconEnd;
|
21
|
-
loading;
|
22
|
-
loadingText;
|
23
|
-
customColor;
|
24
|
-
get parentEvents() {
|
25
|
-
if (this.disabled) {
|
26
|
-
return 'none';
|
27
|
-
}
|
28
|
-
return 'auto';
|
29
|
-
}
|
30
|
-
inputType = 'primary';
|
31
|
-
inputFontSize = undefined;
|
32
|
-
inputDisabled = false;
|
33
|
-
inputAlert = false;
|
34
|
-
inputAction = false;
|
35
|
-
inputSnug = false;
|
36
|
-
inputAccent = false;
|
37
|
-
inputWhite = false;
|
38
|
-
inputIconStart = undefined;
|
39
|
-
inputIconEnd = undefined;
|
40
|
-
inputLoading = false;
|
41
|
-
inputCustomColor = '';
|
42
|
-
ngOnChanges(changes) {
|
43
|
-
this.inputType =
|
44
|
-
validateStringValue(changes, 'type', ['primary', 'secondary', 'tertiary'], this.inputType) || 'primary';
|
45
|
-
this.inputFontSize = validateStringValue(changes, 'fontSize', ['small', 'large'], this.inputFontSize);
|
46
|
-
this.inputDisabled = checkTruthAttribute(changes, 'disabled', this.inputDisabled);
|
47
|
-
this.inputAlert = checkTruthAttribute(changes, 'alert', this.inputAlert);
|
48
|
-
this.inputAction = checkTruthAttribute(changes, 'action', this.inputAction);
|
49
|
-
this.inputSnug = checkTruthAttribute(changes, 'snug', this.inputSnug);
|
50
|
-
this.inputAccent = checkTruthAttribute(changes, 'accent', this.inputAccent);
|
51
|
-
this.inputWhite = checkTruthAttribute(changes, 'white', this.inputWhite);
|
52
|
-
this.inputIconStart = validateStringValue(changes, 'iconStart', iconsC.slice(), this.inputIconStart);
|
53
|
-
this.inputIconEnd = validateStringValue(changes, 'iconEnd', iconsC.slice(), this.inputIconEnd);
|
54
|
-
this.inputLoading = checkTruthAttribute(changes, 'loading', this.inputLoading);
|
55
|
-
if (changes['customColor']?.currentValue)
|
56
|
-
this.inputCustomColor = this.checkCustomColor(changes['customColor'].currentValue);
|
57
|
-
}
|
58
|
-
checkCustomColor(color) {
|
59
|
-
if (color.startsWith('var'))
|
60
|
-
return color;
|
61
|
-
if (color.startsWith('#') && (color.length === 4 || color.length === 7) && color.split('').every((char) => char.match(/[#0-9a-fA-F]+/)))
|
62
|
-
return color;
|
63
|
-
return '';
|
64
|
-
}
|
65
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
66
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ButtonComponent, selector: "cf-btn", inputs: { type: "type", disabled: "disabled", alert: "alert", action: "action", white: "white", snug: "snug", accent: "accent", fontSize: "fontSize", iconStart: "iconStart", iconEnd: "iconEnd", loading: "loading", loadingText: "loadingText", 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 white: inputWhite,\n }\"\n mode=\"md\"\n [disabled]=\"inputDisabled || inputLoading\">\n <cf-icon *ngIf=\"inputIconStart\" [icon]=\"inputIconStart\" style=\"--cf-svg-overwrite-stroke-color: var(--button-text-color)\"></cf-icon>\n <ng-container *ngIf=\"loadingText && inputLoading; else originalText\">\n <cf-spinner [icon]=\"inputIconStart\" [size]=\"inputFontSize === 'large' ? 16 : inputFontSize === 'small' ? 10 : 12\"></cf-spinner>\n <p>{{ loadingText }}</p>\n </ng-container>\n <ng-template #originalText>\n <p *cfButtonLoader=\"inputLoading\"><ng-content></ng-content></p>\n </ng-template>\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: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: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: var(--cf-app-text-color-grey)}.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-primary.white:not([class*=disabled]){--background: var(--cf-app-background-light);--button-text-color: var(--cf-app-text-color-default)}.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-text-color-grey)}.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-secondary.white:not([class*=disabled]){--background: var(--cf-app-color-primary);--button-text-color: var(--cf-app-text-color-light)}.cf-button-secondary.white:not([class*=disabled])::part(native){border:.2rem solid var(--cf-app-background-light)}.cf-button-tertiary{--background: transparent;--button-text-color: var(--core)}.cf-button-tertiary[class*=disabled]{--button-text-color: var(--cf-app-text-color-grey)}.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)}.cf-button-tertiary.white:not([class*=disabled]){--button-text-color: var(--cf-app-text-color-light)}\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", "heightMobile", "heightDesktop", "iconColor", "iconColorCustom"] }, { kind: "directive", type: i4.ButtonLoaderDirective, selector: "[cfButtonLoader]", inputs: ["cfButtonLoader"] }, { kind: "component", type: i5.SpinnerComponent, selector: "cf-spinner", inputs: ["size"] }] });
|
67
|
-
}
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonComponent, decorators: [{
|
69
|
-
type: Component,
|
70
|
-
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 white: inputWhite,\n }\"\n mode=\"md\"\n [disabled]=\"inputDisabled || inputLoading\">\n <cf-icon *ngIf=\"inputIconStart\" [icon]=\"inputIconStart\" style=\"--cf-svg-overwrite-stroke-color: var(--button-text-color)\"></cf-icon>\n <ng-container *ngIf=\"loadingText && inputLoading; else originalText\">\n <cf-spinner [icon]=\"inputIconStart\" [size]=\"inputFontSize === 'large' ? 16 : inputFontSize === 'small' ? 10 : 12\"></cf-spinner>\n <p>{{ loadingText }}</p>\n </ng-container>\n <ng-template #originalText>\n <p *cfButtonLoader=\"inputLoading\"><ng-content></ng-content></p>\n </ng-template>\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: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: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: var(--cf-app-text-color-grey)}.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-primary.white:not([class*=disabled]){--background: var(--cf-app-background-light);--button-text-color: var(--cf-app-text-color-default)}.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-text-color-grey)}.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-secondary.white:not([class*=disabled]){--background: var(--cf-app-color-primary);--button-text-color: var(--cf-app-text-color-light)}.cf-button-secondary.white:not([class*=disabled])::part(native){border:.2rem solid var(--cf-app-background-light)}.cf-button-tertiary{--background: transparent;--button-text-color: var(--core)}.cf-button-tertiary[class*=disabled]{--button-text-color: var(--cf-app-text-color-grey)}.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)}.cf-button-tertiary.white:not([class*=disabled]){--button-text-color: var(--cf-app-text-color-light)}\n"] }]
|
71
|
-
}], propDecorators: { type: [{
|
72
|
-
type: Input
|
73
|
-
}], disabled: [{
|
74
|
-
type: Input
|
75
|
-
}], alert: [{
|
76
|
-
type: Input
|
77
|
-
}], action: [{
|
78
|
-
type: Input
|
79
|
-
}], white: [{
|
80
|
-
type: Input
|
81
|
-
}], snug: [{
|
82
|
-
type: Input
|
83
|
-
}], accent: [{
|
84
|
-
type: Input
|
85
|
-
}], fontSize: [{
|
86
|
-
type: Input
|
87
|
-
}], iconStart: [{
|
88
|
-
type: Input
|
89
|
-
}], iconEnd: [{
|
90
|
-
type: Input
|
91
|
-
}], loading: [{
|
92
|
-
type: Input
|
93
|
-
}], loadingText: [{
|
94
|
-
type: Input
|
95
|
-
}], customColor: [{
|
96
|
-
type: Input
|
97
|
-
}], parentEvents: [{
|
98
|
-
type: HostBinding,
|
99
|
-
args: ['style.pointer-events']
|
100
|
-
}] } });
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtCQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBc0MsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxNQUFNLEVBQWUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7OztBQU90RSxNQUFNLE9BQU8sZUFBZTtJQUNqQixJQUFJLEdBQXlDLFNBQVMsQ0FBQztJQUN2RCxRQUFRLENBQWdDO0lBQ3hDLEtBQUssQ0FBZ0M7SUFDckMsTUFBTSxDQUFnQztJQUN0QyxLQUFLLENBQXNCO0lBQzNCLElBQUksQ0FBZ0M7SUFDcEMsTUFBTSxDQUFnQztJQUN0QyxRQUFRLENBQXFCO0lBQzdCLFNBQVMsQ0FBc0I7SUFDL0IsT0FBTyxDQUFzQjtJQUM3QixPQUFPLENBQWdDO0lBQ3ZDLFdBQVcsQ0FBVTtJQUNyQixXQUFXLENBQXNCO0lBRTFDLElBQXlDLFlBQVk7UUFDbkQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFHRCxTQUFTLEdBQXFCLFNBQVMsQ0FBQztJQUN4QyxhQUFhLEdBQXFDLFNBQVMsQ0FBQztJQUM1RCxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDbkIsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUNwQixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ2xCLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUNuQixjQUFjLEdBQXNDLFNBQVMsQ0FBQztJQUM5RCxZQUFZLEdBQW9DLFNBQVMsQ0FBQztJQUMxRCxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztJQU90QixXQUFXLENBQUMsT0FBc0I7UUFFaEMsSUFBSSxDQUFDLFNBQVM7WUFDWixtQkFBbUIsQ0FBdUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsQ0FBQztRQUVoSixJQUFJLENBQUMsYUFBYSxHQUFHLG1CQUFtQixDQUFvQixPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV6SCxJQUFJLENBQUMsYUFBYSxHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRWxGLElBQUksQ0FBQyxVQUFVLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFekUsSUFBSSxDQUFDLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUU1RSxJQUFJLENBQUMsU0FBUyxHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXRFLElBQUksQ0FBQyxXQUFXLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFNUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV6RSxJQUFJLENBQUMsY0FBYyxHQUFHLG1CQUFtQixDQUFTLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUU3RyxJQUFJLENBQUMsWUFBWSxHQUFHLG1CQUFtQixDQUFTLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUV2RyxJQUFJLENBQUMsWUFBWSxHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRS9FLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLFlBQVk7WUFBRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvSCxDQUFDO0lBUUQsZ0JBQWdCLENBQUMsS0FBYTtRQUU1QixJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFFMUMsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNySSxPQUFPLEtBQUssQ0FBQztRQUNmLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzt3R0FsRlUsZUFBZTs0RkFBZixlQUFlLDBaQzNCNUIscXJDQTBCQTs7NEZEQ2EsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxRQUFROzhCQUtULElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVtQyxZQUFZO3NCQUFwRCxXQUFXO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ2FyZUZpcnN0IExpYnJhcnkgLSBCdXR0b25cbiAqXG4gKiBAZmlsZSAgICAgICAgICBidXR0b24uY29tcG9uZW50XG4gKiBAZGVzY3JpcHRpb24gICBDb250YWlucyBhbGwgdGhlIGxvZ2ljIGZvciBnZW5lcmF0aW5nIGEgQ2FyZUZpcnN0IEJ1dHRvblxuICogQGF1dGhvciAgICAgICAgSmFjcXVlcyBDb2V0emVlXG4gKiBAc2luY2UgICAgICAgICAyMDIzIC0gMTEgLSAwN1xuICogQHVzYWdlICAgICAgICAgPGNmLWJ0blxuICogICAgICAgICAgICAgICAgICAgdHlwZT1cIidwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ3RlcnRpYXJ5J1wiXG4gKiAgICAgICAgICAgICAgICAgICBmb250U2l6ZT1cIidzbWFsbCcgfCAnbGFyZ2UnXCJcbiAqICAgICAgICAgICAgICAgICAgICVjdXN0b21Db2xvcj1cInZhcigpIHwgaGV4XCIlXG4gKiAgICAgICAgICAgICAgICAgICAlZGlzYWJsZWQlXG4gKiAgICAgICAgICAgICAgICAgICAlYWxlcnQlXG4gKiAgICAgICAgICAgICAgICAgICAlYWN0aW9uJVxuICogICAgICAgICAgICAgICAgICAgJXNudWclXG4gKiAgICAgICAgICAgICAgICA+VEVYVDwvY2YtYnRuPlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIHR5cGUgU2ltcGxlQ2hhbmdlcywgdHlwZSBPbkNoYW5nZXMsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjaGVja1RydXRoQXR0cmlidXRlLCB2YWxpZGF0ZVN0cmluZ1ZhbHVlIH0gZnJvbSAnLi4vLi4vdXRpbHMvYXR0cmlidXRlLnV0aWwnO1xuaW1wb3J0IHsgaWNvbnNDLCB0eXBlIEljb25zVCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaWNvbi5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjZi1idG4nLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHR5cGU6ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ3RlcnRpYXJ5JyA9ICdwcmltYXJ5JztcbiAgQElucHV0KCkgZGlzYWJsZWQ/OiBib29sZWFuIHwgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBhbGVydD86IGJvb2xlYW4gfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGFjdGlvbj86IGJvb2xlYW4gfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHdoaXRlPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBzbnVnPzogYm9vbGVhbiB8IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgYWNjZW50PzogYm9vbGVhbiB8IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgZm9udFNpemU/OiAnc21hbGwnIHwgJ2xhcmdlJztcbiAgQElucHV0KCkgaWNvblN0YXJ0PzogSWNvbnNUIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBpY29uRW5kPzogSWNvbnNUIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBsb2FkaW5nPzogYm9vbGVhbiB8IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgbG9hZGluZ1RleHQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGN1c3RvbUNvbG9yPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUucG9pbnRlci1ldmVudHMnKSBnZXQgcGFyZW50RXZlbnRzKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiAnbm9uZSc7XG4gICAgfVxuICAgIHJldHVybiAnYXV0byc7XG4gIH1cblxuICAvLy0tLSBMb2NhbCB2YXJpYWJsZXNcbiAgaW5wdXRUeXBlOiB0eXBlb2YgdGhpcy50eXBlID0gJ3ByaW1hcnknO1xuICBpbnB1dEZvbnRTaXplOiB0eXBlb2YgdGhpcy5mb250U2l6ZSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgaW5wdXREaXNhYmxlZCA9IGZhbHNlO1xuICBpbnB1dEFsZXJ0ID0gZmFsc2U7XG4gIGlucHV0QWN0aW9uID0gZmFsc2U7XG4gIGlucHV0U251ZyA9IGZhbHNlO1xuICBpbnB1dEFjY2VudCA9IGZhbHNlO1xuICBpbnB1dFdoaXRlID0gZmFsc2U7XG4gIGlucHV0SWNvblN0YXJ0OiB0eXBlb2YgdGhpcy5pY29uU3RhcnQgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gIGlucHV0SWNvbkVuZDogdHlwZW9mIHRoaXMuaWNvbkVuZCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgaW5wdXRMb2FkaW5nID0gZmFsc2U7XG4gIGlucHV0Q3VzdG9tQ29sb3IgPSAnJztcblxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIEBuYW1lICAgICAgICAgIG5nT25DaGFuZ2VzXG4gICAqIEBkZXNjcmlwdGlvbiAgIFVwZGF0ZSB2YXJpb3VzIHZhbHVlcyBvbiBpbnB1dCBjaGFuZ2VzXG4gICAqIEByZXR1cm5zICAgICAgIHt2b2lkfVxuICAgKi9cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIC8vLS0tIFR5cGVcbiAgICB0aGlzLmlucHV0VHlwZSA9XG4gICAgICB2YWxpZGF0ZVN0cmluZ1ZhbHVlPCdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ3RlcnRpYXJ5Jz4oY2hhbmdlcywgJ3R5cGUnLCBbJ3ByaW1hcnknLCAnc2Vjb25kYXJ5JywgJ3RlcnRpYXJ5J10sIHRoaXMuaW5wdXRUeXBlKSB8fCAncHJpbWFyeSc7XG4gICAgLy8tLS0gRm9udCBTaXplXG4gICAgdGhpcy5pbnB1dEZvbnRTaXplID0gdmFsaWRhdGVTdHJpbmdWYWx1ZTwnc21hbGwnIHwgJ2xhcmdlJz4oY2hhbmdlcywgJ2ZvbnRTaXplJywgWydzbWFsbCcsICdsYXJnZSddLCB0aGlzLmlucHV0Rm9udFNpemUpO1xuICAgIC8vLS0tIERpc2FibGVkXG4gICAgdGhpcy5pbnB1dERpc2FibGVkID0gY2hlY2tUcnV0aEF0dHJpYnV0ZShjaGFuZ2VzLCAnZGlzYWJsZWQnLCB0aGlzLmlucHV0RGlzYWJsZWQpO1xuICAgIC8vLS0tIEFsZXJ0XG4gICAgdGhpcy5pbnB1dEFsZXJ0ID0gY2hlY2tUcnV0aEF0dHJpYnV0ZShjaGFuZ2VzLCAnYWxlcnQnLCB0aGlzLmlucHV0QWxlcnQpO1xuICAgIC8vLS0tIEFjdGlvblxuICAgIHRoaXMuaW5wdXRBY3Rpb24gPSBjaGVja1RydXRoQXR0cmlidXRlKGNoYW5nZXMsICdhY3Rpb24nLCB0aGlzLmlucHV0QWN0aW9uKTtcbiAgICAvLy0tLSBTbnVnXG4gICAgdGhpcy5pbnB1dFNudWcgPSBjaGVja1RydXRoQXR0cmlidXRlKGNoYW5nZXMsICdzbnVnJywgdGhpcy5pbnB1dFNudWcpO1xuICAgIC8vLS0tIEFjY2VudFxuICAgIHRoaXMuaW5wdXRBY2NlbnQgPSBjaGVja1RydXRoQXR0cmlidXRlKGNoYW5nZXMsICdhY2NlbnQnLCB0aGlzLmlucHV0QWNjZW50KTtcbiAgICAvLy0tLSBXaGl0ZVxuICAgIHRoaXMuaW5wdXRXaGl0ZSA9IGNoZWNrVHJ1dGhBdHRyaWJ1dGUoY2hhbmdlcywgJ3doaXRlJywgdGhpcy5pbnB1dFdoaXRlKTtcbiAgICAvLy0tLSBJY29uIFN0YXJ0XG4gICAgdGhpcy5pbnB1dEljb25TdGFydCA9IHZhbGlkYXRlU3RyaW5nVmFsdWU8SWNvbnNUPihjaGFuZ2VzLCAnaWNvblN0YXJ0JywgaWNvbnNDLnNsaWNlKCksIHRoaXMuaW5wdXRJY29uU3RhcnQpO1xuICAgIC8vLS0tIEljb24gU3RhcnRcbiAgICB0aGlzLmlucHV0SWNvbkVuZCA9IHZhbGlkYXRlU3RyaW5nVmFsdWU8SWNvbnNUPihjaGFuZ2VzLCAnaWNvbkVuZCcsIGljb25zQy5zbGljZSgpLCB0aGlzLmlucHV0SWNvbkVuZCk7XG4gICAgLy8tLS0gTG9hZGluZ1xuICAgIHRoaXMuaW5wdXRMb2FkaW5nID0gY2hlY2tUcnV0aEF0dHJpYnV0ZShjaGFuZ2VzLCAnbG9hZGluZycsIHRoaXMuaW5wdXRMb2FkaW5nKTtcbiAgICAvLy0tLSBDdXN0b20gY29sb3JcbiAgICBpZiAoY2hhbmdlc1snY3VzdG9tQ29sb3InXT8uY3VycmVudFZhbHVlKSB0aGlzLmlucHV0Q3VzdG9tQ29sb3IgPSB0aGlzLmNoZWNrQ3VzdG9tQ29sb3IoY2hhbmdlc1snY3VzdG9tQ29sb3InXS5jdXJyZW50VmFsdWUpO1xuICB9XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgICAgICAgICBjaGVja0N1c3RvbUNvbG9yXG4gICAqIEBkZXNjcmlwdGlvbiAgIENoZWNrIGlmIHRoZSBjdXN0b20gY29sb3IgaXMgdmFsaWRcbiAgICogQHBhcmFtICAgICAgICAge3N0cmluZ30gY29sb3JcbiAgICogQHJldHVybnMgICAgICAge3N0cmluZ31cbiAgICovXG4gIGNoZWNrQ3VzdG9tQ29sb3IoY29sb3I6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgLy8tLS0gQ2hlY2sgZm9yIGEgY3NzIHZhcmlhYmxlXG4gICAgaWYgKGNvbG9yLnN0YXJ0c1dpdGgoJ3ZhcicpKSByZXR1cm4gY29sb3I7XG4gICAgLy8tLS0gQ2hlY2sgaGV4XG4gICAgaWYgKGNvbG9yLnN0YXJ0c1dpdGgoJyMnKSAmJiAoY29sb3IubGVuZ3RoID09PSA0IHx8IGNvbG9yLmxlbmd0aCA9PT0gNykgJiYgY29sb3Iuc3BsaXQoJycpLmV2ZXJ5KChjaGFyKSA9PiBjaGFyLm1hdGNoKC9bIzAtOWEtZkEtRl0rLykpKVxuICAgICAgcmV0dXJuIGNvbG9yO1xuICAgIHJldHVybiAnJztcbiAgfVxufVxuIiwiPGlvbi1idXR0b25cbiAgW3N0eWxlXT1cIictLWN1c3RvbS1jb2xvcjogJyArIGlucHV0Q3VzdG9tQ29sb3JcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ2NmLWJ1dHRvbi1wcmltYXJ5JzogaW5wdXRUeXBlID09PSAncHJpbWFyeScsXG4gICAgJ2NmLWJ1dHRvbi1zZWNvbmRhcnknOiBpbnB1dFR5cGUgPT09ICdzZWNvbmRhcnknLFxuICAgICdjZi1idXR0b24tdGVydGlhcnknOiBpbnB1dFR5cGUgPT09ICd0ZXJ0aWFyeScsXG4gICAgJ3RleHQtbGFyZ2UnOiBpbnB1dEZvbnRTaXplID09PSAnbGFyZ2UnLFxuICAgICd0ZXh0LXNtYWxsJzogaW5wdXRGb250U2l6ZSA9PT0gJ3NtYWxsJyxcbiAgICBhbGVydDogaW5wdXRBbGVydCxcbiAgICBhY3Rpb246IGlucHV0QWN0aW9uLFxuICAgIHNudWc6IGlucHV0U251ZyxcbiAgICBhY2NlbnQ6IGlucHV0QWNjZW50LFxuICAgIHdoaXRlOiBpbnB1dFdoaXRlLFxuICB9XCJcbiAgbW9kZT1cIm1kXCJcbiAgW2Rpc2FibGVkXT1cImlucHV0RGlzYWJsZWQgfHwgaW5wdXRMb2FkaW5nXCI+XG4gIDxjZi1pY29uICpuZ0lmPVwiaW5wdXRJY29uU3RhcnRcIiBbaWNvbl09XCJpbnB1dEljb25TdGFydFwiIHN0eWxlPVwiLS1jZi1zdmctb3ZlcndyaXRlLXN0cm9rZS1jb2xvcjogdmFyKC0tYnV0dG9uLXRleHQtY29sb3IpXCI+PC9jZi1pY29uPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ1RleHQgJiYgaW5wdXRMb2FkaW5nOyBlbHNlIG9yaWdpbmFsVGV4dFwiPlxuICAgIDxjZi1zcGlubmVyIFtpY29uXT1cImlucHV0SWNvblN0YXJ0XCIgW3NpemVdPVwiaW5wdXRGb250U2l6ZSA9PT0gJ2xhcmdlJyA/IDE2IDogaW5wdXRGb250U2l6ZSA9PT0gJ3NtYWxsJyA/IDEwIDogMTJcIj48L2NmLXNwaW5uZXI+XG4gICAgPHA+e3sgbG9hZGluZ1RleHQgfX08L3A+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI29yaWdpbmFsVGV4dD5cbiAgICA8cCAqY2ZCdXR0b25Mb2FkZXI9XCJpbnB1dExvYWRpbmdcIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9wPlxuICA8L25nLXRlbXBsYXRlPlxuICA8Y2YtaWNvbiAqbmdJZj1cImlucHV0SWNvbkVuZFwiIFtpY29uXT1cImlucHV0SWNvbkVuZFwiIHN0eWxlPVwiLS1jZi1zdmctb3ZlcndyaXRlLXN0cm9rZS1jb2xvcjogdmFyKC0tYnV0dG9uLXRleHQtY29sb3IpXCI+PC9jZi1pY29uPlxuPC9pb24tYnV0dG9uPlxuIl19
|
@@ -1,39 +0,0 @@
|
|
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: "18.2.13", ngImport: i0, type: CalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
23
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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-system-color-success);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", "formatOptions", "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: "18.2.13", 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-system-color-success);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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2FyZWZpcnN0L2xpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFzQyxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQU90RixNQUFNLE9BQU8saUJBQWlCO0lBQ25CLFdBQVcsQ0FBZ0M7SUFDM0MsS0FBSyxDQUF3QjtJQUM3QixHQUFHLEdBQXdCLFNBQVMsQ0FBQztJQUNyQyxHQUFHLEdBQXdCLFNBQVMsQ0FBQztJQUNwQyxLQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUc3QyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ2xCLFVBQVUsR0FBc0IsUUFBUSxDQUFDO0lBT3pDLFdBQVcsQ0FBQyxPQUFzQjtRQUVoQyxJQUFJLENBQUMsU0FBUyxHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTdFLElBQUksQ0FBQyxVQUFVLEdBQUcsbUJBQW1CLENBQXVCLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFFBQVEsQ0FBQztJQUNwSSxDQUFDO0lBUUQsUUFBUSxDQUFDLEtBQTJDO1FBQ2xELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtZQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkgsQ0FBQzt3R0EvQlUsaUJBQWlCOzRGQUFqQixpQkFBaUIscUxDcEI5QiwrT0FTQTs7NEZEV2EsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGFBQWE7OEJBS2QsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDSSxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENhcmVGaXJzdCBMaWJyYXJ5IENhbGVuZGFyXG4gKlxuICogQGZpbGUgICAgICAgICAgY2FsZW5kYXIuY29tcG9uZW50XG4gKiBAZGVzY3JpcHRpb24gICBDb250YWlucyBhbGwgdGhlIGxvZ2ljIGZvciBnZW5lcmF0aW5nIGEgQ2FyZUZpcnN0IENhbGVuZGFyXG4gKiBAYXV0aG9yICAgICAgICBBcm5vIEphbnNlbiB2YW4gVnV1cmVuXG4gKiBAc2luY2UgICAgICAgICAyMDIzIC0gMTIgLSAwMVxuICogQHVzYWdlICAgICAgICAgPGNmLWNhbGVuZGFyICVkaXNwbGF5VGltZSUgJWNvbG9yJT1cInN1Y2Nlc3MgfCBhY2NlbnRcIiAlbWluJSAlbWF4JT48L2NmLWNhbGVuZGFyPlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCB0eXBlIE9uQ2hhbmdlcywgdHlwZSBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuLy8tLS0gVXRpbHNcbmltcG9ydCB7IGNoZWNrVHJ1dGhBdHRyaWJ1dGUsIHZhbGlkYXRlU3RyaW5nVmFsdWUgfSBmcm9tICcuLi8uLi91dGlscy9hdHRyaWJ1dGUudXRpbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NmLWNhbGVuZGFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2NhbGVuZGFyLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBkaXNwbGF5VGltZT86IGJvb2xlYW4gfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGNvbG9yPzogJ3N1Y2Nlc3MnIHwgJ2FjY2VudCc7XG4gIEBJbnB1dCgpIG1pbj86IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgbWF4Pzogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICBAT3V0cHV0KCkgdmFsdWUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvLy0tLSBMb2NhbCB2YXJpYWJsZXNcbiAgaW5wdXRUaW1lID0gZmFsc2U7XG4gIGlucHV0Q29sb3I6IHR5cGVvZiB0aGlzLmNvbG9yID0gJ2FjY2VudCc7XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgICAgICAgICBuZ09uQ2hhbmdlc1xuICAgKiBAZGVzY3JpcHRpb24gICBVcGRhdGUgdmFyaW91cyB2YWx1ZXMgb24gY29tcG9uZW50IGlucHV0IGNoYW5nZXNcbiAgICogQHJldHVybnMgICAgICAge3ZvaWR9XG4gICAqL1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgLy8tLS0gRGlzcGxheSBUaW1lXG4gICAgdGhpcy5pbnB1dFRpbWUgPSBjaGVja1RydXRoQXR0cmlidXRlKGNoYW5nZXMsICdkaXNwbGF5VGltZScsIHRoaXMuaW5wdXRUaW1lKTtcbiAgICAvLy0tLSBDb2xvclxuICAgIHRoaXMuaW5wdXRDb2xvciA9IHZhbGlkYXRlU3RyaW5nVmFsdWU8J3N1Y2Nlc3MnIHwgJ2FjY2VudCc+KGNoYW5nZXMsICdjb2xvcicsIFsnc3VjY2VzcycsICdhY2NlbnQnXSwgdGhpcy5pbnB1dENvbG9yKSB8fCAnYWNjZW50JztcbiAgfVxuXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQG5hbWUgICAgICAgICAgc2V0VmFsdWVcbiAgICogQGRlc2NyaXB0aW9uICAgRW1pdCB0aGUgc2VsZWN0ZWQgZGF0ZSB2YWx1ZVxuICAgKiBAcGFyYW0gICAgICAgICB7c3RyaW5nIHwgc3RyaW5nW10gfCBudWxsIHwgdW5kZWZpbmVkfSB2YWx1ZVxuICAgKiBAcmV0dXJucyAgICAgICB7dm9pZH1cbiAgICovXG4gIHNldFZhbHVlKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykgdGhpcy52YWx1ZS5lbWl0KGRheWpzKHZhbHVlKS5mb3JtYXQoJ1lZWVktTU0tREQnICsgKHRoaXMuaW5wdXRUaW1lID8gJyBISDptbScgOiAnJykpKTtcbiAgfVxufVxuIiwiPGlvbi1kYXRldGltZVxuICBbY2xhc3NdPVwiaW5wdXRDb2xvclwiXG4gIG1vZGU9XCJpb3NcIlxuICBmaXJzdERheU9mV2Vlaz1cIjFcIlxuICBbbWluXT1cIm1pblwiXG4gIFttYXhdPVwibWF4XCJcbiAgW3ByZXNlbnRhdGlvbl09XCJpbnB1dFRpbWUgPyAnZGF0ZS10aW1lJyA6ICdkYXRlJ1wiXG4gIChpb25DaGFuZ2UpPVwic2V0VmFsdWUoJGV2ZW50LmRldGFpbC52YWx1ZSlcIj5cbjwvaW9uLWRhdGV0aW1lPlxuIl19
|
@@ -1,38 +0,0 @@
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
2
|
-
import { checkTruthAttribute, validateStringValue } from '../../utils/attribute.util';
|
3
|
-
import dayjs from 'dayjs';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
import * as i1 from "@angular/common";
|
6
|
-
import * as i2 from "../spacer/spacer.component";
|
7
|
-
export class ChatBubbleComponent {
|
8
|
-
type = 'outgoing';
|
9
|
-
date = '';
|
10
|
-
message = '';
|
11
|
-
darkMode;
|
12
|
-
inputType = 'incoming';
|
13
|
-
inputDate = '';
|
14
|
-
inputMessage = '';
|
15
|
-
inputDarkMode = false;
|
16
|
-
ngOnChanges(changes) {
|
17
|
-
this.inputType = validateStringValue(changes, 'type', ['incoming', 'outgoing'], this.inputType) || 'outgoing';
|
18
|
-
const date = changes['date']?.currentValue ? dayjs(changes['date'].currentValue) : null;
|
19
|
-
this.inputDate = date && date.isValid() ? date.format('HH:mm') : changes['date']?.currentValue || '';
|
20
|
-
this.inputMessage = changes['message']?.currentValue || '';
|
21
|
-
this.inputDarkMode = checkTruthAttribute(changes, 'darkMode', this.inputDarkMode);
|
22
|
-
}
|
23
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChatBubbleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
24
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ChatBubbleComponent, selector: "cf-chat-bubble", inputs: { type: "type", date: "date", message: "message", darkMode: "darkMode" }, usesOnChanges: true, ngImport: i0, template: "<div id=\"container\" [ngClass]=\"inputType\">\n <div id=\"message\">\n <p class=\"body-extra-small\" [ngClass]=\"{ light: inputDarkMode }\">{{ 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 p.light{color:var(--cf-app-text-color-light)}#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"] }] });
|
25
|
-
}
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChatBubbleComponent, decorators: [{
|
27
|
-
type: Component,
|
28
|
-
args: [{ selector: 'cf-chat-bubble', template: "<div id=\"container\" [ngClass]=\"inputType\">\n <div id=\"message\">\n <p class=\"body-extra-small\" [ngClass]=\"{ light: inputDarkMode }\">{{ 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 p.light{color:var(--cf-app-text-color-light)}#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"] }]
|
29
|
-
}], propDecorators: { type: [{
|
30
|
-
type: Input
|
31
|
-
}], date: [{
|
32
|
-
type: Input
|
33
|
-
}], message: [{
|
34
|
-
type: Input
|
35
|
-
}], darkMode: [{
|
36
|
-
type: Input
|
37
|
-
}] } });
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1idWJibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2FyZWZpcnN0L2xpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL2NoYXQtYnViYmxlL2NoYXQtYnViYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9jaGF0LWJ1YmJsZS9jaGF0LWJ1YmJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBc0MsTUFBTSxlQUFlLENBQUM7QUFFckYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEYsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDOzs7O0FBTzFCLE1BQU0sT0FBTyxtQkFBbUI7SUFDckIsSUFBSSxHQUE0QixVQUFVLENBQUM7SUFDM0MsSUFBSSxHQUFXLEVBQUUsQ0FBQztJQUNsQixPQUFPLEdBQVcsRUFBRSxDQUFDO0lBQ3JCLFFBQVEsQ0FBZ0M7SUFHakQsU0FBUyxHQUFxQixVQUFVLENBQUM7SUFDekMsU0FBUyxHQUFxQixFQUFFLENBQUM7SUFDakMsWUFBWSxHQUF3QixFQUFFLENBQUM7SUFDdkMsYUFBYSxHQUFHLEtBQUssQ0FBQztJQU90QixXQUFXLENBQUMsT0FBc0I7UUFFaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxtQkFBbUIsQ0FBbUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksVUFBVSxDQUFDO1FBRWhJLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN4RixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxZQUFZLElBQUksRUFBRSxDQUFDO1FBRXJHLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLFlBQVksSUFBSSxFQUFFLENBQUM7UUFFM0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNwRixDQUFDO3dHQTNCVSxtQkFBbUI7NEZBQW5CLG1CQUFtQiw2SkNwQmhDLHNVQVNBOzs0RkRXYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsZ0JBQWdCOzhCQUtqQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDYXJlRmlyc3QgQ2hhdCBCdWJibGVcbiAqXG4gKiBAZmlsZSAgICAgICAgICBjaGF0LWJ1YmJsZS5jb21wb25lbnRcbiAqIEBkZXNjcmlwdGlvbiAgIENvbnRhaW5zIGFsbCB0aGUgbG9naWMgZm9yIGdlbmVyYXRpbmcgYSBDYXJlRmlyc3QgQ2hhdCBCdWJibGVcbiAqIEBhdXRob3IgICAgICAgIEphY3F1ZXMgQ29ldHplZVxuICogQHNpbmNlICAgICAgICAgMjAyNCAtIDAyIC0gMjJcbiAqIEB1c2FnZSAgICAgICAgIDxjZi1jaGF0LWJ1YmJsZSB0eXBlPVwib3V0Z29pbmcgfCBpbmNvbWluZ1wiIGRhdGU9XCJzdHJpbmdcIiBtZXNzYWdlPVwic3RyaW5nXCIgJWRhcmtNb2RlJT48L2NmLWNoYXQtYnViYmxlPlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIHR5cGUgT25DaGFuZ2VzLCB0eXBlIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbi8vLS0tIFV0aWxzXG5pbXBvcnQgeyBjaGVja1RydXRoQXR0cmlidXRlLCB2YWxpZGF0ZVN0cmluZ1ZhbHVlIH0gZnJvbSAnLi4vLi4vdXRpbHMvYXR0cmlidXRlLnV0aWwnO1xuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2YtY2hhdC1idWJibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hhdC1idWJibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY2hhdC1idWJibGUuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBDaGF0QnViYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgdHlwZTogJ291dGdvaW5nJyB8ICdpbmNvbWluZycgPSAnb3V0Z29pbmcnO1xuICBASW5wdXQoKSBkYXRlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgbWVzc2FnZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGRhcmtNb2RlPzogc3RyaW5nIHwgYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAvLy0tLSBMb2NhbCB2YXJpYWJsZXNcbiAgaW5wdXRUeXBlOiB0eXBlb2YgdGhpcy50eXBlID0gJ2luY29taW5nJztcbiAgaW5wdXREYXRlOiB0eXBlb2YgdGhpcy5kYXRlID0gJyc7XG4gIGlucHV0TWVzc2FnZTogdHlwZW9mIHRoaXMubWVzc2FnZSA9ICcnO1xuICBpbnB1dERhcmtNb2RlID0gZmFsc2U7XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgICAgICAgICBuZ09uQ2hhbmdlc1xuICAgKiBAZGVzY3JpcHRpb24gICBVcGRhdGUgdmFyaW91cyB2YWx1ZXMgb24gaW5wdXQgY2hhbmdlc1xuICAgKiBAcmV0dXJucyAgICAgICB7dm9pZH1cbiAgICovXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAvLy0tLSBUeXBlXG4gICAgdGhpcy5pbnB1dFR5cGUgPSB2YWxpZGF0ZVN0cmluZ1ZhbHVlPHR5cGVvZiB0aGlzLnR5cGU+KGNoYW5nZXMsICd0eXBlJywgWydpbmNvbWluZycsICdvdXRnb2luZyddLCB0aGlzLmlucHV0VHlwZSkgfHwgJ291dGdvaW5nJztcbiAgICAvLy0tLSBEYXRlXG4gICAgY29uc3QgZGF0ZSA9IGNoYW5nZXNbJ2RhdGUnXT8uY3VycmVudFZhbHVlID8gZGF5anMoY2hhbmdlc1snZGF0ZSddLmN1cnJlbnRWYWx1ZSkgOiBudWxsO1xuICAgIHRoaXMuaW5wdXREYXRlID0gZGF0ZSAmJiBkYXRlLmlzVmFsaWQoKSA/IGRhdGUuZm9ybWF0KCdISDptbScpIDogY2hhbmdlc1snZGF0ZSddPy5jdXJyZW50VmFsdWUgfHwgJyc7XG4gICAgLy8tLS0gTWVzc2FnZVxuICAgIHRoaXMuaW5wdXRNZXNzYWdlID0gY2hhbmdlc1snbWVzc2FnZSddPy5jdXJyZW50VmFsdWUgfHwgJyc7XG4gICAgLy8tLS0gRGFyayBNb2RlXG4gICAgdGhpcy5pbnB1dERhcmtNb2RlID0gY2hlY2tUcnV0aEF0dHJpYnV0ZShjaGFuZ2VzLCAnZGFya01vZGUnLCB0aGlzLmlucHV0RGFya01vZGUpO1xuICB9XG59XG4iLCI8ZGl2IGlkPVwiY29udGFpbmVyXCIgW25nQ2xhc3NdPVwiaW5wdXRUeXBlXCI+XG4gIDxkaXYgaWQ9XCJtZXNzYWdlXCI+XG4gICAgPHAgY2xhc3M9XCJib2R5LWV4dHJhLXNtYWxsXCIgW25nQ2xhc3NdPVwieyBsaWdodDogaW5wdXREYXJrTW9kZSB9XCI+e3sgaW5wdXREYXRlIH19PC9wPlxuICAgIDxjZi1zcGFjZXIgZGVmYXVsdD1cIjRcIj48L2NmLXNwYWNlcj5cbiAgICA8ZGl2IGlkPVwiYnViYmxlXCI+XG4gICAgICA8cCBjbGFzcz1cImJvZHktZXh0cmEtc21hbGxcIj57eyBpbnB1dE1lc3NhZ2UgfX08L3A+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|