Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

skatejs

Package Overview
Dependencies
Maintainers
7
Versions
151
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

skatejs - npm Package Compare versions

Comparing version 5.0.0-alpha.0 to 5.0.0-alpha.1

6

package.json
{
"name": "skatejs",
"version": "5.0.0-alpha.0",
"version": "5.0.0-alpha.1",
"description": "Skate is a library built on top of the W3C web component specs that enables you to write functional and performant web components with a very small footprint.",

@@ -11,3 +11,3 @@ "license": "MIT",

},
"main": "lib/index.js",
"main": "umd/skatejs.js",
"module": "es/index.js",

@@ -33,2 +33,3 @@ "types": "src/index.d.ts",

"@skatejs/web-components": "^1.0.0",
"@treshugart/nwb": "^0.17.1",
"babel-eslint": "^7.1.1",

@@ -41,3 +42,2 @@ "bore": "^1.1.0",

"karma-sauce-launcher": "^1.1.0",
"nwb": "^0.15.6",
"preact": "*",

@@ -44,0 +44,0 @@ "semantic-release": "^6.3.2",

@@ -15,8 +15,8 @@ # [Skate][gitbook]

Skate is a library built on top of the [W3C web component specs](https://github.com/w3c/webcomponents) that enables you to write functional and performant web components with a very small footprint.
Skate is high level, functional abstraction over the web component [specs](https://github.com/w3c/webcomponents) that:
- Functional rendering pipeline backed by Google's [Incremental DOM](https://github.com/google/incremental-dom).
- Inherently cross-framework compatible. For example, it works seamlessly with - and complements - React and other frameworks.
- It's very fast.
- It works with multiple versions of itself on the page.
- Produces cross-framework compatible components
- Abstracts away common attribute / property semantics via `props`, such as attribute reflection and coercion
- Adds several lifecycle callbacks for responding to prop updates, rendering and more
- Uses [Preact](https://github.com/developit/preact), by default but also supports custom renderers

@@ -32,10 +32,10 @@ HTML

```js
customElements.define('x-hello', class extends skate.Component {
static get props () {
return {
name: { attribute: true }
};
import { Component, h, propString } from 'skatejs';
customElements.define('x-hello', class extends Component {
static props = {
name: propString
}
renderCallback () {
return skate.h('div', `Hello, ${this.name}`);
renderCallback ({ name }) {
return h('span', `Hello, ${name}!`);
}

@@ -48,3 +48,6 @@ });

```html
<x-hello name="Bob">Hello, Bob!</x-hello>
<x-hello name="Bob">
#shadow-root
<span>Hello, Bob!</span>
</x-hello>
```

@@ -54,22 +57,2 @@

## Documentation
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
- [Installing](#installing)
- [NPM](#npm)
- [Script Tag](#script-tag)
- [Dependencies](#dependencies)
- [Browser Support](#browser-support)
- [Recipes](https://skatejs.gitbooks.io/skatejs/content/docs/recipes)
- [Examples](https://skatejs.gitbooks.io/skatejs/content/docs/examples)
- [API](https://skatejs.gitbooks.io/skatejs/content/docs/api)
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
## Installing

@@ -79,4 +62,2 @@

### NPM

@@ -92,8 +73,4 @@

import * as skate from 'skatejs';
const skate = require('skatejs');
require(['skatejs'], function (skate) {});
```
### Script Tag

@@ -111,4 +88,2 @@

## Dependencies

@@ -121,10 +96,10 @@

```sh
npm install skatejs skatejs-web-components
npm install skatejs @skatejs/web-components
```
And then you can import it:
And then load it up before everything else:
```js
import 'skatejs-web-components';
import { define, vdom } from 'skatejs';
import { Component } from 'skatejs';
```

@@ -135,3 +110,3 @@

```html
<script src="https://unpkg.com/skatejs-web-components/dist/index.min.js"></script>
<script src="https://unpkg.com/@skatejs/web-components/umd/@skatejs/web-components.min.js"></script>
<script src="https://unpkg.com/skatejs/umd/skatejs.min.js"></script>

@@ -142,7 +117,5 @@ ```

### Transpilation and native custom element gotchas
*If you’re using Babel or some other tool to transpile your ES2015 code to ES5, simply import `skatejs` and `skatejs-web-components` (or selectively include the polyfills) as needed and ignore the following.*
*If you’re using Babel or some other tool to transpile to ES5, simply import `@skatejs/web-components` (or selectively include the polyfills) as needed and ignore the following.*

@@ -155,4 +128,2 @@ Native custom element support requires that you load a shim if you're not delivering native ES2015 classes to the browser. If you're transpiling to ES5, you must - at the very least - load the [native shim](https://github.com/webcomponents/custom-elements/blob/master/src/native-shim.js):

## Browser Support

@@ -164,5 +135,4 @@

- Shadow DOM: https://github.com/webcomponents/shadydom
- Shadow DOM (CSS fills): https://github.com/webcomponents/shadycss
- Shadow DOM CSS fills: https://github.com/webcomponents/shadycss
[gitbook]: https://skatejs.gitbooks.io/skatejs/content/

@@ -169,0 +139,0 @@

/*!
* skatejs v5.0.0-alpha.0
* skatejs v5.0.0-alpha.1
* MIT Licensed

@@ -7,21 +7,21 @@ */

if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
module.exports = factory(require("preact"));
else if(typeof define === 'function' && define.amd)
define([], factory);
else {
var a = factory();
for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
}
})(this, function() {
define(["preact"], factory);
else if(typeof exports === 'object')
exports["skate"] = factory(require("preact"));
else
root["skate"] = factory(root["preact"]);
})(this, function(__WEBPACK_EXTERNAL_MODULE_12__) {
return /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId])
/******/ return installedModules[moduleId].exports;
/******/
/******/ // Create a new module (and put it into the cache)

@@ -33,23 +33,23 @@ /******/ var module = installedModules[moduleId] = {

/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // identity function for calling harmony imports with the correct context
/******/ __webpack_require__.i = function(value) { return value; };
/******/
/******/ // define getter function for harmony exports

@@ -65,3 +65,3 @@ /******/ __webpack_require__.d = function(exports, name, getter) {

/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules

@@ -75,9 +75,9 @@ /******/ __webpack_require__.n = function(module) {

/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/ // Load entry module and return exports

@@ -175,3 +175,3 @@ /******/ return __webpack_require__(__webpack_require__.s = 13);

}
/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(12)))
/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(11)))

@@ -796,3 +796,3 @@ /***/ }),

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_preact__ = __webpack_require__(11);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_preact__ = __webpack_require__(12);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_preact___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_preact__);

@@ -845,493 +845,2 @@ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(0);

