{
  "taglib-imports": [
    "./context/marko.json"
  ],
  "<marko-web-gtm-init>": {
    "template": "./init.marko",
    "@container-id": "expression",
    "@name": {
      "type": "string",
      "default-value": "dataLayer"
    },
    "@push": "object",
    "@start": {
      "type": "boolean",
      "default-value": false
    },
    "@on": "string",
    "@target-tag": "string",
    "@request-frame": "boolean",
    "@init-only": "boolean"
  },
  "<marko-web-gtm-start>": {
    "template": "./start.marko",
    "@name": {
      "type": "string",
      "default-value": "dataLayer"
    }
  },
  "<marko-web-gtm-noscript>": {
    "template": "./noscript.marko",
    "@container-id": "expression"
  },
  "<marko-web-gtm-push>": {
    "template": "./push.marko",
    "@name": {
      "type": "string",
      "default-value": "dataLayer"
    },
    "@data": "object"
  },
  "<marko-web-gtm-slot>": {
    "template": "./slot.marko",
    "@prefix": "string",
    "@name": "string",
    "@class": "string",
    "@modifiers": "array"
  },
  "<marko-web-gtm-track-inview-event>": {
    "template": "./track-inview-event.marko"
  },
  "<marko-web-gtm-track-load-more>": {
    "template": "./track-load-more.marko"
  },
  "<marko-web-gtm-track-bus-event>": {
    "template": "./track-bus-event.marko",
    "@on": "string",
    "@event-name": "string",
    "@layer-name": "string",
    "@clear-data": "boolean"
  }
}
