@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
@@ -513,59 +513,93 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
513
513
  }], ctorParameters: function () { return [{ type: DateAdapter }, { type: DateFormatter }]; } });
514
514
 
515
515
  const enUSLocaleData = {
516
- en: {
516
+ 'en-US': {
517
517
  select: { hiddenItemsText: 'one more' },
518
518
  datepicker: {
519
- placeholder: 'dd/mm/yyyy',
520
- dateInput: 'dd/MM/yyyy'
519
+ placeholder: 'dd/mm/yyyy'
521
520
  }
522
521
  }
523
522
  };
524
523
 
525
524
  const esLALocaleData = {
526
525
  'es-LA': {
527
- select: { hiddenItemsText: 'más' }
526
+ select: { hiddenItemsText: 'más' },
527
+ datepicker: {
528
+ placeholder: 'dd/mm/aaaa'
529
+ },
530
+ timepicker: {
531
+ placeholder: {
532
+ full: 'hh:mm:ss',
533
+ short: 'hh:mm'
534
+ }
535
+ }
528
536
  }
529
537
  };
530
538
 
531
539
  const faIRLocaleData = {
532
540
  'fa-IR': {
533
- select: { hiddenItemsText: 'أكثر' }
541
+ select: { hiddenItemsText: 'أكثر' },
542
+ datepicker: {
543
+ placeholder: 'روز/ ماه/سال'
544
+ },
545
+ timepicker: {
546
+ placeholder: {
547
+ full: 'ثانیه:دقیقه:ساعت',
548
+ short: 'دقیقه:ساعت'
549
+ }
550
+ }
534
551
  }
535
552
  };
536
553
 
537
554
  const ptBRLocaleData = {
538
555
  'pt-BR': {
539
- select: { hiddenItemsText: 'mais' }
556
+ select: { hiddenItemsText: 'mais' },
557
+ datepicker: {
558
+ placeholder: 'dd/mm/yyyy'
559
+ },
560
+ timepicker: {
561
+ placeholder: {
562
+ full: 'hh:mm:ss',
563
+ short: 'hh:mm'
564
+ }
565
+ }
540
566
  }
541
567
  };
542
568
 
543
569
  const ruRULocaleData = {
544
- ru: {
570
+ 'ru-RU': {
545
571
  select: { hiddenItemsText: 'еще' },
546
572
  datepicker: {
547
- placeholder: 'дд.мм.гггг',
548
- dateInput: 'dd.MM.yyyy'
573
+ placeholder: 'дд.мм.гггг'
549
574
  }
550
575
  }
551
576
  };
552
577
 
553
578
  const znCNLocaleData = {
554
579
  'zh-CN': {
555
- select: { hiddenItemsText: '更多的' }
580
+ select: { hiddenItemsText: '更多的' },
581
+ datepicker: {
582
+ placeholder: '年/月/日'
583
+ },
584
+ timepicker: {
585
+ placeholder: {
586
+ full: '时:分:秒',
587
+ short: '时:分'
588
+ }
589
+ }
556
590
  }
557
591
  };
558
592
 
559
- const MC_LOCALE_ID$1 = new InjectionToken('McLocaleId');
560
- const MC_DEFAULT_LOCALE_ID = 'ru';
593
+ const MC_LOCALE_ID = new InjectionToken('McLocaleId');
594
+ const MC_DEFAULT_LOCALE_ID = 'ru-RU';
561
595
  function MC_DEFAULT_LOCALE_DATA_FACTORY() {
562
596
  return {
563
597
  items: [
564
- { id: 'en', name: 'English' },
598
+ { id: 'en-US', name: 'English' },
565
599
  { id: 'zh-CN', name: '简体中文' },
566
600
  { id: 'es-LA', name: 'Español' },
567
601
  { id: 'pt-BR', name: 'Português' },
568
- { id: 'ru', name: 'Русский' },
602
+ { id: 'ru-RU', name: 'Русский' },
569
603
  { id: 'fa-IR', name: 'فارسی' }
570
604
  ],
571
605
  ...ruRULocaleData,
@@ -600,7 +634,7 @@ class McLocaleService {
600
634
  return this.current[componentName];
601
635
  }
602
636
  }
603
- /** @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 });
637
+ /** @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 });
604
638
  /** @nocollapse */ McLocaleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McLocaleService, providedIn: 'root' });
605
639
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McLocaleService, decorators: [{
606
640
  type: Injectable,
@@ -609,7 +643,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
609
643
  type: Optional
610
644
  }, {
611
645
  type: Inject,
612
- args: [MC_LOCALE_ID$1]
646
+ args: [MC_LOCALE_ID]
613
647
  }] }, { type: undefined, decorators: [{
614
648
  type: Optional
615
649
  }, {
@@ -633,8 +667,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
633
667
  }]
634
668
  }] });
