@ptsecurity/mosaic 15.6.0 → 15.8.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 (217) hide show
  1. package/_theming.scss +140 -4
  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/checkbox/checkbox.scss +4 -7
  6. package/core/formatters/index.d.ts +1 -1
  7. package/core/formatters/number/formatter.d.ts +25 -0
  8. package/core/forms/_forms-theme.scss +112 -0
  9. package/core/locales/en-US.d.ts +1 -2
  10. package/core/locales/es-LA.d.ts +9 -0
  11. package/core/locales/fa-IR.d.ts +9 -0
  12. package/core/locales/index.d.ts +0 -2
  13. package/core/locales/locale-service.d.ts +39 -5
  14. package/core/locales/pt-BR.d.ts +9 -0
  15. package/core/locales/ru-RU.d.ts +1 -2
  16. package/core/locales/zh-CN.d.ts +9 -0
  17. package/core/option/option.d.ts +36 -7
  18. package/core/overlay/overlay-position-map.d.ts +7 -1
  19. package/core/pop-up/pop-up.d.ts +3 -0
  20. package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +3 -5
  21. package/core/styles/_core.scss +0 -1
  22. package/core/styles/_variables.scss +1 -0
  23. package/core/styles/theming/_scrollbars.scss +9 -3
  24. package/core/styles/theming/_theming.scss +1 -0
  25. package/datepicker/calendar-header.component.d.ts +8 -2
  26. package/datepicker/calendar.component.d.ts +3 -4
  27. package/datepicker/month-view.component.d.ts +3 -4
  28. package/esm2020/autocomplete/autocomplete-trigger.directive.mjs +27 -24
  29. package/esm2020/button/button.component.mjs +6 -3
  30. package/esm2020/checkbox/checkbox.mjs +2 -2
  31. package/esm2020/code-block/actionbar.component.mjs +1 -1
  32. package/esm2020/core/formatters/index.mjs +9 -4
  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/index.mjs +1 -3
  38. package/esm2020/core/locales/locale-service.mjs +4 -4
  39. package/esm2020/core/locales/pt-BR.mjs +11 -2
  40. package/esm2020/core/locales/ru-RU.mjs +3 -4
  41. package/esm2020/core/locales/zh-CN.mjs +11 -2
  42. package/esm2020/core/option/option.mjs +43 -7
  43. package/esm2020/core/overlay/overlay-position-map.mjs +7 -1
  44. package/esm2020/core/pop-up/pop-up.mjs +1 -1
  45. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +2 -2
  46. package/esm2020/core/version.mjs +2 -2
  47. package/esm2020/datepicker/calendar-header.component.mjs +8 -7
  48. package/esm2020/datepicker/calendar.component.mjs +5 -14
  49. package/esm2020/datepicker/datepicker-input.directive.mjs +7 -6
  50. package/esm2020/datepicker/month-view.component.mjs +6 -15
  51. package/esm2020/dropdown/dropdown-trigger.directive.mjs +3 -2
  52. package/esm2020/file-upload/file-drop.mjs +40 -3
  53. package/esm2020/file-upload/file-upload.mjs +1 -1
  54. package/esm2020/file-upload/multiple-file-upload.component.mjs +11 -7
  55. package/esm2020/file-upload/single-file-upload.component.mjs +10 -6
  56. package/esm2020/form-field/form-field.mjs +2 -2
  57. package/esm2020/form-field/validate.directive.mjs +9 -3
  58. package/esm2020/loader-overlay/loader-overlay.component.mjs +2 -2
  59. package/esm2020/modal/modal.component.mjs +7 -11
  60. package/esm2020/modal/modal.module.mjs +8 -4
  61. package/esm2020/navbar/navbar.component.mjs +20 -10
  62. package/esm2020/navbar/vertical-navbar.animation.mjs +2 -2
  63. package/esm2020/navbar/vertical-navbar.component.mjs +11 -7
  64. package/esm2020/popover/popover.component.mjs +2 -2
  65. package/esm2020/select/select-option.directive.mjs +15 -3
  66. package/esm2020/select/select.component.mjs +49 -22
  67. package/esm2020/tabs/tab-group.component.mjs +1 -1
  68. package/esm2020/tabs/tab.component.mjs +13 -4
  69. package/esm2020/tags/tag-list.component.mjs +5 -4
  70. package/esm2020/timezone/timezone-select.component.mjs +3 -3
  71. package/esm2020/title/title.directive.mjs +2 -2
  72. package/esm2020/toast/toast-animations.mjs +2 -1
  73. package/esm2020/toast/toast-container.component.mjs +21 -7
  74. package/esm2020/toast/toast.component.mjs +7 -2
  75. package/esm2020/toast/toast.module.mjs +10 -4
  76. package/esm2020/toast/toast.service.mjs +2 -1
  77. package/esm2020/toggle/toggle.component.mjs +3 -3
  78. package/esm2020/tooltip/tooltip.component.mjs +16 -4
  79. package/esm2020/tree/control/base-tree-control.mjs +1 -1
  80. package/esm2020/tree/control/flat-tree-control.filters.mjs +46 -0
  81. package/esm2020/tree/control/flat-tree-control.mjs +26 -44
  82. package/esm2020/tree/control/tree-control.mjs +1 -1
  83. package/esm2020/tree/padding.directive.mjs +2 -2
  84. package/esm2020/tree/public-api.mjs +2 -1
  85. package/esm2020/tree/toggle.mjs +2 -4
  86. package/esm2020/tree/tree-option.component.mjs +6 -3
  87. package/esm2020/tree/tree-selection.component.mjs +6 -5
  88. package/esm2020/tree-select/tree-select.component.mjs +28 -12
  89. package/esm2020/tree-select/tree-select.module.mjs +6 -6
  90. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +30 -24
  91. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
  92. package/fesm2015/ptsecurity-mosaic-button.mjs +5 -2
  93. package/fesm2015/ptsecurity-mosaic-button.mjs.map +1 -1
  94. package/fesm2015/ptsecurity-mosaic-checkbox.mjs +2 -2
  95. package/fesm2015/ptsecurity-mosaic-checkbox.mjs.map +1 -1
  96. package/fesm2015/ptsecurity-mosaic-code-block.mjs +1 -1
  97. package/fesm2015/ptsecurity-mosaic-code-block.mjs.map +1 -1
  98. package/fesm2015/ptsecurity-mosaic-core.mjs +196 -31
  99. package/fesm2015/ptsecurity-mosaic-core.mjs.map +1 -1
  100. package/fesm2015/ptsecurity-mosaic-datepicker.mjs +20 -36
  101. package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +1 -1
  102. package/fesm2015/ptsecurity-mosaic-dropdown.mjs +2 -1
  103. package/fesm2015/ptsecurity-mosaic-dropdown.mjs.map +1 -1
  104. package/fesm2015/ptsecurity-mosaic-file-upload.mjs +57 -11
  105. package/fesm2015/ptsecurity-mosaic-file-upload.mjs.map +1 -1
  106. package/fesm2015/ptsecurity-mosaic-form-field.mjs +10 -3
  107. package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +1 -1
  108. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs +2 -2
  109. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
  110. package/fesm2015/ptsecurity-mosaic-modal.mjs +12 -12
  111. package/fesm2015/ptsecurity-mosaic-modal.mjs.map +1 -1
  112. package/fesm2015/ptsecurity-mosaic-navbar.mjs +28 -18
  113. package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +1 -1
  114. package/fesm2015/ptsecurity-mosaic-popover.mjs +1 -1
  115. package/fesm2015/ptsecurity-mosaic-popover.mjs.map +1 -1
  116. package/fesm2015/ptsecurity-mosaic-select.mjs +64 -24
  117. package/fesm2015/ptsecurity-mosaic-select.mjs.map +1 -1
  118. package/fesm2015/ptsecurity-mosaic-tabs.mjs +13 -4
  119. package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +1 -1
  120. package/fesm2015/ptsecurity-mosaic-tags.mjs +4 -3
  121. package/fesm2015/ptsecurity-mosaic-tags.mjs.map +1 -1
  122. package/fesm2015/ptsecurity-mosaic-timezone.mjs +2 -2
  123. package/fesm2015/ptsecurity-mosaic-timezone.mjs.map +1 -1
  124. package/fesm2015/ptsecurity-mosaic-title.mjs +1 -1
  125. package/fesm2015/ptsecurity-mosaic-title.mjs.map +1 -1
  126. package/fesm2015/ptsecurity-mosaic-toast.mjs +35 -10
  127. package/fesm2015/ptsecurity-mosaic-toast.mjs.map +1 -1
  128. package/fesm2015/ptsecurity-mosaic-toggle.mjs +2 -2
  129. package/fesm2015/ptsecurity-mosaic-toggle.mjs.map +1 -1
  130. package/fesm2015/ptsecurity-mosaic-tooltip.mjs +15 -3
  131. package/fesm2015/ptsecurity-mosaic-tooltip.mjs.map +1 -1
  132. package/fesm2015/ptsecurity-mosaic-tree-select.mjs +33 -16
  133. package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  134. package/fesm2015/ptsecurity-mosaic-tree.mjs +85 -54
  135. package/fesm2015/ptsecurity-mosaic-tree.mjs.map +1 -1
  136. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs +27 -24
  137. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
  138. package/fesm2020/ptsecurity-mosaic-button.mjs +5 -2
  139. package/fesm2020/ptsecurity-mosaic-button.mjs.map +1 -1
  140. package/fesm2020/ptsecurity-mosaic-checkbox.mjs +2 -2
  141. package/fesm2020/ptsecurity-mosaic-checkbox.mjs.map +1 -1
  142. package/fesm2020/ptsecurity-mosaic-code-block.mjs +1 -1
  143. package/fesm2020/ptsecurity-mosaic-code-block.mjs.map +1 -1
  144. package/fesm2020/ptsecurity-mosaic-core.mjs +196 -30
  145. package/fesm2020/ptsecurity-mosaic-core.mjs.map +1 -1
  146. package/fesm2020/ptsecurity-mosaic-datepicker.mjs +20 -36
  147. package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +1 -1
  148. package/fesm2020/ptsecurity-mosaic-dropdown.mjs +2 -1
  149. package/fesm2020/ptsecurity-mosaic-dropdown.mjs.map +1 -1
  150. package/fesm2020/ptsecurity-mosaic-file-upload.mjs +56 -11
  151. package/fesm2020/ptsecurity-mosaic-file-upload.mjs.map +1 -1
  152. package/fesm2020/ptsecurity-mosaic-form-field.mjs +10 -4
  153. package/fesm2020/ptsecurity-mosaic-form-field.mjs.map +1 -1
  154. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs +2 -2
  155. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
  156. package/fesm2020/ptsecurity-mosaic-modal.mjs +11 -11
  157. package/fesm2020/ptsecurity-mosaic-modal.mjs.map +1 -1
  158. package/fesm2020/ptsecurity-mosaic-navbar.mjs +28 -18
  159. package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +1 -1
  160. package/fesm2020/ptsecurity-mosaic-popover.mjs +1 -1
  161. package/fesm2020/ptsecurity-mosaic-popover.mjs.map +1 -1
  162. package/fesm2020/ptsecurity-mosaic-select.mjs +62 -23
  163. package/fesm2020/ptsecurity-mosaic-select.mjs.map +1 -1
  164. package/fesm2020/ptsecurity-mosaic-tabs.mjs +13 -4
  165. package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +1 -1
  166. package/fesm2020/ptsecurity-mosaic-tags.mjs +4 -3
  167. package/fesm2020/ptsecurity-mosaic-tags.mjs.map +1 -1
  168. package/fesm2020/ptsecurity-mosaic-timezone.mjs +2 -2
  169. package/fesm2020/ptsecurity-mosaic-timezone.mjs.map +1 -1
  170. package/fesm2020/ptsecurity-mosaic-title.mjs +1 -1
  171. package/fesm2020/ptsecurity-mosaic-title.mjs.map +1 -1
  172. package/fesm2020/ptsecurity-mosaic-toast.mjs +33 -10
  173. package/fesm2020/ptsecurity-mosaic-toast.mjs.map +1 -1
  174. package/fesm2020/ptsecurity-mosaic-toggle.mjs +2 -2
  175. package/fesm2020/ptsecurity-mosaic-toggle.mjs.map +1 -1
  176. package/fesm2020/ptsecurity-mosaic-tooltip.mjs +15 -3
  177. package/fesm2020/ptsecurity-mosaic-tooltip.mjs.map +1 -1
  178. package/fesm2020/ptsecurity-mosaic-tree-select.mjs +32 -16
  179. package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  180. package/fesm2020/ptsecurity-mosaic-tree.mjs +84 -54
  181. package/fesm2020/ptsecurity-mosaic-tree.mjs.map +1 -1
  182. package/file-upload/file-drop.d.ts +2 -1
  183. package/file-upload/file-upload.d.ts +4 -1
  184. package/file-upload/multiple-file-upload.component.d.ts +6 -5
  185. package/file-upload/single-file-upload.component.d.ts +6 -5
  186. package/form-field/_form-field-theme.scss +4 -0
  187. package/form-field/form-field.scss +0 -2
  188. package/loader-overlay/loader-overlay.scss +3 -0
  189. package/modal/modal.module.d.ts +2 -1
  190. package/modal/modal.scss +14 -2
  191. package/navbar/navbar.component.d.ts +5 -2
  192. package/navbar/vertical-navbar.component.d.ts +4 -2
  193. package/package.json +4 -7
  194. package/prebuilt-themes/dark-theme.css +1 -1
  195. package/prebuilt-themes/default-theme.css +1 -1
  196. package/prebuilt-visual/default-visual.css +1 -1
  197. package/radio/_radio-theme.scss +4 -0
  198. package/select/select-option.directive.d.ts +2 -0
  199. package/select/select.component.d.ts +15 -11
  200. package/select/select.scss +5 -1
  201. package/tags/tag-list.scss +4 -0
  202. package/toast/toast-animations.d.ts +1 -0
  203. package/toast/toast-container.component.d.ts +7 -3
  204. package/toast/toast.component.d.ts +2 -0
  205. package/toast/toast.service.d.ts +2 -0
  206. package/toggle/_toggle-theme.scss +13 -1
  207. package/toggle/toggle.scss +6 -2
  208. package/tooltip/tooltip.component.d.ts +4 -1
  209. package/tree/control/base-tree-control.d.ts +1 -1
  210. package/tree/control/flat-tree-control.d.ts +5 -3
  211. package/tree/control/flat-tree-control.filters.d.ts +26 -0
  212. package/tree/control/tree-control.d.ts +1 -1
  213. package/tree/public-api.d.ts +1 -0
  214. package/tree/tree-option.scss +4 -2
  215. package/tree-select/tree-select.component.d.ts +9 -3
  216. package/tree-select/tree-select.module.d.ts +1 -1
  217. package/core/forms/_forms.scss +0 -109
