@ptsecurity/mosaic 15.6.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 (124) hide show
  1. package/_theming.scss +19 -0
  2. package/_visual.scss +2 -0
  3. package/autocomplete/autocomplete-trigger.directive.d.ts +5 -15
  4. package/checkbox/_checkbox-theme.scss +4 -0
  5. package/core/formatters/index.d.ts +1 -1
  6. package/core/formatters/number/formatter.d.ts +25 -0
  7. package/core/locales/en-US.d.ts +1 -2
  8. package/core/locales/es-LA.d.ts +9 -0
  9. package/core/locales/fa-IR.d.ts +9 -0
  10. package/core/locales/locale-service.d.ts +39 -5
  11. package/core/locales/pt-BR.d.ts +9 -0
  12. package/core/locales/ru-RU.d.ts +1 -2
  13. package/core/locales/zh-CN.d.ts +9 -0
  14. package/core/option/option.d.ts +36 -7
  15. package/core/overlay/overlay-position-map.d.ts +7 -1
  16. package/core/styles/_variables.scss +1 -0
  17. package/core/styles/theming/_theming.scss +1 -0
  18. package/datepicker/calendar-header.component.d.ts +8 -2
  19. package/datepicker/calendar.component.d.ts +3 -4
  20. package/datepicker/month-view.component.d.ts +3 -4
  21. package/esm2020/autocomplete/autocomplete-trigger.directive.mjs +27 -24
  22. package/esm2020/core/formatters/index.mjs +6 -2
  23. package/esm2020/core/formatters/number/formatter.mjs +90 -1
  24. package/esm2020/core/locales/en-US.mjs +3 -4
  25. package/esm2020/core/locales/es-LA.mjs +11 -2
  26. package/esm2020/core/locales/fa-IR.mjs +11 -2
  27. package/esm2020/core/locales/locale-service.mjs +4 -4
  28. package/esm2020/core/locales/pt-BR.mjs +11 -2
  29. package/esm2020/core/locales/ru-RU.mjs +3 -4
  30. package/esm2020/core/locales/zh-CN.mjs +11 -2
  31. package/esm2020/core/option/option.mjs +43 -7
  32. package/esm2020/core/overlay/overlay-position-map.mjs +7 -1
  33. package/esm2020/core/version.mjs +2 -2
  34. package/esm2020/datepicker/calendar-header.component.mjs +8 -7
  35. package/esm2020/datepicker/calendar.component.mjs +5 -14
  36. package/esm2020/datepicker/datepicker-input.directive.mjs +7 -6
  37. package/esm2020/datepicker/month-view.component.mjs +6 -15
  38. package/esm2020/file-upload/multiple-file-upload.component.mjs +9 -5
  39. package/esm2020/file-upload/single-file-upload.component.mjs +10 -6
  40. package/esm2020/loader-overlay/loader-overlay.component.mjs +2 -2
  41. package/esm2020/modal/modal.component.mjs +6 -5
  42. package/esm2020/modal/modal.module.mjs +8 -4
  43. package/esm2020/navbar/navbar.component.mjs +18 -9
  44. package/esm2020/navbar/vertical-navbar.component.mjs +9 -6
  45. package/esm2020/select/select.component.mjs +23 -9
  46. package/esm2020/tabs/tab.component.mjs +13 -4
  47. package/esm2020/timezone/timezone-select.component.mjs +2 -2
  48. package/esm2020/title/title.directive.mjs +2 -2
  49. package/esm2020/toast/toast.module.mjs +10 -4
  50. package/esm2020/tree/tree-option.component.mjs +6 -3
  51. package/esm2020/tree/tree-selection.component.mjs +6 -5
  52. package/esm2020/tree-select/tree-select.component.mjs +3 -3
  53. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +30 -24
  54. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
  55. package/fesm2015/ptsecurity-mosaic-core.mjs +189 -22
  56. package/fesm2015/ptsecurity-mosaic-core.mjs.map +1 -1
  57. package/fesm2015/ptsecurity-mosaic-datepicker.mjs +20 -36
  58. package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +1 -1
  59. package/fesm2015/ptsecurity-mosaic-file-upload.mjs +15 -7
  60. package/fesm2015/ptsecurity-mosaic-file-upload.mjs.map +1 -1
  61. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs +2 -2
  62. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
  63. package/fesm2015/ptsecurity-mosaic-modal.mjs +10 -5
  64. package/fesm2015/ptsecurity-mosaic-modal.mjs.map +1 -1
  65. package/fesm2015/ptsecurity-mosaic-navbar.mjs +23 -15
  66. package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +1 -1
  67. package/fesm2015/ptsecurity-mosaic-select.mjs +23 -8
  68. package/fesm2015/ptsecurity-mosaic-select.mjs.map +1 -1
  69. package/fesm2015/ptsecurity-mosaic-tabs.mjs +12 -3
  70. package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +1 -1
  71. package/fesm2015/ptsecurity-mosaic-timezone.mjs +2 -2
  72. package/fesm2015/ptsecurity-mosaic-timezone.mjs.map +1 -1
  73. package/fesm2015/ptsecurity-mosaic-title.mjs +1 -1
  74. package/fesm2015/ptsecurity-mosaic-title.mjs.map +1 -1
  75. package/fesm2015/ptsecurity-mosaic-toast.mjs +8 -2
  76. package/fesm2015/ptsecurity-mosaic-toast.mjs.map +1 -1
  77. package/fesm2015/ptsecurity-mosaic-tree-select.mjs +2 -2
  78. package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  79. package/fesm2015/ptsecurity-mosaic-tree.mjs +11 -6
  80. package/fesm2015/ptsecurity-mosaic-tree.mjs.map +1 -1
  81. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs +27 -24
  82. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
  83. package/fesm2020/ptsecurity-mosaic-core.mjs +189 -21
  84. package/fesm2020/ptsecurity-mosaic-core.mjs.map +1 -1
  85. package/fesm2020/ptsecurity-mosaic-datepicker.mjs +20 -36
  86. package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +1 -1
  87. package/fesm2020/ptsecurity-mosaic-file-upload.mjs +15 -7
  88. package/fesm2020/ptsecurity-mosaic-file-upload.mjs.map +1 -1
  89. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs +2 -2
  90. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
  91. package/fesm2020/ptsecurity-mosaic-modal.mjs +10 -5
  92. package/fesm2020/ptsecurity-mosaic-modal.mjs.map +1 -1
  93. package/fesm2020/ptsecurity-mosaic-navbar.mjs +23 -15
  94. package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +1 -1
  95. package/fesm2020/ptsecurity-mosaic-select.mjs +22 -8
  96. package/fesm2020/ptsecurity-mosaic-select.mjs.map +1 -1
  97. package/fesm2020/ptsecurity-mosaic-tabs.mjs +12 -3
  98. package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +1 -1
  99. package/fesm2020/ptsecurity-mosaic-timezone.mjs +2 -2
  100. package/fesm2020/ptsecurity-mosaic-timezone.mjs.map +1 -1
  101. package/fesm2020/ptsecurity-mosaic-title.mjs +1 -1
  102. package/fesm2020/ptsecurity-mosaic-title.mjs.map +1 -1
  103. package/fesm2020/ptsecurity-mosaic-toast.mjs +8 -2
  104. package/fesm2020/ptsecurity-mosaic-toast.mjs.map +1 -1
  105. package/fesm2020/ptsecurity-mosaic-tree-select.mjs +2 -2
  106. package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  107. package/fesm2020/ptsecurity-mosaic-tree.mjs +10 -6
  108. package/fesm2020/ptsecurity-mosaic-tree.mjs.map +1 -1
  109. package/file-upload/multiple-file-upload.component.d.ts +4 -3
  110. package/file-upload/single-file-upload.component.d.ts +4 -3
  111. package/form-field/_form-field-theme.scss +4 -0
  112. package/loader-overlay/loader-overlay.scss +3 -0
  113. package/modal/modal.module.d.ts +2 -1
  114. package/modal/modal.scss +14 -2
  115. package/navbar/navbar.component.d.ts +5 -2
  116. package/navbar/vertical-navbar.component.d.ts +4 -2
  117. package/package.json +4 -7
  118. package/prebuilt-themes/dark-theme.css +1 -1
  119. package/prebuilt-themes/default-theme.css +1 -1
  120. package/prebuilt-visual/default-visual.css +1 -1
  121. package/radio/_radio-theme.scss +4 -0
  122. package/select/select.component.d.ts +12 -9
  123. package/select/select.scss +1 -1
  124. package/tree/tree-option.scss +4 -2
