@ptsecurity/mosaic 15.5.0 → 15.7.2

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 (188) hide show
  1. package/_theming.scss +29 -6
  2. package/_visual.scss +6 -4
  3. package/autocomplete/autocomplete-trigger.directive.d.ts +5 -15
  4. package/button/_button-theme.scss +2 -5
  5. package/button-toggle/_button-toggle-theme.scss +2 -5
  6. package/checkbox/_checkbox-theme.scss +6 -5
  7. package/code-block/_code-block-theme.scss +2 -6
  8. package/core/formatters/index.d.ts +1 -1
  9. package/core/formatters/number/formatter.d.ts +25 -0
  10. package/core/forms/_forms-theme.scss +2 -4
  11. package/core/locales/en-US.d.ts +1 -2
  12. package/core/locales/es-LA.d.ts +9 -0
  13. package/core/locales/fa-IR.d.ts +9 -0
  14. package/core/locales/locale-service.d.ts +39 -5
  15. package/core/locales/pt-BR.d.ts +9 -0
  16. package/core/locales/ru-RU.d.ts +1 -2
  17. package/core/locales/zh-CN.d.ts +9 -0
  18. package/core/option/_optgroup-theme.scss +2 -4
  19. package/core/option/_option-theme.scss +2 -5
  20. package/core/option/option.d.ts +36 -7
  21. package/core/overlay/overlay-position-map.d.ts +7 -1
  22. package/core/styles/_variables.scss +1 -0
  23. package/core/styles/theming/_badges.scss +2 -1
  24. package/core/styles/theming/_theming.scss +1 -0
  25. package/datepicker/_datepicker-theme.scss +2 -5
  26. package/datepicker/calendar-header.component.d.ts +8 -2
  27. package/datepicker/calendar.component.d.ts +3 -4
  28. package/datepicker/month-view.component.d.ts +3 -4
  29. package/dl/_dl-theme.scss +2 -5
  30. package/dropdown/_dropdown-theme.scss +2 -5
  31. package/esm2020/autocomplete/autocomplete-trigger.directive.mjs +27 -24
  32. package/esm2020/core/formatters/index.mjs +6 -2
  33. package/esm2020/core/formatters/number/formatter.mjs +90 -1
  34. package/esm2020/core/locales/en-US.mjs +3 -4
  35. package/esm2020/core/locales/es-LA.mjs +11 -2
  36. package/esm2020/core/locales/fa-IR.mjs +11 -2
  37. package/esm2020/core/locales/locale-service.mjs +4 -4
  38. package/esm2020/core/locales/pt-BR.mjs +11 -2
  39. package/esm2020/core/locales/ru-RU.mjs +3 -4
  40. package/esm2020/core/locales/zh-CN.mjs +11 -2
  41. package/esm2020/core/option/optgroup.mjs +2 -2
  42. package/esm2020/core/option/option.mjs +44 -8
  43. package/esm2020/core/overlay/overlay-position-map.mjs +7 -1
  44. package/esm2020/core/version.mjs +2 -2
  45. package/esm2020/datepicker/calendar-header.component.mjs +8 -7
  46. package/esm2020/datepicker/calendar.component.mjs +5 -14
  47. package/esm2020/datepicker/datepicker-input.directive.mjs +7 -6
  48. package/esm2020/datepicker/month-view.component.mjs +6 -15
  49. package/esm2020/file-upload/multiple-file-upload.component.mjs +9 -5
  50. package/esm2020/file-upload/single-file-upload.component.mjs +10 -6
  51. package/esm2020/form-field/form-field.mjs +5 -8
  52. package/esm2020/form-field/password-hint.mjs +13 -5
  53. package/esm2020/list/list-selection.component.mjs +2 -2
  54. package/esm2020/list/list.component.mjs +2 -2
  55. package/esm2020/loader-overlay/loader-overlay.component.mjs +2 -2
  56. package/esm2020/modal/modal.component.mjs +6 -5
  57. package/esm2020/modal/modal.module.mjs +8 -4
  58. package/esm2020/navbar/navbar-item.component.mjs +14 -13
  59. package/esm2020/navbar/navbar.component.mjs +18 -9
  60. package/esm2020/navbar/vertical-navbar.component.mjs +9 -6
  61. package/esm2020/radio/radio.component.mjs +3 -2
  62. package/esm2020/select/select.component.mjs +23 -9
  63. package/esm2020/tabs/tab.component.mjs +13 -4
  64. package/esm2020/tags/tag-default-options.mjs +1 -1
  65. package/esm2020/tags/tag-input.mjs +10 -8
  66. package/esm2020/tags/tag-list.component.mjs +10 -6
  67. package/esm2020/tags/tag.component.mjs +5 -5
  68. package/esm2020/timezone/timezone-option.component.mjs +2 -2
  69. package/esm2020/timezone/timezone-select.component.mjs +2 -2
  70. package/esm2020/title/title.directive.mjs +2 -2
  71. package/esm2020/toast/toast.module.mjs +10 -4
  72. package/esm2020/tree/tree-option.component.mjs +7 -3
  73. package/esm2020/tree/tree-selection.component.mjs +6 -5
  74. package/esm2020/tree-select/tree-select.component.mjs +5 -5
  75. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +30 -24
  76. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
  77. package/fesm2015/ptsecurity-mosaic-core.mjs +192 -25
  78. package/fesm2015/ptsecurity-mosaic-core.mjs.map +1 -1
  79. package/fesm2015/ptsecurity-mosaic-datepicker.mjs +20 -36
  80. package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +1 -1
  81. package/fesm2015/ptsecurity-mosaic-file-upload.mjs +15 -7
  82. package/fesm2015/ptsecurity-mosaic-file-upload.mjs.map +1 -1
  83. package/fesm2015/ptsecurity-mosaic-form-field.mjs +15 -11
  84. package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +1 -1
  85. package/fesm2015/ptsecurity-mosaic-list.mjs +4 -4
  86. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs +2 -2
  87. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
  88. package/fesm2015/ptsecurity-mosaic-modal.mjs +10 -5
  89. package/fesm2015/ptsecurity-mosaic-modal.mjs.map +1 -1
  90. package/fesm2015/ptsecurity-mosaic-navbar.mjs +36 -27
  91. package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +1 -1
  92. package/fesm2015/ptsecurity-mosaic-radio.mjs +2 -1
  93. package/fesm2015/ptsecurity-mosaic-radio.mjs.map +1 -1
  94. package/fesm2015/ptsecurity-mosaic-select.mjs +23 -8
  95. package/fesm2015/ptsecurity-mosaic-select.mjs.map +1 -1
  96. package/fesm2015/ptsecurity-mosaic-tabs.mjs +12 -3
  97. package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +1 -1
  98. package/fesm2015/ptsecurity-mosaic-tags.mjs +22 -16
  99. package/fesm2015/ptsecurity-mosaic-tags.mjs.map +1 -1
  100. package/fesm2015/ptsecurity-mosaic-timezone.mjs +4 -4
  101. package/fesm2015/ptsecurity-mosaic-timezone.mjs.map +1 -1
  102. package/fesm2015/ptsecurity-mosaic-title.mjs +1 -1
  103. package/fesm2015/ptsecurity-mosaic-title.mjs.map +1 -1
  104. package/fesm2015/ptsecurity-mosaic-toast.mjs +8 -2
  105. package/fesm2015/ptsecurity-mosaic-toast.mjs.map +1 -1
  106. package/fesm2015/ptsecurity-mosaic-tree-select.mjs +4 -4
  107. package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  108. package/fesm2015/ptsecurity-mosaic-tree.mjs +12 -6
  109. package/fesm2015/ptsecurity-mosaic-tree.mjs.map +1 -1
  110. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs +27 -24
  111. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
  112. package/fesm2020/ptsecurity-mosaic-core.mjs +192 -24
  113. package/fesm2020/ptsecurity-mosaic-core.mjs.map +1 -1
  114. package/fesm2020/ptsecurity-mosaic-datepicker.mjs +20 -36
  115. package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +1 -1
  116. package/fesm2020/ptsecurity-mosaic-file-upload.mjs +15 -7
  117. package/fesm2020/ptsecurity-mosaic-file-upload.mjs.map +1 -1
  118. package/fesm2020/ptsecurity-mosaic-form-field.mjs +15 -10
  119. package/fesm2020/ptsecurity-mosaic-form-field.mjs.map +1 -1
  120. package/fesm2020/ptsecurity-mosaic-list.mjs +4 -4
  121. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs +2 -2
  122. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
  123. package/fesm2020/ptsecurity-mosaic-modal.mjs +10 -5
  124. package/fesm2020/ptsecurity-mosaic-modal.mjs.map +1 -1
  125. package/fesm2020/ptsecurity-mosaic-navbar.mjs +36 -27
  126. package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +1 -1
  127. package/fesm2020/ptsecurity-mosaic-radio.mjs +2 -1
  128. package/fesm2020/ptsecurity-mosaic-radio.mjs.map +1 -1
  129. package/fesm2020/ptsecurity-mosaic-select.mjs +22 -8
  130. package/fesm2020/ptsecurity-mosaic-select.mjs.map +1 -1
  131. package/fesm2020/ptsecurity-mosaic-tabs.mjs +12 -3
  132. package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +1 -1
  133. package/fesm2020/ptsecurity-mosaic-tags.mjs +22 -16
  134. package/fesm2020/ptsecurity-mosaic-tags.mjs.map +1 -1
  135. package/fesm2020/ptsecurity-mosaic-timezone.mjs +4 -4
  136. package/fesm2020/ptsecurity-mosaic-timezone.mjs.map +1 -1
  137. package/fesm2020/ptsecurity-mosaic-title.mjs +1 -1
  138. package/fesm2020/ptsecurity-mosaic-title.mjs.map +1 -1
  139. package/fesm2020/ptsecurity-mosaic-toast.mjs +8 -2
  140. package/fesm2020/ptsecurity-mosaic-toast.mjs.map +1 -1
  141. package/fesm2020/ptsecurity-mosaic-tree-select.mjs +4 -4
  142. package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  143. package/fesm2020/ptsecurity-mosaic-tree.mjs +11 -6
  144. package/fesm2020/ptsecurity-mosaic-tree.mjs.map +1 -1
  145. package/file-upload/_file-upload-theme.scss +2 -4
  146. package/file-upload/multiple-file-upload.component.d.ts +4 -3
  147. package/file-upload/single-file-upload.component.d.ts +4 -3
  148. package/form-field/_form-field-theme.scss +7 -5
  149. package/form-field/form-field.d.ts +0 -1
  150. package/form-field/form-field.scss +1 -3
  151. package/form-field/password-hint.d.ts +6 -3
  152. package/input/_input-theme.scss +7 -6
  153. package/link/_link-theme.scss +7 -8
  154. package/list/_list-theme.scss +2 -5
  155. package/loader-overlay/_loader-overlay-theme.scss +2 -5
  156. package/loader-overlay/loader-overlay.scss +3 -0
  157. package/markdown/_markdown-theme.scss +3 -6
  158. package/modal/_modal-theme.scss +3 -5
  159. package/modal/modal.module.d.ts +2 -1
  160. package/modal/modal.scss +14 -2
  161. package/navbar/_navbar-theme.scss +2 -6
  162. package/navbar/navbar-item.component.d.ts +3 -2
  163. package/navbar/navbar.component.d.ts +5 -2
  164. package/navbar/vertical-navbar.component.d.ts +4 -2
  165. package/package.json +11 -14
  166. package/popover/_popover-theme.scss +2 -6
  167. package/prebuilt-themes/dark-theme.css +1 -1
  168. package/prebuilt-themes/default-theme.css +1 -1
  169. package/radio/_radio-theme.scss +6 -6
  170. package/select/_select-theme.scss +2 -5
  171. package/select/select.component.d.ts +12 -9
  172. package/select/select.scss +3 -1
  173. package/sidepanel/_sidepanel-theme.scss +2 -5
  174. package/table/_table-theme.scss +2 -5
  175. package/tabs/_tabs-theme.scss +2 -5
  176. package/tags/_tag-theme.scss +2 -5
  177. package/tags/tag-default-options.d.ts +4 -0
  178. package/tags/tag-list.component.d.ts +1 -0
  179. package/tags/tag-list.scss +6 -2
  180. package/tags/tag.component.d.ts +1 -1
  181. package/textarea/_textarea-theme.scss +2 -5
  182. package/timezone/_timezone-option-theme.scss +2 -5
  183. package/toast/_toast-theme.scss +2 -5
  184. package/toggle/_toggle-theme.scss +2 -5
  185. package/tooltip/_tooltip-theme.scss +2 -5
  186. package/tree/_tree-theme.scss +2 -4
  187. package/tree/tree-option.scss +4 -2
  188. package/tree-select/_tree-select-theme.scss +2 -5
