@semcore/core 16.0.0-prerelease.6 → 16.0.0-prerelease.7

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 (226) hide show
  1. package/lib/LastInteractionType.mjs +16 -14
  2. package/lib/core-types/Component.mjs +22 -25
  3. package/lib/core-types/symbols.mjs +20 -10
  4. package/lib/coreFactory.mjs +154 -173
  5. package/lib/enhancement/Children.mjs +30 -45
  6. package/lib/enhancement/Root.mjs +22 -32
  7. package/lib/enhancement/bindHandler.mjs +10 -9
  8. package/lib/enhancement/dataName.mjs +4 -3
  9. package/lib/enhancement/enhance.mjs +4 -3
  10. package/lib/enhancement/functionDefaultProps.mjs +5 -5
  11. package/lib/enhancement/hoistProps.mjs +18 -28
  12. package/lib/enhancement/i18n.mjs +6 -6
  13. package/lib/enhancement/inheritedName.mjs +3 -2
  14. package/lib/enhancement/staticChildren.mjs +32 -35
  15. package/lib/enhancement/style.mjs +13 -14
  16. package/lib/enhancement/uncontrolledProps.mjs +21 -37
  17. package/lib/esm/LastInteractionType.mjs +51 -0
  18. package/lib/esm/core-types/Component.mjs +51 -0
  19. package/lib/esm/core-types/symbols.mjs +20 -0
  20. package/lib/esm/coreFactory.mjs +324 -0
  21. package/lib/esm/enhancement/Children.mjs +96 -0
  22. package/lib/esm/enhancement/Root.mjs +60 -0
  23. package/lib/esm/enhancement/bindHandler.mjs +48 -0
  24. package/lib/esm/enhancement/dataName.mjs +13 -0
  25. package/lib/esm/enhancement/enhance.mjs +16 -0
  26. package/lib/esm/enhancement/functionDefaultProps.mjs +29 -0
  27. package/lib/esm/enhancement/hoistProps.mjs +78 -0
  28. package/lib/esm/enhancement/i18n.mjs +20 -0
  29. package/lib/esm/enhancement/inheritedName.mjs +16 -0
  30. package/lib/esm/enhancement/staticChildren.mjs +120 -0
  31. package/lib/esm/enhancement/style.mjs +50 -0
  32. package/lib/esm/enhancement/uncontrolledProps.mjs +107 -0
  33. package/lib/esm/index.mjs +23 -0
  34. package/lib/esm/register.mjs +31 -0
  35. package/lib/esm/styled/reshadow-core.mjs +18 -0
  36. package/lib/esm/styled/sstyled.mjs +121 -0
  37. package/lib/esm/utils/assignProps.mjs +76 -0
  38. package/lib/esm/utils/canUseDOM.mjs +6 -0
  39. package/lib/esm/utils/capitalizeFirstLetter.mjs +6 -0
  40. package/lib/esm/utils/enhances/WithI18n.mjs +54 -0
  41. package/lib/esm/utils/logger.mjs +35 -0
  42. package/lib/esm/utils/pick.mjs +15 -0
  43. package/lib/esm/utils/ref.mjs +43 -0
  44. package/lib/esm/utils/use/useEnhancedEffect.mjs +6 -0
  45. package/lib/index.mjs +22 -8
  46. package/lib/register.mjs +10 -8
  47. package/lib/styled/reshadow-core.mjs +8 -233
  48. package/lib/styled/sstyled.mjs +38 -59
  49. package/lib/utils/assignProps.mjs +25 -33
  50. package/lib/utils/canUseDOM.mjs +5 -3
  51. package/lib/utils/capitalizeFirstLetter.mjs +4 -2
  52. package/lib/utils/enhances/WithI18n.mjs +22 -51
  53. package/lib/utils/logger.mjs +16 -13
  54. package/lib/utils/pick.mjs +4 -2
  55. package/lib/utils/ref.mjs +19 -59
  56. package/lib/utils/use/useEnhancedEffect.mjs +4 -3
  57. package/package.json +2 -2
  58. package/vite.config.ts +8 -0
  59. package/lib/LastInteractionType.mjs.map +0 -1
  60. package/lib/core-types/Component.mjs.map +0 -1
  61. package/lib/core-types/UnknownProperties.mjs +0 -2
  62. package/lib/core-types/UnknownProperties.mjs.map +0 -1
  63. package/lib/core-types/reshadow.d.mjs +0 -2
  64. package/lib/core-types/reshadow.d.mjs.map +0 -1
  65. package/lib/core-types/symbols.mjs.map +0 -1
  66. package/lib/coreFactory.mjs.map +0 -1
  67. package/lib/enhancement/Children.mjs.map +0 -1
  68. package/lib/enhancement/Root.mjs.map +0 -1
  69. package/lib/enhancement/bindHandler.mjs.map +0 -1
  70. package/lib/enhancement/dataName.mjs.map +0 -1
  71. package/lib/enhancement/enhance.mjs.map +0 -1
  72. package/lib/enhancement/functionDefaultProps.mjs.map +0 -1
  73. package/lib/enhancement/hoistProps.mjs.map +0 -1
  74. package/lib/enhancement/i18n.mjs.map +0 -1
  75. package/lib/enhancement/inheritedName.mjs.map +0 -1
  76. package/lib/enhancement/staticChildren.mjs.map +0 -1
  77. package/lib/enhancement/style.mjs.map +0 -1
  78. package/lib/enhancement/uncontrolledProps.mjs.map +0 -1
  79. package/lib/index.mjs.map +0 -1
  80. package/lib/register.mjs.map +0 -1
  81. package/lib/styled/index.mjs +0 -6
  82. package/lib/styled/index.mjs.map +0 -1
  83. package/lib/styled/reshadow-core.mjs.map +0 -1
  84. package/lib/styled/sstyled.mjs.map +0 -1
  85. package/lib/theme/processor.mjs +0 -307
  86. package/lib/theme/processor.mjs.map +0 -1
  87. package/lib/theme/themes/dark.mjs +0 -378
  88. package/lib/theme/themes/dark.mjs.map +0 -1
  89. package/lib/theme/themes/default.mjs +0 -387
  90. package/lib/theme/themes/default.mjs.map +0 -1
  91. package/lib/theme/themes/light.mjs +0 -387
  92. package/lib/theme/themes/light.mjs.map +0 -1
  93. package/lib/theme/utils.mjs +0 -286
  94. package/lib/theme/utils.mjs.map +0 -1
  95. package/lib/utils/CSSinJS.mjs +0 -28
  96. package/lib/utils/CSSinJS.mjs.map +0 -1
  97. package/lib/utils/ScreenReaderOnly.mjs +0 -24
  98. package/lib/utils/ScreenReaderOnly.mjs.map +0 -1
  99. package/lib/utils/ThemeProvider.mjs +0 -71
  100. package/lib/utils/ThemeProvider.mjs.map +0 -1
  101. package/lib/utils/addonText.mjs +0 -11
  102. package/lib/utils/addonText.mjs.map +0 -1
  103. package/lib/utils/addonTextChildren.mjs +0 -37
  104. package/lib/utils/addonTextChildren.mjs.map +0 -1
  105. package/lib/utils/ariaProps.mjs +0 -16
  106. package/lib/utils/ariaProps.mjs.map +0 -1
  107. package/lib/utils/assignProps.mjs.map +0 -1
  108. package/lib/utils/canUseDOM.mjs.map +0 -1
  109. package/lib/utils/capitalizeFirstLetter.mjs.map +0 -1
  110. package/lib/utils/color.mjs +0 -196
  111. package/lib/utils/color.mjs.map +0 -1
  112. package/lib/utils/compose.mjs +0 -15
  113. package/lib/utils/compose.mjs.map +0 -1
  114. package/lib/utils/createHoc.mjs +0 -46
  115. package/lib/utils/createHoc.mjs.map +0 -1
  116. package/lib/utils/createUUID.mjs +0 -9
  117. package/lib/utils/createUUID.mjs.map +0 -1
  118. package/lib/utils/cssToIntDefault.mjs +0 -16
  119. package/lib/utils/cssToIntDefault.mjs.map +0 -1
  120. package/lib/utils/enhances/WithAutoFocus.mjs +0 -67
  121. package/lib/utils/enhances/WithAutoFocus.mjs.map +0 -1
  122. package/lib/utils/enhances/WithCSS.mjs +0 -79
  123. package/lib/utils/enhances/WithCSS.mjs.map +0 -1
  124. package/lib/utils/enhances/WithI18n.mjs.map +0 -1
  125. package/lib/utils/enhances/WithKeyboardFocus.mjs +0 -84
  126. package/lib/utils/enhances/WithKeyboardFocus.mjs.map +0 -1
  127. package/lib/utils/enhances/WithRef.mjs +0 -18
  128. package/lib/utils/enhances/WithRef.mjs.map +0 -1
  129. package/lib/utils/enhances/a11yEnhance.mjs +0 -66
  130. package/lib/utils/enhances/a11yEnhance.mjs.map +0 -1
  131. package/lib/utils/enhances/animatedSizeEnhance.mjs +0 -90
  132. package/lib/utils/enhances/animatedSizeEnhance.mjs.map +0 -1
  133. package/lib/utils/enhances/autoFocusEnhance.mjs +0 -38
  134. package/lib/utils/enhances/autoFocusEnhance.mjs.map +0 -1
  135. package/lib/utils/enhances/contextEnhance.mjs +0 -14
  136. package/lib/utils/enhances/contextEnhance.mjs.map +0 -1
  137. package/lib/utils/enhances/i18nEnhance.mjs +0 -92
  138. package/lib/utils/enhances/i18nEnhance.mjs.map +0 -1
  139. package/lib/utils/enhances/keyboardFocusEnhance.mjs +0 -57
  140. package/lib/utils/enhances/keyboardFocusEnhance.mjs.map +0 -1
  141. package/lib/utils/enhances/resolveColorEnhance.mjs +0 -17
  142. package/lib/utils/enhances/resolveColorEnhance.mjs.map +0 -1
  143. package/lib/utils/eventEmitter.mjs +0 -34
  144. package/lib/utils/eventEmitter.mjs.map +0 -1
  145. package/lib/utils/findComponent.mjs +0 -95
  146. package/lib/utils/findComponent.mjs.map +0 -1
  147. package/lib/utils/fire.mjs +0 -15
  148. package/lib/utils/fire.mjs.map +0 -1
  149. package/lib/utils/focus-lock/focusBorders.mjs +0 -62
  150. package/lib/utils/focus-lock/focusBorders.mjs.map +0 -1
  151. package/lib/utils/focus-lock/getFocusableIn.mjs +0 -19
  152. package/lib/utils/focus-lock/getFocusableIn.mjs.map +0 -1
  153. package/lib/utils/focus-lock/isFocusInside.mjs +0 -9
  154. package/lib/utils/focus-lock/isFocusInside.mjs.map +0 -1
  155. package/lib/utils/focus-lock/isFocusable.mjs +0 -43
  156. package/lib/utils/focus-lock/isFocusable.mjs.map +0 -1
  157. package/lib/utils/focus-lock/setFocus.mjs +0 -55
  158. package/lib/utils/focus-lock/setFocus.mjs.map +0 -1
  159. package/lib/utils/getAccessibleName.mjs +0 -49
  160. package/lib/utils/getAccessibleName.mjs.map +0 -1
  161. package/lib/utils/getDisplayName.mjs +0 -4
  162. package/lib/utils/getDisplayName.mjs.map +0 -1
  163. package/lib/utils/getEventTarget.mjs +0 -45
  164. package/lib/utils/getEventTarget.mjs.map +0 -1
  165. package/lib/utils/getOriginChildren.mjs +0 -10
  166. package/lib/utils/getOriginChildren.mjs.map +0 -1
  167. package/lib/utils/getRandomInt.mjs +0 -5
  168. package/lib/utils/getRandomInt.mjs.map +0 -1
  169. package/lib/utils/getValue.mjs +0 -10
  170. package/lib/utils/getValue.mjs.map +0 -1
  171. package/lib/utils/hasLabels.mjs +0 -39
  172. package/lib/utils/hasLabels.mjs.map +0 -1
  173. package/lib/utils/hasParent.mjs +0 -7
  174. package/lib/utils/hasParent.mjs.map +0 -1
  175. package/lib/utils/if.mjs +0 -9
  176. package/lib/utils/if.mjs.map +0 -1
  177. package/lib/utils/ifChildren.mjs +0 -10
  178. package/lib/utils/ifChildren.mjs.map +0 -1
  179. package/lib/utils/injectStyle.mjs +0 -41
  180. package/lib/utils/injectStyle.mjs.map +0 -1
  181. package/lib/utils/inputProps.mjs +0 -14
  182. package/lib/utils/inputProps.mjs.map +0 -1
  183. package/lib/utils/isNode.mjs +0 -21
  184. package/lib/utils/isNode.mjs.map +0 -1
  185. package/lib/utils/isPromise.mjs +0 -4
  186. package/lib/utils/isPromise.mjs.map +0 -1
  187. package/lib/utils/isRetina.mjs +0 -9
  188. package/lib/utils/isRetina.mjs.map +0 -1
  189. package/lib/utils/logger.mjs.map +0 -1
  190. package/lib/utils/numericChecker.mjs +0 -27
  191. package/lib/utils/numericChecker.mjs.map +0 -1
  192. package/lib/utils/ownerDocument.mjs +0 -4
  193. package/lib/utils/ownerDocument.mjs.map +0 -1
  194. package/lib/utils/pick.mjs.map +0 -1
  195. package/lib/utils/propsForElement.mjs +0 -50
  196. package/lib/utils/propsForElement.mjs.map +0 -1
  197. package/lib/utils/rafTrottle.mjs +0 -26
  198. package/lib/utils/rafTrottle.mjs.map +0 -1
  199. package/lib/utils/reactToText.mjs +0 -26
  200. package/lib/utils/reactToText.mjs.map +0 -1
  201. package/lib/utils/ref.mjs.map +0 -1
  202. package/lib/utils/setRef.mjs +0 -3
  203. package/lib/utils/setRef.mjs.map +0 -1
  204. package/lib/utils/syncScroll.mjs +0 -54
  205. package/lib/utils/syncScroll.mjs.map +0 -1
  206. package/lib/utils/uncontroll.mjs +0 -38
  207. package/lib/utils/uncontroll.mjs.map +0 -1
  208. package/lib/utils/uniqueID.mjs +0 -33
  209. package/lib/utils/uniqueID.mjs.map +0 -1
  210. package/lib/utils/use/useColorResolver.mjs +0 -200
  211. package/lib/utils/use/useColorResolver.mjs.map +0 -1
  212. package/lib/utils/use/useCss.mjs +0 -12
  213. package/lib/utils/use/useCss.mjs.map +0 -1
  214. package/lib/utils/use/useEnhancedEffect.mjs.map +0 -1
  215. package/lib/utils/use/useEventCallback.mjs +0 -19
  216. package/lib/utils/use/useEventCallback.mjs.map +0 -1
  217. package/lib/utils/use/useEventListener.mjs +0 -25
  218. package/lib/utils/use/useEventListener.mjs.map +0 -1
  219. package/lib/utils/use/useFocusLock.mjs +0 -266
  220. package/lib/utils/use/useFocusLock.mjs.map +0 -1
  221. package/lib/utils/use/usePreventScroll.mjs +0 -70
  222. package/lib/utils/use/usePreventScroll.mjs.map +0 -1
  223. package/lib/utils/useCssVariable.mjs +0 -46
  224. package/lib/utils/useCssVariable.mjs.map +0 -1
  225. package/lib/utils/zIndexStacking.mjs +0 -38
  226. package/lib/utils/zIndexStacking.mjs.map +0 -1
