ctrl-fx 0.0.1 → 0.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.
Files changed (145) hide show
  1. package/dist/clipboard.d.ts +7 -0
  2. package/dist/clipboard.d.ts.map +1 -0
  3. package/dist/clipboard.js +3 -0
  4. package/dist/db/effects.d.ts +78 -0
  5. package/dist/db/effects.d.ts.map +1 -0
  6. package/dist/db/effects.js +98 -0
  7. package/dist/db/errors.d.ts +21 -0
  8. package/dist/db/errors.d.ts.map +1 -0
  9. package/dist/db/errors.js +13 -0
  10. package/dist/db/index.d.ts +32 -0
  11. package/dist/db/index.d.ts.map +1 -0
  12. package/dist/db/index.js +19 -0
  13. package/dist/db/keypath.d.ts +40 -0
  14. package/dist/db/keypath.d.ts.map +1 -0
  15. package/dist/db/keypath.js +20 -0
  16. package/dist/db/setup.d.ts +83 -0
  17. package/dist/db/setup.d.ts.map +1 -0
  18. package/dist/db/setup.js +100 -0
  19. package/dist/db/testdb.d.ts +19 -0
  20. package/dist/db/testdb.d.ts.map +1 -0
  21. package/dist/db/testdb.js +34 -0
  22. package/dist/dom/attrs.d.ts +67 -0
  23. package/dist/dom/attrs.d.ts.map +1 -0
  24. package/dist/dom/attrs.js +154 -0
  25. package/dist/dom/components.d.ts +43 -0
  26. package/dist/dom/components.d.ts.map +1 -0
  27. package/dist/dom/components.js +86 -0
  28. package/dist/dom/elems.d.ts +121 -0
  29. package/dist/dom/elems.d.ts.map +1 -0
  30. package/dist/dom/elems.js +52 -0
  31. package/dist/dom/events.d.ts +232 -0
  32. package/dist/dom/events.d.ts.map +1 -0
  33. package/dist/dom/events.js +289 -0
  34. package/dist/dom/index.d.ts +248 -0
  35. package/dist/dom/index.d.ts.map +1 -0
  36. package/dist/dom/index.js +266 -0
  37. package/dist/dom/nodeid.d.ts +9 -0
  38. package/dist/dom/nodeid.d.ts.map +1 -0
  39. package/dist/dom/nodeid.js +27 -0
  40. package/dist/dom/svg.d.ts +23 -0
  41. package/dist/dom/svg.d.ts.map +1 -0
  42. package/dist/dom/svg.js +1 -0
  43. package/dist/dom/views.d.ts +60 -0
  44. package/dist/dom/views.d.ts.map +1 -0
  45. package/dist/dom/views.js +154 -0
  46. package/dist/effects.d.ts +580 -0
  47. package/dist/effects.d.ts.map +1 -0
  48. package/dist/effects.js +1556 -0
  49. package/dist/index.d.ts +41 -0
  50. package/dist/index.d.ts.map +1 -0
  51. package/dist/index.js +78 -0
  52. package/dist/internal/clipboard.d.ts +5 -0
  53. package/dist/internal/clipboard.d.ts.map +1 -0
  54. package/dist/internal/clipboard.js +33 -0
  55. package/dist/internal/cmpmgr.d.ts +46 -0
  56. package/dist/internal/cmpmgr.d.ts.map +1 -0
  57. package/dist/internal/cmpmgr.js +561 -0
  58. package/dist/internal/dbmgr.d.ts +11 -0
  59. package/dist/internal/dbmgr.d.ts.map +1 -0
  60. package/dist/internal/dbmgr.js +200 -0
  61. package/dist/internal/dominterpreter.d.ts +5 -0
  62. package/dist/internal/dominterpreter.d.ts.map +1 -0
  63. package/dist/internal/dominterpreter.js +337 -0
  64. package/dist/internal/eventmgr.d.ts +41 -0
  65. package/dist/internal/eventmgr.d.ts.map +1 -0
  66. package/dist/internal/eventmgr.js +696 -0
  67. package/dist/internal/index.d.ts +19 -0
  68. package/dist/internal/index.d.ts.map +1 -0
  69. package/dist/internal/index.js +38 -0
  70. package/dist/internal/interpreter.d.ts +10 -0
  71. package/dist/internal/interpreter.d.ts.map +1 -0
  72. package/dist/internal/interpreter.js +1 -0
  73. package/dist/internal/locutils.d.ts +4 -0
  74. package/dist/internal/locutils.d.ts.map +1 -0
  75. package/dist/internal/locutils.js +22 -0
  76. package/dist/internal/net.d.ts +4 -0
  77. package/dist/internal/net.d.ts.map +1 -0
  78. package/dist/internal/net.js +64 -0
  79. package/dist/internal/realdom.d.ts +249 -0
  80. package/dist/internal/realdom.d.ts.map +1 -0
  81. package/dist/internal/realdom.js +1 -0
  82. package/dist/internal/styleregistry.d.ts +6 -0
  83. package/dist/internal/styleregistry.d.ts.map +1 -0
  84. package/dist/internal/styleregistry.js +18 -0
  85. package/dist/internal/taskreg.d.ts +9 -0
  86. package/dist/internal/taskreg.d.ts.map +1 -0
  87. package/dist/internal/taskreg.js +28 -0
  88. package/dist/internal/testing.d.ts +12 -0
  89. package/dist/internal/testing.d.ts.map +1 -0
  90. package/dist/internal/testing.js +974 -0
  91. package/dist/internal/testinginterpreter.d.ts +10 -0
  92. package/dist/internal/testinginterpreter.d.ts.map +1 -0
  93. package/dist/internal/testinginterpreter.js +646 -0
  94. package/dist/internal/vdom.d.ts +93 -0
  95. package/dist/internal/vdom.d.ts.map +1 -0
  96. package/dist/internal/vdom.js +470 -0
  97. package/dist/json/index.d.ts +5 -0
  98. package/dist/json/index.d.ts.map +1 -0
  99. package/dist/json/index.js +2 -0
  100. package/dist/json/validation.d.ts +28 -0
  101. package/dist/json/validation.d.ts.map +1 -0
  102. package/dist/json/validation.js +8 -0
  103. package/dist/net/fragment.d.ts +10 -0
  104. package/dist/net/fragment.d.ts.map +1 -0
  105. package/dist/net/fragment.js +27 -0
  106. package/dist/net/index.d.ts +42 -0
  107. package/dist/net/index.d.ts.map +1 -0
  108. package/dist/net/index.js +60 -0
  109. package/dist/net/location.d.ts +21 -0
  110. package/dist/net/location.d.ts.map +1 -0
  111. package/dist/net/location.js +41 -0
  112. package/dist/net/path.d.ts +12 -0
  113. package/dist/net/path.d.ts.map +1 -0
  114. package/dist/net/path.js +29 -0
  115. package/dist/net/queryparam.d.ts +10 -0
  116. package/dist/net/queryparam.d.ts.map +1 -0
  117. package/dist/net/queryparam.js +34 -0
  118. package/dist/router.d.ts +40 -0
  119. package/dist/router.d.ts.map +1 -0
  120. package/dist/router.js +77 -0
  121. package/dist/scroll.d.ts +7 -0
  122. package/dist/scroll.d.ts.map +1 -0
  123. package/dist/scroll.js +3 -0
  124. package/dist/testing.d.ts +248 -0
  125. package/dist/testing.d.ts.map +1 -0
  126. package/dist/testing.js +159 -0
  127. package/dist/utils/apply.d.ts +9 -0
  128. package/dist/utils/apply.d.ts.map +1 -0
  129. package/dist/utils/apply.js +10 -0
  130. package/dist/utils/index.d.ts +22 -0
  131. package/dist/utils/index.d.ts.map +1 -0
  132. package/dist/utils/index.js +138 -0
  133. package/dist/utils/lens.d.ts +18 -0
  134. package/dist/utils/lens.d.ts.map +1 -0
  135. package/dist/utils/lens.js +27 -0
  136. package/dist/utils/match.d.ts +17 -0
  137. package/dist/utils/match.d.ts.map +1 -0
  138. package/dist/utils/match.js +28 -0
  139. package/dist/utils/result.d.ts +47 -0
  140. package/dist/utils/result.d.ts.map +1 -0
  141. package/dist/utils/result.js +97 -0
  142. package/dist/webcomponent.d.ts +15 -0
  143. package/dist/webcomponent.d.ts.map +1 -0
  144. package/dist/webcomponent.js +43 -0
  145. package/package.json +1 -1
