@next-core/runtime 1.63.0 → 1.65.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/cjs/index.js +7 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/Router.js +1 -0
- package/dist/cjs/internal/Router.js.map +1 -1
- package/dist/cjs/internal/Runtime.js.map +1 -1
- package/dist/cjs/internal/bindListeners.js +7 -0
- package/dist/cjs/internal/bindListeners.js.map +1 -1
- package/dist/cjs/internal/data/resolveData.js +16 -7
- package/dist/cjs/internal/data/resolveData.js.map +1 -1
- package/dist/cjs/themeAndMode.js +18 -0
- package/dist/cjs/themeAndMode.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/Router.js +2 -1
- package/dist/esm/internal/Router.js.map +1 -1
- package/dist/esm/internal/Runtime.js.map +1 -1
- package/dist/esm/internal/bindListeners.js +7 -0
- package/dist/esm/internal/bindListeners.js.map +1 -1
- package/dist/esm/internal/data/resolveData.js +16 -7
- package/dist/esm/internal/data/resolveData.js.map +1 -1
- package/dist/esm/themeAndMode.js +16 -0
- package/dist/esm/themeAndMode.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/internal/Runtime.d.ts +2 -2
- package/dist/types/internal/data/resolveData.d.ts +3 -3
- package/dist/types/themeAndMode.d.ts +3 -1
- package/package.json +6 -6
|
@@ -5,11 +5,15 @@ import { markAsComputed } from "../compute/markAsComputed.js";
|
|
|
5
5
|
import { get } from "lodash";
|
|
6
6
|
import { isStrictMode, warnAboutStrictMode } from "../../isStrictMode.js";
|
|
7
7
|
const cache = new Map();
|
|
8
|
-
export async function resolveData(resolveConf, runtimeContext,
|
|
8
|
+
export async function resolveData(resolveConf, runtimeContext, resolveOptions) {
|
|
9
|
+
var _hooks$flowApi;
|
|
9
10
|
const {
|
|
10
11
|
useProvider,
|
|
11
12
|
method = "resolve",
|
|
12
|
-
args
|
|
13
|
+
args,
|
|
14
|
+
params,
|
|
15
|
+
options,
|
|
16
|
+
filename,
|
|
13
17
|
onReject
|
|
14
18
|
} = resolveConf;
|
|
15
19
|
const {
|
|
@@ -28,13 +32,18 @@ export async function resolveData(resolveConf, runtimeContext, options) {
|
|
|
28
32
|
throw new Error("Using deprecated `resolve.field`");
|
|
29
33
|
}
|
|
30
34
|
}
|
|
31
|
-
const
|
|
35
|
+
const contractConf = !Array.isArray(args) && params && hooks !== null && hooks !== void 0 && (_hooks$flowApi = hooks.flowApi) !== null && _hooks$flowApi !== void 0 && _hooks$flowApi.isFlowApiProvider(useProvider) ? {
|
|
36
|
+
params,
|
|
37
|
+
options,
|
|
38
|
+
filename
|
|
39
|
+
} : null;
|
|
40
|
+
const [providerBrick, actualArgs, actualContractConf] = await Promise.all([getProviderBrick(useProvider), asyncComputeRealValue(args, runtimeContext), asyncComputeRealValue(contractConf, runtimeContext)]);
|
|
32
41
|
|
|
33
42
|
// `clearResolveCache` maybe cleared during the above promise being
|
|
34
43
|
// fulfilled, so we manually mark it as stale for this case.
|
|
35
|
-
const renderId =
|
|
44
|
+
const renderId = resolveOptions === null || resolveOptions === void 0 ? void 0 : resolveOptions.renderId;
|
|
36
45
|
const stale = !!renderId && renderId !== _internalApiGetRenderId();
|
|
37
|
-
const promise = resolveByProvider(providerBrick, useProvider, method, actualArgs,
|
|
46
|
+
const promise = resolveByProvider(providerBrick, useProvider, method, actualContractConf !== null && actualContractConf !== void 0 && actualContractConf.params ? actualContractConf : actualArgs !== null && actualArgs !== void 0 ? actualArgs : [], resolveOptions, args, stale);
|
|
38
47
|
let {
|
|
39
48
|
transform
|
|
40
49
|
} = resolveConf;
|
|
@@ -95,8 +104,8 @@ export async function resolveByProvider(brick, useProvider, method, args, option
|
|
|
95
104
|
promise = cache.get(cacheKey);
|
|
96
105
|
}
|
|
97
106
|
if (!promise) {
|
|
98
|
-
promise = (async _hooks$
|
|
99
|
-
const finalArgs = hooks !== null && hooks !== void 0 && (_hooks$
|
|
107
|
+
promise = (async _hooks$flowApi2 => {
|
|
108
|
+
const finalArgs = hooks !== null && hooks !== void 0 && (_hooks$flowApi2 = hooks.flowApi) !== null && _hooks$flowApi2 !== void 0 && _hooks$flowApi2.isFlowApiProvider(useProvider) ? await hooks.flowApi.getArgsOfFlowApi(useProvider, args, method) : args;
|
|
100
109
|
return brick[method](...finalArgs);
|
|
101
110
|
})();
|
|
102
111
|
if (!stale) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveData.js","names":["asyncComputeRealValue","getProviderBrick","_internalApiGetRenderId","hooks","markAsComputed","get","isStrictMode","warnAboutStrictMode","cache","Map","resolveData","resolveConf","runtimeContext","
|
|
1
|
+
{"version":3,"file":"resolveData.js","names":["asyncComputeRealValue","getProviderBrick","_internalApiGetRenderId","hooks","markAsComputed","get","isStrictMode","warnAboutStrictMode","cache","Map","resolveData","resolveConf","runtimeContext","resolveOptions","_hooks$flowApi","useProvider","method","args","params","options","filename","onReject","provider","legacyProvider","field","legacyField","Error","hasLegacyField","undefined","strict","contractConf","Array","isArray","flowApi","isFlowApiProvider","providerBrick","actualArgs","actualContractConf","Promise","all","renderId","stale","promise","resolveByProvider","transform","data","value","error","isHandleRejectByTransform","clearResolveCache","clear","brick","originalArgs","cacheKey","JSON","stringify","e","_hooks$flowApi2","finalArgs","getArgsOfFlowApi","set"],"sources":["../../../../src/internal/data/resolveData.ts"],"sourcesContent":["import type {\n HandleReject,\n HandleRejectByTransform,\n ResolveConf,\n UseProviderContractConf,\n} from \"@next-core/types\";\nimport { asyncComputeRealValue } from \"../compute/computeRealValue.js\";\nimport { getProviderBrick } from \"./getProviderBrick.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport { _internalApiGetRenderId, hooks } from \"../Runtime.js\";\nimport { markAsComputed } from \"../compute/markAsComputed.js\";\nimport { get } from \"lodash\";\nimport { isStrictMode, warnAboutStrictMode } from \"../../isStrictMode.js\";\n\nconst cache = new Map<string, Promise<unknown>>();\n\nexport interface ResolveOptions {\n /**\n * Cache mode of resolve.\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/Request/cache\n *\n * - `default`: Looks for a matching cache.\n * - `reload`: Without looking for a matching cache.\n */\n cache?: \"default\" | \"reload\";\n renderId?: string;\n}\n\nexport async function resolveData(\n resolveConf: ResolveConf,\n runtimeContext: RuntimeContext,\n resolveOptions?: ResolveOptions\n) {\n const {\n useProvider,\n method = \"resolve\",\n args,\n params,\n options,\n filename,\n onReject,\n } = resolveConf;\n\n const { provider: legacyProvider, field: legacyField } = resolveConf as {\n provider?: string;\n field?: string | string[];\n };\n if (legacyProvider && !useProvider) {\n throw new Error(\n `You're using \"provider: ${legacyProvider}\" which is dropped in v3, please use \"useProvider\" instead`\n );\n }\n\n const hasLegacyField = legacyField !== null && legacyField !== undefined;\n if (hasLegacyField) {\n const 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\n const contractConf =\n !Array.isArray(args) &&\n params &&\n hooks?.flowApi?.isFlowApiProvider(useProvider)\n ? ({ params, options, filename } as UseProviderContractConf)\n : null;\n\n const [providerBrick, actualArgs, actualContractConf] = await Promise.all([\n getProviderBrick(useProvider) as unknown as Promise<\n Record<string, Function>\n >,\n asyncComputeRealValue(args, runtimeContext) as Promise<unknown[]>,\n asyncComputeRealValue(\n contractConf,\n runtimeContext\n ) as Promise<UseProviderContractConf | null>,\n ]);\n\n // `clearResolveCache` maybe cleared during the above promise being\n // fulfilled, so we manually mark it as stale for this case.\n const renderId = resolveOptions?.renderId;\n const stale = !!renderId && renderId !== _internalApiGetRenderId();\n\n const promise = resolveByProvider(\n providerBrick,\n useProvider,\n method,\n actualContractConf?.params ? actualContractConf : (actualArgs ?? []),\n resolveOptions,\n args,\n stale\n );\n\n let { transform } = resolveConf;\n let data: unknown;\n\n try {\n const value = await 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\n if (!transform) {\n return data;\n }\n\n // Keep backward compatibility of string transform.\n if (typeof transform === \"string\") {\n return { [transform]: data };\n }\n\n return asyncComputeRealValue(transform, { ...runtimeContext, data });\n}\n\nexport function clearResolveCache() {\n cache.clear();\n}\n\nexport async function resolveByProvider(\n brick: Record<string, Function>,\n useProvider: string,\n method: string,\n args: unknown[] | UseProviderContractConf,\n options?: ResolveOptions,\n originalArgs?: unknown[],\n stale?: boolean\n) {\n let cacheKey: string;\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\n let promise: Promise<unknown> | undefined;\n if (options?.cache !== \"reload\") {\n promise = cache.get(cacheKey);\n }\n if (!promise) {\n promise = (async () => {\n const finalArgs = hooks?.flowApi?.isFlowApiProvider(useProvider)\n ? await hooks.flowApi.getArgsOfFlowApi(useProvider, args, method)\n : (args as unknown[]);\n return brick[method](...finalArgs);\n })();\n\n if (!stale) {\n cache.set(cacheKey, promise);\n }\n }\n\n return promise;\n}\n\nfunction isHandleRejectByTransform(\n onReject: HandleReject | undefined\n): onReject is HandleRejectByTransform {\n return !!(onReject as HandleRejectByTransform)?.transform;\n}\n"],"mappings":"AAMA,SAASA,qBAAqB,QAAQ,gCAAgC;AACtE,SAASC,gBAAgB,QAAQ,uBAAuB;AAExD,SAASC,uBAAuB,EAAEC,KAAK,QAAQ,eAAe;AAC9D,SAASC,cAAc,QAAQ,8BAA8B;AAC7D,SAASC,GAAG,QAAQ,QAAQ;AAC5B,SAASC,YAAY,EAAEC,mBAAmB,QAAQ,uBAAuB;AAEzE,MAAMC,KAAK,GAAG,IAAIC,GAAG,CAA2B,CAAC;AAejD,OAAO,eAAeC,WAAWA,CAC/BC,WAAwB,EACxBC,cAA8B,EAC9BC,cAA+B,EAC/B;EAAA,IAAAC,cAAA;EACA,MAAM;IACJC,WAAW;IACXC,MAAM,GAAG,SAAS;IAClBC,IAAI;IACJC,MAAM;IACNC,OAAO;IACPC,QAAQ;IACRC;EACF,CAAC,GAAGV,WAAW;EAEf,MAAM;IAAEW,QAAQ,EAAEC,cAAc;IAAEC,KAAK,EAAEC;EAAY,CAAC,GAAGd,WAGxD;EACD,IAAIY,cAAc,IAAI,CAACR,WAAW,EAAE;IAClC,MAAM,IAAIW,KAAK,CACb,2BAA2BH,cAAc,4DAC3C,CAAC;EACH;EAEA,MAAMI,cAAc,GAAGF,WAAW,KAAK,IAAI,IAAIA,WAAW,KAAKG,SAAS;EACxE,IAAID,cAAc,EAAE;IAClB,MAAME,MAAM,GAAGvB,YAAY,CAAC,CAAC;IAC7BC,mBAAmB,CAACsB,MAAM,EAAE,iBAAiB,CAAC;IAC9C;IACA,IAAIA,MAAM,EAAE;MACV,MAAM,IAAIH,KAAK,CAAC,kCAAkC,CAAC;IACrD;EACF;EAEA,MAAMI,YAAY,GAChB,CAACC,KAAK,CAACC,OAAO,CAACf,IAAI,CAAC,IACpBC,MAAM,IACNf,KAAK,aAALA,KAAK,gBAAAW,cAAA,GAALX,KAAK,CAAE8B,OAAO,cAAAnB,cAAA,eAAdA,cAAA,CAAgBoB,iBAAiB,CAACnB,WAAW,CAAC,GACzC;IAAEG,MAAM;IAAEC,OAAO;IAAEC;EAAS,CAAC,GAC9B,IAAI;EAEV,MAAM,CAACe,aAAa,EAAEC,UAAU,EAAEC,kBAAkB,CAAC,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC,CACxEtC,gBAAgB,CAACc,WAAW,CAAC,EAG7Bf,qBAAqB,CAACiB,IAAI,EAAEL,cAAc,CAAC,EAC3CZ,qBAAqB,CACnB8B,YAAY,EACZlB,cACF,CAAC,CACF,CAAC;;EAEF;EACA;EACA,MAAM4B,QAAQ,GAAG3B,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAE2B,QAAQ;EACzC,MAAMC,KAAK,GAAG,CAAC,CAACD,QAAQ,IAAIA,QAAQ,KAAKtC,uBAAuB,CAAC,CAAC;EAElE,MAAMwC,OAAO,GAAGC,iBAAiB,CAC/BR,aAAa,EACbpB,WAAW,EACXC,MAAM,EACNqB,kBAAkB,aAAlBA,kBAAkB,eAAlBA,kBAAkB,CAAEnB,MAAM,GAAGmB,kBAAkB,GAAID,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAI,EAAG,EACpEvB,cAAc,EACdI,IAAI,EACJwB,KACF,CAAC;EAED,IAAI;IAAEG;EAAU,CAAC,GAAGjC,WAAW;EAC/B,IAAIkC,IAAa;EAEjB,IAAI;IACF,MAAMC,KAAK,GAAG,MAAMJ,OAAO;IAC3BG,IAAI,GAAGlB,cAAc,GAAGtB,GAAG,CAACyC,KAAK,EAAErB,WAAW,CAAC,GAAGqB,KAAK;IACvD;IACA1C,cAAc,CAACyC,IAAI,CAAC;EACtB,CAAC,CAAC,OAAOE,KAAK,EAAE;IACd,IAAIC,yBAAyB,CAAC3B,QAAQ,CAAC,EAAE;MACvCuB,SAAS,GAAGvB,QAAQ,CAACuB,SAAS;MAC9BC,IAAI,GAAGE,KAAK;IACd,CAAC,MAAM;MACL,MAAMA,KAAK;IACb;EACF;EAEA,IAAI,CAACH,SAAS,EAAE;IACd,OAAOC,IAAI;EACb;;EAEA;EACA,IAAI,OAAOD,SAAS,KAAK,QAAQ,EAAE;IACjC,OAAO;MAAE,CAACA,SAAS,GAAGC;IAAK,CAAC;EAC9B;EAEA,OAAO7C,qBAAqB,CAAC4C,SAAS,EAAE;IAAE,GAAGhC,cAAc;IAAEiC;EAAK,CAAC,CAAC;AACtE;AAEA,OAAO,SAASI,iBAAiBA,CAAA,EAAG;EAClCzC,KAAK,CAAC0C,KAAK,CAAC,CAAC;AACf;AAEA,OAAO,eAAeP,iBAAiBA,CACrCQ,KAA+B,EAC/BpC,WAAmB,EACnBC,MAAc,EACdC,IAAyC,EACzCE,OAAwB,EACxBiC,YAAwB,EACxBX,KAAe,EACf;EACA,IAAIY,QAAgB;EACpB,IAAI;IACF;IACA;IACAA,QAAQ,GAAGC,IAAI,CAACC,SAAS,CAAC;MACxBxC,WAAW;MACXC,MAAM;MACNC;IACF,CAAC,CAAC;EACJ,CAAC,CAAC,OAAOuC,CAAC,EAAE;IACV,IAAI,CAACJ,YAAY,EAAE;MACjB,MAAMI,CAAC;IACT;IACAH,QAAQ,GAAGC,IAAI,CAACC,SAAS,CAAC;MACxBxC,WAAW;MACXC,MAAM;MACNoC;IACF,CAAC,CAAC;EACJ;EAEA,IAAIV,OAAqC;EACzC,IAAI,CAAAvB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEX,KAAK,MAAK,QAAQ,EAAE;IAC/BkC,OAAO,GAAGlC,KAAK,CAACH,GAAG,CAACgD,QAAQ,CAAC;EAC/B;EACA,IAAI,CAACX,OAAO,EAAE;IACZA,OAAO,GAAG,CAAC,MAAAe,eAAA,IAAY;MACrB,MAAMC,SAAS,GAAGvD,KAAK,aAALA,KAAK,gBAAAsD,eAAA,GAALtD,KAAK,CAAE8B,OAAO,cAAAwB,eAAA,eAAdA,eAAA,CAAgBvB,iBAAiB,CAACnB,WAAW,CAAC,GAC5D,MAAMZ,KAAK,CAAC8B,OAAO,CAAC0B,gBAAgB,CAAC5C,WAAW,EAAEE,IAAI,EAAED,MAAM,CAAC,GAC9DC,IAAkB;MACvB,OAAOkC,KAAK,CAACnC,MAAM,CAAC,CAAC,GAAG0C,SAAS,CAAC;IACpC,CAAC,EAAE,CAAC;IAEJ,IAAI,CAACjB,KAAK,EAAE;MACVjC,KAAK,CAACoD,GAAG,CAACP,QAAQ,EAAEX,OAAO,CAAC;IAC9B;EACF;EAEA,OAAOA,OAAO;AAChB;AAEA,SAASM,yBAAyBA,CAChC3B,QAAkC,EACG;EACrC,OAAO,CAAC,EAAEA,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAA8BuB,SAAS;AAC3D","ignoreList":[]}
|
package/dist/esm/themeAndMode.js
CHANGED
|
@@ -78,4 +78,20 @@ export function getCssPropertyValue(name) {
|
|
|
78
78
|
if (!el) return "";
|
|
79
79
|
return ((_window$getComputedSt = window.getComputedStyle(el)) === null || _window$getComputedSt === void 0 ? void 0 : _window$getComputedSt.getPropertyValue(name)) || "";
|
|
80
80
|
}
|
|
81
|
+
let variant = "default";
|
|
82
|
+
export function setThemeVariant(value) {
|
|
83
|
+
if (value !== "default" && value !== "elevo") {
|
|
84
|
+
return setThemeVariant("default");
|
|
85
|
+
}
|
|
86
|
+
if (variant === value) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
document.documentElement.dataset.variant = variant = value;
|
|
90
|
+
window.dispatchEvent(new CustomEvent("variant.change", {
|
|
91
|
+
detail: value
|
|
92
|
+
}));
|
|
93
|
+
}
|
|
94
|
+
export function getThemeVariant() {
|
|
95
|
+
return variant;
|
|
96
|
+
}
|
|
81
97
|
//# sourceMappingURL=themeAndMode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themeAndMode.js","names":["JsonStorage","theme","storage","localStorage","LOCAL_STORAGE_APPS_THEME_KEY","setTheme","value","Error","getTheme","getCurrentTheme","document","documentElement","dataset","applyTheme","window","dispatchEvent","CustomEvent","detail","batchSetAppsLocalTheme","appsTheme","setItem","getLocalAppsTheme","result","getItem","console","error","mode","setMode","getMode","getCurrentMode","applyMode","getCssPropertyValue","name","_window$getComputedSt","el","arguments","length","undefined","getComputedStyle","getPropertyValue"],"sources":["../../src/themeAndMode.ts"],"sourcesContent":["import type { SiteMode, SiteTheme } from \"@next-core/types\";\nimport { JsonStorage } from \"@next-core/utils/general\";\n\ninterface AppThemes {\n [appId: string]: SiteTheme;\n}\n\n// Themes.\nlet theme: SiteTheme = \"light\";\nconst storage = new JsonStorage<Record<string, AppThemes>>(localStorage);\nconst LOCAL_STORAGE_APPS_THEME_KEY = \"apps-theme\";\n\nexport function setTheme(value: SiteTheme): void {\n if (value !== \"dark\" && value !== \"light\" && value !== \"dark-v2\") {\n throw new Error(`Unsupported theme: ${value}`);\n }\n theme = value;\n}\n\nexport function getTheme(): SiteTheme {\n return theme;\n}\n\nexport function getCurrentTheme(): SiteTheme {\n return document.documentElement.dataset.theme as SiteTheme;\n}\n\nexport function applyTheme(value?: SiteTheme): void {\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(\n new CustomEvent<SiteTheme>(\"theme.change\", {\n detail: value,\n })\n );\n }\n}\n\nexport function batchSetAppsLocalTheme(appsTheme: AppThemes): void {\n storage.setItem(LOCAL_STORAGE_APPS_THEME_KEY, {\n ...getLocalAppsTheme(),\n ...appsTheme,\n });\n}\n\nexport function getLocalAppsTheme(): AppThemes {\n let result: AppThemes | undefined;\n try {\n result = storage.getItem(LOCAL_STORAGE_APPS_THEME_KEY);\n } catch {\n // eslint-disable-next-line no-console\n console.error(\"JSON parse error inside `getLocalAppsTheme()`\");\n }\n\n return result ?? {};\n}\n\n// Modes.\nlet mode: SiteMode = \"default\";\n\nexport function setMode(value: SiteMode): void {\n if (value !== \"dashboard\" && value !== \"default\") {\n throw new Error(`Unsupported mode: ${value}`);\n }\n mode = value;\n}\n\nexport function getMode(): SiteMode {\n return mode;\n}\n\nexport function getCurrentMode(): SiteMode {\n return document.documentElement.dataset.mode as SiteMode;\n}\n\nexport function applyMode(value?: SiteMode): void {\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(\n new CustomEvent<SiteMode>(\"mode.change\", {\n detail: value,\n })\n );\n }\n}\n\nexport function getCssPropertyValue(\n name: string,\n el = document.documentElement\n): string {\n if (!el) return \"\";\n return window.getComputedStyle(el)?.getPropertyValue(name) || \"\";\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"themeAndMode.js","names":["JsonStorage","theme","storage","localStorage","LOCAL_STORAGE_APPS_THEME_KEY","setTheme","value","Error","getTheme","getCurrentTheme","document","documentElement","dataset","applyTheme","window","dispatchEvent","CustomEvent","detail","batchSetAppsLocalTheme","appsTheme","setItem","getLocalAppsTheme","result","getItem","console","error","mode","setMode","getMode","getCurrentMode","applyMode","getCssPropertyValue","name","_window$getComputedSt","el","arguments","length","undefined","getComputedStyle","getPropertyValue","variant","setThemeVariant","getThemeVariant"],"sources":["../../src/themeAndMode.ts"],"sourcesContent":["import type { SiteMode, SiteTheme, SiteVariant } from \"@next-core/types\";\nimport { JsonStorage } from \"@next-core/utils/general\";\n\ninterface AppThemes {\n [appId: string]: SiteTheme;\n}\n\n// Themes.\nlet theme: SiteTheme = \"light\";\nconst storage = new JsonStorage<Record<string, AppThemes>>(localStorage);\nconst LOCAL_STORAGE_APPS_THEME_KEY = \"apps-theme\";\n\nexport function setTheme(value: SiteTheme): void {\n if (value !== \"dark\" && value !== \"light\" && value !== \"dark-v2\") {\n throw new Error(`Unsupported theme: ${value}`);\n }\n theme = value;\n}\n\nexport function getTheme(): SiteTheme {\n return theme;\n}\n\nexport function getCurrentTheme(): SiteTheme {\n return document.documentElement.dataset.theme as SiteTheme;\n}\n\nexport function applyTheme(value?: SiteTheme): void {\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(\n new CustomEvent<SiteTheme>(\"theme.change\", {\n detail: value,\n })\n );\n }\n}\n\nexport function batchSetAppsLocalTheme(appsTheme: AppThemes): void {\n storage.setItem(LOCAL_STORAGE_APPS_THEME_KEY, {\n ...getLocalAppsTheme(),\n ...appsTheme,\n });\n}\n\nexport function getLocalAppsTheme(): AppThemes {\n let result: AppThemes | undefined;\n try {\n result = storage.getItem(LOCAL_STORAGE_APPS_THEME_KEY);\n } catch {\n // eslint-disable-next-line no-console\n console.error(\"JSON parse error inside `getLocalAppsTheme()`\");\n }\n\n return result ?? {};\n}\n\n// Modes.\nlet mode: SiteMode = \"default\";\n\nexport function setMode(value: SiteMode): void {\n if (value !== \"dashboard\" && value !== \"default\") {\n throw new Error(`Unsupported mode: ${value}`);\n }\n mode = value;\n}\n\nexport function getMode(): SiteMode {\n return mode;\n}\n\nexport function getCurrentMode(): SiteMode {\n return document.documentElement.dataset.mode as SiteMode;\n}\n\nexport function applyMode(value?: SiteMode): void {\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(\n new CustomEvent<SiteMode>(\"mode.change\", {\n detail: value,\n })\n );\n }\n}\n\nexport function getCssPropertyValue(\n name: string,\n el = document.documentElement\n): string {\n if (!el) return \"\";\n return window.getComputedStyle(el)?.getPropertyValue(name) || \"\";\n}\n\nlet variant: SiteVariant = \"default\";\n\nexport function setThemeVariant(value: unknown) {\n if (value !== \"default\" && value !== \"elevo\") {\n return setThemeVariant(\"default\");\n }\n if (variant === value) {\n return;\n }\n document.documentElement.dataset.variant = variant = value;\n window.dispatchEvent(\n new CustomEvent(\"variant.change\", {\n detail: value,\n })\n );\n}\n\nexport function getThemeVariant(): SiteVariant {\n return variant;\n}\n"],"mappings":"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","ignoreList":[]}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export { createRuntime, getRuntime, type RuntimeOptions, type RuntimeHooks, type
|
|
|
13
13
|
import * as __secret_internals from "./internal/secret_internals.js";
|
|
14
14
|
export { __secret_internals };
|
|
15
15
|
export { __test_only } from "./internal/test_only.js";
|
|
16
|
-
export { getCssPropertyValue, getCurrentTheme, getCurrentMode, batchSetAppsLocalTheme, applyTheme, } from "./themeAndMode.js";
|
|
16
|
+
export { getCssPropertyValue, getCurrentTheme, getCurrentMode, getThemeVariant, batchSetAppsLocalTheme, applyTheme, } from "./themeAndMode.js";
|
|
17
17
|
export { checkIfOfComputed, checkIfByTransform, } from "./internal/compute/checkIf.js";
|
|
18
18
|
export { registerWidgetFunctions } from "./internal/compute/WidgetFunctions.js";
|
|
19
19
|
export { registerWidgetI18n } from "./internal/compute/WidgetI18n.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { RuntimeStoryboard, FeatureFlags, BootstrapData, Contract, Storyboard, BrickConf, RouteConf, ResolveConf, BrickPackage } from "@next-core/types";
|
|
1
|
+
import type { RuntimeStoryboard, FeatureFlags, BootstrapData, Contract, Storyboard, BrickConf, RouteConf, ResolveConf, BrickPackage, UseProviderContractConf } from "@next-core/types";
|
|
2
2
|
import type { PermissionApi_validatePermissions } from "@next-api-sdk/micro-app-sdk";
|
|
3
3
|
import "moment/locale/zh-cn.js";
|
|
4
4
|
import { type AppForCheck } from "./hasInstalledApp.js";
|
|
@@ -39,7 +39,7 @@ export interface RuntimeHooks {
|
|
|
39
39
|
FLOW_API_PROVIDER: string;
|
|
40
40
|
registerFlowApiProvider(): void;
|
|
41
41
|
isFlowApiProvider(provider: string): boolean;
|
|
42
|
-
getArgsOfFlowApi(provider: string, originalArgs: unknown[], method?: string, stream?: boolean): Promise<unknown[]>;
|
|
42
|
+
getArgsOfFlowApi(provider: string, originalArgs: unknown[] | UseProviderContractConf, method?: string, stream?: boolean): Promise<unknown[]>;
|
|
43
43
|
collectContract(contracts: Contract[] | undefined): void;
|
|
44
44
|
collectWidgetContract(contracts: Contract[] | undefined): void;
|
|
45
45
|
clearCollectWidgetContract(): void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ResolveConf } from "@next-core/types";
|
|
1
|
+
import type { ResolveConf, UseProviderContractConf } from "@next-core/types";
|
|
2
2
|
import type { RuntimeContext } from "../interfaces.js";
|
|
3
3
|
export interface ResolveOptions {
|
|
4
4
|
/**
|
|
@@ -12,6 +12,6 @@ export interface ResolveOptions {
|
|
|
12
12
|
cache?: "default" | "reload";
|
|
13
13
|
renderId?: string;
|
|
14
14
|
}
|
|
15
|
-
export declare function resolveData(resolveConf: ResolveConf, runtimeContext: RuntimeContext,
|
|
15
|
+
export declare function resolveData(resolveConf: ResolveConf, runtimeContext: RuntimeContext, resolveOptions?: ResolveOptions): Promise<unknown>;
|
|
16
16
|
export declare function clearResolveCache(): void;
|
|
17
|
-
export declare function resolveByProvider(brick: Record<string, Function>, useProvider: string, method: string, args: unknown[], options?: ResolveOptions, originalArgs?: unknown[], stale?: boolean): Promise<unknown>;
|
|
17
|
+
export declare function resolveByProvider(brick: Record<string, Function>, useProvider: string, method: string, args: unknown[] | UseProviderContractConf, options?: ResolveOptions, originalArgs?: unknown[], stale?: boolean): Promise<unknown>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SiteMode, SiteTheme } from "@next-core/types";
|
|
1
|
+
import type { SiteMode, SiteTheme, SiteVariant } from "@next-core/types";
|
|
2
2
|
interface AppThemes {
|
|
3
3
|
[appId: string]: SiteTheme;
|
|
4
4
|
}
|
|
@@ -13,4 +13,6 @@ export declare function getMode(): SiteMode;
|
|
|
13
13
|
export declare function getCurrentMode(): SiteMode;
|
|
14
14
|
export declare function applyMode(value?: SiteMode): void;
|
|
15
15
|
export declare function getCssPropertyValue(name: string, el?: HTMLElement): string;
|
|
16
|
+
export declare function setThemeVariant(value: unknown): void;
|
|
17
|
+
export declare function getThemeVariant(): SiteVariant;
|
|
16
18
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@next-core/runtime",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.65.0",
|
|
4
4
|
"homepage": "https://github.com/easyops-cn/next-core/tree/v3/packages/runtime",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
6
|
"repository": {
|
|
@@ -47,12 +47,12 @@
|
|
|
47
47
|
"@next-core/color-theme": "^0.4.8",
|
|
48
48
|
"@next-core/cook": "^2.5.9",
|
|
49
49
|
"@next-core/http": "^1.2.13",
|
|
50
|
-
"@next-core/i18n": "^1.0.
|
|
51
|
-
"@next-core/inject": "^1.0.
|
|
50
|
+
"@next-core/i18n": "^1.0.81",
|
|
51
|
+
"@next-core/inject": "^1.0.57",
|
|
52
52
|
"@next-core/loader": "^1.6.16",
|
|
53
53
|
"@next-core/supply": "^2.3.6",
|
|
54
|
-
"@next-core/types": "^1.
|
|
55
|
-
"@next-core/utils": "^1.8.
|
|
54
|
+
"@next-core/types": "^1.17.0",
|
|
55
|
+
"@next-core/utils": "^1.8.2",
|
|
56
56
|
"@ungap/event-target": "^0.2.4",
|
|
57
57
|
"compare-versions": "^6.1.1",
|
|
58
58
|
"history": "^4.10.1",
|
|
@@ -67,5 +67,5 @@
|
|
|
67
67
|
"@next-core/build-next-libs": "^1.0.25",
|
|
68
68
|
"@next-core/test-next": "^2.0.0"
|
|
69
69
|
},
|
|
70
|
-
"gitHead": "
|
|
70
|
+
"gitHead": "b356ef08ecef65234dcace9aa78c4a87222facbd"
|
|
71
71
|
}
|