@elderbyte/ngx-starter 14.4.0-beta.3 → 14.4.0-beta.6

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.
@@ -29,6 +29,7 @@ import * as i27 from "../input/autocomplete/elder-autocomplete.module";
29
29
  import * as i28 from "@angular/material/chips";
30
30
  import * as i29 from "../../pipes/elder-pipes.module";
31
31
  import * as i30 from "@angular/material/tooltip";
32
+ import * as i31 from "../theme/elder-theme.module";
32
33
  export { ElderSelectValueDirective } from './elder-select-value.directive';
33
34
  export * from './elder-select-chip.directive';
34
35
  export { ElderSelectOnTabDirective } from './elder-select-on-tab.directive';
@@ -41,6 +42,6 @@ export { ElderAutoSelectFirstDirective } from './auto/elder-auto-select-first.di
41
42
  export { ElderClearSelectDirective } from './single/elder-clear-select.directive';
42
43
  export declare class ElderSelectModule {
43
44
  static ɵfac: i0.ɵɵFactoryDeclaration<ElderSelectModule, never>;
44
- static ɵmod: i0.ɵɵNgModuleDeclaration<ElderSelectModule, [typeof i1.ElderSelectComponent, typeof i2.ElderSelectValueDirective, typeof i3.TemplatedSelectionDialogComponent, typeof i4.SelectionModelPopupDirective, typeof i5.ElderSelectOnTabDirective, typeof i6.ElderMultiSelectChipsComponent, typeof i7.ElderSelectChipDirective, typeof i7.ElderSelectChipAvatarDirective, typeof i8.ElderAutoSelectFirstDirective, typeof i9.ElderClearSelectDirective, typeof i7.ElderSelectCustomInputDirective], [typeof i10.CommonModule, typeof i11.FormsModule, typeof i11.ReactiveFormsModule, typeof i12.MatFormFieldModule, typeof i13.MatIconModule, typeof i14.MatSelectModule, typeof i15.MatDialogModule, typeof i16.MatButtonModule, typeof i17.MatInputModule, typeof i18.MatAutocompleteModule, typeof i19.MatToolbarModule, typeof i20.MatProgressBarModule, typeof i21.MatProgressSpinnerModule, typeof i22.FlexModule, typeof i23.TranslateModule, typeof i24.ElderFormsDirectivesModule, typeof i25.ElderTableModule, typeof i26.ElderInfiniteScrollModule, typeof i27.ElderAutocompleteModule, typeof i28.MatChipsModule, typeof i29.ElderPipesModule, typeof i30.MatTooltipModule], [typeof i1.ElderSelectComponent, typeof i2.ElderSelectValueDirective, typeof i3.TemplatedSelectionDialogComponent, typeof i4.SelectionModelPopupDirective, typeof i6.ElderMultiSelectChipsComponent, typeof i7.ElderSelectChipDirective, typeof i7.ElderSelectChipAvatarDirective, typeof i8.ElderAutoSelectFirstDirective, typeof i9.ElderClearSelectDirective, typeof i7.ElderSelectCustomInputDirective]>;
45
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ElderSelectModule, [typeof i1.ElderSelectComponent, typeof i2.ElderSelectValueDirective, typeof i3.TemplatedSelectionDialogComponent, typeof i4.SelectionModelPopupDirective, typeof i5.ElderSelectOnTabDirective, typeof i6.ElderMultiSelectChipsComponent, typeof i7.ElderSelectChipDirective, typeof i7.ElderSelectChipAvatarDirective, typeof i8.ElderAutoSelectFirstDirective, typeof i9.ElderClearSelectDirective, typeof i7.ElderSelectCustomInputDirective], [typeof i10.CommonModule, typeof i11.FormsModule, typeof i11.ReactiveFormsModule, typeof i12.MatFormFieldModule, typeof i13.MatIconModule, typeof i14.MatSelectModule, typeof i15.MatDialogModule, typeof i16.MatButtonModule, typeof i17.MatInputModule, typeof i18.MatAutocompleteModule, typeof i19.MatToolbarModule, typeof i20.MatProgressBarModule, typeof i21.MatProgressSpinnerModule, typeof i22.FlexModule, typeof i23.TranslateModule, typeof i24.ElderFormsDirectivesModule, typeof i25.ElderTableModule, typeof i26.ElderInfiniteScrollModule, typeof i27.ElderAutocompleteModule, typeof i28.MatChipsModule, typeof i29.ElderPipesModule, typeof i30.MatTooltipModule, typeof i31.ElderThemeModule], [typeof i1.ElderSelectComponent, typeof i2.ElderSelectValueDirective, typeof i3.TemplatedSelectionDialogComponent, typeof i4.SelectionModelPopupDirective, typeof i6.ElderMultiSelectChipsComponent, typeof i7.ElderSelectChipDirective, typeof i7.ElderSelectChipAvatarDirective, typeof i8.ElderAutoSelectFirstDirective, typeof i9.ElderClearSelectDirective, typeof i7.ElderSelectCustomInputDirective]>;
45
46
  static ɵinj: i0.ɵɵInjectorDeclaration<ElderSelectModule>;
46
47
  }
