@tachui/core 0.7.1-alpha → 0.8.1-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 (286) hide show
  1. package/README.md +20 -2
  2. package/dist/bundles/assets.d.ts +19 -0
  3. package/dist/bundles/assets.d.ts.map +1 -0
  4. package/dist/bundles/common.d.ts +1 -1
  5. package/dist/bundles/common.d.ts.map +1 -1
  6. package/dist/bundles/context.d.ts +22 -0
  7. package/dist/bundles/context.d.ts.map +1 -0
  8. package/dist/bundles/minimal.d.ts +8 -18
  9. package/dist/bundles/minimal.d.ts.map +1 -1
  10. package/dist/bundles/production-minimal.d.ts +2 -16
  11. package/dist/bundles/production-minimal.d.ts.map +1 -1
  12. package/dist/common.js +405 -828
  13. package/dist/compiler/advanced-parser.d.ts.map +1 -1
  14. package/dist/compiler/codegen.d.ts.map +1 -1
  15. package/dist/compiler/index.js +6 -1387
  16. package/dist/compiler/parser.d.ts +1 -1
  17. package/dist/compiler/parser.d.ts.map +1 -1
  18. package/dist/compiler/plugin.d.ts.map +1 -1
  19. package/dist/compiler/types.d.ts +28 -0
  20. package/dist/compiler/types.d.ts.map +1 -1
  21. package/dist/component-XAzF1xqs.js +487 -0
  22. package/dist/component-base-x2XmHFjy.js +255 -0
  23. package/dist/components/index.d.ts +4 -38
  24. package/dist/components/index.d.ts.map +1 -1
  25. package/dist/components/index.js +7 -4167
  26. package/dist/components/wrapper.d.ts +5 -152
  27. package/dist/components/wrapper.d.ts.map +1 -1
  28. package/dist/concatenated-component-ByPl3_FF.js +2933 -0
  29. package/dist/constants/index.d.ts +1 -1
  30. package/dist/constants/layout.d.ts +47 -4
  31. package/dist/constants/layout.d.ts.map +1 -1
  32. package/dist/constants/layout.js +84 -0
  33. package/dist/css-classes/index.js +176 -0
  34. package/dist/{dom-bridge-Cx-s6Ihx.js → dom-bridge-CAa1N2zX.js} +28 -28
  35. package/dist/{effect-CytAc9em.js → effect-B9Knft0b.js} +3 -3
  36. package/dist/essential.js +397 -826
  37. package/dist/index-DEBd8cq7.js +1144 -0
  38. package/dist/index-DIvMCJQO.js +268 -0
  39. package/dist/index-vdsiw6gQ.js +777 -0
  40. package/dist/index.d.ts +9 -9
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +397 -826
  43. package/dist/minimal-prod.js +101 -155
  44. package/dist/minimal.js +118 -170
  45. package/dist/modifiers/background.d.ts +41 -11
  46. package/dist/modifiers/background.d.ts.map +1 -1
  47. package/dist/modifiers/base.d.ts +6 -33
  48. package/dist/modifiers/base.d.ts.map +1 -1
  49. package/dist/modifiers/base.js +487 -0
  50. package/dist/modifiers/builder.d.ts +103 -195
  51. package/dist/modifiers/builder.d.ts.map +1 -1
  52. package/dist/modifiers/builder.js +9 -0
  53. package/dist/modifiers/core.d.ts +9 -401
  54. package/dist/modifiers/core.d.ts.map +1 -1
  55. package/dist/modifiers/{utils.d.ts → factories.d.ts} +18 -5
  56. package/dist/modifiers/factories.d.ts.map +1 -0
  57. package/dist/modifiers/index.d.ts +8 -52
  58. package/dist/modifiers/index.d.ts.map +1 -1
  59. package/dist/modifiers/index.js +38 -0
  60. package/dist/modifiers/presets.d.ts +368 -0
  61. package/dist/modifiers/presets.d.ts.map +1 -0
  62. package/dist/modifiers/registry.js +10 -0
  63. package/dist/modifiers/types.d.ts +39 -211
  64. package/dist/modifiers/types.d.ts.map +1 -1
  65. package/dist/modifiers/types.js +4 -0
  66. package/dist/observed-object-Cos-FtjP.js +269 -0
  67. package/dist/performance-optimizer-stub-CtfXUwl4.js +38 -0
  68. package/dist/plugin-BCAdZXKq.js +1680 -0
  69. package/dist/plugins/index.d.ts +5 -6
  70. package/dist/plugins/index.d.ts.map +1 -1
  71. package/dist/plugins/index.js +147 -297
  72. package/dist/plugins/simplified-index.d.ts +5 -6
  73. package/dist/plugins/simplified-index.d.ts.map +1 -1
  74. package/dist/production-minimal-BY_gMc-l.js +2532 -0
  75. package/dist/reactive/index.js +96 -95
  76. package/dist/reactive/types.js +4 -0
  77. package/dist/runtime/concatenation-aria.d.ts +24 -0
  78. package/dist/runtime/concatenation-aria.d.ts.map +1 -0
  79. package/dist/runtime/concatenation-aria.js +53 -0
  80. package/dist/runtime/concatenation-full.d.ts +30 -0
  81. package/dist/runtime/concatenation-full.d.ts.map +1 -0
  82. package/dist/runtime/concatenation-full.js +77 -0
  83. package/dist/runtime/concatenation-minimal.d.ts +25 -0
  84. package/dist/runtime/concatenation-minimal.d.ts.map +1 -0
  85. package/dist/runtime/concatenation-minimal.js +40 -0
  86. package/dist/runtime/dom-bridge.js +5 -5
  87. package/dist/runtime/element-override.d.ts.map +1 -1
  88. package/dist/runtime/index.d.ts +0 -7
  89. package/dist/runtime/index.d.ts.map +1 -1
  90. package/dist/runtime/renderer.d.ts.map +1 -1
  91. package/dist/runtime/renderer.js +7 -8
  92. package/dist/runtime/semantic-role-manager.d.ts.map +1 -1
  93. package/dist/runtime/types.js +1 -0
  94. package/dist/{scheduler-7SvC3a21.js → scheduler-BKeqwrYE.js} +130 -130
  95. package/dist/validation/build-time-stub.d.ts +33 -0
  96. package/dist/validation/build-time-stub.d.ts.map +1 -0
  97. package/dist/validation/debug-tools-stub.d.ts +67 -0
  98. package/dist/validation/debug-tools-stub.d.ts.map +1 -0
  99. package/dist/validation/index.d.ts +23 -78
  100. package/dist/validation/index.d.ts.map +1 -1
  101. package/dist/validation/index.js +609 -6470
  102. package/dist/validation/lifecycle-validation.d.ts.map +1 -1
  103. package/dist/validation/performance-optimizer-stub.d.ts +50 -0
  104. package/dist/validation/performance-optimizer-stub.d.ts.map +1 -0
  105. package/dist/validation/plugin-registration.d.ts +5 -1
  106. package/dist/validation/plugin-registration.d.ts.map +1 -1
  107. package/dist/validation/production-bypass-core.d.ts +69 -0
  108. package/dist/validation/production-bypass-core.d.ts.map +1 -0
  109. package/package.json +61 -5
  110. package/dist/ScrollView-h-6wYMAm.js +0 -515
  111. package/dist/Spacer-BbteDQ9I.js +0 -5337
  112. package/dist/binding-CmdpowkI.js +0 -2276
  113. package/dist/components/BasicInput.d.ts +0 -116
  114. package/dist/components/BasicInput.d.ts.map +0 -1
  115. package/dist/components/Button.d.ts +0 -252
  116. package/dist/components/Button.d.ts.map +0 -1
  117. package/dist/components/Divider.d.ts +0 -141
  118. package/dist/components/Divider.d.ts.map +0 -1
  119. package/dist/components/EnhancedLink.d.ts +0 -365
  120. package/dist/components/EnhancedLink.d.ts.map +0 -1
  121. package/dist/components/Form.d.ts +0 -141
  122. package/dist/components/Form.d.ts.map +0 -1
  123. package/dist/components/Grid.d.ts +0 -698
  124. package/dist/components/Grid.d.ts.map +0 -1
  125. package/dist/components/GridResponsive.d.ts +0 -214
  126. package/dist/components/GridResponsive.d.ts.map +0 -1
  127. package/dist/components/Image.d.ts +0 -162
  128. package/dist/components/Image.d.ts.map +0 -1
  129. package/dist/components/List.d.ts +0 -287
  130. package/dist/components/List.d.ts.map +0 -1
  131. package/dist/components/Menu.d.ts +0 -159
  132. package/dist/components/Menu.d.ts.map +0 -1
  133. package/dist/components/Picker.d.ts +0 -153
  134. package/dist/components/Picker.d.ts.map +0 -1
  135. package/dist/components/ScrollView.d.ts +0 -222
  136. package/dist/components/ScrollView.d.ts.map +0 -1
  137. package/dist/components/Section.d.ts +0 -153
  138. package/dist/components/Section.d.ts.map +0 -1
  139. package/dist/components/Show.d.ts +0 -64
  140. package/dist/components/Show.d.ts.map +0 -1
  141. package/dist/components/Spacer.d.ts +0 -35
  142. package/dist/components/Spacer.d.ts.map +0 -1
  143. package/dist/components/Text.d.ts +0 -242
  144. package/dist/components/Text.d.ts.map +0 -1
  145. package/dist/components/Toggle.d.ts +0 -207
  146. package/dist/components/Toggle.d.ts.map +0 -1
  147. package/dist/concatenated-component-DPcl2TEO.js +0 -6779
  148. package/dist/context--zQFIImS.js +0 -283
  149. package/dist/debug/index.d.ts +0 -61
  150. package/dist/debug/index.d.ts.map +0 -1
  151. package/dist/debug.js +0 -178
  152. package/dist/developer-experience/enhanced-errors.d.ts +0 -128
  153. package/dist/developer-experience/enhanced-errors.d.ts.map +0 -1
  154. package/dist/developer-experience/enhanced-types.d.ts +0 -281
  155. package/dist/developer-experience/enhanced-types.d.ts.map +0 -1
  156. package/dist/developer-experience/index.d.ts +0 -44
  157. package/dist/developer-experience/index.d.ts.map +0 -1
  158. package/dist/index-Nfi2SBQh.js +0 -3268
  159. package/dist/modifiers/attributes.d.ts +0 -203
  160. package/dist/modifiers/attributes.d.ts.map +0 -1
  161. package/dist/modifiers/backdrop.d.ts +0 -59
  162. package/dist/modifiers/backdrop.d.ts.map +0 -1
  163. package/dist/modifiers/border.d.ts +0 -217
  164. package/dist/modifiers/border.d.ts.map +0 -1
  165. package/dist/modifiers/effects.d.ts +0 -159
  166. package/dist/modifiers/effects.d.ts.map +0 -1
  167. package/dist/modifiers/elements.d.ts +0 -240
  168. package/dist/modifiers/elements.d.ts.map +0 -1
  169. package/dist/modifiers/filters.d.ts +0 -275
  170. package/dist/modifiers/filters.d.ts.map +0 -1
  171. package/dist/modifiers/flexbox.d.ts +0 -82
  172. package/dist/modifiers/flexbox.d.ts.map +0 -1
  173. package/dist/modifiers/font.d.ts +0 -71
  174. package/dist/modifiers/font.d.ts.map +0 -1
  175. package/dist/modifiers/grid.d.ts +0 -92
  176. package/dist/modifiers/grid.d.ts.map +0 -1
  177. package/dist/modifiers/margin.d.ts +0 -128
  178. package/dist/modifiers/margin.d.ts.map +0 -1
  179. package/dist/modifiers/padding.d.ts +0 -204
  180. package/dist/modifiers/padding.d.ts.map +0 -1
  181. package/dist/modifiers/responsive/advanced-utilities.d.ts +0 -118
  182. package/dist/modifiers/responsive/advanced-utilities.d.ts.map +0 -1
  183. package/dist/modifiers/responsive/breakpoints.d.ts +0 -81
  184. package/dist/modifiers/responsive/breakpoints.d.ts.map +0 -1
  185. package/dist/modifiers/responsive/css-generator.d.ts +0 -100
  186. package/dist/modifiers/responsive/css-generator.d.ts.map +0 -1
  187. package/dist/modifiers/responsive/dev-tools.d.ts +0 -107
  188. package/dist/modifiers/responsive/dev-tools.d.ts.map +0 -1
  189. package/dist/modifiers/responsive/index.d.ts +0 -29
  190. package/dist/modifiers/responsive/index.d.ts.map +0 -1
  191. package/dist/modifiers/responsive/layout-patterns.d.ts +0 -230
  192. package/dist/modifiers/responsive/layout-patterns.d.ts.map +0 -1
  193. package/dist/modifiers/responsive/performance.d.ts +0 -130
  194. package/dist/modifiers/responsive/performance.d.ts.map +0 -1
  195. package/dist/modifiers/responsive/responsive-builder.d.ts +0 -133
  196. package/dist/modifiers/responsive/responsive-builder.d.ts.map +0 -1
  197. package/dist/modifiers/responsive/responsive-modifier.d.ts +0 -123
  198. package/dist/modifiers/responsive/responsive-modifier.d.ts.map +0 -1
  199. package/dist/modifiers/responsive/types.d.ts +0 -183
  200. package/dist/modifiers/responsive/types.d.ts.map +0 -1
  201. package/dist/modifiers/responsive/utilities.d.ts +0 -149
  202. package/dist/modifiers/responsive/utilities.d.ts.map +0 -1
  203. package/dist/modifiers/scroll.d.ts +0 -143
  204. package/dist/modifiers/scroll.d.ts.map +0 -1
  205. package/dist/modifiers/shadows.d.ts +0 -114
  206. package/dist/modifiers/shadows.d.ts.map +0 -1
  207. package/dist/modifiers/size.d.ts +0 -113
  208. package/dist/modifiers/size.d.ts.map +0 -1
  209. package/dist/modifiers/text.d.ts +0 -147
  210. package/dist/modifiers/text.d.ts.map +0 -1
  211. package/dist/modifiers/transformations.d.ts +0 -329
  212. package/dist/modifiers/transformations.d.ts.map +0 -1
  213. package/dist/modifiers/transitions.d.ts +0 -98
  214. package/dist/modifiers/transitions.d.ts.map +0 -1
  215. package/dist/modifiers/typography.d.ts +0 -192
  216. package/dist/modifiers/typography.d.ts.map +0 -1
  217. package/dist/modifiers/utility.d.ts +0 -69
  218. package/dist/modifiers/utility.d.ts.map +0 -1
  219. package/dist/modifiers/utils.d.ts.map +0 -1
  220. package/dist/plugins/simplified-error-handler.d.ts +0 -83
  221. package/dist/plugins/simplified-error-handler.d.ts.map +0 -1
  222. package/dist/runtime/dev-tools.d.ts +0 -240
  223. package/dist/runtime/dev-tools.d.ts.map +0 -1
  224. package/dist/runtime/development-warnings.d.ts +0 -42
  225. package/dist/runtime/development-warnings.d.ts.map +0 -1
  226. package/dist/runtime/error-boundary.d.ts +0 -302
  227. package/dist/runtime/error-boundary.d.ts.map +0 -1
  228. package/dist/runtime/error-recovery.d.ts +0 -267
  229. package/dist/runtime/error-recovery.d.ts.map +0 -1
  230. package/dist/runtime/error-reporting.d.ts +0 -287
  231. package/dist/runtime/error-reporting.d.ts.map +0 -1
  232. package/dist/runtime/error-utils.d.ts +0 -204
  233. package/dist/runtime/error-utils.d.ts.map +0 -1
  234. package/dist/runtime/performance.d.ts +0 -217
  235. package/dist/runtime/performance.d.ts.map +0 -1
  236. package/dist/sui-compat.d.ts +0 -110
  237. package/dist/sui-compat.d.ts.map +0 -1
  238. package/dist/validation/advanced-debugging.d.ts +0 -319
  239. package/dist/validation/advanced-debugging.d.ts.map +0 -1
  240. package/dist/validation/build-time/detection.d.ts +0 -32
  241. package/dist/validation/build-time/detection.d.ts.map +0 -1
  242. package/dist/validation/build-time/index.d.ts +0 -84
  243. package/dist/validation/build-time/index.d.ts.map +0 -1
  244. package/dist/validation/build-time/plugins.d.ts +0 -75
  245. package/dist/validation/build-time/plugins.d.ts.map +0 -1
  246. package/dist/validation/build-time/rules.d.ts +0 -73
  247. package/dist/validation/build-time/rules.d.ts.map +0 -1
  248. package/dist/validation/build-time/transformer.d.ts +0 -23
  249. package/dist/validation/build-time/transformer.d.ts.map +0 -1
  250. package/dist/validation/build-time/types.d.ts +0 -212
  251. package/dist/validation/build-time/types.d.ts.map +0 -1
  252. package/dist/validation/comprehensive.d.ts +0 -160
  253. package/dist/validation/comprehensive.d.ts.map +0 -1
  254. package/dist/validation/debug-tools.d.ts +0 -251
  255. package/dist/validation/debug-tools.d.ts.map +0 -1
  256. package/dist/validation/developer-experience.d.ts +0 -243
  257. package/dist/validation/developer-experience.d.ts.map +0 -1
  258. package/dist/validation/documentation-integration.d.ts +0 -269
  259. package/dist/validation/documentation-integration.d.ts.map +0 -1
  260. package/dist/validation/enhanced-runtime.d.ts +0 -279
  261. package/dist/validation/enhanced-runtime.d.ts.map +0 -1
  262. package/dist/validation/error-reporting.d.ts +0 -186
  263. package/dist/validation/error-reporting.d.ts.map +0 -1
  264. package/dist/validation/ide-integration.d.ts +0 -328
  265. package/dist/validation/ide-integration.d.ts.map +0 -1
  266. package/dist/validation/performance-optimizer.d.ts +0 -218
  267. package/dist/validation/performance-optimizer.d.ts.map +0 -1
  268. package/dist/validation/production-bypass.d.ts +0 -175
  269. package/dist/validation/production-bypass.d.ts.map +0 -1
  270. package/dist/validation/simple.d.ts +0 -111
  271. package/dist/validation/simple.d.ts.map +0 -1
  272. package/dist/viewport/adapters/web-adapter.d.ts +0 -227
  273. package/dist/viewport/adapters/web-adapter.d.ts.map +0 -1
  274. package/dist/viewport/components.d.ts +0 -131
  275. package/dist/viewport/components.d.ts.map +0 -1
  276. package/dist/viewport/environment.d.ts +0 -75
  277. package/dist/viewport/environment.d.ts.map +0 -1
  278. package/dist/viewport/index.d.ts +0 -138
  279. package/dist/viewport/index.d.ts.map +0 -1
  280. package/dist/viewport/index.js +0 -2085
  281. package/dist/viewport/platform-detection.d.ts +0 -59
  282. package/dist/viewport/platform-detection.d.ts.map +0 -1
  283. package/dist/viewport/types.d.ts +0 -301
  284. package/dist/viewport/types.d.ts.map +0 -1
  285. package/dist/viewport/viewport-manager.d.ts +0 -118
  286. 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":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAE9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAIlF;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;IACpC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,IAAI,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,QAAQ,CAAA;IAC3C,MAAM,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GACrB,QAAQ,GACR,cAAc,GACd,YAAY,GACZ,KAAK,GACL,WAAW,GACX,SAAS,GACT,OAAO,GACP,aAAa,GACb,WAAW,GACX,MAAM,GACN,YAAY,GACZ,UAAU,CAAA;AAEd;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,cAAc;IAE/C,KAAK,EAAE,QAAQ,EAAE,CAAA;IAGjB,OAAO,EAAE,iBAAiB,GAAG,WAAW,GAAG,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAA;IAGlF,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IAGxB,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAA;IAGzB,MAAM,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACjC,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IAGf,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAG1B,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE;QACN,UAAU,EAAE,MAAM,CAAA;QAClB,OAAO,EAAE,MAAM,CAAA;QACf,IAAI,EAAE,MAAM,CAAA;QACZ,aAAa,EAAE,MAAM,CAAA;QACrB,YAAY,EAAE,MAAM,CAAA;QACpB,eAAe,EAAE,MAAM,CAAA;QACvB,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;QACd,SAAS,EAAE,MAAM,CAAA;QACjB,QAAQ,EAAE,MAAM,CAAA;QAChB,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAA;QACf,WAAW,EAAE,MAAM,CAAA;QACnB,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;IACD,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;CACrB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,SA0B9B,CAAA;AAED;;GAEG;AACH,qBAAa,aAAc,YAAW,iBAAiB,CAAC,SAAS,CAAC;IAChE,SAAgB,IAAI,EAAG,WAAW,CAAS;IAC3C,SAAgB,EAAE,EAAE,MAAM,CAAA;IAC1B,SAAgB,KAAK,EAAE,SAAS,CAAA;IACzB,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAK;IACnC,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,KAAK,MAAM,GAEjB;IACD,OAAO,KAAK,SAAS,GAEpB;IACD,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,cAAc,CAA2B;gBAErC,KAAK,EAAE,SAAS;IAgC5B,OAAO,CAAC,YAAY;IAIpB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAc5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,cAAc;IAwItB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,aAAa,CAmDpB;IAED,OAAO,CAAC,iBAAiB;IAmFzB,OAAO,CAAC,iBAAiB;IAqCzB,OAAO,CAAC,YAAY;IAyCpB,MAAM,IAAI,OAAO;IA4FjB,OAAO,CAAC,kBAAkB,CAUzB;IAED,OAAO,CAAC,cAAc,CASrB;CACF;AAED;;GAEG;AACH,wBAAgB,IAAI,CAClB,KAAK,EAAE,SAAS,GACf,mBAAmB,CAAC,SAAS,CAAC,GAAG;IAAE,QAAQ,EAAE,eAAe,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAA;CAAE,CAEhG;AAED;;GAEG;AACH,eAAO,MAAM,SAAS;IACpB;;OAEG;iBACU,QAAQ;IAIrB;;OAEG;uBACgB,MAAM,UAAU,MAAM,IAAI,gBAAgB,MAAM,GAAG,QAAQ;IAS9E;;OAEG;wBAEM,MAAM,YACH,MAAM,UACR,MAAM,IAAI,gBACJ,MAAM,GACnB,QAAQ;IASX;;OAEG;wBACiB,WAAW,SAAS,QAAQ,EAAE,GAAG,IAAI;CAc1D,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,UAAU;;IAGrB;;OAEG;2BACoB,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS;IAIrD;;OAEG;iBACU,SAAS;CAevB,CAAA"}
@@ -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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"}