@prismicio/simulator 0.2.3 → 0.2.4-pr.31.b761d52
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/dist/kit/SimulatorManager.cjs +1 -0
- package/dist/kit/SimulatorManager.cjs.map +1 -1
- package/dist/kit/SimulatorManager.js +1 -0
- package/dist/kit/SimulatorManager.js.map +1 -1
- package/dist/package.cjs +1 -1
- package/dist/package.js +1 -1
- package/package.json +1 -1
- package/src/kit/SimulatorManager.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimulatorManager.cjs","names":["State","sliceSimulatorAccessedDirectly","SimulatorAPI","ClientRequestType","getSliceZoneDOM","StateEventType","ResponseError","throttle","getSimulatorRootDOM","getSimulatorDOM"],"sources":["../../src/kit/SimulatorManager.ts"],"sourcesContent":["import type { SliceZone } from \"@prismicio/client\"\n\nimport { ResponseError } from \"../channel\"\nimport { throttle } from \"../lib/throttle\"\nimport { SimulatorAPI } from \"../SimulatorAPI\"\nimport { ClientRequestType } from \"../types\"\nimport { getSimulatorDOM, getSimulatorRootDOM, getSliceZoneDOM } from \"./domHelpers\"\nimport { sliceSimulatorAccessedDirectly } from \"./messages\"\nimport { State } from \"./State\"\nimport { StateEventType } from \"./types\"\n\ntype ManagerConstructorArgs = {\n\tslices?: SliceZone\n}\n\nexport class SimulatorManager {\n\tpublic state: State\n\tprivate _api: SimulatorAPI | null\n\tprivate _initialized: boolean\n\n\tconstructor(args?: ManagerConstructorArgs) {\n\t\tthis.state = new State(args)\n\t\tthis._api = null\n\t\tthis._initialized = false\n\t}\n\n\tasync init(): Promise<void> {\n\t\tif (this._initialized) {\n\t\t\treturn\n\t\t} else {\n\t\t\tthis._initialized = true\n\t\t}\n\n\t\t// Init state manager\n\t\tawait this.state.init()\n\n\t\t// Do not init the API is the simulator is accessed directly\n\t\tif (window.parent === window) {\n\t\t\tthis.state.message = sliceSimulatorAccessedDirectly\n\t\t\treturn\n\t\t}\n\n\t\t// Init API\n\t\ttry {\n\t\t\tawait this._initAPI()\n\t\t} catch (error) {\n\t\t\tconsole.error(error)\n\n\t\t\treturn\n\t\t}\n\n\t\t// Init listeners\n\t\tthis._initListeners()\n\t}\n\n\tprivate async _initAPI(): Promise<void> {\n\t\t// Register SimulatorAPI request handlers\n\t\tthis._api = new SimulatorAPI({\n\t\t\t[ClientRequestType.SetSliceZone]: (req, res) => {\n\t\t\t\tthis.state.setSliceZone(req.data)\n\n\t\t\t\treturn res.success()\n\t\t\t},\n\t\t\t[ClientRequestType.ScrollToSlice]: (req, res) => {\n\t\t\t\t// Error if `sliceIndex` is invalid\n\t\t\t\tif (req.data.sliceIndex < 0) {\n\t\t\t\t\treturn res.error(\"`sliceIndex` must be > 0\", 400)\n\t\t\t\t} else if (req.data.sliceIndex >= this.state.slices.length) {\n\t\t\t\t\treturn res.error(\n\t\t\t\t\t\t`\\`sliceIndex\\` must be < ${this.state.slices.length} (\\`<SliceZone />\\` current length)`,\n\t\t\t\t\t\t400,\n\t\t\t\t\t)\n\t\t\t\t}\n\n\t\t\t\tconst $sliceZone = getSliceZoneDOM(this.state.slices.length)\n\t\t\t\tif (!$sliceZone) {\n\t\t\t\t\treturn res.error(\"Failed to find `<SliceZone />`\", 500)\n\t\t\t\t}\n\n\t\t\t\t// Destroy existing active slice as we're about to scroll\n\t\t\t\tthis.state.activeSlice = null\n\n\t\t\t\tconst $slice = $sliceZone.children[req.data.sliceIndex]\n\t\t\t\tif (!$slice) {\n\t\t\t\t\treturn res.error(\n\t\t\t\t\t\t`Failed fo find slice at index $\\`{req.data.sliceIndex}\\` in \\`<SliceZone />\\``,\n\t\t\t\t\t\t500,\n\t\t\t\t\t)\n\t\t\t\t}\n\n\t\t\t\t// Scroll to Slice\n\t\t\t\t$slice.scrollIntoView({\n\t\t\t\t\tbehavior: req.data.behavior,\n\t\t\t\t\tblock: req.data.block,\n\t\t\t\t\tinline: req.data.inline,\n\t\t\t\t})\n\n\t\t\t\t// Update active slice after scrolling\n\t\t\t\tif (this._api?.options.activeSliceAPI) {\n\t\t\t\t\tsetTimeout(this.state.setActiveSlice, 750)\n\t\t\t\t}\n\n\t\t\t\treturn res.success()\n\t\t\t},\n\t\t})\n\n\t\t// Mark API as ready\n\t\tawait this._api.ready()\n\t}\n\n\tprivate _initListeners(): void {\n\t\tif (this._api?.options.activeSliceAPI) {\n\t\t\t// Update active slice on mouse move\n\t\t\twindow.addEventListener(\"mousemove\", () => {\n\t\t\t\tthis.state.setActiveSlice()\n\t\t\t})\n\t\t\t// Update active slice on events impacting slices rendering\n\t\t\twindow.addEventListener(\"resize\", () => {\n\t\t\t\tthis.state.setActiveSlice()\n\t\t\t})\n\t\t\twindow.addEventListener(\"mousewheel\", () => {\n\t\t\t\tsetTimeout(this.state.setActiveSlice, 200)\n\t\t\t})\n\n\t\t\t// Update active slice when slices are set\n\t\t\tthis.state.on(StateEventType.Slices, () => {\n\t\t\t\tthis.state.setActiveSlice()\n\t\t\t})\n\t\t\t// Send active slices to renderer\n\t\t\tthis.state.on(StateEventType.ActiveSlice, async (activeSlice) => {\n\t\t\t\tif (this._api) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait this._api.setActiveSlice(activeSlice)\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t// Just log bad requests, throw everything else\n\t\t\t\t\t\tif (error instanceof ResponseError && error.response.status === 400) {\n\t\t\t\t\t\t\tconsole.error(error.response)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthrow error\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\tif (this._api?.options.sliceZoneSizeAPI) {\n\t\t\t// Monitor Simulator root node size\n\t\t\tconst resizeObserver = new ResizeObserver(\n\t\t\t\tthrottle(async (entries) => {\n\t\t\t\t\tconst [entry] = entries\n\n\t\t\t\t\tif (this._api && entry) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tawait this._api.setSliceZoneSize({ rect: entry.contentRect })\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\t// Just log bad requests, throw everything else\n\t\t\t\t\t\t\tif (error instanceof ResponseError && error.response.status === 400) {\n\t\t\t\t\t\t\t\tconsole.error(error.response)\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthrow error\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}, 16),\n\t\t\t)\n\t\t\tconst observeSimulatorRoot = () => {\n\t\t\t\tconst simulatorRootDOM = getSimulatorRootDOM()\n\t\t\t\tresizeObserver.disconnect()\n\t\t\t\tif (simulatorRootDOM) {\n\t\t\t\t\tresizeObserver.observe(simulatorRootDOM)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Monitor Simulator root node in DOM\n\t\t\tconst mutationObserver = new MutationObserver(observeSimulatorRoot)\n\t\t\t// We want it to fail if not found\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\tmutationObserver.observe(getSimulatorDOM()!, {\n\t\t\t\tsubtree: false,\n\t\t\t\tchildList: true,\n\t\t\t})\n\t\t}\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SimulatorManager.cjs","names":["State","sliceSimulatorAccessedDirectly","SimulatorAPI","ClientRequestType","getSliceZoneDOM","StateEventType","ResponseError","throttle","getSimulatorRootDOM","getSimulatorDOM"],"sources":["../../src/kit/SimulatorManager.ts"],"sourcesContent":["import type { SliceZone } from \"@prismicio/client\"\n\nimport { ResponseError } from \"../channel\"\nimport { throttle } from \"../lib/throttle\"\nimport { SimulatorAPI } from \"../SimulatorAPI\"\nimport { ClientRequestType } from \"../types\"\nimport { getSimulatorDOM, getSimulatorRootDOM, getSliceZoneDOM } from \"./domHelpers\"\nimport { sliceSimulatorAccessedDirectly } from \"./messages\"\nimport { State } from \"./State\"\nimport { StateEventType } from \"./types\"\n\ntype ManagerConstructorArgs = {\n\tslices?: SliceZone\n}\n\nexport class SimulatorManager {\n\tpublic state: State\n\tprivate _api: SimulatorAPI | null\n\tprivate _initialized: boolean\n\n\tconstructor(args?: ManagerConstructorArgs) {\n\t\tthis.state = new State(args)\n\t\tthis._api = null\n\t\tthis._initialized = false\n\t}\n\n\tasync init(): Promise<void> {\n\t\tif (this._initialized) {\n\t\t\treturn\n\t\t} else {\n\t\t\tthis._initialized = true\n\t\t}\n\n\t\t// Init state manager\n\t\tawait this.state.init()\n\n\t\t// Do not init the API is the simulator is accessed directly\n\t\tif (window.parent === window) {\n\t\t\tthis.state.message = sliceSimulatorAccessedDirectly\n\t\t\treturn\n\t\t}\n\n\t\t// Init API\n\t\ttry {\n\t\t\tawait this._initAPI()\n\t\t} catch (error) {\n\t\t\tconsole.error(error)\n\n\t\t\treturn\n\t\t}\n\n\t\t// Init listeners\n\t\tthis._initListeners()\n\t}\n\n\tprivate async _initAPI(): Promise<void> {\n\t\t// Register SimulatorAPI request handlers\n\t\tthis._api = new SimulatorAPI({\n\t\t\t[ClientRequestType.SetSliceZone]: (req, res) => {\n\t\t\t\tthis.state.setSliceZone(req.data)\n\n\t\t\t\treturn res.success()\n\t\t\t},\n\t\t\t[ClientRequestType.ScrollToSlice]: (req, res) => {\n\t\t\t\t// Error if `sliceIndex` is invalid\n\t\t\t\tif (req.data.sliceIndex < 0) {\n\t\t\t\t\treturn res.error(\"`sliceIndex` must be > 0\", 400)\n\t\t\t\t} else if (req.data.sliceIndex >= this.state.slices.length) {\n\t\t\t\t\treturn res.error(\n\t\t\t\t\t\t`\\`sliceIndex\\` must be < ${this.state.slices.length} (\\`<SliceZone />\\` current length)`,\n\t\t\t\t\t\t400,\n\t\t\t\t\t)\n\t\t\t\t}\n\n\t\t\t\tconst $sliceZone = getSliceZoneDOM(this.state.slices.length)\n\t\t\t\tif (!$sliceZone) {\n\t\t\t\t\treturn res.error(\"Failed to find `<SliceZone />`\", 500)\n\t\t\t\t}\n\n\t\t\t\t// Destroy existing active slice as we're about to scroll\n\t\t\t\tthis.state.activeSlice = null\n\n\t\t\t\tconst $slice = $sliceZone.children[req.data.sliceIndex]\n\t\t\t\tif (!$slice) {\n\t\t\t\t\treturn res.error(\n\t\t\t\t\t\t`Failed fo find slice at index $\\`{req.data.sliceIndex}\\` in \\`<SliceZone />\\``,\n\t\t\t\t\t\t500,\n\t\t\t\t\t)\n\t\t\t\t}\n\n\t\t\t\t// Scroll to Slice\n\t\t\t\t$slice.scrollIntoView({\n\t\t\t\t\tbehavior: req.data.behavior,\n\t\t\t\t\tblock: req.data.block,\n\t\t\t\t\tinline: req.data.inline,\n\t\t\t\t})\n\n\t\t\t\t// Update active slice after scrolling\n\t\t\t\tif (this._api?.options.activeSliceAPI) {\n\t\t\t\t\tsetTimeout(this.state.setActiveSlice, 750)\n\t\t\t\t}\n\n\t\t\t\treturn res.success()\n\t\t\t},\n\t\t})\n\n\t\t// Mark API as ready\n\t\tawait this._api.ready()\n\t}\n\n\tprivate _initListeners(): void {\n\t\tif (this._api?.options.activeSliceAPI) {\n\t\t\t// Update active slice on mouse move\n\t\t\twindow.addEventListener(\"mousemove\", () => {\n\t\t\t\tthis.state.setActiveSlice()\n\t\t\t})\n\t\t\t// Update active slice on events impacting slices rendering\n\t\t\twindow.addEventListener(\"resize\", () => {\n\t\t\t\tthis.state.setActiveSlice()\n\t\t\t})\n\t\t\twindow.addEventListener(\"mousewheel\", () => {\n\t\t\t\tsetTimeout(this.state.setActiveSlice, 200)\n\t\t\t})\n\n\t\t\t// Update active slice when slices are set\n\t\t\tthis.state.on(StateEventType.Slices, () => {\n\t\t\t\tthis.state.setActiveSlice()\n\t\t\t})\n\t\t\t// Send active slices to renderer\n\t\t\tthis.state.on(StateEventType.ActiveSlice, async (activeSlice) => {\n\t\t\t\tif (this._api) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait this._api.setActiveSlice(activeSlice)\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t// Just log bad requests, throw everything else\n\t\t\t\t\t\tif (error instanceof ResponseError && error.response.status === 400) {\n\t\t\t\t\t\t\tconsole.error(error.response)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthrow error\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\tif (this._api?.options.sliceZoneSizeAPI) {\n\t\t\t// Monitor Simulator root node size\n\t\t\tconst resizeObserver = new ResizeObserver(\n\t\t\t\tthrottle(async (entries) => {\n\t\t\t\t\tconst [entry] = entries\n\n\t\t\t\t\tif (this._api && entry) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tawait this._api.setSliceZoneSize({ rect: entry.contentRect })\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\t// Just log bad requests, throw everything else\n\t\t\t\t\t\t\tif (error instanceof ResponseError && error.response.status === 400) {\n\t\t\t\t\t\t\t\tconsole.error(error.response)\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthrow error\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}, 16),\n\t\t\t)\n\t\t\tconst observeSimulatorRoot = () => {\n\t\t\t\tconst simulatorRootDOM = getSimulatorRootDOM()\n\t\t\t\tresizeObserver.disconnect()\n\t\t\t\tif (simulatorRootDOM) {\n\t\t\t\t\tresizeObserver.observe(simulatorRootDOM)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Monitor Simulator root node in DOM\n\t\t\tconst mutationObserver = new MutationObserver(observeSimulatorRoot)\n\t\t\t// We want it to fail if not found\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\tmutationObserver.observe(getSimulatorDOM()!, {\n\t\t\t\tsubtree: false,\n\t\t\t\tchildList: true,\n\t\t\t})\n\t\t\tobserveSimulatorRoot()\n\t\t}\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimulatorManager.js","names":[],"sources":["../../src/kit/SimulatorManager.ts"],"sourcesContent":["import type { SliceZone } from \"@prismicio/client\"\n\nimport { ResponseError } from \"../channel\"\nimport { throttle } from \"../lib/throttle\"\nimport { SimulatorAPI } from \"../SimulatorAPI\"\nimport { ClientRequestType } from \"../types\"\nimport { getSimulatorDOM, getSimulatorRootDOM, getSliceZoneDOM } from \"./domHelpers\"\nimport { sliceSimulatorAccessedDirectly } from \"./messages\"\nimport { State } from \"./State\"\nimport { StateEventType } from \"./types\"\n\ntype ManagerConstructorArgs = {\n\tslices?: SliceZone\n}\n\nexport class SimulatorManager {\n\tpublic state: State\n\tprivate _api: SimulatorAPI | null\n\tprivate _initialized: boolean\n\n\tconstructor(args?: ManagerConstructorArgs) {\n\t\tthis.state = new State(args)\n\t\tthis._api = null\n\t\tthis._initialized = false\n\t}\n\n\tasync init(): Promise<void> {\n\t\tif (this._initialized) {\n\t\t\treturn\n\t\t} else {\n\t\t\tthis._initialized = true\n\t\t}\n\n\t\t// Init state manager\n\t\tawait this.state.init()\n\n\t\t// Do not init the API is the simulator is accessed directly\n\t\tif (window.parent === window) {\n\t\t\tthis.state.message = sliceSimulatorAccessedDirectly\n\t\t\treturn\n\t\t}\n\n\t\t// Init API\n\t\ttry {\n\t\t\tawait this._initAPI()\n\t\t} catch (error) {\n\t\t\tconsole.error(error)\n\n\t\t\treturn\n\t\t}\n\n\t\t// Init listeners\n\t\tthis._initListeners()\n\t}\n\n\tprivate async _initAPI(): Promise<void> {\n\t\t// Register SimulatorAPI request handlers\n\t\tthis._api = new SimulatorAPI({\n\t\t\t[ClientRequestType.SetSliceZone]: (req, res) => {\n\t\t\t\tthis.state.setSliceZone(req.data)\n\n\t\t\t\treturn res.success()\n\t\t\t},\n\t\t\t[ClientRequestType.ScrollToSlice]: (req, res) => {\n\t\t\t\t// Error if `sliceIndex` is invalid\n\t\t\t\tif (req.data.sliceIndex < 0) {\n\t\t\t\t\treturn res.error(\"`sliceIndex` must be > 0\", 400)\n\t\t\t\t} else if (req.data.sliceIndex >= this.state.slices.length) {\n\t\t\t\t\treturn res.error(\n\t\t\t\t\t\t`\\`sliceIndex\\` must be < ${this.state.slices.length} (\\`<SliceZone />\\` current length)`,\n\t\t\t\t\t\t400,\n\t\t\t\t\t)\n\t\t\t\t}\n\n\t\t\t\tconst $sliceZone = getSliceZoneDOM(this.state.slices.length)\n\t\t\t\tif (!$sliceZone) {\n\t\t\t\t\treturn res.error(\"Failed to find `<SliceZone />`\", 500)\n\t\t\t\t}\n\n\t\t\t\t// Destroy existing active slice as we're about to scroll\n\t\t\t\tthis.state.activeSlice = null\n\n\t\t\t\tconst $slice = $sliceZone.children[req.data.sliceIndex]\n\t\t\t\tif (!$slice) {\n\t\t\t\t\treturn res.error(\n\t\t\t\t\t\t`Failed fo find slice at index $\\`{req.data.sliceIndex}\\` in \\`<SliceZone />\\``,\n\t\t\t\t\t\t500,\n\t\t\t\t\t)\n\t\t\t\t}\n\n\t\t\t\t// Scroll to Slice\n\t\t\t\t$slice.scrollIntoView({\n\t\t\t\t\tbehavior: req.data.behavior,\n\t\t\t\t\tblock: req.data.block,\n\t\t\t\t\tinline: req.data.inline,\n\t\t\t\t})\n\n\t\t\t\t// Update active slice after scrolling\n\t\t\t\tif (this._api?.options.activeSliceAPI) {\n\t\t\t\t\tsetTimeout(this.state.setActiveSlice, 750)\n\t\t\t\t}\n\n\t\t\t\treturn res.success()\n\t\t\t},\n\t\t})\n\n\t\t// Mark API as ready\n\t\tawait this._api.ready()\n\t}\n\n\tprivate _initListeners(): void {\n\t\tif (this._api?.options.activeSliceAPI) {\n\t\t\t// Update active slice on mouse move\n\t\t\twindow.addEventListener(\"mousemove\", () => {\n\t\t\t\tthis.state.setActiveSlice()\n\t\t\t})\n\t\t\t// Update active slice on events impacting slices rendering\n\t\t\twindow.addEventListener(\"resize\", () => {\n\t\t\t\tthis.state.setActiveSlice()\n\t\t\t})\n\t\t\twindow.addEventListener(\"mousewheel\", () => {\n\t\t\t\tsetTimeout(this.state.setActiveSlice, 200)\n\t\t\t})\n\n\t\t\t// Update active slice when slices are set\n\t\t\tthis.state.on(StateEventType.Slices, () => {\n\t\t\t\tthis.state.setActiveSlice()\n\t\t\t})\n\t\t\t// Send active slices to renderer\n\t\t\tthis.state.on(StateEventType.ActiveSlice, async (activeSlice) => {\n\t\t\t\tif (this._api) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait this._api.setActiveSlice(activeSlice)\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t// Just log bad requests, throw everything else\n\t\t\t\t\t\tif (error instanceof ResponseError && error.response.status === 400) {\n\t\t\t\t\t\t\tconsole.error(error.response)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthrow error\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\tif (this._api?.options.sliceZoneSizeAPI) {\n\t\t\t// Monitor Simulator root node size\n\t\t\tconst resizeObserver = new ResizeObserver(\n\t\t\t\tthrottle(async (entries) => {\n\t\t\t\t\tconst [entry] = entries\n\n\t\t\t\t\tif (this._api && entry) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tawait this._api.setSliceZoneSize({ rect: entry.contentRect })\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\t// Just log bad requests, throw everything else\n\t\t\t\t\t\t\tif (error instanceof ResponseError && error.response.status === 400) {\n\t\t\t\t\t\t\t\tconsole.error(error.response)\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthrow error\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}, 16),\n\t\t\t)\n\t\t\tconst observeSimulatorRoot = () => {\n\t\t\t\tconst simulatorRootDOM = getSimulatorRootDOM()\n\t\t\t\tresizeObserver.disconnect()\n\t\t\t\tif (simulatorRootDOM) {\n\t\t\t\t\tresizeObserver.observe(simulatorRootDOM)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Monitor Simulator root node in DOM\n\t\t\tconst mutationObserver = new MutationObserver(observeSimulatorRoot)\n\t\t\t// We want it to fail if not found\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\tmutationObserver.observe(getSimulatorDOM()!, {\n\t\t\t\tsubtree: false,\n\t\t\t\tchildList: true,\n\t\t\t})\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;AAeA,IAAa,mBAAb,MAA8B;CAC7B;CACA;CACA;CAEA,YAAY,MAA+B;AAC1C,OAAK,QAAQ,IAAI,MAAM,KAAK;AAC5B,OAAK,OAAO;AACZ,OAAK,eAAe;;CAGrB,MAAM,OAAsB;AAC3B,MAAI,KAAK,aACR;MAEA,MAAK,eAAe;AAIrB,QAAM,KAAK,MAAM,MAAM;AAGvB,MAAI,OAAO,WAAW,QAAQ;AAC7B,QAAK,MAAM,UAAU;AACrB;;AAID,MAAI;AACH,SAAM,KAAK,UAAU;WACb,OAAO;AACf,WAAQ,MAAM,MAAM;AAEpB;;AAID,OAAK,gBAAgB;;CAGtB,MAAc,WAA0B;AAEvC,OAAK,OAAO,IAAI,aAAa;IAC3B,kBAAkB,gBAAgB,KAAK,QAAQ;AAC/C,SAAK,MAAM,aAAa,IAAI,KAAK;AAEjC,WAAO,IAAI,SAAS;;IAEpB,kBAAkB,iBAAiB,KAAK,QAAQ;AAEhD,QAAI,IAAI,KAAK,aAAa,EACzB,QAAO,IAAI,MAAM,4BAA4B,IAAI;aACvC,IAAI,KAAK,cAAc,KAAK,MAAM,OAAO,OACnD,QAAO,IAAI,MACV,4BAA4B,KAAK,MAAM,OAAO,OAAO,sCACrD,IACA;IAGF,MAAM,aAAa,gBAAgB,KAAK,MAAM,OAAO,OAAO;AAC5D,QAAI,CAAC,WACJ,QAAO,IAAI,MAAM,kCAAkC,IAAI;AAIxD,SAAK,MAAM,cAAc;IAEzB,MAAM,SAAS,WAAW,SAAS,IAAI,KAAK;AAC5C,QAAI,CAAC,OACJ,QAAO,IAAI,MACV,iFACA,IACA;AAIF,WAAO,eAAe;KACrB,UAAU,IAAI,KAAK;KACnB,OAAO,IAAI,KAAK;KAChB,QAAQ,IAAI,KAAK;KACjB,CAAC;AAGF,QAAI,KAAK,MAAM,QAAQ,eACtB,YAAW,KAAK,MAAM,gBAAgB,IAAI;AAG3C,WAAO,IAAI,SAAS;;GAErB,CAAC;AAGF,QAAM,KAAK,KAAK,OAAO;;CAGxB,iBAA+B;AAC9B,MAAI,KAAK,MAAM,QAAQ,gBAAgB;AAEtC,UAAO,iBAAiB,mBAAmB;AAC1C,SAAK,MAAM,gBAAgB;KAC1B;AAEF,UAAO,iBAAiB,gBAAgB;AACvC,SAAK,MAAM,gBAAgB;KAC1B;AACF,UAAO,iBAAiB,oBAAoB;AAC3C,eAAW,KAAK,MAAM,gBAAgB,IAAI;KACzC;AAGF,QAAK,MAAM,GAAG,eAAe,cAAc;AAC1C,SAAK,MAAM,gBAAgB;KAC1B;AAEF,QAAK,MAAM,GAAG,eAAe,aAAa,OAAO,gBAAgB;AAChE,QAAI,KAAK,KACR,KAAI;AACH,WAAM,KAAK,KAAK,eAAe,YAAY;aACnC,OAAO;AAEf,SAAI,iBAAiB,iBAAiB,MAAM,SAAS,WAAW,IAC/D,SAAQ,MAAM,MAAM,SAAS;SAE7B,OAAM;;KAIR;;AAGH,MAAI,KAAK,MAAM,QAAQ,kBAAkB;GAExC,MAAM,iBAAiB,IAAI,eAC1B,SAAS,OAAO,YAAY;IAC3B,MAAM,CAAC,SAAS;AAEhB,QAAI,KAAK,QAAQ,MAChB,KAAI;AACH,WAAM,KAAK,KAAK,iBAAiB,EAAE,MAAM,MAAM,aAAa,CAAC;aACrD,OAAO;AAEf,SAAI,iBAAiB,iBAAiB,MAAM,SAAS,WAAW,IAC/D,SAAQ,MAAM,MAAM,SAAS;SAE7B,OAAM;;MAIP,GAAG,CACN;GACD,MAAM,6BAA6B;IAClC,MAAM,mBAAmB,qBAAqB;AAC9C,mBAAe,YAAY;AAC3B,QAAI,iBACH,gBAAe,QAAQ,iBAAiB;;AAKjB,OAAI,iBAAiB,qBAAqB,CAGlD,QAAQ,iBAAiB,EAAG;IAC5C,SAAS;IACT,WAAW;IACX,CAAC"}
|
|
1
|
+
{"version":3,"file":"SimulatorManager.js","names":[],"sources":["../../src/kit/SimulatorManager.ts"],"sourcesContent":["import type { SliceZone } from \"@prismicio/client\"\n\nimport { ResponseError } from \"../channel\"\nimport { throttle } from \"../lib/throttle\"\nimport { SimulatorAPI } from \"../SimulatorAPI\"\nimport { ClientRequestType } from \"../types\"\nimport { getSimulatorDOM, getSimulatorRootDOM, getSliceZoneDOM } from \"./domHelpers\"\nimport { sliceSimulatorAccessedDirectly } from \"./messages\"\nimport { State } from \"./State\"\nimport { StateEventType } from \"./types\"\n\ntype ManagerConstructorArgs = {\n\tslices?: SliceZone\n}\n\nexport class SimulatorManager {\n\tpublic state: State\n\tprivate _api: SimulatorAPI | null\n\tprivate _initialized: boolean\n\n\tconstructor(args?: ManagerConstructorArgs) {\n\t\tthis.state = new State(args)\n\t\tthis._api = null\n\t\tthis._initialized = false\n\t}\n\n\tasync init(): Promise<void> {\n\t\tif (this._initialized) {\n\t\t\treturn\n\t\t} else {\n\t\t\tthis._initialized = true\n\t\t}\n\n\t\t// Init state manager\n\t\tawait this.state.init()\n\n\t\t// Do not init the API is the simulator is accessed directly\n\t\tif (window.parent === window) {\n\t\t\tthis.state.message = sliceSimulatorAccessedDirectly\n\t\t\treturn\n\t\t}\n\n\t\t// Init API\n\t\ttry {\n\t\t\tawait this._initAPI()\n\t\t} catch (error) {\n\t\t\tconsole.error(error)\n\n\t\t\treturn\n\t\t}\n\n\t\t// Init listeners\n\t\tthis._initListeners()\n\t}\n\n\tprivate async _initAPI(): Promise<void> {\n\t\t// Register SimulatorAPI request handlers\n\t\tthis._api = new SimulatorAPI({\n\t\t\t[ClientRequestType.SetSliceZone]: (req, res) => {\n\t\t\t\tthis.state.setSliceZone(req.data)\n\n\t\t\t\treturn res.success()\n\t\t\t},\n\t\t\t[ClientRequestType.ScrollToSlice]: (req, res) => {\n\t\t\t\t// Error if `sliceIndex` is invalid\n\t\t\t\tif (req.data.sliceIndex < 0) {\n\t\t\t\t\treturn res.error(\"`sliceIndex` must be > 0\", 400)\n\t\t\t\t} else if (req.data.sliceIndex >= this.state.slices.length) {\n\t\t\t\t\treturn res.error(\n\t\t\t\t\t\t`\\`sliceIndex\\` must be < ${this.state.slices.length} (\\`<SliceZone />\\` current length)`,\n\t\t\t\t\t\t400,\n\t\t\t\t\t)\n\t\t\t\t}\n\n\t\t\t\tconst $sliceZone = getSliceZoneDOM(this.state.slices.length)\n\t\t\t\tif (!$sliceZone) {\n\t\t\t\t\treturn res.error(\"Failed to find `<SliceZone />`\", 500)\n\t\t\t\t}\n\n\t\t\t\t// Destroy existing active slice as we're about to scroll\n\t\t\t\tthis.state.activeSlice = null\n\n\t\t\t\tconst $slice = $sliceZone.children[req.data.sliceIndex]\n\t\t\t\tif (!$slice) {\n\t\t\t\t\treturn res.error(\n\t\t\t\t\t\t`Failed fo find slice at index $\\`{req.data.sliceIndex}\\` in \\`<SliceZone />\\``,\n\t\t\t\t\t\t500,\n\t\t\t\t\t)\n\t\t\t\t}\n\n\t\t\t\t// Scroll to Slice\n\t\t\t\t$slice.scrollIntoView({\n\t\t\t\t\tbehavior: req.data.behavior,\n\t\t\t\t\tblock: req.data.block,\n\t\t\t\t\tinline: req.data.inline,\n\t\t\t\t})\n\n\t\t\t\t// Update active slice after scrolling\n\t\t\t\tif (this._api?.options.activeSliceAPI) {\n\t\t\t\t\tsetTimeout(this.state.setActiveSlice, 750)\n\t\t\t\t}\n\n\t\t\t\treturn res.success()\n\t\t\t},\n\t\t})\n\n\t\t// Mark API as ready\n\t\tawait this._api.ready()\n\t}\n\n\tprivate _initListeners(): void {\n\t\tif (this._api?.options.activeSliceAPI) {\n\t\t\t// Update active slice on mouse move\n\t\t\twindow.addEventListener(\"mousemove\", () => {\n\t\t\t\tthis.state.setActiveSlice()\n\t\t\t})\n\t\t\t// Update active slice on events impacting slices rendering\n\t\t\twindow.addEventListener(\"resize\", () => {\n\t\t\t\tthis.state.setActiveSlice()\n\t\t\t})\n\t\t\twindow.addEventListener(\"mousewheel\", () => {\n\t\t\t\tsetTimeout(this.state.setActiveSlice, 200)\n\t\t\t})\n\n\t\t\t// Update active slice when slices are set\n\t\t\tthis.state.on(StateEventType.Slices, () => {\n\t\t\t\tthis.state.setActiveSlice()\n\t\t\t})\n\t\t\t// Send active slices to renderer\n\t\t\tthis.state.on(StateEventType.ActiveSlice, async (activeSlice) => {\n\t\t\t\tif (this._api) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait this._api.setActiveSlice(activeSlice)\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t// Just log bad requests, throw everything else\n\t\t\t\t\t\tif (error instanceof ResponseError && error.response.status === 400) {\n\t\t\t\t\t\t\tconsole.error(error.response)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthrow error\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\tif (this._api?.options.sliceZoneSizeAPI) {\n\t\t\t// Monitor Simulator root node size\n\t\t\tconst resizeObserver = new ResizeObserver(\n\t\t\t\tthrottle(async (entries) => {\n\t\t\t\t\tconst [entry] = entries\n\n\t\t\t\t\tif (this._api && entry) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tawait this._api.setSliceZoneSize({ rect: entry.contentRect })\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\t// Just log bad requests, throw everything else\n\t\t\t\t\t\t\tif (error instanceof ResponseError && error.response.status === 400) {\n\t\t\t\t\t\t\t\tconsole.error(error.response)\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthrow error\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}, 16),\n\t\t\t)\n\t\t\tconst observeSimulatorRoot = () => {\n\t\t\t\tconst simulatorRootDOM = getSimulatorRootDOM()\n\t\t\t\tresizeObserver.disconnect()\n\t\t\t\tif (simulatorRootDOM) {\n\t\t\t\t\tresizeObserver.observe(simulatorRootDOM)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Monitor Simulator root node in DOM\n\t\t\tconst mutationObserver = new MutationObserver(observeSimulatorRoot)\n\t\t\t// We want it to fail if not found\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\tmutationObserver.observe(getSimulatorDOM()!, {\n\t\t\t\tsubtree: false,\n\t\t\t\tchildList: true,\n\t\t\t})\n\t\t\tobserveSimulatorRoot()\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;AAeA,IAAa,mBAAb,MAA8B;CAC7B;CACA;CACA;CAEA,YAAY,MAA+B;AAC1C,OAAK,QAAQ,IAAI,MAAM,KAAK;AAC5B,OAAK,OAAO;AACZ,OAAK,eAAe;;CAGrB,MAAM,OAAsB;AAC3B,MAAI,KAAK,aACR;MAEA,MAAK,eAAe;AAIrB,QAAM,KAAK,MAAM,MAAM;AAGvB,MAAI,OAAO,WAAW,QAAQ;AAC7B,QAAK,MAAM,UAAU;AACrB;;AAID,MAAI;AACH,SAAM,KAAK,UAAU;WACb,OAAO;AACf,WAAQ,MAAM,MAAM;AAEpB;;AAID,OAAK,gBAAgB;;CAGtB,MAAc,WAA0B;AAEvC,OAAK,OAAO,IAAI,aAAa;IAC3B,kBAAkB,gBAAgB,KAAK,QAAQ;AAC/C,SAAK,MAAM,aAAa,IAAI,KAAK;AAEjC,WAAO,IAAI,SAAS;;IAEpB,kBAAkB,iBAAiB,KAAK,QAAQ;AAEhD,QAAI,IAAI,KAAK,aAAa,EACzB,QAAO,IAAI,MAAM,4BAA4B,IAAI;aACvC,IAAI,KAAK,cAAc,KAAK,MAAM,OAAO,OACnD,QAAO,IAAI,MACV,4BAA4B,KAAK,MAAM,OAAO,OAAO,sCACrD,IACA;IAGF,MAAM,aAAa,gBAAgB,KAAK,MAAM,OAAO,OAAO;AAC5D,QAAI,CAAC,WACJ,QAAO,IAAI,MAAM,kCAAkC,IAAI;AAIxD,SAAK,MAAM,cAAc;IAEzB,MAAM,SAAS,WAAW,SAAS,IAAI,KAAK;AAC5C,QAAI,CAAC,OACJ,QAAO,IAAI,MACV,iFACA,IACA;AAIF,WAAO,eAAe;KACrB,UAAU,IAAI,KAAK;KACnB,OAAO,IAAI,KAAK;KAChB,QAAQ,IAAI,KAAK;KACjB,CAAC;AAGF,QAAI,KAAK,MAAM,QAAQ,eACtB,YAAW,KAAK,MAAM,gBAAgB,IAAI;AAG3C,WAAO,IAAI,SAAS;;GAErB,CAAC;AAGF,QAAM,KAAK,KAAK,OAAO;;CAGxB,iBAA+B;AAC9B,MAAI,KAAK,MAAM,QAAQ,gBAAgB;AAEtC,UAAO,iBAAiB,mBAAmB;AAC1C,SAAK,MAAM,gBAAgB;KAC1B;AAEF,UAAO,iBAAiB,gBAAgB;AACvC,SAAK,MAAM,gBAAgB;KAC1B;AACF,UAAO,iBAAiB,oBAAoB;AAC3C,eAAW,KAAK,MAAM,gBAAgB,IAAI;KACzC;AAGF,QAAK,MAAM,GAAG,eAAe,cAAc;AAC1C,SAAK,MAAM,gBAAgB;KAC1B;AAEF,QAAK,MAAM,GAAG,eAAe,aAAa,OAAO,gBAAgB;AAChE,QAAI,KAAK,KACR,KAAI;AACH,WAAM,KAAK,KAAK,eAAe,YAAY;aACnC,OAAO;AAEf,SAAI,iBAAiB,iBAAiB,MAAM,SAAS,WAAW,IAC/D,SAAQ,MAAM,MAAM,SAAS;SAE7B,OAAM;;KAIR;;AAGH,MAAI,KAAK,MAAM,QAAQ,kBAAkB;GAExC,MAAM,iBAAiB,IAAI,eAC1B,SAAS,OAAO,YAAY;IAC3B,MAAM,CAAC,SAAS;AAEhB,QAAI,KAAK,QAAQ,MAChB,KAAI;AACH,WAAM,KAAK,KAAK,iBAAiB,EAAE,MAAM,MAAM,aAAa,CAAC;aACrD,OAAO;AAEf,SAAI,iBAAiB,iBAAiB,MAAM,SAAS,WAAW,IAC/D,SAAQ,MAAM,MAAM,SAAS;SAE7B,OAAM;;MAIP,GAAG,CACN;GACD,MAAM,6BAA6B;IAClC,MAAM,mBAAmB,qBAAqB;AAC9C,mBAAe,YAAY;AAC3B,QAAI,iBACH,gBAAe,QAAQ,iBAAiB;;AAKjB,OAAI,iBAAiB,qBAAqB,CAGlD,QAAQ,iBAAiB,EAAG;IAC5C,SAAS;IACT,WAAW;IACX,CAAC;AACF,yBAAsB"}
|
package/dist/package.cjs
CHANGED
package/dist/package.js
CHANGED
package/package.json
CHANGED