@ng-matero/extensions 11.3.4 → 11.5.1
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/alert/_alert-theme.scss +5 -9
- package/alert/alert.component.d.ts +6 -4
- package/alert/alert.component.scss +2 -1
- package/alert/mtxAlert.metadata.json +1 -1
- package/bundles/mtxAlert.umd.js +22 -12
- package/bundles/mtxAlert.umd.js.map +1 -1
- package/bundles/mtxAlert.umd.min.js +1 -1
- package/bundles/mtxAlert.umd.min.js.map +1 -1
- package/bundles/{ng-matero-extensions-button.umd.js → mtxButton.umd.js} +1 -1
- package/bundles/mtxButton.umd.js.map +1 -0
- package/bundles/{ng-matero-extensions-button.umd.min.js → mtxButton.umd.min.js} +1 -1
- package/bundles/{ng-matero-extensions-button.umd.min.js.map → mtxButton.umd.min.js.map} +0 -0
- package/bundles/mtxCheckboxGroup.umd.js +41 -10
- package/bundles/mtxCheckboxGroup.umd.js.map +1 -1
- package/bundles/mtxCheckboxGroup.umd.min.js +1 -1
- package/bundles/mtxCheckboxGroup.umd.min.js.map +1 -1
- package/bundles/mtxColorPicker.umd.js +14 -1
- package/bundles/mtxColorPicker.umd.js.map +1 -1
- package/bundles/mtxColorPicker.umd.min.js +1 -1
- package/bundles/mtxColorPicker.umd.min.js.map +1 -1
- package/bundles/mtxFormGroup.umd.js.map +1 -1
- package/bundles/mtxFormGroup.umd.min.js.map +1 -1
- package/bundles/mtxGrid.umd.js +14 -14
- package/bundles/mtxGrid.umd.js.map +1 -1
- package/bundles/mtxGrid.umd.min.js.map +1 -1
- package/bundles/mtxLoader.umd.js +27 -7
- package/bundles/mtxLoader.umd.js.map +1 -1
- package/bundles/mtxLoader.umd.min.js +1 -1
- package/bundles/mtxLoader.umd.min.js.map +1 -1
- package/bundles/mtxPopover.umd.js +177 -129
- package/bundles/mtxPopover.umd.js.map +1 -1
- package/bundles/mtxPopover.umd.min.js +1 -1
- package/bundles/mtxPopover.umd.min.js.map +1 -1
- package/bundles/mtxProgress.umd.js +28 -4
- package/bundles/mtxProgress.umd.js.map +1 -1
- package/bundles/mtxProgress.umd.min.js +1 -1
- package/bundles/mtxProgress.umd.min.js.map +1 -1
- package/bundles/mtxSelect.umd.js.map +1 -1
- package/bundles/mtxSelect.umd.min.js.map +1 -1
- package/button/{ng-matero-extensions-button.d.ts → mtxButton.d.ts} +0 -0
- package/button/{ng-matero-extensions-button.metadata.json → mtxButton.metadata.json} +0 -0
- package/button/package.json +7 -7
- package/checkbox-group/checkbox-group.component.d.ts +13 -6
- package/checkbox-group/mtxCheckboxGroup.metadata.json +1 -1
- package/color-picker/color-picker.component.d.ts +5 -0
- package/color-picker/mtxColorPicker.metadata.json +1 -1
- package/data-grid/grid.component.d.ts +2 -2
- package/esm2015/alert/alert.component.js +16 -9
- package/esm2015/button/mtxButton.js +5 -0
- package/esm2015/checkbox-group/checkbox-group.component.js +35 -8
- package/esm2015/color-picker/color-picker.component.js +11 -2
- package/esm2015/data-grid/grid.component.js +15 -15
- package/esm2015/form-group/form-group.component.js +1 -1
- package/esm2015/loader/loader.component.js +17 -4
- package/esm2015/popover/popover-errors.js +15 -15
- package/esm2015/popover/popover-interfaces.js +1 -1
- package/esm2015/popover/popover-trigger.js +95 -64
- package/esm2015/popover/popover-types.js +1 -1
- package/esm2015/popover/popover.js +68 -51
- package/esm2015/popover/public-api.js +2 -1
- package/esm2015/progress/progress.component.js +18 -1
- package/esm2015/select/select.component.js +1 -1
- package/fesm2015/mtxAlert.js +15 -8
- package/fesm2015/mtxAlert.js.map +1 -1
- package/fesm2015/{ng-matero-extensions-button.js → mtxButton.js} +1 -1
- package/fesm2015/mtxButton.js.map +1 -0
- package/fesm2015/mtxCheckboxGroup.js +34 -7
- package/fesm2015/mtxCheckboxGroup.js.map +1 -1
- package/fesm2015/mtxColorPicker.js +10 -1
- package/fesm2015/mtxColorPicker.js.map +1 -1
- package/fesm2015/mtxFormGroup.js.map +1 -1
- package/fesm2015/mtxGrid.js +14 -14
- package/fesm2015/mtxGrid.js.map +1 -1
- package/fesm2015/mtxLoader.js +16 -3
- package/fesm2015/mtxLoader.js.map +1 -1
- package/fesm2015/mtxPopover.js +174 -126
- package/fesm2015/mtxPopover.js.map +1 -1
- package/fesm2015/mtxProgress.js +17 -0
- package/fesm2015/mtxProgress.js.map +1 -1
- package/fesm2015/mtxSelect.js.map +1 -1
- package/form-group/form-group.component.d.ts +2 -0
- package/loader/loader.component.d.ts +9 -2
- package/loader/mtxLoader.metadata.json +1 -1
- package/package.json +2 -2
- package/popover/_popover-theme.scss +17 -7
- package/popover/mtxPopover.metadata.json +1 -1
- package/popover/popover-errors.d.ts +6 -6
- package/popover/popover-interfaces.d.ts +9 -9
- package/popover/popover-types.d.ts +3 -2
- package/popover/popover.d.ts +23 -17
- package/popover/popover.scss +117 -20
- package/popover/public-api.d.ts +1 -0
- package/progress/mtxProgress.metadata.json +1 -1
- package/progress/progress.component.d.ts +9 -2
- package/select/mtxSelect.metadata.json +1 -1
- package/select/select.component.d.ts +9 -5
- package/bundles/ng-matero-extensions-button.umd.js.map +0 -1
- package/esm2015/button/ng-matero-extensions-button.js +0 -5
- package/fesm2015/ng-matero-extensions-button.js.map +0 -1
|
@@ -11,18 +11,18 @@
|
|
|
11
11
|
throw Error("mtx-popover-trigger: must pass in an mtx-popover instance.\n\n Example:\n <mtx-popover #popover=\"mtxPopover\"></mtx-popover>\n <button [mtxPopoverTriggerFor]=\"popover\"></button>");
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
|
-
* Throws an exception for the case when popover's
|
|
15
|
-
* In other words, it doesn't match 'before' or 'after'.
|
|
14
|
+
* Throws an exception for the case when popover's mtxPopoverPosition[0] value isn't valid.
|
|
15
|
+
* In other words, it doesn't match 'above', 'below', 'before' or 'after'.
|
|
16
16
|
*/
|
|
17
|
-
function
|
|
18
|
-
throw Error("
|
|
17
|
+
function throwMtxPopoverInvalidPositionStart() {
|
|
18
|
+
throw Error("mtxPopoverPosition[0] value must be either 'above', 'below', 'before' or 'after'.\n Example: <mtx-popover [position]=\"['below', 'after']\" #popover=\"mtxPopover\"></mtx-popover>");
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
|
-
* Throws an exception for the case when popover's
|
|
22
|
-
* In other words, it doesn't match 'above' or '
|
|
21
|
+
* Throws an exception for the case when popover's mtxPopoverPosition[1] value isn't valid.
|
|
22
|
+
* In other words, it doesn't match 'above', 'below', 'before', 'after' or 'center'.
|
|
23
23
|
*/
|
|
24
|
-
function
|
|
25
|
-
throw Error("
|
|
24
|
+
function throwMtxPopoverInvalidPositionEnd() {
|
|
25
|
+
throw Error("mtxPopoverPosition[1] value must be either 'above', 'below', 'before', 'after' or 'center'.\n Example: <mtx-popover [position]=\"['below', 'after']\" #popover=\"mtxPopover\"></mtx-popover>");
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
/**
|
|
@@ -59,26 +59,25 @@
|
|
|
59
59
|
this.zone = zone;
|
|
60
60
|
this.role = 'dialog';
|
|
61
61
|
/** Settings for popover, view setters and getters for more detail */
|
|
62
|
-
this.
|
|
63
|
-
this._yPosition = 'below';
|
|
62
|
+
this._position = ['below', 'after'];
|
|
64
63
|
this._triggerEvent = 'hover';
|
|
65
64
|
this._scrollStrategy = 'reposition';
|
|
66
65
|
this._enterDelay = 100;
|
|
67
66
|
this._leaveDelay = 100;
|
|
68
|
-
this._overlapTrigger = false;
|
|
69
|
-
this._disableAnimation = false;
|
|
70
67
|
this._panelOffsetX = 0;
|
|
71
68
|
this._panelOffsetY = 0;
|
|
72
69
|
this._closeOnPanelClick = false;
|
|
73
70
|
this._closeOnBackdropClick = true;
|
|
71
|
+
this._disableAnimation = false;
|
|
74
72
|
this._focusTrapEnabled = true;
|
|
75
73
|
this._focusTrapAutoCaptureEnabled = true;
|
|
76
74
|
this._arrowOffsetX = 20;
|
|
75
|
+
this._arrowOffsetY = 20;
|
|
77
76
|
this._arrowWidth = 16;
|
|
77
|
+
this._arrowHeight = 16;
|
|
78
78
|
/** Config object to be passed into the popover's ngClass */
|
|
79
79
|
this._classList = {};
|
|
80
|
-
|
|
81
|
-
/** */
|
|
80
|
+
/** Whether popover's `targetElement` is defined */
|
|
82
81
|
this.containerPositioning = false;
|
|
83
82
|
/** Closing disabled on popover */
|
|
84
83
|
this.closeDisabled = false;
|
|
@@ -88,31 +87,19 @@
|
|
|
88
87
|
this.closed = new core.EventEmitter();
|
|
89
88
|
this.setPositionClasses();
|
|
90
89
|
}
|
|
91
|
-
Object.defineProperty(MtxPopover.prototype, "
|
|
92
|
-
/** Position of the popover
|
|
90
|
+
Object.defineProperty(MtxPopover.prototype, "position", {
|
|
91
|
+
/** Position of the popover. */
|
|
93
92
|
get: function () {
|
|
94
|
-
return this.
|
|
93
|
+
return this._position;
|
|
95
94
|
},
|
|
96
95
|
set: function (value) {
|
|
97
|
-
if (
|
|
98
|
-
|
|
96
|
+
if (!['before', 'after', 'above', 'below'].includes(value[0])) {
|
|
97
|
+
throwMtxPopoverInvalidPositionStart();
|
|
99
98
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
},
|
|
103
|
-
enumerable: false,
|
|
104
|
-
configurable: true
|
|
105
|
-
});
|
|
106
|
-
Object.defineProperty(MtxPopover.prototype, "yPosition", {
|
|
107
|
-
/** Position of the popover in the Y axis. */
|
|
108
|
-
get: function () {
|
|
109
|
-
return this._yPosition;
|
|
110
|
-
},
|
|
111
|
-
set: function (value) {
|
|
112
|
-
if (value !== 'above' && value !== 'below') {
|
|
113
|
-
throwMtxPopoverInvalidPositionY();
|
|
99
|
+
if (!['before', 'after', 'above', 'below', 'center'].includes(value[1])) {
|
|
100
|
+
throwMtxPopoverInvalidPositionEnd();
|
|
114
101
|
}
|
|
115
|
-
this.
|
|
102
|
+
this._position = value;
|
|
116
103
|
this.setPositionClasses();
|
|
117
104
|
},
|
|
118
105
|
enumerable: false,
|
|
@@ -162,17 +149,6 @@
|
|
|
162
149
|
enumerable: false,
|
|
163
150
|
configurable: true
|
|
164
151
|
});
|
|
165
|
-
Object.defineProperty(MtxPopover.prototype, "overlapTrigger", {
|
|
166
|
-
/** Popover overlap trigger */
|
|
167
|
-
get: function () {
|
|
168
|
-
return this._overlapTrigger;
|
|
169
|
-
},
|
|
170
|
-
set: function (value) {
|
|
171
|
-
this._overlapTrigger = value;
|
|
172
|
-
},
|
|
173
|
-
enumerable: false,
|
|
174
|
-
configurable: true
|
|
175
|
-
});
|
|
176
152
|
Object.defineProperty(MtxPopover.prototype, "xOffset", {
|
|
177
153
|
/** Popover target offset x */
|
|
178
154
|
get: function () {
|
|
@@ -206,6 +182,17 @@
|
|
|
206
182
|
enumerable: false,
|
|
207
183
|
configurable: true
|
|
208
184
|
});
|
|
185
|
+
Object.defineProperty(MtxPopover.prototype, "arrowOffsetY", {
|
|
186
|
+
/** Popover arrow offset y */
|
|
187
|
+
get: function () {
|
|
188
|
+
return this._arrowOffsetY;
|
|
189
|
+
},
|
|
190
|
+
set: function (value) {
|
|
191
|
+
this._arrowOffsetY = value;
|
|
192
|
+
},
|
|
193
|
+
enumerable: false,
|
|
194
|
+
configurable: true
|
|
195
|
+
});
|
|
209
196
|
Object.defineProperty(MtxPopover.prototype, "arrowWidth", {
|
|
210
197
|
/** Popover arrow width */
|
|
211
198
|
get: function () {
|
|
@@ -217,6 +204,17 @@
|
|
|
217
204
|
enumerable: false,
|
|
218
205
|
configurable: true
|
|
219
206
|
});
|
|
207
|
+
Object.defineProperty(MtxPopover.prototype, "arrowHeight", {
|
|
208
|
+
/** Popover arrow height */
|
|
209
|
+
get: function () {
|
|
210
|
+
return this._arrowHeight;
|
|
211
|
+
},
|
|
212
|
+
set: function (value) {
|
|
213
|
+
this._arrowHeight = value;
|
|
214
|
+
},
|
|
215
|
+
enumerable: false,
|
|
216
|
+
configurable: true
|
|
217
|
+
});
|
|
220
218
|
Object.defineProperty(MtxPopover.prototype, "closeOnPanelClick", {
|
|
221
219
|
/** Popover close on container click */
|
|
222
220
|
get: function () {
|
|
@@ -354,42 +352,61 @@
|
|
|
354
352
|
// TODO: Refactor how styles are set and updated on the component, use best practices.
|
|
355
353
|
// TODO: If arrow left and right positioning is requested, see if flex direction can be used to work with order.
|
|
356
354
|
/** Sets the current styles for the popover to allow for dynamically changing settings */
|
|
357
|
-
MtxPopover.prototype.setCurrentStyles = function () {
|
|
358
|
-
|
|
355
|
+
MtxPopover.prototype.setCurrentStyles = function (pos) {
|
|
356
|
+
if (pos === void 0) { pos = this.position; }
|
|
357
|
+
var left = pos[1] === 'after'
|
|
359
358
|
? this.arrowOffsetX - this.arrowWidth / 2 + "px"
|
|
360
|
-
:
|
|
359
|
+
: pos[1] === 'center'
|
|
361
360
|
? "calc(50% - " + this.arrowWidth / 2 + "px)"
|
|
362
361
|
: '';
|
|
363
|
-
var right =
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
362
|
+
var right = pos[1] === 'before' ? this.arrowOffsetX - this.arrowWidth / 2 + "px" : '';
|
|
363
|
+
var bottom = pos[1] === 'above'
|
|
364
|
+
? this.arrowOffsetY - this.arrowHeight / 2 + "px"
|
|
365
|
+
: pos[1] === 'center'
|
|
366
|
+
? "calc(50% - " + this.arrowHeight / 2 + "px)"
|
|
367
|
+
: '';
|
|
368
|
+
var top = pos[1] === 'below' ? this.arrowOffsetY - this.arrowHeight / 2 + "px" : '';
|
|
369
|
+
this.popoverArrowStyles =
|
|
370
|
+
pos[0] === 'above' || pos[0] === 'below'
|
|
371
|
+
? {
|
|
372
|
+
left: this._dir.value === 'ltr' ? left : right,
|
|
373
|
+
right: this._dir.value === 'ltr' ? right : left,
|
|
374
|
+
}
|
|
375
|
+
: {
|
|
376
|
+
top: top,
|
|
377
|
+
bottom: bottom,
|
|
378
|
+
};
|
|
368
379
|
};
|
|
369
380
|
/**
|
|
370
381
|
* It's necessary to set position-based classes to ensure the popover panel animation
|
|
371
382
|
* folds out from the correct direction.
|
|
372
383
|
*/
|
|
373
|
-
MtxPopover.prototype.setPositionClasses = function (
|
|
374
|
-
if (
|
|
375
|
-
|
|
376
|
-
this._classList['mtx-popover-before'] =
|
|
377
|
-
this._classList['mtx-popover-
|
|
378
|
-
this._classList['mtx-popover-after'] =
|
|
379
|
-
this._classList['mtx-popover-
|
|
380
|
-
this._classList['mtx-popover-below'] =
|
|
384
|
+
MtxPopover.prototype.setPositionClasses = function (pos) {
|
|
385
|
+
if (pos === void 0) { pos = this.position; }
|
|
386
|
+
this._classList['mtx-popover-before-above'] = pos[0] === 'before' && pos[1] === 'above';
|
|
387
|
+
this._classList['mtx-popover-before-center'] = pos[0] === 'before' && pos[1] === 'center';
|
|
388
|
+
this._classList['mtx-popover-before-below'] = pos[0] === 'before' && pos[1] === 'below';
|
|
389
|
+
this._classList['mtx-popover-after-above'] = pos[0] === 'after' && pos[1] === 'above';
|
|
390
|
+
this._classList['mtx-popover-after-center'] = pos[0] === 'after' && pos[1] === 'center';
|
|
391
|
+
this._classList['mtx-popover-after-below'] = pos[0] === 'after' && pos[1] === 'below';
|
|
392
|
+
this._classList['mtx-popover-above-before'] = pos[0] === 'above' && pos[1] === 'before';
|
|
393
|
+
this._classList['mtx-popover-above-center'] = pos[0] === 'above' && pos[1] === 'center';
|
|
394
|
+
this._classList['mtx-popover-above-after'] = pos[0] === 'above' && pos[1] === 'after';
|
|
395
|
+
this._classList['mtx-popover-below-before'] = pos[0] === 'below' && pos[1] === 'before';
|
|
396
|
+
this._classList['mtx-popover-below-center'] = pos[0] === 'below' && pos[1] === 'center';
|
|
397
|
+
this._classList['mtx-popover-below-after'] = pos[0] === 'below' && pos[1] === 'after';
|
|
381
398
|
};
|
|
382
399
|
return MtxPopover;
|
|
383
400
|
}());
|
|
384
401
|
MtxPopover.decorators = [
|
|
385
402
|
{ type: core.Component, args: [{
|
|
386
403
|
selector: 'mtx-popover',
|
|
387
|
-
template: "<ng-template>\r\n <div class=\"mtx-popover-panel mat-elevation-z8\" role=\"dialog\"\r\n [
|
|
404
|
+
template: "<ng-template>\r\n <div class=\"mtx-popover-panel mat-elevation-z8\" role=\"dialog\"\r\n [ngClass]=\"_classList\"\r\n [ngStyle]=\"popoverPanelStyles\"\r\n (keydown)=\"_handleKeydown($event)\"\r\n (click)=\"onClick()\"\r\n (mouseover)=\"onMouseOver()\"\r\n (mouseleave)=\"onMouseLeave()\"\r\n [@.disabled]=\"disableAnimation\"\r\n [@transformPopover]=\"'enter'\">\r\n <div class=\"mtx-popover-direction-arrow\" [ngStyle]=\"popoverArrowStyles\"></div>\r\n <div class=\"mtx-popover-content\"\r\n [ngStyle]=\"popoverContentStyles\"\r\n [cdkTrapFocus]=\"focusTrapEnabled\"\r\n [cdkTrapFocusAutoCapture]=\"focusTrapAutoCaptureEnabled\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</ng-template>\r\n",
|
|
388
405
|
changeDetection: core.ChangeDetectionStrategy.OnPush,
|
|
389
406
|
encapsulation: core.ViewEncapsulation.None,
|
|
390
407
|
animations: [transformPopover],
|
|
391
408
|
exportAs: 'mtxPopover',
|
|
392
|
-
styles: [".mtx-popover-panel{max-height:calc(100vh - 48px);padding:8px;border-radius:4px}.mtx-popover-panel
|
|
409
|
+
styles: [".mtx-popover-panel{max-height:calc(100vh - 48px);padding:8px;border-radius:4px;font-size:16px}.mtx-popover-panel[class*=mtx-popover-below]{margin-top:calc(.5em + 2px)}.mtx-popover-panel[class*=mtx-popover-above]{margin-bottom:calc(.5em + 2px)}.mtx-popover-panel[class*=mtx-popover-before]{margin-right:calc(.5em + 2px)}[dir=rtl] .mtx-popover-panel[class*=mtx-popover-before]{margin-right:auto;margin-left:calc(.5em + 2px)}.mtx-popover-panel[class*=mtx-popover-after]{margin-left:calc(.5em + 2px)}[dir=rtl] .mtx-popover-panel[class*=mtx-popover-after]{margin-left:auto;margin-right:calc(.5em + 2px)}.mtx-popover-direction-arrow{position:absolute}.mtx-popover-direction-arrow:after,.mtx-popover-direction-arrow:before{position:absolute;display:inline-block;content:\"\";border-width:.5em;border-style:solid}.mtx-popover-direction-arrow:after{border-width:calc(.5em - 1px)}[class*=mtx-popover-above] .mtx-popover-direction-arrow,[class*=mtx-popover-below] .mtx-popover-direction-arrow{width:1em}[class*=mtx-popover-above] .mtx-popover-direction-arrow:after,[class*=mtx-popover-below] .mtx-popover-direction-arrow:after{left:1px}[dir=rtl] [class*=mtx-popover-above] .mtx-popover-direction-arrow:after,[dir=rtl] [class*=mtx-popover-below] .mtx-popover-direction-arrow:after{right:1px;left:auto}[class*=mtx-popover-below] .mtx-popover-direction-arrow{top:0}[class*=mtx-popover-below] .mtx-popover-direction-arrow:after,[class*=mtx-popover-below] .mtx-popover-direction-arrow:before{bottom:0;border-top-width:0}[class*=mtx-popover-above] .mtx-popover-direction-arrow{bottom:0}[class*=mtx-popover-above] .mtx-popover-direction-arrow:after,[class*=mtx-popover-above] .mtx-popover-direction-arrow:before{top:0;border-bottom-width:0}[class*=mtx-popover-after] .mtx-popover-direction-arrow,[class*=mtx-popover-before] .mtx-popover-direction-arrow{height:1em}[class*=mtx-popover-after] .mtx-popover-direction-arrow:after,[class*=mtx-popover-before] .mtx-popover-direction-arrow:after{top:1px}[class*=mtx-popover-before] .mtx-popover-direction-arrow{right:0}[class*=mtx-popover-before] .mtx-popover-direction-arrow:after,[class*=mtx-popover-before] .mtx-popover-direction-arrow:before{left:0;border-right-width:0}[dir=rtl] [class*=mtx-popover-before] .mtx-popover-direction-arrow{right:auto;left:0}[dir=rtl] [class*=mtx-popover-before] .mtx-popover-direction-arrow:after,[dir=rtl] [class*=mtx-popover-before] .mtx-popover-direction-arrow:before{left:auto;right:0;border-left-width:0}[dir=rtl] [class*=mtx-popover-before] .mtx-popover-direction-arrow:before{border-right-width:.5em}[dir=rtl] [class*=mtx-popover-before] .mtx-popover-direction-arrow:after{border-right-width:calc(.5em - 1px)}[class*=mtx-popover-after] .mtx-popover-direction-arrow{left:0}[class*=mtx-popover-after] .mtx-popover-direction-arrow:after,[class*=mtx-popover-after] .mtx-popover-direction-arrow:before{right:0;border-left-width:0}[dir=rtl] [class*=mtx-popover-after] .mtx-popover-direction-arrow{left:auto;right:0}[dir=rtl] [class*=mtx-popover-after] .mtx-popover-direction-arrow:after,[dir=rtl] [class*=mtx-popover-after] .mtx-popover-direction-arrow:before{right:auto;left:0;border-right-width:0}[dir=rtl] [class*=mtx-popover-after] .mtx-popover-direction-arrow:before{border-left-width:.5em}[dir=rtl] [class*=mtx-popover-after] .mtx-popover-direction-arrow:after{border-left-width:calc(.5em - 1px)}"]
|
|
393
410
|
},] }
|
|
394
411
|
];
|
|
395
412
|
/** @nocollapse */
|
|
@@ -400,17 +417,17 @@
|
|
|
400
417
|
]; };
|
|
401
418
|
MtxPopover.propDecorators = {
|
|
402
419
|
role: [{ type: core.HostBinding, args: ['attr.role',] }],
|
|
403
|
-
|
|
404
|
-
yPosition: [{ type: core.Input }],
|
|
420
|
+
position: [{ type: core.Input }],
|
|
405
421
|
triggerEvent: [{ type: core.Input }],
|
|
406
422
|
scrollStrategy: [{ type: core.Input }],
|
|
407
423
|
enterDelay: [{ type: core.Input }],
|
|
408
424
|
leaveDelay: [{ type: core.Input }],
|
|
409
|
-
overlapTrigger: [{ type: core.Input }],
|
|
410
425
|
xOffset: [{ type: core.Input }],
|
|
411
426
|
yOffset: [{ type: core.Input }],
|
|
412
427
|
arrowOffsetX: [{ type: core.Input }],
|
|
428
|
+
arrowOffsetY: [{ type: core.Input }],
|
|
413
429
|
arrowWidth: [{ type: core.Input }],
|
|
430
|
+
arrowHeight: [{ type: core.Input }],
|
|
414
431
|
closeOnPanelClick: [{ type: core.Input }],
|
|
415
432
|
closeOnBackdropClick: [{ type: core.Input }],
|
|
416
433
|
disableAnimation: [{ type: core.Input }],
|
|
@@ -964,7 +981,7 @@
|
|
|
964
981
|
overlayState.hasBackdrop = true;
|
|
965
982
|
overlayState.backdropClass = 'cdk-overlay-transparent-backdrop';
|
|
966
983
|
}
|
|
967
|
-
overlayState.direction = this.
|
|
984
|
+
overlayState.direction = this._dir;
|
|
968
985
|
overlayState.scrollStrategy = this._getOverlayScrollStrategy(this.popover.scrollStrategy);
|
|
969
986
|
return overlayState;
|
|
970
987
|
};
|
|
@@ -992,19 +1009,24 @@
|
|
|
992
1009
|
MtxPopoverTrigger.prototype._subscribeToPositions = function (position) {
|
|
993
1010
|
var _this = this;
|
|
994
1011
|
this._positionSubscription = position.positionChanges.subscribe(function (change) {
|
|
995
|
-
var
|
|
1012
|
+
var posX = change.connectionPair.overlayX === 'start'
|
|
996
1013
|
? 'after'
|
|
997
1014
|
: change.connectionPair.overlayX === 'end'
|
|
998
1015
|
? 'before'
|
|
999
1016
|
: 'center';
|
|
1000
|
-
var
|
|
1017
|
+
var posY = change.connectionPair.overlayY === 'top'
|
|
1018
|
+
? 'below'
|
|
1019
|
+
: change.connectionPair.overlayY === 'bottom'
|
|
1020
|
+
? 'above'
|
|
1021
|
+
: 'center';
|
|
1022
|
+
var pos = _this.popover.position[0] === 'above' || _this.popover.position[0] === 'below'
|
|
1023
|
+
? [posY, posX]
|
|
1024
|
+
: [posX, posY];
|
|
1001
1025
|
// required for ChangeDetectionStrategy.OnPush
|
|
1002
1026
|
_this._changeDetectorRef.markForCheck();
|
|
1003
1027
|
_this.popover.zone.run(function () {
|
|
1004
|
-
_this.popover.
|
|
1005
|
-
_this.popover.
|
|
1006
|
-
_this.popover.setCurrentStyles();
|
|
1007
|
-
_this.popover.setPositionClasses(posisionX, posisionY);
|
|
1028
|
+
_this.popover.setCurrentStyles(pos);
|
|
1029
|
+
_this.popover.setPositionClasses(pos);
|
|
1008
1030
|
});
|
|
1009
1031
|
});
|
|
1010
1032
|
};
|
|
@@ -1014,24 +1036,36 @@
|
|
|
1014
1036
|
* @returns ConnectedPositionStrategy
|
|
1015
1037
|
*/
|
|
1016
1038
|
MtxPopoverTrigger.prototype._getPosition = function () {
|
|
1017
|
-
var _a = __read(this.popover.
|
|
1018
|
-
? ['
|
|
1019
|
-
: this.popover.
|
|
1020
|
-
? ['
|
|
1039
|
+
var _a = __read(this.popover.position[0] === 'before' || this.popover.position[1] === 'after'
|
|
1040
|
+
? ['start', 'center', 'end']
|
|
1041
|
+
: this.popover.position[0] === 'after' || this.popover.position[1] === 'before'
|
|
1042
|
+
? ['end', 'center', 'start']
|
|
1021
1043
|
: ['center', 'start', 'end'], 3), originX = _a[0], origin2ndX = _a[1], origin3rdX = _a[2];
|
|
1022
|
-
var _b = __read(this.popover.
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1044
|
+
var _b = __read(this.popover.position[0] === 'above' || this.popover.position[1] === 'below'
|
|
1045
|
+
? ['top', 'center', 'bottom']
|
|
1046
|
+
: this.popover.position[0] === 'below' || this.popover.position[1] === 'above'
|
|
1047
|
+
? ['bottom', 'center', 'top']
|
|
1048
|
+
: ['center', 'top', 'bottom'], 3), originY = _b[0], origin2ndY = _b[1], origin3rdY = _b[2];
|
|
1049
|
+
var _c = __read(this.popover.position[0] === 'below' || this.popover.position[0] === 'above'
|
|
1050
|
+
? [originX, originX]
|
|
1051
|
+
: this.popover.position[0] === 'before'
|
|
1052
|
+
? ['end', 'start']
|
|
1053
|
+
: ['start', 'end'], 2), overlayX = _c[0], overlayFallbackX = _c[1];
|
|
1054
|
+
var _d = __read(this.popover.position[0] === 'before' || this.popover.position[0] === 'after'
|
|
1055
|
+
? [originY, originY]
|
|
1056
|
+
: this.popover.position[0] === 'below'
|
|
1057
|
+
? ['top', 'bottom']
|
|
1058
|
+
: ['bottom', 'top'], 2), overlayY = _d[0], overlayFallbackY = _d[1];
|
|
1059
|
+
var originFallbackX = overlayX;
|
|
1060
|
+
var originFallbackY = overlayY;
|
|
1027
1061
|
var offsetX = this.popover.xOffset && !isNaN(Number(this.popover.xOffset))
|
|
1028
|
-
? Number(this.popover.xOffset)
|
|
1062
|
+
? Number(this.dir === 'ltr' ? this.popover.xOffset : -this.popover.xOffset)
|
|
1029
1063
|
: 0;
|
|
1030
1064
|
var offsetY = this.popover.yOffset && !isNaN(Number(this.popover.yOffset))
|
|
1031
1065
|
? Number(this.popover.yOffset)
|
|
1032
1066
|
: 0;
|
|
1033
1067
|
/**
|
|
1034
|
-
* For overriding position element, when mtxPopoverTargetAt has a valid element reference.
|
|
1068
|
+
* For overriding position element, when `mtxPopoverTargetAt` has a valid element reference.
|
|
1035
1069
|
* Useful for sticking popover to parent element and offsetting arrow to trigger element.
|
|
1036
1070
|
* If undefined defaults to the trigger element reference.
|
|
1037
1071
|
*/
|
|
@@ -1040,54 +1074,68 @@
|
|
|
1040
1074
|
this.popover.containerPositioning = true;
|
|
1041
1075
|
element = this.targetElement._elementRef;
|
|
1042
1076
|
}
|
|
1077
|
+
var positions = [{ originX: originX, originY: originY, overlayX: overlayX, overlayY: overlayY }];
|
|
1078
|
+
if (this.popover.position[0] === 'above' || this.popover.position[0] === 'below') {
|
|
1079
|
+
positions = [
|
|
1080
|
+
{ originX: originX, originY: originY, overlayX: overlayX, overlayY: overlayY, offsetY: offsetY },
|
|
1081
|
+
{ originX: origin2ndX, originY: originY, overlayX: origin2ndX, overlayY: overlayY, offsetY: offsetY },
|
|
1082
|
+
{ originX: origin3rdX, originY: originY, overlayX: origin3rdX, overlayY: overlayY, offsetY: offsetY },
|
|
1083
|
+
{
|
|
1084
|
+
originX: originX,
|
|
1085
|
+
originY: originFallbackY,
|
|
1086
|
+
overlayX: overlayX,
|
|
1087
|
+
overlayY: overlayFallbackY,
|
|
1088
|
+
offsetY: -offsetY,
|
|
1089
|
+
},
|
|
1090
|
+
{
|
|
1091
|
+
originX: origin2ndX,
|
|
1092
|
+
originY: originFallbackY,
|
|
1093
|
+
overlayX: origin2ndX,
|
|
1094
|
+
overlayY: overlayFallbackY,
|
|
1095
|
+
offsetY: -offsetY,
|
|
1096
|
+
},
|
|
1097
|
+
{
|
|
1098
|
+
originX: origin3rdX,
|
|
1099
|
+
originY: originFallbackY,
|
|
1100
|
+
overlayX: origin3rdX,
|
|
1101
|
+
overlayY: overlayFallbackY,
|
|
1102
|
+
offsetY: -offsetY,
|
|
1103
|
+
},
|
|
1104
|
+
];
|
|
1105
|
+
}
|
|
1106
|
+
if (this.popover.position[0] === 'before' || this.popover.position[0] === 'after') {
|
|
1107
|
+
positions = [
|
|
1108
|
+
{ originX: originX, originY: originY, overlayX: overlayX, overlayY: overlayY, offsetX: offsetX },
|
|
1109
|
+
{ originX: originX, originY: origin2ndY, overlayX: overlayX, overlayY: origin2ndY, offsetX: offsetX },
|
|
1110
|
+
{ originX: originX, originY: origin3rdY, overlayX: overlayX, overlayY: origin3rdY, offsetX: offsetX },
|
|
1111
|
+
{
|
|
1112
|
+
originX: originFallbackX,
|
|
1113
|
+
originY: originY,
|
|
1114
|
+
overlayX: overlayFallbackX,
|
|
1115
|
+
overlayY: overlayY,
|
|
1116
|
+
offsetX: -offsetX,
|
|
1117
|
+
},
|
|
1118
|
+
{
|
|
1119
|
+
originX: originFallbackX,
|
|
1120
|
+
originY: origin2ndY,
|
|
1121
|
+
overlayX: overlayFallbackX,
|
|
1122
|
+
overlayY: origin2ndY,
|
|
1123
|
+
offsetX: -offsetX,
|
|
1124
|
+
},
|
|
1125
|
+
{
|
|
1126
|
+
originX: originFallbackX,
|
|
1127
|
+
originY: origin3rdY,
|
|
1128
|
+
overlayX: overlayFallbackX,
|
|
1129
|
+
overlayY: origin3rdY,
|
|
1130
|
+
offsetX: -offsetX,
|
|
1131
|
+
},
|
|
1132
|
+
];
|
|
1133
|
+
}
|
|
1043
1134
|
return this._overlay
|
|
1044
1135
|
.position()
|
|
1045
1136
|
.flexibleConnectedTo(element)
|
|
1046
|
-
.withLockedPosition(
|
|
1047
|
-
.withPositions(
|
|
1048
|
-
{
|
|
1049
|
-
originX: originX,
|
|
1050
|
-
originY: originY,
|
|
1051
|
-
overlayX: overlayX,
|
|
1052
|
-
overlayY: overlayY,
|
|
1053
|
-
offsetY: offsetY,
|
|
1054
|
-
},
|
|
1055
|
-
{
|
|
1056
|
-
originX: origin2ndX,
|
|
1057
|
-
originY: originY,
|
|
1058
|
-
overlayX: origin2ndX,
|
|
1059
|
-
overlayY: overlayY,
|
|
1060
|
-
offsetY: offsetY,
|
|
1061
|
-
},
|
|
1062
|
-
{
|
|
1063
|
-
originX: originX,
|
|
1064
|
-
originY: originFallbackY,
|
|
1065
|
-
overlayX: overlayX,
|
|
1066
|
-
overlayY: overlayFallbackY,
|
|
1067
|
-
offsetY: -offsetY,
|
|
1068
|
-
},
|
|
1069
|
-
{
|
|
1070
|
-
originX: origin2ndX,
|
|
1071
|
-
originY: originFallbackY,
|
|
1072
|
-
overlayX: origin2ndX,
|
|
1073
|
-
overlayY: overlayFallbackY,
|
|
1074
|
-
offsetY: -offsetY,
|
|
1075
|
-
},
|
|
1076
|
-
{
|
|
1077
|
-
originX: origin3rdX,
|
|
1078
|
-
originY: originY,
|
|
1079
|
-
overlayX: origin3rdX,
|
|
1080
|
-
overlayY: overlayY,
|
|
1081
|
-
offsetY: offsetY,
|
|
1082
|
-
},
|
|
1083
|
-
{
|
|
1084
|
-
originX: origin3rdX,
|
|
1085
|
-
originY: originFallbackY,
|
|
1086
|
-
overlayX: origin3rdX,
|
|
1087
|
-
overlayY: overlayFallbackY,
|
|
1088
|
-
offsetY: -offsetY,
|
|
1089
|
-
},
|
|
1090
|
-
])
|
|
1137
|
+
.withLockedPosition()
|
|
1138
|
+
.withPositions(positions)
|
|
1091
1139
|
.withDefaultOffsetX(offsetX)
|
|
1092
1140
|
.withDefaultOffsetY(offsetY);
|
|
1093
1141
|
};
|