airx 0.4.0 → 0.7.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 (150) hide show
  1. package/README.md +247 -63
  2. package/output/app/app.d.ts +41 -0
  3. package/output/app/app.d.ts.map +1 -0
  4. package/output/app/app.js +51 -0
  5. package/output/app/app.js.map +1 -0
  6. package/output/app/index.d.ts +2 -0
  7. package/output/app/index.d.ts.map +1 -0
  8. package/output/app/index.js +2 -0
  9. package/output/app/index.js.map +1 -0
  10. package/output/element/element.d.ts +108 -0
  11. package/output/element/element.d.ts.map +1 -0
  12. package/output/element/element.js +106 -0
  13. package/output/element/element.js.map +1 -0
  14. package/output/element/index.d.ts +2 -0
  15. package/output/element/index.d.ts.map +1 -0
  16. package/output/element/index.js +2 -0
  17. package/output/element/index.js.map +1 -0
  18. package/output/index.d.ts +40 -0
  19. package/output/index.d.ts.map +1 -0
  20. package/output/index.js +36 -0
  21. package/output/index.js.map +1 -0
  22. package/output/jsx-dev-runtime.d.ts +4 -0
  23. package/output/jsx-dev-runtime.d.ts.map +1 -0
  24. package/output/jsx-dev-runtime.js +9 -0
  25. package/output/jsx-dev-runtime.js.map +1 -0
  26. package/output/jsx-runtime.d.ts +23 -0
  27. package/output/jsx-runtime.d.ts.map +1 -0
  28. package/output/jsx-runtime.js +24 -0
  29. package/output/jsx-runtime.js.map +1 -0
  30. package/output/logger/index.d.ts +2 -0
  31. package/output/logger/index.d.ts.map +1 -0
  32. package/output/logger/index.js +2 -0
  33. package/output/logger/index.js.map +1 -0
  34. package/output/{esm → logger}/logger.d.ts +1 -0
  35. package/output/logger/logger.d.ts.map +1 -0
  36. package/output/logger/logger.js +17 -0
  37. package/output/logger/logger.js.map +1 -0
  38. package/output/{esm/render/common/index.d.ts → render/basic/common.d.ts} +4 -3
  39. package/output/render/basic/common.d.ts.map +1 -0
  40. package/output/render/basic/common.js +436 -0
  41. package/output/render/basic/common.js.map +1 -0
  42. package/output/render/basic/hooks/hooks.d.ts +61 -0
  43. package/output/render/basic/hooks/hooks.d.ts.map +1 -0
  44. package/output/render/basic/hooks/hooks.js +72 -0
  45. package/output/render/basic/hooks/hooks.js.map +1 -0
  46. package/output/render/basic/hooks/index.d.ts +2 -0
  47. package/output/render/basic/hooks/index.d.ts.map +1 -0
  48. package/output/render/basic/hooks/index.js +2 -0
  49. package/output/render/basic/hooks/index.js.map +1 -0
  50. package/output/render/basic/index.d.ts +2 -0
  51. package/output/render/basic/index.d.ts.map +1 -0
  52. package/output/render/basic/index.js +2 -0
  53. package/output/render/basic/index.js.map +1 -0
  54. package/output/{umd/render/common/plugins → render/basic/plugins/context}/context.d.ts +2 -1
  55. package/output/render/basic/plugins/context/context.d.ts.map +1 -0
  56. package/output/render/basic/plugins/context/context.js +12 -0
  57. package/output/render/basic/plugins/context/context.js.map +1 -0
  58. package/output/render/basic/plugins/context/index.d.ts +2 -0
  59. package/output/render/basic/plugins/context/index.d.ts.map +1 -0
  60. package/output/render/basic/plugins/context/index.js +2 -0
  61. package/output/render/basic/plugins/context/index.js.map +1 -0
  62. package/output/render/basic/plugins/index.d.ts +3 -0
  63. package/output/render/basic/plugins/index.d.ts.map +1 -0
  64. package/output/render/basic/plugins/index.js +2 -0
  65. package/output/render/basic/plugins/index.js.map +1 -0
  66. package/output/{umd/render/common/plugins/internal → render/basic/plugins/internal/basic}/basic.d.ts +4 -3
  67. package/output/render/basic/plugins/internal/basic/basic.d.ts.map +1 -0
  68. package/output/render/basic/plugins/internal/basic/basic.js +158 -0
  69. package/output/render/basic/plugins/internal/basic/basic.js.map +1 -0
  70. package/output/render/basic/plugins/internal/basic/index.d.ts +2 -0
  71. package/output/render/basic/plugins/internal/basic/index.d.ts.map +1 -0
  72. package/output/render/basic/plugins/internal/basic/index.js +2 -0
  73. package/output/render/basic/plugins/internal/basic/index.js.map +1 -0
  74. package/output/render/basic/plugins/internal/inject/index.d.ts +2 -0
  75. package/output/render/basic/plugins/internal/inject/index.d.ts.map +1 -0
  76. package/output/render/basic/plugins/internal/inject/index.js +2 -0
  77. package/output/render/basic/plugins/internal/inject/index.js.map +1 -0
  78. package/output/{umd/render/common/plugins/internal → render/basic/plugins/internal/inject}/inject.d.ts +3 -2
  79. package/output/render/basic/plugins/internal/inject/inject.d.ts.map +1 -0
  80. package/output/render/basic/plugins/internal/inject/inject.js +25 -0
  81. package/output/render/basic/plugins/internal/inject/inject.js.map +1 -0
  82. package/output/{umd/render/common/plugins/index.d.ts → render/basic/plugins/plugin.d.ts} +3 -3
  83. package/output/render/basic/plugins/plugin.d.ts.map +1 -0
  84. package/output/render/basic/plugins/plugin.js +2 -0
  85. package/output/render/basic/plugins/plugin.js.map +1 -0
  86. package/output/{esm/render → render/browser}/browser.d.ts +4 -3
  87. package/output/render/browser/browser.d.ts.map +1 -0
  88. package/output/render/browser/browser.js +218 -0
  89. package/output/render/browser/browser.js.map +1 -0
  90. package/output/render/browser/index.d.ts +2 -0
  91. package/output/render/browser/index.d.ts.map +1 -0
  92. package/output/render/browser/index.js +2 -0
  93. package/output/render/browser/index.js.map +1 -0
  94. package/output/render/index.d.ts +5 -0
  95. package/output/render/index.d.ts.map +1 -0
  96. package/output/render/index.js +5 -0
  97. package/output/render/index.js.map +1 -0
  98. package/output/render/server/index.d.ts +2 -0
  99. package/output/render/server/index.d.ts.map +1 -0
  100. package/output/render/server/index.js +2 -0
  101. package/output/render/server/index.js.map +1 -0
  102. package/output/{umd/render → render/server}/server.d.ts +3 -2
  103. package/output/render/server/server.d.ts.map +1 -0
  104. package/output/render/server/server.js +314 -0
  105. package/output/render/server/server.js.map +1 -0
  106. package/output/signal/index.d.ts +4 -0
  107. package/output/signal/index.d.ts.map +1 -0
  108. package/output/signal/index.js +2 -0
  109. package/output/signal/index.js.map +1 -0
  110. package/output/{esm/signal/index.d.ts → signal/signal.d.ts} +1 -1
  111. package/output/signal/signal.d.ts.map +1 -0
  112. package/output/signal/signal.js +46 -0
  113. package/output/signal/signal.js.map +1 -0
  114. package/output/symbol/index.d.ts +2 -0
  115. package/output/symbol/index.d.ts.map +1 -0
  116. package/output/symbol/index.js +2 -0
  117. package/output/symbol/index.js.map +1 -0
  118. package/output/types/index.d.ts +2 -0
  119. package/output/types/index.d.ts.map +1 -0
  120. package/output/types/index.js +2 -0
  121. package/output/types/index.js.map +1 -0
  122. package/output/{esm → types}/types.d.ts +3 -1
  123. package/output/types/types.d.ts.map +1 -0
  124. package/output/types/types.js +2 -0
  125. package/output/types/types.js.map +1 -0
  126. package/package.json +42 -15
  127. package/output/esm/element.d.ts +0 -48
  128. package/output/esm/index.d.ts +0 -14
  129. package/output/esm/index.js +0 -1289
  130. package/output/esm/index.js.map +0 -1
  131. package/output/esm/render/common/hooks.d.ts +0 -10
  132. package/output/esm/render/common/plugins/context.d.ts +0 -5
  133. package/output/esm/render/common/plugins/index.d.ts +0 -19
  134. package/output/esm/render/common/plugins/internal/basic.d.ts +0 -10
  135. package/output/esm/render/common/plugins/internal/inject.d.ts +0 -6
  136. package/output/esm/render/index.d.ts +0 -4
  137. package/output/esm/render/server.d.ts +0 -5
  138. package/output/esm/symbol.d.ts +0 -2
  139. package/output/umd/element.d.ts +0 -48
  140. package/output/umd/index.d.ts +0 -14
  141. package/output/umd/index.js +0 -1304
  142. package/output/umd/index.js.map +0 -1
  143. package/output/umd/logger.d.ts +0 -3
  144. package/output/umd/render/browser.d.ts +0 -7
  145. package/output/umd/render/common/hooks.d.ts +0 -10
  146. package/output/umd/render/common/index.d.ts +0 -64
  147. package/output/umd/render/index.d.ts +0 -4
  148. package/output/umd/signal/index.d.ts +0 -6
  149. package/output/umd/symbol.d.ts +0 -2
  150. package/output/umd/types.d.ts +0 -1173
