@prismicio/simulator 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -25,6 +25,13 @@ Preview and develop [Prismic][prismic] slices fast with minimal configuration.
25
25
 
26
26
  ## Install
27
27
 
28
+ > **Warning**
29
+ >
30
+ > This is probably not the package you're looking for. For dedicated framework integrations, check out:
31
+ > - [@slicemachine/adapter-next](https://prismic.io/docs/technical-reference/slicemachine-adapter-next)
32
+ > - [@slicemachine/adapter-nuxt](https://prismic.io/docs/technical-reference/slicemachine-adapter-nuxt)
33
+ > - [@slicemachine/adapter-nuxt2](https://prismic.io/docs/technical-reference/slicemachine-adapter-nuxt2)
34
+
28
35
  ```bash
29
36
  npm install @prismicio/simulator
30
37
  ```
@@ -1 +1 @@
1
- {"version":3,"file":"SimulatorAPI.cjs","sources":["../../src/SimulatorAPI.ts"],"sourcesContent":["import {\n\tAPIRequestType,\n\tAPITransactions,\n\tClientRequestType,\n\tClientTransactions,\n} from \"./types\";\n\nimport {\n\tAllChannelReceiverOptions,\n\tChannelReceiver,\n\tTransactionMethod,\n\tTransactionsHandlers,\n\tTransactionsMethods,\n} from \"./channel\";\n\nexport type SimulatorAPIOptions = {\n\tactiveSliceAPI: boolean;\n\tsliceZoneSizeAPI: boolean;\n};\n\nexport const simulatorAPIDefaultOptions: Partial<AllChannelReceiverOptions> &\n\tSimulatorAPIOptions = {\n\trequestIDPrefix: \"api-\",\n\tactiveSliceAPI: false,\n\tsliceZoneSizeAPI: false,\n};\n\nexport class SimulatorAPI\n\textends ChannelReceiver<ClientTransactions, SimulatorAPIOptions>\n\timplements TransactionsMethods<APITransactions>\n{\n\tconstructor(\n\t\trequestHandlers: Omit<\n\t\t\tTransactionsHandlers<ClientTransactions>,\n\t\t\tClientRequestType.Ping\n\t\t> &\n\t\t\tPartial<\n\t\t\t\tPick<TransactionsHandlers<ClientTransactions>, ClientRequestType.Ping>\n\t\t\t>,\n\t\toptions?: Partial<AllChannelReceiverOptions & SimulatorAPIOptions>,\n\t) {\n\t\t// True if `options.debug` is true or `debug=true` is among query parameters\n\t\tconst debug =\n\t\t\toptions?.debug ||\n\t\t\t/[?&]debug=true/i.test(decodeURIComponent(window.location.search));\n\n\t\tsuper(\n\t\t\t{\n\t\t\t\t[ClientRequestType.Ping]: (_req, res) => {\n\t\t\t\t\treturn res.success(\"pong\");\n\t\t\t\t},\n\t\t\t\t...requestHandlers,\n\t\t\t},\n\t\t\t{\n\t\t\t\t...simulatorAPIDefaultOptions,\n\t\t\t\t...options,\n\t\t\t\tdebug,\n\t\t\t},\n\t\t);\n\n\t\t// Append API to window object\n\t\tif (debug) {\n\t\t\ttype APIWindow = typeof window & {\n\t\t\t\tprismic: { sliceSimulator?: { api?: SimulatorAPI[] } };\n\t\t\t};\n\n\t\t\t(window as APIWindow).prismic ||= {};\n\t\t\t(window as APIWindow).prismic.sliceSimulator ||= {};\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\t(window as APIWindow).prismic.sliceSimulator!.api ||= [];\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\t(window as APIWindow).prismic.sliceSimulator!.api!.push(this);\n\t\t}\n\t}\n\n\t[APIRequestType.SetActiveSlice]: TransactionMethod<\n\t\tAPITransactions[APIRequestType.SetActiveSlice]\n\t> = async (data) => {\n\t\treturn await this.postFormattedRequest(APIRequestType.SetActiveSlice, data);\n\t};\n\n\t[APIRequestType.SetSliceZoneSize]: TransactionMethod<\n\t\tAPITransactions[APIRequestType.SetSliceZoneSize]\n\t> = async (data) => {\n\t\treturn await this.postFormattedRequest(\n\t\t\tAPIRequestType.SetSliceZoneSize,\n\t\t\tdata,\n\t\t);\n\t};\n}\n"],"names":["ChannelReceiver","ClientRequestType","APIRequestType","_a","_b"],"mappings":";;;;;;;;;;;;;AAoBO,MAAM,6BACU;AAAA,EACtB,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,kBAAkB;;AAGb,MAAO,qBACJA,gBAAAA,gBAAwD;AAAA,EAGhE,YACC,iBAOA,SAAkE;;AAG5D,UAAA,SACL,mCAAS,UACT,kBAAkB,KAAK,mBAAmB,OAAO,SAAS,MAAM,CAAC;AAGjE,UAAA;AAAA,MACC,CAACC,wBAAkB,IAAI,GAAG,CAAC,MAAM,QAAO;AAChC,eAAA,IAAI,QAAQ,MAAM;AAAA,MAC1B;AAAA,MACA,GAAG;AAAA,IAAA,GAEJ;AAAA,MACC,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,IAAA,CACA;AAkBH,wBAACC,IAEG,OAAO,SAAQ;AAClB,aAAO,MAAM,KAAK,qBAAqBA,MAAA,eAAe,gBAAgB,IAAI;AAAA,IAAA;AAG3E,wBAACA,IAEG,OAAO,SAAQ;AAClB,aAAO,MAAM,KAAK,qBACjBA,MAAA,eAAe,kBACf,IAAI;AAAA,IAAA;AAzBL,QAAI,OAAO;AAKT,aAAqB,YAArB,OAAqB,UAAY;AACZ,OAAAC,MAAA,OAAA,SAAQ,mBAARA,IAAQ,iBAAmB;AAE3B,OAAAC,MAAA,OAAA,QAAQ,gBAAgB,QAAxBA,IAAwB,MAAQ,CAAA;AAErD,aAAqB,QAAQ,eAAgB,IAAK,KAAK,IAAI;AAAA,IAC5D;AAAA,EACF;AAgBA;AAdCF,WAAA,eAAe,gBAMfA,WAAA,eAAe;;;"}
1
+ {"version":3,"file":"SimulatorAPI.cjs","sources":["../../src/SimulatorAPI.ts"],"sourcesContent":["import {\n\tAPIRequestType,\n\tAPITransactions,\n\tClientRequestType,\n\tClientTransactions,\n} from \"./types\";\n\nimport {\n\tAllChannelReceiverOptions,\n\tChannelReceiver,\n\tTransactionMethod,\n\tTransactionsHandlers,\n\tTransactionsMethods,\n} from \"./channel\";\n\nexport type SimulatorAPIOptions = {\n\tactiveSliceAPI: boolean;\n\tsliceZoneSizeAPI: boolean;\n};\n\nexport const simulatorAPIDefaultOptions: Partial<AllChannelReceiverOptions> &\n\tSimulatorAPIOptions = {\n\trequestIDPrefix: \"api-\",\n\tactiveSliceAPI: false,\n\tsliceZoneSizeAPI: false,\n};\n\nexport class SimulatorAPI\n\textends ChannelReceiver<ClientTransactions, SimulatorAPIOptions>\n\timplements TransactionsMethods<APITransactions>\n{\n\tconstructor(\n\t\trequestHandlers: Omit<\n\t\t\tTransactionsHandlers<ClientTransactions>,\n\t\t\tClientRequestType.Ping\n\t\t> &\n\t\t\tPartial<\n\t\t\t\tPick<TransactionsHandlers<ClientTransactions>, ClientRequestType.Ping>\n\t\t\t>,\n\t\toptions?: Partial<AllChannelReceiverOptions & SimulatorAPIOptions>,\n\t) {\n\t\t// True if `options.debug` is true or `debug=true` is among query parameters\n\t\tconst debug =\n\t\t\toptions?.debug ||\n\t\t\t/[?&]debug=true/i.test(decodeURIComponent(window.location.search));\n\n\t\tsuper(\n\t\t\t{\n\t\t\t\t[ClientRequestType.Ping]: (_req, res) => {\n\t\t\t\t\treturn res.success(\"pong\");\n\t\t\t\t},\n\t\t\t\t...requestHandlers,\n\t\t\t},\n\t\t\t{\n\t\t\t\t...simulatorAPIDefaultOptions,\n\t\t\t\t...options,\n\t\t\t\tdebug,\n\t\t\t},\n\t\t);\n\n\t\t// Append API to window object\n\t\tif (debug) {\n\t\t\twindow.prismic ||= {};\n\t\t\twindow.prismic.sliceSimulator ||= {};\n\t\t\twindow.prismic.sliceSimulator.api ||= [];\n\t\t\twindow.prismic.sliceSimulator.api.push(this);\n\t\t}\n\t}\n\n\t[APIRequestType.SetActiveSlice]: TransactionMethod<\n\t\tAPITransactions[APIRequestType.SetActiveSlice]\n\t> = async (data) => {\n\t\treturn await this.postFormattedRequest(APIRequestType.SetActiveSlice, data);\n\t};\n\n\t[APIRequestType.SetSliceZoneSize]: TransactionMethod<\n\t\tAPITransactions[APIRequestType.SetSliceZoneSize]\n\t> = async (data) => {\n\t\treturn await this.postFormattedRequest(\n\t\t\tAPIRequestType.SetSliceZoneSize,\n\t\t\tdata,\n\t\t);\n\t};\n}\n"],"names":["ChannelReceiver","ClientRequestType","APIRequestType","_a","_b"],"mappings":";;;;;;;;;;;;;AAoBO,MAAM,6BACU;AAAA,EACtB,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,kBAAkB;;AAGb,MAAO,qBACJA,gBAAAA,gBAAwD;AAAA,EAGhE,YACC,iBAOA,SAAkE;;AAG5D,UAAA,SACL,mCAAS,UACT,kBAAkB,KAAK,mBAAmB,OAAO,SAAS,MAAM,CAAC;AAGjE,UAAA;AAAA,MACC,CAACC,wBAAkB,IAAI,GAAG,CAAC,MAAM,QAAO;AAChC,eAAA,IAAI,QAAQ,MAAM;AAAA,MAC1B;AAAA,MACA,GAAG;AAAA,IAAA,GAEJ;AAAA,MACC,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,IAAA,CACA;AAYH,wBAACC,IAEG,OAAO,SAAQ;AAClB,aAAO,MAAM,KAAK,qBAAqBA,MAAA,eAAe,gBAAgB,IAAI;AAAA,IAAA;AAG3E,wBAACA,IAEG,OAAO,SAAQ;AAClB,aAAO,MAAM,KAAK,qBACjBA,MAAA,eAAe,kBACf,IAAI;AAAA,IAAA;AAnBL,QAAI,OAAO;AACV,aAAO,YAAP,OAAO,UAAY;AACZ,OAAAC,MAAA,OAAA,SAAQ,mBAARA,IAAQ,iBAAmB;AAC3B,OAAAC,MAAA,OAAA,QAAQ,gBAAe,QAAvBA,IAAuB,MAAQ,CAAA;AACtC,aAAO,QAAQ,eAAe,IAAI,KAAK,IAAI;AAAA,IAC3C;AAAA,EACF;AAgBA;AAdCF,WAAA,eAAe,gBAMfA,WAAA,eAAe;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SimulatorAPI.js","sources":["../../src/SimulatorAPI.ts"],"sourcesContent":["import {\n\tAPIRequestType,\n\tAPITransactions,\n\tClientRequestType,\n\tClientTransactions,\n} from \"./types\";\n\nimport {\n\tAllChannelReceiverOptions,\n\tChannelReceiver,\n\tTransactionMethod,\n\tTransactionsHandlers,\n\tTransactionsMethods,\n} from \"./channel\";\n\nexport type SimulatorAPIOptions = {\n\tactiveSliceAPI: boolean;\n\tsliceZoneSizeAPI: boolean;\n};\n\nexport const simulatorAPIDefaultOptions: Partial<AllChannelReceiverOptions> &\n\tSimulatorAPIOptions = {\n\trequestIDPrefix: \"api-\",\n\tactiveSliceAPI: false,\n\tsliceZoneSizeAPI: false,\n};\n\nexport class SimulatorAPI\n\textends ChannelReceiver<ClientTransactions, SimulatorAPIOptions>\n\timplements TransactionsMethods<APITransactions>\n{\n\tconstructor(\n\t\trequestHandlers: Omit<\n\t\t\tTransactionsHandlers<ClientTransactions>,\n\t\t\tClientRequestType.Ping\n\t\t> &\n\t\t\tPartial<\n\t\t\t\tPick<TransactionsHandlers<ClientTransactions>, ClientRequestType.Ping>\n\t\t\t>,\n\t\toptions?: Partial<AllChannelReceiverOptions & SimulatorAPIOptions>,\n\t) {\n\t\t// True if `options.debug` is true or `debug=true` is among query parameters\n\t\tconst debug =\n\t\t\toptions?.debug ||\n\t\t\t/[?&]debug=true/i.test(decodeURIComponent(window.location.search));\n\n\t\tsuper(\n\t\t\t{\n\t\t\t\t[ClientRequestType.Ping]: (_req, res) => {\n\t\t\t\t\treturn res.success(\"pong\");\n\t\t\t\t},\n\t\t\t\t...requestHandlers,\n\t\t\t},\n\t\t\t{\n\t\t\t\t...simulatorAPIDefaultOptions,\n\t\t\t\t...options,\n\t\t\t\tdebug,\n\t\t\t},\n\t\t);\n\n\t\t// Append API to window object\n\t\tif (debug) {\n\t\t\ttype APIWindow = typeof window & {\n\t\t\t\tprismic: { sliceSimulator?: { api?: SimulatorAPI[] } };\n\t\t\t};\n\n\t\t\t(window as APIWindow).prismic ||= {};\n\t\t\t(window as APIWindow).prismic.sliceSimulator ||= {};\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\t(window as APIWindow).prismic.sliceSimulator!.api ||= [];\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\t(window as APIWindow).prismic.sliceSimulator!.api!.push(this);\n\t\t}\n\t}\n\n\t[APIRequestType.SetActiveSlice]: TransactionMethod<\n\t\tAPITransactions[APIRequestType.SetActiveSlice]\n\t> = async (data) => {\n\t\treturn await this.postFormattedRequest(APIRequestType.SetActiveSlice, data);\n\t};\n\n\t[APIRequestType.SetSliceZoneSize]: TransactionMethod<\n\t\tAPITransactions[APIRequestType.SetSliceZoneSize]\n\t> = async (data) => {\n\t\treturn await this.postFormattedRequest(\n\t\t\tAPIRequestType.SetSliceZoneSize,\n\t\t\tdata,\n\t\t);\n\t};\n}\n"],"names":["_a","_b"],"mappings":";;;;;;;;;;;AAoBO,MAAM,6BACU;AAAA,EACtB,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,kBAAkB;;AAGb,MAAO,qBACJ,gBAAwD;AAAA,EAGhE,YACC,iBAOA,SAAkE;;AAG5D,UAAA,SACL,mCAAS,UACT,kBAAkB,KAAK,mBAAmB,OAAO,SAAS,MAAM,CAAC;AAGjE,UAAA;AAAA,MACC,CAAC,kBAAkB,IAAI,GAAG,CAAC,MAAM,QAAO;AAChC,eAAA,IAAI,QAAQ,MAAM;AAAA,MAC1B;AAAA,MACA,GAAG;AAAA,IAAA,GAEJ;AAAA,MACC,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,IAAA,CACA;AAkBH,wBAAC,IAEG,OAAO,SAAQ;AAClB,aAAO,MAAM,KAAK,qBAAqB,eAAe,gBAAgB,IAAI;AAAA,IAAA;AAG3E,wBAAC,IAEG,OAAO,SAAQ;AAClB,aAAO,MAAM,KAAK,qBACjB,eAAe,kBACf,IAAI;AAAA,IAAA;AAzBL,QAAI,OAAO;AAKT,aAAqB,YAArB,OAAqB,UAAY;AACZ,OAAAA,MAAA,OAAA,SAAQ,mBAARA,IAAQ,iBAAmB;AAE3B,OAAAC,MAAA,OAAA,QAAQ,gBAAgB,QAAxBA,IAAwB,MAAQ,CAAA;AAErD,aAAqB,QAAQ,eAAgB,IAAK,KAAK,IAAI;AAAA,IAC5D;AAAA,EACF;AAgBA;AAdC,oBAAe,gBAMf,oBAAe;"}
1
+ {"version":3,"file":"SimulatorAPI.js","sources":["../../src/SimulatorAPI.ts"],"sourcesContent":["import {\n\tAPIRequestType,\n\tAPITransactions,\n\tClientRequestType,\n\tClientTransactions,\n} from \"./types\";\n\nimport {\n\tAllChannelReceiverOptions,\n\tChannelReceiver,\n\tTransactionMethod,\n\tTransactionsHandlers,\n\tTransactionsMethods,\n} from \"./channel\";\n\nexport type SimulatorAPIOptions = {\n\tactiveSliceAPI: boolean;\n\tsliceZoneSizeAPI: boolean;\n};\n\nexport const simulatorAPIDefaultOptions: Partial<AllChannelReceiverOptions> &\n\tSimulatorAPIOptions = {\n\trequestIDPrefix: \"api-\",\n\tactiveSliceAPI: false,\n\tsliceZoneSizeAPI: false,\n};\n\nexport class SimulatorAPI\n\textends ChannelReceiver<ClientTransactions, SimulatorAPIOptions>\n\timplements TransactionsMethods<APITransactions>\n{\n\tconstructor(\n\t\trequestHandlers: Omit<\n\t\t\tTransactionsHandlers<ClientTransactions>,\n\t\t\tClientRequestType.Ping\n\t\t> &\n\t\t\tPartial<\n\t\t\t\tPick<TransactionsHandlers<ClientTransactions>, ClientRequestType.Ping>\n\t\t\t>,\n\t\toptions?: Partial<AllChannelReceiverOptions & SimulatorAPIOptions>,\n\t) {\n\t\t// True if `options.debug` is true or `debug=true` is among query parameters\n\t\tconst debug =\n\t\t\toptions?.debug ||\n\t\t\t/[?&]debug=true/i.test(decodeURIComponent(window.location.search));\n\n\t\tsuper(\n\t\t\t{\n\t\t\t\t[ClientRequestType.Ping]: (_req, res) => {\n\t\t\t\t\treturn res.success(\"pong\");\n\t\t\t\t},\n\t\t\t\t...requestHandlers,\n\t\t\t},\n\t\t\t{\n\t\t\t\t...simulatorAPIDefaultOptions,\n\t\t\t\t...options,\n\t\t\t\tdebug,\n\t\t\t},\n\t\t);\n\n\t\t// Append API to window object\n\t\tif (debug) {\n\t\t\twindow.prismic ||= {};\n\t\t\twindow.prismic.sliceSimulator ||= {};\n\t\t\twindow.prismic.sliceSimulator.api ||= [];\n\t\t\twindow.prismic.sliceSimulator.api.push(this);\n\t\t}\n\t}\n\n\t[APIRequestType.SetActiveSlice]: TransactionMethod<\n\t\tAPITransactions[APIRequestType.SetActiveSlice]\n\t> = async (data) => {\n\t\treturn await this.postFormattedRequest(APIRequestType.SetActiveSlice, data);\n\t};\n\n\t[APIRequestType.SetSliceZoneSize]: TransactionMethod<\n\t\tAPITransactions[APIRequestType.SetSliceZoneSize]\n\t> = async (data) => {\n\t\treturn await this.postFormattedRequest(\n\t\t\tAPIRequestType.SetSliceZoneSize,\n\t\t\tdata,\n\t\t);\n\t};\n}\n"],"names":["_a","_b"],"mappings":";;;;;;;;;;;AAoBO,MAAM,6BACU;AAAA,EACtB,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,kBAAkB;;AAGb,MAAO,qBACJ,gBAAwD;AAAA,EAGhE,YACC,iBAOA,SAAkE;;AAG5D,UAAA,SACL,mCAAS,UACT,kBAAkB,KAAK,mBAAmB,OAAO,SAAS,MAAM,CAAC;AAGjE,UAAA;AAAA,MACC,CAAC,kBAAkB,IAAI,GAAG,CAAC,MAAM,QAAO;AAChC,eAAA,IAAI,QAAQ,MAAM;AAAA,MAC1B;AAAA,MACA,GAAG;AAAA,IAAA,GAEJ;AAAA,MACC,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,IAAA,CACA;AAYH,wBAAC,IAEG,OAAO,SAAQ;AAClB,aAAO,MAAM,KAAK,qBAAqB,eAAe,gBAAgB,IAAI;AAAA,IAAA;AAG3E,wBAAC,IAEG,OAAO,SAAQ;AAClB,aAAO,MAAM,KAAK,qBACjB,eAAe,kBACf,IAAI;AAAA,IAAA;AAnBL,QAAI,OAAO;AACV,aAAO,YAAP,OAAO,UAAY;AACZ,OAAAA,MAAA,OAAA,SAAQ,mBAARA,IAAQ,iBAAmB;AAC3B,OAAAC,MAAA,OAAA,QAAQ,gBAAe,QAAvBA,IAAuB,MAAQ,CAAA;AACtC,aAAO,QAAQ,eAAe,IAAI,KAAK,IAAI;AAAA,IAC3C;AAAA,EACF;AAgBA;AAdC,oBAAe,gBAMf,oBAAe;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SimulatorClient.cjs","sources":["../../src/SimulatorClient.ts"],"sourcesContent":["import {\n\tAPIRequestType,\n\tAPITransactions,\n\tClientRequestType,\n\tClientTransactions,\n} from \"./types\";\n\nimport { SimulatorAPIOptions } from \"./SimulatorAPI\";\nimport {\n\tAllChannelEmitterOptions,\n\tChannelEmitter,\n\tTransactionMethod,\n\tTransactionsHandlers,\n\tTransactionsMethods,\n} from \"./channel\";\n\nexport const simulatorClientDefaultOptions: Partial<AllChannelEmitterOptions> =\n\t{\n\t\trequestIDPrefix: \"client-\",\n\t};\n\nexport class SimulatorClient\n\textends ChannelEmitter<\n\t\tAPITransactions,\n\t\tPartial<AllChannelEmitterOptions>,\n\t\tSimulatorAPIOptions\n\t>\n\timplements TransactionsMethods<ClientTransactions>\n{\n\tconstructor(\n\t\ttarget: HTMLIFrameElement,\n\t\trequestHandlers?: Partial<TransactionsHandlers<APITransactions>>,\n\t\toptions?: Partial<AllChannelEmitterOptions>,\n\t) {\n\t\t// True if `options.debug` is true or `debug=true` is among query parameters\n\t\tconst debug =\n\t\t\toptions?.debug ||\n\t\t\t/[?&]debug=true/i.test(decodeURIComponent(window.location.search));\n\n\t\tsuper(\n\t\t\ttarget,\n\t\t\t{\n\t\t\t\t[APIRequestType.SetActiveSlice]: (_req, res) => {\n\t\t\t\t\treturn res.success();\n\t\t\t\t},\n\t\t\t\t[APIRequestType.SetSliceZoneSize]: (_req, res) => {\n\t\t\t\t\treturn res.success();\n\t\t\t\t},\n\t\t\t\t...requestHandlers,\n\t\t\t},\n\t\t\t{\n\t\t\t\t...simulatorClientDefaultOptions,\n\t\t\t\t...options,\n\t\t\t\tdebug,\n\t\t\t},\n\t\t);\n\n\t\t// Append client to window object\n\t\tif (debug) {\n\t\t\ttype ClientWindow = typeof window & {\n\t\t\t\tprismic: { sliceSimulator?: { client?: SimulatorClient[] } };\n\t\t\t};\n\n\t\t\t(window as ClientWindow).prismic ||= {};\n\t\t\t(window as ClientWindow).prismic.sliceSimulator ||= {};\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\t(window as ClientWindow).prismic.sliceSimulator!.client ||= [];\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\t(window as ClientWindow).prismic.sliceSimulator!.client!.push(this);\n\t\t}\n\t}\n\n\t[ClientRequestType.Ping]: TransactionMethod<\n\t\tClientTransactions[ClientRequestType.Ping]\n\t> = async () => {\n\t\treturn await this.postFormattedRequest(ClientRequestType.Ping);\n\t};\n\n\t[ClientRequestType.SetSliceZone]: TransactionMethod<\n\t\tClientTransactions[ClientRequestType.SetSliceZone]\n\t> = async (data) => {\n\t\treturn await this.postFormattedRequest(\n\t\t\tClientRequestType.SetSliceZone,\n\t\t\tdata,\n\t\t);\n\t};\n\n\t[ClientRequestType.ScrollToSlice]: TransactionMethod<\n\t\tClientTransactions[ClientRequestType.ScrollToSlice]\n\t> = async (data) => {\n\t\treturn await this.postFormattedRequest(\n\t\t\tClientRequestType.ScrollToSlice,\n\t\t\tdata,\n\t\t);\n\t};\n}\n"],"names":["ChannelEmitter","APIRequestType","ClientRequestType","_a","_b"],"mappings":";;;;;;;;;;;;;AAgBO,MAAM,gCACZ;AAAA,EACC,iBAAiB;;AAGb,MAAO,wBACJA,eAAAA,eAIP;AAAA,EAGD,YACC,QACA,iBACA,SAA2C;;AAGrC,UAAA,SACL,mCAAS,UACT,kBAAkB,KAAK,mBAAmB,OAAO,SAAS,MAAM,CAAC;AAElE,UACC,QACA;AAAA,MACC,CAACC,qBAAe,cAAc,GAAG,CAAC,MAAM,QAAO;AAC9C,eAAO,IAAI;MACZ;AAAA,MACA,CAACA,qBAAe,gBAAgB,GAAG,CAAC,MAAM,QAAO;AAChD,eAAO,IAAI;MACZ;AAAA,MACA,GAAG;AAAA,IAAA,GAEJ;AAAA,MACC,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,IAAA,CACA;AAkBH,wBAACC,IAEG,YAAW;AACd,aAAO,MAAM,KAAK,qBAAqBA,MAAA,kBAAkB,IAAI;AAAA,IAAA;AAG9D,wBAACA,IAEG,OAAO,SAAQ;AAClB,aAAO,MAAM,KAAK,qBACjBA,MAAA,kBAAkB,cAClB,IAAI;AAAA,IAAA;AAIN,wBAACA,IAEG,OAAO,SAAQ;AAClB,aAAO,MAAM,KAAK,qBACjBA,MAAA,kBAAkB,eAClB,IAAI;AAAA,IAAA;AAlCL,QAAI,OAAO;AAKT,aAAwB,YAAxB,OAAwB,UAAY;AACZ,OAAAC,MAAA,OAAA,SAAQ,mBAARA,IAAQ,iBAAmB;AAE3B,OAAAC,MAAA,OAAA,QAAQ,gBAAgB,WAAxBA,IAAwB,SAAW,CAAA;AAE3D,aAAwB,QAAQ,eAAgB,OAAQ,KAAK,IAAI;AAAA,IAClE;AAAA,EACF;AAyBA;AAvBCF,WAAAA,kBAAkB,MAMlBA,WAAA,kBAAkB,cASlBA,WAAA,kBAAkB;;;"}
1
+ {"version":3,"file":"SimulatorClient.cjs","sources":["../../src/SimulatorClient.ts"],"sourcesContent":["import {\n\tAPIRequestType,\n\tAPITransactions,\n\tClientRequestType,\n\tClientTransactions,\n} from \"./types\";\n\nimport { SimulatorAPIOptions } from \"./SimulatorAPI\";\nimport {\n\tAllChannelEmitterOptions,\n\tChannelEmitter,\n\tTransactionMethod,\n\tTransactionsHandlers,\n\tTransactionsMethods,\n} from \"./channel\";\n\nexport const simulatorClientDefaultOptions: Partial<AllChannelEmitterOptions> =\n\t{\n\t\trequestIDPrefix: \"client-\",\n\t};\n\nexport class SimulatorClient\n\textends ChannelEmitter<\n\t\tAPITransactions,\n\t\tPartial<AllChannelEmitterOptions>,\n\t\tSimulatorAPIOptions\n\t>\n\timplements TransactionsMethods<ClientTransactions>\n{\n\tconstructor(\n\t\ttarget: HTMLIFrameElement,\n\t\trequestHandlers?: Partial<TransactionsHandlers<APITransactions>>,\n\t\toptions?: Partial<AllChannelEmitterOptions>,\n\t) {\n\t\t// True if `options.debug` is true or `debug=true` is among query parameters\n\t\tconst debug =\n\t\t\toptions?.debug ||\n\t\t\t/[?&]debug=true/i.test(decodeURIComponent(window.location.search));\n\n\t\tsuper(\n\t\t\ttarget,\n\t\t\t{\n\t\t\t\t[APIRequestType.SetActiveSlice]: (_req, res) => {\n\t\t\t\t\treturn res.success();\n\t\t\t\t},\n\t\t\t\t[APIRequestType.SetSliceZoneSize]: (_req, res) => {\n\t\t\t\t\treturn res.success();\n\t\t\t\t},\n\t\t\t\t...requestHandlers,\n\t\t\t},\n\t\t\t{\n\t\t\t\t...simulatorClientDefaultOptions,\n\t\t\t\t...options,\n\t\t\t\tdebug,\n\t\t\t},\n\t\t);\n\n\t\t// Append client to window object\n\t\tif (debug) {\n\t\t\twindow.prismic ||= {};\n\t\t\twindow.prismic.sliceSimulator ||= {};\n\t\t\twindow.prismic.sliceSimulator.client ||= [];\n\t\t\twindow.prismic.sliceSimulator.client.push(this);\n\t\t}\n\t}\n\n\t[ClientRequestType.Ping]: TransactionMethod<\n\t\tClientTransactions[ClientRequestType.Ping]\n\t> = async () => {\n\t\treturn await this.postFormattedRequest(ClientRequestType.Ping);\n\t};\n\n\t[ClientRequestType.SetSliceZone]: TransactionMethod<\n\t\tClientTransactions[ClientRequestType.SetSliceZone]\n\t> = async (data) => {\n\t\treturn await this.postFormattedRequest(\n\t\t\tClientRequestType.SetSliceZone,\n\t\t\tdata,\n\t\t);\n\t};\n\n\t[ClientRequestType.ScrollToSlice]: TransactionMethod<\n\t\tClientTransactions[ClientRequestType.ScrollToSlice]\n\t> = async (data) => {\n\t\treturn await this.postFormattedRequest(\n\t\t\tClientRequestType.ScrollToSlice,\n\t\t\tdata,\n\t\t);\n\t};\n}\n"],"names":["ChannelEmitter","APIRequestType","ClientRequestType","_a","_b"],"mappings":";;;;;;;;;;;;;AAgBO,MAAM,gCACZ;AAAA,EACC,iBAAiB;;AAGb,MAAO,wBACJA,eAAAA,eAIP;AAAA,EAGD,YACC,QACA,iBACA,SAA2C;;AAGrC,UAAA,SACL,mCAAS,UACT,kBAAkB,KAAK,mBAAmB,OAAO,SAAS,MAAM,CAAC;AAElE,UACC,QACA;AAAA,MACC,CAACC,qBAAe,cAAc,GAAG,CAAC,MAAM,QAAO;AAC9C,eAAO,IAAI;MACZ;AAAA,MACA,CAACA,qBAAe,gBAAgB,GAAG,CAAC,MAAM,QAAO;AAChD,eAAO,IAAI;MACZ;AAAA,MACA,GAAG;AAAA,IAAA,GAEJ;AAAA,MACC,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,IAAA,CACA;AAYH,wBAACC,IAEG,YAAW;AACd,aAAO,MAAM,KAAK,qBAAqBA,MAAA,kBAAkB,IAAI;AAAA,IAAA;AAG9D,wBAACA,IAEG,OAAO,SAAQ;AAClB,aAAO,MAAM,KAAK,qBACjBA,MAAA,kBAAkB,cAClB,IAAI;AAAA,IAAA;AAIN,wBAACA,IAEG,OAAO,SAAQ;AAClB,aAAO,MAAM,KAAK,qBACjBA,MAAA,kBAAkB,eAClB,IAAI;AAAA,IAAA;AA5BL,QAAI,OAAO;AACV,aAAO,YAAP,OAAO,UAAY;AACZ,OAAAC,MAAA,OAAA,SAAQ,mBAARA,IAAQ,iBAAmB;AAC3B,OAAAC,MAAA,OAAA,QAAQ,gBAAe,WAAvBA,IAAuB,SAAW,CAAA;AACzC,aAAO,QAAQ,eAAe,OAAO,KAAK,IAAI;AAAA,IAC9C;AAAA,EACF;AAyBA;AAvBCF,WAAAA,kBAAkB,MAMlBA,WAAA,kBAAkB,cASlBA,WAAA,kBAAkB;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SimulatorClient.js","sources":["../../src/SimulatorClient.ts"],"sourcesContent":["import {\n\tAPIRequestType,\n\tAPITransactions,\n\tClientRequestType,\n\tClientTransactions,\n} from \"./types\";\n\nimport { SimulatorAPIOptions } from \"./SimulatorAPI\";\nimport {\n\tAllChannelEmitterOptions,\n\tChannelEmitter,\n\tTransactionMethod,\n\tTransactionsHandlers,\n\tTransactionsMethods,\n} from \"./channel\";\n\nexport const simulatorClientDefaultOptions: Partial<AllChannelEmitterOptions> =\n\t{\n\t\trequestIDPrefix: \"client-\",\n\t};\n\nexport class SimulatorClient\n\textends ChannelEmitter<\n\t\tAPITransactions,\n\t\tPartial<AllChannelEmitterOptions>,\n\t\tSimulatorAPIOptions\n\t>\n\timplements TransactionsMethods<ClientTransactions>\n{\n\tconstructor(\n\t\ttarget: HTMLIFrameElement,\n\t\trequestHandlers?: Partial<TransactionsHandlers<APITransactions>>,\n\t\toptions?: Partial<AllChannelEmitterOptions>,\n\t) {\n\t\t// True if `options.debug` is true or `debug=true` is among query parameters\n\t\tconst debug =\n\t\t\toptions?.debug ||\n\t\t\t/[?&]debug=true/i.test(decodeURIComponent(window.location.search));\n\n\t\tsuper(\n\t\t\ttarget,\n\t\t\t{\n\t\t\t\t[APIRequestType.SetActiveSlice]: (_req, res) => {\n\t\t\t\t\treturn res.success();\n\t\t\t\t},\n\t\t\t\t[APIRequestType.SetSliceZoneSize]: (_req, res) => {\n\t\t\t\t\treturn res.success();\n\t\t\t\t},\n\t\t\t\t...requestHandlers,\n\t\t\t},\n\t\t\t{\n\t\t\t\t...simulatorClientDefaultOptions,\n\t\t\t\t...options,\n\t\t\t\tdebug,\n\t\t\t},\n\t\t);\n\n\t\t// Append client to window object\n\t\tif (debug) {\n\t\t\ttype ClientWindow = typeof window & {\n\t\t\t\tprismic: { sliceSimulator?: { client?: SimulatorClient[] } };\n\t\t\t};\n\n\t\t\t(window as ClientWindow).prismic ||= {};\n\t\t\t(window as ClientWindow).prismic.sliceSimulator ||= {};\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\t(window as ClientWindow).prismic.sliceSimulator!.client ||= [];\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\t(window as ClientWindow).prismic.sliceSimulator!.client!.push(this);\n\t\t}\n\t}\n\n\t[ClientRequestType.Ping]: TransactionMethod<\n\t\tClientTransactions[ClientRequestType.Ping]\n\t> = async () => {\n\t\treturn await this.postFormattedRequest(ClientRequestType.Ping);\n\t};\n\n\t[ClientRequestType.SetSliceZone]: TransactionMethod<\n\t\tClientTransactions[ClientRequestType.SetSliceZone]\n\t> = async (data) => {\n\t\treturn await this.postFormattedRequest(\n\t\t\tClientRequestType.SetSliceZone,\n\t\t\tdata,\n\t\t);\n\t};\n\n\t[ClientRequestType.ScrollToSlice]: TransactionMethod<\n\t\tClientTransactions[ClientRequestType.ScrollToSlice]\n\t> = async (data) => {\n\t\treturn await this.postFormattedRequest(\n\t\t\tClientRequestType.ScrollToSlice,\n\t\t\tdata,\n\t\t);\n\t};\n}\n"],"names":["_a","_b"],"mappings":";;;;;;;;;;;AAgBO,MAAM,gCACZ;AAAA,EACC,iBAAiB;;AAGb,MAAO,wBACJ,eAIP;AAAA,EAGD,YACC,QACA,iBACA,SAA2C;;AAGrC,UAAA,SACL,mCAAS,UACT,kBAAkB,KAAK,mBAAmB,OAAO,SAAS,MAAM,CAAC;AAElE,UACC,QACA;AAAA,MACC,CAAC,eAAe,cAAc,GAAG,CAAC,MAAM,QAAO;AAC9C,eAAO,IAAI;MACZ;AAAA,MACA,CAAC,eAAe,gBAAgB,GAAG,CAAC,MAAM,QAAO;AAChD,eAAO,IAAI;MACZ;AAAA,MACA,GAAG;AAAA,IAAA,GAEJ;AAAA,MACC,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,IAAA,CACA;AAkBH,wBAAC,IAEG,YAAW;AACd,aAAO,MAAM,KAAK,qBAAqB,kBAAkB,IAAI;AAAA,IAAA;AAG9D,wBAAC,IAEG,OAAO,SAAQ;AAClB,aAAO,MAAM,KAAK,qBACjB,kBAAkB,cAClB,IAAI;AAAA,IAAA;AAIN,wBAAC,IAEG,OAAO,SAAQ;AAClB,aAAO,MAAM,KAAK,qBACjB,kBAAkB,eAClB,IAAI;AAAA,IAAA;AAlCL,QAAI,OAAO;AAKT,aAAwB,YAAxB,OAAwB,UAAY;AACZ,OAAAA,MAAA,OAAA,SAAQ,mBAARA,IAAQ,iBAAmB;AAE3B,OAAAC,MAAA,OAAA,QAAQ,gBAAgB,WAAxBA,IAAwB,SAAW,CAAA;AAE3D,aAAwB,QAAQ,eAAgB,OAAQ,KAAK,IAAI;AAAA,IAClE;AAAA,EACF;AAyBA;AAvBC,uBAAkB,MAMlB,uBAAkB,cASlB,uBAAkB;"}
1
+ {"version":3,"file":"SimulatorClient.js","sources":["../../src/SimulatorClient.ts"],"sourcesContent":["import {\n\tAPIRequestType,\n\tAPITransactions,\n\tClientRequestType,\n\tClientTransactions,\n} from \"./types\";\n\nimport { SimulatorAPIOptions } from \"./SimulatorAPI\";\nimport {\n\tAllChannelEmitterOptions,\n\tChannelEmitter,\n\tTransactionMethod,\n\tTransactionsHandlers,\n\tTransactionsMethods,\n} from \"./channel\";\n\nexport const simulatorClientDefaultOptions: Partial<AllChannelEmitterOptions> =\n\t{\n\t\trequestIDPrefix: \"client-\",\n\t};\n\nexport class SimulatorClient\n\textends ChannelEmitter<\n\t\tAPITransactions,\n\t\tPartial<AllChannelEmitterOptions>,\n\t\tSimulatorAPIOptions\n\t>\n\timplements TransactionsMethods<ClientTransactions>\n{\n\tconstructor(\n\t\ttarget: HTMLIFrameElement,\n\t\trequestHandlers?: Partial<TransactionsHandlers<APITransactions>>,\n\t\toptions?: Partial<AllChannelEmitterOptions>,\n\t) {\n\t\t// True if `options.debug` is true or `debug=true` is among query parameters\n\t\tconst debug =\n\t\t\toptions?.debug ||\n\t\t\t/[?&]debug=true/i.test(decodeURIComponent(window.location.search));\n\n\t\tsuper(\n\t\t\ttarget,\n\t\t\t{\n\t\t\t\t[APIRequestType.SetActiveSlice]: (_req, res) => {\n\t\t\t\t\treturn res.success();\n\t\t\t\t},\n\t\t\t\t[APIRequestType.SetSliceZoneSize]: (_req, res) => {\n\t\t\t\t\treturn res.success();\n\t\t\t\t},\n\t\t\t\t...requestHandlers,\n\t\t\t},\n\t\t\t{\n\t\t\t\t...simulatorClientDefaultOptions,\n\t\t\t\t...options,\n\t\t\t\tdebug,\n\t\t\t},\n\t\t);\n\n\t\t// Append client to window object\n\t\tif (debug) {\n\t\t\twindow.prismic ||= {};\n\t\t\twindow.prismic.sliceSimulator ||= {};\n\t\t\twindow.prismic.sliceSimulator.client ||= [];\n\t\t\twindow.prismic.sliceSimulator.client.push(this);\n\t\t}\n\t}\n\n\t[ClientRequestType.Ping]: TransactionMethod<\n\t\tClientTransactions[ClientRequestType.Ping]\n\t> = async () => {\n\t\treturn await this.postFormattedRequest(ClientRequestType.Ping);\n\t};\n\n\t[ClientRequestType.SetSliceZone]: TransactionMethod<\n\t\tClientTransactions[ClientRequestType.SetSliceZone]\n\t> = async (data) => {\n\t\treturn await this.postFormattedRequest(\n\t\t\tClientRequestType.SetSliceZone,\n\t\t\tdata,\n\t\t);\n\t};\n\n\t[ClientRequestType.ScrollToSlice]: TransactionMethod<\n\t\tClientTransactions[ClientRequestType.ScrollToSlice]\n\t> = async (data) => {\n\t\treturn await this.postFormattedRequest(\n\t\t\tClientRequestType.ScrollToSlice,\n\t\t\tdata,\n\t\t);\n\t};\n}\n"],"names":["_a","_b"],"mappings":";;;;;;;;;;;AAgBO,MAAM,gCACZ;AAAA,EACC,iBAAiB;;AAGb,MAAO,wBACJ,eAIP;AAAA,EAGD,YACC,QACA,iBACA,SAA2C;;AAGrC,UAAA,SACL,mCAAS,UACT,kBAAkB,KAAK,mBAAmB,OAAO,SAAS,MAAM,CAAC;AAElE,UACC,QACA;AAAA,MACC,CAAC,eAAe,cAAc,GAAG,CAAC,MAAM,QAAO;AAC9C,eAAO,IAAI;MACZ;AAAA,MACA,CAAC,eAAe,gBAAgB,GAAG,CAAC,MAAM,QAAO;AAChD,eAAO,IAAI;MACZ;AAAA,MACA,GAAG;AAAA,IAAA,GAEJ;AAAA,MACC,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,IAAA,CACA;AAYH,wBAAC,IAEG,YAAW;AACd,aAAO,MAAM,KAAK,qBAAqB,kBAAkB,IAAI;AAAA,IAAA;AAG9D,wBAAC,IAEG,OAAO,SAAQ;AAClB,aAAO,MAAM,KAAK,qBACjB,kBAAkB,cAClB,IAAI;AAAA,IAAA;AAIN,wBAAC,IAEG,OAAO,SAAQ;AAClB,aAAO,MAAM,KAAK,qBACjB,kBAAkB,eAClB,IAAI;AAAA,IAAA;AA5BL,QAAI,OAAO;AACV,aAAO,YAAP,OAAO,UAAY;AACZ,OAAAA,MAAA,OAAA,SAAQ,mBAARA,IAAQ,iBAAmB;AAC3B,OAAAC,MAAA,OAAA,QAAQ,gBAAe,WAAvBA,IAAuB,SAAW,CAAA;AACzC,aAAO,QAAQ,eAAe,OAAO,KAAK,IAAI;AAAA,IAC9C;AAAA,EACF;AAyBA;AAvBC,uBAAkB,MAMlB,uBAAkB,cASlB,uBAAkB;"}
@@ -0,0 +1,12 @@
1
+ import { SimulatorAPI } from "./SimulatorAPI";
2
+ import { SimulatorClient } from "./SimulatorClient";
3
+ declare global {
4
+ interface Window {
5
+ prismic?: {
6
+ sliceSimulator?: {
7
+ api?: SimulatorAPI[];
8
+ client?: SimulatorClient[];
9
+ };
10
+ };
11
+ }
12
+ }
package/dist/index.d.ts CHANGED
@@ -5,3 +5,4 @@ export { validateMessage, isRequestMessage, isResponseMessage, isSuccessResponse
5
5
  export type { RequestMessage, ResponseMessage, ErrorResponseMessage, SuccessResponseMessage, AllChannelEmitterOptions, AllChannelReceiverOptions, } from "./channel";
6
6
  export { APIRequestType, ClientRequestType } from "./types";
7
7
  export type { ActiveSlice, SliceZoneSize, APITransactions, ClientTransactions, } from "./types";
8
+ export * from "./globalExtensions";
@@ -1 +1 @@
1
- {"version":3,"file":"types.cjs","sources":["../../src/types.ts"],"sourcesContent":["import { SliceZone } from \"@prismicio/types\";\n\nimport { RequestMessage, ResponseMessage, Transaction } from \"./channel\";\n\nexport type ActiveSlice = {\n\trect: DOMRect;\n\tsliceID: string;\n\tvariationID: string;\n\tindex: number;\n};\n\nexport type SliceZoneSize = {\n\trect: DOMRect;\n};\n\nexport enum APIRequestType {\n\tSetActiveSlice = \"setActiveSlice\",\n\tSetSliceZoneSize = \"setSliceZoneSize\",\n}\n\nexport type APITransactions = {\n\t[APIRequestType.SetActiveSlice]: Transaction<\n\t\tRequestMessage<APIRequestType.SetActiveSlice, ActiveSlice | null>\n\t>;\n\t[APIRequestType.SetSliceZoneSize]: Transaction<\n\t\tRequestMessage<APIRequestType.SetSliceZoneSize, SliceZoneSize>\n\t>;\n};\n\nexport enum ClientRequestType {\n\tPing = \"ping\",\n\tSetSliceZone = \"setSliceZone\",\n\tScrollToSlice = \"scrollToSlice\",\n}\n\nexport type ClientTransactions = {\n\t[ClientRequestType.Ping]: Transaction<\n\t\tRequestMessage<ClientRequestType.Ping>,\n\t\tResponseMessage<\"pong\">\n\t>;\n\n\t[ClientRequestType.SetSliceZone]: Transaction<\n\t\tRequestMessage<ClientRequestType.SetSliceZone, SliceZone>\n\t>;\n\n\t[ClientRequestType.ScrollToSlice]: Transaction<\n\t\tRequestMessage<\n\t\t\tClientRequestType.ScrollToSlice,\n\t\t\t{\n\t\t\t\tsliceIndex: number;\n\t\t\t\tbehavior?: \"auto\" | \"smooth\";\n\t\t\t\tblock?: \"start\" | \"center\" | \"end\" | \"nearest\";\n\t\t\t\tinline?: \"start\" | \"center\" | \"end\" | \"nearest\";\n\t\t\t}\n\t\t>\n\t>;\n};\n"],"names":["APIRequestType","ClientRequestType"],"mappings":";;AAeYA,QAAA,iBAAA;AAAA,CAAZ,SAAYA,iBAAc;AACzBA,kBAAA,gBAAA,IAAA;AACAA,kBAAA,kBAAA,IAAA;AACD,GAHYA,2BAAAA,QAAAA,iBAGX,CAAA,EAAA;AAWWC,QAAA,oBAAA;AAAA,CAAZ,SAAYA,oBAAiB;AAC5BA,qBAAA,MAAA,IAAA;AACAA,qBAAA,cAAA,IAAA;AACAA,qBAAA,eAAA,IAAA;AACD,GAJYA,QAAA,sBAAAA,4BAIX,CAAA,EAAA;"}
1
+ {"version":3,"file":"types.cjs","sources":["../../src/types.ts"],"sourcesContent":["import { SliceZone } from \"@prismicio/client\";\n\nimport { RequestMessage, ResponseMessage, Transaction } from \"./channel\";\n\nexport type ActiveSlice = {\n\trect: DOMRect;\n\tsliceID: string;\n\tvariationID: string;\n\tindex: number;\n};\n\nexport type SliceZoneSize = {\n\trect: DOMRect;\n};\n\nexport enum APIRequestType {\n\tSetActiveSlice = \"setActiveSlice\",\n\tSetSliceZoneSize = \"setSliceZoneSize\",\n}\n\nexport type APITransactions = {\n\t[APIRequestType.SetActiveSlice]: Transaction<\n\t\tRequestMessage<APIRequestType.SetActiveSlice, ActiveSlice | null>\n\t>;\n\t[APIRequestType.SetSliceZoneSize]: Transaction<\n\t\tRequestMessage<APIRequestType.SetSliceZoneSize, SliceZoneSize>\n\t>;\n};\n\nexport enum ClientRequestType {\n\tPing = \"ping\",\n\tSetSliceZone = \"setSliceZone\",\n\tScrollToSlice = \"scrollToSlice\",\n}\n\nexport type ClientTransactions = {\n\t[ClientRequestType.Ping]: Transaction<\n\t\tRequestMessage<ClientRequestType.Ping>,\n\t\tResponseMessage<\"pong\">\n\t>;\n\n\t[ClientRequestType.SetSliceZone]: Transaction<\n\t\tRequestMessage<ClientRequestType.SetSliceZone, SliceZone>\n\t>;\n\n\t[ClientRequestType.ScrollToSlice]: Transaction<\n\t\tRequestMessage<\n\t\t\tClientRequestType.ScrollToSlice,\n\t\t\t{\n\t\t\t\tsliceIndex: number;\n\t\t\t\tbehavior?: \"auto\" | \"smooth\";\n\t\t\t\tblock?: \"start\" | \"center\" | \"end\" | \"nearest\";\n\t\t\t\tinline?: \"start\" | \"center\" | \"end\" | \"nearest\";\n\t\t\t}\n\t\t>\n\t>;\n};\n"],"names":["APIRequestType","ClientRequestType"],"mappings":";;AAeYA,QAAA,iBAAA;AAAA,CAAZ,SAAYA,iBAAc;AACzBA,kBAAA,gBAAA,IAAA;AACAA,kBAAA,kBAAA,IAAA;AACD,GAHYA,2BAAAA,QAAAA,iBAGX,CAAA,EAAA;AAWWC,QAAA,oBAAA;AAAA,CAAZ,SAAYA,oBAAiB;AAC5BA,qBAAA,MAAA,IAAA;AACAA,qBAAA,cAAA,IAAA;AACAA,qBAAA,eAAA,IAAA;AACD,GAJYA,QAAA,sBAAAA,4BAIX,CAAA,EAAA;"}
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { SliceZone } from "@prismicio/types";
1
+ import { SliceZone } from "@prismicio/client";
2
2
  import { RequestMessage, ResponseMessage, Transaction } from "./channel";
3
3
  export type ActiveSlice = {
4
4
  rect: DOMRect;
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../src/types.ts"],"sourcesContent":["import { SliceZone } from \"@prismicio/types\";\n\nimport { RequestMessage, ResponseMessage, Transaction } from \"./channel\";\n\nexport type ActiveSlice = {\n\trect: DOMRect;\n\tsliceID: string;\n\tvariationID: string;\n\tindex: number;\n};\n\nexport type SliceZoneSize = {\n\trect: DOMRect;\n};\n\nexport enum APIRequestType {\n\tSetActiveSlice = \"setActiveSlice\",\n\tSetSliceZoneSize = \"setSliceZoneSize\",\n}\n\nexport type APITransactions = {\n\t[APIRequestType.SetActiveSlice]: Transaction<\n\t\tRequestMessage<APIRequestType.SetActiveSlice, ActiveSlice | null>\n\t>;\n\t[APIRequestType.SetSliceZoneSize]: Transaction<\n\t\tRequestMessage<APIRequestType.SetSliceZoneSize, SliceZoneSize>\n\t>;\n};\n\nexport enum ClientRequestType {\n\tPing = \"ping\",\n\tSetSliceZone = \"setSliceZone\",\n\tScrollToSlice = \"scrollToSlice\",\n}\n\nexport type ClientTransactions = {\n\t[ClientRequestType.Ping]: Transaction<\n\t\tRequestMessage<ClientRequestType.Ping>,\n\t\tResponseMessage<\"pong\">\n\t>;\n\n\t[ClientRequestType.SetSliceZone]: Transaction<\n\t\tRequestMessage<ClientRequestType.SetSliceZone, SliceZone>\n\t>;\n\n\t[ClientRequestType.ScrollToSlice]: Transaction<\n\t\tRequestMessage<\n\t\t\tClientRequestType.ScrollToSlice,\n\t\t\t{\n\t\t\t\tsliceIndex: number;\n\t\t\t\tbehavior?: \"auto\" | \"smooth\";\n\t\t\t\tblock?: \"start\" | \"center\" | \"end\" | \"nearest\";\n\t\t\t\tinline?: \"start\" | \"center\" | \"end\" | \"nearest\";\n\t\t\t}\n\t\t>\n\t>;\n};\n"],"names":["APIRequestType","ClientRequestType"],"mappings":"AAeY,IAAA;AAAA,CAAZ,SAAYA,iBAAc;AACzBA,kBAAA,gBAAA,IAAA;AACAA,kBAAA,kBAAA,IAAA;AACD,GAHY,mBAAA,iBAGX,CAAA,EAAA;AAWW,IAAA;AAAA,CAAZ,SAAYC,oBAAiB;AAC5BA,qBAAA,MAAA,IAAA;AACAA,qBAAA,cAAA,IAAA;AACAA,qBAAA,eAAA,IAAA;AACD,GAJY,sBAAA,oBAIX,CAAA,EAAA;"}
1
+ {"version":3,"file":"types.js","sources":["../../src/types.ts"],"sourcesContent":["import { SliceZone } from \"@prismicio/client\";\n\nimport { RequestMessage, ResponseMessage, Transaction } from \"./channel\";\n\nexport type ActiveSlice = {\n\trect: DOMRect;\n\tsliceID: string;\n\tvariationID: string;\n\tindex: number;\n};\n\nexport type SliceZoneSize = {\n\trect: DOMRect;\n};\n\nexport enum APIRequestType {\n\tSetActiveSlice = \"setActiveSlice\",\n\tSetSliceZoneSize = \"setSliceZoneSize\",\n}\n\nexport type APITransactions = {\n\t[APIRequestType.SetActiveSlice]: Transaction<\n\t\tRequestMessage<APIRequestType.SetActiveSlice, ActiveSlice | null>\n\t>;\n\t[APIRequestType.SetSliceZoneSize]: Transaction<\n\t\tRequestMessage<APIRequestType.SetSliceZoneSize, SliceZoneSize>\n\t>;\n};\n\nexport enum ClientRequestType {\n\tPing = \"ping\",\n\tSetSliceZone = \"setSliceZone\",\n\tScrollToSlice = \"scrollToSlice\",\n}\n\nexport type ClientTransactions = {\n\t[ClientRequestType.Ping]: Transaction<\n\t\tRequestMessage<ClientRequestType.Ping>,\n\t\tResponseMessage<\"pong\">\n\t>;\n\n\t[ClientRequestType.SetSliceZone]: Transaction<\n\t\tRequestMessage<ClientRequestType.SetSliceZone, SliceZone>\n\t>;\n\n\t[ClientRequestType.ScrollToSlice]: Transaction<\n\t\tRequestMessage<\n\t\t\tClientRequestType.ScrollToSlice,\n\t\t\t{\n\t\t\t\tsliceIndex: number;\n\t\t\t\tbehavior?: \"auto\" | \"smooth\";\n\t\t\t\tblock?: \"start\" | \"center\" | \"end\" | \"nearest\";\n\t\t\t\tinline?: \"start\" | \"center\" | \"end\" | \"nearest\";\n\t\t\t}\n\t\t>\n\t>;\n};\n"],"names":["APIRequestType","ClientRequestType"],"mappings":"AAeY,IAAA;AAAA,CAAZ,SAAYA,iBAAc;AACzBA,kBAAA,gBAAA,IAAA;AACAA,kBAAA,kBAAA,IAAA;AACD,GAHY,mBAAA,iBAGX,CAAA,EAAA;AAWW,IAAA;AAAA,CAAZ,SAAYC,oBAAiB;AAC5BA,qBAAA,MAAA,IAAA;AACAA,qBAAA,cAAA,IAAA;AACAA,qBAAA,eAAA,IAAA;AACD,GAJY,sBAAA,oBAIX,CAAA,EAAA;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prismicio/simulator",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "Preview and develop Prismic slices fast with minimal configuration",
5
5
  "keywords": [
6
6
  "typescript",
@@ -55,14 +55,14 @@
55
55
  },
56
56
  "scripts": {
57
57
  "build": "vite build",
58
- "dev": "nuxi dev playground",
58
+ "dev": "next dev playground",
59
59
  "format": "prettier --write .",
60
- "prepare": "npm run build && nuxi prepare playground",
60
+ "prepare": "npm run build",
61
61
  "release": "npm run test && standard-version && git push --follow-tags && npm run build && npm publish",
62
62
  "release:dry": "standard-version --dry-run",
63
63
  "release:alpha": "npm run test && standard-version --release-as major --prerelease alpha && git push --follow-tags && npm run build && npm publish --tag alpha",
64
64
  "release:alpha:dry": "standard-version --release-as major --prerelease alpha --dry-run",
65
- "lint": "eslint --ext .js,.ts .",
65
+ "lint": "eslint --ext .js,.ts,.jsx,.tsx .",
66
66
  "types": "vitest typecheck --run && tsc --noEmit",
67
67
  "types:watch": "vitest typecheck",
68
68
  "unit": "vitest run --coverage",
@@ -71,31 +71,39 @@
71
71
  "test": "npm run lint && npm run types && npm run unit && npm run build && npm run size"
72
72
  },
73
73
  "dependencies": {
74
- "@prismicio/client": "^7.0.1",
74
+ "@prismicio/client": "^7.1.0",
75
75
  "@types/statuses": "^2.0.1",
76
76
  "statuses": "^2.0.1"
77
77
  },
78
78
  "devDependencies": {
79
- "@nuxt/eslint-config": "^0.1.1",
80
- "@nuxtjs/prismic": "^3.0.0",
81
- "@nuxtjs/tailwindcss": "^6.7.0",
79
+ "@prismicio/next": "^1.3.1",
80
+ "@prismicio/react": "^2.7.0",
82
81
  "@size-limit/preset-small-lib": "^8.2.4",
83
- "@slicemachine/adapter-nuxt": "^0.3.0",
82
+ "@slicemachine/adapter-next": "^0.3.0",
84
83
  "@trivago/prettier-plugin-sort-imports": "^4.1.1",
85
- "@types/node": "^18",
86
- "@typescript-eslint/eslint-plugin": "^5.59.9",
87
- "@typescript-eslint/parser": "^5.59.9",
84
+ "@types/node": "20.2.5",
85
+ "@types/react": "18.2.12",
86
+ "@types/react-dom": "18.2.5",
87
+ "@typescript-eslint/eslint-plugin": "^5.59.11",
88
+ "@typescript-eslint/parser": "^5.59.11",
88
89
  "@vitest/coverage-v8": "^0.32.0",
90
+ "autoprefixer": "^10.4.14",
91
+ "clsx": "^1.2.1",
89
92
  "eslint": "^8.42.0",
93
+ "eslint-config-next": "^13.4.5",
90
94
  "eslint-config-prettier": "^8.8.0",
91
95
  "eslint-plugin-prettier": "^4.2.1",
92
96
  "eslint-plugin-tsdoc": "^0.2.17",
93
97
  "jsdom": "^22.1.0",
94
- "nuxt": "^3.5.3",
98
+ "next": "13.4.5",
99
+ "postcss": "^8.4.24",
95
100
  "prettier": "^2.8.8",
96
101
  "prettier-plugin-jsdoc": "^0.4.2",
102
+ "react": "18.2.0",
103
+ "react-dom": "18.2.0",
97
104
  "size-limit": "^8.2.4",
98
105
  "standard-version": "^9.5.0",
106
+ "tailwindcss": "^3.3.2",
99
107
  "typescript": "^5.1.3",
100
108
  "vite": "^4.3.9",
101
109
  "vite-plugin-sdk": "^0.1.1",
@@ -60,16 +60,10 @@ export class SimulatorAPI
60
60
 
61
61
  // Append API to window object
62
62
  if (debug) {
63
- type APIWindow = typeof window & {
64
- prismic: { sliceSimulator?: { api?: SimulatorAPI[] } };
65
- };
66
-
67
- (window as APIWindow).prismic ||= {};
68
- (window as APIWindow).prismic.sliceSimulator ||= {};
69
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
70
- (window as APIWindow).prismic.sliceSimulator!.api ||= [];
71
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
72
- (window as APIWindow).prismic.sliceSimulator!.api!.push(this);
63
+ window.prismic ||= {};
64
+ window.prismic.sliceSimulator ||= {};
65
+ window.prismic.sliceSimulator.api ||= [];
66
+ window.prismic.sliceSimulator.api.push(this);
73
67
  }
74
68
  }
75
69
 
@@ -57,16 +57,10 @@ export class SimulatorClient
57
57
 
58
58
  // Append client to window object
59
59
  if (debug) {
60
- type ClientWindow = typeof window & {
61
- prismic: { sliceSimulator?: { client?: SimulatorClient[] } };
62
- };
63
-
64
- (window as ClientWindow).prismic ||= {};
65
- (window as ClientWindow).prismic.sliceSimulator ||= {};
66
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
67
- (window as ClientWindow).prismic.sliceSimulator!.client ||= [];
68
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
69
- (window as ClientWindow).prismic.sliceSimulator!.client!.push(this);
60
+ window.prismic ||= {};
61
+ window.prismic.sliceSimulator ||= {};
62
+ window.prismic.sliceSimulator.client ||= [];
63
+ window.prismic.sliceSimulator.client.push(this);
70
64
  }
71
65
  }
72
66
 
@@ -0,0 +1,13 @@
1
+ import { SimulatorAPI } from "./SimulatorAPI";
2
+ import { SimulatorClient } from "./SimulatorClient";
3
+
4
+ declare global {
5
+ interface Window {
6
+ prismic?: {
7
+ sliceSimulator?: {
8
+ api?: SimulatorAPI[];
9
+ client?: SimulatorClient[];
10
+ };
11
+ };
12
+ }
13
+ }
package/src/index.ts CHANGED
@@ -38,3 +38,5 @@ export type {
38
38
  APITransactions,
39
39
  ClientTransactions,
40
40
  } from "./types";
41
+
42
+ export * from "./globalExtensions";
package/src/types.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { SliceZone } from "@prismicio/types";
1
+ import { SliceZone } from "@prismicio/client";
2
2
 
3
3
  import { RequestMessage, ResponseMessage, Transaction } from "./channel";
4
4