@@ -3,7 +3,7 @@ import { ElderSelectValueDirective } from '../elder-select-value.directive';
3
3
  import { ElderApplyControlFn } from '../../../common/forms/elder-from-field-base';
4
4
  import { ElderMultiSelectBase } from './elder-multi-select-base';
5
5
  import { ElderFromFieldMultiEntityBase } from '../../../common/forms/elder-from-field-multi-entity-base';
6
- import { ElderSelectChipAvatarDirective, ElderSelectChipDirective } from '../elder-select-chip.directive';
6
+ import { ElderSelectChipAvatarDirective, ElderSelectChipDirective, ElderSelectCustomInputDirective } from '../elder-select-chip.directive';
7
7
  import { SelectionModelPopupDirective } from '../popup/selection-model-popup.directive';
8
8
  import * as i0 from "@angular/core";
9
9
  export declare abstract class ElderMultiSelectFormField<TEntity, TId, TValue = TEntity | TId> extends ElderFromFieldMultiEntityBase<TEntity, TId, TValue, ElderMultiSelectBase<TId, TEntity, TValue>> implements AfterViewInit {
@@ -16,6 +16,7 @@ export declare abstract class ElderMultiSelectFormField<TEntity, TId, TValue = T
16
16
  selectionModelPopupDirective: SelectionModelPopupDirective;
17
17
  selectChipDirective: ElderSelectChipDirective;
18
18
  selectChipAvatarDirective: ElderSelectChipAvatarDirective;
19
+ selectCustomInputDirective: ElderSelectCustomInputDirective;
19
20
  /***************************************************************************
20
21
  * *
21
22
  * Constructor *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elderbyte/ngx-starter",
3
- "version": "14.4.0-beta.3",
3
+ "version": "14.4.0-beta.6",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^14.0.1",
6
6
  "@angular/core": "^14.0.1",
@@ -0,0 +1,39 @@
1
+ @use 'sass:map';
2
+ @use '@angular/material' as mat;
3
+ @use '../../../../theming/elder-typography-utils' as elder-typography;
4
+
5
+ @mixin typography($typography-config) {
6
+ $config: mat.private-typography-to-2014-config($typography-config);
7
+ // The unit-less line-height from the font config.
8
+ $line-height: mat.line-height($config, input);
9
+ $font-size: mat.font-size($config, input);
10
+ $line-height-em: elder-typography.coerce-unitless-to-em($line-height);
11
+
12
+ .elder-icon-button-small {
13
+ width: $line-height-em !important;
14
+ height: $line-height-em !important;
15
+ line-height: $line-height-em !important;
16
+
17
+ .mat-icon {
18
+ width: $line-height-em !important;
19
+ height: $line-height-em !important;
20
+ line-height: $line-height-em !important;
21
+ }
22
+ .material-icons {
23
+ font-size: $line-height-em !important;
24
+ }
25
+ }
26
+
27
+ .elder-input-prefix-icon-container {
28
+ height: $line-height-em !important;
29
+ min-width: $line-height-em !important;
30
+ }
31
+
32
+ .elder-icon-small {
33
+ width: $line-height-em !important;
34
+ height: $line-height-em !important;
35
+ line-height: $line-height-em !important;
36
+ font-size: $font-size !important;
37
+ }
38
+
39
+ }
@@ -1,13 +1,45 @@
1
1
  @use 'sass:map';
2
2
  @use '@angular/material' as mat;
3
+ @use '../../../../../../theming/elder-typography-utils' as elder-typography;
4
+ @use '../../elder-select-base' as elder-select-base;
3
5
 
4
- @mixin theme($config-or-theme) {
5
- $config: mat.get-color-config($config-or-theme);
6
- $foreground: map.get($config, foreground);
7
- $background: map.get($config, background);
8
- $primary: map.get($config, primary);
9
- $accent: map.get($config, accent);
10
- $warn: map.get($config, warn);
6
+ @mixin typography($typography-config) {
7
+ $config: mat.private-typography-to-2014-config($typography-config);
8
+ // The unit-less line-height from the font config.
9
+ $line-height: mat.line-height($config, input);
10
+ $font-size: mat.font-size($config, input);
11
+ $line-height-em: elder-typography.coerce-unitless-to-em($line-height);
12
+
13
+ @include elder-select-base.typography($typography-config);
14
+
15
+ .elder-multi-select {
16
+ font-family: mat.font-family($config);
17
+
18
+ .elder-select-input {
19
+ height: $line-height-em
20
+ }
21
+
22
+ .elder-prefix-icon {
23
+ margin-left: 3px;
24
+ }
25
+
26
+ .elder-chip-input {
27
+ width: 144px;
28
+ min-width: 80px; // 180 - (prefix-icon) - (browser-icon)
29
+ max-width: 100%;
30
+ }
31
+
32
+ }
33
+
34
+
35
+ }
36
+
37
+ @mixin color($color-config) {
38
+ $foreground: map.get($color-config, foreground);
39
+ $background: map.get($color-config, background);
40
+ $primary: map.get($color-config, primary);
41
+ $accent: map.get($color-config, accent);
42
+ $warn: map.get($color-config, warn);
11
43
 
12
44
  .elder-select-value {
13
45
  color: mat.get-color-from-palette($foreground, text);
@@ -51,18 +83,21 @@
51
83
  }
52
84
  }
53
85
 
54
- .small-icon-button {
55
- width: 24px !important;
56
- height: 24px !important;
57
- line-height: 24px !important;
86
+ @mixin theme($config-or-theme) {
87
+ $color: mat.get-color-config($config-or-theme);
88
+ $typography: mat.get-typography-config($config-or-theme);
89
+
90
+ // If no actual typography configuration has been specified, create a default one.
91
+ @if not $typography {
92
+ $typography: mat.define-typography-config();
93
+ }
58
94
 
59
- .mat-icon {
60
- width: 16px !important;
61
- height: 16px !important;
62
- line-height: 16px !important;
95
+ @if $color != null {
96
+ @include color($color);
63
97
  }
64
- .material-icons {
65
- font-size: 16px !important;
98
+
99
+ @if $typography != null {
100
+ @include typography($typography);
66
101
  }
67
102
  }
68
103
 
@@ -1,13 +1,40 @@
1
1
  @use 'sass:map';
2
2
  @use '@angular/material' as mat;
3
+ @use '../../../../../../theming/elder-typography-utils' as elder-typography;
4
+ @use '../../elder-select-base' as elder-select-base;
3
5
 
4
- @mixin theme($config-or-theme) {
5
- $config: mat.get-color-config($config-or-theme);
6
- $foreground: map.get($config, foreground);
7
- $background: map.get($config, background);
8
- $primary: map.get($config, primary);
9
- $accent: map.get($config, accent);
10
- $warn: map.get($config, warn);
6
+ @mixin typography($typography-config) {
7
+ $config: mat.private-typography-to-2014-config($typography-config);
8
+ // The unit-less line-height from the font config.
9
+ $line-height: mat.line-height($config, input);
10
+ $font-size: mat.font-size($config, input);
11
+ $line-height-em: elder-typography.coerce-unitless-to-em($line-height);
12
+
13
+ @include elder-select-base.typography($typography-config);
14
+
15
+ .elder-select {
16
+ font-family: mat.font-family($config);
17
+
18
+ .elder-input-prefix-icon-container {
19
+ padding-right: 3px;
20
+ }
21
+ }
22
+
23
+ .elder-select-input {
24
+ height: $line-height-em
25
+ }
26
+
27
+ .elder-select-arrow {
28
+ cursor: pointer;
29
+ }
30
+ }
31
+
32
+ @mixin color($color-config) {
33
+ $foreground: map.get($color-config, foreground);
34
+ $background: map.get($color-config, background);
35
+ $primary: map.get($color-config, primary);
36
+ $accent: map.get($color-config, accent);
37
+ $warn: map.get($color-config, warn);
11
38
 
12
39
  .elder-select-value {
13
40
  color: mat.get-color-from-palette($foreground, text);
@@ -21,7 +48,6 @@
21
48
  color: mat.get-color-from-palette($foreground, secondary-text);
22
49
  }
23
50
 
24
-
25
51
  .mat-form-field {
26
52
  &.mat-focused {
27
53
  &.mat-primary .elder-select-icon {
@@ -51,10 +77,22 @@
51
77
  }
52
78
  }
53
79
 
80
+ @mixin theme($config-or-theme) {
81
+ $color: mat.get-color-config($config-or-theme);
82
+ $typography: mat.get-typography-config($config-or-theme);
54
83
 
55
- .prefix-container {
56
- width: 24px;
57
- height: 16px;
84
+ // If no actual typography configuration has been specified, create a default one.
85
+ @if not $typography {
86
+ $typography: mat.define-typography-config();
87
+ }
88
+
89
+ @if $color != null {
90
+ @include color($color);
91
+ }
92
+
93
+ @if $typography != null {
94
+ @include typography($typography);
95
+ }
58
96
  }
59
97
 
60
98
  @keyframes shrink {
@@ -71,28 +109,6 @@
71
109
  -webkit-animation: shrink 0.3s ease-in-out infinite alternate;
72
110
  }
73
111
 
74
- .prefix-padding {
75
- padding-right: 4px;
76
- }
77
-
78
- .leading-icon {
79
- font-size: 16px;
80
- width: 16px;
81
- height: 16px;
82
- }
83
-
84
- .suffix-icon {
85
- font-size: 16px;
86
- width: 16px;
87
- height: 16px;
88
- // padding-left: 4px;
89
- .mat-icon {
90
- font-size: 16px;
91
- width: 16px;
92
- height: 16px;
93
- }
94
- }
95
-
96
112
  .clickable-icon {
97
113
  cursor: pointer;
98
114
  }
@@ -101,14 +117,9 @@
101
117
  width: 100%;
102
118
  }
103
119
 
104
- .elder-select-dropdown-input {
105
- cursor: pointer;
106
- // width: 162px;
120
+ .elder-select-control {
107
121
  }
108
122
 
109
- .elder-select-arrow {
110
- font-size: 18px;
111
- width: 18px;
112
- height: 18px;
123
+ .elder-select-dropdown-input {
113
124
  cursor: pointer;
114
125
  }
@@ -87,44 +87,6 @@
87
87
  Material Form Controls
88
88
  *******************************/
89
89
 
90
- .elder-icon-button-small {
91
- width: 18px !important;
92
- height: 18px !important;
93
- line-height: 18px !important;
94
-
95
- .mat-icon {
96
- width: 18px !important;
97
- height: 18px !important;
98
- line-height: 18px !important;
99
- }
100
- .material-icons {
101
- font-size: 18px !important;
102
- }
103
- }
104
-
105
- .elder-input-prefix-icon-container {
106
- height: 18px !important;
107
- min-width: 24px !important;
108
- padding-right: 3px;
109
- }
110
-
111
- .elder-icon-small-container {
112
- height: 24px !important;
113
- min-width: 24px !important;
114
- padding: 3px;
115
- }
116
-
117
- .elder-icon-small {
118
- width: 18px !important;
119
- height: 18px !important;
120
- line-height: 18px !important;
121
- font-size: 18px !important;
122
- }
123
-
124
- /******************************
125
- Material Form Controls
126
- *******************************/
127
-
128
90
  .elder-form-control {
129
91
  width: 180px;
130
92
  overflow: hidden; // This allows flex items to shrink (min/max is not defaulting auto)
@@ -0,0 +1,11 @@
1
+ @use 'sass:list';
2
+ @use 'sass:map';
3
+ @use 'sass:math';
4
+ @use 'sass:meta';
5
+ @use 'sass:string';
6
+
7
+ /// Coerce a value to `em` if it is a unitless number, otherwise returns
8
+ /// the value provided.
9
+ @function coerce-unitless-to-em($value) {
10
+ @return if(math.is-unitless($value), 1em * $value, $value);
11
+ }