@klippa/ngx-enhancy-forms 10.2.1 → 11.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/esm2020/klippa-ngx-enhancy-forms.mjs +5 -0
  2. package/esm2020/lib/elements/button/button.component.mjs +57 -0
  3. package/esm2020/lib/elements/checkbox/checkbox.component.mjs +23 -0
  4. package/esm2020/lib/elements/date-picker/date-picker.component.mjs +108 -0
  5. package/esm2020/lib/elements/date-time-picker/date-time-picker.component.mjs +360 -0
  6. package/esm2020/lib/elements/email/email-input.component.mjs +20 -0
  7. package/esm2020/lib/elements/file-input/file-input.component.mjs +71 -0
  8. package/esm2020/lib/elements/hour-minute-input/hour-minute-input.component.mjs +90 -0
  9. package/esm2020/lib/elements/loading-indicator/loading-indicator.component.mjs +20 -0
  10. package/esm2020/lib/elements/number-input/number-input.component.mjs +31 -0
  11. package/esm2020/lib/elements/password-field/password-field.component.mjs +21 -0
  12. package/esm2020/lib/elements/select/select-footer/select-footer.component.mjs +15 -0
  13. package/esm2020/lib/elements/select/select.component.mjs +129 -0
  14. package/esm2020/lib/elements/sortable-grouped-items/sortable-grouped-items.component.mjs +51 -0
  15. package/esm2020/lib/elements/sortable-items/sortable-items.component.mjs +70 -0
  16. package/esm2020/lib/elements/text-input/text-input.component.mjs +28 -0
  17. package/esm2020/lib/elements/toggle/toggle.component.mjs +15 -0
  18. package/esm2020/lib/elements/value-accessor-base/multiple-value-accessor-base.component.mjs +61 -0
  19. package/esm2020/lib/elements/value-accessor-base/value-accessor-base.component.mjs +144 -0
  20. package/esm2020/lib/form/form-caption/form-caption.component.mjs +36 -0
  21. package/esm2020/lib/form/form-element/form-element.component.mjs +124 -0
  22. package/esm2020/lib/form/form-error/form-error.component.mjs +39 -0
  23. package/esm2020/lib/form/form-submit-button/form-submit-button.component.mjs +61 -0
  24. package/esm2020/lib/form/form.component.mjs +180 -0
  25. package/esm2020/lib/material.module.mjs +22 -0
  26. package/esm2020/lib/ngx-enhancy-forms.module.mjs +158 -0
  27. package/esm2020/lib/types.mjs +2 -0
  28. package/esm2020/lib/util/arrays.mjs +45 -0
  29. package/esm2020/lib/util/values.mjs +23 -0
  30. package/esm2020/lib/validators/dateValidator.mjs +6 -0
  31. package/esm2020/lib/validators/timeValidator.mjs +6 -0
  32. package/esm2020/public-api.mjs +30 -0
  33. package/fesm2015/klippa-ngx-enhancy-forms.mjs +1894 -0
  34. package/fesm2015/klippa-ngx-enhancy-forms.mjs.map +1 -0
  35. package/fesm2020/klippa-ngx-enhancy-forms.mjs +1858 -0
  36. package/fesm2020/klippa-ngx-enhancy-forms.mjs.map +1 -0
  37. package/{klippa-ngx-enhancy-forms.d.ts → index.d.ts} +1 -1
  38. package/lib/elements/button/button.component.d.ts +3 -0
  39. package/lib/elements/checkbox/checkbox.component.d.ts +3 -0
  40. package/lib/elements/date-picker/date-picker.component.d.ts +3 -0
  41. package/lib/elements/date-time-picker/date-time-picker.component.d.ts +3 -0
  42. package/lib/elements/email/email-input.component.d.ts +3 -0
  43. package/lib/elements/file-input/file-input.component.d.ts +3 -0
  44. package/lib/elements/hour-minute-input/hour-minute-input.component.d.ts +3 -0
  45. package/lib/elements/loading-indicator/loading-indicator.component.d.ts +3 -0
  46. package/lib/elements/number-input/number-input.component.d.ts +3 -0
  47. package/lib/elements/password-field/password-field.component.d.ts +3 -0
  48. package/lib/elements/select/select-footer/select-footer.component.d.ts +3 -0
  49. package/lib/elements/select/select.component.d.ts +5 -0
  50. package/lib/elements/sortable-grouped-items/sortable-grouped-items.component.d.ts +3 -0
  51. package/lib/elements/sortable-items/sortable-items.component.d.ts +3 -0
  52. package/lib/elements/text-input/text-input.component.d.ts +3 -0
  53. package/lib/elements/toggle/toggle.component.d.ts +3 -0
  54. package/lib/elements/value-accessor-base/multiple-value-accessor-base.component.d.ts +3 -0
  55. package/lib/elements/value-accessor-base/value-accessor-base.component.d.ts +5 -2
  56. package/lib/form/form-caption/form-caption.component.d.ts +3 -0
  57. package/lib/form/form-element/form-element.component.d.ts +8 -5
  58. package/lib/form/form-error/form-error.component.d.ts +3 -0
  59. package/lib/form/form-submit-button/form-submit-button.component.d.ts +3 -0
  60. package/lib/form/form.component.d.ts +10 -5
  61. package/lib/material.module.d.ts +9 -0
  62. package/lib/ngx-enhancy-forms.module.d.ts +32 -0
  63. package/package.json +29 -16
  64. package/src/lib/form/README.md +1 -0
  65. package/bundles/klippa-ngx-enhancy-forms.umd.js +0 -2185
  66. package/bundles/klippa-ngx-enhancy-forms.umd.js.map +0 -1
  67. package/bundles/klippa-ngx-enhancy-forms.umd.min.js +0 -17
  68. package/bundles/klippa-ngx-enhancy-forms.umd.min.js.map +0 -1
  69. package/esm2015/klippa-ngx-enhancy-forms.js +0 -6
  70. package/esm2015/lib/elements/button/button.component.js +0 -50
  71. package/esm2015/lib/elements/checkbox/checkbox.component.js +0 -22
  72. package/esm2015/lib/elements/date-picker/date-picker.component.js +0 -95
  73. package/esm2015/lib/elements/date-time-picker/date-time-picker.component.js +0 -330
  74. package/esm2015/lib/elements/email/email-input.component.js +0 -21
  75. package/esm2015/lib/elements/file-input/file-input.component.js +0 -66
  76. package/esm2015/lib/elements/hour-minute-input/hour-minute-input.component.js +0 -90
  77. package/esm2015/lib/elements/loading-indicator/loading-indicator.component.js +0 -19
  78. package/esm2015/lib/elements/number-input/number-input.component.js +0 -30
  79. package/esm2015/lib/elements/password-field/password-field.component.js +0 -21
  80. package/esm2015/lib/elements/select/select-footer/select-footer.component.js +0 -15
  81. package/esm2015/lib/elements/select/select.component.js +0 -104
  82. package/esm2015/lib/elements/sortable-grouped-items/sortable-grouped-items.component.js +0 -49
  83. package/esm2015/lib/elements/sortable-items/sortable-items.component.js +0 -67
  84. package/esm2015/lib/elements/text-input/text-input.component.js +0 -25
  85. package/esm2015/lib/elements/toggle/toggle.component.js +0 -14
  86. package/esm2015/lib/elements/value-accessor-base/multiple-value-accessor-base.component.js +0 -54
  87. package/esm2015/lib/elements/value-accessor-base/value-accessor-base.component.js +0 -135
  88. package/esm2015/lib/form/form-caption/form-caption.component.js +0 -35
  89. package/esm2015/lib/form/form-element/form-element.component.js +0 -118
  90. package/esm2015/lib/form/form-error/form-error.component.js +0 -37
  91. package/esm2015/lib/form/form-submit-button/form-submit-button.component.js +0 -53
  92. package/esm2015/lib/form/form.component.js +0 -173
  93. package/esm2015/lib/material.module.js +0 -17
  94. package/esm2015/lib/ngx-enhancy-forms.module.js +0 -97
  95. package/esm2015/lib/types.js +0 -2
  96. package/esm2015/lib/util/arrays.js +0 -45
  97. package/esm2015/lib/util/values.js +0 -23
  98. package/esm2015/lib/validators/dateValidator.js +0 -6
  99. package/esm2015/lib/validators/timeValidator.js +0 -6
  100. package/esm2015/public-api.js +0 -30
  101. package/fesm2015/klippa-ngx-enhancy-forms.js +0 -1716
  102. package/fesm2015/klippa-ngx-enhancy-forms.js.map +0 -1
  103. 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