ng-primitives 0.0.7 → 0.2.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 +14 -4
- package/accordion/accordion-trigger/accordion-trigger.directive.d.ts +2 -1
- package/autofill/README.md +3 -0
- package/autofill/autofill/autofill.directive.d.ts +19 -0
- package/{select/select-button/select-button.token.d.ts → autofill/autofill/autofill.token.d.ts} +4 -4
- package/autofill/index.d.ts +9 -0
- package/avatar/avatar/avatar.directive.d.ts +2 -1
- package/button/README.md +3 -0
- package/button/button/button.directive.d.ts +27 -0
- package/{select/select-option/select-option.token.d.ts → button/button/button.token.d.ts} +4 -4
- package/button/index.d.ts +9 -0
- package/checkbox/checkbox/checkbox.directive.d.ts +11 -61
- package/checkbox/index.d.ts +0 -4
- package/esm2022/a11y/visually-hidden/visually-hidden.directive.mjs +3 -3
- package/esm2022/accordion/accordion/accordion.directive.mjs +5 -4
- package/esm2022/accordion/accordion-content/accordion-content.directive.mjs +5 -6
- package/esm2022/accordion/accordion-item/accordion-item.directive.mjs +5 -5
- package/esm2022/accordion/accordion-trigger/accordion-trigger.directive.mjs +8 -5
- package/esm2022/autofill/autofill/autofill.directive.mjs +71 -0
- package/esm2022/autofill/autofill/autofill.token.mjs +16 -0
- package/esm2022/autofill/index.mjs +10 -0
- package/esm2022/autofill/ng-primitives-autofill.mjs +5 -0
- package/esm2022/avatar/avatar/avatar.directive.mjs +7 -4
- package/esm2022/avatar/avatar-fallback/avatar-fallback.directive.mjs +3 -3
- package/esm2022/avatar/avatar-image/avatar-image.directive.mjs +3 -3
- package/esm2022/button/button/button.directive.mjs +47 -0
- package/esm2022/button/button/button.token.mjs +16 -0
- package/esm2022/button/index.mjs +10 -0
- package/esm2022/button/ng-primitives-button.mjs +5 -0
- package/esm2022/checkbox/checkbox/checkbox.directive.mjs +29 -79
- package/esm2022/checkbox/index.mjs +1 -5
- package/esm2022/file-upload/file-upload/file-upload.directive.mjs +7 -4
- package/esm2022/focus-trap/focus-trap/focus-trap.directive.mjs +262 -0
- package/esm2022/focus-trap/focus-trap/focus-trap.token.mjs +16 -0
- package/esm2022/focus-trap/index.mjs +10 -0
- package/esm2022/focus-trap/ng-primitives-focus-trap.mjs +5 -0
- package/esm2022/form-field/description/description.directive.mjs +14 -14
- package/esm2022/form-field/error/error.directive.mjs +27 -29
- package/esm2022/form-field/form-control/form-control.directive.mjs +22 -16
- package/esm2022/form-field/form-field/form-field.directive.mjs +3 -3
- package/esm2022/form-field/form-field/form-field.token.mjs +3 -7
- package/esm2022/form-field/label/label.directive.mjs +56 -17
- package/esm2022/input/index.mjs +10 -0
- package/esm2022/input/input/input.directive.mjs +55 -0
- package/esm2022/input/input/input.token.mjs +16 -0
- package/esm2022/input/ng-primitives-input.mjs +5 -0
- package/esm2022/interactions/focus/focus.directive.mjs +15 -10
- package/esm2022/interactions/focus-visible/focus-visible.directive.mjs +12 -7
- package/esm2022/interactions/hover/hover.directive.mjs +16 -11
- package/esm2022/interactions/index.mjs +5 -1
- package/esm2022/interactions/move/move.directive.mjs +216 -0
- package/esm2022/interactions/move/move.token.mjs +16 -0
- package/esm2022/interactions/press/press.directive.mjs +118 -0
- package/esm2022/interactions/press/press.token.mjs +16 -0
- package/esm2022/internal/disabled/disabled.mjs +19 -0
- package/esm2022/internal/index.mjs +11 -0
- package/esm2022/internal/ng-primitives-internal.mjs +5 -0
- package/esm2022/internal/orientation/orientation.mjs +19 -0
- package/esm2022/internal/style-injector/style-injector.mjs +81 -0
- package/esm2022/progress/progress/progress.directive.mjs +3 -3
- package/esm2022/progress/progress-indicator/progress-indicator.directive.mjs +3 -3
- package/esm2022/radio/radio-group/radio-group.directive.mjs +14 -54
- package/esm2022/radio/radio-indicator/radio-indicator.directive.mjs +8 -5
- package/esm2022/radio/radio-item/radio-item.directive.mjs +8 -6
- package/esm2022/resize/resize/resize.directive.mjs +3 -3
- package/esm2022/roving-focus/roving-focus-group/roving-focus-group.directive.mjs +14 -9
- package/esm2022/roving-focus/roving-focus-item/roving-focus-item.directive.mjs +3 -3
- package/esm2022/search/index.mjs +10 -0
- package/esm2022/search/ng-primitives-search.mjs +5 -0
- package/esm2022/search/search-field/search-field.directive.mjs +47 -0
- package/esm2022/search/search-field/search-field.token.mjs +16 -0
- package/esm2022/select/index.mjs +1 -7
- package/esm2022/select/select/select.directive.mjs +23 -36
- package/esm2022/select/select/select.token.mjs +1 -1
- package/esm2022/slider/slider/slider.directive.mjs +18 -5
- package/esm2022/slider/slider-range/slider-range.directive.mjs +6 -5
- package/esm2022/slider/slider-thumb/slider-thumb.directive.mjs +7 -4
- package/esm2022/slider/slider-track/slider-track.directive.mjs +8 -4
- package/esm2022/switch/switch/switch.directive.mjs +18 -58
- package/esm2022/switch/switch-thumb/switch-thumb.directive.mjs +9 -6
- package/esm2022/tabs/tab-button/tab-button.directive.mjs +8 -6
- package/esm2022/tabs/tab-list/tab-list.directive.mjs +3 -3
- package/esm2022/tabs/tab-panel/tab-panel.directive.mjs +5 -6
- package/esm2022/tabs/tabset/tabset.directive.mjs +14 -18
- package/esm2022/textarea/index.mjs +10 -0
- package/esm2022/textarea/ng-primitives-textarea.mjs +5 -0
- package/esm2022/textarea/textarea/textarea.directive.mjs +37 -0
- package/esm2022/textarea/textarea/textarea.token.mjs +16 -0
- package/esm2022/toggle/toggle/toggle.directive.mjs +33 -13
- package/esm2022/tooltip/tooltip/tooltip.directive.mjs +3 -3
- package/esm2022/tooltip/tooltip-trigger/tooltip-trigger.directive.mjs +7 -7
- package/esm2022/utils/helpers/focus-manager.mjs +3 -3
- package/esm2022/utils/index.mjs +2 -2
- package/esm2022/utils/signals/async.mjs +11 -17
- package/fesm2022/ng-primitives-a11y.mjs +3 -3
- package/fesm2022/ng-primitives-accordion.mjs +19 -16
- package/fesm2022/ng-primitives-accordion.mjs.map +1 -1
- package/fesm2022/ng-primitives-autofill.mjs +100 -0
- package/fesm2022/ng-primitives-autofill.mjs.map +1 -0
- package/fesm2022/ng-primitives-avatar.mjs +13 -10
- package/fesm2022/ng-primitives-avatar.mjs.map +1 -1
- package/fesm2022/ng-primitives-button.mjs +76 -0
- package/fesm2022/ng-primitives-button.mjs.map +1 -0
- package/fesm2022/ng-primitives-checkbox.mjs +25 -203
- package/fesm2022/ng-primitives-checkbox.mjs.map +1 -1
- package/fesm2022/ng-primitives-file-upload.mjs +6 -3
- package/fesm2022/ng-primitives-file-upload.mjs.map +1 -1
- package/fesm2022/ng-primitives-focus-trap.mjs +291 -0
- package/fesm2022/ng-primitives-focus-trap.mjs.map +1 -0
- package/fesm2022/ng-primitives-form-field.mjs +119 -80
- package/fesm2022/ng-primitives-form-field.mjs.map +1 -1
- package/fesm2022/ng-primitives-input.mjs +84 -0
- package/fesm2022/ng-primitives-input.mjs.map +1 -0
- package/fesm2022/ng-primitives-interactions.mjs +394 -26
- package/fesm2022/ng-primitives-interactions.mjs.map +1 -1
- package/fesm2022/ng-primitives-internal.mjs +132 -0
- package/fesm2022/ng-primitives-internal.mjs.map +1 -0
- package/fesm2022/ng-primitives-progress.mjs +6 -6
- package/fesm2022/ng-primitives-radio.mjs +25 -62
- package/fesm2022/ng-primitives-radio.mjs.map +1 -1
- package/fesm2022/ng-primitives-resize.mjs +3 -3
- package/fesm2022/ng-primitives-roving-focus.mjs +15 -10
- package/fesm2022/ng-primitives-roving-focus.mjs.map +1 -1
- package/fesm2022/ng-primitives-search.mjs +76 -0
- package/fesm2022/ng-primitives-search.mjs.map +1 -0
- package/fesm2022/ng-primitives-select.mjs +23 -395
- package/fesm2022/ng-primitives-select.mjs.map +1 -1
- package/fesm2022/ng-primitives-slider.mjs +35 -14
- package/fesm2022/ng-primitives-slider.mjs.map +1 -1
- package/fesm2022/ng-primitives-switch.mjs +23 -62
- package/fesm2022/ng-primitives-switch.mjs.map +1 -1
- package/fesm2022/ng-primitives-tabs.mjs +27 -30
- package/fesm2022/ng-primitives-tabs.mjs.map +1 -1
- package/fesm2022/ng-primitives-textarea.mjs +66 -0
- package/fesm2022/ng-primitives-textarea.mjs.map +1 -0
- package/fesm2022/ng-primitives-toggle.mjs +32 -12
- package/fesm2022/ng-primitives-toggle.mjs.map +1 -1
- package/fesm2022/ng-primitives-tooltip.mjs +9 -9
- package/fesm2022/ng-primitives-tooltip.mjs.map +1 -1
- package/fesm2022/ng-primitives-utils.mjs +14 -20
- package/fesm2022/ng-primitives-utils.mjs.map +1 -1
- package/file-upload/file-upload/file-upload.directive.d.ts +2 -1
- package/focus-trap/README.md +3 -0
- package/focus-trap/focus-trap/focus-trap.directive.d.ts +64 -0
- package/{select/select-options/select-options.token.d.ts → focus-trap/focus-trap/focus-trap.token.d.ts} +4 -4
- package/focus-trap/index.d.ts +9 -0
- package/form-field/description/description.directive.d.ts +1 -1
- package/form-field/error/error.directive.d.ts +9 -5
- package/form-field/form-control/form-control.directive.d.ts +7 -3
- package/form-field/form-field/form-field.token.d.ts +1 -1
- package/form-field/label/label.directive.d.ts +3 -2
- package/input/README.md +3 -0
- package/input/index.d.ts +9 -0
- package/input/input/input.directive.d.ts +33 -0
- package/input/input/input.token.d.ts +14 -0
- package/interactions/focus/focus.directive.d.ts +6 -2
- package/interactions/focus-visible/focus-visible.directive.d.ts +5 -1
- package/interactions/hover/hover.directive.d.ts +5 -1
- package/interactions/index.d.ts +4 -0
- package/interactions/move/move.directive.d.ts +126 -0
- package/interactions/move/move.token.d.ts +14 -0
- package/interactions/press/press.directive.d.ts +59 -0
- package/interactions/press/press.token.d.ts +14 -0
- package/internal/README.md +3 -0
- package/internal/disabled/disabled.d.ts +21 -0
- package/internal/index.d.ts +10 -0
- package/internal/orientation/orientation.d.ts +22 -0
- package/internal/style-injector/style-injector.d.ts +36 -0
- package/package.json +49 -7
- package/radio/radio-group/radio-group.directive.d.ts +4 -41
- package/radio/radio-indicator/radio-indicator.directive.d.ts +2 -1
- package/radio/radio-item/radio-item.directive.d.ts +2 -1
- package/roving-focus/roving-focus-group/roving-focus-group.directive.d.ts +7 -2
- package/search/README.md +3 -0
- package/search/index.d.ts +9 -0
- package/search/search-field/search-field.directive.d.ts +15 -0
- package/search/search-field/search-field.token.d.ts +14 -0
- package/select/index.d.ts +0 -6
- package/select/select/select.directive.d.ts +7 -22
- package/select/select/select.token.d.ts +2 -2
- package/slider/slider/slider.directive.d.ts +4 -2
- package/slider/slider-thumb/slider-thumb.directive.d.ts +2 -1
- package/slider/slider-track/slider-track.directive.d.ts +1 -1
- package/switch/switch/switch.directive.d.ts +5 -45
- package/switch/switch-thumb/switch-thumb.directive.d.ts +2 -1
- package/tabs/tab-button/tab-button.directive.d.ts +2 -1
- package/tabs/tabset/tabset.directive.d.ts +3 -9
- package/textarea/README.md +3 -0
- package/textarea/index.d.ts +9 -0
- package/textarea/textarea/textarea.directive.d.ts +20 -0
- package/textarea/textarea/textarea.token.d.ts +14 -0
- package/toggle/toggle/toggle.directive.d.ts +16 -4
- package/utils/index.d.ts +1 -1
- package/utils/signals/async.d.ts +10 -12
- package/checkbox/checkbox-indicator/checkbox-indicator.directive.d.ts +0 -19
- package/checkbox/checkbox-indicator/checkbox-indicator.token.d.ts +0 -15
- package/checkbox/checkbox-input/checkbox-input.directive.d.ts +0 -10
- package/checkbox/checkbox-label/checkbox-label.directive.d.ts +0 -9
- package/esm2022/checkbox/checkbox-indicator/checkbox-indicator.directive.mjs +0 -51
- package/esm2022/checkbox/checkbox-indicator/checkbox-indicator.token.mjs +0 -17
- package/esm2022/checkbox/checkbox-input/checkbox-input.directive.mjs +0 -40
- package/esm2022/checkbox/checkbox-label/checkbox-label.directive.mjs +0 -32
- package/esm2022/select/select-button/select-button.directive.mjs +0 -84
- package/esm2022/select/select-button/select-button.token.mjs +0 -16
- package/esm2022/select/select-option/select-option.directive.mjs +0 -90
- package/esm2022/select/select-option/select-option.token.mjs +0 -16
- package/esm2022/select/select-options/select-options.directive.mjs +0 -157
- package/esm2022/select/select-options/select-options.token.mjs +0 -16
- package/select/select-button/select-button.directive.d.ts +0 -51
- package/select/select-option/select-option.directive.d.ts +0 -57
- package/select/select-options/select-options.directive.d.ts +0 -65
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { DOCUMENT, isPlatformBrowser } from '@angular/common';
|
|
2
2
|
import { Directive, HostListener, Injectable, PLATFORM_ID, booleanAttribute, inject, input, output, signal, } from '@angular/core';
|
|
3
|
+
import { injectDisabled } from 'ng-primitives/internal';
|
|
3
4
|
import { NgpHoverToken } from './hover.token';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
/**
|
|
@@ -42,10 +43,10 @@ class GlobalPointerEvents {
|
|
|
42
43
|
this.setGlobalIgnoreEmulatedMouseEvents();
|
|
43
44
|
}
|
|
44
45
|
}
|
|
45
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
46
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.
|
|
46
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: GlobalPointerEvents, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
47
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: GlobalPointerEvents, providedIn: 'root' }); }
|
|
47
48
|
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: GlobalPointerEvents, decorators: [{
|
|
49
50
|
type: Injectable,
|
|
50
51
|
args: [{
|
|
51
52
|
providedIn: 'root',
|
|
@@ -70,6 +71,10 @@ export class NgpHover {
|
|
|
70
71
|
alias: 'ngpHoverDisabled',
|
|
71
72
|
transform: booleanAttribute,
|
|
72
73
|
});
|
|
74
|
+
/**
|
|
75
|
+
* Access the disabled state from any parent.
|
|
76
|
+
*/
|
|
77
|
+
this.isDisabled = injectDisabled(this.disabled);
|
|
73
78
|
/**
|
|
74
79
|
* Store the current hover state.
|
|
75
80
|
*/
|
|
@@ -89,7 +94,7 @@ export class NgpHover {
|
|
|
89
94
|
/**
|
|
90
95
|
* Emit an event when the hover state changes.
|
|
91
96
|
*/
|
|
92
|
-
this.hoverChange = output({ alias: '
|
|
97
|
+
this.hoverChange = output({ alias: 'ngpHover' });
|
|
93
98
|
}
|
|
94
99
|
ngOnChanges(changes) {
|
|
95
100
|
if ('disabled' in changes) {
|
|
@@ -106,7 +111,7 @@ export class NgpHover {
|
|
|
106
111
|
* @param pointerType
|
|
107
112
|
*/
|
|
108
113
|
onHoverStart(event, pointerType) {
|
|
109
|
-
if (this.
|
|
114
|
+
if (this.isDisabled() ||
|
|
110
115
|
pointerType === 'touch' ||
|
|
111
116
|
this.hovered() ||
|
|
112
117
|
!event.currentTarget?.contains(event.target)) {
|
|
@@ -135,7 +140,7 @@ export class NgpHover {
|
|
|
135
140
|
this.onHoverStart(event, event.pointerType);
|
|
136
141
|
}
|
|
137
142
|
onPointerLeave(event) {
|
|
138
|
-
if (!this.
|
|
143
|
+
if (!this.isDisabled() && event.currentTarget?.contains(event.target)) {
|
|
139
144
|
this.onHoverEnd(event.pointerType);
|
|
140
145
|
}
|
|
141
146
|
}
|
|
@@ -149,14 +154,14 @@ export class NgpHover {
|
|
|
149
154
|
this.ignoreEmulatedMouseEvents = false;
|
|
150
155
|
}
|
|
151
156
|
onMouseLeave(event) {
|
|
152
|
-
if (!this.
|
|
157
|
+
if (!this.isDisabled() && event.currentTarget?.contains(event.target)) {
|
|
153
158
|
this.onHoverEnd('mouse');
|
|
154
159
|
}
|
|
155
160
|
}
|
|
156
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
157
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.
|
|
161
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpHover, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
162
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.1", type: NgpHover, isStandalone: true, selector: "[ngpHover]", inputs: { disabled: { classPropertyName: "disabled", publicName: "ngpHoverDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { hoverStart: "ngpHoverStart", hoverEnd: "ngpHoverEnd", hoverChange: "ngpHover" }, host: { listeners: { "pointerenter": "onPointerEnter($event)", "pointerleave": "onPointerLeave($event)", "touchstart": "onTouchStart()", "mouseenter": "onMouseEnter($event)", "mouseleave": "onMouseLeave($event)" }, properties: { "attr.data-hover": "hovered()" } }, providers: [{ provide: NgpHoverToken, useExisting: NgpHover }], exportAs: ["ngpHover"], usesOnChanges: true, ngImport: i0 }); }
|
|
158
163
|
}
|
|
159
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
164
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpHover, decorators: [{
|
|
160
165
|
type: Directive,
|
|
161
166
|
args: [{
|
|
162
167
|
standalone: true,
|
|
@@ -183,4 +188,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
|
183
188
|
type: HostListener,
|
|
184
189
|
args: ['mouseleave', ['$event']]
|
|
185
190
|
}] } });
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG92ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctcHJpbWl0aXZlcy9pbnRlcmFjdGlvbnMvc3JjL2hvdmVyL2hvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUVWLFdBQVcsRUFFWCxnQkFBZ0IsRUFDaEIsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTlDOzs7R0FHRztBQUNILE1BR00sbUJBQW1CO0lBZ0J2QjtRQWZBOztXQUVHO1FBQ0gsOEJBQXlCLEdBQVksS0FBSyxDQUFDO1FBRTNDOztXQUVHO1FBQ2MsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU3Qzs7V0FFRztRQUNjLGVBQVUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFHaEQsNkNBQTZDO1FBQzdDLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENB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QUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLENBQUM7OzJGQUtuRCxRQUFRO2tCQVRwQixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsWUFBWTtvQkFDdEIsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLFVBQVUsRUFBRSxDQUFDO29CQUM5RCxJQUFJLEVBQUU7d0JBQ0osbUJBQW1CLEVBQUUsV0FBVztxQkFDakM7aUJBQ0Y7OEJBcUZXLGNBQWM7c0JBRHZCLFlBQVk7dUJBQUMsY0FBYyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVU5QixjQUFjO3NCQUR2QixZQUFZO3VCQUFDLGNBQWMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFROUIsWUFBWTtzQkFEckIsWUFBWTt1QkFBQyxZQUFZO2dCQU1oQixZQUFZO3NCQURyQixZQUFZO3VCQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFVNUIsWUFBWTtzQkFEckIsWUFBWTt1QkFBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCDCqSAyMDI0IEFuZ3VsYXIgUHJpbWl0aXZlcy5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9uZy1wcmltaXRpdmVzL25nLXByaW1pdGl2ZXNcbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBDQyBCWS1ORCA0LjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuaW1wb3J0IHR5cGUgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3RhYmxlLFxuICBPbkNoYW5nZXMsXG4gIFBMQVRGT1JNX0lELFxuICBTaW1wbGVDaGFuZ2VzLFxuICBib29sZWFuQXR0cmlidXRlLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3BIb3ZlclRva2VuIH0gZnJvbSAnLi9ob3Zlci50b2tlbic7XG5cbi8qKlxuICogV2UgdXNlIGEgc2VydmljZSBoZXJlIGFzIHRoaXMgdmFsdWUgaXMgYSBzaW5nbGV0b25cbiAqIGFuZCBhbGxvd3MgdXMgdG8gcmVnaXN0ZXIgdGhlIGRvbSBldmVudHMgb25jZS5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuY2xhc3MgR2xvYmFsUG9pbnRlckV2ZW50cyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIGdsb2JhbCBtb3VzZSBldmVudHMgc2hvdWxkIGJlIGlnbm9yZWQuXG4gICAqL1xuICBpZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEFjY2VzcyB0aGUgZG9jdW1lbnQuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lIHRoZSBwbGF0Zm9ybSBpZC5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gd2Ugb25seSB3YW50IHRvIHNldHVwIGV2ZW50cyBvbiB0aGUgY2xpZW50XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIHRoaXMuc2V0dXBHbG9iYWxUb3VjaEV2ZW50cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBHbG9iYWxUb3VjaEV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJ1cCcsIHRoaXMuaGFuZGxlR2xvYmFsUG9pbnRlckV2ZW50LmJpbmQodGhpcykpO1xuICAgIHRoaXMuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hlbmQnLCB0aGlzLnNldEdsb2JhbElnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMuYmluZCh0aGlzKSk7XG4gIH1cblxuICBwcml2YXRlIHNldEdsb2JhbElnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5pZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzID0gdHJ1ZTtcbiAgICAvLyBDbGVhciBnbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzIGFmdGVyIGEgc2hvcnQgdGltZW91dC4gaU9TIGZpcmVzIG9uUG9pbnRlckVudGVyXG4gICAgLy8gd2l0aCBwb2ludGVyVHlwZT1cIm1vdXNlXCIgaW1tZWRpYXRlbHkgYWZ0ZXIgb25Qb2ludGVyVXAgYW5kIGJlZm9yZSBvbkZvY3VzLiBPbiBvdGhlclxuICAgIC8vIGRldmljZXMgdGhhdCBkb24ndCBoYXZlIHRoaXMgcXVpcmssIHdlIGRvbid0IHdhbnQgdG8gaWdub3JlIGEgbW91c2UgaG92ZXIgc29tZXRpbWUgaW5cbiAgICAvLyB0aGUgZGlzdGFudCBmdXR1cmUgYmVjYXVzZSBhIHVzZXIgcHJldmlvdXNseSB0b3VjaGVkIHRoZSBlbGVtZW50LlxuICAgIHNldFRpbWVvdXQoKCkgPT4gKHRoaXMuaWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyA9IGZhbHNlKSwgNTApO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVHbG9iYWxQb2ludGVyRXZlbnQoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5wb2ludGVyVHlwZSA9PT0gJ3RvdWNoJykge1xuICAgICAgdGhpcy5zZXRHbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzKCk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQSBkaXJlY3RpdmUgZm9yIG5vcm1hbGl6aW5nIGhvdmVyIGV2ZW50cyBhY3Jvc3MgdGhlIGRpZmZlcmVudCBicm93c2VycyBhbmQgZGV2aWNlcy5cbiAqXG4gKiBUaGlzIGlzIGFuIEFuZ3VsYXIgcG9ydCBvZiB0aGUgdXNlSG92ZXIgaG9vayBmcm9tXG4gKiByZWFjdC1hcmlhOiBodHRwczovL2dpdGh1Yi5jb20vYWRvYmUvcmVhY3Qtc3BlY3RydW0vYmxvYi9tYWluL3BhY2thZ2VzLyU0MHJlYWN0LWFyaWEvaW50ZXJhY3Rpb25zL3NyYy91c2VIb3Zlci50c1xuICovXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbbmdwSG92ZXJdJyxcbiAgZXhwb3J0QXM6ICduZ3BIb3ZlcicsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTmdwSG92ZXJUb2tlbiwgdXNlRXhpc3Rpbmc6IE5ncEhvdmVyIH1dLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmRhdGEtaG92ZXJdJzogJ2hvdmVyZWQoKScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIE5ncEhvdmVyIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgLyoqXG4gICAqIEFjY2VzcyB0aGUgZ2xvYmFsIHBvaW50ZXIgZXZlbnRzIGhhbmRsZXIuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGdsb2JhbFBvaW50ZXJFdmVudHMgPSBpbmplY3QoR2xvYmFsUG9pbnRlckV2ZW50cyk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgaG92aW5nIHNob3VsZCBiZSBkaXNhYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwge1xuICAgIGFsaWFzOiAnbmdwSG92ZXJEaXNhYmxlZCcsXG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcblxuICAvKipcbiAgICogU3RvcmUgdGhlIGN1cnJlbnQgaG92ZXIgc3RhdGUuXG4gICAqL1xuICBwcm90ZWN0ZWQgaG92ZXJlZCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBlbGVtZW50IHNob3VsZCBpZ25vcmUgZW11bGF0ZWQgbW91c2UgZXZlbnRzLlxuICAgKi9cbiAgcHJpdmF0ZSBpZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEVtaXQgYW4gZXZlbnQgd2hlbiBob3ZlcmluZyBzdGFydHMuXG4gICAqL1xuICByZWFkb25seSBob3ZlclN0YXJ0ID0gb3V0cHV0PHZvaWQ+KHsgYWxpYXM6ICduZ3BIb3ZlclN0YXJ0JyB9KTtcblxuICAvKipcbiAgICogRW1pdCBhbiBldmVudCB3aGVuIGhvdmVyaW5nIGVuZHMuXG4gICAqL1xuICByZWFkb25seSBob3ZlckVuZCA9IG91dHB1dDx2b2lkPih7IGFsaWFzOiAnbmdwSG92ZXJFbmQnIH0pO1xuXG4gIC8qKlxuICAgKiBFbWl0IGFuIGV2ZW50IHdoZW4gdGhlIGhvdmVyIHN0YXRlIGNoYW5nZXMuXG4gICAqL1xuICByZWFkb25seSBob3ZlckNoYW5nZSA9IG91dHB1dDxib29sZWFuPih7IGFsaWFzOiAnbmdwSG92ZXJDaGFuZ2UnIH0pO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoJ2Rpc2FibGVkJyBpbiBjaGFuZ2VzKSB7XG4gICAgICAvLyBpZiB0aGUgY29tcG9uZW50IGlzIHN1ZGRlbmx5IGRpc2FibGVkIGFuZCBpcyBjdXJyZW50bHkgaG92ZXJlZFxuICAgICAgLy8gc3dpdGNoIHRvIHRoZSB1bmhvdmVyZWQgc3RhdGUuXG4gICAgICBpZiAoY2hhbmdlc1snZGlzYWJsZWQnXS5jdXJyZW50VmFsdWUgPT09IHRydWUpIHtcbiAgICAgICAgdGhpcy5vbkhvdmVyRW5kKCdtb3VzZScpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VyIHRoZSBob3ZlciBzdGFydCBldmVudHMuXG4gICAqIEBwYXJhbSBldmVudFxuICAgKiBAcGFyYW0gcG9pbnRlclR5cGVcbiAgICovXG4gIHByaXZhdGUgb25Ib3ZlclN0YXJ0KGV2ZW50OiBFdmVudCwgcG9pbnRlclR5cGU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMuZGlzYWJsZWQoKSB8fFxuICAgICAgcG9pbnRlclR5cGUgPT09ICd0b3VjaCcgfHxcbiAgICAgIHRoaXMuaG92ZXJlZCgpIHx8XG4gICAgICAhKGV2ZW50LmN1cnJlbnRUYXJnZXQgYXMgRWxlbWVudCk/LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaG92ZXJlZC5zZXQodHJ1ZSk7XG4gICAgdGhpcy5ob3ZlclN0YXJ0LmVtaXQoKTtcbiAgICB0aGlzLmhvdmVyQ2hhbmdlLmVtaXQodHJ1ZSk7XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlciB0aGUgaG92ZXIgZW5kIGV2ZW50cy5cbiAgICogQHBhcmFtIHBvaW50ZXJUeXBlXG4gICAqL1xuICBwcml2YXRlIG9uSG92ZXJFbmQocG9pbnRlclR5cGU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChwb2ludGVyVHlwZSA9PT0gJ3RvdWNoJyB8fCAhdGhpcy5ob3ZlcmVkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmhvdmVyZWQuc2V0KGZhbHNlKTtcbiAgICB0aGlzLmhvdmVyRW5kLmVtaXQoKTtcbiAgICB0aGlzLmhvdmVyQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigncG9pbnRlcmVudGVyJywgWyckZXZlbnQnXSlcbiAgcHJvdGVjdGVkIG9uUG9pbnRlckVudGVyKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5nbG9iYWxQb2ludGVyRXZlbnRzLmlnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMgJiYgZXZlbnQucG9pbnRlclR5cGUgPT09ICdtb3VzZScpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm9uSG92ZXJTdGFydChldmVudCwgZXZlbnQucG9pbnRlclR5cGUpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigncG9pbnRlcmxlYXZlJywgWyckZXZlbnQnXSlcbiAgcHJvdGVjdGVkIG9uUG9pbnRlckxlYXZlKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQoKSAmJiAoZXZlbnQuY3VycmVudFRhcmdldCBhcyBFbGVtZW50KT8uY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpKSB7XG4gICAgICB0aGlzLm9uSG92ZXJFbmQoZXZlbnQucG9pbnRlclR5cGUpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3RvdWNoc3RhcnQnKVxuICBwcm90ZWN0ZWQgb25Ub3VjaFN0YXJ0KCk6IHZvaWQge1xuICAgIHRoaXMuaWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyA9IHRydWU7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJywgWyckZXZlbnQnXSlcbiAgcHJvdGVjdGVkIG9uTW91c2VFbnRlcihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzICYmICF0aGlzLmdsb2JhbFBvaW50ZXJFdmVudHMuaWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cykge1xuICAgICAgdGhpcy5vbkhvdmVyU3RhcnQoZXZlbnQsICdtb3VzZScpO1xuICAgIH1cblxuICAgIHRoaXMuaWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyA9IGZhbHNlO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScsIFsnJGV2ZW50J10pXG4gIHByb3RlY3RlZCBvbk1vdXNlTGVhdmUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQoKSAmJiAoZXZlbnQuY3VycmVudFRhcmdldCBhcyBFbGVtZW50KT8uY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpKSB7XG4gICAgICB0aGlzLm9uSG92ZXJFbmQoJ21vdXNlJyk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
191
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG92ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctcHJpbWl0aXZlcy9pbnRlcmFjdGlvbnMvc3JjL2hvdmVyL2hvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUVWLFdBQVcsRUFFWCxnQkFBZ0IsRUFDaEIsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUU5Qzs7O0dBR0c7QUFDSCxNQUdNLG1CQUFtQjtJQWdCdkI7UUFmQTs7V0FFRztRQUNILDhCQUF5QixHQUFZLEtBQUssQ0FBQztRQUUzQzs7V0FFRztRQUNjLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFN0M7O1dBRUc7UUFDYyxlQUFVLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBR2hELDZDQUE2QztRQUM3QyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN0RixJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxJ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LEVBQUUsQ0FBQztZQUM5RixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDOzhHQTNIVSxRQUFRO2tHQUFSLFFBQVEsbWpCQUxSLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsQ0FBQzs7MkZBS25ELFFBQVE7a0JBVHBCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxZQUFZO29CQUN0QixRQUFRLEVBQUUsVUFBVTtvQkFDcEIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsVUFBVSxFQUFFLENBQUM7b0JBQzlELElBQUksRUFBRTt3QkFDSixtQkFBbUIsRUFBRSxXQUFXO3FCQUNqQztpQkFDRjs4QkEwRlcsY0FBYztzQkFEdkIsWUFBWTt1QkFBQyxjQUFjLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBVTlCLGNBQWM7c0JBRHZCLFlBQVk7dUJBQUMsY0FBYyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVE5QixZQUFZO3NCQURyQixZQUFZO3VCQUFDLFlBQVk7Z0JBTWhCLFlBQVk7c0JBRHJCLFlBQVk7dUJBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVU1QixZQUFZO3NCQURyQixZQUFZO3VCQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IMKpIDIwMjQgQW5ndWxhciBQcmltaXRpdmVzLlxuICogaHR0cHM6Ly9naXRodWIuY29tL25nLXByaW1pdGl2ZXMvbmctcHJpbWl0aXZlc1xuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIENDIEJZLU5EIDQuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5pbXBvcnQgdHlwZSB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBET0NVTUVOVCwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdGFibGUsXG4gIE9uQ2hhbmdlcyxcbiAgUExBVEZPUk1fSUQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdERpc2FibGVkIH0gZnJvbSAnbmctcHJpbWl0aXZlcy9pbnRlcm5hbCc7XG5pbXBvcnQgeyBOZ3BIb3ZlclRva2VuIH0gZnJvbSAnLi9ob3Zlci50b2tlbic7XG5cbi8qKlxuICogV2UgdXNlIGEgc2VydmljZSBoZXJlIGFzIHRoaXMgdmFsdWUgaXMgYSBzaW5nbGV0b25cbiAqIGFuZCBhbGxvd3MgdXMgdG8gcmVnaXN0ZXIgdGhlIGRvbSBldmVudHMgb25jZS5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuY2xhc3MgR2xvYmFsUG9pbnRlckV2ZW50cyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIGdsb2JhbCBtb3VzZSBldmVudHMgc2hvdWxkIGJlIGlnbm9yZWQuXG4gICAqL1xuICBpZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEFjY2VzcyB0aGUgZG9jdW1lbnQuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lIHRoZSBwbGF0Zm9ybSBpZC5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gd2Ugb25seSB3YW50IHRvIHNldHVwIGV2ZW50cyBvbiB0aGUgY2xpZW50XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIHRoaXMuc2V0dXBHbG9iYWxUb3VjaEV2ZW50cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBHbG9iYWxUb3VjaEV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJ1cCcsIHRoaXMuaGFuZGxlR2xvYmFsUG9pbnRlckV2ZW50LmJpbmQodGhpcykpO1xuICAgIHRoaXMuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hlbmQnLCB0aGlzLnNldEdsb2JhbElnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMuYmluZCh0aGlzKSk7XG4gIH1cblxuICBwcml2YXRlIHNldEdsb2JhbElnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5pZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzID0gdHJ1ZTtcbiAgICAvLyBDbGVhciBnbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzIGFmdGVyIGEgc2hvcnQgdGltZW91dC4gaU9TIGZpcmVzIG9uUG9pbnRlckVudGVyXG4gICAgLy8gd2l0aCBwb2ludGVyVHlwZT1cIm1vdXNlXCIgaW1tZWRpYXRlbHkgYWZ0ZXIgb25Qb2ludGVyVXAgYW5kIGJlZm9yZSBvbkZvY3VzLiBPbiBvdGhlclxuICAgIC8vIGRldmljZXMgdGhhdCBkb24ndCBoYXZlIHRoaXMgcXVpcmssIHdlIGRvbid0IHdhbnQgdG8gaWdub3JlIGEgbW91c2UgaG92ZXIgc29tZXRpbWUgaW5cbiAgICAvLyB0aGUgZGlzdGFudCBmdXR1cmUgYmVjYXVzZSBhIHVzZXIgcHJldmlvdXNseSB0b3VjaGVkIHRoZSBlbGVtZW50LlxuICAgIHNldFRpbWVvdXQoKCkgPT4gKHRoaXMuaWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyA9IGZhbHNlKSwgNTApO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVHbG9iYWxQb2ludGVyRXZlbnQoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5wb2ludGVyVHlwZSA9PT0gJ3RvdWNoJykge1xuICAgICAgdGhpcy5zZXRHbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzKCk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQSBkaXJlY3RpdmUgZm9yIG5vcm1hbGl6aW5nIGhvdmVyIGV2ZW50cyBhY3Jvc3MgdGhlIGRpZmZlcmVudCBicm93c2VycyBhbmQgZGV2aWNlcy5cbiAqXG4gKiBUaGlzIGlzIGFuIEFuZ3VsYXIgcG9ydCBvZiB0aGUgdXNlSG92ZXIgaG9vayBmcm9tXG4gKiByZWFjdC1hcmlhOiBodHRwczovL2dpdGh1Yi5jb20vYWRvYmUvcmVhY3Qtc3BlY3RydW0vYmxvYi9tYWluL3BhY2thZ2VzLyU0MHJlYWN0LWFyaWEvaW50ZXJhY3Rpb25zL3NyYy91c2VIb3Zlci50c1xuICovXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbbmdwSG92ZXJdJyxcbiAgZXhwb3J0QXM6ICduZ3BIb3ZlcicsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTmdwSG92ZXJUb2tlbiwgdXNlRXhpc3Rpbmc6IE5ncEhvdmVyIH1dLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmRhdGEtaG92ZXJdJzogJ2hvdmVyZWQoKScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIE5ncEhvdmVyIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgLyoqXG4gICAqIEFjY2VzcyB0aGUgZ2xvYmFsIHBvaW50ZXIgZXZlbnRzIGhhbmRsZXIuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGdsb2JhbFBvaW50ZXJFdmVudHMgPSBpbmplY3QoR2xvYmFsUG9pbnRlckV2ZW50cyk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgaG92aW5nIHNob3VsZCBiZSBkaXNhYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwge1xuICAgIGFsaWFzOiAnbmdwSG92ZXJEaXNhYmxlZCcsXG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcblxuICAvKipcbiAgICogQWNjZXNzIHRoZSBkaXNhYmxlZCBzdGF0ZSBmcm9tIGFueSBwYXJlbnQuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGlzRGlzYWJsZWQgPSBpbmplY3REaXNhYmxlZCh0aGlzLmRpc2FibGVkKTtcblxuICAvKipcbiAgICogU3RvcmUgdGhlIGN1cnJlbnQgaG92ZXIgc3RhdGUuXG4gICAqL1xuICBwcm90ZWN0ZWQgaG92ZXJlZCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBlbGVtZW50IHNob3VsZCBpZ25vcmUgZW11bGF0ZWQgbW91c2UgZXZlbnRzLlxuICAgKi9cbiAgcHJpdmF0ZSBpZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEVtaXQgYW4gZXZlbnQgd2hlbiBob3ZlcmluZyBzdGFydHMuXG4gICAqL1xuICByZWFkb25seSBob3ZlclN0YXJ0ID0gb3V0cHV0PHZvaWQ+KHsgYWxpYXM6ICduZ3BIb3ZlclN0YXJ0JyB9KTtcblxuICAvKipcbiAgICogRW1pdCBhbiBldmVudCB3aGVuIGhvdmVyaW5nIGVuZHMuXG4gICAqL1xuICByZWFkb25seSBob3ZlckVuZCA9IG91dHB1dDx2b2lkPih7IGFsaWFzOiAnbmdwSG92ZXJFbmQnIH0pO1xuXG4gIC8qKlxuICAgKiBFbWl0IGFuIGV2ZW50IHdoZW4gdGhlIGhvdmVyIHN0YXRlIGNoYW5nZXMuXG4gICAqL1xuICByZWFkb25seSBob3ZlckNoYW5nZSA9IG91dHB1dDxib29sZWFuPih7IGFsaWFzOiAnbmdwSG92ZXInIH0pO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoJ2Rpc2FibGVkJyBpbiBjaGFuZ2VzKSB7XG4gICAgICAvLyBpZiB0aGUgY29tcG9uZW50IGlzIHN1ZGRlbmx5IGRpc2FibGVkIGFuZCBpcyBjdXJyZW50bHkgaG92ZXJlZFxuICAgICAgLy8gc3dpdGNoIHRvIHRoZSB1bmhvdmVyZWQgc3RhdGUuXG4gICAgICBpZiAoY2hhbmdlc1snZGlzYWJsZWQnXS5jdXJyZW50VmFsdWUgPT09IHRydWUpIHtcbiAgICAgICAgdGhpcy5vbkhvdmVyRW5kKCdtb3VzZScpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VyIHRoZSBob3ZlciBzdGFydCBldmVudHMuXG4gICAqIEBwYXJhbSBldmVudFxuICAgKiBAcGFyYW0gcG9pbnRlclR5cGVcbiAgICovXG4gIHByaXZhdGUgb25Ib3ZlclN0YXJ0KGV2ZW50OiBFdmVudCwgcG9pbnRlclR5cGU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMuaXNEaXNhYmxlZCgpIHx8XG4gICAgICBwb2ludGVyVHlwZSA9PT0gJ3RvdWNoJyB8fFxuICAgICAgdGhpcy5ob3ZlcmVkKCkgfHxcbiAgICAgICEoZXZlbnQuY3VycmVudFRhcmdldCBhcyBFbGVtZW50KT8uY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5ob3ZlcmVkLnNldCh0cnVlKTtcbiAgICB0aGlzLmhvdmVyU3RhcnQuZW1pdCgpO1xuICAgIHRoaXMuaG92ZXJDaGFuZ2UuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VyIHRoZSBob3ZlciBlbmQgZXZlbnRzLlxuICAgKiBAcGFyYW0gcG9pbnRlclR5cGVcbiAgICovXG4gIHByaXZhdGUgb25Ib3ZlckVuZChwb2ludGVyVHlwZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHBvaW50ZXJUeXBlID09PSAndG91Y2gnIHx8ICF0aGlzLmhvdmVyZWQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaG92ZXJlZC5zZXQoZmFsc2UpO1xuICAgIHRoaXMuaG92ZXJFbmQuZW1pdCgpO1xuICAgIHRoaXMuaG92ZXJDaGFuZ2UuZW1pdChmYWxzZSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdwb2ludGVyZW50ZXInLCBbJyRldmVudCddKVxuICBwcm90ZWN0ZWQgb25Qb2ludGVyRW50ZXIoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmdsb2JhbFBvaW50ZXJFdmVudHMuaWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyAmJiBldmVudC5wb2ludGVyVHlwZSA9PT0gJ21vdXNlJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMub25Ib3ZlclN0YXJ0KGV2ZW50LCBldmVudC5wb2ludGVyVHlwZSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdwb2ludGVybGVhdmUnLCBbJyRldmVudCddKVxuICBwcm90ZWN0ZWQgb25Qb2ludGVyTGVhdmUoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0Rpc2FibGVkKCkgJiYgKGV2ZW50LmN1cnJlbnRUYXJnZXQgYXMgRWxlbWVudCk/LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KSkge1xuICAgICAgdGhpcy5vbkhvdmVyRW5kKGV2ZW50LnBvaW50ZXJUeXBlKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd0b3VjaHN0YXJ0JylcbiAgcHJvdGVjdGVkIG9uVG91Y2hTdGFydCgpOiB2b2lkIHtcbiAgICB0aGlzLmlnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMgPSB0cnVlO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicsIFsnJGV2ZW50J10pXG4gIHByb3RlY3RlZCBvbk1vdXNlRW50ZXIoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyAmJiAhdGhpcy5nbG9iYWxQb2ludGVyRXZlbnRzLmlnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMpIHtcbiAgICAgIHRoaXMub25Ib3ZlclN0YXJ0KGV2ZW50LCAnbW91c2UnKTtcbiAgICB9XG5cbiAgICB0aGlzLmlnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMgPSBmYWxzZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBbJyRldmVudCddKVxuICBwcm90ZWN0ZWQgb25Nb3VzZUxlYXZlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzRGlzYWJsZWQoKSAmJiAoZXZlbnQuY3VycmVudFRhcmdldCBhcyBFbGVtZW50KT8uY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpKSB7XG4gICAgICB0aGlzLm9uSG92ZXJFbmQoJ21vdXNlJyk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -11,4 +11,8 @@ export { NgpFocus } from './focus/focus.directive';
|
|
|
11
11
|
export { NgpFocusToken } from './focus/focus.token';
|
|
12
12
|
export { NgpFocusVisible } from './focus-visible/focus-visible.directive';
|
|
13
13
|
export { NgpFocusVisibleToken } from './focus-visible/focus-visible.token';
|
|
14
|
-
|
|
14
|
+
export { NgpPress } from './press/press.directive';
|
|
15
|
+
export { NgpPressToken } from './press/press.token';
|
|
16
|
+
export { NgpMove } from './move/move.directive';
|
|
17
|
+
export { NgpMoveToken } from './move/move.token';
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1wcmltaXRpdmVzL2ludGVyYWN0aW9ucy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDM0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgwqkgMjAyNCBBbmd1bGFyIFByaW1pdGl2ZXMuXG4gKiBodHRwczovL2dpdGh1Yi5jb20vbmctcHJpbWl0aXZlcy9uZy1wcmltaXRpdmVzXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQ0MgQlktTkQgNC4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuZXhwb3J0IHsgTmdwSG92ZXIgfSBmcm9tICcuL2hvdmVyL2hvdmVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBOZ3BIb3ZlclRva2VuLCBpbmplY3RIb3ZlciB9IGZyb20gJy4vaG92ZXIvaG92ZXIudG9rZW4nO1xuZXhwb3J0IHsgTmdwRm9jdXMgfSBmcm9tICcuL2ZvY3VzL2ZvY3VzLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBOZ3BGb2N1c1Rva2VuIH0gZnJvbSAnLi9mb2N1cy9mb2N1cy50b2tlbic7XG5leHBvcnQgeyBOZ3BGb2N1c1Zpc2libGUgfSBmcm9tICcuL2ZvY3VzLXZpc2libGUvZm9jdXMtdmlzaWJsZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgTmdwRm9jdXNWaXNpYmxlVG9rZW4gfSBmcm9tICcuL2ZvY3VzLXZpc2libGUvZm9jdXMtdmlzaWJsZS50b2tlbic7XG5leHBvcnQgeyBOZ3BQcmVzcyB9IGZyb20gJy4vcHJlc3MvcHJlc3MuZGlyZWN0aXZlJztcbmV4cG9ydCB7IE5ncFByZXNzVG9rZW4gfSBmcm9tICcuL3ByZXNzL3ByZXNzLnRva2VuJztcbmV4cG9ydCB7IE5ncE1vdmUgfSBmcm9tICcuL21vdmUvbW92ZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgTmdwTW92ZVRva2VuIH0gZnJvbSAnLi9tb3ZlL21vdmUudG9rZW4nO1xuIl19
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { booleanAttribute, Directive, HostListener, input, output, signal } from '@angular/core';
|
|
2
|
+
import { injectDisabled } from 'ng-primitives/internal';
|
|
3
|
+
import { injectDisposables } from 'ng-primitives/utils';
|
|
4
|
+
import { NgpMoveToken } from './move.token';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* Inspired by react-aria useMove hook:
|
|
8
|
+
* https://github.com/adobe/react-spectrum/blob/main/packages/%40react-aria/interactions/src/useMove.ts
|
|
9
|
+
*/
|
|
10
|
+
export class NgpMove {
|
|
11
|
+
constructor() {
|
|
12
|
+
/**
|
|
13
|
+
* Access the disposable helper.
|
|
14
|
+
*/
|
|
15
|
+
this.disposables = injectDisposables();
|
|
16
|
+
/**
|
|
17
|
+
* Whether movement is disabled.
|
|
18
|
+
*/
|
|
19
|
+
this.disabled = input(false, {
|
|
20
|
+
alias: 'ngpMoveDisabled',
|
|
21
|
+
transform: booleanAttribute,
|
|
22
|
+
});
|
|
23
|
+
/**
|
|
24
|
+
* Access the disabled state from any parent.
|
|
25
|
+
*/
|
|
26
|
+
this.isDisabled = injectDisabled(this.disabled);
|
|
27
|
+
/**
|
|
28
|
+
* Emit when the move event begins.
|
|
29
|
+
*/
|
|
30
|
+
this.start = output({
|
|
31
|
+
alias: 'ngpMoveStart',
|
|
32
|
+
});
|
|
33
|
+
/**
|
|
34
|
+
* Emit when the element is moved.
|
|
35
|
+
*/
|
|
36
|
+
this.move = output({
|
|
37
|
+
alias: 'ngpMove',
|
|
38
|
+
});
|
|
39
|
+
/**
|
|
40
|
+
* Emit when the move event ends.
|
|
41
|
+
*/
|
|
42
|
+
this.end = output({
|
|
43
|
+
alias: 'ngpMoveEnd',
|
|
44
|
+
});
|
|
45
|
+
/**
|
|
46
|
+
* Whether the element is currently being moved.
|
|
47
|
+
*/
|
|
48
|
+
this.isMoving = signal(false);
|
|
49
|
+
/**
|
|
50
|
+
* Store the last x position of the element.
|
|
51
|
+
*/
|
|
52
|
+
this.x = null;
|
|
53
|
+
/**
|
|
54
|
+
* Store the last y position of the element.
|
|
55
|
+
*/
|
|
56
|
+
this.y = null;
|
|
57
|
+
/**
|
|
58
|
+
* Store the id of the last pointer.
|
|
59
|
+
*/
|
|
60
|
+
this.pointerId = null;
|
|
61
|
+
/**
|
|
62
|
+
* Store the disposable event listeners.
|
|
63
|
+
*/
|
|
64
|
+
this.disposableListeners = [];
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Handle a move start.
|
|
68
|
+
*/
|
|
69
|
+
onMoveStart(event, pointerType) {
|
|
70
|
+
this.start.emit({
|
|
71
|
+
pointerType,
|
|
72
|
+
shiftKey: event.shiftKey,
|
|
73
|
+
ctrlKey: event.ctrlKey,
|
|
74
|
+
metaKey: event.metaKey,
|
|
75
|
+
altKey: event.altKey,
|
|
76
|
+
});
|
|
77
|
+
this.isMoving.set(true);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Handle a move event.
|
|
81
|
+
*/
|
|
82
|
+
onMove(event, pointerType, deltaX, deltaY) {
|
|
83
|
+
if (deltaX === 0 && deltaY === 0) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
this.move.emit({
|
|
87
|
+
deltaX,
|
|
88
|
+
deltaY,
|
|
89
|
+
pointerType,
|
|
90
|
+
shiftKey: event.shiftKey,
|
|
91
|
+
ctrlKey: event.ctrlKey,
|
|
92
|
+
metaKey: event.metaKey,
|
|
93
|
+
altKey: event.altKey,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Handle a move end.
|
|
98
|
+
*/
|
|
99
|
+
onMoveEnd(event, pointerType) {
|
|
100
|
+
this.end.emit({
|
|
101
|
+
pointerType,
|
|
102
|
+
shiftKey: event.shiftKey,
|
|
103
|
+
ctrlKey: event.ctrlKey,
|
|
104
|
+
metaKey: event.metaKey,
|
|
105
|
+
altKey: event.altKey,
|
|
106
|
+
});
|
|
107
|
+
this.isMoving.set(false);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Handle the pointer down event.
|
|
111
|
+
*/
|
|
112
|
+
onPointerDown(event) {
|
|
113
|
+
// ignore right-click or additional pointers
|
|
114
|
+
if (event.button !== 0 || this.pointerId !== null || this.isDisabled()) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
// prevent the default behavior
|
|
118
|
+
event.preventDefault();
|
|
119
|
+
event.stopPropagation();
|
|
120
|
+
this.onMoveStart(event, event.pointerType);
|
|
121
|
+
// store the pointer id and initial position
|
|
122
|
+
this.pointerId = event.pointerId;
|
|
123
|
+
this.x = event.pageX;
|
|
124
|
+
this.y = event.pageY;
|
|
125
|
+
// add global event listeners
|
|
126
|
+
const pointerMove = this.disposables.addEventListener(window, 'pointermove', this.onPointerMove.bind(this), false);
|
|
127
|
+
const pointerUp = this.disposables.addEventListener(window, 'pointerup', this.onPointerUp.bind(this), false);
|
|
128
|
+
const pointerCancel = this.disposables.addEventListener(window, 'pointercancel', this.onPointerUp.bind(this), false);
|
|
129
|
+
// store the disposable event listeners
|
|
130
|
+
this.disposableListeners = [pointerMove, pointerUp, pointerCancel];
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Handle the pointer up event.
|
|
134
|
+
*/
|
|
135
|
+
onPointerUp(event) {
|
|
136
|
+
if (this.pointerId !== event.pointerId) {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
const pointerType = (event.pointerType ?? 'mouse');
|
|
140
|
+
this.onMoveEnd(event, pointerType);
|
|
141
|
+
this.pointerId = null;
|
|
142
|
+
this.disposableListeners.forEach(dispose => dispose());
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Handle the pointer move event.
|
|
146
|
+
*/
|
|
147
|
+
onPointerMove(event) {
|
|
148
|
+
if (this.pointerId !== event.pointerId) {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
// Problems with PointerEvent#movementX/movementY:
|
|
152
|
+
// 1. it is always 0 on macOS Safari.
|
|
153
|
+
// 2. On Chrome Android, it's scaled by devicePixelRatio, but not on Chrome macOS
|
|
154
|
+
this.onMove(event, event.pointerType, event.pageX - (this.x ?? 0), event.pageY - (this.y ?? 0));
|
|
155
|
+
this.x = event.pageX;
|
|
156
|
+
this.y = event.pageY;
|
|
157
|
+
}
|
|
158
|
+
triggerKeyboardMove(event, deltaX, deltaY) {
|
|
159
|
+
if (this.isDisabled()) {
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
this.onMoveStart(event, 'keyboard');
|
|
163
|
+
this.onMove(event, 'keyboard', deltaX, deltaY);
|
|
164
|
+
this.onMoveEnd(event, 'keyboard');
|
|
165
|
+
}
|
|
166
|
+
onArrowUp(event) {
|
|
167
|
+
event.preventDefault();
|
|
168
|
+
event.stopPropagation();
|
|
169
|
+
this.triggerKeyboardMove(event, 0, -1);
|
|
170
|
+
}
|
|
171
|
+
onArrowDown(event) {
|
|
172
|
+
event.preventDefault();
|
|
173
|
+
event.stopPropagation();
|
|
174
|
+
this.triggerKeyboardMove(event, 0, 1);
|
|
175
|
+
}
|
|
176
|
+
onArrowLeft(event) {
|
|
177
|
+
event.preventDefault();
|
|
178
|
+
event.stopPropagation();
|
|
179
|
+
this.triggerKeyboardMove(event, -1, 0);
|
|
180
|
+
}
|
|
181
|
+
onArrowRight(event) {
|
|
182
|
+
event.preventDefault();
|
|
183
|
+
event.stopPropagation();
|
|
184
|
+
this.triggerKeyboardMove(event, 1, 0);
|
|
185
|
+
}
|
|
186
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpMove, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
187
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.1", type: NgpMove, isStandalone: true, selector: "[ngpMove]", inputs: { disabled: { classPropertyName: "disabled", publicName: "ngpMoveDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { start: "ngpMoveStart", move: "ngpMove", end: "ngpMoveEnd" }, host: { listeners: { "pointerdown": "onPointerDown($event)", "keydown.ArrowUp": "onArrowUp($event)", "keydown.ArrowDown": "onArrowDown($event)", "keydown.ArrowLeft": "onArrowLeft($event)", "keydown.ArrowRight": "onArrowRight($event)" }, properties: { "attr.data-move": "isMoving()" } }, providers: [{ provide: NgpMoveToken, useExisting: NgpMove }], exportAs: ["ngpMove"], ngImport: i0 }); }
|
|
188
|
+
}
|
|
189
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpMove, decorators: [{
|
|
190
|
+
type: Directive,
|
|
191
|
+
args: [{
|
|
192
|
+
standalone: true,
|
|
193
|
+
selector: '[ngpMove]',
|
|
194
|
+
exportAs: 'ngpMove',
|
|
195
|
+
providers: [{ provide: NgpMoveToken, useExisting: NgpMove }],
|
|
196
|
+
host: {
|
|
197
|
+
'[attr.data-move]': 'isMoving()',
|
|
198
|
+
},
|
|
199
|
+
}]
|
|
200
|
+
}], propDecorators: { onPointerDown: [{
|
|
201
|
+
type: HostListener,
|
|
202
|
+
args: ['pointerdown', ['$event']]
|
|
203
|
+
}], onArrowUp: [{
|
|
204
|
+
type: HostListener,
|
|
205
|
+
args: ['keydown.ArrowUp', ['$event']]
|
|
206
|
+
}], onArrowDown: [{
|
|
207
|
+
type: HostListener,
|
|
208
|
+
args: ['keydown.ArrowDown', ['$event']]
|
|
209
|
+
}], onArrowLeft: [{
|
|
210
|
+
type: HostListener,
|
|
211
|
+
args: ['keydown.ArrowLeft', ['$event']]
|
|
212
|
+
}], onArrowRight: [{
|
|
213
|
+
type: HostListener,
|
|
214
|
+
args: ['keydown.ArrowRight', ['$event']]
|
|
215
|
+
}] } });
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1wcmltaXRpdmVzL2ludGVyYWN0aW9ucy9zcmMvbW92ZS9tb3ZlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFFNUM7OztHQUdHO0FBV0gsTUFBTSxPQUFPLE9BQU87SUFUcEI7UUFVRTs7V0FFRztRQUNjLGdCQUFXLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQztRQUVuRDs7V0FFRztRQUNNLGFBQVEsR0FBRyxLQUFLLENBQXdCLEtBQUssRUFBRTtZQUN0RCxLQUFLLEVBQUUsaUJBQWlCO1lBQ3hCLFNBQVMsRUFBRSxnQkFBZ0I7U0FDNUIsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDYyxlQUFVLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU1RDs7V0FFRztRQUNNLFVBQUssR0FBRyxNQUFNLENBQW9CO1lBQ3pDLEtBQUssRUFBRSxjQUFjO1NBQ3RCLENBQUMsQ0FBQztRQUVIOztXQUVHO1FBQ00sU0FBSSxHQUFHLE1BQU0sQ0FBZTtZQUNuQyxLQUFLLEVBQUUsU0FBUztTQUNqQixDQUFDLENBQUM7UUFFSDs7V0FFRztRQUNNLFFBQUcsR0FBRyxNQUFNLENBQWtCO1lBQ3JDLEtBQUssRUFBRSxZQUFZO1NBQ3BCLENBQUMsQ0FBQztRQUVIOztXQUVHO1FBQ0ssYUFBUSxHQUFHLE1B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RUFBRSxDQUFDLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBR1MsWUFBWSxDQUFDLEtBQW9CO1FBQ3pDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQzs4R0EzT1UsT0FBTztrR0FBUCxPQUFPLG1qQkFMUCxDQUFDLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLENBQUM7OzJGQUtqRCxPQUFPO2tCQVRuQixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsV0FBVztvQkFDckIsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLFNBQVMsRUFBRSxDQUFDO29CQUM1RCxJQUFJLEVBQUU7d0JBQ0osa0JBQWtCLEVBQUUsWUFBWTtxQkFDakM7aUJBQ0Y7OEJBMEhXLGFBQWE7c0JBRHRCLFlBQVk7dUJBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQTBGN0IsU0FBUztzQkFEbEIsWUFBWTt1QkFBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFRakMsV0FBVztzQkFEcEIsWUFBWTt1QkFBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFRbkMsV0FBVztzQkFEcEIsWUFBWTt1QkFBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFRbkMsWUFBWTtzQkFEckIsWUFBWTt1QkFBQyxvQkFBb0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IMKpIDIwMjQgQW5ndWxhciBQcmltaXRpdmVzLlxuICogaHR0cHM6Ly9naXRodWIuY29tL25nLXByaW1pdGl2ZXMvbmctcHJpbWl0aXZlc1xuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIENDIEJZLU5EIDQuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIGlucHV0LCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0RGlzYWJsZWQgfSBmcm9tICduZy1wcmltaXRpdmVzL2ludGVybmFsJztcbmltcG9ydCB7IGluamVjdERpc3Bvc2FibGVzIH0gZnJvbSAnbmctcHJpbWl0aXZlcy91dGlscyc7XG5pbXBvcnQgeyBOZ3BNb3ZlVG9rZW4gfSBmcm9tICcuL21vdmUudG9rZW4nO1xuXG4vKipcbiAqIEluc3BpcmVkIGJ5IHJlYWN0LWFyaWEgdXNlTW92ZSBob29rOlxuICogaHR0cHM6Ly9naXRodWIuY29tL2Fkb2JlL3JlYWN0LXNwZWN0cnVtL2Jsb2IvbWFpbi9wYWNrYWdlcy8lNDByZWFjdC1hcmlhL2ludGVyYWN0aW9ucy9zcmMvdXNlTW92ZS50c1xuICovXG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1tuZ3BNb3ZlXScsXG4gIGV4cG9ydEFzOiAnbmdwTW92ZScsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTmdwTW92ZVRva2VuLCB1c2VFeGlzdGluZzogTmdwTW92ZSB9XSxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5kYXRhLW1vdmVdJzogJ2lzTW92aW5nKCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBOZ3BNb3ZlIHtcbiAgLyoqXG4gICAqIEFjY2VzcyB0aGUgZGlzcG9zYWJsZSBoZWxwZXIuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGRpc3Bvc2FibGVzID0gaW5qZWN0RGlzcG9zYWJsZXMoKTtcblxuICAvKipcbiAgICogV2hldGhlciBtb3ZlbWVudCBpcyBkaXNhYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwge1xuICAgIGFsaWFzOiAnbmdwTW92ZURpc2FibGVkJyxcbiAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBY2Nlc3MgdGhlIGRpc2FibGVkIHN0YXRlIGZyb20gYW55IHBhcmVudC5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgaXNEaXNhYmxlZCA9IGluamVjdERpc2FibGVkKHRoaXMuZGlzYWJsZWQpO1xuXG4gIC8qKlxuICAgKiBFbWl0IHdoZW4gdGhlIG1vdmUgZXZlbnQgYmVnaW5zLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhcnQgPSBvdXRwdXQ8TmdwTW92ZVN0YXJ0RXZlbnQ+KHtcbiAgICBhbGlhczogJ25ncE1vdmVTdGFydCcsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBFbWl0IHdoZW4gdGhlIGVsZW1lbnQgaXMgbW92ZWQuXG4gICAqL1xuICByZWFkb25seSBtb3ZlID0gb3V0cHV0PE5ncE1vdmVFdmVudD4oe1xuICAgIGFsaWFzOiAnbmdwTW92ZScsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBFbWl0IHdoZW4gdGhlIG1vdmUgZXZlbnQgZW5kcy5cbiAgICovXG4gIHJlYWRvbmx5IGVuZCA9IG91dHB1dDxOZ3BNb3ZlRW5kRXZlbnQ+KHtcbiAgICBhbGlhczogJ25ncE1vdmVFbmQnLFxuICB9KTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZWxlbWVudCBpcyBjdXJyZW50bHkgYmVpbmcgbW92ZWQuXG4gICAqL1xuICBwcml2YXRlIGlzTW92aW5nID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcblxuICAvKipcbiAgICogU3RvcmUgdGhlIGxhc3QgeCBwb3NpdGlvbiBvZiB0aGUgZWxlbWVudC5cbiAgICovXG4gIHByaXZhdGUgeDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFN0b3JlIHRoZSBsYXN0IHkgcG9zaXRpb24gb2YgdGhlIGVsZW1lbnQuXG4gICAqL1xuICBwcml2YXRlIHk6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBTdG9yZSB0aGUgaWQgb2YgdGhlIGxhc3QgcG9pbnRlci5cbiAgICovXG4gIHByaXZhdGUgcG9pbnRlcklkOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogU3RvcmUgdGhlIGRpc3Bvc2FibGUgZXZlbnQgbGlzdGVuZXJzLlxuICAgKi9cbiAgcHJpdmF0ZSBkaXNwb3NhYmxlTGlzdGVuZXJzOiAoKCkgPT4gdm9pZClbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBIYW5kbGUgYSBtb3ZlIHN0YXJ0LlxuICAgKi9cbiAgcHJpdmF0ZSBvbk1vdmVTdGFydChldmVudDogUG9pbnRlckV2ZW50IHwgS2V5Ym9hcmRFdmVudCwgcG9pbnRlclR5cGU6IFBvaW50ZXJUeXBlKTogdm9pZCB7XG4gICAgdGhpcy5zdGFydC5lbWl0KHtcbiAgICAgIHBvaW50ZXJUeXBlLFxuICAgICAgc2hpZnRLZXk6IGV2ZW50LnNoaWZ0S2V5LFxuICAgICAgY3RybEtleTogZXZlbnQuY3RybEtleSxcbiAgICAgIG1ldGFLZXk6IGV2ZW50Lm1ldGFLZXksXG4gICAgICBhbHRLZXk6IGV2ZW50LmFsdEtleSxcbiAgICB9KTtcbiAgICB0aGlzLmlzTW92aW5nLnNldCh0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGUgYSBtb3ZlIGV2ZW50LlxuICAgKi9cbiAgcHJpdmF0ZSBvbk1vdmUoXG4gICAgZXZlbnQ6IFBvaW50ZXJFdmVudCB8IEtleWJvYXJkRXZlbnQsXG4gICAgcG9pbnRlclR5cGU6IFBvaW50ZXJUeXBlLFxuICAgIGRlbHRhWDogbnVtYmVyLFxuICAgIGRlbHRhWTogbnVtYmVyLFxuICApOiB2b2lkIHtcbiAgICBpZiAoZGVsdGFYID09PSAwICYmIGRlbHRhWSA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubW92ZS5lbWl0KHtcbiAgICAgIGRlbHRhWCxcbiAgICAgIGRlbHRhWSxcbiAgICAgIHBvaW50ZXJUeXBlLFxuICAgICAgc2hpZnRLZXk6IGV2ZW50LnNoaWZ0S2V5LFxuICAgICAgY3RybEtleTogZXZlbnQuY3RybEtleSxcbiAgICAgIG1ldGFLZXk6IGV2ZW50Lm1ldGFLZXksXG4gICAgICBhbHRLZXk6IGV2ZW50LmFsdEtleSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGUgYSBtb3ZlIGVuZC5cbiAgICovXG4gIHByaXZhdGUgb25Nb3ZlRW5kKGV2ZW50OiBQb2ludGVyRXZlbnQgfCBLZXlib2FyZEV2ZW50LCBwb2ludGVyVHlwZTogUG9pbnRlclR5cGUpOiB2b2lkIHtcbiAgICB0aGlzLmVuZC5lbWl0KHtcbiAgICAgIHBvaW50ZXJUeXBlLFxuICAgICAgc2hpZnRLZXk6IGV2ZW50LnNoaWZ0S2V5LFxuICAgICAgY3RybEtleTogZXZlbnQuY3RybEtleSxcbiAgICAgIG1ldGFLZXk6IGV2ZW50Lm1ldGFLZXksXG4gICAgICBhbHRLZXk6IGV2ZW50LmFsdEtleSxcbiAgICB9KTtcbiAgICB0aGlzLmlzTW92aW5nLnNldChmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIHRoZSBwb2ludGVyIGRvd24gZXZlbnQuXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdwb2ludGVyZG93bicsIFsnJGV2ZW50J10pXG4gIHByb3RlY3RlZCBvblBvaW50ZXJEb3duKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBpZ25vcmUgcmlnaHQtY2xpY2sgb3IgYWRkaXRpb25hbCBwb2ludGVyc1xuICAgIGlmIChldmVudC5idXR0b24gIT09IDAgfHwgdGhpcy5wb2ludGVySWQgIT09IG51bGwgfHwgdGhpcy5pc0Rpc2FibGVkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBwcmV2ZW50IHRoZSBkZWZhdWx0IGJlaGF2aW9yXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIHRoaXMub25Nb3ZlU3RhcnQoZXZlbnQsIGV2ZW50LnBvaW50ZXJUeXBlIGFzIFBvaW50ZXJUeXBlKTtcblxuICAgIC8vIHN0b3JlIHRoZSBwb2ludGVyIGlkIGFuZCBpbml0aWFsIHBvc2l0aW9uXG4gICAgdGhpcy5wb2ludGVySWQgPSBldmVudC5wb2ludGVySWQ7XG4gICAgdGhpcy54ID0gZXZlbnQucGFnZVg7XG4gICAgdGhpcy55ID0gZXZlbnQucGFnZVk7XG5cbiAgICAvLyBhZGQgZ2xvYmFsIGV2ZW50IGxpc3RlbmVyc1xuICAgIGNvbnN0IHBvaW50ZXJNb3ZlID0gdGhpcy5kaXNwb3NhYmxlcy5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgd2luZG93LFxuICAgICAgJ3BvaW50ZXJtb3ZlJyxcbiAgICAgIHRoaXMub25Qb2ludGVyTW92ZS5iaW5kKHRoaXMpIGFzIEV2ZW50TGlzdGVuZXIsXG4gICAgICBmYWxzZSxcbiAgICApO1xuXG4gICAgY29uc3QgcG9pbnRlclVwID0gdGhpcy5kaXNwb3NhYmxlcy5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgd2luZG93LFxuICAgICAgJ3BvaW50ZXJ1cCcsXG4gICAgICB0aGlzLm9uUG9pbnRlclVwLmJpbmQodGhpcykgYXMgRXZlbnRMaXN0ZW5lcixcbiAgICAgIGZhbHNlLFxuICAgICk7XG5cbiAgICBjb25zdCBwb2ludGVyQ2FuY2VsID0gdGhpcy5kaXNwb3NhYmxlcy5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgd2luZG93LFxuICAgICAgJ3BvaW50ZXJjYW5jZWwnLFxuICAgICAgdGhpcy5vblBvaW50ZXJVcC5iaW5kKHRoaXMpIGFzIEV2ZW50TGlzdGVuZXIsXG4gICAgICBmYWxzZSxcbiAgICApO1xuXG4gICAgLy8gc3RvcmUgdGhlIGRpc3Bvc2FibGUgZXZlbnQgbGlzdGVuZXJzXG4gICAgdGhpcy5kaXNwb3NhYmxlTGlzdGVuZXJzID0gW3BvaW50ZXJNb3ZlLCBwb2ludGVyVXAsIHBvaW50ZXJDYW5jZWxdO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZSB0aGUgcG9pbnRlciB1cCBldmVudC5cbiAgICovXG4gIHByb3RlY3RlZCBvblBvaW50ZXJVcChldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMucG9pbnRlcklkICE9PSBldmVudC5wb2ludGVySWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwb2ludGVyVHlwZSA9IChldmVudC5wb2ludGVyVHlwZSA/PyAnbW91c2UnKSBhcyBQb2ludGVyVHlwZTtcbiAgICB0aGlzLm9uTW92ZUVuZChldmVudCwgcG9pbnRlclR5cGUpO1xuICAgIHRoaXMucG9pbnRlcklkID0gbnVsbDtcbiAgICB0aGlzLmRpc3Bvc2FibGVMaXN0ZW5lcnMuZm9yRWFjaChkaXNwb3NlID0+IGRpc3Bvc2UoKSk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIHRoZSBwb2ludGVyIG1vdmUgZXZlbnQuXG4gICAqL1xuICBwcm90ZWN0ZWQgb25Qb2ludGVyTW92ZShldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMucG9pbnRlcklkICE9PSBldmVudC5wb2ludGVySWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBQcm9ibGVtcyB3aXRoIFBvaW50ZXJFdmVudCNtb3ZlbWVudFgvbW92ZW1lbnRZOlxuICAgIC8vIDEuIGl0IGlzIGFsd2F5cyAwIG9uIG1hY09TIFNhZmFyaS5cbiAgICAvLyAyLiBPbiBDaHJvbWUgQW5kcm9pZCwgaXQncyBzY2FsZWQgYnkgZGV2aWNlUGl4ZWxSYXRpbywgYnV0IG5vdCBvbiBDaHJvbWUgbWFjT1NcbiAgICB0aGlzLm9uTW92ZShcbiAgICAgIGV2ZW50LFxuICAgICAgZXZlbnQucG9pbnRlclR5cGUgYXMgUG9pbnRlclR5cGUsXG4gICAgICBldmVudC5wYWdlWCAtICh0aGlzLnggPz8gMCksXG4gICAgICBldmVudC5wYWdlWSAtICh0aGlzLnkgPz8gMCksXG4gICAgKTtcbiAgICB0aGlzLnggPSBldmVudC5wYWdlWDtcbiAgICB0aGlzLnkgPSBldmVudC5wYWdlWTtcbiAgfVxuXG4gIHByaXZhdGUgdHJpZ2dlcktleWJvYXJkTW92ZShldmVudDogS2V5Ym9hcmRFdmVudCwgZGVsdGFYOiBudW1iZXIsIGRlbHRhWTogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNEaXNhYmxlZCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5vbk1vdmVTdGFydChldmVudCwgJ2tleWJvYXJkJyk7XG4gICAgdGhpcy5vbk1vdmUoZXZlbnQsICdrZXlib2FyZCcsIGRlbHRhWCwgZGVsdGFZKTtcbiAgICB0aGlzLm9uTW92ZUVuZChldmVudCwgJ2tleWJvYXJkJyk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLkFycm93VXAnLCBbJyRldmVudCddKVxuICBwcm90ZWN0ZWQgb25BcnJvd1VwKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnRyaWdnZXJLZXlib2FyZE1vdmUoZXZlbnQsIDAsIC0xKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uQXJyb3dEb3duJywgWyckZXZlbnQnXSlcbiAgcHJvdGVjdGVkIG9uQXJyb3dEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnRyaWdnZXJLZXlib2FyZE1vdmUoZXZlbnQsIDAsIDEpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5BcnJvd0xlZnQnLCBbJyRldmVudCddKVxuICBwcm90ZWN0ZWQgb25BcnJvd0xlZnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMudHJpZ2dlcktleWJvYXJkTW92ZShldmVudCwgLTEsIDApO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5BcnJvd1JpZ2h0JywgWyckZXZlbnQnXSlcbiAgcHJvdGVjdGVkIG9uQXJyb3dSaWdodChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy50cmlnZ2VyS2V5Ym9hcmRNb3ZlKGV2ZW50LCAxLCAwKTtcbiAgfVxufVxuXG5pbnRlcmZhY2UgTmdwTW92ZUJhc2VFdmVudCB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBldmVudCB3YXMgdHJpZ2dlcmVkIGJ5IGEgbW91c2Ugb3Iga2V5Ym9hcmQgZXZlbnQuXG4gICAqL1xuICBwb2ludGVyVHlwZTogUG9pbnRlclR5cGU7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBzaGlmdCBrZXkgd2FzIHByZXNzZWQgZHVyaW5nIHRoZSBldmVudC5cbiAgICovXG4gIHNoaWZ0S2V5OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciB0aGUgY29udHJvbCBrZXkgd2FzIHByZXNzZWQgZHVyaW5nIHRoZSBldmVudC5cbiAgICovXG4gIGN0cmxLZXk6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBtZXRhIGtleSB3YXMgcHJlc3NlZCBkdXJpbmcgdGhlIGV2ZW50LlxuICAgKi9cbiAgbWV0YUtleTogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGFsdCBrZXkgd2FzIHByZXNzZWQgZHVyaW5nIHRoZSBldmVudC5cbiAgICovXG4gIGFsdEtleTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgTmdwTW92ZVN0YXJ0RXZlbnQgPSBOZ3BNb3ZlQmFzZUV2ZW50O1xuZXhwb3J0IHR5cGUgTmdwTW92ZUVuZEV2ZW50ID0gTmdwTW92ZUJhc2VFdmVudDtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3BNb3ZlRXZlbnQgZXh0ZW5kcyBOZ3BNb3ZlQmFzZUV2ZW50IHtcbiAgLyoqXG4gICAqIFRoZSBhbW91bnQgb2YgcGl4ZWxzIG1vdmVkIGluIHRoZSB4LWF4aXMuXG4gICAqL1xuICBkZWx0YVg6IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBhbW91bnQgb2YgcGl4ZWxzIG1vdmVkIGluIHRoZSB5LWF4aXMuXG4gICAqL1xuICBkZWx0YVk6IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgUG9pbnRlclR5cGUgPSAnbW91c2UnIHwgJ3BlbicgfCAndG91Y2gnIHwgJ2tleWJvYXJkJyB8ICd2aXJ0dWFsJztcbiJdfQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright © 2024 Angular Primitives.
|
|
3
|
+
* https://github.com/ng-primitives/ng-primitives
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the CC BY-ND 4.0 license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
import { InjectionToken, inject } from '@angular/core';
|
|
9
|
+
export const NgpMoveToken = new InjectionToken('NgpMoveToken');
|
|
10
|
+
/**
|
|
11
|
+
* Inject the Move directive instance
|
|
12
|
+
*/
|
|
13
|
+
export function injectMove() {
|
|
14
|
+
return inject(NgpMoveToken);
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZS50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXByaW1pdGl2ZXMvaW50ZXJhY3Rpb25zL3NyYy9tb3ZlL21vdmUudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBQ0gsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFVLGNBQWMsQ0FBQyxDQUFDO0FBRXhFOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFVBQVU7SUFDeEIsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDOUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IMKpIDIwMjQgQW5ndWxhciBQcmltaXRpdmVzLlxuICogaHR0cHM6Ly9naXRodWIuY29tL25nLXByaW1pdGl2ZXMvbmctcHJpbWl0aXZlc1xuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIENDIEJZLU5EIDQuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IE5ncE1vdmUgfSBmcm9tICcuL21vdmUuZGlyZWN0aXZlJztcblxuZXhwb3J0IGNvbnN0IE5ncE1vdmVUb2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOZ3BNb3ZlPignTmdwTW92ZVRva2VuJyk7XG5cbi8qKlxuICogSW5qZWN0IHRoZSBNb3ZlIGRpcmVjdGl2ZSBpbnN0YW5jZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0TW92ZSgpOiBOZ3BNb3ZlIHtcbiAgcmV0dXJuIGluamVjdChOZ3BNb3ZlVG9rZW4pO1xufVxuIl19
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { Directive, ElementRef, HostListener, booleanAttribute, inject, input, output, signal, } from '@angular/core';
|
|
2
|
+
import { injectDisabled } from 'ng-primitives/internal';
|
|
3
|
+
import { injectDisposables } from 'ng-primitives/utils';
|
|
4
|
+
import { NgpPressToken } from './press.token';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* This was inpsired by Headless UI's active-press hook:
|
|
8
|
+
* https://github.com/tailwindlabs/headlessui/blob/main/packages/%40headlessui-react/src/hooks/use-active-press.tsx
|
|
9
|
+
*/
|
|
10
|
+
export class NgpPress {
|
|
11
|
+
constructor() {
|
|
12
|
+
/**
|
|
13
|
+
* Access the HTML Element.
|
|
14
|
+
*/
|
|
15
|
+
this.element = inject(ElementRef);
|
|
16
|
+
/**
|
|
17
|
+
* Access the disposables.
|
|
18
|
+
*/
|
|
19
|
+
this.disposables = injectDisposables();
|
|
20
|
+
/**
|
|
21
|
+
* Whether listening for press events is disabled.
|
|
22
|
+
*/
|
|
23
|
+
this.disabled = input(false, {
|
|
24
|
+
alias: 'ngpPressDisabled',
|
|
25
|
+
transform: booleanAttribute,
|
|
26
|
+
});
|
|
27
|
+
/**
|
|
28
|
+
* Access the disabled state from any parent.
|
|
29
|
+
*/
|
|
30
|
+
this.isDisabled = injectDisabled(this.disabled);
|
|
31
|
+
/**
|
|
32
|
+
* Emit when the press begins.
|
|
33
|
+
*/
|
|
34
|
+
this.pressStart = output({
|
|
35
|
+
alias: 'ngpPressStart',
|
|
36
|
+
});
|
|
37
|
+
/**
|
|
38
|
+
* Emit when the press ends.
|
|
39
|
+
*/
|
|
40
|
+
this.pressEnd = output({
|
|
41
|
+
alias: 'ngpPressEnd',
|
|
42
|
+
});
|
|
43
|
+
/**
|
|
44
|
+
* Emit when the press changes.
|
|
45
|
+
*/
|
|
46
|
+
this.pressChange = output({
|
|
47
|
+
alias: 'ngpPress',
|
|
48
|
+
});
|
|
49
|
+
/**
|
|
50
|
+
* The press state.
|
|
51
|
+
*/
|
|
52
|
+
this.pressed = signal(false);
|
|
53
|
+
/**
|
|
54
|
+
* Store the list of disposables.
|
|
55
|
+
*/
|
|
56
|
+
this.disposableListeners = [];
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Reset the press state.
|
|
60
|
+
*/
|
|
61
|
+
reset() {
|
|
62
|
+
// if we are not pressing, then do nothing
|
|
63
|
+
if (!this.pressed()) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
// clear any existing disposables
|
|
67
|
+
this.disposableListeners.forEach(dispose => dispose());
|
|
68
|
+
this.pressed.set(false);
|
|
69
|
+
this.pressEnd.emit();
|
|
70
|
+
this.pressChange.emit(false);
|
|
71
|
+
}
|
|
72
|
+
onPointerDown() {
|
|
73
|
+
if (this.isDisabled()) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
// clear any existing disposables
|
|
77
|
+
this.disposableListeners.forEach(dispose => dispose());
|
|
78
|
+
// update the press state
|
|
79
|
+
this.pressed.set(true);
|
|
80
|
+
this.pressStart.emit();
|
|
81
|
+
this.pressChange.emit(true);
|
|
82
|
+
// setup global event listeners to catch events on elements outside the directive
|
|
83
|
+
const ownerDocument = this.element.nativeElement.ownerDocument ?? document;
|
|
84
|
+
// if the pointer up event happens on any elements, then we are no longer pressing on this element
|
|
85
|
+
const pointerUp = this.disposables.addEventListener(ownerDocument, 'pointerup', this.reset.bind(this), false);
|
|
86
|
+
// Instead of relying on the `pointerleave` event, which is not consistently called on iOS Safari,
|
|
87
|
+
// we use the `pointermove` event to determine if we are still "pressing".
|
|
88
|
+
// By checking if the target is still within the element, we can determine if the press is ongoing.
|
|
89
|
+
const pointerMove = this.disposables.addEventListener(ownerDocument, 'pointermove', this.onPointerMove.bind(this), false);
|
|
90
|
+
// if the pointer is cancelled, then we are no longer pressing on this element
|
|
91
|
+
const pointerCancel = this.disposables.addEventListener(ownerDocument, 'pointercancel', this.reset.bind(this), false);
|
|
92
|
+
this.disposableListeners = [pointerUp, pointerMove, pointerCancel];
|
|
93
|
+
}
|
|
94
|
+
onPointerMove(event) {
|
|
95
|
+
if (this.element.nativeElement !== event.target &&
|
|
96
|
+
!this.element.nativeElement.contains(event.target)) {
|
|
97
|
+
this.reset();
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpPress, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
101
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.1", type: NgpPress, isStandalone: true, selector: "[ngpPress]", inputs: { disabled: { classPropertyName: "disabled", publicName: "ngpPressDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { pressStart: "ngpPressStart", pressEnd: "ngpPressEnd", pressChange: "ngpPress" }, host: { listeners: { "pointerdown": "onPointerDown()" }, properties: { "attr.data-press": "pressed()" } }, providers: [{ provide: NgpPressToken, useExisting: NgpPress }], exportAs: ["ngpPress"], ngImport: i0 }); }
|
|
102
|
+
}
|
|
103
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpPress, decorators: [{
|
|
104
|
+
type: Directive,
|
|
105
|
+
args: [{
|
|
106
|
+
standalone: true,
|
|
107
|
+
selector: '[ngpPress]',
|
|
108
|
+
exportAs: 'ngpPress',
|
|
109
|
+
providers: [{ provide: NgpPressToken, useExisting: NgpPress }],
|
|
110
|
+
host: {
|
|
111
|
+
'[attr.data-press]': 'pressed()',
|
|
112
|
+
},
|
|
113
|
+
}]
|
|
114
|
+
}], propDecorators: { onPointerDown: [{
|
|
115
|
+
type: HostListener,
|
|
116
|
+
args: ['pointerdown']
|
|
117
|
+
}] } });
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc3MuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctcHJpbWl0aXZlcy9pbnRlcmFjdGlvbnMvc3JjL3ByZXNzL3ByZXNzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFOUM7OztHQUdHO0FBV0gsTUFBTSxPQUFPLFFBQVE7SUFUckI7UUFVRTs7V0FFRztRQUNjLFlBQU8sR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFDO1FBRXZFOztXQUVHO1FBQ2MsZ0JBQVcsR0FBRyxpQkFBaUIsRUFBRSxDQUFDO1FBRW5EOztXQUVHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBd0IsS0FBSyxFQUFFO1lBQ3RELEtBQUssRUFBRSxrQkFBa0I7WUFDekIsU0FBUyxFQUFFLGdCQUFnQjtTQUM1QixDQUFDLENBQUM7UUFFSDs7V0FFRztRQUNjLGVBQVUsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTVEOztXQUVHO1FBQ00sZUFBVSxHQUFHLE1BQU0sQ0FBTztZQUNqQyxLQUFLLEVBQUUsZUFBZTtTQUN2QixDQUFDLENBQUM7UUFFSDs7V0FFRztRQUNNLGFBQVEsR0FBRyxNQUFNLENBQU87WUFDL0IsS0FBSyxFQUFFLGFBQWE7U0FDckIsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDTSxnQkFBVyxHQUFHLE1BQU0sQ0FBVTtZQUNyQyxLQUFLLEVBQUUsVUFBVTtTQUNsQixDQUFDLENBQUM7UUFFSDs7V0FFRztRQUNnQixZQUFPLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBa0IzQzs7V0FFRztRQUNLLHdCQUFtQixHQUFtQixFQUFFLENBQUM7S0F3RGxEO0lBM0VDOztPQUVHO0lBQ0ssS0FBSztRQUNYLDBDQUEwQztRQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDcEIsT0FBTztRQUNULENBQUM7UUFFRCxpQ0FBaUM7UUFDakMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBUVMsYUFBYTtRQUNyQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1lBQ3RCLE9BQU87UUFDVCxDQUFDO1FBRUQsaUNBQWlDO1FBQ2pDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBRXZELHlCQUF5QjtRQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTVCLGlGQUFpRjtRQUNqRixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxhQUFhLElBQUksUUFBUSxDQUFDO1FBRTNFLGtHQUFrRztRQUNsRyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUNqRCxhQUFhLEVBQ2IsV0FBVyxFQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUNyQixLQUFLLENBQ04sQ0FBQztRQUVGLGtHQUFrRztRQUNsRywwRUFBMEU7UUFDMUUsbUdBQW1HO1FBQ25HLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQ25ELGFBQWEsRUFDYixhQUFhLEVBQ2IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFrQixFQUM5QyxLQUFLLENBQ04sQ0FBQztRQUVGLDhFQUE4RTtRQUM5RSxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUNyRCxhQUFhLEVBQ2IsZUFBZSxFQUNmLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUNyQixLQUFLLENBQ04sQ0FBQztRQUVGLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVPLGFBQWEsQ0FBQyxLQUFtQjtRQUN2QyxJQUNFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxLQUFLLEtBQUssQ0FBQyxNQUFNO1lBQzNDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFjLENBQUMsRUFDMUQsQ0FBQztZQUNELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDOzhHQTVIVSxRQUFRO2tHQUFSLFFBQVEscVpBTFIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxDQUFDOzsyRkFLbkQsUUFBUTtrQkFUcEIsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFFBQVEsRUFBRSxVQUFVO29CQUNwQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxVQUFVLEVBQUUsQ0FBQztvQkFDOUQsSUFBSSxFQUFFO3dCQUNKLG1CQUFtQixFQUFFLFdBQVc7cUJBQ2pDO2lCQUNGOzhCQXlFVyxhQUFhO3NCQUR0QixZQUFZO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCDCqSAyMDI0IEFuZ3VsYXIgUHJpbWl0aXZlcy5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9uZy1wcmltaXRpdmVzL25nLXByaW1pdGl2ZXNcbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBDQyBCWS1ORCA0LjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBib29sZWFuQXR0cmlidXRlLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3REaXNhYmxlZCB9IGZyb20gJ25nLXByaW1pdGl2ZXMvaW50ZXJuYWwnO1xuaW1wb3J0IHsgaW5qZWN0RGlzcG9zYWJsZXMgfSBmcm9tICduZy1wcmltaXRpdmVzL3V0aWxzJztcbmltcG9ydCB7IE5ncFByZXNzVG9rZW4gfSBmcm9tICcuL3ByZXNzLnRva2VuJztcblxuLyoqXG4gKiBUaGlzIHdhcyBpbnBzaXJlZCBieSBIZWFkbGVzcyBVSSdzIGFjdGl2ZS1wcmVzcyBob29rOlxuICogaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kbGFicy9oZWFkbGVzc3VpL2Jsb2IvbWFpbi9wYWNrYWdlcy8lNDBoZWFkbGVzc3VpLXJlYWN0L3NyYy9ob29rcy91c2UtYWN0aXZlLXByZXNzLnRzeFxuICovXG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1tuZ3BQcmVzc10nLFxuICBleHBvcnRBczogJ25ncFByZXNzJyxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBOZ3BQcmVzc1Rva2VuLCB1c2VFeGlzdGluZzogTmdwUHJlc3MgfV0sXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuZGF0YS1wcmVzc10nOiAncHJlc3NlZCgpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgTmdwUHJlc3Mge1xuICAvKipcbiAgICogQWNjZXNzIHRoZSBIVE1MIEVsZW1lbnQuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuXG4gIC8qKlxuICAgKiBBY2Nlc3MgdGhlIGRpc3Bvc2FibGVzLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBkaXNwb3NhYmxlcyA9IGluamVjdERpc3Bvc2FibGVzKCk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgbGlzdGVuaW5nIGZvciBwcmVzcyBldmVudHMgaXMgZGlzYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4sIEJvb2xlYW5JbnB1dD4oZmFsc2UsIHtcbiAgICBhbGlhczogJ25ncFByZXNzRGlzYWJsZWQnLFxuICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFjY2VzcyB0aGUgZGlzYWJsZWQgc3RhdGUgZnJvbSBhbnkgcGFyZW50LlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBpc0Rpc2FibGVkID0gaW5qZWN0RGlzYWJsZWQodGhpcy5kaXNhYmxlZCk7XG5cbiAgLyoqXG4gICAqIEVtaXQgd2hlbiB0aGUgcHJlc3MgYmVnaW5zLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJlc3NTdGFydCA9IG91dHB1dDx2b2lkPih7XG4gICAgYWxpYXM6ICduZ3BQcmVzc1N0YXJ0JyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEVtaXQgd2hlbiB0aGUgcHJlc3MgZW5kcy5cbiAgICovXG4gIHJlYWRvbmx5IHByZXNzRW5kID0gb3V0cHV0PHZvaWQ+KHtcbiAgICBhbGlhczogJ25ncFByZXNzRW5kJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEVtaXQgd2hlbiB0aGUgcHJlc3MgY2hhbmdlcy5cbiAgICovXG4gIHJlYWRvbmx5IHByZXNzQ2hhbmdlID0gb3V0cHV0PGJvb2xlYW4+KHtcbiAgICBhbGlhczogJ25ncFByZXNzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIFRoZSBwcmVzcyBzdGF0ZS5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBwcmVzc2VkID0gc2lnbmFsKGZhbHNlKTtcblxuICAvKipcbiAgICogUmVzZXQgdGhlIHByZXNzIHN0YXRlLlxuICAgKi9cbiAgcHJpdmF0ZSByZXNldCgpOiB2b2lkIHtcbiAgICAvLyBpZiB3ZSBhcmUgbm90IHByZXNzaW5nLCB0aGVuIGRvIG5vdGhpbmdcbiAgICBpZiAoIXRoaXMucHJlc3NlZCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gY2xlYXIgYW55IGV4aXN0aW5nIGRpc3Bvc2FibGVzXG4gICAgdGhpcy5kaXNwb3NhYmxlTGlzdGVuZXJzLmZvckVhY2goZGlzcG9zZSA9PiBkaXNwb3NlKCkpO1xuICAgIHRoaXMucHJlc3NlZC5zZXQoZmFsc2UpO1xuICAgIHRoaXMucHJlc3NFbmQuZW1pdCgpO1xuICAgIHRoaXMucHJlc3NDaGFuZ2UuZW1pdChmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogU3RvcmUgdGhlIGxpc3Qgb2YgZGlzcG9zYWJsZXMuXG4gICAqL1xuICBwcml2YXRlIGRpc3Bvc2FibGVMaXN0ZW5lcnM6ICgoKSA9PiB2b2lkKVtdID0gW107XG5cbiAgQEhvc3RMaXN0ZW5lcigncG9pbnRlcmRvd24nKVxuICBwcm90ZWN0ZWQgb25Qb2ludGVyRG93bigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0Rpc2FibGVkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBjbGVhciBhbnkgZXhpc3RpbmcgZGlzcG9zYWJsZXNcbiAgICB0aGlzLmRpc3Bvc2FibGVMaXN0ZW5lcnMuZm9yRWFjaChkaXNwb3NlID0+IGRpc3Bvc2UoKSk7XG5cbiAgICAvLyB1cGRhdGUgdGhlIHByZXNzIHN0YXRlXG4gICAgdGhpcy5wcmVzc2VkLnNldCh0cnVlKTtcbiAgICB0aGlzLnByZXNzU3RhcnQuZW1pdCgpO1xuICAgIHRoaXMucHJlc3NDaGFuZ2UuZW1pdCh0cnVlKTtcblxuICAgIC8vIHNldHVwIGdsb2JhbCBldmVudCBsaXN0ZW5lcnMgdG8gY2F0Y2ggZXZlbnRzIG9uIGVsZW1lbnRzIG91dHNpZGUgdGhlIGRpcmVjdGl2ZVxuICAgIGNvbnN0IG93bmVyRG9jdW1lbnQgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5vd25lckRvY3VtZW50ID8/IGRvY3VtZW50O1xuXG4gICAgLy8gaWYgdGhlIHBvaW50ZXIgdXAgZXZlbnQgaGFwcGVucyBvbiBhbnkgZWxlbWVudHMsIHRoZW4gd2UgYXJlIG5vIGxvbmdlciBwcmVzc2luZyBvbiB0aGlzIGVsZW1lbnRcbiAgICBjb25zdCBwb2ludGVyVXAgPSB0aGlzLmRpc3Bvc2FibGVzLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICBvd25lckRvY3VtZW50LFxuICAgICAgJ3BvaW50ZXJ1cCcsXG4gICAgICB0aGlzLnJlc2V0LmJpbmQodGhpcyksXG4gICAgICBmYWxzZSxcbiAgICApO1xuXG4gICAgLy8gSW5zdGVhZCBvZiByZWx5aW5nIG9uIHRoZSBgcG9pbnRlcmxlYXZlYCBldmVudCwgd2hpY2ggaXMgbm90IGNvbnNpc3RlbnRseSBjYWxsZWQgb24gaU9TIFNhZmFyaSxcbiAgICAvLyB3ZSB1c2UgdGhlIGBwb2ludGVybW92ZWAgZXZlbnQgdG8gZGV0ZXJtaW5lIGlmIHdlIGFyZSBzdGlsbCBcInByZXNzaW5nXCIuXG4gICAgLy8gQnkgY2hlY2tpbmcgaWYgdGhlIHRhcmdldCBpcyBzdGlsbCB3aXRoaW4gdGhlIGVsZW1lbnQsIHdlIGNhbiBkZXRlcm1pbmUgaWYgdGhlIHByZXNzIGlzIG9uZ29pbmcuXG4gICAgY29uc3QgcG9pbnRlck1vdmUgPSB0aGlzLmRpc3Bvc2FibGVzLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICBvd25lckRvY3VtZW50LFxuICAgICAgJ3BvaW50ZXJtb3ZlJyxcbiAgICAgIHRoaXMub25Qb2ludGVyTW92ZS5iaW5kKHRoaXMpIGFzIEV2ZW50TGlzdGVuZXIsXG4gICAgICBmYWxzZSxcbiAgICApO1xuXG4gICAgLy8gaWYgdGhlIHBvaW50ZXIgaXMgY2FuY2VsbGVkLCB0aGVuIHdlIGFyZSBubyBsb25nZXIgcHJlc3Npbmcgb24gdGhpcyBlbGVtZW50XG4gICAgY29uc3QgcG9pbnRlckNhbmNlbCA9IHRoaXMuZGlzcG9zYWJsZXMuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgIG93bmVyRG9jdW1lbnQsXG4gICAgICAncG9pbnRlcmNhbmNlbCcsXG4gICAgICB0aGlzLnJlc2V0LmJpbmQodGhpcyksXG4gICAgICBmYWxzZSxcbiAgICApO1xuXG4gICAgdGhpcy5kaXNwb3NhYmxlTGlzdGVuZXJzID0gW3BvaW50ZXJVcCwgcG9pbnRlck1vdmUsIHBvaW50ZXJDYW5jZWxdO1xuICB9XG5cbiAgcHJpdmF0ZSBvblBvaW50ZXJNb3ZlKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCAhPT0gZXZlbnQudGFyZ2V0ICYmXG4gICAgICAhdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpXG4gICAgKSB7XG4gICAgICB0aGlzLnJlc2V0KCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright © 2024 Angular Primitives.
|
|
3
|
+
* https://github.com/ng-primitives/ng-primitives
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the CC BY-ND 4.0 license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
import { InjectionToken, inject } from '@angular/core';
|
|
9
|
+
export const NgpPressToken = new InjectionToken('NgpPressToken');
|
|
10
|
+
/**
|
|
11
|
+
* Inject the Press directive instance
|
|
12
|
+
*/
|
|
13
|
+
export function injectPress() {
|
|
14
|
+
return inject(NgpPressToken);
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc3MudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1wcmltaXRpdmVzL2ludGVyYWN0aW9ucy9zcmMvcHJlc3MvcHJlc3MudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBQ0gsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUFXLGVBQWUsQ0FBQyxDQUFDO0FBRTNFOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFdBQVc7SUFDekIsT0FBTyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDL0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IMKpIDIwMjQgQW5ndWxhciBQcmltaXRpdmVzLlxuICogaHR0cHM6Ly9naXRodWIuY29tL25nLXByaW1pdGl2ZXMvbmctcHJpbWl0aXZlc1xuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIENDIEJZLU5EIDQuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IE5ncFByZXNzIH0gZnJvbSAnLi9wcmVzcy5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgTmdwUHJlc3NUb2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOZ3BQcmVzcz4oJ05ncFByZXNzVG9rZW4nKTtcblxuLyoqXG4gKiBJbmplY3QgdGhlIFByZXNzIGRpcmVjdGl2ZSBpbnN0YW5jZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0UHJlc3MoKTogTmdwUHJlc3Mge1xuICByZXR1cm4gaW5qZWN0KE5ncFByZXNzVG9rZW4pO1xufVxuIl19
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright © 2024 Angular Primitives.
|
|
3
|
+
* https://github.com/ng-primitives/ng-primitives
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the CC BY-ND 4.0 license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
import { inject, InjectionToken, signal } from '@angular/core';
|
|
9
|
+
export const NgpDisabledToken = new InjectionToken('NgpDisabledToken');
|
|
10
|
+
/**
|
|
11
|
+
* Determine if we are in a disabled context.
|
|
12
|
+
* @param disabled The disabled signal for the local context.
|
|
13
|
+
* @returns The disabled signal.
|
|
14
|
+
*/
|
|
15
|
+
export function injectDisabled(disabled = signal(false)) {
|
|
16
|
+
const provider = inject(NgpDisabledToken, { optional: true });
|
|
17
|
+
return provider ? provider.disabled : disabled;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1wcmltaXRpdmVzL2ludGVybmFsL3NyYy9kaXNhYmxlZC9kaXNhYmxlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFdkUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQWdCLGtCQUFrQixDQUFDLENBQUM7QUFTdEY7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQzVCLFdBQTRCLE1BQU0sQ0FBVSxLQUFLLENBQUM7SUFFbEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFOUQsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztBQUNqRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgwqkgMjAyNCBBbmd1bGFyIFByaW1pdGl2ZXMuXG4gKiBodHRwczovL2dpdGh1Yi5jb20vbmctcHJpbWl0aXZlcy9uZy1wcmltaXRpdmVzXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQ0MgQlktTkQgNC4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cbmltcG9ydCB7IGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIHNpZ25hbCwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBOZ3BEaXNhYmxlZFRva2VuID0gbmV3IEluamVjdGlvblRva2VuPE5ncENhbkRpc2FibGU+KCdOZ3BEaXNhYmxlZFRva2VuJyk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmdwQ2FuRGlzYWJsZSB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBlbGVtZW50IGlzIGRpc2FibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZWQ6IFNpZ25hbDxib29sZWFuPjtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgd2UgYXJlIGluIGEgZGlzYWJsZWQgY29udGV4dC5cbiAqIEBwYXJhbSBkaXNhYmxlZCBUaGUgZGlzYWJsZWQgc2lnbmFsIGZvciB0aGUgbG9jYWwgY29udGV4dC5cbiAqIEByZXR1cm5zIFRoZSBkaXNhYmxlZCBzaWduYWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3REaXNhYmxlZChcbiAgZGlzYWJsZWQ6IFNpZ25hbDxib29sZWFuPiA9IHNpZ25hbDxib29sZWFuPihmYWxzZSksXG4pOiBTaWduYWw8Ym9vbGVhbj4ge1xuICBjb25zdCBwcm92aWRlciA9IGluamVjdChOZ3BEaXNhYmxlZFRva2VuLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIHJldHVybiBwcm92aWRlciA/IHByb3ZpZGVyLmRpc2FibGVkIDogZGlzYWJsZWQ7XG59XG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright © 2024 Angular Primitives.
|
|
3
|
+
* https://github.com/ng-primitives/ng-primitives
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the CC BY-ND 4.0 license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
export * from './disabled/disabled';
|
|
9
|
+
export * from './orientation/orientation';
|
|
10
|
+
export * from './style-injector/style-injector';
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1wcmltaXRpdmVzL2ludGVybmFsL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IMKpIDIwMjQgQW5ndWxhciBQcmltaXRpdmVzLlxuICogaHR0cHM6Ly9naXRodWIuY29tL25nLXByaW1pdGl2ZXMvbmctcHJpbWl0aXZlc1xuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIENDIEJZLU5EIDQuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vZGlzYWJsZWQvZGlzYWJsZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9vcmllbnRhdGlvbi9vcmllbnRhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3N0eWxlLWluamVjdG9yL3N0eWxlLWluamVjdG9yJztcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctcHJpbWl0aXZlcy1pbnRlcm5hbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXByaW1pdGl2ZXMvaW50ZXJuYWwvc3JjL25nLXByaW1pdGl2ZXMtaW50ZXJuYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|