635
669
 
636
- const MC_LOCALE_ID = new InjectionToken('McLocaleId');
637
-
638
670
  /* tslint:disable:naming-convention */
639
671
  const MC_NUMBER_FORMATTER_OPTIONS = new InjectionToken('McNumberFormatterOptions');
640
672
  const MC_NUMBER_FORMATTER_DEFAULT_OPTIONS = {
@@ -662,6 +694,7 @@ const maxFractionGroupPosition = 5;
662
694
  const useGroupingPosition = 7;
663
695
  class ParsedDigitsInfo {
664
696
  }
697
+ const defaultValueForGroupingInRULocale = 10000;
665
698
  function parseDigitsInfo(digitsInfo) {
666
699
  const parts = digitsInfo.match(NUMBER_FORMAT_REGEXP);
667
700
  if (parts === null) {
@@ -725,14 +758,26 @@ class McDecimalPipe {
725
758
  ...this.options,
726
759
  ...parsedDigitsInfo
727
760
  };
761
+ if (this.isSpecialFormatForRULocale(currentLocale, value, parsedDigitsInfo?.useGrouping)) {
762
+ options.useGrouping = false;
763
+ }
728
764
  try {
729
765
  const num = strToNumber(value);
766
+ /* Guideline requires for group separator to be `space`, as in 'ru-RU' locale.
767
+ * But by default in es-LA locale is used `comma`.
768
+ * To reduce data manipulation, 'ru-RU' locale is used. */
769
+ if (currentLocale === 'es-LA') {
770
+ return Intl.NumberFormat.call(this, 'ru-RU', options).format(num);
771
+ }
730
772
  return Intl.NumberFormat.call(this, currentLocale, options).format(num);
731
773
  }
732
774
  catch (error) {
733
775
  throw Error(`InvalidPipeArgument: McDecimalPipe for pipe '${JSON.stringify(error.message)}'`);
734
776
  }
735
777
  }
778
+ isSpecialFormatForRULocale(locale, value, grouping) {
779
+ return ['ru', 'ru-RU'].includes(locale) && grouping === undefined && value < defaultValueForGroupingInRULocale;
780
+ }
736
781
  }
737
782
  /** @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 });
738
783
  /** @nocollapse */ McDecimalPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: McDecimalPipe, name: "mcNumber", pure: false });
@@ -759,11 +804,88 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
759
804
  type: Inject,
760
805
  args: [MC_NUMBER_FORMATTER_OPTIONS]
761
806
  }] }]; } });
807
+ class McTableNumberPipe {
808
+ constructor(id, localeService, options) {
809
+ this.id = id;
810
+ this.localeService = localeService;
811
+ this.options = options;
812
+ this.options = this.options || MC_NUMBER_FORMATTER_DEFAULT_OPTIONS;
813
+ this.localeService?.changes
814
+ .subscribe((newId) => this.id = newId);
815
+ }
816
+ /**
817
+ * @param value The number to be formatted.
818
+ * @param digitsInfo Decimal representation options, specified by a string
819
+ * in the following format:<br>
820
+ * <code>{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}</code>.
821
+ * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.
822
+ * Default is `1`.
823
+ * - `minFractionDigits`: The minimum number of digits after the decimal point.
824
+ * Default is `0`.
825
+ * - `maxFractionDigits`: The maximum number of digits after the decimal point.
826
+ * Default is `3`.
827
+ * @param locale A locale code for the locale format rules to use.
828
+ * When not supplied, uses the value of `MC_LOCALE_ID`, which is `ru` by default.
829
+ */
830
+ transform(value, digitsInfo, locale) {
831
+ if (isEmpty(value)) {
832
+ return null;
833
+ }
834
+ const currentLocale = locale || this.id || MC_DEFAULT_LOCALE_ID;
835
+ let parsedDigitsInfo;
836
+ if (digitsInfo) {
837
+ parsedDigitsInfo = parseDigitsInfo(digitsInfo);
838
+ }
839
+ const options = {
840
+ ...this.options,
841
+ ...parsedDigitsInfo
842
+ };
843
+ try {
844
+ const num = strToNumber(value);
845
+ /* Guideline requires for group separator to be `space`, as in 'ru-RU' locale.
846
+ * But by default in es-LA locale is used `comma`.
847
+ * To reduce data manipulation, 'ru-RU' locale is used. */
848
+ if (currentLocale === 'es-LA') {
849
+ return Intl.NumberFormat.call(this, 'ru-RU', options).format(num);
850
+ }
851
+ return Intl.NumberFormat.call(this, currentLocale, options).format(num);
852
+ }
853
+ catch (error) {
854
+ throw Error(`InvalidPipeArgument: McDecimalPipe for pipe '${JSON.stringify(error.message)}'`);
855
+ }
856
+ }
857
+ }
858
+ /** @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 });
859
+ /** @nocollapse */ McTableNumberPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: McTableNumberPipe, name: "mcTableNumber", pure: false });
860
+ /** @nocollapse */ McTableNumberPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTableNumberPipe, providedIn: 'root' });
861
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTableNumberPipe, decorators: [{
862
+ type: Injectable,
863
+ args: [{ providedIn: 'root' }]
864
+ }, {
865
+ type: Pipe,
866
+ args: [{ name: 'mcTableNumber', pure: false }]
867
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
868
+ type: Optional
869
+ }, {
870
+ type: Inject,
871
+ args: [MC_LOCALE_ID]
872
+ }] }, { type: McLocaleService, decorators: [{
873
+ type: Optional
874
+ }, {
875
+ type: Inject,
876
+ args: [MC_LOCALE_SERVICE]
877
+ }] }, { type: ParsedDigitsInfo, decorators: [{
878
+ type: Optional
879
+ }, {
880
+ type: Inject,
881
+ args: [MC_NUMBER_FORMATTER_OPTIONS]
882
+ }] }]; } });
762
883
 