@@ -0,0 +1,106 @@
1
+ import * as symbol from '../symbol/index.js';
2
+ /**
3
+ * 创建 Airx 虚拟节点。
4
+ *
5
+ * 可用于手写节点,也会被 JSX 转换后调用。
6
+ *
7
+ * @param type 标签名或组件函数。
8
+ * @param props 属性对象。
9
+ * @param children 可变子节点参数。
10
+ * @returns 标准化后的 AirxElement。
11
+ *
12
+ * @example
13
+ * import { createElement } from 'airx'
14
+ *
15
+ * const view = createElement('div', { class: 'box' }, 'hello')
16
+ *
17
+ * @example
18
+ * import { createElement } from 'airx'
19
+ *
20
+ * function Title(props: { text: string }) {
21
+ * return () => createElement('h1', null as never, props.text)
22
+ * }
23
+ *
24
+ * const node = createElement(Title, { text: 'Airx' })
25
+ */
26
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
+ export function createElement(type, props, ...children) {
28
+ const localChildren = [];
29
+ if (children.length > 0) {
30
+ localChildren.push(...children);
31
+ }
32
+ else if (props && props.children) {
33
+ localChildren.push(props.children);
34
+ }
35
+ return {
36
+ type,
37
+ props: {
38
+ ...props,
39
+ children: localChildren
40
+ },
41
+ [symbol.airxElementSymbol]: true
42
+ };
43
+ }
44
+ /**
45
+ * 判断一个值是否是合法的 AirxElement。
46
+ */
47
+ export function isValidElement(element) {
48
+ return typeof element === 'object'
49
+ && element !== null
50
+ && Reflect.get(element, symbol.airxElementSymbol) === true;
51
+ }
52
+ /**
53
+ * JSX Fragment 对应的运行时实现。
54
+ *
55
+ * @example
56
+ * function Card() {
57
+ * return () => (
58
+ * <>
59
+ * <h3>Title</h3>
60
+ * <p>Content</p>
61
+ * </>
62
+ * )
63
+ * }
64
+ */
65
+ export function Fragment(props) {
66
+ return () => props.children;
67
+ }
68
+ /**
69
+ * 为组件提供类型友好的包装。
70
+ *
71
+ * 主要用于在不使用 JSX 的场景下显式声明组件签名。
72
+ *
73
+ * @example
74
+ * import { component, createElement } from 'airx'
75
+ *
76
+ * const Hello = component<{ name: string }>((props) => {
77
+ * return () => createElement('h1', null as never, `Hello ${props.name}`)
78
+ * })
79
+ */
80
+ export function component(comp) {
81
+ return comp;
82
+ }
83
+ export function createErrorRender(error) {
84
+ console.error(error);
85
+ const handleClick = () => {
86
+ // 点击输出错误是为了避免
87
+ // 页面上多个组件同时出错时
88
+ // 无法定位错误与之对应的组件
89
+ console.error(error);
90
+ };
91
+ const formattingError = () => {
92
+ if (error == null)
93
+ return 'Unknown rendering error';
94
+ if (error instanceof Error)
95
+ return error.message;
96
+ return JSON.stringify(error);
97
+ };
98
+ const errorBlockStyle = {
99
+ padding: '8px',
100
+ fontSize: '20px',
101
+ color: 'rgb(255,255,255)',
102
+ backgroundColor: 'rgb(255, 0, 0)',
103
+ };
104
+ return () => createElement('div', { style: errorBlockStyle, onClick: handleClick }, formattingError());
105
+ }
106
+ //# sourceMappingURL=element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element.js","sourceRoot":"","sources":["../../source/element/element.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAA;AAgD5C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,8DAA8D;AAC9D,MAAM,UAAU,aAAa,CAC3B,IAAwB,EACxB,KAAqC,EACrC,GAAG,QAAwB;IAE3B,MAAM,aAAa,GAAmB,EAAE,CAAA;IAExC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,aAAa,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAA;IACjC,CAAC;SAAM,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,QAAwB,CAAC,CAAA;IACpD,CAAC;IAED,OAAO;QACL,IAAI;QACJ,KAAK,EAAE;YACL,GAAG,KAAK;YACR,QAAQ,EAAE,aAAa;SACxB;QACD,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,IAAI;KACjC,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,OAAO,OAAO,OAAO,KAAK,QAAQ;WAC7B,OAAO,KAAK,IAAI;WAChB,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAA;AAC9D,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAgC;IACvD,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAA;AAC7B,CAAC;AAiBD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,SAAS,CAAc,IAAsB;IAC3D,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAEpB,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,cAAc;QACd,eAAe;QACf,gBAAgB;QAChB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC,CAAA;IAED,MAAM,eAAe,GAAG,GAAW,EAAE;QACnC,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,yBAAyB,CAAA;QACnD,IAAI,KAAK,YAAY,KAAK;YAAE,OAAO,KAAK,CAAC,OAAO,CAAA;QAChD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC,CAAA;IAED,MAAM,eAAe,GAAkB;QACrC,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,kBAAkB;QACzB,eAAe,EAAE,gBAAgB;KAClC,CAAA;IAED,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,eAAe,EAAE,CAAC,CAAA;AACxG,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Props, AirxElement, AirxComponent, AirxChildren, createElement, AirxComponentRender, ReactiveComponent, Fragment, component, AirxComponentContext, isValidElement, AirxComponentMountedListener, AirxComponentUnmountedListener, createErrorRender } from './element.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/element/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,WAAW,EACX,aAAa,EACb,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,QAAQ,EACR,SAAS,EACT,oBAAoB,EACpB,cAAc,EACd,4BAA4B,EAC5B,8BAA8B,EAC9B,iBAAiB,EAClB,MAAM,cAAc,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { createElement, Fragment, component, isValidElement, createErrorRender } from './element.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/element/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,aAAa,EAGb,QAAQ,EACR,SAAS,EAET,cAAc,EAGd,iBAAiB,EAClB,MAAM,cAAc,CAAA"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * JSX/DOM 属性类型定义。
3
+ */
4
+ export * from './types/index.js';
5
+ /**
6
+ * 渲染插件类型。
7
+ */
8
+ export { type Plugin } from './render/index.js';
9
+ /**
10
+ * 应用入口 API。
11
+ *
12
+ * @example
13
+ * import { createApp } from 'airx'
14
+ * import { App } from './App.js'
15
+ *
16
+ * createApp(App).mount(document.getElementById('root')!)
17
+ */
18
+ export { type AirxApp, createApp } from './app/index.js';
19
+ /**
20
+ * 节点和组件 API。
21
+ *
22
+ * @example
23
+ * import { createElement, component } from 'airx'
24
+ *
25
+ * const Title = component((props: { text: string }) => {
26
+ * return () => createElement('h1', null as never, props.text)
27
+ * })
28
+ */
29
+ export { Fragment, component, createElement, type AirxComponent, type AirxElement, type AirxChildren, type AirxComponentContext } from './element/index.js';
30
+ /**
31
+ * 组件上下文 Hook API。
32
+ *
33
+ * @example
34
+ * import { provide, inject } from 'airx'
35
+ *
36
+ * provide('lang', 'en')
37
+ * const lang = inject<string>('lang')
38
+ */
39
+ export { inject, provide, onMounted, onUnmounted } from './render/index.js';
40
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,kBAAkB,CAAA;AAEhC;;GAEG;AACH,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/C;;;;;;;;GAQG;AACH,OAAO,EAAE,KAAK,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAExD;;;;;;;;;GASG;AACH,OAAO,EACL,QAAQ,EACR,SAAS,EACT,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EAC1B,MAAM,oBAAoB,CAAA;AAE3B;;;;;;;;GAQG;AACH,OAAO,EACL,MAAM,EACN,OAAO,EACP,SAAS,EACT,WAAW,EACZ,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * JSX/DOM 属性类型定义。
3
+ */
4
+ export * from './types/index.js';
5
+ /**
6
+ * 应用入口 API。
7
+ *
8
+ * @example
9
+ * import { createApp } from 'airx'
10
+ * import { App } from './App.js'
11
+ *
12
+ * createApp(App).mount(document.getElementById('root')!)
13
+ */
14
+ export { createApp } from './app/index.js';
15
+ /**
16
+ * 节点和组件 API。
17
+ *
18
+ * @example
19
+ * import { createElement, component } from 'airx'
20
+ *
21
+ * const Title = component((props: { text: string }) => {
22
+ * return () => createElement('h1', null as never, props.text)
23
+ * })
24
+ */
25
+ export { Fragment, component, createElement } from './element/index.js';
26
+ /**
27
+ * 组件上下文 Hook API。
28
+ *
29
+ * @example
30
+ * import { provide, inject } from 'airx'
31
+ *
32
+ * provide('lang', 'en')
33
+ * const lang = inject<string>('lang')
34
+ */
35
+ export { inject, provide, onMounted, onUnmounted } from './render/index.js';
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,kBAAkB,CAAA;AAOhC;;;;;;;;GAQG;AACH,OAAO,EAAgB,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAExD;;;;;;;;;GASG;AACH,OAAO,EACL,QAAQ,EACR,SAAS,EACT,aAAa,EAKd,MAAM,oBAAoB,CAAA;AAE3B;;;;;;;;GAQG;AACH,OAAO,EACL,MAAM,EACN,OAAO,EACP,SAAS,EACT,WAAW,EACZ,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { Fragment, jsx, jsxs } from './jsx-runtime.js';
2
+ export { Fragment, jsx, jsxs };
3
+ export declare function jsxDEV(type: Parameters<typeof jsx>[0], props: Parameters<typeof jsx>[1], key?: Parameters<typeof jsx>[2], _isStaticChildren?: boolean, _source?: unknown, _self?: unknown): ReturnType<typeof jsx>;
4
+ //# sourceMappingURL=jsx-dev-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsx-dev-runtime.d.ts","sourceRoot":"","sources":["../source/jsx-dev-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAEtD,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,CAAA;AAE9B,wBAAgB,MAAM,CACpB,IAAI,EAAE,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAC/B,KAAK,EAAE,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAChC,GAAG,CAAC,EAAE,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAC/B,iBAAiB,CAAC,EAAE,OAAO,EAC3B,OAAO,CAAC,EAAE,OAAO,EACjB,KAAK,CAAC,EAAE,OAAO,GACd,UAAU,CAAC,OAAO,GAAG,CAAC,CAKxB"}
@@ -0,0 +1,9 @@
1
+ import { Fragment, jsx, jsxs } from './jsx-runtime.js';
2
+ export { Fragment, jsx, jsxs };
3
+ export function jsxDEV(type, props, key, _isStaticChildren, _source, _self) {
4
+ void _isStaticChildren;
5
+ void _source;
6
+ void _self;
7
+ return jsx(type, props, key);
8
+ }
9
+ //# sourceMappingURL=jsx-dev-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsx-dev-runtime.js","sourceRoot":"","sources":["../source/jsx-dev-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAEtD,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,CAAA;AAE9B,MAAM,UAAU,MAAM,CACpB,IAA+B,EAC/B,KAAgC,EAChC,GAA+B,EAC/B,iBAA2B,EAC3B,OAAiB,EACjB,KAAe;IAEf,KAAK,iBAAiB,CAAA;IACtB,KAAK,OAAO,CAAA;IACZ,KAAK,KAAK,CAAA;IACV,OAAO,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;AAC9B,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { Fragment as AirxFragment, type AirxComponent, type AirxComponentRender, type AirxElement, type Props } from './element/index.js';
2
+ import type { NativeElements } from './types/index.js';
3
+ type Key = string | number | symbol;
4
+ type JSXComponent = AirxComponent<unknown>;
5
+ type JSXElementType = keyof NativeElements | JSXComponent;
6
+ export declare const Fragment: typeof AirxFragment;
7
+ export declare function jsx(type: JSXElementType, props: Props | null, key?: Key): AirxElement;
8
+ export declare const jsxs: typeof jsx;
9
+ export declare namespace JSX {
10
+ type ElementClass = never;
11
+ interface Element extends AirxComponentRender {
12
+ }
13
+ interface ElementChildrenAttribute {
14
+ children: {};
15
+ }
16
+ interface IntrinsicElements extends NativeElements {
17
+ }
18
+ interface IntrinsicAttributes {
19
+ key?: Key;
20
+ }
21
+ }
22
+ export {};
23
+ //# sourceMappingURL=jsx-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../source/jsx-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,IAAI,YAAY,EAExB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,KAAK,EACX,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEtD,KAAK,GAAG,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;AACnC,KAAK,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;AAC1C,KAAK,cAAc,GAAG,MAAM,cAAc,GAAG,YAAY,CAAA;AAwBzD,eAAO,MAAM,QAAQ,qBAAe,CAAA;AAEpC,wBAAgB,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,WAAW,CAErF;AAED,eAAO,MAAM,IAAI,YAAM,CAAA;AAGvB,yBAAiB,GAAG,CAAC;IACnB,KAAY,YAAY,GAAG,KAAK,CAAA;IAGhC,UAAiB,OAAQ,SAAQ,mBAAmB;KAAG;IAGvD,UAAiB,wBAAwB;QAEvC,QAAQ,EAAE,EAAE,CAAA;KACb;IAGD,UAAiB,iBAAkB,SAAQ,cAAc;KAAG;IAE5D,UAAiB,mBAAmB;QAClC,GAAG,CAAC,EAAE,GAAG,CAAA;KACV;CACF"}
@@ -0,0 +1,24 @@
1
+ import { createElement, Fragment as AirxFragment } from './element/index.js';
2
+ function normalizeChildren(children) {
3
+ if (children === undefined) {
4
+ return [];
5
+ }
6
+ if (Array.isArray(children)) {
7
+ return children;
8
+ }
9
+ return [children];
10
+ }
11
+ function createJsxElement(type, props, key) {
12
+ const original = props ?? {};
13
+ const mergedProps = key !== undefined && original.key === undefined
14
+ ? { ...original, key }
15
+ : { ...original };
16
+ const children = normalizeChildren(mergedProps.children);
17
+ return createElement(type, mergedProps, ...children);
18
+ }
19
+ export const Fragment = AirxFragment;
20
+ export function jsx(type, props, key) {
21
+ return createJsxElement(type, props, key);
22
+ }
23
+ export const jsxs = jsx;
24
+ //# sourceMappingURL=jsx-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsx-runtime.js","sourceRoot":"","sources":["../source/jsx-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,QAAQ,IAAI,YAAY,EAMzB,MAAM,oBAAoB,CAAA;AAO3B,SAAS,iBAAiB,CAAC,QAAiB;IAC1C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,OAAO,QAA0B,CAAA;IACnC,CAAC;IAED,OAAO,CAAC,QAAwB,CAAC,CAAA;AACnC,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAoB,EAAE,KAA+B,EAAE,GAAS;IACxF,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE,CAAA;IAC5B,MAAM,WAAW,GAAU,GAAG,KAAK,SAAS,IAAI,QAAQ,CAAC,GAAG,KAAK,SAAS;QACxE,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,EAAE;QACtB,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAA;IAEnB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IACxD,OAAO,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAA;AACtD,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAA;AAEpC,MAAM,UAAU,GAAG,CAAC,IAAoB,EAAE,KAAmB,EAAE,GAAS;IACtE,OAAO,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;AAC3C,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './logger.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/logger/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './logger.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/logger/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
@@ -1,3 +1,4 @@
1
1
  export declare function createLogger(name: string): {
2
2
  debug: (...args: unknown[]) => void;
3
3
  };