@@ -1,10 +1,11 @@
1
1
  import { Directionality } from '@angular/cdk/bidi';
2
2
  import { SelectionModel } from '@angular/cdk/collections';
3
3
  import { CdkConnectedOverlay, ConnectedPosition } from '@angular/cdk/overlay';
4
+ import { CdkVirtualForOf } from '@angular/cdk/scrolling';
4
5
  import { AfterContentInit, AfterViewInit, ChangeDetectorRef, DoCheck, ElementRef, EventEmitter, NgZone, OnChanges, OnDestroy, OnInit, QueryList, Renderer2, SimpleChanges, TemplateRef } from '@angular/core';
5
6
  import { ControlValueAccessor, FormGroupDirective, NgControl, NgForm } from '@angular/forms';
6
7
  import { ActiveDescendantKeyManager } from '@ptsecurity/cdk/a11y';
7
- import { CanDisable, CanDisableCtor, CanUpdateErrorState, CanUpdateErrorStateCtor, ErrorStateMatcher, HasTabIndex, HasTabIndexCtor, McOptgroup, McOption, McOptionSelectionChange, McLocaleService } from '@ptsecurity/mosaic/core';
8
+ import { CanDisable, CanDisableCtor, CanUpdateErrorState, CanUpdateErrorStateCtor, ErrorStateMatcher, HasTabIndex, HasTabIndexCtor, McOptgroup, McOption, McOptionSelectionChange, McLocaleService, McOptionBase } from '@ptsecurity/mosaic/core';
8
9
  import { McCleaner, McFormField, McFormFieldControl } from '@ptsecurity/mosaic/form-field';
