@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,385 @@
1
+ import "../reactive/cleanup.js";
2
+ import "../reactive/unified-scheduler.js";
3
+ import { createSignal as l } from "../reactive/signal.js";
4
+ import "../reactive/scheduler.js";
5
+ import "../reactive/theme.js";
6
+ import { globalErrorManager as c } from "./error-boundary.js";
7
+ var y = Object.defineProperty, f = (i, t, e) => t in i ? y(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e, a = (i, t, e) => f(i, typeof t != "symbol" ? t + "" : t, e);
8
+ class n {
9
+ constructor(t = {}) {
10
+ a(this, "state", "closed"), a(this, "failureCount", 0), a(this, "lastFailureTime", 0), a(this, "successCount", 0), a(this, "requestCount", 0), a(this, "lastRequestTime", 0), a(this, "config"), a(this, "stateSignal"), a(this, "setState"), this.config = {
11
+ failureThreshold: 5,
12
+ resetTimeout: 6e4,
13
+ // 1 minute
14
+ monitoringPeriod: 3e5,
15
+ // 5 minutes
16
+ minimumThroughput: 10,
17
+ ...t
18
+ };
19
+ const [e, r] = l("closed");
20
+ this.stateSignal = e, this.setState = r;
21
+ }
22
+ /**
23
+ * Execute function with circuit breaker protection
24
+ */
25
+ async execute(t) {
26
+ if (this.updateRequestCount(), this.state === "open")
27
+ if (this.shouldAttemptReset())
28
+ this.state = "half-open", this.setState("half-open");
29
+ else
30
+ throw new Error("Circuit breaker is open");
31
+ try {
32
+ const e = await t();
33
+ return this.onSuccess(), e;
34
+ } catch (e) {
35
+ throw this.onFailure(), e;
36
+ }
37
+ }
38
+ /**
39
+ * Handle successful execution
40
+ */
41
+ onSuccess() {
42
+ this.successCount++, this.state === "half-open" && this.reset();
43
+ }
44
+ /**
45
+ * Handle failed execution
46
+ */
47
+ onFailure() {
48
+ this.failureCount++, this.lastFailureTime = Date.now(), this.shouldTrip() && this.trip();
49
+ }
50
+ /**
51
+ * Check if circuit breaker should trip to open state
52
+ */
53
+ shouldTrip() {
54
+ return this.failureCount >= this.config.failureThreshold && this.requestCount >= this.config.minimumThroughput;
55
+ }
56
+ /**
57
+ * Trip circuit breaker to open state
58
+ */
59
+ trip() {
60
+ this.state = "open", this.setState("open"), c.reportError(
61
+ c.createTachUIError(new Error("Circuit breaker tripped"), {
62
+ category: "component_error",
63
+ severity: "medium",
64
+ context: {
65
+ failureCount: this.failureCount,
66
+ requestCount: this.requestCount
67
+ }
68
+ })
69
+ );
70
+ }
71
+ /**
72
+ * Check if should attempt reset from open state
73
+ */
74
+ shouldAttemptReset() {
75
+ return Date.now() - this.lastFailureTime >= this.config.resetTimeout;
76
+ }
77
+ /**
78
+ * Reset circuit breaker to closed state
79
+ */
80
+ reset() {
81
+ this.state = "closed", this.failureCount = 0, this.successCount = 0, this.setState("closed");
82
+ }
83
+ /**
84
+ * Update request count for monitoring period
85
+ */
86
+ updateRequestCount() {
87
+ const t = Date.now();
88
+ t - this.lastRequestTime > this.config.monitoringPeriod && (this.requestCount = 0), this.requestCount++, this.lastRequestTime = t;
89
+ }
90
+ /**
91
+ * Get current state
92
+ */
93
+ getState() {
94
+ return this.state;
95
+ }
96
+ /**
97
+ * Get state signal
98
+ */
99
+ getStateSignal() {
100
+ return this.stateSignal;
101
+ }
102
+ /**
103
+ * Get metrics
104
+ */
105
+ getMetrics() {
106
+ return {
107
+ state: this.state,
108
+ failureCount: this.failureCount,
109
+ successCount: this.successCount,
110
+ requestCount: this.requestCount,
111
+ failureRate: this.requestCount > 0 ? this.failureCount / this.requestCount : 0
112
+ };
113
+ }
114
+ }
115
+ class u {
116
+ constructor(t = {}) {
117
+ a(this, "config"), this.config = {
118
+ maxAttempts: 3,
119
+ baseDelay: 1e3,
120
+ maxDelay: 3e4,
121
+ backoffMultiplier: 2,
122
+ jitter: !0,
123
+ retryableErrors: [],
124
+ // Empty means retry all errors by default (except non-retryable)
125
+ nonRetryableErrors: ["ValidationError", "AuthenticationError"],
126
+ ...t
127
+ };
128
+ }
129
+ /**
130
+ * Execute function with retry policy
131
+ */
132
+ async execute(t) {
133
+ let e;
134
+ for (let r = 1; r <= this.config.maxAttempts; r++)
135
+ try {
136
+ return await t();
137
+ } catch (s) {
138
+ if (e = s, !this.shouldRetry(s, r))
139
+ throw s;
140
+ if (r < this.config.maxAttempts) {
141
+ const o = this.calculateDelay(r);
142
+ await this.sleep(o), c.reportError(
143
+ c.createTachUIError(s, {
144
+ category: "network_error",
145
+ severity: "low",
146
+ context: {
147
+ attempt: r,
148
+ nextDelay: o,
149
+ retryPolicy: !0
150
+ }
151
+ })
152
+ );
153
+ }
154
+ }
155
+ throw e;
156
+ }
157
+ /**
158
+ * Check if error should be retried
159
+ */
160
+ shouldRetry(t, e) {
161
+ if (e >= this.config.maxAttempts)
162
+ return !1;
163
+ const r = t.constructor.name;
164
+ return this.config.nonRetryableErrors.includes(r) ? !1 : this.config.retryableErrors.length > 0 ? this.config.retryableErrors.includes(r) : !["ValidationError", "AuthenticationError", "AuthorizationError"].includes(r);
165
+ }
166
+ /**
167
+ * Calculate delay for next retry
168
+ */
169
+ calculateDelay(t) {
170
+ const e = this.config.baseDelay * this.config.backoffMultiplier ** (t - 1);
171
+ let r = Math.min(e, this.config.maxDelay);
172
+ return this.config.jitter && (r = r * (0.5 + Math.random() * 0.5)), Math.floor(r);
173
+ }
174
+ /**
175
+ * Sleep for specified duration
176
+ */
177
+ sleep(t) {
178
+ return new Promise((e) => setTimeout(e, t));
179
+ }
180
+ /**
181
+ * Get configuration
182
+ */
183
+ getConfig() {
184
+ return { ...this.config };
185
+ }
186
+ }
187
+ class h {
188
+ constructor() {
189
+ a(this, "cache", /* @__PURE__ */ new Map());
190
+ }
191
+ /**
192
+ * Execute with fallback
193
+ */
194
+ async executeWithFallback(t, e) {
195
+ try {
196
+ return e.timeout ? await this.withTimeout(t(), e.timeout) : await t();
197
+ } catch (r) {
198
+ return this.getFallbackValue(e, r);
199
+ }
200
+ }
201
+ /**
202
+ * Get fallback value
203
+ */
204
+ async getFallbackValue(t, e) {
205
+ if (t.cache && t.cacheKey) {
206
+ const s = this.getCachedValue(t.cacheKey, t.cacheTimeout || 3e5);
207
+ if (s !== null)
208
+ return s;
209
+ }
210
+ let r;
211
+ if (t.factory)
212
+ r = await t.factory();
213
+ else if (t.value !== void 0)
214
+ r = t.value;
215
+ else
216
+ throw e;
217
+ return t.cache && t.cacheKey && this.setCachedValue(t.cacheKey, r), r;
218
+ }
219
+ /**
220
+ * Execute with timeout
221
+ */
222
+ withTimeout(t, e) {
223
+ return new Promise((r, s) => {
224
+ const o = setTimeout(() => {
225
+ s(new Error(`Operation timed out after ${e}ms`));
226
+ }, e);
227
+ t.then(r).catch(s).finally(() => clearTimeout(o));
228
+ });
229
+ }
230
+ /**
231
+ * Get cached value
232
+ */
233
+ getCachedValue(t, e) {
234
+ const r = this.cache.get(t);
235
+ return r ? Date.now() - r.timestamp > e ? (this.cache.delete(t), null) : r.value : null;
236
+ }
237
+ /**
238
+ * Set cached value
239
+ */
240
+ setCachedValue(t, e) {
241
+ this.cache.set(t, { value: e, timestamp: Date.now() });
242
+ }
243
+ /**
244
+ * Clear cache
245
+ */
246
+ clearCache() {
247
+ this.cache.clear();
248
+ }
249
+ }
250
+ class m {
251
+ constructor(t, e) {
252
+ a(this, "circuitBreaker"), a(this, "retryPolicy"), a(this, "fallbackManager", new h()), t && (this.circuitBreaker = new n(t)), e && (this.retryPolicy = new u(e));
253
+ }
254
+ /**
255
+ * Execute with all recovery mechanisms
256
+ */
257
+ async execute(t, e) {
258
+ const r = this.wrapWithRecovery(t);
259
+ return e ? this.fallbackManager.executeWithFallback(r, e) : r();
260
+ }
261
+ /**
262
+ * Wrap function with recovery mechanisms
263
+ */
264
+ wrapWithRecovery(t) {
265
+ let e = t;
266
+ if (this.retryPolicy) {
267
+ const r = e;
268
+ e = () => this.retryPolicy.execute(r);
269
+ }
270
+ if (this.circuitBreaker) {
271
+ const r = e;
272
+ e = () => this.circuitBreaker.execute(r);
273
+ }
274
+ return e;
275
+ }
276
+ /**
277
+ * Get circuit breaker metrics
278
+ */
279
+ getCircuitBreakerMetrics() {
280
+ return this.circuitBreaker?.getMetrics();
281
+ }
282
+ /**
283
+ * Get retry policy configuration
284
+ */
285
+ getRetryPolicyConfig() {
286
+ return this.retryPolicy?.getConfig();
287
+ }
288
+ }
289
+ const E = {
290
+ /**
291
+ * Create a robust function wrapper with all recovery mechanisms
292
+ */
293
+ createRobustFunction(i, t = {}) {
294
+ const e = new m(t.circuitBreaker, t.retryPolicy);
295
+ return (async (...r) => {
296
+ try {
297
+ return await e.execute(() => i(...r), t.fallback);
298
+ } catch (s) {
299
+ if (t.onError) {
300
+ const o = c.createTachUIError(s, {
301
+ category: "network_error"
302
+ });
303
+ t.onError(o);
304
+ }
305
+ throw s;
306
+ }
307
+ });
308
+ },
309
+ /**
310
+ * Create simple retry wrapper
311
+ */
312
+ withRetry(i, t = 3, e = 1e3) {
313
+ const r = new u({
314
+ maxAttempts: t,
315
+ baseDelay: e
316
+ });
317
+ return ((...s) => r.execute(() => i(...s)));
318
+ },
319
+ /**
320
+ * Create circuit breaker wrapper
321
+ */
322
+ withCircuitBreaker(i, t) {
323
+ const e = new n(t);
324
+ return ((...r) => e.execute(() => i(...r)));
325
+ },
326
+ /**
327
+ * Create fallback wrapper
328
+ */
329
+ withFallback(i, t) {
330
+ const e = new h();
331
+ return ((...r) => e.executeWithFallback(() => i(...r), {
332
+ factory: typeof t == "function" ? t : void 0,
333
+ value: typeof t != "function" ? t : void 0
334
+ }));
335
+ }
336
+ }, T = {
337
+ /**
338
+ * Configuration for network requests
339
+ */
340
+ network: {
341
+ circuitBreaker: {
342
+ failureThreshold: 5,
343
+ resetTimeout: 6e4,
344
+ monitoringPeriod: 3e5
345
+ },
346
+ retryPolicy: {
347
+ maxAttempts: 3,
348
+ baseDelay: 1e3,
349
+ backoffMultiplier: 2,
350
+ jitter: !0,
351
+ retryableErrors: ["NetworkError", "TimeoutError", "ServiceUnavailable"]
352
+ }
353
+ },
354
+ /**
355
+ * Configuration for component rendering
356
+ */
357
+ component: {
358
+ retryPolicy: {
359
+ maxAttempts: 2,
360
+ baseDelay: 100,
361
+ backoffMultiplier: 1.5,
362
+ jitter: !1,
363
+ retryableErrors: ["RenderError", "ComponentError"]
364
+ }
365
+ },
366
+ /**
367
+ * Configuration for reactive operations
368
+ */
369
+ reactive: {
370
+ retryPolicy: {
371
+ maxAttempts: 1,
372
+ baseDelay: 0,
373
+ retryableErrors: []
374
+ }
375
+ }
376
+ };
377
+ export {
378
+ n as CircuitBreaker,
379
+ h as FallbackManager,
380
+ m as RecoveryOrchestrator,
381
+ u as RetryPolicy,
382
+ T as recoveryPresets,
383
+ E as recoveryUtils
384
+ };
385
+ //# sourceMappingURL=error-recovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-recovery.js","sources":["../../src/runtime/error-recovery.ts"],"sourcesContent":["/**\n * Error Recovery Mechanisms (Phase 3.2.3)\n *\n * Advanced error recovery strategies and retry logic for TachUI.\n * Provides intelligent error handling, circuit breakers, and recovery patterns.\n */\n\nimport { createSignal } from '../reactive'\nimport { globalErrorManager, type TachUIError } from './error-boundary'\n\n/**\n * Circuit breaker states\n */\nexport type CircuitBreakerState = 'closed' | 'open' | 'half-open'\n\n/**\n * Circuit breaker configuration\n */\nexport interface CircuitBreakerConfig {\n failureThreshold: number\n resetTimeout: number\n monitoringPeriod: number\n minimumThroughput: number\n}\n\n/**\n * Retry policy configuration\n */\nexport interface RetryPolicyConfig {\n maxAttempts: number\n baseDelay: number\n maxDelay: number\n backoffMultiplier: number\n jitter: boolean\n retryableErrors: string[]\n nonRetryableErrors: string[]\n}\n\n/**\n * Fallback configuration\n */\nexport interface FallbackConfig<T> {\n value?: T\n factory?: () => T | Promise<T>\n timeout?: number\n cache?: boolean\n cacheKey?: string\n cacheTimeout?: number\n}\n\n/**\n * Circuit breaker implementation\n */\nexport class CircuitBreaker {\n private state: CircuitBreakerState = 'closed'\n private failureCount = 0\n private lastFailureTime = 0\n private successCount = 0\n private requestCount = 0\n private lastRequestTime = 0\n\n private config: CircuitBreakerConfig\n private stateSignal: () => CircuitBreakerState\n private setState: (value: CircuitBreakerState) => void\n\n constructor(config: Partial<CircuitBreakerConfig> = {}) {\n this.config = {\n failureThreshold: 5,\n resetTimeout: 60000, // 1 minute\n monitoringPeriod: 300000, // 5 minutes\n minimumThroughput: 10,\n ...config,\n }\n\n // Initialize reactive state\n const [stateSignal, setState] = createSignal<CircuitBreakerState>('closed')\n this.stateSignal = stateSignal\n this.setState = setState\n }\n\n /**\n * Execute function with circuit breaker protection\n */\n async execute<R>(fn: () => Promise<R>): Promise<R> {\n this.updateRequestCount()\n\n if (this.state === 'open') {\n if (this.shouldAttemptReset()) {\n this.state = 'half-open'\n this.setState('half-open')\n } else {\n throw new Error('Circuit breaker is open')\n }\n }\n\n try {\n const result = await fn()\n this.onSuccess()\n return result\n } catch (error) {\n this.onFailure()\n throw error\n }\n }\n\n /**\n * Handle successful execution\n */\n private onSuccess(): void {\n this.successCount++\n\n if (this.state === 'half-open') {\n this.reset()\n }\n }\n\n /**\n * Handle failed execution\n */\n private onFailure(): void {\n this.failureCount++\n this.lastFailureTime = Date.now()\n\n if (this.shouldTrip()) {\n this.trip()\n }\n }\n\n /**\n * Check if circuit breaker should trip to open state\n */\n private shouldTrip(): boolean {\n return (\n this.failureCount >= this.config.failureThreshold &&\n this.requestCount >= this.config.minimumThroughput\n )\n }\n\n /**\n * Trip circuit breaker to open state\n */\n private trip(): void {\n this.state = 'open'\n this.setState('open')\n\n globalErrorManager.reportError(\n globalErrorManager.createTachUIError(new Error('Circuit breaker tripped'), {\n category: 'component_error',\n severity: 'medium',\n context: {\n failureCount: this.failureCount,\n requestCount: this.requestCount,\n },\n })\n )\n }\n\n /**\n * Check if should attempt reset from open state\n */\n private shouldAttemptReset(): boolean {\n return Date.now() - this.lastFailureTime >= this.config.resetTimeout\n }\n\n /**\n * Reset circuit breaker to closed state\n */\n private reset(): void {\n this.state = 'closed'\n this.failureCount = 0\n this.successCount = 0\n this.setState('closed')\n }\n\n /**\n * Update request count for monitoring period\n */\n private updateRequestCount(): void {\n const now = Date.now()\n\n if (now - this.lastRequestTime > this.config.monitoringPeriod) {\n this.requestCount = 0\n }\n\n this.requestCount++\n this.lastRequestTime = now\n }\n\n /**\n * Get current state\n */\n getState(): CircuitBreakerState {\n return this.state\n }\n\n /**\n * Get state signal\n */\n getStateSignal(): () => CircuitBreakerState {\n return this.stateSignal\n }\n\n /**\n * Get metrics\n */\n getMetrics(): {\n state: CircuitBreakerState\n failureCount: number\n successCount: number\n requestCount: number\n failureRate: number\n } {\n return {\n state: this.state,\n failureCount: this.failureCount,\n successCount: this.successCount,\n requestCount: this.requestCount,\n failureRate: this.requestCount > 0 ? this.failureCount / this.requestCount : 0,\n }\n }\n}\n\n/**\n * Retry policy implementation\n */\nexport class RetryPolicy {\n private config: RetryPolicyConfig\n\n constructor(config: Partial<RetryPolicyConfig> = {}) {\n this.config = {\n maxAttempts: 3,\n baseDelay: 1000,\n maxDelay: 30000,\n backoffMultiplier: 2,\n jitter: true,\n retryableErrors: [], // Empty means retry all errors by default (except non-retryable)\n nonRetryableErrors: ['ValidationError', 'AuthenticationError'],\n ...config,\n }\n }\n\n /**\n * Execute function with retry policy\n */\n async execute<T>(fn: () => Promise<T>): Promise<T> {\n let lastError: Error\n\n for (let attempt = 1; attempt <= this.config.maxAttempts; attempt++) {\n try {\n return await fn()\n } catch (error) {\n lastError = error as Error\n\n if (!this.shouldRetry(error as Error, attempt)) {\n throw error\n }\n\n if (attempt < this.config.maxAttempts) {\n const delay = this.calculateDelay(attempt)\n await this.sleep(delay)\n\n // Report retry attempt\n globalErrorManager.reportError(\n globalErrorManager.createTachUIError(error as Error, {\n category: 'network_error',\n severity: 'low',\n context: {\n attempt,\n nextDelay: delay,\n retryPolicy: true,\n },\n })\n )\n }\n }\n }\n\n throw lastError!\n }\n\n /**\n * Check if error should be retried\n */\n private shouldRetry(error: Error, attempt: number): boolean {\n if (attempt >= this.config.maxAttempts) {\n return false\n }\n\n const errorName = error.constructor.name\n\n // Check non-retryable errors first\n if (this.config.nonRetryableErrors.includes(errorName)) {\n return false\n }\n\n // Check retryable errors - if empty, allow retries by default\n if (this.config.retryableErrors.length > 0) {\n return this.config.retryableErrors.includes(errorName)\n }\n\n // Default: retry most errors except validation/auth\n return !['ValidationError', 'AuthenticationError', 'AuthorizationError'].includes(errorName)\n }\n\n /**\n * Calculate delay for next retry\n */\n private calculateDelay(attempt: number): number {\n const exponentialDelay = this.config.baseDelay * this.config.backoffMultiplier ** (attempt - 1)\n let delay = Math.min(exponentialDelay, this.config.maxDelay)\n\n // Add jitter to prevent thundering herd\n if (this.config.jitter) {\n delay = delay * (0.5 + Math.random() * 0.5)\n }\n\n return Math.floor(delay)\n }\n\n /**\n * Sleep for specified duration\n */\n private sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms))\n }\n\n /**\n * Get configuration\n */\n getConfig(): RetryPolicyConfig {\n return { ...this.config }\n }\n}\n\n/**\n * Fallback manager\n */\nexport class FallbackManager<T> {\n private cache = new Map<string, { value: T; timestamp: number }>()\n\n /**\n * Execute with fallback\n */\n async executeWithFallback<R>(\n fn: () => Promise<R>,\n fallbackConfig: FallbackConfig<R>\n ): Promise<R> {\n try {\n // Try with timeout if specified\n if (fallbackConfig.timeout) {\n return await this.withTimeout(fn(), fallbackConfig.timeout)\n } else {\n return await fn()\n }\n } catch (error) {\n return this.getFallbackValue(fallbackConfig, error as Error)\n }\n }\n\n /**\n * Get fallback value\n */\n private async getFallbackValue<R>(config: FallbackConfig<R>, error: Error): Promise<R> {\n // Check cache first\n if (config.cache && config.cacheKey) {\n const cached = this.getCachedValue<R>(config.cacheKey, config.cacheTimeout || 300000)\n if (cached !== null) {\n return cached\n }\n }\n\n let fallbackValue: R\n\n // Get fallback value\n if (config.factory) {\n fallbackValue = await config.factory()\n } else if (config.value !== undefined) {\n fallbackValue = config.value\n } else {\n throw error // No fallback available\n }\n\n // Cache the fallback value\n if (config.cache && config.cacheKey) {\n this.setCachedValue(config.cacheKey, fallbackValue)\n }\n\n return fallbackValue\n }\n\n /**\n * Execute with timeout\n */\n private withTimeout<R>(promise: Promise<R>, timeout: number): Promise<R> {\n return new Promise((resolve, reject) => {\n const timer = setTimeout(() => {\n reject(new Error(`Operation timed out after ${timeout}ms`))\n }, timeout)\n\n promise\n .then(resolve)\n .catch(reject)\n .finally(() => clearTimeout(timer))\n })\n }\n\n /**\n * Get cached value\n */\n private getCachedValue<R>(key: string, maxAge: number): R | null {\n const cached = this.cache.get(key)\n if (!cached) return null\n\n if (Date.now() - cached.timestamp > maxAge) {\n this.cache.delete(key)\n return null\n }\n\n return cached.value as unknown as R\n }\n\n /**\n * Set cached value\n */\n private setCachedValue<R>(key: string, value: R): void {\n this.cache.set(key, { value: value as any, timestamp: Date.now() })\n }\n\n /**\n * Clear cache\n */\n clearCache(): void {\n this.cache.clear()\n }\n}\n\n/**\n * Composite recovery strategy\n */\nexport class RecoveryOrchestrator {\n private circuitBreaker?: CircuitBreaker\n private retryPolicy?: RetryPolicy\n private fallbackManager = new FallbackManager()\n\n constructor(\n circuitBreakerConfig?: Partial<CircuitBreakerConfig>,\n retryPolicyConfig?: Partial<RetryPolicyConfig>\n ) {\n if (circuitBreakerConfig) {\n this.circuitBreaker = new CircuitBreaker(circuitBreakerConfig)\n }\n\n if (retryPolicyConfig) {\n this.retryPolicy = new RetryPolicy(retryPolicyConfig)\n }\n }\n\n /**\n * Execute with all recovery mechanisms\n */\n async execute<T>(fn: () => Promise<T>, fallbackConfig?: FallbackConfig<T>): Promise<T> {\n const wrappedFn = this.wrapWithRecovery(fn)\n\n if (fallbackConfig) {\n return this.fallbackManager.executeWithFallback(wrappedFn, fallbackConfig)\n } else {\n return wrappedFn()\n }\n }\n\n /**\n * Wrap function with recovery mechanisms\n */\n private wrapWithRecovery<T>(fn: () => Promise<T>): () => Promise<T> {\n let wrappedFn = fn\n\n // Apply retry policy\n if (this.retryPolicy) {\n const retryFn = wrappedFn\n wrappedFn = () => this.retryPolicy!.execute(retryFn)\n }\n\n // Apply circuit breaker\n if (this.circuitBreaker) {\n const circuitFn = wrappedFn\n wrappedFn = () => this.circuitBreaker!.execute(circuitFn)\n }\n\n return wrappedFn\n }\n\n /**\n * Get circuit breaker metrics\n */\n getCircuitBreakerMetrics() {\n return this.circuitBreaker?.getMetrics()\n }\n\n /**\n * Get retry policy configuration\n */\n getRetryPolicyConfig() {\n return this.retryPolicy?.getConfig()\n }\n}\n\n/**\n * Error recovery utilities\n */\nexport const recoveryUtils = {\n /**\n * Create a robust function wrapper with all recovery mechanisms\n */\n createRobustFunction<T extends (...args: any[]) => Promise<any>>(\n fn: T,\n options: {\n circuitBreaker?: Partial<CircuitBreakerConfig>\n retryPolicy?: Partial<RetryPolicyConfig>\n fallback?: FallbackConfig<Awaited<ReturnType<T>>>\n onError?: (error: TachUIError) => void\n } = {}\n ): T {\n const orchestrator = new RecoveryOrchestrator(options.circuitBreaker, options.retryPolicy)\n\n return (async (...args: Parameters<T>): Promise<Awaited<ReturnType<T>>> => {\n try {\n return await orchestrator.execute(() => fn(...args), options.fallback)\n } catch (error) {\n if (options.onError) {\n const tachUIError = globalErrorManager.createTachUIError(error as Error, {\n category: 'network_error',\n })\n options.onError(tachUIError)\n }\n throw error\n }\n }) as T\n },\n\n /**\n * Create simple retry wrapper\n */\n withRetry<T extends (...args: any[]) => Promise<any>>(\n fn: T,\n maxAttempts: number = 3,\n baseDelay: number = 1000\n ): T {\n const retryPolicy = new RetryPolicy({\n maxAttempts,\n baseDelay,\n })\n\n return ((...args: Parameters<T>): Promise<Awaited<ReturnType<T>>> => {\n return retryPolicy.execute(() => fn(...args))\n }) as T\n },\n\n /**\n * Create circuit breaker wrapper\n */\n withCircuitBreaker<T extends (...args: any[]) => Promise<any>>(\n fn: T,\n config?: Partial<CircuitBreakerConfig>\n ): T {\n const circuitBreaker = new CircuitBreaker(config)\n\n return ((...args: Parameters<T>): Promise<Awaited<ReturnType<T>>> => {\n return circuitBreaker.execute(() => fn(...args))\n }) as T\n },\n\n /**\n * Create fallback wrapper\n */\n withFallback<T extends (...args: any[]) => Promise<any>>(\n fn: T,\n fallbackValue: Awaited<ReturnType<T>> | (() => Awaited<ReturnType<T>>)\n ): T {\n const fallbackManager = new FallbackManager()\n\n return ((...args: Parameters<T>): Promise<Awaited<ReturnType<T>>> => {\n return fallbackManager.executeWithFallback(() => fn(...args), {\n factory:\n typeof fallbackValue === 'function'\n ? (fallbackValue as () => Awaited<ReturnType<T>>)\n : undefined,\n value: typeof fallbackValue !== 'function' ? fallbackValue : undefined,\n })\n }) as T\n },\n}\n\n/**\n * Global recovery configurations\n */\nexport const recoveryPresets = {\n /**\n * Configuration for network requests\n */\n network: {\n circuitBreaker: {\n failureThreshold: 5,\n resetTimeout: 60000,\n monitoringPeriod: 300000,\n },\n retryPolicy: {\n maxAttempts: 3,\n baseDelay: 1000,\n backoffMultiplier: 2,\n jitter: true,\n retryableErrors: ['NetworkError', 'TimeoutError', 'ServiceUnavailable'],\n },\n },\n\n /**\n * Configuration for component rendering\n */\n component: {\n retryPolicy: {\n maxAttempts: 2,\n baseDelay: 100,\n backoffMultiplier: 1.5,\n jitter: false,\n retryableErrors: ['RenderError', 'ComponentError'],\n },\n },\n\n /**\n * Configuration for reactive operations\n */\n reactive: {\n retryPolicy: {\n maxAttempts: 1,\n baseDelay: 0,\n retryableErrors: [],\n },\n },\n}\n"],"names":["CircuitBreaker","config","__publicField","stateSignal","setState","createSignal","fn","result","error","globalErrorManager","now","RetryPolicy","lastError","attempt","delay","errorName","exponentialDelay","ms","resolve","FallbackManager","fallbackConfig","cached","fallbackValue","promise","timeout","reject","timer","key","maxAge","value","RecoveryOrchestrator","circuitBreakerConfig","retryPolicyConfig","wrappedFn","retryFn","circuitFn","recoveryUtils","options","orchestrator","args","tachUIError","maxAttempts","baseDelay","retryPolicy","circuitBreaker","fallbackManager","recoveryPresets"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../reactive/cleanup.cjs");require("../reactive/unified-scheduler.cjs");const p=require("../reactive/signal.cjs");require("../reactive/scheduler.cjs");require("../reactive/theme.cjs");const m=require("./error-boundary.cjs");var S=Object.defineProperty,w=(n,e,t)=>e in n?S(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,a=(n,e,t)=>w(n,typeof e!="symbol"?e+"":e,t);class d{constructor(e={}){a(this,"entries",[]),a(this,"config"),a(this,"sessionId"),a(this,"userId"),a(this,"entriesSignal"),a(this,"setEntries"),this.config={enabled:!0,logLevel:"info",batchSize:50,batchTimeout:3e4,aggregationWindow:3e5,maxRetries:3,destinations:[],enableContextCapture:!0,enableStackTrace:!0,enableUserTracking:!1,enableSessionTracking:!0,sensitiveKeys:["password","token","apiKey","secret"],enableCompression:!1,...e};const[t,s]=p.createSignal([]);this.entriesSignal=t,this.setEntries=s,this.sessionId=this.generateSessionId(),this.setupBatchProcessing()}debug(e,t){this.log("debug",e,t)}info(e,t){this.log("info",e,t)}warn(e,t){this.log("warn",e,t)}error(e,t){this.log("error",e,t)}fatal(e,t){this.log("fatal",e,t)}log(e,t,s){if(!this.config.enabled||!this.shouldLog(e))return;const o={id:this.generateId(),timestamp:Date.now(),level:e,message:t,context:this.sanitizeContext(s),userAgent:typeof window<"u"?window.navigator.userAgent:void 0,url:typeof window<"u"?window.location.href:void 0,userId:this.userId,sessionId:this.sessionId,stack:this.config.enableStackTrace?new Error().stack:void 0};this.addEntry(o),typeof console<"u"&&(console[e==="fatal"?"error":e]||console.log)(`[${e.toUpperCase()}] ${t}`,s||"")}shouldLog(e){const t=["debug","info","warn","error","fatal"],s=t.indexOf(this.config.logLevel);return t.indexOf(e)>=s}addEntry(e){this.entries.push(e),this.setEntries([...this.entries]),this.entries.length>1e3&&(this.entries=this.entries.slice(-500),this.setEntries([...this.entries]))}sanitizeContext(e){if(!e||!this.config.enableContextCapture)return;const t={...e};for(const s of this.config.sensitiveKeys)s in t&&(t[s]="[REDACTED]");return t}setupBatchProcessing(){setInterval(()=>{this.flushBatch()},this.config.batchTimeout)}async flushBatch(){if(this.entries.length===0)return;const e=this.entries.splice(0,this.config.batchSize);for(const t of this.config.destinations)if(t.isEnabled())try{await this.sendWithRetry(t,e)}catch(s){console.error(`Failed to send logs to ${t.name}:`,s)}}async sendWithRetry(e,t){let s;for(let o=1;o<=this.config.maxRetries;o++)try{await e.send(t);return}catch(r){s=r,o<this.config.maxRetries&&await this.sleep(2**o*1e3)}throw s}sleep(e){return new Promise(t=>setTimeout(t,e))}generateId(){return`log_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}generateSessionId(){return`session_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}setUserId(e){this.config.enableUserTracking&&(this.userId=e)}getEntries(){return[...this.entries]}getEntriesSignal(){return this.entriesSignal}addDestination(e){this.config.destinations.push(e)}removeDestination(e){this.config.destinations=this.config.destinations.filter(t=>t.name!==e)}clear(){this.entries.length=0,this.setEntries([])}}class b{constructor(e={}){a(this,"aggregations",new Map),a(this,"config"),a(this,"aggregationsSignal"),a(this,"setAggregations"),this.config={enabled:!0,logLevel:"error",batchSize:10,batchTimeout:6e4,aggregationWindow:3e5,maxRetries:3,destinations:[],enableContextCapture:!0,enableStackTrace:!0,enableUserTracking:!1,enableSessionTracking:!0,sensitiveKeys:[],enableCompression:!0,...e};const[t,s]=p.createSignal([]);this.aggregationsSignal=t,this.setAggregations=s,this.setupCleanup()}aggregateError(e){const t=this.generateFingerprint(e),s=this.aggregations.get(t);if(s)s.count++,s.lastSeen=e.timestamp,s.samples.push(e),s.samples.length>5&&(s.samples=s.samples.slice(-5)),e.componentId&&!s.affectedComponents.includes(e.componentId)&&s.affectedComponents.push(e.componentId);else{const o={id:t,message:e.message,category:e.category,severity:e.severity,count:1,firstSeen:e.timestamp,lastSeen:e.timestamp,affectedComponents:e.componentId?[e.componentId]:[],samples:[e],fingerprint:t};this.aggregations.set(t,o)}this.setAggregations(Array.from(this.aggregations.values()))}generateFingerprint(e){return[e.category,e.message.replace(/\d+/g,"N"),e.componentName||"unknown"].join("|")}setupCleanup(){setInterval(()=>{this.cleanupOldAggregations()},this.config.aggregationWindow)}cleanupOldAggregations(){const e=Date.now()-this.config.aggregationWindow;for(const[t,s]of this.aggregations)s.lastSeen<e&&this.aggregations.delete(t);this.setAggregations(Array.from(this.aggregations.values()))}getAggregations(){return Array.from(this.aggregations.values())}getAggregationsSignal(){return this.aggregationsSignal}getTopErrors(e=10){return Array.from(this.aggregations.values()).sort((t,s)=>s.count-t.count).slice(0,e)}clear(){this.aggregations.clear(),this.setAggregations([])}}const g={console:{name:"console",async send(n){console.group("TachUI Report"),n.forEach(e=>{"level"in e?console.log(`[${e.level}] ${e.message}`,e.context||""):console.log(`Error: ${e.message} (${e.count} times)`)}),console.groupEnd()},isEnabled(){return typeof console<"u"}},localStorage:{name:"localStorage",async send(n){try{const e="level"in n[0]?"tachui_logs":"tachui_error_aggregations",s=[...JSON.parse(localStorage.getItem(e)||"[]"),...n];s.length>100&&s.splice(0,s.length-100),localStorage.setItem(e,JSON.stringify(s))}catch(e){console.error("Failed to save to localStorage:",e)}},isEnabled(){return typeof localStorage<"u"}},createHttpDestination(n,e){return{name:"http",async send(t){const s={"Content-Type":"application/json"};e&&(s.Authorization=`Bearer ${e}`);const o=await fetch(n,{method:"POST",headers:s,body:JSON.stringify({type:"level"in t[0]?"logs":"error_aggregations",data:t,timestamp:Date.now()})});if(!o.ok)throw new Error(`HTTP ${o.status}: ${o.statusText}`)},isEnabled(){return typeof fetch<"u"}}},createWebhookDestination(n,e={}){const t=o=>({blocks:o.slice(0,5).map(i=>"level"in i?{type:"section",text:{type:"mrkdwn",text:`*${i.level.toUpperCase()}*: ${i.message}`}}:{type:"section",text:{type:"mrkdwn",text:`*Error*: ${i.message} (${i.count} occurrences)`}})}),s=o=>({embeds:[{title:"TachUI Report",description:o.slice(0,5).map(i=>"level"in i?`**${i.level.toUpperCase()}**: ${i.message}`:`**Error**: ${i.message} (${i.count} times)`).join(`
2
+ `),color:16711680}]});return{name:"webhook",async send(o){const r=e.onlyErrors?o.filter(l=>"level"in l&&["error","fatal"].includes(l.level)||"count"in l):o;if(r.length===0)return;let i;switch(e.format){case"slack":i=t(r);break;case"discord":i=s(r);break;default:i={data:r}}const f=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)});if(!f.ok)throw new Error(`Webhook failed: ${f.status}`)},isEnabled(){return typeof fetch<"u"}}}},h=new d({logLevel:"info",destinations:[g.console]}),u=new b;function c(n={}){m.globalErrorManager.addHandler(e=>{u.aggregateError(e),h.error(e.message,{category:e.category,severity:e.severity,componentId:e.componentId,componentName:e.componentName,context:e.context})})}const v={setupDevelopment(){c({destinations:[g.console,g.localStorage]})},setupProduction(n){const e=[];n.endpoint&&e.push(g.createHttpDestination(n.endpoint,n.apiKey)),n.webhookUrl&&e.push(g.createWebhookDestination(n.webhookUrl,{format:"slack",onlyErrors:!0})),c({logLevel:n.logLevel||"warn"})},createLogger(n,e){const t=new d(e),s=t.log.bind(t);return t.log=(o,r,i)=>{s(o,`[${n}] ${r}`,i)},t},getErrorReport(){return{logs:h.getEntries(),aggregations:u.getAggregations(),statistics:m.globalErrorManager.getStatistics()}}};exports.ErrorAggregator=b;exports.StructuredLogger=d;exports.globalErrorAggregator=u;exports.globalLogger=h;exports.reportDestinations=g;exports.reportingUtils=v;exports.setupErrorReporting=c;
3
+ //# sourceMappingURL=error-reporting.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-reporting.cjs","sources":["../../src/runtime/error-reporting.ts"],"sourcesContent":["/**\n * Error Reporting and Logging System (Phase 3.2.3)\n *\n * Advanced error reporting, logging, and analytics for TachUI.\n * Provides structured logging, error aggregation, and reporting pipelines.\n */\n\nimport { createSignal } from '../reactive'\nimport {\n type ErrorCategory,\n type ErrorSeverity,\n globalErrorManager,\n type TachUIError,\n} from './error-boundary'\n\n/**\n * Log levels\n */\nexport type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'fatal'\n\n/**\n * Log entry structure\n */\nexport interface LogEntry {\n id: string\n timestamp: number\n level: LogLevel\n message: string\n category?: string\n componentId?: string\n componentName?: string\n context?: Record<string, any>\n stack?: string\n userAgent?: string\n url?: string\n userId?: string\n sessionId?: string\n tags?: string[]\n}\n\n/**\n * Error aggregation data\n */\nexport interface ErrorAggregation {\n id: string\n message: string\n category: ErrorCategory\n severity: ErrorSeverity\n count: number\n firstSeen: number\n lastSeen: number\n affectedComponents: string[]\n samples: TachUIError[]\n fingerprint: string\n}\n\n/**\n * Logger interface\n */\nexport interface Logger {\n debug(message: string, context?: Record<string, any>): void\n info(message: string, context?: Record<string, any>): void\n warn(message: string, context?: Record<string, any>): void\n error(message: string, context?: Record<string, any>): void\n fatal(message: string, context?: Record<string, any>): void\n log(level: LogLevel, message: string, context?: Record<string, any>): void\n}\n\n/**\n * Report destination interface\n */\nexport interface ReportDestination {\n name: string\n send(data: LogEntry[] | ErrorAggregation[]): Promise<void>\n isEnabled(): boolean\n}\n\n/**\n * Reporting configuration\n */\nexport interface ReportingConfig {\n enabled: boolean\n logLevel: LogLevel\n batchSize: number\n batchTimeout: number\n aggregationWindow: number\n maxRetries: number\n destinations: ReportDestination[]\n enableContextCapture: boolean\n enableStackTrace: boolean\n enableUserTracking: boolean\n enableSessionTracking: boolean\n sensitiveKeys: string[]\n enableCompression: boolean\n}\n\n/**\n * Structured logger implementation\n */\nexport class StructuredLogger implements Logger {\n private entries: LogEntry[] = []\n private config: ReportingConfig\n private sessionId: string\n private userId?: string\n\n // Reactive state\n private entriesSignal: () => LogEntry[]\n private setEntries: (value: LogEntry[]) => void\n\n constructor(config: Partial<ReportingConfig> = {}) {\n this.config = {\n enabled: true,\n logLevel: 'info',\n batchSize: 50,\n batchTimeout: 30000, // 30 seconds\n aggregationWindow: 300000, // 5 minutes\n maxRetries: 3,\n destinations: [],\n enableContextCapture: true,\n enableStackTrace: true,\n enableUserTracking: false,\n enableSessionTracking: true,\n sensitiveKeys: ['password', 'token', 'apiKey', 'secret'],\n enableCompression: false,\n ...config,\n }\n\n // Initialize reactive state\n const [entriesSignal, setEntries] = createSignal<LogEntry[]>([])\n this.entriesSignal = entriesSignal\n this.setEntries = setEntries\n\n this.sessionId = this.generateSessionId()\n this.setupBatchProcessing()\n }\n\n /**\n * Debug level logging\n */\n debug(message: string, context?: Record<string, any>): void {\n this.log('debug', message, context)\n }\n\n /**\n * Info level logging\n */\n info(message: string, context?: Record<string, any>): void {\n this.log('info', message, context)\n }\n\n /**\n * Warning level logging\n */\n warn(message: string, context?: Record<string, any>): void {\n this.log('warn', message, context)\n }\n\n /**\n * Error level logging\n */\n error(message: string, context?: Record<string, any>): void {\n this.log('error', message, context)\n }\n\n /**\n * Fatal level logging\n */\n fatal(message: string, context?: Record<string, any>): void {\n this.log('fatal', message, context)\n }\n\n /**\n * Generic logging method\n */\n log(level: LogLevel, message: string, context?: Record<string, any>): void {\n if (!this.config.enabled || !this.shouldLog(level)) {\n return\n }\n\n const entry: LogEntry = {\n id: this.generateId(),\n timestamp: Date.now(),\n level,\n message,\n context: this.sanitizeContext(context),\n userAgent: typeof window !== 'undefined' ? window.navigator.userAgent : undefined,\n url: typeof window !== 'undefined' ? window.location.href : undefined,\n userId: this.userId,\n sessionId: this.sessionId,\n stack: this.config.enableStackTrace ? new Error().stack : undefined,\n }\n\n this.addEntry(entry)\n\n // Console logging in development\n if (typeof console !== 'undefined') {\n const consoleLevel = level === 'fatal' ? 'error' : level\n const consoleFn = (console as any)[consoleLevel] || console.log\n consoleFn(`[${level.toUpperCase()}] ${message}`, context || '')\n }\n }\n\n /**\n * Check if should log at given level\n */\n private shouldLog(level: LogLevel): boolean {\n const levels: LogLevel[] = ['debug', 'info', 'warn', 'error', 'fatal']\n const currentLevelIndex = levels.indexOf(this.config.logLevel)\n const requestedLevelIndex = levels.indexOf(level)\n\n return requestedLevelIndex >= currentLevelIndex\n }\n\n /**\n * Add log entry\n */\n private addEntry(entry: LogEntry): void {\n this.entries.push(entry)\n this.setEntries([...this.entries])\n\n // Limit entries array size\n if (this.entries.length > 1000) {\n this.entries = this.entries.slice(-500)\n this.setEntries([...this.entries])\n }\n }\n\n /**\n * Sanitize context to remove sensitive data\n */\n private sanitizeContext(context?: Record<string, any>): Record<string, any> | undefined {\n if (!context || !this.config.enableContextCapture) return undefined\n\n const sanitized = { ...context }\n\n for (const key of this.config.sensitiveKeys) {\n if (key in sanitized) {\n sanitized[key] = '[REDACTED]'\n }\n }\n\n return sanitized\n }\n\n /**\n * Setup batch processing\n */\n private setupBatchProcessing(): void {\n setInterval(() => {\n this.flushBatch()\n }, this.config.batchTimeout)\n }\n\n /**\n * Flush current batch of log entries\n */\n private async flushBatch(): Promise<void> {\n if (this.entries.length === 0) return\n\n const batch = this.entries.splice(0, this.config.batchSize)\n\n for (const destination of this.config.destinations) {\n if (destination.isEnabled()) {\n try {\n await this.sendWithRetry(destination, batch)\n } catch (error) {\n console.error(`Failed to send logs to ${destination.name}:`, error)\n }\n }\n }\n }\n\n /**\n * Send data with retry logic\n */\n private async sendWithRetry(destination: ReportDestination, data: LogEntry[]): Promise<void> {\n let lastError: Error\n\n for (let attempt = 1; attempt <= this.config.maxRetries; attempt++) {\n try {\n await destination.send(data)\n return\n } catch (error) {\n lastError = error as Error\n\n if (attempt < this.config.maxRetries) {\n await this.sleep(2 ** attempt * 1000) // Exponential backoff\n }\n }\n }\n\n throw lastError!\n }\n\n /**\n * Sleep for specified duration\n */\n private sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms))\n }\n\n /**\n * Generate unique ID\n */\n private generateId(): string {\n return `log_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`\n }\n\n /**\n * Generate session ID\n */\n private generateSessionId(): string {\n return `session_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`\n }\n\n /**\n * Set user ID for tracking\n */\n setUserId(userId: string): void {\n if (this.config.enableUserTracking) {\n this.userId = userId\n }\n }\n\n /**\n * Get log entries\n */\n getEntries(): LogEntry[] {\n return [...this.entries]\n }\n\n /**\n * Get entries signal\n */\n getEntriesSignal(): () => LogEntry[] {\n return this.entriesSignal\n }\n\n /**\n * Add destination\n */\n addDestination(destination: ReportDestination): void {\n this.config.destinations.push(destination)\n }\n\n /**\n * Remove destination\n */\n removeDestination(name: string): void {\n this.config.destinations = this.config.destinations.filter((d) => d.name !== name)\n }\n\n /**\n * Clear all log entries\n */\n clear(): void {\n this.entries.length = 0\n this.setEntries([])\n }\n}\n\n/**\n * Error aggregator\n */\nexport class ErrorAggregator {\n private aggregations = new Map<string, ErrorAggregation>()\n private config: ReportingConfig\n\n // Reactive state\n private aggregationsSignal: () => ErrorAggregation[]\n private setAggregations: (value: ErrorAggregation[]) => void\n\n constructor(config: Partial<ReportingConfig> = {}) {\n this.config = {\n enabled: true,\n logLevel: 'error',\n batchSize: 10,\n batchTimeout: 60000, // 1 minute\n aggregationWindow: 300000, // 5 minutes\n maxRetries: 3,\n destinations: [],\n enableContextCapture: true,\n enableStackTrace: true,\n enableUserTracking: false,\n enableSessionTracking: true,\n sensitiveKeys: [],\n enableCompression: true,\n ...config,\n }\n\n // Initialize reactive state\n const [aggregationsSignal, setAggregations] = createSignal<ErrorAggregation[]>([])\n this.aggregationsSignal = aggregationsSignal\n this.setAggregations = setAggregations\n\n this.setupCleanup()\n }\n\n /**\n * Aggregate error\n */\n aggregateError(error: TachUIError): void {\n const fingerprint = this.generateFingerprint(error)\n const existing = this.aggregations.get(fingerprint)\n\n if (existing) {\n existing.count++\n existing.lastSeen = error.timestamp\n existing.samples.push(error)\n\n // Keep only recent samples\n if (existing.samples.length > 5) {\n existing.samples = existing.samples.slice(-5)\n }\n\n if (error.componentId && !existing.affectedComponents.includes(error.componentId)) {\n existing.affectedComponents.push(error.componentId)\n }\n } else {\n const aggregation: ErrorAggregation = {\n id: fingerprint,\n message: error.message,\n category: error.category,\n severity: error.severity,\n count: 1,\n firstSeen: error.timestamp,\n lastSeen: error.timestamp,\n affectedComponents: error.componentId ? [error.componentId] : [],\n samples: [error],\n fingerprint,\n }\n\n this.aggregations.set(fingerprint, aggregation)\n }\n\n this.setAggregations(Array.from(this.aggregations.values()))\n }\n\n /**\n * Generate error fingerprint for grouping\n */\n private generateFingerprint(error: TachUIError): string {\n // Create a consistent hash based on error characteristics\n const components = [\n error.category,\n error.message.replace(/\\d+/g, 'N'), // Replace numbers with N\n error.componentName || 'unknown',\n ]\n\n return components.join('|')\n }\n\n /**\n * Setup cleanup of old aggregations\n */\n private setupCleanup(): void {\n setInterval(() => {\n this.cleanupOldAggregations()\n }, this.config.aggregationWindow)\n }\n\n /**\n * Cleanup old aggregations\n */\n private cleanupOldAggregations(): void {\n const cutoff = Date.now() - this.config.aggregationWindow\n\n for (const [fingerprint, aggregation] of this.aggregations) {\n if (aggregation.lastSeen < cutoff) {\n this.aggregations.delete(fingerprint)\n }\n }\n\n this.setAggregations(Array.from(this.aggregations.values()))\n }\n\n /**\n * Get aggregations\n */\n getAggregations(): ErrorAggregation[] {\n return Array.from(this.aggregations.values())\n }\n\n /**\n * Get aggregations signal\n */\n getAggregationsSignal(): () => ErrorAggregation[] {\n return this.aggregationsSignal\n }\n\n /**\n * Get top errors by count\n */\n getTopErrors(limit: number = 10): ErrorAggregation[] {\n return Array.from(this.aggregations.values())\n .sort((a, b) => b.count - a.count)\n .slice(0, limit)\n }\n\n /**\n * Clear aggregations\n */\n clear(): void {\n this.aggregations.clear()\n this.setAggregations([])\n }\n}\n\n/**\n * Built-in report destinations\n */\nexport const reportDestinations = {\n /**\n * Console destination\n */\n console: {\n name: 'console',\n async send(data: LogEntry[] | ErrorAggregation[]): Promise<void> {\n console.group('TachUI Report')\n data.forEach((entry) => {\n if ('level' in entry) {\n console.log(`[${entry.level}] ${entry.message}`, entry.context || '')\n } else {\n console.log(`Error: ${entry.message} (${entry.count} times)`)\n }\n })\n console.groupEnd()\n },\n isEnabled(): boolean {\n return typeof console !== 'undefined'\n },\n } as ReportDestination,\n\n /**\n * Local storage destination\n */\n localStorage: {\n name: 'localStorage',\n async send(data: LogEntry[] | ErrorAggregation[]): Promise<void> {\n try {\n const key = 'level' in data[0] ? 'tachui_logs' : 'tachui_error_aggregations'\n const existing = JSON.parse(localStorage.getItem(key) || '[]')\n const combined = [...existing, ...data]\n\n // Keep only last 100 entries\n if (combined.length > 100) {\n combined.splice(0, combined.length - 100)\n }\n\n localStorage.setItem(key, JSON.stringify(combined))\n } catch (error) {\n console.error('Failed to save to localStorage:', error)\n }\n },\n isEnabled(): boolean {\n return typeof localStorage !== 'undefined'\n },\n } as ReportDestination,\n\n /**\n * Create HTTP destination\n */\n createHttpDestination(endpoint: string, apiKey?: string): ReportDestination {\n return {\n name: 'http',\n async send(data: LogEntry[] | ErrorAggregation[]): Promise<void> {\n const headers: HeadersInit = {\n 'Content-Type': 'application/json',\n }\n\n if (apiKey) {\n headers.Authorization = `Bearer ${apiKey}`\n }\n\n const response = await fetch(endpoint, {\n method: 'POST',\n headers,\n body: JSON.stringify({\n type: 'level' in data[0] ? 'logs' : 'error_aggregations',\n data,\n timestamp: Date.now(),\n }),\n })\n\n if (!response.ok) {\n throw new Error(`HTTP ${response.status}: ${response.statusText}`)\n }\n },\n isEnabled(): boolean {\n return typeof fetch !== 'undefined'\n },\n }\n },\n\n /**\n * Create webhook destination\n */\n createWebhookDestination(\n webhookUrl: string,\n options: {\n format?: 'slack' | 'discord' | 'teams' | 'generic'\n onlyErrors?: boolean\n } = {}\n ): ReportDestination {\n const formatForSlack = (data: (LogEntry | ErrorAggregation)[]): any => {\n const blocks = data.slice(0, 5).map((entry) => {\n if ('level' in entry) {\n return {\n type: 'section',\n text: {\n type: 'mrkdwn',\n text: `*${entry.level.toUpperCase()}*: ${entry.message}`,\n },\n }\n } else {\n return {\n type: 'section',\n text: {\n type: 'mrkdwn',\n text: `*Error*: ${entry.message} (${entry.count} occurrences)`,\n },\n }\n }\n })\n\n return { blocks }\n }\n\n const formatForDiscord = (data: (LogEntry | ErrorAggregation)[]): any => {\n const description = data\n .slice(0, 5)\n .map((entry) => {\n if ('level' in entry) {\n return `**${entry.level.toUpperCase()}**: ${entry.message}`\n } else {\n return `**Error**: ${entry.message} (${entry.count} times)`\n }\n })\n .join('\\n')\n\n return {\n embeds: [\n {\n title: 'TachUI Report',\n description,\n color: 0xff0000,\n },\n ],\n }\n }\n\n return {\n name: 'webhook',\n async send(data: LogEntry[] | ErrorAggregation[]): Promise<void> {\n const filteredData = options.onlyErrors\n ? data.filter(\n (entry) =>\n ('level' in entry && ['error', 'fatal'].includes(entry.level)) || 'count' in entry\n )\n : data\n\n if (filteredData.length === 0) return\n\n let payload: any\n\n switch (options.format) {\n case 'slack':\n payload = formatForSlack(filteredData)\n break\n case 'discord':\n payload = formatForDiscord(filteredData)\n break\n default:\n payload = { data: filteredData }\n }\n\n const response = await fetch(webhookUrl, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(payload),\n })\n\n if (!response.ok) {\n throw new Error(`Webhook failed: ${response.status}`)\n }\n },\n isEnabled(): boolean {\n return typeof fetch !== 'undefined'\n },\n }\n },\n}\n\n/**\n * Global logger instance\n */\nexport const globalLogger = new StructuredLogger({\n logLevel: 'info',\n destinations: [reportDestinations.console],\n})\n\n/**\n * Global error aggregator\n */\nexport const globalErrorAggregator = new ErrorAggregator()\n\n/**\n * Setup error reporting integration\n */\nexport function setupErrorReporting(config: Partial<ReportingConfig> = {}): void {\n // Configure logger by creating a new instance with merged config\n // Note: This assumes globalLogger has a way to get current config or we need to refactor\n // For now, we'll skip the config merge since there's no public API for it\n \n // TODO: Implement config usage once StructuredLogger has a public configure method\n void config // Silence unused parameter warning\n\n // Setup error aggregation\n globalErrorManager.addHandler((error: TachUIError) => {\n globalErrorAggregator.aggregateError(error)\n globalLogger.error(error.message, {\n category: error.category,\n severity: error.severity,\n componentId: error.componentId,\n componentName: error.componentName,\n context: error.context,\n })\n })\n}\n\n/**\n * Reporting utilities\n */\nexport const reportingUtils = {\n /**\n * Setup development reporting\n */\n setupDevelopment(): void {\n setupErrorReporting({\n logLevel: 'debug',\n enableStackTrace: true,\n enableContextCapture: true,\n destinations: [reportDestinations.console, reportDestinations.localStorage],\n })\n },\n\n /**\n * Setup production reporting\n */\n setupProduction(config: {\n endpoint?: string\n apiKey?: string\n webhookUrl?: string\n logLevel?: LogLevel\n }): void {\n const destinations: ReportDestination[] = []\n\n if (config.endpoint) {\n destinations.push(reportDestinations.createHttpDestination(config.endpoint, config.apiKey))\n }\n\n if (config.webhookUrl) {\n destinations.push(\n reportDestinations.createWebhookDestination(config.webhookUrl, {\n format: 'slack',\n onlyErrors: true,\n })\n )\n }\n\n setupErrorReporting({\n logLevel: config.logLevel || 'warn',\n enableStackTrace: false,\n enableContextCapture: false,\n destinations,\n })\n },\n\n /**\n * Create custom logger\n */\n createLogger(name: string, config?: Partial<ReportingConfig>): Logger {\n const logger = new StructuredLogger(config)\n\n // Wrap methods to include logger name\n const originalLog = logger.log.bind(logger)\n logger.log = (level: LogLevel, message: string, context?: Record<string, any>) => {\n originalLog(level, `[${name}] ${message}`, context)\n }\n\n return logger\n },\n\n /**\n * Get error report\n */\n getErrorReport(): {\n logs: LogEntry[]\n aggregations: ErrorAggregation[]\n statistics: any\n } {\n return {\n logs: globalLogger.getEntries(),\n aggregations: globalErrorAggregator.getAggregations(),\n statistics: globalErrorManager.getStatistics(),\n }\n },\n}\n"],"names":["StructuredLogger","config","__publicField","entriesSignal","setEntries","createSignal","message","context","level","entry","levels","currentLevelIndex","sanitized","key","batch","destination","error","data","lastError","attempt","ms","resolve","userId","name","d","ErrorAggregator","aggregationsSignal","setAggregations","fingerprint","existing","aggregation","cutoff","limit","a","b","reportDestinations","combined","endpoint","apiKey","headers","response","webhookUrl","options","formatForSlack","formatForDiscord","filteredData","payload","globalLogger","globalErrorAggregator","setupErrorReporting","globalErrorManager","reportingUtils","destinations","logger","originalLog"],"mappings":"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"}