ecabs-components 1.1.57 → 1.1.62
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/README.md +7 -1
- package/esm2022/lib/base/consts/error-messages.consts.mjs +13 -1
- package/esm2022/lib/base/directives/date-mask.directive.mjs +56 -80
- package/esm2022/lib/base/directives/time-mask.directive.mjs +12 -35
- package/esm2022/lib/base/directives/time-range.directive.mjs +6 -32
- package/esm2022/lib/base/utils/time-mask.util.mjs +87 -0
- package/esm2022/lib/ecabs-button-toggle/ecabs-button-toggle.component.mjs +2 -2
- package/esm2022/lib/ecabs-buttons-v2/ecabs-buttons-v2.component.mjs +2 -2
- package/esm2022/lib/ecabs-checkbox-v2/ecabs-checkbox-v2.component.mjs +105 -0
- package/esm2022/lib/ecabs-checkbox-v2/ecabs-checkbox-v2.module.mjs +22 -0
- package/esm2022/lib/ecabs-date-range-picker-v2/ecabs-date-range-picker-v2.component.mjs +4 -6
- package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.mjs +31 -11
- package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.mjs +3 -3
- package/esm2022/lib/ecabs-input-range/ecabs-input-range.component.mjs +188 -0
- package/esm2022/lib/ecabs-input-range/ecabs-input-range.module.mjs +40 -0
- package/esm2022/lib/ecabs-time-range-input-v2/config.model.mjs +2 -0
- package/esm2022/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.component.mjs +167 -0
- package/esm2022/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.module.mjs +32 -0
- package/esm2022/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.service.mjs +29 -0
- package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.component.mjs +3 -55
- package/esm2022/public-api.mjs +8 -1
- package/fesm2022/ecabs-components.mjs +734 -290
- package/fesm2022/ecabs-components.mjs.map +1 -1
- package/lib/base/directives/date-mask.directive.d.ts +6 -7
- package/lib/base/directives/time-mask.directive.d.ts +2 -3
- package/lib/base/directives/time-range.directive.d.ts +1 -2
- package/lib/base/utils/time-mask.util.d.ts +3 -0
- package/lib/ecabs-checkbox-v2/ecabs-checkbox-v2.component.d.ts +29 -0
- package/lib/ecabs-checkbox-v2/ecabs-checkbox-v2.module.d.ts +12 -0
- package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.d.ts +4 -2
- package/lib/ecabs-input-range/ecabs-input-range.component.d.ts +44 -0
- package/lib/ecabs-input-range/ecabs-input-range.module.d.ts +13 -0
- package/lib/ecabs-time-range-input-v2/config.model.d.ts +5 -0
- package/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.component.d.ts +51 -0
- package/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.module.d.ts +11 -0
- package/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.service.d.ts +12 -0
- package/lib/ecabs-timepicker/ecabs-timepicker.component.d.ts +0 -5
- package/package.json +3 -2
- package/public-api.d.ts +7 -0
- package/src/assets/styles/scss/utilities/_variables.scss +1 -0
- package/src/assets/styles/tailwind/index.scss +1 -1
- package/esm2022/lib/base/consts/date-mask.consts.mjs +0 -76
- package/lib/base/consts/date-mask.consts.d.ts +0 -7
package/README.md
CHANGED
|
@@ -117,4 +117,10 @@ To get more help on the Angular CLI use `ng help` or go check out the [Angular C
|
|
|
117
117
|
- **v1.1.55** — `EcabsButtonsV2Component`: Added version 2 of `EcabsButtonsComponent` with support for small, medium, and large sizes.
|
|
118
118
|
- **v1.1.56** — Implement `EcabsDateRangePickerComponentV2`.
|
|
119
119
|
- **v1.1.57** — Implement `EcabsChipGroup`and `EcabsAutocompleteChipGroup` components with demo.
|
|
120
|
-
|
|
120
|
+
- **v1.1.58** — Add `EcabsInputRangeComponent` with support for minimum and maximum values.
|
|
121
|
+
- **v1.1.59** — `EcabsCheckboxV2Component`: Implement version 2 of `EcabsCheckboxComponent`.
|
|
122
|
+
- **v1.1.60** — Migrate input mask library from `vanilla-text-mask` to `maskito`.
|
|
123
|
+
- **Affected components**: `EcabsDateTimePicker`, `EcabsTimepicker`, `EcabsDateTimeRangePicker`.
|
|
124
|
+
- **v1.1.61** — Added support for 12-hour time input for `maskito` library.
|
|
125
|
+
- **Affected components**: `EcabsDateTimePicker`, `EcabsTimepicker`, `EcabsDateTimeRangePicker`.
|
|
126
|
+
- **v1.1.62** — Add `EcabsTimeRangeInputV2Component`.
|
|
@@ -103,5 +103,17 @@ export const errorMessages = [
|
|
|
103
103
|
type: 'dateFromMoreThanDateTo',
|
|
104
104
|
message: 'FORMS.VALIDATION.DATE_FROM_MORE_THAN_DATE_TO',
|
|
105
105
|
},
|
|
106
|
+
{
|
|
107
|
+
type: 'timeFromRangeRequired',
|
|
108
|
+
message: 'FORMS.VALIDATION.TIME_FROM_RANGE_REQUIRED',
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
type: 'timeToRangeRequired',
|
|
112
|
+
message: 'FORMS.VALIDATION.TIME_TO_RANGE_REQUIRED',
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
type: 'timeFromMoreThanDateTo',
|
|
116
|
+
message: 'FORMS.VALIDATION.TIME_FROM_MORE_THAN_TIME_TO',
|
|
117
|
+
},
|
|
106
118
|
];
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWVzc2FnZXMuY29uc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvY29uc3RzL2Vycm9yLW1lc3NhZ2VzLmNvbnN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQW1CO0lBQzNDO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsT0FBTyxFQUFFLGlDQUFpQztLQUMzQztJQUNEO1FBQ0UsSUFBSSxFQUFFLFdBQVc7UUFDakIsT0FBTyxFQUFFLDZCQUE2QjtLQUN2QztJQUNEO1FBQ0UsSUFBSSxFQUFFLFdBQVc7UUFDakIsT0FBTyxFQUFFLDZCQUE2QjtLQUN2QztJQUNEO1FBQ0UsSUFBSSxFQUFFLEtBQUs7UUFDWCxPQUFPLEVBQUUsc0JBQXNCO0tBQ2hDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsS0FBSztRQUNYLE9BQU8sRUFBRSxzQkFBc0I7S0FDaEM7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE9BQU8sRUFBRSw0QkFBNEI7S0FDdEM7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE9BQU8sRUFBRSw0QkFBNEI7S0FDdEM7SUFDRDtRQUNFLElBQUksRUFBRSxxQkFBcUI7UUFDM0IsT0FBTyxFQUFFLHdDQUF3QztLQUNsRDtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsT0FBTyxFQUFFLDRCQUE0QjtLQUN0QztJQUNEO1FBQ0UsSUFBSSxFQUFFLGNBQWM7UUFDcEIsT0FBTyxFQUFFLGdDQUFnQztLQUMxQztJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsT0FBTyxFQUFFLDRCQUE0QjtLQUN0QztJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsT0FBTyxFQUFFLDRCQUE0QjtLQUN0QztJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixPQUFPLEVBQUUsd0JBQXdCO0tBQ2xDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsZ0JBQWdCO1FBQ3RCLE9BQU8sRUFBRSxrQ0FBa0M7S0FDNUM7SUFDRDtRQUNFLElBQUksRUFBRSxnQkFBZ0I7UUFDdEIsT0FBTyxFQUFFLGtDQUFrQztLQUM1QztJQUNEO1FBQ0UsSUFBSSxFQUFFLFlBQVk7UUFDbEIsT0FBTyxFQUFFLCtCQUErQjtLQUN6QztJQUNEO1FBQ0UsSUFBSSxFQUFFLE1BQU07UUFDWixPQUFPLEVBQUUsdUJBQXVCO0tBQ2pDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsYUFBYTtRQUNuQixPQUFPLEVBQUUsaUNBQWlDO0tBQzNDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsYUFBYTtRQUNuQixPQUFPLEVBQUUsOEJBQThCO0tBQ3hDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsZ0JBQWdCO1FBQ3RCLE9BQU8sRUFBRSxvQ0FBb0M7S0FDOUM7SUFDRDtRQUNFLElBQUksRUFBRSx1QkFBdUI7UUFDN0IsT0FBTyxFQUFFLDRDQUE0QztLQUN0RDtJQUNEO1FBQ0UsSUFBSSxFQUFFLFlBQVk7UUFDbEIsT0FBTyxFQUFFLDZCQUE2QjtLQUN2QztJQUNEO1FBQ0UsSUFBSSxFQUFFLGNBQWM7UUFDcEIsT0FBTyxFQUFFLCtCQUErQjtLQUN6QztJQUNEO1FBQ0UsSUFBSSxFQUFFLHVCQUF1QjtRQUM3QixPQUFPLEVBQUUsMkNBQTJDO0tBQ3JEO0lBQ0Q7UUFDRSxJQUFJLEVBQUUscUJBQXFCO1FBQzNCLE9BQU8sRUFBRSx5Q0FBeUM7S0FDbkQ7SUFDRDtRQUNFLElBQUksRUFBRSx3QkFBd0I7UUFDOUIsT0FBTyxFQUFFLDhDQUE4QztLQUN4RDtJQUNDO1FBQ0EsSUFBSSxFQUFFLHVCQUF1QjtRQUM3QixPQUFPLEVBQUUsMkNBQTJDO0tBQ3JEO0lBQ0Q7UUFDRSxJQUFJLEVBQUUscUJBQXFCO1FBQzNCLE9BQU8sRUFBRSx5Q0FBeUM7S0FDbkQ7SUFDRDtRQUNFLElBQUksRUFBRSx3QkFBd0I7UUFDOUIsT0FBTyxFQUFFLDhDQUE4QztLQUN4RDtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9lY2Ficy1jb21wb25lbnRzLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGNvbnN0IGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdID0gW1xyXG4gIHtcclxuICAgIHR5cGU6ICdyZXF1aXJlZCcsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5MQUJFTF9SRVFVSVJFRCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAnbWlubGVuZ3RoJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLk1JTl9MRU5HVEgnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ21heGxlbmd0aCcsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5NQVhfTEVOR1RIJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICdtaW4nLFxyXG4gICAgbWVzc2FnZTogJ0ZPUk1TLlZBTElEQVRJT04uTUlOJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICdtYXgnLFxyXG4gICAgbWVzc2FnZTogJ0ZPUk1TLlZBTElEQVRJT04uTUFYJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICdtaW5WYWx1ZScsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5NSU5fVkFMVUUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ21heFZhbHVlJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLk1BWF9WQUxVRScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAndmFsaWRhdGVQaG9uZU51bWJlcicsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5WQUxJREFURV9QSE9ORV9OVU1CRVInLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ3Bhc3REYXRlJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLlBBU1RfREFURScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAnYWZmZWN0c0Vycm9yJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLkFGRkVDVFNfRVJST1InLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ21vcmVUaGFuJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLk1PUkVfVEhBTicsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAnbGVzc1RoYW4nLFxyXG4gICAgbWVzc2FnZTogJ0ZPUk1TLlZBTElEQVRJT04uTEVTU19USEFOJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICdlbWFpbCcsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5FTUFJTCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAnbnVtYmVyTW9yZVRoYW4nLFxyXG4gICAgbWVzc2FnZTogJ0ZPUk1TLlZBTElEQVRJT04uVkFMVUVfTU9SRV9USEFOJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICdudW1iZXJMZXNzVGhhbicsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5WQUxVRV9MRVNTX1RIQU4nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ291dE9mUmFuZ2UnLFxyXG4gICAgbWVzc2FnZTogJ0ZPUk1TLlZBTElEQVRJT04uT1VUX09GX1JBTkdFJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICdpYmFuJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLklCQU4nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ3RpbWVJc0FmdGVyJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLkxFU1NfVEhBTl9USU1FJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICdibGFja2xpc3RlZCcsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5CTEFDS0xJU1RFRCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAnZnJvbVRvTm90Rm91bmQnLFxyXG4gICAgbWVzc2FnZTogJ0ZPUk1TLlZBTElEQVRJT04uRlJPTV9UT19OT1RfRk9VTkQnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ2Zyb21Ub05vdENvcnJlY3RDb3VudCcsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5GUk9NX1RPX05PVF9DT1JSRUNUX0NPVU5UJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICd3aGl0ZXNwYWNlJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLldISVRFU1BBQ0UnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ2FscGhhbnVtZXJpYycsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5BTFBIQU5VTUVSSUMnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ2RhdGVGcm9tUmFuZ2VSZXF1aXJlZCcsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5EQVRFX0ZST01fUkFOR0VfUkVRVUlSRUQnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ2RhdGVUb1JhbmdlUmVxdWlyZWQnLFxyXG4gICAgbWVzc2FnZTogJ0ZPUk1TLlZBTElEQVRJT04uREFURV9UT19SQU5HRV9SRVFVSVJFRCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAnZGF0ZUZyb21Nb3JlVGhhbkRhdGVUbycsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5EQVRFX0ZST01fTU9SRV9USEFOX0RBVEVfVE8nLFxyXG4gIH0sXHJcbiAgICB7XHJcbiAgICB0eXBlOiAndGltZUZyb21SYW5nZVJlcXVpcmVkJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLlRJTUVfRlJPTV9SQU5HRV9SRVFVSVJFRCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAndGltZVRvUmFuZ2VSZXF1aXJlZCcsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5USU1FX1RPX1JBTkdFX1JFUVVJUkVEJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICd0aW1lRnJvbU1vcmVUaGFuRGF0ZVRvJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLlRJTUVfRlJPTV9NT1JFX1RIQU5fVElNRV9UTycsXHJcbiAgfSxcclxuXTtcclxuIl19
|
|
@@ -1,93 +1,72 @@
|
|
|
1
|
-
import { Directive,
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
2
|
+
import { Maskito } from '@maskito/core';
|
|
3
|
+
import { createTimeMaskOptions } from '../utils/time-mask.util';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class EcabsMaskDateDirective {
|
|
6
6
|
element;
|
|
7
7
|
isDateTimeMask = false;
|
|
8
8
|
considerSeconds = false;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
maskDateTime = [
|
|
12
|
-
/\d/,
|
|
13
|
-
/\d/,
|
|
14
|
-
'/',
|
|
15
|
-
/\d/,
|
|
16
|
-
/\d/,
|
|
17
|
-
'/',
|
|
18
|
-
/\d/,
|
|
19
|
-
/\d/,
|
|
20
|
-
/\d/,
|
|
21
|
-
/\d/,
|
|
22
|
-
',',
|
|
23
|
-
' ',
|
|
24
|
-
/\d/,
|
|
25
|
-
/\d/,
|
|
26
|
-
':',
|
|
27
|
-
/\d/,
|
|
28
|
-
/\d/,
|
|
29
|
-
]; // dd/mm/yyyy, hh:mm
|
|
30
|
-
maskDateTimeWithSeconds = [
|
|
31
|
-
/\d/,
|
|
32
|
-
/\d/,
|
|
33
|
-
'/',
|
|
34
|
-
/\d/,
|
|
35
|
-
/\d/,
|
|
36
|
-
'/',
|
|
37
|
-
/\d/,
|
|
38
|
-
/\d/,
|
|
39
|
-
/\d/,
|
|
40
|
-
/\d/,
|
|
41
|
-
',',
|
|
42
|
-
' ',
|
|
43
|
-
/\d/,
|
|
44
|
-
/\d/,
|
|
45
|
-
':',
|
|
46
|
-
/\d/,
|
|
47
|
-
/\d/,
|
|
48
|
-
':',
|
|
49
|
-
/\d/,
|
|
50
|
-
/\d/,
|
|
51
|
-
]; // dd/mm/yyyy, hh:mm:ss
|
|
52
|
-
config;
|
|
9
|
+
maskedInput = null;
|
|
10
|
+
timeMaskOptions = createTimeMaskOptions();
|
|
53
11
|
constructor(element) {
|
|
54
12
|
this.element = element;
|
|
55
13
|
}
|
|
56
|
-
onNgModelChange(value) {
|
|
57
|
-
this.config.showMask = true;
|
|
58
|
-
if (!this.containsNumber(value.toString())) {
|
|
59
|
-
this.config.showMask = false;
|
|
60
|
-
this.maskedInputController.textMaskInputElement.update('');
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
14
|
ngOnInit() {
|
|
64
|
-
this.
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
showMask: true,
|
|
68
|
-
pipe: this.isDateTimeMask
|
|
69
|
-
? this.considerSeconds
|
|
70
|
-
? createAutoCorrectedDatePipe('dd/mm/yyyy, HH:MM:SS')
|
|
71
|
-
: createAutoCorrectedDatePipe('dd/mm/yyyy, HH:MM')
|
|
72
|
-
: createAutoCorrectedDatePipe('dd/mm/yyyy'),
|
|
73
|
-
keepCharPositions: true,
|
|
74
|
-
mask: this.isDateTimeMask
|
|
75
|
-
? this.considerSeconds
|
|
76
|
-
? this.maskDateTimeWithSeconds
|
|
77
|
-
: this.maskDateTime
|
|
78
|
-
: this.mask,
|
|
79
|
-
};
|
|
80
|
-
this.maskedInputController = textMask.maskInput(this.config);
|
|
15
|
+
this.maskedInput = new Maskito(this.element.nativeElement, {
|
|
16
|
+
mask: ({ value }) => this.buildDynamicMask(value),
|
|
17
|
+
});
|
|
81
18
|
}
|
|
82
19
|
ngOnDestroy() {
|
|
83
|
-
this.
|
|
20
|
+
this.maskedInput?.destroy();
|
|
21
|
+
}
|
|
22
|
+
buildDynamicMask(value) {
|
|
23
|
+
const digits = value.replace(/\D/g, '');
|
|
24
|
+
const result = [];
|
|
25
|
+
result.push(...this.getDaySegment(digits));
|
|
26
|
+
result.push('/');
|
|
27
|
+
result.push(...this.getMonthSegment(digits));
|
|
28
|
+
result.push('/');
|
|
29
|
+
result.push(/\d/, /\d/, /\d/, /\d/);
|
|
30
|
+
if (!this.isDateTimeMask) {
|
|
31
|
+
return result;
|
|
32
|
+
}
|
|
33
|
+
const timeValue = this.extractTimeValue(value);
|
|
34
|
+
const timeMaskOption = this.timeMaskOptions.mask;
|
|
35
|
+
const timeMaskRaw = typeof timeMaskOption === 'function'
|
|
36
|
+
? timeMaskOption({
|
|
37
|
+
value: timeValue,
|
|
38
|
+
selection: [timeValue.length, timeValue.length],
|
|
39
|
+
})
|
|
40
|
+
: timeMaskOption;
|
|
41
|
+
const timeMask = Array.isArray(timeMaskRaw) ? timeMaskRaw : [timeMaskRaw];
|
|
42
|
+
result.push(',', ' ');
|
|
43
|
+
result.push(...timeMask);
|
|
44
|
+
if (this.considerSeconds) {
|
|
45
|
+
result.push(':');
|
|
46
|
+
result.push(/[0-5]/, /\d/);
|
|
47
|
+
}
|
|
48
|
+
return result;
|
|
49
|
+
}
|
|
50
|
+
getDaySegment(digits) {
|
|
51
|
+
const d1 = digits[0];
|
|
52
|
+
if (d1 === '3') {
|
|
53
|
+
return [/[0-3]/, /[0-1]/];
|
|
54
|
+
}
|
|
55
|
+
return [/[0-3]/, /\d/];
|
|
56
|
+
}
|
|
57
|
+
getMonthSegment(digits) {
|
|
58
|
+
const m1 = digits[2];
|
|
59
|
+
if (m1 === '1') {
|
|
60
|
+
return [/[0-1]/, /[0-2]/];
|
|
61
|
+
}
|
|
62
|
+
return [/[0-1]/, /\d/];
|
|
84
63
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
return
|
|
64
|
+
extractTimeValue(value) {
|
|
65
|
+
const [, timePart = ''] = value.split(',');
|
|
66
|
+
return timePart.trimStart();
|
|
88
67
|
}
|
|
89
68
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsMaskDateDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
90
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: EcabsMaskDateDirective, selector: "[ecabsMaskDate]", inputs: { isDateTimeMask: "isDateTimeMask", considerSeconds: "considerSeconds" },
|
|
69
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: EcabsMaskDateDirective, selector: "[ecabsMaskDate]", inputs: { isDateTimeMask: "isDateTimeMask", considerSeconds: "considerSeconds" }, ngImport: i0 });
|
|
91
70
|
}
|
|
92
71
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsMaskDateDirective, decorators: [{
|
|
93
72
|
type: Directive,
|
|
@@ -98,8 +77,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
98
77
|
type: Input
|
|
99
78
|
}], considerSeconds: [{
|
|
100
79
|
type: Input
|
|
101
|
-
}], onNgModelChange: [{
|
|
102
|
-
type: HostListener,
|
|
103
|
-
args: ['ngModelChange', ['$event']]
|
|
104
80
|
}] } });
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1tYXNrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9iYXNlL2RpcmVjdGl2ZXMvZGF0ZS1tYXNrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFLaEUsTUFBTSxPQUFPLHNCQUFzQjtJQU9KO0lBTnBCLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdkIsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUV6QixXQUFXLEdBQW1CLElBQUksQ0FBQztJQUMxQixlQUFlLEdBQUcscUJBQXFCLEVBQUUsQ0FBQztJQUUzRCxZQUE2QixPQUFtQjtRQUFuQixZQUFPLEdBQVAsT0FBTyxDQUFZO0lBQUcsQ0FBQztJQUVwRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRTtZQUN6RCxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO1NBQ2xELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsS0FBYTtRQUNwQyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN4QyxNQUFNLE1BQU0sR0FBd0IsRUFBRSxDQUFDO1FBRXZDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDM0MsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVqQixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFakIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVwQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN4QixPQUFPLE1BQU0sQ0FBQztTQUNmO1FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO1FBQ2pELE1BQU0sV0FBVyxHQUNmLE9BQU8sY0FBYyxLQUFLLFVBQVU7WUFDbEMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztnQkFDYixLQUFLLEVBQUUsU0FBUztnQkFDaEIsU0FBUyxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDO2FBQ2hELENBQUM7WUFDSixDQUFDLENBQUMsY0FBYyxDQUFDO1FBQ3JCLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUUxRSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN0QixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFFekIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDNUI7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sYUFBYSxDQUFDLE1BQWM7UUFDbEMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JCLElBQUksRUFBRSxLQUFLLEdBQUcsRUFBRTtZQUNkLE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDM0I7UUFFRCxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFTyxlQUFlLENBQUMsTUFBYztRQUNwQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckIsSUFBSSxFQUFFLEtBQUssR0FBRyxFQUFFO1lBQ2QsT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztTQUMzQjtRQUVELE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEtBQWE7UUFDcEMsTUFBTSxDQUFDLEVBQUUsUUFBUSxHQUFHLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFM0MsT0FBTyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDOUIsQ0FBQzt3R0EvRVUsc0JBQXNCOzRGQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBSGxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtpQkFDNUI7aUdBRVUsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWFza2l0byB9IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xyXG5pbXBvcnQgeyBjcmVhdGVUaW1lTWFza09wdGlvbnMgfSBmcm9tICcuLi91dGlscy90aW1lLW1hc2sudXRpbCc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tlY2Fic01hc2tEYXRlXScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFY2Fic01hc2tEYXRlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIGlzRGF0ZVRpbWVNYXNrID0gZmFsc2U7XHJcbiAgQElucHV0KCkgY29uc2lkZXJTZWNvbmRzID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgbWFza2VkSW5wdXQ6IE1hc2tpdG8gfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIHJlYWRvbmx5IHRpbWVNYXNrT3B0aW9ucyA9IGNyZWF0ZVRpbWVNYXNrT3B0aW9ucygpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQ6IEVsZW1lbnRSZWYpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5tYXNrZWRJbnB1dCA9IG5ldyBNYXNraXRvKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCB7XHJcbiAgICAgIG1hc2s6ICh7IHZhbHVlIH0pID0+IHRoaXMuYnVpbGREeW5hbWljTWFzayh2YWx1ZSksXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5tYXNrZWRJbnB1dD8uZGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZER5bmFtaWNNYXNrKHZhbHVlOiBzdHJpbmcpOiAoc3RyaW5nIHwgUmVnRXhwKVtdIHtcclxuICAgIGNvbnN0IGRpZ2l0cyA9IHZhbHVlLnJlcGxhY2UoL1xcRC9nLCAnJyk7XHJcbiAgICBjb25zdCByZXN1bHQ6IChzdHJpbmcgfCBSZWdFeHApW10gPSBbXTtcclxuXHJcbiAgICByZXN1bHQucHVzaCguLi50aGlzLmdldERheVNlZ21lbnQoZGlnaXRzKSk7XHJcbiAgICByZXN1bHQucHVzaCgnLycpO1xyXG5cclxuICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuZ2V0TW9udGhTZWdtZW50KGRpZ2l0cykpO1xyXG4gICAgcmVzdWx0LnB1c2goJy8nKTtcclxuXHJcbiAgICByZXN1bHQucHVzaCgvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLyk7XHJcblxyXG4gICAgaWYgKCF0aGlzLmlzRGF0ZVRpbWVNYXNrKSB7XHJcbiAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdGltZVZhbHVlID0gdGhpcy5leHRyYWN0VGltZVZhbHVlKHZhbHVlKTtcclxuICAgIGNvbnN0IHRpbWVNYXNrT3B0aW9uID0gdGhpcy50aW1lTWFza09wdGlvbnMubWFzaztcclxuICAgIGNvbnN0IHRpbWVNYXNrUmF3ID1cclxuICAgICAgdHlwZW9mIHRpbWVNYXNrT3B0aW9uID09PSAnZnVuY3Rpb24nXHJcbiAgICAgICAgPyB0aW1lTWFza09wdGlvbih7XHJcbiAgICAgICAgICAgIHZhbHVlOiB0aW1lVmFsdWUsXHJcbiAgICAgICAgICAgIHNlbGVjdGlvbjogW3RpbWVWYWx1ZS5sZW5ndGgsIHRpbWVWYWx1ZS5sZW5ndGhdLFxyXG4gICAgICAgICAgfSlcclxuICAgICAgICA6IHRpbWVNYXNrT3B0aW9uO1xyXG4gICAgY29uc3QgdGltZU1hc2sgPSBBcnJheS5pc0FycmF5KHRpbWVNYXNrUmF3KSA/IHRpbWVNYXNrUmF3IDogW3RpbWVNYXNrUmF3XTtcclxuXHJcbiAgICByZXN1bHQucHVzaCgnLCcsICcgJyk7XHJcbiAgICByZXN1bHQucHVzaCguLi50aW1lTWFzayk7XHJcblxyXG4gICAgaWYgKHRoaXMuY29uc2lkZXJTZWNvbmRzKSB7XHJcbiAgICAgIHJlc3VsdC5wdXNoKCc6Jyk7XHJcbiAgICAgIHJlc3VsdC5wdXNoKC9bMC01XS8sIC9cXGQvKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXREYXlTZWdtZW50KGRpZ2l0czogc3RyaW5nKTogKHN0cmluZyB8IFJlZ0V4cClbXSB7XHJcbiAgICBjb25zdCBkMSA9IGRpZ2l0c1swXTtcclxuICAgIGlmIChkMSA9PT0gJzMnKSB7XHJcbiAgICAgIHJldHVybiBbL1swLTNdLywgL1swLTFdL107XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIFsvWzAtM10vLCAvXFxkL107XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE1vbnRoU2VnbWVudChkaWdpdHM6IHN0cmluZyk6IChzdHJpbmcgfCBSZWdFeHApW10ge1xyXG4gICAgY29uc3QgbTEgPSBkaWdpdHNbMl07XHJcbiAgICBpZiAobTEgPT09ICcxJykge1xyXG4gICAgICByZXR1cm4gWy9bMC0xXS8sIC9bMC0yXS9dO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBbL1swLTFdLywgL1xcZC9dO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBleHRyYWN0VGltZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgWywgdGltZVBhcnQgPSAnJ10gPSB2YWx1ZS5zcGxpdCgnLCcpO1xyXG5cclxuICAgIHJldHVybiB0aW1lUGFydC50cmltU3RhcnQoKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,49 +1,26 @@
|
|
|
1
1
|
import { Directive, Input } from '@angular/core';
|
|
2
|
-
import
|
|
2
|
+
import { Maskito } from '@maskito/core';
|
|
3
|
+
import { createTimeMaskOptions, createTimeRangeMaskOptions, } from '../utils/time-mask.util';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export class EcabsMaskTimeDirective {
|
|
5
6
|
element;
|
|
6
7
|
timeRange = false;
|
|
7
8
|
all;
|
|
8
|
-
|
|
9
|
-
maskTimeRange = [
|
|
10
|
-
/\d/,
|
|
11
|
-
/\d/,
|
|
12
|
-
':',
|
|
13
|
-
/\d/,
|
|
14
|
-
/\d/,
|
|
15
|
-
' ',
|
|
16
|
-
'-',
|
|
17
|
-
' ',
|
|
18
|
-
/\d/,
|
|
19
|
-
/\d/,
|
|
20
|
-
':',
|
|
21
|
-
/\d/,
|
|
22
|
-
/\d/,
|
|
23
|
-
];
|
|
24
|
-
maskTime = [/\d/, /\d/, ':', /\d/, /\d/];
|
|
9
|
+
maskedInput = null;
|
|
25
10
|
constructor(element) {
|
|
26
11
|
this.element = element;
|
|
27
12
|
}
|
|
28
13
|
ngOnInit() {
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
this.maskedInputController = textMask.maskInput({
|
|
32
|
-
inputElement: this.element.nativeElement,
|
|
33
|
-
guide: true,
|
|
34
|
-
showMask: false,
|
|
35
|
-
keepCharPositions: true,
|
|
36
|
-
mask: timeRange ? this.maskTimeRange : this.maskTime,
|
|
37
|
-
pipe: function (conformedValue) {
|
|
38
|
-
if (conformedValue === (timeRange ? '__:__ - __:__' : '__:__')) {
|
|
39
|
-
return all;
|
|
40
|
-
}
|
|
41
|
-
return conformedValue;
|
|
42
|
-
},
|
|
43
|
-
});
|
|
14
|
+
const options = this.getMaskOptions();
|
|
15
|
+
this.maskedInput = new Maskito(this.element.nativeElement, options);
|
|
44
16
|
}
|
|
45
17
|
ngOnDestroy() {
|
|
46
|
-
this.
|
|
18
|
+
this.maskedInput?.destroy();
|
|
19
|
+
}
|
|
20
|
+
getMaskOptions() {
|
|
21
|
+
return this.timeRange
|
|
22
|
+
? createTimeRangeMaskOptions()
|
|
23
|
+
: createTimeMaskOptions();
|
|
47
24
|
}
|
|
48
25
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsMaskTimeDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
49
26
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: EcabsMaskTimeDirective, selector: "[ecabsTime]", inputs: { timeRange: "timeRange", all: "all" }, ngImport: i0 });
|
|
@@ -58,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
58
35
|
}], all: [{
|
|
59
36
|
type: Input
|
|
60
37
|
}] } });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1tYXNrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9iYXNlL2RpcmVjdGl2ZXMvdGltZS1tYXNrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLE9BQU8sRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUNMLHFCQUFxQixFQUNyQiwwQkFBMEIsR0FDM0IsTUFBTSx5QkFBeUIsQ0FBQzs7QUFLakMsTUFBTSxPQUFPLHNCQUFzQjtJQU1KO0lBTHBCLFNBQVMsR0FBYSxLQUFLLENBQUM7SUFDNUIsR0FBRyxDQUFTO0lBRWIsV0FBVyxHQUFtQixJQUFJLENBQUM7SUFFM0MsWUFBNkIsT0FBbUI7UUFBbkIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtJQUFHLENBQUM7SUFFcEQsUUFBUTtRQUNOLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU8sY0FBYztRQUNwQixPQUFPLElBQUksQ0FBQyxTQUFTO1lBQ25CLENBQUMsQ0FBQywwQkFBMEIsRUFBRTtZQUM5QixDQUFDLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUM5QixDQUFDO3dHQXJCVSxzQkFBc0I7NEZBQXRCLHNCQUFzQjs7NEZBQXRCLHNCQUFzQjtrQkFIbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtpQkFDeEI7aUdBRVUsU0FBUztzQkFBakIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXNraXRvLCBNYXNraXRvT3B0aW9ucyB9IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIGNyZWF0ZVRpbWVNYXNrT3B0aW9ucyxcclxuICBjcmVhdGVUaW1lUmFuZ2VNYXNrT3B0aW9ucyxcclxufSBmcm9tICcuLi91dGlscy90aW1lLW1hc2sudXRpbCc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tlY2Fic1RpbWVdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVjYWJzTWFza1RpbWVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgdGltZVJhbmdlPzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGFsbDogc3RyaW5nO1xyXG5cclxuICBwcml2YXRlIG1hc2tlZElucHV0OiBNYXNraXRvIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudDogRWxlbWVudFJlZikge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5nZXRNYXNrT3B0aW9ucygpO1xyXG4gICAgdGhpcy5tYXNrZWRJbnB1dCA9IG5ldyBNYXNraXRvKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5tYXNrZWRJbnB1dD8uZGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRNYXNrT3B0aW9ucygpOiBNYXNraXRvT3B0aW9ucyB7XHJcbiAgICByZXR1cm4gdGhpcy50aW1lUmFuZ2VcclxuICAgICAgPyBjcmVhdGVUaW1lUmFuZ2VNYXNrT3B0aW9ucygpXHJcbiAgICAgIDogY3JlYXRlVGltZU1hc2tPcHRpb25zKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,47 +1,21 @@
|
|
|
1
1
|
import { Directive, Input } from '@angular/core';
|
|
2
|
-
import
|
|
2
|
+
import { Maskito } from '@maskito/core';
|
|
3
|
+
import { createTimeRangeMaskOptions } from '../utils/time-mask.util';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export class EcabsTimeRangeDirective {
|
|
5
6
|
element;
|
|
6
7
|
isDateTimeMask = false;
|
|
7
8
|
considerSeconds = false;
|
|
8
9
|
all = 'All';
|
|
9
|
-
|
|
10
|
-
maskDateTime = [
|
|
11
|
-
/\d/,
|
|
12
|
-
/\d/,
|
|
13
|
-
':',
|
|
14
|
-
/\d/,
|
|
15
|
-
/\d/,
|
|
16
|
-
' ',
|
|
17
|
-
'-',
|
|
18
|
-
' ',
|
|
19
|
-
/\d/,
|
|
20
|
-
/\d/,
|
|
21
|
-
':',
|
|
22
|
-
/\d/,
|
|
23
|
-
/\d/,
|
|
24
|
-
];
|
|
10
|
+
maskedInput = null;
|
|
25
11
|
constructor(element) {
|
|
26
12
|
this.element = element;
|
|
27
13
|
}
|
|
28
14
|
ngOnInit() {
|
|
29
|
-
this.
|
|
30
|
-
inputElement: this.element.nativeElement,
|
|
31
|
-
guide: true,
|
|
32
|
-
showMask: false,
|
|
33
|
-
keepCharPositions: true,
|
|
34
|
-
mask: this.maskDateTime,
|
|
35
|
-
pipe: function (conformedValue) {
|
|
36
|
-
if (conformedValue === '__:__ - __:__') {
|
|
37
|
-
return this.all;
|
|
38
|
-
}
|
|
39
|
-
return conformedValue;
|
|
40
|
-
},
|
|
41
|
-
});
|
|
15
|
+
this.maskedInput = new Maskito(this.element.nativeElement, createTimeRangeMaskOptions());
|
|
42
16
|
}
|
|
43
17
|
ngOnDestroy() {
|
|
44
|
-
this.
|
|
18
|
+
this.maskedInput?.destroy();
|
|
45
19
|
}
|
|
46
20
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsTimeRangeDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
47
21
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: EcabsTimeRangeDirective, selector: "[ecabsTimeRange]", inputs: { isDateTimeMask: "isDateTimeMask", considerSeconds: "considerSeconds", all: "all" }, ngImport: i0 });
|
|
@@ -58,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
58
32
|
}], all: [{
|
|
59
33
|
type: Input
|
|
60
34
|
}] } });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1yYW5nZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvYmFzZS9kaXJlY3RpdmVzL3RpbWUtcmFuZ2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUtyRSxNQUFNLE9BQU8sdUJBQXVCO0lBT0w7SUFOcEIsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN2QixlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLEdBQUcsR0FBRyxLQUFLLENBQUM7SUFFYixXQUFXLEdBQW1CLElBQUksQ0FBQztJQUUzQyxZQUE2QixPQUFtQjtRQUFuQixZQUFPLEdBQVAsT0FBTyxDQUFZO0lBQUcsQ0FBQztJQUVwRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQzFCLDBCQUEwQixFQUFFLENBQzdCLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDOUIsQ0FBQzt3R0FsQlUsdUJBQXVCOzRGQUF2Qix1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBSG5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7aUdBRVUsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hc2tpdG8gfSBmcm9tICdAbWFza2l0by9jb3JlJztcclxuaW1wb3J0IHsgY3JlYXRlVGltZVJhbmdlTWFza09wdGlvbnMgfSBmcm9tICcuLi91dGlscy90aW1lLW1hc2sudXRpbCc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tlY2Fic1RpbWVSYW5nZV0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWNhYnNUaW1lUmFuZ2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgaXNEYXRlVGltZU1hc2sgPSBmYWxzZTtcclxuICBASW5wdXQoKSBjb25zaWRlclNlY29uZHMgPSBmYWxzZTtcclxuICBASW5wdXQoKSBhbGwgPSAnQWxsJztcclxuXHJcbiAgcHJpdmF0ZSBtYXNrZWRJbnB1dDogTWFza2l0byB8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQ6IEVsZW1lbnRSZWYpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5tYXNrZWRJbnB1dCA9IG5ldyBNYXNraXRvKFxyXG4gICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcclxuICAgICAgY3JlYXRlVGltZVJhbmdlTWFza09wdGlvbnMoKSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMubWFza2VkSW5wdXQ/LmRlc3Ryb3koKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
export function createTimeRangeMaskOptions() {
|
|
2
|
+
return {
|
|
3
|
+
mask: ({ value }) => {
|
|
4
|
+
const [startValue = '', endValue = ''] = value.split('-');
|
|
5
|
+
return [
|
|
6
|
+
...buildTimeMask(startValue.trim()),
|
|
7
|
+
' ',
|
|
8
|
+
'-',
|
|
9
|
+
' ',
|
|
10
|
+
...buildTimeMask(endValue.trim()),
|
|
11
|
+
];
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export function createTimeMaskOptions() {
|
|
16
|
+
return {
|
|
17
|
+
mask: ({ value }) => {
|
|
18
|
+
return buildTimeMask(value);
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function buildTimeMask(value) {
|
|
23
|
+
const { hoursDigits, minutesDigits } = extractDigits(value);
|
|
24
|
+
const result = [];
|
|
25
|
+
result.push(...getHourMask(hoursDigits));
|
|
26
|
+
result.push(':');
|
|
27
|
+
result.push(...getMinuteMask(minutesDigits));
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
function extractDigits(value) {
|
|
31
|
+
const [hoursPart = '', minutesPart = ''] = value.split(':');
|
|
32
|
+
const hoursDigits = hoursPart.replace(/\D/g, '').slice(0, 2);
|
|
33
|
+
const minutesDigitsFromPart = minutesPart.replace(/\D/g, '').slice(0, 2);
|
|
34
|
+
if (minutesPart) {
|
|
35
|
+
return { hoursDigits, minutesDigits: minutesDigitsFromPart };
|
|
36
|
+
}
|
|
37
|
+
const digits = value.replace(/\D/g, '');
|
|
38
|
+
const inferredHours = digits.slice(0, 2);
|
|
39
|
+
const inferredMinutes = digits.slice(2, 4);
|
|
40
|
+
return {
|
|
41
|
+
hoursDigits: hoursDigits || inferredHours,
|
|
42
|
+
minutesDigits: minutesDigitsFromPart || inferredMinutes,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function getHourMask(hoursDigits) {
|
|
46
|
+
if (hoursDigits.length >= 2) {
|
|
47
|
+
return get24HourMaskStrict(hoursDigits);
|
|
48
|
+
}
|
|
49
|
+
if (!hoursDigits.length) {
|
|
50
|
+
return [/\d/, /\d?/];
|
|
51
|
+
}
|
|
52
|
+
if (hoursDigits.length === 1) {
|
|
53
|
+
const [h1] = hoursDigits;
|
|
54
|
+
if (h1 === '0' || h1 === '1') {
|
|
55
|
+
return [/[0-1]/, /\d?/];
|
|
56
|
+
}
|
|
57
|
+
if (h1 === '2') {
|
|
58
|
+
return [/2/, /[0-3]?/];
|
|
59
|
+
}
|
|
60
|
+
return ['0', /[3-9]/];
|
|
61
|
+
}
|
|
62
|
+
return [/[0-9]/, /\d?/];
|
|
63
|
+
}
|
|
64
|
+
function get24HourMaskStrict(hoursDigits) {
|
|
65
|
+
const [h1] = hoursDigits;
|
|
66
|
+
if (h1 === '2') {
|
|
67
|
+
return [/2/, /[0-3]/];
|
|
68
|
+
}
|
|
69
|
+
if (h1 === '0' || h1 === '1') {
|
|
70
|
+
return [/[0-1]/, /\d/];
|
|
71
|
+
}
|
|
72
|
+
return [/[0-2]/, /[0-3]/];
|
|
73
|
+
}
|
|
74
|
+
function getMinuteMask(minutesDigits) {
|
|
75
|
+
if (minutesDigits.length >= 2) {
|
|
76
|
+
return [/[0-5]/, /\d/];
|
|
77
|
+
}
|
|
78
|
+
if (minutesDigits.length === 1) {
|
|
79
|
+
const firstDigit = parseInt(minutesDigits[0], 10);
|
|
80
|
+
if (firstDigit > 5) {
|
|
81
|
+
return ['0', /[6-9]/];
|
|
82
|
+
}
|
|
83
|
+
return [/[0-5]/, /\d?/];
|
|
84
|
+
}
|
|
85
|
+
return [/[0-9]/, /\d?/];
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1tYXNrLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvYmFzZS91dGlscy90aW1lLW1hc2sudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsMEJBQTBCO0lBQ3hDLE9BQU87UUFDTCxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDbEIsTUFBTSxDQUFDLFVBQVUsR0FBRyxFQUFFLEVBQUUsUUFBUSxHQUFHLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFMUQsT0FBTztnQkFDTCxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ25DLEdBQUc7Z0JBQ0gsR0FBRztnQkFDSCxHQUFHO2dCQUNILEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUNsQyxDQUFDO1FBQ0osQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQjtJQUNuQyxPQUFPO1FBQ0wsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2xCLE9BQU8sYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLEtBQWE7SUFDbEMsTUFBTSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFNUQsTUFBTSxNQUFNLEdBQXdCLEVBQUUsQ0FBQztJQUN2QyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDekMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFFN0MsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLEtBQWE7SUFJbEMsTUFBTSxDQUFDLFNBQVMsR0FBRyxFQUFFLEVBQUUsV0FBVyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUQsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3RCxNQUFNLHFCQUFxQixHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFekUsSUFBSSxXQUFXLEVBQUU7UUFDZixPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxxQkFBcUIsRUFBRSxDQUFDO0tBQzlEO0lBRUQsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDeEMsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDekMsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFM0MsT0FBTztRQUNMLFdBQVcsRUFBRSxXQUFXLElBQUksYUFBYTtRQUN6QyxhQUFhLEVBQUUscUJBQXFCLElBQUksZUFBZTtLQUN4RCxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLFdBQW1CO0lBQ3RDLElBQUksV0FBVyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7UUFDM0IsT0FBTyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUN6QztJQUVELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFO1FBQ3ZCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDdEI7SUFFRCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQzVCLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxXQUFXLENBQUM7UUFFekIsSUFBSSxFQUFFLEtBQUssR0FBRyxJQUFJLEVBQUUsS0FBSyxHQUFHLEVBQUU7WUFDNUIsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztTQUN6QjtRQUVELElBQUksRUFBRSxLQUFLLEdBQUcsRUFBRTtZQUNkLE9BQU8sQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDeEI7UUFFRCxPQUFPLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0tBQ3ZCO0lBRUQsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUMxQixDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FBQyxXQUFtQjtJQUM5QyxNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsV0FBVyxDQUFDO0lBRXpCLElBQUksRUFBRSxLQUFLLEdBQUcsRUFBRTtRQUNkLE9BQU8sQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDdkI7SUFDRCxJQUFJLEVBQUUsS0FBSyxHQUFHLElBQUksRUFBRSxLQUFLLEdBQUcsRUFBRTtRQUM1QixPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQ3hCO0lBRUQsT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztBQUM1QixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsYUFBcUI7SUFDMUMsSUFBSSxhQUFhLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtRQUM3QixPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQ3hCO0lBRUQsSUFBSSxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUM5QixNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWxELElBQUksVUFBVSxHQUFHLENBQUMsRUFBRTtZQUNsQixPQUFPLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ3ZCO1FBRUQsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztLQUN6QjtJQUVELE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hc2tpdG9PcHRpb25zIH0gZnJvbSAnQG1hc2tpdG8vY29yZSc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVGltZVJhbmdlTWFza09wdGlvbnMoKTogTWFza2l0b09wdGlvbnMge1xyXG4gIHJldHVybiB7XHJcbiAgICBtYXNrOiAoeyB2YWx1ZSB9KSA9PiB7XHJcbiAgICAgIGNvbnN0IFtzdGFydFZhbHVlID0gJycsIGVuZFZhbHVlID0gJyddID0gdmFsdWUuc3BsaXQoJy0nKTtcclxuXHJcbiAgICAgIHJldHVybiBbXHJcbiAgICAgICAgLi4uYnVpbGRUaW1lTWFzayhzdGFydFZhbHVlLnRyaW0oKSksXHJcbiAgICAgICAgJyAnLFxyXG4gICAgICAgICctJyxcclxuICAgICAgICAnICcsXHJcbiAgICAgICAgLi4uYnVpbGRUaW1lTWFzayhlbmRWYWx1ZS50cmltKCkpLFxyXG4gICAgICBdO1xyXG4gICAgfSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVGltZU1hc2tPcHRpb25zKCk6IE1hc2tpdG9PcHRpb25zIHtcclxuICByZXR1cm4ge1xyXG4gICAgbWFzazogKHsgdmFsdWUgfSkgPT4ge1xyXG4gICAgICByZXR1cm4gYnVpbGRUaW1lTWFzayh2YWx1ZSk7XHJcbiAgICB9LFxyXG4gIH07XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGJ1aWxkVGltZU1hc2sodmFsdWU6IHN0cmluZyk6IChzdHJpbmcgfCBSZWdFeHApW10ge1xyXG4gIGNvbnN0IHsgaG91cnNEaWdpdHMsIG1pbnV0ZXNEaWdpdHMgfSA9IGV4dHJhY3REaWdpdHModmFsdWUpO1xyXG5cclxuICBjb25zdCByZXN1bHQ6IChzdHJpbmcgfCBSZWdFeHApW10gPSBbXTtcclxuICByZXN1bHQucHVzaCguLi5nZXRIb3VyTWFzayhob3Vyc0RpZ2l0cykpO1xyXG4gIHJlc3VsdC5wdXNoKCc6Jyk7XHJcbiAgcmVzdWx0LnB1c2goLi4uZ2V0TWludXRlTWFzayhtaW51dGVzRGlnaXRzKSk7XHJcblxyXG4gIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGV4dHJhY3REaWdpdHModmFsdWU6IHN0cmluZyk6IHtcclxuICBob3Vyc0RpZ2l0czogc3RyaW5nO1xyXG4gIG1pbnV0ZXNEaWdpdHM6IHN0cmluZztcclxufSB7XHJcbiAgY29uc3QgW2hvdXJzUGFydCA9ICcnLCBtaW51dGVzUGFydCA9ICcnXSA9IHZhbHVlLnNwbGl0KCc6Jyk7XHJcbiAgY29uc3QgaG91cnNEaWdpdHMgPSBob3Vyc1BhcnQucmVwbGFjZSgvXFxEL2csICcnKS5zbGljZSgwLCAyKTtcclxuICBjb25zdCBtaW51dGVzRGlnaXRzRnJvbVBhcnQgPSBtaW51dGVzUGFydC5yZXBsYWNlKC9cXEQvZywgJycpLnNsaWNlKDAsIDIpO1xyXG5cclxuICBpZiAobWludXRlc1BhcnQpIHtcclxuICAgIHJldHVybiB7IGhvdXJzRGlnaXRzLCBtaW51dGVzRGlnaXRzOiBtaW51dGVzRGlnaXRzRnJvbVBhcnQgfTtcclxuICB9XHJcblxyXG4gIGNvbnN0IGRpZ2l0cyA9IHZhbHVlLnJlcGxhY2UoL1xcRC9nLCAnJyk7XHJcbiAgY29uc3QgaW5mZXJyZWRIb3VycyA9IGRpZ2l0cy5zbGljZSgwLCAyKTtcclxuICBjb25zdCBpbmZlcnJlZE1pbnV0ZXMgPSBkaWdpdHMuc2xpY2UoMiwgNCk7XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICBob3Vyc0RpZ2l0czogaG91cnNEaWdpdHMgfHwgaW5mZXJyZWRIb3VycyxcclxuICAgIG1pbnV0ZXNEaWdpdHM6IG1pbnV0ZXNEaWdpdHNGcm9tUGFydCB8fCBpbmZlcnJlZE1pbnV0ZXMsXHJcbiAgfTtcclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0SG91ck1hc2soaG91cnNEaWdpdHM6IHN0cmluZyk6IChzdHJpbmcgfCBSZWdFeHApW10ge1xyXG4gIGlmIChob3Vyc0RpZ2l0cy5sZW5ndGggPj0gMikge1xyXG4gICAgcmV0dXJuIGdldDI0SG91ck1hc2tTdHJpY3QoaG91cnNEaWdpdHMpO1xyXG4gIH1cclxuXHJcbiAgaWYgKCFob3Vyc0RpZ2l0cy5sZW5ndGgpIHtcclxuICAgIHJldHVybiBbL1xcZC8sIC9cXGQ/L107XHJcbiAgfVxyXG5cclxuICBpZiAoaG91cnNEaWdpdHMubGVuZ3RoID09PSAxKSB7XHJcbiAgICBjb25zdCBbaDFdID0gaG91cnNEaWdpdHM7XHJcblxyXG4gICAgaWYgKGgxID09PSAnMCcgfHwgaDEgPT09ICcxJykge1xyXG4gICAgICByZXR1cm4gWy9bMC0xXS8sIC9cXGQ/L107XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGgxID09PSAnMicpIHtcclxuICAgICAgcmV0dXJuIFsvMi8sIC9bMC0zXT8vXTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gWycwJywgL1szLTldL107XHJcbiAgfVxyXG5cclxuICByZXR1cm4gWy9bMC05XS8sIC9cXGQ/L107XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGdldDI0SG91ck1hc2tTdHJpY3QoaG91cnNEaWdpdHM6IHN0cmluZyk6IChzdHJpbmcgfCBSZWdFeHApW10ge1xyXG4gIGNvbnN0IFtoMV0gPSBob3Vyc0RpZ2l0cztcclxuXHJcbiAgaWYgKGgxID09PSAnMicpIHtcclxuICAgIHJldHVybiBbLzIvLCAvWzAtM10vXTtcclxuICB9XHJcbiAgaWYgKGgxID09PSAnMCcgfHwgaDEgPT09ICcxJykge1xyXG4gICAgcmV0dXJuIFsvWzAtMV0vLCAvXFxkL107XHJcbiAgfVxyXG5cclxuICByZXR1cm4gWy9bMC0yXS8sIC9bMC0zXS9dO1xyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRNaW51dGVNYXNrKG1pbnV0ZXNEaWdpdHM6IHN0cmluZyk6IChzdHJpbmcgfCBSZWdFeHApW10ge1xyXG4gIGlmIChtaW51dGVzRGlnaXRzLmxlbmd0aCA+PSAyKSB7XHJcbiAgICByZXR1cm4gWy9bMC01XS8sIC9cXGQvXTtcclxuICB9XHJcblxyXG4gIGlmIChtaW51dGVzRGlnaXRzLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgY29uc3QgZmlyc3REaWdpdCA9IHBhcnNlSW50KG1pbnV0ZXNEaWdpdHNbMF0sIDEwKTtcclxuXHJcbiAgICBpZiAoZmlyc3REaWdpdCA+IDUpIHtcclxuICAgICAgcmV0dXJuIFsnMCcsIC9bNi05XS9dO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBbL1swLTVdLywgL1xcZD8vXTtcclxuICB9XHJcblxyXG4gIHJldHVybiBbL1swLTldLywgL1xcZD8vXTtcclxufVxyXG4iXX0=
|
|
@@ -41,7 +41,7 @@ export class EcabsButtonToggleComponent {
|
|
|
41
41
|
useExisting: forwardRef(() => EcabsButtonToggleComponent),
|
|
42
42
|
multi: true,
|
|
43
43
|
},
|
|
44
|
-
], ngImport: i0, template: "<mat-button-toggle-group\r\n class=\"ecabs-button-toggle\"\r\n [ngClass]=\"'ecabs-button-toggle--' + size\"\r\n [multiple]=\"multiple\"\r\n [value]=\"value\" \r\n [disabled]=\"isDisabled\"\r\n (change)=\"onGroupChange($event)\"\r\n> \r\n <mat-button-toggle\r\n *ngFor=\"let option of options; trackBy: trackByOptionValue\"\r\n [value]=\"option.value\"\r\n [disabled]=\"option.disabled\">\r\n {{ option.label }}\r\n </mat-button-toggle>\r\n</mat-button-toggle-group>", styles: [".ecabs-button-toggle{border-radius
|
|
44
|
+
], ngImport: i0, template: "<mat-button-toggle-group\r\n class=\"ecabs-button-toggle\"\r\n [ngClass]=\"'ecabs-button-toggle--' + size\"\r\n [multiple]=\"multiple\"\r\n [value]=\"value\" \r\n [disabled]=\"isDisabled\"\r\n (change)=\"onGroupChange($event)\"\r\n> \r\n <mat-button-toggle\r\n *ngFor=\"let option of options; trackBy: trackByOptionValue\"\r\n [value]=\"option.value\"\r\n [disabled]=\"option.disabled\">\r\n {{ option.label }}\r\n </mat-button-toggle>\r\n</mat-button-toggle-group>", styles: [":root{--color-black: #020618;--color-white: #ffffff;--color-white-opacity-05: rgba(0, 0, 0, .05);--color-gray-50: #F8FAFC;--color-gray-100: #F1F5F9;--color-gray-200: #E2E8F0;--color-gray-300: #CAD5E2;--color-gray-400: #90A1B9;--color-gray-500: #62748E;--color-gray-600: #45556C;--color-gray-700: #314158;--color-gray-800: #1D293D;--color-gray-900: #0F172B;--color-gray-950: #020618;--color-brand-dark: #193273;--color-brand-dark-rgb: 25, 50, 115;--color-brand-light: #325FDA;--color-brand-light2: #e7efff;--color-brand-light-rgb: 50, 95, 218;--color-brand-300: #e7efff;--color-brand-300-rgb: 231, 239, 255;--color-error: #df3838;--color-error-opacity: #fbe4e4;--color-error-rgb: 223, 56, 56;--color-notification: #f4d04f;--color-notification-rgb: 244, 208, 79;--color-warn: #f2994a;--color-warn-rgb: 242, 153, 74;--color-info: #325fda;--color-info-rgb: 50, 95, 218;--color-warning: #f2994a;--color-warning-opacity: #fdf0e4;--color-success: #075145;--color-success--opacity: #affebf;--color-success-rgb: 7, 81, 69;--color-allocation-started: #E8F8E5;--color-allocation-scheduled: #FDF0E4;--color-allocation-ended: #FBE4E4;--color-allocation-sick: #E7EFFF;--color-allocation-no-show: #EAE5FF;--color-allocation-unavailable: #F2F2F2;--cropper-outline-color: rgba(0, 0, 0, .5);--mat-option-label-text-color: var(--color-gray-900);--mat-option-focus-state-layer-color: var(--color-gray-100);--mat-option-hover-state-layer-color: var(--color-gray-50);--mat-option-label-text-size: 14px}.ecabs-button-toggle{border-radius:.5rem;box-shadow:none;border:none;background-color:var(--color-gray-100);padding:6px;display:inline-flex;align-items:center}.ecabs-button-toggle.mat-button-toggle-group-appearance-standard{border:none}.ecabs-button-toggle .mat-button-toggle{border:none!important;background:transparent;color:var(--color-gray-500);border-radius:.5rem;transition:background-color .2s ease,color .2s ease}.ecabs-button-toggle .mat-button-toggle:hover{background-color:var(--color-gray-100)}.ecabs-button-toggle .mat-button-toggle+.mat-button-toggle{border-left:none}.ecabs-button-toggle .mat-button-toggle-checked{color:var(--color-gray-900)}.ecabs-button-toggle .mat-button-toggle-checked .mat-button-toggle-button{background-color:var(--color-white);border-color:var(--color-gray-200);box-shadow:0 1px 2px #0000000f}.ecabs-button-toggle .mat-button-toggle-checked .mat-button-toggle-label-content{color:var(--color-gray-900)}.ecabs-button-toggle .mat-button-toggle-disabled{color:var(--color-gray-400)}.ecabs-button-toggle .mat-button-toggle-disabled .mat-button-toggle-button{cursor:not-allowed;opacity:.6}.ecabs-button-toggle .mat-button-toggle-button{border-radius:.5rem;border:1px solid transparent;display:flex;align-items:center;justify-content:center}.ecabs-button-toggle .mat-button-toggle-label-content{font-weight:500;font-family:inherit;line-height:1;display:inline-flex;align-items:center;justify-content:center}.ecabs-button-toggle--small .mat-button-toggle{height:32px}.ecabs-button-toggle--small .mat-button-toggle .mat-button-toggle-button{height:32px;min-width:72px}.ecabs-button-toggle--small .mat-button-toggle .mat-button-toggle-label-content{font-size:12px;padding:0 12px}.ecabs-button-toggle--medium .mat-button-toggle{height:40px}.ecabs-button-toggle--medium .mat-button-toggle .mat-button-toggle-button{height:40px;min-width:120px}.ecabs-button-toggle--medium .mat-button-toggle .mat-button-toggle-label-content{font-size:14px;padding:0 20px}.ecabs-button-toggle--large .mat-button-toggle{height:48px}.ecabs-button-toggle--large .mat-button-toggle .mat-button-toggle-button{height:48px;min-width:168px}.ecabs-button-toggle--large .mat-button-toggle .mat-button-toggle-label-content{font-size:16px;padding:0 28px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i2.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
45
45
|
}
|
|
46
46
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsButtonToggleComponent, decorators: [{
|
|
47
47
|
type: Component,
|
|
@@ -51,7 +51,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
51
51
|
useExisting: forwardRef(() => EcabsButtonToggleComponent),
|
|
52
52
|
multi: true,
|
|
53
53
|
},
|
|
54
|
-
], template: "<mat-button-toggle-group\r\n class=\"ecabs-button-toggle\"\r\n [ngClass]=\"'ecabs-button-toggle--' + size\"\r\n [multiple]=\"multiple\"\r\n [value]=\"value\" \r\n [disabled]=\"isDisabled\"\r\n (change)=\"onGroupChange($event)\"\r\n> \r\n <mat-button-toggle\r\n *ngFor=\"let option of options; trackBy: trackByOptionValue\"\r\n [value]=\"option.value\"\r\n [disabled]=\"option.disabled\">\r\n {{ option.label }}\r\n </mat-button-toggle>\r\n</mat-button-toggle-group>", styles: [".ecabs-button-toggle{border-radius
|
|
54
|
+
], template: "<mat-button-toggle-group\r\n class=\"ecabs-button-toggle\"\r\n [ngClass]=\"'ecabs-button-toggle--' + size\"\r\n [multiple]=\"multiple\"\r\n [value]=\"value\" \r\n [disabled]=\"isDisabled\"\r\n (change)=\"onGroupChange($event)\"\r\n> \r\n <mat-button-toggle\r\n *ngFor=\"let option of options; trackBy: trackByOptionValue\"\r\n [value]=\"option.value\"\r\n [disabled]=\"option.disabled\">\r\n {{ option.label }}\r\n </mat-button-toggle>\r\n</mat-button-toggle-group>", styles: [":root{--color-black: #020618;--color-white: #ffffff;--color-white-opacity-05: rgba(0, 0, 0, .05);--color-gray-50: #F8FAFC;--color-gray-100: #F1F5F9;--color-gray-200: #E2E8F0;--color-gray-300: #CAD5E2;--color-gray-400: #90A1B9;--color-gray-500: #62748E;--color-gray-600: #45556C;--color-gray-700: #314158;--color-gray-800: #1D293D;--color-gray-900: #0F172B;--color-gray-950: #020618;--color-brand-dark: #193273;--color-brand-dark-rgb: 25, 50, 115;--color-brand-light: #325FDA;--color-brand-light2: #e7efff;--color-brand-light-rgb: 50, 95, 218;--color-brand-300: #e7efff;--color-brand-300-rgb: 231, 239, 255;--color-error: #df3838;--color-error-opacity: #fbe4e4;--color-error-rgb: 223, 56, 56;--color-notification: #f4d04f;--color-notification-rgb: 244, 208, 79;--color-warn: #f2994a;--color-warn-rgb: 242, 153, 74;--color-info: #325fda;--color-info-rgb: 50, 95, 218;--color-warning: #f2994a;--color-warning-opacity: #fdf0e4;--color-success: #075145;--color-success--opacity: #affebf;--color-success-rgb: 7, 81, 69;--color-allocation-started: #E8F8E5;--color-allocation-scheduled: #FDF0E4;--color-allocation-ended: #FBE4E4;--color-allocation-sick: #E7EFFF;--color-allocation-no-show: #EAE5FF;--color-allocation-unavailable: #F2F2F2;--cropper-outline-color: rgba(0, 0, 0, .5);--mat-option-label-text-color: var(--color-gray-900);--mat-option-focus-state-layer-color: var(--color-gray-100);--mat-option-hover-state-layer-color: var(--color-gray-50);--mat-option-label-text-size: 14px}.ecabs-button-toggle{border-radius:.5rem;box-shadow:none;border:none;background-color:var(--color-gray-100);padding:6px;display:inline-flex;align-items:center}.ecabs-button-toggle.mat-button-toggle-group-appearance-standard{border:none}.ecabs-button-toggle .mat-button-toggle{border:none!important;background:transparent;color:var(--color-gray-500);border-radius:.5rem;transition:background-color .2s ease,color .2s ease}.ecabs-button-toggle .mat-button-toggle:hover{background-color:var(--color-gray-100)}.ecabs-button-toggle .mat-button-toggle+.mat-button-toggle{border-left:none}.ecabs-button-toggle .mat-button-toggle-checked{color:var(--color-gray-900)}.ecabs-button-toggle .mat-button-toggle-checked .mat-button-toggle-button{background-color:var(--color-white);border-color:var(--color-gray-200);box-shadow:0 1px 2px #0000000f}.ecabs-button-toggle .mat-button-toggle-checked .mat-button-toggle-label-content{color:var(--color-gray-900)}.ecabs-button-toggle .mat-button-toggle-disabled{color:var(--color-gray-400)}.ecabs-button-toggle .mat-button-toggle-disabled .mat-button-toggle-button{cursor:not-allowed;opacity:.6}.ecabs-button-toggle .mat-button-toggle-button{border-radius:.5rem;border:1px solid transparent;display:flex;align-items:center;justify-content:center}.ecabs-button-toggle .mat-button-toggle-label-content{font-weight:500;font-family:inherit;line-height:1;display:inline-flex;align-items:center;justify-content:center}.ecabs-button-toggle--small .mat-button-toggle{height:32px}.ecabs-button-toggle--small .mat-button-toggle .mat-button-toggle-button{height:32px;min-width:72px}.ecabs-button-toggle--small .mat-button-toggle .mat-button-toggle-label-content{font-size:12px;padding:0 12px}.ecabs-button-toggle--medium .mat-button-toggle{height:40px}.ecabs-button-toggle--medium .mat-button-toggle .mat-button-toggle-button{height:40px;min-width:120px}.ecabs-button-toggle--medium .mat-button-toggle .mat-button-toggle-label-content{font-size:14px;padding:0 20px}.ecabs-button-toggle--large .mat-button-toggle{height:48px}.ecabs-button-toggle--large .mat-button-toggle .mat-button-toggle-button{height:48px;min-width:168px}.ecabs-button-toggle--large .mat-button-toggle .mat-button-toggle-label-content{font-size:16px;padding:0 28px}\n"] }]
|
|
55
55
|
}], ctorParameters: function () { return []; }, propDecorators: { options: [{
|
|
56
56
|
type: Input
|
|
57
57
|
}], multiple: [{
|
|
@@ -33,11 +33,11 @@ export class ButtonsV2Component {
|
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
35
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonsV2Component, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
36
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ButtonsV2Component, selector: "ecabs-buttons-v2", inputs: { disabled: "disabled", loading: "loading", size: "size", type: "type", style: "style", color: "color", fullWidth: "fullWidth" }, host: { properties: { "style.width": "this.hostWidth", "class": "this.classAttr" } }, usesOnChanges: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"style\">\r\n <button \r\n mat-flat-button \r\n *ngSwitchCase=\"'flat'\" \r\n [ngClass]=\"buttonClasses\" \r\n [class]=\"sizeClass\" \r\n [color]=\"color\" \r\n [disabled]=\"disabled\" \r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n <button \r\n mat-stroked-button \r\n *ngSwitchCase=\"'stroked'\" \r\n [ngClass]=\"buttonClasses\" \r\n [class]=\"sizeClass\" \r\n [color]=\"color\" \r\n [disabled]=\"disabled\" \r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n <button \r\n mat-raised-button \r\n *ngSwitchCase=\"'raised'\" \r\n [ngClass]=\"buttonClasses\" \r\n [class]=\"sizeClass\" \r\n [color]=\"color\" \r\n [disabled]=\"disabled\" \r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n <button \r\n mat-button \r\n *ngSwitchCase=\"'basic'\" \r\n [ngClass]=\"buttonClasses\" \r\n [class]=\"sizeClass\" \r\n [disabled]=\"disabled\" \r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n</ng-container>\r\n\r\n<ng-template #content>\r\n <ecabs-loading-spinner \r\n size=\"tiny\" \r\n *ngIf=\"loading\"\r\n >\r\n </ecabs-loading-spinner>\r\n <ng-container *ngIf=\"!loading\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content></ng-content>\r\n </ng-container>\r\n</ng-template>\r\n", styles: [".ecabs-button-v2--small.mat-mdc-button,.ecabs-button-v2--small.mat-mdc-outlined-button,.ecabs-button-v2--small.mat-mdc-unelevated-button,.ecabs-button-v2--small.mat-mdc-raised-button{height:32px;min-width:90px;padding:0 12px;font-size:12px;font-weight:600;line-height:18px;letter-spacing:0;border-radius
|
|
36
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ButtonsV2Component, selector: "ecabs-buttons-v2", inputs: { disabled: "disabled", loading: "loading", size: "size", type: "type", style: "style", color: "color", fullWidth: "fullWidth" }, host: { properties: { "style.width": "this.hostWidth", "class": "this.classAttr" } }, usesOnChanges: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"style\">\r\n <button \r\n mat-flat-button \r\n *ngSwitchCase=\"'flat'\" \r\n [ngClass]=\"buttonClasses\" \r\n [class]=\"sizeClass\" \r\n [color]=\"color\" \r\n [disabled]=\"disabled\" \r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n <button \r\n mat-stroked-button \r\n *ngSwitchCase=\"'stroked'\" \r\n [ngClass]=\"buttonClasses\" \r\n [class]=\"sizeClass\" \r\n [color]=\"color\" \r\n [disabled]=\"disabled\" \r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n <button \r\n mat-raised-button \r\n *ngSwitchCase=\"'raised'\" \r\n [ngClass]=\"buttonClasses\" \r\n [class]=\"sizeClass\" \r\n [color]=\"color\" \r\n [disabled]=\"disabled\" \r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n <button \r\n mat-button \r\n *ngSwitchCase=\"'basic'\" \r\n [ngClass]=\"buttonClasses\" \r\n [class]=\"sizeClass\" \r\n [disabled]=\"disabled\" \r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n</ng-container>\r\n\r\n<ng-template #content>\r\n <ecabs-loading-spinner \r\n size=\"tiny\" \r\n *ngIf=\"loading\"\r\n >\r\n </ecabs-loading-spinner>\r\n <ng-container *ngIf=\"!loading\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content></ng-content>\r\n </ng-container>\r\n</ng-template>\r\n", styles: [":root{--color-black: #020618;--color-white: #ffffff;--color-white-opacity-05: rgba(0, 0, 0, .05);--color-gray-50: #F8FAFC;--color-gray-100: #F1F5F9;--color-gray-200: #E2E8F0;--color-gray-300: #CAD5E2;--color-gray-400: #90A1B9;--color-gray-500: #62748E;--color-gray-600: #45556C;--color-gray-700: #314158;--color-gray-800: #1D293D;--color-gray-900: #0F172B;--color-gray-950: #020618;--color-brand-dark: #193273;--color-brand-dark-rgb: 25, 50, 115;--color-brand-light: #325FDA;--color-brand-light2: #e7efff;--color-brand-light-rgb: 50, 95, 218;--color-brand-300: #e7efff;--color-brand-300-rgb: 231, 239, 255;--color-error: #df3838;--color-error-opacity: #fbe4e4;--color-error-rgb: 223, 56, 56;--color-notification: #f4d04f;--color-notification-rgb: 244, 208, 79;--color-warn: #f2994a;--color-warn-rgb: 242, 153, 74;--color-info: #325fda;--color-info-rgb: 50, 95, 218;--color-warning: #f2994a;--color-warning-opacity: #fdf0e4;--color-success: #075145;--color-success--opacity: #affebf;--color-success-rgb: 7, 81, 69;--color-allocation-started: #E8F8E5;--color-allocation-scheduled: #FDF0E4;--color-allocation-ended: #FBE4E4;--color-allocation-sick: #E7EFFF;--color-allocation-no-show: #EAE5FF;--color-allocation-unavailable: #F2F2F2;--cropper-outline-color: rgba(0, 0, 0, .5);--mat-option-label-text-color: var(--color-gray-900);--mat-option-focus-state-layer-color: var(--color-gray-100);--mat-option-hover-state-layer-color: var(--color-gray-50);--mat-option-label-text-size: 14px}.ecabs-button-v2--small.mat-mdc-button,.ecabs-button-v2--small.mat-mdc-outlined-button,.ecabs-button-v2--small.mat-mdc-unelevated-button,.ecabs-button-v2--small.mat-mdc-raised-button{height:32px;min-width:90px;padding:0 12px;font-size:12px;font-weight:600;line-height:18px;letter-spacing:0;border-radius:.5rem;text-align:center}.ecabs-button-v2--medium.mat-mdc-button,.ecabs-button-v2--medium.mat-mdc-outlined-button,.ecabs-button-v2--medium.mat-mdc-unelevated-button,.ecabs-button-v2--medium.mat-mdc-raised-button{height:40px;min-width:120px;padding:0 16px;font-size:14px;font-weight:600;line-height:21px;letter-spacing:0;border-radius:.5rem;text-align:center}.ecabs-button-v2--large.mat-mdc-button,.ecabs-button-v2--large.mat-mdc-outlined-button,.ecabs-button-v2--large.mat-mdc-unelevated-button,.ecabs-button-v2--large.mat-mdc-raised-button{height:48px;min-width:140px;padding:0 20px;font-size:16px;font-weight:600;line-height:24px;letter-spacing:0;border-radius:.5rem;text-align:center}.ecabs-button-v2--small.mat-mdc-button,.ecabs-button-v2--medium.mat-mdc-button,.ecabs-button-v2--large.mat-mdc-button{color:var(--color-gray-500)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.EcabsSpinnerComponent, selector: "ecabs-loading-spinner", inputs: ["size"] }] });
|
|
37
37
|
}
|
|
38
38
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonsV2Component, decorators: [{
|
|
39
39
|
type: Component,
|
|
40
|
-
args: [{ selector: 'ecabs-buttons-v2', template: "<ng-container [ngSwitch]=\"style\">\r\n <button \r\n mat-flat-button \r\n *ngSwitchCase=\"'flat'\" \r\n [ngClass]=\"buttonClasses\" \r\n [class]=\"sizeClass\" \r\n [color]=\"color\" \r\n [disabled]=\"disabled\" \r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n <button \r\n mat-stroked-button \r\n *ngSwitchCase=\"'stroked'\" \r\n [ngClass]=\"buttonClasses\" \r\n [class]=\"sizeClass\" \r\n [color]=\"color\" \r\n [disabled]=\"disabled\" \r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n <button \r\n mat-raised-button \r\n *ngSwitchCase=\"'raised'\" \r\n [ngClass]=\"buttonClasses\" \r\n [class]=\"sizeClass\" \r\n [color]=\"color\" \r\n [disabled]=\"disabled\" \r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n <button \r\n mat-button \r\n *ngSwitchCase=\"'basic'\" \r\n [ngClass]=\"buttonClasses\" \r\n [class]=\"sizeClass\" \r\n [disabled]=\"disabled\" \r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n</ng-container>\r\n\r\n<ng-template #content>\r\n <ecabs-loading-spinner \r\n size=\"tiny\" \r\n *ngIf=\"loading\"\r\n >\r\n </ecabs-loading-spinner>\r\n <ng-container *ngIf=\"!loading\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content></ng-content>\r\n </ng-container>\r\n</ng-template>\r\n", styles: [".ecabs-button-v2--small.mat-mdc-button,.ecabs-button-v2--small.mat-mdc-outlined-button,.ecabs-button-v2--small.mat-mdc-unelevated-button,.ecabs-button-v2--small.mat-mdc-raised-button{height:32px;min-width:90px;padding:0 12px;font-size:12px;font-weight:600;line-height:18px;letter-spacing:0;border-radius
|
|
40
|
+
args: [{ selector: 'ecabs-buttons-v2', template: "<ng-container [ngSwitch]=\"style\">\r\n <button \r\n mat-flat-button \r\n *ngSwitchCase=\"'flat'\" \r\n [ngClass]=\"buttonClasses\" \r\n [class]=\"sizeClass\" \r\n [color]=\"color\" \r\n [disabled]=\"disabled\" \r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n <button \r\n mat-stroked-button \r\n *ngSwitchCase=\"'stroked'\" \r\n [ngClass]=\"buttonClasses\" \r\n [class]=\"sizeClass\" \r\n [color]=\"color\" \r\n [disabled]=\"disabled\" \r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n <button \r\n mat-raised-button \r\n *ngSwitchCase=\"'raised'\" \r\n [ngClass]=\"buttonClasses\" \r\n [class]=\"sizeClass\" \r\n [color]=\"color\" \r\n [disabled]=\"disabled\" \r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n <button \r\n mat-button \r\n *ngSwitchCase=\"'basic'\" \r\n [ngClass]=\"buttonClasses\" \r\n [class]=\"sizeClass\" \r\n [disabled]=\"disabled\" \r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n</ng-container>\r\n\r\n<ng-template #content>\r\n <ecabs-loading-spinner \r\n size=\"tiny\" \r\n *ngIf=\"loading\"\r\n >\r\n </ecabs-loading-spinner>\r\n <ng-container *ngIf=\"!loading\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content></ng-content>\r\n </ng-container>\r\n</ng-template>\r\n", styles: [":root{--color-black: #020618;--color-white: #ffffff;--color-white-opacity-05: rgba(0, 0, 0, .05);--color-gray-50: #F8FAFC;--color-gray-100: #F1F5F9;--color-gray-200: #E2E8F0;--color-gray-300: #CAD5E2;--color-gray-400: #90A1B9;--color-gray-500: #62748E;--color-gray-600: #45556C;--color-gray-700: #314158;--color-gray-800: #1D293D;--color-gray-900: #0F172B;--color-gray-950: #020618;--color-brand-dark: #193273;--color-brand-dark-rgb: 25, 50, 115;--color-brand-light: #325FDA;--color-brand-light2: #e7efff;--color-brand-light-rgb: 50, 95, 218;--color-brand-300: #e7efff;--color-brand-300-rgb: 231, 239, 255;--color-error: #df3838;--color-error-opacity: #fbe4e4;--color-error-rgb: 223, 56, 56;--color-notification: #f4d04f;--color-notification-rgb: 244, 208, 79;--color-warn: #f2994a;--color-warn-rgb: 242, 153, 74;--color-info: #325fda;--color-info-rgb: 50, 95, 218;--color-warning: #f2994a;--color-warning-opacity: #fdf0e4;--color-success: #075145;--color-success--opacity: #affebf;--color-success-rgb: 7, 81, 69;--color-allocation-started: #E8F8E5;--color-allocation-scheduled: #FDF0E4;--color-allocation-ended: #FBE4E4;--color-allocation-sick: #E7EFFF;--color-allocation-no-show: #EAE5FF;--color-allocation-unavailable: #F2F2F2;--cropper-outline-color: rgba(0, 0, 0, .5);--mat-option-label-text-color: var(--color-gray-900);--mat-option-focus-state-layer-color: var(--color-gray-100);--mat-option-hover-state-layer-color: var(--color-gray-50);--mat-option-label-text-size: 14px}.ecabs-button-v2--small.mat-mdc-button,.ecabs-button-v2--small.mat-mdc-outlined-button,.ecabs-button-v2--small.mat-mdc-unelevated-button,.ecabs-button-v2--small.mat-mdc-raised-button{height:32px;min-width:90px;padding:0 12px;font-size:12px;font-weight:600;line-height:18px;letter-spacing:0;border-radius:.5rem;text-align:center}.ecabs-button-v2--medium.mat-mdc-button,.ecabs-button-v2--medium.mat-mdc-outlined-button,.ecabs-button-v2--medium.mat-mdc-unelevated-button,.ecabs-button-v2--medium.mat-mdc-raised-button{height:40px;min-width:120px;padding:0 16px;font-size:14px;font-weight:600;line-height:21px;letter-spacing:0;border-radius:.5rem;text-align:center}.ecabs-button-v2--large.mat-mdc-button,.ecabs-button-v2--large.mat-mdc-outlined-button,.ecabs-button-v2--large.mat-mdc-unelevated-button,.ecabs-button-v2--large.mat-mdc-raised-button{height:48px;min-width:140px;padding:0 20px;font-size:16px;font-weight:600;line-height:24px;letter-spacing:0;border-radius:.5rem;text-align:center}.ecabs-button-v2--small.mat-mdc-button,.ecabs-button-v2--medium.mat-mdc-button,.ecabs-button-v2--large.mat-mdc-button{color:var(--color-gray-500)}\n"] }]
|
|
41
41
|
}], propDecorators: { disabled: [{
|
|
42
42
|
type: Input
|
|
43
43
|
}], loading: [{
|