@@ -13,9 +13,9 @@ import { CommonModule, DOCUMENT } from '@angular/common';
13
13
  import { ENTER, SPACE, TAB, ESCAPE } from '@ptsecurity/cdk/keycodes';
14
14
  import { takeUntil, distinctUntilChanged, delay } from 'rxjs/operators';
15
15
  import * as i1$1 from '@angular/cdk/a11y';
16
- import { ComponentPortal } from '@angular/cdk/portal';
17
16
  import * as i1$2 from '@angular/cdk/overlay';
18
17
  import { Overlay } from '@angular/cdk/overlay';
18
+ import { ComponentPortal } from '@angular/cdk/portal';
19
19
 
20
20
  const fadeAnimation = trigger('fadeAnimation', [
21
21
  state('void', style({ opacity: 0 })),
@@ -517,58 +517,92 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
517
517
  }], ctorParameters: function () { return [{ type: DateAdapter }, { type: DateFormatter }]; } });
518
518
 
519
519
  const enUSLocaleData = {
520
- en: {
520
+ 'en-US': {
521
521
  select: { hiddenItemsText: 'one more' },
522
522
  datepicker: {
523
- placeholder: 'dd/mm/yyyy',
524
- dateInput: 'dd/MM/yyyy'
523
+ placeholder: 'dd/mm/yyyy'
525
524
  }
526
525
  }
527
526
  };
528
527
 
529
528
  const esLALocaleData = {
530
529
  'es-LA': {
531
- select: { hiddenItemsText: 'más' }
530
+ select: { hiddenItemsText: 'más' },
531
+ datepicker: {
532
+ placeholder: 'dd/mm/aaaa'
533
+ },
534
+ timepicker: {
535
+ placeholder: {
536
+ full: 'hh:mm:ss',
537
+ short: 'hh:mm'
538
+ }
539
+ }
532
540
  }
533
541
  };
534
542
 
535
543
  const faIRLocaleData = {
536
544
  'fa-IR': {
537
- select: { hiddenItemsText: 'أكثر' }
545
+ select: { hiddenItemsText: 'أكثر' },
546
+ datepicker: {
547
+ placeholder: 'روز/ ماه/سال'
548
+ },
549
+ timepicker: {
550
+ placeholder: {
551
+ full: 'ثانیه:دقیقه:ساعت',
552
+ short: 'دقیقه:ساعت'
553
+ }
554
+ }
538
555
  }
539
556
  };
540
557
 
541
558
  const ptBRLocaleData = {
542
559
  'pt-BR': {
543
- select: { hiddenItemsText: 'mais' }
560
+ select: { hiddenItemsText: 'mais' },
561
+ datepicker: {
562
+ placeholder: 'dd/mm/yyyy'
563
+ },
564
+ timepicker: {
565
+ placeholder: {
566
+ full: 'hh:mm:ss',
567
+ short: 'hh:mm'
568
+ }
569
+ }
544
570
  }
545
571
  };
546
572
 
547
573
  const ruRULocaleData = {
548
- ru: {
574
+ 'ru-RU': {
549
575
  select: { hiddenItemsText: 'еще' },
550
576
  datepicker: {
551
- placeholder: 'дд.мм.гггг',
552
- dateInput: 'dd.MM.yyyy'
577
+ placeholder: 'дд.мм.гггг'
553
578
  }
554
579
  }
555
580
  };
556
581
 
557
582
  const znCNLocaleData = {
558
583
  'zh-CN': {
559
- select: { hiddenItemsText: '更多的' }
584
+ select: { hiddenItemsText: '更多的' },
585
+ datepicker: {
586
+ placeholder: '年/月/日'
587
+ },
588
+ timepicker: {
589
+ placeholder: {
590
+ full: '时:分:秒',
591
+ short: '时:分'
592
+ }
593
+ }
560
594
  }
561
595
  };
562
596
 
563
- const MC_LOCALE_ID$1 = new InjectionToken('McLocaleId');
564
- const MC_DEFAULT_LOCALE_ID = 'ru';
597
+ const MC_LOCALE_ID = new InjectionToken('McLocaleId');
598
+ const MC_DEFAULT_LOCALE_ID = 'ru-RU';
565
599
  function MC_DEFAULT_LOCALE_DATA_FACTORY() {
566
600
  return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ items: [
567
- { id: 'en', name: 'English' },
601
+ { id: 'en-US', name: 'English' },
568
602
  { id: 'zh-CN', name: '简体中文' },
569
603
  { id: 'es-LA', name: 'Español' },
570
604
  { id: 'pt-BR', name: 'Português' },
571
- { id: 'ru', name: 'Русский' },
605
+ { id: 'ru-RU', name: 'Русский' },
572
606
  { id: 'fa-IR', name: 'فارسی' }
573
607
  ] }, ruRULocaleData), enUSLocaleData), esLALocaleData), faIRLocaleData), ptBRLocaleData), znCNLocaleData);
