ecabs-components 1.1.63 → 1.1.64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.md +1 -0
  2. package/esm2022/lib/base/pipes/phone-number-country-code.pipe.mjs +3 -16
  3. package/esm2022/lib/base/utils/phone-number.utils.mjs +26 -0
  4. package/esm2022/lib/ecabs-button-toggle/ecabs-button-toggle.component.mjs +2 -2
  5. package/esm2022/lib/ecabs-buttons-v2/ecabs-buttons-v2.component.mjs +4 -4
  6. package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +2 -2
  7. package/esm2022/lib/ecabs-checkbox-v2/ecabs-checkbox-v2.component.mjs +2 -2
  8. package/esm2022/lib/ecabs-chip-autocomplete/ecabs-chip-autocomplete.component.mjs +15 -6
  9. package/esm2022/lib/ecabs-date-range-picker/ecabs-date-range-picker.component.mjs +2 -2
  10. package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +2 -2
  11. package/esm2022/lib/ecabs-increment/ecabs-increment.component.mjs +2 -2
  12. package/esm2022/lib/ecabs-input/ecabs-input.component.mjs +3 -3
  13. package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +2 -2
  14. package/esm2022/lib/ecabs-multiple-dates-picker/ecabs-multiple-dates-picker.component.mjs +2 -2
  15. package/esm2022/lib/ecabs-note/ecabs-note.component.mjs +2 -2
  16. package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +2 -2
  17. package/esm2022/lib/ecabs-place-autocomplete/ecabs-place-autocomplete.component.mjs +2 -2
  18. package/esm2022/lib/ecabs-place-autocomplete-v2/ecabs-place-autocomplete-v2.component.mjs +2 -2
  19. package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +2 -2
  20. package/esm2022/lib/ecabs-textarea/ecabs-textarea.component.mjs +6 -5
  21. package/esm2022/lib/ecabs-validation/ecabs-validation.component.mjs +2 -2
  22. package/esm2022/public-api.mjs +2 -1
  23. package/fesm2022/ecabs-components.mjs +76 -55
  24. package/fesm2022/ecabs-components.mjs.map +1 -1
  25. package/lib/base/utils/phone-number.utils.d.ts +4 -0
  26. package/lib/ecabs-chip-autocomplete/ecabs-chip-autocomplete.component.d.ts +1 -1
  27. package/package.json +1 -1
  28. package/public-api.d.ts +1 -0
  29. package/src/assets/styles/material/overrides/_autocomplete.scss +4 -0
  30. package/src/assets/styles/material/overrides/_button.scss +64 -8
  31. package/src/assets/styles/material/overrides/_card.scss +26 -0
  32. package/src/assets/styles/material/overrides/_chip.scss +2 -0
  33. package/src/assets/styles/material/overrides/_paginator.scss +1 -1
  34. package/src/assets/styles/material/overrides/_select.scss +7 -1
  35. package/src/assets/styles/scss/base/_normalize.scss +10 -0
  36. package/src/assets/styles/scss/modules/_button.scss +52 -10
  37. package/src/assets/styles/scss/modules/_form.scss +22 -23
  38. package/src/assets/styles/scss/modules/_select.scss +1 -1
  39. package/src/assets/styles/scss/utilities/_colors.scss +1 -6
  40. package/src/assets/styles/scss/utilities/_variables.scss +6 -1
@@ -0,0 +1,4 @@
1
+ import { PhoneNumberCodeType } from "../models/phone.models";
2
+ export declare function extractPhoneNumberCode(phoneNumber: string | null, type?: PhoneNumberCodeType, withFlagClass?: boolean): string | null;
3
+ export declare function extractDialingCode(phoneNumber: string | null): string | null;
4
+ export declare function extractCountryFromIso(isoCode: string | null, region?: string[]): string | null;
@@ -25,7 +25,6 @@ export declare class EcabsChipAutocompleteComponent<T = unknown> extends EcabsEl
25
25
  private readonly _term;
