@tachui/core 0.7.1-alpha → 0.8.0-alpha

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 (265) hide show
  1. package/README.md +2 -2
  2. package/dist/bundles/common.d.ts +1 -1
  3. package/dist/bundles/common.d.ts.map +1 -1
  4. package/dist/bundles/minimal.d.ts +2 -16
  5. package/dist/bundles/minimal.d.ts.map +1 -1
  6. package/dist/bundles/production-minimal.d.ts +2 -16
  7. package/dist/bundles/production-minimal.d.ts.map +1 -1
  8. package/dist/common.js +403 -827
  9. package/dist/compiler/advanced-parser.d.ts.map +1 -1
  10. package/dist/compiler/index.js +14 -8
  11. package/dist/component-XAzF1xqs.js +487 -0
  12. package/dist/component-base-x2XmHFjy.js +255 -0
  13. package/dist/components/index.d.ts +4 -38
  14. package/dist/components/index.d.ts.map +1 -1
  15. package/dist/components/index.js +7 -4167
  16. package/dist/components/wrapper.d.ts +5 -152
  17. package/dist/components/wrapper.d.ts.map +1 -1
  18. package/dist/concatenated-component-ByPl3_FF.js +2933 -0
  19. package/dist/constants/index.d.ts +1 -1
  20. package/dist/constants/layout.d.ts +47 -4
  21. package/dist/constants/layout.d.ts.map +1 -1
  22. package/dist/constants/layout.js +84 -0
  23. package/dist/css-classes/index.js +176 -0
  24. package/dist/{dom-bridge-Cx-s6Ihx.js → dom-bridge-CAa1N2zX.js} +28 -28
  25. package/dist/{effect-CytAc9em.js → effect-B9Knft0b.js} +3 -3
  26. package/dist/essential.js +395 -825
  27. package/dist/index-DCPJFUm9.js +1407 -0
  28. package/dist/index-DIvMCJQO.js +268 -0
  29. package/dist/index-vdsiw6gQ.js +777 -0
  30. package/dist/index.d.ts +9 -9
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +395 -825
  33. package/dist/minimal-prod.js +101 -155
  34. package/dist/minimal.js +104 -170
  35. package/dist/modifiers/background.d.ts +41 -11
  36. package/dist/modifiers/background.d.ts.map +1 -1
  37. package/dist/modifiers/base.d.ts +6 -33
  38. package/dist/modifiers/base.d.ts.map +1 -1
  39. package/dist/modifiers/base.js +487 -0
  40. package/dist/modifiers/builder.d.ts +103 -195
  41. package/dist/modifiers/builder.d.ts.map +1 -1
  42. package/dist/modifiers/builder.js +9 -0
  43. package/dist/modifiers/core.d.ts +9 -401
  44. package/dist/modifiers/core.d.ts.map +1 -1
  45. package/dist/modifiers/{utils.d.ts → factories.d.ts} +18 -5
  46. package/dist/modifiers/factories.d.ts.map +1 -0
  47. package/dist/modifiers/index.d.ts +8 -52
  48. package/dist/modifiers/index.d.ts.map +1 -1
  49. package/dist/modifiers/index.js +38 -0
  50. package/dist/modifiers/presets.d.ts +368 -0
  51. package/dist/modifiers/presets.d.ts.map +1 -0
  52. package/dist/modifiers/registry.js +10 -0
  53. package/dist/modifiers/types.d.ts +39 -211
  54. package/dist/modifiers/types.d.ts.map +1 -1
  55. package/dist/modifiers/types.js +4 -0
  56. package/dist/performance-optimizer-stub-CtfXUwl4.js +38 -0
  57. package/dist/plugins/index.d.ts +5 -6
  58. package/dist/plugins/index.d.ts.map +1 -1
  59. package/dist/plugins/index.js +147 -297
  60. package/dist/plugins/simplified-index.d.ts +5 -6
  61. package/dist/plugins/simplified-index.d.ts.map +1 -1
  62. package/dist/production-minimal-BY_gMc-l.js +2532 -0
  63. package/dist/reactive/index.js +96 -95
  64. package/dist/reactive/types.js +4 -0
  65. package/dist/runtime/dom-bridge.js +5 -5
  66. package/dist/runtime/element-override.d.ts.map +1 -1
  67. package/dist/runtime/index.d.ts +0 -7
  68. package/dist/runtime/index.d.ts.map +1 -1
  69. package/dist/runtime/renderer.d.ts.map +1 -1
  70. package/dist/runtime/renderer.js +7 -8
  71. package/dist/runtime/semantic-role-manager.d.ts.map +1 -1
  72. package/dist/runtime/types.js +1 -0
  73. package/dist/{scheduler-7SvC3a21.js → scheduler-BKeqwrYE.js} +130 -130
  74. package/dist/validation/build-time-stub.d.ts +33 -0
  75. package/dist/validation/build-time-stub.d.ts.map +1 -0
  76. package/dist/validation/debug-tools-stub.d.ts +67 -0
  77. package/dist/validation/debug-tools-stub.d.ts.map +1 -0
  78. package/dist/validation/index.d.ts +23 -78
  79. package/dist/validation/index.d.ts.map +1 -1
  80. package/dist/validation/index.js +609 -6470
  81. package/dist/validation/lifecycle-validation.d.ts.map +1 -1
  82. package/dist/validation/performance-optimizer-stub.d.ts +50 -0
  83. package/dist/validation/performance-optimizer-stub.d.ts.map +1 -0
  84. package/dist/validation/plugin-registration.d.ts +5 -1
  85. package/dist/validation/plugin-registration.d.ts.map +1 -1
  86. package/dist/validation/production-bypass-core.d.ts +69 -0
  87. package/dist/validation/production-bypass-core.d.ts.map +1 -0
  88. package/package.json +41 -5
  89. package/dist/ScrollView-h-6wYMAm.js +0 -515
  90. package/dist/Spacer-BbteDQ9I.js +0 -5337
  91. package/dist/binding-CmdpowkI.js +0 -2276
  92. package/dist/components/BasicInput.d.ts +0 -116
  93. package/dist/components/BasicInput.d.ts.map +0 -1
  94. package/dist/components/Button.d.ts +0 -252
  95. package/dist/components/Button.d.ts.map +0 -1
  96. package/dist/components/Divider.d.ts +0 -141
  97. package/dist/components/Divider.d.ts.map +0 -1
  98. package/dist/components/EnhancedLink.d.ts +0 -365
  99. package/dist/components/EnhancedLink.d.ts.map +0 -1
  100. package/dist/components/Form.d.ts +0 -141
  101. package/dist/components/Form.d.ts.map +0 -1
  102. package/dist/components/Grid.d.ts +0 -698
  103. package/dist/components/Grid.d.ts.map +0 -1
  104. package/dist/components/GridResponsive.d.ts +0 -214
  105. package/dist/components/GridResponsive.d.ts.map +0 -1
  106. package/dist/components/Image.d.ts +0 -162
  107. package/dist/components/Image.d.ts.map +0 -1
  108. package/dist/components/List.d.ts +0 -287
  109. package/dist/components/List.d.ts.map +0 -1
  110. package/dist/components/Menu.d.ts +0 -159
  111. package/dist/components/Menu.d.ts.map +0 -1
  112. package/dist/components/Picker.d.ts +0 -153
  113. package/dist/components/Picker.d.ts.map +0 -1
  114. package/dist/components/ScrollView.d.ts +0 -222
  115. package/dist/components/ScrollView.d.ts.map +0 -1
  116. package/dist/components/Section.d.ts +0 -153
  117. package/dist/components/Section.d.ts.map +0 -1
  118. package/dist/components/Show.d.ts +0 -64
  119. package/dist/components/Show.d.ts.map +0 -1
  120. package/dist/components/Spacer.d.ts +0 -35
  121. package/dist/components/Spacer.d.ts.map +0 -1
  122. package/dist/components/Text.d.ts +0 -242
  123. package/dist/components/Text.d.ts.map +0 -1
  124. package/dist/components/Toggle.d.ts +0 -207
  125. package/dist/components/Toggle.d.ts.map +0 -1
  126. package/dist/concatenated-component-DPcl2TEO.js +0 -6779
  127. package/dist/context--zQFIImS.js +0 -283
  128. package/dist/debug/index.d.ts +0 -61
  129. package/dist/debug/index.d.ts.map +0 -1
  130. package/dist/debug.js +0 -178
  131. package/dist/developer-experience/enhanced-errors.d.ts +0 -128
  132. package/dist/developer-experience/enhanced-errors.d.ts.map +0 -1
  133. package/dist/developer-experience/enhanced-types.d.ts +0 -281
  134. package/dist/developer-experience/enhanced-types.d.ts.map +0 -1
  135. package/dist/developer-experience/index.d.ts +0 -44
  136. package/dist/developer-experience/index.d.ts.map +0 -1
  137. package/dist/index-Nfi2SBQh.js +0 -3268
  138. package/dist/modifiers/attributes.d.ts +0 -203
  139. package/dist/modifiers/attributes.d.ts.map +0 -1
  140. package/dist/modifiers/backdrop.d.ts +0 -59
  141. package/dist/modifiers/backdrop.d.ts.map +0 -1
  142. package/dist/modifiers/border.d.ts +0 -217
  143. package/dist/modifiers/border.d.ts.map +0 -1
  144. package/dist/modifiers/effects.d.ts +0 -159
  145. package/dist/modifiers/effects.d.ts.map +0 -1
  146. package/dist/modifiers/elements.d.ts +0 -240
  147. package/dist/modifiers/elements.d.ts.map +0 -1
  148. package/dist/modifiers/filters.d.ts +0 -275
  149. package/dist/modifiers/filters.d.ts.map +0 -1
  150. package/dist/modifiers/flexbox.d.ts +0 -82
  151. package/dist/modifiers/flexbox.d.ts.map +0 -1
  152. package/dist/modifiers/font.d.ts +0 -71
  153. package/dist/modifiers/font.d.ts.map +0 -1
  154. package/dist/modifiers/grid.d.ts +0 -92
  155. package/dist/modifiers/grid.d.ts.map +0 -1
  156. package/dist/modifiers/margin.d.ts +0 -128
  157. package/dist/modifiers/margin.d.ts.map +0 -1
  158. package/dist/modifiers/padding.d.ts +0 -204
  159. package/dist/modifiers/padding.d.ts.map +0 -1
  160. package/dist/modifiers/responsive/advanced-utilities.d.ts +0 -118
  161. package/dist/modifiers/responsive/advanced-utilities.d.ts.map +0 -1
  162. package/dist/modifiers/responsive/breakpoints.d.ts +0 -81
  163. package/dist/modifiers/responsive/breakpoints.d.ts.map +0 -1
  164. package/dist/modifiers/responsive/css-generator.d.ts +0 -100
  165. package/dist/modifiers/responsive/css-generator.d.ts.map +0 -1
  166. package/dist/modifiers/responsive/dev-tools.d.ts +0 -107
  167. package/dist/modifiers/responsive/dev-tools.d.ts.map +0 -1
  168. package/dist/modifiers/responsive/index.d.ts +0 -29
  169. package/dist/modifiers/responsive/index.d.ts.map +0 -1
  170. package/dist/modifiers/responsive/layout-patterns.d.ts +0 -230
  171. package/dist/modifiers/responsive/layout-patterns.d.ts.map +0 -1
  172. package/dist/modifiers/responsive/performance.d.ts +0 -130
  173. package/dist/modifiers/responsive/performance.d.ts.map +0 -1
  174. package/dist/modifiers/responsive/responsive-builder.d.ts +0 -133
  175. package/dist/modifiers/responsive/responsive-builder.d.ts.map +0 -1
  176. package/dist/modifiers/responsive/responsive-modifier.d.ts +0 -123
  177. package/dist/modifiers/responsive/responsive-modifier.d.ts.map +0 -1
  178. package/dist/modifiers/responsive/types.d.ts +0 -183
  179. package/dist/modifiers/responsive/types.d.ts.map +0 -1
  180. package/dist/modifiers/responsive/utilities.d.ts +0 -149
  181. package/dist/modifiers/responsive/utilities.d.ts.map +0 -1
  182. package/dist/modifiers/scroll.d.ts +0 -143
  183. package/dist/modifiers/scroll.d.ts.map +0 -1
  184. package/dist/modifiers/shadows.d.ts +0 -114
  185. package/dist/modifiers/shadows.d.ts.map +0 -1
  186. package/dist/modifiers/size.d.ts +0 -113
  187. package/dist/modifiers/size.d.ts.map +0 -1
  188. package/dist/modifiers/text.d.ts +0 -147
  189. package/dist/modifiers/text.d.ts.map +0 -1
  190. package/dist/modifiers/transformations.d.ts +0 -329
  191. package/dist/modifiers/transformations.d.ts.map +0 -1
  192. package/dist/modifiers/transitions.d.ts +0 -98
  193. package/dist/modifiers/transitions.d.ts.map +0 -1
  194. package/dist/modifiers/typography.d.ts +0 -192
  195. package/dist/modifiers/typography.d.ts.map +0 -1
  196. package/dist/modifiers/utility.d.ts +0 -69
  197. package/dist/modifiers/utility.d.ts.map +0 -1
  198. package/dist/modifiers/utils.d.ts.map +0 -1
  199. package/dist/plugins/simplified-error-handler.d.ts +0 -83
  200. package/dist/plugins/simplified-error-handler.d.ts.map +0 -1
  201. package/dist/runtime/dev-tools.d.ts +0 -240
  202. package/dist/runtime/dev-tools.d.ts.map +0 -1
  203. package/dist/runtime/development-warnings.d.ts +0 -42
  204. package/dist/runtime/development-warnings.d.ts.map +0 -1
  205. package/dist/runtime/error-boundary.d.ts +0 -302
  206. package/dist/runtime/error-boundary.d.ts.map +0 -1
  207. package/dist/runtime/error-recovery.d.ts +0 -267
  208. package/dist/runtime/error-recovery.d.ts.map +0 -1
  209. package/dist/runtime/error-reporting.d.ts +0 -287
  210. package/dist/runtime/error-reporting.d.ts.map +0 -1
  211. package/dist/runtime/error-utils.d.ts +0 -204
  212. package/dist/runtime/error-utils.d.ts.map +0 -1
  213. package/dist/runtime/performance.d.ts +0 -217
  214. package/dist/runtime/performance.d.ts.map +0 -1
  215. package/dist/sui-compat.d.ts +0 -110
  216. package/dist/sui-compat.d.ts.map +0 -1
  217. package/dist/validation/advanced-debugging.d.ts +0 -319
  218. package/dist/validation/advanced-debugging.d.ts.map +0 -1
  219. package/dist/validation/build-time/detection.d.ts +0 -32
  220. package/dist/validation/build-time/detection.d.ts.map +0 -1
  221. package/dist/validation/build-time/index.d.ts +0 -84
  222. package/dist/validation/build-time/index.d.ts.map +0 -1
  223. package/dist/validation/build-time/plugins.d.ts +0 -75
  224. package/dist/validation/build-time/plugins.d.ts.map +0 -1
  225. package/dist/validation/build-time/rules.d.ts +0 -73
  226. package/dist/validation/build-time/rules.d.ts.map +0 -1
  227. package/dist/validation/build-time/transformer.d.ts +0 -23
  228. package/dist/validation/build-time/transformer.d.ts.map +0 -1
  229. package/dist/validation/build-time/types.d.ts +0 -212
  230. package/dist/validation/build-time/types.d.ts.map +0 -1
  231. package/dist/validation/comprehensive.d.ts +0 -160
  232. package/dist/validation/comprehensive.d.ts.map +0 -1
  233. package/dist/validation/debug-tools.d.ts +0 -251
  234. package/dist/validation/debug-tools.d.ts.map +0 -1
  235. package/dist/validation/developer-experience.d.ts +0 -243
  236. package/dist/validation/developer-experience.d.ts.map +0 -1
  237. package/dist/validation/documentation-integration.d.ts +0 -269
  238. package/dist/validation/documentation-integration.d.ts.map +0 -1
  239. package/dist/validation/enhanced-runtime.d.ts +0 -279
  240. package/dist/validation/enhanced-runtime.d.ts.map +0 -1
  241. package/dist/validation/error-reporting.d.ts +0 -186
  242. package/dist/validation/error-reporting.d.ts.map +0 -1
  243. package/dist/validation/ide-integration.d.ts +0 -328
  244. package/dist/validation/ide-integration.d.ts.map +0 -1
  245. package/dist/validation/performance-optimizer.d.ts +0 -218
  246. package/dist/validation/performance-optimizer.d.ts.map +0 -1
  247. package/dist/validation/production-bypass.d.ts +0 -175
  248. package/dist/validation/production-bypass.d.ts.map +0 -1
  249. package/dist/validation/simple.d.ts +0 -111
  250. package/dist/validation/simple.d.ts.map +0 -1
  251. package/dist/viewport/adapters/web-adapter.d.ts +0 -227
  252. package/dist/viewport/adapters/web-adapter.d.ts.map +0 -1
  253. package/dist/viewport/components.d.ts +0 -131
  254. package/dist/viewport/components.d.ts.map +0 -1
  255. package/dist/viewport/environment.d.ts +0 -75
  256. package/dist/viewport/environment.d.ts.map +0 -1
  257. package/dist/viewport/index.d.ts +0 -138
  258. package/dist/viewport/index.d.ts.map +0 -1
  259. package/dist/viewport/index.js +0 -2085
  260. package/dist/viewport/platform-detection.d.ts +0 -59
  261. package/dist/viewport/platform-detection.d.ts.map +0 -1
  262. package/dist/viewport/types.d.ts +0 -301
  263. package/dist/viewport/types.d.ts.map +0 -1
  264. package/dist/viewport/viewport-manager.d.ts +0 -118
  265. package/dist/viewport/viewport-manager.d.ts.map +0 -1