763
884
  class McFormattersModule {
764
885
  }
765
886
  /** @nocollapse */ McFormattersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McFormattersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
766
887
  /** @nocollapse */ McFormattersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: McFormattersModule, declarations: [McDecimalPipe,
888
+ McTableNumberPipe,
767
889
  AbsoluteDateFormatterPipe,
768
890
  AbsoluteDateTimeFormatterPipe,
769
891
  AbsoluteDateShortFormatterPipe,
@@ -777,6 +899,7 @@ class McFormattersModule {
777
899
  RangeDateTimeFormatterPipe,
778
900
  RangeShortDateTimeFormatterPipe,
779
901
  RangeMiddleDateTimeFormatterPipe], exports: [McDecimalPipe,
902
+ McTableNumberPipe,
780
903
  AbsoluteDateFormatterPipe,
781
904
  AbsoluteDateTimeFormatterPipe,
782
905
  AbsoluteDateShortFormatterPipe,
@@ -790,12 +913,13 @@ class McFormattersModule {
790
913
  RangeDateTimeFormatterPipe,
791
914
  RangeShortDateTimeFormatterPipe,
792
915
  RangeMiddleDateTimeFormatterPipe] });
793
- /** @nocollapse */ McFormattersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McFormattersModule, providers: [DateFormatter] });
916
+ /** @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] }] });
794
917
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McFormattersModule, decorators: [{
795
918
  type: NgModule,
796
919
  args: [{
797
920
  declarations: [
798
921
  McDecimalPipe,
922
+ McTableNumberPipe,
799
923
  AbsoluteDateFormatterPipe,
800
924
  AbsoluteDateTimeFormatterPipe,
801
925
  AbsoluteDateShortFormatterPipe,
@@ -812,6 +936,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
812
936
  ],
813
937
  exports: [
814
938
  McDecimalPipe,
939
+ McTableNumberPipe,
815
940
  AbsoluteDateFormatterPipe,
816
941
  AbsoluteDateTimeFormatterPipe,
817
942
  AbsoluteDateShortFormatterPipe,
@@ -826,7 +951,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
826
951
  RangeShortDateTimeFormatterPipe,
827
952
  RangeMiddleDateTimeFormatterPipe
828
953
  ],
829
- providers: [DateFormatter]
954
+ providers: [{ provide: DateFormatter, deps: [DateAdapter, MC_DATE_LOCALE] }]
830
955
  }]
831
956
  }] });
832
957
 
@@ -1081,7 +1206,7 @@ class McPseudoCheckbox extends McPseudoCheckboxMixinBase {
1081
1206
  }
1082
1207
  }
1083
1208
  /** @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 });
1084
- /** @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 });
1209
+ /** @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 });
1085
1210
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McPseudoCheckbox, decorators: [{
1086
1211
  type: Component,
1087
1212
  args: [{ selector: 'mc-pseudo-checkbox', host: {
@@ -1089,7 +1214,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1089
1214
  '[class.mc-indeterminate]': 'state === "indeterminate"',
1090
1215
  '[class.mc-checked]': 'state === "checked"',
1091
1216
  '[class.mc-disabled]': 'disabled'
1092
- }, 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"] }]
1217
+ }, 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"] }]
1093
1218
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { state: [{
1094
1219
  type: Input
1095
1220
  }], disabled: [{
@@ -1112,11 +1237,51 @@ class McOptionSelectionChange {
1112
1237
  * Injection token used to provide the parent component to options.
1113
1238
  */
