@bquery/bquery 1.6.0 → 1.7.0
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/README.md +716 -586
- package/dist/a11y/announce.d.ts +43 -0
- package/dist/a11y/announce.d.ts.map +1 -0
- package/dist/a11y/audit.d.ts +42 -0
- package/dist/a11y/audit.d.ts.map +1 -0
- package/dist/a11y/index.d.ts +53 -0
- package/dist/a11y/index.d.ts.map +1 -0
- package/dist/a11y/media-preferences.d.ts +77 -0
- package/dist/a11y/media-preferences.d.ts.map +1 -0
- package/dist/a11y/roving-tab-index.d.ts +38 -0
- package/dist/a11y/roving-tab-index.d.ts.map +1 -0
- package/dist/a11y/skip-link.d.ts +37 -0
- package/dist/a11y/skip-link.d.ts.map +1 -0
- package/dist/a11y/trap-focus.d.ts +49 -0
- package/dist/a11y/trap-focus.d.ts.map +1 -0
- package/dist/a11y/types.d.ts +152 -0
- package/dist/a11y/types.d.ts.map +1 -0
- package/dist/a11y-C5QOVvRn.js +421 -0
- package/dist/a11y-C5QOVvRn.js.map +1 -0
- package/dist/a11y.es.mjs +14 -0
- package/dist/component/component.d.ts.map +1 -1
- package/dist/component/html.d.ts.map +1 -1
- package/dist/component/index.d.ts +2 -1
- package/dist/component/index.d.ts.map +1 -1
- package/dist/component/library.d.ts.map +1 -1
- package/dist/component/scope.d.ts +138 -0
- package/dist/component/scope.d.ts.map +1 -0
- package/dist/component/types.d.ts +53 -1
- package/dist/component/types.d.ts.map +1 -1
- package/dist/component-CuuTijA6.js +684 -0
- package/dist/component-CuuTijA6.js.map +1 -0
- package/dist/component.es.mjs +9 -6
- package/dist/{config-DRmZZno3.js → config-BW35FKuA.js} +4 -4
- package/dist/{config-DRmZZno3.js.map → config-BW35FKuA.js.map} +1 -1
- package/dist/constraints-3lV9yyBw.js +100 -0
- package/dist/constraints-3lV9yyBw.js.map +1 -0
- package/dist/core/collection.d.ts +48 -0
- package/dist/core/collection.d.ts.map +1 -1
- package/dist/core/element.d.ts +92 -0
- package/dist/core/element.d.ts.map +1 -1
- package/dist/core/env.d.ts +18 -0
- package/dist/core/env.d.ts.map +1 -0
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/shared.d.ts +8 -0
- package/dist/core/shared.d.ts.map +1 -1
- package/dist/core/utils/index.d.ts +52 -41
- package/dist/core/utils/index.d.ts.map +1 -1
- package/dist/core-Cjl7GUu8.js +717 -0
- package/dist/core-Cjl7GUu8.js.map +1 -0
- package/dist/core-DnlyjbF2.js +112 -0
- package/dist/core-DnlyjbF2.js.map +1 -0
- package/dist/core.es.mjs +45 -44
- package/dist/custom-directives-7wAShnnd.js +9 -0
- package/dist/custom-directives-7wAShnnd.js.map +1 -0
- package/dist/devtools/devtools.d.ts +212 -0
- package/dist/devtools/devtools.d.ts.map +1 -0
- package/dist/devtools/index.d.ts +20 -0
- package/dist/devtools/index.d.ts.map +1 -0
- package/dist/devtools/types.d.ts +69 -0
- package/dist/devtools/types.d.ts.map +1 -0
- package/dist/devtools-D2fQLhDN.js +122 -0
- package/dist/devtools-D2fQLhDN.js.map +1 -0
- package/dist/devtools.es.mjs +19 -0
- package/dist/dnd/draggable.d.ts +51 -0
- package/dist/dnd/draggable.d.ts.map +1 -0
- package/dist/dnd/droppable.d.ts +38 -0
- package/dist/dnd/droppable.d.ts.map +1 -0
- package/dist/dnd/index.d.ts +47 -0
- package/dist/dnd/index.d.ts.map +1 -0
- package/dist/dnd/sortable.d.ts +43 -0
- package/dist/dnd/sortable.d.ts.map +1 -0
- package/dist/dnd/types.d.ts +250 -0
- package/dist/dnd/types.d.ts.map +1 -0
- package/dist/dnd-B8EgyzaI.js +244 -0
- package/dist/dnd-B8EgyzaI.js.map +1 -0
- package/dist/dnd.es.mjs +6 -0
- package/dist/env-NeVmr4Gf.js +19 -0
- package/dist/env-NeVmr4Gf.js.map +1 -0
- package/dist/forms/create-form.d.ts +49 -0
- package/dist/forms/create-form.d.ts.map +1 -0
- package/dist/forms/index.d.ts +39 -0
- package/dist/forms/index.d.ts.map +1 -0
- package/dist/forms/types.d.ts +139 -0
- package/dist/forms/types.d.ts.map +1 -0
- package/dist/forms/validators.d.ts +179 -0
- package/dist/forms/validators.d.ts.map +1 -0
- package/dist/forms-C3yovgH9.js +141 -0
- package/dist/forms-C3yovgH9.js.map +1 -0
- package/dist/forms.es.mjs +14 -0
- package/dist/full.d.ts +35 -7
- package/dist/full.d.ts.map +1 -1
- package/dist/full.es.mjs +182 -91
- package/dist/full.iife.js +47 -31
- package/dist/full.iife.js.map +1 -1
- package/dist/full.umd.js +47 -31
- package/dist/full.umd.js.map +1 -1
- package/dist/i18n/formatting.d.ts +40 -0
- package/dist/i18n/formatting.d.ts.map +1 -0
- package/dist/i18n/i18n.d.ts +48 -0
- package/dist/i18n/i18n.d.ts.map +1 -0
- package/dist/i18n/index.d.ts +57 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/translate.d.ts +83 -0
- package/dist/i18n/translate.d.ts.map +1 -0
- package/dist/i18n/types.d.ts +156 -0
- package/dist/i18n/types.d.ts.map +1 -0
- package/dist/i18n-BnnhTFOS.js +89 -0
- package/dist/i18n-BnnhTFOS.js.map +1 -0
- package/dist/i18n.es.mjs +6 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.mjs +227 -136
- package/dist/media/battery.d.ts +35 -0
- package/dist/media/battery.d.ts.map +1 -0
- package/dist/media/breakpoints.d.ts +51 -0
- package/dist/media/breakpoints.d.ts.map +1 -0
- package/dist/media/clipboard.d.ts +30 -0
- package/dist/media/clipboard.d.ts.map +1 -0
- package/dist/media/device-sensors.d.ts +54 -0
- package/dist/media/device-sensors.d.ts.map +1 -0
- package/dist/media/geolocation.d.ts +38 -0
- package/dist/media/geolocation.d.ts.map +1 -0
- package/dist/media/index.d.ts +42 -0
- package/dist/media/index.d.ts.map +1 -0
- package/dist/media/media-query.d.ts +36 -0
- package/dist/media/media-query.d.ts.map +1 -0
- package/dist/media/network.d.ts +35 -0
- package/dist/media/network.d.ts.map +1 -0
- package/dist/media/types.d.ts +173 -0
- package/dist/media/types.d.ts.map +1 -0
- package/dist/media/viewport.d.ts +32 -0
- package/dist/media/viewport.d.ts.map +1 -0
- package/dist/media-Di2Ta22s.js +340 -0
- package/dist/media-Di2Ta22s.js.map +1 -0
- package/dist/media.es.mjs +12 -0
- package/dist/motion/index.d.ts +7 -3
- package/dist/motion/index.d.ts.map +1 -1
- package/dist/motion/morph.d.ts +27 -0
- package/dist/motion/morph.d.ts.map +1 -0
- package/dist/motion/parallax.d.ts +30 -0
- package/dist/motion/parallax.d.ts.map +1 -0
- package/dist/motion/reduced-motion.d.ts +36 -3
- package/dist/motion/reduced-motion.d.ts.map +1 -1
- package/dist/motion/types.d.ts +58 -0
- package/dist/motion/types.d.ts.map +1 -1
- package/dist/motion/typewriter.d.ts +31 -0
- package/dist/motion/typewriter.d.ts.map +1 -0
- package/dist/motion-qPj_TYGv.js +530 -0
- package/dist/motion-qPj_TYGv.js.map +1 -0
- package/dist/motion.es.mjs +27 -23
- package/dist/{view-C70lA3vf.js → mount-SM07RUa6.js} +166 -160
- package/dist/mount-SM07RUa6.js.map +1 -0
- package/dist/{object-qGpWr6-J.js → object-BCk-1c8T.js} +5 -4
- package/dist/{object-qGpWr6-J.js.map → object-BCk-1c8T.js.map} +1 -1
- package/dist/{platform-Dr9b6fsq.js → platform-CPbCprb6.js} +21 -22
- package/dist/{platform-Dr9b6fsq.js.map → platform-CPbCprb6.js.map} +1 -1
- package/dist/platform.es.mjs +2 -2
- package/dist/plugin/index.d.ts +22 -0
- package/dist/plugin/index.d.ts.map +1 -0
- package/dist/plugin/registry.d.ts +108 -0
- package/dist/plugin/registry.d.ts.map +1 -0
- package/dist/plugin/types.d.ts +110 -0
- package/dist/plugin/types.d.ts.map +1 -0
- package/dist/plugin-cPoOHFLY.js +64 -0
- package/dist/plugin-cPoOHFLY.js.map +1 -0
- package/dist/plugin.es.mjs +9 -0
- package/dist/reactive/computed.d.ts +7 -0
- package/dist/reactive/computed.d.ts.map +1 -1
- package/dist/reactive-Cfv0RK6x.js +233 -0
- package/dist/reactive-Cfv0RK6x.js.map +1 -0
- package/dist/reactive.es.mjs +19 -20
- package/dist/registry-CWf368tT.js +26 -0
- package/dist/registry-CWf368tT.js.map +1 -0
- package/dist/router/bq-link.d.ts +112 -0
- package/dist/router/bq-link.d.ts.map +1 -0
- package/dist/router/constraints.d.ts +9 -0
- package/dist/router/constraints.d.ts.map +1 -0
- package/dist/router/index.d.ts +14 -6
- package/dist/router/index.d.ts.map +1 -1
- package/dist/router/match.d.ts +0 -1
- package/dist/router/match.d.ts.map +1 -1
- package/dist/router/path-pattern.d.ts +14 -0
- package/dist/router/path-pattern.d.ts.map +1 -0
- package/dist/router/query.d.ts.map +1 -1
- package/dist/router/router.d.ts +3 -1
- package/dist/router/router.d.ts.map +1 -1
- package/dist/router/types.d.ts +48 -4
- package/dist/router/types.d.ts.map +1 -1
- package/dist/router/use-route.d.ts +50 -0
- package/dist/router/use-route.d.ts.map +1 -0
- package/dist/router/utils.d.ts +3 -0
- package/dist/router/utils.d.ts.map +1 -1
- package/dist/router-BrthaP_z.js +473 -0
- package/dist/router-BrthaP_z.js.map +1 -0
- package/dist/router.es.mjs +13 -10
- package/dist/{sanitize-Bs2dkMby.js → sanitize-B1V4JswB.js} +2 -1
- package/dist/{sanitize-Bs2dkMby.js.map → sanitize-B1V4JswB.js.map} +1 -1
- package/dist/security/index.d.ts +2 -2
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security.es.mjs +1 -1
- package/dist/ssr/hydrate.d.ts +65 -0
- package/dist/ssr/hydrate.d.ts.map +1 -0
- package/dist/ssr/index.d.ts +59 -0
- package/dist/ssr/index.d.ts.map +1 -0
- package/dist/ssr/render.d.ts +62 -0
- package/dist/ssr/render.d.ts.map +1 -0
- package/dist/ssr/serialize.d.ts +118 -0
- package/dist/ssr/serialize.d.ts.map +1 -0
- package/dist/ssr/types.d.ts +70 -0
- package/dist/ssr/types.d.ts.map +1 -0
- package/dist/ssr-B2qd_WBB.js +248 -0
- package/dist/ssr-B2qd_WBB.js.map +1 -0
- package/dist/ssr.es.mjs +9 -0
- package/dist/store/create-store.d.ts.map +1 -1
- package/dist/store/index.d.ts +1 -1
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/persisted.d.ts +38 -4
- package/dist/store/persisted.d.ts.map +1 -1
- package/dist/store/types.d.ts +138 -1
- package/dist/store/types.d.ts.map +1 -1
- package/dist/store/utils.d.ts +2 -2
- package/dist/store/utils.d.ts.map +1 -1
- package/dist/store-DWpyH6p5.js +338 -0
- package/dist/store-DWpyH6p5.js.map +1 -0
- package/dist/store.es.mjs +11 -10
- package/dist/storybook/index.d.ts.map +1 -1
- package/dist/storybook.es.mjs +1 -1
- package/dist/storybook.es.mjs.map +1 -1
- package/dist/testing/index.d.ts +23 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/testing.d.ts +156 -0
- package/dist/testing/testing.d.ts.map +1 -0
- package/dist/testing/types.d.ts +134 -0
- package/dist/testing/types.d.ts.map +1 -0
- package/dist/testing-CsqjNUyy.js +224 -0
- package/dist/testing-CsqjNUyy.js.map +1 -0
- package/dist/testing.es.mjs +9 -0
- package/dist/type-guards-Do9DWgNp.js +44 -0
- package/dist/type-guards-Do9DWgNp.js.map +1 -0
- package/dist/untrack-DJVQQ2WM.js +33 -0
- package/dist/untrack-DJVQQ2WM.js.map +1 -0
- package/dist/view/custom-directives.d.ts +20 -0
- package/dist/view/custom-directives.d.ts.map +1 -0
- package/dist/view/evaluate.d.ts.map +1 -1
- package/dist/view/process.d.ts.map +1 -1
- package/dist/view.es.mjs +9 -9
- package/package.json +177 -141
- package/src/a11y/announce.ts +131 -0
- package/src/a11y/audit.ts +314 -0
- package/src/a11y/index.ts +68 -0
- package/src/a11y/media-preferences.ts +255 -0
- package/src/a11y/roving-tab-index.ts +164 -0
- package/src/a11y/skip-link.ts +255 -0
- package/src/a11y/trap-focus.ts +184 -0
- package/src/a11y/types.ts +183 -0
- package/src/component/component.ts +104 -29
- package/src/component/html.ts +5 -5
- package/src/component/index.ts +2 -0
- package/src/component/library.ts +26 -2
- package/src/component/scope.ts +212 -0
- package/src/component/types.ts +94 -40
- package/src/core/collection.ts +707 -628
- package/src/core/element.ts +981 -774
- package/src/core/env.ts +60 -0
- package/src/core/index.ts +49 -48
- package/src/core/shared.ts +62 -13
- package/src/core/utils/index.ts +148 -83
- package/src/devtools/devtools.ts +410 -0
- package/src/devtools/index.ts +48 -0
- package/src/devtools/types.ts +104 -0
- package/src/dnd/draggable.ts +296 -0
- package/src/dnd/droppable.ts +228 -0
- package/src/dnd/index.ts +62 -0
- package/src/dnd/sortable.ts +307 -0
- package/src/dnd/types.ts +293 -0
- package/src/forms/create-form.ts +278 -0
- package/src/forms/index.ts +65 -0
- package/src/forms/types.ts +154 -0
- package/src/forms/validators.ts +265 -0
- package/src/full.ts +253 -2
- package/src/i18n/formatting.ts +67 -0
- package/src/i18n/i18n.ts +200 -0
- package/src/i18n/index.ts +67 -0
- package/src/i18n/translate.ts +182 -0
- package/src/i18n/types.ts +171 -0
- package/src/index.ts +108 -36
- package/src/media/battery.ts +116 -0
- package/src/media/breakpoints.ts +131 -0
- package/src/media/clipboard.ts +80 -0
- package/src/media/device-sensors.ts +158 -0
- package/src/media/geolocation.ts +119 -0
- package/src/media/index.ts +76 -0
- package/src/media/media-query.ts +92 -0
- package/src/media/network.ts +115 -0
- package/src/media/types.ts +177 -0
- package/src/media/viewport.ts +84 -0
- package/src/motion/index.ts +57 -48
- package/src/motion/morph.ts +151 -0
- package/src/motion/parallax.ts +120 -0
- package/src/motion/reduced-motion.ts +66 -17
- package/src/motion/types.ts +271 -208
- package/src/motion/typewriter.ts +164 -0
- package/src/plugin/index.ts +37 -0
- package/src/plugin/registry.ts +269 -0
- package/src/plugin/types.ts +137 -0
- package/src/reactive/computed.ts +130 -92
- package/src/router/bq-link.ts +279 -0
- package/src/router/constraints.ts +201 -0
- package/src/router/index.ts +49 -41
- package/src/router/match.ts +312 -106
- package/src/router/path-pattern.ts +52 -0
- package/src/router/query.ts +38 -35
- package/src/router/router.ts +402 -211
- package/src/router/types.ts +139 -93
- package/src/router/use-route.ts +68 -0
- package/src/router/utils.ts +157 -116
- package/src/security/index.ts +2 -7
- package/src/security/sanitize.ts +70 -70
- package/src/security/trusted-html.ts +71 -71
- package/src/ssr/hydrate.ts +82 -0
- package/src/ssr/index.ts +70 -0
- package/src/ssr/render.ts +508 -0
- package/src/ssr/serialize.ts +296 -0
- package/src/ssr/types.ts +81 -0
- package/src/store/create-store.ts +467 -329
- package/src/store/define-store.ts +49 -49
- package/src/store/index.ts +27 -22
- package/src/store/mapping.ts +74 -74
- package/src/store/persisted.ts +206 -19
- package/src/store/types.ts +157 -2
- package/src/store/utils.ts +135 -141
- package/src/store/watch.ts +53 -53
- package/src/storybook/index.ts +2 -1
- package/src/testing/index.ts +42 -0
- package/src/testing/testing.ts +593 -0
- package/src/testing/types.ts +170 -0
- package/src/view/custom-directives.ts +30 -0
- package/src/view/evaluate.ts +292 -290
- package/src/view/process.ts +108 -92
- package/dist/component-BEQgt5hl.js +0 -600
- package/dist/component-BEQgt5hl.js.map +0 -1
- package/dist/core-BGQJVw0-.js +0 -35
- package/dist/core-BGQJVw0-.js.map +0 -1
- package/dist/core-CCEabVHl.js +0 -648
- package/dist/core-CCEabVHl.js.map +0 -1
- package/dist/effect-AFRW_Plg.js +0 -84
- package/dist/effect-AFRW_Plg.js.map +0 -1
- package/dist/motion-D9TcHxOF.js +0 -415
- package/dist/motion-D9TcHxOF.js.map +0 -1
- package/dist/reactive-DSkct0dO.js +0 -254
- package/dist/reactive-DSkct0dO.js.map +0 -1
- package/dist/router-CbDhl8rS.js +0 -188
- package/dist/router-CbDhl8rS.js.map +0 -1
- package/dist/store-BwDvI45q.js +0 -263
- package/dist/store-BwDvI45q.js.map +0 -1
- package/dist/untrack-B0rVscTc.js +0 -7
- package/dist/untrack-B0rVscTc.js.map +0 -1
- package/dist/view-C70lA3vf.js.map +0 -1
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Component-scoped reactive primitives.
|
|
3
|
+
*
|
|
4
|
+
* Provides `useSignal`, `useComputed`, and `useEffect` that automatically
|
|
5
|
+
* dispose when their owning component disconnects from the DOM.
|
|
6
|
+
*
|
|
7
|
+
* @module bquery/component
|
|
8
|
+
*/
|
|
9
|
+
import type { Computed } from '../reactive/computed';
|
|
10
|
+
import type { Signal } from '../reactive/core';
|
|
11
|
+
import type { CleanupFn } from '../reactive/index';
|
|
12
|
+
/**
|
|
13
|
+
* Holds disposable resources created inside a component scope.
|
|
14
|
+
* All registered disposers run when the component disconnects.
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export interface ComponentScope {
|
|
18
|
+
/** Register a cleanup function to run on dispose */
|
|
19
|
+
addDisposer(fn: CleanupFn): void;
|
|
20
|
+
/** Dispose all registered resources */
|
|
21
|
+
dispose(): void;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Sets the active component scope.
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
export declare function setCurrentScope(scope: ComponentScope | undefined): ComponentScope | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Returns the active component scope, or undefined if none.
|
|
30
|
+
* @internal
|
|
31
|
+
*/
|
|
32
|
+
export declare function getCurrentScope(): ComponentScope | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* Creates a new component scope that tracks disposable resources.
|
|
35
|
+
* @internal
|
|
36
|
+
*/
|
|
37
|
+
export declare function createComponentScope(): ComponentScope;
|
|
38
|
+
/**
|
|
39
|
+
* Creates a reactive signal scoped to the current component.
|
|
40
|
+
*
|
|
41
|
+
* The signal is automatically disposed when the component disconnects
|
|
42
|
+
* from the DOM, removing all subscribers and preventing memory leaks.
|
|
43
|
+
*
|
|
44
|
+
* Must be called during a component lifecycle hook such as `connected`,
|
|
45
|
+
* `beforeMount`, `onAdopted`, or `onAttributeChanged`.
|
|
46
|
+
*
|
|
47
|
+
* Do not create scoped primitives from `render()`. Repeated renders can
|
|
48
|
+
* accumulate render-scoped resources until disconnect; prefer lifecycle hooks.
|
|
49
|
+
*
|
|
50
|
+
* @template T - The type of the signal value
|
|
51
|
+
* @param initialValue - The initial value of the signal
|
|
52
|
+
* @returns A new Signal instance that auto-disposes with the component
|
|
53
|
+
* @throws {Error} If called outside a component scope
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```ts
|
|
57
|
+
* import { component, html, useSignal } from '@bquery/bquery/component';
|
|
58
|
+
*
|
|
59
|
+
* component('my-counter', {
|
|
60
|
+
* connected() {
|
|
61
|
+
* const count = useSignal(0);
|
|
62
|
+
* // count.dispose() is called automatically on disconnect
|
|
63
|
+
* },
|
|
64
|
+
* render({ state }) {
|
|
65
|
+
* return html`<span>${state.count}</span>`;
|
|
66
|
+
* },
|
|
67
|
+
* });
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
export declare function useSignal<T>(initialValue: T): Signal<T>;
|
|
71
|
+
/**
|
|
72
|
+
* Creates a computed value scoped to the current component.
|
|
73
|
+
*
|
|
74
|
+
* The computed value's internal effect is automatically cleaned up
|
|
75
|
+
* when the component disconnects from the DOM.
|
|
76
|
+
*
|
|
77
|
+
* Must be called during a component lifecycle hook such as `connected`,
|
|
78
|
+
* `beforeMount`, `onAdopted`, or `onAttributeChanged`.
|
|
79
|
+
*
|
|
80
|
+
* Do not create scoped primitives from `render()`. Repeated renders can
|
|
81
|
+
* accumulate render-scoped resources until disconnect; prefer lifecycle hooks.
|
|
82
|
+
*
|
|
83
|
+
* @template T - The type of the computed value
|
|
84
|
+
* @param fn - Derivation function that reads reactive sources
|
|
85
|
+
* @returns A new Computed instance that auto-cleans-up with the component
|
|
86
|
+
* @throws {Error} If called outside a component scope
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```ts
|
|
90
|
+
* import { component, html, useSignal, useComputed } from '@bquery/bquery/component';
|
|
91
|
+
*
|
|
92
|
+
* component('my-doubler', {
|
|
93
|
+
* connected() {
|
|
94
|
+
* const count = useSignal(1);
|
|
95
|
+
* const doubled = useComputed(() => count.value * 2);
|
|
96
|
+
* },
|
|
97
|
+
* render({ state }) {
|
|
98
|
+
* return html`<span>${state.doubled}</span>`;
|
|
99
|
+
* },
|
|
100
|
+
* });
|
|
101
|
+
* ```
|
|
102
|
+
*/
|
|
103
|
+
export declare function useComputed<T>(fn: () => T): Computed<T>;
|
|
104
|
+
/**
|
|
105
|
+
* Creates a side effect scoped to the current component.
|
|
106
|
+
*
|
|
107
|
+
* The effect runs immediately and re-runs when its reactive dependencies
|
|
108
|
+
* change. It is automatically disposed when the component disconnects
|
|
109
|
+
* from the DOM.
|
|
110
|
+
*
|
|
111
|
+
* Must be called during a component lifecycle hook such as `connected`,
|
|
112
|
+
* `beforeMount`, `onAdopted`, or `onAttributeChanged`.
|
|
113
|
+
*
|
|
114
|
+
* Do not create scoped primitives from `render()`. Repeated renders can
|
|
115
|
+
* accumulate render-scoped resources until disconnect; prefer lifecycle hooks.
|
|
116
|
+
*
|
|
117
|
+
* @param fn - The effect function; may return a cleanup function
|
|
118
|
+
* @returns A cleanup function to manually stop the effect early
|
|
119
|
+
* @throws {Error} If called outside a component scope
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```ts
|
|
123
|
+
* import { component, useSignal, useEffect } from '@bquery/bquery/component';
|
|
124
|
+
*
|
|
125
|
+
* component('my-logger', {
|
|
126
|
+
* connected() {
|
|
127
|
+
* const count = useSignal(0);
|
|
128
|
+
* useEffect(() => {
|
|
129
|
+
* console.log('Count changed:', count.value);
|
|
130
|
+
* return () => console.log('Cleanup');
|
|
131
|
+
* });
|
|
132
|
+
* },
|
|
133
|
+
* render() { return '<p>Logger</p>'; },
|
|
134
|
+
* });
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
export declare function useEffect(fn: () => void | CleanupFn): CleanupFn;
|
|
138
|
+
//# sourceMappingURL=scope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../src/component/scope.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,oDAAoD;IACpD,WAAW,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,CAAC;IACjC,uCAAuC;IACvC,OAAO,IAAI,IAAI,CAAC;CACjB;AAKD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAI7F;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,cAAc,GAAG,SAAS,CAE5D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,cAAc,CAwBrD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAUvD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAUvD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,SAAS,GAAG,SAAS,CAU/D"}
|
|
@@ -151,6 +151,10 @@ type ComponentErrorHook<TState extends Record<string, unknown> | undefined = und
|
|
|
151
151
|
(this: ComponentElement<TState>, error: Error): void;
|
|
152
152
|
(error: Error): void;
|
|
153
153
|
};
|
|
154
|
+
type ComponentAttributeChangedHook<TState extends Record<string, unknown> | undefined = undefined> = {
|
|
155
|
+
(this: ComponentElement<TState>, name: string, oldValue: string | null, newValue: string | null): void;
|
|
156
|
+
(name: string, oldValue: string | null, newValue: string | null): void;
|
|
157
|
+
};
|
|
154
158
|
type ComponentStateDefinition<TState extends Record<string, unknown> | undefined = undefined> = TState extends Record<string, unknown> ? {
|
|
155
159
|
/** Initial internal state */
|
|
156
160
|
state: TState;
|
|
@@ -165,11 +169,36 @@ type ComponentSignalsDefinition<TSignals extends ComponentSignals = Record<strin
|
|
|
165
169
|
/** External signals/computed values that should trigger re-renders */
|
|
166
170
|
signals: TSignals;
|
|
167
171
|
};
|
|
172
|
+
/**
|
|
173
|
+
* Controls Shadow DOM mode for the component.
|
|
174
|
+
*
|
|
175
|
+
* - `true` or `'open'` — attach an open shadow root (default)
|
|
176
|
+
* - `'closed'` — attach a closed shadow root
|
|
177
|
+
* - `false` — no shadow root; render directly into the host element
|
|
178
|
+
*/
|
|
179
|
+
export type ShadowMode = boolean | 'open' | 'closed';
|
|
168
180
|
export type ComponentDefinition<TProps extends Record<string, unknown> = Record<string, unknown>, TState extends Record<string, unknown> | undefined = undefined, TSignals extends ComponentSignals = Record<string, never>> = ComponentStateDefinition<TState> & ComponentSignalsDefinition<TSignals> & {
|
|
169
181
|
/** Prop definitions with types and defaults */
|
|
170
182
|
props?: Record<keyof TProps, PropDefinition>;
|
|
171
|
-
/**
|
|
183
|
+
/**
|
|
184
|
+
* CSS styles injected for the component.
|
|
185
|
+
*
|
|
186
|
+
* When `shadow` uses a shadow root (`true`, `'open'`, or `'closed'`), these
|
|
187
|
+
* styles are scoped to that shadow tree. When `shadow` is `false`, the
|
|
188
|
+
* generated `<style>` element is rendered into the host's light DOM and may
|
|
189
|
+
* therefore affect surrounding markup according to normal CSS cascade rules.
|
|
190
|
+
*/
|
|
172
191
|
styles?: string;
|
|
192
|
+
/**
|
|
193
|
+
* Controls Shadow DOM mode.
|
|
194
|
+
*
|
|
195
|
+
* - `true` or `'open'` — open shadow root (default)
|
|
196
|
+
* - `'closed'` — closed shadow root
|
|
197
|
+
* - `false` — no shadow root; render into the host element
|
|
198
|
+
*
|
|
199
|
+
* @default true
|
|
200
|
+
*/
|
|
201
|
+
shadow?: ShadowMode;
|
|
173
202
|
/**
|
|
174
203
|
* Extra sanitizer options merged with the framework base allowlist during render.
|
|
175
204
|
* Only opt in attributes/tags whose values you control or validate. Sensitive
|
|
@@ -177,12 +206,35 @@ export type ComponentDefinition<TProps extends Record<string, unknown> = Record<
|
|
|
177
206
|
* or UI-redressing risks if used with untrusted input.
|
|
178
207
|
*/
|
|
179
208
|
sanitize?: ComponentSanitizeOptions;
|
|
209
|
+
/**
|
|
210
|
+
* Additional attributes to observe beyond those declared in `props`.
|
|
211
|
+
*
|
|
212
|
+
* Useful when you want `onAttributeChanged` to fire for attributes
|
|
213
|
+
* that are not part of the typed props system.
|
|
214
|
+
*/
|
|
215
|
+
observeAttributes?: string[];
|
|
180
216
|
/** Lifecycle hook called before the component mounts (before first render) */
|
|
181
217
|
beforeMount?: ComponentHook<TState>;
|
|
182
218
|
/** Lifecycle hook called when component is added to DOM */
|
|
183
219
|
connected?: ComponentHook<TState>;
|
|
184
220
|
/** Lifecycle hook called when component is removed from DOM */
|
|
185
221
|
disconnected?: ComponentHook<TState>;
|
|
222
|
+
/**
|
|
223
|
+
* Lifecycle hook called when the component is moved to a new document
|
|
224
|
+
* (e.g. via `document.adoptNode`).
|
|
225
|
+
*/
|
|
226
|
+
onAdopted?: ComponentHook<TState>;
|
|
227
|
+
/**
|
|
228
|
+
* Lifecycle hook called when any observed attribute changes.
|
|
229
|
+
*
|
|
230
|
+
* Observed attributes are automatically derived from `props` keys
|
|
231
|
+
* plus any additional names in `observeAttributes`.
|
|
232
|
+
*
|
|
233
|
+
* @param name - The attribute name that changed
|
|
234
|
+
* @param oldValue - The previous attribute value (null if added)
|
|
235
|
+
* @param newValue - The new attribute value (null if removed)
|
|
236
|
+
*/
|
|
237
|
+
onAttributeChanged?: ComponentAttributeChangedHook<TState>;
|
|
186
238
|
/** Lifecycle hook called before an update render; return false to prevent */
|
|
187
239
|
beforeUpdate?: ComponentHookWithProps<TProps, TState, boolean | void>;
|
|
188
240
|
/** Lifecycle hook called after update renders; receives attribute change info when applicable */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/component/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,OAAO,IAAI;IACxC,0DAA0D;IAC1D,IAAI,EACA,iBAAiB,GACjB,iBAAiB,GACjB,kBAAkB,GAClB,iBAAiB,GACjB,gBAAgB,GAChB;QAAE,KAAK,KAAK,EAAE,OAAO,GAAG,CAAC,CAAA;KAAE,GAC3B,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC;IAC5B,wCAAwC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,0DAA0D;IAC1D,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC;IAClC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/component/types.ts"],"names":[],"mappings":"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"}
|