@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.
Files changed (48) hide show
  1. package/README.md +326 -0
  2. package/dist/animations.css +160 -0
  3. package/dist/index.d.ts +20 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +26 -0
  6. package/dist/src/animationBus.d.ts +30 -0
  7. package/dist/src/animationBus.d.ts.map +1 -0
  8. package/dist/src/animationBus.js +125 -0
  9. package/dist/src/appBuilder.d.ts +173 -0
  10. package/dist/src/appBuilder.d.ts.map +1 -0
  11. package/dist/src/appBuilder.js +957 -0
  12. package/dist/src/eventBus.d.ts +100 -0
  13. package/dist/src/eventBus.d.ts.map +1 -0
  14. package/dist/src/eventBus.js +326 -0
  15. package/dist/src/eventManager.d.ts +87 -0
  16. package/dist/src/eventManager.d.ts.map +1 -0
  17. package/dist/src/eventManager.js +455 -0
  18. package/dist/src/garbageCollector.d.ts +68 -0
  19. package/dist/src/garbageCollector.d.ts.map +1 -0
  20. package/dist/src/garbageCollector.js +169 -0
  21. package/dist/src/logger.d.ts +11 -0
  22. package/dist/src/logger.d.ts.map +1 -0
  23. package/dist/src/logger.js +15 -0
  24. package/dist/src/navigationManager.d.ts +105 -0
  25. package/dist/src/navigationManager.d.ts.map +1 -0
  26. package/dist/src/navigationManager.js +533 -0
  27. package/dist/src/screensaverManager.d.ts +66 -0
  28. package/dist/src/screensaverManager.d.ts.map +1 -0
  29. package/dist/src/screensaverManager.js +417 -0
  30. package/dist/src/settingsManager.d.ts +48 -0
  31. package/dist/src/settingsManager.d.ts.map +1 -0
  32. package/dist/src/settingsManager.js +317 -0
  33. package/dist/src/stateManager.d.ts +58 -0
  34. package/dist/src/stateManager.d.ts.map +1 -0
  35. package/dist/src/stateManager.js +278 -0
  36. package/dist/src/types.d.ts +32 -0
  37. package/dist/src/types.d.ts.map +1 -0
  38. package/dist/src/types.js +1 -0
  39. package/dist/utils/generateGuid.d.ts +2 -0
  40. package/dist/utils/generateGuid.d.ts.map +1 -0
  41. package/dist/utils/generateGuid.js +19 -0
  42. package/dist/utils/logger.d.ts +9 -0
  43. package/dist/utils/logger.d.ts.map +1 -0
  44. package/dist/utils/logger.js +42 -0
  45. package/dist/utils/template-helpers.d.ts +32 -0
  46. package/dist/utils/template-helpers.d.ts.map +1 -0
  47. package/dist/utils/template-helpers.js +24 -0
  48. package/package.json +59 -0
@@ -0,0 +1,2 @@
1
+ export declare function generateGUID(): string;
2
+ //# sourceMappingURL=generateGuid.d.ts.map
@@ -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
+ }