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

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 (70) 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/theme/light.json +1 -1
  50. package/lib/theme/themes/auto.css +1 -1
  51. package/lib/theme/themes/default.cjs +1 -1
  52. package/lib/theme/themes/default.cjs.map +1 -1
  53. package/lib/theme/themes/default.css +1 -1
  54. package/lib/theme/themes/default.mjs +1 -1
  55. package/lib/theme/themes/default.mjs.map +1 -1
  56. package/lib/theme/themes/light.cjs +1 -1
  57. package/lib/theme/themes/light.cjs.map +1 -1
  58. package/lib/theme/themes/light.css +1 -1
  59. package/lib/theme/themes/light.mjs +1 -1
  60. package/lib/theme/themes/light.mjs.map +1 -1
  61. package/lib/utils/assignProps.mjs +25 -33
  62. package/lib/utils/canUseDOM.mjs +5 -3
  63. package/lib/utils/capitalizeFirstLetter.mjs +4 -2
  64. package/lib/utils/enhances/WithI18n.mjs +22 -51
  65. package/lib/utils/logger.mjs +16 -13
  66. package/lib/utils/pick.mjs +4 -2
  67. package/lib/utils/ref.mjs +19 -59
  68. package/lib/utils/use/useEnhancedEffect.mjs +4 -3
  69. package/package.json +2 -2
  70. package/vite.config.ts +8 -0