26
26
  private readonly destroyRef;
27
27
  protected readonly overlayPanelClass = "ecabs-chip-autocomplete-overlay-panel";
28
- protected readonly isDisabled: import("@angular/core").WritableSignal<boolean>;
29
28
  protected readonly selectedOptions: import("@angular/core").Signal<SelectOption<T>[]>;
30
29
  protected readonly filteredOptions: import("@angular/core").Signal<SelectOption<T>[]>;
31
30
  protected readonly noMatchResult: import("@angular/core").Signal<boolean>;
@@ -38,6 +37,7 @@ export declare class EcabsChipAutocompleteComponent<T = unknown> extends EcabsEl
38
37
  writeValue(value: T[] | null): void;
39
38
  registerOnChange(fn: typeof this.onChange): void;
40
39
  registerOnTouched(fn: () => void): void;
40
+ setDisabledState(isDisabled: boolean): void;
41
41
  blur(): void;
42
42
  private onChange;
43
43
  private onTouched;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ecabs-components",
3
- "version": "1.1.63",
3
+ "version": "1.1.64",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": "^16.2.12",
6
6
  "@angular/common": "^16.2.12",
package/public-api.d.ts CHANGED
@@ -137,6 +137,7 @@ export * from './lib/ecabs-multiple-dates-picker/ecabs-multiple-dates-picker.mod
137
137
  export * from './lib/ecabs-multiple-dates-picker/ecabs-multiple-dates-picker.component';
138
138
  export * from './lib/base/services/ecabs-date-picker-translations.service';
139
139
  export * from './lib/base/utils/object-utils';
140
+ export * from './lib/base/utils/phone-number.utils';
140
141
  export * from './lib/base/consts/buttons.consts';
141
142
  export * from './lib/base/adapters/date.adapter';
142
143
  export * from './lib/base/consts/waypoint.consts';
@@ -15,6 +15,10 @@ ecabs-chip-autocomplete {
15
15
  margin-left: unset;
16
16
  border-radius: calc-rem($border-radius-large);
17
17
  }
18
+
19
+ .form-field {
20
+ margin-bottom: unset;
21
+ }
18
22
  }
19
23
 
20
24
  .ecabs-chip-autocomplete-overlay-panel {
@@ -13,46 +13,102 @@ a {
13
13
  }
14
14
  }
15
15
 
16
+ /**
17
+ * #Basic
18
+ */
19
+ &.mdc-button.mat-mdc-button {
20
+ @extend .btn--basic;
21
+ }
22
+
23
+ &.mdc-button--outlined {
24
+ @extend .btn--basic--outline;
25
+
26
+ border: 0;
27
+ }
28
+
29
+ &.mdc-button.mat-mdc-button {
30
+ @extend .btn--basic--link;
31
+ }
32
+
33
+ &.mdc-button.mat-mdc-button:disabled {
34
+ @extend .btn__disabled--outline;
35
+
36
+ &:after {
37
+ border: 0;
38
+ }
39
+ }
40
+
41
+ /**
42
+ * #Primary
43
+ */
16
44
  &.mdc-button.mat-primary {
17
- @extend .btn__primary;
45
+ @extend .btn--primary;
18
46
  }
19
47
 
20
48
  &.mdc-button--outlined.mat-primary {
21
- @extend .btn__primary--outline;
49
+ @extend .btn--primary--outline;
22
50
 
23
51
  border: 0;
24
52
  }
25
53
 
54
+ &.mat-mdc-button.mat-primary {
55
+ @extend .btn--primary--link;
56
+ }
57
+
58
+ /**
59
+ * #Secondary
60
+ */
61
+
26
62
  &.mdc-button.mat-accent {
27
- @extend .btn__secondary;
63
+ @extend .btn--secondary;
28
64
  }
29
65
 
