hy-push-state
Version:
Turn static web sites into dynamic web apps
1,123 lines (894 loc) • 777 kB
JavaScript
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
else if(typeof define === 'function' && define.amd)
define("hyPushState", [], factory);
else if(typeof exports === 'object')
exports["hyPushState"] = factory();
else
root["hyPushState"] = factory();
})(window, function() {
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)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // 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;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // 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
/******/ return __webpack_require__(__webpack_require__.s = "./src/webcomponent/module.js");
/******/ })
/************************************************************************/
/******/ ({
/***/ "./node_modules/attr-types/array-of.js":
/*!*********************************************!*\
!*** ./node_modules/attr-types/array-of.js ***!
\*********************************************/
/*! exports provided: arrayOf, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "arrayOf", function() { return arrayOf; });
/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./array */ "./node_modules/attr-types/array.js");
var arrayOf = function arrayOf(type) {
var f = function f(attr) {
if (attr == null) return null;
var a = Object(_array__WEBPACK_IMPORTED_MODULE_0__["array"])(attr).map(type);
if (a.reduce(function (r, x) {
return r && x !== null;
}, true)) {
return a;
}
return null;
};
f.stringify = function (a) {
var a2 = a && a.map && a.map(type.stringify);
if (a2 && a2.reduce(function (r, x) {
return r && x !== null;
}, true)) {
return _array__WEBPACK_IMPORTED_MODULE_0__["array"].stringify(a2);
}
return null;
};
return f;
};
/* harmony default export */ __webpack_exports__["default"] = (arrayOf);
/***/ }),
/***/ "./node_modules/attr-types/array.js":
/*!******************************************!*\
!*** ./node_modules/attr-types/array.js ***!
\******************************************/
/*! exports provided: array, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "array", function() { return array; });
var array = function array(attr) {
if (attr == null) return null;
var str = attr.trim().replace(/^\[?(.*?)\]?$/, "$1").split(",").map(function (x) {
return x.trim();
});
return str || null;
};
array.stringify = function (a) {
return a && a.length > 0 ? a.join(",") : null;
};
/* harmony default export */ __webpack_exports__["default"] = (array);
/***/ }),
/***/ "./node_modules/attr-types/bool.js":
/*!*****************************************!*\
!*** ./node_modules/attr-types/bool.js ***!
\*****************************************/
/*! exports provided: bool, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bool", function() { return bool; });
var bool = function bool(attr) {
if (attr == null) return false;
var attr2 = attr.trim && attr.trim() || attr;
return !(attr2 === "false" || attr2 === "null" || attr2 === "undefined" || attr2 === "0" || attr2 === false);
};
bool.stringify = function (b) {
return b ? "" : null;
};
/* harmony default export */ __webpack_exports__["default"] = (bool);
/***/ }),
/***/ "./node_modules/attr-types/index.js":
/*!******************************************!*\
!*** ./node_modules/attr-types/index.js ***!
\******************************************/
/*! exports provided: array, arrayOf, bool, number, oneOf, regex, string, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./array */ "./node_modules/attr-types/array.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "array", function() { return _array__WEBPACK_IMPORTED_MODULE_0__["array"]; });
/* harmony import */ var _array_of__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./array-of */ "./node_modules/attr-types/array-of.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "arrayOf", function() { return _array_of__WEBPACK_IMPORTED_MODULE_1__["arrayOf"]; });
/* harmony import */ var _bool__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./bool */ "./node_modules/attr-types/bool.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "bool", function() { return _bool__WEBPACK_IMPORTED_MODULE_2__["bool"]; });
/* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./number */ "./node_modules/attr-types/number.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "number", function() { return _number__WEBPACK_IMPORTED_MODULE_3__["number"]; });
/* harmony import */ var _one_of__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./one-of */ "./node_modules/attr-types/one-of.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "oneOf", function() { return _one_of__WEBPACK_IMPORTED_MODULE_4__["oneOf"]; });
/* harmony import */ var _regex__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./regex */ "./node_modules/attr-types/regex.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "regex", function() { return _regex__WEBPACK_IMPORTED_MODULE_5__["regex"]; });
/* harmony import */ var _string__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./string */ "./node_modules/attr-types/string.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "string", function() { return _string__WEBPACK_IMPORTED_MODULE_6__["string"]; });
/* harmony default export */ __webpack_exports__["default"] = ({
array: _array__WEBPACK_IMPORTED_MODULE_0__["array"],
arrayOf: _array_of__WEBPACK_IMPORTED_MODULE_1__["arrayOf"],
bool: _bool__WEBPACK_IMPORTED_MODULE_2__["bool"],
number: _number__WEBPACK_IMPORTED_MODULE_3__["number"],
oneOf: _one_of__WEBPACK_IMPORTED_MODULE_4__["oneOf"],
regex: _regex__WEBPACK_IMPORTED_MODULE_5__["regex"],
string: _string__WEBPACK_IMPORTED_MODULE_6__["string"]
});
/***/ }),
/***/ "./node_modules/attr-types/number.js":
/*!*******************************************!*\
!*** ./node_modules/attr-types/number.js ***!
\*******************************************/
/*! exports provided: number, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "number", function() { return number; });
var number = function number(attr) {
if (attr == null) return null;
return Number(attr);
};
number.stringify = function (n) {
if (n == null) return null;
return "".concat(n);
};
/* harmony default export */ __webpack_exports__["default"] = (number);
/***/ }),
/***/ "./node_modules/attr-types/one-of.js":
/*!*******************************************!*\
!*** ./node_modules/attr-types/one-of.js ***!
\*******************************************/
/*! exports provided: oneOf, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "oneOf", function() { return oneOf; });
var oneOf = function oneOf(alts) {
var f = function f(attr) {
if (attr == null) return null;
var i = alts.indexOf(attr);
if ( true && i === -1) {
console.warn("'".concat(attr, "' is not 'oneOf': ").concat(alts.join(", ")));
}
return i > -1 ? alts[i] : null;
};
f.stringify = function (o) {
return alts.indexOf(o) !== -1 ? o : null;
};
return f;
};
/* harmony default export */ __webpack_exports__["default"] = (oneOf);
/***/ }),
/***/ "./node_modules/attr-types/regex.js":
/*!******************************************!*\
!*** ./node_modules/attr-types/regex.js ***!
\******************************************/
/*! exports provided: regex, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "regex", function() { return regex; });
var regex = function regex(attr) {
if (attr == null) return null;
var attr2 = attr.trim && attr.trim() || attr;
var match = attr2.match(/^\/?(.*?)(\/([gimy]*))?$/);
return new RegExp(match[1], match[3]);
};
regex.stringify = function (r) {
return r && r.toString() || null;
};
/* harmony default export */ __webpack_exports__["default"] = (regex);
/***/ }),
/***/ "./node_modules/attr-types/string.js":
/*!*******************************************!*\
!*** ./node_modules/attr-types/string.js ***!
\*******************************************/
/*! exports provided: string, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "string", function() { return string; });
var string = function string(attr) {
return attr;
};
string.stringify = function (s) {
return s;
};
/* harmony default export */ __webpack_exports__["default"] = (string);
/***/ }),
/***/ "./node_modules/hy-component/src/common.js":
/*!*************************************************!*\
!*** ./node_modules/hy-component/src/common.js ***!
\*************************************************/
/*! exports provided: parseType, decamelize, camelCase */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseType", function() { return parseType; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "decamelize", function() { return decamelize; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "camelCase", function() { return camelCase; });
// # src / common.js
// Copyright (c) 2018 Florian Klampfer <https://qwtel.com/>
// Licensed under MIT
/* eslint-disable no-plusplus */
function parseType(type, attr) {
if ( true && !type) {
return console.warn("No type provided for attribute ".concat(attr, "."));
}
return type ? type(attr) : attr;
}
function decamelize(str) {
var sep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "-";
return str.replace(/([a-z\d])([A-Z])/g, "$1".concat(sep, "$2")).replace(/([A-Z]+)([A-Z][a-z\d]+)/g, "$1".concat(sep, "$2")).toLowerCase();
}
function preserveCamelCase(strarg) {
var str = strarg;
var isLastCharLower = false;
var isLastCharUpper = false;
var isLastLastCharUpper = false;
for (var i = 0; i < str.length; i++) {
var c = str.charAt(i);
if (isLastCharLower && /[a-zA-Z]/.test(c) && c.toUpperCase() === c) {
str = "".concat(str.substr(0, i), "-").concat(str.substr(i));
isLastCharLower = false;
isLastLastCharUpper = isLastCharUpper;
isLastCharUpper = true;
i++;
} else if (isLastCharUpper && isLastLastCharUpper && /[a-zA-Z]/.test(c) && c.toLowerCase() === c) {
str = "".concat(str.substr(0, i - 1), "-").concat(str.substr(i - 1));
isLastLastCharUpper = isLastCharUpper;
isLastCharUpper = false;
isLastCharLower = true;
} else {
isLastCharLower = c.toLowerCase() === c;
isLastLastCharUpper = isLastCharUpper;
isLastCharUpper = c.toUpperCase() === c;
}
}
return str;
}
function camelCase() {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
var str = [].map.call(args, function (x) {
return x.trim();
}).filter(function (x) {
return x.length;
}).join("-");
if (str.length === 0) {
return "";
}
if (str.length === 1) {
return str.toLowerCase();
}
str = preserveCamelCase(str);
return str.replace(/^[_.\- ]+/, "").toLowerCase().replace(/[_.\- ]+(\w|$)/g, function (m, p1) {
return p1.toUpperCase();
});
}
/***/ }),
/***/ "./node_modules/hy-component/src/component.js":
/*!****************************************************!*\
!*** ./node_modules/hy-component/src/component.js ***!
\****************************************************/
/*! exports provided: Set, COMPONENT_FEATURE_TESTS, componentMixin */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "COMPONENT_FEATURE_TESTS", function() { return COMPONENT_FEATURE_TESTS; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "componentMixin", function() { return componentMixin; });
/* harmony import */ var qd_set__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! qd-set */ "./node_modules/qd-set/esm/index.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Set", function() { return qd_set__WEBPACK_IMPORTED_MODULE_0__["Set"]; });
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function () { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
// # src / component.js
// Copyright (c) 2018 Florian Klampfer <https://qwtel.com/>
// Licensed under MIT
// import 'core-js/fn/array/for-each';
// import 'core-js/fn/object/assign';
// import 'core-js/fn/object/define-property';
// import 'core-js/fn/object/keys';
var COMPONENT_FEATURE_TESTS = new qd_set__WEBPACK_IMPORTED_MODULE_0__["Set"](["customevent"]);
var sSymbol = Symbol || function (x) {
return "_".concat(x);
};
var sRoot = sSymbol("sroot");
var sState = sSymbol("state");
window.process = window.process || {};
window.process.env = window.process.env || {};
window.requestIdleCallback = window.requestIdleCallback || function (f) {
return window.setTimeout(f, 0);
};
window.cancelIdleCallback = window.cancelIdleCallback || window.clearTimeout;
var Component = function Component() {
_classCallCheck(this, Component);
};
var componentMixin = function componentMixin() {
var C = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Component;
return /*#__PURE__*/function (_C) {
_inherits(_class, _C);
var _super = _createSuper(_class);
function _class() {
_classCallCheck(this, _class);
return _super.apply(this, arguments);
}
_createClass(_class, [{
key: "setupComponent",
value: function setupComponent(el, state) {
var defaults = this.constructor.defaults;
if (true) {
var _this$constructor = this.constructor,
componentName = _this$constructor.componentName,
sideEffects = _this$constructor.sideEffects;
if (!componentName) {
console.warn("Component needs to have a name, e.g. `my-tag`. To set a name, provide a static getter called `componentName`.");
}
if (!defaults) {
console.warn("No default properties provided. Implement a static getter called `defaults`.");
}
if (!sideEffects) {
console.warn("No side effects provided. Implement a static getter called `sideEffects`.");
}
}
this[sState] = Object.assign({}, defaults, state);
this.setupProperties(this);
this[sRoot] = this.setupShadowDOM(el);
}
}, {
key: "setupShadowDOM",
value: function setupShadowDOM(el) {
return el;
}
}, {
key: "connectComponent",
value: function connectComponent() {}
}, {
key: "disconnectComponent",
value: function disconnectComponent() {}
}, {
key: "adoptComponent",
value: function adoptComponent() {}
}, {
key: "getRoot",
value: function getRoot() {
return this[sRoot];
}
}, {
key: "getEl",
value: function getEl() {
return this[sRoot];
}
}, {
key: "fireEvent",
value: function fireEvent(eventName, data) {
var componentName = this.constructor.componentName;
var event = new CustomEvent("".concat(componentName, "-").concat(eventName), data);
this.el.dispatchEvent(event);
}
}, {
key: "setInternalState",
value: function setInternalState(key, value) {
this[sState][key] = value;
}
}, {
key: "setupProperties",
value: function setupProperties() {
var _this = this;
var sideEffects = this.constructor.sideEffects;
Object.keys(this[sState]).forEach(function (key) {
var sideEffect = sideEffects[key];
_this.setupProperty(key, sideEffect);
});
}
}, {
key: "setupProperty",
value: function setupProperty(key, sideEffect) {
var _this2 = this;
Object.defineProperty(this, key, {
get: function get() {
return _this2[sState][key];
},
set: function set(value) {
var oldValue = _this2[sState][key];
_this2.setInternalState(key, value);
if (sideEffect) sideEffect.call(_this2, value, oldValue);
},
enumerable: true,
configurable: true
});
}
}, {
key: "sroot",
get: function get() {
return this.getRoot();
}
}, {
key: "el",
get: function get() {
return this.getEl();
}
}]);
return _class;
}(C);
};
/***/ }),
/***/ "./node_modules/hy-component/src/custom-element.js":
/*!*********************************************************!*\
!*** ./node_modules/hy-component/src/custom-element.js ***!
\*********************************************************/
/*! exports provided: Set, CUSTOM_ELEMENT_FEATURE_TESTS, customElementMixin, CustomElement, fragmentFromString */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CUSTOM_ELEMENT_FEATURE_TESTS", function() { return CUSTOM_ELEMENT_FEATURE_TESTS; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "customElementMixin", function() { return customElementMixin; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CustomElement", function() { return CustomElement; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fragmentFromString", function() { return fragmentFromString; });
/* harmony import */ var qd_set__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! qd-set */ "./node_modules/qd-set/esm/index.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Set", function() { return qd_set__WEBPACK_IMPORTED_MODULE_0__["Set"]; });
/* harmony import */ var _common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./common */ "./node_modules/hy-component/src/common.js");
/* harmony import */ var _component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./component */ "./node_modules/hy-component/src/component.js");
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function () { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
// # src / custom-element.js
// Copyright (c) 2018 Florian Klampfer <https://qwtel.com/>
// Licensed under MIT
// import 'core-js/fn/array/for-each';
// import 'core-js/fn/array/from';
// import 'core-js/fn/array/map';
// import 'core-js/fn/number/constructor';
// import 'core-js/fn/object/keys';
// import 'core-js/fn/object/set-prototype-of';
// import 'core-js/fn/reflect/construct';
// import 'core-js/fn/string/trim'; // used by camelcase
var CUSTOM_ELEMENT_FEATURE_TESTS = new qd_set__WEBPACK_IMPORTED_MODULE_0__["Set"]([].concat(_toConsumableArray(_component__WEBPACK_IMPORTED_MODULE_2__["COMPONENT_FEATURE_TESTS"]), ["template", "customelements"]));
var circutBreaker = null;
var customElementMixin = function customElementMixin(C) {
return /*#__PURE__*/function (_C) {
_inherits(_class, _C);
var _super = _createSuper(_class);
_createClass(_class, null, [{
key: "getObservedAttributes",
value: function getObservedAttributes() {
var types = this.types;
return Object.keys(types).map(function (x) {
return Object(_common__WEBPACK_IMPORTED_MODULE_1__["decamelize"])(x);
});
}
}]);
function _class() {
var _this;
_classCallCheck(this, _class);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _super.call.apply(_super, [this].concat(args));
_this.setupComponent(_assertThisInitialized(_this), _this.getStateFromAttributes());
return _this;
}
_createClass(_class, [{
key: "reflectAttribute",
value: function reflectAttribute(key, val) {
var silent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
var attrName = Object(_common__WEBPACK_IMPORTED_MODULE_1__["decamelize"])(key);
if (silent) circutBreaker = attrName;
var types = this.constructor.types;
var type = types[key];
if ( true && (!type || !type.stringify)) {
console.warn("No type provided for key '".concat(key, "'"));
}
var attr = type.stringify(val);
if (attr == null) {
this.removeAttribute(attrName);
} else {
this.setAttribute(attrName, attr);
}
}
/*
reflectAttributes() {
const { types } = this.constructor;
Object.keys(types).forEach(key => this.reflectAttribute(key, this[key], true));
}
*/
}, {
key: "getStateFromAttributes",
value: function getStateFromAttributes() {
var _this2 = this;
var types = this.constructor.types;
var state = {};
Object.keys(types).forEach(function (key) {
var attrName = Object(_common__WEBPACK_IMPORTED_MODULE_1__["decamelize"])(key);
var attr = _this2.hasAttribute(attrName) ? _this2.getAttribute(attrName) : null;
var value = Object(_common__WEBPACK_IMPORTED_MODULE_1__["parseType"])(types[key], attr);
if (value != null) state[key] = value;
});
return state;
}
}, {
key: "connectedCallback",
value: function connectedCallback() {
/* this.reflectAttributes(); */
this.connectComponent();
}
}, {
key: "disconnectedCallback",
value: function disconnectedCallback() {
this.disconnectComponent();
}
}, {
key: "adoptedCallback",
value: function adoptedCallback() {
this.adoptComponent();
}
}, {
key: "attributeChangedCallback",
value: function attributeChangedCallback(attrName, oldAttr, attr) {
if (circutBreaker === attrName) circutBreaker = null;else if (oldAttr !== attr) {
var types = this.constructor.types;
var key = Object(_common__WEBPACK_IMPORTED_MODULE_1__["camelCase"])(attrName);
var value = Object(_common__WEBPACK_IMPORTED_MODULE_1__["parseType"])(types[key], attr);
this[key] = value != null ? value : this.constructor.defaults[key];
}
}
}, {
key: "setInternalState",
value: function setInternalState(key, value) {
_get(_getPrototypeOf(_class.prototype), "setInternalState", this).call(this, key, value);
this.reflectAttribute(key, value, true);
}
}, {
key: "setupShadowDOM",
value: function setupShadowDOM(el) {
var instance = this.getTemplate();
if (instance) {
if ("attachShadow" in Element.prototype) {
el.attachShadow({
mode: "open"
});
el.shadowRoot.appendChild(instance);
return el.shadowRoot;
}
if (true) console.warn("Component doesnt define a template. Intentional?");
throw Error("ShadowDOM API not supported");
}
return el;
}
}, {
key: "getEl",
value: function getEl() {
return this;
}
}, {
key: "getTemplate",
value: function getTemplate() {
var componentName = this.constructor.componentName;
return document.querySelector("link[href*=\"".concat(componentName, "\"]"))["import"].querySelector("#".concat(componentName, "-template")).content.cloneNode(true);
}
}, {
key: "template",
get: function get() {
return this.getTemplate();
}
}]);
return _class;
}(C);
}; // This is a drop-in replacement for `HTMLElement` which is compatible with babel.
function CustomElement() {
var HTMLElement = typeof window.HTMLElement === "function" ? window.HTMLElement : function () {};
return Reflect.construct(HTMLElement, [], this.__proto__.constructor); // eslint-disable-line
}
if (Object.setPrototypeOf) {
Object.setPrototypeOf(CustomElement.prototype, HTMLElement.prototype);
Object.setPrototypeOf(CustomElement, HTMLElement);
} // TODO
function fragmentFromString(strHTML) {
return document.createRange().createContextualFragment(strHTML);
}
/***/ }),
/***/ "./node_modules/hy-component/src/rxjs.js":
/*!***********************************************!*\
!*** ./node_modules/hy-component/src/rxjs.js ***!
\***********************************************/
/*! exports provided: rxjsMixin, createXObservable */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "rxjsMixin", function() { return rxjsMixin; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createXObservable", function() { return createXObservable; });
/* harmony import */ var rxjs_esm5__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! rxjs/_esm5 */ "./node_modules/rxjs/_esm5/index.js");
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function () { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
// # src / rxjs.js
// Copyright (c) 2018 Florian Klampfer <https://qwtel.com/>
// Licensed under MIT
var rxjsMixin = function rxjsMixin(C) {
return /*#__PURE__*/function (_C) {
_inherits(_class, _C);
var _super = _createSuper(_class);
function _class() {
_classCallCheck(this, _class);
return _super.apply(this, arguments);
}
_createClass(_class, [{
key: "setupComponent",
value: function setupComponent(el, opts) {
var _this = this;
var sideEffects = {};
this.subjects = {};
this.subjects.disconnect = new rxjs_esm5__WEBPACK_IMPORTED_MODULE_0__["Subject"]();
this.subjects.document = new rxjs_esm5__WEBPACK_IMPORTED_MODULE_0__["ReplaySubject"]();
Object.keys(this.constructor.types).map(function (key) {
_this.subjects[key] = new rxjs_esm5__WEBPACK_IMPORTED_MODULE_0__["ReplaySubject"](1);
sideEffects[key] = function (x) {
return _this.subjects[key].next(x);
};
});
Object.defineProperty(this.constructor, "sideEffects", {
get: function get() {
return sideEffects;
},
set: function set() {},
enumerable: true,
configurable: true
});
_get(_getPrototypeOf(_class.prototype), "setupComponent", this).call(this, el, opts);
}
}, {
key: "connectComponent",
value: function connectComponent() {
var _this2 = this;
_get(_getPrototypeOf(_class.prototype), "connectComponent", this).call(this);
this.subjects.document.next(document);
Object.keys(this.constructor.types).map(function (key) {
return _this2.subjects[key].next(_this2[key]);
});
}
}, {
key: "disconnectComponent",
value: function disconnectComponent() {
_get(_getPrototypeOf(_class.prototype), "disconnectComponent", this).call(this);
this.subjects.disconnect.next({});
}
}, {
key: "adaptComponent",
value: function adaptComponent() {
_get(_getPrototypeOf(_class.prototype), "adaptComponent", this).call(this);
this.subjects.document.next(document);
}
}]);
return _class;
}(C);
};
var createXObservable = function createXObservable(X) {
return function (el, cOpts, oOpts) {
return rxjs_esm5__WEBPACK_IMPORTED_MODULE_0__["Observable"].create(function (obs) {
var next = obs.next.bind(obs);
var observer = new X(function (xs) {
return Array.from(xs).forEach(next);
}, cOpts);
/* if (process.env.DEBUG) console.log("observe", X.name); */
observer.observe(el, oOpts);
return function () {
/* if (process.env.DEBUG) console.log("unobserve", X.name); */
observer.unobserve(el);
};
});
};
};
/***/ }),
/***/ "./node_modules/hy-component/src/types.js":
/*!************************************************!*\
!*** ./node_modules/hy-component/src/types.js ***!
\************************************************/
/*! exports provided: array, arrayOf, bool, number, oneOf, regex, string, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var attr_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! attr-types */ "./node_modules/attr-types/index.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "array", function() { return attr_types__WEBPACK_IMPORTED_MODULE_0__["array"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "arrayOf", function() { return attr_types__WEBPACK_IMPORTED_MODULE_0__["arrayOf"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "bool", function() { return attr_types__WEBPACK_IMPORTED_MODULE_0__["bool"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "number", function() { return attr_types__WEBPACK_IMPORTED_MODULE_0__["number"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "oneOf", function() { return attr_types__WEBPACK_IMPORTED_MODULE_0__["oneOf"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "regex", function() { return attr_types__WEBPACK_IMPORTED_MODULE_0__["regex"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "string", function() { return attr_types__WEBPACK_IMPORTED_MODULE_0__["string"]; });
/* harmony default export */ __webpack_exports__["default"] = ({
array: attr_types__WEBPACK_IMPORTED_MODULE_0__["array"],
arrayOf: attr_types__WEBPACK_IMPORTED_MODULE_0__["arrayOf"],
bool: attr_types__WEBPACK_IMPORTED_MODULE_0__["bool"],
number: attr_types__WEBPACK_IMPORTED_MODULE_0__["number"],
oneOf: attr_types__WEBPACK_IMPORTED_MODULE_0__["oneOf"],
regex: attr_types__WEBPACK_IMPORTED_MODULE_0__["regex"],
string: attr_types__WEBPACK_IMPORTED_MODULE_0__["string"]
});
/***/ }),
/***/ "./node_modules/qd-set/esm/index.js":
/*!******************************************!*\
!*** ./node_modules/qd-set/esm/index.js ***!
\******************************************/
/*! exports provided: Set */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Set", function() { return _Set; });
var _Set = typeof Set !== 'undefined' && new Set([1]).size === 1 ? Set : function () {
var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
a = a.filter(function (x, i) {
return i === a.indexOf(x);
});
a.size = a.length;
a.has = function (x) {
return a.indexOf(x) > -1;
};
a.add = function (x) {
if (!a.has(x)) {
a.size++;
a.push(x);
}
return a;
};
a["delete"] = function (x) {
var t;
if (t = a.has(x)) {
a.size--;
a.splice(a.indexOf(x), 1);
}
return t;
};
a.clear = function () {
while (a.pop()) {}
a.size = 0;
};
return a;
};
/***/ }),
/***/ "./node_modules/rxjs/_esm5/ajax/index.js":
/*!***********************************************!*\
!*** ./node_modules/rxjs/_esm5/ajax/index.js ***!
\***********************************************/
/*! exports provided: ajax, AjaxResponse, AjaxError, AjaxTimeoutError */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _internal_observable_dom_ajax__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../internal/observable/dom/ajax */ "./node_modules/rxjs/_esm5/internal/observable/dom/ajax.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ajax", function() { return _internal_observable_dom_ajax__WEBPACK_IMPORTED_MODULE_0__["ajax"]; });
/* harmony import */ var _internal_observable_dom_AjaxObservable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../internal/observable/dom/AjaxObservable */ "./node_modules/rxjs/_esm5/internal/observable/dom/AjaxObservable.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AjaxResponse", function() { return _internal_observable_dom_AjaxObservable__WEBPACK_IMPORTED_MODULE_1__["AjaxResponse"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AjaxError", function() { return _internal_observable_dom_AjaxObservable__WEBPACK_IMPORTED_MODULE_1__["AjaxError"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AjaxTimeoutError", function() { return _internal_observable_dom_AjaxObservable__WEBPACK_IMPORTED_MODULE_1__["AjaxTimeoutError"]; });
/** PURE_IMPORTS_START PURE_IMPORTS_END */
/***/ }),
/***/ "./node_modules/rxjs/_esm5/index.js":
/*!******************************************!*\
!*** ./node_modules/rxjs/_esm5/index.js ***!
\******************************************/
/*! exports provided: Observable, ConnectableObservable, GroupedObservable, observable, Subject, BehaviorSubject, ReplaySubject, AsyncSubject, asapScheduler, asyncScheduler, queueScheduler, animationFrameScheduler, VirtualTimeScheduler, VirtualAction, Scheduler, Subscription, Subscriber, Notification, NotificationKind, pipe, noop, identity, isObservable, ArgumentOutOfRangeError, EmptyError, ObjectUnsubscribedError, UnsubscriptionError, TimeoutError, bindCallback, bindNodeCallback, combineLatest, concat, defer, empty, forkJoin, from, fromEvent, fromEventPattern, generate, iif, interval, merge, never, of, onErrorResumeNext, pairs, partition, race, range, throwError, timer, using, zip, scheduled, EMPTY, NEVER, config */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _internal_Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/Observable */ "./node_modules/rxjs/_esm5/internal/Observable.js");
/* harmony reexport (safe) */ __webpack_require__.d(__