@@ -3,10 +3,6 @@
3
3
 
4
4
  @use '../core/styles/typography/typography-utils' as *;
5
5
 
6
- @use '../core/styles/tokens';
7
-
8
- $tokens: meta.module-variables(tokens) !default;
9
-
10
6
  @mixin mc-file-upload-text-color($states) {
11
7
  &, .mc-icon, .mc-link {
12
8
  color: map.get($states, border);
@@ -127,6 +123,8 @@ $tokens: meta.module-variables(tokens) !default;
127
123
 
128
124
 
129
125
  @mixin mc-file-upload-typography($config) {
126
+ $tokens: map.get($config, tokens);
127
+
130
128
  .mc-single-file-upload {
131
129
  @include mc-typography-level-to-styles($config, map.get($tokens, file-upload-font-single));
132
130
  }
@@ -1,5 +1,5 @@
1
1
  import { FocusMonitor } from '@angular/cdk/a11y';
2
- import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, TemplateRef } from '@angular/core';
2
+ import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, Renderer2, TemplateRef } from '@angular/core';
3
3
  import { CanDisable } from '@ptsecurity/mosaic/core';
4
4
  import { McFileItem, McFileValidatorFn, McInputFile, McInputFileLabel } from './file-upload';
5
5
  import * as i0 from "@angular/core";
@@ -16,6 +16,7 @@ export declare const MC_MULTIPLE_FILE_UPLOAD_DEFAULT_CONFIGURATION: McInputFileM
16
16
  export declare class McMultipleFileUploadComponent implements AfterViewInit, OnDestroy, McInputFile, CanDisable {
17
17
  private focusMonitor;
18
18
  private cdr;
19
+ private renderer;
19
20
  config: McInputFileMultipleLabel;
20
21
  accept?: string[];
21
22
  disabled: boolean;
@@ -35,7 +36,7 @@ export declare class McMultipleFileUploadComponent implements AfterViewInit, OnD
35
36
  private focusMonitorSubscription;
36
37
  get acceptedFiles(): string;
37
38
  get hasErrors(): boolean;
38
- constructor(focusMonitor: FocusMonitor, cdr: ChangeDetectorRef, config: McInputFileMultipleLabel);
39
+ constructor(focusMonitor: FocusMonitor, cdr: ChangeDetectorRef, renderer: Renderer2, config: McInputFileMultipleLabel);
39
40
  ngAfterViewInit(): void;
40
41
  ngOnDestroy(): void;
41
42
  onFileSelectedViaClick({ target }: Event): void;
@@ -46,6 +47,6 @@ export declare class McMultipleFileUploadComponent implements AfterViewInit, OnD
46
47
  private mapToFileItem;
47
48
  private validateFile;
48
49
  private isCorrectExtension;
49
- static ɵfac: i0.ɵɵFactoryDeclaration<McMultipleFileUploadComponent, [null, null, { optional: true; }]>;
50
+ static ɵfac: i0.ɵɵFactoryDeclaration<McMultipleFileUploadComponent, [null, null, null, { optional: true; }]>;
50
51
  static ɵcmp: i0.ɵɵComponentDeclaration<McMultipleFileUploadComponent, "mc-multiple-file-upload", never, { "accept": "accept"; "disabled": "disabled"; "errors": "errors"; "files": "files"; "size": "size"; "inputId": "inputId"; "customValidation": "customValidation"; }, { "fileQueueChanged": "fileQueueChanged"; }, ["customFileIcon"], ["[hint]"], false, never>;
51
52
  }
@@ -1,5 +1,5 @@
1
1
  import { FocusMonitor } from '@angular/cdk/a11y';
2
- import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy } from '@angular/core';
2
+ import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, Renderer2 } from '@angular/core';
3
3
  import { CanDisable } from '@ptsecurity/mosaic/core';
