@akashjs/runtime 0.2.6 → 0.2.7

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 (542) hide show
  1. package/dist/a11y.cjs +2 -0
  2. package/dist/a11y.cjs.map +1 -0
  3. package/dist/a11y.d.cts +99 -0
  4. package/dist/a11y.d.ts +99 -0
  5. package/dist/a11y.js +2 -0
  6. package/dist/a11y.js.map +1 -0
  7. package/dist/async-component.cjs +2 -0
  8. package/dist/async-component.cjs.map +1 -0
  9. package/dist/async-component.d.cts +44 -0
  10. package/dist/async-component.d.ts +44 -0
  11. package/dist/async-component.js +2 -0
  12. package/dist/async-component.js.map +1 -0
  13. package/dist/await-block.cjs +2 -0
  14. package/dist/await-block.cjs.map +1 -0
  15. package/dist/await-block.d.cts +37 -0
  16. package/dist/await-block.d.ts +37 -0
  17. package/dist/await-block.js +2 -0
  18. package/dist/await-block.js.map +1 -0
  19. package/dist/browser.cjs +2 -0
  20. package/dist/browser.cjs.map +1 -0
  21. package/dist/browser.d.cts +125 -0
  22. package/dist/browser.d.ts +125 -0
  23. package/dist/browser.js +2 -0
  24. package/dist/browser.js.map +1 -0
  25. package/dist/chunk-2HLDEWRT.cjs +2 -0
  26. package/dist/chunk-2HLDEWRT.cjs.map +1 -0
  27. package/dist/{chunk-2U643GJZ.cjs → chunk-2LKFIID7.cjs} +2 -2
  28. package/dist/{chunk-2U643GJZ.cjs.map → chunk-2LKFIID7.cjs.map} +1 -1
  29. package/dist/chunk-34PQECMN.cjs +2 -0
  30. package/dist/chunk-34PQECMN.cjs.map +1 -0
  31. package/dist/chunk-36VM3RJW.cjs +2 -0
  32. package/dist/chunk-36VM3RJW.cjs.map +1 -0
  33. package/dist/chunk-3PGU24B5.cjs +3 -0
  34. package/dist/chunk-3PGU24B5.cjs.map +1 -0
  35. package/dist/chunk-3XREYIJH.cjs +2 -0
  36. package/dist/chunk-3XREYIJH.cjs.map +1 -0
  37. package/dist/chunk-45DPEU7T.cjs +2 -0
  38. package/dist/chunk-45DPEU7T.cjs.map +1 -0
  39. package/dist/chunk-4J3QBQVW.js +4 -0
  40. package/dist/chunk-4J3QBQVW.js.map +1 -0
  41. package/dist/{chunk-2Q6SYE5O.cjs → chunk-4NQEIKH5.cjs} +2 -2
  42. package/dist/{chunk-2Q6SYE5O.cjs.map → chunk-4NQEIKH5.cjs.map} +1 -1
  43. package/dist/chunk-5QCWH6QA.cjs +4 -0
  44. package/dist/chunk-5QCWH6QA.cjs.map +1 -0
  45. package/dist/chunk-6O46EMQS.cjs +2 -0
  46. package/dist/chunk-6O46EMQS.cjs.map +1 -0
  47. package/dist/chunk-7IJUJUXE.cjs +2 -0
  48. package/dist/chunk-7IJUJUXE.cjs.map +1 -0
  49. package/dist/chunk-7UX5CSGZ.cjs +2 -0
  50. package/dist/chunk-7UX5CSGZ.cjs.map +1 -0
  51. package/dist/chunk-7VBH4F3P.js +2 -0
  52. package/dist/chunk-7VBH4F3P.js.map +1 -0
  53. package/dist/chunk-7ZPSYZHD.cjs +2 -0
  54. package/dist/chunk-7ZPSYZHD.cjs.map +1 -0
  55. package/dist/chunk-AOFLE33X.js +5 -0
  56. package/dist/chunk-AOFLE33X.js.map +1 -0
  57. package/dist/chunk-AQQQVDBQ.cjs +2 -0
  58. package/dist/chunk-AQQQVDBQ.cjs.map +1 -0
  59. package/dist/chunk-AXB5GHGO.js +2 -0
  60. package/dist/chunk-AXB5GHGO.js.map +1 -0
  61. package/dist/chunk-AZCELE44.cjs +2 -0
  62. package/dist/chunk-AZCELE44.cjs.map +1 -0
  63. package/dist/chunk-BB7P6HTR.js +2 -0
  64. package/dist/chunk-BB7P6HTR.js.map +1 -0
  65. package/dist/chunk-BGSF77LF.js +2 -0
  66. package/dist/chunk-BGSF77LF.js.map +1 -0
  67. package/dist/chunk-BHP3UTTQ.cjs +3 -0
  68. package/dist/chunk-BHP3UTTQ.cjs.map +1 -0
  69. package/dist/chunk-CP6SK2B4.js +2 -0
  70. package/dist/{chunk-5NHDEY2C.js.map → chunk-CP6SK2B4.js.map} +1 -1
  71. package/dist/chunk-DFYXFKCH.cjs +2 -0
  72. package/dist/chunk-DFYXFKCH.cjs.map +1 -0
  73. package/dist/chunk-DHFVVFZF.cjs +2 -0
  74. package/dist/chunk-DHFVVFZF.cjs.map +1 -0
  75. package/dist/chunk-DP7G45QM.cjs +13 -0
  76. package/dist/chunk-DP7G45QM.cjs.map +1 -0
  77. package/dist/chunk-E6RB7PRO.js +2 -0
  78. package/dist/chunk-E6RB7PRO.js.map +1 -0
  79. package/dist/chunk-F4FXIPR3.js +2 -0
  80. package/dist/chunk-F4FXIPR3.js.map +1 -0
  81. package/dist/chunk-F6VSSM2P.js +2 -0
  82. package/dist/chunk-F6VSSM2P.js.map +1 -0
  83. package/dist/chunk-FUVSCPU4.cjs +2 -0
  84. package/dist/chunk-FUVSCPU4.cjs.map +1 -0
  85. package/dist/chunk-FVF3T4JJ.js +2 -0
  86. package/dist/chunk-FVF3T4JJ.js.map +1 -0
  87. package/dist/chunk-FVWHMFX6.cjs +5 -0
  88. package/dist/chunk-FVWHMFX6.cjs.map +1 -0
  89. package/dist/chunk-IHEW6F2H.js +2 -0
  90. package/dist/chunk-IHEW6F2H.js.map +1 -0
  91. package/dist/chunk-IJS2EMSE.js +2 -0
  92. package/dist/chunk-IJS2EMSE.js.map +1 -0
  93. package/dist/chunk-IKVHLORY.cjs +11 -0
  94. package/dist/chunk-IKVHLORY.cjs.map +1 -0
  95. package/dist/chunk-IQGSDFBI.cjs +2 -0
  96. package/dist/chunk-IQGSDFBI.cjs.map +1 -0
  97. package/dist/chunk-J6KDUWX6.cjs +2 -0
  98. package/dist/chunk-J6KDUWX6.cjs.map +1 -0
  99. package/dist/chunk-JD3LDHUI.cjs +2 -0
  100. package/dist/chunk-JD3LDHUI.cjs.map +1 -0
  101. package/dist/chunk-JEYTB4AG.js +2 -0
  102. package/dist/chunk-JEYTB4AG.js.map +1 -0
  103. package/dist/chunk-JFLZJPVN.js +2 -0
  104. package/dist/chunk-JFLZJPVN.js.map +1 -0
  105. package/dist/chunk-JLPJ22CE.js +2 -0
  106. package/dist/chunk-JLPJ22CE.js.map +1 -0
  107. package/dist/chunk-JQCN42XX.js +2 -0
  108. package/dist/chunk-JQCN42XX.js.map +1 -0
  109. package/dist/chunk-K2HB5VFA.cjs +2 -0
  110. package/dist/chunk-K2HB5VFA.cjs.map +1 -0
  111. package/dist/chunk-K7TMUF3F.cjs +2 -0
  112. package/dist/chunk-K7TMUF3F.cjs.map +1 -0
  113. package/dist/chunk-KE7BJTCD.js +2 -0
  114. package/dist/chunk-KE7BJTCD.js.map +1 -0
  115. package/dist/chunk-KMEGUPH2.js +3 -0
  116. package/dist/chunk-KMEGUPH2.js.map +1 -0
  117. package/dist/chunk-KUPL3ZVD.js +2 -0
  118. package/dist/chunk-KUPL3ZVD.js.map +1 -0
  119. package/dist/chunk-L3ZZX36S.js +2 -0
  120. package/dist/chunk-L3ZZX36S.js.map +1 -0
  121. package/dist/chunk-LD4C62JY.cjs +2 -0
  122. package/dist/chunk-LD4C62JY.cjs.map +1 -0
  123. package/dist/chunk-LWQPLKL6.cjs +20 -0
  124. package/dist/chunk-LWQPLKL6.cjs.map +1 -0
  125. package/dist/chunk-M5IACTFC.cjs +17 -0
  126. package/dist/chunk-M5IACTFC.cjs.map +1 -0
  127. package/dist/chunk-MADMPRT2.js +20 -0
  128. package/dist/chunk-MADMPRT2.js.map +1 -0
  129. package/dist/chunk-MDHWM3C2.js +2 -0
  130. package/dist/chunk-MDHWM3C2.js.map +1 -0
  131. package/dist/chunk-N3ITIHHM.js +5 -0
  132. package/dist/chunk-N3ITIHHM.js.map +1 -0
  133. package/dist/chunk-N5APNCPB.js +2 -0
  134. package/dist/chunk-N5APNCPB.js.map +1 -0
  135. package/dist/{chunk-U53YRJNV.js → chunk-NBYFHJWB.js} +3 -3
  136. package/dist/{chunk-U53YRJNV.js.map → chunk-NBYFHJWB.js.map} +1 -1
  137. package/dist/chunk-NCXMNJUN.js +2 -0
  138. package/dist/chunk-NCXMNJUN.js.map +1 -0
  139. package/dist/chunk-NEQ5TENE.cjs +2 -0
  140. package/dist/chunk-NEQ5TENE.cjs.map +1 -0
  141. package/dist/chunk-NGU2W4PD.cjs +2 -0
  142. package/dist/chunk-NGU2W4PD.cjs.map +1 -0
  143. package/dist/{chunk-ZYVQQ5VR.cjs → chunk-NHDYQTC5.cjs} +3 -3
  144. package/dist/{chunk-ZYVQQ5VR.cjs.map → chunk-NHDYQTC5.cjs.map} +1 -1
  145. package/dist/chunk-NJXXC5JB.js +2 -0
  146. package/dist/chunk-NJXXC5JB.js.map +1 -0
  147. package/dist/chunk-NQEY7DR5.cjs +2 -0
  148. package/dist/chunk-NQEY7DR5.cjs.map +1 -0
  149. package/dist/chunk-OQV3NYDH.js +3 -0
  150. package/dist/chunk-OQV3NYDH.js.map +1 -0
  151. package/dist/chunk-OZ4GNBKA.js +2 -0
  152. package/dist/chunk-OZ4GNBKA.js.map +1 -0
  153. package/dist/chunk-PPNEAFKE.cjs +5 -0
  154. package/dist/chunk-PPNEAFKE.cjs.map +1 -0
  155. package/dist/chunk-PYASLKWF.js +2 -0
  156. package/dist/chunk-PYASLKWF.js.map +1 -0
  157. package/dist/chunk-Q6S7SUOM.js +2 -0
  158. package/dist/chunk-Q6S7SUOM.js.map +1 -0
  159. package/dist/chunk-QE2TJ6P5.cjs +2 -0
  160. package/dist/chunk-QE2TJ6P5.cjs.map +1 -0
  161. package/dist/chunk-QNVMBXVH.js +2 -0
  162. package/dist/chunk-QNVMBXVH.js.map +1 -0
  163. package/dist/chunk-QQ725EZL.js +2 -0
  164. package/dist/chunk-QQ725EZL.js.map +1 -0
  165. package/dist/chunk-QQTZQ6UX.cjs +2 -0
  166. package/dist/chunk-QQTZQ6UX.cjs.map +1 -0
  167. package/dist/{chunk-AVVJKYT3.cjs → chunk-QSPRVXFV.cjs} +2 -2
  168. package/dist/{chunk-AVVJKYT3.cjs.map → chunk-QSPRVXFV.cjs.map} +1 -1
  169. package/dist/chunk-QTQ6RUX4.cjs +5 -0
  170. package/dist/chunk-QTQ6RUX4.cjs.map +1 -0
  171. package/dist/chunk-R65RPMQX.cjs +2 -0
  172. package/dist/chunk-R65RPMQX.cjs.map +1 -0
  173. package/dist/chunk-R7NUVVHP.js +2 -0
  174. package/dist/{chunk-5A7KDBDU.js.map → chunk-R7NUVVHP.js.map} +1 -1
  175. package/dist/chunk-SXYPAP4B.js +2 -0
  176. package/dist/chunk-SXYPAP4B.js.map +1 -0
  177. package/dist/chunk-T2RVAQEU.js +2 -0
  178. package/dist/chunk-T2RVAQEU.js.map +1 -0
  179. package/dist/chunk-T7A5YOEG.cjs +2 -0
  180. package/dist/chunk-T7A5YOEG.cjs.map +1 -0
  181. package/dist/chunk-TDKDZ3QJ.cjs +2 -0
  182. package/dist/chunk-TDKDZ3QJ.cjs.map +1 -0
  183. package/dist/chunk-TFEHO7SF.cjs +2 -0
  184. package/dist/chunk-TFEHO7SF.cjs.map +1 -0
  185. package/dist/chunk-TSFY5HKB.js +17 -0
  186. package/dist/chunk-TSFY5HKB.js.map +1 -0
  187. package/dist/chunk-TYTEJYUQ.cjs +2 -0
  188. package/dist/chunk-TYTEJYUQ.cjs.map +1 -0
  189. package/dist/chunk-TZHEZW6R.js +11 -0
  190. package/dist/chunk-TZHEZW6R.js.map +1 -0
  191. package/dist/chunk-U65WRXZC.js +13 -0
  192. package/dist/chunk-U65WRXZC.js.map +1 -0
  193. package/dist/chunk-UT4MWGJ3.js +2 -0
  194. package/dist/chunk-UT4MWGJ3.js.map +1 -0
  195. package/dist/chunk-V2JDKH3W.cjs +2 -0
  196. package/dist/chunk-V2JDKH3W.cjs.map +1 -0
  197. package/dist/chunk-VNDSKBXQ.cjs +2 -0
  198. package/dist/chunk-VNDSKBXQ.cjs.map +1 -0
  199. package/dist/chunk-VO4FCKHM.js +2 -0
  200. package/dist/chunk-VO4FCKHM.js.map +1 -0
  201. package/dist/chunk-VUMMC2P5.js +2 -0
  202. package/dist/chunk-VUMMC2P5.js.map +1 -0
  203. package/dist/chunk-VUSNUBNI.js +2 -0
  204. package/dist/chunk-VUSNUBNI.js.map +1 -0
  205. package/dist/chunk-VWTULWXF.js +2 -0
  206. package/dist/{chunk-TKFJGLUO.js.map → chunk-VWTULWXF.js.map} +1 -1
  207. package/dist/chunk-VX7PSSOU.js +5 -0
  208. package/dist/chunk-VX7PSSOU.js.map +1 -0
  209. package/dist/chunk-WLSXJU2N.js +13 -0
  210. package/dist/chunk-WLSXJU2N.js.map +1 -0
  211. package/dist/chunk-WOZWFMOK.cjs +2 -0
  212. package/dist/chunk-WOZWFMOK.cjs.map +1 -0
  213. package/dist/chunk-WTDTVWCQ.cjs +2 -0
  214. package/dist/chunk-WTDTVWCQ.cjs.map +1 -0
  215. package/dist/chunk-WZ5ULION.js +2 -0
  216. package/dist/chunk-WZ5ULION.js.map +1 -0
  217. package/dist/chunk-XPLIEN2G.cjs +13 -0
  218. package/dist/chunk-XPLIEN2G.cjs.map +1 -0
  219. package/dist/chunk-XWVNLE2W.cjs +2 -0
  220. package/dist/chunk-XWVNLE2W.cjs.map +1 -0
  221. package/dist/chunk-XZR3J626.cjs +2 -0
  222. package/dist/chunk-XZR3J626.cjs.map +1 -0
  223. package/dist/chunk-YDO5KARN.js +2 -0
  224. package/dist/chunk-YDO5KARN.js.map +1 -0
  225. package/dist/chunk-YURIYBTN.cjs +2 -0
  226. package/dist/chunk-YURIYBTN.cjs.map +1 -0
  227. package/dist/chunk-YXKQTEPR.js +2 -0
  228. package/dist/chunk-YXKQTEPR.js.map +1 -0
  229. package/dist/chunk-Z6K4FYG6.js +2 -0
  230. package/dist/chunk-Z6K4FYG6.js.map +1 -0
  231. package/dist/chunk-ZJULEDLY.js +2 -0
  232. package/dist/chunk-ZJULEDLY.js.map +1 -0
  233. package/dist/{component-C1WnFcRp.d.ts → component-CPVtkASo.d.ts} +2 -3
  234. package/dist/{component-C1WnFcRp.d.cts → component-CxlupKuc.d.cts} +2 -3
  235. package/dist/composables.cjs +2 -0
  236. package/dist/composables.cjs.map +1 -0
  237. package/dist/composables.d.cts +103 -0
  238. package/dist/composables.d.ts +103 -0
  239. package/dist/composables.js +2 -0
  240. package/dist/composables.js.map +1 -0
  241. package/dist/{context-CB1mCq2h.d.cts → context-Cwt7QCpk.d.cts} +1 -9
  242. package/dist/{context-CB1mCq2h.d.ts → context-Cwt7QCpk.d.ts} +1 -9
  243. package/dist/core.cjs +1 -1
  244. package/dist/core.d.cts +5 -4
  245. package/dist/core.d.ts +5 -4
  246. package/dist/core.js +1 -1
  247. package/dist/css.cjs +2 -0
  248. package/dist/css.cjs.map +1 -0
  249. package/dist/css.d.cts +42 -0
  250. package/dist/css.d.ts +42 -0
  251. package/dist/css.js +2 -0
  252. package/dist/css.js.map +1 -0
  253. package/dist/data-table.cjs +2 -0
  254. package/dist/data-table.cjs.map +1 -0
  255. package/dist/data-table.d.cts +97 -0
  256. package/dist/data-table.d.ts +97 -0
  257. package/dist/data-table.js +2 -0
  258. package/dist/data-table.js.map +1 -0
  259. package/dist/deep-signal.cjs +2 -0
  260. package/dist/deep-signal.cjs.map +1 -0
  261. package/dist/deep-signal.d.cts +48 -0
  262. package/dist/deep-signal.d.ts +48 -0
  263. package/dist/deep-signal.js +2 -0
  264. package/dist/deep-signal.js.map +1 -0
  265. package/dist/defer.cjs +2 -0
  266. package/dist/defer.cjs.map +1 -0
  267. package/dist/defer.d.cts +55 -0
  268. package/dist/defer.d.ts +55 -0
  269. package/dist/defer.js +2 -0
  270. package/dist/defer.js.map +1 -0
  271. package/dist/deprecation.cjs +2 -0
  272. package/dist/deprecation.cjs.map +1 -0
  273. package/dist/deprecation.d.cts +119 -0
  274. package/dist/deprecation.d.ts +119 -0
  275. package/dist/deprecation.js +2 -0
  276. package/dist/deprecation.js.map +1 -0
  277. package/dist/{devtools-overlay-CJWKBTP4.js → devtools-overlay-3WRM6GKM.js} +3 -3
  278. package/dist/{devtools-overlay-CJWKBTP4.js.map → devtools-overlay-3WRM6GKM.js.map} +1 -1
  279. package/dist/{devtools-overlay-EQ3G755P.cjs → devtools-overlay-WJGSIB4N.cjs} +4 -4
  280. package/dist/{devtools-overlay-EQ3G755P.cjs.map → devtools-overlay-WJGSIB4N.cjs.map} +1 -1
  281. package/dist/devtools.cjs +2 -0
  282. package/dist/devtools.cjs.map +1 -0
  283. package/dist/devtools.d.cts +78 -0
  284. package/dist/devtools.d.ts +78 -0
  285. package/dist/devtools.js +2 -0
  286. package/dist/devtools.js.map +1 -0
  287. package/dist/di.cjs +2 -0
  288. package/dist/di.cjs.map +1 -0
  289. package/dist/di.d.cts +93 -0
  290. package/dist/di.d.ts +93 -0
  291. package/dist/di.js +2 -0
  292. package/dist/di.js.map +1 -0
  293. package/dist/directive.cjs +2 -0
  294. package/dist/directive.cjs.map +1 -0
  295. package/dist/directive.d.cts +102 -0
  296. package/dist/directive.d.ts +102 -0
  297. package/dist/directive.js +2 -0
  298. package/dist/directive.js.map +1 -0
  299. package/dist/error-boundary.cjs +2 -0
  300. package/dist/error-boundary.cjs.map +1 -0
  301. package/dist/error-boundary.d.cts +17 -0
  302. package/dist/error-boundary.d.ts +17 -0
  303. package/dist/error-boundary.js +2 -0
  304. package/dist/error-boundary.js.map +1 -0
  305. package/dist/error-hints.cjs +2 -0
  306. package/dist/error-hints.cjs.map +1 -0
  307. package/dist/error-hints.d.cts +17 -0
  308. package/dist/error-hints.d.ts +17 -0
  309. package/dist/error-hints.js +2 -0
  310. package/dist/error-hints.js.map +1 -0
  311. package/dist/errors.cjs +2 -0
  312. package/dist/errors.cjs.map +1 -0
  313. package/dist/errors.d.cts +35 -0
  314. package/dist/errors.d.ts +35 -0
  315. package/dist/errors.js +2 -0
  316. package/dist/errors.js.map +1 -0
  317. package/dist/event-bus.cjs +2 -0
  318. package/dist/event-bus.cjs.map +1 -0
  319. package/dist/event-bus.d.cts +68 -0
  320. package/dist/event-bus.d.ts +68 -0
  321. package/dist/event-bus.js +2 -0
  322. package/dist/event-bus.js.map +1 -0
  323. package/dist/event-modifiers.cjs +2 -0
  324. package/dist/event-modifiers.cjs.map +1 -0
  325. package/dist/event-modifiers.d.cts +130 -0
  326. package/dist/event-modifiers.d.ts +130 -0
  327. package/dist/event-modifiers.js +2 -0
  328. package/dist/event-modifiers.js.map +1 -0
  329. package/dist/flip.cjs +2 -0
  330. package/dist/flip.cjs.map +1 -0
  331. package/dist/flip.d.cts +66 -0
  332. package/dist/flip.d.ts +66 -0
  333. package/dist/flip.js +2 -0
  334. package/dist/flip.js.map +1 -0
  335. package/dist/head.cjs +2 -0
  336. package/dist/head.cjs.map +1 -0
  337. package/dist/head.d.cts +70 -0
  338. package/dist/head.d.ts +70 -0
  339. package/dist/head.js +2 -0
  340. package/dist/head.js.map +1 -0
  341. package/dist/hydration.cjs +2 -0
  342. package/dist/hydration.cjs.map +1 -0
  343. package/dist/hydration.d.cts +84 -0
  344. package/dist/hydration.d.ts +84 -0
  345. package/dist/hydration.js +2 -0
  346. package/dist/hydration.js.map +1 -0
  347. package/dist/image.cjs +2 -0
  348. package/dist/image.cjs.map +1 -0
  349. package/dist/image.d.cts +54 -0
  350. package/dist/image.d.ts +54 -0
  351. package/dist/image.js +2 -0
  352. package/dist/image.js.map +1 -0
  353. package/dist/index.cjs +1 -63
  354. package/dist/index.cjs.map +1 -1
  355. package/dist/index.d.cts +50 -3155
  356. package/dist/index.d.ts +50 -3155
  357. package/dist/index.js +1 -63
  358. package/dist/index.js.map +1 -1
  359. package/dist/infinite-scroll.cjs +2 -0
  360. package/dist/infinite-scroll.cjs.map +1 -0
  361. package/dist/infinite-scroll.d.cts +49 -0
  362. package/dist/infinite-scroll.d.ts +49 -0
  363. package/dist/infinite-scroll.js +2 -0
  364. package/dist/infinite-scroll.js.map +1 -0
  365. package/dist/leak-detector.cjs +2 -0
  366. package/dist/leak-detector.cjs.map +1 -0
  367. package/dist/leak-detector.d.cts +71 -0
  368. package/dist/leak-detector.d.ts +71 -0
  369. package/dist/leak-detector.js +2 -0
  370. package/dist/leak-detector.js.map +1 -0
  371. package/dist/machine.cjs +1 -1
  372. package/dist/machine.d.cts +1 -1
  373. package/dist/machine.d.ts +1 -1
  374. package/dist/machine.js +1 -1
  375. package/dist/offline.cjs +1 -1
  376. package/dist/offline.d.cts +1 -1
  377. package/dist/offline.d.ts +1 -1
  378. package/dist/offline.js +1 -1
  379. package/dist/perf.cjs +2 -0
  380. package/dist/perf.cjs.map +1 -0
  381. package/dist/perf.d.cts +97 -0
  382. package/dist/perf.d.ts +97 -0
  383. package/dist/perf.js +2 -0
  384. package/dist/perf.js.map +1 -0
  385. package/dist/pipes.cjs +2 -0
  386. package/dist/pipes.cjs.map +1 -0
  387. package/dist/pipes.d.cts +130 -0
  388. package/dist/pipes.d.ts +130 -0
  389. package/dist/pipes.js +2 -0
  390. package/dist/pipes.js.map +1 -0
  391. package/dist/plugin.cjs +2 -0
  392. package/dist/plugin.cjs.map +1 -0
  393. package/dist/plugin.d.cts +70 -0
  394. package/dist/plugin.d.ts +70 -0
  395. package/dist/plugin.js +2 -0
  396. package/dist/plugin.js.map +1 -0
  397. package/dist/portal.cjs +2 -0
  398. package/dist/portal.cjs.map +1 -0
  399. package/dist/portal.d.cts +30 -0
  400. package/dist/portal.d.ts +30 -0
  401. package/dist/portal.js +2 -0
  402. package/dist/portal.js.map +1 -0
  403. package/dist/pwa.cjs +1 -1
  404. package/dist/pwa.d.cts +1 -1
  405. package/dist/pwa.d.ts +1 -1
  406. package/dist/pwa.js +1 -1
  407. package/dist/query-state.cjs +2 -0
  408. package/dist/query-state.cjs.map +1 -0
  409. package/dist/query-state.d.cts +82 -0
  410. package/dist/query-state.d.ts +82 -0
  411. package/dist/query-state.js +2 -0
  412. package/dist/query-state.js.map +1 -0
  413. package/dist/reconcile.cjs +2 -0
  414. package/dist/reconcile.cjs.map +1 -0
  415. package/dist/reconcile.d.cts +42 -0
  416. package/dist/reconcile.d.ts +42 -0
  417. package/dist/reconcile.js +2 -0
  418. package/dist/reconcile.js.map +1 -0
  419. package/dist/scheduler-CKi1esN-.d.cts +9 -0
  420. package/dist/scheduler-CKi1esN-.d.ts +9 -0
  421. package/dist/security.cjs +2 -0
  422. package/dist/security.cjs.map +1 -0
  423. package/dist/security.d.cts +193 -0
  424. package/dist/security.d.ts +193 -0
  425. package/dist/security.js +2 -0
  426. package/dist/security.js.map +1 -0
  427. package/dist/seo.cjs +2 -0
  428. package/dist/seo.cjs.map +1 -0
  429. package/dist/seo.d.cts +118 -0
  430. package/dist/seo.d.ts +118 -0
  431. package/dist/seo.js +2 -0
  432. package/dist/seo.js.map +1 -0
  433. package/dist/{signals-C7XfOHHR.d.cts → signals-DionyGGY.d.cts} +7 -0
  434. package/dist/{signals-C7XfOHHR.d.ts → signals-DionyGGY.d.ts} +7 -0
  435. package/dist/snippets.cjs +2 -0
  436. package/dist/snippets.cjs.map +1 -0
  437. package/dist/snippets.d.cts +109 -0
  438. package/dist/snippets.d.ts +109 -0
  439. package/dist/snippets.js +2 -0
  440. package/dist/snippets.js.map +1 -0
  441. package/dist/ssg.cjs +2 -0
  442. package/dist/ssg.cjs.map +1 -0
  443. package/dist/ssg.d.cts +82 -0
  444. package/dist/ssg.d.ts +82 -0
  445. package/dist/ssg.js +2 -0
  446. package/dist/ssg.js.map +1 -0
  447. package/dist/ssr.cjs +1 -1
  448. package/dist/ssr.d.cts +2 -1
  449. package/dist/ssr.d.ts +2 -1
  450. package/dist/ssr.js +1 -1
  451. package/dist/store.cjs +1 -1
  452. package/dist/store.d.cts +1 -1
  453. package/dist/store.d.ts +1 -1
  454. package/dist/store.js +1 -1
  455. package/dist/suspense.cjs +2 -0
  456. package/dist/suspense.cjs.map +1 -0
  457. package/dist/suspense.d.cts +36 -0
  458. package/dist/suspense.d.ts +36 -0
  459. package/dist/suspense.js +2 -0
  460. package/dist/suspense.js.map +1 -0
  461. package/dist/switch.cjs +2 -0
  462. package/dist/switch.cjs.map +1 -0
  463. package/dist/switch.d.cts +48 -0
  464. package/dist/switch.d.ts +48 -0
  465. package/dist/switch.js +2 -0
  466. package/dist/switch.js.map +1 -0
  467. package/dist/sync.cjs +1 -1
  468. package/dist/sync.d.cts +1 -1
  469. package/dist/sync.d.ts +1 -1
  470. package/dist/sync.js +1 -1
  471. package/dist/test.cjs +2 -2
  472. package/dist/test.cjs.map +1 -1
  473. package/dist/test.d.cts +5 -4
  474. package/dist/test.d.ts +5 -4
  475. package/dist/test.js +2 -2
  476. package/dist/test.js.map +1 -1
  477. package/dist/theme.cjs +2 -0
  478. package/dist/theme.cjs.map +1 -0
  479. package/dist/theme.d.cts +56 -0
  480. package/dist/theme.d.ts +56 -0
  481. package/dist/theme.js +2 -0
  482. package/dist/theme.js.map +1 -0
  483. package/dist/toast.cjs +2 -0
  484. package/dist/toast.cjs.map +1 -0
  485. package/dist/toast.d.cts +66 -0
  486. package/dist/toast.d.ts +66 -0
  487. package/dist/toast.js +2 -0
  488. package/dist/toast.js.map +1 -0
  489. package/dist/transition.cjs +2 -0
  490. package/dist/transition.cjs.map +1 -0
  491. package/dist/transition.d.cts +90 -0
  492. package/dist/transition.d.ts +90 -0
  493. package/dist/transition.js +2 -0
  494. package/dist/transition.js.map +1 -0
  495. package/dist/tweened.cjs +2 -0
  496. package/dist/tweened.cjs.map +1 -0
  497. package/dist/tweened.d.cts +59 -0
  498. package/dist/tweened.d.ts +59 -0
  499. package/dist/tweened.js +2 -0
  500. package/dist/tweened.js.map +1 -0
  501. package/dist/types-DjZCk1xT.d.cts +4 -0
  502. package/dist/types-DjZCk1xT.d.ts +4 -0
  503. package/dist/view-transition.cjs +2 -0
  504. package/dist/view-transition.cjs.map +1 -0
  505. package/dist/view-transition.d.cts +80 -0
  506. package/dist/view-transition.d.ts +80 -0
  507. package/dist/view-transition.js +2 -0
  508. package/dist/view-transition.js.map +1 -0
  509. package/dist/virtual-list.cjs +2 -0
  510. package/dist/virtual-list.cjs.map +1 -0
  511. package/dist/virtual-list.d.cts +67 -0
  512. package/dist/virtual-list.d.ts +67 -0
  513. package/dist/virtual-list.js +2 -0
  514. package/dist/virtual-list.js.map +1 -0
  515. package/dist/watch.cjs +2 -0
  516. package/dist/watch.cjs.map +1 -0
  517. package/dist/watch.d.cts +70 -0
  518. package/dist/watch.d.ts +70 -0
  519. package/dist/watch.js +2 -0
  520. package/dist/watch.js.map +1 -0
  521. package/dist/web-component.cjs +2 -0
  522. package/dist/web-component.cjs.map +1 -0
  523. package/dist/web-component.d.cts +51 -0
  524. package/dist/web-component.d.ts +51 -0
  525. package/dist/web-component.js +2 -0
  526. package/dist/web-component.js.map +1 -0
  527. package/package.json +249 -11
  528. package/dist/chunk-35DJOBEO.cjs +0 -2
  529. package/dist/chunk-35DJOBEO.cjs.map +0 -1
  530. package/dist/chunk-3GRR4VW2.js +0 -13
  531. package/dist/chunk-3GRR4VW2.js.map +0 -1
  532. package/dist/chunk-5A7KDBDU.js +0 -2
  533. package/dist/chunk-5NHDEY2C.js +0 -2
  534. package/dist/chunk-6GGYM5SF.cjs +0 -5
  535. package/dist/chunk-6GGYM5SF.cjs.map +0 -1
  536. package/dist/chunk-EEILP4OL.cjs +0 -13
  537. package/dist/chunk-EEILP4OL.cjs.map +0 -1
  538. package/dist/chunk-FTTNKDZQ.js +0 -5
  539. package/dist/chunk-FTTNKDZQ.js.map +0 -1
  540. package/dist/chunk-H2HNKYN2.js +0 -2
  541. package/dist/chunk-H2HNKYN2.js.map +0 -1
  542. package/dist/chunk-TKFJGLUO.js +0 -2
