@klippa/ngx-enhancy-forms 10.2.0 → 11.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/esm2020/klippa-ngx-enhancy-forms.mjs +5 -0
- package/esm2020/lib/elements/button/button.component.mjs +57 -0
- package/esm2020/lib/elements/checkbox/checkbox.component.mjs +23 -0
- package/esm2020/lib/elements/date-picker/date-picker.component.mjs +108 -0
- package/esm2020/lib/elements/date-time-picker/date-time-picker.component.mjs +360 -0
- package/esm2020/lib/elements/email/email-input.component.mjs +20 -0
- package/esm2020/lib/elements/file-input/file-input.component.mjs +71 -0
- package/esm2020/lib/elements/hour-minute-input/hour-minute-input.component.mjs +90 -0
- package/esm2020/lib/elements/loading-indicator/loading-indicator.component.mjs +20 -0
- package/esm2020/lib/elements/number-input/number-input.component.mjs +31 -0
- package/esm2020/lib/elements/password-field/password-field.component.mjs +21 -0
- package/esm2020/lib/elements/select/select-footer/select-footer.component.mjs +15 -0
- package/esm2020/lib/elements/select/select.component.mjs +129 -0
- package/esm2020/lib/elements/sortable-grouped-items/sortable-grouped-items.component.mjs +51 -0
- package/esm2020/lib/elements/sortable-items/sortable-items.component.mjs +70 -0
- package/esm2020/lib/elements/text-input/text-input.component.mjs +28 -0
- package/esm2020/lib/elements/toggle/toggle.component.mjs +15 -0
- package/esm2020/lib/elements/value-accessor-base/multiple-value-accessor-base.component.mjs +61 -0
- package/esm2020/lib/elements/value-accessor-base/value-accessor-base.component.mjs +144 -0
- package/esm2020/lib/form/form-caption/form-caption.component.mjs +36 -0
- package/esm2020/lib/form/form-element/form-element.component.mjs +124 -0
- package/esm2020/lib/form/form-error/form-error.component.mjs +39 -0
- package/esm2020/lib/form/form-submit-button/form-submit-button.component.mjs +61 -0
- package/esm2020/lib/form/form.component.mjs +180 -0
- package/esm2020/lib/material.module.mjs +22 -0
- package/esm2020/lib/ngx-enhancy-forms.module.mjs +158 -0
- package/esm2020/lib/types.mjs +2 -0
- package/esm2020/lib/util/arrays.mjs +45 -0
- package/esm2020/lib/util/values.mjs +23 -0
- package/esm2020/lib/validators/dateValidator.mjs +6 -0
- package/esm2020/lib/validators/timeValidator.mjs +6 -0
- package/esm2020/public-api.mjs +30 -0
- package/fesm2015/klippa-ngx-enhancy-forms.mjs +1894 -0
- package/fesm2015/klippa-ngx-enhancy-forms.mjs.map +1 -0
- package/fesm2020/klippa-ngx-enhancy-forms.mjs +1858 -0
- package/fesm2020/klippa-ngx-enhancy-forms.mjs.map +1 -0
- package/{klippa-ngx-enhancy-forms.d.ts → index.d.ts} +1 -1
- package/lib/elements/button/button.component.d.ts +4 -1
- package/lib/elements/checkbox/checkbox.component.d.ts +3 -0
- package/lib/elements/date-picker/date-picker.component.d.ts +3 -0
- package/lib/elements/date-time-picker/date-time-picker.component.d.ts +3 -0
- package/lib/elements/email/email-input.component.d.ts +3 -0
- package/lib/elements/file-input/file-input.component.d.ts +3 -0
- package/lib/elements/hour-minute-input/hour-minute-input.component.d.ts +3 -0
- package/lib/elements/loading-indicator/loading-indicator.component.d.ts +3 -0
- package/lib/elements/number-input/number-input.component.d.ts +3 -0
- package/lib/elements/password-field/password-field.component.d.ts +3 -0
- package/lib/elements/select/select-footer/select-footer.component.d.ts +3 -0
- package/lib/elements/select/select.component.d.ts +5 -0
- package/lib/elements/sortable-grouped-items/sortable-grouped-items.component.d.ts +3 -0
- package/lib/elements/sortable-items/sortable-items.component.d.ts +3 -0
- package/lib/elements/text-input/text-input.component.d.ts +3 -0
- package/lib/elements/toggle/toggle.component.d.ts +3 -0
- package/lib/elements/value-accessor-base/multiple-value-accessor-base.component.d.ts +3 -0
- package/lib/elements/value-accessor-base/value-accessor-base.component.d.ts +5 -2
- package/lib/form/form-caption/form-caption.component.d.ts +3 -0
- package/lib/form/form-element/form-element.component.d.ts +7 -4
- package/lib/form/form-error/form-error.component.d.ts +3 -0
- package/lib/form/form-submit-button/form-submit-button.component.d.ts +3 -0
- package/lib/form/form.component.d.ts +10 -5
- package/lib/material.module.d.ts +9 -0
- package/lib/ngx-enhancy-forms.module.d.ts +32 -0
- package/package.json +29 -16
- package/src/lib/form/README.md +1 -0
- package/bundles/klippa-ngx-enhancy-forms.umd.js +0 -2177
- package/bundles/klippa-ngx-enhancy-forms.umd.js.map +0 -1
- package/bundles/klippa-ngx-enhancy-forms.umd.min.js +0 -17
- package/bundles/klippa-ngx-enhancy-forms.umd.min.js.map +0 -1
- package/esm2015/klippa-ngx-enhancy-forms.js +0 -6
- package/esm2015/lib/elements/button/button.component.js +0 -49
- package/esm2015/lib/elements/checkbox/checkbox.component.js +0 -22
- package/esm2015/lib/elements/date-picker/date-picker.component.js +0 -95
- package/esm2015/lib/elements/date-time-picker/date-time-picker.component.js +0 -330
- package/esm2015/lib/elements/email/email-input.component.js +0 -21
- package/esm2015/lib/elements/file-input/file-input.component.js +0 -66
- package/esm2015/lib/elements/hour-minute-input/hour-minute-input.component.js +0 -90
- package/esm2015/lib/elements/loading-indicator/loading-indicator.component.js +0 -19
- package/esm2015/lib/elements/number-input/number-input.component.js +0 -30
- package/esm2015/lib/elements/password-field/password-field.component.js +0 -21
- package/esm2015/lib/elements/select/select-footer/select-footer.component.js +0 -15
- package/esm2015/lib/elements/select/select.component.js +0 -104
- package/esm2015/lib/elements/sortable-grouped-items/sortable-grouped-items.component.js +0 -49
- package/esm2015/lib/elements/sortable-items/sortable-items.component.js +0 -67
- package/esm2015/lib/elements/text-input/text-input.component.js +0 -25
- package/esm2015/lib/elements/toggle/toggle.component.js +0 -14
- package/esm2015/lib/elements/value-accessor-base/multiple-value-accessor-base.component.js +0 -54
- package/esm2015/lib/elements/value-accessor-base/value-accessor-base.component.js +0 -135
- package/esm2015/lib/form/form-caption/form-caption.component.js +0 -35
- package/esm2015/lib/form/form-element/form-element.component.js +0 -118
- package/esm2015/lib/form/form-error/form-error.component.js +0 -37
- package/esm2015/lib/form/form-submit-button/form-submit-button.component.js +0 -53
- package/esm2015/lib/form/form.component.js +0 -173
- package/esm2015/lib/material.module.js +0 -17
- package/esm2015/lib/ngx-enhancy-forms.module.js +0 -97
- package/esm2015/lib/types.js +0 -2
- package/esm2015/lib/util/arrays.js +0 -45
- package/esm2015/lib/util/values.js +0 -23
- package/esm2015/lib/validators/dateValidator.js +0 -6
- package/esm2015/lib/validators/timeValidator.js +0 -6
- package/esm2015/public-api.js +0 -30
- package/fesm2015/klippa-ngx-enhancy-forms.js +0 -1715
- package/fesm2015/klippa-ngx-enhancy-forms.js.map +0 -1
- package/klippa-ngx-enhancy-forms.metadata.json +0 -1
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2xpcHBhLW5neC1lbmhhbmN5LWZvcm1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMva2xpcHBhL25neC1lbmhhbmN5LWZvcm1zL3NyYy9rbGlwcGEtbmd4LWVuaGFuY3ktZm9ybXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Component, HostBinding, Input } from '@angular/core';
|
|
2
|
+
import { isValueSet } from "../../util/values";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "../loading-indicator/loading-indicator.component";
|
|
6
|
+
export class ButtonComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.variant = 'white';
|
|
9
|
+
this.size = 'medium';
|
|
10
|
+
this.fullWidth = false;
|
|
11
|
+
this.hasBorder = true;
|
|
12
|
+
this.disabled = false;
|
|
13
|
+
this.isLoading = false;
|
|
14
|
+
this.type = 'button';
|
|
15
|
+
}
|
|
16
|
+
get _() {
|
|
17
|
+
return this.fullWidth;
|
|
18
|
+
}
|
|
19
|
+
async onClick(event) {
|
|
20
|
+
if (this.disabled) {
|
|
21
|
+
event.stopPropagation();
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (isValueSet(this.clickCallback)) {
|
|
25
|
+
this.isLoading = true;
|
|
26
|
+
await this.clickCallback(event).finally(() => {
|
|
27
|
+
this.isLoading = false;
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
+
ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: ButtonComponent, selector: "klp-form-button", inputs: { variant: "variant", size: "size", fullWidth: "fullWidth", hasBorder: "hasBorder", disabled: "disabled", isLoading: "isLoading", type: "type", clickCallback: "clickCallback" }, host: { properties: { "class._fullWidth": "this._" } }, ngImport: i0, template: "<button class=\"buttonFundamentals\"\n\t[ngClass]=\"[\n\t\tvariant,\n\t\tsize,\n\t\tfullWidth ? 'fullWidth' : '',\n\t\thasBorder ? '' : 'no-border',\n\t\tdisabled ? 'disabled' : ''\n\t]\"\n\t[type]=\"type\"\n\t(click)=\"onClick($event)\"\n>\n\t<div class=\"caption\" [ngClass]=\"{invisible: isLoading}\">\n\t\t<ng-content></ng-content>\n\t</div>\n\t<div class=\"loadingSpinnerContainer\" *ngIf=\"isLoading\">\n\t\t<klp-form-loading-indicator variant=\"spinner\" size=\"small\"></klp-form-loading-indicator>\n\t</div>\n</button>\n", styles: [":host{display:inline-block}:host._fullWidth{display:block}.buttonFundamentals{cursor:pointer;letter-spacing:1px;font-size:13px;font-weight:700;padding:0 20px;border:1px solid #e6ecf5;border-radius:5px;color:#888da8;height:2.625rem}.buttonFundamentals.disabled{cursor:not-allowed}.buttonFundamentals.tiny{font-size:.75rem;font-weight:400;height:2rem}.buttonFundamentals.large{height:3rem}.fullWidth{width:100%}.no-border{border:none}.caption.invisible{visibility:hidden}button{position:relative}.loadingSpinnerContainer{position:absolute;inset:0;display:flex;justify-content:center;align-items:center}.white{color:#515365;background-color:#fff;border-color:#d4deee;font-weight:500}.white:hover,.white:active{color:#515365;background-color:#edf2f8;border-color:#edf2f8}.white:focus{text-decoration:underline}.greenFilled{background-color:#27bb5f;border-color:#27bb5f;color:#fff}.greenFilled:hover{color:#fff;background-color:#2bd06a;border-color:#2bd06a}.greenFilled:focus{text-decoration:underline}.greenFilled:active{background-color:#23a654;border-color:#23a654}.greenOutlined{background-color:#fff;border-color:#27bb5f;color:#27bb5f}.greenOutlined:hover{color:#fff;background-color:#2bd06a;border-color:#2bd06a}.greenOutlined:focus{text-decoration:underline}.greenOutlined:active{background-color:#23a654;border-color:#23a654}.greenLink{color:#27bb5f;border:none;background:none;padding:0}.greenLink:hover,.greenLink:focus{text-decoration:underline}.contextMenuItem{color:#888da8;background-color:#fff;border-color:#fff}.contextMenuItem:hover{background-color:#f6f7fb;border-color:#f6f7fb}.contextMenuItem:focus,.contextMenuItem:active{text-decoration:underline}.redFilled{color:#fff;background-color:#dc3545;border-color:#dc3545}.redFilled:hover{color:#fff;background-color:#e04b59;border-color:#e04b59}.redFilled:focus{text-decoration:underline}.redFilled:active{background-color:#d32535;border-color:#d32535}.redOutlined{color:#dc3545;background-color:#fff;border-color:#dc3545}.redOutlined:hover{color:#fff;background-color:#e04b59;border-color:#e04b59}.redOutlined:focus{text-decoration:underline}.redOutlined:active{background-color:#d32535;border-color:#d32535}.orangeFilled{color:#fff;background-color:#ff8000;border-color:#ff8000}.orangeFilled:hover{color:#fff;background-color:#ff8d1a;border-color:#ff8d1a}.orangeFilled:focus{text-decoration:underline}.orangeFilled:active{background-color:#e67300;border-color:#e67300}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.LoadingIndicatorComponent, selector: "klp-form-loading-indicator", inputs: ["variant", "size"] }] });
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
35
|
+
type: Component,
|
|
36
|
+
args: [{ selector: 'klp-form-button', template: "<button class=\"buttonFundamentals\"\n\t[ngClass]=\"[\n\t\tvariant,\n\t\tsize,\n\t\tfullWidth ? 'fullWidth' : '',\n\t\thasBorder ? '' : 'no-border',\n\t\tdisabled ? 'disabled' : ''\n\t]\"\n\t[type]=\"type\"\n\t(click)=\"onClick($event)\"\n>\n\t<div class=\"caption\" [ngClass]=\"{invisible: isLoading}\">\n\t\t<ng-content></ng-content>\n\t</div>\n\t<div class=\"loadingSpinnerContainer\" *ngIf=\"isLoading\">\n\t\t<klp-form-loading-indicator variant=\"spinner\" size=\"small\"></klp-form-loading-indicator>\n\t</div>\n</button>\n", styles: [":host{display:inline-block}:host._fullWidth{display:block}.buttonFundamentals{cursor:pointer;letter-spacing:1px;font-size:13px;font-weight:700;padding:0 20px;border:1px solid #e6ecf5;border-radius:5px;color:#888da8;height:2.625rem}.buttonFundamentals.disabled{cursor:not-allowed}.buttonFundamentals.tiny{font-size:.75rem;font-weight:400;height:2rem}.buttonFundamentals.large{height:3rem}.fullWidth{width:100%}.no-border{border:none}.caption.invisible{visibility:hidden}button{position:relative}.loadingSpinnerContainer{position:absolute;inset:0;display:flex;justify-content:center;align-items:center}.white{color:#515365;background-color:#fff;border-color:#d4deee;font-weight:500}.white:hover,.white:active{color:#515365;background-color:#edf2f8;border-color:#edf2f8}.white:focus{text-decoration:underline}.greenFilled{background-color:#27bb5f;border-color:#27bb5f;color:#fff}.greenFilled:hover{color:#fff;background-color:#2bd06a;border-color:#2bd06a}.greenFilled:focus{text-decoration:underline}.greenFilled:active{background-color:#23a654;border-color:#23a654}.greenOutlined{background-color:#fff;border-color:#27bb5f;color:#27bb5f}.greenOutlined:hover{color:#fff;background-color:#2bd06a;border-color:#2bd06a}.greenOutlined:focus{text-decoration:underline}.greenOutlined:active{background-color:#23a654;border-color:#23a654}.greenLink{color:#27bb5f;border:none;background:none;padding:0}.greenLink:hover,.greenLink:focus{text-decoration:underline}.contextMenuItem{color:#888da8;background-color:#fff;border-color:#fff}.contextMenuItem:hover{background-color:#f6f7fb;border-color:#f6f7fb}.contextMenuItem:focus,.contextMenuItem:active{text-decoration:underline}.redFilled{color:#fff;background-color:#dc3545;border-color:#dc3545}.redFilled:hover{color:#fff;background-color:#e04b59;border-color:#e04b59}.redFilled:focus{text-decoration:underline}.redFilled:active{background-color:#d32535;border-color:#d32535}.redOutlined{color:#dc3545;background-color:#fff;border-color:#dc3545}.redOutlined:hover{color:#fff;background-color:#e04b59;border-color:#e04b59}.redOutlined:focus{text-decoration:underline}.redOutlined:active{background-color:#d32535;border-color:#d32535}.orangeFilled{color:#fff;background-color:#ff8000;border-color:#ff8000}.orangeFilled:hover{color:#fff;background-color:#ff8d1a;border-color:#ff8d1a}.orangeFilled:focus{text-decoration:underline}.orangeFilled:active{background-color:#e67300;border-color:#e67300}\n"] }]
|
|
37
|
+
}], propDecorators: { variant: [{
|
|
38
|
+
type: Input
|
|
39
|
+
}], size: [{
|
|
40
|
+
type: Input
|
|
41
|
+
}], fullWidth: [{
|
|
42
|
+
type: Input
|
|
43
|
+
}], hasBorder: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}], disabled: [{
|
|
46
|
+
type: Input
|
|
47
|
+
}], isLoading: [{
|
|
48
|
+
type: Input
|
|
49
|
+
}], type: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}], clickCallback: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}], _: [{
|
|
54
|
+
type: HostBinding,
|
|
55
|
+
args: ['class._fullWidth']
|
|
56
|
+
}] } });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsaXBwYS9uZ3gtZW5oYW5jeS1mb3Jtcy9zcmMvbGliL2VsZW1lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xpcHBhL25neC1lbmhhbmN5LWZvcm1zL3NyYy9saWIvZWxlbWVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLG1CQUFtQixDQUFDOzs7O0FBTzdDLE1BQU0sT0FBTyxlQUFlO0lBTDVCO1FBTVUsWUFBTyxHQVFJLE9BQU8sQ0FBQztRQUNuQixTQUFJLEdBQWlDLFFBQVEsQ0FBQztRQUM5QyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLFNBQUksR0FBd0IsUUFBUSxDQUFDO0tBb0I5QztJQWpCQSxJQUFxQyxDQUFDO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN2QixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFZO1FBQ3pCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDeEIsT0FBTTtTQUNOO1FBRUQsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFO2dCQUM1QyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN4QixDQUFDLENBQUMsQ0FBQztTQUNIO0lBQ0YsQ0FBQzs7NEdBbENXLGVBQWU7Z0dBQWYsZUFBZSx5U0NSNUIsbWhCQWtCQTsyRkRWYSxlQUFlO2tCQUwzQixTQUFTOytCQUNDLGlCQUFpQjs4QkFLbEIsT0FBTztzQkFBZixLQUFLO2dCQVNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUUrQixDQUFDO3NCQUFyQyxXQUFXO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2lzVmFsdWVTZXR9IGZyb20gXCIuLi8uLi91dGlsL3ZhbHVlc1wiO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdrbHAtZm9ybS1idXR0b24nLFxuXHR0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCB7XG5cdEBJbnB1dCgpIHZhcmlhbnQ6XG5cdFx0fCAnd2hpdGUnXG5cdFx0fCAnZ3JlZW5GaWxsZWQnXG5cdFx0fCAnZ3JlZW5PdXRsaW5lZCdcblx0XHR8ICdncmVlbkxpbmsnXG5cdFx0fCAnY29udGV4dE1lbnVJdGVtJ1xuXHRcdHwgJ3JlZEZpbGxlZCdcblx0XHR8ICdyZWRPdXRsaW5lZCdcblx0XHR8ICdvcmFuZ2VGaWxsZWQnID0gJ3doaXRlJztcblx0QElucHV0KCkgc2l6ZTogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyA9ICdtZWRpdW0nO1xuXHRASW5wdXQoKSBmdWxsV2lkdGggPSBmYWxzZTtcblx0QElucHV0KCkgaGFzQm9yZGVyID0gdHJ1ZTtcblx0QElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcblx0QElucHV0KCkgaXNMb2FkaW5nID0gZmFsc2U7XG5cdEBJbnB1dCgpIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgPSAnYnV0dG9uJztcblx0QElucHV0KCkgY2xpY2tDYWxsYmFjazogKGV2ZW50OiBFdmVudCkgPT4gUHJvbWlzZTxhbnk+O1xuXG5cdEBIb3N0QmluZGluZygnY2xhc3MuX2Z1bGxXaWR0aCcpIGdldCBfKCkge1xuXHRcdHJldHVybiB0aGlzLmZ1bGxXaWR0aDtcblx0fVxuXG5cdGFzeW5jIG9uQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG5cdFx0aWYgKHRoaXMuZGlzYWJsZWQpIHtcblx0XHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdFx0cmV0dXJuXG5cdFx0fVxuXG5cdFx0aWYgKGlzVmFsdWVTZXQodGhpcy5jbGlja0NhbGxiYWNrKSkge1xuXHRcdFx0dGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuXHRcdFx0YXdhaXQgdGhpcy5jbGlja0NhbGxiYWNrKGV2ZW50KS5maW5hbGx5KCgpID0+IHtcblx0XHRcdFx0dGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcblx0XHRcdH0pO1xuXHRcdH1cblx0fVxufVxuIiwiPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbkZ1bmRhbWVudGFsc1wiXG5cdFtuZ0NsYXNzXT1cIltcblx0XHR2YXJpYW50LFxuXHRcdHNpemUsXG5cdFx0ZnVsbFdpZHRoID8gJ2Z1bGxXaWR0aCcgOiAnJyxcblx0XHRoYXNCb3JkZXIgPyAnJyA6ICduby1ib3JkZXInLFxuXHRcdGRpc2FibGVkID8gJ2Rpc2FibGVkJyA6ICcnXG5cdF1cIlxuXHRbdHlwZV09XCJ0eXBlXCJcblx0KGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4+XG5cdDxkaXYgY2xhc3M9XCJjYXB0aW9uXCIgW25nQ2xhc3NdPVwie2ludmlzaWJsZTogaXNMb2FkaW5nfVwiPlxuXHRcdDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblx0PC9kaXY+XG5cdDxkaXYgY2xhc3M9XCJsb2FkaW5nU3Bpbm5lckNvbnRhaW5lclwiICpuZ0lmPVwiaXNMb2FkaW5nXCI+XG5cdFx0PGtscC1mb3JtLWxvYWRpbmctaW5kaWNhdG9yIHZhcmlhbnQ9XCJzcGlubmVyXCIgc2l6ZT1cInNtYWxsXCI+PC9rbHAtZm9ybS1sb2FkaW5nLWluZGljYXRvcj5cblx0PC9kaXY+XG48L2J1dHRvbj5cbiJdfQ==
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { ValueAccessorBase } from '../value-accessor-base/value-accessor-base.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "@angular/forms";
|
|
7
|
+
export class CheckboxComponent extends ValueAccessorBase {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.renderUndefinedAsIndeterminate = false;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
CheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: CheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
+
CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: CheckboxComponent, selector: "klp-form-checkbox", inputs: { caption: "caption", renderUndefinedAsIndeterminate: "renderUndefinedAsIndeterminate" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: CheckboxComponent, multi: true }], usesInheritance: true, ngImport: i0, template: "<label class=\"componentContainer\">\n\t<div class=\"checkboxContainer\">\n\t\t<input type=\"checkbox\" class=\"checkboxNative\"\n\t\t\t[(ngModel)]=\"innerValue\"\n\t\t\t(change)=\"setInnerValueAndNotify(innerValue); touch()\"\n\t\t\t[disabled]=\"disabled\"\n\t\t/>\n <div class=\"checkboxVisual\">\n <svg *ngIf=\"innerValue === true\" version=\"1.1\" viewBox=\"0 0 4.2333 4.2333\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"m0.17014 2.7065 1.3073 1.1798 2.5656-3.7404\" stroke=\"currentColor\" fill=\"none\" stroke-width=\".4646px\" />\n </svg>\n\t\t\t<svg *ngIf=\"renderUndefinedAsIndeterminate && innerValue === undefined\" version=\"1.1\" viewBox=\"0 0 4.2333 4.2333\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t<path d=\"m0.5 2.11665 3.2333 0\" stroke=\"currentColor\" fill=\"none\" stroke-width=\".4646px\" />\n\t\t\t</svg>\n </div>\n\t</div>\n\t<div *ngIf=\"caption\" class=\"caption\">{{ caption }}</div>\n</label>\n", styles: [":host{display:block}.componentContainer{display:flex;margin-bottom:0}.checkboxContainer{position:relative}.caption{cursor:pointer;font-weight:700;color:#888da8}.checkboxNative{position:absolute;opacity:0;top:0;left:0;width:22px;height:22px;cursor:pointer}.checkboxVisual{pointer-events:none;color:#27bb5f;padding:.125rem;width:22px;height:22px;display:inline-block;border:2px solid #e6ecf5;border-radius:3px;margin-right:10px;font-size:15px;font-weight:400;line-height:19px;vertical-align:bottom;text-align:center;background-color:#fff;cursor:pointer}.checkboxNative[disabled]{cursor:not-allowed}.checkboxNative[disabled]+.checkboxVisual:before{color:#666}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: CheckboxComponent, decorators: [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{ selector: 'klp-form-checkbox', providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: CheckboxComponent, multi: true }], template: "<label class=\"componentContainer\">\n\t<div class=\"checkboxContainer\">\n\t\t<input type=\"checkbox\" class=\"checkboxNative\"\n\t\t\t[(ngModel)]=\"innerValue\"\n\t\t\t(change)=\"setInnerValueAndNotify(innerValue); touch()\"\n\t\t\t[disabled]=\"disabled\"\n\t\t/>\n <div class=\"checkboxVisual\">\n <svg *ngIf=\"innerValue === true\" version=\"1.1\" viewBox=\"0 0 4.2333 4.2333\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"m0.17014 2.7065 1.3073 1.1798 2.5656-3.7404\" stroke=\"currentColor\" fill=\"none\" stroke-width=\".4646px\" />\n </svg>\n\t\t\t<svg *ngIf=\"renderUndefinedAsIndeterminate && innerValue === undefined\" version=\"1.1\" viewBox=\"0 0 4.2333 4.2333\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t<path d=\"m0.5 2.11665 3.2333 0\" stroke=\"currentColor\" fill=\"none\" stroke-width=\".4646px\" />\n\t\t\t</svg>\n </div>\n\t</div>\n\t<div *ngIf=\"caption\" class=\"caption\">{{ caption }}</div>\n</label>\n", styles: [":host{display:block}.componentContainer{display:flex;margin-bottom:0}.checkboxContainer{position:relative}.caption{cursor:pointer;font-weight:700;color:#888da8}.checkboxNative{position:absolute;opacity:0;top:0;left:0;width:22px;height:22px;cursor:pointer}.checkboxVisual{pointer-events:none;color:#27bb5f;padding:.125rem;width:22px;height:22px;display:inline-block;border:2px solid #e6ecf5;border-radius:3px;margin-right:10px;font-size:15px;font-weight:400;line-height:19px;vertical-align:bottom;text-align:center;background-color:#fff;cursor:pointer}.checkboxNative[disabled]{cursor:not-allowed}.checkboxNative[disabled]+.checkboxVisual:before{color:#666}\n"] }]
|
|
18
|
+
}], propDecorators: { caption: [{
|
|
19
|
+
type: Input
|
|
20
|
+
}], renderUndefinedAsIndeterminate: [{
|
|
21
|
+
type: Input
|
|
22
|
+
}] } });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xpcHBhL25neC1lbmhhbmN5LWZvcm1zL3NyYy9saWIvZWxlbWVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xpcHBhL25neC1lbmhhbmN5LWZvcm1zL3NyYy9saWIvZWxlbWVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0RBQXNELENBQUM7Ozs7QUFRekYsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGlCQUEwQjtJQU5qRTs7UUFRVSxtQ0FBOEIsR0FBRyxLQUFLLENBQUM7S0FDaEQ7OzhHQUhZLGlCQUFpQjtrR0FBakIsaUJBQWlCLDhJQUZsQixDQUFDLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsaURDUnpGLGc4QkFrQkE7MkZEUmEsaUJBQWlCO2tCQU43QixTQUFTOytCQUNDLG1CQUFtQixhQUdsQixDQUFDLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDOzhCQUcvRSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csOEJBQThCO3NCQUF0QyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBWYWx1ZUFjY2Vzc29yQmFzZSB9IGZyb20gJy4uL3ZhbHVlLWFjY2Vzc29yLWJhc2UvdmFsdWUtYWNjZXNzb3ItYmFzZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdrbHAtZm9ybS1jaGVja2JveCcsXG5cdHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL2NoZWNrYm94LmNvbXBvbmVudC5zY3NzJ10sXG5cdHByb3ZpZGVyczogW3sgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBDaGVja2JveENvbXBvbmVudCwgbXVsdGk6IHRydWUgfV0sXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrYm94Q29tcG9uZW50IGV4dGVuZHMgVmFsdWVBY2Nlc3NvckJhc2U8Ym9vbGVhbj4ge1xuXHRASW5wdXQoKSBjYXB0aW9uOiBzdHJpbmc7XG5cdEBJbnB1dCgpIHJlbmRlclVuZGVmaW5lZEFzSW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xufVxuIiwiPGxhYmVsIGNsYXNzPVwiY29tcG9uZW50Q29udGFpbmVyXCI+XG5cdDxkaXYgY2xhc3M9XCJjaGVja2JveENvbnRhaW5lclwiPlxuXHRcdDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBjbGFzcz1cImNoZWNrYm94TmF0aXZlXCJcblx0XHRcdFsobmdNb2RlbCldPVwiaW5uZXJWYWx1ZVwiXG5cdFx0XHQoY2hhbmdlKT1cInNldElubmVyVmFsdWVBbmROb3RpZnkoaW5uZXJWYWx1ZSk7IHRvdWNoKClcIlxuXHRcdFx0W2Rpc2FibGVkXT1cImRpc2FibGVkXCJcblx0XHQvPlxuICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveFZpc3VhbFwiPlxuICAgICAgPHN2ZyAqbmdJZj1cImlubmVyVmFsdWUgPT09IHRydWVcIiB2ZXJzaW9uPVwiMS4xXCIgdmlld0JveD1cIjAgMCA0LjIzMzMgNC4yMzMzXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICA8cGF0aCBkPVwibTAuMTcwMTQgMi43MDY1IDEuMzA3MyAxLjE3OTggMi41NjU2LTMuNzQwNFwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGZpbGw9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiLjQ2NDZweFwiIC8+XG4gICAgICA8L3N2Zz5cblx0XHRcdDxzdmcgKm5nSWY9XCJyZW5kZXJVbmRlZmluZWRBc0luZGV0ZXJtaW5hdGUgJiYgaW5uZXJWYWx1ZSA9PT0gdW5kZWZpbmVkXCIgdmVyc2lvbj1cIjEuMVwiIHZpZXdCb3g9XCIwIDAgNC4yMzMzIDQuMjMzM1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cblx0XHRcdFx0PHBhdGggZD1cIm0wLjUgMi4xMTY2NSAzLjIzMzMgMFwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGZpbGw9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiLjQ2NDZweFwiIC8+XG5cdFx0XHQ8L3N2Zz5cbiAgICA8L2Rpdj5cblx0PC9kaXY+XG5cdDxkaXYgKm5nSWY9XCJjYXB0aW9uXCIgY2xhc3M9XCJjYXB0aW9uXCI+e3sgY2FwdGlvbiB9fTwvZGl2PlxuPC9sYWJlbD5cbiJdfQ==
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { Component, Host, Inject, InjectionToken, Input, Optional } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { format as dateFormat, parse } from 'date-fns';
|
|
4
|
+
import { MultipleValueAccessorBase } from '../value-accessor-base/multiple-value-accessor-base.component';
|
|
5
|
+
import { invalidDateKey } from '../../validators/dateValidator';
|
|
6
|
+
import { isNullOrUndefined, stringIsSetAndFilled } from '../../util/values';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../../form/form-element/form-element.component";
|
|
9
|
+
import * as i2 from "@angular/forms";
|
|
10
|
+
import * as i3 from "@angular/common";
|
|
11
|
+
import * as i4 from "../date-time-picker/date-time-picker.component";
|
|
12
|
+
export const DATE_PICKER_TRANSLATIONS = new InjectionToken('klp.form.date.translations');
|
|
13
|
+
export class DatePickerComponent extends MultipleValueAccessorBase {
|
|
14
|
+
constructor(parent, controlContainer, translations) {
|
|
15
|
+
super(parent, controlContainer);
|
|
16
|
+
this.parent = parent;
|
|
17
|
+
this.controlContainer = controlContainer;
|
|
18
|
+
this.translations = translations;
|
|
19
|
+
this.minDate = undefined;
|
|
20
|
+
this.maxDate = undefined;
|
|
21
|
+
this.sameMonthOnly = false;
|
|
22
|
+
this.format = 'dd-MM-yyyy';
|
|
23
|
+
this.clearable = false;
|
|
24
|
+
}
|
|
25
|
+
writeValue(value) {
|
|
26
|
+
if (value === invalidDateKey) {
|
|
27
|
+
super.writeValue(invalidDateKey);
|
|
28
|
+
}
|
|
29
|
+
else if (isNullOrUndefined(value)) {
|
|
30
|
+
this.dateValue = this.multiple ? [] : null;
|
|
31
|
+
super.writeValue(this.multiple ? [] : null);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
if (Array.isArray(value)) {
|
|
35
|
+
this.dateValue = value.map((e) => parse(e, 'yyyy-MM-dd', new Date()));
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
this.dateValue = parse(value, 'yyyy-MM-dd', new Date());
|
|
39
|
+
}
|
|
40
|
+
super.writeValue(value);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
dateChanged(value) {
|
|
44
|
+
if (value === invalidDateKey) {
|
|
45
|
+
this.setInnerValueAndNotify(invalidDateKey);
|
|
46
|
+
}
|
|
47
|
+
else if (isNullOrUndefined(value)) {
|
|
48
|
+
this.dateValue = this.multiple ? [] : null;
|
|
49
|
+
this.setInnerValueAndNotify(this.multiple ? [] : null);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
this.dateValue = value;
|
|
53
|
+
if (Array.isArray(value)) {
|
|
54
|
+
this.setInnerValueAndNotify(value.map((e) => dateFormat(e, 'yyyy-MM-dd')));
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
this.setInnerValueAndNotify(dateFormat(value, 'yyyy-MM-dd'));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
getDefaultTranslation(key) {
|
|
62
|
+
switch (key) {
|
|
63
|
+
case 'placeholder':
|
|
64
|
+
return () => 'Select date';
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
getTranslation(key, params = null) {
|
|
68
|
+
if (key === 'placeholder' && this.multiple) {
|
|
69
|
+
return '';
|
|
70
|
+
}
|
|
71
|
+
if (key === 'placeholder' && stringIsSetAndFilled(this.placeholder)) {
|
|
72
|
+
return this.placeholder;
|
|
73
|
+
}
|
|
74
|
+
return this.translations?.[key]?.(params) ?? this.getDefaultTranslation(key)(params);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
DatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: DatePickerComponent, deps: [{ token: i1.FormElementComponent, host: true, optional: true }, { token: i2.ControlContainer, host: true, optional: true }, { token: DATE_PICKER_TRANSLATIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
78
|
+
DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: DatePickerComponent, selector: "klp-form-date-picker", inputs: { minDate: "minDate", maxDate: "maxDate", sameMonthOnly: "sameMonthOnly", format: "format", placeholder: "placeholder", clearable: "clearable" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: DatePickerComponent, multi: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"componentContainer\" [ngClass]=\"{showErrors: isInErrorState()}\">\n\t<klp-form-date-time-picker\n\t\t[multiple]=\"multiple\"\n\t\t[disabled]=\"disabled\"\n\t\t[(ngModel)]=\"dateValue\"\n\t\t(ngModelChange)=\"dateChanged($event)\"\n\t\t[minDate]=\"minDate\"\n\t\t[maxDate]=\"maxDate\"\n\t\t[sameMonthOnly]=\"sameMonthOnly\"\n\t\t[format]=\"format\"\n\t\t[placeholder]=\"getTranslation('placeholder')\"\n\t\t[clearable]=\"clearable\"\n\t\t[showTimeInput]=\"false\"\n\t\t(onTouch)=\"touch()\"\n\t></klp-form-date-time-picker>\n</div>\n", styles: [":host{display:block}.componentContainer.showErrors ::ng-deep klp-form-date-time-picker .dateContainer,.componentContainer.showErrors ::ng-deep klp-form-date-time-picker .clearButton{border-color:#ff8000}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.DateTimePickerComponent, selector: "klp-form-date-time-picker", inputs: ["minDate", "maxDate", "sameMonthOnly", "format", "placeholder", "clearable", "showTimeInput", "invalidTimeAsMidnight"] }] });
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: DatePickerComponent, decorators: [{
|
|
80
|
+
type: Component,
|
|
81
|
+
args: [{ selector: 'klp-form-date-picker', providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: DatePickerComponent, multi: true }], template: "<div class=\"componentContainer\" [ngClass]=\"{showErrors: isInErrorState()}\">\n\t<klp-form-date-time-picker\n\t\t[multiple]=\"multiple\"\n\t\t[disabled]=\"disabled\"\n\t\t[(ngModel)]=\"dateValue\"\n\t\t(ngModelChange)=\"dateChanged($event)\"\n\t\t[minDate]=\"minDate\"\n\t\t[maxDate]=\"maxDate\"\n\t\t[sameMonthOnly]=\"sameMonthOnly\"\n\t\t[format]=\"format\"\n\t\t[placeholder]=\"getTranslation('placeholder')\"\n\t\t[clearable]=\"clearable\"\n\t\t[showTimeInput]=\"false\"\n\t\t(onTouch)=\"touch()\"\n\t></klp-form-date-time-picker>\n</div>\n", styles: [":host{display:block}.componentContainer.showErrors ::ng-deep klp-form-date-time-picker .dateContainer,.componentContainer.showErrors ::ng-deep klp-form-date-time-picker .clearButton{border-color:#ff8000}\n"] }]
|
|
82
|
+
}], ctorParameters: function () { return [{ type: i1.FormElementComponent, decorators: [{
|
|
83
|
+
type: Host
|
|
84
|
+
}, {
|
|
85
|
+
type: Optional
|
|
86
|
+
}] }, { type: i2.ControlContainer, decorators: [{
|
|
87
|
+
type: Host
|
|
88
|
+
}, {
|
|
89
|
+
type: Optional
|
|
90
|
+
}] }, { type: undefined, decorators: [{
|
|
91
|
+
type: Inject,
|
|
92
|
+
args: [DATE_PICKER_TRANSLATIONS]
|
|
93
|
+
}, {
|
|
94
|
+
type: Optional
|
|
95
|
+
}] }]; }, propDecorators: { minDate: [{
|
|
96
|
+
type: Input
|
|
97
|
+
}], maxDate: [{
|
|
98
|
+
type: Input
|
|
99
|
+
}], sameMonthOnly: [{
|
|
100
|
+
type: Input
|
|
101
|
+
}], format: [{
|
|
102
|
+
type: Input
|
|
103
|
+
}], placeholder: [{
|
|
104
|
+
type: Input
|
|
105
|
+
}], clearable: [{
|
|
106
|
+
type: Input
|
|
107
|
+
}] } });
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xpcHBhL25neC1lbmhhbmN5LWZvcm1zL3NyYy9saWIvZWxlbWVudHMvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xpcHBhL25neC1lbmhhbmN5LWZvcm1zL3NyYy9saWIvZWxlbWVudHMvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBbUIsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRSxPQUFPLEVBQUMsTUFBTSxJQUFJLFVBQVUsRUFBRSxLQUFLLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDckQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDeEcsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7QUFHMUUsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBQU0sNEJBQTRCLENBQUMsQ0FBQztBQVE5RixNQUFNLE9BQU8sbUJBQW9CLFNBQVEseUJBQXlEO0lBVWpHLFlBQytCLE1BQTRCLEVBQzVCLGdCQUFrQyxFQUNWLFlBQWlCO1FBRXZFLEtBQUssQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUpGLFdBQU0sR0FBTixNQUFNLENBQXNCO1FBQzVCLHFCQUFnQixHQUFoQixn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TyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEYsQ0FBQzs7Z0hBakVXLG1CQUFtQiw4SUFhdEIsd0JBQXdCO29HQWJyQixtQkFBbUIseU1BRnBCLENBQUMsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUMsQ0FBQyxpRENkekYsb2lCQWdCQTsyRkRBYSxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0Msc0JBQXNCLGFBR3JCLENBQUMsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDLENBQUM7OzBCQWF0RixJQUFJOzswQkFBSSxRQUFROzswQkFDaEIsSUFBSTs7MEJBQUksUUFBUTs7MEJBQ2hCLE1BQU07MkJBQUMsd0JBQXdCOzswQkFBRyxRQUFROzRDQVo1QixPQUFPO3NCQUF0QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsYUFBYTtzQkFBNUIsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0LCBJbmplY3QsIEluamVjdGlvblRva2VuLCBJbnB1dCwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sQ29udGFpbmVyLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtmb3JtYXQgYXMgZGF0ZUZvcm1hdCwgcGFyc2V9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7TXVsdGlwbGVWYWx1ZUFjY2Vzc29yQmFzZX0gZnJvbSAnLi4vdmFsdWUtYWNjZXNzb3ItYmFzZS9tdWx0aXBsZS12YWx1ZS1hY2Nlc3Nvci1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQge2ludmFsaWREYXRlS2V5fSBmcm9tICcuLi8uLi92YWxpZGF0b3JzL2RhdGVWYWxpZGF0b3InO1xuaW1wb3J0IHtpc051bGxPclVuZGVmaW5lZCwgc3RyaW5nSXNTZXRBbmRGaWxsZWR9IGZyb20gJy4uLy4uL3V0aWwvdmFsdWVzJztcbmltcG9ydCB7Rm9ybUVsZW1lbnRDb21wb25lbnR9IGZyb20gJy4uLy4uL2Zvcm0vZm9ybS1lbGVtZW50L2Zvcm0tZWxlbWVudC5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgREFURV9QSUNLRVJfVFJBTlNMQVRJT05TID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ2tscC5mb3JtLmRhdGUudHJhbnNsYXRpb25zJyk7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2tscC1mb3JtLWRhdGUtcGlja2VyJyxcblx0dGVtcGxhdGVVcmw6ICcuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vZGF0ZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcblx0cHJvdmlkZXJzOiBbe3Byb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogRGF0ZVBpY2tlckNvbXBvbmVudCwgbXVsdGk6IHRydWV9XSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVBpY2tlckNvbXBvbmVudCBleHRlbmRzIE11bHRpcGxlVmFsdWVBY2Nlc3NvckJhc2U8c3RyaW5nIHwgdHlwZW9mIGludmFsaWREYXRlS2V5PiB7XG5cdEBJbnB1dCgpIHB1YmxpYyBtaW5EYXRlOiBEYXRlID0gdW5kZWZpbmVkO1xuXHRASW5wdXQoKSBwdWJsaWMgbWF4RGF0ZTogRGF0ZSA9IHVuZGVmaW5lZDtcblx0QElucHV0KCkgcHVibGljIHNhbWVNb250aE9ubHkgPSBmYWxzZTtcblx0QElucHV0KCkgcHVibGljIGZvcm1hdCA9ICdkZC1NTS15eXl5Jztcblx0QElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cdEBJbnB1dCgpIHB1YmxpYyBjbGVhcmFibGUgPSBmYWxzZTtcblxuXHRwdWJsaWMgZGF0ZVZhbHVlOiBEYXRlIHwgQXJyYXk8RGF0ZT47XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0QEhvc3QoKSBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgcGFyZW50OiBGb3JtRWxlbWVudENvbXBvbmVudCxcblx0XHRASG9zdCgpIEBPcHRpb25hbCgpIHByb3RlY3RlZCBjb250cm9sQ29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyLFxuXHRcdEBJbmplY3QoREFURV9QSUNLRVJfVFJBTlNMQVRJT05TKSBAT3B0aW9uYWwoKSBwcml2YXRlIHRyYW5zbGF0aW9uczogYW55LFxuXHQpIHtcblx0XHRzdXBlcihwYXJlbnQsIGNvbnRyb2xDb250YWluZXIpO1xuXHR9XG5cblx0d3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPiB8IHR5cGVvZiBpbnZhbGlkRGF0ZUtleSk6IHZvaWQge1xuXHRcdGlmICh2YWx1ZSA9PT0gaW52YWxpZERhdGVLZXkpIHtcblx0XHRcdHN1cGVyLndyaXRlVmFsdWUoaW52YWxpZERhdGVLZXkpO1xuXHRcdH0gZWxzZSBpZiAoaXNOdWxsT3JVbmRlZmluZWQodmFsdWUpKSB7XG5cdFx0XHR0aGlzLmRhdGVWYWx1ZSA9IHRoaXMubXVsdGlwbGUgPyBbXSA6IG51bGw7XG5cdFx0XHRzdXBlci53cml0ZVZhbHVlKHRoaXMubXVsdGlwbGUgPyBbXSA6IG51bGwpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcblx0XHRcdFx0dGhpcy5kYXRlVmFsdWUgPSB2YWx1ZS5tYXAoKGUpID0+IHBhcnNlKGUsICd5eXl5LU1NLWRkJywgbmV3IERhdGUoKSkpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhpcy5kYXRlVmFsdWUgPSBwYXJzZSh2YWx1ZSwgJ3l5eXktTU0tZGQnLCBuZXcgRGF0ZSgpKTtcblx0XHRcdH1cblx0XHRcdHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuXHRcdH1cblx0fVxuXG5cdGRhdGVDaGFuZ2VkKHZhbHVlOiBEYXRlIHwgQXJyYXk8RGF0ZT4gfCB0eXBlb2YgaW52YWxpZERhdGVLZXkpOiB2b2lkIHtcblx0XHRpZiAodmFsdWUgPT09IGludmFsaWREYXRlS2V5KSB7XG5cdFx0XHR0aGlzLnNldElubmVyVmFsdWVBbmROb3RpZnkoaW52YWxpZERhdGVLZXkpO1xuXHRcdH0gZWxzZSBpZiAoaXNOdWxsT3JVbmRlZmluZWQodmFsdWUpKSB7XG5cdFx0XHR0aGlzLmRhdGVWYWx1ZSA9IHRoaXMubXVsdGlwbGUgPyBbXSA6IG51bGw7XG5cdFx0XHR0aGlzLnNldElubmVyVmFsdWVBbmROb3RpZnkodGhpcy5tdWx0aXBsZSA/IFtdIDogbnVsbCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuZGF0ZVZhbHVlID0gdmFsdWU7XG5cdFx0XHRpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcblx0XHRcdFx0dGhpcy5zZXRJbm5lclZhbHVlQW5kTm90aWZ5KHZhbHVlLm1hcCgoZSkgPT4gZGF0ZUZvcm1hdChlLCAneXl5eS1NTS1kZCcpKSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLnNldElubmVyVmFsdWVBbmROb3RpZnkoZGF0ZUZvcm1hdCh2YWx1ZSwgJ3l5eXktTU0tZGQnKSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Z2V0RGVmYXVsdFRyYW5zbGF0aW9uKGtleTogc3RyaW5nKTogKHg6IGFueSkgPT4gc3RyaW5nIHtcblx0XHRzd2l0Y2ggKGtleSkge1xuXHRcdFx0Y2FzZSAncGxhY2Vob2xkZXInOlxuXHRcdFx0XHRyZXR1cm4gKCkgPT4gJ1NlbGVjdCBkYXRlJztcblx0XHR9XG5cdH1cblxuXHRnZXRUcmFuc2xhdGlvbihrZXk6IHN0cmluZywgcGFyYW1zOiBhbnkgPSBudWxsKTogc3RyaW5nIHtcblx0XHRpZiAoa2V5ID09PSAncGxhY2Vob2xkZXInICYmIHRoaXMubXVsdGlwbGUpIHtcblx0XHRcdHJldHVybiAnJztcblx0XHR9XG5cdFx0aWYgKGtleSA9PT0gJ3BsYWNlaG9sZGVyJyAmJiBzdHJpbmdJc1NldEFuZEZpbGxlZCh0aGlzLnBsYWNlaG9sZGVyKSkge1xuXHRcdFx0cmV0dXJuIHRoaXMucGxhY2Vob2xkZXI7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLnRyYW5zbGF0aW9ucz8uW2tleV0/LihwYXJhbXMpID8/IHRoaXMuZ2V0RGVmYXVsdFRyYW5zbGF0aW9uKGtleSkocGFyYW1zKTtcblx0fVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbXBvbmVudENvbnRhaW5lclwiIFtuZ0NsYXNzXT1cIntzaG93RXJyb3JzOiBpc0luRXJyb3JTdGF0ZSgpfVwiPlxuXHQ8a2xwLWZvcm0tZGF0ZS10aW1lLXBpY2tlclxuXHRcdFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG5cdFx0W2Rpc2FibGVkXT1cImRpc2FibGVkXCJcblx0XHRbKG5nTW9kZWwpXT1cImRhdGVWYWx1ZVwiXG5cdFx0KG5nTW9kZWxDaGFuZ2UpPVwiZGF0ZUNoYW5nZWQoJGV2ZW50KVwiXG5cdFx0W21pbkRhdGVdPVwibWluRGF0ZVwiXG5cdFx0W21heERhdGVdPVwibWF4RGF0ZVwiXG5cdFx0W3NhbWVNb250aE9ubHldPVwic2FtZU1vbnRoT25seVwiXG5cdFx0W2Zvcm1hdF09XCJmb3JtYXRcIlxuXHRcdFtwbGFjZWhvbGRlcl09XCJnZXRUcmFuc2xhdGlvbigncGxhY2Vob2xkZXInKVwiXG5cdFx0W2NsZWFyYWJsZV09XCJjbGVhcmFibGVcIlxuXHRcdFtzaG93VGltZUlucHV0XT1cImZhbHNlXCJcblx0XHQob25Ub3VjaCk9XCJ0b3VjaCgpXCJcblx0Pjwva2xwLWZvcm0tZGF0ZS10aW1lLXBpY2tlcj5cbjwvZGl2PlxuIl19
|