🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

@dark-engine/platform-browser

Package Overview
Dependencies
Maintainers
1
Versions
100
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@dark-engine/platform-browser - npm Package Compare versions

Comparing version

to
0.9.4

2

package.json
{
"name": "@dark-engine/platform-browser",
"version": "0.9.3",
"version": "0.9.4",
"description": "Dark is lightweight (10 Kb gzipped) component-and-hook-based UI rendering engine for javascript apps without dependencies and written in Typescript 💫",

@@ -5,0 +5,0 @@ "author": "AlexPlex",

@@ -64,24 +64,59 @@ import {

svg: true,
animate: true,
animateMotion: true,
animateTransform: true,
circle: true,
clipPath: true,
defs: true,
desc: true,
ellipse: true,
feBlend: true,
feColorMatrix: true,
feComponentTransfer: true,
feComposite: true,
feConvolveMatrix: true,
feDiffuseLighting: true,
feDisplacementMap: true,
feDistantLight: true,
feDropShadow: true,
feFlood: true,
feFuncA: true,
feFuncB: true,
feFuncG: true,
feFuncR: true,
feGaussianBlur: true,
feImage: true,
feMerge: true,
feMergeNode: true,
feMorphology: true,
feOffset: true,
fePointLight: true,
feSpecularLighting: true,
feSpotLight: true,
feTile: true,
feTurbulence: true,
filter: true,
foreignObject: true,
g: true,
text: true,
tspan: true,
textPath: true,
image: true,
line: true,
linearGradient: true,
marker: true,
mask: true,
metadata: true,
mpath: true,
path: true,
pattern: true,
polygon: true,
polyline: true,
line: true,
radialGradient: true,
rect: true,
stop: true,
switch: true,
symbol: true,
text: true,
textPath: true,
tspan: true,
use: true,
image: true,
symbol: true,
defs: true,
linearGradient: true,
radialGradient: true,
stop: true,
clipPath: true,
pattern: true,
mask: true,
marker: true,
view: true,
};

@@ -161,2 +196,3 @@

});
!stopAttrsMap[attrName] && element.setAttribute(attrName, nextAttrValue);

@@ -163,0 +199,0 @@ }

@@ -0,1 +1,2 @@

/* eslint-disable @typescript-eslint/no-namespace */
export { render } from './render';

@@ -7,1 +8,11 @@ export { createRoot } from './create-root';

export type { SyntheticEvent } from './events';
export const version = process.env.VERSION;
declare global {
namespace JSX {
interface IntrinsicElements {
[elemName: string]: Record<string, any>;
}
}
}

