{
    "$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
    "name": "ng-event-plugins",
    "framework": "angular",
    "version": "3.1.0",
    "description-markup": "markdown",
    "contributions": {
        "js": {
            "ng-custom-events": [
                {
                    "name": "Longtap event",
                    "description": "An event triggered by a long press on a user interface element. This event can be used to implement additional actions or display a context menu that opens upon a long press.",
                    "priority": "normal",
                    "pattern": {
                        "template": ["longtap"]
                    },
                    "type": {
                        "name": "LongtapEvent",
                        "module": "./src/types/longtap.event.ts"
                    }
                },
                {
                    "name": "Custom modifiers for declarative events handling",
                    "priority": "normal",
                    "pattern": {
                        "template": [
                            {
                                "items": {
                                    "path": "/js/events",
                                    "includeVirtual": false
                                }
                            },
                            {
                                "items": "ng-event-plugins-modifiers",
                                "template": [".", "#...", "#item:modifiers"],
                                "priority": "high",
                                "repeat": true,
                                "unique": true,
                                "required": false
                            }
                        ]
                    },
                    "ng-event-plugins-modifiers": [
                        {
                            "name": "capture",
                            "description": "Subscribe to event in capture phase"
                        },
                        {
                            "name": "once",
                            "description": "Unsubscribe from event after first emit"
                        },
                        {
                            "name": "passive",
                            "description": "Add passive event listener (that cannot prevent default behavior)"
                        },
                        {
                            "name": "prevent",
                            "description": "Call `.preventDefault()` on the event"
                        },
                        {
                            "name": "self",
                            "description": "Ignore bubbled events"
                        },
                        {
                            "name": "silent",
                            "description": "Run event handler outside NgZone to not trigger change detection"
                        },
                        {
                            "name": "zoneless",
                            "description": "Run event handler outside NgZone to not trigger change detection"
                        },
                        {
                            "name": "stop",
                            "description": "Call `.stopPropagation()` on the event"
                        },
                        {
                            "name": "debounce~<delay>ms",
                            "description": "Triggers the handler after no events have occurred for every <delay> milliseconds.",
                            "pattern": "debounce~\\d+ms"
                        },
                        {
                            "name": "debounce~<delay>s",
                            "description": "Triggers the handler after no events have occurred for every <delay> seconds.",
                            "pattern": "debounce~\\d+s"
                        },
                        {
                            "name": "throttle~<delay>ms",
                            "description": "Triggers the handler at most once every <delay> milliseconds.",
                            "pattern": "throttle~\\d+ms"
                        },
                        {
                            "name": "throttle~<delay>s",
                            "description": "Triggers the handler at most once every <delay> seconds.",
                            "pattern": "throttle~\\d+s"
                        }
                    ]
                }
            ]
        }
    }
}