574
608
  }
@@ -596,7 +630,7 @@ class McLocaleService {
596
630
  return this.current[componentName];
597
631
  }
598
632
  }
599
- /** @nocollapse */ McLocaleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McLocaleService, deps: [{ token: MC_LOCALE_ID$1, optional: true }, { token: MC_LOCALE_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
633
+ /** @nocollapse */ McLocaleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McLocaleService, deps: [{ token: MC_LOCALE_ID, optional: true }, { token: MC_LOCALE_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
600
634
  /** @nocollapse */ McLocaleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McLocaleService, providedIn: 'root' });
601
635
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McLocaleService, decorators: [{
602
636
  type: Injectable,
@@ -606,7 +640,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
606
640
  type: Optional
607
641
  }, {
608
642
  type: Inject,
609
- args: [MC_LOCALE_ID$1]
643
+ args: [MC_LOCALE_ID]
610
644
  }] }, { type: undefined, decorators: [{
611
645
  type: Optional
612
646
  }, {
@@ -631,8 +665,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
631
665
  }]
632
666
  }] });
633
667
 
634
- const MC_LOCALE_ID = new InjectionToken('McLocaleId');
635
-
636
668
  /* tslint:disable:naming-convention */
637
669
  const MC_NUMBER_FORMATTER_OPTIONS = new InjectionToken('McNumberFormatterOptions');