1114
1239
  const MC_OPTION_PARENT_COMPONENT = new InjectionToken('MC_OPTION_PARENT_COMPONENT');
1240
+ class McOptionBase {
1241
+ /** Emits the selection change event. */
1242
+ emitSelectionChangeEvent(isUserInput = false) {
1243
+ this.onSelectionChange.emit(new McOptionSelectionChange(this, isUserInput));
1244
+ }
1245
+ }
1246
+ class McVirtualOption extends McOptionBase {
1247
+ constructor(value, _disabled = false) {
1248
+ super();
1249
+ this.value = value;
1250
+ this._disabled = _disabled;
1251
+ this._selected = false;
1252
+ this.onSelectionChange = new EventEmitter();
1253
+ }
1254
+ get disabled() {
1255
+ return this._disabled;
1256
+ }
1257
+ set disabled(value) {
1258
+ this._disabled = coerceBooleanProperty(value);
1259
+ }
1260
+ get selected() {
1261
+ return this._selected;
1262
+ }
1263
+ get viewValue() {
1264
+ return this.value;
1265
+ }
1266
+ select() {
1267
+ if (!this._selected) {
1268
+ this._selected = true;
1269
+ this.emitSelectionChangeEvent();
1270
+ }
1271
+ }
1272
+ deselect() {
1273
+ if (this._selected) {
1274
+ this._selected = false;
1275
+ this.emitSelectionChangeEvent();
1276
+ }
1277
+ }
1278
+ }
1115
1279
  /**
1116
1280
  * Single option inside of a `<mc-select>` element.
1117
1281
  */
1118
- class McOption {
1282
+ class McOption extends McOptionBase {
1119
1283
  constructor(element, changeDetectorRef, parent, group) {
1284
+ super();
1120
1285
  this.element = element;
1121
1286
  this.changeDetectorRef = changeDetectorRef;
1122
1287
  this.parent = parent;
@@ -1265,15 +1430,11 @@ class McOption {
1265
1430
  getHostElement() {
1266
1431
  return this.element.nativeElement;
1267
1432
  }
1268
- /** Emits the selection change event. */
1269
- emitSelectionChangeEvent(isUserInput = false) {
1270
- this.onSelectionChange.emit(new McOptionSelectionChange(this, isUserInput));
1271
- }
1272
1433
  }
1273
1434
  /** @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 });
1274
1435
  /** @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: [{
1275
1436
  provide: MC_TITLE_TEXT_REF, useExisting: McOption
1276
- }], 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 });
1437
+ }], 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 });
1277
1438
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McOption, decorators: [{
1278
1439
  type: Component,
1279
1440
  args: [{ selector: 'mc-option', exportAs: 'mcOption', host: {
@@ -1724,6 +1885,11 @@ const POSITION_TO_CSS_MAP = {
1724
1885
  bottomLeft: 'bottom-left',
1725
1886
  bottomRight: 'bottom-right'
1726
1887
  };
1888
+ const MC_CUSTOM_SCROLL_STRATEGY_PROVIDER = (token, factory) => ({
1889
+ provide: token,
1890
+ deps: [Overlay],
1891
+ useFactory: factory
1892
+ });
1727
1893
  function arrayMap(array, iteratee) {
1728
1894
  let index = -1;
1729
1895
  const length = array === null ? 0 : array.length;
@@ -2306,11 +2472,11 @@ const validationTooltipShowDelay = 10;
2306
2472
  const validationTooltipHideDelay = 3000;
2307
2473
  const MC_VALIDATION = new InjectionToken('McUseValidation', { factory: () => ({ useValidation: true }) });
2308
2474
 
2309
- const VERSION = new Version('15.6.0+sha-7ad3c34');
2475
+ const VERSION = new Version('15.8.0+sha-89bc98b');
2310
2476
 
2311
2477
  /**
2312
2478
  * Generated bundle index. Do not edit.
2313
2479
  */
2314
2480
 
2315
- 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 };
2481
+ 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 };
2316
2482
  //# sourceMappingURL=ptsecurity-mosaic-core.mjs.map