9
10
  import { McInput } from '@ptsecurity/mosaic/input';
10
11
  import { McTag } from '@ptsecurity/mosaic/tags';
@@ -78,8 +79,8 @@ export declare class McSelect extends McSelectMixinBase implements AfterContentI
78
79
  /** The cached font-size of the trigger element. */
79
80
  triggerFontSize: number;
80
81
  /** Deals with the selection logic. */
81
- selectionModel: SelectionModel<McOption>;
82
- previousSelectionModelSelected: McOption[];
82
+ selectionModel: SelectionModel<McOptionBase>;
83
+ previousSelectionModelSelected: McOptionBase[];
83
84
  /** Manages keyboard events for options in the panel. */
84
85
  keyManager: ActiveDescendantKeyManager<McOption>;
85
86
  /** The value of the select panel's transform-origin property. */
@@ -105,6 +106,7 @@ export declare class McSelect extends McSelectMixinBase implements AfterContentI
105
106
  panel: ElementRef;
106
107
  optionsContainer: ElementRef;
107
108
  overlayDir: CdkConnectedOverlay;
109
+ cdkVirtualForOf?: CdkVirtualForOf<any>;
108
110
  tags: QueryList<McTag>;
109
111
  /** User-supplied override of the trigger element. */
110
112
  customTrigger: McSelectTrigger;
@@ -128,7 +130,7 @@ export declare class McSelect extends McSelectMixinBase implements AfterContentI
128
130
  * Function used to sort the values in a select in multiple mode.
129
131
  * Follows the same logic as `Array.prototype.sort`.
130
132
  */
131
- sortComparator: (a: McOption, b: McOption, options: McOption[]) => number;
133
+ sortComparator: (a: McOptionBase, b: McOptionBase, options: McOptionBase[]) => number;
132
134
  /** Combined stream of all of the child options' change events. */
133
135
  readonly optionSelectionChanges: Observable<McOptionSelectionChange>;
134
136
  /** Event emitted when the select panel has been toggled. */
@@ -177,13 +179,14 @@ export declare class McSelect extends McSelectMixinBase implements AfterContentI
177
179
  /** Whether the select is focused. */
178
180
  get focused(): boolean;
179
181
  set focused(value: boolean);
180
- private _focused;
181
182
  panelOpen: boolean;
183
+ private _focused;
184
+ private withVirtualScroll;
182
185
  get isEmptySearchResult(): boolean;
183
186
  get canShowCleaner(): boolean;
184
- get selected(): McOption | McOption[];
187
+ get selected(): McOptionBase | McOptionBase[];
185
188
  get triggerValue(): string;
186
- get triggerValues(): McOption[];
189
+ get triggerValues(): McOptionBase[];
187
190
  get empty(): boolean;
188
191
  private closeSubscription;
189
192
  /** The scroll position of the overlay panel, calculated to center the selected option. */
@@ -265,7 +268,7 @@ export declare class McSelect extends McSelectMixinBase implements AfterContentI
265
268
  */
266
269
  onContainerClick(): void;
267
270
  /** Invoked when an option is clicked. */
268
- onRemoveMatcherItem(option: McOption, $event: any): void;
271
+ onRemoveMatcherItem(option: McOptionBase, $event: any): void;
269
272
  calculateHiddenItems(): void;