30
66
  &.mdc-button--outlined.mat-accent {
31
- @extend .btn__secondary--outline;
67
+ @extend .btn--secondary--outline;
32
68
 
33
69
  border: 0;
34
70
  }
35
71
 
72
+ &.mat-mdc-button.mat-accent {
73
+ @extend .btn--secondary--link;
74
+ }
75
+
76
+ /**
77
+ * #Warn
78
+ */
79
+
36
80
  &.mdc-button.mat-warn {
37
- @extend .btn__warn;
81
+ @extend .btn--warn;
38
82
  }
39
83
 
40
84
  &.mdc-button--outlined.mat-warn {
41
- @extend .btn__warn--outline;
85
+ @extend .btn--warn--outline;
42
86
 
43
87
  border: 0;
44
88
  }
45
89
 
90
+ &.mat-mdc-button.mat-warn {
91
+ @extend .btn--warn--link;
92
+ }
93
+
94
+ /**
95
+ * #Success
96
+ */
97
+
46
98
  &.mdc-button.mat-success {
47
- @extend .btn__success;
99
+ @extend .btn--success;
48
100
  }
49
101
 
50
102
  &.mdc-button--outlined.mat-success {
51
- @extend .btn__success--outline;
103
+ @extend .btn--success--outline;
52
104
 
53
105
  border: 0;
54
106
  }
55
107
 
108
+ &.mat-mdc-button.mat-success {
109
+ @extend .btn--success--link;
110
+ }
111
+
56
112
  &.mat-mdc-unelevated-button:disabled {
57
113
  @extend .btn__disabled;
58
114
  }
@@ -25,5 +25,31 @@
25
25
  .mat-divider:not(.card__title--divider) {
26
26
  margin-top: calc-rem(24px);
27
27
  }
28
+
29
+ .card--inset {
30
+ .mat-divider {
31
+ margin-top: 0;
32
+ border-top-color: var(--color-gray-200);
33
+ color: var(--color-gray-200);
34
+ }
35
+
36
+ .form-field {
37
+ margin-bottom: 0;
38
+ }
39
+
40
+ .mdc-button.mat-mdc-button {
41
+ padding-left: 0;
42
+ padding-right: 0;
43
+ padding-bottom: 0;
44
+ min-width: auto;
45
+ height: fit-content;
46
+ min-height: fit-content;
47
+ line-height: 1;
48
+
49
+ .mat-mdc-button-persistent-ripple::before {
50
+ background-color: transparent;
51
+ }
52
+ }
53
+ }
28
54
  }
29
55
  }
@@ -2,6 +2,7 @@
2
2
  &,