@@ -1,287 +0,0 @@
1
- /**
2
- * Enhanced List Components (Phase 5.5)
3
- *
4
- * SwiftUI-inspired List components with virtual scrolling, ForEach patterns,
5
- * and high-performance rendering for large datasets.
6
- */
7
- import type { ModifiableComponent, ModifierBuilder } from '../modifiers/types';
8
- import type { Signal } from '../reactive/types';
9
- import type { ComponentInstance, ComponentProps, ComponentRef, DOMNode } from '../runtime/types';
10
- import { type ScrollViewProps } from './ScrollView';
11
- /**
12
- * List item selection mode
13
- */
14
- export type SelectionMode = 'none' | 'single' | 'multiple';
15
- /**
16
- * List style
17
- */
18
- export type ListStyle = 'plain' | 'grouped' | 'inset' | 'sidebar';
19
- /**
20
- * List item swipe action
21
- */
22
- export interface SwipeAction {
23
- id: string;
24
- title: string;
25
- backgroundColor?: string;
26
- foregroundColor?: string;
27
- icon?: string;
28
- destructive?: boolean;
29
- onTap: () => void;
30
- }
31
- /**
32
- * List section header/footer
33
- */
34
- export interface ListSection<T = any> {
35
- id: string;
36
- header?: string | ComponentInstance;
37
- footer?: string | ComponentInstance;
38
- items: T[];
39
- }
40
- /**
41
- * Virtual scrolling configuration
42
- */
43
- export interface VirtualScrollConfig {
44
- enabled: boolean;
45
- itemHeight?: number | ((index: number, item: any) => number);
46
- estimatedItemHeight?: number;
47
- overscan?: number;
48
- threshold?: number;
49
- }
50
- /**
51
- * List component properties
52
- */
53
- export interface ListProps<T = any> extends Omit<ScrollViewProps, 'children'> {
54
- data?: T[] | Signal<T[]>;
55
- sections?: ListSection<T>[] | Signal<ListSection<T>[]>;
56
- renderItem: (item: T, index: number) => ComponentInstance;
57
- renderSectionHeader?: (section: ListSection<T>, index: number) => ComponentInstance;
58
- renderSectionFooter?: (section: ListSection<T>, index: number) => ComponentInstance;
59
- style?: ListStyle;
60
- separator?: boolean | ComponentInstance;
61
- selectionMode?: SelectionMode;
62
- selectedItems?: Signal<Set<string | number>>;
63
- onSelectionChange?: (selectedItems: Set<string | number>) => void;
64
- leadingSwipeActions?: (item: T, index: number) => SwipeAction[];
65
- trailingSwipeActions?: (item: T, index: number) => SwipeAction[];
66
- onItemTap?: (item: T, index: number) => void;
67
- onItemLongPress?: (item: T, index: number) => void;
68
- virtualScrolling?: VirtualScrollConfig;
69
- getItemId?: (item: T, index: number) => string | number;
70
- emptyState?: ComponentInstance;
71
- isLoading?: boolean | Signal<boolean>;
72
- loadingIndicator?: ComponentInstance;
73
- onRefresh?: () => Promise<void>;
74
- onLoadMore?: () => Promise<void>;
75
- hasMore?: boolean | Signal<boolean>;
76
- }
77
- /**
78
- * ForEach component properties
79
- */
80
- export interface ForEachProps<T = any> {
81
- data: T[] | Signal<T[]>;
82
- children: (item: T, index: number) => ComponentInstance | ComponentInstance[];
83
- getItemId?: (item: T, index: number) => string | number;
84
- key?: string | number;
85
- ref?: ComponentRef;
86
- }
87
- /**
88
- * ForEach component internal props that satisfy ComponentProps
89
- */
90
- interface ForEachInternalProps<T = any> extends ComponentProps {
91
- data: T[] | Signal<T[]>;
92
- renderItem: (item: T, index: number) => ComponentInstance | ComponentInstance[];
93
- getItemId?: (item: T, index: number) => string | number;
94
- }
95
- /**
96
- * Enhanced List component class
97
- */
98
- export declare class EnhancedList<T = any> implements ComponentInstance<ListProps<T>> {
99
- props: ListProps<T>;
100
- readonly type: "component";
101
- readonly id: string;
102
- mounted: boolean;
103
- cleanup: (() => void)[];
104
- private dataSignal;
105
- private setData;
106
- private sectionsSignal;
107
- private setSections;
108
- private selectedItemsSignal;
109
- private setSelectedItems;
110
- private isLoadingSignal;
111
- private setIsLoading;
112
- private virtualItems;
113
- private visibleStartIndex;
114
- private visibleEndIndex;
115
- private scrollOffset;
116
- private containerHeight;
117
- private totalHeight;
118
- constructor(props: ListProps<T>);
119
- /**
120
- * Helper to flatten render results
121
- */
122
- private flattenRenderResult;
123
- /**
124
- * Resolve data from various input types
125
- */
126
- private resolveData;
127
- /**
128
- * Resolve sections from various input types
129
- */
130
- private resolveSections;
131
- /**
132
- * Resolve loading state
133
- */
134
- private resolveIsLoading;
135
- /**
136
- * Set up reactive updates for data and state
137
- */
138
- private setupReactiveUpdates;
139
- /**
140
- * Initialize virtual scrolling calculations
141
- */
142
- private initializeVirtualScrolling;
143
- /**
144
- * Update virtual scrolling calculations
145
- */
146
- private updateVirtualScrolling;
147
- /**
148
- * Calculate visible item range for virtual scrolling
149
- */
150
- private calculateVisibleRange;
151
- /**
152
- * Handle item selection
153
- */
154
- private handleItemSelection;
155
- /**
156
- * Create list item component
157
- */
158
- private createListItem;
159
- /**
160
- * Create list separator
161
- */
162
- private createSeparator;
163
- /**
164
- * Create section header
165
- */
166
- private createSectionHeader;
167
- /**
168
- * Create section footer
169
- */
170
- private createSectionFooter;
171
- /**
172
- * Create empty state component
173
- */
174
- private createEmptyState;
175
- /**
176
- * Create loading indicator
177
- */
178
- private createLoadingIndicator;
179
- /**
180
- * Render virtual scrolling content
181
- */
182
- private renderVirtualContent;
183
- /**
184
- * Render regular (non-virtual) content
185
- */
186
- private renderRegularContent;
187
- /**
188
- * Handle scroll events for virtual scrolling and infinite scroll
189
- */
190
- private handleListScroll;
191
- /**
192
- * Render the list component
193
- */
194
- render(): any;
195
- }
196
- /**
197
- * ForEach component implementation with self-contained reactivity
198
- */
199
- export declare class ForEach<T = any> implements ComponentInstance<ForEachInternalProps<T>> {
200
- readonly type: "component";
201
- readonly id: string;
202
- mounted: boolean;
203
- cleanup: (() => void)[];
204
- props: ForEachInternalProps<T>;
205
- private dataSignal;
206
- constructor(props: ForEachProps<T>);
207
- /**
208
- * Helper to flatten render results
209
- */
210
- private flattenRenderResult;
211
- /**
212
- * Render children for current data
213
- */
214
- private renderChildren;
215
- /**
216
- * Render ForEach with reactive container pattern like Show component
217
- */
218
- render(): DOMNode[];
219
- /**
220
- * Update the container DOM element with new children using TachUI's renderer
221
- */
222
- private updateContainerDOM;
223
- /**
224
- * Cleanup resources
225
- */
226
- dispose(): void;
227
- }
228
- /**
229
- * Create enhanced List component with modifier support
230
- */
231
- export declare function List<T = any>(props: ListProps<T>): ModifiableComponent<ListProps<T>> & {
232
- modifier: ModifierBuilder<ModifiableComponent<ListProps<T>>>;
233
- };
234
- /**
235
- * Create ForEach component
236
- */
237
- export declare function ForEachComponent<T = any>(props: ForEachProps<T>): ComponentInstance<ForEachInternalProps<T>>;
238
- /**
239
- * For component alias (SolidJS-style compatibility)
240
- *
241
- * @example
242
- * ```typescript
243
- * For({
244
- * each: items,
245
- * children: (item, index) => Text(item.name)
246
- * })
247
- * ```
248
- */
249
- export interface ForProps<T = any> {
250
- each: T[] | Signal<T[]>;
251
- children: (item: T, index: number) => ComponentInstance | ComponentInstance[];
252
- fallback?: ComponentInstance;
253
- key?: string | number;
254
- ref?: ComponentRef;
255
- }
256
- export declare function For<T = any>(props: ForProps<T>): ComponentInstance<ForEachInternalProps<T>>;
257
- /**
258
- * List utility functions
259
- */
260
- export declare const ListUtils: {
261
- /**
262
- * Create a simple list from array
263
- */
264
- simple<T>(data: T[] | Signal<T[]>, renderItem: (item: T, index: number) => ComponentInstance, props?: Omit<ListProps<T>, "data" | "renderItem">): ModifiableComponent<ListProps<T>> & {
265
- modifier: ModifierBuilder<ModifiableComponent<ListProps<T>>>;
266
- };
267
- /**
268
- * Create a sectioned list
269
- */
270
- sectioned<T>(sections: ListSection<T>[] | Signal<ListSection<T>[]>, renderItem: (item: T, index: number) => ComponentInstance, props?: Omit<ListProps<T>, "sections" | "renderItem">): ModifiableComponent<ListProps<T>> & {
271
- modifier: ModifierBuilder<ModifiableComponent<ListProps<T>>>;
272
- };
273
- /**
274
- * Create a virtual scrolling list for large datasets
275
- */
276
- virtual<T>(data: T[] | Signal<T[]>, renderItem: (item: T, index: number) => ComponentInstance, virtualConfig: VirtualScrollConfig, props?: Omit<ListProps<T>, "data" | "renderItem" | "virtualScrolling">): ModifiableComponent<ListProps<T>> & {
277
- modifier: ModifierBuilder<ModifiableComponent<ListProps<T>>>;
278
- };
279
- /**
280
- * Create an infinite scrolling list
281
- */
282
- infinite<T>(data: T[] | Signal<T[]>, renderItem: (item: T, index: number) => ComponentInstance, onLoadMore: () => Promise<void>, hasMore: boolean | Signal<boolean>, props?: Omit<ListProps<T>, "data" | "renderItem" | "onLoadMore" | "hasMore">): ModifiableComponent<ListProps<T>> & {
283
- modifier: ModifierBuilder<ModifiableComponent<ListProps<T>>>;
284
- };
285
- };
286
- export {};
287
- //# sourceMappingURL=List.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../src/components/List.ts"],"names":[],"mappings":"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"}
@@ -1,159 +0,0 @@
1
- /**
2
- * Menu Component
3
- *
4
- * SwiftUI-inspired Menu component with dropdowns, context menus,
5
- * positioning, and keyboard navigation support.
6
- */
7
- import type { ModifiableComponent, ModifierBuilder } from '../modifiers/types';
8
- import type { Signal } from '../reactive/types';
9
- import type { ComponentInstance, ComponentProps, DOMNode } from '../runtime/types';
10
- /**
11
- * Menu item configuration
12
- */
13
- export interface MenuItem {
14
- id?: string;
15
- title: string | Signal<string>;
16
- systemImage?: string;
17
- shortcut?: string;
18
- disabled?: boolean | Signal<boolean>;
19
- destructive?: boolean;
20
- role?: 'default' | 'destructive' | 'cancel';
21
- action?: () => void | Promise<void>;
22
- submenu?: MenuItem[];
23
- }
24
- /**
25
- * Menu positioning options
26
- */
27
- export type MenuPlacement = 'bottom' | 'bottom-start' | 'bottom-end' | 'top' | 'top-start' | 'top-end' | 'right' | 'right-start' | 'right-end' | 'left' | 'left-start' | 'left-end';
28
- /**
29
- * Menu component properties
30
- */
31
- export interface MenuProps extends ComponentProps {
32
- items: MenuItem[];
33
- trigger: ComponentInstance | HTMLElement | (() => ComponentInstance | HTMLElement);
34
- isOpen?: Signal<boolean>;
35
- placement?: MenuPlacement;
36
- closeOnSelect?: boolean;
37
- closeOnClickOutside?: boolean;
38
- escapeKeyCloses?: boolean;
39
- offset?: {
40
- x: number;
41
- y: number;
42
- };
43
- flip?: boolean;
44
- shift?: boolean;
45
- animationDuration?: number;
46
- accessibilityLabel?: string;
47
- }
48
- /**
49
- * Menu theme configuration
50
- */
51
- export interface MenuTheme {
52
- colors: {
53
- background: string;
54
- surface: string;
55
- text: string;
56
- textSecondary: string;
57
- textDisabled: string;
58
- textDestructive: string;
59
- border: string;
60
- hover: string;
61
- active: string;
62
- separator: string;
63
- shortcut: string;
64
- backdrop: string;
65
- };
66
- spacing: {
67
- padding: number;
68
- itemPadding: number;
69
- gap: number;
70
- };
71
- borderRadius: number;
72
- minWidth: number;
73
- maxWidth: number;
74
- itemHeight: number;
75
- shadow: string;
76
- backdropBlur: string;
77
- }
78
- /**
79
- * Default menu theme
80
- */
81
- export declare const defaultMenuTheme: MenuTheme;
82
- /**
83
- * Menu component implementation
84
- */
85
- export declare class MenuComponent implements ComponentInstance<MenuProps> {
86
- readonly type: "component";
87
- readonly id: string;
88
- readonly props: MenuProps;
89
- cleanup: (() => void)[];
90
- private theme;
91
- private isOpenSignal;
92
- private get isOpen();
93
- private get setIsOpen();
94
- private focusedIndex;
95
- private menuElement;
96
- private triggerElement;
97
- constructor(props: MenuProps);
98
- private resolveValue;
99
- /**
100
- * Set up menu positioning using enhanced lifecycle (ENHANCED Phase 3)
101
- */
102
- private setupMenuPositioning;
103
- /**
104
- * Set up menu animations using enhanced lifecycle (ENHANCED Phase 3)
105
- */
106
- private setupMenuAnimations;
107
- private getVisibleItems;
108
- private createMenuItem;
109
- private updateItemFocus;
110
- private handleKeyDown;
111
- private calculatePosition;
112
- private createMenuContent;
113
- private setupTrigger;
114
- render(): DOMNode;
115
- private handleClickOutside;
116
- private setIsOpenValue;
117
- }
118
- /**
119
- * Create a Menu component
120
- */
121
- export declare function Menu(props: MenuProps): ModifiableComponent<MenuProps> & {
122
- modifier: ModifierBuilder<ModifiableComponent<MenuProps>>;
123
- };
124
- /**
125
- * Menu utility functions and presets
126
- */
127
- export declare const MenuUtils: {
128
- /**
129
- * Create a separator item
130
- */
131
- separator(): MenuItem;
132
- /**
133
- * Create a destructive menu item
134
- */
135
- destructive(title: string, action: () => void, systemImage?: string): MenuItem;
136
- /**
137
- * Create a menu item with keyboard shortcut
138
- */
139
- withShortcut(title: string, shortcut: string, action: () => void, systemImage?: string): MenuItem;
140
- /**
141
- * Create a context menu for right-click interactions
142
- */
143
- contextMenu(target: HTMLElement, items: MenuItem[]): void;
144
- };
145
- /**
146
- * Menu styles and theming
147
- */
148
- export declare const MenuStyles: {
149
- theme: MenuTheme;
150
- /**
151
- * Create a custom menu theme
152
- */
153
- createTheme(overrides: Partial<MenuTheme>): MenuTheme;
154
- /**
155
- * Dark theme preset
156
- */
157
- darkTheme(): MenuTheme;
158
- };
159
- //# sourceMappingURL=Menu.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../src/components/Menu.ts"],"names":[],"mappings":"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"}
@@ -1,153 +0,0 @@
1
- /**
2
- * Enhanced Picker Component (Phase 6.4.3)
3
- *
4
- * SwiftUI-inspired Picker component with dropdown, wheel, and segmented
5
- * variants for selecting from a list of options.
6
- */
7
- import type { ModifiableComponent, ModifierBuilder } from '../modifiers/types';
8
- import type { Signal } from '../reactive/types';
9
- import type { ComponentInstance, ComponentProps } from '../runtime/types';
10
- /**
11
- * Picker option structure
12
- */
13
- export interface PickerOption<T = any> {
14
- value: T;
15
- label: string;
16
- disabled?: boolean;
17
- icon?: string;
18
- description?: string;
19
- }
20
- /**
21
- * Picker component properties
22
- */
23
- export interface PickerProps<T = any> extends ComponentProps {
24
- selection: T | Signal<T>;
25
- options: PickerOption<T>[] | Signal<PickerOption<T>[]>;
26
- onSelectionChange?: (value: T) => void;
27
- variant?: 'dropdown' | 'wheel' | 'segmented' | 'menu';
28
- title?: string | (() => string) | Signal<string>;
29
- placeholder?: string;
30
- multiple?: boolean;
31
- searchable?: boolean;
32
- clearable?: boolean;
33
- disabled?: boolean | Signal<boolean>;
34
- size?: 'small' | 'medium' | 'large';
35
- tint?: string;
36
- accessibilityLabel?: string;
37
- accessibilityHint?: string;
38
- }
39
- /**
40
- * Enhanced Picker component class
41
- */
42
- export declare class EnhancedPicker<T = any> implements ComponentInstance<PickerProps<T>> {
43
- props: PickerProps<T>;
44
- readonly type: "component";
45
- readonly id: string;
46
- mounted: boolean;
47
- cleanup: (() => void)[];
48
- private isOpen;
49
- private setIsOpen;
50
- private searchTerm;
51
- private setSearchTerm;
52
- constructor(props: PickerProps<T>);
53
- /**
54
- * Get current selection value
55
- */
56
- private getSelection;
57
- /**
58
- * Get current options
59
- */
60
- private getOptions;
61
- /**
62
- * Filter options based on search term
63
- */
64
- private getFilteredOptions;
65
- /**
66
- * Check if picker is disabled
67
- */
68
- private isDisabled;
69
- /**
70
- * Get selected option
71
- */
72
- private getSelectedOption;
73
- /**
74
- * Handle option selection
75
- */
76
- private handleSelection;
77
- /**
78
- * Toggle picker open state
79
- */
80
- private toggleOpen;
81
- /**
82
- * Get picker size styles
83
- */
84
- private getSizeStyles;
85
- /**
86
- * Render dropdown variant
87
- */
88
- private renderDropdown;
89
- /**
90
- * Render segmented variant
91
- */
92
- private renderSegmented;
93
- /**
94
- * Render wheel variant (simplified)
95
- */
96
- private renderWheel;
97
- render(): import("../runtime").DOMNode;
98
- }
99
- /**
100
- * Picker component function
101
- */
102
- export declare function Picker<T = any>(selection: T | Signal<T>, options: PickerOption<T>[] | Signal<PickerOption<T>[]>, props?: Omit<PickerProps<T>, 'selection' | 'options'>): ModifiableComponent<PickerProps<T>> & {
103
- modifier: ModifierBuilder<ModifiableComponent<PickerProps<T>>>;
104
- };
105
- /**
106
- * Picker style variants
107
- */
108
- export declare const PickerStyles: {
109
- /**
110
- * Dropdown picker (default)
111
- */
112
- Dropdown<T = any>(selection: T | Signal<T>, options: PickerOption<T>[] | Signal<PickerOption<T>[]>, props?: Omit<PickerProps<T>, "selection" | "options" | "variant">): ModifiableComponent<PickerProps<T>> & {
113
- modifier: ModifierBuilder<ModifiableComponent<PickerProps<T>>>;
114
- };
115
- /**
116
- * Segmented picker
117
- */
118
- Segmented<T = any>(selection: T | Signal<T>, options: PickerOption<T>[] | Signal<PickerOption<T>[]>, props?: Omit<PickerProps<T>, "selection" | "options" | "variant">): ModifiableComponent<PickerProps<T>> & {
119
- modifier: ModifierBuilder<ModifiableComponent<PickerProps<T>>>;
120
- };
121
- /**
122
- * Wheel picker (native select)
123
- */
124
- Wheel<T = any>(selection: T | Signal<T>, options: PickerOption<T>[] | Signal<PickerOption<T>[]>, props?: Omit<PickerProps<T>, "selection" | "options" | "variant">): ModifiableComponent<PickerProps<T>> & {
125
- modifier: ModifierBuilder<ModifiableComponent<PickerProps<T>>>;
126
- };
127
- /**
128
- * Menu picker
129
- */
130
- Menu<T = any>(selection: T | Signal<T>, options: PickerOption<T>[] | Signal<PickerOption<T>[]>, props?: Omit<PickerProps<T>, "selection" | "options" | "variant">): ModifiableComponent<PickerProps<T>> & {
131
- modifier: ModifierBuilder<ModifiableComponent<PickerProps<T>>>;
132
- };
133
- };
134
- /**
135
- * Picker utilities
136
- */
137
- export declare const PickerUtils: {
138
- /**
139
- * Create options from simple array
140
- */
141
- fromArray<T>(items: T[], labelKey?: keyof T): PickerOption<T>[];
142
- /**
143
- * Create options from enum
144
- */
145
- fromEnum(enumObject: Record<string, string | number>): PickerOption<string | number>[];
146
- /**
147
- * Group options by category
148
- */
149
- grouped<T>(options: (PickerOption<T> & {
150
- category?: string;
151
- })[]): Record<string, PickerOption<T>[]>;
152
- };
153
- //# sourceMappingURL=Picker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Picker.d.ts","sourceRoot":"","sources":["../../src/components/Picker.ts"],"names":[],"mappings":"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"}