text: (window["webpackJsonp"] = window["webpackJsonp"] || []).push([["common"],{
  
  /***/ "74mu":
  /*!*************************************************************!*\
    !*** ./node_modules/@ionic/core/dist/esm/theme-ff3fc52f.js ***!
    \*************************************************************/
  /*! exports provided: c, g, h, o */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return createColorClasses; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return getClassMap; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return hostContext; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "o", function() { return openURL; });
  /* harmony import */ var D_zizoe_Documents_ionic_github_restaurant_dashboard_main_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/regenerator */ "o0o1");
  /* harmony import */ var D_zizoe_Documents_ionic_github_restaurant_dashboard_main_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(D_zizoe_Documents_ionic_github_restaurant_dashboard_main_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var D_zizoe_Documents_ionic_github_restaurant_dashboard_main_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator */ "HaE+");
  /* harmony import */ var D_zizoe_Documents_ionic_github_restaurant_dashboard_main_node_modules_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/defineProperty */ "rePB");
  
  
  
  
  var hostContext = function hostContext(selector, el) {
    return el.closest(selector) !== null;
  };
  /**
   * Create the mode and color classes for the component based on the classes passed in
   */
  
  
  var createColorClasses = function createColorClasses(color, cssClassMap) {
    return typeof color === 'string' && color.length > 0 ? Object.assign(Object(D_zizoe_Documents_ionic_github_restaurant_dashboard_main_node_modules_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])({
      'ion-color': true
    }, "ion-color-".concat(color), true), cssClassMap) : cssClassMap;
  };
  
  var getClassList = function getClassList(classes) {
    if (classes !== undefined) {
      var array = Array.isArray(classes) ? classes : classes.split(' ');
      return array.filter(function (c) {
        return c != null;
      }).map(function (c) {
        return c.trim();
      }).filter(function (c) {
        return c !== '';
      });
    }
  
    return [];
  };
  
  var getClassMap = function getClassMap(classes) {
    var map = {};
    getClassList(classes).forEach(function (c) {
      return map[c] = true;
    });
    return map;
  };
  
  var SCHEME = /^[a-z][a-z0-9+\-.]*:/;
  
  var openURL = /*#__PURE__*/function () {
    var _ref = Object(D_zizoe_Documents_ionic_github_restaurant_dashboard_main_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/D_zizoe_Documents_ionic_github_restaurant_dashboard_main_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee(url, ev, direction, animation) {
      var router;
      return D_zizoe_Documents_ionic_github_restaurant_dashboard_main_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee$(_context) {
        while (1) {
          switch (_context.prev = _context.next) {
            case 0:
              if (!(url != null && url[0] !== '#' && !SCHEME.test(url))) {
                _context.next = 5;
                break;
              }
  
              router = document.querySelector('ion-router');
  
              if (!router) {
                _context.next = 5;
                break;
              }
  
              if (ev != null) {
                ev.preventDefault();
              }
  
              return _context.abrupt("return", router.push(url, direction, animation));
  
            case 5:
              return _context.abrupt("return", false);
  
            case 6:
            case "end":
              return _context.stop();
          }
        }
      }, _callee);
    }));
  
    return function openURL(_x, _x2, _x3, _x4) {
      return _ref.apply(this, arguments);
    };
  }();
  
  
  
  /***/ }),
  
  /***/ "Zcj0":
  /*!*********************************************************************!*\
    !*** ./node_modules/@ionic/core/dist/esm/button-active-d4bd4f74.js ***!
    \*********************************************************************/
  /*! exports provided: c */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return createButtonActiveGesture; });
  /* harmony import */ var _index_7a8b7a1c_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index-7a8b7a1c.js */ "wEJo");
  /* harmony import */ var _haptic_27b3f981_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./haptic-27b3f981.js */ "qULd");
  /* harmony import */ var _index_34cb2743_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index-34cb2743.js */ "KF81");
  
  
  
  
  var createButtonActiveGesture = function createButtonActiveGesture(el, isButton) {
    var currentTouchedButton;
    var initialTouchedButton;
  
    var activateButtonAtPoint = function activateButtonAtPoint(x, y, hapticFeedbackFn) {
      if (typeof document === 'undefined') {
        return;
      }
  
      var target = document.elementFromPoint(x, y);
  
      if (!target || !isButton(target)) {
        clearActiveButton();
        return;
      }
  
      if (target !== currentTouchedButton) {
        clearActiveButton();
        setActiveButton(target, hapticFeedbackFn);
      }
    };
  
    var setActiveButton = function setActiveButton(button, hapticFeedbackFn) {
      currentTouchedButton = button;
  
      if (!initialTouchedButton) {
        initialTouchedButton = currentTouchedButton;
      }
  
      var buttonToModify = currentTouchedButton;
      Object(_index_7a8b7a1c_js__WEBPACK_IMPORTED_MODULE_0__["c"])(function () {
        return buttonToModify.classList.add('ion-activated');
      });
      hapticFeedbackFn();
    };
  
    var clearActiveButton = function clearActiveButton() {
      var dispatchClick = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
  
      if (!currentTouchedButton) {
        return;
      }
  
      var buttonToModify = currentTouchedButton;
      Object(_index_7a8b7a1c_js__WEBPACK_IMPORTED_MODULE_0__["c"])(function () {
        return buttonToModify.classList.remove('ion-activated');
      });
      /**
       * Clicking on one button, but releasing on another button
       * does not dispatch a click event in browsers, so we
       * need to do it manually here. Some browsers will
       * dispatch a click if clicking on one button, dragging over
       * another button, and releasing on the original button. In that
       * case, we need to make sure we do not cause a double click there.
       */
  
      if (dispatchClick && initialTouchedButton !== currentTouchedButton) {
        currentTouchedButton.click();
      }
  
      currentTouchedButton = undefined;
    };
  
    return Object(_index_34cb2743_js__WEBPACK_IMPORTED_MODULE_2__["createGesture"])({
      el: el,
      gestureName: 'buttonActiveDrag',
      threshold: 0,
      onStart: function onStart(ev) {
        return activateButtonAtPoint(ev.currentX, ev.currentY, _haptic_27b3f981_js__WEBPACK_IMPORTED_MODULE_1__["a"]);
      },
      onMove: function onMove(ev) {
        return activateButtonAtPoint(ev.currentX, ev.currentY, _haptic_27b3f981_js__WEBPACK_IMPORTED_MODULE_1__["b"]);
      },
      onEnd: function onEnd() {
        clearActiveButton(true);
        Object(_haptic_27b3f981_js__WEBPACK_IMPORTED_MODULE_1__["h"])();
        initialTouchedButton = undefined;
      }
    });
  };
  
  
  
  /***/ }),
  
  /***/ "acej":
  /*!**************************************************************************!*\
    !*** ./node_modules/@ionic/core/dist/esm/framework-delegate-4392cd63.js ***!
    \**************************************************************************/
  /*! exports provided: a, d */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return attachComponent; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return detachComponent; });
  /* harmony import */ var D_zizoe_Documents_ionic_github_restaurant_dashboard_main_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/regenerator */ "o0o1");
  /* harmony import */ var D_zizoe_Documents_ionic_github_restaurant_dashboard_main_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(D_zizoe_Documents_ionic_github_restaurant_dashboard_main_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var D_zizoe_Documents_ionic_github_restaurant_dashboard_main_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator */ "HaE+");
  /* harmony import */ var _helpers_dd7e4b7b_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers-dd7e4b7b.js */ "1vRN");
  
  
  
  
  var attachComponent = /*#__PURE__*/function () {
    var _ref = Object(D_zizoe_Documents_ionic_github_restaurant_dashboard_main_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/D_zizoe_Documents_ionic_github_restaurant_dashboard_main_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee(delegate, container, component, cssClasses, componentProps) {
      var el;
      return D_zizoe_Documents_ionic_github_restaurant_dashboard_main_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee$(_context) {
        while (1) {
          switch (_context.prev = _context.next) {
            case 0:
              if (!delegate) {
                _context.next = 2;
                break;
              }
  
              return _context.abrupt("return", delegate.attachViewToDom(container, component, componentProps, cssClasses));
  
            case 2:
              if (!(typeof component !== 'string' && !(component instanceof HTMLElement))) {
                _context.next = 4;
                break;
              }
  
              throw new Error('framework delegate is missing');
  
            case 4:
              el = typeof component === 'string' ? container.ownerDocument && container.ownerDocument.createElement(component) : component;
  
              if (cssClasses) {
                cssClasses.forEach(function (c) {
                  return el.classList.add(c);
                });
              }
  
              if (componentProps) {
                Object.assign(el, componentProps);
              }
  
              container.appendChild(el);
              _context.next = 10;
              return new Promise(function (resolve) {
                return Object(_helpers_dd7e4b7b_js__WEBPACK_IMPORTED_MODULE_2__["c"])(el, resolve);
              });
  
            case 10:
              return _context.abrupt("return", el);
  
            case 11:
            case "end":
              return _context.stop();
          }
        }
      }, _callee);
    }));
  
    return function attachComponent(_x, _x2, _x3, _x4, _x5) {
      return _ref.apply(this, arguments);
    };
  }();
  
  var detachComponent = function detachComponent(delegate, element) {
    if (element) {
      if (delegate) {
        var container = element.parentElement;
        return delegate.removeViewFromDom(container, element);
      }
  
      element.remove();
    }
  
    return Promise.resolve();
  };
  
  
  
  /***/ }),
  
  /***/ "h3R7":
  /*!***********************************************************************!*\
    !*** ./node_modules/@ionic/core/dist/esm/spinner-configs-cd7845af.js ***!
    \***********************************************************************/
  /*! exports provided: S */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "S", function() { return SPINNERS; });
  var spinners = {
    'bubbles': {
      dur: 1000,
      circles: 9,
      fn: function fn(dur, index, total) {
        var animationDelay = "".concat(dur * index / total - dur, "ms");
        var angle = 2 * Math.PI * index / total;
        return {
          r: 5,
          style: {
            'top': "".concat(9 * Math.sin(angle), "px"),
            'left': "".concat(9 * Math.cos(angle), "px"),
            'animation-delay': animationDelay
          }
        };
      }
    },
    'circles': {
      dur: 1000,
      circles: 8,
      fn: function fn(dur, index, total) {
        var step = index / total;
        var animationDelay = "".concat(dur * step - dur, "ms");
        var angle = 2 * Math.PI * step;
        return {
          r: 5,
          style: {
            'top': "".concat(9 * Math.sin(angle), "px"),
            'left': "".concat(9 * Math.cos(angle), "px"),
            'animation-delay': animationDelay
          }
        };
      }
    },
    'circular': {
      dur: 1400,
      elmDuration: true,
      circles: 1,
      fn: function fn() {
        return {
          r: 20,
          cx: 48,
          cy: 48,
          fill: 'none',
          viewBox: '24 24 48 48',
          transform: 'translate(0,0)',
          style: {}
        };
      }
    },
    'crescent': {
      dur: 750,
      circles: 1,
      fn: function fn() {
        return {
          r: 26,
          style: {}
        };
      }
    },
    'dots': {
      dur: 750,
      circles: 3,
      fn: function fn(_, index) {
        var animationDelay = -(110 * index) + 'ms';
        return {
          r: 6,
          style: {
            'left': "".concat(9 - 9 * index, "px"),
            'animation-delay': animationDelay
          }
        };
      }
    },
    'lines': {
      dur: 1000,
      lines: 12,
      fn: function fn(dur, index, total) {
        var transform = "rotate(".concat(30 * index + (index < 6 ? 180 : -180), "deg)");
        var animationDelay = "".concat(dur * index / total - dur, "ms");
        return {
          y1: 17,
          y2: 29,
          style: {
            'transform': transform,
            'animation-delay': animationDelay
          }
        };
      }
    },
    'lines-small': {
      dur: 1000,
      lines: 12,
      fn: function fn(dur, index, total) {
        var transform = "rotate(".concat(30 * index + (index < 6 ? 180 : -180), "deg)");
        var animationDelay = "".concat(dur * index / total - dur, "ms");
        return {
          y1: 12,
          y2: 20,
          style: {
            'transform': transform,
            'animation-delay': animationDelay
          }
        };
      }
    }
  };
  var SPINNERS = spinners;
  
  
  /***/ }),
  
  /***/ "qULd":
  /*!**************************************************************!*\
    !*** ./node_modules/@ionic/core/dist/esm/haptic-27b3f981.js ***!
    \**************************************************************/
  /*! exports provided: a, b, c, d, h */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return hapticSelectionStart; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return hapticSelectionChanged; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return hapticSelection; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return hapticImpact; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return hapticSelectionEnd; });
  var HapticEngine = {
    getEngine: function getEngine() {
      var win = window;
      return win.TapticEngine || win.Capacitor && win.Capacitor.isPluginAvailable('Haptics') && win.Capacitor.Plugins.Haptics;
    },
    available: function available() {
      return !!this.getEngine();
    },
    isCordova: function isCordova() {
      return !!window.TapticEngine;
    },
    isCapacitor: function isCapacitor() {
      var win = window;
      return !!win.Capacitor;
    },
    impact: function impact(options) {
      var engine = this.getEngine();
  
      if (!engine) {
        return;
      }
  
      var style = this.isCapacitor() ? options.style.toUpperCase() : options.style;
      engine.impact({
        style: style
      });
    },
    notification: function notification(options) {
      var engine = this.getEngine();
  
      if (!engine) {
        return;
      }
  
      var style = this.isCapacitor() ? options.style.toUpperCase() : options.style;
      engine.notification({
        style: style
      });
    },
    selection: function selection() {
      this.impact({
        style: 'light'
      });
    },
    selectionStart: function selectionStart() {
      var engine = this.getEngine();
  
      if (!engine) {
        return;
      }
  
      if (this.isCapacitor()) {
        engine.selectionStart();
      } else {
        engine.gestureSelectionStart();
      }
    },
    selectionChanged: function selectionChanged() {
      var engine = this.getEngine();
  
      if (!engine) {
        return;
      }
  
      if (this.isCapacitor()) {
        engine.selectionChanged();
      } else {
        engine.gestureSelectionChanged();
      }
    },
    selectionEnd: function selectionEnd() {
      var engine = this.getEngine();
  
      if (!engine) {
        return;
      }
  
      if (this.isCapacitor()) {
        engine.selectionEnd();
      } else {
        engine.gestureSelectionEnd();
      }
    }
  };
  /**
   * Trigger a selection changed haptic event. Good for one-time events
   * (not for gestures)
   */
  
  var hapticSelection = function hapticSelection() {
    HapticEngine.selection();
  };
  /**
   * Tell the haptic engine that a gesture for a selection change is starting.
   */
  
  
  var hapticSelectionStart = function hapticSelectionStart() {
    HapticEngine.selectionStart();
  };
  /**
   * Tell the haptic engine that a selection changed during a gesture.
   */
  
  
  var hapticSelectionChanged = function hapticSelectionChanged() {
    HapticEngine.selectionChanged();
  };
  /**
   * Tell the haptic engine we are done with a gesture. This needs to be
   * called lest resources are not properly recycled.
   */
  
  
  var hapticSelectionEnd = function hapticSelectionEnd() {
    HapticEngine.selectionEnd();
  };
  /**
   * Use this to indicate success/failure/warning to the user.
   * options should be of the type `{ style: 'light' }` (or `medium`/`heavy`)
   */
  
  
  var hapticImpact = function hapticImpact(options) {
    HapticEngine.impact(options);
  };
  
  
  
  /***/ })
  
  }]);
  //# sourceMappingURL=common.js.map