@ptsecurity/mosaic 15.2.0 → 15.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.
- package/_theming.scss +7 -6
- package/checkbox/_checkbox-theme.scss +4 -2
- package/core/datetime/date-adapter.d.ts +2 -2
- package/core/formatters/number/formatter.d.ts +5 -5
- package/core/forms/_forms.scss +1 -1
- package/core/locales/en-US.d.ts +11 -0
- package/core/locales/es-LA.d.ts +7 -0
- package/core/locales/fa-IR.d.ts +7 -0
- package/core/locales/index.d.ts +4 -0
- package/core/locales/locale-service.d.ts +63 -0
- package/core/locales/locale-service.module.d.ts +6 -0
- package/core/locales/pt-BR.d.ts +7 -0
- package/core/locales/ru-RU.d.ts +11 -0
- package/core/locales/zh-CN.d.ts +7 -0
- package/core/option/option.d.ts +2 -1
- package/core/public-api.d.ts +2 -0
- package/core/styles/theming/_components-theming.scss +0 -1
- package/core/title/index.d.ts +1 -0
- package/core/title/title-text-ref.d.ts +6 -0
- package/datepicker/calendar.component.d.ts +3 -2
- package/datepicker/datepicker-input.directive.d.ts +9 -4
- package/dropdown/dropdown-item.component.d.ts +3 -2
- package/esm2020/core/datetime/date-adapter.mjs +1 -1
- package/esm2020/core/formatters/number/formatter.mjs +17 -9
- package/esm2020/core/locales/en-US.mjs +10 -0
- package/esm2020/core/locales/es-LA.mjs +6 -0
- package/esm2020/core/locales/fa-IR.mjs +6 -0
- package/esm2020/core/locales/index.mjs +5 -0
- package/esm2020/core/locales/locale-service.mjs +70 -0
- package/esm2020/core/locales/locale-service.module.mjs +19 -0
- package/esm2020/core/locales/pt-BR.mjs +6 -0
- package/esm2020/core/locales/ru-RU.mjs +10 -0
- package/esm2020/core/locales/zh-CN.mjs +6 -0
- package/esm2020/core/option/option.mjs +9 -4
- package/esm2020/core/public-api.mjs +3 -1
- package/esm2020/core/title/index.mjs +2 -0
- package/esm2020/core/title/title-text-ref.mjs +3 -0
- package/esm2020/core/version.mjs +2 -2
- package/esm2020/datepicker/calendar.component.mjs +7 -4
- package/esm2020/datepicker/datepicker-input.directive.mjs +36 -13
- package/esm2020/dropdown/dropdown-item.component.mjs +13 -6
- package/esm2020/form-field/form-field.mjs +2 -2
- package/esm2020/list/list-selection.component.mjs +13 -8
- package/esm2020/list/list.component.mjs +2 -2
- package/esm2020/popover/popover.module.mjs +10 -4
- package/esm2020/select/select.component.mjs +56 -33
- package/esm2020/sidepanel/sidepanel-directives.mjs +5 -4
- package/esm2020/sidepanel/sidepanel.module.mjs +5 -1
- package/esm2020/tags/tag.component.mjs +9 -6
- package/esm2020/title/index.mjs +2 -0
- package/esm2020/title/ptsecurity-mosaic-title.mjs +5 -0
- package/esm2020/title/public-api.mjs +3 -0
- package/esm2020/title/title.directive.mjs +107 -0
- package/esm2020/title/title.module.mjs +21 -0
- package/esm2020/tree/tree-option.component.mjs +10 -5
- package/fesm2015/ptsecurity-mosaic-core.mjs +143 -14
- package/fesm2015/ptsecurity-mosaic-core.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-datepicker.mjs +42 -15
- package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-dropdown.mjs +12 -5
- package/fesm2015/ptsecurity-mosaic-dropdown.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-form-field.mjs +2 -2
- package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-list.mjs +14 -9
- package/fesm2015/ptsecurity-mosaic-list.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-popover.mjs +9 -3
- package/fesm2015/ptsecurity-mosaic-popover.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-select.mjs +66 -41
- package/fesm2015/ptsecurity-mosaic-select.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-sidepanel.mjs +8 -3
- package/fesm2015/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tags.mjs +8 -5
- package/fesm2015/ptsecurity-mosaic-tags.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-title.mjs +131 -0
- package/fesm2015/ptsecurity-mosaic-title.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-tree.mjs +9 -4
- package/fesm2015/ptsecurity-mosaic-tree.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-core.mjs +149 -14
- package/fesm2020/ptsecurity-mosaic-core.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-datepicker.mjs +41 -15
- package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-dropdown.mjs +12 -5
- package/fesm2020/ptsecurity-mosaic-dropdown.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-form-field.mjs +2 -2
- package/fesm2020/ptsecurity-mosaic-form-field.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-list.mjs +14 -9
- package/fesm2020/ptsecurity-mosaic-list.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-popover.mjs +9 -3
- package/fesm2020/ptsecurity-mosaic-popover.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-select.mjs +64 -41
- package/fesm2020/ptsecurity-mosaic-select.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-sidepanel.mjs +8 -3
- package/fesm2020/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tags.mjs +8 -5
- package/fesm2020/ptsecurity-mosaic-tags.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-title.mjs +128 -0
- package/fesm2020/ptsecurity-mosaic-title.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-tree.mjs +9 -4
- package/fesm2020/ptsecurity-mosaic-tree.mjs.map +1 -1
- package/form-field/_form-field-theme.scss +1 -0
- package/input/_input-theme.scss +2 -1
- package/list/_list-base.scss +4 -0
- package/list/list-selection.component.d.ts +3 -2
- package/package.json +10 -2
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/default-theme.css +1 -1
- package/select/select.component.d.ts +10 -5
- package/sidepanel/_sidepanel-theme.scss +4 -4
- package/sidepanel/sidepanel.module.d.ts +3 -2
- package/tags/tag.component.d.ts +3 -2
- package/title/index.d.ts +1 -0
- package/title/public-api.d.ts +2 -0
- package/title/title.directive.d.ts +31 -0
- package/title/title.module.d.ts +11 -0
- package/tree/tree-option.component.d.ts +3 -2
@@ -1,16 +1,15 @@
|
|
1
|
-
import * as i2 from '@angular/cdk/overlay';
|
1
|
+
import * as i2$1 from '@angular/cdk/overlay';
|
2
2
|
import { CdkConnectedOverlay, OverlayModule } from '@angular/cdk/overlay';
|
3
3
|
import * as i5 from '@angular/common';
|
4
4
|
import { CommonModule } from '@angular/common';
|
5
5
|
import * as i0 from '@angular/core';
|
6
|
-
import { Directive, Inject, Optional, ContentChild, EventEmitter, isDevMode, Component, ViewEncapsulation, ChangeDetectionStrategy, Self, ViewChild, ViewChildren, ContentChildren, Input, Output, NgModule } from '@angular/core';
|
7
|
-
import * as
|
8
|
-
import { mixinTabIndex, mixinDisabled, mixinErrorState, getMcSelectDynamicMultipleError, getMcSelectNonFunctionValueError, getMcSelectNonArrayValueError, SELECT_PANEL_PADDING_X, SELECT_PANEL_INDENT_PADDING_X, SELECT_PANEL_VIEWPORT_PADDING, MC_SELECT_SCROLL_STRATEGY, MC_OPTION_PARENT_COMPONENT, McOption, McOptgroup, mcSelectAnimations, McOptionModule, MC_SELECT_SCROLL_STRATEGY_PROVIDER } from '@ptsecurity/mosaic/core';
|
9
|
-
import * as i1
|
6
|
+
import { Directive, Inject, Optional, ContentChild, EventEmitter, isDevMode, TemplateRef, Component, ViewEncapsulation, ChangeDetectionStrategy, Self, ViewChild, ViewChildren, ContentChildren, Input, Output, NgModule } from '@angular/core';
|
7
|
+
import * as i2 from '@ptsecurity/mosaic/core';
|
8
|
+
import { mixinTabIndex, mixinDisabled, mixinErrorState, getMcSelectDynamicMultipleError, getMcSelectNonFunctionValueError, getMcSelectNonArrayValueError, SELECT_PANEL_PADDING_X, SELECT_PANEL_INDENT_PADDING_X, SELECT_PANEL_VIEWPORT_PADDING, MC_SELECT_SCROLL_STRATEGY, MC_LOCALE_SERVICE, MC_OPTION_PARENT_COMPONENT, McOption, McOptgroup, mcSelectAnimations, McOptionModule, MC_SELECT_SCROLL_STRATEGY_PROVIDER } from '@ptsecurity/mosaic/core';
|
9
|
+
import * as i1 from '@ptsecurity/mosaic/form-field';
|
10
10
|
import { McFormFieldControl, McFormFieldModule } from '@ptsecurity/mosaic/form-field';
|
11
11
|
import * as i7 from '@ptsecurity/mosaic/icon';
|
12
12
|
import { McIconModule } from '@ptsecurity/mosaic/icon';
|
13
|
-
import * as i8 from '@ptsecurity/mosaic/tags';
|
14
13
|
import { McTag, McTagsModule } from '@ptsecurity/mosaic/tags';
|
15
14
|
import { McTooltipTrigger, MC_TOOLTIP_SCROLL_STRATEGY, McToolTipModule } from '@ptsecurity/mosaic/tooltip';
|
16
15
|
import * as i3 from '@angular/cdk/bidi';
|
@@ -61,7 +60,7 @@ class McOptionTooltip extends McTooltipTrigger {
|
|
61
60
|
this.disabled = true;
|
62
61
|
}
|
63
62
|
}
|
64
|
-
/** @nocollapse */ McOptionTooltip.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: McOptionTooltip, deps: [{ token:
|
63
|
+
/** @nocollapse */ McOptionTooltip.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: McOptionTooltip, deps: [{ token: i2.McOption }, { token: i2$1.Overlay }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i2$1.ScrollDispatcher }, { token: i0.ViewContainerRef }, { token: MC_TOOLTIP_SCROLL_STRATEGY }, { token: i3.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
65
64
|
/** @nocollapse */ McOptionTooltip.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: McOptionTooltip, selector: "mc-option", host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()" } }, usesInheritance: true, ngImport: i0 });
|
66
65
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: McOptionTooltip, decorators: [{
|
67
66
|
type: Directive,
|
@@ -73,7 +72,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
73
72
|
}
|
74
73
|
}]
|
75
74
|
}], ctorParameters: function () {
|
76
|
-
return [{ type:
|
75
|
+
return [{ type: i2.McOption }, { type: i2$1.Overlay }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i2$1.ScrollDispatcher }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{
|
77
76
|
type: Inject,
|
78
77
|
args: [MC_TOOLTIP_SCROLL_STRATEGY]
|
79
78
|
}] }, { type: i3.Directionality, decorators: [{
|
@@ -139,7 +138,7 @@ class McSelectSearch {
|
|
139
138
|
}
|
140
139
|
}
|
141
140
|
}
|
142
|
-
/** @nocollapse */ McSelectSearch.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: McSelectSearch, deps: [{ token: i1
|
141
|
+
/** @nocollapse */ McSelectSearch.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: McSelectSearch, deps: [{ token: i1.McFormField }], target: i0.ɵɵFactoryTarget.Directive });
|
143
142
|
/** @nocollapse */ McSelectSearch.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: McSelectSearch, selector: "[mcSelectSearch]", host: { listeners: { "keydown": "handleKeydown($event)" } }, queries: [{ propertyName: "input", first: true, predicate: McInput, descendants: true }], exportAs: ["mcSelectSearch"], ngImport: i0 });
|
144
143
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: McSelectSearch, decorators: [{
|
145
144
|
type: Directive,
|
@@ -150,7 +149,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
150
149
|
'(keydown)': 'handleKeydown($event)'
|
151
150
|
}
|
152
151
|
}]
|
153
|
-
}], ctorParameters: function () { return [{ type: i1
|
152
|
+
}], ctorParameters: function () { return [{ type: i1.McFormField }]; }, propDecorators: { input: [{
|
154
153
|
type: ContentChild,
|
155
154
|
args: [McInput, { static: false }]
|
156
155
|
}] } });
|
@@ -200,7 +199,8 @@ class McSelectBase {
|
|
200
199
|
/** @docs-private */
|
201
200
|
const McSelectMixinBase = mixinTabIndex(mixinDisabled(mixinErrorState(McSelectBase)));
|
202
201
|
class McSelect extends McSelectMixinBase {
|
203
|
-
constructor(_changeDetectorRef, _ngZone, _renderer, defaultErrorStateMatcher, elementRef, _dir, parentForm, parentFormGroup, parentFormField, ngControl, scrollStrategyFactory) {
|
202
|
+
constructor(_changeDetectorRef, _ngZone, _renderer, defaultErrorStateMatcher, elementRef, _dir, parentForm, parentFormGroup, parentFormField, ngControl, scrollStrategyFactory, localeService) {
|
203
|
+
var _a;
|
204
204
|
super(elementRef, defaultErrorStateMatcher, parentForm, parentFormGroup, ngControl);
|
205
205
|
this._changeDetectorRef = _changeDetectorRef;
|
206
206
|
this._ngZone = _ngZone;
|
@@ -208,6 +208,7 @@ class McSelect extends McSelectMixinBase {
|
|
208
208
|
this._dir = _dir;
|
209
209
|
this.parentFormField = parentFormField;
|
210
210
|
this.scrollStrategyFactory = scrollStrategyFactory;
|
211
|
+
this.localeService = localeService;
|
211
212
|
/** A name for this control that can be used by `mc-form-field`. */
|
212
213
|
this.controlType = 'select';
|
213
214
|
this.hiddenItems = 0;
|
@@ -289,8 +290,14 @@ class McSelect extends McSelectMixinBase {
|
|
289
290
|
this.onChange = () => { };
|
290
291
|
/** `View -> model callback called when select has been touched` */
|
291
292
|
this.onTouched = () => { };
|
293
|
+
this.updateLocaleParams = () => {
|
294
|
+
var _a;
|
295
|
+
this.hiddenItemsText = (_a = this.localeService) === null || _a === void 0 ? void 0 : _a.getParams('select').hiddenItemsText;
|
296
|
+
this._changeDetectorRef.markForCheck();
|
297
|
+
};
|
292
298
|
/** Comparison function to specify which option is displayed. Defaults to object equality. */
|
293
299
|
this._compareWith = (o1, o2) => o1 === o2;
|
300
|
+
(_a = this.localeService) === null || _a === void 0 ? void 0 : _a.changes.subscribe(this.updateLocaleParams);
|
294
301
|
if (this.ngControl) {
|
295
302
|
// Note: we provide the value accessor through here, instead of
|
296
303
|
// the `providers` to avoid running into a circular import.
|
@@ -429,9 +436,8 @@ class McSelect extends McSelectMixinBase {
|
|
429
436
|
this._changeDetectorRef.markForCheck();
|
430
437
|
}
|
431
438
|
});
|
432
|
-
this.visibleChanges
|
433
|
-
.
|
434
|
-
.subscribe(() => this.calculateHiddenItems());
|
439
|
+
merge(this.optionSelectionChanges, this.visibleChanges).pipe(takeUntil(this.destroy), distinctUntilChanged())
|
440
|
+
.subscribe(() => setTimeout(() => this.calculateHiddenItems(), 0));
|
435
441
|
}
|
436
442
|
ngAfterContentInit() {
|
437
443
|
this.initKeyManager();
|
@@ -658,35 +664,26 @@ class McSelect extends McSelectMixinBase {
|
|
658
664
|
if (this.customTrigger || this.empty || !this.multiple) {
|
659
665
|
return;
|
660
666
|
}
|
661
|
-
let visibleItems = 0;
|
662
667
|
const totalItemsWidth = this.getTotalItemsWidthInMatcher();
|
663
|
-
|
664
|
-
this.tags.forEach((tag) => {
|
665
|
-
if (tag.nativeElement.offsetTop < tag.nativeElement.offsetHeight) {
|
666
|
-
totalVisibleItemsWidth += this.getItemWidth(tag.nativeElement);
|
667
|
-
visibleItems++;
|
668
|
-
}
|
669
|
-
});
|
668
|
+
const [totalVisibleItemsWidth, visibleItems] = this.getTotalVisibleItems();
|
670
669
|
this.hiddenItems = this.selected.length - visibleItems;
|
670
|
+
this._changeDetectorRef.detectChanges();
|
671
671
|
if (this.hiddenItems) {
|
672
672
|
const itemsCounter = this.trigger.nativeElement.querySelector('.mc-select__match-hidden-text');
|
673
673
|
const matcherList = this.trigger.nativeElement.querySelector('.mc-select__match-list');
|
674
674
|
const itemsCounterShowed = itemsCounter.offsetTop < itemsCounter.offsetHeight;
|
675
|
-
|
676
|
-
const itemsCounterWidth = 86;
|
675
|
+
const itemsCounterWidth = Math.floor(itemsCounter.getBoundingClientRect().width);
|
677
676
|
const matcherListWidth = Math.floor(matcherList.getBoundingClientRect().width);
|
678
677
|
const matcherWidth = matcherListWidth + (itemsCounterShowed ? itemsCounterWidth : 0);
|
679
678
|
if (itemsCounterShowed && (totalItemsWidth < matcherWidth)) {
|
680
679
|
this.hiddenItems = 0;
|
680
|
+
this._changeDetectorRef.detectChanges();
|
681
681
|
}
|
682
682
|
if (totalVisibleItemsWidth === matcherListWidth ||
|
683
683
|
(totalVisibleItemsWidth + itemsCounterWidth) < matcherListWidth) {
|
684
684
|
this._changeDetectorRef.markForCheck();
|
685
685
|
return;
|
686
686
|
}
|
687
|
-
else if (!itemsCounterShowed && (totalItemsWidth + itemsCounterWidth) > matcherWidth) {
|
688
|
-
this.hiddenItems++;
|
689
|
-
}
|
690
687
|
}
|
691
688
|
this._changeDetectorRef.markForCheck();
|
692
689
|
}
|
@@ -710,17 +707,13 @@ class McSelect extends McSelectMixinBase {
|
|
710
707
|
this.keyManager.withScrollSize(Math.floor(this.getHeightOfOptionsContainer() / this.options.first.getHeight()));
|
711
708
|
}
|
712
709
|
getTotalItemsWidthInMatcher() {
|
713
|
-
|
714
|
-
triggerClone.
|
715
|
-
|
716
|
-
this._renderer.setStyle(triggerClone, 'visibility', 'hidden');
|
717
|
-
this._renderer.setStyle(triggerClone, 'top', '-100%');
|
718
|
-
this._renderer.setStyle(triggerClone, 'left', '0');
|
710
|
+
var _a;
|
711
|
+
const triggerClone = this.buildTriggerClone();
|
712
|
+
(_a = triggerClone.querySelector('.mc-select__match-hidden-text')) === null || _a === void 0 ? void 0 : _a.remove();
|
719
713
|
this._renderer.appendChild(this.trigger.nativeElement, triggerClone);
|
720
714
|
let totalItemsWidth = 0;
|
721
|
-
triggerClone.querySelectorAll('mc-tag')
|
722
|
-
totalItemsWidth += this.getItemWidth(item);
|
723
|
-
});
|
715
|
+
triggerClone.querySelectorAll('mc-tag')
|
716
|
+
.forEach((item) => totalItemsWidth += this.getItemWidth(item));
|
724
717
|
triggerClone.remove();
|
725
718
|
return totalItemsWidth;
|
726
719
|
}
|
@@ -1065,12 +1058,36 @@ class McSelect extends McSelectMixinBase {
|
|
1065
1058
|
getOverlayWidth() {
|
1066
1059
|
return this.scrollStrategy._overlayRef.hostElement.clientWidth;
|
1067
1060
|
}
|
1061
|
+
getTotalVisibleItems() {
|
1062
|
+
const triggerClone = this.buildTriggerClone();
|
1063
|
+
this._renderer.setStyle(triggerClone.querySelector('.mc-select__match-hidden-text'), 'display', 'block');
|
1064
|
+
this._renderer.appendChild(this.trigger.nativeElement, triggerClone);
|
1065
|
+
let visibleItemsCount = 0;
|
1066
|
+
let totalVisibleItemsWidth = 0;
|
1067
|
+
triggerClone.querySelectorAll('mc-tag')
|
1068
|
+
.forEach((item) => {
|
1069
|
+
if (item.offsetTop < item.offsetHeight) {
|
1070
|
+
totalVisibleItemsWidth += this.getItemWidth(item);
|
1071
|
+
visibleItemsCount++;
|
1072
|
+
}
|
1073
|
+
});
|
1074
|
+
triggerClone.remove();
|
1075
|
+
return [totalVisibleItemsWidth, visibleItemsCount];
|
1076
|
+
}
|
1077
|
+
buildTriggerClone() {
|
1078
|
+
const triggerClone = this.trigger.nativeElement.cloneNode(true);
|
1079
|
+
this._renderer.setStyle(triggerClone, 'position', 'absolute');
|
1080
|
+
this._renderer.setStyle(triggerClone, 'visibility', 'hidden');
|
1081
|
+
this._renderer.setStyle(triggerClone, 'top', '-100%');
|
1082
|
+
this._renderer.setStyle(triggerClone, 'left', '0');
|
1083
|
+
return triggerClone;
|
1084
|
+
}
|
1068
1085
|
}
|
1069
|
-
/** @nocollapse */ McSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: McSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token:
|
1086
|
+
/** @nocollapse */ McSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: McSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i2.ErrorStateMatcher }, { token: i0.ElementRef }, { token: i3.Directionality, optional: true }, { token: i4.NgForm, optional: true }, { token: i4.FormGroupDirective, optional: true }, { token: i1.McFormField, optional: true }, { token: i4.NgControl, optional: true, self: true }, { token: MC_SELECT_SCROLL_STRATEGY }, { token: MC_LOCALE_SERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
1070
1087
|
/** @nocollapse */ McSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: McSelect, selector: "mc-select", inputs: { disabled: "disabled", tabIndex: "tabIndex", hiddenItemsText: "hiddenItemsText", panelClass: "panelClass", backdropClass: "backdropClass", errorStateMatcher: "errorStateMatcher", sortComparator: "sortComparator", hasBackdrop: "hasBackdrop", placeholder: "placeholder", required: "required", multiple: "multiple", compareWith: "compareWith", value: "value", id: "id", hiddenItemsTextFormatter: "hiddenItemsTextFormatter" }, outputs: { openedChange: "openedChange", openedStream: "opened", closedStream: "closed", selectionChange: "selectionChange", valueChange: "valueChange" }, host: { listeners: { "keydown": "handleKeydown($event)", "focus": "onFocus()", "blur": "onBlur()", "window:resize": "calculateHiddenItems()" }, properties: { "attr.id": "id", "attr.tabindex": "tabIndex", "attr.disabled": "disabled || null", "class.mc-disabled": "disabled", "class.mc-invalid": "errorState" }, classAttribute: "mc-select" }, providers: [
|
1071
1088
|
{ provide: McFormFieldControl, useExisting: McSelect },
|
1072
1089
|
{ provide: MC_OPTION_PARENT_COMPONENT, useExisting: McSelect }
|
1073
|
-
], queries: [{ propertyName: "customTrigger", first: true, predicate: McSelectTrigger, descendants: true }, { propertyName: "customMatcher", first: true, predicate: McSelectMatcher, descendants: true }, { propertyName: "cleaner", first: true, predicate: ["mcSelectCleaner"], descendants: true, static: true }, { propertyName: "search", first: true, predicate: McSelectSearch, descendants: true }, { propertyName: "options", predicate: McOption, descendants: true }, { propertyName: "optionGroups", predicate: McOptgroup }], viewQueries: [{ propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true }, { propertyName: "optionsContainer", first: true, predicate: ["optionsContainer"], descendants: true }, { propertyName: "overlayDir", first: true, predicate: CdkConnectedOverlay, descendants: true }, { propertyName: "tags", predicate: McTag, descendants: true }], exportAs: ["mcSelect"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div cdk-overlay-origin\n class=\"mc-select__trigger\"\n (click)=\"toggle()\"\n [class.mc-select__trigger_multiple]=\"multiple\"\n #origin=\"cdkOverlayOrigin\"\n #trigger\n [ngSwitch]=\"!!customMatcher\">\n\n <div class=\"mc-select__matcher\" *ngSwitchCase=\"false\">\n <span class=\"mc-select__placeholder\" *ngIf=\"empty\">{{ placeholder || '\\u00A0' }}</span>\n <span *ngIf=\"!empty\" [ngSwitch]=\"!!customTrigger\">\n <div *ngSwitchDefault [ngSwitch]=\"multiple\" class=\"mc-select__match-container\">\n <span *ngSwitchCase=\"false\" class=\"mc-select__matcher-text\">{{ triggerValue }}</span>\n <div *ngSwitchCase=\"true\" class=\"mc-select__match-list\">\n <mc-tag *ngFor=\"let option of triggerValues\"\n [disabled]=\"option.disabled || disabled\"\n [selectable]=\"false\"\n [class.mc-error]=\"errorState\">\n {{ option.viewValue }}\n <i mc-icon=\"mc-close-S_16\" mcTagRemove\n *ngIf=\"!option.disabled && !disabled\"\n (click)=\"onRemoveMatcherItem(option, $event)\">\n </i>\n </mc-tag>\n </div>\n <div class=\"mc-select__match-hidden-text\" [style.display]=\"hiddenItems > 0 ? 'block' : 'none'\">\n {{ hiddenItemsTextFormatter(hiddenItemsText, hiddenItems) }}\n </div>\n </div>\n <ng-content select=\"mc-select-trigger, [mc-select-trigger]\" *ngSwitchCase=\"true\"></ng-content>\n </span>\n\n <div class=\"mc-select__cleaner\" *ngIf=\"canShowCleaner\" (click)=\"clearValue($event)\">\n <ng-content select=\"mc-cleaner\"></ng-content>\n </div>\n\n <div class=\"mc-select__arrow-wrapper\">\n <i class=\"mc-select__arrow\" mc-icon=\"mc-angle-down-S_16\"></i>\n </div>\n </div>\n\n <ng-content select=\"mc-select-matcher, [mc-select-matcher]\" *ngSwitchCase=\"true\"></ng-content>\n</div>\n\n<ng-template\n cdk-connected-overlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayHasBackdrop]=\"hasBackdrop\"\n [cdkConnectedOverlayBackdropClass]=\"backdropClass\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayMinWidth]=\"triggerRect?.width!\"\n [cdkConnectedOverlayOffsetY]=\"offsetY\"\n (backdropClick)=\"close()\"\n (attach)=\"onAttached()\"\n (detach)=\"close()\">\n <div\n #panel\n class=\"mc-select__panel {{ getPanelTheme() }}\"\n [ngClass]=\"panelClass\"\n [style.transformOrigin]=\"transformOrigin\"\n [style.font-size.px]=\"triggerFontSize\"\n (keydown)=\"handleKeydown($event)\">\n\n <div *ngIf=\"search\" class=\"mc-select__search-container\">\n <ng-content select=\"[mcSelectSearch]\"></ng-content>\n </div>\n\n <div #optionsContainer\n class=\"mc-select__content mc-scrollbar\"\n [@fadeInContent]=\"'showing'\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\">\n\n <div *ngIf=\"isEmptySearchResult\" class=\"mc-select__no-options-message\">\n <ng-content select=\"[mc-select-search-empty-result]\"></ng-content>\n </div>\n <ng-content></ng-content>\n </div>\n\n <ng-content select=\"[mc-select-footer]\"></ng-content>\n </div>\n</ng-template>\n", styles: [".mc-select__matcher{display:flex;align-items:center;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-select__matcher>span{width:100%}.mc-select{box-sizing:border-box;display:inline-block;width:100%;outline:none}.mc-select .mc-select__trigger{display:flex;box-sizing:border-box;position:relative;height:calc(var(--mc-form-field-size-height, 32px) - var(--mc-form-field-size-border-width, 1px) * 2);cursor:pointer}.mc-select .mc-select__trigger .mc-select__matcher{padding-left:calc(var(--mc-select-size-left-padding, 12px) - var(--mc-form-field-size-border-width, 1px));padding-right:calc(var(--mc-select-size-right-padding, 6px) - var(--mc-form-field-size-border-width, 1px))}.mc-select .mc-select__trigger.mc-select__trigger_multiple .mc-select__matcher{padding-left:calc(var(--mc-select-size-left-padding-multiple, 12px) - var(--mc-form-field-size-border-width, 1px))}.mc-select .mc-select__trigger.mc-select__trigger_multiple .mc-select__matcher .mc-tag.mc-disabled .mc-tag__text{margin-right:7px}.mc-select.mc-disabled .mc-select__trigger{-webkit-user-select:none;user-select:none;cursor:default}.mc-select__no-options-message{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;position:relative;max-width:100%;height:var(--mc-option-size-height, 32px);cursor:default;outline:none;padding-left:var(--mc-option-size-horizontal-padding, 12px);padding-right:var(--mc-option-size-horizontal-padding, 12px)}.mc-select__match-list{display:flex;flex-wrap:wrap;overflow:hidden;max-height:calc(var(--mc-form-field-size-height, 32px) - var(--mc-form-field-size-border-width, 1px) * 2)}.mc-select__match-list .mc-tag{margin-right:4px}.mc-select__match-container{display:flex;flex-direction:row;justify-content:space-between;width:100%}.mc-select__match-container .mc-select__match-hidden-text{flex:0 0 70px;align-self:center;padding:0 8px;text-align:right}.mc-select__arrow-wrapper{display:flex;align-self:center}.mc-form-field-appearance-fill .mc-select__arrow-wrapper,.mc-form-field-appearance-standard .mc-select__arrow-wrapper{transform:translateY(-50%)}.mc-form-field-appearance-outline .mc-select__arrow-wrapper{transform:translateY(-25%)}.mc-select__panel{min-width:100%;max-width:var(--mc-select-panel-size-max-width, 640px);overflow:hidden;border-width:var(--mc-select-panel-size-border-width, 1px);border-style:solid;border-bottom-left-radius:var(--mc-select-panel-size-border-radius, 4px);border-bottom-right-radius:var(--mc-select-panel-size-border-radius, 4px)}.mc-select__panel .mc-optgroup-label,.mc-select__panel .mc-option{font-size:inherit;line-height:var(--mc-option-size-height, 32px);height:var(--mc-option-size-height, 32px)}.mc-select__content{max-height:var(--mc-select-panel-size-max-height, 232px);padding:var(--mc-select-panel-size-vertical-padding, 4px) 0;overflow:hidden auto}.mc-select__content .cdk-virtual-scroll-viewport{min-height:calc(var(--mc-select-panel-size-max-height, 232px) - 8px);max-height:calc(var(--mc-select-panel-size-max-height, 232px) - 8px)}.mc-form-field-type-select:not(.mc-disabled) .mc-form-field-flex{cursor:pointer}.mc-select__search-container{border-bottom-width:1px;border-bottom-style:solid}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i5.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i7.McIcon, selector: "[mc-icon]", inputs: ["color"] }, { kind: "directive", type: i7.McIconCSSStyler, selector: "[mc-icon]" }, { kind: "component", type: i8.McTag, selector: "mc-tag, [mc-tag], mc-basic-tag, [mc-basic-tag]", inputs: ["color", "selected", "value", "selectable", "removable", "tabindex", "disabled"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["mcTag"] }, { kind: "directive", type: i8.McTagRemove, selector: "[mcTagRemove]" }], animations: [
|
1090
|
+
], queries: [{ propertyName: "customTrigger", first: true, predicate: McSelectTrigger, descendants: true }, { propertyName: "customMatcher", first: true, predicate: McSelectMatcher, descendants: true }, { propertyName: "customTagTemplateRef", first: true, predicate: ["mcSelectTagContent"], descendants: true, read: TemplateRef }, { propertyName: "cleaner", first: true, predicate: ["mcSelectCleaner"], descendants: true, static: true }, { propertyName: "search", first: true, predicate: McSelectSearch, descendants: true }, { propertyName: "options", predicate: McOption, descendants: true }, { propertyName: "optionGroups", predicate: McOptgroup }], viewQueries: [{ propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true }, { propertyName: "optionsContainer", first: true, predicate: ["optionsContainer"], descendants: true }, { propertyName: "overlayDir", first: true, predicate: CdkConnectedOverlay, descendants: true }, { propertyName: "tags", predicate: McTag, descendants: true }], exportAs: ["mcSelect"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div cdk-overlay-origin\n class=\"mc-select__trigger\"\n (click)=\"toggle()\"\n [class.mc-select__trigger_multiple]=\"multiple\"\n #origin=\"cdkOverlayOrigin\"\n #trigger\n [ngSwitch]=\"!!customMatcher\">\n\n <div class=\"mc-select__matcher\" *ngSwitchCase=\"false\">\n <span class=\"mc-select__placeholder\" *ngIf=\"empty\">{{ placeholder || '\\u00A0' }}</span>\n <span *ngIf=\"!empty\" [ngSwitch]=\"!!customTrigger\">\n <div *ngSwitchDefault [ngSwitch]=\"multiple\" class=\"mc-select__match-container\">\n <span *ngSwitchCase=\"false\" class=\"mc-select__matcher-text\">{{ triggerValue }}</span>\n <div *ngSwitchCase=\"true\" class=\"mc-select__match-list\">\n <ng-container *ngFor=\"let option of triggerValues\"\n [ngTemplateOutlet]=\"customTagTemplateRef\"\n [ngTemplateOutletContext]=\"{$implicit: option, select: this}\">\n </ng-container>\n </div>\n <div class=\"mc-select__match-hidden-text\" [style.display]=\"hiddenItems > 0 ? 'block' : 'none'\">\n {{ hiddenItemsTextFormatter(hiddenItemsText, hiddenItems) }}\n </div>\n </div>\n <ng-content select=\"mc-select-trigger, [mc-select-trigger]\" *ngSwitchCase=\"true\"></ng-content>\n </span>\n\n <div class=\"mc-select__cleaner\" *ngIf=\"canShowCleaner\" (click)=\"clearValue($event)\">\n <ng-content select=\"mc-cleaner\"></ng-content>\n </div>\n\n <div class=\"mc-select__arrow-wrapper\">\n <i class=\"mc-select__arrow\" mc-icon=\"mc-angle-down-S_16\"></i>\n </div>\n </div>\n\n <ng-content select=\"mc-select-matcher, [mc-select-matcher]\" *ngSwitchCase=\"true\"></ng-content>\n</div>\n\n<ng-template\n cdk-connected-overlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayHasBackdrop]=\"hasBackdrop\"\n [cdkConnectedOverlayBackdropClass]=\"backdropClass\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayMinWidth]=\"triggerRect?.width!\"\n [cdkConnectedOverlayOffsetY]=\"offsetY\"\n (backdropClick)=\"close()\"\n (attach)=\"onAttached()\"\n (detach)=\"close()\">\n <div\n #panel\n class=\"mc-select__panel {{ getPanelTheme() }}\"\n [ngClass]=\"panelClass\"\n [style.transformOrigin]=\"transformOrigin\"\n [style.font-size.px]=\"triggerFontSize\"\n (keydown)=\"handleKeydown($event)\">\n\n <div *ngIf=\"search\" class=\"mc-select__search-container\">\n <ng-content select=\"[mcSelectSearch]\"></ng-content>\n </div>\n\n <div #optionsContainer\n class=\"mc-select__content mc-scrollbar\"\n [@fadeInContent]=\"'showing'\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\">\n\n <div *ngIf=\"isEmptySearchResult\" class=\"mc-select__no-options-message\">\n <ng-content select=\"[mc-select-search-empty-result]\"></ng-content>\n </div>\n <ng-content></ng-content>\n </div>\n\n <ng-content select=\"[mc-select-footer]\"></ng-content>\n </div>\n</ng-template>\n", styles: [".mc-select__matcher{display:flex;align-items:center;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-select__matcher>span{width:100%}.mc-select{box-sizing:border-box;display:inline-block;width:100%;outline:none}.mc-select .mc-select__trigger{display:flex;box-sizing:border-box;position:relative;height:calc(var(--mc-form-field-size-height, 32px) - var(--mc-form-field-size-border-width, 1px) * 2);cursor:pointer}.mc-select .mc-select__trigger .mc-select__matcher{padding-left:calc(var(--mc-select-size-left-padding, 12px) - var(--mc-form-field-size-border-width, 1px));padding-right:calc(var(--mc-select-size-right-padding, 6px) - var(--mc-form-field-size-border-width, 1px))}.mc-select .mc-select__trigger.mc-select__trigger_multiple .mc-select__matcher{padding-left:calc(var(--mc-select-size-left-padding-multiple, 12px) - var(--mc-form-field-size-border-width, 1px))}.mc-select .mc-select__trigger.mc-select__trigger_multiple .mc-select__matcher .mc-tag.mc-disabled .mc-tag__text{margin-right:7px}.mc-select.mc-disabled .mc-select__trigger{-webkit-user-select:none;user-select:none;cursor:default}.mc-select__no-options-message{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;position:relative;max-width:100%;height:var(--mc-option-size-height, 32px);cursor:default;outline:none;padding-left:var(--mc-option-size-horizontal-padding, 12px);padding-right:var(--mc-option-size-horizontal-padding, 12px)}.mc-select__match-list{display:flex;flex-wrap:wrap;overflow:hidden;max-height:calc(var(--mc-form-field-size-height, 32px) - var(--mc-form-field-size-border-width, 1px) * 2)}.mc-select__match-list .mc-tag{margin-right:4px}.mc-select__match-container{display:flex;flex-direction:row;justify-content:space-between;width:100%}.mc-select__match-container .mc-select__match-hidden-text{flex:0 0 70px;align-self:center;padding:0 8px;text-align:right}.mc-select__arrow-wrapper{display:flex;align-self:center}.mc-form-field-appearance-fill .mc-select__arrow-wrapper,.mc-form-field-appearance-standard .mc-select__arrow-wrapper{transform:translateY(-50%)}.mc-form-field-appearance-outline .mc-select__arrow-wrapper{transform:translateY(-25%)}.mc-select__panel{min-width:100%;max-width:var(--mc-select-panel-size-max-width, 640px);overflow:hidden;border-width:var(--mc-select-panel-size-border-width, 1px);border-style:solid;border-bottom-left-radius:var(--mc-select-panel-size-border-radius, 4px);border-bottom-right-radius:var(--mc-select-panel-size-border-radius, 4px)}.mc-select__panel .mc-optgroup-label,.mc-select__panel .mc-option{font-size:inherit;line-height:var(--mc-option-size-height, 32px);height:var(--mc-option-size-height, 32px)}.mc-select__content{max-height:var(--mc-select-panel-size-max-height, 232px);padding:var(--mc-select-panel-size-vertical-padding, 4px) 0;overflow:hidden auto}.mc-select__content .cdk-virtual-scroll-viewport{min-height:calc(var(--mc-select-panel-size-max-height, 232px) - 8px);max-height:calc(var(--mc-select-panel-size-max-height, 232px) - 8px)}.mc-form-field-type-select:not(.mc-disabled) .mc-form-field-flex{cursor:pointer}.mc-select__search-container{border-bottom-width:1px;border-bottom-style:solid}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i5.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2$1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2$1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i7.McIcon, selector: "[mc-icon]", inputs: ["color"] }, { kind: "directive", type: i7.McIconCSSStyler, selector: "[mc-icon]" }], animations: [
|
1074
1091
|
mcSelectAnimations.transformPanel,
|
1075
1092
|
mcSelectAnimations.fadeInContent
|
1076
1093
|
], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
@@ -1093,15 +1110,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
1093
1110
|
], providers: [
|
1094
1111
|
{ provide: McFormFieldControl, useExisting: McSelect },
|
1095
1112
|
{ provide: MC_OPTION_PARENT_COMPONENT, useExisting: McSelect }
|
1096
|
-
], template: "<div cdk-overlay-origin\n class=\"mc-select__trigger\"\n (click)=\"toggle()\"\n [class.mc-select__trigger_multiple]=\"multiple\"\n #origin=\"cdkOverlayOrigin\"\n #trigger\n [ngSwitch]=\"!!customMatcher\">\n\n <div class=\"mc-select__matcher\" *ngSwitchCase=\"false\">\n <span class=\"mc-select__placeholder\" *ngIf=\"empty\">{{ placeholder || '\\u00A0' }}</span>\n <span *ngIf=\"!empty\" [ngSwitch]=\"!!customTrigger\">\n <div *ngSwitchDefault [ngSwitch]=\"multiple\" class=\"mc-select__match-container\">\n <span *ngSwitchCase=\"false\" class=\"mc-select__matcher-text\">{{ triggerValue }}</span>\n <div *ngSwitchCase=\"true\" class=\"mc-select__match-list\">\n <
|
1113
|
+
], template: "<div cdk-overlay-origin\n class=\"mc-select__trigger\"\n (click)=\"toggle()\"\n [class.mc-select__trigger_multiple]=\"multiple\"\n #origin=\"cdkOverlayOrigin\"\n #trigger\n [ngSwitch]=\"!!customMatcher\">\n\n <div class=\"mc-select__matcher\" *ngSwitchCase=\"false\">\n <span class=\"mc-select__placeholder\" *ngIf=\"empty\">{{ placeholder || '\\u00A0' }}</span>\n <span *ngIf=\"!empty\" [ngSwitch]=\"!!customTrigger\">\n <div *ngSwitchDefault [ngSwitch]=\"multiple\" class=\"mc-select__match-container\">\n <span *ngSwitchCase=\"false\" class=\"mc-select__matcher-text\">{{ triggerValue }}</span>\n <div *ngSwitchCase=\"true\" class=\"mc-select__match-list\">\n <ng-container *ngFor=\"let option of triggerValues\"\n [ngTemplateOutlet]=\"customTagTemplateRef\"\n [ngTemplateOutletContext]=\"{$implicit: option, select: this}\">\n </ng-container>\n </div>\n <div class=\"mc-select__match-hidden-text\" [style.display]=\"hiddenItems > 0 ? 'block' : 'none'\">\n {{ hiddenItemsTextFormatter(hiddenItemsText, hiddenItems) }}\n </div>\n </div>\n <ng-content select=\"mc-select-trigger, [mc-select-trigger]\" *ngSwitchCase=\"true\"></ng-content>\n </span>\n\n <div class=\"mc-select__cleaner\" *ngIf=\"canShowCleaner\" (click)=\"clearValue($event)\">\n <ng-content select=\"mc-cleaner\"></ng-content>\n </div>\n\n <div class=\"mc-select__arrow-wrapper\">\n <i class=\"mc-select__arrow\" mc-icon=\"mc-angle-down-S_16\"></i>\n </div>\n </div>\n\n <ng-content select=\"mc-select-matcher, [mc-select-matcher]\" *ngSwitchCase=\"true\"></ng-content>\n</div>\n\n<ng-template\n cdk-connected-overlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayHasBackdrop]=\"hasBackdrop\"\n [cdkConnectedOverlayBackdropClass]=\"backdropClass\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayMinWidth]=\"triggerRect?.width!\"\n [cdkConnectedOverlayOffsetY]=\"offsetY\"\n (backdropClick)=\"close()\"\n (attach)=\"onAttached()\"\n (detach)=\"close()\">\n <div\n #panel\n class=\"mc-select__panel {{ getPanelTheme() }}\"\n [ngClass]=\"panelClass\"\n [style.transformOrigin]=\"transformOrigin\"\n [style.font-size.px]=\"triggerFontSize\"\n (keydown)=\"handleKeydown($event)\">\n\n <div *ngIf=\"search\" class=\"mc-select__search-container\">\n <ng-content select=\"[mcSelectSearch]\"></ng-content>\n </div>\n\n <div #optionsContainer\n class=\"mc-select__content mc-scrollbar\"\n [@fadeInContent]=\"'showing'\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\">\n\n <div *ngIf=\"isEmptySearchResult\" class=\"mc-select__no-options-message\">\n <ng-content select=\"[mc-select-search-empty-result]\"></ng-content>\n </div>\n <ng-content></ng-content>\n </div>\n\n <ng-content select=\"[mc-select-footer]\"></ng-content>\n </div>\n</ng-template>\n", styles: [".mc-select__matcher{display:flex;align-items:center;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-select__matcher>span{width:100%}.mc-select{box-sizing:border-box;display:inline-block;width:100%;outline:none}.mc-select .mc-select__trigger{display:flex;box-sizing:border-box;position:relative;height:calc(var(--mc-form-field-size-height, 32px) - var(--mc-form-field-size-border-width, 1px) * 2);cursor:pointer}.mc-select .mc-select__trigger .mc-select__matcher{padding-left:calc(var(--mc-select-size-left-padding, 12px) - var(--mc-form-field-size-border-width, 1px));padding-right:calc(var(--mc-select-size-right-padding, 6px) - var(--mc-form-field-size-border-width, 1px))}.mc-select .mc-select__trigger.mc-select__trigger_multiple .mc-select__matcher{padding-left:calc(var(--mc-select-size-left-padding-multiple, 12px) - var(--mc-form-field-size-border-width, 1px))}.mc-select .mc-select__trigger.mc-select__trigger_multiple .mc-select__matcher .mc-tag.mc-disabled .mc-tag__text{margin-right:7px}.mc-select.mc-disabled .mc-select__trigger{-webkit-user-select:none;user-select:none;cursor:default}.mc-select__no-options-message{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;position:relative;max-width:100%;height:var(--mc-option-size-height, 32px);cursor:default;outline:none;padding-left:var(--mc-option-size-horizontal-padding, 12px);padding-right:var(--mc-option-size-horizontal-padding, 12px)}.mc-select__match-list{display:flex;flex-wrap:wrap;overflow:hidden;max-height:calc(var(--mc-form-field-size-height, 32px) - var(--mc-form-field-size-border-width, 1px) * 2)}.mc-select__match-list .mc-tag{margin-right:4px}.mc-select__match-container{display:flex;flex-direction:row;justify-content:space-between;width:100%}.mc-select__match-container .mc-select__match-hidden-text{flex:0 0 70px;align-self:center;padding:0 8px;text-align:right}.mc-select__arrow-wrapper{display:flex;align-self:center}.mc-form-field-appearance-fill .mc-select__arrow-wrapper,.mc-form-field-appearance-standard .mc-select__arrow-wrapper{transform:translateY(-50%)}.mc-form-field-appearance-outline .mc-select__arrow-wrapper{transform:translateY(-25%)}.mc-select__panel{min-width:100%;max-width:var(--mc-select-panel-size-max-width, 640px);overflow:hidden;border-width:var(--mc-select-panel-size-border-width, 1px);border-style:solid;border-bottom-left-radius:var(--mc-select-panel-size-border-radius, 4px);border-bottom-right-radius:var(--mc-select-panel-size-border-radius, 4px)}.mc-select__panel .mc-optgroup-label,.mc-select__panel .mc-option{font-size:inherit;line-height:var(--mc-option-size-height, 32px);height:var(--mc-option-size-height, 32px)}.mc-select__content{max-height:var(--mc-select-panel-size-max-height, 232px);padding:var(--mc-select-panel-size-vertical-padding, 4px) 0;overflow:hidden auto}.mc-select__content .cdk-virtual-scroll-viewport{min-height:calc(var(--mc-select-panel-size-max-height, 232px) - 8px);max-height:calc(var(--mc-select-panel-size-max-height, 232px) - 8px)}.mc-form-field-type-select:not(.mc-disabled) .mc-form-field-flex{cursor:pointer}.mc-select__search-container{border-bottom-width:1px;border-bottom-style:solid}\n"] }]
|
1097
1114
|
}], ctorParameters: function () {
|
1098
|
-
return [{ type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type:
|
1115
|
+
return [{ type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i2.ErrorStateMatcher }, { type: i0.ElementRef }, { type: i3.Directionality, decorators: [{
|
1099
1116
|
type: Optional
|
1100
1117
|
}] }, { type: i4.NgForm, decorators: [{
|
1101
1118
|
type: Optional
|
1102
1119
|
}] }, { type: i4.FormGroupDirective, decorators: [{
|
1103
1120
|
type: Optional
|
1104
|
-
}] }, { type: i1
|
1121
|
+
}] }, { type: i1.McFormField, decorators: [{
|
1105
1122
|
type: Optional
|
1106
1123
|
}] }, { type: i4.NgControl, decorators: [{
|
1107
1124
|
type: Self
|
@@ -1110,6 +1127,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
1110
1127
|
}] }, { type: undefined, decorators: [{
|
1111
1128
|
type: Inject,
|
1112
1129
|
args: [MC_SELECT_SCROLL_STRATEGY]
|
1130
|
+
}] }, { type: i2.McLocaleService, decorators: [{
|
1131
|
+
type: Optional
|
1132
|
+
}, {
|
1133
|
+
type: Inject,
|
1134
|
+
args: [MC_LOCALE_SERVICE]
|
1113
1135
|
}] }];
|
1114
1136
|
}, propDecorators: { trigger: [{
|
1115
1137
|
type: ViewChild,
|
@@ -1132,6 +1154,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
1132
1154
|
}], customMatcher: [{
|
1133
1155
|
type: ContentChild,
|
1134
1156
|
args: [McSelectMatcher, { static: false }]
|
1157
|
+
}], customTagTemplateRef: [{
|
1158
|
+
type: ContentChild,
|
1159
|
+
args: ['mcSelectTagContent', { static: false, read: TemplateRef }]
|
1135
1160
|
}], cleaner: [{
|
1136
1161
|
type: ContentChild,
|
1137
1162
|
args: ['mcSelectCleaner', { static: true }]
|