638
670
  const MC_NUMBER_FORMATTER_DEFAULT_OPTIONS = {
@@ -660,6 +692,7 @@ const maxFractionGroupPosition = 5;
660
692
  const useGroupingPosition = 7;
661
693
  class ParsedDigitsInfo {
662
694
  }
695
+ const defaultValueForGroupingInRULocale = 10000;
663
696
  function parseDigitsInfo(digitsInfo) {
664
697
  const parts = digitsInfo.match(NUMBER_FORMAT_REGEXP);
665
698
  if (parts === null) {
@@ -720,14 +753,26 @@ class McDecimalPipe {
720
753
  parsedDigitsInfo = parseDigitsInfo(digitsInfo);
721
754
  }
722
755
  const options = Object.assign(Object.assign({}, this.options), parsedDigitsInfo);
756
+ if (this.isSpecialFormatForRULocale(currentLocale, value, parsedDigitsInfo === null || parsedDigitsInfo === void 0 ? void 0 : parsedDigitsInfo.useGrouping)) {
757
+ options.useGrouping = false;
758
+ }
723
759
  try {
724
760
  const num = strToNumber(value);
761
+ /* Guideline requires for group separator to be `space`, as in 'ru-RU' locale.
762
+ * But by default in es-LA locale is used `comma`.
763
+ * To reduce data manipulation, 'ru-RU' locale is used. */
764
+ if (currentLocale === 'es-LA') {
765
+ return Intl.NumberFormat.call(this, 'ru-RU', options).format(num);
766
+ }
725
767
  return Intl.NumberFormat.call(this, currentLocale, options).format(num);
726
768
  }
727
769
  catch (error) {
728
770
  throw Error(`InvalidPipeArgument: McDecimalPipe for pipe '${JSON.stringify(error.message)}'`);
729
771
  }
730
772
  }
773
+ isSpecialFormatForRULocale(locale, value, grouping) {
774
+ return ['ru', 'ru-RU'].includes(locale) && grouping === undefined && value < defaultValueForGroupingInRULocale;
775
+ }
731
776
  }
732
777
  /** @nocollapse */ McDecimalPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McDecimalPipe, deps: [{ token: MC_LOCALE_ID, optional: true }, { token: MC_LOCALE_SERVICE, optional: true }, { token: MC_NUMBER_FORMATTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
733
778
  /** @nocollapse */ McDecimalPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: McDecimalPipe, name: "mcNumber", pure: false });
@@ -756,11 +801,87 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
756
801
  args: [MC_NUMBER_FORMATTER_OPTIONS]
757
802
  }] }];
758
803
  } });
804
+ class McTableNumberPipe {
805
+ constructor(id, localeService, options) {
806
+ var _a;
807
+ this.id = id;
808
+ this.localeService = localeService;
809
+ this.options = options;
810
+ this.options = this.options || MC_NUMBER_FORMATTER_DEFAULT_OPTIONS;
811
+ (_a = this.localeService) === null || _a === void 0 ? void 0 : _a.changes.subscribe((newId) => this.id = newId);
812
+ }
813
+ /**
814
+ * @param value The number to be formatted.
815
+ * @param digitsInfo Decimal representation options, specified by a string
816
+ * in the following format:<br>
817
+ * <code>{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}</code>.
818
+ * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.
819
+ * Default is `1`.
820
+ * - `minFractionDigits`: The minimum number of digits after the decimal point.
821
+ * Default is `0`.
822
+ * - `maxFractionDigits`: The maximum number of digits after the decimal point.
823
+ * Default is `3`.
824
+ * @param locale A locale code for the locale format rules to use.
825
+ * When not supplied, uses the value of `MC_LOCALE_ID`, which is `ru` by default.
826
+ */
827
+ transform(value, digitsInfo, locale) {
828
+ if (isEmpty(value)) {
829
+ return null;
830
+ }
831
+ const currentLocale = locale || this.id || MC_DEFAULT_LOCALE_ID;
832
+ let parsedDigitsInfo;
833
+ if (digitsInfo) {
834
+ parsedDigitsInfo = parseDigitsInfo(digitsInfo);
835
+ }
836
+ const options = Object.assign(Object.assign({}, this.options), parsedDigitsInfo);
837
+ try {
838
+ const num = strToNumber(value);
839
+ /* Guideline requires for group separator to be `space`, as in 'ru-RU' locale.
840
+ * But by default in es-LA locale is used `comma`.
841
+ * To reduce data manipulation, 'ru-RU' locale is used. */
842
+ if (currentLocale === 'es-LA') {
843
+ return Intl.NumberFormat.call(this, 'ru-RU', options).format(num);
844
+ }
845
+ return Intl.NumberFormat.call(this, currentLocale, options).format(num);
846
+ }
847
+ catch (error) {
848
+ throw Error(`InvalidPipeArgument: McDecimalPipe for pipe '${JSON.stringify(error.message)}'`);
849
+ }
850
+ }
851
+ }
852
+ /** @nocollapse */ McTableNumberPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTableNumberPipe, deps: [{ token: MC_LOCALE_ID, optional: true }, { token: MC_LOCALE_SERVICE, optional: true }, { token: MC_NUMBER_FORMATTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
853
+ /** @nocollapse */ McTableNumberPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: McTableNumberPipe, name: "mcTableNumber", pure: false });
854
+ /** @nocollapse */ McTableNumberPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTableNumberPipe, providedIn: 'root' });
855
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTableNumberPipe, decorators: [{
856
+ type: Injectable,
857
+ args: [{ providedIn: 'root' }]
858
+ }, {
859
+ type: Pipe,
860
+ args: [{ name: 'mcTableNumber', pure: false }]
861
+ }], ctorParameters: function () {
862
+ return [{ type: undefined, decorators: [{
863
+ type: Optional
864
+ }, {
865
+ type: Inject,
866
+ args: [MC_LOCALE_ID]
867
+ }] }, { type: McLocaleService, decorators: [{
868
+ type: Optional
869
+ }, {
870
+ type: Inject,
871
+ args: [MC_LOCALE_SERVICE]
872
+ }] }, { type: ParsedDigitsInfo, decorators: [{
873
+ type: Optional
874
+ }, {
875
+ type: Inject,
876
+ args: [MC_NUMBER_FORMATTER_OPTIONS]
877
+ }] }];
878
+ } });
759
879
 
