@bquery/bquery 1.5.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 +193 -23
- 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 +13 -5
- package/dist/component/component.d.ts.map +1 -1
- package/dist/component/html.d.ts +40 -3
- package/dist/component/html.d.ts.map +1 -1
- package/dist/component/index.d.ts +3 -2
- 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 +184 -17
- 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 +10 -6
- package/dist/{config-DRmZZno3.js → config-BW35FKuA.js} +4 -4
- package/dist/config-BW35FKuA.js.map +1 -0
- 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-DPdbItcq.js → core-DnlyjbF2.js} +1 -1
- package/dist/{core-DPdbItcq.js.map → core-DnlyjbF2.js.map} +1 -1
- 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 +37 -9
- package/dist/full.d.ts.map +1 -1
- package/dist/full.es.mjs +186 -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 +233 -138
- 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/mount-SM07RUa6.js +403 -0
- 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-B7JhGBc7.js → platform-CPbCprb6.js} +3 -3
- package/dist/platform-CPbCprb6.js.map +1 -0
- 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 +18 -17
- 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-jyJ2ryE2.js → sanitize-B1V4JswB.js} +95 -83
- package/dist/sanitize-B1V4JswB.js.map +1 -0
- package/dist/security/index.d.ts +2 -0
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/sanitize.d.ts +4 -1
- package/dist/security/sanitize.d.ts.map +1 -1
- package/dist/security/trusted-html.d.ts +53 -0
- package/dist/security/trusted-html.d.ts.map +1 -0
- package/dist/security.es.mjs +10 -9
- 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/define-store.d.ts +1 -1
- package/dist/store/define-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/mapping.d.ts +1 -1
- package/dist/store/mapping.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 +140 -3
- 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/watch.d.ts +1 -1
- package/dist/store/watch.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 +37 -0
- package/dist/storybook/index.d.ts.map +1 -0
- package/dist/storybook.es.mjs +151 -0
- package/dist/storybook.es.mjs.map +1 -0
- 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 +11 -10
- package/package.json +52 -11
- 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 +345 -65
- package/src/component/html.ts +153 -53
- package/src/component/index.ts +12 -2
- package/src/component/library.ts +66 -28
- package/src/component/scope.ts +212 -0
- package/src/component/types.ts +238 -19
- 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 +260 -3
- 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/transition.ts +97 -97
- package/src/motion/types.ts +63 -0
- package/src/motion/typewriter.ts +164 -0
- package/src/platform/announcer.ts +208 -208
- package/src/platform/config.ts +163 -163
- package/src/platform/cookies.ts +165 -165
- package/src/platform/index.ts +39 -39
- package/src/platform/meta.ts +168 -168
- package/src/plugin/index.ts +37 -0
- package/src/plugin/registry.ts +269 -0
- package/src/plugin/types.ts +137 -0
- package/src/reactive/async-data.ts +486 -486
- package/src/reactive/computed.ts +130 -92
- package/src/reactive/index.ts +37 -37
- package/src/reactive/signal.ts +29 -29
- 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/constants.ts +211 -211
- package/src/security/index.ts +12 -10
- package/src/security/sanitize.ts +6 -2
- package/src/security/trusted-html.ts +71 -0
- 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 +2 -1
- package/src/store/index.ts +27 -22
- package/src/store/mapping.ts +2 -1
- package/src/store/persisted.ts +249 -61
- package/src/store/types.ts +247 -94
- package/src/store/utils.ts +135 -141
- package/src/store/watch.ts +2 -1
- package/src/storybook/index.ts +480 -0
- 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-CY5MVoYN.js +0 -531
- package/dist/component-CY5MVoYN.js.map +0 -1
- package/dist/config-DRmZZno3.js.map +0 -1
- package/dist/core-CK2Mfpf4.js +0 -648
- package/dist/core-CK2Mfpf4.js.map +0 -1
- package/dist/motion-C5DRdPnO.js +0 -415
- package/dist/motion-C5DRdPnO.js.map +0 -1
- package/dist/platform-B7JhGBc7.js.map +0 -1
- package/dist/reactive-BDya-ia8.js +0 -253
- package/dist/reactive-BDya-ia8.js.map +0 -1
- package/dist/router-CijiICxt.js +0 -188
- package/dist/router-CijiICxt.js.map +0 -1
- package/dist/sanitize-jyJ2ryE2.js.map +0 -1
- package/dist/store-CPK9E62U.js +0 -262
- package/dist/store-CPK9E62U.js.map +0 -1
- package/dist/view-Cdi0g-qo.js +0 -396
- package/dist/view-Cdi0g-qo.js.map +0 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
declare const sanitizedHtmlBrand: unique symbol;
|
|
2
|
+
declare const trustedHtmlBrand: unique symbol;
|
|
3
|
+
/**
|
|
4
|
+
* Branded HTML string produced by bQuery's sanitization or escaping template helpers.
|
|
5
|
+
*
|
|
6
|
+
* Values returned from {@link sanitizeHtml} carry sanitized markup. Values returned from
|
|
7
|
+
* {@link safeHtml} preserve the template's static markup while escaping normal interpolations
|
|
8
|
+
* and splicing {@link trusted} fragments verbatim. This brand is not intended for arbitrary
|
|
9
|
+
* strings or manual concatenation outside those helpers.
|
|
10
|
+
*/
|
|
11
|
+
export type SanitizedHtml = string & {
|
|
12
|
+
readonly [sanitizedHtmlBrand]: true;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Marker object that safeHtml can splice into templates without escaping again.
|
|
16
|
+
*/
|
|
17
|
+
export type TrustedHtml = {
|
|
18
|
+
readonly [trustedHtmlBrand]: true;
|
|
19
|
+
toString(): string;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Apply the internal {@link SanitizedHtml} brand to helper output.
|
|
23
|
+
*
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
export declare const toSanitizedHtml: (html: string) => SanitizedHtml;
|
|
27
|
+
/**
|
|
28
|
+
* Mark a sanitized HTML string for verbatim splicing into safeHtml templates.
|
|
29
|
+
*
|
|
30
|
+
* @param html - HTML previously produced by sanitizeHtml, safeHtml, or another trusted bQuery helper
|
|
31
|
+
* @returns Trusted HTML marker object for safeHtml interpolations
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```ts
|
|
35
|
+
* const badge = trusted(sanitizeHtml('<strong onclick="alert(1)">New</strong>'));
|
|
36
|
+
* const markup = safeHtml`<span>${badge}</span>`;
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare const trusted: (html: SanitizedHtml) => TrustedHtml;
|
|
40
|
+
/**
|
|
41
|
+
* Check whether a value is a trusted HTML marker created by trusted().
|
|
42
|
+
*
|
|
43
|
+
* @internal
|
|
44
|
+
*/
|
|
45
|
+
export declare const isTrustedHtml: (value: unknown) => value is TrustedHtml;
|
|
46
|
+
/**
|
|
47
|
+
* Unwrap the raw HTML string stored inside a trusted HTML marker.
|
|
48
|
+
*
|
|
49
|
+
* @internal
|
|
50
|
+
*/
|
|
51
|
+
export declare const unwrapTrustedHtml: (value: TrustedHtml) => string;
|
|
52
|
+
export {};
|
|
53
|
+
//# sourceMappingURL=trusted-html.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trusted-html.d.ts","sourceRoot":"","sources":["../../src/security/trusted-html.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,kBAAkB,EAAE,OAAO,MAAM,CAAC;AAChD,QAAA,MAAM,gBAAgB,EAAE,OAAO,MAA4C,CAAC;AAG5E;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAE7E;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC;IAAC,QAAQ,IAAI,MAAM,CAAA;CAAE,CAAC;AAIpF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,aAAsC,CAAC;AAEtF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,OAAO,GAAI,MAAM,aAAa,KAAG,WAO7C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,WAOvD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,WAAW,KAAG,MAEtD,CAAC"}
|
package/dist/security.es.mjs
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { a as e, c as a, i as
|
|
1
|
+
import { a as e, c as t, d as a, i as r, n as i, o as p, r as o, s as c, t as d } from "./sanitize-B1V4JswB.js";
|
|
2
2
|
export {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
r as createTrustedHtml,
|
|
4
|
+
d as escapeHtml,
|
|
5
|
+
c as generateNonce,
|
|
6
6
|
e as getTrustedTypesPolicy,
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
t as hasCSPDirective,
|
|
8
|
+
p as isTrustedTypesSupported,
|
|
9
|
+
i as sanitize,
|
|
10
|
+
i as sanitizeHtml,
|
|
11
|
+
o as stripTags,
|
|
12
|
+
a as trusted
|
|
12
13
|
};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hydration support for server-rendered DOM.
|
|
3
|
+
*
|
|
4
|
+
* Enables the client-side view system to reuse existing server-rendered DOM
|
|
5
|
+
* elements instead of re-rendering them, by attaching reactive bindings
|
|
6
|
+
* to the pre-existing DOM structure.
|
|
7
|
+
*
|
|
8
|
+
* @module bquery/ssr
|
|
9
|
+
*/
|
|
10
|
+
import type { BindingContext, MountOptions, View } from '../view/types';
|
|
11
|
+
/**
|
|
12
|
+
* Extended mount options that include hydration mode.
|
|
13
|
+
*/
|
|
14
|
+
export type HydrateMountOptions = MountOptions & {
|
|
15
|
+
/**
|
|
16
|
+
* When present, must be `true` so the mount operation reuses existing DOM elements
|
|
17
|
+
* instead of re-rendering them. Reactive bindings (effects) are
|
|
18
|
+
* still attached so the DOM updates reactively from that point on.
|
|
19
|
+
*
|
|
20
|
+
* @default true
|
|
21
|
+
*/
|
|
22
|
+
hydrate?: true;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Mounts a reactive view with optional hydration support.
|
|
26
|
+
*
|
|
27
|
+
* When `hydrate: true` is set, the existing server-rendered DOM is preserved
|
|
28
|
+
* and reactive bindings are attached on top. The DOM is NOT re-rendered;
|
|
29
|
+
* instead, effects begin tracking signals so future changes update the DOM.
|
|
30
|
+
*
|
|
31
|
+
* This is the client-side counterpart to `renderToString()`. The typical flow:
|
|
32
|
+
* 1. Server: `renderToString(template, data)` → send HTML to client
|
|
33
|
+
* 2. Client: `hydrateMount('#app', reactiveContext, { hydrate: true })`
|
|
34
|
+
*
|
|
35
|
+
* Under the hood, `hydrateMount` simply delegates to the standard `mount()`
|
|
36
|
+
* function. The `mount()` function already processes existing DOM elements
|
|
37
|
+
* and attaches reactive effects to them — it does not clear/replace content.
|
|
38
|
+
* The `hydrate` flag is a semantic marker indicating developer intent and
|
|
39
|
+
* ensures the existing DOM structure is preserved.
|
|
40
|
+
*
|
|
41
|
+
* @param selector - CSS selector or Element to hydrate
|
|
42
|
+
* @param context - Binding context with signals, computed values, and functions
|
|
43
|
+
* @param options - Mount options with `hydrate: true`
|
|
44
|
+
* @returns The mounted View instance
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```ts
|
|
48
|
+
* import { hydrateMount } from '@bquery/bquery/ssr';
|
|
49
|
+
* import { signal, computed } from '@bquery/bquery/reactive';
|
|
50
|
+
*
|
|
51
|
+
* // Server rendered:
|
|
52
|
+
* // <div id="app"><h1>Welcome</h1><p>Hello, World!</p></div>
|
|
53
|
+
*
|
|
54
|
+
* // Client hydration — attaches reactivity to existing DOM:
|
|
55
|
+
* const name = signal('World');
|
|
56
|
+
* const greeting = computed(() => `Hello, ${name.value}!`);
|
|
57
|
+
*
|
|
58
|
+
* const view = hydrateMount('#app', { name, greeting }, { hydrate: true });
|
|
59
|
+
*
|
|
60
|
+
* // Now updating `name.value` will reactively update the DOM
|
|
61
|
+
* name.value = 'Alice'; // <p> updates to "Hello, Alice!"
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
export declare const hydrateMount: (selector: string | Element, context: BindingContext, options?: HydrateMountOptions) => View;
|
|
65
|
+
//# sourceMappingURL=hydrate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hydrate.d.ts","sourceRoot":"","sources":["../../src/ssr/hydrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGxE;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,YAAY,GAAG;IAC/C;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,YAAY,GACvB,UAAU,MAAM,GAAG,OAAO,EAC1B,SAAS,cAAc,EACvB,UAAS,mBAAwB,KAChC,IAUF,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSR / Pre-rendering module for bQuery.js.
|
|
3
|
+
*
|
|
4
|
+
* Provides server-side rendering, hydration, and store state serialization
|
|
5
|
+
* utilities for bQuery applications. Enables rendering bQuery templates
|
|
6
|
+
* to HTML strings on the server, serializing store state for client pickup,
|
|
7
|
+
* and hydrating the pre-rendered DOM on the client.
|
|
8
|
+
*
|
|
9
|
+
* ## Features
|
|
10
|
+
*
|
|
11
|
+
* - **`renderToString(template, data)`** — Server-side render a bQuery
|
|
12
|
+
* template to an `SSRResult` containing an `html` string with directive evaluation.
|
|
13
|
+
* - **`hydrateMount(selector, context, { hydrate: true })`** — Reuse
|
|
14
|
+
* existing server-rendered DOM and attach reactive bindings.
|
|
15
|
+
* - **`serializeStoreState(options?)`** — Serialize store state into a
|
|
16
|
+
* `<script>` tag for client-side pickup.
|
|
17
|
+
* - **`deserializeStoreState()`** — Read serialized state on the client.
|
|
18
|
+
* - **`hydrateStore(id, state)` / `hydrateStores(stateMap)`** — Apply
|
|
19
|
+
* server state to client stores.
|
|
20
|
+
*
|
|
21
|
+
* ## Usage
|
|
22
|
+
*
|
|
23
|
+
* ### Server
|
|
24
|
+
* ```ts
|
|
25
|
+
* import { renderToString, serializeStoreState } from '@bquery/bquery/ssr';
|
|
26
|
+
*
|
|
27
|
+
* const { html } = renderToString(
|
|
28
|
+
* '<div id="app"><h1 bq-text="title"></h1></div>',
|
|
29
|
+
* { title: 'Welcome' }
|
|
30
|
+
* );
|
|
31
|
+
*
|
|
32
|
+
* const { scriptTag } = serializeStoreState();
|
|
33
|
+
*
|
|
34
|
+
* // Send to client: html + scriptTag
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* ### Client
|
|
38
|
+
* ```ts
|
|
39
|
+
* import { hydrateMount, deserializeStoreState, hydrateStores } from '@bquery/bquery/ssr';
|
|
40
|
+
* import { signal } from '@bquery/bquery/reactive';
|
|
41
|
+
*
|
|
42
|
+
* // Restore store state from SSR
|
|
43
|
+
* const ssrState = deserializeStoreState();
|
|
44
|
+
* hydrateStores(ssrState);
|
|
45
|
+
*
|
|
46
|
+
* // Hydrate the DOM with reactive bindings
|
|
47
|
+
* const title = signal('Welcome');
|
|
48
|
+
* hydrateMount('#app', { title }, { hydrate: true });
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* @module bquery/ssr
|
|
52
|
+
*/
|
|
53
|
+
export { hydrateMount } from './hydrate';
|
|
54
|
+
export type { HydrateMountOptions } from './hydrate';
|
|
55
|
+
export { renderToString } from './render';
|
|
56
|
+
export { deserializeStoreState, hydrateStore, hydrateStores, serializeStoreState, } from './serialize';
|
|
57
|
+
export type { SerializeResult } from './serialize';
|
|
58
|
+
export type { DeserializedStoreState, HydrationOptions, RenderOptions, SSRResult, SerializeOptions, } from './types';
|
|
59
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ssr/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EACL,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EACV,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,gBAAgB,GACjB,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSR rendering utilities.
|
|
3
|
+
*
|
|
4
|
+
* Server-side renders bQuery templates to HTML strings by evaluating
|
|
5
|
+
* directive attributes against a plain data context. Uses a lightweight
|
|
6
|
+
* DOM implementation to process templates without a browser.
|
|
7
|
+
*
|
|
8
|
+
* @module bquery/ssr
|
|
9
|
+
*/
|
|
10
|
+
import type { BindingContext } from '../view/types';
|
|
11
|
+
import type { RenderOptions, SSRResult } from './types';
|
|
12
|
+
/**
|
|
13
|
+
* Server-side renders a bQuery template to an HTML string.
|
|
14
|
+
*
|
|
15
|
+
* Takes an HTML template with bQuery directives (bq-text, bq-if, bq-for, etc.)
|
|
16
|
+
* and a data context, then evaluates the directives to produce a static HTML string.
|
|
17
|
+
* This HTML can be sent to the client and later hydrated with `mount()` using
|
|
18
|
+
* `{ hydrate: true }`.
|
|
19
|
+
*
|
|
20
|
+
* Supported directives:
|
|
21
|
+
* - `bq-text` — Sets text content
|
|
22
|
+
* - `bq-html` — Sets innerHTML
|
|
23
|
+
* - `bq-if` — Conditional rendering (removes element if falsy)
|
|
24
|
+
* - `bq-show` — Toggle visibility via `display: none`
|
|
25
|
+
* - `bq-class` — Dynamic class binding (object or expression syntax)
|
|
26
|
+
* - `bq-style` — Dynamic inline styles
|
|
27
|
+
* - `bq-for` — List rendering
|
|
28
|
+
* - `bq-bind:attr` — Dynamic attribute binding
|
|
29
|
+
*
|
|
30
|
+
* @param template - HTML template string with bq-* directives
|
|
31
|
+
* @param data - Plain data object (signals will be unwrapped automatically)
|
|
32
|
+
* @param options - Rendering options
|
|
33
|
+
* @returns SSR result with HTML string and optional store state
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* import { renderToString } from '@bquery/bquery/ssr';
|
|
38
|
+
* import { signal } from '@bquery/bquery/reactive';
|
|
39
|
+
*
|
|
40
|
+
* const result = renderToString(
|
|
41
|
+
* '<div><h1 bq-text="title"></h1><p bq-if="showBody">Hello!</p></div>',
|
|
42
|
+
* { title: 'Welcome', showBody: true }
|
|
43
|
+
* );
|
|
44
|
+
*
|
|
45
|
+
* console.log(result.html);
|
|
46
|
+
* // '<div><h1>Welcome</h1><p>Hello!</p></div>'
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```ts
|
|
51
|
+
* // With bq-for list rendering
|
|
52
|
+
* const result = renderToString(
|
|
53
|
+
* '<ul><li bq-for="item in items" bq-text="item.name"></li></ul>',
|
|
54
|
+
* { items: [{ name: 'Alice' }, { name: 'Bob' }] }
|
|
55
|
+
* );
|
|
56
|
+
*
|
|
57
|
+
* console.log(result.html);
|
|
58
|
+
* // '<ul><li>Alice</li><li>Bob</li></ul>'
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
export declare const renderToString: (template: string, data: BindingContext, options?: RenderOptions) => SSRResult;
|
|
62
|
+
//# sourceMappingURL=render.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/ssr/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AA2YxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,eAAO,MAAM,cAAc,GACzB,UAAU,MAAM,EAChB,MAAM,cAAc,EACpB,UAAS,aAAkB,KAC1B,SA6CF,CAAC"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Store state serialization for SSR.
|
|
3
|
+
*
|
|
4
|
+
* Provides utilities to serialize store state into a `<script>` tag
|
|
5
|
+
* for client-side hydration, and to deserialize state on the client.
|
|
6
|
+
*
|
|
7
|
+
* @module bquery/ssr
|
|
8
|
+
*/
|
|
9
|
+
import type { DeserializedStoreState, SerializeOptions } from './types';
|
|
10
|
+
/**
|
|
11
|
+
* Result of store state serialization.
|
|
12
|
+
*/
|
|
13
|
+
export type SerializeResult = {
|
|
14
|
+
/** JSON string of the state map */
|
|
15
|
+
stateJson: string;
|
|
16
|
+
/** Complete `<script>` tag ready to embed in HTML */
|
|
17
|
+
scriptTag: string;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Serializes the state of registered stores into a JSON string and
|
|
21
|
+
* a `<script>` tag suitable for embedding in server-rendered HTML.
|
|
22
|
+
*
|
|
23
|
+
* The serialized state can be picked up on the client using
|
|
24
|
+
* `deserializeStoreState()` to restore stores to their server-side values.
|
|
25
|
+
*
|
|
26
|
+
* @param options - Serialization options
|
|
27
|
+
* @returns Object with JSON string and ready-to-use script tag
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```ts
|
|
31
|
+
* import { serializeStoreState } from '@bquery/bquery/ssr';
|
|
32
|
+
* import { createStore } from '@bquery/bquery/store';
|
|
33
|
+
*
|
|
34
|
+
* const store = createStore({
|
|
35
|
+
* id: 'counter',
|
|
36
|
+
* state: () => ({ count: 42 }),
|
|
37
|
+
* });
|
|
38
|
+
*
|
|
39
|
+
* const { scriptTag } = serializeStoreState();
|
|
40
|
+
* // '<script id="__BQUERY_STORE_STATE__">window.__BQUERY_INITIAL_STATE__={"counter":{"count":42}}</script>'
|
|
41
|
+
* ```
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```ts
|
|
45
|
+
* // Serialize only specific stores
|
|
46
|
+
* const { scriptTag } = serializeStoreState({ storeIds: ['counter'] });
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export declare const serializeStoreState: (options?: SerializeOptions) => SerializeResult;
|
|
50
|
+
/**
|
|
51
|
+
* Deserializes store state from the global variable set by the SSR script tag.
|
|
52
|
+
*
|
|
53
|
+
* Call this on the client before creating stores to pre-populate them with
|
|
54
|
+
* server-rendered state. After deserialization, the script tag and global
|
|
55
|
+
* variable are cleaned up automatically.
|
|
56
|
+
*
|
|
57
|
+
* @param globalKey - The global variable name where state was serialized
|
|
58
|
+
* @param scriptId - The ID of the SSR script tag to remove after hydration
|
|
59
|
+
* @returns The deserialized state map, or an empty object if not found
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```ts
|
|
63
|
+
* import { deserializeStoreState } from '@bquery/bquery/ssr';
|
|
64
|
+
*
|
|
65
|
+
* // Call before creating stores
|
|
66
|
+
* const state = deserializeStoreState();
|
|
67
|
+
* // state = { counter: { count: 42 } }
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
export declare const deserializeStoreState: (globalKey?: string, scriptId?: string) => DeserializedStoreState;
|
|
71
|
+
/**
|
|
72
|
+
* Hydrates a store with pre-serialized state from SSR.
|
|
73
|
+
*
|
|
74
|
+
* If the store exists and has a `$patch` method, this applies the
|
|
75
|
+
* deserialized state as a patch. Otherwise, the state is ignored.
|
|
76
|
+
*
|
|
77
|
+
* @param storeId - The store ID to hydrate
|
|
78
|
+
* @param state - The plain state object to apply
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```ts
|
|
82
|
+
* import { hydrateStore, deserializeStoreState } from '@bquery/bquery/ssr';
|
|
83
|
+
* import { createStore } from '@bquery/bquery/store';
|
|
84
|
+
*
|
|
85
|
+
* // 1. Deserialize state from SSR script tag
|
|
86
|
+
* const ssrState = deserializeStoreState();
|
|
87
|
+
*
|
|
88
|
+
* // 2. Create store (gets initial values from factory)
|
|
89
|
+
* const store = createStore({
|
|
90
|
+
* id: 'counter',
|
|
91
|
+
* state: () => ({ count: 0 }),
|
|
92
|
+
* });
|
|
93
|
+
*
|
|
94
|
+
* // 3. Apply SSR state
|
|
95
|
+
* if (ssrState.counter) {
|
|
96
|
+
* hydrateStore('counter', ssrState.counter);
|
|
97
|
+
* }
|
|
98
|
+
* // store.count is now 42 (from SSR)
|
|
99
|
+
* ```
|
|
100
|
+
*/
|
|
101
|
+
export declare const hydrateStore: (storeId: string, state: Record<string, unknown>) => void;
|
|
102
|
+
/**
|
|
103
|
+
* Hydrates all stores at once from a deserialized state map.
|
|
104
|
+
*
|
|
105
|
+
* Convenience wrapper that calls `hydrateStore` for each entry in the state map.
|
|
106
|
+
*
|
|
107
|
+
* @param stateMap - Map of store IDs to their state objects
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```ts
|
|
111
|
+
* import { hydrateStores, deserializeStoreState } from '@bquery/bquery/ssr';
|
|
112
|
+
*
|
|
113
|
+
* const ssrState = deserializeStoreState();
|
|
114
|
+
* hydrateStores(ssrState);
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
export declare const hydrateStores: (stateMap: DeserializedStoreState) => void;
|
|
118
|
+
//# sourceMappingURL=serialize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/ssr/serialize.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAcxE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AA6BF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,mBAAmB,GAAI,UAAS,gBAAqB,KAAG,eA4DpE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,qBAAqB,GAChC,kBAAsC,EACtC,iBAAmC,KAClC,sBA2DF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,IAM9E,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,GAAI,UAAU,sBAAsB,KAAG,IAIhE,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { HydrateMountOptions } from './hydrate';
|
|
2
|
+
/**
|
|
3
|
+
* Public types for the SSR / Pre-rendering module.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Options for server-side rendering a template to an HTML string.
|
|
7
|
+
*/
|
|
8
|
+
export type RenderOptions = {
|
|
9
|
+
/**
|
|
10
|
+
* Prefix for directive attributes.
|
|
11
|
+
* @default 'bq'
|
|
12
|
+
*/
|
|
13
|
+
prefix?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Whether to strip directive attributes from the output HTML.
|
|
16
|
+
* When `true`, attributes like `bq-text`, `bq-if`, etc. are removed
|
|
17
|
+
* from the rendered output for cleaner HTML.
|
|
18
|
+
* @default false
|
|
19
|
+
*/
|
|
20
|
+
stripDirectives?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Whether to include a serialized store state `<script>` tag in the output.
|
|
23
|
+
* When `true`, all registered store states are serialized and appended.
|
|
24
|
+
* You can also pass an array of store IDs to serialize only specific stores.
|
|
25
|
+
* @default false
|
|
26
|
+
*/
|
|
27
|
+
includeStoreState?: boolean | string[];
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Result of a `renderToString` call.
|
|
31
|
+
*/
|
|
32
|
+
export type SSRResult = {
|
|
33
|
+
/** The rendered HTML string */
|
|
34
|
+
html: string;
|
|
35
|
+
/**
|
|
36
|
+
* Serialized store state string, typically the `<script>` tag payload
|
|
37
|
+
* produced when `includeStoreState` is enabled.
|
|
38
|
+
*/
|
|
39
|
+
storeState?: string;
|
|
40
|
+
};
|
|
41
|
+
/** @deprecated Use `HydrateMountOptions` instead. */
|
|
42
|
+
export type HydrationOptions = HydrateMountOptions;
|
|
43
|
+
/**
|
|
44
|
+
* Options for serializing store state.
|
|
45
|
+
*/
|
|
46
|
+
export type SerializeOptions = {
|
|
47
|
+
/**
|
|
48
|
+
* The ID attribute for the generated `<script>` tag.
|
|
49
|
+
* @default '__BQUERY_STORE_STATE__'
|
|
50
|
+
*/
|
|
51
|
+
scriptId?: string;
|
|
52
|
+
/**
|
|
53
|
+
* The global variable name where state will be assigned.
|
|
54
|
+
* @default '__BQUERY_INITIAL_STATE__'
|
|
55
|
+
*/
|
|
56
|
+
globalKey?: string;
|
|
57
|
+
/**
|
|
58
|
+
* Store IDs to serialize. If omitted, all registered stores are serialized.
|
|
59
|
+
*/
|
|
60
|
+
storeIds?: string[];
|
|
61
|
+
/**
|
|
62
|
+
* Custom serializer function. Defaults to `JSON.stringify`.
|
|
63
|
+
*/
|
|
64
|
+
serialize?: (data: unknown) => string;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Deserialized store state map: store ID → plain state object.
|
|
68
|
+
*/
|
|
69
|
+
export type DeserializedStoreState = Record<string, Record<string, unknown>>;
|
|
70
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ssr/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAErD;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;CACxC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,qDAAqD;AACrD,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,MAAM,CAAC;CACvC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC"}
|