@next-core/runtime 1.31.1 → 1.32.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"RendererContext.js","names":["_lodash","require","_bindListeners","_history","_proxyFactories","_mediaQuery","_mount","_enums","_bindTemplateProxy","_Runtime","commonLifeCycles","pageOnlyLifeCycles","_routeHelper","WeakMap","_memoizedLifeCycle","_observers","_mediaListener","_arbitraryLifeCycle","_memoized","_allMenuRequests","_memoizedMenuRequestMap","_locationChangeCallbacks","_unmountBricks","WeakSet","_initializeRerenderBricks","_dispatchGeneralLifeCycle","_addObserver","RendererContext","constructor","scope","options","_options$unknownBrick","_classPrivateMethodInitSpec2","default","_defineProperty2","_classPrivateFieldInitSpec2","writable","value","onBeforePageLoad","onPageLoad","onPageLeave","onBeforePageLeave","onAnchorLoad","onAnchorUnload","onMediaChange","onScrollIntoView","onMount","onUnmount","onMessage","onMessageClose","Map","unknownBricks","_classPrivateFieldSet2","routeHelper","renderId","setInitialMenuRequests","menuRequests","memoizeMenuRequests","route","_classPrivateFieldGet4","set","reMergeMenuRequests","routes","currentRoute","previousMenuRequest","previousRoute","_classPrivateFieldGet2","get","mergedMenuRequests","previousIndex","indexOf","length","push","splice","_classPrivateFieldGet3","delete","mergeMenus","reBailout","output","bailout","reCatch","error","returnNode","catch","didPerformIncrementalRender","location","prevLocation","i","callback","performIncrementalRender","registerBrickLifeCycle","brick","lifeCycle","lifeCycleTypes","key","handlers","isEmpty","useResolves","console","registerArbitraryLifeCycle","fn","arbitraryCallbacks","add","Set","memoize","slotId","keyPath","node","memKey","join","mem","last","getLastNode","lastNormal","getLastNormalNode","lastPortal","getLastPortalNode","reRender","memoized","prevNode","prevLast","prevLastNormal","prevLastPortal","insertBeforeChild","insertPortalBeforeChildCandidates","tag","RenderTag","PLACEHOLDER","_getNextNormalNode$el","_getNextNormalNode","_getNextPortalNode","getNextNormalNode","element","nextSibling","getNextPortalNode","_prevLastNormal$eleme","_prevLastNormal$eleme2","_prevLastPortal$eleme","HTMLElement","tagName","prevSibling","current","child","sibling","fragment","document","createDocumentFragment","portalFragment","renderRoot","ROOT","container","createPortal","return","removeBricks","getBrickRange","_classPrivateMethodGet2","_unmountBricks2","call","mountTree","_returnNode$container","insertBefore","_returnNode$element","childNodes","_root","root","Error","portal","insertPortalBeforeChild","candidate","contains","newBricks","_initializeRerenderBricks2","dispose","list","Object","values","observer","disconnect","clear","mediaEventTarget","removeEventListener","undefined","dispatchBeforePageLoad","_dispatchGeneralLifeCycle2","CustomEvent","dispatchPageLoad","event","window","dispatchEvent","dispatchBeforePageLeave","detail","dispatchPageLeave","dispatchAnchorLoad","hash","getHistory","anchor","substring","initializeScrollIntoView","conf","_addObserver2","initializeMediaChange","getReadOnlyProxy","addEventListener","initializeMessageDispatcher","_hooks$messageDispatc2","confList","concat","_hooks$messageDispatc","hooks","messageDispatcher","channel","listenerFactory","runtimeContext","onClose","dispatchOnMount","dispatchOnUnmount","exports","bricks","unmountList","removed","remove","item","has","_brick$element","_brick$element2","observers","unbindTemplateProxy","$$tplStateStore","unmountEvent","mountEvent","type","process","env","NODE_ENV","includes","_conf$threshold","threshold","IntersectionObserver","entries","forEach","entry","isIntersecting","intersectionRatio","observe","_last","getSpecifiedNormalNode","next","BRICK","getSpecifiedPortalNode","_currentReturn","currentReturn","from","to","range","_currentReturn2"],"sources":["../../../src/internal/RendererContext.ts"],"sourcesContent":["import type {\n BrickEventHandler,\n BrickLifeCycle,\n MessageConf,\n RouteConf,\n ScrollIntoViewConf,\n StaticMenuConf,\n} from \"@next-core/types\";\nimport type { Action, Location } from \"history\";\nimport { isEmpty, remove } from \"lodash\";\nimport { listenerFactory } from \"./bindListeners.js\";\nimport { NextHistoryState, NextLocation, getHistory } from \"../history.js\";\nimport { getReadOnlyProxy } from \"./proxyFactories.js\";\nimport { Media, mediaEventTarget } from \"./mediaQuery.js\";\nimport type {\n RenderBrick,\n RenderChildNode,\n RenderNode,\n RenderReturnNode,\n RenderRoot,\n} from \"./interfaces.js\";\nimport { mountTree } from \"./mount.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { unbindTemplateProxy } from \"./CustomTemplates/bindTemplateProxy.js\";\nimport { hooks } from \"./Runtime.js\";\nimport type { RenderOutput } from \"./Renderer.js\";\n\ntype MemoizedLifeCycle<T> = {\n [Key in keyof T]: {\n brick: RenderBrick;\n handlers: T[Key];\n }[];\n};\n\ntype LocationChangeCallback = (\n location: Location<NextHistoryState>,\n prevLocation: Location<NextHistoryState>\n) => Promise<boolean>;\n\nconst commonLifeCycles = [\n \"onMount\",\n \"onUnmount\",\n \"onMediaChange\",\n \"onScrollIntoView\",\n \"onMessage\",\n \"onMessageClose\",\n] as const;\n\nconst pageOnlyLifeCycles = [\n \"onBeforePageLoad\",\n \"onPageLoad\",\n \"onPageLeave\",\n \"onBeforePageLeave\",\n \"onAnchorLoad\",\n \"onAnchorUnload\",\n] as const;\n\nexport interface RendererContextOptions {\n unknownBricks?: \"silent\" | \"throw\";\n routeHelper?: RouteHelper;\n renderId?: string;\n}\n\nexport interface RouteHelper {\n bailout: (output: RenderOutput) => true | undefined;\n mergeMenus: (menuRequests: Promise<StaticMenuConf>[]) => Promise<void>;\n catch: (\n error: unknown,\n returnNode: RenderReturnNode\n ) =>\n | undefined\n | {\n failed: true;\n output: RenderOutput;\n };\n}\n\nexport class RendererContext {\n /**\n * - page: render as whole page, triggering page life cycles.\n * - fragment: render as fragment, not triggering page life cycles.\n */\n public readonly scope: \"page\" | \"fragment\";\n\n public readonly unknownBricks: \"silent\" | \"throw\";\n\n public readonly renderId: string | undefined;\n\n #routeHelper: RouteHelper | undefined;\n\n constructor(scope: \"page\" | \"fragment\", options?: RendererContextOptions) {\n this.scope = scope;\n this.unknownBricks = options?.unknownBricks ?? \"throw\";\n this.#routeHelper = options?.routeHelper;\n this.renderId = options?.renderId;\n }\n\n #memoizedLifeCycle: MemoizedLifeCycle<\n Required<\n Pick<\n BrickLifeCycle,\n | \"onBeforePageLoad\"\n | \"onPageLoad\"\n | \"onPageLeave\"\n | \"onBeforePageLeave\"\n | \"onAnchorLoad\"\n | \"onAnchorUnload\"\n | \"onMediaChange\"\n | \"onScrollIntoView\"\n | \"onMount\"\n | \"onUnmount\"\n | \"onMessage\"\n | \"onMessageClose\"\n >\n >\n > = {\n onBeforePageLoad: [],\n onPageLoad: [],\n onPageLeave: [],\n onBeforePageLeave: [],\n onAnchorLoad: [],\n onAnchorUnload: [],\n onMediaChange: [],\n onScrollIntoView: [],\n onMount: [],\n onUnmount: [],\n onMessage: [],\n onMessageClose: [],\n };\n #observers = new Map<RenderBrick, IntersectionObserver[]>();\n #mediaListener: EventListener | undefined;\n\n #arbitraryLifeCycle = new Map<string, Set<() => void>>();\n\n #memoized?: WeakMap<\n RenderNode,\n Map<\n string,\n {\n node?: RenderChildNode;\n last?: RenderChildNode;\n lastNormal?: RenderBrick | undefined;\n lastPortal?: RenderBrick | undefined;\n }\n >\n >;\n #allMenuRequests?: Promise<StaticMenuConf>[];\n #memoizedMenuRequestMap?: WeakMap<RouteConf, Promise<StaticMenuConf>>;\n\n setInitialMenuRequests(menuRequests: Promise<StaticMenuConf>[]) {\n this.#allMenuRequests = menuRequests;\n }\n\n memoizeMenuRequests(\n route: RouteConf,\n menuRequests: Promise<StaticMenuConf>[]\n ) {\n if (!this.#memoizedMenuRequestMap) {\n this.#memoizedMenuRequestMap = new WeakMap();\n }\n this.#memoizedMenuRequestMap.set(route, menuRequests[0]);\n }\n\n async reMergeMenuRequests(\n routes: RouteConf[],\n currentRoute: RouteConf | undefined,\n menuRequests: Promise<StaticMenuConf>[]\n ) {\n let previousMenuRequest: Promise<StaticMenuConf> | undefined;\n let previousRoute: RouteConf | undefined;\n for (const route of routes) {\n // If the sub-routes doesn't match, then `this.memoizeMenuRequests` will\n // not be called, thus `this.#memoizedMenuRequestMap` is not set.\n previousMenuRequest = this.#memoizedMenuRequestMap?.get(route);\n if (previousMenuRequest) {\n previousRoute = route;\n break;\n }\n }\n const mergedMenuRequests = this.#allMenuRequests!;\n const previousIndex = previousMenuRequest\n ? mergedMenuRequests.indexOf(previousMenuRequest)\n : -1;\n if (previousIndex === -1) {\n if (!menuRequests.length) {\n return;\n }\n mergedMenuRequests.push(...menuRequests);\n } else {\n mergedMenuRequests.splice(\n previousIndex,\n mergedMenuRequests.length - previousIndex,\n ...menuRequests\n );\n }\n if (previousRoute && previousRoute !== currentRoute) {\n this.#memoizedMenuRequestMap?.delete(previousRoute);\n }\n await this.#routeHelper!.mergeMenus(mergedMenuRequests);\n }\n\n reBailout(output: RenderOutput) {\n return this.#routeHelper!.bailout(output);\n }\n\n reCatch(error: unknown, returnNode: RenderReturnNode) {\n return this.#routeHelper!.catch(error, returnNode);\n }\n\n #locationChangeCallbacks: LocationChangeCallback[] = [];\n\n async didPerformIncrementalRender(\n location: Location<NextHistoryState>,\n prevLocation: Location<NextHistoryState>\n ) {\n // Perform incremental rendering from inside out.\n // This allows nested incremental sub-routes.\n for (let i = this.#locationChangeCallbacks.length - 1; i >= 0; i--) {\n const callback = this.#locationChangeCallbacks[i];\n if (await callback(location, prevLocation)) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * When `callback` resolved to `true` which means incremental rendering is performed,\n * ignore normal rendering.\n */\n performIncrementalRender(callback: LocationChangeCallback) {\n this.#locationChangeCallbacks.push(callback);\n }\n\n registerBrickLifeCycle(\n brick: RenderBrick,\n lifeCycle: BrickLifeCycle | undefined\n ): void {\n if (!lifeCycle) {\n return;\n }\n const lifeCycleTypes = [\n ...commonLifeCycles,\n ...(this.scope === \"page\" ? pageOnlyLifeCycles : []),\n ];\n for (const key of lifeCycleTypes) {\n const handlers = (lifeCycle as BrickLifeCycle)[key as \"onPageLoad\"];\n if (handlers) {\n this.#memoizedLifeCycle[key as \"onPageLoad\"].push({\n brick,\n handlers: handlers as BrickEventHandler | BrickEventHandler[],\n });\n }\n }\n // istanbul ignore next\n if (!isEmpty((lifeCycle as { useResolves?: unknown }).useResolves)) {\n // eslint-disable-next-line no-console\n console.error(\"`lifeCycle.useResolves` is dropped in v3:\", lifeCycle);\n }\n }\n\n registerArbitraryLifeCycle(lifeCycle: string, fn: () => void): void {\n const arbitraryCallbacks = this.#arbitraryLifeCycle.get(lifeCycle);\n if (arbitraryCallbacks) {\n arbitraryCallbacks.add(fn);\n } else {\n this.#arbitraryLifeCycle.set(lifeCycle, new Set([fn]));\n }\n }\n\n #unmountBricks(bricks: Set<RenderBrick>): void {\n const lifeCycleTypes = [\n ...commonLifeCycles,\n ...(this.scope === \"page\" ? pageOnlyLifeCycles : []),\n ];\n const unmountList: {\n brick: RenderBrick;\n handlers: BrickEventHandler | BrickEventHandler[];\n }[] = [];\n\n // Clear life cycle handlers, record `onUnmount` at the same time\n for (const key of lifeCycleTypes) {\n const removed = remove(\n this.#memoizedLifeCycle[key as \"onPageLoad\"],\n (item) => bricks.has(item.brick)\n );\n if (key === \"onUnmount\") {\n unmountList.push(...removed);\n }\n }\n\n // Clear intersection observers\n for (const brick of bricks) {\n const observers = this.#observers.get(brick);\n if (observers?.length) {\n for (const observer of observers) {\n observer.disconnect();\n }\n observers.length = 0;\n this.#observers.delete(brick);\n }\n\n unbindTemplateProxy(brick);\n delete brick.element?.$$tplStateStore;\n\n // Also remove the element\n brick.element?.remove();\n }\n\n // Dispatch unmount events\n const unmountEvent = new CustomEvent(\"unmount\");\n for (const { brick, handlers } of unmountList) {\n listenerFactory(handlers, brick.runtimeContext, brick)(unmountEvent);\n }\n }\n\n #initializeRerenderBricks(bricks: Set<RenderBrick>): void {\n const mountEvent = new CustomEvent(\"mount\");\n for (const { brick, handlers } of this.#memoizedLifeCycle.onMount) {\n if (bricks.has(brick)) {\n listenerFactory(handlers, brick.runtimeContext, brick)(mountEvent);\n }\n }\n\n for (const { brick, handlers: conf } of this.#memoizedLifeCycle\n .onScrollIntoView) {\n if (bricks.has(brick)) {\n this.#addObserver(brick, conf);\n }\n }\n }\n\n memoize(\n slotId: string | undefined,\n keyPath: number[],\n node: RenderChildNode | undefined,\n returnNode: RenderReturnNode\n ) {\n if (!this.#memoized) {\n this.#memoized = new WeakMap();\n }\n const memKey = [slotId ?? \"\", ...keyPath].join(\".\");\n let mem = this.#memoized.get(returnNode);\n if (!mem) {\n mem = new Map();\n this.#memoized.set(returnNode, mem);\n }\n\n mem.set(memKey, {\n node,\n last: getLastNode(node),\n lastNormal: getLastNormalNode(node),\n lastPortal: getLastPortalNode(node),\n });\n }\n\n reRender(\n slotId: string | undefined,\n keyPath: number[],\n node: RenderChildNode | undefined,\n returnNode: RenderReturnNode\n ) {\n const memKey = [slotId ?? \"\", ...keyPath].join(\".\");\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const memoized = this.#memoized!.get(returnNode)!.get(memKey)!;\n const {\n node: prevNode,\n last: prevLast,\n lastNormal: prevLastNormal,\n lastPortal: prevLastPortal,\n } = memoized;\n\n let insertBeforeChild: ChildNode | null;\n const insertPortalBeforeChildCandidates: ChildNode[] = [];\n if (prevNode?.tag === RenderTag.PLACEHOLDER) {\n insertBeforeChild = getNextNormalNode(prevNode)?.element ?? null;\n // Todo(steve): handle portal bricks from useBrick.\n const nextSibling = getNextPortalNode(prevNode)?.element;\n if (nextSibling) {\n insertPortalBeforeChildCandidates.push(nextSibling);\n }\n } else {\n insertBeforeChild = prevLastNormal?.element?.nextSibling ?? null;\n let nextSibling = prevLastPortal?.element?.nextSibling;\n while (nextSibling) {\n insertPortalBeforeChildCandidates.push(nextSibling);\n // Collect all portal bricks from useBrick, until found a normal portal\n // brick other than from useBrick.\n // Because useBrick could be removed during unmount.\n if (\n !(nextSibling instanceof HTMLElement && nextSibling.tagName === \"DIV\")\n ) {\n break;\n }\n nextSibling = nextSibling.nextSibling;\n }\n }\n\n const last = getLastNode(node);\n memoized.node = node;\n memoized.last = last;\n memoized.lastNormal = getLastNormalNode(node);\n memoized.lastPortal = getLastPortalNode(node);\n\n // Figure out the unchanged prev sibling and next sibling\n let prevSibling: RenderChildNode | undefined;\n let current = returnNode.child;\n while (current && current !== prevLast) {\n if (current.sibling === prevNode) {\n prevSibling = current;\n break;\n }\n current = current.sibling;\n }\n\n const fragment = document.createDocumentFragment();\n const portalFragment = document.createDocumentFragment();\n const renderRoot: RenderRoot = {\n tag: RenderTag.ROOT,\n container: fragment,\n createPortal: portalFragment,\n child: node,\n };\n\n // Override `return`\n current = node;\n while (current) {\n current.return = renderRoot;\n current = current.sibling;\n }\n\n // Unmount previous bricks, including their descendants\n const removeBricks = getBrickRange(prevNode, prevLast);\n this.#unmountBricks(removeBricks);\n\n mountTree(renderRoot);\n\n // Connect back\n if (prevSibling) {\n prevSibling.sibling = node;\n } else {\n returnNode.child = node;\n }\n if (last) {\n last.sibling = prevLast?.sibling;\n }\n\n // Resume `return`\n current = node;\n while (current) {\n current.return = returnNode;\n current = current.sibling;\n }\n\n if (returnNode.tag === RenderTag.ROOT) {\n returnNode.container?.insertBefore(fragment, insertBeforeChild);\n } else {\n returnNode.element?.insertBefore(fragment, insertBeforeChild);\n }\n\n if (portalFragment.childNodes.length > 0) {\n let root: RenderNode | undefined = node;\n while (root && root.return) {\n root = root.return;\n }\n // istanbul ignore next\n if (root?.tag !== RenderTag.ROOT) {\n throw new Error(\n \"Cannot find render root node. This is a bug of Brick Next, please report it.\"\n );\n }\n const portal =\n typeof root.createPortal === \"function\"\n ? root.createPortal()\n : root.createPortal;\n let insertPortalBeforeChild: ChildNode | null = null;\n for (const candidate of insertPortalBeforeChildCandidates) {\n // Those candidates from useBrick could be removed during unmount.\n // So we need to check if they are still in the portal.\n if (portal.contains(candidate)) {\n insertPortalBeforeChild = candidate;\n break;\n }\n }\n portal.insertBefore(portalFragment, insertPortalBeforeChild);\n }\n\n const newBricks = getBrickRange(node, last);\n this.#initializeRerenderBricks(newBricks);\n }\n\n dispose(): void {\n for (const list of Object.values(this.#memoizedLifeCycle)) {\n list.length = 0;\n }\n for (const list of this.#observers.values()) {\n for (const observer of list) {\n observer.disconnect();\n }\n list.length = 0;\n }\n this.#observers.clear();\n if (this.#mediaListener) {\n mediaEventTarget.removeEventListener(\"change\", this.#mediaListener);\n this.#mediaListener = undefined;\n }\n this.#memoized = undefined;\n this.#allMenuRequests = undefined;\n this.#memoizedMenuRequestMap = undefined;\n this.#arbitraryLifeCycle.clear();\n this.#locationChangeCallbacks.length = 0;\n }\n\n // Note: no `onScrollIntoView` and `onMessage`\n #dispatchGeneralLifeCycle(\n type:\n | \"onBeforePageLoad\"\n | \"onPageLoad\"\n | \"onPageLeave\"\n | \"onBeforePageLeave\"\n | \"onAnchorLoad\"\n | \"onAnchorUnload\"\n | \"onMediaChange\"\n | \"onMessageClose\"\n | \"onMount\"\n | \"onUnmount\",\n event: Event\n ): void {\n // istanbul ignore next\n if (\n process.env.NODE_ENV === \"development\" &&\n this.scope === \"fragment\" &&\n pageOnlyLifeCycles.includes(type as \"onPageLoad\")\n ) {\n throw new Error(\n `\\`lifeCycle.${type}\\` cannot be used in ${this.scope}.\\nThis is a bug of Brick Next, please report it.`\n );\n }\n for (const { brick, handlers } of this.#memoizedLifeCycle[type]) {\n listenerFactory(handlers, brick.runtimeContext, brick)(event);\n }\n const arbitraryCallbacks = this.#arbitraryLifeCycle.get(type);\n if (arbitraryCallbacks) {\n for (const fn of arbitraryCallbacks) {\n fn();\n }\n }\n }\n\n dispatchBeforePageLoad(): void {\n this.#dispatchGeneralLifeCycle(\n \"onBeforePageLoad\",\n new CustomEvent(\"page.beforeLoad\")\n );\n }\n\n dispatchPageLoad(): void {\n const event = new CustomEvent(\"page.load\");\n this.#dispatchGeneralLifeCycle(\"onPageLoad\", event);\n // Currently only for e2e testing\n window.dispatchEvent(event);\n }\n\n dispatchBeforePageLeave(detail: {\n location?: NextLocation;\n action?: Action;\n }): void {\n this.#dispatchGeneralLifeCycle(\n \"onBeforePageLeave\",\n new CustomEvent(\"page.beforeLeave\", { detail })\n );\n }\n\n dispatchPageLeave(): void {\n this.#dispatchGeneralLifeCycle(\n \"onPageLeave\",\n new CustomEvent(\"page.leave\")\n );\n }\n\n dispatchAnchorLoad(): void {\n const { hash } = getHistory().location;\n if (hash && hash !== \"#\") {\n this.#dispatchGeneralLifeCycle(\n \"onAnchorLoad\",\n new CustomEvent(\"anchor.load\", {\n detail: {\n hash,\n anchor: hash.substring(1),\n },\n })\n );\n } else {\n this.#dispatchGeneralLifeCycle(\n \"onAnchorUnload\",\n new CustomEvent(\"anchor.unload\")\n );\n }\n }\n\n initializeScrollIntoView(): void {\n for (const { brick, handlers: conf } of this.#memoizedLifeCycle\n .onScrollIntoView) {\n this.#addObserver(brick, conf);\n }\n }\n\n #addObserver(brick: RenderBrick, conf: ScrollIntoViewConf) {\n const threshold = conf.threshold ?? 0.1;\n const observer = new IntersectionObserver(\n (entries, observer) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n if (entry.intersectionRatio >= threshold) {\n listenerFactory(\n conf.handlers,\n brick.runtimeContext,\n brick\n )(new CustomEvent(\"scroll.into.view\"));\n observer.disconnect();\n }\n }\n });\n },\n {\n threshold,\n }\n );\n observer.observe(brick.element!);\n let list = this.#observers.get(brick);\n if (!list) {\n list = [];\n this.#observers.set(brick, list);\n }\n list.push(observer);\n }\n\n initializeMediaChange(): void {\n this.#mediaListener = (event) => {\n this.#dispatchGeneralLifeCycle(\n \"onMediaChange\",\n new CustomEvent(\"media.change\", {\n detail: getReadOnlyProxy((event as CustomEvent<Media>).detail),\n })\n );\n };\n mediaEventTarget.addEventListener(\"change\", this.#mediaListener);\n }\n\n initializeMessageDispatcher(): void {\n for (const { brick, handlers: confList } of this.#memoizedLifeCycle\n .onMessage) {\n for (const conf of ([] as MessageConf[]).concat(confList)) {\n hooks?.messageDispatcher?.onMessage(conf.channel, (detail) => {\n listenerFactory(\n conf.handlers,\n brick.runtimeContext,\n brick\n )(new CustomEvent(\"message.push\", { detail }));\n });\n }\n }\n\n hooks?.messageDispatcher?.onClose(() => {\n this.#dispatchGeneralLifeCycle(\n \"onMessageClose\",\n new CustomEvent(\"message.close\")\n );\n });\n }\n\n dispatchOnMount(): void {\n this.#dispatchGeneralLifeCycle(\"onMount\", new CustomEvent(\"mount\"));\n }\n\n dispatchOnUnmount(): void {\n this.#dispatchGeneralLifeCycle(\"onUnmount\", new CustomEvent(\"unmount\"));\n }\n}\n\nfunction getLastNode(\n node: RenderChildNode | undefined\n): RenderChildNode | undefined {\n let last = node;\n while (last?.sibling) {\n last = last.sibling;\n }\n return last;\n}\n\nfunction getLastNormalNode(\n node: RenderChildNode | undefined\n): RenderBrick | undefined {\n return getSpecifiedNormalNode(node, false);\n}\n\nfunction getNextNormalNode(\n node: RenderChildNode | undefined\n): RenderBrick | undefined {\n return getSpecifiedNormalNode(node, true);\n}\n\nfunction getSpecifiedNormalNode(\n node: RenderChildNode | undefined,\n next: boolean\n): RenderBrick | undefined {\n let last: RenderBrick | undefined;\n let current = node;\n while (current) {\n if (current.tag === RenderTag.BRICK && !current.portal) {\n if (next) {\n return current;\n }\n last = current;\n }\n current = current.sibling;\n }\n return last;\n}\n\nfunction getLastPortalNode(\n node: RenderChildNode | undefined\n): RenderBrick | undefined {\n return getSpecifiedPortalNode(node, false);\n}\n\nfunction getNextPortalNode(\n node: RenderChildNode | undefined\n): RenderBrick | undefined {\n return getSpecifiedPortalNode(node, true);\n}\n\nfunction getSpecifiedPortalNode(\n node: RenderChildNode | undefined,\n next: boolean\n): RenderBrick | undefined {\n let last: RenderBrick | undefined;\n let current = node;\n while (current) {\n if (current.tag === RenderTag.BRICK && current.portal) {\n if (next) {\n return current;\n }\n last = current;\n }\n if (current.child) {\n current = current.child;\n } else if (current.sibling) {\n current = current.sibling;\n } else {\n let currentReturn: RenderReturnNode | null | undefined = current.return;\n while (currentReturn) {\n if (currentReturn.sibling) {\n break;\n }\n currentReturn = currentReturn.return;\n }\n current = currentReturn?.sibling;\n }\n }\n return last;\n}\n\nfunction getBrickRange(\n from: RenderChildNode | undefined,\n to: RenderChildNode | undefined\n): Set<RenderBrick> {\n const range = new Set<RenderBrick>();\n let current = from;\n while (current) {\n if (current.tag === RenderTag.BRICK) {\n range.add(current);\n }\n if (current.child) {\n current = current.child;\n } else if (current === to) {\n break;\n } else if (current.sibling) {\n current = current.sibling;\n } else {\n let currentReturn: RenderReturnNode | null | undefined = current.return;\n while (currentReturn && currentReturn !== to) {\n if (currentReturn.sibling) {\n break;\n }\n currentReturn = currentReturn.return;\n }\n if (currentReturn === to) {\n break;\n }\n current = currentReturn?.sibling;\n }\n }\n return range;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"RendererContext.js","names":["_lodash","require","_bindListeners","_history","_proxyFactories","_mediaQuery","_mount","_enums","_bindTemplateProxy","_Runtime","_classPrivateFieldGet","s","a","get","_assertClassBrand","_classPrivateFieldSet","r","set","e","t","n","has","arguments","length","TypeError","commonLifeCycles","pageOnlyLifeCycles","_routeHelper","WeakMap","_memoizedLifeCycle","_observers","_mediaListener","_arbitraryLifeCycle","_memoized","_allMenuRequests","_memoizedMenuRequestMap","_locationChangeCallbacks","_RendererContext_brand","WeakSet","RendererContext","constructor","scope","options","_options$unknownBrick","_classPrivateMethodInitSpec2","default","_defineProperty2","_classPrivateFieldInitSpec2","onBeforePageLoad","onPageLoad","onPageLeave","onBeforePageLeave","onAnchorLoad","onAnchorUnload","onMediaChange","onScrollIntoView","onMount","onUnmount","onMessage","onMessageClose","Map","unknownBricks","routeHelper","renderId","setInitialMenuRequests","menuRequests","memoizeMenuRequests","route","reMergeMenuRequests","routes","currentRoute","previousMenuRequest","previousRoute","_classPrivateFieldGet2","mergedMenuRequests","previousIndex","indexOf","push","splice","_classPrivateFieldGet3","delete","mergeMenus","reBailout","output","bailout","reCatch","error","returnNode","catch","didPerformIncrementalRender","location","prevLocation","i","callback","performIncrementalRender","registerBrickLifeCycle","brick","lifeCycle","lifeCycleTypes","key","handlers","isEmpty","useResolves","console","registerArbitraryLifeCycle","fn","arbitraryCallbacks","add","Set","memoize","slotId","keyPath","node","memKey","join","mem","last","getLastNode","lastNormal","getLastNormalNode","lastPortal","getLastPortalNode","reRender","memoized","prevNode","prevLast","prevLastNormal","prevLastPortal","insertBeforeChild","insertPortalBeforeChildCandidates","tag","RenderTag","PLACEHOLDER","_getNextNormalNode$el","_getNextNormalNode","_getNextPortalNode","getNextNormalNode","element","nextSibling","getNextPortalNode","_prevLastNormal$eleme","_prevLastNormal$eleme2","_prevLastPortal$eleme","HTMLElement","tagName","prevSibling","current","child","sibling","fragment","document","createDocumentFragment","portalFragment","renderRoot","ROOT","container","createPortal","return","removeBricks","getBrickRange","_unmountBricks","call","mountTree","_returnNode$container","insertBefore","_returnNode$element","childNodes","_root","root","Error","portal","insertPortalBeforeChild","candidate","contains","newBricks","_initializeRerenderBricks","dispose","list","Object","values","observer","disconnect","clear","mediaEventTarget","removeEventListener","undefined","dispatchBeforePageLoad","_dispatchGeneralLifeCycle","CustomEvent","dispatchPageLoad","event","window","dispatchEvent","dispatchBeforePageLeave","detail","dispatchPageLeave","dispatchAnchorLoad","hash","getHistory","anchor","substring","initializeScrollIntoView","conf","_addObserver","initializeMediaChange","getReadOnlyProxy","addEventListener","initializeMessageDispatcher","_hooks$messageDispatc2","confList","concat","_hooks$messageDispatc","hooks","messageDispatcher","channel","listenerFactory","runtimeContext","onClose","dispatchOnMount","dispatchOnUnmount","exports","bricks","unmountList","removed","remove","item","_brick$element","_brick$element2","observers","unbindTemplateProxy","$$tplStateStore","unmountEvent","mountEvent","type","process","env","NODE_ENV","includes","_conf$threshold","threshold","IntersectionObserver","entries","forEach","entry","isIntersecting","intersectionRatio","observe","_last","getSpecifiedNormalNode","next","BRICK","getSpecifiedPortalNode","_currentReturn","currentReturn","from","to","range","_currentReturn2"],"sources":["../../../src/internal/RendererContext.ts"],"sourcesContent":["import type {\n BrickEventHandler,\n BrickLifeCycle,\n MessageConf,\n RouteConf,\n ScrollIntoViewConf,\n StaticMenuConf,\n} from \"@next-core/types\";\nimport type { Action, Location } from \"history\";\nimport { isEmpty, remove } from \"lodash\";\nimport { listenerFactory } from \"./bindListeners.js\";\nimport { NextHistoryState, NextLocation, getHistory } from \"../history.js\";\nimport { getReadOnlyProxy } from \"./proxyFactories.js\";\nimport { Media, mediaEventTarget } from \"./mediaQuery.js\";\nimport type {\n RenderBrick,\n RenderChildNode,\n RenderNode,\n RenderReturnNode,\n RenderRoot,\n} from \"./interfaces.js\";\nimport { mountTree } from \"./mount.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { unbindTemplateProxy } from \"./CustomTemplates/bindTemplateProxy.js\";\nimport { hooks } from \"./Runtime.js\";\nimport type { RenderOutput } from \"./Renderer.js\";\n\ntype MemoizedLifeCycle<T> = {\n [Key in keyof T]: {\n brick: RenderBrick;\n handlers: T[Key];\n }[];\n};\n\ntype LocationChangeCallback = (\n location: Location<NextHistoryState>,\n prevLocation: Location<NextHistoryState>\n) => Promise<boolean>;\n\nconst commonLifeCycles = [\n \"onMount\",\n \"onUnmount\",\n \"onMediaChange\",\n \"onScrollIntoView\",\n \"onMessage\",\n \"onMessageClose\",\n] as const;\n\nconst pageOnlyLifeCycles = [\n \"onBeforePageLoad\",\n \"onPageLoad\",\n \"onPageLeave\",\n \"onBeforePageLeave\",\n \"onAnchorLoad\",\n \"onAnchorUnload\",\n] as const;\n\nexport interface RendererContextOptions {\n unknownBricks?: \"silent\" | \"throw\";\n routeHelper?: RouteHelper;\n renderId?: string;\n}\n\nexport interface RouteHelper {\n bailout: (output: RenderOutput) => true | undefined;\n mergeMenus: (menuRequests: Promise<StaticMenuConf>[]) => Promise<void>;\n catch: (\n error: unknown,\n returnNode: RenderReturnNode\n ) =>\n | undefined\n | {\n failed: true;\n output: RenderOutput;\n };\n}\n\nexport class RendererContext {\n /**\n * - page: render as whole page, triggering page life cycles.\n * - fragment: render as fragment, not triggering page life cycles.\n */\n public readonly scope: \"page\" | \"fragment\";\n\n public readonly unknownBricks: \"silent\" | \"throw\";\n\n public readonly renderId: string | undefined;\n\n #routeHelper: RouteHelper | undefined;\n\n constructor(scope: \"page\" | \"fragment\", options?: RendererContextOptions) {\n this.scope = scope;\n this.unknownBricks = options?.unknownBricks ?? \"throw\";\n this.#routeHelper = options?.routeHelper;\n this.renderId = options?.renderId;\n }\n\n #memoizedLifeCycle: MemoizedLifeCycle<\n Required<\n Pick<\n BrickLifeCycle,\n | \"onBeforePageLoad\"\n | \"onPageLoad\"\n | \"onPageLeave\"\n | \"onBeforePageLeave\"\n | \"onAnchorLoad\"\n | \"onAnchorUnload\"\n | \"onMediaChange\"\n | \"onScrollIntoView\"\n | \"onMount\"\n | \"onUnmount\"\n | \"onMessage\"\n | \"onMessageClose\"\n >\n >\n > = {\n onBeforePageLoad: [],\n onPageLoad: [],\n onPageLeave: [],\n onBeforePageLeave: [],\n onAnchorLoad: [],\n onAnchorUnload: [],\n onMediaChange: [],\n onScrollIntoView: [],\n onMount: [],\n onUnmount: [],\n onMessage: [],\n onMessageClose: [],\n };\n #observers = new Map<RenderBrick, IntersectionObserver[]>();\n #mediaListener: EventListener | undefined;\n\n #arbitraryLifeCycle = new Map<string, Set<() => void>>();\n\n #memoized?: WeakMap<\n RenderNode,\n Map<\n string,\n {\n node?: RenderChildNode;\n last?: RenderChildNode;\n lastNormal?: RenderBrick | undefined;\n lastPortal?: RenderBrick | undefined;\n }\n >\n >;\n #allMenuRequests?: Promise<StaticMenuConf>[];\n #memoizedMenuRequestMap?: WeakMap<RouteConf, Promise<StaticMenuConf>>;\n\n setInitialMenuRequests(menuRequests: Promise<StaticMenuConf>[]) {\n this.#allMenuRequests = menuRequests;\n }\n\n memoizeMenuRequests(\n route: RouteConf,\n menuRequests: Promise<StaticMenuConf>[]\n ) {\n if (!this.#memoizedMenuRequestMap) {\n this.#memoizedMenuRequestMap = new WeakMap();\n }\n this.#memoizedMenuRequestMap.set(route, menuRequests[0]);\n }\n\n async reMergeMenuRequests(\n routes: RouteConf[],\n currentRoute: RouteConf | undefined,\n menuRequests: Promise<StaticMenuConf>[]\n ) {\n let previousMenuRequest: Promise<StaticMenuConf> | undefined;\n let previousRoute: RouteConf | undefined;\n for (const route of routes) {\n // If the sub-routes doesn't match, then `this.memoizeMenuRequests` will\n // not be called, thus `this.#memoizedMenuRequestMap` is not set.\n previousMenuRequest = this.#memoizedMenuRequestMap?.get(route);\n if (previousMenuRequest) {\n previousRoute = route;\n break;\n }\n }\n const mergedMenuRequests = this.#allMenuRequests!;\n const previousIndex = previousMenuRequest\n ? mergedMenuRequests.indexOf(previousMenuRequest)\n : -1;\n if (previousIndex === -1) {\n if (!menuRequests.length) {\n return;\n }\n mergedMenuRequests.push(...menuRequests);\n } else {\n mergedMenuRequests.splice(\n previousIndex,\n mergedMenuRequests.length - previousIndex,\n ...menuRequests\n );\n }\n if (previousRoute && previousRoute !== currentRoute) {\n this.#memoizedMenuRequestMap?.delete(previousRoute);\n }\n await this.#routeHelper!.mergeMenus(mergedMenuRequests);\n }\n\n reBailout(output: RenderOutput) {\n return this.#routeHelper!.bailout(output);\n }\n\n reCatch(error: unknown, returnNode: RenderReturnNode) {\n return this.#routeHelper!.catch(error, returnNode);\n }\n\n #locationChangeCallbacks: LocationChangeCallback[] = [];\n\n async didPerformIncrementalRender(\n location: Location<NextHistoryState>,\n prevLocation: Location<NextHistoryState>\n ) {\n // Perform incremental rendering from inside out.\n // This allows nested incremental sub-routes.\n for (let i = this.#locationChangeCallbacks.length - 1; i >= 0; i--) {\n const callback = this.#locationChangeCallbacks[i];\n if (await callback(location, prevLocation)) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * When `callback` resolved to `true` which means incremental rendering is performed,\n * ignore normal rendering.\n */\n performIncrementalRender(callback: LocationChangeCallback) {\n this.#locationChangeCallbacks.push(callback);\n }\n\n registerBrickLifeCycle(\n brick: RenderBrick,\n lifeCycle: BrickLifeCycle | undefined\n ): void {\n if (!lifeCycle) {\n return;\n }\n const lifeCycleTypes = [\n ...commonLifeCycles,\n ...(this.scope === \"page\" ? pageOnlyLifeCycles : []),\n ];\n for (const key of lifeCycleTypes) {\n const handlers = (lifeCycle as BrickLifeCycle)[key as \"onPageLoad\"];\n if (handlers) {\n this.#memoizedLifeCycle[key as \"onPageLoad\"].push({\n brick,\n handlers: handlers as BrickEventHandler | BrickEventHandler[],\n });\n }\n }\n // istanbul ignore next\n if (!isEmpty((lifeCycle as { useResolves?: unknown }).useResolves)) {\n // eslint-disable-next-line no-console\n console.error(\"`lifeCycle.useResolves` is dropped in v3:\", lifeCycle);\n }\n }\n\n registerArbitraryLifeCycle(lifeCycle: string, fn: () => void): void {\n const arbitraryCallbacks = this.#arbitraryLifeCycle.get(lifeCycle);\n if (arbitraryCallbacks) {\n arbitraryCallbacks.add(fn);\n } else {\n this.#arbitraryLifeCycle.set(lifeCycle, new Set([fn]));\n }\n }\n\n #unmountBricks(bricks: Set<RenderBrick>): void {\n const lifeCycleTypes = [\n ...commonLifeCycles,\n ...(this.scope === \"page\" ? pageOnlyLifeCycles : []),\n ];\n const unmountList: {\n brick: RenderBrick;\n handlers: BrickEventHandler | BrickEventHandler[];\n }[] = [];\n\n // Clear life cycle handlers, record `onUnmount` at the same time\n for (const key of lifeCycleTypes) {\n const removed = remove(\n this.#memoizedLifeCycle[key as \"onPageLoad\"],\n (item) => bricks.has(item.brick)\n );\n if (key === \"onUnmount\") {\n unmountList.push(...removed);\n }\n }\n\n // Clear intersection observers\n for (const brick of bricks) {\n const observers = this.#observers.get(brick);\n if (observers?.length) {\n for (const observer of observers) {\n observer.disconnect();\n }\n observers.length = 0;\n this.#observers.delete(brick);\n }\n\n unbindTemplateProxy(brick);\n delete brick.element?.$$tplStateStore;\n\n // Also remove the element\n brick.element?.remove();\n }\n\n // Dispatch unmount events\n const unmountEvent = new CustomEvent(\"unmount\");\n for (const { brick, handlers } of unmountList) {\n listenerFactory(handlers, brick.runtimeContext, brick)(unmountEvent);\n }\n }\n\n #initializeRerenderBricks(bricks: Set<RenderBrick>): void {\n const mountEvent = new CustomEvent(\"mount\");\n for (const { brick, handlers } of this.#memoizedLifeCycle.onMount) {\n if (bricks.has(brick)) {\n listenerFactory(handlers, brick.runtimeContext, brick)(mountEvent);\n }\n }\n\n for (const { brick, handlers: conf } of this.#memoizedLifeCycle\n .onScrollIntoView) {\n if (bricks.has(brick)) {\n this.#addObserver(brick, conf);\n }\n }\n }\n\n memoize(\n slotId: string | undefined,\n keyPath: number[],\n node: RenderChildNode | undefined,\n returnNode: RenderReturnNode\n ) {\n if (!this.#memoized) {\n this.#memoized = new WeakMap();\n }\n const memKey = [slotId ?? \"\", ...keyPath].join(\".\");\n let mem = this.#memoized.get(returnNode);\n if (!mem) {\n mem = new Map();\n this.#memoized.set(returnNode, mem);\n }\n\n mem.set(memKey, {\n node,\n last: getLastNode(node),\n lastNormal: getLastNormalNode(node),\n lastPortal: getLastPortalNode(node),\n });\n }\n\n reRender(\n slotId: string | undefined,\n keyPath: number[],\n node: RenderChildNode | undefined,\n returnNode: RenderReturnNode\n ) {\n const memKey = [slotId ?? \"\", ...keyPath].join(\".\");\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const memoized = this.#memoized!.get(returnNode)!.get(memKey)!;\n const {\n node: prevNode,\n last: prevLast,\n lastNormal: prevLastNormal,\n lastPortal: prevLastPortal,\n } = memoized;\n\n let insertBeforeChild: ChildNode | null;\n const insertPortalBeforeChildCandidates: ChildNode[] = [];\n if (prevNode?.tag === RenderTag.PLACEHOLDER) {\n insertBeforeChild = getNextNormalNode(prevNode)?.element ?? null;\n // Todo(steve): handle portal bricks from useBrick.\n const nextSibling = getNextPortalNode(prevNode)?.element;\n if (nextSibling) {\n insertPortalBeforeChildCandidates.push(nextSibling);\n }\n } else {\n insertBeforeChild = prevLastNormal?.element?.nextSibling ?? null;\n let nextSibling = prevLastPortal?.element?.nextSibling;\n while (nextSibling) {\n insertPortalBeforeChildCandidates.push(nextSibling);\n // Collect all portal bricks from useBrick, until found a normal portal\n // brick other than from useBrick.\n // Because useBrick could be removed during unmount.\n if (\n !(nextSibling instanceof HTMLElement && nextSibling.tagName === \"DIV\")\n ) {\n break;\n }\n nextSibling = nextSibling.nextSibling;\n }\n }\n\n const last = getLastNode(node);\n memoized.node = node;\n memoized.last = last;\n memoized.lastNormal = getLastNormalNode(node);\n memoized.lastPortal = getLastPortalNode(node);\n\n // Figure out the unchanged prev sibling and next sibling\n let prevSibling: RenderChildNode | undefined;\n let current = returnNode.child;\n while (current && current !== prevLast) {\n if (current.sibling === prevNode) {\n prevSibling = current;\n break;\n }\n current = current.sibling;\n }\n\n const fragment = document.createDocumentFragment();\n const portalFragment = document.createDocumentFragment();\n const renderRoot: RenderRoot = {\n tag: RenderTag.ROOT,\n container: fragment,\n createPortal: portalFragment,\n child: node,\n };\n\n // Override `return`\n current = node;\n while (current) {\n current.return = renderRoot;\n current = current.sibling;\n }\n\n // Unmount previous bricks, including their descendants\n const removeBricks = getBrickRange(prevNode, prevLast);\n this.#unmountBricks(removeBricks);\n\n mountTree(renderRoot);\n\n // Connect back\n if (prevSibling) {\n prevSibling.sibling = node;\n } else {\n returnNode.child = node;\n }\n if (last) {\n last.sibling = prevLast?.sibling;\n }\n\n // Resume `return`\n current = node;\n while (current) {\n current.return = returnNode;\n current = current.sibling;\n }\n\n if (returnNode.tag === RenderTag.ROOT) {\n returnNode.container?.insertBefore(fragment, insertBeforeChild);\n } else {\n returnNode.element?.insertBefore(fragment, insertBeforeChild);\n }\n\n if (portalFragment.childNodes.length > 0) {\n let root: RenderNode | undefined = node;\n while (root && root.return) {\n root = root.return;\n }\n // istanbul ignore next\n if (root?.tag !== RenderTag.ROOT) {\n throw new Error(\n \"Cannot find render root node. This is a bug of Brick Next, please report it.\"\n );\n }\n const portal =\n typeof root.createPortal === \"function\"\n ? root.createPortal()\n : root.createPortal;\n let insertPortalBeforeChild: ChildNode | null = null;\n for (const candidate of insertPortalBeforeChildCandidates) {\n // Those candidates from useBrick could be removed during unmount.\n // So we need to check if they are still in the portal.\n if (portal.contains(candidate)) {\n insertPortalBeforeChild = candidate;\n break;\n }\n }\n portal.insertBefore(portalFragment, insertPortalBeforeChild);\n }\n\n const newBricks = getBrickRange(node, last);\n this.#initializeRerenderBricks(newBricks);\n }\n\n dispose(): void {\n for (const list of Object.values(this.#memoizedLifeCycle)) {\n list.length = 0;\n }\n for (const list of this.#observers.values()) {\n for (const observer of list) {\n observer.disconnect();\n }\n list.length = 0;\n }\n this.#observers.clear();\n if (this.#mediaListener) {\n mediaEventTarget.removeEventListener(\"change\", this.#mediaListener);\n this.#mediaListener = undefined;\n }\n this.#memoized = undefined;\n this.#allMenuRequests = undefined;\n this.#memoizedMenuRequestMap = undefined;\n this.#arbitraryLifeCycle.clear();\n this.#locationChangeCallbacks.length = 0;\n }\n\n // Note: no `onScrollIntoView` and `onMessage`\n #dispatchGeneralLifeCycle(\n type:\n | \"onBeforePageLoad\"\n | \"onPageLoad\"\n | \"onPageLeave\"\n | \"onBeforePageLeave\"\n | \"onAnchorLoad\"\n | \"onAnchorUnload\"\n | \"onMediaChange\"\n | \"onMessageClose\"\n | \"onMount\"\n | \"onUnmount\",\n event: Event\n ): void {\n // istanbul ignore next\n if (\n process.env.NODE_ENV === \"development\" &&\n this.scope === \"fragment\" &&\n pageOnlyLifeCycles.includes(type as \"onPageLoad\")\n ) {\n throw new Error(\n `\\`lifeCycle.${type}\\` cannot be used in ${this.scope}.\\nThis is a bug of Brick Next, please report it.`\n );\n }\n for (const { brick, handlers } of this.#memoizedLifeCycle[type]) {\n listenerFactory(handlers, brick.runtimeContext, brick)(event);\n }\n const arbitraryCallbacks = this.#arbitraryLifeCycle.get(type);\n if (arbitraryCallbacks) {\n for (const fn of arbitraryCallbacks) {\n fn();\n }\n }\n }\n\n dispatchBeforePageLoad(): void {\n this.#dispatchGeneralLifeCycle(\n \"onBeforePageLoad\",\n new CustomEvent(\"page.beforeLoad\")\n );\n }\n\n dispatchPageLoad(): void {\n const event = new CustomEvent(\"page.load\");\n this.#dispatchGeneralLifeCycle(\"onPageLoad\", event);\n // Currently only for e2e testing\n window.dispatchEvent(event);\n }\n\n dispatchBeforePageLeave(detail: {\n location?: NextLocation;\n action?: Action;\n }): void {\n this.#dispatchGeneralLifeCycle(\n \"onBeforePageLeave\",\n new CustomEvent(\"page.beforeLeave\", { detail })\n );\n }\n\n dispatchPageLeave(): void {\n this.#dispatchGeneralLifeCycle(\n \"onPageLeave\",\n new CustomEvent(\"page.leave\")\n );\n }\n\n dispatchAnchorLoad(): void {\n const { hash } = getHistory().location;\n if (hash && hash !== \"#\") {\n this.#dispatchGeneralLifeCycle(\n \"onAnchorLoad\",\n new CustomEvent(\"anchor.load\", {\n detail: {\n hash,\n anchor: hash.substring(1),\n },\n })\n );\n } else {\n this.#dispatchGeneralLifeCycle(\n \"onAnchorUnload\",\n new CustomEvent(\"anchor.unload\")\n );\n }\n }\n\n initializeScrollIntoView(): void {\n for (const { brick, handlers: conf } of this.#memoizedLifeCycle\n .onScrollIntoView) {\n this.#addObserver(brick, conf);\n }\n }\n\n #addObserver(brick: RenderBrick, conf: ScrollIntoViewConf) {\n const threshold = conf.threshold ?? 0.1;\n const observer = new IntersectionObserver(\n (entries, observer) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n if (entry.intersectionRatio >= threshold) {\n listenerFactory(\n conf.handlers,\n brick.runtimeContext,\n brick\n )(new CustomEvent(\"scroll.into.view\"));\n observer.disconnect();\n }\n }\n });\n },\n {\n threshold,\n }\n );\n observer.observe(brick.element!);\n let list = this.#observers.get(brick);\n if (!list) {\n list = [];\n this.#observers.set(brick, list);\n }\n list.push(observer);\n }\n\n initializeMediaChange(): void {\n this.#mediaListener = (event) => {\n this.#dispatchGeneralLifeCycle(\n \"onMediaChange\",\n new CustomEvent(\"media.change\", {\n detail: getReadOnlyProxy((event as CustomEvent<Media>).detail),\n })\n );\n };\n mediaEventTarget.addEventListener(\"change\", this.#mediaListener);\n }\n\n initializeMessageDispatcher(): void {\n for (const { brick, handlers: confList } of this.#memoizedLifeCycle\n .onMessage) {\n for (const conf of ([] as MessageConf[]).concat(confList)) {\n hooks?.messageDispatcher?.onMessage(conf.channel, (detail) => {\n listenerFactory(\n conf.handlers,\n brick.runtimeContext,\n brick\n )(new CustomEvent(\"message.push\", { detail }));\n });\n }\n }\n\n hooks?.messageDispatcher?.onClose(() => {\n this.#dispatchGeneralLifeCycle(\n \"onMessageClose\",\n new CustomEvent(\"message.close\")\n );\n });\n }\n\n dispatchOnMount(): void {\n this.#dispatchGeneralLifeCycle(\"onMount\", new CustomEvent(\"mount\"));\n }\n\n dispatchOnUnmount(): void {\n this.#dispatchGeneralLifeCycle(\"onUnmount\", new CustomEvent(\"unmount\"));\n }\n}\n\nfunction getLastNode(\n node: RenderChildNode | undefined\n): RenderChildNode | undefined {\n let last = node;\n while (last?.sibling) {\n last = last.sibling;\n }\n return last;\n}\n\nfunction getLastNormalNode(\n node: RenderChildNode | undefined\n): RenderBrick | undefined {\n return getSpecifiedNormalNode(node, false);\n}\n\nfunction getNextNormalNode(\n node: RenderChildNode | undefined\n): RenderBrick | undefined {\n return getSpecifiedNormalNode(node, true);\n}\n\nfunction getSpecifiedNormalNode(\n node: RenderChildNode | undefined,\n next: boolean\n): RenderBrick | undefined {\n let last: RenderBrick | undefined;\n let current = node;\n while (current) {\n if (current.tag === RenderTag.BRICK && !current.portal) {\n if (next) {\n return current;\n }\n last = current;\n }\n current = current.sibling;\n }\n return last;\n}\n\nfunction getLastPortalNode(\n node: RenderChildNode | undefined\n): RenderBrick | undefined {\n return getSpecifiedPortalNode(node, false);\n}\n\nfunction getNextPortalNode(\n node: RenderChildNode | undefined\n): RenderBrick | undefined {\n return getSpecifiedPortalNode(node, true);\n}\n\nfunction getSpecifiedPortalNode(\n node: RenderChildNode | undefined,\n next: boolean\n): RenderBrick | undefined {\n let last: RenderBrick | undefined;\n let current = node;\n while (current) {\n if (current.tag === RenderTag.BRICK && current.portal) {\n if (next) {\n return current;\n }\n last = current;\n }\n if (current.child) {\n current = current.child;\n } else if (current.sibling) {\n current = current.sibling;\n } else {\n let currentReturn: RenderReturnNode | null | undefined = current.return;\n while (currentReturn) {\n if (currentReturn.sibling) {\n break;\n }\n currentReturn = currentReturn.return;\n }\n current = currentReturn?.sibling;\n }\n }\n return last;\n}\n\nfunction getBrickRange(\n from: RenderChildNode | undefined,\n to: RenderChildNode | undefined\n): Set<RenderBrick> {\n const range = new Set<RenderBrick>();\n let current = from;\n while (current) {\n if (current.tag === RenderTag.BRICK) {\n range.add(current);\n }\n if (current.child) {\n current = current.child;\n } else if (current === to) {\n break;\n } else if (current.sibling) {\n current = current.sibling;\n } else {\n let currentReturn: RenderReturnNode | null | undefined = current.return;\n while (currentReturn && currentReturn !== to) {\n if (currentReturn.sibling) {\n break;\n }\n currentReturn = currentReturn.return;\n }\n if (currentReturn === to) {\n break;\n }\n current = currentReturn?.sibling;\n }\n }\n return range;\n}\n"],"mappings":"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"}
@@ -7,9 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.Router = void 0;
8
8
  var _classPrivateMethodInitSpec2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateMethodInitSpec"));
