design-angular-kit 0.12.0 → 1.0.0-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +61 -31
- package/esm2020/design-angular-kit.mjs +5 -0
- package/esm2020/lib/badge/badge.directive.mjs +83 -0
- package/esm2020/lib/breadcrumb/breadcrumb-item.component.mjs +66 -0
- package/esm2020/lib/breadcrumb/breadcrumb.component.mjs +89 -0
- package/esm2020/lib/button/button.directive.mjs +185 -0
- package/esm2020/lib/button/button.module.mjs +18 -0
- package/esm2020/lib/checkbox/checkbox.component.mjs +138 -0
- package/esm2020/lib/collapse/collapse-group.component.mjs +57 -0
- package/esm2020/lib/collapse/collapse-item.component.mjs +79 -0
- package/esm2020/lib/collapse/collapse.config.mjs +12 -0
- package/esm2020/lib/collapse/collapse.directive.mjs +55 -0
- package/esm2020/lib/collapse/collapse.module.mjs +22 -0
- package/esm2020/lib/design-angular-kit.module.mjs +142 -0
- package/esm2020/lib/dropdown/dropdown-divider.component.mjs +11 -0
- package/esm2020/lib/dropdown/dropdown-item.component.mjs +97 -0
- package/esm2020/lib/dropdown/dropdown.component.mjs +143 -0
- package/esm2020/lib/dropdown/dropdown.config.mjs +12 -0
- package/esm2020/lib/dropdown/dropdown.directive.mjs +156 -0
- package/esm2020/lib/dropdown/dropdown.module.mjs +25 -0
- package/esm2020/lib/enums/icons.enum.mjs +27 -0
- package/esm2020/lib/form-input/form-input-password.utils.mjs +154 -0
- package/esm2020/lib/form-input/form-input.component.mjs +495 -0
- package/esm2020/lib/form-input/it-prefix.directive.mjs +13 -0
- package/esm2020/lib/form-input/it-suffix.directive.mjs +13 -0
- package/esm2020/lib/form-input/it-text-prefix.directive.mjs +13 -0
- package/esm2020/lib/form-input/it-text-suffix.directive.mjs +13 -0
- package/esm2020/lib/form-input/mark-matching-text.pipe.mjs +36 -0
- package/esm2020/lib/icon/icon.component.mjs +87 -0
- package/esm2020/lib/icon/icon.module.mjs +18 -0
- package/esm2020/lib/models/Alignment.mjs +15 -0
- package/esm2020/lib/models/ButtonSize.mjs +15 -0
- package/esm2020/lib/models/InputType.mjs +44 -0
- package/esm2020/lib/models/ThemeColor.mjs +30 -0
- package/esm2020/lib/popover/popover.config.mjs +17 -0
- package/esm2020/lib/popover/popover.directive.mjs +33 -0
- package/esm2020/lib/popover/popover.module.mjs +19 -0
- package/esm2020/lib/progress-bar/progress-bar.component.mjs +98 -0
- package/esm2020/lib/radio/radio.component.mjs +287 -0
- package/esm2020/lib/radio/unique-selection-dispatcher.mjs +55 -0
- package/esm2020/lib/tabs/tab-group.component.mjs +177 -0
- package/esm2020/lib/tabs/tab.component.mjs +73 -0
- package/esm2020/lib/tabs/tabs.module.mjs +20 -0
- package/esm2020/lib/toggle/toggle.component.mjs +86 -0
- package/esm2020/lib/tooltip/tooltip.config.mjs +17 -0
- package/esm2020/lib/tooltip/tooltip.directive.mjs +43 -0
- package/esm2020/lib/tooltip/tooltip.module.mjs +19 -0
- package/esm2020/lib/util/focus-mouse.directive.mjs +32 -0
- package/esm2020/lib/util/util.mjs +12 -0
- package/esm2020/lib/util/utils.module.mjs +16 -0
- package/esm2020/public_api.mjs +40 -0
- package/fesm2015/design-angular-kit.mjs +3181 -0
- package/fesm2015/design-angular-kit.mjs.map +1 -0
- package/fesm2020/design-angular-kit.mjs +3160 -0
- package/fesm2020/design-angular-kit.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/badge/badge.directive.d.ts +11 -5
- package/lib/breadcrumb/breadcrumb-item.component.d.ts +16 -5
- package/lib/breadcrumb/breadcrumb.component.d.ts +12 -5
- package/lib/button/button.directive.d.ts +72 -0
- package/lib/button/button.module.d.ts +8 -0
- package/lib/checkbox/checkbox.component.d.ts +25 -5
- package/lib/collapse/collapse-group.component.d.ts +16 -0
- package/lib/collapse/collapse-item.component.d.ts +46 -0
- package/lib/collapse/collapse.config.d.ts +6 -0
- package/lib/collapse/collapse.directive.d.ts +25 -0
- package/lib/collapse/collapse.module.d.ts +12 -0
- package/lib/design-angular-kit.module.d.ts +27 -0
- package/lib/dropdown/dropdown-divider.component.d.ts +3 -0
- package/lib/dropdown/dropdown-item.component.d.ts +22 -8
- package/lib/dropdown/dropdown.component.d.ts +34 -26
- package/lib/dropdown/dropdown.config.d.ts +6 -0
- package/lib/dropdown/dropdown.directive.d.ts +77 -0
- package/lib/dropdown/dropdown.module.d.ts +15 -0
- package/lib/enums/icons.enum.d.ts +23 -0
- package/lib/form-input/form-input-password.utils.d.ts +45 -0
- package/lib/form-input/form-input.component.d.ts +202 -20
- package/lib/form-input/it-prefix.directive.d.ts +5 -0
- package/lib/form-input/it-suffix.directive.d.ts +5 -0
- package/lib/form-input/it-text-prefix.directive.d.ts +5 -0
- package/lib/form-input/it-text-suffix.directive.d.ts +5 -0
- package/lib/form-input/mark-matching-text.pipe.d.ts +10 -0
- package/lib/icon/icon.component.d.ts +34 -0
- package/lib/icon/icon.module.d.ts +8 -0
- package/lib/models/Alignment.d.ts +12 -0
- package/lib/models/ButtonSize.d.ts +1 -1
- package/lib/models/InputType.d.ts +22 -1
- package/lib/models/ThemeColor.d.ts +1 -1
- package/lib/popover/popover.config.d.ts +5 -6
- package/lib/popover/popover.directive.d.ts +13 -108
- package/lib/popover/popover.module.d.ts +9 -0
- package/lib/progress-bar/progress-bar.component.d.ts +25 -19
- package/lib/radio/radio.component.d.ts +22 -10
- package/lib/radio/unique-selection-dispatcher.d.ts +3 -0
- package/lib/tabs/tab-group.component.d.ts +17 -11
- package/lib/tabs/tab.component.d.ts +6 -2
- package/lib/tabs/tabs.module.d.ts +10 -0
- package/lib/toggle/toggle.component.d.ts +9 -4
- package/lib/tooltip/tooltip.config.d.ts +7 -7
- package/lib/tooltip/tooltip.directive.d.ts +12 -92
- package/lib/tooltip/tooltip.module.d.ts +9 -0
- package/lib/util/focus-mouse.directive.d.ts +13 -0
- package/lib/util/utils.module.d.ts +7 -0
- package/package.json +34 -20
- package/public_api.d.ts +19 -2
- package/bundles/design-angular-kit.umd.js +0 -5829
- package/bundles/design-angular-kit.umd.js.map +0 -1
- package/bundles/design-angular-kit.umd.min.js +0 -31
- package/bundles/design-angular-kit.umd.min.js.map +0 -1
- package/design-angular-kit.d.ts +0 -8
- package/design-angular-kit.metadata.json +0 -1
- package/esm2015/design-angular-kit.js +0 -14
- package/esm2015/lib/badge/badge.directive.js +0 -116
- package/esm2015/lib/breadcrumb/breadcrumb-item.component.js +0 -117
- package/esm2015/lib/breadcrumb/breadcrumb.component.js +0 -128
- package/esm2015/lib/button/button.component.js +0 -165
- package/esm2015/lib/checkbox/checkbox.component.js +0 -170
- package/esm2015/lib/design-angular-kit.module.js +0 -81
- package/esm2015/lib/dropdown/dropdown-divider.component.js +0 -18
- package/esm2015/lib/dropdown/dropdown-header.component.js +0 -29
- package/esm2015/lib/dropdown/dropdown-item.component.js +0 -157
- package/esm2015/lib/dropdown/dropdown.component.js +0 -248
- package/esm2015/lib/form-input/form-input.component.js +0 -489
- package/esm2015/lib/models/ButtonSize.js +0 -25
- package/esm2015/lib/models/IconPosition.js +0 -21
- package/esm2015/lib/models/InputType.js +0 -33
- package/esm2015/lib/models/InteractionTrigger.js +0 -35
- package/esm2015/lib/models/ThemeColor.js +0 -45
- package/esm2015/lib/popover/popover.component.js +0 -134
- package/esm2015/lib/popover/popover.config.js +0 -35
- package/esm2015/lib/popover/popover.directive.js +0 -433
- package/esm2015/lib/popover/popup.js +0 -105
- package/esm2015/lib/popover/positioning.js +0 -349
- package/esm2015/lib/popover/triggers.js +0 -99
- package/esm2015/lib/progress-bar/progress-bar.component.js +0 -170
- package/esm2015/lib/radio/radio.component.js +0 -526
- package/esm2015/lib/radio/unique-selection-dispatcher.js +0 -70
- package/esm2015/lib/tabs/tab-group.component.js +0 -339
- package/esm2015/lib/tabs/tab.component.js +0 -143
- package/esm2015/lib/toggle/toggle.component.js +0 -173
- package/esm2015/lib/tooltip/popup.js +0 -105
- package/esm2015/lib/tooltip/positioning.js +0 -349
- package/esm2015/lib/tooltip/tooltip.component.js +0 -77
- package/esm2015/lib/tooltip/tooltip.config.js +0 -31
- package/esm2015/lib/tooltip/tooltip.directive.js +0 -384
- package/esm2015/lib/tooltip/triggers.js +0 -99
- package/esm2015/lib/util/util.js +0 -30
- package/esm2015/public_api.js +0 -28
- package/esm5/design-angular-kit.js +0 -14
- package/esm5/lib/badge/badge.directive.js +0 -145
- package/esm5/lib/breadcrumb/breadcrumb-item.component.js +0 -135
- package/esm5/lib/breadcrumb/breadcrumb.component.js +0 -164
- package/esm5/lib/button/button.component.js +0 -221
- package/esm5/lib/checkbox/checkbox.component.js +0 -200
- package/esm5/lib/design-angular-kit.module.js +0 -85
- package/esm5/lib/dropdown/dropdown-divider.component.js +0 -20
- package/esm5/lib/dropdown/dropdown-header.component.js +0 -27
- package/esm5/lib/dropdown/dropdown-item.component.js +0 -197
- package/esm5/lib/dropdown/dropdown.component.js +0 -309
- package/esm5/lib/form-input/form-input.component.js +0 -582
- package/esm5/lib/models/ButtonSize.js +0 -25
- package/esm5/lib/models/IconPosition.js +0 -21
- package/esm5/lib/models/InputType.js +0 -33
- package/esm5/lib/models/InteractionTrigger.js +0 -35
- package/esm5/lib/models/ThemeColor.js +0 -45
- package/esm5/lib/popover/popover.component.js +0 -144
- package/esm5/lib/popover/popover.config.js +0 -37
- package/esm5/lib/popover/popover.directive.js +0 -573
- package/esm5/lib/popover/popup.js +0 -116
- package/esm5/lib/popover/positioning.js +0 -446
- package/esm5/lib/popover/triggers.js +0 -115
- package/esm5/lib/progress-bar/progress-bar.component.js +0 -218
- package/esm5/lib/radio/radio.component.js +0 -610
- package/esm5/lib/radio/unique-selection-dispatcher.js +0 -108
- package/esm5/lib/tabs/tab-group.component.js +0 -401
- package/esm5/lib/tabs/tab.component.js +0 -156
- package/esm5/lib/toggle/toggle.component.js +0 -200
- package/esm5/lib/tooltip/popup.js +0 -116
- package/esm5/lib/tooltip/positioning.js +0 -446
- package/esm5/lib/tooltip/tooltip.component.js +0 -80
- package/esm5/lib/tooltip/tooltip.config.js +0 -33
- package/esm5/lib/tooltip/tooltip.directive.js +0 -516
- package/esm5/lib/tooltip/triggers.js +0 -115
- package/esm5/lib/util/util.js +0 -48
- package/esm5/public_api.js +0 -28
- package/fesm2015/design-angular-kit.js +0 -4751
- package/fesm2015/design-angular-kit.js.map +0 -1
- package/fesm5/design-angular-kit.js +0 -5867
- package/fesm5/design-angular-kit.js.map +0 -1
- package/lib/button/button.component.d.ts +0 -50
- package/lib/dropdown/dropdown-header.component.d.ts +0 -3
- package/lib/models/IconPosition.d.ts +0 -9
- package/lib/models/InteractionTrigger.d.ts +0 -19
- package/lib/popover/popover.component.d.ts +0 -25
- package/lib/popover/popup.d.ts +0 -27
- package/lib/popover/positioning.d.ts +0 -32
- package/lib/popover/triggers.d.ts +0 -18
- package/lib/tooltip/popup.d.ts +0 -27
- package/lib/tooltip/positioning.d.ts +0 -32
- package/lib/tooltip/tooltip.component.d.ts +0 -20
- package/lib/tooltip/triggers.d.ts +0 -18
|
@@ -1,384 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { Directive, Input, Output, EventEmitter, Injector, Renderer2, ElementRef, ViewContainerRef, ComponentFactoryResolver, NgZone, HostListener, } from '@angular/core';
|
|
6
|
-
import { listenToTriggers } from './triggers';
|
|
7
|
-
import { positionElements } from './positioning';
|
|
8
|
-
import { PopupService } from './popup';
|
|
9
|
-
import { TooltipConfig } from './tooltip.config';
|
|
10
|
-
import { TooltipComponent } from './tooltip.component';
|
|
11
|
-
import { Util } from '../util/util';
|
|
12
|
-
import { INTERACTION_TRIGGERS } from '../models/InteractionTrigger';
|
|
13
|
-
/** @type {?} */
|
|
14
|
-
const TRIGGER = INTERACTION_TRIGGERS.HOVER;
|
|
15
|
-
/** @type {?} */
|
|
16
|
-
let identifier = 0;
|
|
17
|
-
/**
|
|
18
|
-
* Una direttiva per la creazione di un tooltip.
|
|
19
|
-
*/
|
|
20
|
-
export class TooltipDirective {
|
|
21
|
-
/**
|
|
22
|
-
* @param {?} _elementRef
|
|
23
|
-
* @param {?} _renderer
|
|
24
|
-
* @param {?} injector
|
|
25
|
-
* @param {?} componentFactoryResolver
|
|
26
|
-
* @param {?} viewContainerRef
|
|
27
|
-
* @param {?} config
|
|
28
|
-
* @param {?} ngZone
|
|
29
|
-
*/
|
|
30
|
-
constructor(_elementRef, _renderer, injector, componentFactoryResolver, viewContainerRef, config, ngZone) {
|
|
31
|
-
this._elementRef = _elementRef;
|
|
32
|
-
this._renderer = _renderer;
|
|
33
|
-
this._showEvent = new EventEmitter();
|
|
34
|
-
this._shownEvent = new EventEmitter();
|
|
35
|
-
this._insertedEvent = new EventEmitter();
|
|
36
|
-
this._hideEvent = new EventEmitter();
|
|
37
|
-
this._hiddenEvent = new EventEmitter();
|
|
38
|
-
this._disableTooltip = false;
|
|
39
|
-
this._itTooltipWindowId = `it-tooltip-${identifier++}`;
|
|
40
|
-
this.placement = config.placement;
|
|
41
|
-
this.container = config.container;
|
|
42
|
-
this.disableTooltip = config.disableTooltip;
|
|
43
|
-
this._popupService = new PopupService(TooltipComponent, injector, viewContainerRef, _renderer, componentFactoryResolver);
|
|
44
|
-
this._zoneSubscription = ngZone.onStable.subscribe(() => {
|
|
45
|
-
if (this._windowRef) {
|
|
46
|
-
this._windowRef.instance.applyPlacement(positionElements(this._elementRef.nativeElement, this._windowRef.location.nativeElement, this.placement, this.container === 'body'));
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Contenuto da mostrare nel tooltip. In assenza di contenuto, il tooltip non si aprirà.
|
|
52
|
-
* @return {?}
|
|
53
|
-
*/
|
|
54
|
-
get itTooltip() { return this._itTooltip; }
|
|
55
|
-
/**
|
|
56
|
-
* @param {?} value
|
|
57
|
-
* @return {?}
|
|
58
|
-
*/
|
|
59
|
-
set itTooltip(value) { this._itTooltip = value; }
|
|
60
|
-
/**
|
|
61
|
-
* Il collocamento accettato dal tooltip:
|
|
62
|
-
* "top", "top-left", "top-right", "bottom", "bottom-left", "bottom-right",
|
|
63
|
-
* "left", "left-top", "left-bottom", "right", "right-top", "right-bottom"
|
|
64
|
-
* ed array dei valori soprariportati.
|
|
65
|
-
* @return {?}
|
|
66
|
-
*/
|
|
67
|
-
get placement() { return this._placement; }
|
|
68
|
-
/**
|
|
69
|
-
* @param {?} value
|
|
70
|
-
* @return {?}
|
|
71
|
-
*/
|
|
72
|
-
set placement(value) { this._placement = value; }
|
|
73
|
-
/**
|
|
74
|
-
* Un selettore che specifica l'elemento in cui il tooltip dovrebbe essere aggiunto.
|
|
75
|
-
* Attualmente supporta solo "body".
|
|
76
|
-
* @return {?}
|
|
77
|
-
*/
|
|
78
|
-
get container() { return this._container; }
|
|
79
|
-
/**
|
|
80
|
-
* @param {?} value
|
|
81
|
-
* @return {?}
|
|
82
|
-
*/
|
|
83
|
-
set container(value) { this._container = value; }
|
|
84
|
-
/**
|
|
85
|
-
* Evento da emettere quando il tooltip sta per essere mostrato
|
|
86
|
-
* @return {?}
|
|
87
|
-
*/
|
|
88
|
-
get showEvent() { return this._showEvent; }
|
|
89
|
-
/**
|
|
90
|
-
* @param {?} value
|
|
91
|
-
* @return {?}
|
|
92
|
-
*/
|
|
93
|
-
set showEvent(value) { this._showEvent = value; }
|
|
94
|
-
/**
|
|
95
|
-
* Evento da emettere quando il tooltip è mostrato
|
|
96
|
-
* @return {?}
|
|
97
|
-
*/
|
|
98
|
-
get shownEvent() { return this._shownEvent; }
|
|
99
|
-
/**
|
|
100
|
-
* @param {?} value
|
|
101
|
-
* @return {?}
|
|
102
|
-
*/
|
|
103
|
-
set shownEvent(value) { this._shownEvent = value; }
|
|
104
|
-
/**
|
|
105
|
-
* Evento da emettere quando il tooltip viene inserito nel DOM
|
|
106
|
-
* @return {?}
|
|
107
|
-
*/
|
|
108
|
-
get insertedEvent() { return this._insertedEvent; }
|
|
109
|
-
/**
|
|
110
|
-
* @param {?} value
|
|
111
|
-
* @return {?}
|
|
112
|
-
*/
|
|
113
|
-
set insertedEvent(value) { this._insertedEvent = value; }
|
|
114
|
-
/**
|
|
115
|
-
* Evento da emettere quando il tooltip sta per essere nascosto
|
|
116
|
-
* @return {?}
|
|
117
|
-
*/
|
|
118
|
-
get hideEvent() { return this._hideEvent; }
|
|
119
|
-
/**
|
|
120
|
-
* @param {?} value
|
|
121
|
-
* @return {?}
|
|
122
|
-
*/
|
|
123
|
-
set hideEvent(value) { this._hideEvent = value; }
|
|
124
|
-
/**
|
|
125
|
-
* Evento da emettere quando il tooltip è nascosto
|
|
126
|
-
* @return {?}
|
|
127
|
-
*/
|
|
128
|
-
get hiddenEvent() { return this._hiddenEvent; }
|
|
129
|
-
/**
|
|
130
|
-
* @param {?} value
|
|
131
|
-
* @return {?}
|
|
132
|
-
*/
|
|
133
|
-
set hiddenEvent(value) { this._hiddenEvent = value; }
|
|
134
|
-
/**
|
|
135
|
-
* Un flag utilizzato per indicare se un tooltip è disabilitato, così da non doverlo mostrare.
|
|
136
|
-
* @return {?}
|
|
137
|
-
*/
|
|
138
|
-
get disableTooltip() { return this._disableTooltip; }
|
|
139
|
-
/**
|
|
140
|
-
* @param {?} value
|
|
141
|
-
* @return {?}
|
|
142
|
-
*/
|
|
143
|
-
set disableTooltip(value) { this._disableTooltip = Util.coerceBooleanProperty(value); }
|
|
144
|
-
/**
|
|
145
|
-
* @return {?}
|
|
146
|
-
*/
|
|
147
|
-
_isDisabled() {
|
|
148
|
-
if (this.disableTooltip) {
|
|
149
|
-
return true;
|
|
150
|
-
}
|
|
151
|
-
if (!this.itTooltip) {
|
|
152
|
-
return true;
|
|
153
|
-
}
|
|
154
|
-
return false;
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Apre il tooltip di un elemento. È considerato un azionamento "manuale" del tooltip.
|
|
158
|
-
* Il context è un valore opzionale da iniettare nel template del tooltip quando esso viene creato.
|
|
159
|
-
* @param {?=} context
|
|
160
|
-
* @return {?}
|
|
161
|
-
*/
|
|
162
|
-
show(context) {
|
|
163
|
-
if (!this._isDisabled()) {
|
|
164
|
-
// Scatena l'evento per segnalare l'inizio del processo per visualizzare il tooltip
|
|
165
|
-
this.showEvent.emit(this);
|
|
166
|
-
if (!this._windowRef) {
|
|
167
|
-
this._windowRef = this._popupService.open(this.itTooltip, context);
|
|
168
|
-
/** @type {?} */
|
|
169
|
-
const tooltipComponent = this._windowRef.instance;
|
|
170
|
-
tooltipComponent.id = this._itTooltipWindowId;
|
|
171
|
-
this._renderer.setAttribute(this._elementRef.nativeElement, 'aria-describedby', this._itTooltipWindowId);
|
|
172
|
-
if (this.container === 'body') {
|
|
173
|
-
window.document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement);
|
|
174
|
-
}
|
|
175
|
-
this._windowRef.changeDetectorRef.detectChanges();
|
|
176
|
-
this._windowRef.changeDetectorRef.markForCheck();
|
|
177
|
-
// Posiziona il tooltip attorno all'elemento
|
|
178
|
-
tooltipComponent.applyPlacement(positionElements(this._elementRef.nativeElement, this._windowRef.location.nativeElement, this.placement, this.container === 'body'));
|
|
179
|
-
// Scatena l'evento per segnalare l'inserimento nel DOM
|
|
180
|
-
this.insertedEvent.emit(this);
|
|
181
|
-
}
|
|
182
|
-
else {
|
|
183
|
-
/** @type {?} */
|
|
184
|
-
const tooltipComponent = this._windowRef.instance;
|
|
185
|
-
tooltipComponent.hidden = false;
|
|
186
|
-
}
|
|
187
|
-
// Scatena l'evento per segnalare che il tooltip è stato visualizzato
|
|
188
|
-
this.shownEvent.emit(this);
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* Chiude il tooltip di un elemento. È considerato un azionamento "manuale" del tooltip.
|
|
193
|
-
* @return {?}
|
|
194
|
-
*/
|
|
195
|
-
hide() {
|
|
196
|
-
// Scatena l'evento per segnalare l'inizio del processo per nascondere il tooltip
|
|
197
|
-
this.hideEvent.emit(this);
|
|
198
|
-
if (this._windowRef) {
|
|
199
|
-
/** @type {?} */
|
|
200
|
-
const tooltipComponent = this._windowRef.instance;
|
|
201
|
-
tooltipComponent.hidden = true;
|
|
202
|
-
// Scatena l'evento per segnalare che il tooltip è stato nascosto
|
|
203
|
-
this.hiddenEvent.emit(this);
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
/**
|
|
207
|
-
* Apre/chiude il un tooltip di un elemento. È considerato un azionamento "manuale" del tooltip.
|
|
208
|
-
* @return {?}
|
|
209
|
-
*/
|
|
210
|
-
toggle() {
|
|
211
|
-
if (this._windowRef) {
|
|
212
|
-
if (this._windowRef.instance.hidden) {
|
|
213
|
-
this.show();
|
|
214
|
-
}
|
|
215
|
-
else {
|
|
216
|
-
this.hide();
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
else {
|
|
220
|
-
this.show();
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* Nasconde e distrugge il tooltip di un elemento.
|
|
225
|
-
* @return {?}
|
|
226
|
-
*/
|
|
227
|
-
dispose() {
|
|
228
|
-
/** @type {?} */
|
|
229
|
-
const isShown = this._windowRef ? !this._windowRef.instance.hidden : false;
|
|
230
|
-
if (isShown) {
|
|
231
|
-
this.hide();
|
|
232
|
-
}
|
|
233
|
-
if (this._windowRef) {
|
|
234
|
-
this._renderer.removeAttribute(this._elementRef.nativeElement, 'aria-describedby');
|
|
235
|
-
this._popupService.close();
|
|
236
|
-
this._windowRef = null;
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* Fornisce al tooltip di un elemento la possibilità di essere mostrato.
|
|
241
|
-
* @return {?}
|
|
242
|
-
*/
|
|
243
|
-
enable() {
|
|
244
|
-
if (this._isDisabled()) {
|
|
245
|
-
this.disableTooltip = false;
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
/**
|
|
249
|
-
* Rimuove la capacità di mostrare il tooltip di un elemento.
|
|
250
|
-
* @return {?}
|
|
251
|
-
*/
|
|
252
|
-
disable() {
|
|
253
|
-
if (!this._isDisabled()) {
|
|
254
|
-
this.disableTooltip = true;
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
/**
|
|
258
|
-
* Attiva/disattiva la possibilità che il tooltip di un elemento sia mostrato o nascosto.
|
|
259
|
-
* @return {?}
|
|
260
|
-
*/
|
|
261
|
-
toggleEnabled() {
|
|
262
|
-
if (this._isDisabled()) {
|
|
263
|
-
this.enable();
|
|
264
|
-
}
|
|
265
|
-
else {
|
|
266
|
-
this.disable();
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
/**
|
|
270
|
-
* @return {?}
|
|
271
|
-
*/
|
|
272
|
-
ngOnInit() {
|
|
273
|
-
this._unregisterListenersFn = listenToTriggers(this._renderer, this._elementRef.nativeElement, TRIGGER, this.show.bind(this), this.hide.bind(this), this.toggle.bind(this));
|
|
274
|
-
}
|
|
275
|
-
/**
|
|
276
|
-
* @param {?} changes
|
|
277
|
-
* @return {?}
|
|
278
|
-
*/
|
|
279
|
-
ngOnChanges(changes) {
|
|
280
|
-
// Chiude il tooltip se il contenuto risulta vuoto, o se disableTooltip è impostato a vero
|
|
281
|
-
if ((changes['itTooltip'] || changes['disableTooltip']) && this._isDisabled()) {
|
|
282
|
-
this.hide();
|
|
283
|
-
}
|
|
284
|
-
else if (changes['placement']) {
|
|
285
|
-
if (this._windowRef) {
|
|
286
|
-
this._windowRef.instance.applyPlacement(positionElements(this._elementRef.nativeElement, this._windowRef.location.nativeElement, this.placement, this.container === 'body'));
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
else if (changes['container']) {
|
|
290
|
-
/** @type {?} */
|
|
291
|
-
const isShown = this._windowRef ? !this._windowRef.instance.hidden : false;
|
|
292
|
-
this.dispose();
|
|
293
|
-
if (isShown) {
|
|
294
|
-
this.show();
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
/**
|
|
299
|
-
* @return {?}
|
|
300
|
-
*/
|
|
301
|
-
ngOnDestroy() {
|
|
302
|
-
this.dispose();
|
|
303
|
-
this._unregisterListenersFn();
|
|
304
|
-
this._zoneSubscription.unsubscribe();
|
|
305
|
-
}
|
|
306
|
-
/**
|
|
307
|
-
* @return {?}
|
|
308
|
-
*/
|
|
309
|
-
handleFocus() {
|
|
310
|
-
this.show();
|
|
311
|
-
}
|
|
312
|
-
/**
|
|
313
|
-
* @return {?}
|
|
314
|
-
*/
|
|
315
|
-
handleBlur() {
|
|
316
|
-
this.hide();
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
TooltipDirective.decorators = [
|
|
320
|
-
{ type: Directive, args: [{
|
|
321
|
-
selector: '[it-tooltip]',
|
|
322
|
-
// tslint:disable-line
|
|
323
|
-
exportAs: 'it-tooltip'
|
|
324
|
-
},] },
|
|
325
|
-
];
|
|
326
|
-
/** @nocollapse */
|
|
327
|
-
TooltipDirective.ctorParameters = () => [
|
|
328
|
-
{ type: ElementRef },
|
|
329
|
-
{ type: Renderer2 },
|
|
330
|
-
{ type: Injector },
|
|
331
|
-
{ type: ComponentFactoryResolver },
|
|
332
|
-
{ type: ViewContainerRef },
|
|
333
|
-
{ type: TooltipConfig },
|
|
334
|
-
{ type: NgZone }
|
|
335
|
-
];
|
|
336
|
-
TooltipDirective.propDecorators = {
|
|
337
|
-
itTooltip: [{ type: Input, args: ['it-tooltip',] }],
|
|
338
|
-
placement: [{ type: Input }],
|
|
339
|
-
container: [{ type: Input }],
|
|
340
|
-
showEvent: [{ type: Output, args: ['show',] }],
|
|
341
|
-
shownEvent: [{ type: Output, args: ['shown',] }],
|
|
342
|
-
insertedEvent: [{ type: Output, args: ['inserted',] }],
|
|
343
|
-
hideEvent: [{ type: Output, args: ['hide',] }],
|
|
344
|
-
hiddenEvent: [{ type: Output, args: ['hidden',] }],
|
|
345
|
-
disableTooltip: [{ type: Input, args: ['disabled',] }],
|
|
346
|
-
handleFocus: [{ type: HostListener, args: ['focus',] }],
|
|
347
|
-
handleBlur: [{ type: HostListener, args: ['blur',] }]
|
|
348
|
-
};
|
|
349
|
-
if (false) {
|
|
350
|
-
/** @type {?} */
|
|
351
|
-
TooltipDirective.prototype._itTooltip;
|
|
352
|
-
/** @type {?} */
|
|
353
|
-
TooltipDirective.prototype._placement;
|
|
354
|
-
/** @type {?} */
|
|
355
|
-
TooltipDirective.prototype._container;
|
|
356
|
-
/** @type {?} */
|
|
357
|
-
TooltipDirective.prototype._showEvent;
|
|
358
|
-
/** @type {?} */
|
|
359
|
-
TooltipDirective.prototype._shownEvent;
|
|
360
|
-
/** @type {?} */
|
|
361
|
-
TooltipDirective.prototype._insertedEvent;
|
|
362
|
-
/** @type {?} */
|
|
363
|
-
TooltipDirective.prototype._hideEvent;
|
|
364
|
-
/** @type {?} */
|
|
365
|
-
TooltipDirective.prototype._hiddenEvent;
|
|
366
|
-
/** @type {?} */
|
|
367
|
-
TooltipDirective.prototype._disableTooltip;
|
|
368
|
-
/** @type {?} */
|
|
369
|
-
TooltipDirective.prototype._itTooltipWindowId;
|
|
370
|
-
/** @type {?} */
|
|
371
|
-
TooltipDirective.prototype._popupService;
|
|
372
|
-
/** @type {?} */
|
|
373
|
-
TooltipDirective.prototype._windowRef;
|
|
374
|
-
/** @type {?} */
|
|
375
|
-
TooltipDirective.prototype._unregisterListenersFn;
|
|
376
|
-
/** @type {?} */
|
|
377
|
-
TooltipDirective.prototype._zoneSubscription;
|
|
378
|
-
/** @type {?} */
|
|
379
|
-
TooltipDirective.prototype._elementRef;
|
|
380
|
-
/** @type {?} */
|
|
381
|
-
TooltipDirective.prototype._renderer;
|
|
382
|
-
}
|
|
383
|
-
|
|
384
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9kZXNpZ24tYW5ndWxhci1raXQvIiwic291cmNlcyI6WyJsaWIvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBT0EsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFJWixRQUFRLEVBQ1IsU0FBUyxFQUVULFVBQVUsRUFFVixnQkFBZ0IsRUFDaEIsd0JBQXdCLEVBQ3hCLE1BQU0sRUFFTixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBNkIsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFFcEUsTUFBTSxPQUFPLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDOztBQUUzQyxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7Ozs7QUFTbkIsTUFBTTs7Ozs7Ozs7OztJQTRGSixZQUNZLGFBQ0EsV0FDUixRQUFrQixFQUNsQix3QkFBa0QsRUFDbEQsZ0JBQWtDLEVBQ2xDLE1BQXFCLEVBQ3JCLE1BQWM7UUFOTixnQkFBVyxHQUFYLFdBQVc7UUFDWCxjQUFTLEdBQVQsU0FBUzswQkEzREEsSUFBSSxZQUFZLEVBQW9COzJCQVFuQyxJQUFJLFlBQVksRUFBb0I7OEJBUWpDLElBQUksWUFBWSxFQUFvQjswQkFReEMsSUFB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eUJBS3BCLFlBQVksU0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEFuZ3VsYXIgbmctYm9vdHN0cmFwIHRlYW0gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcC9tYXN0ZXIvTElDRU5TRVxuICovXG5pbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25Jbml0LFxuICBPbkRlc3Ryb3ksXG4gIE9uQ2hhbmdlcyxcbiAgSW5qZWN0b3IsXG4gIFJlbmRlcmVyMixcbiAgQ29tcG9uZW50UmVmLFxuICBFbGVtZW50UmVmLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBOZ1pvbmUsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIEhvc3RMaXN0ZW5lcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGxpc3RlblRvVHJpZ2dlcnMgfSBmcm9tICcuL3RyaWdnZXJzJztcbmltcG9ydCB7IHBvc2l0aW9uRWxlbWVudHMsIFBsYWNlbWVudCwgUGxhY2VtZW50QXJyYXkgfSBmcm9tICcuL3Bvc2l0aW9uaW5nJztcbmltcG9ydCB7IFBvcHVwU2VydmljZSB9IGZyb20gJy4vcG9wdXAnO1xuaW1wb3J0IHsgVG9vbHRpcENvbmZpZyB9IGZyb20gJy4vdG9vbHRpcC5jb25maWcnO1xuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4vdG9vbHRpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBVdGlsIH0gZnJvbSAnLi4vdXRpbC91dGlsJztcbmltcG9ydCB7IElOVEVSQUNUSU9OX1RSSUdHRVJTIH0gZnJvbSAnLi4vbW9kZWxzL0ludGVyYWN0aW9uVHJpZ2dlcic7XG5cbmNvbnN0IFRSSUdHRVIgPSBJTlRFUkFDVElPTl9UUklHR0VSUy5IT1ZFUjtcblxubGV0IGlkZW50aWZpZXIgPSAwO1xuXG4vKipcbiAqIFVuYSBkaXJldHRpdmEgcGVyIGxhIGNyZWF6aW9uZSBkaSB1biB0b29sdGlwLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbaXQtdG9vbHRpcF0nLCAvLyB0c2xpbnQ6ZGlzYWJsZS1saW5lXG4gIGV4cG9ydEFzOiAnaXQtdG9vbHRpcCdcbn0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICAvKipcbiAgICogQ29udGVudXRvIGRhIG1vc3RyYXJlIG5lbCB0b29sdGlwLiBJbiBhc3NlbnphIGRpIGNvbnRlbnV0bywgaWwgdG9vbHRpcCBub24gc2kgYXByaXLDoC5cbiAgICovXG4gIEBJbnB1dCgnaXQtdG9vbHRpcCcpXG4gIGdldCBpdFRvb2x0aXAoKTogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PiB7IHJldHVybiB0aGlzLl9pdFRvb2x0aXA7IH1cbiAgc2V0IGl0VG9vbHRpcCh2YWx1ZTogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PikgeyB0aGlzLl9pdFRvb2x0aXAgPSB2YWx1ZTsgfVxuICBwcml2YXRlIF9pdFRvb2x0aXA6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgLyoqXG4gICAqIElsIGNvbGxvY2FtZW50byBhY2NldHRhdG8gZGFsIHRvb2x0aXA6XG4gICAqICAgIFwidG9wXCIsIFwidG9wLWxlZnRcIiwgXCJ0b3AtcmlnaHRcIiwgXCJib3R0b21cIiwgXCJib3R0b20tbGVmdFwiLCBcImJvdHRvbS1yaWdodFwiLFxuICAgKiAgICBcImxlZnRcIiwgXCJsZWZ0LXRvcFwiLCBcImxlZnQtYm90dG9tXCIsIFwicmlnaHRcIiwgXCJyaWdodC10b3BcIiwgXCJyaWdodC1ib3R0b21cIlxuICAgKiBlZCBhcnJheSBkZWkgdmFsb3JpIHNvcHJhcmlwb3J0YXRpLlxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IHBsYWNlbWVudCgpOiBQbGFjZW1lbnRBcnJheSB7IHJldHVybiB0aGlzLl9wbGFjZW1lbnQ7IH1cbiAgc2V0IHBsYWNlbWVudCh2YWx1ZTogUGxhY2VtZW50QXJyYXkpIHsgdGhpcy5fcGxhY2VtZW50ID0gdmFsdWU7IH1cbiAgcHJpdmF0ZSBfcGxhY2VtZW50OiBQbGFjZW1lbnRBcnJheTtcblxuICAvKipcbiAgICogVW4gc2VsZXR0b3JlIGNoZSBzcGVjaWZpY2EgbCdlbGVtZW50byBpbiBjdWkgaWwgdG9vbHRpcCBkb3ZyZWJiZSBlc3NlcmUgYWdnaXVudG8uXG4gICAqIEF0dHVhbG1lbnRlIHN1cHBvcnRhIHNvbG8gXCJib2R5XCIuXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgY29udGFpbmVyKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLl9jb250YWluZXI7IH1cbiAgc2V0IGNvbnRhaW5lcih2YWx1ZTogc3RyaW5nKSB7IHRoaXMuX2NvbnRhaW5lciA9IHZhbHVlOyB9XG4gIHByaXZhdGUgX2NvbnRhaW5lcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFdmVudG8gZGEgZW1ldHRlcmUgcXVhbmRvIGlsIHRvb2x0aXAgc3RhIHBlciBlc3NlcmUgbW9zdHJhdG9cbiAgICovXG4gIEBPdXRwdXQoJ3Nob3cnKVxuICBnZXQgc2hvd0V2ZW50KCk6IEV2ZW50RW1pdHRlcjxUb29sdGlwRGlyZWN0aXZlPiB7IHJldHVybiB0aGlzLl9zaG93RXZlbnQ7IH1cbiAgc2V0IHNob3dFdmVudCh2YWx1ZTogRXZlbnRFbWl0dGVyPFRvb2x0aXBEaXJlY3RpdmU+KSB7IHRoaXMuX3Nob3dFdmVudCA9IHZhbHVlOyB9XG4gIHByaXZhdGUgX3Nob3dFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8VG9vbHRpcERpcmVjdGl2ZT4oKTtcblxuICAvKipcbiAgICogRXZlbnRvIGRhIGVtZXR0ZXJlIHF1YW5kbyBpbCB0b29sdGlwIMOoIG1vc3RyYXRvXG4gICAqL1xuICBAT3V0cHV0KCdzaG93bicpXG4gIGdldCBzaG93bkV2ZW50KCk6IEV2ZW50RW1pdHRlcjxUb29sdGlwRGlyZWN0aXZlPiB7IHJldHVybiB0aGlzLl9zaG93bkV2ZW50OyB9XG4gIHNldCBzaG93bkV2ZW50KHZhbHVlOiBFdmVudEVtaXR0ZXI8VG9vbHRpcERpcmVjdGl2ZT4pIHsgdGhpcy5fc2hvd25FdmVudCA9IHZhbHVlOyB9XG4gIHByaXZhdGUgX3Nob3duRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFRvb2x0aXBEaXJlY3RpdmU+KCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50byBkYSBlbWV0dGVyZSBxdWFuZG8gaWwgdG9vbHRpcCB2aWVuZSBpbnNlcml0byBuZWwgRE9NXG4gICAqL1xuICBAT3V0cHV0KCdpbnNlcnRlZCcpXG4gIGdldCBpbnNlcnRlZEV2ZW50KCk6IEV2ZW50RW1pdHRlcjxUb29sdGlwRGlyZWN0aXZlPiB7IHJldHVybiB0aGlzLl9pbnNlcnRlZEV2ZW50OyB9XG4gIHNldCBpbnNlcnRlZEV2ZW50KHZhbHVlOiBFdmVudEVtaXR0ZXI8VG9vbHRpcERpcmVjdGl2ZT4pIHsgdGhpcy5faW5zZXJ0ZWRFdmVudCA9IHZhbHVlOyB9XG4gIHByaXZhdGUgX2luc2VydGVkRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFRvb2x0aXBEaXJlY3RpdmU+KCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50byBkYSBlbWV0dGVyZSBxdWFuZG8gaWwgdG9vbHRpcCBzdGEgcGVyIGVzc2VyZSBuYXNjb3N0b1xuICAgKi9cbiAgQE91dHB1dCgnaGlkZScpXG4gIGdldCBoaWRlRXZlbnQoKTogRXZlbnRFbWl0dGVyPFRvb2x0aXBEaXJlY3RpdmU+IHsgcmV0dXJuIHRoaXMuX2hpZGVFdmVudDsgfVxuICBzZXQgaGlkZUV2ZW50KHZhbHVlOiBFdmVudEVtaXR0ZXI8VG9vbHRpcERpcmVjdGl2ZT4pIHsgdGhpcy5faGlkZUV2ZW50ID0gdmFsdWU7IH1cbiAgcHJpdmF0ZSBfaGlkZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxUb29sdGlwRGlyZWN0aXZlPigpO1xuXG4gIC8qKlxuICAgKiBFdmVudG8gZGEgZW1ldHRlcmUgcXVhbmRvIGlsIHRvb2x0aXAgw6ggbmFzY29zdG9cbiAgICovXG4gIEBPdXRwdXQoJ2hpZGRlbicpXG4gIGdldCBoaWRkZW5FdmVudCgpOiBFdmVudEVtaXR0ZXI8VG9vbHRpcERpcmVjdGl2ZT4geyByZXR1cm4gdGhpcy5faGlkZGVuRXZlbnQ7IH1cbiAgc2V0IGhpZGRlbkV2ZW50KHZhbHVlOiBFdmVudEVtaXR0ZXI8VG9vbHRpcERpcmVjdGl2ZT4pIHsgdGhpcy5faGlkZGVuRXZlbnQgPSB2YWx1ZTsgfVxuICBwcml2YXRlIF9oaWRkZW5FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8VG9vbHRpcERpcmVjdGl2ZT4oKTtcblxuICAvKipcbiAgICogVW4gZmxhZyB1dGlsaXp6YXRvIHBlciBpbmRpY2FyZSBzZSB1biB0b29sdGlwIMOoIGRpc2FiaWxpdGF0bywgY29zw6wgZGEgbm9uIGRvdmVybG8gbW9zdHJhcmUuXG4gICAqL1xuICBASW5wdXQoJ2Rpc2FibGVkJylcbiAgZ2V0IGRpc2FibGVUb29sdGlwKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fZGlzYWJsZVRvb2x0aXA7IH1cbiAgc2V0IGRpc2FibGVUb29sdGlwKHZhbHVlOiBib29sZWFuKSB7IHRoaXMuX2Rpc2FibGVUb29sdGlwID0gVXRpbC5jb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gIHByaXZhdGUgX2Rpc2FibGVUb29sdGlwID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfaXRUb29sdGlwV2luZG93SWQgPSBgaXQtdG9vbHRpcC0ke2lkZW50aWZpZXIrK31gO1xuICBwcml2YXRlIF9wb3B1cFNlcnZpY2U6IFBvcHVwU2VydmljZTxUb29sdGlwQ29tcG9uZW50PjtcbiAgcHJpdmF0ZSBfd2luZG93UmVmOiBDb21wb25lbnRSZWY8VG9vbHRpcENvbXBvbmVudD47XG4gIHByaXZhdGUgX3VucmVnaXN0ZXJMaXN0ZW5lcnNGbjtcbiAgcHJpdmF0ZSBfem9uZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9pc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmRpc2FibGVUb29sdGlwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLml0VG9vbHRpcCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgY29uZmlnOiBUb29sdGlwQ29uZmlnLFxuICAgICAgbmdab25lOiBOZ1pvbmVcbiAgKSB7XG4gICAgdGhpcy5wbGFjZW1lbnQgPSBjb25maWcucGxhY2VtZW50O1xuICAgIHRoaXMuY29udGFpbmVyID0gY29uZmlnLmNvbnRhaW5lcjtcbiAgICB0aGlzLmRpc2FibGVUb29sdGlwID0gY29uZmlnLmRpc2FibGVUb29sdGlwO1xuICAgIHRoaXMuX3BvcHVwU2VydmljZSA9IG5ldyBQb3B1cFNlcnZpY2U8VG9vbHRpcENvbXBvbmVudD4oXG4gICAgICBUb29sdGlwQ29tcG9uZW50LCBpbmplY3Rvciwgdmlld0NvbnRhaW5lclJlZiwgX3JlbmRlcmVyLCBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpO1xuXG4gICAgdGhpcy5fem9uZVN1YnNjcmlwdGlvbiA9IG5nWm9uZS5vblN0YWJsZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuX3dpbmRvd1JlZikge1xuICAgICAgICB0aGlzLl93aW5kb3dSZWYuaW5zdGFuY2UuYXBwbHlQbGFjZW1lbnQoXG4gICAgICAgICAgcG9zaXRpb25FbGVtZW50cyhcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5fd2luZG93UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICB0aGlzLnBsYWNlbWVudCwgdGhpcy5jb250YWluZXIgPT09ICdib2R5J1xuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHJlIGlsIHRvb2x0aXAgZGkgdW4gZWxlbWVudG8uIMOIIGNvbnNpZGVyYXRvIHVuIGF6aW9uYW1lbnRvIFwibWFudWFsZVwiIGRlbCB0b29sdGlwLlxuICAgKiBJbCBjb250ZXh0IMOoIHVuIHZhbG9yZSBvcHppb25hbGUgZGEgaW5pZXR0YXJlIG5lbCB0ZW1wbGF0ZSBkZWwgdG9vbHRpcCBxdWFuZG8gZXNzbyB2aWVuZSBjcmVhdG8uXG4gICAqL1xuICBzaG93KGNvbnRleHQ/OiBhbnkpIHtcbiAgICBpZiAoIXRoaXMuX2lzRGlzYWJsZWQoKSkge1xuICAgICAgLy8gU2NhdGVuYSBsJ2V2ZW50byBwZXIgc2VnbmFsYXJlIGwnaW5pemlvIGRlbCBwcm9jZXNzbyBwZXIgdmlzdWFsaXp6YXJlIGlsIHRvb2x0aXBcbiAgICAgIHRoaXMuc2hvd0V2ZW50LmVtaXQodGhpcyk7XG5cbiAgICAgIGlmICghdGhpcy5fd2luZG93UmVmKSB7XG4gICAgICAgIHRoaXMuX3dpbmRvd1JlZiA9IHRoaXMuX3BvcHVwU2VydmljZS5vcGVuKHRoaXMuaXRUb29sdGlwLCBjb250ZXh0KTtcblxuICAgICAgICBjb25zdCB0b29sdGlwQ29tcG9uZW50ID0gdGhpcy5fd2luZG93UmVmLmluc3RhbmNlO1xuICAgICAgICB0b29sdGlwQ29tcG9uZW50LmlkID0gdGhpcy5faXRUb29sdGlwV2luZG93SWQ7XG5cbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2FyaWEtZGVzY3JpYmVkYnknLCB0aGlzLl9pdFRvb2x0aXBXaW5kb3dJZCk7XG5cbiAgICAgICAgaWYgKHRoaXMuY29udGFpbmVyID09PSAnYm9keScpIHtcbiAgICAgICAgICB3aW5kb3cuZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0aGlzLmNvbnRhaW5lcikuYXBwZW5kQ2hpbGQodGhpcy5fd2luZG93UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fd2luZG93UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgdGhpcy5fd2luZG93UmVmLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgICAgIC8vIFBvc2l6aW9uYSBpbCB0b29sdGlwIGF0dG9ybm8gYWxsJ2VsZW1lbnRvXG4gICAgICAgIHRvb2x0aXBDb21wb25lbnQuYXBwbHlQbGFjZW1lbnQoXG4gICAgICAgICAgcG9zaXRpb25FbGVtZW50cyhcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5fd2luZG93UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICB0aGlzLnBsYWNlbWVudCwgdGhpcy5jb250YWluZXIgPT09ICdib2R5J1xuICAgICAgICAgIClcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBTY2F0ZW5hIGwnZXZlbnRvIHBlciBzZWduYWxhcmUgbCdpbnNlcmltZW50byBuZWwgRE9NXG4gICAgICAgIHRoaXMuaW5zZXJ0ZWRFdmVudC5lbWl0KHRoaXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgdG9vbHRpcENvbXBvbmVudCA9IHRoaXMuX3dpbmRvd1JlZi5pbnN0YW5jZTtcbiAgICAgICAgdG9vbHRpcENvbXBvbmVudC5oaWRkZW4gPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgLy8gU2NhdGVuYSBsJ2V2ZW50byBwZXIgc2VnbmFsYXJlIGNoZSBpbCB0b29sdGlwIMOoIHN0YXRvIHZpc3VhbGl6emF0b1xuICAgICAgdGhpcy5zaG93bkV2ZW50LmVtaXQodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENoaXVkZSBpbCB0b29sdGlwIGRpIHVuIGVsZW1lbnRvLiDDiCBjb25zaWRlcmF0byB1biBhemlvbmFtZW50byBcIm1hbnVhbGVcIiBkZWwgdG9vbHRpcC5cbiAgICovXG4gIGhpZGUoKSB7XG4gICAgLy8gU2NhdGVuYSBsJ2V2ZW50byBwZXIgc2VnbmFsYXJlIGwnaW5pemlvIGRlbCBwcm9jZXNzbyBwZXIgbmFzY29uZGVyZSBpbCB0b29sdGlwXG4gICAgdGhpcy5oaWRlRXZlbnQuZW1pdCh0aGlzKTtcbiAgICBpZiAodGhpcy5fd2luZG93UmVmKSB7XG4gICAgICBjb25zdCB0b29sdGlwQ29tcG9uZW50ID0gdGhpcy5fd2luZG93UmVmLmluc3RhbmNlO1xuICAgICAgdG9vbHRpcENvbXBvbmVudC5oaWRkZW4gPSB0cnVlO1xuXG4gICAgICAvLyBTY2F0ZW5hIGwnZXZlbnRvIHBlciBzZWduYWxhcmUgY2hlIGlsIHRvb2x0aXAgw6ggc3RhdG8gbmFzY29zdG9cbiAgICAgIHRoaXMuaGlkZGVuRXZlbnQuZW1pdCh0aGlzKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQXByZS9jaGl1ZGUgaWwgdW4gdG9vbHRpcCBkaSB1biBlbGVtZW50by4gw4ggY29uc2lkZXJhdG8gdW4gYXppb25hbWVudG8gXCJtYW51YWxlXCIgZGVsIHRvb2x0aXAuXG4gICAqL1xuICB0b2dnbGUoKSB7XG4gICAgaWYgKHRoaXMuX3dpbmRvd1JlZikge1xuICAgICAgaWYgKHRoaXMuX3dpbmRvd1JlZi5pbnN0YW5jZS5oaWRkZW4pIHtcbiAgICAgICAgdGhpcy5zaG93KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zaG93KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE5hc2NvbmRlIGUgZGlzdHJ1Z2dlIGlsIHRvb2x0aXAgZGkgdW4gZWxlbWVudG8uXG4gICAqL1xuICBkaXNwb3NlKCkge1xuICAgIGNvbnN0IGlzU2hvd24gPSB0aGlzLl93aW5kb3dSZWYgPyAhdGhpcy5fd2luZG93UmVmLmluc3RhbmNlLmhpZGRlbiA6IGZhbHNlO1xuICAgIGlmIChpc1Nob3duKSB7XG4gICAgICB0aGlzLmhpZGUoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fd2luZG93UmVmKSB7XG4gICAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnYXJpYS1kZXNjcmliZWRieScpO1xuICAgICAgdGhpcy5fcG9wdXBTZXJ2aWNlLmNsb3NlKCk7XG4gICAgICB0aGlzLl93aW5kb3dSZWYgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGb3JuaXNjZSBhbCB0b29sdGlwIGRpIHVuIGVsZW1lbnRvIGxhIHBvc3NpYmlsaXTDoCBkaSBlc3NlcmUgbW9zdHJhdG8uXG4gICAqL1xuICBlbmFibGUoKSB7XG4gICAgaWYgKHRoaXMuX2lzRGlzYWJsZWQoKSkge1xuICAgICAgdGhpcy5kaXNhYmxlVG9vbHRpcCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSaW11b3ZlIGxhIGNhcGFjaXTDoCBkaSBtb3N0cmFyZSBpbCB0b29sdGlwIGRpIHVuIGVsZW1lbnRvLlxuICAgKi9cbiAgZGlzYWJsZSgpIHtcbiAgICBpZiAoIXRoaXMuX2lzRGlzYWJsZWQoKSkge1xuICAgICAgdGhpcy5kaXNhYmxlVG9vbHRpcCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEF0dGl2YS9kaXNhdHRpdmEgbGEgcG9zc2liaWxpdMOgIGNoZSBpbCB0b29sdGlwIGRpIHVuIGVsZW1lbnRvIHNpYSBtb3N0cmF0byBvIG5hc2Nvc3RvLlxuICAgKi9cbiAgdG9nZ2xlRW5hYmxlZCgpIHtcbiAgICBpZiAodGhpcy5faXNEaXNhYmxlZCgpKSB7XG4gICAgICB0aGlzLmVuYWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRpc2FibGUoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLl91bnJlZ2lzdGVyTGlzdGVuZXJzRm4gPSBsaXN0ZW5Ub1RyaWdnZXJzKFxuICAgICAgdGhpcy5fcmVuZGVyZXIsIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgVFJJR0dFUixcbiAgICAgIHRoaXMuc2hvdy5iaW5kKHRoaXMpLCB0aGlzLmhpZGUuYmluZCh0aGlzKSwgdGhpcy50b2dnbGUuYmluZCh0aGlzKVxuICAgICk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgLy8gQ2hpdWRlIGlsIHRvb2x0aXAgc2UgaWwgY29udGVudXRvIHJpc3VsdGEgdnVvdG8sIG8gc2UgZGlzYWJsZVRvb2x0aXAgw6ggaW1wb3N0YXRvIGEgdmVyb1xuICAgIGlmICgoY2hhbmdlc1snaXRUb29sdGlwJ10gfHwgY2hhbmdlc1snZGlzYWJsZVRvb2x0aXAnXSkgJiYgdGhpcy5faXNEaXNhYmxlZCgpKSB7XG4gICAgICB0aGlzLmhpZGUoKTtcbiAgICB9IGVsc2UgaWYgKGNoYW5nZXNbJ3BsYWNlbWVudCddKSB7XG4gICAgICBpZiAodGhpcy5fd2luZG93UmVmKSB7XG4gICAgICAgIHRoaXMuX3dpbmRvd1JlZi5pbnN0YW5jZS5hcHBseVBsYWNlbWVudChcbiAgICAgICAgICBwb3NpdGlvbkVsZW1lbnRzKFxuICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLl93aW5kb3dSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIHRoaXMucGxhY2VtZW50LCB0aGlzLmNvbnRhaW5lciA9PT0gJ2JvZHknXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoY2hhbmdlc1snY29udGFpbmVyJ10pIHtcbiAgICAgIGNvbnN0IGlzU2hvd24gPSB0aGlzLl93aW5kb3dSZWYgPyAhdGhpcy5fd2luZG93UmVmLmluc3RhbmNlLmhpZGRlbiA6IGZhbHNlO1xuICAgICAgdGhpcy5kaXNwb3NlKCk7XG4gICAgICBpZiAoaXNTaG93bikge1xuICAgICAgICB0aGlzLnNob3coKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRpc3Bvc2UoKTtcbiAgICB0aGlzLl91bnJlZ2lzdGVyTGlzdGVuZXJzRm4oKTtcbiAgICB0aGlzLl96b25lU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdmb2N1cycpXG4gIHByb3RlY3RlZCBoYW5kbGVGb2N1cygpIHtcbiAgICB0aGlzLnNob3coKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxuICBwcm90ZWN0ZWQgaGFuZGxlQmx1cigpIHtcbiAgICB0aGlzLmhpZGUoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @license
|
|
7
|
-
* Copyright Angular ng-bootstrap team All Rights Reserved.
|
|
8
|
-
*
|
|
9
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
10
|
-
* found in the LICENSE file at https://raw.githubusercontent.com/ng-bootstrap/ng-bootstrap/master/LICENSE
|
|
11
|
-
*/
|
|
12
|
-
export class Trigger {
|
|
13
|
-
/**
|
|
14
|
-
* @param {?} open
|
|
15
|
-
* @param {?=} close
|
|
16
|
-
*/
|
|
17
|
-
constructor(open, close) {
|
|
18
|
-
this.open = open;
|
|
19
|
-
this.close = close;
|
|
20
|
-
if (!close) {
|
|
21
|
-
this.close = open;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* @return {?}
|
|
26
|
-
*/
|
|
27
|
-
isManual() { return this.open === 'manual' || this.close === 'manual'; }
|
|
28
|
-
}
|
|
29
|
-
if (false) {
|
|
30
|
-
/** @type {?} */
|
|
31
|
-
Trigger.prototype.open;
|
|
32
|
-
/** @type {?} */
|
|
33
|
-
Trigger.prototype.close;
|
|
34
|
-
}
|
|
35
|
-
/** @type {?} */
|
|
36
|
-
const DEFAULT_ALIASES = {
|
|
37
|
-
'hover': ['mouseenter', 'mouseleave'],
|
|
38
|
-
'focus': ['focus', 'blur']
|
|
39
|
-
};
|
|
40
|
-
/**
|
|
41
|
-
* @param {?} triggers
|
|
42
|
-
* @param {?=} aliases
|
|
43
|
-
* @return {?}
|
|
44
|
-
*/
|
|
45
|
-
export function parseTriggers(triggers, aliases = DEFAULT_ALIASES) {
|
|
46
|
-
/** @type {?} */
|
|
47
|
-
const trimmedTriggers = (triggers || '').trim();
|
|
48
|
-
if (trimmedTriggers.length === 0) {
|
|
49
|
-
return [];
|
|
50
|
-
}
|
|
51
|
-
/** @type {?} */
|
|
52
|
-
const parsedTriggers = trimmedTriggers.split(/\s+/).map(trigger => trigger.split(':')).map((triggerPair) => {
|
|
53
|
-
/** @type {?} */
|
|
54
|
-
const alias = aliases[triggerPair[0]] || triggerPair;
|
|
55
|
-
return new Trigger(alias[0], alias[1]);
|
|
56
|
-
});
|
|
57
|
-
/** @type {?} */
|
|
58
|
-
const manualTriggers = parsedTriggers.filter(triggerPair => triggerPair.isManual());
|
|
59
|
-
if (manualTriggers.length > 1) {
|
|
60
|
-
throw new Error('Triggers parse error: only one manual trigger is allowed');
|
|
61
|
-
}
|
|
62
|
-
if (manualTriggers.length === 1 && parsedTriggers.length > 1) {
|
|
63
|
-
throw new Error('Triggers parse error: manual trigger can\'t be mixed with other triggers');
|
|
64
|
-
}
|
|
65
|
-
return parsedTriggers;
|
|
66
|
-
}
|
|
67
|
-
/** @type {?} */
|
|
68
|
-
const noopFn = () => { };
|
|
69
|
-
const ɵ0 = noopFn;
|
|
70
|
-
/**
|
|
71
|
-
* @param {?} renderer
|
|
72
|
-
* @param {?} nativeElement
|
|
73
|
-
* @param {?} triggers
|
|
74
|
-
* @param {?} openFn
|
|
75
|
-
* @param {?} closeFn
|
|
76
|
-
* @param {?} toggleFn
|
|
77
|
-
* @return {?}
|
|
78
|
-
*/
|
|
79
|
-
export function listenToTriggers(renderer, nativeElement, triggers, openFn, closeFn, toggleFn) {
|
|
80
|
-
/** @type {?} */
|
|
81
|
-
const parsedTriggers = parseTriggers(triggers);
|
|
82
|
-
/** @type {?} */
|
|
83
|
-
const listeners = [];
|
|
84
|
-
if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) {
|
|
85
|
-
return noopFn;
|
|
86
|
-
}
|
|
87
|
-
parsedTriggers.forEach((trigger) => {
|
|
88
|
-
if (trigger.open === trigger.close) {
|
|
89
|
-
listeners.push(renderer.listen(nativeElement, trigger.open, toggleFn));
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
listeners.push(renderer.listen(nativeElement, trigger.open, openFn), renderer.listen(nativeElement, trigger.close, closeFn));
|
|
93
|
-
}
|
|
94
|
-
});
|
|
95
|
-
return () => { listeners.forEach(unsubscribeFn => unsubscribeFn()); };
|
|
96
|
-
}
|
|
97
|
-
export { ɵ0 };
|
|
98
|
-
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpZ2dlcnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9kZXNpZ24tYW5ndWxhci1raXQvIiwic291cmNlcyI6WyJsaWIvdG9vbHRpcC90cmlnZ2Vycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQU9BLE1BQU07Ozs7O0lBQ0YsWUFBbUIsSUFBWSxFQUFTLEtBQWM7UUFBbkMsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFTLFVBQUssR0FBTCxLQUFLLENBQVM7UUFDbEQsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ1QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7U0FDckI7S0FDSjs7OztJQUVELFFBQVEsS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUMsRUFBRTtDQUMzRTs7Ozs7Ozs7QUFFRCxNQUFNLGVBQWUsR0FBRztJQUNwQixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDO0lBQ3JDLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUM7Q0FDN0IsQ0FBQzs7Ozs7O0FBRUYsTUFBTSx3QkFBd0IsUUFBZ0IsRUFBRSxPQUFPLEdBQUcsZUFBZTs7SUFDckUsTUFBTSxlQUFlLEdBQUcsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFFaEQsRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxFQUFFLENBQUM7S0FDYjs7SUFFRCxNQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTs7UUFDdkcsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQztRQUNyRCxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQzFDLENBQUMsQ0FBQzs7SUFFSCxNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFFcEYsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsMERBQTBELENBQUMsQ0FBQztLQUMvRTtJQUVELEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRCxNQUFNLElBQUksS0FBSyxDQUFDLDBFQUEwRSxDQUFDLENBQUM7S0FDL0Y7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDO0NBQ3pCOztBQUVELE1BQU0sTUFBTSxHQUFHLEdBQUcsRUFBRSxJQUFJLENBQUM7Ozs7Ozs7Ozs7O0FBRXpCLE1BQU0sMkJBQTJCLFFBQWEsRUFBRSxhQUFrQixFQUFFLFFBQWdCLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFROztJQUMzRyxNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7O0lBQy9DLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUVyQixFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzlELE1BQU0sQ0FBQyxNQUFNLENBQUM7S0FDakI7SUFFRCxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBZ0IsRUFBRSxFQUFFO1FBQ3hDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDakMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDMUU7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNKLFNBQVMsQ0FBQyxJQUFJLENBQ1YsUUFBUSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDckg7S0FDSixDQUFDLENBQUM7SUFFSCxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO0NBQ3pFIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEFuZ3VsYXIgbmctYm9vdHN0cmFwIHRlYW0gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcC9tYXN0ZXIvTElDRU5TRVxuICovXG5leHBvcnQgY2xhc3MgVHJpZ2dlciB7XG4gICAgY29uc3RydWN0b3IocHVibGljIG9wZW46IHN0cmluZywgcHVibGljIGNsb3NlPzogc3RyaW5nKSB7XG4gICAgICAgIGlmICghY2xvc2UpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UgPSBvcGVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNNYW51YWwoKSB7IHJldHVybiB0aGlzLm9wZW4gPT09ICdtYW51YWwnIHx8IHRoaXMuY2xvc2UgPT09ICdtYW51YWwnOyB9XG59XG5cbmNvbnN0IERFRkFVTFRfQUxJQVNFUyA9IHtcbiAgICAnaG92ZXInOiBbJ21vdXNlZW50ZXInLCAnbW91c2VsZWF2ZSddLFxuICAgICdmb2N1cyc6IFsnZm9jdXMnLCAnYmx1ciddXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VUcmlnZ2Vycyh0cmlnZ2Vyczogc3RyaW5nLCBhbGlhc2VzID0gREVGQVVMVF9BTElBU0VTKTogVHJpZ2dlcltdIHtcbiAgICBjb25zdCB0cmltbWVkVHJpZ2dlcnMgPSAodHJpZ2dlcnMgfHwgJycpLnRyaW0oKTtcblxuICAgIGlmICh0cmltbWVkVHJpZ2dlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJzZWRUcmlnZ2VycyA9IHRyaW1tZWRUcmlnZ2Vycy5zcGxpdCgvXFxzKy8pLm1hcCh0cmlnZ2VyID0+IHRyaWdnZXIuc3BsaXQoJzonKSkubWFwKCh0cmlnZ2VyUGFpcikgPT4ge1xuICAgICAgICBjb25zdCBhbGlhcyA9IGFsaWFzZXNbdHJpZ2dlclBhaXJbMF1dIHx8IHRyaWdnZXJQYWlyO1xuICAgICAgICByZXR1cm4gbmV3IFRyaWdnZXIoYWxpYXNbMF0sIGFsaWFzWzFdKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IG1hbnVhbFRyaWdnZXJzID0gcGFyc2VkVHJpZ2dlcnMuZmlsdGVyKHRyaWdnZXJQYWlyID0+IHRyaWdnZXJQYWlyLmlzTWFudWFsKCkpO1xuXG4gICAgaWYgKG1hbnVhbFRyaWdnZXJzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUcmlnZ2VycyBwYXJzZSBlcnJvcjogb25seSBvbmUgbWFudWFsIHRyaWdnZXIgaXMgYWxsb3dlZCcpO1xuICAgIH1cblxuICAgIGlmIChtYW51YWxUcmlnZ2Vycy5sZW5ndGggPT09IDEgJiYgcGFyc2VkVHJpZ2dlcnMubGVuZ3RoID4gMSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RyaWdnZXJzIHBhcnNlIGVycm9yOiBtYW51YWwgdHJpZ2dlciBjYW5cXCd0IGJlIG1peGVkIHdpdGggb3RoZXIgdHJpZ2dlcnMnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGFyc2VkVHJpZ2dlcnM7XG59XG5cbmNvbnN0IG5vb3BGbiA9ICgpID0+IHsgfTtcblxuZXhwb3J0IGZ1bmN0aW9uIGxpc3RlblRvVHJpZ2dlcnMocmVuZGVyZXI6IGFueSwgbmF0aXZlRWxlbWVudDogYW55LCB0cmlnZ2Vyczogc3RyaW5nLCBvcGVuRm4sIGNsb3NlRm4sIHRvZ2dsZUZuKSB7XG4gICAgY29uc3QgcGFyc2VkVHJpZ2dlcnMgPSBwYXJzZVRyaWdnZXJzKHRyaWdnZXJzKTtcbiAgICBjb25zdCBsaXN0ZW5lcnMgPSBbXTtcblxuICAgIGlmIChwYXJzZWRUcmlnZ2Vycy5sZW5ndGggPT09IDEgJiYgcGFyc2VkVHJpZ2dlcnNbMF0uaXNNYW51YWwoKSkge1xuICAgICAgICByZXR1cm4gbm9vcEZuO1xuICAgIH1cblxuICAgIHBhcnNlZFRyaWdnZXJzLmZvckVhY2goKHRyaWdnZXI6IFRyaWdnZXIpID0+IHtcbiAgICAgICAgaWYgKHRyaWdnZXIub3BlbiA9PT0gdHJpZ2dlci5jbG9zZSkge1xuICAgICAgICAgICAgbGlzdGVuZXJzLnB1c2gocmVuZGVyZXIubGlzdGVuKG5hdGl2ZUVsZW1lbnQsIHRyaWdnZXIub3BlbiwgdG9nZ2xlRm4pKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxpc3RlbmVycy5wdXNoKFxuICAgICAgICAgICAgICAgIHJlbmRlcmVyLmxpc3RlbihuYXRpdmVFbGVtZW50LCB0cmlnZ2VyLm9wZW4sIG9wZW5GbiksIHJlbmRlcmVyLmxpc3RlbihuYXRpdmVFbGVtZW50LCB0cmlnZ2VyLmNsb3NlLCBjbG9zZUZuKSk7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiAoKSA9PiB7IGxpc3RlbmVycy5mb3JFYWNoKHVuc3Vic2NyaWJlRm4gPT4gdW5zdWJzY3JpYmVGbigpKTsgfTtcbn1cbiJdfQ==
|
package/esm2015/lib/util/util.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
export class Util {
|
|
6
|
-
/**
|
|
7
|
-
* @param {?} value
|
|
8
|
-
* @return {?}
|
|
9
|
-
*/
|
|
10
|
-
static coerceBooleanProperty(value) {
|
|
11
|
-
return value != null && `${value}` !== 'false';
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* @param {?} value
|
|
15
|
-
* @param {?=} fallbackValue
|
|
16
|
-
* @return {?}
|
|
17
|
-
*/
|
|
18
|
-
static coerceNumberProperty(value, fallbackValue = 0) {
|
|
19
|
-
return Util._isNumberValue(value) ? Number(value) : fallbackValue;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* @param {?} value
|
|
23
|
-
* @return {?}
|
|
24
|
-
*/
|
|
25
|
-
static _isNumberValue(value) {
|
|
26
|
-
return !isNaN(parseFloat(/** @type {?} */ (value))) && !isNaN(Number(value));
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2Rlc2lnbi1hbmd1bGFyLWtpdC8iLCJzb3VyY2VzIjpbImxpYi91dGlsL3V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE1BQU07Ozs7O0lBQ0osTUFBTSxDQUFDLHFCQUFxQixDQUFDLEtBQVU7UUFDckMsTUFBTSxDQUFDLEtBQUssSUFBSSxJQUFJLElBQUksR0FBRyxLQUFLLEVBQUUsS0FBSyxPQUFPLENBQUM7S0FDaEQ7Ozs7OztJQUVELE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxLQUFVLEVBQUUsYUFBYSxHQUFHLENBQUM7UUFDdkQsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO0tBQ25FOzs7OztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBVTtRQUM5QixNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxtQkFBQyxLQUFZLEVBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0tBRWxFO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgVXRpbCB7XG4gIHN0YXRpYyBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB2YWx1ZSAhPSBudWxsICYmIGAke3ZhbHVlfWAgIT09ICdmYWxzZSc7XG4gIH1cblxuICBzdGF0aWMgY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWU6IGFueSwgZmFsbGJhY2tWYWx1ZSA9IDApOiBudW1iZXIge1xuICAgIHJldHVybiBVdGlsLl9pc051bWJlclZhbHVlKHZhbHVlKSA/IE51bWJlcih2YWx1ZSkgOiBmYWxsYmFja1ZhbHVlO1xuICB9XG5cbiAgc3RhdGljIF9pc051bWJlclZhbHVlKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIWlzTmFOKHBhcnNlRmxvYXQodmFsdWUgYXMgYW55KSkgJiYgIWlzTmFOKE51bWJlcih2YWx1ZSkpO1xuXG4gIH1cbn1cbiJdfQ==
|
package/esm2015/public_api.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
/*
|
|
6
|
-
* Public API Surface of design-angular-kit
|
|
7
|
-
*/
|
|
8
|
-
export { ProgressBarComponent } from './lib/progress-bar/progress-bar.component';
|
|
9
|
-
export { CheckboxChange, CheckboxComponent } from './lib/checkbox/checkbox.component';
|
|
10
|
-
export { PopoverDirective } from './lib/popover/popover.directive';
|
|
11
|
-
export { PopoverConfig } from './lib/popover/popover.config';
|
|
12
|
-
export { ToggleChange, ToggleComponent } from './lib/toggle/toggle.component';
|
|
13
|
-
export { RadioChange, RadioGroupDirective, RadioButtonComponent } from './lib/radio/radio.component';
|
|
14
|
-
export { TooltipDirective } from './lib/tooltip/tooltip.directive';
|
|
15
|
-
export { TooltipConfig } from './lib/tooltip/tooltip.config';
|
|
16
|
-
export { ButtonComponent } from './lib/button/button.component';
|
|
17
|
-
export { BadgeDirective } from './lib/badge/badge.directive';
|
|
18
|
-
export { FormInputChange, FormInputComponent } from './lib/form-input/form-input.component';
|
|
19
|
-
export { DropdownComponent } from './lib/dropdown/dropdown.component';
|
|
20
|
-
export { DropdownItemComponent } from './lib/dropdown/dropdown-item.component';
|
|
21
|
-
export { DropdownHeaderComponent } from './lib/dropdown/dropdown-header.component';
|
|
22
|
-
export { DropdownDividerComponent } from './lib/dropdown/dropdown-divider.component';
|
|
23
|
-
export { BreadcrumbComponent } from './lib/breadcrumb/breadcrumb.component';
|
|
24
|
-
export { BreadcrumbItemComponent } from './lib/breadcrumb/breadcrumb-item.component';
|
|
25
|
-
export { TabChangeEvent, TabGroupComponent } from './lib/tabs/tab-group.component';
|
|
26
|
-
export { DesignAngularKitModule } from './lib/design-angular-kit.module';
|
|
27
|
-
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2Rlc2lnbi1hbmd1bGFyLWtpdC8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLHFDQUFjLDJDQUEyQyxDQUFDO0FBQzFELGtEQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGlDQUFjLGlDQUFpQyxDQUFDO0FBQ2hELDhCQUFjLDhCQUE4QixDQUFDO0FBQzdDLDhDQUFjLCtCQUErQixDQUFDO0FBQzlDLHVFQUFjLDZCQUE2QixDQUFDO0FBQzVDLGlDQUFjLGlDQUFpQyxDQUFDO0FBQ2hELDhCQUFjLDhCQUE4QixDQUFDO0FBQzdDLGdDQUFjLCtCQUErQixDQUFDO0FBQzlDLCtCQUFjLDZCQUE2QixDQUFDO0FBQzVDLG9EQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGtDQUFjLG1DQUFtQyxDQUFDO0FBQ2xELHNDQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELHdDQUFjLDBDQUEwQyxDQUFDO0FBQ3pELHlDQUFjLDJDQUEyQyxDQUFDO0FBQzFELG9DQUFjLHVDQUF1QyxDQUFDO0FBQ3RELHdDQUFjLDRDQUE0QyxDQUFDO0FBQzNELGtEQUFjLGdDQUFnQyxDQUFDO0FBQy9DLHVDQUFjLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBkZXNpZ24tYW5ndWxhci1raXRcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcG9wb3Zlci9wb3BvdmVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wb3BvdmVyL3BvcG92ZXIuY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RvZ2dsZS90b2dnbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JhZGlvL3JhZGlvLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rvb2x0aXAvdG9vbHRpcC5jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFkZ2UvYmFkZ2UuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm0taW5wdXQvZm9ybS1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJvcGRvd24vZHJvcGRvd24tZGl2aWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icmVhZGNydW1iL2JyZWFkY3J1bWItaXRlbS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFicy90YWItZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Rlc2lnbi1hbmd1bGFyLWtpdC5tb2R1bGUnO1xuIl19
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Generated bundle index. Do not edit.
|
|
7
|
-
*/
|
|
8
|
-
export { ProgressBarComponent, CheckboxChange, CheckboxComponent, PopoverDirective, PopoverConfig, ToggleChange, ToggleComponent, RadioChange, RadioGroupDirective, RadioButtonComponent, TooltipDirective, TooltipConfig, ButtonComponent, BadgeDirective, FormInputChange, FormInputComponent, DropdownComponent, DropdownItemComponent, DropdownHeaderComponent, DropdownDividerComponent, BreadcrumbComponent, BreadcrumbItemComponent, TabChangeEvent, TabGroupComponent, DesignAngularKitModule } from './public_api';
|
|
9
|
-
export { PopoverComponent as ɵd } from './lib/popover/popover.component';
|
|
10
|
-
export { UniqueSelectionDispatcher as ɵa } from './lib/radio/unique-selection-dispatcher';
|
|
11
|
-
export { TabComponent as ɵb } from './lib/tabs/tab.component';
|
|
12
|
-
export { TooltipComponent as ɵc } from './lib/tooltip/tooltip.component';
|
|
13
|
-
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzaWduLWFuZ3VsYXIta2l0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vZGVzaWduLWFuZ3VsYXIta2l0LyIsInNvdXJjZXMiOlsiZGVzaWduLWFuZ3VsYXIta2l0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSw2ZUFBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyx5QkFBeUIsSUFBSSxFQUFFLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN4RixPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcblxuZXhwb3J0IHtQb3BvdmVyQ29tcG9uZW50IGFzIMm1ZH0gZnJvbSAnLi9saWIvcG9wb3Zlci9wb3BvdmVyLmNvbXBvbmVudCc7XG5leHBvcnQge1VuaXF1ZVNlbGVjdGlvbkRpc3BhdGNoZXIgYXMgybVhfSBmcm9tICcuL2xpYi9yYWRpby91bmlxdWUtc2VsZWN0aW9uLWRpc3BhdGNoZXInO1xuZXhwb3J0IHtUYWJDb21wb25lbnQgYXMgybVifSBmcm9tICcuL2xpYi90YWJzL3RhYi5jb21wb25lbnQnO1xuZXhwb3J0IHtUb29sdGlwQ29tcG9uZW50IGFzIMm1Y30gZnJvbSAnLi9saWIvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCc7Il19
|