@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.
Files changed (150) hide show
  1. package/lib/core-types/Component.d.ts +79 -33
  2. package/lib/core-types/Component.js +46 -14
  3. package/lib/core-types/Component.js.map +1 -1
  4. package/lib/core-types/Component.mjs +7 -11
  5. package/lib/core-types/Component.mjs.map +1 -1
  6. package/lib/core-types/symbols.mjs +9 -9
  7. package/lib/coreFactory.d.ts +23 -6
  8. package/lib/coreFactory.js +22 -53
  9. package/lib/coreFactory.js.map +1 -1
  10. package/lib/coreFactory.mjs +35 -54
  11. package/lib/coreFactory.mjs.map +1 -1
  12. package/lib/enhancement/Children.mjs +1 -1
  13. package/lib/enhancement/bindHandler.d.ts +5 -0
  14. package/lib/enhancement/bindHandler.js +53 -0
  15. package/lib/enhancement/bindHandler.js.map +1 -0
  16. package/lib/enhancement/bindHandler.mjs +48 -0
  17. package/lib/enhancement/bindHandler.mjs.map +1 -0
  18. package/lib/enhancement/hoistProps.d.ts +10 -0
  19. package/lib/enhancement/hoistProps.js +95 -0
  20. package/lib/enhancement/hoistProps.js.map +1 -0
  21. package/lib/enhancement/hoistProps.mjs +78 -0
  22. package/lib/enhancement/hoistProps.mjs.map +1 -0
  23. package/lib/enhancement/staticChildren.mjs +3 -3
  24. package/lib/enhancement/style.mjs +2 -2
  25. package/lib/esm/core-types/Component.mjs +7 -11
  26. package/lib/esm/core-types/symbols.mjs +9 -9
  27. package/lib/esm/coreFactory.mjs +35 -54
  28. package/lib/esm/enhancement/Children.mjs +1 -1
  29. package/lib/esm/enhancement/bindHandler.mjs +48 -0
  30. package/lib/esm/enhancement/hoistProps.mjs +78 -0
  31. package/lib/esm/enhancement/staticChildren.mjs +3 -3
  32. package/lib/esm/enhancement/style.mjs +2 -2
  33. package/lib/esm/styled/sstyled.mjs +1 -1
  34. package/lib/esm/utils/createHoc.mjs +42 -0
  35. package/lib/esm/utils/enhances/WithI18n.mjs +46 -1
  36. package/lib/esm/utils/getDisplayName.mjs +6 -0
  37. package/lib/esm/utils/ref.mjs +14 -0
  38. package/lib/index.d.ts +3 -3
  39. package/lib/index.js.map +1 -1
  40. package/lib/index.mjs.map +1 -1
  41. package/lib/styled/index.d.ts +5 -1
  42. package/lib/styled/index.js.map +1 -1
  43. package/lib/styled/index.mjs.map +1 -1
  44. package/lib/styled/sstyled.mjs +1 -1
  45. package/lib/utils/ScreenReaderOnly.d.ts +8 -0
  46. package/lib/utils/ScreenReaderOnly.js +30 -0
  47. package/lib/utils/ScreenReaderOnly.js.map +1 -0
  48. package/lib/utils/ScreenReaderOnly.mjs +24 -0
  49. package/lib/utils/ScreenReaderOnly.mjs.map +1 -0
  50. package/lib/utils/createHoc.d.ts +3 -0
  51. package/lib/utils/createHoc.js +52 -0
  52. package/lib/utils/createHoc.js.map +1 -0
  53. package/lib/utils/createHoc.mjs +42 -0
  54. package/lib/utils/createHoc.mjs.map +1 -0
  55. package/lib/utils/enhances/WithAutoFocus.d.ts +14 -0
  56. package/lib/utils/enhances/WithAutoFocus.js +72 -0
  57. package/lib/utils/enhances/WithAutoFocus.js.map +1 -0
  58. package/lib/utils/enhances/WithAutoFocus.mjs +66 -0
  59. package/lib/utils/enhances/WithAutoFocus.mjs.map +1 -0
  60. package/lib/utils/enhances/WithCSS.d.ts +30 -2
  61. package/lib/utils/enhances/WithCSS.js +57 -4
  62. package/lib/utils/enhances/WithCSS.js.map +1 -1
  63. package/lib/utils/enhances/WithCSS.mjs +53 -2
  64. package/lib/utils/enhances/WithCSS.mjs.map +1 -1
  65. package/lib/utils/enhances/WithI18n.d.ts +30 -1
  66. package/lib/utils/enhances/WithI18n.js +57 -1
  67. package/lib/utils/enhances/WithI18n.js.map +1 -1
  68. package/lib/utils/enhances/WithI18n.mjs +46 -1
  69. package/lib/utils/enhances/WithI18n.mjs.map +1 -1
  70. package/lib/utils/enhances/WithKeyboardFocus.d.ts +46 -0
  71. package/lib/utils/enhances/WithKeyboardFocus.js +94 -0
  72. package/lib/utils/enhances/WithKeyboardFocus.js.map +1 -0
  73. package/lib/utils/enhances/WithKeyboardFocus.mjs +88 -0
  74. package/lib/utils/enhances/WithKeyboardFocus.mjs.map +1 -0
  75. package/lib/utils/enhances/WithRef.d.ts +3 -0
  76. package/lib/utils/enhances/WithRef.js +25 -0
  77. package/lib/utils/enhances/WithRef.js.map +1 -0
  78. package/lib/utils/enhances/WithRef.mjs +18 -0
  79. package/lib/utils/enhances/WithRef.mjs.map +1 -0
  80. package/lib/utils/enhances/animatedSizeEnhance.d.ts +4 -0
  81. package/lib/utils/enhances/animatedSizeEnhance.js +2 -0
  82. package/lib/utils/enhances/animatedSizeEnhance.js.map +1 -1
  83. package/lib/utils/enhances/animatedSizeEnhance.mjs +3 -0
  84. package/lib/utils/enhances/animatedSizeEnhance.mjs.map +1 -1
  85. package/lib/utils/enhances/autoFocusEnhance.d.ts +10 -0
  86. package/lib/utils/enhances/autoFocusEnhance.js +45 -0
  87. package/lib/utils/enhances/autoFocusEnhance.js.map +1 -0
  88. package/lib/utils/enhances/autoFocusEnhance.mjs +38 -0
  89. package/lib/utils/enhances/autoFocusEnhance.mjs.map +1 -0
  90. package/lib/utils/enhances/i18nEnhance.d.ts +4 -0
  91. package/lib/utils/enhances/i18nEnhance.js +2 -0
  92. package/lib/utils/enhances/i18nEnhance.js.map +1 -1
  93. package/lib/utils/enhances/i18nEnhance.mjs.map +1 -1
  94. package/lib/utils/enhances/keyboardFocusEnhance.d.ts +27 -0
  95. package/lib/utils/enhances/keyboardFocusEnhance.js +63 -0
  96. package/lib/utils/enhances/keyboardFocusEnhance.js.map +1 -0
  97. package/lib/utils/enhances/keyboardFocusEnhance.mjs +57 -0
  98. package/lib/utils/enhances/keyboardFocusEnhance.mjs.map +1 -0
  99. package/lib/utils/eventEmitter.d.ts +6 -10
  100. package/lib/utils/eventEmitter.js +27 -55
  101. package/lib/utils/eventEmitter.js.map +1 -1
  102. package/lib/utils/eventEmitter.mjs +27 -55
  103. package/lib/utils/eventEmitter.mjs.map +1 -1
  104. package/lib/utils/getDisplayName.mjs +5 -3
  105. package/lib/utils/if.d.ts +11 -0
  106. package/lib/utils/if.js +15 -0
  107. package/lib/utils/if.js.map +1 -0
  108. package/lib/utils/if.mjs +9 -0
  109. package/lib/utils/if.mjs.map +1 -0
  110. package/lib/utils/injectStyle.js +1 -1
  111. package/lib/utils/injectStyle.mjs +1 -1
  112. package/lib/utils/ref.d.ts +3 -1
  113. package/lib/utils/ref.js +14 -0
  114. package/lib/utils/ref.js.map +1 -1
  115. package/lib/utils/ref.mjs +14 -0
  116. package/lib/utils/ref.mjs.map +1 -1
  117. package/lib/utils/uniqueID.d.ts +4 -0
  118. package/lib/utils/uniqueID.js +3 -1
  119. package/lib/utils/uniqueID.js.map +1 -1
  120. package/lib/utils/uniqueID.mjs +4 -1
  121. package/lib/utils/uniqueID.mjs.map +1 -1
  122. package/lib/utils/use/useColorResolver.js +1 -1
  123. package/lib/utils/use/useColorResolver.js.map +1 -1
  124. package/lib/utils/use/useColorResolver.mjs +1 -1
  125. package/lib/utils/use/useColorResolver.mjs.map +1 -1
  126. package/lib/utils/use/useCss.d.ts +4 -0
  127. package/lib/utils/use/useCss.js +19 -0
  128. package/lib/utils/use/useCss.js.map +1 -0
  129. package/lib/utils/use/useCss.mjs +12 -0
  130. package/lib/utils/use/useCss.mjs.map +1 -0
  131. package/lib/utils/use/useEnhancedEffect.d.ts +1 -1
  132. package/lib/utils/zIndexStacking.d.ts +1 -3
  133. package/lib/utils/zIndexStacking.js.map +1 -1
  134. package/lib/utils/zIndexStacking.mjs.map +1 -1
  135. package/package.json +1 -1
  136. package/lib/decorators/propsObserver.d.ts +0 -11
  137. package/lib/decorators/propsObserver.js +0 -77
  138. package/lib/decorators/propsObserver.js.map +0 -1
  139. package/lib/decorators/propsObserver.mjs +0 -70
  140. package/lib/decorators/propsObserver.mjs.map +0 -1
  141. package/lib/decorators/reactive.d.ts +0 -11
  142. package/lib/decorators/reactive.js +0 -51
  143. package/lib/decorators/reactive.js.map +0 -1
  144. package/lib/decorators/reactive.mjs +0 -45
  145. package/lib/decorators/reactive.mjs.map +0 -1
  146. package/lib/utils/indentStyles.d.ts +0 -3
  147. package/lib/utils/indentStyles.js +0 -45
  148. package/lib/utils/indentStyles.js.map +0 -1
  149. package/lib/utils/indentStyles.mjs +0 -36
  150. 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":"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","ignoreList":[]}