@@ -1,49 +1,38 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
2
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
- var _excluded = ["render"],
5
- _excluded2 = ["Root", "styles", "children", "Children", "forwardRef"];
6
- import React from 'react';
4
+ import React from "react";
7
5
  import assignProps from "../utils/assignProps.mjs";
8
6
  import { useForkRef } from "../utils/ref.mjs";
7
+ var _excluded = ["render"], _excluded2 = ["Root", "styles", "children", "Children", "forwardRef"];
9
8
  function createRootRender() {
10
- // @ts-ignore
11
- var Root = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
12
- var Tag = _ref.render,
13
- source = _objectWithoutProperties(_ref, _excluded);
14
- var _Root$props = Root.props,
15
- _Root = _Root$props.Root,
16
- styles = _Root$props.styles,
17
- children = _Root$props.children,
18
- Children = _Root$props.Children,
19
- _Root$props$forwardRe = _Root$props.forwardRef,
20
- forwardRef = _Root$props$forwardRe === void 0 ? null : _Root$props$forwardRe,
21
- props = _objectWithoutProperties(_Root$props, _excluded2);
22
- var clearProps = Object.entries(props).reduce(function (props, _ref2) {
23
- var _ref3 = _slicedToArray(_ref2, 2),
24
- name = _ref3[0],
25
- value = _ref3[1];
26
- if (value !== undefined) {
27
- props[name] = value;
9
+ var Root = /* @__PURE__ */ React.forwardRef(function(_ref, ref) {
10
+ var Tag = _ref.render, source = _objectWithoutProperties(_ref, _excluded);
11
+ var _Root$props = Root.props;
12
+ _Root$props.Root;
13
+ _Root$props.styles;
14
+ _Root$props.children;
15
+ var Children = _Root$props.Children, _Root$props$forwardRe = _Root$props.forwardRef, forwardRef = _Root$props$forwardRe === void 0 ? null : _Root$props$forwardRe, props = _objectWithoutProperties(_Root$props, _excluded2);
16
+ var clearProps = Object.entries(props).reduce(function(props2, _ref2) {
17
+ var _ref3 = _slicedToArray(_ref2, 2), name = _ref3[0], value = _ref3[1];
18
+ if (value !== void 0) {
19
+ props2[name] = value;
28
20
  }
29
- return props;
21
+ return props2;
30
22
  }, {});
31
23
  var child = {};
32
- // TODO: need to find better check solution (by lsroman)
33
- if (typeof Children.origin !== 'undefined') {
34
- // @ts-ignore
35
- child.children = /*#__PURE__*/React.createElement(Children, null);
24
+ if (typeof Children.origin !== "undefined") {
25
+ child.children = /* @__PURE__ */ React.createElement(Children, null);
36
26
  }
37
27
  var other = assignProps(_objectSpread(_objectSpread({}, clearProps), {}, {
38
28
  ref: useForkRef(forwardRef, ref)
39
29
  }), _objectSpread(_objectSpread({}, child), source));
40
30
  if (!Tag) {
41
- throw new Error('`render` prop of Root is not provided');
31
+ throw new Error("`render` prop of Root is not provided");
42
32
  }
43
- if (Tag === React.Fragment) return /*#__PURE__*/React.createElement(React.Fragment, null, other.children);
44
- return /*#__PURE__*/React.createElement(Tag, other);
33
+ if (Tag === React.Fragment) return /* @__PURE__ */ React.createElement(React.Fragment, null, other.children);
34
+ return /* @__PURE__ */ React.createElement(Tag, other);
45
35
  });
46
- // @ts-ignore
47
36
  Root.props = {};
48
37
  return Root;
49
38
  }
@@ -66,5 +55,6 @@ function Enhancement() {
66
55
  }
67
56
  };
68
57
  }
69
- export default Enhancement;
70
- //# sourceMappingURL=Root.mjs.map
58
+ export {
59
+ Enhancement as default
60
+ };
@@ -6,15 +6,15 @@ function arraysEqual(a, b) {
6
6
  return true;
7
7
  }
8
8
  function handlerBinder(fn) {
9
- return function () {
9
+ return function() {
10
10
  for (var _len = arguments.length, depsArgs = new Array(_len), _key = 0; _key < _len; _key++) {
11
11
  depsArgs[_key] = arguments[_key];
12
12
  }
13
13
  var memoizeds = [];
14
14
  if (handlerBinder.hasher.has(fn)) {
15
15
  memoizeds = handlerBinder.hasher.get(fn);
16
- var memoized = memoizeds.find(function (memoized) {
17
- return arraysEqual(memoized.deps, depsArgs);
16
+ var memoized = memoizeds.find(function(memoized2) {
17
+ return arraysEqual(memoized2.deps, depsArgs);
18
18
  });
19
19
  if (memoized) return memoized.fn;
20
20
  }
@@ -27,7 +27,7 @@ function handlerBinder(fn) {
27
27
  return bindFn;
28
28
  };
29
29
  }
30
- handlerBinder.hasher = new WeakMap();
30
+ handlerBinder.hasher = /* @__PURE__ */ new WeakMap();
31
31
  function Enhancement() {
32
32
  return {
33
33
  condition: function condition(Component, isFunction) {
@@ -35,13 +35,14 @@ function Enhancement() {
35
35
  },
36
36
  init: function init() {
37
37
  var _this = this;
38
- Object.keys(this).filter(function (field) {
39
- return field.startsWith('bindHandler');
40
- }).forEach(function (name) {
38
+ Object.keys(this).filter(function(field) {
39
+ return field.startsWith("bindHandler");
40
+ }).forEach(function(name) {
41
41
  _this[name] = handlerBinder(_this[name].bind(_this));
42
42
  });
43
43
  }
44
44
  };
45
45
  }
46
- export default Enhancement;
47
- //# sourceMappingURL=bindHandler.mjs.map
46
+ export {
47
+ Enhancement as default
48
+ };
@@ -3,10 +3,11 @@ function Enhancement() {
3
3
  return {
4
4
  wrapperProps: function wrapperProps(props, WrapperComponent) {
5
5
  return _objectSpread({
6
- 'data-ui-name': WrapperComponent.displayName
6
+ "data-ui-name": WrapperComponent.displayName
7
7
  }, props);
8
8
  }
9
9
  };
10
10
  }
11
- export default Enhancement;
12
- //# sourceMappingURL=dataName.mjs.map
11
+ export {
12
+ Enhancement as default
13
+ };
@@ -5,11 +5,12 @@ function Enhancement() {
5
5
  return Boolean((_Component$enhance = Component.enhance) === null || _Component$enhance === void 0 ? void 0 : _Component$enhance.length);
6
6
  },
7
7
  wrapperProps: function wrapperProps(props, WrapperComponent) {
8
- return WrapperComponent.enhance.reduce(function (acc, enhance) {
8
+ return WrapperComponent.enhance.reduce(function(acc, enhance) {
9
9
  return enhance(acc);
10
10
  }, props);
11
11
  }
12
12
  };
13
13
  }
14
- export default Enhancement;
15
- //# sourceMappingURL=enhance.mjs.map
14
+ export {
15
+ Enhancement as default
16
+ };
@@ -5,7 +5,7 @@ function Enhancement() {
5
5
  if (!Component.defaultProps) {
6
6
  return false;
7
7
  }
8
- if (typeof Component.defaultProps === 'function') {
8
+ if (typeof Component.defaultProps === "function") {
9
9
  return true;
10
10
  }
11
11
  return Boolean(Object.keys(Component.defaultProps).length);
@@ -17,13 +17,13 @@ function Enhancement() {
17
17
  };
18
18
  },
19
19
  wrapperProps: function wrapperProps(props) {
20
- if (typeof defaultProps === 'function') {
21
- // TODO: optimization
20
+ if (typeof defaultProps === "function") {
22
21
  return Object.assign({}, defaultProps(props), props);
23
22
  }
24
23
  return Object.assign({}, defaultProps, props);
25
24
  }
26
25
  };
27
26
  }
28
- export default Enhancement;
29
- //# sourceMappingURL=functionDefaultProps.mjs.map
27
+ export {
28
+ Enhancement as default
29
+ };
@@ -2,15 +2,15 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
2
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
3
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
4
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
5
- import React from 'react';
5
+ import React from "react";
6
6
  import assignProps from "../utils/assignProps.mjs";
7
7
  import useEnhancedEffect from "../utils/use/useEnhancedEffect.mjs";
8
8
  import pick from "../utils/pick.mjs";
9
- export var HOIST_CONTEXT = Symbol('HOIST_CONTEXT');
10
- var HOIST_SELF = Symbol('HOIST_SELF');
11
- var HOIST_SET = Symbol('HOIST_SET');
9
+ var HOIST_CONTEXT = Symbol("HOIST_CONTEXT");
10
+ var HOIST_SELF = Symbol("HOIST_SELF");
11
+ var HOIST_SET = Symbol("HOIST_SET");
12
12
  function flatChildComponent(childComponents) {
13
- return Object.values(childComponents).reduce(function (acc, Component) {
13
+ return Object.values(childComponents).reduce(function(acc, Component) {
14
14
  if (Array.isArray(Component)) {
15
15
  acc.push(Component[0]);
16
16
  acc.push.apply(acc, _toConsumableArray(flatChildComponent(Component[1])));
@@ -20,61 +20,49 @@ function flatChildComponent(childComponents) {
20
20
  return acc;
21
21
  }, []);
22
22
  }
23
-
24
- /** @deprecated Doesn't work in ssr and sometimes breakes rulles of hooks. We should never use it. */
25
23
  function Enhancement(childComponents, Context) {
26
24
  return {
27
25
  condition: function condition(Component) {
28
- return [Component].concat(_toConsumableArray(flatChildComponent(childComponents))).some(function (Component) {
26
+ return [Component].concat(_toConsumableArray(flatChildComponent(childComponents))).some(function(Component2) {
29
27
  var _Component$hoistProps;
30
- return Boolean((_Component$hoistProps = Component.hoistProps) === null || _Component$hoistProps === void 0 ? void 0 : _Component$hoistProps.length);
28
+ return Boolean((_Component$hoistProps = Component2.hoistProps) === null || _Component$hoistProps === void 0 ? void 0 : _Component$hoistProps.length);
31
29
  });
32
30
  },
33
31
  init: function init(props, WrapperComponent, isFunction) {
34
32
  var _this = this;
35
33
  if (isFunction) {
36
- // TODO: might breake rules of hooks (by lsroman)
37
34
  this[HOIST_SELF] = React.useState({});
38
35
  } else {
39
- this[HOIST_SELF] = [{}, function (obj) {
36
+ this[HOIST_SELF] = [{}, function(obj) {
40
37
  _this[HOIST_SELF][0] = obj;
41
38
  _this.forceUpdate();
42
39
  }];
43
40
  }
44
- // For optimization render
45
- this[HOIST_SET] = function (obj) {
41
+ this[HOIST_SET] = function(obj) {
46
42
  _this[HOIST_SELF][1](obj);
47
43
  };
48
44
  },
49
45
  context: function context(_context) {
50
- // TODO: need to optimizte container initialization (by lsroman)
51
- // WrapperComponent.hoistProps
52
46
  return _objectSpread(_objectSpread({}, _context), {}, _defineProperty({}, HOIST_CONTEXT, this[HOIST_SET]));
53
47
  },
54
48
  asProps: function asProps(props) {
55
- // TODO: need to check for no props overwriting (by lsroman)
56
49
  return assignProps(this[HOIST_SELF][0], props);
57
50
  },
58
51
  wrapperProps: function wrapperProps(props, WrapperComponent) {
59
52
  var _WrapperComponent$hoi;
60
53
  if ((_WrapperComponent$hoi = WrapperComponent.hoistProps) !== null && _WrapperComponent$hoi !== void 0 && _WrapperComponent$hoi.length) {
61
54
  var context = React.useContext(Context);
62
- var renameProps = WrapperComponent.hoistProps.reduce(function (acc, propName) {
63
- var _propName$split = propName.split(':'),
64
- _propName$split2 = _slicedToArray(_propName$split, 2),
65
- name = _propName$split2[0],
66
- rename = _propName$split2[1];
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];
67
57
  acc[name] = rename || name;
68
58
  return acc;
69
59
  }, {});
70
- var hoistProps = Object.entries(pick(props, Object.keys(renameProps))).reduce(function (acc, _ref) {
71
- var _ref2 = _slicedToArray(_ref, 2),
72
- name = _ref2[0],
73
- value = _ref2[1];
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];
74
62
  acc[renameProps[name]] = value;
75
63
  return acc;
76
64
  }, {});
77
- useEnhancedEffect(function () {
65
+ useEnhancedEffect(function() {
78
66
  if (context[HOIST_CONTEXT]) {
79
67
  context[HOIST_CONTEXT](hoistProps);
80
68
  }
@@ -84,5 +72,7 @@ function Enhancement(childComponents, Context) {
84
72
  }
85
73
  };
86
74
  }
87
- export default Enhancement;
88
- //# sourceMappingURL=hoistProps.mjs.map
75
+ export {
76
+ HOIST_CONTEXT,
77
+ Enhancement as default
78
+ };
@@ -1,13 +1,12 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- var _excluded = ["locale"];
4
- import React from 'react';
3
+ import React from "react";
5
4
  import { Context } from "../utils/enhances/WithI18n.mjs";
5
+ var _excluded = ["locale"];
6
6
  function i18nAppLocaleEnhance() {
7
7
  return {
8
8
  wrapperProps: function wrapperProps(props) {
9
- var locale = props.locale,
10
- other = _objectWithoutProperties(props, _excluded);
9
+ var locale = props.locale, other = _objectWithoutProperties(props, _excluded);
11
10
  var contextLocale = React.useContext(Context);
12
11
  if (!locale && !contextLocale) return props;
13
12
  return _objectSpread(_objectSpread({}, other), {}, {
@@ -16,5 +15,6 @@ function i18nAppLocaleEnhance() {
16
15
  }
17
16
  };
18
17
  }
19
- export default i18nAppLocaleEnhance;
20
- //# sourceMappingURL=i18n.mjs.map
18
+ export {
19
+ i18nAppLocaleEnhance as default
20
+ };
@@ -11,5 +11,6 @@ function Enhancement() {
11
11
  }
12
12
  };
13
13
  }
14
- export default Enhancement;
15
- //# sourceMappingURL=inheritedName.mjs.map
14
+ export {
15
+ Enhancement as default
16
+ };
@@ -1,30 +1,28 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
2
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
3
3
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
- import React from 'react';
4
+ import React from "react";
5
5
  import assignProps from "../utils/assignProps.mjs";
6
6
  import pick from "../utils/pick.mjs";
7
7
  import logger from "../utils/logger.mjs";
8
8
  function assign(target, source) {
9
- return Object.defineProperties(target, Object.keys(source).reduce(function (descriptors, key) {
9
+ return Object.defineProperties(target, Object.keys(source).reduce(function(descriptors, key) {
10
10
  descriptors[key] = Object.getOwnPropertyDescriptor(source, key);
11
11
  return descriptors;
12
12
  }, {}));
13
13
  }
14
- export function getterMethodName(name) {
14
+ function getterMethodName(name) {
15
15
  return "get".concat(name, "Props");
16
16
  }
17
- export function getterMethodNameByDisplayName() {
18
- var displayName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
19
- var displayNames = displayName.split('.');
20
- var name = displayNames.slice(-(displayNames.length - 1)).join('');
17
+ function getterMethodNameByDisplayName() {
18
+ var displayName = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
19
+ var displayNames = displayName.split(".");
20
+ var name = displayNames.slice(-(displayNames.length - 1)).join("");
21
21
  return getterMethodName(name);
22
22
  }
23
23
  function flatGetterMethodNames(childComponents, parentName) {
24
- return Object.entries(childComponents).reduce(function (acc, _ref) {
25
- var _ref2 = _slicedToArray(_ref, 2),
26
- name = _ref2[0],
27
- value = _ref2[1];
24
+ return Object.entries(childComponents).reduce(function(acc, _ref) {
25
+ var _ref2 = _slicedToArray(_ref, 2), name = _ref2[0], value = _ref2[1];
28
26
  if (Array.isArray(value)) {
29
27
  acc.push.apply(acc, _toConsumableArray(flatGetterMethodNames(value[1], name)));
30
28
  }
@@ -33,9 +31,9 @@ function flatGetterMethodNames(childComponents, parentName) {
33
31
  return acc;
34
32
  }, []);
35
33
  }
36
- export var STATIC_COMPONENT = Symbol('STATIC_COMPONENT');
37
- export var ROOT_COMPONENT = Symbol('ROOT_COMPONENT');
38
- var SELF_GETTER_METHOD = 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");
39
37
  function Enhancement(childComponents, createComponent, options) {
40
38
  var getterMethodNames = flatGetterMethodNames(childComponents);
41
39
  return {
@@ -45,20 +43,20 @@ function Enhancement(childComponents, createComponent, options) {
45
43
  init: function init(props, WrapperComponent) {
46
44
  var _this = this;
47
45
  var getterMethods = pick(this, getterMethodNames);
48
- this[SELF_GETTER_METHOD] = function () {
46
+ this[SELF_GETTER_METHOD] = function() {
49
47
  var selfGetterMethod = getterMethodNameByDisplayName(WrapperComponent.displayName);
50
- logger.warn(true, "Getter `".concat(selfGetterMethod, "` can't be fired as it is a getter of static component"), props['data-ui-name'] || WrapperComponent.displayName);
48
+ logger.warn(true, "Getter `".concat(selfGetterMethod, "` can't be fired as it is a getter of static component"), props["data-ui-name"] || WrapperComponent.displayName);
51
49
  };
52
- assign(this, getterMethodNames.reduce(function (acc, name) {
50
+ assign(this, getterMethodNames.reduce(function(acc, name) {
53
51
  var getterMethod = getterMethods[name];
54
52
  if (!getterMethod) return acc;
55
- acc[name] = function () {
56
- var childrenProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
53
+ acc[name] = function() {
54
+ var childrenProps = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
57
55
  var getterProps = getterMethod.call(_this, childrenProps, acc[name].index);
58
56
  return assignProps(childrenProps, getterProps);
59
57
  };
60
58
  acc[name].index = -1;
61
- acc[name].cache = new Set();
59
+ acc[name].cache = /* @__PURE__ */ new Set();
62
60
  return acc;
63
61
  }, {}));
64
62
  },
@@ -66,31 +64,25 @@ function Enhancement(childComponents, createComponent, options) {
66
64
  if (Object.keys(childComponents).length && !WrapperComponent.displayName) {
67
65
  throw new Error('"displayName" is not defined');
68
66
  }
69
- return Object.entries(childComponents).reduce(function (acc, _ref3) {
70
- var _ref4 = _slicedToArray(_ref3, 2),
71
- name = _ref4[0],
72
- value = _ref4[1];
73
- var childComponents = {};
67
+ return Object.entries(childComponents).reduce(function(acc, _ref3) {
68
+ var _ref4 = _slicedToArray(_ref3, 2), name = _ref4[0], value = _ref4[1];
69
+ var childComponents2 = {};
74
70
  if (Array.isArray(value)) {
75
- childComponents = value[1];
71
+ childComponents2 = value[1];
76
72
  value = value[0];
77
73
  }
78
74
  var prevStaticComponent = value[STATIC_COMPONENT];
79
- // @ts-ignore
80
75
  var prevDisplayName = value.displayName;
81
- // @ts-ignore
82
76
  value.displayName = "".concat(WrapperComponent.displayName, ".").concat(name);
83
77
  value[STATIC_COMPONENT] = true;
84
78
  value[ROOT_COMPONENT] = Component[ROOT_COMPONENT] || Component;
85
- acc[name] = createComponent(value, childComponents, options);
86
- // @ts-ignore
79
+ acc[name] = createComponent(value, childComponents2, options);
87
80
  value.displayName = prevDisplayName;
88
81
  value[STATIC_COMPONENT] = prevStaticComponent;
89
82
  return acc;
90
83
  }, {});
91
84
  },
92
85
  context: function context(_context) {
93
- // const getterMethod = getterMethodNameByDisplayName(WrapperComponent.displayName);
94
86
  return _objectSpread(_objectSpread({}, _context), pick(this, getterMethodNames));
95
87
  },
96
88
  wrapperProps: function wrapperProps(props, WrapperComponent) {
@@ -110,8 +102,8 @@ function Enhancement(childComponents, createComponent, options) {
110
102
  },
111
103
  render: function render(_render) {
112
104
  var _this2 = this;
113
- getterMethodNames.forEach(function (name) {
114
- if (_this2[name] === undefined) return;
105
+ getterMethodNames.forEach(function(name) {
106
+ if (_this2[name] === void 0) return;
115
107
  _this2[name].index = -1;
116
108
  _this2[name].cache.clear();
117
109
  });
@@ -119,5 +111,10 @@ function Enhancement(childComponents, createComponent, options) {
119
111
  }
120
112
  };
121
113
  }
122
- export default Enhancement;
123
- //# sourceMappingURL=staticChildren.mjs.map
114
+ export {
115
+ ROOT_COMPONENT,
116
+ STATIC_COMPONENT,
117
+ Enhancement as default,
118
+ getterMethodName,
119
+ getterMethodNameByDisplayName
120
+ };
@@ -1,13 +1,12 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
2
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
3
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
- var _excluded = ["_styles", "styles"],
5
- _excluded2 = ["styles"];
6
- import React from 'react';
7
- import { sstyled } from "../styled/index.mjs";
4
+ import React from "react";
8
5
  import { STATIC_COMPONENT } from "./staticChildren.mjs";
9
- export var STYLES_CONTEXT = Symbol('STYLES_CONTEXT');
10
- var STYLES_SELF = Symbol('STYLES_SELF');
6
+ import { sstyled } from "../styled/sstyled.mjs";
7
+ var _excluded = ["_styles", "styles"], _excluded2 = ["styles"];
8
+ var STYLES_CONTEXT = Symbol("STYLES_CONTEXT");
9
+ var STYLES_SELF = Symbol("STYLES_SELF");
11
10
  function Enhancement(childComponents, Context) {
12
11
  return {
13
12
  condition: function condition(Component) {
@@ -22,23 +21,21 @@ function Enhancement(childComponents, Context) {
22
21
  }
23
22
  },
24
23
  context: function context(_context) {
25
- // Optimization: if has no children there is no need to create new context (by lsroman)
26
24
  if (!this[STYLES_SELF] || !Object.keys(childComponents).length) {
27
25
  return _context;
28
26
  }
29
27
  return _objectSpread(_objectSpread({}, _context), {}, _defineProperty({}, STYLES_CONTEXT, this[STYLES_SELF]));
30
28
  },
31
29
  asProps: function asProps(_ref) {
32
- var _styles = _ref._styles,
33
- styles = _ref.styles,
34
- props = _objectWithoutProperties(_ref, _excluded);
30
+ _ref._styles;
31
+ _ref.styles;
32
+ var props = _objectWithoutProperties(_ref, _excluded);
35
33
  return _objectSpread(_objectSpread({}, props), {}, {
36
34
  styles: this[STYLES_SELF]
37
35
  });
38
36
  },
39
37
  wrapperProps: function wrapperProps(_ref2) {
40
- var styles = _ref2.styles,
41
- props = _objectWithoutProperties(_ref2, _excluded2);
38
+ var styles = _ref2.styles, props = _objectWithoutProperties(_ref2, _excluded2);
42
39
  var context = React.useContext(Context);
43
40
  return _objectSpread(_objectSpread({}, props), {}, {
44
41
  _styles: styles,
@@ -47,5 +44,7 @@ function Enhancement(childComponents, Context) {
47
44
  }
48
45
  };
49
46
  }
50
- export default Enhancement;
51
- //# sourceMappingURL=style.mjs.map
47
+ export {
48
+ STYLES_CONTEXT,
49
+ Enhancement as default
50
+ };
@@ -8,7 +8,7 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
8
8
  import { callAllEventHandlers } from "../utils/assignProps.mjs";
9
9
  import capitalizeFirstLetter from "../utils/capitalizeFirstLetter.mjs";
10
10
  function assign(target, source) {
11
- return Object.defineProperties(target, Object.keys(source).reduce(function (descriptors, key) {
11
+ return Object.defineProperties(target, Object.keys(source).reduce(function(descriptors, key) {
12
12
  descriptors[key] = Object.getOwnPropertyDescriptor(source, key);
13
13
  return descriptors;
14
14
  }, {}));
@@ -17,18 +17,18 @@ function defaultProp(prop) {
17
17
  return "default".concat(capitalizeFirstLetter(prop));
18
18
  }
19
19
  function handlerProp(prop) {
20
- if (prop === 'value') prop = '';
21
- if (prop === 'checked') prop = '';
20
+ if (prop === "value") prop = "";
21
+ if (prop === "checked") prop = "";
22
22
  return "on".concat(capitalizeFirstLetter(prop), "Change");
23
23
  }
24
24
  function isControlled(propValue) {
25
- return propValue !== undefined;
25
+ return propValue !== void 0;
26
26
  }
27
27
  function uncontrolledProp(self, propName, propValue, propDefaultValue, propHandler, chainHandler) {
28
28
  function getValue() {
29
29
  return isControlled(propValue) ? propValue : propName in self.state ? self.state[propName] : propDefaultValue;
30
30
  }
31
- return [getValue(), function (value) {
31
+ return [getValue(), function(value) {
32
32
  var oldValue = getValue();
33
33
  if (oldValue === value) return false;
34
34
  if (!isControlled(propValue)) self.setState(_defineProperty({}, propName, value));
@@ -38,24 +38,16 @@ function uncontrolledProp(self, propName, propValue, propDefaultValue, propHandl
38
38
  return callAllEventHandlers.apply(void 0, [propHandler].concat(_toConsumableArray(chainHandler))).apply(void 0, [value].concat(args));
39
39
  }];
40
40
  }
41
- function uncontrolledUniversal(props, config, uncontrolledProp) {
41
+ function uncontrolledUniversal(props, config, uncontrolledProp2) {
42
42
  var handlerProps = {};
43
- var uncontrolledProps = Object.keys(config).reduce(function (result, propName) {
43
+ var uncontrolledProps = Object.keys(config).reduce(function(result, propName) {
44
44
  var _objectSpread2;
45
45
  var handlerName = handlerProp(propName);
46
46
  var defaultPropName = defaultProp(propName);
47
- var propDefaultValue = result[defaultPropName],
48
- propValue = result[propName],
49
- propHandler = result[handlerName],
50
- other = _objectWithoutProperties(result, [defaultPropName, propName, handlerName].map(_toPropertyKey));
51
- if (propDefaultValue === undefined) {
47
+ var propDefaultValue = result[defaultPropName], propValue = result[propName], propHandler = result[handlerName], other = _objectWithoutProperties(result, [defaultPropName, propName, handlerName].map(_toPropertyKey));
48
+ if (propDefaultValue === void 0) {
52
49
  console.warn(defaultPropName, 'must be installed in "defaultProps"');
53
50
  }
54
-
55
- // if (typeof propDefaultValue === 'function' && propDefaultValue.defaultInit) {
56
- // propDefaultValue = propDefaultValue(result);
57
- // }
58
-
59
51
  var setter = config[propName];
60
52
  var chainHandler = [];
61
53
  if (Array.isArray(setter)) {
@@ -64,30 +56,26 @@ function uncontrolledUniversal(props, config, uncontrolledProp) {
64
56
  setter = _setter2[0];
65
57
  chainHandler = _setter2.slice(1);
66
58
  }
67
- setter = setter || function (v) {
59
+ setter = setter || function(v) {
68
60
  return v;
69
61
  };
70
- var _uncontrolledProp = uncontrolledProp(propName, propValue, propDefaultValue, propHandler, chainHandler),
71
- _uncontrolledProp2 = _slicedToArray(_uncontrolledProp, 2),
72
- value = _uncontrolledProp2[0],
73
- handler = _uncontrolledProp2[1];
74
- // TODO: need to warn about recursion (by lsroman)
62
+ var _uncontrolledProp = uncontrolledProp2(propName, propValue, propDefaultValue, propHandler, chainHandler), _uncontrolledProp2 = _slicedToArray(_uncontrolledProp, 2), value = _uncontrolledProp2[0], handler = _uncontrolledProp2[1];
75
63
  handlerProps[propName] = handler;
76
- return _objectSpread(_objectSpread({}, other), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, propName, value), _defineProperty(_objectSpread2, handlerName, function (eventOrValue) {
64
+ return _objectSpread(_objectSpread({}, other), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, propName, value), _defineProperty(_objectSpread2, handlerName, function(eventOrValue) {
77
65
  for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
78
66
  args[_key2 - 1] = arguments[_key2];
79
67
  }
80
- var result = [setter.apply(void 0, [eventOrValue].concat(args))].concat(args);
68
+ var result2 = [setter.apply(void 0, [eventOrValue].concat(args))].concat(args);
81
69
  if (eventOrValue !== null && eventOrValue !== void 0 && eventOrValue.target) {
82
- result.push(eventOrValue);
70
+ result2.push(eventOrValue);
83
71
  }
84
- return handler.apply(void 0, _toConsumableArray(result));
72
+ return handler.apply(void 0, _toConsumableArray(result2));
85
73
  }), _objectSpread2));
86
74
  }, props);
87
75
  return [uncontrolledProps, handlerProps];
88
76
  }
89
77
  function uncontrolled(self, props, config) {
90
- return uncontrolledUniversal(props, config, uncontrolledProp.bind(undefined, self));
78
+ return uncontrolledUniversal(props, config, uncontrolledProp.bind(void 0, self));
91
79
  }
92
80
  function Enhancement() {
93
81
  return {
@@ -98,9 +86,7 @@ function Enhancement() {
98
86
  this.state = this.state || {};
99
87
  assign(this, {
100
88
  get handlers() {
101
- var _uncontrolled = uncontrolled(this, this.props, this.uncontrolledProps()),
102
- _uncontrolled2 = _slicedToArray(_uncontrolled, 2),
103
- uncontrolledHandlers = _uncontrolled2[1];
89
+ var _uncontrolled = uncontrolled(this, this.props, this.uncontrolledProps()), _uncontrolled2 = _slicedToArray(_uncontrolled, 2), uncontrolledHandlers = _uncontrolled2[1];
104
90
  return uncontrolledHandlers;
105
91
  }
106
92
  });
@@ -111,13 +97,11 @@ function Enhancement() {
111
97
  });
112
98
  },
113
99
  asProps: function asProps(props) {
114
- // TODO: need to omit unneccessary props (by lsroman)
115
- var _uncontrolled3 = uncontrolled(this, props, this.uncontrolledProps()),
116
- _uncontrolled4 = _slicedToArray(_uncontrolled3, 1),
117
- uncontrolledProps = _uncontrolled4[0];
100
+ var _uncontrolled3 = uncontrolled(this, props, this.uncontrolledProps()), _uncontrolled4 = _slicedToArray(_uncontrolled3, 1), uncontrolledProps = _uncontrolled4[0];
118
101
  return uncontrolledProps;
119
102
  }
120
103
  };
121
104
  }
122
- export default Enhancement;
123
- //# sourceMappingURL=uncontrolledProps.mjs.map
105
+ export {
106
+ Enhancement as default
107
+ };