@tachui/core 0.7.0-alpha1

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 (1327) hide show
  1. package/LICENSE +363 -0
  2. package/dist/assets/Asset.cjs +2 -0
  3. package/dist/assets/Asset.cjs.map +1 -0
  4. package/dist/assets/Asset.d.ts +11 -0
  5. package/dist/assets/Asset.d.ts.map +1 -0
  6. package/dist/assets/Asset.js +9 -0
  7. package/dist/assets/Asset.js.map +1 -0
  8. package/dist/assets/AssetCollection.cjs +2 -0
  9. package/dist/assets/AssetCollection.cjs.map +1 -0
  10. package/dist/assets/AssetCollection.d.ts +14 -0
  11. package/dist/assets/AssetCollection.d.ts.map +1 -0
  12. package/dist/assets/AssetCollection.js +44 -0
  13. package/dist/assets/AssetCollection.js.map +1 -0
  14. package/dist/assets/ColorAsset.cjs +2 -0
  15. package/dist/assets/ColorAsset.cjs.map +1 -0
  16. package/dist/assets/ColorAsset.d.ts +31 -0
  17. package/dist/assets/ColorAsset.d.ts.map +1 -0
  18. package/dist/assets/ColorAsset.js +114 -0
  19. package/dist/assets/ColorAsset.js.map +1 -0
  20. package/dist/assets/FontAsset.cjs +9 -0
  21. package/dist/assets/FontAsset.cjs.map +1 -0
  22. package/dist/assets/FontAsset.d.ts +114 -0
  23. package/dist/assets/FontAsset.d.ts.map +1 -0
  24. package/dist/assets/FontAsset.js +173 -0
  25. package/dist/assets/FontAsset.js.map +1 -0
  26. package/dist/assets/ImageAsset.cjs +2 -0
  27. package/dist/assets/ImageAsset.cjs.map +1 -0
  28. package/dist/assets/ImageAsset.d.ts +35 -0
  29. package/dist/assets/ImageAsset.d.ts.map +1 -0
  30. package/dist/assets/ImageAsset.js +39 -0
  31. package/dist/assets/ImageAsset.js.map +1 -0
  32. package/dist/assets/index.cjs +2 -0
  33. package/dist/assets/index.cjs.map +1 -0
  34. package/dist/assets/index.d.ts +26 -0
  35. package/dist/assets/index.d.ts.map +1 -0
  36. package/dist/assets/index.js +119 -0
  37. package/dist/assets/index.js.map +1 -0
  38. package/dist/assets/types.d.ts +70 -0
  39. package/dist/assets/types.d.ts.map +1 -0
  40. package/dist/bundles/common.d.ts +24 -0
  41. package/dist/bundles/common.d.ts.map +1 -0
  42. package/dist/bundles/complete.d.ts +27 -0
  43. package/dist/bundles/complete.d.ts.map +1 -0
  44. package/dist/bundles/essential.d.ts +24 -0
  45. package/dist/bundles/essential.d.ts.map +1 -0
  46. package/dist/bundles/minimal.d.ts +24 -0
  47. package/dist/bundles/minimal.d.ts.map +1 -0
  48. package/dist/bundles/production-minimal.d.ts +35 -0
  49. package/dist/bundles/production-minimal.d.ts.map +1 -0
  50. package/dist/common.cjs +2 -0
  51. package/dist/common.cjs.map +1 -0
  52. package/dist/common.js +985 -0
  53. package/dist/common.js.map +1 -0
  54. package/dist/compiler/advanced-parser.cjs +5 -0
  55. package/dist/compiler/advanced-parser.cjs.map +1 -0
  56. package/dist/compiler/advanced-parser.d.ts +113 -0
  57. package/dist/compiler/advanced-parser.d.ts.map +1 -0
  58. package/dist/compiler/advanced-parser.js +440 -0
  59. package/dist/compiler/advanced-parser.js.map +1 -0
  60. package/dist/compiler/codegen.cjs +6 -0
  61. package/dist/compiler/codegen.cjs.map +1 -0
  62. package/dist/compiler/codegen.d.ts +20 -0
  63. package/dist/compiler/codegen.d.ts.map +1 -0
  64. package/dist/compiler/codegen.js +241 -0
  65. package/dist/compiler/codegen.js.map +1 -0
  66. package/dist/compiler/enhanced-codegen.cjs +6 -0
  67. package/dist/compiler/enhanced-codegen.cjs.map +1 -0
  68. package/dist/compiler/enhanced-codegen.d.ts +121 -0
  69. package/dist/compiler/enhanced-codegen.d.ts.map +1 -0
  70. package/dist/compiler/enhanced-codegen.js +347 -0
  71. package/dist/compiler/enhanced-codegen.js.map +1 -0
  72. package/dist/compiler/index.cjs +2 -0
  73. package/dist/compiler/index.cjs.map +1 -0
  74. package/dist/compiler/index.d.ts +14 -0
  75. package/dist/compiler/index.d.ts.map +1 -0
  76. package/dist/compiler/index.js +13 -0
  77. package/dist/compiler/index.js.map +1 -0
  78. package/dist/compiler/parser.cjs +5 -0
  79. package/dist/compiler/parser.cjs.map +1 -0
  80. package/dist/compiler/parser.d.ts +12 -0
  81. package/dist/compiler/parser.d.ts.map +1 -0
  82. package/dist/compiler/parser.js +275 -0
  83. package/dist/compiler/parser.js.map +1 -0
  84. package/dist/compiler/plugin.cjs +33 -0
  85. package/dist/compiler/plugin.cjs.map +1 -0
  86. package/dist/compiler/plugin.d.ts +13 -0
  87. package/dist/compiler/plugin.d.ts.map +1 -0
  88. package/dist/compiler/plugin.js +103 -0
  89. package/dist/compiler/plugin.js.map +1 -0
  90. package/dist/compiler/types.d.ts +149 -0
  91. package/dist/compiler/types.d.ts.map +1 -0
  92. package/dist/components/BasicInput.cjs +2 -0
  93. package/dist/components/BasicInput.cjs.map +1 -0
  94. package/dist/components/BasicInput.d.ts +116 -0
  95. package/dist/components/BasicInput.d.ts.map +1 -0
  96. package/dist/components/BasicInput.js +182 -0
  97. package/dist/components/BasicInput.js.map +1 -0
  98. package/dist/components/Button.cjs +7 -0
  99. package/dist/components/Button.cjs.map +1 -0
  100. package/dist/components/Button.d.ts +252 -0
  101. package/dist/components/Button.d.ts.map +1 -0
  102. package/dist/components/Button.js +408 -0
  103. package/dist/components/Button.js.map +1 -0
  104. package/dist/components/Divider.cjs +2 -0
  105. package/dist/components/Divider.cjs.map +1 -0
  106. package/dist/components/Divider.d.ts +141 -0
  107. package/dist/components/Divider.d.ts.map +1 -0
  108. package/dist/components/Divider.js +187 -0
  109. package/dist/components/Divider.js.map +1 -0
  110. package/dist/components/EnhancedLink.cjs +2 -0
  111. package/dist/components/EnhancedLink.cjs.map +1 -0
  112. package/dist/components/EnhancedLink.d.ts +365 -0
  113. package/dist/components/EnhancedLink.d.ts.map +1 -0
  114. package/dist/components/EnhancedLink.js +345 -0
  115. package/dist/components/EnhancedLink.js.map +1 -0
  116. package/dist/components/Form.cjs +2 -0
  117. package/dist/components/Form.cjs.map +1 -0
  118. package/dist/components/Form.d.ts +141 -0
  119. package/dist/components/Form.d.ts.map +1 -0
  120. package/dist/components/Form.js +244 -0
  121. package/dist/components/Form.js.map +1 -0
  122. package/dist/components/Grid.cjs +2 -0
  123. package/dist/components/Grid.cjs.map +1 -0
  124. package/dist/components/Grid.d.ts +698 -0
  125. package/dist/components/Grid.d.ts.map +1 -0
  126. package/dist/components/Grid.js +1045 -0
  127. package/dist/components/Grid.js.map +1 -0
  128. package/dist/components/GridResponsive.cjs +2 -0
  129. package/dist/components/GridResponsive.cjs.map +1 -0
  130. package/dist/components/GridResponsive.d.ts +214 -0
  131. package/dist/components/GridResponsive.d.ts.map +1 -0
  132. package/dist/components/GridResponsive.js +382 -0
  133. package/dist/components/GridResponsive.js.map +1 -0
  134. package/dist/components/Image.cjs +2 -0
  135. package/dist/components/Image.cjs.map +1 -0
  136. package/dist/components/Image.d.ts +162 -0
  137. package/dist/components/Image.d.ts.map +1 -0
  138. package/dist/components/Image.js +212 -0
  139. package/dist/components/Image.js.map +1 -0
  140. package/dist/components/List.cjs +2 -0
  141. package/dist/components/List.cjs.map +1 -0
  142. package/dist/components/List.d.ts +287 -0
  143. package/dist/components/List.d.ts.map +1 -0
  144. package/dist/components/List.js +561 -0
  145. package/dist/components/List.js.map +1 -0
  146. package/dist/components/Menu.cjs +2 -0
  147. package/dist/components/Menu.cjs.map +1 -0
  148. package/dist/components/Menu.d.ts +159 -0
  149. package/dist/components/Menu.d.ts.map +1 -0
  150. package/dist/components/Menu.js +443 -0
  151. package/dist/components/Menu.js.map +1 -0
  152. package/dist/components/Picker.cjs +2 -0
  153. package/dist/components/Picker.cjs.map +1 -0
  154. package/dist/components/Picker.d.ts +153 -0
  155. package/dist/components/Picker.d.ts.map +1 -0
  156. package/dist/components/Picker.js +478 -0
  157. package/dist/components/Picker.js.map +1 -0
  158. package/dist/components/ScrollView.cjs +6 -0
  159. package/dist/components/ScrollView.cjs.map +1 -0
  160. package/dist/components/ScrollView.d.ts +222 -0
  161. package/dist/components/ScrollView.d.ts.map +1 -0
  162. package/dist/components/ScrollView.js +363 -0
  163. package/dist/components/ScrollView.js.map +1 -0
  164. package/dist/components/Section.cjs +2 -0
  165. package/dist/components/Section.cjs.map +1 -0
  166. package/dist/components/Section.d.ts +153 -0
  167. package/dist/components/Section.d.ts.map +1 -0
  168. package/dist/components/Section.js +323 -0
  169. package/dist/components/Section.js.map +1 -0
  170. package/dist/components/Show.cjs +2 -0
  171. package/dist/components/Show.cjs.map +1 -0
  172. package/dist/components/Show.d.ts +64 -0
  173. package/dist/components/Show.d.ts.map +1 -0
  174. package/dist/components/Show.js +112 -0
  175. package/dist/components/Show.js.map +1 -0
  176. package/dist/components/Spacer.cjs +2 -0
  177. package/dist/components/Spacer.cjs.map +1 -0
  178. package/dist/components/Spacer.d.ts +35 -0
  179. package/dist/components/Spacer.d.ts.map +1 -0
  180. package/dist/components/Spacer.js +53 -0
  181. package/dist/components/Spacer.js.map +1 -0
  182. package/dist/components/Text.cjs +2 -0
  183. package/dist/components/Text.cjs.map +1 -0
  184. package/dist/components/Text.d.ts +242 -0
  185. package/dist/components/Text.d.ts.map +1 -0
  186. package/dist/components/Text.js +193 -0
  187. package/dist/components/Text.js.map +1 -0
  188. package/dist/components/Toggle.cjs +2 -0
  189. package/dist/components/Toggle.cjs.map +1 -0
  190. package/dist/components/Toggle.d.ts +207 -0
  191. package/dist/components/Toggle.d.ts.map +1 -0
  192. package/dist/components/Toggle.js +477 -0
  193. package/dist/components/Toggle.js.map +1 -0
  194. package/dist/components/index.cjs +2 -0
  195. package/dist/components/index.cjs.map +1 -0
  196. package/dist/components/index.d.ts +45 -0
  197. package/dist/components/index.d.ts.map +1 -0
  198. package/dist/components/index.js +104 -0
  199. package/dist/components/index.js.map +1 -0
  200. package/dist/components/wrapper.cjs +2 -0
  201. package/dist/components/wrapper.cjs.map +1 -0
  202. package/dist/components/wrapper.d.ts +249 -0
  203. package/dist/components/wrapper.d.ts.map +1 -0
  204. package/dist/components/wrapper.js +484 -0
  205. package/dist/components/wrapper.js.map +1 -0
  206. package/dist/concatenation/concatenatable.cjs +2 -0
  207. package/dist/concatenation/concatenatable.cjs.map +1 -0
  208. package/dist/concatenation/concatenatable.d.ts +63 -0
  209. package/dist/concatenation/concatenatable.d.ts.map +1 -0
  210. package/dist/concatenation/concatenatable.js +118 -0
  211. package/dist/concatenation/concatenatable.js.map +1 -0
  212. package/dist/concatenation/concatenated-component.cjs +2 -0
  213. package/dist/concatenation/concatenated-component.cjs.map +1 -0
  214. package/dist/concatenation/concatenated-component.d.ts +110 -0
  215. package/dist/concatenation/concatenated-component.d.ts.map +1 -0
  216. package/dist/concatenation/concatenated-component.js +276 -0
  217. package/dist/concatenation/concatenated-component.js.map +1 -0
  218. package/dist/concatenation/index.d.ts +13 -0
  219. package/dist/concatenation/index.d.ts.map +1 -0
  220. package/dist/concatenation/text-optimizer.cjs +2 -0
  221. package/dist/concatenation/text-optimizer.cjs.map +1 -0
  222. package/dist/concatenation/text-optimizer.d.ts +104 -0
  223. package/dist/concatenation/text-optimizer.d.ts.map +1 -0
  224. package/dist/concatenation/text-optimizer.js +236 -0
  225. package/dist/concatenation/text-optimizer.js.map +1 -0
  226. package/dist/concatenation/types.cjs +2 -0
  227. package/dist/concatenation/types.cjs.map +1 -0
  228. package/dist/concatenation/types.d.ts +88 -0
  229. package/dist/concatenation/types.d.ts.map +1 -0
  230. package/dist/concatenation/types.js +13 -0
  231. package/dist/concatenation/types.js.map +1 -0
  232. package/dist/constants/frame-utils.cjs +2 -0
  233. package/dist/constants/frame-utils.cjs.map +1 -0
  234. package/dist/constants/frame-utils.d.ts +68 -0
  235. package/dist/constants/frame-utils.d.ts.map +1 -0
  236. package/dist/constants/frame-utils.js +116 -0
  237. package/dist/constants/frame-utils.js.map +1 -0
  238. package/dist/constants/index.d.ts +8 -0
  239. package/dist/constants/index.d.ts.map +1 -0
  240. package/dist/constants/layout.cjs +2 -0
  241. package/dist/constants/layout.cjs.map +1 -0
  242. package/dist/constants/layout.d.ts +60 -0
  243. package/dist/constants/layout.d.ts.map +1 -0
  244. package/dist/constants/layout.js +46 -0
  245. package/dist/constants/layout.js.map +1 -0
  246. package/dist/css-classes/component-base.cjs +2 -0
  247. package/dist/css-classes/component-base.cjs.map +1 -0
  248. package/dist/css-classes/component-base.d.ts +40 -0
  249. package/dist/css-classes/component-base.d.ts.map +1 -0
  250. package/dist/css-classes/component-base.js +62 -0
  251. package/dist/css-classes/component-base.js.map +1 -0
  252. package/dist/css-classes/css-class-manager.cjs +2 -0
  253. package/dist/css-classes/css-class-manager.cjs.map +1 -0
  254. package/dist/css-classes/css-class-manager.d.ts +89 -0
  255. package/dist/css-classes/css-class-manager.d.ts.map +1 -0
  256. package/dist/css-classes/css-class-manager.js +209 -0
  257. package/dist/css-classes/css-class-manager.js.map +1 -0
  258. package/dist/css-classes/dom-integration.cjs +2 -0
  259. package/dist/css-classes/dom-integration.cjs.map +1 -0
  260. package/dist/css-classes/dom-integration.d.ts +76 -0
  261. package/dist/css-classes/dom-integration.d.ts.map +1 -0
  262. package/dist/css-classes/dom-integration.js +67 -0
  263. package/dist/css-classes/dom-integration.js.map +1 -0
  264. package/dist/css-classes/enhanced-renderer.cjs +2 -0
  265. package/dist/css-classes/enhanced-renderer.cjs.map +1 -0
  266. package/dist/css-classes/enhanced-renderer.d.ts +42 -0
  267. package/dist/css-classes/enhanced-renderer.d.ts.map +1 -0
  268. package/dist/css-classes/enhanced-renderer.js +73 -0
  269. package/dist/css-classes/enhanced-renderer.js.map +1 -0
  270. package/dist/css-classes/index.d.ts +14 -0
  271. package/dist/css-classes/index.d.ts.map +1 -0
  272. package/dist/css-classes/types.d.ts +59 -0
  273. package/dist/css-classes/types.d.ts.map +1 -0
  274. package/dist/css-classes/utilities.cjs +2 -0
  275. package/dist/css-classes/utilities.cjs.map +1 -0
  276. package/dist/css-classes/utilities.d.ts +104 -0
  277. package/dist/css-classes/utilities.d.ts.map +1 -0
  278. package/dist/css-classes/utilities.js +41 -0
  279. package/dist/css-classes/utilities.js.map +1 -0
  280. package/dist/debug/index.d.ts +61 -0
  281. package/dist/debug/index.d.ts.map +1 -0
  282. package/dist/debug.cjs +52 -0
  283. package/dist/debug.cjs.map +1 -0
  284. package/dist/debug.js +179 -0
  285. package/dist/debug.js.map +1 -0
  286. package/dist/developer-experience/enhanced-errors.d.ts +128 -0
  287. package/dist/developer-experience/enhanced-errors.d.ts.map +1 -0
  288. package/dist/developer-experience/enhanced-types.d.ts +281 -0
  289. package/dist/developer-experience/enhanced-types.d.ts.map +1 -0
  290. package/dist/developer-experience/index.d.ts +44 -0
  291. package/dist/developer-experience/index.d.ts.map +1 -0
  292. package/dist/essential.cjs +2 -0
  293. package/dist/essential.cjs.map +1 -0
  294. package/dist/essential.js +968 -0
  295. package/dist/essential.js.map +1 -0
  296. package/dist/gradients/css-generator.cjs +2 -0
  297. package/dist/gradients/css-generator.cjs.map +1 -0
  298. package/dist/gradients/css-generator.d.ts +10 -0
  299. package/dist/gradients/css-generator.d.ts.map +1 -0
  300. package/dist/gradients/css-generator.js +100 -0
  301. package/dist/gradients/css-generator.js.map +1 -0
  302. package/dist/gradients/examples.cjs +2 -0
  303. package/dist/gradients/examples.cjs.map +1 -0
  304. package/dist/gradients/examples.d.ts +432 -0
  305. package/dist/gradients/examples.d.ts.map +1 -0
  306. package/dist/gradients/examples.js +555 -0
  307. package/dist/gradients/examples.js.map +1 -0
  308. package/dist/gradients/gradient-asset.cjs +2 -0
  309. package/dist/gradients/gradient-asset.cjs.map +1 -0
  310. package/dist/gradients/gradient-asset.d.ts +10 -0
  311. package/dist/gradients/gradient-asset.d.ts.map +1 -0
  312. package/dist/gradients/gradient-asset.js +22 -0
  313. package/dist/gradients/gradient-asset.js.map +1 -0
  314. package/dist/gradients/index.cjs +2 -0
  315. package/dist/gradients/index.cjs.map +1 -0
  316. package/dist/gradients/index.d.ts +19 -0
  317. package/dist/gradients/index.d.ts.map +1 -0
  318. package/dist/gradients/index.js +78 -0
  319. package/dist/gradients/index.js.map +1 -0
  320. package/dist/gradients/performance.cjs +2 -0
  321. package/dist/gradients/performance.cjs.map +1 -0
  322. package/dist/gradients/performance.d.ts +146 -0
  323. package/dist/gradients/performance.d.ts.map +1 -0
  324. package/dist/gradients/performance.js +237 -0
  325. package/dist/gradients/performance.js.map +1 -0
  326. package/dist/gradients/presets.cjs +2 -0
  327. package/dist/gradients/presets.cjs.map +1 -0
  328. package/dist/gradients/presets.d.ts +165 -0
  329. package/dist/gradients/presets.d.ts.map +1 -0
  330. package/dist/gradients/presets.js +254 -0
  331. package/dist/gradients/presets.js.map +1 -0
  332. package/dist/gradients/reactive.cjs +2 -0
  333. package/dist/gradients/reactive.cjs.map +1 -0
  334. package/dist/gradients/reactive.d.ts +167 -0
  335. package/dist/gradients/reactive.d.ts.map +1 -0
  336. package/dist/gradients/reactive.js +239 -0
  337. package/dist/gradients/reactive.js.map +1 -0
  338. package/dist/gradients/state-gradient-asset.cjs +2 -0
  339. package/dist/gradients/state-gradient-asset.cjs.map +1 -0
  340. package/dist/gradients/state-gradient-asset.d.ts +67 -0
  341. package/dist/gradients/state-gradient-asset.d.ts.map +1 -0
  342. package/dist/gradients/state-gradient-asset.js +111 -0
  343. package/dist/gradients/state-gradient-asset.js.map +1 -0
  344. package/dist/gradients/types.d.ts +94 -0
  345. package/dist/gradients/types.d.ts.map +1 -0
  346. package/dist/gradients/utils.cjs +2 -0
  347. package/dist/gradients/utils.cjs.map +1 -0
  348. package/dist/gradients/utils.d.ts +313 -0
  349. package/dist/gradients/utils.d.ts.map +1 -0
  350. package/dist/gradients/utils.js +385 -0
  351. package/dist/gradients/utils.js.map +1 -0
  352. package/dist/gradients/validation.cjs +2 -0
  353. package/dist/gradients/validation.cjs.map +1 -0
  354. package/dist/gradients/validation.d.ts +156 -0
  355. package/dist/gradients/validation.d.ts.map +1 -0
  356. package/dist/gradients/validation.js +209 -0
  357. package/dist/gradients/validation.js.map +1 -0
  358. package/dist/index.cjs +2 -0
  359. package/dist/index.cjs.map +1 -0
  360. package/dist/index.d.ts +26 -0
  361. package/dist/index.d.ts.map +1 -0
  362. package/dist/index.js +965 -0
  363. package/dist/index.js.map +1 -0
  364. package/dist/index2.cjs +2 -0
  365. package/dist/index2.cjs.map +1 -0
  366. package/dist/index2.js +293 -0
  367. package/dist/index2.js.map +1 -0
  368. package/dist/lifecycle/hooks.cjs +2 -0
  369. package/dist/lifecycle/hooks.cjs.map +1 -0
  370. package/dist/lifecycle/hooks.d.ts +101 -0
  371. package/dist/lifecycle/hooks.d.ts.map +1 -0
  372. package/dist/lifecycle/hooks.js +159 -0
  373. package/dist/lifecycle/hooks.js.map +1 -0
  374. package/dist/minimal-prod.cjs +2 -0
  375. package/dist/minimal-prod.cjs.map +1 -0
  376. package/dist/minimal-prod.js +193 -0
  377. package/dist/minimal-prod.js.map +1 -0
  378. package/dist/minimal.cjs +2 -0
  379. package/dist/minimal.cjs.map +1 -0
  380. package/dist/minimal.js +968 -0
  381. package/dist/minimal.js.map +1 -0
  382. package/dist/modifiers/as-html-validator.cjs +2 -0
  383. package/dist/modifiers/as-html-validator.cjs.map +1 -0
  384. package/dist/modifiers/as-html-validator.d.ts +20 -0
  385. package/dist/modifiers/as-html-validator.d.ts.map +1 -0
  386. package/dist/modifiers/as-html-validator.js +47 -0
  387. package/dist/modifiers/as-html-validator.js.map +1 -0
  388. package/dist/modifiers/as-html.cjs +2 -0
  389. package/dist/modifiers/as-html.cjs.map +1 -0
  390. package/dist/modifiers/as-html.d.ts +65 -0
  391. package/dist/modifiers/as-html.d.ts.map +1 -0
  392. package/dist/modifiers/as-html.js +71 -0
  393. package/dist/modifiers/as-html.js.map +1 -0
  394. package/dist/modifiers/attributes.cjs +2 -0
  395. package/dist/modifiers/attributes.cjs.map +1 -0
  396. package/dist/modifiers/attributes.d.ts +203 -0
  397. package/dist/modifiers/attributes.d.ts.map +1 -0
  398. package/dist/modifiers/attributes.js +272 -0
  399. package/dist/modifiers/attributes.js.map +1 -0
  400. package/dist/modifiers/backdrop.cjs +2 -0
  401. package/dist/modifiers/backdrop.cjs.map +1 -0
  402. package/dist/modifiers/backdrop.d.ts +59 -0
  403. package/dist/modifiers/backdrop.d.ts.map +1 -0
  404. package/dist/modifiers/backdrop.js +109 -0
  405. package/dist/modifiers/backdrop.js.map +1 -0
  406. package/dist/modifiers/background.cjs +2 -0
  407. package/dist/modifiers/background.cjs.map +1 -0
  408. package/dist/modifiers/background.d.ts +21 -0
  409. package/dist/modifiers/background.d.ts.map +1 -0
  410. package/dist/modifiers/background.js +67 -0
  411. package/dist/modifiers/background.js.map +1 -0
  412. package/dist/modifiers/base.cjs +25 -0
  413. package/dist/modifiers/base.cjs.map +1 -0
  414. package/dist/modifiers/base.d.ts +156 -0
  415. package/dist/modifiers/base.d.ts.map +1 -0
  416. package/dist/modifiers/base.js +745 -0
  417. package/dist/modifiers/base.js.map +1 -0
  418. package/dist/modifiers/basic-sanitizer.cjs +2 -0
  419. package/dist/modifiers/basic-sanitizer.cjs.map +1 -0
  420. package/dist/modifiers/basic-sanitizer.d.ts +54 -0
  421. package/dist/modifiers/basic-sanitizer.d.ts.map +1 -0
  422. package/dist/modifiers/basic-sanitizer.js +162 -0
  423. package/dist/modifiers/basic-sanitizer.js.map +1 -0
  424. package/dist/modifiers/border.cjs +2 -0
  425. package/dist/modifiers/border.cjs.map +1 -0
  426. package/dist/modifiers/border.d.ts +217 -0
  427. package/dist/modifiers/border.d.ts.map +1 -0
  428. package/dist/modifiers/border.js +160 -0
  429. package/dist/modifiers/border.js.map +1 -0
  430. package/dist/modifiers/builder.cjs +2 -0
  431. package/dist/modifiers/builder.cjs.map +1 -0
  432. package/dist/modifiers/builder.d.ts +377 -0
  433. package/dist/modifiers/builder.d.ts.map +1 -0
  434. package/dist/modifiers/builder.js +930 -0
  435. package/dist/modifiers/builder.js.map +1 -0
  436. package/dist/modifiers/core.cjs +2 -0
  437. package/dist/modifiers/core.cjs.map +1 -0
  438. package/dist/modifiers/core.d.ts +407 -0
  439. package/dist/modifiers/core.d.ts.map +1 -0
  440. package/dist/modifiers/core.js +398 -0
  441. package/dist/modifiers/core.js.map +1 -0
  442. package/dist/modifiers/css.cjs +2 -0
  443. package/dist/modifiers/css.cjs.map +1 -0
  444. package/dist/modifiers/css.d.ts +86 -0
  445. package/dist/modifiers/css.d.ts.map +1 -0
  446. package/dist/modifiers/css.js +50 -0
  447. package/dist/modifiers/css.js.map +1 -0
  448. package/dist/modifiers/effects.cjs +2 -0
  449. package/dist/modifiers/effects.cjs.map +1 -0
  450. package/dist/modifiers/effects.d.ts +159 -0
  451. package/dist/modifiers/effects.d.ts.map +1 -0
  452. package/dist/modifiers/effects.js +178 -0
  453. package/dist/modifiers/effects.js.map +1 -0
  454. package/dist/modifiers/elements.cjs +2 -0
  455. package/dist/modifiers/elements.cjs.map +1 -0
  456. package/dist/modifiers/elements.d.ts +240 -0
  457. package/dist/modifiers/elements.d.ts.map +1 -0
  458. package/dist/modifiers/elements.js +216 -0
  459. package/dist/modifiers/elements.js.map +1 -0
  460. package/dist/modifiers/filters.cjs +2 -0
  461. package/dist/modifiers/filters.cjs.map +1 -0
  462. package/dist/modifiers/filters.d.ts +275 -0
  463. package/dist/modifiers/filters.d.ts.map +1 -0
  464. package/dist/modifiers/filters.js +223 -0
  465. package/dist/modifiers/filters.js.map +1 -0
  466. package/dist/modifiers/flexbox.cjs +2 -0
  467. package/dist/modifiers/flexbox.cjs.map +1 -0
  468. package/dist/modifiers/flexbox.d.ts +82 -0
  469. package/dist/modifiers/flexbox.d.ts.map +1 -0
  470. package/dist/modifiers/flexbox.js +56 -0
  471. package/dist/modifiers/flexbox.js.map +1 -0
  472. package/dist/modifiers/font.cjs +2 -0
  473. package/dist/modifiers/font.cjs.map +1 -0
  474. package/dist/modifiers/font.d.ts +71 -0
  475. package/dist/modifiers/font.d.ts.map +1 -0
  476. package/dist/modifiers/font.js +60 -0
  477. package/dist/modifiers/font.js.map +1 -0
  478. package/dist/modifiers/grid.cjs +2 -0
  479. package/dist/modifiers/grid.cjs.map +1 -0
  480. package/dist/modifiers/grid.d.ts +92 -0
  481. package/dist/modifiers/grid.d.ts.map +1 -0
  482. package/dist/modifiers/grid.js +92 -0
  483. package/dist/modifiers/grid.js.map +1 -0
  484. package/dist/modifiers/index.d.ts +58 -0
  485. package/dist/modifiers/index.d.ts.map +1 -0
  486. package/dist/modifiers/margin.cjs +2 -0
  487. package/dist/modifiers/margin.cjs.map +1 -0
  488. package/dist/modifiers/margin.d.ts +128 -0
  489. package/dist/modifiers/margin.d.ts.map +1 -0
  490. package/dist/modifiers/margin.js +65 -0
  491. package/dist/modifiers/margin.js.map +1 -0
  492. package/dist/modifiers/padding.cjs +2 -0
  493. package/dist/modifiers/padding.cjs.map +1 -0
  494. package/dist/modifiers/padding.d.ts +204 -0
  495. package/dist/modifiers/padding.d.ts.map +1 -0
  496. package/dist/modifiers/padding.js +109 -0
  497. package/dist/modifiers/padding.js.map +1 -0
  498. package/dist/modifiers/registry.cjs +2 -0
  499. package/dist/modifiers/registry.cjs.map +1 -0
  500. package/dist/modifiers/registry.d.ts +69 -0
  501. package/dist/modifiers/registry.d.ts.map +1 -0
  502. package/dist/modifiers/registry.js +163 -0
  503. package/dist/modifiers/registry.js.map +1 -0
  504. package/dist/modifiers/responsive/advanced-utilities.cjs +2 -0
  505. package/dist/modifiers/responsive/advanced-utilities.cjs.map +1 -0
  506. package/dist/modifiers/responsive/advanced-utilities.d.ts +118 -0
  507. package/dist/modifiers/responsive/advanced-utilities.d.ts.map +1 -0
  508. package/dist/modifiers/responsive/advanced-utilities.js +291 -0
  509. package/dist/modifiers/responsive/advanced-utilities.js.map +1 -0
  510. package/dist/modifiers/responsive/breakpoints.cjs +2 -0
  511. package/dist/modifiers/responsive/breakpoints.cjs.map +1 -0
  512. package/dist/modifiers/responsive/breakpoints.d.ts +81 -0
  513. package/dist/modifiers/responsive/breakpoints.d.ts.map +1 -0
  514. package/dist/modifiers/responsive/breakpoints.js +168 -0
  515. package/dist/modifiers/responsive/breakpoints.js.map +1 -0
  516. package/dist/modifiers/responsive/css-generator.cjs +5 -0
  517. package/dist/modifiers/responsive/css-generator.cjs.map +1 -0
  518. package/dist/modifiers/responsive/css-generator.d.ts +100 -0
  519. package/dist/modifiers/responsive/css-generator.d.ts.map +1 -0
  520. package/dist/modifiers/responsive/css-generator.js +261 -0
  521. package/dist/modifiers/responsive/css-generator.js.map +1 -0
  522. package/dist/modifiers/responsive/dev-tools.cjs +77 -0
  523. package/dist/modifiers/responsive/dev-tools.cjs.map +1 -0
  524. package/dist/modifiers/responsive/dev-tools.d.ts +107 -0
  525. package/dist/modifiers/responsive/dev-tools.d.ts.map +1 -0
  526. package/dist/modifiers/responsive/dev-tools.js +380 -0
  527. package/dist/modifiers/responsive/dev-tools.js.map +1 -0
  528. package/dist/modifiers/responsive/index.d.ts +28 -0
  529. package/dist/modifiers/responsive/index.d.ts.map +1 -0
  530. package/dist/modifiers/responsive/layout-patterns.cjs +2 -0
  531. package/dist/modifiers/responsive/layout-patterns.cjs.map +1 -0
  532. package/dist/modifiers/responsive/layout-patterns.d.ts +230 -0
  533. package/dist/modifiers/responsive/layout-patterns.d.ts.map +1 -0
  534. package/dist/modifiers/responsive/layout-patterns.js +254 -0
  535. package/dist/modifiers/responsive/layout-patterns.js.map +1 -0
  536. package/dist/modifiers/responsive/performance.cjs +3 -0
  537. package/dist/modifiers/responsive/performance.cjs.map +1 -0
  538. package/dist/modifiers/responsive/performance.d.ts +130 -0
  539. package/dist/modifiers/responsive/performance.d.ts.map +1 -0
  540. package/dist/modifiers/responsive/performance.js +212 -0
  541. package/dist/modifiers/responsive/performance.js.map +1 -0
  542. package/dist/modifiers/responsive/responsive-builder.cjs +2 -0
  543. package/dist/modifiers/responsive/responsive-builder.cjs.map +1 -0
  544. package/dist/modifiers/responsive/responsive-builder.d.ts +133 -0
  545. package/dist/modifiers/responsive/responsive-builder.d.ts.map +1 -0
  546. package/dist/modifiers/responsive/responsive-builder.js +272 -0
  547. package/dist/modifiers/responsive/responsive-builder.js.map +1 -0
  548. package/dist/modifiers/responsive/responsive-modifier.cjs +3 -0
  549. package/dist/modifiers/responsive/responsive-modifier.cjs.map +1 -0
  550. package/dist/modifiers/responsive/responsive-modifier.d.ts +123 -0
  551. package/dist/modifiers/responsive/responsive-modifier.d.ts.map +1 -0
  552. package/dist/modifiers/responsive/responsive-modifier.js +204 -0
  553. package/dist/modifiers/responsive/responsive-modifier.js.map +1 -0
  554. package/dist/modifiers/responsive/types.cjs +2 -0
  555. package/dist/modifiers/responsive/types.cjs.map +1 -0
  556. package/dist/modifiers/responsive/types.d.ts +183 -0
  557. package/dist/modifiers/responsive/types.d.ts.map +1 -0
  558. package/dist/modifiers/responsive/types.js +26 -0
  559. package/dist/modifiers/responsive/types.js.map +1 -0
  560. package/dist/modifiers/responsive/utilities.cjs +16 -0
  561. package/dist/modifiers/responsive/utilities.cjs.map +1 -0
  562. package/dist/modifiers/responsive/utilities.d.ts +149 -0
  563. package/dist/modifiers/responsive/utilities.d.ts.map +1 -0
  564. package/dist/modifiers/responsive/utilities.js +273 -0
  565. package/dist/modifiers/responsive/utilities.js.map +1 -0
  566. package/dist/modifiers/scroll.cjs +2 -0
  567. package/dist/modifiers/scroll.cjs.map +1 -0
  568. package/dist/modifiers/scroll.d.ts +143 -0
  569. package/dist/modifiers/scroll.d.ts.map +1 -0
  570. package/dist/modifiers/scroll.js +82 -0
  571. package/dist/modifiers/scroll.js.map +1 -0
  572. package/dist/modifiers/shadows.cjs +2 -0
  573. package/dist/modifiers/shadows.cjs.map +1 -0
  574. package/dist/modifiers/shadows.d.ts +114 -0
  575. package/dist/modifiers/shadows.d.ts.map +1 -0
  576. package/dist/modifiers/shadows.js +147 -0
  577. package/dist/modifiers/shadows.js.map +1 -0
  578. package/dist/modifiers/size.cjs +2 -0
  579. package/dist/modifiers/size.cjs.map +1 -0
  580. package/dist/modifiers/size.d.ts +113 -0
  581. package/dist/modifiers/size.d.ts.map +1 -0
  582. package/dist/modifiers/size.js +74 -0
  583. package/dist/modifiers/size.js.map +1 -0
  584. package/dist/modifiers/text.cjs +2 -0
  585. package/dist/modifiers/text.cjs.map +1 -0
  586. package/dist/modifiers/text.d.ts +147 -0
  587. package/dist/modifiers/text.d.ts.map +1 -0
  588. package/dist/modifiers/text.js +166 -0
  589. package/dist/modifiers/text.js.map +1 -0
  590. package/dist/modifiers/transformations.cjs +2 -0
  591. package/dist/modifiers/transformations.cjs.map +1 -0
  592. package/dist/modifiers/transformations.d.ts +329 -0
  593. package/dist/modifiers/transformations.d.ts.map +1 -0
  594. package/dist/modifiers/transformations.js +216 -0
  595. package/dist/modifiers/transformations.js.map +1 -0
  596. package/dist/modifiers/transitions.cjs +2 -0
  597. package/dist/modifiers/transitions.cjs.map +1 -0
  598. package/dist/modifiers/transitions.d.ts +98 -0
  599. package/dist/modifiers/transitions.d.ts.map +1 -0
  600. package/dist/modifiers/transitions.js +102 -0
  601. package/dist/modifiers/transitions.js.map +1 -0
  602. package/dist/modifiers/types.cjs +2 -0
  603. package/dist/modifiers/types.cjs.map +1 -0
  604. package/dist/modifiers/types.d.ts +655 -0
  605. package/dist/modifiers/types.d.ts.map +1 -0
  606. package/dist/modifiers/types.js +5 -0
  607. package/dist/modifiers/types.js.map +1 -0
  608. package/dist/modifiers/typography.cjs +2 -0
  609. package/dist/modifiers/typography.cjs.map +1 -0
  610. package/dist/modifiers/typography.d.ts +192 -0
  611. package/dist/modifiers/typography.d.ts.map +1 -0
  612. package/dist/modifiers/typography.js +76 -0
  613. package/dist/modifiers/typography.js.map +1 -0
  614. package/dist/modifiers/utility.cjs +2 -0
  615. package/dist/modifiers/utility.cjs.map +1 -0
  616. package/dist/modifiers/utility.d.ts +69 -0
  617. package/dist/modifiers/utility.d.ts.map +1 -0
  618. package/dist/modifiers/utility.js +71 -0
  619. package/dist/modifiers/utility.js.map +1 -0
  620. package/dist/modifiers/utils.cjs +2 -0
  621. package/dist/modifiers/utils.cjs.map +1 -0
  622. package/dist/modifiers/utils.d.ts +75 -0
  623. package/dist/modifiers/utils.d.ts.map +1 -0
  624. package/dist/modifiers/utils.js +250 -0
  625. package/dist/modifiers/utils.js.map +1 -0
  626. package/dist/plugins/component-loader-registry.d.ts +143 -0
  627. package/dist/plugins/component-loader-registry.d.ts.map +1 -0
  628. package/dist/plugins/index.cjs +2 -0
  629. package/dist/plugins/index.cjs.map +1 -0
  630. package/dist/plugins/index.d.ts +17 -0
  631. package/dist/plugins/index.d.ts.map +1 -0
  632. package/dist/plugins/index.js +34 -0
  633. package/dist/plugins/index.js.map +1 -0
  634. package/dist/plugins/legacy-adapter.cjs +2 -0
  635. package/dist/plugins/legacy-adapter.cjs.map +1 -0
  636. package/dist/plugins/legacy-adapter.d.ts +35 -0
  637. package/dist/plugins/legacy-adapter.d.ts.map +1 -0
  638. package/dist/plugins/legacy-adapter.js +30 -0
  639. package/dist/plugins/legacy-adapter.js.map +1 -0
  640. package/dist/plugins/simplified-component-registry.cjs +2 -0
  641. package/dist/plugins/simplified-component-registry.cjs.map +1 -0
  642. package/dist/plugins/simplified-component-registry.d.ts +40 -0
  643. package/dist/plugins/simplified-component-registry.d.ts.map +1 -0
  644. package/dist/plugins/simplified-component-registry.js +71 -0
  645. package/dist/plugins/simplified-component-registry.js.map +1 -0
  646. package/dist/plugins/simplified-error-handler.cjs +2 -0
  647. package/dist/plugins/simplified-error-handler.cjs.map +1 -0
  648. package/dist/plugins/simplified-error-handler.d.ts +83 -0
  649. package/dist/plugins/simplified-error-handler.d.ts.map +1 -0
  650. package/dist/plugins/simplified-error-handler.js +154 -0
  651. package/dist/plugins/simplified-error-handler.js.map +1 -0
  652. package/dist/plugins/simplified-index.d.ts +17 -0
  653. package/dist/plugins/simplified-index.d.ts.map +1 -0
  654. package/dist/plugins/simplified-lazy-loader.cjs +2 -0
  655. package/dist/plugins/simplified-lazy-loader.cjs.map +1 -0
  656. package/dist/plugins/simplified-lazy-loader.d.ts +65 -0
  657. package/dist/plugins/simplified-lazy-loader.d.ts.map +1 -0
  658. package/dist/plugins/simplified-lazy-loader.js +129 -0
  659. package/dist/plugins/simplified-lazy-loader.js.map +1 -0
  660. package/dist/plugins/simplified-plugin-manager.cjs +2 -0
  661. package/dist/plugins/simplified-plugin-manager.cjs.map +1 -0
  662. package/dist/plugins/simplified-plugin-manager.d.ts +24 -0
  663. package/dist/plugins/simplified-plugin-manager.d.ts.map +1 -0
  664. package/dist/plugins/simplified-plugin-manager.js +51 -0
  665. package/dist/plugins/simplified-plugin-manager.js.map +1 -0
  666. package/dist/plugins/simplified-tachui-instance.cjs +2 -0
  667. package/dist/plugins/simplified-tachui-instance.cjs.map +1 -0
  668. package/dist/plugins/simplified-tachui-instance.d.ts +54 -0
  669. package/dist/plugins/simplified-tachui-instance.d.ts.map +1 -0
  670. package/dist/plugins/simplified-tachui-instance.js +88 -0
  671. package/dist/plugins/simplified-tachui-instance.js.map +1 -0
  672. package/dist/plugins/simplified-types.cjs +2 -0
  673. package/dist/plugins/simplified-types.cjs.map +1 -0
  674. package/dist/plugins/simplified-types.d.ts +63 -0
  675. package/dist/plugins/simplified-types.d.ts.map +1 -0
  676. package/dist/plugins/simplified-types.js +9 -0
  677. package/dist/plugins/simplified-types.js.map +1 -0
  678. package/dist/plugins/simplified-utils.cjs +2 -0
  679. package/dist/plugins/simplified-utils.cjs.map +1 -0
  680. package/dist/plugins/simplified-utils.d.ts +39 -0
  681. package/dist/plugins/simplified-utils.d.ts.map +1 -0
  682. package/dist/plugins/simplified-utils.js +40 -0
  683. package/dist/plugins/simplified-utils.js.map +1 -0
  684. package/dist/reactive/cleanup.cjs +2 -0
  685. package/dist/reactive/cleanup.cjs.map +1 -0
  686. package/dist/reactive/cleanup.d.ts +115 -0
  687. package/dist/reactive/cleanup.d.ts.map +1 -0
  688. package/dist/reactive/cleanup.js +62 -0
  689. package/dist/reactive/cleanup.js.map +1 -0
  690. package/dist/reactive/computed.cjs +2 -0
  691. package/dist/reactive/computed.cjs.map +1 -0
  692. package/dist/reactive/computed.d.ts +115 -0
  693. package/dist/reactive/computed.d.ts.map +1 -0
  694. package/dist/reactive/computed.js +121 -0
  695. package/dist/reactive/computed.js.map +1 -0
  696. package/dist/reactive/context.cjs +2 -0
  697. package/dist/reactive/context.cjs.map +1 -0
  698. package/dist/reactive/context.d.ts +82 -0
  699. package/dist/reactive/context.d.ts.map +1 -0
  700. package/dist/reactive/context.js +143 -0
  701. package/dist/reactive/context.js.map +1 -0
  702. package/dist/reactive/effect.cjs +2 -0
  703. package/dist/reactive/effect.cjs.map +1 -0
  704. package/dist/reactive/effect.d.ts +79 -0
  705. package/dist/reactive/effect.d.ts.map +1 -0
  706. package/dist/reactive/effect.js +67 -0
  707. package/dist/reactive/effect.js.map +1 -0
  708. package/dist/reactive/enhanced-effect.cjs +2 -0
  709. package/dist/reactive/enhanced-effect.cjs.map +1 -0
  710. package/dist/reactive/enhanced-effect.d.ts +108 -0
  711. package/dist/reactive/enhanced-effect.d.ts.map +1 -0
  712. package/dist/reactive/enhanced-effect.js +153 -0
  713. package/dist/reactive/enhanced-effect.js.map +1 -0
  714. package/dist/reactive/enhanced-signal.cjs +2 -0
  715. package/dist/reactive/enhanced-signal.cjs.map +1 -0
  716. package/dist/reactive/enhanced-signal.d.ts +91 -0
  717. package/dist/reactive/enhanced-signal.d.ts.map +1 -0
  718. package/dist/reactive/enhanced-signal.js +117 -0
  719. package/dist/reactive/enhanced-signal.js.map +1 -0
  720. package/dist/reactive/equality.cjs +2 -0
  721. package/dist/reactive/equality.cjs.map +1 -0
  722. package/dist/reactive/equality.d.ts +51 -0
  723. package/dist/reactive/equality.d.ts.map +1 -0
  724. package/dist/reactive/equality.js +66 -0
  725. package/dist/reactive/equality.js.map +1 -0
  726. package/dist/reactive/index.cjs +2 -0
  727. package/dist/reactive/index.cjs.map +1 -0
  728. package/dist/reactive/index.d.ts +21 -0
  729. package/dist/reactive/index.d.ts.map +1 -0
  730. package/dist/reactive/index.js +95 -0
  731. package/dist/reactive/index.js.map +1 -0
  732. package/dist/reactive/migration.cjs +18 -0
  733. package/dist/reactive/migration.cjs.map +1 -0
  734. package/dist/reactive/migration.d.ts +104 -0
  735. package/dist/reactive/migration.d.ts.map +1 -0
  736. package/dist/reactive/migration.js +164 -0
  737. package/dist/reactive/migration.js.map +1 -0
  738. package/dist/reactive/ownership.cjs +2 -0
  739. package/dist/reactive/ownership.cjs.map +1 -0
  740. package/dist/reactive/ownership.d.ts +75 -0
  741. package/dist/reactive/ownership.d.ts.map +1 -0
  742. package/dist/reactive/ownership.js +34 -0
  743. package/dist/reactive/ownership.js.map +1 -0
  744. package/dist/reactive/scheduler.cjs +2 -0
  745. package/dist/reactive/scheduler.cjs.map +1 -0
  746. package/dist/reactive/scheduler.d.ts +56 -0
  747. package/dist/reactive/scheduler.d.ts.map +1 -0
  748. package/dist/reactive/scheduler.js +111 -0
  749. package/dist/reactive/scheduler.js.map +1 -0
  750. package/dist/reactive/signal.cjs +2 -0
  751. package/dist/reactive/signal.cjs.map +1 -0
  752. package/dist/reactive/signal.d.ts +82 -0
  753. package/dist/reactive/signal.d.ts.map +1 -0
  754. package/dist/reactive/signal.js +96 -0
  755. package/dist/reactive/signal.js.map +1 -0
  756. package/dist/reactive/theme.cjs +2 -0
  757. package/dist/reactive/theme.cjs.map +1 -0
  758. package/dist/reactive/theme.d.ts +12 -0
  759. package/dist/reactive/theme.d.ts.map +1 -0
  760. package/dist/reactive/theme.js +27 -0
  761. package/dist/reactive/theme.js.map +1 -0
  762. package/dist/reactive/types.cjs +2 -0
  763. package/dist/reactive/types.cjs.map +1 -0
  764. package/dist/reactive/types.d.ts +93 -0
  765. package/dist/reactive/types.d.ts.map +1 -0
  766. package/dist/reactive/types.js +5 -0
  767. package/dist/reactive/types.js.map +1 -0
  768. package/dist/reactive/unified-scheduler.cjs +2 -0
  769. package/dist/reactive/unified-scheduler.cjs.map +1 -0
  770. package/dist/reactive/unified-scheduler.d.ts +112 -0
  771. package/dist/reactive/unified-scheduler.d.ts.map +1 -0
  772. package/dist/reactive/unified-scheduler.js +219 -0
  773. package/dist/reactive/unified-scheduler.js.map +1 -0
  774. package/dist/runtime/component-context.cjs +2 -0
  775. package/dist/runtime/component-context.cjs.map +1 -0
  776. package/dist/runtime/component-context.d.ts +73 -0
  777. package/dist/runtime/component-context.d.ts.map +1 -0
  778. package/dist/runtime/component-context.js +177 -0
  779. package/dist/runtime/component-context.js.map +1 -0
  780. package/dist/runtime/component.cjs +2 -0
  781. package/dist/runtime/component.cjs.map +1 -0
  782. package/dist/runtime/component.d.ts +112 -0
  783. package/dist/runtime/component.d.ts.map +1 -0
  784. package/dist/runtime/component.js +238 -0
  785. package/dist/runtime/component.js.map +1 -0
  786. package/dist/runtime/context.cjs +2 -0
  787. package/dist/runtime/context.cjs.map +1 -0
  788. package/dist/runtime/context.d.ts +138 -0
  789. package/dist/runtime/context.d.ts.map +1 -0
  790. package/dist/runtime/context.js +289 -0
  791. package/dist/runtime/context.js.map +1 -0
  792. package/dist/runtime/dev-tools.cjs +2 -0
  793. package/dist/runtime/dev-tools.cjs.map +1 -0
  794. package/dist/runtime/dev-tools.d.ts +240 -0
  795. package/dist/runtime/dev-tools.d.ts.map +1 -0
  796. package/dist/runtime/dev-tools.js +391 -0
  797. package/dist/runtime/dev-tools.js.map +1 -0
  798. package/dist/runtime/development-warnings.cjs +2 -0
  799. package/dist/runtime/development-warnings.cjs.map +1 -0
  800. package/dist/runtime/development-warnings.d.ts +42 -0
  801. package/dist/runtime/development-warnings.d.ts.map +1 -0
  802. package/dist/runtime/development-warnings.js +69 -0
  803. package/dist/runtime/development-warnings.js.map +1 -0
  804. package/dist/runtime/dom-bridge.cjs +2 -0
  805. package/dist/runtime/dom-bridge.cjs.map +1 -0
  806. package/dist/runtime/dom-bridge.d.ts +70 -0
  807. package/dist/runtime/dom-bridge.d.ts.map +1 -0
  808. package/dist/runtime/dom-bridge.js +241 -0
  809. package/dist/runtime/dom-bridge.js.map +1 -0
  810. package/dist/runtime/element-override.cjs +2 -0
  811. package/dist/runtime/element-override.cjs.map +1 -0
  812. package/dist/runtime/element-override.d.ts +82 -0
  813. package/dist/runtime/element-override.d.ts.map +1 -0
  814. package/dist/runtime/element-override.js +214 -0
  815. package/dist/runtime/element-override.js.map +1 -0
  816. package/dist/runtime/error-boundary.cjs +2 -0
  817. package/dist/runtime/error-boundary.cjs.map +1 -0
  818. package/dist/runtime/error-boundary.d.ts +302 -0
  819. package/dist/runtime/error-boundary.d.ts.map +1 -0
  820. package/dist/runtime/error-boundary.js +559 -0
  821. package/dist/runtime/error-boundary.js.map +1 -0
  822. package/dist/runtime/error-recovery.cjs +2 -0
  823. package/dist/runtime/error-recovery.cjs.map +1 -0
  824. package/dist/runtime/error-recovery.d.ts +267 -0
  825. package/dist/runtime/error-recovery.d.ts.map +1 -0
  826. package/dist/runtime/error-recovery.js +385 -0
  827. package/dist/runtime/error-recovery.js.map +1 -0
  828. package/dist/runtime/error-reporting.cjs +3 -0
  829. package/dist/runtime/error-reporting.cjs.map +1 -0
  830. package/dist/runtime/error-reporting.d.ts +287 -0
  831. package/dist/runtime/error-reporting.d.ts.map +1 -0
  832. package/dist/runtime/error-reporting.js +479 -0
  833. package/dist/runtime/error-reporting.js.map +1 -0
  834. package/dist/runtime/error-utils.cjs +3 -0
  835. package/dist/runtime/error-utils.cjs.map +1 -0
  836. package/dist/runtime/error-utils.d.ts +204 -0
  837. package/dist/runtime/error-utils.d.ts.map +1 -0
  838. package/dist/runtime/error-utils.js +352 -0
  839. package/dist/runtime/error-utils.js.map +1 -0
  840. package/dist/runtime/index.d.ts +29 -0
  841. package/dist/runtime/index.d.ts.map +1 -0
  842. package/dist/runtime/lazy-component.cjs +2 -0
  843. package/dist/runtime/lazy-component.cjs.map +1 -0
  844. package/dist/runtime/lazy-component.d.ts +58 -0
  845. package/dist/runtime/lazy-component.d.ts.map +1 -0
  846. package/dist/runtime/lazy-component.js +129 -0
  847. package/dist/runtime/lazy-component.js.map +1 -0
  848. package/dist/runtime/lifecycle.cjs +2 -0
  849. package/dist/runtime/lifecycle.cjs.map +1 -0
  850. package/dist/runtime/lifecycle.d.ts +8 -0
  851. package/dist/runtime/lifecycle.d.ts.map +1 -0
  852. package/dist/runtime/lifecycle.js +7 -0
  853. package/dist/runtime/lifecycle.js.map +1 -0
  854. package/dist/runtime/mounting.cjs +2 -0
  855. package/dist/runtime/mounting.cjs.map +1 -0
  856. package/dist/runtime/mounting.d.ts +9 -0
  857. package/dist/runtime/mounting.d.ts.map +1 -0
  858. package/dist/runtime/mounting.js +12 -0
  859. package/dist/runtime/mounting.js.map +1 -0
  860. package/dist/runtime/optimization.cjs +2 -0
  861. package/dist/runtime/optimization.cjs.map +1 -0
  862. package/dist/runtime/optimization.d.ts +8 -0
  863. package/dist/runtime/optimization.d.ts.map +1 -0
  864. package/dist/runtime/optimization.js +6 -0
  865. package/dist/runtime/optimization.js.map +1 -0
  866. package/dist/runtime/performance.cjs +2 -0
  867. package/dist/runtime/performance.cjs.map +1 -0
  868. package/dist/runtime/performance.d.ts +217 -0
  869. package/dist/runtime/performance.d.ts.map +1 -0
  870. package/dist/runtime/performance.js +399 -0
  871. package/dist/runtime/performance.js.map +1 -0
  872. package/dist/runtime/props.cjs +2 -0
  873. package/dist/runtime/props.cjs.map +1 -0
  874. package/dist/runtime/props.d.ts +154 -0
  875. package/dist/runtime/props.d.ts.map +1 -0
  876. package/dist/runtime/props.js +265 -0
  877. package/dist/runtime/props.js.map +1 -0
  878. package/dist/runtime/refs.d.ts +8 -0
  879. package/dist/runtime/refs.d.ts.map +1 -0
  880. package/dist/runtime/renderer.cjs +2 -0
  881. package/dist/runtime/renderer.cjs.map +1 -0
  882. package/dist/runtime/renderer.d.ts +116 -0
  883. package/dist/runtime/renderer.d.ts.map +1 -0
  884. package/dist/runtime/renderer.js +390 -0
  885. package/dist/runtime/renderer.js.map +1 -0
  886. package/dist/runtime/semantic-role-manager.cjs +2 -0
  887. package/dist/runtime/semantic-role-manager.cjs.map +1 -0
  888. package/dist/runtime/semantic-role-manager.d.ts +37 -0
  889. package/dist/runtime/semantic-role-manager.d.ts.map +1 -0
  890. package/dist/runtime/semantic-role-manager.js +82 -0
  891. package/dist/runtime/semantic-role-manager.js.map +1 -0
  892. package/dist/runtime/types.d.ts +230 -0
  893. package/dist/runtime/types.d.ts.map +1 -0
  894. package/dist/state/binding.cjs +2 -0
  895. package/dist/state/binding.cjs.map +1 -0
  896. package/dist/state/binding.d.ts +96 -0
  897. package/dist/state/binding.d.ts.map +1 -0
  898. package/dist/state/binding.js +155 -0
  899. package/dist/state/binding.js.map +1 -0
  900. package/dist/state/environment-object.d.ts +130 -0
  901. package/dist/state/environment-object.d.ts.map +1 -0
  902. package/dist/state/environment.cjs +2 -0
  903. package/dist/state/environment.cjs.map +1 -0
  904. package/dist/state/environment.d.ts +178 -0
  905. package/dist/state/environment.d.ts.map +1 -0
  906. package/dist/state/environment.js +115 -0
  907. package/dist/state/environment.js.map +1 -0
  908. package/dist/state/index.cjs +2 -0
  909. package/dist/state/index.cjs.map +1 -0
  910. package/dist/state/index.d.ts +108 -0
  911. package/dist/state/index.d.ts.map +1 -0
  912. package/dist/state/index.js +63 -0
  913. package/dist/state/index.js.map +1 -0
  914. package/dist/state/observed-object.cjs +2 -0
  915. package/dist/state/observed-object.cjs.map +1 -0
  916. package/dist/state/observed-object.d.ts +126 -0
  917. package/dist/state/observed-object.d.ts.map +1 -0
  918. package/dist/state/observed-object.js +163 -0
  919. package/dist/state/observed-object.js.map +1 -0
  920. package/dist/state/state-manager.cjs +2 -0
  921. package/dist/state/state-manager.cjs.map +1 -0
  922. package/dist/state/state-manager.d.ts +97 -0
  923. package/dist/state/state-manager.d.ts.map +1 -0
  924. package/dist/state/state-manager.js +233 -0
  925. package/dist/state/state-manager.js.map +1 -0
  926. package/dist/state/state.cjs +2 -0
  927. package/dist/state/state.cjs.map +1 -0
  928. package/dist/state/state.d.ts +78 -0
  929. package/dist/state/state.d.ts.map +1 -0
  930. package/dist/state/state.js +159 -0
  931. package/dist/state/state.js.map +1 -0
  932. package/dist/state/types.d.ts +159 -0
  933. package/dist/state/types.d.ts.map +1 -0
  934. package/dist/sui-compat.cjs +2 -0
  935. package/dist/sui-compat.cjs.map +1 -0
  936. package/dist/sui-compat.d.ts +110 -0
  937. package/dist/sui-compat.d.ts.map +1 -0
  938. package/dist/sui-compat.js +88 -0
  939. package/dist/sui-compat.js.map +1 -0
  940. package/dist/validation/advanced-debugging.cjs +44 -0
  941. package/dist/validation/advanced-debugging.cjs.map +1 -0
  942. package/dist/validation/advanced-debugging.d.ts +319 -0
  943. package/dist/validation/advanced-debugging.d.ts.map +1 -0
  944. package/dist/validation/advanced-debugging.js +455 -0
  945. package/dist/validation/advanced-debugging.js.map +1 -0
  946. package/dist/validation/build-time/detection.cjs +2 -0
  947. package/dist/validation/build-time/detection.cjs.map +1 -0
  948. package/dist/validation/build-time/detection.d.ts +32 -0
  949. package/dist/validation/build-time/detection.d.ts.map +1 -0
  950. package/dist/validation/build-time/detection.js +199 -0
  951. package/dist/validation/build-time/detection.js.map +1 -0
  952. package/dist/validation/build-time/index.cjs +2 -0
  953. package/dist/validation/build-time/index.cjs.map +1 -0
  954. package/dist/validation/build-time/index.d.ts +84 -0
  955. package/dist/validation/build-time/index.d.ts.map +1 -0
  956. package/dist/validation/build-time/index.js +122 -0
  957. package/dist/validation/build-time/index.js.map +1 -0
  958. package/dist/validation/build-time/plugins.cjs +3 -0
  959. package/dist/validation/build-time/plugins.cjs.map +1 -0
  960. package/dist/validation/build-time/plugins.d.ts +75 -0
  961. package/dist/validation/build-time/plugins.d.ts.map +1 -0
  962. package/dist/validation/build-time/plugins.js +282 -0
  963. package/dist/validation/build-time/plugins.js.map +1 -0
  964. package/dist/validation/build-time/rules.cjs +2 -0
  965. package/dist/validation/build-time/rules.cjs.map +1 -0
  966. package/dist/validation/build-time/rules.d.ts +73 -0
  967. package/dist/validation/build-time/rules.d.ts.map +1 -0
  968. package/dist/validation/build-time/rules.js +576 -0
  969. package/dist/validation/build-time/rules.js.map +1 -0
  970. package/dist/validation/build-time/transformer.cjs +3 -0
  971. package/dist/validation/build-time/transformer.cjs.map +1 -0
  972. package/dist/validation/build-time/transformer.d.ts +23 -0
  973. package/dist/validation/build-time/transformer.d.ts.map +1 -0
  974. package/dist/validation/build-time/transformer.js +177 -0
  975. package/dist/validation/build-time/transformer.js.map +1 -0
  976. package/dist/validation/build-time/types.d.ts +212 -0
  977. package/dist/validation/build-time/types.d.ts.map +1 -0
  978. package/dist/validation/comprehensive.cjs +9 -0
  979. package/dist/validation/comprehensive.cjs.map +1 -0
  980. package/dist/validation/comprehensive.d.ts +160 -0
  981. package/dist/validation/comprehensive.d.ts.map +1 -0
  982. package/dist/validation/comprehensive.js +916 -0
  983. package/dist/validation/comprehensive.js.map +1 -0
  984. package/dist/validation/debug-tools.cjs +16 -0
  985. package/dist/validation/debug-tools.cjs.map +1 -0
  986. package/dist/validation/debug-tools.d.ts +251 -0
  987. package/dist/validation/debug-tools.d.ts.map +1 -0
  988. package/dist/validation/debug-tools.js +405 -0
  989. package/dist/validation/debug-tools.js.map +1 -0
  990. package/dist/validation/developer-experience.cjs +17 -0
  991. package/dist/validation/developer-experience.cjs.map +1 -0
  992. package/dist/validation/developer-experience.d.ts +243 -0
  993. package/dist/validation/developer-experience.d.ts.map +1 -0
  994. package/dist/validation/developer-experience.js +433 -0
  995. package/dist/validation/developer-experience.js.map +1 -0
  996. package/dist/validation/documentation-integration.cjs +7 -0
  997. package/dist/validation/documentation-integration.cjs.map +1 -0
  998. package/dist/validation/documentation-integration.d.ts +269 -0
  999. package/dist/validation/documentation-integration.d.ts.map +1 -0
  1000. package/dist/validation/documentation-integration.js +440 -0
  1001. package/dist/validation/documentation-integration.js.map +1 -0
  1002. package/dist/validation/enhanced-runtime.cjs +6 -0
  1003. package/dist/validation/enhanced-runtime.cjs.map +1 -0
  1004. package/dist/validation/enhanced-runtime.d.ts +279 -0
  1005. package/dist/validation/enhanced-runtime.d.ts.map +1 -0
  1006. package/dist/validation/enhanced-runtime.js +465 -0
  1007. package/dist/validation/enhanced-runtime.js.map +1 -0
  1008. package/dist/validation/error-reporting.cjs +32 -0
  1009. package/dist/validation/error-reporting.cjs.map +1 -0
  1010. package/dist/validation/error-reporting.d.ts +186 -0
  1011. package/dist/validation/error-reporting.d.ts.map +1 -0
  1012. package/dist/validation/error-reporting.js +370 -0
  1013. package/dist/validation/error-reporting.js.map +1 -0
  1014. package/dist/validation/ide-integration.cjs +85 -0
  1015. package/dist/validation/ide-integration.cjs.map +1 -0
  1016. package/dist/validation/ide-integration.d.ts +328 -0
  1017. package/dist/validation/ide-integration.d.ts.map +1 -0
  1018. package/dist/validation/ide-integration.js +557 -0
  1019. package/dist/validation/ide-integration.js.map +1 -0
  1020. package/dist/validation/index.cjs +6 -0
  1021. package/dist/validation/index.cjs.map +1 -0
  1022. package/dist/validation/index.d.ts +171 -0
  1023. package/dist/validation/index.d.ts.map +1 -0
  1024. package/dist/validation/index.js +309 -0
  1025. package/dist/validation/index.js.map +1 -0
  1026. package/dist/validation/lifecycle-validation.cjs +2 -0
  1027. package/dist/validation/lifecycle-validation.cjs.map +1 -0
  1028. package/dist/validation/lifecycle-validation.d.ts +165 -0
  1029. package/dist/validation/lifecycle-validation.d.ts.map +1 -0
  1030. package/dist/validation/lifecycle-validation.js +314 -0
  1031. package/dist/validation/lifecycle-validation.js.map +1 -0
  1032. package/dist/validation/performance-optimizer.cjs +2 -0
  1033. package/dist/validation/performance-optimizer.cjs.map +1 -0
  1034. package/dist/validation/performance-optimizer.d.ts +218 -0
  1035. package/dist/validation/performance-optimizer.d.ts.map +1 -0
  1036. package/dist/validation/performance-optimizer.js +338 -0
  1037. package/dist/validation/performance-optimizer.js.map +1 -0
  1038. package/dist/validation/plugin-registration.cjs +2 -0
  1039. package/dist/validation/plugin-registration.cjs.map +1 -0
  1040. package/dist/validation/plugin-registration.d.ts +88 -0
  1041. package/dist/validation/plugin-registration.d.ts.map +1 -0
  1042. package/dist/validation/plugin-registration.js +126 -0
  1043. package/dist/validation/plugin-registration.js.map +1 -0
  1044. package/dist/validation/production-bypass.cjs +2 -0
  1045. package/dist/validation/production-bypass.cjs.map +1 -0
  1046. package/dist/validation/production-bypass.d.ts +175 -0
  1047. package/dist/validation/production-bypass.d.ts.map +1 -0
  1048. package/dist/validation/production-bypass.js +218 -0
  1049. package/dist/validation/production-bypass.js.map +1 -0
  1050. package/dist/validation/simple.cjs +9 -0
  1051. package/dist/validation/simple.cjs.map +1 -0
  1052. package/dist/validation/simple.d.ts +111 -0
  1053. package/dist/validation/simple.d.ts.map +1 -0
  1054. package/dist/validation/simple.js +146 -0
  1055. package/dist/validation/simple.js.map +1 -0
  1056. package/dist/viewport/adapters/web-adapter.cjs +70 -0
  1057. package/dist/viewport/adapters/web-adapter.cjs.map +1 -0
  1058. package/dist/viewport/adapters/web-adapter.d.ts +227 -0
  1059. package/dist/viewport/adapters/web-adapter.d.ts.map +1 -0
  1060. package/dist/viewport/adapters/web-adapter.js +823 -0
  1061. package/dist/viewport/adapters/web-adapter.js.map +1 -0
  1062. package/dist/viewport/components.cjs +2 -0
  1063. package/dist/viewport/components.cjs.map +1 -0
  1064. package/dist/viewport/components.d.ts +131 -0
  1065. package/dist/viewport/components.d.ts.map +1 -0
  1066. package/dist/viewport/components.js +298 -0
  1067. package/dist/viewport/components.js.map +1 -0
  1068. package/dist/viewport/environment.cjs +2 -0
  1069. package/dist/viewport/environment.cjs.map +1 -0
  1070. package/dist/viewport/environment.d.ts +75 -0
  1071. package/dist/viewport/environment.d.ts.map +1 -0
  1072. package/dist/viewport/environment.js +86 -0
  1073. package/dist/viewport/environment.js.map +1 -0
  1074. package/dist/viewport/index.cjs +2 -0
  1075. package/dist/viewport/index.cjs.map +1 -0
  1076. package/dist/viewport/index.d.ts +138 -0
  1077. package/dist/viewport/index.d.ts.map +1 -0
  1078. package/dist/viewport/index.js +166 -0
  1079. package/dist/viewport/index.js.map +1 -0
  1080. package/dist/viewport/platform-detection.cjs +2 -0
  1081. package/dist/viewport/platform-detection.cjs.map +1 -0
  1082. package/dist/viewport/platform-detection.d.ts +59 -0
  1083. package/dist/viewport/platform-detection.d.ts.map +1 -0
  1084. package/dist/viewport/platform-detection.js +205 -0
  1085. package/dist/viewport/platform-detection.js.map +1 -0
  1086. package/dist/viewport/types.cjs +2 -0
  1087. package/dist/viewport/types.cjs.map +1 -0
  1088. package/dist/viewport/types.d.ts +301 -0
  1089. package/dist/viewport/types.d.ts.map +1 -0
  1090. package/dist/viewport/types.js +13 -0
  1091. package/dist/viewport/types.js.map +1 -0
  1092. package/dist/viewport/viewport-manager.cjs +2 -0
  1093. package/dist/viewport/viewport-manager.cjs.map +1 -0
  1094. package/dist/viewport/viewport-manager.d.ts +118 -0
  1095. package/dist/viewport/viewport-manager.d.ts.map +1 -0
  1096. package/dist/viewport/viewport-manager.js +524 -0
  1097. package/dist/viewport/viewport-manager.js.map +1 -0
  1098. package/package.json +128 -0
  1099. package/src/assets/Asset.ts +11 -0
  1100. package/src/assets/AssetCollection.ts +99 -0
  1101. package/src/assets/ColorAsset.ts +210 -0
  1102. package/src/assets/FontAsset.ts +380 -0
  1103. package/src/assets/ImageAsset.ts +91 -0
  1104. package/src/assets/README.md +190 -0
  1105. package/src/assets/index.ts +175 -0
  1106. package/src/assets/test-assets.ts +69 -0
  1107. package/src/assets/test-integration.ts +46 -0
  1108. package/src/assets/test-simple.ts +28 -0
  1109. package/src/assets/types.ts +79 -0
  1110. package/src/bundles/common.ts +30 -0
  1111. package/src/bundles/complete.ts +29 -0
  1112. package/src/bundles/essential.ts +26 -0
  1113. package/src/bundles/minimal.ts +26 -0
  1114. package/src/bundles/production-minimal.ts +67 -0
  1115. package/src/compiler/advanced-parser.ts +871 -0
  1116. package/src/compiler/codegen.ts +450 -0
  1117. package/src/compiler/enhanced-codegen.ts +729 -0
  1118. package/src/compiler/index.ts +25 -0
  1119. package/src/compiler/parser.ts +461 -0
  1120. package/src/compiler/plugin.ts +181 -0
  1121. package/src/compiler/types.ts +177 -0
  1122. package/src/components/BasicInput.ts +352 -0
  1123. package/src/components/Button.ts +963 -0
  1124. package/src/components/Divider.ts +341 -0
  1125. package/src/components/EnhancedLink.ts +676 -0
  1126. package/src/components/Form.ts +414 -0
  1127. package/src/components/Grid.ts +2507 -0
  1128. package/src/components/GridResponsive.ts +637 -0
  1129. package/src/components/Image.ts +426 -0
  1130. package/src/components/List.ts +1084 -0
  1131. package/src/components/Menu.ts +807 -0
  1132. package/src/components/Picker.ts +678 -0
  1133. package/src/components/ScrollView.ts +725 -0
  1134. package/src/components/Section.ts +472 -0
  1135. package/src/components/Show.ts +205 -0
  1136. package/src/components/Spacer.ts +93 -0
  1137. package/src/components/Text.ts +447 -0
  1138. package/src/components/Toggle.ts +700 -0
  1139. package/src/components/index.ts +231 -0
  1140. package/src/components/wrapper.ts +828 -0
  1141. package/src/concatenation/concatenatable.ts +211 -0
  1142. package/src/concatenation/concatenated-component.ts +471 -0
  1143. package/src/concatenation/index.ts +41 -0
  1144. package/src/concatenation/styles.css +120 -0
  1145. package/src/concatenation/text-optimizer.ts +440 -0
  1146. package/src/concatenation/types.ts +116 -0
  1147. package/src/constants/README.md +339 -0
  1148. package/src/constants/__tests__/frame-utils.test.ts +276 -0
  1149. package/src/constants/__tests__/layout.test.ts +215 -0
  1150. package/src/constants/frame-utils.ts +174 -0
  1151. package/src/constants/index.ts +8 -0
  1152. package/src/constants/layout.ts +120 -0
  1153. package/src/css-classes/component-base.ts +117 -0
  1154. package/src/css-classes/css-class-manager.ts +372 -0
  1155. package/src/css-classes/dom-integration.ts +162 -0
  1156. package/src/css-classes/enhanced-renderer.ts +166 -0
  1157. package/src/css-classes/index.ts +45 -0
  1158. package/src/css-classes/types.ts +73 -0
  1159. package/src/css-classes/utilities.ts +175 -0
  1160. package/src/debug/index.ts +267 -0
  1161. package/src/developer-experience/enhanced-errors.ts +556 -0
  1162. package/src/developer-experience/enhanced-types.ts +427 -0
  1163. package/src/developer-experience/index.ts +220 -0
  1164. package/src/globals.d.ts +43 -0
  1165. package/src/gradients/__tests__/angular-gradient.test.ts +111 -0
  1166. package/src/gradients/__tests__/background-modifier.test.ts +81 -0
  1167. package/src/gradients/__tests__/comprehensive-gradients.test.ts +296 -0
  1168. package/src/gradients/__tests__/gradient-asset.test.ts +144 -0
  1169. package/src/gradients/__tests__/linear-gradient.test.ts +92 -0
  1170. package/src/gradients/__tests__/phase4-features.test.ts +386 -0
  1171. package/src/gradients/__tests__/radial-gradient.test.ts +110 -0
  1172. package/src/gradients/__tests__/repeating-gradients.test.ts +125 -0
  1173. package/src/gradients/__tests__/state-background-modifier.test.ts +340 -0
  1174. package/src/gradients/__tests__/state-gradient-asset.test.ts +262 -0
  1175. package/src/gradients/__tests__/state-gradient-integration.test.ts +277 -0
  1176. package/src/gradients/css-generator.ts +158 -0
  1177. package/src/gradients/examples.ts +632 -0
  1178. package/src/gradients/gradient-asset.ts +30 -0
  1179. package/src/gradients/index.ts +85 -0
  1180. package/src/gradients/performance.ts +521 -0
  1181. package/src/gradients/presets.ts +422 -0
  1182. package/src/gradients/reactive.ts +470 -0
  1183. package/src/gradients/state-gradient-asset.ts +179 -0
  1184. package/src/gradients/types.ts +148 -0
  1185. package/src/gradients/utils.ts +579 -0
  1186. package/src/gradients/validation.ts +489 -0
  1187. package/src/index.ts +168 -0
  1188. package/src/lifecycle/hooks.ts +332 -0
  1189. package/src/modifiers/__tests__/as-html-integration.test.ts +204 -0
  1190. package/src/modifiers/__tests__/as-html.test.ts +437 -0
  1191. package/src/modifiers/__tests__/basic-sanitizer-security.test.ts +294 -0
  1192. package/src/modifiers/__tests__/border.test.ts +371 -0
  1193. package/src/modifiers/__tests__/margin-string-support.test.ts +41 -0
  1194. package/src/modifiers/__tests__/padding-string-support.test.ts +41 -0
  1195. package/src/modifiers/as-html-validator.ts +68 -0
  1196. package/src/modifiers/as-html.ts +216 -0
  1197. package/src/modifiers/attributes.ts +574 -0
  1198. package/src/modifiers/backdrop.ts +290 -0
  1199. package/src/modifiers/background.ts +165 -0
  1200. package/src/modifiers/base.ts +1815 -0
  1201. package/src/modifiers/basic-sanitizer.ts +227 -0
  1202. package/src/modifiers/border.ts +574 -0
  1203. package/src/modifiers/builder.ts +1747 -0
  1204. package/src/modifiers/core.ts +521 -0
  1205. package/src/modifiers/css.ts +148 -0
  1206. package/src/modifiers/effects.ts +412 -0
  1207. package/src/modifiers/elements.ts +541 -0
  1208. package/src/modifiers/filters.ts +501 -0
  1209. package/src/modifiers/flexbox.ts +180 -0
  1210. package/src/modifiers/font.ts +149 -0
  1211. package/src/modifiers/grid.ts +238 -0
  1212. package/src/modifiers/index.ts +481 -0
  1213. package/src/modifiers/margin.ts +218 -0
  1214. package/src/modifiers/padding.ts +318 -0
  1215. package/src/modifiers/registry.ts +444 -0
  1216. package/src/modifiers/responsive/__tests__/advanced-media-queries.test.ts +392 -0
  1217. package/src/modifiers/responsive/__tests__/advanced-utilities.test.ts +368 -0
  1218. package/src/modifiers/responsive/__tests__/comprehensive-browser-tests.test.ts +556 -0
  1219. package/src/modifiers/responsive/__tests__/layout-patterns.test.ts +558 -0
  1220. package/src/modifiers/responsive/advanced-utilities.ts +562 -0
  1221. package/src/modifiers/responsive/breakpoints.ts +330 -0
  1222. package/src/modifiers/responsive/css-generator.ts +432 -0
  1223. package/src/modifiers/responsive/dev-tools.ts +650 -0
  1224. package/src/modifiers/responsive/index.ts +119 -0
  1225. package/src/modifiers/responsive/layout-patterns.ts +592 -0
  1226. package/src/modifiers/responsive/performance.ts +385 -0
  1227. package/src/modifiers/responsive/responsive-builder.ts +620 -0
  1228. package/src/modifiers/responsive/responsive-modifier.ts +410 -0
  1229. package/src/modifiers/responsive/types.ts +226 -0
  1230. package/src/modifiers/responsive/utilities.ts +478 -0
  1231. package/src/modifiers/scroll.ts +297 -0
  1232. package/src/modifiers/shadows.ts +321 -0
  1233. package/src/modifiers/size.ts +208 -0
  1234. package/src/modifiers/text.ts +416 -0
  1235. package/src/modifiers/transformations.ts +640 -0
  1236. package/src/modifiers/transitions.ts +218 -0
  1237. package/src/modifiers/types.ts +889 -0
  1238. package/src/modifiers/typography.ts +341 -0
  1239. package/src/modifiers/utility.ts +209 -0
  1240. package/src/modifiers/utils.ts +413 -0
  1241. package/src/plugins/__tests__/simplified-plugin-system.test.ts +190 -0
  1242. package/src/plugins/component-loader-registry.ts +371 -0
  1243. package/src/plugins/index.ts +61 -0
  1244. package/src/plugins/legacy-adapter.ts +84 -0
  1245. package/src/plugins/simplified-component-registry.ts +130 -0
  1246. package/src/plugins/simplified-error-handler.ts +372 -0
  1247. package/src/plugins/simplified-index.ts +61 -0
  1248. package/src/plugins/simplified-lazy-loader.ts +242 -0
  1249. package/src/plugins/simplified-plugin-manager.ts +93 -0
  1250. package/src/plugins/simplified-tachui-instance.ts +142 -0
  1251. package/src/plugins/simplified-types.ts +79 -0
  1252. package/src/plugins/simplified-utils.ts +118 -0
  1253. package/src/reactive/cleanup.ts +241 -0
  1254. package/src/reactive/computed.ts +281 -0
  1255. package/src/reactive/context.ts +287 -0
  1256. package/src/reactive/effect.ts +194 -0
  1257. package/src/reactive/enhanced-effect.ts +318 -0
  1258. package/src/reactive/enhanced-signal.ts +227 -0
  1259. package/src/reactive/equality.ts +188 -0
  1260. package/src/reactive/globals.d.ts +5 -0
  1261. package/src/reactive/index.ts +150 -0
  1262. package/src/reactive/migration.ts +335 -0
  1263. package/src/reactive/ownership.ts +182 -0
  1264. package/src/reactive/scheduler.ts +300 -0
  1265. package/src/reactive/signal.ts +201 -0
  1266. package/src/reactive/theme.ts +49 -0
  1267. package/src/reactive/types.ts +103 -0
  1268. package/src/reactive/unified-scheduler.ts +357 -0
  1269. package/src/runtime/component-context.ts +343 -0
  1270. package/src/runtime/component.ts +499 -0
  1271. package/src/runtime/context.ts +527 -0
  1272. package/src/runtime/dev-tools.ts +752 -0
  1273. package/src/runtime/development-warnings.ts +114 -0
  1274. package/src/runtime/dom-bridge.ts +570 -0
  1275. package/src/runtime/element-override.ts +282 -0
  1276. package/src/runtime/error-boundary.ts +955 -0
  1277. package/src/runtime/error-recovery.ts +638 -0
  1278. package/src/runtime/error-reporting.ts +808 -0
  1279. package/src/runtime/error-utils.ts +698 -0
  1280. package/src/runtime/index.ts +202 -0
  1281. package/src/runtime/lazy-component.ts +268 -0
  1282. package/src/runtime/lifecycle.ts +10 -0
  1283. package/src/runtime/mounting.ts +17 -0
  1284. package/src/runtime/optimization.ts +13 -0
  1285. package/src/runtime/performance.ts +693 -0
  1286. package/src/runtime/props.ts +434 -0
  1287. package/src/runtime/refs.ts +13 -0
  1288. package/src/runtime/renderer.ts +674 -0
  1289. package/src/runtime/semantic-role-manager.ts +140 -0
  1290. package/src/runtime/types.ts +282 -0
  1291. package/src/state/binding.ts +381 -0
  1292. package/src/state/environment-object.ts +444 -0
  1293. package/src/state/environment.ts +351 -0
  1294. package/src/state/index.ts +179 -0
  1295. package/src/state/observed-object.ts +405 -0
  1296. package/src/state/state-manager.ts +366 -0
  1297. package/src/state/state.ts +339 -0
  1298. package/src/state/types.ts +192 -0
  1299. package/src/sui-compat.ts +163 -0
  1300. package/src/validation/__tests__/phase-1d-integration.test.ts +558 -0
  1301. package/src/validation/advanced-debugging.ts +860 -0
  1302. package/src/validation/build-time/detection.ts +373 -0
  1303. package/src/validation/build-time/index.ts +222 -0
  1304. package/src/validation/build-time/plugins.ts +515 -0
  1305. package/src/validation/build-time/rules.ts +624 -0
  1306. package/src/validation/build-time/transformer.ts +372 -0
  1307. package/src/validation/build-time/types.ts +232 -0
  1308. package/src/validation/comprehensive.ts +1272 -0
  1309. package/src/validation/debug-tools.ts +724 -0
  1310. package/src/validation/developer-experience.ts +712 -0
  1311. package/src/validation/documentation-integration.ts +835 -0
  1312. package/src/validation/enhanced-runtime.ts +765 -0
  1313. package/src/validation/error-reporting.ts +587 -0
  1314. package/src/validation/ide-integration.ts +845 -0
  1315. package/src/validation/index.ts +353 -0
  1316. package/src/validation/lifecycle-validation.ts +636 -0
  1317. package/src/validation/performance-optimizer.ts +599 -0
  1318. package/src/validation/plugin-registration.ts +249 -0
  1319. package/src/validation/production-bypass.ts +466 -0
  1320. package/src/validation/simple.ts +465 -0
  1321. package/src/viewport/adapters/web-adapter.ts +1385 -0
  1322. package/src/viewport/components.ts +505 -0
  1323. package/src/viewport/environment.ts +173 -0
  1324. package/src/viewport/index.ts +290 -0
  1325. package/src/viewport/platform-detection.ts +431 -0
  1326. package/src/viewport/types.ts +371 -0
  1327. package/src/viewport/viewport-manager.ts +979 -0
