@semcore/core 16.6.0 → 16.6.1
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/lib/core-types/Component.d.ts +79 -33
- package/lib/core-types/Component.js +46 -14
- package/lib/core-types/Component.js.map +1 -1
- package/lib/core-types/Component.mjs +7 -11
- package/lib/core-types/Component.mjs.map +1 -1
- package/lib/core-types/symbols.mjs +9 -9
- package/lib/coreFactory.d.ts +23 -6
- package/lib/coreFactory.js +22 -53
- package/lib/coreFactory.js.map +1 -1
- package/lib/coreFactory.mjs +35 -54
- package/lib/coreFactory.mjs.map +1 -1
- package/lib/enhancement/Children.mjs +1 -1
- package/lib/enhancement/bindHandler.d.ts +5 -0
- package/lib/enhancement/bindHandler.js +53 -0
- package/lib/enhancement/bindHandler.js.map +1 -0
- package/lib/enhancement/bindHandler.mjs +48 -0
- package/lib/enhancement/bindHandler.mjs.map +1 -0
- package/lib/enhancement/hoistProps.d.ts +10 -0
- package/lib/enhancement/hoistProps.js +95 -0
- package/lib/enhancement/hoistProps.js.map +1 -0
- package/lib/enhancement/hoistProps.mjs +78 -0
- package/lib/enhancement/hoistProps.mjs.map +1 -0
- package/lib/enhancement/staticChildren.mjs +3 -3
- package/lib/enhancement/style.mjs +2 -2
- package/lib/esm/core-types/Component.mjs +7 -11
- package/lib/esm/core-types/symbols.mjs +9 -9
- package/lib/esm/coreFactory.mjs +35 -54
- package/lib/esm/enhancement/Children.mjs +1 -1
- package/lib/esm/enhancement/bindHandler.mjs +48 -0
- package/lib/esm/enhancement/hoistProps.mjs +78 -0
- package/lib/esm/enhancement/staticChildren.mjs +3 -3
- package/lib/esm/enhancement/style.mjs +2 -2
- package/lib/esm/styled/sstyled.mjs +1 -1
- package/lib/esm/utils/createHoc.mjs +42 -0
- package/lib/esm/utils/enhances/WithI18n.mjs +46 -1
- package/lib/esm/utils/getDisplayName.mjs +6 -0
- package/lib/esm/utils/ref.mjs +14 -0
- package/lib/index.d.ts +3 -3
- package/lib/index.js.map +1 -1
- package/lib/index.mjs.map +1 -1
- package/lib/styled/index.d.ts +5 -1
- package/lib/styled/index.js.map +1 -1
- package/lib/styled/index.mjs.map +1 -1
- package/lib/styled/sstyled.mjs +1 -1
- package/lib/utils/ScreenReaderOnly.d.ts +8 -0
- package/lib/utils/ScreenReaderOnly.js +30 -0
- package/lib/utils/ScreenReaderOnly.js.map +1 -0
- package/lib/utils/ScreenReaderOnly.mjs +24 -0
- package/lib/utils/ScreenReaderOnly.mjs.map +1 -0
- package/lib/utils/createHoc.d.ts +3 -0
- package/lib/utils/createHoc.js +52 -0
- package/lib/utils/createHoc.js.map +1 -0
- package/lib/utils/createHoc.mjs +42 -0
- package/lib/utils/createHoc.mjs.map +1 -0
- package/lib/utils/enhances/WithAutoFocus.d.ts +14 -0
- package/lib/utils/enhances/WithAutoFocus.js +72 -0
- package/lib/utils/enhances/WithAutoFocus.js.map +1 -0
- package/lib/utils/enhances/WithAutoFocus.mjs +66 -0
- package/lib/utils/enhances/WithAutoFocus.mjs.map +1 -0
- package/lib/utils/enhances/WithCSS.d.ts +30 -2
- package/lib/utils/enhances/WithCSS.js +57 -4
- package/lib/utils/enhances/WithCSS.js.map +1 -1
- package/lib/utils/enhances/WithCSS.mjs +53 -2
- package/lib/utils/enhances/WithCSS.mjs.map +1 -1
- package/lib/utils/enhances/WithI18n.d.ts +30 -1
- package/lib/utils/enhances/WithI18n.js +57 -1
- package/lib/utils/enhances/WithI18n.js.map +1 -1
- package/lib/utils/enhances/WithI18n.mjs +46 -1
- package/lib/utils/enhances/WithI18n.mjs.map +1 -1
- package/lib/utils/enhances/WithKeyboardFocus.d.ts +46 -0
- package/lib/utils/enhances/WithKeyboardFocus.js +94 -0
- package/lib/utils/enhances/WithKeyboardFocus.js.map +1 -0
- package/lib/utils/enhances/WithKeyboardFocus.mjs +88 -0
- package/lib/utils/enhances/WithKeyboardFocus.mjs.map +1 -0
- package/lib/utils/enhances/WithRef.d.ts +3 -0
- package/lib/utils/enhances/WithRef.js +25 -0
- package/lib/utils/enhances/WithRef.js.map +1 -0
- package/lib/utils/enhances/WithRef.mjs +18 -0
- package/lib/utils/enhances/WithRef.mjs.map +1 -0
- package/lib/utils/enhances/animatedSizeEnhance.d.ts +4 -0
- package/lib/utils/enhances/animatedSizeEnhance.js +2 -0
- package/lib/utils/enhances/animatedSizeEnhance.js.map +1 -1
- package/lib/utils/enhances/animatedSizeEnhance.mjs +3 -0
- package/lib/utils/enhances/animatedSizeEnhance.mjs.map +1 -1
- package/lib/utils/enhances/autoFocusEnhance.d.ts +10 -0
- package/lib/utils/enhances/autoFocusEnhance.js +45 -0
- package/lib/utils/enhances/autoFocusEnhance.js.map +1 -0
- package/lib/utils/enhances/autoFocusEnhance.mjs +38 -0
- package/lib/utils/enhances/autoFocusEnhance.mjs.map +1 -0
- package/lib/utils/enhances/i18nEnhance.d.ts +4 -0
- package/lib/utils/enhances/i18nEnhance.js +2 -0
- package/lib/utils/enhances/i18nEnhance.js.map +1 -1
- package/lib/utils/enhances/i18nEnhance.mjs.map +1 -1
- package/lib/utils/enhances/keyboardFocusEnhance.d.ts +27 -0
- package/lib/utils/enhances/keyboardFocusEnhance.js +63 -0
- package/lib/utils/enhances/keyboardFocusEnhance.js.map +1 -0
- package/lib/utils/enhances/keyboardFocusEnhance.mjs +57 -0
- package/lib/utils/enhances/keyboardFocusEnhance.mjs.map +1 -0
- package/lib/utils/eventEmitter.d.ts +6 -10
- package/lib/utils/eventEmitter.js +27 -55
- package/lib/utils/eventEmitter.js.map +1 -1
- package/lib/utils/eventEmitter.mjs +27 -55
- package/lib/utils/eventEmitter.mjs.map +1 -1
- package/lib/utils/getDisplayName.mjs +5 -3
- package/lib/utils/if.d.ts +11 -0
- package/lib/utils/if.js +15 -0
- package/lib/utils/if.js.map +1 -0
- package/lib/utils/if.mjs +9 -0
- package/lib/utils/if.mjs.map +1 -0
- package/lib/utils/injectStyle.js +1 -1
- package/lib/utils/injectStyle.mjs +1 -1
- package/lib/utils/ref.d.ts +3 -1
- package/lib/utils/ref.js +14 -0
- package/lib/utils/ref.js.map +1 -1
- package/lib/utils/ref.mjs +14 -0
- package/lib/utils/ref.mjs.map +1 -1
- package/lib/utils/uniqueID.d.ts +4 -0
- package/lib/utils/uniqueID.js +3 -1
- package/lib/utils/uniqueID.js.map +1 -1
- package/lib/utils/uniqueID.mjs +4 -1
- package/lib/utils/uniqueID.mjs.map +1 -1
- package/lib/utils/use/useColorResolver.js +1 -1
- package/lib/utils/use/useColorResolver.js.map +1 -1
- package/lib/utils/use/useColorResolver.mjs +1 -1
- package/lib/utils/use/useColorResolver.mjs.map +1 -1
- package/lib/utils/use/useCss.d.ts +4 -0
- package/lib/utils/use/useCss.js +19 -0
- package/lib/utils/use/useCss.js.map +1 -0
- package/lib/utils/use/useCss.mjs +12 -0
- package/lib/utils/use/useCss.mjs.map +1 -0
- package/lib/utils/use/useEnhancedEffect.d.ts +1 -1
- package/lib/utils/zIndexStacking.d.ts +1 -3
- package/lib/utils/zIndexStacking.js.map +1 -1
- package/lib/utils/zIndexStacking.mjs.map +1 -1
- package/package.json +1 -1
- package/lib/decorators/propsObserver.d.ts +0 -11
- package/lib/decorators/propsObserver.js +0 -77
- package/lib/decorators/propsObserver.js.map +0 -1
- package/lib/decorators/propsObserver.mjs +0 -70
- package/lib/decorators/propsObserver.mjs.map +0 -1
- package/lib/decorators/reactive.d.ts +0 -11
- package/lib/decorators/reactive.js +0 -51
- package/lib/decorators/reactive.js.map +0 -1
- package/lib/decorators/reactive.mjs +0 -45
- package/lib/decorators/reactive.mjs.map +0 -1
- package/lib/utils/indentStyles.d.ts +0 -3
- package/lib/utils/indentStyles.js +0 -45
- package/lib/utils/indentStyles.js.map +0 -1
- package/lib/utils/indentStyles.mjs +0 -36
- package/lib/utils/indentStyles.mjs.map +0 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
function arraysEqual(a, b) {
|
|
8
|
+
if (a.length !== b.length) return false;
|
|
9
|
+
for (var i = 0; i < a.length; i++) {
|
|
10
|
+
if (a[i] !== b[i]) return false;
|
|
11
|
+
}
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
function handlerBinder(fn) {
|
|
15
|
+
return function () {
|
|
16
|
+
for (var _len = arguments.length, depsArgs = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
17
|
+
depsArgs[_key] = arguments[_key];
|
|
18
|
+
}
|
|
19
|
+
var memoizeds = [];
|
|
20
|
+
if (handlerBinder.hasher.has(fn)) {
|
|
21
|
+
memoizeds = handlerBinder.hasher.get(fn);
|
|
22
|
+
var memoized = memoizeds.find(function (memoized) {
|
|
23
|
+
return arraysEqual(memoized.deps, depsArgs);
|
|
24
|
+
});
|
|
25
|
+
if (memoized) return memoized.fn;
|
|
26
|
+
}
|
|
27
|
+
var bindFn = fn.apply(void 0, depsArgs).bind(fn);
|
|
28
|
+
memoizeds.push({
|
|
29
|
+
deps: depsArgs,
|
|
30
|
+
fn: bindFn
|
|
31
|
+
});
|
|
32
|
+
handlerBinder.hasher.set(fn, memoizeds);
|
|
33
|
+
return bindFn;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
handlerBinder.hasher = new WeakMap();
|
|
37
|
+
function Enhancement() {
|
|
38
|
+
return {
|
|
39
|
+
condition: function condition(_Component, isFunction) {
|
|
40
|
+
return !isFunction;
|
|
41
|
+
},
|
|
42
|
+
init: function init() {
|
|
43
|
+
var _this = this;
|
|
44
|
+
Object.keys(this).filter(function (field) {
|
|
45
|
+
return field.startsWith('bindHandler');
|
|
46
|
+
}).forEach(function (name) {
|
|
47
|
+
_this[name] = handlerBinder(_this[name].bind(_this));
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
var _default = exports["default"] = Enhancement;
|
|
53
|
+
//# sourceMappingURL=bindHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bindHandler.js","names":["arraysEqual","a","b","length","i","handlerBinder","fn","_len","arguments","depsArgs","Array","_key","memoizeds","hasher","has","get","memoized","find","deps","bindFn","apply","bind","push","set","WeakMap","Enhancement","condition","_Component","isFunction","init","_this","Object","keys","filter","field","startsWith","forEach","name","_default","exports"],"sources":["../../src/enhancement/bindHandler.tsx"],"sourcesContent":["function arraysEqual(a: any, b: any) {\n if (a.length !== b.length) return false;\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n}\n\nfunction handlerBinder(fn: any) {\n return function (...depsArgs: any[]) {\n let memoizeds = [];\n if (handlerBinder.hasher.has(fn)) {\n memoizeds = handlerBinder.hasher.get(fn);\n const memoized = memoizeds.find((memoized: any) => arraysEqual(memoized.deps, depsArgs));\n if (memoized) return memoized.fn;\n }\n\n const bindFn = fn(...depsArgs).bind(fn);\n memoizeds.push({\n deps: depsArgs,\n fn: bindFn,\n });\n handlerBinder.hasher.set(fn, memoizeds);\n return bindFn;\n };\n}\n\nhandlerBinder.hasher = new WeakMap();\n\nfunction Enhancement() {\n return {\n condition: function (_Component: any, isFunction: boolean) {\n return !isFunction;\n },\n init: function (this: any) {\n Object.keys(this)\n .filter((field) => field.startsWith('bindHandler'))\n .forEach((name) => {\n this[name] = handlerBinder(this[name].bind(this));\n });\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":";;;;;;AAAA,SAASA,WAAWA,CAACC,CAAM,EAAEC,CAAM,EAAE;EACnC,IAAID,CAAC,CAACE,MAAM,KAAKD,CAAC,CAACC,MAAM,EAAE,OAAO,KAAK;EACvC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,CAAC,CAACE,MAAM,EAAEC,CAAC,EAAE,EAAE;IACjC,IAAIH,CAAC,CAACG,CAAC,CAAC,KAAKF,CAAC,CAACE,CAAC,CAAC,EAAE,OAAO,KAAK;EACjC;EACA,OAAO,IAAI;AACb;AAEA,SAASC,aAAaA,CAACC,EAAO,EAAE;EAC9B,OAAO,YAA8B;IAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAL,MAAA,EAAjBM,QAAQ,OAAAC,KAAA,CAAAH,IAAA,GAAAI,IAAA,MAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA;MAARF,QAAQ,CAAAE,IAAA,IAAAH,SAAA,CAAAG,IAAA;IAAA;IAC1B,IAAIC,SAAS,GAAG,EAAE;IAClB,IAAIP,aAAa,CAACQ,MAAM,CAACC,GAAG,CAACR,EAAE,CAAC,EAAE;MAChCM,SAAS,GAAGP,aAAa,CAACQ,MAAM,CAACE,GAAG,CAACT,EAAE,CAAC;MACxC,IAAMU,QAAQ,GAAGJ,SAAS,CAACK,IAAI,CAAC,UAACD,QAAa;QAAA,OAAKhB,WAAW,CAACgB,QAAQ,CAACE,IAAI,EAAET,QAAQ,CAAC;MAAA,EAAC;MACxF,IAAIO,QAAQ,EAAE,OAAOA,QAAQ,CAACV,EAAE;IAClC;IAEA,IAAMa,MAAM,GAAGb,EAAE,CAAAc,KAAA,SAAIX,QAAQ,CAAC,CAACY,IAAI,CAACf,EAAE,CAAC;IACvCM,SAAS,CAACU,IAAI,CAAC;MACbJ,IAAI,EAAET,QAAQ;MACdH,EAAE,EAAEa;IACN,CAAC,CAAC;IACFd,aAAa,CAACQ,MAAM,CAACU,GAAG,CAACjB,EAAE,EAAEM,SAAS,CAAC;IACvC,OAAOO,MAAM;EACf,CAAC;AACH;AAEAd,aAAa,CAACQ,MAAM,GAAG,IAAIW,OAAO,CAAC,CAAC;AAEpC,SAASC,WAAWA,CAAA,EAAG;EACrB,OAAO;IACLC,SAAS,EAAE,SAAXA,SAASA,CAAYC,UAAe,EAAEC,UAAmB,EAAE;MACzD,OAAO,CAACA,UAAU;IACpB,CAAC;IACDC,IAAI,EAAE,SAANA,IAAIA,CAAA,EAAuB;MAAA,IAAAC,KAAA;MACzBC,MAAM,CAACC,IAAI,CAAC,IAAI,CAAC,CACdC,MAAM,CAAC,UAACC,KAAK;QAAA,OAAKA,KAAK,CAACC,UAAU,CAAC,aAAa,CAAC;MAAA,EAAC,CAClDC,OAAO,CAAC,UAACC,IAAI,EAAK;QACjBP,KAAI,CAACO,IAAI,CAAC,GAAGhC,aAAa,CAACyB,KAAI,CAACO,IAAI,CAAC,CAAChB,IAAI,CAACS,KAAI,CAAC,CAAC;MACnD,CAAC,CAAC;IACN;EACF,CAAC;AACH;AAAC,IAAAQ,QAAA,GAAAC,OAAA,cAEcd,WAAW","ignoreList":[]}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
function arraysEqual(a, b) {
|
|
2
|
+
if (a.length !== b.length) return false;
|
|
3
|
+
for (var i = 0; i < a.length; i++) {
|
|
4
|
+
if (a[i] !== b[i]) return false;
|
|
5
|
+
}
|
|
6
|
+
return true;
|
|
7
|
+
}
|
|
8
|
+
function handlerBinder(fn) {
|
|
9
|
+
return function() {
|
|
10
|
+
for (var _len = arguments.length, depsArgs = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
11
|
+
depsArgs[_key] = arguments[_key];
|
|
12
|
+
}
|
|
13
|
+
var memoizeds = [];
|
|
14
|
+
if (handlerBinder.hasher.has(fn)) {
|
|
15
|
+
memoizeds = handlerBinder.hasher.get(fn);
|
|
16
|
+
var memoized = memoizeds.find(function(memoized2) {
|
|
17
|
+
return arraysEqual(memoized2.deps, depsArgs);
|
|
18
|
+
});
|
|
19
|
+
if (memoized) return memoized.fn;
|
|
20
|
+
}
|
|
21
|
+
var bindFn = fn.apply(void 0, depsArgs).bind(fn);
|
|
22
|
+
memoizeds.push({
|
|
23
|
+
deps: depsArgs,
|
|
24
|
+
fn: bindFn
|
|
25
|
+
});
|
|
26
|
+
handlerBinder.hasher.set(fn, memoizeds);
|
|
27
|
+
return bindFn;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
handlerBinder.hasher = /* @__PURE__ */ new WeakMap();
|
|
31
|
+
function Enhancement() {
|
|
32
|
+
return {
|
|
33
|
+
condition: function condition(_Component, isFunction) {
|
|
34
|
+
return !isFunction;
|
|
35
|
+
},
|
|
36
|
+
init: function init() {
|
|
37
|
+
var _this = this;
|
|
38
|
+
Object.keys(this).filter(function(field) {
|
|
39
|
+
return field.startsWith("bindHandler");
|
|
40
|
+
}).forEach(function(name) {
|
|
41
|
+
_this[name] = handlerBinder(_this[name].bind(_this));
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
export {
|
|
47
|
+
Enhancement as default
|
|
48
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bindHandler.mjs","names":["arraysEqual","a","b","length","i","handlerBinder","fn","_len","arguments","depsArgs","Array","_key","memoizeds","hasher","has","get","memoized","find","deps","bindFn","apply","bind","push","set","WeakMap","Enhancement","condition","_Component","isFunction","init","_this","Object","keys","filter","field","startsWith","forEach","name"],"sources":["../../src/enhancement/bindHandler.tsx"],"sourcesContent":["function arraysEqual(a: any, b: any) {\n if (a.length !== b.length) return false;\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n}\n\nfunction handlerBinder(fn: any) {\n return function (...depsArgs: any[]) {\n let memoizeds = [];\n if (handlerBinder.hasher.has(fn)) {\n memoizeds = handlerBinder.hasher.get(fn);\n const memoized = memoizeds.find((memoized: any) => arraysEqual(memoized.deps, depsArgs));\n if (memoized) return memoized.fn;\n }\n\n const bindFn = fn(...depsArgs).bind(fn);\n memoizeds.push({\n deps: depsArgs,\n fn: bindFn,\n });\n handlerBinder.hasher.set(fn, memoizeds);\n return bindFn;\n };\n}\n\nhandlerBinder.hasher = new WeakMap();\n\nfunction Enhancement() {\n return {\n condition: function (_Component: any, isFunction: boolean) {\n return !isFunction;\n },\n init: function (this: any) {\n Object.keys(this)\n .filter((field) => field.startsWith('bindHandler'))\n .forEach((name) => {\n this[name] = handlerBinder(this[name].bind(this));\n });\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":"AAAA,SAASA,WAAWA,CAACC,CAAM,EAAEC,CAAM,EAAE;EACnC,IAAID,CAAC,CAACE,MAAM,KAAKD,CAAC,CAACC,MAAM,EAAE,OAAO,KAAK;EACvC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,CAAC,CAACE,MAAM,EAAEC,CAAC,EAAE,EAAE;IACjC,IAAIH,CAAC,CAACG,CAAC,CAAC,KAAKF,CAAC,CAACE,CAAC,CAAC,EAAE,OAAO,KAAK;EACjC;EACA,OAAO,IAAI;AACb;AAEA,SAASC,aAAaA,CAACC,EAAO,EAAE;EAC9B,OAAO,YAA8B;IAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAL,MAAA,EAAjBM,QAAQ,OAAAC,KAAA,CAAAH,IAAA,GAAAI,IAAA,MAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA;MAARF,QAAQ,CAAAE,IAAA,IAAAH,SAAA,CAAAG,IAAA;IAAA;IAC1B,IAAIC,SAAS,GAAG,EAAE;IAClB,IAAIP,aAAa,CAACQ,MAAM,CAACC,GAAG,CAACR,EAAE,CAAC,EAAE;MAChCM,SAAS,GAAGP,aAAa,CAACQ,MAAM,CAACE,GAAG,CAACT,EAAE,CAAC;MACxC,IAAMU,QAAQ,GAAGJ,SAAS,CAACK,IAAI,CAAC,UAACD,QAAa;QAAA,OAAKhB,WAAW,CAACgB,QAAQ,CAACE,IAAI,EAAET,QAAQ,CAAC;MAAA,EAAC;MACxF,IAAIO,QAAQ,EAAE,OAAOA,QAAQ,CAACV,EAAE;IAClC;IAEA,IAAMa,MAAM,GAAGb,EAAE,CAAAc,KAAA,SAAIX,QAAQ,CAAC,CAACY,IAAI,CAACf,EAAE,CAAC;IACvCM,SAAS,CAACU,IAAI,CAAC;MACbJ,IAAI,EAAET,QAAQ;MACdH,EAAE,EAAEa;IACN,CAAC,CAAC;IACFd,aAAa,CAACQ,MAAM,CAACU,GAAG,CAACjB,EAAE,EAAEM,SAAS,CAAC;IACvC,OAAOO,MAAM;EACf,CAAC;AACH;AAEAd,aAAa,CAACQ,MAAM,GAAG,IAAIW,OAAO,CAAC,CAAC;AAEpC,SAASC,WAAWA,CAAA,EAAG;EACrB,OAAO;IACLC,SAAS,EAAE,SAAXA,SAASA,CAAYC,UAAe,EAAEC,UAAmB,EAAE;MACzD,OAAO,CAACA,UAAU;IACpB,CAAC;IACDC,IAAI,EAAE,SAANA,IAAIA,CAAA,EAAuB;MAAA,IAAAC,KAAA;MACzBC,MAAM,CAACC,IAAI,CAAC,IAAI,CAAC,CACdC,MAAM,CAAC,UAACC,KAAK;QAAA,OAAKA,KAAK,CAACC,UAAU,CAAC,aAAa,CAAC;MAAA,EAAC,CAClDC,OAAO,CAAC,UAACC,IAAI,EAAK;QACjBP,KAAI,CAACO,IAAI,CAAC,GAAGhC,aAAa,CAACyB,KAAI,CAACO,IAAI,CAAC,CAAChB,IAAI,CAACS,KAAI,CAAC,CAAC;MACnD,CAAC,CAAC;IACN;EACF,CAAC;AACH;AAEA,eAAeL,WAAW","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const HOIST_CONTEXT: unique symbol;
|
|
2
|
+
/** @deprecated Doesn't work in ssr and sometimes breakes rulles of hooks. We should never use it. */
|
|
3
|
+
declare function Enhancement(childComponents: any, Context: any): {
|
|
4
|
+
condition: (Component: any) => boolean;
|
|
5
|
+
init: (this: any, _props: any, _WrapperComponent: any, isFunction: boolean) => void;
|
|
6
|
+
context: (this: any, context: any) => any;
|
|
7
|
+
asProps: (this: any, props: any) => any;
|
|
8
|
+
wrapperProps: (props: any, WrapperComponent: any) => any;
|
|
9
|
+
};
|
|
10
|
+
export default Enhancement;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = exports.HOIST_CONTEXT = void 0;
|
|
8
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
11
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
var _assignProps = _interopRequireDefault(require("../utils/assignProps"));
|
|
14
|
+
var _pick = _interopRequireDefault(require("../utils/pick"));
|
|
15
|
+
var _useEnhancedEffect = _interopRequireDefault(require("../utils/use/useEnhancedEffect"));
|
|
16
|
+
var HOIST_CONTEXT = exports.HOIST_CONTEXT = Symbol('HOIST_CONTEXT');
|
|
17
|
+
var HOIST_SELF = Symbol('HOIST_SELF');
|
|
18
|
+
var HOIST_SET = Symbol('HOIST_SET');
|
|
19
|
+
function flatChildComponent(childComponents) {
|
|
20
|
+
return Object.values(childComponents).reduce(function (acc, Component) {
|
|
21
|
+
if (Array.isArray(Component)) {
|
|
22
|
+
acc.push(Component[0]);
|
|
23
|
+
acc.push.apply(acc, (0, _toConsumableArray2["default"])(flatChildComponent(Component[1])));
|
|
24
|
+
} else {
|
|
25
|
+
acc.push(Component);
|
|
26
|
+
}
|
|
27
|
+
return acc;
|
|
28
|
+
}, []);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/** @deprecated Doesn't work in ssr and sometimes breakes rulles of hooks. We should never use it. */
|
|
32
|
+
function Enhancement(childComponents, Context) {
|
|
33
|
+
return {
|
|
34
|
+
condition: function condition(Component) {
|
|
35
|
+
return [Component].concat((0, _toConsumableArray2["default"])(flatChildComponent(childComponents))).some(function (Component) {
|
|
36
|
+
var _Component$hoistProps;
|
|
37
|
+
return Boolean((_Component$hoistProps = Component.hoistProps) === null || _Component$hoistProps === void 0 ? void 0 : _Component$hoistProps.length);
|
|
38
|
+
});
|
|
39
|
+
},
|
|
40
|
+
init: function init(_props, _WrapperComponent, isFunction) {
|
|
41
|
+
var _this = this;
|
|
42
|
+
if (isFunction) {
|
|
43
|
+
// TODO: might breake rules of hooks (by lsroman)
|
|
44
|
+
this[HOIST_SELF] = _react["default"].useState({});
|
|
45
|
+
} else {
|
|
46
|
+
this[HOIST_SELF] = [{}, function (obj) {
|
|
47
|
+
_this[HOIST_SELF][0] = obj;
|
|
48
|
+
_this.forceUpdate();
|
|
49
|
+
}];
|
|
50
|
+
}
|
|
51
|
+
// For optimization render
|
|
52
|
+
this[HOIST_SET] = function (obj) {
|
|
53
|
+
_this[HOIST_SELF][1](obj);
|
|
54
|
+
};
|
|
55
|
+
},
|
|
56
|
+
context: function context(_context) {
|
|
57
|
+
// TODO: need to optimizte container initialization (by lsroman)
|
|
58
|
+
// WrapperComponent.hoistProps
|
|
59
|
+
return (0, _objectSpread3["default"])((0, _objectSpread3["default"])({}, _context), {}, (0, _defineProperty2["default"])({}, HOIST_CONTEXT, this[HOIST_SET]));
|
|
60
|
+
},
|
|
61
|
+
asProps: function asProps(props) {
|
|
62
|
+
// TODO: need to check for no props overwriting (by lsroman)
|
|
63
|
+
return (0, _assignProps["default"])(this[HOIST_SELF][0], props);
|
|
64
|
+
},
|
|
65
|
+
wrapperProps: function wrapperProps(props, WrapperComponent) {
|
|
66
|
+
var _WrapperComponent$hoi;
|
|
67
|
+
if ((_WrapperComponent$hoi = WrapperComponent.hoistProps) !== null && _WrapperComponent$hoi !== void 0 && _WrapperComponent$hoi.length) {
|
|
68
|
+
var context = _react["default"].useContext(Context);
|
|
69
|
+
var renameProps = WrapperComponent.hoistProps.reduce(function (acc, propName) {
|
|
70
|
+
var _propName$split = propName.split(':'),
|
|
71
|
+
_propName$split2 = (0, _slicedToArray2["default"])(_propName$split, 2),
|
|
72
|
+
name = _propName$split2[0],
|
|
73
|
+
rename = _propName$split2[1];
|
|
74
|
+
acc[name] = rename || name;
|
|
75
|
+
return acc;
|
|
76
|
+
}, {});
|
|
77
|
+
var hoistProps = Object.entries((0, _pick["default"])(props, Object.keys(renameProps))).reduce(function (acc, _ref) {
|
|
78
|
+
var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
|
|
79
|
+
name = _ref2[0],
|
|
80
|
+
value = _ref2[1];
|
|
81
|
+
acc[renameProps[name]] = value;
|
|
82
|
+
return acc;
|
|
83
|
+
}, {});
|
|
84
|
+
(0, _useEnhancedEffect["default"])(function () {
|
|
85
|
+
if (context[HOIST_CONTEXT]) {
|
|
86
|
+
context[HOIST_CONTEXT](hoistProps);
|
|
87
|
+
}
|
|
88
|
+
}, Object.values(hoistProps));
|
|
89
|
+
}
|
|
90
|
+
return props;
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
var _default = exports["default"] = Enhancement;
|
|
95
|
+
//# sourceMappingURL=hoistProps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hoistProps.js","names":["_react","_interopRequireDefault","require","_assignProps","_pick","_useEnhancedEffect","HOIST_CONTEXT","exports","Symbol","HOIST_SELF","HOIST_SET","flatChildComponent","childComponents","Object","values","reduce","acc","Component","Array","isArray","push","apply","_toConsumableArray2","Enhancement","Context","condition","concat","some","_Component$hoistProps","Boolean","hoistProps","length","init","_props","_WrapperComponent","isFunction","_this","React","useState","obj","forceUpdate","context","_objectSpread3","_defineProperty2","asProps","props","assignProps","wrapperProps","WrapperComponent","_WrapperComponent$hoi","useContext","renameProps","propName","_propName$split","split","_propName$split2","_slicedToArray2","name","rename","entries","pick","keys","_ref","_ref2","value","useEnhancedEffect","_default"],"sources":["../../src/enhancement/hoistProps.tsx"],"sourcesContent":["import React from 'react';\n\nimport assignProps from '../utils/assignProps';\nimport pick from '../utils/pick';\nimport useEnhancedEffect from '../utils/use/useEnhancedEffect';\n\nexport const HOIST_CONTEXT = Symbol('HOIST_CONTEXT');\nconst HOIST_SELF = Symbol('HOIST_SELF');\nconst HOIST_SET = Symbol('HOIST_SET');\n\nfunction flatChildComponent(childComponents: any) {\n return Object.values(childComponents).reduce<unknown[]>((acc, Component) => {\n if (Array.isArray(Component)) {\n acc.push(Component[0]);\n acc.push(...flatChildComponent(Component[1]));\n } else {\n acc.push(Component);\n }\n return acc;\n }, []);\n}\n\n/** @deprecated Doesn't work in ssr and sometimes breakes rulles of hooks. We should never use it. */\nfunction Enhancement(childComponents: any, Context: any) {\n return {\n condition: function (Component: any) {\n return [Component, ...flatChildComponent(childComponents)].some((Component) =>\n Boolean(Component.hoistProps?.length),\n );\n },\n init: function (this: any, _props: any, _WrapperComponent: any, isFunction: boolean) {\n if (isFunction) {\n // TODO: might breake rules of hooks (by lsroman)\n this[HOIST_SELF] = React.useState({});\n } else {\n this[HOIST_SELF] = [\n {},\n (obj: any) => {\n this[HOIST_SELF][0] = obj;\n this.forceUpdate();\n },\n ];\n }\n // For optimization render\n this[HOIST_SET] = (obj: any) => {\n this[HOIST_SELF][1](obj);\n };\n },\n context: function (this: any, context: any) {\n // TODO: need to optimizte container initialization (by lsroman)\n // WrapperComponent.hoistProps\n return {\n ...context,\n [HOIST_CONTEXT]: this[HOIST_SET],\n };\n },\n asProps: function (this: any, props: any) {\n // TODO: need to check for no props overwriting (by lsroman)\n return assignProps(this[HOIST_SELF][0], props);\n },\n wrapperProps: function (props: any, WrapperComponent: any) {\n if (WrapperComponent.hoistProps?.length) {\n const context: any = React.useContext(Context);\n const renameProps: any = WrapperComponent.hoistProps.reduce((acc: any, propName: any) => {\n const [name, rename] = propName.split(':');\n acc[name] = rename || name;\n return acc;\n }, {});\n const hoistProps = Object.entries(pick(props, Object.keys(renameProps))).reduce(\n (acc: any, [name, value]) => {\n acc[renameProps[name]] = value;\n return acc;\n },\n {},\n );\n\n useEnhancedEffect(() => {\n if (context[HOIST_CONTEXT]) {\n context[HOIST_CONTEXT](hoistProps);\n }\n }, Object.values(hoistProps));\n }\n return props;\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
3
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
4
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
5
|
+
import React from "react";
|
|
6
|
+
import assignProps from "../utils/assignProps.mjs";
|
|
7
|
+
import pick from "../utils/pick.mjs";
|
|
8
|
+
import useEnhancedEffect from "../utils/use/useEnhancedEffect.mjs";
|
|
9
|
+
var HOIST_CONTEXT = Symbol("HOIST_CONTEXT");
|
|
10
|
+
var HOIST_SELF = Symbol("HOIST_SELF");
|
|
11
|
+
var HOIST_SET = Symbol("HOIST_SET");
|
|
12
|
+
function flatChildComponent(childComponents) {
|
|
13
|
+
return Object.values(childComponents).reduce(function(acc, Component) {
|
|
14
|
+
if (Array.isArray(Component)) {
|
|
15
|
+
acc.push(Component[0]);
|
|
16
|
+
acc.push.apply(acc, _toConsumableArray(flatChildComponent(Component[1])));
|
|
17
|
+
} else {
|
|
18
|
+
acc.push(Component);
|
|
19
|
+
}
|
|
20
|
+
return acc;
|
|
21
|
+
}, []);
|
|
22
|
+
}
|
|
23
|
+
function Enhancement(childComponents, Context) {
|
|
24
|
+
return {
|
|
25
|
+
condition: function condition(Component) {
|
|
26
|
+
return [Component].concat(_toConsumableArray(flatChildComponent(childComponents))).some(function(Component2) {
|
|
27
|
+
var _Component$hoistProps;
|
|
28
|
+
return Boolean((_Component$hoistProps = Component2.hoistProps) === null || _Component$hoistProps === void 0 ? void 0 : _Component$hoistProps.length);
|
|
29
|
+
});
|
|
30
|
+
},
|
|
31
|
+
init: function init(_props, _WrapperComponent, isFunction) {
|
|
32
|
+
var _this = this;
|
|
33
|
+
if (isFunction) {
|
|
34
|
+
this[HOIST_SELF] = React.useState({});
|
|
35
|
+
} else {
|
|
36
|
+
this[HOIST_SELF] = [{}, function(obj) {
|
|
37
|
+
_this[HOIST_SELF][0] = obj;
|
|
38
|
+
_this.forceUpdate();
|
|
39
|
+
}];
|
|
40
|
+
}
|
|
41
|
+
this[HOIST_SET] = function(obj) {
|
|
42
|
+
_this[HOIST_SELF][1](obj);
|
|
43
|
+
};
|
|
44
|
+
},
|
|
45
|
+
context: function context(_context) {
|
|
46
|
+
return _objectSpread(_objectSpread({}, _context), {}, _defineProperty({}, HOIST_CONTEXT, this[HOIST_SET]));
|
|
47
|
+
},
|
|
48
|
+
asProps: function asProps(props) {
|
|
49
|
+
return assignProps(this[HOIST_SELF][0], props);
|
|
50
|
+
},
|
|
51
|
+
wrapperProps: function wrapperProps(props, WrapperComponent) {
|
|
52
|
+
var _WrapperComponent$hoi;
|
|
53
|
+
if ((_WrapperComponent$hoi = WrapperComponent.hoistProps) !== null && _WrapperComponent$hoi !== void 0 && _WrapperComponent$hoi.length) {
|
|
54
|
+
var context = React.useContext(Context);
|
|
55
|
+
var renameProps = WrapperComponent.hoistProps.reduce(function(acc, propName) {
|
|
56
|
+
var _propName$split = propName.split(":"), _propName$split2 = _slicedToArray(_propName$split, 2), name = _propName$split2[0], rename = _propName$split2[1];
|
|
57
|
+
acc[name] = rename || name;
|
|
58
|
+
return acc;
|
|
59
|
+
}, {});
|
|
60
|
+
var hoistProps = Object.entries(pick(props, Object.keys(renameProps))).reduce(function(acc, _ref) {
|
|
61
|
+
var _ref2 = _slicedToArray(_ref, 2), name = _ref2[0], value = _ref2[1];
|
|
62
|
+
acc[renameProps[name]] = value;
|
|
63
|
+
return acc;
|
|
64
|
+
}, {});
|
|
65
|
+
useEnhancedEffect(function() {
|
|
66
|
+
if (context[HOIST_CONTEXT]) {
|
|
67
|
+
context[HOIST_CONTEXT](hoistProps);
|
|
68
|
+
}
|
|
69
|
+
}, Object.values(hoistProps));
|
|
70
|
+
}
|
|
71
|
+
return props;
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
export {
|
|
76
|
+
HOIST_CONTEXT,
|
|
77
|
+
Enhancement as default
|
|
78
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hoistProps.mjs","names":["React","assignProps","pick","useEnhancedEffect","HOIST_CONTEXT","Symbol","HOIST_SELF","HOIST_SET","flatChildComponent","childComponents","Object","values","reduce","acc","Component","Array","isArray","push","apply","_toConsumableArray","Enhancement","Context","condition","concat","some","_Component$hoistProps","Boolean","hoistProps","length","init","_props","_WrapperComponent","isFunction","_this","useState","obj","forceUpdate","context","_objectSpread","_defineProperty","asProps","props","wrapperProps","WrapperComponent","_WrapperComponent$hoi","useContext","renameProps","propName","_propName$split","split","_propName$split2","_slicedToArray","name","rename","entries","keys","_ref","_ref2","value"],"sources":["../../src/enhancement/hoistProps.tsx"],"sourcesContent":["import React from 'react';\n\nimport assignProps from '../utils/assignProps';\nimport pick from '../utils/pick';\nimport useEnhancedEffect from '../utils/use/useEnhancedEffect';\n\nexport const HOIST_CONTEXT = Symbol('HOIST_CONTEXT');\nconst HOIST_SELF = Symbol('HOIST_SELF');\nconst HOIST_SET = Symbol('HOIST_SET');\n\nfunction flatChildComponent(childComponents: any) {\n return Object.values(childComponents).reduce<unknown[]>((acc, Component) => {\n if (Array.isArray(Component)) {\n acc.push(Component[0]);\n acc.push(...flatChildComponent(Component[1]));\n } else {\n acc.push(Component);\n }\n return acc;\n }, []);\n}\n\n/** @deprecated Doesn't work in ssr and sometimes breakes rulles of hooks. We should never use it. */\nfunction Enhancement(childComponents: any, Context: any) {\n return {\n condition: function (Component: any) {\n return [Component, ...flatChildComponent(childComponents)].some((Component) =>\n Boolean(Component.hoistProps?.length),\n );\n },\n init: function (this: any, _props: any, _WrapperComponent: any, isFunction: boolean) {\n if (isFunction) {\n // TODO: might breake rules of hooks (by lsroman)\n this[HOIST_SELF] = React.useState({});\n } else {\n this[HOIST_SELF] = [\n {},\n (obj: any) => {\n this[HOIST_SELF][0] = obj;\n this.forceUpdate();\n },\n ];\n }\n // For optimization render\n this[HOIST_SET] = (obj: any) => {\n this[HOIST_SELF][1](obj);\n };\n },\n context: function (this: any, context: any) {\n // TODO: need to optimizte container initialization (by lsroman)\n // WrapperComponent.hoistProps\n return {\n ...context,\n [HOIST_CONTEXT]: this[HOIST_SET],\n };\n },\n asProps: function (this: any, props: any) {\n // TODO: need to check for no props overwriting (by lsroman)\n return assignProps(this[HOIST_SELF][0], props);\n },\n wrapperProps: function (props: any, WrapperComponent: any) {\n if (WrapperComponent.hoistProps?.length) {\n const context: any = React.useContext(Context);\n const renameProps: any = WrapperComponent.hoistProps.reduce((acc: any, propName: any) => {\n const [name, rename] = propName.split(':');\n acc[name] = rename || name;\n return acc;\n }, {});\n const hoistProps = Object.entries(pick(props, Object.keys(renameProps))).reduce(\n (acc: any, [name, value]) => {\n acc[renameProps[name]] = value;\n return acc;\n },\n {},\n );\n\n useEnhancedEffect(() => {\n if (context[HOIST_CONTEXT]) {\n context[HOIST_CONTEXT](hoistProps);\n }\n }, Object.values(hoistProps));\n }\n return props;\n },\n };\n}\n\nexport default Enhancement;\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,WAAW,MAAM,0BAAsB;AAC9C,OAAOC,IAAI,MAAM,mBAAe;AAChC,OAAOC,iBAAiB,MAAM,oCAAgC;AAE9D,OAAO,IAAMC,aAAa,GAAGC,MAAM,CAAC,eAAe,CAAC;AACpD,IAAMC,UAAU,GAAGD,MAAM,CAAC,YAAY,CAAC;AACvC,IAAME,SAAS,GAAGF,MAAM,CAAC,WAAW,CAAC;AAErC,SAASG,kBAAkBA,CAACC,eAAoB,EAAE;EAChD,OAAOC,MAAM,CAACC,MAAM,CAACF,eAAe,CAAC,CAACG,MAAM,CAAY,UAACC,GAAG,EAAEC,SAAS,EAAK;IAC1E,IAAIC,KAAK,CAACC,OAAO,CAACF,SAAS,CAAC,EAAE;MAC5BD,GAAG,CAACI,IAAI,CAACH,SAAS,CAAC,CAAC,CAAC,CAAC;MACtBD,GAAG,CAACI,IAAI,CAAAC,KAAA,CAARL,GAAG,EAAAM,kBAAA,CAASX,kBAAkB,CAACM,SAAS,CAAC,CAAC,CAAC,CAAC,EAAC;IAC/C,CAAC,MAAM;MACLD,GAAG,CAACI,IAAI,CAACH,SAAS,CAAC;IACrB;IACA,OAAOD,GAAG;EACZ,CAAC,EAAE,EAAE,CAAC;AACR;;AAEA;AACA,SAASO,WAAWA,CAACX,eAAoB,EAAEY,OAAY,EAAE;EACvD,OAAO;IACLC,SAAS,EAAE,SAAXA,SAASA,CAAYR,SAAc,EAAE;MACnC,OAAO,CAACA,SAAS,EAAAS,MAAA,CAAAJ,kBAAA,CAAKX,kBAAkB,CAACC,eAAe,CAAC,GAAEe,IAAI,CAAC,UAACV,SAAS;QAAA,IAAAW,qBAAA;QAAA,OACxEC,OAAO,EAAAD,qBAAA,GAACX,SAAS,CAACa,UAAU,cAAAF,qBAAA,uBAApBA,qBAAA,CAAsBG,MAAM,CAAC;MAAA,CACvC,CAAC;IACH,CAAC;IACDC,IAAI,EAAE,SAANA,IAAIA,CAAuBC,MAAW,EAAEC,iBAAsB,EAAEC,UAAmB,EAAE;MAAA,IAAAC,KAAA;MACnF,IAAID,UAAU,EAAE;QACd;QACA,IAAI,CAAC1B,UAAU,CAAC,GAAGN,KAAK,CAACkC,QAAQ,CAAC,CAAC,CAAC,CAAC;MACvC,CAAC,MAAM;QACL,IAAI,CAAC5B,UAAU,CAAC,GAAG,CACjB,CAAC,CAAC,EACF,UAAC6B,GAAQ,EAAK;UACZF,KAAI,CAAC3B,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG6B,GAAG;UACzBF,KAAI,CAACG,WAAW,CAAC,CAAC;QACpB,CAAC,CACF;MACH;MACA;MACA,IAAI,CAAC7B,SAAS,CAAC,GAAG,UAAC4B,GAAQ,EAAK;QAC9BF,KAAI,CAAC3B,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC6B,GAAG,CAAC;MAC1B,CAAC;IACH,CAAC;IACDE,OAAO,EAAE,SAATA,OAAOA,CAAuBA,QAAY,EAAE;MAC1C;MACA;MACA,OAAAC,aAAA,CAAAA,aAAA,KACKD,QAAO,OAAAE,eAAA,KACTnC,aAAa,EAAG,IAAI,CAACG,SAAS,CAAC;IAEpC,CAAC;IACDiC,OAAO,EAAE,SAATA,OAAOA,CAAuBC,KAAU,EAAE;MACxC;MACA,OAAOxC,WAAW,CAAC,IAAI,CAACK,UAAU,CAAC,CAAC,CAAC,CAAC,EAAEmC,KAAK,CAAC;IAChD,CAAC;IACDC,YAAY,EAAE,SAAdA,YAAYA,CAAYD,KAAU,EAAEE,gBAAqB,EAAE;MAAA,IAAAC,qBAAA;MACzD,KAAAA,qBAAA,GAAID,gBAAgB,CAAChB,UAAU,cAAAiB,qBAAA,eAA3BA,qBAAA,CAA6BhB,MAAM,EAAE;QACvC,IAAMS,OAAY,GAAGrC,KAAK,CAAC6C,UAAU,CAACxB,OAAO,CAAC;QAC9C,IAAMyB,WAAgB,GAAGH,gBAAgB,CAAChB,UAAU,CAACf,MAAM,CAAC,UAACC,GAAQ,EAAEkC,QAAa,EAAK;UACvF,IAAAC,eAAA,GAAuBD,QAAQ,CAACE,KAAK,CAAC,GAAG,CAAC;YAAAC,gBAAA,GAAAC,cAAA,CAAAH,eAAA;YAAnCI,IAAI,GAAAF,gBAAA;YAAEG,MAAM,GAAAH,gBAAA;UACnBrC,GAAG,CAACuC,IAAI,CAAC,GAAGC,MAAM,IAAID,IAAI;UAC1B,OAAOvC,GAAG;QACZ,CAAC,EAAE,CAAC,CAAC,CAAC;QACN,IAAMc,UAAU,GAAGjB,MAAM,CAAC4C,OAAO,CAACpD,IAAI,CAACuC,KAAK,EAAE/B,MAAM,CAAC6C,IAAI,CAACT,WAAW,CAAC,CAAC,CAAC,CAAClC,MAAM,CAC7E,UAACC,GAAQ,EAAA2C,IAAA,EAAoB;UAAA,IAAAC,KAAA,GAAAN,cAAA,CAAAK,IAAA;YAAjBJ,IAAI,GAAAK,KAAA;YAAEC,KAAK,GAAAD,KAAA;UACrB5C,GAAG,CAACiC,WAAW,CAACM,IAAI,CAAC,CAAC,GAAGM,KAAK;UAC9B,OAAO7C,GAAG;QACZ,CAAC,EACD,CAAC,CACH,CAAC;QAEDV,iBAAiB,CAAC,YAAM;UACtB,IAAIkC,OAAO,CAACjC,aAAa,CAAC,EAAE;YAC1BiC,OAAO,CAACjC,aAAa,CAAC,CAACuB,UAAU,CAAC;UACpC;QACF,CAAC,EAAEjB,MAAM,CAACC,MAAM,CAACgB,UAAU,CAAC,CAAC;MAC/B;MACA,OAAOc,KAAK;IACd;EACF,CAAC;AACH;AAEA,eAAerB,WAAW","ignoreList":[]}
|
|
@@ -31,9 +31,9 @@ function flatGetterMethodNames(childComponents, parentName) {
|
|
|
31
31
|
return acc;
|
|
32
32
|
}, []);
|
|
33
33
|
}
|
|
34
|
-
var STATIC_COMPONENT =
|
|
35
|
-
var ROOT_COMPONENT =
|
|
36
|
-
var SELF_GETTER_METHOD =
|
|
34
|
+
var STATIC_COMPONENT = Symbol("STATIC_COMPONENT");
|
|
35
|
+
var ROOT_COMPONENT = Symbol("ROOT_COMPONENT");
|
|
36
|
+
var SELF_GETTER_METHOD = Symbol("SELF_GETTER_METHOD");
|
|
37
37
|
function Enhancement(childComponents, createComponent, options) {
|
|
38
38
|
var getterMethodNames = flatGetterMethodNames(childComponents);
|
|
39
39
|
return {
|
|
@@ -6,8 +6,8 @@ import { STATIC_COMPONENT } from "./staticChildren.mjs";
|
|
|
6
6
|
import "../styled/index.mjs";
|
|
7
7
|
import { sstyled } from "../styled/sstyled.mjs";
|
|
8
8
|
var _excluded = ["_styles", "styles"], _excluded2 = ["styles"];
|
|
9
|
-
var STYLES_CONTEXT =
|
|
10
|
-
var STYLES_SELF =
|
|
9
|
+
var STYLES_CONTEXT = Symbol("STYLES_CONTEXT");
|
|
10
|
+
var STYLES_SELF = Symbol("STYLES_SELF");
|
|
11
11
|
function Enhancement(childComponents, Context) {
|
|
12
12
|
return {
|
|
13
13
|
condition: function condition(Component) {
|
|
@@ -5,25 +5,20 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
|
5
5
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
6
6
|
import { PureComponent } from "react";
|
|
7
7
|
var Root = void 0;
|
|
8
|
-
var
|
|
9
|
-
function
|
|
8
|
+
var RootComponent = /* @__PURE__ */ (function(_PureComponent) {
|
|
9
|
+
function RootComponent2() {
|
|
10
10
|
var _this;
|
|
11
11
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
12
12
|
args[_key] = arguments[_key];
|
|
13
13
|
}
|
|
14
|
-
_classCallCheck(this,
|
|
15
|
-
_this = _callSuper(this,
|
|
14
|
+
_classCallCheck(this, RootComponent2);
|
|
15
|
+
_this = _callSuper(this, RootComponent2, [].concat(args));
|
|
16
16
|
_defineProperty(_this, "Root", void 0);
|
|
17
17
|
_defineProperty(_this, "isControlled", false);
|
|
18
18
|
return _this;
|
|
19
19
|
}
|
|
20
|
-
_inherits(
|
|
21
|
-
return _createClass(
|
|
22
|
-
key: "uncontrolledProps",
|
|
23
|
-
value: function uncontrolledProps() {
|
|
24
|
-
return {};
|
|
25
|
-
}
|
|
26
|
-
}, {
|
|
20
|
+
_inherits(RootComponent2, _PureComponent);
|
|
21
|
+
return _createClass(RootComponent2, [{
|
|
27
22
|
key: "handlers",
|
|
28
23
|
get: function get() {
|
|
29
24
|
return {};
|
|
@@ -35,6 +30,7 @@ var Component = /* @__PURE__ */ (function(_PureComponent) {
|
|
|
35
30
|
}
|
|
36
31
|
}]);
|
|
37
32
|
})(PureComponent);
|
|
33
|
+
var Component = RootComponent;
|
|
38
34
|
var Intergalactic;
|
|
39
35
|
var wrapIntergalacticComponent = function wrapIntergalacticComponent2(wrapper) {
|
|
40
36
|
return wrapper;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
var CORE_COMPONENT =
|
|
2
|
-
var CORE_INSTANCE =
|
|
3
|
-
var CORE_AS_PROPS =
|
|
4
|
-
var CORE_INIT =
|
|
5
|
-
var CONTEXT_COMPONENT =
|
|
6
|
-
var CREATE_COMPONENT =
|
|
7
|
-
var PARENT_COMPONENTS =
|
|
8
|
-
var CHILDREN_COMPONENT =
|
|
9
|
-
var INHERITED_NAME =
|
|
1
|
+
var CORE_COMPONENT = Symbol("CORE_COMPONENT");
|
|
2
|
+
var CORE_INSTANCE = Symbol("CORE_INSTANCE");
|
|
3
|
+
var CORE_AS_PROPS = Symbol("CORE_AS_PROPS");
|
|
4
|
+
var CORE_INIT = Symbol("CORE_INIT");
|
|
5
|
+
var CONTEXT_COMPONENT = Symbol("CONTEXT_COMPONENT");
|
|
6
|
+
var CREATE_COMPONENT = Symbol("CREATE_COMPONENT");
|
|
7
|
+
var PARENT_COMPONENTS = Symbol("PARENT_COMPONENTS");
|
|
8
|
+
var CHILDREN_COMPONENT = Symbol("CHILDREN_COMPONENT");
|
|
9
|
+
var INHERITED_NAME = Symbol("INHERITED_NAME");
|
|
10
10
|
export {
|
|
11
11
|
CHILDREN_COMPONENT,
|
|
12
12
|
CONTEXT_COMPONENT,
|
package/lib/esm/coreFactory.mjs
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
2
2
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
3
|
-
import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
|
|
4
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
5
3
|
import _superPropGet from "@babel/runtime/helpers/esm/superPropGet";
|
|
6
4
|
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
7
5
|
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
@@ -14,16 +12,18 @@ import hoistNonReactStatics from "hoist-non-react-statics";
|
|
|
14
12
|
import React from "react";
|
|
15
13
|
import { Component } from "./core-types/Component.mjs";
|
|
16
14
|
import { CORE_AS_PROPS, CORE_INSTANCE, CORE_INIT, CORE_COMPONENT, PARENT_COMPONENTS, CONTEXT_COMPONENT, CREATE_COMPONENT } from "./core-types/symbols.mjs";
|
|
17
|
-
import Enhancement from "./enhancement/
|
|
18
|
-
import Enhancement$
|
|
19
|
-
import Enhancement$7 from "./enhancement/
|
|
20
|
-
import Enhancement$
|
|
15
|
+
import Enhancement from "./enhancement/bindHandler.mjs";
|
|
16
|
+
import Enhancement$1 from "./enhancement/Children.mjs";
|
|
17
|
+
import Enhancement$7 from "./enhancement/dataName.mjs";
|
|
18
|
+
import Enhancement$8 from "./enhancement/enhance.mjs";
|
|
19
|
+
import Enhancement$5 from "./enhancement/functionDefaultProps.mjs";
|
|
20
|
+
import Enhancement$a from "./enhancement/hoistProps.mjs";
|
|
21
21
|
import i18nAppLocaleEnhance from "./enhancement/i18n.mjs";
|
|
22
|
-
import Enhancement$
|
|
23
|
-
import Enhancement$
|
|
24
|
-
import Enhancement$
|
|
25
|
-
import Enhancement$
|
|
26
|
-
import Enhancement$
|
|
22
|
+
import Enhancement$6 from "./enhancement/inheritedName.mjs";
|
|
23
|
+
import Enhancement$2 from "./enhancement/Root.mjs";
|
|
24
|
+
import Enhancement$4, { ROOT_COMPONENT, getterMethodNameByDisplayName, STATIC_COMPONENT } from "./enhancement/staticChildren.mjs";
|
|
25
|
+
import Enhancement$9 from "./enhancement/style.mjs";
|
|
26
|
+
import Enhancement$3 from "./enhancement/uncontrolledProps.mjs";
|
|
27
27
|
import assignProps$1 from "./utils/assignProps.mjs";
|
|
28
28
|
import { useForkRef } from "./utils/ref.mjs";
|
|
29
29
|
import useEnhancedEffect from "./utils/use/useEnhancedEffect.mjs";
|
|
@@ -134,32 +134,6 @@ function wrapClass(OriginComponent, enhancements, Context) {
|
|
|
134
134
|
this[CORE_AS_PROPS] = props.reduce(function(acc, enhancement) {
|
|
135
135
|
return enhancement.call(_this4, acc, WrapperComponent, false);
|
|
136
136
|
}, this.props);
|
|
137
|
-
if (this[CORE_AS_PROPS] !== null) {
|
|
138
|
-
var prefixesMap = /* @__PURE__ */ new Map();
|
|
139
|
-
Object.entries(this[CORE_AS_PROPS]).forEach(function(_ref3) {
|
|
140
|
-
var _ref4 = _slicedToArray(_ref3, 2), key2 = _ref4[0], value2 = _ref4[1];
|
|
141
|
-
var _key$split = key2.split(":"), _key$split2 = _slicedToArray(_key$split, 2), prefix = _key$split2[0], propertyKey = _key$split2[1];
|
|
142
|
-
if (prefix !== "use" && propertyKey) {
|
|
143
|
-
var _prefixesMap$get;
|
|
144
|
-
var obj = (_prefixesMap$get = prefixesMap.get(prefix)) !== null && _prefixesMap$get !== void 0 ? _prefixesMap$get : {};
|
|
145
|
-
obj[propertyKey] = value2;
|
|
146
|
-
prefixesMap.set(prefix, obj);
|
|
147
|
-
}
|
|
148
|
-
});
|
|
149
|
-
var _iterator = _createForOfIteratorHelper(prefixesMap.entries()), _step;
|
|
150
|
-
try {
|
|
151
|
-
for (_iterator.s(); !(_step = _iterator.n()).done; ) {
|
|
152
|
-
var _step$value = _slicedToArray(_step.value, 2), key = _step$value[0], value = _step$value[1];
|
|
153
|
-
Object.defineProperty(this[CORE_AS_PROPS], "".concat(key, "Props"), {
|
|
154
|
-
value
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
} catch (err) {
|
|
158
|
-
_iterator.e(err);
|
|
159
|
-
} finally {
|
|
160
|
-
_iterator.f();
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
137
|
}
|
|
164
138
|
return this[CORE_AS_PROPS];
|
|
165
139
|
}
|
|
@@ -239,8 +213,8 @@ function wrapFunction(OriginComponent, enhancements, Context) {
|
|
|
239
213
|
return WrapperComponent;
|
|
240
214
|
}
|
|
241
215
|
function wrapCore(OriginComponent, enhancements, Context) {
|
|
242
|
-
var Component2 = function Component3(
|
|
243
|
-
var Root =
|
|
216
|
+
var Component2 = function Component3(_ref3) {
|
|
217
|
+
var Root = _ref3.Root;
|
|
244
218
|
var defaultProps = OriginComponent.defaultProps || {};
|
|
245
219
|
return /* @__PURE__ */ React.createElement(Root, _extends({}, defaultProps, {
|
|
246
220
|
render: OriginComponent
|
|
@@ -290,24 +264,27 @@ function createComponent(OriginComponent) {
|
|
|
290
264
|
return f(context, parents, createComponent, childComponents);
|
|
291
265
|
})), [
|
|
292
266
|
i18nAppLocaleEnhance(),
|
|
293
|
-
Enhancement(
|
|
267
|
+
Enhancement(),
|
|
268
|
+
Enhancement$1(context, parents),
|
|
294
269
|
// root must be under the children
|
|
295
|
-
Enhancement$1(),
|
|
296
270
|
Enhancement$2(),
|
|
297
|
-
Enhancement$3(
|
|
271
|
+
Enhancement$3(),
|
|
272
|
+
Enhancement$4(childComponents, createComponent, {
|
|
298
273
|
context,
|
|
299
274
|
parent,
|
|
300
275
|
enhancements
|
|
301
276
|
}),
|
|
302
277
|
// functionDefaultProps must be under the staticChild
|
|
303
|
-
Enhancement$4(),
|
|
304
|
-
// inheritedName must be under the staticChild
|
|
305
278
|
Enhancement$5(),
|
|
306
|
-
//
|
|
279
|
+
// inheritedName must be under the staticChild
|
|
307
280
|
Enhancement$6(),
|
|
308
|
-
//
|
|
281
|
+
// dataName must be under the staticChild
|
|
309
282
|
Enhancement$7(),
|
|
310
|
-
|
|
283
|
+
// enhanceEnhancement must be under the functionDefaultPropsEnhancement
|
|
284
|
+
Enhancement$8(),
|
|
285
|
+
Enhancement$9(childComponents, context),
|
|
286
|
+
// must be the last one so any properties can be raised
|
|
287
|
+
Enhancement$a(childComponents, context)
|
|
311
288
|
]));
|
|
312
289
|
Component2[CONTEXT_COMPONENT] = context;
|
|
313
290
|
Component2._______childrenComponents = childComponents;
|
|
@@ -327,13 +304,17 @@ function createComponent(OriginComponent) {
|
|
|
327
304
|
return Component2;
|
|
328
305
|
}
|
|
329
306
|
function createBaseComponent(OriginComponent) {
|
|
330
|
-
var
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
307
|
+
var Component2 = null;
|
|
308
|
+
if (!React.PureComponent.isPrototypeOf(OriginComponent) && !React.Component.isPrototypeOf(OriginComponent) && typeof OriginComponent === "function") {
|
|
309
|
+
Component2 = /* @__PURE__ */ React.forwardRef(OriginComponent);
|
|
310
|
+
Component2.displayName = OriginComponent.displayName;
|
|
311
|
+
Component2.defaultProps = _objectSpread({
|
|
312
|
+
"data-ui-name": OriginComponent.displayName
|
|
313
|
+
}, OriginComponent.defaultProps);
|
|
314
|
+
Component2[CORE_COMPONENT] = true;
|
|
315
|
+
} else {
|
|
316
|
+
throw new Error("createBaseComponent accepts only functional component");
|
|
317
|
+
}
|
|
337
318
|
return Component2;
|
|
338
319
|
}
|
|
339
320
|
export {
|
|
@@ -5,7 +5,7 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
|
5
5
|
import React from "react";
|
|
6
6
|
import { CHILDREN_COMPONENT, CONTEXT_COMPONENT } from "../core-types/symbols.mjs";
|
|
7
7
|
var _excluded = ["handlers", "getters"], _excluded2 = ["handlers"];
|
|
8
|
-
var CHILDREN_SELF =
|
|
8
|
+
var CHILDREN_SELF = Symbol("CHILDREN_SELF");
|
|
9
9
|
var GETTER_REG = /^get[\w]+Props$/;
|
|
10
10
|
function splitPropsAndGetters(props) {
|
|
11
11
|
return Object.entries(props).reduce(function(acc, _ref) {
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
function arraysEqual(a, b) {
|
|
2
|
+
if (a.length !== b.length) return false;
|
|
3
|
+
for (var i = 0; i < a.length; i++) {
|
|
4
|
+
if (a[i] !== b[i]) return false;
|
|
5
|
+
}
|
|
6
|
+
return true;
|
|
7
|
+
}
|
|
8
|
+
function handlerBinder(fn) {
|
|
9
|
+
return function() {
|
|
10
|
+
for (var _len = arguments.length, depsArgs = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
11
|
+
depsArgs[_key] = arguments[_key];
|
|
12
|
+
}
|
|
13
|
+
var memoizeds = [];
|
|
14
|
+
if (handlerBinder.hasher.has(fn)) {
|
|
15
|
+
memoizeds = handlerBinder.hasher.get(fn);
|
|
16
|
+
var memoized = memoizeds.find(function(memoized2) {
|
|
17
|
+
return arraysEqual(memoized2.deps, depsArgs);
|
|
18
|
+
});
|
|
19
|
+
if (memoized) return memoized.fn;
|
|
20
|
+
}
|
|
21
|
+
var bindFn = fn.apply(void 0, depsArgs).bind(fn);
|
|
22
|
+
memoizeds.push({
|
|
23
|
+
deps: depsArgs,
|
|
24
|
+
fn: bindFn
|
|
25
|
+
});
|
|
26
|
+
handlerBinder.hasher.set(fn, memoizeds);
|
|
27
|
+
return bindFn;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
handlerBinder.hasher = /* @__PURE__ */ new WeakMap();
|
|
31
|
+
function Enhancement() {
|
|
32
|
+
return {
|
|
33
|
+
condition: function condition(_Component, isFunction) {
|
|
34
|
+
return !isFunction;
|
|
35
|
+
},
|
|
36
|
+
init: function init() {
|
|
37
|
+
var _this = this;
|
|
38
|
+
Object.keys(this).filter(function(field) {
|
|
39
|
+
return field.startsWith("bindHandler");
|
|
40
|
+
}).forEach(function(name) {
|
|
41
|
+
_this[name] = handlerBinder(_this[name].bind(_this));
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
export {
|
|
47
|
+
Enhancement as default
|
|
48
|
+
};
|