@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
@@ -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
593
  const MC_LOCALE_ID$1 = new InjectionToken('McLocaleId');
560
- const MC_DEFAULT_LOCALE_ID = 'ru';
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,
@@ -662,6 +696,7 @@ const maxFractionGroupPosition = 5;
662
696
  const useGroupingPosition = 7;
663
697
  class ParsedDigitsInfo {
664
698
  }
699
+ const defaultValueForGroupingInRULocale = 10000;
665
700
  function parseDigitsInfo(digitsInfo) {
666
701
  const parts = digitsInfo.match(NUMBER_FORMAT_REGEXP);
667
702
  if (parts === null) {
@@ -725,14 +760,26 @@ class McDecimalPipe {
725
760
  ...this.options,
726
761
  ...parsedDigitsInfo
727
762
  };
763
+ if (this.isSpecialFormatForRULocale(currentLocale, value, parsedDigitsInfo?.useGrouping)) {
764
+ options.useGrouping = false;
765
+ }
728
766
  try {
729
767
  const num = strToNumber(value);
768
+ /* Guideline requires for group separator to be `space`, as in 'ru-RU' locale.
769
+ * But by default in es-LA locale is used `comma`.
770
+ * To reduce data manipulation, 'ru-RU' locale is used. */
771
+ if (currentLocale === 'es-LA') {
772
+ return Intl.NumberFormat.call(this, 'ru-RU', options).format(num);
773
+ }
730
774
  return Intl.NumberFormat.call(this, currentLocale, options).format(num);
731
775
  }
732
776
  catch (error) {
733
777
  throw Error(`InvalidPipeArgument: McDecimalPipe for pipe '${JSON.stringify(error.message)}'`);
734
778
  }
735
779
  }
780
+ isSpecialFormatForRULocale(locale, value, grouping) {
781
+ return ['ru', 'ru-RU'].includes(locale) && grouping === undefined && value < defaultValueForGroupingInRULocale;
782
+ }
736
783
  }
737
784
  /** @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
785
  /** @nocollapse */ McDecimalPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: McDecimalPipe, name: "mcNumber", pure: false });
@@ -759,11 +806,88 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
759
806
  type: Inject,
760
807
  args: [MC_NUMBER_FORMATTER_OPTIONS]
761
808
  }] }]; } });
809
+ class McTableNumberPipe {
810
+ constructor(id, localeService, options) {
811
+ this.id = id;
812
+ this.localeService = localeService;
813
+ this.options = options;
814
+ this.options = this.options || MC_NUMBER_FORMATTER_DEFAULT_OPTIONS;
815
+ this.localeService?.changes
816
+ .subscribe((newId) => this.id = newId);
817
+ }
818
+ /**
819
+ * @param value The number to be formatted.
820
+ * @param digitsInfo Decimal representation options, specified by a string
821
+ * in the following format:<br>
822
+ * <code>{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}</code>.
823
+ * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.
824
+ * Default is `1`.
825
+ * - `minFractionDigits`: The minimum number of digits after the decimal point.
826
+ * Default is `0`.
827
+ * - `maxFractionDigits`: The maximum number of digits after the decimal point.
828
+ * Default is `3`.
829
+ * @param locale A locale code for the locale format rules to use.
830
+ * When not supplied, uses the value of `MC_LOCALE_ID`, which is `ru` by default.
831
+ */
832
+ transform(value, digitsInfo, locale) {
833
+ if (isEmpty(value)) {
834
+ return null;
835
+ }
836
+ const currentLocale = locale || this.id || MC_DEFAULT_LOCALE_ID;
837
+ let parsedDigitsInfo;
838
+ if (digitsInfo) {
839
+ parsedDigitsInfo = parseDigitsInfo(digitsInfo);
840
+ }
841
+ const options = {
842
+ ...this.options,
843
+ ...parsedDigitsInfo
844
+ };
845
+ try {
846
+ const num = strToNumber(value);
847
+ /* Guideline requires for group separator to be `space`, as in 'ru-RU' locale.
848
+ * But by default in es-LA locale is used `comma`.
849
+ * To reduce data manipulation, 'ru-RU' locale is used. */
850
+ if (currentLocale === 'es-LA') {
851
+ return Intl.NumberFormat.call(this, 'ru-RU', options).format(num);
852
+ }
853
+ return Intl.NumberFormat.call(this, currentLocale, options).format(num);
854
+ }
855
+ catch (error) {
856
+ throw Error(`InvalidPipeArgument: McDecimalPipe for pipe '${JSON.stringify(error.message)}'`);
857
+ }
858
+ }
859
+ }
860
+ /** @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 });
861
+ /** @nocollapse */ McTableNumberPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: McTableNumberPipe, name: "mcTableNumber", pure: false });
862
+ /** @nocollapse */ McTableNumberPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTableNumberPipe, providedIn: 'root' });
863
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTableNumberPipe, decorators: [{
864
+ type: Injectable,
865
+ args: [{ providedIn: 'root' }]
866
+ }, {
867
+ type: Pipe,
868
+ args: [{ name: 'mcTableNumber', pure: false }]
869
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
870
+ type: Optional
871
+ }, {
872
+ type: Inject,
873
+ args: [MC_LOCALE_ID]
874
+ }] }, { type: McLocaleService, decorators: [{
875
+ type: Optional
876
+ }, {
877
+ type: Inject,
878
+ args: [MC_LOCALE_SERVICE]
879
+ }] }, { type: ParsedDigitsInfo, decorators: [{
880
+ type: Optional
881
+ }, {
882
+ type: Inject,
883
+ args: [MC_NUMBER_FORMATTER_OPTIONS]
884
+ }] }]; } });
762
885
 