@@ -31,9 +31,9 @@ function flatGetterMethodNames(childComponents, parentName) {
31
31
  return acc;
32
32
  }, []);
33
33
  }
34
- var STATIC_COMPONENT = /* @__PURE__ */ Symbol("STATIC_COMPONENT");
35
- var ROOT_COMPONENT = /* @__PURE__ */ Symbol("ROOT_COMPONENT");
36
- var SELF_GETTER_METHOD = /* @__PURE__ */ Symbol("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 = /* @__PURE__ */ Symbol("STYLES_CONTEXT");
10
- var STYLES_SELF = /* @__PURE__ */ Symbol("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 Component = /* @__PURE__ */ (function(_PureComponent) {
9
- function Component2() {
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, Component2);
15
- _this = _callSuper(this, Component2, [].concat(args));
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(Component2, _PureComponent);
21
- return _createClass(Component2, [{
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 = /* @__PURE__ */ Symbol("CORE_COMPONENT");
2
- var CORE_INSTANCE = /* @__PURE__ */ Symbol("CORE_INSTANCE");
3
- var CORE_AS_PROPS = /* @__PURE__ */ Symbol("CORE_AS_PROPS");
4
- var CORE_INIT = /* @__PURE__ */ Symbol("CORE_INIT");
5
- var CONTEXT_COMPONENT = /* @__PURE__ */ Symbol("CONTEXT_COMPONENT");
6
- var CREATE_COMPONENT = /* @__PURE__ */ Symbol("CREATE_COMPONENT");
7
- var PARENT_COMPONENTS = /* @__PURE__ */ Symbol("PARENT_COMPONENTS");
8
- var CHILDREN_COMPONENT = /* @__PURE__ */ Symbol("CHILDREN_COMPONENT");
9
- var INHERITED_NAME = /* @__PURE__ */ Symbol("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,
@@ -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/Children.mjs";
18
- import Enhancement$6 from "./enhancement/dataName.mjs";
19
- import Enhancement$7 from "./enhancement/enhance.mjs";
20
- import Enhancement$4 from "./enhancement/functionDefaultProps.mjs";
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$5 from "./enhancement/inheritedName.mjs";
23
- import Enhancement$1 from "./enhancement/Root.mjs";
24
- import Enhancement$3, { ROOT_COMPONENT, getterMethodNameByDisplayName, STATIC_COMPONENT } from "./enhancement/staticChildren.mjs";
25
- import Enhancement$8 from "./enhancement/style.mjs";
26
- import Enhancement$2 from "./enhancement/uncontrolledProps.mjs";
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(_ref5) {
243
- var Root = _ref5.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(context, parents),
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(childComponents, createComponent, {
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
- // dataName must be under the staticChild
279
+ // inheritedName must be under the staticChild
307
280
  Enhancement$6(),
308
- // enhanceEnhancement must be under the functionDefaultPropsEnhancement
281
+ // dataName must be under the staticChild
309
282
  Enhancement$7(),
310
- Enhancement$8(childComponents, context)
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 _OriginComponent$disp;
331
- var Component2 = /* @__PURE__ */ React.forwardRef(OriginComponent);
332
- Component2.displayName = (_OriginComponent$disp = OriginComponent.displayName) !== null && _OriginComponent$disp !== void 0 ? _OriginComponent$disp : "";
333
- Component2.defaultProps = {
334
- "data-ui-name": OriginComponent.displayName
335
- };
336
- Component2[CORE_COMPONENT] = true;
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 = /* @__PURE__ */ Symbol("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
+ };