waitroom 0.0.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/README.md +62 -0
- package/dist/chunk-3RJ542WD.js +130 -0
- package/dist/chunk-3RJ542WD.js.map +1 -0
- package/dist/chunk-4DE2IREA.cjs +9 -0
- package/dist/chunk-4DE2IREA.cjs.map +1 -0
- package/dist/chunk-5AUPIR2C.cjs +90 -0
- package/dist/chunk-5AUPIR2C.cjs.map +1 -0
- package/dist/chunk-ARXVTVP4.js +55 -0
- package/dist/chunk-ARXVTVP4.js.map +1 -0
- package/dist/chunk-C5XPYOJI.js +137 -0
- package/dist/chunk-C5XPYOJI.js.map +1 -0
- package/dist/chunk-DEQZY4AM.js +58 -0
- package/dist/chunk-DEQZY4AM.js.map +1 -0
- package/dist/chunk-FH3QBC6T.cjs +139 -0
- package/dist/chunk-FH3QBC6T.cjs.map +1 -0
- package/dist/chunk-GEBKOXLQ.cjs +255 -0
- package/dist/chunk-GEBKOXLQ.cjs.map +1 -0
- package/dist/chunk-JG5ZMB2Y.cjs +142 -0
- package/dist/chunk-JG5ZMB2Y.cjs.map +1 -0
- package/dist/chunk-MAWVAR3Q.cjs +135 -0
- package/dist/chunk-MAWVAR3Q.cjs.map +1 -0
- package/dist/chunk-MMNQMDV3.js +39 -0
- package/dist/chunk-MMNQMDV3.js.map +1 -0
- package/dist/chunk-O6CAFCTV.js +140 -0
- package/dist/chunk-O6CAFCTV.js.map +1 -0
- package/dist/chunk-P6NO27XB.cjs +74 -0
- package/dist/chunk-P6NO27XB.cjs.map +1 -0
- package/dist/chunk-PKRYY3X6.cjs +60 -0
- package/dist/chunk-PKRYY3X6.cjs.map +1 -0
- package/dist/chunk-PUR7CO53.js +72 -0
- package/dist/chunk-PUR7CO53.js.map +1 -0
- package/dist/chunk-R5V2UBE7.js +88 -0
- package/dist/chunk-R5V2UBE7.js.map +1 -0
- package/dist/chunk-SSP4S4NY.cjs +57 -0
- package/dist/chunk-SSP4S4NY.cjs.map +1 -0
- package/dist/chunk-SUJCEDVR.js +251 -0
- package/dist/chunk-SUJCEDVR.js.map +1 -0
- package/dist/chunk-V4RO47V6.cjs +41 -0
- package/dist/chunk-V4RO47V6.cjs.map +1 -0
- package/dist/chunk-V5DABI44.cjs +172 -0
- package/dist/chunk-V5DABI44.cjs.map +1 -0
- package/dist/chunk-V6TY7KAL.js +7 -0
- package/dist/chunk-V6TY7KAL.js.map +1 -0
- package/dist/chunk-VKSLYTRF.js +170 -0
- package/dist/chunk-VKSLYTRF.js.map +1 -0
- package/dist/core/index.cjs +30 -0
- package/dist/core/index.cjs.map +1 -0
- package/dist/core/index.d.cts +23 -0
- package/dist/core/index.d.ts +23 -0
- package/dist/core/index.js +5 -0
- package/dist/core/index.js.map +1 -0
- package/dist/doodle/basic-canvas.cjs +13 -0
- package/dist/doodle/basic-canvas.cjs.map +1 -0
- package/dist/doodle/basic-canvas.d.cts +5 -0
- package/dist/doodle/basic-canvas.d.ts +5 -0
- package/dist/doodle/basic-canvas.js +4 -0
- package/dist/doodle/basic-canvas.js.map +1 -0
- package/dist/doodle/index.cjs +13 -0
- package/dist/doodle/index.cjs.map +1 -0
- package/dist/doodle/index.d.cts +2 -0
- package/dist/doodle/index.d.ts +2 -0
- package/dist/doodle/index.js +4 -0
- package/dist/doodle/index.js.map +1 -0
- package/dist/engine--hGQ4LNR.d.ts +16 -0
- package/dist/engine-DdHCpfbk.d.cts +16 -0
- package/dist/facts/dev-tips.cjs +13 -0
- package/dist/facts/dev-tips.cjs.map +1 -0
- package/dist/facts/dev-tips.d.cts +5 -0
- package/dist/facts/dev-tips.d.ts +5 -0
- package/dist/facts/dev-tips.js +4 -0
- package/dist/facts/dev-tips.js.map +1 -0
- package/dist/facts/index.cjs +23 -0
- package/dist/facts/index.cjs.map +1 -0
- package/dist/facts/index.d.cts +4 -0
- package/dist/facts/index.d.ts +4 -0
- package/dist/facts/index.js +6 -0
- package/dist/facts/index.js.map +1 -0
- package/dist/facts/programming-trivia.cjs +13 -0
- package/dist/facts/programming-trivia.cjs.map +1 -0
- package/dist/facts/programming-trivia.d.cts +5 -0
- package/dist/facts/programming-trivia.d.ts +5 -0
- package/dist/facts/programming-trivia.js +4 -0
- package/dist/facts/programming-trivia.js.map +1 -0
- package/dist/facts/tech-stats.cjs +13 -0
- package/dist/facts/tech-stats.cjs.map +1 -0
- package/dist/facts/tech-stats.d.cts +5 -0
- package/dist/facts/tech-stats.d.ts +5 -0
- package/dist/facts/tech-stats.js +4 -0
- package/dist/facts/tech-stats.js.map +1 -0
- package/dist/games/click-counter.cjs +13 -0
- package/dist/games/click-counter.cjs.map +1 -0
- package/dist/games/click-counter.d.cts +5 -0
- package/dist/games/click-counter.d.ts +5 -0
- package/dist/games/click-counter.js +4 -0
- package/dist/games/click-counter.js.map +1 -0
- package/dist/games/index.cjs +23 -0
- package/dist/games/index.cjs.map +1 -0
- package/dist/games/index.d.cts +4 -0
- package/dist/games/index.d.ts +4 -0
- package/dist/games/index.js +6 -0
- package/dist/games/index.js.map +1 -0
- package/dist/games/memory.cjs +13 -0
- package/dist/games/memory.cjs.map +1 -0
- package/dist/games/memory.d.cts +5 -0
- package/dist/games/memory.d.ts +5 -0
- package/dist/games/memory.js +4 -0
- package/dist/games/memory.js.map +1 -0
- package/dist/games/snake.cjs +13 -0
- package/dist/games/snake.cjs.map +1 -0
- package/dist/games/snake.d.cts +5 -0
- package/dist/games/snake.d.ts +5 -0
- package/dist/games/snake.js +4 -0
- package/dist/games/snake.js.map +1 -0
- package/dist/index.cjs +43 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +5 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/react/index.cjs +22 -0
- package/dist/react/index.cjs.map +1 -0
- package/dist/react/index.d.cts +24 -0
- package/dist/react/index.d.ts +24 -0
- package/dist/react/index.js +5 -0
- package/dist/react/index.js.map +1 -0
- package/dist/types-vBwPFyxq.d.cts +101 -0
- package/dist/types-vBwPFyxq.d.ts +101 -0
- package/package.json +64 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
type InteractionMode = "game" | "facts" | "doodle" | "none";
|
|
2
|
+
interface InteractionConfig {
|
|
3
|
+
isLoading: boolean;
|
|
4
|
+
minDelay?: number;
|
|
5
|
+
mode?: InteractionMode;
|
|
6
|
+
availableModes?: InteractionMode[];
|
|
7
|
+
showModeSwitcher?: boolean;
|
|
8
|
+
persistModePreference?: boolean;
|
|
9
|
+
theme?: "light" | "dark" | "custom";
|
|
10
|
+
position?: "center" | "corner" | "inline";
|
|
11
|
+
style?: Partial<CSSStyleDeclaration>;
|
|
12
|
+
transitionDuration?: number;
|
|
13
|
+
onInteract?: () => void;
|
|
14
|
+
onExpand?: () => void;
|
|
15
|
+
onModeChange?: (mode: InteractionMode) => void;
|
|
16
|
+
game?: GamePlugin;
|
|
17
|
+
facts?: FactsPlugin;
|
|
18
|
+
doodle?: DoodlePlugin;
|
|
19
|
+
}
|
|
20
|
+
interface GameState {
|
|
21
|
+
gameId: string;
|
|
22
|
+
version: number;
|
|
23
|
+
progress: {
|
|
24
|
+
level: number;
|
|
25
|
+
score: number;
|
|
26
|
+
highScore: number;
|
|
27
|
+
achievements: string[];
|
|
28
|
+
totalPlayTime: number;
|
|
29
|
+
};
|
|
30
|
+
meta: {
|
|
31
|
+
firstPlayed: string;
|
|
32
|
+
lastPlayed: string;
|
|
33
|
+
loadingInteractions: number;
|
|
34
|
+
expansions: number;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
interface GameInstance {
|
|
38
|
+
getState: () => GameState;
|
|
39
|
+
setState: (state: Partial<GameState>) => void;
|
|
40
|
+
destroy: () => void;
|
|
41
|
+
}
|
|
42
|
+
interface GamePlugin {
|
|
43
|
+
id: string;
|
|
44
|
+
name: string;
|
|
45
|
+
description: string;
|
|
46
|
+
minLoadingTime?: number;
|
|
47
|
+
renderMini: (container: HTMLElement, state: Partial<GameState>) => GameInstance;
|
|
48
|
+
renderFull: (container: HTMLElement, state: Partial<GameState>) => GameInstance;
|
|
49
|
+
onInteract?: () => void;
|
|
50
|
+
}
|
|
51
|
+
interface Fact {
|
|
52
|
+
id: string;
|
|
53
|
+
text: string;
|
|
54
|
+
category?: string;
|
|
55
|
+
source?: string;
|
|
56
|
+
url?: string;
|
|
57
|
+
tags?: string[];
|
|
58
|
+
}
|
|
59
|
+
interface FactsConfig {
|
|
60
|
+
rotationInterval?: number;
|
|
61
|
+
showSource?: boolean;
|
|
62
|
+
}
|
|
63
|
+
interface FactsInstance {
|
|
64
|
+
next: () => void;
|
|
65
|
+
previous: () => void;
|
|
66
|
+
favorite: (factId: string) => void;
|
|
67
|
+
destroy: () => void;
|
|
68
|
+
}
|
|
69
|
+
interface FactsPlugin {
|
|
70
|
+
id: string;
|
|
71
|
+
name: string;
|
|
72
|
+
category: string;
|
|
73
|
+
facts: Fact[] | (() => Promise<Fact[]>);
|
|
74
|
+
rotationInterval?: number;
|
|
75
|
+
renderMini: (container: HTMLElement, config?: FactsConfig) => FactsInstance;
|
|
76
|
+
renderFull: (container: HTMLElement, config?: FactsConfig) => FactsInstance;
|
|
77
|
+
}
|
|
78
|
+
interface DoodleConfig {
|
|
79
|
+
defaultBrushSize?: number;
|
|
80
|
+
defaultColor?: string;
|
|
81
|
+
}
|
|
82
|
+
interface DoodleInstance {
|
|
83
|
+
clear: () => void;
|
|
84
|
+
undo: () => void;
|
|
85
|
+
redo: () => void;
|
|
86
|
+
save: () => Promise<string>;
|
|
87
|
+
load: (dataUrl: string) => void;
|
|
88
|
+
setBrushColor: (color: string) => void;
|
|
89
|
+
setBrushSize: (size: number) => void;
|
|
90
|
+
destroy: () => void;
|
|
91
|
+
}
|
|
92
|
+
interface DoodlePlugin {
|
|
93
|
+
id: string;
|
|
94
|
+
name: string;
|
|
95
|
+
defaultBrushSize?: number;
|
|
96
|
+
defaultColor?: string;
|
|
97
|
+
renderMini: (container: HTMLElement, config?: DoodleConfig) => DoodleInstance;
|
|
98
|
+
renderFull: (container: HTMLElement, config?: DoodleConfig) => DoodleInstance;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export type { DoodleConfig as D, Fact as F, GameState as G, InteractionMode as I, InteractionConfig as a, GameInstance as b, GamePlugin as c, FactsConfig as d, FactsInstance as e, FactsPlugin as f, DoodleInstance as g, DoodlePlugin as h };
|
package/package.json
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "waitroom",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Transform dead loading time into engaging micro-interactions",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"main": "./dist/index.js",
|
|
8
|
+
"module": "./dist/index.mjs",
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"import": "./dist/index.js",
|
|
14
|
+
"require": "./dist/index.cjs"
|
|
15
|
+
},
|
|
16
|
+
"./core": {
|
|
17
|
+
"types": "./dist/core/index.d.ts",
|
|
18
|
+
"import": "./dist/core/index.js",
|
|
19
|
+
"require": "./dist/core/index.cjs"
|
|
20
|
+
},
|
|
21
|
+
"./react": {
|
|
22
|
+
"types": "./dist/react/index.d.ts",
|
|
23
|
+
"import": "./dist/react/index.js",
|
|
24
|
+
"require": "./dist/react/index.cjs"
|
|
25
|
+
},
|
|
26
|
+
"./games/*": {
|
|
27
|
+
"types": "./dist/games/*.d.ts",
|
|
28
|
+
"import": "./dist/games/*.js",
|
|
29
|
+
"require": "./dist/games/*.cjs"
|
|
30
|
+
},
|
|
31
|
+
"./facts/*": {
|
|
32
|
+
"types": "./dist/facts/*.d.ts",
|
|
33
|
+
"import": "./dist/facts/*.js",
|
|
34
|
+
"require": "./dist/facts/*.cjs"
|
|
35
|
+
},
|
|
36
|
+
"./doodle/*": {
|
|
37
|
+
"types": "./dist/doodle/*.d.ts",
|
|
38
|
+
"import": "./dist/doodle/*.js",
|
|
39
|
+
"require": "./dist/doodle/*.cjs"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"files": [
|
|
43
|
+
"dist"
|
|
44
|
+
],
|
|
45
|
+
"scripts": {
|
|
46
|
+
"build": "tsup",
|
|
47
|
+
"dev": "tsup --watch",
|
|
48
|
+
"test": "vitest",
|
|
49
|
+
"lint": "eslint src/**",
|
|
50
|
+
"prepublishOnly": "npm run build"
|
|
51
|
+
},
|
|
52
|
+
"peerDependencies": {
|
|
53
|
+
"react": ">=16.8.0",
|
|
54
|
+
"react-dom": ">=16.8.0"
|
|
55
|
+
},
|
|
56
|
+
"devDependencies": {
|
|
57
|
+
"@types/react": "^18.2.0",
|
|
58
|
+
"@types/react-dom": "^18.2.0",
|
|
59
|
+
"typescript": "^5.0.0",
|
|
60
|
+
"tsup": "^8.0.0",
|
|
61
|
+
"vitest": "^1.0.0",
|
|
62
|
+
"happy-dom": "^14.0.0"
|
|
63
|
+
}
|
|
64
|
+
}
|