flexium 0.10.7 → 0.12.8

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 (192) hide show
  1. package/README.md +10 -10
  2. package/dist/canvas.d.cts +83 -23
  3. package/dist/canvas.d.ts +83 -23
  4. package/dist/canvas.js +1 -1
  5. package/dist/canvas.js.map +1 -1
  6. package/dist/canvas.mjs +1 -1
  7. package/dist/canvas.mjs.map +1 -1
  8. package/dist/chunk-44RZHCII.mjs +2 -0
  9. package/dist/chunk-44RZHCII.mjs.map +1 -0
  10. package/dist/chunk-7BXR4ZFD.js +2 -0
  11. package/dist/chunk-7BXR4ZFD.js.map +1 -0
  12. package/dist/chunk-CPJRQL2C.mjs +2 -0
  13. package/dist/chunk-CPJRQL2C.mjs.map +1 -0
  14. package/dist/chunk-ENWGYQNU.js +2 -0
  15. package/dist/chunk-ENWGYQNU.js.map +1 -0
  16. package/dist/chunk-EXLNKYSH.js +2 -0
  17. package/dist/chunk-EXLNKYSH.js.map +1 -0
  18. package/dist/chunk-IA4FEBFE.js +2 -0
  19. package/dist/chunk-IA4FEBFE.js.map +1 -0
  20. package/dist/chunk-IOF6L2BT.mjs +2 -0
  21. package/dist/chunk-IOF6L2BT.mjs.map +1 -0
  22. package/dist/chunk-KBUONZI2.js +2 -0
  23. package/dist/chunk-KBUONZI2.js.map +1 -0
  24. package/dist/chunk-LUREDEUB.mjs +2 -0
  25. package/dist/chunk-LUREDEUB.mjs.map +1 -0
  26. package/dist/chunk-LUW7DIEW.js +2 -0
  27. package/dist/chunk-LUW7DIEW.js.map +1 -0
  28. package/dist/chunk-S6WF3XNF.mjs +2 -0
  29. package/dist/chunk-S6WF3XNF.mjs.map +1 -0
  30. package/dist/chunk-ZCO4NIGC.mjs +2 -0
  31. package/dist/chunk-ZCO4NIGC.mjs.map +1 -0
  32. package/dist/core.d.cts +41 -2
  33. package/dist/core.d.ts +41 -2
  34. package/dist/core.js +1 -1
  35. package/dist/core.mjs +1 -1
  36. package/dist/dom.d.cts +10 -33
  37. package/dist/dom.d.ts +10 -33
  38. package/dist/dom.js +1 -1
  39. package/dist/dom.js.map +1 -1
  40. package/dist/dom.mjs +1 -1
  41. package/dist/dom.mjs.map +1 -1
  42. package/dist/index.d.cts +1 -24
  43. package/dist/index.d.ts +1 -24
  44. package/dist/index.js +1 -1
  45. package/dist/index.js.map +1 -1
  46. package/dist/index.mjs +1 -1
  47. package/dist/index.mjs.map +1 -1
  48. package/dist/interactive.d.cts +65 -148
  49. package/dist/interactive.d.ts +65 -148
  50. package/dist/interactive.js +1 -1
  51. package/dist/interactive.js.map +1 -1
  52. package/dist/interactive.mjs +1 -1
  53. package/dist/interactive.mjs.map +1 -1
  54. package/dist/jsx-dev-runtime.d.cts +6 -2
  55. package/dist/jsx-dev-runtime.d.ts +6 -2
  56. package/dist/jsx-dev-runtime.js +1 -1
  57. package/dist/jsx-dev-runtime.js.map +1 -1
  58. package/dist/jsx-dev-runtime.mjs +1 -1
  59. package/dist/jsx-dev-runtime.mjs.map +1 -1
  60. package/dist/jsx-runtime.d.cts +6 -68
  61. package/dist/jsx-runtime.d.ts +6 -68
  62. package/dist/jsx-runtime.js +1 -1
  63. package/dist/jsx-runtime.mjs +1 -1
  64. package/dist/metafile-cjs.json +1 -1
  65. package/dist/metafile-esm.json +1 -1
  66. package/dist/router.d.cts +48 -15
  67. package/dist/router.d.ts +48 -15
  68. package/dist/router.js +1 -1
  69. package/dist/router.js.map +1 -1
  70. package/dist/router.mjs +1 -1
  71. package/dist/router.mjs.map +1 -1
  72. package/package.json +13 -53
  73. package/dist/DrawText-CVAKQ5wZ.d.cts +0 -309
  74. package/dist/DrawText-Dlh1L1Ar.d.ts +0 -309
  75. package/dist/Motion-BrOAJzgH.d.cts +0 -87
  76. package/dist/Motion-BrOAJzgH.d.ts +0 -87
  77. package/dist/advanced.d.cts +0 -32
  78. package/dist/advanced.d.ts +0 -32
  79. package/dist/advanced.js +0 -2
  80. package/dist/advanced.js.map +0 -1
  81. package/dist/advanced.mjs +0 -2
  82. package/dist/advanced.mjs.map +0 -1
  83. package/dist/chunk-5ICRQIS2.js +0 -3
  84. package/dist/chunk-5ICRQIS2.js.map +0 -1
  85. package/dist/chunk-5K55ASOD.mjs +0 -3
  86. package/dist/chunk-5K55ASOD.mjs.map +0 -1
  87. package/dist/chunk-AZEHBSBG.js +0 -3
  88. package/dist/chunk-AZEHBSBG.js.map +0 -1
  89. package/dist/chunk-BBNYMXE7.mjs +0 -2
  90. package/dist/chunk-BBNYMXE7.mjs.map +0 -1
  91. package/dist/chunk-BYHIHYRR.mjs +0 -2
  92. package/dist/chunk-BYHIHYRR.mjs.map +0 -1
  93. package/dist/chunk-DZ7L3SHV.js +0 -2
  94. package/dist/chunk-DZ7L3SHV.js.map +0 -1
  95. package/dist/chunk-ECYYIQEX.mjs +0 -3
  96. package/dist/chunk-ECYYIQEX.mjs.map +0 -1
  97. package/dist/chunk-FDMJHFN7.mjs +0 -2
  98. package/dist/chunk-FDMJHFN7.mjs.map +0 -1
  99. package/dist/chunk-GKJQEOP7.mjs +0 -2
  100. package/dist/chunk-GKJQEOP7.mjs.map +0 -1
  101. package/dist/chunk-GYDP6MFV.js +0 -3
  102. package/dist/chunk-GYDP6MFV.js.map +0 -1
  103. package/dist/chunk-HB5VPQTB.mjs +0 -2
  104. package/dist/chunk-HB5VPQTB.mjs.map +0 -1
  105. package/dist/chunk-KNF5ERPK.mjs +0 -2
  106. package/dist/chunk-KNF5ERPK.mjs.map +0 -1
  107. package/dist/chunk-OPAAGNBO.mjs +0 -2
  108. package/dist/chunk-OPAAGNBO.mjs.map +0 -1
  109. package/dist/chunk-OPAQ4R4M.mjs +0 -2
  110. package/dist/chunk-OPAQ4R4M.mjs.map +0 -1
  111. package/dist/chunk-Q7IWDVJ4.js +0 -2
  112. package/dist/chunk-Q7IWDVJ4.js.map +0 -1
  113. package/dist/chunk-QPCIDSMM.js +0 -2
  114. package/dist/chunk-QPCIDSMM.js.map +0 -1
  115. package/dist/chunk-QZIX4FXS.mjs +0 -2
  116. package/dist/chunk-QZIX4FXS.mjs.map +0 -1
  117. package/dist/chunk-RMN5IPS5.js +0 -2
  118. package/dist/chunk-RMN5IPS5.js.map +0 -1
  119. package/dist/chunk-U6C6VDVZ.js +0 -2
  120. package/dist/chunk-U6C6VDVZ.js.map +0 -1
  121. package/dist/chunk-WQFQO5LK.js +0 -2
  122. package/dist/chunk-WQFQO5LK.js.map +0 -1
  123. package/dist/chunk-WVEJT7HD.mjs +0 -2
  124. package/dist/chunk-WVEJT7HD.mjs.map +0 -1
  125. package/dist/chunk-WWEWRI6S.js +0 -2
  126. package/dist/chunk-WWEWRI6S.js.map +0 -1
  127. package/dist/chunk-XJHWMHKF.js +0 -2
  128. package/dist/chunk-XJHWMHKF.js.map +0 -1
  129. package/dist/chunk-Y6KKAHLS.mjs +0 -3
  130. package/dist/chunk-Y6KKAHLS.mjs.map +0 -1
  131. package/dist/chunk-YDZ37ZZ4.js +0 -2
  132. package/dist/chunk-YDZ37ZZ4.js.map +0 -1
  133. package/dist/chunk-YPVRQKMW.js +0 -2
  134. package/dist/chunk-YPVRQKMW.js.map +0 -1
  135. package/dist/components-BMbqsbMY.d.cts +0 -126
  136. package/dist/components-C83mBQXW.d.ts +0 -126
  137. package/dist/core-CxHP8991.d.cts +0 -32
  138. package/dist/core-D0ggvjX3.d.ts +0 -32
  139. package/dist/effect-554ONNZR.js +0 -2
  140. package/dist/effect-554ONNZR.js.map +0 -1
  141. package/dist/effect-T2GVIS3T.mjs +0 -2
  142. package/dist/effect-T2GVIS3T.mjs.map +0 -1
  143. package/dist/owner-QS9tPwPr.d.cts +0 -27
  144. package/dist/owner-QS9tPwPr.d.ts +0 -27
  145. package/dist/portal-BK_0Z0hE.d.cts +0 -206
  146. package/dist/portal-CbguxtuQ.d.ts +0 -206
  147. package/dist/primitives/layout.d.cts +0 -295
  148. package/dist/primitives/layout.d.ts +0 -295
  149. package/dist/primitives/layout.js +0 -2
  150. package/dist/primitives/layout.js.map +0 -1
  151. package/dist/primitives/layout.mjs +0 -2
  152. package/dist/primitives/layout.mjs.map +0 -1
  153. package/dist/primitives/motion.d.cts +0 -230
  154. package/dist/primitives/motion.d.ts +0 -230
  155. package/dist/primitives/motion.js +0 -2
  156. package/dist/primitives/motion.js.map +0 -1
  157. package/dist/primitives/motion.mjs +0 -2
  158. package/dist/primitives/motion.mjs.map +0 -1
  159. package/dist/primitives/ui.d.cts +0 -81
  160. package/dist/primitives/ui.d.ts +0 -81
  161. package/dist/primitives/ui.js +0 -2
  162. package/dist/primitives/ui.js.map +0 -1
  163. package/dist/primitives/ui.mjs +0 -2
  164. package/dist/primitives/ui.mjs.map +0 -1
  165. package/dist/primitives.d.cts +0 -93
  166. package/dist/primitives.d.ts +0 -93
  167. package/dist/primitives.js +0 -2
  168. package/dist/primitives.js.map +0 -1
  169. package/dist/primitives.mjs +0 -2
  170. package/dist/primitives.mjs.map +0 -1
  171. package/dist/renderer-DSLb-FGg.d.cts +0 -135
  172. package/dist/renderer-DSLb-FGg.d.ts +0 -135
  173. package/dist/server.d.cts +0 -3
  174. package/dist/server.d.ts +0 -3
  175. package/dist/server.js +0 -2
  176. package/dist/server.js.map +0 -1
  177. package/dist/server.mjs +0 -2
  178. package/dist/server.mjs.map +0 -1
  179. package/dist/state-DitsMyev.d.cts +0 -96
  180. package/dist/state-DitsMyev.d.ts +0 -96
  181. package/dist/state-RYKSC35A.mjs +0 -2
  182. package/dist/state-RYKSC35A.mjs.map +0 -1
  183. package/dist/state-XUXPMCFJ.js +0 -2
  184. package/dist/state-XUXPMCFJ.js.map +0 -1
  185. package/dist/sync-Z4QqUDjF.d.cts +0 -25
  186. package/dist/sync-Z4QqUDjF.d.ts +0 -25
  187. package/dist/test-exports.d.cts +0 -68
  188. package/dist/test-exports.d.ts +0 -68
  189. package/dist/test-exports.js +0 -2
  190. package/dist/test-exports.js.map +0 -1
  191. package/dist/test-exports.mjs +0 -2
  192. package/dist/test-exports.mjs.map +0 -1
@@ -1,309 +0,0 @@
1
- import { S as StateValue } from './state-DitsMyev.cjs';
2
-
3
- /**
4
- * Core Flexium types
5
- */
6
- /**
7
- * Flexium Node - internal representation of UI elements
8
- */
9
- interface FNode {
10
- type: string;
11
- props: Record<string, any>;
12
- children: FNode[];
13
- }
14
-
15
- /**
16
- * Cross-platform Primitives Type Definitions
17
- *
18
- * These types work across web (DOM) and React Native
19
- */
20
-
21
- /**
22
- * Common style properties that work on both web and React Native
23
- * Based on Flexbox layout model
24
- */
25
- interface CommonStyle {
26
- display?: 'flex' | 'none';
27
- flex?: number;
28
- flexDirection?: 'row' | 'column' | 'row-reverse' | 'column-reverse';
29
- flexWrap?: 'nowrap' | 'wrap' | 'wrap-reverse';
30
- justifyContent?: 'flex-start' | 'center' | 'flex-end' | 'space-between' | 'space-around' | 'space-evenly';
31
- alignItems?: 'flex-start' | 'center' | 'flex-end' | 'stretch' | 'baseline';
32
- alignSelf?: 'auto' | 'flex-start' | 'center' | 'flex-end' | 'stretch';
33
- gap?: number;
34
- padding?: number;
35
- paddingTop?: number;
36
- paddingRight?: number;
37
- paddingBottom?: number;
38
- paddingLeft?: number;
39
- paddingHorizontal?: number;
40
- paddingVertical?: number;
41
- margin?: number;
42
- marginTop?: number;
43
- marginRight?: number;
44
- marginBottom?: number;
45
- marginLeft?: number;
46
- marginHorizontal?: number;
47
- marginVertical?: number;
48
- width?: number | string;
49
- height?: number | string;
50
- minWidth?: number;
51
- maxWidth?: number;
52
- minHeight?: number;
53
- maxHeight?: number;
54
- backgroundColor?: string;
55
- borderRadius?: number;
56
- borderTopLeftRadius?: number;
57
- borderTopRightRadius?: number;
58
- borderBottomLeftRadius?: number;
59
- borderBottomRightRadius?: number;
60
- opacity?: number;
61
- borderWidth?: number;
62
- borderColor?: string;
63
- borderTopWidth?: number;
64
- borderRightWidth?: number;
65
- borderBottomWidth?: number;
66
- borderLeftWidth?: number;
67
- position?: 'relative' | 'absolute';
68
- top?: number;
69
- right?: number;
70
- bottom?: number;
71
- left?: number;
72
- zIndex?: number;
73
- transform?: string;
74
- }
75
- /**
76
- * Text-specific style properties
77
- */
78
- interface TextStyle extends CommonStyle {
79
- color?: string;
80
- fontSize?: number;
81
- fontWeight?: 'normal' | 'bold' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' | number;
82
- fontFamily?: string;
83
- fontStyle?: 'normal' | 'italic';
84
- textAlign?: 'left' | 'center' | 'right' | 'justify';
85
- textDecoration?: 'none' | 'underline' | 'line-through';
86
- lineHeight?: number;
87
- letterSpacing?: number;
88
- }
89
- /**
90
- * Text component props
91
- * Universal text display
92
- */
93
- interface TextProps {
94
- children?: any;
95
- style?: TextStyle;
96
- /** Press/click handler (unified API for web and mobile) */
97
- onPress?: () => void;
98
- /** CSS class name */
99
- class?: string;
100
- }
101
- /**
102
- * Image component props
103
- */
104
- interface ImageProps {
105
- src: string;
106
- alt?: string;
107
- width?: number;
108
- height?: number;
109
- style?: CommonStyle;
110
- onLoad?: () => void;
111
- onError?: () => void;
112
- }
113
- /**
114
- * Pressable component props
115
- * Universal touchable/clickable element
116
- */
117
- interface PressableProps {
118
- children?: any;
119
- onPress: () => void;
120
- onPressIn?: () => void;
121
- onPressOut?: () => void;
122
- disabled?: boolean;
123
- style?: CommonStyle;
124
- activeOpacity?: number;
125
- }
126
- /**
127
- * ScrollView component props
128
- */
129
- interface ScrollViewProps {
130
- children?: any;
131
- style?: CommonStyle;
132
- horizontal?: boolean;
133
- /** Show horizontal scrollbar (default: true) */
134
- showScrollbarX?: boolean;
135
- /** Show vertical scrollbar (default: true) */
136
- showScrollbarY?: boolean;
137
- }
138
- /**
139
- * Canvas container props
140
- */
141
- interface CanvasProps {
142
- width: number;
143
- height: number;
144
- children?: any;
145
- style?: CommonStyle;
146
- id?: string;
147
- }
148
- /**
149
- * Rectangle drawing props
150
- */
151
- interface DrawRectProps {
152
- x: number | StateValue<number>;
153
- y: number | StateValue<number>;
154
- width: number | StateValue<number>;
155
- height: number | StateValue<number>;
156
- fill?: string | StateValue<string>;
157
- stroke?: string | StateValue<string>;
158
- strokeWidth?: number | StateValue<number>;
159
- opacity?: number | StateValue<number>;
160
- }
161
- /**
162
- * Circle drawing props
163
- */
164
- interface DrawCircleProps {
165
- x: number | StateValue<number>;
166
- y: number | StateValue<number>;
167
- radius: number | StateValue<number>;
168
- fill?: string | StateValue<string>;
169
- stroke?: string | StateValue<string>;
170
- strokeWidth?: number | StateValue<number>;
171
- opacity?: number | StateValue<number>;
172
- }
173
- /**
174
- * Path drawing props
175
- */
176
- interface DrawPathProps {
177
- d: string | StateValue<string>;
178
- fill?: string | StateValue<string>;
179
- stroke?: string | StateValue<string>;
180
- strokeWidth?: number | StateValue<number>;
181
- opacity?: number | StateValue<number>;
182
- }
183
- /**
184
- * Canvas text drawing props
185
- */
186
- interface DrawTextProps {
187
- x: number | StateValue<number>;
188
- y: number | StateValue<number>;
189
- text: string | StateValue<string>;
190
- fill?: string | StateValue<string>;
191
- fontSize?: number | StateValue<number>;
192
- fontFamily?: string;
193
- fontWeight?: 'normal' | 'bold' | number;
194
- textAlign?: 'left' | 'center' | 'right';
195
- textBaseline?: 'top' | 'middle' | 'bottom' | 'alphabetic';
196
- }
197
- /**
198
- * Line drawing props
199
- */
200
- interface DrawLineProps {
201
- x1: number | StateValue<number>;
202
- y1: number | StateValue<number>;
203
- x2: number | StateValue<number>;
204
- y2: number | StateValue<number>;
205
- stroke?: string | StateValue<string>;
206
- strokeWidth?: number | StateValue<number>;
207
- opacity?: number | StateValue<number>;
208
- }
209
- /**
210
- * Arc drawing props
211
- */
212
- interface DrawArcProps {
213
- x: number | StateValue<number>;
214
- y: number | StateValue<number>;
215
- radius: number | StateValue<number>;
216
- startAngle: number | StateValue<number>;
217
- endAngle: number | StateValue<number>;
218
- counterclockwise?: boolean;
219
- fill?: string | StateValue<string>;
220
- stroke?: string | StateValue<string>;
221
- strokeWidth?: number | StateValue<number>;
222
- opacity?: number | StateValue<number>;
223
- }
224
-
225
- /**
226
- * Canvas - Declarative canvas container with JSX drawing
227
- *
228
- * Supports Signal-based reactive rendering
229
- *
230
- * @example
231
- * ```tsx
232
- * const x = signal(50)
233
- *
234
- * <Canvas width={300} height={200}>
235
- * <Rect x={x} y={50} width={100} height={50} fill="blue" />
236
- * <Circle x={150} y={100} radius={30} fill="red" />
237
- * </Canvas>
238
- * ```
239
- */
240
-
241
- declare function Canvas(props: CanvasProps): FNode;
242
-
243
- /**
244
- * DrawRect - Canvas rectangle primitive
245
- *
246
- * @example
247
- * ```tsx
248
- * <DrawRect x={10} y={10} width={100} height={50} fill="blue" />
249
- * ```
250
- */
251
-
252
- declare function DrawRect(props: DrawRectProps): FNode;
253
-
254
- /**
255
- * DrawCircle - Canvas circle primitive
256
- *
257
- * @example
258
- * ```tsx
259
- * <DrawCircle x={100} y={100} radius={50} fill="red" />
260
- * ```
261
- */
262
-
263
- declare function DrawCircle(props: DrawCircleProps): FNode;
264
-
265
- /**
266
- * DrawArc - Canvas arc primitive
267
- *
268
- * @example
269
- * ```tsx
270
- * <DrawArc x={100} y={100} radius={50} startAngle={0} endAngle={Math.PI} fill="green" />
271
- * ```
272
- */
273
-
274
- declare function DrawArc(props: DrawArcProps): FNode;
275
-
276
- /**
277
- * DrawLine - Canvas line primitive
278
- *
279
- * @example
280
- * ```tsx
281
- * <DrawLine x1={10} y1={10} x2={100} y2={100} stroke="black" strokeWidth={2} />
282
- * ```
283
- */
284
-
285
- declare function DrawLine(props: DrawLineProps): FNode;
286
-
287
- /**
288
- * DrawPath - Canvas path primitive
289
- *
290
- * @example
291
- * ```tsx
292
- * <DrawPath d="M 10 10 L 100 100" stroke="black" strokeWidth={2} />
293
- * ```
294
- */
295
-
296
- declare function DrawPath(props: DrawPathProps): FNode;
297
-
298
- /**
299
- * DrawText - Canvas text primitive
300
- *
301
- * @example
302
- * ```tsx
303
- * <DrawText x={50} y={50} text="Hello Canvas" fontSize={20} fill="black" />
304
- * ```
305
- */
306
-
307
- declare function DrawText(props: DrawTextProps): FNode;
308
-
309
- export { Canvas as C, DrawRect as D, type FNode as F, type ImageProps as I, type PressableProps as P, type ScrollViewProps as S, type TextProps as T, DrawCircle as a, DrawArc as b, DrawLine as c, DrawPath as d, DrawText as e, type CanvasProps as f, type DrawRectProps as g, type DrawCircleProps as h, type DrawArcProps as i, type DrawLineProps as j, type DrawPathProps as k, type DrawTextProps as l, type CommonStyle as m, type TextStyle as n };
@@ -1,309 +0,0 @@
1
- import { S as StateValue } from './state-DitsMyev.js';
2
-
3
- /**
4
- * Core Flexium types
5
- */
6
- /**
7
- * Flexium Node - internal representation of UI elements
8
- */
9
- interface FNode {
10
- type: string;
11
- props: Record<string, any>;
12
- children: FNode[];
13
- }
14
-
15
- /**
16
- * Cross-platform Primitives Type Definitions
17
- *
18
- * These types work across web (DOM) and React Native
19
- */
20
-
21
- /**
22
- * Common style properties that work on both web and React Native
23
- * Based on Flexbox layout model
24
- */
25
- interface CommonStyle {
26
- display?: 'flex' | 'none';
27
- flex?: number;
28
- flexDirection?: 'row' | 'column' | 'row-reverse' | 'column-reverse';
29
- flexWrap?: 'nowrap' | 'wrap' | 'wrap-reverse';
30
- justifyContent?: 'flex-start' | 'center' | 'flex-end' | 'space-between' | 'space-around' | 'space-evenly';
31
- alignItems?: 'flex-start' | 'center' | 'flex-end' | 'stretch' | 'baseline';
32
- alignSelf?: 'auto' | 'flex-start' | 'center' | 'flex-end' | 'stretch';
33
- gap?: number;
34
- padding?: number;
35
- paddingTop?: number;
36
- paddingRight?: number;
37
- paddingBottom?: number;
38
- paddingLeft?: number;
39
- paddingHorizontal?: number;
40
- paddingVertical?: number;
41
- margin?: number;
42
- marginTop?: number;
43
- marginRight?: number;
44
- marginBottom?: number;
45
- marginLeft?: number;
46
- marginHorizontal?: number;
47
- marginVertical?: number;
48
- width?: number | string;
49
- height?: number | string;
50
- minWidth?: number;
51
- maxWidth?: number;
52
- minHeight?: number;
53
- maxHeight?: number;
54
- backgroundColor?: string;
55
- borderRadius?: number;
56
- borderTopLeftRadius?: number;
57
- borderTopRightRadius?: number;
58
- borderBottomLeftRadius?: number;
59
- borderBottomRightRadius?: number;
60
- opacity?: number;
61
- borderWidth?: number;
62
- borderColor?: string;
63
- borderTopWidth?: number;
64
- borderRightWidth?: number;
65
- borderBottomWidth?: number;
66
- borderLeftWidth?: number;
67
- position?: 'relative' | 'absolute';
68
- top?: number;
69
- right?: number;
70
- bottom?: number;
71
- left?: number;
72
- zIndex?: number;
73
- transform?: string;
74
- }
75
- /**
76
- * Text-specific style properties
77
- */
78
- interface TextStyle extends CommonStyle {
79
- color?: string;
80
- fontSize?: number;
81
- fontWeight?: 'normal' | 'bold' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' | number;
82
- fontFamily?: string;
83
- fontStyle?: 'normal' | 'italic';
84
- textAlign?: 'left' | 'center' | 'right' | 'justify';
85
- textDecoration?: 'none' | 'underline' | 'line-through';
86
- lineHeight?: number;
87
- letterSpacing?: number;
88
- }
89
- /**
90
- * Text component props
91
- * Universal text display
92
- */
93
- interface TextProps {
94
- children?: any;
95
- style?: TextStyle;
96
- /** Press/click handler (unified API for web and mobile) */
97
- onPress?: () => void;
98
- /** CSS class name */
99
- class?: string;
100
- }
101
- /**
102
- * Image component props
103
- */
104
- interface ImageProps {
105
- src: string;
106
- alt?: string;
107
- width?: number;
108
- height?: number;
109
- style?: CommonStyle;
110
- onLoad?: () => void;
111
- onError?: () => void;
112
- }
113
- /**
114
- * Pressable component props
115
- * Universal touchable/clickable element
116
- */
117
- interface PressableProps {
118
- children?: any;
119
- onPress: () => void;
120
- onPressIn?: () => void;
121
- onPressOut?: () => void;
122
- disabled?: boolean;
123
- style?: CommonStyle;
124
- activeOpacity?: number;
125
- }
126
- /**
127
- * ScrollView component props
128
- */
129
- interface ScrollViewProps {
130
- children?: any;
131
- style?: CommonStyle;
132
- horizontal?: boolean;
133
- /** Show horizontal scrollbar (default: true) */
134
- showScrollbarX?: boolean;
135
- /** Show vertical scrollbar (default: true) */
136
- showScrollbarY?: boolean;
137
- }
138
- /**
139
- * Canvas container props
140
- */
141
- interface CanvasProps {
142
- width: number;
143
- height: number;
144
- children?: any;
145
- style?: CommonStyle;
146
- id?: string;
147
- }
148
- /**
149
- * Rectangle drawing props
150
- */
151
- interface DrawRectProps {
152
- x: number | StateValue<number>;
153
- y: number | StateValue<number>;
154
- width: number | StateValue<number>;
155
- height: number | StateValue<number>;
156
- fill?: string | StateValue<string>;
157
- stroke?: string | StateValue<string>;
158
- strokeWidth?: number | StateValue<number>;
159
- opacity?: number | StateValue<number>;
160
- }
161
- /**
162
- * Circle drawing props
163
- */
164
- interface DrawCircleProps {
165
- x: number | StateValue<number>;
166
- y: number | StateValue<number>;
167
- radius: number | StateValue<number>;
168
- fill?: string | StateValue<string>;
169
- stroke?: string | StateValue<string>;
170
- strokeWidth?: number | StateValue<number>;
171
- opacity?: number | StateValue<number>;
172
- }
173
- /**
174
- * Path drawing props
175
- */
176
- interface DrawPathProps {
177
- d: string | StateValue<string>;
178
- fill?: string | StateValue<string>;
179
- stroke?: string | StateValue<string>;
180
- strokeWidth?: number | StateValue<number>;
181
- opacity?: number | StateValue<number>;
182
- }
183
- /**
184
- * Canvas text drawing props
185
- */
186
- interface DrawTextProps {
187
- x: number | StateValue<number>;
188
- y: number | StateValue<number>;
189
- text: string | StateValue<string>;
190
- fill?: string | StateValue<string>;
191
- fontSize?: number | StateValue<number>;
192
- fontFamily?: string;
193
- fontWeight?: 'normal' | 'bold' | number;
194
- textAlign?: 'left' | 'center' | 'right';
195
- textBaseline?: 'top' | 'middle' | 'bottom' | 'alphabetic';
196
- }
197
- /**
198
- * Line drawing props
199
- */
200
- interface DrawLineProps {
201
- x1: number | StateValue<number>;
202
- y1: number | StateValue<number>;
203
- x2: number | StateValue<number>;
204
- y2: number | StateValue<number>;
205
- stroke?: string | StateValue<string>;
206
- strokeWidth?: number | StateValue<number>;
207
- opacity?: number | StateValue<number>;
208
- }
209
- /**
210
- * Arc drawing props
211
- */
212
- interface DrawArcProps {
213
- x: number | StateValue<number>;
214
- y: number | StateValue<number>;
215
- radius: number | StateValue<number>;
216
- startAngle: number | StateValue<number>;
217
- endAngle: number | StateValue<number>;
218
- counterclockwise?: boolean;
219
- fill?: string | StateValue<string>;
220
- stroke?: string | StateValue<string>;
221
- strokeWidth?: number | StateValue<number>;
222
- opacity?: number | StateValue<number>;
223
- }
224
-
225
- /**
226
- * Canvas - Declarative canvas container with JSX drawing
227
- *
228
- * Supports Signal-based reactive rendering
229
- *
230
- * @example
231
- * ```tsx
232
- * const x = signal(50)
233
- *
234
- * <Canvas width={300} height={200}>
235
- * <Rect x={x} y={50} width={100} height={50} fill="blue" />
236
- * <Circle x={150} y={100} radius={30} fill="red" />
237
- * </Canvas>
238
- * ```
239
- */
240
-
241
- declare function Canvas(props: CanvasProps): FNode;
242
-
243
- /**
244
- * DrawRect - Canvas rectangle primitive
245
- *
246
- * @example
247
- * ```tsx
248
- * <DrawRect x={10} y={10} width={100} height={50} fill="blue" />
249
- * ```
250
- */
251
-
252
- declare function DrawRect(props: DrawRectProps): FNode;
253
-
254
- /**
255
- * DrawCircle - Canvas circle primitive
256
- *
257
- * @example
258
- * ```tsx
259
- * <DrawCircle x={100} y={100} radius={50} fill="red" />
260
- * ```
261
- */
262
-
263
- declare function DrawCircle(props: DrawCircleProps): FNode;
264
-
265
- /**
266
- * DrawArc - Canvas arc primitive
267
- *
268
- * @example
269
- * ```tsx
270
- * <DrawArc x={100} y={100} radius={50} startAngle={0} endAngle={Math.PI} fill="green" />
271
- * ```
272
- */
273
-
274
- declare function DrawArc(props: DrawArcProps): FNode;
275
-
276
- /**
277
- * DrawLine - Canvas line primitive
278
- *
279
- * @example
280
- * ```tsx
281
- * <DrawLine x1={10} y1={10} x2={100} y2={100} stroke="black" strokeWidth={2} />
282
- * ```
283
- */
284
-
285
- declare function DrawLine(props: DrawLineProps): FNode;
286
-
287
- /**
288
- * DrawPath - Canvas path primitive
289
- *
290
- * @example
291
- * ```tsx
292
- * <DrawPath d="M 10 10 L 100 100" stroke="black" strokeWidth={2} />
293
- * ```
294
- */
295
-
296
- declare function DrawPath(props: DrawPathProps): FNode;
297
-
298
- /**
299
- * DrawText - Canvas text primitive
300
- *
301
- * @example
302
- * ```tsx
303
- * <DrawText x={50} y={50} text="Hello Canvas" fontSize={20} fill="black" />
304
- * ```
305
- */
306
-
307
- declare function DrawText(props: DrawTextProps): FNode;
308
-
309
- export { Canvas as C, DrawRect as D, type FNode as F, type ImageProps as I, type PressableProps as P, type ScrollViewProps as S, type TextProps as T, DrawCircle as a, DrawArc as b, DrawLine as c, DrawPath as d, DrawText as e, type CanvasProps as f, type DrawRectProps as g, type DrawCircleProps as h, type DrawArcProps as i, type DrawLineProps as j, type DrawPathProps as k, type DrawTextProps as l, type CommonStyle as m, type TextStyle as n };
@@ -1,87 +0,0 @@
1
- /**
2
- * Motion Component - Declarative animations using Web Animations API
3
- *
4
- * Provides smooth, performant animations without JavaScript RAF
5
- * Supports transforms, opacity, spring physics, and layout animations
6
- */
7
- /**
8
- * Animation properties that can be animated
9
- */
10
- interface AnimatableProps {
11
- x?: number;
12
- y?: number;
13
- scale?: number;
14
- scaleX?: number;
15
- scaleY?: number;
16
- rotate?: number;
17
- opacity?: number;
18
- width?: number | string;
19
- height?: number | string;
20
- }
21
- /**
22
- * Spring physics configuration
23
- */
24
- interface SpringConfig {
25
- tension?: number;
26
- friction?: number;
27
- mass?: number;
28
- }
29
- /**
30
- * Motion component props
31
- */
32
- interface MotionProps {
33
- element?: HTMLElement | null;
34
- initial?: AnimatableProps;
35
- animate?: AnimatableProps;
36
- exit?: AnimatableProps;
37
- duration?: number;
38
- spring?: SpringConfig;
39
- easing?: string;
40
- delay?: number;
41
- onAnimationStart?: () => void;
42
- onAnimationComplete?: () => void;
43
- }
44
- /**
45
- * Cleanup motion module state (useful for testing and SSR)
46
- */
47
- declare function cleanupMotionState(): void;
48
- /**
49
- * Motion controller class
50
- * Manages animations for a single element using Web Animations API
51
- * Respects prefers-reduced-motion accessibility setting
52
- */
53
- declare class MotionController {
54
- private element;
55
- private animation;
56
- private resizeObserver;
57
- private previousSize;
58
- constructor(element: HTMLElement);
59
- /**
60
- * Animate from initial to animate props
61
- * Respects prefers-reduced-motion: applies end state instantly if enabled
62
- */
63
- animate(props: MotionProps): void;
64
- /**
65
- * Animate exit (used when element is being removed)
66
- * Respects prefers-reduced-motion: applies end state instantly if enabled
67
- */
68
- animateExit(exitProps: AnimatableProps, duration?: number, easing?: string): Promise<void>;
69
- /**
70
- * Enable layout animations (animate size changes automatically)
71
- */
72
- enableLayoutAnimation(duration?: number, easing?: string): void;
73
- /**
74
- * Disable layout animations
75
- */
76
- disableLayoutAnimation(): void;
77
- /**
78
- * Cancel current animation
79
- */
80
- cancel(): void;
81
- /**
82
- * Cleanup all animations and observers
83
- */
84
- dispose(): void;
85
- }
86
-
87
- export { type AnimatableProps as A, MotionController as M, type SpringConfig as S, type MotionProps as a, cleanupMotionState as c };