/* 11 */
/***/ (function(module, exports, __webpack_require__) {
!function(global, factory) {
true ? factory(exports) : 'function' == typeof define && define.amd ? define([ 'exports' ], factory) : factory(global.preact = global.preact || {});
}(this, function(exports) {
function VNode(nodeName, attributes, children) {
this.nodeName = nodeName;
this.attributes = attributes;
this.children = children;
this.key = attributes && attributes.key;
}
function h(nodeName, attributes) {
var children, lastSimple, child, simple, i;
for (i = arguments.length; i-- > 2; ) stack.push(arguments[i]);
if (attributes && attributes.children) {
if (!stack.length) stack.push(attributes.children);
delete attributes.children;
}
while (stack.length) if ((child = stack.pop()) instanceof Array) for (i = child.length; i--; ) stack.push(child[i]); else if (null != child && child !== !0 && child !== !1) {
if ('number' == typeof child) child = String(child);
simple = 'string' == typeof child;
if (simple && lastSimple) children[children.length - 1] += child; else {
(children || (children = [])).push(child);
lastSimple = simple;
}
}
var p = new VNode(nodeName, attributes || void 0, children || EMPTY_CHILDREN);
if (options.vnode) options.vnode(p);
return p;
}
function extend(obj, props) {
if (props) for (var i in props) obj[i] = props[i];
return obj;
}
function clone(obj) {
return extend({}, obj);
}
function delve(obj, key) {
for (var p = key.split('.'), i = 0; i < p.length && obj; i++) obj = obj[p[i]];
return obj;
}
function isFunction(obj) {
return 'function' == typeof obj;
}
function isString(obj) {
return 'string' == typeof obj;
}
function hashToClassName(c) {
var str = '';
for (var prop in c) if (c[prop]) {
if (str) str += ' ';
str += prop;
}
return str;
}
function cloneElement(vnode, props) {
return h(vnode.nodeName, extend(clone(vnode.attributes), props), arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children);
}
function createLinkedState(component, key, eventPath) {
var path = key.split('.');
return function(e) {
var t = e && e.target || this, state = {}, obj = state, v = isString(eventPath) ? delve(e, eventPath) : t.nodeName ? t.type.match(/^che|rad/) ? t.checked : t.value : e, i = 0;
for (;i < path.length - 1; i++) obj = obj[path[i]] || (obj[path[i]] = !i && component.state[path[i]] || {});
obj[path[i]] = v;
component.setState(state);
};
}
function enqueueRender(component) {
if (!component._dirty && (component._dirty = !0) && 1 == items.push(component)) (options.debounceRendering || defer)(rerender);
}
function rerender() {
var p, list = items;
items = [];
while (p = list.pop()) if (p._dirty) renderComponent(p);
}
function isFunctionalComponent(vnode) {
var nodeName = vnode && vnode.nodeName;
return nodeName && isFunction(nodeName) && !(nodeName.prototype && nodeName.prototype.render);
}
function buildFunctionalComponent(vnode, context) {
return vnode.nodeName(getNodeProps(vnode), context || EMPTY);
}
function isSameNodeType(node, vnode) {
if (isString(vnode)) return node instanceof Text;
if (isString(vnode.nodeName)) return !node._componentConstructor && isNamedNode(node, vnode.nodeName);
if (isFunction(vnode.nodeName)) return (node._componentConstructor ? node._componentConstructor === vnode.nodeName : !0) || isFunctionalComponent(vnode); else ;
}
function isNamedNode(node, nodeName) {
return node.normalizedNodeName === nodeName || toLowerCase(node.nodeName) === toLowerCase(nodeName);
}
function getNodeProps(vnode) {
var props = clone(vnode.attributes);
props.children = vnode.children;
var defaultProps = vnode.nodeName.defaultProps;
if (defaultProps) for (var i in defaultProps) if (void 0 === props[i]) props[i] = defaultProps[i];
return props;
}
function removeNode(node) {
var p = node.parentNode;
if (p) p.removeChild(node);
}
function setAccessor(node, name, old, value, isSvg) {
if ('className' === name) name = 'class';
if ('class' === name && value && 'object' == typeof value) value = hashToClassName(value);
if ('key' === name) ; else if ('class' === name && !isSvg) node.className = value || ''; else if ('style' === name) {
if (!value || isString(value) || isString(old)) node.style.cssText = value || '';
if (value && 'object' == typeof value) {
if (!isString(old)) for (var i in old) if (!(i in value)) node.style[i] = '';
for (var i in value) node.style[i] = 'number' == typeof value[i] && !NON_DIMENSION_PROPS[i] ? value[i] + 'px' : value[i];
}
} else if ('dangerouslySetInnerHTML' === name) {
if (value) node.innerHTML = value.__html || '';
} else if ('o' == name[0] && 'n' == name[1]) {
var l = node._listeners || (node._listeners = {});
name = toLowerCase(name.substring(2));
if (value) {
if (!l[name]) node.addEventListener(name, eventProxy, !!NON_BUBBLING_EVENTS[name]);
} else if (l[name]) node.removeEventListener(name, eventProxy, !!NON_BUBBLING_EVENTS[name]);
l[name] = value;
} else if ('list' !== name && 'type' !== name && !isSvg && name in node) {
setProperty(node, name, null == value ? '' : value);
if (null == value || value === !1) node.removeAttribute(name);
} else {
var ns = isSvg && name.match(/^xlink\:?(.+)/);
if (null == value || value === !1) if (ns) node.removeAttributeNS('http://www.w3.org/1999/xlink', toLowerCase(ns[1])); else node.removeAttribute(name); else if ('object' != typeof value && !isFunction(value)) if (ns) node.setAttributeNS('http://www.w3.org/1999/xlink', toLowerCase(ns[1]), value); else node.setAttribute(name, value);
}
}
function setProperty(node, name, value) {
try {
node[name] = value;
} catch (e) {}
}
function eventProxy(e) {
return this._listeners[e.type](options.event && options.event(e) || e);
}
function collectNode(node) {
removeNode(node);
if (node instanceof Element) {
node._component = node._componentConstructor = null;
var _name = node.normalizedNodeName || toLowerCase(node.nodeName);
(nodes[_name] || (nodes[_name] = [])).push(node);
}
}
function createNode(nodeName, isSvg) {
var name = toLowerCase(nodeName), node = nodes[name] && nodes[name].pop() || (isSvg ? document.createElementNS('http://www.w3.org/2000/svg', nodeName) : document.createElement(nodeName));
node.normalizedNodeName = name;
return node;
}
function flushMounts() {
var c;
while (c = mounts.pop()) {
if (options.afterMount) options.afterMount(c);
if (c.componentDidMount) c.componentDidMount();
}
}
function diff(dom, vnode, context, mountAll, parent, componentRoot) {
if (!diffLevel++) {
isSvgMode = parent && 'undefined' != typeof parent.ownerSVGElement;
hydrating = dom && !(ATTR_KEY in dom);
}
var ret = idiff(dom, vnode, context, mountAll);
if (parent && ret.parentNode !== parent) parent.appendChild(ret);
if (!--diffLevel) {
hydrating = !1;
if (!componentRoot) flushMounts();
}
return ret;
}
function idiff(dom, vnode, context, mountAll) {
var ref = vnode && vnode.attributes && vnode.attributes.ref;
while (isFunctionalComponent(vnode)) vnode = buildFunctionalComponent(vnode, context);
if (null == vnode) vnode = '';
if (isString(vnode)) {
if (dom && dom instanceof Text && dom.parentNode) {
if (dom.nodeValue != vnode) dom.nodeValue = vnode;
} else {
if (dom) recollectNodeTree(dom);
dom = document.createTextNode(vnode);
}
return dom;
}
if (isFunction(vnode.nodeName)) return buildComponentFromVNode(dom, vnode, context, mountAll);
var out = dom, nodeName = String(vnode.nodeName), prevSvgMode = isSvgMode, vchildren = vnode.children;
isSvgMode = 'svg' === nodeName ? !0 : 'foreignObject' === nodeName ? !1 : isSvgMode;
if (!dom) out = createNode(nodeName, isSvgMode); else if (!isNamedNode(dom, nodeName)) {
out = createNode(nodeName, isSvgMode);
while (dom.firstChild) out.appendChild(dom.firstChild);
if (dom.parentNode) dom.parentNode.replaceChild(out, dom);
recollectNodeTree(dom);
}
var fc = out.firstChild, props = out[ATTR_KEY];
if (!props) {
out[ATTR_KEY] = props = {};
for (var a = out.attributes, i = a.length; i--; ) props[a[i].name] = a[i].value;
}
if (!hydrating && vchildren && 1 === vchildren.length && 'string' == typeof vchildren[0] && fc && fc instanceof Text && !fc.nextSibling) {
if (fc.nodeValue != vchildren[0]) fc.nodeValue = vchildren[0];
} else if (vchildren && vchildren.length || fc) innerDiffNode(out, vchildren, context, mountAll, !!props.dangerouslySetInnerHTML);
diffAttributes(out, vnode.attributes, props);
if (ref) (props.ref = ref)(out);
isSvgMode = prevSvgMode;
return out;
}
function innerDiffNode(dom, vchildren, context, mountAll, absorb) {
var j, c, vchild, child, originalChildren = dom.childNodes, children = [], keyed = {}, keyedLen = 0, min = 0, len = originalChildren.length, childrenLen = 0, vlen = vchildren && vchildren.length;
if (len) for (var i = 0; i < len; i++) {
var _child = originalChildren[i], props = _child[ATTR_KEY], key = vlen ? (c = _child._component) ? c.__key : props ? props.key : null : null;
if (null != key) {
keyedLen++;
keyed[key] = _child;
} else if (hydrating || absorb || props || _child instanceof Text) children[childrenLen++] = _child;
}
if (vlen) for (var i = 0; i < vlen; i++) {
vchild = vchildren[i];
child = null;
var key = vchild.key;
if (null != key) {
if (keyedLen && key in keyed) {
child = keyed[key];
keyed[key] = void 0;
keyedLen--;
}
} else if (!child && min < childrenLen) for (j = min; j < childrenLen; j++) {
c = children[j];
if (c && isSameNodeType(c, vchild)) {
child = c;
children[j] = void 0;
if (j === childrenLen - 1) childrenLen--;
if (j === min) min++;
break;
}
}
child = idiff(child, vchild, context, mountAll);
if (child && child !== dom) if (i >= len) dom.appendChild(child); else if (child !== originalChildren[i]) {
if (child === originalChildren[i + 1]) removeNode(originalChildren[i]);
dom.insertBefore(child, originalChildren[i] || null);
}
}
if (keyedLen) for (var i in keyed) if (keyed[i]) recollectNodeTree(keyed[i]);
while (min <= childrenLen) {
child = children[childrenLen--];
if (child) recollectNodeTree(child);
}
}
function recollectNodeTree(node, unmountOnly) {
var component = node._component;
if (component) unmountComponent(component, !unmountOnly); else {
if (node[ATTR_KEY] && node[ATTR_KEY].ref) node[ATTR_KEY].ref(null);
if (!unmountOnly) collectNode(node);
var c;
while (c = node.lastChild) recollectNodeTree(c, unmountOnly);
}
}
function diffAttributes(dom, attrs, old) {
var name;
for (name in old) if (!(attrs && name in attrs) && null != old[name]) setAccessor(dom, name, old[name], old[name] = void 0, isSvgMode);
if (attrs) for (name in attrs) if (!('children' === name || 'innerHTML' === name || name in old && attrs[name] === ('value' === name || 'checked' === name ? dom[name] : old[name]))) setAccessor(dom, name, old[name], old[name] = attrs[name], isSvgMode);
}
function collectComponent(component) {
var name = component.constructor.name, list = components[name];
if (list) list.push(component); else components[name] = [ component ];
}
function createComponent(Ctor, props, context) {
var inst = new Ctor(props, context), list = components[Ctor.name];
Component.call(inst, props, context);
if (list) for (var i = list.length; i--; ) if (list[i].constructor === Ctor) {
inst.nextBase = list[i].nextBase;
list.splice(i, 1);
break;
}
return inst;
}
function setComponentProps(component, props, opts, context, mountAll) {
if (!component._disable) {
component._disable = !0;
if (component.__ref = props.ref) delete props.ref;
if (component.__key = props.key) delete props.key;
if (!component.base || mountAll) {
if (component.componentWillMount) component.componentWillMount();
} else if (component.componentWillReceiveProps) component.componentWillReceiveProps(props, context);
if (context && context !== component.context) {
if (!component.prevContext) component.prevContext = component.context;
component.context = context;
}
if (!component.prevProps) component.prevProps = component.props;
component.props = props;
component._disable = !1;
if (0 !== opts) if (1 === opts || options.syncComponentUpdates !== !1 || !component.base) renderComponent(component, 1, mountAll); else enqueueRender(component);
if (component.__ref) component.__ref(component);
}
}
function renderComponent(component, opts, mountAll, isChild) {
if (!component._disable) {
var skip, rendered, inst, cbase, props = component.props, state = component.state, context = component.context, previousProps = component.prevProps || props, previousState = component.prevState || state, previousContext = component.prevContext || context, isUpdate = component.base, nextBase = component.nextBase, initialBase = isUpdate || nextBase, initialChildComponent = component._component;
if (isUpdate) {
component.props = previousProps;
component.state = previousState;
component.context = previousContext;
if (2 !== opts && component.shouldComponentUpdate && component.shouldComponentUpdate(props, state, context) === !1) skip = !0; else if (component.componentWillUpdate) component.componentWillUpdate(props, state, context);
component.props = props;
component.state = state;
component.context = context;
}
component.prevProps = component.prevState = component.prevContext = component.nextBase = null;
component._dirty = !1;
if (!skip) {
if (component.render) rendered = component.render(props, state, context);
if (component.getChildContext) context = extend(clone(context), component.getChildContext());
while (isFunctionalComponent(rendered)) rendered = buildFunctionalComponent(rendered, context);
var toUnmount, base, childComponent = rendered && rendered.nodeName;
if (isFunction(childComponent)) {
var childProps = getNodeProps(rendered);
inst = initialChildComponent;
if (inst && inst.constructor === childComponent && childProps.key == inst.__key) setComponentProps(inst, childProps, 1, context); else {
toUnmount = inst;
inst = createComponent(childComponent, childProps, context);
inst.nextBase = inst.nextBase || nextBase;
inst._parentComponent = component;
component._component = inst;
setComponentProps(inst, childProps, 0, context);
renderComponent(inst, 1, mountAll, !0);
}
base = inst.base;
} else {
cbase = initialBase;
toUnmount = initialChildComponent;
if (toUnmount) cbase = component._component = null;
if (initialBase || 1 === opts) {
if (cbase) cbase._component = null;
base = diff(cbase, rendered, context, mountAll || !isUpdate, initialBase && initialBase.parentNode, !0);
}
}
if (initialBase && base !== initialBase && inst !== initialChildComponent) {
var baseParent = initialBase.parentNode;
if (baseParent && base !== baseParent) {
baseParent.replaceChild(base, initialBase);
if (!toUnmount) {
initialBase._component = null;
recollectNodeTree(initialBase);
}
}
}
if (toUnmount) unmountComponent(toUnmount, base !== initialBase);
component.base = base;
if (base && !isChild) {
var componentRef = component, t = component;
while (t = t._parentComponent) (componentRef = t).base = base;
base._component = componentRef;
base._componentConstructor = componentRef.constructor;
}
}
if (!isUpdate || mountAll) mounts.unshift(component); else if (!skip) {
if (component.componentDidUpdate) component.componentDidUpdate(previousProps, previousState, previousContext);
if (options.afterUpdate) options.afterUpdate(component);
}
var fn, cb = component._renderCallbacks;
if (cb) while (fn = cb.pop()) fn.call(component);
if (!diffLevel && !isChild) flushMounts();
}
}
function buildComponentFromVNode(dom, vnode, context, mountAll) {
var c = dom && dom._component, originalComponent = c, oldDom = dom, isDirectOwner = c && dom._componentConstructor === vnode.nodeName, isOwner = isDirectOwner, props = getNodeProps(vnode);
while (c && !isOwner && (c = c._parentComponent)) isOwner = c.constructor === vnode.nodeName;
if (c && isOwner && (!mountAll || c._component)) {
setComponentProps(c, props, 3, context, mountAll);
dom = c.base;
} else {
if (originalComponent && !isDirectOwner) {
unmountComponent(originalComponent, !0);
dom = oldDom = null;
}
c = createComponent(vnode.nodeName, props, context);
if (dom && !c.nextBase) {
c.nextBase = dom;
oldDom = null;
}
setComponentProps(c, props, 1, context, mountAll);
dom = c.base;
if (oldDom && dom !== oldDom) {
oldDom._component = null;
recollectNodeTree(oldDom);
}
}
return dom;
}
function unmountComponent(component, remove) {
if (options.beforeUnmount) options.beforeUnmount(component);
var base = component.base;
component._disable = !0;
if (component.componentWillUnmount) component.componentWillUnmount();
component.base = null;
var inner = component._component;
if (inner) unmountComponent(inner, remove); else if (base) {
if (base[ATTR_KEY] && base[ATTR_KEY].ref) base[ATTR_KEY].ref(null);
component.nextBase = base;
if (remove) {
removeNode(base);
collectComponent(component);
}
var c;
while (c = base.lastChild) recollectNodeTree(c, !remove);
}
if (component.__ref) component.__ref(null);
if (component.componentDidUnmount) component.componentDidUnmount();
}
function Component(props, context) {
this._dirty = !0;
this.context = context;
this.props = props;
if (!this.state) this.state = {};
}
function render(vnode, parent, merge) {
return diff(merge, vnode, {}, !1, parent);
}
var options = {};
var stack = [];
var EMPTY_CHILDREN = [];
var lcCache = {};
var toLowerCase = function(s) {
return lcCache[s] || (lcCache[s] = s.toLowerCase());
};
var resolved = 'undefined' != typeof Promise && Promise.resolve();
var defer = resolved ? function(f) {
resolved.then(f);
} : setTimeout;
var EMPTY = {};
var ATTR_KEY = 'undefined' != typeof Symbol ? Symbol.for('preactattr') : '__preactattr_';
var NON_DIMENSION_PROPS = {
boxFlex: 1,
boxFlexGroup: 1,
columnCount: 1,
fillOpacity: 1,
flex: 1,
flexGrow: 1,
flexPositive: 1,
flexShrink: 1,
flexNegative: 1,
fontWeight: 1,
lineClamp: 1,
lineHeight: 1,
opacity: 1,
order: 1,
orphans: 1,
strokeOpacity: 1,
widows: 1,
zIndex: 1,
zoom: 1
};
var NON_BUBBLING_EVENTS = {
blur: 1,
error: 1,
focus: 1,
load: 1,
resize: 1,
scroll: 1
};
var items = [];
var nodes = {};
var mounts = [];
var diffLevel = 0;
var isSvgMode = !1;
var hydrating = !1;
var components = {};
extend(Component.prototype, {
linkState: function(key, eventPath) {
var c = this._linkedStates || (this._linkedStates = {});
return c[key + eventPath] || (c[key + eventPath] = createLinkedState(this, key, eventPath));
},
setState: function(state, callback) {
var s = this.state;
if (!this.prevState) this.prevState = clone(s);
extend(s, isFunction(state) ? state(s, this.props) : state);
if (callback) (this._renderCallbacks = this._renderCallbacks || []).push(callback);
enqueueRender(this);
},
forceUpdate: function() {
renderComponent(this, 2);
},
render: function() {}
});
exports.h = h;
exports.cloneElement = cloneElement;
exports.Component = Component;
exports.render = render;
exports.rerender = rerender;
exports.options = options;
});
//# sourceMappingURL=preact.js.map
/***/ }),
/* 12 */
/***/ (function(module, exports) {

@@ -1363,2 +872,8 @@

/***/ }),
/* 12 */
/***/ (function(module, exports) {
module.exports = __WEBPACK_EXTERNAL_MODULE_12__;
/***/ }),
/* 13 */