760
880
  class McFormattersModule {
761
881
  }
762
882
  /** @nocollapse */ McFormattersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McFormattersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
763
883
  /** @nocollapse */ McFormattersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: McFormattersModule, declarations: [McDecimalPipe,
884
+ McTableNumberPipe,
764
885
  AbsoluteDateFormatterPipe,
765
886
  AbsoluteDateTimeFormatterPipe,
766
887
  AbsoluteDateShortFormatterPipe,
@@ -774,6 +895,7 @@ class McFormattersModule {
774
895
  RangeDateTimeFormatterPipe,
775
896
  RangeShortDateTimeFormatterPipe,
776
897
  RangeMiddleDateTimeFormatterPipe], exports: [McDecimalPipe,
898
+ McTableNumberPipe,
777
899
  AbsoluteDateFormatterPipe,
778
900
  AbsoluteDateTimeFormatterPipe,
779
901
  AbsoluteDateShortFormatterPipe,
@@ -787,12 +909,13 @@ class McFormattersModule {
787
909
  RangeDateTimeFormatterPipe,
788
910
  RangeShortDateTimeFormatterPipe,
789
911
  RangeMiddleDateTimeFormatterPipe] });
790
- /** @nocollapse */ McFormattersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McFormattersModule, providers: [DateFormatter] });
912
+ /** @nocollapse */ McFormattersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McFormattersModule, providers: [{ provide: DateFormatter, deps: [DateAdapter, MC_DATE_LOCALE] }] });
791
913
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McFormattersModule, decorators: [{
792
914
  type: NgModule,
793
915
  args: [{
794
916
  declarations: [
795
917
  McDecimalPipe,
918
+ McTableNumberPipe,
796
919
  AbsoluteDateFormatterPipe,
797
920
  AbsoluteDateTimeFormatterPipe,
798
921
  AbsoluteDateShortFormatterPipe,
@@ -809,6 +932,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
809
932
  ],
810
933
  exports: [
811
934
  McDecimalPipe,
935
+ McTableNumberPipe,
812
936
  AbsoluteDateFormatterPipe,
813
937
  AbsoluteDateTimeFormatterPipe,
814
938
  AbsoluteDateShortFormatterPipe,
@@ -823,7 +947,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
823
947
  RangeShortDateTimeFormatterPipe,
824
948
  RangeMiddleDateTimeFormatterPipe
825
949
  ],
826
- providers: [DateFormatter]
950
+ providers: [{ provide: DateFormatter, deps: [DateAdapter, MC_DATE_LOCALE] }]
827
951
  }]
828
952
  }] });
829
953
 
@@ -1078,7 +1202,7 @@ class McPseudoCheckbox extends McPseudoCheckboxMixinBase {
1078
1202
  }
1079
1203
  }
1080
1204
  /** @nocollapse */ McPseudoCheckbox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McPseudoCheckbox, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