3
3
  &.mat-mdc-standard-chip {
4
4
  @extend .chip;
5
+ --mdc-chip-elevated-disabled-container-color: var(--color-gray-300);
5
6
 
6
7
  &.chip__standard {
7
8
  @extend .chip__standard;
@@ -165,6 +166,7 @@ ecabs-chip-group {
165
166
 
166
167
  border-radius: calc-rem($border-radius-medium);
167
168
  border: 1px solid var(--color-gray-200);
169
+ color: var(--mdc-chip-label-text-color);
168
170
 
169
171
  &:hover {
170
172
  border-color: var(--color-gray-300);
@@ -40,7 +40,7 @@ mat-paginator {
40
40
 
41
41
  .mat-mdc-paginator-range-actions {
42
42
  .mdc-icon-button {
43
- border: 1px solid var(--color-gray-400);
43
+ border: 1px solid var(--color-gray-300);
44
44
  border-radius: 0.25rem;
45
45
  display: flex;
46
46
  justify-content: center;
@@ -28,7 +28,7 @@
28
28
  }
29
29
 
30
30
  .mat-mdc-select-placeholder {
31
- color: rgba(0, 0, 0, 0.42) !important;
31
+ @include fontSize($font-size-md);
32
32
  }
33
33
 
34
34
  &-panel.mdc-menu-surface {
@@ -125,6 +125,8 @@
125
125
 
126
126
  &, &.ng-select-multiple .ng-select-container .ng-value-container {
127
127
  .ng-placeholder {
128
+ @include fontSize($font-size-md);
129
+
128
130
  top: unset;
129
131
  padding-bottom: unset;
130
132
  padding-left: unset;
@@ -133,6 +135,10 @@
133
135
 
134
136
  .ng-select-container .ng-value-container {
135
137
  padding-left: 0;
138
+
139
+ .ng-placeholder {
140
+ color: var(--mat-select-placeholder-text-color)
141
+ }
136
142
  }
137
143
 
138
144
  &.ng-select-single .ng-select-container {
@@ -59,6 +59,7 @@ ul, ol {
59
59
  }
60
60
 
61
61
  input::placeholder {
62
+ @include fontSize($font-size-md);
62
63
  overflow: visible;
63
64
  }
64
65
 
@@ -87,3 +88,12 @@ h5 {
87
88
  .mat-typography p {
88
89
  margin: inherit;
89
90
  }
91
+
92
+ fieldset:disabled {
93
+ opacity: 0.5;
94
+ cursor: not-allowed;
95
+
96
+ * {
97
+ pointer-events: none;
98
+ }
99
+ }
@@ -20,8 +20,50 @@
20
20
  border-radius: $border-radius-base;
21
21
  }
22
22
 
23
+ &:hover {
24
+ transition: filter $trans-duration-style;
25
+ }
26
+
27
+ // #Basic
28
+ @include m(basic) {
29
+ background-color: transparent;
30
+ color: var(--color-gray-500);
31
+
32
+ &:hover {
33
+ background-color: transparent;
34
+ color: color-mix(in srgb, var(--color-gray-500), black 30%);
35
+ }
36
+
37
+ @include m(outline) {
38
+ background-color: transparent;
39
+ border-color: var(--color-gray-500);
40
+ color: var(--color-gray-500);
41
+
42
+ &:after {
43
+ border-color: var(--color-gray-500);
44
+ }
45
+
46
+ &:hover {
47
+ background-color: var(--color-gray-50);
48
+ color: color-mix(in srgb, var(--color-gray-500), black 30%);
49
+ }
50
+ }
51
+
52
+ @include m(link) {
53
+ @extend .btn--basic--outline;
54
+
55
+ &:after {
56
+ border-color: transparent;
57
+ }
58
+
59
+ &:hover {
60
+ background-color: transparent;
61
+ }
62
+ }
63
+ }
64
+
23
65
  // #Primary
24
- @include e(primary) {
66
+ @include m(primary) {
25
67
  background-color: var(--color-brand-dark);
26
68
  color: var(--color-white);
27
69
 
@@ -44,7 +86,7 @@
44
86
  }
45
87
 
46
88
  @include m(link) {
47
- @extend .btn__primary--outline;
89
+ @extend .btn--primary--outline;
48
90
 
49
91
  &:after {
50
92
  border-color: transparent;
@@ -57,7 +99,7 @@
57
99
  }
58
100
 
59
101
  /* #Secondary */
60
- @include e(secondary) {
102
+ @include m(secondary) {
61
103
  background-color: var(--color-brand-light);
62
104
  color: var(--color-white);
63
105
 
@@ -80,7 +122,7 @@
80
122
  }
81
123
 
82
124
  @include m(link) {
83
- @extend .btn__secondary--outline;
125
+ @extend .btn--secondary--outline;
84
126
 
85
127
  &:after {
86
128
  border-color: transparent;
@@ -89,7 +131,7 @@
89
131
  }
90
132
 
91
133
  /* #Warn */
92
- @include e(warn) {
134
+ @include m(warn) {
93
135
  background-color: var(--color-error);
94
136
  color: var(--color-white);
95
137
 
@@ -112,7 +154,7 @@
112
154
  }
113
155
 
114
156
  @include m(link) {
115
- @extend .btn__warn--outline;
157
+ @extend .btn--warn--outline;
116
158
 
117
159
  &:after {
118
160
  border-color: transparent;
@@ -121,9 +163,9 @@
121
163
  }
122
164
 
123
165
  /* #Success */
124
- @include e(success) {
125
- background-color: var(--color-success);
126
- color: var(--color-white);
166
+ @include m(success) {
167
+ background-color: var(--color-success--opacity);
168
+ color: var(--color-success);
127
169
 
128
170
  &:hover {
129
171
  background-color: rgba(var(--color-success-rgb), .88);
@@ -144,7 +186,7 @@
144
186
  }
145
187
 
146
188
  @include m(link) {
147
- @extend .btn__warn--outline;
189
+ @extend .btn--warn--outline;
148
190
 
149
191
  &:after {
150
192
  border-color: transparent;
@@ -39,9 +39,9 @@ form {
39
39
  @include fontSize($font-size-base);
40
40
  display: block;
41
41
  width: 100%;
42
- padding: calc-rem(8) calc-rem(16);
42
+ padding: calc-rem(8px 16px);
43
43
  border-radius: $border-radius-medium;
44
- border: 1px solid var(--color-gray-200);
44
+ border: 1px solid var(--color-gray-300);
45
45
  color: var(--color-black);
46
46
  line-height: $base-line-height;
47
47
 
@@ -64,8 +64,8 @@ form {
64
64
  // suffix
65
65
  position: absolute !important;
66
66
  top: 50%;
67
- right: calc-rem(16);
68
- color: var(--color-gray-500);
67
+ right: calc-rem(16px);
68
+ color: var(--color-gray-100);
69
69
  transform: translateY(-50%);
70
70
 
71
71
  &,
@@ -82,13 +82,14 @@ form {
82
82
  @extend .form-field__input--suffix;
83
83
 
84
84
  right: unset;
85
- left: calc-rem(16);
85
+ left: calc-rem(16px);
86
86
  }
87
87
 
88
88
  @include m(disabled) {
89
89
  // disabled
90
90
  background-color: var(--color-gray-100);
91
- border-color: transparent;
91
+ opacity: .5;
92
+ pointer-events: none;
92
93
  }
93
94
 
94
95
  @include m(invalid) {
@@ -103,7 +104,7 @@ form {
103
104
  @include fontSize($font-size-base);
104
105
  display: block;
105
106
  width: 100%;
106
- padding: calc-rem(16);
107
+ padding: calc-rem(16px);
107
108
  border-radius: $border-radius-medium;
108
109
  border: 1px solid var(--color-gray-200);
109
110
  color: var(--color-black);
@@ -124,8 +125,8 @@ form {
124
125
  // suffix
125
126
  position: absolute !important;
126
127
  top: 50%;
127
- right: calc-rem(16);
128
- color: var(--color-gray-500);
128
+ right: calc-rem(16px);
129
+ color: var(--color-gray-100);
129
130
  transform: translateY(-50%);
130
131
 
131
132
  &,
@@ -142,13 +143,14 @@ form {
142
143
  @extend .form-field__input--suffix;
143
144
 
144
145
  right: unset;
145
- left: calc-rem(16);
146
+ left: calc-rem(16px);
146
147
  }
147
148
 
148
149
  @include m(disabled) {
149
150
  // disabled
150
151
  background-color: var(--color-gray-100);
151
- border-color: transparent;
152
+ opacity: .5;
153
+ pointer-events: none;
152
154
  }
153
155
  }
154
156
 
@@ -157,7 +159,7 @@ form {
157
159
  @include fontSize($font-size-base);
158
160
  display: block;
159
161
  width: 100%;
160
- padding: calc-rem(8) calc-rem(16);
162
+ padding: calc-rem(8px 16px);
161
163
  color: var(--color-black);
162
164
  line-height: $base-line-height;
163
165
  border: none;
@@ -185,8 +187,8 @@ form {
185
187
  // suffix
186
188
  position: absolute !important;
187
189
  top: 50%;
188
- right: calc-rem(16);
189
- color: var(--color-gray-500);
190
+ right: calc-rem(16px);
191
+ color: var(--color-gray-100);
190
192
  transform: translateY(-50%);
191
193
 
192
194
  &,
@@ -203,13 +205,14 @@ form {
203
205
  @extend .form-field__range--suffix;
204
206
 
205
207
  right: unset;
206
- left: calc-rem(16);
208
+ left: calc-rem(16px);
207
209
  }
208
210
 
209
211
  @include m(disabled) {
210
212
  // disabled
211
213
  background-color: var(--color-gray-100);
212
- border-color: transparent;
214
+ opacity: .5;
215
+ pointer-events: none;
213
216
  }
214
217
 
215
218
  @include m(invalid) {
@@ -246,9 +249,11 @@ form {
246
249
 
247
250
  // #Validation
248
251
  @include e(validation) {
249
- padding-top: 0.5rem;
250
252
  @include fontSize($font-size-xs);
253
+
254
+ padding-top: 0.5rem;
251
255
  color: var(--color-error);
256
+
252
257
  @include m(item) {
253
258
  padding-bottom: 0.6rem;
254
259
 
@@ -267,12 +272,6 @@ form {
267
272
  }
268
273
  }
269
274
 
270
- &.disabled input,
271
- &.disabled textarea {
272
- background-color: var(--color-white-opacity-05);
273
- border-color: var(--color-gray-300);
274
- }
275
-
276
275
  .spinner {
277
276
  position: absolute;
278
277
  right: 0.25rem;
@@ -6,7 +6,7 @@ $border-radius: 0.25rem;
6
6
  @include fontSize($font-size-base);
7
7
 
8
8
  border-radius: $border-radius;
9
- border: 1px solid var(--color-gray-500);
9
+ border: 1px solid var(--color-gray-300);
10
10
  padding: calc-rem(8) calc-rem(16) calc-rem(8) calc-rem(16);
11
11
  color: var(--color-black);
12
12
  line-height: $base-line-height;
@@ -46,7 +46,7 @@
46
46
 
47
47
  --color-success: #075145;
48
48
  --color-success--opacity: #affebf;
49
- --color-success-rgb: 7, 81, 69;
49
+ --color-success-rgb: 175, 254, 191;
50
50
 
51
51
  --color-allocation-started: #E8F8E5;
52
52
  --color-allocation-scheduled: #FDF0E4;
@@ -55,9 +55,4 @@
55
55
  --color-allocation-no-show: #EAE5FF;
56
56
  --color-allocation-unavailable: #F2F2F2;
57
57
  --cropper-outline-color: rgba(0, 0, 0, 0.5);
58
-
59
- --mat-option-label-text-color: var(--color-gray-900);
60
- --mat-option-focus-state-layer-color: var(--color-gray-100);
61
- --mat-option-hover-state-layer-color: var(--color-gray-50);
62
- --mat-divider-color: var(--color-gray-100);
63
58
  }
@@ -23,5 +23,10 @@ $breakpoints: (
23
23
  );
24
24
 
25
25
  :root {
26
- --mat-standard-button-toggle-shape: #{calc-rem($border-radius-large)}
26
+ --mat-standard-button-toggle-shape: #{calc-rem($border-radius-large)};
27
+ --mat-option-label-text-color: var(--color-gray-900);
28
+ --mat-option-focus-state-layer-color: var(--color-gray-100);
29
+ --mat-option-hover-state-layer-color: var(--color-gray-50);
30
+ --mat-divider-color: var(--color-gray-100);
31
+ --mat-select-placeholder-text-color: var(--color-gray-400);
27
32
  }