@ptsecurity/mosaic 16.1.2 → 16.3.0

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 (113) hide show
  1. package/_theming.scss +121 -4
  2. package/checkbox/checkbox.scss +4 -7
  3. package/core/forms/_forms-theme.scss +112 -0
  4. package/core/locales/index.d.ts +0 -2
  5. package/core/pop-up/pop-up.d.ts +3 -0
  6. package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +3 -5
  7. package/core/styles/_core.scss +0 -1
  8. package/core/styles/theming/_scrollbars.scss +9 -3
  9. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +6 -6
  10. package/esm2022/button/button.component.mjs +6 -3
  11. package/esm2022/checkbox/checkbox.mjs +2 -2
  12. package/esm2022/code-block/actionbar.component.mjs +1 -1
  13. package/esm2022/core/formatters/index.mjs +4 -3
  14. package/esm2022/core/locales/index.mjs +1 -3
  15. package/esm2022/core/pop-up/pop-up.mjs +1 -1
  16. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +2 -2
  17. package/esm2022/core/version.mjs +2 -2
  18. package/esm2022/dropdown/dropdown-trigger.directive.mjs +3 -2
  19. package/esm2022/file-upload/file-drop.mjs +40 -3
  20. package/esm2022/file-upload/file-upload.mjs +1 -1
  21. package/esm2022/file-upload/multiple-file-upload.component.mjs +3 -3
  22. package/esm2022/file-upload/single-file-upload.component.mjs +1 -1
  23. package/esm2022/form-field/form-field.mjs +2 -2
  24. package/esm2022/form-field/validate.directive.mjs +9 -3
  25. package/esm2022/modal/modal.component.mjs +4 -9
  26. package/esm2022/navbar/navbar.component.mjs +3 -2
  27. package/esm2022/navbar/vertical-navbar.animation.mjs +2 -2
  28. package/esm2022/navbar/vertical-navbar.component.mjs +3 -2
  29. package/esm2022/select/select-option.directive.mjs +15 -3
  30. package/esm2022/select/select.component.mjs +29 -16
  31. package/esm2022/tabs/tab-group.component.mjs +1 -1
  32. package/esm2022/tags/tag-list.component.mjs +5 -4
  33. package/esm2022/timezone/timezone-select.component.mjs +3 -3
  34. package/esm2022/toast/toast-animations.mjs +2 -1
  35. package/esm2022/toast/toast-container.component.mjs +21 -7
  36. package/esm2022/toast/toast.component.mjs +7 -2
  37. package/esm2022/toast/toast.service.mjs +2 -1
  38. package/esm2022/toggle/toggle.component.mjs +3 -3
  39. package/esm2022/tooltip/tooltip.component.mjs +16 -4
  40. package/esm2022/tree/control/base-tree-control.mjs +1 -1
  41. package/esm2022/tree/control/flat-tree-control.filters.mjs +46 -0
  42. package/esm2022/tree/control/flat-tree-control.mjs +26 -44
  43. package/esm2022/tree/control/tree-control.mjs +1 -1
  44. package/esm2022/tree/padding.directive.mjs +2 -2
  45. package/esm2022/tree/public-api.mjs +2 -1
  46. package/esm2022/tree/toggle.mjs +2 -4
  47. package/esm2022/tree-select/tree-select.component.mjs +26 -10
  48. package/esm2022/tree-select/tree-select.module.mjs +6 -6
  49. package/fesm2022/ptsecurity-mosaic-autocomplete.mjs +5 -5
  50. package/fesm2022/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
  51. package/fesm2022/ptsecurity-mosaic-button.mjs +5 -2
  52. package/fesm2022/ptsecurity-mosaic-button.mjs.map +1 -1
  53. package/fesm2022/ptsecurity-mosaic-checkbox.mjs +2 -2
  54. package/fesm2022/ptsecurity-mosaic-checkbox.mjs.map +1 -1
  55. package/fesm2022/ptsecurity-mosaic-code-block.mjs +1 -1
  56. package/fesm2022/ptsecurity-mosaic-code-block.mjs.map +1 -1
  57. package/fesm2022/ptsecurity-mosaic-core.mjs +8 -10
  58. package/fesm2022/ptsecurity-mosaic-core.mjs.map +1 -1
  59. package/fesm2022/ptsecurity-mosaic-dropdown.mjs +2 -1
  60. package/fesm2022/ptsecurity-mosaic-dropdown.mjs.map +1 -1
  61. package/fesm2022/ptsecurity-mosaic-file-upload.mjs +41 -4
  62. package/fesm2022/ptsecurity-mosaic-file-upload.mjs.map +1 -1
  63. package/fesm2022/ptsecurity-mosaic-form-field.mjs +10 -4
  64. package/fesm2022/ptsecurity-mosaic-form-field.mjs.map +1 -1
  65. package/fesm2022/ptsecurity-mosaic-modal.mjs +3 -8
  66. package/fesm2022/ptsecurity-mosaic-modal.mjs.map +1 -1
  67. package/fesm2022/ptsecurity-mosaic-navbar.mjs +5 -3
  68. package/fesm2022/ptsecurity-mosaic-navbar.mjs.map +1 -1
  69. package/fesm2022/ptsecurity-mosaic-select.mjs +42 -17
  70. package/fesm2022/ptsecurity-mosaic-select.mjs.map +1 -1
  71. package/fesm2022/ptsecurity-mosaic-tabs.mjs +1 -1
  72. package/fesm2022/ptsecurity-mosaic-tabs.mjs.map +1 -1
  73. package/fesm2022/ptsecurity-mosaic-tags.mjs +4 -3
  74. package/fesm2022/ptsecurity-mosaic-tags.mjs.map +1 -1
  75. package/fesm2022/ptsecurity-mosaic-timezone.mjs +2 -2
  76. package/fesm2022/ptsecurity-mosaic-timezone.mjs.map +1 -1
  77. package/fesm2022/ptsecurity-mosaic-toast.mjs +25 -8
  78. package/fesm2022/ptsecurity-mosaic-toast.mjs.map +1 -1
  79. package/fesm2022/ptsecurity-mosaic-toggle.mjs +2 -2
  80. package/fesm2022/ptsecurity-mosaic-toggle.mjs.map +1 -1
  81. package/fesm2022/ptsecurity-mosaic-tooltip.mjs +15 -3
  82. package/fesm2022/ptsecurity-mosaic-tooltip.mjs.map +1 -1
  83. package/fesm2022/ptsecurity-mosaic-tree-select.mjs +30 -14
  84. package/fesm2022/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  85. package/fesm2022/ptsecurity-mosaic-tree.mjs +74 -48
  86. package/fesm2022/ptsecurity-mosaic-tree.mjs.map +1 -1
  87. package/file-upload/file-drop.d.ts +2 -1
  88. package/file-upload/file-upload.d.ts +4 -1
  89. package/file-upload/multiple-file-upload.component.d.ts +2 -2
  90. package/file-upload/single-file-upload.component.d.ts +2 -2
  91. package/form-field/form-field.scss +0 -2
  92. package/package.json +18 -18
  93. package/prebuilt-themes/dark-theme.css +1 -1
  94. package/prebuilt-themes/default-theme.css +1 -1
  95. package/select/select-option.directive.d.ts +2 -0
  96. package/select/select.component.d.ts +4 -3
  97. package/select/select.scss +4 -0
  98. package/tags/tag-list.scss +4 -0
  99. package/toast/toast-animations.d.ts +1 -0
  100. package/toast/toast-container.component.d.ts +7 -3
  101. package/toast/toast.component.d.ts +2 -0
  102. package/toast/toast.service.d.ts +2 -0
  103. package/toggle/_toggle-theme.scss +13 -1
  104. package/toggle/toggle.scss +6 -2
  105. package/tooltip/tooltip.component.d.ts +4 -1
  106. package/tree/control/base-tree-control.d.ts +1 -1
  107. package/tree/control/flat-tree-control.d.ts +5 -3
  108. package/tree/control/flat-tree-control.filters.d.ts +26 -0
  109. package/tree/control/tree-control.d.ts +1 -1
  110. package/tree/public-api.d.ts +1 -0
  111. package/tree-select/tree-select.component.d.ts +9 -3
  112. package/tree-select/tree-select.module.d.ts +1 -1
  113. package/core/forms/_forms.scss +0 -109