1081
- /** @nocollapse */ McPseudoCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: McPseudoCheckbox, selector: "mc-pseudo-checkbox", inputs: { color: "color", state: "state", disabled: "disabled" }, host: { properties: { "class.mc-indeterminate": "state === \"indeterminate\"", "class.mc-checked": "state === \"checked\"", "class.mc-disabled": "disabled" }, classAttribute: "mc-pseudo-checkbox" }, usesInheritance: true, ngImport: i0, template: "<i class=\"mc-checkbox-checkmark mc mc-check_16\"></i>\n<i class=\"mc-checkbox-mixedmark mc mc-minus_16\"></i>\n", styles: [".mc-pseudo-checkbox{position:relative;display:inline-block;box-sizing:border-box;width:var(--mc-checkbox-size-width, 16px);height:var(--mc-checkbox-size-width, 16px);border-radius:3px;border-width:var(--mc-checkbox-size-border-width, 1px);border-style:solid;cursor:pointer;vertical-align:middle;flex-shrink:0}.mc-pseudo-checkbox .mc-checkbox-checkmark,.mc-pseudo-checkbox .mc-checkbox-mixedmark{display:none;position:absolute;top:calc(-1 * var(--mc-checkbox-size-border-width, 1px));left:calc(-1 * var(--mc-checkbox-size-border-width, 1px))}.mc-pseudo-checkbox.mc-pseudo-checkbox-checked,.mc-pseudo-checkbox.mc-pseudo-checkbox-indeterminate{border-color:transparent}.mc-pseudo-checkbox.mc-checked .mc-checkbox-checkmark,.mc-pseudo-checkbox.mc-indeterminate .mc-checkbox-mixedmark{display:inline-block}.mc-pseudo-checkbox.mc-disabled{cursor:default}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1205
+ /** @nocollapse */ McPseudoCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: McPseudoCheckbox, selector: "mc-pseudo-checkbox", inputs: { color: "color", state: "state", disabled: "disabled" }, host: { properties: { "class.mc-indeterminate": "state === \"indeterminate\"", "class.mc-checked": "state === \"checked\"", "class.mc-disabled": "disabled" }, classAttribute: "mc-pseudo-checkbox" }, usesInheritance: true, ngImport: i0, template: "<i class=\"mc-checkbox-checkmark mc mc-check_16\"></i>\n<i class=\"mc-checkbox-mixedmark mc mc-minus_16\"></i>\n", styles: [".mc-pseudo-checkbox{position:relative;display:inline-flex;box-sizing:border-box;width:var(--mc-checkbox-size-width, 16px);height:var(--mc-checkbox-size-width, 16px);border-radius:3px;border-width:var(--mc-checkbox-size-border-width, 1px);border-style:solid;cursor:pointer;vertical-align:middle;flex-shrink:0;align-items:center;justify-content:center}.mc-pseudo-checkbox .mc-checkbox-checkmark,.mc-pseudo-checkbox .mc-checkbox-mixedmark{display:none}.mc-pseudo-checkbox.mc-pseudo-checkbox-checked,.mc-pseudo-checkbox.mc-pseudo-checkbox-indeterminate{border-color:transparent}.mc-pseudo-checkbox.mc-checked .mc-checkbox-checkmark,.mc-pseudo-checkbox.mc-indeterminate .mc-checkbox-mixedmark{display:inline-block}.mc-pseudo-checkbox.mc-disabled{cursor:default}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1082
1206
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McPseudoCheckbox, decorators: [{
1083
1207
  type: Component,
1084
1208
  args: [{ selector: 'mc-pseudo-checkbox', host: {
@@ -1086,7 +1210,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1086
1210
  '[class.mc-indeterminate]': 'state === "indeterminate"',
1087
1211
  '[class.mc-checked]': 'state === "checked"',
1088
1212
  '[class.mc-disabled]': 'disabled'
1089
- }, preserveWhitespaces: false, inputs: ['color'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<i class=\"mc-checkbox-checkmark mc mc-check_16\"></i>\n<i class=\"mc-checkbox-mixedmark mc mc-minus_16\"></i>\n", styles: [".mc-pseudo-checkbox{position:relative;display:inline-block;box-sizing:border-box;width:var(--mc-checkbox-size-width, 16px);height:var(--mc-checkbox-size-width, 16px);border-radius:3px;border-width:var(--mc-checkbox-size-border-width, 1px);border-style:solid;cursor:pointer;vertical-align:middle;flex-shrink:0}.mc-pseudo-checkbox .mc-checkbox-checkmark,.mc-pseudo-checkbox .mc-checkbox-mixedmark{display:none;position:absolute;top:calc(-1 * var(--mc-checkbox-size-border-width, 1px));left:calc(-1 * var(--mc-checkbox-size-border-width, 1px))}.mc-pseudo-checkbox.mc-pseudo-checkbox-checked,.mc-pseudo-checkbox.mc-pseudo-checkbox-indeterminate{border-color:transparent}.mc-pseudo-checkbox.mc-checked .mc-checkbox-checkmark,.mc-pseudo-checkbox.mc-indeterminate .mc-checkbox-mixedmark{display:inline-block}.mc-pseudo-checkbox.mc-disabled{cursor:default}\n"] }]
1213
+ }, preserveWhitespaces: false, inputs: ['color'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<i class=\"mc-checkbox-checkmark mc mc-check_16\"></i>\n<i class=\"mc-checkbox-mixedmark mc mc-minus_16\"></i>\n", styles: [".mc-pseudo-checkbox{position:relative;display:inline-flex;box-sizing:border-box;width:var(--mc-checkbox-size-width, 16px);height:var(--mc-checkbox-size-width, 16px);border-radius:3px;border-width:var(--mc-checkbox-size-border-width, 1px);border-style:solid;cursor:pointer;vertical-align:middle;flex-shrink:0;align-items:center;justify-content:center}.mc-pseudo-checkbox .mc-checkbox-checkmark,.mc-pseudo-checkbox .mc-checkbox-mixedmark{display:none}.mc-pseudo-checkbox.mc-pseudo-checkbox-checked,.mc-pseudo-checkbox.mc-pseudo-checkbox-indeterminate{border-color:transparent}.mc-pseudo-checkbox.mc-checked .mc-checkbox-checkmark,.mc-pseudo-checkbox.mc-indeterminate .mc-checkbox-mixedmark{display:inline-block}.mc-pseudo-checkbox.mc-disabled{cursor:default}\n"] }]
1090
1214
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { state: [{
1091
1215
  type: Input
1092
1216
  }], disabled: [{
@@ -1109,11 +1233,51 @@ class McOptionSelectionChange {
1109
1233
  * Injection token used to provide the parent component to options.
1110
1234
  */
1111
1235
  const MC_OPTION_PARENT_COMPONENT = new InjectionToken('MC_OPTION_PARENT_COMPONENT');
1236
+ class McOptionBase {
1237
+ /** Emits the selection change event. */
1238
+ emitSelectionChangeEvent(isUserInput = false) {
1239
+ this.onSelectionChange.emit(new McOptionSelectionChange(this, isUserInput));
1240
+ }
1241
+ }
1242
+ class McVirtualOption extends McOptionBase {
1243
+ constructor(value, _disabled = false) {
1244
+ super();
1245
+ this.value = value;
1246
+ this._disabled = _disabled;
1247
+ this._selected = false;
1248
+ this.onSelectionChange = new EventEmitter();
1249
+ }
1250
+ get disabled() {
1251
+ return this._disabled;
1252
+ }
1253
+ set disabled(value) {
1254
+ this._disabled = coerceBooleanProperty(value);
1255
+ }
1256
+ get selected() {
1257
+ return this._selected;
1258
+ }
1259
+ get viewValue() {
1260
+ return this.value;
1261
+ }
1262
+ select() {
1263
+ if (!this._selected) {
1264
+ this._selected = true;
1265
+ this.emitSelectionChangeEvent();
1266
+ }
1267
+ }
1268
+ deselect() {
1269
+ if (this._selected) {
1270
+ this._selected = false;
1271
+ this.emitSelectionChangeEvent();
1272
+ }
1273
+ }
1274
+ }
1112
1275
  /**
1113
1276
  * Single option inside of a `<mc-select>` element.
1114
1277
  */
1115
- class McOption {
1278
+ class McOption extends McOptionBase {
1116
1279
  constructor(element, changeDetectorRef, parent, group) {
1280
+ super();
1117
1281
  this.element = element;
1118
1282
  this.changeDetectorRef = changeDetectorRef;
1119
1283
  this.parent = parent;
@@ -1262,15 +1426,11 @@ class McOption {
1262
1426
  getHostElement() {
1263
1427
  return this.element.nativeElement;
1264
1428
  }
1265
- /** Emits the selection change event. */
1266
- emitSelectionChangeEvent(isUserInput = false) {
1267
- this.onSelectionChange.emit(new McOptionSelectionChange(this, isUserInput));
1268
- }
1269
1429
  }
1270
1430
  /** @nocollapse */ McOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McOption, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: MC_OPTION_PARENT_COMPONENT, optional: true }, { token: McOptgroup, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1271
1431
  /** @nocollapse */ McOption.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: McOption, selector: "mc-option", inputs: { value: "value", showCheckbox: "showCheckbox", disabled: "disabled" }, outputs: { onSelectionChange: "onSelectionChange" }, host: { listeners: { "click": "selectViaInteraction()", "keydown": "handleKeydown($event)" }, properties: { "attr.tabindex": "getTabIndex()", "class.mc-selected": "selected", "class.mc-option-multiple": "multiple", "class.mc-active": "active", "class.mc-disabled": "disabled", "id": "id" }, classAttribute: "mc-option" }, providers: [{
1272
1432
  provide: MC_TITLE_TEXT_REF, useExisting: McOption
1273
- }], viewQueries: [{ propertyName: "textElement", first: true, predicate: ["mcTitleText"], descendants: true }], exportAs: ["mcOption"], ngImport: i0, template: "<mc-pseudo-checkbox\n *ngIf=\"showCheckbox\"\n [state]=\"selected ? 'checked' : 'unchecked'\"\n [disabled]=\"disabled\">\n</mc-pseudo-checkbox>\n\n<span #mcTitleText class=\"mc-option-text\"><ng-content></ng-content></span>\n\n<div class=\"mc-option-overlay\"></div>\n", styles: [".mc-option{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;position:relative;max-width:100%;height:var(--mc-option-size-height, 32px);border:var(--mc-option-size-border-width, 2px) solid transparent;cursor:pointer;outline:none;padding-left:var(--mc-option-size-horizontal-padding, 10px);padding-right:var(--mc-option-size-horizontal-padding, 10px);-webkit-tap-highlight-color:transparent}.mc-option.mc-disabled{cursor:default}.mc-option .mc-pseudo-checkbox{margin-right:8px}.mc-option .mc-option-overlay{position:absolute;top:calc(-1 * var(--mc-option-size-border-width, 2px));left:calc(-1 * var(--mc-option-size-border-width, 2px));right:calc(-1 * var(--mc-option-size-border-width, 2px));bottom:calc(-1 * var(--mc-option-size-border-width, 2px));pointer-events:none;border-radius:inherit}.mc-option-text{display:inline-block;flex-grow:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: McPseudoCheckbox, selector: "mc-pseudo-checkbox", inputs: ["color", "state", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1433
+ }], viewQueries: [{ propertyName: "textElement", first: true, predicate: ["mcTitleText"], descendants: true }], exportAs: ["mcOption"], usesInheritance: true, ngImport: i0, template: "<mc-pseudo-checkbox\n *ngIf=\"showCheckbox\"\n [state]=\"selected ? 'checked' : 'unchecked'\"\n [disabled]=\"disabled\">\n</mc-pseudo-checkbox>\n\n<span #mcTitleText class=\"mc-option-text\"><ng-content></ng-content></span>\n\n<div class=\"mc-option-overlay\"></div>\n", styles: [".mc-option{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;position:relative;max-width:100%;height:var(--mc-option-size-height, 32px);border:var(--mc-option-size-border-width, 2px) solid transparent;cursor:pointer;outline:none;padding-left:var(--mc-option-size-horizontal-padding, 10px);padding-right:var(--mc-option-size-horizontal-padding, 10px);-webkit-tap-highlight-color:transparent}.mc-option.mc-disabled{cursor:default}.mc-option .mc-pseudo-checkbox{margin-right:8px}.mc-option .mc-option-overlay{position:absolute;top:calc(-1 * var(--mc-option-size-border-width, 2px));left:calc(-1 * var(--mc-option-size-border-width, 2px));right:calc(-1 * var(--mc-option-size-border-width, 2px));bottom:calc(-1 * var(--mc-option-size-border-width, 2px));pointer-events:none;border-radius:inherit}.mc-option-text{display:inline-block;flex-grow:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: McPseudoCheckbox, selector: "mc-pseudo-checkbox", inputs: ["color", "state", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1274
1434
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McOption, decorators: [{
1275
1435
  type: Component,
1276
1436
  args: [{ selector: 'mc-option', exportAs: 'mcOption', host: {
@@ -1726,6 +1886,11 @@ const POSITION_TO_CSS_MAP = {
1726
1886
  bottomLeft: 'bottom-left',
1727
1887
  bottomRight: 'bottom-right'
1728
1888
  };
1889
+ const MC_CUSTOM_SCROLL_STRATEGY_PROVIDER = (token, factory) => ({
1890
+ provide: token,
1891
+ deps: [Overlay],
1892
+ useFactory: factory
1893
+ });
1729
1894
  function arrayMap(array, iteratee) {
1730
1895
  let index = -1;
1731
1896
  const length = array === null ? 0 : array.length;
@@ -2304,11 +2469,11 @@ const validationTooltipShowDelay = 10;
2304
2469
  const validationTooltipHideDelay = 3000;
2305
2470
  const MC_VALIDATION = new InjectionToken('McUseValidation', { factory: () => ({ useValidation: true }) });
2306
2471
 
2307
- const VERSION = new Version('15.6.0+sha-7ad3c34');
2472
+ const VERSION = new Version('15.8.0+sha-89bc98b');
2308
2473
 
2309
2474
  /**
2310
2475
  * Generated bundle index. Do not edit.
2311
2476
  */
2312
2477
 
2313
- export { AbsoluteDateFormatterPipe, AbsoluteDateShortFormatterPipe, AbsoluteDateTimeFormatterPipe, AbsoluteShortDateTimeFormatterPipe, AnimationCurves, BOTTOM_LEFT_POSITION_PRIORITY, BOTTOM_POSITION_PRIORITY, BOTTOM_RIGHT_POSITION_PRIORITY, DateAdapter, DateFormatter, EXTENDED_OVERLAY_POSITIONS, ErrorStateMatcher, LEFT_BOTTOM_POSITION_PRIORITY, LEFT_POSITION_PRIORITY, LEFT_TOP_POSITION_PRIORITY, MC_DATE_FORMATS, MC_DATE_LOCALE, MC_DATE_LOCALE_FACTORY, MC_DEFAULT_LOCALE_DATA_FACTORY, MC_DEFAULT_LOCALE_ID, MC_LABEL_GLOBAL_OPTIONS, MC_LOCALE_DATA, MC_LOCALE_ID, MC_LOCALE_SERVICE, MC_NUMBER_FORMATTER_DEFAULT_OPTIONS, MC_NUMBER_FORMATTER_OPTIONS, MC_OPTION_ACTION_PARENT, MC_OPTION_PARENT_COMPONENT, MC_SANITY_CHECKS, MC_SELECT_SCROLL_STRATEGY, MC_SELECT_SCROLL_STRATEGY_PROVIDER, MC_TITLE_TEXT_REF, MC_VALIDATION, McCommonModule, McDataSizeModule, McDataSizePipe, McDecimalPipe, McForm, McFormElement, McFormattersModule, McFormsModule, McHighlightModule, McHighlightPipe, McLine, McLineModule, McLineSetter, McLocaleService, McLocaleServiceModule, McMeasureScrollbarService, McOptgroup, McOptgroupBase, McOptgroupMixinBase, McOption, McOptionActionBase, McOptionActionComponent, McOptionActionMixinBase, McOptionModule, McOptionSelectionChange, McPopUp, McPopUpTrigger, McPseudoCheckbox, McPseudoCheckboxBase, McPseudoCheckboxMixinBase, McPseudoCheckboxModule, MeasurementSystem, MultipleMode, NUMBER_FORMAT_REGEXP, POSITION_MAP, POSITION_PRIORITY_STRATEGY, POSITION_TO_CSS_MAP, PopUpPlacements, PopUpSizes, PopUpTriggers, PopUpVisibility, RIGHT_BOTTOM_POSITION_PRIORITY, RIGHT_POSITION_PRIORITY, RIGHT_TOP_POSITION_PRIORITY, RangeDateFormatterPipe, RangeDateTimeFormatterPipe, RangeMiddleDateTimeFormatterPipe, RangeShortDateFormatterPipe, RangeShortDateTimeFormatterPipe, RelativeDateFormatterPipe, RelativeDateTimeFormatterPipe, RelativeShortDateFormatterPipe, RelativeShortDateTimeFormatterPipe, SELECT_PANEL_INDENT_PADDING_X, SELECT_PANEL_MAX_HEIGHT, SELECT_PANEL_PADDING_X, SELECT_PANEL_VIEWPORT_PADDING, ShowOnDirtyErrorStateMatcher, TOP_LEFT_POSITION_PRIORITY, TOP_POSITION_PRIORITY, TOP_RIGHT_POSITION_PRIORITY, ThemePalette, VERSION, countGroupLabelsBeforeOption, escapeRegExp, fadeAnimation, formatDataSize, getHumanizedBytes, getMcSelectDynamicMultipleError, getMcSelectNonArrayValueError, getMcSelectNonFunctionValueError, getOptionScrollPosition, isBoolean, mcSelectAnimations, mcSelectScrollStrategyProviderFactory, mixinColor, mixinDisabled, mixinErrorState, mixinTabIndex, selectEvents, sizeUnitsConfig, toBoolean, validationTooltipHideDelay, validationTooltipShowDelay };
2478
+ export { AbsoluteDateFormatterPipe, AbsoluteDateShortFormatterPipe, AbsoluteDateTimeFormatterPipe, AbsoluteShortDateTimeFormatterPipe, AnimationCurves, BOTTOM_LEFT_POSITION_PRIORITY, BOTTOM_POSITION_PRIORITY, BOTTOM_RIGHT_POSITION_PRIORITY, DateAdapter, DateFormatter, EXTENDED_OVERLAY_POSITIONS, ErrorStateMatcher, LEFT_BOTTOM_POSITION_PRIORITY, LEFT_POSITION_PRIORITY, LEFT_TOP_POSITION_PRIORITY, MC_CUSTOM_SCROLL_STRATEGY_PROVIDER, MC_DATE_FORMATS, MC_DATE_LOCALE, MC_DATE_LOCALE_FACTORY, MC_DEFAULT_LOCALE_DATA_FACTORY, MC_DEFAULT_LOCALE_ID, MC_LABEL_GLOBAL_OPTIONS, MC_LOCALE_DATA, MC_LOCALE_ID, MC_LOCALE_SERVICE, MC_NUMBER_FORMATTER_DEFAULT_OPTIONS, MC_NUMBER_FORMATTER_OPTIONS, MC_OPTION_ACTION_PARENT, MC_OPTION_PARENT_COMPONENT, MC_SANITY_CHECKS, MC_SELECT_SCROLL_STRATEGY, MC_SELECT_SCROLL_STRATEGY_PROVIDER, MC_TITLE_TEXT_REF, MC_VALIDATION, McCommonModule, McDataSizeModule, McDataSizePipe, McDecimalPipe, McForm, McFormElement, McFormattersModule, McFormsModule, McHighlightModule, McHighlightPipe, McLine, McLineModule, McLineSetter, McLocaleService, McLocaleServiceModule, McMeasureScrollbarService, McOptgroup, McOptgroupBase, McOptgroupMixinBase, McOption, McOptionActionBase, McOptionActionComponent, McOptionActionMixinBase, McOptionBase, McOptionModule, McOptionSelectionChange, McPopUp, McPopUpTrigger, McPseudoCheckbox, McPseudoCheckboxBase, McPseudoCheckboxMixinBase, McPseudoCheckboxModule, McTableNumberPipe, McVirtualOption, MeasurementSystem, MultipleMode, NUMBER_FORMAT_REGEXP, POSITION_MAP, POSITION_PRIORITY_STRATEGY, POSITION_TO_CSS_MAP, PopUpPlacements, PopUpSizes, PopUpTriggers, PopUpVisibility, RIGHT_BOTTOM_POSITION_PRIORITY, RIGHT_POSITION_PRIORITY, RIGHT_TOP_POSITION_PRIORITY, RangeDateFormatterPipe, RangeDateTimeFormatterPipe, RangeMiddleDateTimeFormatterPipe, RangeShortDateFormatterPipe, RangeShortDateTimeFormatterPipe, RelativeDateFormatterPipe, RelativeDateTimeFormatterPipe, RelativeShortDateFormatterPipe, RelativeShortDateTimeFormatterPipe, SELECT_PANEL_INDENT_PADDING_X, SELECT_PANEL_MAX_HEIGHT, SELECT_PANEL_PADDING_X, SELECT_PANEL_VIEWPORT_PADDING, ShowOnDirtyErrorStateMatcher, TOP_LEFT_POSITION_PRIORITY, TOP_POSITION_PRIORITY, TOP_RIGHT_POSITION_PRIORITY, ThemePalette, VERSION, countGroupLabelsBeforeOption, escapeRegExp, fadeAnimation, formatDataSize, getHumanizedBytes, getMcSelectDynamicMultipleError, getMcSelectNonArrayValueError, getMcSelectNonFunctionValueError, getOptionScrollPosition, isBoolean, mcSelectAnimations, mcSelectScrollStrategyProviderFactory, mixinColor, mixinDisabled, mixinErrorState, mixinTabIndex, selectEvents, sizeUnitsConfig, toBoolean, validationTooltipHideDelay, validationTooltipShowDelay };
2314
2479
  //# sourceMappingURL=ptsecurity-mosaic-core.mjs.map