@ptsecurity/mosaic 8.5.3 → 8.5.7
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/bundles/mosaic-list.umd.js +68 -26
- package/bundles/mosaic-list.umd.js.map +1 -1
- package/bundles/mosaic-list.umd.min.js +1 -1
- package/bundles/mosaic-list.umd.min.js.map +1 -1
- package/bundles/mosaic-select.umd.js +27 -10
- package/bundles/mosaic-select.umd.js.map +1 -1
- package/bundles/mosaic-select.umd.min.js +1 -1
- package/bundles/mosaic-select.umd.min.js.map +1 -1
- package/bundles/mosaic-splitter.umd.js +12 -6
- package/bundles/mosaic-splitter.umd.js.map +1 -1
- package/bundles/mosaic-splitter.umd.min.js +1 -1
- package/bundles/mosaic-splitter.umd.min.js.map +1 -1
- package/bundles/mosaic-toggle.umd.js +4 -5
- package/bundles/mosaic-toggle.umd.js.map +1 -1
- package/bundles/mosaic-toggle.umd.min.js +1 -1
- package/bundles/mosaic-toggle.umd.min.js.map +1 -1
- package/bundles/mosaic.umd.js +112 -48
- package/bundles/mosaic.umd.js.map +1 -1
- package/bundles/mosaic.umd.min.js +9 -9
- package/bundles/mosaic.umd.min.js.map +1 -1
- package/esm2015/list.js +64 -26
- package/esm2015/list.js.map +1 -1
- package/esm2015/mosaic.js +2 -2
- package/esm2015/mosaic.js.map +1 -1
- package/esm2015/select.js +28 -11
- package/esm2015/select.js.map +1 -1
- package/esm2015/splitter.js +12 -7
- package/esm2015/splitter.js.map +1 -1
- package/esm2015/toggle.js +4 -5
- package/esm2015/toggle.js.map +1 -1
- package/esm5/list.es5.js +68 -26
- package/esm5/list.es5.js.map +1 -1
- package/esm5/mosaic.es5.js +2 -2
- package/esm5/mosaic.es5.js.map +1 -1
- package/esm5/select.es5.js +28 -11
- package/esm5/select.es5.js.map +1 -1
- package/esm5/splitter.es5.js +12 -7
- package/esm5/splitter.es5.js.map +1 -1
- package/esm5/toggle.es5.js +4 -5
- package/esm5/toggle.es5.js.map +1 -1
- package/list/typings/index.metadata.json +1 -1
- package/list/typings/list-selection.component.d.ts +13 -1
- package/package.json +3 -3
- package/select/typings/index.metadata.json +1 -1
- package/splitter/typings/splitter.component.d.ts +1 -1
- package/toggle/typings/index.metadata.json +1 -1
- package/toggle/typings/toggle.component.d.ts +1 -1
- package/typings/esm5/index.metadata.json +1 -1
- package/typings/esm5/list/index.metadata.json +1 -1
- package/typings/esm5/list/list-selection.component.d.ts +13 -1
- package/typings/esm5/select/index.metadata.json +1 -1
- package/typings/esm5/splitter/splitter.component.d.ts +1 -1
- package/typings/esm5/toggle/index.metadata.json +1 -1
- package/typings/esm5/toggle/toggle.component.d.ts +1 -1
- package/typings/index.metadata.json +1 -1
- package/typings/list/index.metadata.json +1 -1
- package/typings/list/list-selection.component.d.ts +13 -1
- package/typings/select/index.metadata.json +1 -1
- package/typings/splitter/splitter.component.d.ts +1 -1
- package/typings/toggle/index.metadata.json +1 -1
- package/typings/toggle/toggle.component.d.ts +1 -1
@@ -58,9 +58,32 @@
|
|
58
58
|
this.hasFocus = false;
|
59
59
|
this.onFocus = new rxjs.Subject();
|
60
60
|
this.onBlur = new rxjs.Subject();
|
61
|
+
/**
|
62
|
+
* This is set to true after the first OnChanges cycle so we don't clear the value of `selected`
|
63
|
+
* in the first cycle.
|
64
|
+
*/
|
65
|
+
this.inputsInitialized = false;
|
61
66
|
this._disabled = false;
|
62
67
|
this._selected = false;
|
63
68
|
}
|
69
|
+
Object.defineProperty(McListOption.prototype, "value", {
|
70
|
+
get: /**
|
71
|
+
* @return {?}
|
72
|
+
*/
|
73
|
+
function () { return this._value; },
|
74
|
+
set: /**
|
75
|
+
* @param {?} newValue
|
76
|
+
* @return {?}
|
77
|
+
*/
|
78
|
+
function (newValue) {
|
79
|
+
if (this.selected && newValue !== this.value && this.inputsInitialized) {
|
80
|
+
this.selected = false;
|
81
|
+
}
|
82
|
+
this._value = newValue;
|
83
|
+
},
|
84
|
+
enumerable: true,
|
85
|
+
configurable: true
|
86
|
+
});
|
64
87
|
Object.defineProperty(McListOption.prototype, "disabled", {
|
65
88
|
get: /**
|
66
89
|
* @return {?}
|
@@ -141,24 +164,32 @@
|
|
141
164
|
*/
|
142
165
|
function () {
|
143
166
|
var _this = this;
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
Promise.resolve().then((/**
|
153
|
-
* @return {?}
|
154
|
-
*/
|
155
|
-
function () {
|
156
|
-
if (_this._selected || wasSelected_1) {
|
157
|
-
_this.selected = true;
|
158
|
-
_this.changeDetector.markForCheck();
|
159
|
-
}
|
160
|
-
}));
|
167
|
+
/** @type {?} */
|
168
|
+
var list = this.listSelection;
|
169
|
+
if (list._value && list._value.some((/**
|
170
|
+
* @param {?} value
|
171
|
+
* @return {?}
|
172
|
+
*/
|
173
|
+
function (value) { return list.compareWith(value, _this._value); }))) {
|
174
|
+
this.setSelected(true);
|
161
175
|
}
|
176
|
+
/** @type {?} */
|
177
|
+
var wasSelected = this._selected;
|
178
|
+
// List options that are selected at initialization can't be reported properly to the form
|
179
|
+
// control. This is because it takes some time until the selection-list knows about all
|
180
|
+
// available options. Also it can happen that the ControlValueAccessor has an initial value
|
181
|
+
// that should be used instead. Deferring the value change report to the next tick ensures
|
182
|
+
// that the form control value is not being overwritten.
|
183
|
+
Promise.resolve().then((/**
|
184
|
+
* @return {?}
|
185
|
+
*/
|
186
|
+
function () {
|
187
|
+
if (_this._selected || wasSelected) {
|
188
|
+
_this.selected = true;
|
189
|
+
_this.changeDetector.markForCheck();
|
190
|
+
}
|
191
|
+
}));
|
192
|
+
this.inputsInitialized = true;
|
162
193
|
};
|
163
194
|
/**
|
164
195
|
* @return {?}
|
@@ -377,6 +408,17 @@
|
|
377
408
|
* Emits whenever the component is destroyed.
|
378
409
|
*/
|
379
410
|
_this.destroyed = new rxjs.Subject();
|
411
|
+
/**
|
412
|
+
* Function used for comparing an option against the selected value when determining which
|
413
|
+
* options should appear as selected. The first argument is the value of an options. The second
|
414
|
+
* one is a value from the selected value. A boolean must be returned.
|
415
|
+
*/
|
416
|
+
_this.compareWith = (/**
|
417
|
+
* @param {?} a1
|
418
|
+
* @param {?} a2
|
419
|
+
* @return {?}
|
420
|
+
*/
|
421
|
+
function (a1, a2) { return a1 === a2; });
|
380
422
|
// View to model callback that should be called if the list or its options lost focus.
|
381
423
|
// tslint:disable-next-line:no-empty
|
382
424
|
_this.onTouched = (/**
|
@@ -398,7 +440,6 @@
|
|
398
440
|
_this.multipleMode = core$1.MultipleMode.CHECKBOX;
|
399
441
|
}
|
400
442
|
if (_this.multipleMode === core$1.MultipleMode.CHECKBOX) {
|
401
|
-
_this.autoSelect = false;
|
402
443
|
_this.noUnselect = false;
|
403
444
|
}
|
404
445
|
_this._tabIndex = parseInt(tabIndex) || 0;
|
@@ -498,9 +539,8 @@
|
|
498
539
|
_this.changeDetectorRef.markForCheck();
|
499
540
|
}));
|
500
541
|
}));
|
501
|
-
if (this.
|
502
|
-
this.setOptionsFromValues(this.
|
503
|
-
this.tempValues = null;
|
542
|
+
if (this._value) {
|
543
|
+
this.setOptionsFromValues(this._value);
|
504
544
|
}
|
505
545
|
this.selectionModel.changed
|
506
546
|
.pipe(operators.takeUntil(this.destroyed))
|
@@ -736,12 +776,10 @@
|
|
736
776
|
* @return {?}
|
737
777
|
*/
|
738
778
|
function (values) {
|
779
|
+
this._value = values;
|
739
780
|
if (this.options) {
|
740
781
|
this.setOptionsFromValues(values || []);
|
741
782
|
}
|
742
|
-
else {
|
743
|
-
this.tempValues = values;
|
744
|
-
}
|
745
783
|
};
|
746
784
|
// Implemented as part of ControlValueAccessor.
|
747
785
|
// Implemented as part of ControlValueAccessor.
|
@@ -935,7 +973,10 @@
|
|
935
973
|
*/
|
936
974
|
function () {
|
937
975
|
if (this.options) {
|
938
|
-
|
976
|
+
/** @type {?} */
|
977
|
+
var value = this.getSelectedOptionValues();
|
978
|
+
this.onChange(value);
|
979
|
+
this._value = value;
|
939
980
|
}
|
940
981
|
};
|
941
982
|
// Emits a change event if the selected state of an option changed.
|
@@ -1166,7 +1207,8 @@
|
|
1166
1207
|
options: [{ type: core.ContentChildren, args: [McListOption, { descendants: true },] }],
|
1167
1208
|
horizontal: [{ type: core.Input }],
|
1168
1209
|
tabIndex: [{ type: core.Input }],
|
1169
|
-
selectionChange: [{ type: core.Output }]
|
1210
|
+
selectionChange: [{ type: core.Output }],
|
1211
|
+
compareWith: [{ type: core.Input }]
|
1170
1212
|
};
|
1171
1213
|
return McListSelection;
|
1172
1214
|
}(McListSelectionMixinBase));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mosaic-list.umd.js","sources":["../../packages/mosaic/list/list.module.ts","../../packages/mosaic/list/list.component.ts","../../packages/mosaic/list/list-selection.component.ts","../../node_modules/tslib/tslib.es6.js"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { A11yModule } from '@ptsecurity/cdk/a11y';\nimport { McLineModule, McOptionModule, McPseudoCheckboxModule } from '@ptsecurity/mosaic/core';\n\nimport { McListSelection, McListOption } from './list-selection.component';\nimport { McList, McListItem, McListSubheaderCssStyler } from './list.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n A11yModule,\n McPseudoCheckboxModule,\n McLineModule,\n McOptionModule\n ],\n exports: [\n McList,\n McListSelection,\n McListItem,\n McListOption,\n McOptionModule,\n McListSubheaderCssStyler\n ],\n declarations: [\n McList,\n McListSelection,\n McListItem,\n McListOption,\n McListSubheaderCssStyler\n ]\n})\nexport class McListModule {}\n","// todo пока не делаем, перенесено из материала, но у нас в доках таких простых списков нет.\nimport {\n AfterContentInit, ChangeDetectionStrategy, Component, ContentChildren, Directive, ElementRef, QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { McLine, McLineSetter } from '@ptsecurity/mosaic/core';\n\n\nexport class McListBase {}\n\n@Component({\n selector: 'mc-list',\n host: { class: 'mc-list' },\n template: '<ng-content></ng-content>',\n styleUrls: ['./list.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McList extends McListBase {}\n\n\n/**\n * Directive whose purpose is to add the mc- CSS styling to this selector.\n * @docs-private\n */\n@Directive({\n selector: '[mc-subheader], [mcSubheader]',\n host: { class: 'mc-subheader' }\n})\nexport class McListSubheaderCssStyler {}\n\n\n// Boilerplate for applying mixins to McListItem.\nexport class McListItemBase {}\n\n@Component({\n selector: 'mc-list-item, a[mc-list-item]',\n host: {\n class: 'mc-list-item',\n '(focus)': 'handleFocus()',\n '(blur)': 'handleBlur()'\n },\n templateUrl: './list-item.html',\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class McListItem extends McListItemBase implements AfterContentInit {\n @ContentChildren(McLine) lines: QueryList<McLine>;\n\n private lineSetter: McLineSetter;\n\n constructor(private _element: ElementRef) {\n super();\n }\n\n ngAfterContentInit() {\n this.lineSetter = new McLineSetter(this.lines, this._element);\n }\n\n handleFocus() {\n this._element.nativeElement.classList.add('mc-focused');\n }\n\n handleBlur() {\n this._element.nativeElement.classList.remove('mc-focused');\n }\n\n getHostElement(): HTMLElement {\n return this._element.nativeElement;\n }\n}\n","/* tslint:disable:no-empty */\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport {\n AfterContentInit,\n Attribute,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n QueryList,\n ViewEncapsulation,\n ChangeDetectorRef,\n Inject,\n OnDestroy,\n OnInit,\n ViewChild,\n NgZone,\n Optional\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { FocusKeyManager, IFocusableOption } from '@ptsecurity/cdk/a11y';\nimport {\n DOWN_ARROW,\n END,\n ENTER,\n hasModifierKey,\n HOME,\n PAGE_DOWN,\n PAGE_UP,\n SPACE,\n TAB,\n UP_ARROW\n} from '@ptsecurity/cdk/keycodes';\nimport {\n McLine,\n CanDisable,\n mixinDisabled,\n toBoolean,\n CanDisableCtor,\n HasTabIndexCtor,\n mixinTabIndex,\n HasTabIndex,\n MultipleMode,\n McOptgroup\n} from '@ptsecurity/mosaic/core';\nimport { merge, Observable, Subject, Subscription } from 'rxjs';\nimport { startWith, take, takeUntil } from 'rxjs/operators';\n\n\n// tslint:disable-next-line:naming-convention\nexport interface McOptionEvent {\n option: McListOption;\n}\n\n/**\n * Component for list-options of selection-list. Each list-option can automatically\n * generate a checkbox and can put current item into the selectionModel of selection-list\n * if the current item is selected.\n */\n@Component({\n exportAs: 'mcListOption',\n selector: 'mc-list-option',\n host: {\n '[attr.tabindex]': 'tabIndex',\n\n class: 'mc-list-option mc-no-select',\n '[class.mc-selected]': 'selected',\n '[class.mc-focused]': 'hasFocus',\n '[class.mc-disabled]': 'disabled',\n\n '(focus)': 'focus()',\n '(blur)': 'blur()',\n '(click)': 'handleClick($event)'\n },\n templateUrl: 'list-option.html',\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class McListOption implements OnDestroy, OnInit, IFocusableOption {\n hasFocus: boolean = false;\n\n readonly onFocus = new Subject<McOptionEvent>();\n\n readonly onBlur = new Subject<McOptionEvent>();\n\n @ContentChildren(McLine) lines: QueryList<McLine>;\n\n @ViewChild('text', { static: false }) text: ElementRef;\n\n // Whether the label should appear before or after the checkbox. Defaults to 'after'\n @Input() checkboxPosition: 'before' | 'after';\n\n @Input() value: any;\n\n @Input()\n get disabled() {\n return (this.listSelection && this.listSelection.disabled) || (this.group && this.group.disabled) ||\n this._disabled;\n }\n\n set disabled(value: any) {\n const newValue = toBoolean(value);\n\n if (newValue !== this._disabled) {\n this._disabled = newValue;\n this.changeDetector.markForCheck();\n }\n }\n\n private _disabled = false;\n\n @Input()\n get showCheckbox() {\n return this._showCheckbox !== undefined ? this._showCheckbox : this.listSelection.showCheckbox;\n }\n\n set showCheckbox(value: any) {\n this._showCheckbox = coerceBooleanProperty(value);\n }\n\n private _showCheckbox: boolean;\n\n @Input()\n get selected(): boolean {\n return this.listSelection.selectionModel && this.listSelection.selectionModel.isSelected(this) || false;\n }\n\n set selected(value: boolean) {\n const isSelected = toBoolean(value);\n\n if (isSelected !== this._selected) {\n this.setSelected(isSelected);\n\n this.listSelection.reportValueChange();\n }\n }\n\n private _selected = false;\n\n get tabIndex(): any {\n return this.disabled ? null : -1;\n }\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private changeDetector: ChangeDetectorRef,\n private ngZone: NgZone,\n @Inject(forwardRef(() => McListSelection)) public listSelection: McListSelection,\n @Optional() readonly group: McOptgroup\n ) {}\n\n ngOnInit() {\n if (this._selected) {\n // List options that are selected at initialization can't be reported properly to the form\n // control. This is because it takes some time until the selection-list knows about all\n // available options. Also it can happen that the ControlValueAccessor has an initial value\n // that should be used instead. Deferring the value change report to the next tick ensures\n // that the form control value is not being overwritten.\n const wasSelected = this._selected;\n\n Promise.resolve().then(() => {\n if (this._selected || wasSelected) {\n this.selected = true;\n this.changeDetector.markForCheck();\n }\n });\n }\n }\n\n ngOnDestroy(): void {\n if (this.selected) {\n // We have to delay this until the next tick in order\n // to avoid changed after checked errors.\n Promise.resolve().then(() => this.selected = false);\n }\n\n this.listSelection.removeOptionFromList(this);\n }\n\n toggle(): void {\n this.selected = !this.selected;\n }\n\n getLabel() {\n return this.text ? this.text.nativeElement.textContent : '';\n }\n\n setSelected(selected: boolean) {\n if (this._selected === selected || !this.listSelection.selectionModel) { return; }\n\n this._selected = selected;\n\n if (selected) {\n this.listSelection.selectionModel.select(this);\n } else {\n this.listSelection.selectionModel.deselect(this);\n }\n\n this.changeDetector.markForCheck();\n }\n\n getHeight(): number {\n return this.elementRef.nativeElement.getClientRects()[0].height;\n }\n\n handleClick($event) {\n if (this.disabled) { return; }\n\n this.listSelection.setSelectedOptionsByClick(\n this, hasModifierKey($event, 'shiftKey'), hasModifierKey($event, 'ctrlKey')\n );\n }\n\n focus() {\n if (!this.hasFocus) {\n this.elementRef.nativeElement.focus();\n\n this.onFocus.next({ option: this });\n\n Promise.resolve().then(() => {\n this.hasFocus = true;\n\n this.changeDetector.markForCheck();\n });\n }\n }\n\n blur(): void {\n // When animations are enabled, Angular may end up removing the option from the DOM a little\n // earlier than usual, causing it to be blurred and throwing off the logic in the list\n // that moves focus not the next item. To work around the issue, we defer marking the option\n // as not focused until the next time the zone stabilizes.\n this.ngZone.onStable\n .asObservable()\n .pipe(take(1))\n .subscribe(() => {\n this.ngZone.run(() => {\n this.hasFocus = false;\n\n this.onBlur.next({ option: this });\n });\n });\n }\n\n getHostElement(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n}\n\n\nexport const MC_SELECTION_LIST_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => McListSelection),\n multi: true\n};\n\nexport class McListSelectionChange {\n constructor(public source: McListSelection, public option: McListOption) {}\n}\n\n\nexport class McListSelectionBase {}\n\n// tslint:disable-next-line:naming-convention\nexport const McListSelectionMixinBase: CanDisableCtor & HasTabIndexCtor & typeof McListSelectionBase\n = mixinTabIndex(mixinDisabled(McListSelectionBase));\n\n@Component({\n exportAs: 'mcListSelection',\n selector: 'mc-list-selection',\n template: '<ng-content></ng-content>',\n styleUrls: ['./list.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['disabled'],\n host: {\n '[attr.tabindex]': 'tabIndex',\n\n class: 'mc-list-selection',\n\n '(focus)': 'focus()',\n '(blur)': 'blur()',\n '(keydown)': 'onKeyDown($event)',\n '(window:resize)': 'updateScrollSize()'\n },\n providers: [MC_SELECTION_LIST_VALUE_ACCESSOR],\n preserveWhitespaces: false\n})\nexport class McListSelection extends McListSelectionMixinBase implements CanDisable, HasTabIndex, AfterContentInit,\n ControlValueAccessor {\n\n keyManager: FocusKeyManager<McListOption>;\n\n @ContentChildren(McListOption, { descendants: true }) options: QueryList<McListOption>;\n\n autoSelect: boolean;\n noUnselect: boolean;\n\n multipleMode: MultipleMode | null;\n\n get multiple(): boolean {\n return !!this.multipleMode;\n }\n\n @Input() horizontal: boolean = false;\n\n @Input()\n get tabIndex(): any {\n return this._tabIndex;\n }\n\n set tabIndex(value: any) {\n this._tabIndex = value;\n }\n\n private _tabIndex = 0;\n\n get showCheckbox(): boolean {\n return this.multipleMode === MultipleMode.CHECKBOX;\n }\n\n // Emits a change event whenever the selected state of an option changes.\n @Output() readonly selectionChange: EventEmitter<McListSelectionChange> = new EventEmitter<McListSelectionChange>();\n\n selectionModel: SelectionModel<McListOption>;\n\n get optionFocusChanges(): Observable<McOptionEvent> {\n return merge(...this.options.map((option) => option.onFocus));\n }\n\n get optionBlurChanges(): Observable<McOptionEvent> {\n return merge(...this.options.map((option) => option.onBlur));\n }\n\n // Used for storing the values that were assigned before the options were initialized.\n private tempValues: string[] | null;\n\n /** Emits whenever the component is destroyed. */\n private readonly destroyed = new Subject<void>();\n\n private optionFocusSubscription: Subscription | null;\n\n private optionBlurSubscription: Subscription | null;\n\n constructor(\n private element: ElementRef,\n private changeDetectorRef: ChangeDetectorRef,\n @Attribute('tabindex') tabIndex: string,\n @Attribute('auto-select') autoSelect: string,\n @Attribute('no-unselect') noUnselect: string,\n @Attribute('multiple') multiple: string\n ) {\n super();\n\n this.autoSelect = autoSelect === null ? true : toBoolean(autoSelect);\n this.noUnselect = noUnselect === null ? true : toBoolean(noUnselect);\n\n if (multiple === MultipleMode.CHECKBOX || multiple === MultipleMode.KEYBOARD) {\n this.multipleMode = multiple;\n } else if (multiple !== null) {\n this.multipleMode = MultipleMode.CHECKBOX;\n }\n\n if (this.multipleMode === MultipleMode.CHECKBOX) {\n this.autoSelect = false;\n this.noUnselect = false;\n }\n\n this._tabIndex = parseInt(tabIndex) || 0;\n\n this.selectionModel = new SelectionModel<McListOption>(this.multiple);\n }\n\n ngAfterContentInit(): void {\n this.horizontal = toBoolean(this.horizontal);\n\n this.keyManager = new FocusKeyManager<McListOption>(this.options)\n .withTypeAhead()\n .withVerticalOrientation(!this.horizontal)\n .withHorizontalOrientation(this.horizontal ? 'ltr' : null);\n\n this.keyManager.tabOut\n .pipe(takeUntil(this.destroyed))\n .subscribe(() => {\n this._tabIndex = -1;\n\n setTimeout(() => {\n this._tabIndex = 0;\n this.changeDetectorRef.markForCheck();\n });\n });\n\n if (this.tempValues) {\n this.setOptionsFromValues(this.tempValues);\n this.tempValues = null;\n }\n\n this.selectionModel.changed\n .pipe(takeUntil(this.destroyed))\n .subscribe((event) => {\n for (const item of event.added) { item.selected = true; }\n\n for (const item of event.removed) { item.selected = false; }\n });\n\n this.options.changes\n .pipe(startWith(null), takeUntil(this.destroyed))\n .subscribe(() => {\n this.resetOptions();\n\n // Check to see if we need to update our tab index\n this.updateTabIndex();\n });\n\n this.updateScrollSize();\n }\n\n ngOnDestroy() {\n this.destroyed.next();\n\n this.destroyed.complete();\n }\n\n focus(): void {\n if (this.options.length === 0) { return; }\n\n this.keyManager.setFirstItemActive();\n }\n\n blur() {\n if (!this.hasFocusedOption()) {\n this.keyManager.setActiveItem(-1);\n }\n\n this.onTouched();\n this.changeDetectorRef.markForCheck();\n }\n\n selectAll() {\n this.options.forEach((option) => option.setSelected(true));\n\n this.reportValueChange();\n }\n\n deselectAll() {\n this.options.forEach((option) => option.setSelected(false));\n\n this.reportValueChange();\n }\n\n updateScrollSize(): void {\n if (this.horizontal || !this.options.first) { return; }\n\n this.keyManager.withScrollSize(Math.floor(this.getHeight() / this.options.first.getHeight()));\n }\n\n setSelectedOptionsByClick(option: McListOption, shiftKey: boolean, ctrlKey: boolean): void {\n if (shiftKey && this.multiple) {\n this.setSelectedOptions(option);\n } else if (ctrlKey) {\n if (!this.canDeselectLast(option)) { return; }\n\n this.selectionModel.toggle(option);\n } else {\n if (this.autoSelect) {\n if (this.multipleMode !== MultipleMode.KEYBOARD) {\n this.selectionModel.toggle(option);\n }\n\n if (this.multipleMode === MultipleMode.KEYBOARD || !this.multiple) {\n this.options.forEach((item) => item.setSelected(false));\n option.setSelected(true);\n }\n }\n }\n\n this.emitChangeEvent(option);\n this.reportValueChange();\n }\n\n setSelectedOptionsByKey(option: McListOption, shiftKey: boolean, ctrlKey: boolean): void {\n if (shiftKey && this.multiple) {\n this.setSelectedOptions(option);\n } else if (ctrlKey) {\n if (!this.canDeselectLast(option)) { return; }\n } else {\n\n if (this.multipleMode === MultipleMode.KEYBOARD || !this.multiple) {\n this.options.forEach((item) => item.setSelected(false));\n option.setSelected(true);\n }\n }\n\n this.emitChangeEvent(option);\n this.reportValueChange();\n }\n\n setSelectedOptions(option: McListOption): void {\n const selectedOptionState = option.selected;\n\n let fromIndex = this.keyManager.previousActiveItemIndex;\n let toIndex = this.keyManager.previousActiveItemIndex = this.keyManager.activeItemIndex;\n\n if (toIndex === fromIndex) { return; }\n\n if (fromIndex > toIndex) {\n [fromIndex, toIndex] = [toIndex, fromIndex];\n }\n\n this.options\n .toArray()\n .slice(fromIndex, toIndex + 1)\n .filter((item) => !item.disabled)\n .forEach((renderedOption) => {\n const isLastRenderedOption = renderedOption === this.keyManager.activeItem;\n\n if (isLastRenderedOption && renderedOption.selected && this.noUnselect) { return; }\n\n renderedOption.setSelected(!selectedOptionState);\n });\n }\n\n // Implemented as part of ControlValueAccessor.\n writeValue(values: string[]): void {\n if (this.options) {\n this.setOptionsFromValues(values || []);\n } else {\n this.tempValues = values;\n }\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn: (value: any) => void): void {\n this.onChange = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n // Implemented as a part of ControlValueAccessor.\n setDisabledState(isDisabled: boolean): void {\n if (this.options) {\n this.options.forEach((option) => option.disabled = isDisabled);\n }\n }\n\n getSelectedOptionValues(): string[] {\n return this.options.filter((option) => option.selected).map((option) => option.value);\n }\n\n // Toggles the selected state of the currently focused option.\n toggleFocusedOption(): void {\n const focusedIndex = this.keyManager.activeItemIndex;\n\n if (focusedIndex != null && this.isValidIndex(focusedIndex)) {\n const focusedOption: McListOption = this.options.toArray()[focusedIndex];\n\n if (focusedOption && this.canDeselectLast(focusedOption)) {\n focusedOption.toggle();\n\n // Emit a change event because the focused option changed its state through user interaction.\n this.emitChangeEvent(focusedOption);\n }\n }\n }\n\n canDeselectLast(listOption: McListOption): boolean {\n return !(this.noUnselect && this.selectionModel.selected.length === 1 && listOption.selected);\n }\n\n getHeight(): number {\n return this.element.nativeElement.getClientRects()[0].height;\n }\n\n // View to model callback that should be called if the list or its options lost focus.\n // tslint:disable-next-line:no-empty\n onTouched: () => void = () => {};\n\n // Removes an option from the selection list and updates the active item.\n removeOptionFromList(option: McListOption) {\n if (option.hasFocus) {\n const optionIndex = this.getOptionIndex(option);\n\n // Check whether the option is the last item\n if (optionIndex > 0) {\n this.keyManager.setPreviousItemActive();\n } else if (optionIndex === 0 && this.options.length > 1) {\n this.keyManager.setNextItemActive();\n }\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n // tslint:disable-next-line: deprecation\n const keyCode = event.keyCode;\n\n switch (keyCode) {\n case SPACE:\n case ENTER:\n this.toggleFocusedOption();\n\n break;\n\n case TAB:\n this.keyManager.tabOut.next();\n\n return;\n\n case DOWN_ARROW:\n this.keyManager.setNextItemActive();\n\n break;\n case UP_ARROW:\n this.keyManager.setPreviousItemActive();\n\n break;\n case HOME:\n this.keyManager.setFirstItemActive();\n\n break;\n case END:\n this.keyManager.setLastItemActive();\n\n break;\n case PAGE_UP:\n this.keyManager.setPreviousPageItemActive();\n\n break;\n case PAGE_DOWN:\n this.keyManager.setNextPageItemActive();\n\n break;\n default:\n return;\n }\n\n event.preventDefault();\n\n this.setSelectedOptionsByKey(\n this.keyManager.activeItem as McListOption,\n hasModifierKey(event, 'shiftKey'),\n hasModifierKey(event, 'ctrlKey')\n );\n }\n\n // Reports a value change to the ControlValueAccessor\n reportValueChange() {\n if (this.options) {\n this.onChange(this.getSelectedOptionValues());\n }\n }\n\n // Emits a change event if the selected state of an option changed.\n emitChangeEvent(option: McListOption) {\n this.selectionChange.emit(new McListSelectionChange(this, option));\n }\n\n protected updateTabIndex(): void {\n this._tabIndex = this.options.length === 0 ? -1 : 0;\n }\n\n private resetOptions() {\n this.dropSubscriptions();\n this.listenToOptionsFocus();\n }\n\n private dropSubscriptions() {\n if (this.optionFocusSubscription) {\n this.optionFocusSubscription.unsubscribe();\n this.optionFocusSubscription = null;\n }\n\n if (this.optionBlurSubscription) {\n this.optionBlurSubscription.unsubscribe();\n this.optionBlurSubscription = null;\n }\n }\n\n private listenToOptionsFocus(): void {\n this.optionFocusSubscription = this.optionFocusChanges\n .subscribe((event) => {\n const index: number = this.options.toArray().indexOf(event.option);\n\n if (this.isValidIndex(index)) {\n this.keyManager.updateActiveItem(index);\n }\n });\n\n this.optionBlurSubscription = this.optionBlurChanges\n .subscribe(() => this.blur());\n }\n\n /** Checks whether any of the options is focused. */\n private hasFocusedOption() {\n return this.options.some((option) => option.hasFocus);\n }\n\n // Returns the option with the specified value.\n private getOptionByValue(value: string): McListOption | undefined {\n return this.options.find((option) => option.value === value);\n }\n\n // Sets the selected options based on the specified values.\n private setOptionsFromValues(values: string[]) {\n this.options.forEach((option) => option.setSelected(false));\n\n values\n .map((value) => this.getOptionByValue(value))\n .filter(Boolean)\n .forEach((option) => option!.setSelected(true));\n }\n\n /**\n * Utility to ensure all indexes are valid.\n * @param index The index to be checked.\n * @returns True if the index is valid for our list of options.\n */\n private isValidIndex(index: number): boolean {\n return index >= 0 && index < this.options.length;\n }\n\n // Returns the index of the specified list option.\n private getOptionIndex(option: McListOption): number {\n return this.options.toArray().indexOf(option);\n }\n\n // View to model callback that should be called whenever the selected options change.\n private onChange: (value: any) => void = (_: any) => {};\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n"],"names":["McOptionModule","McLineModule","McPseudoCheckboxModule","A11yModule","CommonModule","NgModule","ContentChildren","McLine","ElementRef","ChangeDetectionStrategy","ViewEncapsulation","Component","McLineSetter","tslib_1.__extends","Directive","Output","Input","Attribute","ChangeDetectorRef","hasModifierKey","PAGE_DOWN","PAGE_UP","END","HOME","UP_ARROW","DOWN_ARROW","TAB","ENTER","SPACE","MultipleMode","startWith","takeUntil","FocusKeyManager","toBoolean","merge","SelectionModel","Subject","EventEmitter","mixinTabIndex","mixinDisabled","forwardRef","NG_VALUE_ACCESSOR","ViewChild","McOptgroup","Optional","Inject","NgZone","take","coerceBooleanProperty"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"mosaic-list.umd.js","sources":["../../packages/mosaic/list/list.module.ts","../../packages/mosaic/list/list.component.ts","../../packages/mosaic/list/list-selection.component.ts","../../node_modules/tslib/tslib.es6.js"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { A11yModule } from '@ptsecurity/cdk/a11y';\nimport { McLineModule, McOptionModule, McPseudoCheckboxModule } from '@ptsecurity/mosaic/core';\n\nimport { McListSelection, McListOption } from './list-selection.component';\nimport { McList, McListItem, McListSubheaderCssStyler } from './list.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n A11yModule,\n McPseudoCheckboxModule,\n McLineModule,\n McOptionModule\n ],\n exports: [\n McList,\n McListSelection,\n McListItem,\n McListOption,\n McOptionModule,\n McListSubheaderCssStyler\n ],\n declarations: [\n McList,\n McListSelection,\n McListItem,\n McListOption,\n McListSubheaderCssStyler\n ]\n})\nexport class McListModule {}\n","// todo пока не делаем, перенесено из материала, но у нас в доках таких простых списков нет.\nimport {\n AfterContentInit, ChangeDetectionStrategy, Component, ContentChildren, Directive, ElementRef, QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { McLine, McLineSetter } from '@ptsecurity/mosaic/core';\n\n\nexport class McListBase {}\n\n@Component({\n selector: 'mc-list',\n host: { class: 'mc-list' },\n template: '<ng-content></ng-content>',\n styleUrls: ['./list.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McList extends McListBase {}\n\n\n/**\n * Directive whose purpose is to add the mc- CSS styling to this selector.\n * @docs-private\n */\n@Directive({\n selector: '[mc-subheader], [mcSubheader]',\n host: { class: 'mc-subheader' }\n})\nexport class McListSubheaderCssStyler {}\n\n\n// Boilerplate for applying mixins to McListItem.\nexport class McListItemBase {}\n\n@Component({\n selector: 'mc-list-item, a[mc-list-item]',\n host: {\n class: 'mc-list-item',\n '(focus)': 'handleFocus()',\n '(blur)': 'handleBlur()'\n },\n templateUrl: './list-item.html',\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class McListItem extends McListItemBase implements AfterContentInit {\n @ContentChildren(McLine) lines: QueryList<McLine>;\n\n private lineSetter: McLineSetter;\n\n constructor(private _element: ElementRef) {\n super();\n }\n\n ngAfterContentInit() {\n this.lineSetter = new McLineSetter(this.lines, this._element);\n }\n\n handleFocus() {\n this._element.nativeElement.classList.add('mc-focused');\n }\n\n handleBlur() {\n this._element.nativeElement.classList.remove('mc-focused');\n }\n\n getHostElement(): HTMLElement {\n return this._element.nativeElement;\n }\n}\n","/* tslint:disable:no-empty */\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport {\n AfterContentInit,\n Attribute,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n QueryList,\n ViewEncapsulation,\n ChangeDetectorRef,\n Inject,\n OnDestroy,\n OnInit,\n ViewChild,\n NgZone,\n Optional\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { FocusKeyManager, IFocusableOption } from '@ptsecurity/cdk/a11y';\nimport {\n DOWN_ARROW,\n END,\n ENTER,\n hasModifierKey,\n HOME,\n PAGE_DOWN,\n PAGE_UP,\n SPACE,\n TAB,\n UP_ARROW\n} from '@ptsecurity/cdk/keycodes';\nimport {\n McLine,\n CanDisable,\n mixinDisabled,\n toBoolean,\n CanDisableCtor,\n HasTabIndexCtor,\n mixinTabIndex,\n HasTabIndex,\n MultipleMode,\n McOptgroup\n} from '@ptsecurity/mosaic/core';\nimport { merge, Observable, Subject, Subscription } from 'rxjs';\nimport { startWith, take, takeUntil } from 'rxjs/operators';\n\n\n// tslint:disable-next-line:naming-convention\nexport interface McOptionEvent {\n option: McListOption;\n}\n\n/**\n * Component for list-options of selection-list. Each list-option can automatically\n * generate a checkbox and can put current item into the selectionModel of selection-list\n * if the current item is selected.\n */\n@Component({\n exportAs: 'mcListOption',\n selector: 'mc-list-option',\n host: {\n '[attr.tabindex]': 'tabIndex',\n\n class: 'mc-list-option mc-no-select',\n '[class.mc-selected]': 'selected',\n '[class.mc-focused]': 'hasFocus',\n '[class.mc-disabled]': 'disabled',\n\n '(focus)': 'focus()',\n '(blur)': 'blur()',\n '(click)': 'handleClick($event)'\n },\n templateUrl: 'list-option.html',\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class McListOption implements OnDestroy, OnInit, IFocusableOption {\n hasFocus: boolean = false;\n\n readonly onFocus = new Subject<McOptionEvent>();\n\n readonly onBlur = new Subject<McOptionEvent>();\n\n @ContentChildren(McLine) lines: QueryList<McLine>;\n\n @ViewChild('text', { static: false }) text: ElementRef;\n\n // Whether the label should appear before or after the checkbox. Defaults to 'after'\n @Input() checkboxPosition: 'before' | 'after';\n\n /**\n * This is set to true after the first OnChanges cycle so we don't clear the value of `selected`\n * in the first cycle.\n */\n private inputsInitialized = false;\n\n @Input()\n get value(): any { return this._value; }\n set value(newValue: any) {\n if (this.selected && newValue !== this.value && this.inputsInitialized) {\n this.selected = false;\n }\n\n this._value = newValue;\n }\n private _value: any;\n\n @Input()\n get disabled() {\n return (this.listSelection && this.listSelection.disabled) || (this.group && this.group.disabled) ||\n this._disabled;\n }\n\n set disabled(value: any) {\n const newValue = toBoolean(value);\n\n if (newValue !== this._disabled) {\n this._disabled = newValue;\n this.changeDetector.markForCheck();\n }\n }\n\n private _disabled = false;\n\n @Input()\n get showCheckbox() {\n return this._showCheckbox !== undefined ? this._showCheckbox : this.listSelection.showCheckbox;\n }\n\n set showCheckbox(value: any) {\n this._showCheckbox = coerceBooleanProperty(value);\n }\n\n private _showCheckbox: boolean;\n\n @Input()\n get selected(): boolean {\n return this.listSelection.selectionModel && this.listSelection.selectionModel.isSelected(this) || false;\n }\n\n set selected(value: boolean) {\n const isSelected = toBoolean(value);\n\n if (isSelected !== this._selected) {\n this.setSelected(isSelected);\n\n this.listSelection.reportValueChange();\n }\n }\n\n private _selected = false;\n\n get tabIndex(): any {\n return this.disabled ? null : -1;\n }\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private changeDetector: ChangeDetectorRef,\n private ngZone: NgZone,\n @Inject(forwardRef(() => McListSelection)) public listSelection: McListSelection,\n @Optional() readonly group: McOptgroup\n ) {}\n\n ngOnInit() {\n const list = this.listSelection;\n\n if (list._value && list._value.some((value) => list.compareWith(value, this._value))) {\n this.setSelected(true);\n }\n\n const wasSelected = this._selected;\n\n // List options that are selected at initialization can't be reported properly to the form\n // control. This is because it takes some time until the selection-list knows about all\n // available options. Also it can happen that the ControlValueAccessor has an initial value\n // that should be used instead. Deferring the value change report to the next tick ensures\n // that the form control value is not being overwritten.\n Promise.resolve().then(() => {\n if (this._selected || wasSelected) {\n this.selected = true;\n this.changeDetector.markForCheck();\n }\n });\n\n this.inputsInitialized = true;\n }\n\n ngOnDestroy(): void {\n if (this.selected) {\n // We have to delay this until the next tick in order\n // to avoid changed after checked errors.\n Promise.resolve().then(() => this.selected = false);\n }\n\n this.listSelection.removeOptionFromList(this);\n }\n\n toggle(): void {\n this.selected = !this.selected;\n }\n\n getLabel() {\n return this.text ? this.text.nativeElement.textContent : '';\n }\n\n setSelected(selected: boolean) {\n if (this._selected === selected || !this.listSelection.selectionModel) { return; }\n\n this._selected = selected;\n\n if (selected) {\n this.listSelection.selectionModel.select(this);\n } else {\n this.listSelection.selectionModel.deselect(this);\n }\n\n this.changeDetector.markForCheck();\n }\n\n getHeight(): number {\n return this.elementRef.nativeElement.getClientRects()[0].height;\n }\n\n handleClick($event) {\n if (this.disabled) { return; }\n\n this.listSelection.setSelectedOptionsByClick(\n this, hasModifierKey($event, 'shiftKey'), hasModifierKey($event, 'ctrlKey')\n );\n }\n\n focus() {\n if (!this.hasFocus) {\n this.elementRef.nativeElement.focus();\n\n this.onFocus.next({ option: this });\n\n Promise.resolve().then(() => {\n this.hasFocus = true;\n\n this.changeDetector.markForCheck();\n });\n }\n }\n\n blur(): void {\n // When animations are enabled, Angular may end up removing the option from the DOM a little\n // earlier than usual, causing it to be blurred and throwing off the logic in the list\n // that moves focus not the next item. To work around the issue, we defer marking the option\n // as not focused until the next time the zone stabilizes.\n this.ngZone.onStable\n .asObservable()\n .pipe(take(1))\n .subscribe(() => {\n this.ngZone.run(() => {\n this.hasFocus = false;\n\n this.onBlur.next({ option: this });\n });\n });\n }\n\n getHostElement(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n}\n\n\nexport const MC_SELECTION_LIST_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => McListSelection),\n multi: true\n};\n\nexport class McListSelectionChange {\n constructor(public source: McListSelection, public option: McListOption) {}\n}\n\n\nexport class McListSelectionBase {}\n\n// tslint:disable-next-line:naming-convention\nexport const McListSelectionMixinBase: CanDisableCtor & HasTabIndexCtor & typeof McListSelectionBase\n = mixinTabIndex(mixinDisabled(McListSelectionBase));\n\n@Component({\n exportAs: 'mcListSelection',\n selector: 'mc-list-selection',\n template: '<ng-content></ng-content>',\n styleUrls: ['./list.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['disabled'],\n host: {\n '[attr.tabindex]': 'tabIndex',\n\n class: 'mc-list-selection',\n\n '(focus)': 'focus()',\n '(blur)': 'blur()',\n '(keydown)': 'onKeyDown($event)',\n '(window:resize)': 'updateScrollSize()'\n },\n providers: [MC_SELECTION_LIST_VALUE_ACCESSOR],\n preserveWhitespaces: false\n})\nexport class McListSelection extends McListSelectionMixinBase implements CanDisable, HasTabIndex, AfterContentInit,\n ControlValueAccessor {\n\n keyManager: FocusKeyManager<McListOption>;\n\n @ContentChildren(McListOption, { descendants: true }) options: QueryList<McListOption>;\n\n autoSelect: boolean;\n noUnselect: boolean;\n\n multipleMode: MultipleMode | null;\n\n get multiple(): boolean {\n return !!this.multipleMode;\n }\n\n @Input() horizontal: boolean = false;\n\n @Input()\n get tabIndex(): any {\n return this._tabIndex;\n }\n\n set tabIndex(value: any) {\n this._tabIndex = value;\n }\n\n private _tabIndex = 0;\n\n get showCheckbox(): boolean {\n return this.multipleMode === MultipleMode.CHECKBOX;\n }\n\n // Emits a change event whenever the selected state of an option changes.\n @Output() readonly selectionChange: EventEmitter<McListSelectionChange> = new EventEmitter<McListSelectionChange>();\n\n selectionModel: SelectionModel<McListOption>;\n\n get optionFocusChanges(): Observable<McOptionEvent> {\n return merge(...this.options.map((option) => option.onFocus));\n }\n\n get optionBlurChanges(): Observable<McOptionEvent> {\n return merge(...this.options.map((option) => option.onBlur));\n }\n\n // tslint:disable-next-line:orthodox-getter-and-setter naming-convention\n _value: string[] | null;\n\n /** Emits whenever the component is destroyed. */\n private readonly destroyed = new Subject<void>();\n\n private optionFocusSubscription: Subscription | null;\n\n private optionBlurSubscription: Subscription | null;\n\n constructor(\n private element: ElementRef,\n private changeDetectorRef: ChangeDetectorRef,\n @Attribute('tabindex') tabIndex: string,\n @Attribute('auto-select') autoSelect: string,\n @Attribute('no-unselect') noUnselect: string,\n @Attribute('multiple') multiple: string\n ) {\n super();\n\n this.autoSelect = autoSelect === null ? true : toBoolean(autoSelect);\n this.noUnselect = noUnselect === null ? true : toBoolean(noUnselect);\n\n if (multiple === MultipleMode.CHECKBOX || multiple === MultipleMode.KEYBOARD) {\n this.multipleMode = multiple;\n } else if (multiple !== null) {\n this.multipleMode = MultipleMode.CHECKBOX;\n }\n\n if (this.multipleMode === MultipleMode.CHECKBOX) {\n this.noUnselect = false;\n }\n\n this._tabIndex = parseInt(tabIndex) || 0;\n\n this.selectionModel = new SelectionModel<McListOption>(this.multiple);\n }\n\n /**\n * Function used for comparing an option against the selected value when determining which\n * options should appear as selected. The first argument is the value of an options. The second\n * one is a value from the selected value. A boolean must be returned.\n */\n @Input() compareWith: (o1: any, o2: any) => boolean = (a1, a2) => a1 === a2;\n\n ngAfterContentInit(): void {\n this.horizontal = toBoolean(this.horizontal);\n\n this.keyManager = new FocusKeyManager<McListOption>(this.options)\n .withTypeAhead()\n .withVerticalOrientation(!this.horizontal)\n .withHorizontalOrientation(this.horizontal ? 'ltr' : null);\n\n this.keyManager.tabOut\n .pipe(takeUntil(this.destroyed))\n .subscribe(() => {\n this._tabIndex = -1;\n\n setTimeout(() => {\n this._tabIndex = 0;\n this.changeDetectorRef.markForCheck();\n });\n });\n\n if (this._value) {\n this.setOptionsFromValues(this._value);\n }\n\n this.selectionModel.changed\n .pipe(takeUntil(this.destroyed))\n .subscribe((event) => {\n for (const item of event.added) { item.selected = true; }\n\n for (const item of event.removed) { item.selected = false; }\n });\n\n this.options.changes\n .pipe(startWith(null), takeUntil(this.destroyed))\n .subscribe(() => {\n this.resetOptions();\n\n // Check to see if we need to update our tab index\n this.updateTabIndex();\n });\n\n this.updateScrollSize();\n }\n\n ngOnDestroy() {\n this.destroyed.next();\n\n this.destroyed.complete();\n }\n\n focus(): void {\n if (this.options.length === 0) { return; }\n\n this.keyManager.setFirstItemActive();\n }\n\n blur() {\n if (!this.hasFocusedOption()) {\n this.keyManager.setActiveItem(-1);\n }\n\n this.onTouched();\n this.changeDetectorRef.markForCheck();\n }\n\n selectAll() {\n this.options.forEach((option) => option.setSelected(true));\n\n this.reportValueChange();\n }\n\n deselectAll() {\n this.options.forEach((option) => option.setSelected(false));\n\n this.reportValueChange();\n }\n\n updateScrollSize(): void {\n if (this.horizontal || !this.options.first) { return; }\n\n this.keyManager.withScrollSize(Math.floor(this.getHeight() / this.options.first.getHeight()));\n }\n\n setSelectedOptionsByClick(option: McListOption, shiftKey: boolean, ctrlKey: boolean): void {\n if (shiftKey && this.multiple) {\n this.setSelectedOptions(option);\n } else if (ctrlKey) {\n if (!this.canDeselectLast(option)) { return; }\n\n this.selectionModel.toggle(option);\n } else {\n if (this.autoSelect) {\n if (this.multipleMode !== MultipleMode.KEYBOARD) {\n this.selectionModel.toggle(option);\n }\n\n if (this.multipleMode === MultipleMode.KEYBOARD || !this.multiple) {\n this.options.forEach((item) => item.setSelected(false));\n option.setSelected(true);\n }\n }\n }\n\n this.emitChangeEvent(option);\n this.reportValueChange();\n }\n\n setSelectedOptionsByKey(option: McListOption, shiftKey: boolean, ctrlKey: boolean): void {\n if (shiftKey && this.multiple) {\n this.setSelectedOptions(option);\n } else if (ctrlKey) {\n if (!this.canDeselectLast(option)) { return; }\n } else {\n\n if (this.multipleMode === MultipleMode.KEYBOARD || !this.multiple) {\n this.options.forEach((item) => item.setSelected(false));\n option.setSelected(true);\n }\n }\n\n this.emitChangeEvent(option);\n this.reportValueChange();\n }\n\n setSelectedOptions(option: McListOption): void {\n const selectedOptionState = option.selected;\n\n let fromIndex = this.keyManager.previousActiveItemIndex;\n let toIndex = this.keyManager.previousActiveItemIndex = this.keyManager.activeItemIndex;\n\n if (toIndex === fromIndex) { return; }\n\n if (fromIndex > toIndex) {\n [fromIndex, toIndex] = [toIndex, fromIndex];\n }\n\n this.options\n .toArray()\n .slice(fromIndex, toIndex + 1)\n .filter((item) => !item.disabled)\n .forEach((renderedOption) => {\n const isLastRenderedOption = renderedOption === this.keyManager.activeItem;\n\n if (isLastRenderedOption && renderedOption.selected && this.noUnselect) { return; }\n\n renderedOption.setSelected(!selectedOptionState);\n });\n }\n\n // Implemented as part of ControlValueAccessor.\n writeValue(values: string[]): void {\n this._value = values;\n\n if (this.options) {\n this.setOptionsFromValues(values || []);\n }\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn: (value: any) => void): void {\n this.onChange = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n // Implemented as a part of ControlValueAccessor.\n setDisabledState(isDisabled: boolean): void {\n if (this.options) {\n this.options.forEach((option) => option.disabled = isDisabled);\n }\n }\n\n getSelectedOptionValues(): string[] {\n return this.options.filter((option) => option.selected).map((option) => option.value);\n }\n\n // Toggles the selected state of the currently focused option.\n toggleFocusedOption(): void {\n const focusedIndex = this.keyManager.activeItemIndex;\n\n if (focusedIndex != null && this.isValidIndex(focusedIndex)) {\n const focusedOption: McListOption = this.options.toArray()[focusedIndex];\n\n if (focusedOption && this.canDeselectLast(focusedOption)) {\n focusedOption.toggle();\n\n // Emit a change event because the focused option changed its state through user interaction.\n this.emitChangeEvent(focusedOption);\n }\n }\n }\n\n canDeselectLast(listOption: McListOption): boolean {\n return !(this.noUnselect && this.selectionModel.selected.length === 1 && listOption.selected);\n }\n\n getHeight(): number {\n return this.element.nativeElement.getClientRects()[0].height;\n }\n\n // View to model callback that should be called if the list or its options lost focus.\n // tslint:disable-next-line:no-empty\n onTouched: () => void = () => {};\n\n // Removes an option from the selection list and updates the active item.\n removeOptionFromList(option: McListOption) {\n if (option.hasFocus) {\n const optionIndex = this.getOptionIndex(option);\n\n // Check whether the option is the last item\n if (optionIndex > 0) {\n this.keyManager.setPreviousItemActive();\n } else if (optionIndex === 0 && this.options.length > 1) {\n this.keyManager.setNextItemActive();\n }\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n // tslint:disable-next-line: deprecation\n const keyCode = event.keyCode;\n\n switch (keyCode) {\n case SPACE:\n case ENTER:\n this.toggleFocusedOption();\n\n break;\n\n case TAB:\n this.keyManager.tabOut.next();\n\n return;\n\n case DOWN_ARROW:\n this.keyManager.setNextItemActive();\n\n break;\n case UP_ARROW:\n this.keyManager.setPreviousItemActive();\n\n break;\n case HOME:\n this.keyManager.setFirstItemActive();\n\n break;\n case END:\n this.keyManager.setLastItemActive();\n\n break;\n case PAGE_UP:\n this.keyManager.setPreviousPageItemActive();\n\n break;\n case PAGE_DOWN:\n this.keyManager.setNextPageItemActive();\n\n break;\n default:\n return;\n }\n\n event.preventDefault();\n\n this.setSelectedOptionsByKey(\n this.keyManager.activeItem as McListOption,\n hasModifierKey(event, 'shiftKey'),\n hasModifierKey(event, 'ctrlKey')\n );\n }\n\n // Reports a value change to the ControlValueAccessor\n reportValueChange() {\n if (this.options) {\n const value = this.getSelectedOptionValues();\n this.onChange(value);\n this._value = value;\n }\n }\n\n // Emits a change event if the selected state of an option changed.\n emitChangeEvent(option: McListOption) {\n this.selectionChange.emit(new McListSelectionChange(this, option));\n }\n\n protected updateTabIndex(): void {\n this._tabIndex = this.options.length === 0 ? -1 : 0;\n }\n\n private resetOptions() {\n this.dropSubscriptions();\n this.listenToOptionsFocus();\n }\n\n private dropSubscriptions() {\n if (this.optionFocusSubscription) {\n this.optionFocusSubscription.unsubscribe();\n this.optionFocusSubscription = null;\n }\n\n if (this.optionBlurSubscription) {\n this.optionBlurSubscription.unsubscribe();\n this.optionBlurSubscription = null;\n }\n }\n\n private listenToOptionsFocus(): void {\n this.optionFocusSubscription = this.optionFocusChanges\n .subscribe((event) => {\n const index: number = this.options.toArray().indexOf(event.option);\n\n if (this.isValidIndex(index)) {\n this.keyManager.updateActiveItem(index);\n }\n });\n\n this.optionBlurSubscription = this.optionBlurChanges\n .subscribe(() => this.blur());\n }\n\n /** Checks whether any of the options is focused. */\n private hasFocusedOption() {\n return this.options.some((option) => option.hasFocus);\n }\n\n // Returns the option with the specified value.\n private getOptionByValue(value: string): McListOption | undefined {\n return this.options.find((option) => option.value === value);\n }\n\n // Sets the selected options based on the specified values.\n private setOptionsFromValues(values: string[]) {\n this.options.forEach((option) => option.setSelected(false));\n\n values\n .map((value) => this.getOptionByValue(value))\n .filter(Boolean)\n .forEach((option) => option!.setSelected(true));\n }\n\n /**\n * Utility to ensure all indexes are valid.\n * @param index The index to be checked.\n * @returns True if the index is valid for our list of options.\n */\n private isValidIndex(index: number): boolean {\n return index >= 0 && index < this.options.length;\n }\n\n // Returns the index of the specified list option.\n private getOptionIndex(option: McListOption): number {\n return this.options.toArray().indexOf(option);\n }\n\n // View to model callback that should be called whenever the selected options change.\n private onChange: (value: any) => void = (_: any) => {};\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n"],"names":["McOptionModule","McLineModule","McPseudoCheckboxModule","A11yModule","CommonModule","NgModule","ContentChildren","McLine","ElementRef","ChangeDetectionStrategy","ViewEncapsulation","Component","McLineSetter","tslib_1.__extends","Directive","Input","Output","Attribute","ChangeDetectorRef","hasModifierKey","PAGE_DOWN","PAGE_UP","END","HOME","UP_ARROW","DOWN_ARROW","TAB","ENTER","SPACE","MultipleMode","startWith","takeUntil","FocusKeyManager","toBoolean","merge","SelectionModel","Subject","EventEmitter","mixinTabIndex","mixinDisabled","forwardRef","NG_VALUE_ACCESSOR","ViewChild","McOptgroup","Optional","Inject","NgZone","take","coerceBooleanProperty"],"mappings":"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"}
|
@@ -4,5 +4,5 @@
|
|
4
4
|
*
|
5
5
|
* Use of this source code is governed by an MIT-style license.
|
6
6
|
*/
|
7
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/common"),require("@angular/core"),require("@ptsecurity/cdk/a11y"),require("@ptsecurity/mosaic/core"),require("@angular/cdk/coercion"),require("@angular/cdk/collections"),require("@angular/forms"),require("@ptsecurity/cdk/keycodes"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@ptsecurity/mosaic/list",["exports","@angular/common","@angular/core","@ptsecurity/cdk/a11y","@ptsecurity/mosaic/core","@angular/cdk/coercion","@angular/cdk/collections","@angular/forms","@ptsecurity/cdk/keycodes","rxjs","rxjs/operators"],e):(t=t||self,e((t.ng=t.ng||{},t.ng.mosaic=t.ng.mosaic||{},t.ng.mosaic.list={}),t.ng.common,t.ng.core,t.ng.cdk.a11y,t.ng.mosaic.core,t.ng.cdk.coercion,t.ng.cdk.collections,t.ng.forms,t.ng.cdk.keycodes,t.rxjs,t.rxjs.operators))}(this,function(t,e,i,n,o,s,c,r,l,a,p){"use strict";function u(t,e){function i(){this.constructor=t}m(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}var m=function(t,e){return(m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(t,e)},d=function(){function t(t,e,i,n,o){this.elementRef=t,this.changeDetector=e,this.ngZone=i,this.listSelection=n,this.group=o,this.hasFocus=!1,this.onFocus=new a.Subject,this.onBlur=new a.Subject,this._disabled=!1,this._selected=!1}return Object.defineProperty(t.prototype,"disabled",{get:function(){return this.listSelection&&this.listSelection.disabled||this.group&&this.group.disabled||this._disabled},set:function(t){var e=o.toBoolean(t);e!==this._disabled&&(this._disabled=e,this.changeDetector.markForCheck())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"showCheckbox",{get:function(){return void 0!==this._showCheckbox?this._showCheckbox:this.listSelection.showCheckbox},set:function(t){this._showCheckbox=s.coerceBooleanProperty(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selected",{get:function(){return this.listSelection.selectionModel&&this.listSelection.selectionModel.isSelected(this)||!1},set:function(t){var e=o.toBoolean(t);e!==this._selected&&(this.setSelected(e),this.listSelection.reportValueChange())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"tabIndex",{get:function(){return this.disabled?null:-1},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){var t=this;if(this._selected){var e=this._selected;Promise.resolve().then(function(){(t._selected||e)&&(t.selected=!0,t.changeDetector.markForCheck())})}},t.prototype.ngOnDestroy=function(){var t=this;this.selected&&Promise.resolve().then(function(){return t.selected=!1}),this.listSelection.removeOptionFromList(this)},t.prototype.toggle=function(){this.selected=!this.selected},t.prototype.getLabel=function(){return this.text?this.text.nativeElement.textContent:""},t.prototype.setSelected=function(t){this._selected!==t&&this.listSelection.selectionModel&&(this._selected=t,t?this.listSelection.selectionModel.select(this):this.listSelection.selectionModel.deselect(this),this.changeDetector.markForCheck())},t.prototype.getHeight=function(){return this.elementRef.nativeElement.getClientRects()[0].height},t.prototype.handleClick=function(t){this.disabled||this.listSelection.setSelectedOptionsByClick(this,l.hasModifierKey(t,"shiftKey"),l.hasModifierKey(t,"ctrlKey"))},t.prototype.focus=function(){var t=this;this.hasFocus||(this.elementRef.nativeElement.focus(),this.onFocus.next({option:this}),Promise.resolve().then(function(){t.hasFocus=!0,t.changeDetector.markForCheck()}))},t.prototype.blur=function(){var t=this;this.ngZone.onStable.asObservable().pipe(p.take(1)).subscribe(function(){t.ngZone.run(function(){t.hasFocus=!1,t.onBlur.next({option:t})})})},t.prototype.getHostElement=function(){return this.elementRef.nativeElement},t.decorators=[{type:i.Component,args:[{exportAs:"mcListOption",selector:"mc-list-option",host:{"[attr.tabindex]":"tabIndex",class:"mc-list-option mc-no-select","[class.mc-selected]":"selected","[class.mc-focused]":"hasFocus","[class.mc-disabled]":"disabled","(focus)":"focus()","(blur)":"blur()","(click)":"handleClick($event)"},template:'<div class="mc-list-item-content"><mc-pseudo-checkbox *ngIf="showCheckbox" [state]="selected ? \'checked\' : \'unchecked\'" [disabled]="disabled"></mc-pseudo-checkbox><div class="mc-list-text" #text><ng-content></ng-content></div></div>',encapsulation:i.ViewEncapsulation.None,preserveWhitespaces:!1,changeDetection:i.ChangeDetectionStrategy.OnPush}]}],t.ctorParameters=function(){return[{type:i.ElementRef},{type:i.ChangeDetectorRef},{type:i.NgZone},{type:y,decorators:[{type:i.Inject,args:[i.forwardRef(function(){return y})]}]},{type:o.McOptgroup,decorators:[{type:i.Optional}]}]},t.propDecorators={lines:[{type:i.ContentChildren,args:[o.McLine]}],text:[{type:i.ViewChild,args:["text",{static:!1}]}],checkboxPosition:[{type:i.Input}],value:[{type:i.Input}],disabled:[{type:i.Input}],showCheckbox:[{type:i.Input}],selected:[{type:i.Input}]},t}(),h={provide:r.NG_VALUE_ACCESSOR,useExisting:i.forwardRef(function(){return y}),multi:!0},g=function(){function t(t,e){this.source=t,this.option=e}return t}(),f=function(){function t(){}return t}(),b=o.mixinTabIndex(o.mixinDisabled(f)),y=function(t){function e(e,n,s,r,l,p){var u=t.call(this)||this;return u.element=e,u.changeDetectorRef=n,u.horizontal=!1,u._tabIndex=0,u.selectionChange=new i.EventEmitter,u.destroyed=new a.Subject,u.onTouched=function(){},u.onChange=function(t){},u.autoSelect=null===r||o.toBoolean(r),u.noUnselect=null===l||o.toBoolean(l),p===o.MultipleMode.CHECKBOX||p===o.MultipleMode.KEYBOARD?u.multipleMode=p:null!==p&&(u.multipleMode=o.MultipleMode.CHECKBOX),u.multipleMode===o.MultipleMode.CHECKBOX&&(u.autoSelect=!1,u.noUnselect=!1),u._tabIndex=parseInt(s)||0,u.selectionModel=new c.SelectionModel(u.multiple),u}return u(e,t),Object.defineProperty(e.prototype,"multiple",{get:function(){return!!this.multipleMode},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"tabIndex",{get:function(){return this._tabIndex},set:function(t){this._tabIndex=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"showCheckbox",{get:function(){return this.multipleMode===o.MultipleMode.CHECKBOX},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"optionFocusChanges",{get:function(){return a.merge.apply(void 0,this.options.map(function(t){return t.onFocus}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"optionBlurChanges",{get:function(){return a.merge.apply(void 0,this.options.map(function(t){return t.onBlur}))},enumerable:!0,configurable:!0}),e.prototype.ngAfterContentInit=function(){var t=this;this.horizontal=o.toBoolean(this.horizontal),this.keyManager=new n.FocusKeyManager(this.options).withTypeAhead().withVerticalOrientation(!this.horizontal).withHorizontalOrientation(this.horizontal?"ltr":null),this.keyManager.tabOut.pipe(p.takeUntil(this.destroyed)).subscribe(function(){t._tabIndex=-1,setTimeout(function(){t._tabIndex=0,t.changeDetectorRef.markForCheck()})}),this.tempValues&&(this.setOptionsFromValues(this.tempValues),this.tempValues=null),this.selectionModel.changed.pipe(p.takeUntil(this.destroyed)).subscribe(function(t){for(var e=0,i=t.added;e<i.length;e++){var n=i[e];n.selected=!0}for(var o=0,s=t.removed;o<s.length;o++){var n=s[o];n.selected=!1}}),this.options.changes.pipe(p.startWith(null),p.takeUntil(this.destroyed)).subscribe(function(){t.resetOptions(),t.updateTabIndex()}),this.updateScrollSize()},e.prototype.ngOnDestroy=function(){this.destroyed.next(),this.destroyed.complete()},e.prototype.focus=function(){0!==this.options.length&&this.keyManager.setFirstItemActive()},e.prototype.blur=function(){this.hasFocusedOption()||this.keyManager.setActiveItem(-1),this.onTouched(),this.changeDetectorRef.markForCheck()},e.prototype.selectAll=function(){this.options.forEach(function(t){return t.setSelected(!0)}),this.reportValueChange()},e.prototype.deselectAll=function(){this.options.forEach(function(t){return t.setSelected(!1)}),this.reportValueChange()},e.prototype.updateScrollSize=function(){!this.horizontal&&this.options.first&&this.keyManager.withScrollSize(Math.floor(this.getHeight()/this.options.first.getHeight()))},e.prototype.setSelectedOptionsByClick=function(t,e,i){if(e&&this.multiple)this.setSelectedOptions(t);else if(i){if(!this.canDeselectLast(t))return;this.selectionModel.toggle(t)}else this.autoSelect&&(this.multipleMode!==o.MultipleMode.KEYBOARD&&this.selectionModel.toggle(t),this.multipleMode!==o.MultipleMode.KEYBOARD&&this.multiple||(this.options.forEach(function(t){return t.setSelected(!1)}),t.setSelected(!0)));this.emitChangeEvent(t),this.reportValueChange()},e.prototype.setSelectedOptionsByKey=function(t,e,i){if(e&&this.multiple)this.setSelectedOptions(t);else if(i){if(!this.canDeselectLast(t))return}else this.multipleMode!==o.MultipleMode.KEYBOARD&&this.multiple||(this.options.forEach(function(t){return t.setSelected(!1)}),t.setSelected(!0));this.emitChangeEvent(t),this.reportValueChange()},e.prototype.setSelectedOptions=function(t){var e,i=this,n=t.selected,o=this.keyManager.previousActiveItemIndex,s=this.keyManager.previousActiveItemIndex=this.keyManager.activeItemIndex;s!==o&&(o>s&&(e=[s,o],o=e[0],s=e[1]),this.options.toArray().slice(o,s+1).filter(function(t){return!t.disabled}).forEach(function(t){t===i.keyManager.activeItem&&t.selected&&i.noUnselect||t.setSelected(!n)}))},e.prototype.writeValue=function(t){this.options?this.setOptionsFromValues(t||[]):this.tempValues=t},e.prototype.registerOnChange=function(t){this.onChange=t},e.prototype.registerOnTouched=function(t){this.onTouched=t},e.prototype.setDisabledState=function(t){this.options&&this.options.forEach(function(e){return e.disabled=t})},e.prototype.getSelectedOptionValues=function(){return this.options.filter(function(t){return t.selected}).map(function(t){return t.value})},e.prototype.toggleFocusedOption=function(){var t=this.keyManager.activeItemIndex;if(null!=t&&this.isValidIndex(t)){var e=this.options.toArray()[t];e&&this.canDeselectLast(e)&&(e.toggle(),this.emitChangeEvent(e))}},e.prototype.canDeselectLast=function(t){return!(this.noUnselect&&1===this.selectionModel.selected.length&&t.selected)},e.prototype.getHeight=function(){return this.element.nativeElement.getClientRects()[0].height},e.prototype.removeOptionFromList=function(t){if(t.hasFocus){var e=this.getOptionIndex(t);e>0?this.keyManager.setPreviousItemActive():0===e&&this.options.length>1&&this.keyManager.setNextItemActive()}},e.prototype.onKeyDown=function(t){switch(t.keyCode){case l.SPACE:case l.ENTER:this.toggleFocusedOption();break;case l.TAB:return void this.keyManager.tabOut.next();case l.DOWN_ARROW:this.keyManager.setNextItemActive();break;case l.UP_ARROW:this.keyManager.setPreviousItemActive();break;case l.HOME:this.keyManager.setFirstItemActive();break;case l.END:this.keyManager.setLastItemActive();break;case l.PAGE_UP:this.keyManager.setPreviousPageItemActive();break;case l.PAGE_DOWN:this.keyManager.setNextPageItemActive();break;default:return}t.preventDefault(),this.setSelectedOptionsByKey(this.keyManager.activeItem,l.hasModifierKey(t,"shiftKey"),l.hasModifierKey(t,"ctrlKey"))},e.prototype.reportValueChange=function(){this.options&&this.onChange(this.getSelectedOptionValues())},e.prototype.emitChangeEvent=function(t){this.selectionChange.emit(new g(this,t))},e.prototype.updateTabIndex=function(){this._tabIndex=0===this.options.length?-1:0},e.prototype.resetOptions=function(){this.dropSubscriptions(),this.listenToOptionsFocus()},e.prototype.dropSubscriptions=function(){this.optionFocusSubscription&&(this.optionFocusSubscription.unsubscribe(),this.optionFocusSubscription=null),this.optionBlurSubscription&&(this.optionBlurSubscription.unsubscribe(),this.optionBlurSubscription=null)},e.prototype.listenToOptionsFocus=function(){var t=this;this.optionFocusSubscription=this.optionFocusChanges.subscribe(function(e){var i=t.options.toArray().indexOf(e.option);t.isValidIndex(i)&&t.keyManager.updateActiveItem(i)}),this.optionBlurSubscription=this.optionBlurChanges.subscribe(function(){return t.blur()})},e.prototype.hasFocusedOption=function(){return this.options.some(function(t){return t.hasFocus})},e.prototype.getOptionByValue=function(t){return this.options.find(function(e){return e.value===t})},e.prototype.setOptionsFromValues=function(t){var e=this;this.options.forEach(function(t){return t.setSelected(!1)}),t.map(function(t){return e.getOptionByValue(t)}).filter(Boolean).forEach(function(t){return t.setSelected(!0)})},e.prototype.isValidIndex=function(t){return t>=0&&t<this.options.length},e.prototype.getOptionIndex=function(t){return this.options.toArray().indexOf(t)},e.decorators=[{type:i.Component,args:[{exportAs:"mcListSelection",selector:"mc-list-selection",template:"<ng-content></ng-content>",styles:[".mc-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mc-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mc-divider.mc-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mc-divider.mc-divider-inset{margin-left:80px}[dir=rtl] .mc-divider.mc-divider-inset{margin-left:auto;margin-right:80px}.mc-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mc-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mc-list,.mc-list-selection{display:block;outline:0}.mc-list .mc-subheader,.mc-list-selection .mc-subheader{display:flex;box-sizing:border-box;height:28px;line-height:-2px;padding:15px;align-items:center}.mc-list .mc-subheader:first-child,.mc-list-selection .mc-subheader:first-child{margin-top:0}.mc-list .mc-list .mc-subheader,.mc-list .mc-list-selection .mc-subheader,.mc-list-selection .mc-list .mc-subheader,.mc-list-selection .mc-list-selection .mc-subheader{margin:0}.mc-list-item,.mc-list-option{display:block;height:28px;border:2px solid transparent}.mc-list-item .mc-list-item-content,.mc-list-option .mc-list-item-content{position:relative;box-sizing:border-box;display:flex;flex-direction:row;align-items:center;height:100%;padding:0 15px}.mc-list-item.mc-2-line,.mc-list-option.mc-2-line{height:72px}.mc-list-item.mc-3-line,.mc-list-option.mc-3-line{height:88px}.mc-list-item.mc-multi-line,.mc-list-option.mc-multi-line{height:auto}.mc-list-item.mc-multi-line .mc-list-item-content,.mc-list-option.mc-multi-line .mc-list-item-content{padding-top:16px;padding-bottom:16px}.mc-list-item .mc-list-text,.mc-list-option .mc-list-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;overflow:hidden;padding:0}.mc-list-item .mc-list-text>*,.mc-list-option .mc-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mc-list-item .mc-list-text:empty,.mc-list-option .mc-list-text:empty{display:none}.mc-list-item .mc-list-item-content .mc-list-text:not(:nth-child(2)),.mc-list-option .mc-list-item-content .mc-list-text:not(:nth-child(2)){padding-right:0}[dir=rtl] .mc-list-item .mc-list-item-content .mc-list-text:not(:nth-child(2)),[dir=rtl] .mc-list-option .mc-list-item-content .mc-list-text:not(:nth-child(2)){padding-left:0}.mc-list-item .mc-list-icon,.mc-list-option .mc-list-icon{box-sizing:content-box;flex-shrink:0;width:24px;height:24px;border-radius:50%;padding:4px;font-size:24px}.mc-list-item .mc-list-icon~.mc-divider-inset,.mc-list-option .mc-list-icon~.mc-divider-inset{margin-left:62px;width:calc(100% - 62px)}[dir=rtl] .mc-list-item .mc-list-icon~.mc-divider-inset,[dir=rtl] .mc-list-option .mc-list-icon~.mc-divider-inset{margin-left:auto;margin-right:62px}.mc-list-item .mc-divider,.mc-list-option .mc-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mc-list-item .mc-divider,[dir=rtl] .mc-list-option .mc-divider{margin-left:auto;margin-right:0}.mc-list-item .mc-divider.mc-divider-inset,.mc-list-option .mc-divider.mc-divider-inset{position:absolute}.mc-list-item .mc-pseudo-checkbox,.mc-list-option .mc-pseudo-checkbox{margin-right:8px}.mc-list-option:not([disabled]):not(.mc-disabled){cursor:pointer}"],changeDetection:i.ChangeDetectionStrategy.OnPush,encapsulation:i.ViewEncapsulation.None,inputs:["disabled"],host:{"[attr.tabindex]":"tabIndex",class:"mc-list-selection","(focus)":"focus()","(blur)":"blur()","(keydown)":"onKeyDown($event)","(window:resize)":"updateScrollSize()"},providers:[h],preserveWhitespaces:!1}]}],e.ctorParameters=function(){return[{type:i.ElementRef},{type:i.ChangeDetectorRef},{type:String,decorators:[{type:i.Attribute,args:["tabindex"]}]},{type:String,decorators:[{type:i.Attribute,args:["auto-select"]}]},{type:String,decorators:[{type:i.Attribute,args:["no-unselect"]}]},{type:String,decorators:[{type:i.Attribute,args:["multiple"]}]}]},e.propDecorators={options:[{type:i.ContentChildren,args:[d,{descendants:!0}]}],horizontal:[{type:i.Input}],tabIndex:[{type:i.Input}],selectionChange:[{type:i.Output}]},e}(b),x=function(){function t(){}return t}(),v=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return u(e,t),e.decorators=[{type:i.Component,args:[{selector:"mc-list",host:{class:"mc-list"},template:"<ng-content></ng-content>",styles:[".mc-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mc-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mc-divider.mc-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mc-divider.mc-divider-inset{margin-left:80px}[dir=rtl] .mc-divider.mc-divider-inset{margin-left:auto;margin-right:80px}.mc-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mc-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mc-list,.mc-list-selection{display:block;outline:0}.mc-list .mc-subheader,.mc-list-selection .mc-subheader{display:flex;box-sizing:border-box;height:28px;line-height:-2px;padding:15px;align-items:center}.mc-list .mc-subheader:first-child,.mc-list-selection .mc-subheader:first-child{margin-top:0}.mc-list .mc-list .mc-subheader,.mc-list .mc-list-selection .mc-subheader,.mc-list-selection .mc-list .mc-subheader,.mc-list-selection .mc-list-selection .mc-subheader{margin:0}.mc-list-item,.mc-list-option{display:block;height:28px;border:2px solid transparent}.mc-list-item .mc-list-item-content,.mc-list-option .mc-list-item-content{position:relative;box-sizing:border-box;display:flex;flex-direction:row;align-items:center;height:100%;padding:0 15px}.mc-list-item.mc-2-line,.mc-list-option.mc-2-line{height:72px}.mc-list-item.mc-3-line,.mc-list-option.mc-3-line{height:88px}.mc-list-item.mc-multi-line,.mc-list-option.mc-multi-line{height:auto}.mc-list-item.mc-multi-line .mc-list-item-content,.mc-list-option.mc-multi-line .mc-list-item-content{padding-top:16px;padding-bottom:16px}.mc-list-item .mc-list-text,.mc-list-option .mc-list-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;overflow:hidden;padding:0}.mc-list-item .mc-list-text>*,.mc-list-option .mc-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mc-list-item .mc-list-text:empty,.mc-list-option .mc-list-text:empty{display:none}.mc-list-item .mc-list-item-content .mc-list-text:not(:nth-child(2)),.mc-list-option .mc-list-item-content .mc-list-text:not(:nth-child(2)){padding-right:0}[dir=rtl] .mc-list-item .mc-list-item-content .mc-list-text:not(:nth-child(2)),[dir=rtl] .mc-list-option .mc-list-item-content .mc-list-text:not(:nth-child(2)){padding-left:0}.mc-list-item .mc-list-icon,.mc-list-option .mc-list-icon{box-sizing:content-box;flex-shrink:0;width:24px;height:24px;border-radius:50%;padding:4px;font-size:24px}.mc-list-item .mc-list-icon~.mc-divider-inset,.mc-list-option .mc-list-icon~.mc-divider-inset{margin-left:62px;width:calc(100% - 62px)}[dir=rtl] .mc-list-item .mc-list-icon~.mc-divider-inset,[dir=rtl] .mc-list-option .mc-list-icon~.mc-divider-inset{margin-left:auto;margin-right:62px}.mc-list-item .mc-divider,.mc-list-option .mc-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mc-list-item .mc-divider,[dir=rtl] .mc-list-option .mc-divider{margin-left:auto;margin-right:0}.mc-list-item .mc-divider.mc-divider-inset,.mc-list-option .mc-divider.mc-divider-inset{position:absolute}.mc-list-item .mc-pseudo-checkbox,.mc-list-option .mc-pseudo-checkbox{margin-right:8px}.mc-list-option:not([disabled]):not(.mc-disabled){cursor:pointer}"],changeDetection:i.ChangeDetectionStrategy.OnPush,encapsulation:i.ViewEncapsulation.None}]}],e}(x),k=function(){function t(){}return t.decorators=[{type:i.Directive,args:[{selector:"[mc-subheader], [mcSubheader]",host:{class:"mc-subheader"}}]}],t}(),M=function(){function t(){}return t}(),S=function(t){function e(e){var i=t.call(this)||this;return i._element=e,i}return u(e,t),e.prototype.ngAfterContentInit=function(){this.lineSetter=new o.McLineSetter(this.lines,this._element)},e.prototype.handleFocus=function(){this._element.nativeElement.classList.add("mc-focused")},e.prototype.handleBlur=function(){this._element.nativeElement.classList.remove("mc-focused")},e.prototype.getHostElement=function(){return this._element.nativeElement},e.decorators=[{type:i.Component,args:[{selector:"mc-list-item, a[mc-list-item]",host:{class:"mc-list-item","(focus)":"handleFocus()","(blur)":"handleBlur()"},template:'<div class="mc-list-item-content"><ng-content select="[mc-list-icon], [mcListIcon]"></ng-content><div class="mc-list-text"><ng-content select="[mc-line], [mcLine]"></ng-content></div><ng-content></ng-content></div>',encapsulation:i.ViewEncapsulation.None,preserveWhitespaces:!1,changeDetection:i.ChangeDetectionStrategy.OnPush}]}],e.ctorParameters=function(){return[{type:i.ElementRef}]},e.propDecorators={lines:[{type:i.ContentChildren,args:[o.McLine]}]},e}(M),C=function(){function t(){}return t.decorators=[{type:i.NgModule,args:[{imports:[e.CommonModule,n.A11yModule,o.McPseudoCheckboxModule,o.McLineModule,o.McOptionModule],exports:[v,y,S,d,o.McOptionModule,k],declarations:[v,y,S,d,k]}]}],t}();t.MC_SELECTION_LIST_VALUE_ACCESSOR=h,t.McList=v,t.McListBase=x,t.McListItem=S,t.McListItemBase=M,t.McListModule=C,t.McListOption=d,t.McListSelection=y,t.McListSelectionBase=f,t.McListSelectionChange=g,t.McListSelectionMixinBase=b,t.McListSubheaderCssStyler=k,Object.defineProperty(t,"__esModule",{value:!0})});
|
7
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/common"),require("@angular/core"),require("@ptsecurity/cdk/a11y"),require("@ptsecurity/mosaic/core"),require("@angular/cdk/coercion"),require("@angular/cdk/collections"),require("@angular/forms"),require("@ptsecurity/cdk/keycodes"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@ptsecurity/mosaic/list",["exports","@angular/common","@angular/core","@ptsecurity/cdk/a11y","@ptsecurity/mosaic/core","@angular/cdk/coercion","@angular/cdk/collections","@angular/forms","@ptsecurity/cdk/keycodes","rxjs","rxjs/operators"],e):(t=t||self,e((t.ng=t.ng||{},t.ng.mosaic=t.ng.mosaic||{},t.ng.mosaic.list={}),t.ng.common,t.ng.core,t.ng.cdk.a11y,t.ng.mosaic.core,t.ng.cdk.coercion,t.ng.cdk.collections,t.ng.forms,t.ng.cdk.keycodes,t.rxjs,t.rxjs.operators))}(this,function(t,e,i,n,o,s,c,r,l,a,u){"use strict";function p(t,e){function i(){this.constructor=t}m(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}var m=function(t,e){return(m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(t,e)},d=function(){function t(t,e,i,n,o){this.elementRef=t,this.changeDetector=e,this.ngZone=i,this.listSelection=n,this.group=o,this.hasFocus=!1,this.onFocus=new a.Subject,this.onBlur=new a.Subject,this.inputsInitialized=!1,this._disabled=!1,this._selected=!1}return Object.defineProperty(t.prototype,"value",{get:function(){return this._value},set:function(t){this.selected&&t!==this.value&&this.inputsInitialized&&(this.selected=!1),this._value=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this.listSelection&&this.listSelection.disabled||this.group&&this.group.disabled||this._disabled},set:function(t){var e=o.toBoolean(t);e!==this._disabled&&(this._disabled=e,this.changeDetector.markForCheck())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"showCheckbox",{get:function(){return void 0!==this._showCheckbox?this._showCheckbox:this.listSelection.showCheckbox},set:function(t){this._showCheckbox=s.coerceBooleanProperty(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"selected",{get:function(){return this.listSelection.selectionModel&&this.listSelection.selectionModel.isSelected(this)||!1},set:function(t){var e=o.toBoolean(t);e!==this._selected&&(this.setSelected(e),this.listSelection.reportValueChange())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"tabIndex",{get:function(){return this.disabled?null:-1},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){var t=this,e=this.listSelection;e._value&&e._value.some(function(i){return e.compareWith(i,t._value)})&&this.setSelected(!0);var i=this._selected;Promise.resolve().then(function(){(t._selected||i)&&(t.selected=!0,t.changeDetector.markForCheck())}),this.inputsInitialized=!0},t.prototype.ngOnDestroy=function(){var t=this;this.selected&&Promise.resolve().then(function(){return t.selected=!1}),this.listSelection.removeOptionFromList(this)},t.prototype.toggle=function(){this.selected=!this.selected},t.prototype.getLabel=function(){return this.text?this.text.nativeElement.textContent:""},t.prototype.setSelected=function(t){this._selected!==t&&this.listSelection.selectionModel&&(this._selected=t,t?this.listSelection.selectionModel.select(this):this.listSelection.selectionModel.deselect(this),this.changeDetector.markForCheck())},t.prototype.getHeight=function(){return this.elementRef.nativeElement.getClientRects()[0].height},t.prototype.handleClick=function(t){this.disabled||this.listSelection.setSelectedOptionsByClick(this,l.hasModifierKey(t,"shiftKey"),l.hasModifierKey(t,"ctrlKey"))},t.prototype.focus=function(){var t=this;this.hasFocus||(this.elementRef.nativeElement.focus(),this.onFocus.next({option:this}),Promise.resolve().then(function(){t.hasFocus=!0,t.changeDetector.markForCheck()}))},t.prototype.blur=function(){var t=this;this.ngZone.onStable.asObservable().pipe(u.take(1)).subscribe(function(){t.ngZone.run(function(){t.hasFocus=!1,t.onBlur.next({option:t})})})},t.prototype.getHostElement=function(){return this.elementRef.nativeElement},t.decorators=[{type:i.Component,args:[{exportAs:"mcListOption",selector:"mc-list-option",host:{"[attr.tabindex]":"tabIndex",class:"mc-list-option mc-no-select","[class.mc-selected]":"selected","[class.mc-focused]":"hasFocus","[class.mc-disabled]":"disabled","(focus)":"focus()","(blur)":"blur()","(click)":"handleClick($event)"},template:'<div class="mc-list-item-content"><mc-pseudo-checkbox *ngIf="showCheckbox" [state]="selected ? \'checked\' : \'unchecked\'" [disabled]="disabled"></mc-pseudo-checkbox><div class="mc-list-text" #text><ng-content></ng-content></div></div>',encapsulation:i.ViewEncapsulation.None,preserveWhitespaces:!1,changeDetection:i.ChangeDetectionStrategy.OnPush}]}],t.ctorParameters=function(){return[{type:i.ElementRef},{type:i.ChangeDetectorRef},{type:i.NgZone},{type:y,decorators:[{type:i.Inject,args:[i.forwardRef(function(){return y})]}]},{type:o.McOptgroup,decorators:[{type:i.Optional}]}]},t.propDecorators={lines:[{type:i.ContentChildren,args:[o.McLine]}],text:[{type:i.ViewChild,args:["text",{static:!1}]}],checkboxPosition:[{type:i.Input}],value:[{type:i.Input}],disabled:[{type:i.Input}],showCheckbox:[{type:i.Input}],selected:[{type:i.Input}]},t}(),h={provide:r.NG_VALUE_ACCESSOR,useExisting:i.forwardRef(function(){return y}),multi:!0},g=function(){function t(t,e){this.source=t,this.option=e}return t}(),f=function(){function t(){}return t}(),b=o.mixinTabIndex(o.mixinDisabled(f)),y=function(t){function e(e,n,s,r,l,u){var p=t.call(this)||this;return p.element=e,p.changeDetectorRef=n,p.horizontal=!1,p._tabIndex=0,p.selectionChange=new i.EventEmitter,p.destroyed=new a.Subject,p.compareWith=function(t,e){return t===e},p.onTouched=function(){},p.onChange=function(t){},p.autoSelect=null===r||o.toBoolean(r),p.noUnselect=null===l||o.toBoolean(l),u===o.MultipleMode.CHECKBOX||u===o.MultipleMode.KEYBOARD?p.multipleMode=u:null!==u&&(p.multipleMode=o.MultipleMode.CHECKBOX),p.multipleMode===o.MultipleMode.CHECKBOX&&(p.noUnselect=!1),p._tabIndex=parseInt(s)||0,p.selectionModel=new c.SelectionModel(p.multiple),p}return p(e,t),Object.defineProperty(e.prototype,"multiple",{get:function(){return!!this.multipleMode},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"tabIndex",{get:function(){return this._tabIndex},set:function(t){this._tabIndex=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"showCheckbox",{get:function(){return this.multipleMode===o.MultipleMode.CHECKBOX},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"optionFocusChanges",{get:function(){return a.merge.apply(void 0,this.options.map(function(t){return t.onFocus}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"optionBlurChanges",{get:function(){return a.merge.apply(void 0,this.options.map(function(t){return t.onBlur}))},enumerable:!0,configurable:!0}),e.prototype.ngAfterContentInit=function(){var t=this;this.horizontal=o.toBoolean(this.horizontal),this.keyManager=new n.FocusKeyManager(this.options).withTypeAhead().withVerticalOrientation(!this.horizontal).withHorizontalOrientation(this.horizontal?"ltr":null),this.keyManager.tabOut.pipe(u.takeUntil(this.destroyed)).subscribe(function(){t._tabIndex=-1,setTimeout(function(){t._tabIndex=0,t.changeDetectorRef.markForCheck()})}),this._value&&this.setOptionsFromValues(this._value),this.selectionModel.changed.pipe(u.takeUntil(this.destroyed)).subscribe(function(t){for(var e=0,i=t.added;e<i.length;e++){var n=i[e];n.selected=!0}for(var o=0,s=t.removed;o<s.length;o++){var n=s[o];n.selected=!1}}),this.options.changes.pipe(u.startWith(null),u.takeUntil(this.destroyed)).subscribe(function(){t.resetOptions(),t.updateTabIndex()}),this.updateScrollSize()},e.prototype.ngOnDestroy=function(){this.destroyed.next(),this.destroyed.complete()},e.prototype.focus=function(){0!==this.options.length&&this.keyManager.setFirstItemActive()},e.prototype.blur=function(){this.hasFocusedOption()||this.keyManager.setActiveItem(-1),this.onTouched(),this.changeDetectorRef.markForCheck()},e.prototype.selectAll=function(){this.options.forEach(function(t){return t.setSelected(!0)}),this.reportValueChange()},e.prototype.deselectAll=function(){this.options.forEach(function(t){return t.setSelected(!1)}),this.reportValueChange()},e.prototype.updateScrollSize=function(){!this.horizontal&&this.options.first&&this.keyManager.withScrollSize(Math.floor(this.getHeight()/this.options.first.getHeight()))},e.prototype.setSelectedOptionsByClick=function(t,e,i){if(e&&this.multiple)this.setSelectedOptions(t);else if(i){if(!this.canDeselectLast(t))return;this.selectionModel.toggle(t)}else this.autoSelect&&(this.multipleMode!==o.MultipleMode.KEYBOARD&&this.selectionModel.toggle(t),this.multipleMode!==o.MultipleMode.KEYBOARD&&this.multiple||(this.options.forEach(function(t){return t.setSelected(!1)}),t.setSelected(!0)));this.emitChangeEvent(t),this.reportValueChange()},e.prototype.setSelectedOptionsByKey=function(t,e,i){if(e&&this.multiple)this.setSelectedOptions(t);else if(i){if(!this.canDeselectLast(t))return}else this.multipleMode!==o.MultipleMode.KEYBOARD&&this.multiple||(this.options.forEach(function(t){return t.setSelected(!1)}),t.setSelected(!0));this.emitChangeEvent(t),this.reportValueChange()},e.prototype.setSelectedOptions=function(t){var e,i=this,n=t.selected,o=this.keyManager.previousActiveItemIndex,s=this.keyManager.previousActiveItemIndex=this.keyManager.activeItemIndex;s!==o&&(o>s&&(e=[s,o],o=e[0],s=e[1]),this.options.toArray().slice(o,s+1).filter(function(t){return!t.disabled}).forEach(function(t){t===i.keyManager.activeItem&&t.selected&&i.noUnselect||t.setSelected(!n)}))},e.prototype.writeValue=function(t){this._value=t,this.options&&this.setOptionsFromValues(t||[])},e.prototype.registerOnChange=function(t){this.onChange=t},e.prototype.registerOnTouched=function(t){this.onTouched=t},e.prototype.setDisabledState=function(t){this.options&&this.options.forEach(function(e){return e.disabled=t})},e.prototype.getSelectedOptionValues=function(){return this.options.filter(function(t){return t.selected}).map(function(t){return t.value})},e.prototype.toggleFocusedOption=function(){var t=this.keyManager.activeItemIndex;if(null!=t&&this.isValidIndex(t)){var e=this.options.toArray()[t];e&&this.canDeselectLast(e)&&(e.toggle(),this.emitChangeEvent(e))}},e.prototype.canDeselectLast=function(t){return!(this.noUnselect&&1===this.selectionModel.selected.length&&t.selected)},e.prototype.getHeight=function(){return this.element.nativeElement.getClientRects()[0].height},e.prototype.removeOptionFromList=function(t){if(t.hasFocus){var e=this.getOptionIndex(t);e>0?this.keyManager.setPreviousItemActive():0===e&&this.options.length>1&&this.keyManager.setNextItemActive()}},e.prototype.onKeyDown=function(t){switch(t.keyCode){case l.SPACE:case l.ENTER:this.toggleFocusedOption();break;case l.TAB:return void this.keyManager.tabOut.next();case l.DOWN_ARROW:this.keyManager.setNextItemActive();break;case l.UP_ARROW:this.keyManager.setPreviousItemActive();break;case l.HOME:this.keyManager.setFirstItemActive();break;case l.END:this.keyManager.setLastItemActive();break;case l.PAGE_UP:this.keyManager.setPreviousPageItemActive();break;case l.PAGE_DOWN:this.keyManager.setNextPageItemActive();break;default:return}t.preventDefault(),this.setSelectedOptionsByKey(this.keyManager.activeItem,l.hasModifierKey(t,"shiftKey"),l.hasModifierKey(t,"ctrlKey"))},e.prototype.reportValueChange=function(){if(this.options){var t=this.getSelectedOptionValues();this.onChange(t),this._value=t}},e.prototype.emitChangeEvent=function(t){this.selectionChange.emit(new g(this,t))},e.prototype.updateTabIndex=function(){this._tabIndex=0===this.options.length?-1:0},e.prototype.resetOptions=function(){this.dropSubscriptions(),this.listenToOptionsFocus()},e.prototype.dropSubscriptions=function(){this.optionFocusSubscription&&(this.optionFocusSubscription.unsubscribe(),this.optionFocusSubscription=null),this.optionBlurSubscription&&(this.optionBlurSubscription.unsubscribe(),this.optionBlurSubscription=null)},e.prototype.listenToOptionsFocus=function(){var t=this;this.optionFocusSubscription=this.optionFocusChanges.subscribe(function(e){var i=t.options.toArray().indexOf(e.option);t.isValidIndex(i)&&t.keyManager.updateActiveItem(i)}),this.optionBlurSubscription=this.optionBlurChanges.subscribe(function(){return t.blur()})},e.prototype.hasFocusedOption=function(){return this.options.some(function(t){return t.hasFocus})},e.prototype.getOptionByValue=function(t){return this.options.find(function(e){return e.value===t})},e.prototype.setOptionsFromValues=function(t){var e=this;this.options.forEach(function(t){return t.setSelected(!1)}),t.map(function(t){return e.getOptionByValue(t)}).filter(Boolean).forEach(function(t){return t.setSelected(!0)})},e.prototype.isValidIndex=function(t){return t>=0&&t<this.options.length},e.prototype.getOptionIndex=function(t){return this.options.toArray().indexOf(t)},e.decorators=[{type:i.Component,args:[{exportAs:"mcListSelection",selector:"mc-list-selection",template:"<ng-content></ng-content>",styles:[".mc-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mc-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mc-divider.mc-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mc-divider.mc-divider-inset{margin-left:80px}[dir=rtl] .mc-divider.mc-divider-inset{margin-left:auto;margin-right:80px}.mc-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mc-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mc-list,.mc-list-selection{display:block;outline:0}.mc-list .mc-subheader,.mc-list-selection .mc-subheader{display:flex;box-sizing:border-box;height:28px;line-height:-2px;padding:15px;align-items:center}.mc-list .mc-subheader:first-child,.mc-list-selection .mc-subheader:first-child{margin-top:0}.mc-list .mc-list .mc-subheader,.mc-list .mc-list-selection .mc-subheader,.mc-list-selection .mc-list .mc-subheader,.mc-list-selection .mc-list-selection .mc-subheader{margin:0}.mc-list-item,.mc-list-option{display:block;height:28px;border:2px solid transparent}.mc-list-item .mc-list-item-content,.mc-list-option .mc-list-item-content{position:relative;box-sizing:border-box;display:flex;flex-direction:row;align-items:center;height:100%;padding:0 15px}.mc-list-item.mc-2-line,.mc-list-option.mc-2-line{height:72px}.mc-list-item.mc-3-line,.mc-list-option.mc-3-line{height:88px}.mc-list-item.mc-multi-line,.mc-list-option.mc-multi-line{height:auto}.mc-list-item.mc-multi-line .mc-list-item-content,.mc-list-option.mc-multi-line .mc-list-item-content{padding-top:16px;padding-bottom:16px}.mc-list-item .mc-list-text,.mc-list-option .mc-list-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;overflow:hidden;padding:0}.mc-list-item .mc-list-text>*,.mc-list-option .mc-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mc-list-item .mc-list-text:empty,.mc-list-option .mc-list-text:empty{display:none}.mc-list-item .mc-list-item-content .mc-list-text:not(:nth-child(2)),.mc-list-option .mc-list-item-content .mc-list-text:not(:nth-child(2)){padding-right:0}[dir=rtl] .mc-list-item .mc-list-item-content .mc-list-text:not(:nth-child(2)),[dir=rtl] .mc-list-option .mc-list-item-content .mc-list-text:not(:nth-child(2)){padding-left:0}.mc-list-item .mc-list-icon,.mc-list-option .mc-list-icon{box-sizing:content-box;flex-shrink:0;width:24px;height:24px;border-radius:50%;padding:4px;font-size:24px}.mc-list-item .mc-list-icon~.mc-divider-inset,.mc-list-option .mc-list-icon~.mc-divider-inset{margin-left:62px;width:calc(100% - 62px)}[dir=rtl] .mc-list-item .mc-list-icon~.mc-divider-inset,[dir=rtl] .mc-list-option .mc-list-icon~.mc-divider-inset{margin-left:auto;margin-right:62px}.mc-list-item .mc-divider,.mc-list-option .mc-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mc-list-item .mc-divider,[dir=rtl] .mc-list-option .mc-divider{margin-left:auto;margin-right:0}.mc-list-item .mc-divider.mc-divider-inset,.mc-list-option .mc-divider.mc-divider-inset{position:absolute}.mc-list-item .mc-pseudo-checkbox,.mc-list-option .mc-pseudo-checkbox{margin-right:8px}.mc-list-option:not([disabled]):not(.mc-disabled){cursor:pointer}"],changeDetection:i.ChangeDetectionStrategy.OnPush,encapsulation:i.ViewEncapsulation.None,inputs:["disabled"],host:{"[attr.tabindex]":"tabIndex",class:"mc-list-selection","(focus)":"focus()","(blur)":"blur()","(keydown)":"onKeyDown($event)","(window:resize)":"updateScrollSize()"},providers:[h],preserveWhitespaces:!1}]}],e.ctorParameters=function(){return[{type:i.ElementRef},{type:i.ChangeDetectorRef},{type:String,decorators:[{type:i.Attribute,args:["tabindex"]}]},{type:String,decorators:[{type:i.Attribute,args:["auto-select"]}]},{type:String,decorators:[{type:i.Attribute,args:["no-unselect"]}]},{type:String,decorators:[{type:i.Attribute,args:["multiple"]}]}]},e.propDecorators={options:[{type:i.ContentChildren,args:[d,{descendants:!0}]}],horizontal:[{type:i.Input}],tabIndex:[{type:i.Input}],selectionChange:[{type:i.Output}],compareWith:[{type:i.Input}]},e}(b),x=function(){function t(){}return t}(),v=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return p(e,t),e.decorators=[{type:i.Component,args:[{selector:"mc-list",host:{class:"mc-list"},template:"<ng-content></ng-content>",styles:[".mc-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mc-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mc-divider.mc-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mc-divider.mc-divider-inset{margin-left:80px}[dir=rtl] .mc-divider.mc-divider-inset{margin-left:auto;margin-right:80px}.mc-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mc-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mc-list,.mc-list-selection{display:block;outline:0}.mc-list .mc-subheader,.mc-list-selection .mc-subheader{display:flex;box-sizing:border-box;height:28px;line-height:-2px;padding:15px;align-items:center}.mc-list .mc-subheader:first-child,.mc-list-selection .mc-subheader:first-child{margin-top:0}.mc-list .mc-list .mc-subheader,.mc-list .mc-list-selection .mc-subheader,.mc-list-selection .mc-list .mc-subheader,.mc-list-selection .mc-list-selection .mc-subheader{margin:0}.mc-list-item,.mc-list-option{display:block;height:28px;border:2px solid transparent}.mc-list-item .mc-list-item-content,.mc-list-option .mc-list-item-content{position:relative;box-sizing:border-box;display:flex;flex-direction:row;align-items:center;height:100%;padding:0 15px}.mc-list-item.mc-2-line,.mc-list-option.mc-2-line{height:72px}.mc-list-item.mc-3-line,.mc-list-option.mc-3-line{height:88px}.mc-list-item.mc-multi-line,.mc-list-option.mc-multi-line{height:auto}.mc-list-item.mc-multi-line .mc-list-item-content,.mc-list-option.mc-multi-line .mc-list-item-content{padding-top:16px;padding-bottom:16px}.mc-list-item .mc-list-text,.mc-list-option .mc-list-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;overflow:hidden;padding:0}.mc-list-item .mc-list-text>*,.mc-list-option .mc-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.mc-list-item .mc-list-text:empty,.mc-list-option .mc-list-text:empty{display:none}.mc-list-item .mc-list-item-content .mc-list-text:not(:nth-child(2)),.mc-list-option .mc-list-item-content .mc-list-text:not(:nth-child(2)){padding-right:0}[dir=rtl] .mc-list-item .mc-list-item-content .mc-list-text:not(:nth-child(2)),[dir=rtl] .mc-list-option .mc-list-item-content .mc-list-text:not(:nth-child(2)){padding-left:0}.mc-list-item .mc-list-icon,.mc-list-option .mc-list-icon{box-sizing:content-box;flex-shrink:0;width:24px;height:24px;border-radius:50%;padding:4px;font-size:24px}.mc-list-item .mc-list-icon~.mc-divider-inset,.mc-list-option .mc-list-icon~.mc-divider-inset{margin-left:62px;width:calc(100% - 62px)}[dir=rtl] .mc-list-item .mc-list-icon~.mc-divider-inset,[dir=rtl] .mc-list-option .mc-list-icon~.mc-divider-inset{margin-left:auto;margin-right:62px}.mc-list-item .mc-divider,.mc-list-option .mc-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mc-list-item .mc-divider,[dir=rtl] .mc-list-option .mc-divider{margin-left:auto;margin-right:0}.mc-list-item .mc-divider.mc-divider-inset,.mc-list-option .mc-divider.mc-divider-inset{position:absolute}.mc-list-item .mc-pseudo-checkbox,.mc-list-option .mc-pseudo-checkbox{margin-right:8px}.mc-list-option:not([disabled]):not(.mc-disabled){cursor:pointer}"],changeDetection:i.ChangeDetectionStrategy.OnPush,encapsulation:i.ViewEncapsulation.None}]}],e}(x),k=function(){function t(){}return t.decorators=[{type:i.Directive,args:[{selector:"[mc-subheader], [mcSubheader]",host:{class:"mc-subheader"}}]}],t}(),M=function(){function t(){}return t}(),S=function(t){function e(e){var i=t.call(this)||this;return i._element=e,i}return p(e,t),e.prototype.ngAfterContentInit=function(){this.lineSetter=new o.McLineSetter(this.lines,this._element)},e.prototype.handleFocus=function(){this._element.nativeElement.classList.add("mc-focused")},e.prototype.handleBlur=function(){this._element.nativeElement.classList.remove("mc-focused")},e.prototype.getHostElement=function(){return this._element.nativeElement},e.decorators=[{type:i.Component,args:[{selector:"mc-list-item, a[mc-list-item]",host:{class:"mc-list-item","(focus)":"handleFocus()","(blur)":"handleBlur()"},template:'<div class="mc-list-item-content"><ng-content select="[mc-list-icon], [mcListIcon]"></ng-content><div class="mc-list-text"><ng-content select="[mc-line], [mcLine]"></ng-content></div><ng-content></ng-content></div>',encapsulation:i.ViewEncapsulation.None,preserveWhitespaces:!1,changeDetection:i.ChangeDetectionStrategy.OnPush}]}],e.ctorParameters=function(){return[{type:i.ElementRef}]},e.propDecorators={lines:[{type:i.ContentChildren,args:[o.McLine]}]},e}(M),C=function(){function t(){}return t.decorators=[{type:i.NgModule,args:[{imports:[e.CommonModule,n.A11yModule,o.McPseudoCheckboxModule,o.McLineModule,o.McOptionModule],exports:[v,y,S,d,o.McOptionModule,k],declarations:[v,y,S,d,k]}]}],t}();t.MC_SELECTION_LIST_VALUE_ACCESSOR=h,t.McList=v,t.McListBase=x,t.McListItem=S,t.McListItemBase=M,t.McListModule=C,t.McListOption=d,t.McListSelection=y,t.McListSelectionBase=f,t.McListSelectionChange=g,t.McListSelectionMixinBase=b,t.McListSubheaderCssStyler=k,Object.defineProperty(t,"__esModule",{value:!0})});
|
8
8
|
//# sourceMappingURL=mosaic-list.umd.min.js.map
|