9
9
  var _classPrivateFieldInitSpec2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldInitSpec"));
10
- var _classPrivateFieldGet7 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldGet"));
11
- var _classPrivateMethodGet2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateMethodGet"));
12
- var _classPrivateFieldSet2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldSet"));
13
10
  var _history2 = require("history");
14
11
  var _http = require("@next-core/http");
15
12
  var _lodash = require("lodash");
@@ -35,6 +32,10 @@ var _insertPreviewRoutes = require("./insertPreviewRoutes.js");
35
32
  var _devtools = require("./devtools.js");
36
33
  var _setUIVersion = require("../setUIVersion.js");
37
34
  var _setAppVariable = require("../setAppVariable.js");
35
+ var _setWatermark = require("../setWatermark.js");
36
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
37
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
38
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
38
39
  var _storyboards = /*#__PURE__*/new WeakMap();
39
40
  var _rendering = /*#__PURE__*/new WeakMap();
40
41
  var _prevLocation = /*#__PURE__*/new WeakMap();
@@ -47,68 +48,26 @@ var _renderId = /*#__PURE__*/new WeakMap();
47
48
  var _currentApp = /*#__PURE__*/new WeakMap();
48
49
  var _previousApp = /*#__PURE__*/new WeakMap();
49
50
  var _navConfig = /*#__PURE__*/new WeakMap();
