bc-deeplib 1.2.0 → 2.1.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/deeplib.d.ts +145 -100
- package/dist/deeplib.js +412 -278
- package/dist/deeplib.js.map +2 -2
- package/dist/public/dl_images/arrow_left.svg +9 -1
- package/dist/public/dl_images/arrow_right.svg +9 -1
- package/dist/public/dl_images/bookmark.svg +17 -0
- package/dist/public/dl_images/bug.svg +9 -1
- package/dist/public/dl_images/exit.svg +12 -1
- package/dist/public/dl_images/notebook.svg +10 -1
- package/dist/public/dl_images/transfer.svg +9 -1
- package/dist/public/dl_images/trash_bin.svg +18 -1
- package/dist/public/dl_translations/en.lang +6 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/vendored_types/utility.d.ts +3 -0
- package/package.json +11 -11
package/dist/deeplib.d.ts
CHANGED
|
@@ -85,22 +85,70 @@ declare module 'bc-deeplib/base/base_subscreen' {
|
|
|
85
85
|
import { BaseModule, BaseSettingsModel } from 'bc-deeplib/deeplib';
|
|
86
86
|
import { SettingElement } from 'bc-deeplib/base/elements_typings';
|
|
87
87
|
/** Optional configuration flags for a `BaseSubscreen` instance. */
|
|
88
|
-
type SubscreenOptions = {
|
|
88
|
+
export type SubscreenOptions = {
|
|
89
89
|
/**
|
|
90
90
|
* If `true`, the subscreen will draw the player's character model
|
|
91
91
|
* in the UI when `run()` is called.
|
|
92
92
|
* Also shift the UI to the right to make room for the character.
|
|
93
93
|
*/
|
|
94
94
|
drawCharacter?: boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Logical name of this subscreen.
|
|
97
|
+
* Used for localization key resolution in `load()`.
|
|
98
|
+
* Subclasses should override this with a meaningful identifier.
|
|
99
|
+
*/
|
|
100
|
+
name: string;
|
|
101
|
+
/**
|
|
102
|
+
* Path to or Base64 data for an icon representing this subscreen.
|
|
103
|
+
* Defaults to empty string (no icon).
|
|
104
|
+
*/
|
|
105
|
+
icon?: string;
|
|
106
|
+
/**
|
|
107
|
+
* An optional help button to open a subscreen or URL or run a function when clicked.
|
|
108
|
+
*/
|
|
109
|
+
help?: {
|
|
110
|
+
/** A URL or BaseSubscreen to open or a function to run when the help button is clicked */
|
|
111
|
+
onClick: URL | string | BaseSubscreen | (() => void);
|
|
112
|
+
/** A tooltip to display when the help button is hovered over */
|
|
113
|
+
tooltip?: string;
|
|
114
|
+
/** An icon to display on the help button */
|
|
115
|
+
icon?: string;
|
|
116
|
+
};
|
|
117
|
+
/**
|
|
118
|
+
* Screen to return to when exiting this subscreen.
|
|
119
|
+
* If not configured, the default is the main menu for all screens, but main menu itself.
|
|
120
|
+
* For main menu, the default is the Extensions menu
|
|
121
|
+
*/
|
|
122
|
+
returnScreen?: (() => ScreenSpecifier | BaseSubscreen) | ScreenSpecifier | BaseSubscreen;
|
|
123
|
+
/**
|
|
124
|
+
* The background image for this subscreen.
|
|
125
|
+
* Currently supports only images from the Club.
|
|
126
|
+
*/
|
|
127
|
+
background?: string;
|
|
128
|
+
/**
|
|
129
|
+
* If `true`, the exit button will be shown on the subscreen.
|
|
130
|
+
* Defaults to `true`.
|
|
131
|
+
*/
|
|
132
|
+
doShowExitButton?: boolean;
|
|
133
|
+
/**
|
|
134
|
+
* If `true`, the title will be shown on the subscreen.
|
|
135
|
+
* Defaults to `true`.
|
|
136
|
+
*/
|
|
137
|
+
doShowTitle?: boolean;
|
|
138
|
+
/**
|
|
139
|
+
* The width of the settings div in canvas pixels.
|
|
140
|
+
* Defaults to 1000.
|
|
141
|
+
*/
|
|
142
|
+
settingsWidth?: number;
|
|
95
143
|
};
|
|
96
144
|
/**
|
|
97
145
|
* Represents a constructor type for a subscreen.
|
|
98
146
|
* Allows dynamic instantiation of subscreen classes with optional
|
|
99
147
|
* configuration options and a parent module reference.
|
|
100
148
|
*/
|
|
101
|
-
export type Subscreen = new (
|
|
149
|
+
export type Subscreen = new (module?: BaseModule) => BaseSubscreen;
|
|
102
150
|
/** Switches the active subscreen in the global `GUI` instance. */
|
|
103
|
-
export function setSubscreen(subscreen: BaseSubscreen | string | null):
|
|
151
|
+
export function setSubscreen(subscreen: BaseSubscreen | string | null): Promise<void>;
|
|
104
152
|
/**
|
|
105
153
|
* Abstract base class for creating settings/configuration subscreens in a module.
|
|
106
154
|
*
|
|
@@ -126,20 +174,13 @@ declare module 'bc-deeplib/base/base_subscreen' {
|
|
|
126
174
|
readonly options: SubscreenOptions;
|
|
127
175
|
/** Reference to the module this subscreen belongs to. */
|
|
128
176
|
readonly module: BaseModule;
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
*/
|
|
135
|
-
get name(): string;
|
|
136
|
-
/**
|
|
137
|
-
* Path to or Base64 data for an icon representing this subscreen.
|
|
138
|
-
* Defaults to empty string (no icon).
|
|
139
|
-
*/
|
|
140
|
-
get icon(): string;
|
|
177
|
+
/** Identifier for internal use to avoid screen name collisions. */
|
|
178
|
+
static readonly id: string;
|
|
179
|
+
/** Optional configuration flags for a BaseSubscreen instance. */
|
|
180
|
+
protected static readonly subscreenOptions: SubscreenOptions;
|
|
181
|
+
constructor(module?: BaseModule);
|
|
141
182
|
/** Changes the currently active subscreen. */
|
|
142
|
-
setSubscreen(screen: BaseSubscreen | string | null):
|
|
183
|
+
setSubscreen(screen: BaseSubscreen | string | null): Promise<void>;
|
|
143
184
|
/** Gets this subscreen's settings object from its parent module. */
|
|
144
185
|
get settings(): BaseSettingsModel;
|
|
145
186
|
/** Updates this subscreen's settings in its parent module. */
|
|
@@ -196,7 +237,7 @@ declare module 'bc-deeplib/base/base_subscreen' {
|
|
|
196
237
|
* Called when the window is resized.
|
|
197
238
|
* Also checks for overflow in the settings div and applies styling accordingly.
|
|
198
239
|
*/
|
|
199
|
-
resize(
|
|
240
|
+
resize(_onLoad?: boolean): void;
|
|
200
241
|
/**
|
|
201
242
|
* Called when this subscreen is being removed.
|
|
202
243
|
* Resets the static element registry and removes the subscreen from the layout.
|
|
@@ -204,50 +245,64 @@ declare module 'bc-deeplib/base/base_subscreen' {
|
|
|
204
245
|
*/
|
|
205
246
|
unload(): void;
|
|
206
247
|
}
|
|
207
|
-
export {};
|
|
208
248
|
|
|
209
249
|
}
|
|
210
250
|
declare module 'bc-deeplib/base/elements_typings' {
|
|
211
|
-
export type SettingElement = Button | Checkbox | Input | Label | Custom;
|
|
251
|
+
export type SettingElement = Button | Checkbox | Input | Label | Dropdown | Custom;
|
|
212
252
|
export type BaseElementModel = {
|
|
213
253
|
id: string;
|
|
214
254
|
size?: [width: number | null, height: number | null] | (() => [width: number | null, height: number | null]);
|
|
215
255
|
position?: [x: number, y: number] | (() => [x: number, y: number]);
|
|
216
256
|
disabled?: boolean | (() => boolean);
|
|
217
257
|
};
|
|
218
|
-
export type Button =
|
|
258
|
+
export type Button = Prettify<{
|
|
219
259
|
id: Parameters<typeof ElementButton.Create>[0];
|
|
220
260
|
type: 'button';
|
|
221
261
|
onClick?: Parameters<typeof ElementButton.Create>[1];
|
|
222
262
|
options?: Parameters<typeof ElementButton.Create>[2];
|
|
223
263
|
htmlOptions?: Parameters<typeof ElementButton.Create>[3];
|
|
224
|
-
}
|
|
225
|
-
export type Checkbox =
|
|
264
|
+
} & Omit<BaseElementModel, 'id'>>;
|
|
265
|
+
export type Checkbox = Prettify<{
|
|
226
266
|
type: 'checkbox';
|
|
227
267
|
label?: string;
|
|
228
268
|
description?: string;
|
|
229
269
|
setElementValue?: () => boolean;
|
|
230
270
|
setSettingValue?: (val: boolean) => void;
|
|
231
|
-
htmlOptions?: Omit<HTMLOptions<any>, 'tag'
|
|
232
|
-
}
|
|
233
|
-
export type Input =
|
|
271
|
+
htmlOptions?: Partial<Record<'container' | 'checkbox' | 'label', Omit<HTMLOptions<any>, 'tag'>>> | null | undefined;
|
|
272
|
+
} & BaseElementModel>;
|
|
273
|
+
export type Input = Prettify<{
|
|
234
274
|
type: 'text' | 'number' | 'color';
|
|
235
275
|
label?: string;
|
|
236
276
|
description?: string;
|
|
237
277
|
setElementValue?: () => string;
|
|
238
278
|
setSettingValue?: (val: string) => void;
|
|
239
|
-
htmlOptions?: Omit<HTMLOptions<any>, 'tag'
|
|
240
|
-
}
|
|
241
|
-
export type
|
|
279
|
+
htmlOptions?: Partial<Record<'container' | 'input' | 'label', Omit<HTMLOptions<any>, 'tag'>>> | null | undefined;
|
|
280
|
+
} & BaseElementModel>;
|
|
281
|
+
export type Dropdown = Prettify<{
|
|
282
|
+
id: Parameters<typeof ElementCreateDropdown>[0];
|
|
283
|
+
type: 'dropdown';
|
|
284
|
+
label?: string;
|
|
285
|
+
description?: string;
|
|
286
|
+
optionsList: Parameters<typeof ElementCreateDropdown>[1];
|
|
287
|
+
setElementValue?: () => string;
|
|
288
|
+
setSettingValue?: (val: string) => void;
|
|
289
|
+
options?: Parameters<typeof ElementCreateDropdown>[3];
|
|
290
|
+
htmlOptions?: {
|
|
291
|
+
container?: Partial<Omit<HTMLOptions<any>, 'tag'>>;
|
|
292
|
+
select?: Parameters<typeof ElementCreateDropdown>[4];
|
|
293
|
+
label?: Partial<Omit<HTMLOptions<'label'>, 'tag'>>;
|
|
294
|
+
};
|
|
295
|
+
} & Omit<BaseElementModel, 'id' | 'disabled'>>;
|
|
296
|
+
export type Label = Prettify<{
|
|
242
297
|
type: 'label';
|
|
243
298
|
label?: string;
|
|
244
299
|
description?: string;
|
|
245
300
|
htmlOptions?: Omit<HTMLOptions<any>, 'tag'>;
|
|
246
|
-
}
|
|
247
|
-
export type Custom =
|
|
301
|
+
} & BaseElementModel>;
|
|
302
|
+
export type Custom = Prettify<{
|
|
248
303
|
type: 'custom';
|
|
249
304
|
htmlOptions: HTMLOptions<keyof HTMLElementTagNameMap>;
|
|
250
|
-
}
|
|
305
|
+
} & BaseElementModel>;
|
|
251
306
|
|
|
252
307
|
}
|
|
253
308
|
declare module 'bc-deeplib/base/initialization' {
|
|
@@ -306,20 +361,6 @@ declare module 'bc-deeplib/base/initialization' {
|
|
|
306
361
|
* - Delaying initialization until login (if necessary)
|
|
307
362
|
*/
|
|
308
363
|
export function initMod(options: InitOptions): void;
|
|
309
|
-
/**
|
|
310
|
-
* Fully initializes the mod after login.
|
|
311
|
-
* Handles:
|
|
312
|
-
* - Preventing double-load
|
|
313
|
-
* - Loading mod data
|
|
314
|
-
* - Initializing localization
|
|
315
|
-
* - Registering modules and migrators
|
|
316
|
-
* - Running optional init functions
|
|
317
|
-
* - Applying main menu changes
|
|
318
|
-
* - Merging default settings into module settings
|
|
319
|
-
*
|
|
320
|
-
* @param options {InitOptions} Configuration for mod initialization.
|
|
321
|
-
*/
|
|
322
|
-
export function init(options: InitOptions): Promise<void>;
|
|
323
364
|
/**
|
|
324
365
|
* Cleans up and removes the mod from memory.
|
|
325
366
|
* Calls `unload()` on all modules and removes the global loaded flag.
|
|
@@ -391,6 +432,7 @@ declare module 'bc-deeplib/base/modules' {
|
|
|
391
432
|
declare module 'bc-deeplib/deeplib' {
|
|
392
433
|
export * from 'bc-deeplib/base/base_module';
|
|
393
434
|
export * from 'bc-deeplib/base/base_subscreen';
|
|
435
|
+
export * from 'bc-deeplib/base/elements_typings';
|
|
394
436
|
export * from 'bc-deeplib/base/initialization';
|
|
395
437
|
export * from 'bc-deeplib/base/modules';
|
|
396
438
|
export * from 'bc-deeplib/migrators/base_migrator';
|
|
@@ -420,13 +462,13 @@ declare module 'bc-deeplib/migrators/base_migrator' {
|
|
|
420
462
|
*
|
|
421
463
|
* A migrator is responsible for upgrading or transforming stored data
|
|
422
464
|
* when the mod version changes. Each migrator targets a specific version
|
|
423
|
-
* and executes its {@link
|
|
465
|
+
* and executes its {@link migrate} method once when needed.
|
|
424
466
|
*
|
|
425
467
|
* @remarks
|
|
426
468
|
* To create a new migrator:
|
|
427
469
|
* 1. Extend `BaseMigrator`.
|
|
428
|
-
* 2. Implement the {@link
|
|
429
|
-
* 3. Implement {@link
|
|
470
|
+
* 2. Implement the {@link migrationVersion} getter to return the target version string.
|
|
471
|
+
* 3. Implement {@link migrate} with the migration logic (e.g., data structure changes).
|
|
430
472
|
*/
|
|
431
473
|
export abstract class BaseMigrator {
|
|
432
474
|
/**
|
|
@@ -436,17 +478,17 @@ declare module 'bc-deeplib/migrators/base_migrator' {
|
|
|
436
478
|
* - This should exactly match the version format used by the mod
|
|
437
479
|
* - Used by the migration system to determine if this migration should be executed.
|
|
438
480
|
*/
|
|
439
|
-
abstract get
|
|
481
|
+
abstract get migrationVersion(): string;
|
|
440
482
|
/**
|
|
441
483
|
* Executes the migration logic for this version.
|
|
442
484
|
*
|
|
443
485
|
* @remarks
|
|
444
|
-
* - Called once when upgrading from a version earlier than {@link
|
|
486
|
+
* - Called once when upgrading from a version earlier than {@link migrationVersion}.
|
|
445
487
|
* - Should handle any necessary data transformations, cleanup, or initialization
|
|
446
488
|
* to bring the mod's state up to date with the new version.
|
|
447
489
|
* - Must be idempotent — running it multiple times should not cause data corruption.
|
|
448
490
|
*/
|
|
449
|
-
abstract
|
|
491
|
+
abstract migrate(): void;
|
|
450
492
|
}
|
|
451
493
|
|
|
452
494
|
}
|
|
@@ -475,22 +517,26 @@ declare module 'bc-deeplib/models/settings' {
|
|
|
475
517
|
declare module 'bc-deeplib/modules/gui' {
|
|
476
518
|
import { BaseModule, BaseSubscreen, MainMenu } from 'bc-deeplib/deeplib';
|
|
477
519
|
/** Options for configuring a mod's main button in the extensions menu. */
|
|
478
|
-
type
|
|
520
|
+
type GuiOptions = {
|
|
479
521
|
/**
|
|
480
522
|
* Unique identifier for the mod's settings button.
|
|
481
523
|
* Used internally by the preference system to track the button.
|
|
482
524
|
*/
|
|
483
|
-
|
|
525
|
+
identifier: string;
|
|
484
526
|
/**
|
|
485
527
|
* The label displayed on the settings button.
|
|
486
528
|
* Can be a string or a function that returns a string dynamically.
|
|
487
529
|
*/
|
|
488
|
-
|
|
530
|
+
buttonText: string | (() => string);
|
|
489
531
|
/**
|
|
490
532
|
* The path to or Base64 data of the icon for the settings button.
|
|
491
533
|
* Can be a string or a function that returns a string dynamically.
|
|
492
534
|
*/
|
|
493
|
-
|
|
535
|
+
image: string | (() => string);
|
|
536
|
+
/**
|
|
537
|
+
* The main menu screen for the mod.
|
|
538
|
+
*/
|
|
539
|
+
mainMenu?: typeof MainMenu;
|
|
494
540
|
};
|
|
495
541
|
/**
|
|
496
542
|
* Central mod GUI controller that manages all subscreens.
|
|
@@ -507,29 +553,18 @@ declare module 'bc-deeplib/modules/gui' {
|
|
|
507
553
|
private _subscreens;
|
|
508
554
|
/** The mod's main menu screen. */
|
|
509
555
|
private _mainMenu;
|
|
510
|
-
/** The currently active subscreen, or `null` if none is active. */
|
|
511
|
-
private _currentSubscreen;
|
|
512
556
|
/** Options defining how the mod's settings button is displayed and behaves. */
|
|
513
557
|
private _modButtonOptions;
|
|
514
558
|
/** Returns all registered subscreens. */
|
|
515
559
|
get subscreens(): BaseSubscreen[];
|
|
516
560
|
/** Returns the main menu subscreen instance. */
|
|
517
561
|
get mainMenu(): MainMenu;
|
|
518
|
-
/** Returns the currently active subscreen. */
|
|
519
|
-
get currentSubscreen(): BaseSubscreen | null;
|
|
520
|
-
/**
|
|
521
|
-
* Sets the current subscreen.
|
|
522
|
-
* Accepts either a `BaseSubscreen` instance or the `name` of a subscreen.
|
|
523
|
-
*
|
|
524
|
-
* @throws If a string is provided but no subscreen with that name exists.
|
|
525
|
-
*/
|
|
526
|
-
set currentSubscreen(subscreen: BaseSubscreen | string | null);
|
|
527
562
|
/**
|
|
528
563
|
* Creates the GUI instance and initializes the main menu.
|
|
529
564
|
*
|
|
530
565
|
* @throws If another `GUI` instance already exists.
|
|
531
566
|
*/
|
|
532
|
-
constructor(
|
|
567
|
+
constructor(guiOptions?: GuiOptions | null);
|
|
533
568
|
/**
|
|
534
569
|
* Loads the GUI and registers the mod's settings button in the extensions menu.
|
|
535
570
|
*
|
|
@@ -544,6 +579,13 @@ declare module 'bc-deeplib/modules/gui' {
|
|
|
544
579
|
}
|
|
545
580
|
declare module 'bc-deeplib/modules/version' {
|
|
546
581
|
import { BaseMigrator, BaseModule } from 'bc-deeplib/deeplib';
|
|
582
|
+
export type VersionModuleOptions = {
|
|
583
|
+
newVersionMessage?: string;
|
|
584
|
+
beforeEach?: () => void;
|
|
585
|
+
afterEach?: () => void;
|
|
586
|
+
beforeAll?: () => void;
|
|
587
|
+
afterAll?: () => void;
|
|
588
|
+
};
|
|
547
589
|
/**
|
|
548
590
|
* Handles version tracking, new version detection, and version-based migrations
|
|
549
591
|
* for the mod. Also manages displaying a "new version" message to players and
|
|
@@ -559,11 +601,20 @@ declare module 'bc-deeplib/modules/version' {
|
|
|
559
601
|
/** Whether the current session is running a new version compared to stored data */
|
|
560
602
|
private static isItNewVersion;
|
|
561
603
|
/** The current mod version (retrieved from `ModSdkManager.ModInfo.version`) */
|
|
562
|
-
static
|
|
604
|
+
private static version;
|
|
563
605
|
/** Message to display when a new version is detected */
|
|
564
|
-
static
|
|
606
|
+
private static newVersionMessage?;
|
|
565
607
|
/** List of registered migration handlers, sorted by version */
|
|
566
|
-
private static
|
|
608
|
+
private static migrators;
|
|
609
|
+
/** Optional lifecycle hook. Runs before each migration */
|
|
610
|
+
private static beforeEach?;
|
|
611
|
+
/** Optional lifecycle hook. Runs after each migration */
|
|
612
|
+
private static afterEach?;
|
|
613
|
+
/** Optional lifecycle hook. Runs before all migrations */
|
|
614
|
+
private static beforeAll?;
|
|
615
|
+
/** Optional lifecycle hook. Runs after all migrations */
|
|
616
|
+
private static afterAll?;
|
|
617
|
+
constructor(options: VersionModuleOptions);
|
|
567
618
|
/**
|
|
568
619
|
* Initializes the module on load:
|
|
569
620
|
* - Stores the current mod version.
|
|
@@ -578,7 +629,7 @@ declare module 'bc-deeplib/modules/version' {
|
|
|
578
629
|
* - Updates stored version in player data.
|
|
579
630
|
* - Saves `modStorage`.
|
|
580
631
|
*/
|
|
581
|
-
static checkVersionUpdate
|
|
632
|
+
private static checkVersionUpdate;
|
|
582
633
|
/**
|
|
583
634
|
* Executes migrations for all registered migrators whose `MigrationVersion`
|
|
584
635
|
* is newer than the previously stored version.
|
|
@@ -589,8 +640,6 @@ declare module 'bc-deeplib/modules/version' {
|
|
|
589
640
|
* Migrators are sorted by their `MigrationVersion` in ascending order.
|
|
590
641
|
*/
|
|
591
642
|
static registerMigrator(migrator: BaseMigrator): void;
|
|
592
|
-
/** Sets the message that will be displayed when a new version is detected. */
|
|
593
|
-
static setNewVersionMessage(newVersionMessage: string): void;
|
|
594
643
|
/** Sends the currently configured "new version" message to the local player. */
|
|
595
644
|
static sendNewVersionMessage(): void;
|
|
596
645
|
/**
|
|
@@ -608,15 +657,15 @@ declare module 'bc-deeplib/modules/version' {
|
|
|
608
657
|
}
|
|
609
658
|
declare module 'bc-deeplib/screens/debug' {
|
|
610
659
|
import { SettingElement } from 'bc-deeplib/base/elements_typings';
|
|
611
|
-
import { BaseSubscreen } from 'bc-deeplib/deeplib';
|
|
660
|
+
import { BaseSubscreen, SubscreenOptions } from 'bc-deeplib/deeplib';
|
|
612
661
|
export class GuiDebug extends BaseSubscreen {
|
|
613
|
-
|
|
662
|
+
protected static subscreenOptions: SubscreenOptions;
|
|
614
663
|
get pageStructure(): SettingElement[][];
|
|
615
664
|
}
|
|
616
665
|
|
|
617
666
|
}
|
|
618
667
|
declare module 'bc-deeplib/screens/import_export' {
|
|
619
|
-
import { BaseSubscreen } from 'bc-deeplib/deeplib';
|
|
668
|
+
import { BaseSubscreen, SubscreenOptions } from 'bc-deeplib/deeplib';
|
|
620
669
|
/**
|
|
621
670
|
* Configuration options for the {@link GuiImportExport} class.
|
|
622
671
|
*/
|
|
@@ -643,7 +692,7 @@ declare module 'bc-deeplib/screens/import_export' {
|
|
|
643
692
|
*/
|
|
644
693
|
export class GuiImportExport extends BaseSubscreen {
|
|
645
694
|
private importExportOptions;
|
|
646
|
-
|
|
695
|
+
static subscreenOptions: SubscreenOptions;
|
|
647
696
|
constructor(importExportOptions: ImportExportOptions);
|
|
648
697
|
load(): void;
|
|
649
698
|
resize(): void;
|
|
@@ -664,7 +713,7 @@ declare module 'bc-deeplib/screens/import_export' {
|
|
|
664
713
|
|
|
665
714
|
}
|
|
666
715
|
declare module 'bc-deeplib/screens/main_menu' {
|
|
667
|
-
import { BaseSubscreen, GUI } from 'bc-deeplib/deeplib';
|
|
716
|
+
import { BaseSubscreen, GUI, SubscreenOptions } from 'bc-deeplib/deeplib';
|
|
668
717
|
import { GuiImportExport } from 'bc-deeplib/screens/import_export';
|
|
669
718
|
/**
|
|
670
719
|
* Configuration options for the main menu.
|
|
@@ -699,7 +748,7 @@ declare module 'bc-deeplib/screens/main_menu' {
|
|
|
699
748
|
export class MainMenu extends BaseSubscreen {
|
|
700
749
|
subscreens: BaseSubscreen[];
|
|
701
750
|
private static options;
|
|
702
|
-
|
|
751
|
+
protected static subscreenOptions: SubscreenOptions;
|
|
703
752
|
constructor(module: GUI);
|
|
704
753
|
load(): void;
|
|
705
754
|
run(): void;
|
|
@@ -712,12 +761,12 @@ declare module 'bc-deeplib/screens/main_menu' {
|
|
|
712
761
|
}
|
|
713
762
|
declare module 'bc-deeplib/utilities/common' {
|
|
714
763
|
/**
|
|
715
|
-
* Deeply merges
|
|
716
|
-
* -
|
|
717
|
-
* -
|
|
718
|
-
* -
|
|
764
|
+
* Deeply merges two values into a new value.
|
|
765
|
+
* - Arrays are concatenated.
|
|
766
|
+
* - Plain objects are merged recursively.
|
|
767
|
+
* - Other values are replaced by `source`.
|
|
719
768
|
*/
|
|
720
|
-
export function deepMerge(target:
|
|
769
|
+
export function deepMerge<T, U>(target: T, source: U): T & U;
|
|
721
770
|
/**
|
|
722
771
|
* Returns a new array with elements of the input array shuffled.
|
|
723
772
|
* Uses something-something shuffle algorithm by splicing from a cloned array.
|
|
@@ -778,7 +827,7 @@ declare module 'bc-deeplib/utilities/data' {
|
|
|
778
827
|
|
|
779
828
|
}
|
|
780
829
|
declare module 'bc-deeplib/utilities/elements/elements' {
|
|
781
|
-
import { Button, Checkbox, Custom, Input, Label } from 'bc-deeplib/base/elements_typings';
|
|
830
|
+
import { Button, Checkbox, Custom, Dropdown, Input, Label } from 'bc-deeplib/base/elements_typings';
|
|
782
831
|
/**
|
|
783
832
|
* Collection of element creation utilities.
|
|
784
833
|
* Provides convenience wrappers for generating commonly used UI elements.
|
|
@@ -789,6 +838,7 @@ declare module 'bc-deeplib/utilities/elements/elements' {
|
|
|
789
838
|
createInput: typeof elementCreateInput;
|
|
790
839
|
createLabel: typeof elementCreateLabel;
|
|
791
840
|
createCustom: typeof elementCreateCustom;
|
|
841
|
+
createDropdown: typeof elementCreateDropdown;
|
|
792
842
|
createTooltip: typeof elementCreateTooltip;
|
|
793
843
|
getTooltip: typeof elementGetTooltip;
|
|
794
844
|
setTooltip: typeof elementSetTooltip;
|
|
@@ -799,6 +849,7 @@ declare module 'bc-deeplib/utilities/elements/elements' {
|
|
|
799
849
|
function elementCreateCustom(options: Omit<Custom, 'type'>): HTMLElement;
|
|
800
850
|
function elementCreateInput(options: Input): HTMLElement;
|
|
801
851
|
function elementCreateLabel(options: Omit<Label, 'type'>): HTMLElement;
|
|
852
|
+
function elementCreateDropdown(options: Omit<Dropdown, 'type'>): HTMLDivElement;
|
|
802
853
|
function elementCreateTooltip(): HTMLDivElement;
|
|
803
854
|
function elementGetTooltip(): HTMLElement | undefined;
|
|
804
855
|
function elementSetTooltip(text: string): boolean;
|
|
@@ -954,31 +1005,25 @@ declare module 'bc-deeplib/utilities/elements/helpers' {
|
|
|
954
1005
|
}
|
|
955
1006
|
declare module 'bc-deeplib/utilities/elements/layout' {
|
|
956
1007
|
export const layout: {
|
|
957
|
-
createSubscreen: typeof elementCreateSubscreenDiv;
|
|
958
1008
|
getSubscreen: typeof elementGetSubscreenDiv;
|
|
959
1009
|
appendToSubscreen: typeof elementAppendToSubscreenDiv;
|
|
960
1010
|
removeSubscreen: typeof elementRemoveSubscreenDiv;
|
|
961
|
-
createSettingsDiv: typeof elementCreateSettingsDiv;
|
|
962
1011
|
getSettingsDiv: typeof elementGetSettingsDiv;
|
|
963
1012
|
appendToSettingsDiv: typeof elementAppendToSettingsDiv;
|
|
964
1013
|
removeSettingsDiv: typeof elementRemoveSettingsDiv;
|
|
965
|
-
createMiscDiv: typeof elementCreateMiscDiv;
|
|
966
1014
|
getMiscDiv: typeof elementGetMiscDiv;
|
|
967
1015
|
appendToMiscDiv: typeof elementAppendToMiscDiv;
|
|
968
1016
|
removeMiscDiv: typeof elementRemoveMiscDiv;
|
|
969
1017
|
};
|
|
970
|
-
function
|
|
971
|
-
function
|
|
972
|
-
function
|
|
973
|
-
function
|
|
974
|
-
function
|
|
975
|
-
function
|
|
976
|
-
function
|
|
977
|
-
function
|
|
978
|
-
function
|
|
979
|
-
function elementGetMiscDiv(): HTMLElement | null;
|
|
980
|
-
function elementAppendToMiscDiv(...element: HTMLElement[]): void | undefined;
|
|
981
|
-
function elementRemoveMiscDiv(): void | undefined;
|
|
1018
|
+
function elementGetSubscreenDiv(): HTMLElement;
|
|
1019
|
+
function elementRemoveSubscreenDiv(): void;
|
|
1020
|
+
function elementAppendToSubscreenDiv(...element: HTMLElement[]): void;
|
|
1021
|
+
function elementGetSettingsDiv(): HTMLElement;
|
|
1022
|
+
function elementAppendToSettingsDiv(...element: HTMLElement[]): void;
|
|
1023
|
+
function elementRemoveSettingsDiv(): void;
|
|
1024
|
+
function elementGetMiscDiv(): HTMLElement;
|
|
1025
|
+
function elementAppendToMiscDiv(...element: HTMLElement[]): void;
|
|
1026
|
+
function elementRemoveMiscDiv(): void;
|
|
982
1027
|
export {};
|
|
983
1028
|
|
|
984
1029
|
}
|