@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.
- package/lib/LastInteractionType.mjs +16 -14
- package/lib/core-types/Component.mjs +22 -25
- package/lib/core-types/symbols.mjs +20 -10
- package/lib/coreFactory.mjs +154 -173
- package/lib/enhancement/Children.mjs +30 -45
- package/lib/enhancement/Root.mjs +22 -32
- package/lib/enhancement/bindHandler.mjs +10 -9
- package/lib/enhancement/dataName.mjs +4 -3
- package/lib/enhancement/enhance.mjs +4 -3
- package/lib/enhancement/functionDefaultProps.mjs +5 -5
- package/lib/enhancement/hoistProps.mjs +18 -28
- package/lib/enhancement/i18n.mjs +6 -6
- package/lib/enhancement/inheritedName.mjs +3 -2
- package/lib/enhancement/staticChildren.mjs +32 -35
- package/lib/enhancement/style.mjs +13 -14
- package/lib/enhancement/uncontrolledProps.mjs +21 -37
- package/lib/esm/LastInteractionType.mjs +51 -0
- package/lib/esm/core-types/Component.mjs +51 -0
- package/lib/esm/core-types/symbols.mjs +20 -0
- package/lib/esm/coreFactory.mjs +324 -0
- package/lib/esm/enhancement/Children.mjs +96 -0
- package/lib/esm/enhancement/Root.mjs +60 -0
- package/lib/esm/enhancement/bindHandler.mjs +48 -0
- package/lib/esm/enhancement/dataName.mjs +13 -0
- package/lib/esm/enhancement/enhance.mjs +16 -0
- package/lib/esm/enhancement/functionDefaultProps.mjs +29 -0
- package/lib/esm/enhancement/hoistProps.mjs +78 -0
- package/lib/esm/enhancement/i18n.mjs +20 -0
- package/lib/esm/enhancement/inheritedName.mjs +16 -0
- package/lib/esm/enhancement/staticChildren.mjs +120 -0
- package/lib/esm/enhancement/style.mjs +50 -0
- package/lib/esm/enhancement/uncontrolledProps.mjs +107 -0
- package/lib/esm/index.mjs +23 -0
- package/lib/esm/register.mjs +31 -0
- package/lib/esm/styled/reshadow-core.mjs +18 -0
- package/lib/esm/styled/sstyled.mjs +121 -0
- package/lib/esm/utils/assignProps.mjs +76 -0
- package/lib/esm/utils/canUseDOM.mjs +6 -0
- package/lib/esm/utils/capitalizeFirstLetter.mjs +6 -0
- package/lib/esm/utils/enhances/WithI18n.mjs +54 -0
- package/lib/esm/utils/logger.mjs +35 -0
- package/lib/esm/utils/pick.mjs +15 -0
- package/lib/esm/utils/ref.mjs +43 -0
- package/lib/esm/utils/use/useEnhancedEffect.mjs +6 -0
- package/lib/index.mjs +22 -8
- package/lib/register.mjs +10 -8
- package/lib/styled/reshadow-core.mjs +8 -233
- package/lib/styled/sstyled.mjs +38 -59
- package/lib/theme/light.json +1 -1
- package/lib/theme/themes/auto.css +1 -1
- package/lib/theme/themes/default.cjs +1 -1
- package/lib/theme/themes/default.cjs.map +1 -1
- package/lib/theme/themes/default.css +1 -1
- package/lib/theme/themes/default.mjs +1 -1
- package/lib/theme/themes/default.mjs.map +1 -1
- package/lib/theme/themes/light.cjs +1 -1
- package/lib/theme/themes/light.cjs.map +1 -1
- package/lib/theme/themes/light.css +1 -1
- package/lib/theme/themes/light.mjs +1 -1
- package/lib/theme/themes/light.mjs.map +1 -1
- package/lib/utils/assignProps.mjs +25 -33
- package/lib/utils/canUseDOM.mjs +5 -3
- package/lib/utils/capitalizeFirstLetter.mjs +4 -2
- package/lib/utils/enhances/WithI18n.mjs +22 -51
- package/lib/utils/logger.mjs +16 -13
- package/lib/utils/pick.mjs +4 -2
- package/lib/utils/ref.mjs +19 -59
- package/lib/utils/use/useEnhancedEffect.mjs +4 -3
- package/package.json +2 -2
- package/vite.config.ts +8 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
+
import _cn from "classnames";
|
|
3
|
+
import { forkRef } from "./ref.mjs";
|
|
4
|
+
import { sstyled } from "../styled/sstyled.mjs";
|
|
5
|
+
function callAllEventHandlers() {
|
|
6
|
+
for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
7
|
+
fns[_key] = arguments[_key];
|
|
8
|
+
}
|
|
9
|
+
return function() {
|
|
10
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
11
|
+
args[_key2] = arguments[_key2];
|
|
12
|
+
}
|
|
13
|
+
return !fns.some(function(fn) {
|
|
14
|
+
var result;
|
|
15
|
+
if (fn) {
|
|
16
|
+
result = fn.apply(void 0, args);
|
|
17
|
+
}
|
|
18
|
+
return typeof result === "boolean" && !result;
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function assignHandlersInner(props, source) {
|
|
23
|
+
return Object.keys(source).reduce(function(proxySource, propName) {
|
|
24
|
+
if (propName !== "ref" && propName.startsWith("on")) {
|
|
25
|
+
if (typeof source[propName] === "function" && typeof props[propName] === "function") {
|
|
26
|
+
proxySource[propName] = callAllEventHandlers(props[propName], source[propName]);
|
|
27
|
+
} else if (typeof source[propName] === "function") {
|
|
28
|
+
proxySource[propName] = source[propName];
|
|
29
|
+
} else if (typeof props[propName] === "function") {
|
|
30
|
+
proxySource[propName] = props[propName];
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return proxySource;
|
|
34
|
+
}, {});
|
|
35
|
+
}
|
|
36
|
+
function assignProps() {
|
|
37
|
+
var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
38
|
+
var source = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
39
|
+
if (props === source) return props;
|
|
40
|
+
var newProps = _objectSpread(_objectSpread(_objectSpread({}, source), props), assignHandlersInner(props, source));
|
|
41
|
+
for (var _key3 in source) {
|
|
42
|
+
if (_key3.startsWith("use:")) {
|
|
43
|
+
var originalKey = _key3.slice("use:".length);
|
|
44
|
+
newProps[originalKey] = source[_key3];
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
for (var _key4 in props) {
|
|
48
|
+
if (_key4.startsWith("use:")) {
|
|
49
|
+
var _originalKey = _key4.slice("use:".length);
|
|
50
|
+
newProps[_originalKey] = props[_key4];
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
var sourceDescriptorRef = Object.getOwnPropertyDescriptor(source, "ref");
|
|
54
|
+
var propsDescriptorRef = Object.getOwnPropertyDescriptor(props, "ref");
|
|
55
|
+
if (sourceDescriptorRef !== null && sourceDescriptorRef !== void 0 && sourceDescriptorRef.configurable && propsDescriptorRef !== null && propsDescriptorRef !== void 0 && propsDescriptorRef.configurable) {
|
|
56
|
+
newProps.ref = forkRef(source.ref, props.ref);
|
|
57
|
+
}
|
|
58
|
+
if (props.forwardRef) {
|
|
59
|
+
newProps.ref = forkRef(newProps.ref, props.forwardRef);
|
|
60
|
+
newProps.forwardRef = newProps.ref;
|
|
61
|
+
}
|
|
62
|
+
if (source.style && props.style) {
|
|
63
|
+
newProps.style = _objectSpread(_objectSpread({}, source.style), props.style);
|
|
64
|
+
}
|
|
65
|
+
if (source.className) {
|
|
66
|
+
newProps.className = _cn(props.className, source.className);
|
|
67
|
+
}
|
|
68
|
+
if (source.styles && props.styles) {
|
|
69
|
+
newProps.styles = sstyled.merge(source.styles, props.styles);
|
|
70
|
+
}
|
|
71
|
+
return newProps;
|
|
72
|
+
}
|
|
73
|
+
export {
|
|
74
|
+
callAllEventHandlers,
|
|
75
|
+
assignProps as default
|
|
76
|
+
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
2
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
3
|
+
import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
|
|
4
|
+
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
5
|
+
import _createSuper from "@babel/runtime/helpers/esm/createSuper";
|
|
6
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
7
|
+
import { createContext, Component } from "react";
|
|
8
|
+
import { createIntlCache } from "@formatjs/intl";
|
|
9
|
+
var Context = /* @__PURE__ */ createContext(void 0);
|
|
10
|
+
Context.Provider;
|
|
11
|
+
Context.Consumer;
|
|
12
|
+
createIntlCache();
|
|
13
|
+
function getText(dictionaries, locale) {
|
|
14
|
+
return function(key) {
|
|
15
|
+
var dictionary = dictionaries[locale];
|
|
16
|
+
return dictionary ? dictionary[key] : dictionaries["en"][key];
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
var WithI18n = /* @__PURE__ */ function(_Component) {
|
|
20
|
+
_inherits(WithI18n2, _Component);
|
|
21
|
+
var _super = _createSuper(WithI18n2);
|
|
22
|
+
function WithI18n2() {
|
|
23
|
+
var _this;
|
|
24
|
+
_classCallCheck(this, WithI18n2);
|
|
25
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
26
|
+
args[_key] = arguments[_key];
|
|
27
|
+
}
|
|
28
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
29
|
+
_defineProperty(_assertThisInitialized(_this), "context", void 0);
|
|
30
|
+
_defineProperty(_assertThisInitialized(_this), "getText", function(dictionary, selfLocale) {
|
|
31
|
+
var _this$props = _this.props, locale = _this$props.locale, getText2 = _this$props.getText;
|
|
32
|
+
var contextLocale = _this.context;
|
|
33
|
+
return getText2(dictionary, selfLocale || locale || contextLocale);
|
|
34
|
+
});
|
|
35
|
+
return _this;
|
|
36
|
+
}
|
|
37
|
+
_createClass(WithI18n2, [{
|
|
38
|
+
key: "render",
|
|
39
|
+
value: function render() {
|
|
40
|
+
var _ref = this.props, children = _ref.children;
|
|
41
|
+
return children({
|
|
42
|
+
getText: this.getText
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}]);
|
|
46
|
+
return WithI18n2;
|
|
47
|
+
}(Component);
|
|
48
|
+
_defineProperty(WithI18n, "contextType", Context);
|
|
49
|
+
_defineProperty(WithI18n, "defaultProps", {
|
|
50
|
+
getText
|
|
51
|
+
});
|
|
52
|
+
export {
|
|
53
|
+
Context
|
|
54
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
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 DEV = process.env.NODE_ENV !== "production";
|
|
5
|
+
var Logger = /* @__PURE__ */ function() {
|
|
6
|
+
function Logger2(logger2) {
|
|
7
|
+
_classCallCheck(this, Logger2);
|
|
8
|
+
_defineProperty(this, "logger", void 0);
|
|
9
|
+
this.logger = logger2 || {
|
|
10
|
+
warn: function warn() {
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
_createClass(Logger2, [{
|
|
15
|
+
key: "console",
|
|
16
|
+
value: function console2(level, msg, component) {
|
|
17
|
+
this.logger[level](component ? "[".concat(component, "]: ").concat(msg) : msg);
|
|
18
|
+
}
|
|
19
|
+
}, {
|
|
20
|
+
key: "warn",
|
|
21
|
+
value: function warn(condition, msg, component) {
|
|
22
|
+
if (DEV) {
|
|
23
|
+
if (condition) {
|
|
24
|
+
this.console("warn", msg, component);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}]);
|
|
29
|
+
return Logger2;
|
|
30
|
+
}();
|
|
31
|
+
const logger = new Logger(console);
|
|
32
|
+
export {
|
|
33
|
+
Logger,
|
|
34
|
+
logger as default
|
|
35
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
2
|
+
import "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import "react-dom";
|
|
5
|
+
function setRef(ref, value) {
|
|
6
|
+
if (typeof ref === "function") {
|
|
7
|
+
ref(value);
|
|
8
|
+
} else if (ref !== null && ref !== void 0 && ref.hasOwnProperty("current")) {
|
|
9
|
+
ref["current"] = value;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
function useForkRef() {
|
|
13
|
+
for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
14
|
+
refs[_key] = arguments[_key];
|
|
15
|
+
}
|
|
16
|
+
return React.useCallback(function(refValue) {
|
|
17
|
+
var uniqueRefs = _toConsumableArray(new Set(refs));
|
|
18
|
+
uniqueRefs.forEach(function(ref) {
|
|
19
|
+
return setRef(ref, refValue);
|
|
20
|
+
});
|
|
21
|
+
}, refs);
|
|
22
|
+
}
|
|
23
|
+
function forkRef() {
|
|
24
|
+
for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
25
|
+
refs[_key2] = arguments[_key2];
|
|
26
|
+
}
|
|
27
|
+
if (refs.every(function(ref) {
|
|
28
|
+
return ref == null;
|
|
29
|
+
})) {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
return function(refValue) {
|
|
33
|
+
var uniqueRefs = _toConsumableArray(new Set(refs));
|
|
34
|
+
uniqueRefs.forEach(function(ref) {
|
|
35
|
+
return setRef(ref, refValue);
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export {
|
|
40
|
+
forkRef,
|
|
41
|
+
setRef,
|
|
42
|
+
useForkRef
|
|
43
|
+
};
|
package/lib/index.mjs
CHANGED
|
@@ -1,9 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { CORE_INSTANCE, CREATE_COMPONENT, CONTEXT_COMPONENT, CHILDREN_COMPONENT, INHERITED_NAME } from "./core-types/symbols.mjs";
|
|
6
|
-
import register from "./register.mjs";
|
|
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";
|
|
7
5
|
import { lastInteraction } from "./LastInteractionType.mjs";
|
|
8
|
-
|
|
9
|
-
|
|
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
|
+
};
|
package/lib/register.mjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
2
2
|
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
3
3
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
4
|
-
var Register =
|
|
5
|
-
function
|
|
6
|
-
_classCallCheck(this,
|
|
4
|
+
var Register = /* @__PURE__ */ function() {
|
|
5
|
+
function Register2() {
|
|
6
|
+
_classCallCheck(this, Register2);
|
|
7
7
|
_defineProperty(this, "data", {});
|
|
8
8
|
}
|
|
9
|
-
_createClass(
|
|
9
|
+
_createClass(Register2, [{
|
|
10
10
|
key: "get",
|
|
11
11
|
value: function get(name, defaultValue) {
|
|
12
12
|
if (name in this.data) {
|
|
@@ -22,8 +22,10 @@ var Register = /*#__PURE__*/function () {
|
|
|
22
22
|
return this.data[name];
|
|
23
23
|
}
|
|
24
24
|
}]);
|
|
25
|
-
return
|
|
25
|
+
return Register2;
|
|
26
26
|
}();
|
|
27
|
-
|
|
28
|
-
export
|
|
29
|
-
|
|
27
|
+
const register = new Register();
|
|
28
|
+
export {
|
|
29
|
+
Register,
|
|
30
|
+
register as default
|
|
31
|
+
};
|
|
@@ -1,243 +1,18 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
/**
|
|
4
|
-
* This is source form @reshadow/core@0.0.1
|
|
5
|
-
* Put it here, because we can't use the version from the package in ESM builds.
|
|
6
|
-
* The package is not update for 3 years and we have plans to remove them. So, this tmp copy version is acceptable
|
|
7
|
-
*/
|
|
8
|
-
// @ts-nocheck
|
|
9
|
-
var _Symbol = function _Symbol(key) {
|
|
10
|
-
return typeof Symbol !== 'undefined' ? Symbol(key) : key;
|
|
11
|
-
};
|
|
12
|
-
var KEYS = {
|
|
13
|
-
__id__: _Symbol('__id__'),
|
|
14
|
-
__store__: _Symbol('__store__'),
|
|
15
|
-
__prev__: _Symbol('__prev__'),
|
|
16
|
-
__use__: _Symbol('__use__'),
|
|
17
|
-
__elements__: '__elements__',
|
|
18
|
-
__style__: '$$style',
|
|
19
|
-
__styles__: 'styles',
|
|
20
|
-
__css__: '__css__',
|
|
21
|
-
__hash__: '__hash__',
|
|
22
|
-
/**
|
|
23
|
-
* This prop is needed for the interop between different component frameworks
|
|
24
|
-
*/
|
|
25
|
-
__classProp__: 'className'
|
|
26
|
-
};
|
|
27
|
-
var index = 0;
|
|
28
|
-
var use = function use(obj) {
|
|
29
|
-
var result = {};
|
|
30
|
-
result[KEYS.__use__] = obj;
|
|
31
|
-
return result;
|
|
32
|
-
};
|
|
33
|
-
var create = function create(args) {
|
|
34
|
-
var len = args.length;
|
|
35
|
-
var newStyle = {};
|
|
36
|
-
var id = '';
|
|
37
|
-
var vars = null;
|
|
38
|
-
var uses = null;
|
|
39
|
-
for (var i = 0; i < len; i++) {
|
|
40
|
-
var _style = args[i];
|
|
41
|
-
if (!_style) continue;
|
|
42
|
-
if (!_style[KEYS.__id__]) {
|
|
43
|
-
_style[KEYS.__id__] = ++index;
|
|
44
|
-
_style[KEYS.__store__] = _defineProperty({}, '_' + _style[KEYS.__id__], _style);
|
|
45
|
-
}
|
|
46
|
-
id += '_' + _style[KEYS.__id__];
|
|
47
|
-
if (_style[KEYS.__style__]) {
|
|
48
|
-
vars = Object.assign(vars || {}, _style[KEYS.__style__]);
|
|
49
|
-
}
|
|
50
|
-
if (_style[KEYS.__use__]) {
|
|
51
|
-
uses = Object.assign(uses || {}, _style[KEYS.__use__]);
|
|
52
|
-
}
|
|
53
|
-
if (_style[KEYS.__store__][id]) {
|
|
54
|
-
newStyle = _style[KEYS.__store__][id];
|
|
55
|
-
continue;
|
|
56
|
-
}
|
|
57
|
-
newStyle = Object.create(newStyle);
|
|
58
|
-
for (var key in _style) {
|
|
59
|
-
if (key in KEYS) continue;
|
|
60
|
-
newStyle[key] = appendClassName(_style[key], newStyle[key]);
|
|
61
|
-
}
|
|
62
|
-
_style[KEYS.__store__][id] = newStyle;
|
|
63
|
-
newStyle[KEYS.__id__] = index;
|
|
64
|
-
newStyle[KEYS.__store__] = _defineProperty({}, '_' + _style[KEYS.__id__], newStyle);
|
|
65
|
-
}
|
|
66
|
-
if (vars || use) {
|
|
67
|
-
newStyle = Object.create(newStyle);
|
|
68
|
-
newStyle[KEYS.__style__] = vars;
|
|
69
|
-
newStyle[KEYS.__use__] = uses;
|
|
70
|
-
}
|
|
71
|
-
return newStyle;
|
|
72
|
-
};
|
|
73
|
-
var isSSR = !(typeof window !== 'undefined' && window.document && window.document.createElement);
|
|
1
|
+
import "@babel/runtime/helpers/esm/typeof";
|
|
2
|
+
import "@babel/runtime/helpers/esm/defineProperty";
|
|
74
3
|
var serverMap = {};
|
|
75
|
-
var getStyles = function
|
|
4
|
+
var getStyles = function getStyles2() {
|
|
76
5
|
return {
|
|
77
6
|
map: serverMap,
|
|
78
7
|
get css() {
|
|
79
|
-
var
|
|
8
|
+
var serverStyles2 = "";
|
|
80
9
|
for (var id in serverMap) {
|
|
81
|
-
|
|
10
|
+
serverStyles2 += '<style type="text/css" id="'.concat(id, '">').concat(serverMap[id], "</style>");
|
|
82
11
|
}
|
|
83
|
-
return
|
|
12
|
+
return serverStyles2;
|
|
84
13
|
}
|
|
85
14
|
};
|
|
86
15
|
};
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
var clearStyles = function clearStyles() {
|
|
90
|
-
serverStyles = '';
|
|
91
|
-
};
|
|
92
|
-
/* eslint-disable no-undef */
|
|
93
|
-
|
|
94
|
-
var RESHADOW_ID = '__reshadow__';
|
|
95
|
-
var appendChildToDocumentHead = function appendChildToDocumentHead(element) {
|
|
96
|
-
return document.head.appendChild(element);
|
|
97
|
-
};
|
|
98
|
-
var css = function css(code, hash) {
|
|
99
|
-
var id = "reshadow-".concat(hash);
|
|
100
|
-
if (isSSR) {
|
|
101
|
-
serverMap[id] = code;
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
var container = document.getElementById(RESHADOW_ID);
|
|
105
|
-
if (!container) {
|
|
106
|
-
container = document.createElement('object');
|
|
107
|
-
container.id = RESHADOW_ID;
|
|
108
|
-
if (document.head) {
|
|
109
|
-
appendChildToDocumentHead(container);
|
|
110
|
-
} else {
|
|
111
|
-
document.addEventListener('DOMContentLoaded', function () {
|
|
112
|
-
appendChildToDocumentHead(container);
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
var css = document.getElementById(id);
|
|
117
|
-
if (!css) {
|
|
118
|
-
css = document.createElement('style');
|
|
119
|
-
css.id = id;
|
|
120
|
-
css.type = 'text/css';
|
|
121
|
-
container.appendChild(css);
|
|
122
|
-
}
|
|
123
|
-
css.innerHTML = code;
|
|
124
|
-
};
|
|
125
|
-
var styles = {};
|
|
126
|
-
var style;
|
|
127
|
-
var stack = [];
|
|
128
|
-
var styled = function styled(elem) {
|
|
129
|
-
var curr = stack.pop() || [];
|
|
130
|
-
styles = curr[0] || styles;
|
|
131
|
-
style = curr[1] || style;
|
|
132
|
-
styled[KEYS.__styles__] = styles;
|
|
133
|
-
styled[KEYS.__style__] = style;
|
|
134
|
-
return elem;
|
|
135
|
-
};
|
|
136
|
-
styled[KEYS.__styles__] = styles;
|
|
137
|
-
var set = function set(args, newStyle) {
|
|
138
|
-
var newStyles = create(args);
|
|
139
|
-
stack.push([styles, style]);
|
|
140
|
-
styles = newStyles;
|
|
141
|
-
style = newStyle;
|
|
142
|
-
if (styles[KEYS.__style__]) {
|
|
143
|
-
style = style ? Object.assign({}, style, styles[KEYS.__style__]) : styles[KEYS.__style__];
|
|
144
|
-
}
|
|
145
|
-
styled[KEYS.__styles__] = styles;
|
|
146
|
-
styled[KEYS.__style__] = style;
|
|
147
|
-
};
|
|
148
|
-
var USE_PREFIX = 'use--';
|
|
149
|
-
var ELEMENT_PREFIX = '__';
|
|
150
|
-
var MOD_PREFIX = '_';
|
|
151
|
-
var MOD_SEPARATOR = '_';
|
|
152
|
-
var parseElement = function parseElement(name) {
|
|
153
|
-
return name.replace(ELEMENT_PREFIX, '');
|
|
154
|
-
};
|
|
155
|
-
var parseAttribute = function parseAttribute(name) {
|
|
156
|
-
return name.replace(MOD_PREFIX, '').split(MOD_SEPARATOR);
|
|
157
|
-
};
|
|
158
|
-
var appendClassName = function appendClassName(className) {
|
|
159
|
-
var cn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
160
|
-
if (className) {
|
|
161
|
-
cn += (cn ? ' ' : '') + className;
|
|
162
|
-
}
|
|
163
|
-
return cn;
|
|
164
|
-
};
|
|
165
|
-
var appendElement = function appendElement(styles, key) {
|
|
166
|
-
var cn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
|
167
|
-
return appendClassName(styles[ELEMENT_PREFIX + key], cn);
|
|
16
|
+
export {
|
|
17
|
+
getStyles
|
|
168
18
|
};
|
|
169
|
-
var appendModifier = function appendModifier(styles, key, value) {
|
|
170
|
-
var cn = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
|
|
171
|
-
// isFalsy
|
|
172
|
-
if (value === undefined || value === null || value === false || value === '') return cn;
|
|
173
|
-
cn = appendClassName(styles[MOD_PREFIX + key], cn);
|
|
174
|
-
|
|
175
|
-
// value should be only primitive
|
|
176
|
-
if (typeof value === 'boolean' || _typeof(value) === 'object' || typeof value === 'function') return cn;
|
|
177
|
-
cn = appendClassName(styles[MOD_SEPARATOR + key + MOD_SEPARATOR + value], cn);
|
|
178
|
-
return cn;
|
|
179
|
-
};
|
|
180
|
-
function map(element) {
|
|
181
|
-
var currStyles = styled[KEYS.__styles__];
|
|
182
|
-
var nextProps = {};
|
|
183
|
-
var cn = appendElement(currStyles, element);
|
|
184
|
-
var vars = null;
|
|
185
|
-
var uses = currStyles[KEYS.__use__] || {};
|
|
186
|
-
|
|
187
|
-
// biome-ignore lint/style/noArguments:
|
|
188
|
-
var len = arguments.length;
|
|
189
|
-
var useProps;
|
|
190
|
-
for (var i = len - 1; i > 0; i--) {
|
|
191
|
-
// biome-ignore lint/style/noArguments:
|
|
192
|
-
var currProps = arguments[i];
|
|
193
|
-
if (!currProps) continue;
|
|
194
|
-
useProps = useProps || currProps[KEYS.__use__];
|
|
195
|
-
if (!vars && KEYS.__style__ in currProps) {
|
|
196
|
-
vars = styled[KEYS.__style__];
|
|
197
|
-
}
|
|
198
|
-
for (var key in currProps) {
|
|
199
|
-
if (key === KEYS.__use__ || key === KEYS.__style__ || key in nextProps) {
|
|
200
|
-
continue;
|
|
201
|
-
}
|
|
202
|
-
var value = currProps[key];
|
|
203
|
-
cn = appendModifier(currStyles, key, value, cn);
|
|
204
|
-
var valueType = _typeof(value);
|
|
205
|
-
if (valueType === 'string' || valueType === 'boolean' || valueType === 'number') {
|
|
206
|
-
var useKey = key + '_' + value;
|
|
207
|
-
if (key + '_' + true in uses || useKey in uses) {
|
|
208
|
-
cn = appendModifier(currStyles, USE_PREFIX + key, value, cn);
|
|
209
|
-
if (uses[useKey]) {
|
|
210
|
-
continue;
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
nextProps[key] = value;
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
if (useProps) {
|
|
218
|
-
for (var _key in useProps) {
|
|
219
|
-
var _value = useProps[_key];
|
|
220
|
-
cn = appendModifier(currStyles, USE_PREFIX + _key, _value, cn);
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
cn = appendClassName(nextProps[KEYS.__classProp__], cn);
|
|
224
|
-
if (cn) nextProps[KEYS.__classProp__] = cn;
|
|
225
|
-
if (vars) {
|
|
226
|
-
nextProps.style = typeof style === 'string' ? vars + (nextProps.style || '') : Object.assign({}, vars, nextProps.style || {});
|
|
227
|
-
}
|
|
228
|
-
return nextProps;
|
|
229
|
-
}
|
|
230
|
-
export { styled, use, css, create, set, map,
|
|
231
|
-
// '__css__': css,
|
|
232
|
-
// '__extract__': () => ({
|
|
233
|
-
// [KEYS.__styles__]: styled[[KEYS.__styles__]],
|
|
234
|
-
// [KEYS.__style__]: styled[[KEYS.__style__]],
|
|
235
|
-
// }),
|
|
236
|
-
|
|
237
|
-
// ssr
|
|
238
|
-
getStyles, clearStyles,
|
|
239
|
-
// utils
|
|
240
|
-
appendModifier, appendElement, appendClassName, parseAttribute, parseElement,
|
|
241
|
-
// constants
|
|
242
|
-
MOD_SEPARATOR, MOD_PREFIX, ELEMENT_PREFIX, USE_PREFIX, KEYS, RESHADOW_ID };
|
|
243
|
-
//# sourceMappingURL=reshadow-core.mjs.map
|