763
886
  class McFormattersModule {
764
887
  }
765
888
  /** @nocollapse */ McFormattersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McFormattersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
766
889
  /** @nocollapse */ McFormattersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: McFormattersModule, declarations: [McDecimalPipe,
890
+ McTableNumberPipe,
767
891
  AbsoluteDateFormatterPipe,
768
892
  AbsoluteDateTimeFormatterPipe,
769
893
  AbsoluteDateShortFormatterPipe,
@@ -777,6 +901,7 @@ class McFormattersModule {
777
901
  RangeDateTimeFormatterPipe,
778
902
  RangeShortDateTimeFormatterPipe,
779
903
  RangeMiddleDateTimeFormatterPipe], exports: [McDecimalPipe,
904
+ McTableNumberPipe,
780
905
  AbsoluteDateFormatterPipe,
781
906
  AbsoluteDateTimeFormatterPipe,
782
907
  AbsoluteDateShortFormatterPipe,
@@ -796,6 +921,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
796
921
  args: [{
797
922
  declarations: [
798
923
  McDecimalPipe,
924
+ McTableNumberPipe,
799
925
  AbsoluteDateFormatterPipe,
800
926
  AbsoluteDateTimeFormatterPipe,
801
927
  AbsoluteDateShortFormatterPipe,
@@ -812,6 +938,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
812
938
  ],
813
939
  exports: [
814
940
  McDecimalPipe,
941
+ McTableNumberPipe,
815
942
  AbsoluteDateFormatterPipe,
816
943
  AbsoluteDateTimeFormatterPipe,
817
944
  AbsoluteDateShortFormatterPipe,
@@ -1112,11 +1239,51 @@ class McOptionSelectionChange {
1112
1239
  * Injection token used to provide the parent component to options.
1113
1240
  */
1114
1241
  const MC_OPTION_PARENT_COMPONENT = new InjectionToken('MC_OPTION_PARENT_COMPONENT');
1242
+ class McOptionBase {
1243
+ /** Emits the selection change event. */
1244
+ emitSelectionChangeEvent(isUserInput = false) {
1245
+ this.onSelectionChange.emit(new McOptionSelectionChange(this, isUserInput));
1246
+ }
1247
+ }
1248
+ class McVirtualOption extends McOptionBase {
1249
+ constructor(value, _disabled = false) {
1250
+ super();
1251
+ this.value = value;
1252
+ this._disabled = _disabled;
1253
+ this._selected = false;
1254
+ this.onSelectionChange = new EventEmitter();
1255
+ }
1256
+ get disabled() {
1257
+ return this._disabled;
1258
+ }
1259
+ set disabled(value) {
1260
+ this._disabled = coerceBooleanProperty(value);
1261
+ }
1262
+ get selected() {
1263
+ return this._selected;
1264
+ }
1265
+ get viewValue() {
1266
+ return this.value;
1267
+ }
1268
+ select() {
1269
+ if (!this._selected) {
1270
+ this._selected = true;
1271
+ this.emitSelectionChangeEvent();
1272
+ }
1273
+ }
1274
+ deselect() {
1275
+ if (this._selected) {
1276
+ this._selected = false;
1277
+ this.emitSelectionChangeEvent();
1278
+ }
1279
+ }
1280
+ }
1115
1281
  /**
1116
1282
  * Single option inside of a `<mc-select>` element.
1117
1283
  */
1118
- class McOption {
1284
+ class McOption extends McOptionBase {
1119
1285
  constructor(element, changeDetectorRef, parent, group) {
1286
+ super();
1120
1287
  this.element = element;
1121
1288
  this.changeDetectorRef = changeDetectorRef;
1122
1289
  this.parent = parent;
@@ -1265,15 +1432,11 @@ class McOption {
1265
1432
  getHostElement() {
1266
1433
  return this.element.nativeElement;
1267
1434
  }
1268
- /** Emits the selection change event. */
1269
- emitSelectionChangeEvent(isUserInput = false) {
1270
- this.onSelectionChange.emit(new McOptionSelectionChange(this, isUserInput));
1271
- }
1272
1435
  }
1273
1436
  /** @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
1437
  /** @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
1438
  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 });
1439
+ }], 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
1440
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McOption, decorators: [{
1278
1441
  type: Component,
1279
1442
  args: [{ selector: 'mc-option', exportAs: 'mcOption', host: {
@@ -1724,6 +1887,11 @@ const POSITION_TO_CSS_MAP = {
1724
1887
  bottomLeft: 'bottom-left',
1725
1888
  bottomRight: 'bottom-right'
1726
1889
  };
1890
+ const MC_CUSTOM_SCROLL_STRATEGY_PROVIDER = (token, factory) => ({
1891
+ provide: token,
1892
+ deps: [Overlay],
1893
+ useFactory: factory
1894
+ });
1727
1895
  function arrayMap(array, iteratee) {
1728
1896
  let index = -1;
1729
1897
  const length = array === null ? 0 : array.length;
@@ -2306,11 +2474,11 @@ const validationTooltipShowDelay = 10;
2306
2474
  const validationTooltipHideDelay = 3000;
2307
2475
  const MC_VALIDATION = new InjectionToken('McUseValidation', { factory: () => ({ useValidation: true }) });
2308
2476
 
2309
- const VERSION = new Version('15.6.0+sha-7ad3c34');
2477
+ const VERSION = new Version('15.7.2+sha-5634186');
2310
2478
 
2311
2479
  /**
2312
2480
  * Generated bundle index. Do not edit.
2313
2481
  */
2314
2482
 
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 };
2483
+ 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
2484
  //# sourceMappingURL=ptsecurity-mosaic-core.mjs.map