{"version":3,"sources":["jsdelivr-header.js","/npm/modujs@1.4.2/dist/main.esm.js"],"names":[],"mappings":"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","file":"/npm/modujs@1.4.2/dist/main.esm.js/+esm","sourceRoot":"","sourcesContent":["/**\n * Bundled by jsDelivr using Rollup v2.79.2 and Terser v5.39.0.\n * Original file: /npm/modujs@1.4.2/dist/main.esm.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","function _typeof(obj) {\n  \"@babel/helpers - typeof\";\n\n  if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n    _typeof = function (obj) {\n      return typeof obj;\n    };\n  } else {\n    _typeof = function (obj) {\n      return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n    };\n  }\n\n  return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n}\n\nfunction _defineProperties(target, props) {\n  for (var i = 0; i < props.length; i++) {\n    var descriptor = props[i];\n    descriptor.enumerable = descriptor.enumerable || false;\n    descriptor.configurable = true;\n    if (\"value\" in descriptor) descriptor.writable = true;\n    Object.defineProperty(target, descriptor.key, descriptor);\n  }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n  if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n  if (staticProps) _defineProperties(Constructor, staticProps);\n  return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n}\n\nfunction _slicedToArray(arr, i) {\n  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n  if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _arrayWithHoles(arr) {\n  if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n  if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n  if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n  var _arr = [];\n  var _n = true;\n  var _d = false;\n  var _e = undefined;\n\n  try {\n    for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n      _arr.push(_s.value);\n\n      if (i && _arr.length === i) break;\n    }\n  } catch (err) {\n    _d = true;\n    _e = err;\n  } finally {\n    try {\n      if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n    } finally {\n      if (_d) throw _e;\n    }\n  }\n\n  return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n  if (!o) return;\n  if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n  var n = Object.prototype.toString.call(o).slice(8, -1);\n  if (n === \"Object\" && o.constructor) n = o.constructor.name;\n  if (n === \"Map\" || n === \"Set\") return Array.from(o);\n  if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n  if (len == null || len > arr.length) len = arr.length;\n\n  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n  return arr2;\n}\n\nfunction _nonIterableSpread() {\n  throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _nonIterableRest() {\n  throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nvar _default = /*#__PURE__*/function () {\n  function _default(options) {\n    _classCallCheck(this, _default);\n\n    this.mAttr = 'data-' + options.dataName;\n    this.mCaptureEvents = ['mouseenter', 'mouseleave'];\n    this.el = options.el;\n  }\n\n  _createClass(_default, [{\n    key: \"mInit\",\n    value: function mInit(modules) {\n      var _this = this;\n\n      this.modules = modules;\n      this.mCheckEventTarget = this.mCheckEventTarget.bind(this);\n\n      if (this.events) {\n        Object.keys(this.events).forEach(function (event) {\n          return _this.mAddEvent(event);\n        });\n      }\n    }\n  }, {\n    key: \"mUpdate\",\n    value: function mUpdate(modules) {\n      this.modules = modules;\n    }\n  }, {\n    key: \"mDestroy\",\n    value: function mDestroy() {\n      var _this2 = this;\n\n      if (this.events) {\n        Object.keys(this.events).forEach(function (event) {\n          return _this2.mRemoveEvent(event);\n        });\n      }\n    }\n  }, {\n    key: \"mAddEvent\",\n    value: function mAddEvent(event) {\n      var capture = this.mCaptureEvents.includes(event) ? true : false;\n      this.el.addEventListener(event, this.mCheckEventTarget, capture);\n    }\n  }, {\n    key: \"mRemoveEvent\",\n    value: function mRemoveEvent(event) {\n      var capture = this.mCaptureEvents.includes(event) ? true : false;\n      this.el.removeEventListener(event, this.mCheckEventTarget, capture);\n    }\n  }, {\n    key: \"mCheckEventTarget\",\n    value: function mCheckEventTarget(e) {\n      var event = this.events[e.type];\n\n      if (typeof event === \"string\") {\n        this[event](e);\n      } else {\n        var data = '[' + this.mAttr + ']';\n        var target = e.target;\n\n        if (this.mCaptureEvents.includes(e.type)) {\n          if (target.matches(data)) {\n            this.mCallEventMethod(e, event, target);\n          }\n        } else {\n          while (target && target !== document) {\n            if (target.matches(data)) {\n              if (this.mCallEventMethod(e, event, target) != 'undefined') {\n                break;\n              }\n            }\n\n            target = target.parentNode;\n          }\n        }\n      }\n    }\n  }, {\n    key: \"mCallEventMethod\",\n    value: function mCallEventMethod(e, event, target) {\n      var name = target.getAttribute(this.mAttr);\n\n      if (event.hasOwnProperty(name)) {\n        var method = event[name];\n\n        if (!e.hasOwnProperty('currentTarget')) {\n          Object.defineProperty(e, 'currentTarget', {\n            value: target\n          });\n        }\n\n        if (!e.hasOwnProperty('curTarget')) {\n          Object.defineProperty(e, 'curTarget', {\n            value: target\n          }); // For IE 11\n        }\n\n        this[method](e);\n      }\n    }\n  }, {\n    key: \"$\",\n    value: function $(query, context) {\n      var classIndex = query.indexOf('.');\n      var idIndex = query.indexOf('#');\n      var attrIndex = query.indexOf('[');\n      var indexes = [classIndex, idIndex, attrIndex].filter(function (index) {\n        return index != -1;\n      });\n      var index = false;\n      var name = query;\n      var more = '';\n      var parent = this.el;\n\n      if (indexes.length) {\n        index = Math.min.apply(Math, _toConsumableArray(indexes));\n        name = query.slice(0, index);\n        more = query.slice(index);\n      }\n\n      if (_typeof(context) == 'object') {\n        parent = context;\n      }\n\n      return parent.querySelectorAll('[' + this.mAttr + '=' + name + ']' + more);\n    }\n  }, {\n    key: \"parent\",\n    value: function parent(query, context) {\n      var data = '[' + this.mAttr + '=' + query + ']';\n      var parent = context.parentNode;\n\n      while (parent && parent !== document) {\n        if (parent.matches(data)) {\n          return parent;\n        }\n\n        parent = parent.parentNode;\n      }\n    }\n  }, {\n    key: \"getData\",\n    value: function getData(name, context) {\n      var target = context || this.el;\n      return target.getAttribute(this.mAttr + '-' + name);\n    }\n  }, {\n    key: \"setData\",\n    value: function setData(name, value, context) {\n      var target = context || this.el;\n      return target.setAttribute(this.mAttr + '-' + name, value);\n    }\n  }, {\n    key: \"call\",\n    value: function call(func, args, mod, id) {\n      var _this3 = this;\n\n      if (args && !mod) {\n        mod = args;\n        args = false;\n      }\n\n      if (this.modules[mod]) {\n        if (id) {\n          if (this.modules[mod][id]) {\n            this.modules[mod][id][func](args);\n          }\n        } else {\n          Object.keys(this.modules[mod]).forEach(function (id) {\n            _this3.modules[mod][id][func](args);\n          });\n        }\n      }\n    }\n  }, {\n    key: \"on\",\n    value: function on(e, mod, func, id) {\n      var _this4 = this;\n\n      if (this.modules[mod]) {\n        if (id) {\n          this.modules[mod][id].el.addEventListener(e, function (o) {\n            return func(o);\n          });\n        } else {\n          Object.keys(this.modules[mod]).forEach(function (i) {\n            _this4.modules[mod][i].el.addEventListener(e, function (o) {\n              return func(o);\n            });\n          });\n        }\n      }\n    }\n  }, {\n    key: \"init\",\n    value: function init() {}\n  }, {\n    key: \"destroy\",\n    value: function destroy() {}\n  }]);\n\n  return _default;\n}();\n\nvar _default$1 = /*#__PURE__*/function () {\n  function _default(options) {\n    _classCallCheck(this, _default);\n\n    this.app;\n    this.modules = options.modules;\n    this.currentModules = {};\n    this.activeModules = {};\n    this.newModules = {};\n    this.moduleId = 0;\n  }\n\n  _createClass(_default, [{\n    key: \"init\",\n    value: function init(app, scope) {\n      var _this = this;\n\n      var container = scope || document;\n      var elements = container.querySelectorAll('*');\n\n      if (app && !this.app) {\n        this.app = app;\n      }\n\n      this.activeModules['app'] = {\n        'app': this.app\n      };\n      elements.forEach(function (el) {\n        Array.from(el.attributes).forEach(function (i) {\n          if (i.name.startsWith('data-module')) {\n            var moduleExists = false;\n            var dataName = i.name.split('-').splice(2);\n\n            var moduleName = _this.toCamel(dataName);\n\n            if (_this.modules[moduleName]) {\n              moduleExists = true;\n            } else if (_this.modules[_this.toUpper(moduleName)]) {\n              moduleName = _this.toUpper(moduleName);\n              moduleExists = true;\n            }\n\n            if (moduleExists) {\n              var options = {\n                el: el,\n                name: moduleName,\n                dataName: dataName.join('-')\n              };\n              var module = new _this.modules[moduleName](options);\n              var id = i.value;\n\n              if (!id) {\n                _this.moduleId++;\n                id = 'm' + _this.moduleId;\n                el.setAttribute(i.name, id);\n              }\n\n              _this.addActiveModule(moduleName, id, module);\n\n              var moduleId = moduleName + '-' + id;\n\n              if (scope) {\n                _this.newModules[moduleId] = module;\n              } else {\n                _this.currentModules[moduleId] = module;\n              }\n            }\n          }\n        });\n      });\n      Object.entries(this.currentModules).forEach(function (_ref) {\n        var _ref2 = _slicedToArray(_ref, 2),\n            id = _ref2[0],\n            module = _ref2[1];\n\n        if (scope) {\n          var split = id.split('-');\n          var moduleName = split.shift();\n          var moduleId = split.pop();\n\n          _this.addActiveModule(moduleName, moduleId, module);\n        } else {\n          _this.initModule(module);\n        }\n      });\n    }\n  }, {\n    key: \"initModule\",\n    value: function initModule(module) {\n      module.mInit(this.activeModules);\n      module.init();\n    }\n  }, {\n    key: \"addActiveModule\",\n    value: function addActiveModule(name, id, module) {\n      if (this.activeModules[name]) {\n        Object.assign(this.activeModules[name], _defineProperty({}, id, module));\n      } else {\n        this.activeModules[name] = _defineProperty({}, id, module);\n      }\n    }\n  }, {\n    key: \"update\",\n    value: function update(scope) {\n      var _this2 = this;\n\n      this.init(this.app, scope);\n      Object.entries(this.currentModules).forEach(function (_ref3) {\n        var _ref4 = _slicedToArray(_ref3, 2),\n            id = _ref4[0],\n            module = _ref4[1];\n\n        module.mUpdate(_this2.activeModules);\n      });\n      Object.entries(this.newModules).forEach(function (_ref5) {\n        var _ref6 = _slicedToArray(_ref5, 2),\n            id = _ref6[0],\n            module = _ref6[1];\n\n        _this2.initModule(module);\n      });\n      Object.assign(this.currentModules, this.newModules);\n    }\n  }, {\n    key: \"destroy\",\n    value: function destroy(scope) {\n      if (scope) {\n        this.destroyScope(scope);\n      } else {\n        this.destroyModules();\n      }\n    }\n  }, {\n    key: \"destroyScope\",\n    value: function destroyScope(scope) {\n      var _this3 = this;\n\n      var elements = scope.querySelectorAll('*');\n      elements.forEach(function (el) {\n        Array.from(el.attributes).forEach(function (i) {\n          if (i.name.startsWith('data-module')) {\n            var id = i.value;\n            var dataName = i.name.split('-').splice(2);\n            var moduleName = _this3.toCamel(dataName) + '-' + id;\n            var moduleExists = false;\n\n            if (_this3.currentModules[moduleName]) {\n              moduleExists = true;\n            } else if (_this3.currentModules[_this3.toUpper(moduleName)]) {\n              moduleName = _this3.toUpper(moduleName);\n              moduleExists = true;\n            }\n\n            if (moduleExists) {\n              _this3.destroyModule(_this3.currentModules[moduleName]);\n\n              delete _this3.currentModules[moduleName];\n            }\n          }\n        });\n      });\n      this.activeModules = {};\n      this.newModules = {};\n    }\n  }, {\n    key: \"destroyModules\",\n    value: function destroyModules() {\n      var _this4 = this;\n\n      Object.entries(this.currentModules).forEach(function (_ref7) {\n        var _ref8 = _slicedToArray(_ref7, 2),\n            id = _ref8[0],\n            module = _ref8[1];\n\n        _this4.destroyModule(module);\n      });\n      this.currentModules = [];\n    }\n  }, {\n    key: \"destroyModule\",\n    value: function destroyModule(module) {\n      module.mDestroy();\n      module.destroy();\n    }\n  }, {\n    key: \"toCamel\",\n    value: function toCamel(arr) {\n      var _this5 = this;\n\n      return arr.reduce(function (a, b) {\n        return a + _this5.toUpper(b);\n      });\n    }\n  }, {\n    key: \"toUpper\",\n    value: function toUpper(str) {\n      return str.charAt(0).toUpperCase() + str.slice(1);\n    }\n  }]);\n\n  return _default;\n}();\n\nexport default _default$1;\nexport { _default as module };\n"]}