4
4
  import { McFileItem, McFileValidatorFn, McInputFile, McInputFileLabel } from './file-upload';
5
5
  import * as i0 from "@angular/core";
@@ -7,6 +7,7 @@ export declare const MC_SINGLE_FILE_UPLOAD_DEFAULT_CONFIGURATION: McInputFileLab
7
7
  export declare class McSingleFileUploadComponent implements AfterViewInit, OnDestroy, McInputFile, CanDisable {
8
8
  private focusMonitor;
9
9
  private cdr;
10
+ private renderer;
10
11
  config: McInputFileLabel;
11
12
  accept: string[];
12
13
  disabled: boolean;
@@ -19,7 +20,7 @@ export declare class McSingleFileUploadComponent implements AfterViewInit, OnDes
19
20
  hasFocus: boolean;
20
21
  private focusMonitorSubscription;
21
22
  get acceptedFiles(): string;
22
- constructor(focusMonitor: FocusMonitor, cdr: ChangeDetectorRef, config: McInputFileLabel);
23
+ constructor(focusMonitor: FocusMonitor, cdr: ChangeDetectorRef, renderer: Renderer2, config: McInputFileLabel);
23
24
  ngAfterViewInit(): void;
24
25
  ngOnDestroy(): void;
25
26
  onFileSelectedViaClick({ target }: Event): void;
@@ -29,6 +30,6 @@ export declare class McSingleFileUploadComponent implements AfterViewInit, OnDes
29
30
  private mapToFileItem;
30
31
  private validateFile;
31
32
  private isCorrectExtension;
32
- static ɵfac: i0.ɵɵFactoryDeclaration<McSingleFileUploadComponent, [null, null, { optional: true; }]>;
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<McSingleFileUploadComponent, [null, null, null, { optional: true; }]>;
33
34
  static ɵcmp: i0.ɵɵComponentDeclaration<McSingleFileUploadComponent, "mc-single-file-upload", never, { "accept": "accept"; "disabled": "disabled"; "errors": "errors"; "files": "files"; "inputId": "inputId"; "customValidation": "customValidation"; }, { "fileQueueChanged": "fileQueueChanged"; }, never, ["[hint]", "[mc-icon]"], false, never>;
34
35
  }
