@tachui/core 0.7.0-alpha1 → 0.7.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 (947) hide show
  1. package/README.md +195 -0
  2. package/dist/ScrollView-h-6wYMAm.js +515 -0
  3. package/dist/Spacer-BbteDQ9I.js +5337 -0
  4. package/dist/binding-CmdpowkI.js +2276 -0
  5. package/dist/bundles/minimal.d.ts +30 -4
  6. package/dist/bundles/minimal.d.ts.map +1 -1
  7. package/dist/common.js +825 -954
  8. package/dist/compiler/index.js +1386 -10
  9. package/dist/components/index.js +4166 -101
  10. package/dist/concatenated-component-DPcl2TEO.js +6779 -0
  11. package/dist/{runtime/context.js → context--zQFIImS.js} +65 -71
  12. package/dist/debug.js +0 -1
  13. package/dist/dom-bridge-Cx-s6Ihx.js +406 -0
  14. package/dist/effect-CytAc9em.js +66 -0
  15. package/dist/essential.js +825 -954
  16. package/dist/index-Nfi2SBQh.js +3268 -0
  17. package/dist/index.js +825 -954
  18. package/dist/minimal-prod.js +162 -191
  19. package/dist/minimal.js +183 -957
  20. package/dist/modifiers/responsive/index.d.ts +10 -9
  21. package/dist/modifiers/responsive/index.d.ts.map +1 -1
  22. package/dist/plugins/index.js +543 -32
  23. package/dist/reactive/index.js +490 -93
  24. package/dist/runtime/dom-bridge.js +12 -239
  25. package/dist/runtime/renderer.js +8 -388
  26. package/dist/scheduler-7SvC3a21.js +814 -0
  27. package/dist/validation/index.js +6614 -198
  28. package/dist/viewport/index.js +2002 -83
  29. package/package.json +3 -4
  30. package/dist/assets/Asset.cjs +0 -2
  31. package/dist/assets/Asset.cjs.map +0 -1
  32. package/dist/assets/Asset.js +0 -9
  33. package/dist/assets/Asset.js.map +0 -1
  34. package/dist/assets/AssetCollection.cjs +0 -2
  35. package/dist/assets/AssetCollection.cjs.map +0 -1
  36. package/dist/assets/AssetCollection.js +0 -44
  37. package/dist/assets/AssetCollection.js.map +0 -1
  38. package/dist/assets/ColorAsset.cjs +0 -2
  39. package/dist/assets/ColorAsset.cjs.map +0 -1
  40. package/dist/assets/ColorAsset.js +0 -114
  41. package/dist/assets/ColorAsset.js.map +0 -1
  42. package/dist/assets/FontAsset.cjs +0 -9
  43. package/dist/assets/FontAsset.cjs.map +0 -1
  44. package/dist/assets/FontAsset.js +0 -173
  45. package/dist/assets/FontAsset.js.map +0 -1
  46. package/dist/assets/ImageAsset.cjs +0 -2
  47. package/dist/assets/ImageAsset.cjs.map +0 -1
  48. package/dist/assets/ImageAsset.js +0 -39
  49. package/dist/assets/ImageAsset.js.map +0 -1
  50. package/dist/assets/index.cjs +0 -2
  51. package/dist/assets/index.cjs.map +0 -1
  52. package/dist/assets/index.js +0 -119
  53. package/dist/assets/index.js.map +0 -1
  54. package/dist/common.cjs +0 -2
  55. package/dist/common.cjs.map +0 -1
  56. package/dist/common.js.map +0 -1
  57. package/dist/compiler/advanced-parser.cjs +0 -5
  58. package/dist/compiler/advanced-parser.cjs.map +0 -1
  59. package/dist/compiler/advanced-parser.js +0 -440
  60. package/dist/compiler/advanced-parser.js.map +0 -1
  61. package/dist/compiler/codegen.cjs +0 -6
  62. package/dist/compiler/codegen.cjs.map +0 -1
  63. package/dist/compiler/codegen.js +0 -241
  64. package/dist/compiler/codegen.js.map +0 -1
  65. package/dist/compiler/enhanced-codegen.cjs +0 -6
  66. package/dist/compiler/enhanced-codegen.cjs.map +0 -1
  67. package/dist/compiler/enhanced-codegen.js +0 -347
  68. package/dist/compiler/enhanced-codegen.js.map +0 -1
  69. package/dist/compiler/index.cjs +0 -2
  70. package/dist/compiler/index.cjs.map +0 -1
  71. package/dist/compiler/index.js.map +0 -1
  72. package/dist/compiler/parser.cjs +0 -5
  73. package/dist/compiler/parser.cjs.map +0 -1
  74. package/dist/compiler/parser.js +0 -275
  75. package/dist/compiler/parser.js.map +0 -1
  76. package/dist/compiler/plugin.cjs +0 -33
  77. package/dist/compiler/plugin.cjs.map +0 -1
  78. package/dist/compiler/plugin.js +0 -103
  79. package/dist/compiler/plugin.js.map +0 -1
  80. package/dist/components/BasicInput.cjs +0 -2
  81. package/dist/components/BasicInput.cjs.map +0 -1
  82. package/dist/components/BasicInput.js +0 -182
  83. package/dist/components/BasicInput.js.map +0 -1
  84. package/dist/components/Button.cjs +0 -7
  85. package/dist/components/Button.cjs.map +0 -1
  86. package/dist/components/Button.js +0 -408
  87. package/dist/components/Button.js.map +0 -1
  88. package/dist/components/Divider.cjs +0 -2
  89. package/dist/components/Divider.cjs.map +0 -1
  90. package/dist/components/Divider.js +0 -187
  91. package/dist/components/Divider.js.map +0 -1
  92. package/dist/components/EnhancedLink.cjs +0 -2
  93. package/dist/components/EnhancedLink.cjs.map +0 -1
  94. package/dist/components/EnhancedLink.js +0 -345
  95. package/dist/components/EnhancedLink.js.map +0 -1
  96. package/dist/components/Form.cjs +0 -2
  97. package/dist/components/Form.cjs.map +0 -1
  98. package/dist/components/Form.js +0 -244
  99. package/dist/components/Form.js.map +0 -1
  100. package/dist/components/Grid.cjs +0 -2
  101. package/dist/components/Grid.cjs.map +0 -1
  102. package/dist/components/Grid.js +0 -1045
  103. package/dist/components/Grid.js.map +0 -1
  104. package/dist/components/GridResponsive.cjs +0 -2
  105. package/dist/components/GridResponsive.cjs.map +0 -1
  106. package/dist/components/GridResponsive.js +0 -382
  107. package/dist/components/GridResponsive.js.map +0 -1
  108. package/dist/components/Image.cjs +0 -2
  109. package/dist/components/Image.cjs.map +0 -1
  110. package/dist/components/Image.js +0 -212
  111. package/dist/components/Image.js.map +0 -1
  112. package/dist/components/List.cjs +0 -2
  113. package/dist/components/List.cjs.map +0 -1
  114. package/dist/components/List.js +0 -561
  115. package/dist/components/List.js.map +0 -1
  116. package/dist/components/Menu.cjs +0 -2
  117. package/dist/components/Menu.cjs.map +0 -1
  118. package/dist/components/Menu.js +0 -443
  119. package/dist/components/Menu.js.map +0 -1
  120. package/dist/components/Picker.cjs +0 -2
  121. package/dist/components/Picker.cjs.map +0 -1
  122. package/dist/components/Picker.js +0 -478
  123. package/dist/components/Picker.js.map +0 -1
  124. package/dist/components/ScrollView.cjs +0 -6
  125. package/dist/components/ScrollView.cjs.map +0 -1
  126. package/dist/components/ScrollView.js +0 -363
  127. package/dist/components/ScrollView.js.map +0 -1
  128. package/dist/components/Section.cjs +0 -2
  129. package/dist/components/Section.cjs.map +0 -1
  130. package/dist/components/Section.js +0 -323
  131. package/dist/components/Section.js.map +0 -1
  132. package/dist/components/Show.cjs +0 -2
  133. package/dist/components/Show.cjs.map +0 -1
  134. package/dist/components/Show.js +0 -112
  135. package/dist/components/Show.js.map +0 -1
  136. package/dist/components/Spacer.cjs +0 -2
  137. package/dist/components/Spacer.cjs.map +0 -1
  138. package/dist/components/Spacer.js +0 -53
  139. package/dist/components/Spacer.js.map +0 -1
  140. package/dist/components/Text.cjs +0 -2
  141. package/dist/components/Text.cjs.map +0 -1
  142. package/dist/components/Text.js +0 -193
  143. package/dist/components/Text.js.map +0 -1
  144. package/dist/components/Toggle.cjs +0 -2
  145. package/dist/components/Toggle.cjs.map +0 -1
  146. package/dist/components/Toggle.js +0 -477
  147. package/dist/components/Toggle.js.map +0 -1
  148. package/dist/components/index.cjs +0 -2
  149. package/dist/components/index.cjs.map +0 -1
  150. package/dist/components/index.js.map +0 -1
  151. package/dist/components/wrapper.cjs +0 -2
  152. package/dist/components/wrapper.cjs.map +0 -1
  153. package/dist/components/wrapper.js +0 -484
  154. package/dist/components/wrapper.js.map +0 -1
  155. package/dist/concatenation/concatenatable.cjs +0 -2
  156. package/dist/concatenation/concatenatable.cjs.map +0 -1
  157. package/dist/concatenation/concatenatable.js +0 -118
  158. package/dist/concatenation/concatenatable.js.map +0 -1
  159. package/dist/concatenation/concatenated-component.cjs +0 -2
  160. package/dist/concatenation/concatenated-component.cjs.map +0 -1
  161. package/dist/concatenation/concatenated-component.js +0 -276
  162. package/dist/concatenation/concatenated-component.js.map +0 -1
  163. package/dist/concatenation/text-optimizer.cjs +0 -2
  164. package/dist/concatenation/text-optimizer.cjs.map +0 -1
  165. package/dist/concatenation/text-optimizer.js +0 -236
  166. package/dist/concatenation/text-optimizer.js.map +0 -1
  167. package/dist/concatenation/types.cjs +0 -2
  168. package/dist/concatenation/types.cjs.map +0 -1
  169. package/dist/concatenation/types.js +0 -13
  170. package/dist/concatenation/types.js.map +0 -1
  171. package/dist/constants/frame-utils.cjs +0 -2
  172. package/dist/constants/frame-utils.cjs.map +0 -1
  173. package/dist/constants/frame-utils.js +0 -116
  174. package/dist/constants/frame-utils.js.map +0 -1
  175. package/dist/constants/layout.cjs +0 -2
  176. package/dist/constants/layout.cjs.map +0 -1
  177. package/dist/constants/layout.js +0 -46
  178. package/dist/constants/layout.js.map +0 -1
  179. package/dist/css-classes/component-base.cjs +0 -2
  180. package/dist/css-classes/component-base.cjs.map +0 -1
  181. package/dist/css-classes/component-base.js +0 -62
  182. package/dist/css-classes/component-base.js.map +0 -1
  183. package/dist/css-classes/css-class-manager.cjs +0 -2
  184. package/dist/css-classes/css-class-manager.cjs.map +0 -1
  185. package/dist/css-classes/css-class-manager.js +0 -209
  186. package/dist/css-classes/css-class-manager.js.map +0 -1
  187. package/dist/css-classes/dom-integration.cjs +0 -2
  188. package/dist/css-classes/dom-integration.cjs.map +0 -1
  189. package/dist/css-classes/dom-integration.js +0 -67
  190. package/dist/css-classes/dom-integration.js.map +0 -1
  191. package/dist/css-classes/enhanced-renderer.cjs +0 -2
  192. package/dist/css-classes/enhanced-renderer.cjs.map +0 -1
  193. package/dist/css-classes/enhanced-renderer.js +0 -73
  194. package/dist/css-classes/enhanced-renderer.js.map +0 -1
  195. package/dist/css-classes/utilities.cjs +0 -2
  196. package/dist/css-classes/utilities.cjs.map +0 -1
  197. package/dist/css-classes/utilities.js +0 -41
  198. package/dist/css-classes/utilities.js.map +0 -1
  199. package/dist/debug.cjs +0 -52
  200. package/dist/debug.cjs.map +0 -1
  201. package/dist/debug.js.map +0 -1
  202. package/dist/essential.cjs +0 -2
  203. package/dist/essential.cjs.map +0 -1
  204. package/dist/essential.js.map +0 -1
  205. package/dist/gradients/css-generator.cjs +0 -2
  206. package/dist/gradients/css-generator.cjs.map +0 -1
  207. package/dist/gradients/css-generator.js +0 -100
  208. package/dist/gradients/css-generator.js.map +0 -1
  209. package/dist/gradients/examples.cjs +0 -2
  210. package/dist/gradients/examples.cjs.map +0 -1
  211. package/dist/gradients/examples.js +0 -555
  212. package/dist/gradients/examples.js.map +0 -1
  213. package/dist/gradients/gradient-asset.cjs +0 -2
  214. package/dist/gradients/gradient-asset.cjs.map +0 -1
  215. package/dist/gradients/gradient-asset.js +0 -22
  216. package/dist/gradients/gradient-asset.js.map +0 -1
  217. package/dist/gradients/index.cjs +0 -2
  218. package/dist/gradients/index.cjs.map +0 -1
  219. package/dist/gradients/index.js +0 -78
  220. package/dist/gradients/index.js.map +0 -1
  221. package/dist/gradients/performance.cjs +0 -2
  222. package/dist/gradients/performance.cjs.map +0 -1
  223. package/dist/gradients/performance.js +0 -237
  224. package/dist/gradients/performance.js.map +0 -1
  225. package/dist/gradients/presets.cjs +0 -2
  226. package/dist/gradients/presets.cjs.map +0 -1
  227. package/dist/gradients/presets.js +0 -254
  228. package/dist/gradients/presets.js.map +0 -1
  229. package/dist/gradients/reactive.cjs +0 -2
  230. package/dist/gradients/reactive.cjs.map +0 -1
  231. package/dist/gradients/reactive.js +0 -239
  232. package/dist/gradients/reactive.js.map +0 -1
  233. package/dist/gradients/state-gradient-asset.cjs +0 -2
  234. package/dist/gradients/state-gradient-asset.cjs.map +0 -1
  235. package/dist/gradients/state-gradient-asset.js +0 -111
  236. package/dist/gradients/state-gradient-asset.js.map +0 -1
  237. package/dist/gradients/utils.cjs +0 -2
  238. package/dist/gradients/utils.cjs.map +0 -1
  239. package/dist/gradients/utils.js +0 -385
  240. package/dist/gradients/utils.js.map +0 -1
  241. package/dist/gradients/validation.cjs +0 -2
  242. package/dist/gradients/validation.cjs.map +0 -1
  243. package/dist/gradients/validation.js +0 -209
  244. package/dist/gradients/validation.js.map +0 -1
  245. package/dist/index.cjs +0 -2
  246. package/dist/index.cjs.map +0 -1
  247. package/dist/index.js.map +0 -1
  248. package/dist/index2.cjs +0 -2
  249. package/dist/index2.cjs.map +0 -1
  250. package/dist/index2.js +0 -293
  251. package/dist/index2.js.map +0 -1
  252. package/dist/lifecycle/hooks.cjs +0 -2
  253. package/dist/lifecycle/hooks.cjs.map +0 -1
  254. package/dist/lifecycle/hooks.js +0 -159
  255. package/dist/lifecycle/hooks.js.map +0 -1
  256. package/dist/minimal-prod.cjs +0 -2
  257. package/dist/minimal-prod.cjs.map +0 -1
  258. package/dist/minimal-prod.js.map +0 -1
  259. package/dist/minimal.cjs +0 -2
  260. package/dist/minimal.cjs.map +0 -1
  261. package/dist/minimal.js.map +0 -1
  262. package/dist/modifiers/as-html-validator.cjs +0 -2
  263. package/dist/modifiers/as-html-validator.cjs.map +0 -1
  264. package/dist/modifiers/as-html-validator.js +0 -47
  265. package/dist/modifiers/as-html-validator.js.map +0 -1
  266. package/dist/modifiers/as-html.cjs +0 -2
  267. package/dist/modifiers/as-html.cjs.map +0 -1
  268. package/dist/modifiers/as-html.js +0 -71
  269. package/dist/modifiers/as-html.js.map +0 -1
  270. package/dist/modifiers/attributes.cjs +0 -2
  271. package/dist/modifiers/attributes.cjs.map +0 -1
  272. package/dist/modifiers/attributes.js +0 -272
  273. package/dist/modifiers/attributes.js.map +0 -1
  274. package/dist/modifiers/backdrop.cjs +0 -2
  275. package/dist/modifiers/backdrop.cjs.map +0 -1
  276. package/dist/modifiers/backdrop.js +0 -109
  277. package/dist/modifiers/backdrop.js.map +0 -1
  278. package/dist/modifiers/background.cjs +0 -2
  279. package/dist/modifiers/background.cjs.map +0 -1
  280. package/dist/modifiers/background.js +0 -67
  281. package/dist/modifiers/background.js.map +0 -1
  282. package/dist/modifiers/base.cjs +0 -25
  283. package/dist/modifiers/base.cjs.map +0 -1
  284. package/dist/modifiers/base.js +0 -745
  285. package/dist/modifiers/base.js.map +0 -1
  286. package/dist/modifiers/basic-sanitizer.cjs +0 -2
  287. package/dist/modifiers/basic-sanitizer.cjs.map +0 -1
  288. package/dist/modifiers/basic-sanitizer.js +0 -162
  289. package/dist/modifiers/basic-sanitizer.js.map +0 -1
  290. package/dist/modifiers/border.cjs +0 -2
  291. package/dist/modifiers/border.cjs.map +0 -1
  292. package/dist/modifiers/border.js +0 -160
  293. package/dist/modifiers/border.js.map +0 -1
  294. package/dist/modifiers/builder.cjs +0 -2
  295. package/dist/modifiers/builder.cjs.map +0 -1
  296. package/dist/modifiers/builder.js +0 -930
  297. package/dist/modifiers/builder.js.map +0 -1
  298. package/dist/modifiers/core.cjs +0 -2
  299. package/dist/modifiers/core.cjs.map +0 -1
  300. package/dist/modifiers/core.js +0 -398
  301. package/dist/modifiers/core.js.map +0 -1
  302. package/dist/modifiers/css.cjs +0 -2
  303. package/dist/modifiers/css.cjs.map +0 -1
  304. package/dist/modifiers/css.js +0 -50
  305. package/dist/modifiers/css.js.map +0 -1
  306. package/dist/modifiers/effects.cjs +0 -2
  307. package/dist/modifiers/effects.cjs.map +0 -1
  308. package/dist/modifiers/effects.js +0 -178
  309. package/dist/modifiers/effects.js.map +0 -1
  310. package/dist/modifiers/elements.cjs +0 -2
  311. package/dist/modifiers/elements.cjs.map +0 -1
  312. package/dist/modifiers/elements.js +0 -216
  313. package/dist/modifiers/elements.js.map +0 -1
  314. package/dist/modifiers/filters.cjs +0 -2
  315. package/dist/modifiers/filters.cjs.map +0 -1
  316. package/dist/modifiers/filters.js +0 -223
  317. package/dist/modifiers/filters.js.map +0 -1
  318. package/dist/modifiers/flexbox.cjs +0 -2
  319. package/dist/modifiers/flexbox.cjs.map +0 -1
  320. package/dist/modifiers/flexbox.js +0 -56
  321. package/dist/modifiers/flexbox.js.map +0 -1
  322. package/dist/modifiers/font.cjs +0 -2
  323. package/dist/modifiers/font.cjs.map +0 -1
  324. package/dist/modifiers/font.js +0 -60
  325. package/dist/modifiers/font.js.map +0 -1
  326. package/dist/modifiers/grid.cjs +0 -2
  327. package/dist/modifiers/grid.cjs.map +0 -1
  328. package/dist/modifiers/grid.js +0 -92
  329. package/dist/modifiers/grid.js.map +0 -1
  330. package/dist/modifiers/margin.cjs +0 -2
  331. package/dist/modifiers/margin.cjs.map +0 -1
  332. package/dist/modifiers/margin.js +0 -65
  333. package/dist/modifiers/margin.js.map +0 -1
  334. package/dist/modifiers/padding.cjs +0 -2
  335. package/dist/modifiers/padding.cjs.map +0 -1
  336. package/dist/modifiers/padding.js +0 -109
  337. package/dist/modifiers/padding.js.map +0 -1
  338. package/dist/modifiers/registry.cjs +0 -2
  339. package/dist/modifiers/registry.cjs.map +0 -1
  340. package/dist/modifiers/registry.js +0 -163
  341. package/dist/modifiers/registry.js.map +0 -1
  342. package/dist/modifiers/responsive/advanced-utilities.cjs +0 -2
  343. package/dist/modifiers/responsive/advanced-utilities.cjs.map +0 -1
  344. package/dist/modifiers/responsive/advanced-utilities.js +0 -291
  345. package/dist/modifiers/responsive/advanced-utilities.js.map +0 -1
  346. package/dist/modifiers/responsive/breakpoints.cjs +0 -2
  347. package/dist/modifiers/responsive/breakpoints.cjs.map +0 -1
  348. package/dist/modifiers/responsive/breakpoints.js +0 -168
  349. package/dist/modifiers/responsive/breakpoints.js.map +0 -1
  350. package/dist/modifiers/responsive/css-generator.cjs +0 -5
  351. package/dist/modifiers/responsive/css-generator.cjs.map +0 -1
  352. package/dist/modifiers/responsive/css-generator.js +0 -261
  353. package/dist/modifiers/responsive/css-generator.js.map +0 -1
  354. package/dist/modifiers/responsive/dev-tools.cjs +0 -77
  355. package/dist/modifiers/responsive/dev-tools.cjs.map +0 -1
  356. package/dist/modifiers/responsive/dev-tools.js +0 -380
  357. package/dist/modifiers/responsive/dev-tools.js.map +0 -1
  358. package/dist/modifiers/responsive/layout-patterns.cjs +0 -2
  359. package/dist/modifiers/responsive/layout-patterns.cjs.map +0 -1
  360. package/dist/modifiers/responsive/layout-patterns.js +0 -254
  361. package/dist/modifiers/responsive/layout-patterns.js.map +0 -1
  362. package/dist/modifiers/responsive/performance.cjs +0 -3
  363. package/dist/modifiers/responsive/performance.cjs.map +0 -1
  364. package/dist/modifiers/responsive/performance.js +0 -212
  365. package/dist/modifiers/responsive/performance.js.map +0 -1
  366. package/dist/modifiers/responsive/responsive-builder.cjs +0 -2
  367. package/dist/modifiers/responsive/responsive-builder.cjs.map +0 -1
  368. package/dist/modifiers/responsive/responsive-builder.js +0 -272
  369. package/dist/modifiers/responsive/responsive-builder.js.map +0 -1
  370. package/dist/modifiers/responsive/responsive-modifier.cjs +0 -3
  371. package/dist/modifiers/responsive/responsive-modifier.cjs.map +0 -1
  372. package/dist/modifiers/responsive/responsive-modifier.js +0 -204
  373. package/dist/modifiers/responsive/responsive-modifier.js.map +0 -1
  374. package/dist/modifiers/responsive/types.cjs +0 -2
  375. package/dist/modifiers/responsive/types.cjs.map +0 -1
  376. package/dist/modifiers/responsive/types.js +0 -26
  377. package/dist/modifiers/responsive/types.js.map +0 -1
  378. package/dist/modifiers/responsive/utilities.cjs +0 -16
  379. package/dist/modifiers/responsive/utilities.cjs.map +0 -1
  380. package/dist/modifiers/responsive/utilities.js +0 -273
  381. package/dist/modifiers/responsive/utilities.js.map +0 -1
  382. package/dist/modifiers/scroll.cjs +0 -2
  383. package/dist/modifiers/scroll.cjs.map +0 -1
  384. package/dist/modifiers/scroll.js +0 -82
  385. package/dist/modifiers/scroll.js.map +0 -1
  386. package/dist/modifiers/shadows.cjs +0 -2
  387. package/dist/modifiers/shadows.cjs.map +0 -1
  388. package/dist/modifiers/shadows.js +0 -147
  389. package/dist/modifiers/shadows.js.map +0 -1
  390. package/dist/modifiers/size.cjs +0 -2
  391. package/dist/modifiers/size.cjs.map +0 -1
  392. package/dist/modifiers/size.js +0 -74
  393. package/dist/modifiers/size.js.map +0 -1
  394. package/dist/modifiers/text.cjs +0 -2
  395. package/dist/modifiers/text.cjs.map +0 -1
  396. package/dist/modifiers/text.js +0 -166
  397. package/dist/modifiers/text.js.map +0 -1
  398. package/dist/modifiers/transformations.cjs +0 -2
  399. package/dist/modifiers/transformations.cjs.map +0 -1
  400. package/dist/modifiers/transformations.js +0 -216
  401. package/dist/modifiers/transformations.js.map +0 -1
  402. package/dist/modifiers/transitions.cjs +0 -2
  403. package/dist/modifiers/transitions.cjs.map +0 -1
  404. package/dist/modifiers/transitions.js +0 -102
  405. package/dist/modifiers/transitions.js.map +0 -1
  406. package/dist/modifiers/types.cjs +0 -2
  407. package/dist/modifiers/types.cjs.map +0 -1
  408. package/dist/modifiers/types.js +0 -5
  409. package/dist/modifiers/types.js.map +0 -1
  410. package/dist/modifiers/typography.cjs +0 -2
  411. package/dist/modifiers/typography.cjs.map +0 -1
  412. package/dist/modifiers/typography.js +0 -76
  413. package/dist/modifiers/typography.js.map +0 -1
  414. package/dist/modifiers/utility.cjs +0 -2
  415. package/dist/modifiers/utility.cjs.map +0 -1
  416. package/dist/modifiers/utility.js +0 -71
  417. package/dist/modifiers/utility.js.map +0 -1
  418. package/dist/modifiers/utils.cjs +0 -2
  419. package/dist/modifiers/utils.cjs.map +0 -1
  420. package/dist/modifiers/utils.js +0 -250
  421. package/dist/modifiers/utils.js.map +0 -1
  422. package/dist/plugins/index.cjs +0 -2
  423. package/dist/plugins/index.cjs.map +0 -1
  424. package/dist/plugins/index.js.map +0 -1
  425. package/dist/plugins/legacy-adapter.cjs +0 -2
  426. package/dist/plugins/legacy-adapter.cjs.map +0 -1
  427. package/dist/plugins/legacy-adapter.js +0 -30
  428. package/dist/plugins/legacy-adapter.js.map +0 -1
  429. package/dist/plugins/simplified-component-registry.cjs +0 -2
  430. package/dist/plugins/simplified-component-registry.cjs.map +0 -1
  431. package/dist/plugins/simplified-component-registry.js +0 -71
  432. package/dist/plugins/simplified-component-registry.js.map +0 -1
  433. package/dist/plugins/simplified-error-handler.cjs +0 -2
  434. package/dist/plugins/simplified-error-handler.cjs.map +0 -1
  435. package/dist/plugins/simplified-error-handler.js +0 -154
  436. package/dist/plugins/simplified-error-handler.js.map +0 -1
  437. package/dist/plugins/simplified-lazy-loader.cjs +0 -2
  438. package/dist/plugins/simplified-lazy-loader.cjs.map +0 -1
  439. package/dist/plugins/simplified-lazy-loader.js +0 -129
  440. package/dist/plugins/simplified-lazy-loader.js.map +0 -1
  441. package/dist/plugins/simplified-plugin-manager.cjs +0 -2
  442. package/dist/plugins/simplified-plugin-manager.cjs.map +0 -1
  443. package/dist/plugins/simplified-plugin-manager.js +0 -51
  444. package/dist/plugins/simplified-plugin-manager.js.map +0 -1
  445. package/dist/plugins/simplified-tachui-instance.cjs +0 -2
  446. package/dist/plugins/simplified-tachui-instance.cjs.map +0 -1
  447. package/dist/plugins/simplified-tachui-instance.js +0 -88
  448. package/dist/plugins/simplified-tachui-instance.js.map +0 -1
  449. package/dist/plugins/simplified-types.cjs +0 -2
  450. package/dist/plugins/simplified-types.cjs.map +0 -1
  451. package/dist/plugins/simplified-types.js +0 -9
  452. package/dist/plugins/simplified-types.js.map +0 -1
  453. package/dist/plugins/simplified-utils.cjs +0 -2
  454. package/dist/plugins/simplified-utils.cjs.map +0 -1
  455. package/dist/plugins/simplified-utils.js +0 -40
  456. package/dist/plugins/simplified-utils.js.map +0 -1
  457. package/dist/reactive/cleanup.cjs +0 -2
  458. package/dist/reactive/cleanup.cjs.map +0 -1
  459. package/dist/reactive/cleanup.js +0 -62
  460. package/dist/reactive/cleanup.js.map +0 -1
  461. package/dist/reactive/computed.cjs +0 -2
  462. package/dist/reactive/computed.cjs.map +0 -1
  463. package/dist/reactive/computed.js +0 -121
  464. package/dist/reactive/computed.js.map +0 -1
  465. package/dist/reactive/context.cjs +0 -2
  466. package/dist/reactive/context.cjs.map +0 -1
  467. package/dist/reactive/context.js +0 -143
  468. package/dist/reactive/context.js.map +0 -1
  469. package/dist/reactive/effect.cjs +0 -2
  470. package/dist/reactive/effect.cjs.map +0 -1
  471. package/dist/reactive/effect.js +0 -67
  472. package/dist/reactive/effect.js.map +0 -1
  473. package/dist/reactive/enhanced-effect.cjs +0 -2
  474. package/dist/reactive/enhanced-effect.cjs.map +0 -1
  475. package/dist/reactive/enhanced-effect.js +0 -153
  476. package/dist/reactive/enhanced-effect.js.map +0 -1
  477. package/dist/reactive/enhanced-signal.cjs +0 -2
  478. package/dist/reactive/enhanced-signal.cjs.map +0 -1
  479. package/dist/reactive/enhanced-signal.js +0 -117
  480. package/dist/reactive/enhanced-signal.js.map +0 -1
  481. package/dist/reactive/equality.cjs +0 -2
  482. package/dist/reactive/equality.cjs.map +0 -1
  483. package/dist/reactive/equality.js +0 -66
  484. package/dist/reactive/equality.js.map +0 -1
  485. package/dist/reactive/index.cjs +0 -2
  486. package/dist/reactive/index.cjs.map +0 -1
  487. package/dist/reactive/index.js.map +0 -1
  488. package/dist/reactive/migration.cjs +0 -18
  489. package/dist/reactive/migration.cjs.map +0 -1
  490. package/dist/reactive/migration.js +0 -164
  491. package/dist/reactive/migration.js.map +0 -1
  492. package/dist/reactive/ownership.cjs +0 -2
  493. package/dist/reactive/ownership.cjs.map +0 -1
  494. package/dist/reactive/ownership.js +0 -34
  495. package/dist/reactive/ownership.js.map +0 -1
  496. package/dist/reactive/scheduler.cjs +0 -2
  497. package/dist/reactive/scheduler.cjs.map +0 -1
  498. package/dist/reactive/scheduler.js +0 -111
  499. package/dist/reactive/scheduler.js.map +0 -1
  500. package/dist/reactive/signal.cjs +0 -2
  501. package/dist/reactive/signal.cjs.map +0 -1
  502. package/dist/reactive/signal.js +0 -96
  503. package/dist/reactive/signal.js.map +0 -1
  504. package/dist/reactive/theme.cjs +0 -2
  505. package/dist/reactive/theme.cjs.map +0 -1
  506. package/dist/reactive/theme.js +0 -27
  507. package/dist/reactive/theme.js.map +0 -1
  508. package/dist/reactive/types.cjs +0 -2
  509. package/dist/reactive/types.cjs.map +0 -1
  510. package/dist/reactive/types.js +0 -5
  511. package/dist/reactive/types.js.map +0 -1
  512. package/dist/reactive/unified-scheduler.cjs +0 -2
  513. package/dist/reactive/unified-scheduler.cjs.map +0 -1
  514. package/dist/reactive/unified-scheduler.js +0 -219
  515. package/dist/reactive/unified-scheduler.js.map +0 -1
  516. package/dist/runtime/component-context.cjs +0 -2
  517. package/dist/runtime/component-context.cjs.map +0 -1
  518. package/dist/runtime/component-context.js +0 -177
  519. package/dist/runtime/component-context.js.map +0 -1
  520. package/dist/runtime/component.cjs +0 -2
  521. package/dist/runtime/component.cjs.map +0 -1
  522. package/dist/runtime/component.js +0 -238
  523. package/dist/runtime/component.js.map +0 -1
  524. package/dist/runtime/context.cjs +0 -2
  525. package/dist/runtime/context.cjs.map +0 -1
  526. package/dist/runtime/context.js.map +0 -1
  527. package/dist/runtime/dev-tools.cjs +0 -2
  528. package/dist/runtime/dev-tools.cjs.map +0 -1
  529. package/dist/runtime/dev-tools.js +0 -391
  530. package/dist/runtime/dev-tools.js.map +0 -1
  531. package/dist/runtime/development-warnings.cjs +0 -2
  532. package/dist/runtime/development-warnings.cjs.map +0 -1
  533. package/dist/runtime/development-warnings.js +0 -69
  534. package/dist/runtime/development-warnings.js.map +0 -1
  535. package/dist/runtime/dom-bridge.cjs +0 -2
  536. package/dist/runtime/dom-bridge.cjs.map +0 -1
  537. package/dist/runtime/dom-bridge.js.map +0 -1
  538. package/dist/runtime/element-override.cjs +0 -2
  539. package/dist/runtime/element-override.cjs.map +0 -1
  540. package/dist/runtime/element-override.js +0 -214
  541. package/dist/runtime/element-override.js.map +0 -1
  542. package/dist/runtime/error-boundary.cjs +0 -2
  543. package/dist/runtime/error-boundary.cjs.map +0 -1
  544. package/dist/runtime/error-boundary.js +0 -559
  545. package/dist/runtime/error-boundary.js.map +0 -1
  546. package/dist/runtime/error-recovery.cjs +0 -2
  547. package/dist/runtime/error-recovery.cjs.map +0 -1
  548. package/dist/runtime/error-recovery.js +0 -385
  549. package/dist/runtime/error-recovery.js.map +0 -1
  550. package/dist/runtime/error-reporting.cjs +0 -3
  551. package/dist/runtime/error-reporting.cjs.map +0 -1
  552. package/dist/runtime/error-reporting.js +0 -479
  553. package/dist/runtime/error-reporting.js.map +0 -1
  554. package/dist/runtime/error-utils.cjs +0 -3
  555. package/dist/runtime/error-utils.cjs.map +0 -1
  556. package/dist/runtime/error-utils.js +0 -352
  557. package/dist/runtime/error-utils.js.map +0 -1
  558. package/dist/runtime/lazy-component.cjs +0 -2
  559. package/dist/runtime/lazy-component.cjs.map +0 -1
  560. package/dist/runtime/lazy-component.js +0 -129
  561. package/dist/runtime/lazy-component.js.map +0 -1
  562. package/dist/runtime/lifecycle.cjs +0 -2
  563. package/dist/runtime/lifecycle.cjs.map +0 -1
  564. package/dist/runtime/lifecycle.js +0 -7
  565. package/dist/runtime/lifecycle.js.map +0 -1
  566. package/dist/runtime/mounting.cjs +0 -2
  567. package/dist/runtime/mounting.cjs.map +0 -1
  568. package/dist/runtime/mounting.js +0 -12
  569. package/dist/runtime/mounting.js.map +0 -1
  570. package/dist/runtime/optimization.cjs +0 -2
  571. package/dist/runtime/optimization.cjs.map +0 -1
  572. package/dist/runtime/optimization.js +0 -6
  573. package/dist/runtime/optimization.js.map +0 -1
  574. package/dist/runtime/performance.cjs +0 -2
  575. package/dist/runtime/performance.cjs.map +0 -1
  576. package/dist/runtime/performance.js +0 -399
  577. package/dist/runtime/performance.js.map +0 -1
  578. package/dist/runtime/props.cjs +0 -2
  579. package/dist/runtime/props.cjs.map +0 -1
  580. package/dist/runtime/props.js +0 -265
  581. package/dist/runtime/props.js.map +0 -1
  582. package/dist/runtime/renderer.cjs +0 -2
  583. package/dist/runtime/renderer.cjs.map +0 -1
  584. package/dist/runtime/renderer.js.map +0 -1
  585. package/dist/runtime/semantic-role-manager.cjs +0 -2
  586. package/dist/runtime/semantic-role-manager.cjs.map +0 -1
  587. package/dist/runtime/semantic-role-manager.js +0 -82
  588. package/dist/runtime/semantic-role-manager.js.map +0 -1
  589. package/dist/state/binding.cjs +0 -2
  590. package/dist/state/binding.cjs.map +0 -1
  591. package/dist/state/binding.js +0 -155
  592. package/dist/state/binding.js.map +0 -1
  593. package/dist/state/environment.cjs +0 -2
  594. package/dist/state/environment.cjs.map +0 -1
  595. package/dist/state/environment.js +0 -115
  596. package/dist/state/environment.js.map +0 -1
  597. package/dist/state/index.cjs +0 -2
  598. package/dist/state/index.cjs.map +0 -1
  599. package/dist/state/index.js +0 -63
  600. package/dist/state/index.js.map +0 -1
  601. package/dist/state/observed-object.cjs +0 -2
  602. package/dist/state/observed-object.cjs.map +0 -1
  603. package/dist/state/observed-object.js +0 -163
  604. package/dist/state/observed-object.js.map +0 -1
  605. package/dist/state/state-manager.cjs +0 -2
  606. package/dist/state/state-manager.cjs.map +0 -1
  607. package/dist/state/state-manager.js +0 -233
  608. package/dist/state/state-manager.js.map +0 -1
  609. package/dist/state/state.cjs +0 -2
  610. package/dist/state/state.cjs.map +0 -1
  611. package/dist/state/state.js +0 -159
  612. package/dist/state/state.js.map +0 -1
  613. package/dist/sui-compat.cjs +0 -2
  614. package/dist/sui-compat.cjs.map +0 -1
  615. package/dist/sui-compat.js +0 -88
  616. package/dist/sui-compat.js.map +0 -1
  617. package/dist/validation/advanced-debugging.cjs +0 -44
  618. package/dist/validation/advanced-debugging.cjs.map +0 -1
  619. package/dist/validation/advanced-debugging.js +0 -455
  620. package/dist/validation/advanced-debugging.js.map +0 -1
  621. package/dist/validation/build-time/detection.cjs +0 -2
  622. package/dist/validation/build-time/detection.cjs.map +0 -1
  623. package/dist/validation/build-time/detection.js +0 -199
  624. package/dist/validation/build-time/detection.js.map +0 -1
  625. package/dist/validation/build-time/index.cjs +0 -2
  626. package/dist/validation/build-time/index.cjs.map +0 -1
  627. package/dist/validation/build-time/index.js +0 -122
  628. package/dist/validation/build-time/index.js.map +0 -1
  629. package/dist/validation/build-time/plugins.cjs +0 -3
  630. package/dist/validation/build-time/plugins.cjs.map +0 -1
  631. package/dist/validation/build-time/plugins.js +0 -282
  632. package/dist/validation/build-time/plugins.js.map +0 -1
  633. package/dist/validation/build-time/rules.cjs +0 -2
  634. package/dist/validation/build-time/rules.cjs.map +0 -1
  635. package/dist/validation/build-time/rules.js +0 -576
  636. package/dist/validation/build-time/rules.js.map +0 -1
  637. package/dist/validation/build-time/transformer.cjs +0 -3
  638. package/dist/validation/build-time/transformer.cjs.map +0 -1
  639. package/dist/validation/build-time/transformer.js +0 -177
  640. package/dist/validation/build-time/transformer.js.map +0 -1
  641. package/dist/validation/comprehensive.cjs +0 -9
  642. package/dist/validation/comprehensive.cjs.map +0 -1
  643. package/dist/validation/comprehensive.js +0 -916
  644. package/dist/validation/comprehensive.js.map +0 -1
  645. package/dist/validation/debug-tools.cjs +0 -16
  646. package/dist/validation/debug-tools.cjs.map +0 -1
  647. package/dist/validation/debug-tools.js +0 -405
  648. package/dist/validation/debug-tools.js.map +0 -1
  649. package/dist/validation/developer-experience.cjs +0 -17
  650. package/dist/validation/developer-experience.cjs.map +0 -1
  651. package/dist/validation/developer-experience.js +0 -433
  652. package/dist/validation/developer-experience.js.map +0 -1
  653. package/dist/validation/documentation-integration.cjs +0 -7
  654. package/dist/validation/documentation-integration.cjs.map +0 -1
  655. package/dist/validation/documentation-integration.js +0 -440
  656. package/dist/validation/documentation-integration.js.map +0 -1
  657. package/dist/validation/enhanced-runtime.cjs +0 -6
  658. package/dist/validation/enhanced-runtime.cjs.map +0 -1
  659. package/dist/validation/enhanced-runtime.js +0 -465
  660. package/dist/validation/enhanced-runtime.js.map +0 -1
  661. package/dist/validation/error-reporting.cjs +0 -32
  662. package/dist/validation/error-reporting.cjs.map +0 -1
  663. package/dist/validation/error-reporting.js +0 -370
  664. package/dist/validation/error-reporting.js.map +0 -1
  665. package/dist/validation/ide-integration.cjs +0 -85
  666. package/dist/validation/ide-integration.cjs.map +0 -1
  667. package/dist/validation/ide-integration.js +0 -557
  668. package/dist/validation/ide-integration.js.map +0 -1
  669. package/dist/validation/index.cjs +0 -6
  670. package/dist/validation/index.cjs.map +0 -1
  671. package/dist/validation/index.js.map +0 -1
  672. package/dist/validation/lifecycle-validation.cjs +0 -2
  673. package/dist/validation/lifecycle-validation.cjs.map +0 -1
  674. package/dist/validation/lifecycle-validation.js +0 -314
  675. package/dist/validation/lifecycle-validation.js.map +0 -1
  676. package/dist/validation/performance-optimizer.cjs +0 -2
  677. package/dist/validation/performance-optimizer.cjs.map +0 -1
  678. package/dist/validation/performance-optimizer.js +0 -338
  679. package/dist/validation/performance-optimizer.js.map +0 -1
  680. package/dist/validation/plugin-registration.cjs +0 -2
  681. package/dist/validation/plugin-registration.cjs.map +0 -1
  682. package/dist/validation/plugin-registration.js +0 -126
  683. package/dist/validation/plugin-registration.js.map +0 -1
  684. package/dist/validation/production-bypass.cjs +0 -2
  685. package/dist/validation/production-bypass.cjs.map +0 -1
  686. package/dist/validation/production-bypass.js +0 -218
  687. package/dist/validation/production-bypass.js.map +0 -1
  688. package/dist/validation/simple.cjs +0 -9
  689. package/dist/validation/simple.cjs.map +0 -1
  690. package/dist/validation/simple.js +0 -146
  691. package/dist/validation/simple.js.map +0 -1
  692. package/dist/viewport/adapters/web-adapter.cjs +0 -70
  693. package/dist/viewport/adapters/web-adapter.cjs.map +0 -1
  694. package/dist/viewport/adapters/web-adapter.js +0 -823
  695. package/dist/viewport/adapters/web-adapter.js.map +0 -1
  696. package/dist/viewport/components.cjs +0 -2
  697. package/dist/viewport/components.cjs.map +0 -1
  698. package/dist/viewport/components.js +0 -298
  699. package/dist/viewport/components.js.map +0 -1
  700. package/dist/viewport/environment.cjs +0 -2
  701. package/dist/viewport/environment.cjs.map +0 -1
  702. package/dist/viewport/environment.js +0 -86
  703. package/dist/viewport/environment.js.map +0 -1
  704. package/dist/viewport/index.cjs +0 -2
  705. package/dist/viewport/index.cjs.map +0 -1
  706. package/dist/viewport/index.js.map +0 -1
  707. package/dist/viewport/platform-detection.cjs +0 -2
  708. package/dist/viewport/platform-detection.cjs.map +0 -1
  709. package/dist/viewport/platform-detection.js +0 -205
  710. package/dist/viewport/platform-detection.js.map +0 -1
  711. package/dist/viewport/types.cjs +0 -2
  712. package/dist/viewport/types.cjs.map +0 -1
  713. package/dist/viewport/types.js +0 -13
  714. package/dist/viewport/types.js.map +0 -1
  715. package/dist/viewport/viewport-manager.cjs +0 -2
  716. package/dist/viewport/viewport-manager.cjs.map +0 -1
  717. package/dist/viewport/viewport-manager.js +0 -524
  718. package/dist/viewport/viewport-manager.js.map +0 -1
  719. package/src/assets/Asset.ts +0 -11
  720. package/src/assets/AssetCollection.ts +0 -99
  721. package/src/assets/ColorAsset.ts +0 -210
  722. package/src/assets/FontAsset.ts +0 -380
  723. package/src/assets/ImageAsset.ts +0 -91
  724. package/src/assets/README.md +0 -190
  725. package/src/assets/index.ts +0 -175
  726. package/src/assets/test-assets.ts +0 -69
  727. package/src/assets/test-integration.ts +0 -46
  728. package/src/assets/test-simple.ts +0 -28
  729. package/src/assets/types.ts +0 -79
  730. package/src/bundles/common.ts +0 -30
  731. package/src/bundles/complete.ts +0 -29
  732. package/src/bundles/essential.ts +0 -26
  733. package/src/bundles/minimal.ts +0 -26
  734. package/src/bundles/production-minimal.ts +0 -67
  735. package/src/compiler/advanced-parser.ts +0 -871
  736. package/src/compiler/codegen.ts +0 -450
  737. package/src/compiler/enhanced-codegen.ts +0 -729
  738. package/src/compiler/index.ts +0 -25
  739. package/src/compiler/parser.ts +0 -461
  740. package/src/compiler/plugin.ts +0 -181
  741. package/src/compiler/types.ts +0 -177
  742. package/src/components/BasicInput.ts +0 -352
  743. package/src/components/Button.ts +0 -963
  744. package/src/components/Divider.ts +0 -341
  745. package/src/components/EnhancedLink.ts +0 -676
  746. package/src/components/Form.ts +0 -414
  747. package/src/components/Grid.ts +0 -2507
  748. package/src/components/GridResponsive.ts +0 -637
  749. package/src/components/Image.ts +0 -426
  750. package/src/components/List.ts +0 -1084
  751. package/src/components/Menu.ts +0 -807
  752. package/src/components/Picker.ts +0 -678
  753. package/src/components/ScrollView.ts +0 -725
  754. package/src/components/Section.ts +0 -472
  755. package/src/components/Show.ts +0 -205
  756. package/src/components/Spacer.ts +0 -93
  757. package/src/components/Text.ts +0 -447
  758. package/src/components/Toggle.ts +0 -700
  759. package/src/components/index.ts +0 -231
  760. package/src/components/wrapper.ts +0 -828
  761. package/src/concatenation/concatenatable.ts +0 -211
  762. package/src/concatenation/concatenated-component.ts +0 -471
  763. package/src/concatenation/index.ts +0 -41
  764. package/src/concatenation/styles.css +0 -120
  765. package/src/concatenation/text-optimizer.ts +0 -440
  766. package/src/concatenation/types.ts +0 -116
  767. package/src/constants/README.md +0 -339
  768. package/src/constants/__tests__/frame-utils.test.ts +0 -276
  769. package/src/constants/__tests__/layout.test.ts +0 -215
  770. package/src/constants/frame-utils.ts +0 -174
  771. package/src/constants/index.ts +0 -8
  772. package/src/constants/layout.ts +0 -120
  773. package/src/css-classes/component-base.ts +0 -117
  774. package/src/css-classes/css-class-manager.ts +0 -372
  775. package/src/css-classes/dom-integration.ts +0 -162
  776. package/src/css-classes/enhanced-renderer.ts +0 -166
  777. package/src/css-classes/index.ts +0 -45
  778. package/src/css-classes/types.ts +0 -73
  779. package/src/css-classes/utilities.ts +0 -175
  780. package/src/debug/index.ts +0 -267
  781. package/src/developer-experience/enhanced-errors.ts +0 -556
  782. package/src/developer-experience/enhanced-types.ts +0 -427
  783. package/src/developer-experience/index.ts +0 -220
  784. package/src/globals.d.ts +0 -43
  785. package/src/gradients/__tests__/angular-gradient.test.ts +0 -111
  786. package/src/gradients/__tests__/background-modifier.test.ts +0 -81
  787. package/src/gradients/__tests__/comprehensive-gradients.test.ts +0 -296
  788. package/src/gradients/__tests__/gradient-asset.test.ts +0 -144
  789. package/src/gradients/__tests__/linear-gradient.test.ts +0 -92
  790. package/src/gradients/__tests__/phase4-features.test.ts +0 -386
  791. package/src/gradients/__tests__/radial-gradient.test.ts +0 -110
  792. package/src/gradients/__tests__/repeating-gradients.test.ts +0 -125
  793. package/src/gradients/__tests__/state-background-modifier.test.ts +0 -340
  794. package/src/gradients/__tests__/state-gradient-asset.test.ts +0 -262
  795. package/src/gradients/__tests__/state-gradient-integration.test.ts +0 -277
  796. package/src/gradients/css-generator.ts +0 -158
  797. package/src/gradients/examples.ts +0 -632
  798. package/src/gradients/gradient-asset.ts +0 -30
  799. package/src/gradients/index.ts +0 -85
  800. package/src/gradients/performance.ts +0 -521
  801. package/src/gradients/presets.ts +0 -422
  802. package/src/gradients/reactive.ts +0 -470
  803. package/src/gradients/state-gradient-asset.ts +0 -179
  804. package/src/gradients/types.ts +0 -148
  805. package/src/gradients/utils.ts +0 -579
  806. package/src/gradients/validation.ts +0 -489
  807. package/src/index.ts +0 -168
  808. package/src/lifecycle/hooks.ts +0 -332
  809. package/src/modifiers/__tests__/as-html-integration.test.ts +0 -204
  810. package/src/modifiers/__tests__/as-html.test.ts +0 -437
  811. package/src/modifiers/__tests__/basic-sanitizer-security.test.ts +0 -294
  812. package/src/modifiers/__tests__/border.test.ts +0 -371
  813. package/src/modifiers/__tests__/margin-string-support.test.ts +0 -41
  814. package/src/modifiers/__tests__/padding-string-support.test.ts +0 -41
  815. package/src/modifiers/as-html-validator.ts +0 -68
  816. package/src/modifiers/as-html.ts +0 -216
  817. package/src/modifiers/attributes.ts +0 -574
  818. package/src/modifiers/backdrop.ts +0 -290
  819. package/src/modifiers/background.ts +0 -165
  820. package/src/modifiers/base.ts +0 -1815
  821. package/src/modifiers/basic-sanitizer.ts +0 -227
  822. package/src/modifiers/border.ts +0 -574
  823. package/src/modifiers/builder.ts +0 -1747
  824. package/src/modifiers/core.ts +0 -521
  825. package/src/modifiers/css.ts +0 -148
  826. package/src/modifiers/effects.ts +0 -412
  827. package/src/modifiers/elements.ts +0 -541
  828. package/src/modifiers/filters.ts +0 -501
  829. package/src/modifiers/flexbox.ts +0 -180
  830. package/src/modifiers/font.ts +0 -149
  831. package/src/modifiers/grid.ts +0 -238
  832. package/src/modifiers/index.ts +0 -481
  833. package/src/modifiers/margin.ts +0 -218
  834. package/src/modifiers/padding.ts +0 -318
  835. package/src/modifiers/registry.ts +0 -444
  836. package/src/modifiers/responsive/__tests__/advanced-media-queries.test.ts +0 -392
  837. package/src/modifiers/responsive/__tests__/advanced-utilities.test.ts +0 -368
  838. package/src/modifiers/responsive/__tests__/comprehensive-browser-tests.test.ts +0 -556
  839. package/src/modifiers/responsive/__tests__/layout-patterns.test.ts +0 -558
  840. package/src/modifiers/responsive/advanced-utilities.ts +0 -562
  841. package/src/modifiers/responsive/breakpoints.ts +0 -330
  842. package/src/modifiers/responsive/css-generator.ts +0 -432
  843. package/src/modifiers/responsive/dev-tools.ts +0 -650
  844. package/src/modifiers/responsive/index.ts +0 -119
  845. package/src/modifiers/responsive/layout-patterns.ts +0 -592
  846. package/src/modifiers/responsive/performance.ts +0 -385
  847. package/src/modifiers/responsive/responsive-builder.ts +0 -620
  848. package/src/modifiers/responsive/responsive-modifier.ts +0 -410
  849. package/src/modifiers/responsive/types.ts +0 -226
  850. package/src/modifiers/responsive/utilities.ts +0 -478
  851. package/src/modifiers/scroll.ts +0 -297
  852. package/src/modifiers/shadows.ts +0 -321
  853. package/src/modifiers/size.ts +0 -208
  854. package/src/modifiers/text.ts +0 -416
  855. package/src/modifiers/transformations.ts +0 -640
  856. package/src/modifiers/transitions.ts +0 -218
  857. package/src/modifiers/types.ts +0 -889
  858. package/src/modifiers/typography.ts +0 -341
  859. package/src/modifiers/utility.ts +0 -209
  860. package/src/modifiers/utils.ts +0 -413
  861. package/src/plugins/__tests__/simplified-plugin-system.test.ts +0 -190
  862. package/src/plugins/component-loader-registry.ts +0 -371
  863. package/src/plugins/index.ts +0 -61
  864. package/src/plugins/legacy-adapter.ts +0 -84
  865. package/src/plugins/simplified-component-registry.ts +0 -130
  866. package/src/plugins/simplified-error-handler.ts +0 -372
  867. package/src/plugins/simplified-index.ts +0 -61
  868. package/src/plugins/simplified-lazy-loader.ts +0 -242
  869. package/src/plugins/simplified-plugin-manager.ts +0 -93
  870. package/src/plugins/simplified-tachui-instance.ts +0 -142
  871. package/src/plugins/simplified-types.ts +0 -79
  872. package/src/plugins/simplified-utils.ts +0 -118
  873. package/src/reactive/cleanup.ts +0 -241
  874. package/src/reactive/computed.ts +0 -281
  875. package/src/reactive/context.ts +0 -287
  876. package/src/reactive/effect.ts +0 -194
  877. package/src/reactive/enhanced-effect.ts +0 -318
  878. package/src/reactive/enhanced-signal.ts +0 -227
  879. package/src/reactive/equality.ts +0 -188
  880. package/src/reactive/globals.d.ts +0 -5
  881. package/src/reactive/index.ts +0 -150
  882. package/src/reactive/migration.ts +0 -335
  883. package/src/reactive/ownership.ts +0 -182
  884. package/src/reactive/scheduler.ts +0 -300
  885. package/src/reactive/signal.ts +0 -201
  886. package/src/reactive/theme.ts +0 -49
  887. package/src/reactive/types.ts +0 -103
  888. package/src/reactive/unified-scheduler.ts +0 -357
  889. package/src/runtime/component-context.ts +0 -343
  890. package/src/runtime/component.ts +0 -499
  891. package/src/runtime/context.ts +0 -527
  892. package/src/runtime/dev-tools.ts +0 -752
  893. package/src/runtime/development-warnings.ts +0 -114
  894. package/src/runtime/dom-bridge.ts +0 -570
  895. package/src/runtime/element-override.ts +0 -282
  896. package/src/runtime/error-boundary.ts +0 -955
  897. package/src/runtime/error-recovery.ts +0 -638
  898. package/src/runtime/error-reporting.ts +0 -808
  899. package/src/runtime/error-utils.ts +0 -698
  900. package/src/runtime/index.ts +0 -202
  901. package/src/runtime/lazy-component.ts +0 -268
  902. package/src/runtime/lifecycle.ts +0 -10
  903. package/src/runtime/mounting.ts +0 -17
  904. package/src/runtime/optimization.ts +0 -13
  905. package/src/runtime/performance.ts +0 -693
  906. package/src/runtime/props.ts +0 -434
  907. package/src/runtime/refs.ts +0 -13
  908. package/src/runtime/renderer.ts +0 -674
  909. package/src/runtime/semantic-role-manager.ts +0 -140
  910. package/src/runtime/types.ts +0 -282
  911. package/src/state/binding.ts +0 -381
  912. package/src/state/environment-object.ts +0 -444
  913. package/src/state/environment.ts +0 -351
  914. package/src/state/index.ts +0 -179
  915. package/src/state/observed-object.ts +0 -405
  916. package/src/state/state-manager.ts +0 -366
  917. package/src/state/state.ts +0 -339
  918. package/src/state/types.ts +0 -192
  919. package/src/sui-compat.ts +0 -163
  920. package/src/validation/__tests__/phase-1d-integration.test.ts +0 -558
  921. package/src/validation/advanced-debugging.ts +0 -860
  922. package/src/validation/build-time/detection.ts +0 -373
  923. package/src/validation/build-time/index.ts +0 -222
  924. package/src/validation/build-time/plugins.ts +0 -515
  925. package/src/validation/build-time/rules.ts +0 -624
  926. package/src/validation/build-time/transformer.ts +0 -372
  927. package/src/validation/build-time/types.ts +0 -232
  928. package/src/validation/comprehensive.ts +0 -1272
  929. package/src/validation/debug-tools.ts +0 -724
  930. package/src/validation/developer-experience.ts +0 -712
  931. package/src/validation/documentation-integration.ts +0 -835
  932. package/src/validation/enhanced-runtime.ts +0 -765
  933. package/src/validation/error-reporting.ts +0 -587
  934. package/src/validation/ide-integration.ts +0 -845
  935. package/src/validation/index.ts +0 -353
  936. package/src/validation/lifecycle-validation.ts +0 -636
  937. package/src/validation/performance-optimizer.ts +0 -599
  938. package/src/validation/plugin-registration.ts +0 -249
  939. package/src/validation/production-bypass.ts +0 -466
  940. package/src/validation/simple.ts +0 -465
  941. package/src/viewport/adapters/web-adapter.ts +0 -1385
  942. package/src/viewport/components.ts +0 -505
  943. package/src/viewport/environment.ts +0 -173
  944. package/src/viewport/index.ts +0 -290
  945. package/src/viewport/platform-detection.ts +0 -431
  946. package/src/viewport/types.ts +0 -371
  947. package/src/viewport/viewport-manager.ts +0 -979
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../reactive/cleanup.cjs");require("../reactive/unified-scheduler.cjs");const d=require("../reactive/signal.cjs");require("../reactive/scheduler.cjs");require("../reactive/theme.cjs");require("../runtime/component.cjs");require("../runtime/context.cjs");require("../runtime/dev-tools.cjs");require("../runtime/dom-bridge.cjs");require("../runtime/error-boundary.cjs");require("../runtime/error-reporting.cjs");require("../runtime/performance.cjs");const i=require("../runtime/renderer.cjs");require("../runtime/element-override.cjs");require("../runtime/semantic-role-manager.cjs");require("../runtime/development-warnings.cjs");const b=require("./wrapper.cjs");var g=Object.defineProperty,f=(o,e,t)=>e in o?g(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,a=(o,e,t)=>f(o,typeof e!="symbol"?e+"":e,t);class h{constructor(e){this.props=e,a(this,"type","component"),a(this,"id"),a(this,"mounted",!1),a(this,"cleanup",[]),a(this,"isOpen"),a(this,"setIsOpen"),a(this,"searchTerm"),a(this,"setSearchTerm"),a(this,"handleSelection",l=>{this.props.onSelectionChange&&this.props.onSelectionChange(l),(this.props.variant==="dropdown"||this.props.variant==="menu")&&this.setIsOpen(!1),this.setSearchTerm("")}),a(this,"toggleOpen",()=>{this.isDisabled()||this.setIsOpen(!this.isOpen())}),this.id=`picker-${Date.now()}-${Math.random().toString(36).substr(2,9)}`;const[t,r]=d.createSignal(!1),[n,s]=d.createSignal("");if(this.isOpen=t,this.setIsOpen=r,this.searchTerm=n,this.setSearchTerm=s,typeof window<"u"){const l=u=>{const c=document.getElementById(this.id);c&&!c.contains(u.target)&&this.setIsOpen(!1)};document.addEventListener("click",l),this.cleanup.push(()=>{document.removeEventListener("click",l)})}}getSelection(){const{selection:e}=this.props;return d.isSignal(e)?e():e}getOptions(){const{options:e}=this.props;return d.isSignal(e)?e():e}getFilteredOptions(){const e=this.getOptions(),t=this.searchTerm().toLowerCase();return!t||!this.props.searchable?e:e.filter(r=>r.label.toLowerCase().includes(t)||r.description?.toLowerCase().includes(t))}isDisabled(){const{disabled:e}=this.props;return typeof e=="boolean"?e:d.isSignal(e)?e():!1}getSelectedOption(){const e=this.getSelection();return this.getOptions().find(r=>r.value===e)||null}getSizeStyles(){const{size:e="medium"}=this.props;switch(e){case"small":return{fontSize:"14px",padding:"6px 12px",minHeight:"32px"};case"large":return{fontSize:"18px",padding:"12px 16px",minHeight:"48px"};default:return{fontSize:"16px",padding:"8px 12px",minHeight:"40px"}}}renderDropdown(){const e=this.getSelectedOption(),t=this.getFilteredOptions(),r=this.getSizeStyles(),n=this.isOpen();return i.h("div",{id:this.id,style:{position:"relative",display:"inline-block",minWidth:"200px"}},i.h("button",{type:"button",onClick:this.toggleOpen,disabled:this.isDisabled(),style:{...r,width:"100%",display:"flex",alignItems:"center",justifyContent:"space-between",backgroundColor:"#ffffff",border:"1px solid #d1d5db",borderRadius:"6px",cursor:this.isDisabled()?"not-allowed":"pointer",opacity:this.isDisabled()?.6:1,...n&&{borderColor:this.props.tint||"#007AFF",boxShadow:`0 0 0 1px ${this.props.tint||"#007AFF"}`}}},i.h("span",{style:{color:e?"#1a1a1a":"#6b7280"}},i.text(e?.label||this.props.placeholder||"Select an option")),i.h("span",{style:{fontSize:"12px",color:"#6b7280",transform:n?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s"}},i.text("▼"))),...n?[i.h("div",{style:{position:"absolute",top:"100%",left:"0",right:"0",zIndex:1e3,backgroundColor:"#ffffff",border:"1px solid #d1d5db",borderRadius:"6px",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1)",maxHeight:"200px",overflowY:"auto",marginTop:"2px"}},...this.props.searchable?[i.h("div",{style:{padding:"8px",borderBottom:"1px solid #e5e7eb"}},i.h("input",{type:"text",placeholder:"Search options...",value:this.searchTerm(),onInput:s=>{const l=s.target;this.setSearchTerm(l.value)},style:{width:"100%",padding:"6px 8px",border:"1px solid #d1d5db",borderRadius:"4px",fontSize:"14px"}}))]:[],...t.map(s=>i.h("button",{type:"button",key:String(s.value),onClick:()=>this.handleSelection(s.value),disabled:s.disabled,style:{width:"100%",padding:"8px 12px",textAlign:"left",backgroundColor:s.value===this.getSelection()?"#f3f4f6":"transparent",border:"none",cursor:s.disabled?"not-allowed":"pointer",opacity:s.disabled?.5:1,fontSize:"14px",display:"flex",alignItems:"center",gap:"8px",":hover":{backgroundColor:"#f9fafb"}}},...s.icon?[i.h("span",{style:{fontSize:"16px"}},i.text(s.icon))]:[],i.h("div",{},i.h("div",{},i.text(s.label)),...s.description?[i.h("div",{style:{fontSize:"12px",color:"#6b7280",marginTop:"2px"}},i.text(s.description))]:[]))),...t.length===0?[i.h("div",{style:{padding:"12px",textAlign:"center",color:"#6b7280",fontSize:"14px"}},i.text("No options found"))]:[])]:[])}renderSegmented(){const e=this.getOptions(),t=this.getSelection(),r=this.getSizeStyles();return i.h("div",{style:{display:"flex",backgroundColor:"#f3f4f6",borderRadius:"8px",padding:"2px"},role:"radiogroup","aria-label":this.props.accessibilityLabel},...e.map((n,s)=>i.h("button",{type:"button",key:String(n.value),onClick:()=>this.handleSelection(n.value),disabled:n.disabled||this.isDisabled(),role:"radio","aria-checked":n.value===t,style:{...r,flex:1,border:"none",borderRadius:"6px",backgroundColor:n.value===t?"#ffffff":"transparent",color:n.value===t?"#1a1a1a":"#6b7280",fontWeight:n.value===t?"600":"400",cursor:n.disabled||this.isDisabled()?"not-allowed":"pointer",opacity:n.disabled||this.isDisabled()?.5:1,boxShadow:n.value===t?"0 1px 2px rgba(0, 0, 0, 0.1)":"none",transition:"all 0.2s",margin:"0",...s===0&&{marginRight:"1px"},...s===e.length-1&&{marginLeft:"1px"}}},...n.icon?[i.h("span",{style:{marginRight:"6px",fontSize:"14px"}},i.text(n.icon))]:[],i.text(n.label))))}renderWheel(){const e=this.getOptions(),t=this.getSelection();return i.h("select",{value:String(t),onChange:r=>{const n=r.target,s=e.find(l=>String(l.value)===n.value);s&&this.handleSelection(s.value)},disabled:this.isDisabled(),style:{...this.getSizeStyles(),minWidth:"200px",backgroundColor:"#ffffff",border:"1px solid #d1d5db",borderRadius:"6px",cursor:this.isDisabled()?"not-allowed":"pointer",opacity:this.isDisabled()?.6:1}},...e.map(r=>i.h("option",{key:String(r.value),value:String(r.value),disabled:r.disabled},i.text(r.label))))}render(){const{variant:e="dropdown",accessibilityLabel:t,accessibilityHint:r}=this.props,n={"aria-label":t,"aria-describedby":r?`${this.id}-hint`:void 0};let s;switch(e){case"segmented":s=this.renderSegmented();break;case"wheel":s=this.renderWheel();break;default:s=this.renderDropdown();break}return i.h("div",n,s,...r?[i.h("div",{id:`${this.id}-hint`,style:{fontSize:"12px",color:"#6b7280",marginTop:"4px"}},i.text(r))]:[])}}function p(o,e,t={}){const r={...t,selection:o,options:e},n=new h(r);return b.withModifiers(n)}const x={Dropdown(o,e,t={}){return p(o,e,{...t,variant:"dropdown"})},Segmented(o,e,t={}){return p(o,e,{...t,variant:"segmented"})},Wheel(o,e,t={}){return p(o,e,{...t,variant:"wheel"})},Menu(o,e,t={}){return p(o,e,{...t,variant:"menu"})}},S={fromArray(o,e){return o.map(t=>({value:t,label:String(e&&typeof t=="object"&&t!==null?t[e]:t)}))},fromEnum(o){return Object.entries(o).map(([e,t])=>({value:t,label:e.replace(/([A-Z])/g," $1").trim()}))},grouped(o){return o.reduce((e,t)=>{const r=t.category||"Other";return e[r]||(e[r]=[]),e[r].push(t),e},{})}};exports.EnhancedPicker=h;exports.Picker=p;exports.PickerStyles=x;exports.PickerUtils=S;
2
- //# sourceMappingURL=Picker.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Picker.cjs","sources":["../../src/components/Picker.ts"],"sourcesContent":["/**\n * Enhanced Picker Component (Phase 6.4.3)\n *\n * SwiftUI-inspired Picker component with dropdown, wheel, and segmented\n * variants for selecting from a list of options.\n */\n\nimport type { ModifiableComponent, ModifierBuilder } from '../modifiers/types'\nimport { createSignal, isSignal } from '../reactive'\nimport type { Signal } from '../reactive/types'\nimport { h, text } from '../runtime'\nimport type { ComponentInstance, ComponentProps } from '../runtime/types'\nimport { withModifiers } from './wrapper'\n\n/**\n * Picker option structure\n */\n// biome-ignore lint/suspicious/noExplicitAny: Generic picker options require flexible type\nexport interface PickerOption<T = any> {\n value: T\n label: string\n disabled?: boolean\n icon?: string\n description?: string\n}\n\n/**\n * Picker component properties\n */\n// biome-ignore lint/suspicious/noExplicitAny: Generic picker props require flexible type\nexport interface PickerProps<T = any> extends ComponentProps {\n // Selection\n selection: T | Signal<T>\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>\n onSelectionChange?: (value: T) => void\n\n // Appearance\n variant?: 'dropdown' | 'wheel' | 'segmented' | 'menu'\n title?: string | (() => string) | Signal<string>\n placeholder?: string\n\n // Behavior\n multiple?: boolean\n searchable?: boolean\n clearable?: boolean\n disabled?: boolean | Signal<boolean>\n\n // Styling\n size?: 'small' | 'medium' | 'large'\n tint?: string\n\n // Accessibility\n accessibilityLabel?: string\n accessibilityHint?: string\n}\n\n/**\n * Enhanced Picker component class\n */\n// biome-ignore lint/suspicious/noExplicitAny: Generic picker implementation requires flexible type\nexport class EnhancedPicker<T = any> implements ComponentInstance<PickerProps<T>> {\n public readonly type = 'component' as const\n public readonly id: string\n public mounted = false\n public cleanup: (() => void)[] = []\n private isOpen: () => boolean\n private setIsOpen: (open: boolean) => boolean\n private searchTerm: () => string\n private setSearchTerm: (term: string) => string\n\n constructor(public props: PickerProps<T>) {\n this.id = `picker-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`\n\n // Initialize internal state\n const [open, setOpen] = createSignal(false)\n const [search, setSearch] = createSignal('')\n this.isOpen = open\n this.setIsOpen = setOpen\n this.searchTerm = search\n this.setSearchTerm = setSearch\n\n // Close picker when clicking outside\n if (typeof window !== 'undefined') {\n const handleClickOutside = (event: MouseEvent) => {\n const element = document.getElementById(this.id)\n if (element && !element.contains(event.target as Node)) {\n this.setIsOpen(false)\n }\n }\n\n document.addEventListener('click', handleClickOutside)\n this.cleanup.push(() => {\n document.removeEventListener('click', handleClickOutside)\n })\n }\n }\n\n /**\n * Get current selection value\n */\n private getSelection(): T {\n const { selection } = this.props\n if (isSignal(selection)) {\n return (selection as () => T)()\n }\n return selection as T\n }\n\n /**\n * Get current options\n */\n private getOptions(): PickerOption<T>[] {\n const { options } = this.props\n if (isSignal(options)) {\n return (options as () => PickerOption<T>[])()\n }\n return options as PickerOption<T>[]\n }\n\n /**\n * Filter options based on search term\n */\n private getFilteredOptions(): PickerOption<T>[] {\n const options = this.getOptions()\n const search = this.searchTerm().toLowerCase()\n\n if (!search || !this.props.searchable) {\n return options\n }\n\n return options.filter(\n (option) =>\n option.label.toLowerCase().includes(search) ||\n option.description?.toLowerCase().includes(search)\n )\n }\n\n /**\n * Check if picker is disabled\n */\n private isDisabled(): boolean {\n const { disabled } = this.props\n if (typeof disabled === 'boolean') return disabled\n if (isSignal(disabled)) return (disabled as () => boolean)()\n return false\n }\n\n /**\n * Get selected option\n */\n private getSelectedOption(): PickerOption<T> | null {\n const selection = this.getSelection()\n const options = this.getOptions()\n return options.find((option) => option.value === selection) || null\n }\n\n /**\n * Handle option selection\n */\n private handleSelection = (value: T) => {\n if (this.props.onSelectionChange) {\n this.props.onSelectionChange(value)\n }\n\n // Close dropdown after selection\n if (this.props.variant === 'dropdown' || this.props.variant === 'menu') {\n this.setIsOpen(false)\n }\n\n // Clear search term\n this.setSearchTerm('')\n }\n\n /**\n * Toggle picker open state\n */\n private toggleOpen = () => {\n if (!this.isDisabled()) {\n this.setIsOpen(!this.isOpen())\n }\n }\n\n /**\n * Get picker size styles\n */\n private getSizeStyles() {\n const { size = 'medium' } = this.props\n\n switch (size) {\n case 'small':\n return {\n fontSize: '14px',\n padding: '6px 12px',\n minHeight: '32px',\n }\n case 'large':\n return {\n fontSize: '18px',\n padding: '12px 16px',\n minHeight: '48px',\n }\n default:\n return {\n fontSize: '16px',\n padding: '8px 12px',\n minHeight: '40px',\n }\n }\n }\n\n /**\n * Render dropdown variant\n */\n private renderDropdown() {\n const selectedOption = this.getSelectedOption()\n const filteredOptions = this.getFilteredOptions()\n const sizeStyles = this.getSizeStyles()\n const isOpen = this.isOpen()\n\n return h(\n 'div',\n {\n id: this.id,\n style: {\n position: 'relative',\n display: 'inline-block',\n minWidth: '200px',\n },\n },\n // Trigger button\n h(\n 'button',\n {\n type: 'button',\n onClick: this.toggleOpen,\n disabled: this.isDisabled(),\n style: {\n ...sizeStyles,\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n backgroundColor: '#ffffff',\n border: '1px solid #d1d5db',\n borderRadius: '6px',\n cursor: this.isDisabled() ? 'not-allowed' : 'pointer',\n opacity: this.isDisabled() ? 0.6 : 1,\n ...(isOpen && {\n borderColor: this.props.tint || '#007AFF',\n boxShadow: `0 0 0 1px ${this.props.tint || '#007AFF'}`,\n }),\n },\n },\n h(\n 'span',\n {\n style: {\n color: selectedOption ? '#1a1a1a' : '#6b7280',\n },\n },\n text(selectedOption?.label || this.props.placeholder || 'Select an option')\n ),\n\n h(\n 'span',\n {\n style: {\n fontSize: '12px',\n color: '#6b7280',\n transform: isOpen ? 'rotate(180deg)' : 'rotate(0deg)',\n transition: 'transform 0.2s',\n },\n },\n text('▼')\n )\n ),\n\n // Dropdown menu\n ...(isOpen\n ? [\n h(\n 'div',\n {\n style: {\n position: 'absolute',\n top: '100%',\n left: '0',\n right: '0',\n zIndex: 1000,\n backgroundColor: '#ffffff',\n border: '1px solid #d1d5db',\n borderRadius: '6px',\n boxShadow: '0 4px 6px -1px rgba(0, 0, 0, 0.1)',\n maxHeight: '200px',\n overflowY: 'auto' as const,\n marginTop: '2px',\n },\n },\n // Search input (if searchable)\n ...(this.props.searchable\n ? [\n h(\n 'div',\n {\n style: {\n padding: '8px',\n borderBottom: '1px solid #e5e7eb',\n },\n },\n h('input', {\n type: 'text',\n placeholder: 'Search options...',\n value: this.searchTerm(),\n onInput: (e: Event) => {\n const target = e.target as HTMLInputElement\n this.setSearchTerm(target.value)\n },\n style: {\n width: '100%',\n padding: '6px 8px',\n border: '1px solid #d1d5db',\n borderRadius: '4px',\n fontSize: '14px',\n },\n })\n ),\n ]\n : []),\n\n // Options\n ...filteredOptions.map((option) =>\n h(\n 'button',\n {\n type: 'button',\n key: String(option.value),\n onClick: () => this.handleSelection(option.value),\n disabled: option.disabled,\n style: {\n width: '100%',\n padding: '8px 12px',\n textAlign: 'left' as const,\n backgroundColor:\n option.value === this.getSelection() ? '#f3f4f6' : 'transparent',\n border: 'none',\n cursor: option.disabled ? 'not-allowed' : 'pointer',\n opacity: option.disabled ? 0.5 : 1,\n fontSize: '14px',\n display: 'flex',\n alignItems: 'center',\n gap: '8px',\n ':hover': {\n backgroundColor: '#f9fafb',\n },\n },\n },\n ...(option.icon\n ? [h('span', { style: { fontSize: '16px' } }, text(option.icon))]\n : []),\n\n h(\n 'div',\n {},\n h('div', {}, text(option.label)),\n ...(option.description\n ? [\n h(\n 'div',\n {\n style: {\n fontSize: '12px',\n color: '#6b7280',\n marginTop: '2px',\n },\n },\n text(option.description)\n ),\n ]\n : [])\n )\n )\n ),\n\n // No results message\n ...(filteredOptions.length === 0\n ? [\n h(\n 'div',\n {\n style: {\n padding: '12px',\n textAlign: 'center' as const,\n color: '#6b7280',\n fontSize: '14px',\n },\n },\n text('No options found')\n ),\n ]\n : [])\n ),\n ]\n : [])\n )\n }\n\n /**\n * Render segmented variant\n */\n private renderSegmented() {\n const options = this.getOptions()\n const selection = this.getSelection()\n const sizeStyles = this.getSizeStyles()\n\n return h(\n 'div',\n {\n style: {\n display: 'flex',\n backgroundColor: '#f3f4f6',\n borderRadius: '8px',\n padding: '2px',\n },\n role: 'radiogroup',\n 'aria-label': this.props.accessibilityLabel,\n },\n ...options.map((option, index) =>\n h(\n 'button',\n {\n type: 'button',\n key: String(option.value),\n onClick: () => this.handleSelection(option.value),\n disabled: option.disabled || this.isDisabled(),\n role: 'radio',\n 'aria-checked': option.value === selection,\n style: {\n ...sizeStyles,\n flex: 1,\n border: 'none',\n borderRadius: '6px',\n backgroundColor: option.value === selection ? '#ffffff' : 'transparent',\n color: option.value === selection ? '#1a1a1a' : '#6b7280',\n fontWeight: option.value === selection ? '600' : '400',\n cursor: option.disabled || this.isDisabled() ? 'not-allowed' : 'pointer',\n opacity: option.disabled || this.isDisabled() ? 0.5 : 1,\n boxShadow: option.value === selection ? '0 1px 2px rgba(0, 0, 0, 0.1)' : 'none',\n transition: 'all 0.2s',\n margin: '0',\n ...(index === 0 && { marginRight: '1px' }),\n ...(index === options.length - 1 && { marginLeft: '1px' }),\n },\n },\n ...(option.icon\n ? [\n h(\n 'span',\n {\n style: {\n marginRight: '6px',\n fontSize: '14px',\n },\n },\n text(option.icon)\n ),\n ]\n : []),\n text(option.label)\n )\n )\n )\n }\n\n /**\n * Render wheel variant (simplified)\n */\n private renderWheel() {\n const options = this.getOptions()\n const selection = this.getSelection()\n\n return h(\n 'select',\n {\n value: String(selection),\n onChange: (e: Event) => {\n const target = e.target as HTMLSelectElement\n const selectedOption = options.find((opt) => String(opt.value) === target.value)\n if (selectedOption) {\n this.handleSelection(selectedOption.value)\n }\n },\n disabled: this.isDisabled(),\n style: {\n ...this.getSizeStyles(),\n minWidth: '200px',\n backgroundColor: '#ffffff',\n border: '1px solid #d1d5db',\n borderRadius: '6px',\n cursor: this.isDisabled() ? 'not-allowed' : 'pointer',\n opacity: this.isDisabled() ? 0.6 : 1,\n },\n },\n ...options.map((option) =>\n h(\n 'option',\n {\n key: String(option.value),\n value: String(option.value),\n disabled: option.disabled,\n },\n text(option.label)\n )\n )\n )\n }\n\n render() {\n const { variant = 'dropdown', accessibilityLabel, accessibilityHint } = this.props\n\n const containerProps = {\n 'aria-label': accessibilityLabel,\n 'aria-describedby': accessibilityHint ? `${this.id}-hint` : undefined,\n }\n\n // biome-ignore lint/suspicious/noExplicitAny: Content can be various component types\n let content: any\n\n switch (variant) {\n case 'segmented':\n content = this.renderSegmented()\n break\n case 'wheel':\n content = this.renderWheel()\n break\n default:\n content = this.renderDropdown()\n break\n }\n\n return h(\n 'div',\n containerProps,\n content,\n ...(accessibilityHint\n ? [\n h(\n 'div',\n {\n id: `${this.id}-hint`,\n style: {\n fontSize: '12px',\n color: '#6b7280',\n marginTop: '4px',\n },\n },\n text(accessibilityHint)\n ),\n ]\n : [])\n )\n }\n}\n\n/**\n * Picker component function\n */\n// biome-ignore lint/suspicious/noExplicitAny: Generic picker function requires flexible type\nexport function Picker<T = any>(\n selection: T | Signal<T>,\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>,\n props: Omit<PickerProps<T>, 'selection' | 'options'> = {}\n): ModifiableComponent<PickerProps<T>> & {\n modifier: ModifierBuilder<ModifiableComponent<PickerProps<T>>>\n} {\n const pickerProps: PickerProps<T> = { ...props, selection, options }\n const component = new EnhancedPicker(pickerProps)\n return withModifiers(component)\n}\n\n/**\n * Picker style variants\n */\nexport const PickerStyles = {\n /**\n * Dropdown picker (default)\n */\n // biome-ignore lint/suspicious/noExplicitAny: Generic dropdown picker requires flexible type\n Dropdown<T = any>(\n selection: T | Signal<T>,\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>,\n props: Omit<PickerProps<T>, 'selection' | 'options' | 'variant'> = {}\n ) {\n return Picker(selection, options, { ...props, variant: 'dropdown' })\n },\n\n /**\n * Segmented picker\n */\n // biome-ignore lint/suspicious/noExplicitAny: Generic segmented picker requires flexible type\n Segmented<T = any>(\n selection: T | Signal<T>,\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>,\n props: Omit<PickerProps<T>, 'selection' | 'options' | 'variant'> = {}\n ) {\n return Picker(selection, options, { ...props, variant: 'segmented' })\n },\n\n /**\n * Wheel picker (native select)\n */\n // biome-ignore lint/suspicious/noExplicitAny: Generic wheel picker requires flexible type\n Wheel<T = any>(\n selection: T | Signal<T>,\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>,\n props: Omit<PickerProps<T>, 'selection' | 'options' | 'variant'> = {}\n ) {\n return Picker(selection, options, { ...props, variant: 'wheel' })\n },\n\n /**\n * Menu picker\n */\n // biome-ignore lint/suspicious/noExplicitAny: Generic menu picker requires flexible type\n Menu<T = any>(\n selection: T | Signal<T>,\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>,\n props: Omit<PickerProps<T>, 'selection' | 'options' | 'variant'> = {}\n ) {\n return Picker(selection, options, { ...props, variant: 'menu' })\n },\n}\n\n/**\n * Picker utilities\n */\nexport const PickerUtils = {\n /**\n * Create options from simple array\n */\n fromArray<T>(items: T[], labelKey?: keyof T): PickerOption<T>[] {\n return items.map((item) => ({\n value: item,\n label:\n labelKey && typeof item === 'object' && item !== null\n ? String(item[labelKey])\n : String(item),\n }))\n },\n\n /**\n * Create options from enum\n */\n fromEnum(enumObject: Record<string, string | number>): PickerOption<string | number>[] {\n return Object.entries(enumObject).map(([key, value]) => ({\n value,\n label: key.replace(/([A-Z])/g, ' $1').trim(),\n }))\n },\n\n /**\n * Group options by category\n */\n grouped<T>(\n options: (PickerOption<T> & { category?: string })[]\n ): Record<string, PickerOption<T>[]> {\n return options.reduce(\n (groups, option) => {\n const category = option.category || 'Other'\n if (!groups[category]) {\n groups[category] = []\n }\n groups[category].push(option)\n return groups\n },\n {} as Record<string, PickerOption<T>[]>\n )\n },\n}\n"],"names":["EnhancedPicker","props","__publicField","value","open","setOpen","createSignal","search","setSearch","handleClickOutside","event","element","selection","isSignal","options","option","disabled","size","selectedOption","filteredOptions","sizeStyles","isOpen","h","text","e","target","index","opt","variant","accessibilityLabel","accessibilityHint","containerProps","content","Picker","pickerProps","component","withModifiers","PickerStyles","PickerUtils","items","labelKey","item","enumObject","key","groups","category"],"mappings":"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"}
@@ -1,478 +0,0 @@
1
- import "../reactive/cleanup.js";
2
- import "../reactive/unified-scheduler.js";
3
- import { createSignal as u, isSignal as c } from "../reactive/signal.js";
4
- import "../reactive/scheduler.js";
5
- import "../reactive/theme.js";
6
- import "../runtime/component.js";
7
- import "../runtime/context.js";
8
- import "../runtime/dev-tools.js";
9
- import "../runtime/dom-bridge.js";
10
- import "../runtime/error-boundary.js";
11
- import "../runtime/error-reporting.js";
12
- import "../runtime/performance.js";
13
- import { h as o, text as a } from "../runtime/renderer.js";
14
- import "../runtime/element-override.js";
15
- import "../runtime/semantic-role-manager.js";
16
- import "../runtime/development-warnings.js";
17
- import { withModifiers as f } from "./wrapper.js";
18
- var g = Object.defineProperty, m = (n, e, t) => e in n ? g(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t, l = (n, e, t) => m(n, typeof e != "symbol" ? e + "" : e, t);
19
- class x {
20
- constructor(e) {
21
- this.props = e, l(this, "type", "component"), l(this, "id"), l(this, "mounted", !1), l(this, "cleanup", []), l(this, "isOpen"), l(this, "setIsOpen"), l(this, "searchTerm"), l(this, "setSearchTerm"), l(this, "handleSelection", (d) => {
22
- this.props.onSelectionChange && this.props.onSelectionChange(d), (this.props.variant === "dropdown" || this.props.variant === "menu") && this.setIsOpen(!1), this.setSearchTerm("");
23
- }), l(this, "toggleOpen", () => {
24
- this.isDisabled() || this.setIsOpen(!this.isOpen());
25
- }), this.id = `picker-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
26
- const [t, i] = u(!1), [r, s] = u("");
27
- if (this.isOpen = t, this.setIsOpen = i, this.searchTerm = r, this.setSearchTerm = s, typeof window < "u") {
28
- const d = (b) => {
29
- const h = document.getElementById(this.id);
30
- h && !h.contains(b.target) && this.setIsOpen(!1);
31
- };
32
- document.addEventListener("click", d), this.cleanup.push(() => {
33
- document.removeEventListener("click", d);
34
- });
35
- }
36
- }
37
- /**
38
- * Get current selection value
39
- */
40
- getSelection() {
41
- const { selection: e } = this.props;
42
- return c(e) ? e() : e;
43
- }
44
- /**
45
- * Get current options
46
- */
47
- getOptions() {
48
- const { options: e } = this.props;
49
- return c(e) ? e() : e;
50
- }
51
- /**
52
- * Filter options based on search term
53
- */
54
- getFilteredOptions() {
55
- const e = this.getOptions(), t = this.searchTerm().toLowerCase();
56
- return !t || !this.props.searchable ? e : e.filter(
57
- (i) => i.label.toLowerCase().includes(t) || i.description?.toLowerCase().includes(t)
58
- );
59
- }
60
- /**
61
- * Check if picker is disabled
62
- */
63
- isDisabled() {
64
- const { disabled: e } = this.props;
65
- return typeof e == "boolean" ? e : c(e) ? e() : !1;
66
- }
67
- /**
68
- * Get selected option
69
- */
70
- getSelectedOption() {
71
- const e = this.getSelection();
72
- return this.getOptions().find((i) => i.value === e) || null;
73
- }
74
- /**
75
- * Get picker size styles
76
- */
77
- getSizeStyles() {
78
- const { size: e = "medium" } = this.props;
79
- switch (e) {
80
- case "small":
81
- return {
82
- fontSize: "14px",
83
- padding: "6px 12px",
84
- minHeight: "32px"
85
- };
86
- case "large":
87
- return {
88
- fontSize: "18px",
89
- padding: "12px 16px",
90
- minHeight: "48px"
91
- };
92
- default:
93
- return {
94
- fontSize: "16px",
95
- padding: "8px 12px",
96
- minHeight: "40px"
97
- };
98
- }
99
- }
100
- /**
101
- * Render dropdown variant
102
- */
103
- renderDropdown() {
104
- const e = this.getSelectedOption(), t = this.getFilteredOptions(), i = this.getSizeStyles(), r = this.isOpen();
105
- return o(
106
- "div",
107
- {
108
- id: this.id,
109
- style: {
110
- position: "relative",
111
- display: "inline-block",
112
- minWidth: "200px"
113
- }
114
- },
115
- // Trigger button
116
- o(
117
- "button",
118
- {
119
- type: "button",
120
- onClick: this.toggleOpen,
121
- disabled: this.isDisabled(),
122
- style: {
123
- ...i,
124
- width: "100%",
125
- display: "flex",
126
- alignItems: "center",
127
- justifyContent: "space-between",
128
- backgroundColor: "#ffffff",
129
- border: "1px solid #d1d5db",
130
- borderRadius: "6px",
131
- cursor: this.isDisabled() ? "not-allowed" : "pointer",
132
- opacity: this.isDisabled() ? 0.6 : 1,
133
- ...r && {
134
- borderColor: this.props.tint || "#007AFF",
135
- boxShadow: `0 0 0 1px ${this.props.tint || "#007AFF"}`
136
- }
137
- }
138
- },
139
- o(
140
- "span",
141
- {
142
- style: {
143
- color: e ? "#1a1a1a" : "#6b7280"
144
- }
145
- },
146
- a(e?.label || this.props.placeholder || "Select an option")
147
- ),
148
- o(
149
- "span",
150
- {
151
- style: {
152
- fontSize: "12px",
153
- color: "#6b7280",
154
- transform: r ? "rotate(180deg)" : "rotate(0deg)",
155
- transition: "transform 0.2s"
156
- }
157
- },
158
- a("▼")
159
- )
160
- ),
161
- ...r ? [
162
- o(
163
- "div",
164
- {
165
- style: {
166
- position: "absolute",
167
- top: "100%",
168
- left: "0",
169
- right: "0",
170
- zIndex: 1e3,
171
- backgroundColor: "#ffffff",
172
- border: "1px solid #d1d5db",
173
- borderRadius: "6px",
174
- boxShadow: "0 4px 6px -1px rgba(0, 0, 0, 0.1)",
175
- maxHeight: "200px",
176
- overflowY: "auto",
177
- marginTop: "2px"
178
- }
179
- },
180
- ...this.props.searchable ? [
181
- o(
182
- "div",
183
- {
184
- style: {
185
- padding: "8px",
186
- borderBottom: "1px solid #e5e7eb"
187
- }
188
- },
189
- o("input", {
190
- type: "text",
191
- placeholder: "Search options...",
192
- value: this.searchTerm(),
193
- onInput: (s) => {
194
- const d = s.target;
195
- this.setSearchTerm(d.value);
196
- },
197
- style: {
198
- width: "100%",
199
- padding: "6px 8px",
200
- border: "1px solid #d1d5db",
201
- borderRadius: "4px",
202
- fontSize: "14px"
203
- }
204
- })
205
- )
206
- ] : [],
207
- ...t.map(
208
- (s) => o(
209
- "button",
210
- {
211
- type: "button",
212
- key: String(s.value),
213
- onClick: () => this.handleSelection(s.value),
214
- disabled: s.disabled,
215
- style: {
216
- width: "100%",
217
- padding: "8px 12px",
218
- textAlign: "left",
219
- backgroundColor: s.value === this.getSelection() ? "#f3f4f6" : "transparent",
220
- border: "none",
221
- cursor: s.disabled ? "not-allowed" : "pointer",
222
- opacity: s.disabled ? 0.5 : 1,
223
- fontSize: "14px",
224
- display: "flex",
225
- alignItems: "center",
226
- gap: "8px",
227
- ":hover": {
228
- backgroundColor: "#f9fafb"
229
- }
230
- }
231
- },
232
- ...s.icon ? [o("span", { style: { fontSize: "16px" } }, a(s.icon))] : [],
233
- o(
234
- "div",
235
- {},
236
- o("div", {}, a(s.label)),
237
- ...s.description ? [
238
- o(
239
- "div",
240
- {
241
- style: {
242
- fontSize: "12px",
243
- color: "#6b7280",
244
- marginTop: "2px"
245
- }
246
- },
247
- a(s.description)
248
- )
249
- ] : []
250
- )
251
- )
252
- ),
253
- ...t.length === 0 ? [
254
- o(
255
- "div",
256
- {
257
- style: {
258
- padding: "12px",
259
- textAlign: "center",
260
- color: "#6b7280",
261
- fontSize: "14px"
262
- }
263
- },
264
- a("No options found")
265
- )
266
- ] : []
267
- )
268
- ] : []
269
- );
270
- }
271
- /**
272
- * Render segmented variant
273
- */
274
- renderSegmented() {
275
- const e = this.getOptions(), t = this.getSelection(), i = this.getSizeStyles();
276
- return o(
277
- "div",
278
- {
279
- style: {
280
- display: "flex",
281
- backgroundColor: "#f3f4f6",
282
- borderRadius: "8px",
283
- padding: "2px"
284
- },
285
- role: "radiogroup",
286
- "aria-label": this.props.accessibilityLabel
287
- },
288
- ...e.map(
289
- (r, s) => o(
290
- "button",
291
- {
292
- type: "button",
293
- key: String(r.value),
294
- onClick: () => this.handleSelection(r.value),
295
- disabled: r.disabled || this.isDisabled(),
296
- role: "radio",
297
- "aria-checked": r.value === t,
298
- style: {
299
- ...i,
300
- flex: 1,
301
- border: "none",
302
- borderRadius: "6px",
303
- backgroundColor: r.value === t ? "#ffffff" : "transparent",
304
- color: r.value === t ? "#1a1a1a" : "#6b7280",
305
- fontWeight: r.value === t ? "600" : "400",
306
- cursor: r.disabled || this.isDisabled() ? "not-allowed" : "pointer",
307
- opacity: r.disabled || this.isDisabled() ? 0.5 : 1,
308
- boxShadow: r.value === t ? "0 1px 2px rgba(0, 0, 0, 0.1)" : "none",
309
- transition: "all 0.2s",
310
- margin: "0",
311
- ...s === 0 && { marginRight: "1px" },
312
- ...s === e.length - 1 && { marginLeft: "1px" }
313
- }
314
- },
315
- ...r.icon ? [
316
- o(
317
- "span",
318
- {
319
- style: {
320
- marginRight: "6px",
321
- fontSize: "14px"
322
- }
323
- },
324
- a(r.icon)
325
- )
326
- ] : [],
327
- a(r.label)
328
- )
329
- )
330
- );
331
- }
332
- /**
333
- * Render wheel variant (simplified)
334
- */
335
- renderWheel() {
336
- const e = this.getOptions(), t = this.getSelection();
337
- return o(
338
- "select",
339
- {
340
- value: String(t),
341
- onChange: (i) => {
342
- const r = i.target, s = e.find((d) => String(d.value) === r.value);
343
- s && this.handleSelection(s.value);
344
- },
345
- disabled: this.isDisabled(),
346
- style: {
347
- ...this.getSizeStyles(),
348
- minWidth: "200px",
349
- backgroundColor: "#ffffff",
350
- border: "1px solid #d1d5db",
351
- borderRadius: "6px",
352
- cursor: this.isDisabled() ? "not-allowed" : "pointer",
353
- opacity: this.isDisabled() ? 0.6 : 1
354
- }
355
- },
356
- ...e.map(
357
- (i) => o(
358
- "option",
359
- {
360
- key: String(i.value),
361
- value: String(i.value),
362
- disabled: i.disabled
363
- },
364
- a(i.label)
365
- )
366
- )
367
- );
368
- }
369
- render() {
370
- const { variant: e = "dropdown", accessibilityLabel: t, accessibilityHint: i } = this.props, r = {
371
- "aria-label": t,
372
- "aria-describedby": i ? `${this.id}-hint` : void 0
373
- };
374
- let s;
375
- switch (e) {
376
- case "segmented":
377
- s = this.renderSegmented();
378
- break;
379
- case "wheel":
380
- s = this.renderWheel();
381
- break;
382
- default:
383
- s = this.renderDropdown();
384
- break;
385
- }
386
- return o(
387
- "div",
388
- r,
389
- s,
390
- ...i ? [
391
- o(
392
- "div",
393
- {
394
- id: `${this.id}-hint`,
395
- style: {
396
- fontSize: "12px",
397
- color: "#6b7280",
398
- marginTop: "4px"
399
- }
400
- },
401
- a(i)
402
- )
403
- ] : []
404
- );
405
- }
406
- }
407
- function p(n, e, t = {}) {
408
- const i = { ...t, selection: n, options: e }, r = new x(i);
409
- return f(r);
410
- }
411
- const _ = {
412
- /**
413
- * Dropdown picker (default)
414
- */
415
- // biome-ignore lint/suspicious/noExplicitAny: Generic dropdown picker requires flexible type
416
- Dropdown(n, e, t = {}) {
417
- return p(n, e, { ...t, variant: "dropdown" });
418
- },
419
- /**
420
- * Segmented picker
421
- */
422
- // biome-ignore lint/suspicious/noExplicitAny: Generic segmented picker requires flexible type
423
- Segmented(n, e, t = {}) {
424
- return p(n, e, { ...t, variant: "segmented" });
425
- },
426
- /**
427
- * Wheel picker (native select)
428
- */
429
- // biome-ignore lint/suspicious/noExplicitAny: Generic wheel picker requires flexible type
430
- Wheel(n, e, t = {}) {
431
- return p(n, e, { ...t, variant: "wheel" });
432
- },
433
- /**
434
- * Menu picker
435
- */
436
- // biome-ignore lint/suspicious/noExplicitAny: Generic menu picker requires flexible type
437
- Menu(n, e, t = {}) {
438
- return p(n, e, { ...t, variant: "menu" });
439
- }
440
- }, $ = {
441
- /**
442
- * Create options from simple array
443
- */
444
- fromArray(n, e) {
445
- return n.map((t) => ({
446
- value: t,
447
- label: String(e && typeof t == "object" && t !== null ? t[e] : t)
448
- }));
449
- },
450
- /**
451
- * Create options from enum
452
- */
453
- fromEnum(n) {
454
- return Object.entries(n).map(([e, t]) => ({
455
- value: t,
456
- label: e.replace(/([A-Z])/g, " $1").trim()
457
- }));
458
- },
459
- /**
460
- * Group options by category
461
- */
462
- grouped(n) {
463
- return n.reduce(
464
- (e, t) => {
465
- const i = t.category || "Other";
466
- return e[i] || (e[i] = []), e[i].push(t), e;
467
- },
468
- {}
469
- );
470
- }
471
- };
472
- export {
473
- x as EnhancedPicker,
474
- p as Picker,
475
- _ as PickerStyles,
476
- $ as PickerUtils
477
- };
478
- //# sourceMappingURL=Picker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Picker.js","sources":["../../src/components/Picker.ts"],"sourcesContent":["/**\n * Enhanced Picker Component (Phase 6.4.3)\n *\n * SwiftUI-inspired Picker component with dropdown, wheel, and segmented\n * variants for selecting from a list of options.\n */\n\nimport type { ModifiableComponent, ModifierBuilder } from '../modifiers/types'\nimport { createSignal, isSignal } from '../reactive'\nimport type { Signal } from '../reactive/types'\nimport { h, text } from '../runtime'\nimport type { ComponentInstance, ComponentProps } from '../runtime/types'\nimport { withModifiers } from './wrapper'\n\n/**\n * Picker option structure\n */\n// biome-ignore lint/suspicious/noExplicitAny: Generic picker options require flexible type\nexport interface PickerOption<T = any> {\n value: T\n label: string\n disabled?: boolean\n icon?: string\n description?: string\n}\n\n/**\n * Picker component properties\n */\n// biome-ignore lint/suspicious/noExplicitAny: Generic picker props require flexible type\nexport interface PickerProps<T = any> extends ComponentProps {\n // Selection\n selection: T | Signal<T>\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>\n onSelectionChange?: (value: T) => void\n\n // Appearance\n variant?: 'dropdown' | 'wheel' | 'segmented' | 'menu'\n title?: string | (() => string) | Signal<string>\n placeholder?: string\n\n // Behavior\n multiple?: boolean\n searchable?: boolean\n clearable?: boolean\n disabled?: boolean | Signal<boolean>\n\n // Styling\n size?: 'small' | 'medium' | 'large'\n tint?: string\n\n // Accessibility\n accessibilityLabel?: string\n accessibilityHint?: string\n}\n\n/**\n * Enhanced Picker component class\n */\n// biome-ignore lint/suspicious/noExplicitAny: Generic picker implementation requires flexible type\nexport class EnhancedPicker<T = any> implements ComponentInstance<PickerProps<T>> {\n public readonly type = 'component' as const\n public readonly id: string\n public mounted = false\n public cleanup: (() => void)[] = []\n private isOpen: () => boolean\n private setIsOpen: (open: boolean) => boolean\n private searchTerm: () => string\n private setSearchTerm: (term: string) => string\n\n constructor(public props: PickerProps<T>) {\n this.id = `picker-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`\n\n // Initialize internal state\n const [open, setOpen] = createSignal(false)\n const [search, setSearch] = createSignal('')\n this.isOpen = open\n this.setIsOpen = setOpen\n this.searchTerm = search\n this.setSearchTerm = setSearch\n\n // Close picker when clicking outside\n if (typeof window !== 'undefined') {\n const handleClickOutside = (event: MouseEvent) => {\n const element = document.getElementById(this.id)\n if (element && !element.contains(event.target as Node)) {\n this.setIsOpen(false)\n }\n }\n\n document.addEventListener('click', handleClickOutside)\n this.cleanup.push(() => {\n document.removeEventListener('click', handleClickOutside)\n })\n }\n }\n\n /**\n * Get current selection value\n */\n private getSelection(): T {\n const { selection } = this.props\n if (isSignal(selection)) {\n return (selection as () => T)()\n }\n return selection as T\n }\n\n /**\n * Get current options\n */\n private getOptions(): PickerOption<T>[] {\n const { options } = this.props\n if (isSignal(options)) {\n return (options as () => PickerOption<T>[])()\n }\n return options as PickerOption<T>[]\n }\n\n /**\n * Filter options based on search term\n */\n private getFilteredOptions(): PickerOption<T>[] {\n const options = this.getOptions()\n const search = this.searchTerm().toLowerCase()\n\n if (!search || !this.props.searchable) {\n return options\n }\n\n return options.filter(\n (option) =>\n option.label.toLowerCase().includes(search) ||\n option.description?.toLowerCase().includes(search)\n )\n }\n\n /**\n * Check if picker is disabled\n */\n private isDisabled(): boolean {\n const { disabled } = this.props\n if (typeof disabled === 'boolean') return disabled\n if (isSignal(disabled)) return (disabled as () => boolean)()\n return false\n }\n\n /**\n * Get selected option\n */\n private getSelectedOption(): PickerOption<T> | null {\n const selection = this.getSelection()\n const options = this.getOptions()\n return options.find((option) => option.value === selection) || null\n }\n\n /**\n * Handle option selection\n */\n private handleSelection = (value: T) => {\n if (this.props.onSelectionChange) {\n this.props.onSelectionChange(value)\n }\n\n // Close dropdown after selection\n if (this.props.variant === 'dropdown' || this.props.variant === 'menu') {\n this.setIsOpen(false)\n }\n\n // Clear search term\n this.setSearchTerm('')\n }\n\n /**\n * Toggle picker open state\n */\n private toggleOpen = () => {\n if (!this.isDisabled()) {\n this.setIsOpen(!this.isOpen())\n }\n }\n\n /**\n * Get picker size styles\n */\n private getSizeStyles() {\n const { size = 'medium' } = this.props\n\n switch (size) {\n case 'small':\n return {\n fontSize: '14px',\n padding: '6px 12px',\n minHeight: '32px',\n }\n case 'large':\n return {\n fontSize: '18px',\n padding: '12px 16px',\n minHeight: '48px',\n }\n default:\n return {\n fontSize: '16px',\n padding: '8px 12px',\n minHeight: '40px',\n }\n }\n }\n\n /**\n * Render dropdown variant\n */\n private renderDropdown() {\n const selectedOption = this.getSelectedOption()\n const filteredOptions = this.getFilteredOptions()\n const sizeStyles = this.getSizeStyles()\n const isOpen = this.isOpen()\n\n return h(\n 'div',\n {\n id: this.id,\n style: {\n position: 'relative',\n display: 'inline-block',\n minWidth: '200px',\n },\n },\n // Trigger button\n h(\n 'button',\n {\n type: 'button',\n onClick: this.toggleOpen,\n disabled: this.isDisabled(),\n style: {\n ...sizeStyles,\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n backgroundColor: '#ffffff',\n border: '1px solid #d1d5db',\n borderRadius: '6px',\n cursor: this.isDisabled() ? 'not-allowed' : 'pointer',\n opacity: this.isDisabled() ? 0.6 : 1,\n ...(isOpen && {\n borderColor: this.props.tint || '#007AFF',\n boxShadow: `0 0 0 1px ${this.props.tint || '#007AFF'}`,\n }),\n },\n },\n h(\n 'span',\n {\n style: {\n color: selectedOption ? '#1a1a1a' : '#6b7280',\n },\n },\n text(selectedOption?.label || this.props.placeholder || 'Select an option')\n ),\n\n h(\n 'span',\n {\n style: {\n fontSize: '12px',\n color: '#6b7280',\n transform: isOpen ? 'rotate(180deg)' : 'rotate(0deg)',\n transition: 'transform 0.2s',\n },\n },\n text('▼')\n )\n ),\n\n // Dropdown menu\n ...(isOpen\n ? [\n h(\n 'div',\n {\n style: {\n position: 'absolute',\n top: '100%',\n left: '0',\n right: '0',\n zIndex: 1000,\n backgroundColor: '#ffffff',\n border: '1px solid #d1d5db',\n borderRadius: '6px',\n boxShadow: '0 4px 6px -1px rgba(0, 0, 0, 0.1)',\n maxHeight: '200px',\n overflowY: 'auto' as const,\n marginTop: '2px',\n },\n },\n // Search input (if searchable)\n ...(this.props.searchable\n ? [\n h(\n 'div',\n {\n style: {\n padding: '8px',\n borderBottom: '1px solid #e5e7eb',\n },\n },\n h('input', {\n type: 'text',\n placeholder: 'Search options...',\n value: this.searchTerm(),\n onInput: (e: Event) => {\n const target = e.target as HTMLInputElement\n this.setSearchTerm(target.value)\n },\n style: {\n width: '100%',\n padding: '6px 8px',\n border: '1px solid #d1d5db',\n borderRadius: '4px',\n fontSize: '14px',\n },\n })\n ),\n ]\n : []),\n\n // Options\n ...filteredOptions.map((option) =>\n h(\n 'button',\n {\n type: 'button',\n key: String(option.value),\n onClick: () => this.handleSelection(option.value),\n disabled: option.disabled,\n style: {\n width: '100%',\n padding: '8px 12px',\n textAlign: 'left' as const,\n backgroundColor:\n option.value === this.getSelection() ? '#f3f4f6' : 'transparent',\n border: 'none',\n cursor: option.disabled ? 'not-allowed' : 'pointer',\n opacity: option.disabled ? 0.5 : 1,\n fontSize: '14px',\n display: 'flex',\n alignItems: 'center',\n gap: '8px',\n ':hover': {\n backgroundColor: '#f9fafb',\n },\n },\n },\n ...(option.icon\n ? [h('span', { style: { fontSize: '16px' } }, text(option.icon))]\n : []),\n\n h(\n 'div',\n {},\n h('div', {}, text(option.label)),\n ...(option.description\n ? [\n h(\n 'div',\n {\n style: {\n fontSize: '12px',\n color: '#6b7280',\n marginTop: '2px',\n },\n },\n text(option.description)\n ),\n ]\n : [])\n )\n )\n ),\n\n // No results message\n ...(filteredOptions.length === 0\n ? [\n h(\n 'div',\n {\n style: {\n padding: '12px',\n textAlign: 'center' as const,\n color: '#6b7280',\n fontSize: '14px',\n },\n },\n text('No options found')\n ),\n ]\n : [])\n ),\n ]\n : [])\n )\n }\n\n /**\n * Render segmented variant\n */\n private renderSegmented() {\n const options = this.getOptions()\n const selection = this.getSelection()\n const sizeStyles = this.getSizeStyles()\n\n return h(\n 'div',\n {\n style: {\n display: 'flex',\n backgroundColor: '#f3f4f6',\n borderRadius: '8px',\n padding: '2px',\n },\n role: 'radiogroup',\n 'aria-label': this.props.accessibilityLabel,\n },\n ...options.map((option, index) =>\n h(\n 'button',\n {\n type: 'button',\n key: String(option.value),\n onClick: () => this.handleSelection(option.value),\n disabled: option.disabled || this.isDisabled(),\n role: 'radio',\n 'aria-checked': option.value === selection,\n style: {\n ...sizeStyles,\n flex: 1,\n border: 'none',\n borderRadius: '6px',\n backgroundColor: option.value === selection ? '#ffffff' : 'transparent',\n color: option.value === selection ? '#1a1a1a' : '#6b7280',\n fontWeight: option.value === selection ? '600' : '400',\n cursor: option.disabled || this.isDisabled() ? 'not-allowed' : 'pointer',\n opacity: option.disabled || this.isDisabled() ? 0.5 : 1,\n boxShadow: option.value === selection ? '0 1px 2px rgba(0, 0, 0, 0.1)' : 'none',\n transition: 'all 0.2s',\n margin: '0',\n ...(index === 0 && { marginRight: '1px' }),\n ...(index === options.length - 1 && { marginLeft: '1px' }),\n },\n },\n ...(option.icon\n ? [\n h(\n 'span',\n {\n style: {\n marginRight: '6px',\n fontSize: '14px',\n },\n },\n text(option.icon)\n ),\n ]\n : []),\n text(option.label)\n )\n )\n )\n }\n\n /**\n * Render wheel variant (simplified)\n */\n private renderWheel() {\n const options = this.getOptions()\n const selection = this.getSelection()\n\n return h(\n 'select',\n {\n value: String(selection),\n onChange: (e: Event) => {\n const target = e.target as HTMLSelectElement\n const selectedOption = options.find((opt) => String(opt.value) === target.value)\n if (selectedOption) {\n this.handleSelection(selectedOption.value)\n }\n },\n disabled: this.isDisabled(),\n style: {\n ...this.getSizeStyles(),\n minWidth: '200px',\n backgroundColor: '#ffffff',\n border: '1px solid #d1d5db',\n borderRadius: '6px',\n cursor: this.isDisabled() ? 'not-allowed' : 'pointer',\n opacity: this.isDisabled() ? 0.6 : 1,\n },\n },\n ...options.map((option) =>\n h(\n 'option',\n {\n key: String(option.value),\n value: String(option.value),\n disabled: option.disabled,\n },\n text(option.label)\n )\n )\n )\n }\n\n render() {\n const { variant = 'dropdown', accessibilityLabel, accessibilityHint } = this.props\n\n const containerProps = {\n 'aria-label': accessibilityLabel,\n 'aria-describedby': accessibilityHint ? `${this.id}-hint` : undefined,\n }\n\n // biome-ignore lint/suspicious/noExplicitAny: Content can be various component types\n let content: any\n\n switch (variant) {\n case 'segmented':\n content = this.renderSegmented()\n break\n case 'wheel':\n content = this.renderWheel()\n break\n default:\n content = this.renderDropdown()\n break\n }\n\n return h(\n 'div',\n containerProps,\n content,\n ...(accessibilityHint\n ? [\n h(\n 'div',\n {\n id: `${this.id}-hint`,\n style: {\n fontSize: '12px',\n color: '#6b7280',\n marginTop: '4px',\n },\n },\n text(accessibilityHint)\n ),\n ]\n : [])\n )\n }\n}\n\n/**\n * Picker component function\n */\n// biome-ignore lint/suspicious/noExplicitAny: Generic picker function requires flexible type\nexport function Picker<T = any>(\n selection: T | Signal<T>,\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>,\n props: Omit<PickerProps<T>, 'selection' | 'options'> = {}\n): ModifiableComponent<PickerProps<T>> & {\n modifier: ModifierBuilder<ModifiableComponent<PickerProps<T>>>\n} {\n const pickerProps: PickerProps<T> = { ...props, selection, options }\n const component = new EnhancedPicker(pickerProps)\n return withModifiers(component)\n}\n\n/**\n * Picker style variants\n */\nexport const PickerStyles = {\n /**\n * Dropdown picker (default)\n */\n // biome-ignore lint/suspicious/noExplicitAny: Generic dropdown picker requires flexible type\n Dropdown<T = any>(\n selection: T | Signal<T>,\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>,\n props: Omit<PickerProps<T>, 'selection' | 'options' | 'variant'> = {}\n ) {\n return Picker(selection, options, { ...props, variant: 'dropdown' })\n },\n\n /**\n * Segmented picker\n */\n // biome-ignore lint/suspicious/noExplicitAny: Generic segmented picker requires flexible type\n Segmented<T = any>(\n selection: T | Signal<T>,\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>,\n props: Omit<PickerProps<T>, 'selection' | 'options' | 'variant'> = {}\n ) {\n return Picker(selection, options, { ...props, variant: 'segmented' })\n },\n\n /**\n * Wheel picker (native select)\n */\n // biome-ignore lint/suspicious/noExplicitAny: Generic wheel picker requires flexible type\n Wheel<T = any>(\n selection: T | Signal<T>,\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>,\n props: Omit<PickerProps<T>, 'selection' | 'options' | 'variant'> = {}\n ) {\n return Picker(selection, options, { ...props, variant: 'wheel' })\n },\n\n /**\n * Menu picker\n */\n // biome-ignore lint/suspicious/noExplicitAny: Generic menu picker requires flexible type\n Menu<T = any>(\n selection: T | Signal<T>,\n options: PickerOption<T>[] | Signal<PickerOption<T>[]>,\n props: Omit<PickerProps<T>, 'selection' | 'options' | 'variant'> = {}\n ) {\n return Picker(selection, options, { ...props, variant: 'menu' })\n },\n}\n\n/**\n * Picker utilities\n */\nexport const PickerUtils = {\n /**\n * Create options from simple array\n */\n fromArray<T>(items: T[], labelKey?: keyof T): PickerOption<T>[] {\n return items.map((item) => ({\n value: item,\n label:\n labelKey && typeof item === 'object' && item !== null\n ? String(item[labelKey])\n : String(item),\n }))\n },\n\n /**\n * Create options from enum\n */\n fromEnum(enumObject: Record<string, string | number>): PickerOption<string | number>[] {\n return Object.entries(enumObject).map(([key, value]) => ({\n value,\n label: key.replace(/([A-Z])/g, ' $1').trim(),\n }))\n },\n\n /**\n * Group options by category\n */\n grouped<T>(\n options: (PickerOption<T> & { category?: string })[]\n ): Record<string, PickerOption<T>[]> {\n return options.reduce(\n (groups, option) => {\n const category = option.category || 'Other'\n if (!groups[category]) {\n groups[category] = []\n }\n groups[category].push(option)\n return groups\n },\n {} as Record<string, PickerOption<T>[]>\n )\n },\n}\n"],"names":["EnhancedPicker","props","__publicField","value","open","setOpen","createSignal","search","setSearch","handleClickOutside","event","element","selection","isSignal","options","option","disabled","size","selectedOption","filteredOptions","sizeStyles","isOpen","h","text","e","target","index","opt","variant","accessibilityLabel","accessibilityHint","containerProps","content","Picker","pickerProps","component","withModifiers","PickerStyles","PickerUtils","items","labelKey","item","enumObject","key","groups","category"],"mappings":"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"}