@@ -1365,0 +880,0 @@ /***/ (function(module, exports, __webpack_require__) {

/*!
* skatejs v5.0.0-alpha.0
* skatejs v5.0.0-alpha.1
* MIT Licensed
*/
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=13)}([function(e,t,n){"use strict";(function(e){function r(e){return e.split(/([_A-Z])/).reduce(function(e,t,n){var r=e&&n%2!=0?"-":"";return t="_"===t?"":t,""+e+r+t.toLowerCase()})}function o(e){var t=!1,n=0,r=[],o=document.createElement("span");return new d(function(){e.apply(void 0,r),t=!1,r=null}).observe(o,{childList:!0}),function(){for(var e=arguments.length,i=Array(e),u=0;u<e;u++)i[u]=arguments[u];r=i,t||(t=!0,o.textContent=""+n,n+=1)}}function i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=h(e);return b?t.concat(b(e)):t}function u(e){return"function"==typeof Symbol?Symbol(e?String(e):void 0):a(e)}function a(e){return(e?String(e):"")+"xxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})}n.d(t,"d",function(){return f}),n.d(t,"b",function(){return s}),t.c=r,t.f=o,n.d(t,"h",function(){return v}),n.d(t,"g",function(){return y}),t.e=i,t.a=u;var c="undefined"==typeof window?e:window,f=c.customElements,l=c.HTMLElement,s=void 0===l?null:l,p=c.Object,d=c.MutationObserver,h=p.getOwnPropertyNames,b=p.getOwnPropertySymbols,v=function(e){return null==e},y=p.freeze}).call(t,n(12))},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(0),a=n(8);n.d(t,"a",function(){return y}),n.d(t,"b",function(){return P});var c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},f=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n.i(u.a)("_connected"),s=n.i(u.a)("_constructed"),p=n.i(u.a)("_observedAttributes"),d=n.i(u.a)("_prevProps"),h=n.i(u.a)("_props"),b=n.i(u.a)("_updateCallback"),v=n.i(u.a)("_updating"),y=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:u.b;return function(e){function t(){r(this,t);var i=o(this,e.call(this));if(i[b]=function(){if(!i[v]&&i[l]){i[v]=!0;var e=i[d],t=i[d]=i.props;i.propsSetCallback(t,e),i.propsUpdatedCallback(t,e)&&i.propsChangedCallback(t,e),i[v]=!1}},i[s])return o(i);i[s]=!0;var c=i.constructor;return n.i(a.b)(c),i[a.c]=n.i(u.f)(i[b]),i}return i(t,e),f(t,[{key:"props",get:function(){var e=this;return n.i(u.e)(this.constructor.props).reduce(function(t,n){return t[n]=e[n],t},{})},set:function(e){var t=this,r=this.constructor.props;n.i(u.e)(e).forEach(function(n){return n in r&&(t[n]=e[n])})}}],[{key:"observedAttributes",get:function(){var e=n.i(a.a)(this);return n.i(u.e)(e).map(function(t){return e[t].attribute}).filter(Boolean).map(function(e){return e.source}).concat(this[p]||[])},set:function(e){this[p]=e}},{key:"props",get:function(){return this[h]},set:function(e){this[h]=e}}]),t.prototype.connectedCallback=function(){this[l]||(this[l]=!0,e.prototype.connectedCallback&&e.prototype.connectedCallback.call(this),this[a.c]())},t.prototype.disconnectedCallback=function(){this[l]&&(this[l]=!1,e.prototype.disconnectedCallback&&e.prototype.disconnectedCallback.call(this))},t.prototype.propsChangedCallback=function(){},t.prototype.propsSetCallback=function(){},t.prototype.propsUpdatedCallback=function(e,t){return!t||n.i(u.e)(t).some(function(n){return t[n]!==e[n]})},t.prototype.attributeChangedCallback=function(t,r,o){e.prototype.attributeChangedCallback&&e.prototype.attributeChangedCallback.call(this,t,r,o),n.i(a.d)(this,t,o)},t}(e)},m=JSON.parse,g=JSON.stringify,_=n.i(u.g)({source:!0}),C=function(e){return n.i(u.g)(c({attribute:_},e))},w=function(e){return function(t){return n.i(u.h)(t)?null:e(t)}},x=function(e){return n.i(u.h)(e)?0:Number(e)},k=C({coerce:function(e){return Array.isArray(e)?e:n.i(u.h)(e)?null:[e]},default:n.i(u.g)([]),deserialize:m,serialize:g}),O=C({coerce:Boolean,default:!1,deserialize:function(e){return!n.i(u.h)(e)},serialize:function(e){return e?"":null}}),N=C({default:0,coerce:x,deserialize:x,serialize:w(Number)}),S=C({default:n.i(u.g)({}),deserialize:m,serialize:g}),j=C({default:"",coerce:String,serialize:w(String)}),P={array:k,boolean:O,number:N,object:S,string:j}},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function u(e){return e.attachShadow?e.attachShadow(l):e}var a=n(0);n.d(t,"a",function(){return s});var c=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),f=n.i(a.a)(),l={mode:"open"},s=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a.b;return function(e){function t(){return r(this,t),o(this,e.apply(this,arguments))}return i(t,e),t.prototype.propsChangedCallback=function(){var e=this;this.rendererCallback(this.renderRoot,function(){return e.renderCallback(e)}),this.renderedCallback()},t.prototype.renderCallback=function(){},t.prototype.renderedCallback=function(){},c(t,[{key:"renderRoot",get:function(){return this[f]=this[f]||(this[f]=this.shadowRoot||u(this)),this[f]}}]),t}(e)}},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(0),a=n(9);n.d(t,"a",function(){return l});var c=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),f=n.i(u.a)("_is"),l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:u.b;return function(e){function t(){return r(this,t),o(this,e.apply(this,arguments))}return i(t,e),c(t,null,[{key:"is",get:function(){return this[f]||(this[f]=n.i(a.a)(this))},set:function(e){this[f]=e}}]),t}(e)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(5);n.d(t,"define",function(){return r.a});var o=n(6);n.d(t,"emit",function(){return o.a});var i=n(7);n.d(t,"link",function(){return i.a});var u=n(10);n.d(t,"withComponent",function(){return u.a}),n.d(t,"Component",function(){return u.b}),n.d(t,"h",function(){return u.c});var a=n(1);n.d(t,"withProps",function(){return a.a}),n.d(t,"props",function(){return a.b});var c=n(2);n.d(t,"withRender",function(){return c.a});var f=n(3);n.d(t,"withUnique",function(){return f.a})},function(e,t,n){"use strict";function r(e){var t=e.is;return o.d.get(t)||o.d.define(t,e),e}var o=n(0);t.a=r},function(e,t,n){"use strict";function r(e,t,n){n=o({},i,n);var r=document.createEvent("CustomEvent");return r.initCustomEvent(t,n.bubbles,n.cancelable,n.detail),Object.defineProperty(r,"composed",{value:n.composed}),e.dispatchEvent(r)}t.a=r;var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i={bubbles:!0,cancelable:!0,composed:!1}},function(e,t,n){"use strict";function r(e){var t=e.checked,n=e.type,r=e.value;return"checkbox"===n||"radio"===n?!!t&&(r||!0):r}function o(e,t){return function(n){var o=n.target||n.composedPath()[0],i=r(o),u=t||o.name||"value";if(u.indexOf(".")>-1){var a=u.split("."),c=a[0],f=a.pop();a.reduce(function(e,t){return e&&e[t]},e)[f||n.target.name]=i,e[c]=e[c]}else e[u]=i}}t.a=o},function(e,t,n){"use strict";function r(e){if(!e[p]){e[p]=!0;var t=e.prototype,r=u(e);Object.defineProperties(t,n.i(f.e)(r).reduce(function(e,t){var o=r[t],i=o.attribute.target,u=o.coerce,a=o.default,l=o.serialize,s=n.i(f.a)(t);return e[t]={configurable:!0,get:function(){var e=this[s];return null==e?a:e},set:function(e){this[s]=u(e),c(this,i,l,e),this[v]()}},e},{}))}}function o(e,t){var r=t.attribute,o="object"===(void 0===r?"undefined":s(r))?l({},r):{source:r,target:r};return o.source===!0&&(o.source=n.i(f.c)(e)),o.target===!0&&(o.target=n.i(f.c)(e)),o}function i(e,t){var n=t.coerce,r=t.default,i=t.deserialize,u=t.serialize;return{attribute:o(e,t),coerce:n||function(e){return e},default:r,deserialize:i||function(e){return e},serialize:u||function(e){return e}}}function u(e){return e[d]||(e[d]=n.i(f.e)(e.props).reduce(function(t,n){return t[n]=i(n,e.props[n]||{}),t},{}))}function a(e,t,n){if(!e[b]){var r=u(e.constructor);for(var o in r){var i=r[o],a=i.attribute.source,c=i.deserialize;a===t&&(e[h]=o,e[o]=null==n?n:c(n),e[h]=null)}}}function c(e,t,n,r){if(t&&e[h]!==t){var o=n(r);e[b]=!0,null==o?e.removeAttribute(t):e.setAttribute(t,o),e[b]=!1}}var f=n(0);n.d(t,"c",function(){return v}),t.b=r,t.a=u,t.d=a;var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},p=n.i(f.a)("_definedProps"),d=n.i(f.a)("_normPropDef"),h=n.i(f.a)("_syncingAttributeToProperty"),b=n.i(f.a)("_syncingPropertyToAttribute"),v=n.i(f.a)("_updateDebounced")},function(e,t,n){"use strict";function r(e,t){return e=e||"element",(e.indexOf("-")===-1?"x-"+e:e)+(t?"-"+t:"")}function o(e){for(var t=n.i(i.c)(e.name);i.d.get(r(t,u));)u++;return r(t,u++)}var i=n(0);t.a=o;var u=0},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(11),a=(n.n(u),n(0)),c=n(1),f=n(2),l=n(3);n.o(u,"h")&&n.d(t,"c",function(){return u.h}),n.d(t,"a",function(){return p}),n.d(t,"b",function(){return d});var s=n.i(a.a)("_preactDom"),p=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a.b;return function(e){function t(){return r(this,t),o(this,e.apply(this,arguments))}return i(t,e),t.prototype.rendererCallback=function(e,t){this[s]=n.i(u.render)(t(),e,this[s])},t}(n.i(l.a)(n.i(f.a)(n.i(c.a)(e))))},d=p()},function(e,t,n){!function(e,n){n(t)}(this,function(e){function t(e,t,n){this.nodeName=e,this.attributes=t,this.children=n,this.key=t&&t.key}function n(e,n){var r,o,i,u,a;for(a=arguments.length;a-- >2;)D.push(arguments[a]);for(n&&n.children&&(D.length||D.push(n.children),delete n.children);D.length;)if((i=D.pop())instanceof Array)for(a=i.length;a--;)D.push(i[a]);else null!=i&&i!==!0&&i!==!1&&("number"==typeof i&&(i=String(i)),u="string"==typeof i,u&&o?r[r.length-1]+=i:((r||(r=[])).push(i),o=u));var c=new t(e,n||void 0,r||W);return L.vnode&&L.vnode(c),c}function r(e,t){if(t)for(var n in t)e[n]=t[n];return e}function o(e){return r({},e)}function i(e,t){for(var n=t.split("."),r=0;r<n.length&&e;r++)e=e[n[r]];return e}function u(e){return"function"==typeof e}function a(e){return"string"==typeof e}function c(e){var t="";for(var n in e)e[n]&&(t&&(t+=" "),t+=n);return t}function f(e,t){return n(e.nodeName,r(o(e.attributes),t),arguments.length>2?[].slice.call(arguments,2):e.children)}function l(e,t,n){var r=t.split(".");return function(t){for(var o=t&&t.target||this,u={},c=u,f=a(n)?i(t,n):o.nodeName?o.type.match(/^che|rad/)?o.checked:o.value:t,l=0;l<r.length-1;l++)c=c[r[l]]||(c[r[l]]=!l&&e.state[r[l]]||{});c[r[l]]=f,e.setState(u)}}function s(e){!e._dirty&&(e._dirty=!0)&&1==K.push(e)&&(L.debounceRendering||G)(p)}function p(){var e,t=K;for(K=[];e=t.pop();)e._dirty&&U(e)}function d(e){var t=e&&e.nodeName;return t&&u(t)&&!(t.prototype&&t.prototype.render)}function h(e,t){return e.nodeName(y(e),t||I)}function b(e,t){return a(t)?e instanceof Text:a(t.nodeName)?!e._componentConstructor&&v(e,t.nodeName):u(t.nodeName)?!e._componentConstructor||e._componentConstructor===t.nodeName||d(t):void 0}function v(e,t){return e.normalizedNodeName===t||V(e.nodeName)===V(t)}function y(e){var t=o(e.attributes);t.children=e.children;var n=e.nodeName.defaultProps;if(n)for(var r in n)void 0===t[r]&&(t[r]=n[r]);return t}function m(e){var t=e.parentNode;t&&t.removeChild(e)}function g(e,t,n,r,o){if("className"===t&&(t="class"),"class"===t&&r&&"object"==typeof r&&(r=c(r)),"key"===t);else if("class"!==t||o)if("style"===t){if((!r||a(r)||a(n))&&(e.style.cssText=r||""),r&&"object"==typeof r){if(!a(n))for(var i in n)i in r||(e.style[i]="");for(var i in r)e.style[i]="number"!=typeof r[i]||q[i]?r[i]:r[i]+"px"}}else if("dangerouslySetInnerHTML"===t)r&&(e.innerHTML=r.__html||"");else if("o"==t[0]&&"n"==t[1]){var f=e._listeners||(e._listeners={});t=V(t.substring(2)),r?f[t]||e.addEventListener(t,C,!!Z[t]):f[t]&&e.removeEventListener(t,C,!!Z[t]),f[t]=r}else if("list"!==t&&"type"!==t&&!o&&t in e)_(e,t,null==r?"":r),null!=r&&r!==!1||e.removeAttribute(t);else{var l=o&&t.match(/^xlink\:?(.+)/);null==r||r===!1?l?e.removeAttributeNS("http://www.w3.org/1999/xlink",V(l[1])):e.removeAttribute(t):"object"==typeof r||u(r)||(l?e.setAttributeNS("http://www.w3.org/1999/xlink",V(l[1]),r):e.setAttribute(t,r))}else e.className=r||""}function _(e,t,n){try{e[t]=n}catch(e){}}function C(e){return this._listeners[e.type](L.event&&L.event(e)||e)}function w(e){if(m(e),e instanceof Element){e._component=e._componentConstructor=null;var t=e.normalizedNodeName||V(e.nodeName);(Q[t]||(Q[t]=[])).push(e)}}function x(e,t){var n=V(e),r=Q[n]&&Q[n].pop()||(t?document.createElementNS("http://www.w3.org/2000/svg",e):document.createElement(e));return r.normalizedNodeName=n,r}function k(){for(var e;e=X.pop();)L.afterMount&&L.afterMount(e),e.componentDidMount&&e.componentDidMount()}function O(e,t,n,r,o,i){Y++||($=o&&void 0!==o.ownerSVGElement,ee=e&&!(J in e));var u=N(e,t,n,r);return o&&u.parentNode!==o&&o.appendChild(u),--Y||(ee=!1,i||k()),u}function N(e,t,n,r){for(var o=t&&t.attributes&&t.attributes.ref;d(t);)t=h(t,n);if(null==t&&(t=""),a(t))return e&&e instanceof Text&&e.parentNode?e.nodeValue!=t&&(e.nodeValue=t):(e&&j(e),e=document.createTextNode(t)),e;if(u(t.nodeName))return A(e,t,n,r);var i=e,c=String(t.nodeName),f=$,l=t.children;if($="svg"===c||"foreignObject"!==c&&$,e){if(!v(e,c)){for(i=x(c,$);e.firstChild;)i.appendChild(e.firstChild);e.parentNode&&e.parentNode.replaceChild(i,e),j(e)}}else i=x(c,$);var s=i.firstChild,p=i[J];if(!p){i[J]=p={};for(var b=i.attributes,y=b.length;y--;)p[b[y].name]=b[y].value}return!ee&&l&&1===l.length&&"string"==typeof l[0]&&s&&s instanceof Text&&!s.nextSibling?s.nodeValue!=l[0]&&(s.nodeValue=l[0]):(l&&l.length||s)&&S(i,l,n,r,!!p.dangerouslySetInnerHTML),P(i,t.attributes,p),o&&(p.ref=o)(i),$=f,i}function S(e,t,n,r,o){var i,u,a,c,f=e.childNodes,l=[],s={},p=0,d=0,h=f.length,v=0,y=t&&t.length;if(h)for(var g=0;g<h;g++){var _=f[g],C=_[J],w=y?(u=_._component)?u.__key:C?C.key:null:null;null!=w?(p++,s[w]=_):(ee||o||C||_ instanceof Text)&&(l[v++]=_)}if(y)for(var g=0;g<y;g++){a=t[g],c=null;var w=a.key;if(null!=w)p&&w in s&&(c=s[w],s[w]=void 0,p--);else if(!c&&d<v)for(i=d;i<v;i++)if((u=l[i])&&b(u,a)){c=u,l[i]=void 0,i===v-1&&v--,i===d&&d++;break}c=N(c,a,n,r),c&&c!==e&&(g>=h?e.appendChild(c):c!==f[g]&&(c===f[g+1]&&m(f[g]),e.insertBefore(c,f[g]||null)))}if(p)for(var g in s)s[g]&&j(s[g]);for(;d<=v;)(c=l[v--])&&j(c)}function j(e,t){var n=e._component;if(n)M(n,!t);else{e[J]&&e[J].ref&&e[J].ref(null),t||w(e);for(var r;r=e.lastChild;)j(r,t)}}function P(e,t,n){var r;for(r in n)t&&r in t||null==n[r]||g(e,r,n[r],n[r]=void 0,$);if(t)for(r in t)"children"===r||"innerHTML"===r||r in n&&t[r]===("value"===r||"checked"===r?e[r]:n[r])||g(e,r,n[r],n[r]=t[r],$)}function E(e){var t=e.constructor.name,n=te[t];n?n.push(e):te[t]=[e]}function z(e,t,n){var r=new e(t,n),o=te[e.name];if(B.call(r,t,n),o)for(var i=o.length;i--;)if(o[i].constructor===e){r.nextBase=o[i].nextBase,o.splice(i,1);break}return r}function T(e,t,n,r,o){e._disable||(e._disable=!0,(e.__ref=t.ref)&&delete t.ref,(e.__key=t.key)&&delete t.key,!e.base||o?e.componentWillMount&&e.componentWillMount():e.componentWillReceiveProps&&e.componentWillReceiveProps(t,r),r&&r!==e.context&&(e.prevContext||(e.prevContext=e.context),e.context=r),e.prevProps||(e.prevProps=e.props),e.props=t,e._disable=!1,0!==n&&(1!==n&&L.syncComponentUpdates===!1&&e.base?s(e):U(e,1,o)),e.__ref&&e.__ref(e))}function U(e,t,n,i){if(!e._disable){var a,c,f,l,s=e.props,p=e.state,b=e.context,v=e.prevProps||s,m=e.prevState||p,g=e.prevContext||b,_=e.base,C=e.nextBase,w=_||C,x=e._component;if(_&&(e.props=v,e.state=m,e.context=g,2!==t&&e.shouldComponentUpdate&&e.shouldComponentUpdate(s,p,b)===!1?a=!0:e.componentWillUpdate&&e.componentWillUpdate(s,p,b),e.props=s,e.state=p,e.context=b),e.prevProps=e.prevState=e.prevContext=e.nextBase=null,e._dirty=!1,!a){for(e.render&&(c=e.render(s,p,b)),e.getChildContext&&(b=r(o(b),e.getChildContext()));d(c);)c=h(c,b);var N,S,P=c&&c.nodeName;if(u(P)){var E=y(c);f=x,f&&f.constructor===P&&E.key==f.__key?T(f,E,1,b):(N=f,f=z(P,E,b),f.nextBase=f.nextBase||C,f._parentComponent=e,e._component=f,T(f,E,0,b),U(f,1,n,!0)),S=f.base}else l=w,N=x,N&&(l=e._component=null),(w||1===t)&&(l&&(l._component=null),S=O(l,c,b,n||!_,w&&w.parentNode,!0));if(w&&S!==w&&f!==x){var A=w.parentNode;A&&S!==A&&(A.replaceChild(S,w),N||(w._component=null,j(w)))}if(N&&M(N,S!==w),e.base=S,S&&!i){for(var B=e,R=e;R=R._parentComponent;)(B=R).base=S;S._component=B,S._componentConstructor=B.constructor}}!_||n?X.unshift(e):a||(e.componentDidUpdate&&e.componentDidUpdate(v,m,g),L.afterUpdate&&L.afterUpdate(e));var D,W=e._renderCallbacks;if(W)for(;D=W.pop();)D.call(e);Y||i||k()}}function A(e,t,n,r){for(var o=e&&e._component,i=o,u=e,a=o&&e._componentConstructor===t.nodeName,c=a,f=y(t);o&&!c&&(o=o._parentComponent);)c=o.constructor===t.nodeName;return o&&c&&(!r||o._component)?(T(o,f,3,n,r),e=o.base):(i&&!a&&(M(i,!0),e=u=null),o=z(t.nodeName,f,n),e&&!o.nextBase&&(o.nextBase=e,u=null),T(o,f,1,n,r),e=o.base,u&&e!==u&&(u._component=null,j(u))),e}function M(e,t){L.beforeUnmount&&L.beforeUnmount(e);var n=e.base;e._disable=!0,e.componentWillUnmount&&e.componentWillUnmount(),e.base=null;var r=e._component;if(r)M(r,t);else if(n){n[J]&&n[J].ref&&n[J].ref(null),e.nextBase=n,t&&(m(n),E(e));for(var o;o=n.lastChild;)j(o,!t)}e.__ref&&e.__ref(null),e.componentDidUnmount&&e.componentDidUnmount()}function B(e,t){this._dirty=!0,this.context=t,this.props=e,this.state||(this.state={})}function R(e,t,n){return O(n,e,{},!1,t)}var L={},D=[],W=[],H={},V=function(e){return H[e]||(H[e]=e.toLowerCase())},F="undefined"!=typeof Promise&&Promise.resolve(),G=F?function(e){F.then(e)}:setTimeout,I={},J="undefined"!=typeof Symbol?Symbol.for("preactattr"):"__preactattr_",q={boxFlex:1,boxFlexGroup:1,columnCount:1,fillOpacity:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,fontWeight:1,lineClamp:1,lineHeight:1,opacity:1,order:1,orphans:1,strokeOpacity:1,widows:1,zIndex:1,zoom:1},Z={blur:1,error:1,focus:1,load:1,resize:1,scroll:1},K=[],Q={},X=[],Y=0,$=!1,ee=!1,te={};r(B.prototype,{linkState:function(e,t){var n=this._linkedStates||(this._linkedStates={});return n[e+t]||(n[e+t]=l(this,e,t))},setState:function(e,t){var n=this.state;this.prevState||(this.prevState=o(n)),r(n,u(e)?e(n,this.props):e),t&&(this._renderCallbacks=this._renderCallbacks||[]).push(t),s(this)},forceUpdate:function(){U(this,2)},render:function(){}}),e.h=n,e.cloneElement=f,e.Component=B,e.render=R,e.rerender=p,e.options=L})},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){e.exports=n(4)}])});
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("preact")):"function"==typeof define&&define.amd?define(["preact"],e):"object"==typeof exports?exports.skate=e(require("preact")):t.skate=e(t.preact)}(this,function(t){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=13)}([function(t,e,n){"use strict";(function(t){function r(t){return t.split(/([_A-Z])/).reduce(function(t,e,n){var r=t&&n%2!=0?"-":"";return e="_"===e?"":e,""+t+r+e.toLowerCase()})}function o(t){var e=!1,n=0,r=[],o=document.createElement("span");return new b(function(){t.apply(void 0,r),e=!1,r=null}).observe(o,{childList:!0}),function(){for(var t=arguments.length,i=Array(t),u=0;u<t;u++)i[u]=arguments[u];r=i,e||(e=!0,o.textContent=""+n,n+=1)}}function i(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=d(t);return h?e.concat(h(t)):e}function u(t){return"function"==typeof Symbol?Symbol(t?String(t):void 0):c(t)}function c(t){return(t?String(t):"")+"xxxxxxxx".replace(/[xy]/g,function(t){var e=16*Math.random()|0;return("x"===t?e:3&e|8).toString(16)})}n.d(e,"d",function(){return f}),n.d(e,"b",function(){return l}),e.c=r,e.f=o,n.d(e,"h",function(){return y}),n.d(e,"g",function(){return v}),e.e=i,e.a=u;var a="undefined"==typeof window?t:window,f=a.customElements,s=a.HTMLElement,l=void 0===s?null:s,p=a.Object,b=a.MutationObserver,d=p.getOwnPropertyNames,h=p.getOwnPropertySymbols,y=function(t){return null==t},v=p.freeze}).call(e,n(11))},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function i(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var u=n(0),c=n(8);n.d(e,"a",function(){return v}),n.d(e,"b",function(){return E});var a=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},f=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),s=n.i(u.a)("_connected"),l=n.i(u.a)("_constructed"),p=n.i(u.a)("_observedAttributes"),b=n.i(u.a)("_prevProps"),d=n.i(u.a)("_props"),h=n.i(u.a)("_updateCallback"),y=n.i(u.a)("_updating"),v=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:u.b;return function(t){function e(){r(this,e);var i=o(this,t.call(this));if(i[h]=function(){if(!i[y]&&i[s]){i[y]=!0;var t=i[b],e=i[b]=i.props;i.propsSetCallback(e,t),i.propsUpdatedCallback(e,t)&&i.propsChangedCallback(e,t),i[y]=!1}},i[l])return o(i);i[l]=!0;var a=i.constructor;return n.i(c.b)(a),i[c.c]=n.i(u.f)(i[h]),i}return i(e,t),f(e,[{key:"props",get:function(){var t=this;return n.i(u.e)(this.constructor.props).reduce(function(e,n){return e[n]=t[n],e},{})},set:function(t){var e=this,r=this.constructor.props;n.i(u.e)(t).forEach(function(n){return n in r&&(e[n]=t[n])})}}],[{key:"observedAttributes",get:function(){var t=n.i(c.a)(this);return n.i(u.e)(t).map(function(e){return t[e].attribute}).filter(Boolean).map(function(t){return t.source}).concat(this[p]||[])},set:function(t){this[p]=t}},{key:"props",get:function(){return this[d]},set:function(t){this[d]=t}}]),e.prototype.connectedCallback=function(){this[s]||(this[s]=!0,t.prototype.connectedCallback&&t.prototype.connectedCallback.call(this),this[c.c]())},e.prototype.disconnectedCallback=function(){this[s]&&(this[s]=!1,t.prototype.disconnectedCallback&&t.prototype.disconnectedCallback.call(this))},e.prototype.propsChangedCallback=function(){},e.prototype.propsSetCallback=function(){},e.prototype.propsUpdatedCallback=function(t,e){return!e||n.i(u.e)(e).some(function(n){return e[n]!==t[n]})},e.prototype.attributeChangedCallback=function(e,r,o){t.prototype.attributeChangedCallback&&t.prototype.attributeChangedCallback.call(this,e,r,o),n.i(c.d)(this,e,o)},e}(t)},g=JSON.parse,m=JSON.stringify,w=n.i(u.g)({source:!0}),O=function(t){return n.i(u.g)(a({attribute:w},t))},C=function(t){return function(e){return n.i(u.h)(e)?null:t(e)}},j=function(t){return n.i(u.h)(t)?0:Number(t)},k=O({coerce:function(t){return Array.isArray(t)?t:n.i(u.h)(t)?null:[t]},default:n.i(u.g)([]),deserialize:g,serialize:m}),_=O({coerce:Boolean,default:!1,deserialize:function(t){return!n.i(u.h)(t)},serialize:function(t){return t?"":null}}),x=O({default:0,coerce:j,deserialize:j,serialize:C(Number)}),P=O({default:n.i(u.g)({}),deserialize:g,serialize:m}),S=O({default:"",coerce:String,serialize:C(String)}),E={array:k,boolean:_,number:x,object:P,string:S}},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function i(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function u(t){return t.attachShadow?t.attachShadow(s):t}var c=n(0);n.d(e,"a",function(){return l});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),f=n.i(c.a)(),s={mode:"open"},l=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:c.b;return function(t){function e(){return r(this,e),o(this,t.apply(this,arguments))}return i(e,t),e.prototype.propsChangedCallback=function(){var t=this;this.rendererCallback(this.renderRoot,function(){return t.renderCallback(t)}),this.renderedCallback()},e.prototype.renderCallback=function(){},e.prototype.renderedCallback=function(){},a(e,[{key:"renderRoot",get:function(){return this[f]=this[f]||(this[f]=this.shadowRoot||u(this)),this[f]}}]),e}(t)}},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function i(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var u=n(0),c=n(9);n.d(e,"a",function(){return s});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),f=n.i(u.a)("_is"),s=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:u.b;return function(t){function e(){return r(this,e),o(this,t.apply(this,arguments))}return i(e,t),a(e,null,[{key:"is",get:function(){return this[f]||(this[f]=n.i(c.a)(this))},set:function(t){this[f]=t}}]),e}(t)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(5);n.d(e,"define",function(){return r.a});var o=n(6);n.d(e,"emit",function(){return o.a});var i=n(7);n.d(e,"link",function(){return i.a});var u=n(10);n.d(e,"withComponent",function(){return u.a}),n.d(e,"Component",function(){return u.b}),n.d(e,"h",function(){return u.c});var c=n(1);n.d(e,"withProps",function(){return c.a}),n.d(e,"props",function(){return c.b});var a=n(2);n.d(e,"withRender",function(){return a.a});var f=n(3);n.d(e,"withUnique",function(){return f.a})},function(t,e,n){"use strict";function r(t){var e=t.is;return o.d.get(e)||o.d.define(e,t),t}var o=n(0);e.a=r},function(t,e,n){"use strict";function r(t,e,n){n=o({},i,n);var r=document.createEvent("CustomEvent");return r.initCustomEvent(e,n.bubbles,n.cancelable,n.detail),Object.defineProperty(r,"composed",{value:n.composed}),t.dispatchEvent(r)}e.a=r;var o=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},i={bubbles:!0,cancelable:!0,composed:!1}},function(t,e,n){"use strict";function r(t){var e=t.checked,n=t.type,r=t.value;return"checkbox"===n||"radio"===n?!!e&&(r||!0):r}function o(t,e){return function(n){var o=n.target||n.composedPath()[0],i=r(o),u=e||o.name||"value";if(u.indexOf(".")>-1){var c=u.split("."),a=c[0],f=c.pop();c.reduce(function(t,e){return t&&t[e]},t)[f||n.target.name]=i,t[a]=t[a]}else t[u]=i}}e.a=o},function(t,e,n){"use strict";function r(t){if(!t[p]){t[p]=!0;var e=t.prototype,r=u(t);Object.defineProperties(e,n.i(f.e)(r).reduce(function(t,e){var o=r[e],i=o.attribute.target,u=o.coerce,c=o.default,s=o.serialize,l=n.i(f.a)(e);return t[e]={configurable:!0,get:function(){var t=this[l];return null==t?c:t},set:function(t){this[l]=u(t),a(this,i,s,t),this[y]()}},t},{}))}}function o(t,e){var r=e.attribute,o="object"===(void 0===r?"undefined":l(r))?s({},r):{source:r,target:r};return!0===o.source&&(o.source=n.i(f.c)(t)),!0===o.target&&(o.target=n.i(f.c)(t)),o}function i(t,e){var n=e.coerce,r=e.default,i=e.deserialize,u=e.serialize;return{attribute:o(t,e),coerce:n||function(t){return t},default:r,deserialize:i||function(t){return t},serialize:u||function(t){return t}}}function u(t){return t[b]||(t[b]=n.i(f.e)(t.props).reduce(function(e,n){return e[n]=i(n,t.props[n]||{}),e},{}))}function c(t,e,n){if(!t[h]){var r=u(t.constructor);for(var o in r){var i=r[o],c=i.attribute.source,a=i.deserialize;c===e&&(t[d]=o,t[o]=null==n?n:a(n),t[d]=null)}}}function a(t,e,n,r){if(e&&t[d]!==e){var o=n(r);t[h]=!0,null==o?t.removeAttribute(e):t.setAttribute(e,o),t[h]=!1}}var f=n(0);n.d(e,"c",function(){return y}),e.b=r,e.a=u,e.d=c;var s=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},p=n.i(f.a)("_definedProps"),b=n.i(f.a)("_normPropDef"),d=n.i(f.a)("_syncingAttributeToProperty"),h=n.i(f.a)("_syncingPropertyToAttribute"),y=n.i(f.a)("_updateDebounced")},function(t,e,n){"use strict";function r(t,e){return t=t||"element",(-1===t.indexOf("-")?"x-"+t:t)+(e?"-"+e:"")}function o(t){for(var e=n.i(i.c)(t.name);i.d.get(r(e,u));)u++;return r(e,u++)}var i=n(0);e.a=o;var u=0},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function i(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var u=n(12),c=(n.n(u),n(0)),a=n(1),f=n(2),s=n(3);n.o(u,"h")&&n.d(e,"c",function(){return u.h}),n.d(e,"a",function(){return p}),n.d(e,"b",function(){return b});var l=n.i(c.a)("_preactDom"),p=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:c.b;return function(t){function e(){return r(this,e),o(this,t.apply(this,arguments))}return i(e,t),e.prototype.rendererCallback=function(t,e){this[l]=n.i(u.render)(e(),t,this[l])},e}(n.i(s.a)(n.i(f.a)(n.i(a.a)(t))))},b=p()},function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(e,n){e.exports=t},function(t,e,n){t.exports=n(4)}])});
//# sourceMappingURL=skatejs.min.js.map

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc