@ptsecurity/mosaic 17.2.1 → 17.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/autocomplete/autocomplete.scss +0 -2
  2. package/button/_button-theme.scss +3 -3
  3. package/button-toggle/_button-toggle-theme.scss +2 -2
  4. package/checkbox/_checkbox-theme.scss +1 -1
  5. package/code-block/_code-block-theme.scss +2 -2
  6. package/core/form-field/form-field-ref.d.ts +13 -0
  7. package/core/form-field/index.d.ts +1 -0
  8. package/core/forms/_forms-theme.scss +2 -2
  9. package/core/option/_optgroup-theme.scss +1 -1
  10. package/core/option/_option-theme.scss +1 -1
  11. package/core/public-api.d.ts +1 -0
  12. package/core/select/common.d.ts +35 -0
  13. package/core/select/index.d.ts +1 -0
  14. package/core/styles/common/_tokens.scss +29 -20
  15. package/core/styles/theming/_alerts.scss +5 -5
  16. package/core/styles/theming/_badges.scss +6 -6
  17. package/core/styles/typography/_typography.scss +26 -26
  18. package/datepicker/_datepicker-theme.scss +4 -4
  19. package/dl/_dl-theme.scss +8 -8
  20. package/dropdown/_dropdown-theme.scss +4 -4
  21. package/esm2022/core/form-field/form-field-ref.mjs +8 -0
  22. package/esm2022/core/form-field/index.mjs +2 -0
  23. package/esm2022/core/public-api.mjs +2 -1
  24. package/esm2022/core/select/common.mjs +119 -0
  25. package/esm2022/core/select/index.mjs +2 -1
  26. package/esm2022/core/version.mjs +2 -2
  27. package/esm2022/datepicker/calendar-header.component.mjs +1 -1
  28. package/esm2022/form-field/form-field.mjs +5 -11
  29. package/esm2022/form-field/password-hint.mjs +5 -4
  30. package/esm2022/select/select.component.mjs +15 -111
  31. package/esm2022/select/select.module.mjs +17 -17
  32. package/esm2022/tags/tag-default-options.mjs +1 -1
  33. package/esm2022/tags/tag-input.mjs +17 -3
  34. package/esm2022/timepicker/timepicker.directive.mjs +10 -2
  35. package/esm2022/timezone/timezone-select.component.mjs +3 -3
  36. package/esm2022/toast/toast.service.mjs +17 -11
  37. package/esm2022/tree-select/tree-select.component.mjs +4 -5
  38. package/fesm2022/ptsecurity-mosaic-core.mjs +125 -4
  39. package/fesm2022/ptsecurity-mosaic-core.mjs.map +1 -1
  40. package/fesm2022/ptsecurity-mosaic-datepicker.mjs +1 -1
  41. package/fesm2022/ptsecurity-mosaic-datepicker.mjs.map +1 -1
  42. package/fesm2022/ptsecurity-mosaic-form-field.mjs +7 -13
  43. package/fesm2022/ptsecurity-mosaic-form-field.mjs.map +1 -1
  44. package/fesm2022/ptsecurity-mosaic-select.mjs +34 -130
  45. package/fesm2022/ptsecurity-mosaic-select.mjs.map +1 -1
  46. package/fesm2022/ptsecurity-mosaic-tags.mjs +17 -4
  47. package/fesm2022/ptsecurity-mosaic-tags.mjs.map +1 -1
  48. package/fesm2022/ptsecurity-mosaic-timepicker.mjs +9 -1
  49. package/fesm2022/ptsecurity-mosaic-timepicker.mjs.map +1 -1
  50. package/fesm2022/ptsecurity-mosaic-timezone.mjs +2 -2
  51. package/fesm2022/ptsecurity-mosaic-timezone.mjs.map +1 -1
  52. package/fesm2022/ptsecurity-mosaic-toast.mjs +15 -9
  53. package/fesm2022/ptsecurity-mosaic-toast.mjs.map +1 -1
  54. package/fesm2022/ptsecurity-mosaic-tree-select.mjs +4 -4
  55. package/fesm2022/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  56. package/file-upload/_file-upload-theme.scss +7 -7
  57. package/form-field/_form-field-theme.scss +7 -5
  58. package/form-field/form-field.d.ts +1 -7
  59. package/input/_input-theme.scss +4 -4
  60. package/link/_link-theme.scss +2 -2
  61. package/list/_list-theme.scss +1 -1
  62. package/loader-overlay/_loader-overlay-theme.scss +2 -2
  63. package/markdown/_markdown-theme.scss +14 -14
  64. package/modal/_modal-theme.scss +2 -2
  65. package/navbar/_navbar-theme.scss +4 -4
  66. package/package.json +16 -16
  67. package/popover/_popover-theme.scss +3 -3
  68. package/prebuilt-themes/dark-theme.css +1 -1
  69. package/prebuilt-themes/default-theme.css +1 -1
  70. package/radio/_radio-theme.scss +1 -1
  71. package/select/_select-theme.scss +2 -2
  72. package/select/select.component.d.ts +2 -32
  73. package/select/select.module.d.ts +1 -1
  74. package/sidepanel/_sidepanel-theme.scss +3 -3
  75. package/table/_table-theme.scss +2 -2
  76. package/tabs/_tabs-theme.scss +1 -1
  77. package/tags/_tag-theme.scss +5 -5
  78. package/tags/tag-default-options.d.ts +1 -0
  79. package/tags/tag-input.d.ts +7 -1
  80. package/textarea/_textarea-theme.scss +2 -2
  81. package/timezone/_timezone-option-theme.scss +3 -3
  82. package/timezone/timezone-select.component.d.ts +2 -1
  83. package/toast/_toast-theme.scss +3 -3
  84. package/toast/toast.service.d.ts +8 -4
  85. package/toggle/_toggle-theme.scss +2 -2
  86. package/tooltip/_tooltip-theme.scss +3 -3
  87. package/tree/_tree-theme.scss +1 -1
  88. package/tree-select/_tree-select-theme.scss +1 -1
  89. package/tree-select/tree-select.component.d.ts +1 -2
@@ -7,10 +7,10 @@ import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coerci
7
7
  import * as i1 from '@mosaic-design/date-adapter';
8
8
  import { DateAdapter as DateAdapter$1 } from '@mosaic-design/date-adapter';
9
9
  import { DateFormatter as DateFormatter$1 } from '@mosaic-design/date-formatter';
10
- import { BehaviorSubject, Subject } from 'rxjs';
10
+ import { BehaviorSubject, Subject, Subscription } from 'rxjs';
11
11
  import * as i2 from '@angular/common';
12
12
  import { CommonModule, DOCUMENT } from '@angular/common';
13
- import { ENTER, SPACE, TAB, ESCAPE } from '@ptsecurity/cdk/keycodes';
13
+ import { ENTER, SPACE, TAB, ESCAPE, HOME, END } from '@ptsecurity/cdk/keycodes';
14
14
  import * as i1$1 from '@angular/cdk/a11y';
15
15
  import { takeUntil, distinctUntilChanged, delay } from 'rxjs/operators';
16
16
  import * as i1$2 from '@angular/cdk/overlay';
@@ -1293,6 +1293,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImpor
1293
1293
  }]
1294
1294
  }] });
1295
1295
 
1296
+ /**
1297
+ * Injection token that can be used to inject an instances of `McFormField`. It serves
1298
+ * as alternative token to the actual `McFormField` class which would cause unnecessary
1299
+ * retention of the `McFormField` class and its component metadata.
1300
+ */
1301
+ const MC_FORM_FIELD_REF = new InjectionToken('McFormFieldRef');
1302
+
1296
1303
  function escapeRegExp(value) {
1297
1304
  if (value) {
1298
1305
  return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
@@ -2598,6 +2605,120 @@ const MC_SELECT_SCROLL_STRATEGY_PROVIDER = {
2598
2605
  useFactory: mcSelectScrollStrategyProviderFactory
2599
2606
  };
2600
2607
 
2608
+ /* tslint:disable:no-empty */
2609
+ class McSelectFooter {
2610
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: McSelectFooter, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2611
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0", type: McSelectFooter, isStandalone: true, selector: "mc-select-footer, [mc-select-footer]", host: { classAttribute: "mc-select__footer" }, ngImport: i0 }); }
2612
+ }
2613
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: McSelectFooter, decorators: [{
2614
+ type: Directive,
2615
+ args: [{
2616
+ selector: 'mc-select-footer, [mc-select-footer]',
2617
+ standalone: true,
2618
+ host: { class: 'mc-select__footer' }
2619
+ }]
2620
+ }] });
2621
+ class McSelectSearch {
2622
+ get ngControl() {
2623
+ return this.formField.control.ngControl;
2624
+ }
2625
+ constructor(formField) {
2626
+ this.formField = formField;
2627
+ this.searchChangesSubscription = new Subscription();
2628
+ this.isSearchChanged = false;
2629
+ formField.canCleanerClearByEsc = false;
2630
+ }
2631
+ focus() {
2632
+ this.formField.focusViaKeyboard();
2633
+ }
2634
+ reset() {
2635
+ this.ngControl.reset();
2636
+ }
2637
+ value() {
2638
+ return this.formField.control.value;
2639
+ }
2640
+ ngAfterContentInit() {
2641
+ if (this.formField.control.controlType !== 'input') {
2642
+ throw Error('McSelectSearch does not work without mcInput');
2643
+ }
2644
+ if (!this.ngControl) {
2645
+ throw Error('McSelectSearch does not work without ngControl');
2646
+ }
2647
+ Promise.resolve().then(() => {
2648
+ this.searchChangesSubscription = this.ngControl.valueChanges
2649
+ .subscribe(() => this.isSearchChanged = true);
2650
+ });
2651
+ }
2652
+ ngOnDestroy() {
2653
+ this.searchChangesSubscription.unsubscribe();
2654
+ }
2655
+ handleKeydown(event) {
2656
+ // tslint:disable-next-line:deprecation
2657
+ if (event.keyCode === ESCAPE) {
2658
+ if (this.value()) {
2659
+ this.reset();
2660
+ event.stopPropagation();
2661
+ }
2662
+ }
2663
+ // tslint:disable-next-line:deprecation
2664
+ if ([SPACE, HOME, END].includes(event.keyCode)) {
2665
+ event.stopPropagation();
2666
+ }
2667
+ }
2668
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: McSelectSearch, deps: [{ token: MC_FORM_FIELD_REF, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
2669
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0", type: McSelectSearch, isStandalone: true, selector: "[mcSelectSearch]", host: { listeners: { "keydown": "handleKeydown($event)" } }, exportAs: ["mcSelectSearch"], ngImport: i0 }); }
2670
+ }
2671
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: McSelectSearch, decorators: [{
2672
+ type: Directive,
2673
+ args: [{
2674
+ selector: '[mcSelectSearch]',
2675
+ exportAs: 'mcSelectSearch',
2676
+ standalone: true,
2677
+ host: {
2678
+ '(keydown)': 'handleKeydown($event)'
2679
+ }
2680
+ }]
2681
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
2682
+ type: Optional
2683
+ }, {
2684
+ type: Inject,
2685
+ args: [MC_FORM_FIELD_REF]
2686
+ }] }] });
2687
+ class McSelectSearchEmptyResult {
2688
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: McSelectSearchEmptyResult, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2689
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0", type: McSelectSearchEmptyResult, isStandalone: true, selector: "[mc-select-search-empty-result]", exportAs: ["mcSelectSearchEmptyResult"], ngImport: i0 }); }
2690
+ }
2691
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: McSelectSearchEmptyResult, decorators: [{
2692
+ type: Directive,
2693
+ args: [{
2694
+ selector: '[mc-select-search-empty-result]',
2695
+ exportAs: 'mcSelectSearchEmptyResult',
2696
+ standalone: true
2697
+ }]
2698
+ }] });
2699
+ class McSelectTrigger {
2700
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: McSelectTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2701
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0", type: McSelectTrigger, isStandalone: true, selector: "mc-select-trigger, [mc-select-trigger]", ngImport: i0 }); }
2702
+ }
2703
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: McSelectTrigger, decorators: [{
2704
+ type: Directive,
2705
+ args: [{
2706
+ selector: 'mc-select-trigger, [mc-select-trigger]',
2707
+ standalone: true
2708
+ }]
2709
+ }] });
2710
+ class McSelectMatcher {
2711
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: McSelectMatcher, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2712
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0", type: McSelectMatcher, isStandalone: true, selector: "mc-select-matcher, [mc-select-matcher]", ngImport: i0 }); }
2713
+ }
2714
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: McSelectMatcher, decorators: [{
2715
+ type: Directive,
2716
+ args: [{
2717
+ selector: 'mc-select-matcher, [mc-select-matcher]',
2718
+ standalone: true
2719
+ }]
2720
+ }] });
2721
+
2601
2722
  class McMeasureScrollbarService {
2602
2723
  get scrollBarWidth() {
2603
2724
  if (this._scrollBarWidth) {
@@ -2751,11 +2872,11 @@ const validationTooltipShowDelay = 10;
2751
2872
  const validationTooltipHideDelay = 3000;
2752
2873
  const MC_VALIDATION = new InjectionToken('McUseValidation', { factory: () => ({ useValidation: true }) });
2753
2874
 
2754
- const VERSION = new Version('17.2.1+sha-b044877');
2875
+ const VERSION = new Version('17.3.0+sha-140375c');
2755
2876
 
2756
2877
  /**
2757
2878
  * Generated bundle index. Do not edit.
2758
2879
  */
2759
2880
 
2760
- 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_PARENT_ANIMATION_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, McRoundDecimalPipe, 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, isWithin, mcSelectAnimations, mcSelectScrollStrategyProviderFactory, mixinColor, mixinDisabled, mixinErrorState, mixinTabIndex, selectEvents, sizeUnitsConfig, toBoolean, validationTooltipHideDelay, validationTooltipShowDelay };
2881
+ 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_FORM_FIELD_REF, 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_PARENT_ANIMATION_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, McRoundDecimalPipe, McSelectFooter, McSelectMatcher, McSelectSearch, McSelectSearchEmptyResult, McSelectTrigger, 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, isWithin, mcSelectAnimations, mcSelectScrollStrategyProviderFactory, mixinColor, mixinDisabled, mixinErrorState, mixinTabIndex, selectEvents, sizeUnitsConfig, toBoolean, validationTooltipHideDelay, validationTooltipShowDelay };
2761
2882
  //# sourceMappingURL=ptsecurity-mosaic-core.mjs.map