ecabs-components 1.1.75 → 1.1.77
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 +146 -143
- package/esm2022/lib/base/models/phone.models.mjs +1 -1
- package/esm2022/lib/base/models/waypoint.models.mjs +1 -4
- package/esm2022/lib/base/utils/phone-number.utils.mjs +32 -2
- package/esm2022/lib/ecabs-button-toggle/ecabs-button-toggle.component.mjs +12 -7
- package/esm2022/lib/ecabs-buttons-v2/ecabs-buttons-v2.component.mjs +2 -2
- package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +2 -2
- package/esm2022/lib/ecabs-checkbox-v2/ecabs-checkbox-v2.component.mjs +2 -2
- package/esm2022/lib/ecabs-chip-autocomplete/ecabs-chip-autocomplete.component.mjs +2 -4
- package/esm2022/lib/ecabs-date-range-picker/ecabs-date-range-picker.component.mjs +2 -2
- package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +2 -2
- package/esm2022/lib/ecabs-increment/ecabs-increment.component.mjs +2 -2
- package/esm2022/lib/ecabs-input/ecabs-input.component.mjs +3 -3
- package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +2 -2
- package/esm2022/lib/ecabs-multiple-dates-picker/ecabs-multiple-dates-picker.component.mjs +2 -2
- package/esm2022/lib/ecabs-note/ecabs-note.component.mjs +2 -2
- package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +2 -2
- package/esm2022/lib/ecabs-place-autocomplete-v2/ecabs-place-autocomplete-v2.component.mjs +89 -59
- package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +2 -2
- package/fesm2022/ecabs-components.mjs +156 -97
- package/fesm2022/ecabs-components.mjs.map +1 -1
- package/lib/base/models/phone.models.d.ts +7 -1
- package/lib/base/models/waypoint.models.d.ts +1 -2
- package/lib/base/utils/phone-number.utils.d.ts +4 -1
- package/lib/ecabs-button-toggle/ecabs-button-toggle.component.d.ts +1 -1
- package/lib/ecabs-place-autocomplete-v2/ecabs-place-autocomplete-v2.component.d.ts +21 -13
- package/package.json +1 -1
- package/src/assets/styles/material/overrides/_menu.scss +4 -0
- package/src/assets/styles/scss/modules/_chip.scss +64 -64
- package/src/assets/styles/scss/modules/_form.scss +312 -312
- package/src/assets/styles/scss/modules/_statuses.scss +36 -36
- package/src/assets/styles/scss/utilities/_colors.scss +56 -58
- package/src/assets/styles/tailwind/index.scss +1 -1
package/README.md
CHANGED
|
@@ -1,143 +1,146 @@
|
|
|
1
|
-
# EcabsComponents
|
|
2
|
-
|
|
3
|
-
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 14.2.0.
|
|
4
|
-
|
|
5
|
-
## Code scaffolding
|
|
6
|
-
|
|
7
|
-
Run `ng generate component component-name --project ecabs-components` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project ecabs-components`.
|
|
8
|
-
> Note: Don't forget to add `--project ecabs-components` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
-
|
|
10
|
-
## Build
|
|
11
|
-
|
|
12
|
-
Run `ng build ecabs-components` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
-
|
|
14
|
-
## Publishing
|
|
15
|
-
|
|
16
|
-
After building your library with `ng build ecabs-components`, go to the dist folder `cd dist/ecabs-components` and run `npm publish`.
|
|
17
|
-
|
|
18
|
-
## Running unit tests
|
|
19
|
-
|
|
20
|
-
Run `ng test ecabs-components` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
-
|
|
22
|
-
## Further help
|
|
23
|
-
|
|
24
|
-
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
25
|
-
|
|
26
|
-
## Version History
|
|
27
|
-
|
|
28
|
-
- **v1.1.
|
|
29
|
-
- **v1.1.
|
|
30
|
-
-
|
|
31
|
-
|
|
32
|
-
- **v1.1.
|
|
33
|
-
- **v1.1.
|
|
34
|
-
-
|
|
35
|
-
|
|
36
|
-
- **v1.1.
|
|
37
|
-
- **v1.1.
|
|
38
|
-
-
|
|
39
|
-
|
|
40
|
-
- **v1.1.
|
|
41
|
-
- **v1.1.
|
|
42
|
-
-
|
|
43
|
-
- **v1.1.
|
|
44
|
-
|
|
45
|
-
- **v1.1.
|
|
46
|
-
- **v1.1.
|
|
47
|
-
-
|
|
48
|
-
- **v1.1.
|
|
49
|
-
|
|
50
|
-
- **
|
|
51
|
-
- **v1.1.
|
|
52
|
-
- **
|
|
53
|
-
- **v1.1.
|
|
54
|
-
- **v1.1.
|
|
55
|
-
- **v1.1.
|
|
56
|
-
- **v1.1.
|
|
57
|
-
- **v1.1.
|
|
58
|
-
- **v1.1.
|
|
59
|
-
- **v1.1.
|
|
60
|
-
- **v1.1.
|
|
61
|
-
- **v1.1.
|
|
62
|
-
- **v1.1.
|
|
63
|
-
- **v1.1.
|
|
64
|
-
- **v1.1.
|
|
65
|
-
- **v1.1.
|
|
66
|
-
- **v1.1.
|
|
67
|
-
- **v1.1.
|
|
68
|
-
- **v1.1.
|
|
69
|
-
- **v1.1.
|
|
70
|
-
- **v1.1.
|
|
71
|
-
- **v1.1.
|
|
72
|
-
- **v1.1.
|
|
73
|
-
|
|
74
|
-
- **v1.1.
|
|
75
|
-
|
|
76
|
-
-
|
|
77
|
-
- **v1.1.
|
|
78
|
-
-
|
|
79
|
-
- **v1.1.
|
|
80
|
-
- **v1.1.
|
|
81
|
-
- **v1.1.
|
|
82
|
-
- **v1.1.
|
|
83
|
-
- **v1.1.
|
|
84
|
-
- **v1.1.
|
|
85
|
-
- **v1.1.
|
|
86
|
-
- **v1.1.
|
|
87
|
-
- **v1.1.
|
|
88
|
-
|
|
89
|
-
- **v1.1.
|
|
90
|
-
- **v1.1.
|
|
91
|
-
-
|
|
92
|
-
- **v1.1.
|
|
93
|
-
- **v1.1.
|
|
94
|
-
- **v1.1.
|
|
95
|
-
- **v1.1.
|
|
96
|
-
- **v1.1.
|
|
97
|
-
- **v1.1.
|
|
98
|
-
- **v1.1.
|
|
99
|
-
- **v1.1.
|
|
100
|
-
- **v1.1.
|
|
101
|
-
- **v1.1.
|
|
102
|
-
- **v1.1.
|
|
103
|
-
- **v1.1.
|
|
104
|
-
- **v1.1.
|
|
105
|
-
- **v1.1.
|
|
106
|
-
- **v1.1.
|
|
107
|
-
- **v1.1.
|
|
108
|
-
- **v1.1.
|
|
109
|
-
- **v1.1.
|
|
110
|
-
- **v1.
|
|
111
|
-
- **v1.
|
|
112
|
-
- **v1.0
|
|
113
|
-
- **v1.0.
|
|
114
|
-
- **v1.0.
|
|
115
|
-
- **v1.0.
|
|
116
|
-
- **v1.0.
|
|
117
|
-
- **v1.0.
|
|
118
|
-
- **v1.0.
|
|
119
|
-
- **v1.0.
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
-
|
|
124
|
-
-
|
|
125
|
-
-
|
|
126
|
-
- **v1.0.
|
|
127
|
-
- **v1.0.
|
|
128
|
-
- **v1.0.
|
|
129
|
-
- **v1.0.
|
|
130
|
-
|
|
131
|
-
- **v1.0.
|
|
132
|
-
- **v1.0.
|
|
133
|
-
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
-
|
|
138
|
-
-
|
|
139
|
-
-
|
|
140
|
-
-
|
|
141
|
-
- **v1.0.
|
|
142
|
-
- **v1.0.
|
|
143
|
-
- **v1.0.
|
|
1
|
+
# EcabsComponents
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 14.2.0.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project ecabs-components` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project ecabs-components`.
|
|
8
|
+
> Note: Don't forget to add `--project ecabs-components` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
+
|
|
10
|
+
## Build
|
|
11
|
+
|
|
12
|
+
Run `ng build ecabs-components` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
+
|
|
14
|
+
## Publishing
|
|
15
|
+
|
|
16
|
+
After building your library with `ng build ecabs-components`, go to the dist folder `cd dist/ecabs-components` and run `npm publish`.
|
|
17
|
+
|
|
18
|
+
## Running unit tests
|
|
19
|
+
|
|
20
|
+
Run `ng test ecabs-components` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
+
|
|
22
|
+
## Further help
|
|
23
|
+
|
|
24
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
25
|
+
|
|
26
|
+
## Version History
|
|
27
|
+
|
|
28
|
+
- **v1.1.77** — Notify change detection on `writeValue` and `setDisabledState` so the UI reflects programmatic form updates, via `markForCheck`.
|
|
29
|
+
- **v1.1.76** — - Merge waypoint history with Google predictions (history first, clock-iconed).
|
|
30
|
+
- Server-side history filtering on type; instant history on focus.
|
|
31
|
+
- **v1.1.75** — Update table border color to use `--color-gray-200` in `bordered` style.
|
|
32
|
+
- **v1.1.74** — Optimize `dateRangeValidator` logic to streamline error handling and remove redundant optional input properties `dateFromOptional` and `dateToOptional`.
|
|
33
|
+
- **v1.1.73** — Include `place_id` in Google Place API result fields.
|
|
34
|
+
- Add `debounceTime` input for customizable debounce delays
|
|
35
|
+
- **v1.1.72** — Add external filtering support (`useExternalFilter`) to `EcabsChipAutocomplete`.
|
|
36
|
+
- **v1.1.71** — Add label truncation with tooltip to `EcabsChipAutocomplete` to ensure consistent chip sizing and label overflow handling.
|
|
37
|
+
- **v1.1.70** — Improve `EcabsCheckboxV2` with new `checked` input and dynamic label styles.
|
|
38
|
+
- Update border color for `EcabsPhone` and `EcabsTextarea`.
|
|
39
|
+
- **v1.1.69** — Use `--color-gray-300` instead of `--color-gray-100` for `form-input--suffix`.
|
|
40
|
+
- **v1.1.68** — Add `isVisible` callback for `SidebarMenuItem` to support dynamic visibility based on context.
|
|
41
|
+
- **v1.1.67** — Add support for optional "to" (end date) for `EcabsDateRangePickerV2Component`.
|
|
42
|
+
- Add allow cross-midnight time ranges for `EcabsTimeRangeInputV2Component`.
|
|
43
|
+
- **v1.1.66** — Suppress emission of an empty query on refocusing after selection of option from `EcabsChipAutocomplete`.
|
|
44
|
+
- **v1.1.65** — `EcabsInputRange`: Remove padding and background styling.
|
|
45
|
+
- **v1.1.64** — Refactor `EcabsChipAutocomplete` logic, improve component styles/disabled states, and update button styles.
|
|
46
|
+
- **v1.1.63** — Add `EcabsSegmentComponent`.
|
|
47
|
+
- Update `EcabsSelectV2` to be more robust when handling multiple selections.
|
|
48
|
+
- **v1.1.62** — Add `EcabsTimeRangeInputV2Component`.,
|
|
49
|
+
- **v1.1.61** — Added support for 12-hour time input for `maskito` library.
|
|
50
|
+
- **Affected components**: `EcabsDateTimePicker`, `EcabsTimepicker`, `EcabsDateTimeRangePicker`.
|
|
51
|
+
- **v1.1.60** — Migrate input mask library from `vanilla-text-mask` to `maskito`.
|
|
52
|
+
- **Affected components**: `EcabsDateTimePicker`, `EcabsTimepicker`, `EcabsDateTimeRangePicker`.
|
|
53
|
+
- **v1.1.59** — `EcabsCheckboxV2Component`: Implement version 2 of `EcabsCheckboxComponent`.
|
|
54
|
+
- **v1.1.58** — Add `EcabsInputRangeComponent` with support for minimum and maximum values.
|
|
55
|
+
- **v1.1.57** — Implement `EcabsChipGroup`and `EcabsAutocompleteChipGroup` components with demo.
|
|
56
|
+
- **v1.1.56** — Implement `EcabsDateRangePickerComponentV2`.
|
|
57
|
+
- **v1.1.55** — `EcabsButtonsV2Component`: Added version 2 of `EcabsButtonsComponent` with support for small, medium, and large sizes.
|
|
58
|
+
- **v1.1.54** — Implement `EcabsButtonToggleComponent` with support for small, medium, and large sizes.
|
|
59
|
+
- **v1.1.53** — Introduce new gray color palette and update references and apply styling improvements.
|
|
60
|
+
- **v1.1.52** — Update styling overrides for Material nav-style tabs, including active state.
|
|
61
|
+
- **v1.1.51** — Implement option of displaying dynamic content for `EcabsTableComponent` when empty.
|
|
62
|
+
- **v1.1.50** — Add `Documentation` for `EcabsTableModule`.
|
|
63
|
+
- **v1.1.49** — Add support for `splitButtonsWidth` in `EcabsDialogConfirmComponent` and update button styling.`.
|
|
64
|
+
- **v1.1.48** — Implement `EcabsPlaceAutocompleteV2Component` to support waypoints history, query change handling, and dropdown suggestions display.
|
|
65
|
+
- **v1.1.47** — Add `Title` and `dynamic` content support to `EcabsEmptyPlaceholderComponent`.
|
|
66
|
+
- **v1.1.46** — Add `ViewChild` reference for `MatRadioGroup` and update event type in `EcabsRadioButtonListComponent`.
|
|
67
|
+
- **v1.1.45** — Added default validation of date range
|
|
68
|
+
- **v1.1.44** — Fixed issue Apply button is still active when only the DateFrom is selected
|
|
69
|
+
- **v1.1.43** — Added disabling of Apply button for date range picker
|
|
70
|
+
- **v1.1.42** — Apply `width` and `height` properties directly to root `MatDialog` of `EcabsDialogConfirmComponent`.
|
|
71
|
+
- **v1.1.41** — Added EcabsDialogConfirmationDeletionComponent.
|
|
72
|
+
- **v1.1.40** — `EcabsDateTimePicker`: Added support for preserving and returning `receivedValue` when there is no change in the input.
|
|
73
|
+
- **v1.1.39** — Added date adapter to public api.
|
|
74
|
+
- **v1.1.38** — Use native `matDatepickerToggleIcon` in `EcabsDateTimePicker`.
|
|
75
|
+
- **v1.1.35** — Add `waypointType` input to `EcabsAutoComplete`.
|
|
76
|
+
- Add `nativeElement` handles to custom inputs.
|
|
77
|
+
- **v1.1.34** — Emit `selectionChange` event when selecting item from `EcabsSelectV2`.
|
|
78
|
+
- Add collapse styling for `EcabsLogo`.
|
|
79
|
+
- **v1.1.33** — Return falsey value when no input is available in `DateTime` selector through keyboard action deletion.
|
|
80
|
+
- **v1.1.32** — Return falsey value when no input is available in `DateTime` selector.
|
|
81
|
+
- **v1.1.31** — Prevent hover state persistence on disabled buttons.
|
|
82
|
+
- **v1.1.30** — Added blur event handling and support for special keys in `EcabsTimePickerComponent`.
|
|
83
|
+
- **v1.1.29** — Added handling manual updates data of date range picker.
|
|
84
|
+
- **v1.1.28** — Fixed issue related to the prev version.
|
|
85
|
+
- **v1.1.27** — Added results for the dialog message.
|
|
86
|
+
- **v1.1.26** — Implement dynamic titles for `EcabsDialogComponent`.
|
|
87
|
+
- **v1.1.25** — Fixed date range picker when choose one date only.
|
|
88
|
+
- **v1.1.24** — Fixed date range picker when reset value.
|
|
89
|
+
- **v1.1.23** — Update styling for map markers.
|
|
90
|
+
- **v1.1.22** — Added statuses for mat-chips.
|
|
91
|
+
- Added badges for menu items.
|
|
92
|
+
- **v1.1.21** — Improve style for hovered disabled calendar date.
|
|
93
|
+
- **v1.1.20** — Improve the appearance for the scrollbar.
|
|
94
|
+
- **v1.1.19** — Increase delay for phone control and to config.
|
|
95
|
+
- **v1.1.18** — Adjust position of `sticky` header on `MatTable`.
|
|
96
|
+
- **v1.1.17** — Fix peerDependency on `libphonenumber-js`.
|
|
97
|
+
- **v1.1.16** — Implemented custom phone number control.
|
|
98
|
+
- **v1.1.15** — Cleanup `EcabsComponentsService` and provide default config via `config` property.
|
|
99
|
+
- **v1.1.14** — Update styles for disabled indeterminate checkboxes.
|
|
100
|
+
- **v1.1.13** — Fix `overflow-y` issue on `MatCardContent`.
|
|
101
|
+
- **v1.1.12** — Extend @Input properties of `EcabsSelectV2` from `@ng-select` lib.
|
|
102
|
+
- **v1.1.10** — Added color styles for prompt title message.
|
|
103
|
+
- **v1.1.9** — Fixed i18n issue.
|
|
104
|
+
- **v1.1.8** — Add directive show-on-truncated to directives.
|
|
105
|
+
- **v1.1.7** — Add a message for alphanumeric-only validation.
|
|
106
|
+
- **v1.1.6** — accumulate all directives
|
|
107
|
+
- **v1.1.5** — added slider
|
|
108
|
+
- **v1.1.4** — Fixed blur issue for input.
|
|
109
|
+
- **v1.1.3** — Upgrade `MatLegacyCard` to `MDC`.
|
|
110
|
+
- **v1.1.2** — Introduce new select component (`EcabsSelectV2`) to deprecate `EcabsSelect`.
|
|
111
|
+
- **v1.1.1** — Hide `Timepicker` options on input blur.
|
|
112
|
+
- **v1.1.0** — Upgrade `MatLegacyMenu` to `MDC`.
|
|
113
|
+
- **v1.0.99** — Add `mini` and `maxi` directive and validators to `EcabsInput`.
|
|
114
|
+
- **v1.0.98** — Upgrade `MatLegacyAutocomplete` to `MDC`.
|
|
115
|
+
- **v1.0.97** — Correct misaligned icon and text on `EcabsNotes`.
|
|
116
|
+
- **v1.0.96** — Add missing styles for nested columns on `Table`.
|
|
117
|
+
- **v1.0.95** — Upgrade `MatLegacyTooltip` to `MDC`.
|
|
118
|
+
- **v1.0.94** — Upgrade `MatLegacyTabs` to `MDC`.
|
|
119
|
+
- **v1.0.93** — Update progress colors for percentage.
|
|
120
|
+
- **v1.0.92** — Add default buttons for Confirm and Cancel buttons on dialog.
|
|
121
|
+
- **v1.0.91** — Upgrade `MatLegacyCheckbox` and `MatSlideToggle` to `MDC`.
|
|
122
|
+
- **v1.0.90** — Upgrade `MatLegacyPaginator` to `MDC`.
|
|
123
|
+
- Add `EcabsPaginatorDirective`.
|
|
124
|
+
- Rename `AppHint` to `EcabsHint`.
|
|
125
|
+
- Apply `ngx-toaster` overrides.
|
|
126
|
+
- **v1.0.89** — Upgrade `MatLegacyTable` and `MatLegacyProgress` to `MDC`.
|
|
127
|
+
- **v1.0.88** — Roll back 1.0.87
|
|
128
|
+
- **v1.0.87** — Apply min/max Date logic for date picker
|
|
129
|
+
- **v1.0.85** — Improve styling for `EcabsTable` row colors.
|
|
130
|
+
- **v1.0.84** — Emit `falsey` result when Close button is clicked on `EcabsDialogConfirm` and `EcabsDialogMessage`.
|
|
131
|
+
- **v1.0.83** — Fix buttons height.
|
|
132
|
+
- **v1.0.82** — Improve the appearance of disabled inputs.
|
|
133
|
+
- Fix placeholder text of `EcabsSelect`.
|
|
134
|
+
- **v1.0.81** — Fix font size of `EcabsSelect`.
|
|
135
|
+
- **v1.0.80** — Allow custom button options for `Confirm` and `Cancel` buttons on `EcabsDialog`.
|
|
136
|
+
- **v1.0.79** — feat(CU-11266): Update `MatDialog` to `MDC`.
|
|
137
|
+
- Fix button height issue on anchor tags marked as `mat-button`.
|
|
138
|
+
- Update default font family.
|
|
139
|
+
- Rename `NoteComponent` to `EcabsNoteComponent`.
|
|
140
|
+
- Add `expired` style for `EcabsChip`.
|
|
141
|
+
- **v1.0.78** — Upgrade `MatSelect` to `MDC`.
|
|
142
|
+
- **v1.0.77** — Upgrade `MatChips` to `MDC`.
|
|
143
|
+
- **v1.0.76** — Upgrade `EcabsInput` module to `MDC` styling.
|
|
144
|
+
- **v1.0.75** — Upgrade `EcabsButtons` module to `MDC` styling.
|
|
145
|
+
- **v1.0.18** — Fixed width of date time picker
|
|
146
|
+
- **v1.0.13** — Fixed emitEvent behaviour of checkbox
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUubW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvbW9kZWxzL3Bob25lLm1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDb3VudHJ5UHJlZml4IHtcclxuICBkaWFsaW5nX2NvZGU6IHN0cmluZztcclxuICBpc286IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgcGhvbmVfbnVtYmVyPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBDb3VudHJ5ID0ge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBpc28yOiBzdHJpbmc7XHJcbiAgZGlhbENvZGU6IHN0cmluZztcclxuICBwcmlvcml0eTogbnVtYmVyO1xyXG4gIGFyZWFDb2Rlcz86IHN0cmluZ1tdO1xyXG4gIGZsYWdDbGFzczogc3RyaW5nO1xyXG4gIHBsYWNlSG9sZGVyPzogc3RyaW5nO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUGhvbmVOdW1iZXJDb2RlVHlwZSA9ICdpc28nIHwgJ2NhbGxpbmcnO1xyXG5leHBvcnQgdHlwZSBQaG9uZU51bWJlckZvcm1hdCA9ICdkZWZhdWx0JyB8ICduYXRpb25hbCcgfCAnaW50ZXJuYXRpb25hbCc7XHJcbiJdfQ==
|
|
@@ -4,7 +4,6 @@ export const WAYPOINT_SUGGESTIONS = [
|
|
|
4
4
|
additional_info: 'Fastlane Ltd.',
|
|
5
5
|
location: { lat: 35.9038623, lng: 14.4129533 },
|
|
6
6
|
place_id: 'ChIJk9v0xtlRDhMRhrtrt2ChIic',
|
|
7
|
-
source: 'history',
|
|
8
7
|
},
|
|
9
8
|
];
|
|
10
9
|
export const WAYPOINT_SUGGESTIONS2 = [
|
|
@@ -13,14 +12,12 @@ export const WAYPOINT_SUGGESTIONS2 = [
|
|
|
13
12
|
additional_info: 'Fastlane Ltd. 2000',
|
|
14
13
|
location: { lat: 35.9038623, lng: 14.4129533 },
|
|
15
14
|
place_id: 'ChIJk9v0xtlRDhMRhrtrt2ChIic',
|
|
16
|
-
source: 'history',
|
|
17
15
|
},
|
|
18
16
|
{
|
|
19
17
|
suggestion_id: '1234',
|
|
20
18
|
additional_info: '448 D’Argens Garden, Leyland, Sliema, Malta',
|
|
21
19
|
location: { lat: 35.9095011, lng: 14.4945982 },
|
|
22
20
|
place_id: 'ChIJk9v0xtlRDhMRhrtrt2ChIic',
|
|
23
|
-
source: 'history',
|
|
24
21
|
},
|
|
25
22
|
];
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F5cG9pbnQubW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvbW9kZWxzL3dheXBvaW50Lm1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4QkEsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQXlCO0lBQ3hEO1FBQ0UsYUFBYSxFQUFFLEtBQUs7UUFDcEIsZUFBZSxFQUFFLGVBQWU7UUFDaEMsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFO1FBQzlDLFFBQVEsRUFBRSw2QkFBNkI7S0FDeEM7Q0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQXlCO0lBQ3pEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsZUFBZSxFQUFFLG9CQUFvQjtRQUNyQyxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUU7UUFDOUMsUUFBUSxFQUFFLDZCQUE2QjtLQUN4QztJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsZUFBZSxFQUFFLDZDQUE2QztRQUM5RCxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUU7UUFDOUMsUUFBUSxFQUFFLDZCQUE2QjtLQUN4QztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUGxhY2VSZXN1bHQgPSBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VSZXN1bHQ7XG5pbXBvcnQgUHJlZGljdGlvblRlcm0gPSBnb29nbGUubWFwcy5wbGFjZXMuUHJlZGljdGlvblRlcm07XG5pbXBvcnQgeyBXYXlwb2ludFR5cGVFbnVtIH0gZnJvbSAnLi4vY29uc3RzL3dheXBvaW50LmNvbnN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2F5cG9pbnRTdWdnZXN0aW9uIHtcbiAgc3VnZ2VzdGlvbl9pZD86IHN0cmluZztcbiAgYWRkaXRpb25hbF9pbmZvPzogc3RyaW5nO1xuICBsb2NhdGlvbj86IEdlb1BvaW50O1xuICBwbGFjZV9pZDogc3RyaW5nO1xuICBmcmVxdWVuY3k/OiBudW1iZXI7XG4gIGxhc3RfdmlzaXQ/OiBzdHJpbmcgfCBEYXRlO1xuICBnZW9fa2V5Pzogc3RyaW5nO1xuICBwcmVkaWN0aW9uX3Rlcm0/OiBQcmVkaWN0aW9uVGVybVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdlb1BvaW50IHtcbiAgbGF0OiBudW1iZXI7XG4gIGxuZzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdvb2dsZVBsYWNlUmVzdWx0IHtcbiAgcGxhY2U6IFBsYWNlUmVzdWx0O1xuICB0ZXh0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2F5cG9pbnRRdWVyeUNoYW5nZSB7XG4gIHdheXBvaW50X3R5cGU6IFdheXBvaW50VHlwZUVudW07XG4gIHBsYWNlX25hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IFdBWVBPSU5UX1NVR0dFU1RJT05TOiBXYXlwb2ludFN1Z2dlc3Rpb25bXSA9IFtcbiAge1xuICAgIHN1Z2dlc3Rpb25faWQ6ICcxMjMnLFxuICAgIGFkZGl0aW9uYWxfaW5mbzogJ0Zhc3RsYW5lIEx0ZC4nLFxuICAgIGxvY2F0aW9uOiB7IGxhdDogMzUuOTAzODYyMywgbG5nOiAxNC40MTI5NTMzIH0sXG4gICAgcGxhY2VfaWQ6ICdDaElKazl2MHh0bFJEaE1SaHJ0cnQyQ2hJaWMnLFxuICB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IFdBWVBPSU5UX1NVR0dFU1RJT05TMjogV2F5cG9pbnRTdWdnZXN0aW9uW10gPSBbXG4gIHtcbiAgICBzdWdnZXN0aW9uX2lkOiAnMTIzNCcsXG4gICAgYWRkaXRpb25hbF9pbmZvOiAnRmFzdGxhbmUgTHRkLiAyMDAwJyxcbiAgICBsb2NhdGlvbjogeyBsYXQ6IDM1LjkwMzg2MjMsIGxuZzogMTQuNDEyOTUzMyB9LFxuICAgIHBsYWNlX2lkOiAnQ2hJSms5djB4dGxSRGhNUmhydHJ0MkNoSWljJyxcbiAgfSxcbiAge1xuICAgIHN1Z2dlc3Rpb25faWQ6ICcxMjM0JyxcbiAgICBhZGRpdGlvbmFsX2luZm86ICc0NDggROKAmUFyZ2VucyBHYXJkZW4sIExleWxhbmQsIFNsaWVtYSwgTWFsdGEnLFxuICAgIGxvY2F0aW9uOiB7IGxhdDogMzUuOTA5NTAxMSwgbG5nOiAxNC40OTQ1OTgyIH0sXG4gICAgcGxhY2VfaWQ6ICdDaElKazl2MHh0bFJEaE1SaHJ0cnQyQ2hJaWMnLFxuICB9LFxuXTtcbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { parsePhoneNumberFromString } from 'libphonenumber-js';
|
|
1
|
+
import { getCountries, getCountryCallingCode, parsePhoneNumberFromString, } from 'libphonenumber-js';
|
|
2
2
|
export function extractPhoneNumberCode(phoneNumber, type = 'iso', withFlagClass = false) {
|
|
3
3
|
if (!phoneNumber) {
|
|
4
4
|
return null;
|
|
@@ -23,4 +23,34 @@ export function extractCountryFromIso(isoCode, region = ['en-GB']) {
|
|
|
23
23
|
const displayNames = new Intl.DisplayNames(region, { type: 'region' });
|
|
24
24
|
return displayNames.of(isoCode.toUpperCase() ?? isoCode);
|
|
25
25
|
}
|
|
26
|
-
|
|
26
|
+
export function extractCallingCodeFromIso(isoCode) {
|
|
27
|
+
if (!isoCode) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
const normalized = isoCode.toUpperCase();
|
|
31
|
+
const match = getCountries().find((country) => country === normalized);
|
|
32
|
+
if (!match) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
return `+${getCountryCallingCode(match)}`;
|
|
36
|
+
}
|
|
37
|
+
export function getSupportedCountryIsoCodes() {
|
|
38
|
+
return getCountries().map((iso) => iso.toLowerCase());
|
|
39
|
+
}
|
|
40
|
+
export function extractCountryPrefixFromNumber(phone_number, regions) {
|
|
41
|
+
if (!phone_number) {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
const dialing_code = extractDialingCode(phone_number);
|
|
45
|
+
const iso = extractPhoneNumberCode(phone_number);
|
|
46
|
+
if (!iso) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
dialing_code,
|
|
51
|
+
iso,
|
|
52
|
+
name: extractCountryFromIso(iso, regions),
|
|
53
|
+
phone_number,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtbnVtYmVyLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvdXRpbHMvcGhvbmUtbnVtYmVyLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxZQUFZLEVBQ1oscUJBQXFCLEVBQ3JCLDBCQUEwQixHQUMzQixNQUFNLG1CQUFtQixDQUFDO0FBRTNCLE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsV0FBMEIsRUFDMUIsT0FBNEIsS0FBSyxFQUNqQyxhQUFhLEdBQUcsS0FBSztJQUVyQixJQUFJLENBQUMsV0FBVyxFQUFFO1FBQ2hCLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFFRCxNQUFNLGlCQUFpQixHQUFHLDBCQUEwQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRWxFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUNqQyxPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsTUFBTSxLQUFLLEdBQ1QsSUFBSSxLQUFLLFNBQVM7UUFDaEIsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQjtRQUN0QyxDQUFDLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBRS9DLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsT0FBTyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNsRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLFdBQTBCO0lBQzNELE1BQU0sSUFBSSxHQUFHLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUU1RCxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ2xDLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQ25DLE9BQXNCLEVBQ3RCLE1BQU0sR0FBRyxDQUFDLE9BQU8sQ0FBQztJQUVsQixNQUFNLFlBQVksR0FBRyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFFdkUsT0FBTyxZQUFZLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsSUFBSSxPQUFPLENBQUMsQ0FBQztBQUMzRCxDQUFDO0FBRUQsTUFBTSxVQUFVLHlCQUF5QixDQUN2QyxPQUFzQjtJQUV0QixJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ1osT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN6QyxNQUFNLEtBQUssR0FBRyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sS0FBSyxVQUFVLENBQUMsQ0FBQztJQUV2RSxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1YsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELE9BQU8sSUFBSSxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO0FBQzVDLENBQUM7QUFFRCxNQUFNLFVBQVUsMkJBQTJCO0lBQ3pDLE9BQU8sWUFBWSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUN4RCxDQUFDO0FBRUQsTUFBTSxVQUFVLDhCQUE4QixDQUM1QyxZQUFvQixFQUNwQixPQUFpQjtJQUVqQixJQUFJLENBQUMsWUFBWSxFQUFFO1FBQ2pCLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFFRCxNQUFNLFlBQVksR0FBRyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN0RCxNQUFNLEdBQUcsR0FBRyxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUVqRCxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1IsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELE9BQU87UUFDTCxZQUFZO1FBQ1osR0FBRztRQUNILElBQUksRUFBRSxxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDO1FBQ3pDLFlBQVk7S0FDYixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvdW50cnlQcmVmaXgsIFBob25lTnVtYmVyQ29kZVR5cGUgfSBmcm9tICcuLi9tb2RlbHMvcGhvbmUubW9kZWxzJztcclxuaW1wb3J0IHtcclxuICBnZXRDb3VudHJpZXMsXHJcbiAgZ2V0Q291bnRyeUNhbGxpbmdDb2RlLFxyXG4gIHBhcnNlUGhvbmVOdW1iZXJGcm9tU3RyaW5nLFxyXG59IGZyb20gJ2xpYnBob25lbnVtYmVyLWpzJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0UGhvbmVOdW1iZXJDb2RlKFxyXG4gIHBob25lTnVtYmVyOiBzdHJpbmcgfCBudWxsLFxyXG4gIHR5cGU6IFBob25lTnVtYmVyQ29kZVR5cGUgPSAnaXNvJyxcclxuICB3aXRoRmxhZ0NsYXNzID0gZmFsc2UsXHJcbik6IHN0cmluZyB8IG51bGwge1xyXG4gIGlmICghcGhvbmVOdW1iZXIpIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgcGFyc2VkUGhvbmVOdW1iZXIgPSBwYXJzZVBob25lTnVtYmVyRnJvbVN0cmluZyhwaG9uZU51bWJlcik7XHJcblxyXG4gIGlmICghcGFyc2VkUGhvbmVOdW1iZXI/LmlzVmFsaWQoKSkge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBjb25zdCB2YWx1ZSA9XHJcbiAgICB0eXBlID09PSAnY2FsbGluZydcclxuICAgICAgPyBwYXJzZWRQaG9uZU51bWJlci5jb3VudHJ5Q2FsbGluZ0NvZGVcclxuICAgICAgOiBwYXJzZWRQaG9uZU51bWJlci5jb3VudHJ5Py50b0xvd2VyQ2FzZSgpO1xyXG5cclxuICBpZiAoIXZhbHVlKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIHJldHVybiB3aXRoRmxhZ0NsYXNzID8gYGZpIGZpLSR7dmFsdWV9YCA6IHZhbHVlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdERpYWxpbmdDb2RlKHBob25lTnVtYmVyOiBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgY29uc3QgY29kZSA9IGV4dHJhY3RQaG9uZU51bWJlckNvZGUocGhvbmVOdW1iZXIsICdjYWxsaW5nJyk7XHJcblxyXG4gIHJldHVybiBjb2RlID8gYCske2NvZGV9YCA6IG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0Q291bnRyeUZyb21Jc28oXHJcbiAgaXNvQ29kZTogc3RyaW5nIHwgbnVsbCxcclxuICByZWdpb24gPSBbJ2VuLUdCJ10sXHJcbik6IHN0cmluZyB8IG51bGwge1xyXG4gIGNvbnN0IGRpc3BsYXlOYW1lcyA9IG5ldyBJbnRsLkRpc3BsYXlOYW1lcyhyZWdpb24sIHsgdHlwZTogJ3JlZ2lvbicgfSk7XHJcblxyXG4gIHJldHVybiBkaXNwbGF5TmFtZXMub2YoaXNvQ29kZS50b1VwcGVyQ2FzZSgpID8/IGlzb0NvZGUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdENhbGxpbmdDb2RlRnJvbUlzbyhcclxuICBpc29Db2RlOiBzdHJpbmcgfCBudWxsLFxyXG4pOiBzdHJpbmcgfCBudWxsIHtcclxuICBpZiAoIWlzb0NvZGUpIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgY29uc3Qgbm9ybWFsaXplZCA9IGlzb0NvZGUudG9VcHBlckNhc2UoKTtcclxuICBjb25zdCBtYXRjaCA9IGdldENvdW50cmllcygpLmZpbmQoKGNvdW50cnkpID0+IGNvdW50cnkgPT09IG5vcm1hbGl6ZWQpO1xyXG5cclxuICBpZiAoIW1hdGNoKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIHJldHVybiBgKyR7Z2V0Q291bnRyeUNhbGxpbmdDb2RlKG1hdGNoKX1gO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3VwcG9ydGVkQ291bnRyeUlzb0NvZGVzKCk6IHN0cmluZ1tdIHtcclxuICByZXR1cm4gZ2V0Q291bnRyaWVzKCkubWFwKChpc28pID0+IGlzby50b0xvd2VyQ2FzZSgpKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RDb3VudHJ5UHJlZml4RnJvbU51bWJlcihcclxuICBwaG9uZV9udW1iZXI6IHN0cmluZyxcclxuICByZWdpb25zOiBzdHJpbmdbXSxcclxuKTogQ291bnRyeVByZWZpeCB8IG51bGwge1xyXG4gIGlmICghcGhvbmVfbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGNvbnN0IGRpYWxpbmdfY29kZSA9IGV4dHJhY3REaWFsaW5nQ29kZShwaG9uZV9udW1iZXIpO1xyXG4gIGNvbnN0IGlzbyA9IGV4dHJhY3RQaG9uZU51bWJlckNvZGUocGhvbmVfbnVtYmVyKTtcclxuXHJcbiAgaWYgKCFpc28pIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIGRpYWxpbmdfY29kZSxcclxuICAgIGlzbyxcclxuICAgIG5hbWU6IGV4dHJhY3RDb3VudHJ5RnJvbUlzbyhpc28sIHJlZ2lvbnMpLFxyXG4gICAgcGhvbmVfbnVtYmVyLFxyXG4gIH07XHJcbn1cclxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, EventEmitter, forwardRef, Input, Output, ViewEncapsulation, } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, forwardRef, inject, Input, Output, ViewEncapsulation, } from '@angular/core';
|
|
2
2
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
@@ -12,7 +12,7 @@ export class EcabsButtonToggleComponent {
|
|
|
12
12
|
isDisabled = false;
|
|
13
13
|
onChange = () => { };
|
|
14
14
|
onTouched = () => { };
|
|
15
|
-
|
|
15
|
+
cdr = inject(ChangeDetectorRef);
|
|
16
16
|
onGroupChange(event) {
|
|
17
17
|
this.value = event.value;
|
|
18
18
|
this.onChange(this.value);
|
|
@@ -23,7 +23,11 @@ export class EcabsButtonToggleComponent {
|
|
|
23
23
|
return option.value ?? index;
|
|
24
24
|
}
|
|
25
25
|
writeValue(value) {
|
|
26
|
+
// OnPush + ControlValueAccessor: writeValue is invoked by Angular outside
|
|
27
|
+
// the component's input/event paths, so mark for check to trigger re-render.
|
|
28
|
+
// This can potentially be replaced with a signal-backed value in the v19+ refactor.
|
|
26
29
|
this.value = value;
|
|
30
|
+
this.cdr.markForCheck();
|
|
27
31
|
}
|
|
28
32
|
registerOnChange(fn) {
|
|
29
33
|
this.onChange = fn;
|
|
@@ -33,6 +37,7 @@ export class EcabsButtonToggleComponent {
|
|
|
33
37
|
}
|
|
34
38
|
setDisabledState(isDisabled) {
|
|
35
39
|
this.isDisabled = isDisabled;
|
|
40
|
+
this.cdr.markForCheck();
|
|
36
41
|
}
|
|
37
42
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsButtonToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
38
43
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsButtonToggleComponent, selector: "ecabs-button-toggle", inputs: { options: "options", multiple: "multiple", size: "size", value: "value" }, outputs: { valueChange: "valueChange" }, providers: [
|
|
@@ -41,18 +46,18 @@ export class EcabsButtonToggleComponent {
|
|
|
41
46
|
useExisting: forwardRef(() => EcabsButtonToggleComponent),
|
|
42
47
|
multi: true,
|
|
43
48
|
},
|
|
44
|
-
], ngImport: i0, template: "<mat-button-toggle-group\n class=\"ecabs-button-toggle\"\n [ngClass]=\"'ecabs-button-toggle--' + size\"\n [multiple]=\"multiple\"\n [value]=\"value\" \n [disabled]=\"isDisabled\"\n (change)=\"onGroupChange($event)\"\n> \n <mat-button-toggle\n *ngFor=\"let option of options; trackBy: trackByOptionValue\"\n [value]=\"option.value\"\n [disabled]=\"option.disabled\">\n {{ option.label }}\n </mat-button-toggle>\n</mat-button-toggle-group>", styles: [":root{--mat-standard-button-toggle-shape: calc-rem(8px);--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-divider-color: var(--color-gray-100);--mat-select-placeholder-text-color: var(--color-gray-400);--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: #
|
|
49
|
+
], ngImport: i0, template: "<mat-button-toggle-group\n class=\"ecabs-button-toggle\"\n [ngClass]=\"'ecabs-button-toggle--' + size\"\n [multiple]=\"multiple\"\n [value]=\"value\" \n [disabled]=\"isDisabled\"\n (change)=\"onGroupChange($event)\"\n> \n <mat-button-toggle\n *ngFor=\"let option of options; trackBy: trackByOptionValue\"\n [value]=\"option.value\"\n [disabled]=\"option.disabled\">\n {{ option.label }}\n </mat-button-toggle>\n</mat-button-toggle-group>", styles: [":root{--mat-standard-button-toggle-shape: calc-rem(8px);--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-divider-color: var(--color-gray-100);--mat-select-placeholder-text-color: var(--color-gray-400);--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: #bb032a;--color-error-opacity: #FFF0EE;--color-error-rgb: 223, 56, 56;--color-notification: #f4d04f;--color-notification-rgb: 244, 208, 79;--color-info: #325fda;--color-info-rgb: 50, 95, 218;--color-info-messages: #e3e9f3;--color-warning: #845201;--color-warning-opacity: #FDF2DC;--color-success: #166C3B;--color-success--opacity: #EAF6ED;--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-size: 13px}.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:13px;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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
45
50
|
}
|
|
46
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsButtonToggleComponent, decorators: [{
|
|
47
52
|
type: Component,
|
|
48
|
-
args: [{ selector: 'ecabs-button-toggle', encapsulation: ViewEncapsulation.None, providers: [
|
|
53
|
+
args: [{ selector: 'ecabs-button-toggle', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
|
|
49
54
|
{
|
|
50
55
|
provide: NG_VALUE_ACCESSOR,
|
|
51
56
|
useExisting: forwardRef(() => EcabsButtonToggleComponent),
|
|
52
57
|
multi: true,
|
|
53
58
|
},
|
|
54
|
-
], template: "<mat-button-toggle-group\n class=\"ecabs-button-toggle\"\n [ngClass]=\"'ecabs-button-toggle--' + size\"\n [multiple]=\"multiple\"\n [value]=\"value\" \n [disabled]=\"isDisabled\"\n (change)=\"onGroupChange($event)\"\n> \n <mat-button-toggle\n *ngFor=\"let option of options; trackBy: trackByOptionValue\"\n [value]=\"option.value\"\n [disabled]=\"option.disabled\">\n {{ option.label }}\n </mat-button-toggle>\n</mat-button-toggle-group>", styles: [":root{--mat-standard-button-toggle-shape: calc-rem(8px);--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-divider-color: var(--color-gray-100);--mat-select-placeholder-text-color: var(--color-gray-400);--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: #
|
|
55
|
-
}],
|
|
59
|
+
], template: "<mat-button-toggle-group\n class=\"ecabs-button-toggle\"\n [ngClass]=\"'ecabs-button-toggle--' + size\"\n [multiple]=\"multiple\"\n [value]=\"value\" \n [disabled]=\"isDisabled\"\n (change)=\"onGroupChange($event)\"\n> \n <mat-button-toggle\n *ngFor=\"let option of options; trackBy: trackByOptionValue\"\n [value]=\"option.value\"\n [disabled]=\"option.disabled\">\n {{ option.label }}\n </mat-button-toggle>\n</mat-button-toggle-group>", styles: [":root{--mat-standard-button-toggle-shape: calc-rem(8px);--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-divider-color: var(--color-gray-100);--mat-select-placeholder-text-color: var(--color-gray-400);--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: #bb032a;--color-error-opacity: #FFF0EE;--color-error-rgb: 223, 56, 56;--color-notification: #f4d04f;--color-notification-rgb: 244, 208, 79;--color-info: #325fda;--color-info-rgb: 50, 95, 218;--color-info-messages: #e3e9f3;--color-warning: #845201;--color-warning-opacity: #FDF2DC;--color-success: #166C3B;--color-success--opacity: #EAF6ED;--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-size: 13px}.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:13px;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"] }]
|
|
60
|
+
}], propDecorators: { options: [{
|
|
56
61
|
type: Input
|
|
57
62
|
}], multiple: [{
|
|
58
63
|
type: Input
|
|
@@ -63,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
63
68
|
}], valueChange: [{
|
|
64
69
|
type: Output
|
|
65
70
|
}] } });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtYnV0dG9uLXRvZ2dsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtYnV0dG9uLXRvZ2dsZS9lY2Ficy1idXR0b24tdG9nZ2xlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1idXR0b24tdG9nZ2xlL2VjYWJzLWJ1dHRvbi10b2dnbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQW9CekUsTUFBTSxPQUFPLDBCQUEwQjtJQUc1QixPQUFPLEdBQXNCLEVBQUUsQ0FBQztJQUNoQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLElBQUksR0FBcUIsT0FBTyxDQUFDO0lBRWpDLEtBQUssR0FBWSxJQUFJLENBQUM7SUFDckIsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFFcEQsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUVYLFFBQVEsR0FBNkIsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBQzlDLFNBQVMsR0FBZSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFFeEIsR0FBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRWpELGFBQWEsQ0FBQyxLQUE0QjtRQUN4QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFFekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsa0JBQWtCLENBQUMsS0FBYSxFQUFFLE1BQXVCO1FBQ3ZELE9BQU8sTUFBTSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFjO1FBQ3ZCLDBFQUEwRTtRQUMxRSw2RUFBNkU7UUFDN0Usb0ZBQW9GO1FBQ3BGLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQTRCO1FBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFjO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNsQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7d0dBaERVLDBCQUEwQjs0RkFBMUIsMEJBQTBCLDJLQVIxQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMEJBQTBCLENBQUM7Z0JBQ3pELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkM3QkgsNGNBYzBCOzs0RkRpQmIsMEJBQTBCO2tCQWR0QyxTQUFTOytCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDJCQUEyQixDQUFDOzRCQUN6RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs4QkFLUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBpbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvblRvZ2dsZUNoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi10b2dnbGUnO1xyXG5pbXBvcnQgeyBTZWxlY3RPcHRpb24gfSBmcm9tICcuLi9iYXNlL21vZGVscy9zZWxlY3QubW9kZWxzJztcclxuXHJcbmV4cG9ydCB0eXBlIEJ1dHRvblRvZ2dsZVNpemUgPSAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlY2Ficy1idXR0b24tdG9nZ2xlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZWNhYnMtYnV0dG9uLXRvZ2dsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZWNhYnMtYnV0dG9uLXRvZ2dsZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBFY2Fic0J1dHRvblRvZ2dsZUNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWNhYnNCdXR0b25Ub2dnbGVDb21wb25lbnQ8XHJcbiAgVCA9IHVua25vd24sXHJcbj4gaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgQElucHV0KCkgb3B0aW9uczogU2VsZWN0T3B0aW9uPFQ+W10gPSBbXTtcclxuICBASW5wdXQoKSBtdWx0aXBsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNpemU6IEJ1dHRvblRvZ2dsZVNpemUgPSAnc21hbGwnO1xyXG5cclxuICBASW5wdXQoKSB2YWx1ZTogVCB8IFRbXSA9IG51bGw7XHJcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUIHwgVFtdPigpO1xyXG5cclxuICBpc0Rpc2FibGVkID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgb25DaGFuZ2U6ICh2YWx1ZTogVCB8IFRbXSkgPT4gdm9pZCA9ICgpID0+IHt9O1xyXG4gIHByaXZhdGUgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcclxuXHJcbiAgb25Hcm91cENoYW5nZShldmVudDogTWF0QnV0dG9uVG9nZ2xlQ2hhbmdlKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gZXZlbnQudmFsdWU7XHJcblxyXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5T3B0aW9uVmFsdWUoaW5kZXg6IG51bWJlciwgb3B0aW9uOiBTZWxlY3RPcHRpb248VD4pOiBUIHwgbnVtYmVyIHtcclxuICAgIHJldHVybiBvcHRpb24udmFsdWUgPz8gaW5kZXg7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBUIHwgVFtdKTogdm9pZCB7XHJcbiAgICAvLyBPblB1c2ggKyBDb250cm9sVmFsdWVBY2Nlc3Nvcjogd3JpdGVWYWx1ZSBpcyBpbnZva2VkIGJ5IEFuZ3VsYXIgb3V0c2lkZVxyXG4gICAgLy8gdGhlIGNvbXBvbmVudCdzIGlucHV0L2V2ZW50IHBhdGhzLCBzbyBtYXJrIGZvciBjaGVjayB0byB0cmlnZ2VyIHJlLXJlbmRlci5cclxuICAgIC8vIFRoaXMgY2FuIHBvdGVudGlhbGx5IGJlIHJlcGxhY2VkIHdpdGggYSBzaWduYWwtYmFja2VkIHZhbHVlIGluIHRoZSB2MTkrIHJlZmFjdG9yLlxyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IFQgfCBUW10pID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtYnV0dG9uLXRvZ2dsZS1ncm91cFxuICBjbGFzcz1cImVjYWJzLWJ1dHRvbi10b2dnbGVcIlxuICBbbmdDbGFzc109XCInZWNhYnMtYnV0dG9uLXRvZ2dsZS0tJyArIHNpemVcIlxuICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICBbdmFsdWVdPVwidmFsdWVcIiBcbiAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxuICAoY2hhbmdlKT1cIm9uR3JvdXBDaGFuZ2UoJGV2ZW50KVwiXG4+ICBcbiAgPG1hdC1idXR0b24tdG9nZ2xlXG4gICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zOyB0cmFja0J5OiB0cmFja0J5T3B0aW9uVmFsdWVcIlxuICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIlxuICAgIFtkaXNhYmxlZF09XCJvcHRpb24uZGlzYWJsZWRcIj5cbiAgICB7eyBvcHRpb24ubGFiZWwgfX1cbiAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbjwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+Il19
|