package/_theming.scss CHANGED
@@ -6796,7 +6796,9 @@ $dark-warning: mc-palette($dark-color-scheme-warning-palette, $dark-color-scheme
6796
6796
 
6797
6797
  .mc-scrollbar {
6798
6798
  //firefox
6799
- scrollbar-width: auto;
6799
+ @supports not selector(::-webkit-scrollbar) {
6800
+ scrollbar-width: thin;
6801
+ }
6800
6802
 
6801
6803
  // webkit
6802
6804
  &::-webkit-scrollbar,
@@ -6809,6 +6811,7 @@ $dark-warning: mc-palette($dark-color-scheme-warning-palette, $dark-color-scheme
6809
6811
  width: var(--mc-scrollbar-size-thumb-width, $scrollbar-size-thumb-width);
6810
6812
  border-width: var(--mc-scrollbar-size-thumb-inset-border-width, $scrollbar-size-thumb-border-width);
6811
6813
  border-radius: var(--mc-scrollbar-size-thumb-inset-border-radius, $scrollbar-size-thumb-border-radius);
6814
+ min-height: 20px;
6812
6815
  }
6813
6816
 
6814
6817
  &::-webkit-scrollbar-button,
@@ -6826,9 +6829,10 @@ $dark-warning: mc-palette($dark-color-scheme-warning-palette, $dark-color-scheme
6826
6829
  $arrow: map-get($scrollbar, arrow);
6827
6830
 
6828
6831
  .mc-scrollbar {
6829
-
6830
6832
  // firefox
6831
- scrollbar-color: map-get($thumb, normal) map-get($scrollbar, track);
6833
+ @supports not selector(::-webkit-scrollbar) {
6834
+ scrollbar-color: map-get($thumb, normal) map-get($scrollbar, track);
6835
+ }
6832
6836
 
6833
6837
  // webkit
6834
6838
  &::-webkit-scrollbar,
@@ -9823,7 +9827,11 @@ button {
9823
9827
  color: map-get($foreground, text-disabled);
9824
9828
 
9825
9829
  & .mc-toggle__overlay {
9826
- background: mc-color($background, overlay-disabled);
9830
+ background: rgba(255, 255, 255, 0.3);
9831
+ }
9832
+
9833
+ &.mc-active .mc-toggle__circle {
9834
+ background: white;
9827
9835
  }
9828
9836
  }
9829
9837
  }
@@ -9832,10 +9840,18 @@ button {
9832
9840
  @mixin mc-toggle-typography($config) {
9833
9841
  .mc-toggle:not(.mc-toggle_small) {
9834
9842
  @include mc-typography-level-to-styles($config, $toggle-font-default);
9843
+
9844
+ .mc-toggle-bar-outer-container {
9845
+ height: mc-line-height($config, $toggle-font-default);
9846
+ }
9835
9847
  }
9836
9848
 
9837
9849
  .mc-toggle.mc-toggle_small {
9838
9850
  @include mc-typography-level-to-styles($config, $toggle-small-font-default);
9851
+
9852
+ .mc-toggle-bar-outer-container {
9853
+ height: mc-line-height($config, $toggle-small-font-default);
9854
+ }
9839
9855
  }
9840
9856
  }
9841
9857
 
@@ -10244,8 +10260,109 @@ button {
10244
10260
 
10245
10261
 
10246
10262
 
10263
+ @mixin mc-form-geometry() {
10264
+ .mc-form {
10265
+ display: flex;
10266
+ flex-direction: column;
10267
+ }
10268
+
10269
+ .mc-form__row {
10270
+ display: flex;
10271
+ flex-direction: row;
10272
+ }
10273
+
10274
+ .mc-form-horizontal {
10275
+ $config: mc-typography-config();
10276
+
10277
+ $line-height: mc-line-height($config, body);
10278
+
10279
+ $label-padding-top: calc(($form-field-size-height - $line-height) / 2);
10280
+
10281
+ & .mc-form-row_margin {
10282
+ margin-bottom: var(
10283
+ --mc-forms-size-horizontal-row-margin-bottom, $forms-size-horizontal-row-margin-bottom
10284
+ );
10285
+ }
10286
+
10287
+ & .mc-form__label {
10288
+ padding-top: var(--mc-forms-size-horizontal-label-padding-top, $label-padding-top);
10289
+
10290
+ text-align: start;
10291
+ }
10292
+
10293
+ & .mc-form__control {
10294
+ padding-left: var(
10295
+ --mc-forms-size-horizontal-control-padding-left,
10296
+ $forms-size-horizontal-control-padding-left
10297
+ );
10298
+ }
10299
+
10300
+ & .mc-form__legend {
10301
+ margin-top: var(
10302
+ --mc-forms-size-horizontal-legend-margin-top, $forms-size-horizontal-legend-margin-top
10303
+ );
10304
+ margin-bottom: var(
10305
+ --mc-forms-size-horizontal-legend-margin-bottom,
10306
+ $forms-size-horizontal-legend-margin-bottom
10307
+ );
10308
+ }
10309
+ }
10310
+
10311
+ .mc-form-vertical {
10312
+ & .mc-form__row {
10313
+ flex-direction: column;
10314
+ }
10315
+
10316
+ & .mc-form-row_margin {
10317
+ margin-bottom: var(
10318
+ --mc-forms-size-vertical-row-margin-bottom, $forms-size-vertical-row-margin-bottom
10319
+ );
10320
+ }
10321
+
10322
+ & .mc-form__label {
10323
+ padding-top: var(
10324
+ --mc-forms-size-vertical-label-padding-top, $forms-size-vertical-label-padding-top
10325
+ );
10326
+ padding-bottom: var(
10327
+ --mc-forms-size-vertical-label-padding-bottom, $forms-size-vertical-label-padding-bottom
10328
+ );
10329
+
10330
+ text-align: start;
10331
+ }
10332
+
10333
+ & .mc-form__control {
10334
+ padding-left: 0;
10335
+ }
10336
+
10337
+ & .mc-form__legend {
10338
+ margin-top: var(
10339
+ --mc-forms-size-vertical-legend-margin-top, $forms-size-vertical-legend-margin-top
10340
+ );
10341
+ margin-bottom: var(
10342
+ --mc-forms-size-vertical-legend-margin-bottom, $forms-size-vertical-legend-margin-bottom
10343
+ );
10344
+ }
10345
+ }
10346
+
10347
+ .mc-form__fieldset {
10348
+ display: flex;
10349
+ flex-direction: column;
10350
+ }
10351
+
10352
+ .mc-form__fieldset.mc-horizontal {
10353
+ flex-direction: row;
10354
+
10355
+ & .mc-form__row:not(:first-child) {
10356
+ padding-left: var(
10357
+ --mc-forms-size-vertical-control-padding-left, $forms-size-vertical-control-padding-left
10358
+ );
10359
+ }
10360
+ }
10361
+ }
10247
10362
 
10248
10363
  @mixin mc-forms-theme($theme) {
10364
+ @include mc-form-geometry();
10365
+
10249
10366
  $foreground: map-get($theme, foreground);
10250
10367
 
10251
10368
  $forms: map-get(map-get($theme, components), forms);
@@ -22,18 +22,15 @@ $tokens: meta.module-variables(tokens) !default;
22
22
  .mc-checkbox-checkmark,
23
23
  .mc-checkbox-mixedmark {
24
24
  display: none;
25
-
26
- position: absolute;
27
-
28
- top: -1px;
29
- left: -1px;
30
- right: 0;
31
- bottom: 0;
32
25
  }
33
26
 
34
27
  .mc-checkbox-frame {
35
28
  @extend %mc-checkbox-outer-box;
36
29
 
30
+ display: flex;
31
+ align-items: center;
32
+ justify-content: center;
33
+
37
34
  background-color: transparent;
38
35
  border: {
39
36
  width: var(--mc-checkbox-size-border-width, map.get($tokens, checkbox-size-border-width));
@@ -3,7 +3,119 @@
3
3
 
4
4
  @use '../styles/typography' as *;
5
5
 
6
+ @mixin mc-form-geometry($tokens) {
7
+ .mc-form {
8
+ display: flex;
9
+ flex-direction: column;
10
+ }
11
+
12
+ .mc-form__row {
13
+ display: flex;
14
+ flex-direction: row;
15
+ }
16
+
17
+ .mc-form-horizontal {
18
+ $config: mc-typography-config($tokens);
19
+
20
+ $line-height: mc-line-height($config, body);
21
+
22
+ $form-field-size-height: map.get($tokens, form-field-size-height);
23
+
24
+ $label-padding-top: calc(($form-field-size-height - $line-height) / 2);
25
+
26
+ & .mc-form-row_margin {
27
+ margin-bottom: var(
28
+ --mc-forms-size-horizontal-row-margin-bottom,
29
+ #{map.get($tokens, forms-size-horizontal-row-margin-bottom)}
30
+ );
31
+ }
32
+
33
+ & .mc-form__label {
34
+ padding-top: var(--mc-forms-size-horizontal-label-padding-top, #{$label-padding-top});
35
+
36
+ text-align: start;
37
+ }
38
+
39
+ & .mc-form__control {
40
+ padding-left: var(
41
+ --mc-forms-size-horizontal-control-padding-left,
42
+ #{map.get($tokens, forms-size-horizontal-control-padding-left)}
43
+ );
44
+ }
45
+
46
+ & .mc-form__legend {
47
+ margin-top: var(
48
+ --mc-forms-size-horizontal-legend-margin-top,
49
+ #{map.get($tokens, forms-size-horizontal-legend-margin-top)}
50
+ );
51
+ margin-bottom: var(
52
+ --mc-forms-size-horizontal-legend-margin-bottom,
53
+ #{map.get($tokens, forms-size-horizontal-legend-margin-bottom)}
54
+ );
55
+ }
56
+ }
57
+
58
+ .mc-form-vertical {
59
+ & .mc-form__row {
60
+ flex-direction: column;
61
+ }
62
+
63
+ & .mc-form-row_margin {
64
+ margin-bottom: var(
65
+ --mc-forms-size-vertical-row-margin-bottom,
66
+ #{map.get($tokens, forms-size-vertical-row-margin-bottom)}
67
+ );
68
+ }
69
+
70
+ & .mc-form__label {
71
+ padding-top: var(
72
+ --mc-forms-size-vertical-label-padding-top,
73
+ #{map.get($tokens, forms-size-vertical-label-padding-top)}
74
+ );
75
+ padding-bottom: var(
76
+ --mc-forms-size-vertical-label-padding-bottom,
77
+ #{map.get($tokens, forms-size-vertical-label-padding-bottom)}
78
+ );
79
+
80
+ text-align: start;
81
+ }
82
+
83
+ & .mc-form__control {
84
+ padding-left: 0;
85
+ }
86
+
87
+ & .mc-form__legend {
88
+ margin-top: var(
89
+ --mc-forms-size-vertical-legend-margin-top,
90
+ #{map.get($tokens, forms-size-vertical-legend-margin-top)}
91
+ );
92
+ margin-bottom: var(
93
+ --mc-forms-size-vertical-legend-margin-bottom,
94
+ #{map.get($tokens, forms-size-vertical-legend-margin-bottom)}
95
+ );
96
+ }
97
+ }
98
+
99
+ .mc-form__fieldset {
100
+ display: flex;
101
+ flex-direction: column;
102
+ }
103
+
104
+ .mc-form__fieldset.mc-horizontal {
105
+ flex-direction: row;
106
+
107
+ & .mc-form__row:not(:first-child) {
108
+ padding-left: var(
109
+ --mc-forms-size-vertical-control-padding-left,
110
+ #{map.get($tokens, forms-size-vertical-control-padding-left)}
111
+ );
112
+ }
113
+ }
114
+ }
115
+
6
116
  @mixin mc-forms-theme($theme) {
117
+ @include mc-form-geometry(map.get($theme, tokens));
118
+
7
119
  $foreground: map.get($theme, foreground);
8
120
 
9
121
  $forms: map.get(map.get($theme, components), forms);
@@ -1,4 +1,2 @@
1
- import { InjectionToken } from '@angular/core';
2
1
  export * from './locale-service';
3
2
  export * from './locale-service.module';
4
- export declare const MC_LOCALE_ID: InjectionToken<string>;
@@ -7,6 +7,9 @@ export declare abstract class McPopUp implements OnDestroy {
7
7
  private changeDetectorRef;
8
8
  header: string | TemplateRef<any>;
9
9
  content: string | TemplateRef<any>;
10
+ context: {
11
+ $implicit: any;
12
+ } | null;
10
13
  classMap: {};
11
14
  warning: boolean;
12
15
  visibility: PopUpVisibility;
@@ -8,7 +8,7 @@ $tokens: meta.module-variables(tokens) !default;
8
8
 
9
9
  .mc-pseudo-checkbox {
10
10
  position: relative;
11
- display: inline-block;
11
+ display: inline-flex;
12
12
  box-sizing: border-box;
13
13
 
14
14
  width: var(--mc-checkbox-size-width, map.get($tokens, checkbox-size-width));
@@ -24,14 +24,12 @@ $tokens: meta.module-variables(tokens) !default;
24
24
 
25
25
  vertical-align: middle;
26
26
  flex-shrink: 0;
27
+ align-items: center;
28
+ justify-content: center;
27
29
 
28
30
  & .mc-checkbox-checkmark,
29
31
  & .mc-checkbox-mixedmark {
30
32
  display: none;
31
-
32
- position: absolute;
33
- top: calc(-1 * var(--mc-checkbox-size-border-width, #{map.get($tokens, checkbox-size-border-width)}));
34
- left: calc(-1 * var(--mc-checkbox-size-border-width, #{map.get($tokens, checkbox-size-border-width)}));
35
33
  }
36
34
 
37
35
  &.mc-pseudo-checkbox-checked,
@@ -3,7 +3,6 @@
3
3
  @use 'common/overlay' as *;
4
4
  @use 'common/visually-hidden' as *;
5
5
 
6
-
7
6
  // Mixin that renders all of the core styles that are not theme-dependent.
8
7
  @mixin mc-core() {
9
8
  @include a11y-visually-hidden();
@@ -5,7 +5,9 @@
5
5
 
6
6
  .mc-scrollbar {
7
7
  //firefox
8
- scrollbar-width: auto;
8
+ @supports not selector(::-webkit-scrollbar) {
9
+ scrollbar-width: thin;
10
+ }
9
11
  }
10
12
 
11
13
  @mixin mc-scrollbar-theme($theme) {
@@ -14,8 +16,12 @@
14
16
  $arrow: map.get($scrollbar, arrow);
15
17
 
16
18
  .mc-scrollbar {
19
+ @include mc-scrollbar-geometry(map.get($theme, tokens));
20
+
17
21
  // firefox
18
- scrollbar-color: map.get($thumb, normal) map.get($scrollbar, track);
22
+ @supports not selector(::-webkit-scrollbar) {
23
+ scrollbar-color: map-get($thumb, normal) map-get($scrollbar, track);
24
+ }
19
25
 
20
26
  // webkit
21
27
  &::-webkit-scrollbar,
@@ -84,7 +90,6 @@
84
90
  }
85
91
  }
86
92
  /* stylelint-enable */
87
- @include mc-scrollbar-geometry(map.get($theme, tokens));
88
93
  }
89
94
  }
90
95
 
@@ -106,6 +111,7 @@
106
111
  --mc-scrollbar-size-thumb-inset-border-radius,
107
112
  map.get($tokens, scrollbar-size-thumb-border-radius)
108
113
  );
114
+ min-height: 20px;
109
115
  }
110
116
 
111
117
  &::-webkit-scrollbar-button,