@@ -4,10 +4,6 @@
4
4
  @use '../core/styles/theming/theming' as *;
5
5
  @use '../core/styles/typography/typography-utils' as *;
6
6
 
7
- @use '../core/styles/tokens';
8
-
9
-
10
- $tokens: meta.module-variables(tokens) !default;
11
7
 
12
8
  @mixin mc-form-field-theme($theme) {
13
9
  $foreground: map.get($theme, foreground);
@@ -97,6 +93,10 @@ $tokens: meta.module-variables(tokens) !default;
97
93
  color: mc-color($secondary);
98
94
  }
99
95
 
96
+ &.mc-warning {
97
+ color: map.get($foreground, text-warning);
98
+ }
99
+
100
100
  &.mc-error {
101
101
  color: map.get($foreground, text-error);
102
102
  }
@@ -130,11 +130,13 @@ $tokens: meta.module-variables(tokens) !default;
130
130
  }
131
131
 
132
132
  @mixin mc-form-field-typography($config) {
133
+ $tokens: map.get($config, tokens);
134
+
133
135
  .mc-form-field {
134
136
  @include mc-typography-level-to-styles($config, map.get($tokens, form-field-font-default));
135
137
  }
136
138
 
137
- .mc-form-field__hint {
139
+ .mc-form-field__hint, .mc-password-hint {
138
140
  @include mc-typography-level-to-styles($config, map.get($tokens, form-field-hint-font-default));
139
141
  }
140
142
 
@@ -40,7 +40,6 @@ export declare class McFormField extends McFormFieldMixinBase implements AfterCo
40
40
  canCleanerClearByEsc: boolean;
41
41
  private $unsubscribe;
42
42
  get hasHint(): boolean;
43
- get hasPasswordStrengthError(): boolean;
44
43
  get hasSuffix(): boolean;
45
44
  get hasPrefix(): boolean;
46
45
  get hasCleaner(): boolean;
@@ -36,7 +36,7 @@ $tokens: meta.module-variables(tokens) !default;
36
36
  .mc-hint {
37
37
  display: block;
38
38
  }
39
-
39
+ /* test */
40
40
  .mc-password-hint {
41
41
  display: block;
42
42
 
@@ -50,9 +50,7 @@ $tokens: meta.module-variables(tokens) !default;
50
50
 
51
51
  left: 0;
52
52
  }
53
- }
54
53
 
55
- .mc-form-field__hint > .mc-password-hint {
56
54
  margin-top: var(
57
55
  --mc-form-field-password-hint-size-margin-top, map.get($tokens, form-field-password-hint-size-margin-top)
58
56
  );
@@ -1,4 +1,5 @@
1
- import { AfterContentInit, ChangeDetectorRef } from '@angular/core';
1
+ import { AfterContentInit, ChangeDetectorRef, QueryList } from '@angular/core';
2
+ import { McFormField } from './form-field';
2
3
  import * as i0 from "@angular/core";
3
4
  export declare enum PasswordRules {
4
5
  Length = 0,
@@ -14,6 +15,7 @@ export declare const regExpPasswordValidator: {
14
15
  3: RegExp;
15
16
  4: RegExp;
16
17
  };
18
+ export declare const hasPasswordStrengthError: (passwordHints: QueryList<McPasswordHint>) => boolean;
17
19
  export declare class McPasswordHint implements AfterContentInit {
18
20
  private changeDetectorRef;
19
21
  private formField;
@@ -22,6 +24,7 @@ export declare class McPasswordHint implements AfterContentInit {
22
24
  min: number;
23
25
  max: number;
24
26
  regex: RegExp | null;
27
+ viewFormField?: McFormField;
25
28
  hasError: boolean;
26
29
  checked: boolean;
27
30
  private checkRule;
@@ -34,6 +37,6 @@ export declare class McPasswordHint implements AfterContentInit {
34
37
  private checkRegexRule;
35
38
  private checkSpecialSymbolsRegexRule;
36
39
  private isValueChanged;
37
- static ɵfac: i0.ɵɵFactoryDeclaration<McPasswordHint, never>;
38
- static ɵcmp: i0.ɵɵComponentDeclaration<McPasswordHint, "mc-password-hint", never, { "id": "id"; "rule": "rule"; "min": "min"; "max": "max"; "regex": "regex"; }, {}, never, ["*"], false, never>;
40
+ static ɵfac: i0.ɵɵFactoryDeclaration<McPasswordHint, [null, { optional: true; }]>;
41
+ static ɵcmp: i0.ɵɵComponentDeclaration<McPasswordHint, "mc-password-hint", never, { "id": "id"; "rule": "rule"; "min": "min"; "max": "max"; "regex": "regex"; "viewFormField": "viewFormField"; }, {}, never, ["*"], false, never>;
39
42
  }
@@ -3,11 +3,6 @@
3
3
 
4
4
  @use '../core/styles/typography/typography-utils' as *;
5
5
 
6
- @use '../core/styles/tokens';
7
-
8
-
9
- $tokens: meta.module-variables(tokens) !default;
10
-
11
6
  @mixin mc-input-theme($theme) {
12
7
  $foreground: map.get($theme, foreground);
13
8
 
@@ -48,12 +43,18 @@ $tokens: meta.module-variables(tokens) !default;
48
43
  }
49
44
 
50
45
  @mixin mc-input-typography($config) {
46
+ $tokens: map.get($config, tokens);
47
+
51
48
  .mc-input {
52
49
  @include mc-typography-level-to-styles($config, map.get($tokens, input-font-default));
53
50
  }
54
51
 
55
52
  .mc-input.mc-input_monospace,
56
- .mc-input.mc-input-password[type="password"] {
53
+ .mc-input.mc-input-password {
57
54
  @include mc-typography-level-to-styles($config, map.get($tokens, input-font-monospace));
58
55
  }
56
+
57
+ .mc-input.mc-input-password::placeholder {
58
+ @include mc-typography-level-to-styles($config, map.get($tokens, input-font-default));
59
+ }
59
60
  }
@@ -3,12 +3,7 @@
3
3
 
4
4
  @use '../core/styles/typography/typography-utils' as *;
5
5
 
6
- @use '../core/styles/tokens';
7
-
8
-
9
- $tokens: meta.module-variables(tokens) !default;
10
-
11
- @mixin mc-link($foreground, $link) {
6
+ @mixin mc-link($foreground, $link, $tokens) {
12
7
  display: inline-block;
13
8
 
14
9
  color: map.get($link, text);
@@ -133,12 +128,14 @@ $tokens: meta.module-variables(tokens) !default;
133
128
 
134
129
  $link: map.get(map.get($theme, components), link);
135
130
 
131
+ $tokens: map.get($theme, tokens);
132
+
136
133
  .mc-link:not(.mc-link_use-visited) {
137
134
  &:visited {
138
135
  color: map.get($link, text);
139
136
  }
140
137
 
141
- @include mc-link($foreground, $link);
138
+ @include mc-link($foreground, $link, $tokens);
142
139
  }
143
140
 
144
141
  .mc-link.mc-link_use-visited {
@@ -155,7 +152,7 @@ $tokens: meta.module-variables(tokens) !default;
155
152
  }
156
153
  }
157
154
 
158
- @include mc-link($foreground, $link);
155
+ @include mc-link($foreground, $link, $tokens);
159
156
  }
160
157
 
161
158
  @media print {
@@ -178,6 +175,8 @@ $tokens: meta.module-variables(tokens) !default;
178
175
  }
179
176
 
180
177
  @mixin mc-link-typography($config) {
178
+ $tokens: map.get($config, tokens);
179
+
181
180
  .mc-link {
182
181
  @include mc-typography-level-to-styles($config, map.get($tokens, link-font-default));
183
182
  }
@@ -3,11 +3,6 @@
3
3
 
4
4
  @use '../core/styles/typography/typography-utils' as *;
5
5
 
6
- @use '../core/styles/tokens';
7
-
8
-
9
- $tokens: meta.module-variables(tokens) !default;
10
-
11
6
  @mixin mc-list-theme($theme) {
12
7
  $foreground: map.get($theme, foreground);
13
8
  $background: map.get($theme, background);
@@ -42,6 +37,8 @@ $tokens: meta.module-variables(tokens) !default;
42
37
  }
43
38
 
44
39
  @mixin mc-list-typography($config) {
40
+ $tokens: map.get($config, tokens);
41
+
45
42
  .mc-list-item,
46
43
  .mc-list-option {
47
44
  @include mc-typography-level-to-styles($config, map.get($tokens, list-font-item));
@@ -3,11 +3,6 @@
3
3
 
4
4
  @use '../core/styles/typography/typography-utils' as *;
5
5
 
6
- @use '../core/styles/tokens';
7
-
8
-
9
- $tokens: meta.module-variables(tokens) !default;
10
-
11
6
  @mixin mc-loader-overlay-theme($theme) {
12
7
  $loader-overlay: map.get(map.get($theme, components), loader-overlay);
13
8
 
@@ -25,6 +20,8 @@ $tokens: meta.module-variables(tokens) !default;
25
20
  }
26
21
 
27
22
  @mixin mc-loader-overlay-typography($config) {
23
+ $tokens: map.get($config, tokens);
24
+
28
25
  .mc-loader-overlay-text {
29
26
  @include mc-typography-level-to-styles($config, map.get($tokens, loader-overlay-font-text));
30
27
  }
@@ -2,6 +2,7 @@
2
2
  @use 'sass:map';
3
3
 
4
4
  @use '../core/styles/tokens';
5
+ @use '../core/styles/variables';
5
6
 
6
7
 
7
8
  $tokens: meta.module-variables(tokens) !default;
@@ -23,6 +24,8 @@ $tokens: meta.module-variables(tokens) !default;
23
24
  bottom: 0;
24
25
  left: 0;
25
26
 
27
+ z-index: variables.$z-index-loader-overlay;
28
+
26
29
  & .mc-loader-overlay__container {
27
30
  display: flex;
28
31
  flex-direction: column;
@@ -1,19 +1,14 @@
1
- @use 'sass:meta';
2
1
  @use 'sass:map';
3
2
 
4
3
  @use '../core/styles/theming/theming' as *;
5
4
  @use '../core/styles/typography/typography-utils' as *;
6
5
 
7
- @use '../core/styles/tokens';
8
-
9
-
10
- $tokens: meta.module-variables(tokens) !default;
11
-
12
6
  @mixin mc-markdown-theme($theme) {
13
7
  $foreground: map.get($theme, foreground);
14
8
  $background: map.get($theme, background);
15
9
 
16
10
  $markdown: map.get(map.get($theme, components), markdown);
11
+ $tokens: map.get($theme, tokens);
17
12
 
18
13
  .mc-markdown {
19
14
  color: map.get($foreground, text);
@@ -98,6 +93,8 @@ $tokens: meta.module-variables(tokens) !default;
98
93
  }
99
94
 
100
95
  @mixin mc-markdown-typography($config) {
96
+ $tokens: map.get($config, tokens);
97
+
101
98
  .mc-markdown {
102
99
  // h1, h2, h3, h4, h5, h6
103
100
  @for $i from 1 through 6 {
@@ -3,17 +3,13 @@
3
3
 
4
4
  @use '../core/styles/typography/typography-utils' as *;
5
5
 
6
- @use '../core/styles/tokens';
7
-
8
-
9
- $tokens: meta.module-variables(tokens) !default;
10
-
11
6
  @mixin mc-modal-theme($theme) {
12
7
  $foreground: map.get($theme, foreground);
13
8
  $background: map.get($theme, background);
14
9
 
15
10
  $modal: map.get(map.get($theme, components), modal);
16
11
  $popup: map.get(map.get($theme, components), popup);
12
+ $tokens: map.get($theme, tokens);
17
13
 
18
14
  .mc-modal {
19
15
  .mc-modal-content {
@@ -80,6 +76,8 @@ $tokens: meta.module-variables(tokens) !default;
80
76
  }
81
77
 
82
78
  @mixin mc-modal-typography($config) {
79
+ $tokens: map.get($config, tokens);
80
+
83
81
  .mc-modal-title {
84
82
  @include mc-typography-level-to-styles($config, map.get($tokens, modal-header-font-default));
85
83
  }
@@ -7,8 +7,9 @@ import * as i5 from "@angular/cdk/overlay";
7
7
  import * as i6 from "@angular/cdk/a11y";
8
8
  import * as i7 from "@ptsecurity/mosaic/button";
9
9
  import * as i8 from "@ptsecurity/mosaic/icon";
10
+ import * as i9 from "@ptsecurity/mosaic/title";
10
11
  export declare class McModalModule {
11
12
  static ɵfac: i0.ɵɵFactoryDeclaration<McModalModule, never>;
12
- static ɵmod: i0.ɵɵNgModuleDeclaration<McModalModule, [typeof i1.McModalComponent, typeof i2.McModalTitle, typeof i2.McModalBody, typeof i2.McModalFooter, typeof i3.CssUnitPipe, typeof i2.McModalMainAction], [typeof i4.CommonModule, typeof i5.OverlayModule, typeof i6.A11yModule, typeof i7.McButtonModule, typeof i8.McIconModule], [typeof i1.McModalComponent, typeof i2.McModalTitle, typeof i2.McModalBody, typeof i2.McModalFooter, typeof i2.McModalMainAction]>;
13
+ static ɵmod: i0.ɵɵNgModuleDeclaration<McModalModule, [typeof i1.McModalComponent, typeof i2.McModalTitle, typeof i2.McModalBody, typeof i2.McModalFooter, typeof i3.CssUnitPipe, typeof i2.McModalMainAction], [typeof i4.CommonModule, typeof i5.OverlayModule, typeof i6.A11yModule, typeof i7.McButtonModule, typeof i8.McIconModule, typeof i9.McTitleModule], [typeof i1.McModalComponent, typeof i2.McModalTitle, typeof i2.McModalBody, typeof i2.McModalFooter, typeof i2.McModalMainAction]>;
13
14
  static ɵinj: i0.ɵɵInjectorDeclaration<McModalModule>;
14
15
  }
package/modal/modal.scss CHANGED
@@ -70,7 +70,13 @@ $tokens: meta.module-variables(tokens) !default;
70
70
  }
71
71
 
72
72
  .mc-modal-title {
73
- margin: 0;
73
+ margin-top: map.get($tokens, size-s);
74
+ margin-bottom: map.get($tokens, size-s);
75
+
76
+ display: -webkit-box;
77
+ -webkit-box-orient: vertical;
78
+ -webkit-line-clamp: 2;
79
+ overflow: hidden;
74
80
  }
75
81
 
76
82
  .mc-modal-content {
@@ -86,11 +92,17 @@ $tokens: meta.module-variables(tokens) !default;
86
92
  display: flex;
87
93
  align-items: center;
88
94
 
89
- height: var(--mc-modal-header-size-height, map.get($tokens, modal-header-size-height));
95
+ min-height: var(--mc-modal-header-size-height, map.get($tokens, modal-header-size-height));
90
96
 
91
97
  border-radius: var(--mc-modal-header-size-border-radius, map.get($tokens, modal-header-size-border-radius));
92
98
 
93
99
  padding: var(--mc-modal-header-size-padding, map.get($tokens, modal-header-size-padding));
100
+
101
+ &.mc-modal-header_closable {
102
+ $size-s: map.get($tokens, size-s);
103
+
104
+ padding-right: calc(var(--mc-modal-size-close-width, map.get($tokens, modal-size-close-width)) + $size-s);
105
+ }
94
106
  }
95
107
 
96
108
  .mc-modal-body {
@@ -1,13 +1,7 @@
1
- @use 'sass:meta';
2
1
  @use 'sass:map';
3
2
 
4
3
  @use '../core/styles/typography/typography-utils' as *;
5
4
 
6
- @use '../core/styles/tokens';
7
-
8
-
9
- $tokens: meta.module-variables(tokens) !default;
10
-
11
5
  @mixin mc-navbar-theme($theme) {
12
6
  $background: map.get($theme, background);
13
7
  $primary: map.get($theme, primary);
@@ -103,6 +97,8 @@ button {
103
97
  }
104
98
 
105
99
  @mixin mc-navbar-typography($config) {
100
+ $tokens: map.get($config, tokens);
101
+
106
102
  .mc-navbar-title {
107
103
  @include mc-typography-level-to-styles($config, map.get($tokens, navbar-font-title));
108
104
  }
@@ -124,9 +124,9 @@ export declare class McNavbarItem extends McTooltipTrigger {
124
124
  collapsedText: string;
125
125
  get trigger(): string;
126
126
  set trigger(value: string);
127
- get collapsed(): boolean;
128
127
  set collapsed(value: boolean);
129
128
  private _collapsed;
129
+ isCollapsed: boolean;
130
130
  get croppedText(): string;
131
131
  get collapsable(): boolean;
132
132
  set collapsable(value: boolean);
@@ -144,8 +144,9 @@ export declare class McNavbarItem extends McTooltipTrigger {
144
144
  updateTooltip(): void;
145
145
  getTitleWidth(): number;
146
146
  onKeyDown($event: KeyboardEvent): void;
147
+ private updateCollapsedState;
147
148
  static ɵfac: i0.ɵɵFactoryDeclaration<McNavbarItem, [null, null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
148
- static ɵcmp: i0.ɵɵComponentDeclaration<McNavbarItem, "mc-navbar-item, [mc-navbar-item]", ["mcNavbarItem"], { "collapsedText": "collapsedText"; "trigger": "mcTrigger"; "collapsed": "collapsed"; "collapsable": "collapsable"; }, {}, ["title", "subTitle", "icon"], ["[mc-icon]", "mc-navbar-title, [mc-navbar-title]", "mc-navbar-subtitle, [mc-navbar-subtitle]", "*"], false, never>;
149
+ static ɵcmp: i0.ɵɵComponentDeclaration<McNavbarItem, "mc-navbar-item, [mc-navbar-item]", ["mcNavbarItem"], { "collapsedText": "collapsedText"; "trigger": "mcTrigger"; "collapsable": "collapsable"; }, {}, ["title", "subTitle", "icon"], ["[mc-icon]", "mc-navbar-title, [mc-navbar-title]", "mc-navbar-subtitle, [mc-navbar-subtitle]", "*"], false, never>;
149
150
  }
150
151
  export declare class McNavbarToggle extends McTooltipTrigger implements OnDestroy {
151
152
  navbar: McVerticalNavbar;
@@ -1,3 +1,4 @@
1
+ import { FocusMonitor } from '@angular/cdk/a11y';
1
2
  import { AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, OnDestroy, QueryList } from '@angular/core';
2
3
  import { FocusKeyManager } from '@ptsecurity/cdk/a11y';
3
4
  import { Observable, Subject } from 'rxjs';
@@ -6,6 +7,7 @@ import * as i0 from "@angular/core";
6
7
  export declare type McNavbarContainerPositionType = 'left' | 'right';
7
8
  export declare class McFocusableComponent implements AfterContentInit, OnDestroy {
8
9
  protected changeDetectorRef: ChangeDetectorRef;
10
+ private focusMonitor;
9
11
  focusableItems: QueryList<McNavbarFocusableItem>;
10
12
  keyManager: FocusKeyManager<McNavbarFocusableItem>;
11
13
  get tabIndex(): any;
@@ -16,7 +18,8 @@ export declare class McFocusableComponent implements AfterContentInit, OnDestroy
16
18
  protected readonly destroyed: Subject<void>;
17
19
  private optionFocusSubscription;
18
20
  private optionBlurSubscription;
19
- constructor(changeDetectorRef: ChangeDetectorRef);
21
+ private focusMonitorSubscription;
22
+ constructor(changeDetectorRef: ChangeDetectorRef, elementRef: ElementRef, focusMonitor: FocusMonitor);
20
23
  ngAfterContentInit(): void;
21
24
  ngOnDestroy(): void;
22
25
  focus(): void;
@@ -44,7 +47,7 @@ export declare class McNavbar extends McFocusableComponent implements AfterViewI
44
47
  private get totalItemsWidth();
45
48
  private get collapsableItems();
46
49
  private resizeSubscription;
47
- constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef);
50
+ constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, focusMonitor: FocusMonitor);
48
51
  ngAfterContentInit(): void;
49
52
  ngAfterViewInit(): void;
50
53
  ngOnDestroy(): void;
@@ -1,9 +1,11 @@
1
- import { AfterContentInit, ChangeDetectorRef, QueryList } from '@angular/core';
1
+ import { FocusMonitor } from '@angular/cdk/a11y';
2
+ import { AfterContentInit, ChangeDetectorRef, ElementRef, QueryList } from '@angular/core';
2
3
  import { Subject } from 'rxjs';
3
4
  import { McNavbarBento, McNavbarItem, McNavbarRectangleElement } from './navbar-item.component';
4
5
  import { McFocusableComponent } from './navbar.component';
5
6
  import * as i0 from "@angular/core";
6
7
  export declare class McVerticalNavbar extends McFocusableComponent implements AfterContentInit {
8
+ protected elementRef: ElementRef;
7
9
  rectangleElements: QueryList<McNavbarRectangleElement>;
8
10
  items: QueryList<McNavbarItem>;
9
11
  bento: McNavbarBento;
@@ -11,7 +13,7 @@ export declare class McVerticalNavbar extends McFocusableComponent implements Af
11
13
  get expanded(): boolean;
12
14
  set expanded(value: boolean);
13
15
  private _expanded;
14
- constructor(changeDetectorRef: ChangeDetectorRef);
16
+ constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, focusMonitor: FocusMonitor);
15
17
  ngAfterContentInit(): void;
16
18
  toggle(): void;
17
19
  onKeyDown(event: KeyboardEvent): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ptsecurity/mosaic",
3
- "version": "15.5.0",
3
+ "version": "15.7.2",
4
4
  "description": "Mosaic",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,19 +17,16 @@
17
17
  },
18
18
  "homepage": "https://gitlab.ptsecurity.com/frontend/design-system/mosaic/-/blob/master/README.md",
19
19
  "peerDependencies": {
20
- "@angular/animations": "^15.2.0",
21
- "@angular/cdk": "^15.2.0",
22
- "@angular/core": "^15.2.0",
23
- "@angular/common": "^15.2.0",
24
- "@angular/forms": "^15.2.0",
25
- "@ptsecurity/cdk": "^15.5.0",
26
- "@ptsecurity/mosaic-moment-adapter": "^1.1.0",
27
- "@ptsecurity/mosaic-luxon-adapter": "^1.1.0",
28
- "@mosaic-design/date-formatter": "^1.1.0",
29
- "@ptsecurity/mosaic-icons": "^6.6.2",
30
- "@mosaic-design/tokens-builder": "^1.3.0",
31
- "@mosaic-design/tokens-fe-2022": "^1.7.0",
32
- "@mosaic-design/tokens-legacy-2017": "^1.7.0"
20
+ "@angular/cdk": "15.2.9",
21
+ "@angular/forms": "15.2.9",
22
+ "@ptsecurity/cdk": "^15.7.2",
23
+ "@ptsecurity/mosaic-moment-adapter": "^15.7.2",
24
+ "@ptsecurity/mosaic-luxon-adapter": "^15.7.2",
25
+ "@mosaic-design/date-formatter": "1.1.0",
26
+ "@ptsecurity/mosaic-icons": "7.0.8",
27
+ "@mosaic-design/tokens-builder": "1.3.0",
28
+ "@mosaic-design/tokens-fe-2022": "1.7.0",
29
+ "@mosaic-design/tokens-legacy-2017": "1.7.0"
33
30
  },
34
31
  "dependencies": {
35
32
  "tslib": "^2.4.0"
@@ -1,13 +1,7 @@
1
- @use 'sass:meta';
2
1
  @use 'sass:map';
3
2
 
4
3
  @use '../core/styles/typography/typography-utils' as *;
5
4
 
6
- @use '../core/styles/tokens';
7
-
8
-
9
- $tokens: meta.module-variables(tokens) !default;
10
-
11
5
  @mixin mc-popover-theme($theme) {
12
6
  $foreground: map.get($theme, foreground);
13
7
 
@@ -99,6 +93,8 @@ $tokens: meta.module-variables(tokens) !default;
99
93
  }
100
94
 
101
95
  @mixin mc-popover-typography($config) {
96
+ $tokens: map.get($config, tokens);
97
+
102
98
  .mc-popover__header {
103
99
  @include mc-typography-level-to-styles($config, map.get($tokens, popover-header-font-default));
104
100
  }