@@ -0,0 +1,82 @@
1
+ import { S as Signal } from './signals-DionyGGY.js';
2
+
3
+ /**
4
+ * URL-synced reactive state.
5
+ *
6
+ * Automatically sync signal values to URL query parameters.
7
+ * Users can share links, use browser back/forward, and state
8
+ * persists across page reloads — all with zero boilerplate.
9
+ *
10
+ * ```ts
11
+ * const search = useQueryState('q', '');
12
+ * const page = useQueryState('page', 1);
13
+ * const tags = useQueryState('tags', ['js']);
14
+ *
15
+ * search.set('akashjs'); // URL → ?q=akashjs&page=1&tags=js
16
+ * // User hits back → signals update automatically
17
+ * ```
18
+ */
19
+
20
+ interface QueryStateOptions<T> {
21
+ /** Custom serializer (default: auto-detect from type) */
22
+ serialize?: (value: T) => string;
23
+ /** Custom deserializer (default: auto-detect from type) */
24
+ deserialize?: (raw: string) => T;
25
+ /** Whether to push or replace history entry (default: 'replace') */
26
+ history?: 'push' | 'replace';
27
+ /** Debounce URL updates in ms (default: 0) */
28
+ debounce?: number;
29
+ /** Remove param from URL when value equals default */
30
+ removeDefault?: boolean;
31
+ }
32
+ /**
33
+ * Create a signal synced to a URL query parameter.
34
+ *
35
+ * ```ts
36
+ * const search = useQueryState('q', '');
37
+ * search(); // reads from URL or default
38
+ * search.set('hello'); // updates URL to ?q=hello
39
+ * ```
40
+ */
41
+ declare function useQueryState<T>(key: string, defaultValue: T, options?: QueryStateOptions<T>): Signal<T>;
42
+ type QueryStateSchema = Record<string, {
43
+ default: unknown;
44
+ serialize?: (value: any) => string;
45
+ deserialize?: (raw: string) => any;
46
+ }>;
47
+ type QueryStates<T extends QueryStateSchema> = {
48
+ [K in keyof T]: Signal<T[K]['default']>;
49
+ };
50
+ /**
51
+ * Create multiple URL-synced signals at once.
52
+ * All updates within a batch result in a single URL change.
53
+ *
54
+ * ```ts
55
+ * const { q, page, sort } = useQueryStates({
56
+ * q: { default: '' },
57
+ * page: { default: 1 },
58
+ * sort: { default: 'name' },
59
+ * });
60
+ * ```
61
+ */
62
+ declare function useQueryStates<T extends QueryStateSchema>(schema: T, options?: {
63
+ history?: 'push' | 'replace';
64
+ }): QueryStates<T>;
65
+ /**
66
+ * Remove all query state params from the URL.
67
+ */
68
+ declare function clearQueryState(): void;
69
+ /**
70
+ * Get all current query params as a plain object.
71
+ */
72
+ declare function getQueryParams(): Record<string, string>;
73
+ /**
74
+ * Cleanup: remove a specific query state binding.
75
+ */
76
+ declare function removeQueryState(key: string): void;
77
+ /**
78
+ * Cleanup all query state bindings (useful for testing).
79
+ */
80
+ declare function resetQueryState(): void;
81
+
82
+ export { type QueryStateOptions, clearQueryState, getQueryParams, removeQueryState, resetQueryState, useQueryState, useQueryStates };
@@ -0,0 +1,2 @@
1
+ export{c as clearQueryState,d as getQueryParams,e as removeQueryState,f as resetQueryState,a as useQueryState,b as useQueryStates}from'./chunk-F6VSSM2P.js';import'./chunk-YXKQTEPR.js';import'./chunk-U65WRXZC.js';//# sourceMappingURL=query-state.js.map
2
+ //# sourceMappingURL=query-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"query-state.js"}
@@ -0,0 +1,2 @@
1
+ 'use strict';var chunkAQQQVDBQ_cjs=require('./chunk-AQQQVDBQ.cjs');Object.defineProperty(exports,"countOps",{enumerable:true,get:function(){return chunkAQQQVDBQ_cjs.c}});Object.defineProperty(exports,"longestIncreasingSubsequence",{enumerable:true,get:function(){return chunkAQQQVDBQ_cjs.a}});Object.defineProperty(exports,"reconcileKeys",{enumerable:true,get:function(){return chunkAQQQVDBQ_cjs.b}});//# sourceMappingURL=reconcile.cjs.map
2
+ //# sourceMappingURL=reconcile.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"reconcile.cjs"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * List reconciliation with Longest Increasing Subsequence (LIS).
3
+ *
4
+ * When a keyed list updates, we need to determine the minimal set of
5
+ * DOM operations (inserts, moves, removes). The LIS of the new key
6
+ * positions tells us which nodes are already in the correct relative
7
+ * order and don't need to move.
8
+ *
9
+ * This is the same algorithm used by Vue 3, Solid, and Inferno.
10
+ */
11
+ /**
12
+ * Find the Longest Increasing Subsequence of indices.
13
+ * Returns the indices into the input array that form the LIS.
14
+ *
15
+ * Time: O(n log n), Space: O(n)
16
+ */
17
+ declare function longestIncreasingSubsequence(arr: number[]): number[];
18
+ /**
19
+ * Reconcile two keyed lists and return the minimal DOM operations.
20
+ *
21
+ * @param oldKeys - Keys of the current DOM list
22
+ * @param newKeys - Keys of the new data list
23
+ * @returns Operations to transform old into new
24
+ */
25
+ interface ReconcileOp {
26
+ type: 'insert' | 'move' | 'remove';
27
+ /** Index in the NEW array (for insert/move) */
28
+ newIndex?: number;
29
+ /** Index in the OLD array (for remove/move source) */
30
+ oldIndex?: number;
31
+ }
32
+ declare function reconcileKeys(oldKeys: unknown[], newKeys: unknown[]): ReconcileOp[];
33
+ /**
34
+ * Count the minimum number of DOM operations needed.
35
+ */
36
+ declare function countOps(oldKeys: unknown[], newKeys: unknown[]): {
37
+ inserts: number;
38
+ moves: number;
39
+ removes: number;
40
+ };
41
+
42
+ export { type ReconcileOp, countOps, longestIncreasingSubsequence, reconcileKeys };
@@ -0,0 +1,42 @@
1
+ /**
2
+ * List reconciliation with Longest Increasing Subsequence (LIS).
3
+ *
4
+ * When a keyed list updates, we need to determine the minimal set of
5
+ * DOM operations (inserts, moves, removes). The LIS of the new key
6
+ * positions tells us which nodes are already in the correct relative
7
+ * order and don't need to move.
8
+ *
9
+ * This is the same algorithm used by Vue 3, Solid, and Inferno.
10
+ */
11
+ /**
12
+ * Find the Longest Increasing Subsequence of indices.
13
+ * Returns the indices into the input array that form the LIS.
14
+ *
15
+ * Time: O(n log n), Space: O(n)
16
+ */
17
+ declare function longestIncreasingSubsequence(arr: number[]): number[];
18
+ /**
19
+ * Reconcile two keyed lists and return the minimal DOM operations.
20
+ *
21
+ * @param oldKeys - Keys of the current DOM list
22
+ * @param newKeys - Keys of the new data list
23
+ * @returns Operations to transform old into new
24
+ */
25
+ interface ReconcileOp {
26
+ type: 'insert' | 'move' | 'remove';
27
+ /** Index in the NEW array (for insert/move) */
28
+ newIndex?: number;
29
+ /** Index in the OLD array (for remove/move source) */
30
+ oldIndex?: number;
31
+ }
32
+ declare function reconcileKeys(oldKeys: unknown[], newKeys: unknown[]): ReconcileOp[];
33
+ /**
34
+ * Count the minimum number of DOM operations needed.
35
+ */
36
+ declare function countOps(oldKeys: unknown[], newKeys: unknown[]): {
37
+ inserts: number;
38
+ moves: number;
39
+ removes: number;
40
+ };
41
+
42
+ export { type ReconcileOp, countOps, longestIncreasingSubsequence, reconcileKeys };
@@ -0,0 +1,2 @@
1
+ export{c as countOps,a as longestIncreasingSubsequence,b as reconcileKeys}from'./chunk-UT4MWGJ3.js';//# sourceMappingURL=reconcile.js.map
2
+ //# sourceMappingURL=reconcile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"reconcile.js"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Batch multiple signal writes — subscribers are notified only once
3
+ * at the end of the batch.
4
+ */
5
+ declare function batch<T>(fn: () => T): T;
6
+ /** Synchronously flush all pending effects. Useful for testing. */
7
+ declare function flushSync(): void;
8
+
9
+ export { batch as b, flushSync as f };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Batch multiple signal writes — subscribers are notified only once
3
+ * at the end of the batch.
4
+ */
5
+ declare function batch<T>(fn: () => T): T;
6
+ /** Synchronously flush all pending effects. Useful for testing. */
7
+ declare function flushSync(): void;
8
+
9
+ export { batch as b, flushSync as f };
@@ -0,0 +1,2 @@
1
+ 'use strict';var chunkBHP3UTTQ_cjs=require('./chunk-BHP3UTTQ.cjs');Object.defineProperty(exports,"createCSRFInterceptor",{enumerable:true,get:function(){return chunkBHP3UTTQ_cjs.k}});Object.defineProperty(exports,"createRateLimiter",{enumerable:true,get:function(){return chunkBHP3UTTQ_cjs.m}});Object.defineProperty(exports,"createSafeHTML",{enumerable:true,get:function(){return chunkBHP3UTTQ_cjs.c}});Object.defineProperty(exports,"deepFreeze",{enumerable:true,get:function(){return chunkBHP3UTTQ_cjs.h}});Object.defineProperty(exports,"escapeHtml",{enumerable:true,get:function(){return chunkBHP3UTTQ_cjs.b}});Object.defineProperty(exports,"generateCSP",{enumerable:true,get:function(){return chunkBHP3UTTQ_cjs.d}});Object.defineProperty(exports,"generateCSRFToken",{enumerable:true,get:function(){return chunkBHP3UTTQ_cjs.j}});Object.defineProperty(exports,"generateSRI",{enumerable:true,get:function(){return chunkBHP3UTTQ_cjs.i}});Object.defineProperty(exports,"generateSecurityHeaders",{enumerable:true,get:function(){return chunkBHP3UTTQ_cjs.f}});Object.defineProperty(exports,"getCSPHeaderName",{enumerable:true,get:function(){return chunkBHP3UTTQ_cjs.e}});Object.defineProperty(exports,"safeMerge",{enumerable:true,get:function(){return chunkBHP3UTTQ_cjs.g}});Object.defineProperty(exports,"sanitize",{enumerable:true,get:function(){return chunkBHP3UTTQ_cjs.a}});Object.defineProperty(exports,"sanitizeURL",{enumerable:true,get:function(){return chunkBHP3UTTQ_cjs.l}});//# sourceMappingURL=security.cjs.map
2
+ //# sourceMappingURL=security.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"security.cjs"}
@@ -0,0 +1,193 @@
1
+ /**
2
+ * Security module — built-in protection for AkashJS apps.
3
+ *
4
+ * Auto-sanitization, CSP support, prototype pollution prevention,
5
+ * and secure defaults. AkashJS is secure by default.
6
+ */
7
+ interface SanitizeOptions {
8
+ /** Additional allowed tags */
9
+ allowTags?: string[];
10
+ /** Additional allowed attributes */
11
+ allowAttrs?: string[];
12
+ /** Allow data-* attributes (default: true) */
13
+ allowDataAttrs?: boolean;
14
+ /** Allow aria-* attributes (default: true) */
15
+ allowAriaAttrs?: boolean;
16
+ /** Allow style attribute (default: false) */
17
+ allowStyle?: boolean;
18
+ /** Custom tag filter */
19
+ tagFilter?: (tag: string) => boolean;
20
+ /** Custom attribute filter */
21
+ attrFilter?: (attr: string, value: string, tag: string) => boolean;
22
+ }
23
+ /**
24
+ * Sanitize HTML string — remove dangerous tags, attributes, and URLs.
25
+ *
26
+ * ```ts
27
+ * const safe = sanitize(userInput);
28
+ * el.innerHTML = safe; // Safe from XSS
29
+ *
30
+ * // With options:
31
+ * const safe = sanitize(html, { allowTags: ['iframe'], allowStyle: true });
32
+ * ```
33
+ */
34
+ declare function sanitize(html: string, options?: SanitizeOptions): string;
35
+ /**
36
+ * Escape HTML entities — prevents XSS in text content.
37
+ */
38
+ declare function escapeHtml(str: string): string;
39
+ /**
40
+ * Create a safe HTML setter that sanitizes automatically.
41
+ *
42
+ * ```ts
43
+ * const setHTML = createSafeHTML(el);
44
+ * setHTML(userContent); // Auto-sanitized
45
+ * ```
46
+ */
47
+ declare function createSafeHTML(el: HTMLElement, options?: SanitizeOptions): (html: string) => void;
48
+ interface CSPConfig {
49
+ /** Nonce for inline scripts/styles */
50
+ nonce?: string;
51
+ /** Report-only mode (default: false) */
52
+ reportOnly?: boolean;
53
+ /** Report URI for CSP violations */
54
+ reportUri?: string;
55
+ /** Custom directives */
56
+ directives?: Record<string, string[]>;
57
+ }
58
+ /**
59
+ * Generate a CSP header string.
60
+ *
61
+ * ```ts
62
+ * const csp = generateCSP({
63
+ * nonce: 'abc123',
64
+ * directives: {
65
+ * 'script-src': ["'self'"],
66
+ * 'style-src': ["'self'", "'unsafe-inline'"],
67
+ * 'img-src': ["'self'", 'data:', 'https:'],
68
+ * },
69
+ * });
70
+ * // "script-src 'self' 'nonce-abc123'; style-src 'self' 'unsafe-inline'; ..."
71
+ * ```
72
+ */
73
+ declare function generateCSP(config?: CSPConfig): string;
74
+ /**
75
+ * Get the CSP header name based on config.
76
+ */
77
+ declare function getCSPHeaderName(config?: CSPConfig): string;
78
+ interface SecurityHeadersConfig {
79
+ /** Content Security Policy (false to disable) */
80
+ csp?: CSPConfig | false;
81
+ /** X-Frame-Options (default: 'DENY') */
82
+ frameOptions?: 'DENY' | 'SAMEORIGIN' | false;
83
+ /** X-Content-Type-Options (default: 'nosniff') */
84
+ contentTypeOptions?: boolean;
85
+ /** X-XSS-Protection (default: '0' — let CSP handle it) */
86
+ xssProtection?: boolean;
87
+ /** Strict-Transport-Security */
88
+ hsts?: {
89
+ maxAge: number;
90
+ includeSubDomains?: boolean;
91
+ preload?: boolean;
92
+ } | false;
93
+ /** Referrer-Policy (default: 'strict-origin-when-cross-origin') */
94
+ referrerPolicy?: string | false;
95
+ /** Permissions-Policy */
96
+ permissionsPolicy?: Record<string, string[]> | false;
97
+ /** Cross-Origin-Opener-Policy */
98
+ coop?: 'same-origin' | 'same-origin-allow-popups' | 'unsafe-none' | false;
99
+ /** Cross-Origin-Embedder-Policy */
100
+ coep?: 'require-corp' | 'credentialless' | 'unsafe-none' | false;
101
+ }
102
+ /**
103
+ * Generate security headers for SSR responses.
104
+ *
105
+ * ```ts
106
+ * const headers = generateSecurityHeaders();
107
+ * // Apply to your server response
108
+ * for (const [name, value] of Object.entries(headers)) {
109
+ * res.setHeader(name, value);
110
+ * }
111
+ * ```
112
+ */
113
+ declare function generateSecurityHeaders(config?: SecurityHeadersConfig): Record<string, string>;
114
+ /**
115
+ * Safe deep merge that prevents prototype pollution.
116
+ * Will not set __proto__, constructor, or prototype keys.
117
+ *
118
+ * ```ts
119
+ * const result = safeMerge(defaults, userConfig);
120
+ * ```
121
+ */
122
+ declare function safeMerge<T extends Record<string, unknown>>(target: T, ...sources: Partial<T>[]): T;
123
+ /**
124
+ * Freeze an object deeply — prevents any modification.
125
+ */
126
+ declare function deepFreeze<T>(obj: T): Readonly<T>;
127
+ /**
128
+ * Generate SRI hash for a script/style resource.
129
+ * For use in <script integrity="..."> and <link integrity="...">.
130
+ *
131
+ * ```ts
132
+ * // In Node.js build script:
133
+ * const hash = await generateSRI(fileContent);
134
+ * // 'sha384-...'
135
+ * ```
136
+ */
137
+ declare function generateSRI(content: string, algorithm?: 'sha256' | 'sha384' | 'sha512'): Promise<string>;
138
+ /**
139
+ * Generate a CSRF token.
140
+ */
141
+ declare function generateCSRFToken(): string;
142
+ /**
143
+ * Create an HTTP interceptor that attaches CSRF tokens.
144
+ *
145
+ * ```ts
146
+ * const csrf = createCSRFInterceptor();
147
+ * const http = createHttpClient({ interceptors: [csrf.interceptor] });
148
+ * // Token is auto-attached to every mutation request
149
+ * ```
150
+ */
151
+ declare function createCSRFInterceptor(options?: {
152
+ headerName?: string;
153
+ cookieName?: string;
154
+ tokenGenerator?: () => string;
155
+ }): {
156
+ interceptor: (request: Request, next: (req: Request) => Promise<Response>) => Promise<Response>;
157
+ token: () => string;
158
+ refresh(): void;
159
+ };
160
+ /**
161
+ * Validate and sanitize a URL — prevent open redirect attacks.
162
+ *
163
+ * ```ts
164
+ * const safe = sanitizeURL(userInput, { allowedHosts: ['example.com'] });
165
+ * if (safe) window.location.href = safe;
166
+ * ```
167
+ */
168
+ declare function sanitizeURL(url: string, options?: {
169
+ allowedHosts?: string[];
170
+ allowedProtocols?: string[];
171
+ allowRelative?: boolean;
172
+ }): string | null;
173
+ /**
174
+ * Rate limiter for client-side actions (e.g., form submissions).
175
+ *
176
+ * ```ts
177
+ * const limiter = createRateLimiter({ maxAttempts: 5, windowMs: 60000 });
178
+ * if (!limiter.check()) {
179
+ * toast.error('Too many attempts. Please wait.');
180
+ * return;
181
+ * }
182
+ * ```
183
+ */
184
+ declare function createRateLimiter(options: {
185
+ maxAttempts: number;
186
+ windowMs: number;
187
+ }): {
188
+ check(): boolean;
189
+ remaining(): number;
190
+ reset(): void;
191
+ };
192
+
193
+ export { type CSPConfig, type SanitizeOptions, type SecurityHeadersConfig, createCSRFInterceptor, createRateLimiter, createSafeHTML, deepFreeze, escapeHtml, generateCSP, generateCSRFToken, generateSRI, generateSecurityHeaders, getCSPHeaderName, safeMerge, sanitize, sanitizeURL };
@@ -0,0 +1,193 @@
1
+ /**
2
+ * Security module — built-in protection for AkashJS apps.
3
+ *
4
+ * Auto-sanitization, CSP support, prototype pollution prevention,
5
+ * and secure defaults. AkashJS is secure by default.
6
+ */
7
+ interface SanitizeOptions {
8
+ /** Additional allowed tags */
9
+ allowTags?: string[];
10
+ /** Additional allowed attributes */
11
+ allowAttrs?: string[];
12
+ /** Allow data-* attributes (default: true) */
13
+ allowDataAttrs?: boolean;
14
+ /** Allow aria-* attributes (default: true) */
15
+ allowAriaAttrs?: boolean;
16
+ /** Allow style attribute (default: false) */
17
+ allowStyle?: boolean;
18
+ /** Custom tag filter */
19
+ tagFilter?: (tag: string) => boolean;
20
+ /** Custom attribute filter */
21
+ attrFilter?: (attr: string, value: string, tag: string) => boolean;
22
+ }
23
+ /**
24
+ * Sanitize HTML string — remove dangerous tags, attributes, and URLs.
25
+ *
26
+ * ```ts
27
+ * const safe = sanitize(userInput);
28
+ * el.innerHTML = safe; // Safe from XSS
29
+ *
30
+ * // With options:
31
+ * const safe = sanitize(html, { allowTags: ['iframe'], allowStyle: true });
32
+ * ```
33
+ */
34
+ declare function sanitize(html: string, options?: SanitizeOptions): string;
35
+ /**
36
+ * Escape HTML entities — prevents XSS in text content.
37
+ */
38
+ declare function escapeHtml(str: string): string;
39
+ /**
40
+ * Create a safe HTML setter that sanitizes automatically.
41
+ *
42
+ * ```ts
43
+ * const setHTML = createSafeHTML(el);
44
+ * setHTML(userContent); // Auto-sanitized
45
+ * ```
46
+ */
47
+ declare function createSafeHTML(el: HTMLElement, options?: SanitizeOptions): (html: string) => void;
48
+ interface CSPConfig {
49
+ /** Nonce for inline scripts/styles */
50
+ nonce?: string;
51
+ /** Report-only mode (default: false) */
52
+ reportOnly?: boolean;
53
+ /** Report URI for CSP violations */
54
+ reportUri?: string;
55
+ /** Custom directives */
56
+ directives?: Record<string, string[]>;
57
+ }
58
+ /**
59
+ * Generate a CSP header string.
60
+ *
61
+ * ```ts
62
+ * const csp = generateCSP({
63
+ * nonce: 'abc123',
64
+ * directives: {
65
+ * 'script-src': ["'self'"],
66
+ * 'style-src': ["'self'", "'unsafe-inline'"],
67
+ * 'img-src': ["'self'", 'data:', 'https:'],
68
+ * },
69
+ * });
70
+ * // "script-src 'self' 'nonce-abc123'; style-src 'self' 'unsafe-inline'; ..."
71
+ * ```
72
+ */
73
+ declare function generateCSP(config?: CSPConfig): string;
74
+ /**
75
+ * Get the CSP header name based on config.
76
+ */
77
+ declare function getCSPHeaderName(config?: CSPConfig): string;
78
+ interface SecurityHeadersConfig {
79
+ /** Content Security Policy (false to disable) */
80
+ csp?: CSPConfig | false;
81
+ /** X-Frame-Options (default: 'DENY') */
82
+ frameOptions?: 'DENY' | 'SAMEORIGIN' | false;
83
+ /** X-Content-Type-Options (default: 'nosniff') */
84
+ contentTypeOptions?: boolean;
85
+ /** X-XSS-Protection (default: '0' — let CSP handle it) */
86
+ xssProtection?: boolean;
87
+ /** Strict-Transport-Security */
88
+ hsts?: {
89
+ maxAge: number;
90
+ includeSubDomains?: boolean;
91
+ preload?: boolean;
92
+ } | false;
93
+ /** Referrer-Policy (default: 'strict-origin-when-cross-origin') */
94
+ referrerPolicy?: string | false;
95
+ /** Permissions-Policy */
96
+ permissionsPolicy?: Record<string, string[]> | false;
97
+ /** Cross-Origin-Opener-Policy */
98
+ coop?: 'same-origin' | 'same-origin-allow-popups' | 'unsafe-none' | false;
99
+ /** Cross-Origin-Embedder-Policy */
100
+ coep?: 'require-corp' | 'credentialless' | 'unsafe-none' | false;
101
+ }
102
+ /**
103
+ * Generate security headers for SSR responses.
104
+ *
105
+ * ```ts
106
+ * const headers = generateSecurityHeaders();
107
+ * // Apply to your server response
108
+ * for (const [name, value] of Object.entries(headers)) {
109
+ * res.setHeader(name, value);
110
+ * }
111
+ * ```
112
+ */
113
+ declare function generateSecurityHeaders(config?: SecurityHeadersConfig): Record<string, string>;
114
+ /**
115
+ * Safe deep merge that prevents prototype pollution.
116
+ * Will not set __proto__, constructor, or prototype keys.
117
+ *
118
+ * ```ts
119
+ * const result = safeMerge(defaults, userConfig);
120
+ * ```
121
+ */
122
+ declare function safeMerge<T extends Record<string, unknown>>(target: T, ...sources: Partial<T>[]): T;
123
+ /**
124
+ * Freeze an object deeply — prevents any modification.
125
+ */
126
+ declare function deepFreeze<T>(obj: T): Readonly<T>;
127
+ /**
128
+ * Generate SRI hash for a script/style resource.
129
+ * For use in <script integrity="..."> and <link integrity="...">.
130
+ *
131
+ * ```ts
132
+ * // In Node.js build script:
133
+ * const hash = await generateSRI(fileContent);
134
+ * // 'sha384-...'
135
+ * ```
136
+ */
137
+ declare function generateSRI(content: string, algorithm?: 'sha256' | 'sha384' | 'sha512'): Promise<string>;
138
+ /**
139
+ * Generate a CSRF token.
140
+ */
141
+ declare function generateCSRFToken(): string;
142
+ /**
143
+ * Create an HTTP interceptor that attaches CSRF tokens.
144
+ *
145
+ * ```ts
146
+ * const csrf = createCSRFInterceptor();
147
+ * const http = createHttpClient({ interceptors: [csrf.interceptor] });
148
+ * // Token is auto-attached to every mutation request
149
+ * ```
150
+ */
151
+ declare function createCSRFInterceptor(options?: {
152
+ headerName?: string;
153
+ cookieName?: string;
154
+ tokenGenerator?: () => string;
155
+ }): {
156
+ interceptor: (request: Request, next: (req: Request) => Promise<Response>) => Promise<Response>;
157
+ token: () => string;
158
+ refresh(): void;
159
+ };
160
+ /**
161
+ * Validate and sanitize a URL — prevent open redirect attacks.
162
+ *
163
+ * ```ts
164
+ * const safe = sanitizeURL(userInput, { allowedHosts: ['example.com'] });
165
+ * if (safe) window.location.href = safe;
166
+ * ```
167
+ */
168
+ declare function sanitizeURL(url: string, options?: {
169
+ allowedHosts?: string[];
170
+ allowedProtocols?: string[];
171
+ allowRelative?: boolean;
172
+ }): string | null;
173
+ /**
174
+ * Rate limiter for client-side actions (e.g., form submissions).
175
+ *
176
+ * ```ts
177
+ * const limiter = createRateLimiter({ maxAttempts: 5, windowMs: 60000 });
178
+ * if (!limiter.check()) {
179
+ * toast.error('Too many attempts. Please wait.');
180
+ * return;
181
+ * }
182
+ * ```
183
+ */
184
+ declare function createRateLimiter(options: {
185
+ maxAttempts: number;
186
+ windowMs: number;
187
+ }): {
188
+ check(): boolean;
189
+ remaining(): number;
190
+ reset(): void;
191
+ };
192
+
193
+ export { type CSPConfig, type SanitizeOptions, type SecurityHeadersConfig, createCSRFInterceptor, createRateLimiter, createSafeHTML, deepFreeze, escapeHtml, generateCSP, generateCSRFToken, generateSRI, generateSecurityHeaders, getCSPHeaderName, safeMerge, sanitize, sanitizeURL };
@@ -0,0 +1,2 @@
1
+ export{k as createCSRFInterceptor,m as createRateLimiter,c as createSafeHTML,h as deepFreeze,b as escapeHtml,d as generateCSP,j as generateCSRFToken,i as generateSRI,f as generateSecurityHeaders,e as getCSPHeaderName,g as safeMerge,a as sanitize,l as sanitizeURL}from'./chunk-KMEGUPH2.js';//# sourceMappingURL=security.js.map
2
+ //# sourceMappingURL=security.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"security.js"}
package/dist/seo.cjs ADDED
@@ -0,0 +1,2 @@
1
+ 'use strict';var chunkIKVHLORY_cjs=require('./chunk-IKVHLORY.cjs');require('./chunk-FVWHMFX6.cjs'),require('./chunk-XWVNLE2W.cjs'),require('./chunk-IQGSDFBI.cjs'),require('./chunk-PPNEAFKE.cjs'),require('./chunk-WOZWFMOK.cjs'),require('./chunk-XPLIEN2G.cjs');Object.defineProperty(exports,"generateSitemap",{enumerable:true,get:function(){return chunkIKVHLORY_cjs.e}});Object.defineProperty(exports,"useOpenGraph",{enumerable:true,get:function(){return chunkIKVHLORY_cjs.b}});Object.defineProperty(exports,"useSEO",{enumerable:true,get:function(){return chunkIKVHLORY_cjs.d}});Object.defineProperty(exports,"useStructuredData",{enumerable:true,get:function(){return chunkIKVHLORY_cjs.a}});Object.defineProperty(exports,"useTwitterCard",{enumerable:true,get:function(){return chunkIKVHLORY_cjs.c}});//# sourceMappingURL=seo.cjs.map
2
+ //# sourceMappingURL=seo.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"seo.cjs"}