4
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../source/logger/logger.ts"],"names":[],"mappings":"AAQA,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM;qBAMf,OAAO,EAAE;EAKlC"}
@@ -0,0 +1,17 @@
1
+ function shouldPrintLogs() {
2
+ return typeof process != 'undefined'
3
+ && process?.env?.NODE_ENV === 'development'
4
+ && process?.env?.AIRX_DEBUG === 'true';
5
+ }
6
+ export function createLogger(name) {
7
+ function getPrintPrefix() {
8
+ const date = new Date().toLocaleString();
9
+ return `[${date}][${name}]`;
10
+ }
11
+ function debug(...args) {
12
+ if (shouldPrintLogs())
13
+ console.log(getPrintPrefix(), ...args);
14
+ }
15
+ return { debug };
16
+ }
17
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../source/logger/logger.ts"],"names":[],"mappings":"AAEA,SAAS,eAAe;IACtB,OAAO,OAAO,OAAO,IAAI,WAAW;WAC/B,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,aAAa;WACxC,OAAO,EAAE,GAAG,EAAE,UAAU,KAAK,MAAM,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,SAAS,cAAc;QACrB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,CAAA;QACxC,OAAO,IAAI,IAAI,KAAK,IAAI,GAAG,CAAA;IAC7B,CAAC;IAED,SAAS,KAAK,CAAC,GAAG,IAAe;QAC/B,IAAI,eAAe,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;IAC/D,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,CAAA;AAClB,CAAC"}
@@ -1,6 +1,6 @@
1
- import * as signal from '../../signal';
2
- import { AirxElement, AirxComponentContext, AirxComponentMountedListener, AirxComponentUnmountedListener, AirxComponentRender } from '../../element';
3
- import { PluginContext } from './plugins';
1
+ import * as signal from '../../signal/index.js';
2
+ import { AirxElement, AirxComponentContext, AirxComponentMountedListener, AirxComponentUnmountedListener, AirxComponentRender } from '../../element/index.js';
3
+ import { PluginContext } from './plugins/index.js';
4
4
  export type Disposer = () => void;
