@hawsen-the-first/interactiv 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 +326 -0
- package/dist/animations.css +160 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -0
- package/dist/src/animationBus.d.ts +30 -0
- package/dist/src/animationBus.d.ts.map +1 -0
- package/dist/src/animationBus.js +125 -0
- package/dist/src/appBuilder.d.ts +173 -0
- package/dist/src/appBuilder.d.ts.map +1 -0
- package/dist/src/appBuilder.js +957 -0
- package/dist/src/eventBus.d.ts +100 -0
- package/dist/src/eventBus.d.ts.map +1 -0
- package/dist/src/eventBus.js +326 -0
- package/dist/src/eventManager.d.ts +87 -0
- package/dist/src/eventManager.d.ts.map +1 -0
- package/dist/src/eventManager.js +455 -0
- package/dist/src/garbageCollector.d.ts +68 -0
- package/dist/src/garbageCollector.d.ts.map +1 -0
- package/dist/src/garbageCollector.js +169 -0
- package/dist/src/logger.d.ts +11 -0
- package/dist/src/logger.d.ts.map +1 -0
- package/dist/src/logger.js +15 -0
- package/dist/src/navigationManager.d.ts +105 -0
- package/dist/src/navigationManager.d.ts.map +1 -0
- package/dist/src/navigationManager.js +533 -0
- package/dist/src/screensaverManager.d.ts +66 -0
- package/dist/src/screensaverManager.d.ts.map +1 -0
- package/dist/src/screensaverManager.js +417 -0
- package/dist/src/settingsManager.d.ts +48 -0
- package/dist/src/settingsManager.d.ts.map +1 -0
- package/dist/src/settingsManager.js +317 -0
- package/dist/src/stateManager.d.ts +58 -0
- package/dist/src/stateManager.d.ts.map +1 -0
- package/dist/src/stateManager.js +278 -0
- package/dist/src/types.d.ts +32 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +1 -0
- package/dist/utils/generateGuid.d.ts +2 -0
- package/dist/utils/generateGuid.d.ts.map +1 -0
- package/dist/utils/generateGuid.js +19 -0
- package/dist/utils/logger.d.ts +9 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +42 -0
- package/dist/utils/template-helpers.d.ts +32 -0
- package/dist/utils/template-helpers.d.ts.map +1 -0
- package/dist/utils/template-helpers.js +24 -0
- package/package.json +59 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateGuid.d.ts","sourceRoot":"","sources":["../../utils/generateGuid.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,WAoB3B"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export function generateGUID() {
|
|
2
|
+
function s4() {
|
|
3
|
+
return Math.floor((1 + Math.random()) * 0x10000)
|
|
4
|
+
.toString(16)
|
|
5
|
+
.substring(1);
|
|
6
|
+
}
|
|
7
|
+
return (s4() +
|
|
8
|
+
s4() +
|
|
9
|
+
"-" +
|
|
10
|
+
s4() +
|
|
11
|
+
"-" +
|
|
12
|
+
s4() +
|
|
13
|
+
"-" +
|
|
14
|
+
s4() +
|
|
15
|
+
"-" +
|
|
16
|
+
s4() +
|
|
17
|
+
s4() +
|
|
18
|
+
s4());
|
|
19
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare class Logger {
|
|
2
|
+
debugMode: boolean;
|
|
3
|
+
minLoglevel: string;
|
|
4
|
+
constructor(debugMode?: boolean, minLogLevel?: string);
|
|
5
|
+
trace(message: string, object?: object): void;
|
|
6
|
+
warn(message: string): void;
|
|
7
|
+
error(message: string, error: Error): void;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../utils/logger.ts"],"names":[],"mappings":"AACA,qBAAa,MAAM;IACjB,SAAS,EAAE,OAAO,CAAC;IAEnB,WAAW,EAAE,MAAM,CAAC;gBACR,SAAS,GAAE,OAAe,EAAE,WAAW,GAAE,MAAe;IAKpE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAMtC,IAAI,CAAC,OAAO,EAAE,MAAM;IAMpB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;CAOpC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/* eslint-disable no-console */
|
|
2
|
+
export class Logger {
|
|
3
|
+
debugMode;
|
|
4
|
+
// 'trace' // 'errors' // 'none'
|
|
5
|
+
minLoglevel;
|
|
6
|
+
constructor(debugMode = false, minLogLevel = "none") {
|
|
7
|
+
this.debugMode = debugMode;
|
|
8
|
+
this.minLoglevel = minLogLevel;
|
|
9
|
+
}
|
|
10
|
+
trace(message, object) {
|
|
11
|
+
if (this.minLoglevel === "trace" || this.debugMode) {
|
|
12
|
+
new Trace(message, object);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
warn(message) {
|
|
16
|
+
if (this.minLoglevel === "warn" || this.minLoglevel === "trace" || this.debugMode) {
|
|
17
|
+
console.warn(message);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
error(message, error) {
|
|
21
|
+
if (this.minLoglevel === "trace" || this.minLoglevel === "warn" || this.minLoglevel === "error" || this.debugMode) {
|
|
22
|
+
console.groupCollapsed("Error: " + message);
|
|
23
|
+
console.error(error);
|
|
24
|
+
console.groupEnd();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
class Trace {
|
|
29
|
+
errorObj = new Error();
|
|
30
|
+
message;
|
|
31
|
+
stackTrace = this.errorObj.stack;
|
|
32
|
+
constructor(message, object) {
|
|
33
|
+
this.message = message;
|
|
34
|
+
console.groupCollapsed("Trace: " + message);
|
|
35
|
+
console.log(message);
|
|
36
|
+
console.log(this.stackTrace?.replace("Error", "Stack Trace"));
|
|
37
|
+
if (object) {
|
|
38
|
+
console.dir(object);
|
|
39
|
+
}
|
|
40
|
+
console.groupEnd();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Template helpers for type-safe HTML and CSS strings
|
|
3
|
+
* Provides branded types to prevent mixing HTML/CSS strings with regular strings
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* import { html, css } from './utils/template-helpers';
|
|
7
|
+
*/
|
|
8
|
+
type HTMLString = string & {
|
|
9
|
+
__brand: "html";
|
|
10
|
+
};
|
|
11
|
+
type CSSString = string & {
|
|
12
|
+
__brand: "css";
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Creates type-safe HTML template strings
|
|
16
|
+
* @example
|
|
17
|
+
* const template = html`<div class="card">${content}</div>`;
|
|
18
|
+
*/
|
|
19
|
+
export declare const html: (strings: TemplateStringsArray, ...values: unknown[]) => HTMLString;
|
|
20
|
+
/**
|
|
21
|
+
* Creates type-safe CSS template strings
|
|
22
|
+
* @example
|
|
23
|
+
* const styles = css`
|
|
24
|
+
* .card {
|
|
25
|
+
* padding: ${spacing}px;
|
|
26
|
+
* color: ${color};
|
|
27
|
+
* }
|
|
28
|
+
* `;
|
|
29
|
+
*/
|
|
30
|
+
export declare const css: (strings: TemplateStringsArray, ...values: unknown[]) => CSSString;
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=template-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-helpers.d.ts","sourceRoot":"","sources":["../../utils/template-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,KAAK,UAAU,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAC/C,KAAK,SAAS,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,KAAK,CAAA;CAAE,CAAC;AAE7C;;;;GAIG;AACH,eAAO,MAAM,IAAI,GAAI,SAAS,oBAAoB,EAAE,GAAG,QAAQ,OAAO,EAAE,KAAG,UACmB,CAAC;AAE/F;;;;;;;;;GASG;AACH,eAAO,MAAM,GAAG,GAAI,SAAS,oBAAoB,EAAE,GAAG,QAAQ,OAAO,EAAE,KAAG,SACmB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Template helpers for type-safe HTML and CSS strings
|
|
3
|
+
* Provides branded types to prevent mixing HTML/CSS strings with regular strings
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* import { html, css } from './utils/template-helpers';
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Creates type-safe HTML template strings
|
|
10
|
+
* @example
|
|
11
|
+
* const template = html`<div class="card">${content}</div>`;
|
|
12
|
+
*/
|
|
13
|
+
export const html = (strings, ...values) => strings.reduce((result, string, i) => result + string + (values[i] || ""), "");
|
|
14
|
+
/**
|
|
15
|
+
* Creates type-safe CSS template strings
|
|
16
|
+
* @example
|
|
17
|
+
* const styles = css`
|
|
18
|
+
* .card {
|
|
19
|
+
* padding: ${spacing}px;
|
|
20
|
+
* color: ${color};
|
|
21
|
+
* }
|
|
22
|
+
* `;
|
|
23
|
+
*/
|
|
24
|
+
export const css = (strings, ...values) => strings.reduce((result, string, i) => result + string + (values[i] || ""), "");
|
package/package.json
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@hawsen-the-first/interactiv",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "A TypeScript framework for building interactive applications with event management, state management, navigation, and screensaver functionality",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"module": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"type": "module",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.js"
|
|
13
|
+
},
|
|
14
|
+
"./animations.css": "./dist/animations.css"
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"dist",
|
|
18
|
+
"README.md",
|
|
19
|
+
"LICENSE"
|
|
20
|
+
],
|
|
21
|
+
"scripts": {
|
|
22
|
+
"build": "tsc && npm run copy-css",
|
|
23
|
+
"rollup": "rm -rf ./dist && npm run build",
|
|
24
|
+
"copy-css": "node -e \"require('fs').cpSync('src/animations.css', 'dist/animations.css')\"",
|
|
25
|
+
"prepublishOnly": "npm run build",
|
|
26
|
+
"dev": "tsc --watch",
|
|
27
|
+
"lint": "eslint . --ext .ts,.js,.mts,.cts",
|
|
28
|
+
"lint:fix": "eslint . --ext .ts,.js,.mts,.cts --fix",
|
|
29
|
+
"format": "prettier --write .",
|
|
30
|
+
"format:check": "prettier --check .",
|
|
31
|
+
"check": "npm run lint && npm run format:check"
|
|
32
|
+
},
|
|
33
|
+
"keywords": [
|
|
34
|
+
"typescript",
|
|
35
|
+
"framework",
|
|
36
|
+
"interactive",
|
|
37
|
+
"event-management",
|
|
38
|
+
"state-management",
|
|
39
|
+
"navigation",
|
|
40
|
+
"screensaver",
|
|
41
|
+
"app-builder"
|
|
42
|
+
],
|
|
43
|
+
"author": "",
|
|
44
|
+
"license": "ISC",
|
|
45
|
+
"peerDependencies": {
|
|
46
|
+
"typescript": "^5.0.0"
|
|
47
|
+
},
|
|
48
|
+
"dependencies": {},
|
|
49
|
+
"devDependencies": {
|
|
50
|
+
"@eslint/js": "^9.33.0",
|
|
51
|
+
"@types/node": "^24.5.2",
|
|
52
|
+
"eslint": "^9.33.0",
|
|
53
|
+
"eslint-config-prettier": "^10.1.8",
|
|
54
|
+
"globals": "^16.3.0",
|
|
55
|
+
"prettier": "^3.6.2",
|
|
56
|
+
"typescript": "~5.8.3",
|
|
57
|
+
"typescript-eslint": "^8.40.0"
|
|
58
|
+
}
|
|
59
|
+
}
|