defuss 2.1.11 → 3.2.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/dist/component-registry-CPBzgkm2.cjs +20 -0
- package/dist/component-registry-rwX6GHzq.mjs +15 -0
- package/dist/dom--qQgTXnx.mjs +2603 -0
- package/dist/dom-0JFHc2kn.cjs +2810 -0
- package/dist/dom-4vhaViIf.mjs +2801 -0
- package/dist/dom-5V9JcMrR.mjs +2695 -0
- package/dist/dom-B0lpSx0p.mjs +2604 -0
- package/dist/dom-B0mZwIcb.cjs +2859 -0
- package/dist/dom-B4MQngSF.cjs +2782 -0
- package/dist/dom-B58Ij3VD.cjs +2907 -0
- package/dist/dom-B5zbx-3T.mjs +2810 -0
- package/dist/dom-B6fFOlKv.cjs +2898 -0
- package/dist/dom-B7UqtWqL.cjs +2814 -0
- package/dist/dom-BDL4winW.cjs +2892 -0
- package/dist/dom-BHi3SKvU.mjs +2595 -0
- package/dist/dom-BMSWQp9d.cjs +2899 -0
- package/dist/dom-BOjwen4W.cjs +2894 -0
- package/dist/dom-BSXG5cMV.mjs +2678 -0
- package/dist/dom-BUUPuzZG.cjs +2681 -0
- package/dist/dom-BW8oGJV-.cjs +2890 -0
- package/dist/dom-B_g5muLk.mjs +2798 -0
- package/dist/dom-Ba8Rmsy6.mjs +2557 -0
- package/dist/dom-BaaPAgsv.mjs +2569 -0
- package/dist/dom-Bb17xYzx.mjs +2599 -0
- package/dist/dom-BcW3GkDu.cjs +2897 -0
- package/dist/dom-BfqchTxj.mjs +2696 -0
- package/dist/dom-Bg0Eqh-g.cjs +2718 -0
- package/dist/dom-Bi5Eowqw.cjs +2728 -0
- package/dist/dom-BjFpmoeW.mjs +2818 -0
- package/dist/dom-BjwVMyGv.mjs +2644 -0
- package/dist/dom-Bjy_d0D1.mjs +2652 -0
- package/dist/dom-BkrsFnv4.mjs +2719 -0
- package/dist/dom-Bl9sFsMf.mjs +2797 -0
- package/dist/dom-BpugjT-d.cjs +2764 -0
- package/dist/dom-BzcdRPS7.cjs +2676 -0
- package/dist/dom-C1Dv_k31.cjs +2831 -0
- package/dist/dom-C2miKN96.cjs +2887 -0
- package/dist/dom-C3iIctYx.cjs +2602 -0
- package/dist/dom-C6c71RsI.cjs +2892 -0
- package/dist/dom-C6qPzZDU.mjs +2526 -0
- package/dist/dom-C91wPWgb.mjs +2587 -0
- package/dist/dom-CEEtTZJb.cjs +2891 -0
- package/dist/dom-CG8ZC5zA.cjs +2645 -0
- package/dist/dom-CHfN0q0-.cjs +2805 -0
- package/dist/dom-CLpZk5Ok.cjs +2890 -0
- package/dist/dom-CMwQ9pmp.cjs +2767 -0
- package/dist/dom-COTHhb5r.mjs +2634 -0
- package/dist/dom-CRRoa52F.mjs +2805 -0
- package/dist/dom-CUHgK6d1.mjs +2807 -0
- package/dist/dom-CfCTjzif.mjs +2803 -0
- package/dist/dom-Cg17fK2D.mjs +2490 -0
- package/dist/dom-CjffEyZp.mjs +2809 -0
- package/dist/dom-Cn7eypGU.cjs +2898 -0
- package/dist/dom-CoBIe6TZ.mjs +2685 -0
- package/dist/dom-Cr99biSm.mjs +2795 -0
- package/dist/dom-CuPnZIwb.mjs +2803 -0
- package/dist/dom-CyaFGBis.cjs +2897 -0
- package/dist/dom-CzDaYcdd.cjs +2896 -0
- package/dist/dom-D-M2CWHK.cjs +2805 -0
- package/dist/dom-D00lHhSQ.cjs +2887 -0
- package/dist/dom-DA76MFiR.mjs +2808 -0
- package/dist/dom-DCxc_aGE.mjs +2634 -0
- package/dist/dom-DDB7B6E0.mjs +2801 -0
- package/dist/dom-DDtrH45u.cjs +2673 -0
- package/dist/dom-DKZZG5RP.mjs +2798 -0
- package/dist/dom-DOswyRty.mjs +2681 -0
- package/dist/dom-DQiJQigd.cjs +2890 -0
- package/dist/dom-DRUJMjpd.cjs +2736 -0
- package/dist/dom-DU3JvIZO.cjs +2886 -0
- package/dist/dom-DWDVSwjd.cjs +2566 -0
- package/dist/dom-D_3LE_Qi.mjs +2722 -0
- package/dist/dom-DbhNF_Km.cjs +2665 -0
- package/dist/dom-Deh17qfR.mjs +2795 -0
- package/dist/dom-DfIL_s0t.mjs +2634 -0
- package/dist/dom-DhzvIchP.cjs +2680 -0
- package/dist/dom-DjEOa9GM.mjs +2801 -0
- package/dist/dom-DqWHLuln.cjs +2763 -0
- package/dist/dom-Dw0cUaXk.cjs +2717 -0
- package/dist/dom-FaIf556X.mjs +2801 -0
- package/dist/dom-Kdtm5aoM.mjs +2798 -0
- package/dist/dom-O2cdv0jV.cjs +2887 -0
- package/dist/dom-YfFA0iKZ.mjs +2726 -0
- package/dist/dom-YpZtMxDS.cjs +2783 -0
- package/dist/dom-YuuCUzeb.mjs +2744 -0
- package/dist/dom-_naqXmaM.mjs +2677 -0
- package/dist/dom-iQGpbrON.cjs +2718 -0
- package/dist/dom-j57Lsb1X.cjs +2884 -0
- package/dist/dom-jKUS5flE.mjs +2771 -0
- package/dist/dom-khd7HASe.cjs +2771 -0
- package/dist/dom-lEWdDKb4.mjs +2718 -0
- package/dist/dom-mA0CVs3o.mjs +2809 -0
- package/dist/dom-mt5spBGS.cjs +2634 -0
- package/dist/dom-rjEgJGTC.cjs +2806 -0
- package/dist/dom-smXiaXEP.mjs +2718 -0
- package/dist/dom-wcIpcL6F.mjs +2807 -0
- package/dist/dom-xtwhQmkx.cjs +2884 -0
- package/dist/dom-xu1m78jm.mjs +2808 -0
- package/dist/index-B4BHyohJ.d.ts +1536 -0
- package/dist/index-BDnHS4Fq.d.ts +1425 -0
- package/dist/index-BENswTvz.d.ts +1505 -0
- package/dist/index-BFHuQ4xu.d.ts +1435 -0
- package/dist/index-BM5mxtvJ.d.ts +1543 -0
- package/dist/index-BOHKDFwH.d.ts +1435 -0
- package/dist/index-BRnR4FIe.d.ts +1436 -0
- package/dist/index-B_mKPzYo.d.ts +1578 -0
- package/dist/index-BctcSoO5.d.ts +1576 -0
- package/dist/index-BfvJsCS_.d.ts +1426 -0
- package/dist/index-BhNZrSrs.d.ts +1352 -0
- package/dist/index-Bi8j-_h_.d.cts +1488 -0
- package/dist/index-Bi8j-_h_.d.ts +1488 -0
- package/dist/index-BkobKBZk.d.ts +1430 -0
- package/dist/index-Bu2vwaJ2.d.ts +1352 -0
- package/dist/index-BvvZRMKD.d.ts +1569 -0
- package/dist/index-C1AAn__7.d.ts +1433 -0
- package/dist/index-C6Eg-vsd.d.ts +1424 -0
- package/dist/index-C6OhaPcR.d.ts +1433 -0
- package/dist/index-CCeP2S3d.d.ts +1434 -0
- package/dist/index-CEIsFrMM.d.ts +1542 -0
- package/dist/index-CFDpKGh7.d.ts +1428 -0
- package/dist/index-CFrYY_Mt.d.ts +1436 -0
- package/dist/index-CGDnSWTS.d.ts +1527 -0
- package/dist/index-CKwxYOvH.d.ts +1437 -0
- package/dist/index-CLBqO3Y7.d.ts +1544 -0
- package/dist/index-CRsLiENw.d.ts +1436 -0
- package/dist/index-CTjaPtOu.d.ts +1544 -0
- package/dist/index-CWP_xArI.d.ts +1433 -0
- package/dist/index-CZunST0r.d.ts +1436 -0
- package/dist/index-CeqDyZsK.d.ts +1436 -0
- package/dist/index-CiDj5eUV.d.ts +1576 -0
- package/dist/index-CidSP07o.d.ts +1361 -0
- package/dist/index-Cj_9DtdX.d.ts +1436 -0
- package/dist/index-Cm1e5jei.d.ts +1436 -0
- package/dist/index-CnQ2vhtJ.d.ts +1563 -0
- package/dist/index-CpkEL1jH.d.ts +1569 -0
- package/dist/index-Cq5d1Zz3.d.ts +1437 -0
- package/dist/index-CuCNTbJn.d.ts +1503 -0
- package/dist/index-CxFq13gU.d.ts +1352 -0
- package/dist/index-D5dNz_3e.d.ts +1571 -0
- package/dist/index-D5yYZNhb.d.ts +1428 -0
- package/dist/index-D64A9cbc.d.ts +1428 -0
- package/dist/index-DE8BSmm3.d.ts +1575 -0
- package/dist/index-DG6bq7_g.d.ts +1436 -0
- package/dist/index-DHy5_GN-.d.ts +1437 -0
- package/dist/index-DTegsEZx.d.ts +1435 -0
- package/dist/index-DXx9mqPm.d.ts +1352 -0
- package/dist/index-DbOTogCX.d.ts +1435 -0
- package/dist/index-DfXUO0lq.d.ts +1352 -0
- package/dist/index-DirmTpEb.d.ts +1352 -0
- package/dist/index-DnUO13Ql.d.ts +1365 -0
- package/dist/index-DqFnifuO.d.ts +1576 -0
- package/dist/index-DsAkAm0h.d.ts +1429 -0
- package/dist/index-DsDkGdbl.d.ts +1352 -0
- package/dist/index-DugBnSpg.d.ts +1439 -0
- package/dist/index-DyF8SurV.d.ts +1437 -0
- package/dist/index-VAwbjQuD.d.ts +1436 -0
- package/dist/index-VRdwaTq1.d.ts +1544 -0
- package/dist/index-WJDLtNz6.d.ts +1437 -0
- package/dist/index-XHQiCZJu.d.ts +1344 -0
- package/dist/index-YGI08ZC3.d.ts +1435 -0
- package/dist/index-YlvmjCMz.d.ts +1574 -0
- package/dist/index-_R_iWuBk.d.ts +1435 -0
- package/dist/index-bKRdI8Js.d.ts +1544 -0
- package/dist/index-sdb3nXP9.d.ts +1436 -0
- package/dist/index-u8kUqFhR.d.ts +1442 -0
- package/dist/index-uCL6lDoN.d.ts +1365 -0
- package/dist/index-wMtGrbTW.d.ts +1435 -0
- package/dist/index-wmq1KsvF.d.ts +1523 -0
- package/dist/index.cjs +298 -92
- package/dist/index.d.cts +6 -5
- package/dist/index.d.ts +198 -35
- package/dist/index.mjs +277 -94
- package/dist/mount--bdP_py-.cjs +27 -0
- package/dist/mount-5mGNlNE0.cjs +29 -0
- package/dist/mount-9aJ90VEy.cjs +29 -0
- package/dist/mount-B-nSxYMI.cjs +29 -0
- package/dist/mount-B1ZGm6Vx.mjs +26 -0
- package/dist/mount-B268CIyG.mjs +26 -0
- package/dist/mount-B7ZORKUE.mjs +26 -0
- package/dist/mount-BDMCcckP.mjs +26 -0
- package/dist/mount-BFwjtKGf.mjs +23 -0
- package/dist/mount-BIX7Q5ve.cjs +29 -0
- package/dist/mount-BIjY0oQo.cjs +29 -0
- package/dist/mount-BJ2d7Snl.cjs +29 -0
- package/dist/mount-BJUfLVrn.cjs +27 -0
- package/dist/mount-BL3IoYf-.cjs +29 -0
- package/dist/mount-BLgGRFKO.mjs +26 -0
- package/dist/mount-BPdF-23b.mjs +26 -0
- package/dist/mount-BREA5x3R.mjs +26 -0
- package/dist/mount-BSj7I235.cjs +29 -0
- package/dist/mount-BSqj-PWe.cjs +26 -0
- package/dist/mount-B_MohJp1.mjs +24 -0
- package/dist/mount-BhJaAQYc.cjs +29 -0
- package/dist/mount-BmhdXDtN.mjs +26 -0
- package/dist/mount-Bn8gK_5W.mjs +26 -0
- package/dist/mount-BnITFgq_.mjs +26 -0
- package/dist/mount-BoeMXBAs.cjs +29 -0
- package/dist/mount-BsWXMcQo.mjs +26 -0
- package/dist/mount-BvArK3iG.cjs +26 -0
- package/dist/mount-Bw7-xmEB.mjs +24 -0
- package/dist/mount-BwNr0Cw7.cjs +29 -0
- package/dist/mount-C1WHPtGU.mjs +26 -0
- package/dist/mount-C6Wj_FWd.cjs +29 -0
- package/dist/mount-C7-zVnHp.mjs +26 -0
- package/dist/mount-C99AnUyn.mjs +24 -0
- package/dist/mount-CC8_T-gT.cjs +29 -0
- package/dist/mount-CE1mUC04.cjs +27 -0
- package/dist/mount-CGOXBqpC.cjs +29 -0
- package/dist/mount-CJGmuyD_.cjs +29 -0
- package/dist/mount-COdfKsz3.mjs +26 -0
- package/dist/mount-CTXA2JwJ.cjs +29 -0
- package/dist/mount-CVcZv8p4.mjs +24 -0
- package/dist/mount-CY2jiisH.cjs +27 -0
- package/dist/mount-C_THF3G-.mjs +26 -0
- package/dist/mount-CgYRpExe.mjs +24 -0
- package/dist/mount-CiSuPb2d.cjs +29 -0
- package/dist/mount-CjvdhG7D.mjs +24 -0
- package/dist/mount-Ck4Sw7qu.cjs +29 -0
- package/dist/mount-CkBH-ziv.mjs +26 -0
- package/dist/mount-Cl5bq4AK.mjs +26 -0
- package/dist/mount-CnRlxDvH.cjs +26 -0
- package/dist/mount-Cnhy4x8j.cjs +29 -0
- package/dist/mount-CofCsKEL.cjs +27 -0
- package/dist/mount-CuZ9kuJ_.cjs +29 -0
- package/dist/mount-Cz18Dqhg.cjs +29 -0
- package/dist/mount-CzoPJJ3U.cjs +29 -0
- package/dist/mount-D-08N9KC.mjs +26 -0
- package/dist/mount-D-RpVmv-.cjs +27 -0
- package/dist/mount-D0wRLhsJ.mjs +23 -0
- package/dist/mount-DBHsNvGL.mjs +24 -0
- package/dist/mount-DE_6OU5O.cjs +27 -0
- package/dist/mount-DFrJC1Ee.mjs +26 -0
- package/dist/mount-DRpQI95j.mjs +26 -0
- package/dist/mount-DaS_nGtr.cjs +26 -0
- package/dist/mount-DbFi8R0Q.mjs +26 -0
- package/dist/mount-DeqZS1eY.mjs +26 -0
- package/dist/mount-DetJmqRg.mjs +26 -0
- package/dist/mount-DhMUtUgA.cjs +29 -0
- package/dist/mount-DlsFpu0l.mjs +26 -0
- package/dist/mount-DmThSQhX.mjs +26 -0
- package/dist/mount-DpCAhV34.cjs +29 -0
- package/dist/mount-DqMUI3Li.cjs +29 -0
- package/dist/mount-DrvT4c9H.mjs +23 -0
- package/dist/mount-DyrgmigG.mjs +26 -0
- package/dist/mount-E-PFWZoH.cjs +29 -0
- package/dist/mount-EbSuNkcp.cjs +29 -0
- package/dist/mount-FGWwjyl3.mjs +23 -0
- package/dist/mount-NvaShFIJ.mjs +24 -0
- package/dist/mount-OwEsrEgH.mjs +26 -0
- package/dist/mount-OzbDDNzG.cjs +29 -0
- package/dist/mount-TA9rAjfX.mjs +26 -0
- package/dist/mount-Ta6JNwOd.cjs +29 -0
- package/dist/mount-WayWo_Wo.cjs +29 -0
- package/dist/mount-cbdw4Rn8.mjs +26 -0
- package/dist/mount-euC2wM_H.mjs +26 -0
- package/dist/mount-gY0N84Yl.cjs +29 -0
- package/dist/mount-j5GGTHgL.mjs +26 -0
- package/dist/mount-lrm6DtLS.cjs +29 -0
- package/dist/mount-mI6oAeYn.mjs +26 -0
- package/dist/mount-qXpzCgOn.cjs +27 -0
- package/dist/mount-s4KN8Ng-.mjs +26 -0
- package/dist/mount-wMBAOpuQ.mjs +26 -0
- package/dist/mount-yB4RTAZ9.cjs +29 -0
- package/dist/mount-zEZORNEX.mjs +26 -0
- package/dist/mount-zk9YB0XU.cjs +29 -0
- package/dist/render/client.cjs +28 -11
- package/dist/render/client.d.ts +4 -4
- package/dist/render/client.mjs +13 -13
- package/dist/render/dev/index.cjs +4 -1
- package/dist/render/dev/index.d.ts +2 -3
- package/dist/render/dev/index.mjs +1 -1
- package/dist/render/index.cjs +20 -1
- package/dist/render/index.d.cts +76 -1
- package/dist/render/index.d.ts +88 -3
- package/dist/render/index.mjs +2 -1
- package/dist/render/server.cjs +19 -1
- package/dist/render/server.d.ts +4 -4
- package/dist/render/server.mjs +3 -2
- package/package.json +19 -11
package/dist/index.cjs
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var dom = require('./dom-
|
|
3
|
+
var dom = require('./dom-B58Ij3VD.cjs');
|
|
4
|
+
var mount = require('./mount-WayWo_Wo.cjs');
|
|
4
5
|
require('defuss-runtime');
|
|
5
6
|
|
|
6
|
-
const inDevMode =
|
|
7
|
+
const inDevMode = typeof process !== "undefined" && process.env ? process.env.NODE_ENV !== "production" : false;
|
|
7
8
|
|
|
8
9
|
const VARIABLE_REGEX = /{([^}]*)}/g;
|
|
9
10
|
const DOUBLE_BRACE_REGEX = /\{\{([^}]*)\}\}/g;
|
|
@@ -32,7 +33,7 @@ const createI18n = () => {
|
|
|
32
33
|
get language() {
|
|
33
34
|
return language;
|
|
34
35
|
},
|
|
35
|
-
changeLanguage(newLanguage) {
|
|
36
|
+
changeLanguage: (newLanguage) => {
|
|
36
37
|
if (newLanguage !== language) {
|
|
37
38
|
language = newLanguage;
|
|
38
39
|
onLanguageChangeCallbacks.forEach((callback) => {
|
|
@@ -43,7 +44,7 @@ const createI18n = () => {
|
|
|
43
44
|
// example usage of the t function with placeholders:
|
|
44
45
|
// const translatedString = t('greeting', { name: 'John', age: '30' }, 'common');
|
|
45
46
|
// this would replace placeholders {name} and {age} in the translation string with 'John' and '30' respectively.
|
|
46
|
-
t(path, replacements = {}) {
|
|
47
|
+
t: (path, replacements = {}) => {
|
|
47
48
|
const languageData = translationsStore.get(language);
|
|
48
49
|
if (!languageData) {
|
|
49
50
|
return path;
|
|
@@ -68,7 +69,7 @@ const createI18n = () => {
|
|
|
68
69
|
}
|
|
69
70
|
return interpolate(template, replacements);
|
|
70
71
|
},
|
|
71
|
-
loadLanguage(newLanguage, namespaceTranslations) {
|
|
72
|
+
loadLanguage: (newLanguage, namespaceTranslations) => {
|
|
72
73
|
translationsStore.set(newLanguage, {
|
|
73
74
|
...translationsStore.get(newLanguage),
|
|
74
75
|
...namespaceTranslations
|
|
@@ -94,12 +95,12 @@ if (!globalThis.__defuss_i18n) {
|
|
|
94
95
|
globalThis.__defuss_i18n = createI18n();
|
|
95
96
|
}
|
|
96
97
|
const i18n = globalThis.__defuss_i18n;
|
|
97
|
-
const t = i18n.t
|
|
98
|
-
const changeLanguage = i18n.changeLanguage
|
|
99
|
-
const loadLanguage = i18n.loadLanguage
|
|
98
|
+
const t = i18n.t;
|
|
99
|
+
const changeLanguage = i18n.changeLanguage;
|
|
100
|
+
const loadLanguage = i18n.loadLanguage;
|
|
100
101
|
const getLanguage = () => i18n.language;
|
|
101
102
|
|
|
102
|
-
const
|
|
103
|
+
const createTrans = (i18n) => ({
|
|
103
104
|
key,
|
|
104
105
|
values,
|
|
105
106
|
tag,
|
|
@@ -138,25 +139,92 @@ const Trans = ({
|
|
|
138
139
|
onUnmount
|
|
139
140
|
},
|
|
140
141
|
// initially render
|
|
141
|
-
children: i18n.t(key, values)
|
|
142
|
+
children: [i18n.t(key, values)]
|
|
142
143
|
};
|
|
143
144
|
};
|
|
145
|
+
const Trans = createTrans(i18n);
|
|
144
146
|
const T = Trans;
|
|
145
147
|
|
|
146
148
|
const tokenizePath = (path) => {
|
|
147
|
-
const paramNameRegexp = /:([
|
|
149
|
+
const paramNameRegexp = /:([a-zA-Z0-9_]+)|\*/g;
|
|
148
150
|
const groups = {};
|
|
149
151
|
let groupIndex = 1;
|
|
150
|
-
const
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
152
|
+
const escapeRegex = (str) => str.replace(/[.+?^${}()|[\]\\]/g, "\\$&");
|
|
153
|
+
let pattern = "";
|
|
154
|
+
let lastIndex = 0;
|
|
155
|
+
let match;
|
|
156
|
+
while ((match = paramNameRegexp.exec(path)) !== null) {
|
|
157
|
+
const [fullMatch, paramName] = match;
|
|
158
|
+
const offset = match.index;
|
|
159
|
+
pattern += escapeRegex(path.slice(lastIndex, offset));
|
|
160
|
+
if (fullMatch === "*") {
|
|
161
|
+
groups["wildcard"] = groupIndex++;
|
|
162
|
+
pattern += "(.*)";
|
|
163
|
+
} else {
|
|
164
|
+
groups[paramName] = groupIndex++;
|
|
165
|
+
pattern += "([^/]+)";
|
|
166
|
+
}
|
|
167
|
+
lastIndex = offset + fullMatch.length;
|
|
168
|
+
}
|
|
169
|
+
pattern += escapeRegex(path.slice(lastIndex));
|
|
170
|
+
if (pattern.endsWith("/")) {
|
|
171
|
+
pattern = pattern.slice(0, -1) + "/?";
|
|
172
|
+
} else if (pattern !== "") {
|
|
173
|
+
pattern += "/?";
|
|
174
|
+
}
|
|
154
175
|
return {
|
|
155
176
|
groups,
|
|
156
177
|
regexp: new RegExp(`^${pattern}$`)
|
|
157
178
|
};
|
|
158
179
|
};
|
|
159
|
-
const
|
|
180
|
+
const parseParams = (str) => {
|
|
181
|
+
const params = {};
|
|
182
|
+
if (!str) return params;
|
|
183
|
+
const cleanStr = str.startsWith("?") || str.startsWith("#") ? str.slice(1) : str;
|
|
184
|
+
if (!cleanStr) return params;
|
|
185
|
+
const searchParams = new URLSearchParams(cleanStr);
|
|
186
|
+
for (const [key, value] of searchParams.entries()) {
|
|
187
|
+
params[key] = value;
|
|
188
|
+
}
|
|
189
|
+
return params;
|
|
190
|
+
};
|
|
191
|
+
const buildRouteRequest = (windowImpl, pathname, matched, matchedRoute, params = {}) => {
|
|
192
|
+
let protocol = "";
|
|
193
|
+
let domain = "";
|
|
194
|
+
let port = "";
|
|
195
|
+
let baseUrl = "";
|
|
196
|
+
let url = pathname;
|
|
197
|
+
let queryParams = {};
|
|
198
|
+
let hashParams = {};
|
|
199
|
+
if (windowImpl) {
|
|
200
|
+
const loc = windowImpl.location;
|
|
201
|
+
protocol = loc.protocol.replace(":", "");
|
|
202
|
+
domain = loc.hostname;
|
|
203
|
+
port = loc.port;
|
|
204
|
+
baseUrl = `${loc.protocol}//${loc.hostname}`;
|
|
205
|
+
if (loc.port) {
|
|
206
|
+
baseUrl += `:${loc.port}`;
|
|
207
|
+
}
|
|
208
|
+
url = loc.href;
|
|
209
|
+
queryParams = parseParams(loc.search);
|
|
210
|
+
hashParams = parseParams(loc.hash);
|
|
211
|
+
}
|
|
212
|
+
return {
|
|
213
|
+
match: matched,
|
|
214
|
+
matchedRoute,
|
|
215
|
+
protocol,
|
|
216
|
+
domain,
|
|
217
|
+
port,
|
|
218
|
+
baseUrl,
|
|
219
|
+
path: pathname,
|
|
220
|
+
url,
|
|
221
|
+
params,
|
|
222
|
+
queryParams,
|
|
223
|
+
hashParams
|
|
224
|
+
};
|
|
225
|
+
};
|
|
226
|
+
const matchRouteRegistrations = (routeRegistrations, actualPathName, haystackPathName, opts = {}, windowImpl) => {
|
|
227
|
+
const invokeHandler = opts.invokeHandler ?? true;
|
|
160
228
|
for (const route of routeRegistrations) {
|
|
161
229
|
if (haystackPathName && route.path !== haystackPathName) {
|
|
162
230
|
continue;
|
|
@@ -164,37 +232,60 @@ const matchRouteRegistrations = (routeRegistrations, actualPathName, haystackPat
|
|
|
164
232
|
if (route.exact && route.path !== actualPathName) {
|
|
165
233
|
continue;
|
|
166
234
|
}
|
|
167
|
-
const
|
|
168
|
-
if (!
|
|
235
|
+
const regexMatch = route.tokenizedPath.regexp.exec(actualPathName);
|
|
236
|
+
if (!regexMatch) {
|
|
237
|
+
continue;
|
|
238
|
+
}
|
|
169
239
|
const params = {};
|
|
170
240
|
for (const [paramName, groupIndex] of Object.entries(
|
|
171
241
|
route.tokenizedPath.groups
|
|
172
242
|
)) {
|
|
173
|
-
params[paramName] =
|
|
243
|
+
params[paramName] = regexMatch[groupIndex];
|
|
174
244
|
}
|
|
175
|
-
const request =
|
|
176
|
-
|
|
245
|
+
const request = buildRouteRequest(
|
|
246
|
+
windowImpl,
|
|
247
|
+
actualPathName,
|
|
248
|
+
true,
|
|
249
|
+
route.path,
|
|
250
|
+
params
|
|
251
|
+
);
|
|
252
|
+
if (invokeHandler && typeof route.handler === "function") {
|
|
177
253
|
route.handler(request);
|
|
178
254
|
}
|
|
179
255
|
return request;
|
|
180
256
|
}
|
|
181
|
-
return false;
|
|
257
|
+
return buildRouteRequest(windowImpl, actualPathName, false, null);
|
|
182
258
|
};
|
|
183
259
|
const setupRouter = (config = {
|
|
184
260
|
strategy: "page-refresh"
|
|
185
261
|
// default
|
|
186
262
|
}, windowImpl) => {
|
|
187
|
-
const
|
|
188
|
-
|
|
263
|
+
const state = globalThis.__defuss_router_state__ ?? {
|
|
264
|
+
routeRegistrations: [],
|
|
265
|
+
currentRequest: null,
|
|
266
|
+
isReady: false,
|
|
267
|
+
pendingResolvers: [],
|
|
268
|
+
currentPath: "",
|
|
269
|
+
popAttached: false
|
|
270
|
+
};
|
|
271
|
+
const routeRegistrations = state.routeRegistrations;
|
|
189
272
|
if (typeof window !== "undefined" && !windowImpl) {
|
|
190
273
|
windowImpl = globalThis.__defuss_window || window;
|
|
191
274
|
}
|
|
192
|
-
if (!windowImpl && !dom.isServer()) {
|
|
193
|
-
console.warn("Router requires a Window API implementation!");
|
|
194
|
-
}
|
|
195
275
|
if (windowImpl) {
|
|
196
|
-
currentPath = windowImpl.document.location.pathname;
|
|
276
|
+
state.currentPath = windowImpl.document.location.pathname;
|
|
197
277
|
}
|
|
278
|
+
const resolveFromLocation = (invokeHandler) => {
|
|
279
|
+
const pathname = windowImpl?.document.location.pathname ?? "/";
|
|
280
|
+
state.currentRequest = matchRouteRegistrations(
|
|
281
|
+
routeRegistrations,
|
|
282
|
+
pathname,
|
|
283
|
+
void 0,
|
|
284
|
+
{ invokeHandler },
|
|
285
|
+
windowImpl
|
|
286
|
+
);
|
|
287
|
+
return state.currentRequest;
|
|
288
|
+
};
|
|
198
289
|
const api = {
|
|
199
290
|
...config,
|
|
200
291
|
listeners: [],
|
|
@@ -215,22 +306,49 @@ const setupRouter = (config = {
|
|
|
215
306
|
return api;
|
|
216
307
|
},
|
|
217
308
|
match(path) {
|
|
218
|
-
|
|
309
|
+
const pathname = windowImpl?.document.location.pathname ?? "/";
|
|
310
|
+
const req = matchRouteRegistrations(
|
|
311
|
+
routeRegistrations,
|
|
312
|
+
pathname,
|
|
313
|
+
path,
|
|
314
|
+
{ invokeHandler: false },
|
|
315
|
+
windowImpl
|
|
316
|
+
);
|
|
317
|
+
return req;
|
|
318
|
+
},
|
|
319
|
+
resolve(pathname) {
|
|
320
|
+
const actualPathname = pathname ?? windowImpl?.document.location.pathname ?? "/";
|
|
321
|
+
state.currentRequest = matchRouteRegistrations(
|
|
219
322
|
routeRegistrations,
|
|
220
|
-
|
|
221
|
-
|
|
323
|
+
actualPathname,
|
|
324
|
+
void 0,
|
|
325
|
+
{ invokeHandler: false },
|
|
326
|
+
windowImpl
|
|
222
327
|
);
|
|
328
|
+
return state.currentRequest;
|
|
329
|
+
},
|
|
330
|
+
getRequest() {
|
|
331
|
+
if (state.currentRequest) return state.currentRequest;
|
|
332
|
+
return resolveFromLocation(false);
|
|
223
333
|
},
|
|
224
334
|
navigate(newPath) {
|
|
225
335
|
const strategy = api.strategy || "page-refresh";
|
|
226
|
-
const oldPath = currentPath;
|
|
336
|
+
const oldPath = state.currentPath;
|
|
227
337
|
if (strategy === "page-refresh") {
|
|
228
|
-
|
|
338
|
+
windowImpl.location.href = newPath;
|
|
229
339
|
} else if (strategy === "slot-refresh") {
|
|
340
|
+
const pathname = newPath.split("?")[0].split("#")[0];
|
|
230
341
|
if (typeof windowImpl !== "undefined") {
|
|
231
342
|
windowImpl.history.pushState({}, "", newPath);
|
|
232
343
|
}
|
|
233
|
-
currentPath =
|
|
344
|
+
state.currentPath = pathname;
|
|
345
|
+
state.currentRequest = matchRouteRegistrations(
|
|
346
|
+
routeRegistrations,
|
|
347
|
+
pathname,
|
|
348
|
+
void 0,
|
|
349
|
+
{ invokeHandler: false },
|
|
350
|
+
windowImpl
|
|
351
|
+
);
|
|
234
352
|
queueMicrotask(() => {
|
|
235
353
|
for (const listener of api.listeners) {
|
|
236
354
|
listener(newPath, oldPath);
|
|
@@ -244,19 +362,39 @@ const setupRouter = (config = {
|
|
|
244
362
|
destroy() {
|
|
245
363
|
if (windowImpl && api.strategy === "slot-refresh") {
|
|
246
364
|
windowImpl.removeEventListener("popstate", handlePopState);
|
|
365
|
+
state.popAttached = false;
|
|
247
366
|
}
|
|
248
367
|
},
|
|
249
368
|
attachPopStateHandler() {
|
|
250
|
-
if (windowImpl && api.strategy === "slot-refresh") {
|
|
369
|
+
if (windowImpl && api.strategy === "slot-refresh" && !state.popAttached) {
|
|
251
370
|
windowImpl.addEventListener("popstate", handlePopState);
|
|
371
|
+
state.popAttached = true;
|
|
372
|
+
}
|
|
373
|
+
},
|
|
374
|
+
ready() {
|
|
375
|
+
if (state.isReady) {
|
|
376
|
+
return Promise.resolve();
|
|
377
|
+
}
|
|
378
|
+
return new Promise((resolve) => {
|
|
379
|
+
state.pendingResolvers.push(resolve);
|
|
380
|
+
});
|
|
381
|
+
},
|
|
382
|
+
setReady() {
|
|
383
|
+
if (state.isReady) return;
|
|
384
|
+
state.isReady = true;
|
|
385
|
+
resolveFromLocation(false);
|
|
386
|
+
for (const resolve of state.pendingResolvers) {
|
|
387
|
+
resolve();
|
|
252
388
|
}
|
|
389
|
+
state.pendingResolvers = [];
|
|
253
390
|
}
|
|
254
391
|
};
|
|
255
392
|
const handlePopState = (event) => {
|
|
256
393
|
if (api.strategy === "slot-refresh" && windowImpl) {
|
|
257
394
|
const newPath = windowImpl.document.location.pathname;
|
|
258
|
-
const oldPath = currentPath;
|
|
259
|
-
currentPath = newPath;
|
|
395
|
+
const oldPath = state.currentPath;
|
|
396
|
+
state.currentPath = newPath;
|
|
397
|
+
resolveFromLocation(false);
|
|
260
398
|
queueMicrotask(() => {
|
|
261
399
|
for (const listener of api.listeners) {
|
|
262
400
|
listener(newPath, oldPath);
|
|
@@ -269,7 +407,21 @@ const setupRouter = (config = {
|
|
|
269
407
|
}
|
|
270
408
|
return api;
|
|
271
409
|
};
|
|
272
|
-
const
|
|
410
|
+
const ROUTER_GLOBAL_KEY = "__defuss_router__";
|
|
411
|
+
const ROUTER_STATE_KEY = "__defuss_router_state__";
|
|
412
|
+
if (!globalThis[ROUTER_STATE_KEY]) {
|
|
413
|
+
globalThis[ROUTER_STATE_KEY] = {
|
|
414
|
+
routeRegistrations: [],
|
|
415
|
+
currentRequest: null,
|
|
416
|
+
isReady: false,
|
|
417
|
+
pendingResolvers: [],
|
|
418
|
+
currentPath: "",
|
|
419
|
+
popAttached: false
|
|
420
|
+
};
|
|
421
|
+
}
|
|
422
|
+
const getRouterState = () => globalThis[ROUTER_STATE_KEY];
|
|
423
|
+
const existingRouter = globalThis[ROUTER_GLOBAL_KEY];
|
|
424
|
+
const Router = existingRouter ?? (globalThis[ROUTER_GLOBAL_KEY] = setupRouter());
|
|
273
425
|
|
|
274
426
|
const Route = ({
|
|
275
427
|
path,
|
|
@@ -281,7 +433,9 @@ const Route = ({
|
|
|
281
433
|
path,
|
|
282
434
|
exact: exact || false
|
|
283
435
|
});
|
|
284
|
-
|
|
436
|
+
const req = router.match(path);
|
|
437
|
+
if (!req.match) return null;
|
|
438
|
+
return Array.isArray(children) ? children[0] : children || null;
|
|
285
439
|
};
|
|
286
440
|
|
|
287
441
|
const Redirect = ({
|
|
@@ -299,10 +453,12 @@ const Redirect = ({
|
|
|
299
453
|
};
|
|
300
454
|
|
|
301
455
|
const RouterSlotId = "router-slot";
|
|
456
|
+
const ROUTER_SLOT_GUARD = Symbol.for("defuss.RouterSlot.guard");
|
|
302
457
|
const RouterSlot = ({
|
|
303
458
|
router = Router,
|
|
304
459
|
children,
|
|
305
460
|
RouterOutlet,
|
|
461
|
+
id,
|
|
306
462
|
transitionConfig = {
|
|
307
463
|
type: "fade",
|
|
308
464
|
duration: 25,
|
|
@@ -312,22 +468,37 @@ const RouterSlot = ({
|
|
|
312
468
|
}) => {
|
|
313
469
|
const { tag, ...attributesWithoutTag } = attributes;
|
|
314
470
|
const ref = dom.createRef();
|
|
471
|
+
const slotId = id ?? RouterSlotId;
|
|
315
472
|
router.strategy = "slot-refresh";
|
|
316
473
|
router.attachPopStateHandler();
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
474
|
+
const r = router;
|
|
475
|
+
if (!r[ROUTER_SLOT_GUARD]) {
|
|
476
|
+
r[ROUTER_SLOT_GUARD] = true;
|
|
477
|
+
let lastPath = window.location.pathname;
|
|
478
|
+
router.onRouteChange(async () => {
|
|
479
|
+
const currentPath = router.getRequest().path;
|
|
480
|
+
const isSamePath = currentPath === lastPath;
|
|
481
|
+
lastPath = currentPath;
|
|
482
|
+
await dom.$(ref).update(
|
|
483
|
+
typeof RouterOutlet === "function" ? RouterOutlet() : [],
|
|
484
|
+
isSamePath ? void 0 : transitionConfig
|
|
485
|
+
);
|
|
486
|
+
});
|
|
487
|
+
}
|
|
488
|
+
if (document.getElementById(slotId)) {
|
|
321
489
|
console.warn(
|
|
322
|
-
`It seems there's more than one <RouterSlot /> components defined as an element with id #${
|
|
490
|
+
`It seems there's more than one <RouterSlot /> components defined as an element with id #${slotId} already exists in the DOM.`
|
|
323
491
|
);
|
|
324
492
|
}
|
|
493
|
+
queueMicrotask(() => {
|
|
494
|
+
router.setReady();
|
|
495
|
+
});
|
|
325
496
|
return {
|
|
326
|
-
children: RouterOutlet() || [],
|
|
497
|
+
children: [RouterOutlet() || []].flat(),
|
|
327
498
|
type: attributes.tag || "div",
|
|
328
499
|
attributes: {
|
|
329
500
|
...attributesWithoutTag,
|
|
330
|
-
id:
|
|
501
|
+
id: slotId,
|
|
331
502
|
ref
|
|
332
503
|
}
|
|
333
504
|
};
|
|
@@ -346,72 +517,77 @@ const Async = ({
|
|
|
346
517
|
onError
|
|
347
518
|
}) => {
|
|
348
519
|
let childrenToRender = children;
|
|
520
|
+
let updateToken = 0;
|
|
349
521
|
const containerRef = dom.createRef(
|
|
350
522
|
function onSuspenseUpdate(state) {
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
}
|
|
359
|
-
return;
|
|
523
|
+
const currentToken = ++updateToken;
|
|
524
|
+
if (!containerRef.current) {
|
|
525
|
+
if (inDevMode) {
|
|
526
|
+
console.warn(
|
|
527
|
+
"Suspense container is not mounted yet, but a state update demands a render. State is:",
|
|
528
|
+
state
|
|
529
|
+
);
|
|
360
530
|
}
|
|
361
|
-
|
|
362
|
-
|
|
531
|
+
return;
|
|
532
|
+
}
|
|
533
|
+
void (async () => {
|
|
534
|
+
await dom.$(containerRef.current).removeClass(loadingClassName || "suspense-loading").removeClass(loadedClassName || "suspense-loaded").removeClass(errorClassName || "suspense-error");
|
|
535
|
+
if (currentToken !== updateToken) return;
|
|
536
|
+
if (!children || state === "error") {
|
|
537
|
+
await dom.$(containerRef.current).addClass(
|
|
538
|
+
errorClassName || "suspense-error"
|
|
539
|
+
);
|
|
540
|
+
if (currentToken !== updateToken) return;
|
|
541
|
+
await dom.$(containerRef).jsx({
|
|
542
|
+
type: "div",
|
|
543
|
+
children: ["Loading error!"]
|
|
544
|
+
});
|
|
545
|
+
} else if (state === "loading") {
|
|
546
|
+
await dom.$(containerRef.current).addClass(
|
|
363
547
|
loadingClassName || "suspense-loading"
|
|
364
548
|
);
|
|
365
|
-
|
|
549
|
+
if (currentToken !== updateToken) return;
|
|
550
|
+
if (containerRef.current && containerRef.current.childNodes.length === 0) {
|
|
551
|
+
if (fallback) {
|
|
552
|
+
await dom.$(containerRef).jsx(fallback);
|
|
553
|
+
} else {
|
|
554
|
+
await dom.$(containerRef.current).empty();
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
} else if (state === "loaded") {
|
|
558
|
+
await dom.$(containerRef.current).addClass(
|
|
366
559
|
loadedClassName || "suspense-loaded"
|
|
367
560
|
);
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
errorClassName || "suspense-error"
|
|
374
|
-
);
|
|
375
|
-
await dom.$(containerRef).jsx({
|
|
376
|
-
type: "div",
|
|
377
|
-
children: ["Loading error!"]
|
|
378
|
-
});
|
|
379
|
-
} else if (state === "loading") {
|
|
380
|
-
await dom.$(containerRef.current).addClass(
|
|
381
|
-
loadingClassName || "suspense-loading"
|
|
382
|
-
);
|
|
383
|
-
await dom.$(containerRef).jsx(fallback);
|
|
384
|
-
} else if (state === "loaded") {
|
|
385
|
-
await dom.$(containerRef.current).addClass(
|
|
386
|
-
loadedClassName || "suspense-loaded"
|
|
387
|
-
);
|
|
388
|
-
console.log("[Async render] start");
|
|
389
|
-
await dom.$(containerRef).jsx(childrenToRender);
|
|
390
|
-
console.log("[Async render] finished");
|
|
391
|
-
}
|
|
392
|
-
})();
|
|
393
|
-
} catch (error) {
|
|
394
|
-
containerRef.update("error");
|
|
561
|
+
if (currentToken !== updateToken) return;
|
|
562
|
+
await dom.$(containerRef).jsx(childrenToRender);
|
|
563
|
+
}
|
|
564
|
+
})().catch((error) => {
|
|
565
|
+
containerRef.updateState("error");
|
|
395
566
|
containerRef.error = error;
|
|
396
567
|
if (typeof onError === "function") {
|
|
397
568
|
onError(error);
|
|
398
569
|
}
|
|
399
|
-
}
|
|
570
|
+
});
|
|
400
571
|
},
|
|
401
572
|
"loading"
|
|
402
573
|
);
|
|
403
574
|
if (dom.isRef(ref)) {
|
|
404
575
|
let isInitial = true;
|
|
576
|
+
const outerUpdateState = ref.updateState.bind(ref);
|
|
405
577
|
ref.updateState = (state) => {
|
|
578
|
+
outerUpdateState(state);
|
|
406
579
|
if (!isInitial) {
|
|
407
580
|
containerRef.updateState(state);
|
|
408
581
|
}
|
|
409
582
|
};
|
|
410
|
-
|
|
583
|
+
outerUpdateState("loading");
|
|
411
584
|
isInitial = false;
|
|
412
585
|
}
|
|
413
586
|
const promisedChildren = (Array.isArray(children) ? children : children ? [children] : []).map((vnode) => {
|
|
414
587
|
try {
|
|
588
|
+
if (vnode instanceof Promise) {
|
|
589
|
+
return vnode;
|
|
590
|
+
}
|
|
415
591
|
if (!vnode || vnode && !vnode.type) {
|
|
416
592
|
return Promise.resolve("");
|
|
417
593
|
}
|
|
@@ -429,20 +605,21 @@ const Async = ({
|
|
|
429
605
|
if (typeof onError === "function") {
|
|
430
606
|
onError(error);
|
|
431
607
|
}
|
|
608
|
+
return null;
|
|
432
609
|
}
|
|
433
610
|
});
|
|
434
611
|
const onMount = () => {
|
|
435
612
|
if (promisedChildren.length) {
|
|
436
613
|
containerRef.updateState("loading");
|
|
437
614
|
Promise.all(promisedChildren).then((awaitedVnodes) => {
|
|
438
|
-
childrenToRender = awaitedVnodes.flatMap(
|
|
615
|
+
childrenToRender = awaitedVnodes.filter((vnode) => vnode != null).flatMap(
|
|
439
616
|
(vnode) => vnode?.type === "Fragment" ? vnode.children : vnode
|
|
440
617
|
);
|
|
441
618
|
containerRef.updateState("loaded");
|
|
442
619
|
}).catch((error) => {
|
|
443
620
|
containerRef.updateState("error");
|
|
444
621
|
containerRef.error = error;
|
|
445
|
-
{
|
|
622
|
+
if (inDevMode) {
|
|
446
623
|
console.error("SuspenseLoadingError", error);
|
|
447
624
|
}
|
|
448
625
|
(async () => {
|
|
@@ -456,15 +633,22 @@ const Async = ({
|
|
|
456
633
|
};
|
|
457
634
|
return {
|
|
458
635
|
type: "div",
|
|
459
|
-
attributes: {
|
|
636
|
+
attributes: {
|
|
637
|
+
id,
|
|
638
|
+
class: _class,
|
|
639
|
+
className,
|
|
640
|
+
ref: containerRef,
|
|
641
|
+
onMount,
|
|
642
|
+
"data-defuss-keep": true
|
|
643
|
+
// Prevent sync DOM overwrite during updates
|
|
644
|
+
},
|
|
460
645
|
children: fallback ? [fallback] : []
|
|
461
646
|
};
|
|
462
647
|
};
|
|
463
648
|
const Suspense = Async;
|
|
464
649
|
|
|
465
|
-
console.log(`defuss v${"2.1.11"}`);
|
|
466
|
-
|
|
467
650
|
exports.$ = dom.$;
|
|
651
|
+
exports.CAPTURE_ONLY_EVENTS = dom.CAPTURE_ONLY_EVENTS;
|
|
468
652
|
exports.CLASS_ATTRIBUTE_NAME = dom.CLASS_ATTRIBUTE_NAME;
|
|
469
653
|
exports.Call = dom.Call;
|
|
470
654
|
exports.CallChainImpl = dom.CallChainImpl;
|
|
@@ -480,6 +664,8 @@ exports.addNonChainedReturnCallNames = dom.addNonChainedReturnCallNames;
|
|
|
480
664
|
exports.applyStyles = dom.applyStyles;
|
|
481
665
|
exports.areDomNodesEqual = dom.areDomNodesEqual;
|
|
482
666
|
exports.checkElementVisibility = dom.checkElementVisibility;
|
|
667
|
+
exports.clearDelegatedEvents = dom.clearDelegatedEvents;
|
|
668
|
+
exports.clearDelegatedEventsDeep = dom.clearDelegatedEventsDeep;
|
|
483
669
|
exports.clearElementEvents = dom.clearElementEvents;
|
|
484
670
|
exports.createCall = dom.createCall;
|
|
485
671
|
exports.createGetterSetterCall = dom.createGetterSetterCall;
|
|
@@ -487,20 +673,26 @@ exports.createInPlaceErrorMessageVNode = dom.createInPlaceErrorMessageVNode;
|
|
|
487
673
|
exports.createRef = dom.createRef;
|
|
488
674
|
exports.createStore = dom.createStore;
|
|
489
675
|
exports.createSubChain = dom.createSubChain;
|
|
676
|
+
exports.createSyncCall = dom.createSyncCall;
|
|
677
|
+
exports.deepEquals = dom.deepEquals;
|
|
490
678
|
exports.delayedAutoStart = dom.delayedAutoStart;
|
|
491
679
|
exports.dequery = dom.dequery;
|
|
492
680
|
exports.domNodeToVNode = dom.domNodeToVNode;
|
|
493
681
|
exports.emptyImpl = dom.emptyImpl;
|
|
494
682
|
exports.getAllFormValues = dom.getAllFormValues;
|
|
683
|
+
exports.getComponentInstance = dom.getComponentInstance;
|
|
495
684
|
exports.getDefaultDequeryOptions = dom.getDefaultDequeryOptions;
|
|
496
685
|
exports.getEventMap = dom.getEventMap;
|
|
497
686
|
exports.getMimeType = dom.getMimeType;
|
|
498
687
|
exports.getNonChainedReturnCallNames = dom.getNonChainedReturnCallNames;
|
|
688
|
+
exports.getRegisteredEventKeys = dom.getRegisteredEventKeys;
|
|
689
|
+
exports.getRegisteredEventTypes = dom.getRegisteredEventTypes;
|
|
499
690
|
exports.getRenderer = dom.getRenderer;
|
|
500
691
|
exports.getTransitionStyles = dom.getTransitionStyles;
|
|
501
692
|
exports.globalScopeDomApis = dom.globalScopeDomApis;
|
|
502
693
|
exports.handleLifecycleEventsForOnMount = dom.handleLifecycleEventsForOnMount;
|
|
503
694
|
exports.htmlStringToVNodes = dom.htmlStringToVNodes;
|
|
695
|
+
exports.isComponentRoot = dom.isComponentRoot;
|
|
504
696
|
exports.isDequery = dom.isDequery;
|
|
505
697
|
exports.isDequeryOptionsObject = dom.isDequeryOptionsObject;
|
|
506
698
|
exports.isHTML = dom.isHTML;
|
|
@@ -513,12 +705,20 @@ exports.jsx = dom.jsx;
|
|
|
513
705
|
exports.jsxDEV = dom.jsxDEV;
|
|
514
706
|
exports.jsxs = dom.jsxs;
|
|
515
707
|
exports.mapArrayIndexAccess = dom.mapArrayIndexAccess;
|
|
708
|
+
exports.nsMap = dom.nsMap;
|
|
516
709
|
exports.observeUnmount = dom.observeUnmount;
|
|
517
710
|
exports.parseDOM = dom.parseDOM;
|
|
711
|
+
exports.parseEventPropName = dom.parseEventPropName;
|
|
518
712
|
exports.performTransition = dom.performTransition;
|
|
519
713
|
exports.processAllFormElements = dom.processAllFormElements;
|
|
520
714
|
exports.queueCallback = dom.queueCallback;
|
|
715
|
+
exports.registerComponent = dom.registerComponent;
|
|
716
|
+
exports.registerDelegatedEvent = dom.registerDelegatedEvent;
|
|
717
|
+
exports.removeDelegatedEvent = dom.removeDelegatedEvent;
|
|
718
|
+
exports.removeDelegatedEventByKey = dom.removeDelegatedEventByKey;
|
|
521
719
|
exports.removeElementEvent = dom.removeElementEvent;
|
|
720
|
+
exports.render = dom.render;
|
|
721
|
+
exports.renderInto = dom.renderInto;
|
|
522
722
|
exports.renderIsomorphicAsync = dom.renderIsomorphicAsync;
|
|
523
723
|
exports.renderIsomorphicSync = dom.renderIsomorphicSync;
|
|
524
724
|
exports.renderMarkup = dom.renderMarkup;
|
|
@@ -527,12 +727,16 @@ exports.replaceDomWithVdom = dom.replaceDomWithVdom;
|
|
|
527
727
|
exports.resolveNodes = dom.resolveNodes;
|
|
528
728
|
exports.runWithTimeGuard = dom.runWithTimeGuard;
|
|
529
729
|
exports.scrollHelper = dom.scrollHelper;
|
|
730
|
+
exports.shallowEquals = dom.shallowEquals;
|
|
530
731
|
exports.subChainForNextAwait = dom.subChainForNextAwait;
|
|
531
732
|
exports.traverse = dom.traverse;
|
|
733
|
+
exports.unregisterComponent = dom.unregisterComponent;
|
|
532
734
|
exports.updateDom = dom.updateDom;
|
|
533
735
|
exports.updateDomWithVdom = dom.updateDomWithVdom;
|
|
534
736
|
exports.waitForDOM = dom.waitForDOM;
|
|
535
737
|
exports.webstorage = dom.webstorage;
|
|
738
|
+
exports.mount = mount.mount;
|
|
739
|
+
exports.unmount = mount.unmount;
|
|
536
740
|
exports.Async = Async;
|
|
537
741
|
exports.Redirect = Redirect;
|
|
538
742
|
exports.Route = Route;
|
|
@@ -544,7 +748,9 @@ exports.T = T;
|
|
|
544
748
|
exports.Trans = Trans;
|
|
545
749
|
exports.changeLanguage = changeLanguage;
|
|
546
750
|
exports.createI18n = createI18n;
|
|
751
|
+
exports.createTrans = createTrans;
|
|
547
752
|
exports.getLanguage = getLanguage;
|
|
753
|
+
exports.getRouterState = getRouterState;
|
|
548
754
|
exports.i18n = i18n;
|
|
549
755
|
exports.inDevMode = inDevMode;
|
|
550
756
|
exports.loadLanguage = loadLanguage;
|