@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.
- package/dist/a11y.cjs +2 -0
- package/dist/a11y.cjs.map +1 -0
- package/dist/a11y.d.cts +99 -0
- package/dist/a11y.d.ts +99 -0
- package/dist/a11y.js +2 -0
- package/dist/a11y.js.map +1 -0
- package/dist/async-component.cjs +2 -0
- package/dist/async-component.cjs.map +1 -0
- package/dist/async-component.d.cts +44 -0
- package/dist/async-component.d.ts +44 -0
- package/dist/async-component.js +2 -0
- package/dist/async-component.js.map +1 -0
- package/dist/await-block.cjs +2 -0
- package/dist/await-block.cjs.map +1 -0
- package/dist/await-block.d.cts +37 -0
- package/dist/await-block.d.ts +37 -0
- package/dist/await-block.js +2 -0
- package/dist/await-block.js.map +1 -0
- package/dist/browser.cjs +2 -0
- package/dist/browser.cjs.map +1 -0
- package/dist/browser.d.cts +125 -0
- package/dist/browser.d.ts +125 -0
- package/dist/browser.js +2 -0
- package/dist/browser.js.map +1 -0
- package/dist/chunk-2HLDEWRT.cjs +2 -0
- package/dist/chunk-2HLDEWRT.cjs.map +1 -0
- package/dist/{chunk-2U643GJZ.cjs → chunk-2LKFIID7.cjs} +2 -2
- package/dist/{chunk-2U643GJZ.cjs.map → chunk-2LKFIID7.cjs.map} +1 -1
- package/dist/chunk-34PQECMN.cjs +2 -0
- package/dist/chunk-34PQECMN.cjs.map +1 -0
- package/dist/chunk-36VM3RJW.cjs +2 -0
- package/dist/chunk-36VM3RJW.cjs.map +1 -0
- package/dist/chunk-3PGU24B5.cjs +3 -0
- package/dist/chunk-3PGU24B5.cjs.map +1 -0
- package/dist/chunk-3XREYIJH.cjs +2 -0
- package/dist/chunk-3XREYIJH.cjs.map +1 -0
- package/dist/chunk-45DPEU7T.cjs +2 -0
- package/dist/chunk-45DPEU7T.cjs.map +1 -0
- package/dist/chunk-4J3QBQVW.js +4 -0
- package/dist/chunk-4J3QBQVW.js.map +1 -0
- package/dist/{chunk-2Q6SYE5O.cjs → chunk-4NQEIKH5.cjs} +2 -2
- package/dist/{chunk-2Q6SYE5O.cjs.map → chunk-4NQEIKH5.cjs.map} +1 -1
- package/dist/chunk-5QCWH6QA.cjs +4 -0
- package/dist/chunk-5QCWH6QA.cjs.map +1 -0
- package/dist/chunk-6O46EMQS.cjs +2 -0
- package/dist/chunk-6O46EMQS.cjs.map +1 -0
- package/dist/chunk-7IJUJUXE.cjs +2 -0
- package/dist/chunk-7IJUJUXE.cjs.map +1 -0
- package/dist/chunk-7UX5CSGZ.cjs +2 -0
- package/dist/chunk-7UX5CSGZ.cjs.map +1 -0
- package/dist/chunk-7VBH4F3P.js +2 -0
- package/dist/chunk-7VBH4F3P.js.map +1 -0
- package/dist/chunk-7ZPSYZHD.cjs +2 -0
- package/dist/chunk-7ZPSYZHD.cjs.map +1 -0
- package/dist/chunk-AOFLE33X.js +5 -0
- package/dist/chunk-AOFLE33X.js.map +1 -0
- package/dist/chunk-AQQQVDBQ.cjs +2 -0
- package/dist/chunk-AQQQVDBQ.cjs.map +1 -0
- package/dist/chunk-AXB5GHGO.js +2 -0
- package/dist/chunk-AXB5GHGO.js.map +1 -0
- package/dist/chunk-AZCELE44.cjs +2 -0
- package/dist/chunk-AZCELE44.cjs.map +1 -0
- package/dist/chunk-BB7P6HTR.js +2 -0
- package/dist/chunk-BB7P6HTR.js.map +1 -0
- package/dist/chunk-BGSF77LF.js +2 -0
- package/dist/chunk-BGSF77LF.js.map +1 -0
- package/dist/chunk-BHP3UTTQ.cjs +3 -0
- package/dist/chunk-BHP3UTTQ.cjs.map +1 -0
- package/dist/chunk-CP6SK2B4.js +2 -0
- package/dist/{chunk-5NHDEY2C.js.map → chunk-CP6SK2B4.js.map} +1 -1
- package/dist/chunk-DFYXFKCH.cjs +2 -0
- package/dist/chunk-DFYXFKCH.cjs.map +1 -0
- package/dist/chunk-DHFVVFZF.cjs +2 -0
- package/dist/chunk-DHFVVFZF.cjs.map +1 -0
- package/dist/chunk-DP7G45QM.cjs +13 -0
- package/dist/chunk-DP7G45QM.cjs.map +1 -0
- package/dist/chunk-E6RB7PRO.js +2 -0
- package/dist/chunk-E6RB7PRO.js.map +1 -0
- package/dist/chunk-F4FXIPR3.js +2 -0
- package/dist/chunk-F4FXIPR3.js.map +1 -0
- package/dist/chunk-F6VSSM2P.js +2 -0
- package/dist/chunk-F6VSSM2P.js.map +1 -0
- package/dist/chunk-FUVSCPU4.cjs +2 -0
- package/dist/chunk-FUVSCPU4.cjs.map +1 -0
- package/dist/chunk-FVF3T4JJ.js +2 -0
- package/dist/chunk-FVF3T4JJ.js.map +1 -0
- package/dist/chunk-FVWHMFX6.cjs +5 -0
- package/dist/chunk-FVWHMFX6.cjs.map +1 -0
- package/dist/chunk-IHEW6F2H.js +2 -0
- package/dist/chunk-IHEW6F2H.js.map +1 -0
- package/dist/chunk-IJS2EMSE.js +2 -0
- package/dist/chunk-IJS2EMSE.js.map +1 -0
- package/dist/chunk-IKVHLORY.cjs +11 -0
- package/dist/chunk-IKVHLORY.cjs.map +1 -0
- package/dist/chunk-IQGSDFBI.cjs +2 -0
- package/dist/chunk-IQGSDFBI.cjs.map +1 -0
- package/dist/chunk-J6KDUWX6.cjs +2 -0
- package/dist/chunk-J6KDUWX6.cjs.map +1 -0
- package/dist/chunk-JD3LDHUI.cjs +2 -0
- package/dist/chunk-JD3LDHUI.cjs.map +1 -0
- package/dist/chunk-JEYTB4AG.js +2 -0
- package/dist/chunk-JEYTB4AG.js.map +1 -0
- package/dist/chunk-JFLZJPVN.js +2 -0
- package/dist/chunk-JFLZJPVN.js.map +1 -0
- package/dist/chunk-JLPJ22CE.js +2 -0
- package/dist/chunk-JLPJ22CE.js.map +1 -0
- package/dist/chunk-JQCN42XX.js +2 -0
- package/dist/chunk-JQCN42XX.js.map +1 -0
- package/dist/chunk-K2HB5VFA.cjs +2 -0
- package/dist/chunk-K2HB5VFA.cjs.map +1 -0
- package/dist/chunk-K7TMUF3F.cjs +2 -0
- package/dist/chunk-K7TMUF3F.cjs.map +1 -0
- package/dist/chunk-KE7BJTCD.js +2 -0
- package/dist/chunk-KE7BJTCD.js.map +1 -0
- package/dist/chunk-KMEGUPH2.js +3 -0
- package/dist/chunk-KMEGUPH2.js.map +1 -0
- package/dist/chunk-KUPL3ZVD.js +2 -0
- package/dist/chunk-KUPL3ZVD.js.map +1 -0
- package/dist/chunk-L3ZZX36S.js +2 -0
- package/dist/chunk-L3ZZX36S.js.map +1 -0
- package/dist/chunk-LD4C62JY.cjs +2 -0
- package/dist/chunk-LD4C62JY.cjs.map +1 -0
- package/dist/chunk-LWQPLKL6.cjs +20 -0
- package/dist/chunk-LWQPLKL6.cjs.map +1 -0
- package/dist/chunk-M5IACTFC.cjs +17 -0
- package/dist/chunk-M5IACTFC.cjs.map +1 -0
- package/dist/chunk-MADMPRT2.js +20 -0
- package/dist/chunk-MADMPRT2.js.map +1 -0
- package/dist/chunk-MDHWM3C2.js +2 -0
- package/dist/chunk-MDHWM3C2.js.map +1 -0
- package/dist/chunk-N3ITIHHM.js +5 -0
- package/dist/chunk-N3ITIHHM.js.map +1 -0
- package/dist/chunk-N5APNCPB.js +2 -0
- package/dist/chunk-N5APNCPB.js.map +1 -0
- package/dist/{chunk-U53YRJNV.js → chunk-NBYFHJWB.js} +3 -3
- package/dist/{chunk-U53YRJNV.js.map → chunk-NBYFHJWB.js.map} +1 -1
- package/dist/chunk-NCXMNJUN.js +2 -0
- package/dist/chunk-NCXMNJUN.js.map +1 -0
- package/dist/chunk-NEQ5TENE.cjs +2 -0
- package/dist/chunk-NEQ5TENE.cjs.map +1 -0
- package/dist/chunk-NGU2W4PD.cjs +2 -0
- package/dist/chunk-NGU2W4PD.cjs.map +1 -0
- package/dist/{chunk-ZYVQQ5VR.cjs → chunk-NHDYQTC5.cjs} +3 -3
- package/dist/{chunk-ZYVQQ5VR.cjs.map → chunk-NHDYQTC5.cjs.map} +1 -1
- package/dist/chunk-NJXXC5JB.js +2 -0
- package/dist/chunk-NJXXC5JB.js.map +1 -0
- package/dist/chunk-NQEY7DR5.cjs +2 -0
- package/dist/chunk-NQEY7DR5.cjs.map +1 -0
- package/dist/chunk-OQV3NYDH.js +3 -0
- package/dist/chunk-OQV3NYDH.js.map +1 -0
- package/dist/chunk-OZ4GNBKA.js +2 -0
- package/dist/chunk-OZ4GNBKA.js.map +1 -0
- package/dist/chunk-PPNEAFKE.cjs +5 -0
- package/dist/chunk-PPNEAFKE.cjs.map +1 -0
- package/dist/chunk-PYASLKWF.js +2 -0
- package/dist/chunk-PYASLKWF.js.map +1 -0
- package/dist/chunk-Q6S7SUOM.js +2 -0
- package/dist/chunk-Q6S7SUOM.js.map +1 -0
- package/dist/chunk-QE2TJ6P5.cjs +2 -0
- package/dist/chunk-QE2TJ6P5.cjs.map +1 -0
- package/dist/chunk-QNVMBXVH.js +2 -0
- package/dist/chunk-QNVMBXVH.js.map +1 -0
- package/dist/chunk-QQ725EZL.js +2 -0
- package/dist/chunk-QQ725EZL.js.map +1 -0
- package/dist/chunk-QQTZQ6UX.cjs +2 -0
- package/dist/chunk-QQTZQ6UX.cjs.map +1 -0
- package/dist/{chunk-AVVJKYT3.cjs → chunk-QSPRVXFV.cjs} +2 -2
- package/dist/{chunk-AVVJKYT3.cjs.map → chunk-QSPRVXFV.cjs.map} +1 -1
- package/dist/chunk-QTQ6RUX4.cjs +5 -0
- package/dist/chunk-QTQ6RUX4.cjs.map +1 -0
- package/dist/chunk-R65RPMQX.cjs +2 -0
- package/dist/chunk-R65RPMQX.cjs.map +1 -0
- package/dist/chunk-R7NUVVHP.js +2 -0
- package/dist/{chunk-5A7KDBDU.js.map → chunk-R7NUVVHP.js.map} +1 -1
- package/dist/chunk-SXYPAP4B.js +2 -0
- package/dist/chunk-SXYPAP4B.js.map +1 -0
- package/dist/chunk-T2RVAQEU.js +2 -0
- package/dist/chunk-T2RVAQEU.js.map +1 -0
- package/dist/chunk-T7A5YOEG.cjs +2 -0
- package/dist/chunk-T7A5YOEG.cjs.map +1 -0
- package/dist/chunk-TDKDZ3QJ.cjs +2 -0
- package/dist/chunk-TDKDZ3QJ.cjs.map +1 -0
- package/dist/chunk-TFEHO7SF.cjs +2 -0
- package/dist/chunk-TFEHO7SF.cjs.map +1 -0
- package/dist/chunk-TSFY5HKB.js +17 -0
- package/dist/chunk-TSFY5HKB.js.map +1 -0
- package/dist/chunk-TYTEJYUQ.cjs +2 -0
- package/dist/chunk-TYTEJYUQ.cjs.map +1 -0
- package/dist/chunk-TZHEZW6R.js +11 -0
- package/dist/chunk-TZHEZW6R.js.map +1 -0
- package/dist/chunk-U65WRXZC.js +13 -0
- package/dist/chunk-U65WRXZC.js.map +1 -0
- package/dist/chunk-UT4MWGJ3.js +2 -0
- package/dist/chunk-UT4MWGJ3.js.map +1 -0
- package/dist/chunk-V2JDKH3W.cjs +2 -0
- package/dist/chunk-V2JDKH3W.cjs.map +1 -0
- package/dist/chunk-VNDSKBXQ.cjs +2 -0
- package/dist/chunk-VNDSKBXQ.cjs.map +1 -0
- package/dist/chunk-VO4FCKHM.js +2 -0
- package/dist/chunk-VO4FCKHM.js.map +1 -0
- package/dist/chunk-VUMMC2P5.js +2 -0
- package/dist/chunk-VUMMC2P5.js.map +1 -0
- package/dist/chunk-VUSNUBNI.js +2 -0
- package/dist/chunk-VUSNUBNI.js.map +1 -0
- package/dist/chunk-VWTULWXF.js +2 -0
- package/dist/{chunk-TKFJGLUO.js.map → chunk-VWTULWXF.js.map} +1 -1
- package/dist/chunk-VX7PSSOU.js +5 -0
- package/dist/chunk-VX7PSSOU.js.map +1 -0
- package/dist/chunk-WLSXJU2N.js +13 -0
- package/dist/chunk-WLSXJU2N.js.map +1 -0
- package/dist/chunk-WOZWFMOK.cjs +2 -0
- package/dist/chunk-WOZWFMOK.cjs.map +1 -0
- package/dist/chunk-WTDTVWCQ.cjs +2 -0
- package/dist/chunk-WTDTVWCQ.cjs.map +1 -0
- package/dist/chunk-WZ5ULION.js +2 -0
- package/dist/chunk-WZ5ULION.js.map +1 -0
- package/dist/chunk-XPLIEN2G.cjs +13 -0
- package/dist/chunk-XPLIEN2G.cjs.map +1 -0
- package/dist/chunk-XWVNLE2W.cjs +2 -0
- package/dist/chunk-XWVNLE2W.cjs.map +1 -0
- package/dist/chunk-XZR3J626.cjs +2 -0
- package/dist/chunk-XZR3J626.cjs.map +1 -0
- package/dist/chunk-YDO5KARN.js +2 -0
- package/dist/chunk-YDO5KARN.js.map +1 -0
- package/dist/chunk-YURIYBTN.cjs +2 -0
- package/dist/chunk-YURIYBTN.cjs.map +1 -0
- package/dist/chunk-YXKQTEPR.js +2 -0
- package/dist/chunk-YXKQTEPR.js.map +1 -0
- package/dist/chunk-Z6K4FYG6.js +2 -0
- package/dist/chunk-Z6K4FYG6.js.map +1 -0
- package/dist/chunk-ZJULEDLY.js +2 -0
- package/dist/chunk-ZJULEDLY.js.map +1 -0
- package/dist/{component-C1WnFcRp.d.ts → component-CPVtkASo.d.ts} +2 -3
- package/dist/{component-C1WnFcRp.d.cts → component-CxlupKuc.d.cts} +2 -3
- package/dist/composables.cjs +2 -0
- package/dist/composables.cjs.map +1 -0
- package/dist/composables.d.cts +103 -0
- package/dist/composables.d.ts +103 -0
- package/dist/composables.js +2 -0
- package/dist/composables.js.map +1 -0
- package/dist/{context-CB1mCq2h.d.cts → context-Cwt7QCpk.d.cts} +1 -9
- package/dist/{context-CB1mCq2h.d.ts → context-Cwt7QCpk.d.ts} +1 -9
- package/dist/core.cjs +1 -1
- package/dist/core.d.cts +5 -4
- package/dist/core.d.ts +5 -4
- package/dist/core.js +1 -1
- package/dist/css.cjs +2 -0
- package/dist/css.cjs.map +1 -0
- package/dist/css.d.cts +42 -0
- package/dist/css.d.ts +42 -0
- package/dist/css.js +2 -0
- package/dist/css.js.map +1 -0
- package/dist/data-table.cjs +2 -0
- package/dist/data-table.cjs.map +1 -0
- package/dist/data-table.d.cts +97 -0
- package/dist/data-table.d.ts +97 -0
- package/dist/data-table.js +2 -0
- package/dist/data-table.js.map +1 -0
- package/dist/deep-signal.cjs +2 -0
- package/dist/deep-signal.cjs.map +1 -0
- package/dist/deep-signal.d.cts +48 -0
- package/dist/deep-signal.d.ts +48 -0
- package/dist/deep-signal.js +2 -0
- package/dist/deep-signal.js.map +1 -0
- package/dist/defer.cjs +2 -0
- package/dist/defer.cjs.map +1 -0
- package/dist/defer.d.cts +55 -0
- package/dist/defer.d.ts +55 -0
- package/dist/defer.js +2 -0
- package/dist/defer.js.map +1 -0
- package/dist/deprecation.cjs +2 -0
- package/dist/deprecation.cjs.map +1 -0
- package/dist/deprecation.d.cts +119 -0
- package/dist/deprecation.d.ts +119 -0
- package/dist/deprecation.js +2 -0
- package/dist/deprecation.js.map +1 -0
- package/dist/{devtools-overlay-CJWKBTP4.js → devtools-overlay-3WRM6GKM.js} +3 -3
- package/dist/{devtools-overlay-CJWKBTP4.js.map → devtools-overlay-3WRM6GKM.js.map} +1 -1
- package/dist/{devtools-overlay-EQ3G755P.cjs → devtools-overlay-WJGSIB4N.cjs} +4 -4
- package/dist/{devtools-overlay-EQ3G755P.cjs.map → devtools-overlay-WJGSIB4N.cjs.map} +1 -1
- package/dist/devtools.cjs +2 -0
- package/dist/devtools.cjs.map +1 -0
- package/dist/devtools.d.cts +78 -0
- package/dist/devtools.d.ts +78 -0
- package/dist/devtools.js +2 -0
- package/dist/devtools.js.map +1 -0
- package/dist/di.cjs +2 -0
- package/dist/di.cjs.map +1 -0
- package/dist/di.d.cts +93 -0
- package/dist/di.d.ts +93 -0
- package/dist/di.js +2 -0
- package/dist/di.js.map +1 -0
- package/dist/directive.cjs +2 -0
- package/dist/directive.cjs.map +1 -0
- package/dist/directive.d.cts +102 -0
- package/dist/directive.d.ts +102 -0
- package/dist/directive.js +2 -0
- package/dist/directive.js.map +1 -0
- package/dist/error-boundary.cjs +2 -0
- package/dist/error-boundary.cjs.map +1 -0
- package/dist/error-boundary.d.cts +17 -0
- package/dist/error-boundary.d.ts +17 -0
- package/dist/error-boundary.js +2 -0
- package/dist/error-boundary.js.map +1 -0
- package/dist/error-hints.cjs +2 -0
- package/dist/error-hints.cjs.map +1 -0
- package/dist/error-hints.d.cts +17 -0
- package/dist/error-hints.d.ts +17 -0
- package/dist/error-hints.js +2 -0
- package/dist/error-hints.js.map +1 -0
- package/dist/errors.cjs +2 -0
- package/dist/errors.cjs.map +1 -0
- package/dist/errors.d.cts +35 -0
- package/dist/errors.d.ts +35 -0
- package/dist/errors.js +2 -0
- package/dist/errors.js.map +1 -0
- package/dist/event-bus.cjs +2 -0
- package/dist/event-bus.cjs.map +1 -0
- package/dist/event-bus.d.cts +68 -0
- package/dist/event-bus.d.ts +68 -0
- package/dist/event-bus.js +2 -0
- package/dist/event-bus.js.map +1 -0
- package/dist/event-modifiers.cjs +2 -0
- package/dist/event-modifiers.cjs.map +1 -0
- package/dist/event-modifiers.d.cts +130 -0
- package/dist/event-modifiers.d.ts +130 -0
- package/dist/event-modifiers.js +2 -0
- package/dist/event-modifiers.js.map +1 -0
- package/dist/flip.cjs +2 -0
- package/dist/flip.cjs.map +1 -0
- package/dist/flip.d.cts +66 -0
- package/dist/flip.d.ts +66 -0
- package/dist/flip.js +2 -0
- package/dist/flip.js.map +1 -0
- package/dist/head.cjs +2 -0
- package/dist/head.cjs.map +1 -0
- package/dist/head.d.cts +70 -0
- package/dist/head.d.ts +70 -0
- package/dist/head.js +2 -0
- package/dist/head.js.map +1 -0
- package/dist/hydration.cjs +2 -0
- package/dist/hydration.cjs.map +1 -0
- package/dist/hydration.d.cts +84 -0
- package/dist/hydration.d.ts +84 -0
- package/dist/hydration.js +2 -0
- package/dist/hydration.js.map +1 -0
- package/dist/image.cjs +2 -0
- package/dist/image.cjs.map +1 -0
- package/dist/image.d.cts +54 -0
- package/dist/image.d.ts +54 -0
- package/dist/image.js +2 -0
- package/dist/image.js.map +1 -0
- package/dist/index.cjs +1 -63
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +50 -3155
- package/dist/index.d.ts +50 -3155
- package/dist/index.js +1 -63
- package/dist/index.js.map +1 -1
- package/dist/infinite-scroll.cjs +2 -0
- package/dist/infinite-scroll.cjs.map +1 -0
- package/dist/infinite-scroll.d.cts +49 -0
- package/dist/infinite-scroll.d.ts +49 -0
- package/dist/infinite-scroll.js +2 -0
- package/dist/infinite-scroll.js.map +1 -0
- package/dist/leak-detector.cjs +2 -0
- package/dist/leak-detector.cjs.map +1 -0
- package/dist/leak-detector.d.cts +71 -0
- package/dist/leak-detector.d.ts +71 -0
- package/dist/leak-detector.js +2 -0
- package/dist/leak-detector.js.map +1 -0
- package/dist/machine.cjs +1 -1
- package/dist/machine.d.cts +1 -1
- package/dist/machine.d.ts +1 -1
- package/dist/machine.js +1 -1
- package/dist/offline.cjs +1 -1
- package/dist/offline.d.cts +1 -1
- package/dist/offline.d.ts +1 -1
- package/dist/offline.js +1 -1
- package/dist/perf.cjs +2 -0
- package/dist/perf.cjs.map +1 -0
- package/dist/perf.d.cts +97 -0
- package/dist/perf.d.ts +97 -0
- package/dist/perf.js +2 -0
- package/dist/perf.js.map +1 -0
- package/dist/pipes.cjs +2 -0
- package/dist/pipes.cjs.map +1 -0
- package/dist/pipes.d.cts +130 -0
- package/dist/pipes.d.ts +130 -0
- package/dist/pipes.js +2 -0
- package/dist/pipes.js.map +1 -0
- package/dist/plugin.cjs +2 -0
- package/dist/plugin.cjs.map +1 -0
- package/dist/plugin.d.cts +70 -0
- package/dist/plugin.d.ts +70 -0
- package/dist/plugin.js +2 -0
- package/dist/plugin.js.map +1 -0
- package/dist/portal.cjs +2 -0
- package/dist/portal.cjs.map +1 -0
- package/dist/portal.d.cts +30 -0
- package/dist/portal.d.ts +30 -0
- package/dist/portal.js +2 -0
- package/dist/portal.js.map +1 -0
- package/dist/pwa.cjs +1 -1
- package/dist/pwa.d.cts +1 -1
- package/dist/pwa.d.ts +1 -1
- package/dist/pwa.js +1 -1
- package/dist/query-state.cjs +2 -0
- package/dist/query-state.cjs.map +1 -0
- package/dist/query-state.d.cts +82 -0
- package/dist/query-state.d.ts +82 -0
- package/dist/query-state.js +2 -0
- package/dist/query-state.js.map +1 -0
- package/dist/reconcile.cjs +2 -0
- package/dist/reconcile.cjs.map +1 -0
- package/dist/reconcile.d.cts +42 -0
- package/dist/reconcile.d.ts +42 -0
- package/dist/reconcile.js +2 -0
- package/dist/reconcile.js.map +1 -0
- package/dist/scheduler-CKi1esN-.d.cts +9 -0
- package/dist/scheduler-CKi1esN-.d.ts +9 -0
- package/dist/security.cjs +2 -0
- package/dist/security.cjs.map +1 -0
- package/dist/security.d.cts +193 -0
- package/dist/security.d.ts +193 -0
- package/dist/security.js +2 -0
- package/dist/security.js.map +1 -0
- package/dist/seo.cjs +2 -0
- package/dist/seo.cjs.map +1 -0
- package/dist/seo.d.cts +118 -0
- package/dist/seo.d.ts +118 -0
- package/dist/seo.js +2 -0
- package/dist/seo.js.map +1 -0
- package/dist/{signals-C7XfOHHR.d.cts → signals-DionyGGY.d.cts} +7 -0
- package/dist/{signals-C7XfOHHR.d.ts → signals-DionyGGY.d.ts} +7 -0
- package/dist/snippets.cjs +2 -0
- package/dist/snippets.cjs.map +1 -0
- package/dist/snippets.d.cts +109 -0
- package/dist/snippets.d.ts +109 -0
- package/dist/snippets.js +2 -0
- package/dist/snippets.js.map +1 -0
- package/dist/ssg.cjs +2 -0
- package/dist/ssg.cjs.map +1 -0
- package/dist/ssg.d.cts +82 -0
- package/dist/ssg.d.ts +82 -0
- package/dist/ssg.js +2 -0
- package/dist/ssg.js.map +1 -0
- package/dist/ssr.cjs +1 -1
- package/dist/ssr.d.cts +2 -1
- package/dist/ssr.d.ts +2 -1
- package/dist/ssr.js +1 -1
- package/dist/store.cjs +1 -1
- package/dist/store.d.cts +1 -1
- package/dist/store.d.ts +1 -1
- package/dist/store.js +1 -1
- package/dist/suspense.cjs +2 -0
- package/dist/suspense.cjs.map +1 -0
- package/dist/suspense.d.cts +36 -0
- package/dist/suspense.d.ts +36 -0
- package/dist/suspense.js +2 -0
- package/dist/suspense.js.map +1 -0
- package/dist/switch.cjs +2 -0
- package/dist/switch.cjs.map +1 -0
- package/dist/switch.d.cts +48 -0
- package/dist/switch.d.ts +48 -0
- package/dist/switch.js +2 -0
- package/dist/switch.js.map +1 -0
- package/dist/sync.cjs +1 -1
- package/dist/sync.d.cts +1 -1
- package/dist/sync.d.ts +1 -1
- package/dist/sync.js +1 -1
- package/dist/test.cjs +2 -2
- package/dist/test.cjs.map +1 -1
- package/dist/test.d.cts +5 -4
- package/dist/test.d.ts +5 -4
- package/dist/test.js +2 -2
- package/dist/test.js.map +1 -1
- package/dist/theme.cjs +2 -0
- package/dist/theme.cjs.map +1 -0
- package/dist/theme.d.cts +56 -0
- package/dist/theme.d.ts +56 -0
- package/dist/theme.js +2 -0
- package/dist/theme.js.map +1 -0
- package/dist/toast.cjs +2 -0
- package/dist/toast.cjs.map +1 -0
- package/dist/toast.d.cts +66 -0
- package/dist/toast.d.ts +66 -0
- package/dist/toast.js +2 -0
- package/dist/toast.js.map +1 -0
- package/dist/transition.cjs +2 -0
- package/dist/transition.cjs.map +1 -0
- package/dist/transition.d.cts +90 -0
- package/dist/transition.d.ts +90 -0
- package/dist/transition.js +2 -0
- package/dist/transition.js.map +1 -0
- package/dist/tweened.cjs +2 -0
- package/dist/tweened.cjs.map +1 -0
- package/dist/tweened.d.cts +59 -0
- package/dist/tweened.d.ts +59 -0
- package/dist/tweened.js +2 -0
- package/dist/tweened.js.map +1 -0
- package/dist/types-DjZCk1xT.d.cts +4 -0
- package/dist/types-DjZCk1xT.d.ts +4 -0
- package/dist/view-transition.cjs +2 -0
- package/dist/view-transition.cjs.map +1 -0
- package/dist/view-transition.d.cts +80 -0
- package/dist/view-transition.d.ts +80 -0
- package/dist/view-transition.js +2 -0
- package/dist/view-transition.js.map +1 -0
- package/dist/virtual-list.cjs +2 -0
- package/dist/virtual-list.cjs.map +1 -0
- package/dist/virtual-list.d.cts +67 -0
- package/dist/virtual-list.d.ts +67 -0
- package/dist/virtual-list.js +2 -0
- package/dist/virtual-list.js.map +1 -0
- package/dist/watch.cjs +2 -0
- package/dist/watch.cjs.map +1 -0
- package/dist/watch.d.cts +70 -0
- package/dist/watch.d.ts +70 -0
- package/dist/watch.js +2 -0
- package/dist/watch.js.map +1 -0
- package/dist/web-component.cjs +2 -0
- package/dist/web-component.cjs.map +1 -0
- package/dist/web-component.d.cts +51 -0
- package/dist/web-component.d.ts +51 -0
- package/dist/web-component.js +2 -0
- package/dist/web-component.js.map +1 -0
- package/package.json +249 -11
- package/dist/chunk-35DJOBEO.cjs +0 -2
- package/dist/chunk-35DJOBEO.cjs.map +0 -1
- package/dist/chunk-3GRR4VW2.js +0 -13
- package/dist/chunk-3GRR4VW2.js.map +0 -1
- package/dist/chunk-5A7KDBDU.js +0 -2
- package/dist/chunk-5NHDEY2C.js +0 -2
- package/dist/chunk-6GGYM5SF.cjs +0 -5
- package/dist/chunk-6GGYM5SF.cjs.map +0 -1
- package/dist/chunk-EEILP4OL.cjs +0 -13
- package/dist/chunk-EEILP4OL.cjs.map +0 -1
- package/dist/chunk-FTTNKDZQ.js +0 -5
- package/dist/chunk-FTTNKDZQ.js.map +0 -1
- package/dist/chunk-H2HNKYN2.js +0 -2
- package/dist/chunk-H2HNKYN2.js.map +0 -1
- package/dist/chunk-TKFJGLUO.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/devtools-overlay.ts"],"names":["PANEL_ID","BADGE_ID","STYLES","formatValue","val","keys","panelEl","badgeEl","isOpen","activeTab","disposeUpdate","renderKV","key","text","cls","renderStoresTab","instances","__getStoreInstances","ids","html","id","snap","renderRoutesTab","renderBody","updatePanel","body","createPanel","el","tabHtml","t","btn","b","togglePanel","createBadge","effect","store","mountDevtoolsOverlay","style","e"],"mappings":"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","file":"devtools-overlay-CJWKBTP4.js","sourcesContent":["/**\n * DevTools visual overlay panel.\n *\n * Toggled with Ctrl+Shift+D. Self-contained DOM — no .akash components.\n * Reads store state via __getStoreInstances(), live-updates via effects.\n *\n * Dev-only: tree-shaken in production builds.\n */\n\nimport { effect } from './signals.js';\nimport { __getStoreInstances } from './store.js';\n\nconst PANEL_ID = '__akash-devtools-panel';\nconst BADGE_ID = '__akash-devtools-badge';\n\n// --- Styles ---\n\nconst STYLES = `\n#${PANEL_ID} {\n position: fixed; bottom: 0; right: 0; width: 420px; height: 360px;\n background: #1e1e2e; color: #cdd6f4; font-family: 'SF Mono', Consolas, monospace;\n font-size: 12px; border-top: 2px solid #7c3aed; border-left: 2px solid #7c3aed;\n z-index: 999999; display: flex; flex-direction: column; overflow: hidden;\n border-radius: 8px 0 0 0; box-shadow: -4px -4px 20px rgba(0,0,0,0.4);\n}\n#${PANEL_ID} .dt-header {\n display: flex; align-items: center; padding: 6px 10px;\n background: #181825; border-bottom: 1px solid #313244; user-select: none;\n}\n#${PANEL_ID} .dt-header span { font-weight: 600; color: #7c3aed; flex: 1; }\n#${PANEL_ID} .dt-tabs { display: flex; gap: 2px; }\n#${PANEL_ID} .dt-tab {\n padding: 3px 8px; border-radius: 4px; cursor: pointer; color: #6c7086;\n background: transparent; border: none; font-size: 11px; font-family: inherit;\n}\n#${PANEL_ID} .dt-tab:hover { color: #cdd6f4; background: #313244; }\n#${PANEL_ID} .dt-tab.active { color: #cdd6f4; background: #7c3aed; }\n#${PANEL_ID} .dt-close {\n background: none; border: none; color: #6c7086; cursor: pointer;\n font-size: 14px; padding: 2px 6px; margin-left: 4px;\n}\n#${PANEL_ID} .dt-close:hover { color: #f38ba8; }\n#${PANEL_ID} .dt-body { flex: 1; overflow: auto; padding: 8px 10px; }\n#${PANEL_ID} .dt-store-list { display: flex; flex-direction: column; gap: 6px; }\n#${PANEL_ID} .dt-store {\n background: #313244; border-radius: 4px; padding: 6px 8px; cursor: pointer;\n}\n#${PANEL_ID} .dt-store:hover { background: #45475a; }\n#${PANEL_ID} .dt-store-id { color: #89b4fa; font-weight: 600; margin-bottom: 4px; }\n#${PANEL_ID} .dt-kv { display: flex; gap: 6px; padding: 1px 0; }\n#${PANEL_ID} .dt-key { color: #a6adc8; }\n#${PANEL_ID} .dt-val { color: #a6e3a1; }\n#${PANEL_ID} .dt-val.str { color: #f9e2af; }\n#${PANEL_ID} .dt-val.bool { color: #fab387; }\n#${PANEL_ID} .dt-val.null { color: #6c7086; font-style: italic; }\n#${PANEL_ID} .dt-section { color: #6c7086; font-size: 10px; text-transform: uppercase; margin: 8px 0 4px; }\n#${PANEL_ID} .dt-empty { color: #6c7086; font-style: italic; padding: 20px; text-align: center; }\n#${BADGE_ID} {\n position: fixed; bottom: 12px; right: 12px; width: 36px; height: 36px;\n background: #7c3aed; color: white; border-radius: 50%; display: flex;\n align-items: center; justify-content: center; cursor: pointer;\n z-index: 999998; font-size: 16px; box-shadow: 0 2px 8px rgba(124,58,237,0.4);\n border: none; font-family: inherit;\n}\n#${BADGE_ID}:hover { background: #6d28d9; transform: scale(1.1); }\n`;\n\n// --- Value formatting ---\n\nfunction formatValue(val: unknown): { text: string; cls: string } {\n if (val === null) return { text: 'null', cls: 'null' };\n if (val === undefined) return { text: 'undefined', cls: 'null' };\n if (typeof val === 'boolean') return { text: String(val), cls: 'bool' };\n if (typeof val === 'string') return { text: `\"${val.length > 40 ? val.slice(0, 40) + '...' : val}\"`, cls: 'str' };\n if (typeof val === 'number') return { text: String(val), cls: '' };\n if (Array.isArray(val)) return { text: `Array(${val.length})`, cls: '' };\n if (typeof val === 'object') {\n try {\n const keys = Object.keys(val);\n return { text: `{${keys.slice(0, 3).join(', ')}${keys.length > 3 ? ', ...' : ''}}`, cls: '' };\n } catch { return { text: '[Object]', cls: '' }; }\n }\n return { text: String(val), cls: '' };\n}\n\n// --- Panel rendering ---\n\nlet panelEl: HTMLElement | null = null;\nlet badgeEl: HTMLElement | null = null;\nlet isOpen = false;\nlet activeTab = 'stores';\nlet disposeUpdate: (() => void) | null = null;\n\nfunction renderKV(key: string, val: unknown): string {\n const { text, cls } = formatValue(val);\n return `<div class=\"dt-kv\"><span class=\"dt-key\">${key}:</span><span class=\"dt-val ${cls}\">${text}</span></div>`;\n}\n\nfunction renderStoresTab(): string {\n const instances = __getStoreInstances();\n const ids = Object.keys(instances);\n if (ids.length === 0) return '<div class=\"dt-empty\">No stores registered</div>';\n\n let html = '<div class=\"dt-store-list\">';\n for (const id of ids) {\n const store = instances[id];\n const snap = store.$snapshot();\n html += `<div class=\"dt-store\"><div class=\"dt-store-id\">${id}</div>`;\n for (const [key, val] of Object.entries(snap)) {\n html += renderKV(key, val);\n }\n html += '</div>';\n }\n html += '</div>';\n return html;\n}\n\nfunction renderRoutesTab(): string {\n const devtools = (globalThis as any).__AKASH_DEVTOOLS__;\n if (!devtools) return '<div class=\"dt-empty\">DevTools API not installed</div>';\n // Route info not directly available here — show what we can\n return '<div class=\"dt-empty\">Route info available via __AKASH_DEVTOOLS__</div>';\n}\n\nfunction renderBody(): string {\n switch (activeTab) {\n case 'stores': return renderStoresTab();\n case 'routes': return renderRoutesTab();\n default: return '<div class=\"dt-empty\">Tab not implemented</div>';\n }\n}\n\nfunction updatePanel(): void {\n if (!panelEl || !isOpen) return;\n const body = panelEl.querySelector('.dt-body');\n if (body) body.innerHTML = renderBody();\n}\n\nfunction createPanel(): HTMLElement {\n const el = document.createElement('div');\n el.id = PANEL_ID;\n\n const tabs = ['stores', 'routes'];\n const tabHtml = tabs.map(t =>\n `<button class=\"dt-tab ${t === activeTab ? 'active' : ''}\" data-tab=\"${t}\">${t}</button>`\n ).join('');\n\n el.innerHTML = `\n <div class=\"dt-header\">\n <span>AkashJS DevTools</span>\n <div class=\"dt-tabs\">${tabHtml}</div>\n <button class=\"dt-close\" title=\"Close\">×</button>\n </div>\n <div class=\"dt-body\">${renderBody()}</div>\n `;\n\n // Tab switching\n el.querySelectorAll('.dt-tab').forEach(btn => {\n btn.addEventListener('click', () => {\n activeTab = (btn as HTMLElement).dataset.tab ?? 'stores';\n el.querySelectorAll('.dt-tab').forEach(b => b.classList.remove('active'));\n btn.classList.add('active');\n updatePanel();\n });\n });\n\n // Close button\n el.querySelector('.dt-close')?.addEventListener('click', () => togglePanel());\n\n return el;\n}\n\nfunction createBadge(): HTMLElement {\n const el = document.createElement('button');\n el.id = BADGE_ID;\n el.textContent = '\\u{1f527}';\n el.title = 'AkashJS DevTools (Ctrl+Shift+D)';\n el.addEventListener('click', () => togglePanel());\n return el;\n}\n\nfunction togglePanel(): void {\n if (isOpen) {\n panelEl?.remove();\n panelEl = null;\n if (disposeUpdate) { disposeUpdate(); disposeUpdate = null; }\n badgeEl!.style.display = '';\n isOpen = false;\n } else {\n panelEl = createPanel();\n document.body.appendChild(panelEl);\n badgeEl!.style.display = 'none';\n isOpen = true;\n\n // Live update every time any store signal changes\n disposeUpdate = effect(() => {\n // Read all store signals to track them\n const instances = __getStoreInstances();\n for (const store of Object.values(instances)) {\n try { store.$snapshot(); } catch { /* ignore */ }\n }\n // Update DOM\n updatePanel();\n });\n }\n}\n\n// --- Public API ---\n\nexport function mountDevtoolsOverlay(): void {\n if (typeof document === 'undefined' || !document.head || !document.body) return;\n\n // Inject styles\n const style = document.createElement('style');\n style.textContent = STYLES;\n document.head.appendChild(style);\n\n // Create badge\n badgeEl = createBadge();\n document.body.appendChild(badgeEl);\n\n // Keyboard shortcut: Ctrl+Shift+D\n document.addEventListener('keydown', (e) => {\n if (e.ctrlKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n togglePanel();\n }\n });\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/devtools-overlay.ts"],"names":["PANEL_ID","BADGE_ID","STYLES","formatValue","val","keys","panelEl","badgeEl","isOpen","activeTab","disposeUpdate","renderKV","key","text","cls","renderStoresTab","instances","__getStoreInstances","ids","html","id","snap","renderRoutesTab","renderBody","updatePanel","body","createPanel","el","tabHtml","t","btn","b","togglePanel","createBadge","effect","store","mountDevtoolsOverlay","style","e"],"mappings":"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","file":"devtools-overlay-3WRM6GKM.js","sourcesContent":["/**\n * DevTools visual overlay panel.\n *\n * Toggled with Ctrl+Shift+D. Self-contained DOM — no .akash components.\n * Reads store state via __getStoreInstances(), live-updates via effects.\n *\n * Dev-only: tree-shaken in production builds.\n */\n\nimport { effect } from './signals.js';\nimport { __getStoreInstances } from './store.js';\n\nconst PANEL_ID = '__akash-devtools-panel';\nconst BADGE_ID = '__akash-devtools-badge';\n\n// --- Styles ---\n\nconst STYLES = `\n#${PANEL_ID} {\n position: fixed; bottom: 0; right: 0; width: 420px; height: 360px;\n background: #1e1e2e; color: #cdd6f4; font-family: 'SF Mono', Consolas, monospace;\n font-size: 12px; border-top: 2px solid #7c3aed; border-left: 2px solid #7c3aed;\n z-index: 999999; display: flex; flex-direction: column; overflow: hidden;\n border-radius: 8px 0 0 0; box-shadow: -4px -4px 20px rgba(0,0,0,0.4);\n}\n#${PANEL_ID} .dt-header {\n display: flex; align-items: center; padding: 6px 10px;\n background: #181825; border-bottom: 1px solid #313244; user-select: none;\n}\n#${PANEL_ID} .dt-header span { font-weight: 600; color: #7c3aed; flex: 1; }\n#${PANEL_ID} .dt-tabs { display: flex; gap: 2px; }\n#${PANEL_ID} .dt-tab {\n padding: 3px 8px; border-radius: 4px; cursor: pointer; color: #6c7086;\n background: transparent; border: none; font-size: 11px; font-family: inherit;\n}\n#${PANEL_ID} .dt-tab:hover { color: #cdd6f4; background: #313244; }\n#${PANEL_ID} .dt-tab.active { color: #cdd6f4; background: #7c3aed; }\n#${PANEL_ID} .dt-close {\n background: none; border: none; color: #6c7086; cursor: pointer;\n font-size: 14px; padding: 2px 6px; margin-left: 4px;\n}\n#${PANEL_ID} .dt-close:hover { color: #f38ba8; }\n#${PANEL_ID} .dt-body { flex: 1; overflow: auto; padding: 8px 10px; }\n#${PANEL_ID} .dt-store-list { display: flex; flex-direction: column; gap: 6px; }\n#${PANEL_ID} .dt-store {\n background: #313244; border-radius: 4px; padding: 6px 8px; cursor: pointer;\n}\n#${PANEL_ID} .dt-store:hover { background: #45475a; }\n#${PANEL_ID} .dt-store-id { color: #89b4fa; font-weight: 600; margin-bottom: 4px; }\n#${PANEL_ID} .dt-kv { display: flex; gap: 6px; padding: 1px 0; }\n#${PANEL_ID} .dt-key { color: #a6adc8; }\n#${PANEL_ID} .dt-val { color: #a6e3a1; }\n#${PANEL_ID} .dt-val.str { color: #f9e2af; }\n#${PANEL_ID} .dt-val.bool { color: #fab387; }\n#${PANEL_ID} .dt-val.null { color: #6c7086; font-style: italic; }\n#${PANEL_ID} .dt-section { color: #6c7086; font-size: 10px; text-transform: uppercase; margin: 8px 0 4px; }\n#${PANEL_ID} .dt-empty { color: #6c7086; font-style: italic; padding: 20px; text-align: center; }\n#${BADGE_ID} {\n position: fixed; bottom: 12px; right: 12px; width: 36px; height: 36px;\n background: #7c3aed; color: white; border-radius: 50%; display: flex;\n align-items: center; justify-content: center; cursor: pointer;\n z-index: 999998; font-size: 16px; box-shadow: 0 2px 8px rgba(124,58,237,0.4);\n border: none; font-family: inherit;\n}\n#${BADGE_ID}:hover { background: #6d28d9; transform: scale(1.1); }\n`;\n\n// --- Value formatting ---\n\nfunction formatValue(val: unknown): { text: string; cls: string } {\n if (val === null) return { text: 'null', cls: 'null' };\n if (val === undefined) return { text: 'undefined', cls: 'null' };\n if (typeof val === 'boolean') return { text: String(val), cls: 'bool' };\n if (typeof val === 'string') return { text: `\"${val.length > 40 ? val.slice(0, 40) + '...' : val}\"`, cls: 'str' };\n if (typeof val === 'number') return { text: String(val), cls: '' };\n if (Array.isArray(val)) return { text: `Array(${val.length})`, cls: '' };\n if (typeof val === 'object') {\n try {\n const keys = Object.keys(val);\n return { text: `{${keys.slice(0, 3).join(', ')}${keys.length > 3 ? ', ...' : ''}}`, cls: '' };\n } catch { return { text: '[Object]', cls: '' }; }\n }\n return { text: String(val), cls: '' };\n}\n\n// --- Panel rendering ---\n\nlet panelEl: HTMLElement | null = null;\nlet badgeEl: HTMLElement | null = null;\nlet isOpen = false;\nlet activeTab = 'stores';\nlet disposeUpdate: (() => void) | null = null;\n\nfunction renderKV(key: string, val: unknown): string {\n const { text, cls } = formatValue(val);\n return `<div class=\"dt-kv\"><span class=\"dt-key\">${key}:</span><span class=\"dt-val ${cls}\">${text}</span></div>`;\n}\n\nfunction renderStoresTab(): string {\n const instances = __getStoreInstances();\n const ids = Object.keys(instances);\n if (ids.length === 0) return '<div class=\"dt-empty\">No stores registered</div>';\n\n let html = '<div class=\"dt-store-list\">';\n for (const id of ids) {\n const store = instances[id];\n const snap = store.$snapshot();\n html += `<div class=\"dt-store\"><div class=\"dt-store-id\">${id}</div>`;\n for (const [key, val] of Object.entries(snap)) {\n html += renderKV(key, val);\n }\n html += '</div>';\n }\n html += '</div>';\n return html;\n}\n\nfunction renderRoutesTab(): string {\n const devtools = (globalThis as any).__AKASH_DEVTOOLS__;\n if (!devtools) return '<div class=\"dt-empty\">DevTools API not installed</div>';\n // Route info not directly available here — show what we can\n return '<div class=\"dt-empty\">Route info available via __AKASH_DEVTOOLS__</div>';\n}\n\nfunction renderBody(): string {\n switch (activeTab) {\n case 'stores': return renderStoresTab();\n case 'routes': return renderRoutesTab();\n default: return '<div class=\"dt-empty\">Tab not implemented</div>';\n }\n}\n\nfunction updatePanel(): void {\n if (!panelEl || !isOpen) return;\n const body = panelEl.querySelector('.dt-body');\n if (body) body.innerHTML = renderBody();\n}\n\nfunction createPanel(): HTMLElement {\n const el = document.createElement('div');\n el.id = PANEL_ID;\n\n const tabs = ['stores', 'routes'];\n const tabHtml = tabs.map(t =>\n `<button class=\"dt-tab ${t === activeTab ? 'active' : ''}\" data-tab=\"${t}\">${t}</button>`\n ).join('');\n\n el.innerHTML = `\n <div class=\"dt-header\">\n <span>AkashJS DevTools</span>\n <div class=\"dt-tabs\">${tabHtml}</div>\n <button class=\"dt-close\" title=\"Close\">×</button>\n </div>\n <div class=\"dt-body\">${renderBody()}</div>\n `;\n\n // Tab switching\n el.querySelectorAll('.dt-tab').forEach(btn => {\n btn.addEventListener('click', () => {\n activeTab = (btn as HTMLElement).dataset.tab ?? 'stores';\n el.querySelectorAll('.dt-tab').forEach(b => b.classList.remove('active'));\n btn.classList.add('active');\n updatePanel();\n });\n });\n\n // Close button\n el.querySelector('.dt-close')?.addEventListener('click', () => togglePanel());\n\n return el;\n}\n\nfunction createBadge(): HTMLElement {\n const el = document.createElement('button');\n el.id = BADGE_ID;\n el.textContent = '\\u{1f527}';\n el.title = 'AkashJS DevTools (Ctrl+Shift+D)';\n el.addEventListener('click', () => togglePanel());\n return el;\n}\n\nfunction togglePanel(): void {\n if (isOpen) {\n panelEl?.remove();\n panelEl = null;\n if (disposeUpdate) { disposeUpdate(); disposeUpdate = null; }\n badgeEl!.style.display = '';\n isOpen = false;\n } else {\n panelEl = createPanel();\n document.body.appendChild(panelEl);\n badgeEl!.style.display = 'none';\n isOpen = true;\n\n // Live update every time any store signal changes\n disposeUpdate = effect(() => {\n // Read all store signals to track them\n const instances = __getStoreInstances();\n for (const store of Object.values(instances)) {\n try { store.$snapshot(); } catch { /* ignore */ }\n }\n // Update DOM\n updatePanel();\n });\n }\n}\n\n// --- Public API ---\n\nexport function mountDevtoolsOverlay(): void {\n if (typeof document === 'undefined' || !document.head || !document.body) return;\n\n // Inject styles\n const style = document.createElement('style');\n style.textContent = STYLES;\n document.head.appendChild(style);\n\n // Create badge\n badgeEl = createBadge();\n document.body.appendChild(badgeEl);\n\n // Keyboard shortcut: Ctrl+Shift+D\n document.addEventListener('keydown', (e) => {\n if (e.ctrlKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n togglePanel();\n }\n });\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkQSPRVXFV_cjs=require('./chunk-QSPRVXFV.cjs');require('./chunk-NEQ5TENE.cjs');var chunkWOZWFMOK_cjs=require('./chunk-WOZWFMOK.cjs');require('./chunk-XPLIEN2G.cjs');var e="__akash-devtools-panel",c="__akash-devtools-badge",h=`
|
|
2
2
|
#${e} {
|
|
3
3
|
position: fixed; bottom: 0; right: 0; width: 420px; height: 360px;
|
|
4
4
|
background: #1e1e2e; color: #cdd6f4; font-family: 'SF Mono', Consolas, monospace;
|
|
@@ -46,12 +46,12 @@
|
|
|
46
46
|
border: none; font-family: inherit;
|
|
47
47
|
}
|
|
48
48
|
#${c}:hover { background: #6d28d9; transform: scale(1.1); }
|
|
49
|
-
`;function $(t){if(t===null)return {text:"null",cls:"null"};if(t===void 0)return {text:"undefined",cls:"null"};if(typeof t=="boolean")return {text:String(t),cls:"bool"};if(typeof t=="string")return {text:`"${t.length>40?t.slice(0,40)+"...":t}"`,cls:"str"};if(typeof t=="number")return {text:String(t),cls:""};if(Array.isArray(t))return {text:`Array(${t.length})`,cls:""};if(typeof t=="object")try{let o=Object.keys(t);return {text:`{${o.slice(0,3).join(", ")}${o.length>3?", ...":""}}`,cls:""}}catch{return {text:"[Object]",cls:""}}return {text:String(t),cls:""}}var s=null,l=null,i=false,p="stores",d=null;function k(t,o){let{text:r,cls:n}=$(o);return `<div class="dt-kv"><span class="dt-key">${t}:</span><span class="dt-val ${n}">${r}</span></div>`}function E(){let t=
|
|
49
|
+
`;function $(t){if(t===null)return {text:"null",cls:"null"};if(t===void 0)return {text:"undefined",cls:"null"};if(typeof t=="boolean")return {text:String(t),cls:"bool"};if(typeof t=="string")return {text:`"${t.length>40?t.slice(0,40)+"...":t}"`,cls:"str"};if(typeof t=="number")return {text:String(t),cls:""};if(Array.isArray(t))return {text:`Array(${t.length})`,cls:""};if(typeof t=="object")try{let o=Object.keys(t);return {text:`{${o.slice(0,3).join(", ")}${o.length>3?", ...":""}}`,cls:""}}catch{return {text:"[Object]",cls:""}}return {text:String(t),cls:""}}var s=null,l=null,i=false,p="stores",d=null;function k(t,o){let{text:r,cls:n}=$(o);return `<div class="dt-kv"><span class="dt-key">${t}:</span><span class="dt-val ${n}">${r}</span></div>`}function E(){let t=chunkQSPRVXFV_cjs.d(),o=Object.keys(t);if(o.length===0)return '<div class="dt-empty">No stores registered</div>';let r='<div class="dt-store-list">';for(let n of o){let y=t[n].$snapshot();r+=`<div class="dt-store"><div class="dt-store-id">${n}</div>`;for(let[m,v]of Object.entries(y))r+=k(m,v);r+="</div>";}return r+="</div>",r}function S(){return globalThis.__AKASH_DEVTOOLS__?'<div class="dt-empty">Route info available via __AKASH_DEVTOOLS__</div>':'<div class="dt-empty">DevTools API not installed</div>'}function b(){switch(p){case "stores":return E();case "routes":return S();default:return '<div class="dt-empty">Tab not implemented</div>'}}function g(){if(!s||!i)return;let t=s.querySelector(".dt-body");t&&(t.innerHTML=b());}function T(){let t=document.createElement("div");t.id=e;let r=["stores","routes"].map(n=>`<button class="dt-tab ${n===p?"active":""}" data-tab="${n}">${n}</button>`).join("");return t.innerHTML=`
|
|
50
50
|
<div class="dt-header">
|
|
51
51
|
<span>AkashJS DevTools</span>
|
|
52
52
|
<div class="dt-tabs">${r}</div>
|
|
53
53
|
<button class="dt-close" title="Close">×</button>
|
|
54
54
|
</div>
|
|
55
55
|
<div class="dt-body">${b()}</div>
|
|
56
|
-
`,t.querySelectorAll(".dt-tab").forEach(n=>{n.addEventListener("click",()=>{p=n.dataset.tab??"stores",t.querySelectorAll(".dt-tab").forEach(f=>f.classList.remove("active")),n.classList.add("active"),g();});}),t.querySelector(".dt-close")?.addEventListener("click",()=>u()),t}function _(){let t=document.createElement("button");return t.id=c,t.textContent="\u{1F527}",t.title="AkashJS DevTools (Ctrl+Shift+D)",t.addEventListener("click",()=>u()),t}function u(){i?(s?.remove(),s=null,d&&(d(),d=null),l.style.display="",i=false):(s=T(),document.body.appendChild(s),l.style.display="none",i=true,d=
|
|
57
|
-
//# sourceMappingURL=devtools-overlay-
|
|
56
|
+
`,t.querySelectorAll(".dt-tab").forEach(n=>{n.addEventListener("click",()=>{p=n.dataset.tab??"stores",t.querySelectorAll(".dt-tab").forEach(f=>f.classList.remove("active")),n.classList.add("active"),g();});}),t.querySelector(".dt-close")?.addEventListener("click",()=>u()),t}function _(){let t=document.createElement("button");return t.id=c,t.textContent="\u{1F527}",t.title="AkashJS DevTools (Ctrl+Shift+D)",t.addEventListener("click",()=>u()),t}function u(){i?(s?.remove(),s=null,d&&(d(),d=null),l.style.display="",i=false):(s=T(),document.body.appendChild(s),l.style.display="none",i=true,d=chunkWOZWFMOK_cjs.e(()=>{let t=chunkQSPRVXFV_cjs.d();for(let o of Object.values(t))try{o.$snapshot();}catch{}g();}));}function w(){if(typeof document>"u"||!document.head||!document.body)return;let t=document.createElement("style");t.textContent=h,document.head.appendChild(t),l=_(),document.body.appendChild(l),document.addEventListener("keydown",o=>{o.ctrlKey&&o.shiftKey&&o.key==="D"&&(o.preventDefault(),u());});}exports.mountDevtoolsOverlay=w;//# sourceMappingURL=devtools-overlay-WJGSIB4N.cjs.map
|
|
57
|
+
//# sourceMappingURL=devtools-overlay-WJGSIB4N.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/devtools-overlay.ts"],"names":["PANEL_ID","BADGE_ID","STYLES","formatValue","val","keys","panelEl","badgeEl","isOpen","activeTab","disposeUpdate","renderKV","key","text","cls","renderStoresTab","instances","__getStoreInstances","ids","html","id","snap","renderRoutesTab","renderBody","updatePanel","body","createPanel","el","tabHtml","t","btn","b","togglePanel","createBadge","effect","store","mountDevtoolsOverlay","style","e"],"mappings":"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","file":"devtools-overlay-EQ3G755P.cjs","sourcesContent":["/**\n * DevTools visual overlay panel.\n *\n * Toggled with Ctrl+Shift+D. Self-contained DOM — no .akash components.\n * Reads store state via __getStoreInstances(), live-updates via effects.\n *\n * Dev-only: tree-shaken in production builds.\n */\n\nimport { effect } from './signals.js';\nimport { __getStoreInstances } from './store.js';\n\nconst PANEL_ID = '__akash-devtools-panel';\nconst BADGE_ID = '__akash-devtools-badge';\n\n// --- Styles ---\n\nconst STYLES = `\n#${PANEL_ID} {\n position: fixed; bottom: 0; right: 0; width: 420px; height: 360px;\n background: #1e1e2e; color: #cdd6f4; font-family: 'SF Mono', Consolas, monospace;\n font-size: 12px; border-top: 2px solid #7c3aed; border-left: 2px solid #7c3aed;\n z-index: 999999; display: flex; flex-direction: column; overflow: hidden;\n border-radius: 8px 0 0 0; box-shadow: -4px -4px 20px rgba(0,0,0,0.4);\n}\n#${PANEL_ID} .dt-header {\n display: flex; align-items: center; padding: 6px 10px;\n background: #181825; border-bottom: 1px solid #313244; user-select: none;\n}\n#${PANEL_ID} .dt-header span { font-weight: 600; color: #7c3aed; flex: 1; }\n#${PANEL_ID} .dt-tabs { display: flex; gap: 2px; }\n#${PANEL_ID} .dt-tab {\n padding: 3px 8px; border-radius: 4px; cursor: pointer; color: #6c7086;\n background: transparent; border: none; font-size: 11px; font-family: inherit;\n}\n#${PANEL_ID} .dt-tab:hover { color: #cdd6f4; background: #313244; }\n#${PANEL_ID} .dt-tab.active { color: #cdd6f4; background: #7c3aed; }\n#${PANEL_ID} .dt-close {\n background: none; border: none; color: #6c7086; cursor: pointer;\n font-size: 14px; padding: 2px 6px; margin-left: 4px;\n}\n#${PANEL_ID} .dt-close:hover { color: #f38ba8; }\n#${PANEL_ID} .dt-body { flex: 1; overflow: auto; padding: 8px 10px; }\n#${PANEL_ID} .dt-store-list { display: flex; flex-direction: column; gap: 6px; }\n#${PANEL_ID} .dt-store {\n background: #313244; border-radius: 4px; padding: 6px 8px; cursor: pointer;\n}\n#${PANEL_ID} .dt-store:hover { background: #45475a; }\n#${PANEL_ID} .dt-store-id { color: #89b4fa; font-weight: 600; margin-bottom: 4px; }\n#${PANEL_ID} .dt-kv { display: flex; gap: 6px; padding: 1px 0; }\n#${PANEL_ID} .dt-key { color: #a6adc8; }\n#${PANEL_ID} .dt-val { color: #a6e3a1; }\n#${PANEL_ID} .dt-val.str { color: #f9e2af; }\n#${PANEL_ID} .dt-val.bool { color: #fab387; }\n#${PANEL_ID} .dt-val.null { color: #6c7086; font-style: italic; }\n#${PANEL_ID} .dt-section { color: #6c7086; font-size: 10px; text-transform: uppercase; margin: 8px 0 4px; }\n#${PANEL_ID} .dt-empty { color: #6c7086; font-style: italic; padding: 20px; text-align: center; }\n#${BADGE_ID} {\n position: fixed; bottom: 12px; right: 12px; width: 36px; height: 36px;\n background: #7c3aed; color: white; border-radius: 50%; display: flex;\n align-items: center; justify-content: center; cursor: pointer;\n z-index: 999998; font-size: 16px; box-shadow: 0 2px 8px rgba(124,58,237,0.4);\n border: none; font-family: inherit;\n}\n#${BADGE_ID}:hover { background: #6d28d9; transform: scale(1.1); }\n`;\n\n// --- Value formatting ---\n\nfunction formatValue(val: unknown): { text: string; cls: string } {\n if (val === null) return { text: 'null', cls: 'null' };\n if (val === undefined) return { text: 'undefined', cls: 'null' };\n if (typeof val === 'boolean') return { text: String(val), cls: 'bool' };\n if (typeof val === 'string') return { text: `\"${val.length > 40 ? val.slice(0, 40) + '...' : val}\"`, cls: 'str' };\n if (typeof val === 'number') return { text: String(val), cls: '' };\n if (Array.isArray(val)) return { text: `Array(${val.length})`, cls: '' };\n if (typeof val === 'object') {\n try {\n const keys = Object.keys(val);\n return { text: `{${keys.slice(0, 3).join(', ')}${keys.length > 3 ? ', ...' : ''}}`, cls: '' };\n } catch { return { text: '[Object]', cls: '' }; }\n }\n return { text: String(val), cls: '' };\n}\n\n// --- Panel rendering ---\n\nlet panelEl: HTMLElement | null = null;\nlet badgeEl: HTMLElement | null = null;\nlet isOpen = false;\nlet activeTab = 'stores';\nlet disposeUpdate: (() => void) | null = null;\n\nfunction renderKV(key: string, val: unknown): string {\n const { text, cls } = formatValue(val);\n return `<div class=\"dt-kv\"><span class=\"dt-key\">${key}:</span><span class=\"dt-val ${cls}\">${text}</span></div>`;\n}\n\nfunction renderStoresTab(): string {\n const instances = __getStoreInstances();\n const ids = Object.keys(instances);\n if (ids.length === 0) return '<div class=\"dt-empty\">No stores registered</div>';\n\n let html = '<div class=\"dt-store-list\">';\n for (const id of ids) {\n const store = instances[id];\n const snap = store.$snapshot();\n html += `<div class=\"dt-store\"><div class=\"dt-store-id\">${id}</div>`;\n for (const [key, val] of Object.entries(snap)) {\n html += renderKV(key, val);\n }\n html += '</div>';\n }\n html += '</div>';\n return html;\n}\n\nfunction renderRoutesTab(): string {\n const devtools = (globalThis as any).__AKASH_DEVTOOLS__;\n if (!devtools) return '<div class=\"dt-empty\">DevTools API not installed</div>';\n // Route info not directly available here — show what we can\n return '<div class=\"dt-empty\">Route info available via __AKASH_DEVTOOLS__</div>';\n}\n\nfunction renderBody(): string {\n switch (activeTab) {\n case 'stores': return renderStoresTab();\n case 'routes': return renderRoutesTab();\n default: return '<div class=\"dt-empty\">Tab not implemented</div>';\n }\n}\n\nfunction updatePanel(): void {\n if (!panelEl || !isOpen) return;\n const body = panelEl.querySelector('.dt-body');\n if (body) body.innerHTML = renderBody();\n}\n\nfunction createPanel(): HTMLElement {\n const el = document.createElement('div');\n el.id = PANEL_ID;\n\n const tabs = ['stores', 'routes'];\n const tabHtml = tabs.map(t =>\n `<button class=\"dt-tab ${t === activeTab ? 'active' : ''}\" data-tab=\"${t}\">${t}</button>`\n ).join('');\n\n el.innerHTML = `\n <div class=\"dt-header\">\n <span>AkashJS DevTools</span>\n <div class=\"dt-tabs\">${tabHtml}</div>\n <button class=\"dt-close\" title=\"Close\">×</button>\n </div>\n <div class=\"dt-body\">${renderBody()}</div>\n `;\n\n // Tab switching\n el.querySelectorAll('.dt-tab').forEach(btn => {\n btn.addEventListener('click', () => {\n activeTab = (btn as HTMLElement).dataset.tab ?? 'stores';\n el.querySelectorAll('.dt-tab').forEach(b => b.classList.remove('active'));\n btn.classList.add('active');\n updatePanel();\n });\n });\n\n // Close button\n el.querySelector('.dt-close')?.addEventListener('click', () => togglePanel());\n\n return el;\n}\n\nfunction createBadge(): HTMLElement {\n const el = document.createElement('button');\n el.id = BADGE_ID;\n el.textContent = '\\u{1f527}';\n el.title = 'AkashJS DevTools (Ctrl+Shift+D)';\n el.addEventListener('click', () => togglePanel());\n return el;\n}\n\nfunction togglePanel(): void {\n if (isOpen) {\n panelEl?.remove();\n panelEl = null;\n if (disposeUpdate) { disposeUpdate(); disposeUpdate = null; }\n badgeEl!.style.display = '';\n isOpen = false;\n } else {\n panelEl = createPanel();\n document.body.appendChild(panelEl);\n badgeEl!.style.display = 'none';\n isOpen = true;\n\n // Live update every time any store signal changes\n disposeUpdate = effect(() => {\n // Read all store signals to track them\n const instances = __getStoreInstances();\n for (const store of Object.values(instances)) {\n try { store.$snapshot(); } catch { /* ignore */ }\n }\n // Update DOM\n updatePanel();\n });\n }\n}\n\n// --- Public API ---\n\nexport function mountDevtoolsOverlay(): void {\n if (typeof document === 'undefined' || !document.head || !document.body) return;\n\n // Inject styles\n const style = document.createElement('style');\n style.textContent = STYLES;\n document.head.appendChild(style);\n\n // Create badge\n badgeEl = createBadge();\n document.body.appendChild(badgeEl);\n\n // Keyboard shortcut: Ctrl+Shift+D\n document.addEventListener('keydown', (e) => {\n if (e.ctrlKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n togglePanel();\n }\n });\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/devtools-overlay.ts"],"names":["PANEL_ID","BADGE_ID","STYLES","formatValue","val","keys","panelEl","badgeEl","isOpen","activeTab","disposeUpdate","renderKV","key","text","cls","renderStoresTab","instances","__getStoreInstances","ids","html","id","snap","renderRoutesTab","renderBody","updatePanel","body","createPanel","el","tabHtml","t","btn","b","togglePanel","createBadge","effect","store","mountDevtoolsOverlay","style","e"],"mappings":"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","file":"devtools-overlay-WJGSIB4N.cjs","sourcesContent":["/**\n * DevTools visual overlay panel.\n *\n * Toggled with Ctrl+Shift+D. Self-contained DOM — no .akash components.\n * Reads store state via __getStoreInstances(), live-updates via effects.\n *\n * Dev-only: tree-shaken in production builds.\n */\n\nimport { effect } from './signals.js';\nimport { __getStoreInstances } from './store.js';\n\nconst PANEL_ID = '__akash-devtools-panel';\nconst BADGE_ID = '__akash-devtools-badge';\n\n// --- Styles ---\n\nconst STYLES = `\n#${PANEL_ID} {\n position: fixed; bottom: 0; right: 0; width: 420px; height: 360px;\n background: #1e1e2e; color: #cdd6f4; font-family: 'SF Mono', Consolas, monospace;\n font-size: 12px; border-top: 2px solid #7c3aed; border-left: 2px solid #7c3aed;\n z-index: 999999; display: flex; flex-direction: column; overflow: hidden;\n border-radius: 8px 0 0 0; box-shadow: -4px -4px 20px rgba(0,0,0,0.4);\n}\n#${PANEL_ID} .dt-header {\n display: flex; align-items: center; padding: 6px 10px;\n background: #181825; border-bottom: 1px solid #313244; user-select: none;\n}\n#${PANEL_ID} .dt-header span { font-weight: 600; color: #7c3aed; flex: 1; }\n#${PANEL_ID} .dt-tabs { display: flex; gap: 2px; }\n#${PANEL_ID} .dt-tab {\n padding: 3px 8px; border-radius: 4px; cursor: pointer; color: #6c7086;\n background: transparent; border: none; font-size: 11px; font-family: inherit;\n}\n#${PANEL_ID} .dt-tab:hover { color: #cdd6f4; background: #313244; }\n#${PANEL_ID} .dt-tab.active { color: #cdd6f4; background: #7c3aed; }\n#${PANEL_ID} .dt-close {\n background: none; border: none; color: #6c7086; cursor: pointer;\n font-size: 14px; padding: 2px 6px; margin-left: 4px;\n}\n#${PANEL_ID} .dt-close:hover { color: #f38ba8; }\n#${PANEL_ID} .dt-body { flex: 1; overflow: auto; padding: 8px 10px; }\n#${PANEL_ID} .dt-store-list { display: flex; flex-direction: column; gap: 6px; }\n#${PANEL_ID} .dt-store {\n background: #313244; border-radius: 4px; padding: 6px 8px; cursor: pointer;\n}\n#${PANEL_ID} .dt-store:hover { background: #45475a; }\n#${PANEL_ID} .dt-store-id { color: #89b4fa; font-weight: 600; margin-bottom: 4px; }\n#${PANEL_ID} .dt-kv { display: flex; gap: 6px; padding: 1px 0; }\n#${PANEL_ID} .dt-key { color: #a6adc8; }\n#${PANEL_ID} .dt-val { color: #a6e3a1; }\n#${PANEL_ID} .dt-val.str { color: #f9e2af; }\n#${PANEL_ID} .dt-val.bool { color: #fab387; }\n#${PANEL_ID} .dt-val.null { color: #6c7086; font-style: italic; }\n#${PANEL_ID} .dt-section { color: #6c7086; font-size: 10px; text-transform: uppercase; margin: 8px 0 4px; }\n#${PANEL_ID} .dt-empty { color: #6c7086; font-style: italic; padding: 20px; text-align: center; }\n#${BADGE_ID} {\n position: fixed; bottom: 12px; right: 12px; width: 36px; height: 36px;\n background: #7c3aed; color: white; border-radius: 50%; display: flex;\n align-items: center; justify-content: center; cursor: pointer;\n z-index: 999998; font-size: 16px; box-shadow: 0 2px 8px rgba(124,58,237,0.4);\n border: none; font-family: inherit;\n}\n#${BADGE_ID}:hover { background: #6d28d9; transform: scale(1.1); }\n`;\n\n// --- Value formatting ---\n\nfunction formatValue(val: unknown): { text: string; cls: string } {\n if (val === null) return { text: 'null', cls: 'null' };\n if (val === undefined) return { text: 'undefined', cls: 'null' };\n if (typeof val === 'boolean') return { text: String(val), cls: 'bool' };\n if (typeof val === 'string') return { text: `\"${val.length > 40 ? val.slice(0, 40) + '...' : val}\"`, cls: 'str' };\n if (typeof val === 'number') return { text: String(val), cls: '' };\n if (Array.isArray(val)) return { text: `Array(${val.length})`, cls: '' };\n if (typeof val === 'object') {\n try {\n const keys = Object.keys(val);\n return { text: `{${keys.slice(0, 3).join(', ')}${keys.length > 3 ? ', ...' : ''}}`, cls: '' };\n } catch { return { text: '[Object]', cls: '' }; }\n }\n return { text: String(val), cls: '' };\n}\n\n// --- Panel rendering ---\n\nlet panelEl: HTMLElement | null = null;\nlet badgeEl: HTMLElement | null = null;\nlet isOpen = false;\nlet activeTab = 'stores';\nlet disposeUpdate: (() => void) | null = null;\n\nfunction renderKV(key: string, val: unknown): string {\n const { text, cls } = formatValue(val);\n return `<div class=\"dt-kv\"><span class=\"dt-key\">${key}:</span><span class=\"dt-val ${cls}\">${text}</span></div>`;\n}\n\nfunction renderStoresTab(): string {\n const instances = __getStoreInstances();\n const ids = Object.keys(instances);\n if (ids.length === 0) return '<div class=\"dt-empty\">No stores registered</div>';\n\n let html = '<div class=\"dt-store-list\">';\n for (const id of ids) {\n const store = instances[id];\n const snap = store.$snapshot();\n html += `<div class=\"dt-store\"><div class=\"dt-store-id\">${id}</div>`;\n for (const [key, val] of Object.entries(snap)) {\n html += renderKV(key, val);\n }\n html += '</div>';\n }\n html += '</div>';\n return html;\n}\n\nfunction renderRoutesTab(): string {\n const devtools = (globalThis as any).__AKASH_DEVTOOLS__;\n if (!devtools) return '<div class=\"dt-empty\">DevTools API not installed</div>';\n // Route info not directly available here — show what we can\n return '<div class=\"dt-empty\">Route info available via __AKASH_DEVTOOLS__</div>';\n}\n\nfunction renderBody(): string {\n switch (activeTab) {\n case 'stores': return renderStoresTab();\n case 'routes': return renderRoutesTab();\n default: return '<div class=\"dt-empty\">Tab not implemented</div>';\n }\n}\n\nfunction updatePanel(): void {\n if (!panelEl || !isOpen) return;\n const body = panelEl.querySelector('.dt-body');\n if (body) body.innerHTML = renderBody();\n}\n\nfunction createPanel(): HTMLElement {\n const el = document.createElement('div');\n el.id = PANEL_ID;\n\n const tabs = ['stores', 'routes'];\n const tabHtml = tabs.map(t =>\n `<button class=\"dt-tab ${t === activeTab ? 'active' : ''}\" data-tab=\"${t}\">${t}</button>`\n ).join('');\n\n el.innerHTML = `\n <div class=\"dt-header\">\n <span>AkashJS DevTools</span>\n <div class=\"dt-tabs\">${tabHtml}</div>\n <button class=\"dt-close\" title=\"Close\">×</button>\n </div>\n <div class=\"dt-body\">${renderBody()}</div>\n `;\n\n // Tab switching\n el.querySelectorAll('.dt-tab').forEach(btn => {\n btn.addEventListener('click', () => {\n activeTab = (btn as HTMLElement).dataset.tab ?? 'stores';\n el.querySelectorAll('.dt-tab').forEach(b => b.classList.remove('active'));\n btn.classList.add('active');\n updatePanel();\n });\n });\n\n // Close button\n el.querySelector('.dt-close')?.addEventListener('click', () => togglePanel());\n\n return el;\n}\n\nfunction createBadge(): HTMLElement {\n const el = document.createElement('button');\n el.id = BADGE_ID;\n el.textContent = '\\u{1f527}';\n el.title = 'AkashJS DevTools (Ctrl+Shift+D)';\n el.addEventListener('click', () => togglePanel());\n return el;\n}\n\nfunction togglePanel(): void {\n if (isOpen) {\n panelEl?.remove();\n panelEl = null;\n if (disposeUpdate) { disposeUpdate(); disposeUpdate = null; }\n badgeEl!.style.display = '';\n isOpen = false;\n } else {\n panelEl = createPanel();\n document.body.appendChild(panelEl);\n badgeEl!.style.display = 'none';\n isOpen = true;\n\n // Live update every time any store signal changes\n disposeUpdate = effect(() => {\n // Read all store signals to track them\n const instances = __getStoreInstances();\n for (const store of Object.values(instances)) {\n try { store.$snapshot(); } catch { /* ignore */ }\n }\n // Update DOM\n updatePanel();\n });\n }\n}\n\n// --- Public API ---\n\nexport function mountDevtoolsOverlay(): void {\n if (typeof document === 'undefined' || !document.head || !document.body) return;\n\n // Inject styles\n const style = document.createElement('style');\n style.textContent = STYLES;\n document.head.appendChild(style);\n\n // Create badge\n badgeEl = createBadge();\n document.body.appendChild(badgeEl);\n\n // Keyboard shortcut: Ctrl+Shift+D\n document.addEventListener('keydown', (e) => {\n if (e.ctrlKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n togglePanel();\n }\n });\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunkWTDTVWCQ_cjs=require('./chunk-WTDTVWCQ.cjs');require('./chunk-QSPRVXFV.cjs'),require('./chunk-NEQ5TENE.cjs'),require('./chunk-WOZWFMOK.cjs'),require('./chunk-XPLIEN2G.cjs');Object.defineProperty(exports,"__trackEffect",{enumerable:true,get:function(){return chunkWTDTVWCQ_cjs.b}});Object.defineProperty(exports,"__trackSignal",{enumerable:true,get:function(){return chunkWTDTVWCQ_cjs.a}});Object.defineProperty(exports,"installDevtools",{enumerable:true,get:function(){return chunkWTDTVWCQ_cjs.c}});//# sourceMappingURL=devtools.cjs.map
|
|
2
|
+
//# sourceMappingURL=devtools.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"devtools.cjs"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AkashJS DevTools — Console-based debugging utilities.
|
|
3
|
+
*
|
|
4
|
+
* Call `installDevtools()` in development to expose `__AKASH_DEVTOOLS__`
|
|
5
|
+
* on the global object. Access it from the browser console:
|
|
6
|
+
*
|
|
7
|
+
* ```js
|
|
8
|
+
* __AKASH_DEVTOOLS__.stores() // list all stores
|
|
9
|
+
* __AKASH_DEVTOOLS__.store('cart') // inspect a store
|
|
10
|
+
* __AKASH_DEVTOOLS__.signals() // list tracked signals
|
|
11
|
+
* __AKASH_DEVTOOLS__.effects() // list active effects
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
/** Register a signal for devtools tracking (call in dev mode) */
|
|
15
|
+
declare function __trackSignal(name: string, read: () => unknown, getSubscriberCount: () => number): void;
|
|
16
|
+
/** Register an effect for devtools tracking */
|
|
17
|
+
declare function __trackEffect(name: string, meta: {
|
|
18
|
+
isRender: boolean;
|
|
19
|
+
getSourceCount: () => number;
|
|
20
|
+
}): () => void;
|
|
21
|
+
interface StoreSnapshot {
|
|
22
|
+
$id: string;
|
|
23
|
+
state: Record<string, unknown>;
|
|
24
|
+
getters: Record<string, unknown>;
|
|
25
|
+
actions: string[];
|
|
26
|
+
subscriberCount: number;
|
|
27
|
+
}
|
|
28
|
+
interface DevToolsAPI {
|
|
29
|
+
/** List all registered stores */
|
|
30
|
+
stores(): string[];
|
|
31
|
+
/** Inspect a specific store by ID */
|
|
32
|
+
store(id: string): StoreSnapshot | null;
|
|
33
|
+
/** Get all store snapshots */
|
|
34
|
+
storeSnapshots(): Record<string, StoreSnapshot>;
|
|
35
|
+
/** List tracked signals with current values */
|
|
36
|
+
signals(): Array<{
|
|
37
|
+
name: string;
|
|
38
|
+
value: unknown;
|
|
39
|
+
subscribers: number;
|
|
40
|
+
}>;
|
|
41
|
+
/** List tracked effects with run counts */
|
|
42
|
+
effects(): Array<{
|
|
43
|
+
name: string;
|
|
44
|
+
runs: number;
|
|
45
|
+
isRender: boolean;
|
|
46
|
+
sources: number;
|
|
47
|
+
}>;
|
|
48
|
+
/** Get framework version info */
|
|
49
|
+
version(): {
|
|
50
|
+
runtime: string;
|
|
51
|
+
};
|
|
52
|
+
/** Pretty-print store state to console */
|
|
53
|
+
log(storeId?: string): void;
|
|
54
|
+
/** Record store state history for time-travel */
|
|
55
|
+
startRecording(storeId: string): void;
|
|
56
|
+
/** Stop recording and return history */
|
|
57
|
+
stopRecording(storeId: string): Array<{
|
|
58
|
+
timestamp: number;
|
|
59
|
+
state: Record<string, unknown>;
|
|
60
|
+
action?: string;
|
|
61
|
+
}>;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Install AkashJS DevTools on the global object.
|
|
65
|
+
* Call this in your app's entry point during development:
|
|
66
|
+
*
|
|
67
|
+
* ```ts
|
|
68
|
+
* import { installDevtools } from '@akashjs/runtime';
|
|
69
|
+
* if (import.meta.env.DEV) installDevtools();
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
interface DevToolsOptions {
|
|
73
|
+
/** Enable the visual overlay panel (toggle with Ctrl+Shift+D) */
|
|
74
|
+
overlay?: boolean;
|
|
75
|
+
}
|
|
76
|
+
declare function installDevtools(options?: DevToolsOptions): void;
|
|
77
|
+
|
|
78
|
+
export { type DevToolsAPI, type DevToolsOptions, __trackEffect, __trackSignal, installDevtools };
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AkashJS DevTools — Console-based debugging utilities.
|
|
3
|
+
*
|
|
4
|
+
* Call `installDevtools()` in development to expose `__AKASH_DEVTOOLS__`
|
|
5
|
+
* on the global object. Access it from the browser console:
|
|
6
|
+
*
|
|
7
|
+
* ```js
|
|
8
|
+
* __AKASH_DEVTOOLS__.stores() // list all stores
|
|
9
|
+
* __AKASH_DEVTOOLS__.store('cart') // inspect a store
|
|
10
|
+
* __AKASH_DEVTOOLS__.signals() // list tracked signals
|
|
11
|
+
* __AKASH_DEVTOOLS__.effects() // list active effects
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
/** Register a signal for devtools tracking (call in dev mode) */
|
|
15
|
+
declare function __trackSignal(name: string, read: () => unknown, getSubscriberCount: () => number): void;
|
|
16
|
+
/** Register an effect for devtools tracking */
|
|
17
|
+
declare function __trackEffect(name: string, meta: {
|
|
18
|
+
isRender: boolean;
|
|
19
|
+
getSourceCount: () => number;
|
|
20
|
+
}): () => void;
|
|
21
|
+
interface StoreSnapshot {
|
|
22
|
+
$id: string;
|
|
23
|
+
state: Record<string, unknown>;
|
|
24
|
+
getters: Record<string, unknown>;
|
|
25
|
+
actions: string[];
|
|
26
|
+
subscriberCount: number;
|
|
27
|
+
}
|
|
28
|
+
interface DevToolsAPI {
|
|
29
|
+
/** List all registered stores */
|
|
30
|
+
stores(): string[];
|
|
31
|
+
/** Inspect a specific store by ID */
|
|
32
|
+
store(id: string): StoreSnapshot | null;
|
|
33
|
+
/** Get all store snapshots */
|
|
34
|
+
storeSnapshots(): Record<string, StoreSnapshot>;
|
|
35
|
+
/** List tracked signals with current values */
|
|
36
|
+
signals(): Array<{
|
|
37
|
+
name: string;
|
|
38
|
+
value: unknown;
|
|
39
|
+
subscribers: number;
|
|
40
|
+
}>;
|
|
41
|
+
/** List tracked effects with run counts */
|
|
42
|
+
effects(): Array<{
|
|
43
|
+
name: string;
|
|
44
|
+
runs: number;
|
|
45
|
+
isRender: boolean;
|
|
46
|
+
sources: number;
|
|
47
|
+
}>;
|
|
48
|
+
/** Get framework version info */
|
|
49
|
+
version(): {
|
|
50
|
+
runtime: string;
|
|
51
|
+
};
|
|
52
|
+
/** Pretty-print store state to console */
|
|
53
|
+
log(storeId?: string): void;
|
|
54
|
+
/** Record store state history for time-travel */
|
|
55
|
+
startRecording(storeId: string): void;
|
|
56
|
+
/** Stop recording and return history */
|
|
57
|
+
stopRecording(storeId: string): Array<{
|
|
58
|
+
timestamp: number;
|
|
59
|
+
state: Record<string, unknown>;
|
|
60
|
+
action?: string;
|
|
61
|
+
}>;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Install AkashJS DevTools on the global object.
|
|
65
|
+
* Call this in your app's entry point during development:
|
|
66
|
+
*
|
|
67
|
+
* ```ts
|
|
68
|
+
* import { installDevtools } from '@akashjs/runtime';
|
|
69
|
+
* if (import.meta.env.DEV) installDevtools();
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
interface DevToolsOptions {
|
|
73
|
+
/** Enable the visual overlay panel (toggle with Ctrl+Shift+D) */
|
|
74
|
+
overlay?: boolean;
|
|
75
|
+
}
|
|
76
|
+
declare function installDevtools(options?: DevToolsOptions): void;
|
|
77
|
+
|
|
78
|
+
export { type DevToolsAPI, type DevToolsOptions, __trackEffect, __trackSignal, installDevtools };
|
package/dist/devtools.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export{b as __trackEffect,a as __trackSignal,c as installDevtools}from'./chunk-VUSNUBNI.js';import'./chunk-VWTULWXF.js';import'./chunk-BB7P6HTR.js';import'./chunk-YXKQTEPR.js';import'./chunk-U65WRXZC.js';//# sourceMappingURL=devtools.js.map
|
|
2
|
+
//# sourceMappingURL=devtools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"devtools.js"}
|
package/dist/di.cjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunkT7A5YOEG_cjs=require('./chunk-T7A5YOEG.cjs');require('./chunk-WOZWFMOK.cjs'),require('./chunk-XPLIEN2G.cjs');Object.defineProperty(exports,"clearProviders",{enumerable:true,get:function(){return chunkT7A5YOEG_cjs.e}});Object.defineProperty(exports,"createInjector",{enumerable:true,get:function(){return chunkT7A5YOEG_cjs.b}});Object.defineProperty(exports,"defineProvider",{enumerable:true,get:function(){return chunkT7A5YOEG_cjs.a}});Object.defineProperty(exports,"injectProvider",{enumerable:true,get:function(){return chunkT7A5YOEG_cjs.d}});Object.defineProperty(exports,"setCurrentInjector",{enumerable:true,get:function(){return chunkT7A5YOEG_cjs.c}});//# sourceMappingURL=di.cjs.map
|
|
2
|
+
//# sourceMappingURL=di.cjs.map
|
package/dist/di.cjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"di.cjs"}
|
package/dist/di.d.cts
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hierarchical Dependency Injection.
|
|
3
|
+
*
|
|
4
|
+
* Extends the basic provide/inject with multi-level injectors,
|
|
5
|
+
* provider factories, tree-shakable providers, and multi-providers.
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* // Define a provider with factory
|
|
9
|
+
* const ApiService = defineProvider({
|
|
10
|
+
* factory: () => createHttpClient({ baseUrl: '/api' }),
|
|
11
|
+
* });
|
|
12
|
+
*
|
|
13
|
+
* // Tree-shakable provider (only bundled if injected)
|
|
14
|
+
* const Logger = defineProvider({
|
|
15
|
+
* factory: () => new ConsoleLogger(),
|
|
16
|
+
* providedIn: 'root',
|
|
17
|
+
* });
|
|
18
|
+
*
|
|
19
|
+
* // Use in component
|
|
20
|
+
* const api = injectProvider(ApiService);
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
interface ProviderDef<T> {
|
|
24
|
+
_type: 'provider';
|
|
25
|
+
factory: () => T;
|
|
26
|
+
providedIn?: 'root' | 'component';
|
|
27
|
+
multi?: boolean;
|
|
28
|
+
_id: symbol;
|
|
29
|
+
}
|
|
30
|
+
interface Injector {
|
|
31
|
+
/** Get a provider value */
|
|
32
|
+
get<T>(provider: ProviderDef<T>): T;
|
|
33
|
+
/** Check if a provider is registered */
|
|
34
|
+
has(provider: ProviderDef<unknown>): boolean;
|
|
35
|
+
/** Create a child injector */
|
|
36
|
+
createChild(providers?: ProviderRegistration[]): Injector;
|
|
37
|
+
/** Dispose this injector and all cached instances */
|
|
38
|
+
dispose(): void;
|
|
39
|
+
}
|
|
40
|
+
interface ProviderRegistration<T = unknown> {
|
|
41
|
+
provide: ProviderDef<T>;
|
|
42
|
+
useFactory?: () => T;
|
|
43
|
+
useValue?: T;
|
|
44
|
+
useExisting?: ProviderDef<T>;
|
|
45
|
+
multi?: boolean;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Define a typed provider.
|
|
49
|
+
*
|
|
50
|
+
* ```ts
|
|
51
|
+
* const DatabaseService = defineProvider({
|
|
52
|
+
* factory: () => new Database(config),
|
|
53
|
+
* providedIn: 'root', // singleton, tree-shakable
|
|
54
|
+
* });
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
declare function defineProvider<T>(config: {
|
|
58
|
+
factory: () => T;
|
|
59
|
+
providedIn?: 'root' | 'component';
|
|
60
|
+
multi?: boolean;
|
|
61
|
+
}): ProviderDef<T>;
|
|
62
|
+
/**
|
|
63
|
+
* Create an injector with hierarchical resolution.
|
|
64
|
+
*
|
|
65
|
+
* ```ts
|
|
66
|
+
* const injector = createInjector([
|
|
67
|
+
* { provide: ApiService, useFactory: () => new MockApi() },
|
|
68
|
+
* { provide: Logger, useValue: console },
|
|
69
|
+
* ]);
|
|
70
|
+
*
|
|
71
|
+
* const api = injector.get(ApiService);
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
declare function createInjector(providers?: ProviderRegistration[], parent?: Injector): Injector;
|
|
75
|
+
/**
|
|
76
|
+
* Set the current injector (called by component setup).
|
|
77
|
+
* @internal
|
|
78
|
+
*/
|
|
79
|
+
declare function setCurrentInjector(injector: Injector | null): Injector | null;
|
|
80
|
+
/**
|
|
81
|
+
* Inject a provider in the current component context.
|
|
82
|
+
*
|
|
83
|
+
* ```ts
|
|
84
|
+
* const api = injectProvider(ApiService);
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
declare function injectProvider<T>(provider: ProviderDef<T>): T;
|
|
88
|
+
/**
|
|
89
|
+
* Clear root provider instances (useful for testing).
|
|
90
|
+
*/
|
|
91
|
+
declare function clearProviders(): void;
|
|
92
|
+
|
|
93
|
+
export { type Injector, type ProviderDef, type ProviderRegistration, clearProviders, createInjector, defineProvider, injectProvider, setCurrentInjector };
|
package/dist/di.d.ts
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hierarchical Dependency Injection.
|
|
3
|
+
*
|
|
4
|
+
* Extends the basic provide/inject with multi-level injectors,
|
|
5
|
+
* provider factories, tree-shakable providers, and multi-providers.
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* // Define a provider with factory
|
|
9
|
+
* const ApiService = defineProvider({
|
|
10
|
+
* factory: () => createHttpClient({ baseUrl: '/api' }),
|
|
11
|
+
* });
|
|
12
|
+
*
|
|
13
|
+
* // Tree-shakable provider (only bundled if injected)
|
|
14
|
+
* const Logger = defineProvider({
|
|
15
|
+
* factory: () => new ConsoleLogger(),
|
|
16
|
+
* providedIn: 'root',
|
|
17
|
+
* });
|
|
18
|
+
*
|
|
19
|
+
* // Use in component
|
|
20
|
+
* const api = injectProvider(ApiService);
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
interface ProviderDef<T> {
|
|
24
|
+
_type: 'provider';
|
|
25
|
+
factory: () => T;
|
|
26
|
+
providedIn?: 'root' | 'component';
|
|
27
|
+
multi?: boolean;
|
|
28
|
+
_id: symbol;
|
|
29
|
+
}
|
|
30
|
+
interface Injector {
|
|
31
|
+
/** Get a provider value */
|
|
32
|
+
get<T>(provider: ProviderDef<T>): T;
|
|
33
|
+
/** Check if a provider is registered */
|
|
34
|
+
has(provider: ProviderDef<unknown>): boolean;
|
|
35
|
+
/** Create a child injector */
|
|
36
|
+
createChild(providers?: ProviderRegistration[]): Injector;
|
|
37
|
+
/** Dispose this injector and all cached instances */
|
|
38
|
+
dispose(): void;
|
|
39
|
+
}
|
|
40
|
+
interface ProviderRegistration<T = unknown> {
|
|
41
|
+
provide: ProviderDef<T>;
|
|
42
|
+
useFactory?: () => T;
|
|
43
|
+
useValue?: T;
|
|
44
|
+
useExisting?: ProviderDef<T>;
|
|
45
|
+
multi?: boolean;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Define a typed provider.
|
|
49
|
+
*
|
|
50
|
+
* ```ts
|
|
51
|
+
* const DatabaseService = defineProvider({
|
|
52
|
+
* factory: () => new Database(config),
|
|
53
|
+
* providedIn: 'root', // singleton, tree-shakable
|
|
54
|
+
* });
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
declare function defineProvider<T>(config: {
|
|
58
|
+
factory: () => T;
|
|
59
|
+
providedIn?: 'root' | 'component';
|
|
60
|
+
multi?: boolean;
|
|
61
|
+
}): ProviderDef<T>;
|
|
62
|
+
/**
|
|
63
|
+
* Create an injector with hierarchical resolution.
|
|
64
|
+
*
|
|
65
|
+
* ```ts
|
|
66
|
+
* const injector = createInjector([
|
|
67
|
+
* { provide: ApiService, useFactory: () => new MockApi() },
|
|
68
|
+
* { provide: Logger, useValue: console },
|
|
69
|
+
* ]);
|
|
70
|
+
*
|
|
71
|
+
* const api = injector.get(ApiService);
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
declare function createInjector(providers?: ProviderRegistration[], parent?: Injector): Injector;
|
|
75
|
+
/**
|
|
76
|
+
* Set the current injector (called by component setup).
|
|
77
|
+
* @internal
|
|
78
|
+
*/
|
|
79
|
+
declare function setCurrentInjector(injector: Injector | null): Injector | null;
|
|
80
|
+
/**
|
|
81
|
+
* Inject a provider in the current component context.
|
|
82
|
+
*
|
|
83
|
+
* ```ts
|
|
84
|
+
* const api = injectProvider(ApiService);
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
declare function injectProvider<T>(provider: ProviderDef<T>): T;
|
|
88
|
+
/**
|
|
89
|
+
* Clear root provider instances (useful for testing).
|
|
90
|
+
*/
|
|
91
|
+
declare function clearProviders(): void;
|
|
92
|
+
|
|
93
|
+
export { type Injector, type ProviderDef, type ProviderRegistration, clearProviders, createInjector, defineProvider, injectProvider, setCurrentInjector };
|
package/dist/di.js
ADDED
package/dist/di.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"di.js"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunkQQTZQ6UX_cjs=require('./chunk-QQTZQ6UX.cjs');Object.defineProperty(exports,"applyDirective",{enumerable:true,get:function(){return chunkQQTZQ6UX_cjs.c}});Object.defineProperty(exports,"defineDirective",{enumerable:true,get:function(){return chunkQQTZQ6UX_cjs.a}});Object.defineProperty(exports,"directiveFromFn",{enumerable:true,get:function(){return chunkQQTZQ6UX_cjs.b}});Object.defineProperty(exports,"removeDirectives",{enumerable:true,get:function(){return chunkQQTZQ6UX_cjs.e}});Object.defineProperty(exports,"updateDirective",{enumerable:true,get:function(){return chunkQQTZQ6UX_cjs.d}});Object.defineProperty(exports,"vAutoFocus",{enumerable:true,get:function(){return chunkQQTZQ6UX_cjs.f}});Object.defineProperty(exports,"vClickOutside",{enumerable:true,get:function(){return chunkQQTZQ6UX_cjs.g}});Object.defineProperty(exports,"vIntersect",{enumerable:true,get:function(){return chunkQQTZQ6UX_cjs.i}});Object.defineProperty(exports,"vLongPress",{enumerable:true,get:function(){return chunkQQTZQ6UX_cjs.h}});Object.defineProperty(exports,"vResize",{enumerable:true,get:function(){return chunkQQTZQ6UX_cjs.j}});//# sourceMappingURL=directive.cjs.map
|
|
2
|
+
//# sourceMappingURL=directive.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"directive.cjs"}
|