{"version":3,"file":"SliceSimulator.cjs","sources":["../../../src/simulator/SliceSimulator.ts"],"sourcesContent":["import Vue, { PropType, VNodeChildren } from \"vue\";\nimport { CreateElement, ExtendedVue } from \"vue/types/vue\";\n\nimport {\n\tgetDefaultProps,\n\tgetDefaultSlices,\n\tgetDefaultMessage,\n\tonClickHandler,\n\tdisableEventHandler,\n\tsimulatorClass,\n\tsimulatorRootClass,\n\tStateEventType,\n\tSimulatorManager,\n\tSliceSimulatorState,\n\tSliceSimulatorOptions,\n\tSliceSimulatorProps as BaseSliceSimulatorProps,\n} from \"@prismicio/simulator/kit\";\n\nexport type SliceSimulatorProps = Omit<BaseSliceSimulatorProps, \"state\">;\n\nconst simulatorManager = new SimulatorManager();\n\nexport const SliceSimulator = {\n\tname: \"SliceSimulator\",\n\tprops: {\n\t\tzIndex: {\n\t\t\ttype: Number as PropType<Required<SliceSimulatorProps[\"zIndex\"]>>,\n\t\t\tdefault: getDefaultProps().zIndex,\n\t\t\trequired: false,\n\t\t},\n\t\tbackground: {\n\t\t\ttype: String as PropType<Required<SliceSimulatorProps[\"background\"]>>,\n\t\t\tdefault: getDefaultProps().background,\n\t\t\trequired: false,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tmanager: simulatorManager,\n\t\t\tslices: getDefaultSlices(),\n\t\t\tmessage: getDefaultMessage(),\n\t\t};\n\t},\n\tmounted(this: SliceSimulatorOptions) {\n\t\tthis.manager.state.on(\n\t\t\tStateEventType.Slices,\n\t\t\t(slices) => {\n\t\t\t\tthis.slices = slices;\n\t\t\t},\n\t\t\t\"simulator-slices\",\n\t\t);\n\t\tthis.manager.state.on(\n\t\t\tStateEventType.Message,\n\t\t\t(message) => {\n\t\t\t\tthis.message = message;\n\t\t\t},\n\t\t\t\"simulator-message\",\n\t\t);\n\n\t\tthis.manager.init();\n\t},\n\tdestroyed(this: SliceSimulatorOptions) {\n\t\tthis.manager.state.off(StateEventType.Slices, \"simulator-slices\");\n\t\tthis.manager.state.off(StateEventType.Message, \"simulator-message\");\n\t},\n\trender(this: SliceSimulatorOptions & Vue, h: CreateElement) {\n\t\tconst children: VNodeChildren = [];\n\n\t\tif (this.message) {\n\t\t\tchildren.push(\n\t\t\t\th(\"article\", {\n\t\t\t\t\tdomProps: {\n\t\t\t\t\t\tinnerHTML: this.message,\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t);\n\t\t} else if (this.slices.length && this.$scopedSlots.default) {\n\t\t\tchildren.push(\n\t\t\t\th(\n\t\t\t\t\t\"div\",\n\t\t\t\t\t{\n\t\t\t\t\t\tattrs: { id: \"root\" },\n\t\t\t\t\t\tclass: simulatorRootClass,\n\t\t\t\t\t\ton: {\n\t\t\t\t\t\t\t\"!click\": onClickHandler,\n\t\t\t\t\t\t\t\"!submit\": disableEventHandler,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tthis.$scopedSlots.default({\n\t\t\t\t\t\t\tslices: this.slices,\n\t\t\t\t\t\t}),\n\t\t\t\t\t],\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\n\t\treturn h(\n\t\t\t\"div\",\n\t\t\t{\n\t\t\t\tclass: simulatorClass,\n\t\t\t\tstyle: {\n\t\t\t\t\tzIndex: this.zIndex,\n\t\t\t\t\tposition: \"fixed\",\n\t\t\t\t\ttop: 0,\n\t\t\t\t\tleft: 0,\n\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\theight: \"100vh\",\n\t\t\t\t\toverflow: \"auto\",\n\t\t\t\t\tbackground: this.background,\n\t\t\t\t},\n\t\t\t},\n\t\t\tchildren,\n\t\t);\n\t},\n\t// This is some weird ass trick to get around `Vue.extend` messing up `this` context, don't do this at home kids\n} as unknown as ExtendedVue<\n\tVue,\n\tSliceSimulatorState,\n\tRecord<string, never>,\n\tRecord<string, never>,\n\tSliceSimulatorProps,\n\tvoid\n>;\n"],"names":["SimulatorManager","getDefaultProps","getDefaultSlices","getDefaultMessage","StateEventType","simulatorRootClass","onClickHandler","disableEventHandler","simulatorClass"],"mappings":";;;;;;;AAoBA,MAAM,mBAAmB,IAAIA,iBAAAA,iBAAA;AAEtB,MAAM,iBAAiB;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,IACN,QAAQ;AAAA,MACP,MAAM;AAAA,MACN,SAASC,WAAAA,kBAAkB;AAAA,MAC3B,UAAU;AAAA,IAAA;AAAA,IAEX,YAAY;AAAA,MACX,MAAM;AAAA,MACN,SAASA,WAAAA,kBAAkB;AAAA,MAC3B,UAAU;AAAA,IAAA;AAAA,EACV;AAAA,EAEF,OAAI;AACH,WAAO;AAAA,MACN,SAAS;AAAA,MACT,QAAQC,WAAAA,iBAAA;AAAA,MACR,SAASC,WAAAA,kBAAA;AAAA,IAAiB;AAAA,EAE5B;AAAA,EACA,UAAO;AACN,SAAK,QAAQ,MAAM,GAClBC,MAAAA,eAAe,QACf,CAAC,WAAU;AACV,WAAK,SAAS;AAAA,IACf,GACA,kBAAkB;AAEnB,SAAK,QAAQ,MAAM,GAClBA,MAAAA,eAAe,SACf,CAAC,YAAW;AACX,WAAK,UAAU;AAAA,IAChB,GACA,mBAAmB;AAGpB,SAAK,QAAQ,KAAA;AAAA,EACd;AAAA,EACA,YAAS;AACR,SAAK,QAAQ,MAAM,IAAIA,MAAAA,eAAe,QAAQ,kBAAkB;AAChE,SAAK,QAAQ,MAAM,IAAIA,MAAAA,eAAe,SAAS,mBAAmB;AAAA,EACnE;AAAA,EACA,OAA0C,GAAgB;AACzD,UAAM,WAA0B,CAAA;AAEhC,QAAI,KAAK,SAAS;AACjB,eAAS,KACR,EAAE,WAAW;AAAA,QACZ,UAAU;AAAA,UACT,WAAW,KAAK;AAAA,QAAA;AAAA,MAChB,CACD,CAAC;AAAA,IAEJ,WAAW,KAAK,OAAO,UAAU,KAAK,aAAa,SAAS;AAC3D,eAAS,KACR,EACC,OACA;AAAA,QACC,OAAO,EAAE,IAAI,OAAA;AAAA,QACb,OAAOC,WAAAA;AAAAA,QACP,IAAI;AAAA,UACH,UAAUC,cAAAA;AAAAA,UACV,WAAWC,cAAAA;AAAAA,QAAA;AAAA,MACX,GAEF;AAAA,QACC,KAAK,aAAa,QAAQ;AAAA,UACzB,QAAQ,KAAK;AAAA,QAAA,CACb;AAAA,MAAA,CACD,CACD;AAAA,IAEH;AAEA,WAAO,EACN,OACA;AAAA,MACC,OAAOC,WAAAA;AAAAA,MACP,OAAO;AAAA,QACN,QAAQ,KAAK;AAAA,QACb,UAAU;AAAA,QACV,KAAK;AAAA,QACL,MAAM;AAAA,QACN,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,YAAY,KAAK;AAAA,MAAA;AAAA,IACjB,GAEF,QAAQ;AAAA,EAEV;AAAA;;;"}