{"version":3,"file":"ngxtension-gestures.mjs","sources":["../../../../libs/ngxtension/gestures/src/zoneless-gesture.ts","../../../../libs/ngxtension/gestures/src/gesture.ts","../../../../libs/ngxtension/gestures/src/drag.ts","../../../../libs/ngxtension/gestures/src/hover.ts","../../../../libs/ngxtension/gestures/src/move.ts","../../../../libs/ngxtension/gestures/src/pinch.ts","../../../../libs/ngxtension/gestures/src/scroll.ts","../../../../libs/ngxtension/gestures/src/wheel.ts","../../../../libs/ngxtension/gestures/src/ngxtension-gestures.ts"],"sourcesContent":["import { createInjectionToken } from 'ngxtension/create-injection-token';\n\nconst [injectZonelessGesture, provideFn] = createInjectionToken(() => false);\n\nfunction provideZonelessGesture() {\n\treturn provideFn(true);\n}\n\nexport { injectZonelessGesture, provideZonelessGesture };\n","import {\n\tChangeDetectorRef,\n\tDestroyRef,\n\tElementRef,\n\tNgZone,\n\teffect,\n\tinject,\n\ttype Injector,\n\ttype Type,\n} from '@angular/core';\nimport type {\n\tEventTypes,\n\tGestureKey,\n\tHandler,\n\tUserGestureConfig,\n} from '@use-gesture/vanilla';\nimport type { Recognizer } from '@use-gesture/vanilla/dist/declarations/src/Recognizer';\nimport { assertInjector } from 'ngxtension/assert-injector';\nimport { injectZonelessGesture } from './zoneless-gesture';\n\ntype InjectGestureFn<\n\tTGestureKey extends GestureKey,\n\tTGestureHandler extends Handler<TGestureKey, EventTypes[TGestureKey]>,\n\tTGestureConfig extends UserGestureConfig[TGestureKey],\n> = {\n\t(\n\t\thandler: (\n\t\t\tstate: Parameters<TGestureHandler>[0] & { cdr: ChangeDetectorRef },\n\t\t) => ReturnType<TGestureHandler>,\n\t\toptions?: {\n\t\t\tinjector?: Injector;\n\t\t\tzoneless?: boolean;\n\t\t\tconfig?: () => TGestureConfig;\n\t\t},\n\t): void;\n};\n\nexport type GestureInfer<TInjectGesture extends (...args: any[]) => void> =\n\tTInjectGesture extends InjectGestureFn<\n\t\tinfer _GestureKey,\n\t\tinfer _GestureHandler,\n\t\tinfer GestureConfig\n\t>\n\t\t? {\n\t\t\t\tkey: _GestureKey;\n\t\t\t\thandler: _GestureHandler;\n\t\t\t\thandlerParameters: Parameters<TInjectGesture>[0];\n\t\t\t\tstate: Parameters<Parameters<TInjectGesture>[0]>[0];\n\t\t\t\tconfig: GestureConfig;\n\t\t\t}\n\t\t: never;\n\nexport function createGesture<\n\tTGestureKey extends GestureKey,\n\tTRecognizer extends Recognizer<TGestureKey>,\n>(_key: TGestureKey, gesture: Type<TRecognizer>) {\n\ttype GestureHandler = Handler<TGestureKey, EventTypes[TGestureKey]>;\n\ttype GestureConfig = UserGestureConfig[TGestureKey];\n\n\treturn function _injectGesture(\n\t\thandler,\n\t\t{ injector, config = () => ({}), zoneless } = {},\n\t) {\n\t\treturn assertInjector(_injectGesture, injector, () => {\n\t\t\tconst zonelessGesture = injectZonelessGesture();\n\t\t\tconst host = inject(ElementRef) as ElementRef<HTMLElement>;\n\t\t\tconst zone = inject(NgZone);\n\t\t\tconst cdr = inject(ChangeDetectorRef);\n\n\t\t\tzoneless ??= zonelessGesture;\n\n\t\t\tconst ngHandler = (state: Parameters<GestureHandler>[0]) => {\n\t\t\t\treturn handler(Object.assign(state, { cdr }));\n\t\t\t};\n\n\t\t\tconst gestureInstance = zoneless\n\t\t\t\t? zone.runOutsideAngular(\n\t\t\t\t\t\t() => new gesture(host.nativeElement, ngHandler),\n\t\t\t\t\t)\n\t\t\t\t: new gesture(host.nativeElement, ngHandler);\n\n\t\t\teffect(() => {\n\t\t\t\tif (zoneless) {\n\t\t\t\t\tzone.runOutsideAngular(() => {\n\t\t\t\t\t\t// @ts-expect-error typescript knows what the config is but gestureInstance can also set config for multiple gestures\n\t\t\t\t\t\tgestureInstance.setConfig(config());\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t// @ts-expect-error typescript knows what the config is but gestureInstance can also set config for multiple gestures\n\t\t\t\t\tgestureInstance.setConfig(config());\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tinject(DestroyRef).onDestroy(\n\t\t\t\tgestureInstance.destroy.bind(gestureInstance),\n\t\t\t);\n\t\t});\n\t} as InjectGestureFn<TGestureKey, GestureHandler, GestureConfig>;\n}\n","import {\n\tDirective,\n\tInjector,\n\tInput,\n\tinject,\n\toutput,\n\tsignal,\n\ttype OnInit,\n} from '@angular/core';\nimport { DragGesture } from '@use-gesture/vanilla';\nimport { createGesture, type GestureInfer } from './gesture';\n\nexport const injectDrag = createGesture('drag', DragGesture);\nexport type NgxInjectDrag = GestureInfer<typeof injectDrag>;\n\n@Directive({\n\tselector: '[ngxDrag]',\n\tstandalone: true,\n})\nexport class NgxDrag implements OnInit {\n\tprivate config = signal<NgxInjectDrag['config']>({});\n\t@Input('ngxDragConfig') set _config(config: NgxInjectDrag['config']) {\n\t\tthis.config.set(config);\n\t}\n\t@Input('ngxDragZoneless') zoneless?: boolean;\n\treadonly ngxDrag = output<NgxInjectDrag['state']>();\n\n\tprivate injector = inject(Injector);\n\n\tngOnInit(): void {\n\t\tinjectDrag(this.ngxDrag.emit.bind(this.ngxDrag), {\n\t\t\tinjector: this.injector,\n\t\t\tzoneless: this.zoneless,\n\t\t\tconfig: this.config,\n\t\t});\n\t}\n}\n","import {\n\tDirective,\n\tInjector,\n\tInput,\n\tinject,\n\toutput,\n\tsignal,\n\ttype OnInit,\n} from '@angular/core';\nimport { HoverGesture } from '@use-gesture/vanilla';\nimport { createGesture, type GestureInfer } from './gesture';\n\nexport const injectHover = createGesture('hover', HoverGesture);\nexport type NgxInjectHover = GestureInfer<typeof injectHover>;\n\n@Directive({\n\tselector: '[ngxHover]',\n\tstandalone: true,\n})\nexport class NgxHover implements OnInit {\n\tprivate config = signal<NgxInjectHover['config']>({});\n\t@Input('ngxHoverConfig') set _config(config: NgxInjectHover['config']) {\n\t\tthis.config.set(config);\n\t}\n\t@Input('ngxHoverZoneless') zoneless?: boolean;\n\treadonly ngxHover = output<NgxInjectHover['state']>();\n\n\tprivate injector = inject(Injector);\n\n\tngOnInit(): void {\n\t\tinjectHover(this.ngxHover.emit.bind(this.ngxHover), {\n\t\t\tinjector: this.injector,\n\t\t\tzoneless: this.zoneless,\n\t\t\tconfig: this.config,\n\t\t});\n\t}\n}\n","import {\n\tDirective,\n\tInjector,\n\tInput,\n\tinject,\n\toutput,\n\tsignal,\n\ttype OnInit,\n} from '@angular/core';\nimport { MoveGesture } from '@use-gesture/vanilla';\nimport { createGesture, type GestureInfer } from './gesture';\n\nexport const injectMove = createGesture('move', MoveGesture);\nexport type NgxInjectMove = GestureInfer<typeof injectMove>;\n\n@Directive({\n\tselector: '[ngxMove]',\n\tstandalone: true,\n})\nexport class NgxMove implements OnInit {\n\tprivate config = signal<NgxInjectMove['config']>({});\n\t@Input('ngxMoveConfig') set _config(config: NgxInjectMove['config']) {\n\t\tthis.config.set(config);\n\t}\n\t@Input('ngxMoveZoneless') zoneless?: boolean;\n\treadonly ngxMove = output<NgxInjectMove['state']>();\n\n\tprivate injector = inject(Injector);\n\n\tngOnInit(): void {\n\t\tinjectMove(this.ngxMove.emit.bind(this.ngxMove), {\n\t\t\tinjector: this.injector,\n\t\t\tzoneless: this.zoneless,\n\t\t\tconfig: this.config,\n\t\t});\n\t}\n}\n","import {\n\tDirective,\n\tInjector,\n\tInput,\n\tinject,\n\toutput,\n\tsignal,\n\ttype OnInit,\n} from '@angular/core';\nimport { PinchGesture } from '@use-gesture/vanilla';\nimport { createGesture, type GestureInfer } from './gesture';\n\nexport const injectPinch = createGesture('pinch', PinchGesture);\nexport type NgxInjectPinch = GestureInfer<typeof injectPinch>;\n\n@Directive({\n\tselector: '[ngxPinch]',\n\tstandalone: true,\n})\nexport class NgxPinch implements OnInit {\n\tprivate config = signal<NgxInjectPinch['config']>({});\n\t@Input('ngxPinchConfig') set _config(config: NgxInjectPinch['config']) {\n\t\tthis.config.set(config);\n\t}\n\t@Input('ngxPinchZoneless') zoneless?: boolean;\n\treadonly ngxPinch = output<NgxInjectPinch['state']>();\n\n\tprivate injector = inject(Injector);\n\n\tngOnInit(): void {\n\t\tinjectPinch(this.ngxPinch.emit.bind(this.ngxPinch), {\n\t\t\tinjector: this.injector,\n\t\t\tzoneless: this.zoneless,\n\t\t\tconfig: this.config,\n\t\t});\n\t}\n}\n","import {\n\tDirective,\n\tInjector,\n\tInput,\n\tinject,\n\toutput,\n\tsignal,\n\ttype OnInit,\n} from '@angular/core';\nimport { ScrollGesture } from '@use-gesture/vanilla';\nimport { createGesture, type GestureInfer } from './gesture';\n\nexport const injectScroll = createGesture('scroll', ScrollGesture);\nexport type NgxInjectScroll = GestureInfer<typeof injectScroll>;\n\n@Directive({\n\tselector: '[ngxScroll]',\n\tstandalone: true,\n})\nexport class NgxScroll implements OnInit {\n\tprivate config = signal<NgxInjectScroll['config']>({});\n\t@Input('ngxScrollConfig') set _config(config: NgxInjectScroll['config']) {\n\t\tthis.config.set(config);\n\t}\n\t@Input('ngxScrollZoneless') zoneless?: boolean;\n\treadonly ngxScroll = output<NgxInjectScroll['state']>();\n\n\tprivate injector = inject(Injector);\n\n\tngOnInit(): void {\n\t\tinjectScroll(this.ngxScroll.emit.bind(this.ngxScroll), {\n\t\t\tinjector: this.injector,\n\t\t\tzoneless: this.zoneless,\n\t\t\tconfig: this.config,\n\t\t});\n\t}\n}\n","import {\n\tDirective,\n\tInjector,\n\tInput,\n\tinject,\n\toutput,\n\tsignal,\n\ttype OnInit,\n} from '@angular/core';\nimport { WheelGesture } from '@use-gesture/vanilla';\nimport { createGesture, type GestureInfer } from './gesture';\n\nexport const injectWheel = createGesture('wheel', WheelGesture);\nexport type NgxInjectWheel = GestureInfer<typeof injectWheel>;\n\n@Directive({\n\tselector: '[ngxWheel]',\n\tstandalone: true,\n})\nexport class NgxWheel implements OnInit {\n\tprivate config = signal<NgxInjectWheel['config']>({});\n\t@Input('ngxWheelConfig') set _config(config: NgxInjectWheel['config']) {\n\t\tthis.config.set(config);\n\t}\n\t@Input('ngxWheelZoneless') zoneless?: boolean;\n\treadonly ngxWheel = output<NgxInjectWheel['state']>();\n\n\tprivate injector = inject(Injector);\n\n\tngOnInit(): void {\n\t\tinjectWheel(this.ngxWheel.emit.bind(this.ngxWheel), {\n\t\t\tinjector: this.injector,\n\t\t\tzoneless: this.zoneless,\n\t\t\tconfig: this.config,\n\t\t});\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}