@@ -0,0 +1,29 @@
1
+ function Enhancement() {
2
+ var defaultProps = {};
3
+ return {
4
+ condition: function condition(Component) {
5
+ if (!Component.defaultProps) {
6
+ return false;
7
+ }
8
+ if (typeof Component.defaultProps === "function") {
9
+ return true;
10
+ }
11
+ return Boolean(Object.keys(Component.defaultProps).length);
12
+ },
13
+ "static": function _static(WrapperComponent) {
14
+ defaultProps = WrapperComponent.defaultProps;
15
+ return {
16
+ defaultProps: {}
17
+ };
18
+ },
19
+ wrapperProps: function wrapperProps(props) {
20
+ if (typeof defaultProps === "function") {
21
+ return Object.assign({}, defaultProps(props), props);
22
+ }
23
+ return Object.assign({}, defaultProps, props);
24
+ }
25
+ };
26
+ }
27
+ export {
28
+ Enhancement as default
29
+ };
@@ -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 useEnhancedEffect from "../utils/use/useEnhancedEffect.mjs";
8
+ import pick from "../utils/pick.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,20 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ import React from "react";
4
+ import { Context } from "../utils/enhances/WithI18n.mjs";
5
+ var _excluded = ["locale"];
6
+ function i18nAppLocaleEnhance() {
7
+ return {
8
+ wrapperProps: function wrapperProps(props) {
9
+ var locale = props.locale, other = _objectWithoutProperties(props, _excluded);
10
+ var contextLocale = React.useContext(Context);
11
+ if (!locale && !contextLocale) return props;
12
+ return _objectSpread(_objectSpread({}, other), {}, {
13
+ locale: locale !== null && locale !== void 0 ? locale : contextLocale
14
+ });
15
+ }
16
+ };
17
+ }
18
+ export {
19
+ i18nAppLocaleEnhance as default
20
+ };
@@ -0,0 +1,16 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
3
+ import { INHERITED_NAME } from "../core-types/symbols.mjs";
4
+ function Enhancement() {
5
+ return {
6
+ condition: function condition(Component) {
7
+ return Boolean(Component.displayName);
8
+ },
9
+ "static": function _static(WrapperComponent) {
10
+ return _defineProperty({}, INHERITED_NAME, _toConsumableArray(new Set([].concat(_toConsumableArray(WrapperComponent[INHERITED_NAME] || []), [WrapperComponent.displayName]))));
11
+ }
12
+ };
13
+ }
14
+ export {
15
+ Enhancement as default
16
+ };
@@ -0,0 +1,120 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
3
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
+ import React from "react";
5
+ import assignProps from "../utils/assignProps.mjs";
6
+ import pick from "../utils/pick.mjs";
7
+ import logger from "../utils/logger.mjs";
8
+ function assign(target, source) {
9
+ return Object.defineProperties(target, Object.keys(source).reduce(function(descriptors, key) {
10
+ descriptors[key] = Object.getOwnPropertyDescriptor(source, key);
11
+ return descriptors;
12
+ }, {}));
13
+ }
14
+ function getterMethodName(name) {
15
+ return "get".concat(name, "Props");
16
+ }
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
+ return getterMethodName(name);
22
+ }
23
+ function flatGetterMethodNames(childComponents, parentName) {
24
+ return Object.entries(childComponents).reduce(function(acc, _ref) {
25
+ var _ref2 = _slicedToArray(_ref, 2), name = _ref2[0], value = _ref2[1];
26
+ if (Array.isArray(value)) {
27
+ acc.push.apply(acc, _toConsumableArray(flatGetterMethodNames(value[1], name)));
28
+ }
29
+ name = parentName ? "".concat(parentName).concat(name) : name;
30
+ acc.push(getterMethodName(name));
31
+ return acc;
32
+ }, []);
33
+ }
34
+ var STATIC_COMPONENT = Symbol("STATIC_COMPONENT");
35
+ var ROOT_COMPONENT = Symbol("ROOT_COMPONENT");
36
+ var SELF_GETTER_METHOD = Symbol("SELF_GETTER_METHOD");
37
+ function Enhancement(childComponents, createComponent, options) {
38
+ var getterMethodNames = flatGetterMethodNames(childComponents);
39
+ return {
40
+ condition: function condition(Component) {
41
+ return Boolean(Component[STATIC_COMPONENT] || Object.keys(childComponents).length);
42
+ },
43
+ init: function init(props, WrapperComponent) {
44
+ var _this = this;
45
+ var getterMethods = pick(this, getterMethodNames);
46
+ this[SELF_GETTER_METHOD] = function() {
47
+ var selfGetterMethod = getterMethodNameByDisplayName(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);
49
+ };
50
+ assign(this, getterMethodNames.reduce(function(acc, name) {
51
+ var getterMethod = getterMethods[name];
52
+ if (!getterMethod) return acc;
53
+ acc[name] = function() {
54
+ var childrenProps = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
55
+ var getterProps = getterMethod.call(_this, childrenProps, acc[name].index);
56
+ return assignProps(childrenProps, getterProps);
57
+ };
58
+ acc[name].index = -1;
59
+ acc[name].cache = /* @__PURE__ */ new Set();
60
+ return acc;
61
+ }, {}));
62
+ },
63
+ "static": function _static(WrapperComponent, Component) {
64
+ if (Object.keys(childComponents).length && !WrapperComponent.displayName) {
65
+ throw new Error('"displayName" is not defined');
66
+ }
67
+ return Object.entries(childComponents).reduce(function(acc, _ref3) {
68
+ var _ref4 = _slicedToArray(_ref3, 2), name = _ref4[0], value = _ref4[1];
69
+ var childComponents2 = {};
70
+ if (Array.isArray(value)) {
71
+ childComponents2 = value[1];
72
+ value = value[0];
73
+ }
74
+ var prevStaticComponent = value[STATIC_COMPONENT];
75
+ var prevDisplayName = value.displayName;
76
+ value.displayName = "".concat(WrapperComponent.displayName, ".").concat(name);
77
+ value[STATIC_COMPONENT] = true;
78
+ value[ROOT_COMPONENT] = Component[ROOT_COMPONENT] || Component;
79
+ acc[name] = createComponent(value, childComponents2, options);
80
+ value.displayName = prevDisplayName;
81
+ value[STATIC_COMPONENT] = prevStaticComponent;
82
+ return acc;
83
+ }, {});
84
+ },
85
+ context: function context(_context) {
86
+ return _objectSpread(_objectSpread({}, _context), pick(this, getterMethodNames));
87
+ },
88
+ wrapperProps: function wrapperProps(props, WrapperComponent) {
89
+ if (!WrapperComponent[STATIC_COMPONENT]) return props;
90
+ var context = React.useContext(options.context);
91
+ var getterMethod = context[getterMethodNameByDisplayName(WrapperComponent.displayName)];
92
+ if (getterMethod) {
93
+ if (!getterMethod.cache.has(this)) {
94
+ getterMethod.cache.add(this);
95
+ getterMethod.index++;
96
+ if (this) this.index = getterMethod.index;
97
+ }
98
+ if (this) getterMethod.index = this.index;
99
+ return getterMethod(props);
100
+ }
101
+ return props;
102
+ },
103
+ render: function render(_render) {
104
+ var _this2 = this;
105
+ getterMethodNames.forEach(function(name) {
106
+ if (_this2[name] === void 0) return;
107
+ _this2[name].index = -1;
108
+ _this2[name].cache.clear();
109
+ });
110
+ return _render;
111
+ }
112
+ };
113
+ }
114
+ export {
115
+ ROOT_COMPONENT,
116
+ STATIC_COMPONENT,
117
+ Enhancement as default,
118
+ getterMethodName,
119
+ getterMethodNameByDisplayName
120
+ };
@@ -0,0 +1,50 @@
1
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
+ import React from "react";
5
+ import { STATIC_COMPONENT } from "./staticChildren.mjs";
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");
10
+ function Enhancement(childComponents, Context) {
11
+ return {
12
+ condition: function condition(Component) {
13
+ return Boolean(Component.style || Component[STATIC_COMPONENT]);
14
+ },
15
+ init: function init(props, WrapperComponent) {
16
+ if (props.styles) {
17
+ this[STYLES_SELF] = props.styles;
18
+ }
19
+ if (WrapperComponent.style) {
20
+ this[STYLES_SELF] = sstyled.merge(WrapperComponent.style, props._styles);
21
+ }
22
+ },
23
+ context: function context(_context) {
24
+ if (!this[STYLES_SELF] || !Object.keys(childComponents).length) {
25
+ return _context;
26
+ }
27
+ return _objectSpread(_objectSpread({}, _context), {}, _defineProperty({}, STYLES_CONTEXT, this[STYLES_SELF]));
28
+ },
29
+ asProps: function asProps(_ref) {
30
+ _ref._styles;
31
+ _ref.styles;
32
+ var props = _objectWithoutProperties(_ref, _excluded);
33
+ return _objectSpread(_objectSpread({}, props), {}, {
34
+ styles: this[STYLES_SELF]
35
+ });
36
+ },
37
+ wrapperProps: function wrapperProps(_ref2) {
38
+ var styles = _ref2.styles, props = _objectWithoutProperties(_ref2, _excluded2);
39
+ var context = React.useContext(Context);
40
+ return _objectSpread(_objectSpread({}, props), {}, {
41
+ _styles: styles,
42
+ styles: context[STYLES_CONTEXT]
43
+ });
44
+ }
45
+ };
46
+ }
47
+ export {
48
+ STYLES_CONTEXT,
49
+ Enhancement as default
50
+ };
@@ -0,0 +1,107 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
+ import _toArray from "@babel/runtime/helpers/esm/toArray";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
+ import _toPropertyKey from "@babel/runtime/helpers/esm/toPropertyKey";
6
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
7
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
8
+ import { callAllEventHandlers } from "../utils/assignProps.mjs";
9
+ import capitalizeFirstLetter from "../utils/capitalizeFirstLetter.mjs";
10
+ function assign(target, source) {
11
+ return Object.defineProperties(target, Object.keys(source).reduce(function(descriptors, key) {
12
+ descriptors[key] = Object.getOwnPropertyDescriptor(source, key);
13
+ return descriptors;
14
+ }, {}));
15
+ }
16
+ function defaultProp(prop) {
17
+ return "default".concat(capitalizeFirstLetter(prop));
18
+ }
19
+ function handlerProp(prop) {
20
+ if (prop === "value") prop = "";
21
+ if (prop === "checked") prop = "";
22
+ return "on".concat(capitalizeFirstLetter(prop), "Change");
23
+ }
24
+ function isControlled(propValue) {
25
+ return propValue !== void 0;
26
+ }
27
+ function uncontrolledProp(self, propName, propValue, propDefaultValue, propHandler, chainHandler) {
28
+ function getValue() {
29
+ return isControlled(propValue) ? propValue : propName in self.state ? self.state[propName] : propDefaultValue;
30
+ }
31
+ return [getValue(), function(value) {
32
+ var oldValue = getValue();
33
+ if (oldValue === value) return false;
34
+ if (!isControlled(propValue)) self.setState(_defineProperty({}, propName, value));
35
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
36
+ args[_key - 1] = arguments[_key];
37
+ }
38
+ return callAllEventHandlers.apply(void 0, [propHandler].concat(_toConsumableArray(chainHandler))).apply(void 0, [value].concat(args));
39
+ }];
40
+ }
41
+ function uncontrolledUniversal(props, config, uncontrolledProp2) {
42
+ var handlerProps = {};
43
+ var uncontrolledProps = Object.keys(config).reduce(function(result, propName) {
44
+ var _objectSpread2;
45
+ var handlerName = handlerProp(propName);
46
+ var defaultPropName = defaultProp(propName);
47
+ var propDefaultValue = result[defaultPropName], propValue = result[propName], propHandler = result[handlerName], other = _objectWithoutProperties(result, [defaultPropName, propName, handlerName].map(_toPropertyKey));
48
+ if (propDefaultValue === void 0) {
49
+ console.warn(defaultPropName, 'must be installed in "defaultProps"');
50
+ }
51
+ var setter = config[propName];
52
+ var chainHandler = [];
53
+ if (Array.isArray(setter)) {
54
+ var _setter = setter;
55
+ var _setter2 = _toArray(_setter);
56
+ setter = _setter2[0];
57
+ chainHandler = _setter2.slice(1);
58
+ }
59
+ setter = setter || function(v) {
60
+ return v;
61
+ };
62
+ var _uncontrolledProp = uncontrolledProp2(propName, propValue, propDefaultValue, propHandler, chainHandler), _uncontrolledProp2 = _slicedToArray(_uncontrolledProp, 2), value = _uncontrolledProp2[0], handler = _uncontrolledProp2[1];
63
+ handlerProps[propName] = handler;
64
+ return _objectSpread(_objectSpread({}, other), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, propName, value), _defineProperty(_objectSpread2, handlerName, function(eventOrValue) {
65
+ for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
66
+ args[_key2 - 1] = arguments[_key2];
67
+ }
68
+ var result2 = [setter.apply(void 0, [eventOrValue].concat(args))].concat(args);
69
+ if (eventOrValue !== null && eventOrValue !== void 0 && eventOrValue.target) {
70
+ result2.push(eventOrValue);
71
+ }
72
+ return handler.apply(void 0, _toConsumableArray(result2));
73
+ }), _objectSpread2));
74
+ }, props);
75
+ return [uncontrolledProps, handlerProps];
76
+ }
77
+ function uncontrolled(self, props, config) {
78
+ return uncontrolledUniversal(props, config, uncontrolledProp.bind(void 0, self));
79
+ }
80
+ function Enhancement() {
81
+ return {
82
+ condition: function condition(Component) {
83
+ return Boolean(Component.prototype.uncontrolledProps);
84
+ },
85
+ init: function init() {
86
+ this.state = this.state || {};
87
+ assign(this, {
88
+ get handlers() {
89
+ var _uncontrolled = uncontrolled(this, this.props, this.uncontrolledProps()), _uncontrolled2 = _slicedToArray(_uncontrolled, 2), uncontrolledHandlers = _uncontrolled2[1];
90
+ return uncontrolledHandlers;
91
+ }
92
+ });
93
+ },
94
+ context: function context(_context) {
95
+ return _objectSpread(_objectSpread({}, _context), {}, {
96
+ handlers: this.handlers
97
+ });
98
+ },
99
+ asProps: function asProps(props) {
100
+ var _uncontrolled3 = uncontrolled(this, props, this.uncontrolledProps()), _uncontrolled4 = _slicedToArray(_uncontrolled3, 1), uncontrolledProps = _uncontrolled4[0];
101
+ return uncontrolledProps;
102
+ }
103
+ };
104
+ }
105
+ export {
106
+ Enhancement as default
107
+ };
@@ -0,0 +1,23 @@
1
+ import { assignProps, createBaseComponent, createComponent } from "./coreFactory.mjs";
2
+ import { Component, Intergalactic, Root, wrapIntergalacticComponent } from "./core-types/Component.mjs";
3
+ import { CHILDREN_COMPONENT, CONTEXT_COMPONENT, CORE_INSTANCE, CREATE_COMPONENT, INHERITED_NAME } from "./core-types/symbols.mjs";
4
+ import { default as default2 } from "./register.mjs";
5
+ import { lastInteraction } from "./LastInteractionType.mjs";
6
+ import { sstyled } from "./styled/sstyled.mjs";
7
+ export {
8
+ CHILDREN_COMPONENT,
9
+ CONTEXT_COMPONENT,
10
+ CORE_INSTANCE,
11
+ CREATE_COMPONENT,
12
+ Component,
13
+ INHERITED_NAME,
14
+ Intergalactic,
15
+ Root,
16
+ assignProps,
17
+ createBaseComponent,
18
+ createComponent,
19
+ lastInteraction,
20
+ default2 as register,
21
+ sstyled,
22
+ wrapIntergalacticComponent
23
+ };
@@ -0,0 +1,31 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
3
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
+ var Register = /* @__PURE__ */ function() {
5
+ function Register2() {
6
+ _classCallCheck(this, Register2);
7
+ _defineProperty(this, "data", {});
8
+ }
9
+ _createClass(Register2, [{
10
+ key: "get",
11
+ value: function get(name, defaultValue) {
12
+ if (name in this.data) {
13
+ return this.data[name];
14
+ } else {
15
+ return this.set(name, defaultValue);
16
+ }
17
+ }
18
+ }, {
19
+ key: "set",
20
+ value: function set(name, value) {
21
+ this.data[name] = value;
22
+ return this.data[name];
23
+ }
24
+ }]);
25
+ return Register2;
26
+ }();
27
+ const register = new Register();
28
+ export {
29
+ Register,
30
+ register as default
31
+ };
@@ -0,0 +1,18 @@
1
+ import "@babel/runtime/helpers/esm/typeof";
2
+ import "@babel/runtime/helpers/esm/defineProperty";
3
+ var serverMap = {};
4
+ var getStyles = function getStyles2() {
5
+ return {
6
+ map: serverMap,
7
+ get css() {
8
+ var serverStyles2 = "";
9
+ for (var id in serverMap) {
10
+ serverStyles2 += '<style type="text/css" id="'.concat(id, '">').concat(serverMap[id], "</style>");
11
+ }
12
+ return serverStyles2;
13
+ }
14
+ };
15
+ };
16
+ export {
17
+ getStyles
18
+ };
@@ -0,0 +1,121 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
+ import _cn from "classnames";
4
+ import { getStyles as getStyles$1 } from "./reshadow-core.mjs";
5
+ var RESHADOW_ID = "__reshadow__";
6
+ var isSSR = !(typeof window !== "undefined" && window.document && window.document.createElement);
7
+ var serverMap = getStyles$1().map;
8
+ var getStyles = function getStyles2() {
9
+ return {
10
+ map: serverMap,
11
+ get css() {
12
+ var serverStyles = "";
13
+ for (var id in serverMap) {
14
+ serverStyles += "<style type='text/css' id='".concat(id, "'>").concat(serverMap[id], "</style>");
15
+ }
16
+ return serverStyles;
17
+ }
18
+ };
19
+ };
20
+ function insert(code, hash) {
21
+ var id = "reshadow-".concat(hash);
22
+ if (isSSR) {
23
+ serverMap[id] = code;
24
+ return;
25
+ }
26
+ var container = document.getElementById(RESHADOW_ID);
27
+ if (!container) {
28
+ container = document.createElement("object");
29
+ container.id = RESHADOW_ID;
30
+ if (document.head) {
31
+ document.head.appendChild(container);
32
+ } else {
33
+ document.addEventListener("DOMContentLoaded", function() {
34
+ document.head.appendChild(container);
35
+ });
36
+ }
37
+ }
38
+ var css = document.getElementById(id);
39
+ if (!css) {
40
+ css = document.createElement("style");
41
+ css.id = id;
42
+ css.type = "text/css";
43
+ container.appendChild(css);
44
+ }
45
+ css.innerHTML = code;
46
+ }
47
+ function merge() {
48
+ var s1 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
49
+ var s2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
50
+ return Object.entries(s2).reduce(function(acc, _ref) {
51
+ var _ref2 = _slicedToArray(_ref, 2), key = _ref2[0], value = _ref2[1];
52
+ if (key.startsWith("@") || key.startsWith("--")) {
53
+ acc[key] = value;
54
+ } else {
55
+ acc[key] = _cn(acc[key], value);
56
+ }
57
+ return acc;
58
+ }, Object.assign({}, s1));
59
+ }
60
+ function getClassAndVars(styles, name, props) {
61
+ function getPropValue(key, props2) {
62
+ var _props;
63
+ return (_props = props2["use:".concat(key)]) !== null && _props !== void 0 ? _props : props2[key];
64
+ }
65
+ return Object.entries(styles).reduce(function(acc, _ref3) {
66
+ var _ref4 = _slicedToArray(_ref3, 2), key = _ref4[0], value = _ref4[1];
67
+ if (key.startsWith("--")) {
68
+ acc[1][value] = getPropValue(key.substring(2), props);
69
+ } else if (name === key) {
70
+ acc[0][value] = true;
71
+ } else {
72
+ var _key$split = key.split("="), _key$split2 = _slicedToArray(_key$split, 2), mod = _key$split2[0], modValue = _key$split2[1];
73
+ var propValue = getPropValue(mod, props);
74
+ if (modValue === void 0) {
75
+ acc[0][value] = Boolean(propValue !== null && propValue !== void 0 ? propValue : false);
76
+ } else {
77
+ acc[0][value] = propValue == modValue;
78
+ }
79
+ }
80
+ return acc;
81
+ }, [{}, {}]);
82
+ }
83
+ function reshadowToShadow(obj) {
84
+ return Object.entries(obj).reduce(function(style, _ref5) {
85
+ var _ref6 = _slicedToArray(_ref5, 2), name = _ref6[0], value = _ref6[1];
86
+ var n = name;
87
+ if (name.startsWith("__")) {
88
+ n = name.replace(/^__/, "");
89
+ } else if (name.startsWith("_")) {
90
+ n = name.replace(/^_/, "").replace("_", "=");
91
+ }
92
+ style[n] = value;
93
+ return style;
94
+ }, {});
95
+ }
96
+ function sstyled() {
97
+ var styles = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
98
+ return {
99
+ cn: function cn(name, props) {
100
+ var _getClassAndVars = getClassAndVars(reshadowToShadow(styles), name, props), _getClassAndVars2 = _slicedToArray(_getClassAndVars, 2), classes = _getClassAndVars2[0], style = _getClassAndVars2[1];
101
+ var extraProps = {};
102
+ if (Object.keys(classes).length) {
103
+ extraProps.className = _cn(props.className, classes);
104
+ }
105
+ if (Object.keys(style).length) {
106
+ extraProps.style = Object.assign(style, props.style);
107
+ }
108
+ return _objectSpread(_objectSpread({}, props), extraProps);
109
+ }
110
+ };
111
+ }
112
+ sstyled.css = function(css) {
113
+ throw new Error("Enable babel plugin");
114
+ };
115
+ sstyled.insert = insert;
116
+ sstyled.merge = merge;
117
+ sstyled.getStyles = getStyles;
118
+ sstyled.SHADOW_STYLES = Symbol("SHADOW_STYLES");
119
+ export {
120
+ sstyled
121
+ };