270
273
  getItemHeight(): number;
271
274
  private updateLocaleParams;
@@ -325,6 +328,6 @@ export declare class McSelect extends McSelectMixinBase implements AfterContentI
325
328
  private getTotalVisibleItems;
326
329
  private buildTriggerClone;
327
330
  static ɵfac: i0.ɵɵFactoryDeclaration<McSelect, [null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; self: true; }, null, { optional: true; }]>;
328
- static ɵcmp: i0.ɵɵComponentDeclaration<McSelect, "mc-select", ["mcSelect"], { "disabled": "disabled"; "tabIndex": "tabIndex"; "hiddenItemsText": "hiddenItemsText"; "panelClass": "panelClass"; "backdropClass": "backdropClass"; "errorStateMatcher": "errorStateMatcher"; "sortComparator": "sortComparator"; "hasBackdrop": "hasBackdrop"; "placeholder": "placeholder"; "required": "required"; "multiple": "multiple"; "compareWith": "compareWith"; "value": "value"; "id": "id"; "hiddenItemsTextFormatter": "hiddenItemsTextFormatter"; }, { "openedChange": "openedChange"; "openedStream": "opened"; "closedStream": "closed"; "selectionChange": "selectionChange"; "valueChange": "valueChange"; }, ["customTrigger", "customMatcher", "customTagTemplateRef", "cleaner", "search", "options", "optionGroups"], ["mc-select-trigger, [mc-select-trigger]", "mc-cleaner", "mc-select-matcher, [mc-select-matcher]", "[mcSelectSearch]", "[mc-select-search-empty-result]", "*", "mc-select-footer,[mc-select-footer]"], false, never>;
331
+ static ɵcmp: i0.ɵɵComponentDeclaration<McSelect, "mc-select", ["mcSelect"], { "disabled": "disabled"; "tabIndex": "tabIndex"; "hiddenItemsText": "hiddenItemsText"; "panelClass": "panelClass"; "backdropClass": "backdropClass"; "errorStateMatcher": "errorStateMatcher"; "sortComparator": "sortComparator"; "hasBackdrop": "hasBackdrop"; "placeholder": "placeholder"; "required": "required"; "multiple": "multiple"; "compareWith": "compareWith"; "value": "value"; "id": "id"; "hiddenItemsTextFormatter": "hiddenItemsTextFormatter"; }, { "openedChange": "openedChange"; "openedStream": "opened"; "closedStream": "closed"; "selectionChange": "selectionChange"; "valueChange": "valueChange"; }, ["cdkVirtualForOf", "customTrigger", "customMatcher", "customTagTemplateRef", "cleaner", "search", "options", "optionGroups"], ["mc-select-trigger, [mc-select-trigger]", "mc-cleaner", "mc-select-matcher, [mc-select-matcher]", "[mcSelectSearch]", "[mc-select-search-empty-result]", "*", "mc-select-footer,[mc-select-footer]"], false, never>;
329
332
  }
330
333
  export {};
@@ -201,7 +201,7 @@ $tokens: meta.module-variables(tokens) !default;
201
201
  padding: var(--mc-select-panel-size-vertical-padding, map.get($tokens, select-panel-size-vertical-padding)) 0;
202
202
  overflow: hidden auto;
203
203
 
204
- & .cdk-virtual-scroll-viewport {
204
+ &:not(:has(> .mc-select__no-options-message)) .cdk-virtual-scroll-viewport {
205
205
  $paddings: (map.get($tokens, select-panel-size-vertical-padding) * 2);
206
206
 
207
207
  min-height: calc(
@@ -2,11 +2,14 @@
2
2
  @use 'sass:map';
3
3
 
4
4
  @use '../core/styles/tokens';
5
+ @use '../core/styles/common/list';
5
6
 
6
7
 
7
8
  $tokens: meta.module-variables(tokens) !default;
8
9
 
9
10
  .mc-tree-option {
11
+ @include list.mc-no-select;
12
+
10
13
  box-sizing: border-box;
11
14
 
12
15
  display: flex;
@@ -48,8 +51,7 @@ $tokens: meta.module-variables(tokens) !default;
48
51
  cursor: pointer;
49
52
  }
50
53
 
51
- & > .mc-pseudo-checkbox,
52
- & > .mc-checkbox {
54
+ & > .mc-pseudo-checkbox {
53
55
  margin-right: var(--mc-tree-size-icon-padding, map.get($tokens, tree-size-icon-padding));
54
56
  }
55
57