@next-bricks/ai 1.16.2 → 1.17.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.
- package/dist/bricks.json +1 -1
- package/dist/chunks/{2159.78a33336.js → 2159.efbfe3f1.js} +2 -2
- package/dist/chunks/{2159.78a33336.js.map → 2159.efbfe3f1.js.map} +1 -1
- package/dist/chunks/3205.db7d6c59.js +3 -0
- package/dist/chunks/3205.db7d6c59.js.map +1 -0
- package/dist/chunks/5425.77169956.js +2 -0
- package/dist/chunks/5425.77169956.js.map +1 -0
- package/dist/chunks/{7041.6b19ff9b.js → 7041.1c3e361e.js} +2 -2
- package/dist/chunks/7041.1c3e361e.js.map +1 -0
- package/dist/chunks/{774.b65640d6.js → 774.f12cf7d3.js} +2 -2
- package/dist/chunks/{774.b65640d6.js.map → 774.f12cf7d3.js.map} +1 -1
- package/dist/chunks/chat-agent.51f2ad39.js +2 -0
- package/dist/chunks/chat-agent.51f2ad39.js.map +1 -0
- package/dist/chunks/main.7344e9c1.js +2 -0
- package/dist/chunks/{main.ba01c37c.js.map → main.7344e9c1.js.map} +1 -1
- package/dist/index.6840b76e.js +2 -0
- package/dist/{index.09ae6f20.js.map → index.6840b76e.js.map} +1 -1
- package/dist/manifest.json +5 -1
- package/dist/types.json +6 -1
- package/dist-types/chat-agent/index.d.ts +7 -5
- package/package.json +2 -2
- package/dist/chunks/1466.674a3c7a.js +0 -3
- package/dist/chunks/1466.674a3c7a.js.map +0 -1
- package/dist/chunks/5425.00e59631.js +0 -2
- package/dist/chunks/5425.00e59631.js.map +0 -1
- package/dist/chunks/7041.6b19ff9b.js.map +0 -1
- package/dist/chunks/chat-agent.732a50fd.js +0 -2
- package/dist/chunks/chat-agent.732a50fd.js.map +0 -1
- package/dist/chunks/main.ba01c37c.js +0 -2
- package/dist/index.09ae6f20.js +0 -2
- /package/dist/chunks/{1466.674a3c7a.js.LICENSE.txt → 3205.db7d6c59.js.LICENSE.txt} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/7041.6b19ff9b.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncIterator.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/getBasePath.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/matchStoryboard.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/historyExtended.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/history.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/getV2RuntimeFromDll.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/Runtime.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/CustomProcessors.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/registerAppI18n.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/compute/WidgetI18n.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/devtools.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/proxyFactories.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/themeAndMode.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/compute/getGeneralGlobals.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/StoryboardFunctionRegistry.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/compute/StoryboardFunctions.js","webpack:///../../node_modules/@ungap/event-target/esm/index.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/mediaQuery.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/compute/getStorageItem.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/isStrictMode.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/CustomTemplates.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/CustomTemplates/utils.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/compute/WidgetFunctions.js","webpack:///../../node_modules/compare-versions/lib/esm/utils.js","webpack:///../../node_modules/compare-versions/lib/esm/compare.js","webpack:///../../node_modules/compare-versions/lib/esm/compareVersions.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/hasInstalledApp.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/FormRenderer/utils.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/data/getProviderBrick.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/compute/markAsComputed.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/data/resolveData.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/compute/evaluate.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/compute/getNextStateOfUseBrick.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/compute/computeRealValue.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/compute/checkIf.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/compute/getTracks.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/compute/computeRealProperties.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/compute/setRealProperties.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/compute/setProperties.js","webpack:///../../node_modules/@next-core/runtime/node_modules/path-to-regexp/dist.es2015/index.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/matchPath.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/matchRoutes.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/CustomTemplates/constants.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/Dialog.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/poll.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/i18n.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/setLoginStateCookie.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/handleHttpError.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/Notification.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/sse.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/bindListeners.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/CustomTemplates/bindTemplateProxy.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/enums.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/mount.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/RendererContext.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/secret_internals.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/data/realTimeDataInspect.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/data/DataStore.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/data/resolveDataStore.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/CustomTemplates/setupTemplateProxy.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/CustomTemplates/setupUseBrickInTemplate.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/CustomTemplates/expandCustomTemplate.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/FormRenderer/constants.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/FormRenderer/expandFormRenderer.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/FormRenderer/getDefaultProperties.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/Renderer.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/getPageInfo.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/abortController.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/setWatermark.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/setupRootRuntimeContext.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/compute/listenOnTrackingContext.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/registerCustomTemplates.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/fulfilStoryboard.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/setUIVersion.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/Router.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/setAppVariable.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/insertPreviewRoutes.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/injected.js","webpack:///../../node_modules/@ctrl/tinycolor/dist/module/util.js","webpack:///../../node_modules/@ctrl/tinycolor/dist/module/conversion.js","webpack:///../../node_modules/@ctrl/tinycolor/dist/module/css-color-names.js","webpack:///../../node_modules/@ctrl/tinycolor/dist/module/format-input.js","webpack:///../../node_modules/@next-core/color-theme/node_modules/@ant-design/colors/dist/index.esm.js","webpack:///../../node_modules/@next-core/color-theme/dist/esm/index.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/internal/customizeColorTheme.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/auth.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/fetchByProvider.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/createRoot.js","webpack:///../../node_modules/@next-core/runtime/dist/esm/getRealValue.js"],"sourcesContent":["export default function _asyncIterator(r) {\n var n,\n t,\n o,\n e = 2;\n for (\"undefined\" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) {\n if (t && null != (n = r[t])) return n.call(r);\n if (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r));\n t = \"@@asyncIterator\", o = \"@@iterator\";\n }\n throw new TypeError(\"Object is not async iterable\");\n}\nfunction AsyncFromSyncIterator(r) {\n function AsyncFromSyncIteratorContinuation(r) {\n if (Object(r) !== r) return Promise.reject(new TypeError(r + \" is not an object.\"));\n var n = r.done;\n return Promise.resolve(r.value).then(function (r) {\n return {\n value: r,\n done: n\n };\n });\n }\n return AsyncFromSyncIterator = function AsyncFromSyncIterator(r) {\n this.s = r, this.n = r.next;\n }, AsyncFromSyncIterator.prototype = {\n s: null,\n n: null,\n next: function next() {\n return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments));\n },\n \"return\": function _return(r) {\n var n = this.s[\"return\"];\n return void 0 === n ? Promise.resolve({\n value: r,\n done: !0\n }) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));\n },\n \"throw\": function _throw(r) {\n var n = this.s[\"return\"];\n return void 0 === n ? Promise.reject(r) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));\n }\n }, new AsyncFromSyncIterator(r);\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","/**\n * Get site's base path, generally will be `/next/` or `/`.\n */\nexport function getBasePath() {\n var base = document.querySelector(\"base\");\n var basePath = base ? base.getAttribute(\"href\") : \"/\";\n return basePath;\n}\n//# sourceMappingURL=getBasePath.js.map","import { orderBy } from \"lodash\";\nimport { getRuntime } from \"./Runtime.js\";\nexport function matchStoryboard(storyboards, pathname) {\n // Put apps with longer homepage before shorter ones.\n // E.g., `/legacy/tool` will match first before `/legacy`.\n // This enables two apps with relationship of parent-child of homepage.\n var sortedStoryboards = orderBy(storyboards, storyboard => {\n var _storyboard$app$homep, _storyboard$app$homep2;\n return (_storyboard$app$homep = (_storyboard$app$homep2 = storyboard.app.homepage) === null || _storyboard$app$homep2 === void 0 ? void 0 : _storyboard$app$homep2.length) !== null && _storyboard$app$homep !== void 0 ? _storyboard$app$homep : 0;\n }, \"desc\");\n for (var storyboard of sortedStoryboards) {\n var homepage = storyboard.app.homepage;\n if (typeof homepage === \"string\" && homepage[0] === \"/\") {\n if (matchHomepage(homepage, pathname)) {\n return storyboard;\n }\n }\n }\n}\nexport function matchHomepage(homepage, pathname) {\n return homepage === \"/\" ? pathname === homepage : \"\".concat(pathname.replace(/\\/+$/, \"\"), \"/\").startsWith(\"\".concat(homepage.replace(/\\/+$/, \"\"), \"/\"));\n}\n\n// istanbul ignore next\n/**\n * We say it's an outside app when at least one of the below conditions are true:\n * - target app is not found.\n * - target app is not the current app.\n * - current app is non-standalone mode and target app is standalone mode.\n *\n * Note: when current app is standalone mode, other apps will not be found.\n */\nexport function isOutsideApp(storyboard) {\n var _getRuntime$getCurren;\n if (process.env.NODE_ENV === \"test\") {\n return false;\n }\n return !storyboard ||\n // Sometimes `storyboard.app.standaloneMode` is incorrect.\n ((_getRuntime$getCurren = getRuntime().getCurrentApp()) === null || _getRuntime$getCurren === void 0 ? void 0 : _getRuntime$getCurren.id) !== storyboard.app.id && !window.STANDALONE_MICRO_APPS && storyboard.app.standaloneMode;\n}\n//# sourceMappingURL=matchStoryboard.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"extraQuery\", \"clear\", \"keepHash\"];\nimport { parsePath } from \"history\";\nimport { getBasePath } from \"../getBasePath.js\";\nimport { _internalApiMatchStoryboard } from \"./Runtime.js\";\nimport { isOutsideApp } from \"./matchStoryboard.js\";\nvar blocked = false;\nexport function getUserConfirmation(message, callback) {\n blocked = !confirm(message);\n callback(!blocked);\n}\nexport function historyExtended(browserHistory) {\n var {\n push: originalPush,\n replace: originalReplace\n } = browserHistory;\n function push(location, state, callback) {\n blocked = false;\n originalPush(location, state);\n callback === null || callback === void 0 || callback(blocked);\n }\n function replace(location, state, callback) {\n blocked = false;\n originalReplace(location, state);\n callback === null || callback === void 0 || callback(blocked);\n }\n function updateQueryFactory(method) {\n return function updateQuery(query) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var callback = arguments.length > 2 ? arguments[2] : undefined;\n var {\n extraQuery,\n clear,\n keepHash\n } = options,\n state = _objectWithoutProperties(options, _excluded);\n var urlSearchParams = new URLSearchParams(clear ? \"\" : browserHistory.location.search);\n var params = {};\n Object.assign(params, query, extraQuery);\n for (var [key, value] of Object.entries(params)) {\n if (Array.isArray(value)) {\n urlSearchParams.delete(key);\n for (var item of value) {\n urlSearchParams.append(key, item);\n }\n } else if (value === undefined || value === null || value === \"\") {\n urlSearchParams.delete(key);\n } else {\n urlSearchParams.set(key, value);\n }\n }\n (method === \"push\" ? push : replace)(\"?\".concat(urlSearchParams.toString()).concat(keepHash ? browserHistory.location.hash : \"\"), state, callback);\n };\n }\n function pushAnchor(hash, state, callback) {\n push(_objectSpread(_objectSpread({}, browserHistory.location), {}, {\n key: undefined,\n hash,\n state: _objectSpread({\n // The default notify is false\n notify: false\n }, state)\n }), undefined, callback);\n }\n function reload(callback) {\n replace(_objectSpread(_objectSpread({}, browserHistory.location), {}, {\n state: _objectSpread(_objectSpread({}, browserHistory.location.state), {}, {\n // Always notify\n notify: true,\n // Do not use incremental sub routes\n noIncremental: true\n })\n }), undefined, callback);\n }\n var blockMessage;\n function setBlockMessage(message) {\n blockMessage = message;\n }\n function getBlockMessage() {\n return blockMessage;\n }\n function unblock() {\n blockMessage = undefined;\n }\n return _objectSpread({\n pushQuery: updateQueryFactory(\"push\"),\n replaceQuery: updateQueryFactory(\"replace\"),\n pushAnchor: pushAnchor,\n reload,\n setBlockMessage,\n getBlockMessage,\n unblock\n }, historyOverridden(_objectSpread(_objectSpread({}, browserHistory), {}, {\n push,\n replace\n })));\n}\n\n/**\n * Override history for standalone micro apps.\n *\n * when `push` or `replace` to other apps, force page refresh.\n */\nfunction historyOverridden(browserHistory) {\n var {\n push: originalPush,\n replace: originalReplace\n } = browserHistory;\n function updateFactory(method) {\n return function update(path, state, callback) {\n var pathname;\n var pathIsString = typeof path === \"string\";\n if (pathIsString) {\n pathname = parsePath(path).pathname;\n } else {\n pathname = path.pathname;\n }\n\n // When history.push or history.replace is performing with an absolute pathname,\n // force load the target page when it is a page of an outside app.\n if (typeof pathname === \"string\" && pathname.startsWith(\"/\") && isOutsideApp(_internalApiMatchStoryboard(pathname))) {\n // Going to outside apps.\n return location[method === \"push\" ? \"assign\" : \"replace\"](pathIsString ? getBasePath() + path.substring(1) : browserHistory.createHref(path));\n }\n return (method === \"push\" ? originalPush : originalReplace)(path, state, callback);\n };\n }\n return {\n push: updateFactory(\"push\"),\n replace: updateFactory(\"replace\")\n };\n}\n\n/**\n * 扩展的系统会话对象。\n */\n\n/**\n * 更新指定的 query 参数。\n *\n * @param query - 要更新的 query 参数。\n * @param options - 选项。\n */\n\n/** 更新 query 参数时的选项 */\n\n/**\n * 设置指定的 anchor (URL hash)地址,此方法默认不会触发页面重新渲染。\n * 往浏览器会话历史栈中推入一条新记录。\n *\n * @param hash - Hash 地址。\n * @param state - 会话状态设置。\n */\n//# sourceMappingURL=historyExtended.js.map","import { createBrowserHistory } from \"history\";\nimport { getBasePath } from \"./getBasePath.js\";\nimport { getUserConfirmation, historyExtended } from \"./internal/historyExtended.js\";\nimport { getV2RuntimeFromDll } from \"./getV2RuntimeFromDll.js\";\nvar history;\nexport function createHistory() {\n if (!history) {\n // https://github.com/remix-run/history/issues/810\n var browserHistory = createBrowserHistory({\n basename: getBasePath().replace(/\\/$/, \"\"),\n getUserConfirmation\n });\n Object.assign(browserHistory, historyExtended(browserHistory));\n history = browserHistory;\n }\n return history;\n}\nfunction getHistoryV3() {\n return history;\n}\n\n/**\n * When using v3 bricks in v2 container, return history from v2 container.\n */\nfunction getHistoryV2Factory() {\n var v2Kit = getV2RuntimeFromDll();\n if (v2Kit) {\n return v2Kit.getHistory;\n }\n}\nexport var getHistory = getHistoryV2Factory() || getHistoryV3;\n//# sourceMappingURL=history.js.map","export function getV2RuntimeFromDll() {\n var _window$BRICK_NEXT_VE;\n var {\n dll\n } = window;\n if (dll && (_window$BRICK_NEXT_VE = window.BRICK_NEXT_VERSIONS) !== null && _window$BRICK_NEXT_VE !== void 0 && (_window$BRICK_NEXT_VE = _window$BRICK_NEXT_VE[\"brick-container\"]) !== null && _window$BRICK_NEXT_VE !== void 0 && _window$BRICK_NEXT_VE.startsWith(\"2.\")) {\n return dll(\"tYg3\");\n }\n}\n//# sourceMappingURL=getV2RuntimeFromDll.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classPrivateMethodInitSpec from \"@babel/runtime/helpers/classPrivateMethodInitSpec\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classPrivateFieldInitSpec from \"@babel/runtime/helpers/classPrivateFieldInitSpec\";\nimport _assertClassBrand from \"@babel/runtime/helpers/assertClassBrand\";\nimport _classPrivateFieldSet from \"@babel/runtime/helpers/classPrivateFieldSet2\";\nimport _classPrivateFieldGet from \"@babel/runtime/helpers/classPrivateFieldGet2\";\nimport { i18n, initializeI18n } from \"@next-core/i18n\";\nimport { loadBricksImperatively } from \"@next-core/loader\";\nimport { deepFreeze, isObject } from \"@next-core/utils/general\";\nimport moment from \"moment\";\nimport \"moment/locale/zh-cn.js\";\nimport { createHistory } from \"../history.js\";\nimport { matchStoryboard } from \"./matchStoryboard.js\";\nimport { Router } from \"./Router.js\";\nimport { NS, locales } from \"./i18n.js\";\nimport { loadNotificationService } from \"../Notification.js\";\nimport { loadDialogService } from \"../Dialog.js\";\nimport { injectedBrickPackages } from \"./injected.js\";\nimport { hasInstalledApp } from \"./hasInstalledApp.js\";\nimport { listenDevtoolsEagerly } from \"./devtools.js\";\nimport { getV2RuntimeFromDll } from \"../getV2RuntimeFromDll.js\";\nimport { customizeColorTheme } from \"./customizeColorTheme.js\";\nvar runtime;\n\n// Allow inject bootstrap data in a runtime other than Brick Next.\nvar bootstrapData;\nvar router;\nexport var hooks;\nexport function createRuntime(options) {\n if (runtime) {\n throw new Error(\"Cannot create multiple runtimes\");\n }\n listenDevtoolsEagerly();\n hooks = options === null || options === void 0 ? void 0 : options.hooks;\n initializeI18n(NS, locales);\n moment.locale(i18n.language);\n i18n.on(\"languageChanged\", () => {\n moment.locale(i18n.language);\n });\n createHistory();\n runtime = new Runtime();\n return runtime;\n}\nfunction getRuntimeV3() {\n return runtime;\n}\n\n// istanbul ignore next\nfunction getRuntimeV2Factory() {\n var v2Kit = getV2RuntimeFromDll();\n if (v2Kit) {\n return function getRuntimeV2() {\n return new Proxy(v2Kit.getRuntime(), {\n get() {\n var key = arguments.length <= 1 ? undefined : arguments[1];\n switch (key) {\n case \"getCurrentApp\":\n case \"getRecentApps\":\n case \"hasInstalledApp\":\n case \"getDesktops\":\n case \"getLaunchpadSettings\":\n case \"getLaunchpadSiteMap\":\n case \"toggleLaunchpadEffect\":\n case \"applyPageTitle\":\n case \"getNavConfig\":\n case \"getFeatureFlags\":\n case \"getMiscSettings\":\n case \"getBrandSettings\":\n return Reflect.get(...arguments);\n }\n }\n });\n };\n }\n}\n\n// istanbul ignore next\nexport var getRuntime = getRuntimeV2Factory() || getRuntimeV3;\nvar _initialized = /*#__PURE__*/new WeakMap();\nvar _bootstrapped = /*#__PURE__*/new WeakMap();\nvar _Runtime_brand = /*#__PURE__*/new WeakSet();\nexport class Runtime {\n constructor() {\n _classPrivateMethodInitSpec(this, _Runtime_brand);\n _classPrivateFieldInitSpec(this, _initialized, false);\n _classPrivateFieldInitSpec(this, _bootstrapped, false);\n _defineProperty(this, \"version\", 3);\n }\n initialize(data) {\n var _data$settings;\n if (_classPrivateFieldGet(_initialized, this)) {\n throw new Error(\"The runtime cannot be initialized more than once\");\n }\n _classPrivateFieldSet(_initialized, this, true);\n normalizeBootstrapData(data);\n bootstrapData = data;\n var {\n notification,\n dialog\n } = _assertClassBrand(_Runtime_brand, this, _getPresetBricks).call(this);\n if (notification !== false) {\n loadNotificationService(notification !== null && notification !== void 0 ? notification : \"basic.show-notification\", this.loadBricks);\n }\n if (dialog !== false) {\n loadDialogService(dialog !== null && dialog !== void 0 ? dialog : \"basic.show-dialog\", this.loadBricks);\n }\n customizeColorTheme((_data$settings = data.settings) === null || _data$settings === void 0 || (_data$settings = _data$settings.misc) === null || _data$settings === void 0 ? void 0 : _data$settings.theme);\n }\n bootstrap(data) {\n var _this = this;\n return _asyncToGenerator(function* () {\n if (data) {\n _this.initialize(data);\n }\n if (_classPrivateFieldGet(_bootstrapped, _this)) {\n throw new Error(\"The runtime cannot be bootstrapped more than once\");\n }\n _classPrivateFieldSet(_bootstrapped, _this, true);\n router = new Router(bootstrapData.storyboards);\n yield router.bootstrap();\n })();\n }\n getRecentApps() {\n var _router$getRecentApps, _router;\n return (_router$getRecentApps = (_router = router) === null || _router === void 0 ? void 0 : _router.getRecentApps()) !== null && _router$getRecentApps !== void 0 ? _router$getRecentApps : {};\n }\n getCurrentApp() {\n var _router2;\n return (_router2 = router) === null || _router2 === void 0 ? void 0 : _router2.getRecentApps().currentApp;\n }\n hasInstalledApp(appId, matchVersion) {\n return hasInstalledApp(appId, matchVersion);\n }\n getFeatureFlags() {\n var _bootstrapData, _router3;\n return _objectSpread(_objectSpread(_objectSpread({}, (_bootstrapData = bootstrapData) === null || _bootstrapData === void 0 || (_bootstrapData = _bootstrapData.settings) === null || _bootstrapData === void 0 ? void 0 : _bootstrapData.featureFlags), (_router3 = router) === null || _router3 === void 0 || (_router3 = _router3.getRecentApps().currentApp) === null || _router3 === void 0 || (_router3 = _router3.config) === null || _router3 === void 0 || (_router3 = _router3.settings) === null || _router3 === void 0 ? void 0 : _router3.featureFlags), {}, {\n \"migrate-to-brick-next-v3\": true\n });\n }\n getMiscSettings() {\n var _bootstrapData2, _router4;\n return _objectSpread(_objectSpread({}, (_bootstrapData2 = bootstrapData) === null || _bootstrapData2 === void 0 || (_bootstrapData2 = _bootstrapData2.settings) === null || _bootstrapData2 === void 0 ? void 0 : _bootstrapData2.misc), (_router4 = router) === null || _router4 === void 0 || (_router4 = _router4.getRecentApps().currentApp) === null || _router4 === void 0 || (_router4 = _router4.config) === null || _router4 === void 0 || (_router4 = _router4.settings) === null || _router4 === void 0 ? void 0 : _router4.misc);\n }\n getBrandSettings() {\n var _bootstrapData3;\n return _objectSpread({\n base_title: \"DevOps 管理专家\"\n }, (_bootstrapData3 = bootstrapData) === null || _bootstrapData3 === void 0 || (_bootstrapData3 = _bootstrapData3.settings) === null || _bootstrapData3 === void 0 ? void 0 : _bootstrapData3.brand);\n }\n getLaunchpadSettings() {\n var _bootstrapData4;\n return _objectSpread({\n columns: 7,\n rows: 4\n }, (_bootstrapData4 = bootstrapData) === null || _bootstrapData4 === void 0 || (_bootstrapData4 = _bootstrapData4.settings) === null || _bootstrapData4 === void 0 ? void 0 : _bootstrapData4.launchpad);\n }\n getDesktops() {\n var _bootstrapData$deskto, _bootstrapData5;\n return (_bootstrapData$deskto = (_bootstrapData5 = bootstrapData) === null || _bootstrapData5 === void 0 ? void 0 : _bootstrapData5.desktops) !== null && _bootstrapData$deskto !== void 0 ? _bootstrapData$deskto : [];\n }\n getLaunchpadSiteMap() {\n var _bootstrapData$siteSo, _bootstrapData6;\n return (_bootstrapData$siteSo = (_bootstrapData6 = bootstrapData) === null || _bootstrapData6 === void 0 ? void 0 : _bootstrapData6.siteSort) !== null && _bootstrapData$siteSo !== void 0 ? _bootstrapData$siteSo : [];\n }\n toggleLaunchpadEffect(open) {\n document.body.classList.toggle(\"launchpad-open\", open);\n }\n applyPageTitle(pageTitle) {\n var baseTitle = this.getBrandSettings().base_title;\n document.title = pageTitle ? \"\".concat(pageTitle, \" - \").concat(baseTitle) : baseTitle;\n }\n getNavConfig() {\n var _router5;\n return (_router5 = router) === null || _router5 === void 0 ? void 0 : _router5.getNavConfig();\n }\n loadBricks(bricks) {\n return loadBricksImperatively(bricks, getBrickPackages());\n }\n}\nfunction _getPresetBricks() {\n var _bootstrapData$settin, _bootstrapData10;\n return (_bootstrapData$settin = (_bootstrapData10 = bootstrapData) === null || _bootstrapData10 === void 0 || (_bootstrapData10 = _bootstrapData10.settings) === null || _bootstrapData10 === void 0 ? void 0 : _bootstrapData10.presetBricks) !== null && _bootstrapData$settin !== void 0 ? _bootstrapData$settin : {};\n}\nfunction normalizeBootstrapData(data) {\n if (isObject(data.settings)) {\n deepFreeze(data.settings);\n }\n if (data.brickPackages) {\n deepFreeze(data.brickPackages);\n }\n}\nfunction processPublicDepsPackages(brickPackages, pubDeps) {\n if (!(pubDeps !== null && pubDeps !== void 0 && pubDeps.length)) return brickPackages;\n var bricksMap = new Map();\n\n // bootstrapData 数据和 pubDeps 中可能同时存在同一个包名,需要过滤去重, 以 pubDeps 中的包为准\n [...brickPackages, ...pubDeps].forEach(pkg => {\n var pkgName = pkg.filePath.split(\"/\")[1];\n bricksMap.set(pkgName, pkg);\n });\n return Array.from(bricksMap.values());\n}\nexport function getBrickPackages() {\n var _ref, _ref2, _processPublicDepsPac, _bootstrapData7;\n return (_ref = (_ref2 = (_processPublicDepsPac = processPublicDepsPackages((_bootstrapData7 = bootstrapData) === null || _bootstrapData7 === void 0 ? void 0 : _bootstrapData7.brickPackages, window.PUBLIC_DEPS)) !== null && _processPublicDepsPac !== void 0 ? _processPublicDepsPac : injectedBrickPackages) !== null && _ref2 !== void 0 ? _ref2 : window.STANDALONE_BRICK_PACKAGES) !== null && _ref !== void 0 ? _ref : [];\n}\nexport function _internalApiGetRenderId() {\n var _router6;\n return (_router6 = router) === null || _router6 === void 0 ? void 0 : _router6.getRenderId();\n}\nexport function _internalApiMatchStoryboard(pathname) {\n var _bootstrapData$storyb, _bootstrapData8;\n return matchStoryboard((_bootstrapData$storyb = (_bootstrapData8 = bootstrapData) === null || _bootstrapData8 === void 0 ? void 0 : _bootstrapData8.storyboards) !== null && _bootstrapData$storyb !== void 0 ? _bootstrapData$storyb : [], pathname);\n}\nexport function _internalApiGetRuntimeContext() {\n var _router7;\n return (_router7 = router) === null || _router7 === void 0 ? void 0 : _router7.getRuntimeContext();\n}\nexport function _internalApiGetStoryboardInBootstrapData(appId) {\n var _bootstrapData9;\n return (_bootstrapData9 = bootstrapData) === null || _bootstrapData9 === void 0 || (_bootstrapData9 = _bootstrapData9.storyboards) === null || _bootstrapData9 === void 0 ? void 0 : _bootstrapData9.find(storyboard => storyboard.app.id === appId);\n}\nexport function _internalApiGetAppInBootstrapData(appId) {\n var _internalApiGetStoryb;\n return (_internalApiGetStoryb = _internalApiGetStoryboardInBootstrapData(appId)) === null || _internalApiGetStoryb === void 0 ? void 0 : _internalApiGetStoryb.app;\n}\nexport var _test_only_setBootstrapData;\n\n// istanbul ignore next\nif (process.env.NODE_ENV === \"test\") {\n _test_only_setBootstrapData = data => {\n bootstrapData = data;\n };\n}\n//# sourceMappingURL=Runtime.js.map","import _classPrivateFieldInitSpec from \"@babel/runtime/helpers/classPrivateFieldInitSpec\";\nimport _classPrivateFieldGet from \"@babel/runtime/helpers/classPrivateFieldGet2\";\nimport { getV2RuntimeFromDll } from \"./getV2RuntimeFromDll.js\";\nvar _registry = /*#__PURE__*/new WeakMap();\nclass CustomProcessorRegistry {\n constructor() {\n _classPrivateFieldInitSpec(this, _registry, new Map());\n }\n define(processorFullName, processorFunc) {\n // `namespace` should be the camelCase of the package name.\n var [namespace, processorName] = processorFullName.split(\".\");\n var pkg = _classPrivateFieldGet(_registry, this).get(namespace);\n if (!pkg) {\n pkg = new Map();\n _classPrivateFieldGet(_registry, this).set(namespace, pkg);\n }\n if (pkg.has(processorName)) {\n // eslint-disable-next-line no-console\n throw new Error(\"Custom processor of \\\"\".concat(processorFullName, \"\\\" already registered\"));\n }\n pkg.set(processorName, processorFunc);\n }\n get(namespace) {\n return _classPrivateFieldGet(_registry, this).get(namespace);\n }\n}\n\n// istanbul ignore next\nfunction getCustomProcessorsV2() {\n var v2Kit = getV2RuntimeFromDll();\n if (v2Kit) {\n return Object.freeze({\n define(processorFullName, processorFunc) {\n return v2Kit.getRuntime().registerCustomProcessor(processorFullName, processorFunc);\n }\n });\n }\n}\n\n// istanbul ignore next\nexport var customProcessors = getCustomProcessorsV2() || new CustomProcessorRegistry();\n//# sourceMappingURL=CustomProcessors.js.map","import { i18n } from \"@next-core/i18n\";\nexport function registerAppI18n(_ref) {\n var {\n app,\n meta\n } = _ref;\n if (meta !== null && meta !== void 0 && meta.i18n) {\n // Prefix to avoid conflict between brick package's i18n namespace.\n var i18nNamespace = getI18nNamespace(\"app\", app.id);\n // Support any language in `meta.i18n`.\n var languages = [];\n Object.entries(meta.i18n).forEach(_ref2 => {\n var [lang, resources] = _ref2;\n i18n.addResourceBundle(lang, i18nNamespace, resources);\n languages.push(lang);\n });\n return () => {\n for (var lang of languages) {\n i18n.removeResourceBundle(lang, i18nNamespace);\n }\n };\n }\n}\nexport function getI18nNamespace(type, id) {\n return \"\".concat(type, \"/\").concat(id);\n}\n//# sourceMappingURL=registerAppI18n.js.map","import { i18n } from \"@next-core/i18n\";\nimport { getI18nNamespace } from \"../registerAppI18n.js\";\nimport { getV2RuntimeFromDll } from \"../../getV2RuntimeFromDll.js\";\nfunction registerWidgetI18nV3(widgetId, i18nData) {\n var ns = getI18nNamespace(\"widget\", widgetId);\n Object.entries(i18nData).forEach(_ref => {\n var [lang, resources] = _ref;\n i18n.addResourceBundle(lang, ns, resources);\n });\n}\nexport function widgetI18nFactory(widgetId) {\n return i18n.getFixedT(null, getI18nNamespace(\"widget\", widgetId));\n}\n\n// istanbul ignore next\nfunction registerWidgetI18nV2Factory() {\n var v2Kit = getV2RuntimeFromDll();\n if (v2Kit) {\n return function (widgetId, i18nData) {\n return v2Kit.getRuntime().registerWidgetI18n(widgetId, i18nData);\n };\n }\n}\n\n// istanbul ignore next\nexport var registerWidgetI18n = registerWidgetI18nV2Factory() || registerWidgetI18nV3;\n//# sourceMappingURL=WidgetI18n.js.map","export var MESSAGE_SOURCE_PANEL = \"brick-next-devtools-panel\";\nexport var FRAME_ACTIVE_CHANGE = \"devtools-frame-active-change\";\nexport var PANEL_CHANGE = \"devtools-panel-change\";\nvar frameIsActive = true;\nvar selectedPanel;\nexport function devtoolsHookEmit(type, payload) {\n var devtools = getDevHook();\n if (!devtools || type === \"evaluation\" && !(frameIsActive && (!selectedPanel || selectedPanel === \"Evaluations\"))) {\n // Ignore messages if current devtools panel is not relevant.\n return;\n }\n var emit = () => {\n var _devtools$emit;\n (_devtools$emit = devtools.emit) === null || _devtools$emit === void 0 || _devtools$emit.call(devtools, {\n type,\n payload\n });\n };\n\n // Try to emit only in idle time.\n // istanbul ignore next\n if (typeof window.requestIdleCallback === \"function\") {\n window.requestIdleCallback(emit);\n } else {\n setTimeout(emit, 0);\n }\n}\nexport function listenDevtoolsEagerly() {\n window.addEventListener(\"message\", _ref => {\n var {\n data\n } = _ref;\n if ((data === null || data === void 0 ? void 0 : data.source) !== MESSAGE_SOURCE_PANEL) {\n return;\n }\n var payload = data.payload;\n switch (payload === null || payload === void 0 ? void 0 : payload.type) {\n case FRAME_ACTIVE_CHANGE:\n {\n frameIsActive = payload.active;\n break;\n }\n case PANEL_CHANGE:\n {\n selectedPanel = payload.panel;\n break;\n }\n }\n });\n}\nexport function getDevHook() {\n return window.__BRICK_NEXT_DEVTOOLS_HOOK__;\n}\n//# sourceMappingURL=devtools.js.map","import { getDevHook } from \"./devtools.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nvar THROW = () => {\n throw new Error(\"Can't modify read-only proxy object\");\n};\nvar readOnlyHandler = {\n set: THROW,\n defineProperty: THROW,\n deleteProperty: THROW,\n setPrototypeOf: THROW\n};\nexport function getReadOnlyProxy(object) {\n return new Proxy(object, readOnlyHandler);\n}\n\n// First, we want to make accessing property of globals lazy,\n// So we use *Proxy* to make a dynamic accessor for each of these globals.\n// But we also want to keep them working in devtools.\nexport function getDynamicReadOnlyProxy(_ref) {\n var {\n get,\n ownKeys\n } = _ref;\n if (getDevHook()) {\n // In devtools, we extract them at beginning.\n var target = Object.fromEntries(ownKeys(null).map(key => [key, get(null, key, null)]));\n return getReadOnlyProxy(target);\n }\n return new Proxy(Object.freeze({}), {\n get\n });\n}\n//# sourceMappingURL=proxyFactories.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { JsonStorage } from \"@next-core/utils/general\";\n// Themes.\nvar theme = \"light\";\nvar storage = new JsonStorage(localStorage);\nvar LOCAL_STORAGE_APPS_THEME_KEY = \"apps-theme\";\nexport function setTheme(value) {\n if (value !== \"dark\" && value !== \"light\" && value !== \"dark-v2\") {\n throw new Error(\"Unsupported theme: \".concat(value));\n }\n theme = value;\n}\nexport function getTheme() {\n return theme;\n}\nexport function getCurrentTheme() {\n return document.documentElement.dataset.theme;\n}\nexport function applyTheme(value) {\n if (value) {\n setTheme(value);\n } else {\n value = getTheme();\n }\n if (value !== getCurrentTheme()) {\n document.documentElement.dataset.theme = value;\n window.dispatchEvent(new CustomEvent(\"theme.change\", {\n detail: value\n }));\n }\n}\nexport function batchSetAppsLocalTheme(appsTheme) {\n storage.setItem(LOCAL_STORAGE_APPS_THEME_KEY, _objectSpread(_objectSpread({}, getLocalAppsTheme()), appsTheme));\n}\nexport function getLocalAppsTheme() {\n var _result;\n var result;\n try {\n result = storage.getItem(LOCAL_STORAGE_APPS_THEME_KEY);\n } catch (_unused) {\n // eslint-disable-next-line no-console\n console.error(\"JSON parse error inside `getLocalAppsTheme()`\");\n }\n return (_result = result) !== null && _result !== void 0 ? _result : {};\n}\n\n// Modes.\nvar mode = \"default\";\nexport function setMode(value) {\n if (value !== \"dashboard\" && value !== \"default\") {\n throw new Error(\"Unsupported mode: \".concat(value));\n }\n mode = value;\n}\nexport function getMode() {\n return mode;\n}\nexport function getCurrentMode() {\n return document.documentElement.dataset.mode;\n}\nexport function applyMode(value) {\n if (value) {\n setMode(value);\n } else {\n value = getMode();\n }\n if (value !== getCurrentMode()) {\n document.documentElement.dataset.mode = value;\n window.dispatchEvent(new CustomEvent(\"mode.change\", {\n detail: value\n }));\n }\n}\nexport function getCssPropertyValue(name) {\n var _window$getComputedSt;\n var el = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.documentElement;\n if (!el) return \"\";\n return ((_window$getComputedSt = window.getComputedStyle(el)) === null || _window$getComputedSt === void 0 ? void 0 : _window$getComputedSt.getPropertyValue(name)) || \"\";\n}\n//# sourceMappingURL=themeAndMode.js.map","import { identity } from \"lodash\";\nimport { i18n, i18nText } from \"@next-core/i18n\";\nimport { widgetI18nFactory } from \"./WidgetI18n.js\";\nimport { getReadOnlyProxy } from \"../proxyFactories.js\";\nimport { getTheme } from \"../../themeAndMode.js\";\nimport { getBasePath } from \"../../getBasePath.js\";\nimport { getI18nNamespace } from \"../registerAppI18n.js\";\nimport { hooks } from \"../Runtime.js\";\n// `GeneralGlobals` are globals which are page-state-agnostic,\n// thus they can be used both in storyboard expressions and functions.\nexport function getGeneralGlobals(attemptToVisitGlobals, options) {\n var globalVariables = {};\n for (var variableName of attemptToVisitGlobals) {\n var variable = getIndividualGlobal(variableName, options);\n if (variable !== undefined) {\n globalVariables[variableName] = variable;\n }\n }\n return globalVariables;\n}\nfunction getIndividualGlobal(variableName, _ref) {\n var _hooks$images, _hooks$images2, _hooks$checkPermissio;\n var {\n collectCoverage,\n widgetId,\n widgetVersion,\n app,\n appendI18nNamespace,\n storyboardFunctions,\n isStoryboardFunction\n } = _ref;\n switch (variableName) {\n case \"BASE_URL\":\n return collectCoverage ? \"/next\" : getBasePath().replace(/\\/$/, \"\");\n case \"FN\":\n return storyboardFunctions;\n case \"IMG\":\n return collectCoverage ? fakeImageFactory() : widgetId ? hooks === null || hooks === void 0 || (_hooks$images = hooks.images) === null || _hooks$images === void 0 ? void 0 : _hooks$images.widgetImagesFactory(widgetId, widgetVersion) : hooks === null || hooks === void 0 || (_hooks$images2 = hooks.images) === null || _hooks$images2 === void 0 ? void 0 : _hooks$images2.imagesFactory(app.id, app.isBuildPush, app.currentVersion);\n case \"I18N\":\n return collectCoverage ? identity : widgetId ? widgetI18nFactory(widgetId) : i18n.getFixedT(null, [appendI18nNamespace, getI18nNamespace(\"app\", app.id)].filter(Boolean));\n case \"I18N_TEXT\":\n return collectCoverage ? fakeI18nText : i18nText;\n case \"PERMISSIONS\":\n return getReadOnlyProxy({\n check: collectCoverage ? fakeCheckPermissions : hooks === null || hooks === void 0 || (_hooks$checkPermissio = hooks.checkPermissions) === null || _hooks$checkPermissio === void 0 ? void 0 : _hooks$checkPermissio.checkPermissions\n });\n case \"THEME\":\n return getReadOnlyProxy({\n getTheme: collectCoverage ? () => \"light\" : getTheme\n // getCssPropertyValue: collectCoverage ? () => \"\" : getCssPropertyValue,\n });\n case \"console\":\n return isStoryboardFunction ? getReadOnlyProxy(console) : undefined;\n case \"location\":\n return collectCoverage ? {\n href: \"http://localhost:3000/functions/test\",\n origin: \"http://localhost:3000\",\n host: \"localhost:3000\",\n hostname: \"localhost\"\n } : {\n href: location.href,\n origin: location.origin,\n host: location.host,\n hostname: location.hostname\n };\n }\n}\nfunction fakeI18nText(data) {\n return data === null || data === void 0 ? void 0 : data.en;\n}\nfunction fakeImageFactory() {\n return {\n get(name) {\n return \"mock/images/\".concat(name);\n }\n };\n}\nfunction fakeCheckPermissions() {\n return true;\n}\n//# sourceMappingURL=getGeneralGlobals.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { cook, precookFunction } from \"@next-core/cook\";\nimport { supply } from \"@next-core/supply\";\nimport { collectMemberUsageInFunction } from \"@next-core/utils/storyboard\";\nimport { getGeneralGlobals } from \"./internal/compute/getGeneralGlobals.js\";\n\n/** @internal */\n\n/** @internal */\n\n/** @internal */\n\n/** @internal */\n\n/** @internal */\n\n/** @internal */\n\n/** @internal */\n\n/** @internal */\nexport function StoryboardFunctionRegistryFactory() {\n var {\n widgetId,\n widgetVersion,\n collectCoverage\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var registeredFunctions = new Map();\n\n // Use `Proxy` with a frozen target, to make a readonly function registry.\n var storyboardFunctions = new Proxy(Object.freeze({}), {\n get(target, key) {\n return getStoryboardFunction(key);\n }\n });\n var currentApp;\n function registerStoryboardFunctions(functions, app) {\n if (app) {\n currentApp = app;\n }\n registeredFunctions.clear();\n if (Array.isArray(functions)) {\n for (var fn of functions) {\n var deps = collectMemberUsageInFunction(fn, \"FN\", !!collectCoverage);\n var hasPermissionsCheck = collectMemberUsageInFunction(fn, \"PERMISSIONS\", !!collectCoverage).has(\"check\");\n registeredFunctions.set(fn.name, {\n source: fn.source,\n typescript: fn.typescript,\n deps,\n hasPermissionsCheck\n });\n }\n }\n }\n function getStoryboardFunction(name) {\n var fn = registeredFunctions.get(name);\n if (!fn) {\n return undefined;\n }\n if (fn.processed) {\n return fn.cooked;\n }\n var collector;\n if (collectCoverage) {\n collector = collectCoverage.createCollector(name);\n }\n var precooked = precookFunction(fn.source, {\n typescript: fn.typescript,\n hooks: collector && {\n beforeVisit: collector.beforeVisit\n }\n });\n fn.cooked = cook(precooked.function, fn.source, {\n rules: {\n noVar: true\n },\n globalVariables: supply(precooked.attemptToVisitGlobals, getGeneralGlobals(precooked.attemptToVisitGlobals, {\n collectCoverage,\n widgetId,\n widgetVersion,\n app: currentApp,\n storyboardFunctions,\n isStoryboardFunction: true\n }), !!collectCoverage),\n hooks: collector && {\n beforeEvaluate: collector.beforeEvaluate,\n beforeCall: collector.beforeCall,\n beforeBranch: collector.beforeBranch\n }\n });\n fn.processed = true;\n return fn.cooked;\n }\n return {\n storyboardFunctions,\n registerStoryboardFunctions,\n updateStoryboardFunction(name, data) {\n var newFn = _objectSpread(_objectSpread({}, data), {}, {\n name\n });\n var deps = collectMemberUsageInFunction(newFn, \"FN\", true);\n var hasPermissionsCheck = collectMemberUsageInFunction(newFn, \"PERMISSIONS\", true).has(\"check\");\n registeredFunctions.set(name, {\n source: data.source,\n typescript: data.typescript,\n deps,\n hasPermissionsCheck\n });\n },\n /**\n * Check whether listed functions attempt to call `PERMISSIONS.check()`,\n * includes in nested `FN.*()` calls.\n */\n checkPermissionsUsage(functionNames) {\n var checkedFunctions = new Set();\n var hasPermissionsCheck = name => {\n if (!checkedFunctions.has(name)) {\n checkedFunctions.add(name);\n var fn = registeredFunctions.get(name);\n return !!fn && (fn.hasPermissionsCheck || [...fn.deps].some(hasPermissionsCheck));\n }\n return false;\n };\n return functionNames.some(hasPermissionsCheck);\n }\n };\n}\n//# sourceMappingURL=StoryboardFunctionRegistry.js.map","import { StoryboardFunctionRegistryFactory } from \"../../StoryboardFunctionRegistry.js\";\nexport var {\n storyboardFunctions,\n registerStoryboardFunctions,\n checkPermissionsUsage\n} = StoryboardFunctionRegistryFactory();\n//# sourceMappingURL=StoryboardFunctions.js.map","/*! (c) Andrea Giammarchi - ISC */\nvar self = {};\ntry {\n self.EventTarget = (new EventTarget).constructor;\n} catch(EventTarget) {\n (function (Object, wm) {\n var create = Object.create;\n var defineProperty = Object.defineProperty;\n var proto = EventTarget.prototype;\n define(proto, 'addEventListener', function (type, listener, options) {\n for (var\n secret = wm.get(this),\n listeners = secret[type] || (secret[type] = []),\n i = 0, length = listeners.length; i < length; i++\n ) {\n if (listeners[i].listener === listener)\n return;\n }\n listeners.push({target: this, listener: listener, options: options});\n });\n define(proto, 'dispatchEvent', function (event) {\n var secret = wm.get(this);\n var listeners = secret[event.type];\n if (listeners) {\n define(event, 'target', this);\n define(event, 'currentTarget', this);\n listeners.slice(0).some(dispatch, event);\n delete event.currentTarget;\n delete event.target;\n }\n return true;\n });\n define(proto, 'removeEventListener', function (type, listener) {\n for (var\n secret = wm.get(this),\n /* istanbul ignore next */\n listeners = secret[type] || (secret[type] = []),\n i = 0, length = listeners.length; i < length; i++\n ) {\n if (listeners[i].listener === listener) {\n listeners.splice(i, 1);\n return;\n }\n }\n });\n self.EventTarget = EventTarget;\n function EventTarget() {'use strict';\n wm.set(this, create(null));\n }\n function define(target, name, value) {\n defineProperty(\n target,\n name,\n {\n configurable: true,\n writable: true,\n value: value\n }\n );\n }\n function dispatch(info) {\n var options = info.options;\n if (options && options.once)\n info.target.removeEventListener(this.type, info.listener);\n if (typeof info.listener === 'function')\n info.listener.call(info.target, this);\n else\n info.listener.handleEvent(this);\n return this._stopImmediatePropagationFlag;\n }\n }(Object, new WeakMap));\n}\nexport default self.EventTarget;\n","import EventTarget from \"@ungap/event-target\";\nexport var MediaBreakpoint = /*#__PURE__*/function (MediaBreakpoint) {\n MediaBreakpoint[\"xLarge\"] = \"xLarge\";\n MediaBreakpoint[\"large\"] = \"large\";\n MediaBreakpoint[\"medium\"] = \"medium\";\n MediaBreakpoint[\"small\"] = \"small\";\n MediaBreakpoint[\"xSmall\"] = \"xSmall\";\n return MediaBreakpoint;\n}({});\nexport var mediaBreakpointMinWidthMap = new Map([[MediaBreakpoint.xLarge, \"1920px\"], [MediaBreakpoint.large, \"1600px\"], [MediaBreakpoint.medium, \"1280px\"], [MediaBreakpoint.small, \"1024px\"], [MediaBreakpoint.xSmall, 0]]);\nexport var mediaEventTarget = new EventTarget();\nvar breakpointMatchesMap = {};\nvar MEDIA = {};\nfunction handleMatchesChange(data, breakpoint) {\n var changed = false;\n breakpointMatchesMap[breakpoint] = data.matches;\n for (var [_breakpoint] of mediaBreakpointMinWidthMap) {\n if (breakpointMatchesMap[_breakpoint] && MEDIA.breakpoint !== _breakpoint) {\n MEDIA.breakpoint = _breakpoint;\n changed = true;\n break;\n }\n }\n if (changed) {\n mediaEventTarget.dispatchEvent(new CustomEvent(\"change\", {\n detail: MEDIA\n }));\n }\n}\nmediaBreakpointMinWidthMap.forEach((minWidth, breakpoint) => {\n var mediaQueryList = window.matchMedia(\"(min-width: \".concat(minWidth, \")\"));\n handleMatchesChange(mediaQueryList, breakpoint);\n if (mediaQueryList.addEventListener) {\n mediaQueryList.addEventListener(\"change\", event => {\n handleMatchesChange(event, breakpoint);\n });\n } else {\n mediaQueryList.addListener(event => {\n handleMatchesChange(event, breakpoint);\n });\n }\n});\nexport var getMedia = () => MEDIA;\n//# sourceMappingURL=mediaQuery.js.map","export function getStorageItem(storageType) {\n return function (name) {\n var _storage$getItem;\n var storage = storageType === \"local\" ? localStorage : sessionStorage;\n return JSON.parse((_storage$getItem = storage.getItem(name)) !== null && _storage$getItem !== void 0 ? _storage$getItem : \"null\");\n };\n}\n//# sourceMappingURL=getStorageItem.js.map","import { getRuntime } from \"./index.js\";\nexport function isStrictMode(runtimeContext) {\n var _ref, _getRuntime;\n return !!((_ref = runtimeContext ? runtimeContext.flags : (_getRuntime = getRuntime()) === null || _getRuntime === void 0 ? void 0 : _getRuntime.getFeatureFlags()) !== null && _ref !== void 0 && _ref[\"brick-next-v3-strict-mode\"]);\n}\nexport function warnAboutStrictMode(strict, message) {\n for (var _len = arguments.length, extraLogs = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n extraLogs[_key - 2] = arguments[_key];\n }\n var punctuation = extraLogs.length === 0 ? \"\" : \",\";\n if (strict) {\n // eslint-disable-next-line no-console\n console.error(\"\".concat(message, \" is dropped in v3 strict mode\").concat(punctuation), ...extraLogs);\n } else {\n // eslint-disable-next-line no-console\n console.warn(\"\".concat(message, \" is deprecated in v3 and will be dropped in strict mode\").concat(punctuation), ...extraLogs);\n }\n}\n//# sourceMappingURL=isStrictMode.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _classPrivateFieldInitSpec from \"@babel/runtime/helpers/classPrivateFieldInitSpec\";\nimport _classPrivateFieldGet from \"@babel/runtime/helpers/classPrivateFieldGet2\";\nimport { uniq } from \"lodash\";\nimport { isStrictMode, warnAboutStrictMode } from \"./isStrictMode.js\";\nimport { getV2RuntimeFromDll } from \"./getV2RuntimeFromDll.js\";\n\n// Note: `prefix` is a native prop on Element, but it's only used in XML documents.\nvar allowedNativeProps = new Set([\"prefix\"]);\nvar _registry = /*#__PURE__*/new WeakMap();\nclass CustomTemplateRegistry {\n constructor() {\n _classPrivateFieldInitSpec(this, _registry, new Map());\n }\n define(tagName, constructor) {\n var _constructor$proxy$pr, _constructor$proxy, _compatibleConstructo, _compatibleConstructo2;\n var registered = _classPrivateFieldGet(_registry, this).has(tagName);\n if (registered) {\n // When open launchpad, the storyboard will be updated.\n // However, we can't *undefine* a custom element.\n // Just ignore re-registering custom templates.\n // eslint-disable-next-line no-console\n console.warn(\"Custom template of \\\"\".concat(tagName, \"\\\" already registered.\"));\n } else {\n registered = !!customElements.get(tagName);\n if (registered) {\n // eslint-disable-next-line no-console\n console.warn(\"Custom template of \\\"\".concat(tagName, \"\\\" already defined by customElements.\"));\n }\n }\n\n // Transform legacy `proxy.properties[].asVariable` as states.\n var strict = isStrictMode();\n var proxyProperties = (_constructor$proxy$pr = (_constructor$proxy = constructor.proxy) === null || _constructor$proxy === void 0 ? void 0 : _constructor$proxy.properties) !== null && _constructor$proxy$pr !== void 0 ? _constructor$proxy$pr : {};\n var validProxyProps = [];\n var legacyTplVariables = [];\n for (var [key, value] of Object.entries(proxyProperties)) {\n if (value.asVariable) {\n warnAboutStrictMode(strict, \"Template `asVariable`\", tagName, key);\n // istanbul ignore next\n if (!strict) {\n // For existed TPL usage, treat it as a STATE.\n legacyTplVariables.push(key);\n }\n } else if (value.mergeProperty || value.refTransform) {\n // eslint-disable-next-line no-console\n console.error(\"Template `mergeProperty` and `refTransform` are dropped in v3:\", tagName, key);\n } else if (value.ref) {\n validProxyProps.push([key, value]);\n }\n // Else: documentation only, for exposed states.\n }\n var compatibleConstructor = _objectSpread(_objectSpread({}, constructor), {}, {\n proxy: _objectSpread(_objectSpread({}, constructor.proxy), {}, {\n properties: Object.fromEntries(validProxyProps)\n }),\n state: (constructor.state ? strict ? constructor.state : constructor.state.map(item => _objectSpread({\n // Make `expose` defaults to true in non-strict mode.\n expose: true\n }, item)) : []).concat(legacyTplVariables.map(tpl => ({\n name: tpl,\n expose: true\n })))\n });\n\n // Now we allow re-register custom template\n _classPrivateFieldGet(_registry, this).set(tagName, _objectSpread(_objectSpread({}, compatibleConstructor), {}, {\n name: tagName\n }));\n var exposedStates = getExposedStates(compatibleConstructor.state);\n var proxyMethods = Object.entries((_compatibleConstructo = (_compatibleConstructo2 = compatibleConstructor.proxy) === null || _compatibleConstructo2 === void 0 ? void 0 : _compatibleConstructo2.methods) !== null && _compatibleConstructo !== void 0 ? _compatibleConstructo : {});\n var props = exposedStates.concat(validProxyProps.map(entry => entry[0]));\n var methods = proxyMethods.map(entry => entry[0]);\n var nativeProps = props.concat(methods).filter(prop => prop in HTMLElement.prototype && !allowedNativeProps.has(prop));\n if (nativeProps.length > 0) {\n warnAboutStrictMode(strict, \"Using native HTMLElement properties as template properties or methods\", tagName, ...nativeProps);\n // istanbul ignore next\n if (strict) {\n throw new Error(\"In custom template \\\"\".concat(tagName, \"\\\", \").concat(nativeProps.map(p => \"\\\"\".concat(p, \"\\\"\")).join(\", \"), \" are native HTMLElement properties, and should be avoid to be used as brick properties or methods.\"));\n }\n }\n if (registered) {\n return;\n }\n class TplElement extends HTMLElement {\n get $$typeof() {\n return \"custom-template\";\n }\n static get _dev_only_definedProperties() {\n return props;\n }\n static get _dev_only_definedMethods() {\n return methods;\n }\n $$getElementByRef(ref) {\n var _this$$$tplStateStore;\n return (_this$$$tplStateStore = this.$$tplStateStore) === null || _this$$$tplStateStore === void 0 || (_this$$$tplStateStore = _this$$$tplStateStore.hostBrick) === null || _this$$$tplStateStore === void 0 || (_this$$$tplStateStore = _this$$$tplStateStore.tplHostMetadata) === null || _this$$$tplStateStore === void 0 || (_this$$$tplStateStore = _this$$$tplStateStore.internalBricksByRef.get(ref)) === null || _this$$$tplStateStore === void 0 ? void 0 : _this$$$tplStateStore.element;\n }\n connectedCallback() {\n var shadowRoot = this.shadowRoot;\n if (!shadowRoot) {\n shadowRoot = this.attachShadow({\n mode: \"open\"\n });\n }\n var fragment = document.createDocumentFragment();\n var style = document.createElement(\"style\");\n style.textContent = \":host{display:block}:host([hidden]){display:none}\";\n var slot = document.createElement(\"slot\");\n fragment.appendChild(style);\n fragment.appendChild(slot);\n shadowRoot.appendChild(fragment);\n }\n disconnectedCallback() {\n if (this.shadowRoot) {\n this.shadowRoot.textContent = \"\";\n }\n }\n }\n var _loop = function (propName) {\n if (validProxyProps.some(entry => entry[0] === propName)) {\n // eslint-disable-next-line no-console\n console.error(\"Cannot define an exposed state that is also a proxy property: \\\"\".concat(propName, \"\\\" in \").concat(tagName));\n return 1; // continue\n }\n Object.defineProperty(TplElement.prototype, propName, {\n get() {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return this.$$tplStateStore.getValue(propName);\n },\n set(value) {\n var _this$$$tplStateStore2;\n // 在 mount 过程中,先设置属性,再设置 `$$tplStateStore`,这样,当触发属性设置时,\n // 避免初始化的一次 state update 操作及其 onChange 事件。\n (_this$$$tplStateStore2 = this.$$tplStateStore) === null || _this$$$tplStateStore2 === void 0 || _this$$$tplStateStore2.updateValue(propName, value, \"replace\");\n },\n enumerable: true\n });\n };\n for (var propName of exposedStates) {\n if (_loop(propName)) continue;\n }\n var _loop2 = function (from, to) {\n Object.defineProperty(TplElement.prototype, from, {\n get() {\n var _to$refProperty;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n var element = this.$$getElementByRef(to.ref);\n return element[(_to$refProperty = to.refProperty) !== null && _to$refProperty !== void 0 ? _to$refProperty : from];\n },\n set(value) {\n var _this$$$getElementByR;\n // 同上 exposedState.set\n var element = (_this$$$getElementByR = this.$$getElementByRef) === null || _this$$$getElementByR === void 0 ? void 0 : _this$$$getElementByR.call(this, to.ref);\n if (element) {\n var _to$refProperty2;\n element[(_to$refProperty2 = to.refProperty) !== null && _to$refProperty2 !== void 0 ? _to$refProperty2 : from] = value;\n }\n },\n enumerable: true\n });\n };\n for (var [from, to] of validProxyProps) {\n _loop2(from, to);\n }\n var _loop3 = function (_from, _to) {\n Object.defineProperty(TplElement.prototype, _from, {\n value() {\n var _to$refMethod;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n var element = this.$$getElementByRef(_to.ref);\n element[(_to$refMethod = _to.refMethod) !== null && _to$refMethod !== void 0 ? _to$refMethod : _from](...arguments);\n },\n enumerable: true\n });\n };\n for (var [_from, _to] of proxyMethods) {\n _loop3(_from, _to);\n }\n customElements.define(tagName, TplElement);\n }\n get(tagName) {\n return _classPrivateFieldGet(_registry, this).get(tagName);\n }\n}\nfunction getExposedStates(state) {\n var _state$filter$map;\n // Allow duplicated state names which maybe mutually exclusive.\n return uniq((_state$filter$map = state === null || state === void 0 ? void 0 : state.filter(item => item.expose).map(item => item.name)) !== null && _state$filter$map !== void 0 ? _state$filter$map : []);\n}\n\n// istanbul ignore next\nfunction getCustomTemplatesV2() {\n var v2Kit = getV2RuntimeFromDll();\n if (v2Kit) {\n return Object.freeze({\n define(tagName, constructor) {\n return v2Kit.getRuntime().registerCustomTemplate(tagName, constructor);\n }\n });\n }\n}\n\n// istanbul ignore next\nexport var customTemplates = getCustomTemplatesV2() || new CustomTemplateRegistry();\n//# sourceMappingURL=CustomTemplates.js.map","import { customTemplates } from \"../../CustomTemplates.js\";\nexport function getTplStateStore(_ref, using, extraInfo) {\n var {\n tplStateStoreId,\n tplStateStoreMap\n } = _ref;\n if (!tplStateStoreId) {\n throw new Error(\"Using \\\"\".concat(using, \"\\\" outside of a custom template\").concat(extraInfo !== null && extraInfo !== void 0 ? extraInfo : \"\"));\n }\n var store = tplStateStoreMap.get(tplStateStoreId);\n if (!store) {\n throw new Error(\"Template state store is not found when using \\\"\".concat(using, \"\\\"\").concat(extraInfo !== null && extraInfo !== void 0 ? extraInfo : \"\", \".\\nThis is a bug of Brick Next, please report it.\"));\n }\n return store;\n}\nexport function getTplHostElement(runtimeContext, using, extraInfo) {\n var store = getTplStateStore(runtimeContext, using, extraInfo);\n var hostElement = store.hostBrick.element;\n if (!hostElement) {\n throw new Error(\"Template host element is gone when using \\\"\".concat(using, \"\\\"\").concat(extraInfo !== null && extraInfo !== void 0 ? extraInfo : \"\", \".\\nThis is a bug of Brick Next, please report it.\"));\n }\n return hostElement;\n}\nexport function getTagNameOfCustomTemplate(brick, appId) {\n // When a template is registered by an app, it's namespace maybe missed.\n if (!brick.includes(\".\") && brick.startsWith(\"tpl-\") && appId) {\n var tagName = \"\".concat(appId, \".\").concat(brick);\n if (customTemplates.get(tagName)) {\n return tagName;\n }\n }\n if (customTemplates.get(brick)) {\n return brick;\n }\n return false;\n}\n//# sourceMappingURL=utils.js.map","import { StoryboardFunctionRegistryFactory } from \"../../StoryboardFunctionRegistry.js\";\nimport { getV2RuntimeFromDll } from \"../../getV2RuntimeFromDll.js\";\nvar widgetFunctionRegistry = new Map();\nexport var widgetFunctions = new Proxy(Object.freeze({}), {\n get(target, key) {\n return widgetFunctionRegistry.get(key);\n }\n});\nfunction registerWidgetFunctionsV3(widgetId, functions, widgetVersion) {\n if (widgetFunctionRegistry.has(widgetId)) {\n // eslint-disable-next-line no-console\n throw new Error(\"Widget functions of \\\"\".concat(widgetId, \"\\\" already registered\"));\n }\n var {\n storyboardFunctions,\n registerStoryboardFunctions\n } = StoryboardFunctionRegistryFactory({\n widgetId,\n widgetVersion\n });\n widgetFunctionRegistry.set(widgetId, storyboardFunctions);\n registerStoryboardFunctions(functions);\n}\n\n// istanbul ignore next\nfunction registerWidgetFunctionsV2Factory() {\n var v2Kit = getV2RuntimeFromDll();\n if (v2Kit) {\n return function (widgetId, functions, widgetVersion) {\n return v2Kit.getRuntime().registerWidgetFunctions(widgetId, functions, widgetVersion);\n };\n }\n}\n\n// istanbul ignore next\nexport var registerWidgetFunctions = registerWidgetFunctionsV2Factory() || registerWidgetFunctionsV3;\n//# sourceMappingURL=WidgetFunctions.js.map","export const semver = /^[v^~<>=]*?(\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+))?(?:-([\\da-z\\-]+(?:\\.[\\da-z\\-]+)*))?(?:\\+[\\da-z\\-]+(?:\\.[\\da-z\\-]+)*)?)?)?$/i;\nexport const validateAndParse = (version) => {\n if (typeof version !== 'string') {\n throw new TypeError('Invalid argument expected string');\n }\n const match = version.match(semver);\n if (!match) {\n throw new Error(`Invalid argument not valid semver ('${version}' received)`);\n }\n match.shift();\n return match;\n};\nconst isWildcard = (s) => s === '*' || s === 'x' || s === 'X';\nconst tryParse = (v) => {\n const n = parseInt(v, 10);\n return isNaN(n) ? v : n;\n};\nconst forceType = (a, b) => typeof a !== typeof b ? [String(a), String(b)] : [a, b];\nconst compareStrings = (a, b) => {\n if (isWildcard(a) || isWildcard(b))\n return 0;\n const [ap, bp] = forceType(tryParse(a), tryParse(b));\n if (ap > bp)\n return 1;\n if (ap < bp)\n return -1;\n return 0;\n};\nexport const compareSegments = (a, b) => {\n for (let i = 0; i < Math.max(a.length, b.length); i++) {\n const r = compareStrings(a[i] || '0', b[i] || '0');\n if (r !== 0)\n return r;\n }\n return 0;\n};\n//# sourceMappingURL=utils.js.map","import { compareVersions } from './compareVersions';\n/**\n * Compare [semver](https://semver.org/) version strings using the specified operator.\n *\n * @param v1 First version to compare\n * @param v2 Second version to compare\n * @param operator Allowed arithmetic operator to use\n * @returns `true` if the comparison between the firstVersion and the secondVersion satisfies the operator, `false` otherwise.\n *\n * @example\n * ```\n * compare('10.1.8', '10.0.4', '>'); // return true\n * compare('10.0.1', '10.0.1', '='); // return true\n * compare('10.1.1', '10.2.2', '<'); // return true\n * compare('10.1.1', '10.2.2', '<='); // return true\n * compare('10.1.1', '10.2.2', '>='); // return false\n * ```\n */\nexport const compare = (v1, v2, operator) => {\n // validate input operator\n assertValidOperator(operator);\n // since result of compareVersions can only be -1 or 0 or 1\n // a simple map can be used to replace switch\n const res = compareVersions(v1, v2);\n return operatorResMap[operator].includes(res);\n};\nconst operatorResMap = {\n '>': [1],\n '>=': [0, 1],\n '=': [0],\n '<=': [-1, 0],\n '<': [-1],\n '!=': [-1, 1],\n};\nconst allowedOperators = Object.keys(operatorResMap);\nconst assertValidOperator = (op) => {\n if (typeof op !== 'string') {\n throw new TypeError(`Invalid operator type, expected string but got ${typeof op}`);\n }\n if (allowedOperators.indexOf(op) === -1) {\n throw new Error(`Invalid operator, expected one of ${allowedOperators.join('|')}`);\n }\n};\n//# sourceMappingURL=compare.js.map","import { compareSegments, validateAndParse } from './utils';\n/**\n * Compare [semver](https://semver.org/) version strings to find greater, equal or lesser.\n * This library supports the full semver specification, including comparing versions with different number of digits like `1.0.0`, `1.0`, `1`, and pre-release versions like `1.0.0-alpha`.\n * @param v1 - First version to compare\n * @param v2 - Second version to compare\n * @returns Numeric value compatible with the [Array.sort(fn) interface](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#Parameters).\n */\nexport const compareVersions = (v1, v2) => {\n // validate input and split into segments\n const n1 = validateAndParse(v1);\n const n2 = validateAndParse(v2);\n // pop off the patch\n const p1 = n1.pop();\n const p2 = n2.pop();\n // validate numbers\n const r = compareSegments(n1, n2);\n if (r !== 0)\n return r;\n // validate pre-release\n if (p1 && p2) {\n return compareSegments(p1.split('.'), p2.split('.'));\n }\n else if (p1 || p2) {\n return p1 ? -1 : 1;\n }\n return 0;\n};\n//# sourceMappingURL=compareVersions.js.map","import { compare } from \"compare-versions\";\nimport { _internalApiGetAppInBootstrapData, hooks } from \"./Runtime.js\";\nexport function hasInstalledApp(appId, matchVersion) {\n // First, check whether the app is in bootstrap already.\n var app = _internalApiGetAppInBootstrapData(appId);\n if (!app && hooks !== null && hooks !== void 0 && hooks.checkInstalledApps) {\n app = hooks.checkInstalledApps.getCheckedApp(appId);\n }\n if (!app || app.installStatus === \"running\") {\n return false;\n }\n // Todo: `currentVersion` maybe `\"\"`\n if (!matchVersion || !app.currentVersion) {\n return true;\n }\n // Valid `matchVersion`:\n // >=1.2.3\n // >1.2.3\n // =1.2.3\n // <=1.2.3\n // <1.2.3\n var matches = matchVersion.match(/^([><]=?|=)(.*)$/);\n try {\n if (!matches) {\n throw new TypeError(\"Invalid match version: \".concat(matchVersion));\n }\n return compare(app.currentVersion, matches[2], matches[1]);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error);\n }\n return false;\n}\n//# sourceMappingURL=hasInstalledApp.js.map","export function getFormStateStore(_ref, using, extraInfo) {\n var {\n formStateStoreId,\n formStateStoreMap\n } = _ref;\n if (!formStateStoreId) {\n throw new Error(\"Using \\\"\".concat(using, \"\\\" outside of form renderer\").concat(extraInfo !== null && extraInfo !== void 0 ? extraInfo : \"\"));\n }\n var store = formStateStoreMap.get(formStateStoreId);\n if (!store) {\n throw new Error(\"Form state store is not found when using \\\"\".concat(using, \"\\\"\").concat(extraInfo !== null && extraInfo !== void 0 ? extraInfo : \"\", \".\\nThis is a bug of Brick Next, please report it.\"));\n }\n return store;\n}\n//# sourceMappingURL=utils.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { loadBricksImperatively } from \"@next-core/loader\";\nimport { getBrickPackages, hooks } from \"../Runtime.js\";\nvar pool = new Map();\nexport function getProviderBrick(_x) {\n return _getProviderBrick.apply(this, arguments);\n}\nfunction _getProviderBrick() {\n _getProviderBrick = _asyncToGenerator(function* (provider) {\n var _hooks$flowApi;\n var isFlowApi = hooks === null || hooks === void 0 || (_hooks$flowApi = hooks.flowApi) === null || _hooks$flowApi === void 0 ? void 0 : _hooks$flowApi.isFlowApiProvider(provider);\n if (isFlowApi) {\n provider = hooks.flowApi.FLOW_API_PROVIDER;\n }\n var brick = pool.get(provider);\n if (brick) {\n return brick;\n }\n if (provider.includes(\"-\") && !customElements.get(provider)) {\n if (isFlowApi) {\n hooks.flowApi.registerFlowApiProvider();\n } else {\n yield loadBricksImperatively([provider], getBrickPackages());\n if (!customElements.get(provider)) {\n throw new Error(\"Provider not defined: \\\"\".concat(provider, \"\\\".\"));\n }\n }\n }\n brick = document.createElement(provider);\n pool.set(provider, brick);\n return brick;\n });\n return _getProviderBrick.apply(this, arguments);\n}\n//# sourceMappingURL=getProviderBrick.js.map","import { isObject } from \"@next-core/utils/general\";\nvar computed = new WeakSet();\n\n// The computed (or transformed) result should never be *computed* again.\n// So does the fetched data from a remote api.\nexport function markAsComputed(value) {\n if (isObject(value)) {\n if (!hasBeenComputed(value)) {\n computed.add(value);\n if (Array.isArray(value)) {\n value.forEach(markAsComputed);\n } else {\n // Only mark pure objects.\n var proto = Object.getPrototypeOf(value);\n if (!proto || proto.constructor === Object) {\n Object.values(value).forEach(markAsComputed);\n }\n }\n }\n }\n}\nexport function hasBeenComputed(object) {\n return computed.has(object);\n}\nexport function resetAllComputedMarks() {\n computed = new WeakSet();\n}\n//# sourceMappingURL=markAsComputed.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { asyncComputeRealValue } from \"../compute/computeRealValue.js\";\nimport { getProviderBrick } from \"./getProviderBrick.js\";\nimport { _internalApiGetRenderId, hooks } from \"../Runtime.js\";\nimport { markAsComputed } from \"../compute/markAsComputed.js\";\nimport { get } from \"lodash\";\nimport { isStrictMode, warnAboutStrictMode } from \"../../isStrictMode.js\";\nvar cache = new Map();\nexport function resolveData(_x, _x2, _x3) {\n return _resolveData.apply(this, arguments);\n}\nfunction _resolveData() {\n _resolveData = _asyncToGenerator(function* (resolveConf, runtimeContext, options) {\n var {\n useProvider,\n method = \"resolve\",\n args = [],\n onReject\n } = resolveConf;\n var {\n provider: legacyProvider,\n field: legacyField\n } = resolveConf;\n if (legacyProvider && !useProvider) {\n throw new Error(\"You're using \\\"provider: \".concat(legacyProvider, \"\\\" which is dropped in v3, please use \\\"useProvider\\\" instead\"));\n }\n var hasLegacyField = legacyField !== null && legacyField !== undefined;\n if (hasLegacyField) {\n var strict = isStrictMode();\n warnAboutStrictMode(strict, \"`resolve.field`\");\n // istanbul ignore next\n if (strict) {\n throw new Error(\"Using deprecated `resolve.field`\");\n }\n }\n var [providerBrick, actualArgs] = yield Promise.all([getProviderBrick(useProvider), asyncComputeRealValue(args, runtimeContext)]);\n\n // `clearResolveCache` maybe cleared during the above promise being\n // fulfilled, so we manually mark it as stale for this case.\n var renderId = options === null || options === void 0 ? void 0 : options.renderId;\n var stale = !!renderId && renderId !== _internalApiGetRenderId();\n var promise = resolveByProvider(providerBrick, useProvider, method, actualArgs, options, args, stale);\n var {\n transform\n } = resolveConf;\n var data;\n try {\n var value = yield promise;\n data = hasLegacyField ? get(value, legacyField) : value;\n // The fetched data and its inner objects should never be *injected* again.\n markAsComputed(data);\n } catch (error) {\n if (isHandleRejectByTransform(onReject)) {\n transform = onReject.transform;\n data = error;\n } else {\n throw error;\n }\n }\n if (!transform) {\n return data;\n }\n\n // Keep backward compatibility of string transform.\n if (typeof transform === \"string\") {\n return {\n [transform]: data\n };\n }\n return asyncComputeRealValue(transform, _objectSpread(_objectSpread({}, runtimeContext), {}, {\n data\n }));\n });\n return _resolveData.apply(this, arguments);\n}\nexport function clearResolveCache() {\n cache.clear();\n}\nexport function resolveByProvider(_x4, _x5, _x6, _x7, _x8, _x9, _x10) {\n return _resolveByProvider.apply(this, arguments);\n}\nfunction _resolveByProvider() {\n _resolveByProvider = _asyncToGenerator(function* (brick, useProvider, method, args, options, originalArgs, stale) {\n var cacheKey;\n try {\n // `args` may contain circular references, which makes\n // JSON stringify failed, thus we fallback to original args.\n cacheKey = JSON.stringify({\n useProvider,\n method,\n args\n });\n } catch (e) {\n if (!originalArgs) {\n throw e;\n }\n cacheKey = JSON.stringify({\n useProvider,\n method,\n originalArgs\n });\n }\n var promise;\n if ((options === null || options === void 0 ? void 0 : options.cache) !== \"reload\") {\n promise = cache.get(cacheKey);\n }\n if (!promise) {\n promise = _asyncToGenerator(function* () {\n var _hooks$flowApi;\n var finalArgs = hooks !== null && hooks !== void 0 && (_hooks$flowApi = hooks.flowApi) !== null && _hooks$flowApi !== void 0 && _hooks$flowApi.isFlowApiProvider(useProvider) ? yield hooks.flowApi.getArgsOfFlowApi(useProvider, args, method) : args;\n return brick[method](...finalArgs);\n })();\n if (!stale) {\n cache.set(cacheKey, promise);\n }\n }\n return promise;\n });\n return _resolveByProvider.apply(this, arguments);\n}\nfunction isHandleRejectByTransform(onReject) {\n return !!(onReject !== null && onReject !== void 0 && onReject.transform);\n}\n//# sourceMappingURL=resolveData.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { cook, preevaluate, shouldAllowRecursiveEvaluations } from \"@next-core/cook\";\nimport { loadProcessorsImperatively } from \"@next-core/loader\";\nimport { supply } from \"@next-core/supply\";\nimport { hasOwnProperty } from \"@next-core/utils/general\";\nimport { strictCollectMemberUsage, collectAppGetMenuUsage, collectInstalledAppsHasUsage } from \"@next-core/utils/storyboard\";\nimport { cloneDeep, omit } from \"lodash\";\nimport { customProcessors } from \"../../CustomProcessors.js\";\nimport { checkPermissionsUsage, storyboardFunctions } from \"./StoryboardFunctions.js\";\nimport { getGeneralGlobals } from \"./getGeneralGlobals.js\";\nimport { getDynamicReadOnlyProxy, getReadOnlyProxy } from \"../proxyFactories.js\";\nimport { devtoolsHookEmit, getDevHook } from \"../devtools.js\";\nimport { getMedia } from \"../mediaQuery.js\";\nimport { getStorageItem } from \"./getStorageItem.js\";\nimport { _internalApiGetStoryboardInBootstrapData, getBrickPackages, getRuntime, hooks } from \"../Runtime.js\";\nimport { getTplStateStore } from \"../CustomTemplates/utils.js\";\nimport { widgetFunctions } from \"./WidgetFunctions.js\";\nimport { widgetI18nFactory } from \"./WidgetI18n.js\";\nimport { hasInstalledApp } from \"../hasInstalledApp.js\";\nimport { isStrictMode, warnAboutStrictMode } from \"../../isStrictMode.js\";\nimport { getFormStateStore } from \"../FormRenderer/utils.js\";\nimport { resolveData } from \"../data/resolveData.js\";\nimport { asyncComputeRealValue } from \"./computeRealValue.js\";\nvar symbolForRaw = Symbol.for(\"pre.evaluated.raw\");\nvar symbolForContext = Symbol.for(\"pre.evaluated.context\");\nexport function isPreEvaluated(raw) {\n return !!(raw !== null && raw !== void 0 && raw[symbolForRaw]);\n}\nexport function getPreEvaluatedRaw(pre) {\n return pre[symbolForRaw];\n}\nexport function shouldDismissMarkingComputed(raw) {\n if (typeof raw === \"string\") {\n return shouldAllowRecursiveEvaluations(raw);\n }\n return shouldAllowRecursiveEvaluations(raw[symbolForRaw]);\n}\nvar possibleErrorConstructs = new WeakSet([SyntaxError, TypeError, ReferenceError]);\nexport function getCookErrorConstructor(error) {\n return possibleErrorConstructs.has(error.constructor) ? error.constructor : TypeError;\n}\nexport function asyncEvaluate(_x, _x2, _x3) {\n return _asyncEvaluate.apply(this, arguments);\n}\nfunction _asyncEvaluate() {\n _asyncEvaluate = _asyncToGenerator(function* (raw,\n // string or pre-evaluated object.\n runtimeContext, options) {\n var {\n blockingList,\n run\n } = lowLevelEvaluate(raw, runtimeContext, options, true);\n yield Promise.all(blockingList);\n return run();\n });\n return _asyncEvaluate.apply(this, arguments);\n}\nexport function evaluate(raw,\n// string or pre-evaluated object.\nruntimeContext, options) {\n var {\n run\n } = lowLevelEvaluate(raw, runtimeContext, options, false);\n return run();\n}\nfunction lowLevelEvaluate(raw,\n// string or pre-evaluated object.\nruntimeContext) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var isAsync = arguments.length > 3 ? arguments[3] : undefined;\n var blockingList = [];\n if (typeof raw !== \"string\") {\n // If the `raw` is not a string, it must be a pre-evaluated object.\n // Then fulfil the context, and restore the original `raw`.\n\n var passByRuntimeContext = omit(runtimeContext, [\"pendingPermissionsPreCheck\", \"tplStateStoreMap\", \"tplStateStoreScope\", \"formStateStoreMap\", \"formStateStoreScope\"]);\n runtimeContext = _objectSpread(_objectSpread({}, raw[symbolForContext]), passByRuntimeContext);\n raw = raw[symbolForRaw];\n }\n\n // Collect `APP.getMenu(...)` usage before evaluating.\n var menuUsage = {\n usedArgs: new Set()\n };\n var hasAppUsage = {\n usedArgs: new Set()\n };\n\n // A `SyntaxError` maybe thrown.\n var precooked;\n try {\n precooked = preevaluate(raw, {\n withParent: true,\n hooks: {\n beforeVisitGlobal(node, parent) {\n collectAppGetMenuUsage(menuUsage, node, parent);\n collectInstalledAppsHasUsage(hasAppUsage, node, parent);\n }\n }\n });\n } catch (error) {\n var message = \"\".concat(error.message, \", in \\\"\").concat(raw, \"\\\"\");\n var errorConstructor = getCookErrorConstructor(error);\n throw new errorConstructor(message);\n }\n if (menuUsage.hasNonStaticUsage) {\n throw new Error(\"Non-static usage of \\\"APP.getMenu\\\" is prohibited in v3, check your expression: \\\"\".concat(raw, \"\\\"\"));\n }\n if (hasAppUsage.hasNonStaticUsage) {\n throw new Error(\"Non-static usage of \\\"INSTALLED_APPS.has\\\" is prohibited in v3, check your expression: \\\"\".concat(raw, \"\\\"\"));\n }\n var globalVariables = {};\n var {\n attemptToVisitGlobals\n } = precooked;\n\n // Ignore evaluating if required `event/DATA` is missing in\n // context. Since they are are provided in different context, whenever\n // missing one of them, memorize the current context for later consuming.\n if (options.lazy || attemptToVisitGlobals.has(\"EVENT\") && !hasOwnProperty(runtimeContext, \"event\") || attemptToVisitGlobals.has(\"DATA\") && !hasOwnProperty(runtimeContext, \"data\")) {\n return {\n blockingList,\n run() {\n return Object.keys(runtimeContext).length > 0 ? {\n [symbolForRaw]: raw,\n [symbolForContext]: runtimeContext\n } : raw;\n }\n };\n }\n var usedCtx;\n var usedProcessors;\n var usedStates;\n var tplStateStore;\n var strict = isStrictMode(runtimeContext);\n\n // For existed TPL usage, treat it as a STATE.\n if (attemptToVisitGlobals.has(\"STATE\") || !strict && attemptToVisitGlobals.has(\"TPL\")) {\n tplStateStore = getTplStateStore(runtimeContext, \"STATE\", \": \\\"\".concat(raw, \"\\\"\"));\n }\n var usedFormStates;\n var formStateStore;\n if (attemptToVisitGlobals.has(\"FORM_STATE\")) {\n formStateStore = getFormStateStore(runtimeContext, \"FORM_STATE\", \": \\\"\".concat(raw, \"\\\"\"));\n }\n var devHook = getDevHook();\n if (isAsync || devHook) {\n if (attemptToVisitGlobals.has(\"CTX\")) {\n usedCtx = strictCollectMemberUsage(raw, \"CTX\");\n isAsync && blockingList.push(runtimeContext.ctxStore.waitFor(usedCtx));\n }\n if (tplStateStore) {\n usedStates = strictCollectMemberUsage(raw, \"STATE\");\n // istanbul ignore if\n if (!strict) {\n var usedTpls = strictCollectMemberUsage(raw, \"TPL\");\n for (var tpl of usedTpls) {\n usedStates.add(tpl);\n }\n }\n isAsync && blockingList.push(tplStateStore.waitFor(usedStates));\n }\n if (formStateStore) {\n usedFormStates = strictCollectMemberUsage(raw, \"FORM_STATE\");\n isAsync && blockingList.push(formStateStore.waitFor(usedFormStates));\n }\n if (attemptToVisitGlobals.has(\"PROCESSORS\")) {\n usedProcessors = strictCollectMemberUsage(raw, \"PROCESSORS\", 2);\n isAsync && blockingList.push(loadProcessorsImperatively(usedProcessors, getBrickPackages()));\n }\n }\n if (isAsync) {\n var attemptToCheckPermissions = attemptToVisitGlobals.has(\"PERMISSIONS\");\n // There maybe `PERMISSIONS.check()` usage in functions\n if (!attemptToCheckPermissions && attemptToVisitGlobals.has(\"FN\")) {\n var usedFunctions = [...strictCollectMemberUsage(raw, \"FN\")];\n attemptToCheckPermissions = checkPermissionsUsage(usedFunctions);\n }\n if (attemptToCheckPermissions) {\n blockingList.push(...runtimeContext.pendingPermissionsPreCheck);\n }\n if (menuUsage.usedArgs.size > 0 && hooks !== null && hooks !== void 0 && hooks.menu) {\n // Block evaluating if has `APP.getMenu(...)` usage.\n var usedMenuIds = [...menuUsage.usedArgs];\n blockingList.push(Promise.all(usedMenuIds.map(menuId => hooks.menu.fetchMenuById(menuId, runtimeContext, {\n getStoryboardByAppId: _internalApiGetStoryboardInBootstrapData,\n resolveData,\n asyncComputeRealValue\n }))));\n }\n if (hasAppUsage.usedArgs.size > 0) {\n var _hooks$checkInstalled;\n // Only wait for specific apps\n blockingList.push(hooks === null || hooks === void 0 || (_hooks$checkInstalled = hooks.checkInstalledApps) === null || _hooks$checkInstalled === void 0 ? void 0 : _hooks$checkInstalled.waitForCheckingApps([...hasAppUsage.usedArgs]));\n }\n }\n return {\n blockingList,\n run() {\n var _runtimeContext$overr, _hooks$menu, _match$params, _hooks$images;\n var {\n app: currentApp,\n location,\n query,\n match,\n flags,\n sys,\n ctxStore,\n data,\n event\n } = runtimeContext;\n var app = (_runtimeContext$overr = runtimeContext.overrideApp) !== null && _runtimeContext$overr !== void 0 ? _runtimeContext$overr : currentApp;\n for (var variableName of attemptToVisitGlobals) {\n switch (variableName) {\n // case \"ALIAS\":\n case \"ANCHOR\":\n globalVariables[variableName] = location.hash ? location.hash.substring(1) : null;\n break;\n case \"APP\":\n if (app == null) {\n throw new ReferenceError(\"APP is not defined, in \\\"\".concat(raw, \"\\\"\"));\n }\n globalVariables[variableName] = _objectSpread(_objectSpread({}, cloneDeep(app)), {}, {\n getMenu: hooks === null || hooks === void 0 || (_hooks$menu = hooks.menu) === null || _hooks$menu === void 0 ? void 0 : _hooks$menu.getMenuById\n });\n break;\n case \"CTX\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(_target, key) {\n return ctxStore.getValue(key);\n },\n ownKeys() {\n return Array.from(usedCtx);\n }\n });\n break;\n case \"DATA\":\n globalVariables[variableName] = data;\n break;\n case \"EVENT\":\n globalVariables[variableName] = event;\n break;\n case \"FLAGS\":\n globalVariables[variableName] = getReadOnlyProxy(flags);\n break;\n case \"FORM_STATE\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(_target, key) {\n return formStateStore.getValue(key);\n },\n ownKeys() {\n return Array.from(usedFormStates);\n }\n });\n break;\n case \"HASH\":\n globalVariables[variableName] = location.hash;\n break;\n case \"INSTALLED_APPS\":\n globalVariables[variableName] = getReadOnlyProxy({\n has: hasInstalledApp\n });\n break;\n case \"ITEM\":\n case \"INDEX\":\n {\n var property = variableName === \"ITEM\" ? \"forEachItem\" : \"forEachIndex\";\n if (!hasOwnProperty(runtimeContext, property)) {\n // eslint-disable-next-line no-console\n console.error(\"Using `\".concat(variableName, \"` but no `:forEach` is found, check your expression: \\\"\").concat(raw, \"\\\"\"));\n } else {\n globalVariables[variableName] = runtimeContext[property];\n }\n break;\n }\n case \"LOCAL_STORAGE\":\n globalVariables[variableName] = getReadOnlyProxy({\n getItem: getStorageItem(\"local\")\n });\n break;\n case \"MEDIA\":\n globalVariables[variableName] = getReadOnlyProxy(getMedia());\n break;\n case \"MISC\":\n globalVariables[variableName] = getRuntime().getMiscSettings();\n break;\n case \"PARAMS\":\n if (query == null) {\n throw new ReferenceError(\"PARAMS is not defined, in \\\"\".concat(raw, \"\\\"\"));\n }\n globalVariables[variableName] = new URLSearchParams(query);\n break;\n case \"PATH\":\n globalVariables[variableName] = getReadOnlyProxy((_match$params = match === null || match === void 0 ? void 0 : match.params) !== null && _match$params !== void 0 ? _match$params : {});\n break;\n case \"PATH_NAME\":\n globalVariables[variableName] = location.pathname;\n break;\n case \"PROCESSORS\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(_target, key) {\n var pkg = customProcessors.get(key);\n if (!pkg) {\n throw new Error(\"'PROCESSORS.\".concat(key, \"' is not registered! Have you installed the relevant brick package?\"));\n }\n return getDynamicReadOnlyProxy({\n get(_t, k) {\n return pkg.get(k);\n },\n ownKeys() {\n return Array.from(pkg.keys());\n }\n });\n },\n ownKeys() {\n var keys = new Set();\n for (var processor of usedProcessors) {\n var namespace = processor.split(\".\")[0];\n keys.add(namespace);\n }\n return Array.from(keys);\n }\n });\n break;\n case \"QUERY\":\n if (query == null) {\n throw new ReferenceError(\"QUERY is not defined, in \\\"\".concat(raw, \"\\\"\"));\n }\n globalVariables[variableName] = Object.fromEntries(Array.from(query.keys()).map(key => [key, query.get(key)]));\n break;\n case \"QUERY_ARRAY\":\n if (query == null) {\n throw new ReferenceError(\"QUERY_ARRAY is not defined, in \\\"\".concat(raw, \"\\\"\"));\n }\n globalVariables[variableName] = Object.fromEntries(Array.from(query.keys()).map(key => [key, query.getAll(key)]));\n // case \"SEGUE\":\n break;\n case \"SESSION_STORAGE\":\n globalVariables[variableName] = getReadOnlyProxy({\n getItem: getStorageItem(\"session\")\n });\n break;\n // istanbul ignore next\n case \"TPL\":\n warnAboutStrictMode(strict, 'Using \"TPL\" in expression', \"check your expression: \\\"\".concat(raw, \"\\\"\"));\n if (strict) {\n break;\n }\n // eslint-disable-next-line no-fallthrough\n case \"STATE\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(_target, key) {\n return tplStateStore.getValue(key);\n },\n ownKeys() {\n return Array.from(usedStates);\n }\n });\n break;\n case \"SYS\":\n globalVariables[variableName] = getReadOnlyProxy(sys !== null && sys !== void 0 ? sys : {});\n break;\n case \"__WIDGET_FN__\":\n globalVariables[variableName] = widgetFunctions;\n break;\n case \"__WIDGET_IMG__\":\n globalVariables[variableName] = hooks === null || hooks === void 0 || (_hooks$images = hooks.images) === null || _hooks$images === void 0 ? void 0 : _hooks$images.widgetImagesFactory;\n break;\n case \"__WIDGET_I18N__\":\n globalVariables[variableName] = widgetI18nFactory;\n break;\n }\n }\n Object.assign(globalVariables, getGeneralGlobals(precooked.attemptToVisitGlobals, {\n storyboardFunctions,\n app: app,\n appendI18nNamespace: runtimeContext.appendI18nNamespace\n }));\n try {\n var result = cook(precooked.expression, precooked.source, {\n globalVariables: supply(precooked.attemptToVisitGlobals, globalVariables)\n });\n var detail = {\n raw,\n context: globalVariables,\n result\n };\n devtoolsHookEmit(\"evaluation\", detail);\n return result;\n } catch (error) {\n var _message = \"\".concat(error.message, \", in \\\"\").concat(raw, \"\\\"\");\n var _errorConstructor = getCookErrorConstructor(error);\n throw new _errorConstructor(_message);\n }\n }\n };\n}\n//# sourceMappingURL=evaluate.js.map","export var StateOfUseBrick = /*#__PURE__*/function (StateOfUseBrick) {\n StateOfUseBrick[StateOfUseBrick[\"INITIAL\"] = 0] = \"INITIAL\";\n StateOfUseBrick[StateOfUseBrick[\"USE_BRICK\"] = 1] = \"USE_BRICK\";\n StateOfUseBrick[StateOfUseBrick[\"USE_BRICK_ITEM\"] = 2] = \"USE_BRICK_ITEM\";\n StateOfUseBrick[StateOfUseBrick[\"USE_BRICK_PROPERTIES\"] = 3] = \"USE_BRICK_PROPERTIES\";\n StateOfUseBrick[StateOfUseBrick[\"USE_BRICK_TRANSFORM\"] = 4] = \"USE_BRICK_TRANSFORM\";\n StateOfUseBrick[StateOfUseBrick[\"USE_BRICK_EVENTS\"] = 5] = \"USE_BRICK_EVENTS\";\n StateOfUseBrick[StateOfUseBrick[\"USE_BRICK_IF\"] = 6] = \"USE_BRICK_IF\";\n StateOfUseBrick[StateOfUseBrick[\"USE_BRICK_SLOTS\"] = 7] = \"USE_BRICK_SLOTS\";\n StateOfUseBrick[StateOfUseBrick[\"USE_BRICK_SLOTS_ITEM\"] = 8] = \"USE_BRICK_SLOTS_ITEM\";\n StateOfUseBrick[StateOfUseBrick[\"USE_BRICK_SLOTS_ITEM_BRICKS\"] = 9] = \"USE_BRICK_SLOTS_ITEM_BRICKS\";\n StateOfUseBrick[StateOfUseBrick[\"USE_BRICK_SLOTS_ITEM_BRICKS_ITEM\"] = 10] = \"USE_BRICK_SLOTS_ITEM_BRICKS_ITEM\";\n StateOfUseBrick[StateOfUseBrick[\"USE_BRICK_LIFECYCLE\"] = 11] = \"USE_BRICK_LIFECYCLE\";\n StateOfUseBrick[StateOfUseBrick[\"USE_BRICK_DATA_SOURCE\"] = 12] = \"USE_BRICK_DATA_SOURCE\";\n return StateOfUseBrick;\n}({});\nexport function isLazyContentInUseBrick(state) {\n switch (state) {\n case StateOfUseBrick.USE_BRICK_PROPERTIES:\n case StateOfUseBrick.USE_BRICK_TRANSFORM:\n case StateOfUseBrick.USE_BRICK_EVENTS:\n case StateOfUseBrick.USE_BRICK_IF:\n case StateOfUseBrick.USE_BRICK_LIFECYCLE:\n case StateOfUseBrick.USE_BRICK_DATA_SOURCE:\n return true;\n }\n return false;\n}\nexport function getNextStateOfUseBrick(state, isArray, key) {\n if (isLazyContentInUseBrick(state)) {\n return state;\n }\n if (isArray) {\n switch (state) {\n case StateOfUseBrick.USE_BRICK:\n return StateOfUseBrick.USE_BRICK_ITEM;\n case StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS:\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS_ITEM;\n }\n } else {\n switch (state) {\n case StateOfUseBrick.INITIAL:\n if (key === \"useBrick\") {\n return StateOfUseBrick.USE_BRICK;\n }\n break;\n case StateOfUseBrick.USE_BRICK:\n case StateOfUseBrick.USE_BRICK_ITEM:\n case StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS_ITEM:\n {\n switch (key) {\n case \"properties\":\n return StateOfUseBrick.USE_BRICK_PROPERTIES;\n case \"transform\":\n return StateOfUseBrick.USE_BRICK_TRANSFORM;\n case \"dataSource\":\n return StateOfUseBrick.USE_BRICK_DATA_SOURCE;\n case \"events\":\n return StateOfUseBrick.USE_BRICK_EVENTS;\n case \"slots\":\n return StateOfUseBrick.USE_BRICK_SLOTS;\n case \"children\":\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS;\n case \"if\":\n return StateOfUseBrick.USE_BRICK_IF;\n case \"lifeCycle\":\n return StateOfUseBrick.USE_BRICK_LIFECYCLE;\n }\n break;\n }\n case StateOfUseBrick.USE_BRICK_SLOTS:\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM;\n case StateOfUseBrick.USE_BRICK_SLOTS_ITEM:\n if (key === \"bricks\") {\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS;\n }\n break;\n }\n }\n return StateOfUseBrick.INITIAL;\n}\n//# sourceMappingURL=getNextStateOfUseBrick.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { isEvaluable } from \"@next-core/cook\";\nimport { hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport { transformAndInject, transform, inject } from \"@next-core/inject\";\nimport { asyncEvaluate, isPreEvaluated, evaluate, shouldDismissMarkingComputed } from \"./evaluate.js\";\nimport { getNextStateOfUseBrick, isLazyContentInUseBrick } from \"./getNextStateOfUseBrick.js\";\nimport { hasBeenComputed, markAsComputed } from \"./markAsComputed.js\";\nexport function asyncComputeRealValue(_x, _x2) {\n return _asyncComputeRealValue.apply(this, arguments);\n}\nfunction _asyncComputeRealValue() {\n _asyncComputeRealValue = _asyncToGenerator(function* (value, runtimeContext) {\n var internalOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var preEvaluated = isPreEvaluated(value);\n if (preEvaluated || typeof value === \"string\") {\n // For `useBrick`, some fields such as `properties`/`transform`/`events`/`if`,\n // are kept and to be evaluated later.\n var lazy = internalOptions.$$lazyForUseBrick && isLazyContentInUseBrick(internalOptions.$$stateOfUseBrick);\n var result;\n var dismissMarkingComputed = lazy;\n if (preEvaluated || isEvaluable(value)) {\n result = yield asyncEvaluate(value, runtimeContext, {\n lazy\n });\n dismissMarkingComputed = shouldDismissMarkingComputed(value);\n } else {\n result = lazy ? value : (hasOwnProperty(runtimeContext, \"data\") ? internalOptions.noInject ? transform : transformAndInject : internalOptions.noInject ? identity : inject)(value, runtimeContext);\n }\n if (!dismissMarkingComputed) {\n markAsComputed(result);\n }\n return result;\n }\n if (!isObject(value) || hasBeenComputed(value) || typeof value === \"function\") {\n return value;\n }\n if (Array.isArray(value)) {\n var nextOptions = getNextComputeOptions(internalOptions, true);\n return Promise.all(value.map(v => asyncComputeRealValue(v, runtimeContext, nextOptions)));\n }\n return Object.fromEntries((yield Promise.all(Object.entries(value).map(_ref2 => {\n var [k, v] = _ref2;\n return Promise.all([asyncComputeRealValue(k, runtimeContext), asyncComputeRealValue(v, runtimeContext, getNextComputeOptions(internalOptions, false, k))]);\n }))).concat(internalOptions.ignoreSymbols ? [] : Object.getOwnPropertySymbols(value).map(k => [k, value[k]])));\n });\n return _asyncComputeRealValue.apply(this, arguments);\n}\nexport function computeRealValue(value, runtimeContext) {\n var internalOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var preEvaluated = isPreEvaluated(value);\n if (preEvaluated || typeof value === \"string\") {\n // For `useBrick`, some fields such as `properties`/`transform`/`events`/`if`,\n // are kept and to be evaluated later.\n var lazy = internalOptions.$$lazyForUseBrick && isLazyContentInUseBrick(internalOptions.$$stateOfUseBrick);\n var result;\n var dismissMarkingComputed = lazy;\n if (preEvaluated || isEvaluable(value)) {\n result = evaluate(value, runtimeContext);\n dismissMarkingComputed = shouldDismissMarkingComputed(value);\n } else {\n result = lazy ? value : (hasOwnProperty(runtimeContext, \"data\") ? internalOptions.noInject ? transform : transformAndInject : internalOptions.noInject ? identity : inject)(value, runtimeContext);\n }\n if (!dismissMarkingComputed) {\n markAsComputed(result);\n }\n return result;\n }\n if (!isObject(value) || hasBeenComputed(value) || typeof value === \"function\") {\n return value;\n }\n if (Array.isArray(value)) {\n var nextOptions = getNextComputeOptions(internalOptions, true);\n return value.map(v => computeRealValue(v, runtimeContext, nextOptions));\n }\n return Object.fromEntries(Object.entries(value).map(_ref => {\n var [k, v] = _ref;\n return [computeRealValue(k, runtimeContext), computeRealValue(v, runtimeContext, getNextComputeOptions(internalOptions, false, k))];\n }).concat(internalOptions.ignoreSymbols ? [] : Object.getOwnPropertySymbols(value).map(k => [k, value[k]])));\n}\nfunction getNextComputeOptions(internalOptions, isArray, key) {\n return internalOptions.$$lazyForUseBrick ? _objectSpread(_objectSpread({}, internalOptions), {}, {\n $$stateOfUseBrick: getNextStateOfUseBrick(internalOptions.$$stateOfUseBrick, isArray, key)\n }) : internalOptions;\n}\nfunction identity(value) {\n return value;\n}\n//# sourceMappingURL=computeRealValue.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport { asyncComputeRealValue, computeRealValue } from \"./computeRealValue.js\";\nimport { isPreEvaluated } from \"./evaluate.js\";\nimport { resolveData } from \"../data/resolveData.js\";\nimport { getV2RuntimeFromDll } from \"../../getV2RuntimeFromDll.js\";\n\n/**\n * 包含 `if` 条件判断的对象。\n */\n\nexport function asyncCheckIf(_x, _x2) {\n return _asyncCheckIf.apply(this, arguments);\n}\nfunction _asyncCheckIf() {\n _asyncCheckIf = _asyncToGenerator(function* (ifContainer, runtimeContext) {\n return !hasOwnProperty(ifContainer, \"if\") || !!(typeof ifContainer.if === \"string\" || isPreEvaluated(ifContainer.if) ? yield asyncComputeRealValue(ifContainer.if, runtimeContext) : ifContainer.if);\n });\n return _asyncCheckIf.apply(this, arguments);\n}\nexport function checkIf(ifContainer, runtimeContext) {\n return !hasOwnProperty(ifContainer, \"if\") || !!(typeof ifContainer.if === \"string\" || isPreEvaluated(ifContainer.if) ? computeRealValue(ifContainer.if, runtimeContext) : ifContainer.if);\n}\nexport function checkIfOfComputed(ifContainer) {\n return !hasOwnProperty(ifContainer, \"if\") || !!ifContainer.if;\n}\nexport function asyncCheckBrickIf(_x3, _x4) {\n return _asyncCheckBrickIf.apply(this, arguments);\n}\nfunction _asyncCheckBrickIf() {\n _asyncCheckBrickIf = _asyncToGenerator(function* (brickConf, runtimeContext) {\n if (isObject(brickConf.if) && !isPreEvaluated(brickConf.if)) {\n var resolved = yield resolveData(brickConf.if, runtimeContext);\n return checkIfOfComputed(resolved);\n }\n return asyncCheckIf(brickConf, runtimeContext);\n });\n return _asyncCheckBrickIf.apply(this, arguments);\n}\nfunction checkIfByTransformV3(ifContainer, data) {\n return checkIf(ifContainer, {\n data\n });\n}\n\n// istanbul ignore next\nfunction checkIfByTransformV2Factory() {\n var v2Kit = getV2RuntimeFromDll();\n if (v2Kit) {\n return v2Kit.looseCheckIfByTransform;\n }\n}\n\n// istanbul ignore next\nexport var checkIfByTransform = checkIfByTransformV2Factory() || checkIfByTransformV3;\n//# sourceMappingURL=checkIf.js.map","import { isEvaluable, isTrackAll } from \"@next-core/cook\";\nimport { track, trackAll } from \"@next-core/utils/storyboard\";\nimport { getPreEvaluatedRaw, isPreEvaluated } from \"./evaluate.js\";\nexport function getTracks(value) {\n var contextNames = false;\n var stateNames = false;\n var formStateNames = false;\n if (typeof value === \"string\" ? isEvaluable(value) : isPreEvaluated(value)) {\n var raw = typeof value === \"string\" ? value : getPreEvaluatedRaw(value);\n if (isTrackAll(raw)) {\n var result = trackAll(raw);\n if (result) {\n contextNames = result.context;\n stateNames = result.state;\n formStateNames = result.formState;\n }\n } else {\n contextNames = track(raw, \"track context\", \"CTX\");\n stateNames = track(raw, \"track state\", \"STATE\");\n formStateNames = track(raw, \"track formstate\", \"FORM_STATE\");\n }\n }\n return {\n contextNames,\n stateNames,\n formStateNames\n };\n}\n//# sourceMappingURL=getTracks.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { isObject } from \"@next-core/utils/general\";\nimport { asyncComputeRealValue, computeRealValue } from \"./computeRealValue.js\";\nimport { StateOfUseBrick } from \"./getNextStateOfUseBrick.js\";\nimport { getTracks } from \"./getTracks.js\";\nexport function asyncComputeRealPropertyEntries(properties, runtimeContext, trackingContextList) {\n if (isObject(properties)) {\n return Object.entries(properties).map(_ref => {\n var [propName, propValue] = _ref;\n var {\n contextNames,\n stateNames,\n formStateNames\n } = getTracks(propValue);\n if (contextNames || stateNames || formStateNames) {\n trackingContextList.push({\n contextNames,\n stateNames,\n formStateNames,\n propName,\n propValue\n });\n }\n // Related: https://github.com/facebook/react/issues/11347\n var asyncValue = asyncComputeRealValue(propValue, runtimeContext, {\n $$lazyForUseBrick: true,\n $$stateOfUseBrick: propName === \"useBrick\" ? StateOfUseBrick.USE_BRICK : StateOfUseBrick.INITIAL\n });\n return [propName, asyncValue];\n });\n }\n return [];\n}\nexport function computePropertyValue(_x, _x2) {\n return _computePropertyValue.apply(this, arguments);\n}\nfunction _computePropertyValue() {\n _computePropertyValue = _asyncToGenerator(function* (asyncPropertyEntries, propName) {\n for (var [name, asyncValue, ignoreUndefined] of asyncPropertyEntries) {\n if (name === propName) {\n var value = yield asyncValue;\n if (value !== undefined || !ignoreUndefined) {\n return value;\n }\n }\n }\n });\n return _computePropertyValue.apply(this, arguments);\n}\nexport function constructAsyncProperties(_x3) {\n return _constructAsyncProperties.apply(this, arguments);\n}\nfunction _constructAsyncProperties() {\n _constructAsyncProperties = _asyncToGenerator(function* (asyncPropertyEntries) {\n var props = {};\n for (var [propName, asyncValue, ignoreUndefined] of asyncPropertyEntries) {\n var value = yield asyncValue;\n if ((value !== undefined || !ignoreUndefined) && (\n // For `style` and `dataset`, only object is acceptable.\n propName !== \"style\" && propName !== \"dataset\" || isObject(value))) {\n props[propName] = value;\n }\n }\n return props;\n });\n return _constructAsyncProperties.apply(this, arguments);\n}\nexport function computeRealProperties(properties, runtimeContext) {\n if (isObject(properties)) {\n return Object.fromEntries(Object.entries(properties).map(_ref2 => {\n var [propName, propValue] = _ref2;\n // Related: https://github.com/facebook/react/issues/11347\n var realValue = computeRealValue(propValue, runtimeContext, {\n $$lazyForUseBrick: true,\n $$stateOfUseBrick: propName === \"useBrick\" ? StateOfUseBrick.USE_BRICK : StateOfUseBrick.INITIAL\n });\n // For `style` and `dataset`, only object is acceptable.\n if (propName !== \"style\" && propName !== \"dataset\" || isObject(realValue)) {\n return [propName, realValue];\n }\n }).filter(Boolean));\n }\n return {};\n}\n//# sourceMappingURL=computeRealProperties.js.map","export function setRealProperties(brick, realProps) {\n if (!realProps) {\n return;\n }\n for (var [propName, propValue] of Object.entries(realProps)) {\n switch (propName) {\n case \"style\":\n case \"dataset\":\n for (var [k, v] of Object.entries(propValue)) {\n brick[propName][k] = v;\n }\n break;\n case \"constructor\":\n case \"__proto__\":\n case \"innerHTML\":\n // `innerHTML` is dangerous, use `textContent` instead.\n throw new Error(\"set `\".concat(propName, \"` is prohibited\"));\n default:\n brick[propName] = propValue;\n }\n }\n}\n//# sourceMappingURL=setRealProperties.js.map","import { computeRealProperties } from \"./computeRealProperties.js\";\nimport { setRealProperties } from \"./setRealProperties.js\";\nexport function setProperties(bricks, properties, runtimeContext) {\n var realProps = computeRealProperties(properties, runtimeContext);\n if (!Array.isArray(bricks)) {\n bricks = [bricks];\n }\n bricks.forEach(brick => {\n setRealProperties(brick, realProps);\n });\n}\n//# sourceMappingURL=setProperties.js.map","/**\n * Tokenize input string.\n */\nfunction lexer(str) {\n var tokens = [];\n var i = 0;\n while (i < str.length) {\n var char = str[i];\n if (char === \"*\" || char === \"+\" || char === \"?\") {\n tokens.push({ type: \"MODIFIER\", index: i, value: str[i++] });\n continue;\n }\n if (char === \"\\\\\") {\n tokens.push({ type: \"ESCAPED_CHAR\", index: i++, value: str[i++] });\n continue;\n }\n if (char === \"{\") {\n tokens.push({ type: \"OPEN\", index: i, value: str[i++] });\n continue;\n }\n if (char === \"}\") {\n tokens.push({ type: \"CLOSE\", index: i, value: str[i++] });\n continue;\n }\n if (char === \":\") {\n var name = \"\";\n var j = i + 1;\n while (j < str.length) {\n var code = str.charCodeAt(j);\n if (\n // `0-9`\n (code >= 48 && code <= 57) ||\n // `A-Z`\n (code >= 65 && code <= 90) ||\n // `a-z`\n (code >= 97 && code <= 122) ||\n // `_`\n code === 95) {\n name += str[j++];\n continue;\n }\n break;\n }\n if (!name)\n throw new TypeError(\"Missing parameter name at \".concat(i));\n tokens.push({ type: \"NAME\", index: i, value: name });\n i = j;\n continue;\n }\n if (char === \"(\") {\n var count = 1;\n var pattern = \"\";\n var j = i + 1;\n if (str[j] === \"?\") {\n throw new TypeError(\"Pattern cannot start with \\\"?\\\" at \".concat(j));\n }\n while (j < str.length) {\n if (str[j] === \"\\\\\") {\n pattern += str[j++] + str[j++];\n continue;\n }\n if (str[j] === \")\") {\n count--;\n if (count === 0) {\n j++;\n break;\n }\n }\n else if (str[j] === \"(\") {\n count++;\n if (str[j + 1] !== \"?\") {\n throw new TypeError(\"Capturing groups are not allowed at \".concat(j));\n }\n }\n pattern += str[j++];\n }\n if (count)\n throw new TypeError(\"Unbalanced pattern at \".concat(i));\n if (!pattern)\n throw new TypeError(\"Missing pattern at \".concat(i));\n tokens.push({ type: \"PATTERN\", index: i, value: pattern });\n i = j;\n continue;\n }\n tokens.push({ type: \"CHAR\", index: i, value: str[i++] });\n }\n tokens.push({ type: \"END\", index: i, value: \"\" });\n return tokens;\n}\n/**\n * Parse a string for the raw tokens.\n */\nexport function parse(str, options) {\n if (options === void 0) { options = {}; }\n var tokens = lexer(str);\n var _a = options.prefixes, prefixes = _a === void 0 ? \"./\" : _a;\n var defaultPattern = \"[^\".concat(escapeString(options.delimiter || \"/#?\"), \"]+?\");\n var result = [];\n var key = 0;\n var i = 0;\n var path = \"\";\n var tryConsume = function (type) {\n if (i < tokens.length && tokens[i].type === type)\n return tokens[i++].value;\n };\n var mustConsume = function (type) {\n var value = tryConsume(type);\n if (value !== undefined)\n return value;\n var _a = tokens[i], nextType = _a.type, index = _a.index;\n throw new TypeError(\"Unexpected \".concat(nextType, \" at \").concat(index, \", expected \").concat(type));\n };\n var consumeText = function () {\n var result = \"\";\n var value;\n while ((value = tryConsume(\"CHAR\") || tryConsume(\"ESCAPED_CHAR\"))) {\n result += value;\n }\n return result;\n };\n while (i < tokens.length) {\n var char = tryConsume(\"CHAR\");\n var name = tryConsume(\"NAME\");\n var pattern = tryConsume(\"PATTERN\");\n if (name || pattern) {\n var prefix = char || \"\";\n if (prefixes.indexOf(prefix) === -1) {\n path += prefix;\n prefix = \"\";\n }\n if (path) {\n result.push(path);\n path = \"\";\n }\n result.push({\n name: name || key++,\n prefix: prefix,\n suffix: \"\",\n pattern: pattern || defaultPattern,\n modifier: tryConsume(\"MODIFIER\") || \"\",\n });\n continue;\n }\n var value = char || tryConsume(\"ESCAPED_CHAR\");\n if (value) {\n path += value;\n continue;\n }\n if (path) {\n result.push(path);\n path = \"\";\n }\n var open = tryConsume(\"OPEN\");\n if (open) {\n var prefix = consumeText();\n var name_1 = tryConsume(\"NAME\") || \"\";\n var pattern_1 = tryConsume(\"PATTERN\") || \"\";\n var suffix = consumeText();\n mustConsume(\"CLOSE\");\n result.push({\n name: name_1 || (pattern_1 ? key++ : \"\"),\n pattern: name_1 && !pattern_1 ? defaultPattern : pattern_1,\n prefix: prefix,\n suffix: suffix,\n modifier: tryConsume(\"MODIFIER\") || \"\",\n });\n continue;\n }\n mustConsume(\"END\");\n }\n return result;\n}\n/**\n * Compile a string to a template function for the path.\n */\nexport function compile(str, options) {\n return tokensToFunction(parse(str, options), options);\n}\n/**\n * Expose a method for transforming tokens into the path function.\n */\nexport function tokensToFunction(tokens, options) {\n if (options === void 0) { options = {}; }\n var reFlags = flags(options);\n var _a = options.encode, encode = _a === void 0 ? function (x) { return x; } : _a, _b = options.validate, validate = _b === void 0 ? true : _b;\n // Compile all the tokens into regexps.\n var matches = tokens.map(function (token) {\n if (typeof token === \"object\") {\n return new RegExp(\"^(?:\".concat(token.pattern, \")$\"), reFlags);\n }\n });\n return function (data) {\n var path = \"\";\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n if (typeof token === \"string\") {\n path += token;\n continue;\n }\n var value = data ? data[token.name] : undefined;\n var optional = token.modifier === \"?\" || token.modifier === \"*\";\n var repeat = token.modifier === \"*\" || token.modifier === \"+\";\n if (Array.isArray(value)) {\n if (!repeat) {\n throw new TypeError(\"Expected \\\"\".concat(token.name, \"\\\" to not repeat, but got an array\"));\n }\n if (value.length === 0) {\n if (optional)\n continue;\n throw new TypeError(\"Expected \\\"\".concat(token.name, \"\\\" to not be empty\"));\n }\n for (var j = 0; j < value.length; j++) {\n var segment = encode(value[j], token);\n if (validate && !matches[i].test(segment)) {\n throw new TypeError(\"Expected all \\\"\".concat(token.name, \"\\\" to match \\\"\").concat(token.pattern, \"\\\", but got \\\"\").concat(segment, \"\\\"\"));\n }\n path += token.prefix + segment + token.suffix;\n }\n continue;\n }\n if (typeof value === \"string\" || typeof value === \"number\") {\n var segment = encode(String(value), token);\n if (validate && !matches[i].test(segment)) {\n throw new TypeError(\"Expected \\\"\".concat(token.name, \"\\\" to match \\\"\").concat(token.pattern, \"\\\", but got \\\"\").concat(segment, \"\\\"\"));\n }\n path += token.prefix + segment + token.suffix;\n continue;\n }\n if (optional)\n continue;\n var typeOfMessage = repeat ? \"an array\" : \"a string\";\n throw new TypeError(\"Expected \\\"\".concat(token.name, \"\\\" to be \").concat(typeOfMessage));\n }\n return path;\n };\n}\n/**\n * Create path match function from `path-to-regexp` spec.\n */\nexport function match(str, options) {\n var keys = [];\n var re = pathToRegexp(str, keys, options);\n return regexpToFunction(re, keys, options);\n}\n/**\n * Create a path match function from `path-to-regexp` output.\n */\nexport function regexpToFunction(re, keys, options) {\n if (options === void 0) { options = {}; }\n var _a = options.decode, decode = _a === void 0 ? function (x) { return x; } : _a;\n return function (pathname) {\n var m = re.exec(pathname);\n if (!m)\n return false;\n var path = m[0], index = m.index;\n var params = Object.create(null);\n var _loop_1 = function (i) {\n if (m[i] === undefined)\n return \"continue\";\n var key = keys[i - 1];\n if (key.modifier === \"*\" || key.modifier === \"+\") {\n params[key.name] = m[i].split(key.prefix + key.suffix).map(function (value) {\n return decode(value, key);\n });\n }\n else {\n params[key.name] = decode(m[i], key);\n }\n };\n for (var i = 1; i < m.length; i++) {\n _loop_1(i);\n }\n return { path: path, index: index, params: params };\n };\n}\n/**\n * Escape a regular expression string.\n */\nfunction escapeString(str) {\n return str.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n}\n/**\n * Get the flags for a regexp from the options.\n */\nfunction flags(options) {\n return options && options.sensitive ? \"\" : \"i\";\n}\n/**\n * Pull out keys from a regexp.\n */\nfunction regexpToRegexp(path, keys) {\n if (!keys)\n return path;\n var groupsRegex = /\\((?:\\?<(.*?)>)?(?!\\?)/g;\n var index = 0;\n var execResult = groupsRegex.exec(path.source);\n while (execResult) {\n keys.push({\n // Use parenthesized substring match if available, index otherwise\n name: execResult[1] || index++,\n prefix: \"\",\n suffix: \"\",\n modifier: \"\",\n pattern: \"\",\n });\n execResult = groupsRegex.exec(path.source);\n }\n return path;\n}\n/**\n * Transform an array into a regexp.\n */\nfunction arrayToRegexp(paths, keys, options) {\n var parts = paths.map(function (path) { return pathToRegexp(path, keys, options).source; });\n return new RegExp(\"(?:\".concat(parts.join(\"|\"), \")\"), flags(options));\n}\n/**\n * Create a path regexp from string input.\n */\nfunction stringToRegexp(path, keys, options) {\n return tokensToRegexp(parse(path, options), keys, options);\n}\n/**\n * Expose a function for taking tokens and returning a RegExp.\n */\nexport function tokensToRegexp(tokens, keys, options) {\n if (options === void 0) { options = {}; }\n var _a = options.strict, strict = _a === void 0 ? false : _a, _b = options.start, start = _b === void 0 ? true : _b, _c = options.end, end = _c === void 0 ? true : _c, _d = options.encode, encode = _d === void 0 ? function (x) { return x; } : _d, _e = options.delimiter, delimiter = _e === void 0 ? \"/#?\" : _e, _f = options.endsWith, endsWith = _f === void 0 ? \"\" : _f;\n var endsWithRe = \"[\".concat(escapeString(endsWith), \"]|$\");\n var delimiterRe = \"[\".concat(escapeString(delimiter), \"]\");\n var route = start ? \"^\" : \"\";\n // Iterate over the tokens and create our regexp string.\n for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n var token = tokens_1[_i];\n if (typeof token === \"string\") {\n route += escapeString(encode(token));\n }\n else {\n var prefix = escapeString(encode(token.prefix));\n var suffix = escapeString(encode(token.suffix));\n if (token.pattern) {\n if (keys)\n keys.push(token);\n if (prefix || suffix) {\n if (token.modifier === \"+\" || token.modifier === \"*\") {\n var mod = token.modifier === \"*\" ? \"?\" : \"\";\n route += \"(?:\".concat(prefix, \"((?:\").concat(token.pattern, \")(?:\").concat(suffix).concat(prefix, \"(?:\").concat(token.pattern, \"))*)\").concat(suffix, \")\").concat(mod);\n }\n else {\n route += \"(?:\".concat(prefix, \"(\").concat(token.pattern, \")\").concat(suffix, \")\").concat(token.modifier);\n }\n }\n else {\n if (token.modifier === \"+\" || token.modifier === \"*\") {\n route += \"((?:\".concat(token.pattern, \")\").concat(token.modifier, \")\");\n }\n else {\n route += \"(\".concat(token.pattern, \")\").concat(token.modifier);\n }\n }\n }\n else {\n route += \"(?:\".concat(prefix).concat(suffix, \")\").concat(token.modifier);\n }\n }\n }\n if (end) {\n if (!strict)\n route += \"\".concat(delimiterRe, \"?\");\n route += !options.endsWith ? \"$\" : \"(?=\".concat(endsWithRe, \")\");\n }\n else {\n var endToken = tokens[tokens.length - 1];\n var isEndDelimited = typeof endToken === \"string\"\n ? delimiterRe.indexOf(endToken[endToken.length - 1]) > -1\n : endToken === undefined;\n if (!strict) {\n route += \"(?:\".concat(delimiterRe, \"(?=\").concat(endsWithRe, \"))?\");\n }\n if (!isEndDelimited) {\n route += \"(?=\".concat(delimiterRe, \"|\").concat(endsWithRe, \")\");\n }\n }\n return new RegExp(route, flags(options));\n}\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n */\nexport function pathToRegexp(path, keys, options) {\n if (path instanceof RegExp)\n return regexpToRegexp(path, keys);\n if (Array.isArray(path))\n return arrayToRegexp(path, keys, options);\n return stringToRegexp(path, keys, options);\n}\n//# sourceMappingURL=index.js.map","// Ref https://github.com/ReactTraining/react-router/blob/master/packages/react-router/modules/matchPath.js\n\nimport { pathToRegexp, compile } from \"path-to-regexp\";\nvar cache = new Map();\nvar cacheLimit = 10000;\nvar cacheCount = 0;\nfunction compilePath(path, options) {\n var cacheKey = \"\".concat(options.end).concat(options.strict).concat(options.sensitive);\n var pathCache = cache.get(cacheKey);\n if (!pathCache) {\n cache.set(cacheKey, pathCache = new Map());\n }\n var cacheResult = pathCache.get(path);\n if (cacheResult) {\n return cacheResult;\n }\n var keys = [];\n var regexp = pathToRegexp(path, keys, options);\n var result = {\n regexp,\n keys\n };\n if (cacheCount < cacheLimit) {\n pathCache.set(path, result);\n cacheCount++;\n }\n return result;\n}\n\n/**\n * Public API for matching a URL pathname to a path.\n */\nexport function matchPath(pathname, options) {\n var {\n path: p,\n exact = false,\n strict = false,\n sensitive = true\n } = options;\n var paths = Array.isArray(p) ? p : [p];\n return paths.reduce((matched, path) => {\n if (matched) {\n return matched;\n }\n var {\n regexp,\n keys\n } = compilePath(path, {\n end: exact,\n strict,\n sensitive\n });\n var match = regexp.exec(pathname);\n if (!match) {\n return null;\n }\n var [url, ...values] = match;\n var isExact = pathname === url;\n if (exact && !isExact) {\n return null;\n }\n var initialParams = {};\n var result = {\n path,\n // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url,\n // the matched portion of the URL\n isExact,\n // whether or not we matched exactly\n params: keys.reduce((memo, key, index) => {\n memo[key.name] = values[index];\n return memo;\n }, initialParams)\n };\n return result;\n }, null);\n}\nexport function toPath(path, pathParams) {\n return compile(path)(pathParams);\n}\n//# sourceMappingURL=matchPath.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { matchPath } from \"./matchPath.js\";\nimport { asyncCheckIf } from \"./compute/checkIf.js\";\nimport { hooks } from \"./Runtime.js\";\nexport function matchRoutes(_x, _x2) {\n return _matchRoutes.apply(this, arguments);\n}\nfunction _matchRoutes() {\n _matchRoutes = _asyncToGenerator(function* (routes, runtimeContext) {\n for (var route of routes) {\n if (typeof route.path !== \"string\") {\n // eslint-disable-next-line no-console\n console.error(\"Invalid route with invalid path:\", route);\n throw new Error(\"Invalid route with invalid type of path: \".concat(typeof route.path));\n }\n var match = matchRoute(route, runtimeContext.app.homepage, runtimeContext.location.pathname);\n if (match && (yield asyncCheckIf(route, runtimeContext))) {\n if (runtimeContext.app.noAuthGuard || route.public || !(hooks !== null && hooks !== void 0 && hooks.auth) || hooks.auth.isLoggedIn()) {\n return {\n match,\n route\n };\n }\n return \"unauthenticated\";\n }\n }\n return \"missed\";\n });\n return _matchRoutes.apply(this, arguments);\n}\nexport function matchRoute(route, homepage, pathname) {\n var routePath = route.path.replace(/^\\$\\{APP.homepage\\}/, homepage);\n return matchPath(pathname, {\n path: routePath,\n exact: route.exact\n });\n}\n//# sourceMappingURL=matchRoutes.js.map","export var symbolForAsyncComputedPropsFromHost = Symbol.for(\"tpl.asyncComputedPropsFromHost\");\nexport var symbolForTplStateStoreId = Symbol.for(\"tpl.stateStoreId\");\nexport var symbolForTPlExternalForEachItem = Symbol.for(\"tpl.externalForEachItem\");\nexport var symbolForTPlExternalForEachIndex = Symbol.for(\"tpl.externalForEachIndex\");\nexport var symbolForTPlExternalNoForEach = Symbol.for(\"tpl.externalNoForEach\");\n//# sourceMappingURL=constants.js.map","var brick;\nfunction show(options) {\n if (brick) {\n return brick.resolve(options);\n } else {\n if (options.type === \"confirm\") {\n var confirmed = confirm(options.content);\n return new Promise((resolve, reject) => setTimeout(() => {\n (confirmed ? resolve : reject)();\n }, 1));\n } else {\n alert(options.content);\n return new Promise(resolve => setTimeout(() => {\n resolve();\n }, 1));\n }\n }\n}\nexport function loadDialogService(tagName, loader) {\n loader([tagName]).then(() => {\n brick = document.createElement(tagName);\n }, error => {\n // eslint-disable-next-line no-console\n console.error(\"Load dialog service failed:\", error);\n });\n}\nexport var Dialog = Object.freeze({\n show\n});\n//# sourceMappingURL=Dialog.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { pick } from \"lodash\";\nimport { _internalApiGetRenderId } from \"./Runtime.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\nvar timeoutIdList = new Set();\nexport function startPoll(task, _ref, pollOptions, runtimeContext) {\n var {\n progress,\n success,\n error,\n finally: finallyCallback\n } = _ref;\n var {\n expectPollStopImmediately,\n expectPollEnd\n } = pollOptions;\n var {\n interval,\n leadingRequestDelay,\n continueOnError,\n delegateLoadingBar\n } = computeRealValue(pick(pollOptions, [\"interval\", \"leadingRequestDelay\", \"continueOnError\", \"delegateLoadingBar\"]), runtimeContext);\n var currentRenderId = _internalApiGetRenderId();\n var currentTimeoutId;\n function poll() {\n return _poll.apply(this, arguments);\n }\n function _poll() {\n _poll = _asyncToGenerator(function* () {\n timeoutIdList.delete(currentTimeoutId);\n var shouldStop;\n try {\n var _computeRealValue;\n shouldStop = (_computeRealValue = computeRealValue(expectPollStopImmediately, runtimeContext)) === null || _computeRealValue === void 0 ? void 0 : _computeRealValue();\n // Stop polling immediately when the expectation is match before task.\n if (!shouldStop) {\n var _computeRealValue2;\n var _result = yield task();\n var expectPollStopImmediatelyResult = (_computeRealValue2 = computeRealValue(expectPollStopImmediately, runtimeContext)) === null || _computeRealValue2 === void 0 ? void 0 : _computeRealValue2();\n // Stop polling immediately when the expectation is match or a different router\n // is rendering after the task processed.\n shouldStop = expectPollStopImmediatelyResult || currentRenderId !== _internalApiGetRenderId();\n if (!shouldStop) {\n var _computeRealValue3;\n progress === null || progress === void 0 || progress(_result);\n if ((_computeRealValue3 = computeRealValue(expectPollEnd, runtimeContext)) !== null && _computeRealValue3 !== void 0 && _computeRealValue3(_result)) {\n if (delegateLoadingBar) {\n window.dispatchEvent(new Event(\"request.end\"));\n }\n success === null || success === void 0 || success(_result);\n finallyCallback === null || finallyCallback === void 0 || finallyCallback();\n } else {\n delayedPoll(interval !== null && interval !== void 0 ? interval : 3000);\n }\n } else if (expectPollStopImmediatelyResult) {\n finallyCallback === null || finallyCallback === void 0 || finallyCallback();\n }\n } else {\n finallyCallback === null || finallyCallback === void 0 || finallyCallback();\n }\n } catch (e) {\n var _computeRealValue4;\n var _expectPollStopImmediatelyResult = (_computeRealValue4 = computeRealValue(expectPollStopImmediately, runtimeContext)) === null || _computeRealValue4 === void 0 ? void 0 : _computeRealValue4();\n // Stop polling immediately when the expectation is match or a different router\n // is rendering after the task processed.\n shouldStop = _expectPollStopImmediatelyResult || currentRenderId !== _internalApiGetRenderId();\n if (!shouldStop) {\n error === null || error === void 0 || error(e);\n if (continueOnError) {\n delayedPoll(interval !== null && interval !== void 0 ? interval : 3000);\n } else {\n finallyCallback === null || finallyCallback === void 0 || finallyCallback();\n }\n } else if (_expectPollStopImmediatelyResult) {\n finallyCallback === null || finallyCallback === void 0 || finallyCallback();\n }\n } finally {\n // Manually dispatch an event of `request.end` when the polling is stopped immediately.\n if (delegateLoadingBar && shouldStop) {\n window.dispatchEvent(new Event(\"request.end\"));\n }\n }\n });\n return _poll.apply(this, arguments);\n }\n function delayedPoll(delay) {\n currentTimeoutId = setTimeout(poll, delay);\n timeoutIdList.add(currentTimeoutId);\n }\n delayedPoll(leadingRequestDelay !== null && leadingRequestDelay !== void 0 ? leadingRequestDelay : 0);\n if (delegateLoadingBar) {\n window.dispatchEvent(new Event(\"request.start\"));\n }\n}\nexport function clearPollTimeout() {\n for (var timeoutId of timeoutIdList) {\n clearTimeout(timeoutId);\n }\n timeoutIdList.clear();\n}\n//# sourceMappingURL=poll.js.map","export var K = /*#__PURE__*/function (K) {\n K[\"REQUEST_FAILED\"] = \"REQUEST_FAILED\";\n K[\"SOMETHING_WENT_WRONG\"] = \"SOMETHING_WENT_WRONG\";\n K[\"LOGIN_TIMEOUT_MESSAGE\"] = \"LOGIN_TIMEOUT_MESSAGE\";\n K[\"NETWORK_ERROR\"] = \"NETWORK_ERROR\";\n return K;\n}({});\nvar en = {\n [K.REQUEST_FAILED]: \"Request Failed\",\n [K.SOMETHING_WENT_WRONG]: \"Something went wrong!\",\n [K.LOGIN_TIMEOUT_MESSAGE]: \"You haven't logged in or your login session has expired. Login right now?\",\n [K.NETWORK_ERROR]: \"Network error, please check your network.\"\n};\nvar zh = {\n [K.REQUEST_FAILED]: \"请求失败\",\n [K.SOMETHING_WENT_WRONG]: \"出现了一些问题!\",\n [K.LOGIN_TIMEOUT_MESSAGE]: \"您还未登录或登录信息已过期,现在重新登录?\",\n [K.NETWORK_ERROR]: \"网络错误,请检查您的网络连接。\"\n};\nexport var NS = \"core/runtime\";\nexport var locales = {\n en,\n zh\n};\n//# sourceMappingURL=i18n.js.map","export function setLoginStateCookie(location) {\n // 独立打包应用 登录时间超时后还是由前端控制跳转,后台无法处理设置登录前的 path 和 query 的 cookie 值\n // 此这场景下前端做下处理\n\n var {\n search,\n pathname\n } = location;\n var pathValue = pathname ? window.btoa(encodeURIComponent(pathname)) : \"\";\n var searchValue = search ? window.btoa(encodeURIComponent(search)) : \"\";\n document.cookie = \"SALOGINPATH=\".concat(pathValue, \"; path=/\");\n document.cookie = \"SALOGINQUERY=\".concat(searchValue, \"; path=/\");\n}\n//# sourceMappingURL=setLoginStateCookie.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { HttpAbortError, HttpFetchError, HttpResponseError } from \"@next-core/http\";\nimport { i18n } from \"@next-core/i18n\";\nimport { getRuntime } from \"./internal/Runtime.js\";\nimport { getHistory } from \"./history.js\";\nimport { K, NS } from \"./internal/i18n.js\";\nimport { Dialog } from \"./Dialog.js\";\nimport { setLoginStateCookie } from \"./setLoginStateCookie.js\";\n\n/**\n * 将 http 请求错误转换为可读的字符串。\n *\n * @remarks\n *\n * 将依次尝试读取返回的 JSON 格式数据的字符串类型的 `error` 和 `msg` 字段,如果没有找到则返回 `error.toString()` 的结果。\n *\n * @param error - 错误对象。\n *\n * @returns 转换为字符串的错误信息。\n */\nexport function httpErrorToString(error) {\n if (error instanceof Event && error.target instanceof HTMLScriptElement) {\n return error.target.src;\n }\n if (error instanceof HttpFetchError) {\n return i18n.t(\"\".concat(NS, \":\").concat(K.NETWORK_ERROR));\n }\n if (error instanceof HttpResponseError) {\n if (error.responseJson) {\n if (typeof error.responseJson.error === \"string\") {\n return error.responseJson.error;\n } else if (typeof error.responseJson.msg === \"string\") {\n return error.responseJson.msg;\n }\n }\n }\n if (error == null) {\n return \"Unknown error\";\n }\n return error.toString();\n}\nexport function isUnauthenticatedError(error) {\n return error instanceof HttpResponseError && error.response.status === 401 && !!error.responseJson && error.responseJson.code === 100003;\n}\nvar unauthenticatedConfirming = false;\nvar lastErrorMessage;\n\n/**\n * 处理 http 请求错误(使用 AntDesign 模态框弹出错误信息)。\n *\n * @param error - 错误对象。\n */\nexport function handleHttpError(error) {\n // Do nothing if aborted http requests\n if (error instanceof HttpAbortError) {\n return;\n }\n\n // Redirect to login page if not logged in.\n if (isUnauthenticatedError(error) && !window.NO_AUTH_GUARD) {\n if (unauthenticatedConfirming) {\n return;\n }\n unauthenticatedConfirming = true;\n Dialog.show({\n type: \"confirm\",\n content: i18n.t(\"\".concat(NS, \":\").concat(K.LOGIN_TIMEOUT_MESSAGE))\n }).then(() => {\n redirectToLogin();\n unauthenticatedConfirming = false;\n }, () => {\n unauthenticatedConfirming = false;\n });\n return;\n }\n\n // eslint-disable-next-line no-console\n console.error(error);\n var message = httpErrorToString(error);\n if (message !== lastErrorMessage) {\n lastErrorMessage = message;\n Dialog.show({\n type: \"error\",\n title: i18n.t(\"\".concat(NS, \":\").concat(K.REQUEST_FAILED)),\n content: message,\n contentStyle: {\n whiteSpace: \"pre-wrap\",\n wordBreak: \"break-word\"\n }\n }).then(() => {\n lastErrorMessage = undefined;\n });\n }\n return;\n}\nfunction redirectToLogin() {\n var ssoEnabled = getRuntime().getFeatureFlags()[\"sso-enabled\"];\n var history = getHistory();\n setLoginStateCookie(history.location);\n history.push(ssoEnabled ? \"/sso-auth/login\" : \"/auth/login\", {\n from: _objectSpread(_objectSpread({}, history.location), {}, {\n state: undefined\n })\n });\n}\n//# sourceMappingURL=handleHttpError.js.map","var brick;\nfunction show(options) {\n if (brick) {\n brick.resolve(options);\n } else {\n alert(options.message);\n }\n}\nexport function loadNotificationService(tagName, loader) {\n loader([tagName]).then(() => {\n brick = document.createElement(tagName);\n }, error => {\n // eslint-disable-next-line no-console\n console.error(\"Load notification service failed:\", error);\n });\n}\nexport var Notification = Object.freeze({\n show\n});\n//# sourceMappingURL=Notification.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _asyncIterator from \"@babel/runtime/helpers/asyncIterator\";\nimport { _internalApiGetRenderId } from \"./Runtime.js\";\nexport function startSSEStream(_x, _x2) {\n return _startSSEStream.apply(this, arguments);\n}\nfunction _startSSEStream() {\n _startSSEStream = _asyncToGenerator(function* (task, _ref) {\n var {\n progress,\n success,\n error,\n finally: finallyCallback\n } = _ref;\n var currentRenderId = _internalApiGetRenderId();\n try {\n var stream = yield task();\n var _iteratorAbruptCompletion = false;\n var _didIteratorError = false;\n var _iteratorError;\n try {\n for (var _iterator = _asyncIterator(stream), _step; _iteratorAbruptCompletion = !(_step = yield _iterator.next()).done; _iteratorAbruptCompletion = false) {\n var value = _step.value;\n {\n if (currentRenderId !== _internalApiGetRenderId()) {\n return;\n }\n progress === null || progress === void 0 || progress(value);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (_iteratorAbruptCompletion && _iterator.return != null) {\n yield _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n if (currentRenderId !== _internalApiGetRenderId()) {\n return;\n }\n success === null || success === void 0 || success();\n } catch (e) {\n if (currentRenderId !== _internalApiGetRenderId()) {\n return;\n }\n error === null || error === void 0 || error(e);\n } finally {\n finallyCallback === null || finallyCallback === void 0 || finallyCallback();\n }\n });\n return _startSSEStream.apply(this, arguments);\n}\n//# sourceMappingURL=sse.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { isEvaluable } from \"@next-core/cook\";\nimport { isObject } from \"@next-core/utils/general\";\nimport { checkIf } from \"./compute/checkIf.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\nimport { getHistory } from \"../history.js\";\nimport { getProviderBrick } from \"./data/getProviderBrick.js\";\nimport { startPoll } from \"./poll.js\";\nimport { isPreEvaluated } from \"./compute/evaluate.js\";\nimport { setProperties } from \"./compute/setProperties.js\";\nimport { applyMode, applyTheme } from \"../themeAndMode.js\";\nimport { getTplHostElement, getTplStateStore } from \"./CustomTemplates/utils.js\";\nimport { handleHttpError, httpErrorToString } from \"../handleHttpError.js\";\nimport { Notification } from \"../Notification.js\";\nimport { getFormStateStore } from \"./FormRenderer/utils.js\";\nimport { hooks } from \"./Runtime.js\";\nimport { startSSEStream } from \"./sse.js\";\nexport function bindListeners(brick, eventsMap, runtimeContext) {\n if (!eventsMap) {\n return;\n }\n Object.entries(eventsMap).forEach(_ref => {\n var [eventType, handlers] = _ref;\n var listener = listenerFactory(handlers, runtimeContext, {\n element: brick\n });\n brick.addEventListener(eventType, listener);\n\n // Remember added listeners for unbinding.\n if (!brick.$$listeners) {\n brick.$$listeners = [];\n }\n brick.$$listeners.push([eventType, listener]);\n\n // Remember added listeners for devtools.\n if (!brick.$$eventListeners) {\n brick.$$eventListeners = [];\n }\n for (var handler of [].concat(handlers)) {\n brick.$$eventListeners.push([eventType, null, handler]);\n }\n });\n}\nexport function unbindListeners(brick) {\n if (brick.$$listeners) {\n for (var [eventType, listener] of brick.$$listeners) {\n brick.removeEventListener(eventType, listener);\n }\n brick.$$listeners.length = 0;\n }\n}\nexport function isBuiltinHandler(handler) {\n return typeof handler.action === \"string\";\n}\nexport function isUseProviderHandler(handler) {\n return typeof handler.useProvider === \"string\";\n}\nexport function isCustomHandler(handler) {\n return !!((handler.target || handler.targetRef) && (handler.method || handler.properties));\n}\nexport function isExecuteCustomHandler(handler) {\n return !!handler.method;\n}\nexport function isSetPropsCustomHandler(handler) {\n return !!handler.properties;\n}\nexport function isConditionalEventHandler(handler) {\n return !!handler.then;\n}\nexport function listenerFactory(handlers, runtimeContext, runtimeBrick) {\n return function (event) {\n var _handler$batch, _handler$batch2;\n for (var handler of [].concat(handlers)) {\n if (!checkIf(handler, _objectSpread(_objectSpread({}, runtimeContext), {}, {\n event\n }))) {\n if (handler.else) {\n listenerFactory(handler.else, runtimeContext, runtimeBrick)(event);\n }\n continue;\n }\n if (isConditionalEventHandler(handler)) {\n listenerFactory(handler.then, runtimeContext, runtimeBrick)(event);\n } else if (isBuiltinHandler(handler)) {\n var [object, method] = handler.action.split(\".\");\n switch (handler.action) {\n case \"history.push\":\n case \"history.replace\":\n case \"history.pushQuery\":\n case \"history.replaceQuery\":\n case \"history.pushAnchor\":\n case \"history.block\":\n case \"history.goBack\":\n case \"history.goForward\":\n case \"history.reload\":\n case \"history.unblock\":\n handleHistoryAction(event, method, handler.args, handler.callback, runtimeContext);\n break;\n\n // case \"segue.push\":\n // case \"segue.replace\":\n // case \"alias.push\":\n // case \"alias.replace\":\n\n case \"window.open\":\n handleWindowAction(event, handler.args, runtimeContext);\n break;\n case \"location.reload\":\n case \"location.assign\":\n handleLocationAction(event, method, handler.args, runtimeContext);\n break;\n case \"localStorage.setItem\":\n case \"localStorage.removeItem\":\n case \"sessionStorage.setItem\":\n case \"sessionStorage.removeItem\":\n handleStorageAction(event, object, method, handler.args, runtimeContext);\n break;\n case \"event.preventDefault\":\n event.preventDefault();\n break;\n case \"event.stopPropagation\":\n event.stopPropagation();\n break;\n case \"console.log\":\n case \"console.error\":\n case \"console.warn\":\n case \"console.info\":\n handleConsoleAction(event, method, handler.args, runtimeContext);\n break;\n case \"message.success\":\n case \"message.error\":\n case \"message.info\":\n case \"message.warn\":\n handleMessageAction(event, method, handler.args, runtimeContext);\n break;\n case \"handleHttpError\":\n handleHttpError(event.detail);\n break;\n case \"context.assign\":\n case \"context.replace\":\n case \"context.refresh\":\n case \"context.load\":\n handleContextAction(event, method, handler.args, (_handler$batch = handler.batch) !== null && _handler$batch !== void 0 ? _handler$batch : true, handler.callback, runtimeContext);\n break;\n case \"state.update\":\n case \"state.refresh\":\n case \"state.load\":\n handleTplStateAction(event, method, handler.args, (_handler$batch2 = handler.batch) !== null && _handler$batch2 !== void 0 ? _handler$batch2 : true, handler.callback, runtimeContext);\n break;\n case \"tpl.dispatchEvent\":\n {\n var [type, init] = argsFactory(handler.args, runtimeContext, event);\n var tplHostElement = getTplHostElement(runtimeContext, handler.action, \": \".concat(type));\n tplHostElement.dispatchEvent(new CustomEvent(type, init));\n break;\n }\n case \"formstate.update\":\n handleFormStateAction(event, handler.args, handler.callback, runtimeContext);\n break;\n case \"message.subscribe\":\n case \"message.unsubscribe\":\n handleMessageDispatcher(event, method, handler.args, runtimeContext, runtimeBrick, handler.callback);\n break;\n case \"theme.setDarkTheme\":\n case \"theme.setLightTheme\":\n applyTheme(handler.action === \"theme.setDarkTheme\" ? \"dark\" : \"light\");\n break;\n case \"theme.setTheme\":\n {\n var [theme] = argsFactory(handler.args, runtimeContext, event);\n applyTheme(theme);\n break;\n }\n case \"mode.setDashboardMode\":\n case \"mode.setDefaultMode\":\n applyMode(handler.action === \"mode.setDashboardMode\" ? \"dashboard\" : \"default\");\n break;\n\n // case \"menu.clearMenuTitleCache\":\n // case \"menu.clearMenuCache\":\n\n // case \"analytics.event\":\n\n // case \"preview.debug\":\n\n default:\n // eslint-disable-next-line no-console\n console.error(\"unknown event listener action:\", handler.action);\n }\n } else if (isUseProviderHandler(handler)) {\n handleUseProviderAction(event, handler, runtimeContext, runtimeBrick);\n } else if (isCustomHandler(handler)) {\n handleCustomAction(event, handler, runtimeContext, runtimeBrick);\n } else {\n // eslint-disable-next-line no-console\n console.error(\"unknown event handler:\", handler);\n }\n }\n };\n}\nfunction handleUseProviderAction(_x, _x2, _x3, _x4) {\n return _handleUseProviderAction.apply(this, arguments);\n}\nfunction _handleUseProviderAction() {\n _handleUseProviderAction = _asyncToGenerator(function* (event, handler, runtimeContext, runtimeBrick) {\n try {\n var providerBrick = yield getProviderBrick(handler.useProvider);\n var method = handler.method !== \"saveAs\" ? \"resolve\" : \"saveAs\";\n brickCallback(event, providerBrick, handler, method, runtimeContext, runtimeBrick);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(httpErrorToString(error));\n }\n });\n return _handleUseProviderAction.apply(this, arguments);\n}\nfunction handleCustomAction(event, handler, runtimeContext, runtimeBrick) {\n var targets = [];\n var rawTarget = handler.target;\n var rawTargetRef = handler.targetRef;\n var computedTarget = rawTarget;\n // Allow `target` to be set as evaluable string.\n if (typeof rawTarget === \"string\" ? isEvaluable(rawTarget) : isPreEvaluated(rawTarget)) {\n computedTarget = computeRealValue(rawTarget, _objectSpread(_objectSpread({}, runtimeContext), {}, {\n event\n }));\n }\n if (typeof computedTarget === \"string\") {\n if (computedTarget === \"_self\") {\n targets.push(runtimeBrick.element);\n } else if (handler.multiple) {\n targets = Array.from(document.querySelectorAll(computedTarget));\n } else {\n var found = document.querySelector(computedTarget);\n if (found !== null) {\n targets.push(found);\n }\n }\n } else if (computedTarget) {\n if (computedTarget instanceof HTMLElement) {\n targets.push(computedTarget);\n } else {\n // eslint-disable-next-line no-console\n console.error(\"unexpected target:\", computedTarget);\n }\n } else if (rawTargetRef) {\n var computedTargetRef = rawTargetRef;\n // Allow `targetRef` to be set as evaluable string.\n if (typeof rawTargetRef === \"string\" ? isEvaluable(rawTargetRef) : isPreEvaluated(rawTargetRef)) {\n computedTargetRef = computeRealValue(rawTargetRef, _objectSpread(_objectSpread({}, runtimeContext), {}, {\n event\n }));\n }\n var targetRefs = [].concat(computedTargetRef);\n var tplHostElement = getTplHostElement(runtimeContext, \"targetRef\", \": \".concat(targetRefs.join(\", \")));\n targets.push(...targetRefs.map(ref => {\n var _tplHostElement$$$get;\n return (_tplHostElement$$$get = tplHostElement.$$getElementByRef) === null || _tplHostElement$$$get === void 0 ? void 0 : _tplHostElement$$$get.call(tplHostElement, ref);\n }).filter(Boolean));\n }\n if (targets.length === 0) {\n // eslint-disable-next-line no-console\n console.error(\"target not found:\", rawTarget || rawTargetRef);\n return;\n }\n if (isExecuteCustomHandler(handler)) {\n targets.forEach(target => {\n brickCallback(event, target, handler, handler.method, runtimeContext, runtimeBrick, {\n useEventAsDefault: true\n });\n });\n } else if (isSetPropsCustomHandler(handler)) {\n setProperties(targets, handler.properties, _objectSpread(_objectSpread({}, runtimeContext), {}, {\n event\n }));\n }\n}\nfunction brickCallback(_x5, _x6, _x7, _x8, _x9, _x10, _x11) {\n return _brickCallback.apply(this, arguments);\n}\nfunction _brickCallback() {\n _brickCallback = _asyncToGenerator(function* (event, target, handler, method, runtimeContext, runtimeBrick, options) {\n if (typeof target[method] !== \"function\") {\n // eslint-disable-next-line no-console\n console.error(\"target has no method:\", {\n target,\n method: method\n });\n return;\n }\n var task = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _hooks$flowApi;\n var computedArgs = argsFactory(handler.args, runtimeContext, event, options);\n if (isUseProviderHandler(handler) && hooks !== null && hooks !== void 0 && (_hooks$flowApi = hooks.flowApi) !== null && _hooks$flowApi !== void 0 && _hooks$flowApi.isFlowApiProvider(handler.useProvider)) {\n var _handler$sse;\n computedArgs = yield hooks.flowApi.getArgsOfFlowApi(handler.useProvider, computedArgs, method, (_handler$sse = handler.sse) === null || _handler$sse === void 0 ? void 0 : _handler$sse.stream);\n }\n return target[method](...computedArgs);\n });\n return function task() {\n return _ref2.apply(this, arguments);\n };\n }();\n if (!handler.callback) {\n task();\n return;\n }\n var callbackFactory = eventCallbackFactory(handler.callback, runtimeContext, runtimeBrick);\n var pollableCallback = {\n progress: callbackFactory(\"progress\"),\n success: callbackFactory(\"success\"),\n error: callbackFactory(\"error\"),\n finally: callbackFactory(\"finally\")\n };\n if (isUseProviderHandler(handler)) {\n var _handler$sse2, _handler$poll;\n var pollRuntimeContext = _objectSpread(_objectSpread({}, runtimeContext), {}, {\n event\n });\n var sseStream = computeRealValue((_handler$sse2 = handler.sse) === null || _handler$sse2 === void 0 ? void 0 : _handler$sse2.stream, pollRuntimeContext);\n if (sseStream) {\n startSSEStream(task, pollableCallback);\n return;\n }\n var pollEnabled = computeRealValue((_handler$poll = handler.poll) === null || _handler$poll === void 0 ? void 0 : _handler$poll.enabled, pollRuntimeContext);\n if (pollEnabled) {\n startPoll(task, pollableCallback, handler.poll, pollRuntimeContext);\n return;\n }\n }\n try {\n // Try to catch synchronized tasks too.\n var result = yield task();\n pollableCallback.success(result);\n } catch (err) {\n pollableCallback.error(err);\n } finally {\n pollableCallback[\"finally\"]();\n }\n });\n return _brickCallback.apply(this, arguments);\n}\nfunction handleHistoryAction(event, method, args, callback, runtimeContext) {\n var baseArgsLength = 0;\n var hasCallback = false;\n var overrideMethod = method;\n switch (method) {\n case \"push\":\n case \"replace\":\n case \"pushQuery\":\n case \"replaceQuery\":\n case \"pushAnchor\":\n baseArgsLength = 2;\n hasCallback = true;\n break;\n case \"reload\":\n hasCallback = true;\n break;\n case \"block\":\n baseArgsLength = 1;\n overrideMethod = \"setBlockMessage\";\n break;\n }\n var computedArgs = [];\n if (baseArgsLength > 0) {\n computedArgs = argsFactory(args, runtimeContext, event, {\n useEventDetailAsDefault: true\n });\n computedArgs.length = baseArgsLength;\n }\n if (hasCallback && callback) {\n var callbackFactory = eventCallbackFactory(callback, runtimeContext, undefined);\n computedArgs.push(blocked => {\n callbackFactory(blocked ? \"error\" : \"success\")({\n blocked\n });\n callbackFactory(\"finally\")({\n blocked\n });\n });\n }\n getHistory()[overrideMethod](...computedArgs);\n}\nfunction handleWindowAction(event, args, runtimeContext) {\n var [url, target, features] = argsFactory(args, runtimeContext, event);\n window.open(url, target || \"_self\", features);\n}\nfunction batchUpdate(args, batch, method, store, runtimeContext, event) {\n if (batch) {\n store.updateValues(args, method, arg => {\n return argsFactory(arg, runtimeContext, event)[0];\n });\n } else {\n args.forEach(arg => {\n var {\n name,\n value\n } = argsFactory([arg], runtimeContext, event)[0];\n store.updateValue(name, value, method);\n });\n }\n}\nfunction handleContextAction(event, method, args, batch, callback, runtimeContext) {\n var isBatch = Array.isArray(args) && args.every(isObject);\n if (isBatch && (method === \"assign\" || method === \"replace\")) {\n batchUpdate(args, batch, method, runtimeContext.ctxStore, runtimeContext, event);\n } else {\n var [name, value] = argsFactory(args, runtimeContext, event);\n runtimeContext.ctxStore.updateValue(name, value, method, callback, runtimeContext);\n }\n}\nfunction handleTplStateAction(event, method, args, batch, callback, runtimeContext) {\n var isBatch = Array.isArray(args) && args.every(isObject);\n if (isBatch && method === \"update\") {\n var tplStateStore = getTplStateStore(runtimeContext, \"state.\".concat(method), \": \".concat(JSON.stringify(args)));\n batchUpdate(args, batch, \"replace\", tplStateStore, runtimeContext, event);\n } else {\n var [name, value] = argsFactory(args, runtimeContext, event);\n var _tplStateStore = getTplStateStore(runtimeContext, \"state.\".concat(method), \": \".concat(name));\n _tplStateStore.updateValue(name, value, method === \"update\" ? \"replace\" : method, callback, runtimeContext);\n }\n}\nfunction handleFormStateAction(event, args, callback, runtimeContext) {\n var [name, value] = argsFactory(args, runtimeContext, event);\n var formStateStore = getFormStateStore(runtimeContext, \"formstate.update\", \": \".concat(name));\n formStateStore.updateValue(name, value, \"replace\", callback, runtimeContext);\n}\nfunction handleLocationAction(event, method, args, runtimeContext) {\n if (method === \"assign\") {\n var [url] = argsFactory(args, runtimeContext, event);\n location.assign(url);\n } else {\n location[method]();\n }\n}\nfunction handleStorageAction(event, object, method, args, runtimeContext) {\n var storage = object === \"localStorage\" ? localStorage : sessionStorage;\n var [name, value] = argsFactory(args, runtimeContext, event);\n if (method === \"setItem\") {\n if (value !== undefined) {\n storage.setItem(name, JSON.stringify(value));\n }\n } else {\n storage.removeItem(name);\n }\n}\nfunction handleConsoleAction(event, method, args, runtimeContext) {\n // eslint-disable-next-line no-console\n console[method](...argsFactory(args, runtimeContext, event, {\n useEventAsDefault: true\n }));\n}\nfunction handleMessageAction(event, method, args, runtimeContext) {\n var computedArgs = argsFactory(args, runtimeContext, event, {\n useEventAsDefault: true\n });\n Notification.show({\n type: method,\n message: computedArgs[0]\n });\n}\nfunction handleMessageDispatcher(_x12, _x13, _x14, _x15, _x16, _x17) {\n return _handleMessageDispatcher.apply(this, arguments);\n}\nfunction _handleMessageDispatcher() {\n _handleMessageDispatcher = _asyncToGenerator(function* (event, method, args, runtimeContext, runtimeBrick, callback) {\n var task = () => {\n var _hooks$messageDispatc;\n var computedArgs = argsFactory(args, runtimeContext, event);\n return hooks === null || hooks === void 0 || (_hooks$messageDispatc = hooks.messageDispatcher) === null || _hooks$messageDispatc === void 0 ? void 0 : _hooks$messageDispatc[method](...computedArgs);\n };\n if (!callback) {\n task();\n return;\n }\n var callbackFactory = eventCallbackFactory(callback, runtimeContext, runtimeBrick);\n try {\n var result = yield task();\n callbackFactory(\"success\")(result);\n } catch (error) {\n callbackFactory(\"error\")(error);\n } finally {\n callbackFactory(\"finally\")();\n }\n });\n return _handleMessageDispatcher.apply(this, arguments);\n}\nexport function eventCallbackFactory(callback, runtimeContext, runtimeBrick) {\n return function callbackFactory(type) {\n return function (result) {\n var handlers = callback === null || callback === void 0 ? void 0 : callback[type];\n if (handlers) {\n try {\n var event = new CustomEvent(\"callback.\".concat(type), {\n detail: result\n });\n listenerFactory(handlers, runtimeContext, runtimeBrick)(event);\n } catch (err) {\n // Do not throw errors in `callback.success` or `callback.progress`,\n // to avoid the following triggering of `callback.error`.\n // eslint-disable-next-line\n console.error(err);\n }\n } else if (type === \"error\") {\n // eslint-disable-next-line\n console.error(\"Unhandled callback error:\", result);\n }\n };\n };\n}\nfunction argsFactory(args, runtimeContext, event) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n return Array.isArray(args) ? computeRealValue(args, _objectSpread(_objectSpread({}, runtimeContext), {}, {\n event\n })) : options.useEventAsDefault ? [event] : options.useEventDetailAsDefault ? [event.detail] : [];\n}\n//# sourceMappingURL=bindListeners.js.map","import { getTplStateStore } from \"./utils.js\";\nexport function bindTemplateProxy(brick) {\n var _tplHostMetadata$prox;\n var {\n ref,\n runtimeContext,\n element\n } = brick;\n\n // Error recovering brick may have no runtimeContext.\n if (!ref || !runtimeContext.tplStateStoreId) {\n return;\n }\n var {\n hostBrick\n } = getTplStateStore(runtimeContext, \"bindTemplateProxy\");\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n var tplHostMetadata = hostBrick.tplHostMetadata;\n tplHostMetadata.internalBricksByRef.set(ref, brick);\n var events = (_tplHostMetadata$prox = tplHostMetadata.proxy) === null || _tplHostMetadata$prox === void 0 ? void 0 : _tplHostMetadata$prox.events;\n if (events) {\n var _loop = function (from) {\n if (to.ref === ref) {\n var _to$refEvent, _ref, _ref$$$proxyListeners;\n var listener = e => {\n if (e.bubbles) {\n e.stopPropagation();\n }\n hostBrick.element.dispatchEvent(new CustomEvent(from, {\n detail: e.detail,\n bubbles: e.bubbles,\n cancelable: e.cancelable,\n composed: e.composed\n }));\n };\n var eventType = (_to$refEvent = to.refEvent) !== null && _to$refEvent !== void 0 ? _to$refEvent : from;\n element.addEventListener(eventType, listener);\n (_ref$$$proxyListeners = (_ref = element).$$proxyListeners) !== null && _ref$$$proxyListeners !== void 0 ? _ref$$$proxyListeners : _ref.$$proxyListeners = [];\n element.$$proxyListeners.push([eventType, listener]);\n }\n };\n for (var [from, to] of Object.entries(events)) {\n _loop(from);\n }\n }\n}\nexport function unbindTemplateProxy(brick) {\n var {\n ref,\n runtimeContext,\n element\n } = brick;\n if (!(runtimeContext !== null && runtimeContext !== void 0 && runtimeContext.tplStateStoreId) || !ref) {\n return;\n }\n var {\n hostBrick\n } = getTplStateStore(runtimeContext, \"unbindTemplateProxy\");\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n var tplHostMetadata = hostBrick.tplHostMetadata;\n tplHostMetadata.internalBricksByRef.delete(ref);\n for (var [type, fn] of (_$$proxyListeners = element.$$proxyListeners) !== null && _$$proxyListeners !== void 0 ? _$$proxyListeners : []) {\n var _$$proxyListeners;\n element.removeEventListener(type, fn);\n }\n delete element.$$proxyListeners;\n}\n//# sourceMappingURL=bindTemplateProxy.js.map","export var RenderTag = /*#__PURE__*/function (RenderTag) {\n RenderTag[RenderTag[\"ROOT\"] = 1] = \"ROOT\";\n RenderTag[RenderTag[\"BRICK\"] = 2] = \"BRICK\";\n RenderTag[RenderTag[\"PLACEHOLDER\"] = 3] = \"PLACEHOLDER\";\n return RenderTag;\n}({});\n//# sourceMappingURL=enums.js.map","import { bindTemplateProxy } from \"./CustomTemplates/bindTemplateProxy.js\";\nimport { getTplStateStore } from \"./CustomTemplates/utils.js\";\nimport { bindListeners } from \"./bindListeners.js\";\nimport { setRealProperties } from \"./compute/setRealProperties.js\";\nimport { RenderTag } from \"./enums.js\";\nexport function unmountTree(mountPoint) {\n mountPoint.replaceChildren();\n}\nexport function mountTree(root, initializedElement) {\n window.DISABLE_REACT_FLUSH_SYNC = false;\n var current = root.child;\n var portalElements = [];\n while (current) {\n if (current.tag === RenderTag.BRICK) {\n var _current$tplHostMetad;\n var tagName = current.type;\n if (tagName.includes(\"-\") && !customElements.get(tagName)) {\n // eslint-disable-next-line no-console\n console.error(\"Undefined custom element: \".concat(tagName));\n }\n\n // istanbul ignore if\n if (tagName === \"basic-bricks.script-brick\") {\n // eslint-disable-next-line no-console\n console.warn(\"`basic-bricks.script-brick` is deprecated, please take caution when using it\");\n }\n var element = initializedElement && current === root.child ? initializedElement : document.createElement(tagName);\n current.element = element;\n if (current.slotId) {\n element.setAttribute(\"slot\", current.slotId);\n }\n if (current.iid) {\n element.dataset.iid = current.iid;\n }\n if ((_current$tplHostMetad = current.tplHostMetadata) !== null && _current$tplHostMetad !== void 0 && _current$tplHostMetad.tplStateStoreId) {\n element.dataset.tplStateStoreId = current.tplHostMetadata.tplStateStoreId;\n }\n setRealProperties(element, current.properties);\n bindListeners(element, current.events, current.runtimeContext);\n if (current.tplHostMetadata) {\n // 先设置属性,再设置 `$$tplStateStore`,这样,当触发属性设置时,\n // 避免初始化的一次 state update 操作及其 onChange 事件。\n element.$$tplStateStore = getTplStateStore({\n tplStateStoreId: current.tplHostMetadata.tplStateStoreId,\n tplStateStoreMap: current.runtimeContext.tplStateStoreMap\n }, \"mount\");\n }\n bindTemplateProxy(current);\n if (current.portal) {\n portalElements.push(element);\n } else if (current.return) {\n if (!current.return.childElements) {\n current.return.childElements = [];\n }\n current.return.childElements.push(element);\n }\n }\n if (current.child) {\n current = current.child;\n } else if (current.sibling) {\n current = current.sibling;\n } else {\n var _currentReturn;\n var currentReturn = current.return;\n while (currentReturn) {\n // Append elements inside out\n if (currentReturn.childElements) {\n if (currentReturn.tag === RenderTag.ROOT) {\n var _currentReturn$contai;\n (_currentReturn$contai = currentReturn.container) === null || _currentReturn$contai === void 0 || _currentReturn$contai.append(...currentReturn.childElements);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n currentReturn.element.append(...currentReturn.childElements);\n }\n currentReturn.childElements = undefined;\n }\n if (currentReturn.tag === RenderTag.ROOT && portalElements.length > 0) {\n var portal = typeof currentReturn.createPortal === \"function\" ? currentReturn.createPortal() : currentReturn.createPortal;\n portal.append(...portalElements);\n }\n if (currentReturn.sibling) {\n break;\n }\n currentReturn = currentReturn.return;\n }\n current = (_currentReturn = currentReturn) === null || _currentReturn === void 0 ? void 0 : _currentReturn.sibling;\n }\n }\n setTimeout(() => {\n window.DISABLE_REACT_FLUSH_SYNC = true;\n });\n}\n//# sourceMappingURL=mount.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classPrivateMethodInitSpec from \"@babel/runtime/helpers/classPrivateMethodInitSpec\";\nimport _classPrivateFieldInitSpec from \"@babel/runtime/helpers/classPrivateFieldInitSpec\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _assertClassBrand from \"@babel/runtime/helpers/assertClassBrand\";\nimport _classPrivateFieldGet from \"@babel/runtime/helpers/classPrivateFieldGet2\";\nimport _classPrivateFieldSet from \"@babel/runtime/helpers/classPrivateFieldSet2\";\nimport { isEmpty, remove } from \"lodash\";\nimport { listenerFactory } from \"./bindListeners.js\";\nimport { getHistory } from \"../history.js\";\nimport { getReadOnlyProxy } from \"./proxyFactories.js\";\nimport { mediaEventTarget } from \"./mediaQuery.js\";\nimport { mountTree } from \"./mount.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { unbindTemplateProxy } from \"./CustomTemplates/bindTemplateProxy.js\";\nimport { hooks } from \"./Runtime.js\";\nvar commonLifeCycles = [\"onMount\", \"onUnmount\", \"onMediaChange\", \"onScrollIntoView\", \"onMessage\", \"onMessageClose\"];\nvar pageOnlyLifeCycles = [\"onBeforePageLoad\", \"onPageLoad\", \"onPageLeave\", \"onBeforePageLeave\", \"onAnchorLoad\", \"onAnchorUnload\"];\nvar _routeHelper = /*#__PURE__*/new WeakMap();\nvar _memoizedLifeCycle = /*#__PURE__*/new WeakMap();\nvar _observers = /*#__PURE__*/new WeakMap();\nvar _mediaListener = /*#__PURE__*/new WeakMap();\nvar _arbitraryLifeCycle = /*#__PURE__*/new WeakMap();\nvar _memoized = /*#__PURE__*/new WeakMap();\nvar _initialMenuRequestNode = /*#__PURE__*/new WeakMap();\nvar _memoizedMenuRequestNodeMap = /*#__PURE__*/new WeakMap();\nvar _incrementalRenderStates = /*#__PURE__*/new WeakMap();\nvar _RendererContext_brand = /*#__PURE__*/new WeakSet();\nexport class RendererContext {\n constructor(scope, options) {\n var _options$unknownBrick;\n _classPrivateMethodInitSpec(this, _RendererContext_brand);\n /**\n * - page: render as whole page, triggering page life cycles.\n * - fragment: render as fragment, not triggering page life cycles.\n */\n _defineProperty(this, \"scope\", void 0);\n _defineProperty(this, \"unknownBricks\", void 0);\n _defineProperty(this, \"renderId\", void 0);\n _classPrivateFieldInitSpec(this, _routeHelper, void 0);\n _classPrivateFieldInitSpec(this, _memoizedLifeCycle, {\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 _classPrivateFieldInitSpec(this, _observers, new Map());\n _classPrivateFieldInitSpec(this, _mediaListener, void 0);\n _classPrivateFieldInitSpec(this, _arbitraryLifeCycle, new Map());\n _classPrivateFieldInitSpec(this, _memoized, void 0);\n _classPrivateFieldInitSpec(this, _initialMenuRequestNode, void 0);\n _classPrivateFieldInitSpec(this, _memoizedMenuRequestNodeMap, new WeakMap());\n _classPrivateFieldInitSpec(this, _incrementalRenderStates, new Map());\n this.scope = scope;\n this.unknownBricks = (_options$unknownBrick = options === null || options === void 0 ? void 0 : options.unknownBricks) !== null && _options$unknownBrick !== void 0 ? _options$unknownBrick : \"throw\";\n _classPrivateFieldSet(_routeHelper, this, options === null || options === void 0 ? void 0 : options.routeHelper);\n this.renderId = options === null || options === void 0 ? void 0 : options.renderId;\n }\n setInitialMenuRequestNode(menuRequestNode) {\n _classPrivateFieldSet(_initialMenuRequestNode, this, menuRequestNode);\n }\n memoizeMenuRequestNode(routes, menuRequestNode) {\n _classPrivateFieldGet(_memoizedMenuRequestNodeMap, this).set(routes, menuRequestNode);\n }\n getMenuRequests() {\n var menuRequests = [];\n var current = _classPrivateFieldGet(_initialMenuRequestNode, this);\n while (current) {\n if (current.request) {\n menuRequests.push(current.request);\n }\n if (current.child) {\n current = current.child;\n } else {\n var _current;\n while (current && !current.sibling) {\n current = current.return;\n }\n current = (_current = current) === null || _current === void 0 ? void 0 : _current.sibling;\n }\n }\n return menuRequests;\n }\n reMergeMenuRequestNodes(parentMenuRequestNode, routes) {\n var _arguments = arguments,\n _this = this;\n return _asyncToGenerator(function* () {\n var menuRequestNode = _arguments.length > 2 && _arguments[2] !== undefined ? _arguments[2] : {};\n var node = _classPrivateFieldGet(_memoizedMenuRequestNodeMap, _this).get(routes);\n _classPrivateFieldGet(_memoizedMenuRequestNodeMap, _this).set(routes, menuRequestNode);\n var current = parentMenuRequestNode.child;\n var previousSibling;\n while (current) {\n if (current === node) {\n break;\n }\n previousSibling = current;\n current = current.sibling;\n }\n if (previousSibling) {\n previousSibling.sibling = menuRequestNode;\n menuRequestNode.sibling = node === null || node === void 0 ? void 0 : node.sibling;\n } else {\n parentMenuRequestNode.child = menuRequestNode;\n }\n yield _classPrivateFieldGet(_routeHelper, _this).mergeMenus(_this.getMenuRequests());\n })();\n }\n reBailout(output) {\n return _classPrivateFieldGet(_routeHelper, this).bailout(output);\n }\n reCatch(error, returnNode) {\n return _classPrivateFieldGet(_routeHelper, this).catch(error, returnNode);\n }\n didPerformIncrementalRender(location, prevLocation) {\n var _this2 = this;\n return _asyncToGenerator(function* () {\n var finalResult = false;\n var shouldIgnoreRoutes = [];\n // Perform incremental rendering from inside out.\n // This allows nested incremental sub-routes.\n for (var {\n parentRoutes,\n callback\n } of [..._classPrivateFieldGet(_incrementalRenderStates, _this2).values()].reverse()) {\n var parentRoute = parentRoutes[parentRoutes.length - 1];\n if (shouldIgnoreRoutes.includes(parentRoute)) {\n // Do not re-render parent routes if any of its children has performed incremental rendering.\n // In the meantime, allow sibling-routes to perform incremental rendering.\n continue;\n }\n var result = yield callback(location, prevLocation);\n // When result is null, it means the incremental rendering is tried but routes missed.\n // In this case, we should continue to re-render the parent routes.\n if (result) {\n shouldIgnoreRoutes.push(...parentRoutes.slice(0, -1));\n }\n // Mark incremental rendering as performed at final if result is true or null.\n if (result !== false) {\n finalResult = true;\n }\n }\n return finalResult;\n })();\n }\n\n /**\n * When `callback` resolved to `true` which means incremental rendering is performed,\n * ignore normal rendering.\n */\n performIncrementalRender(slotConf, parentRoutes, callback) {\n // Override stale incremental render callbacks\n _classPrivateFieldGet(_incrementalRenderStates, this).set(slotConf, {\n parentRoutes,\n callback\n });\n }\n registerBrickLifeCycle(brick, lifeCycle) {\n if (!lifeCycle) {\n return;\n }\n var lifeCycleTypes = [...commonLifeCycles, ...(this.scope === \"page\" ? pageOnlyLifeCycles : [])];\n for (var key of lifeCycleTypes) {\n var handlers = lifeCycle[key];\n if (handlers) {\n _classPrivateFieldGet(_memoizedLifeCycle, this)[key].push({\n brick,\n handlers: handlers\n });\n }\n }\n // istanbul ignore next\n if (!isEmpty(lifeCycle.useResolves)) {\n // eslint-disable-next-line no-console\n console.error(\"`lifeCycle.useResolves` is dropped in v3:\", lifeCycle);\n }\n }\n registerArbitraryLifeCycle(lifeCycle, fn) {\n var arbitraryCallbacks = _classPrivateFieldGet(_arbitraryLifeCycle, this).get(lifeCycle);\n if (arbitraryCallbacks) {\n arbitraryCallbacks.add(fn);\n } else {\n _classPrivateFieldGet(_arbitraryLifeCycle, this).set(lifeCycle, new Set([fn]));\n }\n }\n memoize(slotId, keyPath, node, returnNode) {\n if (!_classPrivateFieldGet(_memoized, this)) {\n _classPrivateFieldSet(_memoized, this, new WeakMap());\n }\n var memKey = [slotId !== null && slotId !== void 0 ? slotId : \"\", ...keyPath].join(\".\");\n var mem = _classPrivateFieldGet(_memoized, this).get(returnNode);\n if (!mem) {\n mem = new Map();\n _classPrivateFieldGet(_memoized, this).set(returnNode, mem);\n }\n mem.set(memKey, {\n node,\n last: getLastNode(node),\n lastNormal: getLastNormalNode(node),\n lastPortal: getLastPortalNode(node)\n });\n }\n reRender(slotId, keyPath, node, returnNode) {\n var memKey = [slotId !== null && slotId !== void 0 ? slotId : \"\", ...keyPath].join(\".\");\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n var memoized = _classPrivateFieldGet(_memoized, this).get(returnNode).get(memKey);\n var {\n node: prevNode,\n last: prevLast,\n lastNormal: prevLastNormal,\n lastPortal: prevLastPortal\n } = memoized;\n var insertBeforeChild;\n var insertPortalBeforeChildCandidates = [];\n if ((prevNode === null || prevNode === void 0 ? void 0 : prevNode.tag) === RenderTag.PLACEHOLDER) {\n var _getNextNormalNode$el, _getNextNormalNode, _getNextPortalNode;\n insertBeforeChild = (_getNextNormalNode$el = (_getNextNormalNode = getNextNormalNode(prevNode)) === null || _getNextNormalNode === void 0 ? void 0 : _getNextNormalNode.element) !== null && _getNextNormalNode$el !== void 0 ? _getNextNormalNode$el : null;\n // Todo(steve): handle portal bricks from useBrick.\n var nextSibling = (_getNextPortalNode = getNextPortalNode(prevNode)) === null || _getNextPortalNode === void 0 ? void 0 : _getNextPortalNode.element;\n if (nextSibling) {\n insertPortalBeforeChildCandidates.push(nextSibling);\n }\n } else {\n var _prevLastNormal$eleme, _prevLastNormal$eleme2, _prevLastPortal$eleme;\n insertBeforeChild = (_prevLastNormal$eleme = prevLastNormal === null || prevLastNormal === void 0 || (_prevLastNormal$eleme2 = prevLastNormal.element) === null || _prevLastNormal$eleme2 === void 0 ? void 0 : _prevLastNormal$eleme2.nextSibling) !== null && _prevLastNormal$eleme !== void 0 ? _prevLastNormal$eleme : null;\n var _nextSibling = prevLastPortal === null || prevLastPortal === void 0 || (_prevLastPortal$eleme = prevLastPortal.element) === null || _prevLastPortal$eleme === void 0 ? void 0 : _prevLastPortal$eleme.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 (!(_nextSibling instanceof HTMLElement && _nextSibling.tagName === \"DIV\")) {\n break;\n }\n _nextSibling = _nextSibling.nextSibling;\n }\n }\n var 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 var prevSibling;\n var 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 var fragment = document.createDocumentFragment();\n var portalFragment = document.createDocumentFragment();\n var 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 var removeBricks = getBrickRange(prevNode, prevLast);\n _assertClassBrand(_RendererContext_brand, this, _unmountBricks).call(this, removeBricks);\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 === null || prevLast === void 0 ? void 0 : prevLast.sibling;\n }\n\n // Resume `return`\n current = node;\n while (current) {\n current.return = returnNode;\n current = current.sibling;\n }\n if (returnNode.tag === RenderTag.ROOT) {\n var _returnNode$container;\n (_returnNode$container = returnNode.container) === null || _returnNode$container === void 0 || _returnNode$container.insertBefore(fragment, insertBeforeChild);\n } else {\n var _returnNode$element;\n (_returnNode$element = returnNode.element) === null || _returnNode$element === void 0 || _returnNode$element.insertBefore(fragment, insertBeforeChild);\n }\n if (portalFragment.childNodes.length > 0) {\n var _root;\n var root = node;\n while (root && root.return) {\n root = root.return;\n }\n // istanbul ignore next\n if (((_root = root) === null || _root === void 0 ? void 0 : _root.tag) !== RenderTag.ROOT) {\n throw new Error(\"Cannot find render root node. This is a bug of Brick Next, please report it.\");\n }\n var portal = typeof root.createPortal === \"function\" ? root.createPortal() : root.createPortal;\n var insertPortalBeforeChild = null;\n for (var 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 var newBricks = getBrickRange(node, last);\n _assertClassBrand(_RendererContext_brand, this, _initializeRerenderBricks).call(this, newBricks);\n }\n dispose() {\n for (var list of Object.values(_classPrivateFieldGet(_memoizedLifeCycle, this))) {\n list.length = 0;\n }\n for (var _list of _classPrivateFieldGet(_observers, this).values()) {\n for (var observer of _list) {\n observer.disconnect();\n }\n _list.length = 0;\n }\n _classPrivateFieldGet(_observers, this).clear();\n if (_classPrivateFieldGet(_mediaListener, this)) {\n mediaEventTarget.removeEventListener(\"change\", _classPrivateFieldGet(_mediaListener, this));\n _classPrivateFieldSet(_mediaListener, this, undefined);\n }\n _classPrivateFieldSet(_memoized, this, undefined);\n _classPrivateFieldGet(_arbitraryLifeCycle, this).clear();\n _classPrivateFieldGet(_incrementalRenderStates, this).clear();\n _classPrivateFieldSet(_memoizedMenuRequestNodeMap, this, undefined);\n }\n\n // Note: no `onScrollIntoView` and `onMessage`\n\n dispatchBeforePageLoad() {\n _assertClassBrand(_RendererContext_brand, this, _dispatchGeneralLifeCycle).call(this, \"onBeforePageLoad\", new CustomEvent(\"page.beforeLoad\"));\n }\n dispatchPageLoad() {\n var event = new CustomEvent(\"page.load\");\n _assertClassBrand(_RendererContext_brand, this, _dispatchGeneralLifeCycle).call(this, \"onPageLoad\", event);\n // Currently only for e2e testing\n window.dispatchEvent(event);\n }\n dispatchBeforePageLeave(detail) {\n _assertClassBrand(_RendererContext_brand, this, _dispatchGeneralLifeCycle).call(this, \"onBeforePageLeave\", new CustomEvent(\"page.beforeLeave\", {\n detail\n }));\n }\n dispatchPageLeave() {\n _assertClassBrand(_RendererContext_brand, this, _dispatchGeneralLifeCycle).call(this, \"onPageLeave\", new CustomEvent(\"page.leave\"));\n }\n dispatchAnchorLoad() {\n var {\n hash\n } = getHistory().location;\n if (hash && hash !== \"#\") {\n _assertClassBrand(_RendererContext_brand, this, _dispatchGeneralLifeCycle).call(this, \"onAnchorLoad\", new CustomEvent(\"anchor.load\", {\n detail: {\n hash,\n anchor: hash.substring(1)\n }\n }));\n } else {\n _assertClassBrand(_RendererContext_brand, this, _dispatchGeneralLifeCycle).call(this, \"onAnchorUnload\", new CustomEvent(\"anchor.unload\"));\n }\n }\n initializeScrollIntoView() {\n for (var {\n brick,\n handlers: conf\n } of _classPrivateFieldGet(_memoizedLifeCycle, this).onScrollIntoView) {\n _assertClassBrand(_RendererContext_brand, this, _addObserver).call(this, brick, conf);\n }\n }\n initializeMediaChange() {\n _classPrivateFieldSet(_mediaListener, this, event => {\n _assertClassBrand(_RendererContext_brand, this, _dispatchGeneralLifeCycle).call(this, \"onMediaChange\", new CustomEvent(\"media.change\", {\n detail: getReadOnlyProxy(event.detail)\n }));\n });\n mediaEventTarget.addEventListener(\"change\", _classPrivateFieldGet(_mediaListener, this));\n }\n initializeMessageDispatcher() {\n var _hooks$messageDispatc;\n var _loop = function (brick) {\n var _loop2 = function (conf) {\n var _hooks$messageDispatc2;\n hooks === null || hooks === void 0 || (_hooks$messageDispatc2 = hooks.messageDispatcher) === null || _hooks$messageDispatc2 === void 0 || _hooks$messageDispatc2.onMessage(conf.channel, detail => {\n listenerFactory(conf.handlers, brick.runtimeContext, brick)(new CustomEvent(\"message.push\", {\n detail\n }));\n });\n };\n for (var conf of [].concat(confList)) {\n _loop2(conf);\n }\n };\n for (var {\n brick,\n handlers: confList\n } of _classPrivateFieldGet(_memoizedLifeCycle, this).onMessage) {\n _loop(brick);\n }\n hooks === null || hooks === void 0 || (_hooks$messageDispatc = hooks.messageDispatcher) === null || _hooks$messageDispatc === void 0 || _hooks$messageDispatc.onClose(() => {\n _assertClassBrand(_RendererContext_brand, this, _dispatchGeneralLifeCycle).call(this, \"onMessageClose\", new CustomEvent(\"message.close\"));\n });\n }\n dispatchOnMount() {\n _assertClassBrand(_RendererContext_brand, this, _dispatchGeneralLifeCycle).call(this, \"onMount\", new CustomEvent(\"mount\"));\n }\n dispatchOnUnmount() {\n _assertClassBrand(_RendererContext_brand, this, _dispatchGeneralLifeCycle).call(this, \"onUnmount\", new CustomEvent(\"unmount\"));\n }\n}\nfunction _unmountBricks(bricks) {\n var lifeCycleTypes = [...commonLifeCycles, ...(this.scope === \"page\" ? pageOnlyLifeCycles : [])];\n var unmountList = [];\n\n // Clear life cycle handlers, record `onUnmount` at the same time\n for (var key of lifeCycleTypes) {\n var removed = remove(_classPrivateFieldGet(_memoizedLifeCycle, this)[key], item => bricks.has(item.brick));\n if (key === \"onUnmount\") {\n unmountList.push(...removed);\n }\n }\n\n // Clear intersection observers\n for (var brick of bricks) {\n var _brick$element, _brick$element2;\n var observers = _classPrivateFieldGet(_observers, this).get(brick);\n if (observers !== null && observers !== void 0 && observers.length) {\n for (var observer of observers) {\n observer.disconnect();\n }\n observers.length = 0;\n _classPrivateFieldGet(_observers, this).delete(brick);\n }\n unbindTemplateProxy(brick);\n (_brick$element = brick.element) === null || _brick$element === void 0 || delete _brick$element.$$tplStateStore;\n\n // Also remove the element\n (_brick$element2 = brick.element) === null || _brick$element2 === void 0 || _brick$element2.remove();\n }\n\n // Dispatch unmount events\n var unmountEvent = new CustomEvent(\"unmount\");\n for (var {\n brick: _brick,\n handlers\n } of unmountList) {\n listenerFactory(handlers, _brick.runtimeContext, _brick)(unmountEvent);\n }\n}\nfunction _initializeRerenderBricks(bricks) {\n var mountEvent = new CustomEvent(\"mount\");\n for (var {\n brick,\n handlers\n } of _classPrivateFieldGet(_memoizedLifeCycle, this).onMount) {\n if (bricks.has(brick)) {\n listenerFactory(handlers, brick.runtimeContext, brick)(mountEvent);\n }\n }\n for (var {\n brick: _brick2,\n handlers: conf\n } of _classPrivateFieldGet(_memoizedLifeCycle, this).onScrollIntoView) {\n if (bricks.has(_brick2)) {\n _assertClassBrand(_RendererContext_brand, this, _addObserver).call(this, _brick2, conf);\n }\n }\n}\nfunction _dispatchGeneralLifeCycle(type, event) {\n // istanbul ignore next\n if (process.env.NODE_ENV === \"development\" && this.scope === \"fragment\" && pageOnlyLifeCycles.includes(type)) {\n throw new Error(\"`lifeCycle.\".concat(type, \"` cannot be used in \").concat(this.scope, \".\\nThis is a bug of Brick Next, please report it.\"));\n }\n for (var {\n brick,\n handlers\n } of _classPrivateFieldGet(_memoizedLifeCycle, this)[type]) {\n listenerFactory(handlers, brick.runtimeContext, brick)(event);\n }\n var arbitraryCallbacks = _classPrivateFieldGet(_arbitraryLifeCycle, this).get(type);\n if (arbitraryCallbacks) {\n for (var fn of arbitraryCallbacks) {\n fn();\n }\n }\n}\nfunction _addObserver(brick, conf) {\n var _conf$threshold;\n var threshold = (_conf$threshold = conf.threshold) !== null && _conf$threshold !== void 0 ? _conf$threshold : 0.1;\n var observer = new IntersectionObserver((entries, observer) => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n if (entry.intersectionRatio >= threshold) {\n listenerFactory(conf.handlers, brick.runtimeContext, brick)(new CustomEvent(\"scroll.into.view\"));\n observer.disconnect();\n }\n }\n });\n }, {\n threshold\n });\n observer.observe(brick.element);\n var list = _classPrivateFieldGet(_observers, this).get(brick);\n if (!list) {\n list = [];\n _classPrivateFieldGet(_observers, this).set(brick, list);\n }\n list.push(observer);\n}\nfunction getLastNode(node) {\n var last = node;\n while ((_last = last) !== null && _last !== void 0 && _last.sibling) {\n var _last;\n last = last.sibling;\n }\n return last;\n}\nfunction getLastNormalNode(node) {\n return getSpecifiedNormalNode(node, false);\n}\nfunction getNextNormalNode(node) {\n return getSpecifiedNormalNode(node, true);\n}\nfunction getSpecifiedNormalNode(node, next) {\n var last;\n var 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}\nfunction getLastPortalNode(node) {\n return getSpecifiedPortalNode(node, false);\n}\nfunction getNextPortalNode(node) {\n return getSpecifiedPortalNode(node, true);\n}\nfunction getSpecifiedPortalNode(node, next) {\n var last;\n var 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 var _currentReturn;\n var currentReturn = current.return;\n while (currentReturn) {\n if (currentReturn.sibling) {\n break;\n }\n currentReturn = currentReturn.return;\n }\n current = (_currentReturn = currentReturn) === null || _currentReturn === void 0 ? void 0 : _currentReturn.sibling;\n }\n }\n return last;\n}\nfunction getBrickRange(from, to) {\n var range = new Set();\n var 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 var _currentReturn2;\n var currentReturn = 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 = (_currentReturn2 = currentReturn) === null || _currentReturn2 === void 0 ? void 0 : _currentReturn2.sibling;\n }\n }\n return range;\n}\n//# sourceMappingURL=RendererContext.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { pick } from \"lodash\";\nimport { _internalApiGetRenderId, _internalApiGetRuntimeContext, _internalApiGetStoryboardInBootstrapData, getBrickPackages } from \"./Runtime.js\";\nimport { createScopedRuntimeContext, postAsyncRender, renderBrick } from \"./Renderer.js\";\nimport { RendererContext } from \"./RendererContext.js\";\nimport { resolveData } from \"./data/resolveData.js\";\nimport { asyncComputeRealValue } from \"./compute/computeRealValue.js\";\nimport { mountTree, unmountTree } from \"./mount.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\nimport { isStrictMode, warnAboutStrictMode } from \"../isStrictMode.js\";\nimport { customTemplates } from \"../CustomTemplates.js\";\nimport { registerAppI18n } from \"./registerAppI18n.js\";\nimport { getTplStateStore } from \"./CustomTemplates/utils.js\";\nimport { loadBricksImperatively } from \"@next-core/loader\";\nexport var symbolForRootRuntimeContext = Symbol.for(\"root.runtimeContext\");\nexport function renderUseBrick(_x, _x2) {\n return _renderUseBrick.apply(this, arguments);\n}\nfunction _renderUseBrick() {\n _renderUseBrick = _asyncToGenerator(function* (useBrick, data) {\n var _useBrick$symbolForRo, _scopedRuntimeContext, _scopedRuntimeContext2, _output$node, _output$node2;\n var [scopedRuntimeContext, tplStateStoreScope, formStateStoreScope] = createScopedRuntimeContext(_objectSpread(_objectSpread({}, (_useBrick$symbolForRo = useBrick[symbolForRootRuntimeContext]) !== null && _useBrick$symbolForRo !== void 0 ? _useBrick$symbolForRo : _internalApiGetRuntimeContext()), {}, {\n data,\n pendingPermissionsPreCheck: []\n }));\n (_scopedRuntimeContext = scopedRuntimeContext.tplStateStoreMap) !== null && _scopedRuntimeContext !== void 0 ? _scopedRuntimeContext : scopedRuntimeContext.tplStateStoreMap = new Map();\n (_scopedRuntimeContext2 = scopedRuntimeContext.formStateStoreMap) !== null && _scopedRuntimeContext2 !== void 0 ? _scopedRuntimeContext2 : scopedRuntimeContext.formStateStoreMap = new Map();\n var rendererContext = new RendererContext(\"fragment\");\n var renderRoot = {\n tag: RenderTag.ROOT,\n // Will set during `mountUseBrick`\n createPortal: null\n };\n var transform = useBrick.transform;\n var strict = isStrictMode();\n if (transform) {\n warnAboutStrictMode(strict, \"`useBrick.transform`\", 'please use \"properties\" instead, check your useBrick:', useBrick);\n }\n var output = yield renderBrick(renderRoot, strict ? useBrick : _objectSpread(_objectSpread({}, useBrick), {}, {\n properties: _objectSpread(_objectSpread({}, useBrick.properties), transform)\n }), scopedRuntimeContext, rendererContext, [], {});\n var scopedStores = [...tplStateStoreScope, ...formStateStoreScope];\n yield postAsyncRender(output, scopedRuntimeContext, scopedStores);\n if (((_output$node = output.node) === null || _output$node === void 0 ? void 0 : _output$node.tag) === RenderTag.PLACEHOLDER) {\n throw new Error(\"The root brick of useBrick cannot be an ignored control node\");\n }\n if ((_output$node2 = output.node) !== null && _output$node2 !== void 0 && _output$node2.portal) {\n throw new Error(\"The root brick of useBrick cannot be a portal brick\");\n }\n renderRoot.child = output.node;\n var tagName = output.node ? output.node.type : null;\n return {\n tagName,\n renderRoot,\n rendererContext,\n scopedStores\n };\n });\n return _renderUseBrick.apply(this, arguments);\n}\nexport function mountUseBrick(_ref, element) {\n var {\n renderRoot,\n rendererContext,\n scopedStores\n } = _ref;\n var portal;\n renderRoot.createPortal = () => {\n var portalRoot = document.querySelector(\"#portal-mount-point\");\n portal = document.createElement(\"div\");\n portalRoot.appendChild(portal);\n return portal;\n };\n mountTree(renderRoot, element);\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n rendererContext.initializeMessageDispatcher();\n for (var store of scopedStores) {\n store.mountAsyncData();\n }\n return {\n portal\n };\n}\nexport function unmountUseBrick(_ref2, mountResult) {\n var {\n rendererContext\n } = _ref2;\n // if (mountResult.mainBrick) {\n // mountResult.mainBrick.unmount();\n // }\n if (mountResult.portal) {\n unmountTree(mountResult.portal);\n mountResult.portal.remove();\n }\n rendererContext.dispatchOnUnmount();\n rendererContext.dispose();\n}\n\n/** For v2 compatibility of `doTransform` from brick-kit. */\nexport function legacyDoTransform(data, to, options) {\n if (options) {\n throw new Error(\"Legacy doTransform does not support options in v3\");\n }\n return computeRealValue(to, _objectSpread(_objectSpread({}, _internalApiGetRuntimeContext()), {}, {\n data\n }), {\n noInject: true\n });\n}\nexport function updateStoryboard(appId, storyboardPatch) {\n var storyboard = _internalApiGetStoryboardInBootstrapData(appId);\n Object.assign(storyboard, _objectSpread(_objectSpread({}, storyboardPatch), {}, {\n meta: _objectSpread(_objectSpread({}, storyboard.meta), storyboardPatch.meta),\n $$fulfilling: null,\n $$fulfilled: true,\n $$registerCustomTemplateProcessed: false\n }));\n registerAppI18n(storyboard);\n}\nexport function updateStoryboardByRoute(appId, newRoute) {\n var storyboard = _internalApiGetStoryboardInBootstrapData(appId);\n var match = false;\n var getKey = route => \"\".concat(route.path, \".\").concat(route.exact);\n var replaceRoute = (routes, key) => {\n return routes.map(route => {\n var routeKey = getKey(route);\n if (route.type === \"routes\") {\n route.routes = replaceRoute(route.routes, key);\n return route;\n } else if (routeKey === key) {\n match = true;\n return newRoute;\n } else {\n return route;\n }\n });\n };\n storyboard.routes = replaceRoute(storyboard.routes, getKey(newRoute));\n if (!match) {\n storyboard.routes.unshift(newRoute);\n }\n}\nexport function updateStoryboardByTemplate(appId, newTemplate, settings) {\n var tplName = \"\".concat(appId, \".\").concat(newTemplate.name);\n // customTemplateRegistry.delete(tplName);\n customTemplates.define(tplName, {\n bricks: newTemplate.bricks,\n proxy: newTemplate.proxy,\n state: newTemplate.state\n });\n updateTemplatePreviewSettings(appId, newTemplate.name, settings);\n}\nexport function updateTemplatePreviewSettings(appId, templateId, settings) {\n _updatePreviewSettings(appId, \"${APP.homepage}/_dev_only_/template-preview/\".concat(templateId), [_objectSpread({\n brick: templateId\n }, pick(settings, \"properties\", \"events\", \"lifeCycle\", \"context\", \"slots\", \"children\"))]);\n}\nfunction getSnippetPreviewPath(snippetId) {\n return \"${APP.homepage}/_dev_only_/snippet-preview/\".concat(snippetId);\n}\nexport function updateStoryboardBySnippet(appId, snippetData) {\n var _snippetData$bricks;\n _updatePreviewSettings(appId, getSnippetPreviewPath(snippetData.snippetId), (_snippetData$bricks = snippetData.bricks) !== null && _snippetData$bricks !== void 0 && _snippetData$bricks.length ? snippetData.bricks : [{\n brick: \"span\"\n }], snippetData.context);\n}\nexport var updateSnippetPreviewSettings = updateStoryboardBySnippet;\nfunction _updatePreviewSettings(appId, path, bricks, context) {\n var {\n routes\n } = _internalApiGetStoryboardInBootstrapData(appId);\n var previewRouteIndex = routes.findIndex(route => route.path === path);\n var newPreviewRoute = {\n path,\n bricks,\n context,\n menu: false,\n exact: true\n };\n if (previewRouteIndex === -1) {\n routes.unshift(newPreviewRoute);\n } else {\n routes.splice(previewRouteIndex, 1, newPreviewRoute);\n }\n}\nexport function getContextValue(name, _ref3) {\n var {\n tplStateStoreId\n } = _ref3;\n var runtimeContext = _internalApiGetRuntimeContext();\n if (tplStateStoreId) {\n var tplStateStore = getTplStateStore(_objectSpread(_objectSpread({}, runtimeContext), {}, {\n tplStateStoreId\n }), \"STATE\");\n return tplStateStore.getValue(name);\n }\n return runtimeContext.ctxStore.getValue(name);\n}\nexport function getAllContextValues(_ref4) {\n var {\n tplStateStoreId\n } = _ref4;\n var runtimeContext = _internalApiGetRuntimeContext();\n if (tplStateStoreId) {\n var tplStateStore = getTplStateStore(_objectSpread(_objectSpread({}, runtimeContext), {}, {\n tplStateStoreId\n }), \"STATE\");\n return tplStateStore.getAllValues();\n }\n return runtimeContext.ctxStore.getAllValues();\n}\nexport function getBrickPackagesById(id) {\n return getBrickPackages().find(pkg => pkg.id ? pkg.id === id : pkg.filePath.startsWith(id));\n}\n\n/**\n * Support loading v3 bricks only.\n */\nexport function loadBricks(bricks) {\n return loadBricksImperatively(bricks, getBrickPackages());\n}\nexport function getRenderId() {\n return _internalApiGetRenderId();\n}\nexport function getAddedContracts(_x3, _x4) {\n return _getAddedContracts.apply(this, arguments);\n}\nfunction _getAddedContracts() {\n _getAddedContracts = _asyncToGenerator(function* (storyboardPatch, _ref5) {\n var {\n appId,\n updateStoryboardType,\n collectUsedContracts\n } = _ref5;\n var storyboard = _internalApiGetStoryboardInBootstrapData(appId);\n var updatedStoryboard;\n\n // 拿到更新部分的 storyboard 配置,然后扫描一遍,找到新增的 contracts\n if (updateStoryboardType === \"route\") {\n updatedStoryboard = {\n routes: [storyboardPatch]\n };\n } else if (updateStoryboardType === \"template\") {\n updatedStoryboard = {\n meta: {\n customTemplates: [storyboardPatch]\n }\n };\n } else if (updateStoryboardType === \"snippet\") {\n var _storyboard$routes;\n // snippet 是放在挂载 route 里预览,通过 previewPath 拿到当前修改 route\n var snippetPreviewPath = getSnippetPreviewPath(storyboardPatch.snippetId);\n var currentRoute = storyboard === null || storyboard === void 0 || (_storyboard$routes = storyboard.routes) === null || _storyboard$routes === void 0 ? void 0 : _storyboard$routes.find(route => route.path === snippetPreviewPath);\n updatedStoryboard = {\n routes: [currentRoute]\n };\n }\n var addedContracts = [];\n if (updatedStoryboard && collectUsedContracts) {\n var contractApis = yield collectUsedContracts(updatedStoryboard);\n contractApis.forEach(api => {\n var _storyboard$meta;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n var [_, namespaceId, name] = api.match(/(.*)@(.*):\\d\\.\\d\\.\\d/);\n if (!(storyboard !== null && storyboard !== void 0 && (_storyboard$meta = storyboard.meta) !== null && _storyboard$meta !== void 0 && (_storyboard$meta = _storyboard$meta.contracts) !== null && _storyboard$meta !== void 0 && _storyboard$meta.some(contract => contract.namespaceId === namespaceId && contract.name === name))) {\n addedContracts.push(api);\n }\n });\n }\n return addedContracts;\n });\n return _getAddedContracts.apply(this, arguments);\n}\nexport function debugDataValue(_x5) {\n return _debugDataValue.apply(this, arguments);\n}\nfunction _debugDataValue() {\n _debugDataValue = _asyncToGenerator(function* (debugData) {\n var runtimeContext = _internalApiGetRuntimeContext();\n if (debugData.value) {\n return asyncComputeRealValue(debugData.value, runtimeContext);\n }\n return resolveData(debugData.resolve, runtimeContext, {\n cache: \"reload\"\n });\n });\n return _debugDataValue.apply(this, arguments);\n}\nexport { setRealTimeDataInspectRoot, addRealTimeDataInspectHook } from \"./data/realTimeDataInspect.js\";\n//# sourceMappingURL=secret_internals.js.map","import { getAllContextValues } from \"../secret_internals.js\";\nexport var realTimeDataInspectRoot;\nexport var RealTimeDataInspectHooks = [];\nexport function setRealTimeDataInspectRoot(root) {\n realTimeDataInspectRoot = root;\n var data = getAllContextValues({\n tplStateStoreId: root.tplStateStoreId\n });\n callRealTimeDataInspectHooks({\n changeType: \"initialize\",\n tplStateStoreId: root.tplStateStoreId,\n detail: {\n data\n }\n });\n}\nexport function addRealTimeDataInspectHook(hook) {\n RealTimeDataInspectHooks.push(hook);\n}\nexport function callRealTimeDataInspectHooks(detail) {\n setTimeout(() => {\n for (var hook of RealTimeDataInspectHooks) {\n try {\n hook(detail);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"RealTimeDataInspectHook failed (\".concat(detail.changeType, \"):\"), error);\n }\n }\n });\n}\n//# sourceMappingURL=realTimeDataInspect.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport { strictCollectMemberUsage } from \"@next-core/utils/storyboard\";\nimport EventTarget from \"@ungap/event-target\";\nimport { eventCallbackFactory, listenerFactory } from \"../bindListeners.js\";\nimport { asyncCheckIf, checkIf } from \"../compute/checkIf.js\";\nimport { asyncComputeRealValue, computeRealValue } from \"../compute/computeRealValue.js\";\nimport { resolveData } from \"./resolveData.js\";\nimport { resolveDataStore } from \"./resolveDataStore.js\";\nimport { handleHttpError } from \"../../handleHttpError.js\";\nimport { computePropertyValue } from \"../compute/computeRealProperties.js\";\nimport { _internalApiGetRenderId } from \"../Runtime.js\";\nimport { callRealTimeDataInspectHooks, realTimeDataInspectRoot } from \"./realTimeDataInspect.js\";\nimport { isStrictMode } from \"../../isStrictMode.js\";\nvar supportContextResolveTriggerBrickLifeCycle = [\"onBeforePageLoad\", \"onPageLoad\", \"onBeforePageLeave\", \"onPageLeave\", \"onAnchorLoad\", \"onAnchorUnload\"];\nexport class DataStore {\n // 把 `rendererContext` 放在参数列表的最后,并作为可选,以减少测试文件的调整\n constructor(type, hostBrick, rendererContext, stateStoreId) {\n _defineProperty(this, \"type\", void 0);\n _defineProperty(this, \"data\", new Map());\n _defineProperty(this, \"changeEventType\", void 0);\n _defineProperty(this, \"pendingStack\", []);\n _defineProperty(this, \"hostBrick\", void 0);\n _defineProperty(this, \"stateStoreId\", void 0);\n _defineProperty(this, \"batchUpdate\", false);\n _defineProperty(this, \"batchUpdateContextsNames\", []);\n _defineProperty(this, \"rendererContext\", void 0);\n _defineProperty(this, \"routeMap\", new WeakMap());\n this.type = type;\n this.changeEventType = this.type === \"FORM_STATE\" ? \"formstate.change\" : this.type === \"STATE\" ? \"state.change\" : \"context.change\";\n this.hostBrick = hostBrick;\n this.rendererContext = rendererContext;\n this.stateStoreId = stateStoreId;\n }\n getAllValues() {\n return Object.fromEntries([...this.data.entries()].map(_ref => {\n var [name, {\n value\n }] = _ref;\n return [name, value];\n }));\n }\n getValue(name) {\n var _this$data$get;\n return (_this$data$get = this.data.get(name)) === null || _this$data$get === void 0 ? void 0 : _this$data$get.value;\n }\n notifyRealTimeDataChange(name, value) {\n if (realTimeDataInspectRoot) {\n var {\n tplStateStoreId\n } = realTimeDataInspectRoot;\n if (tplStateStoreId ? this.type === \"STATE\" && this.stateStoreId === tplStateStoreId : this.type === \"CTX\") {\n callRealTimeDataInspectHooks({\n changeType: \"update\",\n tplStateStoreId,\n detail: {\n name,\n value\n }\n });\n }\n }\n }\n getAffectListByContext(name) {\n var affectNames = [name];\n this.data.forEach((value, key) => {\n if (value.deps) {\n var isInDeps = value.deps.some(item => affectNames.includes(item));\n isInDeps && affectNames.push(key) && affectNames.push(...this.getAffectListByContext(key));\n }\n });\n affectNames.shift();\n return [...new Set(affectNames)];\n }\n updateValues(values, method, argsFactory) {\n this.batchUpdate = true;\n this.batchUpdateContextsNames = values.map(item => item.name);\n if ([...new Set(this.batchUpdateContextsNames)].length !== this.batchUpdateContextsNames.length) {\n throw new Error(\"Batch update not allow to update same item\");\n }\n var updateContexts = {};\n var affectContexts = {};\n var affectDepsContextNames = [];\n values.forEach(arg => {\n var {\n name,\n value\n } = argsFactory([arg]);\n var updateContextItem = this.data.get(name);\n affectDepsContextNames.push(...this.getAffectListByContext(name));\n updateContextItem && (updateContexts[name] = updateContextItem);\n this.updateValue(name, value, method);\n });\n affectDepsContextNames.filter(item => !updateContexts[item]).forEach(name => {\n var affectContextItem = this.data.get(name);\n affectContextItem && (affectContexts[name] = affectContextItem);\n });\n var triggerEvent = contexts => {\n for (var key in contexts) {\n var _context$eventTarget;\n var context = contexts[key];\n (_context$eventTarget = context.eventTarget) === null || _context$eventTarget === void 0 || _context$eventTarget.dispatchEvent(new CustomEvent(this.changeEventType, {\n detail: context.value\n }));\n }\n };\n triggerEvent(updateContexts);\n triggerEvent(affectContexts);\n this.batchUpdate = false;\n return;\n }\n updateValue(name, value, method, callback, callbackRuntimeContext) {\n var item = this.data.get(name);\n if (!item) {\n throw new Error(\"\".concat(this.type, \" '\").concat(name, \"' is not defined\"));\n }\n if (method === \"refresh\" || method === \"load\") {\n if (!item.useResolve) {\n throw new Error(\"You can not \".concat(method, \" \\\"\").concat(this.type, \".\").concat(name, \"\\\" which is not using resolve\"));\n }\n var promise;\n if (method === \"load\") {\n // Try to reuse previous request when calling `load`.\n if (item.loaded) {\n promise = Promise.resolve(item.value);\n } else if (item.loading) {\n promise = item.loading;\n }\n }\n var shouldDismiss = error => {\n var _this$rendererContext;\n // If render twice immediately, flow API contracts maybe cleared before\n // the second rendering, while the page load handlers of the first\n // rendering can't be cancelled, which throws `FlowApiNotFoundError`.\n // So we ignore error reporting for this case.\n var renderId;\n return (error === null || error === void 0 ? void 0 : error.name) === \"FlowApiNotFoundError\" && !!(renderId = (_this$rendererContext = this.rendererContext) === null || _this$rendererContext === void 0 ? void 0 : _this$rendererContext.renderId) && renderId !== _internalApiGetRenderId();\n };\n if (!promise) {\n promise = item.loading = item.load(_objectSpread({\n cache: method === \"load\" ? \"default\" : \"reload\"\n }, value));\n // Do not use the chained promise, since the callbacks need the original promise.\n promise.then(val => {\n this.finishLoad(item, val);\n }, err => {\n // Let users override error handling.\n if (item.useResolve && !shouldDismiss(err) && !(callback !== null && callback !== void 0 && callback.error)) {\n handleHttpError(err);\n }\n });\n }\n if (callback) {\n var callbackFactory = eventCallbackFactory(callback, callbackRuntimeContext);\n promise.then(val => {\n callbackFactory(\"success\")({\n value: val\n });\n callbackFactory(\"finally\")();\n }, err => {\n if (!shouldDismiss(err) && callback.error) {\n callbackFactory(\"error\")(err);\n }\n callbackFactory(\"finally\")();\n });\n }\n return;\n }\n if (method === \"replace\") {\n item.value = value;\n } else {\n if (isObject(item.value)) {\n Object.assign(item.value, value);\n } else {\n // eslint-disable-next-line no-console\n console.warn(\"Non-object current value of \\\"\".concat(this.type, \".\").concat(name, \"\\\" for \\\"context.assign\\\", try \\\"context.replace\\\" instead.\"));\n item.value = value;\n }\n }\n if (this.batchUpdate) return;\n item.eventTarget.dispatchEvent(new CustomEvent(this.changeEventType, {\n detail: item.value\n }));\n }\n finishLoad(item, value) {\n if (!item.useResolve) {\n // This happens when a tracked conditional resolve switches from\n // resolve to fallback after an dep update triggered refresh but\n // before it's been resolved.\n return;\n }\n item.loaded = true;\n item.value = value;\n item.eventTarget.dispatchEvent(new CustomEvent(this.changeEventType, {\n detail: value\n }));\n }\n define(dataConfs, runtimeContext, asyncHostPropertyEntries, routePath) {\n if (Array.isArray(dataConfs) && dataConfs.length > 0) {\n var pending = resolveDataStore(dataConfs, dataConf => this.resolve(dataConf, runtimeContext, asyncHostPropertyEntries, routePath), this.type, isStrictMode(runtimeContext));\n this.pendingStack.push(pending);\n }\n }\n onChange(dataName, listener) {\n var _this$data$get2;\n (_this$data$get2 = this.data.get(dataName)) === null || _this$data$get2 === void 0 || _this$data$get2.eventTarget.addEventListener(this.changeEventType, listener);\n }\n waitFor(dataNames) {\n var _this = this;\n return _asyncToGenerator(function* () {\n var _loop = function* (pendingContexts) {\n yield Promise.all([...dataNames].map(ctx => {\n var p = pendingContexts.get(ctx);\n return p;\n }));\n };\n for (var {\n pendingContexts\n } of _this.pendingStack) {\n yield* _loop(pendingContexts);\n }\n })();\n }\n waitForAll() {\n var _this2 = this;\n return _asyncToGenerator(function* () {\n // Silent each pending contexts, since the error is handled by batched `pendingResult`\n for (var {\n pendingContexts\n } of _this2.pendingStack) {\n for (var p of pendingContexts.values()) {\n p.catch(() => {\n /* No-op */\n });\n }\n }\n for (var {\n pendingResult\n } of _this2.pendingStack) {\n yield pendingResult;\n }\n })();\n }\n\n /**\n * After mount, dispatch the change event when an async data is loaded.\n *\n * If param `route` is present, handle data defined in that route (or its descendants) only.\n */\n mountAsyncData(route) {\n this.data.forEach(item => {\n var _this$routeMap$get;\n if (item.async && (!route || (_this$routeMap$get = this.routeMap.get(route)) !== null && _this$routeMap$get !== void 0 && _this$routeMap$get.has(item.name))) {\n // istanbul ignore next\n if (item.asyncMounted) {\n // eslint-disable-next-line no-console\n console.error(\"Async data \\\"\".concat(item.name, \"\\\" already mounted. This is a bug of Brick Next, please report it.\"));\n return;\n }\n item.asyncMounted = true;\n // An async data always has `loading`\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n item.loading.then(value => {\n this.finishLoad(item, value);\n });\n }\n });\n }\n resolve(dataConf, runtimeContext, asyncHostPropertyEntries, routePath) {\n var _this3 = this;\n return _asyncToGenerator(function* () {\n if (!(yield asyncCheckIf(dataConf, runtimeContext))) {\n return false;\n }\n var value;\n if (asyncHostPropertyEntries && (_this3.type === \"STATE\" ? dataConf.expose : _this3.type === \"FORM_STATE\")) {\n value = yield computePropertyValue(asyncHostPropertyEntries, dataConf.name);\n }\n var load;\n var loading;\n var useResolve;\n var trackConditionalResolve;\n var resolvePolicy;\n if (value === undefined) {\n if (dataConf.resolve) {\n var hasFallbackValue = hasOwnProperty(dataConf, \"value\");\n // Track conditional resolve only if all matches:\n // - Track enabled\n // - Has fallback value\n // - Referencing other data in `resolve.if`\n trackConditionalResolve = dataConf.track && hasFallbackValue && hasOwnProperty(dataConf.resolve, \"if\") && strictCollectMemberUsage(dataConf.resolve.if, _this3.type).size > 0;\n var resolveConf = _objectSpread({\n transform: \"value\"\n }, dataConf.resolve);\n useResolve = yield asyncCheckIf(dataConf.resolve, runtimeContext);\n if (useResolve || trackConditionalResolve) {\n load = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(function* (options) {\n var _this3$rendererContex;\n return (yield resolveData(resolveConf, runtimeContext, _objectSpread(_objectSpread({}, options), {}, {\n renderId: (_this3$rendererContex = _this3.rendererContext) === null || _this3$rendererContex === void 0 ? void 0 : _this3$rendererContex.renderId\n }))).value;\n });\n return function load(_x) {\n return _ref2.apply(this, arguments);\n };\n }();\n }\n if (useResolve) {\n // `async` take precedence over `lazy`\n resolvePolicy = dataConf.resolve.async ? \"async\" : dataConf.resolve.lazy ? \"lazy\" : \"eager\";\n if (resolvePolicy === \"eager\") {\n value = yield load();\n } else if (resolvePolicy === \"async\") {\n loading = load();\n }\n } else if (!hasFallbackValue) {\n return false;\n }\n }\n if ((!useResolve || resolvePolicy !== \"eager\") && dataConf.value !== undefined) {\n // If the context has no resolve, just use its `value`.\n // Or if the resolve is ignored or lazy, use its `value` as a fallback.\n value = yield asyncComputeRealValue(dataConf.value, runtimeContext);\n }\n }\n if (_this3.data.has(dataConf.name)) {\n throw new Error(\"\".concat(_this3.type, \" '\").concat(dataConf.name, \"' has already been declared\"));\n }\n var newData = {\n name: dataConf.name,\n value,\n // This is required for tracking context, even if no `onChange` is specified.\n eventTarget: new EventTarget(),\n useResolve,\n load,\n loaded: resolvePolicy === \"eager\",\n loading,\n async: resolvePolicy === \"async\",\n deps: []\n };\n if (resolvePolicy === \"lazy\") {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n var {\n trigger\n } = dataConf.resolve;\n if (trigger && supportContextResolveTriggerBrickLifeCycle.includes(trigger)) {\n var _this3$rendererContex2;\n (_this3$rendererContex2 = _this3.rendererContext) === null || _this3$rendererContex2 === void 0 || _this3$rendererContex2.registerArbitraryLifeCycle(trigger, () => {\n _this3.updateValue(dataConf.name, undefined, \"load\");\n });\n }\n }\n if (dataConf.onChange) {\n newData.eventTarget.addEventListener(_this3.changeEventType, listenerFactory(dataConf.onChange, runtimeContext));\n }\n if (dataConf.track) {\n var deps = strictCollectMemberUsage(trackConditionalResolve ? [dataConf.resolve, dataConf.value] : load ? dataConf.resolve : dataConf.value, _this3.type);\n !load && (newData.deps = [...deps]);\n for (var dep of deps) {\n _this3.onChange(dep, _this3.batchAddListener(() => {\n newData.useResolve = trackConditionalResolve ? checkIf(dataConf.resolve, runtimeContext) : !!load;\n if (newData.useResolve) {\n _this3.updateValue(dataConf.name, {\n cache: \"default\"\n }, \"refresh\");\n } else {\n _this3.updateValue(dataConf.name, computeRealValue(dataConf.value, runtimeContext), \"replace\");\n }\n }, dataConf));\n }\n }\n newData.eventTarget.addEventListener(_this3.changeEventType, e => {\n _this3.notifyRealTimeDataChange(dataConf.name, e.detail);\n });\n _this3.data.set(dataConf.name, newData);\n if (Array.isArray(routePath)) {\n for (var route of routePath) {\n var names = _this3.routeMap.get(route);\n if (names) {\n names.add(dataConf.name);\n } else {\n _this3.routeMap.set(route, new Set([dataConf.name]));\n }\n }\n }\n return true;\n })();\n }\n disposeDataInRoutes(routes) {\n for (var route of routes) {\n var names = this.routeMap.get(route);\n if (names !== undefined) {\n for (var name of names) {\n this.data.delete(name);\n }\n }\n }\n }\n batchAddListener(listener, contextConf) {\n return event => {\n if (this.batchUpdate && this.batchUpdateContextsNames.includes(contextConf.name)) {\n return;\n }\n listener(event);\n };\n }\n}\n//# sourceMappingURL=DataStore.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { collectMemberUsage } from \"@next-core/utils/storyboard\";\nexport function resolveDataStore(contextConfs, resolveContext) {\n var keyword = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"CTX\";\n var strict = arguments.length > 3 ? arguments[3] : undefined;\n var dependencyMap = getDependencyMapOfContext(contextConfs, keyword, strict);\n // There maybe multiple context confs for a specific name, since there are conditional contexts.\n // This is a map of how many pending context confs for each context name.\n var pendingDeps = new Map();\n for (var contextName of Array.from(dependencyMap.keys()).map(contextConf => contextConf.name)) {\n var _pendingDeps$get;\n pendingDeps.set(contextName, ((_pendingDeps$get = pendingDeps.get(contextName)) !== null && _pendingDeps$get !== void 0 ? _pendingDeps$get : 0) + 1);\n }\n var hasNonStaticUsage = Array.from(dependencyMap.values()).some(stats => stats.hasNonStaticUsage);\n var processed = new WeakSet();\n var deferredContexts = new Map();\n var pendingContexts = new Map([...new Set(contextConfs.map(contextConf => contextConf.name))].map(contextName => [contextName, new Promise((resolve, reject) => {\n deferredContexts.set(contextName, {\n resolve,\n reject\n });\n })]));\n var wrapResolve = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (contextConf) {\n var _pendingDeps$get2;\n processed.add(contextConf);\n var resolved = yield resolveContext(contextConf);\n dependencyMap.delete(contextConf);\n var left = (_pendingDeps$get2 = pendingDeps.get(contextConf.name)) !== null && _pendingDeps$get2 !== void 0 ? _pendingDeps$get2 : 0;\n if (resolved) {\n // Assert: contextConf.name exists in deferredContexts\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n deferredContexts.get(contextConf.name).resolve();\n pendingDeps.delete(contextConf.name);\n if (left === 0) {\n throw new Error(\"Duplicated context defined: \".concat(contextConf.name));\n }\n } else {\n // Assert: left >= 1\n if (left === 1) {\n // Assert: contextConf.name exists in deferredContexts\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n deferredContexts.get(contextConf.name).resolve();\n pendingDeps.delete(contextConf.name);\n } else {\n pendingDeps.set(contextConf.name, left - 1);\n }\n }\n yield scheduleNext();\n });\n return function wrapResolve(_x) {\n return _ref.apply(this, arguments);\n };\n }();\n var scheduleAsSerial = hasNonStaticUsage;\n function scheduleNext() {\n return _scheduleNext.apply(this, arguments);\n }\n function _scheduleNext() {\n _scheduleNext = _asyncToGenerator(function* () {\n var readyContexts = Array.from(dependencyMap.entries()).filter(predicateNextResolveFactory(pendingDeps, scheduleAsSerial)).map(entry => entry[0]).filter(contextConf => !processed.has(contextConf));\n yield Promise.all(readyContexts.map(wrapResolve));\n });\n return _scheduleNext.apply(this, arguments);\n }\n var pendingResult = scheduleNext().then( /*#__PURE__*/_asyncToGenerator(function* () {\n // If there are still contexts left, it implies one of these situations:\n // - Circular contexts.\n // Such as: a depends on b, while b depends on a.\n // - Related contexts are all ignored.\n // Such as: a depends on b,\n // while both them are ignore by a falsy result of `if`.\n if (dependencyMap.size > 0) {\n // This will throw if circular contexts detected.\n detectCircularContexts(dependencyMap, keyword);\n scheduleAsSerial = true;\n yield scheduleNext();\n }\n // There maybe ignored contexts which are still not fulfilled.\n // We treat them as RESOLVED.\n for (var deferred of deferredContexts.values()) {\n deferred.resolve();\n }\n })).catch(error => {\n // There maybe contexts left not fulfilled, when an error occurred.\n // We treat them as REJECTED.\n for (var deferred of deferredContexts.values()) {\n deferred.reject(error);\n }\n throw error;\n });\n return {\n pendingResult,\n pendingContexts\n };\n}\nfunction predicateNextResolveFactory(pendingDeps, scheduleAsSerial) {\n return (entry, index) =>\n // When contexts contain computed CTX accesses, it implies a dynamic dependency map.\n // So make them process sequentially, keep the same behavior as before.\n scheduleAsSerial ? index === 0 :\n // A context is ready when it has no pending dependencies.\n ![...entry[1].usedProperties].some(dep => pendingDeps.has(dep));\n}\nexport function getDependencyMapOfContext(contextConfs) {\n var keyword = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"CTX\";\n var strict = arguments.length > 2 ? arguments[2] : undefined;\n var depsMap = new Map();\n for (var contextConf of contextConfs) {\n var data = [contextConf.if, contextConf.value, contextConf.resolve];\n var stats = collectMemberUsage(data, keyword);\n if (!strict && keyword === \"STATE\") {\n var legacyTplStats = collectMemberUsage(data, \"TPL\");\n // Merge stats with legacyTplStats\n for (var prop of legacyTplStats.usedProperties) {\n stats.usedProperties.add(prop);\n }\n if (legacyTplStats.hasNonStaticUsage) {\n stats.hasNonStaticUsage = true;\n }\n }\n depsMap.set(contextConf, stats);\n }\n return depsMap;\n}\nfunction detectCircularContexts(dependencyMap, keyword) {\n var duplicatedMap = new Map(dependencyMap);\n var pendingDeps = new Set(Array.from(duplicatedMap.keys()).map(contextConf => contextConf.name));\n var next = () => {\n var processedAtLeastOne = false;\n for (var [contextConf, stats] of duplicatedMap.entries()) {\n if (![...stats.usedProperties].some(dep => pendingDeps.has(dep))) {\n duplicatedMap.delete(contextConf);\n pendingDeps.delete(contextConf.name);\n processedAtLeastOne = true;\n }\n }\n if (processedAtLeastOne) {\n next();\n }\n };\n next();\n if (duplicatedMap.size > 0) {\n throw new ReferenceError(\"Circular \".concat(keyword, \" detected: \").concat(Array.from(duplicatedMap.keys()).map(contextConf => contextConf.name).join(\", \")));\n }\n}\n//# sourceMappingURL=resolveDataStore.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _toPropertyKey from \"@babel/runtime/helpers/toPropertyKey\";\nimport { hasOwnProperty } from \"@next-core/utils/general\";\nimport { clamp } from \"lodash\";\nimport { symbolForAsyncComputedPropsFromHost, symbolForTPlExternalForEachIndex, symbolForTPlExternalForEachItem, symbolForTPlExternalNoForEach, symbolForTplStateStoreId } from \"./constants.js\";\nimport { computePropertyValue } from \"../compute/computeRealProperties.js\";\nimport { childrenToSlots } from \"../Renderer.js\";\nexport function setupTemplateProxy(hostContext, ref, slots) {\n var {\n reversedProxies,\n asyncHostPropertyEntries,\n externalSlots,\n tplStateStoreId,\n hostBrick\n } = hostContext;\n var asyncComputedProps;\n if (ref && reversedProxies) {\n var propertyProxies = reversedProxies.properties.get(ref);\n if (propertyProxies) {\n var getComputedProps = asyncHostProps => {\n return propertyProxies.map(_ref => {\n var {\n from,\n to\n } = _ref;\n var filtered = asyncHostProps.filter(entry => entry[0] === from);\n if (filtered.length > 0 && to.refProperty) {\n return [to.refProperty, computePropertyValue(filtered, from), true];\n }\n }).filter(Boolean);\n };\n asyncComputedProps = getComputedProps(asyncHostPropertyEntries);\n }\n var slotProxies = reversedProxies.slots.get(ref);\n if (slotProxies && externalSlots) {\n // Use an approach like template-literal's quasis:\n // `quasi0${0}quais1${1}quasi2...`\n // Every quasi (indexed by `refPosition`) can be slotted with multiple bricks.\n var quasisMap = new Map();\n for (var {\n from,\n to\n } of slotProxies) {\n var _externalSlots$from$b, _externalSlots$from, _to$refSlot, _to$refPosition;\n var insertBricks = (_externalSlots$from$b = (_externalSlots$from = externalSlots[from]) === null || _externalSlots$from === void 0 ? void 0 : _externalSlots$from.bricks) !== null && _externalSlots$from$b !== void 0 ? _externalSlots$from$b : [];\n if (!insertBricks.length) {\n continue;\n }\n var refToSlot = (_to$refSlot = to.refSlot) !== null && _to$refSlot !== void 0 ? _to$refSlot : from;\n var expandableSlot = quasisMap.get(refToSlot);\n if (!expandableSlot) {\n expandableSlot = [];\n // The size of quasis should be the existed slotted bricks' size plus one.\n var size = hasOwnProperty(slots, refToSlot) ? slots[refToSlot].bricks.length + 1 : 1;\n for (var i = 0; i < size; i += 1) {\n expandableSlot.push([]);\n }\n quasisMap.set(refToSlot, expandableSlot);\n }\n var refPosition = (_to$refPosition = to.refPosition) !== null && _to$refPosition !== void 0 ? _to$refPosition : -1;\n // External bricks of a template, should not access the template internal forEach `ITEM`.\n // For some existing templates who is *USING* this bug, we keep the old behavior.\n var hostHasForEach = hasOwnProperty(hostBrick.runtimeContext, \"forEachItem\");\n expandableSlot[clamp(refPosition < 0 ? expandableSlot.length + refPosition : refPosition, 0, expandableSlot.length - 1)].push(...((hostContext.__temporary_tpl_tag_name === \"base-layout-v3.tpl-scroll-load-list\" || hostContext.__temporary_tpl_tag_name === \"shrcb-homepage.tpl-custom-scroll-load-list\") && !hostHasForEach ? insertBricks : setupTemplateExternalBricks(insertBricks, hostHasForEach, hostBrick.runtimeContext.forEachItem, hostBrick.runtimeContext.forEachIndex)));\n }\n var _loop = function () {\n if (!hasOwnProperty(slots, slotName)) {\n slots[slotName] = {\n type: \"bricks\",\n bricks: []\n };\n }\n var slotConf = slots[slotName];\n slotConf.bricks = quasis.flatMap((bricks, index) => index < slotConf.bricks.length ? bricks.concat(slotConf.bricks[index]) : bricks);\n if (slotConf.bricks.length === 0) {\n delete slots[slotName];\n }\n };\n for (var [slotName, quasis] of quasisMap.entries()) {\n _loop();\n }\n }\n }\n return {\n [symbolForAsyncComputedPropsFromHost]: asyncComputedProps,\n [symbolForTplStateStoreId]: tplStateStoreId\n };\n}\n\n// External bricks of a template, have the same forEachItem context as their host.\nfunction setupTemplateExternalBricks(bricks, hasForEach, forEachItem, forEachIndex) {\n return bricks.map(_ref2 => {\n var _childrenToSlots;\n var {\n children,\n slots,\n [symbolForTPlExternalForEachItem]: a,\n [symbolForTPlExternalForEachIndex]: b,\n [symbolForTPlExternalNoForEach]: c\n } = _ref2,\n brick = _objectWithoutProperties(_ref2, [\"children\", \"slots\", symbolForTPlExternalForEachItem, symbolForTPlExternalForEachIndex, symbolForTPlExternalNoForEach].map(_toPropertyKey));\n return _objectSpread(_objectSpread(_objectSpread({}, brick), hasForEach ? {\n [symbolForTPlExternalForEachItem]: forEachItem,\n [symbolForTPlExternalForEachIndex]: forEachIndex\n } : {\n [symbolForTPlExternalNoForEach]: true\n }), {}, {\n // Keep `:forEach` bricks as original, since they have their own forEachItem context.\n slots: brick.brick === \":forEach\" ? childrenToSlots(children, slots) : Object.fromEntries(Object.entries((_childrenToSlots = childrenToSlots(children, slots)) !== null && _childrenToSlots !== void 0 ? _childrenToSlots : {}).map(_ref3 => {\n var [slotName, slotConf] = _ref3;\n return [slotName, slotConf.type === \"routes\" ? {\n type: \"routes\",\n routes: setupTemplateExternalRoutes(slotConf.routes, hasForEach, forEachItem, forEachIndex)\n } : {\n type: \"bricks\",\n bricks: setupTemplateExternalBricks(slotConf.bricks, hasForEach, forEachItem, forEachIndex)\n }];\n }))\n });\n });\n}\nfunction setupTemplateExternalRoutes(routes, hasForEach, forEachItem, forEachIndex) {\n return routes.map(route => route.type === \"routes\" ? _objectSpread(_objectSpread({}, route), {}, {\n routes: setupTemplateExternalRoutes(route.routes, hasForEach, forEachItem, forEachIndex)\n }) : route.type === \"redirect\" ? route : _objectSpread(_objectSpread({}, route), {}, {\n bricks: setupTemplateExternalBricks(route.bricks, hasForEach, forEachItem, forEachIndex)\n }));\n}\n//# sourceMappingURL=setupTemplateProxy.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"properties\", \"slots\", \"children\"];\nimport { isObject } from \"@next-core/utils/general\";\nimport { setupTemplateProxy } from \"./setupTemplateProxy.js\";\nimport { childrenToSlots } from \"../Renderer.js\";\nexport function setupUseBrickInTemplate(props, hostContext) {\n function walk(props) {\n if (!isObject(props) || typeof props === \"function\") {\n return props;\n }\n if (Array.isArray(props)) {\n return props.map(walk);\n }\n return Object.fromEntries(Object.entries(props).map(_ref => {\n var [key, value] = _ref;\n return isObject(value) && key === \"useBrick\" ? Array.isArray(value) ? [key, value.map(setup)] : [key, setup(value)] : [key, walk(value)];\n }).concat(Object.getOwnPropertySymbols(props).map(k => [k, props[k]])));\n }\n function setup(item) {\n var {\n properties,\n slots: originalSlots,\n children\n } = item,\n restConf = _objectWithoutProperties(item, _excluded);\n var transpiledSlots = childrenToSlots(children, originalSlots);\n var slots = Object.fromEntries(Object.entries(transpiledSlots !== null && transpiledSlots !== void 0 ? transpiledSlots : {}).map(_ref2 => {\n var _slotConf$bricks;\n var [slotName, slotConf] = _ref2;\n return [slotName, {\n type: \"bricks\",\n bricks: ((_slotConf$bricks = slotConf.bricks) !== null && _slotConf$bricks !== void 0 ? _slotConf$bricks : []).map(setup)\n }];\n }));\n return _objectSpread(_objectSpread({}, restConf), {}, {\n properties: walk(properties),\n slots\n }, setupTemplateProxy(hostContext, restConf.ref, slots));\n }\n return walk(props);\n}\n//# sourceMappingURL=setupUseBrickInTemplate.js.map","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nvar _excluded = [\"slots\", \"children\"],\n _excluded2 = [\"properties\", \"slots\", \"children\"];\nimport { uniqueId } from \"lodash\";\nimport { customTemplates } from \"../../CustomTemplates.js\";\nimport { DataStore } from \"../data/DataStore.js\";\nimport { setupTemplateProxy } from \"./setupTemplateProxy.js\";\nimport { setupUseBrickInTemplate } from \"./setupUseBrickInTemplate.js\";\nimport { childrenToSlots } from \"../Renderer.js\";\nimport { hooks } from \"../Runtime.js\";\nexport function expandCustomTemplate(tplTagName, brickConf, hostBrick, asyncHostPropertyEntries, rendererContext) {\n var _hooks$flowApi;\n var tplStateStoreId = uniqueId(\"tpl-state-\");\n var runtimeContext = _objectSpread(_objectSpread({}, hostBrick.runtimeContext), {}, {\n tplStateStoreId\n });\n\n // There is a boundary for `forEachItem` and `FORM_STATE` between template internals and externals.\n delete runtimeContext.forEachItem;\n delete runtimeContext.forEachIndex;\n delete runtimeContext.formStateStoreId;\n var tplStateStore = new DataStore(\"STATE\", hostBrick, rendererContext, tplStateStoreId);\n runtimeContext.tplStateStoreMap.set(tplStateStoreId, tplStateStore);\n if (runtimeContext.tplStateStoreScope) {\n runtimeContext.tplStateStoreScope.push(tplStateStore);\n }\n var {\n bricks,\n proxy,\n state,\n contracts\n } = customTemplates.get(tplTagName);\n hooks === null || hooks === void 0 || (_hooks$flowApi = hooks.flowApi) === null || _hooks$flowApi === void 0 || _hooks$flowApi.collectWidgetContract(contracts);\n tplStateStore.define(state, runtimeContext, asyncHostPropertyEntries);\n var {\n slots: originalExternalSlots,\n children: externalChildren\n } = brickConf,\n restBrickConf = _objectWithoutProperties(brickConf, _excluded);\n var newBrickConf = _objectSpread(_objectSpread({}, restBrickConf), {}, {\n brick: tplTagName\n });\n hostBrick.tplHostMetadata = {\n internalBricksByRef: new Map(),\n tplStateStoreId,\n proxy\n };\n\n // Reversed proxies are used for expand storyboard before rendering page.\n var reversedProxies = {\n properties: new Map(),\n slots: new Map()\n // mergeBases: new Map(),\n };\n if (proxy !== null && proxy !== void 0 && proxy.properties) {\n for (var [from, to] of Object.entries(proxy.properties)) {\n var proxies = reversedProxies.properties.get(to.ref);\n if (!proxies) {\n proxies = [];\n reversedProxies.properties.set(to.ref, proxies);\n }\n proxies.push({\n from,\n to\n });\n }\n }\n if (proxy !== null && proxy !== void 0 && proxy.slots) {\n for (var [_from, _to] of Object.entries(proxy.slots)) {\n var _proxies = reversedProxies.slots.get(_to.ref);\n if (!_proxies) {\n _proxies = [];\n reversedProxies.slots.set(_to.ref, _proxies);\n }\n _proxies.push({\n from: _from,\n to: _to\n });\n }\n }\n var hostContext = {\n reversedProxies,\n asyncHostPropertyEntries,\n externalSlots: childrenToSlots(externalChildren, originalExternalSlots),\n tplStateStoreId,\n hostBrick: hostBrick,\n __temporary_tpl_tag_name: tplTagName\n };\n newBrickConf.slots = {\n \"\": {\n type: \"bricks\",\n bricks: bricks.map(item => expandBrickInTemplate(item, hostContext))\n }\n };\n return newBrickConf;\n}\nfunction expandBrickInTemplate(brickConfInTemplate, hostContext) {\n // Ignore `if: null` to make `looseCheckIf` working.\n if (brickConfInTemplate.if === null) {\n delete brickConfInTemplate.if;\n }\n var {\n properties,\n slots: slotsInTemplate,\n children: childrenInTemplate\n } = brickConfInTemplate,\n restBrickConfInTemplate = _objectWithoutProperties(brickConfInTemplate, _excluded2);\n var transpiledSlots = childrenToSlots(childrenInTemplate, slotsInTemplate);\n var slots = Object.fromEntries(Object.entries(transpiledSlots !== null && transpiledSlots !== void 0 ? transpiledSlots : {}).map(_ref => {\n var _slotConf$bricks;\n var [slotName, slotConf] = _ref;\n return [slotName, {\n type: \"bricks\",\n bricks: ((_slotConf$bricks = slotConf.bricks) !== null && _slotConf$bricks !== void 0 ? _slotConf$bricks : []).map(item => expandBrickInTemplate(item, hostContext))\n }];\n }));\n return _objectSpread(_objectSpread({}, restBrickConfInTemplate), {}, {\n properties: setupUseBrickInTemplate(properties, hostContext),\n slots\n }, setupTemplateProxy(hostContext, restBrickConfInTemplate.ref, slots));\n}\n//# sourceMappingURL=expandCustomTemplate.js.map","export var FORM_RENDERER = \"form-renderer.form-renderer\";\nexport var symbolForFormStateStoreId = Symbol.for(\"form.stateStoreId\");\n//# sourceMappingURL=constants.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { hasOwnProperty } from \"@next-core/utils/general\";\nimport { uniqueId } from \"lodash\";\nimport { DataStore } from \"../data/DataStore.js\";\nimport { getDefaultProperties } from \"./getDefaultProperties.js\";\nimport { symbolForFormStateStoreId } from \"./constants.js\";\nvar formContainers = [\"forms.general-form\", \"form.general-form\", \"eo-form\"];\nexport function expandFormRenderer(formData, hostBrickConf, hostBrick, asyncHostPropertyEntries, rendererContext) {\n var _normalizedFormData$c, _hostBrickConf$proper;\n var normalizedFormData = typeof formData === \"string\" ? JSON.parse(formData) : formData;\n var formStateStoreId = uniqueId(\"form-state-\");\n var runtimeContext = _objectSpread(_objectSpread({}, hostBrick.runtimeContext), {}, {\n formStateStoreId\n });\n\n // There is a boundary for `forEachItem` and `STATE` between form internals and externals.\n delete runtimeContext.forEachItem;\n delete runtimeContext.forEachIndex;\n delete runtimeContext.tplStateStoreId;\n var formStateStore = new DataStore(\"FORM_STATE\", undefined, rendererContext, formStateStoreId);\n runtimeContext.formStateStoreMap.set(formStateStoreId, formStateStore);\n if (runtimeContext.formStateStoreScope) {\n runtimeContext.formStateStoreScope.push(formStateStore);\n }\n\n // Always add a state of `params`.\n var context = (_normalizedFormData$c = normalizedFormData.context) !== null && _normalizedFormData$c !== void 0 ? _normalizedFormData$c : [];\n if (!context.some(ctx => ctx.name === \"params\")) {\n context.push({\n name: \"params\"\n });\n }\n formStateStore.define(context, runtimeContext, asyncHostPropertyEntries);\n var formConf = formSchemaToBrick(normalizedFormData.formSchema, normalizedFormData.fields, formStateStoreId);\n if (formContainers.includes(formConf.brick) && hostBrickConf.events) {\n formConf.events = mergeEvents(formConf.events, hostBrickConf.events);\n }\n var renderRoot = typeof ((_hostBrickConf$proper = hostBrickConf.properties) === null || _hostBrickConf$proper === void 0 ? void 0 : _hostBrickConf$proper.renderRoot) !== \"boolean\" || hostBrickConf.properties.renderRoot;\n if (renderRoot) {\n return _objectSpread(_objectSpread({}, hostBrickConf), {}, {\n slots: undefined,\n children: [{\n brick: \"eo-micro-view\",\n properties: {\n style: {\n padding: \"12px\"\n }\n },\n children: [formConf]\n }]\n });\n }\n return _objectSpread(_objectSpread({}, hostBrickConf), {}, {\n slots: undefined,\n children: [formConf]\n });\n}\nfunction formSchemaToBrick(schema, fields, formStateStoreId) {\n var {\n id,\n bricks,\n events,\n context,\n mountPoint,\n instanceId: iid\n } = schema;\n var {\n brick,\n properties\n } = schema;\n\n // 根据字段类型获取默认配置\n var field = fields.find(item => item.fieldId === id);\n if (field) {\n var defaults = getDefaultProperties(field);\n if (!brick) {\n brick = defaults.brick;\n }\n properties = _objectSpread(_objectSpread({}, defaults.properties), properties);\n }\n var brickConf = {\n brick,\n properties,\n iid,\n slot: mountPoint,\n events,\n context,\n children: formSchemasToBricks(bricks, fields, formStateStoreId),\n [symbolForFormStateStoreId]: formStateStoreId\n };\n if (hasOwnProperty(schema, \"if\")) {\n brickConf.if = schema.if;\n }\n return brickConf;\n}\nfunction formSchemasToBricks(schemas, fields, formStateStoreId) {\n if (Array.isArray(schemas)) {\n return schemas.map(schema => formSchemaToBrick(schema, fields, formStateStoreId));\n }\n}\nfunction mergeEvents(targetEvents, sourceEvents) {\n var events = targetEvents !== null && targetEvents !== void 0 ? targetEvents : {};\n for (var [eventType, handlers] of Object.entries(sourceEvents)) {\n events[eventType] = hasOwnProperty(events, eventType) ? [events[eventType], handlers].flat() : handlers;\n }\n return events;\n}\n//# sourceMappingURL=expandFormRenderer.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nexport function getDefaultProperties(field) {\n var defaultValue;\n var commonProps = {\n id: field.fieldId,\n name: field.fieldId,\n label: field.name,\n dataset: {\n testid: field.fieldId\n }\n };\n var getReadOnlyAndRequired = () => {\n var _field$limit, _field$limit2;\n return {\n readOnly: (_field$limit = field.limit) === null || _field$limit === void 0 ? void 0 : _field$limit.includes(\"READONLY\"),\n required: (_field$limit2 = field.limit) === null || _field$limit2 === void 0 ? void 0 : _field$limit2.includes(\"REQUIRED\")\n };\n };\n switch (field.fieldType) {\n case \"INT\":\n defaultValue = {\n brick: \"forms.general-input-number\",\n properties: _objectSpread(_objectSpread(_objectSpread({}, commonProps), getReadOnlyAndRequired()), {}, {\n placeholder: field.description,\n precision: 0,\n inputBoxStyle: {\n width: \"100%\"\n }\n })\n };\n break;\n case \"BOOLEAN\":\n defaultValue = {\n brick: \"forms.general-switch\",\n properties: _objectSpread(_objectSpread({}, commonProps), getReadOnlyAndRequired())\n };\n break;\n case \"FLOAT\":\n defaultValue = {\n brick: \"forms.general-input-number\",\n properties: _objectSpread(_objectSpread(_objectSpread({}, commonProps), getReadOnlyAndRequired()), {}, {\n placeholder: field.description,\n inputBoxStyle: {\n width: \"100%\"\n }\n })\n };\n break;\n case \"ENUM\":\n defaultValue = {\n brick: \"forms.general-select\",\n properties: _objectSpread(_objectSpread(_objectSpread({}, commonProps), getReadOnlyAndRequired()), {}, {\n options: [{\n label: \"选项一\",\n value: 1\n }, {\n label: \"选项二\",\n value: 2\n }],\n placeholder: field.description,\n inputBoxStyle: {\n width: \"100%\"\n }\n })\n };\n break;\n case \"ENUMS\":\n defaultValue = {\n brick: \"forms.general-select\",\n properties: _objectSpread(_objectSpread(_objectSpread({}, commonProps), getReadOnlyAndRequired()), {}, {\n mode: \"multiple\",\n options: [{\n label: \"选项一\",\n value: 1\n }, {\n label: \"选项二\",\n value: 2\n }],\n placeholder: field.description,\n inputBoxStyle: {\n width: \"100%\"\n }\n })\n };\n break;\n case \"DATE\":\n case \"TIME\":\n defaultValue = {\n brick: \"forms.general-date-picker\",\n properties: _objectSpread(_objectSpread(_objectSpread({}, commonProps), getReadOnlyAndRequired()), {}, {\n placeholder: field.description\n })\n };\n break;\n case \"IP\":\n defaultValue = {\n brick: \"forms.general-input\",\n properties: _objectSpread(_objectSpread(_objectSpread({}, commonProps), getReadOnlyAndRequired()), {}, {\n placeholder: field.description,\n pattern: \"((^s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))s*$)|(^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*$))\",\n message: {\n pattern: \"输入字符不匹配IP格式\"\n }\n })\n };\n break;\n case \"JSON\":\n defaultValue = {\n brick: \"forms.general-textarea\",\n properties: _objectSpread({}, commonProps)\n };\n break;\n case \"ARRAY\":\n defaultValue = {\n brick: \"forms.general-select\",\n properties: _objectSpread({}, commonProps)\n };\n break;\n case \"STRUCTURE\":\n case \"STRUCTURE_ARRAY\":\n defaultValue = {\n brick: \"forms.cmdb-instance-select-panel\",\n properties: _objectSpread(_objectSpread({}, commonProps), getReadOnlyAndRequired())\n };\n break;\n default:\n defaultValue = {\n brick: \"forms.general-input\",\n properties: _objectSpread(_objectSpread(_objectSpread({}, commonProps), getReadOnlyAndRequired()), {}, {\n placeholder: field.description\n })\n };\n }\n return defaultValue;\n}\n//# sourceMappingURL=getDefaultProperties.js.map","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nvar _excluded = [\"blockingList\", \"node\", \"menuRequestNode\", \"hasTrackingControls\"],\n _excluded2 = [\"if\", \"permissionsPreCheck\"],\n _excluded3 = [\"formData\"],\n _excluded4 = [\"src\"],\n _excluded5 = [\"href\"];\nimport { enqueueStableLoadBricks, flushStableLoadBricks, loadBricksImperatively, loadProcessorsImperatively, loadScript, loadStyle } from \"@next-core/loader\";\nimport { isTrackAll } from \"@next-core/cook\";\nimport { hasOwnProperty } from \"@next-core/utils/general\";\nimport { strictCollectMemberUsage } from \"@next-core/utils/storyboard\";\nimport { debounce, isEqual } from \"lodash\";\nimport { asyncCheckBrickIf } from \"./compute/checkIf.js\";\nimport { asyncComputeRealPropertyEntries, constructAsyncProperties } from \"./compute/computeRealProperties.js\";\nimport { resolveData } from \"./data/resolveData.js\";\nimport { asyncComputeRealValue } from \"./compute/computeRealValue.js\";\nimport { listenOnTrackingContext } from \"./compute/listenOnTrackingContext.js\";\nimport { matchRoute, matchRoutes } from \"./matchRoutes.js\";\nimport { symbolForAsyncComputedPropsFromHost, symbolForTPlExternalForEachIndex, symbolForTPlExternalForEachItem, symbolForTPlExternalNoForEach, symbolForTplStateStoreId } from \"./CustomTemplates/constants.js\";\nimport { expandCustomTemplate } from \"./CustomTemplates/expandCustomTemplate.js\";\nimport { getTagNameOfCustomTemplate, getTplStateStore } from \"./CustomTemplates/utils.js\";\nimport { customTemplates } from \"../CustomTemplates.js\";\nimport { getBrickPackages, hooks } from \"./Runtime.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { getTracks } from \"./compute/getTracks.js\";\nimport { isStrictMode, warnAboutStrictMode } from \"../isStrictMode.js\";\nimport { FORM_RENDERER, symbolForFormStateStoreId } from \"./FormRenderer/constants.js\";\nimport { expandFormRenderer } from \"./FormRenderer/expandFormRenderer.js\";\nimport { isPreEvaluated } from \"./compute/evaluate.js\";\nimport { getPreEvaluatedRaw } from \"./compute/evaluate.js\";\nimport { matchHomepage } from \"./matchStoryboard.js\";\nimport { listenerFactory } from \"./bindListeners.js\";\nimport { setupRootRuntimeContext } from \"./setupRootRuntimeContext.js\";\nexport function renderRoutes(_x, _x2, _x3, _x4, _x5, _x6, _x7, _x8) {\n return _renderRoutes.apply(this, arguments);\n}\nfunction _renderRoutes() {\n _renderRoutes = _asyncToGenerator(function* (returnNode, routes, _runtimeContext, rendererContext, parentRoutes, menuRequestReturnNode, slotId, isIncremental) {\n var matched = yield matchRoutes(routes, _runtimeContext);\n var output = getEmptyRenderOutput();\n var menuRequestNode = output.menuRequestNode = {\n return: menuRequestReturnNode\n };\n switch (matched) {\n case \"missed\":\n break;\n case \"unauthenticated\":\n output.unauthenticated = true;\n break;\n default:\n {\n var _hooks$checkPermissio;\n var route = output.route = matched.route;\n output.path = matched.match.path;\n var runtimeContext = _objectSpread(_objectSpread({}, _runtimeContext), {}, {\n match: matched.match\n });\n if (isIncremental) {\n runtimeContext.ctxStore.disposeDataInRoutes(routes);\n }\n var routePath = parentRoutes.concat(route);\n runtimeContext.ctxStore.define(route.context, runtimeContext, undefined, routePath);\n runtimeContext.pendingPermissionsPreCheck.push(hooks === null || hooks === void 0 || (_hooks$checkPermissio = hooks.checkPermissions) === null || _hooks$checkPermissio === void 0 ? void 0 : _hooks$checkPermissio.preCheckPermissionsForBrickOrRoute(route, value => asyncComputeRealValue(value, runtimeContext)));\n\n // Currently, this is only used for brick size-checking: these bricks\n // will be loaded before page rendering, but they will NOT be rendered.\n var {\n preLoadBricks\n } = route;\n if (Array.isArray(preLoadBricks)) {\n output.blockingList.push(loadBricksImperatively(preLoadBricks, getBrickPackages()));\n }\n if (route.type === \"redirect\") {\n var redirectTo;\n if (typeof route.redirect === \"string\") {\n redirectTo = yield asyncComputeRealValue(route.redirect, runtimeContext);\n } else {\n var resolved = yield resolveData(_objectSpread({\n transform: \"redirect\"\n }, route.redirect), runtimeContext);\n redirectTo = resolved.redirect;\n }\n if (typeof redirectTo !== \"string\") {\n // eslint-disable-next-line no-console\n console.error(\"Unexpected redirect result:\", redirectTo);\n throw new Error(\"Unexpected type of redirect result: \".concat(typeof redirectTo));\n }\n output.redirect = {\n path: redirectTo\n };\n } else {\n var menuRequest = loadMenu(route.menu, runtimeContext);\n if (menuRequest) {\n menuRequestNode.request = menuRequest;\n }\n if (!isIncremental) {\n rendererContext.memoizeMenuRequestNode(routes, menuRequestNode);\n }\n var newOutput;\n if (route.type === \"routes\") {\n newOutput = yield renderRoutes(returnNode, route.routes, runtimeContext, rendererContext, routePath, menuRequestNode, slotId);\n } else {\n newOutput = yield renderBricks(returnNode, route.bricks, runtimeContext, rendererContext, routePath, menuRequestNode, slotId);\n }\n mergeRenderOutput(output, newOutput);\n appendMenuRequestNode(menuRequestNode, newOutput.menuRequestNode);\n }\n }\n }\n return output;\n });\n return _renderRoutes.apply(this, arguments);\n}\nexport function renderBricks(_x9, _x10, _x11, _x12, _x13, _x14, _x15, _x16, _x17) {\n return _renderBricks.apply(this, arguments);\n}\nfunction _renderBricks() {\n _renderBricks = _asyncToGenerator(function* (returnNode, bricks, runtimeContext, rendererContext, parentRoutes, menuRequestReturnNode, slotId, tplStack, keyPath) {\n setupRootRuntimeContext(bricks, runtimeContext, true);\n var output = getEmptyRenderOutput();\n var kPath = keyPath !== null && keyPath !== void 0 ? keyPath : [];\n // 多个构件并行异步转换,但转换的结果按原顺序串行合并。\n var rendered = yield Promise.all(bricks.map((brickConf, index) => renderBrick(returnNode, brickConf, runtimeContext, rendererContext, parentRoutes, menuRequestReturnNode, slotId, kPath.concat(index), tplStack && new Map(tplStack))));\n rendered.forEach((item, index) => {\n if (item.hasTrackingControls) {\n // Memoize a render node before it's been merged.\n rendererContext.memoize(slotId, kPath.concat(index), item.node, returnNode);\n }\n mergeRenderOutput(output, item);\n });\n return output;\n });\n return _renderBricks.apply(this, arguments);\n}\nexport function renderBrick(_x18, _x19, _x20, _x21, _x22, _x23, _x24) {\n return _renderBrick.apply(this, arguments);\n}\nfunction _renderBrick() {\n _renderBrick = _asyncToGenerator(function* (returnNode, brickConf, _runtimeContext, rendererContext, parentRoutes, menuRequestReturnNode, slotId) {\n var _hooks$checkPermissio2, _runtimeContext$app;\n var keyPath = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : [];\n var tplStack = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : new Map();\n var output = getEmptyRenderOutput();\n if (!brickConf.brick) {\n if (brickConf.template) {\n // eslint-disable-next-line no-console\n console.error(\"Legacy templates are dropped in v3:\", brickConf);\n } else {\n // eslint-disable-next-line no-console\n console.error(\"Invalid brick:\", brickConf);\n }\n return output;\n }\n\n // Translate `if: \"<%= ... %>\"` to `brick: \":if\", dataSource: \"<%= ... %>\"`.\n // In other words, translate tracking if expressions to tracking control nodes of `:if`.\n var {\n if: brickIf,\n permissionsPreCheck\n } = brickConf,\n restBrickConf = _objectWithoutProperties(brickConf, _excluded2);\n if (isGeneralizedTrackAll(brickIf)) {\n return renderBrick(returnNode, _objectSpread({\n brick: \":if\",\n dataSource: brickIf,\n // `permissionsPreCheck` maybe required before computing `if`.\n permissionsPreCheck,\n slots: {\n \"\": {\n type: \"bricks\",\n bricks: [restBrickConf]\n }\n }\n }, Object.getOwnPropertySymbols(brickConf).reduce((acc, symbol) => _objectSpread(_objectSpread({}, acc), {}, {\n [symbol]: brickConf[symbol]\n }), {})), _runtimeContext, rendererContext, parentRoutes, menuRequestReturnNode, slotId, keyPath, tplStack);\n }\n var tplStateStoreId = brickConf[symbolForTplStateStoreId];\n var formStateStoreId = brickConf[symbolForFormStateStoreId];\n var runtimeContext = _objectSpread(_objectSpread({}, _runtimeContext), {}, {\n tplStateStoreId,\n formStateStoreId\n });\n if (hasOwnProperty(brickConf, symbolForTPlExternalForEachItem)) {\n // The external bricks of a template should restore their `forEachItem` and\n // `forEachIndex` from their host.\n runtimeContext.forEachItem = brickConf[symbolForTPlExternalForEachItem];\n runtimeContext.forEachIndex = brickConf[symbolForTPlExternalForEachIndex];\n } else if (brickConf[symbolForTPlExternalNoForEach]) {\n delete runtimeContext.forEachItem;\n delete runtimeContext.forEachIndex;\n }\n var {\n context\n } = brickConf;\n // istanbul ignore next\n if (Array.isArray(context) && context.length > 0) {\n var strict = isStrictMode(runtimeContext);\n warnAboutStrictMode(strict, \"Defining context on bricks\", \"check your brick:\", brickConf);\n if (!strict) {\n runtimeContext.ctxStore.define(context, runtimeContext);\n }\n }\n runtimeContext.pendingPermissionsPreCheck.push(hooks === null || hooks === void 0 || (_hooks$checkPermissio2 = hooks.checkPermissions) === null || _hooks$checkPermissio2 === void 0 ? void 0 : _hooks$checkPermissio2.preCheckPermissionsForBrickOrRoute(brickConf, value => asyncComputeRealValue(value, runtimeContext)));\n if (!(yield asyncCheckBrickIf(brickConf, runtimeContext))) {\n return output;\n }\n var brickName = brickConf.brick;\n if (brickName.startsWith(\":\")) {\n var _brickConf$lifeCycle;\n ensureValidControlBrick(brickName);\n var {\n dataSource\n } = brickConf;\n var lowerLevelRenderControlNode = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (runtimeContext) {\n var _slots$slot;\n // First, compute the `dataSource`\n var computedDataSource = yield asyncComputeRealValue(dataSource, runtimeContext);\n\n // Then, get the matched slot.\n var slot = brickName === \":forEach\" ? \"\" : brickName === \":switch\" ? String(computedDataSource) : computedDataSource ? \"\" : \"else\";\n\n // Don't forget to transpile children to slots.\n var slots = childrenToSlots(brickConf.children, brickConf.slots);\n\n // Then, get the bricks in that matched slot.\n var bricks = slots && hasOwnProperty(slots, slot) && ((_slots$slot = slots[slot]) === null || _slots$slot === void 0 ? void 0 : _slots$slot.bricks);\n if (!Array.isArray(bricks)) {\n return getEmptyRenderOutput();\n }\n switch (brickName) {\n case \":forEach\":\n {\n if (!Array.isArray(computedDataSource)) {\n return getEmptyRenderOutput();\n }\n return renderForEach(returnNode, computedDataSource, bricks, runtimeContext, rendererContext, parentRoutes, menuRequestReturnNode, slotId, tplStack, keyPath);\n }\n case \":if\":\n case \":switch\":\n {\n return renderBricks(returnNode, bricks, runtimeContext, rendererContext, parentRoutes, menuRequestReturnNode, slotId, tplStack, keyPath);\n }\n }\n });\n return function lowerLevelRenderControlNode(_x35) {\n return _ref.apply(this, arguments);\n };\n }();\n var renderControlNode = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(function* (runtimeContext) {\n var _rawOutput$node;\n var rawOutput = yield lowerLevelRenderControlNode(runtimeContext);\n (_rawOutput$node = rawOutput.node) !== null && _rawOutput$node !== void 0 ? _rawOutput$node : rawOutput.node = {\n tag: RenderTag.PLACEHOLDER,\n return: returnNode\n };\n return rawOutput;\n });\n return function renderControlNode(_x36) {\n return _ref2.apply(this, arguments);\n };\n }();\n var controlledOutput = yield renderControlNode(runtimeContext);\n var {\n onMount,\n onUnmount\n } = (_brickConf$lifeCycle = brickConf.lifeCycle) !== null && _brickConf$lifeCycle !== void 0 ? _brickConf$lifeCycle : {};\n var {\n contextNames,\n stateNames\n } = getTracks(dataSource);\n if (contextNames || stateNames) {\n controlledOutput.hasTrackingControls = true;\n var renderId = 0;\n var listener = /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator(function* () {\n var currentRenderId = ++renderId;\n var [scopedRuntimeContext, tplStateStoreScope, formStateStoreScope] = createScopedRuntimeContext(runtimeContext);\n var reControlledOutput = yield renderControlNode(scopedRuntimeContext);\n var scopedStores = [...tplStateStoreScope, ...formStateStoreScope];\n yield postAsyncRender(reControlledOutput, scopedRuntimeContext, scopedStores);\n\n // Ignore stale renders\n if (renderId === currentRenderId) {\n if (onUnmount) {\n listenerFactory(onUnmount, runtimeContext)(new CustomEvent(\"unmount\", {\n detail: {\n rerender: true\n }\n }));\n }\n rendererContext.reRender(slotId, keyPath, reControlledOutput.node, returnNode);\n if (onMount) {\n listenerFactory(onMount, scopedRuntimeContext)(new CustomEvent(\"mount\", {\n detail: {\n rerender: true\n }\n }));\n }\n for (var store of scopedStores) {\n store.mountAsyncData();\n }\n }\n });\n return function listener() {\n return _ref3.apply(this, arguments);\n };\n }();\n var debouncedListener = debounce(listener);\n if (contextNames) {\n for (var contextName of contextNames) {\n runtimeContext.ctxStore.onChange(contextName, debouncedListener);\n }\n }\n if (stateNames) {\n for (var _contextName of stateNames) {\n var tplStateStore = getTplStateStore(runtimeContext, \"STATE\", \": \\\"\".concat(dataSource, \"\\\"\"));\n tplStateStore.onChange(_contextName, debouncedListener);\n }\n }\n }\n if (onMount) {\n rendererContext.registerArbitraryLifeCycle(\"onMount\", () => {\n listenerFactory(onMount, runtimeContext)(new CustomEvent(\"mount\", {\n detail: {\n rerender: false\n }\n }));\n });\n }\n if (onUnmount) {\n rendererContext.registerArbitraryLifeCycle(\"onUnmount\", () => {\n listenerFactory(onUnmount, runtimeContext)(new CustomEvent(\"unmount\", {\n detail: {\n rerender: false\n }\n }));\n });\n }\n return controlledOutput;\n }\n\n // Widgets need to be defined before rendering.\n if (/\\.tpl-/.test(brickName) && !customTemplates.get(brickName)) {\n yield catchLoad(loadBricksImperatively([brickName], getBrickPackages()), \"brick\", brickName, rendererContext.unknownBricks);\n }\n var tplTagName = getTagNameOfCustomTemplate(brickName, (_runtimeContext$app = runtimeContext.app) === null || _runtimeContext$app === void 0 ? void 0 : _runtimeContext$app.id);\n if (tplTagName) {\n var _tplStack$get;\n var tplCount = (_tplStack$get = tplStack.get(tplTagName)) !== null && _tplStack$get !== void 0 ? _tplStack$get : 0;\n if (tplCount >= 10) {\n throw new Error(\"Maximum custom template stack overflowed: \\\"\".concat(tplTagName, \"\\\"\"));\n }\n tplStack.set(tplTagName, tplCount + 1);\n } else if (brickName.includes(\"-\") && !customElements.get(brickName)) {\n if (brickName === FORM_RENDERER) {\n customElements.define(FORM_RENDERER, class FormRendererElement extends HTMLElement {\n get $$typeof() {\n return \"form-renderer\";\n }\n });\n } else {\n output.blockingList.push(catchLoad(enqueueStableLoadBricks([brickName], getBrickPackages()), \"brick\", brickName, rendererContext.unknownBricks));\n }\n }\n var formData;\n var confProps;\n if (brickName === FORM_RENDERER) {\n var _brickConf$properties;\n var _ref4 = (_brickConf$properties = brickConf.properties) !== null && _brickConf$properties !== void 0 ? _brickConf$properties : {};\n ({\n formData\n } = _ref4);\n confProps = _objectWithoutProperties(_ref4, _excluded3);\n _ref4;\n } else {\n confProps = brickConf.properties;\n }\n var trackingContextList = [];\n var asyncPropertyEntries = asyncComputeRealPropertyEntries(confProps, runtimeContext, trackingContextList);\n var computedPropsFromHost = brickConf[symbolForAsyncComputedPropsFromHost];\n if (computedPropsFromHost) {\n asyncPropertyEntries.push(...computedPropsFromHost);\n }\n var isScript = brickName === \"script\";\n if (isScript || brickName === \"link\") {\n var props = yield constructAsyncProperties(asyncPropertyEntries);\n if (isScript ? props.src : props.rel === \"stylesheet\" && props.href) {\n var _window$PUBLIC_ROOT;\n var prefix = (_window$PUBLIC_ROOT = window.PUBLIC_ROOT) !== null && _window$PUBLIC_ROOT !== void 0 ? _window$PUBLIC_ROOT : \"\";\n if (isScript) {\n var {\n src\n } = props,\n attrs = _objectWithoutProperties(props, _excluded4);\n yield catchLoad(loadScript(src, prefix, attrs), \"script\", src, \"silent\");\n } else {\n var {\n href\n } = props,\n attrs = _objectWithoutProperties(props, _excluded5);\n yield catchLoad(loadStyle(href, prefix, attrs), \"stylesheet\", href, \"silent\");\n }\n return output;\n }\n }\n var brick = {\n tag: RenderTag.BRICK,\n type: tplTagName || brickName,\n return: returnNode,\n slotId,\n events: brickConf.events,\n runtimeContext,\n portal: brickConf.portal,\n iid: brickConf.iid,\n ref: brickConf.ref\n };\n output.node = brick;\n\n // 在最终挂载前,先加载所有可能用到的 processors。\n var usedProcessors = strictCollectMemberUsage([brickConf.events, brickConf.lifeCycle], \"PROCESSORS\", 2);\n if (usedProcessors.size > 0) {\n output.blockingList.push(catchLoad(loadProcessorsImperatively(usedProcessors, getBrickPackages()), \"processors\", [...usedProcessors].join(\", \"), rendererContext.unknownBricks));\n }\n\n // 加载构件属性和加载子构件等任务,可以并行。\n var blockingList = [];\n var loadProperties = /*#__PURE__*/function () {\n var _ref5 = _asyncToGenerator(function* () {\n brick.properties = yield constructAsyncProperties(asyncPropertyEntries);\n listenOnTrackingContext(brick, trackingContextList);\n });\n return function loadProperties() {\n return _ref5.apply(this, arguments);\n };\n }();\n blockingList.push(loadProperties());\n rendererContext.registerBrickLifeCycle(brick, brickConf.lifeCycle);\n var expandedBrickConf = brickConf;\n if (tplTagName) {\n expandedBrickConf = expandCustomTemplate(tplTagName, brickConf, brick, asyncPropertyEntries, rendererContext);\n } else if (brickName === FORM_RENDERER) {\n expandedBrickConf = expandFormRenderer(formData, brickConf, brick, asyncPropertyEntries, rendererContext);\n }\n if (expandedBrickConf.portal) {\n // A portal brick has no slotId.\n brick.slotId = undefined;\n }\n var childRuntimeContext;\n if (tplTagName) {\n // There is a boundary for `forEachItem` between template internals and externals.\n childRuntimeContext = _objectSpread({}, runtimeContext);\n delete childRuntimeContext.forEachItem;\n delete childRuntimeContext.forEachIndex;\n } else {\n childRuntimeContext = runtimeContext;\n }\n var loadChildren = /*#__PURE__*/function () {\n var _ref6 = _asyncToGenerator(function* () {\n var slots = childrenToSlots(expandedBrickConf.children, expandedBrickConf.slots);\n if (!slots) {\n return;\n }\n var routeSlotFromIndexToSlotId = new Map();\n var rendered = yield Promise.all(Object.entries(slots).map((_ref7, index) => {\n var [childSlotId, slotConf] = _ref7;\n if (slotConf.type !== \"routes\") {\n return renderBricks(brick, slotConf.bricks, childRuntimeContext, rendererContext, parentRoutes, menuRequestReturnNode, childSlotId, tplStack);\n }\n var parentRoute = parentRoutes[parentRoutes.length - 1];\n if (parentRoute !== null && parentRoute !== void 0 && parentRoute.incrementalSubRoutes) {\n routeSlotFromIndexToSlotId.set(index, childSlotId);\n rendererContext.performIncrementalRender(slotConf, parentRoutes, /*#__PURE__*/function () {\n var _ref8 = _asyncToGenerator(function* (location, prevLocation) {\n var {\n homepage\n } = childRuntimeContext.app;\n var {\n pathname\n } = location;\n // Ignore if any one of homepage and parent routes not matched.\n if (!matchHomepage(homepage, pathname) || !parentRoutes.every(route => {\n var prevMatch;\n var newMatch;\n return (prevMatch = matchRoute(route, homepage, prevLocation.pathname)) && (newMatch = matchRoute(route, homepage, pathname)) && (route !== parentRoute || isEqual(prevMatch.params, newMatch.params));\n })) {\n return false;\n }\n var [scopedRuntimeContext, tplStateStoreScope, formStateStoreScope] = createScopedRuntimeContext(_objectSpread(_objectSpread({}, childRuntimeContext), {}, {\n location,\n query: new URLSearchParams(location.search)\n }));\n var failed = false;\n var incrementalOutput;\n var scopedStores = [];\n try {\n incrementalOutput = yield renderRoutes(brick, slotConf.routes, scopedRuntimeContext, rendererContext, parentRoutes, menuRequestReturnNode, childSlotId, true);\n\n // Do not ignore incremental rendering even if all sub-routes are missed.\n // Since parent route is matched.\n if (incrementalOutput.route) {\n // Bailout if redirect or unauthenticated is set\n if (rendererContext.reBailout(incrementalOutput)) {\n return true;\n }\n scopedStores = [...tplStateStoreScope, ...formStateStoreScope];\n yield postAsyncRender(incrementalOutput, scopedRuntimeContext, [scopedRuntimeContext.ctxStore, ...scopedStores]);\n }\n yield rendererContext.reMergeMenuRequestNodes(menuRequestReturnNode, slotConf.routes, incrementalOutput.menuRequestNode);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Incremental sub-router failed:\", error);\n var result = rendererContext.reCatch(error, brick);\n if (!result) {\n return true;\n }\n ({\n failed,\n output: incrementalOutput\n } = result);\n\n // Assert: no errors will be throw\n yield rendererContext.reMergeMenuRequestNodes(menuRequestReturnNode, slotConf.routes, incrementalOutput.menuRequestNode);\n }\n rendererContext.reRender(childSlotId, [], incrementalOutput.node, brick);\n if (!failed) {\n scopedRuntimeContext.ctxStore.mountAsyncData(incrementalOutput.route);\n for (var store of scopedStores) {\n store.mountAsyncData();\n }\n }\n\n // When result is null, it means the incremental rendering is tried but routes missed.\n // In this case, we should continue to re-render the parent routes.\n return incrementalOutput.route ? true : null;\n });\n return function (_x37, _x38) {\n return _ref8.apply(this, arguments);\n };\n }());\n }\n return renderRoutes(brick, slotConf.routes, childRuntimeContext, rendererContext, parentRoutes, menuRequestReturnNode, childSlotId);\n }));\n var childrenOutput = _objectSpread(_objectSpread({}, output), {}, {\n node: undefined,\n blockingList: [],\n menuRequestNode: undefined\n });\n rendered.forEach((item, index) => {\n if (routeSlotFromIndexToSlotId.has(index)) {\n // Memoize a render node before it's been merged.\n rendererContext.memoize(routeSlotFromIndexToSlotId.get(index), [], item.node, brick);\n }\n mergeRenderOutput(childrenOutput, item);\n mergeSiblingRenderMenuRequest(childrenOutput, item);\n });\n if (childrenOutput.node) {\n brick.child = childrenOutput.node;\n }\n mergeRenderOutput(output, _objectSpread(_objectSpread({}, childrenOutput), {}, {\n node: undefined\n }));\n appendMenuRequestNode(menuRequestReturnNode, output.menuRequestNode = childrenOutput.menuRequestNode);\n });\n return function loadChildren() {\n return _ref6.apply(this, arguments);\n };\n }();\n blockingList.push(loadChildren());\n yield Promise.all(blockingList);\n return output;\n });\n return _renderBrick.apply(this, arguments);\n}\nfunction isGeneralizedTrackAll(brickIf) {\n return typeof brickIf === \"string\" ? isTrackAll(brickIf) : isPreEvaluated(brickIf) &&\n // istanbul ignore next: covered by e2e tests\n isTrackAll(getPreEvaluatedRaw(brickIf));\n}\nfunction ensureValidControlBrick(brick) {\n if (brick !== \":forEach\" && brick !== \":if\" && brick !== \":switch\") {\n throw new Error(\"Unknown storyboard control node: \\\"\".concat(brick, \"\\\"\"));\n }\n}\nfunction renderForEach(_x25, _x26, _x27, _x28, _x29, _x30, _x31, _x32, _x33, _x34) {\n return _renderForEach.apply(this, arguments);\n}\nfunction _renderForEach() {\n _renderForEach = _asyncToGenerator(function* (returnNode, dataSource, bricks, runtimeContext, rendererContext, parentRoutes, menuRequestReturnNode, slotId, tplStack, keyPath) {\n var output = getEmptyRenderOutput();\n var rows = dataSource.length;\n var rendered = yield Promise.all(dataSource.map((item, i) => Promise.all(bricks.map((brickConf, j) => renderBrick(returnNode, brickConf, _objectSpread(_objectSpread({}, runtimeContext), {}, {\n forEachItem: item,\n forEachIndex: i\n }), rendererContext, parentRoutes, menuRequestReturnNode, slotId, keyPath.concat(i * rows + j), tplStack && new Map(tplStack))))));\n\n // 多层构件并行异步转换,但转换的结果按原顺序串行合并。\n rendered.flat().forEach((item, index) => {\n if (item.hasTrackingControls) {\n // Memoize a render node before it's been merged.\n rendererContext.memoize(slotId, keyPath.concat(index), item.node, returnNode);\n }\n mergeRenderOutput(output, item);\n });\n return output;\n });\n return _renderForEach.apply(this, arguments);\n}\nexport function getDataStores(runtimeContext) {\n return [runtimeContext.ctxStore, ...runtimeContext.tplStateStoreMap.values(), ...runtimeContext.formStateStoreMap.values()];\n}\nexport function postAsyncRender(output, runtimeContext, stores) {\n flushStableLoadBricks();\n return Promise.all([...output.blockingList, ...stores.map(store => store.waitForAll()), ...runtimeContext.pendingPermissionsPreCheck]);\n}\nexport function createScopedRuntimeContext(runtimeContext) {\n var tplStateStoreScope = [];\n var formStateStoreScope = [];\n var scopedRuntimeContext = _objectSpread(_objectSpread({}, runtimeContext), {}, {\n tplStateStoreScope,\n formStateStoreScope\n });\n return [scopedRuntimeContext, tplStateStoreScope, formStateStoreScope];\n}\nfunction loadMenu(menuConf, runtimeContext) {\n if (!menuConf) {\n return;\n }\n\n // istanbul ignore next\n if (menuConf.type === \"brick\") {\n // eslint-disable-next-line no-console\n console.error(\"Set menu with brick is dropped in v3:\", menuConf);\n throw new Error(\"Set menu with brick is dropped in v3\");\n }\n\n // istanbul ignore next\n if (menuConf.type === \"resolve\") {\n // eslint-disable-next-line no-console\n console.warn(\"Set menu with resolve is not supported in v3 yet:\", menuConf);\n return;\n }\n return asyncComputeRealValue(menuConf, runtimeContext);\n}\nfunction mergeRenderOutput(output, newOutput) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n var {\n blockingList,\n node,\n menuRequestNode,\n hasTrackingControls\n } = newOutput,\n rest = _objectWithoutProperties(newOutput, _excluded);\n output.blockingList.push(...blockingList);\n if (node) {\n if (output.node) {\n var last = output.node;\n while (last.sibling) {\n last = last.sibling;\n }\n last.sibling = node;\n } else {\n output.node = node;\n }\n }\n Object.assign(output, rest);\n}\nfunction mergeSiblingRenderMenuRequest(output, newOutput) {\n var menuRequestNode = newOutput.menuRequestNode;\n if (menuRequestNode) {\n if (output.menuRequestNode) {\n var last = output.menuRequestNode;\n while (last.sibling) {\n last = last.sibling;\n }\n last.sibling = menuRequestNode;\n } else {\n output.menuRequestNode = menuRequestNode;\n }\n }\n}\nfunction appendMenuRequestNode(menuRequestReturnNode, menuRequestNode) {\n if (!menuRequestNode) {\n return;\n }\n if (menuRequestReturnNode.child) {\n var last = menuRequestReturnNode.child;\n while (last.sibling) {\n last = last.sibling;\n }\n last.sibling = menuRequestNode;\n } else {\n menuRequestReturnNode.child = menuRequestNode;\n }\n}\nfunction getEmptyRenderOutput() {\n return {\n blockingList: []\n };\n}\nexport function childrenToSlots(children, originalSlots) {\n var newSlots = originalSlots;\n // istanbul ignore next\n if (process.env.NODE_ENV === \"development\" && children && !Array.isArray(children)) {\n // eslint-disable-next-line no-console\n console.warn(\"Specified brick children but not array:\", \"<\".concat(typeof children, \">\"), children);\n }\n if (Array.isArray(children) && !newSlots) {\n newSlots = {};\n for (var child of children) {\n var _child$slot;\n var slot = (_child$slot = child.slot) !== null && _child$slot !== void 0 ? _child$slot : \"\";\n if (!hasOwnProperty(newSlots, slot)) {\n newSlots[slot] = {\n type: \"bricks\",\n bricks: []\n };\n }\n newSlots[slot].bricks.push(child);\n }\n }\n return newSlots;\n}\nfunction catchLoad(promise, type, name, unknownPolicy) {\n return unknownPolicy === \"silent\" ? promise.catch(e => {\n // eslint-disable-next-line no-console\n console.error(\"Load %s \\\"%s\\\" failed:\", type, name, e);\n }) : promise;\n}\n//# sourceMappingURL=Renderer.js.map","import { getBasePath } from \"./getBasePath.js\";\nvar misc;\n\n/** 运行时页面信息。*/\n\nexport function getPageInfo() {\n if (!misc) {\n misc = {\n isInIframe: false,\n isInIframeOfSameSite: false,\n isInIframeOfNext: false,\n isInIframeOfVisualBuilder: false,\n isInIframeOfLegacyConsole: false\n };\n if (window !== window.parent) {\n misc.isInIframe = true;\n try {\n // Handle:\n // - Previewing in visual builder by iframe.\n // - Nesting next in next.\n // - Nesting console in next.\n if (window.origin === window.parent.origin) {\n misc.isInIframeOfSameSite = true;\n var selfIsNext = getBasePath() === \"/next/\";\n var parentPathname = window.parent.location.pathname;\n var parentIsNext = parentPathname.startsWith(\"/next/\");\n misc.isInIframeOfNext = (Number(selfIsNext) ^ Number(parentIsNext)) === 0;\n misc.isInIframeOfVisualBuilder = parentPathname.startsWith(\"\".concat(parentIsNext ? \"/next\" : \"\", \"/visual-builder/\"));\n misc.isInIframeOfLegacyConsole = selfIsNext && !parentIsNext;\n }\n } catch (e) {\n // do nothing\n }\n }\n Object.freeze(misc);\n }\n return misc;\n}\n//# sourceMappingURL=getPageInfo.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { http } from \"@next-core/http\";\nvar nativeController;\nexport function initAbortController() {\n if (!window.AbortController) {\n return;\n }\n nativeController = new AbortController();\n http.interceptors.request.use(config => {\n var _config$options;\n return _objectSpread(_objectSpread({}, config), {}, {\n options: _objectSpread(_objectSpread({}, config.options), {}, {\n signal: (_config$options = config.options) !== null && _config$options !== void 0 && _config$options.noAbortOnRouteChange ? null : nativeController.signal\n })\n });\n });\n}\nexport function abortPendingRequest() {\n if (nativeController) {\n nativeController.abort();\n nativeController = new AbortController();\n }\n}\n//# sourceMappingURL=abortController.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { loadBricksImperatively } from \"@next-core/loader\";\nimport { getBrickPackages, getRuntime, hooks } from \"./internal/Runtime.js\";\nimport { omit } from \"lodash\";\nvar brick;\nexport var WATEMARK_BRICKNAME = \"basic.show-watermark\";\nexport function setWatermark() {\n var _window$APP_ROOT, _window$APP_ROOT2, _username, _hooks$auth, _settings$watermarkCo, _watermarkConfig$cont, _watermarkConfig$flag, _watermarkConfig$flag2;\n var flags = getRuntime().getFeatureFlags();\n var settings = getRuntime().getMiscSettings();\n if (!flags[\"show-watermark\"]) {\n return;\n }\n var isDeveloper = ((_window$APP_ROOT = window.APP_ROOT) === null || _window$APP_ROOT === void 0 || (_window$APP_ROOT = _window$APP_ROOT.match(/versions\\/([^/]+)\\//)) === null || _window$APP_ROOT === void 0 ? void 0 : _window$APP_ROOT[1]) === \"0.0.0\" || ((_window$APP_ROOT2 = window.APP_ROOT) === null || _window$APP_ROOT2 === void 0 || (_window$APP_ROOT2 = _window$APP_ROOT2.match(/micro-apps\\/(?:v2|v3)\\/[^/]+\\/([^/]+)/)) === null || _window$APP_ROOT2 === void 0 ? void 0 : _window$APP_ROOT2[1]) === \"0.0.0\";\n var username = (_username = hooks === null || hooks === void 0 || (_hooks$auth = hooks.auth) === null || _hooks$auth === void 0 || (_hooks$auth = _hooks$auth.getAuth()) === null || _hooks$auth === void 0 ? void 0 : _hooks$auth.username) !== null && _username !== void 0 ? _username : \"\";\n var watermarkConfig = (_settings$watermarkCo = settings.watermarkConfig) !== null && _settings$watermarkCo !== void 0 ? _settings$watermarkCo : {\n flags: {}\n };\n var defaultProps = _objectSpread({\n content: [...(typeof watermarkConfig.content === \"string\" ? [watermarkConfig.content] : (_watermarkConfig$cont = watermarkConfig.content) !== null && _watermarkConfig$cont !== void 0 ? _watermarkConfig$cont : []), (_watermarkConfig$flag = watermarkConfig.flags) !== null && _watermarkConfig$flag !== void 0 && _watermarkConfig$flag[\"show-development\"] && isDeveloper ? \"Development\" : \"\", (_watermarkConfig$flag2 = watermarkConfig.flags) !== null && _watermarkConfig$flag2 !== void 0 && _watermarkConfig$flag2[\"show-user\"] ? username : \"\"].filter(Boolean),\n zIndex: 1001,\n width: 200,\n font: {\n fontSize: 28\n },\n gap: [190, 190]\n }, omit(watermarkConfig, [\"content\", \"flags\"]));\n if (brick) {\n brick.resolve(defaultProps);\n } else {\n loadBricksImperatively([WATEMARK_BRICKNAME], getBrickPackages()).then(() => {\n brick = document.createElement(WATEMARK_BRICKNAME);\n brick.resolve(defaultProps);\n },\n // istanbul ignore next\n error => {\n // eslint-disable-next-line no-console\n console.error(\"Load watermark service failed:\", error);\n });\n }\n}\n//# sourceMappingURL=setWatermark.js.map","import { isObject } from \"@next-core/utils/general\";\nimport { symbolForRootRuntimeContext } from \"./secret_internals.js\";\nimport { childrenToSlots } from \"./Renderer.js\";\nexport function setupRootRuntimeContext(bricks, runtimeContext, shallow) {\n function walk(props) {\n if (!isObject(props) || typeof props === \"function\") {\n return;\n }\n if (Array.isArray(props)) {\n props.map(walk);\n return;\n }\n for (var [key, value] of Object.entries(props)) {\n if (isObject(value) && key === \"useBrick\") {\n if (Array.isArray(value)) {\n value.forEach(v => setupBrick(v, true));\n } else {\n setupBrick(value, true,\n // For inside useBrick, we always need to setup recursively.\n true);\n }\n } else {\n walk(value);\n }\n }\n }\n function setupBrick(brick, inUseBrick, forceRecursive) {\n if (inUseBrick) {\n brick[symbolForRootRuntimeContext] = runtimeContext;\n }\n walk(brick.properties);\n if (shallow && !forceRecursive) {\n return;\n }\n var transpiledSlots = childrenToSlots(brick.children, brick.slots);\n for (var slotConf of Object.values(transpiledSlots !== null && transpiledSlots !== void 0 ? transpiledSlots : {})) {\n for (var _brick of (_slotConf$bricks = slotConf.bricks) !== null && _slotConf$bricks !== void 0 ? _slotConf$bricks : []) {\n var _slotConf$bricks;\n setupBrick(_brick, inUseBrick);\n }\n }\n }\n for (var brick of bricks) {\n setupBrick(brick);\n }\n}\n//# sourceMappingURL=setupRootRuntimeContext.js.map","import { setProperties } from \"./setProperties.js\";\nimport { getTplStateStore } from \"../CustomTemplates/utils.js\";\nimport { getFormStateStore } from \"../FormRenderer/utils.js\";\nexport function listenOnTrackingContext(brick, trackingContextList) {\n var _loop = function (track) {\n var listener = () => {\n if (brick.element) {\n setProperties(brick.element, {\n [track.propName]: track.propValue\n }, brick.runtimeContext);\n }\n };\n if (track.contextNames) {\n for (var contextName of track.contextNames) {\n brick.runtimeContext.ctxStore.onChange(contextName, listener);\n }\n }\n if (track.stateNames) {\n var tplStateStore = getTplStateStore(brick.runtimeContext, \"STATE\", \": \\\"\".concat(track.propValue, \"\\\"\"));\n for (var stateName of track.stateNames) {\n tplStateStore.onChange(stateName, listener);\n }\n }\n if (track.formStateNames) {\n var formStateStore = getFormStateStore(brick.runtimeContext, \"FORM_STATE\", \": \\\"\".concat(track.propValue, \"\\\"\"));\n for (var _stateName of track.formStateNames) {\n formStateStore.onChange(_stateName, listener);\n }\n }\n };\n for (var track of trackingContextList) {\n _loop(track);\n }\n}\n//# sourceMappingURL=listenOnTrackingContext.js.map","import { customTemplates } from \"../CustomTemplates.js\";\nexport function registerCustomTemplates(storyboard) {\n var _storyboard$meta;\n if (storyboard.$$registerCustomTemplateProcessed) {\n return;\n }\n storyboard.$$registerCustomTemplateProcessed = true;\n var templates = (_storyboard$meta = storyboard.meta) === null || _storyboard$meta === void 0 ? void 0 : _storyboard$meta.customTemplates;\n if (Array.isArray(templates)) {\n for (var tpl of templates) {\n var tagName = tpl.name.includes(\".\") ? tpl.name : \"\".concat(storyboard.app.id, \".\").concat(tpl.name);\n customTemplates.define(tagName, tpl);\n }\n }\n}\n//# sourceMappingURL=registerCustomTemplates.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { hooks } from \"./Runtime.js\";\nimport { registerAppI18n } from \"./registerAppI18n.js\";\nexport function fulfilStoryboard(_x) {\n return _fulfilStoryboard.apply(this, arguments);\n}\nfunction _fulfilStoryboard() {\n _fulfilStoryboard = _asyncToGenerator(function* (storyboard) {\n if (storyboard.$$fulfilled) {\n return;\n }\n if (!storyboard.$$fulfilling) {\n storyboard.$$fulfilling = doFulfilStoryboard(storyboard);\n }\n return storyboard.$$fulfilling;\n });\n return _fulfilStoryboard.apply(this, arguments);\n}\nfunction doFulfilStoryboard(_x2) {\n return _doFulfilStoryboard.apply(this, arguments);\n}\nfunction _doFulfilStoryboard() {\n _doFulfilStoryboard = _asyncToGenerator(function* (storyboard) {\n var _hooks$fulfilStoryboa;\n yield hooks === null || hooks === void 0 || (_hooks$fulfilStoryboa = hooks.fulfilStoryboard) === null || _hooks$fulfilStoryboa === void 0 ? void 0 : _hooks$fulfilStoryboa.call(hooks, storyboard);\n registerAppI18n(storyboard);\n Object.assign(storyboard, {\n $$fulfilled: true,\n $$fulfilling: null\n });\n });\n return _doFulfilStoryboard.apply(this, arguments);\n}\n//# sourceMappingURL=fulfilStoryboard.js.map","export function setUIVersion(version) {\n // 仅允许特定的 UI 版本\n var ui;\n switch (version) {\n case \"8.2\":\n ui = \"v8-2\";\n break;\n default:\n ui = \"v8\";\n }\n document.documentElement.dataset.ui = ui;\n}\n//# sourceMappingURL=setUIVersion.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classPrivateMethodInitSpec from \"@babel/runtime/helpers/classPrivateMethodInitSpec\";\nimport _classPrivateFieldInitSpec from \"@babel/runtime/helpers/classPrivateFieldInitSpec\";\nimport _classPrivateFieldGet from \"@babel/runtime/helpers/classPrivateFieldGet2\";\nimport _assertClassBrand from \"@babel/runtime/helpers/assertClassBrand\";\nimport _classPrivateFieldSet from \"@babel/runtime/helpers/classPrivateFieldSet2\";\nimport { locationsAreEqual } from \"history\";\nimport { HttpAbortError } from \"@next-core/http\";\nimport { uniqueId } from \"lodash\";\nimport { getHistory } from \"../history.js\";\nimport { getDataStores, postAsyncRender, renderRoutes } from \"./Renderer.js\";\nimport { DataStore } from \"./data/DataStore.js\";\nimport { clearResolveCache } from \"./data/resolveData.js\";\nimport { mountTree, unmountTree } from \"./mount.js\";\nimport { isOutsideApp, matchStoryboard } from \"./matchStoryboard.js\";\nimport { registerStoryboardFunctions } from \"./compute/StoryboardFunctions.js\";\nimport { RendererContext } from \"./RendererContext.js\";\nimport { applyMode, applyTheme, getLocalAppsTheme, setMode, setTheme } from \"../themeAndMode.js\";\nimport { _internalApiGetAppInBootstrapData, getRuntime, hooks } from \"./Runtime.js\";\nimport { getPageInfo } from \"../getPageInfo.js\";\nimport { resetAllComputedMarks } from \"./compute/markAsComputed.js\";\nimport { handleHttpError, httpErrorToString, isUnauthenticatedError } from \"../handleHttpError.js\";\nimport { abortPendingRequest, initAbortController } from \"./abortController.js\";\nimport { setLoginStateCookie } from \"../setLoginStateCookie.js\";\nimport { registerCustomTemplates } from \"./registerCustomTemplates.js\";\nimport { fulfilStoryboard } from \"./fulfilStoryboard.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { insertPreviewRoutes } from \"./insertPreviewRoutes.js\";\nimport { devtoolsHookEmit } from \"./devtools.js\";\nimport { setUIVersion } from \"../setUIVersion.js\";\nimport { setAppVariable } from \"../setAppVariable.js\";\nimport { setWatermark } from \"../setWatermark.js\";\nvar _storyboards = /*#__PURE__*/new WeakMap();\nvar _rendering = /*#__PURE__*/new WeakMap();\nvar _prevLocation = /*#__PURE__*/new WeakMap();\nvar _nextLocation = /*#__PURE__*/new WeakMap();\nvar _runtimeContext = /*#__PURE__*/new WeakMap();\nvar _rendererContext = /*#__PURE__*/new WeakMap();\nvar _rendererContextTrashCan = /*#__PURE__*/new WeakMap();\nvar _redirectCount = /*#__PURE__*/new WeakMap();\nvar _renderId = /*#__PURE__*/new WeakMap();\nvar _currentApp = /*#__PURE__*/new WeakMap();\nvar _previousApp = /*#__PURE__*/new WeakMap();\nvar _navConfig = /*#__PURE__*/new WeakMap();\nvar _Router_brand = /*#__PURE__*/new WeakSet();\nexport class Router {\n constructor(storyboards) {\n _classPrivateMethodInitSpec(this, _Router_brand);\n _classPrivateFieldInitSpec(this, _storyboards, void 0);\n _classPrivateFieldInitSpec(this, _rendering, false);\n _classPrivateFieldInitSpec(this, _prevLocation, void 0);\n _classPrivateFieldInitSpec(this, _nextLocation, void 0);\n _classPrivateFieldInitSpec(this, _runtimeContext, void 0);\n _classPrivateFieldInitSpec(this, _rendererContext, void 0);\n _classPrivateFieldInitSpec(this, _rendererContextTrashCan, new Set());\n _classPrivateFieldInitSpec(this, _redirectCount, 0);\n _classPrivateFieldInitSpec(this, _renderId, void 0);\n _classPrivateFieldInitSpec(this, _currentApp, void 0);\n _classPrivateFieldInitSpec(this, _previousApp, void 0);\n _classPrivateFieldInitSpec(this, _navConfig, void 0);\n _classPrivateFieldSet(_storyboards, this, storyboards);\n var _history = getHistory();\n window.addEventListener(\"beforeunload\", event => {\n var message = _assertClassBrand(_Router_brand, this, _getBlockMessageBeforePageLave).call(this, {});\n // See examples in https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload\n if (message) {\n // Cancel the event\n // If you prevent default behavior in Mozilla Firefox prompt will always be shown\n event.preventDefault();\n // Chrome requires returnValue to be set\n event.returnValue = \"\";\n } else {\n // the absence of a returnValue property on the event will guarantee the browser unload happens\n delete event.returnValue;\n }\n });\n _history.block((location, action) => _assertClassBrand(_Router_brand, this, _getBlockMessageBeforePageLave).call(this, {\n location,\n action\n }));\n }\n getRenderId() {\n return _classPrivateFieldGet(_renderId, this);\n }\n getRuntimeContext() {\n return _classPrivateFieldGet(_runtimeContext, this);\n }\n getRecentApps() {\n return {\n currentApp: _classPrivateFieldGet(_currentApp, this),\n previousApp: _classPrivateFieldGet(_previousApp, this)\n };\n }\n getNavConfig() {\n return _classPrivateFieldGet(_navConfig, this);\n }\n bootstrap() {\n var _this = this;\n initAbortController();\n var history = getHistory();\n _classPrivateFieldSet(_prevLocation, this, history.location);\n var renderId = 0;\n history.listen( /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (location, action) {\n var _classPrivateFieldGet2, _location$state, _location$state2, _classPrivateFieldGet4;\n var currentRenderId = ++renderId;\n var ignoreRendering;\n var omittedLocationProps = {\n hash: undefined,\n state: undefined\n };\n // Omit the \"key\" when checking whether locations are equal in certain situations.\n if (\n // When current location is triggered by browser action of hash link.\n location.key === undefined ||\n // When current location is triggered by browser action of non-push-or-replace,\n // such as goBack or goForward,\n action === \"POP\" && (\n // and the previous location was triggered by hash link,\n _classPrivateFieldGet(_prevLocation, _this).key === undefined ||\n // or the previous location specified notify false.\n ((_classPrivateFieldGet2 = _classPrivateFieldGet(_prevLocation, _this).state) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2.notify) === false)) {\n omittedLocationProps.key = undefined;\n }\n if (locationsAreEqual(_objectSpread(_objectSpread({}, _classPrivateFieldGet(_prevLocation, _this)), omittedLocationProps), _objectSpread(_objectSpread({}, location), omittedLocationProps)) || action !== \"POP\" && ((_location$state = location.state) === null || _location$state === void 0 ? void 0 : _location$state.notify) === false) {\n // Ignore rendering if location not changed except hash, state and optional key.\n // Ignore rendering if notify is `false`.\n ignoreRendering = true;\n }\n if (!ignoreRendering && !((_location$state2 = location.state) !== null && _location$state2 !== void 0 && _location$state2.noIncremental)) {\n var _classPrivateFieldGet3;\n ignoreRendering = yield (_classPrivateFieldGet3 = _classPrivateFieldGet(_rendererContext, _this)) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.didPerformIncrementalRender(location, _classPrivateFieldGet(_prevLocation, _this));\n }\n\n // Ignore stale renders\n if (renderId !== currentRenderId) {\n return;\n }\n if (ignoreRendering) {\n _classPrivateFieldSet(_prevLocation, _this, location);\n return;\n }\n abortPendingRequest();\n _classPrivateFieldSet(_prevLocation, _this, location);\n (_classPrivateFieldGet4 = _classPrivateFieldGet(_rendererContext, _this)) === null || _classPrivateFieldGet4 === void 0 || _classPrivateFieldGet4.dispatchPageLeave();\n if (action === \"POP\") {\n var storyboard = matchStoryboard(_classPrivateFieldGet(_storyboards, _this), location.pathname);\n // When a browser action of goBack or goForward is performing,\n // force reload when the target page is a page of an outside app.\n if (isOutsideApp(storyboard)) {\n window.location.reload();\n return;\n }\n }\n if (_classPrivateFieldGet(_rendering, _this)) {\n _classPrivateFieldSet(_nextLocation, _this, location);\n } else {\n devtoolsHookEmit(\"locationChange\");\n _assertClassBrand(_Router_brand, _this, _queuedRender).call(_this, location).catch(handleHttpError);\n }\n });\n return function (_x, _x2) {\n return _ref.apply(this, arguments);\n };\n }());\n return _assertClassBrand(_Router_brand, this, _queuedRender).call(this, history.location);\n }\n}\nfunction _getBlockMessageBeforePageLave(detail) {\n var _classPrivateFieldGet5;\n var history = getHistory();\n var previousMessage = history.getBlockMessage();\n (_classPrivateFieldGet5 = _classPrivateFieldGet(_rendererContext, this)) === null || _classPrivateFieldGet5 === void 0 || _classPrivateFieldGet5.dispatchBeforePageLeave(detail);\n var message = history.getBlockMessage();\n if (!previousMessage && message) {\n // Auto unblock only if new block was introduced by `onBeforePageLeave`.\n history.unblock();\n }\n return message;\n}\nfunction _safeRedirect(to, state, from) {\n var _this$redirectCount, _this$redirectCount2;\n if ((_classPrivateFieldSet(_redirectCount, this, (_this$redirectCount = _classPrivateFieldGet(_redirectCount, this), _this$redirectCount2 = _this$redirectCount++, _this$redirectCount)), _this$redirectCount2) > 10) {\n var message = \"Infinite redirect detected: from \\\"\".concat(from.pathname).concat(from.search).concat(from.hash, \"\\\" to \\\"\").concat(to, \"\\\"\");\n // istanbul ignore else: error cannot be caught in test\n if (process.env.NODE_ENV === \"test\") {\n // eslint-disable-next-line no-console\n console.error(message);\n return;\n } else {\n throw new Error(message);\n }\n }\n getHistory().replace(to, state);\n}\nfunction _queuedRender(_x3) {\n return _queuedRender2.apply(this, arguments);\n}\nfunction _queuedRender2() {\n _queuedRender2 = _asyncToGenerator(function* (location) {\n _classPrivateFieldSet(_rendering, this, true);\n try {\n yield _assertClassBrand(_Router_brand, this, _render).call(this, location);\n } finally {\n _classPrivateFieldSet(_rendering, this, false);\n if (_classPrivateFieldGet(_nextLocation, this)) {\n var nextLocation = _classPrivateFieldGet(_nextLocation, this);\n _classPrivateFieldSet(_nextLocation, this, undefined);\n yield _assertClassBrand(_Router_brand, this, _queuedRender).call(this, nextLocation);\n }\n }\n });\n return _queuedRender2.apply(this, arguments);\n}\nfunction _render(_x4) {\n return _render2.apply(this, arguments);\n}\nfunction _render2() {\n _render2 = _asyncToGenerator(function* (location) {\n var _hooks$flowApi,\n _hooks$pageView,\n _classPrivateFieldGet6,\n _storyboard$app,\n _this2 = this;\n var renderId = _classPrivateFieldSet(_renderId, this, uniqueId(\"render-id-\"));\n resetAllComputedMarks();\n clearResolveCache();\n hooks === null || hooks === void 0 || (_hooks$flowApi = hooks.flowApi) === null || _hooks$flowApi === void 0 || _hooks$flowApi.clearCollectWidgetContract();\n var history = getHistory();\n history.unblock();\n\n // const renderStartTime = performance.now();\n var finishPageView = hooks === null || hooks === void 0 || (_hooks$pageView = hooks.pageView) === null || _hooks$pageView === void 0 ? void 0 : _hooks$pageView.create();\n var storyboard = matchStoryboard(_classPrivateFieldGet(_storyboards, this), location.pathname);\n var previousApp = (_classPrivateFieldGet6 = _classPrivateFieldGet(_runtimeContext, this)) === null || _classPrivateFieldGet6 === void 0 ? void 0 : _classPrivateFieldGet6.app;\n var currentAppId = storyboard === null || storyboard === void 0 || (_storyboard$app = storyboard.app) === null || _storyboard$app === void 0 ? void 0 : _storyboard$app.id;\n // dynamically change the value of the APP variable, if it's union app\n if (window.BOOTSTRAP_UNION_FILE && currentAppId && currentAppId !== (previousApp === null || previousApp === void 0 ? void 0 : previousApp.id)) {\n setAppVariable({\n appId: currentAppId,\n version: storyboard.app.currentVersion\n });\n }\n if (storyboard !== null && storyboard !== void 0 && storyboard.app) {\n yield fulfilStoryboard(storyboard);\n }\n var currentApp = _classPrivateFieldSet(_currentApp, this, storyboard === null || storyboard === void 0 ? void 0 : storyboard.app);\n setWatermark();\n\n // Storyboard maybe re-assigned, e.g. when open launchpad.\n var appChanged = previousApp && currentApp ? previousApp.id !== currentApp.id : previousApp !== currentApp;\n\n // TODO: handle favicon\n\n // Set `Router::#currentApp` before calling `getFeatureFlags()`\n var flags = getRuntime().getFeatureFlags();\n var prevRendererContext = _classPrivateFieldGet(_rendererContext, this);\n var redirectTo = (to, state) => {\n finishPageView === null || finishPageView === void 0 || finishPageView({\n status: \"redirected\"\n });\n _classPrivateFieldGet(_rendererContextTrashCan, this).add(prevRendererContext);\n _assertClassBrand(_Router_brand, this, _safeRedirect).call(this, to, state, location);\n };\n var redirectToLogin = () => {\n var to = flags[\"sso-enabled\"] ? \"/sso-auth/login\" : \"/auth/login\";\n setLoginStateCookie(location);\n redirectTo(to, {\n from: location\n });\n };\n var main = document.querySelector(\"#main-mount-point\");\n var portal = document.querySelector(\"#portal-mount-point\");\n var renderRoot = {\n tag: RenderTag.ROOT,\n container: main,\n createPortal: portal\n };\n var cleanUpPreviousRender = () => {\n var _hooks$messageDispatc;\n unmountTree(main);\n unmountTree(portal);\n\n // Note: redirects can lead to multiple trash renderer contexts.\n _classPrivateFieldGet(_rendererContextTrashCan, this).add(prevRendererContext);\n for (var item of _classPrivateFieldGet(_rendererContextTrashCan, this)) {\n if (item) {\n item.dispatchOnUnmount();\n item.dispose();\n }\n }\n _classPrivateFieldGet(_rendererContextTrashCan, this).clear();\n hooks === null || hooks === void 0 || (_hooks$messageDispatc = hooks.messageDispatcher) === null || _hooks$messageDispatc === void 0 || _hooks$messageDispatc.reset();\n if (appChanged) {\n _classPrivateFieldSet(_previousApp, this, previousApp);\n window.dispatchEvent(new CustomEvent(\"app.change\", {\n detail: {\n previousApp,\n currentApp\n }\n }));\n }\n };\n setTheme(currentApp && (getLocalAppsTheme()[currentApp.id] || currentApp.theme) || \"light\");\n setMode(\"default\");\n if (currentApp) {\n var _hooks$checkInstalled, _hooks$auth, _hooks$checkPermissio, _storyboard$meta, _hooks$flowApi2, _storyboard$meta2;\n hooks === null || hooks === void 0 || (_hooks$checkInstalled = hooks.checkInstalledApps) === null || _hooks$checkInstalled === void 0 || _hooks$checkInstalled.preCheckInstalledApps(storyboard, appId => !!_internalApiGetAppInBootstrapData(appId));\n var routeHelper = {\n bailout: output => {\n if (output.unauthenticated) {\n redirectToLogin();\n return true;\n }\n if (output.redirect) {\n redirectTo(output.redirect.path, output.redirect.state);\n return true;\n }\n // Reset redirect count if no redirect is set.\n _classPrivateFieldSet(_redirectCount, this, 0);\n },\n mergeMenus: function () {\n var _ref2 = _asyncToGenerator(function* (menuRequests) {\n var menuConfs = yield Promise.all(menuRequests);\n _classPrivateFieldSet(_navConfig, _this2, mergeMenuConfs(menuConfs));\n window.dispatchEvent(new CustomEvent(\"navConfig.change\", {\n detail: _classPrivateFieldGet(_navConfig, _this2)\n }));\n });\n return function mergeMenus(_x5) {\n return _ref2.apply(this, arguments);\n };\n }(),\n catch: (error, returnNode) => {\n if (isUnauthenticatedError(error) && !window.NO_AUTH_GUARD) {\n redirectToLogin();\n return;\n } else if (error instanceof HttpAbortError) {\n _classPrivateFieldGet(_rendererContextTrashCan, this).add(prevRendererContext);\n return;\n } else {\n var noAuthGuardLoginPath = getRuntime().getMiscSettings().noAuthGuardLoginPath;\n if (isUnauthenticatedError(error) && noAuthGuardLoginPath) {\n redirectTo(noAuthGuardLoginPath, {\n from: location\n });\n return;\n }\n return {\n failed: true,\n output: {\n node: {\n tag: RenderTag.BRICK,\n type: \"div\",\n properties: {\n textContent: httpErrorToString(error)\n },\n runtimeContext: null,\n return: returnNode\n },\n blockingList: [],\n menuRequests: []\n }\n };\n }\n }\n };\n var rendererContext = _classPrivateFieldSet(_rendererContext, this, new RendererContext(\"page\", {\n routeHelper,\n renderId\n }));\n var runtimeContext = _classPrivateFieldSet(_runtimeContext, this, {\n app: currentApp,\n location,\n query: new URLSearchParams(location.search),\n flags,\n sys: _objectSpread(_objectSpread(_objectSpread({}, hooks === null || hooks === void 0 || (_hooks$auth = hooks.auth) === null || _hooks$auth === void 0 ? void 0 : _hooks$auth.getAuth()), getPageInfo()), {}, {\n settings: {\n brand: getRuntime().getBrandSettings()\n }\n }),\n ctxStore: new DataStore(\"CTX\", undefined, rendererContext),\n pendingPermissionsPreCheck: [hooks === null || hooks === void 0 || (_hooks$checkPermissio = hooks.checkPermissions) === null || _hooks$checkPermissio === void 0 ? void 0 : _hooks$checkPermissio.preCheckPermissions(storyboard)],\n tplStateStoreMap: new Map(),\n formStateStoreMap: new Map()\n });\n _classPrivateFieldSet(_navConfig, this, undefined);\n registerCustomTemplates(storyboard);\n registerStoryboardFunctions((_storyboard$meta = storyboard.meta) === null || _storyboard$meta === void 0 ? void 0 : _storyboard$meta.functions, currentApp);\n hooks === null || hooks === void 0 || (_hooks$flowApi2 = hooks.flowApi) === null || _hooks$flowApi2 === void 0 || _hooks$flowApi2.collectContract((_storyboard$meta2 = storyboard.meta) === null || _storyboard$meta2 === void 0 ? void 0 : _storyboard$meta2.contracts);\n var failed = false;\n var output;\n var stores = [];\n try {\n var rootMenuRequestNode = {};\n output = yield renderRoutes(renderRoot, insertPreviewRoutes(storyboard.routes), runtimeContext, rendererContext, [], rootMenuRequestNode);\n if (routeHelper.bailout(output)) {\n return;\n }\n stores = getDataStores(runtimeContext);\n yield postAsyncRender(output, runtimeContext, stores);\n rootMenuRequestNode.child = output.menuRequestNode;\n rendererContext.setInitialMenuRequestNode(rootMenuRequestNode);\n yield routeHelper.mergeMenus(rendererContext.getMenuRequests());\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Router failed:\", error);\n var result = routeHelper.catch(error, renderRoot);\n if (!result) {\n return;\n }\n ({\n failed,\n output\n } = result);\n }\n renderRoot.child = output.node;\n cleanUpPreviousRender();\n if (output.route && output.route.type !== \"routes\" || failed) {\n if (!failed) {\n // There is a window to set theme and mode by `lifeCycle.onBeforePageLoad`.\n rendererContext.dispatchBeforePageLoad();\n }\n applyTheme();\n applyMode();\n setUIVersion(currentApp === null || currentApp === void 0 ? void 0 : currentApp.uiVersion);\n mountTree(renderRoot);\n\n // Scroll to top after each rendering.\n // See https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/docs/guides/scroll-restoration.md\n window.scrollTo(0, 0);\n if (!failed) {\n rendererContext.dispatchPageLoad();\n rendererContext.dispatchAnchorLoad();\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n rendererContext.initializeMessageDispatcher();\n for (var store of stores) {\n store.mountAsyncData();\n }\n finishPageView === null || finishPageView === void 0 || finishPageView({\n status: \"ok\",\n path: output.path,\n pageTitle: document.title\n });\n } else {\n finishPageView === null || finishPageView === void 0 || finishPageView({\n status: \"failed\"\n });\n }\n devtoolsHookEmit(\"rendered\");\n return;\n }\n } else if (!window.NO_AUTH_GUARD && hooks !== null && hooks !== void 0 && hooks.auth && !hooks.auth.isLoggedIn()) {\n // Todo(steve): refine after api-gateway supports fetching storyboards before logged in.\n // Redirect to login if no storyboard is matched.\n redirectToLogin();\n return;\n } else {\n cleanUpPreviousRender();\n }\n applyTheme();\n applyMode();\n var node = {\n tag: RenderTag.BRICK,\n type: \"div\",\n properties: {\n textContent: \"Page not found\"\n },\n runtimeContext: null,\n return: renderRoot\n };\n renderRoot.child = node;\n mountTree(renderRoot);\n\n // Scroll to top after each rendering.\n window.scrollTo(0, 0);\n finishPageView === null || finishPageView === void 0 || finishPageView({\n status: \"not-found\"\n });\n devtoolsHookEmit(\"rendered\");\n });\n return _render2.apply(this, arguments);\n}\nfunction mergeMenuConfs(menuConfs) {\n var navConfig = {\n breadcrumb: []\n };\n for (var menuConf of menuConfs) {\n var {\n breadcrumb\n } = menuConf;\n if (breadcrumb) {\n if (breadcrumb.overwrite) {\n navConfig.breadcrumb = breadcrumb.items;\n } else {\n navConfig.breadcrumb.push(...breadcrumb.items);\n }\n }\n }\n return navConfig;\n}\n//# sourceMappingURL=Router.js.map","export function setAppVariable(params) {\n var {\n appId,\n version\n } = params;\n if (window.APP_ROOT_TPL) {\n window.APP_ID = appId;\n window.APP_ROOT = window.APP_ROOT_TPL.replace(\"{id}\", appId).replace(\"{version}\", version);\n }\n}\n//# sourceMappingURL=setAppVariable.js.map","import { findLastIndex } from \"lodash\";\nexport function insertPreviewRoutes(routes) {\n // Insert preview routes for iframe only.\n if (window.parent === window) {\n return routes;\n }\n var mergedRoutes = routes;\n var specificTemplatePreviewIndex = findLastIndex(mergedRoutes, route => route.path.startsWith(\"${APP.homepage}/_dev_only_/template-preview/\"));\n mergedRoutes = [...mergedRoutes.slice(0, specificTemplatePreviewIndex + 1), {\n path: \"${APP.homepage}/_dev_only_/template-preview/:templateId\",\n bricks: [{\n brick: \"span\"\n }],\n menu: false,\n exact: true\n }, ...mergedRoutes.slice(specificTemplatePreviewIndex + 1)];\n var specificSnippetPreviewIndex = findLastIndex(mergedRoutes, route => route.path.startsWith(\"${APP.homepage}/_dev_only_/snippet-preview/\"));\n mergedRoutes = [...mergedRoutes.slice(0, specificSnippetPreviewIndex + 1), {\n path: \"${APP.homepage}/_dev_only_/snippet-preview/:snippetId\",\n bricks: [{\n brick: \"span\"\n }],\n menu: false,\n exact: true\n }, ...mergedRoutes.slice(specificSnippetPreviewIndex + 1)];\n return mergedRoutes;\n}\n//# sourceMappingURL=insertPreviewRoutes.js.map","// Allow inject brick packages in a runtime other than Brick Next.\nexport var injectedBrickPackages =\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\ntypeof BRICK_PACKAGES !== \"undefined\" ? BRICK_PACKAGES : null;\n//# sourceMappingURL=injected.js.map","/**\n * Take input from [0, n] and return it as [0, 1]\n * @hidden\n */\nexport function bound01(n, max) {\n if (isOnePointZero(n)) {\n n = '100%';\n }\n var isPercent = isPercentage(n);\n n = max === 360 ? n : Math.min(max, Math.max(0, parseFloat(n)));\n // Automatically convert percentage into number\n if (isPercent) {\n n = parseInt(String(n * max), 10) / 100;\n }\n // Handle floating point rounding errors\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n }\n // Convert into [0, 1] range if it isn't already\n if (max === 360) {\n // If n is a hue given in degrees,\n // wrap around out-of-range values into [0, 360] range\n // then convert into [0, 1].\n n = (n < 0 ? (n % max) + max : n % max) / parseFloat(String(max));\n }\n else {\n // If n not a hue given in degrees\n // Convert into [0, 1] range if it isn't already.\n n = (n % max) / parseFloat(String(max));\n }\n return n;\n}\n/**\n * Force a number between 0 and 1\n * @hidden\n */\nexport function clamp01(val) {\n return Math.min(1, Math.max(0, val));\n}\n/**\n * Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n * <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\n * @hidden\n */\nexport function isOnePointZero(n) {\n return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1;\n}\n/**\n * Check to see if string passed in is a percentage\n * @hidden\n */\nexport function isPercentage(n) {\n return typeof n === 'string' && n.indexOf('%') !== -1;\n}\n/**\n * Return a valid alpha value [0,1] with all invalid values being set to 1\n * @hidden\n */\nexport function boundAlpha(a) {\n a = parseFloat(a);\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n return a;\n}\n/**\n * Replace a decimal with it's percentage value\n * @hidden\n */\nexport function convertToPercentage(n) {\n if (n <= 1) {\n return \"\".concat(Number(n) * 100, \"%\");\n }\n return n;\n}\n/**\n * Force a hex value to have 2 characters\n * @hidden\n */\nexport function pad2(c) {\n return c.length === 1 ? '0' + c : String(c);\n}\n","import { bound01, pad2 } from './util.js';\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n/**\n * Handle bounds / percentage checking to conform to CSS color spec\n * <http://www.w3.org/TR/css3-color/>\n * *Assumes:* r, g, b in [0, 255] or [0, 1]\n * *Returns:* { r, g, b } in [0, 255]\n */\nexport function rgbToRgb(r, g, b) {\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255,\n };\n}\n/**\n * Converts an RGB color value to HSL.\n * *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n * *Returns:* { h, s, l } in [0,1]\n */\nexport function rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var s = 0;\n var l = (max + min) / 2;\n if (max === min) {\n s = 0;\n h = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, l: l };\n}\nfunction hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * (6 * t);\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n/**\n * Converts an HSL color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hslToRgb(h, s, l) {\n var r;\n var g;\n var b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n if (s === 0) {\n // achromatic\n g = l;\n b = l;\n r = l;\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color value to HSV\n *\n * *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n * *Returns:* { h, s, v } in [0,1]\n */\nexport function rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var v = max;\n var d = max - min;\n var s = max === 0 ? 0 : d / max;\n if (max === min) {\n h = 0; // achromatic\n }\n else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n/**\n * Converts an HSV color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n var i = Math.floor(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - f * s);\n var t = v * (1 - (1 - f) * s);\n var mod = i % 6;\n var r = [v, q, p, p, t, v][mod];\n var g = [t, v, v, q, p, p][mod];\n var b = [p, p, t, v, v, q][mod];\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color to hex\n *\n * Assumes r, g, and b are contained in the set [0, 255]\n * Returns a 3 or 6 character hex\n */\nexport function rgbToHex(r, g, b, allow3Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n // Return a 3 character hex if possible\n if (allow3Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color plus alpha transparency to hex\n *\n * Assumes r, g, b are contained in the set [0, 255] and\n * a in [0, 1]. Returns a 4 or 8 character rgba hex\n */\n// eslint-disable-next-line max-params\nexport function rgbaToHex(r, g, b, a, allow4Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n pad2(convertDecimalToHex(a)),\n ];\n // Return a 4 character hex if possible\n if (allow4Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1)) &&\n hex[3].startsWith(hex[3].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color to an ARGB Hex8 string\n * Rarely used, but required for \"toFilter()\"\n */\nexport function rgbaToArgbHex(r, g, b, a) {\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n return hex.join('');\n}\n/** Converts a decimal to a hex value */\nexport function convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n/** Converts a hex value to a decimal */\nexport function convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n}\n/** Parse a base-16 hex value into a base-10 integer */\nexport function parseIntFromHex(val) {\n return parseInt(val, 16);\n}\nexport function numberInputToObject(color) {\n return {\n r: color >> 16,\n g: (color & 0xff00) >> 8,\n b: color & 0xff,\n };\n}\n","// https://github.com/bahamas10/css-color-names/blob/master/css-color-names.json\n/**\n * @hidden\n */\nexport var names = {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n goldenrod: '#daa520',\n gold: '#ffd700',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n lavenderblush: '#fff0f5',\n lavender: '#e6e6fa',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32',\n};\n","/* eslint-disable @typescript-eslint/no-redundant-type-constituents */\nimport { convertHexToDecimal, hslToRgb, hsvToRgb, parseIntFromHex, rgbToRgb, } from './conversion.js';\nimport { names } from './css-color-names.js';\nimport { boundAlpha, convertToPercentage } from './util.js';\n/**\n * Given a string or object, convert that input to RGB\n *\n * Possible string inputs:\n * ```\n * \"red\"\n * \"#f00\" or \"f00\"\n * \"#ff0000\" or \"ff0000\"\n * \"#ff000000\" or \"ff000000\"\n * \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n * \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n * \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n * \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n * \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n * \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n * \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n * ```\n */\nexport function inputToRGB(color) {\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n if (typeof color === 'string') {\n color = stringInputToObject(color);\n }\n if (typeof color === 'object') {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === '%' ? 'prgb' : 'rgb';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = 'hsv';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = 'hsl';\n }\n if (Object.prototype.hasOwnProperty.call(color, 'a')) {\n a = color.a;\n }\n }\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a: a,\n };\n}\n// <http://www.w3.org/TR/css3-values/#integers>\nvar CSS_INTEGER = '[-\\\\+]?\\\\d+%?';\n// <http://www.w3.org/TR/css3-values/#number-value>\nvar CSS_NUMBER = '[-\\\\+]?\\\\d*\\\\.\\\\d+%?';\n// Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\nvar CSS_UNIT = \"(?:\".concat(CSS_NUMBER, \")|(?:\").concat(CSS_INTEGER, \")\");\n// Actual matching.\n// Parentheses and commas are optional, but not required.\n// Whitespace can take the place of commas or opening paren\nvar PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\".concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")\\\\s*\\\\)?\");\nvar PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\".concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")\\\\s*\\\\)?\");\nvar matchers = {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp('rgb' + PERMISSIVE_MATCH3),\n rgba: new RegExp('rgba' + PERMISSIVE_MATCH4),\n hsl: new RegExp('hsl' + PERMISSIVE_MATCH3),\n hsla: new RegExp('hsla' + PERMISSIVE_MATCH4),\n hsv: new RegExp('hsv' + PERMISSIVE_MATCH3),\n hsva: new RegExp('hsva' + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n};\n/**\n * Permissive string parsing. Take in a number of formats, and output an object\n * based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\n */\nexport function stringInputToObject(color) {\n color = color.trim().toLowerCase();\n if (color.length === 0) {\n return false;\n }\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color === 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: 'name' };\n }\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match = matchers.rgb.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n match = matchers.rgba.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n match = matchers.hsl.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n match = matchers.hsla.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n match = matchers.hsv.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n match = matchers.hsva.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n match = matchers.hex8.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex6.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n match = matchers.hex4.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n a: convertHexToDecimal(match[4] + match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex3.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n return false;\n}\n/**\n * Check to see if it looks like a CSS unit\n * (see `matchers` above for definition).\n */\nexport function isValidCSSUnit(color) {\n return Boolean(matchers.CSS_UNIT.exec(String(color)));\n}\n","import { inputToRGB, rgbToHex, rgbToHsv } from '@ctrl/tinycolor';\n\nvar hueStep = 2; // 色相阶梯\n\nvar saturationStep = 0.16; // 饱和度阶梯,浅色部分\n\nvar saturationStep2 = 0.05; // 饱和度阶梯,深色部分\n\nvar brightnessStep1 = 0.05; // 亮度阶梯,浅色部分\n\nvar brightnessStep2 = 0.15; // 亮度阶梯,深色部分\n\nvar lightColorCount = 5; // 浅色数量,主色上\n\nvar darkColorCount = 4; // 深色数量,主色下\n// 暗色主题颜色映射关系表\n\nvar darkColorMap = [{\n index: 7,\n opacity: 0.15\n}, {\n index: 6,\n opacity: 0.25\n}, {\n index: 5,\n opacity: 0.3\n}, {\n index: 5,\n opacity: 0.45\n}, {\n index: 5,\n opacity: 0.65\n}, {\n index: 5,\n opacity: 0.85\n}, {\n index: 4,\n opacity: 0.9\n}, {\n index: 3,\n opacity: 0.95\n}, {\n index: 2,\n opacity: 0.97\n}, {\n index: 1,\n opacity: 0.98\n}]; // Wrapper function ported from TinyColor.prototype.toHsv\n// Keep it here because of `hsv.h * 360`\n\nfunction toHsv(_ref) {\n var r = _ref.r,\n g = _ref.g,\n b = _ref.b;\n var hsv = rgbToHsv(r, g, b);\n return {\n h: hsv.h * 360,\n s: hsv.s,\n v: hsv.v\n };\n} // Wrapper function ported from TinyColor.prototype.toHexString\n// Keep it here because of the prefix `#`\n\n\nfunction toHex(_ref2) {\n var r = _ref2.r,\n g = _ref2.g,\n b = _ref2.b;\n return \"#\".concat(rgbToHex(r, g, b, false));\n} // Wrapper function ported from TinyColor.prototype.mix, not treeshakable.\n// Amount in range [0, 1]\n// Assume color1 & color2 has no alpha, since the following src code did so.\n\n\nfunction mix(rgb1, rgb2, amount) {\n var p = amount / 100;\n var rgb = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b\n };\n return rgb;\n}\n\nfunction getHue(hsv, i, light) {\n var hue; // 根据色相不同,色相转向不同\n\n if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) {\n hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i;\n } else {\n hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i;\n }\n\n if (hue < 0) {\n hue += 360;\n } else if (hue >= 360) {\n hue -= 360;\n }\n\n return hue;\n}\n\nfunction getSaturation(hsv, i, light) {\n // grey color don't change saturation\n if (hsv.h === 0 && hsv.s === 0) {\n return hsv.s;\n }\n\n var saturation;\n\n if (light) {\n saturation = hsv.s - saturationStep * i;\n } else if (i === darkColorCount) {\n saturation = hsv.s + saturationStep;\n } else {\n saturation = hsv.s + saturationStep2 * i;\n } // 边界值修正\n\n\n if (saturation > 1) {\n saturation = 1;\n } // 第一格的 s 限制在 0.06-0.1 之间\n\n\n if (light && i === lightColorCount && saturation > 0.1) {\n saturation = 0.1;\n }\n\n if (saturation < 0.06) {\n saturation = 0.06;\n }\n\n return Number(saturation.toFixed(2));\n}\n\nfunction getValue(hsv, i, light) {\n var value;\n\n if (light) {\n value = hsv.v + brightnessStep1 * i;\n } else {\n value = hsv.v - brightnessStep2 * i;\n }\n\n if (value > 1) {\n value = 1;\n }\n\n return Number(value.toFixed(2));\n}\n\nfunction generate(color) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var patterns = [];\n var pColor = inputToRGB(color);\n\n for (var i = lightColorCount; i > 0; i -= 1) {\n var hsv = toHsv(pColor);\n var colorString = toHex(inputToRGB({\n h: getHue(hsv, i, true),\n s: getSaturation(hsv, i, true),\n v: getValue(hsv, i, true)\n }));\n patterns.push(colorString);\n }\n\n patterns.push(toHex(pColor));\n\n for (var _i = 1; _i <= darkColorCount; _i += 1) {\n var _hsv = toHsv(pColor);\n\n var _colorString = toHex(inputToRGB({\n h: getHue(_hsv, _i),\n s: getSaturation(_hsv, _i),\n v: getValue(_hsv, _i)\n }));\n\n patterns.push(_colorString);\n } // dark theme patterns\n\n\n if (opts.theme === 'dark') {\n return darkColorMap.map(function (_ref3) {\n var index = _ref3.index,\n opacity = _ref3.opacity;\n var darkColorString = toHex(mix(inputToRGB(opts.backgroundColor || '#141414'), inputToRGB(patterns[index]), opacity * 100));\n return darkColorString;\n });\n }\n\n return patterns;\n}\n\nvar presetPrimaryColors = {\n red: '#F5222D',\n volcano: '#FA541C',\n orange: '#FA8C16',\n gold: '#FAAD14',\n yellow: '#FADB14',\n lime: '#A0D911',\n green: '#52C41A',\n cyan: '#13C2C2',\n blue: '#1890FF',\n geekblue: '#2F54EB',\n purple: '#722ED1',\n magenta: '#EB2F96',\n grey: '#666666'\n};\nvar presetPalettes = {};\nvar presetDarkPalettes = {};\nObject.keys(presetPrimaryColors).forEach(function (key) {\n presetPalettes[key] = generate(presetPrimaryColors[key]);\n presetPalettes[key].primary = presetPalettes[key][5]; // dark presetPalettes\n\n presetDarkPalettes[key] = generate(presetPrimaryColors[key], {\n theme: 'dark',\n backgroundColor: '#141414'\n });\n presetDarkPalettes[key].primary = presetDarkPalettes[key][5];\n});\nvar red = presetPalettes.red;\nvar volcano = presetPalettes.volcano;\nvar gold = presetPalettes.gold;\nvar orange = presetPalettes.orange;\nvar yellow = presetPalettes.yellow;\nvar lime = presetPalettes.lime;\nvar green = presetPalettes.green;\nvar cyan = presetPalettes.cyan;\nvar blue = presetPalettes.blue;\nvar geekblue = presetPalettes.geekblue;\nvar purple = presetPalettes.purple;\nvar magenta = presetPalettes.magenta;\nvar grey = presetPalettes.grey;\n\nexport { blue, cyan, geekblue, generate, gold, green, grey, lime, magenta, orange, presetDarkPalettes, presetPalettes, presetPrimaryColors, purple, red, volcano, yellow };\n","import { generate } from \"@ant-design/colors\";\nexport function getStyleByBaseColors(theme, baseColors, backgroundColor) {\n return (theme === \"dark\" ? getDarkStyle : getLightStyle)(\"\".concat(getCssVariableDefinitionsByPalettes(generatePalettes(baseColors, theme, backgroundColor), theme), \"\\n\").concat(getMigratedCssVariableDefinitions(theme, baseColors, backgroundColor)));\n}\nexport function getStyleByBrandColor(theme, brandColor) {\n return (theme === \"dark\" ? getDarkStyle : getLightStyle)(getCssVariableDefinitionsByBrand(brandColor));\n}\nexport function getStyleByVariables(theme, variables) {\n return (theme === \"dark\" ? getDarkStyle : getLightStyle)(getCssVariableDefinitionsByVariables(variables));\n}\nfunction getLightStyle(cssVariableDefinitions) {\n return \":root,\\n[data-override-theme=\\\"light\\\"] {\\n\".concat(cssVariableDefinitions, \"}\");\n}\nfunction getDarkStyle(cssVariableDefinitions) {\n return \"html[data-theme=\\\"dark-v2\\\"],\\n[data-override-theme=\\\"dark-v2\\\"] {\\n\".concat(cssVariableDefinitions, \"}\");\n}\nfunction getCssVariableDefinitionsByPalettes(palettes, theme) {\n return Object.entries(palettes).flatMap(_ref => {\n var [colorName, palette] = _ref;\n ensureBaseColorName(colorName);\n return palette.map((color, index) => [\" --palette-\".concat(colorName, \"-\").concat(index + 1, \"-channel: \").concat(getRgbChannel(color), \";\")].concat(theme === \"dark\" ? [] : \" --palette-\".concat(colorName, \"-\").concat(index + 1, \": rgb(var(--palette-\").concat(colorName, \"-\").concat(index + 1, \"-channel));\")).join(\"\\n\"))\n // Concat an empty string to make a double-line-break for each group of color name.\n .concat(\"\");\n }).join(\"\\n\");\n}\nfunction generatePalettes(baseColors, theme, backgroundColor) {\n return Object.fromEntries(Object.entries(baseColors).map(_ref2 => {\n var [colorName, baseColor] = _ref2;\n return [colorName, generate(baseColor, theme === \"dark\" ? {\n theme,\n backgroundColor\n } : undefined)];\n }));\n}\nfunction getCssVariableDefinitionsByBrand(color) {\n if (typeof color === \"string\") {\n return \" --color-brand: \".concat(color, \";\\n\");\n }\n return [\" --color-brand: \".concat(color.default, \";\"), \" --color-brand-hover: \".concat(color.hover, \";\"), \" --color-brand-active: \".concat(color.active, \";\"), \"\"].join(\"\\n\");\n}\nfunction getCssVariableDefinitionsByVariables(variables) {\n return Object.entries(variables).map(_ref3 => {\n var [name, color] = _ref3;\n ensureCssVariableName(name);\n return \" \".concat(name, \": \").concat(color, \";\");\n }).concat(\"\").join(\"\\n\");\n}\nfunction ensureCssVariableName(name) {\n if (!/^--[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/.test(name)) {\n throw new Error(\"Invalid css variable name: \".concat(JSON.stringify(name)));\n }\n}\nfunction ensureBaseColorName(name) {\n if (!/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(name)) {\n throw new Error(\"Invalid base color name: \".concat(JSON.stringify(name)));\n }\n}\nfunction getMigratedCssVariableDefinitions(theme, baseColors, backgroundColor) {\n var migrateMap = {\n green: \"green\",\n red: \"red\",\n blue: \"blue\",\n orange: \"orange\",\n cyan: \"cyan\",\n purple: \"purple\",\n geekblue: \"indigo\"\n };\n return Object.entries(migrateMap).flatMap(_ref4 => {\n var [legacyColorName, newColorName] = _ref4;\n return [\" --theme-\".concat(legacyColorName, \"-color-rgb-channel: \").concat(getRgbChannel(getActualBaseColor(baseColors[newColorName], theme, backgroundColor)), \";\"), ...(theme === \"dark\" ? [] : [\" --theme-\".concat(legacyColorName, \"-color: var(--palette-\").concat(newColorName, \"-6);\"), \" --theme-\".concat(legacyColorName, \"-border-color: var(--palette-\").concat(newColorName, \"-3);\")]), \" --theme-\".concat(legacyColorName, \"-background: var(--palette-\").concat(newColorName, \"-\").concat(theme === \"dark\" ? 2 : 1, \");\"), \"\"];\n }).join(\"\\n\");\n}\nfunction getRgbChannel(color) {\n return color.match(/[0-9a-fA-F]{2}/g).map(hex => parseInt(hex, 16)).join(\", \");\n}\nfunction getActualBaseColor(baseColor, theme, backgroundColor) {\n return theme === \"dark\" ? generate(baseColor, {\n theme,\n backgroundColor\n })[5] : baseColor;\n}\n//# sourceMappingURL=index.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { getStyleByBaseColors, getStyleByBrandColor, getStyleByVariables } from \"@next-core/color-theme\";\nexport function customizeColorTheme(theme) {\n if (!theme) {\n return;\n }\n if (theme.brandColor) {\n applyColorTheme(_objectSpread({\n type: \"brandColor\"\n }, theme.brandColor));\n } else if (theme.baseColors) {\n applyColorTheme(_objectSpread({\n type: \"baseColors\"\n }, theme.baseColors));\n } else if (theme.variables) {\n applyColorTheme(_objectSpread({\n type: \"variables\"\n }, theme.variables));\n }\n}\nexport function applyColorTheme(options) {\n var style = [];\n var themes = [\"light\", \"dark\"];\n themes.forEach(theme => {\n if (options[theme]) {\n switch (options.type) {\n case \"brandColor\":\n style.push(getStyleByBrandColor(theme, options[theme]));\n break;\n case \"baseColors\":\n style.push(getStyleByBaseColors(theme, options[theme], options.backgroundColor));\n break;\n case \"variables\":\n style.push(getStyleByVariables(theme, options[theme]));\n break;\n }\n }\n });\n if (style.length > 0) {\n var element = document.createElement(\"style\");\n element.textContent = style.join(\"\\n\\n\");\n document.head.appendChild(element);\n return () => {\n element.remove();\n };\n }\n}\n//# sourceMappingURL=customizeColorTheme.js.map","// istanbul ignore file\n// Todo(steve): This file will be removed in the future.\nimport { hooks } from \"./internal/Runtime.js\";\n\n/** @deprecated import it from \"@next-core/easyops-runtime\" instead */\nexport function authenticate() {\n var _hooks$auth, _hooks$auth$authentic;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n hooks === null || hooks === void 0 || (_hooks$auth = hooks.auth) === null || _hooks$auth === void 0 || (_hooks$auth$authentic = _hooks$auth.authenticate) === null || _hooks$auth$authentic === void 0 || _hooks$auth$authentic.call(_hooks$auth, ...args);\n}\n\n/** @deprecated import it from \"@next-core/easyops-runtime\" instead */\nexport function getAuth() {\n var _hooks$auth2;\n return hooks === null || hooks === void 0 || (_hooks$auth2 = hooks.auth) === null || _hooks$auth2 === void 0 ? void 0 : _hooks$auth2.getAuth();\n}\n\n/** @deprecated import it from \"@next-core/easyops-runtime\" instead */\nexport function logout() {\n var _hooks$auth3, _hooks$auth3$logout;\n return hooks === null || hooks === void 0 || (_hooks$auth3 = hooks.auth) === null || _hooks$auth3 === void 0 || (_hooks$auth3$logout = _hooks$auth3.logout) === null || _hooks$auth3$logout === void 0 ? void 0 : _hooks$auth3$logout.call(_hooks$auth3);\n}\n\n/** @deprecated import it from \"@next-core/easyops-runtime\" instead */\nexport function isLoggedIn() {\n var _hooks$auth4;\n return hooks === null || hooks === void 0 || (_hooks$auth4 = hooks.auth) === null || _hooks$auth4 === void 0 ? void 0 : _hooks$auth4.isLoggedIn();\n}\n//# sourceMappingURL=auth.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { getProviderBrick } from \"./internal/data/getProviderBrick.js\";\nimport { resolveByProvider } from \"./internal/data/resolveData.js\";\nexport function fetchByProvider(_x, _x2, _x3) {\n return _fetchByProvider.apply(this, arguments);\n}\nfunction _fetchByProvider() {\n _fetchByProvider = _asyncToGenerator(function* (provider, args, options) {\n var providerBrick = yield getProviderBrick(provider);\n return resolveByProvider(providerBrick, provider, \"resolve\", args, options);\n });\n return _fetchByProvider.apply(this, arguments);\n}\n//# sourceMappingURL=fetchByProvider.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { uniqueId } from \"lodash\";\nimport { getDataStores, postAsyncRender, renderBricks } from \"./internal/Renderer.js\";\nimport { RendererContext } from \"./internal/RendererContext.js\";\nimport { DataStore } from \"./internal/data/DataStore.js\";\nimport { mountTree, unmountTree } from \"./internal/mount.js\";\nimport { httpErrorToString } from \"./handleHttpError.js\";\nimport { applyMode, applyTheme, setMode, setTheme } from \"./themeAndMode.js\";\nimport { RenderTag } from \"./internal/enums.js\";\nimport { registerStoryboardFunctions } from \"./internal/compute/StoryboardFunctions.js\";\nimport { registerAppI18n } from \"./internal/registerAppI18n.js\";\nimport { registerCustomTemplates } from \"./internal/registerCustomTemplates.js\";\nimport { setUIVersion } from \"./setUIVersion.js\";\nexport function unstable_createRoot(container) {\n var {\n portal: _portal,\n scope = \"fragment\",\n unknownBricks\n } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var portal = _portal;\n var createPortal;\n if (_portal) {\n createPortal = _portal;\n } else {\n // Create portal container when necessary.\n createPortal = () => {\n portal = document.createElement(\"div\");\n portal.style.position = \"absolute\";\n portal.style.width = portal.style.height = \"0\";\n document.body.append(portal);\n return portal;\n };\n }\n var unmounted = false;\n var rendererContext;\n var clearI18nBundles;\n return {\n render(brick) {\n var _arguments = arguments;\n return _asyncToGenerator(function* () {\n var {\n theme,\n uiVersion,\n context,\n functions,\n templates,\n i18n: i18nData,\n url,\n app\n } = _arguments.length > 1 && _arguments[1] !== undefined ? _arguments[1] : {};\n if (unmounted) {\n throw new Error(\"The root is unmounted and cannot be rendered any more\");\n }\n var bricks = [].concat(brick);\n var previousRendererContext = rendererContext;\n var renderId = uniqueId(\"render-id-\");\n rendererContext = new RendererContext(scope, {\n unknownBricks,\n renderId\n });\n var runtimeContext = {\n ctxStore: new DataStore(\"CTX\", undefined, rendererContext),\n pendingPermissionsPreCheck: [],\n tplStateStoreMap: new Map(),\n formStateStoreMap: new Map()\n };\n if (url) {\n var urlObj = new URL(url);\n runtimeContext.query = urlObj.searchParams;\n runtimeContext.location = {\n pathname: urlObj.pathname,\n search: urlObj.search,\n hash: urlObj.hash,\n state: undefined\n };\n }\n var renderRoot = {\n tag: RenderTag.ROOT,\n container,\n createPortal\n };\n if (scope === \"page\") {\n var _app, _clearI18nBundles;\n setTheme(theme !== null && theme !== void 0 ? theme : \"light\");\n setMode(\"default\");\n setUIVersion(uiVersion);\n (_app = app) !== null && _app !== void 0 ? _app : app = {\n id: \"demo\",\n homepage: \"/demo\"\n };\n runtimeContext.app = app;\n var demoStoryboard = {\n app,\n meta: {\n i18n: i18nData,\n customTemplates: templates\n }\n };\n\n // Register i18n.\n (_clearI18nBundles = clearI18nBundles) === null || _clearI18nBundles === void 0 || _clearI18nBundles();\n clearI18nBundles = registerAppI18n(demoStoryboard);\n\n // Register custom templates.\n registerCustomTemplates(demoStoryboard);\n\n // Register functions.\n registerStoryboardFunctions(functions, app);\n }\n runtimeContext.ctxStore.define(context, runtimeContext);\n var failed = false;\n var output;\n var stores = [];\n try {\n output = yield renderBricks(renderRoot, bricks, runtimeContext, rendererContext, [], {});\n stores = getDataStores(runtimeContext);\n yield postAsyncRender(output, runtimeContext, stores);\n } catch (error) {\n failed = true;\n output = {\n node: {\n tag: RenderTag.BRICK,\n type: \"div\",\n properties: {\n textContent: httpErrorToString(error)\n },\n return: renderRoot,\n runtimeContext: null\n },\n blockingList: []\n };\n }\n renderRoot.child = output.node;\n previousRendererContext === null || previousRendererContext === void 0 || previousRendererContext.dispatchOnUnmount();\n previousRendererContext === null || previousRendererContext === void 0 || previousRendererContext.dispose();\n unmountTree(container);\n if (portal) {\n unmountTree(portal);\n }\n if (scope === \"page\") {\n if (!failed) {\n rendererContext.dispatchBeforePageLoad();\n }\n applyTheme();\n applyMode();\n }\n mountTree(renderRoot);\n if (scope === \"page\") {\n window.scrollTo(0, 0);\n }\n if (!failed) {\n for (var store of stores) {\n store.mountAsyncData();\n }\n if (scope === \"page\") {\n rendererContext.dispatchPageLoad();\n // rendererContext.dispatchAnchorLoad();\n }\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n rendererContext.initializeMessageDispatcher();\n }\n })();\n },\n unmount() {\n if (unmounted) {\n return;\n }\n unmounted = true;\n unmountTree(container);\n if (portal) {\n unmountTree(portal);\n // Only remove the portal from its parent when it's dynamic created.\n if (!_portal) {\n portal.remove();\n }\n }\n }\n };\n}\n//# sourceMappingURL=createRoot.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { isEvaluable } from \"@next-core/cook\";\nimport { inject } from \"@next-core/inject\";\nimport { isObject } from \"@next-core/utils/general\";\nimport { getHistory } from \"./index.js\";\nimport { _internalApiGetRuntimeContext } from \"./internal/Runtime.js\";\nimport { evaluate } from \"./internal/compute/evaluate.js\";\nimport { hasBeenComputed, markAsComputed } from \"./internal/compute/markAsComputed.js\";\n\n/**\n * An equivalent of `computeRealValue` but for external usages, with no custom\n * context or options.\n *\n * @param value - Any value which may contains evaluations or placeholders.\n * @returns Computed real value.\n */\nexport function getRealValue(value) {\n var {\n useRealTimeQuery\n } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var ctx = _objectSpread({}, _internalApiGetRuntimeContext());\n if (useRealTimeQuery) {\n ctx.query = new URLSearchParams(getHistory().location.search);\n }\n var compute = data => {\n if (typeof data === \"string\") {\n if (isEvaluable(data)) {\n var result = evaluate(data, ctx);\n markAsComputed(result);\n return result;\n }\n return inject(data, ctx);\n }\n if (!isObject(data) || hasBeenComputed(value)) {\n return data;\n }\n if (Array.isArray(data)) {\n return data.map(v => compute(v));\n }\n return Object.fromEntries(Object.entries(data).map(_ref => {\n var [k, v] = _ref;\n return [compute(k), compute(v)];\n }));\n };\n return compute(value);\n}\n//# sourceMappingURL=getRealValue.js.map"],"names":["_asyncIterator","r","n","t","o","e","Symbol","asyncIterator","iterator","call","AsyncFromSyncIterator","TypeError","AsyncFromSyncIteratorContinuation","Object","Promise","reject","done","resolve","value","then","this","s","next","prototype","apply","arguments","_objectWithoutProperties","source","excluded","key","i","target","sourceKeys","keys","length","indexOf","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","getBasePath","base","document","querySelector","getAttribute","matchStoryboard","storyboards","pathname","sortedStoryboards","orderBy","storyboard","_storyboard$app$homep","_storyboard$app$homep2","app","homepage","matchHomepage","concat","replace","startsWith","isOutsideApp","_getRuntime$getCurren","getRuntime","getCurrentApp","id","window","STANDALONE_MICRO_APPS","standaloneMode","_excluded","blocked","getUserConfirmation","message","callback","confirm","getV2RuntimeFromDll","_window$BRICK_NEXT_VE","dll","BRICK_NEXT_VERSIONS","createHistory","browserHistory","createBrowserHistory","basename","assign","blockMessage","push","originalPush","originalReplace","location","state","updateQueryFactory","method","query","options","undefined","extraQuery","clear","keepHash","urlSearchParams","URLSearchParams","search","params","entries","Array","isArray","item","delete","append","set","toString","hash","pushQuery","replaceQuery","pushAnchor","notify","reload","noIncremental","setBlockMessage","getBlockMessage","unblock","updateFactory","path","pathIsString","parsePath","_bootstrapData$storyb","_bootstrapData8","bootstrapData","_internalApiMatchStoryboard","substring","createHref","historyOverridden","historyExtended","getHistory","v2Kit","getHistoryV2Factory","_registry","WeakMap","customProcessors","freeze","define","processorFullName","processorFunc","registerCustomProcessor","getCustomProcessorsV2","constructor","Map","namespace","processorName","split","pkg","get","has","Error","registerAppI18n","_ref","meta","i18n","i18nNamespace","getI18nNamespace","languages","forEach","_ref2","lang","resources","addResourceBundle","removeResourceBundle","type","widgetI18nFactory","widgetId","getFixedT","selectedPanel","registerWidgetI18n","i18nData","registerWidgetI18nV2Factory","ns","MESSAGE_SOURCE_PANEL","FRAME_ACTIVE_CHANGE","PANEL_CHANGE","frameIsActive","devtoolsHookEmit","payload","devtools","getDevHook","emit","_devtools$emit","requestIdleCallback","setTimeout","__BRICK_NEXT_DEVTOOLS_HOOK__","THROW","readOnlyHandler","defineProperty","deleteProperty","setPrototypeOf","getReadOnlyProxy","object","Proxy","getDynamicReadOnlyProxy","ownKeys","fromEntries","map","theme","storage","JsonStorage","localStorage","LOCAL_STORAGE_APPS_THEME_KEY","setTheme","getTheme","getCurrentTheme","documentElement","dataset","applyTheme","dispatchEvent","CustomEvent","detail","batchSetAppsLocalTheme","appsTheme","setItem","getLocalAppsTheme","_result","result","getItem","_unused","console","error","mode","setMode","getCurrentMode","applyMode","getCssPropertyValue","name","_window$getComputedSt","el","getComputedStyle","getPropertyValue","getGeneralGlobals","attemptToVisitGlobals","globalVariables","variableName","variable","getIndividualGlobal","_hooks$images","_hooks$images2","_hooks$checkPermissio","collectCoverage","widgetVersion","appendI18nNamespace","storyboardFunctions","isStoryboardFunction","hooks","images","widgetImagesFactory","imagesFactory","isBuildPush","currentVersion","identity","filter","Boolean","fakeI18nText","i18nText","check","fakeCheckPermissions","checkPermissions","href","origin","host","hostname","data","en","StoryboardFunctionRegistryFactory","currentApp","registeredFunctions","collector","fn","processed","cooked","createCollector","precooked","precookFunction","typescript","beforeVisit","cook","function","rules","noVar","supply","beforeEvaluate","beforeCall","beforeBranch","getStoryboardFunction","registerStoryboardFunctions","functions","deps","collectMemberUsageInFunction","hasPermissionsCheck","updateStoryboardFunction","newFn","checkPermissionsUsage","functionNames","checkedFunctions","Set","add","some","EventTarget","wm","create","proto","configurable","writable","dispatch","info","once","removeEventListener","listener","handleEvent","_stopImmediatePropagationFlag","secret","listeners","event","slice","currentTarget","splice","MediaBreakpoint","mediaBreakpointMinWidthMap","xLarge","large","medium","small","xSmall","mediaEventTarget","breakpointMatchesMap","MEDIA","handleMatchesChange","breakpoint","changed","_breakpoint","matches","minWidth","mediaQueryList","matchMedia","addEventListener","addListener","getMedia","getStorageItem","storageType","_storage$getItem","sessionStorage","JSON","parse","isStrictMode","runtimeContext","_getRuntime","flags","getFeatureFlags","warnAboutStrictMode","strict","_len","extraLogs","_key","punctuation","warn","allowedNativeProps","customTemplates","tagName","registerCustomTemplate","getCustomTemplatesV2","_constructor$proxy$pr","_constructor$proxy","_compatibleConstructo","_compatibleConstructo2","registered","customElements","proxyProperties","proxy","properties","validProxyProps","legacyTplVariables","asVariable","mergeProperty","refTransform","ref","compatibleConstructor","expose","tpl","_state$filter$map","exposedStates","uniq","proxyMethods","methods","props","entry","nativeProps","prop","HTMLElement","p","join","TplElement","$$typeof","_dev_only_definedProperties","_dev_only_definedMethods","$$getElementByRef","_this$$$tplStateStore","$$tplStateStore","hostBrick","tplHostMetadata","internalBricksByRef","element","connectedCallback","shadowRoot","attachShadow","fragment","createDocumentFragment","style","createElement","textContent","slot","appendChild","disconnectedCallback","_loop","propName","getValue","_this$$$tplStateStore2","updateValue","enumerable","_loop2","from","to","_to$refProperty","refProperty","_this$$$getElementByR","_to$refProperty2","_loop3","_from","_to","_to$refMethod","refMethod","getTplStateStore","using","extraInfo","tplStateStoreId","tplStateStoreMap","store","getTplHostElement","hostElement","widgetFunctionRegistry","widgetFunctions","registerWidgetFunctions","registerWidgetFunctionsV2Factory","semver","validateAndParse","version","match","shift","isWildcard","tryParse","v","parseInt","isNaN","compareStrings","a","b","ap","bp","String","forceType","compareSegments","Math","max","compare","v1","v2","operator","assertValidOperator","res","n1","n2","p1","pop","p2","compareVersions","operatorResMap","includes","allowedOperators","op","hasInstalledApp","appId","matchVersion","_internalApiGetAppInBootstrapData","checkInstalledApps","getCheckedApp","installStatus","getFormStateStore","formStateStoreId","formStateStoreMap","pool","getProviderBrick","_x","_getProviderBrick","provider","_hooks$flowApi","isFlowApi","flowApi","isFlowApiProvider","FLOW_API_PROVIDER","brick","registerFlowApiProvider","loadBricksImperatively","getBrickPackages","computed","WeakSet","markAsComputed","isObject","hasBeenComputed","getPrototypeOf","values","cache","resolveData","_x2","_x3","_resolveData","resolveConf","useProvider","args","onReject","legacyProvider","field","legacyField","hasLegacyField","providerBrick","actualArgs","all","asyncComputeRealValue","renderId","promise","resolveByProvider","_internalApiGetRenderId","transform","isHandleRejectByTransform","_x4","_x5","_x6","_x7","_x8","_x9","_x10","_resolveByProvider","originalArgs","stale","cacheKey","stringify","finalArgs","getArgsOfFlowApi","symbolForRaw","for","symbolForContext","isPreEvaluated","raw","getPreEvaluatedRaw","pre","shouldDismissMarkingComputed","shouldAllowRecursiveEvaluations","possibleErrorConstructs","SyntaxError","ReferenceError","getCookErrorConstructor","_asyncEvaluate","blockingList","run","lowLevelEvaluate","evaluate","isAsync","passByRuntimeContext","omit","menuUsage","usedArgs","hasAppUsage","preevaluate","withParent","beforeVisitGlobal","node","parent","collectAppGetMenuUsage","collectInstalledAppsHasUsage","hasNonStaticUsage","usedCtx","usedProcessors","usedStates","tplStateStore","lazy","hasOwnProperty","usedFormStates","formStateStore","devHook","strictCollectMemberUsage","ctxStore","waitFor","usedTpls","loadProcessorsImperatively","_hooks$checkInstalled","attemptToCheckPermissions","usedFunctions","pendingPermissionsPreCheck","size","menu","usedMenuIds","menuId","fetchMenuById","getStoryboardByAppId","_internalApiGetStoryboardInBootstrapData","waitForCheckingApps","_runtimeContext$overr","_hooks$menu","_match$params","sys","overrideApp","cloneDeep","getMenu","getMenuById","_target","property","getMiscSettings","_t","k","processor","getAll","expression","context","_message","StateOfUseBrick","isLazyContentInUseBrick","USE_BRICK_PROPERTIES","USE_BRICK_TRANSFORM","USE_BRICK_EVENTS","USE_BRICK_IF","USE_BRICK_LIFECYCLE","USE_BRICK_DATA_SOURCE","getNextStateOfUseBrick","USE_BRICK","USE_BRICK_ITEM","USE_BRICK_SLOTS_ITEM_BRICKS","USE_BRICK_SLOTS_ITEM_BRICKS_ITEM","INITIAL","USE_BRICK_SLOTS","USE_BRICK_SLOTS_ITEM","_asyncComputeRealValue","internalOptions","preEvaluated","$$lazyForUseBrick","$$stateOfUseBrick","dismissMarkingComputed","isEvaluable","asyncEvaluate","noInject","transformAndInject","inject","nextOptions","getNextComputeOptions","ignoreSymbols","computeRealValue","asyncCheckIf","_asyncCheckIf","ifContainer","if","checkIf","checkIfOfComputed","_asyncCheckBrickIf","brickConf","checkIfByTransform","looseCheckIfByTransform","checkIfByTransformV2Factory","getTracks","contextNames","stateNames","formStateNames","isTrackAll","trackAll","formState","track","computePropertyValue","_computePropertyValue","asyncPropertyEntries","asyncValue","ignoreUndefined","constructAsyncProperties","_constructAsyncProperties","setRealProperties","realProps","propValue","setProperties","bricks","realValue","computeRealProperties","escapeString","str","sensitive","stringToRegexp","tokens","_a","_b","start","_c","end","_d","encode","x","_e","delimiter","_f","endsWith","endsWithRe","delimiterRe","route","_i","tokens_1","token","prefix","suffix","pattern","modifier","mod","endToken","isEndDelimited","RegExp","tokensToRegexp","char","index","count","j","code","charCodeAt","lexer","prefixes","defaultPattern","tryConsume","mustConsume","nextType","consumeText","name_1","pattern_1","pathToRegexp","groupsRegex","execResult","exec","regexpToRegexp","paths","parts","arrayToRegexp","cacheLimit","cacheCount","matchPath","exact","reduce","matched","regexp","pathCache","cacheResult","compilePath","url","isExact","memo","_matchRoutes","routes","matchRoute","noAuthGuard","public","auth","isLoggedIn","symbolForAsyncComputedPropsFromHost","symbolForTplStateStoreId","symbolForTPlExternalForEachItem","symbolForTPlExternalForEachIndex","symbolForTPlExternalNoForEach","timeoutIdList","K","REQUEST_FAILED","SOMETHING_WENT_WRONG","LOGIN_TIMEOUT_MESSAGE","NETWORK_ERROR","zh","NS","locales","Dialog","show","confirmed","content","alert","setLoginStateCookie","pathValue","btoa","encodeURIComponent","searchValue","cookie","httpErrorToString","Event","HTMLScriptElement","src","HttpFetchError","HttpResponseError","responseJson","msg","isUnauthenticatedError","response","status","lastErrorMessage","unauthenticatedConfirming","handleHttpError","HttpAbortError","NO_AUTH_GUARD","ssoEnabled","history","title","contentStyle","whiteSpace","wordBreak","Notification","_startSSEStream","task","progress","success","finally","finallyCallback","currentRenderId","_iteratorError","stream","_iteratorAbruptCompletion","_didIteratorError","_step","_iterator","err","return","bindListeners","eventsMap","eventType","handlers","listenerFactory","handler","$$listeners","$$eventListeners","isBuiltinHandler","action","isUseProviderHandler","isCustomHandler","targetRef","isConditionalEventHandler","runtimeBrick","_handler$batch","_handler$batch2","handleHistoryAction","handleWindowAction","handleLocationAction","handleStorageAction","preventDefault","stopPropagation","handleConsoleAction","handleMessageAction","handleContextAction","batch","handleTplStateAction","init","argsFactory","handleFormStateAction","handleMessageDispatcher","handleUseProviderAction","handleCustomAction","else","_handleUseProviderAction","brickCallback","targets","rawTarget","rawTargetRef","computedTarget","multiple","querySelectorAll","found","computedTargetRef","targetRefs","tplHostElement","_tplHostElement$$$get","isExecuteCustomHandler","useEventAsDefault","isSetPropsCustomHandler","_x11","_brickCallback","_handler$sse","computedArgs","sse","callbackFactory","eventCallbackFactory","pollableCallback","_handler$sse2","_handler$poll","pollRuntimeContext","startSSEStream","poll","enabled","pollOptions","currentTimeoutId","expectPollStopImmediately","expectPollEnd","interval","leadingRequestDelay","continueOnError","delegateLoadingBar","pick","_poll","shouldStop","_computeRealValue","_computeRealValue2","_computeRealValue3","expectPollStopImmediatelyResult","delayedPoll","_computeRealValue4","_expectPollStopImmediatelyResult","delay","startPoll","baseArgsLength","hasCallback","overrideMethod","useEventDetailAsDefault","features","open","batchUpdate","updateValues","arg","every","removeItem","_x12","_x13","_x14","_x15","_x16","_x17","_handleMessageDispatcher","_hooks$messageDispatc","messageDispatcher","bindTemplateProxy","_tplHostMetadata$prox","events","_to$refEvent","_ref$$$proxyListeners","bubbles","cancelable","composed","refEvent","$$proxyListeners","unbindTemplateProxy","_$$proxyListeners","RenderTag","unmountTree","mountPoint","replaceChildren","mountTree","root","initializedElement","DISABLE_REACT_FLUSH_SYNC","current","child","portalElements","tag","BRICK","_current$tplHostMetad","slotId","setAttribute","iid","portal","childElements","sibling","_currentReturn","currentReturn","_currentReturn$contai","ROOT","container","createPortal","commonLifeCycles","pageOnlyLifeCycles","_routeHelper","_memoizedLifeCycle","_observers","_mediaListener","_arbitraryLifeCycle","_memoized","_initialMenuRequestNode","_memoizedMenuRequestNodeMap","_incrementalRenderStates","_RendererContext_brand","RendererContext","scope","_options$unknownBrick","onBeforePageLoad","onPageLoad","onPageLeave","onBeforePageLeave","onAnchorLoad","onAnchorUnload","onMediaChange","onScrollIntoView","onMount","onUnmount","onMessage","onMessageClose","unknownBricks","routeHelper","setInitialMenuRequestNode","menuRequestNode","memoizeMenuRequestNode","getMenuRequests","menuRequests","request","_current","reMergeMenuRequestNodes","parentMenuRequestNode","_arguments","_this","previousSibling","mergeMenus","reBailout","output","bailout","reCatch","returnNode","catch","didPerformIncrementalRender","prevLocation","_this2","finalResult","shouldIgnoreRoutes","parentRoutes","reverse","parentRoute","performIncrementalRender","slotConf","registerBrickLifeCycle","lifeCycle","lifeCycleTypes","isEmpty","useResolves","registerArbitraryLifeCycle","arbitraryCallbacks","memoize","keyPath","memKey","mem","last","getLastNode","lastNormal","getLastNormalNode","lastPortal","getLastPortalNode","reRender","insertBeforeChild","memoized","prevNode","prevLast","prevLastNormal","prevLastPortal","insertPortalBeforeChildCandidates","PLACEHOLDER","_getNextNormalNode$el","_getNextNormalNode","_getNextPortalNode","getSpecifiedNormalNode","getNextNormalNode","nextSibling","getSpecifiedPortalNode","getNextPortalNode","_prevLastNormal$eleme","_prevLastNormal$eleme2","_prevLastPortal$eleme","_nextSibling","prevSibling","portalFragment","renderRoot","_returnNode$container","_returnNode$element","removeBricks","getBrickRange","_unmountBricks","insertBefore","childNodes","_root","insertPortalBeforeChild","candidate","contains","newBricks","_initializeRerenderBricks","dispose","list","_list","observer","disconnect","dispatchBeforePageLoad","_dispatchGeneralLifeCycle","dispatchPageLoad","dispatchBeforePageLeave","dispatchPageLeave","dispatchAnchorLoad","anchor","initializeScrollIntoView","conf","_addObserver","initializeMediaChange","initializeMessageDispatcher","_hooks$messageDispatc2","channel","confList","onClose","dispatchOnMount","dispatchOnUnmount","unmountList","removed","remove","_brick$element","_brick$element2","observers","unmountEvent","_brick","mountEvent","_brick2","_conf$threshold","threshold","IntersectionObserver","isIntersecting","intersectionRatio","observe","_last","range","_currentReturn2","symbolForRootRuntimeContext","renderUseBrick","_renderUseBrick","useBrick","_useBrick$symbolForRo","_scopedRuntimeContext","_scopedRuntimeContext2","_output$node","_output$node2","scopedRuntimeContext","tplStateStoreScope","formStateStoreScope","createScopedRuntimeContext","_internalApiGetRuntimeContext","rendererContext","renderBrick","scopedStores","postAsyncRender","mountUseBrick","portalRoot","mountAsyncData","unmountUseBrick","mountResult","legacyDoTransform","updateStoryboard","storyboardPatch","$$fulfilling","$$fulfilled","$$registerCustomTemplateProcessed","updateStoryboardByRoute","newRoute","getKey","replaceRoute","routeKey","unshift","updateStoryboardByTemplate","newTemplate","settings","tplName","updateTemplatePreviewSettings","templateId","_updatePreviewSettings","getSnippetPreviewPath","snippetId","updateStoryboardBySnippet","snippetData","_snippetData$bricks","realTimeDataInspectRoot","updateSnippetPreviewSettings","previewRouteIndex","findIndex","newPreviewRoute","getContextValue","_ref3","getAllContextValues","_ref4","getAllValues","getBrickPackagesById","find","filePath","loadBricks","getRenderId","getAddedContracts","_getAddedContracts","_ref5","updatedStoryboard","updateStoryboardType","collectUsedContracts","_storyboard$routes","snippetPreviewPath","addedContracts","api","_storyboard$meta","_","namespaceId","contracts","contract","debugDataValue","_debugDataValue","debugData","RealTimeDataInspectHooks","setRealTimeDataInspectRoot","callRealTimeDataInspectHooks","changeType","addRealTimeDataInspectHook","hook","supportContextResolveTriggerBrickLifeCycle","DataStore","stateStoreId","changeEventType","_this$data$get","notifyRealTimeDataChange","getAffectListByContext","affectNames","batchUpdateContextsNames","updateContexts","affectContexts","affectDepsContextNames","updateContextItem","affectContextItem","triggerEvent","contexts","_context$eventTarget","eventTarget","callbackRuntimeContext","useResolve","loaded","loading","shouldDismiss","_this$rendererContext","load","val","finishLoad","dataConfs","asyncHostPropertyEntries","routePath","pending","contextConfs","resolveContext","keyword","dependencyMap","depsMap","contextConf","stats","collectMemberUsage","legacyTplStats","usedProperties","getDependencyMapOfContext","pendingDeps","contextName","_pendingDeps$get","deferredContexts","pendingContexts","wrapResolve","_pendingDeps$get2","resolved","left","scheduleNext","scheduleAsSerial","_scheduleNext","readyContexts","dep","predicateNextResolveFactory","pendingResult","deferred","duplicatedMap","processedAtLeastOne","detectCircularContexts","resolveDataStore","dataConf","pendingStack","onChange","dataName","_this$data$get2","dataNames","ctx","waitForAll","_this$routeMap$get","async","routeMap","asyncMounted","_this3","trackConditionalResolve","resolvePolicy","hasFallbackValue","_this3$rendererContex","newData","_this3$rendererContex2","trigger","batchAddListener","names","disposeDataInRoutes","setupTemplateProxy","hostContext","slots","asyncComputedProps","asyncHostProps","reversedProxies","externalSlots","propertyProxies","filtered","slotProxies","quasisMap","_externalSlots$from$b","_externalSlots$from","_to$refSlot","_to$refPosition","insertBricks","refToSlot","refSlot","expandableSlot","refPosition","hostHasForEach","clamp","__temporary_tpl_tag_name","setupTemplateExternalBricks","forEachItem","forEachIndex","slotName","quasis","flatMap","hasForEach","_childrenToSlots","children","c","childrenToSlots","setupTemplateExternalRoutes","setupUseBrickInTemplate","walk","setup","originalSlots","restConf","transpiledSlots","_slotConf$bricks","_excluded2","expandCustomTemplate","tplTagName","uniqueId","collectWidgetContract","originalExternalSlots","externalChildren","restBrickConf","newBrickConf","proxies","_proxies","expandBrickInTemplate","brickConfInTemplate","slotsInTemplate","childrenInTemplate","restBrickConfInTemplate","FORM_RENDERER","symbolForFormStateStoreId","formContainers","formSchemaToBrick","schema","fields","instanceId","fieldId","defaults","defaultValue","commonProps","label","testid","getReadOnlyAndRequired","_field$limit","_field$limit2","readOnly","limit","required","fieldType","placeholder","description","precision","inputBoxStyle","width","getDefaultProperties","formSchemasToBricks","schemas","misc","nativeController","_excluded3","_excluded4","_excluded5","renderRoutes","_renderRoutes","_runtimeContext","menuRequestReturnNode","isIncremental","matchRoutes","unauthenticated","preCheckPermissionsForBrickOrRoute","preLoadBricks","redirectTo","redirect","newOutput","menuRequest","menuConf","loadMenu","mergeRenderOutput","renderBricks","appendMenuRequestNode","_renderBricks","tplStack","shallow","setupBrick","inUseBrick","forceRecursive","setupRootRuntimeContext","kPath","hasTrackingControls","_x18","_x19","_x20","_x21","_x22","_x23","_x24","_renderBrick","_hooks$checkPermissio2","_runtimeContext$app","template","brickIf","permissionsPreCheck","isGeneralizedTrackAll","dataSource","acc","symbol","asyncCheckBrickIf","brickName","_brickConf$lifeCycle","ensureValidControlBrick","lowerLevelRenderControlNode","_slots$slot","computedDataSource","_x25","_x26","_x27","_x28","_x29","_x30","_x31","_x32","_x33","_x34","_renderForEach","renderForEach","_x35","renderControlNode","_rawOutput$node","rawOutput","_x36","controlledOutput","reControlledOutput","rerender","debouncedListener","debounce","_contextName","test","catchLoad","formData","confProps","getTagNameOfCustomTemplate","_tplStack$get","tplCount","enqueueStableLoadBricks","_brickConf$properties","trackingContextList","asyncComputeRealPropertyEntries","computedPropsFromHost","isScript","rel","_window$PUBLIC_ROOT","PUBLIC_ROOT","attrs","loadScript","loadStyle","loadProperties","stateName","_stateName","listenOnTrackingContext","childRuntimeContext","expandedBrickConf","hostBrickConf","_normalizedFormData$c","_hostBrickConf$proper","normalizedFormData","formConf","formSchema","targetEvents","sourceEvents","flat","mergeEvents","padding","expandFormRenderer","loadChildren","_ref6","routeSlotFromIndexToSlotId","rendered","_ref7","childSlotId","incrementalSubRoutes","_ref8","prevMatch","newMatch","isEqual","incrementalOutput","failed","_x37","_x38","childrenOutput","mergeSiblingRenderMenuRequest","rows","getDataStores","stores","flushStableLoadBricks","rest","newSlots","_child$slot","unknownPolicy","getPageInfo","isInIframe","isInIframeOfSameSite","isInIframeOfNext","isInIframeOfVisualBuilder","isInIframeOfLegacyConsole","selfIsNext","parentPathname","parentIsNext","Number","registerCustomTemplates","templates","_fulfilStoryboard","_doFulfilStoryboard","doFulfilStoryboard","_hooks$fulfilStoryboa","fulfilStoryboard","setUIVersion","ui","WATEMARK_BRICKNAME","_storyboards","_rendering","_prevLocation","_nextLocation","_rendererContext","_rendererContextTrashCan","_redirectCount","_renderId","_currentApp","_previousApp","_navConfig","_Router_brand","Router","_history","_getBlockMessageBeforePageLave","returnValue","block","getRuntimeContext","getRecentApps","previousApp","getNavConfig","bootstrap","AbortController","http","interceptors","use","config","_config$options","signal","noAbortOnRouteChange","listen","_classPrivateFieldGet2","_location$state","_location$state2","_classPrivateFieldGet4","ignoreRendering","_classPrivateFieldGet3","omittedLocationProps","locationsAreEqual","abort","_queuedRender","_classPrivateFieldGet5","previousMessage","_safeRedirect","_this$redirectCount","_this$redirectCount2","_queuedRender2","_render","nextLocation","_render2","_hooks$pageView","_classPrivateFieldGet6","_storyboard$app","clearCollectWidgetContract","finishPageView","pageView","currentAppId","BOOTSTRAP_UNION_FILE","APP_ROOT_TPL","APP_ID","APP_ROOT","setAppVariable","_window$APP_ROOT","_window$APP_ROOT2","_username","_hooks$auth","_settings$watermarkCo","_watermarkConfig$cont","_watermarkConfig$flag","_watermarkConfig$flag2","isDeveloper","username","getAuth","watermarkConfig","defaultProps","zIndex","font","fontSize","gap","setWatermark","appChanged","prevRendererContext","redirectToLogin","main","cleanUpPreviousRender","reset","_hooks$flowApi2","_storyboard$meta2","preCheckInstalledApps","menuConfs","navConfig","breadcrumb","overwrite","items","mergeMenuConfs","noAuthGuardLoginPath","brand","getBrandSettings","preCheckPermissions","collectContract","rootMenuRequestNode","mergedRoutes","specificTemplatePreviewIndex","findLastIndex","specificSnippetPreviewIndex","insertPreviewRoutes","uiVersion","scrollTo","pageTitle","injectedBrickPackages","BRICK_PACKAGES","parseFloat","isOnePointZero","isPercent","isPercentage","min","abs","convertToPercentage","hue2rgb","q","convertHexToDecimal","h","parseIntFromHex","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","goldenrod","gold","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavenderblush","lavender","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","inputToRGB","color","g","rgb","l","ok","format","trim","toLowerCase","named","matchers","rgba","hsl","hsla","hsv","hsva","hex8","hex6","hex4","hex3","stringInputToObject","isValidCSSUnit","substr","floor","f","hsvToRgb","hslToRgb","boundAlpha","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","hueStep","saturationStep","saturationStep2","brightnessStep1","brightnessStep2","lightColorCount","darkColorCount","darkColorMap","opacity","toHsv","d","rgbToHsv","toHex","allow3Char","hex","round","rgbToHex","getHue","light","hue","getSaturation","saturation","toFixed","generate","opts","patterns","pColor","colorString","_hsv","_colorString","rgb1","rgb2","backgroundColor","runtime","router","presetPrimaryColors","volcano","geekblue","presetPalettes","presetDarkPalettes","getLightStyle","cssVariableDefinitions","getDarkStyle","getRgbChannel","getActualBaseColor","baseColor","applyColorTheme","brandColor","default","hover","active","getStyleByBrandColor","baseColors","palettes","colorName","palette","ensureBaseColorName","getCssVariableDefinitionsByPalettes","generatePalettes","legacyColorName","newColorName","getMigratedCssVariableDefinitions","getStyleByBaseColors","variables","ensureCssVariableName","getCssVariableDefinitionsByVariables","getStyleByVariables","head","createRuntime","panel","initializeI18n","language","on","Runtime","primary","Reflect","getRuntimeV2Factory","_initialized","_bootstrapped","_Runtime_brand","initialize","_data$settings","deepFreeze","brickPackages","normalizeBootstrapData","notification","dialog","_getPresetBricks","loadNotificationService","loader","loadDialogService","customizeColorTheme","_router$getRecentApps","_router","_router2","_bootstrapData","_router3","featureFlags","_bootstrapData2","_router4","_bootstrapData3","base_title","getLaunchpadSettings","_bootstrapData4","columns","launchpad","getDesktops","_bootstrapData$deskto","_bootstrapData5","desktops","getLaunchpadSiteMap","_bootstrapData$siteSo","_bootstrapData6","siteSort","toggleLaunchpadEffect","body","classList","toggle","applyPageTitle","baseTitle","_router5","_bootstrapData$settin","_bootstrapData10","presetBricks","_processPublicDepsPac","_bootstrapData7","pubDeps","bricksMap","pkgName","processPublicDepsPackages","PUBLIC_DEPS","STANDALONE_BRICK_PACKAGES","_router6","_router7","_bootstrapData9","_internalApiGetStoryb","authenticate","_hooks$auth$authentic","_hooks$auth2","logout","_hooks$auth3","_hooks$auth3$logout","_hooks$auth4","fetchByProvider","_fetchByProvider","unstable_createRoot","_portal","position","height","clearI18nBundles","unmounted","render","previousRendererContext","urlObj","URL","searchParams","_app","_clearI18nBundles","demoStoryboard","unmount","getRealValue","useRealTimeQuery","compute"],"sourceRoot":""}
|