50
- var _getBlockMessageBeforePageLave = /*#__PURE__*/new WeakSet();
51
- var _safeRedirect = /*#__PURE__*/new WeakSet();
52
- var _queuedRender = /*#__PURE__*/new WeakSet();
53
- var _render = /*#__PURE__*/new WeakSet();
51
+ var _Router_brand = /*#__PURE__*/new WeakSet();
54
52
  class Router {
55
53
  constructor(storyboards) {
56
- (0, _classPrivateMethodInitSpec2.default)(this, _render);
57
- (0, _classPrivateMethodInitSpec2.default)(this, _queuedRender);
58
- (0, _classPrivateMethodInitSpec2.default)(this, _safeRedirect);
59
- (0, _classPrivateMethodInitSpec2.default)(this, _getBlockMessageBeforePageLave);
60
- (0, _classPrivateFieldInitSpec2.default)(this, _storyboards, {
61
- writable: true,
62
- value: void 0
63
- });
64
- (0, _classPrivateFieldInitSpec2.default)(this, _rendering, {
65
- writable: true,
66
- value: false
67
- });
68
- (0, _classPrivateFieldInitSpec2.default)(this, _prevLocation, {
69
- writable: true,
70
- value: void 0
71
- });
72
- (0, _classPrivateFieldInitSpec2.default)(this, _nextLocation, {
73
- writable: true,
74
- value: void 0
75
- });
76
- (0, _classPrivateFieldInitSpec2.default)(this, _runtimeContext, {
77
- writable: true,
78
- value: void 0
79
- });
80
- (0, _classPrivateFieldInitSpec2.default)(this, _rendererContext, {
81
- writable: true,
82
- value: void 0
83
- });
84
- (0, _classPrivateFieldInitSpec2.default)(this, _rendererContextTrashCan, {
85
- writable: true,
86
- value: new Set()
87
- });
88
- (0, _classPrivateFieldInitSpec2.default)(this, _redirectCount, {
89
- writable: true,
90
- value: 0
91
- });
92
- (0, _classPrivateFieldInitSpec2.default)(this, _renderId, {
93
- writable: true,
94
- value: void 0
95
- });
96
- (0, _classPrivateFieldInitSpec2.default)(this, _currentApp, {
97
- writable: true,
98
- value: void 0
99
- });
100
- (0, _classPrivateFieldInitSpec2.default)(this, _previousApp, {
101
- writable: true,
102
- value: void 0
103
- });
104
- (0, _classPrivateFieldInitSpec2.default)(this, _navConfig, {
105
- writable: true,
106
- value: void 0
107
- });
108
- (0, _classPrivateFieldSet2.default)(this, _storyboards, storyboards);
54
+ (0, _classPrivateMethodInitSpec2.default)(this, _Router_brand);
55
+ (0, _classPrivateFieldInitSpec2.default)(this, _storyboards, void 0);
56
+ (0, _classPrivateFieldInitSpec2.default)(this, _rendering, false);
57
+ (0, _classPrivateFieldInitSpec2.default)(this, _prevLocation, void 0);
58
+ (0, _classPrivateFieldInitSpec2.default)(this, _nextLocation, void 0);
59
+ (0, _classPrivateFieldInitSpec2.default)(this, _runtimeContext, void 0);
60
+ (0, _classPrivateFieldInitSpec2.default)(this, _rendererContext, void 0);
61
+ (0, _classPrivateFieldInitSpec2.default)(this, _rendererContextTrashCan, new Set());
62
+ (0, _classPrivateFieldInitSpec2.default)(this, _redirectCount, 0);
63
+ (0, _classPrivateFieldInitSpec2.default)(this, _renderId, void 0);
64
+ (0, _classPrivateFieldInitSpec2.default)(this, _currentApp, void 0);
65
+ (0, _classPrivateFieldInitSpec2.default)(this, _previousApp, void 0);
66
+ (0, _classPrivateFieldInitSpec2.default)(this, _navConfig, void 0);
67
+ _classPrivateFieldSet(_storyboards, this, storyboards);
109
68
  const _history = (0, _history3.getHistory)();
110
69
  window.addEventListener("beforeunload", event => {
111
- const message = (0, _classPrivateMethodGet2.default)(this, _getBlockMessageBeforePageLave, _getBlockMessageBeforePageLave2).call(this, {});
70
+ const message = _assertClassBrand(_Router_brand, this, _getBlockMessageBeforePageLave).call(this, {});
112
71
  // See examples in https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload
113
72
  if (message) {
114
73
  // Cancel the event
@@ -121,30 +80,30 @@ class Router {
121
80
  delete event.returnValue;
122
81
  }
123
82
  });
124
- _history.block((location, action) => (0, _classPrivateMethodGet2.default)(this, _getBlockMessageBeforePageLave, _getBlockMessageBeforePageLave2).call(this, {
83
+ _history.block((location, action) => _assertClassBrand(_Router_brand, this, _getBlockMessageBeforePageLave).call(this, {
125
84
  location,
126
85
  action
127
86
  }));
128
87
  }
129
88
  getRenderId() {
130
- return (0, _classPrivateFieldGet7.default)(this, _renderId);
89
+ return _classPrivateFieldGet(_renderId, this);
131
90
  }
132
91
  getRuntimeContext() {
133
- return (0, _classPrivateFieldGet7.default)(this, _runtimeContext);
92
+ return _classPrivateFieldGet(_runtimeContext, this);
134
93
  }
135
94
  getRecentApps() {
136
95
  return {
137
- currentApp: (0, _classPrivateFieldGet7.default)(this, _currentApp),
138
- previousApp: (0, _classPrivateFieldGet7.default)(this, _previousApp)
96
+ currentApp: _classPrivateFieldGet(_currentApp, this),
97
+ previousApp: _classPrivateFieldGet(_previousApp, this)
139
98
  };
140
99
  }
141
100
  getNavConfig() {
142
- return (0, _classPrivateFieldGet7.default)(this, _navConfig);
101
+ return _classPrivateFieldGet(_navConfig, this);
143
102
  }
144
103
  bootstrap() {
145
104
  (0, _abortController.initAbortController)();
146
105
  const history = (0, _history3.getHistory)();
147
- (0, _classPrivateFieldSet2.default)(this, _prevLocation, history.location);
106
+ _classPrivateFieldSet(_prevLocation, this, history.location);
148
107
  let renderId = 0;
149
108
  history.listen(async (location, action) => {
150
109
  var _classPrivateFieldGet2, _location$state, _location$state2, _classPrivateFieldGet4;
@@ -162,13 +121,13 @@ class Router {
162
121
  // such as goBack or goForward,
163
122
  action === "POP" && (
164
123
  // and the previous location was triggered by hash link,
165
- (0, _classPrivateFieldGet7.default)(this, _prevLocation).key === undefined ||
124
+ _classPrivateFieldGet(_prevLocation, this).key === undefined ||
166
125
  // or the previous location specified notify false.
167
- ((_classPrivateFieldGet2 = (0, _classPrivateFieldGet7.default)(this, _prevLocation).state) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2.notify) === false)) {
126
+ ((_classPrivateFieldGet2 = _classPrivateFieldGet(_prevLocation, this).state) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2.notify) === false)) {
168
127
  omittedLocationProps.key = undefined;
169
128
  }
170
129
  if ((0, _history2.locationsAreEqual)({
171
- ...(0, _classPrivateFieldGet7.default)(this, _prevLocation),
130
+ ..._classPrivateFieldGet(_prevLocation, this),
172
131
  ...omittedLocationProps
173
132
  }, {
174
133
  ...location,
@@ -180,7 +139,7 @@ class Router {
180
139
  }
181
140
  if (!ignoreRendering && !((_location$state2 = location.state) !== null && _location$state2 !== void 0 && _location$state2.noIncremental)) {
182
141
  var _classPrivateFieldGet3;
183
- ignoreRendering = await ((_classPrivateFieldGet3 = (0, _classPrivateFieldGet7.default)(this, _rendererContext)) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.didPerformIncrementalRender(location, (0, _classPrivateFieldGet7.default)(this, _prevLocation)));
142
+ ignoreRendering = await ((_classPrivateFieldGet3 = _classPrivateFieldGet(_rendererContext, this)) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.didPerformIncrementalRender(location, _classPrivateFieldGet(_prevLocation, this)));
184
143
  }
185
144
 
186
145
  // Ignore stale renders
@@ -188,14 +147,14 @@ class Router {
188
147
  return;
189
148
  }
190
149
  if (ignoreRendering) {
191
- (0, _classPrivateFieldSet2.default)(this, _prevLocation, location);
150
+ _classPrivateFieldSet(_prevLocation, this, location);
192
151
  return;
193
152
  }
194
153
  (0, _abortController.abortPendingRequest)();
195
- (0, _classPrivateFieldSet2.default)(this, _prevLocation, location);
196
- (_classPrivateFieldGet4 = (0, _classPrivateFieldGet7.default)(this, _rendererContext)) === null || _classPrivateFieldGet4 === void 0 || _classPrivateFieldGet4.dispatchPageLeave();
154
+ _classPrivateFieldSet(_prevLocation, this, location);
155
+ (_classPrivateFieldGet4 = _classPrivateFieldGet(_rendererContext, this)) === null || _classPrivateFieldGet4 === void 0 || _classPrivateFieldGet4.dispatchPageLeave();
197
156
  if (action === "POP") {
198
- const storyboard = (0, _matchStoryboard.matchStoryboard)((0, _classPrivateFieldGet7.default)(this, _storyboards), location.pathname);
157
+ const storyboard = (0, _matchStoryboard.matchStoryboard)(_classPrivateFieldGet(_storyboards, this), location.pathname);
199
158
  // When a browser action of goBack or goForward is performing,
200
159
  // force reload when the target page is a page of an outside app.
201
160
  if ((0, _matchStoryboard.isOutsideApp)(storyboard)) {
@@ -203,22 +162,22 @@ class Router {
203
162
  return;
204
163
  }
205
164
  }
206
- if ((0, _classPrivateFieldGet7.default)(this, _rendering)) {
207
- (0, _classPrivateFieldSet2.default)(this, _nextLocation, location);
165
+ if (_classPrivateFieldGet(_rendering, this)) {
166
+ _classPrivateFieldSet(_nextLocation, this, location);
208
167
  } else {
209
168
  (0, _devtools.devtoolsHookEmit)("locationChange");
210
- (0, _classPrivateMethodGet2.default)(this, _queuedRender, _queuedRender2).call(this, location).catch(_handleHttpError.handleHttpError);
169
+ _assertClassBrand(_Router_brand, this, _queuedRender).call(this, location).catch(_handleHttpError.handleHttpError);
211
170
  }
212
171
  });
213
- return (0, _classPrivateMethodGet2.default)(this, _queuedRender, _queuedRender2).call(this, history.location);
172
+ return _assertClassBrand(_Router_brand, this, _queuedRender).call(this, history.location);
214
173
  }
215
174
  }
216
175
  exports.Router = Router;
217
- function _getBlockMessageBeforePageLave2(detail) {
176
+ function _getBlockMessageBeforePageLave(detail) {
218
177
  var _classPrivateFieldGet5;
219
178
  const history = (0, _history3.getHistory)();
220
179
  const previousMessage = history.getBlockMessage();
221
- (_classPrivateFieldGet5 = (0, _classPrivateFieldGet7.default)(this, _rendererContext)) === null || _classPrivateFieldGet5 === void 0 || _classPrivateFieldGet5.dispatchBeforePageLeave(detail);
180
+ (_classPrivateFieldGet5 = _classPrivateFieldGet(_rendererContext, this)) === null || _classPrivateFieldGet5 === void 0 || _classPrivateFieldGet5.dispatchBeforePageLeave(detail);
222
181
  const message = history.getBlockMessage();
223
182
  if (!previousMessage && message) {
224
183
  // Auto unblock only if new block was introduced by `onBeforePageLeave`.
@@ -226,9 +185,9 @@ function _getBlockMessageBeforePageLave2(detail) {
226
185
  }
227
186
  return message;
228
187
  }
229
- function _safeRedirect2(to, state, from) {
188
+ function _safeRedirect(to, state, from) {
230
189
  var _this$redirectCount, _this$redirectCount2;
231
- if (((0, _classPrivateFieldSet2.default)(this, _redirectCount, (_this$redirectCount = (0, _classPrivateFieldGet7.default)(this, _redirectCount), _this$redirectCount2 = _this$redirectCount++, _this$redirectCount)), _this$redirectCount2) > 10) {
190
+ if ((_classPrivateFieldSet(_redirectCount, this, (_this$redirectCount = _classPrivateFieldGet(_redirectCount, this), _this$redirectCount2 = _this$redirectCount++, _this$redirectCount)), _this$redirectCount2) > 10) {
232
191
  const message = `Infinite redirect detected: from "${from.pathname}${from.search}${from.hash}" to "${to}"`;
233
192
  // istanbul ignore else: error cannot be caught in test
234
193
  if (process.env.NODE_ENV === "test") {
@@ -241,22 +200,22 @@ function _safeRedirect2(to, state, from) {
241
200
  }
242
201
  (0, _history3.getHistory)().replace(to, state);
243
202
  }
244
- async function _queuedRender2(location) {
245
- (0, _classPrivateFieldSet2.default)(this, _rendering, true);
203
+ async function _queuedRender(location) {
204
+ _classPrivateFieldSet(_rendering, this, true);
246
205
  try {
247
- await (0, _classPrivateMethodGet2.default)(this, _render, _render2).call(this, location);
206
+ await _assertClassBrand(_Router_brand, this, _render).call(this, location);
248
207
  } finally {
249
- (0, _classPrivateFieldSet2.default)(this, _rendering, false);
250
- if ((0, _classPrivateFieldGet7.default)(this, _nextLocation)) {
251
- const nextLocation = (0, _classPrivateFieldGet7.default)(this, _nextLocation);
252
- (0, _classPrivateFieldSet2.default)(this, _nextLocation, undefined);
253
- await (0, _classPrivateMethodGet2.default)(this, _queuedRender, _queuedRender2).call(this, nextLocation);
208
+ _classPrivateFieldSet(_rendering, this, false);
209
+ if (_classPrivateFieldGet(_nextLocation, this)) {
210
+ const nextLocation = _classPrivateFieldGet(_nextLocation, this);
211
+ _classPrivateFieldSet(_nextLocation, this, undefined);
212
+ await _assertClassBrand(_Router_brand, this, _queuedRender).call(this, nextLocation);
254
213
  }
255
214
  }
256
215
  }
257
- async function _render2(location) {
216
+ async function _render(location) {
258
217
  var _hooks$flowApi, _hooks$pageView, _classPrivateFieldGet6, _storyboard$app;
259
- const renderId = (0, _classPrivateFieldSet2.default)(this, _renderId, (0, _lodash.uniqueId)("render-id-"));
218
+ const renderId = _classPrivateFieldSet(_renderId, this, (0, _lodash.uniqueId)("render-id-"));
260
219
  (0, _markAsComputed.resetAllComputedMarks)();
261
220
  (0, _resolveData.clearResolveCache)();
262
221
  _Runtime.hooks === null || _Runtime.hooks === void 0 || (_hooks$flowApi = _Runtime.hooks.flowApi) === null || _hooks$flowApi === void 0 || _hooks$flowApi.clearCollectWidgetContract();
@@ -265,8 +224,8 @@ async function _render2(location) {
265
224
 
266
225
  // const renderStartTime = performance.now();
267
226
  const finishPageView = _Runtime.hooks === null || _Runtime.hooks === void 0 || (_hooks$pageView = _Runtime.hooks.pageView) === null || _hooks$pageView === void 0 ? void 0 : _hooks$pageView.create();
268
- const storyboard = (0, _matchStoryboard.matchStoryboard)((0, _classPrivateFieldGet7.default)(this, _storyboards), location.pathname);
269
- const previousApp = (_classPrivateFieldGet6 = (0, _classPrivateFieldGet7.default)(this, _runtimeContext)) === null || _classPrivateFieldGet6 === void 0 ? void 0 : _classPrivateFieldGet6.app;
227
+ const storyboard = (0, _matchStoryboard.matchStoryboard)(_classPrivateFieldGet(_storyboards, this), location.pathname);
228
+ const previousApp = (_classPrivateFieldGet6 = _classPrivateFieldGet(_runtimeContext, this)) === null || _classPrivateFieldGet6 === void 0 ? void 0 : _classPrivateFieldGet6.app;
270
229
  const currentAppId = storyboard === null || storyboard === void 0 || (_storyboard$app = storyboard.app) === null || _storyboard$app === void 0 ? void 0 : _storyboard$app.id;
271
230
  // dynamically change the value of the APP variable, if it's union app
272
231
  if (window.BOOTSTRAP_UNION_FILE && currentAppId && currentAppId !== (previousApp === null || previousApp === void 0 ? void 0 : previousApp.id)) {
@@ -275,10 +234,11 @@ async function _render2(location) {
275
234
  version: storyboard.app.currentVersion
276
235
  });
277
236
  }
237
+ (0, _setWatermark.setWatermark)();
278
238
  if (storyboard !== null && storyboard !== void 0 && storyboard.app) {
279
239
  await (0, _fulfilStoryboard.fulfilStoryboard)(storyboard);
280
240
  }
281
- const currentApp = (0, _classPrivateFieldSet2.default)(this, _currentApp, storyboard === null || storyboard === void 0 ? void 0 : storyboard.app);
241
+ const currentApp = _classPrivateFieldSet(_currentApp, this, storyboard === null || storyboard === void 0 ? void 0 : storyboard.app);
282
242
 
283
243
  // Storyboard maybe re-assigned, e.g. when open launchpad.
284
244
  const appChanged = previousApp && currentApp ? previousApp.id !== currentApp.id : previousApp !== currentApp;
@@ -287,13 +247,13 @@ async function _render2(location) {
287
247
 
288
248
  // Set `Router::#currentApp` before calling `getFeatureFlags()`
289
249
  const flags = (0, _Runtime.getRuntime)().getFeatureFlags();
290
- const prevRendererContext = (0, _classPrivateFieldGet7.default)(this, _rendererContext);
250
+ const prevRendererContext = _classPrivateFieldGet(_rendererContext, this);
291
251
  const redirectTo = (to, state) => {
292
252
  finishPageView === null || finishPageView === void 0 || finishPageView({
293
253
  status: "redirected"
294
254
  });
295
- (0, _classPrivateFieldGet7.default)(this, _rendererContextTrashCan).add(prevRendererContext);
296
- (0, _classPrivateMethodGet2.default)(this, _safeRedirect, _safeRedirect2).call(this, to, state, location);
255
+ _classPrivateFieldGet(_rendererContextTrashCan, this).add(prevRendererContext);
256
+ _assertClassBrand(_Router_brand, this, _safeRedirect).call(this, to, state, location);
297
257
  };
298
258
  const redirectToLogin = () => {
299
259
  const to = flags["sso-enabled"] ? "/sso-auth/login" : "/auth/login";
@@ -315,17 +275,17 @@ async function _render2(location) {
315
275
  (0, _mount.unmountTree)(portal);
316
276
 
317
277
  // Note: redirects can lead to multiple trash renderer contexts.
318
- (0, _classPrivateFieldGet7.default)(this, _rendererContextTrashCan).add(prevRendererContext);
319
- for (const item of (0, _classPrivateFieldGet7.default)(this, _rendererContextTrashCan)) {
278
+ _classPrivateFieldGet(_rendererContextTrashCan, this).add(prevRendererContext);
279
+ for (const item of _classPrivateFieldGet(_rendererContextTrashCan, this)) {
320
280
  if (item) {
321
281
  item.dispatchOnUnmount();
322
282
  item.dispose();
323
283
  }
324
284
  }
325
- (0, _classPrivateFieldGet7.default)(this, _rendererContextTrashCan).clear();
285
+ _classPrivateFieldGet(_rendererContextTrashCan, this).clear();
326
286
  _Runtime.hooks === null || _Runtime.hooks === void 0 || (_hooks$messageDispatc = _Runtime.hooks.messageDispatcher) === null || _hooks$messageDispatc === void 0 || _hooks$messageDispatc.reset();
327
287
  if (appChanged) {
328
- (0, _classPrivateFieldSet2.default)(this, _previousApp, previousApp);
288
+ _classPrivateFieldSet(_previousApp, this, previousApp);
329
289
  window.dispatchEvent(new CustomEvent("app.change", {
330
290
  detail: {
331
291
  previousApp,
@@ -350,18 +310,18 @@ async function _render2(location) {
350
310
  return true;
351
311
  }
352
312
  // Reset redirect count if no redirect is set.
353
- (0, _classPrivateFieldSet2.default)(this, _redirectCount, 0);
313
+ _classPrivateFieldSet(_redirectCount, this, 0);
354
314
  },
355
315
  mergeMenus: async menuRequests => {
356
316
  const menuConfs = await Promise.all(menuRequests);
357
- (0, _classPrivateFieldSet2.default)(this, _navConfig, mergeMenuConfs(menuConfs));
317
+ _classPrivateFieldSet(_navConfig, this, mergeMenuConfs(menuConfs));
358
318
  },
359
319
  catch: (error, returnNode) => {
360
320
  if ((0, _handleHttpError.isUnauthenticatedError)(error) && !window.NO_AUTH_GUARD) {
361
321
  redirectToLogin();
362
322
  return;
363
323
  } else if (error instanceof _http.HttpAbortError) {
364
- (0, _classPrivateFieldGet7.default)(this, _rendererContextTrashCan).add(prevRendererContext);
324
+ _classPrivateFieldGet(_rendererContextTrashCan, this).add(prevRendererContext);
365
325
  return;
366
326
  } else {
367
327
  const noAuthGuardLoginPath = (0, _Runtime.getRuntime)().getMiscSettings().noAuthGuardLoginPath;
@@ -390,11 +350,11 @@ async function _render2(location) {
390
350
  }
391
351
  }
392
352
  };
393
- const rendererContext = (0, _classPrivateFieldSet2.default)(this, _rendererContext, new _RendererContext.RendererContext("page", {
353
+ const rendererContext = _classPrivateFieldSet(_rendererContext, this, new _RendererContext.RendererContext("page", {
394
354
  routeHelper,
395
355
  renderId
396
356
  }));
397
- const runtimeContext = (0, _classPrivateFieldSet2.default)(this, _runtimeContext, {
357
+ const runtimeContext = _classPrivateFieldSet(_runtimeContext, this, {
398
358
  app: currentApp,
399
359
  location,
400
360
  query: new URLSearchParams(location.search),
@@ -411,7 +371,7 @@ async function _render2(location) {
411
371
  tplStateStoreMap: new Map(),
412
372
  formStateStoreMap: new Map()
413
373
  });
414
- (0, _classPrivateFieldSet2.default)(this, _navConfig, undefined);
374
+ _classPrivateFieldSet(_navConfig, this, undefined);
415
375
  (0, _registerCustomTemplates.registerCustomTemplates)(storyboard);
416
376
  (0, _StoryboardFunctions.registerStoryboardFunctions)((_storyboard$meta = storyboard.meta) === null || _storyboard$meta === void 0 ? void 0 : _storyboard$meta.functions, currentApp);
417
377
  _Runtime.hooks === null || _Runtime.hooks === void 0 || (_hooks$flowApi2 = _Runtime.hooks.flowApi) === null || _hooks$flowApi2 === void 0 || _hooks$flowApi2.collectContract((_storyboard$meta2 = storyboard.meta) === null || _storyboard$meta2 === void 0 ? void 0 : _storyboard$meta2.contracts);