@@ -0,0 +1,19 @@
1
+ import type { Uuid } from '..';
2
+ import type { Component } from '../dom/components';
3
+ import { type NodeId } from '../dom/nodeid';
4
+ import { type TestableComponent, type TestConfig, type TestData } from '../testing';
5
+ export type ComponentPath = {
6
+ readonly nodeId: NodeId;
7
+ readonly parentComponentPath: ComponentPath | undefined;
8
+ format(): string;
9
+ };
10
+ export declare function componentPath(id: NodeId | string, parentComponentPath?: ComponentPath): ComponentPath;
11
+ /**
12
+ * Return a string representation of the specified `ComponentPath`
13
+ * @param path
14
+ */
15
+ export declare function formatComponentPath(path: ComponentPath): string;
16
+ export declare function generateUuid(): Uuid;
17
+ export type TimerId = ReturnType<typeof globalThis.setTimeout>;
18
+ export declare function testComponent<State, Params, Event, Custom = {}>(component: Component<State, Params, Event>, config?: TestConfig, data?: TestData<Custom>): TestableComponent<State, Params, Event, Custom>;
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/internal/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAA;AAC9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,QAAQ,EACd,MAAM,YAAY,CAAA;AAGnB,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,mBAAmB,EAAE,aAAa,GAAG,SAAS,CAAA;IACvD,MAAM,IAAI,MAAM,CAAA;CACjB,CAAA;AAED,wBAAgB,aAAa,CAC3B,EAAE,EAAE,MAAM,GAAG,MAAM,EACnB,mBAAmB,CAAC,EAAE,aAAa,GAClC,aAAa,CAQf;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAM/D;AAED,wBAAgB,YAAY,IAAI,IAAI,CAUnC;AAED,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,UAAU,CAAC,CAAA;AAG9D,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,EAAE,EAC7D,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAC1C,MAAM,CAAC,EAAE,UAAU,EACnB,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GACtB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAEjD"}
@@ -0,0 +1,38 @@
1
+ import { nodeId } from '../dom/nodeid';
2
+ import { defaultTestConfig, } from '../testing';
3
+ import { testableComponent } from './testing';
4
+ export function componentPath(id, parentComponentPath) {
5
+ return {
6
+ parentComponentPath,
7
+ nodeId: typeof id === 'string' ? nodeId(id) : id,
8
+ format() {
9
+ return formatComponentPath(this);
10
+ },
11
+ };
12
+ }
13
+ /**
14
+ * Return a string representation of the specified `ComponentPath`
15
+ * @param path
16
+ */
17
+ export function formatComponentPath(path) {
18
+ const parentStr = path.parentComponentPath
19
+ ? formatComponentPath(path.parentComponentPath)
20
+ : '';
21
+ return parentStr + '/' + encodeURIComponent(path.nodeId.value);
22
+ }
23
+ export function generateUuid() {
24
+ if (typeof crypto !== 'undefined' && crypto.randomUUID) {
25
+ return crypto.randomUUID();
26
+ }
27
+ else {
28
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {
29
+ const r = (Math.random() * 16) | 0;
30
+ const v = c == 'x' ? r : (r & 0x3) | 0x8;
31
+ return v.toString(16);
32
+ });
33
+ }
34
+ }
35
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
36
+ export function testComponent(component, config, data) {
37
+ return testableComponent(component, config ?? defaultTestConfig(), data);
38
+ }
@@ -0,0 +1,10 @@
1
+ import type { Effect } from '../effects';
2
+ import type { TaskRegistry } from './taskreg';
3
+ export type Callbacks<State, Event, A> = {
4
+ onComplete: (a: A) => void;
5
+ onFireEvent: (event: Event) => void;
6
+ getState: () => State;
7
+ setState: (state: State) => void;
8
+ };
9
+ export type Interpreter = <State, Event, A>(effect: Effect<State, Event, A>, callbacks: Callbacks<State, Event, A>, taskRegistry: TaskRegistry) => void;
10
+ //# sourceMappingURL=interpreter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interpreter.d.ts","sourceRoot":"","sources":["../../src/internal/interpreter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAE7C,MAAM,MAAM,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,IAAI;IACvC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAA;IAC1B,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IACnC,QAAQ,EAAE,MAAM,KAAK,CAAA;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EACxC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,EAC/B,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,EACrC,YAAY,EAAE,YAAY,KACvB,IAAI,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ import type { Location } from '../net/location';
2
+ import type { RealWindow } from './realdom';
3
+ export declare function currentLocation(window: RealWindow): Location;
4
+ //# sourceMappingURL=locutils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locutils.d.ts","sourceRoot":"","sources":["../../src/internal/locutils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAI/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAE3C,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,CAiB5D"}
@@ -0,0 +1,22 @@
1
+ import { parseFragment } from '../net/fragment';
2
+ import { emptyPath, parsePath } from '../net/path';
3
+ import { parseAllQueryParams } from '../net/queryparam';
4
+ import { filterNot, stringToInt } from '../utils/index';
5
+ export function currentLocation(window) {
6
+ return {
7
+ protocol: filterNot(window.location.protocol?.trim(), p => p.length <= 0),
8
+ hostname: filterNot(window.location.hostname?.trim(), h => h.length <= 0),
9
+ port: window.location.port
10
+ ? stringToInt(window.location.port.trim())
11
+ : undefined,
12
+ path: window.location.pathname
13
+ ? parsePath(window.location.pathname)
14
+ : emptyPath,
15
+ queryParams: window.location.search?.trim()
16
+ ? parseAllQueryParams(window.location.search?.trim())
17
+ : [],
18
+ fragment: window.location.hash
19
+ ? parseFragment(window.location.hash)
20
+ : undefined,
21
+ };
22
+ }
@@ -0,0 +1,4 @@
1
+ import { type HttpError, type HttpRequest, type HttpResponse, type RequestError } from '../net';
2
+ import { type Result } from '../utils/result';
3
+ export declare function makeHttpRequest(request: HttpRequest, callback: (result: Result<HttpResponse, RequestError | HttpError>) => void): void;
4
+ //# sourceMappingURL=net.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"net.d.ts","sourceRoot":"","sources":["../../src/internal/net.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,QAAQ,CAAA;AACf,OAAO,EAAoB,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAE/D,wBAAgB,eAAe,CAC7B,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE,YAAY,GAAG,SAAS,CAAC,KAAK,IAAI,GACzE,IAAI,CA0BN"}
@@ -0,0 +1,64 @@
1
+ import { ResponseBody, } from '../net';
2
+ import { failure, success } from '../utils/result';
3
+ export function makeHttpRequest(request, callback) {
4
+ console.log('About to fetch ' + request.uri);
5
+ globalThis
6
+ .fetch(request.uri, {
7
+ method: request.method,
8
+ headers: request.headers,
9
+ body: request.body,
10
+ })
11
+ .catch((err) => handleError(err, callback))
12
+ .then(response => {
13
+ if (response) {
14
+ response
15
+ .arrayBuffer()
16
+ .catch((err) => handleError(err, callback))
17
+ .then(ab => {
18
+ if (ab) {
19
+ callback(success({
20
+ headers: convertHeaders(response.headers),
21
+ body: new ResponseBody(ab),
22
+ }));
23
+ }
24
+ });
25
+ }
26
+ });
27
+ }
28
+ function handleError(err, callback) {
29
+ if (err instanceof DOMException && err.name === 'AbortError') {
30
+ callback(failure({
31
+ _type: 'RequestError',
32
+ cause: 'RequestAborted',
33
+ message: err.message,
34
+ }));
35
+ }
36
+ else if (err instanceof TypeError) {
37
+ callback(failure({
38
+ _type: 'RequestError',
39
+ cause: 'NetworkFailure',
40
+ message: err.message,
41
+ }));
42
+ }
43
+ else if (err instanceof Error) {
44
+ callback(failure({
45
+ _type: 'RequestError',
46
+ cause: 'UnexpectedError',
47
+ message: err.message,
48
+ }));
49
+ }
50
+ else {
51
+ callback(failure({
52
+ _type: 'RequestError',
53
+ cause: 'UnexpectedError',
54
+ message: `Unexpected request error: ${err}`,
55
+ }));
56
+ }
57
+ }
58
+ function convertHeaders(headers) {
59
+ const result = {};
60
+ for (const [key, value] of headers) {
61
+ result[key] = value;
62
+ }
63
+ return result;
64
+ }
@@ -0,0 +1,249 @@
1
+ export type RealElement = {
2
+ readonly previousSibling: RealNode | null;
3
+ readonly tagName: string;
4
+ readonly scrollTop: number;
5
+ readonly scrollLeft: number;
6
+ removeAttribute(name: string): void;
7
+ setAttribute(name: string, value: string): void;
8
+ scrollTo(options: {
9
+ top?: number;
10
+ left?: number;
11
+ behavior?: string;
12
+ }): void;
13
+ addEventListener(type: string, listener: (event: RealEvent) => void, options: {
14
+ capture?: boolean;
15
+ passive?: boolean;
16
+ }): void;
17
+ removeEventListener(type: string, listener: (event: RealEvent) => void, useCapture: boolean): void;
18
+ remove(): void;
19
+ before(...nodes: RealNode[]): void;
20
+ after(...nodes: RealNode[]): void;
21
+ append(...nodes: RealNode[]): void;
22
+ prepend(...nodes: RealNode[]): void;
23
+ };
24
+ export type RealTextNode = {
25
+ remove(): void;
26
+ before(...nodes: (RealNode | string)[]): void;
27
+ after(...nodes: (RealNode | string)[]): void;
28
+ readonly previousSibling: RealNode | null;
29
+ nodeValue: string;
30
+ };
31
+ export type RealNode = RealElement | RealTextNode;
32
+ export type RealHTMLInputElement = {
33
+ tagName: 'INPUT';
34
+ value: string;
35
+ checked: boolean;
36
+ selectionStart: number | null;
37
+ selectionEnd: number | null;
38
+ };
39
+ export type RealHTMLSelectElement = {
40
+ tagName: 'SELECT';
41
+ value: string;
42
+ };
43
+ export type RealHTMLTextAreaElement = {
44
+ tagName: 'TEXTAREA';
45
+ value: string;
46
+ selectionStart: number;
47
+ selectionEnd: number;
48
+ };
49
+ export type RealHTMLDivElement = {
50
+ tagName: 'DIV';
51
+ innerText: string;
52
+ };
53
+ export type RealHTMLOtherElement = {
54
+ tagName: 'OTHER';
55
+ };
56
+ export type RealEventTarget = RealHTMLDivElement | RealHTMLInputElement | RealHTMLSelectElement | RealHTMLTextAreaElement | RealHTMLOtherElement;
57
+ export type RealTouch = {
58
+ clientX: number;
59
+ clientY: number;
60
+ pageX: number;
61
+ pageY: number;
62
+ };
63
+ export type RealTouchList = {
64
+ readonly length: number;
65
+ item(index: number): RealTouch | null;
66
+ [index: number]: Touch;
67
+ };
68
+ export type RealTouchStartEvent = {
69
+ type: 'touchstart';
70
+ touches: RealTouchList;
71
+ target: RealEventTarget | null;
72
+ preventDefault(): void;
73
+ stopImmediatePropagation(): void;
74
+ eventPhase: number;
75
+ };
76
+ export type RealTouchMoveEvent = {
77
+ type: 'touchmove';
78
+ touches: RealTouchList;
79
+ target: RealEventTarget | null;
80
+ preventDefault(): void;
81
+ stopImmediatePropagation(): void;
82
+ eventPhase: number;
83
+ };
84
+ export type RealTouchEndEvent = {
85
+ type: 'touchend';
86
+ touches: RealTouchList;
87
+ target: RealEventTarget | null;
88
+ preventDefault(): void;
89
+ stopImmediatePropagation(): void;
90
+ eventPhase: number;
91
+ };
92
+ export type RealTouchCancelEvent = {
93
+ type: 'touchcancel';
94
+ touches: RealTouchList;
95
+ target: RealEventTarget | null;
96
+ preventDefault(): void;
97
+ stopImmediatePropagation(): void;
98
+ eventPhase: number;
99
+ };
100
+ export type RealTouchEvent = RealTouchStartEvent | RealTouchMoveEvent | RealTouchEndEvent | RealTouchCancelEvent;
101
+ export type RealKeyUpEvent = {
102
+ type: 'keyup';
103
+ key: string;
104
+ code: string;
105
+ target: RealEventTarget | null;
106
+ preventDefault(): void;
107
+ stopImmediatePropagation(): void;
108
+ eventPhase: number;
109
+ };
110
+ export type RealKeyDownEvent = {
111
+ type: 'keydown';
112
+ key: string;
113
+ code: string;
114
+ target: RealEventTarget | null;
115
+ preventDefault(): void;
116
+ stopImmediatePropagation(): void;
117
+ eventPhase: number;
118
+ };
119
+ export type RealKeyPressEvent = {
120
+ type: 'keypress';
121
+ key: string;
122
+ code: string;
123
+ target: RealEventTarget | null;
124
+ preventDefault(): void;
125
+ stopImmediatePropagation(): void;
126
+ eventPhase: number;
127
+ };
128
+ export type RealKeyboardEvent = RealKeyUpEvent | RealKeyDownEvent | RealKeyPressEvent;
129
+ export type RealFocusEvent = {
130
+ type: 'focus';
131
+ target: RealEventTarget | null;
132
+ preventDefault(): void;
133
+ stopImmediatePropagation(): void;
134
+ eventPhase: number;
135
+ };
136
+ export type RealBlurEvent = {
137
+ type: 'blur';
138
+ target: RealEventTarget | null;
139
+ preventDefault(): void;
140
+ stopImmediatePropagation(): void;
141
+ eventPhase: number;
142
+ };
143
+ export type RealDblClickEvent = {
144
+ type: 'dblclick';
145
+ target: RealEventTarget | null;
146
+ preventDefault(): void;
147
+ stopImmediatePropagation(): void;
148
+ eventPhase: number;
149
+ };
150
+ export type RealMouseMoveEvent = {
151
+ type: 'mousemove';
152
+ clientX: number;
153
+ clientY: number;
154
+ pageX: number;
155
+ pageY: number;
156
+ movementX: number;
157
+ movementY: number;
158
+ target: RealEventTarget | null;
159
+ preventDefault(): void;
160
+ stopImmediatePropagation(): void;
161
+ eventPhase: number;
162
+ };
163
+ export type RealWheelEvent = {
164
+ type: 'wheel';
165
+ deltaX: number;
166
+ deltaY: number;
167
+ deltaZ: number;
168
+ deltaMode: number;
169
+ target: RealEventTarget | null;
170
+ preventDefault(): void;
171
+ stopImmediatePropagation(): void;
172
+ eventPhase: number;
173
+ };
174
+ export type RealMouseEnterEvent = {
175
+ type: 'mouseenter';
176
+ target: RealEventTarget | null;
177
+ preventDefault(): void;
178
+ stopImmediatePropagation(): void;
179
+ eventPhase: number;
180
+ };
181
+ export type RealMouseLeaveEvent = {
182
+ type: 'mouseleave';
183
+ target: RealEventTarget | null;
184
+ preventDefault(): void;
185
+ stopImmediatePropagation(): void;
186
+ eventPhase: number;
187
+ };
188
+ export type RealScrollEvent = {
189
+ type: 'scroll';
190
+ target: RealEventTarget | null;
191
+ preventDefault(): void;
192
+ stopImmediatePropagation(): void;
193
+ eventPhase: number;
194
+ };
195
+ export type RealScrollEndEvent = {
196
+ type: 'scrollend';
197
+ target: RealEventTarget | null;
198
+ preventDefault(): void;
199
+ stopImmediatePropagation(): void;
200
+ eventPhase: number;
201
+ };
202
+ export type RealChangeEvent = {
203
+ type: 'change';
204
+ target: RealEventTarget | null;
205
+ preventDefault(): void;
206
+ stopImmediatePropagation(): void;
207
+ eventPhase: number;
208
+ };
209
+ export type OtherEvent = {
210
+ type: 'other';
211
+ target: RealEventTarget | null;
212
+ preventDefault(): void;
213
+ stopImmediatePropagation(): void;
214
+ eventPhase: number;
215
+ };
216
+ export type RealEvent = RealTouchEvent | RealKeyboardEvent | RealFocusEvent | RealBlurEvent | RealDblClickEvent | RealMouseEnterEvent | RealMouseLeaveEvent | RealMouseMoveEvent | RealScrollEvent | RealScrollEndEvent | RealWheelEvent | RealChangeEvent | OtherEvent;
217
+ export type RealDocument = {
218
+ createTextNode(text: string): RealTextNode;
219
+ getElementById(id: string): RealElement | null;
220
+ querySelector(selector: string): RealElement | null;
221
+ createElement(tag: string): RealElement;
222
+ readonly visibilityState: 'visible' | 'hidden';
223
+ addEventListener(type: string, listener: (event: RealEvent) => void, options: {
224
+ capture?: boolean;
225
+ passive?: boolean;
226
+ }): void;
227
+ removeEventListener(type: string, listener: (event: RealEvent) => void, useCapture: boolean): void;
228
+ };
229
+ export type RealLocation = {
230
+ protocol: string;
231
+ hostname: string;
232
+ port: string;
233
+ pathname: string;
234
+ search: string;
235
+ hash: string;
236
+ };
237
+ export type RealWindow = {
238
+ document: RealDocument;
239
+ addEventListener(type: string, listener: (event: RealEvent) => void, options: {
240
+ capture?: boolean;
241
+ passive?: boolean;
242
+ }): void;
243
+ removeEventListener(type: string, listener: (event: RealEvent) => void, useCapture: boolean): void;
244
+ dispatchEvent(event: Event): void;
245
+ innerWidth: number;
246
+ innerHeight: number;
247
+ location: RealLocation;
248
+ };
249
+ //# sourceMappingURL=realdom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realdom.d.ts","sourceRoot":"","sources":["../../src/internal/realdom.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ export type StyleRegistry = {
2
+ injectStyle(css: string): void;
3
+ };
4
+ export declare function realStyleRegistry(): StyleRegistry;
5
+ export declare function noopStyleRegistry(): StyleRegistry;
6
+ //# sourceMappingURL=styleregistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styleregistry.d.ts","sourceRoot":"","sources":["../../src/internal/styleregistry.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B,CAAA;AAED,wBAAgB,iBAAiB,IAAI,aAAa,CAWjD;AAED,wBAAgB,iBAAiB,IAAI,aAAa,CAIjD"}
@@ -0,0 +1,18 @@
1
+ export function realStyleRegistry() {
2
+ const injected = new Set();
3
+ return {
4
+ injectStyle(css) {
5
+ if (injected.has(css))
6
+ return;
7
+ injected.add(css);
8
+ const el = globalThis.document.createElement('style');
9
+ el.textContent = css;
10
+ globalThis.document.head.appendChild(el);
11
+ },
12
+ };
13
+ }
14
+ export function noopStyleRegistry() {
15
+ return {
16
+ injectStyle(_css) { },
17
+ };
18
+ }
@@ -0,0 +1,9 @@
1
+ import type { TaskId } from '../effects';
2
+ export declare class TaskRegistry {
3
+ private tasks;
4
+ set(taskId: TaskId, cleanup: () => void): void;
5
+ cancel(taskId: TaskId): void;
6
+ remove(taskId: TaskId): void;
7
+ cancelAll(): void;
8
+ }
9
+ //# sourceMappingURL=taskreg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taskreg.d.ts","sourceRoot":"","sources":["../../src/internal/taskreg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExC,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAoC;IAEjD,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI;IAI9C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM5B,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI5B,SAAS,IAAI,IAAI;CAMlB"}
@@ -0,0 +1,28 @@
1
+ export class TaskRegistry {
2
+ constructor() {
3
+ Object.defineProperty(this, "tasks", {
4
+ enumerable: true,
5
+ configurable: true,
6
+ writable: true,
7
+ value: {}
8
+ });
9
+ }
10
+ set(taskId, cleanup) {
11
+ this.tasks[taskId] = cleanup;
12
+ }
13
+ cancel(taskId) {
14
+ const cleanup = this.tasks[taskId];
15
+ if (cleanup)
16
+ cleanup();
17
+ delete this.tasks[taskId];
18
+ }
19
+ remove(taskId) {
20
+ delete this.tasks[taskId];
21
+ }
22
+ cancelAll() {
23
+ for (const cleanup of Object.values(this.tasks)) {
24
+ cleanup();
25
+ }
26
+ this.tasks = {};
27
+ }
28
+ }
@@ -0,0 +1,12 @@
1
+ import type { Component } from '../dom/components';
2
+ import { type TestableComponent, type TestConfig, type TestData } from '../testing';
3
+ export type RealLocation = {
4
+ protocol: string;
5
+ hostname: string;
6
+ port: string;
7
+ pathname: string;
8
+ search: string;
9
+ hash: string;
10
+ };
11
+ export declare function testableComponent<State, Params, Event, Custom = {}>(component: Component<State, Params, Event>, config: TestConfig, data?: TestData<Custom>): TestableComponent<State, Params, Event, Custom>;
12
+ //# sourceMappingURL=testing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/internal/testing.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,EAKL,KAAK,iBAAiB,EAEtB,KAAK,UAAU,EACf,KAAK,QAAQ,EACd,MAAM,YAAY,CAAA;AAienB,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAoZD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,EAAE,EACjE,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAC1C,MAAM,EAAE,UAAU,EAClB,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GACtB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAgCjD"}