5
5
  export declare class InnerAirxComponentContext<E extends AbstractElement> implements AirxComponentContext {
6
6
  instance: Instance<E>;
@@ -62,3 +62,4 @@ type OnUpdateRequire<E extends AbstractElement> = (instance: Instance<E>) => voi
62
62
  */
63
63
  export declare function performUnitOfWork<E extends AbstractElement>(pluginContext: PluginContext, instance: Instance<E>, onUpdateRequire?: OnUpdateRequire<E>): Instance<E> | null;
64
64
  export {};
65
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../source/render/basic/common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAG/C,OAAO,EACL,WAAW,EAIX,oBAAoB,EACpB,4BAA4B,EAC5B,8BAA8B,EAC9B,mBAAmB,EAEpB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGlD,MAAM,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAA;AAEjC,qBAAa,yBAAyB,CAAC,CAAC,SAAS,eAAe,CAAE,YAAW,oBAAoB;IACxF,QAAQ,EAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC7B,OAAO,CAAC,SAAS,CAAsB;IAChC,WAAW,wBAA8B;IACzC,WAAW,wBAA8B;IAChD,OAAO,CAAC,cAAc,CAA0C;IAChE,OAAO,CAAC,kBAAkB,CAA4C;IAE/D,cAAc;IAkBd,gBAAgB;IAuBhB,SAAS,CAAC,QAAQ,EAAE,4BAA4B;IAIhD,WAAW,CAAC,QAAQ,EAAE,8BAA8B;IAKpD,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI;IAe5E,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,SAAS;IAqBnD,WAAW,CAAC,GAAG,SAAS,EAAE,QAAQ,EAAE;IAMpC,OAAO;IAmBP;;;OAGG;IACI,cAAc,IAAI,oBAAoB;CAQ9C;AAGD,MAAM,WAAW,eAAe;CAAI;AAEpC;;;;;;;GAOG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe;IACnE,MAAM,CAAC,EAAE,CAAC,CAAA;IAEV,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IACnB,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IACpB,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IACrB,SAAS,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAE5B,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,aAAa,CAAC,EAAE,WAAW,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC,OAAO,CAAA;IAC9B,oBAAoB,CAAC,EAAE,mBAAmB,GAAG,WAAW,CAAA;IAExD,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,OAAO,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAA;IAGrC,SAAS,CAAC,EAAE,GAAG,CAAA;CAChB;AAGD;;;;KAIK;AACL,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,WAAW,EAAE,QA0MvJ;AAED,KAAK,eAAe,CAAC,CAAC,SAAS,eAAe,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;AAEjF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAmI1K"}