@@ -0,0 +1,1747 @@
1
+ /**
2
+ * Modifier Builder Implementation
3
+ *
4
+ * Provides a fluent API for chaining modifiers on components,
5
+ * similar to SwiftUI's modifier system.
6
+ */
7
+
8
+ import type { Signal } from '../reactive/types'
9
+ import type { ComponentInstance, ComponentProps } from '../runtime/types'
10
+ import type { StatefulBackgroundValue } from '../gradients/types'
11
+ import type { ColorValue, TextShadowConfig } from './types'
12
+ import type { FontAsset } from '../assets/FontAsset'
13
+ import {
14
+ AnimationModifier,
15
+ AppearanceModifier,
16
+ InteractionModifier,
17
+ LayoutModifier,
18
+ LifecycleModifier,
19
+ ResizableModifier,
20
+ } from './base'
21
+ import { BackgroundModifier } from './background'
22
+ import type { BorderStyle } from './border'
23
+ import { borderBottom, borderLeft, borderRight, borderTop } from './border'
24
+ import { css, cssProperty, cssVariable } from './css'
25
+ import { alignItems, flexDirection, flexGrow, flexShrink, flexWrap, gap, justifyContent } from './flexbox'
26
+ import { margin, marginBottom, marginHorizontal, marginLeft, marginRight, marginTop, marginVertical } from './margin'
27
+ import {
28
+ padding,
29
+ paddingBottom,
30
+ paddingHorizontal,
31
+ paddingLeading,
32
+ paddingLeft,
33
+ paddingRight,
34
+ paddingTop,
35
+ paddingTrailing,
36
+ paddingVertical,
37
+ } from './padding'
38
+ // Import new multi-property modifiers
39
+ import { height, maxHeight, maxWidth, minHeight, minWidth, size, width } from './size'
40
+ import type {
41
+ AnimationModifierProps,
42
+ AppearanceModifierProps,
43
+ LayoutModifierProps,
44
+ ModifiableComponent,
45
+ Modifier,
46
+ ModifierBuilder,
47
+ } from './types'
48
+ import type { ResponsiveModifierBuilder, ResponsiveBreakpointBuilder } from './responsive/responsive-builder'
49
+ import { ResponsiveModifierBuilderImpl } from './responsive/responsive-builder'
50
+ import type { ResponsiveStyleConfig } from './responsive/types'
51
+ import { createResponsiveModifier } from './responsive/responsive-modifier'
52
+ import { createModifiableComponent } from './registry'
53
+ import type {
54
+ FontStyle,
55
+ FontVariant,
56
+ FontWeight,
57
+ TextAlign,
58
+ TextDecoration,
59
+ TextTransform,
60
+ } from './typography'
61
+ import {
62
+ letterSpacing,
63
+ lineHeight,
64
+ overflow,
65
+ textAlign,
66
+ textDecoration,
67
+ textOverflow,
68
+ textTransform,
69
+ typography,
70
+ whiteSpace,
71
+ } from './typography'
72
+ import { cursor, display, overflowX, overflowY, position, zIndex } from './utility'
73
+ import {
74
+ IdModifier,
75
+ DataModifier,
76
+ AriaModifier,
77
+ TabIndexModifier
78
+ } from './attributes'
79
+ import {
80
+ LineClampModifier,
81
+ WordBreakModifier,
82
+ OverflowWrapModifier,
83
+ HyphensModifier,
84
+ BackgroundClipModifier
85
+ } from './text'
86
+ import {
87
+ BackdropFilterModifier
88
+ } from './backdrop'
89
+ import {
90
+ before as beforeModifier,
91
+ after as afterModifier
92
+ } from './elements'
93
+ import {
94
+ FilterModifier,
95
+ filter,
96
+ saturate,
97
+ // grayscale, // Unused - commented out to fix type-check
98
+ sepia,
99
+ hueRotate,
100
+ invert,
101
+ vintagePhoto,
102
+ blackAndWhite,
103
+ vibrant,
104
+ warmTone,
105
+ coolTone,
106
+ faded,
107
+ highKey,
108
+ lowKey,
109
+ softFocus,
110
+ highContrastMode,
111
+ subtleBlur,
112
+ darkModeInvert
113
+ } from './filters'
114
+ import {
115
+ textShadow,
116
+ shadow as shadowModifier,
117
+ shadows as shadowsModifier,
118
+ shadowPreset
119
+ } from './shadows'
120
+ import {
121
+ scale,
122
+ rotate,
123
+ translate,
124
+ perspective
125
+ // transform // Unused - commented out to fix type-check
126
+ } from './transformations'
127
+ import {
128
+ // cursor as cursorModifier, // Unused - commented out to fix type-check
129
+ hover as hoverModifier,
130
+ hoverEffect,
131
+ hoverWithTransition,
132
+ conditionalHover,
133
+ interactiveCursor,
134
+ draggableCursor,
135
+ textCursor,
136
+ disabledCursor,
137
+ loadingCursor,
138
+ helpCursor,
139
+ zoomCursor,
140
+ buttonHover,
141
+ cardHover,
142
+ linkHover,
143
+ imageHover
144
+ } from './effects'
145
+ import {
146
+ transition as transitionModifier,
147
+ transitions,
148
+ fadeTransition,
149
+ transformTransition,
150
+ colorTransition,
151
+ layoutTransition,
152
+ buttonTransition,
153
+ cardTransition,
154
+ modalTransition,
155
+ smoothTransition,
156
+ quickTransition,
157
+ slowTransition
158
+ } from './transitions'
159
+ import {
160
+ scroll as scrollModifier,
161
+ scrollBehavior,
162
+ overscrollBehavior,
163
+ overscrollBehaviorX,
164
+ overscrollBehaviorY,
165
+ scrollMargin,
166
+ scrollPadding,
167
+ scrollSnap
168
+ } from './scroll'
169
+ import { asHTML } from './as-html'
170
+ import type { AsHTMLOptions } from './as-html'
171
+
172
+ /**
173
+ * Concrete modifier builder implementation
174
+ */
175
+ export class ModifierBuilderImpl<T extends ComponentInstance = ComponentInstance>
176
+ implements ModifierBuilder<T>
177
+ {
178
+ private modifiers: Modifier[] = []
179
+
180
+ constructor(private component: T) {}
181
+
182
+ // Layout modifiers
183
+ frame(width?: number | string, height?: number | string): ModifierBuilder<T>
184
+ frame(options: LayoutModifierProps['frame']): ModifierBuilder<T>
185
+ frame(
186
+ widthOrOptions?: number | string | LayoutModifierProps['frame'],
187
+ height?: number | string
188
+ ): ModifierBuilder<T> {
189
+ let frameProps: LayoutModifierProps['frame']
190
+
191
+ if (typeof widthOrOptions === 'object') {
192
+ frameProps = widthOrOptions
193
+ } else {
194
+ frameProps = {}
195
+ if (widthOrOptions !== undefined) frameProps.width = widthOrOptions
196
+ if (height !== undefined) frameProps.height = height
197
+ }
198
+
199
+ this.modifiers.push(new LayoutModifier({ frame: frameProps }))
200
+ return this
201
+ }
202
+
203
+ // Padding is now handled by the new padding modifiers below
204
+
205
+ margin(value: number | string): ModifierBuilder<T>
206
+ margin(options: LayoutModifierProps['margin']): ModifierBuilder<T>
207
+ margin(valueOrOptions: number | string | LayoutModifierProps['margin']): ModifierBuilder<T> {
208
+ if (typeof valueOrOptions === 'number' || typeof valueOrOptions === 'string') {
209
+ this.modifiers.push(margin(valueOrOptions))
210
+ } else {
211
+ // Handle both LayoutModifierProps margin format and direct MarginOptions format
212
+ const marginOptions = valueOrOptions as any
213
+
214
+ // Check if it's using vertical/horizontal pattern
215
+ if (marginOptions.vertical !== undefined || marginOptions.horizontal !== undefined) {
216
+ this.modifiers.push(margin({
217
+ vertical: marginOptions.vertical,
218
+ horizontal: marginOptions.horizontal
219
+ }))
220
+ } else if (marginOptions.top !== undefined || marginOptions.right !== undefined ||
221
+ marginOptions.bottom !== undefined || marginOptions.left !== undefined) {
222
+ // Handle individual sides
223
+ this.modifiers.push(margin({
224
+ top: marginOptions.top,
225
+ right: marginOptions.right,
226
+ bottom: marginOptions.bottom,
227
+ left: marginOptions.left
228
+ }))
229
+ }
230
+ }
231
+ return this
232
+ }
233
+
234
+ layoutPriority(priority: number | Signal<number>): ModifierBuilder<T> {
235
+ this.modifiers.push(new LayoutModifier({ layoutPriority: priority }))
236
+ return this
237
+ }
238
+
239
+ // New multi-property modifiers
240
+ size(options: {
241
+ width?: number | string
242
+ height?: number | string
243
+ minWidth?: number | string
244
+ maxWidth?: number | string
245
+ minHeight?: number | string
246
+ maxHeight?: number | string
247
+ }): ModifierBuilder<T> {
248
+ this.modifiers.push(size(options))
249
+ return this
250
+ }
251
+
252
+ width(value: number | string): ModifierBuilder<T> {
253
+ this.modifiers.push(width(value))
254
+ return this
255
+ }
256
+
257
+ height(value: number | string): ModifierBuilder<T> {
258
+ this.modifiers.push(height(value))
259
+ return this
260
+ }
261
+
262
+ maxWidth(value: number | string): ModifierBuilder<T> {
263
+ this.modifiers.push(maxWidth(value))
264
+ return this
265
+ }
266
+
267
+ minWidth(value: number | string): ModifierBuilder<T> {
268
+ this.modifiers.push(minWidth(value))
269
+ return this
270
+ }
271
+
272
+ maxHeight(value: number | string): ModifierBuilder<T> {
273
+ this.modifiers.push(maxHeight(value))
274
+ return this
275
+ }
276
+
277
+ minHeight(value: number | string): ModifierBuilder<T> {
278
+ this.modifiers.push(minHeight(value))
279
+ return this
280
+ }
281
+
282
+ marginTop(value: number): ModifierBuilder<T> {
283
+ this.modifiers.push(marginTop(value))
284
+ return this
285
+ }
286
+
287
+ marginBottom(value: number): ModifierBuilder<T> {
288
+ this.modifiers.push(marginBottom(value))
289
+ return this
290
+ }
291
+
292
+ marginHorizontal(value: number): ModifierBuilder<T> {
293
+ this.modifiers.push(marginHorizontal(value))
294
+ return this
295
+ }
296
+
297
+ marginVertical(value: number): ModifierBuilder<T> {
298
+ this.modifiers.push(marginVertical(value))
299
+ return this
300
+ }
301
+
302
+ marginLeft(value: number): ModifierBuilder<T> {
303
+ this.modifiers.push(marginLeft(value))
304
+ return this
305
+ }
306
+
307
+ marginRight(value: number): ModifierBuilder<T> {
308
+ this.modifiers.push(marginRight(value))
309
+ return this
310
+ }
311
+
312
+ // Padding modifiers
313
+ padding(value: number): ModifierBuilder<T>
314
+ padding(options: any): ModifierBuilder<T>
315
+ padding(valueOrOptions: number | any): ModifierBuilder<T> {
316
+ if (typeof valueOrOptions === 'number') {
317
+ this.modifiers.push(padding(valueOrOptions))
318
+ } else {
319
+ this.modifiers.push(padding(valueOrOptions as any))
320
+ }
321
+ return this
322
+ }
323
+
324
+ paddingTop(value: number): ModifierBuilder<T> {
325
+ this.modifiers.push(paddingTop(value))
326
+ return this
327
+ }
328
+
329
+ paddingBottom(value: number): ModifierBuilder<T> {
330
+ this.modifiers.push(paddingBottom(value))
331
+ return this
332
+ }
333
+
334
+ paddingLeft(value: number): ModifierBuilder<T> {
335
+ this.modifiers.push(paddingLeft(value))
336
+ return this
337
+ }
338
+
339
+ paddingRight(value: number): ModifierBuilder<T> {
340
+ this.modifiers.push(paddingRight(value))
341
+ return this
342
+ }
343
+
344
+ paddingLeading(value: number): ModifierBuilder<T> {
345
+ this.modifiers.push(paddingLeading(value))
346
+ return this
347
+ }
348
+
349
+ paddingTrailing(value: number): ModifierBuilder<T> {
350
+ this.modifiers.push(paddingTrailing(value))
351
+ return this
352
+ }
353
+
354
+ paddingHorizontal(value: number): ModifierBuilder<T> {
355
+ this.modifiers.push(paddingHorizontal(value))
356
+ return this
357
+ }
358
+
359
+ paddingVertical(value: number): ModifierBuilder<T> {
360
+ this.modifiers.push(paddingVertical(value))
361
+ return this
362
+ }
363
+
364
+ // Typography modifiers
365
+ typography(options: {
366
+ size?: number | string
367
+ weight?: FontWeight
368
+ family?: string
369
+ lineHeight?: number | string
370
+ letterSpacing?: number | string
371
+ align?: TextAlign
372
+ transform?: TextTransform
373
+ decoration?: TextDecoration
374
+ variant?: FontVariant
375
+ style?: FontStyle
376
+ color?: string
377
+ }): ModifierBuilder<T> {
378
+ this.modifiers.push(typography(options))
379
+ return this
380
+ }
381
+
382
+ textAlign(value: 'left' | 'center' | 'right' | 'justify' | 'start' | 'end'): ModifierBuilder<T> {
383
+ this.modifiers.push(textAlign(value))
384
+ return this
385
+ }
386
+
387
+ textTransform(value: 'none' | 'uppercase' | 'lowercase' | 'capitalize'): ModifierBuilder<T> {
388
+ this.modifiers.push(textTransform(value))
389
+ return this
390
+ }
391
+
392
+ letterSpacing(value: number | string): ModifierBuilder<T> {
393
+ this.modifiers.push(letterSpacing(value))
394
+ return this
395
+ }
396
+
397
+ lineHeight(value: number | string): ModifierBuilder<T> {
398
+ this.modifiers.push(lineHeight(value))
399
+ return this
400
+ }
401
+
402
+ textOverflow(value: 'clip' | 'ellipsis' | 'fade' | string): ModifierBuilder<T> {
403
+ this.modifiers.push(textOverflow(value))
404
+ return this
405
+ }
406
+
407
+ whiteSpace(
408
+ value: 'normal' | 'nowrap' | 'pre' | 'pre-wrap' | 'pre-line' | 'break-spaces'
409
+ ): ModifierBuilder<T> {
410
+ this.modifiers.push(whiteSpace(value))
411
+ return this
412
+ }
413
+
414
+ overflow(value: 'visible' | 'hidden' | 'scroll' | 'auto'): ModifierBuilder<T> {
415
+ this.modifiers.push(overflow(value))
416
+ return this
417
+ }
418
+
419
+ // Border modifiers
420
+ borderTop(
421
+ width: number | Signal<number>,
422
+ color: string | Signal<string>,
423
+ style?: BorderStyle
424
+ ): ModifierBuilder<T> {
425
+ this.modifiers.push(borderTop(width, color, style))
426
+ return this
427
+ }
428
+
429
+ borderRight(
430
+ width: number | Signal<number>,
431
+ color: string | Signal<string>,
432
+ style?: BorderStyle
433
+ ): ModifierBuilder<T> {
434
+ this.modifiers.push(borderRight(width, color, style))
435
+ return this
436
+ }
437
+
438
+ borderBottom(
439
+ width: number | Signal<number>,
440
+ color: string | Signal<string>,
441
+ style?: BorderStyle
442
+ ): ModifierBuilder<T> {
443
+ this.modifiers.push(borderBottom(width, color, style))
444
+ return this
445
+ }
446
+
447
+ borderLeft(
448
+ width: number | Signal<number>,
449
+ color: string | Signal<string>,
450
+ style?: BorderStyle
451
+ ): ModifierBuilder<T> {
452
+ this.modifiers.push(borderLeft(width, color, style))
453
+ return this
454
+ }
455
+
456
+ // Flexbox modifiers
457
+
458
+ flexGrow(value: number): ModifierBuilder<T> {
459
+ this.modifiers.push(flexGrow(value))
460
+ return this
461
+ }
462
+
463
+ flexShrink(value: number): ModifierBuilder<T> {
464
+ this.modifiers.push(flexShrink(value))
465
+ return this
466
+ }
467
+
468
+ justifyContent(
469
+ value: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly'
470
+ ): ModifierBuilder<T> {
471
+ this.modifiers.push(justifyContent(value))
472
+ return this
473
+ }
474
+
475
+ alignItems(
476
+ value: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'
477
+ ): ModifierBuilder<T> {
478
+ this.modifiers.push(alignItems(value))
479
+ return this
480
+ }
481
+
482
+ gap(value: number | string): ModifierBuilder<T> {
483
+ this.modifiers.push(gap(value))
484
+ return this
485
+ }
486
+
487
+ flexDirection(value: 'row' | 'row-reverse' | 'column' | 'column-reverse'): ModifierBuilder<T> {
488
+ this.modifiers.push(flexDirection(value))
489
+ return this
490
+ }
491
+
492
+ flexWrap(value: 'nowrap' | 'wrap' | 'wrap-reverse'): ModifierBuilder<T> {
493
+ this.modifiers.push(flexWrap(value))
494
+ return this
495
+ }
496
+
497
+ // Utility modifiers
498
+ cursor(
499
+ value:
500
+ | 'auto'
501
+ | 'default'
502
+ | 'pointer'
503
+ | 'text'
504
+ | 'wait'
505
+ | 'help'
506
+ | 'not-allowed'
507
+ | 'grab'
508
+ | 'grabbing'
509
+ ): ModifierBuilder<T> {
510
+ this.modifiers.push(cursor(value))
511
+ return this
512
+ }
513
+
514
+ overflowY(value: 'visible' | 'hidden' | 'scroll' | 'auto'): ModifierBuilder<T> {
515
+ this.modifiers.push(overflowY(value))
516
+ return this
517
+ }
518
+
519
+ overflowX(value: 'visible' | 'hidden' | 'scroll' | 'auto'): ModifierBuilder<T> {
520
+ this.modifiers.push(overflowX(value))
521
+ return this
522
+ }
523
+
524
+ position(value: 'static' | 'relative' | 'absolute' | 'fixed' | 'sticky'): ModifierBuilder<T> {
525
+ this.modifiers.push(position(value))
526
+ return this
527
+ }
528
+
529
+ zIndex(value: number): ModifierBuilder<T> {
530
+ this.modifiers.push(zIndex(value))
531
+ return this
532
+ }
533
+
534
+ display(
535
+ value: 'block' | 'inline' | 'inline-block' | 'flex' | 'inline-flex' | 'grid' | 'none'
536
+ ): ModifierBuilder<T> {
537
+ this.modifiers.push(display(value))
538
+ return this
539
+ }
540
+
541
+ // Raw CSS modifiers
542
+ css(properties: { [property: string]: string | number | undefined }): ModifierBuilder<T> {
543
+ this.modifiers.push(css(properties))
544
+ return this
545
+ }
546
+
547
+ cssProperty(property: string, value: string | number): ModifierBuilder<T> {
548
+ this.modifiers.push(cssProperty(property, value))
549
+ return this
550
+ }
551
+
552
+ cssVariable(name: string, value: string | number): ModifierBuilder<T> {
553
+ this.modifiers.push(cssVariable(name, value))
554
+ return this
555
+ }
556
+
557
+ textCase(value: 'none' | 'uppercase' | 'lowercase' | 'capitalize'): ModifierBuilder<T> {
558
+ this.modifiers.push(textTransform(value))
559
+ return this
560
+ }
561
+
562
+ textDecoration(value: 'none' | 'underline' | 'overline' | 'line-through'): ModifierBuilder<T> {
563
+ this.modifiers.push(textDecoration(value))
564
+ return this
565
+ }
566
+
567
+ // Phase 1 SwiftUI modifiers
568
+ offset(x: number | Signal<number>, y?: number | Signal<number>): ModifierBuilder<T> {
569
+ this.modifiers.push(
570
+ new LayoutModifier({
571
+ offset: {
572
+ x: typeof x === 'number' ? x : x,
573
+ y: typeof y === 'number' ? (y ?? 0) : (y ?? 0),
574
+ },
575
+ })
576
+ )
577
+ return this
578
+ }
579
+
580
+ clipped(): ModifierBuilder<T> {
581
+ this.modifiers.push(new AppearanceModifier({ clipped: true }))
582
+ return this
583
+ }
584
+
585
+ rotationEffect(
586
+ angle: number | Signal<number>,
587
+ anchor:
588
+ | 'center'
589
+ | 'top'
590
+ | 'topLeading'
591
+ | 'topTrailing'
592
+ | 'bottom'
593
+ | 'bottomLeading'
594
+ | 'bottomTrailing'
595
+ | 'leading'
596
+ | 'trailing' = 'center'
597
+ ): ModifierBuilder<T> {
598
+ this.modifiers.push(
599
+ new AnimationModifier({
600
+ rotationEffect: {
601
+ angle: typeof angle === 'number' ? angle : angle,
602
+ anchor,
603
+ },
604
+ })
605
+ )
606
+ return this
607
+ }
608
+
609
+ // Phase 2 SwiftUI modifiers
610
+ aspectRatio(
611
+ ratio?: number | Signal<number>,
612
+ contentMode: 'fit' | 'fill' = 'fit'
613
+ ): ModifierBuilder<T> {
614
+ this.modifiers.push(
615
+ new LayoutModifier({
616
+ aspectRatio: {
617
+ ratio: typeof ratio === 'number' ? ratio : ratio,
618
+ contentMode,
619
+ },
620
+ })
621
+ )
622
+ return this
623
+ }
624
+
625
+ fixedSize(horizontal: boolean = true, vertical: boolean = true): ModifierBuilder<T> {
626
+ this.modifiers.push(
627
+ new LayoutModifier({
628
+ fixedSize: {
629
+ horizontal,
630
+ vertical,
631
+ },
632
+ })
633
+ )
634
+ return this
635
+ }
636
+
637
+ clipShape(
638
+ shape: 'circle' | 'ellipse' | 'rect' | 'polygon',
639
+ parameters?: Record<string, any>
640
+ ): ModifierBuilder<T> {
641
+ this.modifiers.push(
642
+ new AppearanceModifier({
643
+ clipShape: {
644
+ shape,
645
+ parameters: parameters || {},
646
+ },
647
+ })
648
+ )
649
+ return this
650
+ }
651
+
652
+ overlay(
653
+ content: any,
654
+ alignment:
655
+ | 'center'
656
+ | 'top'
657
+ | 'bottom'
658
+ | 'leading'
659
+ | 'trailing'
660
+ | 'topLeading'
661
+ | 'topTrailing'
662
+ | 'bottomLeading'
663
+ | 'bottomTrailing' = 'center'
664
+ ): ModifierBuilder<T> {
665
+ this.modifiers.push(
666
+ new AnimationModifier({
667
+ overlay: {
668
+ content,
669
+ alignment,
670
+ },
671
+ })
672
+ )
673
+ return this
674
+ }
675
+
676
+ // Phase 3 SwiftUI modifiers - Critical Transform Modifiers
677
+ scaleEffect(
678
+ x: number | Signal<number>,
679
+ y?: number | Signal<number>,
680
+ anchor:
681
+ | 'center'
682
+ | 'top'
683
+ | 'topLeading'
684
+ | 'topTrailing'
685
+ | 'bottom'
686
+ | 'bottomLeading'
687
+ | 'bottomTrailing'
688
+ | 'leading'
689
+ | 'trailing' = 'center'
690
+ ): ModifierBuilder<T> {
691
+ this.modifiers.push(
692
+ new LayoutModifier({
693
+ scaleEffect: {
694
+ x,
695
+ y,
696
+ anchor,
697
+ },
698
+ })
699
+ )
700
+ return this
701
+ }
702
+
703
+ absolutePosition(x: number | Signal<number>, y: number | Signal<number>): ModifierBuilder<T> {
704
+ this.modifiers.push(
705
+ new LayoutModifier({
706
+ position: {
707
+ x,
708
+ y,
709
+ },
710
+ })
711
+ )
712
+ return this
713
+ }
714
+
715
+ // Appearance modifiers
716
+ foregroundColor(color: ColorValue): ModifierBuilder<T> {
717
+ this.modifiers.push(new AppearanceModifier({ foregroundColor: color }))
718
+ return this
719
+ }
720
+
721
+ backgroundColor(color: ColorValue): ModifierBuilder<T> {
722
+ this.modifiers.push(new AppearanceModifier({ backgroundColor: color }))
723
+ return this
724
+ }
725
+
726
+ background(value: StatefulBackgroundValue | Signal<string>): ModifierBuilder<T> {
727
+ this.modifiers.push(new BackgroundModifier({ background: value as StatefulBackgroundValue }))
728
+ return this
729
+ }
730
+
731
+ font(options: AppearanceModifierProps['font']): ModifierBuilder<T>
732
+ font(size: number | string): ModifierBuilder<T>
733
+ font(sizeOrOptions: number | string | AppearanceModifierProps['font']): ModifierBuilder<T> {
734
+ let fontProps: AppearanceModifierProps['font']
735
+
736
+ if (typeof sizeOrOptions === 'object') {
737
+ fontProps = sizeOrOptions
738
+ } else {
739
+ fontProps = sizeOrOptions !== undefined ? { size: sizeOrOptions } : {}
740
+ }
741
+
742
+ this.modifiers.push(new AppearanceModifier({ font: fontProps }))
743
+ return this
744
+ }
745
+
746
+ fontWeight(weight: NonNullable<AppearanceModifierProps['font']>['weight']): ModifierBuilder<T> {
747
+ this.modifiers.push(new AppearanceModifier({ font: { weight } }))
748
+ return this
749
+ }
750
+
751
+ fontSize(size: number | string | Signal<number> | Signal<string>): ModifierBuilder<T> {
752
+ this.modifiers.push(new AppearanceModifier({ font: { size } }))
753
+ return this
754
+ }
755
+
756
+ fontFamily(family: string | FontAsset | Signal<string | FontAsset>): ModifierBuilder<T> {
757
+ this.modifiers.push(new AppearanceModifier({ font: { family } }))
758
+ return this
759
+ }
760
+
761
+ opacity(value: number | Signal<number>): ModifierBuilder<T> {
762
+ this.modifiers.push(new AppearanceModifier({ opacity: value }))
763
+ return this
764
+ }
765
+
766
+ cornerRadius(radius: number | Signal<number>): ModifierBuilder<T> {
767
+ this.modifiers.push(new AppearanceModifier({ cornerRadius: radius }))
768
+ return this
769
+ }
770
+
771
+ border(width: number | Signal<number>, color?: ColorValue): ModifierBuilder<T>
772
+ border(options: AppearanceModifierProps['border']): ModifierBuilder<T>
773
+ border(
774
+ widthOrOptions: number | Signal<number> | AppearanceModifierProps['border'],
775
+ color?: ColorValue
776
+ ): ModifierBuilder<T> {
777
+ let borderProps: AppearanceModifierProps['border']
778
+
779
+ if (typeof widthOrOptions === 'object') {
780
+ borderProps = widthOrOptions
781
+ } else {
782
+ borderProps = {
783
+ style: 'solid',
784
+ ...(widthOrOptions !== undefined && { width: widthOrOptions }),
785
+ ...(color !== undefined && { color }),
786
+ }
787
+ }
788
+
789
+ this.modifiers.push(new AppearanceModifier({ border: borderProps }))
790
+ return this
791
+ }
792
+
793
+ borderWidth(width: number | Signal<number>): ModifierBuilder<T> {
794
+ this.modifiers.push(new AppearanceModifier({ border: { width } }))
795
+ return this
796
+ }
797
+
798
+ shadow(options: AppearanceModifierProps['shadow']): ModifierBuilder<T>
799
+ shadow(config: { x: number; y: number; blur: number; color: string; spread?: number; inset?: boolean }): ModifierBuilder<T>
800
+ shadow(optionsOrConfig: AppearanceModifierProps['shadow'] | { x: number; y: number; blur: number; color: string; spread?: number; inset?: boolean }): ModifierBuilder<T> {
801
+ // Check if it's the new ShadowConfig format (has x, y, blur properties)
802
+ if (optionsOrConfig && typeof optionsOrConfig === 'object' && 'x' in optionsOrConfig && 'y' in optionsOrConfig && 'blur' in optionsOrConfig) {
803
+ this.modifiers.push(shadowModifier(optionsOrConfig as any))
804
+ } else {
805
+ // Use the old AppearanceModifier format
806
+ this.modifiers.push(new AppearanceModifier({ shadow: optionsOrConfig as AppearanceModifierProps['shadow'] }))
807
+ }
808
+ return this
809
+ }
810
+
811
+ textShadow(config: TextShadowConfig): ModifierBuilder<T> {
812
+ this.modifiers.push(textShadow(config))
813
+ return this
814
+ }
815
+
816
+ // Additional shadow methods
817
+ shadows(configs: Array<{ x: number; y: number; blur: number; color: string; spread?: number; inset?: boolean }>): ModifierBuilder<T> {
818
+ this.modifiers.push(shadowsModifier(configs))
819
+ return this
820
+ }
821
+
822
+ shadowPreset(presetName: string): ModifierBuilder<T> {
823
+ this.modifiers.push(shadowPreset(presetName))
824
+ return this
825
+ }
826
+
827
+ // Visual Effects Modifiers (Phase 2 - Epic: Butternut)
828
+ blur(radius: number | Signal<number>): ModifierBuilder<T> {
829
+ this.modifiers.push(new AppearanceModifier({ blur: radius }))
830
+ return this
831
+ }
832
+
833
+ brightness(amount: number | Signal<number>): ModifierBuilder<T> {
834
+ this.modifiers.push(new AppearanceModifier({ brightness: amount }))
835
+ return this
836
+ }
837
+
838
+ contrast(amount: number | Signal<number>): ModifierBuilder<T> {
839
+ this.modifiers.push(new AppearanceModifier({ contrast: amount }))
840
+ return this
841
+ }
842
+
843
+ saturation(amount: number | Signal<number>): ModifierBuilder<T> {
844
+ this.modifiers.push(new AppearanceModifier({ saturation: amount }))
845
+ return this
846
+ }
847
+
848
+ hueRotation(angle: number | Signal<number>): ModifierBuilder<T> {
849
+ this.modifiers.push(new AppearanceModifier({ hueRotation: angle }))
850
+ return this
851
+ }
852
+
853
+ grayscale(amount: number | Signal<number>): ModifierBuilder<T> {
854
+ this.modifiers.push(new AppearanceModifier({ grayscale: amount }))
855
+ return this
856
+ }
857
+
858
+ colorInvert(amount: number | Signal<number> = 1.0): ModifierBuilder<T> {
859
+ this.modifiers.push(new AppearanceModifier({ colorInvert: amount }))
860
+ return this
861
+ }
862
+
863
+ dropShadow(shadow: string): ModifierBuilder<T> {
864
+ this.modifiers.push(new FilterModifier({ filter: { dropShadow: shadow } }))
865
+ return this
866
+ }
867
+
868
+ // Additional filter methods
869
+ filter(config: { blur?: number; brightness?: number; contrast?: number; saturate?: number; [key: string]: any } | string): ModifierBuilder<T> {
870
+ this.modifiers.push(filter(config))
871
+ return this
872
+ }
873
+
874
+ saturate(value: number): ModifierBuilder<T> {
875
+ this.modifiers.push(saturate(value))
876
+ return this
877
+ }
878
+
879
+ sepia(value: number): ModifierBuilder<T> {
880
+ this.modifiers.push(sepia(value))
881
+ return this
882
+ }
883
+
884
+ hueRotate(angle: string): ModifierBuilder<T> {
885
+ this.modifiers.push(hueRotate(angle))
886
+ return this
887
+ }
888
+
889
+ invert(value: number): ModifierBuilder<T> {
890
+ this.modifiers.push(invert(value))
891
+ return this
892
+ }
893
+
894
+ // Filter presets
895
+ vintagePhoto(sepiaAmount?: number, contrastAmount?: number): ModifierBuilder<T> {
896
+ this.modifiers.push(vintagePhoto(sepiaAmount, contrastAmount))
897
+ return this
898
+ }
899
+
900
+ blackAndWhite(contrastAmount?: number): ModifierBuilder<T> {
901
+ this.modifiers.push(blackAndWhite(contrastAmount))
902
+ return this
903
+ }
904
+
905
+ vibrant(saturationAmount?: number, contrastAmount?: number): ModifierBuilder<T> {
906
+ this.modifiers.push(vibrant(saturationAmount, contrastAmount))
907
+ return this
908
+ }
909
+
910
+ warmTone(hueShift?: string): ModifierBuilder<T> {
911
+ this.modifiers.push(warmTone(hueShift))
912
+ return this
913
+ }
914
+
915
+ coolTone(hueShift?: string): ModifierBuilder<T> {
916
+ this.modifiers.push(coolTone(hueShift))
917
+ return this
918
+ }
919
+
920
+ faded(contrastAmount?: number, saturationAmount?: number): ModifierBuilder<T> {
921
+ this.modifiers.push(faded(contrastAmount, saturationAmount))
922
+ return this
923
+ }
924
+
925
+ highKey(brightnessAmount?: number, contrastAmount?: number): ModifierBuilder<T> {
926
+ this.modifiers.push(highKey(brightnessAmount, contrastAmount))
927
+ return this
928
+ }
929
+
930
+ lowKey(brightnessAmount?: number, contrastAmount?: number): ModifierBuilder<T> {
931
+ this.modifiers.push(lowKey(brightnessAmount, contrastAmount))
932
+ return this
933
+ }
934
+
935
+ softFocus(blurAmount?: number): ModifierBuilder<T> {
936
+ this.modifiers.push(softFocus(blurAmount))
937
+ return this
938
+ }
939
+
940
+ highContrastMode(): ModifierBuilder<T> {
941
+ this.modifiers.push(highContrastMode())
942
+ return this
943
+ }
944
+
945
+ subtleBlur(): ModifierBuilder<T> {
946
+ this.modifiers.push(subtleBlur())
947
+ return this
948
+ }
949
+
950
+ darkModeInvert(): ModifierBuilder<T> {
951
+ this.modifiers.push(darkModeInvert())
952
+ return this
953
+ }
954
+
955
+ // Transform modifiers
956
+ scale(value: number | { x?: number; y?: number }): ModifierBuilder<T> {
957
+ this.modifiers.push(scale(value))
958
+ return this
959
+ }
960
+
961
+ rotate(angle: string): ModifierBuilder<T> {
962
+ this.modifiers.push(rotate(angle))
963
+ return this
964
+ }
965
+
966
+ translate(offset: { x?: number | string; y?: number | string }): ModifierBuilder<T> {
967
+ this.modifiers.push(translate(offset))
968
+ return this
969
+ }
970
+
971
+ perspective(value: number): ModifierBuilder<T> {
972
+ this.modifiers.push(perspective(value))
973
+ return this
974
+ }
975
+
976
+ // Hover and cursor effect modifiers
977
+ hover(styles: any, transition?: string | number): ModifierBuilder<T> {
978
+ this.modifiers.push(hoverModifier(styles, transition))
979
+ return this
980
+ }
981
+
982
+ hoverEffect(effect: 'automatic' | 'highlight' | 'lift' | 'scale', isEnabled?: boolean): ModifierBuilder<T> {
983
+ this.modifiers.push(hoverEffect(effect, isEnabled))
984
+ return this
985
+ }
986
+
987
+ hoverWithTransition(styles: any, duration: number = 200): ModifierBuilder<T> {
988
+ this.modifiers.push(hoverWithTransition(styles, duration))
989
+ return this
990
+ }
991
+
992
+ conditionalHover(effect: 'automatic' | 'highlight' | 'lift' | 'scale', isEnabled: boolean): ModifierBuilder<T> {
993
+ this.modifiers.push(conditionalHover(effect, isEnabled))
994
+ return this
995
+ }
996
+
997
+ // Cursor preset methods
998
+ interactiveCursor(): ModifierBuilder<T> {
999
+ this.modifiers.push(interactiveCursor())
1000
+ return this
1001
+ }
1002
+
1003
+ draggableCursor(): ModifierBuilder<T> {
1004
+ this.modifiers.push(draggableCursor())
1005
+ return this
1006
+ }
1007
+
1008
+ textCursor(): ModifierBuilder<T> {
1009
+ this.modifiers.push(textCursor())
1010
+ return this
1011
+ }
1012
+
1013
+ disabledCursor(): ModifierBuilder<T> {
1014
+ this.modifiers.push(disabledCursor())
1015
+ return this
1016
+ }
1017
+
1018
+ loadingCursor(): ModifierBuilder<T> {
1019
+ this.modifiers.push(loadingCursor())
1020
+ return this
1021
+ }
1022
+
1023
+ helpCursor(): ModifierBuilder<T> {
1024
+ this.modifiers.push(helpCursor())
1025
+ return this
1026
+ }
1027
+
1028
+ zoomCursor(mode: 'in' | 'out' = 'in'): ModifierBuilder<T> {
1029
+ this.modifiers.push(zoomCursor(mode))
1030
+ return this
1031
+ }
1032
+
1033
+ // Hover effect presets
1034
+ buttonHover(): ModifierBuilder<T> {
1035
+ this.modifiers.push(buttonHover())
1036
+ return this
1037
+ }
1038
+
1039
+ cardHover(): ModifierBuilder<T> {
1040
+ this.modifiers.push(cardHover())
1041
+ return this
1042
+ }
1043
+
1044
+ linkHover(): ModifierBuilder<T> {
1045
+ this.modifiers.push(linkHover())
1046
+ return this
1047
+ }
1048
+
1049
+ imageHover(): ModifierBuilder<T> {
1050
+ this.modifiers.push(imageHover())
1051
+ return this
1052
+ }
1053
+
1054
+ // Transition modifiers
1055
+ transition(
1056
+ property: string = 'all',
1057
+ duration: number = 300,
1058
+ easing: string = 'ease',
1059
+ delay: number = 0
1060
+ ): ModifierBuilder<T> {
1061
+ this.modifiers.push(transitionModifier(property, duration, easing, delay))
1062
+ return this
1063
+ }
1064
+
1065
+ transitions(config: any): ModifierBuilder<T> {
1066
+ this.modifiers.push(transitions(config))
1067
+ return this
1068
+ }
1069
+
1070
+ // Transition presets
1071
+ fadeTransition(duration: number = 200): ModifierBuilder<T> {
1072
+ this.modifiers.push(fadeTransition(duration))
1073
+ return this
1074
+ }
1075
+
1076
+ transformTransition(duration: number = 300): ModifierBuilder<T> {
1077
+ this.modifiers.push(transformTransition(duration))
1078
+ return this
1079
+ }
1080
+
1081
+ colorTransition(duration: number = 150): ModifierBuilder<T> {
1082
+ this.modifiers.push(colorTransition(duration))
1083
+ return this
1084
+ }
1085
+
1086
+ layoutTransition(duration: number = 250): ModifierBuilder<T> {
1087
+ this.modifiers.push(layoutTransition(duration))
1088
+ return this
1089
+ }
1090
+
1091
+ buttonTransition(): ModifierBuilder<T> {
1092
+ this.modifiers.push(buttonTransition())
1093
+ return this
1094
+ }
1095
+
1096
+ cardTransition(): ModifierBuilder<T> {
1097
+ this.modifiers.push(cardTransition())
1098
+ return this
1099
+ }
1100
+
1101
+ modalTransition(): ModifierBuilder<T> {
1102
+ this.modifiers.push(modalTransition())
1103
+ return this
1104
+ }
1105
+
1106
+ smoothTransition(duration: number = 300): ModifierBuilder<T> {
1107
+ this.modifiers.push(smoothTransition(duration))
1108
+ return this
1109
+ }
1110
+
1111
+ quickTransition(duration: number = 150): ModifierBuilder<T> {
1112
+ this.modifiers.push(quickTransition(duration))
1113
+ return this
1114
+ }
1115
+
1116
+ slowTransition(duration: number = 500): ModifierBuilder<T> {
1117
+ this.modifiers.push(slowTransition(duration))
1118
+ return this
1119
+ }
1120
+
1121
+ // Scroll modifiers
1122
+ scroll(config: any): ModifierBuilder<T> {
1123
+ this.modifiers.push(scrollModifier(config))
1124
+ return this
1125
+ }
1126
+
1127
+ scrollBehavior(value: 'auto' | 'smooth'): ModifierBuilder<T> {
1128
+ this.modifiers.push(scrollBehavior(value))
1129
+ return this
1130
+ }
1131
+
1132
+ overscrollBehavior(value: 'auto' | 'contain' | 'none'): ModifierBuilder<T> {
1133
+ this.modifiers.push(overscrollBehavior(value))
1134
+ return this
1135
+ }
1136
+
1137
+ overscrollBehaviorX(value: 'auto' | 'contain' | 'none'): ModifierBuilder<T> {
1138
+ this.modifiers.push(overscrollBehaviorX(value))
1139
+ return this
1140
+ }
1141
+
1142
+ overscrollBehaviorY(value: 'auto' | 'contain' | 'none'): ModifierBuilder<T> {
1143
+ this.modifiers.push(overscrollBehaviorY(value))
1144
+ return this
1145
+ }
1146
+
1147
+ scrollMargin(margin: number | string | { top?: number | string, right?: number | string, bottom?: number | string, left?: number | string }): ModifierBuilder<T> {
1148
+ this.modifiers.push(scrollMargin(margin))
1149
+ return this
1150
+ }
1151
+
1152
+ scrollPadding(padding: number | string | { top?: number | string, right?: number | string, bottom?: number | string, left?: number | string }): ModifierBuilder<T> {
1153
+ this.modifiers.push(scrollPadding(padding))
1154
+ return this
1155
+ }
1156
+
1157
+ scrollSnap(
1158
+ type: 'none' | 'x mandatory' | 'y mandatory' | 'x proximity' | 'y proximity' | 'both mandatory' | 'both proximity',
1159
+ align?: 'start' | 'end' | 'center',
1160
+ stop?: 'normal' | 'always'
1161
+ ): ModifierBuilder<T> {
1162
+ this.modifiers.push(scrollSnap(type, align, stop))
1163
+ return this
1164
+ }
1165
+
1166
+ // Interaction modifiers
1167
+ onTap(handler: (event: MouseEvent) => void): ModifierBuilder<T> {
1168
+ this.modifiers.push(new InteractionModifier({ onTap: handler }))
1169
+ return this
1170
+ }
1171
+
1172
+ onHover(handler: (isHovered: boolean) => void): ModifierBuilder<T> {
1173
+ this.modifiers.push(new InteractionModifier({ onHover: handler }))
1174
+ return this
1175
+ }
1176
+
1177
+ onMouseEnter(handler: (event: MouseEvent) => void): ModifierBuilder<T> {
1178
+ this.modifiers.push(new InteractionModifier({ onMouseEnter: handler }))
1179
+ return this
1180
+ }
1181
+
1182
+ onMouseLeave(handler: (event: MouseEvent) => void): ModifierBuilder<T> {
1183
+ this.modifiers.push(new InteractionModifier({ onMouseLeave: handler }))
1184
+ return this
1185
+ }
1186
+
1187
+ onMouseDown(handler: (event: MouseEvent) => void): ModifierBuilder<T> {
1188
+ this.modifiers.push(new InteractionModifier({ onMouseDown: handler }))
1189
+ return this
1190
+ }
1191
+
1192
+ onMouseUp(handler: (event: MouseEvent) => void): ModifierBuilder<T> {
1193
+ this.modifiers.push(new InteractionModifier({ onMouseUp: handler }))
1194
+ return this
1195
+ }
1196
+
1197
+ onDragStart(handler: (event: DragEvent) => void): ModifierBuilder<T> {
1198
+ this.modifiers.push(new InteractionModifier({ onDragStart: handler }))
1199
+ return this
1200
+ }
1201
+
1202
+ onDragOver(handler: (event: DragEvent) => void): ModifierBuilder<T> {
1203
+ this.modifiers.push(new InteractionModifier({ onDragOver: handler }))
1204
+ return this
1205
+ }
1206
+
1207
+ onDragLeave(handler: (event: DragEvent) => void): ModifierBuilder<T> {
1208
+ this.modifiers.push(new InteractionModifier({ onDragLeave: handler }))
1209
+ return this
1210
+ }
1211
+
1212
+ onDrop(handler: (event: DragEvent) => void): ModifierBuilder<T> {
1213
+ this.modifiers.push(new InteractionModifier({ onDrop: handler }))
1214
+ return this
1215
+ }
1216
+
1217
+ // Additional mouse events
1218
+ onDoubleClick(handler: (event: MouseEvent) => void): ModifierBuilder<T> {
1219
+ this.modifiers.push(new InteractionModifier({ onDoubleClick: handler }))
1220
+ return this
1221
+ }
1222
+
1223
+ onContextMenu(handler: (event: MouseEvent) => void): ModifierBuilder<T> {
1224
+ this.modifiers.push(new InteractionModifier({ onContextMenu: handler }))
1225
+ return this
1226
+ }
1227
+
1228
+ // Focus events
1229
+ onFocus(handler: (isFocused: boolean) => void): ModifierBuilder<T> {
1230
+ this.modifiers.push(new InteractionModifier({ onFocus: handler }))
1231
+ return this
1232
+ }
1233
+
1234
+ onBlur(handler: (isFocused: boolean) => void): ModifierBuilder<T> {
1235
+ this.modifiers.push(new InteractionModifier({ onBlur: handler }))
1236
+ return this
1237
+ }
1238
+
1239
+ // Keyboard events
1240
+ onKeyPress(handler: (event: KeyboardEvent) => void): ModifierBuilder<T> {
1241
+ this.modifiers.push(new InteractionModifier({ onKeyPress: handler }))
1242
+ return this
1243
+ }
1244
+
1245
+ onKeyDown(handler: (event: KeyboardEvent) => void): ModifierBuilder<T> {
1246
+ this.modifiers.push(new InteractionModifier({ onKeyDown: handler }))
1247
+ return this
1248
+ }
1249
+
1250
+ onKeyUp(handler: (event: KeyboardEvent) => void): ModifierBuilder<T> {
1251
+ this.modifiers.push(new InteractionModifier({ onKeyUp: handler }))
1252
+ return this
1253
+ }
1254
+
1255
+ // Scroll and wheel events
1256
+ onScroll(handler: (event: Event) => void): ModifierBuilder<T> {
1257
+ this.modifiers.push(new InteractionModifier({ onScroll: handler }))
1258
+ return this
1259
+ }
1260
+
1261
+ onWheel(handler: (event: WheelEvent) => void): ModifierBuilder<T> {
1262
+ this.modifiers.push(new InteractionModifier({ onWheel: handler }))
1263
+ return this
1264
+ }
1265
+
1266
+ // Input events
1267
+ onInput(handler: (event: InputEvent) => void): ModifierBuilder<T> {
1268
+ this.modifiers.push(new InteractionModifier({ onInput: handler }))
1269
+ return this
1270
+ }
1271
+
1272
+ onChange(handler: (value: any, event?: Event) => void): ModifierBuilder<T> {
1273
+ this.modifiers.push(new InteractionModifier({ onChange: handler }))
1274
+ return this
1275
+ }
1276
+
1277
+ // Clipboard events
1278
+ onCopy(handler: (event: ClipboardEvent) => void): ModifierBuilder<T> {
1279
+ this.modifiers.push(new InteractionModifier({ onCopy: handler }))
1280
+ return this
1281
+ }
1282
+
1283
+ onCut(handler: (event: ClipboardEvent) => void): ModifierBuilder<T> {
1284
+ this.modifiers.push(new InteractionModifier({ onCut: handler }))
1285
+ return this
1286
+ }
1287
+
1288
+ onPaste(handler: (event: ClipboardEvent) => void): ModifierBuilder<T> {
1289
+ this.modifiers.push(new InteractionModifier({ onPaste: handler }))
1290
+ return this
1291
+ }
1292
+
1293
+ // Selection events
1294
+ onSelect(handler: (event: Event) => void): ModifierBuilder<T> {
1295
+ this.modifiers.push(new InteractionModifier({ onSelect: handler }))
1296
+ return this
1297
+ }
1298
+
1299
+ // HTML and ARIA Attributes
1300
+ id(value: string): ModifierBuilder<T> {
1301
+ this.modifiers.push(new IdModifier({ id: value }))
1302
+ return this
1303
+ }
1304
+
1305
+ data(attributes: { [key: string]: string | number | boolean }): ModifierBuilder<T> {
1306
+ this.modifiers.push(new DataModifier({ data: attributes }))
1307
+ return this
1308
+ }
1309
+
1310
+ aria(attributes: { [key: string]: string | number | boolean | undefined }): ModifierBuilder<T> {
1311
+ this.modifiers.push(new AriaModifier({ aria: attributes }))
1312
+ return this
1313
+ }
1314
+
1315
+
1316
+ tabIndex(value: number): ModifierBuilder<T> {
1317
+ this.modifiers.push(new TabIndexModifier({ tabIndex: value }))
1318
+ return this
1319
+ }
1320
+
1321
+ // Text Modifiers
1322
+ lineClamp(lines: number): ModifierBuilder<T> {
1323
+ this.modifiers.push(new LineClampModifier({ lines }))
1324
+ return this
1325
+ }
1326
+
1327
+ wordBreak(value: 'normal' | 'break-all' | 'keep-all' | 'break-word'): ModifierBuilder<T> {
1328
+ this.modifiers.push(new WordBreakModifier({ wordBreak: value }))
1329
+ return this
1330
+ }
1331
+
1332
+ overflowWrap(value: 'normal' | 'break-word' | 'anywhere'): ModifierBuilder<T> {
1333
+ this.modifiers.push(new OverflowWrapModifier({ overflowWrap: value }))
1334
+ return this
1335
+ }
1336
+
1337
+ hyphens(value: 'none' | 'manual' | 'auto'): ModifierBuilder<T> {
1338
+ this.modifiers.push(new HyphensModifier({ hyphens: value }))
1339
+ return this
1340
+ }
1341
+
1342
+ // Gradient Text Modifier
1343
+ gradientText(gradient: string): ModifierBuilder<T> {
1344
+ this.modifiers.push(new BackgroundClipModifier({
1345
+ backgroundImage: gradient,
1346
+ backgroundClip: 'text',
1347
+ color: 'transparent',
1348
+ webkitBackgroundClip: 'text',
1349
+ webkitTextFillColor: 'transparent'
1350
+ }))
1351
+ return this
1352
+ }
1353
+
1354
+ // Backdrop Filter Modifiers (Unified Implementation)
1355
+ backdropFilter(config: { blur?: number; brightness?: number; contrast?: number; saturate?: number; [key: string]: any }, fallbackColor?: ColorValue): ModifierBuilder<T>
1356
+ backdropFilter(cssValue: string, fallbackColor?: ColorValue): ModifierBuilder<T>
1357
+ backdropFilter(value: { blur?: number; brightness?: number; contrast?: number; saturate?: number; [key: string]: any } | string, fallbackColor?: ColorValue): ModifierBuilder<T> {
1358
+ this.modifiers.push(new BackdropFilterModifier({
1359
+ backdropFilter: value,
1360
+ ...(fallbackColor && { fallbackColor })
1361
+ }))
1362
+ return this
1363
+ }
1364
+
1365
+ glassmorphism(intensity: 'subtle' | 'light' | 'medium' | 'heavy' = 'medium', customFallback?: ColorValue): ModifierBuilder<T> {
1366
+ const presets = {
1367
+ subtle: { config: { blur: 3, saturate: 1.05, brightness: 1.05 }, fallbackColor: 'rgba(255, 255, 255, 0.05)' },
1368
+ light: { config: { blur: 8, saturate: 1.15, brightness: 1.1 }, fallbackColor: 'rgba(255, 255, 255, 0.1)' },
1369
+ medium: { config: { blur: 16, saturate: 1.3, brightness: 1.15 }, fallbackColor: 'rgba(255, 255, 255, 0.15)' },
1370
+ heavy: { config: { blur: 24, saturate: 1.5, brightness: 1.2 }, fallbackColor: 'rgba(255, 255, 255, 0.2)' }
1371
+ }
1372
+ const preset = presets[intensity]
1373
+ this.modifiers.push(new BackdropFilterModifier({
1374
+ backdropFilter: preset.config,
1375
+ fallbackColor: customFallback || preset.fallbackColor
1376
+ }))
1377
+ return this
1378
+ }
1379
+
1380
+ before(styles: { content: string; color?: string; [key: string]: any }): ModifierBuilder<T> {
1381
+ this.modifiers.push(beforeModifier(styles))
1382
+ return this
1383
+ }
1384
+
1385
+ after(styles: { content: string; color?: string; [key: string]: any }): ModifierBuilder<T> {
1386
+ this.modifiers.push(afterModifier(styles))
1387
+ return this
1388
+ }
1389
+
1390
+ disabled(isDisabled: boolean | Signal<boolean> = true): ModifierBuilder<T> {
1391
+ this.modifiers.push(new InteractionModifier({ disabled: isDisabled }))
1392
+ return this
1393
+ }
1394
+
1395
+ draggable(isDraggable: boolean = true): ModifierBuilder<T> {
1396
+ this.modifiers.push(new InteractionModifier({ draggable: isDraggable }))
1397
+ return this
1398
+ }
1399
+
1400
+ setAttribute(name: string, value: string): ModifierBuilder<T> {
1401
+ // Create a custom modifier for setting arbitrary attributes
1402
+ this.modifiers.push({
1403
+ type: 'attribute',
1404
+ priority: 50,
1405
+ properties: { name, value },
1406
+ apply: (_node, context) => {
1407
+ if (context.element) {
1408
+ context.element.setAttribute(name, value)
1409
+ }
1410
+ return undefined
1411
+ },
1412
+ })
1413
+ return this
1414
+ }
1415
+
1416
+ accessibilityLabel(label: string): ModifierBuilder<T> {
1417
+ this.modifiers.push(new InteractionModifier({ accessibilityLabel: label }))
1418
+ return this
1419
+ }
1420
+
1421
+ // Phase 4 Advanced Gesture Modifiers (Epic: Butternut)
1422
+
1423
+ onLongPressGesture(options: {
1424
+ minimumDuration?: number
1425
+ maximumDistance?: number
1426
+ perform: () => void
1427
+ onPressingChanged?: (isPressing: boolean) => void
1428
+ }): ModifierBuilder<T> {
1429
+ this.modifiers.push(new InteractionModifier({ onLongPressGesture: options }))
1430
+ return this
1431
+ }
1432
+
1433
+ keyboardShortcut(
1434
+ key: string,
1435
+ modifiers: ('cmd' | 'ctrl' | 'shift' | 'alt' | 'meta')[],
1436
+ action: () => void
1437
+ ): ModifierBuilder<T> {
1438
+ this.modifiers.push(new InteractionModifier({
1439
+ keyboardShortcut: { key, modifiers, action }
1440
+ }))
1441
+ return this
1442
+ }
1443
+
1444
+ focused(binding: boolean | Signal<boolean>): ModifierBuilder<T> {
1445
+ this.modifiers.push(new InteractionModifier({ focused: binding }))
1446
+ return this
1447
+ }
1448
+
1449
+ focusable(
1450
+ isFocusable: boolean = true,
1451
+ interactions?: ('activate' | 'edit')[]
1452
+ ): ModifierBuilder<T> {
1453
+ this.modifiers.push(new InteractionModifier({
1454
+ focusable: { isFocusable, interactions }
1455
+ }))
1456
+ return this
1457
+ }
1458
+
1459
+ onContinuousHover(
1460
+ coordinateSpace: 'local' | 'global',
1461
+ perform: (location: { x: number; y: number } | null) => void
1462
+ ): ModifierBuilder<T> {
1463
+ this.modifiers.push(new InteractionModifier({
1464
+ onContinuousHover: { coordinateSpace, perform }
1465
+ }))
1466
+ return this
1467
+ }
1468
+
1469
+ highPriorityGesture(
1470
+ gesture: any,
1471
+ including?: ('all' | 'subviews' | 'none')[]
1472
+ ): ModifierBuilder<T> {
1473
+ this.modifiers.push(new InteractionModifier({
1474
+ highPriorityGesture: { gesture, including }
1475
+ }))
1476
+ return this
1477
+ }
1478
+
1479
+ simultaneousGesture(
1480
+ gesture: any,
1481
+ including?: ('all' | 'subviews' | 'none')[]
1482
+ ): ModifierBuilder<T> {
1483
+ this.modifiers.push(new InteractionModifier({
1484
+ simultaneousGesture: { gesture, including }
1485
+ }))
1486
+ return this
1487
+ }
1488
+
1489
+ allowsHitTesting(enabled: boolean): ModifierBuilder<T> {
1490
+ this.modifiers.push(new InteractionModifier({ allowsHitTesting: enabled }))
1491
+ return this
1492
+ }
1493
+
1494
+ // Animation modifiers
1495
+ transform(value: string | Signal<string>): ModifierBuilder<T> {
1496
+ this.modifiers.push(new AnimationModifier({ transform: value }))
1497
+ return this
1498
+ }
1499
+
1500
+ animation(options: AnimationModifierProps['animation']): ModifierBuilder<T> {
1501
+ this.modifiers.push(new AnimationModifier({ animation: options }))
1502
+ return this
1503
+ }
1504
+
1505
+ // Lifecycle modifiers
1506
+ onAppear(handler: () => void): ModifierBuilder<T> {
1507
+ this.modifiers.push(new LifecycleModifier({ onAppear: handler }))
1508
+ return this
1509
+ }
1510
+
1511
+ onDisappear(handler: () => void): ModifierBuilder<T> {
1512
+ this.modifiers.push(new LifecycleModifier({ onDisappear: handler }))
1513
+ return this
1514
+ }
1515
+
1516
+ task(
1517
+ operation: () => Promise<void> | void,
1518
+ options?: { id?: string; priority?: 'background' | 'userInitiated' | 'utility' | 'default' }
1519
+ ): ModifierBuilder<T> {
1520
+ this.modifiers.push(
1521
+ new LifecycleModifier({
1522
+ task: {
1523
+ operation,
1524
+ id: options?.id,
1525
+ priority: options?.priority || 'default',
1526
+ },
1527
+ })
1528
+ )
1529
+ return this
1530
+ }
1531
+
1532
+ refreshable(
1533
+ onRefresh: () => Promise<void>,
1534
+ isRefreshing?: boolean | Signal<boolean>
1535
+ ): ModifierBuilder<T> {
1536
+ this.modifiers.push(
1537
+ new LifecycleModifier({
1538
+ refreshable: {
1539
+ onRefresh,
1540
+ isRefreshing,
1541
+ },
1542
+ })
1543
+ )
1544
+ return this
1545
+ }
1546
+
1547
+ // Custom modifier application
1548
+ modifier(modifier: Modifier): ModifierBuilder<T> {
1549
+ this.modifiers.push(modifier)
1550
+ return this
1551
+ }
1552
+
1553
+ // Resizable modifier for images
1554
+ resizable(): ModifierBuilder<T> {
1555
+ this.modifiers.push(new ResizableModifier({}))
1556
+ return this
1557
+ }
1558
+
1559
+ // Responsive Design Methods
1560
+
1561
+ /**
1562
+ * Add modifier to internal list (used by responsive builder)
1563
+ */
1564
+ addModifier(modifier: Modifier): void {
1565
+ this.modifiers.push(modifier)
1566
+
1567
+ // If the component is modifiable, automatically update its modifiers array
1568
+ if ('modifiers' in this.component && Array.isArray((this.component as any).modifiers)) {
1569
+ const modifiableComponent = this.component as any
1570
+ modifiableComponent.modifiers = [...modifiableComponent.modifiers, modifier]
1571
+ }
1572
+ }
1573
+
1574
+ /**
1575
+ * Get responsive builder interface for this builder
1576
+ */
1577
+ responsive(): ResponsiveModifierBuilder<T>
1578
+
1579
+ /**
1580
+ * Apply responsive styles with configuration object
1581
+ */
1582
+ responsive(config: ResponsiveStyleConfig): ModifierBuilder<T>
1583
+
1584
+ responsive(config?: ResponsiveStyleConfig): ResponsiveModifierBuilder<T> | ModifierBuilder<T> {
1585
+ if (config) {
1586
+ // Apply the responsive modifier directly and return this builder
1587
+ const modifier = createResponsiveModifier(config)
1588
+ this.modifiers.push(modifier)
1589
+ return this
1590
+ } else {
1591
+ // Return responsive builder for chaining
1592
+ return new ResponsiveModifierBuilderImpl(this)
1593
+ }
1594
+ }
1595
+
1596
+ // Responsive Breakpoint Shorthand Properties
1597
+ get base(): ResponsiveBreakpointBuilder<T> {
1598
+ return new ResponsiveModifierBuilderImpl(this).base
1599
+ }
1600
+
1601
+ get sm(): ResponsiveBreakpointBuilder<T> {
1602
+ return new ResponsiveModifierBuilderImpl(this).sm
1603
+ }
1604
+
1605
+ get md(): ResponsiveBreakpointBuilder<T> {
1606
+ return new ResponsiveModifierBuilderImpl(this).md
1607
+ }
1608
+
1609
+ get lg(): ResponsiveBreakpointBuilder<T> {
1610
+ return new ResponsiveModifierBuilderImpl(this).lg
1611
+ }
1612
+
1613
+ get xl(): ResponsiveBreakpointBuilder<T> {
1614
+ return new ResponsiveModifierBuilderImpl(this).xl
1615
+ }
1616
+
1617
+ get '2xl'(): ResponsiveBreakpointBuilder<T> {
1618
+ return new ResponsiveModifierBuilderImpl(this)['2xl']
1619
+ }
1620
+
1621
+ // HTML Content Rendering (Text components only)
1622
+ asHTML(options?: AsHTMLOptions): ModifierBuilder<T> {
1623
+ const modifier = asHTML(options)
1624
+ this.modifiers.push(modifier)
1625
+ return this
1626
+ }
1627
+
1628
+ // Build the final component with all modifiers applied
1629
+ build(): T {
1630
+ // Check if this component is already modifiable (from withModifiers)
1631
+ if ('modifiers' in this.component) {
1632
+ // Update the existing modifiable component with new modifiers
1633
+ const existingModifiable = this.component as ModifiableComponent
1634
+
1635
+ // Only add modifiers that aren't already in the component's modifiers array
1636
+ // This prevents duplicates when addModifier has already added them
1637
+ const newModifiers = this.modifiers.filter(builderModifier =>
1638
+ !existingModifiable.modifiers.some(existingModifier =>
1639
+ existingModifier === builderModifier // Reference equality check
1640
+ )
1641
+ )
1642
+
1643
+ existingModifiable.modifiers = [...existingModifiable.modifiers, ...newModifiers]
1644
+ return this.component as T
1645
+ } else {
1646
+ // Create a new modifiable component with the accumulated modifiers using the proper factory
1647
+ const modifiableComponent = createModifiableComponent(this.component as any, this.modifiers)
1648
+ return modifiableComponent as unknown as T
1649
+ }
1650
+ }
1651
+ }
1652
+
1653
+ /**
1654
+ * Create a modifier builder for a component
1655
+ */
1656
+ export function createModifierBuilder<T extends ComponentInstance>(
1657
+ component: T
1658
+ ): ModifierBuilder<T> {
1659
+ return new ModifierBuilderImpl(component)
1660
+ }
1661
+
1662
+ /**
1663
+ * Apply modifiers to a component instance
1664
+ */
1665
+ export function applyModifiers<T extends ComponentInstance>(
1666
+ component: T,
1667
+ modifiers: Modifier[]
1668
+ ): ModifiableComponent<ComponentProps> {
1669
+ return {
1670
+ ...component,
1671
+ modifiers,
1672
+ modifierBuilder: createModifierBuilder(component) as any,
1673
+ }
1674
+ }
1675
+
1676
+ /**
1677
+ * Utility functions for common modifier patterns
1678
+ */
1679
+ export const modifierUtils = {
1680
+ /**
1681
+ * Create a padding modifier with all sides
1682
+ */
1683
+ paddingAll(value: number): Modifier {
1684
+ return new LayoutModifier({ padding: value })
1685
+ },
1686
+
1687
+ /**
1688
+ * Create a padding modifier with horizontal/vertical values
1689
+ */
1690
+ paddingSymmetric(horizontal?: number, vertical?: number): Modifier {
1691
+ return new LayoutModifier({
1692
+ padding: {
1693
+ left: horizontal,
1694
+ right: horizontal,
1695
+ top: vertical,
1696
+ bottom: vertical,
1697
+ },
1698
+ })
1699
+ },
1700
+
1701
+ /**
1702
+ * Create a margin modifier with all sides
1703
+ */
1704
+ marginAll(value: number): Modifier {
1705
+ return new LayoutModifier({ margin: value })
1706
+ },
1707
+
1708
+ /**
1709
+ * Create a font modifier with common presets
1710
+ */
1711
+ fontPreset(preset: 'title' | 'heading' | 'body' | 'caption'): Modifier {
1712
+ const presets = {
1713
+ title: { size: 32, weight: 'bold' as const },
1714
+ heading: { size: 24, weight: '600' as const },
1715
+ body: { size: 16, weight: 'normal' as const },
1716
+ caption: { size: 12, weight: 'normal' as const },
1717
+ }
1718
+
1719
+ return new AppearanceModifier({ font: presets[preset] })
1720
+ },
1721
+
1722
+ /**
1723
+ * Create a shadow modifier with common presets
1724
+ */
1725
+ shadowPreset(preset: 'small' | 'medium' | 'large'): Modifier {
1726
+ const presets = {
1727
+ small: { x: 0, y: 1, radius: 3, color: 'rgba(0,0,0,0.12)' },
1728
+ medium: { x: 0, y: 4, radius: 6, color: 'rgba(0,0,0,0.15)' },
1729
+ large: { x: 0, y: 10, radius: 25, color: 'rgba(0,0,0,0.15)' },
1730
+ }
1731
+
1732
+ return new AppearanceModifier({ shadow: presets[preset] })
1733
+ },
1734
+
1735
+ /**
1736
+ * Create a transition modifier with common presets
1737
+ */
1738
+ transitionPreset(preset: 'fast' | 'normal' | 'slow'): Modifier {
1739
+ const presets = {
1740
+ fast: { duration: 150, easing: 'ease-out' },
1741
+ normal: { duration: 300, easing: 'ease' },
1742
+ slow: { duration: 500, easing: 'ease-in-out' },
1743
+ }
1744
+
1745
+ return new AnimationModifier({ transition: presets[preset] })
1746
+ },
1747
+ }