@ng-matero/extensions 12.4.0 → 12.5.3
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/_all-color.scss +47 -0
- package/_all-theme.scss +3 -1
- package/_index.scss +2 -0
- package/_theming.scss +2 -0
- package/alert/_alert-theme.import.scss +2 -2
- package/alert/_alert-theme.scss +33 -8
- package/alert/alert.component.d.ts +0 -2
- package/alert/mtxAlert.metadata.json +1 -1
- package/bundles/extensions.umd.js +30 -53
- package/bundles/extensions.umd.js.map +1 -1
- package/bundles/mtxAlert.umd.js +13 -5
- package/bundles/mtxAlert.umd.js.map +1 -1
- package/bundles/mtxButton.umd.js +13 -4
- package/bundles/mtxButton.umd.js.map +1 -1
- package/bundles/mtxCheckboxGroup.umd.js +14 -6
- package/bundles/mtxCheckboxGroup.umd.js.map +1 -1
- package/bundles/mtxColorPicker.umd.js +13 -4
- package/bundles/mtxColorPicker.umd.js.map +1 -1
- package/bundles/mtxColumnResize.umd.js +58 -9
- package/bundles/mtxColumnResize.umd.js.map +1 -1
- package/bundles/mtxCore.umd.js +13 -4
- package/bundles/mtxCore.umd.js.map +1 -1
- package/bundles/mtxDatetimepicker.umd.js +91 -22
- package/bundles/mtxDatetimepicker.umd.js.map +1 -1
- package/bundles/mtxDialog.umd.js +23 -8
- package/bundles/mtxDialog.umd.js.map +1 -1
- package/bundles/mtxFormGroup.umd.js +13 -4
- package/bundles/mtxFormGroup.umd.js.map +1 -1
- package/bundles/mtxGrid.umd.js +95 -17
- package/bundles/mtxGrid.umd.js.map +1 -1
- package/bundles/mtxLoader.umd.js +13 -4
- package/bundles/mtxLoader.umd.js.map +1 -1
- package/bundles/mtxPipes.umd.js +5 -3
- package/bundles/mtxPipes.umd.js.map +1 -1
- package/bundles/mtxPopover.umd.js +30 -6
- package/bundles/mtxPopover.umd.js.map +1 -1
- package/bundles/mtxProgress.umd.js +7 -4
- package/bundles/mtxProgress.umd.js.map +1 -1
- package/bundles/mtxSelect.umd.js +111 -17
- package/bundles/mtxSelect.umd.js.map +1 -1
- package/bundles/mtxSlider.umd.js +1551 -0
- package/bundles/mtxSlider.umd.js.map +1 -0
- package/bundles/mtxSplit.umd.js +39 -20
- package/bundles/mtxSplit.umd.js.map +1 -1
- package/bundles/mtxText3d.umd.js +14 -5
- package/bundles/mtxText3d.umd.js.map +1 -1
- package/bundles/mtxTooltip.umd.js +26 -7
- package/bundles/mtxTooltip.umd.js.map +1 -1
- package/checkbox-group/checkbox-group.component.d.ts +2 -4
- package/checkbox-group/mtxCheckboxGroup.metadata.json +1 -1
- package/datetimepicker/_datetimepicker-theme.import.scss +4 -2
- package/datetimepicker/_datetimepicker-theme.scss +99 -27
- package/datetimepicker/calendar-body.scss +0 -3
- package/datetimepicker/calendar.scss +3 -17
- package/datetimepicker/clock.scss +0 -2
- package/datetimepicker/mtxDatetimepicker.metadata.json +1 -1
- package/dialog/mtxDialog.metadata.json +1 -1
- package/esm2015/alert/alert.component.js +10 -3
- package/esm2015/alert/alert.module.js +2 -1
- package/esm2015/button/button-loading.directive.js +10 -2
- package/esm2015/button/button.module.js +2 -1
- package/esm2015/checkbox-group/checkbox-group.component.js +11 -4
- package/esm2015/checkbox-group/checkbox-group.module.js +2 -1
- package/esm2015/color-picker/color-picker.component.js +10 -2
- package/esm2015/color-picker/color-picker.module.js +2 -1
- package/esm2015/column-resize/column-resize-directives/column-resize-flex.js +9 -2
- package/esm2015/column-resize/column-resize-directives/column-resize.js +9 -2
- package/esm2015/column-resize/column-resize-module.js +2 -1
- package/esm2015/column-resize/column-resize-notifier.js +10 -2
- package/esm2015/column-resize/column-resize.js +2 -1
- package/esm2015/column-resize/column-size-store.js +2 -1
- package/esm2015/column-resize/event-dispatcher.js +9 -2
- package/esm2015/column-resize/overlay-handle.js +2 -1
- package/esm2015/column-resize/resizable.js +2 -1
- package/esm2015/column-resize/resize-strategy.js +18 -3
- package/esm2015/core/datetime/datetime.module.js +3 -1
- package/esm2015/core/datetime/native-datetime-adapter.js +9 -2
- package/esm2015/datetimepicker/calendar-body.js +4 -2
- package/esm2015/datetimepicker/calendar.js +14 -6
- package/esm2015/datetimepicker/clock.js +13 -5
- package/esm2015/datetimepicker/datetimepicker-input.js +11 -3
- package/esm2015/datetimepicker/datetimepicker-toggle.js +10 -2
- package/esm2015/datetimepicker/datetimepicker.js +12 -2
- package/esm2015/datetimepicker/datetimepicker.module.js +2 -1
- package/esm2015/datetimepicker/month-view.js +10 -2
- package/esm2015/datetimepicker/multi-year-view.js +10 -2
- package/esm2015/datetimepicker/year-view.js +10 -2
- package/esm2015/dialog/dialog.component.js +10 -3
- package/esm2015/dialog/dialog.js +9 -2
- package/esm2015/dialog/dialog.module.js +2 -1
- package/esm2015/extensions-experimental.module.js +2 -1
- package/esm2015/extensions.module.js +4 -1
- package/esm2015/form-group/form-group.component.js +10 -2
- package/esm2015/form-group/form-group.module.js +2 -1
- package/esm2015/grid/cell-selection.directive.js +10 -2
- package/esm2015/grid/cell.component.js +10 -2
- package/esm2015/grid/column-menu.component.js +3 -1
- package/esm2015/grid/column-resize/column-resize-directives/column-resize-flex.js +9 -2
- package/esm2015/grid/column-resize/column-resize-directives/column-resize.js +9 -2
- package/esm2015/grid/column-resize/column-resize-module.js +3 -1
- package/esm2015/grid/column-resize/overlay-handle.js +9 -2
- package/esm2015/grid/column-resize/resizable-directives/resizable.js +10 -2
- package/esm2015/grid/column-resize/resize-strategy.js +9 -2
- package/esm2015/grid/expansion-toggle.directive.js +10 -2
- package/esm2015/grid/grid.component.js +10 -2
- package/esm2015/grid/grid.module.js +2 -1
- package/esm2015/grid/grid.service.js +9 -2
- package/esm2015/loader/loader.component.js +10 -2
- package/esm2015/loader/loader.module.js +2 -1
- package/esm2015/pipes/pipes.module.js +2 -1
- package/esm2015/pipes/to-observable.pipe.js +2 -1
- package/esm2015/popover/popover-module.js +2 -1
- package/esm2015/popover/popover-target.js +9 -2
- package/esm2015/popover/popover-trigger.js +10 -2
- package/esm2015/popover/popover.js +10 -2
- package/esm2015/progress/progress.component.js +4 -2
- package/esm2015/progress/progress.module.js +2 -1
- package/esm2015/public-api.js +2 -1
- package/esm2015/select/option.component.js +10 -2
- package/esm2015/select/select.component.js +11 -3
- package/esm2015/select/select.module.js +2 -1
- package/esm2015/select/templates.directive.js +89 -12
- package/esm2015/slider/mtxSlider.js +5 -0
- package/esm2015/slider/public-api.js +3 -0
- package/esm2015/slider/slider-module.js +15 -0
- package/esm2015/slider/slider.js +1115 -0
- package/esm2015/split/interface.js +1 -1
- package/esm2015/split/split-pane.directive.js +10 -2
- package/esm2015/split/split.component.js +22 -12
- package/esm2015/split/split.module.js +2 -1
- package/esm2015/split/utils.js +6 -6
- package/esm2015/text3d/text3d.component.js +11 -3
- package/esm2015/text3d/text3d.module.js +2 -1
- package/esm2015/tooltip/tooltip-module.js +2 -1
- package/esm2015/tooltip/tooltip.js +23 -5
- package/extensions.metadata.json +1 -1
- package/fesm2015/extensions.js +5 -0
- package/fesm2015/extensions.js.map +1 -1
- package/fesm2015/mtxAlert.js +10 -2
- package/fesm2015/mtxAlert.js.map +1 -1
- package/fesm2015/mtxButton.js +10 -1
- package/fesm2015/mtxButton.js.map +1 -1
- package/fesm2015/mtxCheckboxGroup.js +11 -3
- package/fesm2015/mtxCheckboxGroup.js.map +1 -1
- package/fesm2015/mtxColorPicker.js +10 -1
- package/fesm2015/mtxColorPicker.js.map +1 -1
- package/fesm2015/mtxColumnResize.js +55 -6
- package/fesm2015/mtxColumnResize.js.map +1 -1
- package/fesm2015/mtxCore.js +10 -1
- package/fesm2015/mtxCore.js.map +1 -1
- package/fesm2015/mtxDatetimepicker.js +86 -17
- package/fesm2015/mtxDatetimepicker.js.map +1 -1
- package/fesm2015/mtxDialog.js +18 -3
- package/fesm2015/mtxDialog.js.map +1 -1
- package/fesm2015/mtxFormGroup.js +10 -1
- package/fesm2015/mtxFormGroup.js.map +1 -1
- package/fesm2015/mtxGrid.js +90 -10
- package/fesm2015/mtxGrid.js.map +1 -1
- package/fesm2015/mtxLoader.js +10 -1
- package/fesm2015/mtxLoader.js.map +1 -1
- package/fesm2015/mtxPipes.js +2 -0
- package/fesm2015/mtxPipes.js.map +1 -1
- package/fesm2015/mtxPopover.js +27 -3
- package/fesm2015/mtxPopover.js.map +1 -1
- package/fesm2015/mtxProgress.js +4 -1
- package/fesm2015/mtxProgress.js.map +1 -1
- package/fesm2015/mtxSelect.js +108 -14
- package/fesm2015/mtxSelect.js.map +1 -1
- package/fesm2015/mtxSlider.js +1134 -0
- package/fesm2015/mtxSlider.js.map +1 -0
- package/fesm2015/mtxSplit.js +36 -17
- package/fesm2015/mtxSplit.js.map +1 -1
- package/fesm2015/mtxText3d.js +11 -2
- package/fesm2015/mtxText3d.js.map +1 -1
- package/fesm2015/mtxTooltip.js +23 -4
- package/fesm2015/mtxTooltip.js.map +1 -1
- package/form-group/_form-group-theme.import.scss +2 -2
- package/form-group/_form-group-theme.scss +46 -22
- package/grid/_grid-theme.import.scss +2 -2
- package/grid/_grid-theme.scss +45 -21
- package/grid/column-resize/_column-resize.scss +19 -13
- package/loader/_loader-theme.import.scss +2 -2
- package/loader/_loader-theme.scss +30 -6
- package/package.json +2 -2
- package/popover/_popover-theme.import.scss +2 -2
- package/popover/_popover-theme.scss +32 -8
- package/popover/popover.d.ts +3 -3
- package/progress/_progress-theme.import.scss +2 -2
- package/progress/_progress-theme.scss +33 -8
- package/progress/mtxProgress.metadata.json +1 -1
- package/public-api.d.ts +1 -0
- package/select/_select-theme.import.scss +2 -2
- package/select/_select-theme.scss +55 -31
- package/select/mtxSelect.metadata.json +1 -1
- package/select/select.component.d.ts +1 -1
- package/slider/_slider-theme.import.scss +2 -0
- package/slider/_slider-theme.scss +233 -0
- package/slider/mtxSlider.d.ts +4 -0
- package/slider/mtxSlider.metadata.json +1 -0
- package/slider/package.json +11 -0
- package/slider/public-api.d.ts +2 -0
- package/slider/slider-module.d.ts +2 -0
- package/slider/slider.d.ts +274 -0
- package/slider/slider.scss +514 -0
- package/split/_split-theme.import.scss +2 -2
- package/split/_split-theme.scss +30 -6
- package/split/interface.d.ts +1 -2
- package/split/mtxSplit.metadata.json +1 -1
- package/split/split.component.scss +3 -2
- package/text3d/_text3d-theme.import.scss +2 -2
- package/text3d/_text3d-theme.scss +32 -7
- package/text3d/mtxText3d.metadata.json +1 -1
- package/tooltip/_tooltip-theme.import.scss +2 -2
- package/tooltip/_tooltip-theme.scss +32 -15
- package/tooltip/mtxTooltip.metadata.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
2
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('@angular/material/checkbox'), require('@ng-matero/extensions/pipes'), require('@angular/cdk/coercion'), require('@angular/cdk/a11y')) :
|
|
3
3
|
typeof define === 'function' && define.amd ? define('@ng-matero/extensions/checkbox-group', ['exports', '@angular/core', '@angular/common', '@angular/forms', '@angular/material/checkbox', '@ng-matero/extensions/pipes', '@angular/cdk/coercion', '@angular/cdk/a11y'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global[
|
|
5
|
-
}(this, (function (exports, core, common, forms, checkbox, pipes, coercion, a11y) { 'use strict';
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["ng-matero"] = global["ng-matero"] || {}, global["ng-matero"].extensions = global["ng-matero"].extensions || {}, global["ng-matero"].extensions["checkbox-group"] = {}), global.ng.core, global.ng.common, global.ng.forms, global.ng.material.checkbox, global["ng-matero"].extensions.pipes, global.ng.cdk.coercion, global.ng.cdk.a11y));
|
|
5
|
+
})(this, (function (exports, core, common, forms, checkbox, pipes, coercion, a11y) { 'use strict';
|
|
6
6
|
|
|
7
7
|
var MtxCheckboxBase = /** @class */ (function () {
|
|
8
8
|
function MtxCheckboxBase(label, value) {
|
|
@@ -26,7 +26,6 @@
|
|
|
26
26
|
this.change = new core.EventEmitter();
|
|
27
27
|
this.selectAll = false;
|
|
28
28
|
this.selectAllIndeterminate = false;
|
|
29
|
-
this.color = 'accent';
|
|
30
29
|
this.selectedItems = [];
|
|
31
30
|
this._onChange = function () { return null; };
|
|
32
31
|
this._onTouched = function () { return null; };
|
|
@@ -211,6 +210,7 @@
|
|
|
211
210
|
};
|
|
212
211
|
return MtxCheckboxGroupComponent;
|
|
213
212
|
}());
|
|
213
|
+
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
214
214
|
MtxCheckboxGroupComponent.decorators = [
|
|
215
215
|
{ type: core.Component, args: [{
|
|
216
216
|
selector: 'mtx-checkbox-group',
|
|
@@ -218,7 +218,7 @@
|
|
|
218
218
|
host: {
|
|
219
219
|
class: 'mtx-checkbox-group',
|
|
220
220
|
},
|
|
221
|
-
template: "<mat-checkbox class=\"mtx-checkbox-master\"\n *ngIf=\"showSelectAll\"\n [checked]=\"selectAll\"\n [(indeterminate)]=\"selectAllIndeterminate\"\n [disabled]=\"disabled\"\n (change)=\"_updateMasterCheckboxState($event, -1);\">\n {{selectAllLabel}}\n</mat-checkbox>\n\n<mat-checkbox class=\"mtx-checkbox-normal\"\n *ngFor=\"let option of items; let i = index;\"\n [(ngModel)]=\"option.checked\"\n [aria-describedby]=\"option.ariaDescribedby\"\n [aria-label]=\"option.ariaLabel\"\n [aria-labelledby]=\"option.ariaLabelledby\"\n [color]=\"option.color
|
|
221
|
+
template: "<mat-checkbox class=\"mtx-checkbox-master\"\n *ngIf=\"showSelectAll\"\n [checked]=\"selectAll\"\n [(indeterminate)]=\"selectAllIndeterminate\"\n [disabled]=\"disabled\"\n (change)=\"_updateMasterCheckboxState($event, -1);\">\n {{selectAllLabel}}\n</mat-checkbox>\n\n<mat-checkbox class=\"mtx-checkbox-normal\"\n *ngFor=\"let option of items; let i = index;\"\n [(ngModel)]=\"option.checked\"\n [aria-describedby]=\"option.ariaDescribedby\"\n [aria-label]=\"option.ariaLabel\"\n [aria-labelledby]=\"option.ariaLabelledby\"\n [color]=\"option.color\"\n [disabled]=\"option.disabled || disabled\"\n [disableRipple]=\"option.disableRipple\"\n [labelPosition]=\"option.labelPosition\"\n [required]=\"option.required\"\n (change)=\"_updateNormalCheckboxState($event, i)\">\n {{option[bindLabel] | toObservable | async}}\n</mat-checkbox>\n",
|
|
222
222
|
encapsulation: core.ViewEncapsulation.None,
|
|
223
223
|
changeDetection: core.ChangeDetectionStrategy.OnPush,
|
|
224
224
|
providers: [
|
|
@@ -231,12 +231,19 @@
|
|
|
231
231
|
styles: [".mtx-checkbox-group{display:block}.mtx-checkbox-group .mat-checkbox{margin-right:16px}[dir=rtl] .mtx-checkbox-group .mat-checkbox{margin-right:auto;margin-left:16px}\n"]
|
|
232
232
|
},] }
|
|
233
233
|
];
|
|
234
|
-
/**
|
|
234
|
+
/**
|
|
235
|
+
* @type {function(): !Array<(null|{
|
|
236
|
+
* type: ?,
|
|
237
|
+
* decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
|
|
238
|
+
* })>}
|
|
239
|
+
* @nocollapse
|
|
240
|
+
*/
|
|
235
241
|
MtxCheckboxGroupComponent.ctorParameters = function () { return [
|
|
236
242
|
{ type: core.ChangeDetectorRef },
|
|
237
243
|
{ type: a11y.FocusMonitor },
|
|
238
244
|
{ type: core.ElementRef }
|
|
239
245
|
]; };
|
|
246
|
+
/** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
|
|
240
247
|
MtxCheckboxGroupComponent.propDecorators = {
|
|
241
248
|
_checkboxes: [{ type: core.ContentChildren, args: [core.forwardRef(function () { return checkbox.MatCheckbox; }), { descendants: true },] }],
|
|
242
249
|
items: [{ type: core.Input }],
|
|
@@ -254,6 +261,7 @@
|
|
|
254
261
|
}
|
|
255
262
|
return MtxCheckboxGroupModule;
|
|
256
263
|
}());
|
|
264
|
+
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
257
265
|
MtxCheckboxGroupModule.decorators = [
|
|
258
266
|
{ type: core.NgModule, args: [{
|
|
259
267
|
imports: [common.CommonModule, forms.FormsModule, checkbox.MatCheckboxModule, pipes.MtxPipesModule],
|
|
@@ -272,5 +280,5 @@
|
|
|
272
280
|
|
|
273
281
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
274
282
|
|
|
275
|
-
}))
|
|
283
|
+
}));
|
|
276
284
|
//# sourceMappingURL=mtxCheckboxGroup.umd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mtxCheckboxGroup.umd.js","sources":["../../../projects/extensions/checkbox-group/checkbox-group.component.ts","../../../projects/extensions/checkbox-group/checkbox-group.module.ts","../../../projects/extensions/checkbox-group/mtxCheckboxGroup.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n forwardRef,\n AfterViewInit,\n ContentChildren,\n QueryList,\n ElementRef,\n OnDestroy,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ThemePalette } from '@angular/material/core';\nimport { MatCheckbox, MatCheckboxChange } from '@angular/material/checkbox';\nimport { MtxCheckboxGroupOption } from './checkbox-group.interface';\nimport { FocusMonitor } from '@angular/cdk/a11y';\n\nexport class MtxCheckboxBase {\n constructor(public label?: any, public value?: any) {}\n}\n\n@Component({\n selector: 'mtx-checkbox-group',\n exportAs: 'mtxCheckboxGroup',\n host: {\n class: 'mtx-checkbox-group',\n },\n templateUrl: './checkbox-group.component.html',\n styleUrls: ['./checkbox-group.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MtxCheckboxGroupComponent),\n multi: true,\n },\n ],\n})\nexport class MtxCheckboxGroupComponent implements AfterViewInit, OnDestroy, ControlValueAccessor {\n @ContentChildren(forwardRef(() => MatCheckbox), { descendants: true })\n _checkboxes!: QueryList<MatCheckbox>;\n\n @Input()\n get items() {\n return this._items;\n }\n set items(value: any[]) {\n // TODO: Deep clone\n this._originalItems = JSON.parse(JSON.stringify(value));\n this._items = value.map(option => {\n return option instanceof Object ? option : new MtxCheckboxBase(option, option);\n });\n }\n private _items: any[] = [];\n private _originalItems: any[] = [];\n\n @Input() bindLabel = 'label';\n\n @Input() bindValue = 'value';\n\n @Input()\n get showSelectAll(): boolean {\n return this._showSelectAll;\n }\n set showSelectAll(value: boolean) {\n this._showSelectAll = coerceBooleanProperty(value);\n }\n private _showSelectAll = false;\n\n @Input() selectAllLabel = 'Select All';\n\n @Input()\n get compareWith() {\n return this._compareWith;\n }\n set compareWith(fn: (o1: any, o2: any) => boolean) {\n if (typeof fn !== 'function') {\n throw Error('`compareWith` must be a function.');\n }\n\n if (fn) {\n this._compareWith = fn;\n }\n }\n private _compareWith!: (o1: any, o2: any) => boolean;\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled = false;\n\n @Output() change = new EventEmitter<{ model: MtxCheckboxGroupOption[]; index: number }>();\n\n selectAll = false;\n selectAllIndeterminate = false;\n\n color: ThemePalette = 'accent';\n\n selectedItems: MtxCheckboxGroupOption[] = [];\n\n _onChange: (value: MtxCheckboxGroupOption[]) => void = () => null;\n _onTouched: () => void = () => null;\n\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n private _focusMonitor: FocusMonitor,\n private _elementRef: ElementRef<HTMLElement>\n ) {}\n\n ngAfterViewInit() {\n this._focusMonitor.monitor(this._elementRef, true).subscribe(focusOrigin => {\n if (!focusOrigin) {\n // When a focused element becomes disabled, the browser *immediately* fires a blur event.\n // Angular does not expect events to be raised during change detection, so any state change\n // (such as a form control's 'ng-touched') will cause a changed-after-checked error.\n // See https://github.com/angular/angular/issues/17793. To work around this, we defer\n // telling the form control it has been touched until the next tick.\n Promise.resolve().then(() => {\n this._onTouched();\n this._changeDetectorRef.markForCheck();\n });\n }\n });\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n\n /**\n * Finds and selects and option based on its value.\n * @returns Option that has the corresponding value.\n */\n private _selectValue(value: MtxCheckboxGroupOption) {\n const correspondingOption = (this.items as MtxCheckboxGroupOption[]).find(option => {\n try {\n const compareValue = option[this.bindValue] === value;\n return this._compareWith ? this._compareWith(option, value) : compareValue;\n } catch (error) {\n console.warn(error);\n return false;\n }\n });\n\n if (correspondingOption) {\n correspondingOption.checked = true;\n }\n\n return correspondingOption;\n }\n\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n * @param value New value to be written to the model.\n */\n writeValue(value: any[]): void {\n if (value) {\n if (!Array.isArray(value)) {\n throw Error('Value must be an array.');\n }\n\n value.forEach((currentValue: any) => this._selectValue(currentValue));\n this.selectedItems = value;\n }\n\n this._checkMasterCheckboxState();\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Registers a callback to be triggered when the model value changes.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnChange(fn: (value: MtxCheckboxGroupOption[]) => {}): void {\n this._onChange = fn;\n }\n\n /**\n * Registers a callback to be triggered when the control is touched.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnTouched(fn: () => {}): void {\n this._onTouched = fn;\n }\n\n /**\n * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.\n * @param isDisabled Whether the control should be disabled.\n */\n setDisabledState(isDisabled: boolean) {\n this._disabled = isDisabled;\n }\n\n private _checkMasterCheckboxState() {\n if (\n (this.items as MtxCheckboxGroupOption[])\n .filter(option => option.checked || !option.disabled)\n .every(option => !option.checked)\n ) {\n this.selectAll = false;\n this.selectAllIndeterminate = false;\n } else if (\n (this.items as MtxCheckboxGroupOption[])\n .filter(option => option.checked || !option.disabled)\n .every(option => option.checked)\n ) {\n this.selectAll = true;\n this.selectAllIndeterminate = false;\n } else {\n this.selectAllIndeterminate = true;\n }\n }\n\n private _getSelectedItems(index: number) {\n this.selectedItems = (this.items as MtxCheckboxGroupOption[]).filter(option => option.checked);\n\n if (this._compareWith) {\n this.selectedItems = (this._originalItems as MtxCheckboxGroupOption[]).filter(option =>\n this.selectedItems.find(selectedOption => this._compareWith(option, selectedOption))\n );\n } else {\n this.selectedItems = this.selectedItems.map(option => option[this.bindValue]);\n }\n\n this._onChange(this.selectedItems);\n\n this.change.emit({ model: this.selectedItems, index });\n }\n\n /** Handle normal checkbox toggle */\n _updateNormalCheckboxState(e: MatCheckboxChange, index: number): void {\n this._checkMasterCheckboxState();\n this._getSelectedItems(index);\n }\n\n /** Handle master checkbox toggle */\n _updateMasterCheckboxState(e: MatCheckboxChange, index: number): void {\n this.selectAll = !this.selectAll;\n this.selectAllIndeterminate = false;\n\n if (this.selectAll) {\n (this.items as MtxCheckboxGroupOption[])\n .filter(option => option.checked || !option.disabled)\n .forEach(option => (option.checked = true));\n } else {\n (this.items as MtxCheckboxGroupOption[])\n .filter(option => option.checked || !option.disabled)\n .forEach(option => (option.checked = !!option.disabled));\n }\n\n this._getSelectedItems(index);\n }\n\n static ngAcceptInputType_showSelectAll: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\n\nimport { MtxPipesModule } from '@ng-matero/extensions/pipes';\nimport { MtxCheckboxGroupComponent } from './checkbox-group.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule, MatCheckboxModule, MtxPipesModule],\n exports: [MtxCheckboxGroupComponent, MtxPipesModule],\n declarations: [MtxCheckboxGroupComponent],\n})\nexport class MtxCheckboxGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["EventEmitter","coerceBooleanProperty","Component","ViewEncapsulation","ChangeDetectionStrategy","NG_VALUE_ACCESSOR","forwardRef","ChangeDetectorRef","FocusMonitor","ElementRef","ContentChildren","MatCheckbox","Input","Output","NgModule","CommonModule","FormsModule","MatCheckboxModule","MtxPipesModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mtxCheckboxGroup.umd.js","sources":["../../../projects/extensions/checkbox-group/checkbox-group.component.ts","../../../projects/extensions/checkbox-group/checkbox-group.module.ts","../../../projects/extensions/checkbox-group/mtxCheckboxGroup.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n forwardRef,\n AfterViewInit,\n ContentChildren,\n QueryList,\n ElementRef,\n OnDestroy,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { MatCheckbox, MatCheckboxChange } from '@angular/material/checkbox';\nimport { MtxCheckboxGroupOption } from './checkbox-group.interface';\nimport { FocusMonitor } from '@angular/cdk/a11y';\n\nexport class MtxCheckboxBase {\n constructor(public label?: any, public value?: any) {}\n}\n\n@Component({\n selector: 'mtx-checkbox-group',\n exportAs: 'mtxCheckboxGroup',\n host: {\n class: 'mtx-checkbox-group',\n },\n templateUrl: './checkbox-group.component.html',\n styleUrls: ['./checkbox-group.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MtxCheckboxGroupComponent),\n multi: true,\n },\n ],\n})\nexport class MtxCheckboxGroupComponent implements AfterViewInit, OnDestroy, ControlValueAccessor {\n @ContentChildren(forwardRef(() => MatCheckbox), { descendants: true })\n _checkboxes!: QueryList<MatCheckbox>;\n\n @Input()\n get items() {\n return this._items;\n }\n set items(value: any[]) {\n // TODO: Deep clone\n this._originalItems = JSON.parse(JSON.stringify(value));\n this._items = value.map(option => {\n return option instanceof Object ? option : new MtxCheckboxBase(option, option);\n });\n }\n private _items: any[] = [];\n private _originalItems: any[] = [];\n\n @Input() bindLabel = 'label';\n\n @Input() bindValue = 'value';\n\n @Input()\n get showSelectAll(): boolean {\n return this._showSelectAll;\n }\n set showSelectAll(value: boolean) {\n this._showSelectAll = coerceBooleanProperty(value);\n }\n private _showSelectAll = false;\n\n @Input() selectAllLabel = 'Select All';\n\n @Input()\n get compareWith() {\n return this._compareWith;\n }\n set compareWith(fn: (o1: any, o2: any) => boolean) {\n if (typeof fn !== 'function') {\n throw Error('`compareWith` must be a function.');\n }\n\n if (fn) {\n this._compareWith = fn;\n }\n }\n private _compareWith!: (o1: any, o2: any) => boolean;\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled = false;\n\n @Output() change = new EventEmitter<{ model: MtxCheckboxGroupOption[]; index: number }>();\n\n selectAll = false;\n selectAllIndeterminate = false;\n\n selectedItems: MtxCheckboxGroupOption[] = [];\n\n _onChange: (value: MtxCheckboxGroupOption[]) => void = () => null;\n _onTouched: () => void = () => null;\n\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n private _focusMonitor: FocusMonitor,\n private _elementRef: ElementRef<HTMLElement>\n ) {}\n\n ngAfterViewInit() {\n this._focusMonitor.monitor(this._elementRef, true).subscribe(focusOrigin => {\n if (!focusOrigin) {\n // When a focused element becomes disabled, the browser *immediately* fires a blur event.\n // Angular does not expect events to be raised during change detection, so any state change\n // (such as a form control's 'ng-touched') will cause a changed-after-checked error.\n // See https://github.com/angular/angular/issues/17793. To work around this, we defer\n // telling the form control it has been touched until the next tick.\n Promise.resolve().then(() => {\n this._onTouched();\n this._changeDetectorRef.markForCheck();\n });\n }\n });\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n\n /**\n * Finds and selects and option based on its value.\n * @returns Option that has the corresponding value.\n */\n private _selectValue(value: MtxCheckboxGroupOption) {\n const correspondingOption = (this.items as MtxCheckboxGroupOption[]).find(option => {\n try {\n const compareValue = option[this.bindValue] === value;\n return this._compareWith ? this._compareWith(option, value) : compareValue;\n } catch (error) {\n console.warn(error);\n return false;\n }\n });\n\n if (correspondingOption) {\n correspondingOption.checked = true;\n }\n\n return correspondingOption;\n }\n\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n * @param value New value to be written to the model.\n */\n writeValue(value: any[]): void {\n if (value) {\n if (!Array.isArray(value)) {\n throw Error('Value must be an array.');\n }\n\n value.forEach((currentValue: any) => this._selectValue(currentValue));\n this.selectedItems = value;\n }\n\n this._checkMasterCheckboxState();\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Registers a callback to be triggered when the model value changes.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnChange(fn: (value: MtxCheckboxGroupOption[]) => Record<string, unknown>): void {\n this._onChange = fn;\n }\n\n /**\n * Registers a callback to be triggered when the control is touched.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnTouched(fn: () => Record<string, unknown>): void {\n this._onTouched = fn;\n }\n\n /**\n * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.\n * @param isDisabled Whether the control should be disabled.\n */\n setDisabledState(isDisabled: boolean) {\n this._disabled = isDisabled;\n }\n\n private _checkMasterCheckboxState() {\n if (\n (this.items as MtxCheckboxGroupOption[])\n .filter(option => option.checked || !option.disabled)\n .every(option => !option.checked)\n ) {\n this.selectAll = false;\n this.selectAllIndeterminate = false;\n } else if (\n (this.items as MtxCheckboxGroupOption[])\n .filter(option => option.checked || !option.disabled)\n .every(option => option.checked)\n ) {\n this.selectAll = true;\n this.selectAllIndeterminate = false;\n } else {\n this.selectAllIndeterminate = true;\n }\n }\n\n private _getSelectedItems(index: number) {\n this.selectedItems = (this.items as MtxCheckboxGroupOption[]).filter(option => option.checked);\n\n if (this._compareWith) {\n this.selectedItems = (this._originalItems as MtxCheckboxGroupOption[]).filter(option =>\n this.selectedItems.find(selectedOption => this._compareWith(option, selectedOption))\n );\n } else {\n this.selectedItems = this.selectedItems.map(option => option[this.bindValue]);\n }\n\n this._onChange(this.selectedItems);\n\n this.change.emit({ model: this.selectedItems, index });\n }\n\n /** Handle normal checkbox toggle */\n _updateNormalCheckboxState(e: MatCheckboxChange, index: number): void {\n this._checkMasterCheckboxState();\n this._getSelectedItems(index);\n }\n\n /** Handle master checkbox toggle */\n _updateMasterCheckboxState(e: MatCheckboxChange, index: number): void {\n this.selectAll = !this.selectAll;\n this.selectAllIndeterminate = false;\n\n if (this.selectAll) {\n (this.items as MtxCheckboxGroupOption[])\n .filter(option => option.checked || !option.disabled)\n .forEach(option => (option.checked = true));\n } else {\n (this.items as MtxCheckboxGroupOption[])\n .filter(option => option.checked || !option.disabled)\n .forEach(option => (option.checked = !!option.disabled));\n }\n\n this._getSelectedItems(index);\n }\n\n static ngAcceptInputType_showSelectAll: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\n\nimport { MtxPipesModule } from '@ng-matero/extensions/pipes';\nimport { MtxCheckboxGroupComponent } from './checkbox-group.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule, MatCheckboxModule, MtxPipesModule],\n exports: [MtxCheckboxGroupComponent, MtxPipesModule],\n declarations: [MtxCheckboxGroupComponent],\n})\nexport class MtxCheckboxGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["EventEmitter","coerceBooleanProperty","Component","ViewEncapsulation","ChangeDetectionStrategy","NG_VALUE_ACCESSOR","forwardRef","ChangeDetectorRef","FocusMonitor","ElementRef","ContentChildren","MatCheckbox","Input","Output","NgModule","CommonModule","FormsModule","MatCheckboxModule","MtxPipesModule"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
2
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('@angular/material/menu'), require('@angular/material/form-field'), require('@angular/material/input'), require('ngx-color/chrome'), require('@angular/cdk/a11y'), require('@angular/cdk/coercion'), require('@angular/cdk/platform'), require('rxjs'), require('rxjs/operators')) :
|
|
3
3
|
typeof define === 'function' && define.amd ? define('@ng-matero/extensions/color-picker', ['exports', '@angular/core', '@angular/common', '@angular/forms', '@angular/material/menu', '@angular/material/form-field', '@angular/material/input', 'ngx-color/chrome', '@angular/cdk/a11y', '@angular/cdk/coercion', '@angular/cdk/platform', 'rxjs', 'rxjs/operators'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global[
|
|
5
|
-
}(this, (function (exports, core, common, forms, menu, formField, input, chrome, a11y, coercion, platform, rxjs, operators) { 'use strict';
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["ng-matero"] = global["ng-matero"] || {}, global["ng-matero"].extensions = global["ng-matero"].extensions || {}, global["ng-matero"].extensions["color-picker"] = {}), global.ng.core, global.ng.common, global.ng.forms, global.ng.material.menu, global.ng.material.formField, global.ng.material.input, global["ngx-color-chrome"], global.ng.cdk.a11y, global.ng.cdk.coercion, global.ng.cdk.platform, global.rxjs, global.rxjs.operators));
|
|
5
|
+
})(this, (function (exports, core, common, forms, menu, formField, input, chrome, a11y, coercion, platform, rxjs, operators) { 'use strict';
|
|
6
6
|
|
|
7
7
|
var nextUniqueId = 0;
|
|
8
8
|
var MtxColorPickerComponent = /** @class */ (function () {
|
|
@@ -263,6 +263,7 @@
|
|
|
263
263
|
};
|
|
264
264
|
return MtxColorPickerComponent;
|
|
265
265
|
}());
|
|
266
|
+
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
266
267
|
MtxColorPickerComponent.decorators = [
|
|
267
268
|
{ type: core.Component, args: [{
|
|
268
269
|
selector: 'mtx-color-picker',
|
|
@@ -274,7 +275,13 @@
|
|
|
274
275
|
styles: [".mtx-color-picker-panel .mat-menu-content:not(:empty){padding:0}.mtx-color-picker-panel .mtx-color-picker{padding:8px}.mtx-color-picker-panel .mtx-color-picker .chrome-picker{box-shadow:none;border-radius:0}.mtx-color-picker-panel .mtx-color-picker .chrome-picker .saturation{border-radius:0}\n"]
|
|
275
276
|
},] }
|
|
276
277
|
];
|
|
277
|
-
/**
|
|
278
|
+
/**
|
|
279
|
+
* @type {function(): !Array<(null|{
|
|
280
|
+
* type: ?,
|
|
281
|
+
* decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
|
|
282
|
+
* })>}
|
|
283
|
+
* @nocollapse
|
|
284
|
+
*/
|
|
278
285
|
MtxColorPickerComponent.ctorParameters = function () { return [
|
|
279
286
|
{ type: a11y.FocusMonitor },
|
|
280
287
|
{ type: core.ElementRef },
|
|
@@ -284,6 +291,7 @@
|
|
|
284
291
|
{ type: formField.MatFormField, decorators: [{ type: core.Optional }, { type: core.Host }] },
|
|
285
292
|
{ type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [common.DOCUMENT,] }] }
|
|
286
293
|
]; };
|
|
294
|
+
/** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
|
|
287
295
|
MtxColorPickerComponent.propDecorators = {
|
|
288
296
|
value: [{ type: core.Input }],
|
|
289
297
|
id: [{ type: core.Input }],
|
|
@@ -300,6 +308,7 @@
|
|
|
300
308
|
}
|
|
301
309
|
return MtxColorPickerModule;
|
|
302
310
|
}());
|
|
311
|
+
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
303
312
|
MtxColorPickerModule.decorators = [
|
|
304
313
|
{ type: core.NgModule, args: [{
|
|
305
314
|
imports: [
|
|
@@ -324,5 +333,5 @@
|
|
|
324
333
|
|
|
325
334
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
326
335
|
|
|
327
|
-
}))
|
|
336
|
+
}));
|
|
328
337
|
//# sourceMappingURL=mtxColorPicker.umd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mtxColorPicker.umd.js","sources":["../../../projects/extensions/color-picker/color-picker.component.ts","../../../projects/extensions/color-picker/color-picker.module.ts","../../../projects/extensions/color-picker/mtxColorPicker.ts"],"sourcesContent":["import {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n OnDestroy,\n Optional,\n Self,\n ElementRef,\n Input,\n Output,\n EventEmitter,\n Inject,\n DoCheck,\n ViewChild,\n Host,\n AfterViewInit,\n NgZone,\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { _supportsShadowDom } from '@angular/cdk/platform';\nimport { MatFormFieldControl, MatFormField } from '@angular/material/form-field';\nimport { MatMenuTrigger } from '@angular/material/menu';\nimport { Subject, Observable, merge, fromEvent, Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { ColorEvent } from 'ngx-color';\n\nlet nextUniqueId = 0;\n\n@Component({\n selector: 'mtx-color-picker',\n exportAs: 'mtxColorPicker',\n templateUrl: './color-picker.component.html',\n styleUrls: ['./color-picker.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: MatFormFieldControl, useExisting: MtxColorPickerComponent }],\n})\nexport class MtxColorPickerComponent\n implements OnDestroy, DoCheck, AfterViewInit, ControlValueAccessor, MatFormFieldControl<any>\n{\n /** Value of the color picker control. */\n @Input()\n get value(): string | null {\n return this._value;\n }\n set value(newValue: string | null) {\n this._value = newValue;\n this._onChange(newValue);\n this.stateChanges.next();\n }\n private _value: string | null = '';\n\n /** Implemented as part of MatFormFieldControl. */\n readonly stateChanges: Subject<void> = new Subject<void>();\n\n /** Unique id for this input. */\n private _uid = `mtx-color-picker-${nextUniqueId++}`;\n\n /** Unique id of the element. */\n @Input()\n get id(): string {\n return this._id;\n }\n set id(value: string) {\n this._id = value || this._uid;\n this.stateChanges.next();\n }\n private _id!: string;\n\n /** Placeholder to be shown if value is empty. */\n @Input()\n get placeholder(): string {\n return this._placeholder;\n }\n set placeholder(value: string) {\n this._placeholder = value;\n this.stateChanges.next();\n }\n private _placeholder!: string;\n\n /** Whether the input is focused. */\n get focused(): boolean {\n return this._focused || this._panelOpen;\n }\n private _focused = false;\n\n get empty(): boolean {\n return !this.value;\n }\n\n get shouldLabelFloat(): boolean {\n return this.focused || !this.empty;\n }\n\n @Input()\n get required(): boolean {\n return this._required;\n }\n set required(value: boolean) {\n this._required = coerceBooleanProperty(value);\n this.stateChanges.next();\n }\n private _required = false;\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n this.stateChanges.next();\n }\n private _disabled = false;\n\n /** Whether the element is readonly. */\n @Input()\n get readonly(): boolean {\n return this._readonly;\n }\n set readonly(value: boolean) {\n this._readonly = coerceBooleanProperty(value);\n }\n private _readonly = false;\n\n errorState = false;\n\n /** A name for this control that can be used by `mat-form-field`. */\n controlType = 'mtx-color-picker';\n\n /** The aria-describedby attribute on the color picker for improved a11y. */\n _ariaDescribedby!: string;\n\n /** `View -> model callback called when value changes` */\n _onChange: (value: any) => void = () => {};\n\n /** `View -> model callback called when color picker has been touched` */\n _onTouched = () => {};\n\n /** Event emitted when the color changed */\n @Output() readonly colorChange = new EventEmitter<ColorEvent>();\n\n @ViewChild(MatMenuTrigger, { static: true }) trigger!: MatMenuTrigger;\n\n /** Whether or not the overlay panel is open. */\n _panelOpen = false;\n\n /** The subscription for closing actions (some are bound to document). */\n private _closingActionsSubscription!: Subscription;\n\n /** Whether the element is inside of a ShadowRoot component. */\n private _isInsideShadowRoot!: boolean;\n\n /**\n * Whether the color picker can open the next time it is focused. Used to prevent a focused,\n * closed color picker from being reopened if the user switches to another browser tab and then\n * comes back.\n */\n private _canOpenOnNextFocus = true;\n\n /**\n * Event handler for when the window is blurred. Needs to be an\n * arrow function in order to preserve the context.\n */\n private _windowBlurHandler = () => {\n // If the user blurred the window while the color picker is focused, it means that it'll be\n // refocused when they come back. In this case we want to skip the first focus event, if the\n // pane was closed, in order to avoid reopening it unintentionally.\n this._canOpenOnNextFocus =\n this._document.activeElement !== this._elementRef.nativeElement || this._panelOpen;\n };\n\n constructor(\n private _focusMonitor: FocusMonitor,\n private _elementRef: ElementRef<HTMLElement>,\n private _changeDetectorRef: ChangeDetectorRef,\n private _zone: NgZone,\n @Optional() @Self() public ngControl: NgControl,\n @Optional() @Host() private _formField: MatFormField,\n @Optional() @Inject(DOCUMENT) private _document: any\n ) {\n _focusMonitor.monitor(_elementRef, true).subscribe(origin => {\n if (this._focused && !origin) {\n this._onTouched();\n }\n this._focused = !!origin;\n this.stateChanges.next();\n });\n\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n ngDoCheck(): void {\n if (this.ngControl) {\n this.errorState = (this.ngControl.invalid && this.ngControl.touched) as boolean;\n this.stateChanges.next();\n }\n }\n\n ngAfterViewInit() {\n if (typeof window !== 'undefined') {\n this._zone.runOutsideAngular(() => {\n window.addEventListener('blur', this._windowBlurHandler);\n });\n\n if (_supportsShadowDom()) {\n const element = this._elementRef.nativeElement;\n const rootNode = element.getRootNode ? element.getRootNode() : null;\n\n // We need to take the `ShadowRoot` off of `window`, because the built-in types are\n // incorrect. See https://github.com/Microsoft/TypeScript/issues/27929.\n this._isInsideShadowRoot = rootNode instanceof (window as any).ShadowRoot;\n }\n }\n }\n\n ngOnDestroy() {\n this.stateChanges.complete();\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n\n /** Implemented as part of MatFormFieldControl. */\n setDescribedByIds(ids: string[]) {\n this._ariaDescribedby = ids.join(' ');\n }\n\n /** Implemented as part of MatFormFieldControl. */\n onContainerClick() {\n this._handleFocus();\n }\n\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n * @param value New value to be written to the model.\n */\n writeValue(value: string | null): void {\n this.value = value || '';\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Registers a callback to be triggered when the model value changes.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n /**\n * Registers a callback to be triggered when the control is touched.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n /**\n * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.\n * @param isDisabled Whether the control should be disabled.\n */\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n /** Open panel with input focus event. */\n _handleFocus() {\n this.trigger.openMenu();\n\n this._closingActionsSubscription = merge(this._getOutsideClickStream())\n .pipe()\n .subscribe(event => {\n this.trigger.closeMenu();\n this._closingActionsSubscription.unsubscribe();\n });\n }\n\n /** Opens the overlay panel. */\n _openPanel() {\n if (this._focused) {\n this._panelOpen = true;\n }\n }\n\n /** Closes the overlay panel and focuses the host element. */\n _closePanel() {\n if (this._panelOpen) {\n this._panelOpen = false;\n this._changeDetectorRef.markForCheck();\n this._onTouched();\n }\n }\n\n /** The callback of color changed. */\n _onColorChanged(model: ColorEvent) {\n this.value = model.color.hex;\n this.colorChange.emit(model);\n }\n\n /** Stream of clicks outside of the color picker panel. */\n private _getOutsideClickStream(): Observable<any> {\n return merge(\n fromEvent(this._document, 'click') as Observable<MouseEvent>,\n fromEvent(this._document, 'touchend') as Observable<TouchEvent>\n ).pipe(\n filter(event => {\n // If we're in the Shadow DOM, the event target will be the shadow root, so we have to\n // fall back to check the first element in the path of the click event.\n const clickTarget = (\n this._isInsideShadowRoot && event.composedPath ? event.composedPath()[0] : event.target\n ) as HTMLElement;\n const formField = this._formField ? this._formField._elementRef.nativeElement : null;\n\n return (\n clickTarget !== this._elementRef.nativeElement &&\n (!formField || !formField.contains(clickTarget))\n );\n })\n );\n }\n\n static ngAcceptInputType_required: BooleanInput;\n static ngAcceptInputType_readonly: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\n\nimport { ColorChromeModule } from 'ngx-color/chrome';\n\nimport { MtxColorPickerComponent } from './color-picker.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n MatMenuModule,\n MatFormFieldModule,\n MatInputModule,\n ColorChromeModule,\n ],\n exports: [MtxColorPickerComponent],\n declarations: [MtxColorPickerComponent],\n})\nexport class MtxColorPickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Subject","EventEmitter","coerceBooleanProperty","_supportsShadowDom","merge","fromEvent","filter","Component","ViewEncapsulation","ChangeDetectionStrategy","MatFormFieldControl","FocusMonitor","ElementRef","ChangeDetectorRef","NgZone","NgControl","Optional","Self","MatFormField","Host","Inject","DOCUMENT","Input","Output","ViewChild","MatMenuTrigger","NgModule","CommonModule","FormsModule","MatMenuModule","MatFormFieldModule","MatInputModule","ColorChromeModule"],"mappings":";;;;;;IA+BA,IAAI,YAAY,GAAG,CAAC,CAAC;;QAiJnB,iCACU,aAA2B,EAC3B,WAAoC,EACpC,kBAAqC,EACrC,KAAa,EACM,SAAoB,EACnB,UAAwB,EACd,SAAc;YAPtD,iBAoBC;YAnBS,kBAAa,GAAb,aAAa,CAAc;YAC3B,gBAAW,GAAX,WAAW,CAAyB;YACpC,uBAAkB,GAAlB,kBAAkB,CAAmB;YACrC,UAAK,GAAL,KAAK,CAAQ;YACM,cAAS,GAAT,SAAS,CAAW;YACnB,eAAU,GAAV,UAAU,CAAc;YACd,cAAS,GAAT,SAAS,CAAK;YAhI9C,WAAM,GAAkB,EAAE,CAAC;;YAG1B,iBAAY,GAAkB,IAAIA,YAAO,EAAQ,CAAC;;YAGnD,SAAI,GAAG,sBAAoB,YAAY,EAAI,CAAC;YA4B5C,aAAQ,GAAG,KAAK,CAAC;YAkBjB,cAAS,GAAG,KAAK,CAAC;YAUlB,cAAS,GAAG,KAAK,CAAC;YAUlB,cAAS,GAAG,KAAK,CAAC;YAE1B,eAAU,GAAG,KAAK,CAAC;;YAGnB,gBAAW,GAAG,kBAAkB,CAAC;;YAMjC,cAAS,GAAyB,eAAQ,CAAC;;YAG3C,eAAU,GAAG,eAAQ,CAAC;;YAGH,gBAAW,GAAG,IAAIC,iBAAY,EAAc,CAAC;;YAKhE,eAAU,GAAG,KAAK,CAAC;;;;;;YAaX,wBAAmB,GAAG,IAAI,CAAC;;;;;YAM3B,uBAAkB,GAAG;;;;gBAI3B,KAAI,CAAC,mBAAmB;oBACtB,KAAI,CAAC,SAAS,CAAC,aAAa,KAAK,KAAI,CAAC,WAAW,CAAC,aAAa,IAAI,KAAI,CAAC,UAAU,CAAC;aACtF,CAAC;YAWA,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,UAAA,MAAM;gBACvD,IAAI,KAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE;oBAC5B,KAAI,CAAC,UAAU,EAAE,CAAC;iBACnB;gBACD,KAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;gBACzB,KAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;aAC1B,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;gBAC1B,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC;aACrC;SACF;QAtJD,sBACI,0CAAK;;iBADT;gBAEE,OAAO,IAAI,CAAC,MAAM,CAAC;aACpB;iBACD,UAAU,QAAuB;gBAC/B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;gBACvB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACzB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;aAC1B;;;WALA;QAeD,sBACI,uCAAE;;iBADN;gBAEE,OAAO,IAAI,CAAC,GAAG,CAAC;aACjB;iBACD,UAAO,KAAa;gBAClB,IAAI,CAAC,GAAG,GAAG,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC;gBAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;aAC1B;;;WAJA;QAQD,sBACI,gDAAW;;iBADf;gBAEE,OAAO,IAAI,CAAC,YAAY,CAAC;aAC1B;iBACD,UAAgB,KAAa;gBAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;aAC1B;;;WAJA;QAQD,sBAAI,4CAAO;;iBAAX;gBACE,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC;aACzC;;;WAAA;QAGD,sBAAI,0CAAK;iBAAT;gBACE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;aACpB;;;WAAA;QAED,sBAAI,qDAAgB;iBAApB;gBACE,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;aACpC;;;WAAA;QAED,sBACI,6CAAQ;iBADZ;gBAEE,OAAO,IAAI,CAAC,SAAS,CAAC;aACvB;iBACD,UAAa,KAAc;gBACzB,IAAI,CAAC,SAAS,GAAGC,8BAAqB,CAAC,KAAK,CAAC,CAAC;gBAC9C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;aAC1B;;;WAJA;QAOD,sBACI,6CAAQ;iBADZ;gBAEE,OAAO,IAAI,CAAC,SAAS,CAAC;aACvB;iBACD,UAAa,KAAc;gBACzB,IAAI,CAAC,SAAS,GAAGA,8BAAqB,CAAC,KAAK,CAAC,CAAC;gBAC9C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;aAC1B;;;WAJA;QAQD,sBACI,6CAAQ;;iBADZ;gBAEE,OAAO,IAAI,CAAC,SAAS,CAAC;aACvB;iBACD,UAAa,KAAc;gBACzB,IAAI,CAAC,SAAS,GAAGA,8BAAqB,CAAC,KAAK,CAAC,CAAC;aAC/C;;;WAHA;QA2ED,2CAAS,GAAT;YACE,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAY,CAAC;gBAChF,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;aAC1B;SACF;QAED,iDAAe,GAAf;YAAA,iBAeC;YAdC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;gBACjC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;oBAC3B,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAI,CAAC,kBAAkB,CAAC,CAAC;iBAC1D,CAAC,CAAC;gBAEH,IAAIC,2BAAkB,EAAE,EAAE;oBACxB,IAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;oBAC/C,IAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC;;;oBAIpE,IAAI,CAAC,mBAAmB,GAAG,QAAQ,YAAa,MAAc,CAAC,UAAU,CAAC;iBAC3E;aACF;SACF;QAED,6CAAW,GAAX;YACE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACrD;;QAGD,mDAAiB,GAAjB,UAAkB,GAAa;YAC7B,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACvC;;QAGD,kDAAgB,GAAhB;YACE,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;;;;;QAMD,4CAAU,GAAV,UAAW,KAAoB;YAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;SACxC;;;;;;QAOD,kDAAgB,GAAhB,UAAiB,EAAO;YACtB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;SACrB;;;;;;QAOD,mDAAiB,GAAjB,UAAkB,EAAO;YACvB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;SACtB;;;;;QAMD,kDAAgB,GAAhB,UAAiB,UAAmB;YAClC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;SAC5B;;QAGD,8CAAY,GAAZ;YAAA,iBASC;YARC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAExB,IAAI,CAAC,2BAA2B,GAAGC,UAAK,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;iBACpE,IAAI,EAAE;iBACN,SAAS,CAAC,UAAA,KAAK;gBACd,KAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBACzB,KAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE,CAAC;aAChD,CAAC,CAAC;SACN;;QAGD,4CAAU,GAAV;YACE,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aACxB;SACF;;QAGD,6CAAW,GAAX;YACE,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;gBACvC,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;SACF;;QAGD,iDAAe,GAAf,UAAgB,KAAiB;YAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;YAC7B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC9B;;QAGO,wDAAsB,GAAtB;YAAA,iBAmBP;YAlBC,OAAOA,UAAK,CACVC,cAAS,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAA2B,EAC5DA,cAAS,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAA2B,CAChE,CAAC,IAAI,CACJC,gBAAM,CAAC,UAAA,KAAK;;;gBAGV,IAAM,WAAW,IACf,KAAI,CAAC,mBAAmB,IAAI,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CACzE,CAAC;gBACjB,IAAM,SAAS,GAAG,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC;gBAErF,QACE,WAAW,KAAK,KAAI,CAAC,WAAW,CAAC,aAAa;qBAC7C,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EAChD;aACH,CAAC,CACH,CAAC;SACH;;;;gBArSFC,cAAS,SAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,QAAQ,EAAE,gBAAgB;oBAC1B,uvBAA4C;oBAE5C,aAAa,EAAEC,sBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAEC,4BAAuB,CAAC,MAAM;oBAC/C,SAAS,EAAE,CAAC,EAAE,OAAO,EAAEC,6BAAmB,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC;;iBACpF;;;;gBApBQC,iBAAY;gBAbnBC,eAAU;gBAJVC,sBAAiB;gBAajBC,WAAM;gBAGuBC,eAAS,uBAiKnCC,aAAQ,YAAIC,SAAI;gBA7JSC,sBAAY,uBA8JrCF,aAAQ,YAAIG,SAAI;gDAChBH,aAAQ,YAAII,WAAM,SAACC,eAAQ;;;wBAzI7BC,UAAK;qBAkBLA,UAAK;8BAWLA,UAAK;2BAwBLA,UAAK;2BAULA,UAAK;2BAWLA,UAAK;8BAwBLC,WAAM;0BAENC,cAAS,SAACC,mBAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;;;QC3H7C;;;;;gBAZCC,aAAQ,SAAC;oBACR,OAAO,EAAE;wBACPC,mBAAY;wBACZC,iBAAW;wBACXC,kBAAa;wBACbC,4BAAkB;wBAClBC,oBAAc;wBACdC,wBAAiB;qBAClB;oBACD,OAAO,EAAE,CAAC,uBAAuB,CAAC;oBAClC,YAAY,EAAE,CAAC,uBAAuB,CAAC;iBACxC;;;ICtBD;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"mtxColorPicker.umd.js","sources":["../../../projects/extensions/color-picker/color-picker.component.ts","../../../projects/extensions/color-picker/color-picker.module.ts","../../../projects/extensions/color-picker/mtxColorPicker.ts"],"sourcesContent":["import {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n OnDestroy,\n Optional,\n Self,\n ElementRef,\n Input,\n Output,\n EventEmitter,\n Inject,\n DoCheck,\n ViewChild,\n Host,\n AfterViewInit,\n NgZone,\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { _supportsShadowDom } from '@angular/cdk/platform';\nimport { MatFormFieldControl, MatFormField } from '@angular/material/form-field';\nimport { MatMenuTrigger } from '@angular/material/menu';\nimport { Subject, Observable, merge, fromEvent, Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { ColorEvent } from 'ngx-color';\n\nlet nextUniqueId = 0;\n\n@Component({\n selector: 'mtx-color-picker',\n exportAs: 'mtxColorPicker',\n templateUrl: './color-picker.component.html',\n styleUrls: ['./color-picker.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: MatFormFieldControl, useExisting: MtxColorPickerComponent }],\n})\nexport class MtxColorPickerComponent\n implements OnDestroy, DoCheck, AfterViewInit, ControlValueAccessor, MatFormFieldControl<any>\n{\n /** Value of the color picker control. */\n @Input()\n get value(): string | null {\n return this._value;\n }\n set value(newValue: string | null) {\n this._value = newValue;\n this._onChange(newValue);\n this.stateChanges.next();\n }\n private _value: string | null = '';\n\n /** Implemented as part of MatFormFieldControl. */\n readonly stateChanges: Subject<void> = new Subject<void>();\n\n /** Unique id for this input. */\n private _uid = `mtx-color-picker-${nextUniqueId++}`;\n\n /** Unique id of the element. */\n @Input()\n get id(): string {\n return this._id;\n }\n set id(value: string) {\n this._id = value || this._uid;\n this.stateChanges.next();\n }\n private _id!: string;\n\n /** Placeholder to be shown if value is empty. */\n @Input()\n get placeholder(): string {\n return this._placeholder;\n }\n set placeholder(value: string) {\n this._placeholder = value;\n this.stateChanges.next();\n }\n private _placeholder!: string;\n\n /** Whether the input is focused. */\n get focused(): boolean {\n return this._focused || this._panelOpen;\n }\n private _focused = false;\n\n get empty(): boolean {\n return !this.value;\n }\n\n get shouldLabelFloat(): boolean {\n return this.focused || !this.empty;\n }\n\n @Input()\n get required(): boolean {\n return this._required;\n }\n set required(value: boolean) {\n this._required = coerceBooleanProperty(value);\n this.stateChanges.next();\n }\n private _required = false;\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n this.stateChanges.next();\n }\n private _disabled = false;\n\n /** Whether the element is readonly. */\n @Input()\n get readonly(): boolean {\n return this._readonly;\n }\n set readonly(value: boolean) {\n this._readonly = coerceBooleanProperty(value);\n }\n private _readonly = false;\n\n errorState = false;\n\n /** A name for this control that can be used by `mat-form-field`. */\n controlType = 'mtx-color-picker';\n\n /** The aria-describedby attribute on the color picker for improved a11y. */\n _ariaDescribedby!: string;\n\n /** `View -> model callback called when value changes` */\n _onChange: (value: any) => void = () => {};\n\n /** `View -> model callback called when color picker has been touched` */\n _onTouched = () => {};\n\n /** Event emitted when the color changed */\n @Output() readonly colorChange = new EventEmitter<ColorEvent>();\n\n @ViewChild(MatMenuTrigger, { static: true }) trigger!: MatMenuTrigger;\n\n /** Whether or not the overlay panel is open. */\n _panelOpen = false;\n\n /** The subscription for closing actions (some are bound to document). */\n private _closingActionsSubscription!: Subscription;\n\n /** Whether the element is inside of a ShadowRoot component. */\n private _isInsideShadowRoot!: boolean;\n\n /**\n * Whether the color picker can open the next time it is focused. Used to prevent a focused,\n * closed color picker from being reopened if the user switches to another browser tab and then\n * comes back.\n */\n private _canOpenOnNextFocus = true;\n\n /**\n * Event handler for when the window is blurred. Needs to be an\n * arrow function in order to preserve the context.\n */\n private _windowBlurHandler = () => {\n // If the user blurred the window while the color picker is focused, it means that it'll be\n // refocused when they come back. In this case we want to skip the first focus event, if the\n // pane was closed, in order to avoid reopening it unintentionally.\n this._canOpenOnNextFocus =\n this._document.activeElement !== this._elementRef.nativeElement || this._panelOpen;\n };\n\n constructor(\n private _focusMonitor: FocusMonitor,\n private _elementRef: ElementRef<HTMLElement>,\n private _changeDetectorRef: ChangeDetectorRef,\n private _zone: NgZone,\n @Optional() @Self() public ngControl: NgControl,\n @Optional() @Host() private _formField: MatFormField,\n @Optional() @Inject(DOCUMENT) private _document: any\n ) {\n _focusMonitor.monitor(_elementRef, true).subscribe(origin => {\n if (this._focused && !origin) {\n this._onTouched();\n }\n this._focused = !!origin;\n this.stateChanges.next();\n });\n\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n ngDoCheck(): void {\n if (this.ngControl) {\n this.errorState = (this.ngControl.invalid && this.ngControl.touched) as boolean;\n this.stateChanges.next();\n }\n }\n\n ngAfterViewInit() {\n if (typeof window !== 'undefined') {\n this._zone.runOutsideAngular(() => {\n window.addEventListener('blur', this._windowBlurHandler);\n });\n\n if (_supportsShadowDom()) {\n const element = this._elementRef.nativeElement;\n const rootNode = element.getRootNode ? element.getRootNode() : null;\n\n // We need to take the `ShadowRoot` off of `window`, because the built-in types are\n // incorrect. See https://github.com/Microsoft/TypeScript/issues/27929.\n this._isInsideShadowRoot = rootNode instanceof (window as any).ShadowRoot;\n }\n }\n }\n\n ngOnDestroy() {\n this.stateChanges.complete();\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n\n /** Implemented as part of MatFormFieldControl. */\n setDescribedByIds(ids: string[]) {\n this._ariaDescribedby = ids.join(' ');\n }\n\n /** Implemented as part of MatFormFieldControl. */\n onContainerClick() {\n this._handleFocus();\n }\n\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n * @param value New value to be written to the model.\n */\n writeValue(value: string | null): void {\n this.value = value || '';\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Registers a callback to be triggered when the model value changes.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n /**\n * Registers a callback to be triggered when the control is touched.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n /**\n * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.\n * @param isDisabled Whether the control should be disabled.\n */\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n /** Open panel with input focus event. */\n _handleFocus() {\n this.trigger.openMenu();\n\n this._closingActionsSubscription = merge(this._getOutsideClickStream())\n .pipe()\n .subscribe(event => {\n this.trigger.closeMenu();\n this._closingActionsSubscription.unsubscribe();\n });\n }\n\n /** Opens the overlay panel. */\n _openPanel() {\n if (this._focused) {\n this._panelOpen = true;\n }\n }\n\n /** Closes the overlay panel and focuses the host element. */\n _closePanel() {\n if (this._panelOpen) {\n this._panelOpen = false;\n this._changeDetectorRef.markForCheck();\n this._onTouched();\n }\n }\n\n /** The callback of color changed. */\n _onColorChanged(model: ColorEvent) {\n this.value = model.color.hex;\n this.colorChange.emit(model);\n }\n\n /** Stream of clicks outside of the color picker panel. */\n private _getOutsideClickStream(): Observable<any> {\n return merge(\n fromEvent(this._document, 'click') as Observable<MouseEvent>,\n fromEvent(this._document, 'touchend') as Observable<TouchEvent>\n ).pipe(\n filter(event => {\n // If we're in the Shadow DOM, the event target will be the shadow root, so we have to\n // fall back to check the first element in the path of the click event.\n const clickTarget = (\n this._isInsideShadowRoot && event.composedPath ? event.composedPath()[0] : event.target\n ) as HTMLElement;\n const formField = this._formField ? this._formField._elementRef.nativeElement : null;\n\n return (\n clickTarget !== this._elementRef.nativeElement &&\n (!formField || !formField.contains(clickTarget))\n );\n })\n );\n }\n\n static ngAcceptInputType_required: BooleanInput;\n static ngAcceptInputType_readonly: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\n\nimport { ColorChromeModule } from 'ngx-color/chrome';\n\nimport { MtxColorPickerComponent } from './color-picker.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n MatMenuModule,\n MatFormFieldModule,\n MatInputModule,\n ColorChromeModule,\n ],\n exports: [MtxColorPickerComponent],\n declarations: [MtxColorPickerComponent],\n})\nexport class MtxColorPickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Subject","EventEmitter","coerceBooleanProperty","_supportsShadowDom","merge","fromEvent","filter","Component","ViewEncapsulation","ChangeDetectionStrategy","MatFormFieldControl","FocusMonitor","ElementRef","ChangeDetectorRef","NgZone","NgControl","Optional","Self","MatFormField","Host","Inject","DOCUMENT","Input","Output","ViewChild","MatMenuTrigger","NgModule","CommonModule","FormsModule","MatMenuModule","MatFormFieldModule","MatInputModule","ColorChromeModule"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
2
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('rxjs/operators'), require('@angular/cdk/table'), require('@angular/common'), require('@angular/cdk/coercion'), require('@angular/cdk/portal'), require('@angular/cdk/keycodes')) :
|
|
3
3
|
typeof define === 'function' && define.amd ? define('@ng-matero/extensions/column-resize', ['exports', '@angular/core', 'rxjs', 'rxjs/operators', '@angular/cdk/table', '@angular/common', '@angular/cdk/coercion', '@angular/cdk/portal', '@angular/cdk/keycodes'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global[
|
|
5
|
-
}(this, (function (exports, core, rxjs, operators, table, common, coercion, portal, keycodes) { 'use strict';
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["ng-matero"] = global["ng-matero"] || {}, global["ng-matero"].extensions = global["ng-matero"].extensions || {}, global["ng-matero"].extensions["column-resize"] = {}), global.ng.core, global.rxjs, global.rxjs.operators, global.ng.cdk.table, global.ng.common, global.ng.cdk.coercion, global.ng.cdk.portal, global.ng.cdk.keycodes));
|
|
5
|
+
})(this, (function (exports, core, rxjs, operators, table, common, coercion, portal, keycodes) { 'use strict';
|
|
6
6
|
|
|
7
7
|
/*! *****************************************************************************
|
|
8
8
|
Copyright (c) Microsoft Corporation.
|
|
@@ -437,6 +437,7 @@
|
|
|
437
437
|
};
|
|
438
438
|
return ColumnResize;
|
|
439
439
|
}());
|
|
440
|
+
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
440
441
|
ColumnResize.decorators = [
|
|
441
442
|
{ type: core.Directive }
|
|
442
443
|
];
|
|
@@ -463,6 +464,7 @@
|
|
|
463
464
|
}
|
|
464
465
|
return ColumnResizeNotifierSource;
|
|
465
466
|
}());
|
|
467
|
+
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
466
468
|
ColumnResizeNotifierSource.decorators = [
|
|
467
469
|
{ type: core.Injectable }
|
|
468
470
|
];
|
|
@@ -479,10 +481,17 @@
|
|
|
479
481
|
};
|
|
480
482
|
return ColumnResizeNotifier;
|
|
481
483
|
}());
|
|
484
|
+
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
482
485
|
ColumnResizeNotifier.decorators = [
|
|
483
486
|
{ type: core.Injectable }
|
|
484
487
|
];
|
|
485
|
-
/**
|
|
488
|
+
/**
|
|
489
|
+
* @type {function(): !Array<(null|{
|
|
490
|
+
* type: ?,
|
|
491
|
+
* decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
|
|
492
|
+
* })>}
|
|
493
|
+
* @nocollapse
|
|
494
|
+
*/
|
|
486
495
|
ColumnResizeNotifier.ctorParameters = function () { return [
|
|
487
496
|
{ type: ColumnResizeNotifierSource }
|
|
488
497
|
]; };
|
|
@@ -540,10 +549,17 @@
|
|
|
540
549
|
};
|
|
541
550
|
return HeaderRowEventDispatcher;
|
|
542
551
|
}());
|
|
552
|
+
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
543
553
|
HeaderRowEventDispatcher.decorators = [
|
|
544
554
|
{ type: core.Injectable }
|
|
545
555
|
];
|
|
546
|
-
/**
|
|
556
|
+
/**
|
|
557
|
+
* @type {function(): !Array<(null|{
|
|
558
|
+
* type: ?,
|
|
559
|
+
* decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
|
|
560
|
+
* })>}
|
|
561
|
+
* @nocollapse
|
|
562
|
+
*/
|
|
547
563
|
HeaderRowEventDispatcher.ctorParameters = function () { return [
|
|
548
564
|
{ type: core.NgZone }
|
|
549
565
|
]; };
|
|
@@ -575,6 +591,7 @@
|
|
|
575
591
|
};
|
|
576
592
|
return ResizeStrategy;
|
|
577
593
|
}());
|
|
594
|
+
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
578
595
|
ResizeStrategy.decorators = [
|
|
579
596
|
{ type: core.Injectable }
|
|
580
597
|
];
|
|
@@ -616,10 +633,17 @@
|
|
|
616
633
|
};
|
|
617
634
|
return TableLayoutFixedResizeStrategy;
|
|
618
635
|
}(ResizeStrategy));
|
|
636
|
+
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
619
637
|
TableLayoutFixedResizeStrategy.decorators = [
|
|
620
638
|
{ type: core.Injectable }
|
|
621
639
|
];
|
|
622
|
-
/**
|
|
640
|
+
/**
|
|
641
|
+
* @type {function(): !Array<(null|{
|
|
642
|
+
* type: ?,
|
|
643
|
+
* decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
|
|
644
|
+
* })>}
|
|
645
|
+
* @nocollapse
|
|
646
|
+
*/
|
|
623
647
|
TableLayoutFixedResizeStrategy.ctorParameters = function () { return [
|
|
624
648
|
{ type: ColumnResize },
|
|
625
649
|
{ type: table._CoalescedStyleScheduler, decorators: [{ type: core.Inject, args: [table._COALESCED_STYLE_SCHEDULER,] }] },
|
|
@@ -738,10 +762,17 @@
|
|
|
738
762
|
};
|
|
739
763
|
return CdkFlexTableResizeStrategy;
|
|
740
764
|
}(ResizeStrategy));
|
|
765
|
+
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
741
766
|
CdkFlexTableResizeStrategy.decorators = [
|
|
742
767
|
{ type: core.Injectable }
|
|
743
768
|
];
|
|
744
|
-
/**
|
|
769
|
+
/**
|
|
770
|
+
* @type {function(): !Array<(null|{
|
|
771
|
+
* type: ?,
|
|
772
|
+
* decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
|
|
773
|
+
* })>}
|
|
774
|
+
* @nocollapse
|
|
775
|
+
*/
|
|
745
776
|
CdkFlexTableResizeStrategy.ctorParameters = function () { return [
|
|
746
777
|
{ type: ColumnResize },
|
|
747
778
|
{ type: table._CoalescedStyleScheduler, decorators: [{ type: core.Inject, args: [table._COALESCED_STYLE_SCHEDULER,] }] },
|
|
@@ -804,6 +835,7 @@
|
|
|
804
835
|
}
|
|
805
836
|
return CdkColumnResize;
|
|
806
837
|
}(ColumnResize));
|
|
838
|
+
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
807
839
|
CdkColumnResize.decorators = [
|
|
808
840
|
{ type: core.Directive, args: [{
|
|
809
841
|
selector: 'table[cdk-table][columnResize]',
|
|
@@ -812,7 +844,13 @@
|
|
|
812
844
|
]),
|
|
813
845
|
},] }
|
|
814
846
|
];
|
|
815
|
-
/**
|
|
847
|
+
/**
|
|
848
|
+
* @type {function(): !Array<(null|{
|
|
849
|
+
* type: ?,
|
|
850
|
+
* decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
|
|
851
|
+
* })>}
|
|
852
|
+
* @nocollapse
|
|
853
|
+
*/
|
|
816
854
|
CdkColumnResize.ctorParameters = function () { return [
|
|
817
855
|
{ type: ColumnResizeNotifier },
|
|
818
856
|
{ type: core.ElementRef },
|
|
@@ -840,6 +878,7 @@
|
|
|
840
878
|
}
|
|
841
879
|
return CdkColumnResizeFlex;
|
|
842
880
|
}(ColumnResize));
|
|
881
|
+
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
843
882
|
CdkColumnResizeFlex.decorators = [
|
|
844
883
|
{ type: core.Directive, args: [{
|
|
845
884
|
selector: 'cdk-table[columnResize]',
|
|
@@ -848,7 +887,13 @@
|
|
|
848
887
|
]),
|
|
849
888
|
},] }
|
|
850
889
|
];
|
|
851
|
-
/**
|
|
890
|
+
/**
|
|
891
|
+
* @type {function(): !Array<(null|{
|
|
892
|
+
* type: ?,
|
|
893
|
+
* decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
|
|
894
|
+
* })>}
|
|
895
|
+
* @nocollapse
|
|
896
|
+
*/
|
|
852
897
|
CdkColumnResizeFlex.ctorParameters = function () { return [
|
|
853
898
|
{ type: ColumnResizeNotifier },
|
|
854
899
|
{ type: core.ElementRef },
|
|
@@ -874,6 +919,7 @@
|
|
|
874
919
|
}
|
|
875
920
|
return CdkColumnResizeModule;
|
|
876
921
|
}());
|
|
922
|
+
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
877
923
|
CdkColumnResizeModule.decorators = [
|
|
878
924
|
{ type: core.NgModule, args: [{
|
|
879
925
|
declarations: [CdkColumnResize, CdkColumnResizeFlex],
|
|
@@ -896,6 +942,7 @@
|
|
|
896
942
|
}
|
|
897
943
|
return ColumnSizeStore;
|
|
898
944
|
}());
|
|
945
|
+
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
899
946
|
ColumnSizeStore.decorators = [
|
|
900
947
|
{ type: core.Injectable }
|
|
901
948
|
];
|
|
@@ -1118,6 +1165,7 @@
|
|
|
1118
1165
|
};
|
|
1119
1166
|
return Resizable;
|
|
1120
1167
|
}());
|
|
1168
|
+
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
1121
1169
|
Resizable.decorators = [
|
|
1122
1170
|
{ type: core.Directive }
|
|
1123
1171
|
];
|
|
@@ -1257,6 +1305,7 @@
|
|
|
1257
1305
|
};
|
|
1258
1306
|
return ResizeOverlayHandle;
|
|
1259
1307
|
}());
|
|
1308
|
+
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
1260
1309
|
ResizeOverlayHandle.decorators = [
|
|
1261
1310
|
{ type: core.Directive }
|
|
1262
1311
|
];
|
|
@@ -1286,5 +1335,5 @@
|
|
|
1286
1335
|
|
|
1287
1336
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
1288
1337
|
|
|
1289
|
-
}))
|
|
1338
|
+
}));
|
|
1290
1339
|
//# sourceMappingURL=mtxColumnResize.umd.js.map
|