@@ -32,6 +32,6 @@ (function webpackUniversalModuleDefinition(root, factory) {

return {
render: function (element) { return (0,_render__WEBPACK_IMPORTED_MODULE_1__.render)(element, container); },
unmount: function () {
var rootId = _render__WEBPACK_IMPORTED_MODULE_1__.roots.get(container);
(0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.unmountRoot)(rootId, function () {
render: (element) => (0,_render__WEBPACK_IMPORTED_MODULE_1__.render)(element, container),
unmount: () => {
const rootId = _render__WEBPACK_IMPORTED_MODULE_1__.roots.get(container);
(0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.unmountRoot)(rootId, () => {
_render__WEBPACK_IMPORTED_MODULE_1__.roots["delete"](container);

@@ -81,55 +81,17 @@ container.innerHTML = '';

/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../events */ "./src/events/index.ts");
var __values = (undefined && undefined.__values) || function(o) {
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
if (m) return m.call(o);
if (o && typeof o.length === "number") return {
next: function () {
if (o && i >= o.length) o = void 0;
return { value: o && o[i++], done: !o };
}
};
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
};
var __read = (undefined && undefined.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spreadArray = (undefined && undefined.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
var _a;
var attrBlackListMap = (_a = {},
_a[_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.ATTR_KEY] = true,
_a[_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.ATTR_REF] = true,
_a.void = true,
_a);
var fragmentsMap = new Map();
var trackUpdate = null;
const attrBlackListMap = {
[_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.ATTR_KEY]: true,
[_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.ATTR_REF]: true,
void: true,
};
let fragmentsMap = new Map();
let trackUpdate = null;
function createNativeElement(vNode) {
var _a;
var map = (_a = {},
_a[_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.NodeType.TAG] = function (vNode) {
var tagNode = vNode;
var node = detectIsSvgElement(tagNode.name)
const map = {
[_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.NodeType.TAG]: (vNode) => {
const tagNode = vNode;
const node = detectIsSvgElement(tagNode.name)
? document.createElementNS('http://www.w3.org/2000/svg', tagNode.name)

@@ -139,40 +101,75 @@ : document.createElement(tagNode.name);

},
_a[_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.NodeType.TEXT] = function (vNode) {
var textNode = vNode;
var node = document.createTextNode(textNode.value);
[_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.NodeType.TEXT]: (vNode) => {
const textNode = vNode;
const node = document.createTextNode(textNode.value);
return node;
},
_a[_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.NodeType.COMMENT] = function (vNode) {
var commentNode = vNode;
var node = document.createComment(commentNode.value);
[_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.NodeType.COMMENT]: (vNode) => {
const commentNode = vNode;
const node = document.createComment(commentNode.value);
return node;
},
_a);
};
return map[vNode.type](vNode);
}
function detectIsSvgElement(tagName) {
var tagMap = {
const tagMap = {
svg: true,
animate: true,
animateMotion: true,
animateTransform: true,
circle: true,
clipPath: true,
defs: true,
desc: true,
ellipse: true,
feBlend: true,
feColorMatrix: true,
feComponentTransfer: true,
feComposite: true,
feConvolveMatrix: true,
feDiffuseLighting: true,
feDisplacementMap: true,
feDistantLight: true,
feDropShadow: true,
feFlood: true,
feFuncA: true,
feFuncB: true,
feFuncG: true,
feFuncR: true,
feGaussianBlur: true,
feImage: true,
feMerge: true,
feMergeNode: true,
feMorphology: true,
feOffset: true,
fePointLight: true,
feSpecularLighting: true,
feSpotLight: true,
feTile: true,
feTurbulence: true,
filter: true,
foreignObject: true,
g: true,
text: true,
tspan: true,
textPath: true,
image: true,
line: true,
linearGradient: true,
marker: true,
mask: true,
metadata: true,
mpath: true,
path: true,
pattern: true,
polygon: true,
polyline: true,
line: true,
radialGradient: true,
rect: true,
stop: true,
switch: true,
symbol: true,
text: true,
textPath: true,
tspan: true,
use: true,
image: true,
symbol: true,
defs: true,
linearGradient: true,
radialGradient: true,
stop: true,
clipPath: true,
pattern: true,
mask: true,
marker: true,
view: true,
};

@@ -190,102 +187,80 @@ return Boolean(tagMap[tagName]);

function addAttributes(element, vNode) {
var e_1, _a;
if (!(0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.detectIsTagVirtualNode)(vNode))
return;
var attrNames = Object.keys(vNode.attrs);
try {
for (var attrNames_1 = __values(attrNames), attrNames_1_1 = attrNames_1.next(); !attrNames_1_1.done; attrNames_1_1 = attrNames_1.next()) {
var attrName = attrNames_1_1.value;
var attrValue = vNode.attrs[attrName];
if (attrName === _dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.ATTR_REF) {
applyRef(attrValue, element);
continue;
}
if ((0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.detectIsFunction)(attrValue)) {
if ((0,_events__WEBPACK_IMPORTED_MODULE_2__.detectIsEvent)(attrName)) {
(0,_events__WEBPACK_IMPORTED_MODULE_2__.delegateEvent)({
target: element,
handler: attrValue,
eventName: (0,_events__WEBPACK_IMPORTED_MODULE_2__.getEventName)(attrName),
});
}
}
else if (!(0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.detectIsUndefined)(attrValue) && !attrBlackListMap[attrName]) {
var stopAttrsMap = upgradeInputAttributes({
tagName: vNode.name,
value: attrValue,
attrName: attrName,
element: element,
const attrNames = Object.keys(vNode.attrs);
for (const attrName of attrNames) {
const attrValue = vNode.attrs[attrName];
if (attrName === _dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.ATTR_REF) {
applyRef(attrValue, element);
continue;
}
if ((0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.detectIsFunction)(attrValue)) {
if ((0,_events__WEBPACK_IMPORTED_MODULE_2__.detectIsEvent)(attrName)) {
(0,_events__WEBPACK_IMPORTED_MODULE_2__.delegateEvent)({
target: element,
handler: attrValue,
eventName: (0,_events__WEBPACK_IMPORTED_MODULE_2__.getEventName)(attrName),
});
!stopAttrsMap[attrName] && element.setAttribute(attrName, attrValue);
}
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (attrNames_1_1 && !attrNames_1_1.done && (_a = attrNames_1.return)) _a.call(attrNames_1);
else if (!(0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.detectIsUndefined)(attrValue) && !attrBlackListMap[attrName]) {
const stopAttrsMap = upgradeInputAttributes({
tagName: vNode.name,
value: attrValue,
attrName,
element,
});
!stopAttrsMap[attrName] && element.setAttribute(attrName, attrValue);
}
finally { if (e_1) throw e_1.error; }
}
}
function updateAttributes(element, vNode, nextVNode) {
var e_2, _a;
var attrNames = new Set(__spreadArray(__spreadArray([], __read(Object.keys(vNode.attrs)), false), __read(Object.keys(nextVNode.attrs)), false));
try {
for (var attrNames_2 = __values(attrNames), attrNames_2_1 = attrNames_2.next(); !attrNames_2_1.done; attrNames_2_1 = attrNames_2.next()) {
var attrName = attrNames_2_1.value;
var prevAttrValue = vNode.attrs[attrName];
var nextAttrValue = nextVNode.attrs[attrName];
if (attrName === _dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.ATTR_REF) {
applyRef(prevAttrValue, element);
continue;
}
if (!(0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.detectIsUndefined)(nextAttrValue)) {
if ((0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.detectIsFunction)(prevAttrValue)) {
if ((0,_events__WEBPACK_IMPORTED_MODULE_2__.detectIsEvent)(attrName) && prevAttrValue !== nextAttrValue) {
(0,_events__WEBPACK_IMPORTED_MODULE_2__.delegateEvent)({
target: element,
handler: nextAttrValue,
eventName: (0,_events__WEBPACK_IMPORTED_MODULE_2__.getEventName)(attrName),
});
}
}
else if (!attrBlackListMap[attrName] && prevAttrValue !== nextAttrValue) {
var stopAttrsMap = upgradeInputAttributes({
tagName: nextVNode.name,
value: nextAttrValue,
attrName: attrName,
element: element,
const attrNames = new Set([...Object.keys(vNode.attrs), ...Object.keys(nextVNode.attrs)]);
for (const attrName of attrNames) {
const prevAttrValue = vNode.attrs[attrName];
const nextAttrValue = nextVNode.attrs[attrName];
if (attrName === _dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.ATTR_REF) {
applyRef(prevAttrValue, element);
continue;
}
if (!(0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.detectIsUndefined)(nextAttrValue)) {
if ((0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.detectIsFunction)(prevAttrValue)) {
if ((0,_events__WEBPACK_IMPORTED_MODULE_2__.detectIsEvent)(attrName) && prevAttrValue !== nextAttrValue) {
(0,_events__WEBPACK_IMPORTED_MODULE_2__.delegateEvent)({
target: element,
handler: nextAttrValue,
eventName: (0,_events__WEBPACK_IMPORTED_MODULE_2__.getEventName)(attrName),
});
!stopAttrsMap[attrName] && element.setAttribute(attrName, nextAttrValue);
}
}
else {
element.removeAttribute(attrName);
else if (!attrBlackListMap[attrName] && prevAttrValue !== nextAttrValue) {
const stopAttrsMap = upgradeInputAttributes({
tagName: nextVNode.name,
value: nextAttrValue,
attrName,
element,
});
!stopAttrsMap[attrName] && element.setAttribute(attrName, nextAttrValue);
}
}
}
catch (e_2_1) { e_2 = { error: e_2_1 }; }
finally {
try {
if (attrNames_2_1 && !attrNames_2_1.done && (_a = attrNames_2.return)) _a.call(attrNames_2);
else {
element.removeAttribute(attrName);
}
finally { if (e_2) throw e_2.error; }
}
}
var INPUT_STOP_ATTRS_MAP = {
const INPUT_STOP_ATTRS_MAP = {
value: true,
checked: true,
};
var TEXTAREA_STOP_ATTRS_MAP = {
const TEXTAREA_STOP_ATTRS_MAP = {
value: true,
};
var OPTIONS_STOP_ATTRS_MAP = {
const OPTIONS_STOP_ATTRS_MAP = {
selected: true,
};
var DEFAULT_STOP_ATTRS_MAP = {};
const DEFAULT_STOP_ATTRS_MAP = {};
function upgradeInputAttributes(options) {
var tagName = options.tagName, element = options.element, attrName = options.attrName, value = options.value;
var map = {
input: function () {
const { tagName, element, attrName, value } = options;
const map = {
input: () => {
if (INPUT_STOP_ATTRS_MAP[attrName]) {

@@ -296,3 +271,3 @@ element[attrName] = value;

},
textarea: function () {
textarea: () => {
if (TEXTAREA_STOP_ATTRS_MAP[attrName]) {

@@ -303,3 +278,3 @@ element[attrName] = value;

},
option: function () {
option: () => {
if (OPTIONS_STOP_ATTRS_MAP[attrName]) {

@@ -314,3 +289,3 @@ element[attrName] = value;

function getParentFiberWithNativeElement(fiber) {
var nextFiber = fiber;
let nextFiber = fiber;
while (nextFiber) {

@@ -327,7 +302,6 @@ nextFiber = nextFiber.parent;

function getNodeOnTheRight(fiber, parentElement) {
var node = null;
let node = null;
(0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.walkFiber)({
fiber: fiber,
onLoop: function (_a) {
var nextFiber = _a.nextFiber, stop = _a.stop, resetIsDeepWalking = _a.resetIsDeepWalking;
fiber,
onLoop: ({ nextFiber, stop, resetIsDeepWalking }) => {
if (nextFiber.nativeElement && nextFiber.nativeElement.parentElement === parentElement) {

@@ -345,6 +319,5 @@ node = nextFiber.nativeElement;

function getChildIndex(fiber, parentNativeElement) {
var _a;
var nextFiber = fiber;
let nextFiber = fiber;
while (nextFiber) {
if (((_a = nextFiber === null || nextFiber === void 0 ? void 0 : nextFiber.parent) === null || _a === void 0 ? void 0 : _a.nativeElement) === parentNativeElement) {
if (nextFiber?.parent?.nativeElement === parentNativeElement) {
return nextFiber.idx;

@@ -357,14 +330,14 @@ }

function commitCreation(fiber) {
var parentFiber = getParentFiberWithNativeElement(fiber);
var parentNativeElement = parentFiber.nativeElement;
var childNodes = parentNativeElement.childNodes;
var append = function () {
var fragment = (fragmentsMap.get(parentNativeElement) ||
const parentFiber = getParentFiberWithNativeElement(fiber);
const parentNativeElement = parentFiber.nativeElement;
const childNodes = parentNativeElement.childNodes;
const append = () => {
const { fragment } = fragmentsMap.get(parentNativeElement) ||
{
fragment: document.createDocumentFragment(),
callback: function () { },
}).fragment;
callback: () => { },
};
fragmentsMap.set(parentNativeElement, {
fragment: fragment,
callback: function () {
fragment,
callback: () => {
parentNativeElement.appendChild(fragment);

@@ -376,3 +349,3 @@ },

};
var insert = function () {
const insert = () => {
parentNativeElement.insertBefore(fiber.nativeElement, getNodeOnTheRight(fiber, parentNativeElement));

@@ -400,7 +373,6 @@ fiber.markMountedToHost();

function commitDeletion(fiber) {
var parentFiber = getParentFiberWithNativeElement(fiber);
const parentFiber = getParentFiberWithNativeElement(fiber);
(0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.walkFiber)({
fiber: fiber,
onLoop: function (_a) {
var nextFiber = _a.nextFiber, isReturn = _a.isReturn, resetIsDeepWalking = _a.resetIsDeepWalking, stop = _a.stop;
fiber,
onLoop: ({ nextFiber, isReturn, resetIsDeepWalking, stop }) => {
if (nextFiber === fiber.nextSibling || nextFiber === fiber.parent) {

@@ -417,5 +389,4 @@ return stop();

function applyCommit(fiber) {
var _a;
var map = (_a = {},
_a[_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.EffectTag.CREATE] = function () {
const map = {
[_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.EffectTag.CREATE]: () => {
if (fiber.nativeElement === null)

@@ -426,3 +397,3 @@ return;

},
_a[_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.EffectTag.UPDATE] = function () {
[_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.EffectTag.UPDATE]: () => {
if (fiber.nativeElement === null ||

@@ -436,22 +407,11 @@ !(0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.detectIsVirtualNode)(fiber.alternate.instance) ||

},
_a[_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.EffectTag.DELETE] = function () { return commitDeletion(fiber); },
_a[_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.EffectTag.SKIP] = function () { },
_a);
[_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.EffectTag.DELETE]: () => commitDeletion(fiber),
[_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.EffectTag.SKIP]: () => { },
};
map[fiber.effectTag]();
}
function finishCommitWork() {
var e_3, _a;
try {
for (var _b = __values(fragmentsMap.values()), _c = _b.next(); !_c.done; _c = _b.next()) {
var callback = _c.value.callback;
callback();
}
for (const { callback } of fragmentsMap.values()) {
callback();
}
catch (e_3_1) { e_3 = { error: e_3_1 }; }
finally {
try {
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
}
finally { if (e_3) throw e_3.error; }
}
fragmentsMap = new Map();

@@ -516,8 +476,8 @@ }

var SyntheticEvent = /** @class */ (function () {
function SyntheticEvent(options) {
this.type = '';
this.sourceEvent = null;
this.target = null;
this.propagation = true;
class SyntheticEvent {
type = '';
sourceEvent = null;
target = null;
propagation = true;
constructor(options) {
this.type = options.sourceEvent.type;

@@ -527,27 +487,26 @@ this.sourceEvent = options.sourceEvent;

}
SyntheticEvent.prototype.stopPropagation = function () {
stopPropagation() {
this.propagation = false;
this.sourceEvent.stopPropagation();
};
SyntheticEvent.prototype.preventDefault = function () {
}
preventDefault() {
this.sourceEvent.preventDefault();
};
SyntheticEvent.prototype.getPropagation = function () {
}
getPropagation() {
return this.propagation;
};
return SyntheticEvent;
}());
}
}
function delegateEvent(options) {
var target = options.target, eventName = options.eventName, handler = options.handler;
var eventsMap = _dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.eventsStore.get();
var handlerMap = eventsMap.get(eventName);
const { target, eventName, handler } = options;
const eventsMap = _dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.eventsStore.get();
const handlerMap = eventsMap.get(eventName);
if (!handlerMap) {
var rootHandler_1 = function (event) {
var fireEvent = eventsMap.get(eventName).get(event.target);
var target = event.target;
var syntheticEvent = null;
const rootHandler = (event) => {
const fireEvent = eventsMap.get(eventName).get(event.target);
const target = event.target;
let syntheticEvent = null;
if ((0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.detectIsFunction)(fireEvent)) {
syntheticEvent = new SyntheticEvent({
sourceEvent: event,
target: target,
target,
});

@@ -561,4 +520,4 @@ fireEvent(syntheticEvent);

eventsMap.set(eventName, new WeakMap([[target, handler]]));
document.addEventListener(eventName, rootHandler_1, true);
_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.eventsStore.addUnsubscriber(function () { return document.removeEventListener(eventName, rootHandler_1, true); });
document.addEventListener(eventName, rootHandler, true);
_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.eventsStore.addUnsubscriber(() => document.removeEventListener(eventName, rootHandler, true));
}

@@ -569,4 +528,4 @@ else {

}
var detectIsEvent = function (attrName) { return attrName.startsWith('on'); };
var getEventName = function (attrName) { return attrName.slice(2, attrName.length).toLowerCase(); };
const detectIsEvent = (attrName) => attrName.startsWith('on');
const getEventName = (attrName) => attrName.slice(2, attrName.length).toLowerCase();

@@ -630,35 +589,18 @@

/* harmony import */ var _dark_engine_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__);
var __rest = (undefined && undefined.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
var $$portal = Symbol('portal');
const $$portal = Symbol('portal');
function createPortal(slot, container) {
var _a;
if (!(container instanceof Element)) {
throw new Error("[Dark]: createPortal receives only Element as container!");
throw new Error(`[Dark]: createPortal receives only Element as container!`);
}
return Portal((_a = {}, _a[$$portal] = container, _a.slot = slot, _a));
return Portal({ [$$portal]: container, slot });
}
var Portal = (0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.createComponent)(function (_a) {
var slot = _a.slot, rest = __rest(_a, ["slot"]);
(0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function () { return (rest[$$portal].innerHTML = ''); }, []);
const Portal = (0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.createComponent)(({ slot, ...rest }) => {
(0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => (rest[$$portal].innerHTML = ''), []);
return slot;
}, { token: $$portal });
var detectIsPortal = function (factory) {
return (0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.detectIsComponentFactory)(factory) && factory.token === $$portal;
};
var getPortalContainer = function (factory) {
return detectIsPortal(factory) ? factory.props[$$portal] : null;
};
const detectIsPortal = (factory) => (0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.detectIsComponentFactory)(factory) && factory.token === $$portal;
const getPortalContainer = (factory) => detectIsPortal(factory) ? factory.props[$$portal] : null;
function unmountPortal(fiber) {
var container = getPortalContainer(fiber.instance);
const container = getPortalContainer(fiber.instance);
if (container) {

@@ -718,9 +660,9 @@ container.innerHTML = '';

_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.platform.unmountPortal = _portal__WEBPACK_IMPORTED_MODULE_2__.unmountPortal;
var roots = new Map();
const roots = new Map();
function render(element, container) {
if (!(container instanceof Element)) {
throw new Error("[Dark]: render receives only Element as container!");
throw new Error(`[Dark]: render receives only Element as container!`);
}
var isMounted = !(0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.detectIsUndefined)(roots.get(container));
var rootId = null;
const isMounted = !(0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.detectIsUndefined)(roots.get(container));
let rootId = null;
if (!isMounted) {

@@ -734,6 +676,6 @@ rootId = roots.size;

}
var callback = function () {
const callback = () => {
_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.rootStore.set(rootId); // important order!
var currentRoot = _dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.currentRootStore.get();
var fiber = new _dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.Fiber({
const currentRoot = _dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.currentRootStore.get();
const fiber = new _dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.Fiber({
nativeElement: container,

@@ -789,20 +731,4 @@ instance: new _dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.TagVirtualNode({

/* harmony import */ var _dark_engine_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__);
var __read = (undefined && undefined.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var queueByPriority = {
const queueByPriority = {
hight: [],

@@ -813,9 +739,16 @@ normal: [],

};
var YEILD_INTERVAL = 10;
var scheduledCallback = null;
var deadline = 0;
var isMessageLoopRunning = false;
var currentTask = null;
var Task = /** @class */ (function () {
function Task(options) {
const YEILD_INTERVAL = 10;
let scheduledCallback = null;
let deadline = 0;
let isMessageLoopRunning = false;
let currentTask = null;
class Task {
static nextTaskId = 0;
id;
time;
timeoutMs;
priority;
forceSync;
callback;
constructor(options) {
this.id = ++Task.nextTaskId;

@@ -828,15 +761,12 @@ this.time = options.time;

}
Task.nextTaskId = 0;
return Task;
}());
var shouldYeildToHost = function () { return (0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.getTime)() >= deadline; };
}
const shouldYeildToHost = () => (0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.getTime)() >= deadline;
function scheduleCallback(callback, options) {
var _a;
var _b = options || {}, _c = _b.priority, priority = _c === void 0 ? _dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.TaskPriority.NORMAL : _c, _d = _b.timeoutMs, timeoutMs = _d === void 0 ? 0 : _d, _e = _b.forceSync, forceSync = _e === void 0 ? false : _e;
var task = new Task({ time: (0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.getTime)(), timeoutMs: timeoutMs, priority: priority, forceSync: forceSync, callback: callback });
var map = (_a = {},
_a[_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.TaskPriority.HIGH] = function () { return queueByPriority.hight.push(task); },
_a[_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.TaskPriority.NORMAL] = function () { return queueByPriority.normal.push(task); },
_a[_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.TaskPriority.LOW] = function () { return (task.timeoutMs > 0 ? queueByPriority.low2.push(task) : queueByPriority.low1.push(task)); },
_a);
const { priority = _dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.TaskPriority.NORMAL, timeoutMs = 0, forceSync = false } = options || {};
const task = new Task({ time: (0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.getTime)(), timeoutMs, priority, forceSync, callback });
const map = {
[_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.TaskPriority.HIGH]: () => queueByPriority.hight.push(task),
[_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.TaskPriority.NORMAL]: () => queueByPriority.normal.push(task),
[_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.TaskPriority.LOW]: () => (task.timeoutMs > 0 ? queueByPriority.low2.push(task) : queueByPriority.low1.push(task)),
};
map[task.priority]();

@@ -859,3 +789,3 @@ executeTasks();

function executeTasks() {
var isBusy = Boolean(_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.wipRootStore.get());
const isBusy = Boolean(_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.wipRootStore.get());
if (!isBusy) {

@@ -865,7 +795,7 @@ checkOverdueTasks() ||

pick(queueByPriority.normal) ||
requestIdleCallback(function () { return pick(queueByPriority.low1) || pick(queueByPriority.low2); });
requestIdleCallback(() => pick(queueByPriority.low1) || pick(queueByPriority.low2));
}
}
function checkOverdueTasks() {
var _a = __read(queueByPriority.low2, 1), task = _a[0];
const [task] = queueByPriority.low2;
if (task && (0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.getTime)() - task.time > task.timeoutMs) {

@@ -881,3 +811,3 @@ pick(queueByPriority.low2);

try {
var hasMoreWork = scheduledCallback();
const hasMoreWork = scheduledCallback();
if (!hasMoreWork) {

@@ -917,4 +847,4 @@ currentTask = null;

}
var channel = null;
var port = null;
let channel = null;
let port = null;
function setup() {

@@ -960,36 +890,7 @@ if (false) {}

/* harmony import */ var _dark_engine_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__);
var __read = (undefined && undefined.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spreadArray = (undefined && undefined.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
function styled(strings) {
var args = [];
for (var _i = 1; _i < arguments.length; _i++) {
args[_i - 1] = arguments[_i];
}
var style = (0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function () {
function styled(strings, ...args) {
const style = (0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {
return strings
.map(function (x, idx) { return x + (!(0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.detectIsUndefined)(args[idx]) ? args[idx] : ''); })
.map((x, idx) => x + (!(0,_dark_engine_core__WEBPACK_IMPORTED_MODULE_0__.detectIsUndefined)(args[idx]) ? args[idx] : ''))
.join('')

@@ -999,3 +900,3 @@ .replace(/;\s*/gm, ';')

.trim();
}, __spreadArray([strings], __read(args), false));
}, [strings, ...args]);
return style;

@@ -1101,3 +1002,4 @@ }

/* harmony export */ "setTrackUpdate": () => (/* reexport safe */ _dom__WEBPACK_IMPORTED_MODULE_4__.setTrackUpdate),
/* harmony export */ "useStyle": () => (/* reexport safe */ _use_style__WEBPACK_IMPORTED_MODULE_3__.useStyle)
/* harmony export */ "useStyle": () => (/* reexport safe */ _use_style__WEBPACK_IMPORTED_MODULE_3__.useStyle),
/* harmony export */ "version": () => (/* binding */ version)
/* harmony export */ });

@@ -1109,2 +1011,3 @@ /* harmony import */ var _render__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./render */ "./src/render/index.ts");

/* harmony import */ var _dom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./dom */ "./src/dom/index.ts");
/* eslint-disable @typescript-eslint/no-namespace */

@@ -1115,2 +1018,3 @@

const version = "0.9.4";

@@ -1117,0 +1021,0 @@ })();

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@dark-engine/core")):"function"==typeof define&&define.amd?define("DarkPlatformBrowser",["@dark-engine/core"],t):"object"==typeof exports?exports.DarkPlatformBrowser=t(require("@dark-engine/core")):e.DarkPlatformBrowser=t(e.DarkCore)}(self,(e=>(()=>{"use strict";var t={317:t=>{t.exports=e}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var a=n[e]={exports:{}};return t[e](a,a.exports,r),a.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return(()=>{r.r(o),r.d(o,{createPortal:()=>n,createRoot:()=>U,render:()=>H,setTrackUpdate:()=>M,useStyle:()=>_});var e=r(317),t=Symbol("portal");function n(e,n){var r;if(!(n instanceof Element))throw new Error("[Dark]: createPortal receives only Element as container!");return a(((r={})[t]=n,r.slot=e,r))}var a=(0,e.createComponent)((function(n){var r=n.slot,o=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}(n,["slot"]);return(0,e.useMemo)((function(){return o[t].innerHTML=""}),[]),r}),{token:t}),i=function(n){return(0,e.detectIsComponentFactory)(n)&&n.token===t},l=function(e){return i(e)?e.props[t]:null},u=function(){function e(e){this.type="",this.sourceEvent=null,this.target=null,this.propagation=!0,this.type=e.sourceEvent.type,this.sourceEvent=e.sourceEvent,this.target=e.target}return e.prototype.stopPropagation=function(){this.propagation=!1,this.sourceEvent.stopPropagation()},e.prototype.preventDefault=function(){this.sourceEvent.preventDefault()},e.prototype.getPropagation=function(){return this.propagation},e}();function c(t){var n=t.target,r=t.eventName,o=t.handler,a=e.eventsStore.get(),i=a.get(r);if(i)i.set(n,o);else{var l=function(t){var n=a.get(r).get(t.target),o=t.target,i=null;(0,e.detectIsFunction)(n)&&n(i=new u({sourceEvent:t,target:o})),(i?i.getPropagation():o.parentElement)&&o.parentElement.dispatchEvent(new t.constructor(t.type,t))};a.set(r,new WeakMap([[n,o]])),document.addEventListener(r,l,!0),e.eventsStore.addUnsubscriber((function(){return document.removeEventListener(r,l,!0)}))}}var f,s=function(e){return e.startsWith("on")},p=function(e){return e.slice(2,e.length).toLowerCase()},m=function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},v=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},d=function(e,t,n){if(n||2===arguments.length)for(var r,o=0,a=t.length;o<a;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))},y=((f={})[e.ATTR_KEY]=!0,f[e.ATTR_REF]=!0,f.void=!0,f),g=new Map,h=null;function E(t,n){(0,e.detectIsFunction)(t)?t(n):(0,e.detectIsMutableRef)(t)&&(t.current=n)}var b={value:!0,checked:!0},T={value:!0},w={selected:!0},k={};function S(e){var t=e.tagName,n=e.element,r=e.attrName,o=e.value,a={input:function(){return b[r]&&(n[r]=o),b},textarea:function(){return T[r]&&(n[r]=o),T},option:function(){return w[r]&&(n[r]=o),w}};return a[t]?a[t]():k}function x(e){for(var t=e;t;)if(t=t.parent,i(t.instance)&&(t.nativeElement=l(t.instance)),t.nativeElement)return t;return t}function M(e){h=e}var N={hight:[],normal:[],low1:[],low2:[]},P=null,I=0,O=!1,A=null,R=function(){function e(t){this.id=++e.nextTaskId,this.time=t.time,this.timeoutMs=t.timeoutMs,this.priority=t.priority,this.forceSync=t.forceSync,this.callback=t.callback}return e.nextTaskId=0,e}();function C(t){return!!t.length&&((A=t.shift()).callback(),A.forceSync?function(e){for(;e(););L(),A=null}(e.workLoop):(n=e.workLoop,P=n,O||(O=!0,F.postMessage(null))),!0);var n}function L(){var t;Boolean(e.wipRootStore.get())||(t=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i}(N.low2,1)[0])&&(0,e.getTime)()-t.time>t.timeoutMs&&(C(N.low2),1)||C(N.hight)||C(N.normal)||requestIdleCallback((function(){return C(N.low1)||C(N.low2)}))}var j=null,F=null;j=new MessageChannel,F=j.port2,j.port1.onmessage=function(){if(P){I=(0,e.getTime)()+10;try{P()?F.postMessage(null):(A=null,O=!1,P=null,L())}catch(e){throw F.postMessage(null),e}}else O=!1},e.platform.createNativeElement=function(t){var n,r=((n={})[e.NodeType.TAG]=function(e){var t,n=e;return t=n.name,Boolean({svg:!0,circle:!0,ellipse:!0,g:!0,text:!0,tspan:!0,textPath:!0,path:!0,polygon:!0,polyline:!0,line:!0,rect:!0,use:!0,image:!0,symbol:!0,defs:!0,linearGradient:!0,radialGradient:!0,stop:!0,clipPath:!0,pattern:!0,mask:!0,marker:!0}[t])?document.createElementNS("http://www.w3.org/2000/svg",n.name):document.createElement(n.name)},n[e.NodeType.TEXT]=function(e){var t=e;return document.createTextNode(t.value)},n[e.NodeType.COMMENT]=function(e){var t=e;return document.createComment(t.value)},n);return r[t.type](t)},e.platform.requestAnimationFrame=requestAnimationFrame.bind(void 0),e.platform.scheduleCallback=function(t,n){var r,o=n||{},a=o.priority,i=void 0===a?e.TaskPriority.NORMAL:a,l=o.timeoutMs,u=void 0===l?0:l,c=o.forceSync,f=void 0!==c&&c,s=new R({time:(0,e.getTime)(),timeoutMs:u,priority:i,forceSync:f,callback:t});((r={})[e.TaskPriority.HIGH]=function(){return N.hight.push(s)},r[e.TaskPriority.NORMAL]=function(){return N.normal.push(s)},r[e.TaskPriority.LOW]=function(){return s.timeoutMs>0?N.low2.push(s):N.low1.push(s)},r)[s.priority](),L()},e.platform.shouldYeildToHost=function(){return(0,e.getTime)()>=I},e.platform.applyCommit=function(t){var n,r=((n={})[e.EffectTag.CREATE]=function(){null!==t.nativeElement&&(h&&h(t.nativeElement),function(t){var n,r=x(t).nativeElement,o=r.childNodes;0===o.length||function(e,t){for(var n,r=e;r;){if((null===(n=null==r?void 0:r.parent)||void 0===n?void 0:n.nativeElement)===t)return r.idx;r=r.parent}return-1}(t,r)>o.length-1?(n=(g.get(r)||{fragment:document.createDocumentFragment(),callback:function(){}}).fragment,g.set(r,{fragment:n,callback:function(){r.appendChild(n)}}),n.appendChild(t.nativeElement),t.markMountedToHost()):(r.insertBefore(t.nativeElement,function(t,n){var r=null;return(0,e.walkFiber)({fiber:t,onLoop:function(e){var t=e.nextFiber,o=e.stop,a=e.resetIsDeepWalking;return t.nativeElement&&t.nativeElement.parentElement===n?(r=t.nativeElement,o()):t.mountedToHost?void 0:a()}}),r}(t,r)),t.markMountedToHost()),function(t,n){var r,o;if((0,e.detectIsTagVirtualNode)(n)){var a=Object.keys(n.attrs);try{for(var i=m(a),l=i.next();!l.done;l=i.next()){var u=l.value,f=n.attrs[u];u!==e.ATTR_REF?(0,e.detectIsFunction)(f)?s(u)&&c({target:t,handler:f,eventName:p(u)}):(0,e.detectIsUndefined)(f)||y[u]||!S({tagName:n.name,value:f,attrName:u,element:t})[u]&&t.setAttribute(u,f):E(f,t)}}catch(e){r={error:e}}finally{try{l&&!l.done&&(o=i.return)&&o.call(i)}finally{if(r)throw r.error}}}}(t.nativeElement,t.instance)}(t))},n[e.EffectTag.UPDATE]=function(){var n,r,o;null!==t.nativeElement&&(0,e.detectIsVirtualNode)(t.alternate.instance)&&(0,e.detectIsVirtualNode)(t.instance)&&(h&&h(t.nativeElement),n=t.nativeElement,r=t.alternate.instance,o=t.instance,(0,e.detectIsTextVirtualNode)(r)&&(0,e.detectIsTextVirtualNode)(o)&&r.value!==o.value?n.textContent=o.value:(0,e.detectIsTagVirtualNode)(r)&&(0,e.detectIsTagVirtualNode)(o)&&function(t,n,r){var o,a,i=new Set(d(d([],v(Object.keys(n.attrs)),!1),v(Object.keys(r.attrs)),!1));try{for(var l=m(i),u=l.next();!u.done;u=l.next()){var f=u.value,g=n.attrs[f],h=r.attrs[f];f!==e.ATTR_REF?(0,e.detectIsUndefined)(h)?t.removeAttribute(f):(0,e.detectIsFunction)(g)?s(f)&&g!==h&&c({target:t,handler:h,eventName:p(f)}):y[f]||g===h||!S({tagName:r.name,value:h,attrName:f,element:t})[f]&&t.setAttribute(f,h):E(g,t)}}catch(e){o={error:e}}finally{try{u&&!u.done&&(a=l.return)&&a.call(l)}finally{if(o)throw o.error}}}(n,r,o))},n[e.EffectTag.DELETE]=function(){return function(t){var n=x(t);(0,e.walkFiber)({fiber:t,onLoop:function(e){var r=e.nextFiber,o=e.isReturn,a=e.resetIsDeepWalking,l=e.stop;return r===t.nextSibling||r===t.parent?l():!o&&r.nativeElement?(!i(r.instance)&&n.nativeElement.removeChild(r.nativeElement),a()):void 0}})}(t)},n[e.EffectTag.SKIP]=function(){},n);r[t.effectTag]()},e.platform.finishCommitWork=function(){var e,t;try{for(var n=m(g.values()),r=n.next();!r.done;r=n.next())(0,r.value.callback)()}catch(t){e={error:t}}finally{try{r&&!r.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}g=new Map},e.platform.detectIsPortal=i,e.platform.unmountPortal=function(e){var t=l(e.instance);t&&(t.innerHTML="")};var D=new Map;function H(t,n){if(!(n instanceof Element))throw new Error("[Dark]: render receives only Element as container!");var r=!(0,e.detectIsUndefined)(D.get(n)),o=null;r?o=D.get(n):(o=D.size,D.set(n,o),n.innerHTML=""),e.platform.scheduleCallback((function(){e.rootStore.set(o);var a=e.currentRootStore.get(),i=new e.Fiber({nativeElement:n,instance:new e.TagVirtualNode({name:e.ROOT,children:(0,e.flatten)([t||(0,e.createEmptyVirtualNode)()])}),alternate:a,effectTag:r?e.EffectTag.UPDATE:e.EffectTag.CREATE});a&&(a.alternate=null),e.fiberMountStore.reset(),e.wipRootStore.set(i),e.nextUnitOfWorkStore.set(i)}),{priority:e.TaskPriority.NORMAL,forceSync:e.isLayoutEffectsZone.get()})}function U(t){return{render:function(e){return H(e,t)},unmount:function(){var n=D.get(t);(0,e.unmountRoot)(n,(function(){D.delete(t),t.innerHTML=""}))}}}var V=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},W=function(e,t,n){if(n||2===arguments.length)for(var r,o=0,a=t.length;o<a;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))};function B(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];var o=(0,e.useMemo)((function(){return t.map((function(t,r){return t+((0,e.detectIsUndefined)(n[r])?"":n[r])})).join("").replace(/;\s*/gm,";").replace(/:\s*/gm,":").trim()}),W([t],V(n),!1));return o}function _(e){return e(B)}})(),o})()));
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@dark-engine/core")):"function"==typeof define&&define.amd?define("DarkPlatformBrowser",["@dark-engine/core"],t):"object"==typeof exports?exports.DarkPlatformBrowser=t(require("@dark-engine/core")):e.DarkPlatformBrowser=t(e.DarkCore)}(self,(e=>(()=>{"use strict";var t={317:t=>{t.exports=e}},n={};function o(e){var r=n[e];if(void 0!==r)return r.exports;var a=n[e]={exports:{}};return t[e](a,a.exports,o),a.exports}o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return(()=>{o.r(r),o.d(r,{createPortal:()=>n,createRoot:()=>D,render:()=>A,setTrackUpdate:()=>b,useStyle:()=>j,version:()=>H});var e=o(317);const t=Symbol("portal");function n(e,n){if(!(n instanceof Element))throw new Error("[Dark]: createPortal receives only Element as container!");return a({[t]:n,slot:e})}const a=(0,e.createComponent)((({slot:n,...o})=>((0,e.useMemo)((()=>o[t].innerHTML=""),[]),n)),{token:t}),i=n=>(0,e.detectIsComponentFactory)(n)&&n.token===t,l=e=>i(e)?e.props[t]:null;class s{type="";sourceEvent=null;target=null;propagation=!0;constructor(e){this.type=e.sourceEvent.type,this.sourceEvent=e.sourceEvent,this.target=e.target}stopPropagation(){this.propagation=!1,this.sourceEvent.stopPropagation()}preventDefault(){this.sourceEvent.preventDefault()}getPropagation(){return this.propagation}}function c(t){const{target:n,eventName:o,handler:r}=t,a=e.eventsStore.get(),i=a.get(o);if(i)i.set(n,r);else{const t=t=>{const n=a.get(o).get(t.target),r=t.target;let i=null;(0,e.detectIsFunction)(n)&&(i=new s({sourceEvent:t,target:r}),n(i)),(i?i.getPropagation():r.parentElement)&&r.parentElement.dispatchEvent(new t.constructor(t.type,t))};a.set(o,new WeakMap([[n,r]])),document.addEventListener(o,t,!0),e.eventsStore.addUnsubscriber((()=>document.removeEventListener(o,t,!0)))}}const u=e=>e.startsWith("on"),f=e=>e.slice(2,e.length).toLowerCase(),m={[e.ATTR_KEY]:!0,[e.ATTR_REF]:!0,void:!0};let p=new Map,d=null;function g(t,n){(0,e.detectIsFunction)(t)?t(n):(0,e.detectIsMutableRef)(t)&&(t.current=n)}const v={value:!0,checked:!0},E={value:!0},h={selected:!0},T={};function y(e){const{tagName:t,element:n,attrName:o,value:r}=e,a={input:()=>(v[o]&&(n[o]=r),v),textarea:()=>(E[o]&&(n[o]=r),E),option:()=>(h[o]&&(n[o]=r),h)};return a[t]?a[t]():T}function k(e){let t=e;for(;t;)if(t=t.parent,i(t.instance)&&(t.nativeElement=l(t.instance)),t.nativeElement)return t;return t}function b(e){d=e}const w={hight:[],normal:[],low1:[],low2:[]};let M=null,N=0,S=!1,I=null;class P{static nextTaskId=0;id;time;timeoutMs;priority;forceSync;callback;constructor(e){this.id=++P.nextTaskId,this.time=e.time,this.timeoutMs=e.timeoutMs,this.priority=e.priority,this.forceSync=e.forceSync,this.callback=e.callback}}function x(t){return!!t.length&&(I=t.shift(),I.callback(),I.forceSync?function(e){for(;e(););C(),I=null}(e.workLoop):(n=e.workLoop,M=n,S||(S=!0,F.postMessage(null))),!0);var n}function C(){Boolean(e.wipRootStore.get())||function(){const[t]=w.low2;return!!(t&&(0,e.getTime)()-t.time>t.timeoutMs)&&(x(w.low2),!0)}()||x(w.hight)||x(w.normal)||requestIdleCallback((()=>x(w.low1)||x(w.low2)))}let L=null,F=null;L=new MessageChannel,F=L.port2,L.port1.onmessage=function(){if(M){N=(0,e.getTime)()+10;try{M()?F.postMessage(null):(I=null,S=!1,M=null,C())}catch(e){throw F.postMessage(null),e}}else S=!1},e.platform.createNativeElement=function(t){const n={[e.NodeType.TAG]:e=>{const t=e;var n;return n=t.name,Boolean({svg:!0,animate:!0,animateMotion:!0,animateTransform:!0,circle:!0,clipPath:!0,defs:!0,desc:!0,ellipse:!0,feBlend:!0,feColorMatrix:!0,feComponentTransfer:!0,feComposite:!0,feConvolveMatrix:!0,feDiffuseLighting:!0,feDisplacementMap:!0,feDistantLight:!0,feDropShadow:!0,feFlood:!0,feFuncA:!0,feFuncB:!0,feFuncG:!0,feFuncR:!0,feGaussianBlur:!0,feImage:!0,feMerge:!0,feMergeNode:!0,feMorphology:!0,feOffset:!0,fePointLight:!0,feSpecularLighting:!0,feSpotLight:!0,feTile:!0,feTurbulence:!0,filter:!0,foreignObject:!0,g:!0,image:!0,line:!0,linearGradient:!0,marker:!0,mask:!0,metadata:!0,mpath:!0,path:!0,pattern:!0,polygon:!0,polyline:!0,radialGradient:!0,rect:!0,stop:!0,switch:!0,symbol:!0,text:!0,textPath:!0,tspan:!0,use:!0,view:!0}[n])?document.createElementNS("http://www.w3.org/2000/svg",t.name):document.createElement(t.name)},[e.NodeType.TEXT]:e=>{const t=e;return document.createTextNode(t.value)},[e.NodeType.COMMENT]:e=>{const t=e;return document.createComment(t.value)}};return n[t.type](t)},e.platform.requestAnimationFrame=requestAnimationFrame.bind(void 0),e.platform.scheduleCallback=function(t,n){const{priority:o=e.TaskPriority.NORMAL,timeoutMs:r=0,forceSync:a=!1}=n||{},i=new P({time:(0,e.getTime)(),timeoutMs:r,priority:o,forceSync:a,callback:t});({[e.TaskPriority.HIGH]:()=>w.hight.push(i),[e.TaskPriority.NORMAL]:()=>w.normal.push(i),[e.TaskPriority.LOW]:()=>i.timeoutMs>0?w.low2.push(i):w.low1.push(i)})[i.priority](),C()},e.platform.shouldYeildToHost=()=>(0,e.getTime)()>=N,e.platform.applyCommit=function(t){const n={[e.EffectTag.CREATE]:()=>{null!==t.nativeElement&&(d&&d(t.nativeElement),function(t){const n=k(t).nativeElement,o=n.childNodes;0===o.length||function(e,t){let n=e;for(;n;){if(n?.parent?.nativeElement===t)return n.idx;n=n.parent}return-1}(t,n)>o.length-1?(()=>{const{fragment:e}=p.get(n)||{fragment:document.createDocumentFragment(),callback:()=>{}};p.set(n,{fragment:e,callback:()=>{n.appendChild(e)}}),e.appendChild(t.nativeElement),t.markMountedToHost()})():(n.insertBefore(t.nativeElement,function(t,n){let o=null;return(0,e.walkFiber)({fiber:t,onLoop:({nextFiber:e,stop:t,resetIsDeepWalking:r})=>e.nativeElement&&e.nativeElement.parentElement===n?(o=e.nativeElement,t()):e.mountedToHost?void 0:r()}),o}(t,n)),t.markMountedToHost()),function(t,n){if(!(0,e.detectIsTagVirtualNode)(n))return;const o=Object.keys(n.attrs);for(const r of o){const o=n.attrs[r];r!==e.ATTR_REF?(0,e.detectIsFunction)(o)?u(r)&&c({target:t,handler:o,eventName:f(r)}):(0,e.detectIsUndefined)(o)||m[r]||!y({tagName:n.name,value:o,attrName:r,element:t})[r]&&t.setAttribute(r,o):g(o,t)}}(t.nativeElement,t.instance)}(t))},[e.EffectTag.UPDATE]:()=>{var n,o,r;null!==t.nativeElement&&(0,e.detectIsVirtualNode)(t.alternate.instance)&&(0,e.detectIsVirtualNode)(t.instance)&&(d&&d(t.nativeElement),n=t.nativeElement,o=t.alternate.instance,r=t.instance,(0,e.detectIsTextVirtualNode)(o)&&(0,e.detectIsTextVirtualNode)(r)&&o.value!==r.value?n.textContent=r.value:(0,e.detectIsTagVirtualNode)(o)&&(0,e.detectIsTagVirtualNode)(r)&&function(t,n,o){const r=new Set([...Object.keys(n.attrs),...Object.keys(o.attrs)]);for(const a of r){const r=n.attrs[a],i=o.attrs[a];a!==e.ATTR_REF?(0,e.detectIsUndefined)(i)?t.removeAttribute(a):(0,e.detectIsFunction)(r)?u(a)&&r!==i&&c({target:t,handler:i,eventName:f(a)}):m[a]||r===i||!y({tagName:o.name,value:i,attrName:a,element:t})[a]&&t.setAttribute(a,i):g(r,t)}}(n,o,r))},[e.EffectTag.DELETE]:()=>function(t){const n=k(t);(0,e.walkFiber)({fiber:t,onLoop:({nextFiber:e,isReturn:o,resetIsDeepWalking:r,stop:a})=>e===t.nextSibling||e===t.parent?a():!o&&e.nativeElement?(!i(e.instance)&&n.nativeElement.removeChild(e.nativeElement),r()):void 0})}(t),[e.EffectTag.SKIP]:()=>{}};n[t.effectTag]()},e.platform.finishCommitWork=function(){for(const{callback:e}of p.values())e();p=new Map},e.platform.detectIsPortal=i,e.platform.unmountPortal=function(e){const t=l(e.instance);t&&(t.innerHTML="")};const R=new Map;function A(t,n){if(!(n instanceof Element))throw new Error("[Dark]: render receives only Element as container!");const o=!(0,e.detectIsUndefined)(R.get(n));let r=null;o?r=R.get(n):(r=R.size,R.set(n,r),n.innerHTML=""),e.platform.scheduleCallback((()=>{e.rootStore.set(r);const a=e.currentRootStore.get(),i=new e.Fiber({nativeElement:n,instance:new e.TagVirtualNode({name:e.ROOT,children:(0,e.flatten)([t||(0,e.createEmptyVirtualNode)()])}),alternate:a,effectTag:o?e.EffectTag.UPDATE:e.EffectTag.CREATE});a&&(a.alternate=null),e.fiberMountStore.reset(),e.wipRootStore.set(i),e.nextUnitOfWorkStore.set(i)}),{priority:e.TaskPriority.NORMAL,forceSync:e.isLayoutEffectsZone.get()})}function D(t){return{render:e=>A(e,t),unmount:()=>{const n=R.get(t);(0,e.unmountRoot)(n,(()=>{R.delete(t),t.innerHTML=""}))}}}function O(t,...n){return(0,e.useMemo)((()=>t.map(((t,o)=>t+((0,e.detectIsUndefined)(n[o])?"":n[o]))).join("").replace(/;\s*/gm,";").replace(/:\s*/gm,":").trim()),[t,...n])}function j(e){return e(O)}const H="0.9.4"})(),r})()));
//# sourceMappingURL=dark-platform-browser.production.min.js.map
const path = require('path');
const webpack = require('webpack');
const package = require('./package.json');
const { alias } = require('../../webpack.alias');

@@ -44,2 +45,3 @@

'process.env.NODE_ENV': env.production ? JSON.stringify('production') : JSON.stringify('development'),
'process.env.VERSION': JSON.stringify(package.version),
}),

@@ -46,0 +48,0 @@ ],

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet