{
  "version": 3,
  "sources": ["../index.ts", "../src/index.ts"],
  "sourcesContent": ["export { default } from './src'\nexport * from './src'\n", "import { Builder } from '@tko/builder'\n\nimport { VirtualProvider } from '@tko/provider.virtual'\nimport { DataBindProvider } from '@tko/provider.databind'\nimport { ComponentProvider } from '@tko/provider.component'\nimport { AttributeProvider } from '@tko/provider.attr'\nimport { MultiProvider } from '@tko/provider.multi'\nimport { TextMustacheProvider, AttributeMustacheProvider } from '@tko/provider.mustache'\nimport { NativeProvider } from '@tko/provider.native'\n\nimport { bindings as coreBindings } from '@tko/binding.core'\nimport { bindings as templateBindings } from '@tko/binding.template'\nimport { bindings as ifBindings } from '@tko/binding.if'\nimport { bindings as foreachBindings } from '@tko/binding.foreach'\nimport { bindings as componentBindings } from '@tko/binding.component'\n\nimport { filters } from '@tko/filter.punches'\n\nimport components from '@tko/utils.component'\nimport { createElement, Fragment } from '@tko/utils.jsx'\nimport { JsxObserver } from '@tko/utils.jsx'\n\nimport { options } from '@tko/utils'\n\ndeclare const BUILD_VERSION: string\n\n/** Use === and !== instead of == and != in binding expressions */\noptions.strictEquality = true\n\nconst builder = new Builder({\n  filters,\n  extenders: {},\n  options: {},\n  provider: new MultiProvider({\n    providers: [\n      new ComponentProvider(),\n      new NativeProvider(),\n      new AttributeMustacheProvider(),\n      new TextMustacheProvider(),\n      new DataBindProvider(),\n      new VirtualProvider(),\n      new AttributeProvider()\n    ]\n  }),\n  bindings: [\n    coreBindings,\n    templateBindings,\n    ifBindings,\n    foreachBindings,\n    componentBindings,\n    { each: foreachBindings.foreach }\n  ]\n})\n\nconst version = BUILD_VERSION\n\nexport default builder.create({\n  jsx: {\n    createElement,\n    Fragment,\n    /** Public render function that converts JSX to DOM nodes */\n    render(jsx: any) {\n      const fragment = document.createDocumentFragment()\n      const observer = new JsxObserver(jsx, fragment)\n      // Return the first child if single node, or the fragment if multiple\n      const node = fragment.childNodes.length === 1 ? fragment.firstChild : fragment\n      return {\n        node,\n        dispose: () => observer.dispose()\n      }\n    }\n  },\n  components,\n  version,\n  Component: components.ComponentABC\n})\n"],
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,qBAAwB;AAExB,sBAAgC;AAChC,IAAAA,mBAAiC;AACjC,IAAAA,mBAAkC;AAClC,IAAAA,mBAAkC;AAClC,IAAAA,mBAA8B;AAC9B,IAAAA,mBAAgE;AAChE,IAAAA,mBAA+B;AAE/B,qBAAyC;AACzC,IAAAC,kBAA6C;AAC7C,IAAAA,kBAAuC;AACvC,IAAAA,kBAA4C;AAC5C,IAAAA,kBAA8C;AAE9C,oBAAwB;AAExB,mBAAuB;AACvB,IAAAC,gBAAwC;AACxC,IAAAA,gBAA4B;AAE5B,IAAAA,gBAAwB;AAKxB,sBAAQ,iBAAiB;AAEzB,IAAM,UAAU,IAAI,uBAAQ;AAAA,EAC1B;AAAA,EACA,WAAW,CAAC;AAAA,EACZ,SAAS,CAAC;AAAA,EACV,UAAU,IAAI,+BAAc;AAAA,IAC1B,WAAW;AAAA,MACT,IAAI,mCAAkB;AAAA,MACtB,IAAI,gCAAe;AAAA,MACnB,IAAI,2CAA0B;AAAA,MAC9B,IAAI,sCAAqB;AAAA,MACzB,IAAI,kCAAiB;AAAA,MACrB,IAAI,gCAAgB;AAAA,MACpB,IAAI,mCAAkB;AAAA,IACxB;AAAA,EACF,CAAC;AAAA,EACD,UAAU;AAAA,IACR,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,EAAE,MAAM,gBAAAD,SAAgB,QAAQ;AAAA,EAClC;AACF,CAAC;AAED,IAAM,UAAU;AAEhB,IAAO,cAAQ,QAAQ,OAAO;AAAA,EAC5B,KAAK;AAAA,IACH;AAAA,IACA;AAAA;AAAA,IAEA,OAAO,KAAU;AACf,YAAM,WAAW,SAAS,uBAAuB;AACjD,YAAM,WAAW,IAAI,0BAAY,KAAK,QAAQ;AAE9C,YAAM,OAAO,SAAS,WAAW,WAAW,IAAI,SAAS,aAAa;AACtE,aAAO;AAAA,QACL;AAAA,QACA,SAAS,MAAM,SAAS,QAAQ;AAAA,MAClC;AAAA,IACF;AAAA,EACF;AAAA,EACA,yBAAAE;AAAA,EACA;AAAA,EACA,WAAW,aAAAA,QAAW;AACxB,CAAC;",
  "names": ["import_provider", "import_binding", "import_utils", "coreBindings", "templateBindings", "ifBindings", "foreachBindings", "componentBindings", "components"]
}
