@inpageedit/core 0.13.1 → 0.14.1
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/LICENSE +20 -20
- package/README.md +13 -4
- package/dist/{BasePlugin-Bf2UuIHF.js → BasePlugin-YOi2_vUo.js} +17 -26
- package/dist/BasePlugin-YOi2_vUo.js.map +1 -0
- package/dist/IconQuickEdit-CMCQncyj.js.map +1 -1
- package/dist/InputBox-nQKtiWtZ.js.map +1 -1
- package/dist/{PluginPrefSync-Dn1Xsiqz.js → PluginPrefSync-jTNlRQE-.js} +124 -128
- package/dist/PluginPrefSync-jTNlRQE-.js.map +1 -0
- package/dist/PluginStoreApp-CGNxKXAN.js +453 -0
- package/dist/PluginStoreApp-CGNxKXAN.js.map +1 -0
- package/dist/{endpoints-DgyuoRZd.js → Preferences-BF2fcXrn.js} +608 -576
- package/dist/Preferences-BF2fcXrn.js.map +1 -0
- package/dist/WatchlistAction-BbNAyryN.js.map +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/index-3NZkG2a3.js +116 -0
- package/dist/index-3NZkG2a3.js.map +1 -0
- package/dist/{index-BJ7_Q1mB.js → index-BBNseJXG.js} +17 -16
- package/dist/index-BBNseJXG.js.map +1 -0
- package/dist/{index-BQ-cHWkJ.js → index-Bb0FiU2c.js} +66 -48
- package/dist/index-Bb0FiU2c.js.map +1 -0
- package/dist/{index-DqA6EAM6.js → index-BgkZW91u.js} +1429 -928
- package/dist/index-BgkZW91u.js.map +1 -0
- package/dist/index-BrYKe18j.js +179 -0
- package/dist/index-BrYKe18j.js.map +1 -0
- package/dist/index-CG38LlAh.js.map +1 -1
- package/dist/index-CM_6yF2v.js.map +1 -1
- package/dist/index-D-fW3ESK.js +195 -0
- package/dist/index-D-fW3ESK.js.map +1 -0
- package/dist/index-D6zFqL2u.js +173 -0
- package/dist/index-D6zFqL2u.js.map +1 -0
- package/dist/{index-CCRMmnwk.js → index-D97lUU3h.js} +67 -66
- package/dist/index-D97lUU3h.js.map +1 -0
- package/dist/index-DD5CVCfD.js.map +1 -1
- package/dist/{index-B7c6jL9x.js → index-DELHsLHS.js} +146 -137
- package/dist/index-DELHsLHS.js.map +1 -0
- package/dist/{index-BwdWyHLe.js → index-DTHY5rAO.js} +93 -93
- package/dist/index-DTHY5rAO.js.map +1 -0
- package/dist/index-DmLoihN1.js +394 -0
- package/dist/index-DmLoihN1.js.map +1 -0
- package/dist/index.d.ts +362 -43
- package/dist/index.js +32 -26
- package/dist/index.js.map +1 -1
- package/dist/makeCallable-LDU0xZMJ.js.map +1 -1
- package/dist/models/index.js +174 -154
- package/dist/models/index.js.map +1 -1
- package/dist/noop-ClDc6zv4.js.map +1 -1
- package/dist/plugins/index.js +10 -10
- package/dist/services/index.js +1 -1
- package/dist/style.css +1 -1
- package/dist/vueHooks-l04s8cIl.js.map +1 -1
- package/lib/index.umd.js +20 -12
- package/lib/index.umd.js.map +1 -1
- package/lib/style.css +1 -1
- package/package.json +4 -4
- package/dist/BasePlugin-Bf2UuIHF.js.map +0 -1
- package/dist/PluginPrefSync-Dn1Xsiqz.js.map +0 -1
- package/dist/PluginStoreApp-CpOLArL7.js +0 -452
- package/dist/PluginStoreApp-CpOLArL7.js.map +0 -1
- package/dist/Preferences-DS4-CFWe.js +0 -9
- package/dist/Preferences-DS4-CFWe.js.map +0 -1
- package/dist/endpoints-DgyuoRZd.js.map +0 -1
- package/dist/index-2RfILgXm.js +0 -180
- package/dist/index-2RfILgXm.js.map +0 -1
- package/dist/index-B7c6jL9x.js.map +0 -1
- package/dist/index-BJ7_Q1mB.js.map +0 -1
- package/dist/index-BNh95-x2.js +0 -115
- package/dist/index-BNh95-x2.js.map +0 -1
- package/dist/index-BQ-cHWkJ.js.map +0 -1
- package/dist/index-BwdWyHLe.js.map +0 -1
- package/dist/index-CCRMmnwk.js.map +0 -1
- package/dist/index-CnIpUF9x.js +0 -173
- package/dist/index-CnIpUF9x.js.map +0 -1
- package/dist/index-CyG7_IYz.js +0 -394
- package/dist/index-CyG7_IYz.js.map +0 -1
- package/dist/index-DqA6EAM6.js.map +0 -1
- package/dist/index-eSlbrNqF.js +0 -146
- package/dist/index-eSlbrNqF.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Context, Events as Events$1, ForkScope, Inject, Inject as Inject$1, Service } from "@cordisjs/core";
|
|
1
|
+
import { Context, CordisError, EffectScope, Events as Events$1, ForkScope, ForkScope as ForkScope$1, Inject, Inject as Inject$1, Lifecycle, MainScope, Plugin, Registry, ScopeStatus, Service, symbols as CordisSymbols } from "@cordisjs/core";
|
|
2
2
|
import * as _inpageedit_logger0 from "@inpageedit/logger";
|
|
3
3
|
import { Logger } from "@inpageedit/logger";
|
|
4
|
-
import * as
|
|
4
|
+
import * as wiki_saikou0 from "wiki-saikou";
|
|
5
5
|
import { FexiosConfigs, MwApiParams } from "wiki-saikou";
|
|
6
6
|
import { FexiosFinalContext, MediaWikiApi, MwApi, MwApiParams as MwApiParams$1, MwApiResponse } from "wiki-saikou/browser";
|
|
7
7
|
import { IPEModal, IPEModalEvent, IPEModalOptions } from "@inpageedit/modal";
|
|
@@ -9,7 +9,7 @@ import "@inpageedit/modal/style.css";
|
|
|
9
9
|
import { IDBPlus } from "idb-plus";
|
|
10
10
|
import "@/styles/index.scss";
|
|
11
11
|
import Schema, { default as Schema$1 } from "schemastery";
|
|
12
|
-
import * as
|
|
12
|
+
import * as jsx_dom0 from "jsx-dom";
|
|
13
13
|
import { JSX, ReactElement, ReactNode } from "jsx-dom";
|
|
14
14
|
import { JSX as JSX$1 } from "jsx-dom/jsx-runtime";
|
|
15
15
|
import { JSX as JSX$2 } from "vue/jsx-runtime";
|
|
@@ -337,10 +337,10 @@ declare class LocalStorageManager<T = unknown> implements AbstractIPEStorageMana
|
|
|
337
337
|
dbName?: string | undefined;
|
|
338
338
|
readonly storeName?: string | undefined;
|
|
339
339
|
ttl: number;
|
|
340
|
-
version?: number | undefined;
|
|
340
|
+
version?: number | string | undefined;
|
|
341
341
|
engine: 'localStorage' | 'sessionStorage' | 'memory';
|
|
342
342
|
private db;
|
|
343
|
-
constructor(dbName?: string | undefined, storeName?: string | undefined, ttl?: number, version?: number | undefined, engine?: 'localStorage' | 'sessionStorage' | 'memory');
|
|
343
|
+
constructor(dbName?: string | undefined, storeName?: string | undefined, ttl?: number, version?: number | string | undefined, engine?: 'localStorage' | 'sessionStorage' | 'memory');
|
|
344
344
|
private makeKey;
|
|
345
345
|
private load;
|
|
346
346
|
private getRaw;
|
|
@@ -365,12 +365,12 @@ declare class IDBStorageManager<T = unknown> implements AbstractIPEStorageManage
|
|
|
365
365
|
readonly dbName: string;
|
|
366
366
|
readonly storeName: string;
|
|
367
367
|
ttl: number;
|
|
368
|
-
version?: number | undefined;
|
|
368
|
+
version?: number | string | undefined;
|
|
369
369
|
readonly db: IDBPlus<string, TypedStorageEntry<T>>;
|
|
370
370
|
keys: () => AsyncIterable<string>;
|
|
371
371
|
values: () => AsyncIterable<TypedStorageEntry<T>>;
|
|
372
372
|
entries: () => AsyncIterable<[string, TypedStorageEntry<T>]>;
|
|
373
|
-
constructor(dbName: string, storeName: string, ttl?: number, version?: number | undefined);
|
|
373
|
+
constructor(dbName: string, storeName: string, ttl?: number, version?: number | string | undefined);
|
|
374
374
|
private _clearExpiredEntries;
|
|
375
375
|
get(key: string, ttl?: number, setter?: () => Promise<T> | T): Promise<T | null>;
|
|
376
376
|
set(key: string, value: null | undefined): Promise<void>;
|
|
@@ -404,7 +404,7 @@ declare class StorageService extends Service<StorageServiceConfig> {
|
|
|
404
404
|
readonly simpleKV: LocalStorageManager<any>;
|
|
405
405
|
readonly memoryKV: LocalStorageManager<any>;
|
|
406
406
|
constructor(ctx: InPageEdit, config: StorageServiceConfig);
|
|
407
|
-
createDatabase<T = any>(storeName: string, ttl?: number, version?: number, engine?: 'indexedDB' | 'localStorage' | 'sessionStorage' | 'memory'): AbstractIPEStorageManager<T>;
|
|
407
|
+
createDatabase<T = any>(storeName: string, ttl?: number, version?: number | string, engine?: 'indexedDB' | 'localStorage' | 'sessionStorage' | 'memory'): AbstractIPEStorageManager<T>;
|
|
408
408
|
}
|
|
409
409
|
interface TypedStorageEntry<T = any> {
|
|
410
410
|
/** last update time */
|
|
@@ -412,7 +412,7 @@ interface TypedStorageEntry<T = any> {
|
|
|
412
412
|
/** stored value */
|
|
413
413
|
value: T;
|
|
414
414
|
/** version */
|
|
415
|
-
version?: number;
|
|
415
|
+
version?: number | string;
|
|
416
416
|
}
|
|
417
417
|
interface AbstractIPEStorageManager<T = unknown> {
|
|
418
418
|
get(key: string, ttl?: number, setter?: () => Promise<any> | any): Promise<T | null>;
|
|
@@ -437,6 +437,13 @@ declare module '.' {
|
|
|
437
437
|
getSciprtUrl: WikiMetadataService['getSciprtUrl'];
|
|
438
438
|
getMainpageUrl: WikiMetadataService['getMainpageUrl'];
|
|
439
439
|
}
|
|
440
|
+
interface Events {
|
|
441
|
+
/**
|
|
442
|
+
* Application requires to clear caches and reload the page
|
|
443
|
+
* If returns true, the page will not be reloaded
|
|
444
|
+
*/
|
|
445
|
+
'clear-cache'(): AwaitAble<boolean | void>;
|
|
446
|
+
}
|
|
440
447
|
}
|
|
441
448
|
interface WikiMetadataKindMap {
|
|
442
449
|
siteinfo: WikiSiteInfo;
|
|
@@ -464,6 +471,7 @@ declare class WikiMetadataService extends Service {
|
|
|
464
471
|
fetchFromCache<T extends keyof WikiMetadataKindMap>(kind: T): Promise<WikiMetadataKindMap[T] | null>;
|
|
465
472
|
saveToCache<T extends keyof WikiMetadataKindMap>(kind: T, data: WikiMetadataKindMap[T]): Promise<TypedStorageEntry<WikiSiteInfo | WikiUserInfo>>;
|
|
466
473
|
invalidateCache<T extends keyof WikiMetadataKindMap>(kind: T): Promise<void>;
|
|
474
|
+
private onClearCache;
|
|
467
475
|
get _raw(): WikiMetadataKindMap;
|
|
468
476
|
get siteInfo(): WikiSiteInfo;
|
|
469
477
|
get general(): WikiSiteGeneralInfo;
|
|
@@ -789,6 +797,7 @@ declare class WikiTitleService extends Service {
|
|
|
789
797
|
//#endregion
|
|
790
798
|
//#region src/utils/computeable.d.ts
|
|
791
799
|
type ComputeAble<T> = (() => T | Promise<T>) | T;
|
|
800
|
+
type ComputeAbleSync<T> = (() => T) | T;
|
|
792
801
|
//#endregion
|
|
793
802
|
//#region src/services/PreferencesService.d.ts
|
|
794
803
|
// ↓ '@/InPageEdit'
|
|
@@ -881,6 +890,307 @@ declare class PreferencesService extends Service {
|
|
|
881
890
|
private _migrageFromLegacyMasterDB;
|
|
882
891
|
}
|
|
883
892
|
//#endregion
|
|
893
|
+
//#region src/services/i18n/interpolate.d.ts
|
|
894
|
+
/**
|
|
895
|
+
* 创建带有“全局可用函数/变量”的插值函数。
|
|
896
|
+
* - 传入的 globals 会作为模板可用的全局,只在上下文未提供同名键时生效(上下文优先)。
|
|
897
|
+
* - 返回的函数与 interpolate 具有相同签名。
|
|
898
|
+
*
|
|
899
|
+
* 示例:
|
|
900
|
+
* ```ts
|
|
901
|
+
* const interpolate = createInterpolate({ getUrl })
|
|
902
|
+
* interpolate('url is: {{ getUrl(title) }}', { title: 'foo' })
|
|
903
|
+
* ```
|
|
904
|
+
*/
|
|
905
|
+
type Interpolator = {
|
|
906
|
+
(template: string): string;
|
|
907
|
+
(template: string, context: Record<string, unknown>): string;
|
|
908
|
+
(template: string, ...numricContext: string[]): string;
|
|
909
|
+
(template: string, numricContext: string[]): string;
|
|
910
|
+
};
|
|
911
|
+
//#endregion
|
|
912
|
+
//#region src/services/i18n/I18nManager.d.ts
|
|
913
|
+
declare class I18nManager {
|
|
914
|
+
private languages;
|
|
915
|
+
private currentLanguage;
|
|
916
|
+
private missingKeys;
|
|
917
|
+
private usedKeys;
|
|
918
|
+
interpolate: Interpolator;
|
|
919
|
+
constructor(init?: Record<string, any>, options?: {
|
|
920
|
+
language?: string;
|
|
921
|
+
globals?: Record<string, unknown>;
|
|
922
|
+
});
|
|
923
|
+
setGlobals(globals: Record<string, unknown>): this;
|
|
924
|
+
/**
|
|
925
|
+
* ```
|
|
926
|
+
* { foo: 'foo', bar: { baz: 'qux' } }
|
|
927
|
+
* ```
|
|
928
|
+
* will be merged into
|
|
929
|
+
* ```
|
|
930
|
+
* { foo: 'foo', 'bar.baz': 'qux' }
|
|
931
|
+
* ```
|
|
932
|
+
*/
|
|
933
|
+
set(key: string, value: string): this;
|
|
934
|
+
set(data: Record<string, any>): this;
|
|
935
|
+
setLanguageData(language: string, data: Record<string, any>): this;
|
|
936
|
+
setLanguage(language: string): this;
|
|
937
|
+
getLanguage(): string;
|
|
938
|
+
hasLanguage(language: string): boolean | undefined;
|
|
939
|
+
private toStringRecord;
|
|
940
|
+
has(key: string): boolean;
|
|
941
|
+
get(key: string): string | undefined;
|
|
942
|
+
/**
|
|
943
|
+
* [payload as template] Interpolate a message with optional arguments
|
|
944
|
+
* @example
|
|
945
|
+
* ```
|
|
946
|
+
* i18n.msg('Hello, {{ name }}', 'dragon')
|
|
947
|
+
* // good: "你好,dragon"
|
|
948
|
+
* // missing: "Hello, dragon"
|
|
949
|
+
* ```
|
|
950
|
+
*/
|
|
951
|
+
translate(msg: string): string;
|
|
952
|
+
translate(msg: string, context: Record<string, unknown>): string;
|
|
953
|
+
translate(msg: string, ...numricContext: string[]): string;
|
|
954
|
+
translate(msg: string, numricContext: string[]): string;
|
|
955
|
+
/**
|
|
956
|
+
* $ => translate
|
|
957
|
+
* @example
|
|
958
|
+
* ```
|
|
959
|
+
* $`hello, world` // "你好,世界"
|
|
960
|
+
* $('dragon')`hello, {{ $1 }}` // "你好,dragon"
|
|
961
|
+
*/
|
|
962
|
+
$(context: Record<string, unknown>): (strings: TemplateStringsArray, ...values: unknown[]) => string;
|
|
963
|
+
$(...numricContext: string[]): (strings: TemplateStringsArray, ...values: unknown[]) => string;
|
|
964
|
+
$(strings: TemplateStringsArray, ...values: unknown[]): string;
|
|
965
|
+
/**
|
|
966
|
+
* [payload as template] Return the raw message without interpolation
|
|
967
|
+
* @example
|
|
968
|
+
* ```
|
|
969
|
+
* i18n.rawMsg('Hello, {{ name }}')
|
|
970
|
+
* // good: "你好,{{ name }}"
|
|
971
|
+
* // missing: "Hello, {{ name }}"
|
|
972
|
+
* ```
|
|
973
|
+
*/
|
|
974
|
+
translateRaw(msg: string): string;
|
|
975
|
+
/**
|
|
976
|
+
* $raw => translateRaw
|
|
977
|
+
* @example
|
|
978
|
+
* ```
|
|
979
|
+
* $raw`hello, {{ $1 }}`
|
|
980
|
+
* // good: "你好,{{ $1 }}"
|
|
981
|
+
* // missing: "hello, {{ $1 }}"
|
|
982
|
+
* ```
|
|
983
|
+
*/
|
|
984
|
+
$raw(_context: Record<string, unknown>): (strings: TemplateStringsArray, ...values: unknown[]) => string;
|
|
985
|
+
$raw(..._numricContext: string[]): (strings: TemplateStringsArray, ...values: unknown[]) => string;
|
|
986
|
+
$raw(strings: TemplateStringsArray, ...values: unknown[]): string;
|
|
987
|
+
/**
|
|
988
|
+
* [payload as key] Interpolate a message by key with optional arguments
|
|
989
|
+
* @example
|
|
990
|
+
* ```
|
|
991
|
+
* i18n.strictMsg('greeting', 'dragon')
|
|
992
|
+
* // good: "你好,dragon"
|
|
993
|
+
* // missing: "(greeting)"
|
|
994
|
+
* ```
|
|
995
|
+
*/
|
|
996
|
+
message(key: string): string;
|
|
997
|
+
message(key: string, context: Record<string, unknown>): string;
|
|
998
|
+
message(key: string, ...numricContext: string[]): string;
|
|
999
|
+
message(key: string, numricContext: string[]): string;
|
|
1000
|
+
/**
|
|
1001
|
+
* $$ => message
|
|
1002
|
+
* @example
|
|
1003
|
+
* ```
|
|
1004
|
+
* $$`hello`
|
|
1005
|
+
* // good: "你好"
|
|
1006
|
+
* // missing: "(hello)"
|
|
1007
|
+
* $$('dragon')`greeting`
|
|
1008
|
+
* // good: "你好,dragon"
|
|
1009
|
+
* // missing: "(greeting)"
|
|
1010
|
+
* ```
|
|
1011
|
+
*/
|
|
1012
|
+
$$(context: Record<string, unknown>): (strings: TemplateStringsArray, ...values: unknown[]) => string;
|
|
1013
|
+
$$(...numricContext: string[]): (strings: TemplateStringsArray, ...values: unknown[]) => string;
|
|
1014
|
+
$$(strings: TemplateStringsArray, ...values: unknown[]): string;
|
|
1015
|
+
/**
|
|
1016
|
+
* [payload as key] Return the raw message without interpolation
|
|
1017
|
+
* @example
|
|
1018
|
+
* ```
|
|
1019
|
+
* i18n.rawMsg('greeting')
|
|
1020
|
+
* // good: "你好,{{ name }}"
|
|
1021
|
+
* // missing: "(greeting)"
|
|
1022
|
+
* ```
|
|
1023
|
+
*/
|
|
1024
|
+
messageRaw(key: string): string;
|
|
1025
|
+
/**
|
|
1026
|
+
* $$raw => messageRaw
|
|
1027
|
+
* @example
|
|
1028
|
+
* ```
|
|
1029
|
+
* $$raw`greeting`
|
|
1030
|
+
* // good: "你好,{{ name }}"
|
|
1031
|
+
* // missing: "(greeting)"
|
|
1032
|
+
* ```
|
|
1033
|
+
*/
|
|
1034
|
+
$$raw(_context: Record<string, unknown>): (strings: TemplateStringsArray, ...values: unknown[]) => string;
|
|
1035
|
+
$$raw(..._numricContext: string[]): (strings: TemplateStringsArray, ...values: unknown[]) => string;
|
|
1036
|
+
$$raw(strings: TemplateStringsArray, ...values: unknown[]): string;
|
|
1037
|
+
getAvailableLanguages(): string[];
|
|
1038
|
+
private ensureLanguageMap;
|
|
1039
|
+
private resolveLanguageOrder;
|
|
1040
|
+
/**
|
|
1041
|
+
* 获取缺失键报告:
|
|
1042
|
+
* { foo: ['zh', 'zh-hans', 'en'] }
|
|
1043
|
+
*/
|
|
1044
|
+
getMissingReport(): {
|
|
1045
|
+
[k: string]: string[];
|
|
1046
|
+
};
|
|
1047
|
+
/**
|
|
1048
|
+
* 清空缺失键记录
|
|
1049
|
+
*/
|
|
1050
|
+
clearMissingReport(): void;
|
|
1051
|
+
private recordMissing;
|
|
1052
|
+
private recordUsedKey;
|
|
1053
|
+
private getUsedKeys;
|
|
1054
|
+
private generateBlankKeyRecord;
|
|
1055
|
+
}
|
|
1056
|
+
//#endregion
|
|
1057
|
+
//#region src/services/i18n/index.d.ts
|
|
1058
|
+
interface I18nIndexV1 {
|
|
1059
|
+
manifest_version: 1;
|
|
1060
|
+
base_language: string;
|
|
1061
|
+
last_modified: string;
|
|
1062
|
+
languages: Record<string, I18nIndexLanguage>;
|
|
1063
|
+
}
|
|
1064
|
+
interface I18nIndexLanguage {
|
|
1065
|
+
file: string;
|
|
1066
|
+
iso_name?: string;
|
|
1067
|
+
endonym?: string;
|
|
1068
|
+
fallback?: string;
|
|
1069
|
+
data?: I18nStringRecord;
|
|
1070
|
+
}
|
|
1071
|
+
interface I18nStringRecord {
|
|
1072
|
+
[key: string]: string | I18nStringRecord;
|
|
1073
|
+
}
|
|
1074
|
+
// ↓ '@/InPageEdit'
|
|
1075
|
+
declare module '.' {
|
|
1076
|
+
interface InPageEdit {
|
|
1077
|
+
i18n: I18nService;
|
|
1078
|
+
/**
|
|
1079
|
+
* $ => translate [payload as template]
|
|
1080
|
+
* @example
|
|
1081
|
+
* ```
|
|
1082
|
+
* $`hello, world`
|
|
1083
|
+
* // good: "你好,世界"
|
|
1084
|
+
* // missing: "hello, world"
|
|
1085
|
+
* $('dragon')`hello, {{ $1 }}`
|
|
1086
|
+
* // good: "你好,dragon"
|
|
1087
|
+
* // missing: "hello, dragon"
|
|
1088
|
+
* ```
|
|
1089
|
+
*/
|
|
1090
|
+
$: I18nManager['$'];
|
|
1091
|
+
/**
|
|
1092
|
+
* $raw => translateRaw [payload as template]
|
|
1093
|
+
* @example
|
|
1094
|
+
* ```
|
|
1095
|
+
* $raw`hello, {{ $1 }}`
|
|
1096
|
+
* // good: "你好,{{ $1 }}"
|
|
1097
|
+
* // missing: "hello, {{ $1 }}"
|
|
1098
|
+
* ```
|
|
1099
|
+
*/
|
|
1100
|
+
$raw: I18nManager['$raw'];
|
|
1101
|
+
/**
|
|
1102
|
+
* $$ => message [payload as key]
|
|
1103
|
+
* @example
|
|
1104
|
+
* ```
|
|
1105
|
+
* $$`hello`
|
|
1106
|
+
* // good: "你好"
|
|
1107
|
+
* // missing: "(hello)"
|
|
1108
|
+
* $$('dragon')`greeting`
|
|
1109
|
+
* // good: "你好,dragon"
|
|
1110
|
+
* // missing: "(greeting)"
|
|
1111
|
+
* ```
|
|
1112
|
+
*/
|
|
1113
|
+
$$: I18nManager['$$'];
|
|
1114
|
+
/**
|
|
1115
|
+
* $$raw => messageRaw [payload as key]
|
|
1116
|
+
* @example
|
|
1117
|
+
* ```
|
|
1118
|
+
* $$raw`greeting`
|
|
1119
|
+
* // good: "你好,{{ name }}"
|
|
1120
|
+
* // missing: "(greeting)"
|
|
1121
|
+
* ```
|
|
1122
|
+
*/
|
|
1123
|
+
$$raw: I18nManager['$$raw'];
|
|
1124
|
+
}
|
|
1125
|
+
interface PreferencesMap {
|
|
1126
|
+
language: string;
|
|
1127
|
+
'i18n.index_url': string;
|
|
1128
|
+
}
|
|
1129
|
+
interface Events {
|
|
1130
|
+
'i18n/changed'(payload: {
|
|
1131
|
+
ctx: InPageEdit;
|
|
1132
|
+
language: string;
|
|
1133
|
+
}): void;
|
|
1134
|
+
}
|
|
1135
|
+
}
|
|
1136
|
+
declare class I18nService extends Service {
|
|
1137
|
+
readonly ctx: InPageEdit;
|
|
1138
|
+
private readonly logger;
|
|
1139
|
+
private _indexUrl;
|
|
1140
|
+
private _indexCache;
|
|
1141
|
+
readonly manager: I18nManager;
|
|
1142
|
+
private i18nIndexDB;
|
|
1143
|
+
private i18nDataDB;
|
|
1144
|
+
$: I18nManager['$'];
|
|
1145
|
+
$raw: I18nManager['$raw'];
|
|
1146
|
+
$$: I18nManager['$$'];
|
|
1147
|
+
$$raw: I18nManager['$$raw'];
|
|
1148
|
+
constructor(ctx: InPageEdit);
|
|
1149
|
+
protected start(): Promise<void>;
|
|
1150
|
+
private setupShortcuts;
|
|
1151
|
+
private normalizeLanguageCode;
|
|
1152
|
+
get language(): string;
|
|
1153
|
+
/**
|
|
1154
|
+
* 主动设置偏好值(会触发 preferences/changed,从而热切换)
|
|
1155
|
+
*/
|
|
1156
|
+
setLanguagePreference(value: '@user' | '@site' | string): Promise<void>;
|
|
1157
|
+
/**
|
|
1158
|
+
* 直接切换到具体语言(不修改偏好值)
|
|
1159
|
+
*/
|
|
1160
|
+
switchLanguage(language: string): Promise<void>;
|
|
1161
|
+
/**
|
|
1162
|
+
* 为指定语言注册(或合并)消息。
|
|
1163
|
+
* - 推荐加命名空间避免冲突:{ myPlugin: { key: 'value' } }
|
|
1164
|
+
* - 若 language 为当前语言,将立即可用;必要时你可以手动触发 UI 刷新或监听 i18n/changed。
|
|
1165
|
+
*/
|
|
1166
|
+
registerMessages(language: string, data: Record<string, any>, options?: {
|
|
1167
|
+
namespace?: string;
|
|
1168
|
+
}): Promise<void>;
|
|
1169
|
+
/**
|
|
1170
|
+
* 列出可用语言与文件(来源于 index.json)
|
|
1171
|
+
*/
|
|
1172
|
+
getAvailableLanguageCodes(): (I18nIndexLanguage & {
|
|
1173
|
+
code: string;
|
|
1174
|
+
})[];
|
|
1175
|
+
private findLanguageMeta;
|
|
1176
|
+
getI18nIndex(url: string, noCache?: boolean): Promise<I18nIndexV1>;
|
|
1177
|
+
private fetchI18nIndex;
|
|
1178
|
+
private ensureLanguageLoaded;
|
|
1179
|
+
getLanguageData(language: string, noCache?: boolean): Promise<Record<string, string>>;
|
|
1180
|
+
/**
|
|
1181
|
+
* 获取缺失键报告,形如:
|
|
1182
|
+
* { foo: ['zh', 'zh-hans', 'en'] }
|
|
1183
|
+
*/
|
|
1184
|
+
getMissingReport(): {
|
|
1185
|
+
[k: string]: string[];
|
|
1186
|
+
};
|
|
1187
|
+
/**
|
|
1188
|
+
* 清空缺失键记录
|
|
1189
|
+
*/
|
|
1190
|
+
clearMissingReport(): void;
|
|
1191
|
+
private onClearCache;
|
|
1192
|
+
}
|
|
1193
|
+
//#endregion
|
|
884
1194
|
//#region src/InPageEdit.d.ts
|
|
885
1195
|
interface InPageEditCoreConfig {
|
|
886
1196
|
apiConfigs: Partial<FexiosConfigs>;
|
|
@@ -913,6 +1223,8 @@ declare class InPageEdit extends Context {
|
|
|
913
1223
|
}
|
|
914
1224
|
interface PreferencesMap {}
|
|
915
1225
|
interface Events<C extends InPageEdit = InPageEdit> extends Events$1<C> {}
|
|
1226
|
+
type IPEPlugin<C = any> = Plugin<InPageEdit, C>;
|
|
1227
|
+
type IPERegistry = Registry<InPageEdit>;
|
|
916
1228
|
interface InPageEdit {
|
|
917
1229
|
[InPageEdit.events]: Events<this>;
|
|
918
1230
|
}
|
|
@@ -922,9 +1234,13 @@ declare enum Endpoints {
|
|
|
922
1234
|
ANALYTICS_API_BASE = "https://analytics.ipe.wiki/api/v6",
|
|
923
1235
|
ANALYTICS_DASH_URL = "https://analytics.ipe.wiki",
|
|
924
1236
|
GITHUB_URL = "https://github.com/inpageedit/inpageedit-next",
|
|
1237
|
+
GITHUB_OWNER = "inpageedit",
|
|
1238
|
+
GITHUB_REPO = "inpageedit-next",
|
|
925
1239
|
HOME_URL = "https://www.ipe.wiki/",
|
|
926
1240
|
UPDATE_LOGS_URL = "https://www.ipe.wiki/changelogs/",
|
|
927
1241
|
PLUGIN_REGISTRY_URL = "https://registry.ipe.wiki/registry.v1.json",
|
|
1242
|
+
I18N_INDEX_URL = "https://registry.ipe.wiki/i18n/index.json",
|
|
1243
|
+
QQ_GROUP_ID = "1026023666",
|
|
928
1244
|
}
|
|
929
1245
|
//#endregion
|
|
930
1246
|
//#region src/plugins/BasePlugin.d.ts
|
|
@@ -964,10 +1280,7 @@ type PreferenceAugmented<D, C extends AnyConstructor> = C & {
|
|
|
964
1280
|
* @RegisterPreferences(
|
|
965
1281
|
* Schema.object({
|
|
966
1282
|
* foo: Schema.string().description('Foo description'),
|
|
967
|
-
* })
|
|
968
|
-
* {
|
|
969
|
-
* foo: 'default foo value',
|
|
970
|
-
* }
|
|
1283
|
+
* })
|
|
971
1284
|
* )
|
|
972
1285
|
* class Foo {}
|
|
973
1286
|
* ```
|
|
@@ -979,9 +1292,6 @@ type PreferenceAugmented<D, C extends AnyConstructor> = C & {
|
|
|
979
1292
|
* static ConfigSchema = Schema.object({
|
|
980
1293
|
* foo: Schema.string().description('Foo description')
|
|
981
1294
|
* })
|
|
982
|
-
* static ConfigDefaults = {
|
|
983
|
-
* foo: 'default foo value'
|
|
984
|
-
* }
|
|
985
1295
|
* }
|
|
986
1296
|
* ```
|
|
987
1297
|
*/
|
|
@@ -1022,21 +1332,21 @@ declare function TabView({
|
|
|
1022
1332
|
content: ReactNode;
|
|
1023
1333
|
})[];
|
|
1024
1334
|
defaultActiveIndex?: number;
|
|
1025
|
-
}):
|
|
1335
|
+
}): jsx_dom0.ReactElement;
|
|
1026
1336
|
declare function TabLabel({
|
|
1027
1337
|
name,
|
|
1028
1338
|
children
|
|
1029
1339
|
}: {
|
|
1030
1340
|
name: string;
|
|
1031
1341
|
children: ReactNode;
|
|
1032
|
-
}):
|
|
1342
|
+
}): jsx_dom0.ReactElement;
|
|
1033
1343
|
declare function TabContent({
|
|
1034
1344
|
name,
|
|
1035
1345
|
children
|
|
1036
1346
|
}: {
|
|
1037
1347
|
name: string;
|
|
1038
1348
|
children: ReactNode;
|
|
1039
|
-
}):
|
|
1349
|
+
}): jsx_dom0.ReactElement;
|
|
1040
1350
|
//#endregion
|
|
1041
1351
|
//#region src/components/TwinSwapInput/index.d.ts
|
|
1042
1352
|
type TwinSwapInputProps = {
|
|
@@ -1081,7 +1391,7 @@ type CheckBoxProps = {
|
|
|
1081
1391
|
inputProps?: JSX.IntrinsicElements['input'];
|
|
1082
1392
|
labelProps?: JSX.IntrinsicElements['span'];
|
|
1083
1393
|
} & JSX.IntrinsicElements['label'];
|
|
1084
|
-
declare const CheckBox: (props: CheckBoxProps) =>
|
|
1394
|
+
declare const CheckBox: (props: CheckBoxProps) => jsx_dom0.ReactElement;
|
|
1085
1395
|
//#endregion
|
|
1086
1396
|
//#region src/components/InputBox.d.ts
|
|
1087
1397
|
type InputBoxProps = {
|
|
@@ -1093,7 +1403,7 @@ type InputBoxProps = {
|
|
|
1093
1403
|
labelProps?: JSX.IntrinsicElements['label'];
|
|
1094
1404
|
inputProps?: JSX.IntrinsicElements['input'];
|
|
1095
1405
|
} & JSX.IntrinsicElements['div'];
|
|
1096
|
-
declare const InputBox: (props: InputBoxProps) =>
|
|
1406
|
+
declare const InputBox: (props: InputBoxProps) => jsx_dom0.ReactElement;
|
|
1097
1407
|
//#endregion
|
|
1098
1408
|
//#region src/components/RadioBox.d.ts
|
|
1099
1409
|
type RadioBoxProps = {
|
|
@@ -1104,7 +1414,7 @@ type RadioBoxProps = {
|
|
|
1104
1414
|
inputProps?: JSX.IntrinsicElements['input'];
|
|
1105
1415
|
labelProps?: JSX.IntrinsicElements['span'];
|
|
1106
1416
|
} & JSX.IntrinsicElements['label'];
|
|
1107
|
-
declare const RadioBox: (props: RadioBoxProps) =>
|
|
1417
|
+
declare const RadioBox: (props: RadioBoxProps) => jsx_dom0.ReactElement;
|
|
1108
1418
|
//#endregion
|
|
1109
1419
|
//#region src/models/MemoryStorage.d.ts
|
|
1110
1420
|
declare class MemoryStorage implements Storage {
|
|
@@ -1278,11 +1588,11 @@ declare class PluginPluginStore extends BasePlugin {
|
|
|
1278
1588
|
private _injectPreferenceUI;
|
|
1279
1589
|
showModal(): Promise<CustomIPEModal>;
|
|
1280
1590
|
private _installedPlugins;
|
|
1281
|
-
install(registry: string, id: string, source?: PluginStoreRegistrySource): Promise<ForkScope<InPageEdit> | null>;
|
|
1591
|
+
install(registry: string, id: string, source?: PluginStoreRegistrySource): Promise<ForkScope$1<InPageEdit> | null>;
|
|
1282
1592
|
uninstall(registry: string, id: string): Promise<boolean>;
|
|
1283
1593
|
addToPreferences(registry: string, id: string): Promise<boolean>;
|
|
1284
1594
|
removeFromPreferences(registry: string, id: string): Promise<boolean>;
|
|
1285
|
-
installAndSetPreference(registry: string, id: string): Promise<ForkScope<InPageEdit> | null>;
|
|
1595
|
+
installAndSetPreference(registry: string, id: string): Promise<ForkScope$1<InPageEdit> | null>;
|
|
1286
1596
|
uninstallAndRemovePreference(registry: string, id: string): Promise<boolean>;
|
|
1287
1597
|
private _installOneByRegistryInfo;
|
|
1288
1598
|
validateRegistry(data: any): PluginStoreRegistry;
|
|
@@ -1507,7 +1817,7 @@ declare class PluginQuickEdit extends BasePlugin {
|
|
|
1507
1817
|
constructor(ctx: InPageEdit);
|
|
1508
1818
|
protected start(): Promise<void> | void;
|
|
1509
1819
|
showModal(payload?: string | Partial<QuickEditOptions>): Promise<void>;
|
|
1510
|
-
handleSubmit(payload: QuickEditSubmitPayload): Promise<Required<
|
|
1820
|
+
handleSubmit(payload: QuickEditSubmitPayload): Promise<Required<wiki_saikou0.FexiosContext<wiki_saikou0.MwApiResponse<{
|
|
1511
1821
|
success: boolean;
|
|
1512
1822
|
}>>>>;
|
|
1513
1823
|
static readonly BUILT_IN_FONT_OPTIONS: string[];
|
|
@@ -1563,7 +1873,7 @@ declare class PluginQuickMove extends BasePlugin {
|
|
|
1563
1873
|
protected start(): Promise<void> | void;
|
|
1564
1874
|
private injectToolbox;
|
|
1565
1875
|
showModal(options?: Partial<QuickMoveOptions>): Promise<CustomIPEModal>;
|
|
1566
|
-
movePage(options: MovePageOptions): Promise<Required<
|
|
1876
|
+
movePage(options: MovePageOptions): Promise<Required<wiki_saikou0.FexiosContext<wiki_saikou0.MwApiResponse<{
|
|
1567
1877
|
success: boolean;
|
|
1568
1878
|
}>>>>;
|
|
1569
1879
|
}
|
|
@@ -1644,7 +1954,7 @@ declare class PluginQuickRedirect extends BasePlugin {
|
|
|
1644
1954
|
protected start(): Promise<void> | void;
|
|
1645
1955
|
protected stop(): Promise<void> | void;
|
|
1646
1956
|
showModal(options?: Partial<QuickRedirectOptions>): Promise<CustomIPEModal>;
|
|
1647
|
-
redirectPage(options: RedirectPageOptions): Promise<Required<
|
|
1957
|
+
redirectPage(options: RedirectPageOptions): Promise<Required<wiki_saikou0.FexiosContext<wiki_saikou0.MwApiResponse<{
|
|
1648
1958
|
success: boolean;
|
|
1649
1959
|
}>>>>;
|
|
1650
1960
|
}
|
|
@@ -1658,16 +1968,16 @@ declare module '.' {
|
|
|
1658
1968
|
interface Events {
|
|
1659
1969
|
'toolbox/button-added'(payload: {
|
|
1660
1970
|
ctx: InPageEdit;
|
|
1661
|
-
|
|
1971
|
+
payload: ToolboxButton;
|
|
1662
1972
|
}): void;
|
|
1663
1973
|
'toolbox/button-removed'(payload: {
|
|
1664
1974
|
ctx: InPageEdit;
|
|
1665
|
-
|
|
1975
|
+
payload: ToolboxButton;
|
|
1666
1976
|
}): void;
|
|
1667
1977
|
'toolbox/button-clicked'(payload: {
|
|
1668
1978
|
ctx: InPageEdit;
|
|
1669
|
-
|
|
1670
|
-
|
|
1979
|
+
event: MouseEvent;
|
|
1980
|
+
payload: ToolboxButton;
|
|
1671
1981
|
}): void;
|
|
1672
1982
|
'toolbox/toggle'(payload: {
|
|
1673
1983
|
ctx: InPageEdit;
|
|
@@ -1678,9 +1988,22 @@ declare module '.' {
|
|
|
1678
1988
|
toolboxAlwaysShow: boolean;
|
|
1679
1989
|
}
|
|
1680
1990
|
}
|
|
1991
|
+
interface ToolboxButton {
|
|
1992
|
+
id: string;
|
|
1993
|
+
group?: 'auto' | 'group1' | 'group2';
|
|
1994
|
+
icon: ComputeAbleSync<string | HTMLElement | SVGElement | ReactElement>;
|
|
1995
|
+
tooltip?: ComputeAbleSync<string | HTMLElement>;
|
|
1996
|
+
itemProps?: JSX.IntrinsicElements['li'];
|
|
1997
|
+
buttonProps?: JSX.IntrinsicElements['button'];
|
|
1998
|
+
onClick?: (event: MouseEvent) => void;
|
|
1999
|
+
index?: number;
|
|
2000
|
+
}
|
|
1681
2001
|
declare class PluginToolbox extends Service {
|
|
1682
2002
|
ctx: InPageEdit;
|
|
1683
2003
|
container: HTMLElement;
|
|
2004
|
+
private buttons;
|
|
2005
|
+
private seqCounter;
|
|
2006
|
+
private seqMap;
|
|
1684
2007
|
constructor(ctx: InPageEdit);
|
|
1685
2008
|
protected start(): Promise<void>;
|
|
1686
2009
|
protected stop(): void | Promise<void>;
|
|
@@ -1699,17 +2022,13 @@ declare class PluginToolbox extends Service {
|
|
|
1699
2022
|
private updateButtonDelays;
|
|
1700
2023
|
private createToolbox;
|
|
1701
2024
|
private normalizeButtonId;
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
tooltip?: string | HTMLElement;
|
|
1707
|
-
itemProps?: JSX.IntrinsicElements['li'];
|
|
1708
|
-
buttonProps?: JSX.IntrinsicElements['button'];
|
|
1709
|
-
onClick?: (event: MouseEvent) => void;
|
|
1710
|
-
index?: number;
|
|
1711
|
-
}): HTMLElement;
|
|
2025
|
+
private chooseAutoGroup;
|
|
2026
|
+
private orderKey;
|
|
2027
|
+
private compareButtons;
|
|
2028
|
+
addButton(payload: ToolboxButton): void;
|
|
1712
2029
|
removeButton(id: string): void;
|
|
2030
|
+
private renderButton;
|
|
2031
|
+
private renderAll;
|
|
1713
2032
|
getContainer(): HTMLElement;
|
|
1714
2033
|
get isOpened(): boolean;
|
|
1715
2034
|
toggle(force?: boolean): void;
|
|
@@ -1718,7 +2037,7 @@ declare namespace index_d_exports$1 {
|
|
|
1718
2037
|
export { AbstractIPEStorageManager, ApiService, ApiServiceOptions, CurrentPageService, CustomIPEModal, InPageEditPreferenceUICategory, InPageEditPreferenceUIRegistryItem, ModalService, PreferencesService, ResourceLoaderService, StorageService, StorageServiceConfig, TypedStorageEntry, WikiLinkMetadata, WikiMetadataService, WikiPageService, WikiTitleService };
|
|
1719
2038
|
}
|
|
1720
2039
|
declare namespace index_d_exports {
|
|
1721
|
-
export { AbstractIPEStorageManager, ActionButton, ActionButtonProps, ApiService, ApiServiceOptions, BasePlugin, CheckBox, CheckBoxProps, CompareApiRequestOptions, CompareApiResponse, ContentModelMap, CurrentPageService, CustomIPEModal, Endpoints, Events, IPEBeaconPayload, IPEBeaconUsage, IWikiPage, IWikiTitle, InArticleWikiAnchorMetadata, InPageEdit, InPageEditCoreConfig, InPageEditPreferenceUICategory, InPageEditPreferenceUIRegistryItem, Inject, InputBox, InputBoxProps, MBox, MBoxElement, MBoxProps, MemoryStorage, ModalService, MovePageOptions, PageInfo, PageParseData, PluginAnalytics, PluginInArticleLinks, PluginPluginStore, PluginPreferencesUI, PluginQuickDiff, PluginQuickEdit, PluginQuickMove, PluginQuickPreview, PluginQuickRedirect, PluginStoreRegistrySource, PluginToolbox, PreferencesMap, PreferencesService, ProgressBar, QuickEditEventPayload, QuickEditOptions, QuickEditSubmitPayload, QuickMoveOptions, QuickRedirectOptions, RadioBox, RadioBoxProps, RedirectPageOptions, RegisterPreferences, ResourceLoaderService, Schema, Service, StorageService, StorageServiceConfig, TabContent, TabLabel, TabView, TabViewLabelOptions, TwinSwapElement, TwinSwapInput, TwinSwapInputInput, TwinSwapInputProps, TypedStorageEntry, WatchlistAction, WikiLinkMetadata, WikiMagicWord, WikiMetadataService, WikiNameSpaceAlias, WikiNamespace, WikiPageConstructor, WikiPageEditPayload, WikiPageService, WikiSiteGeneralInfo, WikiSiteInfo, WikiSpecialPageAlias, WikiTitleConstructor, WikiTitleService, WikiUserBlockInfo, WikiUserInfo, WikiUserOptions, createWikiPageModel, createWikiTitleModel, useMemoryStorage };
|
|
2040
|
+
export { AbstractIPEStorageManager, ActionButton, ActionButtonProps, ApiService, ApiServiceOptions, BasePlugin, CheckBox, CheckBoxProps, CompareApiRequestOptions, CompareApiResponse, ContentModelMap, CordisError, CordisSymbols, CurrentPageService, CustomIPEModal, EffectScope, Endpoints, Events, ForkScope, IPEBeaconPayload, IPEBeaconUsage, IPEPlugin, IPERegistry, IWikiPage, IWikiTitle, InArticleWikiAnchorMetadata, InPageEdit, InPageEditCoreConfig, InPageEditPreferenceUICategory, InPageEditPreferenceUIRegistryItem, Inject, InputBox, InputBoxProps, Lifecycle, MBox, MBoxElement, MBoxProps, MainScope, MemoryStorage, ModalService, MovePageOptions, PageInfo, PageParseData, PluginAnalytics, PluginInArticleLinks, PluginPluginStore, PluginPreferencesUI, PluginQuickDiff, PluginQuickEdit, PluginQuickMove, PluginQuickPreview, PluginQuickRedirect, PluginStoreRegistrySource, PluginToolbox, PreferencesMap, PreferencesService, ProgressBar, QuickEditEventPayload, QuickEditOptions, QuickEditSubmitPayload, QuickMoveOptions, QuickRedirectOptions, RadioBox, RadioBoxProps, RedirectPageOptions, RegisterPreferences, ResourceLoaderService, Schema, ScopeStatus, Service, StorageService, StorageServiceConfig, TabContent, TabLabel, TabView, TabViewLabelOptions, TwinSwapElement, TwinSwapInput, TwinSwapInputInput, TwinSwapInputProps, TypedStorageEntry, WatchlistAction, WikiLinkMetadata, WikiMagicWord, WikiMetadataService, WikiNameSpaceAlias, WikiNamespace, WikiPageConstructor, WikiPageEditPayload, WikiPageService, WikiSiteGeneralInfo, WikiSiteInfo, WikiSpecialPageAlias, WikiTitleConstructor, WikiTitleService, WikiUserBlockInfo, WikiUserInfo, WikiUserOptions, createWikiPageModel, createWikiTitleModel, useMemoryStorage };
|
|
1722
2041
|
}
|
|
1723
2042
|
declare global {
|
|
1724
2043
|
const ipe: InPageEdit;
|
|
@@ -1754,4 +2073,4 @@ declare global {
|
|
|
1754
2073
|
}
|
|
1755
2074
|
}
|
|
1756
2075
|
//#endregion
|
|
1757
|
-
export { AbstractIPEStorageManager, ActionButton, ActionButtonProps, ApiService, ApiServiceOptions, BasePlugin, CheckBox, CheckBoxProps, CompareApiRequestOptions, CompareApiResponse, ContentModelMap, CurrentPageService, CustomIPEModal, Endpoints, Events, IPEBeaconPayload, IPEBeaconUsage, IWikiPage, IWikiTitle, InArticleWikiAnchorMetadata, InPageEdit, InPageEditCoreConfig, InPageEditPreferenceUICategory, InPageEditPreferenceUIRegistryItem, Inject, InputBox, InputBoxProps, MBox, MBoxElement, MBoxProps, MemoryStorage, ModalService, MovePageOptions, PageInfo, PageParseData, PluginAnalytics, PluginInArticleLinks, PluginPluginStore, PluginPreferencesUI, PluginQuickDiff, PluginQuickEdit, PluginQuickMove, PluginQuickPreview, PluginQuickRedirect, PluginStoreRegistrySource, PluginToolbox, PreferencesMap, PreferencesService, ProgressBar, QuickEditEventPayload, QuickEditOptions, QuickEditSubmitPayload, QuickMoveOptions, QuickRedirectOptions, RadioBox, RadioBoxProps, RedirectPageOptions, RegisterPreferences, ResourceLoaderService, Schema, Service, StorageService, StorageServiceConfig, TabContent, TabLabel, TabView, TabViewLabelOptions, TwinSwapElement, TwinSwapInput, TwinSwapInputInput, TwinSwapInputProps, TypedStorageEntry, WatchlistAction, WikiLinkMetadata, WikiMagicWord, WikiMetadataService, WikiNameSpaceAlias, WikiNamespace, WikiPageConstructor, WikiPageEditPayload, WikiPageService, WikiSiteGeneralInfo, WikiSiteInfo, WikiSpecialPageAlias, WikiTitleConstructor, WikiTitleService, WikiUserBlockInfo, WikiUserInfo, WikiUserOptions, createWikiPageModel, createWikiTitleModel, useMemoryStorage };
|
|
2076
|
+
export { AbstractIPEStorageManager, ActionButton, ActionButtonProps, ApiService, ApiServiceOptions, BasePlugin, CheckBox, CheckBoxProps, CompareApiRequestOptions, CompareApiResponse, ContentModelMap, CordisError, CordisSymbols, CurrentPageService, CustomIPEModal, EffectScope, Endpoints, Events, ForkScope, IPEBeaconPayload, IPEBeaconUsage, IPEPlugin, IPERegistry, IWikiPage, IWikiTitle, InArticleWikiAnchorMetadata, InPageEdit, InPageEditCoreConfig, InPageEditPreferenceUICategory, InPageEditPreferenceUIRegistryItem, Inject, InputBox, InputBoxProps, Lifecycle, MBox, MBoxElement, MBoxProps, MainScope, MemoryStorage, ModalService, MovePageOptions, PageInfo, PageParseData, PluginAnalytics, PluginInArticleLinks, PluginPluginStore, PluginPreferencesUI, PluginQuickDiff, PluginQuickEdit, PluginQuickMove, PluginQuickPreview, PluginQuickRedirect, PluginStoreRegistrySource, PluginToolbox, PreferencesMap, PreferencesService, ProgressBar, QuickEditEventPayload, QuickEditOptions, QuickEditSubmitPayload, QuickMoveOptions, QuickRedirectOptions, RadioBox, RadioBoxProps, RedirectPageOptions, RegisterPreferences, ResourceLoaderService, Schema, ScopeStatus, Service, StorageService, StorageServiceConfig, TabContent, TabLabel, TabView, TabViewLabelOptions, TwinSwapElement, TwinSwapInput, TwinSwapInputInput, TwinSwapInputProps, TypedStorageEntry, WatchlistAction, WikiLinkMetadata, WikiMagicWord, WikiMetadataService, WikiNameSpaceAlias, WikiNamespace, WikiPageConstructor, WikiPageEditPayload, WikiPageService, WikiSiteGeneralInfo, WikiSiteInfo, WikiSpecialPageAlias, WikiTitleConstructor, WikiTitleService, WikiUserBlockInfo, WikiUserInfo, WikiUserOptions, createWikiPageModel, createWikiTitleModel, useMemoryStorage };
|